From c6d2f0e30297ab134d7a7e38bac2f360793b1eb9 Mon Sep 17 00:00:00 2001 From: ChrisLovering Date: Wed, 11 Sep 2024 18:35:40 +0000 Subject: Deploying to docs from @ python-discord/bot-core@06b1ada5772490e18a7ab1b96d0582b1222121b4 🚀 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _static/documentation_options.js | 2 +- _static/styles/furo.css | 2 +- _static/styles/furo.css.map | 2 +- index.html | 10 +- main/.buildinfo | 2 +- main/_static/documentation_options.js | 2 +- main/_static/styles/furo.css | 2 +- main/_static/styles/furo.css.map | 2 +- main/changelog.html | 19 +- main/development.html | 14 +- main/genindex.html | 132 ++++++++++- main/index.html | 29 ++- main/index_redirect.html | 10 +- main/objects.inv | Bin 2376 -> 2755 bytes main/output/pydis_core.async_stats.html | 20 +- main/output/pydis_core.exts.html | 14 +- main/output/pydis_core.html | 193 ++++++++++++---- main/output/pydis_core.site_api.html | 48 ++-- main/output/pydis_core.utils.caching.html | 22 +- main/output/pydis_core.utils.channel.html | 18 +- main/output/pydis_core.utils.checks.html | 28 +-- main/output/pydis_core.utils.commands.html | 16 +- main/output/pydis_core.utils.cooldown.html | 26 +-- ...dis_core.utils.error_handling.commands.abc.html | 22 +- .../pydis_core.utils.error_handling.commands.html | 30 +-- ...core.utils.error_handling.commands.manager.html | 22 +- main/output/pydis_core.utils.error_handling.html | 16 +- main/output/pydis_core.utils.function.html | 26 +-- main/output/pydis_core.utils.html | 63 ++++- main/output/pydis_core.utils.interactions.html | 32 +-- main/output/pydis_core.utils.lock.html | 36 +-- main/output/pydis_core.utils.logging.html | 22 +- main/output/pydis_core.utils.members.html | 18 +- main/output/pydis_core.utils.messages.html | 16 +- main/output/pydis_core.utils.pagination.html | 139 +++++++++-- main/output/pydis_core.utils.paste_service.html | 256 +++++++++++++++++++-- main/output/pydis_core.utils.regex.html | 20 +- main/output/pydis_core.utils.scheduling.html | 32 +-- main/py-modindex.html | 12 +- main/search.html | 14 +- main/searchindex.js | 2 +- main/versions.html | 14 +- v10.0.0/.buildinfo | 2 +- v10.0.0/_static/styles/furo.css | 2 +- v10.0.0/_static/styles/furo.css.map | 2 +- v10.0.0/changelog.html | 6 +- v10.0.0/development.html | 6 +- v10.0.0/genindex.html | 96 +++++++- v10.0.0/index.html | 6 +- v10.0.0/index_redirect.html | 6 +- v10.0.0/objects.inv | Bin 1666 -> 1882 bytes v10.0.0/output/pydis_core.async_stats.html | 6 +- v10.0.0/output/pydis_core.exts.html | 6 +- v10.0.0/output/pydis_core.html | 8 +- v10.0.0/output/pydis_core.site_api.html | 16 +- v10.0.0/output/pydis_core.utils.caching.html | 6 +- v10.0.0/output/pydis_core.utils.channel.html | 6 +- v10.0.0/output/pydis_core.utils.commands.html | 6 +- v10.0.0/output/pydis_core.utils.cooldown.html | 6 +- .../output/pydis_core.utils.error_handling.html | 6 +- v10.0.0/output/pydis_core.utils.function.html | 6 +- v10.0.0/output/pydis_core.utils.html | 36 ++- v10.0.0/output/pydis_core.utils.interactions.html | 6 +- v10.0.0/output/pydis_core.utils.logging.html | 6 +- v10.0.0/output/pydis_core.utils.members.html | 6 +- v10.0.0/output/pydis_core.utils.paste_service.html | 234 ++++++++++++++++++- v10.0.0/output/pydis_core.utils.regex.html | 6 +- v10.0.0/output/pydis_core.utils.scheduling.html | 6 +- v10.0.0/py-modindex.html | 6 +- v10.0.0/search.html | 6 +- v10.0.0/searchindex.js | 2 +- v10.0.0/versions.html | 6 +- v10.1.0/.buildinfo | 2 +- v10.1.0/_static/styles/furo.css | 2 +- v10.1.0/_static/styles/furo.css.map | 2 +- v10.1.0/changelog.html | 6 +- v10.1.0/development.html | 6 +- v10.1.0/genindex.html | 96 +++++++- v10.1.0/index.html | 6 +- v10.1.0/index_redirect.html | 6 +- v10.1.0/objects.inv | Bin 1674 -> 1891 bytes v10.1.0/output/pydis_core.async_stats.html | 6 +- v10.1.0/output/pydis_core.exts.html | 6 +- v10.1.0/output/pydis_core.html | 8 +- v10.1.0/output/pydis_core.site_api.html | 16 +- v10.1.0/output/pydis_core.utils.caching.html | 6 +- v10.1.0/output/pydis_core.utils.channel.html | 6 +- v10.1.0/output/pydis_core.utils.commands.html | 6 +- v10.1.0/output/pydis_core.utils.cooldown.html | 6 +- .../output/pydis_core.utils.error_handling.html | 6 +- v10.1.0/output/pydis_core.utils.function.html | 6 +- v10.1.0/output/pydis_core.utils.html | 36 ++- v10.1.0/output/pydis_core.utils.interactions.html | 6 +- v10.1.0/output/pydis_core.utils.logging.html | 6 +- v10.1.0/output/pydis_core.utils.members.html | 6 +- v10.1.0/output/pydis_core.utils.paste_service.html | 234 ++++++++++++++++++- v10.1.0/output/pydis_core.utils.regex.html | 6 +- v10.1.0/output/pydis_core.utils.scheduling.html | 6 +- v10.1.0/py-modindex.html | 6 +- v10.1.0/search.html | 6 +- v10.1.0/searchindex.js | 2 +- v10.1.0/versions.html | 6 +- v10.2.0/.buildinfo | 2 +- v10.2.0/_static/styles/furo.css | 2 +- v10.2.0/_static/styles/furo.css.map | 2 +- v10.2.0/changelog.html | 6 +- v10.2.0/development.html | 6 +- v10.2.0/genindex.html | 96 +++++++- v10.2.0/index.html | 6 +- v10.2.0/index_redirect.html | 6 +- v10.2.0/objects.inv | Bin 1674 -> 1891 bytes v10.2.0/output/pydis_core.async_stats.html | 6 +- v10.2.0/output/pydis_core.exts.html | 6 +- v10.2.0/output/pydis_core.html | 8 +- v10.2.0/output/pydis_core.site_api.html | 16 +- v10.2.0/output/pydis_core.utils.caching.html | 6 +- v10.2.0/output/pydis_core.utils.channel.html | 6 +- v10.2.0/output/pydis_core.utils.commands.html | 6 +- v10.2.0/output/pydis_core.utils.cooldown.html | 6 +- .../output/pydis_core.utils.error_handling.html | 6 +- v10.2.0/output/pydis_core.utils.function.html | 6 +- v10.2.0/output/pydis_core.utils.html | 36 ++- v10.2.0/output/pydis_core.utils.interactions.html | 6 +- v10.2.0/output/pydis_core.utils.logging.html | 6 +- v10.2.0/output/pydis_core.utils.members.html | 6 +- v10.2.0/output/pydis_core.utils.paste_service.html | 234 ++++++++++++++++++- v10.2.0/output/pydis_core.utils.regex.html | 6 +- v10.2.0/output/pydis_core.utils.scheduling.html | 6 +- v10.2.0/py-modindex.html | 6 +- v10.2.0/search.html | 6 +- v10.2.0/searchindex.js | 2 +- v10.2.0/versions.html | 6 +- v10.3.0/.buildinfo | 2 +- v10.3.0/_static/styles/furo.css | 2 +- v10.3.0/_static/styles/furo.css.map | 2 +- v10.3.0/changelog.html | 6 +- v10.3.0/development.html | 6 +- v10.3.0/genindex.html | 96 +++++++- v10.3.0/index.html | 6 +- v10.3.0/index_redirect.html | 6 +- v10.3.0/objects.inv | Bin 1686 -> 1902 bytes v10.3.0/output/pydis_core.async_stats.html | 6 +- v10.3.0/output/pydis_core.exts.html | 6 +- v10.3.0/output/pydis_core.html | 8 +- v10.3.0/output/pydis_core.site_api.html | 16 +- v10.3.0/output/pydis_core.utils.caching.html | 6 +- v10.3.0/output/pydis_core.utils.channel.html | 6 +- v10.3.0/output/pydis_core.utils.commands.html | 6 +- v10.3.0/output/pydis_core.utils.cooldown.html | 6 +- .../output/pydis_core.utils.error_handling.html | 6 +- v10.3.0/output/pydis_core.utils.function.html | 6 +- v10.3.0/output/pydis_core.utils.html | 36 ++- v10.3.0/output/pydis_core.utils.interactions.html | 6 +- v10.3.0/output/pydis_core.utils.logging.html | 6 +- v10.3.0/output/pydis_core.utils.members.html | 6 +- v10.3.0/output/pydis_core.utils.paste_service.html | 234 ++++++++++++++++++- v10.3.0/output/pydis_core.utils.regex.html | 6 +- v10.3.0/output/pydis_core.utils.scheduling.html | 6 +- v10.3.0/py-modindex.html | 6 +- v10.3.0/search.html | 6 +- v10.3.0/searchindex.js | 2 +- v10.3.0/versions.html | 6 +- v10.4.0/.buildinfo | 2 +- v10.4.0/_static/styles/furo.css | 2 +- v10.4.0/_static/styles/furo.css.map | 2 +- v10.4.0/changelog.html | 6 +- v10.4.0/development.html | 6 +- v10.4.0/genindex.html | 96 +++++++- v10.4.0/index.html | 6 +- v10.4.0/index_redirect.html | 6 +- v10.4.0/objects.inv | Bin 1686 -> 1902 bytes v10.4.0/output/pydis_core.async_stats.html | 6 +- v10.4.0/output/pydis_core.exts.html | 6 +- v10.4.0/output/pydis_core.html | 8 +- v10.4.0/output/pydis_core.site_api.html | 16 +- v10.4.0/output/pydis_core.utils.caching.html | 6 +- v10.4.0/output/pydis_core.utils.channel.html | 6 +- v10.4.0/output/pydis_core.utils.commands.html | 6 +- v10.4.0/output/pydis_core.utils.cooldown.html | 6 +- .../output/pydis_core.utils.error_handling.html | 6 +- v10.4.0/output/pydis_core.utils.function.html | 6 +- v10.4.0/output/pydis_core.utils.html | 36 ++- v10.4.0/output/pydis_core.utils.interactions.html | 6 +- v10.4.0/output/pydis_core.utils.logging.html | 6 +- v10.4.0/output/pydis_core.utils.members.html | 6 +- v10.4.0/output/pydis_core.utils.paste_service.html | 234 ++++++++++++++++++- v10.4.0/output/pydis_core.utils.regex.html | 6 +- v10.4.0/output/pydis_core.utils.scheduling.html | 6 +- v10.4.0/py-modindex.html | 6 +- v10.4.0/search.html | 6 +- v10.4.0/searchindex.js | 2 +- v10.4.0/versions.html | 6 +- v10.5.0/.buildinfo | 2 +- v10.5.0/_static/styles/furo.css | 2 +- v10.5.0/_static/styles/furo.css.map | 2 +- v10.5.0/changelog.html | 6 +- v10.5.0/development.html | 6 +- v10.5.0/genindex.html | 96 +++++++- v10.5.0/index.html | 6 +- v10.5.0/index_redirect.html | 6 +- v10.5.0/objects.inv | Bin 1686 -> 1902 bytes v10.5.0/output/pydis_core.async_stats.html | 6 +- v10.5.0/output/pydis_core.exts.html | 6 +- v10.5.0/output/pydis_core.html | 8 +- v10.5.0/output/pydis_core.site_api.html | 16 +- v10.5.0/output/pydis_core.utils.caching.html | 6 +- v10.5.0/output/pydis_core.utils.channel.html | 6 +- v10.5.0/output/pydis_core.utils.commands.html | 6 +- v10.5.0/output/pydis_core.utils.cooldown.html | 6 +- .../output/pydis_core.utils.error_handling.html | 6 +- v10.5.0/output/pydis_core.utils.function.html | 6 +- v10.5.0/output/pydis_core.utils.html | 36 ++- v10.5.0/output/pydis_core.utils.interactions.html | 6 +- v10.5.0/output/pydis_core.utils.logging.html | 6 +- v10.5.0/output/pydis_core.utils.members.html | 6 +- v10.5.0/output/pydis_core.utils.paste_service.html | 234 ++++++++++++++++++- v10.5.0/output/pydis_core.utils.regex.html | 6 +- v10.5.0/output/pydis_core.utils.scheduling.html | 6 +- v10.5.0/py-modindex.html | 6 +- v10.5.0/search.html | 6 +- v10.5.0/searchindex.js | 2 +- v10.5.0/versions.html | 6 +- v10.5.1/.buildinfo | 2 +- v10.5.1/_static/styles/furo.css | 2 +- v10.5.1/_static/styles/furo.css.map | 2 +- v10.5.1/changelog.html | 6 +- v10.5.1/development.html | 6 +- v10.5.1/genindex.html | 96 +++++++- v10.5.1/index.html | 6 +- v10.5.1/index_redirect.html | 6 +- v10.5.1/objects.inv | Bin 1686 -> 1902 bytes v10.5.1/output/pydis_core.async_stats.html | 6 +- v10.5.1/output/pydis_core.exts.html | 6 +- v10.5.1/output/pydis_core.html | 8 +- v10.5.1/output/pydis_core.site_api.html | 14 +- v10.5.1/output/pydis_core.utils.caching.html | 6 +- v10.5.1/output/pydis_core.utils.channel.html | 6 +- v10.5.1/output/pydis_core.utils.commands.html | 6 +- v10.5.1/output/pydis_core.utils.cooldown.html | 6 +- .../output/pydis_core.utils.error_handling.html | 6 +- v10.5.1/output/pydis_core.utils.function.html | 6 +- v10.5.1/output/pydis_core.utils.html | 36 ++- v10.5.1/output/pydis_core.utils.interactions.html | 6 +- v10.5.1/output/pydis_core.utils.logging.html | 6 +- v10.5.1/output/pydis_core.utils.members.html | 6 +- v10.5.1/output/pydis_core.utils.paste_service.html | 234 ++++++++++++++++++- v10.5.1/output/pydis_core.utils.regex.html | 6 +- v10.5.1/output/pydis_core.utils.scheduling.html | 6 +- v10.5.1/py-modindex.html | 6 +- v10.5.1/search.html | 6 +- v10.5.1/searchindex.js | 2 +- v10.5.1/versions.html | 6 +- v10.6.0/.buildinfo | 2 +- v10.6.0/_static/styles/furo.css | 2 +- v10.6.0/_static/styles/furo.css.map | 2 +- v10.6.0/changelog.html | 8 +- v10.6.0/development.html | 6 +- v10.6.0/genindex.html | 126 +++++++++- v10.6.0/index.html | 21 +- v10.6.0/index_redirect.html | 6 +- v10.6.0/objects.inv | Bin 1958 -> 2353 bytes v10.6.0/output/pydis_core.async_stats.html | 6 +- v10.6.0/output/pydis_core.exts.html | 6 +- v10.6.0/output/pydis_core.html | 121 +++++++++- v10.6.0/output/pydis_core.site_api.html | 14 +- v10.6.0/output/pydis_core.utils.caching.html | 6 +- v10.6.0/output/pydis_core.utils.channel.html | 6 +- v10.6.0/output/pydis_core.utils.checks.html | 6 +- v10.6.0/output/pydis_core.utils.commands.html | 6 +- v10.6.0/output/pydis_core.utils.cooldown.html | 6 +- .../output/pydis_core.utils.error_handling.html | 6 +- v10.6.0/output/pydis_core.utils.function.html | 6 +- v10.6.0/output/pydis_core.utils.html | 51 +++- v10.6.0/output/pydis_core.utils.interactions.html | 6 +- v10.6.0/output/pydis_core.utils.logging.html | 6 +- v10.6.0/output/pydis_core.utils.members.html | 6 +- v10.6.0/output/pydis_core.utils.messages.html | 6 +- v10.6.0/output/pydis_core.utils.pagination.html | 123 +++++++++- v10.6.0/output/pydis_core.utils.paste_service.html | 234 ++++++++++++++++++- v10.6.0/output/pydis_core.utils.regex.html | 6 +- v10.6.0/output/pydis_core.utils.scheduling.html | 6 +- v10.6.0/py-modindex.html | 6 +- v10.6.0/search.html | 6 +- v10.6.0/searchindex.js | 2 +- v10.6.0/versions.html | 6 +- v10.7.0/.buildinfo | 2 +- v10.7.0/_static/styles/furo.css | 2 +- v10.7.0/_static/styles/furo.css.map | 2 +- v10.7.0/changelog.html | 6 +- v10.7.0/development.html | 6 +- v10.7.0/genindex.html | 126 +++++++++- v10.7.0/index.html | 21 +- v10.7.0/index_redirect.html | 6 +- v10.7.0/objects.inv | Bin 2099 -> 2478 bytes v10.7.0/output/pydis_core.async_stats.html | 6 +- v10.7.0/output/pydis_core.exts.html | 6 +- v10.7.0/output/pydis_core.html | 121 +++++++++- v10.7.0/output/pydis_core.site_api.html | 14 +- v10.7.0/output/pydis_core.utils.caching.html | 6 +- v10.7.0/output/pydis_core.utils.channel.html | 6 +- v10.7.0/output/pydis_core.utils.checks.html | 6 +- v10.7.0/output/pydis_core.utils.commands.html | 6 +- v10.7.0/output/pydis_core.utils.cooldown.html | 6 +- .../output/pydis_core.utils.error_handling.html | 6 +- v10.7.0/output/pydis_core.utils.function.html | 6 +- v10.7.0/output/pydis_core.utils.html | 51 +++- v10.7.0/output/pydis_core.utils.interactions.html | 6 +- v10.7.0/output/pydis_core.utils.lock.html | 6 +- v10.7.0/output/pydis_core.utils.logging.html | 6 +- v10.7.0/output/pydis_core.utils.members.html | 6 +- v10.7.0/output/pydis_core.utils.messages.html | 6 +- v10.7.0/output/pydis_core.utils.pagination.html | 119 +++++++++- v10.7.0/output/pydis_core.utils.paste_service.html | 234 ++++++++++++++++++- v10.7.0/output/pydis_core.utils.regex.html | 6 +- v10.7.0/output/pydis_core.utils.scheduling.html | 6 +- v10.7.0/py-modindex.html | 6 +- v10.7.0/search.html | 6 +- v10.7.0/searchindex.js | 2 +- v10.7.0/versions.html | 6 +- v11.0.0/.buildinfo | 2 +- v11.0.0/_static/styles/furo.css | 2 +- v11.0.0/_static/styles/furo.css.map | 2 +- v11.0.0/changelog.html | 6 +- v11.0.0/development.html | 6 +- v11.0.0/genindex.html | 126 +++++++++- v11.0.0/index.html | 21 +- v11.0.0/index_redirect.html | 6 +- v11.0.0/objects.inv | Bin 2376 -> 2755 bytes v11.0.0/output/pydis_core.async_stats.html | 6 +- v11.0.0/output/pydis_core.exts.html | 6 +- v11.0.0/output/pydis_core.html | 123 +++++++++- v11.0.0/output/pydis_core.site_api.html | 14 +- v11.0.0/output/pydis_core.utils.caching.html | 6 +- v11.0.0/output/pydis_core.utils.channel.html | 6 +- v11.0.0/output/pydis_core.utils.checks.html | 6 +- v11.0.0/output/pydis_core.utils.commands.html | 6 +- v11.0.0/output/pydis_core.utils.cooldown.html | 6 +- ...dis_core.utils.error_handling.commands.abc.html | 6 +- .../pydis_core.utils.error_handling.commands.html | 6 +- ...core.utils.error_handling.commands.manager.html | 6 +- .../output/pydis_core.utils.error_handling.html | 6 +- v11.0.0/output/pydis_core.utils.function.html | 6 +- v11.0.0/output/pydis_core.utils.html | 51 +++- v11.0.0/output/pydis_core.utils.interactions.html | 6 +- v11.0.0/output/pydis_core.utils.lock.html | 6 +- v11.0.0/output/pydis_core.utils.logging.html | 6 +- v11.0.0/output/pydis_core.utils.members.html | 6 +- v11.0.0/output/pydis_core.utils.messages.html | 6 +- v11.0.0/output/pydis_core.utils.pagination.html | 119 +++++++++- v11.0.0/output/pydis_core.utils.paste_service.html | 234 ++++++++++++++++++- v11.0.0/output/pydis_core.utils.regex.html | 6 +- v11.0.0/output/pydis_core.utils.scheduling.html | 6 +- v11.0.0/py-modindex.html | 6 +- v11.0.0/search.html | 6 +- v11.0.0/searchindex.js | 2 +- v11.0.0/versions.html | 6 +- v11.0.1/.buildinfo | 2 +- v11.0.1/_static/styles/furo.css | 2 +- v11.0.1/_static/styles/furo.css.map | 2 +- v11.0.1/changelog.html | 6 +- v11.0.1/development.html | 6 +- v11.0.1/genindex.html | 126 +++++++++- v11.0.1/index.html | 21 +- v11.0.1/index_redirect.html | 6 +- v11.0.1/objects.inv | Bin 2376 -> 2755 bytes v11.0.1/output/pydis_core.async_stats.html | 6 +- v11.0.1/output/pydis_core.exts.html | 6 +- v11.0.1/output/pydis_core.html | 123 +++++++++- v11.0.1/output/pydis_core.site_api.html | 14 +- v11.0.1/output/pydis_core.utils.caching.html | 6 +- v11.0.1/output/pydis_core.utils.channel.html | 6 +- v11.0.1/output/pydis_core.utils.checks.html | 6 +- v11.0.1/output/pydis_core.utils.commands.html | 6 +- v11.0.1/output/pydis_core.utils.cooldown.html | 6 +- ...dis_core.utils.error_handling.commands.abc.html | 6 +- .../pydis_core.utils.error_handling.commands.html | 6 +- ...core.utils.error_handling.commands.manager.html | 6 +- .../output/pydis_core.utils.error_handling.html | 6 +- v11.0.1/output/pydis_core.utils.function.html | 6 +- v11.0.1/output/pydis_core.utils.html | 51 +++- v11.0.1/output/pydis_core.utils.interactions.html | 6 +- v11.0.1/output/pydis_core.utils.lock.html | 6 +- v11.0.1/output/pydis_core.utils.logging.html | 6 +- v11.0.1/output/pydis_core.utils.members.html | 6 +- v11.0.1/output/pydis_core.utils.messages.html | 6 +- v11.0.1/output/pydis_core.utils.pagination.html | 119 +++++++++- v11.0.1/output/pydis_core.utils.paste_service.html | 234 ++++++++++++++++++- v11.0.1/output/pydis_core.utils.regex.html | 6 +- v11.0.1/output/pydis_core.utils.scheduling.html | 6 +- v11.0.1/py-modindex.html | 6 +- v11.0.1/search.html | 6 +- v11.0.1/searchindex.js | 2 +- v11.0.1/versions.html | 6 +- v11.1.0/.buildinfo | 2 +- v11.1.0/_static/styles/furo.css | 2 +- v11.1.0/_static/styles/furo.css.map | 2 +- v11.1.0/changelog.html | 6 +- v11.1.0/development.html | 6 +- v11.1.0/genindex.html | 126 +++++++++- v11.1.0/index.html | 21 +- v11.1.0/index_redirect.html | 6 +- v11.1.0/objects.inv | Bin 2376 -> 2755 bytes v11.1.0/output/pydis_core.async_stats.html | 6 +- v11.1.0/output/pydis_core.exts.html | 6 +- v11.1.0/output/pydis_core.html | 123 +++++++++- v11.1.0/output/pydis_core.site_api.html | 14 +- v11.1.0/output/pydis_core.utils.caching.html | 6 +- v11.1.0/output/pydis_core.utils.channel.html | 6 +- v11.1.0/output/pydis_core.utils.checks.html | 6 +- v11.1.0/output/pydis_core.utils.commands.html | 6 +- v11.1.0/output/pydis_core.utils.cooldown.html | 6 +- ...dis_core.utils.error_handling.commands.abc.html | 6 +- .../pydis_core.utils.error_handling.commands.html | 6 +- ...core.utils.error_handling.commands.manager.html | 6 +- .../output/pydis_core.utils.error_handling.html | 6 +- v11.1.0/output/pydis_core.utils.function.html | 6 +- v11.1.0/output/pydis_core.utils.html | 51 +++- v11.1.0/output/pydis_core.utils.interactions.html | 6 +- v11.1.0/output/pydis_core.utils.lock.html | 6 +- v11.1.0/output/pydis_core.utils.logging.html | 6 +- v11.1.0/output/pydis_core.utils.members.html | 6 +- v11.1.0/output/pydis_core.utils.messages.html | 6 +- v11.1.0/output/pydis_core.utils.pagination.html | 119 +++++++++- v11.1.0/output/pydis_core.utils.paste_service.html | 234 ++++++++++++++++++- v11.1.0/output/pydis_core.utils.regex.html | 6 +- v11.1.0/output/pydis_core.utils.scheduling.html | 6 +- v11.1.0/py-modindex.html | 6 +- v11.1.0/search.html | 6 +- v11.1.0/searchindex.js | 2 +- v11.1.0/versions.html | 6 +- v11.2.0/.buildinfo | 2 +- v11.2.0/_static/styles/furo.css | 2 +- v11.2.0/_static/styles/furo.css.map | 2 +- v11.2.0/changelog.html | 6 +- v11.2.0/development.html | 6 +- v11.2.0/genindex.html | 126 +++++++++- v11.2.0/index.html | 21 +- v11.2.0/index_redirect.html | 6 +- v11.2.0/objects.inv | Bin 2376 -> 2755 bytes v11.2.0/output/pydis_core.async_stats.html | 6 +- v11.2.0/output/pydis_core.exts.html | 6 +- v11.2.0/output/pydis_core.html | 123 +++++++++- v11.2.0/output/pydis_core.site_api.html | 14 +- v11.2.0/output/pydis_core.utils.caching.html | 6 +- v11.2.0/output/pydis_core.utils.channel.html | 6 +- v11.2.0/output/pydis_core.utils.checks.html | 6 +- v11.2.0/output/pydis_core.utils.commands.html | 6 +- v11.2.0/output/pydis_core.utils.cooldown.html | 6 +- ...dis_core.utils.error_handling.commands.abc.html | 6 +- .../pydis_core.utils.error_handling.commands.html | 6 +- ...core.utils.error_handling.commands.manager.html | 6 +- .../output/pydis_core.utils.error_handling.html | 6 +- v11.2.0/output/pydis_core.utils.function.html | 6 +- v11.2.0/output/pydis_core.utils.html | 51 +++- v11.2.0/output/pydis_core.utils.interactions.html | 6 +- v11.2.0/output/pydis_core.utils.lock.html | 6 +- v11.2.0/output/pydis_core.utils.logging.html | 6 +- v11.2.0/output/pydis_core.utils.members.html | 6 +- v11.2.0/output/pydis_core.utils.messages.html | 6 +- v11.2.0/output/pydis_core.utils.pagination.html | 119 +++++++++- v11.2.0/output/pydis_core.utils.paste_service.html | 234 ++++++++++++++++++- v11.2.0/output/pydis_core.utils.regex.html | 6 +- v11.2.0/output/pydis_core.utils.scheduling.html | 6 +- v11.2.0/py-modindex.html | 6 +- v11.2.0/search.html | 6 +- v11.2.0/searchindex.js | 2 +- v11.2.0/versions.html | 6 +- v11.3.0/.buildinfo | 2 +- v11.3.0/_static/styles/furo.css | 2 +- v11.3.0/_static/styles/furo.css.map | 2 +- v11.3.0/changelog.html | 6 +- v11.3.0/development.html | 6 +- v11.3.0/genindex.html | 126 +++++++++- v11.3.0/index.html | 21 +- v11.3.0/index_redirect.html | 6 +- v11.3.0/objects.inv | Bin 2376 -> 2755 bytes v11.3.0/output/pydis_core.async_stats.html | 6 +- v11.3.0/output/pydis_core.exts.html | 6 +- v11.3.0/output/pydis_core.html | 123 +++++++++- v11.3.0/output/pydis_core.site_api.html | 14 +- v11.3.0/output/pydis_core.utils.caching.html | 6 +- v11.3.0/output/pydis_core.utils.channel.html | 6 +- v11.3.0/output/pydis_core.utils.checks.html | 6 +- v11.3.0/output/pydis_core.utils.commands.html | 6 +- v11.3.0/output/pydis_core.utils.cooldown.html | 6 +- ...dis_core.utils.error_handling.commands.abc.html | 6 +- .../pydis_core.utils.error_handling.commands.html | 6 +- ...core.utils.error_handling.commands.manager.html | 6 +- .../output/pydis_core.utils.error_handling.html | 6 +- v11.3.0/output/pydis_core.utils.function.html | 6 +- v11.3.0/output/pydis_core.utils.html | 51 +++- v11.3.0/output/pydis_core.utils.interactions.html | 6 +- v11.3.0/output/pydis_core.utils.lock.html | 6 +- v11.3.0/output/pydis_core.utils.logging.html | 6 +- v11.3.0/output/pydis_core.utils.members.html | 6 +- v11.3.0/output/pydis_core.utils.messages.html | 6 +- v11.3.0/output/pydis_core.utils.pagination.html | 119 +++++++++- v11.3.0/output/pydis_core.utils.paste_service.html | 234 ++++++++++++++++++- v11.3.0/output/pydis_core.utils.regex.html | 6 +- v11.3.0/output/pydis_core.utils.scheduling.html | 6 +- v11.3.0/py-modindex.html | 6 +- v11.3.0/search.html | 6 +- v11.3.0/searchindex.js | 2 +- v11.3.0/versions.html | 6 +- v11.3.1/.buildinfo | 2 +- v11.3.1/_static/styles/furo.css | 2 +- v11.3.1/_static/styles/furo.css.map | 2 +- v11.3.1/changelog.html | 6 +- v11.3.1/development.html | 6 +- v11.3.1/genindex.html | 126 +++++++++- v11.3.1/index.html | 21 +- v11.3.1/index_redirect.html | 6 +- v11.3.1/objects.inv | Bin 2376 -> 2755 bytes v11.3.1/output/pydis_core.async_stats.html | 6 +- v11.3.1/output/pydis_core.exts.html | 6 +- v11.3.1/output/pydis_core.html | 123 +++++++++- v11.3.1/output/pydis_core.site_api.html | 14 +- v11.3.1/output/pydis_core.utils.caching.html | 6 +- v11.3.1/output/pydis_core.utils.channel.html | 6 +- v11.3.1/output/pydis_core.utils.checks.html | 6 +- v11.3.1/output/pydis_core.utils.commands.html | 6 +- v11.3.1/output/pydis_core.utils.cooldown.html | 6 +- ...dis_core.utils.error_handling.commands.abc.html | 6 +- .../pydis_core.utils.error_handling.commands.html | 6 +- ...core.utils.error_handling.commands.manager.html | 6 +- .../output/pydis_core.utils.error_handling.html | 6 +- v11.3.1/output/pydis_core.utils.function.html | 6 +- v11.3.1/output/pydis_core.utils.html | 51 +++- v11.3.1/output/pydis_core.utils.interactions.html | 6 +- v11.3.1/output/pydis_core.utils.lock.html | 6 +- v11.3.1/output/pydis_core.utils.logging.html | 6 +- v11.3.1/output/pydis_core.utils.members.html | 6 +- v11.3.1/output/pydis_core.utils.messages.html | 6 +- v11.3.1/output/pydis_core.utils.pagination.html | 119 +++++++++- v11.3.1/output/pydis_core.utils.paste_service.html | 234 ++++++++++++++++++- v11.3.1/output/pydis_core.utils.regex.html | 6 +- v11.3.1/output/pydis_core.utils.scheduling.html | 6 +- v11.3.1/py-modindex.html | 6 +- v11.3.1/search.html | 6 +- v11.3.1/searchindex.js | 2 +- v11.3.1/versions.html | 6 +- v9.0.0/.buildinfo | 2 +- v9.0.0/_static/styles/furo.css | 2 +- v9.0.0/_static/styles/furo.css.map | 2 +- v9.0.0/changelog.html | 6 +- v9.0.0/development.html | 6 +- v9.0.0/genindex.html | 6 +- v9.0.0/index.html | 6 +- v9.0.0/index_redirect.html | 6 +- v9.0.0/output/pydis_core.async_stats.html | 6 +- v9.0.0/output/pydis_core.exts.html | 6 +- v9.0.0/output/pydis_core.html | 8 +- v9.0.0/output/pydis_core.site_api.html | 16 +- v9.0.0/output/pydis_core.utils.caching.html | 6 +- v9.0.0/output/pydis_core.utils.channel.html | 6 +- v9.0.0/output/pydis_core.utils.commands.html | 6 +- v9.0.0/output/pydis_core.utils.cooldown.html | 6 +- v9.0.0/output/pydis_core.utils.function.html | 6 +- v9.0.0/output/pydis_core.utils.html | 6 +- v9.0.0/output/pydis_core.utils.interactions.html | 6 +- v9.0.0/output/pydis_core.utils.logging.html | 6 +- v9.0.0/output/pydis_core.utils.members.html | 6 +- v9.0.0/output/pydis_core.utils.regex.html | 6 +- v9.0.0/output/pydis_core.utils.scheduling.html | 6 +- v9.0.0/py-modindex.html | 6 +- v9.0.0/search.html | 6 +- v9.0.0/searchindex.js | 2 +- v9.0.0/versions.html | 6 +- v9.1.1/.buildinfo | 2 +- v9.1.1/_static/styles/furo.css | 2 +- v9.1.1/_static/styles/furo.css.map | 2 +- v9.1.1/changelog.html | 6 +- v9.1.1/development.html | 6 +- v9.1.1/genindex.html | 6 +- v9.1.1/index.html | 6 +- v9.1.1/index_redirect.html | 6 +- v9.1.1/output/pydis_core.async_stats.html | 6 +- v9.1.1/output/pydis_core.exts.html | 6 +- v9.1.1/output/pydis_core.html | 8 +- v9.1.1/output/pydis_core.site_api.html | 16 +- v9.1.1/output/pydis_core.utils.caching.html | 6 +- v9.1.1/output/pydis_core.utils.channel.html | 6 +- v9.1.1/output/pydis_core.utils.commands.html | 6 +- v9.1.1/output/pydis_core.utils.cooldown.html | 6 +- v9.1.1/output/pydis_core.utils.function.html | 6 +- v9.1.1/output/pydis_core.utils.html | 6 +- v9.1.1/output/pydis_core.utils.interactions.html | 6 +- v9.1.1/output/pydis_core.utils.logging.html | 6 +- v9.1.1/output/pydis_core.utils.members.html | 6 +- v9.1.1/output/pydis_core.utils.regex.html | 6 +- v9.1.1/output/pydis_core.utils.scheduling.html | 6 +- v9.1.1/py-modindex.html | 6 +- v9.1.1/search.html | 6 +- v9.1.1/searchindex.js | 2 +- v9.1.1/versions.html | 6 +- v9.10.0-alpha.1/.buildinfo | 2 +- v9.10.0-alpha.1/_static/styles/furo.css | 2 +- v9.10.0-alpha.1/_static/styles/furo.css.map | 2 +- v9.10.0-alpha.1/changelog.html | 6 +- v9.10.0-alpha.1/development.html | 6 +- v9.10.0-alpha.1/genindex.html | 6 +- v9.10.0-alpha.1/index.html | 6 +- v9.10.0-alpha.1/index_redirect.html | 6 +- v9.10.0-alpha.1/output/pydis_core.async_stats.html | 6 +- v9.10.0-alpha.1/output/pydis_core.exts.html | 6 +- v9.10.0-alpha.1/output/pydis_core.html | 8 +- v9.10.0-alpha.1/output/pydis_core.site_api.html | 16 +- .../output/pydis_core.utils.caching.html | 6 +- .../output/pydis_core.utils.channel.html | 6 +- .../output/pydis_core.utils.commands.html | 6 +- .../output/pydis_core.utils.cooldown.html | 6 +- .../output/pydis_core.utils.error_handling.html | 6 +- .../output/pydis_core.utils.function.html | 6 +- v9.10.0-alpha.1/output/pydis_core.utils.html | 6 +- .../output/pydis_core.utils.interactions.html | 6 +- .../output/pydis_core.utils.logging.html | 6 +- .../output/pydis_core.utils.members.html | 6 +- .../output/pydis_core.utils.paste_service.html | 8 +- v9.10.0-alpha.1/output/pydis_core.utils.regex.html | 6 +- .../output/pydis_core.utils.scheduling.html | 6 +- v9.10.0-alpha.1/py-modindex.html | 6 +- v9.10.0-alpha.1/search.html | 6 +- v9.10.0-alpha.1/searchindex.js | 2 +- v9.10.0-alpha.1/versions.html | 6 +- v9.10.0-alpha.2/.buildinfo | 2 +- v9.10.0-alpha.2/_static/styles/furo.css | 2 +- v9.10.0-alpha.2/_static/styles/furo.css.map | 2 +- v9.10.0-alpha.2/changelog.html | 6 +- v9.10.0-alpha.2/development.html | 6 +- v9.10.0-alpha.2/genindex.html | 6 +- v9.10.0-alpha.2/index.html | 6 +- v9.10.0-alpha.2/index_redirect.html | 6 +- v9.10.0-alpha.2/output/pydis_core.async_stats.html | 6 +- v9.10.0-alpha.2/output/pydis_core.exts.html | 6 +- v9.10.0-alpha.2/output/pydis_core.html | 8 +- v9.10.0-alpha.2/output/pydis_core.site_api.html | 16 +- .../output/pydis_core.utils.caching.html | 6 +- .../output/pydis_core.utils.channel.html | 6 +- .../output/pydis_core.utils.commands.html | 6 +- .../output/pydis_core.utils.cooldown.html | 6 +- .../output/pydis_core.utils.error_handling.html | 6 +- .../output/pydis_core.utils.function.html | 6 +- v9.10.0-alpha.2/output/pydis_core.utils.html | 6 +- .../output/pydis_core.utils.interactions.html | 6 +- .../output/pydis_core.utils.logging.html | 6 +- .../output/pydis_core.utils.members.html | 6 +- .../output/pydis_core.utils.paste_service.html | 8 +- v9.10.0-alpha.2/output/pydis_core.utils.regex.html | 6 +- .../output/pydis_core.utils.scheduling.html | 6 +- v9.10.0-alpha.2/py-modindex.html | 6 +- v9.10.0-alpha.2/search.html | 6 +- v9.10.0-alpha.2/searchindex.js | 2 +- v9.10.0-alpha.2/versions.html | 6 +- v9.2.0/.buildinfo | 2 +- v9.2.0/_static/styles/furo.css | 2 +- v9.2.0/_static/styles/furo.css.map | 2 +- v9.2.0/changelog.html | 6 +- v9.2.0/development.html | 6 +- v9.2.0/genindex.html | 6 +- v9.2.0/index.html | 6 +- v9.2.0/index_redirect.html | 6 +- v9.2.0/output/pydis_core.async_stats.html | 6 +- v9.2.0/output/pydis_core.exts.html | 6 +- v9.2.0/output/pydis_core.html | 8 +- v9.2.0/output/pydis_core.site_api.html | 16 +- v9.2.0/output/pydis_core.utils.caching.html | 6 +- v9.2.0/output/pydis_core.utils.channel.html | 6 +- v9.2.0/output/pydis_core.utils.commands.html | 6 +- v9.2.0/output/pydis_core.utils.cooldown.html | 6 +- v9.2.0/output/pydis_core.utils.function.html | 6 +- v9.2.0/output/pydis_core.utils.html | 6 +- v9.2.0/output/pydis_core.utils.interactions.html | 6 +- v9.2.0/output/pydis_core.utils.logging.html | 6 +- v9.2.0/output/pydis_core.utils.members.html | 6 +- v9.2.0/output/pydis_core.utils.regex.html | 6 +- v9.2.0/output/pydis_core.utils.scheduling.html | 6 +- v9.2.0/py-modindex.html | 6 +- v9.2.0/search.html | 6 +- v9.2.0/searchindex.js | 2 +- v9.2.0/versions.html | 6 +- v9.3.0/.buildinfo | 2 +- v9.3.0/_static/styles/furo.css | 2 +- v9.3.0/_static/styles/furo.css.map | 2 +- v9.3.0/changelog.html | 6 +- v9.3.0/development.html | 6 +- v9.3.0/genindex.html | 6 +- v9.3.0/index.html | 6 +- v9.3.0/index_redirect.html | 6 +- v9.3.0/output/pydis_core.async_stats.html | 6 +- v9.3.0/output/pydis_core.exts.html | 6 +- v9.3.0/output/pydis_core.html | 8 +- v9.3.0/output/pydis_core.site_api.html | 16 +- v9.3.0/output/pydis_core.utils.caching.html | 6 +- v9.3.0/output/pydis_core.utils.channel.html | 6 +- v9.3.0/output/pydis_core.utils.commands.html | 6 +- v9.3.0/output/pydis_core.utils.cooldown.html | 6 +- v9.3.0/output/pydis_core.utils.function.html | 6 +- v9.3.0/output/pydis_core.utils.html | 6 +- v9.3.0/output/pydis_core.utils.interactions.html | 6 +- v9.3.0/output/pydis_core.utils.logging.html | 6 +- v9.3.0/output/pydis_core.utils.members.html | 6 +- v9.3.0/output/pydis_core.utils.regex.html | 6 +- v9.3.0/output/pydis_core.utils.scheduling.html | 6 +- v9.3.0/py-modindex.html | 6 +- v9.3.0/search.html | 6 +- v9.3.0/searchindex.js | 2 +- v9.3.0/versions.html | 6 +- v9.4.0/.buildinfo | 2 +- v9.4.0/_static/styles/furo.css | 2 +- v9.4.0/_static/styles/furo.css.map | 2 +- v9.4.0/changelog.html | 6 +- v9.4.0/development.html | 6 +- v9.4.0/genindex.html | 6 +- v9.4.0/index.html | 6 +- v9.4.0/index_redirect.html | 6 +- v9.4.0/output/pydis_core.async_stats.html | 6 +- v9.4.0/output/pydis_core.exts.html | 6 +- v9.4.0/output/pydis_core.html | 8 +- v9.4.0/output/pydis_core.site_api.html | 16 +- v9.4.0/output/pydis_core.utils.caching.html | 6 +- v9.4.0/output/pydis_core.utils.channel.html | 6 +- v9.4.0/output/pydis_core.utils.commands.html | 6 +- v9.4.0/output/pydis_core.utils.cooldown.html | 6 +- v9.4.0/output/pydis_core.utils.function.html | 6 +- v9.4.0/output/pydis_core.utils.html | 6 +- v9.4.0/output/pydis_core.utils.interactions.html | 6 +- v9.4.0/output/pydis_core.utils.logging.html | 6 +- v9.4.0/output/pydis_core.utils.members.html | 6 +- v9.4.0/output/pydis_core.utils.regex.html | 6 +- v9.4.0/output/pydis_core.utils.scheduling.html | 6 +- v9.4.0/py-modindex.html | 6 +- v9.4.0/search.html | 6 +- v9.4.0/searchindex.js | 2 +- v9.4.0/versions.html | 6 +- v9.4.1/.buildinfo | 2 +- v9.4.1/_static/styles/furo.css | 2 +- v9.4.1/_static/styles/furo.css.map | 2 +- v9.4.1/changelog.html | 6 +- v9.4.1/development.html | 6 +- v9.4.1/genindex.html | 6 +- v9.4.1/index.html | 6 +- v9.4.1/index_redirect.html | 6 +- v9.4.1/output/pydis_core.async_stats.html | 6 +- v9.4.1/output/pydis_core.exts.html | 6 +- v9.4.1/output/pydis_core.html | 8 +- v9.4.1/output/pydis_core.site_api.html | 16 +- v9.4.1/output/pydis_core.utils.caching.html | 6 +- v9.4.1/output/pydis_core.utils.channel.html | 6 +- v9.4.1/output/pydis_core.utils.commands.html | 6 +- v9.4.1/output/pydis_core.utils.cooldown.html | 6 +- v9.4.1/output/pydis_core.utils.function.html | 6 +- v9.4.1/output/pydis_core.utils.html | 6 +- v9.4.1/output/pydis_core.utils.interactions.html | 6 +- v9.4.1/output/pydis_core.utils.logging.html | 6 +- v9.4.1/output/pydis_core.utils.members.html | 6 +- v9.4.1/output/pydis_core.utils.regex.html | 6 +- v9.4.1/output/pydis_core.utils.scheduling.html | 6 +- v9.4.1/py-modindex.html | 6 +- v9.4.1/search.html | 6 +- v9.4.1/searchindex.js | 2 +- v9.4.1/versions.html | 6 +- v9.5.0/.buildinfo | 2 +- v9.5.0/_static/styles/furo.css | 2 +- v9.5.0/_static/styles/furo.css.map | 2 +- v9.5.0/changelog.html | 6 +- v9.5.0/development.html | 6 +- v9.5.0/genindex.html | 6 +- v9.5.0/index.html | 6 +- v9.5.0/index_redirect.html | 6 +- v9.5.0/output/pydis_core.async_stats.html | 6 +- v9.5.0/output/pydis_core.exts.html | 6 +- v9.5.0/output/pydis_core.html | 8 +- v9.5.0/output/pydis_core.site_api.html | 16 +- v9.5.0/output/pydis_core.utils.caching.html | 6 +- v9.5.0/output/pydis_core.utils.channel.html | 6 +- v9.5.0/output/pydis_core.utils.commands.html | 6 +- v9.5.0/output/pydis_core.utils.cooldown.html | 6 +- v9.5.0/output/pydis_core.utils.function.html | 6 +- v9.5.0/output/pydis_core.utils.html | 6 +- v9.5.0/output/pydis_core.utils.interactions.html | 6 +- v9.5.0/output/pydis_core.utils.logging.html | 6 +- v9.5.0/output/pydis_core.utils.members.html | 6 +- v9.5.0/output/pydis_core.utils.regex.html | 6 +- v9.5.0/output/pydis_core.utils.scheduling.html | 6 +- v9.5.0/py-modindex.html | 6 +- v9.5.0/search.html | 6 +- v9.5.0/searchindex.js | 2 +- v9.5.0/versions.html | 6 +- v9.5.1/.buildinfo | 2 +- v9.5.1/_static/styles/furo.css | 2 +- v9.5.1/_static/styles/furo.css.map | 2 +- v9.5.1/changelog.html | 6 +- v9.5.1/development.html | 6 +- v9.5.1/genindex.html | 6 +- v9.5.1/index.html | 6 +- v9.5.1/index_redirect.html | 6 +- v9.5.1/output/pydis_core.async_stats.html | 6 +- v9.5.1/output/pydis_core.exts.html | 6 +- v9.5.1/output/pydis_core.html | 8 +- v9.5.1/output/pydis_core.site_api.html | 16 +- v9.5.1/output/pydis_core.utils.caching.html | 6 +- v9.5.1/output/pydis_core.utils.channel.html | 6 +- v9.5.1/output/pydis_core.utils.commands.html | 6 +- v9.5.1/output/pydis_core.utils.cooldown.html | 6 +- v9.5.1/output/pydis_core.utils.function.html | 6 +- v9.5.1/output/pydis_core.utils.html | 6 +- v9.5.1/output/pydis_core.utils.interactions.html | 6 +- v9.5.1/output/pydis_core.utils.logging.html | 6 +- v9.5.1/output/pydis_core.utils.members.html | 6 +- v9.5.1/output/pydis_core.utils.regex.html | 6 +- v9.5.1/output/pydis_core.utils.scheduling.html | 6 +- v9.5.1/py-modindex.html | 6 +- v9.5.1/search.html | 6 +- v9.5.1/searchindex.js | 2 +- v9.5.1/versions.html | 6 +- v9.6.0/.buildinfo | 2 +- v9.6.0/_static/styles/furo.css | 2 +- v9.6.0/_static/styles/furo.css.map | 2 +- v9.6.0/changelog.html | 6 +- v9.6.0/development.html | 6 +- v9.6.0/genindex.html | 6 +- v9.6.0/index.html | 6 +- v9.6.0/index_redirect.html | 6 +- v9.6.0/output/pydis_core.async_stats.html | 6 +- v9.6.0/output/pydis_core.exts.html | 6 +- v9.6.0/output/pydis_core.html | 8 +- v9.6.0/output/pydis_core.site_api.html | 16 +- v9.6.0/output/pydis_core.utils.caching.html | 6 +- v9.6.0/output/pydis_core.utils.channel.html | 6 +- v9.6.0/output/pydis_core.utils.commands.html | 6 +- v9.6.0/output/pydis_core.utils.cooldown.html | 6 +- v9.6.0/output/pydis_core.utils.function.html | 6 +- v9.6.0/output/pydis_core.utils.html | 6 +- v9.6.0/output/pydis_core.utils.interactions.html | 6 +- v9.6.0/output/pydis_core.utils.logging.html | 6 +- v9.6.0/output/pydis_core.utils.members.html | 6 +- v9.6.0/output/pydis_core.utils.regex.html | 6 +- v9.6.0/output/pydis_core.utils.scheduling.html | 6 +- v9.6.0/py-modindex.html | 6 +- v9.6.0/search.html | 6 +- v9.6.0/searchindex.js | 2 +- v9.6.0/versions.html | 6 +- v9.7.0/.buildinfo | 2 +- v9.7.0/_static/styles/furo.css | 2 +- v9.7.0/_static/styles/furo.css.map | 2 +- v9.7.0/changelog.html | 6 +- v9.7.0/development.html | 6 +- v9.7.0/genindex.html | 6 +- v9.7.0/index.html | 6 +- v9.7.0/index_redirect.html | 6 +- v9.7.0/output/pydis_core.async_stats.html | 6 +- v9.7.0/output/pydis_core.exts.html | 6 +- v9.7.0/output/pydis_core.html | 8 +- v9.7.0/output/pydis_core.site_api.html | 16 +- v9.7.0/output/pydis_core.utils.caching.html | 6 +- v9.7.0/output/pydis_core.utils.channel.html | 6 +- v9.7.0/output/pydis_core.utils.commands.html | 6 +- v9.7.0/output/pydis_core.utils.cooldown.html | 6 +- v9.7.0/output/pydis_core.utils.error_handling.html | 6 +- v9.7.0/output/pydis_core.utils.function.html | 6 +- v9.7.0/output/pydis_core.utils.html | 6 +- v9.7.0/output/pydis_core.utils.interactions.html | 6 +- v9.7.0/output/pydis_core.utils.logging.html | 6 +- v9.7.0/output/pydis_core.utils.members.html | 6 +- v9.7.0/output/pydis_core.utils.paste_service.html | 8 +- v9.7.0/output/pydis_core.utils.regex.html | 6 +- v9.7.0/output/pydis_core.utils.scheduling.html | 6 +- v9.7.0/py-modindex.html | 6 +- v9.7.0/search.html | 6 +- v9.7.0/searchindex.js | 2 +- v9.7.0/versions.html | 6 +- v9.8.0/.buildinfo | 2 +- v9.8.0/_static/styles/furo.css | 2 +- v9.8.0/_static/styles/furo.css.map | 2 +- v9.8.0/changelog.html | 6 +- v9.8.0/development.html | 6 +- v9.8.0/genindex.html | 6 +- v9.8.0/index.html | 6 +- v9.8.0/index_redirect.html | 6 +- v9.8.0/output/pydis_core.async_stats.html | 6 +- v9.8.0/output/pydis_core.exts.html | 6 +- v9.8.0/output/pydis_core.html | 8 +- v9.8.0/output/pydis_core.site_api.html | 16 +- v9.8.0/output/pydis_core.utils.caching.html | 6 +- v9.8.0/output/pydis_core.utils.channel.html | 6 +- v9.8.0/output/pydis_core.utils.commands.html | 6 +- v9.8.0/output/pydis_core.utils.cooldown.html | 6 +- v9.8.0/output/pydis_core.utils.error_handling.html | 6 +- v9.8.0/output/pydis_core.utils.function.html | 6 +- v9.8.0/output/pydis_core.utils.html | 6 +- v9.8.0/output/pydis_core.utils.interactions.html | 6 +- v9.8.0/output/pydis_core.utils.logging.html | 6 +- v9.8.0/output/pydis_core.utils.members.html | 6 +- v9.8.0/output/pydis_core.utils.paste_service.html | 8 +- v9.8.0/output/pydis_core.utils.regex.html | 6 +- v9.8.0/output/pydis_core.utils.scheduling.html | 6 +- v9.8.0/py-modindex.html | 6 +- v9.8.0/search.html | 6 +- v9.8.0/searchindex.js | 2 +- v9.8.0/versions.html | 6 +- v9.9.0/.buildinfo | 2 +- v9.9.0/_static/styles/furo.css | 2 +- v9.9.0/_static/styles/furo.css.map | 2 +- v9.9.0/changelog.html | 6 +- v9.9.0/development.html | 6 +- v9.9.0/genindex.html | 6 +- v9.9.0/index.html | 6 +- v9.9.0/index_redirect.html | 6 +- v9.9.0/output/pydis_core.async_stats.html | 6 +- v9.9.0/output/pydis_core.exts.html | 6 +- v9.9.0/output/pydis_core.html | 8 +- v9.9.0/output/pydis_core.site_api.html | 16 +- v9.9.0/output/pydis_core.utils.caching.html | 6 +- v9.9.0/output/pydis_core.utils.channel.html | 6 +- v9.9.0/output/pydis_core.utils.commands.html | 6 +- v9.9.0/output/pydis_core.utils.cooldown.html | 6 +- v9.9.0/output/pydis_core.utils.error_handling.html | 6 +- v9.9.0/output/pydis_core.utils.function.html | 6 +- v9.9.0/output/pydis_core.utils.html | 6 +- v9.9.0/output/pydis_core.utils.interactions.html | 6 +- v9.9.0/output/pydis_core.utils.logging.html | 6 +- v9.9.0/output/pydis_core.utils.members.html | 6 +- v9.9.0/output/pydis_core.utils.paste_service.html | 8 +- v9.9.0/output/pydis_core.utils.regex.html | 6 +- v9.9.0/output/pydis_core.utils.scheduling.html | 6 +- v9.9.0/py-modindex.html | 6 +- v9.9.0/search.html | 6 +- v9.9.0/searchindex.js | 2 +- v9.9.0/versions.html | 6 +- v9.9.1/.buildinfo | 2 +- v9.9.1/_static/styles/furo.css | 2 +- v9.9.1/_static/styles/furo.css.map | 2 +- v9.9.1/changelog.html | 6 +- v9.9.1/development.html | 6 +- v9.9.1/genindex.html | 6 +- v9.9.1/index.html | 6 +- v9.9.1/index_redirect.html | 6 +- v9.9.1/output/pydis_core.async_stats.html | 6 +- v9.9.1/output/pydis_core.exts.html | 6 +- v9.9.1/output/pydis_core.html | 8 +- v9.9.1/output/pydis_core.site_api.html | 16 +- v9.9.1/output/pydis_core.utils.caching.html | 6 +- v9.9.1/output/pydis_core.utils.channel.html | 6 +- v9.9.1/output/pydis_core.utils.commands.html | 6 +- v9.9.1/output/pydis_core.utils.cooldown.html | 6 +- v9.9.1/output/pydis_core.utils.error_handling.html | 6 +- v9.9.1/output/pydis_core.utils.function.html | 6 +- v9.9.1/output/pydis_core.utils.html | 6 +- v9.9.1/output/pydis_core.utils.interactions.html | 6 +- v9.9.1/output/pydis_core.utils.logging.html | 6 +- v9.9.1/output/pydis_core.utils.members.html | 6 +- v9.9.1/output/pydis_core.utils.paste_service.html | 8 +- v9.9.1/output/pydis_core.utils.regex.html | 6 +- v9.9.1/output/pydis_core.utils.scheduling.html | 6 +- v9.9.1/py-modindex.html | 6 +- v9.9.1/search.html | 6 +- v9.9.1/searchindex.js | 2 +- v9.9.1/versions.html | 6 +- v9.9.2/.buildinfo | 2 +- v9.9.2/_static/styles/furo.css | 2 +- v9.9.2/_static/styles/furo.css.map | 2 +- v9.9.2/changelog.html | 6 +- v9.9.2/development.html | 6 +- v9.9.2/genindex.html | 6 +- v9.9.2/index.html | 6 +- v9.9.2/index_redirect.html | 6 +- v9.9.2/output/pydis_core.async_stats.html | 6 +- v9.9.2/output/pydis_core.exts.html | 6 +- v9.9.2/output/pydis_core.html | 8 +- v9.9.2/output/pydis_core.site_api.html | 16 +- v9.9.2/output/pydis_core.utils.caching.html | 6 +- v9.9.2/output/pydis_core.utils.channel.html | 6 +- v9.9.2/output/pydis_core.utils.commands.html | 6 +- v9.9.2/output/pydis_core.utils.cooldown.html | 6 +- v9.9.2/output/pydis_core.utils.error_handling.html | 6 +- v9.9.2/output/pydis_core.utils.function.html | 6 +- v9.9.2/output/pydis_core.utils.html | 6 +- v9.9.2/output/pydis_core.utils.interactions.html | 6 +- v9.9.2/output/pydis_core.utils.logging.html | 6 +- v9.9.2/output/pydis_core.utils.members.html | 6 +- v9.9.2/output/pydis_core.utils.paste_service.html | 8 +- v9.9.2/output/pydis_core.utils.regex.html | 6 +- v9.9.2/output/pydis_core.utils.scheduling.html | 6 +- v9.9.2/py-modindex.html | 6 +- v9.9.2/search.html | 6 +- v9.9.2/searchindex.js | 2 +- v9.9.2/versions.html | 6 +- 987 files changed, 11099 insertions(+), 3284 deletions(-) diff --git a/_static/documentation_options.js b/_static/documentation_options.js index 9f7eea4e..ffeec763 100644 --- a/_static/documentation_options.js +++ b/_static/documentation_options.js @@ -1,5 +1,5 @@ const DOCUMENTATION_OPTIONS = { - VERSION: '11.3.1', + VERSION: '11.4.0', LANGUAGE: 'en', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/_static/styles/furo.css b/_static/styles/furo.css index 21836d6a..05a56b17 100644 --- a/_static/styles/furo.css +++ b/_static/styles/furo.css @@ -1,2 +1,2 @@ -/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}@media print{.content-icon-container,.headerlink,.mobile-header,.related-pages{display:none!important}.highlight{border:.1pt solid var(--color-foreground-border)}a,blockquote,dl,ol,pre,table,ul{page-break-inside:avoid}caption,figure,h1,h2,h3,h4,h5,h6,img{page-break-after:avoid;page-break-inside:avoid}dl,ol,ul{page-break-before:avoid}}.visually-hidden{height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;clip:rect(0,0,0,0)!important;background:var(--color-background-primary);border:0!important;color:var(--color-foreground-primary);white-space:nowrap!important}:-moz-focusring{outline:auto}body{--font-stack:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;--font-stack--monospace:"SFMono-Regular",Menlo,Consolas,Monaco,Liberation Mono,Lucida Console,monospace;--font-stack--headings:var(--font-stack);--font-size--normal:100%;--font-size--small:87.5%;--font-size--small--2:81.25%;--font-size--small--3:75%;--font-size--small--4:62.5%;--sidebar-caption-font-size:var(--font-size--small--2);--sidebar-item-font-size:var(--font-size--small);--sidebar-search-input-font-size:var(--font-size--small);--toc-font-size:var(--font-size--small--3);--toc-font-size--mobile:var(--font-size--normal);--toc-title-font-size:var(--font-size--small--4);--admonition-font-size:0.8125rem;--admonition-title-font-size:0.8125rem;--code-font-size:var(--font-size--small--2);--api-font-size:var(--font-size--small);--header-height:calc(var(--sidebar-item-line-height) + var(--sidebar-item-spacing-vertical)*4);--header-padding:0.5rem;--sidebar-tree-space-above:1.5rem;--sidebar-caption-space-above:1rem;--sidebar-item-line-height:1rem;--sidebar-item-spacing-vertical:0.5rem;--sidebar-item-spacing-horizontal:1rem;--sidebar-item-height:calc(var(--sidebar-item-line-height) + var(--sidebar-item-spacing-vertical)*2);--sidebar-expander-width:var(--sidebar-item-height);--sidebar-search-space-above:0.5rem;--sidebar-search-input-spacing-vertical:0.5rem;--sidebar-search-input-spacing-horizontal:0.5rem;--sidebar-search-input-height:1rem;--sidebar-search-icon-size:var(--sidebar-search-input-height);--toc-title-padding:0.25rem 0;--toc-spacing-vertical:1.5rem;--toc-spacing-horizontal:1.5rem;--toc-item-spacing-vertical:0.4rem;--toc-item-spacing-horizontal:1rem;--icon-search:url('data:image/svg+xml;charset=utf-8,');--icon-pencil:url('data:image/svg+xml;charset=utf-8,');--icon-abstract:url('data:image/svg+xml;charset=utf-8,');--icon-info:url('data:image/svg+xml;charset=utf-8,');--icon-flame:url('data:image/svg+xml;charset=utf-8,');--icon-question:url('data:image/svg+xml;charset=utf-8,');--icon-warning:url('data:image/svg+xml;charset=utf-8,');--icon-failure:url('data:image/svg+xml;charset=utf-8,');--icon-spark:url('data:image/svg+xml;charset=utf-8,');--color-admonition-title--caution:#ff9100;--color-admonition-title-background--caution:rgba(255,145,0,.2);--color-admonition-title--warning:#ff9100;--color-admonition-title-background--warning:rgba(255,145,0,.2);--color-admonition-title--danger:#ff5252;--color-admonition-title-background--danger:rgba(255,82,82,.2);--color-admonition-title--attention:#ff5252;--color-admonition-title-background--attention:rgba(255,82,82,.2);--color-admonition-title--error:#ff5252;--color-admonition-title-background--error:rgba(255,82,82,.2);--color-admonition-title--hint:#00c852;--color-admonition-title-background--hint:rgba(0,200,82,.2);--color-admonition-title--tip:#00c852;--color-admonition-title-background--tip:rgba(0,200,82,.2);--color-admonition-title--important:#00bfa5;--color-admonition-title-background--important:rgba(0,191,165,.2);--color-admonition-title--note:#00b0ff;--color-admonition-title-background--note:rgba(0,176,255,.2);--color-admonition-title--seealso:#448aff;--color-admonition-title-background--seealso:rgba(68,138,255,.2);--color-admonition-title--admonition-todo:grey;--color-admonition-title-background--admonition-todo:hsla(0,0%,50%,.2);--color-admonition-title:#651fff;--color-admonition-title-background:rgba(101,31,255,.2);--icon-admonition-default:var(--icon-abstract);--color-topic-title:#14b8a6;--color-topic-title-background:rgba(20,184,166,.2);--icon-topic-default:var(--icon-pencil);--color-problematic:#b30000;--color-foreground-primary:#000;--color-foreground-secondary:#5a5c63;--color-foreground-muted:#6b6f76;--color-foreground-border:#878787;--color-background-primary:#fff;--color-background-secondary:#f8f9fb;--color-background-hover:#efeff4;--color-background-hover--transparent:#efeff400;--color-background-border:#eeebee;--color-background-item:#ccc;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#0a4bff;--color-brand-content:#2757dd;--color-brand-visited:#872ee0;--color-api-background:var(--color-background-hover--transparent);--color-api-background-hover:var(--color-background-hover);--color-api-overall:var(--color-foreground-secondary);--color-api-name:var(--color-problematic);--color-api-pre-name:var(--color-problematic);--color-api-paren:var(--color-foreground-secondary);--color-api-keyword:var(--color-foreground-primary);--color-api-added:#21632c;--color-api-added-border:#38a84d;--color-api-changed:#046172;--color-api-changed-border:#06a1bc;--color-api-deprecated:#605706;--color-api-deprecated-border:#f0d90f;--color-api-removed:#b30000;--color-api-removed-border:#ff5c5c;--color-highlight-on-target:#ffc;--color-inline-code-background:var(--color-background-secondary);--color-highlighted-background:#def;--color-highlighted-text:var(--color-foreground-primary);--color-guilabel-background:#ddeeff80;--color-guilabel-border:#bedaf580;--color-guilabel-text:var(--color-foreground-primary);--color-admonition-background:transparent;--color-table-header-background:var(--color-background-secondary);--color-table-border:var(--color-background-border);--color-card-border:var(--color-background-secondary);--color-card-background:transparent;--color-card-marginals-background:var(--color-background-secondary);--color-header-background:var(--color-background-primary);--color-header-border:var(--color-background-border);--color-header-text:var(--color-foreground-primary);--color-sidebar-background:var(--color-background-secondary);--color-sidebar-background-border:var(--color-background-border);--color-sidebar-brand-text:var(--color-foreground-primary);--color-sidebar-caption-text:var(--color-foreground-muted);--color-sidebar-link-text:var(--color-foreground-secondary);--color-sidebar-link-text--top-level:var(--color-brand-primary);--color-sidebar-item-background:var(--color-sidebar-background);--color-sidebar-item-background--current:var( --color-sidebar-item-background );--color-sidebar-item-background--hover:linear-gradient(90deg,var(--color-background-hover--transparent) 0%,var(--color-background-hover) var(--sidebar-item-spacing-horizontal),var(--color-background-hover) 100%);--color-sidebar-item-expander-background:transparent;--color-sidebar-item-expander-background--hover:var( --color-background-hover );--color-sidebar-search-text:var(--color-foreground-primary);--color-sidebar-search-background:var(--color-background-secondary);--color-sidebar-search-background--focus:var(--color-background-primary);--color-sidebar-search-border:var(--color-background-border);--color-sidebar-search-icon:var(--color-foreground-muted);--color-toc-background:var(--color-background-primary);--color-toc-title-text:var(--color-foreground-muted);--color-toc-item-text:var(--color-foreground-secondary);--color-toc-item-text--hover:var(--color-foreground-primary);--color-toc-item-text--active:var(--color-brand-primary);--color-content-foreground:var(--color-foreground-primary);--color-content-background:transparent;--color-link:var(--color-brand-content);--color-link-underline:var(--color-background-border);--color-link--hover:var(--color-brand-content);--color-link-underline--hover:var(--color-foreground-border);--color-link--visited:var(--color-brand-visited);--color-link-underline--visited:var(--color-background-border);--color-link--visited--hover:var(--color-brand-visited);--color-link-underline--visited--hover:var(--color-foreground-border)}.only-light{display:block!important}html body .only-dark{display:none!important}@media not print{body[data-theme=dark]{--color-problematic:#ee5151;--color-foreground-primary:#cfd0d0;--color-foreground-secondary:#9ca0a5;--color-foreground-muted:#81868d;--color-foreground-border:#666;--color-background-primary:#131416;--color-background-secondary:#1a1c1e;--color-background-hover:#1e2124;--color-background-hover--transparent:#1e212400;--color-background-border:#303335;--color-background-item:#444;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#3d94ff;--color-brand-content:#5ca5ff;--color-brand-visited:#b27aeb;--color-highlighted-background:#083563;--color-guilabel-background:#08356380;--color-guilabel-border:#13395f80;--color-api-keyword:var(--color-foreground-secondary);--color-highlight-on-target:#330;--color-api-added:#3db854;--color-api-added-border:#267334;--color-api-changed:#09b0ce;--color-api-changed-border:#056d80;--color-api-deprecated:#b1a10b;--color-api-deprecated-border:#6e6407;--color-api-removed:#ff7575;--color-api-removed-border:#b03b3b;--color-admonition-background:#18181a;--color-card-border:var(--color-background-secondary);--color-card-background:#18181a;--color-card-marginals-background:var(--color-background-hover)}html body[data-theme=dark] .only-light{display:none!important}body[data-theme=dark] .only-dark{display:block!important}@media(prefers-color-scheme:dark){body:not([data-theme=light]){--color-problematic:#ee5151;--color-foreground-primary:#cfd0d0;--color-foreground-secondary:#9ca0a5;--color-foreground-muted:#81868d;--color-foreground-border:#666;--color-background-primary:#131416;--color-background-secondary:#1a1c1e;--color-background-hover:#1e2124;--color-background-hover--transparent:#1e212400;--color-background-border:#303335;--color-background-item:#444;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#3d94ff;--color-brand-content:#5ca5ff;--color-brand-visited:#b27aeb;--color-highlighted-background:#083563;--color-guilabel-background:#08356380;--color-guilabel-border:#13395f80;--color-api-keyword:var(--color-foreground-secondary);--color-highlight-on-target:#330;--color-api-added:#3db854;--color-api-added-border:#267334;--color-api-changed:#09b0ce;--color-api-changed-border:#056d80;--color-api-deprecated:#b1a10b;--color-api-deprecated-border:#6e6407;--color-api-removed:#ff7575;--color-api-removed-border:#b03b3b;--color-admonition-background:#18181a;--color-card-border:var(--color-background-secondary);--color-card-background:#18181a;--color-card-marginals-background:var(--color-background-hover)}html body:not([data-theme=light]) .only-light{display:none!important}body:not([data-theme=light]) .only-dark{display:block!important}}}body[data-theme=auto] .theme-toggle svg.theme-icon-when-auto-light{display:block}@media(prefers-color-scheme:dark){body[data-theme=auto] .theme-toggle svg.theme-icon-when-auto-dark{display:block}body[data-theme=auto] .theme-toggle svg.theme-icon-when-auto-light{display:none}}body[data-theme=dark] .theme-toggle svg.theme-icon-when-dark,body[data-theme=light] .theme-toggle svg.theme-icon-when-light{display:block}body{font-family:var(--font-stack)}code,kbd,pre,samp{font-family:var(--font-stack--monospace)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}article{line-height:1.5}h1,h2,h3,h4,h5,h6{border-radius:.5rem;font-family:var(--font-stack--headings);font-weight:700;line-height:1.25;margin:.5rem -.5rem;padding-left:.5rem;padding-right:.5rem}h1+p,h2+p,h3+p,h4+p,h5+p,h6+p{margin-top:0}h1{font-size:2.5em;margin-bottom:1rem}h1,h2{margin-top:1.75rem}h2{font-size:2em}h3{font-size:1.5em}h4{font-size:1.25em}h5{font-size:1.125em}h6{font-size:1em}small{font-size:80%;opacity:75%}p{margin-bottom:.75rem;margin-top:.5rem}hr.docutils{background-color:var(--color-background-border);border:0;height:1px;margin:2rem 0;padding:0}.centered{text-align:center}a{color:var(--color-link);text-decoration:underline;text-decoration-color:var(--color-link-underline)}a:visited{color:var(--color-link--visited);text-decoration-color:var(--color-link-underline--visited)}a:visited:hover{color:var(--color-link--visited--hover);text-decoration-color:var(--color-link-underline--visited--hover)}a:hover{color:var(--color-link--hover);text-decoration-color:var(--color-link-underline--hover)}a.muted-link{color:inherit}a.muted-link:hover{color:var(--color-link--hover);text-decoration-color:var(--color-link-underline--hover)}a.muted-link:hover:visited{color:var(--color-link--visited--hover);text-decoration-color:var(--color-link-underline--visited--hover)}html{overflow-x:hidden;overflow-y:scroll;scroll-behavior:smooth}.sidebar-scroll,.toc-scroll,article[role=main] *{scrollbar-color:var(--color-foreground-border) transparent;scrollbar-width:thin}.sidebar-scroll::-webkit-scrollbar,.toc-scroll::-webkit-scrollbar,article[role=main] ::-webkit-scrollbar{height:.25rem;width:.25rem}.sidebar-scroll::-webkit-scrollbar-thumb,.toc-scroll::-webkit-scrollbar-thumb,article[role=main] ::-webkit-scrollbar-thumb{background-color:var(--color-foreground-border);border-radius:.125rem}body,html{height:100%}.skip-to-content,body,html{background:var(--color-background-primary);color:var(--color-foreground-primary)}.skip-to-content{border-radius:1rem;left:.25rem;padding:1rem;position:fixed;top:.25rem;transform:translateY(-200%);transition:transform .3s ease-in-out;z-index:40}.skip-to-content:focus-within{transform:translateY(0)}article{background:var(--color-content-background);color:var(--color-content-foreground);overflow-wrap:break-word}.page{display:flex;min-height:100%}.mobile-header{background-color:var(--color-header-background);border-bottom:1px solid var(--color-header-border);color:var(--color-header-text);display:none;height:var(--header-height);width:100%;z-index:10}.mobile-header.scrolled{border-bottom:none;box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2)}.mobile-header .header-center a{color:var(--color-header-text);text-decoration:none}.main{display:flex;flex:1}.sidebar-drawer{background:var(--color-sidebar-background);border-right:1px solid var(--color-sidebar-background-border);box-sizing:border-box;display:flex;justify-content:flex-end;min-width:15em;width:calc(50% - 26em)}.sidebar-container,.toc-drawer{box-sizing:border-box;width:15em}.toc-drawer{background:var(--color-toc-background);padding-right:1rem}.sidebar-sticky,.toc-sticky{display:flex;flex-direction:column;height:min(100%,100vh);height:100vh;position:sticky;top:0}.sidebar-scroll,.toc-scroll{flex-grow:1;flex-shrink:1;overflow:auto;scroll-behavior:smooth}.content{display:flex;flex-direction:column;justify-content:space-between;padding:0 3em;width:46em}.icon{display:inline-block;height:1rem;width:1rem}.icon svg{height:100%;width:100%}.announcement{align-items:center;background-color:var(--color-announcement-background);color:var(--color-announcement-text);display:flex;height:var(--header-height);overflow-x:auto}.announcement+.page{min-height:calc(100% - var(--header-height))}.announcement-content{box-sizing:border-box;min-width:100%;padding:.5rem;text-align:center;white-space:nowrap}.announcement-content a{color:var(--color-announcement-text);text-decoration-color:var(--color-announcement-text)}.announcement-content a:hover{color:var(--color-announcement-text);text-decoration-color:var(--color-link--hover)}.no-js .theme-toggle-container{display:none}.theme-toggle-container{display:flex}.theme-toggle{background:transparent;border:none;cursor:pointer;display:flex;padding:0}.theme-toggle svg{color:var(--color-foreground-primary);display:none;height:1.25rem;width:1.25rem}.theme-toggle-header{align-items:center;display:flex;justify-content:center}.nav-overlay-icon,.toc-overlay-icon{cursor:pointer;display:none}.nav-overlay-icon .icon,.toc-overlay-icon .icon{color:var(--color-foreground-secondary);height:1.5rem;width:1.5rem}.nav-overlay-icon,.toc-header-icon{align-items:center;justify-content:center}.toc-content-icon{height:1.5rem;width:1.5rem}.content-icon-container{display:flex;float:right;gap:.5rem;margin-bottom:1rem;margin-left:1rem;margin-top:1.5rem}.content-icon-container .edit-this-page svg,.content-icon-container .view-this-page svg{color:inherit;height:1.25rem;width:1.25rem}.sidebar-toggle{display:none;position:absolute}.sidebar-toggle[name=__toc]{left:20px}.sidebar-toggle:checked{left:40px}.overlay{background-color:rgba(0,0,0,.54);height:0;opacity:0;position:fixed;top:0;transition:width 0ms,height 0ms,opacity .25s ease-out;width:0}.sidebar-overlay{z-index:20}.toc-overlay{z-index:40}.sidebar-drawer{transition:left .25s ease-in-out;z-index:30}.toc-drawer{transition:right .25s ease-in-out;z-index:50}#__navigation:checked~.sidebar-overlay{height:100%;opacity:1;width:100%}#__navigation:checked~.page .sidebar-drawer{left:0;top:0}#__toc:checked~.toc-overlay{height:100%;opacity:1;width:100%}#__toc:checked~.page .toc-drawer{right:0;top:0}.back-to-top{background:var(--color-background-primary);border-radius:1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 1px 0 hsla(220,9%,46%,.502);display:none;font-size:.8125rem;left:0;margin-left:50%;padding:.5rem .75rem .5rem .5rem;position:fixed;text-decoration:none;top:1rem;transform:translateX(-50%);z-index:10}.back-to-top svg{height:1rem;width:1rem;fill:currentColor;display:inline-block}.back-to-top span{margin-left:.25rem}.show-back-to-top .back-to-top{align-items:center;display:flex}@media(min-width:97em){html{font-size:110%}}@media(max-width:82em){.toc-content-icon{display:flex}.toc-drawer{border-left:1px solid var(--color-background-muted);height:100vh;position:fixed;right:-15em;top:0}.toc-tree{border-left:none;font-size:var(--toc-font-size--mobile)}.sidebar-drawer{width:calc(50% - 18.5em)}}@media(max-width:67em){.nav-overlay-icon{display:flex}.sidebar-drawer{height:100vh;left:-15em;position:fixed;top:0;width:15em}.theme-toggle-header,.toc-header-icon{display:flex}.theme-toggle-content,.toc-content-icon{display:none}.mobile-header{align-items:center;display:flex;justify-content:space-between;position:sticky;top:0}.mobile-header .header-left,.mobile-header .header-right{display:flex;height:var(--header-height);padding:0 var(--header-padding)}.mobile-header .header-left label,.mobile-header .header-right label{height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.nav-overlay-icon .icon,.theme-toggle svg{height:1.5rem;width:1.5rem}:target{scroll-margin-top:calc(var(--header-height) + 2.5rem)}.back-to-top{top:calc(var(--header-height) + .5rem)}.page{flex-direction:column;justify-content:center}.content{margin-left:auto;margin-right:auto}}@media(max-width:52em){.content{overflow-x:auto;width:100%}}@media(max-width:46em){.content{padding:0 1em}article aside.sidebar{float:none;margin:1rem 0;width:100%}}.admonition,.topic{background:var(--color-admonition-background);border-radius:.2rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1);font-size:var(--admonition-font-size);margin:1rem auto;overflow:hidden;padding:0 .5rem .5rem;page-break-inside:avoid}.admonition>:nth-child(2),.topic>:nth-child(2){margin-top:0}.admonition>:last-child,.topic>:last-child{margin-bottom:0}.admonition p.admonition-title,p.topic-title{font-size:var(--admonition-title-font-size);font-weight:500;line-height:1.3;margin:0 -.5rem .5rem;padding:.4rem .5rem .4rem 2rem;position:relative}.admonition p.admonition-title:before,p.topic-title:before{content:"";height:1rem;left:.5rem;position:absolute;width:1rem}p.admonition-title{background-color:var(--color-admonition-title-background)}p.admonition-title:before{background-color:var(--color-admonition-title);-webkit-mask-image:var(--icon-admonition-default);mask-image:var(--icon-admonition-default);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}p.topic-title{background-color:var(--color-topic-title-background)}p.topic-title:before{background-color:var(--color-topic-title);-webkit-mask-image:var(--icon-topic-default);mask-image:var(--icon-topic-default);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.admonition{border-left:.2rem solid var(--color-admonition-title)}.admonition.caution{border-left-color:var(--color-admonition-title--caution)}.admonition.caution>.admonition-title{background-color:var(--color-admonition-title-background--caution)}.admonition.caution>.admonition-title:before{background-color:var(--color-admonition-title--caution);-webkit-mask-image:var(--icon-spark);mask-image:var(--icon-spark)}.admonition.warning{border-left-color:var(--color-admonition-title--warning)}.admonition.warning>.admonition-title{background-color:var(--color-admonition-title-background--warning)}.admonition.warning>.admonition-title:before{background-color:var(--color-admonition-title--warning);-webkit-mask-image:var(--icon-warning);mask-image:var(--icon-warning)}.admonition.danger{border-left-color:var(--color-admonition-title--danger)}.admonition.danger>.admonition-title{background-color:var(--color-admonition-title-background--danger)}.admonition.danger>.admonition-title:before{background-color:var(--color-admonition-title--danger);-webkit-mask-image:var(--icon-spark);mask-image:var(--icon-spark)}.admonition.attention{border-left-color:var(--color-admonition-title--attention)}.admonition.attention>.admonition-title{background-color:var(--color-admonition-title-background--attention)}.admonition.attention>.admonition-title:before{background-color:var(--color-admonition-title--attention);-webkit-mask-image:var(--icon-warning);mask-image:var(--icon-warning)}.admonition.error{border-left-color:var(--color-admonition-title--error)}.admonition.error>.admonition-title{background-color:var(--color-admonition-title-background--error)}.admonition.error>.admonition-title:before{background-color:var(--color-admonition-title--error);-webkit-mask-image:var(--icon-failure);mask-image:var(--icon-failure)}.admonition.hint{border-left-color:var(--color-admonition-title--hint)}.admonition.hint>.admonition-title{background-color:var(--color-admonition-title-background--hint)}.admonition.hint>.admonition-title:before{background-color:var(--color-admonition-title--hint);-webkit-mask-image:var(--icon-question);mask-image:var(--icon-question)}.admonition.tip{border-left-color:var(--color-admonition-title--tip)}.admonition.tip>.admonition-title{background-color:var(--color-admonition-title-background--tip)}.admonition.tip>.admonition-title:before{background-color:var(--color-admonition-title--tip);-webkit-mask-image:var(--icon-info);mask-image:var(--icon-info)}.admonition.important{border-left-color:var(--color-admonition-title--important)}.admonition.important>.admonition-title{background-color:var(--color-admonition-title-background--important)}.admonition.important>.admonition-title:before{background-color:var(--color-admonition-title--important);-webkit-mask-image:var(--icon-flame);mask-image:var(--icon-flame)}.admonition.note{border-left-color:var(--color-admonition-title--note)}.admonition.note>.admonition-title{background-color:var(--color-admonition-title-background--note)}.admonition.note>.admonition-title:before{background-color:var(--color-admonition-title--note);-webkit-mask-image:var(--icon-pencil);mask-image:var(--icon-pencil)}.admonition.seealso{border-left-color:var(--color-admonition-title--seealso)}.admonition.seealso>.admonition-title{background-color:var(--color-admonition-title-background--seealso)}.admonition.seealso>.admonition-title:before{background-color:var(--color-admonition-title--seealso);-webkit-mask-image:var(--icon-info);mask-image:var(--icon-info)}.admonition.admonition-todo{border-left-color:var(--color-admonition-title--admonition-todo)}.admonition.admonition-todo>.admonition-title{background-color:var(--color-admonition-title-background--admonition-todo)}.admonition.admonition-todo>.admonition-title:before{background-color:var(--color-admonition-title--admonition-todo);-webkit-mask-image:var(--icon-pencil);mask-image:var(--icon-pencil)}.admonition-todo>.admonition-title{text-transform:uppercase}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd{margin-left:2rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd>:first-child{margin-top:.125rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list,dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd>:last-child{margin-bottom:.75rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list>dt{font-size:var(--font-size--small);text-transform:uppercase}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd:empty{margin-bottom:.5rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul{margin-left:-1.2rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul>li>p:nth-child(2){margin-top:0}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul>li>p+p:last-child:empty{margin-bottom:0;margin-top:0}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)>dt{color:var(--color-api-overall)}.sig:not(.sig-inline){background:var(--color-api-background);border-radius:.25rem;font-family:var(--font-stack--monospace);font-size:var(--api-font-size);font-weight:700;margin-left:-.25rem;margin-right:-.25rem;padding:.25rem .5rem .25rem 3em;text-indent:-2.5em;transition:background .1s ease-out}.sig:not(.sig-inline):hover{background:var(--color-api-background-hover)}.sig:not(.sig-inline) a.reference .viewcode-link{font-weight:400;width:4.25rem}em.property{font-style:normal}em.property:first-child{color:var(--color-api-keyword)}.sig-name{color:var(--color-api-name)}.sig-prename{color:var(--color-api-pre-name);font-weight:400}.sig-paren{color:var(--color-api-paren)}.sig-param{font-style:normal}div.deprecated,div.versionadded,div.versionchanged,div.versionremoved{border-left:.1875rem solid;border-radius:.125rem;padding-left:.75rem}div.deprecated p,div.versionadded p,div.versionchanged p,div.versionremoved p{margin-bottom:.125rem;margin-top:.125rem}div.versionadded{border-color:var(--color-api-added-border)}div.versionadded .versionmodified{color:var(--color-api-added)}div.versionchanged{border-color:var(--color-api-changed-border)}div.versionchanged .versionmodified{color:var(--color-api-changed)}div.deprecated{border-color:var(--color-api-deprecated-border)}div.deprecated .versionmodified{color:var(--color-api-deprecated)}div.versionremoved{border-color:var(--color-api-removed-border)}div.versionremoved .versionmodified{color:var(--color-api-removed)}.viewcode-back,.viewcode-link{float:right;text-align:right}.line-block{margin-bottom:.75rem;margin-top:.5rem}.line-block .line-block{margin-bottom:0;margin-top:0;padding-left:1rem}.code-block-caption,article p.caption,table>caption{font-size:var(--font-size--small);text-align:center}.toctree-wrapper.compound .caption,.toctree-wrapper.compound :not(.caption)>.caption-text{font-size:var(--font-size--small);margin-bottom:0;text-align:initial;text-transform:uppercase}.toctree-wrapper.compound>ul{margin-bottom:0;margin-top:0}.sig-inline,code.literal{background:var(--color-inline-code-background);border-radius:.2em;font-size:var(--font-size--small--2);padding:.1em .2em}pre.literal-block .sig-inline,pre.literal-block code.literal{font-size:inherit;padding:0}p .sig-inline,p code.literal{border:1px solid var(--color-background-border)}.sig-inline{font-family:var(--font-stack--monospace)}div[class*=" highlight-"],div[class^=highlight-]{display:flex;margin:1em 0}div[class*=" highlight-"] .table-wrapper,div[class^=highlight-] .table-wrapper,pre{margin:0;padding:0}pre{overflow:auto}article[role=main] .highlight pre{line-height:1.5}.highlight pre,pre.literal-block{font-size:var(--code-font-size);padding:.625rem .875rem}pre.literal-block{background-color:var(--color-code-background);border-radius:.2rem;color:var(--color-code-foreground);margin-bottom:1rem;margin-top:1rem}.highlight{border-radius:.2rem;width:100%}.highlight .gp,.highlight span.linenos{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.highlight .hll{display:block;margin-left:-.875rem;margin-right:-.875rem;padding-left:.875rem;padding-right:.875rem}.code-block-caption{background-color:var(--color-code-background);border-bottom:1px solid;border-radius:.25rem;border-bottom-left-radius:0;border-bottom-right-radius:0;border-color:var(--color-background-border);color:var(--color-code-foreground);display:flex;font-weight:300;padding:.625rem .875rem}.code-block-caption+div[class]{margin-top:0}.code-block-caption+div[class] pre{border-top-left-radius:0;border-top-right-radius:0}.highlighttable{display:block;width:100%}.highlighttable tbody{display:block}.highlighttable tr{display:flex}.highlighttable td.linenos{background-color:var(--color-code-background);border-bottom-left-radius:.2rem;border-top-left-radius:.2rem;color:var(--color-code-foreground);padding:.625rem 0 .625rem .875rem}.highlighttable .linenodiv{box-shadow:-.0625rem 0 var(--color-foreground-border) inset;font-size:var(--code-font-size);padding-right:.875rem}.highlighttable td.code{display:block;flex:1;overflow:hidden;padding:0}.highlighttable td.code .highlight{border-bottom-left-radius:0;border-top-left-radius:0}.highlight span.linenos{box-shadow:-.0625rem 0 var(--color-foreground-border) inset;display:inline-block;margin-right:.875rem;padding-left:0;padding-right:.875rem}.footnote-reference{font-size:var(--font-size--small--4);vertical-align:super}dl.footnote.brackets{color:var(--color-foreground-secondary);display:grid;font-size:var(--font-size--small);grid-template-columns:max-content auto}dl.footnote.brackets dt{margin:0}dl.footnote.brackets dt>.fn-backref{margin-left:.25rem}dl.footnote.brackets dt:after{content:":"}dl.footnote.brackets dt .brackets:before{content:"["}dl.footnote.brackets dt .brackets:after{content:"]"}dl.footnote.brackets dd{margin:0;padding:0 1rem}aside.footnote{color:var(--color-foreground-secondary);font-size:var(--font-size--small)}aside.footnote>span,div.citation>span{float:left;font-weight:500;padding-right:.25rem}aside.footnote>:not(span),div.citation>p{margin-left:2rem}img{box-sizing:border-box;height:auto;max-width:100%}article .figure,article figure{border-radius:.2rem;margin:0}article .figure :last-child,article figure :last-child{margin-bottom:0}article .align-left{clear:left;float:left;margin:0 1rem 1rem}article .align-right{clear:right;float:right;margin:0 1rem 1rem}article .align-center,article .align-default{display:block;margin-left:auto;margin-right:auto;text-align:center}article table.align-default{display:table;text-align:initial}.domainindex-jumpbox,.genindex-jumpbox{border-bottom:1px solid var(--color-background-border);border-top:1px solid var(--color-background-border);padding:.25rem}.domainindex-section h2,.genindex-section h2{margin-bottom:.5rem;margin-top:.75rem}.domainindex-section ul,.genindex-section ul{margin-bottom:0;margin-top:0}ol,ul{margin-bottom:1rem;margin-top:1rem;padding-left:1.2rem}ol li>p:first-child,ul li>p:first-child{margin-bottom:.25rem;margin-top:.25rem}ol li>p:last-child,ul li>p:last-child{margin-top:.25rem}ol li>ol,ol li>ul,ul li>ol,ul li>ul{margin-bottom:.5rem;margin-top:.5rem}ol.arabic{list-style:decimal}ol.loweralpha{list-style:lower-alpha}ol.upperalpha{list-style:upper-alpha}ol.lowerroman{list-style:lower-roman}ol.upperroman{list-style:upper-roman}.simple li>ol,.simple li>ul,.toctree-wrapper li>ol,.toctree-wrapper li>ul{margin-bottom:0;margin-top:0}.field-list dt,.option-list dt,dl.footnote dt,dl.glossary dt,dl.simple dt,dl:not([class]) dt{font-weight:500;margin-top:.25rem}.field-list dt+dt,.option-list dt+dt,dl.footnote dt+dt,dl.glossary dt+dt,dl.simple dt+dt,dl:not([class]) dt+dt{margin-top:0}.field-list dt .classifier:before,.option-list dt .classifier:before,dl.footnote dt .classifier:before,dl.glossary dt .classifier:before,dl.simple dt .classifier:before,dl:not([class]) dt .classifier:before{content:":";margin-left:.2rem;margin-right:.2rem}.field-list dd ul,.field-list dd>p:first-child,.option-list dd ul,.option-list dd>p:first-child,dl.footnote dd ul,dl.footnote dd>p:first-child,dl.glossary dd ul,dl.glossary dd>p:first-child,dl.simple dd ul,dl.simple dd>p:first-child,dl:not([class]) dd ul,dl:not([class]) dd>p:first-child{margin-top:.125rem}.field-list dd ul,.option-list dd ul,dl.footnote dd ul,dl.glossary dd ul,dl.simple dd ul,dl:not([class]) dd ul{margin-bottom:.125rem}.math-wrapper{overflow-x:auto;width:100%}div.math{position:relative;text-align:center}div.math .headerlink,div.math:focus .headerlink{display:none}div.math:hover .headerlink{display:inline-block}div.math span.eqno{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);z-index:1}abbr[title]{cursor:help}.problematic{color:var(--color-problematic)}kbd:not(.compound){background-color:var(--color-background-secondary);border:1px solid var(--color-foreground-border);border-radius:.2rem;box-shadow:0 .0625rem 0 rgba(0,0,0,.2),inset 0 0 0 .125rem var(--color-background-primary);color:var(--color-foreground-primary);display:inline-block;font-size:var(--font-size--small--3);margin:0 .2rem;padding:0 .2rem;vertical-align:text-bottom}blockquote{background:var(--color-background-secondary);border-left:4px solid var(--color-background-border);margin-left:0;margin-right:0;padding:.5rem 1rem}blockquote .attribution{font-weight:600;text-align:right}blockquote.highlights,blockquote.pull-quote{font-size:1.25em}blockquote.epigraph,blockquote.pull-quote{border-left-width:0;border-radius:.5rem}blockquote.highlights{background:transparent;border-left-width:0}p .reference img{vertical-align:middle}p.rubric{font-size:1.125em;font-weight:700;line-height:1.25}dd p.rubric{font-size:var(--font-size--small);font-weight:inherit;line-height:inherit;text-transform:uppercase}article .sidebar{background-color:var(--color-background-secondary);border:1px solid var(--color-background-border);border-radius:.2rem;clear:right;float:right;margin-left:1rem;margin-right:0;width:30%}article .sidebar>*{padding-left:1rem;padding-right:1rem}article .sidebar>ol,article .sidebar>ul{padding-left:2.2rem}article .sidebar .sidebar-title{border-bottom:1px solid var(--color-background-border);font-weight:500;margin:0;padding:.5rem 1rem}.table-wrapper{margin-bottom:.5rem;margin-top:1rem;overflow-x:auto;padding:.2rem .2rem .75rem;width:100%}table.docutils{border-collapse:collapse;border-radius:.2rem;border-spacing:0;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1)}table.docutils th{background:var(--color-table-header-background)}table.docutils td,table.docutils th{border-bottom:1px solid var(--color-table-border);border-left:1px solid var(--color-table-border);border-right:1px solid var(--color-table-border);padding:0 .25rem}table.docutils td p,table.docutils th p{margin:.25rem}table.docutils td:first-child,table.docutils th:first-child{border-left:none}table.docutils td:last-child,table.docutils th:last-child{border-right:none}table.docutils td.text-left,table.docutils th.text-left{text-align:left}table.docutils td.text-right,table.docutils th.text-right{text-align:right}table.docutils td.text-center,table.docutils th.text-center{text-align:center}:target{scroll-margin-top:2.5rem}@media(max-width:67em){:target{scroll-margin-top:calc(2.5rem + var(--header-height))}section>span:target{scroll-margin-top:calc(2.8rem + var(--header-height))}}.headerlink{font-weight:100;-webkit-user-select:none;-moz-user-select:none;user-select:none}.code-block-caption>.headerlink,dl dt>.headerlink,figcaption p>.headerlink,h1>.headerlink,h2>.headerlink,h3>.headerlink,h4>.headerlink,h5>.headerlink,h6>.headerlink,p.caption>.headerlink,table>caption>.headerlink{margin-left:.5rem;visibility:hidden}.code-block-caption:hover>.headerlink,dl dt:hover>.headerlink,figcaption p:hover>.headerlink,h1:hover>.headerlink,h2:hover>.headerlink,h3:hover>.headerlink,h4:hover>.headerlink,h5:hover>.headerlink,h6:hover>.headerlink,p.caption:hover>.headerlink,table>caption:hover>.headerlink{visibility:visible}.code-block-caption>.toc-backref,dl dt>.toc-backref,figcaption p>.toc-backref,h1>.toc-backref,h2>.toc-backref,h3>.toc-backref,h4>.toc-backref,h5>.toc-backref,h6>.toc-backref,p.caption>.toc-backref,table>caption>.toc-backref{color:inherit;text-decoration-line:none}figure:hover>figcaption>p>.headerlink,table:hover>caption>.headerlink{visibility:visible}:target>h1:first-of-type,:target>h2:first-of-type,:target>h3:first-of-type,:target>h4:first-of-type,:target>h5:first-of-type,:target>h6:first-of-type,span:target~h1:first-of-type,span:target~h2:first-of-type,span:target~h3:first-of-type,span:target~h4:first-of-type,span:target~h5:first-of-type,span:target~h6:first-of-type{background-color:var(--color-highlight-on-target)}:target>h1:first-of-type code.literal,:target>h2:first-of-type code.literal,:target>h3:first-of-type code.literal,:target>h4:first-of-type code.literal,:target>h5:first-of-type code.literal,:target>h6:first-of-type code.literal,span:target~h1:first-of-type code.literal,span:target~h2:first-of-type code.literal,span:target~h3:first-of-type code.literal,span:target~h4:first-of-type code.literal,span:target~h5:first-of-type code.literal,span:target~h6:first-of-type code.literal{background-color:transparent}.literal-block-wrapper:target .code-block-caption,.this-will-duplicate-information-and-it-is-still-useful-here li :target,figure:target,table:target>caption{background-color:var(--color-highlight-on-target)}dt:target{background-color:var(--color-highlight-on-target)!important}.footnote-reference:target,.footnote>dt:target+dd{background-color:var(--color-highlight-on-target)}.guilabel{background-color:var(--color-guilabel-background);border:1px solid var(--color-guilabel-border);border-radius:.5em;color:var(--color-guilabel-text);font-size:.9em;padding:0 .3em}footer{display:flex;flex-direction:column;font-size:var(--font-size--small);margin-top:2rem}.bottom-of-page{align-items:center;border-top:1px solid var(--color-background-border);color:var(--color-foreground-secondary);display:flex;justify-content:space-between;line-height:1.5;margin-top:1rem;padding-bottom:1rem;padding-top:1rem}@media(max-width:46em){.bottom-of-page{flex-direction:column-reverse;gap:.25rem;text-align:center}}.bottom-of-page .left-details{font-size:var(--font-size--small)}.bottom-of-page .right-details{display:flex;flex-direction:column;gap:.25rem;text-align:right}.bottom-of-page .icons{display:flex;font-size:1rem;gap:.25rem;justify-content:flex-end}.bottom-of-page .icons a{text-decoration:none}.bottom-of-page .icons img,.bottom-of-page .icons svg{font-size:1.125rem;height:1em;width:1em}.related-pages a{align-items:center;display:flex;text-decoration:none}.related-pages a:hover .page-info .title{color:var(--color-link);text-decoration:underline;text-decoration-color:var(--color-link-underline)}.related-pages a svg.furo-related-icon,.related-pages a svg.furo-related-icon>use{color:var(--color-foreground-border);flex-shrink:0;height:.75rem;margin:0 .5rem;width:.75rem}.related-pages a.next-page{clear:right;float:right;max-width:50%;text-align:right}.related-pages a.prev-page{clear:left;float:left;max-width:50%}.related-pages a.prev-page svg{transform:rotate(180deg)}.page-info{display:flex;flex-direction:column;overflow-wrap:anywhere}.next-page .page-info{align-items:flex-end}.page-info .context{align-items:center;color:var(--color-foreground-muted);display:flex;font-size:var(--font-size--small);padding-bottom:.1rem;text-decoration:none}ul.search{list-style:none;padding-left:0}ul.search li{border-bottom:1px solid var(--color-background-border);padding:1rem 0}[role=main] .highlighted{background-color:var(--color-highlighted-background);color:var(--color-highlighted-text)}.sidebar-brand{display:flex;flex-direction:column;flex-shrink:0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-decoration:none}.sidebar-brand-text{color:var(--color-sidebar-brand-text);font-size:1.5rem;overflow-wrap:break-word}.sidebar-brand-text,.sidebar-logo-container{margin:var(--sidebar-item-spacing-vertical) 0}.sidebar-logo{display:block;margin:0 auto;max-width:100%}.sidebar-search-container{align-items:center;background:var(--color-sidebar-search-background);display:flex;margin-top:var(--sidebar-search-space-above);position:relative}.sidebar-search-container:focus-within,.sidebar-search-container:hover{background:var(--color-sidebar-search-background--focus)}.sidebar-search-container:before{background-color:var(--color-sidebar-search-icon);content:"";height:var(--sidebar-search-icon-size);left:var(--sidebar-item-spacing-horizontal);-webkit-mask-image:var(--icon-search);mask-image:var(--icon-search);position:absolute;width:var(--sidebar-search-icon-size)}.sidebar-search{background:transparent;border:none;border-bottom:1px solid var(--color-sidebar-search-border);border-top:1px solid var(--color-sidebar-search-border);box-sizing:border-box;color:var(--color-sidebar-search-foreground);padding:var(--sidebar-search-input-spacing-vertical) var(--sidebar-search-input-spacing-horizontal) var(--sidebar-search-input-spacing-vertical) calc(var(--sidebar-item-spacing-horizontal) + var(--sidebar-search-input-spacing-horizontal) + var(--sidebar-search-icon-size));width:100%;z-index:10}.sidebar-search:focus{outline:none}.sidebar-search::-moz-placeholder{font-size:var(--sidebar-search-input-font-size)}.sidebar-search::placeholder{font-size:var(--sidebar-search-input-font-size)}#searchbox .highlight-link{margin:0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal) 0;text-align:center}#searchbox .highlight-link a{color:var(--color-sidebar-search-icon);font-size:var(--font-size--small--2)}.sidebar-tree{font-size:var(--sidebar-item-font-size);margin-bottom:var(--sidebar-item-spacing-vertical);margin-top:var(--sidebar-tree-space-above)}.sidebar-tree ul{display:flex;flex-direction:column;list-style:none;margin-bottom:0;margin-top:0;padding:0}.sidebar-tree li{margin:0;position:relative}.sidebar-tree li>ul{margin-left:var(--sidebar-item-spacing-horizontal)}.sidebar-tree .icon,.sidebar-tree .reference{color:var(--color-sidebar-link-text)}.sidebar-tree .reference{box-sizing:border-box;display:inline-block;height:100%;line-height:var(--sidebar-item-line-height);overflow-wrap:anywhere;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-decoration:none;width:100%}.sidebar-tree .reference:hover{background:var(--color-sidebar-item-background--hover);color:var(--color-sidebar-link-text)}.sidebar-tree .reference.external:after{color:var(--color-sidebar-link-text);content:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23607D8B' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' viewBox='0 0 24 24'%3E%3Cpath stroke='none' d='M0 0h24v24H0z'/%3E%3Cpath d='M11 7H6a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2v-5M10 14 20 4M15 4h5v5'/%3E%3C/svg%3E");margin:0 .25rem;vertical-align:middle}.sidebar-tree .current-page>.reference{font-weight:700}.sidebar-tree label{align-items:center;cursor:pointer;display:flex;height:var(--sidebar-item-height);justify-content:center;position:absolute;right:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--sidebar-expander-width)}.sidebar-tree .caption,.sidebar-tree :not(.caption)>.caption-text{color:var(--color-sidebar-caption-text);font-size:var(--sidebar-caption-font-size);font-weight:700;margin:var(--sidebar-caption-space-above) 0 0 0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-transform:uppercase}.sidebar-tree li.has-children>.reference{padding-right:var(--sidebar-expander-width)}.sidebar-tree .toctree-l1>.reference,.sidebar-tree .toctree-l1>label .icon{color:var(--color-sidebar-link-text--top-level)}.sidebar-tree label{background:var(--color-sidebar-item-expander-background)}.sidebar-tree label:hover{background:var(--color-sidebar-item-expander-background--hover)}.sidebar-tree .current>.reference{background:var(--color-sidebar-item-background--current)}.sidebar-tree .current>.reference:hover{background:var(--color-sidebar-item-background--hover)}.toctree-checkbox{display:none;position:absolute}.toctree-checkbox~ul{display:none}.toctree-checkbox~label .icon svg{transform:rotate(90deg)}.toctree-checkbox:checked~ul{display:block}.toctree-checkbox:checked~label .icon svg{transform:rotate(-90deg)}.toc-title-container{padding:var(--toc-title-padding);padding-top:var(--toc-spacing-vertical)}.toc-title{color:var(--color-toc-title-text);font-size:var(--toc-title-font-size);padding-left:var(--toc-spacing-horizontal);text-transform:uppercase}.no-toc{display:none}.toc-tree-container{padding-bottom:var(--toc-spacing-vertical)}.toc-tree{border-left:1px solid var(--color-background-border);font-size:var(--toc-font-size);line-height:1.3;padding-left:calc(var(--toc-spacing-horizontal) - var(--toc-item-spacing-horizontal))}.toc-tree>ul>li:first-child{padding-top:0}.toc-tree>ul>li:first-child>ul{padding-left:0}.toc-tree>ul>li:first-child>a{display:none}.toc-tree ul{list-style-type:none;margin-bottom:0;margin-top:0;padding-left:var(--toc-item-spacing-horizontal)}.toc-tree li{padding-top:var(--toc-item-spacing-vertical)}.toc-tree li.scroll-current>.reference{color:var(--color-toc-item-text--active);font-weight:700}.toc-tree a.reference{color:var(--color-toc-item-text);overflow-wrap:anywhere;text-decoration:none}.toc-scroll{max-height:100vh;overflow-y:scroll}.contents:not(.this-will-duplicate-information-and-it-is-still-useful-here){background:rgba(255,0,0,.25);color:var(--color-problematic)}.contents:not(.this-will-duplicate-information-and-it-is-still-useful-here):before{content:"ERROR: Adding a table of contents in Furo-based documentation is unnecessary, and does not work well with existing styling. Add a 'this-will-duplicate-information-and-it-is-still-useful-here' class, if you want an escape hatch."}.text-align\:left>p{text-align:left}.text-align\:center>p{text-align:center}.text-align\:right>p{text-align:right} +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}@media print{.content-icon-container,.headerlink,.mobile-header,.related-pages{display:none!important}.highlight{border:.1pt solid var(--color-foreground-border)}a,blockquote,dl,ol,p,pre,table,ul{page-break-inside:avoid}caption,figure,h1,h2,h3,h4,h5,h6,img{page-break-after:avoid;page-break-inside:avoid}dl,ol,ul{page-break-before:avoid}}.visually-hidden{height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;clip:rect(0,0,0,0)!important;background:var(--color-background-primary);border:0!important;color:var(--color-foreground-primary);white-space:nowrap!important}:-moz-focusring{outline:auto}body{--font-stack:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;--font-stack--monospace:"SFMono-Regular",Menlo,Consolas,Monaco,Liberation Mono,Lucida Console,monospace;--font-stack--headings:var(--font-stack);--font-size--normal:100%;--font-size--small:87.5%;--font-size--small--2:81.25%;--font-size--small--3:75%;--font-size--small--4:62.5%;--sidebar-caption-font-size:var(--font-size--small--2);--sidebar-item-font-size:var(--font-size--small);--sidebar-search-input-font-size:var(--font-size--small);--toc-font-size:var(--font-size--small--3);--toc-font-size--mobile:var(--font-size--normal);--toc-title-font-size:var(--font-size--small--4);--admonition-font-size:0.8125rem;--admonition-title-font-size:0.8125rem;--code-font-size:var(--font-size--small--2);--api-font-size:var(--font-size--small);--header-height:calc(var(--sidebar-item-line-height) + var(--sidebar-item-spacing-vertical)*4);--header-padding:0.5rem;--sidebar-tree-space-above:1.5rem;--sidebar-caption-space-above:1rem;--sidebar-item-line-height:1rem;--sidebar-item-spacing-vertical:0.5rem;--sidebar-item-spacing-horizontal:1rem;--sidebar-item-height:calc(var(--sidebar-item-line-height) + var(--sidebar-item-spacing-vertical)*2);--sidebar-expander-width:var(--sidebar-item-height);--sidebar-search-space-above:0.5rem;--sidebar-search-input-spacing-vertical:0.5rem;--sidebar-search-input-spacing-horizontal:0.5rem;--sidebar-search-input-height:1rem;--sidebar-search-icon-size:var(--sidebar-search-input-height);--toc-title-padding:0.25rem 0;--toc-spacing-vertical:1.5rem;--toc-spacing-horizontal:1.5rem;--toc-item-spacing-vertical:0.4rem;--toc-item-spacing-horizontal:1rem;--icon-search:url('data:image/svg+xml;charset=utf-8,');--icon-pencil:url('data:image/svg+xml;charset=utf-8,');--icon-abstract:url('data:image/svg+xml;charset=utf-8,');--icon-info:url('data:image/svg+xml;charset=utf-8,');--icon-flame:url('data:image/svg+xml;charset=utf-8,');--icon-question:url('data:image/svg+xml;charset=utf-8,');--icon-warning:url('data:image/svg+xml;charset=utf-8,');--icon-failure:url('data:image/svg+xml;charset=utf-8,');--icon-spark:url('data:image/svg+xml;charset=utf-8,');--color-admonition-title--caution:#ff9100;--color-admonition-title-background--caution:rgba(255,145,0,.2);--color-admonition-title--warning:#ff9100;--color-admonition-title-background--warning:rgba(255,145,0,.2);--color-admonition-title--danger:#ff5252;--color-admonition-title-background--danger:rgba(255,82,82,.2);--color-admonition-title--attention:#ff5252;--color-admonition-title-background--attention:rgba(255,82,82,.2);--color-admonition-title--error:#ff5252;--color-admonition-title-background--error:rgba(255,82,82,.2);--color-admonition-title--hint:#00c852;--color-admonition-title-background--hint:rgba(0,200,82,.2);--color-admonition-title--tip:#00c852;--color-admonition-title-background--tip:rgba(0,200,82,.2);--color-admonition-title--important:#00bfa5;--color-admonition-title-background--important:rgba(0,191,165,.2);--color-admonition-title--note:#00b0ff;--color-admonition-title-background--note:rgba(0,176,255,.2);--color-admonition-title--seealso:#448aff;--color-admonition-title-background--seealso:rgba(68,138,255,.2);--color-admonition-title--admonition-todo:grey;--color-admonition-title-background--admonition-todo:hsla(0,0%,50%,.2);--color-admonition-title:#651fff;--color-admonition-title-background:rgba(101,31,255,.2);--icon-admonition-default:var(--icon-abstract);--color-topic-title:#14b8a6;--color-topic-title-background:rgba(20,184,166,.2);--icon-topic-default:var(--icon-pencil);--color-problematic:#b30000;--color-foreground-primary:#000;--color-foreground-secondary:#5a5c63;--color-foreground-muted:#6b6f76;--color-foreground-border:#878787;--color-background-primary:#fff;--color-background-secondary:#f8f9fb;--color-background-hover:#efeff4;--color-background-hover--transparent:#efeff400;--color-background-border:#eeebee;--color-background-item:#ccc;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#0a4bff;--color-brand-content:#2757dd;--color-brand-visited:#872ee0;--color-api-background:var(--color-background-hover--transparent);--color-api-background-hover:var(--color-background-hover);--color-api-overall:var(--color-foreground-secondary);--color-api-name:var(--color-problematic);--color-api-pre-name:var(--color-problematic);--color-api-paren:var(--color-foreground-secondary);--color-api-keyword:var(--color-foreground-primary);--color-api-added:#21632c;--color-api-added-border:#38a84d;--color-api-changed:#046172;--color-api-changed-border:#06a1bc;--color-api-deprecated:#605706;--color-api-deprecated-border:#f0d90f;--color-api-removed:#b30000;--color-api-removed-border:#ff5c5c;--color-highlight-on-target:#ffc;--color-inline-code-background:var(--color-background-secondary);--color-highlighted-background:#def;--color-highlighted-text:var(--color-foreground-primary);--color-guilabel-background:#ddeeff80;--color-guilabel-border:#bedaf580;--color-guilabel-text:var(--color-foreground-primary);--color-admonition-background:transparent;--color-table-header-background:var(--color-background-secondary);--color-table-border:var(--color-background-border);--color-card-border:var(--color-background-secondary);--color-card-background:transparent;--color-card-marginals-background:var(--color-background-secondary);--color-header-background:var(--color-background-primary);--color-header-border:var(--color-background-border);--color-header-text:var(--color-foreground-primary);--color-sidebar-background:var(--color-background-secondary);--color-sidebar-background-border:var(--color-background-border);--color-sidebar-brand-text:var(--color-foreground-primary);--color-sidebar-caption-text:var(--color-foreground-muted);--color-sidebar-link-text:var(--color-foreground-secondary);--color-sidebar-link-text--top-level:var(--color-brand-primary);--color-sidebar-item-background:var(--color-sidebar-background);--color-sidebar-item-background--current:var( --color-sidebar-item-background );--color-sidebar-item-background--hover:linear-gradient(90deg,var(--color-background-hover--transparent) 0%,var(--color-background-hover) var(--sidebar-item-spacing-horizontal),var(--color-background-hover) 100%);--color-sidebar-item-expander-background:transparent;--color-sidebar-item-expander-background--hover:var( --color-background-hover );--color-sidebar-search-text:var(--color-foreground-primary);--color-sidebar-search-background:var(--color-background-secondary);--color-sidebar-search-background--focus:var(--color-background-primary);--color-sidebar-search-border:var(--color-background-border);--color-sidebar-search-icon:var(--color-foreground-muted);--color-toc-background:var(--color-background-primary);--color-toc-title-text:var(--color-foreground-muted);--color-toc-item-text:var(--color-foreground-secondary);--color-toc-item-text--hover:var(--color-foreground-primary);--color-toc-item-text--active:var(--color-brand-primary);--color-content-foreground:var(--color-foreground-primary);--color-content-background:transparent;--color-link:var(--color-brand-content);--color-link-underline:var(--color-background-border);--color-link--hover:var(--color-brand-content);--color-link-underline--hover:var(--color-foreground-border);--color-link--visited:var(--color-brand-visited);--color-link-underline--visited:var(--color-background-border);--color-link--visited--hover:var(--color-brand-visited);--color-link-underline--visited--hover:var(--color-foreground-border)}.only-light{display:block!important}html body .only-dark{display:none!important}@media not print{body[data-theme=dark]{--color-problematic:#ee5151;--color-foreground-primary:#cfd0d0;--color-foreground-secondary:#9ca0a5;--color-foreground-muted:#81868d;--color-foreground-border:#666;--color-background-primary:#131416;--color-background-secondary:#1a1c1e;--color-background-hover:#1e2124;--color-background-hover--transparent:#1e212400;--color-background-border:#303335;--color-background-item:#444;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#3d94ff;--color-brand-content:#5ca5ff;--color-brand-visited:#b27aeb;--color-highlighted-background:#083563;--color-guilabel-background:#08356380;--color-guilabel-border:#13395f80;--color-api-keyword:var(--color-foreground-secondary);--color-highlight-on-target:#330;--color-api-added:#3db854;--color-api-added-border:#267334;--color-api-changed:#09b0ce;--color-api-changed-border:#056d80;--color-api-deprecated:#b1a10b;--color-api-deprecated-border:#6e6407;--color-api-removed:#ff7575;--color-api-removed-border:#b03b3b;--color-admonition-background:#18181a;--color-card-border:var(--color-background-secondary);--color-card-background:#18181a;--color-card-marginals-background:var(--color-background-hover)}html body[data-theme=dark] .only-light{display:none!important}body[data-theme=dark] .only-dark{display:block!important}@media(prefers-color-scheme:dark){body:not([data-theme=light]){--color-problematic:#ee5151;--color-foreground-primary:#cfd0d0;--color-foreground-secondary:#9ca0a5;--color-foreground-muted:#81868d;--color-foreground-border:#666;--color-background-primary:#131416;--color-background-secondary:#1a1c1e;--color-background-hover:#1e2124;--color-background-hover--transparent:#1e212400;--color-background-border:#303335;--color-background-item:#444;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#3d94ff;--color-brand-content:#5ca5ff;--color-brand-visited:#b27aeb;--color-highlighted-background:#083563;--color-guilabel-background:#08356380;--color-guilabel-border:#13395f80;--color-api-keyword:var(--color-foreground-secondary);--color-highlight-on-target:#330;--color-api-added:#3db854;--color-api-added-border:#267334;--color-api-changed:#09b0ce;--color-api-changed-border:#056d80;--color-api-deprecated:#b1a10b;--color-api-deprecated-border:#6e6407;--color-api-removed:#ff7575;--color-api-removed-border:#b03b3b;--color-admonition-background:#18181a;--color-card-border:var(--color-background-secondary);--color-card-background:#18181a;--color-card-marginals-background:var(--color-background-hover)}html body:not([data-theme=light]) .only-light{display:none!important}body:not([data-theme=light]) .only-dark{display:block!important}}}body[data-theme=auto] .theme-toggle svg.theme-icon-when-auto-light{display:block}@media(prefers-color-scheme:dark){body[data-theme=auto] .theme-toggle svg.theme-icon-when-auto-dark{display:block}body[data-theme=auto] .theme-toggle svg.theme-icon-when-auto-light{display:none}}body[data-theme=dark] .theme-toggle svg.theme-icon-when-dark,body[data-theme=light] .theme-toggle svg.theme-icon-when-light{display:block}body{font-family:var(--font-stack)}code,kbd,pre,samp{font-family:var(--font-stack--monospace)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}article{line-height:1.5}h1,h2,h3,h4,h5,h6{border-radius:.5rem;font-family:var(--font-stack--headings);font-weight:700;line-height:1.25;margin:.5rem -.5rem;padding-left:.5rem;padding-right:.5rem}h1+p,h2+p,h3+p,h4+p,h5+p,h6+p{margin-top:0}h1{font-size:2.5em;margin-bottom:1rem}h1,h2{margin-top:1.75rem}h2{font-size:2em}h3{font-size:1.5em}h4{font-size:1.25em}h5{font-size:1.125em}h6{font-size:1em}small{font-size:80%;opacity:75%}p{margin-bottom:.75rem;margin-top:.5rem}hr.docutils{background-color:var(--color-background-border);border:0;height:1px;margin:2rem 0;padding:0}.centered{text-align:center}a{color:var(--color-link);text-decoration:underline;text-decoration-color:var(--color-link-underline)}a:visited{color:var(--color-link--visited);text-decoration-color:var(--color-link-underline--visited)}a:visited:hover{color:var(--color-link--visited--hover);text-decoration-color:var(--color-link-underline--visited--hover)}a:hover{color:var(--color-link--hover);text-decoration-color:var(--color-link-underline--hover)}a.muted-link{color:inherit}a.muted-link:hover{color:var(--color-link--hover);text-decoration-color:var(--color-link-underline--hover)}a.muted-link:hover:visited{color:var(--color-link--visited--hover);text-decoration-color:var(--color-link-underline--visited--hover)}html{overflow-x:hidden;overflow-y:scroll;scroll-behavior:smooth}.sidebar-scroll,.toc-scroll,article[role=main] *{scrollbar-color:var(--color-foreground-border) transparent;scrollbar-width:thin}.sidebar-scroll::-webkit-scrollbar,.toc-scroll::-webkit-scrollbar,article[role=main] ::-webkit-scrollbar{height:.25rem;width:.25rem}.sidebar-scroll::-webkit-scrollbar-thumb,.toc-scroll::-webkit-scrollbar-thumb,article[role=main] ::-webkit-scrollbar-thumb{background-color:var(--color-foreground-border);border-radius:.125rem}body,html{height:100%}.skip-to-content,body,html{background:var(--color-background-primary);color:var(--color-foreground-primary)}.skip-to-content{border-radius:1rem;left:.25rem;padding:1rem;position:fixed;top:.25rem;transform:translateY(-200%);transition:transform .3s ease-in-out;z-index:40}.skip-to-content:focus-within{transform:translateY(0)}article{background:var(--color-content-background);color:var(--color-content-foreground);overflow-wrap:break-word}.page{display:flex;min-height:100%}.mobile-header{background-color:var(--color-header-background);border-bottom:1px solid var(--color-header-border);color:var(--color-header-text);display:none;height:var(--header-height);width:100%;z-index:10}.mobile-header.scrolled{border-bottom:none;box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2)}.mobile-header .header-center a{color:var(--color-header-text);text-decoration:none}.main{display:flex;flex:1}.sidebar-drawer{background:var(--color-sidebar-background);border-right:1px solid var(--color-sidebar-background-border);box-sizing:border-box;display:flex;justify-content:flex-end;min-width:15em;width:calc(50% - 26em)}.sidebar-container,.toc-drawer{box-sizing:border-box;width:15em}.toc-drawer{background:var(--color-toc-background);padding-right:1rem}.sidebar-sticky,.toc-sticky{display:flex;flex-direction:column;height:min(100%,100vh);height:100vh;position:sticky;top:0}.sidebar-scroll,.toc-scroll{flex-grow:1;flex-shrink:1;overflow:auto;scroll-behavior:smooth}.content{display:flex;flex-direction:column;justify-content:space-between;padding:0 3em;width:46em}.icon{display:inline-block;height:1rem;width:1rem}.icon svg{height:100%;width:100%}.announcement{align-items:center;background-color:var(--color-announcement-background);color:var(--color-announcement-text);display:flex;height:var(--header-height);overflow-x:auto}.announcement+.page{min-height:calc(100% - var(--header-height))}.announcement-content{box-sizing:border-box;min-width:100%;padding:.5rem;text-align:center;white-space:nowrap}.announcement-content a{color:var(--color-announcement-text);text-decoration-color:var(--color-announcement-text)}.announcement-content a:hover{color:var(--color-announcement-text);text-decoration-color:var(--color-link--hover)}.no-js .theme-toggle-container{display:none}.theme-toggle-container{display:flex}.theme-toggle{background:transparent;border:none;cursor:pointer;display:flex;padding:0}.theme-toggle svg{color:var(--color-foreground-primary);display:none;height:1.25rem;width:1.25rem}.theme-toggle-header{align-items:center;display:flex;justify-content:center}.nav-overlay-icon,.toc-overlay-icon{cursor:pointer;display:none}.nav-overlay-icon .icon,.toc-overlay-icon .icon{color:var(--color-foreground-secondary);height:1.5rem;width:1.5rem}.nav-overlay-icon,.toc-header-icon{align-items:center;justify-content:center}.toc-content-icon{height:1.5rem;width:1.5rem}.content-icon-container{display:flex;float:right;gap:.5rem;margin-bottom:1rem;margin-left:1rem;margin-top:1.5rem}.content-icon-container .edit-this-page svg,.content-icon-container .view-this-page svg{color:inherit;height:1.25rem;width:1.25rem}.sidebar-toggle{display:none;position:absolute}.sidebar-toggle[name=__toc]{left:20px}.sidebar-toggle:checked{left:40px}.overlay{background-color:rgba(0,0,0,.54);height:0;opacity:0;position:fixed;top:0;transition:width 0ms,height 0ms,opacity .25s ease-out;width:0}.sidebar-overlay{z-index:20}.toc-overlay{z-index:40}.sidebar-drawer{transition:left .25s ease-in-out;z-index:30}.toc-drawer{transition:right .25s ease-in-out;z-index:50}#__navigation:checked~.sidebar-overlay{height:100%;opacity:1;width:100%}#__navigation:checked~.page .sidebar-drawer{left:0;top:0}#__toc:checked~.toc-overlay{height:100%;opacity:1;width:100%}#__toc:checked~.page .toc-drawer{right:0;top:0}.back-to-top{background:var(--color-background-primary);border-radius:1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 1px 0 hsla(220,9%,46%,.502);display:none;font-size:.8125rem;left:0;margin-left:50%;padding:.5rem .75rem .5rem .5rem;position:fixed;text-decoration:none;top:1rem;transform:translateX(-50%);z-index:10}.back-to-top svg{height:1rem;width:1rem;fill:currentColor;display:inline-block}.back-to-top span{margin-left:.25rem}.show-back-to-top .back-to-top{align-items:center;display:flex}@media(min-width:97em){html{font-size:110%}}@media(max-width:82em){.toc-content-icon{display:flex}.toc-drawer{border-left:1px solid var(--color-background-muted);height:100vh;position:fixed;right:-15em;top:0}.toc-tree{border-left:none;font-size:var(--toc-font-size--mobile)}.sidebar-drawer{width:calc(50% - 18.5em)}}@media(max-width:67em){.content{margin-left:auto;margin-right:auto;padding:0 1em}}@media(max-width:63em){.nav-overlay-icon{display:flex}.sidebar-drawer{height:100vh;left:-15em;position:fixed;top:0;width:15em}.theme-toggle-header,.toc-header-icon{display:flex}.theme-toggle-content,.toc-content-icon{display:none}.mobile-header{align-items:center;display:flex;justify-content:space-between;position:sticky;top:0}.mobile-header .header-left,.mobile-header .header-right{display:flex;height:var(--header-height);padding:0 var(--header-padding)}.mobile-header .header-left label,.mobile-header .header-right label{height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.nav-overlay-icon .icon,.theme-toggle svg{height:1.5rem;width:1.5rem}:target{scroll-margin-top:calc(var(--header-height) + 2.5rem)}.back-to-top{top:calc(var(--header-height) + .5rem)}.page{flex-direction:column;justify-content:center}}@media(max-width:48em){.content{overflow-x:auto;width:100%}}@media(max-width:46em){article[role=main] aside.sidebar{float:none;margin:1rem 0;width:100%}}.admonition,.topic{background:var(--color-admonition-background);border-radius:.2rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1);font-size:var(--admonition-font-size);margin:1rem auto;overflow:hidden;padding:0 .5rem .5rem;page-break-inside:avoid}.admonition>:nth-child(2),.topic>:nth-child(2){margin-top:0}.admonition>:last-child,.topic>:last-child{margin-bottom:0}.admonition p.admonition-title,p.topic-title{font-size:var(--admonition-title-font-size);font-weight:500;line-height:1.3;margin:0 -.5rem .5rem;padding:.4rem .5rem .4rem 2rem;position:relative}.admonition p.admonition-title:before,p.topic-title:before{content:"";height:1rem;left:.5rem;position:absolute;width:1rem}p.admonition-title{background-color:var(--color-admonition-title-background)}p.admonition-title:before{background-color:var(--color-admonition-title);-webkit-mask-image:var(--icon-admonition-default);mask-image:var(--icon-admonition-default);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}p.topic-title{background-color:var(--color-topic-title-background)}p.topic-title:before{background-color:var(--color-topic-title);-webkit-mask-image:var(--icon-topic-default);mask-image:var(--icon-topic-default);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.admonition{border-left:.2rem solid var(--color-admonition-title)}.admonition.caution{border-left-color:var(--color-admonition-title--caution)}.admonition.caution>.admonition-title{background-color:var(--color-admonition-title-background--caution)}.admonition.caution>.admonition-title:before{background-color:var(--color-admonition-title--caution);-webkit-mask-image:var(--icon-spark);mask-image:var(--icon-spark)}.admonition.warning{border-left-color:var(--color-admonition-title--warning)}.admonition.warning>.admonition-title{background-color:var(--color-admonition-title-background--warning)}.admonition.warning>.admonition-title:before{background-color:var(--color-admonition-title--warning);-webkit-mask-image:var(--icon-warning);mask-image:var(--icon-warning)}.admonition.danger{border-left-color:var(--color-admonition-title--danger)}.admonition.danger>.admonition-title{background-color:var(--color-admonition-title-background--danger)}.admonition.danger>.admonition-title:before{background-color:var(--color-admonition-title--danger);-webkit-mask-image:var(--icon-spark);mask-image:var(--icon-spark)}.admonition.attention{border-left-color:var(--color-admonition-title--attention)}.admonition.attention>.admonition-title{background-color:var(--color-admonition-title-background--attention)}.admonition.attention>.admonition-title:before{background-color:var(--color-admonition-title--attention);-webkit-mask-image:var(--icon-warning);mask-image:var(--icon-warning)}.admonition.error{border-left-color:var(--color-admonition-title--error)}.admonition.error>.admonition-title{background-color:var(--color-admonition-title-background--error)}.admonition.error>.admonition-title:before{background-color:var(--color-admonition-title--error);-webkit-mask-image:var(--icon-failure);mask-image:var(--icon-failure)}.admonition.hint{border-left-color:var(--color-admonition-title--hint)}.admonition.hint>.admonition-title{background-color:var(--color-admonition-title-background--hint)}.admonition.hint>.admonition-title:before{background-color:var(--color-admonition-title--hint);-webkit-mask-image:var(--icon-question);mask-image:var(--icon-question)}.admonition.tip{border-left-color:var(--color-admonition-title--tip)}.admonition.tip>.admonition-title{background-color:var(--color-admonition-title-background--tip)}.admonition.tip>.admonition-title:before{background-color:var(--color-admonition-title--tip);-webkit-mask-image:var(--icon-info);mask-image:var(--icon-info)}.admonition.important{border-left-color:var(--color-admonition-title--important)}.admonition.important>.admonition-title{background-color:var(--color-admonition-title-background--important)}.admonition.important>.admonition-title:before{background-color:var(--color-admonition-title--important);-webkit-mask-image:var(--icon-flame);mask-image:var(--icon-flame)}.admonition.note{border-left-color:var(--color-admonition-title--note)}.admonition.note>.admonition-title{background-color:var(--color-admonition-title-background--note)}.admonition.note>.admonition-title:before{background-color:var(--color-admonition-title--note);-webkit-mask-image:var(--icon-pencil);mask-image:var(--icon-pencil)}.admonition.seealso{border-left-color:var(--color-admonition-title--seealso)}.admonition.seealso>.admonition-title{background-color:var(--color-admonition-title-background--seealso)}.admonition.seealso>.admonition-title:before{background-color:var(--color-admonition-title--seealso);-webkit-mask-image:var(--icon-info);mask-image:var(--icon-info)}.admonition.admonition-todo{border-left-color:var(--color-admonition-title--admonition-todo)}.admonition.admonition-todo>.admonition-title{background-color:var(--color-admonition-title-background--admonition-todo)}.admonition.admonition-todo>.admonition-title:before{background-color:var(--color-admonition-title--admonition-todo);-webkit-mask-image:var(--icon-pencil);mask-image:var(--icon-pencil)}.admonition-todo>.admonition-title{text-transform:uppercase}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd{margin-left:2rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd>:first-child{margin-top:.125rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list,dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd>:last-child{margin-bottom:.75rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list>dt{font-size:var(--font-size--small);text-transform:uppercase}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd:empty{margin-bottom:.5rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul{margin-left:-1.2rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul>li>p:nth-child(2){margin-top:0}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul>li>p+p:last-child:empty{margin-bottom:0;margin-top:0}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)>dt{color:var(--color-api-overall)}.sig:not(.sig-inline){background:var(--color-api-background);border-radius:.25rem;font-family:var(--font-stack--monospace);font-size:var(--api-font-size);font-weight:700;margin-left:-.25rem;margin-right:-.25rem;padding:.25rem .5rem .25rem 3em;text-indent:-2.5em;transition:background .1s ease-out}.sig:not(.sig-inline):hover{background:var(--color-api-background-hover)}.sig:not(.sig-inline) a.reference .viewcode-link{font-weight:400;width:4.25rem}em.property{font-style:normal}em.property:first-child{color:var(--color-api-keyword)}.sig-name{color:var(--color-api-name)}.sig-prename{color:var(--color-api-pre-name);font-weight:400}.sig-paren{color:var(--color-api-paren)}.sig-param{font-style:normal}div.deprecated,div.versionadded,div.versionchanged,div.versionremoved{border-left:.1875rem solid;border-radius:.125rem;padding-left:.75rem}div.deprecated p,div.versionadded p,div.versionchanged p,div.versionremoved p{margin-bottom:.125rem;margin-top:.125rem}div.versionadded{border-color:var(--color-api-added-border)}div.versionadded .versionmodified{color:var(--color-api-added)}div.versionchanged{border-color:var(--color-api-changed-border)}div.versionchanged .versionmodified{color:var(--color-api-changed)}div.deprecated{border-color:var(--color-api-deprecated-border)}div.deprecated .versionmodified{color:var(--color-api-deprecated)}div.versionremoved{border-color:var(--color-api-removed-border)}div.versionremoved .versionmodified{color:var(--color-api-removed)}.viewcode-back,.viewcode-link{float:right;text-align:right}.line-block{margin-bottom:.75rem;margin-top:.5rem}.line-block .line-block{margin-bottom:0;margin-top:0;padding-left:1rem}.code-block-caption,article p.caption,table>caption{font-size:var(--font-size--small);text-align:center}.toctree-wrapper.compound .caption,.toctree-wrapper.compound :not(.caption)>.caption-text{font-size:var(--font-size--small);margin-bottom:0;text-align:initial;text-transform:uppercase}.toctree-wrapper.compound>ul{margin-bottom:0;margin-top:0}.sig-inline,code.literal{background:var(--color-inline-code-background);border-radius:.2em;font-size:var(--font-size--small--2);padding:.1em .2em}pre.literal-block .sig-inline,pre.literal-block code.literal{font-size:inherit;padding:0}p .sig-inline,p code.literal{border:1px solid var(--color-background-border)}.sig-inline{font-family:var(--font-stack--monospace)}div[class*=" highlight-"],div[class^=highlight-]{display:flex;margin:1em 0}div[class*=" highlight-"] .table-wrapper,div[class^=highlight-] .table-wrapper,pre{margin:0;padding:0}pre{overflow:auto}article[role=main] .highlight pre{line-height:1.5}.highlight pre,pre.literal-block{font-size:var(--code-font-size);padding:.625rem .875rem}pre.literal-block{background-color:var(--color-code-background);border-radius:.2rem;color:var(--color-code-foreground);margin-bottom:1rem;margin-top:1rem}.highlight{border-radius:.2rem;width:100%}.highlight .gp,.highlight span.linenos{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.highlight .hll{display:block;margin-left:-.875rem;margin-right:-.875rem;padding-left:.875rem;padding-right:.875rem}.code-block-caption{background-color:var(--color-code-background);border-bottom:1px solid;border-radius:.25rem;border-bottom-left-radius:0;border-bottom-right-radius:0;border-color:var(--color-background-border);color:var(--color-code-foreground);display:flex;font-weight:300;padding:.625rem .875rem}.code-block-caption+div[class]{margin-top:0}.code-block-caption+div[class] pre{border-top-left-radius:0;border-top-right-radius:0}.highlighttable{display:block;width:100%}.highlighttable tbody{display:block}.highlighttable tr{display:flex}.highlighttable td.linenos{background-color:var(--color-code-background);border-bottom-left-radius:.2rem;border-top-left-radius:.2rem;color:var(--color-code-foreground);padding:.625rem 0 .625rem .875rem}.highlighttable .linenodiv{box-shadow:-.0625rem 0 var(--color-foreground-border) inset;font-size:var(--code-font-size);padding-right:.875rem}.highlighttable td.code{display:block;flex:1;overflow:hidden;padding:0}.highlighttable td.code .highlight{border-bottom-left-radius:0;border-top-left-radius:0}.highlight span.linenos{box-shadow:-.0625rem 0 var(--color-foreground-border) inset;display:inline-block;margin-right:.875rem;padding-left:0;padding-right:.875rem}.footnote-reference{font-size:var(--font-size--small--4);vertical-align:super}dl.footnote.brackets{color:var(--color-foreground-secondary);display:grid;font-size:var(--font-size--small);grid-template-columns:max-content auto}dl.footnote.brackets dt{margin:0}dl.footnote.brackets dt>.fn-backref{margin-left:.25rem}dl.footnote.brackets dt:after{content:":"}dl.footnote.brackets dt .brackets:before{content:"["}dl.footnote.brackets dt .brackets:after{content:"]"}dl.footnote.brackets dd{margin:0;padding:0 1rem}aside.footnote{color:var(--color-foreground-secondary);font-size:var(--font-size--small)}aside.footnote>span,div.citation>span{float:left;font-weight:500;padding-right:.25rem}aside.footnote>:not(span),div.citation>p{margin-left:2rem}img{box-sizing:border-box;height:auto;max-width:100%}article .figure,article figure{border-radius:.2rem;margin:0}article .figure :last-child,article figure :last-child{margin-bottom:0}article .align-left{clear:left;float:left;margin:0 1rem 1rem}article .align-right{clear:right;float:right;margin:0 1rem 1rem}article .align-center,article .align-default{display:block;margin-left:auto;margin-right:auto;text-align:center}article table.align-default{display:table;text-align:initial}.domainindex-jumpbox,.genindex-jumpbox{border-bottom:1px solid var(--color-background-border);border-top:1px solid var(--color-background-border);padding:.25rem}.domainindex-section h2,.genindex-section h2{margin-bottom:.5rem;margin-top:.75rem}.domainindex-section ul,.genindex-section ul{margin-bottom:0;margin-top:0}ol,ul{margin-bottom:1rem;margin-top:1rem;padding-left:1.2rem}ol li>p:first-child,ul li>p:first-child{margin-bottom:.25rem;margin-top:.25rem}ol li>p:last-child,ul li>p:last-child{margin-top:.25rem}ol li>ol,ol li>ul,ul li>ol,ul li>ul{margin-bottom:.5rem;margin-top:.5rem}ol.arabic{list-style:decimal}ol.loweralpha{list-style:lower-alpha}ol.upperalpha{list-style:upper-alpha}ol.lowerroman{list-style:lower-roman}ol.upperroman{list-style:upper-roman}.simple li>ol,.simple li>ul,.toctree-wrapper li>ol,.toctree-wrapper li>ul{margin-bottom:0;margin-top:0}.field-list dt,.option-list dt,dl.footnote dt,dl.glossary dt,dl.simple dt,dl:not([class]) dt{font-weight:500;margin-top:.25rem}.field-list dt+dt,.option-list dt+dt,dl.footnote dt+dt,dl.glossary dt+dt,dl.simple dt+dt,dl:not([class]) dt+dt{margin-top:0}.field-list dt .classifier:before,.option-list dt .classifier:before,dl.footnote dt .classifier:before,dl.glossary dt .classifier:before,dl.simple dt .classifier:before,dl:not([class]) dt .classifier:before{content:":";margin-left:.2rem;margin-right:.2rem}.field-list dd ul,.field-list dd>p:first-child,.option-list dd ul,.option-list dd>p:first-child,dl.footnote dd ul,dl.footnote dd>p:first-child,dl.glossary dd ul,dl.glossary dd>p:first-child,dl.simple dd ul,dl.simple dd>p:first-child,dl:not([class]) dd ul,dl:not([class]) dd>p:first-child{margin-top:.125rem}.field-list dd ul,.option-list dd ul,dl.footnote dd ul,dl.glossary dd ul,dl.simple dd ul,dl:not([class]) dd ul{margin-bottom:.125rem}.math-wrapper{overflow-x:auto;width:100%}div.math{position:relative;text-align:center}div.math .headerlink,div.math:focus .headerlink{display:none}div.math:hover .headerlink{display:inline-block}div.math span.eqno{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);z-index:1}abbr[title]{cursor:help}.problematic{color:var(--color-problematic)}kbd:not(.compound){background-color:var(--color-background-secondary);border:1px solid var(--color-foreground-border);border-radius:.2rem;box-shadow:0 .0625rem 0 rgba(0,0,0,.2),inset 0 0 0 .125rem var(--color-background-primary);color:var(--color-foreground-primary);display:inline-block;font-size:var(--font-size--small--3);margin:0 .2rem;padding:0 .2rem;vertical-align:text-bottom}blockquote{background:var(--color-background-secondary);border-left:4px solid var(--color-background-border);margin-left:0;margin-right:0;padding:.5rem 1rem}blockquote .attribution{font-weight:600;text-align:right}blockquote.highlights,blockquote.pull-quote{font-size:1.25em}blockquote.epigraph,blockquote.pull-quote{border-left-width:0;border-radius:.5rem}blockquote.highlights{background:transparent;border-left-width:0}p .reference img{vertical-align:middle}p.rubric{font-size:1.125em;font-weight:700;line-height:1.25}dd p.rubric{font-size:var(--font-size--small);font-weight:inherit;line-height:inherit;text-transform:uppercase}article .sidebar{background-color:var(--color-background-secondary);border:1px solid var(--color-background-border);border-radius:.2rem;clear:right;float:right;margin-left:1rem;margin-right:0;width:30%}article .sidebar>*{padding-left:1rem;padding-right:1rem}article .sidebar>ol,article .sidebar>ul{padding-left:2.2rem}article .sidebar .sidebar-title{border-bottom:1px solid var(--color-background-border);font-weight:500;margin:0;padding:.5rem 1rem}[role=main] .table-wrapper.container{margin-bottom:.5rem;margin-top:1rem;overflow-x:auto;padding:.2rem .2rem .75rem;width:100%}table.docutils{border-collapse:collapse;border-radius:.2rem;border-spacing:0;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1)}table.docutils th{background:var(--color-table-header-background)}table.docutils td,table.docutils th{border-bottom:1px solid var(--color-table-border);border-left:1px solid var(--color-table-border);border-right:1px solid var(--color-table-border);padding:0 .25rem}table.docutils td p,table.docutils th p{margin:.25rem}table.docutils td:first-child,table.docutils th:first-child{border-left:none}table.docutils td:last-child,table.docutils th:last-child{border-right:none}table.docutils td.text-left,table.docutils th.text-left{text-align:left}table.docutils td.text-right,table.docutils th.text-right{text-align:right}table.docutils td.text-center,table.docutils th.text-center{text-align:center}:target{scroll-margin-top:2.5rem}@media(max-width:67em){:target{scroll-margin-top:calc(2.5rem + var(--header-height))}section>span:target{scroll-margin-top:calc(2.8rem + var(--header-height))}}.headerlink{font-weight:100;-webkit-user-select:none;-moz-user-select:none;user-select:none}.code-block-caption>.headerlink,dl dt>.headerlink,figcaption p>.headerlink,h1>.headerlink,h2>.headerlink,h3>.headerlink,h4>.headerlink,h5>.headerlink,h6>.headerlink,p.caption>.headerlink,table>caption>.headerlink{margin-left:.5rem;visibility:hidden}.code-block-caption:hover>.headerlink,dl dt:hover>.headerlink,figcaption p:hover>.headerlink,h1:hover>.headerlink,h2:hover>.headerlink,h3:hover>.headerlink,h4:hover>.headerlink,h5:hover>.headerlink,h6:hover>.headerlink,p.caption:hover>.headerlink,table>caption:hover>.headerlink{visibility:visible}.code-block-caption>.toc-backref,dl dt>.toc-backref,figcaption p>.toc-backref,h1>.toc-backref,h2>.toc-backref,h3>.toc-backref,h4>.toc-backref,h5>.toc-backref,h6>.toc-backref,p.caption>.toc-backref,table>caption>.toc-backref{color:inherit;text-decoration-line:none}figure:hover>figcaption>p>.headerlink,table:hover>caption>.headerlink{visibility:visible}:target>h1:first-of-type,:target>h2:first-of-type,:target>h3:first-of-type,:target>h4:first-of-type,:target>h5:first-of-type,:target>h6:first-of-type,span:target~h1:first-of-type,span:target~h2:first-of-type,span:target~h3:first-of-type,span:target~h4:first-of-type,span:target~h5:first-of-type,span:target~h6:first-of-type{background-color:var(--color-highlight-on-target)}:target>h1:first-of-type code.literal,:target>h2:first-of-type code.literal,:target>h3:first-of-type code.literal,:target>h4:first-of-type code.literal,:target>h5:first-of-type code.literal,:target>h6:first-of-type code.literal,span:target~h1:first-of-type code.literal,span:target~h2:first-of-type code.literal,span:target~h3:first-of-type code.literal,span:target~h4:first-of-type code.literal,span:target~h5:first-of-type code.literal,span:target~h6:first-of-type code.literal{background-color:transparent}.literal-block-wrapper:target .code-block-caption,.this-will-duplicate-information-and-it-is-still-useful-here li :target,figure:target,table:target>caption{background-color:var(--color-highlight-on-target)}dt:target{background-color:var(--color-highlight-on-target)!important}.footnote-reference:target,.footnote>dt:target+dd{background-color:var(--color-highlight-on-target)}.guilabel{background-color:var(--color-guilabel-background);border:1px solid var(--color-guilabel-border);border-radius:.5em;color:var(--color-guilabel-text);font-size:.9em;padding:0 .3em}footer{display:flex;flex-direction:column;font-size:var(--font-size--small);margin-top:2rem}.bottom-of-page{align-items:center;border-top:1px solid var(--color-background-border);color:var(--color-foreground-secondary);display:flex;justify-content:space-between;line-height:1.5;margin-top:1rem;padding-bottom:1rem;padding-top:1rem}@media(max-width:46em){.bottom-of-page{flex-direction:column-reverse;gap:.25rem;text-align:center}}.bottom-of-page .left-details{font-size:var(--font-size--small)}.bottom-of-page .right-details{display:flex;flex-direction:column;gap:.25rem;text-align:right}.bottom-of-page .icons{display:flex;font-size:1rem;gap:.25rem;justify-content:flex-end}.bottom-of-page .icons a{text-decoration:none}.bottom-of-page .icons img,.bottom-of-page .icons svg{font-size:1.125rem;height:1em;width:1em}.related-pages a{align-items:center;display:flex;text-decoration:none}.related-pages a:hover .page-info .title{color:var(--color-link);text-decoration:underline;text-decoration-color:var(--color-link-underline)}.related-pages a svg.furo-related-icon,.related-pages a svg.furo-related-icon>use{color:var(--color-foreground-border);flex-shrink:0;height:.75rem;margin:0 .5rem;width:.75rem}.related-pages a.next-page{clear:right;float:right;max-width:50%;text-align:right}.related-pages a.prev-page{clear:left;float:left;max-width:50%}.related-pages a.prev-page svg{transform:rotate(180deg)}.page-info{display:flex;flex-direction:column;overflow-wrap:anywhere}.next-page .page-info{align-items:flex-end}.page-info .context{align-items:center;color:var(--color-foreground-muted);display:flex;font-size:var(--font-size--small);padding-bottom:.1rem;text-decoration:none}ul.search{list-style:none;padding-left:0}ul.search li{border-bottom:1px solid var(--color-background-border);padding:1rem 0}[role=main] .highlighted{background-color:var(--color-highlighted-background);color:var(--color-highlighted-text)}.sidebar-brand{display:flex;flex-direction:column;flex-shrink:0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-decoration:none}.sidebar-brand-text{color:var(--color-sidebar-brand-text);font-size:1.5rem;overflow-wrap:break-word}.sidebar-brand-text,.sidebar-logo-container{margin:var(--sidebar-item-spacing-vertical) 0}.sidebar-logo{display:block;margin:0 auto;max-width:100%}.sidebar-search-container{align-items:center;background:var(--color-sidebar-search-background);display:flex;margin-top:var(--sidebar-search-space-above);position:relative}.sidebar-search-container:focus-within,.sidebar-search-container:hover{background:var(--color-sidebar-search-background--focus)}.sidebar-search-container:before{background-color:var(--color-sidebar-search-icon);content:"";height:var(--sidebar-search-icon-size);left:var(--sidebar-item-spacing-horizontal);-webkit-mask-image:var(--icon-search);mask-image:var(--icon-search);position:absolute;width:var(--sidebar-search-icon-size)}.sidebar-search{background:transparent;border:none;border-bottom:1px solid var(--color-sidebar-search-border);border-top:1px solid var(--color-sidebar-search-border);box-sizing:border-box;color:var(--color-sidebar-search-foreground);padding:var(--sidebar-search-input-spacing-vertical) var(--sidebar-search-input-spacing-horizontal) var(--sidebar-search-input-spacing-vertical) calc(var(--sidebar-item-spacing-horizontal) + var(--sidebar-search-input-spacing-horizontal) + var(--sidebar-search-icon-size));width:100%;z-index:10}.sidebar-search:focus{outline:none}.sidebar-search::-moz-placeholder{font-size:var(--sidebar-search-input-font-size)}.sidebar-search::placeholder{font-size:var(--sidebar-search-input-font-size)}#searchbox .highlight-link{margin:0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal) 0;text-align:center}#searchbox .highlight-link a{color:var(--color-sidebar-search-icon);font-size:var(--font-size--small--2)}.sidebar-tree{font-size:var(--sidebar-item-font-size);margin-bottom:var(--sidebar-item-spacing-vertical);margin-top:var(--sidebar-tree-space-above)}.sidebar-tree ul{display:flex;flex-direction:column;list-style:none;margin-bottom:0;margin-top:0;padding:0}.sidebar-tree li{margin:0;position:relative}.sidebar-tree li>ul{margin-left:var(--sidebar-item-spacing-horizontal)}.sidebar-tree .icon,.sidebar-tree .reference{color:var(--color-sidebar-link-text)}.sidebar-tree .reference{box-sizing:border-box;display:inline-block;height:100%;line-height:var(--sidebar-item-line-height);overflow-wrap:anywhere;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-decoration:none;width:100%}.sidebar-tree .reference:hover{background:var(--color-sidebar-item-background--hover);color:var(--color-sidebar-link-text)}.sidebar-tree .reference.external:after{color:var(--color-sidebar-link-text);content:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23607D8B' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' viewBox='0 0 24 24'%3E%3Cpath stroke='none' d='M0 0h24v24H0z'/%3E%3Cpath d='M11 7H6a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2v-5M10 14 20 4M15 4h5v5'/%3E%3C/svg%3E");margin:0 .25rem;vertical-align:middle}.sidebar-tree .current-page>.reference{font-weight:700}.sidebar-tree label{align-items:center;cursor:pointer;display:flex;height:var(--sidebar-item-height);justify-content:center;position:absolute;right:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--sidebar-expander-width)}.sidebar-tree .caption,.sidebar-tree :not(.caption)>.caption-text{color:var(--color-sidebar-caption-text);font-size:var(--sidebar-caption-font-size);font-weight:700;margin:var(--sidebar-caption-space-above) 0 0 0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-transform:uppercase}.sidebar-tree li.has-children>.reference{padding-right:var(--sidebar-expander-width)}.sidebar-tree .toctree-l1>.reference,.sidebar-tree .toctree-l1>label .icon{color:var(--color-sidebar-link-text--top-level)}.sidebar-tree label{background:var(--color-sidebar-item-expander-background)}.sidebar-tree label:hover{background:var(--color-sidebar-item-expander-background--hover)}.sidebar-tree .current>.reference{background:var(--color-sidebar-item-background--current)}.sidebar-tree .current>.reference:hover{background:var(--color-sidebar-item-background--hover)}.toctree-checkbox{display:none;position:absolute}.toctree-checkbox~ul{display:none}.toctree-checkbox~label .icon svg{transform:rotate(90deg)}.toctree-checkbox:checked~ul{display:block}.toctree-checkbox:checked~label .icon svg{transform:rotate(-90deg)}.toc-title-container{padding:var(--toc-title-padding);padding-top:var(--toc-spacing-vertical)}.toc-title{color:var(--color-toc-title-text);font-size:var(--toc-title-font-size);padding-left:var(--toc-spacing-horizontal);text-transform:uppercase}.no-toc{display:none}.toc-tree-container{padding-bottom:var(--toc-spacing-vertical)}.toc-tree{border-left:1px solid var(--color-background-border);font-size:var(--toc-font-size);line-height:1.3;padding-left:calc(var(--toc-spacing-horizontal) - var(--toc-item-spacing-horizontal))}.toc-tree>ul>li:first-child{padding-top:0}.toc-tree>ul>li:first-child>ul{padding-left:0}.toc-tree>ul>li:first-child>a{display:none}.toc-tree ul{list-style-type:none;margin-bottom:0;margin-top:0;padding-left:var(--toc-item-spacing-horizontal)}.toc-tree li{padding-top:var(--toc-item-spacing-vertical)}.toc-tree li.scroll-current>.reference{color:var(--color-toc-item-text--active);font-weight:700}.toc-tree a.reference{color:var(--color-toc-item-text);overflow-wrap:anywhere;text-decoration:none}.toc-scroll{max-height:100vh;overflow-y:scroll}.contents:not(.this-will-duplicate-information-and-it-is-still-useful-here){background:rgba(255,0,0,.25);color:var(--color-problematic)}.contents:not(.this-will-duplicate-information-and-it-is-still-useful-here):before{content:"ERROR: Adding a table of contents in Furo-based documentation is unnecessary, and does not work well with existing styling. Add a 'this-will-duplicate-information-and-it-is-still-useful-here' class, if you want an escape hatch."}.text-align\:left>p{text-align:left}.text-align\:center>p{text-align:center}.text-align\:right>p{text-align:right} /*# sourceMappingURL=furo.css.map*/ \ No newline at end of file diff --git a/_static/styles/furo.css.map b/_static/styles/furo.css.map index 0ee3acbe..3ecc3715 100644 --- a/_static/styles/furo.css.map +++ b/_static/styles/furo.css.map @@ -1 +1 @@ -{"version":3,"file":"styles/furo.css","mappings":"AAAA,2EAA2E,CAU3E,KACE,gBAAiB,CACjB,6BACF,CASA,KACE,QACF,CAMA,KACE,aACF,CAOA,GACE,aAAc,CACd,cACF,CAUA,GACE,sBAAuB,CACvB,QAAS,CACT,gBACF,CAOA,IACE,+BAAiC,CACjC,aACF,CASA,EACE,4BACF,CAOA,YACE,kBAAmB,CACnB,yBAA0B,CAC1B,gCACF,CAMA,SAEE,kBACF,CAOA,cAGE,+BAAiC,CACjC,aACF,CAeA,QAEE,aAAc,CACd,aAAc,CACd,iBAAkB,CAClB,uBACF,CAEA,IACE,aACF,CAEA,IACE,SACF,CASA,IACE,iBACF,CAUA,sCAKE,mBAAoB,CACpB,cAAe,CACf,gBAAiB,CACjB,QACF,CAOA,aAEE,gBACF,CAOA,cAEE,mBACF,CAMA,gDAIE,yBACF,CAMA,wHAIE,iBAAkB,CAClB,SACF,CAMA,4GAIE,6BACF,CAMA,SACE,0BACF,CASA,OACE,qBAAsB,CACtB,aAAc,CACd,aAAc,CACd,cAAe,CACf,SAAU,CACV,kBACF,CAMA,SACE,uBACF,CAMA,SACE,aACF,CAOA,6BAEE,qBAAsB,CACtB,SACF,CAMA,kFAEE,WACF,CAOA,cACE,4BAA6B,CAC7B,mBACF,CAMA,yCACE,uBACF,CAOA,6BACE,yBAA0B,CAC1B,YACF,CASA,QACE,aACF,CAMA,QACE,iBACF,CAiBA,kBACE,YACF,CCvVA,aAcE,kEACE,uBAOF,WACE,iDAMF,gCACE,wBAEF,qCAEE,uBADA,uBACA,CAEF,SACE,wBAtBA,CCpBJ,iBAGE,qBAEA,sBACA,0BAFA,oBAHA,4BACA,oBAKA,6BAIA,2CAFA,mBACA,sCAFA,4BAGA,CAEF,gBACE,aCTF,KCGE,mHAEA,wGAEA,wCAAyC,CAEzC,wBAAyB,CACzB,wBAAyB,CACzB,4BAA6B,CAC7B,yBAA0B,CAC1B,2BAA4B,CAG5B,sDAAuD,CACvD,gDAAiD,CACjD,wDAAyD,CAGzD,0CAA2C,CAC3C,gDAAiD,CACjD,gDAAiD,CAKjD,gCAAiC,CACjC,sCAAuC,CAGvC,2CAA4C,CAG5C,uCAAwC,CCjCxC,+FAGA,uBAAwB,CAGxB,iCAAkC,CAClC,kCAAmC,CAEnC,+BAAgC,CAChC,sCAAuC,CACvC,sCAAuC,CACvC,qGAIA,mDAAoD,CAEpD,mCAAoC,CACpC,8CAA+C,CAC/C,gDAAiD,CACjD,kCAAmC,CACnC,6DAA8D,CAG9D,6BAA8B,CAC9B,6BAA8B,CAC9B,+BAAgC,CAChC,kCAAmC,CACnC,kCAAmC,CCPjC,+jBCYA,iqCAZF,iaCVA,8KAOA,4SAWA,4SAUA,0CACA,gEAGA,0CAGA,gEAGA,yCACA,+DAIA,4CACA,kEAGA,wCAUA,8DACA,uCAGA,4DACA,sCACA,2DAGA,4CACA,kEACA,uCAGA,6DACA,2GAGA,sHAEA,yFAEA,+CACA,+EAGA,4MAOA,gCACA,sHAIA,kCACA,uEACA,gEACA,4DACA,kEAGA,2DACA,sDACA,0CACA,8CACA,wGAGA,0BACA,iCAGA,+DACA,+BACA,sCACA,+DAEA,kGACA,oCACA,yDACA,sCL7HF,kCAEA,sDAIA,0CK2HE,kEAIA,oDACA,sDAGA,oCACA,oEAEA,0DACA,qDAIA,oDACA,6DAIA,iEAIA,2DAIA,2DAGA,4DACA,gEAIA,gEAEA,gFAEA,oNASA,qDLxKE,gFAGE,4DAIF,oEKkHF,yEAEA,6DAGA,0DAEA,uDACA,qDACA,wDAIA,6DAIA,yDACA,2DAIA,uCAGA,wCACA,sDAGA,+CAGA,6DAEA,iDACA,+DAEA,wDAEA,sEAMA,0DACA,sBACA,mEL9JI,wEAEA,iCACE,+BAMN,wEAGA,iCACE,kFAEA,uEAIF,gEACE,8BAGF,qEMvDA,sCAKA,wFAKA,iCAIA,0BAWA,iCACA,4BACA,mCAGA,+BAEA,sCACA,4BAEA,mCAEA,sCAKA,sDAIA,gCAEA,gEAQF,wCAME,sBACA,kCAKA,uBAEA,gEAIA,2BAIA,mCAEA,qCACA,iCAGE,+BACA,wEAEE,iCACA,kFAGF,6BACA,0CACF,kCAEE,8BACE,8BACA,qEAEE,sCACA,wFCnFN,iCAGF,2DAEE,4BACA,oCAGA,mIAGA,4HACE,gEAMJ,+CAGE,sBACA,yCAEF,uBAEE,sEAKA,gDACA,kEAGA,iFAGE,YAGF,EACA,4HAQF,mBACE,6BACA,mBACA,wCACA,wCACA,2CAIA,eAGA,mBAKE,mBAGA,CAJA,uCACA,iBAFF,gBACE,CAKE,mBACA,mBAGJ,oBAIF,+BAGE,kDACA,OADA,kBAGA,CAFA,gBAEA,mBACA,oBAEA,sCACA,OAGF,cAHE,WAGF,GAEE,oBACA,CAHF,gBAGE,CC9Gc,YDiHd,+CAIF,SAEE,CAPF,UACE,wBAMA,4BAEA,GAGA,uBACA,CAJA,yBAGA,CACA,iDAKA,2CAGA,2DAQA,iBACA,uCAGA,kEAKE,SAKJ,8BACE,yDACA,2BAEA,oBACA,8BAEA,yDAEE,4BAEJ,uCACE,CACA,iEAGA,CAEA,wCACE,uBACA,kDAEA,0DAEE,CAJF,oBAIE,0GAWN,aACE,CAHA,YAGA,4HASA,+CAGF,sBACE,WACA,WAQA,4BAFF,0CAEE,CARA,qCAsBA,CAdA,iBAEA,kBACE,aADF,4BACE,WAMF,2BAGF,qCAEE,CAXE,UAWF,+BAGA,uBAEA,SAEA,0CAIE,CANF,qCAEA,CAIE,2DACE,gBAIN,+CAIA,CAEA,kDAKE,CAPF,8BAEA,CAOE,YACA,CAjBI,2BAGN,CAHM,WAcJ,UAGA,CAEA,2GAIF,iCAGE,8BAIA,qBACA,oBACF,uBAOI,0CAIA,CATF,6DAKE,CALF,sBASE,qCAKF,CACE,cACA,CAFF,sBAEE,CACA,+BAEA,qBAEE,WAKN,aACE,sCAGA,mBAEA,6BAMA,kCACA,CAJA,sBACA,aAEA,CAJA,eACA,MAIA,2FAEA,UAGA,YACA,sBACE,8BAEA,CALF,aACA,WAIE,OACA,oBAEF,uBACE,WAEF,YAFE,UAEF,eAgBA,kBACE,CAhBA,qDAQF,qCAGF,CAGI,YACF,CAJF,2BAGI,CAEA,eACA,qBAGA,mEAEA,qBACA,8BAIA,kBADF,kBACE,yBAEJ,oCAGI,qDAGA,CACA,8BAMF,oCACE,+CACF,gCAIA,YACE,yBAGA,2BAGA,mCAFA,cAEA,CAHA,YACA,CAEA,4BAIE,qCACA,cAFA,4BAEA,wCACE,CADF,aACE,sBAEA,mDAEN,CAFM,YAEN,iDAEE,uCAKA,+DAIA,kBAIA,CAJA,sBAIA,mBACA,0BACF,yBAEE,YAEJ,CAFI,YAQJ,UAFI,kBAEJ,CAJE,gBAEE,CAJJ,iBAMA,yFAOI,aEjbJ,eACE,cACA,iBAEA,aAFA,iBAEA,6BAEA,kCACA,mBAKA,gCAGA,CARA,QAEA,CAGA,UALA,qBAEA,qDAGA,CALA,OAQA,4BACE,cAGF,2BACE,gCAEJ,CAHE,UAGF,8CAGE,CAHF,UAGE,wCAGA,qBACA,CAFA,UAEA,6CAGA,yCAIA,sBAHA,UAGA,kCACE,OACA,CADA,KACA,cASA,2CAFF,kBACA,CACE,wEACA,CARA,YACA,CAKF,mBAFF,MACE,CAIE,gBAJF,iCADF,eALI,oBACA,CAKF,SAIE,2BADA,UACA,kBAEJ,WACE,kDACA,mBACE,kDACA,0EACA,uDAKJ,aACE,mDAII,CAJJ,6CAII,2BACA,uCACE,kEACA,+CACE,aACA,WADA,oBACA,CADA,UACA,4FALJ,4BAEE,mBADF,0CACE,CAFF,eACA,MACE,0DACA,wCACE,sGACA,WANN,yBACE,uCACA,CAFF,UAEE,2CACE,wFACA,cACE,kEACA,mEANN,yBACE,4DACA,sBACE,+EAEE,iEACA,qEANN,sCACE,CAGE,iBAHF,gBAGE,qBACE,CAJJ,uBACA,gDACE,wDACA,6DAHF,2CACA,CADA,gBACA,eACE,CAGE,sBANN,8BACE,CAII,iBAFF,4DACA,WACE,YADF,uCACE,6EACA,2BANN,8CACE,kDACA,0CACE,8BACA,yFACE,sBACA,sFALJ,mEACA,sBACE,kEACA,6EACE,uCACA,kEALJ,qGAEE,kEACA,6EACE,uCACA,kEALJ,8CACA,uDACE,sEACA,2EACE,sCACA,iEALJ,mGACA,qCACE,oDACA,0DACE,6GACA,gDAGR,yDCrEA,sEACE,CACA,6GACE,gEACF,iGAIF,wFACE,qDAGA,mGAEE,2CAEF,4FACE,gCACF,wGACE,8DAEE,6FAIA,iJAKN,6GACE,gDAKF,yDACA,qCAGA,6BACA,kBACA,qDAKA,oCAEA,+DAGA,2CAGE,oDAIA,oEAEE,qBAGJ,wDAEE,uCAEF,kEAGA,8CAEA,uDAIF,gEAIE,6BACA,gEAIA,+CACE,0EAIF,sDAEE,+DAGF,sCACA,8BACE,oCAEJ,wBACE,4FAEE,gBAEJ,yGAGI,kBAGJ,CCnHE,2MCFF,oBAGE,wGAKA,iCACE,CADF,wBACE,8GAQA,mBCjBJ,2GAIE,mBACA,6HAMA,YACE,mIAYF,eACA,CAHF,YAGE,4FAGE,8BAKF,uBAkBE,sCACA,CADA,qBAbA,wCAIA,CALF,8BACE,CADF,gBAKE,wCACA,CAOA,kDACA,CACA,kCAKF,6BAGA,4CACE,kDACA,eAGF,cACE,aACA,iBACA,yBACA,8BACA,WAGJ,2BACE,cAGA,+BACA,CAHA,eAGA,wCACA,YACA,iBACA,uEAGA,0BACA,2CAEA,8EAGI,qBACA,CAFF,kBAEE,kBAGN,0CAGE,mCAGA,4BAIA,gEACE,qCACA,8BAEA,gBACA,+CACA,iCAEF,iCAEE,gEACA,qCAGF,8BAEE,+BAIA,yCAEE,qBADA,gBACA,yBAKF,eACA,CAFF,YACE,CACA,iBACA,qDAEA,mDCvIJ,2FAOE,iCACA,CAEA,eACA,CAHA,kBAEA,CAFA,wBAGA,8BACA,eACE,CAFF,YAEE,0BACA,8CAGA,oBACE,oCAGA,kBACE,8DAEA,iBAEN,UACE,8BAIJ,+CAEE,qDAEF,kDAIE,YAEF,CAFE,YAEF,CCpCE,mFADA,kBAKE,CAJF,IAGA,aACE,mCAGA,iDACE,+BAEJ,wBAEE,mBAMA,6CAEF,CAJE,mBAEA,CAEF,kCAGE,CARF,kBACE,CAHA,eAUA,YACA,mBACA,CADA,UACA,wCC9BF,oBDkCE,wBCnCJ,uCACE,+BACA,+DACA,sBAGA,qBCDA,6CAIE,CAPF,uBAGA,CDGE,oBACF,yDAEE,CCDE,2CAGF,CAJA,kCACE,CDJJ,YACE,CAIA,eCTF,CDKE,uBCMA,gCACE,YAEF,oCAEE,wBACA,0BAIF,iBAEA,cADF,UACE,uBAEA,iCAEA,wCAEA,6CAMA,CAYF,gCATI,4BASJ,CAZE,mCAEE,iCAUJ,4BAGE,4DADA,+BACA,CAHF,qBAGE,sCACE,OAEF,iBAHA,SAGA,iHACE,2DAKF,CANA,8EAMA,uSAEE,kBAEF,+FACE,yCCjEJ,WACA,yBAGA,uBACA,gBAEA,uCAIA,CAJA,iCAIA,uCAGA,UACE,gBACA,qBAEA,0CClBJ,gBACE,KAGF,qBACE,YAGF,CAHE,cAGF,gCAEE,mBACA,iEAEA,oCACA,wCAEA,sBACA,WAEA,CAFA,YAEA,8EAEA,mCAFA,iBAEA,6BAIA,wEAKA,sDAIE,CARF,mDAIA,CAIE,cAEF,8CAIA,oBAFE,iBAEF,8CAGE,eAEF,CAFE,YAEF,OAEE,kBAGJ,CAJI,eACA,CAFF,mBAKF,yCCjDE,oBACA,CAFA,iBAEA,uCAKE,iBACA,qCAGA,mBCZJ,CDWI,gBCXJ,6BAEE,eACA,sBAGA,eAEA,sBACA,oDACA,iGAMA,gBAFE,YAEF,8FAME,iJClBF,YACA,gNAUE,6BAEF,oTAcI,kBACF,gHAIA,qBACE,eACF,qDACE,kBACF,6DACE,4BCxCJ,oBAEF,qCAEI,+CAGF,uBACE,uDAGJ,oBAiBI,kDACF,CAhBA,+CAaA,CAbA,oBAaA,0FAEE,CAFF,gGAdA,cACA,iBAaA,0BAGA,mQAIA,oNAEE,iBAGJ,CAHI,gBAFF,gBAKF,8CAYI,CAZJ,wCAYI,sVACE,iCAGA,uEAHA,QAGA,qXAKJ,iDAGF,CARM,+CACE,iDAIN,CALI,gBAQN,mHACE,gBAGF,2DACE,0EAOA,0EAGF,gBAEE,6DC/EA,kDACA,gCACA,qDAGA,qBACA,qDCFA,cACA,eAEA,yBAGF,sBAEE,iBACA,sNAWA,iBACE,kBACA,wRAgBA,kBAEA,iOAgBA,uCACE,uEAEA,kBAEF,qUAuBE,iDAIJ,CACA,geCxFF,4BAEE,CAQA,6JACA,iDAIA,sEAGA,mDAOF,iDAGE,4DAIA,8CACA,qDAEE,eAFF,cAEE,oBAEF,uBAFE,kCAGA,eACA,iBACA,mBAIA,mDACA,CAHA,uCAEA,CAJA,0CACA,CAIA,gBAJA,gBACA,oBADA,gBAIA,wBAEJ,gBAGE,6BACA,YAHA,iBAGA,gCACA,iEAEA,6CACA,sDACA,0BADA,wBACA,0BACA,oIAIA,mBAFA,YAEA,qBACA,0CAIE,uBAEF,CAHA,yBACE,CAEF,iDACE,mFAKJ,oCACE,CANE,aAKJ,CACE,qEAIA,YAFA,WAEA,CAHA,aACA,CAEA,gBACE,4BACA,sBADA,aACA,gCAMF,oCACA,yDACA,2CAEA,qBAGE,kBAEA,CACA,mCAIF,CARE,YACA,CAOF,iCAEE,CAPA,oBACA,CAQA,oBACE,uDAEJ,sDAGA,CAHA,cAGA,0BACE,oDAIA,oCACA,4BACA,sBAGA,cAEA,oFAGA,sBAEA,yDACE,CAIF,iBAJE,wBAIF,6CAHE,6CAKA,eACA,aACA,CADA,cACA,yCAGJ,kBACE,CAKA,iDAEA,CARF,aACE,4CAGA,kBAIA,wEAGA,wDAGA,kCAOA,iDAGA,CAPF,WAEE,sCAEA,CAJF,2CACE,CAMA,qCACA,+BARF,kBACE,qCAOA,iBAsBA,sBACE,CAvBF,WAKA,CACE,0DAIF,CALA,uDACE,CANF,sBAqBA,4CACA,CALA,gRAIA,YAEE,6CAEN,mCAEE,+CASA,6EAIA,4BChNA,SDmNA,qFCnNA,gDACA,sCAGA,qCACA,sDACA,CAKA,kDAGA,CARA,0CAQA,kBAGA,YACA,sBACA,iBAFA,gBADF,YACE,CAHA,SAKA,kBAEA,SAFA,iBAEA,uEAGA,CAEE,6CAFF,oCAgBI,CAdF,yBACE,qBACF,CAGF,oBACE,CAIF,WACE,CALA,2CAGA,uBACF,CACE,mFAGE,CALF,qBAEA,UAGE,gCAIF,sDAEA,CALE,oCAKF,yCC7CJ,oCACE,CD+CA,yXAQE,sCCrDJ,wCAGA,oCACE","sources":["webpack:///./node_modules/normalize.css/normalize.css","webpack:///./src/furo/assets/styles/base/_print.sass","webpack:///./src/furo/assets/styles/base/_screen-readers.sass","webpack:///./src/furo/assets/styles/base/_theme.sass","webpack:///./src/furo/assets/styles/variables/_fonts.scss","webpack:///./src/furo/assets/styles/variables/_spacing.scss","webpack:///./src/furo/assets/styles/variables/_icons.scss","webpack:///./src/furo/assets/styles/variables/_admonitions.scss","webpack:///./src/furo/assets/styles/variables/_colors.scss","webpack:///./src/furo/assets/styles/base/_typography.sass","webpack:///./src/furo/assets/styles/_scaffold.sass","webpack:///./src/furo/assets/styles/variables/_layout.scss","webpack:///./src/furo/assets/styles/content/_admonitions.sass","webpack:///./src/furo/assets/styles/content/_api.sass","webpack:///./src/furo/assets/styles/content/_blocks.sass","webpack:///./src/furo/assets/styles/content/_captions.sass","webpack:///./src/furo/assets/styles/content/_code.sass","webpack:///./src/furo/assets/styles/content/_footnotes.sass","webpack:///./src/furo/assets/styles/content/_images.sass","webpack:///./src/furo/assets/styles/content/_indexes.sass","webpack:///./src/furo/assets/styles/content/_lists.sass","webpack:///./src/furo/assets/styles/content/_math.sass","webpack:///./src/furo/assets/styles/content/_misc.sass","webpack:///./src/furo/assets/styles/content/_rubrics.sass","webpack:///./src/furo/assets/styles/content/_sidebar.sass","webpack:///./src/furo/assets/styles/content/_tables.sass","webpack:///./src/furo/assets/styles/content/_target.sass","webpack:///./src/furo/assets/styles/content/_gui-labels.sass","webpack:///./src/furo/assets/styles/components/_footer.sass","webpack:///./src/furo/assets/styles/components/_sidebar.sass","webpack:///./src/furo/assets/styles/components/_table_of_contents.sass","webpack:///./src/furo/assets/styles/_shame.sass"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n","// This file contains styles for managing print media.\n\n////////////////////////////////////////////////////////////////////////////////\n// Hide elements not relevant to print media.\n////////////////////////////////////////////////////////////////////////////////\n@media print\n // Hide icon container.\n .content-icon-container\n display: none !important\n\n // Hide showing header links if hovering over when printing.\n .headerlink\n display: none !important\n\n // Hide mobile header.\n .mobile-header\n display: none !important\n\n // Hide navigation links.\n .related-pages\n display: none !important\n\n////////////////////////////////////////////////////////////////////////////////\n// Tweaks related to decolorization.\n////////////////////////////////////////////////////////////////////////////////\n@media print\n // Apply a border around code which no longer have a color background.\n .highlight\n border: 0.1pt solid var(--color-foreground-border)\n\n////////////////////////////////////////////////////////////////////////////////\n// Avoid page break in some relevant cases.\n////////////////////////////////////////////////////////////////////////////////\n@media print\n ul, ol, dl, a, table, pre, blockquote\n page-break-inside: avoid\n\n h1, h2, h3, h4, h5, h6, img, figure, caption\n page-break-inside: avoid\n page-break-after: avoid\n\n ul, ol, dl\n page-break-before: avoid\n",".visually-hidden\n position: absolute !important\n width: 1px !important\n height: 1px !important\n padding: 0 !important\n margin: -1px !important\n overflow: hidden !important\n clip: rect(0,0,0,0) !important\n white-space: nowrap !important\n border: 0 !important\n color: var(--color-foreground-primary)\n background: var(--color-background-primary)\n\n:-moz-focusring\n outline: auto\n","// This file serves as the \"skeleton\" of the theming logic.\n//\n// This contains the bulk of the logic for handling dark mode, color scheme\n// toggling and the handling of color-scheme-specific hiding of elements.\n\nbody\n @include fonts\n @include spacing\n @include icons\n @include admonitions\n @include default-admonition(#651fff, \"abstract\")\n @include default-topic(#14B8A6, \"pencil\")\n\n @include colors\n\n.only-light\n display: block !important\nhtml body .only-dark\n display: none !important\n\n// Ignore dark-mode hints if print media.\n@media not print\n // Enable dark-mode, if requested.\n body[data-theme=\"dark\"]\n @include colors-dark\n\n html & .only-light\n display: none !important\n .only-dark\n display: block !important\n\n // Enable dark mode, unless explicitly told to avoid.\n @media (prefers-color-scheme: dark)\n body:not([data-theme=\"light\"])\n @include colors-dark\n\n html & .only-light\n display: none !important\n .only-dark\n display: block !important\n\n//\n// Theme toggle presentation\n//\nbody[data-theme=\"auto\"]\n .theme-toggle svg.theme-icon-when-auto-light\n display: block\n\n @media (prefers-color-scheme: dark)\n .theme-toggle svg.theme-icon-when-auto-dark\n display: block\n .theme-toggle svg.theme-icon-when-auto-light\n display: none\n\nbody[data-theme=\"dark\"]\n .theme-toggle svg.theme-icon-when-dark\n display: block\n\nbody[data-theme=\"light\"]\n .theme-toggle svg.theme-icon-when-light\n display: block\n","// Fonts used by this theme.\n//\n// There are basically two things here -- using the system font stack and\n// defining sizes for various elements in %ages. We could have also used `em`\n// but %age is easier to reason about for me.\n\n@mixin fonts {\n // These are adapted from https://systemfontstack.com/\n --font-stack: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial,\n sans-serif, Apple Color Emoji, Segoe UI Emoji;\n --font-stack--monospace: \"SFMono-Regular\", Menlo, Consolas, Monaco,\n Liberation Mono, Lucida Console, monospace;\n --font-stack--headings: var(--font-stack);\n\n --font-size--normal: 100%;\n --font-size--small: 87.5%;\n --font-size--small--2: 81.25%;\n --font-size--small--3: 75%;\n --font-size--small--4: 62.5%;\n\n // Sidebar\n --sidebar-caption-font-size: var(--font-size--small--2);\n --sidebar-item-font-size: var(--font-size--small);\n --sidebar-search-input-font-size: var(--font-size--small);\n\n // Table of Contents\n --toc-font-size: var(--font-size--small--3);\n --toc-font-size--mobile: var(--font-size--normal);\n --toc-title-font-size: var(--font-size--small--4);\n\n // Admonitions\n //\n // These aren't defined in terms of %ages, since nesting these is permitted.\n --admonition-font-size: 0.8125rem;\n --admonition-title-font-size: 0.8125rem;\n\n // Code\n --code-font-size: var(--font-size--small--2);\n\n // API\n --api-font-size: var(--font-size--small);\n}\n","// Spacing for various elements on the page\n//\n// If the user wants to tweak things in a certain way, they are permitted to.\n// They also have to deal with the consequences though!\n\n@mixin spacing {\n // Header!\n --header-height: calc(\n var(--sidebar-item-line-height) + 4 * #{var(--sidebar-item-spacing-vertical)}\n );\n --header-padding: 0.5rem;\n\n // Sidebar\n --sidebar-tree-space-above: 1.5rem;\n --sidebar-caption-space-above: 1rem;\n\n --sidebar-item-line-height: 1rem;\n --sidebar-item-spacing-vertical: 0.5rem;\n --sidebar-item-spacing-horizontal: 1rem;\n --sidebar-item-height: calc(\n var(--sidebar-item-line-height) + 2 *#{var(--sidebar-item-spacing-vertical)}\n );\n\n --sidebar-expander-width: var(--sidebar-item-height); // be square\n\n --sidebar-search-space-above: 0.5rem;\n --sidebar-search-input-spacing-vertical: 0.5rem;\n --sidebar-search-input-spacing-horizontal: 0.5rem;\n --sidebar-search-input-height: 1rem;\n --sidebar-search-icon-size: var(--sidebar-search-input-height);\n\n // Table of Contents\n --toc-title-padding: 0.25rem 0;\n --toc-spacing-vertical: 1.5rem;\n --toc-spacing-horizontal: 1.5rem;\n --toc-item-spacing-vertical: 0.4rem;\n --toc-item-spacing-horizontal: 1rem;\n}\n","// Expose theme icons as CSS variables.\n\n$icons: (\n // Adapted from tabler-icons\n // url: https://tablericons.com/\n \"search\":\n url('data:image/svg+xml;charset=utf-8,'),\n // Factored out from mkdocs-material on 24-Aug-2020.\n // url: https://squidfunk.github.io/mkdocs-material/reference/admonitions/\n \"pencil\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"abstract\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"info\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"flame\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"question\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"warning\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"failure\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"spark\":\n url('data:image/svg+xml;charset=utf-8,')\n);\n\n@mixin icons {\n @each $name, $glyph in $icons {\n --icon-#{$name}: #{$glyph};\n }\n}\n","// Admonitions\n\n// Structure of these is:\n// admonition-class: color \"icon-name\";\n//\n// The colors are translated into CSS variables below. The icons are\n// used directly in the main declarations to set the `mask-image` in\n// the title.\n\n// prettier-ignore\n$admonitions: (\n // Each of these has an reST directives for it.\n \"caution\": #ff9100 \"spark\",\n \"warning\": #ff9100 \"warning\",\n \"danger\": #ff5252 \"spark\",\n \"attention\": #ff5252 \"warning\",\n \"error\": #ff5252 \"failure\",\n \"hint\": #00c852 \"question\",\n \"tip\": #00c852 \"info\",\n \"important\": #00bfa5 \"flame\",\n \"note\": #00b0ff \"pencil\",\n \"seealso\": #448aff \"info\",\n \"admonition-todo\": #808080 \"pencil\"\n);\n\n@mixin default-admonition($color, $icon-name) {\n --color-admonition-title: #{$color};\n --color-admonition-title-background: #{rgba($color, 0.2)};\n\n --icon-admonition-default: var(--icon-#{$icon-name});\n}\n\n@mixin default-topic($color, $icon-name) {\n --color-topic-title: #{$color};\n --color-topic-title-background: #{rgba($color, 0.2)};\n\n --icon-topic-default: var(--icon-#{$icon-name});\n}\n\n@mixin admonitions {\n @each $name, $values in $admonitions {\n --color-admonition-title--#{$name}: #{nth($values, 1)};\n --color-admonition-title-background--#{$name}: #{rgba(\n nth($values, 1),\n 0.2\n )};\n }\n}\n","// Colors used throughout this theme.\n//\n// The aim is to give the user more control. Thus, instead of hard-coding colors\n// in various parts of the stylesheet, the approach taken is to define all\n// colors as CSS variables and reusing them in all the places.\n//\n// `colors-dark` depends on `colors` being included at a lower specificity.\n\n@mixin colors {\n --color-problematic: #b30000;\n\n // Base Colors\n --color-foreground-primary: black; // for main text and headings\n --color-foreground-secondary: #5a5c63; // for secondary text\n --color-foreground-muted: #6b6f76; // for muted text\n --color-foreground-border: #878787; // for content borders\n\n --color-background-primary: white; // for content\n --color-background-secondary: #f8f9fb; // for navigation + ToC\n --color-background-hover: #efeff4ff; // for navigation-item hover\n --color-background-hover--transparent: #efeff400;\n --color-background-border: #eeebee; // for UI borders\n --color-background-item: #ccc; // for \"background\" items (eg: copybutton)\n\n // Announcements\n --color-announcement-background: #000000dd;\n --color-announcement-text: #eeebee;\n\n // Brand colors\n --color-brand-primary: #0a4bff;\n --color-brand-content: #2757dd;\n --color-brand-visited: #872ee0;\n\n // API documentation\n --color-api-background: var(--color-background-hover--transparent);\n --color-api-background-hover: var(--color-background-hover);\n --color-api-overall: var(--color-foreground-secondary);\n --color-api-name: var(--color-problematic);\n --color-api-pre-name: var(--color-problematic);\n --color-api-paren: var(--color-foreground-secondary);\n --color-api-keyword: var(--color-foreground-primary);\n\n --color-api-added: #21632c;\n --color-api-added-border: #38a84d;\n --color-api-changed: #046172;\n --color-api-changed-border: #06a1bc;\n --color-api-deprecated: #605706;\n --color-api-deprecated-border: #f0d90f;\n --color-api-removed: #b30000;\n --color-api-removed-border: #ff5c5c;\n\n --color-highlight-on-target: #ffffcc;\n\n // Inline code background\n --color-inline-code-background: var(--color-background-secondary);\n\n // Highlighted text (search)\n --color-highlighted-background: #ddeeff;\n --color-highlighted-text: var(--color-foreground-primary);\n\n // GUI Labels\n --color-guilabel-background: #ddeeff80;\n --color-guilabel-border: #bedaf580;\n --color-guilabel-text: var(--color-foreground-primary);\n\n // Admonitions!\n --color-admonition-background: transparent;\n\n //////////////////////////////////////////////////////////////////////////////\n // Everything below this should be one of:\n // - var(...)\n // - *-gradient(...)\n // - special literal values (eg: transparent, none)\n //////////////////////////////////////////////////////////////////////////////\n\n // Tables\n --color-table-header-background: var(--color-background-secondary);\n --color-table-border: var(--color-background-border);\n\n // Cards\n --color-card-border: var(--color-background-secondary);\n --color-card-background: transparent;\n --color-card-marginals-background: var(--color-background-secondary);\n\n // Header\n --color-header-background: var(--color-background-primary);\n --color-header-border: var(--color-background-border);\n --color-header-text: var(--color-foreground-primary);\n\n // Sidebar (left)\n --color-sidebar-background: var(--color-background-secondary);\n --color-sidebar-background-border: var(--color-background-border);\n\n --color-sidebar-brand-text: var(--color-foreground-primary);\n --color-sidebar-caption-text: var(--color-foreground-muted);\n --color-sidebar-link-text: var(--color-foreground-secondary);\n --color-sidebar-link-text--top-level: var(--color-brand-primary);\n\n --color-sidebar-item-background: var(--color-sidebar-background);\n --color-sidebar-item-background--current: var(\n --color-sidebar-item-background\n );\n --color-sidebar-item-background--hover: linear-gradient(\n 90deg,\n var(--color-background-hover--transparent) 0%,\n var(--color-background-hover) var(--sidebar-item-spacing-horizontal),\n var(--color-background-hover) 100%\n );\n\n --color-sidebar-item-expander-background: transparent;\n --color-sidebar-item-expander-background--hover: var(\n --color-background-hover\n );\n\n --color-sidebar-search-text: var(--color-foreground-primary);\n --color-sidebar-search-background: var(--color-background-secondary);\n --color-sidebar-search-background--focus: var(--color-background-primary);\n --color-sidebar-search-border: var(--color-background-border);\n --color-sidebar-search-icon: var(--color-foreground-muted);\n\n // Table of Contents (right)\n --color-toc-background: var(--color-background-primary);\n --color-toc-title-text: var(--color-foreground-muted);\n --color-toc-item-text: var(--color-foreground-secondary);\n --color-toc-item-text--hover: var(--color-foreground-primary);\n --color-toc-item-text--active: var(--color-brand-primary);\n\n // Actual page contents\n --color-content-foreground: var(--color-foreground-primary);\n --color-content-background: transparent;\n\n // Links\n --color-link: var(--color-brand-content);\n --color-link-underline: var(--color-background-border);\n --color-link--hover: var(--color-brand-content);\n --color-link-underline--hover: var(--color-foreground-border);\n\n --color-link--visited: var(--color-brand-visited);\n --color-link-underline--visited: var(--color-background-border);\n --color-link--visited--hover: var(--color-brand-visited);\n --color-link-underline--visited--hover: var(--color-foreground-border);\n}\n\n@mixin colors-dark {\n --color-problematic: #ee5151;\n\n // Base Colors\n --color-foreground-primary: #cfd0d0; // for main text and headings\n --color-foreground-secondary: #9ca0a5; // for secondary text\n --color-foreground-muted: #81868d; // for muted text\n --color-foreground-border: #666666; // for content borders\n\n --color-background-primary: #131416; // for content\n --color-background-secondary: #1a1c1e; // for navigation + ToC\n --color-background-hover: #1e2124ff; // for navigation-item hover\n --color-background-hover--transparent: #1e212400;\n --color-background-border: #303335; // for UI borders\n --color-background-item: #444; // for \"background\" items (eg: copybutton)\n\n // Announcements\n --color-announcement-background: #000000dd;\n --color-announcement-text: #eeebee;\n\n // Brand colors\n --color-brand-primary: #3d94ff;\n --color-brand-content: #5ca5ff;\n --color-brand-visited: #b27aeb;\n\n // Highlighted text (search)\n --color-highlighted-background: #083563;\n\n // GUI Labels\n --color-guilabel-background: #08356380;\n --color-guilabel-border: #13395f80;\n\n // API documentation\n --color-api-keyword: var(--color-foreground-secondary);\n --color-highlight-on-target: #333300;\n\n --color-api-added: #3db854;\n --color-api-added-border: #267334;\n --color-api-changed: #09b0ce;\n --color-api-changed-border: #056d80;\n --color-api-deprecated: #b1a10b;\n --color-api-deprecated-border: #6e6407;\n --color-api-removed: #ff7575;\n --color-api-removed-border: #b03b3b;\n\n // Admonitions\n --color-admonition-background: #18181a;\n\n // Cards\n --color-card-border: var(--color-background-secondary);\n --color-card-background: #18181a;\n --color-card-marginals-background: var(--color-background-hover);\n}\n","// This file contains the styling for making the content throughout the page,\n// including fonts, paragraphs, headings and spacing among these elements.\n\nbody\n font-family: var(--font-stack)\npre,\ncode,\nkbd,\nsamp\n font-family: var(--font-stack--monospace)\n\n// Make fonts look slightly nicer.\nbody\n -webkit-font-smoothing: antialiased\n -moz-osx-font-smoothing: grayscale\n\n// Line height from Bootstrap 4.1\narticle\n line-height: 1.5\n\n//\n// Headings\n//\nh1,\nh2,\nh3,\nh4,\nh5,\nh6\n line-height: 1.25\n font-family: var(--font-stack--headings)\n font-weight: bold\n\n border-radius: 0.5rem\n margin-top: 0.5rem\n margin-bottom: 0.5rem\n margin-left: -0.5rem\n margin-right: -0.5rem\n padding-left: 0.5rem\n padding-right: 0.5rem\n\n + p\n margin-top: 0\n\nh1\n font-size: 2.5em\n margin-top: 1.75rem\n margin-bottom: 1rem\nh2\n font-size: 2em\n margin-top: 1.75rem\nh3\n font-size: 1.5em\nh4\n font-size: 1.25em\nh5\n font-size: 1.125em\nh6\n font-size: 1em\n\nsmall\n opacity: 75%\n font-size: 80%\n\n// Paragraph\np\n margin-top: 0.5rem\n margin-bottom: 0.75rem\n\n// Horizontal rules\nhr.docutils\n height: 1px\n padding: 0\n margin: 2rem 0\n background-color: var(--color-background-border)\n border: 0\n\n.centered\n text-align: center\n\n// Links\na\n text-decoration: underline\n\n color: var(--color-link)\n text-decoration-color: var(--color-link-underline)\n\n &:visited\n color: var(--color-link--visited)\n text-decoration-color: var(--color-link-underline--visited)\n &:hover\n color: var(--color-link--visited--hover)\n text-decoration-color: var(--color-link-underline--visited--hover)\n\n &:hover\n color: var(--color-link--hover)\n text-decoration-color: var(--color-link-underline--hover)\n &.muted-link\n color: inherit\n &:hover\n color: var(--color-link--hover)\n text-decoration-color: var(--color-link-underline--hover)\n &:visited\n color: var(--color-link--visited--hover)\n text-decoration-color: var(--color-link-underline--visited--hover)\n","// This file contains the styles for the overall layouting of the documentation\n// skeleton, including the responsive changes as well as sidebar toggles.\n//\n// This is implemented as a mobile-last design, which isn't ideal, but it is\n// reasonably good-enough and I got pretty tired by the time I'd finished this\n// to move the rules around to fix this. Shouldn't take more than 3-4 hours,\n// if you know what you're doing tho.\n\n// HACK: Not all browsers account for the scrollbar width in media queries.\n// This results in horizontal scrollbars in the breakpoint where we go\n// from displaying everything to hiding the ToC. We accomodate for this by\n// adding a bit of padding to the TOC drawer, disabling the horizontal\n// scrollbar and allowing the scrollbars to cover the padding.\n// https://www.456bereastreet.com/archive/201301/media_query_width_and_vertical_scrollbars/\n\n// HACK: Always having the scrollbar visible, prevents certain browsers from\n// causing the content to stutter horizontally between taller-than-viewport and\n// not-taller-than-viewport pages.\n\nhtml\n overflow-x: hidden\n overflow-y: scroll\n scroll-behavior: smooth\n\n.sidebar-scroll, .toc-scroll, article[role=main] *\n // Override Firefox scrollbar style\n scrollbar-width: thin\n scrollbar-color: var(--color-foreground-border) transparent\n\n // Override Chrome scrollbar styles\n &::-webkit-scrollbar\n width: 0.25rem\n height: 0.25rem\n &::-webkit-scrollbar-thumb\n background-color: var(--color-foreground-border)\n border-radius: 0.125rem\n\n//\n// Overalls\n//\nhtml,\nbody\n height: 100%\n color: var(--color-foreground-primary)\n background: var(--color-background-primary)\n\n.skip-to-content\n position: fixed\n padding: 1rem\n border-radius: 1rem\n left: 0.25rem\n top: 0.25rem\n z-index: 40\n background: var(--color-background-primary)\n color: var(--color-foreground-primary)\n\n transform: translateY(-200%)\n transition: transform 300ms ease-in-out\n\n &:focus-within\n transform: translateY(0%)\n\narticle\n color: var(--color-content-foreground)\n background: var(--color-content-background)\n overflow-wrap: break-word\n\n.page\n display: flex\n // fill the viewport for pages with little content.\n min-height: 100%\n\n.mobile-header\n width: 100%\n height: var(--header-height)\n background-color: var(--color-header-background)\n color: var(--color-header-text)\n border-bottom: 1px solid var(--color-header-border)\n\n // Looks like sub-script/super-script have this, and we need this to\n // be \"on top\" of those.\n z-index: 10\n\n // We don't show the header on large screens.\n display: none\n\n // Add shadow when scrolled\n &.scrolled\n border-bottom: none\n box-shadow: 0 0 0.2rem rgba(0, 0, 0, 0.1), 0 0.2rem 0.4rem rgba(0, 0, 0, 0.2)\n\n .header-center\n a\n color: var(--color-header-text)\n text-decoration: none\n\n.main\n display: flex\n flex: 1\n\n// Sidebar (left) also covers the entire left portion of screen.\n.sidebar-drawer\n box-sizing: border-box\n\n border-right: 1px solid var(--color-sidebar-background-border)\n background: var(--color-sidebar-background)\n\n display: flex\n justify-content: flex-end\n // These next two lines took me two days to figure out.\n width: calc((100% - #{$full-width}) / 2 + #{$sidebar-width})\n min-width: $sidebar-width\n\n// Scroll-along sidebars\n.sidebar-container,\n.toc-drawer\n box-sizing: border-box\n width: $sidebar-width\n\n.toc-drawer\n background: var(--color-toc-background)\n // See HACK described on top of this document\n padding-right: 1rem\n\n.sidebar-sticky,\n.toc-sticky\n position: sticky\n top: 0\n height: min(100%, 100vh)\n height: 100vh\n\n display: flex\n flex-direction: column\n\n.sidebar-scroll,\n.toc-scroll\n flex-grow: 1\n flex-shrink: 1\n\n overflow: auto\n scroll-behavior: smooth\n\n// Central items.\n.content\n padding: 0 $content-padding\n width: $content-width\n\n display: flex\n flex-direction: column\n justify-content: space-between\n\n.icon\n display: inline-block\n height: 1rem\n width: 1rem\n svg\n width: 100%\n height: 100%\n\n//\n// Accommodate announcement banner\n//\n.announcement\n background-color: var(--color-announcement-background)\n color: var(--color-announcement-text)\n\n height: var(--header-height)\n display: flex\n align-items: center\n overflow-x: auto\n & + .page\n min-height: calc(100% - var(--header-height))\n\n.announcement-content\n box-sizing: border-box\n padding: 0.5rem\n min-width: 100%\n white-space: nowrap\n text-align: center\n\n a\n color: var(--color-announcement-text)\n text-decoration-color: var(--color-announcement-text)\n\n &:hover\n color: var(--color-announcement-text)\n text-decoration-color: var(--color-link--hover)\n\n////////////////////////////////////////////////////////////////////////////////\n// Toggles for theme\n////////////////////////////////////////////////////////////////////////////////\n.no-js .theme-toggle-container // don't show theme toggle if there's no JS\n display: none\n\n.theme-toggle-container\n display: flex\n\n.theme-toggle\n display: flex\n cursor: pointer\n border: none\n padding: 0\n background: transparent\n\n.theme-toggle svg\n height: 1.25rem\n width: 1.25rem\n color: var(--color-foreground-primary)\n display: none\n\n.theme-toggle-header\n display: flex\n align-items: center\n justify-content: center\n\n////////////////////////////////////////////////////////////////////////////////\n// Toggles for elements\n////////////////////////////////////////////////////////////////////////////////\n.toc-overlay-icon, .nav-overlay-icon\n display: none\n cursor: pointer\n\n .icon\n color: var(--color-foreground-secondary)\n height: 1.5rem\n width: 1.5rem\n\n.toc-header-icon, .nav-overlay-icon\n // for when we set display: flex\n justify-content: center\n align-items: center\n\n.toc-content-icon\n height: 1.5rem\n width: 1.5rem\n\n.content-icon-container\n float: right\n display: flex\n margin-top: 1.5rem\n margin-left: 1rem\n margin-bottom: 1rem\n gap: 0.5rem\n\n .edit-this-page, .view-this-page\n svg\n color: inherit\n height: 1.25rem\n width: 1.25rem\n\n.sidebar-toggle\n position: absolute\n display: none\n// \n.sidebar-toggle[name=\"__toc\"]\n left: 20px\n.sidebar-toggle:checked\n left: 40px\n// \n\n.overlay\n position: fixed\n top: 0\n width: 0\n height: 0\n\n transition: width 0ms, height 0ms, opacity 250ms ease-out\n\n opacity: 0\n background-color: rgba(0, 0, 0, 0.54)\n.sidebar-overlay\n z-index: 20\n.toc-overlay\n z-index: 40\n\n// Keep things on top and smooth.\n.sidebar-drawer\n z-index: 30\n transition: left 250ms ease-in-out\n.toc-drawer\n z-index: 50\n transition: right 250ms ease-in-out\n\n// Show the Sidebar\n#__navigation:checked\n & ~ .sidebar-overlay\n width: 100%\n height: 100%\n opacity: 1\n & ~ .page\n .sidebar-drawer\n top: 0\n left: 0\n // Show the toc sidebar\n#__toc:checked\n & ~ .toc-overlay\n width: 100%\n height: 100%\n opacity: 1\n & ~ .page\n .toc-drawer\n top: 0\n right: 0\n\n////////////////////////////////////////////////////////////////////////////////\n// Back to top\n////////////////////////////////////////////////////////////////////////////////\n.back-to-top\n text-decoration: none\n\n display: none\n position: fixed\n left: 0\n top: 1rem\n padding: 0.5rem\n padding-right: 0.75rem\n border-radius: 1rem\n font-size: 0.8125rem\n\n background: var(--color-background-primary)\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), #6b728080 0px 0px 1px 0px\n\n z-index: 10\n\n margin-left: 50%\n transform: translateX(-50%)\n svg\n height: 1rem\n width: 1rem\n fill: currentColor\n display: inline-block\n\n span\n margin-left: 0.25rem\n\n .show-back-to-top &\n display: flex\n align-items: center\n\n////////////////////////////////////////////////////////////////////////////////\n// Responsive layouting\n////////////////////////////////////////////////////////////////////////////////\n// Make things a bit bigger on bigger screens.\n@media (min-width: $full-width + $sidebar-width)\n html\n font-size: 110%\n\n@media (max-width: $full-width)\n // Collapse \"toc\" into the icon.\n .toc-content-icon\n display: flex\n .toc-drawer\n position: fixed\n height: 100vh\n top: 0\n right: -$sidebar-width\n border-left: 1px solid var(--color-background-muted)\n .toc-tree\n border-left: none\n font-size: var(--toc-font-size--mobile)\n\n // Accomodate for a changed content width.\n .sidebar-drawer\n width: calc((100% - #{$full-width - $sidebar-width}) / 2 + #{$sidebar-width})\n\n@media (max-width: $full-width - $sidebar-width)\n // Collapse \"navigation\".\n .nav-overlay-icon\n display: flex\n .sidebar-drawer\n position: fixed\n height: 100vh\n width: $sidebar-width\n\n top: 0\n left: -$sidebar-width\n\n // Swap which icon is visible.\n .toc-header-icon, .theme-toggle-header\n display: flex\n .toc-content-icon, .theme-toggle-content\n display: none\n\n // Show the header.\n .mobile-header\n position: sticky\n top: 0\n display: flex\n justify-content: space-between\n align-items: center\n\n .header-left,\n .header-right\n display: flex\n height: var(--header-height)\n padding: 0 var(--header-padding)\n label\n height: 100%\n width: 100%\n user-select: none\n\n .nav-overlay-icon .icon,\n .theme-toggle svg\n height: 1.5rem\n width: 1.5rem\n\n // Add a scroll margin for the content\n :target\n scroll-margin-top: calc(var(--header-height) + 2.5rem)\n\n // Show back-to-top below the header\n .back-to-top\n top: calc(var(--header-height) + 0.5rem)\n\n // Center the page, and accommodate for the header.\n .page\n flex-direction: column\n justify-content: center\n .content\n margin-left: auto\n margin-right: auto\n\n@media (max-width: $content-width + 2* $content-padding)\n // Content should respect window limits.\n .content\n width: 100%\n overflow-x: auto\n\n@media (max-width: $content-width)\n .content\n padding: 0 $content-padding--small\n // Don't float sidebars to the right.\n article aside.sidebar\n float: none\n width: 100%\n margin: 1rem 0\n","// Overall Layout Variables\n//\n// Because CSS variables can't be used in media queries. The fact that this\n// makes the layout non-user-configurable is a good thing.\n$content-padding: 3em;\n$content-padding--small: 1em;\n$content-width: 46em;\n$sidebar-width: 15em;\n$full-width: $content-width + 2 * ($content-padding + $sidebar-width);\n","//\n// The design here is strongly inspired by mkdocs-material.\n.admonition, .topic\n margin: 1rem auto\n padding: 0 0.5rem 0.5rem 0.5rem\n\n background: var(--color-admonition-background)\n\n border-radius: 0.2rem\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.0625rem rgba(0, 0, 0, 0.1)\n\n font-size: var(--admonition-font-size)\n\n overflow: hidden\n page-break-inside: avoid\n\n // First element should have no margin, since the title has it.\n > :nth-child(2)\n margin-top: 0\n\n // Last item should have no margin, since we'll control that w/ padding\n > :last-child\n margin-bottom: 0\n\n.admonition p.admonition-title,\np.topic-title\n position: relative\n margin: 0 -0.5rem 0.5rem\n padding-left: 2rem\n padding-right: .5rem\n padding-top: .4rem\n padding-bottom: .4rem\n\n font-weight: 500\n font-size: var(--admonition-title-font-size)\n line-height: 1.3\n\n // Our fancy icon\n &::before\n content: \"\"\n position: absolute\n left: 0.5rem\n width: 1rem\n height: 1rem\n\n// Default styles\np.admonition-title\n background-color: var(--color-admonition-title-background)\n &::before\n background-color: var(--color-admonition-title)\n mask-image: var(--icon-admonition-default)\n mask-repeat: no-repeat\n\np.topic-title\n background-color: var(--color-topic-title-background)\n &::before\n background-color: var(--color-topic-title)\n mask-image: var(--icon-topic-default)\n mask-repeat: no-repeat\n\n//\n// Variants\n//\n.admonition\n border-left: 0.2rem solid var(--color-admonition-title)\n\n @each $type, $value in $admonitions\n &.#{$type}\n border-left-color: var(--color-admonition-title--#{$type})\n > .admonition-title\n background-color: var(--color-admonition-title-background--#{$type})\n &::before\n background-color: var(--color-admonition-title--#{$type})\n mask-image: var(--icon-#{nth($value, 2)})\n\n.admonition-todo > .admonition-title\n text-transform: uppercase\n","// This file stylizes the API documentation (stuff generated by autodoc). It's\n// deeply nested due to how autodoc structures the HTML without enough classes\n// to select the relevant items.\n\n// API docs!\ndl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)\n // Tweak the spacing of all the things!\n dd\n margin-left: 2rem\n > :first-child\n margin-top: 0.125rem\n > :last-child\n margin-bottom: 0.75rem\n\n // This is used for the arguments\n .field-list\n margin-bottom: 0.75rem\n\n // \"Headings\" (like \"Parameters\" and \"Return\")\n > dt\n text-transform: uppercase\n font-size: var(--font-size--small)\n\n dd:empty\n margin-bottom: 0.5rem\n dd > ul\n margin-left: -1.2rem\n > li\n > p:nth-child(2)\n margin-top: 0\n // When the last-empty-paragraph follows a paragraph, it doesn't need\n // to augument the existing spacing.\n > p + p:last-child:empty\n margin-top: 0\n margin-bottom: 0\n\n // Colorize the elements\n > dt\n color: var(--color-api-overall)\n\n.sig:not(.sig-inline)\n font-weight: bold\n\n font-size: var(--api-font-size)\n font-family: var(--font-stack--monospace)\n\n margin-left: -0.25rem\n margin-right: -0.25rem\n padding-top: 0.25rem\n padding-bottom: 0.25rem\n padding-right: 0.5rem\n\n // These are intentionally em, to properly match the font size.\n padding-left: 3em\n text-indent: -2.5em\n\n border-radius: 0.25rem\n\n background: var(--color-api-background)\n transition: background 100ms ease-out\n\n &:hover\n background: var(--color-api-background-hover)\n\n // adjust the size of the [source] link on the right.\n a.reference\n .viewcode-link\n font-weight: normal\n width: 4.25rem\n\nem.property\n font-style: normal\n &:first-child\n color: var(--color-api-keyword)\n.sig-name\n color: var(--color-api-name)\n.sig-prename\n font-weight: normal\n color: var(--color-api-pre-name)\n.sig-paren\n color: var(--color-api-paren)\n.sig-param\n font-style: normal\n\ndiv.versionadded,\ndiv.versionchanged,\ndiv.deprecated,\ndiv.versionremoved\n border-left: 0.1875rem solid\n border-radius: 0.125rem\n\n padding-left: 0.75rem\n\n p\n margin-top: 0.125rem\n margin-bottom: 0.125rem\n\ndiv.versionadded\n border-color: var(--color-api-added-border)\n .versionmodified\n color: var(--color-api-added)\n\ndiv.versionchanged\n border-color: var(--color-api-changed-border)\n .versionmodified\n color: var(--color-api-changed)\n\ndiv.deprecated\n border-color: var(--color-api-deprecated-border)\n .versionmodified\n color: var(--color-api-deprecated)\n\ndiv.versionremoved\n border-color: var(--color-api-removed-border)\n .versionmodified\n color: var(--color-api-removed)\n\n// Align the [docs] and [source] to the right.\n.viewcode-link, .viewcode-back\n float: right\n text-align: right\n",".line-block\n margin-top: 0.5rem\n margin-bottom: 0.75rem\n .line-block\n margin-top: 0rem\n margin-bottom: 0rem\n padding-left: 1rem\n","// Captions\narticle p.caption,\ntable > caption,\n.code-block-caption\n font-size: var(--font-size--small)\n text-align: center\n\n// Caption above a TOCTree\n.toctree-wrapper.compound\n .caption, :not(.caption) > .caption-text\n font-size: var(--font-size--small)\n text-transform: uppercase\n\n text-align: initial\n margin-bottom: 0\n\n > ul\n margin-top: 0\n margin-bottom: 0\n","// Inline code\ncode.literal, .sig-inline\n background: var(--color-inline-code-background)\n border-radius: 0.2em\n // Make the font smaller, and use padding to recover.\n font-size: var(--font-size--small--2)\n padding: 0.1em 0.2em\n\n pre.literal-block &\n font-size: inherit\n padding: 0\n\n p &\n border: 1px solid var(--color-background-border)\n\n.sig-inline\n font-family: var(--font-stack--monospace)\n\n// Code and Literal Blocks\n$code-spacing-vertical: 0.625rem\n$code-spacing-horizontal: 0.875rem\n\n// Wraps every literal block + line numbers.\ndiv[class*=\" highlight-\"],\ndiv[class^=\"highlight-\"]\n margin: 1em 0\n display: flex\n\n .table-wrapper\n margin: 0\n padding: 0\n\npre\n margin: 0\n padding: 0\n overflow: auto\n\n // Needed to have more specificity than pygments' \"pre\" selector. :(\n article[role=\"main\"] .highlight &\n line-height: 1.5\n\n &.literal-block,\n .highlight &\n font-size: var(--code-font-size)\n padding: $code-spacing-vertical $code-spacing-horizontal\n\n // Make it look like all the other blocks.\n &.literal-block\n margin-top: 1rem\n margin-bottom: 1rem\n\n border-radius: 0.2rem\n background-color: var(--color-code-background)\n color: var(--color-code-foreground)\n\n// All code is always contained in this.\n.highlight\n width: 100%\n border-radius: 0.2rem\n\n // Make line numbers and prompts un-selectable.\n .gp, span.linenos\n user-select: none\n pointer-events: none\n\n // Expand the line-highlighting.\n .hll\n display: block\n margin-left: -$code-spacing-horizontal\n margin-right: -$code-spacing-horizontal\n padding-left: $code-spacing-horizontal\n padding-right: $code-spacing-horizontal\n\n/* Make code block captions be nicely integrated */\n.code-block-caption\n display: flex\n padding: $code-spacing-vertical $code-spacing-horizontal\n\n border-radius: 0.25rem\n border-bottom-left-radius: 0\n border-bottom-right-radius: 0\n font-weight: 300\n border-bottom: 1px solid\n\n background-color: var(--color-code-background)\n color: var(--color-code-foreground)\n border-color: var(--color-background-border)\n\n + div[class]\n margin-top: 0\n pre\n border-top-left-radius: 0\n border-top-right-radius: 0\n\n// When `html_codeblock_linenos_style` is table.\n.highlighttable\n width: 100%\n display: block\n tbody\n display: block\n\n tr\n display: flex\n\n // Line numbers\n td.linenos\n background-color: var(--color-code-background)\n color: var(--color-code-foreground)\n padding: $code-spacing-vertical $code-spacing-horizontal\n padding-right: 0\n border-top-left-radius: 0.2rem\n border-bottom-left-radius: 0.2rem\n\n .linenodiv\n padding-right: $code-spacing-horizontal\n font-size: var(--code-font-size)\n box-shadow: -0.0625rem 0 var(--color-foreground-border) inset\n\n // Actual code\n td.code\n padding: 0\n display: block\n flex: 1\n overflow: hidden\n\n .highlight\n border-top-left-radius: 0\n border-bottom-left-radius: 0\n\n// When `html_codeblock_linenos_style` is inline.\n.highlight\n span.linenos\n display: inline-block\n padding-left: 0\n padding-right: $code-spacing-horizontal\n margin-right: $code-spacing-horizontal\n box-shadow: -0.0625rem 0 var(--color-foreground-border) inset\n","// Inline Footnote Reference\n.footnote-reference\n font-size: var(--font-size--small--4)\n vertical-align: super\n\n// Definition list, listing the content of each note.\n// docutils <= 0.17\ndl.footnote.brackets\n font-size: var(--font-size--small)\n color: var(--color-foreground-secondary)\n\n display: grid\n grid-template-columns: max-content auto\n dt\n margin: 0\n > .fn-backref\n margin-left: 0.25rem\n\n &:after\n content: \":\"\n\n .brackets\n &:before\n content: \"[\"\n &:after\n content: \"]\"\n\n dd\n margin: 0\n padding: 0 1rem\n\n// docutils >= 0.18\naside.footnote\n font-size: var(--font-size--small)\n color: var(--color-foreground-secondary)\n\naside.footnote > span,\ndiv.citation > span\n float: left\n font-weight: 500\n padding-right: 0.25rem\n\naside.footnote > *:not(span),\ndiv.citation > p\n margin-left: 2rem\n","//\n// Figures\n//\nimg\n box-sizing: border-box\n max-width: 100%\n height: auto\n\narticle\n figure, .figure\n border-radius: 0.2rem\n\n margin: 0\n :last-child\n margin-bottom: 0\n\n .align-left\n float: left\n clear: left\n margin: 0 1rem 1rem\n\n .align-right\n float: right\n clear: right\n margin: 0 1rem 1rem\n\n .align-default,\n .align-center\n display: block\n text-align: center\n margin-left: auto\n margin-right: auto\n\n // WELL, table needs to be stylised like a table.\n table.align-default\n display: table\n text-align: initial\n",".genindex-jumpbox, .domainindex-jumpbox\n border-top: 1px solid var(--color-background-border)\n border-bottom: 1px solid var(--color-background-border)\n padding: 0.25rem\n\n.genindex-section, .domainindex-section\n h2\n margin-top: 0.75rem\n margin-bottom: 0.5rem\n ul\n margin-top: 0\n margin-bottom: 0\n","ul,\nol\n padding-left: 1.2rem\n\n // Space lists out like paragraphs\n margin-top: 1rem\n margin-bottom: 1rem\n // reduce margins within li.\n li\n > p:first-child\n margin-top: 0.25rem\n margin-bottom: 0.25rem\n\n > p:last-child\n margin-top: 0.25rem\n\n > ul,\n > ol\n margin-top: 0.5rem\n margin-bottom: 0.5rem\n\nol\n &.arabic\n list-style: decimal\n &.loweralpha\n list-style: lower-alpha\n &.upperalpha\n list-style: upper-alpha\n &.lowerroman\n list-style: lower-roman\n &.upperroman\n list-style: upper-roman\n\n// Don't space lists out when they're \"simple\" or in a `.. toctree::`\n.simple,\n.toctree-wrapper\n li\n > ul,\n > ol\n margin-top: 0\n margin-bottom: 0\n\n// Definition Lists\n.field-list,\n.option-list,\ndl:not([class]),\ndl.simple,\ndl.footnote,\ndl.glossary\n dt\n font-weight: 500\n margin-top: 0.25rem\n + dt\n margin-top: 0\n\n .classifier::before\n content: \":\"\n margin-left: 0.2rem\n margin-right: 0.2rem\n\n dd\n > p:first-child,\n ul\n margin-top: 0.125rem\n\n ul\n margin-bottom: 0.125rem\n",".math-wrapper\n width: 100%\n overflow-x: auto\n\ndiv.math\n position: relative\n text-align: center\n\n .headerlink,\n &:focus .headerlink\n display: none\n\n &:hover .headerlink\n display: inline-block\n\n span.eqno\n position: absolute\n right: 0.5rem\n top: 50%\n transform: translate(0, -50%)\n z-index: 1\n","// Abbreviations\nabbr[title]\n cursor: help\n\n// \"Problematic\" content, as identified by Sphinx\n.problematic\n color: var(--color-problematic)\n\n// Keyboard / Mouse \"instructions\"\nkbd:not(.compound)\n margin: 0 0.2rem\n padding: 0 0.2rem\n border-radius: 0.2rem\n border: 1px solid var(--color-foreground-border)\n color: var(--color-foreground-primary)\n vertical-align: text-bottom\n\n font-size: var(--font-size--small--3)\n display: inline-block\n\n box-shadow: 0 0.0625rem 0 rgba(0, 0, 0, 0.2), inset 0 0 0 0.125rem var(--color-background-primary)\n\n background-color: var(--color-background-secondary)\n\n// Blockquote\nblockquote\n border-left: 4px solid var(--color-background-border)\n background: var(--color-background-secondary)\n\n margin-left: 0\n margin-right: 0\n padding: 0.5rem 1rem\n\n .attribution\n font-weight: 600\n text-align: right\n\n &.pull-quote,\n &.highlights\n font-size: 1.25em\n\n &.epigraph,\n &.pull-quote\n border-left-width: 0\n border-radius: 0.5rem\n\n &.highlights\n border-left-width: 0\n background: transparent\n\n// Center align embedded-in-text images\np .reference img\n vertical-align: middle\n","p.rubric\n line-height: 1.25\n font-weight: bold\n font-size: 1.125em\n\n // For Numpy-style documentation that's got rubrics within it.\n // https://github.com/pradyunsg/furo/discussions/505\n dd &\n line-height: inherit\n font-weight: inherit\n\n font-size: var(--font-size--small)\n text-transform: uppercase\n","article .sidebar\n float: right\n clear: right\n width: 30%\n\n margin-left: 1rem\n margin-right: 0\n\n border-radius: 0.2rem\n background-color: var(--color-background-secondary)\n border: var(--color-background-border) 1px solid\n\n > *\n padding-left: 1rem\n padding-right: 1rem\n\n > ul, > ol // lists need additional padding, because bullets.\n padding-left: 2.2rem\n\n .sidebar-title\n margin: 0\n padding: 0.5rem 1rem\n border-bottom: var(--color-background-border) 1px solid\n\n font-weight: 500\n\n// TODO: subtitle\n// TODO: dedicated variables?\n",".table-wrapper\n width: 100%\n overflow-x: auto\n margin-top: 1rem\n margin-bottom: 0.5rem\n padding: 0.2rem 0.2rem 0.75rem\n\ntable.docutils\n border-radius: 0.2rem\n border-spacing: 0\n border-collapse: collapse\n\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.0625rem rgba(0, 0, 0, 0.1)\n\n th\n background: var(--color-table-header-background)\n\n td,\n th\n // Space things out properly\n padding: 0 0.25rem\n\n // Get the borders looking just-right.\n border-left: 1px solid var(--color-table-border)\n border-right: 1px solid var(--color-table-border)\n border-bottom: 1px solid var(--color-table-border)\n\n p\n margin: 0.25rem\n\n &:first-child\n border-left: none\n &:last-child\n border-right: none\n\n // MyST-parser tables set these classes for control of column alignment\n &.text-left\n text-align: left\n &.text-right\n text-align: right\n &.text-center\n text-align: center\n",":target\n scroll-margin-top: 2.5rem\n\n@media (max-width: $full-width - $sidebar-width)\n :target\n scroll-margin-top: calc(2.5rem + var(--header-height))\n\n // When a heading is selected\n section > span:target\n scroll-margin-top: calc(2.8rem + var(--header-height))\n\n// Permalinks\n.headerlink\n font-weight: 100\n user-select: none\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\ndl dt,\np.caption,\nfigcaption p,\ntable > caption,\n.code-block-caption\n > .headerlink\n margin-left: 0.5rem\n visibility: hidden\n &:hover > .headerlink\n visibility: visible\n\n // Don't change to link-like, if someone adds the contents directive.\n > .toc-backref\n color: inherit\n text-decoration-line: none\n\n// Figure and table captions are special.\nfigure:hover > figcaption > p > .headerlink,\ntable:hover > caption > .headerlink\n visibility: visible\n\n:target >, // Regular section[id] style anchors\nspan:target ~ // Non-regular span[id] style \"extra\" anchors\n h1,\n h2,\n h3,\n h4,\n h5,\n h6\n &:nth-of-type(1)\n background-color: var(--color-highlight-on-target)\n // .headerlink\n // visibility: visible\n code.literal\n background-color: transparent\n\ntable:target > caption,\nfigure:target\n background-color: var(--color-highlight-on-target)\n\n// Inline page contents\n.this-will-duplicate-information-and-it-is-still-useful-here li :target\n background-color: var(--color-highlight-on-target)\n\n// Code block permalinks\n.literal-block-wrapper:target .code-block-caption\n background-color: var(--color-highlight-on-target)\n\n// When a definition list item is selected\n//\n// There isn't really an alternative to !important here, due to the\n// high-specificity of API documentation's selector.\ndt:target\n background-color: var(--color-highlight-on-target) !important\n\n// When a footnote reference is selected\n.footnote > dt:target + dd,\n.footnote-reference:target\n background-color: var(--color-highlight-on-target)\n",".guilabel\n background-color: var(--color-guilabel-background)\n border: 1px solid var(--color-guilabel-border)\n color: var(--color-guilabel-text)\n\n padding: 0 0.3em\n border-radius: 0.5em\n font-size: 0.9em\n","// This file contains the styles used for stylizing the footer that's shown\n// below the content.\n\nfooter\n font-size: var(--font-size--small)\n display: flex\n flex-direction: column\n\n margin-top: 2rem\n\n// Bottom of page information\n.bottom-of-page\n display: flex\n align-items: center\n justify-content: space-between\n\n margin-top: 1rem\n padding-top: 1rem\n padding-bottom: 1rem\n\n color: var(--color-foreground-secondary)\n border-top: 1px solid var(--color-background-border)\n\n line-height: 1.5\n\n @media (max-width: $content-width)\n text-align: center\n flex-direction: column-reverse\n gap: 0.25rem\n\n .left-details\n font-size: var(--font-size--small)\n\n .right-details\n display: flex\n flex-direction: column\n gap: 0.25rem\n text-align: right\n\n .icons\n display: flex\n justify-content: flex-end\n gap: 0.25rem\n font-size: 1rem\n\n a\n text-decoration: none\n\n svg,\n img\n font-size: 1.125rem\n height: 1em\n width: 1em\n\n// Next/Prev page information\n.related-pages\n a\n display: flex\n align-items: center\n\n text-decoration: none\n &:hover .page-info .title\n text-decoration: underline\n color: var(--color-link)\n text-decoration-color: var(--color-link-underline)\n\n svg.furo-related-icon,\n svg.furo-related-icon > use\n flex-shrink: 0\n\n color: var(--color-foreground-border)\n\n width: 0.75rem\n height: 0.75rem\n margin: 0 0.5rem\n\n &.next-page\n max-width: 50%\n\n float: right\n clear: right\n text-align: right\n\n &.prev-page\n max-width: 50%\n\n float: left\n clear: left\n\n svg\n transform: rotate(180deg)\n\n.page-info\n display: flex\n flex-direction: column\n overflow-wrap: anywhere\n\n .next-page &\n align-items: flex-end\n\n .context\n display: flex\n align-items: center\n\n padding-bottom: 0.1rem\n\n color: var(--color-foreground-muted)\n font-size: var(--font-size--small)\n text-decoration: none\n","// This file contains the styles for the contents of the left sidebar, which\n// contains the navigation tree, logo, search etc.\n\n////////////////////////////////////////////////////////////////////////////////\n// Brand on top of the scrollable tree.\n////////////////////////////////////////////////////////////////////////////////\n.sidebar-brand\n display: flex\n flex-direction: column\n flex-shrink: 0\n\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n text-decoration: none\n\n.sidebar-brand-text\n color: var(--color-sidebar-brand-text)\n overflow-wrap: break-word\n margin: var(--sidebar-item-spacing-vertical) 0\n font-size: 1.5rem\n\n.sidebar-logo-container\n margin: var(--sidebar-item-spacing-vertical) 0\n\n.sidebar-logo\n margin: 0 auto\n display: block\n max-width: 100%\n\n////////////////////////////////////////////////////////////////////////////////\n// Search\n////////////////////////////////////////////////////////////////////////////////\n.sidebar-search-container\n display: flex\n align-items: center\n margin-top: var(--sidebar-search-space-above)\n\n position: relative\n\n background: var(--color-sidebar-search-background)\n &:hover,\n &:focus-within\n background: var(--color-sidebar-search-background--focus)\n\n &::before\n content: \"\"\n position: absolute\n left: var(--sidebar-item-spacing-horizontal)\n width: var(--sidebar-search-icon-size)\n height: var(--sidebar-search-icon-size)\n\n background-color: var(--color-sidebar-search-icon)\n mask-image: var(--icon-search)\n\n.sidebar-search\n box-sizing: border-box\n\n border: none\n border-top: 1px solid var(--color-sidebar-search-border)\n border-bottom: 1px solid var(--color-sidebar-search-border)\n\n padding-top: var(--sidebar-search-input-spacing-vertical)\n padding-bottom: var(--sidebar-search-input-spacing-vertical)\n padding-right: var(--sidebar-search-input-spacing-horizontal)\n padding-left: calc(var(--sidebar-item-spacing-horizontal) + var(--sidebar-search-input-spacing-horizontal) + var(--sidebar-search-icon-size))\n\n width: 100%\n\n color: var(--color-sidebar-search-foreground)\n background: transparent\n z-index: 10\n\n &:focus\n outline: none\n\n &::placeholder\n font-size: var(--sidebar-search-input-font-size)\n\n//\n// Hide Search Matches link\n//\n#searchbox .highlight-link\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal) 0\n margin: 0\n text-align: center\n\n a\n color: var(--color-sidebar-search-icon)\n font-size: var(--font-size--small--2)\n\n////////////////////////////////////////////////////////////////////////////////\n// Structure/Skeleton of the navigation tree (left)\n////////////////////////////////////////////////////////////////////////////////\n.sidebar-tree\n font-size: var(--sidebar-item-font-size)\n margin-top: var(--sidebar-tree-space-above)\n margin-bottom: var(--sidebar-item-spacing-vertical)\n\n ul\n padding: 0\n margin-top: 0\n margin-bottom: 0\n\n display: flex\n flex-direction: column\n\n list-style: none\n\n li\n position: relative\n margin: 0\n\n > ul\n margin-left: var(--sidebar-item-spacing-horizontal)\n\n .icon\n color: var(--color-sidebar-link-text)\n\n .reference\n box-sizing: border-box\n color: var(--color-sidebar-link-text)\n\n // Fill the parent.\n display: inline-block\n line-height: var(--sidebar-item-line-height)\n text-decoration: none\n\n // Don't allow long words to cause wrapping.\n overflow-wrap: anywhere\n\n height: 100%\n width: 100%\n\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n\n &:hover\n color: var(--color-sidebar-link-text)\n background: var(--color-sidebar-item-background--hover)\n\n // Add a nice little \"external-link\" arrow here.\n &.external::after\n content: url('data:image/svg+xml,')\n margin: 0 0.25rem\n vertical-align: middle\n color: var(--color-sidebar-link-text)\n\n // Make the current page reference bold.\n .current-page > .reference\n font-weight: bold\n\n label\n position: absolute\n top: 0\n right: 0\n height: var(--sidebar-item-height)\n width: var(--sidebar-expander-width)\n\n cursor: pointer\n user-select: none\n\n display: flex\n justify-content: center\n align-items: center\n\n .caption, :not(.caption) > .caption-text\n font-size: var(--sidebar-caption-font-size)\n color: var(--color-sidebar-caption-text)\n\n font-weight: bold\n text-transform: uppercase\n\n margin: var(--sidebar-caption-space-above) 0 0 0\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n\n // If it has children, add a bit more padding to wrap the content to avoid\n // overlapping with the
-
Pydis Core Latest (11.3.1)
+
Pydis Core Latest (11.4.0)
@@ -197,7 +197,7 @@ Logo
- Pydis Core Latest (11.3.1) + Pydis Core Latest (11.4.0) @@ -493,6 +493,21 @@
  • PaginationEmojis
      +
    • PaginationEmojis.__class_vars__
    • +
    • PaginationEmojis.__private_attributes__
    • +
    • PaginationEmojis.__pydantic_complete__
    • +
    • PaginationEmojis.__pydantic_core_schema__
    • +
    • PaginationEmojis.__pydantic_custom_init__
    • +
    • PaginationEmojis.__pydantic_decorators__
    • +
    • PaginationEmojis.__pydantic_extra__
    • +
    • PaginationEmojis.__pydantic_fields_set__
    • +
    • PaginationEmojis.__pydantic_generic_metadata__
    • +
    • PaginationEmojis.__pydantic_parent_namespace__
    • +
    • PaginationEmojis.__pydantic_post_init__
    • +
    • PaginationEmojis.__pydantic_private__
    • +
    • PaginationEmojis.__pydantic_serializer__
    • +
    • PaginationEmojis.__pydantic_validator__
    • +
    • PaginationEmojis.__signature__
    • PaginationEmojis.model_computed_fields
    • PaginationEmojis.model_config
    • PaginationEmojis.model_fields
    • @@ -582,7 +597,7 @@
  • - + diff --git a/main/index_redirect.html b/main/index_redirect.html index 74f59af1..bff71999 100644 --- a/main/index_redirect.html +++ b/main/index_redirect.html @@ -7,15 +7,15 @@ - + - Pydis Core Latest (11.3.1) + Pydis Core Latest (11.4.0) - + - + @@ -54,7 +54,7 @@ Please click here if you were not redirected to the latest build. - + diff --git a/main/objects.inv b/main/objects.inv index aa290d5e..869c35bd 100644 Binary files a/main/objects.inv and b/main/objects.inv differ diff --git a/main/output/pydis_core.async_stats.html b/main/output/pydis_core.async_stats.html index b8516c95..c87d733d 100644 --- a/main/output/pydis_core.async_stats.html +++ b/main/output/pydis_core.async_stats.html @@ -5,14 +5,14 @@ - - async_stats - Pydis Core Latest (11.3.1) + + async_stats - Pydis Core Latest (11.4.0) - + - + @@ -170,7 +170,7 @@
    -
    Pydis Core Latest (11.3.1)
    +
    Pydis Core Latest (11.4.0)
    @@ -197,7 +197,7 @@ Logo
    - Pydis Core Latest (11.3.1) + Pydis Core Latest (11.4.0) @@ -456,12 +456,12 @@

    An async transport method for statsd communication.

    -class AsyncStatsClient(loop, host='localhost', port=8125, prefix=None)[source]¶
    +class AsyncStatsClient(loop, host='localhost', port=8125, prefix=None)[source]¶

    Bases: StatsClientBase

    An async implementation of statsd.client.base.StatsClientBase that supports async stat communication.

    -__init__(loop, host='localhost', port=8125, prefix=None)[source]¶
    +__init__(loop, host='localhost', port=8125, prefix=None)[source]¶

    Create a new AsyncStatsClient.

    Parameters:
    @@ -478,7 +478,7 @@
    -async create_socket()[source]¶
    +async create_socket()[source]¶

    Use asyncio.loop.create_datagram_endpoint from the loop given on init to create a socket.

    Return type:
    @@ -563,7 +563,7 @@
    - + diff --git a/main/output/pydis_core.exts.html b/main/output/pydis_core.exts.html index 733f1ea4..38bd11f1 100644 --- a/main/output/pydis_core.exts.html +++ b/main/output/pydis_core.exts.html @@ -5,14 +5,14 @@ - - Exts - Pydis Core Latest (11.3.1) + + Exts - Pydis Core Latest (11.4.0) - + - + @@ -170,7 +170,7 @@
    -
    Pydis Core Latest (11.3.1)
    +
    Pydis Core Latest (11.4.0)
    @@ -197,7 +197,7 @@ Logo
    - Pydis Core Latest (11.3.1) + Pydis Core Latest (11.4.0) @@ -505,7 +505,7 @@
    - + diff --git a/main/output/pydis_core.html b/main/output/pydis_core.html index 6f0ef93b..e62d5b21 100644 --- a/main/output/pydis_core.html +++ b/main/output/pydis_core.html @@ -5,14 +5,14 @@ - - Pydis Core - Pydis Core Latest (11.3.1) + + Pydis Core - Pydis Core Latest (11.4.0) - + - + @@ -170,7 +170,7 @@
    -
    Pydis Core Latest (11.3.1)
    +
    Pydis Core Latest (11.4.0)
    @@ -197,7 +197,7 @@ Logo
    - Pydis Core Latest (11.3.1) + Pydis Core Latest (11.4.0) @@ -456,12 +456,12 @@

    Useful utilities and tools for Discord bot development.

    -class BotBase(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]¶
    +class BotBase(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]¶

    Bases: Bot

    A sub-class that implements many common features that Python Discord bots use.

    -guild_id[source]¶
    +guild_id[source]¶

    ID of the guild that the bot belongs to.

    Type:
    @@ -472,18 +472,18 @@
    -http_session[source]¶
    +http_session[source]¶

    The http session used for sending out HTTP requests.

    Type:
    -

    aiohttp.ClientSession

    +

    aiohttp.ClientSession

    -api_client[source]¶
    +api_client[source]¶

    The API client used for communications with the site service.

    Type:
    @@ -494,7 +494,7 @@
    -statsd_url[source]¶
    +statsd_url[source]¶

    The url that statsd sends metrics to.

    Type:
    @@ -505,7 +505,7 @@
    -redis_session[source]¶
    +redis_session[source]¶

    The redis session used to communicate with the Redis instance.

    Type:
    @@ -516,7 +516,7 @@
    -stats[source]¶
    +stats[source]¶

    The statsd client that sends metrics.

    Type:
    @@ -527,7 +527,7 @@
    -all_extensions[source]¶
    +all_extensions[source]¶

    All extensions that were found within the module passed to self.load_extensions. Use self.extensions to get the loaded extensions.

    @@ -539,14 +539,14 @@
    -__init__(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]¶
    +__init__(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]¶

    Initialise the base bot instance.

    Parameters:
    • guild_id (int) – The ID of the guild used for wait_until_guild_available().

    • allowed_roles (list) – A list of role IDs that the bot is allowed to mention.

    • -
    • http_session (aiohttp.ClientSession) – The session to use for the bot.

    • +
    • http_session (aiohttp.ClientSession) – The session to use for the bot.

    • redis_session (RedisSession | None) – The async_rediscache.RedisSession to use for the bot.

    • api_client (APIClient | None) – The pydis_core.site_api.APIClient instance to use for the bot.

    • statsd_url (str | None) – The URL of the statsd server to use for the bot. If not given, @@ -558,7 +558,7 @@ a dummy statsd client will be created.

    • -async add_cog(cog)[source]¶
      +async add_cog(cog)[source]¶

      Add the given cog to the bot and log the operation.

      Return type:
      @@ -569,7 +569,7 @@ a dummy statsd client will be created.

      -add_command(command)[source]¶
      +add_command(command)[source]¶

      Add command as normal and then add its root aliases to the bot.

      Return type:
      @@ -580,7 +580,7 @@ a dummy statsd client will be created.

      -clear()[source]¶
      +clear()[source]¶

      Not implemented! Re-instantiate the bot instead of attempting to re-use a closed one.

      Return type:
      @@ -591,7 +591,7 @@ a dummy statsd client will be created.

      -async close()[source]¶
      +async close()[source]¶

      Close the Discord connection, and the aiohttp session, connector, statsd client, and resolver.

      Return type:
      @@ -602,7 +602,7 @@ a dummy statsd client will be created.

      -async load_extensions(module, *, sync_app_commands=True)[source]¶
      +async load_extensions(module, *, sync_app_commands=True)[source]¶

      Load all the extensions within the given module and save them to self.all_extensions.

      Parameters:
      @@ -616,7 +616,7 @@ a dummy statsd client will be created.

      -async log_to_dev_log(message)[source]¶
      +async log_to_dev_log(message)[source]¶

      Log the given message to #dev-log.

      Return type:
      @@ -627,7 +627,7 @@ a dummy statsd client will be created.

      -async on_guild_available(guild)[source]¶
      +async on_guild_available(guild)[source]¶

      Set the internal guild available event when self.guild_id becomes available.

      If the cache appears to still be empty (no members, no channels, or no roles), the event will not be set and guild_available_but_cache_empty event will be emitted.

      @@ -640,7 +640,7 @@ will not be set and guild_available_but_cache_empty event will be e
      -async on_guild_unavailable(guild)[source]¶
      +async on_guild_unavailable(guild)[source]¶

      Clear the internal guild available event when self.guild_id becomes unavailable.

      Return type:
      @@ -651,7 +651,7 @@ will not be set and guild_available_but_cache_empty event will be e
      -async ping_services()[source]¶
      +async ping_services()[source]¶

      Ping all required services on setup to ensure they are up before starting.

      Return type:
      @@ -662,7 +662,7 @@ will not be set and guild_available_but_cache_empty event will be e
      -async process_commands(message)[source]¶
      +async process_commands(message)[source]¶

      Overwrite default Discord.py behaviour to process commands only after ensuring extensions are loaded.

      This extension check is only relevant for clients that make use of pydis_core.BotBase.load_extensions.

      @@ -674,7 +674,7 @@ will not be set and guild_available_but_cache_empty event will be e
      -register_command_error_manager(manager)[source]¶
      +register_command_error_manager(manager)[source]¶

      Bind an instance of the command error manager to both the bot and the command tree.

      The reason this doesn’t happen in the constructor is because error handlers might need an instance of the bot. So registration needs to happen once the bot instance has been created.

      @@ -687,7 +687,7 @@ So registration needs to happen once the bot instance has been created.

      -remove_command(name)[source]¶
      +remove_command(name)[source]¶

      Remove a command/alias as normal and then remove its root aliases from the bot.

      Individual root aliases cannot be removed by this function. To remove them, either remove the entire command or manually edit bot.all_commands.

      @@ -700,7 +700,7 @@ To remove them, either remove the entire command or manually edit bot.all_
      -async setup_hook()[source]¶
      +async setup_hook()[source]¶

      An async init to startup generic services.

      Connects to statsd, and calls AsyncStatsClient.create_socket @@ -714,7 +714,7 @@ and

      -async wait_until_guild_available()[source]¶
      +async wait_until_guild_available()[source]¶

      Wait until the guild that matches the guild_id given at init is available (and the cache is ready).

      The on_ready event is inadequate because it only waits 2 seconds for a GUILD_CREATE gateway event before giving up and thus not populating the cache for unavailable guilds.

      @@ -729,14 +729,14 @@ gateway event before giving up and thus not populating the cache for unavailable
      -exception EmptyPaginatorEmbedError[source]¶
      +exception EmptyPaginatorEmbedError[source]¶

      Bases: Exception

      Raised when attempting to paginate with empty contents.

      -class LinePaginator(prefix='```', suffix='```', max_size=4000, scale_to_size=4000, max_lines=None, linesep='\\n')[source]¶
      +class LinePaginator(prefix='```', suffix='```', max_size=4000, scale_to_size=4000, max_lines=None, linesep='\\n')[source]¶

      Bases: Paginator

      A class that aids in paginating code blocks for Discord messages.

      @@ -753,14 +753,14 @@ gateway event before giving up and thus not populating the cache for unavailable
      -__init__(prefix='```', suffix='```', max_size=4000, scale_to_size=4000, max_lines=None, linesep='\\n')[source]¶
      +__init__(prefix='```', suffix='```', max_size=4000, scale_to_size=4000, max_lines=None, linesep='\\n')[source]¶

      This function overrides the Paginator.__init__ from inside discord.ext.commands.

      It overrides in order to allow us to configure the maximum number of lines per page.

      -add_line(line='', *, empty=False)[source]¶
      +add_line(line='', *, empty=False)[source]¶

      Adds a line to the current page.

      If a line on a page exceeds max_size characters, then max_size will go up to scale_to_size for a single line before creating a new page for the overflow words. If it @@ -788,7 +788,7 @@ page at a reasonable size.

      -async classmethod paginate(pagination_emojis, lines, ctx, embed, *, prefix='', suffix='', max_lines=None, max_size=500, scale_to_size=4000, empty=True, restrict_to_user=None, timeout=300, footer_text=None, url=None, exception_on_empty_embed=False, reply=False, allowed_roles=None)[source]¶
      +async classmethod paginate(pagination_emojis, lines, ctx, embed, *, prefix='', suffix='', max_lines=None, max_size=500, scale_to_size=4000, empty=True, restrict_to_user=None, timeout=300, footer_text=None, url=None, exception_on_empty_embed=False, reply=False, allowed_roles=None)[source]¶

      Use a paginator and set of reactions to provide pagination over a set of lines.

      The reactions are used to switch page, or to finish with pagination.

      When used, this will send a message using ctx.send() and apply a set of reactions to it. These reactions may @@ -832,12 +832,104 @@ to any user with a moderation role.

      -class PaginationEmojis(**data)[source]¶
      +class PaginationEmojis(**data)[source]¶

      Bases: BaseModel

      The emojis that will be used for pagination.

      +
      +
      +__class_vars__: ClassVar[set[str]] = {}¶
      +

      The names of the class variables defined on the model.

      +
      + +
      +
      +__private_attributes__: ClassVar[Dict[str, ModelPrivateAttr]] = {}¶
      +

      Metadata about the private attributes of the model.

      +
      + +
      +
      +__pydantic_complete__: ClassVar[bool] = True¶
      +

      Whether model building is completed, or if there are still undefined fields.

      +
      + +
      +
      +__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'pydis_core.utils.pagination.PaginationEmojis'>, 'config': {'title': 'PaginationEmojis'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'pydis_core.utils.pagination.PaginationEmojis'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'pydis_core.utils.pagination.PaginationEmojis'>>]}, 'ref': 'pydis_core.utils.pagination.PaginationEmojis:94590387124016', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'delete': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': '<:trashcan:637136429717389331>', 'schema': {'type': 'str'}, 'type': 'default'}, 'type': 'model-field'}, 'first': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': '⏮', 'schema': {'type': 'str'}, 'type': 'default'}, 'type': 'model-field'}, 'last': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': '⏭', 'schema': {'type': 'str'}, 'type': 'default'}, 'type': 'model-field'}, 'left': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': '⬅', 'schema': {'type': 'str'}, 'type': 'default'}, 'type': 'model-field'}, 'right': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': '➡', 'schema': {'type': 'str'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'PaginationEmojis', 'type': 'model-fields'}, 'type': 'model'}¶
      +

      The core schema of the model.

      +
      + +
      +
      +__pydantic_custom_init__: ClassVar[bool] = False¶
      +

      Whether the model has a custom __init__ method.

      +
      + +
      +
      +__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})¶
      +

      Metadata containing the decorators defined on the model. +This replaces Model.__validators__ and Model.__root_validators__ from Pydantic V1.

      +
      + +
      +
      +__pydantic_extra__: dict[str, Any] | None¶
      +

      A dictionary containing extra values, if [extra][pydantic.config.ConfigDict.extra] is set to ‘allow’.

      +
      + +
      +
      +__pydantic_fields_set__: set[str]¶
      +

      The names of fields explicitly set during instantiation.

      +
      + +
      +
      +__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}¶
      +

      Metadata for generic models; contains data used for a similar purpose to +__args__, __origin__, __parameters__ in typing-module generics. May eventually be replaced by these.

      +
      + +
      +
      +__pydantic_parent_namespace__: ClassVar[Dict[str, Any] | None] = None¶
      +

      Parent namespace of the model, used for automatic rebuilding of models.

      +
      + +
      +
      +__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None¶
      +

      The name of the post-init method for the model, if defined.

      +
      + +
      +
      +__pydantic_private__: dict[str, Any] | None¶
      +

      Values of private attributes set on the model instance.

      +
      + +
      +
      +__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000056078a6c7730,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "delete": SerField {                         key_py: Py(                             0x00007f14f1560eb0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f14ed54cd50,                                         ),                                     ),                                     serializer: Str(                                         StrSerializer,                                     ),                                 },                             ),                         ),                         required: true,                     },                     "last": SerField {                         key_py: Py(                             0x00007f14f11d2270,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f14ed54cd00,                                         ),                                     ),                                     serializer: Str(                                         StrSerializer,                                     ),                                 },                             ),                         ),                         required: true,                     },                     "left": SerField {                         key_py: Py(                             0x00007f14f1179730,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f14ed54cc10,                                         ),                                     ),                                     serializer: Str(                                         StrSerializer,                                     ),                                 },                             ),                         ),                         required: true,                     },                     "right": SerField {                         key_py: Py(                             0x00007f14f11796f0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f14ed54ccb0,                                         ),                                     ),                                     serializer: Str(                                         StrSerializer,                                     ),                                 },                             ),                         ),                         required: true,                     },                     "first": SerField {                         key_py: Py(                             0x00007f14f11f48b0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f14ed54cc60,                                         ),                                     ),                                     serializer: Str(                                         StrSerializer,                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 5,             },         ),         has_extra: false,         root_model: false,         name: "PaginationEmojis",     }, ), definitions=[])¶
      +

      The pydantic-core SchemaSerializer used to dump instances of the model.

      +
      + +
      +
      +__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="PaginationEmojis", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "first",                         lookup_key: Simple {                             key: "first",                             py_key: Py(                                 0x00007f14edbced30,                             ),                             path: LookupPath(                                 [                                     S(                                         "first",                                         Py(                                             0x00007f14ed1e2230,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f14f11f48b0,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f14ed54cc60,                                     ),                                 ),                                 on_error: Raise,                                 validator: Str(                                     StrValidator {                                         strict: false,                                         coerce_numbers_to_str: false,                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[str]",                                 undefined: Py(                                     0x00007f14eddfccc0,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "left",                         lookup_key: Simple {                             key: "left",                             py_key: Py(                                 0x00007f14ed1e2af0,                             ),                             path: LookupPath(                                 [                                     S(                                         "left",                                         Py(                                             0x00007f14ed1d7bb0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f14f1179730,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f14ed54cc10,                                     ),                                 ),                                 on_error: Raise,                                 validator: Str(                                     StrValidator {                                         strict: false,                                         coerce_numbers_to_str: false,                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[str]",                                 undefined: Py(                                     0x00007f14eddfccc0,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "right",                         lookup_key: Simple {                             key: "right",                             py_key: Py(                                 0x00007f14ee0ad070,                             ),                             path: LookupPath(                                 [                                     S(                                         "right",                                         Py(                                             0x00007f14ec3bcdb0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f14f11796f0,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f14ed54ccb0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Str(                                     StrValidator {                                         strict: false,                                         coerce_numbers_to_str: false,                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[str]",                                 undefined: Py(                                     0x00007f14eddfccc0,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "last",                         lookup_key: Simple {                             key: "last",                             py_key: Py(                                 0x00007f14ec3bc570,                             ),                             path: LookupPath(                                 [                                     S(                                         "last",                                         Py(                                             0x00007f14ec3bcaf0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f14f11d2270,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f14ed54cd00,                                     ),                                 ),                                 on_error: Raise,                                 validator: Str(                                     StrValidator {                                         strict: false,                                         coerce_numbers_to_str: false,                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[str]",                                 undefined: Py(                                     0x00007f14eddfccc0,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "delete",                         lookup_key: Simple {                             key: "delete",                             py_key: Py(                                 0x00007f14ec3bc830,                             ),                             path: LookupPath(                                 [                                     S(                                         "delete",                                         Py(                                             0x00007f14ec3be1b0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f14f1560eb0,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f14ed54cd50,                                     ),                                 ),                                 on_error: Raise,                                 validator: Str(                                     StrValidator {                                         strict: false,                                         coerce_numbers_to_str: false,                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[str]",                                 undefined: Py(                                     0x00007f14eddfccc0,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "PaginationEmojis",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000056078a6c7730,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f14eddfccc0,         ),         name: "PaginationEmojis",     }, ), definitions=[], cache_strings=True)¶
      +

      The pydantic-core SchemaValidator used to validate instances of the model.

      +
      + +
      +
      +__signature__: ClassVar[Signature] = <Signature (*, first: str = '⏮', left: str = '⬅', right: str = '➡', last: str = '⏭', delete: str = '<:trashcan:637136429717389331>') -> None>¶
      +

      The synthesized __init__ [Signature][inspect.Signature] of the model.

      +
      +
      -model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
      +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}¶

      A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

      @@ -849,9 +941,9 @@ to any user with a moderation role.

      -model_fields: ClassVar[dict[str, FieldInfo]] = {'delete': FieldInfo(annotation=str, required=False, default='<:trashcan:637136429717389331>'), 'first': FieldInfo(annotation=str, required=False, default='⏮'), 'last': FieldInfo(annotation=str, required=False, default='⏭'), 'left': FieldInfo(annotation=str, required=False, default='⬅'), 'right': FieldInfo(annotation=str, required=False, default='➡')}¶
      +model_fields: ClassVar[Dict[str, FieldInfo]] = {'delete': FieldInfo(annotation=str, required=False, default='<:trashcan:637136429717389331>'), 'first': FieldInfo(annotation=str, required=False, default='⏮'), 'last': FieldInfo(annotation=str, required=False, default='⏭'), 'left': FieldInfo(annotation=str, required=False, default='⬅'), 'right': FieldInfo(annotation=str, required=False, default='➡')}¶

      Metadata about the fields defined on the model, -mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

      +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

      This replaces Model.__fields__ from Pydantic V1.

      @@ -859,12 +951,12 @@ mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
      -exception StartupError(base)[source]¶
      +exception StartupError(base)[source]¶

      Bases: Exception

      Exception class for startup errors.

      -__init__(base)[source]¶
      +__init__(base)[source]¶
      @@ -1112,6 +1204,21 @@ mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
    • PaginationEmojis
        +
      • PaginationEmojis.__class_vars__
      • +
      • PaginationEmojis.__private_attributes__
      • +
      • PaginationEmojis.__pydantic_complete__
      • +
      • PaginationEmojis.__pydantic_core_schema__
      • +
      • PaginationEmojis.__pydantic_custom_init__
      • +
      • PaginationEmojis.__pydantic_decorators__
      • +
      • PaginationEmojis.__pydantic_extra__
      • +
      • PaginationEmojis.__pydantic_fields_set__
      • +
      • PaginationEmojis.__pydantic_generic_metadata__
      • +
      • PaginationEmojis.__pydantic_parent_namespace__
      • +
      • PaginationEmojis.__pydantic_post_init__
      • +
      • PaginationEmojis.__pydantic_private__
      • +
      • PaginationEmojis.__pydantic_serializer__
      • +
      • PaginationEmojis.__pydantic_validator__
      • +
      • PaginationEmojis.__signature__
      • PaginationEmojis.model_computed_fields
      • PaginationEmojis.model_config
      • PaginationEmojis.model_fields
      • @@ -1134,7 +1241,7 @@ mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
    - + diff --git a/main/output/pydis_core.site_api.html b/main/output/pydis_core.site_api.html index 037b5ec2..65be790c 100644 --- a/main/output/pydis_core.site_api.html +++ b/main/output/pydis_core.site_api.html @@ -5,14 +5,14 @@ - - site_api - Pydis Core Latest (11.3.1) + + site_api - Pydis Core Latest (11.4.0) - + - + @@ -170,7 +170,7 @@
    -
    Pydis Core Latest (11.3.1)
    +
    Pydis Core Latest (11.4.0)
    @@ -197,7 +197,7 @@ Logo
    - Pydis Core Latest (11.3.1) + Pydis Core Latest (11.4.0) @@ -456,19 +456,19 @@

    An API wrapper around the Site API.

    -class APIClient(site_api_url, site_api_token, **session_kwargs)[source]¶
    +class APIClient(site_api_url, site_api_token, **session_kwargs)[source]¶

    Bases: object

    A wrapper for the Django Site API.

    -__init__(site_api_url, site_api_token, **session_kwargs)[source]¶
    +__init__(site_api_url, site_api_token, **session_kwargs)[source]¶

    Initialize a new APIClient instance.

    Parameters:
    • site_api_url (str) – The URL of the site API.

    • site_api_token (str) – The token to use for authentication.

    • -
    • session_kwargs – Keyword arguments to pass to the aiohttp.ClientSession constructor.

    • +
    • session_kwargs – Keyword arguments to pass to the aiohttp.ClientSession constructor.

    @@ -476,7 +476,7 @@
    -async close()[source]¶
    +async close()[source]¶

    Close the aiohttp session.

    Return type:
    @@ -487,7 +487,7 @@
    -async delete(endpoint, *, raise_for_status=True, **kwargs)[source]¶
    +async delete(endpoint, *, raise_for_status=True, **kwargs)[source]¶

    Equivalent to APIClient.request() with DELETE passed as the method.

    Return type:
    @@ -498,7 +498,7 @@
    -async get(endpoint, *, raise_for_status=True, **kwargs)[source]¶
    +async get(endpoint, *, raise_for_status=True, **kwargs)[source]¶

    Equivalent to APIClient.request() with GET passed as the method.

    Return type:
    @@ -509,12 +509,12 @@
    -async static maybe_raise_for_status(response, *, should_raise)[source]¶
    +async static maybe_raise_for_status(response, *, should_raise)[source]¶

    Raise ResponseCodeError for non-OK response if an exception should be raised.

    Parameters:
      -
    • response (aiohttp.ClientResponse) – The response to check.

    • +
    • response (aiohttp.ClientResponse) – The response to check.

    • should_raise (bool) – Whether or not to raise an exception.

    @@ -529,7 +529,7 @@
    -async patch(endpoint, *, raise_for_status=True, **kwargs)[source]¶
    +async patch(endpoint, *, raise_for_status=True, **kwargs)[source]¶

    Equivalent to APIClient.request() with PATCH passed as the method.

    Return type:
    @@ -540,7 +540,7 @@
    -async post(endpoint, *, raise_for_status=True, **kwargs)[source]¶
    +async post(endpoint, *, raise_for_status=True, **kwargs)[source]¶

    Equivalent to APIClient.request() with POST passed as the method.

    Return type:
    @@ -551,7 +551,7 @@
    -async put(endpoint, *, raise_for_status=True, **kwargs)[source]¶
    +async put(endpoint, *, raise_for_status=True, **kwargs)[source]¶

    Equivalent to APIClient.request() with PUT passed as the method.

    Return type:
    @@ -562,7 +562,7 @@
    -async request(method, endpoint, *, raise_for_status=True, **kwargs)[source]¶
    +async request(method, endpoint, *, raise_for_status=True, **kwargs)[source]¶

    Send an HTTP request to the site API and return the JSON response.

    Parameters:
    @@ -570,7 +570,7 @@
  • method (str) – The HTTP method to use.

  • endpoint (str) – The endpoint to send the request to.

  • raise_for_status (bool) – Whether or not to raise an exception if the response is not OK.

  • -
  • **kwargs – Any extra keyword arguments to pass to aiohttp.request().

  • +
  • **kwargs – Any extra keyword arguments to pass to aiohttp.request().

  • Return type:
    @@ -589,17 +589,17 @@
    -exception ResponseCodeError(response, response_json=None, response_text=None)[source]¶
    +exception ResponseCodeError(response, response_json=None, response_text=None)[source]¶

    Bases: ValueError

    Raised in APIClient.request() when a non-OK HTTP response is received.

    -__init__(response, response_json=None, response_text=None)[source]¶
    +__init__(response, response_json=None, response_text=None)[source]¶

    Initialize a new ResponseCodeError instance.

    Parameters:
      -
    • response (aiohttp.ClientResponse) – The response object from the request.

    • +
    • response (aiohttp.ClientResponse) – The response object from the request.

    • response_json (dict | None) – The JSON response returned from the request, if any.

    • response_text (str | None) – The text of the request, if any.

    @@ -609,7 +609,7 @@
    -__str__()[source]¶
    +__str__()[source]¶

    Return a string representation of the error.

    @@ -701,7 +701,7 @@
    - + diff --git a/main/output/pydis_core.utils.caching.html b/main/output/pydis_core.utils.caching.html index 06d619ce..ae7b3a9b 100644 --- a/main/output/pydis_core.utils.caching.html +++ b/main/output/pydis_core.utils.caching.html @@ -5,14 +5,14 @@ - - caching - Pydis Core Latest (11.3.1) + + caching - Pydis Core Latest (11.4.0) - + - + @@ -170,7 +170,7 @@
    -
    Pydis Core Latest (11.3.1)
    +
    Pydis Core Latest (11.4.0)
    @@ -197,7 +197,7 @@ Logo
    - Pydis Core Latest (11.3.1) + Pydis Core Latest (11.4.0) @@ -456,14 +456,14 @@

    Utilities related to custom caches.

    -class AsyncCache(max_size=128)[source]¶
    +class AsyncCache(max_size=128)[source]¶

    Bases: object

    LRU cache implementation for coroutines.

    Once the cache exceeds the maximum size, keys are deleted in FIFO order.

    An offset may be optionally provided to be applied to the coroutine’s arguments when creating the cache key.

    -__call__(arg_offset=0)[source]¶
    +__call__(arg_offset=0)[source]¶

    Decorator for async cache.

    Parameters:
    @@ -480,7 +480,7 @@
    -__init__(max_size=128)[source]¶
    +__init__(max_size=128)[source]¶

    Initialise a new AsyncCache instance.

    Parameters:
    @@ -491,7 +491,7 @@
    -clear()[source]¶
    +clear()[source]¶

    Clear cache instance.

    Return type:
    @@ -577,7 +577,7 @@
    - + diff --git a/main/output/pydis_core.utils.channel.html b/main/output/pydis_core.utils.channel.html index b4efbcce..4e0f3765 100644 --- a/main/output/pydis_core.utils.channel.html +++ b/main/output/pydis_core.utils.channel.html @@ -5,14 +5,14 @@ - - channel - Pydis Core Latest (11.3.1) + + channel - Pydis Core Latest (11.4.0) - + - + @@ -170,7 +170,7 @@
    -
    Pydis Core Latest (11.3.1)
    +
    Pydis Core Latest (11.4.0)
    @@ -197,7 +197,7 @@ Logo
    - Pydis Core Latest (11.3.1) + Pydis Core Latest (11.4.0) @@ -456,7 +456,7 @@

    Useful helper functions for interacting with various discord channel objects.

    -async get_or_fetch_channel(bot, channel_id)[source]¶
    +async get_or_fetch_channel(bot, channel_id)[source]¶

    Attempt to get or fetch the given channel_id from the bots cache, and return it.

    Parameters:
    @@ -484,7 +484,7 @@
    -is_in_category(channel, category_id)[source]¶
    +is_in_category(channel, category_id)[source]¶

    Return whether the given channel in the the category with the id category_id.

    Parameters:
    @@ -573,7 +573,7 @@
    - + diff --git a/main/output/pydis_core.utils.checks.html b/main/output/pydis_core.utils.checks.html index 8255c4e1..cd835f60 100644 --- a/main/output/pydis_core.utils.checks.html +++ b/main/output/pydis_core.utils.checks.html @@ -5,14 +5,14 @@ - - checks - Pydis Core Latest (11.3.1) + + checks - Pydis Core Latest (11.4.0) - + - + @@ -170,7 +170,7 @@
    -
    Pydis Core Latest (11.3.1)
    +
    Pydis Core Latest (11.4.0)
    @@ -197,7 +197,7 @@ Logo
    - Pydis Core Latest (11.3.1) + Pydis Core Latest (11.4.0) @@ -455,26 +455,26 @@

    checks¶

    -exception ContextCheckFailure(redirect_channel)[source]¶
    +exception ContextCheckFailure(redirect_channel)[source]¶

    Bases: CheckFailure

    Raised when a context-specific check fails.

    -__init__(redirect_channel)[source]¶
    +__init__(redirect_channel)[source]¶
    -exception InWhitelistCheckFailure(redirect_channel)[source]¶
    +exception InWhitelistCheckFailure(redirect_channel)[source]¶

    Bases: ContextCheckFailure

    Raised when the in_whitelist check fails.

    -cooldown_with_role_bypass(rate, per, type_=('default', 0), *, bypass_roles)[source]¶
    +cooldown_with_role_bypass(rate, per, type_=('default', 0), *, bypass_roles)[source]¶

    Decorate a command to have a cooldown, which can be bypassed by users with specified roles.

    Note: This replaces the Command.before_invoke callback, which might introduce problems in the future.

    @@ -500,7 +500,7 @@
    -async has_any_role_check(ctx, *roles)[source]¶
    +async has_any_role_check(ctx, *roles)[source]¶

    Verify if the context’s author has any of the specified roles.

    This check will always fail if the context is a DM, since DMs don’t have roles.

    @@ -521,7 +521,7 @@
    -async has_no_roles_check(ctx, *roles)[source]¶
    +async has_no_roles_check(ctx, *roles)[source]¶

    Verify if the context’s author doesn’t have any of the specified roles.

    This check will always fail if the context is a DM, since DMs don’t have roles.

    @@ -542,7 +542,7 @@
    -in_whitelist_check(ctx, redirect, channels=(), categories=(), roles=(), *, fail_silently=False)[source]¶
    +in_whitelist_check(ctx, redirect, channels=(), categories=(), roles=(), *, fail_silently=False)[source]¶

    Check if a command was issued in a context that is whitelisted by channel, category, or roles.

    Parameters:
    @@ -645,7 +645,7 @@
    - + diff --git a/main/output/pydis_core.utils.commands.html b/main/output/pydis_core.utils.commands.html index 94e25b8b..bc379c59 100644 --- a/main/output/pydis_core.utils.commands.html +++ b/main/output/pydis_core.utils.commands.html @@ -5,14 +5,14 @@ - - commands - Pydis Core Latest (11.3.1) + + commands - Pydis Core Latest (11.4.0) - + - + @@ -170,7 +170,7 @@
    -
    Pydis Core Latest (11.3.1)
    +
    Pydis Core Latest (11.4.0)
    @@ -197,7 +197,7 @@ Logo
    - Pydis Core Latest (11.3.1) + Pydis Core Latest (11.4.0) @@ -455,7 +455,7 @@

    commands¶

    -async clean_text_or_reply(ctx, text=None)[source]¶
    +async clean_text_or_reply(ctx, text=None)[source]¶

    Cleans a text argument or replied message’s content.

    Parameters:
    @@ -546,7 +546,7 @@
    - + diff --git a/main/output/pydis_core.utils.cooldown.html b/main/output/pydis_core.utils.cooldown.html index 39c0e034..d062cf9f 100644 --- a/main/output/pydis_core.utils.cooldown.html +++ b/main/output/pydis_core.utils.cooldown.html @@ -5,14 +5,14 @@ - - cooldown - Pydis Core Latest (11.3.1) + + cooldown - Pydis Core Latest (11.4.0) - + - + @@ -170,7 +170,7 @@
    -
    Pydis Core Latest (11.3.1)
    +
    Pydis Core Latest (11.4.0)
    @@ -197,7 +197,7 @@ Logo
    - Pydis Core Latest (11.3.1) + Pydis Core Latest (11.4.0) @@ -456,17 +456,17 @@

    Helpers for setting a cooldown on commands.

    -exception CommandOnCooldown(message, function, /, *args, **kwargs)[source]¶
    +exception CommandOnCooldown(message, function, /, *args, **kwargs)[source]¶

    Bases: CommandError, Generic[P, R]

    Raised when a command is invoked while on cooldown.

    -__init__(message, function, /, *args, **kwargs)[source]¶
    +__init__(message, function, /, *args, **kwargs)[source]¶
    -async call_without_cooldown()[source]¶
    +async call_without_cooldown()[source]¶

    Run the command this cooldown blocked.

    Return type:
    @@ -482,20 +482,20 @@
    -P = ~P[source]¶
    +P = ~P[source]¶

    The command’s signature.

    -class R[source]¶
    +class R[source]¶

    The command’s return value.

    alias of TypeVar(‘R’)

    -block_duplicate_invocations(*, cooldown_duration=5, send_notice=False, args_preprocessor=None)[source]¶
    +block_duplicate_invocations(*, cooldown_duration=5, send_notice=False, args_preprocessor=None)[source]¶

    Prevent duplicate invocations of a command with the same arguments in a channel for cooldown_duration seconds.

    Parameters:
    @@ -596,7 +596,7 @@ its return value is then used to check for the cooldown instead of the raw argum
    - + diff --git a/main/output/pydis_core.utils.error_handling.commands.abc.html b/main/output/pydis_core.utils.error_handling.commands.abc.html index c2e76d67..16a1894e 100644 --- a/main/output/pydis_core.utils.error_handling.commands.abc.html +++ b/main/output/pydis_core.utils.error_handling.commands.abc.html @@ -5,14 +5,14 @@ - - abc - Pydis Core Latest (11.3.1) + + abc - Pydis Core Latest (11.4.0) - + - + @@ -170,7 +170,7 @@
    -
    Pydis Core Latest (11.3.1)
    +
    Pydis Core Latest (11.4.0)
    @@ -197,7 +197,7 @@ Logo
    - Pydis Core Latest (11.3.1) + Pydis Core Latest (11.4.0) @@ -455,12 +455,12 @@

    abc¶

    -class AbstractCommandErrorHandler[source]¶
    +class AbstractCommandErrorHandler[source]¶

    Bases: ABC

    An abstract command error handler.

    -abstract async handle_app_command_error(interaction, error)[source]¶
    +abstract async handle_app_command_error(interaction, error)[source]¶

    Handle error raised in the context of app commands.

    Return type:
    @@ -471,7 +471,7 @@
    -abstract async handle_text_command_error(context, error)[source]¶
    +abstract async handle_text_command_error(context, error)[source]¶

    Handle error raised in the context of text commands.

    Return type:
    @@ -482,7 +482,7 @@
    -abstract async should_handle_error(error)[source]¶
    +abstract async should_handle_error(error)[source]¶

    A predicate that determines whether the error should be handled.

    Return type:
    @@ -568,7 +568,7 @@
    - + diff --git a/main/output/pydis_core.utils.error_handling.commands.html b/main/output/pydis_core.utils.error_handling.commands.html index c529b3b9..c6dd8996 100644 --- a/main/output/pydis_core.utils.error_handling.commands.html +++ b/main/output/pydis_core.utils.error_handling.commands.html @@ -5,14 +5,14 @@ - - commands package - Pydis Core Latest (11.3.1) + + commands package - Pydis Core Latest (11.4.0) - + - + @@ -170,7 +170,7 @@
    -
    Pydis Core Latest (11.3.1)
    +
    Pydis Core Latest (11.4.0)
    @@ -197,7 +197,7 @@ Logo
    - Pydis Core Latest (11.3.1) + Pydis Core Latest (11.4.0) @@ -455,12 +455,12 @@

    commands package¶

    -class AbstractCommandErrorHandler[source]¶
    +class AbstractCommandErrorHandler[source]¶

    Bases: ABC

    An abstract command error handler.

    -abstract async handle_app_command_error(interaction, error)[source]¶
    +abstract async handle_app_command_error(interaction, error)[source]¶

    Handle error raised in the context of app commands.

    Return type:
    @@ -471,7 +471,7 @@
    -abstract async handle_text_command_error(context, error)[source]¶
    +abstract async handle_text_command_error(context, error)[source]¶

    Handle error raised in the context of text commands.

    Return type:
    @@ -482,7 +482,7 @@
    -abstract async should_handle_error(error)[source]¶
    +abstract async should_handle_error(error)[source]¶

    A predicate that determines whether the error should be handled.

    Return type:
    @@ -495,17 +495,17 @@
    -class CommandErrorManager(default)[source]¶
    +class CommandErrorManager(default)[source]¶

    Bases: object

    A class that registers error handlers and handles all command related errors.

    -__init__(default)[source]¶
    +__init__(default)[source]¶
    -async handle_error(error, context_or_interaction)[source]¶
    +async handle_error(error, context_or_interaction)[source]¶

    Handle a Discord exception.

    Iterate through available handlers by registration order, and choose the first one capable of handling the error as determined by should_handle_error; there is no priority system.

    @@ -518,7 +518,7 @@ the error as determined by should_handle_error; there is no priorit
    -register_handler(handler)[source]¶
    +register_handler(handler)[source]¶

    Register a command error handler.

    Return type:
    @@ -636,7 +636,7 @@ the error as determined by should_handle_error; there is no priorit
    - + diff --git a/main/output/pydis_core.utils.error_handling.commands.manager.html b/main/output/pydis_core.utils.error_handling.commands.manager.html index 55cd957a..21ffe21c 100644 --- a/main/output/pydis_core.utils.error_handling.commands.manager.html +++ b/main/output/pydis_core.utils.error_handling.commands.manager.html @@ -5,14 +5,14 @@ - - manager - Pydis Core Latest (11.3.1) + + manager - Pydis Core Latest (11.4.0) - + - + @@ -170,7 +170,7 @@
    -
    Pydis Core Latest (11.3.1)
    +
    Pydis Core Latest (11.4.0)
    @@ -197,7 +197,7 @@ Logo
    - Pydis Core Latest (11.3.1) + Pydis Core Latest (11.4.0) @@ -455,17 +455,17 @@

    manager¶

    -class CommandErrorManager(default)[source]¶
    +class CommandErrorManager(default)[source]¶

    Bases: object

    A class that registers error handlers and handles all command related errors.

    -__init__(default)[source]¶
    +__init__(default)[source]¶
    -async handle_error(error, context_or_interaction)[source]¶
    +async handle_error(error, context_or_interaction)[source]¶

    Handle a Discord exception.

    Iterate through available handlers by registration order, and choose the first one capable of handling the error as determined by should_handle_error; there is no priority system.

    @@ -478,7 +478,7 @@ the error as determined by should_handle_error; there is no priorit
    -register_handler(handler)[source]¶
    +register_handler(handler)[source]¶

    Register a command error handler.

    Return type:
    @@ -564,7 +564,7 @@ the error as determined by should_handle_error; there is no priorit
    - + diff --git a/main/output/pydis_core.utils.error_handling.html b/main/output/pydis_core.utils.error_handling.html index 0da66610..21136f7a 100644 --- a/main/output/pydis_core.utils.error_handling.html +++ b/main/output/pydis_core.utils.error_handling.html @@ -5,14 +5,14 @@ - - error_handling package - Pydis Core Latest (11.3.1) + + error_handling package - Pydis Core Latest (11.4.0) - + - + @@ -170,7 +170,7 @@
    -
    Pydis Core Latest (11.3.1)
    +
    Pydis Core Latest (11.4.0)
    @@ -197,7 +197,7 @@ Logo
    - Pydis Core Latest (11.3.1) + Pydis Core Latest (11.4.0) @@ -455,7 +455,7 @@

    error_handling package¶

    -async handle_forbidden_from_block(error, message=None)[source]¶
    +async handle_forbidden_from_block(error, message=None)[source]¶

    Handles discord.Forbidden 90001 errors, or re-raises if error isn’t a 90001 error.

    Parameters:
    @@ -574,7 +574,7 @@
    - + diff --git a/main/output/pydis_core.utils.function.html b/main/output/pydis_core.utils.function.html index ec34cc13..dce3cb94 100644 --- a/main/output/pydis_core.utils.function.html +++ b/main/output/pydis_core.utils.function.html @@ -5,14 +5,14 @@ - - function - Pydis Core Latest (11.3.1) + + function - Pydis Core Latest (11.4.0) - + - + @@ -170,7 +170,7 @@
    -
    Pydis Core Latest (11.3.1)
    +
    Pydis Core Latest (11.4.0)
    @@ -197,7 +197,7 @@ Logo
    - Pydis Core Latest (11.3.1) + Pydis Core Latest (11.4.0) @@ -456,14 +456,14 @@

    Utils for manipulating functions.

    -exception GlobalNameConflictError[source]¶
    +exception GlobalNameConflictError[source]¶

    Bases: Exception

    Raised on a conflict between the globals used to resolve annotations of a wrapped function and its wrapper.

    -command_wraps(wrapped, assigned=('__module__', '__name__', '__qualname__', '__doc__', '__annotations__'), updated=('__dict__',), *, ignored_conflict_names=frozenset({}))[source]¶
    +command_wraps(wrapped, assigned=('__module__', '__name__', '__qualname__', '__doc__', '__annotations__'), updated=('__dict__',), *, ignored_conflict_names=frozenset({}))[source]¶

    Update the decorated function to look like wrapped, and update globals for discord.py forwardref evaluation.

    See update_wrapper_globals() for more details on how the globals are updated.

    @@ -487,7 +487,7 @@ with the wrapper replaced with the function
    -get_arg_value(name_or_pos, arguments)[source]¶
    +get_arg_value(name_or_pos, arguments)[source]¶

    Return a value from arguments based on a name or position.

    Parameters:
    @@ -510,7 +510,7 @@ with the wrapper replaced with the function
    -get_arg_value_wrapper(decorator_func, name_or_pos, func=None)[source]¶
    +get_arg_value_wrapper(decorator_func, name_or_pos, func=None)[source]¶

    Call decorator_func with the value of the arg at the given name/position.

    Parameters:
    @@ -532,7 +532,7 @@ parameter names to argument values of the function it’s decorating.

    -get_bound_args(func, args, kwargs)[source]¶
    +get_bound_args(func, args, kwargs)[source]¶

    Bind args and kwargs to func and return a mapping of parameter names to argument values.

    Default parameter values are also set.

    @@ -554,7 +554,7 @@ parameter names to argument values of the function it’s decorating.

    -update_wrapper_globals(wrapper, wrapped, *, ignored_conflict_names=frozenset({}))[source]¶
    +update_wrapper_globals(wrapper, wrapped, *, ignored_conflict_names=frozenset({}))[source]¶

    Create a copy of wrapper, the copy’s globals are updated with wrapped's globals.

    For forwardrefs in command annotations, discord.py uses the __global__ attribute of the function to resolve their values. This breaks for decorators that replace the function because they have @@ -657,7 +657,7 @@ changes won’t be reflected in the new function’s globals.

    - + diff --git a/main/output/pydis_core.utils.html b/main/output/pydis_core.utils.html index e3033e24..2e76f084 100644 --- a/main/output/pydis_core.utils.html +++ b/main/output/pydis_core.utils.html @@ -5,14 +5,14 @@ - - Utils - Pydis Core Latest (11.3.1) + + Utils - Pydis Core Latest (11.4.0) - + - + @@ -170,7 +170,7 @@
    -
    Pydis Core Latest (11.3.1)
    +
    Pydis Core Latest (11.4.0)
    @@ -197,7 +197,7 @@ Logo
    - Pydis Core Latest (11.3.1) + Pydis Core Latest (11.4.0) @@ -456,7 +456,7 @@

    Useful utilities and tools for Discord bot development.

    -apply_monkey_patches()[source]¶
    +apply_monkey_patches()[source]¶

    Applies all common monkey patches for our bots.

    Return type:
    @@ -475,7 +475,7 @@ that will act as top-level groups rather than being aliases of the command’s g
    -unqualify(name)[source]¶
    +unqualify(name)[source]¶

    Return an unqualified name given a qualified module/package name.

    Parameters:
    @@ -625,6 +625,21 @@ that will act as top-level groups rather than being aliases of the command’s g
  • PaginationEmojis
      +
    • PaginationEmojis.__class_vars__
    • +
    • PaginationEmojis.__private_attributes__
    • +
    • PaginationEmojis.__pydantic_complete__
    • +
    • PaginationEmojis.__pydantic_core_schema__
    • +
    • PaginationEmojis.__pydantic_custom_init__
    • +
    • PaginationEmojis.__pydantic_decorators__
    • +
    • PaginationEmojis.__pydantic_extra__
    • +
    • PaginationEmojis.__pydantic_fields_set__
    • +
    • PaginationEmojis.__pydantic_generic_metadata__
    • +
    • PaginationEmojis.__pydantic_parent_namespace__
    • +
    • PaginationEmojis.__pydantic_post_init__
    • +
    • PaginationEmojis.__pydantic_private__
    • +
    • PaginationEmojis.__pydantic_serializer__
    • +
    • PaginationEmojis.__pydantic_validator__
    • +
    • PaginationEmojis.__signature__
    • PaginationEmojis.model_computed_fields
    • PaginationEmojis.model_config
    • PaginationEmojis.model_fields
    • @@ -635,12 +650,42 @@ that will act as top-level groups rather than being aliases of the command’s g
    • paste_service
      • MAX_PASTE_SIZE
      • PasteFile
          +
        • PasteFile.__class_vars__
        • +
        • PasteFile.__private_attributes__
        • +
        • PasteFile.__pydantic_complete__
        • +
        • PasteFile.__pydantic_core_schema__
        • +
        • PasteFile.__pydantic_custom_init__
        • +
        • PasteFile.__pydantic_decorators__
        • +
        • PasteFile.__pydantic_extra__
        • +
        • PasteFile.__pydantic_fields_set__
        • +
        • PasteFile.__pydantic_generic_metadata__
        • +
        • PasteFile.__pydantic_parent_namespace__
        • +
        • PasteFile.__pydantic_post_init__
        • +
        • PasteFile.__pydantic_private__
        • +
        • PasteFile.__pydantic_serializer__
        • +
        • PasteFile.__pydantic_validator__
        • +
        • PasteFile.__signature__
        • PasteFile.model_computed_fields
        • PasteFile.model_config
        • PasteFile.model_fields
      • PasteResponse
          +
        • PasteResponse.__class_vars__
        • +
        • PasteResponse.__private_attributes__
        • +
        • PasteResponse.__pydantic_complete__
        • +
        • PasteResponse.__pydantic_core_schema__
        • +
        • PasteResponse.__pydantic_custom_init__
        • +
        • PasteResponse.__pydantic_decorators__
        • +
        • PasteResponse.__pydantic_extra__
        • +
        • PasteResponse.__pydantic_fields_set__
        • +
        • PasteResponse.__pydantic_generic_metadata__
        • +
        • PasteResponse.__pydantic_parent_namespace__
        • +
        • PasteResponse.__pydantic_post_init__
        • +
        • PasteResponse.__pydantic_private__
        • +
        • PasteResponse.__pydantic_serializer__
        • +
        • PasteResponse.__pydantic_validator__
        • +
        • PasteResponse.__signature__
        • PasteResponse.model_computed_fields
        • PasteResponse.model_config
        • PasteResponse.model_fields
        • @@ -748,7 +793,7 @@ that will act as top-level groups rather than being aliases of the command’s g
  • - + diff --git a/main/output/pydis_core.utils.interactions.html b/main/output/pydis_core.utils.interactions.html index 62db174c..4de6bfd0 100644 --- a/main/output/pydis_core.utils.interactions.html +++ b/main/output/pydis_core.utils.interactions.html @@ -5,14 +5,14 @@ - - interactions - Pydis Core Latest (11.3.1) + + interactions - Pydis Core Latest (11.4.0) - + - + @@ -170,7 +170,7 @@
    -
    Pydis Core Latest (11.3.1)
    +
    Pydis Core Latest (11.4.0)
    @@ -197,7 +197,7 @@ Logo
    - Pydis Core Latest (11.3.1) + Pydis Core Latest (11.4.0) @@ -455,7 +455,7 @@

    interactions¶

    -class DeleteMessageButton(*, style=('secondary', 2), label='Delete', **kwargs)[source]¶
    +class DeleteMessageButton(*, style=('secondary', 2), label='Delete', **kwargs)[source]¶

    Bases: Button

    A button that can be added to a view to delete the message containing the view on click.

    This button itself carries out no interaction checks, these should be done by the parent view.

    @@ -470,12 +470,12 @@
    -__init__(*, style=('secondary', 2), label='Delete', **kwargs)[source]¶
    +__init__(*, style=('secondary', 2), label='Delete', **kwargs)[source]¶
    -async callback(interaction)[source]¶
    +async callback(interaction)[source]¶

    Delete the original message on button click.

    Return type:
    @@ -488,7 +488,7 @@
    -class ViewWithUserAndRoleCheck(*, allowed_users, allowed_roles, timeout=180.0, message=None)[source]¶
    +class ViewWithUserAndRoleCheck(*, allowed_users, allowed_roles, timeout=180.0, message=None)[source]¶

    Bases: View

    A view that allows only allows the specified users, or users with the specified roles, to interact with it.

    @@ -505,12 +505,12 @@ If None
    -__init__(*, allowed_users, allowed_roles, timeout=180.0, message=None)[source]¶
    +__init__(*, allowed_users, allowed_roles, timeout=180.0, message=None)[source]¶
    -async interaction_check(interaction)[source]¶
    +async interaction_check(interaction)[source]¶

    Ensure the user clicking the button is the view invoker, or a moderator.

    Parameters:
    @@ -524,7 +524,7 @@ If None
    -async on_timeout()[source]¶
    +async on_timeout()[source]¶

    Remove the view from self.message if set.

    Return type:
    @@ -535,7 +535,7 @@ If None
    -stop()[source]¶
    +stop()[source]¶

    Stop listening for interactions, and remove the view from self.message if set.

    Return type:
    @@ -548,7 +548,7 @@ If None
    -user_has_access(user, *, allowed_users=(), allowed_roles=())[source]¶
    +user_has_access(user, *, allowed_users=(), allowed_roles=())[source]¶

    Return whether the user is in the allowed_users list, or has a role from allowed_roles.

    Parameters:
    @@ -646,7 +646,7 @@ If None
    - + diff --git a/main/output/pydis_core.utils.lock.html b/main/output/pydis_core.utils.lock.html index c7c81eda..e12a7d4d 100644 --- a/main/output/pydis_core.utils.lock.html +++ b/main/output/pydis_core.utils.lock.html @@ -5,14 +5,14 @@ - - lock - Pydis Core Latest (11.3.1) + + lock - Pydis Core Latest (11.4.0) - + - + @@ -170,7 +170,7 @@
    -
    Pydis Core Latest (11.3.1)
    +
    Pydis Core Latest (11.4.0)
    @@ -197,7 +197,7 @@ Logo
    - Pydis Core Latest (11.3.1) + Pydis Core Latest (11.4.0) @@ -455,12 +455,12 @@

    lock¶

    -exception LockedResourceError(resource_type, resource_id)[source]¶
    +exception LockedResourceError(resource_type, resource_id)[source]¶

    Bases: RuntimeError

    Exception raised when an operation is attempted on a locked resource.

    -type[source]¶
    +type[source]¶

    Name of the locked resource’s type

    Type:
    @@ -471,7 +471,7 @@
    -id[source]¶
    +id[source]¶

    ID of the locked resource

    Type:
    @@ -482,38 +482,38 @@
    -__init__(resource_type, resource_id)[source]¶
    +__init__(resource_type, resource_id)[source]¶
    -class SharedEvent[source]¶
    +class SharedEvent[source]¶

    Bases: object

    Context manager managing an internal event exposed through the wait coro.

    While any code is executing in this context manager, the underlying event will not be set; when all of the holders finish the event will be set.

    -__enter__()[source]¶
    +__enter__()[source]¶

    Increment the count of the active holders and clear the internal event.

    -__exit__(_exc_type, _exc_val, _exc_tb)[source]¶
    +__exit__(_exc_type, _exc_val, _exc_tb)[source]¶

    Decrement the count of the active holders; if 0 is reached set the internal event.

    -__init__()[source]¶
    +__init__()[source]¶
    -async wait()[source]¶
    +async wait()[source]¶

    Wait for all active holders to exit.

    Return type:
    @@ -526,7 +526,7 @@ when all of the holders finish the event will be set.

    -lock(namespace, resource_id, *, raise_error=False, wait=False)[source]¶
    +lock(namespace, resource_id, *, raise_error=False, wait=False)[source]¶

    Turn the decorated coroutine function into a mutually exclusive operation on a resource_id.

    If decorating a command, this decorator must go before (below) the command decorator.

    @@ -553,7 +553,7 @@ and return None.

    -lock_arg(namespace, name_or_pos, func=None, *, raise_error=False, wait=False)[source]¶
    +lock_arg(namespace, name_or_pos, func=None, *, raise_error=False, wait=False)[source]¶

    Apply the lock decorator using the value of the arg at the given name/position as the ID.

    See lock docs for more information.

    @@ -650,7 +650,7 @@ and return None.

    - + diff --git a/main/output/pydis_core.utils.logging.html b/main/output/pydis_core.utils.logging.html index e4ebf0b2..8b636ed7 100644 --- a/main/output/pydis_core.utils.logging.html +++ b/main/output/pydis_core.utils.logging.html @@ -5,14 +5,14 @@ - - logging - Pydis Core Latest (11.3.1) + + logging - Pydis Core Latest (11.4.0) - + - + @@ -170,7 +170,7 @@
    -
    Pydis Core Latest (11.3.1)
    +
    Pydis Core Latest (11.4.0)
    @@ -197,7 +197,7 @@ Logo
    - Pydis Core Latest (11.3.1) + Pydis Core Latest (11.4.0) @@ -456,12 +456,12 @@

    Common logging related functions.

    -class CustomLogger(name, level=0)[source]¶
    +class CustomLogger(name, level=0)[source]¶

    Bases: Logger

    Custom implementation of the logging.Logger class with an added trace method.

    -trace(msg, *args, **kwargs)[source]¶
    +trace(msg, *args, **kwargs)[source]¶

    Log the given message with the severity "TRACE".

    To pass exception information, use the keyword argument exc_info with a true value:

    logger.trace("Houston, we have an %s", "interesting problem", exc_info=1)
    @@ -485,7 +485,7 @@
     
     
    -get_logger(name=None)[source]¶
    +get_logger(name=None)[source]¶

    Utility to make mypy recognise that logger is of type CustomLogger.

    Parameters:
    @@ -502,7 +502,7 @@
    -log_format[source]¶
    +log_format[source]¶

    A logging.Formatter that can be used to standardise logging across all projects using pydis_core.

    @@ -583,7 +583,7 @@
    -
    +
    diff --git a/main/output/pydis_core.utils.members.html b/main/output/pydis_core.utils.members.html index 1a927b89..421af3ba 100644 --- a/main/output/pydis_core.utils.members.html +++ b/main/output/pydis_core.utils.members.html @@ -5,14 +5,14 @@ - - members - Pydis Core Latest (11.3.1) + + members - Pydis Core Latest (11.4.0) - + - + @@ -170,7 +170,7 @@
    -
    Pydis Core Latest (11.3.1)
    +
    Pydis Core Latest (11.4.0)
    @@ -197,7 +197,7 @@ Logo
    - Pydis Core Latest (11.3.1) + Pydis Core Latest (11.4.0) @@ -456,7 +456,7 @@

    Useful helper functions for interactin with discord.Member objects.

    -async get_or_fetch_member(guild, member_id)[source]¶
    +async get_or_fetch_member(guild, member_id)[source]¶

    Attempt to get a member from cache; on failure fetch from the API.

    Return type:
    @@ -470,7 +470,7 @@
    -async handle_role_change(member, coro, role)[source]¶
    +async handle_role_change(member, coro, role)[source]¶

    Await the given coro with role as the sole argument.

    Handle errors that we expect to be raised from discord.Member.add_roles and discord.Member.remove_roles.

    @@ -559,7 +559,7 @@
    - + diff --git a/main/output/pydis_core.utils.messages.html b/main/output/pydis_core.utils.messages.html index f61c0116..6f3d5376 100644 --- a/main/output/pydis_core.utils.messages.html +++ b/main/output/pydis_core.utils.messages.html @@ -5,14 +5,14 @@ - - messages - Pydis Core Latest (11.3.1) + + messages - Pydis Core Latest (11.4.0) - + - + @@ -170,7 +170,7 @@
    -
    Pydis Core Latest (11.3.1)
    +
    Pydis Core Latest (11.4.0)
    @@ -197,7 +197,7 @@ Logo
    - Pydis Core Latest (11.3.1) + Pydis Core Latest (11.4.0) @@ -455,7 +455,7 @@

    messages¶

    -reaction_check(reaction, user, *, message_id, allowed_emoji, allowed_users, allowed_roles=None)[source]¶
    +reaction_check(reaction, user, *, message_id, allowed_emoji, allowed_users, allowed_roles=None)[source]¶

    Check if a reaction’s emoji and author are allowed and the message is message_id.

    If the user is not allowed, remove the reaction. Ignore reactions made by the bot. If allow_mods is True, allow users with moderator roles even if they’re not in allowed_users.

    @@ -536,7 +536,7 @@ If allow_mods is True, allow users with moderator roles even if the
    - + diff --git a/main/output/pydis_core.utils.pagination.html b/main/output/pydis_core.utils.pagination.html index a8e71de9..589a4ca6 100644 --- a/main/output/pydis_core.utils.pagination.html +++ b/main/output/pydis_core.utils.pagination.html @@ -5,14 +5,14 @@ - - pagination - Pydis Core Latest (11.3.1) + + pagination - Pydis Core Latest (11.4.0) - + - + @@ -170,7 +170,7 @@
    -
    Pydis Core Latest (11.3.1)
    +
    Pydis Core Latest (11.4.0)
    @@ -197,7 +197,7 @@ Logo
    - Pydis Core Latest (11.3.1) + Pydis Core Latest (11.4.0) @@ -455,14 +455,14 @@

    pagination¶

    -exception EmptyPaginatorEmbedError[source]¶
    +exception EmptyPaginatorEmbedError[source]¶

    Bases: Exception

    Raised when attempting to paginate with empty contents.

    -class LinePaginator(prefix='```', suffix='```', max_size=4000, scale_to_size=4000, max_lines=None, linesep='\\n')[source]¶
    +class LinePaginator(prefix='```', suffix='```', max_size=4000, scale_to_size=4000, max_lines=None, linesep='\\n')[source]¶

    Bases: Paginator

    A class that aids in paginating code blocks for Discord messages.

    @@ -479,14 +479,14 @@
    -__init__(prefix='```', suffix='```', max_size=4000, scale_to_size=4000, max_lines=None, linesep='\\n')[source]¶
    +__init__(prefix='```', suffix='```', max_size=4000, scale_to_size=4000, max_lines=None, linesep='\\n')[source]¶

    This function overrides the Paginator.__init__ from inside discord.ext.commands.

    It overrides in order to allow us to configure the maximum number of lines per page.

    -add_line(line='', *, empty=False)[source]¶
    +add_line(line='', *, empty=False)[source]¶

    Adds a line to the current page.

    If a line on a page exceeds max_size characters, then max_size will go up to scale_to_size for a single line before creating a new page for the overflow words. If it @@ -514,7 +514,7 @@ page at a reasonable size.

    -async classmethod paginate(pagination_emojis, lines, ctx, embed, *, prefix='', suffix='', max_lines=None, max_size=500, scale_to_size=4000, empty=True, restrict_to_user=None, timeout=300, footer_text=None, url=None, exception_on_empty_embed=False, reply=False, allowed_roles=None)[source]¶
    +async classmethod paginate(pagination_emojis, lines, ctx, embed, *, prefix='', suffix='', max_lines=None, max_size=500, scale_to_size=4000, empty=True, restrict_to_user=None, timeout=300, footer_text=None, url=None, exception_on_empty_embed=False, reply=False, allowed_roles=None)[source]¶

    Use a paginator and set of reactions to provide pagination over a set of lines.

    The reactions are used to switch page, or to finish with pagination.

    When used, this will send a message using ctx.send() and apply a set of reactions to it. These reactions may @@ -558,12 +558,104 @@ to any user with a moderation role.

    -class PaginationEmojis(**data)[source]¶
    +class PaginationEmojis(**data)[source]¶

    Bases: BaseModel

    The emojis that will be used for pagination.

    +
    +
    +__class_vars__: ClassVar[set[str]] = {}¶
    +

    The names of the class variables defined on the model.

    +
    + +
    +
    +__private_attributes__: ClassVar[Dict[str, ModelPrivateAttr]] = {}¶
    +

    Metadata about the private attributes of the model.

    +
    + +
    +
    +__pydantic_complete__: ClassVar[bool] = True¶
    +

    Whether model building is completed, or if there are still undefined fields.

    +
    + +
    +
    +__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'pydis_core.utils.pagination.PaginationEmojis'>, 'config': {'title': 'PaginationEmojis'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'pydis_core.utils.pagination.PaginationEmojis'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'pydis_core.utils.pagination.PaginationEmojis'>>]}, 'ref': 'pydis_core.utils.pagination.PaginationEmojis:94590386861776', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'delete': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': '<:trashcan:637136429717389331>', 'schema': {'type': 'str'}, 'type': 'default'}, 'type': 'model-field'}, 'first': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': '⏮', 'schema': {'type': 'str'}, 'type': 'default'}, 'type': 'model-field'}, 'last': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': '⏭', 'schema': {'type': 'str'}, 'type': 'default'}, 'type': 'model-field'}, 'left': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': '⬅', 'schema': {'type': 'str'}, 'type': 'default'}, 'type': 'model-field'}, 'right': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': '➡', 'schema': {'type': 'str'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'PaginationEmojis', 'type': 'model-fields'}, 'type': 'model'}¶
    +

    The core schema of the model.

    +
    + +
    +
    +__pydantic_custom_init__: ClassVar[bool] = False¶
    +

    Whether the model has a custom __init__ method.

    +
    + +
    +
    +__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})¶
    +

    Metadata containing the decorators defined on the model. +This replaces Model.__validators__ and Model.__root_validators__ from Pydantic V1.

    +
    + +
    +
    +__pydantic_extra__: dict[str, Any] | None¶
    +

    A dictionary containing extra values, if [extra][pydantic.config.ConfigDict.extra] is set to ‘allow’.

    +
    + +
    +
    +__pydantic_fields_set__: set[str]¶
    +

    The names of fields explicitly set during instantiation.

    +
    + +
    +
    +__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}¶
    +

    Metadata for generic models; contains data used for a similar purpose to +__args__, __origin__, __parameters__ in typing-module generics. May eventually be replaced by these.

    +
    + +
    +
    +__pydantic_parent_namespace__: ClassVar[Dict[str, Any] | None] = None¶
    +

    Parent namespace of the model, used for automatic rebuilding of models.

    +
    + +
    +
    +__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None¶
    +

    The name of the post-init method for the model, if defined.

    +
    + +
    +
    +__pydantic_private__: dict[str, Any] | None¶
    +

    Values of private attributes set on the model instance.

    +
    + +
    +
    +__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000056078a6876d0,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "left": SerField {                         key_py: Py(                             0x00007f14f1179730,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f14ed71e150,                                         ),                                     ),                                     serializer: Str(                                         StrSerializer,                                     ),                                 },                             ),                         ),                         required: true,                     },                     "delete": SerField {                         key_py: Py(                             0x00007f14f1560eb0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f14ed71e290,                                         ),                                     ),                                     serializer: Str(                                         StrSerializer,                                     ),                                 },                             ),                         ),                         required: true,                     },                     "right": SerField {                         key_py: Py(                             0x00007f14f11796f0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f14ed71e1f0,                                         ),                                     ),                                     serializer: Str(                                         StrSerializer,                                     ),                                 },                             ),                         ),                         required: true,                     },                     "first": SerField {                         key_py: Py(                             0x00007f14f11f48b0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f14ed71e1a0,                                         ),                                     ),                                     serializer: Str(                                         StrSerializer,                                     ),                                 },                             ),                         ),                         required: true,                     },                     "last": SerField {                         key_py: Py(                             0x00007f14f11d2270,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f14ed71e240,                                         ),                                     ),                                     serializer: Str(                                         StrSerializer,                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 5,             },         ),         has_extra: false,         root_model: false,         name: "PaginationEmojis",     }, ), definitions=[])¶
    +

    The pydantic-core SchemaSerializer used to dump instances of the model.

    +
    + +
    +
    +__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="PaginationEmojis", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "first",                         lookup_key: Simple {                             key: "first",                             py_key: Py(                                 0x00007f14ed9c4730,                             ),                             path: LookupPath(                                 [                                     S(                                         "first",                                         Py(                                             0x00007f14edbbacf0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f14f11f48b0,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f14ed71e1a0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Str(                                     StrValidator {                                         strict: false,                                         coerce_numbers_to_str: false,                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[str]",                                 undefined: Py(                                     0x00007f14efa1df60,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "left",                         lookup_key: Simple {                             key: "left",                             py_key: Py(                                 0x00007f14ec606270,                             ),                             path: LookupPath(                                 [                                     S(                                         "left",                                         Py(                                             0x00007f14ec604470,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f14f1179730,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f14ed71e150,                                     ),                                 ),                                 on_error: Raise,                                 validator: Str(                                     StrValidator {                                         strict: false,                                         coerce_numbers_to_str: false,                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[str]",                                 undefined: Py(                                     0x00007f14efa1df60,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "right",                         lookup_key: Simple {                             key: "right",                             py_key: Py(                                 0x00007f14ec607f30,                             ),                             path: LookupPath(                                 [                                     S(                                         "right",                                         Py(                                             0x00007f14ec607e70,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f14f11796f0,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f14ed71e1f0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Str(                                     StrValidator {                                         strict: false,                                         coerce_numbers_to_str: false,                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[str]",                                 undefined: Py(                                     0x00007f14efa1df60,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "last",                         lookup_key: Simple {                             key: "last",                             py_key: Py(                                 0x00007f14ec605ef0,                             ),                             path: LookupPath(                                 [                                     S(                                         "last",                                         Py(                                             0x00007f14ec6047f0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f14f11d2270,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f14ed71e240,                                     ),                                 ),                                 on_error: Raise,                                 validator: Str(                                     StrValidator {                                         strict: false,                                         coerce_numbers_to_str: false,                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[str]",                                 undefined: Py(                                     0x00007f14efa1df60,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "delete",                         lookup_key: Simple {                             key: "delete",                             py_key: Py(                                 0x00007f14ec604b30,                             ),                             path: LookupPath(                                 [                                     S(                                         "delete",                                         Py(                                             0x00007f14ec607bf0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f14f1560eb0,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f14ed71e290,                                     ),                                 ),                                 on_error: Raise,                                 validator: Str(                                     StrValidator {                                         strict: false,                                         coerce_numbers_to_str: false,                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[str]",                                 undefined: Py(                                     0x00007f14efa1df60,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "PaginationEmojis",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000056078a6876d0,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f14efa1df60,         ),         name: "PaginationEmojis",     }, ), definitions=[], cache_strings=True)¶
    +

    The pydantic-core SchemaValidator used to validate instances of the model.

    +
    + +
    +
    +__signature__: ClassVar[Signature] = <Signature (*, first: str = '⏮', left: str = '⬅', right: str = '➡', last: str = '⏭', delete: str = '<:trashcan:637136429717389331>') -> None>¶
    +

    The synthesized __init__ [Signature][inspect.Signature] of the model.

    +
    +
    -model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
    +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}¶

    A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

    @@ -575,9 +667,9 @@ to any user with a moderation role.

    -model_fields: ClassVar[dict[str, FieldInfo]] = {'delete': FieldInfo(annotation=str, required=False, default='<:trashcan:637136429717389331>'), 'first': FieldInfo(annotation=str, required=False, default='⏮'), 'last': FieldInfo(annotation=str, required=False, default='⏭'), 'left': FieldInfo(annotation=str, required=False, default='⬅'), 'right': FieldInfo(annotation=str, required=False, default='➡')}¶
    +model_fields: ClassVar[Dict[str, FieldInfo]] = {'delete': FieldInfo(annotation=str, required=False, default='<:trashcan:637136429717389331>'), 'first': FieldInfo(annotation=str, required=False, default='⏮'), 'last': FieldInfo(annotation=str, required=False, default='⏭'), 'left': FieldInfo(annotation=str, required=False, default='⬅'), 'right': FieldInfo(annotation=str, required=False, default='➡')}¶

    Metadata about the fields defined on the model, -mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

    +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

    This replaces Model.__fields__ from Pydantic V1.

    @@ -649,6 +741,21 @@ mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
  • PaginationEmojis
      +
    • PaginationEmojis.__class_vars__
    • +
    • PaginationEmojis.__private_attributes__
    • +
    • PaginationEmojis.__pydantic_complete__
    • +
    • PaginationEmojis.__pydantic_core_schema__
    • +
    • PaginationEmojis.__pydantic_custom_init__
    • +
    • PaginationEmojis.__pydantic_decorators__
    • +
    • PaginationEmojis.__pydantic_extra__
    • +
    • PaginationEmojis.__pydantic_fields_set__
    • +
    • PaginationEmojis.__pydantic_generic_metadata__
    • +
    • PaginationEmojis.__pydantic_parent_namespace__
    • +
    • PaginationEmojis.__pydantic_post_init__
    • +
    • PaginationEmojis.__pydantic_private__
    • +
    • PaginationEmojis.__pydantic_serializer__
    • +
    • PaginationEmojis.__pydantic_validator__
    • +
    • PaginationEmojis.__signature__
    • PaginationEmojis.model_computed_fields
    • PaginationEmojis.model_config
    • PaginationEmojis.model_fields
    • @@ -665,7 +772,7 @@ mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
  • - + diff --git a/main/output/pydis_core.utils.paste_service.html b/main/output/pydis_core.utils.paste_service.html index 7d360e3e..a0c00dc8 100644 --- a/main/output/pydis_core.utils.paste_service.html +++ b/main/output/pydis_core.utils.paste_service.html @@ -5,14 +5,14 @@ - - paste_service - Pydis Core Latest (11.3.1) + + paste_service - Pydis Core Latest (11.4.0) - + - + @@ -170,7 +170,7 @@
    -
    Pydis Core Latest (11.3.1)
    +
    Pydis Core Latest (11.4.0)
    @@ -197,7 +197,7 @@ Logo
    - Pydis Core Latest (11.3.1) + Pydis Core Latest (11.4.0) @@ -455,13 +455,13 @@

    paste_service¶

    -MAX_PASTE_SIZE = 524288[source]¶
    +MAX_PASTE_SIZE = 524288[source]¶

    The maximum allows size of a paste, in bytes.

    -class PasteFile(**data)[source]¶
    +class PasteFile(**data)[source]¶

    Bases: BaseModel

    A file to be pasted to the paste service.

    @@ -473,9 +473,101 @@
    +
    +
    +__class_vars__: ClassVar[set[str]] = {}¶
    +

    The names of the class variables defined on the model.

    +
    + +
    +
    +__private_attributes__: ClassVar[Dict[str, ModelPrivateAttr]] = {}¶
    +

    Metadata about the private attributes of the model.

    +
    + +
    +
    +__pydantic_complete__: ClassVar[bool] = True¶
    +

    Whether model building is completed, or if there are still undefined fields.

    +
    + +
    +
    +__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'pydis_core.utils.paste_service.PasteFile'>, 'config': {'title': 'PasteFile'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'pydis_core.utils.paste_service.PasteFile'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'pydis_core.utils.paste_service.PasteFile'>>]}, 'ref': 'pydis_core.utils.paste_service.PasteFile:94590389731216', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'content': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'lexer': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'python', 'schema': {'type': 'str'}, 'type': 'default'}, 'type': 'model-field'}, 'name': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': '', 'schema': {'type': 'str'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'PasteFile', 'type': 'model-fields'}, 'type': 'model'}¶
    +

    The core schema of the model.

    +
    + +
    +
    +__pydantic_custom_init__: ClassVar[bool] = False¶
    +

    Whether the model has a custom __init__ method.

    +
    + +
    +
    +__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})¶
    +

    Metadata containing the decorators defined on the model. +This replaces Model.__validators__ and Model.__root_validators__ from Pydantic V1.

    +
    + +
    +
    +__pydantic_extra__: dict[str, Any] | None¶
    +

    A dictionary containing extra values, if [extra][pydantic.config.ConfigDict.extra] is set to ‘allow’.

    +
    + +
    +
    +__pydantic_fields_set__: set[str]¶
    +

    The names of fields explicitly set during instantiation.

    +
    + +
    +
    +__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}¶
    +

    Metadata for generic models; contains data used for a similar purpose to +__args__, __origin__, __parameters__ in typing-module generics. May eventually be replaced by these.

    +
    + +
    +
    +__pydantic_parent_namespace__: ClassVar[Dict[str, Any] | None] = None¶
    +

    Parent namespace of the model, used for automatic rebuilding of models.

    +
    + +
    +
    +__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None¶
    +

    The name of the post-init method for the model, if defined.

    +
    + +
    +
    +__pydantic_private__: dict[str, Any] | None¶
    +

    Values of private attributes set on the model instance.

    +
    + +
    +
    +__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000056078a943f90,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "content": SerField {                         key_py: Py(                             0x00007f14f0dde0b0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "lexer": SerField {                         key_py: Py(                             0x00007f14f0a9cbb0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f14f08747b0,                                         ),                                     ),                                     serializer: Str(                                         StrSerializer,                                     ),                                 },                             ),                         ),                         required: true,                     },                     "name": SerField {                         key_py: Py(                             0x00007f14f1b56ea0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f14f1b530c0,                                         ),                                     ),                                     serializer: Str(                                         StrSerializer,                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 3,             },         ),         has_extra: false,         root_model: false,         name: "PasteFile",     }, ), definitions=[])¶
    +

    The pydantic-core SchemaSerializer used to dump instances of the model.

    +
    + +
    +
    +__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="PasteFile", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "content",                         lookup_key: Simple {                             key: "content",                             py_key: Py(                                 0x00007f14edf056b0,                             ),                             path: LookupPath(                                 [                                     S(                                         "content",                                         Py(                                             0x00007f14edf05670,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f14f0dde0b0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "name",                         lookup_key: Simple {                             key: "name",                             py_key: Py(                                 0x00007f14edf05730,                             ),                             path: LookupPath(                                 [                                     S(                                         "name",                                         Py(                                             0x00007f14edf056f0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f14f1b56ea0,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f14f1b530c0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Str(                                     StrValidator {                                         strict: false,                                         coerce_numbers_to_str: false,                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[str]",                                 undefined: Py(                                     0x00007f14efa1e710,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "lexer",                         lookup_key: Simple {                             key: "lexer",                             py_key: Py(                                 0x00007f14edf05770,                             ),                             path: LookupPath(                                 [                                     S(                                         "lexer",                                         Py(                                             0x00007f14edf057b0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f14f0a9cbb0,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f14f08747b0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Str(                                     StrValidator {                                         strict: false,                                         coerce_numbers_to_str: false,                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[str]",                                 undefined: Py(                                     0x00007f14efa1e710,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "PasteFile",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000056078a943f90,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f14efa1e710,         ),         name: "PasteFile",     }, ), definitions=[], cache_strings=True)¶
    +

    The pydantic-core SchemaValidator used to validate instances of the model.

    +
    + +
    +
    +__signature__: ClassVar[Signature] = <Signature (*, content: str, name: str = '', lexer: str = 'python') -> None>¶
    +

    The synthesized __init__ [Signature][inspect.Signature] of the model.

    +
    +
    -model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
    +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}¶

    A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

    @@ -487,9 +579,9 @@
    -model_fields: ClassVar[dict[str, FieldInfo]] = {'content': FieldInfo(annotation=str, required=True), 'lexer': FieldInfo(annotation=str, required=False, default='python'), 'name': FieldInfo(annotation=str, required=False, default='')}¶
    +model_fields: ClassVar[Dict[str, FieldInfo]] = {'content': FieldInfo(annotation=str, required=True), 'lexer': FieldInfo(annotation=str, required=False, default='python'), 'name': FieldInfo(annotation=str, required=False, default='')}¶

    Metadata about the fields defined on the model, -mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

    +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

    This replaces Model.__fields__ from Pydantic V1.

    @@ -497,7 +589,7 @@ mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
    -class PasteResponse(**data)[source]¶
    +class PasteResponse(**data)[source]¶

    Bases: BaseModel

    A successful response from the paste service.

    @@ -508,9 +600,101 @@ mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
    +
    +
    +__class_vars__: ClassVar[set[str]] = {}¶
    +

    The names of the class variables defined on the model.

    +
    + +
    +
    +__private_attributes__: ClassVar[Dict[str, ModelPrivateAttr]] = {}¶
    +

    Metadata about the private attributes of the model.

    +
    + +
    +
    +__pydantic_complete__: ClassVar[bool] = True¶
    +

    Whether model building is completed, or if there are still undefined fields.

    +
    + +
    +
    +__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'pydis_core.utils.paste_service.PasteResponse'>, 'config': {'title': 'PasteResponse'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'pydis_core.utils.paste_service.PasteResponse'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'pydis_core.utils.paste_service.PasteResponse'>>]}, 'ref': 'pydis_core.utils.paste_service.PasteResponse:94590389741776', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'link': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'removal': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}}, 'model_name': 'PasteResponse', 'type': 'model-fields'}, 'type': 'model'}¶
    +

    The core schema of the model.

    +
    + +
    +
    +__pydantic_custom_init__: ClassVar[bool] = False¶
    +

    Whether the model has a custom __init__ method.

    +
    + +
    +
    +__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})¶
    +

    Metadata containing the decorators defined on the model. +This replaces Model.__validators__ and Model.__root_validators__ from Pydantic V1.

    +
    + +
    +
    +__pydantic_extra__: dict[str, Any] | None¶
    +

    A dictionary containing extra values, if [extra][pydantic.config.ConfigDict.extra] is set to ‘allow’.

    +
    + +
    +
    +__pydantic_fields_set__: set[str]¶
    +

    The names of fields explicitly set during instantiation.

    +
    + +
    +
    +__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}¶
    +

    Metadata for generic models; contains data used for a similar purpose to +__args__, __origin__, __parameters__ in typing-module generics. May eventually be replaced by these.

    +
    + +
    +
    +__pydantic_parent_namespace__: ClassVar[Dict[str, Any] | None] = None¶
    +

    Parent namespace of the model, used for automatic rebuilding of models.

    +
    + +
    +
    +__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None¶
    +

    The name of the post-init method for the model, if defined.

    +
    + +
    +
    +__pydantic_private__: dict[str, Any] | None¶
    +

    Values of private attributes set on the model instance.

    +
    + +
    +
    +__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000056078a9468d0,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "link": SerField {                         key_py: Py(                             0x00007f14f1aac2a0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "removal": SerField {                         key_py: Py(                             0x00007f14ec586e30,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "PasteResponse",     }, ), definitions=[])¶
    +

    The pydantic-core SchemaSerializer used to dump instances of the model.

    +
    + +
    +
    +__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="PasteResponse", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "link",                         lookup_key: Simple {                             key: "link",                             py_key: Py(                                 0x00007f14edf04070,                             ),                             path: LookupPath(                                 [                                     S(                                         "link",                                         Py(                                             0x00007f14edf04030,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f14f1aac2a0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "removal",                         lookup_key: Simple {                             key: "removal",                             py_key: Py(                                 0x00007f14edf040f0,                             ),                             path: LookupPath(                                 [                                     S(                                         "removal",                                         Py(                                             0x00007f14edf040b0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f14ec586e30,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                 ],                 model_name: "PasteResponse",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000056078a9468d0,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f14efa1e710,         ),         name: "PasteResponse",     }, ), definitions=[], cache_strings=True)¶
    +

    The pydantic-core SchemaValidator used to validate instances of the model.

    +
    + +
    +
    +__signature__: ClassVar[Signature] = <Signature (*, link: str, removal: str) -> None>¶
    +

    The synthesized __init__ [Signature][inspect.Signature] of the model.

    +
    +
    -model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
    +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}¶

    A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

    @@ -522,9 +706,9 @@ mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
    -model_fields: ClassVar[dict[str, FieldInfo]] = {'link': FieldInfo(annotation=str, required=True), 'removal': FieldInfo(annotation=str, required=True)}¶
    +model_fields: ClassVar[Dict[str, FieldInfo]] = {'link': FieldInfo(annotation=str, required=True), 'removal': FieldInfo(annotation=str, required=True)}¶

    Metadata about the fields defined on the model, -mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

    +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

    This replaces Model.__fields__ from Pydantic V1.

    @@ -532,34 +716,34 @@ mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
    -exception PasteTooLongError[source]¶
    +exception PasteTooLongError[source]¶

    Bases: Exception

    Raised when content is too large to upload to the paste service.

    -exception PasteUnsupportedLexerError[source]¶
    +exception PasteUnsupportedLexerError[source]¶

    Bases: Exception

    Raised when an unsupported lexer is used.

    -exception PasteUploadError[source]¶
    +exception PasteUploadError[source]¶

    Bases: Exception

    Raised when an error is encountered uploading to the paste service.

    -async send_to_paste_service(*, files, http_session, paste_url='https://paste.pythondiscord.com', max_size=524288)[source]¶
    +async send_to_paste_service(*, files, http_session, paste_url='https://paste.pythondiscord.com', max_size=524288)[source]¶

    Upload some contents to the paste service.

    Parameters:
    • files (list[PasteFile]) – The files to be uploaded to the paste service.

    • -
    • http_session (aiohttp.ClientSession) – The session to use when POSTing the content to the paste service.

    • +
    • http_session (aiohttp.ClientSession) – The session to use when POSTing the content to the paste service.

    • paste_url (str) – The base url to the paste service.

    • max_size (int) – The max number of bytes to be allowed. Anything larger than MAX_PASTE_SIZE will be rejected.

    @@ -640,12 +824,42 @@ mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].paste_service
    • MAX_PASTE_SIZE
    • PasteFile
        +
      • PasteFile.__class_vars__
      • +
      • PasteFile.__private_attributes__
      • +
      • PasteFile.__pydantic_complete__
      • +
      • PasteFile.__pydantic_core_schema__
      • +
      • PasteFile.__pydantic_custom_init__
      • +
      • PasteFile.__pydantic_decorators__
      • +
      • PasteFile.__pydantic_extra__
      • +
      • PasteFile.__pydantic_fields_set__
      • +
      • PasteFile.__pydantic_generic_metadata__
      • +
      • PasteFile.__pydantic_parent_namespace__
      • +
      • PasteFile.__pydantic_post_init__
      • +
      • PasteFile.__pydantic_private__
      • +
      • PasteFile.__pydantic_serializer__
      • +
      • PasteFile.__pydantic_validator__
      • +
      • PasteFile.__signature__
      • PasteFile.model_computed_fields
      • PasteFile.model_config
      • PasteFile.model_fields
    • PasteResponse
        +
      • PasteResponse.__class_vars__
      • +
      • PasteResponse.__private_attributes__
      • +
      • PasteResponse.__pydantic_complete__
      • +
      • PasteResponse.__pydantic_core_schema__
      • +
      • PasteResponse.__pydantic_custom_init__
      • +
      • PasteResponse.__pydantic_decorators__
      • +
      • PasteResponse.__pydantic_extra__
      • +
      • PasteResponse.__pydantic_fields_set__
      • +
      • PasteResponse.__pydantic_generic_metadata__
      • +
      • PasteResponse.__pydantic_parent_namespace__
      • +
      • PasteResponse.__pydantic_post_init__
      • +
      • PasteResponse.__pydantic_private__
      • +
      • PasteResponse.__pydantic_serializer__
      • +
      • PasteResponse.__pydantic_validator__
      • +
      • PasteResponse.__signature__
      • PasteResponse.model_computed_fields
      • PasteResponse.model_config
      • PasteResponse.model_fields
      • @@ -666,7 +880,7 @@ mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
    - + diff --git a/main/output/pydis_core.utils.regex.html b/main/output/pydis_core.utils.regex.html index 31abd3b7..e117a007 100644 --- a/main/output/pydis_core.utils.regex.html +++ b/main/output/pydis_core.utils.regex.html @@ -5,14 +5,14 @@ - - regex - Pydis Core Latest (11.3.1) + + regex - Pydis Core Latest (11.4.0) - + - + @@ -170,7 +170,7 @@
    -
    Pydis Core Latest (11.3.1)
    +
    Pydis Core Latest (11.4.0)
    @@ -197,7 +197,7 @@ Logo
    - Pydis Core Latest (11.3.1) + Pydis Core Latest (11.4.0) @@ -456,7 +456,7 @@

    Common regular expressions.

    -DISCORD_INVITE[source]¶
    +DISCORD_INVITE[source]¶

    Regex for Discord server invites.

    Warning

    @@ -470,7 +470,7 @@ such as
    -FORMATTED_CODE_REGEX[source]¶
    +FORMATTED_CODE_REGEX[source]¶

    Regex for formatted code, using Discord’s code blocks.

    @@ -478,7 +478,7 @@ such as
    -RAW_CODE_REGEX[source]¶
    +RAW_CODE_REGEX[source]¶

    Regex for raw code, not using Discord’s code blocks.

    @@ -556,7 +556,7 @@ such as +
    diff --git a/main/output/pydis_core.utils.scheduling.html b/main/output/pydis_core.utils.scheduling.html index 8eb7f75c..81193fb2 100644 --- a/main/output/pydis_core.utils.scheduling.html +++ b/main/output/pydis_core.utils.scheduling.html @@ -5,14 +5,14 @@ - - scheduling - Pydis Core Latest (11.3.1) + + scheduling - Pydis Core Latest (11.4.0) - + - + @@ -170,7 +170,7 @@
    -
    Pydis Core Latest (11.3.1)
    +
    Pydis Core Latest (11.4.0)
    @@ -197,7 +197,7 @@ Logo
    - Pydis Core Latest (11.3.1) + Pydis Core Latest (11.4.0) @@ -456,7 +456,7 @@

    Generic python scheduler.

    -class Scheduler(name)[source]¶
    +class Scheduler(name)[source]¶

    Bases: object

    Schedule the execution of coroutines and keep track of them.

    When instantiating a Scheduler, a name must be provided. This name is used to distinguish the @@ -470,7 +470,7 @@ the same ID used to schedule it.

    Any exception raised in a scheduled task is logged when the task is done.

    -__contains__(task_id)[source]¶
    +__contains__(task_id)[source]¶

    Return True if a task with the given task_id is currently scheduled.

    Parameters:
    @@ -487,7 +487,7 @@ the same ID used to schedule it.

    -__init__(name)[source]¶
    +__init__(name)[source]¶

    Initialize a new Scheduler instance.

    Parameters:
    @@ -498,7 +498,7 @@ the same ID used to schedule it.

    -cancel(task_id)[source]¶
    +cancel(task_id)[source]¶

    Unschedule the task identified by task_id. Log a warning if the task doesn’t exist.

    Parameters:
    @@ -512,7 +512,7 @@ the same ID used to schedule it.

    -cancel_all()[source]¶
    +cancel_all()[source]¶

    Unschedule all known tasks.

    Return type:
    @@ -523,7 +523,7 @@ the same ID used to schedule it.

    -schedule(task_id, coroutine)[source]¶
    +schedule(task_id, coroutine)[source]¶

    Schedule the execution of a coroutine.

    If a task with task_id already exists, close coroutine instead of scheduling it. This prevents unawaited coroutine warnings. Don’t pass a coroutine that’ll be re-used elsewhere.

    @@ -542,7 +542,7 @@ prevents unawaited coroutine warnings. Don’t pass a coroutine that’ll be re-
    -schedule_at(time, task_id, coroutine)[source]¶
    +schedule_at(time, task_id, coroutine)[source]¶

    Schedule coroutine to be executed at the given time.

    If time is timezone aware, then use that timezone to calculate now() when subtracting. If time is naïve, then use UTC.

    @@ -565,7 +565,7 @@ prevents unawaited coroutine warnings. Don’t pass a coroutine that’ll be re-
    -schedule_later(delay, task_id, coroutine)[source]¶
    +schedule_later(delay, task_id, coroutine)[source]¶

    Schedule coroutine to be executed after delay seconds.

    If a task with task_id already exists, close coroutine instead of scheduling it. This prevents unawaited coroutine warnings. Don’t pass a coroutine that’ll be re-used elsewhere.

    @@ -587,7 +587,7 @@ prevents unawaited coroutine warnings. Don’t pass a coroutine that’ll be re-
    -create_task(coro, *, suppressed_exceptions=(), event_loop=None, **kwargs)[source]¶
    +create_task(coro, *, suppressed_exceptions=(), event_loop=None, **kwargs)[source]¶

    Wrapper for creating an asyncio.Task which logs exceptions raised in the task.

    If the event_loop kwarg is provided, the task is created from that event loop, otherwise the running loop is used.

    @@ -689,7 +689,7 @@ otherwise the running loop is used.

    - + diff --git a/main/py-modindex.html b/main/py-modindex.html index a535f9cc..3ac4ccfe 100644 --- a/main/py-modindex.html +++ b/main/py-modindex.html @@ -4,13 +4,13 @@ - Python Module Index - Pydis Core Latest (11.3.1) + Python Module Index - Pydis Core Latest (11.4.0) - + - + @@ -168,7 +168,7 @@
    -
    Pydis Core Latest (11.3.1)
    +
    Pydis Core Latest (11.4.0)
    @@ -195,7 +195,7 @@ Logo
    - Pydis Core Latest (11.3.1) + Pydis Core Latest (11.4.0) @@ -633,7 +633,7 @@
    - + diff --git a/main/search.html b/main/search.html index b92c1ed1..0cdffaba 100644 --- a/main/search.html +++ b/main/search.html @@ -5,14 +5,14 @@ - + -Search - Pydis Core Latest (11.3.1) - +Search - Pydis Core Latest (11.4.0) + - + @@ -170,7 +170,7 @@
    -
    Pydis Core Latest (11.3.1)
    +
    Pydis Core Latest (11.4.0)
    @@ -197,7 +197,7 @@ Logo
    - Pydis Core Latest (11.3.1) + Pydis Core Latest (11.4.0) @@ -488,7 +488,7 @@
    - + diff --git a/main/searchindex.js b/main/searchindex.js index afe53c12..7c472803 100644 --- a/main/searchindex.js +++ b/main/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"Bot Core Project Documentation": [[2, null]], "Changelog": [[0, null]], "Extras": [[2, "extras"]], "Exts": [[5, null]], "Local Development & Testing": [[1, null]], "Modules:": [[2, null]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Pydis Core": [[3, null]], "Reference": [[2, "reference"]], "Submodules": [[3, "submodules"], [7, "submodules"], [14, "submodules"]], "Subpackages": [[3, "subpackages"], [7, "subpackages"], [13, "subpackages"]], "Utils": [[7, null]], "abc": [[15, null]], "async_stats": [[4, null]], "caching": [[8, null]], "channel": [[9, null]], "checks": [[10, null]], "commands": [[11, null]], "commands package": [[14, null]], "cooldown": [[12, null]], "error_handling package": [[13, null]], "function": [[17, null]], "interactions": [[18, null]], "lock": [[19, null]], "logging": [[20, null]], "manager": [[16, null]], "members": [[21, null]], "messages": [[22, null]], "pagination": [[23, null]], "paste_service": [[24, null]], "regex": [[25, null]], "scheduling": [[26, null]], "site_api": [[6, null]]}, "docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.checks", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.error_handling.commands", "output/pydis_core.utils.error_handling.commands.abc", "output/pydis_core.utils.error_handling.commands.manager", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.lock", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.messages", "output/pydis_core.utils.pagination", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2}, "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.checks.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.error_handling.commands.rst", "output/pydis_core.utils.error_handling.commands.abc.rst", "output/pydis_core.utils.error_handling.commands.manager.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.lock.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.messages.rst", "output/pydis_core.utils.pagination.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "indexentries": {"__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__", false]], "__contains__() (scheduler method)": [[26, "pydis_core.utils.scheduling.Scheduler.__contains__", false]], "__enter__() (sharedevent method)": [[19, "pydis_core.utils.lock.SharedEvent.__enter__", false]], "__exit__() (sharedevent method)": [[19, "pydis_core.utils.lock.SharedEvent.__exit__", false]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__", false]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__", false]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__", false]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__", false]], "__init__() (commanderrormanager method)": [[14, "pydis_core.utils.error_handling.commands.CommandErrorManager.__init__", false], [16, "pydis_core.utils.error_handling.commands.manager.CommandErrorManager.__init__", false]], "__init__() (commandoncooldown method)": [[12, "pydis_core.utils.cooldown.CommandOnCooldown.__init__", false]], "__init__() (contextcheckfailure method)": [[10, "pydis_core.utils.checks.ContextCheckFailure.__init__", false]], "__init__() (deletemessagebutton method)": [[18, "pydis_core.utils.interactions.DeleteMessageButton.__init__", false]], "__init__() (linepaginator method)": [[3, "pydis_core.LinePaginator.__init__", false], [23, "pydis_core.utils.pagination.LinePaginator.__init__", false]], "__init__() (lockedresourceerror method)": [[19, "pydis_core.utils.lock.LockedResourceError.__init__", false]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__", false]], "__init__() (scheduler method)": [[26, "pydis_core.utils.scheduling.Scheduler.__init__", false]], "__init__() (sharedevent method)": [[19, "pydis_core.utils.lock.SharedEvent.__init__", false]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__", false]], "__init__() (viewwithuserandrolecheck method)": [[18, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__", false]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__", false]], "abstractcommanderrorhandler (class in pydis_core.utils.error_handling.commands)": [[14, "pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler", false]], "abstractcommanderrorhandler (class in pydis_core.utils.error_handling.commands.abc)": [[15, "pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler", false]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog", false]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command", false]], "add_line() (linepaginator method)": [[3, "pydis_core.LinePaginator.add_line", false], [23, "pydis_core.utils.pagination.LinePaginator.add_line", false]], "all_extensions (botbase attribute)": [[3, "pydis_core.BotBase.all_extensions", false]], "api_client (botbase attribute)": [[3, "pydis_core.BotBase.api_client", false]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient", false]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches", false]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache", false]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient", false]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[12, "pydis_core.utils.cooldown.block_duplicate_invocations", false]], "botbase (class in pydis_core)": [[3, "pydis_core.BotBase", false]], "call_without_cooldown() (commandoncooldown method)": [[12, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown", false]], "callback() (deletemessagebutton method)": [[18, "pydis_core.utils.interactions.DeleteMessageButton.callback", false]], "cancel() (scheduler method)": [[26, "pydis_core.utils.scheduling.Scheduler.cancel", false]], "cancel_all() (scheduler method)": [[26, "pydis_core.utils.scheduling.Scheduler.cancel_all", false]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[11, "pydis_core.utils.commands.clean_text_or_reply", false]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear", false]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear", false]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close", false]], "close() (botbase method)": [[3, "pydis_core.BotBase.close", false]], "command_wraps() (in module pydis_core.utils.function)": [[17, "pydis_core.utils.function.command_wraps", false]], "commanderrormanager (class in pydis_core.utils.error_handling.commands)": [[14, "pydis_core.utils.error_handling.commands.CommandErrorManager", false]], "commanderrormanager (class in pydis_core.utils.error_handling.commands.manager)": [[16, "pydis_core.utils.error_handling.commands.manager.CommandErrorManager", false]], "commandoncooldown": [[12, "pydis_core.utils.cooldown.CommandOnCooldown", false]], "contextcheckfailure": [[10, "pydis_core.utils.checks.ContextCheckFailure", false]], "cooldown_with_role_bypass() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.cooldown_with_role_bypass", false]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket", false]], "create_task() (in module pydis_core.utils.scheduling)": [[26, "pydis_core.utils.scheduling.create_task", false]], "customlogger (class in pydis_core.utils.logging)": [[20, "pydis_core.utils.logging.CustomLogger", false]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete", false]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[18, "pydis_core.utils.interactions.DeleteMessageButton", false]], "discord_invite (in module pydis_core.utils.regex)": [[25, "pydis_core.utils.regex.DISCORD_INVITE", false]], "emptypaginatorembederror": [[3, "pydis_core.EmptyPaginatorEmbedError", false], [23, "pydis_core.utils.pagination.EmptyPaginatorEmbedError", false]], "formatted_code_regex (in module pydis_core.utils.regex)": [[25, "pydis_core.utils.regex.FORMATTED_CODE_REGEX", false]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get", false]], "get_arg_value() (in module pydis_core.utils.function)": [[17, "pydis_core.utils.function.get_arg_value", false]], "get_arg_value_wrapper() (in module pydis_core.utils.function)": [[17, "pydis_core.utils.function.get_arg_value_wrapper", false]], "get_bound_args() (in module pydis_core.utils.function)": [[17, "pydis_core.utils.function.get_bound_args", false]], "get_logger() (in module pydis_core.utils.logging)": [[20, "pydis_core.utils.logging.get_logger", false]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel", false]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[21, "pydis_core.utils.members.get_or_fetch_member", false]], "globalnameconflicterror": [[17, "pydis_core.utils.function.GlobalNameConflictError", false]], "guild_id (botbase attribute)": [[3, "pydis_core.BotBase.guild_id", false]], "handle_app_command_error() (abstractcommanderrorhandler method)": [[14, "pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler.handle_app_command_error", false], [15, "pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler.handle_app_command_error", false]], "handle_error() (commanderrormanager method)": [[14, "pydis_core.utils.error_handling.commands.CommandErrorManager.handle_error", false], [16, "pydis_core.utils.error_handling.commands.manager.CommandErrorManager.handle_error", false]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[13, "pydis_core.utils.error_handling.handle_forbidden_from_block", false]], "handle_role_change() (in module pydis_core.utils.members)": [[21, "pydis_core.utils.members.handle_role_change", false]], "handle_text_command_error() (abstractcommanderrorhandler method)": [[14, "pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler.handle_text_command_error", false], [15, "pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler.handle_text_command_error", false]], "has_any_role_check() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.has_any_role_check", false]], "has_no_roles_check() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.has_no_roles_check", false]], "http_session (botbase attribute)": [[3, "pydis_core.BotBase.http_session", false]], "id (lockedresourceerror attribute)": [[19, "pydis_core.utils.lock.LockedResourceError.id", false]], "in_whitelist_check() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.in_whitelist_check", false]], "interaction_check() (viewwithuserandrolecheck method)": [[18, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check", false]], "inwhitelistcheckfailure": [[10, "pydis_core.utils.checks.InWhitelistCheckFailure", false]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category", false]], "linepaginator (class in pydis_core)": [[3, "pydis_core.LinePaginator", false]], "linepaginator (class in pydis_core.utils.pagination)": [[23, "pydis_core.utils.pagination.LinePaginator", false]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions", false]], "lock() (in module pydis_core.utils.lock)": [[19, "pydis_core.utils.lock.lock", false]], "lock_arg() (in module pydis_core.utils.lock)": [[19, "pydis_core.utils.lock.lock_arg", false]], "lockedresourceerror": [[19, "pydis_core.utils.lock.LockedResourceError", false]], "log_format (in module pydis_core.utils.logging)": [[20, "pydis_core.utils.logging.log_format", false]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log", false]], "max_paste_size (in module pydis_core.utils.paste_service)": [[24, "pydis_core.utils.paste_service.MAX_PASTE_SIZE", false]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status", false]], "model_computed_fields (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.model_computed_fields", false], [23, "pydis_core.utils.pagination.PaginationEmojis.model_computed_fields", false]], "model_computed_fields (pastefile attribute)": [[24, "pydis_core.utils.paste_service.PasteFile.model_computed_fields", false]], "model_computed_fields (pasteresponse attribute)": [[24, "pydis_core.utils.paste_service.PasteResponse.model_computed_fields", false]], "model_config (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.model_config", false], [23, "pydis_core.utils.pagination.PaginationEmojis.model_config", false]], "model_config (pastefile attribute)": [[24, "pydis_core.utils.paste_service.PasteFile.model_config", false]], "model_config (pasteresponse attribute)": [[24, "pydis_core.utils.paste_service.PasteResponse.model_config", false]], "model_fields (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.model_fields", false], [23, "pydis_core.utils.pagination.PaginationEmojis.model_fields", false]], "model_fields (pastefile attribute)": [[24, "pydis_core.utils.paste_service.PasteFile.model_fields", false]], "model_fields (pasteresponse attribute)": [[24, "pydis_core.utils.paste_service.PasteResponse.model_fields", false]], "module": [[3, "module-pydis_core", false], [4, "module-pydis_core.async_stats", false], [5, "module-pydis_core.exts", false], [6, "module-pydis_core.site_api", false], [7, "module-pydis_core.utils", false], [8, "module-pydis_core.utils.caching", false], [9, "module-pydis_core.utils.channel", false], [10, "module-pydis_core.utils.checks", false], [11, "module-pydis_core.utils.commands", false], [12, "module-pydis_core.utils.cooldown", false], [13, "module-pydis_core.utils.error_handling", false], [14, "module-pydis_core.utils.error_handling.commands", false], [15, "module-pydis_core.utils.error_handling.commands.abc", false], [16, "module-pydis_core.utils.error_handling.commands.manager", false], [17, "module-pydis_core.utils.function", false], [18, "module-pydis_core.utils.interactions", false], [19, "module-pydis_core.utils.lock", false], [20, "module-pydis_core.utils.logging", false], [21, "module-pydis_core.utils.members", false], [22, "module-pydis_core.utils.messages", false], [23, "module-pydis_core.utils.pagination", false], [24, "module-pydis_core.utils.paste_service", false], [25, "module-pydis_core.utils.regex", false], [26, "module-pydis_core.utils.scheduling", false]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available", false]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable", false]], "on_timeout() (viewwithuserandrolecheck method)": [[18, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout", false]], "p (in module pydis_core.utils.cooldown)": [[12, "pydis_core.utils.cooldown.P", false]], "paginate() (linepaginator class method)": [[3, "pydis_core.LinePaginator.paginate", false], [23, "pydis_core.utils.pagination.LinePaginator.paginate", false]], "paginationemojis (class in pydis_core)": [[3, "pydis_core.PaginationEmojis", false]], "paginationemojis (class in pydis_core.utils.pagination)": [[23, "pydis_core.utils.pagination.PaginationEmojis", false]], "pastefile (class in pydis_core.utils.paste_service)": [[24, "pydis_core.utils.paste_service.PasteFile", false]], "pasteresponse (class in pydis_core.utils.paste_service)": [[24, "pydis_core.utils.paste_service.PasteResponse", false]], "pastetoolongerror": [[24, "pydis_core.utils.paste_service.PasteTooLongError", false]], "pasteunsupportedlexererror": [[24, "pydis_core.utils.paste_service.PasteUnsupportedLexerError", false]], "pasteuploaderror": [[24, "pydis_core.utils.paste_service.PasteUploadError", false]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch", false]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services", false]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post", false]], "process_commands() (botbase method)": [[3, "pydis_core.BotBase.process_commands", false]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put", false]], "pydis_core": [[3, "module-pydis_core", false]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats", false]], "pydis_core.exts": [[5, "module-pydis_core.exts", false]], "pydis_core.site_api": [[6, "module-pydis_core.site_api", false]], "pydis_core.utils": [[7, "module-pydis_core.utils", false]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching", false]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel", false]], "pydis_core.utils.checks": [[10, "module-pydis_core.utils.checks", false]], "pydis_core.utils.commands": [[11, "module-pydis_core.utils.commands", false]], "pydis_core.utils.cooldown": [[12, "module-pydis_core.utils.cooldown", false]], "pydis_core.utils.error_handling": [[13, "module-pydis_core.utils.error_handling", false]], "pydis_core.utils.error_handling.commands": [[14, "module-pydis_core.utils.error_handling.commands", false]], "pydis_core.utils.error_handling.commands.abc": [[15, "module-pydis_core.utils.error_handling.commands.abc", false]], "pydis_core.utils.error_handling.commands.manager": [[16, "module-pydis_core.utils.error_handling.commands.manager", false]], "pydis_core.utils.function": [[17, "module-pydis_core.utils.function", false]], "pydis_core.utils.interactions": [[18, "module-pydis_core.utils.interactions", false]], "pydis_core.utils.lock": [[19, "module-pydis_core.utils.lock", false]], "pydis_core.utils.logging": [[20, "module-pydis_core.utils.logging", false]], "pydis_core.utils.members": [[21, "module-pydis_core.utils.members", false]], "pydis_core.utils.messages": [[22, "module-pydis_core.utils.messages", false]], "pydis_core.utils.pagination": [[23, "module-pydis_core.utils.pagination", false]], "pydis_core.utils.paste_service": [[24, "module-pydis_core.utils.paste_service", false]], "pydis_core.utils.regex": [[25, "module-pydis_core.utils.regex", false]], "pydis_core.utils.scheduling": [[26, "module-pydis_core.utils.scheduling", false]], "r (class in pydis_core.utils.cooldown)": [[12, "pydis_core.utils.cooldown.R", false]], "raw_code_regex (in module pydis_core.utils.regex)": [[25, "pydis_core.utils.regex.RAW_CODE_REGEX", false]], "reaction_check() (in module pydis_core.utils.messages)": [[22, "pydis_core.utils.messages.reaction_check", false]], "redis_session (botbase attribute)": [[3, "pydis_core.BotBase.redis_session", false]], "register_command_error_manager() (botbase method)": [[3, "pydis_core.BotBase.register_command_error_manager", false]], "register_handler() (commanderrormanager method)": [[14, "pydis_core.utils.error_handling.commands.CommandErrorManager.register_handler", false], [16, "pydis_core.utils.error_handling.commands.manager.CommandErrorManager.register_handler", false]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command", false]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request", false]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError", false]], "schedule() (scheduler method)": [[26, "pydis_core.utils.scheduling.Scheduler.schedule", false]], "schedule_at() (scheduler method)": [[26, "pydis_core.utils.scheduling.Scheduler.schedule_at", false]], "schedule_later() (scheduler method)": [[26, "pydis_core.utils.scheduling.Scheduler.schedule_later", false]], "scheduler (class in pydis_core.utils.scheduling)": [[26, "pydis_core.utils.scheduling.Scheduler", false]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[24, "pydis_core.utils.paste_service.send_to_paste_service", false]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook", false]], "sharedevent (class in pydis_core.utils.lock)": [[19, "pydis_core.utils.lock.SharedEvent", false]], "should_handle_error() (abstractcommanderrorhandler method)": [[14, "pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler.should_handle_error", false], [15, "pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler.should_handle_error", false]], "startuperror": [[3, "pydis_core.StartupError", false]], "stats (botbase attribute)": [[3, "pydis_core.BotBase.stats", false]], "statsd_url (botbase attribute)": [[3, "pydis_core.BotBase.statsd_url", false]], "stop() (viewwithuserandrolecheck method)": [[18, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.stop", false]], "trace() (customlogger method)": [[20, "pydis_core.utils.logging.CustomLogger.trace", false]], "type (lockedresourceerror attribute)": [[19, "pydis_core.utils.lock.LockedResourceError.type", false]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify", false]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[17, "pydis_core.utils.function.update_wrapper_globals", false]], "user_has_access() (in module pydis_core.utils.interactions)": [[18, "pydis_core.utils.interactions.user_has_access", false]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[18, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck", false]], "wait() (sharedevent method)": [[19, "pydis_core.utils.lock.SharedEvent.wait", false]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available", false]]}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 4, 1, "", "EmptyPaginatorEmbedError"], [3, 1, 1, "", "LinePaginator"], [3, 1, 1, "", "PaginationEmojis"], [3, 4, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 3, 1, "", "all_extensions"], [3, 3, 1, "", "api_client"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 3, 1, "", "guild_id"], [3, 3, 1, "", "http_session"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "process_commands"], [3, 3, 1, "", "redis_session"], [3, 2, 1, "", "register_command_error_manager"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 3, 1, "", "stats"], [3, 3, 1, "", "statsd_url"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.LinePaginator": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_line"], [3, 2, 1, "", "paginate"]], "pydis_core.PaginationEmojis": [[3, 3, 1, "", "model_computed_fields"], [3, 3, 1, "", "model_config"], [3, 3, 1, "", "model_fields"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 4, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 5, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "checks"], [11, 0, 0, "-", "commands"], [12, 0, 0, "-", "cooldown"], [13, 0, 0, "-", "error_handling"], [17, 0, 0, "-", "function"], [18, 0, 0, "-", "interactions"], [19, 0, 0, "-", "lock"], [20, 0, 0, "-", "logging"], [21, 0, 0, "-", "members"], [22, 0, 0, "-", "messages"], [23, 0, 0, "-", "pagination"], [24, 0, 0, "-", "paste_service"], [25, 0, 0, "-", "regex"], [26, 0, 0, "-", "scheduling"], [7, 5, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 5, 1, "", "get_or_fetch_channel"], [9, 5, 1, "", "is_in_category"]], "pydis_core.utils.checks": [[10, 4, 1, "", "ContextCheckFailure"], [10, 4, 1, "", "InWhitelistCheckFailure"], [10, 5, 1, "", "cooldown_with_role_bypass"], [10, 5, 1, "", "has_any_role_check"], [10, 5, 1, "", "has_no_roles_check"], [10, 5, 1, "", "in_whitelist_check"]], "pydis_core.utils.checks.ContextCheckFailure": [[10, 2, 1, "", "__init__"]], "pydis_core.utils.commands": [[11, 5, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[12, 4, 1, "", "CommandOnCooldown"], [12, 6, 1, "", "P"], [12, 1, 1, "", "R"], [12, 5, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[12, 2, 1, "", "__init__"], [12, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[14, 0, 0, "-", "commands"], [13, 5, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.error_handling.commands": [[14, 1, 1, "", "AbstractCommandErrorHandler"], [14, 1, 1, "", "CommandErrorManager"], [15, 0, 0, "-", "abc"], [16, 0, 0, "-", "manager"]], "pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler": [[14, 2, 1, "", "handle_app_command_error"], [14, 2, 1, "", "handle_text_command_error"], [14, 2, 1, "", "should_handle_error"]], "pydis_core.utils.error_handling.commands.CommandErrorManager": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "handle_error"], [14, 2, 1, "", "register_handler"]], "pydis_core.utils.error_handling.commands.abc": [[15, 1, 1, "", "AbstractCommandErrorHandler"]], "pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler": [[15, 2, 1, "", "handle_app_command_error"], [15, 2, 1, "", "handle_text_command_error"], [15, 2, 1, "", "should_handle_error"]], "pydis_core.utils.error_handling.commands.manager": [[16, 1, 1, "", "CommandErrorManager"]], "pydis_core.utils.error_handling.commands.manager.CommandErrorManager": [[16, 2, 1, "", "__init__"], [16, 2, 1, "", "handle_error"], [16, 2, 1, "", "register_handler"]], "pydis_core.utils.function": [[17, 4, 1, "", "GlobalNameConflictError"], [17, 5, 1, "", "command_wraps"], [17, 5, 1, "", "get_arg_value"], [17, 5, 1, "", "get_arg_value_wrapper"], [17, 5, 1, "", "get_bound_args"], [17, 5, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[18, 1, 1, "", "DeleteMessageButton"], [18, 1, 1, "", "ViewWithUserAndRoleCheck"], [18, 5, 1, "", "user_has_access"]], "pydis_core.utils.interactions.DeleteMessageButton": [[18, 2, 1, "", "__init__"], [18, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[18, 2, 1, "", "__init__"], [18, 2, 1, "", "interaction_check"], [18, 2, 1, "", "on_timeout"], [18, 2, 1, "", "stop"]], "pydis_core.utils.lock": [[19, 4, 1, "", "LockedResourceError"], [19, 1, 1, "", "SharedEvent"], [19, 5, 1, "", "lock"], [19, 5, 1, "", "lock_arg"]], "pydis_core.utils.lock.LockedResourceError": [[19, 2, 1, "", "__init__"], [19, 3, 1, "", "id"], [19, 3, 1, "", "type"]], "pydis_core.utils.lock.SharedEvent": [[19, 2, 1, "", "__enter__"], [19, 2, 1, "", "__exit__"], [19, 2, 1, "", "__init__"], [19, 2, 1, "", "wait"]], "pydis_core.utils.logging": [[20, 1, 1, "", "CustomLogger"], [20, 5, 1, "", "get_logger"], [20, 6, 1, "", "log_format"]], "pydis_core.utils.logging.CustomLogger": [[20, 2, 1, "", "trace"]], "pydis_core.utils.members": [[21, 5, 1, "", "get_or_fetch_member"], [21, 5, 1, "", "handle_role_change"]], "pydis_core.utils.messages": [[22, 5, 1, "", "reaction_check"]], "pydis_core.utils.pagination": [[23, 4, 1, "", "EmptyPaginatorEmbedError"], [23, 1, 1, "", "LinePaginator"], [23, 1, 1, "", "PaginationEmojis"]], "pydis_core.utils.pagination.LinePaginator": [[23, 2, 1, "", "__init__"], [23, 2, 1, "", "add_line"], [23, 2, 1, "", "paginate"]], "pydis_core.utils.pagination.PaginationEmojis": [[23, 3, 1, "", "model_computed_fields"], [23, 3, 1, "", "model_config"], [23, 3, 1, "", "model_fields"]], "pydis_core.utils.paste_service": [[24, 6, 1, "", "MAX_PASTE_SIZE"], [24, 1, 1, "", "PasteFile"], [24, 1, 1, "", "PasteResponse"], [24, 4, 1, "", "PasteTooLongError"], [24, 4, 1, "", "PasteUnsupportedLexerError"], [24, 4, 1, "", "PasteUploadError"], [24, 5, 1, "", "send_to_paste_service"]], "pydis_core.utils.paste_service.PasteFile": [[24, 3, 1, "", "model_computed_fields"], [24, 3, 1, "", "model_config"], [24, 3, 1, "", "model_fields"]], "pydis_core.utils.paste_service.PasteResponse": [[24, 3, 1, "", "model_computed_fields"], [24, 3, 1, "", "model_config"], [24, 3, 1, "", "model_fields"]], "pydis_core.utils.regex": [[25, 6, 1, "", "DISCORD_INVITE"], [25, 6, 1, "", "FORMATTED_CODE_REGEX"], [25, 6, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[26, 1, 1, "", "Scheduler"], [26, 5, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[26, 2, 1, "", "__contains__"], [26, 2, 1, "", "__init__"], [26, 2, 1, "", "cancel"], [26, 2, 1, "", "cancel_all"], [26, 2, 1, "", "schedule"], [26, 2, 1, "", "schedule_at"], [26, 2, 1, "", "schedule_later"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "attribute", "Python attribute"], "4": ["py", "exception", "Python exception"], "5": ["py", "function", "Python function"], "6": ["py", "data", "Python data"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:attribute", "4": "py:exception", "5": "py:function", "6": "py:data"}, "terms": {"": [0, 1, 3, 7, 8, 10, 11, 12, 17, 18, 19, 20, 22, 23, 25, 26], "0": [0, 8, 10, 18, 19, 20], "0a0": 0, "0eb3d26": 0, "1": [0, 20], "10": 0, "101": 0, "103": 0, "104": 0, "106": 0, "107": 0, "108": 0, "10th": 0, "11": 0, "110": 0, "12": 0, "124": 0, "125": 0, "128": 8, "138": 0, "13th": 0, "14th": 0, "15": 0, "151": 0, "157": 0, "158": 0, "162": 0, "169": 0, "16th": 0, "170": 0, "171": 0, "172": 0, "173": 0, "174": 0, "175": 0, "176": 0, "177": 0, "179": 0, "17th": 0, "180": 18, "181": 0, "182": 0, "183": 0, "184": 0, "185": 0, "187": 0, "188": 0, "189": 0, "18th": 0, "190": 0, "192": 0, "194": 0, "195": 0, "196": 0, "197": 0, "199": 0, "19th": 0, "2": [0, 3, 18], "200": 0, "202": 0, "2021": 0, "2022": 0, "2023": 0, "2024": 0, "204": [0, 6], "205": 0, "206": 0, "207": 0, "208": 0, "209": 0, "20th": 0, "210": 0, "21st": 0, "22nd": 0, "23rd": 0, "244": 0, "24th": 0, "254": 0, "25th": 0, "26th": 0, "27th": 0, "28th": 0, "29": 0, "2nd": 0, "3": 0, "30": 0, "300": [3, 23], "30th": 0, "32": 0, "34": 0, "35": 0, "37": 0, "39": 0, "3rd": 0, "4": 0, "4000": [3, 23], "403": 7, "42": 0, "4cbe8f5": 0, "5": [0, 12], "500": [3, 23], "524288": 24, "54": 0, "56": 0, "561": 0, "5a06fa5": 0, "5th": 0, "6": 0, "61": 0, "63": 0, "637136429717389331": [3, 23], "64": 0, "65": 0, "66": 0, "68": 0, "69": 0, "6th": 0, "7": 0, "72": 0, "75": 0, "78": 0, "79": 0, "8": 0, "8125": 4, "88": 0, "9": 0, "90001": [0, 13], "91": 0, "93": 0, "96": 0, "98": 0, "987235d": 0, "9th": 0, "A": [1, 3, 6, 7, 8, 9, 10, 12, 14, 15, 16, 17, 18, 20, 23, 24, 26], "As": 0, "Be": 0, "For": 17, "If": [3, 6, 10, 12, 17, 18, 19, 22, 23, 26], "In": [3, 23], "It": [3, 7, 19, 23], "Not": 3, "On": 0, "That": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 17, 18, 20, 21, 23, 24, 26], "These": [3, 23], "To": [1, 3, 20], "_": 0, "__annotations__": 17, "__call__": [7, 8], "__contains__": [7, 26], "__dict__": 17, "__doc__": 17, "__enter__": [7, 19], "__exit__": [7, 19], "__fields__": [3, 23, 24], "__global__": 17, "__init__": [0, 2, 3, 4, 6, 7, 8, 10, 12, 13, 14, 16, 18, 19, 23, 26], "__module__": 17, "__name__": 17, "__qualname__": 17, "__str__": [3, 6], "_exc_tb": 19, "_exc_typ": 19, "_exc_val": 19, "_guild_avail": 0, "_p": 17, "_r": 17, "_transport": 0, "abc": [0, 13, 14], "abl": 0, "about": [3, 12, 23, 24], "abstract": [0, 14, 15], "abstractcommanderrorhandl": [0, 7, 13, 14, 15], "abstracteventloop": [4, 26], "accept": [17, 18], "access": 18, "acquir": 19, "across": [0, 3, 20, 23], "act": 7, "action": 0, "activ": 19, "actual": 0, "ad": [0, 1, 3, 7, 18, 20, 23], "add": [0, 3, 10, 12, 23], "add_cog": [2, 3], "add_command": [2, 3], "add_lin": [2, 3, 7, 23], "add_rol": 21, "addit": 0, "after": [0, 3, 18, 23, 26], "again": 1, "aid": [3, 23], "aiodn": 0, "aiohttp": [0, 3, 6, 24], "alia": [3, 7, 12], "alias": [3, 7], "all": [0, 1, 3, 4, 7, 14, 16, 19, 20, 26], "all_command": 3, "all_extens": [2, 3], "allow": [0, 1, 3, 18, 22, 23, 24], "allow_mod": 22, "allowed_emoji": 22, "allowed_rol": [0, 1, 3, 18, 22, 23], "allowed_us": [0, 18, 22], "alpha": 0, "alreadi": [3, 23, 26], "also": [0, 3, 7, 17, 18, 19, 23], "alwai": 10, "among": 19, "amount": [3, 23], "an": [0, 1, 3, 4, 6, 7, 8, 9, 10, 14, 15, 17, 19, 20, 23, 24, 26], "ani": [3, 6, 10, 17, 19, 23, 25, 26], "annot": [3, 17, 23, 24], "anymor": [3, 23], "anyth": [1, 24], "api": [0, 3, 6, 21], "api_cli": [0, 2, 3], "apicli": [0, 2, 3, 6], "app": [0, 3, 14, 15], "appear": 3, "append": [3, 23], "appli": [3, 7, 8, 10, 12, 19, 23, 24], "applic": 1, "apply_monkey_patch": [0, 2, 3, 7], "approach": 1, "april": 0, "ar": [0, 1, 3, 8, 17, 18, 22, 23, 25], "arg": [3, 12, 17, 19, 20], "arg_offset": 8, "args_preprocessor": 12, "argument": [6, 7, 8, 11, 12, 17, 19, 20, 21], "around": 6, "assign": 17, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 21, 23, 24], "async_rediscach": [0, 3], "async_stat": [2, 3], "asynccach": [3, 7, 8], "asyncio": [0, 4, 26], "asyncresolv": 0, "asyncstatscli": [2, 3, 4], "asyncstatsdcli": 0, "attach": 0, "attempt": [0, 3, 9, 19, 21, 23], "attr": 0, "attribut": [0, 7, 17], "august": 0, "authent": 6, "author": [3, 10, 22, 23], "auto": 0, "auto_mod": 0, "autogener": 0, "automat": [0, 3, 23], "avail": [0, 3, 14, 16, 19], "avoid": [0, 3, 23], "await": [0, 3, 12, 18, 19, 21, 23], "awar": [0, 26], "back": 0, "backtick": [3, 23], "bad": 0, "badargu": 11, "base": [0, 3, 4, 6, 8, 10, 12, 14, 15, 16, 17, 18, 19, 20, 23, 24, 26], "basemodel": [3, 23, 24], "basic": [0, 18], "becaus": [3, 17], "becom": [3, 19], "been": [0, 3], "befor": [0, 3, 10, 18, 19, 23, 26], "before_invok": 10, "behav": 17, "behavior": 10, "behaviour": [0, 3], "being": [0, 7, 10, 21], "belong": 3, "below": [1, 19], "best": [3, 23], "between": [0, 1, 17], "bind": [3, 17], "block": [0, 3, 12, 23, 25], "block_duplicate_invoc": [3, 7, 12], "bodi": 0, "boilerpl": 0, "bool": [3, 6, 9, 10, 12, 14, 15, 18, 19, 22, 23, 26], "bot": [0, 1, 3, 7, 9, 22], "bot_token": 1, "botbas": [0, 2, 3], "both": [0, 1, 3, 24], "boundari": [3, 23], "break": [0, 3, 17, 23], "broke": 0, "buckettyp": 10, "bug": 0, "bump": 0, "button": [0, 18], "buttonstyl": 18, "bypass": 10, "bypass_rol": 10, "byte": 24, "cach": [0, 3, 7, 9, 21], "calcul": 26, "call": [0, 3, 12, 17, 26], "call_without_cooldown": [7, 12], "callabl": [8, 10, 12, 17, 19, 21], "callback": [7, 10, 18], "can": [0, 1, 3, 10, 18, 19, 20, 23, 26], "cancel": [7, 26], "cancel_al": [7, 26], "cannot": [0, 3, 19, 23], "capabl": [14, 16], "captur": [0, 17, 25], "carri": 18, "case": [0, 3, 23], "categori": [9, 10], "category_id": 9, "caus": [3, 7, 23], "certain": [0, 1], "chang": [0, 1, 3, 17, 23], "changelog": 2, "changeset": 0, "channel": [0, 3, 7, 10, 12], "channel_id": 9, "charact": [0, 3, 23], "chardet": 0, "check": [0, 3, 6, 7, 9, 12, 13, 18, 22, 26], "checkfailur": 10, "choos": [14, 16], "chunk": 0, "ci": 0, "class": [0, 3, 4, 6, 8, 12, 14, 15, 16, 18, 19, 20, 23, 24, 26], "classmethod": [3, 23], "classvar": [3, 23, 24], "clean": [0, 11], "clean_text_or_repli": [3, 7, 11], "clear": [2, 3, 7, 8, 19], "click": 18, "client": [0, 3, 4], "clientrespons": 6, "clientsess": [3, 6, 24], "close": [0, 2, 3, 6, 26], "cloudflar": 7, "code": [0, 1, 3, 6, 19, 23, 25], "codepoint": [3, 23], "cog": [0, 3, 5], "collect": 10, "collis": 19, "com": [0, 24], "comma": 1, "command": [0, 1, 3, 7, 9, 10, 12, 13, 15, 16, 17, 19, 23], "command_wrap": [3, 7, 17], "commanderror": 12, "commanderrormanag": [0, 7, 13, 14, 16], "commandinvokeerror": 0, "commandoncooldown": [3, 7, 12], "commit": 0, "common": [0, 1, 3, 7, 20, 25], "commun": [3, 4], "complianc": 0, "compos": 1, "comput": [3, 23, 24], "computedfieldinfo": [3, 23, 24], "concurr": 0, "config": [0, 3, 23, 24], "configdict": [3, 23, 24], "configur": [1, 3, 23, 24], "conflict": 17, "conform": [3, 23, 24], "connect": [0, 3, 4], "connector": 3, "constructor": [3, 6], "contain": [1, 3, 10, 18, 23, 24, 26], "content": [0, 3, 11, 23, 24], "context": [3, 10, 11, 14, 15, 19, 23], "context_or_interact": [14, 16], "contextcheckfailur": [3, 7, 10], "continu": [3, 23], "control": 0, "cooldown": [3, 7, 10], "cooldown_dur": 12, "cooldown_with_role_bypass": [3, 7, 10], "copi": [1, 17], "core": [0, 1], "coro": [19, 21, 26], "coroutin": [8, 19, 21, 26], "correct": [0, 1], "correspond": [3, 23, 24], "could": [0, 21], "count": 19, "crash": 0, "creat": [0, 3, 4, 8, 12, 17, 23, 26], "create_datagram_endpoint": 4, "create_socket": [3, 4], "create_task": [3, 7, 26], "creation": 0, "criteria": 0, "ctx": [3, 10, 11, 18, 23], "current": [0, 3, 19, 23, 26], "custom": [0, 8, 20], "customlogg": [3, 7, 20], "cut": 0, "d": [1, 17], "dai": 0, "data": [3, 23, 24], "datetim": 26, "deal": 0, "decemb": 0, "declar": 0, "decor": [0, 8, 10, 12, 17, 19], "decorator_func": 17, "decrement": 19, "default": [0, 1, 3, 10, 14, 16, 17, 23, 24], "defin": [3, 23, 24], "delai": 26, "delet": [0, 3, 6, 8, 18, 23, 24], "deletemessagebutton": [0, 3, 7, 18], "depend": [0, 9], "deprec": 0, "describ": 10, "detail": 17, "detect": 0, "determin": [14, 15, 16], "dev": [1, 3], "develop": [0, 2, 3, 7], "dict": [3, 6, 17, 23, 24], "dictat": 0, "dictionari": [3, 23, 24], "did": 0, "directli": [0, 17], "directori": 1, "discord": [0, 1, 3, 5, 7, 9, 10, 11, 13, 14, 16, 17, 21, 23, 25], "discord_invit": [0, 3, 7, 25], "disnak": 0, "distinguish": 26, "django": 6, "dm": 10, "do": [0, 1, 9, 19], "doc": [0, 19], "docker": 1, "docstr": 0, "document": 0, "doe": [0, 17], "doesn": [3, 10, 26], "don": [0, 10, 26], "done": [3, 18, 23, 26], "drop": 0, "due": 0, "dummi": [0, 3], "duplic": [0, 12], "durat": 10, "dynam": 0, "e": [3, 23], "each": [0, 3, 23], "edit": 3, "effort": [3, 23], "either": [0, 3], "els": 11, "elsewher": 26, "emb": [0, 3, 23], "emit": 3, "emoji": [0, 3, 22, 23], "empti": [3, 23], "emptypaginatorembederror": [2, 3, 7, 23], "enabl": [0, 1], "encount": 24, "end": [3, 23], "endpoint": 6, "ensur": [0, 3, 18, 25], "entir": [0, 3], "env": 1, "environ": [0, 1], "equival": 6, "error": [0, 3, 6, 7, 13, 14, 15, 16, 21, 24], "error_handl": [0, 3, 7], "etc": [1, 10], "evalu": 17, "even": 22, "event": [0, 3, 4, 19, 26], "event_loop": 26, "everi": [3, 23], "exact": 1, "exampl": [3, 23], "exc_info": 20, "exce": [3, 8, 23], "exceed": [3, 23], "except": [3, 6, 10, 12, 14, 16, 17, 19, 20, 23, 24, 26], "exception_on_empty_emb": [3, 23], "excess": [3, 23], "exclus": 19, "execut": [19, 26], "exist": [0, 1, 26], "exit": 19, "expect": 21, "expiri": 0, "explain": 0, "expos": 19, "express": 25, "ext": [0, 2, 3, 7, 9, 10, 11, 23], "extend": 0, "extens": [0, 3], "extra": [0, 6], "extract": 0, "facilit": 0, "fail": [9, 10, 24], "fail_sil": 10, "failur": 21, "fakeredi": 0, "fals": [3, 10, 12, 19, 23, 24], "featur": [0, 1, 3], "februari": 0, "fetch": [9, 21], "few": 1, "field": [3, 23, 24], "fieldinfo": [3, 23, 24], "fifo": 8, "file": [0, 1, 24], "filter": 0, "finish": [3, 19, 23], "first": [3, 14, 16, 23], "five": [3, 23], "fix": 0, "float": [10, 12, 18, 26], "folder": 1, "footer": [3, 23], "footer_text": [3, 23], "forbidden": [0, 9, 13], "format": [24, 25], "formatt": 20, "formatted_code_regex": [3, 7, 25], "forum": 0, "forwardref": 17, "found": [3, 17, 21, 26], "free": 1, "from": [0, 1, 3, 4, 6, 7, 9, 17, 18, 21, 23, 24, 26], "frozenset": [3, 17], "func": [17, 19], "function": [0, 3, 7, 8, 9, 12, 19, 20, 21, 23, 26], "functool": 17, "futur": [10, 26], "g": [3, 23], "gatewai": 3, "gener": [0, 3, 12, 26], "get": [0, 3, 6, 9, 17, 21], "get_arg_valu": [3, 7, 17], "get_arg_value_wrapp": [3, 7, 17], "get_bound_arg": [3, 7, 17], "get_logg": [3, 7, 20], "get_or_fetch_channel": [0, 3, 7, 9], "get_or_fetch_memb": [0, 3, 7, 21], "git": 1, "github": 0, "give": 3, "given": [0, 3, 4, 7, 9, 11, 17, 19, 20, 21, 26], "global": 17, "globalnameconflicterror": [3, 7, 17], "go": [1, 3, 19, 23], "greater": 24, "groundwork": 1, "group": [7, 25], "guild": [0, 1, 3, 10, 21], "guild_available_but_cache_empti": 3, "guild_creat": 3, "guild_id": [1, 2, 3], "guildchannel": 9, "ha": [0, 3, 7, 10, 18], "handl": [0, 13, 14, 15, 16, 21, 26], "handle_app_command_error": [13, 14, 15], "handle_error": [13, 14, 16], "handle_forbidden_from_block": [3, 7, 13], "handle_role_chang": [0, 3, 7, 21], "handle_text_command_error": [13, 14, 15], "handler": [0, 3, 14, 15, 16], "happen": 3, "has_any_role_check": [3, 7, 10], "has_no_roles_check": [3, 7, 10], "hashabl": [19, 26], "have": [0, 9, 10, 17, 20], "heavi": 7, "help": [0, 1], "helper": [0, 9, 12, 21], "hold": [3, 19, 23], "holder": 19, "hook": 0, "host": 4, "houston": 20, "how": [0, 8, 10, 17, 26], "howev": 1, "http": [0, 3, 6, 24, 25], "http_session": [2, 3, 24], "httpexcept": 9, "i": [0, 1, 3, 6, 7, 9, 10, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26], "icon": [3, 23], "icon_url": [3, 23], "id": [1, 3, 7, 9, 10, 18, 19, 23, 26], "identifi": [19, 26], "ignor": [1, 7, 17, 22], "ignored_conflict_nam": 17, "immedi": 26, "implement": [0, 3, 4, 8, 18, 20], "import": 0, "in_whitelist": 10, "in_whitelist_check": [3, 7, 10], "inadequ": 3, "includ": [0, 1, 13], "incorrect": 0, "increment": 19, "independantli": 0, "index": 2, "indic": [3, 21, 23], "individu": 3, "info": [0, 1], "inform": [2, 19, 20], "init": [0, 3, 4], "initi": [6, 26], "initialis": [3, 8], "input": 18, "insert": [3, 23], "insid": [3, 23], "instal": [0, 1], "instanc": [0, 3, 6, 8, 9, 10, 20, 26], "instanti": [3, 18, 26], "instead": [3, 12, 26], "int": [3, 4, 8, 9, 10, 17, 18, 23, 24], "intend": 21, "intent": 1, "interact": [0, 3, 7, 9, 14, 15, 23], "interactin": 21, "interaction_check": [7, 18], "interest": 20, "intern": [3, 7, 19], "intersphinx": 0, "introduc": 10, "invalid": 9, "invaliddata": 9, "invit": [0, 25], "invoc": [0, 12], "invok": [1, 10, 12, 18], "inwhitelistcheckfailur": [3, 7, 10], "is_in_categori": [3, 7, 9], "isn": [0, 13, 17], "issu": 10, "item": 8, "iter": [10, 12, 14, 16], "its": [0, 3, 12, 17], "itself": 18, "januari": 0, "json": 6, "juli": 0, "june": 0, "just": 0, "keep": [3, 23, 26], "kei": 8, "keyword": [6, 7, 17, 20], "known": 26, "kwarg": [3, 6, 12, 17, 18, 20, 26], "label": [0, 18], "lancebot": 1, "larg": 24, "larger": 24, "last": [3, 10, 18, 23], "latest": 0, "lead": 0, "least": 10, "left": [3, 23], "length": [3, 12, 23], "level": [0, 7, 20], "lexer": [0, 24], "librari": [0, 1], "like": [1, 17], "limit": [3, 23], "line": [3, 23], "linepagin": [0, 2, 3, 7, 23], "linesep": [3, 23], "link": 24, "lint": 0, "list": [0, 1, 3, 18, 23, 24], "listen": 18, "ll": [1, 26], "load": [0, 1, 3, 7], "load_extens": [0, 2, 3], "local": 2, "localhost": 4, "lock": [0, 3, 7], "lock_arg": [3, 7, 19], "lockedresourceerror": [3, 7, 19], "log": [0, 3, 7, 13, 21, 26], "log_format": [0, 3, 7, 20], "log_to_dev_log": [2, 3], "logger": [0, 20], "logic": 0, "long": [10, 24, 26], "longer": [0, 18], "look": [17, 26], "loop": [4, 26], "lot": 0, "lru": 8, "lua": 0, "lupa": 0, "m": 1, "machin": 1, "made": [0, 22], "mai": [0, 3, 8, 19, 23], "main": 0, "make": [0, 1, 3, 20, 23], "manag": [0, 3, 13, 14, 19], "mani": [0, 3, 8], "manipul": [0, 17], "manual": 3, "map": [3, 17, 19, 23, 24], "march": 0, "mark": 0, "match": [0, 3, 17], "max": 24, "max_length": 24, "max_lin": [3, 23], "max_paste_s": [3, 7, 24], "max_siz": [3, 8, 23, 24], "maximum": [3, 8, 23, 24], "maybe_raise_for_statu": [3, 6], "mean": 1, "meant": 0, "member": [0, 3, 7, 18], "member_id": 21, "mention": [1, 3], "messag": [0, 3, 7, 11, 12, 13, 18, 20, 23, 26], "message_id": 22, "message_typ": 0, "metadata": [3, 23, 24], "method": [0, 4, 6, 7, 20], "metric": 3, "might": [1, 3, 10], "migrat": 0, "minut": [3, 23], "miss": 0, "mod": 0, "model": [3, 23, 24], "model_computed_field": [2, 3, 7, 23, 24], "model_config": [2, 3, 7, 23, 24], "model_field": [2, 3, 7, 23, 24], "moder": [3, 18, 22, 23], "modifi": [1, 21], "modul": [0, 3, 7, 17, 26], "monitor": 1, "monkei": [0, 7], "month": 0, "more": [0, 1, 3, 17, 19, 23], "most": 1, "move": 0, "msg": 20, "multipl": 0, "multivers": 0, "must": [0, 17, 19, 26], "mutual": 19, "mypi": 20, "n": [3, 23], "name": [3, 7, 17, 19, 20, 23, 24, 26], "name_or_po": [17, 19], "namespac": [0, 19, 26], "navig": [0, 1, 3, 23], "na\u00efv": 26, "need": [0, 1, 3, 23], "new": [0, 1, 3, 4, 6, 8, 17, 23, 26], "newer": 0, "newli": 0, "next": [3, 23], "non": 6, "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 26], "noreturn": [14, 15], "normal": 3, "notabl": 0, "note": [0, 10], "notfound": 9, "notic": 0, "notifi": 12, "novemb": 0, "now": [0, 1, 26], "number": [0, 3, 10, 23, 24], "object": [3, 6, 7, 8, 9, 12, 14, 16, 19, 21, 23, 24, 26], "occur": 18, "octob": 0, "offset": 8, "ok": 6, "older": 0, "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "on_readi": 3, "on_timeout": [7, 18], "onc": [0, 3, 8], "one": [0, 3, 10, 14, 16, 23], "ones": 1, "onli": [0, 3, 18], "onto": [3, 23], "oper": [3, 19, 23, 26], "option": [0, 8, 17, 19], "order": [3, 8, 14, 16, 17, 19, 23, 26], "ordereddict": [17, 19], "origin": [0, 18], "other": [0, 1, 19, 26], "otherwis": [10, 19, 26], "our": [0, 1, 7], "out": [0, 1, 3, 18], "output": 25, "over": [0, 3, 23], "overflow": [3, 23], "overrid": [3, 23], "overwrit": [0, 3], "own": [0, 17], "p": [3, 7, 12], "packag": [0, 3, 7], "page": [2, 3, 23], "pagin": [0, 2, 3, 7], "pagination_emoji": [3, 23], "paginationemoji": [2, 3, 7, 23], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 17, 18, 19, 20, 21, 23, 24, 26], "paramspec": [12, 17], "parent": [0, 18], "pars": 25, "pass": [0, 3, 6, 17, 20, 21, 26], "past": [0, 24, 26], "paste_servic": [0, 3, 7], "paste_url": 24, "pastebin": 0, "pastefil": [0, 3, 7, 24], "pasterespons": [3, 7, 24], "pastetoolongerror": [3, 7, 24], "pasteunsupportedlexererror": [3, 7, 24], "pasteuploaderror": [3, 7, 24], "patch": [0, 3, 6, 7], "path": 1, "pattern": 25, "pep": 0, "per": [3, 10, 23], "perform": 19, "permiss": [0, 9], "ping": 3, "ping_servic": [0, 2, 3], "pip": 1, "place": [3, 23], "pleas": 25, "poetri": [0, 1], "popul": 3, "port": [0, 4], "posit": [8, 17, 19], "possibl": 1, "post": [3, 6, 24], "pre": 1, "predic": [0, 14, 15], "prefix": [1, 3, 4, 23], "prematur": 26, "press": 0, "prevent": [12, 19, 26], "previous": 0, "prioriti": [14, 16], "privatechannel": [0, 9], "problem": [10, 20], "process": [0, 3], "process_command": [0, 2, 3], "program": 1, "project": [0, 1, 20], "provid": [0, 1, 3, 8, 11, 13, 23, 26], "public": 0, "publish": 0, "purpos": 21, "push": 0, "put": [3, 6], "py": [0, 3, 17], "pydant": [0, 3, 23, 24], "pydi": [0, 2], "pydis_cor": [0, 1, 3, 18, 20], "pypi": 0, "pyproject": [0, 1], "python": [0, 1, 3, 24, 26], "pythondiscord": [0, 24], "qualifi": 7, "quot": 25, "r": [3, 7, 12], "rais": [3, 6, 9, 10, 11, 12, 13, 14, 15, 17, 19, 21, 23, 24, 26], "raise_error": 19, "raise_for_statu": 6, "rate": 10, "rather": 7, "raw": [12, 25], "raw_code_regex": [3, 7, 25], "rc2": 0, "re": [1, 3, 13, 22, 26], "reach": 19, "reaction": [0, 3, 22, 23], "reaction_check": [0, 3, 7, 22], "read": 0, "readi": 3, "real": 0, "reason": [3, 23], "receiv": [0, 6, 9], "recognis": 20, "reconnect": 0, "redi": [0, 3], "redirect": 10, "redirect_channel": 10, "redis_sess": [2, 3], "rediscach": 0, "redissess": 3, "refer": 0, "referenc": 0, "reflect": 17, "regex": [0, 3, 7], "regist": [0, 14, 16], "register_command_error_manag": [2, 3], "register_handl": [13, 14, 16], "registr": [3, 14, 16], "regular": 25, "reinstal": 1, "reject": 24, "relat": [8, 14, 16, 20], "releas": 0, "relev": 3, "reli": 0, "remain": [3, 23], "remov": [0, 3, 18, 22, 23, 24], "remove_command": [2, 3], "remove_rol": 21, "renam": 0, "replac": [3, 10, 17, 23, 24], "repli": [3, 11, 12, 13, 23], "repo": 0, "represent": 6, "request": [0, 3, 6, 25], "requir": [0, 1, 3, 23, 24, 26], "resolut": 0, "resolv": [3, 17], "resourc": 19, "resource_id": 19, "resource_typ": 19, "respons": [0, 6, 24], "response_json": 6, "response_text": 6, "responsecodeerror": [2, 3, 6], "restor": 0, "restrict": [0, 3, 23], "restrict_to_us": [3, 23], "result": [0, 26], "retriev": 9, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26], "reusabl": 5, "revert": 0, "right": [0, 3, 23], "role": [0, 1, 3, 10, 18, 21, 22, 23], "root": [1, 3, 7], "root_alias": 7, "rout": 7, "ruff": 0, "rule": 0, "run": [0, 1, 12, 19, 26], "runtimeerror": 19, "safe": 0, "same": [12, 26], "sampl": 0, "sanitis": 25, "save": [0, 3, 24], "scale": [3, 23], "scale_to_s": [3, 23], "schedul": [0, 3, 7], "schedule_at": [7, 26], "schedule_lat": [7, 26], "script": 0, "search": 2, "second": [3, 10, 12, 18, 23, 26], "secondari": 18, "see": [0, 1, 17, 18, 19], "self": [0, 3, 18], "send": [0, 3, 6, 18, 23], "send_notic": 12, "send_to_paste_servic": [0, 3, 7, 24], "send_typ": 7, "seper": 1, "septemb": 0, "sequenc": [3, 7, 17, 18, 23], "serv": [3, 23], "server": [3, 25], "servic": [0, 1, 3, 24], "session": [0, 3, 6, 24], "session_kwarg": 6, "set": [0, 1, 3, 12, 17, 18, 19, 23], "set_author": [3, 23], "setup": [0, 3], "setup_hook": [2, 3], "sever": 20, "share": [0, 17], "sharedev": [3, 7, 19], "should": [0, 1, 3, 6, 14, 15, 18, 23, 24], "should_handle_error": [13, 14, 15, 16], "should_rais": 6, "signatur": 12, "silent": 10, "similar": [18, 25], "sinc": 10, "singl": [0, 3, 23], "sir": 1, "site": [0, 3, 6], "site_api": [0, 2, 3], "site_api_token": 6, "site_api_url": 6, "size": [3, 8, 23, 24], "so": [0, 1, 3, 7], "socket": 4, "sole": 21, "some": [0, 3, 23, 24], "someth": 25, "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26], "specif": [0, 10], "specifi": [0, 10, 12, 18], "sphinx": 0, "split": 0, "stabl": 0, "standardis": [0, 20], "start": [0, 3, 26], "startup": 3, "startuperror": [2, 3], "stat": [0, 2, 3, 4], "state": 17, "static": 6, "statsclientbas": 4, "statsd": [0, 3, 4], "statsd_url": [0, 2, 3], "step": 1, "still": [3, 23], "stop": [0, 7, 18], "store": [0, 3, 7, 8, 23], "str": [3, 4, 6, 7, 10, 11, 17, 18, 19, 20, 23, 24, 26], "string": [0, 6], "style": 18, "sub": [0, 3], "submodul": [2, 13], "subpackag": 2, "subtract": 26, "success": [0, 24], "suffix": [3, 23], "suggest": 26, "support": [0, 4, 7, 26], "suppressed_except": 26, "sure": 1, "switch": [3, 23], "sync": [0, 3], "sync_app_command": 3, "system": [0, 1, 14, 16], "t": [0, 3, 10, 11, 13, 17, 19, 26], "target": [0, 8], "task": [0, 26], "task_id": 26, "task_return": 26, "templat": 1, "test": 2, "text": [0, 3, 6, 11, 14, 15, 23, 24], "textchannel": 9, "than": [7, 24], "thei": [3, 17, 22], "them": [1, 3, 17, 26], "thi": [0, 1, 3, 7, 9, 10, 12, 17, 18, 19, 21, 23, 24, 25, 26], "thread": [0, 9], "three": [3, 23], "through": [14, 16, 19], "thrown": 7, "thu": 3, "tild": 0, "time": [0, 10, 26], "timeout": [0, 3, 18, 23], "timezon": 26, "token": [1, 6], "toml": [0, 1], "too": 24, "tool": [3, 7], "top": 7, "total": [3, 23], "trace": [0, 7, 20], "track": 26, "transport": 4, "trashcan": [3, 23], "tree": 3, "trigger": 10, "true": [3, 6, 10, 12, 19, 20, 22, 23, 24, 26], "truncat": [3, 23], "tupl": [17, 26], "turn": 19, "two": 7, "type": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26], "type_": 10, "typeerror": [10, 17], "typehint": 17, "typevar": [12, 17, 26], "u": [0, 3, 23], "ui": 18, "unavail": 3, "unawait": 26, "under": 7, "underli": 19, "union": 10, "uniqu": 26, "unknown": 9, "unqualifi": [0, 2, 3, 7], "unschedul": 26, "unsupport": 24, "unti": [3, 23], "until": [0, 3, 19, 25], "up": [0, 1, 3, 23], "updat": [0, 17], "update_wrapper_glob": [3, 7, 17], "upload": [0, 24], "upon": 0, "url": [0, 3, 6, 23, 24], "urllib": 25, "us": [0, 1, 3, 4, 6, 7, 9, 10, 12, 17, 19, 20, 21, 23, 24, 25, 26], "usag": 0, "user": [0, 3, 10, 12, 18, 22, 23], "user_has_access": [0, 3, 7, 18], "utc": 26, "util": [0, 1, 2, 3, 8, 17, 18, 20], "v1": [0, 3, 23, 24], "valid": 0, "valu": [12, 17, 19, 20], "valueerror": [6, 17, 24], "vari": 1, "variabl": 1, "variou": [0, 9], "verifi": 10, "version": [0, 11], "view": [0, 18], "viewwithuserandrolecheck": [0, 3, 7, 18], "wa": [0, 9, 10, 26], "wait": [0, 3, 7, 19, 26], "wait_until_guild_avail": [2, 3], "want": 1, "warn": [0, 26], "wasn": 11, "we": [20, 21], "websocket": 0, "were": 3, "what": 1, "when": [0, 3, 4, 6, 7, 8, 10, 12, 17, 19, 23, 24, 26], "where": 10, "whether": [0, 3, 6, 9, 10, 14, 15, 18, 23], "which": [0, 1, 3, 7, 10, 12, 17, 19, 23, 26], "while": [3, 12, 19, 23], "whitelist": 10, "whitespac": [0, 25], "who": [0, 18], "whom": [3, 23], "within": [0, 3], "without": [0, 10], "won": 17, "word": [3, 23], "work": [0, 1], "worker": 7, "workflow": 0, "would": [3, 23], "wrap": [8, 17, 26], "wrapper": [0, 6, 12, 17, 26], "write": [0, 1], "wrong": 0, "www": 0, "x": 0, "you": [0, 1, 9, 25], "your": 1}, "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "checks", "commands", "cooldown", "error_handling package", "commands package", "abc", "manager", "function", "interactions", "lock", "logging", "members", "messages", "pagination", "paste_service", "regex", "scheduling"], "titleterms": {"1": 1, "2": 1, "abc": 15, "async_stat": 4, "bot": 2, "cach": 8, "changelog": 0, "channel": 9, "check": 10, "command": [11, 14], "cooldown": 12, "core": [2, 3], "develop": 1, "document": 2, "error_handl": 13, "ext": 5, "extra": 2, "function": 17, "interact": 18, "local": 1, "lock": 19, "log": 20, "manag": 16, "member": 21, "messag": 22, "modul": 2, "option": 1, "packag": [13, 14], "pagin": 23, "paste_servic": 24, "project": 2, "pydi": 3, "refer": 2, "regex": 25, "schedul": 26, "site_api": 6, "submodul": [3, 7, 14], "subpackag": [3, 7, 13], "test": 1, "util": 7}}) \ No newline at end of file +Search.setIndex({"alltitles": {"Bot Core Project Documentation": [[2, null]], "Changelog": [[0, null]], "Extras": [[2, "extras"]], "Exts": [[5, null]], "Local Development & Testing": [[1, null]], "Modules:": [[2, null]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Pydis Core": [[3, null]], "Reference": [[2, "reference"]], "Submodules": [[3, "submodules"], [7, "submodules"], [14, "submodules"]], "Subpackages": [[3, "subpackages"], [7, "subpackages"], [13, "subpackages"]], "Utils": [[7, null]], "abc": [[15, null]], "async_stats": [[4, null]], "caching": [[8, null]], "channel": [[9, null]], "checks": [[10, null]], "commands": [[11, null]], "commands package": [[14, null]], "cooldown": [[12, null]], "error_handling package": [[13, null]], "function": [[17, null]], "interactions": [[18, null]], "lock": [[19, null]], "logging": [[20, null]], "manager": [[16, null]], "members": [[21, null]], "messages": [[22, null]], "pagination": [[23, null]], "paste_service": [[24, null]], "regex": [[25, null]], "scheduling": [[26, null]], "site_api": [[6, null]]}, "docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.checks", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.error_handling.commands", "output/pydis_core.utils.error_handling.commands.abc", "output/pydis_core.utils.error_handling.commands.manager", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.lock", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.messages", "output/pydis_core.utils.pagination", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "envversion": {"sphinx": 63, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2}, "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.checks.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.error_handling.commands.rst", "output/pydis_core.utils.error_handling.commands.abc.rst", "output/pydis_core.utils.error_handling.commands.manager.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.lock.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.messages.rst", "output/pydis_core.utils.pagination.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "indexentries": {"__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__", false]], "__class_vars__ (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.__class_vars__", false], [23, "pydis_core.utils.pagination.PaginationEmojis.__class_vars__", false]], "__class_vars__ (pastefile attribute)": [[24, "pydis_core.utils.paste_service.PasteFile.__class_vars__", false]], "__class_vars__ (pasteresponse attribute)": [[24, "pydis_core.utils.paste_service.PasteResponse.__class_vars__", false]], "__contains__() (scheduler method)": [[26, "pydis_core.utils.scheduling.Scheduler.__contains__", false]], "__enter__() (sharedevent method)": [[19, "pydis_core.utils.lock.SharedEvent.__enter__", false]], "__exit__() (sharedevent method)": [[19, "pydis_core.utils.lock.SharedEvent.__exit__", false]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__", false]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__", false]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__", false]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__", false]], "__init__() (commanderrormanager method)": [[14, "pydis_core.utils.error_handling.commands.CommandErrorManager.__init__", false], [16, "pydis_core.utils.error_handling.commands.manager.CommandErrorManager.__init__", false]], "__init__() (commandoncooldown method)": [[12, "pydis_core.utils.cooldown.CommandOnCooldown.__init__", false]], "__init__() (contextcheckfailure method)": [[10, "pydis_core.utils.checks.ContextCheckFailure.__init__", false]], "__init__() (deletemessagebutton method)": [[18, "pydis_core.utils.interactions.DeleteMessageButton.__init__", false]], "__init__() (linepaginator method)": [[3, "pydis_core.LinePaginator.__init__", false], [23, "pydis_core.utils.pagination.LinePaginator.__init__", false]], "__init__() (lockedresourceerror method)": [[19, "pydis_core.utils.lock.LockedResourceError.__init__", false]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__", false]], "__init__() (scheduler method)": [[26, "pydis_core.utils.scheduling.Scheduler.__init__", false]], "__init__() (sharedevent method)": [[19, "pydis_core.utils.lock.SharedEvent.__init__", false]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__", false]], "__init__() (viewwithuserandrolecheck method)": [[18, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__", false]], "__private_attributes__ (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.__private_attributes__", false], [23, "pydis_core.utils.pagination.PaginationEmojis.__private_attributes__", false]], "__private_attributes__ (pastefile attribute)": [[24, "pydis_core.utils.paste_service.PasteFile.__private_attributes__", false]], "__private_attributes__ (pasteresponse attribute)": [[24, "pydis_core.utils.paste_service.PasteResponse.__private_attributes__", false]], "__pydantic_complete__ (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.__pydantic_complete__", false], [23, "pydis_core.utils.pagination.PaginationEmojis.__pydantic_complete__", false]], "__pydantic_complete__ (pastefile attribute)": [[24, "pydis_core.utils.paste_service.PasteFile.__pydantic_complete__", false]], "__pydantic_complete__ (pasteresponse attribute)": [[24, "pydis_core.utils.paste_service.PasteResponse.__pydantic_complete__", false]], "__pydantic_core_schema__ (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.__pydantic_core_schema__", false], [23, "pydis_core.utils.pagination.PaginationEmojis.__pydantic_core_schema__", false]], "__pydantic_core_schema__ (pastefile attribute)": [[24, "pydis_core.utils.paste_service.PasteFile.__pydantic_core_schema__", false]], "__pydantic_core_schema__ (pasteresponse attribute)": [[24, "pydis_core.utils.paste_service.PasteResponse.__pydantic_core_schema__", false]], "__pydantic_custom_init__ (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.__pydantic_custom_init__", false], [23, "pydis_core.utils.pagination.PaginationEmojis.__pydantic_custom_init__", false]], "__pydantic_custom_init__ (pastefile attribute)": [[24, "pydis_core.utils.paste_service.PasteFile.__pydantic_custom_init__", false]], "__pydantic_custom_init__ (pasteresponse attribute)": [[24, "pydis_core.utils.paste_service.PasteResponse.__pydantic_custom_init__", false]], "__pydantic_decorators__ (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.__pydantic_decorators__", false], [23, "pydis_core.utils.pagination.PaginationEmojis.__pydantic_decorators__", false]], "__pydantic_decorators__ (pastefile attribute)": [[24, "pydis_core.utils.paste_service.PasteFile.__pydantic_decorators__", false]], "__pydantic_decorators__ (pasteresponse attribute)": [[24, "pydis_core.utils.paste_service.PasteResponse.__pydantic_decorators__", false]], "__pydantic_extra__ (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.__pydantic_extra__", false], [23, "pydis_core.utils.pagination.PaginationEmojis.__pydantic_extra__", false]], "__pydantic_extra__ (pastefile attribute)": [[24, "pydis_core.utils.paste_service.PasteFile.__pydantic_extra__", false]], "__pydantic_extra__ (pasteresponse attribute)": [[24, "pydis_core.utils.paste_service.PasteResponse.__pydantic_extra__", false]], "__pydantic_fields_set__ (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.__pydantic_fields_set__", false], [23, "pydis_core.utils.pagination.PaginationEmojis.__pydantic_fields_set__", false]], "__pydantic_fields_set__ (pastefile attribute)": [[24, "pydis_core.utils.paste_service.PasteFile.__pydantic_fields_set__", false]], "__pydantic_fields_set__ (pasteresponse attribute)": [[24, "pydis_core.utils.paste_service.PasteResponse.__pydantic_fields_set__", false]], "__pydantic_generic_metadata__ (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.__pydantic_generic_metadata__", false], [23, "pydis_core.utils.pagination.PaginationEmojis.__pydantic_generic_metadata__", false]], "__pydantic_generic_metadata__ (pastefile attribute)": [[24, "pydis_core.utils.paste_service.PasteFile.__pydantic_generic_metadata__", false]], "__pydantic_generic_metadata__ (pasteresponse attribute)": [[24, "pydis_core.utils.paste_service.PasteResponse.__pydantic_generic_metadata__", false]], "__pydantic_parent_namespace__ (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.__pydantic_parent_namespace__", false], [23, "pydis_core.utils.pagination.PaginationEmojis.__pydantic_parent_namespace__", false]], "__pydantic_parent_namespace__ (pastefile attribute)": [[24, "pydis_core.utils.paste_service.PasteFile.__pydantic_parent_namespace__", false]], "__pydantic_parent_namespace__ (pasteresponse attribute)": [[24, "pydis_core.utils.paste_service.PasteResponse.__pydantic_parent_namespace__", false]], "__pydantic_post_init__ (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.__pydantic_post_init__", false], [23, "pydis_core.utils.pagination.PaginationEmojis.__pydantic_post_init__", false]], "__pydantic_post_init__ (pastefile attribute)": [[24, "pydis_core.utils.paste_service.PasteFile.__pydantic_post_init__", false]], "__pydantic_post_init__ (pasteresponse attribute)": [[24, "pydis_core.utils.paste_service.PasteResponse.__pydantic_post_init__", false]], "__pydantic_private__ (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.__pydantic_private__", false], [23, "pydis_core.utils.pagination.PaginationEmojis.__pydantic_private__", false]], "__pydantic_private__ (pastefile attribute)": [[24, "pydis_core.utils.paste_service.PasteFile.__pydantic_private__", false]], "__pydantic_private__ (pasteresponse attribute)": [[24, "pydis_core.utils.paste_service.PasteResponse.__pydantic_private__", false]], "__pydantic_serializer__ (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.__pydantic_serializer__", false], [23, "pydis_core.utils.pagination.PaginationEmojis.__pydantic_serializer__", false]], "__pydantic_serializer__ (pastefile attribute)": [[24, "pydis_core.utils.paste_service.PasteFile.__pydantic_serializer__", false]], "__pydantic_serializer__ (pasteresponse attribute)": [[24, "pydis_core.utils.paste_service.PasteResponse.__pydantic_serializer__", false]], "__pydantic_validator__ (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.__pydantic_validator__", false], [23, "pydis_core.utils.pagination.PaginationEmojis.__pydantic_validator__", false]], "__pydantic_validator__ (pastefile attribute)": [[24, "pydis_core.utils.paste_service.PasteFile.__pydantic_validator__", false]], "__pydantic_validator__ (pasteresponse attribute)": [[24, "pydis_core.utils.paste_service.PasteResponse.__pydantic_validator__", false]], "__signature__ (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.__signature__", false], [23, "pydis_core.utils.pagination.PaginationEmojis.__signature__", false]], "__signature__ (pastefile attribute)": [[24, "pydis_core.utils.paste_service.PasteFile.__signature__", false]], "__signature__ (pasteresponse attribute)": [[24, "pydis_core.utils.paste_service.PasteResponse.__signature__", false]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__", false]], "abstractcommanderrorhandler (class in pydis_core.utils.error_handling.commands)": [[14, "pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler", false]], "abstractcommanderrorhandler (class in pydis_core.utils.error_handling.commands.abc)": [[15, "pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler", false]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog", false]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command", false]], "add_line() (linepaginator method)": [[3, "pydis_core.LinePaginator.add_line", false], [23, "pydis_core.utils.pagination.LinePaginator.add_line", false]], "all_extensions (botbase attribute)": [[3, "pydis_core.BotBase.all_extensions", false]], "api_client (botbase attribute)": [[3, "pydis_core.BotBase.api_client", false]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient", false]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches", false]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache", false]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient", false]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[12, "pydis_core.utils.cooldown.block_duplicate_invocations", false]], "botbase (class in pydis_core)": [[3, "pydis_core.BotBase", false]], "call_without_cooldown() (commandoncooldown method)": [[12, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown", false]], "callback() (deletemessagebutton method)": [[18, "pydis_core.utils.interactions.DeleteMessageButton.callback", false]], "cancel() (scheduler method)": [[26, "pydis_core.utils.scheduling.Scheduler.cancel", false]], "cancel_all() (scheduler method)": [[26, "pydis_core.utils.scheduling.Scheduler.cancel_all", false]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[11, "pydis_core.utils.commands.clean_text_or_reply", false]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear", false]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear", false]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close", false]], "close() (botbase method)": [[3, "pydis_core.BotBase.close", false]], "command_wraps() (in module pydis_core.utils.function)": [[17, "pydis_core.utils.function.command_wraps", false]], "commanderrormanager (class in pydis_core.utils.error_handling.commands)": [[14, "pydis_core.utils.error_handling.commands.CommandErrorManager", false]], "commanderrormanager (class in pydis_core.utils.error_handling.commands.manager)": [[16, "pydis_core.utils.error_handling.commands.manager.CommandErrorManager", false]], "commandoncooldown": [[12, "pydis_core.utils.cooldown.CommandOnCooldown", false]], "contextcheckfailure": [[10, "pydis_core.utils.checks.ContextCheckFailure", false]], "cooldown_with_role_bypass() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.cooldown_with_role_bypass", false]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket", false]], "create_task() (in module pydis_core.utils.scheduling)": [[26, "pydis_core.utils.scheduling.create_task", false]], "customlogger (class in pydis_core.utils.logging)": [[20, "pydis_core.utils.logging.CustomLogger", false]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete", false]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[18, "pydis_core.utils.interactions.DeleteMessageButton", false]], "discord_invite (in module pydis_core.utils.regex)": [[25, "pydis_core.utils.regex.DISCORD_INVITE", false]], "emptypaginatorembederror": [[3, "pydis_core.EmptyPaginatorEmbedError", false], [23, "pydis_core.utils.pagination.EmptyPaginatorEmbedError", false]], "formatted_code_regex (in module pydis_core.utils.regex)": [[25, "pydis_core.utils.regex.FORMATTED_CODE_REGEX", false]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get", false]], "get_arg_value() (in module pydis_core.utils.function)": [[17, "pydis_core.utils.function.get_arg_value", false]], "get_arg_value_wrapper() (in module pydis_core.utils.function)": [[17, "pydis_core.utils.function.get_arg_value_wrapper", false]], "get_bound_args() (in module pydis_core.utils.function)": [[17, "pydis_core.utils.function.get_bound_args", false]], "get_logger() (in module pydis_core.utils.logging)": [[20, "pydis_core.utils.logging.get_logger", false]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel", false]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[21, "pydis_core.utils.members.get_or_fetch_member", false]], "globalnameconflicterror": [[17, "pydis_core.utils.function.GlobalNameConflictError", false]], "guild_id (botbase attribute)": [[3, "pydis_core.BotBase.guild_id", false]], "handle_app_command_error() (abstractcommanderrorhandler method)": [[14, "pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler.handle_app_command_error", false], [15, "pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler.handle_app_command_error", false]], "handle_error() (commanderrormanager method)": [[14, "pydis_core.utils.error_handling.commands.CommandErrorManager.handle_error", false], [16, "pydis_core.utils.error_handling.commands.manager.CommandErrorManager.handle_error", false]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[13, "pydis_core.utils.error_handling.handle_forbidden_from_block", false]], "handle_role_change() (in module pydis_core.utils.members)": [[21, "pydis_core.utils.members.handle_role_change", false]], "handle_text_command_error() (abstractcommanderrorhandler method)": [[14, "pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler.handle_text_command_error", false], [15, "pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler.handle_text_command_error", false]], "has_any_role_check() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.has_any_role_check", false]], "has_no_roles_check() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.has_no_roles_check", false]], "http_session (botbase attribute)": [[3, "pydis_core.BotBase.http_session", false]], "id (lockedresourceerror attribute)": [[19, "pydis_core.utils.lock.LockedResourceError.id", false]], "in_whitelist_check() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.in_whitelist_check", false]], "interaction_check() (viewwithuserandrolecheck method)": [[18, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check", false]], "inwhitelistcheckfailure": [[10, "pydis_core.utils.checks.InWhitelistCheckFailure", false]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category", false]], "linepaginator (class in pydis_core)": [[3, "pydis_core.LinePaginator", false]], "linepaginator (class in pydis_core.utils.pagination)": [[23, "pydis_core.utils.pagination.LinePaginator", false]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions", false]], "lock() (in module pydis_core.utils.lock)": [[19, "pydis_core.utils.lock.lock", false]], "lock_arg() (in module pydis_core.utils.lock)": [[19, "pydis_core.utils.lock.lock_arg", false]], "lockedresourceerror": [[19, "pydis_core.utils.lock.LockedResourceError", false]], "log_format (in module pydis_core.utils.logging)": [[20, "pydis_core.utils.logging.log_format", false]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log", false]], "max_paste_size (in module pydis_core.utils.paste_service)": [[24, "pydis_core.utils.paste_service.MAX_PASTE_SIZE", false]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status", false]], "model_computed_fields (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.model_computed_fields", false], [23, "pydis_core.utils.pagination.PaginationEmojis.model_computed_fields", false]], "model_computed_fields (pastefile attribute)": [[24, "pydis_core.utils.paste_service.PasteFile.model_computed_fields", false]], "model_computed_fields (pasteresponse attribute)": [[24, "pydis_core.utils.paste_service.PasteResponse.model_computed_fields", false]], "model_config (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.model_config", false], [23, "pydis_core.utils.pagination.PaginationEmojis.model_config", false]], "model_config (pastefile attribute)": [[24, "pydis_core.utils.paste_service.PasteFile.model_config", false]], "model_config (pasteresponse attribute)": [[24, "pydis_core.utils.paste_service.PasteResponse.model_config", false]], "model_fields (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.model_fields", false], [23, "pydis_core.utils.pagination.PaginationEmojis.model_fields", false]], "model_fields (pastefile attribute)": [[24, "pydis_core.utils.paste_service.PasteFile.model_fields", false]], "model_fields (pasteresponse attribute)": [[24, "pydis_core.utils.paste_service.PasteResponse.model_fields", false]], "module": [[3, "module-pydis_core", false], [4, "module-pydis_core.async_stats", false], [5, "module-pydis_core.exts", false], [6, "module-pydis_core.site_api", false], [7, "module-pydis_core.utils", false], [8, "module-pydis_core.utils.caching", false], [9, "module-pydis_core.utils.channel", false], [10, "module-pydis_core.utils.checks", false], [11, "module-pydis_core.utils.commands", false], [12, "module-pydis_core.utils.cooldown", false], [13, "module-pydis_core.utils.error_handling", false], [14, "module-pydis_core.utils.error_handling.commands", false], [15, "module-pydis_core.utils.error_handling.commands.abc", false], [16, "module-pydis_core.utils.error_handling.commands.manager", false], [17, "module-pydis_core.utils.function", false], [18, "module-pydis_core.utils.interactions", false], [19, "module-pydis_core.utils.lock", false], [20, "module-pydis_core.utils.logging", false], [21, "module-pydis_core.utils.members", false], [22, "module-pydis_core.utils.messages", false], [23, "module-pydis_core.utils.pagination", false], [24, "module-pydis_core.utils.paste_service", false], [25, "module-pydis_core.utils.regex", false], [26, "module-pydis_core.utils.scheduling", false]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available", false]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable", false]], "on_timeout() (viewwithuserandrolecheck method)": [[18, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout", false]], "p (in module pydis_core.utils.cooldown)": [[12, "pydis_core.utils.cooldown.P", false]], "paginate() (linepaginator class method)": [[3, "pydis_core.LinePaginator.paginate", false], [23, "pydis_core.utils.pagination.LinePaginator.paginate", false]], "paginationemojis (class in pydis_core)": [[3, "pydis_core.PaginationEmojis", false]], "paginationemojis (class in pydis_core.utils.pagination)": [[23, "pydis_core.utils.pagination.PaginationEmojis", false]], "pastefile (class in pydis_core.utils.paste_service)": [[24, "pydis_core.utils.paste_service.PasteFile", false]], "pasteresponse (class in pydis_core.utils.paste_service)": [[24, "pydis_core.utils.paste_service.PasteResponse", false]], "pastetoolongerror": [[24, "pydis_core.utils.paste_service.PasteTooLongError", false]], "pasteunsupportedlexererror": [[24, "pydis_core.utils.paste_service.PasteUnsupportedLexerError", false]], "pasteuploaderror": [[24, "pydis_core.utils.paste_service.PasteUploadError", false]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch", false]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services", false]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post", false]], "process_commands() (botbase method)": [[3, "pydis_core.BotBase.process_commands", false]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put", false]], "pydis_core": [[3, "module-pydis_core", false]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats", false]], "pydis_core.exts": [[5, "module-pydis_core.exts", false]], "pydis_core.site_api": [[6, "module-pydis_core.site_api", false]], "pydis_core.utils": [[7, "module-pydis_core.utils", false]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching", false]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel", false]], "pydis_core.utils.checks": [[10, "module-pydis_core.utils.checks", false]], "pydis_core.utils.commands": [[11, "module-pydis_core.utils.commands", false]], "pydis_core.utils.cooldown": [[12, "module-pydis_core.utils.cooldown", false]], "pydis_core.utils.error_handling": [[13, "module-pydis_core.utils.error_handling", false]], "pydis_core.utils.error_handling.commands": [[14, "module-pydis_core.utils.error_handling.commands", false]], "pydis_core.utils.error_handling.commands.abc": [[15, "module-pydis_core.utils.error_handling.commands.abc", false]], "pydis_core.utils.error_handling.commands.manager": [[16, "module-pydis_core.utils.error_handling.commands.manager", false]], "pydis_core.utils.function": [[17, "module-pydis_core.utils.function", false]], "pydis_core.utils.interactions": [[18, "module-pydis_core.utils.interactions", false]], "pydis_core.utils.lock": [[19, "module-pydis_core.utils.lock", false]], "pydis_core.utils.logging": [[20, "module-pydis_core.utils.logging", false]], "pydis_core.utils.members": [[21, "module-pydis_core.utils.members", false]], "pydis_core.utils.messages": [[22, "module-pydis_core.utils.messages", false]], "pydis_core.utils.pagination": [[23, "module-pydis_core.utils.pagination", false]], "pydis_core.utils.paste_service": [[24, "module-pydis_core.utils.paste_service", false]], "pydis_core.utils.regex": [[25, "module-pydis_core.utils.regex", false]], "pydis_core.utils.scheduling": [[26, "module-pydis_core.utils.scheduling", false]], "r (class in pydis_core.utils.cooldown)": [[12, "pydis_core.utils.cooldown.R", false]], "raw_code_regex (in module pydis_core.utils.regex)": [[25, "pydis_core.utils.regex.RAW_CODE_REGEX", false]], "reaction_check() (in module pydis_core.utils.messages)": [[22, "pydis_core.utils.messages.reaction_check", false]], "redis_session (botbase attribute)": [[3, "pydis_core.BotBase.redis_session", false]], "register_command_error_manager() (botbase method)": [[3, "pydis_core.BotBase.register_command_error_manager", false]], "register_handler() (commanderrormanager method)": [[14, "pydis_core.utils.error_handling.commands.CommandErrorManager.register_handler", false], [16, "pydis_core.utils.error_handling.commands.manager.CommandErrorManager.register_handler", false]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command", false]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request", false]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError", false]], "schedule() (scheduler method)": [[26, "pydis_core.utils.scheduling.Scheduler.schedule", false]], "schedule_at() (scheduler method)": [[26, "pydis_core.utils.scheduling.Scheduler.schedule_at", false]], "schedule_later() (scheduler method)": [[26, "pydis_core.utils.scheduling.Scheduler.schedule_later", false]], "scheduler (class in pydis_core.utils.scheduling)": [[26, "pydis_core.utils.scheduling.Scheduler", false]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[24, "pydis_core.utils.paste_service.send_to_paste_service", false]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook", false]], "sharedevent (class in pydis_core.utils.lock)": [[19, "pydis_core.utils.lock.SharedEvent", false]], "should_handle_error() (abstractcommanderrorhandler method)": [[14, "pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler.should_handle_error", false], [15, "pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler.should_handle_error", false]], "startuperror": [[3, "pydis_core.StartupError", false]], "stats (botbase attribute)": [[3, "pydis_core.BotBase.stats", false]], "statsd_url (botbase attribute)": [[3, "pydis_core.BotBase.statsd_url", false]], "stop() (viewwithuserandrolecheck method)": [[18, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.stop", false]], "trace() (customlogger method)": [[20, "pydis_core.utils.logging.CustomLogger.trace", false]], "type (lockedresourceerror attribute)": [[19, "pydis_core.utils.lock.LockedResourceError.type", false]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify", false]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[17, "pydis_core.utils.function.update_wrapper_globals", false]], "user_has_access() (in module pydis_core.utils.interactions)": [[18, "pydis_core.utils.interactions.user_has_access", false]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[18, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck", false]], "wait() (sharedevent method)": [[19, "pydis_core.utils.lock.SharedEvent.wait", false]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available", false]]}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 4, 1, "", "EmptyPaginatorEmbedError"], [3, 1, 1, "", "LinePaginator"], [3, 1, 1, "", "PaginationEmojis"], [3, 4, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 3, 1, "", "all_extensions"], [3, 3, 1, "", "api_client"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 3, 1, "", "guild_id"], [3, 3, 1, "", "http_session"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "process_commands"], [3, 3, 1, "", "redis_session"], [3, 2, 1, "", "register_command_error_manager"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 3, 1, "", "stats"], [3, 3, 1, "", "statsd_url"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.LinePaginator": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_line"], [3, 2, 1, "", "paginate"]], "pydis_core.PaginationEmojis": [[3, 3, 1, "", "__class_vars__"], [3, 3, 1, "", "__private_attributes__"], [3, 3, 1, "", "__pydantic_complete__"], [3, 3, 1, "", "__pydantic_core_schema__"], [3, 3, 1, "", "__pydantic_custom_init__"], [3, 3, 1, "", "__pydantic_decorators__"], [3, 3, 1, "", "__pydantic_extra__"], [3, 3, 1, "", "__pydantic_fields_set__"], [3, 3, 1, "", "__pydantic_generic_metadata__"], [3, 3, 1, "", "__pydantic_parent_namespace__"], [3, 3, 1, "", "__pydantic_post_init__"], [3, 3, 1, "", "__pydantic_private__"], [3, 3, 1, "", "__pydantic_serializer__"], [3, 3, 1, "", "__pydantic_validator__"], [3, 3, 1, "", "__signature__"], [3, 3, 1, "", "model_computed_fields"], [3, 3, 1, "", "model_config"], [3, 3, 1, "", "model_fields"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 4, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 5, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "checks"], [11, 0, 0, "-", "commands"], [12, 0, 0, "-", "cooldown"], [13, 0, 0, "-", "error_handling"], [17, 0, 0, "-", "function"], [18, 0, 0, "-", "interactions"], [19, 0, 0, "-", "lock"], [20, 0, 0, "-", "logging"], [21, 0, 0, "-", "members"], [22, 0, 0, "-", "messages"], [23, 0, 0, "-", "pagination"], [24, 0, 0, "-", "paste_service"], [25, 0, 0, "-", "regex"], [26, 0, 0, "-", "scheduling"], [7, 5, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 5, 1, "", "get_or_fetch_channel"], [9, 5, 1, "", "is_in_category"]], "pydis_core.utils.checks": [[10, 4, 1, "", "ContextCheckFailure"], [10, 4, 1, "", "InWhitelistCheckFailure"], [10, 5, 1, "", "cooldown_with_role_bypass"], [10, 5, 1, "", "has_any_role_check"], [10, 5, 1, "", "has_no_roles_check"], [10, 5, 1, "", "in_whitelist_check"]], "pydis_core.utils.checks.ContextCheckFailure": [[10, 2, 1, "", "__init__"]], "pydis_core.utils.commands": [[11, 5, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[12, 4, 1, "", "CommandOnCooldown"], [12, 6, 1, "", "P"], [12, 1, 1, "", "R"], [12, 5, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[12, 2, 1, "", "__init__"], [12, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[14, 0, 0, "-", "commands"], [13, 5, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.error_handling.commands": [[14, 1, 1, "", "AbstractCommandErrorHandler"], [14, 1, 1, "", "CommandErrorManager"], [15, 0, 0, "-", "abc"], [16, 0, 0, "-", "manager"]], "pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler": [[14, 2, 1, "", "handle_app_command_error"], [14, 2, 1, "", "handle_text_command_error"], [14, 2, 1, "", "should_handle_error"]], "pydis_core.utils.error_handling.commands.CommandErrorManager": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "handle_error"], [14, 2, 1, "", "register_handler"]], "pydis_core.utils.error_handling.commands.abc": [[15, 1, 1, "", "AbstractCommandErrorHandler"]], "pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler": [[15, 2, 1, "", "handle_app_command_error"], [15, 2, 1, "", "handle_text_command_error"], [15, 2, 1, "", "should_handle_error"]], "pydis_core.utils.error_handling.commands.manager": [[16, 1, 1, "", "CommandErrorManager"]], "pydis_core.utils.error_handling.commands.manager.CommandErrorManager": [[16, 2, 1, "", "__init__"], [16, 2, 1, "", "handle_error"], [16, 2, 1, "", "register_handler"]], "pydis_core.utils.function": [[17, 4, 1, "", "GlobalNameConflictError"], [17, 5, 1, "", "command_wraps"], [17, 5, 1, "", "get_arg_value"], [17, 5, 1, "", "get_arg_value_wrapper"], [17, 5, 1, "", "get_bound_args"], [17, 5, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[18, 1, 1, "", "DeleteMessageButton"], [18, 1, 1, "", "ViewWithUserAndRoleCheck"], [18, 5, 1, "", "user_has_access"]], "pydis_core.utils.interactions.DeleteMessageButton": [[18, 2, 1, "", "__init__"], [18, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[18, 2, 1, "", "__init__"], [18, 2, 1, "", "interaction_check"], [18, 2, 1, "", "on_timeout"], [18, 2, 1, "", "stop"]], "pydis_core.utils.lock": [[19, 4, 1, "", "LockedResourceError"], [19, 1, 1, "", "SharedEvent"], [19, 5, 1, "", "lock"], [19, 5, 1, "", "lock_arg"]], "pydis_core.utils.lock.LockedResourceError": [[19, 2, 1, "", "__init__"], [19, 3, 1, "", "id"], [19, 3, 1, "", "type"]], "pydis_core.utils.lock.SharedEvent": [[19, 2, 1, "", "__enter__"], [19, 2, 1, "", "__exit__"], [19, 2, 1, "", "__init__"], [19, 2, 1, "", "wait"]], "pydis_core.utils.logging": [[20, 1, 1, "", "CustomLogger"], [20, 5, 1, "", "get_logger"], [20, 6, 1, "", "log_format"]], "pydis_core.utils.logging.CustomLogger": [[20, 2, 1, "", "trace"]], "pydis_core.utils.members": [[21, 5, 1, "", "get_or_fetch_member"], [21, 5, 1, "", "handle_role_change"]], "pydis_core.utils.messages": [[22, 5, 1, "", "reaction_check"]], "pydis_core.utils.pagination": [[23, 4, 1, "", "EmptyPaginatorEmbedError"], [23, 1, 1, "", "LinePaginator"], [23, 1, 1, "", "PaginationEmojis"]], "pydis_core.utils.pagination.LinePaginator": [[23, 2, 1, "", "__init__"], [23, 2, 1, "", "add_line"], [23, 2, 1, "", "paginate"]], "pydis_core.utils.pagination.PaginationEmojis": [[23, 3, 1, "", "__class_vars__"], [23, 3, 1, "", "__private_attributes__"], [23, 3, 1, "", "__pydantic_complete__"], [23, 3, 1, "", "__pydantic_core_schema__"], [23, 3, 1, "", "__pydantic_custom_init__"], [23, 3, 1, "", "__pydantic_decorators__"], [23, 3, 1, "", "__pydantic_extra__"], [23, 3, 1, "", "__pydantic_fields_set__"], [23, 3, 1, "", "__pydantic_generic_metadata__"], [23, 3, 1, "", "__pydantic_parent_namespace__"], [23, 3, 1, "", "__pydantic_post_init__"], [23, 3, 1, "", "__pydantic_private__"], [23, 3, 1, "", "__pydantic_serializer__"], [23, 3, 1, "", "__pydantic_validator__"], [23, 3, 1, "", "__signature__"], [23, 3, 1, "", "model_computed_fields"], [23, 3, 1, "", "model_config"], [23, 3, 1, "", "model_fields"]], "pydis_core.utils.paste_service": [[24, 6, 1, "", "MAX_PASTE_SIZE"], [24, 1, 1, "", "PasteFile"], [24, 1, 1, "", "PasteResponse"], [24, 4, 1, "", "PasteTooLongError"], [24, 4, 1, "", "PasteUnsupportedLexerError"], [24, 4, 1, "", "PasteUploadError"], [24, 5, 1, "", "send_to_paste_service"]], "pydis_core.utils.paste_service.PasteFile": [[24, 3, 1, "", "__class_vars__"], [24, 3, 1, "", "__private_attributes__"], [24, 3, 1, "", "__pydantic_complete__"], [24, 3, 1, "", "__pydantic_core_schema__"], [24, 3, 1, "", "__pydantic_custom_init__"], [24, 3, 1, "", "__pydantic_decorators__"], [24, 3, 1, "", "__pydantic_extra__"], [24, 3, 1, "", "__pydantic_fields_set__"], [24, 3, 1, "", "__pydantic_generic_metadata__"], [24, 3, 1, "", "__pydantic_parent_namespace__"], [24, 3, 1, "", "__pydantic_post_init__"], [24, 3, 1, "", "__pydantic_private__"], [24, 3, 1, "", "__pydantic_serializer__"], [24, 3, 1, "", "__pydantic_validator__"], [24, 3, 1, "", "__signature__"], [24, 3, 1, "", "model_computed_fields"], [24, 3, 1, "", "model_config"], [24, 3, 1, "", "model_fields"]], "pydis_core.utils.paste_service.PasteResponse": [[24, 3, 1, "", "__class_vars__"], [24, 3, 1, "", "__private_attributes__"], [24, 3, 1, "", "__pydantic_complete__"], [24, 3, 1, "", "__pydantic_core_schema__"], [24, 3, 1, "", "__pydantic_custom_init__"], [24, 3, 1, "", "__pydantic_decorators__"], [24, 3, 1, "", "__pydantic_extra__"], [24, 3, 1, "", "__pydantic_fields_set__"], [24, 3, 1, "", "__pydantic_generic_metadata__"], [24, 3, 1, "", "__pydantic_parent_namespace__"], [24, 3, 1, "", "__pydantic_post_init__"], [24, 3, 1, "", "__pydantic_private__"], [24, 3, 1, "", "__pydantic_serializer__"], [24, 3, 1, "", "__pydantic_validator__"], [24, 3, 1, "", "__signature__"], [24, 3, 1, "", "model_computed_fields"], [24, 3, 1, "", "model_config"], [24, 3, 1, "", "model_fields"]], "pydis_core.utils.regex": [[25, 6, 1, "", "DISCORD_INVITE"], [25, 6, 1, "", "FORMATTED_CODE_REGEX"], [25, 6, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[26, 1, 1, "", "Scheduler"], [26, 5, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[26, 2, 1, "", "__contains__"], [26, 2, 1, "", "__init__"], [26, 2, 1, "", "cancel"], [26, 2, 1, "", "cancel_all"], [26, 2, 1, "", "schedule"], [26, 2, 1, "", "schedule_at"], [26, 2, 1, "", "schedule_later"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "attribute", "Python attribute"], "4": ["py", "exception", "Python exception"], "5": ["py", "function", "Python function"], "6": ["py", "data", "Python data"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:attribute", "4": "py:exception", "5": "py:function", "6": "py:data"}, "terms": {"": [0, 1, 3, 7, 8, 10, 11, 12, 17, 18, 19, 20, 22, 23, 24, 25, 26], "0": [0, 8, 10, 18, 19, 20], "0a0": 0, "0eb3d26": 0, "0x000056078a6876d0": 23, "0x000056078a6c7730": 3, "0x000056078a943f90": 24, "0x000056078a9468d0": 24, "0x00007f14ec3bc570": 3, "0x00007f14ec3bc830": 3, "0x00007f14ec3bcaf0": 3, "0x00007f14ec3bcdb0": 3, "0x00007f14ec3be1b0": 3, "0x00007f14ec586e30": 24, "0x00007f14ec604470": 23, "0x00007f14ec6047f0": 23, "0x00007f14ec604b30": 23, "0x00007f14ec605ef0": 23, "0x00007f14ec606270": 23, "0x00007f14ec607bf0": 23, "0x00007f14ec607e70": 23, "0x00007f14ec607f30": 23, "0x00007f14ed1d7bb0": 3, "0x00007f14ed1e2230": 3, "0x00007f14ed1e2af0": 3, "0x00007f14ed54cc10": 3, "0x00007f14ed54cc60": 3, "0x00007f14ed54ccb0": 3, "0x00007f14ed54cd00": 3, "0x00007f14ed54cd50": 3, "0x00007f14ed71e150": 23, "0x00007f14ed71e1a0": 23, "0x00007f14ed71e1f0": 23, "0x00007f14ed71e240": 23, "0x00007f14ed71e290": 23, "0x00007f14ed9c4730": 23, "0x00007f14edbbacf0": 23, "0x00007f14edbced30": 3, "0x00007f14eddfccc0": 3, "0x00007f14edf04030": 24, "0x00007f14edf04070": 24, "0x00007f14edf040b0": 24, "0x00007f14edf040f0": 24, "0x00007f14edf05670": 24, "0x00007f14edf056b0": 24, "0x00007f14edf056f0": 24, "0x00007f14edf05730": 24, "0x00007f14edf05770": 24, "0x00007f14edf057b0": 24, "0x00007f14ee0ad070": 3, "0x00007f14efa1df60": 23, "0x00007f14efa1e710": 24, "0x00007f14f08747b0": 24, "0x00007f14f0a9cbb0": 24, "0x00007f14f0dde0b0": 24, "0x00007f14f11796f0": [3, 23], "0x00007f14f1179730": [3, 23], "0x00007f14f11d2270": [3, 23], "0x00007f14f11f48b0": [3, 23], "0x00007f14f1560eb0": [3, 23], "0x00007f14f1aac2a0": 24, "0x00007f14f1b530c0": 24, "0x00007f14f1b56ea0": 24, "1": [0, 20], "10": 0, "101": 0, "103": 0, "104": 0, "106": 0, "107": 0, "108": 0, "10th": 0, "11": 0, "110": 0, "11th": 0, "12": 0, "124": 0, "125": 0, "128": 8, "138": 0, "13th": 0, "14th": 0, "15": 0, "151": 0, "157": 0, "158": 0, "162": 0, "169": 0, "16th": 0, "170": 0, "171": 0, "172": 0, "173": 0, "174": 0, "175": 0, "176": 0, "177": 0, "179": 0, "17th": 0, "180": 18, "181": 0, "182": 0, "183": 0, "184": 0, "185": 0, "187": 0, "188": 0, "189": 0, "18th": 0, "190": 0, "192": 0, "194": 0, "195": 0, "196": 0, "197": 0, "199": 0, "19th": 0, "2": [0, 3, 18, 24], "200": 0, "202": 0, "2021": 0, "2022": 0, "2023": 0, "2024": 0, "204": [0, 6], "205": 0, "206": 0, "207": 0, "208": 0, "209": 0, "20th": 0, "210": 0, "21st": 0, "22nd": 0, "23rd": 0, "244": 0, "24th": 0, "254": 0, "25th": 0, "269": 0, "26th": 0, "27th": 0, "28th": 0, "29": 0, "2nd": 0, "3": [0, 24], "30": 0, "300": [3, 23], "30th": 0, "32": 0, "34": 0, "35": 0, "37": 0, "39": 0, "3rd": 0, "4": 0, "4000": [3, 23], "403": 7, "42": 0, "4cbe8f5": 0, "5": [0, 3, 12, 23], "500": [3, 23], "524288": 24, "54": 0, "56": 0, "561": 0, "5a06fa5": 0, "5th": 0, "6": 0, "61": 0, "63": 0, "637136429717389331": [3, 23], "64": 0, "65": 0, "66": 0, "68": 0, "69": 0, "6th": 0, "7": 0, "72": 0, "75": 0, "78": 0, "79": 0, "8": 0, "8125": 4, "88": 0, "9": 0, "90001": [0, 13], "91": 0, "93": 0, "94590386861776": 23, "94590387124016": 3, "94590389731216": 24, "94590389741776": 24, "96": 0, "98": 0, "987235d": 0, "9th": 0, "A": [1, 3, 6, 7, 8, 9, 10, 12, 14, 15, 16, 17, 18, 20, 23, 24, 26], "As": 0, "Be": 0, "For": 17, "If": [3, 6, 10, 12, 17, 18, 19, 22, 23, 26], "In": [3, 23], "It": [3, 7, 19, 23], "Not": 3, "On": 0, "That": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 17, 18, 20, 21, 23, 24, 26], "These": [3, 23], "To": [1, 3, 20], "_": 0, "__annotations__": 17, "__args__": [3, 23, 24], "__call__": [7, 8], "__class_vars__": [2, 3, 7, 23, 24], "__contains__": [7, 26], "__dict__": 17, "__doc__": 17, "__enter__": [7, 19], "__exit__": [7, 19], "__fields__": [3, 23, 24], "__get_pydantic_json_schema__": [3, 23, 24], "__global__": 17, "__init__": [0, 2, 3, 4, 6, 7, 8, 10, 12, 13, 14, 16, 18, 19, 23, 24, 26], "__module__": 17, "__name__": 17, "__origin__": [3, 23, 24], "__parameters__": [3, 23, 24], "__private_attributes__": [2, 3, 7, 23, 24], "__pydantic_complete__": [2, 3, 7, 23, 24], "__pydantic_core_schema__": [2, 3, 7, 23, 24], "__pydantic_custom_init__": [2, 3, 7, 23, 24], "__pydantic_decorators__": [2, 3, 7, 23, 24], "__pydantic_extra__": [2, 3, 7, 23, 24], "__pydantic_fields_set__": [2, 3, 7, 23, 24], "__pydantic_generic_metadata__": [2, 3, 7, 23, 24], "__pydantic_parent_namespace__": [2, 3, 7, 23, 24], "__pydantic_post_init__": [2, 3, 7, 23, 24], "__pydantic_private__": [2, 3, 7, 23, 24], "__pydantic_serializer__": [2, 3, 7, 23, 24], "__pydantic_validator__": [2, 3, 7, 23, 24], "__qualname__": 17, "__root_validators__": [3, 23, 24], "__signature__": [2, 3, 7, 23, 24], "__str__": [3, 6], "__validators__": [3, 23, 24], "_decor": [3, 23, 24], "_exc_tb": 19, "_exc_typ": 19, "_exc_val": 19, "_gener": [3, 23, 24], "_guild_avail": 0, "_p": 17, "_r": 17, "_transport": 0, "abc": [0, 13, 14], "abl": 0, "about": [3, 12, 23, 24], "abstract": [0, 14, 15], "abstractcommanderrorhandl": [0, 7, 13, 14, 15], "abstracteventloop": [4, 26], "accept": [17, 18], "access": 18, "acquir": 19, "across": [0, 3, 20, 23], "act": 7, "action": 0, "activ": 19, "actual": 0, "ad": [0, 1, 3, 7, 18, 20, 23], "add": [0, 3, 10, 12, 23], "add_cog": [2, 3], "add_command": [2, 3], "add_lin": [2, 3, 7, 23], "add_rol": 21, "addit": 0, "after": [0, 3, 18, 23, 26], "again": 1, "aid": [3, 23], "aiodn": 0, "aiohttp": [0, 3, 6, 24], "alia": [3, 7, 12, 23, 24], "alias": [3, 7], "alias_pi": [3, 23, 24], "all": [0, 1, 3, 4, 7, 14, 16, 19, 20, 26], "all_command": 3, "all_extens": [2, 3], "allow": [0, 1, 3, 18, 22, 23, 24], "allow_mod": 22, "allowed_emoji": 22, "allowed_rol": [0, 1, 3, 18, 22, 23], "allowed_us": [0, 18, 22], "alpha": 0, "alreadi": [3, 23, 26], "also": [0, 3, 7, 17, 18, 19, 23], "alwai": 10, "among": 19, "amount": [3, 23], "an": [0, 1, 3, 4, 6, 7, 8, 9, 10, 14, 15, 17, 19, 20, 23, 24, 26], "ani": [3, 6, 10, 17, 19, 23, 24, 25, 26], "annot": [3, 17, 23, 24], "anymor": [3, 23], "anyth": [1, 24], "api": [0, 3, 6, 21], "api_cli": [0, 2, 3], "apicli": [0, 2, 3, 6], "app": [0, 3, 14, 15], "appear": 3, "append": [3, 23], "appli": [3, 7, 8, 10, 12, 19, 23, 24], "applic": 1, "apply_monkey_patch": [0, 2, 3, 7], "approach": 1, "april": 0, "ar": [0, 1, 3, 8, 17, 18, 22, 23, 24, 25], "arg": [3, 12, 17, 19, 20, 23, 24], "arg_offset": 8, "args_preprocessor": 12, "argument": [6, 7, 8, 11, 12, 17, 19, 20, 21], "around": 6, "assign": 17, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 21, 23, 24], "async_rediscach": [0, 3], "async_stat": [2, 3], "asynccach": [3, 7, 8], "asyncio": [0, 4, 26], "asyncresolv": 0, "asyncstatscli": [2, 3, 4], "asyncstatsdcli": 0, "attach": 0, "attempt": [0, 3, 9, 19, 21, 23], "attr": 0, "attribut": [0, 3, 7, 17, 23, 24], "august": 0, "authent": 6, "author": [3, 10, 22, 23], "auto": 0, "auto_mod": 0, "autogener": 0, "automat": [0, 3, 23, 24], "avail": [0, 3, 14, 16, 19], "avoid": [0, 3, 23], "await": [0, 3, 12, 18, 19, 21, 23], "awar": [0, 26], "back": 0, "backslash": 0, "backtick": [3, 23], "bad": 0, "badargu": 11, "base": [0, 3, 4, 6, 8, 10, 12, 14, 15, 16, 17, 18, 19, 20, 23, 24, 26], "basemodel": [3, 23, 24], "basic": [0, 18], "becaus": [3, 17], "becom": [3, 19], "been": [0, 3], "befor": [0, 3, 10, 18, 19, 23, 26], "before_invok": 10, "behav": 17, "behavior": 10, "behaviour": [0, 3], "being": [0, 7, 10, 21], "belong": 3, "below": [1, 19], "best": [3, 23], "between": [0, 1, 17], "bind": [3, 17], "block": [0, 3, 12, 23, 25], "block_duplicate_invoc": [3, 7, 12], "bodi": 0, "boilerpl": 0, "bool": [3, 6, 9, 10, 12, 14, 15, 18, 19, 22, 23, 24, 26], "bot": [0, 1, 3, 7, 9, 22], "bot_token": 1, "botbas": [0, 2, 3], "both": [0, 1, 3, 24], "bound": [3, 23, 24], "boundari": [3, 23], "break": [0, 3, 17, 23], "broke": 0, "buckettyp": 10, "bug": 0, "build": [3, 23, 24], "bump": 0, "button": [0, 18], "buttonstyl": 18, "bypass": 10, "bypass_rol": 10, "byte": 24, "cach": [0, 3, 7, 9, 21], "cache_str": [3, 23, 24], "calcul": 26, "call": [0, 3, 12, 17, 26], "call_without_cooldown": [7, 12], "callabl": [8, 10, 12, 17, 19, 21], "callback": [7, 10, 18], "can": [0, 1, 3, 10, 18, 19, 20, 23, 26], "cancel": [7, 26], "cancel_al": [7, 26], "cannot": [0, 3, 19, 23], "capabl": [14, 16], "captur": [0, 17, 25], "carri": 18, "case": [0, 3, 23], "categori": [9, 10], "category_id": 9, "caus": [3, 7, 23], "certain": [0, 1], "chang": [0, 1, 3, 17, 23], "changelog": 2, "changeset": 0, "channel": [0, 3, 7, 10, 12], "channel_id": 9, "charact": [0, 3, 23], "chardet": 0, "check": [0, 3, 6, 7, 9, 12, 13, 18, 22, 26], "checkfailur": 10, "choos": [14, 16], "chunk": 0, "ci": 0, "cl": [3, 23, 24], "class": [0, 3, 4, 6, 8, 12, 14, 15, 16, 18, 19, 20, 23, 24, 26], "classmethod": [3, 23], "classvar": [3, 23, 24], "clean": [0, 11], "clean_text_or_repli": [3, 7, 11], "clear": [2, 3, 7, 8, 19], "click": 18, "client": [0, 3, 4], "clientrespons": 6, "clientsess": [3, 6, 24], "close": [0, 2, 3, 6, 26], "cloudflar": 7, "code": [0, 1, 3, 6, 19, 23, 25], "codepoint": [3, 23], "coerce_numbers_to_str": [3, 23, 24], "cog": [0, 3, 5], "collect": 10, "collis": 19, "com": [0, 24], "comma": 1, "command": [0, 1, 3, 7, 9, 10, 12, 13, 15, 16, 17, 19, 23], "command_wrap": [3, 7, 17], "commanderror": 12, "commanderrormanag": [0, 7, 13, 14, 16], "commandinvokeerror": 0, "commandoncooldown": [3, 7, 12], "commit": 0, "common": [0, 1, 3, 7, 20, 25], "commun": [3, 4], "complet": [3, 23, 24], "complianc": 0, "compos": 1, "comput": [3, 23, 24], "computed_field": [3, 23, 24], "computedfield": [3, 23, 24], "computedfieldinfo": [3, 23, 24], "concurr": 0, "config": [0, 3, 23, 24], "configdict": [3, 23, 24], "configur": [1, 3, 23, 24], "conflict": 17, "conform": [3, 23, 24], "connect": [0, 3, 4], "connector": 3, "constructor": [3, 6], "contain": [1, 3, 10, 18, 23, 24, 26], "content": [0, 3, 11, 23, 24], "context": [3, 10, 11, 14, 15, 19, 23], "context_or_interact": [14, 16], "contextcheckfailur": [3, 7, 10], "continu": [3, 23], "control": 0, "cooldown": [3, 7, 10], "cooldown_dur": 12, "cooldown_with_role_bypass": [3, 7, 10], "copi": [1, 17], "copy_default": [3, 23, 24], "core": [0, 1, 23, 24], "coreschema": [3, 23, 24], "coro": [19, 21, 26], "coroutin": [8, 19, 21, 26], "correct": [0, 1], "correspond": [3, 23, 24], "could": [0, 21], "count": 19, "crash": 0, "creat": [0, 3, 4, 8, 12, 17, 23, 26], "create_datagram_endpoint": 4, "create_socket": [3, 4], "create_task": [3, 7, 26], "creation": 0, "criteria": 0, "ctx": [3, 10, 11, 18, 23], "current": [0, 3, 19, 23, 26], "custom": [0, 3, 8, 20, 23, 24], "custom_init": [3, 23, 24], "customlogg": [3, 7, 20], "cut": 0, "d": [1, 17], "dai": 0, "data": [3, 23, 24], "datetim": 26, "deal": 0, "decemb": 0, "declar": 0, "decor": [0, 3, 8, 10, 12, 17, 19, 23, 24], "decorator_func": 17, "decoratorinfo": [3, 23, 24], "decrement": 19, "default": [0, 1, 3, 10, 14, 16, 17, 23, 24], "defin": [3, 23, 24], "definit": [3, 23, 24], "delai": 26, "delet": [0, 3, 6, 8, 18, 23, 24], "deletemessagebutton": [0, 3, 7, 18], "depend": [0, 9], "deprec": 0, "describ": 10, "detail": 17, "detect": 0, "determin": [14, 15, 16], "dev": [1, 3], "develop": [0, 2, 3, 7], "dict": [3, 6, 17, 23, 24], "dictat": 0, "dictionari": [3, 23, 24], "did": 0, "directli": [0, 17], "directori": 1, "discord": [0, 1, 3, 5, 7, 9, 10, 11, 13, 14, 16, 17, 21, 23, 25], "discord_invit": [0, 3, 7, 25], "disnak": 0, "distinguish": 26, "django": 6, "dm": 10, "do": [0, 1, 9, 19], "doc": [0, 19], "docker": 1, "docstr": 0, "document": 0, "doe": [0, 17], "doesn": [3, 10, 26], "don": [0, 10, 26], "done": [3, 18, 23, 26], "drop": 0, "due": 0, "dummi": [0, 3], "dump": [3, 23, 24], "duplic": [0, 12], "durat": 10, "dure": [3, 23, 24], "dynam": 0, "e": [3, 23], "each": [0, 3, 23], "edit": 3, "effort": [3, 23], "either": [0, 3], "els": 11, "elsewher": 26, "emb": [0, 3, 23], "emit": 3, "emoji": [0, 3, 22, 23], "empti": [3, 23], "emptypaginatorembederror": [2, 3, 7, 23], "enabl": [0, 1], "encount": 24, "end": [3, 23], "endpoint": 6, "ensur": [0, 3, 18, 25], "entir": [0, 3], "env": 1, "environ": [0, 1], "equival": 6, "error": [0, 3, 6, 7, 13, 14, 15, 16, 21, 24], "error_handl": [0, 3, 7], "etc": [1, 10], "evalu": 17, "even": 22, "event": [0, 3, 4, 19, 26], "event_loop": 26, "eventu": [3, 23, 24], "everi": [3, 23], "exact": 1, "exampl": [3, 23], "exc_info": 20, "exce": [3, 8, 23], "exceed": [3, 23], "except": [3, 6, 10, 12, 14, 16, 17, 19, 20, 23, 24, 26], "exception_on_empty_emb": [3, 23], "excess": [3, 23], "exclud": [3, 23, 24], "exclus": 19, "execut": [19, 26], "exist": [0, 1, 26], "exit": 19, "expect": 21, "expiri": 0, "explain": 0, "explicitli": [3, 23, 24], "expos": 19, "express": 25, "ext": [0, 2, 3, 7, 9, 10, 11, 23], "extend": 0, "extens": [0, 3], "extra": [0, 3, 6, 23, 24], "extra_behavior": [3, 23, 24], "extra_seri": [3, 23, 24], "extract": 0, "extras_valid": [3, 23, 24], "facilit": 0, "fail": [9, 10, 24], "fail_sil": 10, "failur": 21, "fakeredi": 0, "fals": [3, 10, 12, 19, 23, 24], "featur": [0, 1, 3], "februari": 0, "fetch": [9, 21], "few": 1, "field": [3, 23, 24], "field_seri": [3, 23, 24], "field_valid": [3, 23, 24], "fieldinfo": [3, 23, 24], "fifo": 8, "file": [0, 1, 24], "filter": [0, 3, 23, 24], "finish": [3, 19, 23], "first": [3, 14, 16, 23], "five": [3, 23], "fix": 0, "float": [10, 12, 18, 26], "folder": 1, "footer": [3, 23], "footer_text": [3, 23], "forbidden": [0, 9, 13], "format": [24, 25], "formatt": 20, "formatted_code_regex": [3, 7, 25], "forum": 0, "forwardref": 17, "found": [3, 17, 21, 26], "free": 1, "from": [0, 1, 3, 4, 6, 7, 9, 17, 18, 21, 23, 24, 26], "from_attribut": [3, 23, 24], "frozen": [3, 23, 24], "frozenset": [3, 17], "func": [17, 19], "function": [0, 3, 7, 8, 9, 12, 19, 20, 21, 23, 24, 26], "functool": [3, 17, 23, 24], "futur": [10, 26], "g": [3, 23], "gatewai": 3, "gener": [0, 3, 12, 23, 24, 26], "generalfieldsseri": [3, 23, 24], "get": [0, 3, 6, 9, 17, 21], "get_arg_valu": [3, 7, 17], "get_arg_value_wrapp": [3, 7, 17], "get_bound_arg": [3, 7, 17], "get_json_schema_update_func": [3, 23, 24], "get_logg": [3, 7, 20], "get_or_fetch_channel": [0, 3, 7, 9], "get_or_fetch_memb": [0, 3, 7, 21], "git": 1, "github": 0, "give": 3, "given": [0, 3, 4, 7, 9, 11, 17, 19, 20, 21, 26], "global": 17, "globalnameconflicterror": [3, 7, 17], "go": [1, 3, 19, 23], "greater": 24, "groundwork": 1, "group": [7, 25], "guild": [0, 1, 3, 10, 21], "guild_available_but_cache_empti": 3, "guild_creat": 3, "guild_id": [1, 2, 3], "guildchannel": 9, "ha": [0, 3, 7, 10, 18, 23, 24], "handl": [0, 13, 14, 15, 16, 21, 26], "handle_app_command_error": [13, 14, 15], "handle_error": [13, 14, 16], "handle_forbidden_from_block": [3, 7, 13], "handle_role_chang": [0, 3, 7, 21], "handle_text_command_error": [13, 14, 15], "handler": [0, 3, 14, 15, 16], "happen": 3, "has_any_role_check": [3, 7, 10], "has_extra": [3, 23, 24], "has_no_roles_check": [3, 7, 10], "hashabl": [19, 26], "have": [0, 9, 10, 17, 20], "heavi": 7, "help": [0, 1], "helper": [0, 9, 12, 21], "hold": [3, 19, 23], "holder": 19, "hook": 0, "host": 4, "houston": 20, "how": [0, 8, 10, 17, 26], "howev": 1, "http": [0, 3, 6, 24, 25], "http_session": [2, 3, 24], "httpexcept": 9, "i": [0, 1, 3, 6, 7, 9, 10, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26], "icon": [3, 23], "icon_url": [3, 23], "id": [1, 3, 7, 9, 10, 18, 19, 23, 26], "identifi": [19, 26], "ignor": [1, 3, 7, 17, 22, 23, 24], "ignored_conflict_nam": 17, "immedi": 26, "implement": [0, 3, 4, 8, 18, 20], "import": 0, "in_whitelist": 10, "in_whitelist_check": [3, 7, 10], "inadequ": 3, "includ": [0, 1, 3, 13, 23, 24], "incorrect": 0, "increment": 19, "independantli": 0, "index": 2, "indic": [3, 21, 23], "individu": 3, "info": [0, 1], "inform": [2, 19, 20], "init": [0, 3, 4, 23, 24], "initi": [6, 26], "initialis": [3, 8], "input": 18, "insert": [3, 23], "insid": [3, 23], "inspect": [3, 23, 24], "instal": [0, 1], "instanc": [0, 3, 6, 8, 9, 10, 20, 23, 24, 26], "instanti": [3, 18, 23, 24, 26], "instead": [3, 12, 26], "int": [3, 4, 8, 9, 10, 17, 18, 23, 24], "intend": 21, "intent": 1, "interact": [0, 3, 7, 9, 14, 15, 23], "interactin": 21, "interaction_check": [7, 18], "interest": 20, "intern": [3, 7, 19], "intersphinx": 0, "introduc": 10, "invalid": 9, "invaliddata": 9, "invit": [0, 25], "invoc": [0, 12], "invok": [1, 10, 12, 18], "inwhitelistcheckfailur": [3, 7, 10], "is_in_categori": [3, 7, 9], "isn": [0, 13, 17], "issu": 10, "item": 8, "iter": [10, 12, 14, 16], "its": [0, 3, 12, 17], "itself": 18, "januari": 0, "json": 6, "json_schema_update_func": [3, 23, 24], "juli": 0, "june": 0, "just": 0, "keep": [3, 23, 26], "kei": [3, 8, 23, 24], "key_pi": [3, 23, 24], "keyword": [6, 7, 17, 20], "known": 26, "kwarg": [3, 6, 12, 17, 18, 20, 26], "label": [0, 18], "lancebot": 1, "larg": 24, "larger": 24, "last": [3, 10, 18, 23], "latest": 0, "lead": 0, "least": 10, "left": [3, 23], "length": [3, 12, 23], "level": [0, 7, 20], "lexer": [0, 24], "librari": [0, 1], "like": [1, 17], "limit": [3, 23], "line": [3, 23], "linepagin": [0, 2, 3, 7, 23], "linesep": [3, 23], "link": 24, "lint": 0, "list": [0, 1, 3, 18, 23, 24], "listen": 18, "liter": [3, 23, 24], "ll": [1, 26], "load": [0, 1, 3, 7], "load_extens": [0, 2, 3], "loc_by_alia": [3, 23, 24], "local": [2, 3, 23, 24], "localhost": 4, "lock": [0, 3, 7], "lock_arg": [3, 7, 19], "lockedresourceerror": [3, 7, 19], "log": [0, 3, 7, 13, 21, 26], "log_format": [0, 3, 7, 20], "log_to_dev_log": [2, 3], "logger": [0, 20], "logic": 0, "long": [10, 24, 26], "longer": [0, 18], "look": [17, 26], "lookup_kei": [3, 23, 24], "lookuppath": [3, 23, 24], "loop": [4, 26], "lot": 0, "lru": 8, "lua": 0, "lupa": 0, "m": 1, "machin": 1, "made": [0, 22], "mai": [0, 3, 8, 19, 23, 24], "main": 0, "make": [0, 1, 3, 20, 23], "manag": [0, 3, 13, 14, 19], "mani": [0, 3, 8], "manipul": [0, 17], "manual": 3, "map": [3, 17, 19, 23, 24], "march": 0, "mark": 0, "match": [0, 3, 17], "max": 24, "max_length": 24, "max_lin": [3, 23], "max_paste_s": [3, 7, 24], "max_siz": [3, 8, 23, 24], "maximum": [3, 8, 23, 24], "maybe_raise_for_statu": [3, 6], "mean": 1, "meant": 0, "member": [0, 3, 7, 18], "member_id": 21, "mention": [1, 3], "messag": [0, 3, 7, 11, 12, 13, 18, 20, 23, 26], "message_id": 22, "message_typ": 0, "metadata": [3, 23, 24], "method": [0, 3, 4, 6, 7, 20, 23, 24], "metric": 3, "might": [1, 3, 10], "migrat": 0, "minut": [3, 23], "miss": 0, "mod": 0, "mode": [3, 23, 24], "model": [3, 23, 24], "model_computed_field": [2, 3, 7, 23, 24], "model_config": [2, 3, 7, 23, 24], "model_field": [2, 3, 7, 23, 24], "model_nam": [3, 23, 24], "model_post_init": [3, 23, 24], "model_seri": [3, 23, 24], "model_valid": [3, 23, 24], "modelfield": [3, 23, 24], "modelfieldsvalid": [3, 23, 24], "modelprivateattr": [3, 23, 24], "modelseri": [3, 23, 24], "modelvalid": [3, 23, 24], "moder": [3, 18, 22, 23], "modifi": [1, 21], "modify_model_json_schema": [3, 23, 24], "modul": [0, 3, 7, 17, 23, 24, 26], "monitor": 1, "monkei": [0, 7], "month": 0, "more": [0, 1, 3, 17, 19, 23], "most": 1, "move": 0, "msg": 20, "multipl": 0, "multivers": 0, "must": [0, 17, 19, 26], "mutual": 19, "mypi": 20, "n": [3, 23], "name": [3, 7, 17, 19, 20, 23, 24, 26], "name_or_po": [17, 19], "name_pi": [3, 23, 24], "namespac": [0, 3, 19, 23, 24, 26], "navig": [0, 1, 3, 23], "na\u00efv": 26, "need": [0, 1, 3, 23], "never": [3, 23, 24], "new": [0, 1, 3, 4, 6, 8, 17, 23, 26], "newer": 0, "newli": 0, "next": [3, 23], "non": 6, "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26], "noreturn": [14, 15], "normal": 3, "notabl": 0, "note": [0, 10], "notfound": 9, "notic": 0, "notifi": 12, "novemb": 0, "now": [0, 1, 26], "number": [0, 3, 10, 23, 24], "object": [3, 6, 7, 8, 9, 12, 14, 16, 19, 21, 23, 24, 26], "occur": 18, "octob": 0, "offset": 8, "ok": 6, "older": 0, "on_error": [3, 23, 24], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "on_readi": 3, "on_timeout": [7, 18], "onc": [0, 3, 8], "one": [0, 3, 10, 14, 16, 23], "ones": 1, "onli": [0, 3, 18], "onto": [3, 23], "oper": [3, 19, 23, 26], "option": [0, 8, 17, 19], "order": [3, 8, 14, 16, 17, 19, 23, 26], "ordereddict": [17, 19], "origin": [0, 3, 18, 23, 24], "other": [0, 1, 19, 26], "otherwis": [10, 19, 26], "our": [0, 1, 7], "out": [0, 1, 3, 18], "output": 25, "over": [0, 3, 23], "overflow": [3, 23], "overrid": [3, 23], "overwrit": [0, 3], "own": [0, 17], "p": [3, 7, 12], "packag": [0, 3, 7], "page": [2, 3, 23], "pagin": [0, 2, 3, 7], "pagination_emoji": [3, 23], "paginationemoji": [2, 3, 7, 23], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 17, 18, 19, 20, 21, 23, 24, 26], "paramspec": [12, 17], "parent": [0, 3, 18, 23, 24], "pars": 25, "partial": [3, 23, 24], "pass": [0, 3, 6, 17, 20, 21, 26], "past": [0, 24, 26], "paste_servic": [0, 3, 7], "paste_url": 24, "pastebin": 0, "pastefil": [0, 3, 7, 24], "pasterespons": [3, 7, 24], "pastetoolongerror": [3, 7, 24], "pasteunsupportedlexererror": [3, 7, 24], "pasteuploaderror": [3, 7, 24], "patch": [0, 3, 6, 7], "path": [1, 3, 23, 24], "pattern": 25, "pep": 0, "per": [3, 10, 23], "perform": 19, "permiss": [0, 9], "ping": 3, "ping_servic": [0, 2, 3], "pip": 1, "place": [3, 23], "pleas": 25, "pluggableschemavalid": [3, 23, 24], "poetri": [0, 1], "popul": 3, "port": [0, 4], "posit": [8, 17, 19], "possibl": 1, "post": [3, 6, 23, 24], "post_init": [3, 23, 24], "pre": 1, "predic": [0, 14, 15], "prefix": [1, 3, 4, 23], "prematur": 26, "press": 0, "prevent": [12, 19, 26], "previous": 0, "prioriti": [14, 16], "privat": [3, 23, 24], "privatechannel": [0, 9], "problem": [10, 20], "process": [0, 3], "process_command": [0, 2, 3], "program": 1, "project": [0, 1, 20], "provid": [0, 1, 3, 8, 11, 13, 23, 26], "public": 0, "publish": 0, "purpos": [3, 21, 23, 24], "push": 0, "put": [3, 6], "py": [0, 3, 17, 23, 24], "py_kei": [3, 23, 24], "pydant": [0, 3, 23, 24], "pydantic_js_annotation_funct": [3, 23, 24], "pydantic_js_funct": [3, 23, 24], "pydanticgenericmetadata": [3, 23, 24], "pydi": [0, 2], "pydis_cor": [0, 1, 3, 18, 20, 23, 24], "pypi": 0, "pyproject": [0, 1], "python": [0, 1, 3, 24, 26], "pythondiscord": [0, 24], "qualifi": 7, "quot": 25, "r": [3, 7, 12], "rais": [3, 6, 9, 10, 11, 12, 13, 14, 15, 17, 19, 21, 23, 24, 26], "raise_error": 19, "raise_for_statu": 6, "rate": 10, "rather": 7, "raw": [12, 25], "raw_code_regex": [3, 7, 25], "rc2": 0, "re": [1, 3, 13, 22, 26], "reach": 19, "reaction": [0, 3, 22, 23], "reaction_check": [0, 3, 7, 22], "read": 0, "readi": 3, "real": 0, "reason": [3, 23], "rebuild": [3, 23, 24], "receiv": [0, 6, 9], "recognis": 20, "reconnect": 0, "redi": [0, 3], "redirect": 10, "redirect_channel": 10, "redis_sess": [2, 3], "rediscach": 0, "redissess": 3, "ref": [3, 23, 24], "refer": 0, "referenc": 0, "reflect": 17, "regex": [0, 3, 7], "regist": [0, 14, 16], "register_command_error_manag": [2, 3], "register_handl": [13, 14, 16], "registr": [3, 14, 16], "regular": 25, "reinstal": 1, "reject": 24, "relat": [8, 14, 16, 20], "releas": 0, "relev": 3, "reli": 0, "remain": [3, 23], "remov": [0, 3, 18, 22, 23, 24], "remove_command": [2, 3], "remove_rol": 21, "renam": 0, "replac": [3, 10, 17, 23, 24], "repli": [3, 11, 12, 13, 23], "repo": 0, "represent": 6, "request": [0, 3, 6, 25], "requir": [0, 1, 3, 23, 24, 26], "required_field": [3, 23, 24], "resolut": 0, "resolv": [3, 17], "resourc": 19, "resource_id": 19, "resource_typ": 19, "respons": [0, 6, 24], "response_json": 6, "response_text": 6, "responsecodeerror": [2, 3, 6], "restor": 0, "restrict": [0, 3, 23], "restrict_to_us": [3, 23], "result": [0, 26], "retriev": 9, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26], "reusabl": 5, "revalid": [3, 23, 24], "revert": 0, "right": [0, 3, 23], "role": [0, 1, 3, 10, 18, 21, 22, 23], "root": [1, 3, 7], "root_alias": 7, "root_model": [3, 23, 24], "root_valid": [3, 23, 24], "rout": 7, "ruff": 0, "rule": 0, "run": [0, 1, 12, 19, 26], "runtimeerror": 19, "safe": 0, "same": [12, 26], "sampl": 0, "sanitis": 25, "save": [0, 3, 24], "scale": [3, 23], "scale_to_s": [3, 23], "schedul": [0, 3, 7], "schedule_at": [7, 26], "schedule_lat": [7, 26], "schema": [3, 23, 24], "schemafilt": [3, 23, 24], "schemaseri": [3, 23, 24], "schemavalid": [3, 23, 24], "script": 0, "search": 2, "second": [3, 10, 12, 18, 23, 26], "secondari": 18, "see": [0, 1, 17, 18, 19], "self": [0, 3, 18], "send": [0, 3, 6, 18, 23], "send_notic": 12, "send_to_paste_servic": [0, 3, 7, 24], "send_typ": 7, "seper": 1, "septemb": 0, "sequenc": [3, 7, 17, 18, 23], "serfield": [3, 23, 24], "serial": [3, 23, 24], "serv": [3, 23], "server": [3, 25], "servic": [0, 1, 3, 24], "session": [0, 3, 6, 24], "session_kwarg": 6, "set": [0, 1, 3, 12, 17, 18, 19, 23, 24], "set_author": [3, 23], "setup": [0, 3], "setup_hook": [2, 3], "sever": 20, "share": [0, 17], "sharedev": [3, 7, 19], "should": [0, 1, 3, 6, 14, 15, 18, 23, 24], "should_handle_error": [13, 14, 15, 16], "should_rais": 6, "signatur": [3, 12, 23, 24], "silent": 10, "similar": [3, 18, 23, 24, 25], "simpl": [3, 23, 24], "simpledict": [3, 23, 24], "sinc": 10, "singl": [0, 3, 23], "sir": 1, "site": [0, 3, 6], "site_api": [0, 2, 3], "site_api_token": 6, "site_api_url": 6, "size": [3, 8, 23, 24], "so": [0, 1, 3, 7], "socket": 4, "sole": 21, "some": [0, 3, 23, 24], "someth": 25, "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26], "specif": [0, 10], "specifi": [0, 10, 12, 18], "sphinx": 0, "split": 0, "stabl": 0, "standardis": [0, 20], "start": [0, 3, 26], "startup": 3, "startuperror": [2, 3], "stat": [0, 2, 3, 4], "state": 17, "static": 6, "statsclientbas": 4, "statsd": [0, 3, 4], "statsd_url": [0, 2, 3], "step": 1, "still": [3, 23, 24], "stop": [0, 7, 18], "store": [0, 3, 7, 8, 23], "str": [3, 4, 6, 7, 10, 11, 17, 18, 19, 20, 23, 24, 26], "strict": [3, 23, 24], "string": [0, 6], "strserial": [3, 23, 24], "strvalid": [3, 23, 24], "style": 18, "sub": [0, 3], "submodul": [2, 13], "subpackag": 2, "subtract": 26, "success": [0, 24], "suffix": [3, 23], "suggest": 26, "support": [0, 4, 7, 26], "suppressed_except": 26, "sure": 1, "switch": [3, 23], "sync": [0, 3], "sync_app_command": 3, "synthes": [3, 23, 24], "system": [0, 1, 14, 16], "t": [0, 3, 10, 11, 13, 17, 19, 26], "target": [0, 8], "task": [0, 26], "task_id": 26, "task_return": 26, "templat": 1, "test": 2, "text": [0, 3, 6, 11, 14, 15, 23, 24], "textchannel": 9, "than": [7, 24], "thei": [3, 17, 22], "them": [1, 3, 17, 26], "thi": [0, 1, 3, 7, 9, 10, 12, 17, 18, 19, 21, 23, 24, 25, 26], "thread": [0, 9], "three": [3, 23], "through": [14, 16, 19], "thrown": 7, "thu": 3, "tild": 0, "time": [0, 10, 26], "timeout": [0, 3, 18, 23], "timezon": 26, "titl": [3, 23, 24], "token": [1, 6], "toml": [0, 1], "too": 24, "tool": [3, 7], "top": 7, "total": [3, 23], "trace": [0, 7, 20], "track": 26, "transport": 4, "trashcan": [3, 23], "tree": 3, "trigger": 10, "true": [3, 6, 10, 12, 19, 20, 22, 23, 24, 26], "truncat": [3, 23], "tupl": [17, 26], "turn": 19, "two": 7, "type": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26], "type_": 10, "typeerror": [10, 17], "typehint": 17, "typevar": [12, 17, 26], "u": [0, 3, 23], "ui": 18, "unavail": 3, "unawait": 26, "undefin": [3, 23, 24], "under": 7, "underli": 19, "union": 10, "uniqu": 26, "unknown": 9, "unqualifi": [0, 2, 3, 7], "unschedul": 26, "unsupport": 24, "unti": [3, 23], "until": [0, 3, 19, 25], "up": [0, 1, 3, 23], "updat": [0, 17], "update_wrapper_glob": [3, 7, 17], "upload": [0, 24], "upon": 0, "url": [0, 3, 6, 23, 24], "urllib": 25, "us": [0, 1, 3, 4, 6, 7, 9, 10, 12, 17, 19, 20, 21, 23, 24, 25, 26], "usag": 0, "user": [0, 3, 10, 12, 18, 22, 23], "user_has_access": [0, 3, 7, 18], "utc": 26, "util": [0, 1, 2, 3, 8, 17, 18, 20, 23, 24], "v1": [0, 3, 23, 24], "valid": [0, 3, 23, 24], "validate_default": [3, 23, 24], "valu": [3, 12, 17, 19, 20, 23, 24], "valueerror": [6, 17, 24], "vari": 1, "variabl": [1, 3, 23, 24], "variou": [0, 9], "verifi": 10, "version": [0, 11], "view": [0, 18], "viewwithuserandrolecheck": [0, 3, 7, 18], "wa": [0, 9, 10, 26], "wait": [0, 3, 7, 19, 26], "wait_until_guild_avail": [2, 3], "want": 1, "warn": [0, 26], "wasn": 11, "we": [20, 21], "websocket": 0, "were": 3, "what": 1, "when": [0, 3, 4, 6, 7, 8, 10, 12, 17, 19, 23, 24, 26], "where": 10, "whether": [0, 3, 6, 9, 10, 14, 15, 18, 23, 24], "which": [0, 1, 3, 7, 10, 12, 17, 19, 23, 26], "while": [3, 12, 19, 23], "whitelist": 10, "whitespac": [0, 25], "who": [0, 18], "whom": [3, 23], "withdefault": [3, 23, 24], "withdefaultseri": [3, 23, 24], "withdefaultvalid": [3, 23, 24], "within": [0, 3], "without": [0, 10], "won": 17, "word": [3, 23], "work": [0, 1], "worker": 7, "workflow": 0, "would": [3, 23], "wrap": [8, 17, 26], "wrapper": [0, 6, 12, 17, 26], "write": [0, 1], "wrong": 0, "www": 0, "x": 0, "you": [0, 1, 9, 25], "your": 1}, "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "checks", "commands", "cooldown", "error_handling package", "commands package", "abc", "manager", "function", "interactions", "lock", "logging", "members", "messages", "pagination", "paste_service", "regex", "scheduling"], "titleterms": {"1": 1, "2": 1, "abc": 15, "async_stat": 4, "bot": 2, "cach": 8, "changelog": 0, "channel": 9, "check": 10, "command": [11, 14], "cooldown": 12, "core": [2, 3], "develop": 1, "document": 2, "error_handl": 13, "ext": 5, "extra": 2, "function": 17, "interact": 18, "local": 1, "lock": 19, "log": 20, "manag": 16, "member": 21, "messag": 22, "modul": 2, "option": 1, "packag": [13, 14], "pagin": 23, "paste_servic": 24, "project": 2, "pydi": 3, "refer": 2, "regex": 25, "schedul": 26, "site_api": 6, "submodul": [3, 7, 14], "subpackag": [3, 7, 13], "test": 1, "util": 7}}) \ No newline at end of file diff --git a/main/versions.html b/main/versions.html index 68950dd2..953b78a0 100644 --- a/main/versions.html +++ b/main/versions.html @@ -4,14 +4,14 @@ - - Versions - Pydis Core Latest (11.3.1) + + Versions - Pydis Core Latest (11.4.0) - + - + @@ -169,7 +169,7 @@
    -
    Pydis Core Latest (11.3.1)
    +
    Pydis Core Latest (11.4.0)
    @@ -196,7 +196,7 @@ Logo
    - Pydis Core Latest (11.3.1) + Pydis Core Latest (11.4.0) @@ -677,7 +677,7 @@
    - + diff --git a/v10.0.0/.buildinfo b/v10.0.0/.buildinfo index f1a66bfc..dc88d550 100644 --- a/v10.0.0/.buildinfo +++ b/v10.0.0/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: a439484f2dc187f39ef4b582265332b5 +config: 6a448ba5404e229b3e351f25576bc924 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/v10.0.0/_static/styles/furo.css b/v10.0.0/_static/styles/furo.css index 21836d6a..05a56b17 100644 --- a/v10.0.0/_static/styles/furo.css +++ b/v10.0.0/_static/styles/furo.css @@ -1,2 +1,2 @@ -/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}@media print{.content-icon-container,.headerlink,.mobile-header,.related-pages{display:none!important}.highlight{border:.1pt solid var(--color-foreground-border)}a,blockquote,dl,ol,pre,table,ul{page-break-inside:avoid}caption,figure,h1,h2,h3,h4,h5,h6,img{page-break-after:avoid;page-break-inside:avoid}dl,ol,ul{page-break-before:avoid}}.visually-hidden{height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;clip:rect(0,0,0,0)!important;background:var(--color-background-primary);border:0!important;color:var(--color-foreground-primary);white-space:nowrap!important}:-moz-focusring{outline:auto}body{--font-stack:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;--font-stack--monospace:"SFMono-Regular",Menlo,Consolas,Monaco,Liberation Mono,Lucida Console,monospace;--font-stack--headings:var(--font-stack);--font-size--normal:100%;--font-size--small:87.5%;--font-size--small--2:81.25%;--font-size--small--3:75%;--font-size--small--4:62.5%;--sidebar-caption-font-size:var(--font-size--small--2);--sidebar-item-font-size:var(--font-size--small);--sidebar-search-input-font-size:var(--font-size--small);--toc-font-size:var(--font-size--small--3);--toc-font-size--mobile:var(--font-size--normal);--toc-title-font-size:var(--font-size--small--4);--admonition-font-size:0.8125rem;--admonition-title-font-size:0.8125rem;--code-font-size:var(--font-size--small--2);--api-font-size:var(--font-size--small);--header-height:calc(var(--sidebar-item-line-height) + var(--sidebar-item-spacing-vertical)*4);--header-padding:0.5rem;--sidebar-tree-space-above:1.5rem;--sidebar-caption-space-above:1rem;--sidebar-item-line-height:1rem;--sidebar-item-spacing-vertical:0.5rem;--sidebar-item-spacing-horizontal:1rem;--sidebar-item-height:calc(var(--sidebar-item-line-height) + var(--sidebar-item-spacing-vertical)*2);--sidebar-expander-width:var(--sidebar-item-height);--sidebar-search-space-above:0.5rem;--sidebar-search-input-spacing-vertical:0.5rem;--sidebar-search-input-spacing-horizontal:0.5rem;--sidebar-search-input-height:1rem;--sidebar-search-icon-size:var(--sidebar-search-input-height);--toc-title-padding:0.25rem 0;--toc-spacing-vertical:1.5rem;--toc-spacing-horizontal:1.5rem;--toc-item-spacing-vertical:0.4rem;--toc-item-spacing-horizontal:1rem;--icon-search:url('data:image/svg+xml;charset=utf-8,');--icon-pencil:url('data:image/svg+xml;charset=utf-8,');--icon-abstract:url('data:image/svg+xml;charset=utf-8,');--icon-info:url('data:image/svg+xml;charset=utf-8,');--icon-flame:url('data:image/svg+xml;charset=utf-8,');--icon-question:url('data:image/svg+xml;charset=utf-8,');--icon-warning:url('data:image/svg+xml;charset=utf-8,');--icon-failure:url('data:image/svg+xml;charset=utf-8,');--icon-spark:url('data:image/svg+xml;charset=utf-8,');--color-admonition-title--caution:#ff9100;--color-admonition-title-background--caution:rgba(255,145,0,.2);--color-admonition-title--warning:#ff9100;--color-admonition-title-background--warning:rgba(255,145,0,.2);--color-admonition-title--danger:#ff5252;--color-admonition-title-background--danger:rgba(255,82,82,.2);--color-admonition-title--attention:#ff5252;--color-admonition-title-background--attention:rgba(255,82,82,.2);--color-admonition-title--error:#ff5252;--color-admonition-title-background--error:rgba(255,82,82,.2);--color-admonition-title--hint:#00c852;--color-admonition-title-background--hint:rgba(0,200,82,.2);--color-admonition-title--tip:#00c852;--color-admonition-title-background--tip:rgba(0,200,82,.2);--color-admonition-title--important:#00bfa5;--color-admonition-title-background--important:rgba(0,191,165,.2);--color-admonition-title--note:#00b0ff;--color-admonition-title-background--note:rgba(0,176,255,.2);--color-admonition-title--seealso:#448aff;--color-admonition-title-background--seealso:rgba(68,138,255,.2);--color-admonition-title--admonition-todo:grey;--color-admonition-title-background--admonition-todo:hsla(0,0%,50%,.2);--color-admonition-title:#651fff;--color-admonition-title-background:rgba(101,31,255,.2);--icon-admonition-default:var(--icon-abstract);--color-topic-title:#14b8a6;--color-topic-title-background:rgba(20,184,166,.2);--icon-topic-default:var(--icon-pencil);--color-problematic:#b30000;--color-foreground-primary:#000;--color-foreground-secondary:#5a5c63;--color-foreground-muted:#6b6f76;--color-foreground-border:#878787;--color-background-primary:#fff;--color-background-secondary:#f8f9fb;--color-background-hover:#efeff4;--color-background-hover--transparent:#efeff400;--color-background-border:#eeebee;--color-background-item:#ccc;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#0a4bff;--color-brand-content:#2757dd;--color-brand-visited:#872ee0;--color-api-background:var(--color-background-hover--transparent);--color-api-background-hover:var(--color-background-hover);--color-api-overall:var(--color-foreground-secondary);--color-api-name:var(--color-problematic);--color-api-pre-name:var(--color-problematic);--color-api-paren:var(--color-foreground-secondary);--color-api-keyword:var(--color-foreground-primary);--color-api-added:#21632c;--color-api-added-border:#38a84d;--color-api-changed:#046172;--color-api-changed-border:#06a1bc;--color-api-deprecated:#605706;--color-api-deprecated-border:#f0d90f;--color-api-removed:#b30000;--color-api-removed-border:#ff5c5c;--color-highlight-on-target:#ffc;--color-inline-code-background:var(--color-background-secondary);--color-highlighted-background:#def;--color-highlighted-text:var(--color-foreground-primary);--color-guilabel-background:#ddeeff80;--color-guilabel-border:#bedaf580;--color-guilabel-text:var(--color-foreground-primary);--color-admonition-background:transparent;--color-table-header-background:var(--color-background-secondary);--color-table-border:var(--color-background-border);--color-card-border:var(--color-background-secondary);--color-card-background:transparent;--color-card-marginals-background:var(--color-background-secondary);--color-header-background:var(--color-background-primary);--color-header-border:var(--color-background-border);--color-header-text:var(--color-foreground-primary);--color-sidebar-background:var(--color-background-secondary);--color-sidebar-background-border:var(--color-background-border);--color-sidebar-brand-text:var(--color-foreground-primary);--color-sidebar-caption-text:var(--color-foreground-muted);--color-sidebar-link-text:var(--color-foreground-secondary);--color-sidebar-link-text--top-level:var(--color-brand-primary);--color-sidebar-item-background:var(--color-sidebar-background);--color-sidebar-item-background--current:var( --color-sidebar-item-background );--color-sidebar-item-background--hover:linear-gradient(90deg,var(--color-background-hover--transparent) 0%,var(--color-background-hover) var(--sidebar-item-spacing-horizontal),var(--color-background-hover) 100%);--color-sidebar-item-expander-background:transparent;--color-sidebar-item-expander-background--hover:var( --color-background-hover );--color-sidebar-search-text:var(--color-foreground-primary);--color-sidebar-search-background:var(--color-background-secondary);--color-sidebar-search-background--focus:var(--color-background-primary);--color-sidebar-search-border:var(--color-background-border);--color-sidebar-search-icon:var(--color-foreground-muted);--color-toc-background:var(--color-background-primary);--color-toc-title-text:var(--color-foreground-muted);--color-toc-item-text:var(--color-foreground-secondary);--color-toc-item-text--hover:var(--color-foreground-primary);--color-toc-item-text--active:var(--color-brand-primary);--color-content-foreground:var(--color-foreground-primary);--color-content-background:transparent;--color-link:var(--color-brand-content);--color-link-underline:var(--color-background-border);--color-link--hover:var(--color-brand-content);--color-link-underline--hover:var(--color-foreground-border);--color-link--visited:var(--color-brand-visited);--color-link-underline--visited:var(--color-background-border);--color-link--visited--hover:var(--color-brand-visited);--color-link-underline--visited--hover:var(--color-foreground-border)}.only-light{display:block!important}html body .only-dark{display:none!important}@media not print{body[data-theme=dark]{--color-problematic:#ee5151;--color-foreground-primary:#cfd0d0;--color-foreground-secondary:#9ca0a5;--color-foreground-muted:#81868d;--color-foreground-border:#666;--color-background-primary:#131416;--color-background-secondary:#1a1c1e;--color-background-hover:#1e2124;--color-background-hover--transparent:#1e212400;--color-background-border:#303335;--color-background-item:#444;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#3d94ff;--color-brand-content:#5ca5ff;--color-brand-visited:#b27aeb;--color-highlighted-background:#083563;--color-guilabel-background:#08356380;--color-guilabel-border:#13395f80;--color-api-keyword:var(--color-foreground-secondary);--color-highlight-on-target:#330;--color-api-added:#3db854;--color-api-added-border:#267334;--color-api-changed:#09b0ce;--color-api-changed-border:#056d80;--color-api-deprecated:#b1a10b;--color-api-deprecated-border:#6e6407;--color-api-removed:#ff7575;--color-api-removed-border:#b03b3b;--color-admonition-background:#18181a;--color-card-border:var(--color-background-secondary);--color-card-background:#18181a;--color-card-marginals-background:var(--color-background-hover)}html body[data-theme=dark] .only-light{display:none!important}body[data-theme=dark] .only-dark{display:block!important}@media(prefers-color-scheme:dark){body:not([data-theme=light]){--color-problematic:#ee5151;--color-foreground-primary:#cfd0d0;--color-foreground-secondary:#9ca0a5;--color-foreground-muted:#81868d;--color-foreground-border:#666;--color-background-primary:#131416;--color-background-secondary:#1a1c1e;--color-background-hover:#1e2124;--color-background-hover--transparent:#1e212400;--color-background-border:#303335;--color-background-item:#444;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#3d94ff;--color-brand-content:#5ca5ff;--color-brand-visited:#b27aeb;--color-highlighted-background:#083563;--color-guilabel-background:#08356380;--color-guilabel-border:#13395f80;--color-api-keyword:var(--color-foreground-secondary);--color-highlight-on-target:#330;--color-api-added:#3db854;--color-api-added-border:#267334;--color-api-changed:#09b0ce;--color-api-changed-border:#056d80;--color-api-deprecated:#b1a10b;--color-api-deprecated-border:#6e6407;--color-api-removed:#ff7575;--color-api-removed-border:#b03b3b;--color-admonition-background:#18181a;--color-card-border:var(--color-background-secondary);--color-card-background:#18181a;--color-card-marginals-background:var(--color-background-hover)}html body:not([data-theme=light]) .only-light{display:none!important}body:not([data-theme=light]) .only-dark{display:block!important}}}body[data-theme=auto] .theme-toggle svg.theme-icon-when-auto-light{display:block}@media(prefers-color-scheme:dark){body[data-theme=auto] .theme-toggle svg.theme-icon-when-auto-dark{display:block}body[data-theme=auto] .theme-toggle svg.theme-icon-when-auto-light{display:none}}body[data-theme=dark] .theme-toggle svg.theme-icon-when-dark,body[data-theme=light] .theme-toggle svg.theme-icon-when-light{display:block}body{font-family:var(--font-stack)}code,kbd,pre,samp{font-family:var(--font-stack--monospace)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}article{line-height:1.5}h1,h2,h3,h4,h5,h6{border-radius:.5rem;font-family:var(--font-stack--headings);font-weight:700;line-height:1.25;margin:.5rem -.5rem;padding-left:.5rem;padding-right:.5rem}h1+p,h2+p,h3+p,h4+p,h5+p,h6+p{margin-top:0}h1{font-size:2.5em;margin-bottom:1rem}h1,h2{margin-top:1.75rem}h2{font-size:2em}h3{font-size:1.5em}h4{font-size:1.25em}h5{font-size:1.125em}h6{font-size:1em}small{font-size:80%;opacity:75%}p{margin-bottom:.75rem;margin-top:.5rem}hr.docutils{background-color:var(--color-background-border);border:0;height:1px;margin:2rem 0;padding:0}.centered{text-align:center}a{color:var(--color-link);text-decoration:underline;text-decoration-color:var(--color-link-underline)}a:visited{color:var(--color-link--visited);text-decoration-color:var(--color-link-underline--visited)}a:visited:hover{color:var(--color-link--visited--hover);text-decoration-color:var(--color-link-underline--visited--hover)}a:hover{color:var(--color-link--hover);text-decoration-color:var(--color-link-underline--hover)}a.muted-link{color:inherit}a.muted-link:hover{color:var(--color-link--hover);text-decoration-color:var(--color-link-underline--hover)}a.muted-link:hover:visited{color:var(--color-link--visited--hover);text-decoration-color:var(--color-link-underline--visited--hover)}html{overflow-x:hidden;overflow-y:scroll;scroll-behavior:smooth}.sidebar-scroll,.toc-scroll,article[role=main] *{scrollbar-color:var(--color-foreground-border) transparent;scrollbar-width:thin}.sidebar-scroll::-webkit-scrollbar,.toc-scroll::-webkit-scrollbar,article[role=main] ::-webkit-scrollbar{height:.25rem;width:.25rem}.sidebar-scroll::-webkit-scrollbar-thumb,.toc-scroll::-webkit-scrollbar-thumb,article[role=main] ::-webkit-scrollbar-thumb{background-color:var(--color-foreground-border);border-radius:.125rem}body,html{height:100%}.skip-to-content,body,html{background:var(--color-background-primary);color:var(--color-foreground-primary)}.skip-to-content{border-radius:1rem;left:.25rem;padding:1rem;position:fixed;top:.25rem;transform:translateY(-200%);transition:transform .3s ease-in-out;z-index:40}.skip-to-content:focus-within{transform:translateY(0)}article{background:var(--color-content-background);color:var(--color-content-foreground);overflow-wrap:break-word}.page{display:flex;min-height:100%}.mobile-header{background-color:var(--color-header-background);border-bottom:1px solid var(--color-header-border);color:var(--color-header-text);display:none;height:var(--header-height);width:100%;z-index:10}.mobile-header.scrolled{border-bottom:none;box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2)}.mobile-header .header-center a{color:var(--color-header-text);text-decoration:none}.main{display:flex;flex:1}.sidebar-drawer{background:var(--color-sidebar-background);border-right:1px solid var(--color-sidebar-background-border);box-sizing:border-box;display:flex;justify-content:flex-end;min-width:15em;width:calc(50% - 26em)}.sidebar-container,.toc-drawer{box-sizing:border-box;width:15em}.toc-drawer{background:var(--color-toc-background);padding-right:1rem}.sidebar-sticky,.toc-sticky{display:flex;flex-direction:column;height:min(100%,100vh);height:100vh;position:sticky;top:0}.sidebar-scroll,.toc-scroll{flex-grow:1;flex-shrink:1;overflow:auto;scroll-behavior:smooth}.content{display:flex;flex-direction:column;justify-content:space-between;padding:0 3em;width:46em}.icon{display:inline-block;height:1rem;width:1rem}.icon svg{height:100%;width:100%}.announcement{align-items:center;background-color:var(--color-announcement-background);color:var(--color-announcement-text);display:flex;height:var(--header-height);overflow-x:auto}.announcement+.page{min-height:calc(100% - var(--header-height))}.announcement-content{box-sizing:border-box;min-width:100%;padding:.5rem;text-align:center;white-space:nowrap}.announcement-content a{color:var(--color-announcement-text);text-decoration-color:var(--color-announcement-text)}.announcement-content a:hover{color:var(--color-announcement-text);text-decoration-color:var(--color-link--hover)}.no-js .theme-toggle-container{display:none}.theme-toggle-container{display:flex}.theme-toggle{background:transparent;border:none;cursor:pointer;display:flex;padding:0}.theme-toggle svg{color:var(--color-foreground-primary);display:none;height:1.25rem;width:1.25rem}.theme-toggle-header{align-items:center;display:flex;justify-content:center}.nav-overlay-icon,.toc-overlay-icon{cursor:pointer;display:none}.nav-overlay-icon .icon,.toc-overlay-icon .icon{color:var(--color-foreground-secondary);height:1.5rem;width:1.5rem}.nav-overlay-icon,.toc-header-icon{align-items:center;justify-content:center}.toc-content-icon{height:1.5rem;width:1.5rem}.content-icon-container{display:flex;float:right;gap:.5rem;margin-bottom:1rem;margin-left:1rem;margin-top:1.5rem}.content-icon-container .edit-this-page svg,.content-icon-container .view-this-page svg{color:inherit;height:1.25rem;width:1.25rem}.sidebar-toggle{display:none;position:absolute}.sidebar-toggle[name=__toc]{left:20px}.sidebar-toggle:checked{left:40px}.overlay{background-color:rgba(0,0,0,.54);height:0;opacity:0;position:fixed;top:0;transition:width 0ms,height 0ms,opacity .25s ease-out;width:0}.sidebar-overlay{z-index:20}.toc-overlay{z-index:40}.sidebar-drawer{transition:left .25s ease-in-out;z-index:30}.toc-drawer{transition:right .25s ease-in-out;z-index:50}#__navigation:checked~.sidebar-overlay{height:100%;opacity:1;width:100%}#__navigation:checked~.page .sidebar-drawer{left:0;top:0}#__toc:checked~.toc-overlay{height:100%;opacity:1;width:100%}#__toc:checked~.page .toc-drawer{right:0;top:0}.back-to-top{background:var(--color-background-primary);border-radius:1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 1px 0 hsla(220,9%,46%,.502);display:none;font-size:.8125rem;left:0;margin-left:50%;padding:.5rem .75rem .5rem .5rem;position:fixed;text-decoration:none;top:1rem;transform:translateX(-50%);z-index:10}.back-to-top svg{height:1rem;width:1rem;fill:currentColor;display:inline-block}.back-to-top span{margin-left:.25rem}.show-back-to-top .back-to-top{align-items:center;display:flex}@media(min-width:97em){html{font-size:110%}}@media(max-width:82em){.toc-content-icon{display:flex}.toc-drawer{border-left:1px solid var(--color-background-muted);height:100vh;position:fixed;right:-15em;top:0}.toc-tree{border-left:none;font-size:var(--toc-font-size--mobile)}.sidebar-drawer{width:calc(50% - 18.5em)}}@media(max-width:67em){.nav-overlay-icon{display:flex}.sidebar-drawer{height:100vh;left:-15em;position:fixed;top:0;width:15em}.theme-toggle-header,.toc-header-icon{display:flex}.theme-toggle-content,.toc-content-icon{display:none}.mobile-header{align-items:center;display:flex;justify-content:space-between;position:sticky;top:0}.mobile-header .header-left,.mobile-header .header-right{display:flex;height:var(--header-height);padding:0 var(--header-padding)}.mobile-header .header-left label,.mobile-header .header-right label{height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.nav-overlay-icon .icon,.theme-toggle svg{height:1.5rem;width:1.5rem}:target{scroll-margin-top:calc(var(--header-height) + 2.5rem)}.back-to-top{top:calc(var(--header-height) + .5rem)}.page{flex-direction:column;justify-content:center}.content{margin-left:auto;margin-right:auto}}@media(max-width:52em){.content{overflow-x:auto;width:100%}}@media(max-width:46em){.content{padding:0 1em}article aside.sidebar{float:none;margin:1rem 0;width:100%}}.admonition,.topic{background:var(--color-admonition-background);border-radius:.2rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1);font-size:var(--admonition-font-size);margin:1rem auto;overflow:hidden;padding:0 .5rem .5rem;page-break-inside:avoid}.admonition>:nth-child(2),.topic>:nth-child(2){margin-top:0}.admonition>:last-child,.topic>:last-child{margin-bottom:0}.admonition p.admonition-title,p.topic-title{font-size:var(--admonition-title-font-size);font-weight:500;line-height:1.3;margin:0 -.5rem .5rem;padding:.4rem .5rem .4rem 2rem;position:relative}.admonition p.admonition-title:before,p.topic-title:before{content:"";height:1rem;left:.5rem;position:absolute;width:1rem}p.admonition-title{background-color:var(--color-admonition-title-background)}p.admonition-title:before{background-color:var(--color-admonition-title);-webkit-mask-image:var(--icon-admonition-default);mask-image:var(--icon-admonition-default);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}p.topic-title{background-color:var(--color-topic-title-background)}p.topic-title:before{background-color:var(--color-topic-title);-webkit-mask-image:var(--icon-topic-default);mask-image:var(--icon-topic-default);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.admonition{border-left:.2rem solid var(--color-admonition-title)}.admonition.caution{border-left-color:var(--color-admonition-title--caution)}.admonition.caution>.admonition-title{background-color:var(--color-admonition-title-background--caution)}.admonition.caution>.admonition-title:before{background-color:var(--color-admonition-title--caution);-webkit-mask-image:var(--icon-spark);mask-image:var(--icon-spark)}.admonition.warning{border-left-color:var(--color-admonition-title--warning)}.admonition.warning>.admonition-title{background-color:var(--color-admonition-title-background--warning)}.admonition.warning>.admonition-title:before{background-color:var(--color-admonition-title--warning);-webkit-mask-image:var(--icon-warning);mask-image:var(--icon-warning)}.admonition.danger{border-left-color:var(--color-admonition-title--danger)}.admonition.danger>.admonition-title{background-color:var(--color-admonition-title-background--danger)}.admonition.danger>.admonition-title:before{background-color:var(--color-admonition-title--danger);-webkit-mask-image:var(--icon-spark);mask-image:var(--icon-spark)}.admonition.attention{border-left-color:var(--color-admonition-title--attention)}.admonition.attention>.admonition-title{background-color:var(--color-admonition-title-background--attention)}.admonition.attention>.admonition-title:before{background-color:var(--color-admonition-title--attention);-webkit-mask-image:var(--icon-warning);mask-image:var(--icon-warning)}.admonition.error{border-left-color:var(--color-admonition-title--error)}.admonition.error>.admonition-title{background-color:var(--color-admonition-title-background--error)}.admonition.error>.admonition-title:before{background-color:var(--color-admonition-title--error);-webkit-mask-image:var(--icon-failure);mask-image:var(--icon-failure)}.admonition.hint{border-left-color:var(--color-admonition-title--hint)}.admonition.hint>.admonition-title{background-color:var(--color-admonition-title-background--hint)}.admonition.hint>.admonition-title:before{background-color:var(--color-admonition-title--hint);-webkit-mask-image:var(--icon-question);mask-image:var(--icon-question)}.admonition.tip{border-left-color:var(--color-admonition-title--tip)}.admonition.tip>.admonition-title{background-color:var(--color-admonition-title-background--tip)}.admonition.tip>.admonition-title:before{background-color:var(--color-admonition-title--tip);-webkit-mask-image:var(--icon-info);mask-image:var(--icon-info)}.admonition.important{border-left-color:var(--color-admonition-title--important)}.admonition.important>.admonition-title{background-color:var(--color-admonition-title-background--important)}.admonition.important>.admonition-title:before{background-color:var(--color-admonition-title--important);-webkit-mask-image:var(--icon-flame);mask-image:var(--icon-flame)}.admonition.note{border-left-color:var(--color-admonition-title--note)}.admonition.note>.admonition-title{background-color:var(--color-admonition-title-background--note)}.admonition.note>.admonition-title:before{background-color:var(--color-admonition-title--note);-webkit-mask-image:var(--icon-pencil);mask-image:var(--icon-pencil)}.admonition.seealso{border-left-color:var(--color-admonition-title--seealso)}.admonition.seealso>.admonition-title{background-color:var(--color-admonition-title-background--seealso)}.admonition.seealso>.admonition-title:before{background-color:var(--color-admonition-title--seealso);-webkit-mask-image:var(--icon-info);mask-image:var(--icon-info)}.admonition.admonition-todo{border-left-color:var(--color-admonition-title--admonition-todo)}.admonition.admonition-todo>.admonition-title{background-color:var(--color-admonition-title-background--admonition-todo)}.admonition.admonition-todo>.admonition-title:before{background-color:var(--color-admonition-title--admonition-todo);-webkit-mask-image:var(--icon-pencil);mask-image:var(--icon-pencil)}.admonition-todo>.admonition-title{text-transform:uppercase}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd{margin-left:2rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd>:first-child{margin-top:.125rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list,dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd>:last-child{margin-bottom:.75rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list>dt{font-size:var(--font-size--small);text-transform:uppercase}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd:empty{margin-bottom:.5rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul{margin-left:-1.2rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul>li>p:nth-child(2){margin-top:0}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul>li>p+p:last-child:empty{margin-bottom:0;margin-top:0}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)>dt{color:var(--color-api-overall)}.sig:not(.sig-inline){background:var(--color-api-background);border-radius:.25rem;font-family:var(--font-stack--monospace);font-size:var(--api-font-size);font-weight:700;margin-left:-.25rem;margin-right:-.25rem;padding:.25rem .5rem .25rem 3em;text-indent:-2.5em;transition:background .1s ease-out}.sig:not(.sig-inline):hover{background:var(--color-api-background-hover)}.sig:not(.sig-inline) a.reference .viewcode-link{font-weight:400;width:4.25rem}em.property{font-style:normal}em.property:first-child{color:var(--color-api-keyword)}.sig-name{color:var(--color-api-name)}.sig-prename{color:var(--color-api-pre-name);font-weight:400}.sig-paren{color:var(--color-api-paren)}.sig-param{font-style:normal}div.deprecated,div.versionadded,div.versionchanged,div.versionremoved{border-left:.1875rem solid;border-radius:.125rem;padding-left:.75rem}div.deprecated p,div.versionadded p,div.versionchanged p,div.versionremoved p{margin-bottom:.125rem;margin-top:.125rem}div.versionadded{border-color:var(--color-api-added-border)}div.versionadded .versionmodified{color:var(--color-api-added)}div.versionchanged{border-color:var(--color-api-changed-border)}div.versionchanged .versionmodified{color:var(--color-api-changed)}div.deprecated{border-color:var(--color-api-deprecated-border)}div.deprecated .versionmodified{color:var(--color-api-deprecated)}div.versionremoved{border-color:var(--color-api-removed-border)}div.versionremoved .versionmodified{color:var(--color-api-removed)}.viewcode-back,.viewcode-link{float:right;text-align:right}.line-block{margin-bottom:.75rem;margin-top:.5rem}.line-block .line-block{margin-bottom:0;margin-top:0;padding-left:1rem}.code-block-caption,article p.caption,table>caption{font-size:var(--font-size--small);text-align:center}.toctree-wrapper.compound .caption,.toctree-wrapper.compound :not(.caption)>.caption-text{font-size:var(--font-size--small);margin-bottom:0;text-align:initial;text-transform:uppercase}.toctree-wrapper.compound>ul{margin-bottom:0;margin-top:0}.sig-inline,code.literal{background:var(--color-inline-code-background);border-radius:.2em;font-size:var(--font-size--small--2);padding:.1em .2em}pre.literal-block .sig-inline,pre.literal-block code.literal{font-size:inherit;padding:0}p .sig-inline,p code.literal{border:1px solid var(--color-background-border)}.sig-inline{font-family:var(--font-stack--monospace)}div[class*=" highlight-"],div[class^=highlight-]{display:flex;margin:1em 0}div[class*=" highlight-"] .table-wrapper,div[class^=highlight-] .table-wrapper,pre{margin:0;padding:0}pre{overflow:auto}article[role=main] .highlight pre{line-height:1.5}.highlight pre,pre.literal-block{font-size:var(--code-font-size);padding:.625rem .875rem}pre.literal-block{background-color:var(--color-code-background);border-radius:.2rem;color:var(--color-code-foreground);margin-bottom:1rem;margin-top:1rem}.highlight{border-radius:.2rem;width:100%}.highlight .gp,.highlight span.linenos{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.highlight .hll{display:block;margin-left:-.875rem;margin-right:-.875rem;padding-left:.875rem;padding-right:.875rem}.code-block-caption{background-color:var(--color-code-background);border-bottom:1px solid;border-radius:.25rem;border-bottom-left-radius:0;border-bottom-right-radius:0;border-color:var(--color-background-border);color:var(--color-code-foreground);display:flex;font-weight:300;padding:.625rem .875rem}.code-block-caption+div[class]{margin-top:0}.code-block-caption+div[class] pre{border-top-left-radius:0;border-top-right-radius:0}.highlighttable{display:block;width:100%}.highlighttable tbody{display:block}.highlighttable tr{display:flex}.highlighttable td.linenos{background-color:var(--color-code-background);border-bottom-left-radius:.2rem;border-top-left-radius:.2rem;color:var(--color-code-foreground);padding:.625rem 0 .625rem .875rem}.highlighttable .linenodiv{box-shadow:-.0625rem 0 var(--color-foreground-border) inset;font-size:var(--code-font-size);padding-right:.875rem}.highlighttable td.code{display:block;flex:1;overflow:hidden;padding:0}.highlighttable td.code .highlight{border-bottom-left-radius:0;border-top-left-radius:0}.highlight span.linenos{box-shadow:-.0625rem 0 var(--color-foreground-border) inset;display:inline-block;margin-right:.875rem;padding-left:0;padding-right:.875rem}.footnote-reference{font-size:var(--font-size--small--4);vertical-align:super}dl.footnote.brackets{color:var(--color-foreground-secondary);display:grid;font-size:var(--font-size--small);grid-template-columns:max-content auto}dl.footnote.brackets dt{margin:0}dl.footnote.brackets dt>.fn-backref{margin-left:.25rem}dl.footnote.brackets dt:after{content:":"}dl.footnote.brackets dt .brackets:before{content:"["}dl.footnote.brackets dt .brackets:after{content:"]"}dl.footnote.brackets dd{margin:0;padding:0 1rem}aside.footnote{color:var(--color-foreground-secondary);font-size:var(--font-size--small)}aside.footnote>span,div.citation>span{float:left;font-weight:500;padding-right:.25rem}aside.footnote>:not(span),div.citation>p{margin-left:2rem}img{box-sizing:border-box;height:auto;max-width:100%}article .figure,article figure{border-radius:.2rem;margin:0}article .figure :last-child,article figure :last-child{margin-bottom:0}article .align-left{clear:left;float:left;margin:0 1rem 1rem}article .align-right{clear:right;float:right;margin:0 1rem 1rem}article .align-center,article .align-default{display:block;margin-left:auto;margin-right:auto;text-align:center}article table.align-default{display:table;text-align:initial}.domainindex-jumpbox,.genindex-jumpbox{border-bottom:1px solid var(--color-background-border);border-top:1px solid var(--color-background-border);padding:.25rem}.domainindex-section h2,.genindex-section h2{margin-bottom:.5rem;margin-top:.75rem}.domainindex-section ul,.genindex-section ul{margin-bottom:0;margin-top:0}ol,ul{margin-bottom:1rem;margin-top:1rem;padding-left:1.2rem}ol li>p:first-child,ul li>p:first-child{margin-bottom:.25rem;margin-top:.25rem}ol li>p:last-child,ul li>p:last-child{margin-top:.25rem}ol li>ol,ol li>ul,ul li>ol,ul li>ul{margin-bottom:.5rem;margin-top:.5rem}ol.arabic{list-style:decimal}ol.loweralpha{list-style:lower-alpha}ol.upperalpha{list-style:upper-alpha}ol.lowerroman{list-style:lower-roman}ol.upperroman{list-style:upper-roman}.simple li>ol,.simple li>ul,.toctree-wrapper li>ol,.toctree-wrapper li>ul{margin-bottom:0;margin-top:0}.field-list dt,.option-list dt,dl.footnote dt,dl.glossary dt,dl.simple dt,dl:not([class]) dt{font-weight:500;margin-top:.25rem}.field-list dt+dt,.option-list dt+dt,dl.footnote dt+dt,dl.glossary dt+dt,dl.simple dt+dt,dl:not([class]) dt+dt{margin-top:0}.field-list dt .classifier:before,.option-list dt .classifier:before,dl.footnote dt .classifier:before,dl.glossary dt .classifier:before,dl.simple dt .classifier:before,dl:not([class]) dt .classifier:before{content:":";margin-left:.2rem;margin-right:.2rem}.field-list dd ul,.field-list dd>p:first-child,.option-list dd ul,.option-list dd>p:first-child,dl.footnote dd ul,dl.footnote dd>p:first-child,dl.glossary dd ul,dl.glossary dd>p:first-child,dl.simple dd ul,dl.simple dd>p:first-child,dl:not([class]) dd ul,dl:not([class]) dd>p:first-child{margin-top:.125rem}.field-list dd ul,.option-list dd ul,dl.footnote dd ul,dl.glossary dd ul,dl.simple dd ul,dl:not([class]) dd ul{margin-bottom:.125rem}.math-wrapper{overflow-x:auto;width:100%}div.math{position:relative;text-align:center}div.math .headerlink,div.math:focus .headerlink{display:none}div.math:hover .headerlink{display:inline-block}div.math span.eqno{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);z-index:1}abbr[title]{cursor:help}.problematic{color:var(--color-problematic)}kbd:not(.compound){background-color:var(--color-background-secondary);border:1px solid var(--color-foreground-border);border-radius:.2rem;box-shadow:0 .0625rem 0 rgba(0,0,0,.2),inset 0 0 0 .125rem var(--color-background-primary);color:var(--color-foreground-primary);display:inline-block;font-size:var(--font-size--small--3);margin:0 .2rem;padding:0 .2rem;vertical-align:text-bottom}blockquote{background:var(--color-background-secondary);border-left:4px solid var(--color-background-border);margin-left:0;margin-right:0;padding:.5rem 1rem}blockquote .attribution{font-weight:600;text-align:right}blockquote.highlights,blockquote.pull-quote{font-size:1.25em}blockquote.epigraph,blockquote.pull-quote{border-left-width:0;border-radius:.5rem}blockquote.highlights{background:transparent;border-left-width:0}p .reference img{vertical-align:middle}p.rubric{font-size:1.125em;font-weight:700;line-height:1.25}dd p.rubric{font-size:var(--font-size--small);font-weight:inherit;line-height:inherit;text-transform:uppercase}article .sidebar{background-color:var(--color-background-secondary);border:1px solid var(--color-background-border);border-radius:.2rem;clear:right;float:right;margin-left:1rem;margin-right:0;width:30%}article .sidebar>*{padding-left:1rem;padding-right:1rem}article .sidebar>ol,article .sidebar>ul{padding-left:2.2rem}article .sidebar .sidebar-title{border-bottom:1px solid var(--color-background-border);font-weight:500;margin:0;padding:.5rem 1rem}.table-wrapper{margin-bottom:.5rem;margin-top:1rem;overflow-x:auto;padding:.2rem .2rem .75rem;width:100%}table.docutils{border-collapse:collapse;border-radius:.2rem;border-spacing:0;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1)}table.docutils th{background:var(--color-table-header-background)}table.docutils td,table.docutils th{border-bottom:1px solid var(--color-table-border);border-left:1px solid var(--color-table-border);border-right:1px solid var(--color-table-border);padding:0 .25rem}table.docutils td p,table.docutils th p{margin:.25rem}table.docutils td:first-child,table.docutils th:first-child{border-left:none}table.docutils td:last-child,table.docutils th:last-child{border-right:none}table.docutils td.text-left,table.docutils th.text-left{text-align:left}table.docutils td.text-right,table.docutils th.text-right{text-align:right}table.docutils td.text-center,table.docutils th.text-center{text-align:center}:target{scroll-margin-top:2.5rem}@media(max-width:67em){:target{scroll-margin-top:calc(2.5rem + var(--header-height))}section>span:target{scroll-margin-top:calc(2.8rem + var(--header-height))}}.headerlink{font-weight:100;-webkit-user-select:none;-moz-user-select:none;user-select:none}.code-block-caption>.headerlink,dl dt>.headerlink,figcaption p>.headerlink,h1>.headerlink,h2>.headerlink,h3>.headerlink,h4>.headerlink,h5>.headerlink,h6>.headerlink,p.caption>.headerlink,table>caption>.headerlink{margin-left:.5rem;visibility:hidden}.code-block-caption:hover>.headerlink,dl dt:hover>.headerlink,figcaption p:hover>.headerlink,h1:hover>.headerlink,h2:hover>.headerlink,h3:hover>.headerlink,h4:hover>.headerlink,h5:hover>.headerlink,h6:hover>.headerlink,p.caption:hover>.headerlink,table>caption:hover>.headerlink{visibility:visible}.code-block-caption>.toc-backref,dl dt>.toc-backref,figcaption p>.toc-backref,h1>.toc-backref,h2>.toc-backref,h3>.toc-backref,h4>.toc-backref,h5>.toc-backref,h6>.toc-backref,p.caption>.toc-backref,table>caption>.toc-backref{color:inherit;text-decoration-line:none}figure:hover>figcaption>p>.headerlink,table:hover>caption>.headerlink{visibility:visible}:target>h1:first-of-type,:target>h2:first-of-type,:target>h3:first-of-type,:target>h4:first-of-type,:target>h5:first-of-type,:target>h6:first-of-type,span:target~h1:first-of-type,span:target~h2:first-of-type,span:target~h3:first-of-type,span:target~h4:first-of-type,span:target~h5:first-of-type,span:target~h6:first-of-type{background-color:var(--color-highlight-on-target)}:target>h1:first-of-type code.literal,:target>h2:first-of-type code.literal,:target>h3:first-of-type code.literal,:target>h4:first-of-type code.literal,:target>h5:first-of-type code.literal,:target>h6:first-of-type code.literal,span:target~h1:first-of-type code.literal,span:target~h2:first-of-type code.literal,span:target~h3:first-of-type code.literal,span:target~h4:first-of-type code.literal,span:target~h5:first-of-type code.literal,span:target~h6:first-of-type code.literal{background-color:transparent}.literal-block-wrapper:target .code-block-caption,.this-will-duplicate-information-and-it-is-still-useful-here li :target,figure:target,table:target>caption{background-color:var(--color-highlight-on-target)}dt:target{background-color:var(--color-highlight-on-target)!important}.footnote-reference:target,.footnote>dt:target+dd{background-color:var(--color-highlight-on-target)}.guilabel{background-color:var(--color-guilabel-background);border:1px solid var(--color-guilabel-border);border-radius:.5em;color:var(--color-guilabel-text);font-size:.9em;padding:0 .3em}footer{display:flex;flex-direction:column;font-size:var(--font-size--small);margin-top:2rem}.bottom-of-page{align-items:center;border-top:1px solid var(--color-background-border);color:var(--color-foreground-secondary);display:flex;justify-content:space-between;line-height:1.5;margin-top:1rem;padding-bottom:1rem;padding-top:1rem}@media(max-width:46em){.bottom-of-page{flex-direction:column-reverse;gap:.25rem;text-align:center}}.bottom-of-page .left-details{font-size:var(--font-size--small)}.bottom-of-page .right-details{display:flex;flex-direction:column;gap:.25rem;text-align:right}.bottom-of-page .icons{display:flex;font-size:1rem;gap:.25rem;justify-content:flex-end}.bottom-of-page .icons a{text-decoration:none}.bottom-of-page .icons img,.bottom-of-page .icons svg{font-size:1.125rem;height:1em;width:1em}.related-pages a{align-items:center;display:flex;text-decoration:none}.related-pages a:hover .page-info .title{color:var(--color-link);text-decoration:underline;text-decoration-color:var(--color-link-underline)}.related-pages a svg.furo-related-icon,.related-pages a svg.furo-related-icon>use{color:var(--color-foreground-border);flex-shrink:0;height:.75rem;margin:0 .5rem;width:.75rem}.related-pages a.next-page{clear:right;float:right;max-width:50%;text-align:right}.related-pages a.prev-page{clear:left;float:left;max-width:50%}.related-pages a.prev-page svg{transform:rotate(180deg)}.page-info{display:flex;flex-direction:column;overflow-wrap:anywhere}.next-page .page-info{align-items:flex-end}.page-info .context{align-items:center;color:var(--color-foreground-muted);display:flex;font-size:var(--font-size--small);padding-bottom:.1rem;text-decoration:none}ul.search{list-style:none;padding-left:0}ul.search li{border-bottom:1px solid var(--color-background-border);padding:1rem 0}[role=main] .highlighted{background-color:var(--color-highlighted-background);color:var(--color-highlighted-text)}.sidebar-brand{display:flex;flex-direction:column;flex-shrink:0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-decoration:none}.sidebar-brand-text{color:var(--color-sidebar-brand-text);font-size:1.5rem;overflow-wrap:break-word}.sidebar-brand-text,.sidebar-logo-container{margin:var(--sidebar-item-spacing-vertical) 0}.sidebar-logo{display:block;margin:0 auto;max-width:100%}.sidebar-search-container{align-items:center;background:var(--color-sidebar-search-background);display:flex;margin-top:var(--sidebar-search-space-above);position:relative}.sidebar-search-container:focus-within,.sidebar-search-container:hover{background:var(--color-sidebar-search-background--focus)}.sidebar-search-container:before{background-color:var(--color-sidebar-search-icon);content:"";height:var(--sidebar-search-icon-size);left:var(--sidebar-item-spacing-horizontal);-webkit-mask-image:var(--icon-search);mask-image:var(--icon-search);position:absolute;width:var(--sidebar-search-icon-size)}.sidebar-search{background:transparent;border:none;border-bottom:1px solid var(--color-sidebar-search-border);border-top:1px solid var(--color-sidebar-search-border);box-sizing:border-box;color:var(--color-sidebar-search-foreground);padding:var(--sidebar-search-input-spacing-vertical) var(--sidebar-search-input-spacing-horizontal) var(--sidebar-search-input-spacing-vertical) calc(var(--sidebar-item-spacing-horizontal) + var(--sidebar-search-input-spacing-horizontal) + var(--sidebar-search-icon-size));width:100%;z-index:10}.sidebar-search:focus{outline:none}.sidebar-search::-moz-placeholder{font-size:var(--sidebar-search-input-font-size)}.sidebar-search::placeholder{font-size:var(--sidebar-search-input-font-size)}#searchbox .highlight-link{margin:0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal) 0;text-align:center}#searchbox .highlight-link a{color:var(--color-sidebar-search-icon);font-size:var(--font-size--small--2)}.sidebar-tree{font-size:var(--sidebar-item-font-size);margin-bottom:var(--sidebar-item-spacing-vertical);margin-top:var(--sidebar-tree-space-above)}.sidebar-tree ul{display:flex;flex-direction:column;list-style:none;margin-bottom:0;margin-top:0;padding:0}.sidebar-tree li{margin:0;position:relative}.sidebar-tree li>ul{margin-left:var(--sidebar-item-spacing-horizontal)}.sidebar-tree .icon,.sidebar-tree .reference{color:var(--color-sidebar-link-text)}.sidebar-tree .reference{box-sizing:border-box;display:inline-block;height:100%;line-height:var(--sidebar-item-line-height);overflow-wrap:anywhere;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-decoration:none;width:100%}.sidebar-tree .reference:hover{background:var(--color-sidebar-item-background--hover);color:var(--color-sidebar-link-text)}.sidebar-tree .reference.external:after{color:var(--color-sidebar-link-text);content:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23607D8B' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' viewBox='0 0 24 24'%3E%3Cpath stroke='none' d='M0 0h24v24H0z'/%3E%3Cpath d='M11 7H6a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2v-5M10 14 20 4M15 4h5v5'/%3E%3C/svg%3E");margin:0 .25rem;vertical-align:middle}.sidebar-tree .current-page>.reference{font-weight:700}.sidebar-tree label{align-items:center;cursor:pointer;display:flex;height:var(--sidebar-item-height);justify-content:center;position:absolute;right:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--sidebar-expander-width)}.sidebar-tree .caption,.sidebar-tree :not(.caption)>.caption-text{color:var(--color-sidebar-caption-text);font-size:var(--sidebar-caption-font-size);font-weight:700;margin:var(--sidebar-caption-space-above) 0 0 0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-transform:uppercase}.sidebar-tree li.has-children>.reference{padding-right:var(--sidebar-expander-width)}.sidebar-tree .toctree-l1>.reference,.sidebar-tree .toctree-l1>label .icon{color:var(--color-sidebar-link-text--top-level)}.sidebar-tree label{background:var(--color-sidebar-item-expander-background)}.sidebar-tree label:hover{background:var(--color-sidebar-item-expander-background--hover)}.sidebar-tree .current>.reference{background:var(--color-sidebar-item-background--current)}.sidebar-tree .current>.reference:hover{background:var(--color-sidebar-item-background--hover)}.toctree-checkbox{display:none;position:absolute}.toctree-checkbox~ul{display:none}.toctree-checkbox~label .icon svg{transform:rotate(90deg)}.toctree-checkbox:checked~ul{display:block}.toctree-checkbox:checked~label .icon svg{transform:rotate(-90deg)}.toc-title-container{padding:var(--toc-title-padding);padding-top:var(--toc-spacing-vertical)}.toc-title{color:var(--color-toc-title-text);font-size:var(--toc-title-font-size);padding-left:var(--toc-spacing-horizontal);text-transform:uppercase}.no-toc{display:none}.toc-tree-container{padding-bottom:var(--toc-spacing-vertical)}.toc-tree{border-left:1px solid var(--color-background-border);font-size:var(--toc-font-size);line-height:1.3;padding-left:calc(var(--toc-spacing-horizontal) - var(--toc-item-spacing-horizontal))}.toc-tree>ul>li:first-child{padding-top:0}.toc-tree>ul>li:first-child>ul{padding-left:0}.toc-tree>ul>li:first-child>a{display:none}.toc-tree ul{list-style-type:none;margin-bottom:0;margin-top:0;padding-left:var(--toc-item-spacing-horizontal)}.toc-tree li{padding-top:var(--toc-item-spacing-vertical)}.toc-tree li.scroll-current>.reference{color:var(--color-toc-item-text--active);font-weight:700}.toc-tree a.reference{color:var(--color-toc-item-text);overflow-wrap:anywhere;text-decoration:none}.toc-scroll{max-height:100vh;overflow-y:scroll}.contents:not(.this-will-duplicate-information-and-it-is-still-useful-here){background:rgba(255,0,0,.25);color:var(--color-problematic)}.contents:not(.this-will-duplicate-information-and-it-is-still-useful-here):before{content:"ERROR: Adding a table of contents in Furo-based documentation is unnecessary, and does not work well with existing styling. Add a 'this-will-duplicate-information-and-it-is-still-useful-here' class, if you want an escape hatch."}.text-align\:left>p{text-align:left}.text-align\:center>p{text-align:center}.text-align\:right>p{text-align:right} +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}@media print{.content-icon-container,.headerlink,.mobile-header,.related-pages{display:none!important}.highlight{border:.1pt solid var(--color-foreground-border)}a,blockquote,dl,ol,p,pre,table,ul{page-break-inside:avoid}caption,figure,h1,h2,h3,h4,h5,h6,img{page-break-after:avoid;page-break-inside:avoid}dl,ol,ul{page-break-before:avoid}}.visually-hidden{height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;clip:rect(0,0,0,0)!important;background:var(--color-background-primary);border:0!important;color:var(--color-foreground-primary);white-space:nowrap!important}:-moz-focusring{outline:auto}body{--font-stack:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;--font-stack--monospace:"SFMono-Regular",Menlo,Consolas,Monaco,Liberation Mono,Lucida Console,monospace;--font-stack--headings:var(--font-stack);--font-size--normal:100%;--font-size--small:87.5%;--font-size--small--2:81.25%;--font-size--small--3:75%;--font-size--small--4:62.5%;--sidebar-caption-font-size:var(--font-size--small--2);--sidebar-item-font-size:var(--font-size--small);--sidebar-search-input-font-size:var(--font-size--small);--toc-font-size:var(--font-size--small--3);--toc-font-size--mobile:var(--font-size--normal);--toc-title-font-size:var(--font-size--small--4);--admonition-font-size:0.8125rem;--admonition-title-font-size:0.8125rem;--code-font-size:var(--font-size--small--2);--api-font-size:var(--font-size--small);--header-height:calc(var(--sidebar-item-line-height) + var(--sidebar-item-spacing-vertical)*4);--header-padding:0.5rem;--sidebar-tree-space-above:1.5rem;--sidebar-caption-space-above:1rem;--sidebar-item-line-height:1rem;--sidebar-item-spacing-vertical:0.5rem;--sidebar-item-spacing-horizontal:1rem;--sidebar-item-height:calc(var(--sidebar-item-line-height) + var(--sidebar-item-spacing-vertical)*2);--sidebar-expander-width:var(--sidebar-item-height);--sidebar-search-space-above:0.5rem;--sidebar-search-input-spacing-vertical:0.5rem;--sidebar-search-input-spacing-horizontal:0.5rem;--sidebar-search-input-height:1rem;--sidebar-search-icon-size:var(--sidebar-search-input-height);--toc-title-padding:0.25rem 0;--toc-spacing-vertical:1.5rem;--toc-spacing-horizontal:1.5rem;--toc-item-spacing-vertical:0.4rem;--toc-item-spacing-horizontal:1rem;--icon-search:url('data:image/svg+xml;charset=utf-8,');--icon-pencil:url('data:image/svg+xml;charset=utf-8,');--icon-abstract:url('data:image/svg+xml;charset=utf-8,');--icon-info:url('data:image/svg+xml;charset=utf-8,');--icon-flame:url('data:image/svg+xml;charset=utf-8,');--icon-question:url('data:image/svg+xml;charset=utf-8,');--icon-warning:url('data:image/svg+xml;charset=utf-8,');--icon-failure:url('data:image/svg+xml;charset=utf-8,');--icon-spark:url('data:image/svg+xml;charset=utf-8,');--color-admonition-title--caution:#ff9100;--color-admonition-title-background--caution:rgba(255,145,0,.2);--color-admonition-title--warning:#ff9100;--color-admonition-title-background--warning:rgba(255,145,0,.2);--color-admonition-title--danger:#ff5252;--color-admonition-title-background--danger:rgba(255,82,82,.2);--color-admonition-title--attention:#ff5252;--color-admonition-title-background--attention:rgba(255,82,82,.2);--color-admonition-title--error:#ff5252;--color-admonition-title-background--error:rgba(255,82,82,.2);--color-admonition-title--hint:#00c852;--color-admonition-title-background--hint:rgba(0,200,82,.2);--color-admonition-title--tip:#00c852;--color-admonition-title-background--tip:rgba(0,200,82,.2);--color-admonition-title--important:#00bfa5;--color-admonition-title-background--important:rgba(0,191,165,.2);--color-admonition-title--note:#00b0ff;--color-admonition-title-background--note:rgba(0,176,255,.2);--color-admonition-title--seealso:#448aff;--color-admonition-title-background--seealso:rgba(68,138,255,.2);--color-admonition-title--admonition-todo:grey;--color-admonition-title-background--admonition-todo:hsla(0,0%,50%,.2);--color-admonition-title:#651fff;--color-admonition-title-background:rgba(101,31,255,.2);--icon-admonition-default:var(--icon-abstract);--color-topic-title:#14b8a6;--color-topic-title-background:rgba(20,184,166,.2);--icon-topic-default:var(--icon-pencil);--color-problematic:#b30000;--color-foreground-primary:#000;--color-foreground-secondary:#5a5c63;--color-foreground-muted:#6b6f76;--color-foreground-border:#878787;--color-background-primary:#fff;--color-background-secondary:#f8f9fb;--color-background-hover:#efeff4;--color-background-hover--transparent:#efeff400;--color-background-border:#eeebee;--color-background-item:#ccc;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#0a4bff;--color-brand-content:#2757dd;--color-brand-visited:#872ee0;--color-api-background:var(--color-background-hover--transparent);--color-api-background-hover:var(--color-background-hover);--color-api-overall:var(--color-foreground-secondary);--color-api-name:var(--color-problematic);--color-api-pre-name:var(--color-problematic);--color-api-paren:var(--color-foreground-secondary);--color-api-keyword:var(--color-foreground-primary);--color-api-added:#21632c;--color-api-added-border:#38a84d;--color-api-changed:#046172;--color-api-changed-border:#06a1bc;--color-api-deprecated:#605706;--color-api-deprecated-border:#f0d90f;--color-api-removed:#b30000;--color-api-removed-border:#ff5c5c;--color-highlight-on-target:#ffc;--color-inline-code-background:var(--color-background-secondary);--color-highlighted-background:#def;--color-highlighted-text:var(--color-foreground-primary);--color-guilabel-background:#ddeeff80;--color-guilabel-border:#bedaf580;--color-guilabel-text:var(--color-foreground-primary);--color-admonition-background:transparent;--color-table-header-background:var(--color-background-secondary);--color-table-border:var(--color-background-border);--color-card-border:var(--color-background-secondary);--color-card-background:transparent;--color-card-marginals-background:var(--color-background-secondary);--color-header-background:var(--color-background-primary);--color-header-border:var(--color-background-border);--color-header-text:var(--color-foreground-primary);--color-sidebar-background:var(--color-background-secondary);--color-sidebar-background-border:var(--color-background-border);--color-sidebar-brand-text:var(--color-foreground-primary);--color-sidebar-caption-text:var(--color-foreground-muted);--color-sidebar-link-text:var(--color-foreground-secondary);--color-sidebar-link-text--top-level:var(--color-brand-primary);--color-sidebar-item-background:var(--color-sidebar-background);--color-sidebar-item-background--current:var( --color-sidebar-item-background );--color-sidebar-item-background--hover:linear-gradient(90deg,var(--color-background-hover--transparent) 0%,var(--color-background-hover) var(--sidebar-item-spacing-horizontal),var(--color-background-hover) 100%);--color-sidebar-item-expander-background:transparent;--color-sidebar-item-expander-background--hover:var( --color-background-hover );--color-sidebar-search-text:var(--color-foreground-primary);--color-sidebar-search-background:var(--color-background-secondary);--color-sidebar-search-background--focus:var(--color-background-primary);--color-sidebar-search-border:var(--color-background-border);--color-sidebar-search-icon:var(--color-foreground-muted);--color-toc-background:var(--color-background-primary);--color-toc-title-text:var(--color-foreground-muted);--color-toc-item-text:var(--color-foreground-secondary);--color-toc-item-text--hover:var(--color-foreground-primary);--color-toc-item-text--active:var(--color-brand-primary);--color-content-foreground:var(--color-foreground-primary);--color-content-background:transparent;--color-link:var(--color-brand-content);--color-link-underline:var(--color-background-border);--color-link--hover:var(--color-brand-content);--color-link-underline--hover:var(--color-foreground-border);--color-link--visited:var(--color-brand-visited);--color-link-underline--visited:var(--color-background-border);--color-link--visited--hover:var(--color-brand-visited);--color-link-underline--visited--hover:var(--color-foreground-border)}.only-light{display:block!important}html body .only-dark{display:none!important}@media not print{body[data-theme=dark]{--color-problematic:#ee5151;--color-foreground-primary:#cfd0d0;--color-foreground-secondary:#9ca0a5;--color-foreground-muted:#81868d;--color-foreground-border:#666;--color-background-primary:#131416;--color-background-secondary:#1a1c1e;--color-background-hover:#1e2124;--color-background-hover--transparent:#1e212400;--color-background-border:#303335;--color-background-item:#444;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#3d94ff;--color-brand-content:#5ca5ff;--color-brand-visited:#b27aeb;--color-highlighted-background:#083563;--color-guilabel-background:#08356380;--color-guilabel-border:#13395f80;--color-api-keyword:var(--color-foreground-secondary);--color-highlight-on-target:#330;--color-api-added:#3db854;--color-api-added-border:#267334;--color-api-changed:#09b0ce;--color-api-changed-border:#056d80;--color-api-deprecated:#b1a10b;--color-api-deprecated-border:#6e6407;--color-api-removed:#ff7575;--color-api-removed-border:#b03b3b;--color-admonition-background:#18181a;--color-card-border:var(--color-background-secondary);--color-card-background:#18181a;--color-card-marginals-background:var(--color-background-hover)}html body[data-theme=dark] .only-light{display:none!important}body[data-theme=dark] .only-dark{display:block!important}@media(prefers-color-scheme:dark){body:not([data-theme=light]){--color-problematic:#ee5151;--color-foreground-primary:#cfd0d0;--color-foreground-secondary:#9ca0a5;--color-foreground-muted:#81868d;--color-foreground-border:#666;--color-background-primary:#131416;--color-background-secondary:#1a1c1e;--color-background-hover:#1e2124;--color-background-hover--transparent:#1e212400;--color-background-border:#303335;--color-background-item:#444;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#3d94ff;--color-brand-content:#5ca5ff;--color-brand-visited:#b27aeb;--color-highlighted-background:#083563;--color-guilabel-background:#08356380;--color-guilabel-border:#13395f80;--color-api-keyword:var(--color-foreground-secondary);--color-highlight-on-target:#330;--color-api-added:#3db854;--color-api-added-border:#267334;--color-api-changed:#09b0ce;--color-api-changed-border:#056d80;--color-api-deprecated:#b1a10b;--color-api-deprecated-border:#6e6407;--color-api-removed:#ff7575;--color-api-removed-border:#b03b3b;--color-admonition-background:#18181a;--color-card-border:var(--color-background-secondary);--color-card-background:#18181a;--color-card-marginals-background:var(--color-background-hover)}html body:not([data-theme=light]) .only-light{display:none!important}body:not([data-theme=light]) .only-dark{display:block!important}}}body[data-theme=auto] .theme-toggle svg.theme-icon-when-auto-light{display:block}@media(prefers-color-scheme:dark){body[data-theme=auto] .theme-toggle svg.theme-icon-when-auto-dark{display:block}body[data-theme=auto] .theme-toggle svg.theme-icon-when-auto-light{display:none}}body[data-theme=dark] .theme-toggle svg.theme-icon-when-dark,body[data-theme=light] .theme-toggle svg.theme-icon-when-light{display:block}body{font-family:var(--font-stack)}code,kbd,pre,samp{font-family:var(--font-stack--monospace)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}article{line-height:1.5}h1,h2,h3,h4,h5,h6{border-radius:.5rem;font-family:var(--font-stack--headings);font-weight:700;line-height:1.25;margin:.5rem -.5rem;padding-left:.5rem;padding-right:.5rem}h1+p,h2+p,h3+p,h4+p,h5+p,h6+p{margin-top:0}h1{font-size:2.5em;margin-bottom:1rem}h1,h2{margin-top:1.75rem}h2{font-size:2em}h3{font-size:1.5em}h4{font-size:1.25em}h5{font-size:1.125em}h6{font-size:1em}small{font-size:80%;opacity:75%}p{margin-bottom:.75rem;margin-top:.5rem}hr.docutils{background-color:var(--color-background-border);border:0;height:1px;margin:2rem 0;padding:0}.centered{text-align:center}a{color:var(--color-link);text-decoration:underline;text-decoration-color:var(--color-link-underline)}a:visited{color:var(--color-link--visited);text-decoration-color:var(--color-link-underline--visited)}a:visited:hover{color:var(--color-link--visited--hover);text-decoration-color:var(--color-link-underline--visited--hover)}a:hover{color:var(--color-link--hover);text-decoration-color:var(--color-link-underline--hover)}a.muted-link{color:inherit}a.muted-link:hover{color:var(--color-link--hover);text-decoration-color:var(--color-link-underline--hover)}a.muted-link:hover:visited{color:var(--color-link--visited--hover);text-decoration-color:var(--color-link-underline--visited--hover)}html{overflow-x:hidden;overflow-y:scroll;scroll-behavior:smooth}.sidebar-scroll,.toc-scroll,article[role=main] *{scrollbar-color:var(--color-foreground-border) transparent;scrollbar-width:thin}.sidebar-scroll::-webkit-scrollbar,.toc-scroll::-webkit-scrollbar,article[role=main] ::-webkit-scrollbar{height:.25rem;width:.25rem}.sidebar-scroll::-webkit-scrollbar-thumb,.toc-scroll::-webkit-scrollbar-thumb,article[role=main] ::-webkit-scrollbar-thumb{background-color:var(--color-foreground-border);border-radius:.125rem}body,html{height:100%}.skip-to-content,body,html{background:var(--color-background-primary);color:var(--color-foreground-primary)}.skip-to-content{border-radius:1rem;left:.25rem;padding:1rem;position:fixed;top:.25rem;transform:translateY(-200%);transition:transform .3s ease-in-out;z-index:40}.skip-to-content:focus-within{transform:translateY(0)}article{background:var(--color-content-background);color:var(--color-content-foreground);overflow-wrap:break-word}.page{display:flex;min-height:100%}.mobile-header{background-color:var(--color-header-background);border-bottom:1px solid var(--color-header-border);color:var(--color-header-text);display:none;height:var(--header-height);width:100%;z-index:10}.mobile-header.scrolled{border-bottom:none;box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2)}.mobile-header .header-center a{color:var(--color-header-text);text-decoration:none}.main{display:flex;flex:1}.sidebar-drawer{background:var(--color-sidebar-background);border-right:1px solid var(--color-sidebar-background-border);box-sizing:border-box;display:flex;justify-content:flex-end;min-width:15em;width:calc(50% - 26em)}.sidebar-container,.toc-drawer{box-sizing:border-box;width:15em}.toc-drawer{background:var(--color-toc-background);padding-right:1rem}.sidebar-sticky,.toc-sticky{display:flex;flex-direction:column;height:min(100%,100vh);height:100vh;position:sticky;top:0}.sidebar-scroll,.toc-scroll{flex-grow:1;flex-shrink:1;overflow:auto;scroll-behavior:smooth}.content{display:flex;flex-direction:column;justify-content:space-between;padding:0 3em;width:46em}.icon{display:inline-block;height:1rem;width:1rem}.icon svg{height:100%;width:100%}.announcement{align-items:center;background-color:var(--color-announcement-background);color:var(--color-announcement-text);display:flex;height:var(--header-height);overflow-x:auto}.announcement+.page{min-height:calc(100% - var(--header-height))}.announcement-content{box-sizing:border-box;min-width:100%;padding:.5rem;text-align:center;white-space:nowrap}.announcement-content a{color:var(--color-announcement-text);text-decoration-color:var(--color-announcement-text)}.announcement-content a:hover{color:var(--color-announcement-text);text-decoration-color:var(--color-link--hover)}.no-js .theme-toggle-container{display:none}.theme-toggle-container{display:flex}.theme-toggle{background:transparent;border:none;cursor:pointer;display:flex;padding:0}.theme-toggle svg{color:var(--color-foreground-primary);display:none;height:1.25rem;width:1.25rem}.theme-toggle-header{align-items:center;display:flex;justify-content:center}.nav-overlay-icon,.toc-overlay-icon{cursor:pointer;display:none}.nav-overlay-icon .icon,.toc-overlay-icon .icon{color:var(--color-foreground-secondary);height:1.5rem;width:1.5rem}.nav-overlay-icon,.toc-header-icon{align-items:center;justify-content:center}.toc-content-icon{height:1.5rem;width:1.5rem}.content-icon-container{display:flex;float:right;gap:.5rem;margin-bottom:1rem;margin-left:1rem;margin-top:1.5rem}.content-icon-container .edit-this-page svg,.content-icon-container .view-this-page svg{color:inherit;height:1.25rem;width:1.25rem}.sidebar-toggle{display:none;position:absolute}.sidebar-toggle[name=__toc]{left:20px}.sidebar-toggle:checked{left:40px}.overlay{background-color:rgba(0,0,0,.54);height:0;opacity:0;position:fixed;top:0;transition:width 0ms,height 0ms,opacity .25s ease-out;width:0}.sidebar-overlay{z-index:20}.toc-overlay{z-index:40}.sidebar-drawer{transition:left .25s ease-in-out;z-index:30}.toc-drawer{transition:right .25s ease-in-out;z-index:50}#__navigation:checked~.sidebar-overlay{height:100%;opacity:1;width:100%}#__navigation:checked~.page .sidebar-drawer{left:0;top:0}#__toc:checked~.toc-overlay{height:100%;opacity:1;width:100%}#__toc:checked~.page .toc-drawer{right:0;top:0}.back-to-top{background:var(--color-background-primary);border-radius:1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 1px 0 hsla(220,9%,46%,.502);display:none;font-size:.8125rem;left:0;margin-left:50%;padding:.5rem .75rem .5rem .5rem;position:fixed;text-decoration:none;top:1rem;transform:translateX(-50%);z-index:10}.back-to-top svg{height:1rem;width:1rem;fill:currentColor;display:inline-block}.back-to-top span{margin-left:.25rem}.show-back-to-top .back-to-top{align-items:center;display:flex}@media(min-width:97em){html{font-size:110%}}@media(max-width:82em){.toc-content-icon{display:flex}.toc-drawer{border-left:1px solid var(--color-background-muted);height:100vh;position:fixed;right:-15em;top:0}.toc-tree{border-left:none;font-size:var(--toc-font-size--mobile)}.sidebar-drawer{width:calc(50% - 18.5em)}}@media(max-width:67em){.content{margin-left:auto;margin-right:auto;padding:0 1em}}@media(max-width:63em){.nav-overlay-icon{display:flex}.sidebar-drawer{height:100vh;left:-15em;position:fixed;top:0;width:15em}.theme-toggle-header,.toc-header-icon{display:flex}.theme-toggle-content,.toc-content-icon{display:none}.mobile-header{align-items:center;display:flex;justify-content:space-between;position:sticky;top:0}.mobile-header .header-left,.mobile-header .header-right{display:flex;height:var(--header-height);padding:0 var(--header-padding)}.mobile-header .header-left label,.mobile-header .header-right label{height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.nav-overlay-icon .icon,.theme-toggle svg{height:1.5rem;width:1.5rem}:target{scroll-margin-top:calc(var(--header-height) + 2.5rem)}.back-to-top{top:calc(var(--header-height) + .5rem)}.page{flex-direction:column;justify-content:center}}@media(max-width:48em){.content{overflow-x:auto;width:100%}}@media(max-width:46em){article[role=main] aside.sidebar{float:none;margin:1rem 0;width:100%}}.admonition,.topic{background:var(--color-admonition-background);border-radius:.2rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1);font-size:var(--admonition-font-size);margin:1rem auto;overflow:hidden;padding:0 .5rem .5rem;page-break-inside:avoid}.admonition>:nth-child(2),.topic>:nth-child(2){margin-top:0}.admonition>:last-child,.topic>:last-child{margin-bottom:0}.admonition p.admonition-title,p.topic-title{font-size:var(--admonition-title-font-size);font-weight:500;line-height:1.3;margin:0 -.5rem .5rem;padding:.4rem .5rem .4rem 2rem;position:relative}.admonition p.admonition-title:before,p.topic-title:before{content:"";height:1rem;left:.5rem;position:absolute;width:1rem}p.admonition-title{background-color:var(--color-admonition-title-background)}p.admonition-title:before{background-color:var(--color-admonition-title);-webkit-mask-image:var(--icon-admonition-default);mask-image:var(--icon-admonition-default);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}p.topic-title{background-color:var(--color-topic-title-background)}p.topic-title:before{background-color:var(--color-topic-title);-webkit-mask-image:var(--icon-topic-default);mask-image:var(--icon-topic-default);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.admonition{border-left:.2rem solid var(--color-admonition-title)}.admonition.caution{border-left-color:var(--color-admonition-title--caution)}.admonition.caution>.admonition-title{background-color:var(--color-admonition-title-background--caution)}.admonition.caution>.admonition-title:before{background-color:var(--color-admonition-title--caution);-webkit-mask-image:var(--icon-spark);mask-image:var(--icon-spark)}.admonition.warning{border-left-color:var(--color-admonition-title--warning)}.admonition.warning>.admonition-title{background-color:var(--color-admonition-title-background--warning)}.admonition.warning>.admonition-title:before{background-color:var(--color-admonition-title--warning);-webkit-mask-image:var(--icon-warning);mask-image:var(--icon-warning)}.admonition.danger{border-left-color:var(--color-admonition-title--danger)}.admonition.danger>.admonition-title{background-color:var(--color-admonition-title-background--danger)}.admonition.danger>.admonition-title:before{background-color:var(--color-admonition-title--danger);-webkit-mask-image:var(--icon-spark);mask-image:var(--icon-spark)}.admonition.attention{border-left-color:var(--color-admonition-title--attention)}.admonition.attention>.admonition-title{background-color:var(--color-admonition-title-background--attention)}.admonition.attention>.admonition-title:before{background-color:var(--color-admonition-title--attention);-webkit-mask-image:var(--icon-warning);mask-image:var(--icon-warning)}.admonition.error{border-left-color:var(--color-admonition-title--error)}.admonition.error>.admonition-title{background-color:var(--color-admonition-title-background--error)}.admonition.error>.admonition-title:before{background-color:var(--color-admonition-title--error);-webkit-mask-image:var(--icon-failure);mask-image:var(--icon-failure)}.admonition.hint{border-left-color:var(--color-admonition-title--hint)}.admonition.hint>.admonition-title{background-color:var(--color-admonition-title-background--hint)}.admonition.hint>.admonition-title:before{background-color:var(--color-admonition-title--hint);-webkit-mask-image:var(--icon-question);mask-image:var(--icon-question)}.admonition.tip{border-left-color:var(--color-admonition-title--tip)}.admonition.tip>.admonition-title{background-color:var(--color-admonition-title-background--tip)}.admonition.tip>.admonition-title:before{background-color:var(--color-admonition-title--tip);-webkit-mask-image:var(--icon-info);mask-image:var(--icon-info)}.admonition.important{border-left-color:var(--color-admonition-title--important)}.admonition.important>.admonition-title{background-color:var(--color-admonition-title-background--important)}.admonition.important>.admonition-title:before{background-color:var(--color-admonition-title--important);-webkit-mask-image:var(--icon-flame);mask-image:var(--icon-flame)}.admonition.note{border-left-color:var(--color-admonition-title--note)}.admonition.note>.admonition-title{background-color:var(--color-admonition-title-background--note)}.admonition.note>.admonition-title:before{background-color:var(--color-admonition-title--note);-webkit-mask-image:var(--icon-pencil);mask-image:var(--icon-pencil)}.admonition.seealso{border-left-color:var(--color-admonition-title--seealso)}.admonition.seealso>.admonition-title{background-color:var(--color-admonition-title-background--seealso)}.admonition.seealso>.admonition-title:before{background-color:var(--color-admonition-title--seealso);-webkit-mask-image:var(--icon-info);mask-image:var(--icon-info)}.admonition.admonition-todo{border-left-color:var(--color-admonition-title--admonition-todo)}.admonition.admonition-todo>.admonition-title{background-color:var(--color-admonition-title-background--admonition-todo)}.admonition.admonition-todo>.admonition-title:before{background-color:var(--color-admonition-title--admonition-todo);-webkit-mask-image:var(--icon-pencil);mask-image:var(--icon-pencil)}.admonition-todo>.admonition-title{text-transform:uppercase}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd{margin-left:2rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd>:first-child{margin-top:.125rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list,dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd>:last-child{margin-bottom:.75rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list>dt{font-size:var(--font-size--small);text-transform:uppercase}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd:empty{margin-bottom:.5rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul{margin-left:-1.2rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul>li>p:nth-child(2){margin-top:0}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul>li>p+p:last-child:empty{margin-bottom:0;margin-top:0}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)>dt{color:var(--color-api-overall)}.sig:not(.sig-inline){background:var(--color-api-background);border-radius:.25rem;font-family:var(--font-stack--monospace);font-size:var(--api-font-size);font-weight:700;margin-left:-.25rem;margin-right:-.25rem;padding:.25rem .5rem .25rem 3em;text-indent:-2.5em;transition:background .1s ease-out}.sig:not(.sig-inline):hover{background:var(--color-api-background-hover)}.sig:not(.sig-inline) a.reference .viewcode-link{font-weight:400;width:4.25rem}em.property{font-style:normal}em.property:first-child{color:var(--color-api-keyword)}.sig-name{color:var(--color-api-name)}.sig-prename{color:var(--color-api-pre-name);font-weight:400}.sig-paren{color:var(--color-api-paren)}.sig-param{font-style:normal}div.deprecated,div.versionadded,div.versionchanged,div.versionremoved{border-left:.1875rem solid;border-radius:.125rem;padding-left:.75rem}div.deprecated p,div.versionadded p,div.versionchanged p,div.versionremoved p{margin-bottom:.125rem;margin-top:.125rem}div.versionadded{border-color:var(--color-api-added-border)}div.versionadded .versionmodified{color:var(--color-api-added)}div.versionchanged{border-color:var(--color-api-changed-border)}div.versionchanged .versionmodified{color:var(--color-api-changed)}div.deprecated{border-color:var(--color-api-deprecated-border)}div.deprecated .versionmodified{color:var(--color-api-deprecated)}div.versionremoved{border-color:var(--color-api-removed-border)}div.versionremoved .versionmodified{color:var(--color-api-removed)}.viewcode-back,.viewcode-link{float:right;text-align:right}.line-block{margin-bottom:.75rem;margin-top:.5rem}.line-block .line-block{margin-bottom:0;margin-top:0;padding-left:1rem}.code-block-caption,article p.caption,table>caption{font-size:var(--font-size--small);text-align:center}.toctree-wrapper.compound .caption,.toctree-wrapper.compound :not(.caption)>.caption-text{font-size:var(--font-size--small);margin-bottom:0;text-align:initial;text-transform:uppercase}.toctree-wrapper.compound>ul{margin-bottom:0;margin-top:0}.sig-inline,code.literal{background:var(--color-inline-code-background);border-radius:.2em;font-size:var(--font-size--small--2);padding:.1em .2em}pre.literal-block .sig-inline,pre.literal-block code.literal{font-size:inherit;padding:0}p .sig-inline,p code.literal{border:1px solid var(--color-background-border)}.sig-inline{font-family:var(--font-stack--monospace)}div[class*=" highlight-"],div[class^=highlight-]{display:flex;margin:1em 0}div[class*=" highlight-"] .table-wrapper,div[class^=highlight-] .table-wrapper,pre{margin:0;padding:0}pre{overflow:auto}article[role=main] .highlight pre{line-height:1.5}.highlight pre,pre.literal-block{font-size:var(--code-font-size);padding:.625rem .875rem}pre.literal-block{background-color:var(--color-code-background);border-radius:.2rem;color:var(--color-code-foreground);margin-bottom:1rem;margin-top:1rem}.highlight{border-radius:.2rem;width:100%}.highlight .gp,.highlight span.linenos{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.highlight .hll{display:block;margin-left:-.875rem;margin-right:-.875rem;padding-left:.875rem;padding-right:.875rem}.code-block-caption{background-color:var(--color-code-background);border-bottom:1px solid;border-radius:.25rem;border-bottom-left-radius:0;border-bottom-right-radius:0;border-color:var(--color-background-border);color:var(--color-code-foreground);display:flex;font-weight:300;padding:.625rem .875rem}.code-block-caption+div[class]{margin-top:0}.code-block-caption+div[class] pre{border-top-left-radius:0;border-top-right-radius:0}.highlighttable{display:block;width:100%}.highlighttable tbody{display:block}.highlighttable tr{display:flex}.highlighttable td.linenos{background-color:var(--color-code-background);border-bottom-left-radius:.2rem;border-top-left-radius:.2rem;color:var(--color-code-foreground);padding:.625rem 0 .625rem .875rem}.highlighttable .linenodiv{box-shadow:-.0625rem 0 var(--color-foreground-border) inset;font-size:var(--code-font-size);padding-right:.875rem}.highlighttable td.code{display:block;flex:1;overflow:hidden;padding:0}.highlighttable td.code .highlight{border-bottom-left-radius:0;border-top-left-radius:0}.highlight span.linenos{box-shadow:-.0625rem 0 var(--color-foreground-border) inset;display:inline-block;margin-right:.875rem;padding-left:0;padding-right:.875rem}.footnote-reference{font-size:var(--font-size--small--4);vertical-align:super}dl.footnote.brackets{color:var(--color-foreground-secondary);display:grid;font-size:var(--font-size--small);grid-template-columns:max-content auto}dl.footnote.brackets dt{margin:0}dl.footnote.brackets dt>.fn-backref{margin-left:.25rem}dl.footnote.brackets dt:after{content:":"}dl.footnote.brackets dt .brackets:before{content:"["}dl.footnote.brackets dt .brackets:after{content:"]"}dl.footnote.brackets dd{margin:0;padding:0 1rem}aside.footnote{color:var(--color-foreground-secondary);font-size:var(--font-size--small)}aside.footnote>span,div.citation>span{float:left;font-weight:500;padding-right:.25rem}aside.footnote>:not(span),div.citation>p{margin-left:2rem}img{box-sizing:border-box;height:auto;max-width:100%}article .figure,article figure{border-radius:.2rem;margin:0}article .figure :last-child,article figure :last-child{margin-bottom:0}article .align-left{clear:left;float:left;margin:0 1rem 1rem}article .align-right{clear:right;float:right;margin:0 1rem 1rem}article .align-center,article .align-default{display:block;margin-left:auto;margin-right:auto;text-align:center}article table.align-default{display:table;text-align:initial}.domainindex-jumpbox,.genindex-jumpbox{border-bottom:1px solid var(--color-background-border);border-top:1px solid var(--color-background-border);padding:.25rem}.domainindex-section h2,.genindex-section h2{margin-bottom:.5rem;margin-top:.75rem}.domainindex-section ul,.genindex-section ul{margin-bottom:0;margin-top:0}ol,ul{margin-bottom:1rem;margin-top:1rem;padding-left:1.2rem}ol li>p:first-child,ul li>p:first-child{margin-bottom:.25rem;margin-top:.25rem}ol li>p:last-child,ul li>p:last-child{margin-top:.25rem}ol li>ol,ol li>ul,ul li>ol,ul li>ul{margin-bottom:.5rem;margin-top:.5rem}ol.arabic{list-style:decimal}ol.loweralpha{list-style:lower-alpha}ol.upperalpha{list-style:upper-alpha}ol.lowerroman{list-style:lower-roman}ol.upperroman{list-style:upper-roman}.simple li>ol,.simple li>ul,.toctree-wrapper li>ol,.toctree-wrapper li>ul{margin-bottom:0;margin-top:0}.field-list dt,.option-list dt,dl.footnote dt,dl.glossary dt,dl.simple dt,dl:not([class]) dt{font-weight:500;margin-top:.25rem}.field-list dt+dt,.option-list dt+dt,dl.footnote dt+dt,dl.glossary dt+dt,dl.simple dt+dt,dl:not([class]) dt+dt{margin-top:0}.field-list dt .classifier:before,.option-list dt .classifier:before,dl.footnote dt .classifier:before,dl.glossary dt .classifier:before,dl.simple dt .classifier:before,dl:not([class]) dt .classifier:before{content:":";margin-left:.2rem;margin-right:.2rem}.field-list dd ul,.field-list dd>p:first-child,.option-list dd ul,.option-list dd>p:first-child,dl.footnote dd ul,dl.footnote dd>p:first-child,dl.glossary dd ul,dl.glossary dd>p:first-child,dl.simple dd ul,dl.simple dd>p:first-child,dl:not([class]) dd ul,dl:not([class]) dd>p:first-child{margin-top:.125rem}.field-list dd ul,.option-list dd ul,dl.footnote dd ul,dl.glossary dd ul,dl.simple dd ul,dl:not([class]) dd ul{margin-bottom:.125rem}.math-wrapper{overflow-x:auto;width:100%}div.math{position:relative;text-align:center}div.math .headerlink,div.math:focus .headerlink{display:none}div.math:hover .headerlink{display:inline-block}div.math span.eqno{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);z-index:1}abbr[title]{cursor:help}.problematic{color:var(--color-problematic)}kbd:not(.compound){background-color:var(--color-background-secondary);border:1px solid var(--color-foreground-border);border-radius:.2rem;box-shadow:0 .0625rem 0 rgba(0,0,0,.2),inset 0 0 0 .125rem var(--color-background-primary);color:var(--color-foreground-primary);display:inline-block;font-size:var(--font-size--small--3);margin:0 .2rem;padding:0 .2rem;vertical-align:text-bottom}blockquote{background:var(--color-background-secondary);border-left:4px solid var(--color-background-border);margin-left:0;margin-right:0;padding:.5rem 1rem}blockquote .attribution{font-weight:600;text-align:right}blockquote.highlights,blockquote.pull-quote{font-size:1.25em}blockquote.epigraph,blockquote.pull-quote{border-left-width:0;border-radius:.5rem}blockquote.highlights{background:transparent;border-left-width:0}p .reference img{vertical-align:middle}p.rubric{font-size:1.125em;font-weight:700;line-height:1.25}dd p.rubric{font-size:var(--font-size--small);font-weight:inherit;line-height:inherit;text-transform:uppercase}article .sidebar{background-color:var(--color-background-secondary);border:1px solid var(--color-background-border);border-radius:.2rem;clear:right;float:right;margin-left:1rem;margin-right:0;width:30%}article .sidebar>*{padding-left:1rem;padding-right:1rem}article .sidebar>ol,article .sidebar>ul{padding-left:2.2rem}article .sidebar .sidebar-title{border-bottom:1px solid var(--color-background-border);font-weight:500;margin:0;padding:.5rem 1rem}[role=main] .table-wrapper.container{margin-bottom:.5rem;margin-top:1rem;overflow-x:auto;padding:.2rem .2rem .75rem;width:100%}table.docutils{border-collapse:collapse;border-radius:.2rem;border-spacing:0;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1)}table.docutils th{background:var(--color-table-header-background)}table.docutils td,table.docutils th{border-bottom:1px solid var(--color-table-border);border-left:1px solid var(--color-table-border);border-right:1px solid var(--color-table-border);padding:0 .25rem}table.docutils td p,table.docutils th p{margin:.25rem}table.docutils td:first-child,table.docutils th:first-child{border-left:none}table.docutils td:last-child,table.docutils th:last-child{border-right:none}table.docutils td.text-left,table.docutils th.text-left{text-align:left}table.docutils td.text-right,table.docutils th.text-right{text-align:right}table.docutils td.text-center,table.docutils th.text-center{text-align:center}:target{scroll-margin-top:2.5rem}@media(max-width:67em){:target{scroll-margin-top:calc(2.5rem + var(--header-height))}section>span:target{scroll-margin-top:calc(2.8rem + var(--header-height))}}.headerlink{font-weight:100;-webkit-user-select:none;-moz-user-select:none;user-select:none}.code-block-caption>.headerlink,dl dt>.headerlink,figcaption p>.headerlink,h1>.headerlink,h2>.headerlink,h3>.headerlink,h4>.headerlink,h5>.headerlink,h6>.headerlink,p.caption>.headerlink,table>caption>.headerlink{margin-left:.5rem;visibility:hidden}.code-block-caption:hover>.headerlink,dl dt:hover>.headerlink,figcaption p:hover>.headerlink,h1:hover>.headerlink,h2:hover>.headerlink,h3:hover>.headerlink,h4:hover>.headerlink,h5:hover>.headerlink,h6:hover>.headerlink,p.caption:hover>.headerlink,table>caption:hover>.headerlink{visibility:visible}.code-block-caption>.toc-backref,dl dt>.toc-backref,figcaption p>.toc-backref,h1>.toc-backref,h2>.toc-backref,h3>.toc-backref,h4>.toc-backref,h5>.toc-backref,h6>.toc-backref,p.caption>.toc-backref,table>caption>.toc-backref{color:inherit;text-decoration-line:none}figure:hover>figcaption>p>.headerlink,table:hover>caption>.headerlink{visibility:visible}:target>h1:first-of-type,:target>h2:first-of-type,:target>h3:first-of-type,:target>h4:first-of-type,:target>h5:first-of-type,:target>h6:first-of-type,span:target~h1:first-of-type,span:target~h2:first-of-type,span:target~h3:first-of-type,span:target~h4:first-of-type,span:target~h5:first-of-type,span:target~h6:first-of-type{background-color:var(--color-highlight-on-target)}:target>h1:first-of-type code.literal,:target>h2:first-of-type code.literal,:target>h3:first-of-type code.literal,:target>h4:first-of-type code.literal,:target>h5:first-of-type code.literal,:target>h6:first-of-type code.literal,span:target~h1:first-of-type code.literal,span:target~h2:first-of-type code.literal,span:target~h3:first-of-type code.literal,span:target~h4:first-of-type code.literal,span:target~h5:first-of-type code.literal,span:target~h6:first-of-type code.literal{background-color:transparent}.literal-block-wrapper:target .code-block-caption,.this-will-duplicate-information-and-it-is-still-useful-here li :target,figure:target,table:target>caption{background-color:var(--color-highlight-on-target)}dt:target{background-color:var(--color-highlight-on-target)!important}.footnote-reference:target,.footnote>dt:target+dd{background-color:var(--color-highlight-on-target)}.guilabel{background-color:var(--color-guilabel-background);border:1px solid var(--color-guilabel-border);border-radius:.5em;color:var(--color-guilabel-text);font-size:.9em;padding:0 .3em}footer{display:flex;flex-direction:column;font-size:var(--font-size--small);margin-top:2rem}.bottom-of-page{align-items:center;border-top:1px solid var(--color-background-border);color:var(--color-foreground-secondary);display:flex;justify-content:space-between;line-height:1.5;margin-top:1rem;padding-bottom:1rem;padding-top:1rem}@media(max-width:46em){.bottom-of-page{flex-direction:column-reverse;gap:.25rem;text-align:center}}.bottom-of-page .left-details{font-size:var(--font-size--small)}.bottom-of-page .right-details{display:flex;flex-direction:column;gap:.25rem;text-align:right}.bottom-of-page .icons{display:flex;font-size:1rem;gap:.25rem;justify-content:flex-end}.bottom-of-page .icons a{text-decoration:none}.bottom-of-page .icons img,.bottom-of-page .icons svg{font-size:1.125rem;height:1em;width:1em}.related-pages a{align-items:center;display:flex;text-decoration:none}.related-pages a:hover .page-info .title{color:var(--color-link);text-decoration:underline;text-decoration-color:var(--color-link-underline)}.related-pages a svg.furo-related-icon,.related-pages a svg.furo-related-icon>use{color:var(--color-foreground-border);flex-shrink:0;height:.75rem;margin:0 .5rem;width:.75rem}.related-pages a.next-page{clear:right;float:right;max-width:50%;text-align:right}.related-pages a.prev-page{clear:left;float:left;max-width:50%}.related-pages a.prev-page svg{transform:rotate(180deg)}.page-info{display:flex;flex-direction:column;overflow-wrap:anywhere}.next-page .page-info{align-items:flex-end}.page-info .context{align-items:center;color:var(--color-foreground-muted);display:flex;font-size:var(--font-size--small);padding-bottom:.1rem;text-decoration:none}ul.search{list-style:none;padding-left:0}ul.search li{border-bottom:1px solid var(--color-background-border);padding:1rem 0}[role=main] .highlighted{background-color:var(--color-highlighted-background);color:var(--color-highlighted-text)}.sidebar-brand{display:flex;flex-direction:column;flex-shrink:0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-decoration:none}.sidebar-brand-text{color:var(--color-sidebar-brand-text);font-size:1.5rem;overflow-wrap:break-word}.sidebar-brand-text,.sidebar-logo-container{margin:var(--sidebar-item-spacing-vertical) 0}.sidebar-logo{display:block;margin:0 auto;max-width:100%}.sidebar-search-container{align-items:center;background:var(--color-sidebar-search-background);display:flex;margin-top:var(--sidebar-search-space-above);position:relative}.sidebar-search-container:focus-within,.sidebar-search-container:hover{background:var(--color-sidebar-search-background--focus)}.sidebar-search-container:before{background-color:var(--color-sidebar-search-icon);content:"";height:var(--sidebar-search-icon-size);left:var(--sidebar-item-spacing-horizontal);-webkit-mask-image:var(--icon-search);mask-image:var(--icon-search);position:absolute;width:var(--sidebar-search-icon-size)}.sidebar-search{background:transparent;border:none;border-bottom:1px solid var(--color-sidebar-search-border);border-top:1px solid var(--color-sidebar-search-border);box-sizing:border-box;color:var(--color-sidebar-search-foreground);padding:var(--sidebar-search-input-spacing-vertical) var(--sidebar-search-input-spacing-horizontal) var(--sidebar-search-input-spacing-vertical) calc(var(--sidebar-item-spacing-horizontal) + var(--sidebar-search-input-spacing-horizontal) + var(--sidebar-search-icon-size));width:100%;z-index:10}.sidebar-search:focus{outline:none}.sidebar-search::-moz-placeholder{font-size:var(--sidebar-search-input-font-size)}.sidebar-search::placeholder{font-size:var(--sidebar-search-input-font-size)}#searchbox .highlight-link{margin:0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal) 0;text-align:center}#searchbox .highlight-link a{color:var(--color-sidebar-search-icon);font-size:var(--font-size--small--2)}.sidebar-tree{font-size:var(--sidebar-item-font-size);margin-bottom:var(--sidebar-item-spacing-vertical);margin-top:var(--sidebar-tree-space-above)}.sidebar-tree ul{display:flex;flex-direction:column;list-style:none;margin-bottom:0;margin-top:0;padding:0}.sidebar-tree li{margin:0;position:relative}.sidebar-tree li>ul{margin-left:var(--sidebar-item-spacing-horizontal)}.sidebar-tree .icon,.sidebar-tree .reference{color:var(--color-sidebar-link-text)}.sidebar-tree .reference{box-sizing:border-box;display:inline-block;height:100%;line-height:var(--sidebar-item-line-height);overflow-wrap:anywhere;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-decoration:none;width:100%}.sidebar-tree .reference:hover{background:var(--color-sidebar-item-background--hover);color:var(--color-sidebar-link-text)}.sidebar-tree .reference.external:after{color:var(--color-sidebar-link-text);content:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23607D8B' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' viewBox='0 0 24 24'%3E%3Cpath stroke='none' d='M0 0h24v24H0z'/%3E%3Cpath d='M11 7H6a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2v-5M10 14 20 4M15 4h5v5'/%3E%3C/svg%3E");margin:0 .25rem;vertical-align:middle}.sidebar-tree .current-page>.reference{font-weight:700}.sidebar-tree label{align-items:center;cursor:pointer;display:flex;height:var(--sidebar-item-height);justify-content:center;position:absolute;right:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--sidebar-expander-width)}.sidebar-tree .caption,.sidebar-tree :not(.caption)>.caption-text{color:var(--color-sidebar-caption-text);font-size:var(--sidebar-caption-font-size);font-weight:700;margin:var(--sidebar-caption-space-above) 0 0 0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-transform:uppercase}.sidebar-tree li.has-children>.reference{padding-right:var(--sidebar-expander-width)}.sidebar-tree .toctree-l1>.reference,.sidebar-tree .toctree-l1>label .icon{color:var(--color-sidebar-link-text--top-level)}.sidebar-tree label{background:var(--color-sidebar-item-expander-background)}.sidebar-tree label:hover{background:var(--color-sidebar-item-expander-background--hover)}.sidebar-tree .current>.reference{background:var(--color-sidebar-item-background--current)}.sidebar-tree .current>.reference:hover{background:var(--color-sidebar-item-background--hover)}.toctree-checkbox{display:none;position:absolute}.toctree-checkbox~ul{display:none}.toctree-checkbox~label .icon svg{transform:rotate(90deg)}.toctree-checkbox:checked~ul{display:block}.toctree-checkbox:checked~label .icon svg{transform:rotate(-90deg)}.toc-title-container{padding:var(--toc-title-padding);padding-top:var(--toc-spacing-vertical)}.toc-title{color:var(--color-toc-title-text);font-size:var(--toc-title-font-size);padding-left:var(--toc-spacing-horizontal);text-transform:uppercase}.no-toc{display:none}.toc-tree-container{padding-bottom:var(--toc-spacing-vertical)}.toc-tree{border-left:1px solid var(--color-background-border);font-size:var(--toc-font-size);line-height:1.3;padding-left:calc(var(--toc-spacing-horizontal) - var(--toc-item-spacing-horizontal))}.toc-tree>ul>li:first-child{padding-top:0}.toc-tree>ul>li:first-child>ul{padding-left:0}.toc-tree>ul>li:first-child>a{display:none}.toc-tree ul{list-style-type:none;margin-bottom:0;margin-top:0;padding-left:var(--toc-item-spacing-horizontal)}.toc-tree li{padding-top:var(--toc-item-spacing-vertical)}.toc-tree li.scroll-current>.reference{color:var(--color-toc-item-text--active);font-weight:700}.toc-tree a.reference{color:var(--color-toc-item-text);overflow-wrap:anywhere;text-decoration:none}.toc-scroll{max-height:100vh;overflow-y:scroll}.contents:not(.this-will-duplicate-information-and-it-is-still-useful-here){background:rgba(255,0,0,.25);color:var(--color-problematic)}.contents:not(.this-will-duplicate-information-and-it-is-still-useful-here):before{content:"ERROR: Adding a table of contents in Furo-based documentation is unnecessary, and does not work well with existing styling. Add a 'this-will-duplicate-information-and-it-is-still-useful-here' class, if you want an escape hatch."}.text-align\:left>p{text-align:left}.text-align\:center>p{text-align:center}.text-align\:right>p{text-align:right} /*# sourceMappingURL=furo.css.map*/ \ No newline at end of file diff --git a/v10.0.0/_static/styles/furo.css.map b/v10.0.0/_static/styles/furo.css.map index 0ee3acbe..3ecc3715 100644 --- a/v10.0.0/_static/styles/furo.css.map +++ b/v10.0.0/_static/styles/furo.css.map @@ -1 +1 @@ -{"version":3,"file":"styles/furo.css","mappings":"AAAA,2EAA2E,CAU3E,KACE,gBAAiB,CACjB,6BACF,CASA,KACE,QACF,CAMA,KACE,aACF,CAOA,GACE,aAAc,CACd,cACF,CAUA,GACE,sBAAuB,CACvB,QAAS,CACT,gBACF,CAOA,IACE,+BAAiC,CACjC,aACF,CASA,EACE,4BACF,CAOA,YACE,kBAAmB,CACnB,yBAA0B,CAC1B,gCACF,CAMA,SAEE,kBACF,CAOA,cAGE,+BAAiC,CACjC,aACF,CAeA,QAEE,aAAc,CACd,aAAc,CACd,iBAAkB,CAClB,uBACF,CAEA,IACE,aACF,CAEA,IACE,SACF,CASA,IACE,iBACF,CAUA,sCAKE,mBAAoB,CACpB,cAAe,CACf,gBAAiB,CACjB,QACF,CAOA,aAEE,gBACF,CAOA,cAEE,mBACF,CAMA,gDAIE,yBACF,CAMA,wHAIE,iBAAkB,CAClB,SACF,CAMA,4GAIE,6BACF,CAMA,SACE,0BACF,CASA,OACE,qBAAsB,CACtB,aAAc,CACd,aAAc,CACd,cAAe,CACf,SAAU,CACV,kBACF,CAMA,SACE,uBACF,CAMA,SACE,aACF,CAOA,6BAEE,qBAAsB,CACtB,SACF,CAMA,kFAEE,WACF,CAOA,cACE,4BAA6B,CAC7B,mBACF,CAMA,yCACE,uBACF,CAOA,6BACE,yBAA0B,CAC1B,YACF,CASA,QACE,aACF,CAMA,QACE,iBACF,CAiBA,kBACE,YACF,CCvVA,aAcE,kEACE,uBAOF,WACE,iDAMF,gCACE,wBAEF,qCAEE,uBADA,uBACA,CAEF,SACE,wBAtBA,CCpBJ,iBAGE,qBAEA,sBACA,0BAFA,oBAHA,4BACA,oBAKA,6BAIA,2CAFA,mBACA,sCAFA,4BAGA,CAEF,gBACE,aCTF,KCGE,mHAEA,wGAEA,wCAAyC,CAEzC,wBAAyB,CACzB,wBAAyB,CACzB,4BAA6B,CAC7B,yBAA0B,CAC1B,2BAA4B,CAG5B,sDAAuD,CACvD,gDAAiD,CACjD,wDAAyD,CAGzD,0CAA2C,CAC3C,gDAAiD,CACjD,gDAAiD,CAKjD,gCAAiC,CACjC,sCAAuC,CAGvC,2CAA4C,CAG5C,uCAAwC,CCjCxC,+FAGA,uBAAwB,CAGxB,iCAAkC,CAClC,kCAAmC,CAEnC,+BAAgC,CAChC,sCAAuC,CACvC,sCAAuC,CACvC,qGAIA,mDAAoD,CAEpD,mCAAoC,CACpC,8CAA+C,CAC/C,gDAAiD,CACjD,kCAAmC,CACnC,6DAA8D,CAG9D,6BAA8B,CAC9B,6BAA8B,CAC9B,+BAAgC,CAChC,kCAAmC,CACnC,kCAAmC,CCPjC,+jBCYA,iqCAZF,iaCVA,8KAOA,4SAWA,4SAUA,0CACA,gEAGA,0CAGA,gEAGA,yCACA,+DAIA,4CACA,kEAGA,wCAUA,8DACA,uCAGA,4DACA,sCACA,2DAGA,4CACA,kEACA,uCAGA,6DACA,2GAGA,sHAEA,yFAEA,+CACA,+EAGA,4MAOA,gCACA,sHAIA,kCACA,uEACA,gEACA,4DACA,kEAGA,2DACA,sDACA,0CACA,8CACA,wGAGA,0BACA,iCAGA,+DACA,+BACA,sCACA,+DAEA,kGACA,oCACA,yDACA,sCL7HF,kCAEA,sDAIA,0CK2HE,kEAIA,oDACA,sDAGA,oCACA,oEAEA,0DACA,qDAIA,oDACA,6DAIA,iEAIA,2DAIA,2DAGA,4DACA,gEAIA,gEAEA,gFAEA,oNASA,qDLxKE,gFAGE,4DAIF,oEKkHF,yEAEA,6DAGA,0DAEA,uDACA,qDACA,wDAIA,6DAIA,yDACA,2DAIA,uCAGA,wCACA,sDAGA,+CAGA,6DAEA,iDACA,+DAEA,wDAEA,sEAMA,0DACA,sBACA,mEL9JI,wEAEA,iCACE,+BAMN,wEAGA,iCACE,kFAEA,uEAIF,gEACE,8BAGF,qEMvDA,sCAKA,wFAKA,iCAIA,0BAWA,iCACA,4BACA,mCAGA,+BAEA,sCACA,4BAEA,mCAEA,sCAKA,sDAIA,gCAEA,gEAQF,wCAME,sBACA,kCAKA,uBAEA,gEAIA,2BAIA,mCAEA,qCACA,iCAGE,+BACA,wEAEE,iCACA,kFAGF,6BACA,0CACF,kCAEE,8BACE,8BACA,qEAEE,sCACA,wFCnFN,iCAGF,2DAEE,4BACA,oCAGA,mIAGA,4HACE,gEAMJ,+CAGE,sBACA,yCAEF,uBAEE,sEAKA,gDACA,kEAGA,iFAGE,YAGF,EACA,4HAQF,mBACE,6BACA,mBACA,wCACA,wCACA,2CAIA,eAGA,mBAKE,mBAGA,CAJA,uCACA,iBAFF,gBACE,CAKE,mBACA,mBAGJ,oBAIF,+BAGE,kDACA,OADA,kBAGA,CAFA,gBAEA,mBACA,oBAEA,sCACA,OAGF,cAHE,WAGF,GAEE,oBACA,CAHF,gBAGE,CC9Gc,YDiHd,+CAIF,SAEE,CAPF,UACE,wBAMA,4BAEA,GAGA,uBACA,CAJA,yBAGA,CACA,iDAKA,2CAGA,2DAQA,iBACA,uCAGA,kEAKE,SAKJ,8BACE,yDACA,2BAEA,oBACA,8BAEA,yDAEE,4BAEJ,uCACE,CACA,iEAGA,CAEA,wCACE,uBACA,kDAEA,0DAEE,CAJF,oBAIE,0GAWN,aACE,CAHA,YAGA,4HASA,+CAGF,sBACE,WACA,WAQA,4BAFF,0CAEE,CARA,qCAsBA,CAdA,iBAEA,kBACE,aADF,4BACE,WAMF,2BAGF,qCAEE,CAXE,UAWF,+BAGA,uBAEA,SAEA,0CAIE,CANF,qCAEA,CAIE,2DACE,gBAIN,+CAIA,CAEA,kDAKE,CAPF,8BAEA,CAOE,YACA,CAjBI,2BAGN,CAHM,WAcJ,UAGA,CAEA,2GAIF,iCAGE,8BAIA,qBACA,oBACF,uBAOI,0CAIA,CATF,6DAKE,CALF,sBASE,qCAKF,CACE,cACA,CAFF,sBAEE,CACA,+BAEA,qBAEE,WAKN,aACE,sCAGA,mBAEA,6BAMA,kCACA,CAJA,sBACA,aAEA,CAJA,eACA,MAIA,2FAEA,UAGA,YACA,sBACE,8BAEA,CALF,aACA,WAIE,OACA,oBAEF,uBACE,WAEF,YAFE,UAEF,eAgBA,kBACE,CAhBA,qDAQF,qCAGF,CAGI,YACF,CAJF,2BAGI,CAEA,eACA,qBAGA,mEAEA,qBACA,8BAIA,kBADF,kBACE,yBAEJ,oCAGI,qDAGA,CACA,8BAMF,oCACE,+CACF,gCAIA,YACE,yBAGA,2BAGA,mCAFA,cAEA,CAHA,YACA,CAEA,4BAIE,qCACA,cAFA,4BAEA,wCACE,CADF,aACE,sBAEA,mDAEN,CAFM,YAEN,iDAEE,uCAKA,+DAIA,kBAIA,CAJA,sBAIA,mBACA,0BACF,yBAEE,YAEJ,CAFI,YAQJ,UAFI,kBAEJ,CAJE,gBAEE,CAJJ,iBAMA,yFAOI,aEjbJ,eACE,cACA,iBAEA,aAFA,iBAEA,6BAEA,kCACA,mBAKA,gCAGA,CARA,QAEA,CAGA,UALA,qBAEA,qDAGA,CALA,OAQA,4BACE,cAGF,2BACE,gCAEJ,CAHE,UAGF,8CAGE,CAHF,UAGE,wCAGA,qBACA,CAFA,UAEA,6CAGA,yCAIA,sBAHA,UAGA,kCACE,OACA,CADA,KACA,cASA,2CAFF,kBACA,CACE,wEACA,CARA,YACA,CAKF,mBAFF,MACE,CAIE,gBAJF,iCADF,eALI,oBACA,CAKF,SAIE,2BADA,UACA,kBAEJ,WACE,kDACA,mBACE,kDACA,0EACA,uDAKJ,aACE,mDAII,CAJJ,6CAII,2BACA,uCACE,kEACA,+CACE,aACA,WADA,oBACA,CADA,UACA,4FALJ,4BAEE,mBADF,0CACE,CAFF,eACA,MACE,0DACA,wCACE,sGACA,WANN,yBACE,uCACA,CAFF,UAEE,2CACE,wFACA,cACE,kEACA,mEANN,yBACE,4DACA,sBACE,+EAEE,iEACA,qEANN,sCACE,CAGE,iBAHF,gBAGE,qBACE,CAJJ,uBACA,gDACE,wDACA,6DAHF,2CACA,CADA,gBACA,eACE,CAGE,sBANN,8BACE,CAII,iBAFF,4DACA,WACE,YADF,uCACE,6EACA,2BANN,8CACE,kDACA,0CACE,8BACA,yFACE,sBACA,sFALJ,mEACA,sBACE,kEACA,6EACE,uCACA,kEALJ,qGAEE,kEACA,6EACE,uCACA,kEALJ,8CACA,uDACE,sEACA,2EACE,sCACA,iEALJ,mGACA,qCACE,oDACA,0DACE,6GACA,gDAGR,yDCrEA,sEACE,CACA,6GACE,gEACF,iGAIF,wFACE,qDAGA,mGAEE,2CAEF,4FACE,gCACF,wGACE,8DAEE,6FAIA,iJAKN,6GACE,gDAKF,yDACA,qCAGA,6BACA,kBACA,qDAKA,oCAEA,+DAGA,2CAGE,oDAIA,oEAEE,qBAGJ,wDAEE,uCAEF,kEAGA,8CAEA,uDAIF,gEAIE,6BACA,gEAIA,+CACE,0EAIF,sDAEE,+DAGF,sCACA,8BACE,oCAEJ,wBACE,4FAEE,gBAEJ,yGAGI,kBAGJ,CCnHE,2MCFF,oBAGE,wGAKA,iCACE,CADF,wBACE,8GAQA,mBCjBJ,2GAIE,mBACA,6HAMA,YACE,mIAYF,eACA,CAHF,YAGE,4FAGE,8BAKF,uBAkBE,sCACA,CADA,qBAbA,wCAIA,CALF,8BACE,CADF,gBAKE,wCACA,CAOA,kDACA,CACA,kCAKF,6BAGA,4CACE,kDACA,eAGF,cACE,aACA,iBACA,yBACA,8BACA,WAGJ,2BACE,cAGA,+BACA,CAHA,eAGA,wCACA,YACA,iBACA,uEAGA,0BACA,2CAEA,8EAGI,qBACA,CAFF,kBAEE,kBAGN,0CAGE,mCAGA,4BAIA,gEACE,qCACA,8BAEA,gBACA,+CACA,iCAEF,iCAEE,gEACA,qCAGF,8BAEE,+BAIA,yCAEE,qBADA,gBACA,yBAKF,eACA,CAFF,YACE,CACA,iBACA,qDAEA,mDCvIJ,2FAOE,iCACA,CAEA,eACA,CAHA,kBAEA,CAFA,wBAGA,8BACA,eACE,CAFF,YAEE,0BACA,8CAGA,oBACE,oCAGA,kBACE,8DAEA,iBAEN,UACE,8BAIJ,+CAEE,qDAEF,kDAIE,YAEF,CAFE,YAEF,CCpCE,mFADA,kBAKE,CAJF,IAGA,aACE,mCAGA,iDACE,+BAEJ,wBAEE,mBAMA,6CAEF,CAJE,mBAEA,CAEF,kCAGE,CARF,kBACE,CAHA,eAUA,YACA,mBACA,CADA,UACA,wCC9BF,oBDkCE,wBCnCJ,uCACE,+BACA,+DACA,sBAGA,qBCDA,6CAIE,CAPF,uBAGA,CDGE,oBACF,yDAEE,CCDE,2CAGF,CAJA,kCACE,CDJJ,YACE,CAIA,eCTF,CDKE,uBCMA,gCACE,YAEF,oCAEE,wBACA,0BAIF,iBAEA,cADF,UACE,uBAEA,iCAEA,wCAEA,6CAMA,CAYF,gCATI,4BASJ,CAZE,mCAEE,iCAUJ,4BAGE,4DADA,+BACA,CAHF,qBAGE,sCACE,OAEF,iBAHA,SAGA,iHACE,2DAKF,CANA,8EAMA,uSAEE,kBAEF,+FACE,yCCjEJ,WACA,yBAGA,uBACA,gBAEA,uCAIA,CAJA,iCAIA,uCAGA,UACE,gBACA,qBAEA,0CClBJ,gBACE,KAGF,qBACE,YAGF,CAHE,cAGF,gCAEE,mBACA,iEAEA,oCACA,wCAEA,sBACA,WAEA,CAFA,YAEA,8EAEA,mCAFA,iBAEA,6BAIA,wEAKA,sDAIE,CARF,mDAIA,CAIE,cAEF,8CAIA,oBAFE,iBAEF,8CAGE,eAEF,CAFE,YAEF,OAEE,kBAGJ,CAJI,eACA,CAFF,mBAKF,yCCjDE,oBACA,CAFA,iBAEA,uCAKE,iBACA,qCAGA,mBCZJ,CDWI,gBCXJ,6BAEE,eACA,sBAGA,eAEA,sBACA,oDACA,iGAMA,gBAFE,YAEF,8FAME,iJClBF,YACA,gNAUE,6BAEF,oTAcI,kBACF,gHAIA,qBACE,eACF,qDACE,kBACF,6DACE,4BCxCJ,oBAEF,qCAEI,+CAGF,uBACE,uDAGJ,oBAiBI,kDACF,CAhBA,+CAaA,CAbA,oBAaA,0FAEE,CAFF,gGAdA,cACA,iBAaA,0BAGA,mQAIA,oNAEE,iBAGJ,CAHI,gBAFF,gBAKF,8CAYI,CAZJ,wCAYI,sVACE,iCAGA,uEAHA,QAGA,qXAKJ,iDAGF,CARM,+CACE,iDAIN,CALI,gBAQN,mHACE,gBAGF,2DACE,0EAOA,0EAGF,gBAEE,6DC/EA,kDACA,gCACA,qDAGA,qBACA,qDCFA,cACA,eAEA,yBAGF,sBAEE,iBACA,sNAWA,iBACE,kBACA,wRAgBA,kBAEA,iOAgBA,uCACE,uEAEA,kBAEF,qUAuBE,iDAIJ,CACA,geCxFF,4BAEE,CAQA,6JACA,iDAIA,sEAGA,mDAOF,iDAGE,4DAIA,8CACA,qDAEE,eAFF,cAEE,oBAEF,uBAFE,kCAGA,eACA,iBACA,mBAIA,mDACA,CAHA,uCAEA,CAJA,0CACA,CAIA,gBAJA,gBACA,oBADA,gBAIA,wBAEJ,gBAGE,6BACA,YAHA,iBAGA,gCACA,iEAEA,6CACA,sDACA,0BADA,wBACA,0BACA,oIAIA,mBAFA,YAEA,qBACA,0CAIE,uBAEF,CAHA,yBACE,CAEF,iDACE,mFAKJ,oCACE,CANE,aAKJ,CACE,qEAIA,YAFA,WAEA,CAHA,aACA,CAEA,gBACE,4BACA,sBADA,aACA,gCAMF,oCACA,yDACA,2CAEA,qBAGE,kBAEA,CACA,mCAIF,CARE,YACA,CAOF,iCAEE,CAPA,oBACA,CAQA,oBACE,uDAEJ,sDAGA,CAHA,cAGA,0BACE,oDAIA,oCACA,4BACA,sBAGA,cAEA,oFAGA,sBAEA,yDACE,CAIF,iBAJE,wBAIF,6CAHE,6CAKA,eACA,aACA,CADA,cACA,yCAGJ,kBACE,CAKA,iDAEA,CARF,aACE,4CAGA,kBAIA,wEAGA,wDAGA,kCAOA,iDAGA,CAPF,WAEE,sCAEA,CAJF,2CACE,CAMA,qCACA,+BARF,kBACE,qCAOA,iBAsBA,sBACE,CAvBF,WAKA,CACE,0DAIF,CALA,uDACE,CANF,sBAqBA,4CACA,CALA,gRAIA,YAEE,6CAEN,mCAEE,+CASA,6EAIA,4BChNA,SDmNA,qFCnNA,gDACA,sCAGA,qCACA,sDACA,CAKA,kDAGA,CARA,0CAQA,kBAGA,YACA,sBACA,iBAFA,gBADF,YACE,CAHA,SAKA,kBAEA,SAFA,iBAEA,uEAGA,CAEE,6CAFF,oCAgBI,CAdF,yBACE,qBACF,CAGF,oBACE,CAIF,WACE,CALA,2CAGA,uBACF,CACE,mFAGE,CALF,qBAEA,UAGE,gCAIF,sDAEA,CALE,oCAKF,yCC7CJ,oCACE,CD+CA,yXAQE,sCCrDJ,wCAGA,oCACE","sources":["webpack:///./node_modules/normalize.css/normalize.css","webpack:///./src/furo/assets/styles/base/_print.sass","webpack:///./src/furo/assets/styles/base/_screen-readers.sass","webpack:///./src/furo/assets/styles/base/_theme.sass","webpack:///./src/furo/assets/styles/variables/_fonts.scss","webpack:///./src/furo/assets/styles/variables/_spacing.scss","webpack:///./src/furo/assets/styles/variables/_icons.scss","webpack:///./src/furo/assets/styles/variables/_admonitions.scss","webpack:///./src/furo/assets/styles/variables/_colors.scss","webpack:///./src/furo/assets/styles/base/_typography.sass","webpack:///./src/furo/assets/styles/_scaffold.sass","webpack:///./src/furo/assets/styles/variables/_layout.scss","webpack:///./src/furo/assets/styles/content/_admonitions.sass","webpack:///./src/furo/assets/styles/content/_api.sass","webpack:///./src/furo/assets/styles/content/_blocks.sass","webpack:///./src/furo/assets/styles/content/_captions.sass","webpack:///./src/furo/assets/styles/content/_code.sass","webpack:///./src/furo/assets/styles/content/_footnotes.sass","webpack:///./src/furo/assets/styles/content/_images.sass","webpack:///./src/furo/assets/styles/content/_indexes.sass","webpack:///./src/furo/assets/styles/content/_lists.sass","webpack:///./src/furo/assets/styles/content/_math.sass","webpack:///./src/furo/assets/styles/content/_misc.sass","webpack:///./src/furo/assets/styles/content/_rubrics.sass","webpack:///./src/furo/assets/styles/content/_sidebar.sass","webpack:///./src/furo/assets/styles/content/_tables.sass","webpack:///./src/furo/assets/styles/content/_target.sass","webpack:///./src/furo/assets/styles/content/_gui-labels.sass","webpack:///./src/furo/assets/styles/components/_footer.sass","webpack:///./src/furo/assets/styles/components/_sidebar.sass","webpack:///./src/furo/assets/styles/components/_table_of_contents.sass","webpack:///./src/furo/assets/styles/_shame.sass"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n","// This file contains styles for managing print media.\n\n////////////////////////////////////////////////////////////////////////////////\n// Hide elements not relevant to print media.\n////////////////////////////////////////////////////////////////////////////////\n@media print\n // Hide icon container.\n .content-icon-container\n display: none !important\n\n // Hide showing header links if hovering over when printing.\n .headerlink\n display: none !important\n\n // Hide mobile header.\n .mobile-header\n display: none !important\n\n // Hide navigation links.\n .related-pages\n display: none !important\n\n////////////////////////////////////////////////////////////////////////////////\n// Tweaks related to decolorization.\n////////////////////////////////////////////////////////////////////////////////\n@media print\n // Apply a border around code which no longer have a color background.\n .highlight\n border: 0.1pt solid var(--color-foreground-border)\n\n////////////////////////////////////////////////////////////////////////////////\n// Avoid page break in some relevant cases.\n////////////////////////////////////////////////////////////////////////////////\n@media print\n ul, ol, dl, a, table, pre, blockquote\n page-break-inside: avoid\n\n h1, h2, h3, h4, h5, h6, img, figure, caption\n page-break-inside: avoid\n page-break-after: avoid\n\n ul, ol, dl\n page-break-before: avoid\n",".visually-hidden\n position: absolute !important\n width: 1px !important\n height: 1px !important\n padding: 0 !important\n margin: -1px !important\n overflow: hidden !important\n clip: rect(0,0,0,0) !important\n white-space: nowrap !important\n border: 0 !important\n color: var(--color-foreground-primary)\n background: var(--color-background-primary)\n\n:-moz-focusring\n outline: auto\n","// This file serves as the \"skeleton\" of the theming logic.\n//\n// This contains the bulk of the logic for handling dark mode, color scheme\n// toggling and the handling of color-scheme-specific hiding of elements.\n\nbody\n @include fonts\n @include spacing\n @include icons\n @include admonitions\n @include default-admonition(#651fff, \"abstract\")\n @include default-topic(#14B8A6, \"pencil\")\n\n @include colors\n\n.only-light\n display: block !important\nhtml body .only-dark\n display: none !important\n\n// Ignore dark-mode hints if print media.\n@media not print\n // Enable dark-mode, if requested.\n body[data-theme=\"dark\"]\n @include colors-dark\n\n html & .only-light\n display: none !important\n .only-dark\n display: block !important\n\n // Enable dark mode, unless explicitly told to avoid.\n @media (prefers-color-scheme: dark)\n body:not([data-theme=\"light\"])\n @include colors-dark\n\n html & .only-light\n display: none !important\n .only-dark\n display: block !important\n\n//\n// Theme toggle presentation\n//\nbody[data-theme=\"auto\"]\n .theme-toggle svg.theme-icon-when-auto-light\n display: block\n\n @media (prefers-color-scheme: dark)\n .theme-toggle svg.theme-icon-when-auto-dark\n display: block\n .theme-toggle svg.theme-icon-when-auto-light\n display: none\n\nbody[data-theme=\"dark\"]\n .theme-toggle svg.theme-icon-when-dark\n display: block\n\nbody[data-theme=\"light\"]\n .theme-toggle svg.theme-icon-when-light\n display: block\n","// Fonts used by this theme.\n//\n// There are basically two things here -- using the system font stack and\n// defining sizes for various elements in %ages. We could have also used `em`\n// but %age is easier to reason about for me.\n\n@mixin fonts {\n // These are adapted from https://systemfontstack.com/\n --font-stack: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial,\n sans-serif, Apple Color Emoji, Segoe UI Emoji;\n --font-stack--monospace: \"SFMono-Regular\", Menlo, Consolas, Monaco,\n Liberation Mono, Lucida Console, monospace;\n --font-stack--headings: var(--font-stack);\n\n --font-size--normal: 100%;\n --font-size--small: 87.5%;\n --font-size--small--2: 81.25%;\n --font-size--small--3: 75%;\n --font-size--small--4: 62.5%;\n\n // Sidebar\n --sidebar-caption-font-size: var(--font-size--small--2);\n --sidebar-item-font-size: var(--font-size--small);\n --sidebar-search-input-font-size: var(--font-size--small);\n\n // Table of Contents\n --toc-font-size: var(--font-size--small--3);\n --toc-font-size--mobile: var(--font-size--normal);\n --toc-title-font-size: var(--font-size--small--4);\n\n // Admonitions\n //\n // These aren't defined in terms of %ages, since nesting these is permitted.\n --admonition-font-size: 0.8125rem;\n --admonition-title-font-size: 0.8125rem;\n\n // Code\n --code-font-size: var(--font-size--small--2);\n\n // API\n --api-font-size: var(--font-size--small);\n}\n","// Spacing for various elements on the page\n//\n// If the user wants to tweak things in a certain way, they are permitted to.\n// They also have to deal with the consequences though!\n\n@mixin spacing {\n // Header!\n --header-height: calc(\n var(--sidebar-item-line-height) + 4 * #{var(--sidebar-item-spacing-vertical)}\n );\n --header-padding: 0.5rem;\n\n // Sidebar\n --sidebar-tree-space-above: 1.5rem;\n --sidebar-caption-space-above: 1rem;\n\n --sidebar-item-line-height: 1rem;\n --sidebar-item-spacing-vertical: 0.5rem;\n --sidebar-item-spacing-horizontal: 1rem;\n --sidebar-item-height: calc(\n var(--sidebar-item-line-height) + 2 *#{var(--sidebar-item-spacing-vertical)}\n );\n\n --sidebar-expander-width: var(--sidebar-item-height); // be square\n\n --sidebar-search-space-above: 0.5rem;\n --sidebar-search-input-spacing-vertical: 0.5rem;\n --sidebar-search-input-spacing-horizontal: 0.5rem;\n --sidebar-search-input-height: 1rem;\n --sidebar-search-icon-size: var(--sidebar-search-input-height);\n\n // Table of Contents\n --toc-title-padding: 0.25rem 0;\n --toc-spacing-vertical: 1.5rem;\n --toc-spacing-horizontal: 1.5rem;\n --toc-item-spacing-vertical: 0.4rem;\n --toc-item-spacing-horizontal: 1rem;\n}\n","// Expose theme icons as CSS variables.\n\n$icons: (\n // Adapted from tabler-icons\n // url: https://tablericons.com/\n \"search\":\n url('data:image/svg+xml;charset=utf-8,'),\n // Factored out from mkdocs-material on 24-Aug-2020.\n // url: https://squidfunk.github.io/mkdocs-material/reference/admonitions/\n \"pencil\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"abstract\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"info\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"flame\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"question\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"warning\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"failure\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"spark\":\n url('data:image/svg+xml;charset=utf-8,')\n);\n\n@mixin icons {\n @each $name, $glyph in $icons {\n --icon-#{$name}: #{$glyph};\n }\n}\n","// Admonitions\n\n// Structure of these is:\n// admonition-class: color \"icon-name\";\n//\n// The colors are translated into CSS variables below. The icons are\n// used directly in the main declarations to set the `mask-image` in\n// the title.\n\n// prettier-ignore\n$admonitions: (\n // Each of these has an reST directives for it.\n \"caution\": #ff9100 \"spark\",\n \"warning\": #ff9100 \"warning\",\n \"danger\": #ff5252 \"spark\",\n \"attention\": #ff5252 \"warning\",\n \"error\": #ff5252 \"failure\",\n \"hint\": #00c852 \"question\",\n \"tip\": #00c852 \"info\",\n \"important\": #00bfa5 \"flame\",\n \"note\": #00b0ff \"pencil\",\n \"seealso\": #448aff \"info\",\n \"admonition-todo\": #808080 \"pencil\"\n);\n\n@mixin default-admonition($color, $icon-name) {\n --color-admonition-title: #{$color};\n --color-admonition-title-background: #{rgba($color, 0.2)};\n\n --icon-admonition-default: var(--icon-#{$icon-name});\n}\n\n@mixin default-topic($color, $icon-name) {\n --color-topic-title: #{$color};\n --color-topic-title-background: #{rgba($color, 0.2)};\n\n --icon-topic-default: var(--icon-#{$icon-name});\n}\n\n@mixin admonitions {\n @each $name, $values in $admonitions {\n --color-admonition-title--#{$name}: #{nth($values, 1)};\n --color-admonition-title-background--#{$name}: #{rgba(\n nth($values, 1),\n 0.2\n )};\n }\n}\n","// Colors used throughout this theme.\n//\n// The aim is to give the user more control. Thus, instead of hard-coding colors\n// in various parts of the stylesheet, the approach taken is to define all\n// colors as CSS variables and reusing them in all the places.\n//\n// `colors-dark` depends on `colors` being included at a lower specificity.\n\n@mixin colors {\n --color-problematic: #b30000;\n\n // Base Colors\n --color-foreground-primary: black; // for main text and headings\n --color-foreground-secondary: #5a5c63; // for secondary text\n --color-foreground-muted: #6b6f76; // for muted text\n --color-foreground-border: #878787; // for content borders\n\n --color-background-primary: white; // for content\n --color-background-secondary: #f8f9fb; // for navigation + ToC\n --color-background-hover: #efeff4ff; // for navigation-item hover\n --color-background-hover--transparent: #efeff400;\n --color-background-border: #eeebee; // for UI borders\n --color-background-item: #ccc; // for \"background\" items (eg: copybutton)\n\n // Announcements\n --color-announcement-background: #000000dd;\n --color-announcement-text: #eeebee;\n\n // Brand colors\n --color-brand-primary: #0a4bff;\n --color-brand-content: #2757dd;\n --color-brand-visited: #872ee0;\n\n // API documentation\n --color-api-background: var(--color-background-hover--transparent);\n --color-api-background-hover: var(--color-background-hover);\n --color-api-overall: var(--color-foreground-secondary);\n --color-api-name: var(--color-problematic);\n --color-api-pre-name: var(--color-problematic);\n --color-api-paren: var(--color-foreground-secondary);\n --color-api-keyword: var(--color-foreground-primary);\n\n --color-api-added: #21632c;\n --color-api-added-border: #38a84d;\n --color-api-changed: #046172;\n --color-api-changed-border: #06a1bc;\n --color-api-deprecated: #605706;\n --color-api-deprecated-border: #f0d90f;\n --color-api-removed: #b30000;\n --color-api-removed-border: #ff5c5c;\n\n --color-highlight-on-target: #ffffcc;\n\n // Inline code background\n --color-inline-code-background: var(--color-background-secondary);\n\n // Highlighted text (search)\n --color-highlighted-background: #ddeeff;\n --color-highlighted-text: var(--color-foreground-primary);\n\n // GUI Labels\n --color-guilabel-background: #ddeeff80;\n --color-guilabel-border: #bedaf580;\n --color-guilabel-text: var(--color-foreground-primary);\n\n // Admonitions!\n --color-admonition-background: transparent;\n\n //////////////////////////////////////////////////////////////////////////////\n // Everything below this should be one of:\n // - var(...)\n // - *-gradient(...)\n // - special literal values (eg: transparent, none)\n //////////////////////////////////////////////////////////////////////////////\n\n // Tables\n --color-table-header-background: var(--color-background-secondary);\n --color-table-border: var(--color-background-border);\n\n // Cards\n --color-card-border: var(--color-background-secondary);\n --color-card-background: transparent;\n --color-card-marginals-background: var(--color-background-secondary);\n\n // Header\n --color-header-background: var(--color-background-primary);\n --color-header-border: var(--color-background-border);\n --color-header-text: var(--color-foreground-primary);\n\n // Sidebar (left)\n --color-sidebar-background: var(--color-background-secondary);\n --color-sidebar-background-border: var(--color-background-border);\n\n --color-sidebar-brand-text: var(--color-foreground-primary);\n --color-sidebar-caption-text: var(--color-foreground-muted);\n --color-sidebar-link-text: var(--color-foreground-secondary);\n --color-sidebar-link-text--top-level: var(--color-brand-primary);\n\n --color-sidebar-item-background: var(--color-sidebar-background);\n --color-sidebar-item-background--current: var(\n --color-sidebar-item-background\n );\n --color-sidebar-item-background--hover: linear-gradient(\n 90deg,\n var(--color-background-hover--transparent) 0%,\n var(--color-background-hover) var(--sidebar-item-spacing-horizontal),\n var(--color-background-hover) 100%\n );\n\n --color-sidebar-item-expander-background: transparent;\n --color-sidebar-item-expander-background--hover: var(\n --color-background-hover\n );\n\n --color-sidebar-search-text: var(--color-foreground-primary);\n --color-sidebar-search-background: var(--color-background-secondary);\n --color-sidebar-search-background--focus: var(--color-background-primary);\n --color-sidebar-search-border: var(--color-background-border);\n --color-sidebar-search-icon: var(--color-foreground-muted);\n\n // Table of Contents (right)\n --color-toc-background: var(--color-background-primary);\n --color-toc-title-text: var(--color-foreground-muted);\n --color-toc-item-text: var(--color-foreground-secondary);\n --color-toc-item-text--hover: var(--color-foreground-primary);\n --color-toc-item-text--active: var(--color-brand-primary);\n\n // Actual page contents\n --color-content-foreground: var(--color-foreground-primary);\n --color-content-background: transparent;\n\n // Links\n --color-link: var(--color-brand-content);\n --color-link-underline: var(--color-background-border);\n --color-link--hover: var(--color-brand-content);\n --color-link-underline--hover: var(--color-foreground-border);\n\n --color-link--visited: var(--color-brand-visited);\n --color-link-underline--visited: var(--color-background-border);\n --color-link--visited--hover: var(--color-brand-visited);\n --color-link-underline--visited--hover: var(--color-foreground-border);\n}\n\n@mixin colors-dark {\n --color-problematic: #ee5151;\n\n // Base Colors\n --color-foreground-primary: #cfd0d0; // for main text and headings\n --color-foreground-secondary: #9ca0a5; // for secondary text\n --color-foreground-muted: #81868d; // for muted text\n --color-foreground-border: #666666; // for content borders\n\n --color-background-primary: #131416; // for content\n --color-background-secondary: #1a1c1e; // for navigation + ToC\n --color-background-hover: #1e2124ff; // for navigation-item hover\n --color-background-hover--transparent: #1e212400;\n --color-background-border: #303335; // for UI borders\n --color-background-item: #444; // for \"background\" items (eg: copybutton)\n\n // Announcements\n --color-announcement-background: #000000dd;\n --color-announcement-text: #eeebee;\n\n // Brand colors\n --color-brand-primary: #3d94ff;\n --color-brand-content: #5ca5ff;\n --color-brand-visited: #b27aeb;\n\n // Highlighted text (search)\n --color-highlighted-background: #083563;\n\n // GUI Labels\n --color-guilabel-background: #08356380;\n --color-guilabel-border: #13395f80;\n\n // API documentation\n --color-api-keyword: var(--color-foreground-secondary);\n --color-highlight-on-target: #333300;\n\n --color-api-added: #3db854;\n --color-api-added-border: #267334;\n --color-api-changed: #09b0ce;\n --color-api-changed-border: #056d80;\n --color-api-deprecated: #b1a10b;\n --color-api-deprecated-border: #6e6407;\n --color-api-removed: #ff7575;\n --color-api-removed-border: #b03b3b;\n\n // Admonitions\n --color-admonition-background: #18181a;\n\n // Cards\n --color-card-border: var(--color-background-secondary);\n --color-card-background: #18181a;\n --color-card-marginals-background: var(--color-background-hover);\n}\n","// This file contains the styling for making the content throughout the page,\n// including fonts, paragraphs, headings and spacing among these elements.\n\nbody\n font-family: var(--font-stack)\npre,\ncode,\nkbd,\nsamp\n font-family: var(--font-stack--monospace)\n\n// Make fonts look slightly nicer.\nbody\n -webkit-font-smoothing: antialiased\n -moz-osx-font-smoothing: grayscale\n\n// Line height from Bootstrap 4.1\narticle\n line-height: 1.5\n\n//\n// Headings\n//\nh1,\nh2,\nh3,\nh4,\nh5,\nh6\n line-height: 1.25\n font-family: var(--font-stack--headings)\n font-weight: bold\n\n border-radius: 0.5rem\n margin-top: 0.5rem\n margin-bottom: 0.5rem\n margin-left: -0.5rem\n margin-right: -0.5rem\n padding-left: 0.5rem\n padding-right: 0.5rem\n\n + p\n margin-top: 0\n\nh1\n font-size: 2.5em\n margin-top: 1.75rem\n margin-bottom: 1rem\nh2\n font-size: 2em\n margin-top: 1.75rem\nh3\n font-size: 1.5em\nh4\n font-size: 1.25em\nh5\n font-size: 1.125em\nh6\n font-size: 1em\n\nsmall\n opacity: 75%\n font-size: 80%\n\n// Paragraph\np\n margin-top: 0.5rem\n margin-bottom: 0.75rem\n\n// Horizontal rules\nhr.docutils\n height: 1px\n padding: 0\n margin: 2rem 0\n background-color: var(--color-background-border)\n border: 0\n\n.centered\n text-align: center\n\n// Links\na\n text-decoration: underline\n\n color: var(--color-link)\n text-decoration-color: var(--color-link-underline)\n\n &:visited\n color: var(--color-link--visited)\n text-decoration-color: var(--color-link-underline--visited)\n &:hover\n color: var(--color-link--visited--hover)\n text-decoration-color: var(--color-link-underline--visited--hover)\n\n &:hover\n color: var(--color-link--hover)\n text-decoration-color: var(--color-link-underline--hover)\n &.muted-link\n color: inherit\n &:hover\n color: var(--color-link--hover)\n text-decoration-color: var(--color-link-underline--hover)\n &:visited\n color: var(--color-link--visited--hover)\n text-decoration-color: var(--color-link-underline--visited--hover)\n","// This file contains the styles for the overall layouting of the documentation\n// skeleton, including the responsive changes as well as sidebar toggles.\n//\n// This is implemented as a mobile-last design, which isn't ideal, but it is\n// reasonably good-enough and I got pretty tired by the time I'd finished this\n// to move the rules around to fix this. Shouldn't take more than 3-4 hours,\n// if you know what you're doing tho.\n\n// HACK: Not all browsers account for the scrollbar width in media queries.\n// This results in horizontal scrollbars in the breakpoint where we go\n// from displaying everything to hiding the ToC. We accomodate for this by\n// adding a bit of padding to the TOC drawer, disabling the horizontal\n// scrollbar and allowing the scrollbars to cover the padding.\n// https://www.456bereastreet.com/archive/201301/media_query_width_and_vertical_scrollbars/\n\n// HACK: Always having the scrollbar visible, prevents certain browsers from\n// causing the content to stutter horizontally between taller-than-viewport and\n// not-taller-than-viewport pages.\n\nhtml\n overflow-x: hidden\n overflow-y: scroll\n scroll-behavior: smooth\n\n.sidebar-scroll, .toc-scroll, article[role=main] *\n // Override Firefox scrollbar style\n scrollbar-width: thin\n scrollbar-color: var(--color-foreground-border) transparent\n\n // Override Chrome scrollbar styles\n &::-webkit-scrollbar\n width: 0.25rem\n height: 0.25rem\n &::-webkit-scrollbar-thumb\n background-color: var(--color-foreground-border)\n border-radius: 0.125rem\n\n//\n// Overalls\n//\nhtml,\nbody\n height: 100%\n color: var(--color-foreground-primary)\n background: var(--color-background-primary)\n\n.skip-to-content\n position: fixed\n padding: 1rem\n border-radius: 1rem\n left: 0.25rem\n top: 0.25rem\n z-index: 40\n background: var(--color-background-primary)\n color: var(--color-foreground-primary)\n\n transform: translateY(-200%)\n transition: transform 300ms ease-in-out\n\n &:focus-within\n transform: translateY(0%)\n\narticle\n color: var(--color-content-foreground)\n background: var(--color-content-background)\n overflow-wrap: break-word\n\n.page\n display: flex\n // fill the viewport for pages with little content.\n min-height: 100%\n\n.mobile-header\n width: 100%\n height: var(--header-height)\n background-color: var(--color-header-background)\n color: var(--color-header-text)\n border-bottom: 1px solid var(--color-header-border)\n\n // Looks like sub-script/super-script have this, and we need this to\n // be \"on top\" of those.\n z-index: 10\n\n // We don't show the header on large screens.\n display: none\n\n // Add shadow when scrolled\n &.scrolled\n border-bottom: none\n box-shadow: 0 0 0.2rem rgba(0, 0, 0, 0.1), 0 0.2rem 0.4rem rgba(0, 0, 0, 0.2)\n\n .header-center\n a\n color: var(--color-header-text)\n text-decoration: none\n\n.main\n display: flex\n flex: 1\n\n// Sidebar (left) also covers the entire left portion of screen.\n.sidebar-drawer\n box-sizing: border-box\n\n border-right: 1px solid var(--color-sidebar-background-border)\n background: var(--color-sidebar-background)\n\n display: flex\n justify-content: flex-end\n // These next two lines took me two days to figure out.\n width: calc((100% - #{$full-width}) / 2 + #{$sidebar-width})\n min-width: $sidebar-width\n\n// Scroll-along sidebars\n.sidebar-container,\n.toc-drawer\n box-sizing: border-box\n width: $sidebar-width\n\n.toc-drawer\n background: var(--color-toc-background)\n // See HACK described on top of this document\n padding-right: 1rem\n\n.sidebar-sticky,\n.toc-sticky\n position: sticky\n top: 0\n height: min(100%, 100vh)\n height: 100vh\n\n display: flex\n flex-direction: column\n\n.sidebar-scroll,\n.toc-scroll\n flex-grow: 1\n flex-shrink: 1\n\n overflow: auto\n scroll-behavior: smooth\n\n// Central items.\n.content\n padding: 0 $content-padding\n width: $content-width\n\n display: flex\n flex-direction: column\n justify-content: space-between\n\n.icon\n display: inline-block\n height: 1rem\n width: 1rem\n svg\n width: 100%\n height: 100%\n\n//\n// Accommodate announcement banner\n//\n.announcement\n background-color: var(--color-announcement-background)\n color: var(--color-announcement-text)\n\n height: var(--header-height)\n display: flex\n align-items: center\n overflow-x: auto\n & + .page\n min-height: calc(100% - var(--header-height))\n\n.announcement-content\n box-sizing: border-box\n padding: 0.5rem\n min-width: 100%\n white-space: nowrap\n text-align: center\n\n a\n color: var(--color-announcement-text)\n text-decoration-color: var(--color-announcement-text)\n\n &:hover\n color: var(--color-announcement-text)\n text-decoration-color: var(--color-link--hover)\n\n////////////////////////////////////////////////////////////////////////////////\n// Toggles for theme\n////////////////////////////////////////////////////////////////////////////////\n.no-js .theme-toggle-container // don't show theme toggle if there's no JS\n display: none\n\n.theme-toggle-container\n display: flex\n\n.theme-toggle\n display: flex\n cursor: pointer\n border: none\n padding: 0\n background: transparent\n\n.theme-toggle svg\n height: 1.25rem\n width: 1.25rem\n color: var(--color-foreground-primary)\n display: none\n\n.theme-toggle-header\n display: flex\n align-items: center\n justify-content: center\n\n////////////////////////////////////////////////////////////////////////////////\n// Toggles for elements\n////////////////////////////////////////////////////////////////////////////////\n.toc-overlay-icon, .nav-overlay-icon\n display: none\n cursor: pointer\n\n .icon\n color: var(--color-foreground-secondary)\n height: 1.5rem\n width: 1.5rem\n\n.toc-header-icon, .nav-overlay-icon\n // for when we set display: flex\n justify-content: center\n align-items: center\n\n.toc-content-icon\n height: 1.5rem\n width: 1.5rem\n\n.content-icon-container\n float: right\n display: flex\n margin-top: 1.5rem\n margin-left: 1rem\n margin-bottom: 1rem\n gap: 0.5rem\n\n .edit-this-page, .view-this-page\n svg\n color: inherit\n height: 1.25rem\n width: 1.25rem\n\n.sidebar-toggle\n position: absolute\n display: none\n// \n.sidebar-toggle[name=\"__toc\"]\n left: 20px\n.sidebar-toggle:checked\n left: 40px\n// \n\n.overlay\n position: fixed\n top: 0\n width: 0\n height: 0\n\n transition: width 0ms, height 0ms, opacity 250ms ease-out\n\n opacity: 0\n background-color: rgba(0, 0, 0, 0.54)\n.sidebar-overlay\n z-index: 20\n.toc-overlay\n z-index: 40\n\n// Keep things on top and smooth.\n.sidebar-drawer\n z-index: 30\n transition: left 250ms ease-in-out\n.toc-drawer\n z-index: 50\n transition: right 250ms ease-in-out\n\n// Show the Sidebar\n#__navigation:checked\n & ~ .sidebar-overlay\n width: 100%\n height: 100%\n opacity: 1\n & ~ .page\n .sidebar-drawer\n top: 0\n left: 0\n // Show the toc sidebar\n#__toc:checked\n & ~ .toc-overlay\n width: 100%\n height: 100%\n opacity: 1\n & ~ .page\n .toc-drawer\n top: 0\n right: 0\n\n////////////////////////////////////////////////////////////////////////////////\n// Back to top\n////////////////////////////////////////////////////////////////////////////////\n.back-to-top\n text-decoration: none\n\n display: none\n position: fixed\n left: 0\n top: 1rem\n padding: 0.5rem\n padding-right: 0.75rem\n border-radius: 1rem\n font-size: 0.8125rem\n\n background: var(--color-background-primary)\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), #6b728080 0px 0px 1px 0px\n\n z-index: 10\n\n margin-left: 50%\n transform: translateX(-50%)\n svg\n height: 1rem\n width: 1rem\n fill: currentColor\n display: inline-block\n\n span\n margin-left: 0.25rem\n\n .show-back-to-top &\n display: flex\n align-items: center\n\n////////////////////////////////////////////////////////////////////////////////\n// Responsive layouting\n////////////////////////////////////////////////////////////////////////////////\n// Make things a bit bigger on bigger screens.\n@media (min-width: $full-width + $sidebar-width)\n html\n font-size: 110%\n\n@media (max-width: $full-width)\n // Collapse \"toc\" into the icon.\n .toc-content-icon\n display: flex\n .toc-drawer\n position: fixed\n height: 100vh\n top: 0\n right: -$sidebar-width\n border-left: 1px solid var(--color-background-muted)\n .toc-tree\n border-left: none\n font-size: var(--toc-font-size--mobile)\n\n // Accomodate for a changed content width.\n .sidebar-drawer\n width: calc((100% - #{$full-width - $sidebar-width}) / 2 + #{$sidebar-width})\n\n@media (max-width: $full-width - $sidebar-width)\n // Collapse \"navigation\".\n .nav-overlay-icon\n display: flex\n .sidebar-drawer\n position: fixed\n height: 100vh\n width: $sidebar-width\n\n top: 0\n left: -$sidebar-width\n\n // Swap which icon is visible.\n .toc-header-icon, .theme-toggle-header\n display: flex\n .toc-content-icon, .theme-toggle-content\n display: none\n\n // Show the header.\n .mobile-header\n position: sticky\n top: 0\n display: flex\n justify-content: space-between\n align-items: center\n\n .header-left,\n .header-right\n display: flex\n height: var(--header-height)\n padding: 0 var(--header-padding)\n label\n height: 100%\n width: 100%\n user-select: none\n\n .nav-overlay-icon .icon,\n .theme-toggle svg\n height: 1.5rem\n width: 1.5rem\n\n // Add a scroll margin for the content\n :target\n scroll-margin-top: calc(var(--header-height) + 2.5rem)\n\n // Show back-to-top below the header\n .back-to-top\n top: calc(var(--header-height) + 0.5rem)\n\n // Center the page, and accommodate for the header.\n .page\n flex-direction: column\n justify-content: center\n .content\n margin-left: auto\n margin-right: auto\n\n@media (max-width: $content-width + 2* $content-padding)\n // Content should respect window limits.\n .content\n width: 100%\n overflow-x: auto\n\n@media (max-width: $content-width)\n .content\n padding: 0 $content-padding--small\n // Don't float sidebars to the right.\n article aside.sidebar\n float: none\n width: 100%\n margin: 1rem 0\n","// Overall Layout Variables\n//\n// Because CSS variables can't be used in media queries. The fact that this\n// makes the layout non-user-configurable is a good thing.\n$content-padding: 3em;\n$content-padding--small: 1em;\n$content-width: 46em;\n$sidebar-width: 15em;\n$full-width: $content-width + 2 * ($content-padding + $sidebar-width);\n","//\n// The design here is strongly inspired by mkdocs-material.\n.admonition, .topic\n margin: 1rem auto\n padding: 0 0.5rem 0.5rem 0.5rem\n\n background: var(--color-admonition-background)\n\n border-radius: 0.2rem\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.0625rem rgba(0, 0, 0, 0.1)\n\n font-size: var(--admonition-font-size)\n\n overflow: hidden\n page-break-inside: avoid\n\n // First element should have no margin, since the title has it.\n > :nth-child(2)\n margin-top: 0\n\n // Last item should have no margin, since we'll control that w/ padding\n > :last-child\n margin-bottom: 0\n\n.admonition p.admonition-title,\np.topic-title\n position: relative\n margin: 0 -0.5rem 0.5rem\n padding-left: 2rem\n padding-right: .5rem\n padding-top: .4rem\n padding-bottom: .4rem\n\n font-weight: 500\n font-size: var(--admonition-title-font-size)\n line-height: 1.3\n\n // Our fancy icon\n &::before\n content: \"\"\n position: absolute\n left: 0.5rem\n width: 1rem\n height: 1rem\n\n// Default styles\np.admonition-title\n background-color: var(--color-admonition-title-background)\n &::before\n background-color: var(--color-admonition-title)\n mask-image: var(--icon-admonition-default)\n mask-repeat: no-repeat\n\np.topic-title\n background-color: var(--color-topic-title-background)\n &::before\n background-color: var(--color-topic-title)\n mask-image: var(--icon-topic-default)\n mask-repeat: no-repeat\n\n//\n// Variants\n//\n.admonition\n border-left: 0.2rem solid var(--color-admonition-title)\n\n @each $type, $value in $admonitions\n &.#{$type}\n border-left-color: var(--color-admonition-title--#{$type})\n > .admonition-title\n background-color: var(--color-admonition-title-background--#{$type})\n &::before\n background-color: var(--color-admonition-title--#{$type})\n mask-image: var(--icon-#{nth($value, 2)})\n\n.admonition-todo > .admonition-title\n text-transform: uppercase\n","// This file stylizes the API documentation (stuff generated by autodoc). It's\n// deeply nested due to how autodoc structures the HTML without enough classes\n// to select the relevant items.\n\n// API docs!\ndl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)\n // Tweak the spacing of all the things!\n dd\n margin-left: 2rem\n > :first-child\n margin-top: 0.125rem\n > :last-child\n margin-bottom: 0.75rem\n\n // This is used for the arguments\n .field-list\n margin-bottom: 0.75rem\n\n // \"Headings\" (like \"Parameters\" and \"Return\")\n > dt\n text-transform: uppercase\n font-size: var(--font-size--small)\n\n dd:empty\n margin-bottom: 0.5rem\n dd > ul\n margin-left: -1.2rem\n > li\n > p:nth-child(2)\n margin-top: 0\n // When the last-empty-paragraph follows a paragraph, it doesn't need\n // to augument the existing spacing.\n > p + p:last-child:empty\n margin-top: 0\n margin-bottom: 0\n\n // Colorize the elements\n > dt\n color: var(--color-api-overall)\n\n.sig:not(.sig-inline)\n font-weight: bold\n\n font-size: var(--api-font-size)\n font-family: var(--font-stack--monospace)\n\n margin-left: -0.25rem\n margin-right: -0.25rem\n padding-top: 0.25rem\n padding-bottom: 0.25rem\n padding-right: 0.5rem\n\n // These are intentionally em, to properly match the font size.\n padding-left: 3em\n text-indent: -2.5em\n\n border-radius: 0.25rem\n\n background: var(--color-api-background)\n transition: background 100ms ease-out\n\n &:hover\n background: var(--color-api-background-hover)\n\n // adjust the size of the [source] link on the right.\n a.reference\n .viewcode-link\n font-weight: normal\n width: 4.25rem\n\nem.property\n font-style: normal\n &:first-child\n color: var(--color-api-keyword)\n.sig-name\n color: var(--color-api-name)\n.sig-prename\n font-weight: normal\n color: var(--color-api-pre-name)\n.sig-paren\n color: var(--color-api-paren)\n.sig-param\n font-style: normal\n\ndiv.versionadded,\ndiv.versionchanged,\ndiv.deprecated,\ndiv.versionremoved\n border-left: 0.1875rem solid\n border-radius: 0.125rem\n\n padding-left: 0.75rem\n\n p\n margin-top: 0.125rem\n margin-bottom: 0.125rem\n\ndiv.versionadded\n border-color: var(--color-api-added-border)\n .versionmodified\n color: var(--color-api-added)\n\ndiv.versionchanged\n border-color: var(--color-api-changed-border)\n .versionmodified\n color: var(--color-api-changed)\n\ndiv.deprecated\n border-color: var(--color-api-deprecated-border)\n .versionmodified\n color: var(--color-api-deprecated)\n\ndiv.versionremoved\n border-color: var(--color-api-removed-border)\n .versionmodified\n color: var(--color-api-removed)\n\n// Align the [docs] and [source] to the right.\n.viewcode-link, .viewcode-back\n float: right\n text-align: right\n",".line-block\n margin-top: 0.5rem\n margin-bottom: 0.75rem\n .line-block\n margin-top: 0rem\n margin-bottom: 0rem\n padding-left: 1rem\n","// Captions\narticle p.caption,\ntable > caption,\n.code-block-caption\n font-size: var(--font-size--small)\n text-align: center\n\n// Caption above a TOCTree\n.toctree-wrapper.compound\n .caption, :not(.caption) > .caption-text\n font-size: var(--font-size--small)\n text-transform: uppercase\n\n text-align: initial\n margin-bottom: 0\n\n > ul\n margin-top: 0\n margin-bottom: 0\n","// Inline code\ncode.literal, .sig-inline\n background: var(--color-inline-code-background)\n border-radius: 0.2em\n // Make the font smaller, and use padding to recover.\n font-size: var(--font-size--small--2)\n padding: 0.1em 0.2em\n\n pre.literal-block &\n font-size: inherit\n padding: 0\n\n p &\n border: 1px solid var(--color-background-border)\n\n.sig-inline\n font-family: var(--font-stack--monospace)\n\n// Code and Literal Blocks\n$code-spacing-vertical: 0.625rem\n$code-spacing-horizontal: 0.875rem\n\n// Wraps every literal block + line numbers.\ndiv[class*=\" highlight-\"],\ndiv[class^=\"highlight-\"]\n margin: 1em 0\n display: flex\n\n .table-wrapper\n margin: 0\n padding: 0\n\npre\n margin: 0\n padding: 0\n overflow: auto\n\n // Needed to have more specificity than pygments' \"pre\" selector. :(\n article[role=\"main\"] .highlight &\n line-height: 1.5\n\n &.literal-block,\n .highlight &\n font-size: var(--code-font-size)\n padding: $code-spacing-vertical $code-spacing-horizontal\n\n // Make it look like all the other blocks.\n &.literal-block\n margin-top: 1rem\n margin-bottom: 1rem\n\n border-radius: 0.2rem\n background-color: var(--color-code-background)\n color: var(--color-code-foreground)\n\n// All code is always contained in this.\n.highlight\n width: 100%\n border-radius: 0.2rem\n\n // Make line numbers and prompts un-selectable.\n .gp, span.linenos\n user-select: none\n pointer-events: none\n\n // Expand the line-highlighting.\n .hll\n display: block\n margin-left: -$code-spacing-horizontal\n margin-right: -$code-spacing-horizontal\n padding-left: $code-spacing-horizontal\n padding-right: $code-spacing-horizontal\n\n/* Make code block captions be nicely integrated */\n.code-block-caption\n display: flex\n padding: $code-spacing-vertical $code-spacing-horizontal\n\n border-radius: 0.25rem\n border-bottom-left-radius: 0\n border-bottom-right-radius: 0\n font-weight: 300\n border-bottom: 1px solid\n\n background-color: var(--color-code-background)\n color: var(--color-code-foreground)\n border-color: var(--color-background-border)\n\n + div[class]\n margin-top: 0\n pre\n border-top-left-radius: 0\n border-top-right-radius: 0\n\n// When `html_codeblock_linenos_style` is table.\n.highlighttable\n width: 100%\n display: block\n tbody\n display: block\n\n tr\n display: flex\n\n // Line numbers\n td.linenos\n background-color: var(--color-code-background)\n color: var(--color-code-foreground)\n padding: $code-spacing-vertical $code-spacing-horizontal\n padding-right: 0\n border-top-left-radius: 0.2rem\n border-bottom-left-radius: 0.2rem\n\n .linenodiv\n padding-right: $code-spacing-horizontal\n font-size: var(--code-font-size)\n box-shadow: -0.0625rem 0 var(--color-foreground-border) inset\n\n // Actual code\n td.code\n padding: 0\n display: block\n flex: 1\n overflow: hidden\n\n .highlight\n border-top-left-radius: 0\n border-bottom-left-radius: 0\n\n// When `html_codeblock_linenos_style` is inline.\n.highlight\n span.linenos\n display: inline-block\n padding-left: 0\n padding-right: $code-spacing-horizontal\n margin-right: $code-spacing-horizontal\n box-shadow: -0.0625rem 0 var(--color-foreground-border) inset\n","// Inline Footnote Reference\n.footnote-reference\n font-size: var(--font-size--small--4)\n vertical-align: super\n\n// Definition list, listing the content of each note.\n// docutils <= 0.17\ndl.footnote.brackets\n font-size: var(--font-size--small)\n color: var(--color-foreground-secondary)\n\n display: grid\n grid-template-columns: max-content auto\n dt\n margin: 0\n > .fn-backref\n margin-left: 0.25rem\n\n &:after\n content: \":\"\n\n .brackets\n &:before\n content: \"[\"\n &:after\n content: \"]\"\n\n dd\n margin: 0\n padding: 0 1rem\n\n// docutils >= 0.18\naside.footnote\n font-size: var(--font-size--small)\n color: var(--color-foreground-secondary)\n\naside.footnote > span,\ndiv.citation > span\n float: left\n font-weight: 500\n padding-right: 0.25rem\n\naside.footnote > *:not(span),\ndiv.citation > p\n margin-left: 2rem\n","//\n// Figures\n//\nimg\n box-sizing: border-box\n max-width: 100%\n height: auto\n\narticle\n figure, .figure\n border-radius: 0.2rem\n\n margin: 0\n :last-child\n margin-bottom: 0\n\n .align-left\n float: left\n clear: left\n margin: 0 1rem 1rem\n\n .align-right\n float: right\n clear: right\n margin: 0 1rem 1rem\n\n .align-default,\n .align-center\n display: block\n text-align: center\n margin-left: auto\n margin-right: auto\n\n // WELL, table needs to be stylised like a table.\n table.align-default\n display: table\n text-align: initial\n",".genindex-jumpbox, .domainindex-jumpbox\n border-top: 1px solid var(--color-background-border)\n border-bottom: 1px solid var(--color-background-border)\n padding: 0.25rem\n\n.genindex-section, .domainindex-section\n h2\n margin-top: 0.75rem\n margin-bottom: 0.5rem\n ul\n margin-top: 0\n margin-bottom: 0\n","ul,\nol\n padding-left: 1.2rem\n\n // Space lists out like paragraphs\n margin-top: 1rem\n margin-bottom: 1rem\n // reduce margins within li.\n li\n > p:first-child\n margin-top: 0.25rem\n margin-bottom: 0.25rem\n\n > p:last-child\n margin-top: 0.25rem\n\n > ul,\n > ol\n margin-top: 0.5rem\n margin-bottom: 0.5rem\n\nol\n &.arabic\n list-style: decimal\n &.loweralpha\n list-style: lower-alpha\n &.upperalpha\n list-style: upper-alpha\n &.lowerroman\n list-style: lower-roman\n &.upperroman\n list-style: upper-roman\n\n// Don't space lists out when they're \"simple\" or in a `.. toctree::`\n.simple,\n.toctree-wrapper\n li\n > ul,\n > ol\n margin-top: 0\n margin-bottom: 0\n\n// Definition Lists\n.field-list,\n.option-list,\ndl:not([class]),\ndl.simple,\ndl.footnote,\ndl.glossary\n dt\n font-weight: 500\n margin-top: 0.25rem\n + dt\n margin-top: 0\n\n .classifier::before\n content: \":\"\n margin-left: 0.2rem\n margin-right: 0.2rem\n\n dd\n > p:first-child,\n ul\n margin-top: 0.125rem\n\n ul\n margin-bottom: 0.125rem\n",".math-wrapper\n width: 100%\n overflow-x: auto\n\ndiv.math\n position: relative\n text-align: center\n\n .headerlink,\n &:focus .headerlink\n display: none\n\n &:hover .headerlink\n display: inline-block\n\n span.eqno\n position: absolute\n right: 0.5rem\n top: 50%\n transform: translate(0, -50%)\n z-index: 1\n","// Abbreviations\nabbr[title]\n cursor: help\n\n// \"Problematic\" content, as identified by Sphinx\n.problematic\n color: var(--color-problematic)\n\n// Keyboard / Mouse \"instructions\"\nkbd:not(.compound)\n margin: 0 0.2rem\n padding: 0 0.2rem\n border-radius: 0.2rem\n border: 1px solid var(--color-foreground-border)\n color: var(--color-foreground-primary)\n vertical-align: text-bottom\n\n font-size: var(--font-size--small--3)\n display: inline-block\n\n box-shadow: 0 0.0625rem 0 rgba(0, 0, 0, 0.2), inset 0 0 0 0.125rem var(--color-background-primary)\n\n background-color: var(--color-background-secondary)\n\n// Blockquote\nblockquote\n border-left: 4px solid var(--color-background-border)\n background: var(--color-background-secondary)\n\n margin-left: 0\n margin-right: 0\n padding: 0.5rem 1rem\n\n .attribution\n font-weight: 600\n text-align: right\n\n &.pull-quote,\n &.highlights\n font-size: 1.25em\n\n &.epigraph,\n &.pull-quote\n border-left-width: 0\n border-radius: 0.5rem\n\n &.highlights\n border-left-width: 0\n background: transparent\n\n// Center align embedded-in-text images\np .reference img\n vertical-align: middle\n","p.rubric\n line-height: 1.25\n font-weight: bold\n font-size: 1.125em\n\n // For Numpy-style documentation that's got rubrics within it.\n // https://github.com/pradyunsg/furo/discussions/505\n dd &\n line-height: inherit\n font-weight: inherit\n\n font-size: var(--font-size--small)\n text-transform: uppercase\n","article .sidebar\n float: right\n clear: right\n width: 30%\n\n margin-left: 1rem\n margin-right: 0\n\n border-radius: 0.2rem\n background-color: var(--color-background-secondary)\n border: var(--color-background-border) 1px solid\n\n > *\n padding-left: 1rem\n padding-right: 1rem\n\n > ul, > ol // lists need additional padding, because bullets.\n padding-left: 2.2rem\n\n .sidebar-title\n margin: 0\n padding: 0.5rem 1rem\n border-bottom: var(--color-background-border) 1px solid\n\n font-weight: 500\n\n// TODO: subtitle\n// TODO: dedicated variables?\n",".table-wrapper\n width: 100%\n overflow-x: auto\n margin-top: 1rem\n margin-bottom: 0.5rem\n padding: 0.2rem 0.2rem 0.75rem\n\ntable.docutils\n border-radius: 0.2rem\n border-spacing: 0\n border-collapse: collapse\n\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.0625rem rgba(0, 0, 0, 0.1)\n\n th\n background: var(--color-table-header-background)\n\n td,\n th\n // Space things out properly\n padding: 0 0.25rem\n\n // Get the borders looking just-right.\n border-left: 1px solid var(--color-table-border)\n border-right: 1px solid var(--color-table-border)\n border-bottom: 1px solid var(--color-table-border)\n\n p\n margin: 0.25rem\n\n &:first-child\n border-left: none\n &:last-child\n border-right: none\n\n // MyST-parser tables set these classes for control of column alignment\n &.text-left\n text-align: left\n &.text-right\n text-align: right\n &.text-center\n text-align: center\n",":target\n scroll-margin-top: 2.5rem\n\n@media (max-width: $full-width - $sidebar-width)\n :target\n scroll-margin-top: calc(2.5rem + var(--header-height))\n\n // When a heading is selected\n section > span:target\n scroll-margin-top: calc(2.8rem + var(--header-height))\n\n// Permalinks\n.headerlink\n font-weight: 100\n user-select: none\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\ndl dt,\np.caption,\nfigcaption p,\ntable > caption,\n.code-block-caption\n > .headerlink\n margin-left: 0.5rem\n visibility: hidden\n &:hover > .headerlink\n visibility: visible\n\n // Don't change to link-like, if someone adds the contents directive.\n > .toc-backref\n color: inherit\n text-decoration-line: none\n\n// Figure and table captions are special.\nfigure:hover > figcaption > p > .headerlink,\ntable:hover > caption > .headerlink\n visibility: visible\n\n:target >, // Regular section[id] style anchors\nspan:target ~ // Non-regular span[id] style \"extra\" anchors\n h1,\n h2,\n h3,\n h4,\n h5,\n h6\n &:nth-of-type(1)\n background-color: var(--color-highlight-on-target)\n // .headerlink\n // visibility: visible\n code.literal\n background-color: transparent\n\ntable:target > caption,\nfigure:target\n background-color: var(--color-highlight-on-target)\n\n// Inline page contents\n.this-will-duplicate-information-and-it-is-still-useful-here li :target\n background-color: var(--color-highlight-on-target)\n\n// Code block permalinks\n.literal-block-wrapper:target .code-block-caption\n background-color: var(--color-highlight-on-target)\n\n// When a definition list item is selected\n//\n// There isn't really an alternative to !important here, due to the\n// high-specificity of API documentation's selector.\ndt:target\n background-color: var(--color-highlight-on-target) !important\n\n// When a footnote reference is selected\n.footnote > dt:target + dd,\n.footnote-reference:target\n background-color: var(--color-highlight-on-target)\n",".guilabel\n background-color: var(--color-guilabel-background)\n border: 1px solid var(--color-guilabel-border)\n color: var(--color-guilabel-text)\n\n padding: 0 0.3em\n border-radius: 0.5em\n font-size: 0.9em\n","// This file contains the styles used for stylizing the footer that's shown\n// below the content.\n\nfooter\n font-size: var(--font-size--small)\n display: flex\n flex-direction: column\n\n margin-top: 2rem\n\n// Bottom of page information\n.bottom-of-page\n display: flex\n align-items: center\n justify-content: space-between\n\n margin-top: 1rem\n padding-top: 1rem\n padding-bottom: 1rem\n\n color: var(--color-foreground-secondary)\n border-top: 1px solid var(--color-background-border)\n\n line-height: 1.5\n\n @media (max-width: $content-width)\n text-align: center\n flex-direction: column-reverse\n gap: 0.25rem\n\n .left-details\n font-size: var(--font-size--small)\n\n .right-details\n display: flex\n flex-direction: column\n gap: 0.25rem\n text-align: right\n\n .icons\n display: flex\n justify-content: flex-end\n gap: 0.25rem\n font-size: 1rem\n\n a\n text-decoration: none\n\n svg,\n img\n font-size: 1.125rem\n height: 1em\n width: 1em\n\n// Next/Prev page information\n.related-pages\n a\n display: flex\n align-items: center\n\n text-decoration: none\n &:hover .page-info .title\n text-decoration: underline\n color: var(--color-link)\n text-decoration-color: var(--color-link-underline)\n\n svg.furo-related-icon,\n svg.furo-related-icon > use\n flex-shrink: 0\n\n color: var(--color-foreground-border)\n\n width: 0.75rem\n height: 0.75rem\n margin: 0 0.5rem\n\n &.next-page\n max-width: 50%\n\n float: right\n clear: right\n text-align: right\n\n &.prev-page\n max-width: 50%\n\n float: left\n clear: left\n\n svg\n transform: rotate(180deg)\n\n.page-info\n display: flex\n flex-direction: column\n overflow-wrap: anywhere\n\n .next-page &\n align-items: flex-end\n\n .context\n display: flex\n align-items: center\n\n padding-bottom: 0.1rem\n\n color: var(--color-foreground-muted)\n font-size: var(--font-size--small)\n text-decoration: none\n","// This file contains the styles for the contents of the left sidebar, which\n// contains the navigation tree, logo, search etc.\n\n////////////////////////////////////////////////////////////////////////////////\n// Brand on top of the scrollable tree.\n////////////////////////////////////////////////////////////////////////////////\n.sidebar-brand\n display: flex\n flex-direction: column\n flex-shrink: 0\n\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n text-decoration: none\n\n.sidebar-brand-text\n color: var(--color-sidebar-brand-text)\n overflow-wrap: break-word\n margin: var(--sidebar-item-spacing-vertical) 0\n font-size: 1.5rem\n\n.sidebar-logo-container\n margin: var(--sidebar-item-spacing-vertical) 0\n\n.sidebar-logo\n margin: 0 auto\n display: block\n max-width: 100%\n\n////////////////////////////////////////////////////////////////////////////////\n// Search\n////////////////////////////////////////////////////////////////////////////////\n.sidebar-search-container\n display: flex\n align-items: center\n margin-top: var(--sidebar-search-space-above)\n\n position: relative\n\n background: var(--color-sidebar-search-background)\n &:hover,\n &:focus-within\n background: var(--color-sidebar-search-background--focus)\n\n &::before\n content: \"\"\n position: absolute\n left: var(--sidebar-item-spacing-horizontal)\n width: var(--sidebar-search-icon-size)\n height: var(--sidebar-search-icon-size)\n\n background-color: var(--color-sidebar-search-icon)\n mask-image: var(--icon-search)\n\n.sidebar-search\n box-sizing: border-box\n\n border: none\n border-top: 1px solid var(--color-sidebar-search-border)\n border-bottom: 1px solid var(--color-sidebar-search-border)\n\n padding-top: var(--sidebar-search-input-spacing-vertical)\n padding-bottom: var(--sidebar-search-input-spacing-vertical)\n padding-right: var(--sidebar-search-input-spacing-horizontal)\n padding-left: calc(var(--sidebar-item-spacing-horizontal) + var(--sidebar-search-input-spacing-horizontal) + var(--sidebar-search-icon-size))\n\n width: 100%\n\n color: var(--color-sidebar-search-foreground)\n background: transparent\n z-index: 10\n\n &:focus\n outline: none\n\n &::placeholder\n font-size: var(--sidebar-search-input-font-size)\n\n//\n// Hide Search Matches link\n//\n#searchbox .highlight-link\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal) 0\n margin: 0\n text-align: center\n\n a\n color: var(--color-sidebar-search-icon)\n font-size: var(--font-size--small--2)\n\n////////////////////////////////////////////////////////////////////////////////\n// Structure/Skeleton of the navigation tree (left)\n////////////////////////////////////////////////////////////////////////////////\n.sidebar-tree\n font-size: var(--sidebar-item-font-size)\n margin-top: var(--sidebar-tree-space-above)\n margin-bottom: var(--sidebar-item-spacing-vertical)\n\n ul\n padding: 0\n margin-top: 0\n margin-bottom: 0\n\n display: flex\n flex-direction: column\n\n list-style: none\n\n li\n position: relative\n margin: 0\n\n > ul\n margin-left: var(--sidebar-item-spacing-horizontal)\n\n .icon\n color: var(--color-sidebar-link-text)\n\n .reference\n box-sizing: border-box\n color: var(--color-sidebar-link-text)\n\n // Fill the parent.\n display: inline-block\n line-height: var(--sidebar-item-line-height)\n text-decoration: none\n\n // Don't allow long words to cause wrapping.\n overflow-wrap: anywhere\n\n height: 100%\n width: 100%\n\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n\n &:hover\n color: var(--color-sidebar-link-text)\n background: var(--color-sidebar-item-background--hover)\n\n // Add a nice little \"external-link\" arrow here.\n &.external::after\n content: url('data:image/svg+xml,')\n margin: 0 0.25rem\n vertical-align: middle\n color: var(--color-sidebar-link-text)\n\n // Make the current page reference bold.\n .current-page > .reference\n font-weight: bold\n\n label\n position: absolute\n top: 0\n right: 0\n height: var(--sidebar-item-height)\n width: var(--sidebar-expander-width)\n\n cursor: pointer\n user-select: none\n\n display: flex\n justify-content: center\n align-items: center\n\n .caption, :not(.caption) > .caption-text\n font-size: var(--sidebar-caption-font-size)\n color: var(--color-sidebar-caption-text)\n\n font-weight: bold\n text-transform: uppercase\n\n margin: var(--sidebar-caption-space-above) 0 0 0\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n\n // If it has children, add a bit more padding to wrap the content to avoid\n // overlapping with the