From 2889e5ade15edd17d8091f43ce288460d8036d2e Mon Sep 17 00:00:00 2001 From: Andrey Kislyuk Date: Tue, 10 Sep 2024 18:16:53 -0700 Subject: [PATCH] Docs for v4.0.2 --- .buildinfo | 4 + .doctrees/changelog.doctree | Bin 0 -> 88012 bytes .doctrees/environment.pickle | Bin 0 -> 3882418 bytes .doctrees/index.doctree | Bin 0 -> 466725 bytes .nojekyll | 0 _modules/index.html | 288 ++++ _modules/signxml/algorithms.html | 496 +++++++ _modules/signxml/exceptions.html | 330 +++++ _modules/signxml/signer.html | 763 ++++++++++ _modules/signxml/verifier.html | 932 ++++++++++++ _modules/signxml/xades/xades.html | 700 +++++++++ _sources/changelog.rst.txt | 3 + _sources/index.rst.txt | 26 + _static/basic.css | 925 ++++++++++++ _static/check-solid.svg | 4 + _static/clipboard.min.js | 7 + _static/copy-button.svg | 5 + _static/copybutton.css | 94 ++ _static/copybutton.js | 248 ++++ _static/copybutton_funcs.js | 73 + _static/debug.css | 69 + _static/doctools.js | 156 ++ _static/documentation_options.js | 13 + _static/file.png | Bin 0 -> 286 bytes _static/language_data.js | 199 +++ _static/minus.png | Bin 0 -> 90 bytes _static/plus.png | Bin 0 -> 90 bytes _static/pygments.css | 249 ++++ _static/scripts/furo-extensions.js | 0 _static/scripts/furo.js | 3 + _static/scripts/furo.js.LICENSE.txt | 7 + _static/scripts/furo.js.map | 1 + _static/searchtools.js | 619 ++++++++ _static/skeleton.css | 296 ++++ _static/sphinx_highlight.js | 154 ++ _static/styles/furo-extensions.css | 2 + _static/styles/furo-extensions.css.map | 1 + _static/styles/furo.css | 2 + _static/styles/furo.css.map | 1 + changelog.html | 973 +++++++++++++ genindex.html | 661 +++++++++ index.html | 1846 ++++++++++++++++++++++++ objects.inv | Bin 0 -> 1355 bytes py-modindex.html | 307 ++++ search.html | 297 ++++ searchindex.js | 1 + 46 files changed, 10755 insertions(+) create mode 100644 .buildinfo create mode 100644 .doctrees/changelog.doctree create mode 100644 .doctrees/environment.pickle create mode 100644 .doctrees/index.doctree create mode 100644 .nojekyll create mode 100644 _modules/index.html create mode 100644 _modules/signxml/algorithms.html create mode 100644 _modules/signxml/exceptions.html create mode 100644 _modules/signxml/signer.html create mode 100644 _modules/signxml/verifier.html create mode 100644 _modules/signxml/xades/xades.html create mode 100644 _sources/changelog.rst.txt create mode 100644 _sources/index.rst.txt create mode 100644 _static/basic.css create mode 100644 _static/check-solid.svg create mode 100644 _static/clipboard.min.js create mode 100644 _static/copy-button.svg create mode 100644 _static/copybutton.css create mode 100644 _static/copybutton.js create mode 100644 _static/copybutton_funcs.js create mode 100644 _static/debug.css create mode 100644 _static/doctools.js create mode 100644 _static/documentation_options.js create mode 100644 _static/file.png create mode 100644 _static/language_data.js create mode 100644 _static/minus.png create mode 100644 _static/plus.png create mode 100644 _static/pygments.css create mode 100644 _static/scripts/furo-extensions.js create mode 100644 _static/scripts/furo.js create mode 100644 _static/scripts/furo.js.LICENSE.txt create mode 100644 _static/scripts/furo.js.map create mode 100644 _static/searchtools.js create mode 100644 _static/skeleton.css create mode 100644 _static/sphinx_highlight.js create mode 100644 _static/styles/furo-extensions.css create mode 100644 _static/styles/furo-extensions.css.map create mode 100644 _static/styles/furo.css create mode 100644 _static/styles/furo.css.map create mode 100644 changelog.html create mode 100644 genindex.html create mode 100644 index.html create mode 100644 objects.inv create mode 100644 py-modindex.html create mode 100644 search.html create mode 100644 searchindex.js diff --git a/.buildinfo b/.buildinfo new file mode 100644 index 00000000..b6eb2e05 --- /dev/null +++ b/.buildinfo @@ -0,0 +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: 5a727cc07eb05212b5ea8983668866ad +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/.doctrees/changelog.doctree b/.doctrees/changelog.doctree new file mode 100644 index 0000000000000000000000000000000000000000..830596b4db18f029bfddbf719188c74f5dbcb5b2 GIT binary patch literal 88012 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 literal 0 HcmV?d00001 diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle new file mode 100644 index 0000000000000000000000000000000000000000..fb469033d29eefe7dc586540af579393619cf725 GIT binary patch literal 3882418 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
    2)f2SxD_5BP09|RkH^} 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%0D>i4kNJO_l^eDOI`ltR%`Do`~>6)*l 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 Cd}~Gk literal 0 HcmV?d00001 diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/_modules/index.html b/_modules/index.html new file mode 100644 index 00000000..e692960d --- /dev/null +++ b/_modules/index.html @@ -0,0 +1,288 @@ + + + + + + + + Overview: module code - signxml documentation + + + + + + + + + + + + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + Auto light/dark, in light mode + + + + + + + + + + + + + + + Auto light/dark, in dark mode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Skip to content + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    +
    + +
    + +
    + +
    +
    + + +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    + +
    +
    + +
    +
    + +
    +
    + + + + + + + \ No newline at end of file diff --git a/_modules/signxml/algorithms.html b/_modules/signxml/algorithms.html new file mode 100644 index 00000000..28311620 --- /dev/null +++ b/_modules/signxml/algorithms.html @@ -0,0 +1,496 @@ + + + + + + + + signxml.algorithms - signxml documentation + + + + + + + + + + + + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + Auto light/dark, in light mode + + + + + + + + + + + + + + + Auto light/dark, in dark mode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Skip to content + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    +
    + +
    + +
    +
    +

    Source code for signxml.algorithms

    +from enum import Enum
    +from typing import Callable, Dict, Type, Union
    +
    +from cryptography.hazmat.primitives import hashes
    +
    +from .exceptions import InvalidInput
    +
    +
    +
    +[docs] +class SignatureConstructionMethod(Enum): + """ + An enumeration of signature construction methods supported by SignXML, used to specify the method when signing. + See the list of signature types under `XML Signature Syntax and Processing Version 2.0, Definitions + <http://www.w3.org/TR/xmldsig-core2/#sec-Definitions>`_. + """ + + enveloped = "http://www.w3.org/2000/09/xmldsig#enveloped-signature" + """ + The signature is over the XML content that contains the signature as an element. The content provides the root + XML document element. This is the most common XML signature type in modern applications. + """ + + enveloping = "enveloping-signature" + """ + The signature is over content found within an Object element of the signature itself. The Object (or its + content) is identified via a Reference (via a URI fragment identifier or transform). + """ + + detached = "detached-signature" + """ + The signature is over content external to the Signature element, and can be identified via a URI or + transform. Consequently, the signature is "detached" from the content it signs. This definition typically applies to + separate data objects, but it also includes the instance where the Signature and data object reside within the same + XML document but are sibling elements. + """
    + + + +class FragmentLookupMixin: + @classmethod + def from_fragment(cls, fragment): + for i in cls: # type: ignore[attr-defined] + if i.value.endswith("#" + fragment): + return i + else: + raise InvalidInput(f"Unrecognized {cls.__name__} identifier fragment: {fragment}") + + +class InvalidInputErrorMixin: + @classmethod + def _missing_(cls, value): + raise InvalidInput(f"Unrecognized {cls.__name__}: {value}") + + def __repr__(self): + return f"{self.__class__.__name__}.{self.name}" # type: ignore[attr-defined] + + +
    +[docs] +class DigestAlgorithm(FragmentLookupMixin, InvalidInputErrorMixin, Enum): + """ + An enumeration of digest algorithms supported by SignXML. See the + `Algorithm Identifiers and Implementation Requirements <http://www.w3.org/TR/xmldsig-core1/#sec-AlgID>`_ section of + the XML Signature 1.1 standard for details. + """ + + SHA224 = "http://www.w3.org/2001/04/xmldsig-more#sha224" + SHA384 = "http://www.w3.org/2001/04/xmldsig-more#sha384" + SHA256 = "http://www.w3.org/2001/04/xmlenc#sha256" + SHA512 = "http://www.w3.org/2001/04/xmlenc#sha512" + SHA3_224 = "http://www.w3.org/2007/05/xmldsig-more#sha3-224" + SHA3_256 = "http://www.w3.org/2007/05/xmldsig-more#sha3-256" + SHA3_384 = "http://www.w3.org/2007/05/xmldsig-more#sha3-384" + SHA3_512 = "http://www.w3.org/2007/05/xmldsig-more#sha3-512" + + SHA1 = "http://www.w3.org/2000/09/xmldsig#sha1" + "See `SHA1 deprecation`_." + + @property + def implementation(self) -> Callable: + """ + The cryptography callable that implements the specified algorithm. + """ + return digest_algorithm_implementations[self]
    + + + +# TODO: check if padding errors are fixed by using padding=MGF1 +
    +[docs] +class SignatureMethod(FragmentLookupMixin, InvalidInputErrorMixin, Enum): + """ + An enumeration of signature methods (also referred to as signature algorithms) supported by SignXML. See the + `Algorithm Identifiers and Implementation Requirements <http://www.w3.org/TR/xmldsig-core1/#sec-AlgID>`_ section of + the XML Signature 1.1 standard for details. + """ + + RSA_SHA256 = "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256" + """ + The RSASSA-PKCS1-v1_5 algorithm described in RFC 3447. This is the default, most widely supported signature method. + """ + + RSA_SHA224 = "http://www.w3.org/2001/04/xmldsig-more#rsa-sha224" + RSA_SHA384 = "http://www.w3.org/2001/04/xmldsig-more#rsa-sha384" + RSA_SHA512 = "http://www.w3.org/2001/04/xmldsig-more#rsa-sha512" + ECDSA_SHA224 = "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha224" + ECDSA_SHA256 = "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha256" + ECDSA_SHA384 = "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha384" + ECDSA_SHA512 = "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha512" + ECDSA_SHA3_224 = "http://www.w3.org/2021/04/xmldsig-more#ecdsa-sha3-224" + ECDSA_SHA3_256 = "http://www.w3.org/2021/04/xmldsig-more#ecdsa-sha3-256" + ECDSA_SHA3_384 = "http://www.w3.org/2021/04/xmldsig-more#ecdsa-sha3-384" + ECDSA_SHA3_512 = "http://www.w3.org/2021/04/xmldsig-more#ecdsa-sha3-512" + DSA_SHA256 = "http://www.w3.org/2009/xmldsig11#dsa-sha256" + HMAC_SHA224 = "http://www.w3.org/2001/04/xmldsig-more#hmac-sha224" + HMAC_SHA256 = "http://www.w3.org/2001/04/xmldsig-more#hmac-sha256" + HMAC_SHA384 = "http://www.w3.org/2001/04/xmldsig-more#hmac-sha384" + HMAC_SHA512 = "http://www.w3.org/2001/04/xmldsig-more#hmac-sha512" + SHA3_224_RSA_MGF1 = "http://www.w3.org/2007/05/xmldsig-more#sha3-224-rsa-MGF1" + SHA3_256_RSA_MGF1 = "http://www.w3.org/2007/05/xmldsig-more#sha3-256-rsa-MGF1" + SHA3_384_RSA_MGF1 = "http://www.w3.org/2007/05/xmldsig-more#sha3-384-rsa-MGF1" + SHA3_512_RSA_MGF1 = "http://www.w3.org/2007/05/xmldsig-more#sha3-512-rsa-MGF1" + SHA224_RSA_MGF1 = "http://www.w3.org/2007/05/xmldsig-more#sha224-rsa-MGF1" + SHA256_RSA_MGF1 = "http://www.w3.org/2007/05/xmldsig-more#sha256-rsa-MGF1" + SHA384_RSA_MGF1 = "http://www.w3.org/2007/05/xmldsig-more#sha384-rsa-MGF1" + SHA512_RSA_MGF1 = "http://www.w3.org/2007/05/xmldsig-more#sha512-rsa-MGF1" + + DSA_SHA1 = "http://www.w3.org/2000/09/xmldsig#dsa-sha1" + """ + _`SHA1 deprecation`: SHA1 based algorithms are not secure for use in digital signatures. They are included for + legacy compatibility only and disabled by default. To verify SHA1 based signatures, use:: + + XMLVerifier().verify( + expect_config=SignatureConfiguration( + signature_methods=..., + digest_algorithms=... + ) + ) + """ + HMAC_SHA1 = "http://www.w3.org/2000/09/xmldsig#hmac-sha1" + "See `SHA1 deprecation`_." + RSA_SHA1 = "http://www.w3.org/2000/09/xmldsig#rsa-sha1" + "See `SHA1 deprecation`_." + ECDSA_SHA1 = "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1" + "See `SHA1 deprecation`_." + SHA1_RSA_MGF1 = "http://www.w3.org/2007/05/xmldsig-more#sha1-rsa-MGF1" + "See `SHA1 deprecation`_."
    + + + +
    +[docs] +class CanonicalizationMethod(InvalidInputErrorMixin, Enum): + """ + An enumeration of XML canonicalization methods (also referred to as canonicalization algorithms) supported by + SignXML. See the `Algorithm Identifiers and Implementation Requirements + <http://www.w3.org/TR/xmldsig-core1/#sec-AlgID>`_ section of the XML Signature 1.1 standard for details. + """ + + CANONICAL_XML_1_0 = "http://www.w3.org/TR/2001/REC-xml-c14n-20010315" + CANONICAL_XML_1_0_WITH_COMMENTS = "http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments" + CANONICAL_XML_1_1 = "http://www.w3.org/2006/12/xml-c14n11" + CANONICAL_XML_1_1_WITH_COMMENTS = "http://www.w3.org/2006/12/xml-c14n11#WithComments" + EXCLUSIVE_XML_CANONICALIZATION_1_0 = "http://www.w3.org/2001/10/xml-exc-c14n#" + EXCLUSIVE_XML_CANONICALIZATION_1_0_WITH_COMMENTS = "http://www.w3.org/2001/10/xml-exc-c14n#WithComments"
    + + + # The identifier for Canonical XML 2.0 is "http://www.w3.org/2010/xml-c14n2", but it is not a W3C standard. + # While it is supported by lxml, it's not in general use and not supported by SignXML + + +digest_algorithm_implementations: Dict[Union[DigestAlgorithm, SignatureMethod], Type[hashes.HashAlgorithm]] = { + DigestAlgorithm.SHA1: hashes.SHA1, + DigestAlgorithm.SHA224: hashes.SHA224, + DigestAlgorithm.SHA384: hashes.SHA384, + DigestAlgorithm.SHA256: hashes.SHA256, + DigestAlgorithm.SHA512: hashes.SHA512, + DigestAlgorithm.SHA3_224: hashes.SHA3_224, + DigestAlgorithm.SHA3_256: hashes.SHA3_256, + DigestAlgorithm.SHA3_384: hashes.SHA3_384, + DigestAlgorithm.SHA3_512: hashes.SHA3_512, + SignatureMethod.DSA_SHA1: hashes.SHA1, + SignatureMethod.HMAC_SHA1: hashes.SHA1, + SignatureMethod.RSA_SHA1: hashes.SHA1, + SignatureMethod.ECDSA_SHA1: hashes.SHA1, + SignatureMethod.ECDSA_SHA224: hashes.SHA224, + SignatureMethod.ECDSA_SHA256: hashes.SHA256, + SignatureMethod.ECDSA_SHA384: hashes.SHA384, + SignatureMethod.ECDSA_SHA512: hashes.SHA512, + SignatureMethod.HMAC_SHA224: hashes.SHA224, + SignatureMethod.HMAC_SHA256: hashes.SHA256, + SignatureMethod.HMAC_SHA384: hashes.SHA384, + SignatureMethod.HMAC_SHA512: hashes.SHA512, + SignatureMethod.RSA_SHA224: hashes.SHA224, + SignatureMethod.RSA_SHA256: hashes.SHA256, + SignatureMethod.RSA_SHA384: hashes.SHA384, + SignatureMethod.RSA_SHA512: hashes.SHA512, + SignatureMethod.DSA_SHA256: hashes.SHA256, + SignatureMethod.ECDSA_SHA3_224: hashes.SHA3_224, + SignatureMethod.ECDSA_SHA3_256: hashes.SHA3_256, + SignatureMethod.ECDSA_SHA3_384: hashes.SHA3_384, + SignatureMethod.ECDSA_SHA3_512: hashes.SHA3_512, + SignatureMethod.SHA3_224_RSA_MGF1: hashes.SHA3_224, + SignatureMethod.SHA3_256_RSA_MGF1: hashes.SHA3_256, + SignatureMethod.SHA3_384_RSA_MGF1: hashes.SHA3_384, + SignatureMethod.SHA3_512_RSA_MGF1: hashes.SHA3_512, + SignatureMethod.SHA224_RSA_MGF1: hashes.SHA224, + SignatureMethod.SHA256_RSA_MGF1: hashes.SHA256, + SignatureMethod.SHA384_RSA_MGF1: hashes.SHA384, + SignatureMethod.SHA512_RSA_MGF1: hashes.SHA512, + SignatureMethod.SHA1_RSA_MGF1: hashes.SHA1, +} +
    +
    +
    +
    + + +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    + +
    +
    + +
    +
    + +
    +
    + + + + + + + \ No newline at end of file diff --git a/_modules/signxml/exceptions.html b/_modules/signxml/exceptions.html new file mode 100644 index 00000000..ed671654 --- /dev/null +++ b/_modules/signxml/exceptions.html @@ -0,0 +1,330 @@ + + + + + + + + signxml.exceptions - signxml documentation + + + + + + + + + + + + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + Auto light/dark, in light mode + + + + + + + + + + + + + + + Auto light/dark, in dark mode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Skip to content + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    +
    + +
    + +
    +
    +

    Source code for signxml.exceptions

    +"""
    +SignXML exception types.
    +"""
    +
    +import cryptography.exceptions
    +
    +
    +class SignXMLException(Exception):
    +    pass
    +
    +
    +
    +[docs] +class InvalidSignature(cryptography.exceptions.InvalidSignature, SignXMLException): + """ + Raised when signature validation fails. + """
    + + + +
    +[docs] +class InvalidDigest(InvalidSignature): + """ + Raised when digest validation fails (causing the signature to be untrusted). + """
    + + + +
    +[docs] +class InvalidCertificate(InvalidSignature): + """ + Raised when certificate validation fails. + """
    + + + +
    +[docs] +class InvalidInput(ValueError, SignXMLException): + pass
    + + + +class RedundantCert(SignXMLException): + pass +
    +
    +
    +
    + + +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    + +
    +
    + +
    +
    + +
    +
    + + + + + + + \ No newline at end of file diff --git a/_modules/signxml/signer.html b/_modules/signxml/signer.html new file mode 100644 index 00000000..8d4769bf --- /dev/null +++ b/_modules/signxml/signer.html @@ -0,0 +1,763 @@ + + + + + + + + signxml.signer - signxml documentation + + + + + + + + + + + + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + Auto light/dark, in light mode + + + + + + + + + + + + + + + Auto light/dark, in dark mode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Skip to content + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    +
    + +
    + +
    +
    +

    Source code for signxml.signer

    +from base64 import b64encode
    +from dataclasses import dataclass, replace
    +from typing import List, Optional, Union
    +
    +from cryptography import x509
    +from cryptography.hazmat.primitives.asymmetric import dsa, ec, rsa, utils
    +from cryptography.hazmat.primitives.asymmetric.padding import MGF1, PSS, PKCS1v15
    +from cryptography.hazmat.primitives.hmac import HMAC
    +from cryptography.hazmat.primitives.serialization import Encoding, load_pem_private_key
    +from lxml.etree import Element, SubElement, _Element
    +
    +from .algorithms import (
    +    CanonicalizationMethod,
    +    DigestAlgorithm,
    +    SignatureConstructionMethod,
    +    SignatureMethod,
    +    digest_algorithm_implementations,
    +)
    +from .exceptions import InvalidInput
    +from .processor import XMLSignatureProcessor
    +from .util import (
    +    SigningSettings,
    +    _remove_sig,
    +    bits_to_bytes_unit,
    +    ds_tag,
    +    dsig11_tag,
    +    ec_tag,
    +    ensure_bytes,
    +    iterate_pem,
    +    long_to_bytes,
    +    namespaces,
    +    strip_pem_header,
    +)
    +
    +
    +
    +[docs] +@dataclass(frozen=True) +class SignatureReference: + """ + A container representing a signature reference (pointer to data covered by the signature). A signature can include + one or more references. The integrity of each reference is attested by including the digest (hash) of its value. + """ + + URI: str + """ + The reference URI, for example ``#elementId`` to refer to an element whose Id attribute is set to ``elementId``. + """ + + c14n_method: Optional[CanonicalizationMethod] = None + """ + Use this parameter to set a canonicalization method for the reference value that is distinct from that for the + signature itself. + """ + + inclusive_ns_prefixes: Optional[List] = None + """ + When using exclusive XML canonicalization, use this parameter to provide a list of XML namespace prefixes whose + declarations should be preserved when canonicalizing the reference value (**InclusiveNamespaces PrefixList**). + """
    + + + +
    +[docs] +class XMLSigner(XMLSignatureProcessor): + """ + Create a new XML Signature Signer object, which can be used to hold configuration information and sign multiple + pieces of data. + + :param method: + ``signxml.methods.enveloped``, ``signxml.methods.enveloping``, or ``signxml.methods.detached``. See + :class:`SignatureConstructionMethod` for details. + :param signature_algorithm: + Algorithm that will be used to generate the signature. See :class:`SignatureMethod` for the list of algorithm + IDs supported. + :param digest_algorithm: + Algorithm that will be used to hash the data during signature generation. See :class:`DigestAlgorithm` for the + list of algorithm IDs supported. + :param c14n_algorithm: + Algorithm that will be used to canonicalize (serialize in a reproducible way) the XML that is signed. See + :class:`CanonicalizationMethod` for the list of algorithm IDs supported. + """ + + signature_annotators: List + """ + A list of callables that will be called at signature creation time to annotate the content to be signed before + signing. You can use this to register a custom signature decorator as follows: + + .. code-block:: python + + def my_annotator(sig_root, signing_settings): + ... + sig_root.append(my_custom_node) + + signer = XMLSigner() + signer.signature_annotators.append(my_annotator) + signed = signer.sign(data, ...) + """ + + def __init__( + self, + method: SignatureConstructionMethod = SignatureConstructionMethod.enveloped, + signature_algorithm: Union[SignatureMethod, str] = SignatureMethod.RSA_SHA256, + digest_algorithm: Union[DigestAlgorithm, str] = DigestAlgorithm.SHA256, + c14n_algorithm: Union[CanonicalizationMethod, str] = CanonicalizationMethod.CANONICAL_XML_1_1, + ): + if method is None or method not in SignatureConstructionMethod: + raise InvalidInput(f"Unknown signature construction method {method}") + self.construction_method = method + if isinstance(signature_algorithm, str) and "#" not in signature_algorithm: + self.sign_alg = SignatureMethod.from_fragment(signature_algorithm) + else: + self.sign_alg = SignatureMethod(signature_algorithm) + if isinstance(digest_algorithm, str) and "#" not in digest_algorithm: + self.digest_alg = DigestAlgorithm.from_fragment(digest_algorithm) + else: + self.digest_alg = DigestAlgorithm(digest_algorithm) + self.check_deprecated_methods() + self.c14n_alg = CanonicalizationMethod(c14n_algorithm) + self.namespaces = dict(ds=namespaces.ds) + self._parser = None + self.signature_annotators = [self._add_key_info] + +
    +[docs] + def check_deprecated_methods(self): + if "SHA1" in self.sign_alg.name or "SHA1" in self.digest_alg.name: + msg = "SHA1-based algorithms are not supported in the default configuration because they are not secure" + raise InvalidInput(msg)
    + + +
    +[docs] + def sign( + self, + data, + *, + key: Optional[Union[str, bytes, rsa.RSAPrivateKey, dsa.DSAPrivateKey, ec.EllipticCurvePrivateKey]] = None, + passphrase: Optional[bytes] = None, + cert: Optional[Union[str, List[str], List[x509.Certificate]]] = None, + reference_uri: Optional[Union[str, List[str], List[SignatureReference]]] = None, + key_name: Optional[str] = None, + key_info: Optional[_Element] = None, + id_attribute: Optional[str] = None, + always_add_key_value: bool = False, + inclusive_ns_prefixes: Optional[List[str]] = None, + signature_properties: Optional[Union[_Element, List[_Element]]] = None, + ) -> _Element: + """ + Sign the data and return the root element of the resulting XML tree. + + :param data: Data to sign + :type data: String, file-like object, or XML ElementTree Element API compatible object + :param key: + Key to be used for signing. When signing with a certificate or RSA/DSA/ECDSA key, this can be a string/bytes + containing a PEM-formatted key, or a :class:`cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKey`, + :class:`cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKey`, or + :class:`cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKey` object. When signing with a + HMAC, this should be a string containing the shared secret. + :param passphrase: Passphrase to use to decrypt the key, if any. + :param cert: + X.509 certificate to use for signing. This should be a string containing a PEM-formatted certificate, or an + array of strings or :class:`cryptography.x509.Certificate` objects containing the certificate and a chain + of intermediate certificates. + :param reference_uri: + Custom reference URI or list of reference URIs to incorporate into the signature. When ``method`` is set to + ``detached`` or ``enveloped``, reference URIs are set to this value and only the referenced elements are + signed. To specify extra options specific to each reference URI, pass a list of one or more + :class:`SignatureReference` objects. + :param key_name: Add a KeyName element in the KeyInfo element that may be used by the signer to communicate a + key identifier to the recipient. Typically, KeyName contains an identifier related to the key pair used to + sign the message. + :param key_info: + A custom KeyInfo element to insert in the signature. Use this to supply ``<wsse:SecurityTokenReference>`` + or other custom key references. An example value can be found here: + https://github.com/XML-Security/signxml/blob/master/test/wsse_keyinfo.xml + :param id_attribute: + Name of the attribute whose value ``URI`` refers to. By default, SignXML will search for "Id", then "ID". + :param always_add_key_value: + Write the key value to the KeyInfo element even if a X509 certificate is present. Use of this parameter + is discouraged, as it introduces an ambiguity and a security hazard. The public key used to sign the + document is already encoded in the certificate (which is in X509Data), so the verifier must either ignore + KeyValue or make sure it matches what's in the certificate. This parameter is provided for compatibility + purposes only. + :param inclusive_ns_prefixes: + Provide a list of XML namespace prefixes whose declarations should be preserved when canonicalizing the + signature (**InclusiveNamespaces PrefixList**). + + To specify this value separately for reference canonicalizaition, pass a list of one or more + :class:`SignatureReference` objects as the ``reference_uri`` keyword argument, and set the + ``inclusive_ns_prefixes`` attribute on those objects. + :param signature_properties: + One or more Elements that are to be included in the SignatureProperies section when using the detached + method. + + :returns: + A :class:`lxml.etree._Element` object representing the root of the XML tree containing the signature and + the payload data. + + To specify the location of an enveloped signature within **data**, insert a + ``<ds:Signature Id="placeholder"></ds:Signature>`` element in **data** (where + "ds" is the ``http://www.w3.org/2000/09/xmldsig#`` namespace). This element will + be replaced by the generated signature, and excised when generating the digest. + """ + if id_attribute is not None: + self.id_attributes = (id_attribute,) + + if isinstance(cert, (str, bytes)): + cert_chain = list(iterate_pem(cert)) + if len(cert_chain) == 0: + raise InvalidInput("No PEM-encoded certificates found in string cert input data") + else: + cert_chain = cert # type:ignore[assignment] + + input_references = self._preprocess_reference_uri(reference_uri) + + signing_settings = SigningSettings( + key=None, + key_name=key_name, + key_info=key_info, + always_add_key_value=always_add_key_value, + cert_chain=cert_chain, + ) + + if key is None: + raise InvalidInput('Parameter "key" is required') + elif not self.sign_alg.name.startswith("HMAC_"): + if isinstance(key, (str, bytes)): + signing_settings.key = load_pem_private_key(ensure_bytes(key), password=passphrase) + else: + signing_settings.key = key + + sig_root, doc_root, c14n_inputs, references = self._unpack(data, input_references) + + if self.construction_method == SignatureConstructionMethod.detached and signature_properties is not None: + references.append(SignatureReference(URI="#prop")) + if signature_properties is not None and not isinstance(signature_properties, list): + signature_properties = [signature_properties] + signature_properties_el = self._build_signature_properties(signature_properties) + c14n_inputs.append(signature_properties_el) + + signed_info_node, signature_value_node = self._build_sig( + sig_root, + references=references, + c14n_inputs=c14n_inputs, + inclusive_ns_prefixes=inclusive_ns_prefixes, + ) + + for signature_annotator in self.signature_annotators: + signature_annotator(sig_root, signing_settings=signing_settings) + + signed_info_c14n = self._c14n( + signed_info_node, algorithm=self.c14n_alg, inclusive_ns_prefixes=inclusive_ns_prefixes + ) + if self.sign_alg.name.startswith("HMAC_"): + signer = HMAC(key=key, algorithm=digest_algorithm_implementations[self.sign_alg]()) # type:ignore[arg-type] + signer.update(signed_info_c14n) + signature_value_node.text = b64encode(signer.finalize()).decode() + sig_root.append(signature_value_node) + elif any(self.sign_alg.name.startswith(i) for i in ["DSA_", "RSA_", "ECDSA_", "SHA"]): + hash_alg = digest_algorithm_implementations[self.sign_alg]() + if self.sign_alg.name.startswith("DSA_"): + signature = signing_settings.key.sign(signed_info_c14n, algorithm=hash_alg) + elif self.sign_alg.name.startswith("ECDSA_"): + signature = signing_settings.key.sign( + signed_info_c14n, signature_algorithm=ec.ECDSA(algorithm=hash_alg) + ) + elif self.sign_alg.name.startswith("RSA_"): + signature = signing_settings.key.sign(signed_info_c14n, padding=PKCS1v15(), algorithm=hash_alg) + elif self.sign_alg.name.startswith("SHA"): + # See https://www.rfc-editor.org/rfc/rfc9231.html#section-2.3.10 + padding = PSS(mgf=MGF1(algorithm=hash_alg), salt_length=hash_alg.digest_size) + signature = signing_settings.key.sign(signed_info_c14n, padding=padding, algorithm=hash_alg) + else: + raise NotImplementedError() + if self.sign_alg.name.startswith("DSA_") or self.sign_alg.name.startswith("ECDSA_"): + # Note: The output of the DSA and ECDSA signers is a DER-encoded ASN.1 sequence of two DER integers. + (r, s) = utils.decode_dss_signature(signature) + int_len = bits_to_bytes_unit(signing_settings.key.key_size) + signature = long_to_bytes(r, blocksize=int_len) + long_to_bytes(s, blocksize=int_len) + + signature_value_node.text = b64encode(signature).decode() + else: + raise NotImplementedError() + + if self.construction_method == SignatureConstructionMethod.enveloping: + for c14n_input in c14n_inputs: + doc_root.append(c14n_input) + + if self.construction_method == SignatureConstructionMethod.detached and signature_properties is not None: + sig_root.append(signature_properties_el) + + return doc_root if self.construction_method == SignatureConstructionMethod.enveloped else sig_root
    + + + def _preprocess_reference_uri(self, reference_uris): + if reference_uris is None: + return None + if isinstance(reference_uris, (str, bytes)): + reference_uris = [reference_uris] + references = list( + ref if isinstance(ref, SignatureReference) else SignatureReference(URI=ref) for ref in reference_uris + ) + return references + + def _add_key_info(self, sig_root, signing_settings: SigningSettings): + if self.sign_alg.name.startswith("HMAC_"): + return + if signing_settings.key_info is None: + key_info = SubElement(sig_root, ds_tag("KeyInfo")) + if signing_settings.key_name is not None: + keyname = SubElement(key_info, ds_tag("KeyName")) + keyname.text = signing_settings.key_name + + if signing_settings.cert_chain is None or signing_settings.always_add_key_value: + self._serialize_key_value(signing_settings.key, key_info) + + if signing_settings.cert_chain is not None: + assert len(signing_settings.cert_chain) > 0 + x509_data = SubElement(key_info, ds_tag("X509Data")) + for cert in signing_settings.cert_chain: + x509_certificate = SubElement(x509_data, ds_tag("X509Certificate")) + if isinstance(cert, (str, bytes)): + x509_certificate.text = strip_pem_header(cert) + else: + x509_certificate.text = strip_pem_header(cert.public_bytes(Encoding.PEM)) + else: + sig_root.append(signing_settings.key_info) + + def _get_c14n_inputs_from_references(self, doc_root, references: List[SignatureReference]): + c14n_inputs, new_references = [], [] + for reference in references: + uri = reference.URI if reference.URI.startswith("#") else "#" + reference.URI + c14n_inputs.append(self.get_root(self._resolve_reference(doc_root, {"URI": uri}))) + new_references.append(replace(reference, URI=uri)) + return c14n_inputs, new_references + + def _unpack(self, data, references: List[SignatureReference]): + sig_root = Element(ds_tag("Signature"), nsmap=self.namespaces) + if self.construction_method == SignatureConstructionMethod.enveloped: + if isinstance(data, (str, bytes)): + raise InvalidInput("When using enveloped signature, **data** must be an XML element") + doc_root = self.get_root(data) + c14n_inputs = [self.get_root(data)] + if references is not None: + # Only sign the referenced element(s) + c14n_inputs, references = self._get_c14n_inputs_from_references(doc_root, references) + + signature_placeholders = self._findall(doc_root, "Signature[@Id='placeholder']", xpath=".//") + if len(signature_placeholders) == 0: + doc_root.append(sig_root) + elif len(signature_placeholders) == 1: + sig_root = signature_placeholders[0] + del sig_root.attrib["Id"] + for c14n_input in c14n_inputs: + placeholders = self._findall(c14n_input, "Signature[@Id='placeholder']", xpath=".//") + if placeholders: + assert len(placeholders) == 1 + _remove_sig(placeholders[0]) + else: + raise InvalidInput("Enveloped signature input contains more than one placeholder") + + if references is None: + # Set default reference URIs based on signed data ID attribute values + references = [] + for c14n_input in c14n_inputs: + payload_id = c14n_input.get("Id", c14n_input.get("ID")) + uri = "#{}".format(payload_id) if payload_id is not None else "" + references.append(SignatureReference(URI=uri)) + elif self.construction_method == SignatureConstructionMethod.detached: + doc_root = self.get_root(data) + if references is None: + uri = "#{}".format(data.get("Id", data.get("ID", "object"))) + references = [SignatureReference(URI=uri)] + c14n_inputs = [self.get_root(data)] + try: + c14n_inputs, references = self._get_c14n_inputs_from_references(doc_root, references) + except InvalidInput: # Dummy reference URI + c14n_inputs = [self.get_root(data)] + elif self.construction_method == SignatureConstructionMethod.enveloping: + doc_root = sig_root + c14n_inputs = [Element(ds_tag("Object"), nsmap=self.namespaces, Id="object")] + if isinstance(data, (str, bytes)): + c14n_inputs[0].text = data + else: + c14n_inputs[0].append(self.get_root(data)) + references = [SignatureReference(URI="#object")] + return sig_root, doc_root, c14n_inputs, references + + def _build_transforms_for_reference(self, *, transforms_node: _Element, reference: SignatureReference): + assert reference.c14n_method is not None + if self.construction_method == SignatureConstructionMethod.enveloped: + SubElement(transforms_node, ds_tag("Transform"), Algorithm=SignatureConstructionMethod.enveloped.value) + SubElement(transforms_node, ds_tag("Transform"), Algorithm=reference.c14n_method.value) + else: + c14n_xform = SubElement( + transforms_node, + ds_tag("Transform"), + Algorithm=reference.c14n_method.value, + ) + if reference.inclusive_ns_prefixes: + SubElement( + c14n_xform, ec_tag("InclusiveNamespaces"), PrefixList=" ".join(reference.inclusive_ns_prefixes) + ) + + def _build_sig(self, sig_root, references, c14n_inputs, inclusive_ns_prefixes): + signed_info = SubElement(sig_root, ds_tag("SignedInfo"), nsmap=self.namespaces) + sig_c14n_method = SubElement(signed_info, ds_tag("CanonicalizationMethod"), Algorithm=self.c14n_alg.value) + if inclusive_ns_prefixes: + SubElement(sig_c14n_method, ec_tag("InclusiveNamespaces"), PrefixList=" ".join(inclusive_ns_prefixes)) + + SubElement(signed_info, ds_tag("SignatureMethod"), Algorithm=self.sign_alg.value) + for i, reference in enumerate(references): + if reference.c14n_method is None: + reference = replace(reference, c14n_method=self.c14n_alg) + if reference.inclusive_ns_prefixes is None: + reference = replace(reference, inclusive_ns_prefixes=inclusive_ns_prefixes) + reference_node = SubElement(signed_info, ds_tag("Reference"), URI=reference.URI) + transforms = SubElement(reference_node, ds_tag("Transforms")) + self._build_transforms_for_reference(transforms_node=transforms, reference=reference) + SubElement(reference_node, ds_tag("DigestMethod"), Algorithm=self.digest_alg.value) + digest_value = SubElement(reference_node, ds_tag("DigestValue")) + payload_c14n = self._c14n( + c14n_inputs[i], algorithm=reference.c14n_method, inclusive_ns_prefixes=reference.inclusive_ns_prefixes + ) + digest = self._get_digest(payload_c14n, algorithm=self.digest_alg) + digest_value.text = b64encode(digest).decode() + signature_value = SubElement(sig_root, ds_tag("SignatureValue")) + return signed_info, signature_value + + def _build_signature_properties(self, signature_properties): + # FIXME: make this use the annotator API + obj = Element(ds_tag("Object"), attrib={"Id": "prop"}, nsmap=self.namespaces) + signature_properties_el = Element(ds_tag("SignatureProperties")) + for i, el in enumerate(signature_properties): + signature_property = Element( + ds_tag("SignatureProperty"), + attrib={ + "Id": el.attrib.pop("Id", f"sigprop{i}"), + "Target": el.attrib.pop("Target", f"#sigproptarget{i}"), + }, + ) + signature_property.append(el) + signature_properties_el.append(signature_property) + obj.append(signature_properties_el) + return obj + + def _serialize_key_value(self, key, key_info_node): + """ + Add the public components of the key to the signature (see https://www.w3.org/TR/xmldsig-core2/#sec-KeyValue). + """ + key_value = SubElement(key_info_node, ds_tag("KeyValue")) + if self.sign_alg.name.startswith("RSA_") or self.sign_alg.name.startswith("SHA"): + rsa_key_value = SubElement(key_value, ds_tag("RSAKeyValue")) + modulus = SubElement(rsa_key_value, ds_tag("Modulus")) + modulus.text = b64encode(long_to_bytes(key.public_key().public_numbers().n)).decode() + exponent = SubElement(rsa_key_value, ds_tag("Exponent")) + exponent.text = b64encode(long_to_bytes(key.public_key().public_numbers().e)).decode() + elif self.sign_alg.name.startswith("DSA_"): + dsa_key_value = SubElement(key_value, ds_tag("DSAKeyValue")) + for field in "p", "q", "g", "y": + e = SubElement(dsa_key_value, ds_tag(field.upper())) + + if field == "y": + key_params = key.public_key().public_numbers() + else: + key_params = key.parameters().parameter_numbers() + + e.text = b64encode(long_to_bytes(getattr(key_params, field))).decode() + elif self.sign_alg.name.startswith("ECDSA_"): + ec_key_value = SubElement(key_value, dsig11_tag("ECKeyValue"), nsmap=dict(dsig11=namespaces.dsig11)) + named_curve = SubElement( # noqa:F841 + ec_key_value, dsig11_tag("NamedCurve"), URI=self.known_ecdsa_curve_oids[key.curve.name] + ) + public_key = SubElement(ec_key_value, dsig11_tag("PublicKey")) + x = key.public_key().public_numbers().x + y = key.public_key().public_numbers().y + public_key.text = b64encode(long_to_bytes(4) + long_to_bytes(x) + long_to_bytes(y)).decode()
    + +
    +
    +
    +
    + + +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    + +
    +
    + +
    +
    + +
    +
    + + + + + + + \ No newline at end of file diff --git a/_modules/signxml/verifier.html b/_modules/signxml/verifier.html new file mode 100644 index 00000000..881d5f0c --- /dev/null +++ b/_modules/signxml/verifier.html @@ -0,0 +1,932 @@ + + + + + + + + signxml.verifier - signxml documentation + + + + + + + + + + + + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + Auto light/dark, in light mode + + + + + + + + + + + + + + + Auto light/dark, in dark mode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Skip to content + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    +
    + +
    + +
    +
    +

    Source code for signxml.verifier

    +from base64 import b64decode
    +from dataclasses import dataclass, replace
    +from typing import Callable, FrozenSet, List, Optional, Union
    +from warnings import warn
    +
    +import cryptography.exceptions
    +from cryptography import x509
    +from cryptography.hazmat.primitives.asymmetric import dsa, ec, rsa, utils
    +from cryptography.hazmat.primitives.asymmetric.padding import MGF1, PSS, AsymmetricPadding, PKCS1v15
    +from cryptography.hazmat.primitives.hmac import HMAC
    +from cryptography.hazmat.primitives.serialization import load_der_public_key
    +from lxml import etree
    +
    +from .algorithms import (
    +    CanonicalizationMethod,
    +    DigestAlgorithm,
    +    SignatureConstructionMethod,
    +    SignatureMethod,
    +    digest_algorithm_implementations,
    +)
    +from .exceptions import InvalidCertificate, InvalidDigest, InvalidInput, InvalidSignature, SignXMLException
    +from .processor import XMLSignatureProcessor
    +from .util import (
    +    X509CertChainVerifier,
    +    _remove_sig,
    +    add_pem_header,
    +    bits_to_bytes_unit,
    +    bytes_to_long,
    +    ds_tag,
    +    ensure_bytes,
    +    namespaces,
    +)
    +
    +
    +
    +[docs] +@dataclass(frozen=True) +class SignatureConfiguration: + """ + A container holding signature settings that will be used to assert properties of the signature. + """ + + require_x509: bool = True + """ + If ``True``, a valid X.509 certificate-based signature with an established chain of trust is required to + pass validation. If ``False``, other types of valid signatures (e.g. HMAC or RSA public key) are accepted. + """ + + location: str = ".//" + """ + XPath location where the signature tag will be expected. By default, the signature tag is expected to be a child of + the top level element (i.e. enveloped at the top level). If your signature is enveloping (i.e. the ``ds:Signature`` + tag is itself the top level tag), it is recommended that you set this to ``./``. If your signature is nested + elsewhere in the document, you can reference the full path as ``./{ns}Tag1/{ns}Tag2/{ns}Tag3/``. If you wish to + search for the signature anywhere in the document, you can set this to ``.//``. + """ + + expect_references: Union[int, bool] = 1 + """ + Number of references to expect in the signature. If this is not 1, an array of VerifyResults is returned. + If set to a non-integer, any number of references is accepted (otherwise a mismatch raises an error). + """ + + signature_methods: FrozenSet[SignatureMethod] = frozenset(sm for sm in SignatureMethod if "SHA1" not in sm.name) + """ + Set of acceptable signature methods (signature algorithms). Any signature generated using an algorithm not listed + here will fail verification. + """ + + digest_algorithms: FrozenSet[DigestAlgorithm] = frozenset(da for da in DigestAlgorithm if "SHA1" not in da.name) + """ + Set of acceptable digest algorithms. Any signature or reference transform generated using an algorithm not listed + here will cause verification to fail. + """ + + ignore_ambiguous_key_info: bool = False + """ + Ignore the presence of a KeyValue element when X509Data is present in the signature and used for verifying. + The presence of both elements is an ambiguity and a security hazard. The public key used to sign the + document is already encoded in the certificate (which is in X509Data), so the verifier must either ignore + KeyValue or make sure it matches what's in the certificate. SignXML does not implement the functionality + necessary to match the keys, and throws an InvalidInput error instead. Set this to True to bypass the error + and validate the signature using X509Data only. + """
    + + + +
    +[docs] +@dataclass(frozen=True) +class VerifyResult: + """ + This is a dataclass representing structured data returned by :func:`signxml.XMLVerifier.verify`. The results of a + verification contain the signed bytes, the parsed signed XML, and the parsed signature XML. Example usage: + + verified_data = signxml.XMLVerifier().verify(input_data).signed_xml + """ + + signed_data: bytes + "The binary data as it was signed" + + signed_xml: Optional[etree._Element] + "The signed data parsed as XML (or None if parsing failed)" + + signature_xml: etree._Element + "The signature element parsed as XML"
    + + + +
    +[docs] +class XMLVerifier(XMLSignatureProcessor): + """ + Create a new XML Signature Verifier object, which can be used to verify multiple pieces of data. + """ + + _default_reference_c14n_method = CanonicalizationMethod.CANONICAL_XML_1_0 + + def _get_signature(self, root): + if root.tag == ds_tag("Signature"): + return root + else: + return self._find(root, "Signature", xpath=self.config.location) + + def _verify_signature_with_pubkey( + self, + *, + signed_info_c14n: bytes, + raw_signature: bytes, + signature_alg: SignatureMethod, + key_value: Optional[etree._Element] = None, + der_encoded_key_value: Optional[etree._Element] = None, + signing_certificate: Optional[x509.Certificate] = None, + ) -> bytes: + if der_encoded_key_value is not None: + assert der_encoded_key_value.text is not None + key = load_der_public_key(b64decode(der_encoded_key_value.text)) + elif signing_certificate is not None: + key = signing_certificate.public_key() + elif key_value is None: + raise InvalidInput("Expected one of key_value, der_encoded_key_value, or signing_certificate to be set") + + digest_alg_impl = digest_algorithm_implementations[signature_alg]() + if signature_alg.name.startswith("ECDSA_"): + if key_value is not None: + ec_key_value = self._find(key_value, "dsig11:ECKeyValue") + named_curve = self._find(ec_key_value, "dsig11:NamedCurve") + public_key = self._find(ec_key_value, "dsig11:PublicKey") + key_data = b64decode(public_key.text)[1:] + x = bytes_to_long(key_data[: len(key_data) // 2]) + y = bytes_to_long(key_data[len(key_data) // 2 :]) + curve_class = self.known_ecdsa_curves[named_curve.get("URI")] + ecpn = ec.EllipticCurvePublicNumbers(x=x, y=y, curve=curve_class()) # type: ignore[abstract] + key = ecpn.public_key() + elif not isinstance(key, ec.EllipticCurvePublicKey): + raise InvalidInput("DER encoded key value does not match specified signature algorithm") + signature_for_ecdsa = self._encode_dss_signature(raw_signature, key.key_size) + key.verify(signature_for_ecdsa, data=signed_info_c14n, signature_algorithm=ec.ECDSA(digest_alg_impl)) + elif signature_alg.name.startswith("DSA_"): + if key_value is not None: + dsa_key_value = self._find(key_value, "DSAKeyValue") + p = self._get_long(dsa_key_value, "P") + q = self._get_long(dsa_key_value, "Q") + g = self._get_long(dsa_key_value, "G", require=False) + y = self._get_long(dsa_key_value, "Y") + dsapn = dsa.DSAPublicNumbers(y=y, parameter_numbers=dsa.DSAParameterNumbers(p=p, q=q, g=g)) + key = dsapn.public_key() + elif not isinstance(key, dsa.DSAPublicKey): + raise InvalidInput("DER encoded key value does not match specified signature algorithm") + # TODO: supply meaningful key_size_bits for signature length assertion + dss_signature = self._encode_dss_signature(raw_signature, len(raw_signature) * 8 // 2) + key.verify(dss_signature, data=signed_info_c14n, algorithm=digest_alg_impl) + elif signature_alg.name.startswith("RSA_") or signature_alg.name.startswith("SHA"): + if key_value is not None: + rsa_key_value = self._find(key_value, "RSAKeyValue") + modulus = self._get_long(rsa_key_value, "Modulus") + exponent = self._get_long(rsa_key_value, "Exponent") + key = rsa.RSAPublicNumbers(e=exponent, n=modulus).public_key() + elif not isinstance(key, rsa.RSAPublicKey): + raise InvalidInput("DER encoded key value does not match specified signature algorithm") + if signature_alg.name.startswith("RSA_"): + padding: AsymmetricPadding = PKCS1v15() + else: + padding = PSS(mgf=MGF1(algorithm=digest_alg_impl), salt_length=digest_alg_impl.digest_size) + key.verify(raw_signature, data=signed_info_c14n, padding=padding, algorithm=digest_alg_impl) + else: + raise InvalidInput(f"Unsupported signature algorithm {signature_alg}") + return signed_info_c14n + + def _encode_dss_signature(self, raw_signature: bytes, key_size_bits: int) -> bytes: + want_raw_signature_len = bits_to_bytes_unit(key_size_bits) * 2 + if len(raw_signature) != want_raw_signature_len: + raise InvalidSignature( + "Expected %d byte SignatureValue, got %d" % (want_raw_signature_len, len(raw_signature)) + ) + int_len = len(raw_signature) // 2 + r = bytes_to_long(raw_signature[:int_len]) + s = bytes_to_long(raw_signature[int_len:]) + return utils.encode_dss_signature(r, s) + + def _get_inclusive_ns_prefixes(self, transform_node): + inclusive_namespaces = transform_node.find("./ec:InclusiveNamespaces[@PrefixList]", namespaces=namespaces) + if inclusive_namespaces is None: + return None + else: + return inclusive_namespaces.get("PrefixList").split(" ") + + def _apply_transforms(self, payload, *, transforms_node: etree._Element, signature: etree._Element): + transforms, c14n_applied = [], False + if transforms_node is not None: + transforms = self._findall(transforms_node, "Transform") + + for transform in transforms: + if transform.get("Algorithm") == SignatureConstructionMethod.enveloped.value: + _remove_sig(signature, idempotent=True) + + for transform in transforms: + if transform.get("Algorithm") == "http://www.w3.org/2000/09/xmldsig#base64": + payload = b64decode(payload.text) + + for transform in transforms: + algorithm = transform.get("Algorithm") + try: + c14n_algorithm_from_transform = CanonicalizationMethod(algorithm) + except ValueError: + continue + inclusive_ns_prefixes = self._get_inclusive_ns_prefixes(transform) + + # Create a separate copy of the node so we can modify the tree and avoid any c14n inconsistencies from + # namespaces propagating from parent nodes. The lxml docs recommend using copy.deepcopy for this, but it + # doesn't seem to preserve namespaces. It would be nice to find a less heavy-handed way of doing this. + payload = self._fromstring(self._tostring(payload)) + + payload = self._c14n( + payload, algorithm=c14n_algorithm_from_transform, inclusive_ns_prefixes=inclusive_ns_prefixes + ) + c14n_applied = True + + if not c14n_applied and not isinstance(payload, (str, bytes)): + payload = self._c14n(payload, algorithm=self._default_reference_c14n_method) + + return payload + +
    +[docs] + def get_cert_chain_verifier(self, ca_pem_file, ca_path): + return X509CertChainVerifier(ca_pem_file=ca_pem_file, ca_path=ca_path)
    + + + def _match_key_values(self, key_value, der_encoded_key_value, signing_cert, signature_alg): + if self.config.ignore_ambiguous_key_info is False: + return + cert_pub_key = signing_cert.public_key() + # If both X509Data and KeyValue are present, match one against the other and raise an error on mismatch + if key_value is not None: + match_result = self._check_key_value_matches_cert_public_key(key_value, cert_pub_key, signature_alg) + if match_result is False: + raise InvalidInput( + "Both X509Data and KeyValue found and they represent different public keys. " + "Use verify(ignore_ambiguous_key_info=True) to ignore KeyValue and validate " + "using X509Data only." + ) + + # If both X509Data and DEREncodedKeyValue are present, match one against the other and raise an error on + # mismatch + if der_encoded_key_value is not None: + match_result = self._check_der_key_value_matches_cert_public_key( + der_encoded_key_value, signing_cert.public_key(), signature_alg + ) + if match_result is False: + raise InvalidInput( + "Both X509Data and DEREncodedKeyValue found and they represent different " + "public keys. Use verify(ignore_ambiguous_key_info=True) to ignore " + "DEREncodedKeyValue and validate using X509Data only." + ) + +
    +[docs] + def check_digest_alg_expected(self, digest_alg): + if digest_alg not in self.config.digest_algorithms: + raise InvalidInput(f"Digest algorithm {digest_alg.name} forbidden by configuration")
    + + +
    +[docs] + def check_signature_alg_expected(self, signature_alg): + if signature_alg not in self.config.signature_methods: + raise InvalidInput(f"Signature method {signature_alg.name} forbidden by configuration")
    + + +
    +[docs] + def verify( + self, + data, + *, + x509_cert: Optional[Union[str, x509.Certificate]] = None, + cert_subject_name: Optional[str] = None, + cert_resolver: Optional[Callable] = None, + ca_pem_file: Optional[Union[str, bytes]] = None, + ca_path: Optional[str] = None, + hmac_key: Optional[str] = None, + validate_schema: bool = True, + parser=None, + uri_resolver: Optional[Callable] = None, + id_attribute: Optional[str] = None, + expect_config: SignatureConfiguration = SignatureConfiguration(), + **deprecated_kwargs, + ) -> Union[VerifyResult, List[VerifyResult]]: + """ + Verify the XML signature supplied in the data and return a list of :class:`VerifyResult` data structures + representing the data signed by the signature, or raise an exception if the signature is not valid. By default, + this requires the signature to be generated using a valid X.509 certificate. To enable other means of signature + validation, set ``expect_config`` to a configuration with the **require_x509** parameter set to `False`. + + .. admonition:: See what is signed + + It is important to understand and follow the best practice rule of "See what is signed" when verifying XML + signatures. The gist of this rule is: if your application neglects to verify that the information it trusts is + what was actually signed, the attacker can supply a valid signature but point you to malicious data that wasn't + signed by that signature. + + In SignXML, you can ensure that the information signed is what you expect to be signed by only trusting the + data returned by the ``verify()`` method. The return value is the XML node or string that was signed. Also, + depending on the canonicalization method used by the signature, comments in the XML data may not be subject to + signing, so may need to be untrusted. If so, they are excised from the return value of ``verify()``. + + **Recommended reading:** http://www.w3.org/TR/xmldsig-bestpractices/#practices-applications + + .. admonition:: Establish trust + + If you do not supply any keyword arguments to ``verify()``, the default behavior is to trust **any** valid XML + signature generated using a valid X.509 certificate trusted by your system's CA store. This means anyone can + get an SSL certificate and generate a signature that you will trust. To establish trust in the signer, use the + ``x509_cert`` argument to specify a certificate that was pre-shared out-of-band (e.g. via SAML metadata, as + shown in :ref:`Verifying SAML assertions <verifying-saml-assertions>`), or ``cert_subject_name`` to specify a + subject name that must be in the signing X.509 certificate given by the signature (verified as if it were a + domain name), or ``ca_pem_file``/``ca_path`` to give a custom CA. + + :param data: Signature data to verify + :type data: String, file-like object, or XML ElementTree Element API compatible object + :param x509_cert: + A trusted external X.509 certificate, given as a PEM-formatted string or cryptography.x509.Certificate + object, to use for verification. Overrides any X.509 certificate information supplied by the signature. If + left set to ``None``, requires that the signature supply a valid X.509 certificate chain that validates + against the known certificate authorities. Implies **require_x509=True**. + :param cert_subject_name: + Subject Common Name to check the signing X.509 certificate against. Implies **require_x509=True**. + :param cert_resolver: + Function to use to resolve trusted X.509 certificates when X509IssuerSerial and X509Digest references are + found in the signature. The function is called with the keyword arguments ``x509_issuer_name``, + ``x509_serial_number`` and ``x509_digest``, and is expected to return an iterable of one or more + strings containing a PEM-formatted certificate and a chain of intermediate certificates, if needed. + Implies **require_x509=True**. + :param ca_pem_file: + Filename of a PEM file containing certificate authority information to use when verifying certificate-based + signatures. + :param ca_path: + Path to a directory containing PEM-formatted certificate authority files to use when verifying + certificate-based signatures. If neither **ca_pem_file** nor **ca_path** is given, the Mozilla CA bundle + provided by :py:mod:`certifi` will be loaded. + :param hmac_key: If using HMAC, a string containing the shared secret. + :param validate_schema: Whether to validate **data** against the XML Signature schema. + :param parser: + Custom XML parser instance to use when parsing **data**. The default parser arguments used by SignXML are: + ``resolve_entities=False``. See https://lxml.de/FAQ.html#how-do-i-use-lxml-safely-as-a-web-service-endpoint. + :type parser: :class:`lxml.etree.XMLParser` compatible parser + :param uri_resolver: + Function to use to resolve reference URIs that are not empty and don't start with "#" (such references are + only expected in detached signatures; if you don't expect such signatures, leave this unset to prevent them + from validating). The function is called with a single string argument containing the URI to be resolved, + and is expected to return a :class:`lxml.etree._Element` node or bytes. + :param id_attribute: + Name of the attribute whose value ``URI`` refers to. By default, SignXML will search for "Id", then "ID". + :param expect_config: + Expected signature configuration. Pass a :class:`SignatureConfiguration` object to describe expected + properties of the verified signature. Signatures with unexpected configurations will fail validation. + :param deprecated_kwargs: + Direct application of the parameters **require_x509**, **expect_references**, and + **ignore_ambiguous_key_info** is deprecated. Use **expect_config** instead. + + :raises: :class:`signxml.exceptions.InvalidSignature` + """ + self.hmac_key = hmac_key + self.config = expect_config + if deprecated_kwargs: + self.config = replace(expect_config, **deprecated_kwargs) + self.x509_cert = x509_cert + self._parser = parser + + if x509_cert or cert_resolver: + self.config = replace(self.config, require_x509=True) + + if x509_cert and str(type(x509_cert)) == "<class 'OpenSSL.crypto.X509'>": + warn( + "SignXML received a PyOpenSSL object as x509_cert input. Please pass a Cryptography.X509 object instead.", + DeprecationWarning, + ) + x509_cert = x509_cert.to_cryptography() # type: ignore[union-attr] + + if id_attribute is not None: + self.id_attributes = (id_attribute,) + + root = self.get_root(data) + signature_ref = self._get_signature(root) + + # HACK: deep copy won't keep root's namespaces + signature = self._fromstring(self._tostring(signature_ref)) + + if validate_schema: + self.validate_schema(signature) + + signed_info = self._find(signature, "SignedInfo") + c14n_method = self._find(signed_info, "CanonicalizationMethod") + c14n_algorithm = CanonicalizationMethod(c14n_method.get("Algorithm")) + inclusive_ns_prefixes = self._get_inclusive_ns_prefixes(c14n_method) + signature_method = self._find(signed_info, "SignatureMethod") + signature_value = self._find(signature, "SignatureValue") + signature_alg = SignatureMethod(signature_method.get("Algorithm")) + self.check_signature_alg_expected(signature_alg) + raw_signature = b64decode(signature_value.text) + x509_data = signature.find("ds:KeyInfo/ds:X509Data", namespaces=namespaces) + key_value = signature.find("ds:KeyInfo/ds:KeyValue", namespaces=namespaces) + der_encoded_key_value = signature.find("ds:KeyInfo/dsig11:DEREncodedKeyValue", namespaces=namespaces) + signed_info_c14n = self._c14n( + signed_info, algorithm=c14n_algorithm, inclusive_ns_prefixes=inclusive_ns_prefixes + ) + + if x509_data is not None or self.config.require_x509: + if self.x509_cert is None: + if x509_data is None: + raise InvalidInput("Expected a X.509 certificate based signature") + certs = [cert.text for cert in self._findall(x509_data, "X509Certificate")] + if len(certs) == 0: + x509_iss = x509_data.find("ds:X509IssuerSerial/ds:X509IssuerName", namespaces=namespaces) + x509_sn = x509_data.find("ds:X509IssuerSerial/ds:X509SerialNumber", namespaces=namespaces) + x509_digest = x509_data.find("dsig11:X509Digest", namespaces=namespaces) + if cert_resolver and any(i is not None for i in (x509_iss, x509_sn, x509_digest)): + cert_chain = cert_resolver( + x509_issuer_name=x509_iss.text if x509_iss is not None else None, + x509_serial_number=x509_sn.text if x509_sn is not None else None, + x509_digest=x509_digest.text if x509_digest is not None else None, + ) + if len(cert_chain) == 0: + raise InvalidCertificate("No certificate found for given X509 data") + if not all(isinstance(c, x509.Certificate) for c in cert_chain): + cert_chain = [x509.load_pem_x509_certificate(add_pem_header(cert)) for cert in cert_chain] + else: + msg = "Expected to find an X509Certificate element in the signature" + msg += " (X509SubjectName, X509SKI are not supported)" + raise InvalidInput(msg) + else: + cert_chain = [x509.load_pem_x509_certificate(add_pem_header(cert)) for cert in certs] + + cert_verifier = self.get_cert_chain_verifier(ca_pem_file=ca_pem_file, ca_path=ca_path) + + signing_cert = cert_verifier.verify(cert_chain) + elif isinstance(self.x509_cert, x509.Certificate): + signing_cert = self.x509_cert + else: + signing_cert = x509.load_pem_x509_certificate(add_pem_header(self.x509_cert)) + + if cert_subject_name is not None: + cn_oid = x509.oid.NameOID.COMMON_NAME + subject_cn_from_signing_cert = signing_cert.subject.get_attributes_for_oid(cn_oid)[0].value + if subject_cn_from_signing_cert != cert_subject_name: + raise InvalidSignature("Certificate subject common name mismatch") + + try: + verified_signed_info_c14n = self._verify_signature_with_pubkey( + signed_info_c14n=signed_info_c14n, + raw_signature=raw_signature, + signing_certificate=signing_cert, + signature_alg=signature_alg, + ) + except cryptography.exceptions.InvalidSignature as e: + raise InvalidSignature(f"Signature verification failed: {e}") + + self._match_key_values( + key_value=key_value, + der_encoded_key_value=der_encoded_key_value, + signing_cert=signing_cert, + signature_alg=signature_alg, + ) + elif signature_alg.name.startswith("HMAC_"): + if self.hmac_key is None: + raise InvalidInput('Parameter "hmac_key" is required when verifying a HMAC signature') + + signer = HMAC(key=ensure_bytes(self.hmac_key), algorithm=digest_algorithm_implementations[signature_alg]()) + signer.update(signed_info_c14n) + if raw_signature == signer.finalize(): + verified_signed_info_c14n = signed_info_c14n + else: + raise InvalidSignature("Signature mismatch (HMAC)") + else: + if key_value is None and der_encoded_key_value is None: + raise InvalidInput("Expected to find either KeyValue or X509Data XML element in KeyInfo") + + verified_signed_info_c14n = self._verify_signature_with_pubkey( + signed_info_c14n=signed_info_c14n, + raw_signature=raw_signature, + key_value=key_value, + der_encoded_key_value=der_encoded_key_value, + signature_alg=signature_alg, + ) + + verified_signed_info = self._fromstring(verified_signed_info_c14n) + verify_results: List[VerifyResult] = [] + for idx, reference in enumerate(self._findall(verified_signed_info, "Reference")): + verify_results.append(self._verify_reference(reference, idx, root, uri_resolver, c14n_algorithm, signature)) + + if type(self.config.expect_references) is int and len(verify_results) != self.config.expect_references: + msg = "Expected to find {} references, but found {}" + raise InvalidSignature(msg.format(self.config.expect_references, len(verify_results))) + + return verify_results if self.config.expect_references > 1 else verify_results[0]
    + + + def _verify_reference(self, reference, index, root, uri_resolver, c14n_algorithm, signature): + copied_root = self._fromstring(self._tostring(root)) + copied_signature_ref = self._get_signature(copied_root) + transforms = self._find(reference, "Transforms", require=False) + digest_method_alg_name = self._find(reference, "DigestMethod").get("Algorithm") + digest_value = self._find(reference, "DigestValue") + payload = self._resolve_reference(copied_root, reference, uri_resolver=uri_resolver) + payload_c14n = self._apply_transforms(payload, transforms_node=transforms, signature=copied_signature_ref) + digest_alg = DigestAlgorithm(digest_method_alg_name) + self.check_digest_alg_expected(digest_alg) + + if b64decode(digest_value.text) != self._get_digest(payload_c14n, digest_alg): + raise InvalidDigest(f"Digest mismatch for reference {index} ({reference.get('URI')})") + + # We return the signed XML (and only that) to ensure no access to unsigned data happens + try: + payload_c14n_xml = self._fromstring(payload_c14n) + except etree.XMLSyntaxError: + payload_c14n_xml = None + return VerifyResult(payload_c14n, payload_c14n_xml, signature) + +
    +[docs] + def validate_schema(self, signature): + last_exception = None + for schema in self.schemas(): + try: + schema.assertValid(signature) + return + except Exception as e: + last_exception = e + if last_exception is not None: + raise last_exception + raise SignXMLException("Invalid state")
    + + + def _check_key_value_matches_cert_public_key(self, key_value, public_key, signature_alg: SignatureMethod): + if signature_alg.name.startswith("ECDSA_") and isinstance(public_key, ec.EllipticCurvePublicKey): + ec_key_value = self._find(key_value, "dsig11:ECKeyValue") + named_curve = self._find(ec_key_value, "dsig11:NamedCurve") + pub_key = self._find(ec_key_value, "dsig11:PublicKey") + key_data = b64decode(pub_key.text)[1:] + x = bytes_to_long(key_data[: len(key_data) // 2]) + y = bytes_to_long(key_data[len(key_data) // 2 :]) + curve_class = self.known_ecdsa_curves[named_curve.get("URI")] + + pubk_curve = public_key.public_numbers().curve + pubk_x = public_key.public_numbers().x + pubk_y = public_key.public_numbers().y + + return curve_class == pubk_curve and x == pubk_x and y == pubk_y + + elif signature_alg.name.startswith("DSA_") and isinstance(public_key, dsa.DSAPublicKey): + dsa_key_value = self._find(key_value, "DSAKeyValue") + p = self._get_long(dsa_key_value, "P") + q = self._get_long(dsa_key_value, "Q") + g = self._get_long(dsa_key_value, "G", require=False) + + pubk_p = public_key.public_numbers().parameter_numbers.p + pubk_q = public_key.public_numbers().parameter_numbers.q + pubk_g = public_key.public_numbers().parameter_numbers.g + + return p == pubk_p and q == pubk_q and g == pubk_g + + elif signature_alg.name.startswith("RSA_") and isinstance(public_key, rsa.RSAPublicKey): + rsa_key_value = self._find(key_value, "RSAKeyValue") + n = self._get_long(rsa_key_value, "Modulus") + e = self._get_long(rsa_key_value, "Exponent") + + pubk_n = public_key.public_numbers().n + pubk_e = public_key.public_numbers().e + + return n == pubk_n and e == pubk_e + + raise NotImplementedError() + + def _check_der_key_value_matches_cert_public_key(self, der_encoded_key_value, public_key, signature_alg): + # TODO: Add a test case for this functionality + der_public_key = load_der_public_key(b64decode(der_encoded_key_value.text)) + + if ( + signature_alg.name.startswith("ECDSA_") + and isinstance(der_public_key, ec.EllipticCurvePublicKey) + and isinstance(public_key, ec.EllipticCurvePublicKey) + ): + curve_class = der_public_key.public_numbers().curve + x = der_public_key.public_numbers().x + y = der_public_key.public_numbers().y + + pubk_curve = public_key.public_numbers().curve + pubk_x = public_key.public_numbers().x + pubk_y = public_key.public_numbers().y + + return curve_class == pubk_curve and x == pubk_x and y == pubk_y + + elif ( + signature_alg.name.startswith("DSA_") + and isinstance(der_public_key, dsa.DSAPublicKey) + and isinstance(public_key, dsa.DSAPublicKey) + ): + p = der_public_key.public_numbers().parameter_numbers.p + q = der_public_key.public_numbers().parameter_numbers.q + g = der_public_key.public_numbers().parameter_numbers.g + + pubk_p = public_key.public_numbers().parameter_numbers.p + pubk_q = public_key.public_numbers().parameter_numbers.q + pubk_g = public_key.public_numbers().parameter_numbers.g + + return p == pubk_p and q == pubk_q and g == pubk_g + + elif ( + signature_alg.name.startswith("RSA_") + and isinstance(der_public_key, rsa.RSAPublicKey) + and isinstance(public_key, rsa.RSAPublicKey) + ): + n = der_public_key.public_numbers().n + e = der_public_key.public_numbers().e + + pubk_n = public_key.public_numbers().n + pubk_e = public_key.public_numbers().e + + return n == pubk_n and e == pubk_e + + raise NotImplementedError() + + def _get_long(self, element, query, require=True): + result = self._find(element, query, require=require) + if result is not None: + result = bytes_to_long(b64decode(result.text)) + return result
    + +
    +
    +
    +
    + + +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    + +
    +
    + +
    +
    + +
    +
    + + + + + + + \ No newline at end of file diff --git a/_modules/signxml/xades/xades.html b/_modules/signxml/xades/xades.html new file mode 100644 index 00000000..461c63db --- /dev/null +++ b/_modules/signxml/xades/xades.html @@ -0,0 +1,700 @@ + + + + + + + + signxml.xades.xades - signxml documentation + + + + + + + + + + + + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + Auto light/dark, in light mode + + + + + + + + + + + + + + + Auto light/dark, in dark mode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Skip to content + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    +
    + +
    + +
    +
    +

    Source code for signxml.xades.xades

    +"""
    +Signature and digest algorithms supported by XAdES are described in ETSI TS 119 312.
    +Digest algorithms:
    +- SHA-224 FIPS Publication 180-4
    +- SHA-256 FIPS Publication 180-4
    +- SHA-384 FIPS Publication 180-4
    +- SHA-512 FIPS Publication 180-4
    +- SHA-512/256 FIPS Publication 180-4
    +- SHA3-256 FIPS Publication 202
    +- SHA3-384 FIPS Publication 202
    +- SHA3-512 FIPS Publication 202
    +Signature algorithms:
    +- RSA-PKCS#1v1_5 IETF RFC 3447
    +- RSA-PSS IETF RFC 3447
    +- DSA (FF-DLOG DSA) FIPS Publication 186-4 [2], ISO/IEC 14888-3
    +- EC-DSA (EC-DLOG EC-DSA) FIPS Publication 186-4
    +- EC-SDSA-opt (EC-DLOG EC-Schnorr) ISO/IEC 14888-3
    +We do not yet support all of them here (issue 206 tracks the implementation of RFC 6931 identifiers required for that).
    +The main difference with plain XML Signature is that HMAC algorithms are not supported, and SHA1 is deprecated.
    +"""
    +
    +import datetime
    +import os
    +import secrets
    +from base64 import b64decode, b64encode
    +from dataclasses import astuple, dataclass
    +from functools import wraps
    +from typing import Dict, List, Optional, Union
    +
    +from cryptography import x509
    +from cryptography.hazmat.primitives.serialization import Encoding
    +from lxml.etree import SubElement, _Element
    +
    +from .. import SignatureConfiguration, VerifyResult, XMLSignatureProcessor, XMLSigner, XMLVerifier
    +from ..algorithms import DigestAlgorithm, digest_algorithm_implementations
    +from ..exceptions import InvalidDigest, InvalidInput
    +from ..util import SigningSettings, add_pem_header, ds_tag, namespaces, xades_tag
    +
    +
    +
    +[docs] +@dataclass(frozen=True) +class XAdESSignatureConfiguration(SignatureConfiguration): + """ + A subclass of :class:`signxml.SignatureConfiguration`, with default overrides as described below. + """ + + expect_references: Union[int, bool] = 3 + """ + By default, XAdES signatures carry 3 references (the original data reference, the KeyInfo (X.509 certificate) + reference, and the signed properties reference). Signatures can carry more references if more data or extensions + are present. Specify the expected number of references here. + """
    + + + +
    +[docs] +@dataclass(frozen=True) +class XAdESSignaturePolicy: + Identifier: str + Description: str + DigestMethod: DigestAlgorithm + DigestValue: str
    + + + +
    +[docs] +@dataclass(frozen=True) +class XAdESDataObjectFormat: + Description: str = "Default XAdES payload description" + MimeType: str = "text/xml"
    + + + +
    +[docs] +@dataclass(frozen=True) +class XAdESVerifyResult(VerifyResult): + """ + A subclass of :class:`signxml.VerifyResult`. See VerifyResult for attribute semantics not covered here. + """ + + signed_properties: _Element + "The XAdES SignedProperties element that was verified as signed by the signature"
    + + + +class XAdESProcessor(XMLSignatureProcessor): + schema_files = ["XAdESv141.xsd", "XAdES01903v141-201601.xsd", "XAdES01903v141-201506.xsd"] + _schema_dir = os.path.normpath(os.path.join(os.path.dirname(__file__), "schemas")) + + +
    +[docs] +class XAdESSigner(XAdESProcessor, XMLSigner): + """ + Create a new XAdES Signature Signer object, which can be used to hold configuration information and sign multiple + pieces of data. This is a subclass of :class:`signxml.XMLSigner`; all of its configuration semantics are supported. + + :param signature_policy: + If you need your XAdES signature to carry the **SignaturePolicyIdentifier** element, use this parameter to pass + a :class:`XAdESSignaturePolicy` object carrying strings and the digest method identifier for the element. + :param claimed_roles: + If you need your XAdES signature to carry the **SignerRole/ClaimedRoles** element, use this parameter to pass a + list of strings to use as text for the **ClaimedRole** tags. + :param data_object_format: + If you need your XAdES signature to carry the **DataObjectFormat** element, use this parameter to pass a + :class:`XAdESDataObjectFormat` object carrying the Description and MimeType strings for the element. + :param xml_signer_args: + Parameters to pass to the :class:`signxml.XMLSigner` constructor. + """ + + def __init__( + self, + signature_policy: Optional[XAdESSignaturePolicy] = None, + claimed_roles: Optional[List] = None, + data_object_format: Optional[XAdESDataObjectFormat] = None, + **xml_signer_args, + ) -> None: + super().__init__(**xml_signer_args) + if self.sign_alg.name.startswith("HMAC_"): + raise Exception("HMAC signatures are not supported by XAdES") + self.signature_annotators.append(self._build_xades_ds_object) + self._tokens_used: Dict[str, bool] = {} + self.signed_signature_properties_annotators = [ + self.add_signing_time, + self.add_signing_certificate, + self.add_signature_policy_identifier, + self.add_signature_production_place, + self.add_signer_role, + ] + self.signed_data_object_properties_annotators = [ + self.add_data_object_format, + ] + self.signature_policy = signature_policy + self.claimed_roles = claimed_roles + if data_object_format is None: + data_object_format = XAdESDataObjectFormat() + self.data_object_format = data_object_format + self.namespaces.update(xades=namespaces.xades) + + @wraps(XMLSigner.sign) + def sign(self, data, always_add_key_value: bool = True, **kwargs) -> _Element: # type: ignore[override] + return super().sign(data=data, always_add_key_value=always_add_key_value, **kwargs) + + def _get_token(self, length=4): + for _ in range(9000): + token = secrets.token_hex(length).upper() + if token in self._tokens_used: + continue + self._tokens_used[token] = True + return token + + def _build_xades_ds_object(self, sig_root, signing_settings: SigningSettings): + ds_object = SubElement(sig_root, ds_tag("Object"), nsmap=self.namespaces) + sig_root.append(ds_object) + if "Id" not in sig_root.keys(): + sig_root.set("Id", f"SignXMLSignature{self._get_token()}") + key_info = self._find(sig_root, "KeyInfo") + if "Id" not in key_info.keys(): + key_info.set("Id", f"SignXMLCertificate{self._get_token()}") + + qualifying_properties = SubElement( + ds_object, xades_tag("QualifyingProperties"), nsmap=self.namespaces, Target=f"#{sig_root.get('Id')}" + ) + signed_properties = SubElement( + qualifying_properties, + xades_tag("SignedProperties"), + nsmap=self.namespaces, + Id=f"{sig_root.get('Id')}-SignedProperties{self._get_token()}", + ) + signed_signature_properties = SubElement( + signed_properties, xades_tag("SignedSignatureProperties"), nsmap=self.namespaces + ) + for ssp_annotator in self.signed_signature_properties_annotators: + ssp_annotator(signed_signature_properties, sig_root=sig_root, signing_settings=signing_settings) + signed_data_object_properties = SubElement( + signed_properties, xades_tag("SignedDataObjectProperties"), nsmap=self.namespaces + ) + for dop_annotator in self.signed_data_object_properties_annotators: + dop_annotator(signed_data_object_properties, sig_root=sig_root, signing_settings=signing_settings) + self._add_reference_to_signed_info( + sig_root, signed_properties, Type="http://uri.etsi.org/01903#SignedProperties" + ) + self._add_reference_to_signed_info(sig_root, key_info) + + def _add_reference_to_signed_info(self, sig_root, node_to_reference, **attrs): + signed_info = self._find(sig_root, "SignedInfo") + reference = SubElement(signed_info, ds_tag("Reference"), nsmap=self.namespaces) + reference.set("URI", f"#{node_to_reference.get('Id')}") + for attr_name, attr_value in attrs.items(): + reference.set(attr_name, attr_value) + SubElement(reference, ds_tag("DigestMethod"), nsmap=self.namespaces, Algorithm=self.digest_alg.value) + digest_value_node = SubElement(reference, ds_tag("DigestValue"), nsmap=self.namespaces) + node_to_reference_c14n = self._c14n(node_to_reference, algorithm=self.c14n_alg) + digest = self._get_digest(node_to_reference_c14n, algorithm=self.digest_alg) + digest_value_node.text = b64encode(digest).decode() + +
    +[docs] + def add_signing_time(self, signed_signature_properties, sig_root, signing_settings: SigningSettings): + signing_time = SubElement(signed_signature_properties, xades_tag("SigningTime"), nsmap=self.namespaces) + # TODO: make configurable + signing_time.text = datetime.datetime.now(datetime.timezone.utc).isoformat(timespec="seconds")
    + + +
    +[docs] + def add_signing_certificate(self, signed_signature_properties, sig_root, signing_settings: SigningSettings): + # TODO: check if we need to support SigningCertificate + signing_cert_v2 = SubElement( + signed_signature_properties, xades_tag("SigningCertificateV2"), nsmap=self.namespaces + ) + assert signing_settings.cert_chain is not None + for cert in signing_settings.cert_chain: + if isinstance(cert, x509.Certificate): + loaded_cert = cert + else: + loaded_cert = x509.load_pem_x509_certificate(add_pem_header(cert)) + der_encoded_cert = loaded_cert.public_bytes(Encoding.DER) + cert_digest_bytes = self._get_digest(der_encoded_cert, algorithm=self.digest_alg) + cert_node = SubElement(signing_cert_v2, xades_tag("Cert"), nsmap=self.namespaces) + cert_digest = SubElement(cert_node, xades_tag("CertDigest"), nsmap=self.namespaces) + SubElement(cert_digest, ds_tag("DigestMethod"), nsmap=self.namespaces, Algorithm=self.digest_alg.value) + digest_value_node = SubElement(cert_digest, ds_tag("DigestValue"), nsmap=self.namespaces) + digest_value_node.text = b64encode(cert_digest_bytes).decode()
    + + + # issuer_serial_number = loaded_cert.get_serial_number() + # issuer_serial_bytes = long_to_bytes(issuer_serial_number) + # issuer_serial_v2 = SubElement(cert_node, xades_tag("IssuerSerialV2"), nsmap=self.namespaces) + # issuer_serial_v2.text = b64encode(issuer_serial_bytes).decode() + +
    +[docs] + def add_signature_policy_identifier(self, signed_signature_properties, sig_root, signing_settings: SigningSettings): + if self.signature_policy is not None: + signature_policy_identifier = SubElement( + signed_signature_properties, xades_tag("SignaturePolicyIdentifier"), nsmap=self.namespaces + ) + signature_policy_id = SubElement( + signature_policy_identifier, xades_tag("SignaturePolicyId"), nsmap=self.namespaces + ) + sig_policy_id = SubElement(signature_policy_id, xades_tag("SigPolicyId"), nsmap=self.namespaces) + identifier = SubElement(sig_policy_id, xades_tag("Identifier"), nsmap=self.namespaces) + identifier.text = self.signature_policy.Identifier + description = SubElement(sig_policy_id, xades_tag("Description"), nsmap=self.namespaces) + description.text = self.signature_policy.Description + sig_policy_hash = SubElement(signature_policy_id, xades_tag("SigPolicyHash"), nsmap=self.namespaces) + digest_alg = DigestAlgorithm(self.signature_policy.DigestMethod) + SubElement(sig_policy_hash, ds_tag("DigestMethod"), nsmap=self.namespaces, Algorithm=digest_alg.value) + digest_value_node = SubElement(sig_policy_hash, ds_tag("DigestValue"), nsmap=self.namespaces) + digest_value_node.text = self.signature_policy.DigestValue
    + + +
    +[docs] + def add_signature_production_place(self, signed_signature_properties, sig_root, signing_settings: SigningSettings): + # SignatureProductionPlace or SignatureProductionPlaceV2 + pass
    + + +
    +[docs] + def add_signer_role(self, signed_signature_properties, sig_root, signing_settings: SigningSettings): + # SignerRole or SignerRoleV2 + if not self.claimed_roles: + return + signer_role = SubElement(signed_signature_properties, xades_tag("SignerRole"), nsmap=self.namespaces) + claimed_roles = SubElement(signer_role, xades_tag("ClaimedRoles"), nsmap=self.namespaces) + for claimed_role in self.claimed_roles: + claimed_role_node = SubElement(claimed_roles, xades_tag("ClaimedRole"), nsmap=self.namespaces) + claimed_role_node.text = claimed_role
    + + +
    +[docs] + def add_data_object_format(self, signed_data_object_properties, sig_root, signing_settings: SigningSettings): + signed_info = self._find(sig_root, "ds:SignedInfo") + reference = self._find(signed_info, "ds:Reference") + if "Id" not in reference.keys(): + reference.set("Id", f"SignXMLReference{self._get_token()}") + data_object_format = SubElement( + signed_data_object_properties, + xades_tag("DataObjectFormat"), + nsmap=self.namespaces, + ObjectReference=f"#{reference.get('Id')}", + ) + description = SubElement(data_object_format, xades_tag("Description"), nsmap=self.namespaces) + description.text = self.data_object_format.Description + mime_type = SubElement(data_object_format, xades_tag("MimeType"), nsmap=self.namespaces) + mime_type.text = self.data_object_format.MimeType
    +
    + + + +
    +[docs] +class XAdESVerifier(XAdESProcessor, XMLVerifier): + """ + Create a new XAdES Signature Verifier object, which can be used to verify multiple pieces of data. + """ + + # TODO: document/support SignatureTimeStamp / timestamp attestation + # SignatureTimeStamp is required by certain profiles but is an unsigned property + def _verify_signing_time(self, verify_result: VerifyResult): + pass + + def _verify_cert_digest(self, signing_cert_node, expect_cert): + for cert in self._findall(signing_cert_node, "xades:Cert"): + cert_digest = self._find(cert, "xades:CertDigest") + digest_alg = DigestAlgorithm(self._find(cert_digest, "DigestMethod").get("Algorithm")) + digest_value = self._find(cert_digest, "DigestValue") + # check spec for specific method of retrieving cert + digest_alg_impl = digest_algorithm_implementations[digest_alg]() + if b64decode(digest_value.text) != expect_cert.fingerprint(digest_alg_impl): + raise InvalidDigest("Digest mismatch for certificate digest") + + def _verify_cert_digests(self, verify_result: VerifyResult): + x509_data = verify_result.signature_xml.find("ds:KeyInfo/ds:X509Data", namespaces=namespaces) + cert_from_key_info = x509.load_pem_x509_certificate( + add_pem_header(self._find(x509_data, "X509Certificate").text) + ) + signed_signature_props = self._find(verify_result.signed_xml, "xades:SignedSignatureProperties") + signing_cert = self._find(signed_signature_props, "xades:SigningCertificate", require=False) + signing_cert_v2 = self._find(signed_signature_props, "xades:SigningCertificateV2", require=False) + if signing_cert is None and signing_cert_v2 is None: + raise InvalidInput("Expected to find XML element xades:SigningCertificate or xades:SigningCertificateV2") + if signing_cert is not None and signing_cert_v2 is not None: + raise InvalidInput("Expected to find exactly one of xades:SigningCertificate or xades:SigningCertificateV2") + if signing_cert is not None: + self._verify_cert_digest(signing_cert, expect_cert=cert_from_key_info) + elif signing_cert_v2 is not None: + self._verify_cert_digest(signing_cert_v2, expect_cert=cert_from_key_info) + + def _verify_signature_policy(self, verify_result: VerifyResult, expect_signature_policy: XAdESSignaturePolicy): + signed_signature_props = self._find(verify_result.signed_xml, "xades:SignedSignatureProperties") + signature_policy_id = signed_signature_props.find( + "xades:SignaturePolicyIdentifier/xades:SignaturePolicyId", namespaces=namespaces + ) + if signature_policy_id is not None: + sig_policy_id = self._find(signature_policy_id, "xades:SigPolicyId") + identifier = self._find(sig_policy_id, "xades:Identifier") + if identifier.text != expect_signature_policy.Identifier: + raise InvalidInput( + f"Expected to find signature policy identifier {expect_signature_policy.Identifier}, " + f"but found {identifier.text}" + ) + sig_policy_hash = self._find(signature_policy_id, "xades:SigPolicyHash") + digest_alg = DigestAlgorithm(self._find(sig_policy_hash, "DigestMethod").get("Algorithm")) + if digest_alg != expect_signature_policy.DigestMethod: + raise InvalidInput( + f"Expected to find signature digest algorithm {expect_signature_policy.DigestMethod}, " + f"but found {digest_alg}" + ) + digest_value = self._find(sig_policy_hash, "DigestValue") + if b64decode(digest_value.text) != b64decode(expect_signature_policy.DigestValue): + raise InvalidInput("Digest mismatch for signature policy hash") + + def _verify_signed_properties(self, verify_result): + self._verify_signing_time(verify_result) + self._verify_cert_digests(verify_result) + if self.expect_signature_policy: + self._verify_signature_policy( + verify_result=verify_result, expect_signature_policy=self.expect_signature_policy + ) + return self._find(verify_result.signed_xml, "xades:SignedSignatureProperties") + +
    +[docs] + def verify( # type: ignore[override] + self, + data, + *, + expect_signature_policy: Optional[XAdESSignaturePolicy] = None, + expect_config: XAdESSignatureConfiguration = XAdESSignatureConfiguration(), + **xml_verifier_args, + ) -> List[XAdESVerifyResult]: + """ + Verify the XAdES signature supplied in the data and return a list of :class:`XAdESVerifyResult` data structures + representing the data signed by the signature, or raise an exception if the signature is not valid. This method + is a wrapper around :meth:`signxml.XMLVerifier.verify`; see its documentation for more details and arguments it + supports. + + :param expect_signature_policy: + If you need to assert that the verified XAdES signature carries specific data in the + **SignaturePolicyIdentifier** element, use this parameter to pass a :class:`XAdESSignaturePolicy` object + carrying strings and the digest method identifier for the element. + :param expect_config: + Expected signature configuration. Pass a :class:`XAdESSignatureConfiguration` object to describe expected + properties of the verified signature. Signatures with unexpected configurations will fail validation. + :param xml_verifier_args: + Parameters to pass to :meth:`signxml.XMLVerifier.verify`. + """ + self.expect_signature_policy = expect_signature_policy + if expect_config.require_x509 is not True: + raise InvalidInput("XAdES signatures require X509") + verify_results = super().verify(data, expect_config=expect_config, **xml_verifier_args) + if not isinstance(verify_results, list): + raise InvalidInput("Expected to find multiple references in signature") + for i, verify_result in enumerate(verify_results): + if verify_result.signed_xml is None: + continue + if verify_result.signed_xml.tag == xades_tag("SignedProperties"): + verify_results[i] = XAdESVerifyResult( # type: ignore[misc] + *astuple(verify_result), signed_properties=self._verify_signed_properties(verify_result) + ) + break + else: + raise InvalidInput("Expected to find a xades:SignedProperties element") + + # TODO: assert all mandatory signed properties are set + return verify_results # type: ignore[return-value]
    +
    + +
    +
    +
    +
    + + +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    + +
    +
    + +
    +
    + +
    +
    + + + + + + + \ No newline at end of file diff --git a/_sources/changelog.rst.txt b/_sources/changelog.rst.txt new file mode 100644 index 00000000..26f8d0ec --- /dev/null +++ b/_sources/changelog.rst.txt @@ -0,0 +1,3 @@ +Release Notes +============= +.. include:: ../Changes.rst diff --git a/_sources/index.rst.txt b/_sources/index.rst.txt new file mode 100644 index 00000000..c0a8ce49 --- /dev/null +++ b/_sources/index.rst.txt @@ -0,0 +1,26 @@ +.. include:: ../README.rst + +API documentation +================= + +.. automodule:: signxml + :members: + :imported-members: + :undoc-members: + :exclude-members: XMLSignatureProcessor + +XAdES API documentation +======================= + +.. automodule:: signxml.xades + :members: + :imported-members: + :undoc-members: + +Change log +========== + +.. toctree:: + :maxdepth: 5 + + changelog diff --git a/_static/basic.css b/_static/basic.css new file mode 100644 index 00000000..f316efcb --- /dev/null +++ b/_static/basic.css @@ -0,0 +1,925 @@ +/* + * basic.css + * ~~~~~~~~~ + * + * Sphinx stylesheet -- basic theme. + * + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +div.section::after { + display: block; + content: ''; + clear: left; +} + +/* -- relbar ---------------------------------------------------------------- */ + +div.related { + width: 100%; + font-size: 90%; +} + +div.related h3 { + display: none; +} + +div.related ul { + margin: 0; + padding: 0 0 0 10px; + list-style: none; +} + +div.related li { + display: inline; +} + +div.related li.right { + float: right; + margin-right: 5px; +} + +/* -- sidebar --------------------------------------------------------------- */ + +div.sphinxsidebarwrapper { + padding: 10px 5px 0 10px; +} + +div.sphinxsidebar { + float: left; + width: 230px; + margin-left: -100%; + font-size: 90%; + word-wrap: break-word; + overflow-wrap : break-word; +} + +div.sphinxsidebar ul { + list-style: none; +} + +div.sphinxsidebar ul ul, +div.sphinxsidebar ul.want-points { + margin-left: 20px; + list-style: square; +} + +div.sphinxsidebar ul ul { + margin-top: 0; + margin-bottom: 0; +} + +div.sphinxsidebar form { + margin-top: 10px; +} + +div.sphinxsidebar input { + border: 1px solid #98dbcc; + font-family: sans-serif; + font-size: 1em; +} + +div.sphinxsidebar #searchbox form.search { + overflow: hidden; +} + +div.sphinxsidebar #searchbox input[type="text"] { + float: left; + width: 80%; + padding: 0.25em; + box-sizing: border-box; +} + +div.sphinxsidebar #searchbox input[type="submit"] { + float: left; + width: 20%; + border-left: none; + padding: 0.25em; + box-sizing: border-box; +} + + +img { + border: 0; + max-width: 100%; +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin: 10px 0 0 20px; + padding: 0; +} + +ul.search li { + padding: 5px 0 5px 20px; + background-image: url(file.png); + background-repeat: no-repeat; + background-position: 0 7px; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li p.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; + margin-left: auto; + margin-right: auto; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable { + width: 100%; +} + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable ul { + margin-top: 0; + margin-bottom: 0; + list-style-type: none; +} + +table.indextable > tbody > tr > td > ul { + padding-left: 0em; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +div.modindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +div.genindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +/* -- domain module index --------------------------------------------------- */ + +table.modindextable td { + padding: 2px; + border-collapse: collapse; +} + +/* -- general body styles --------------------------------------------------- */ + +div.body { + min-width: 360px; + max-width: 800px; +} + +div.body p, div.body dd, div.body li, div.body blockquote { + -moz-hyphens: auto; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +a.headerlink { + visibility: hidden; +} + +a:visited { + color: #551A8B; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink, +caption:hover > a.headerlink, +p.caption:hover > a.headerlink, +div.code-block-caption:hover > a.headerlink { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +img.align-left, figure.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, figure.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, figure.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +img.align-default, figure.align-default, .figure.align-default { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-default { + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar, +aside.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px; + background-color: #ffe; + width: 40%; + float: right; + clear: right; + overflow-x: auto; +} + +p.sidebar-title { + font-weight: bold; +} + +nav.contents, +aside.topic, +div.admonition, div.topic, blockquote { + clear: left; +} + +/* -- topics ---------------------------------------------------------------- */ + +nav.contents, +aside.topic, +div.topic { + border: 1px solid #ccc; + padding: 7px; + margin: 10px 0 10px 0; +} + +p.topic-title { + font-size: 1.1em; + font-weight: bold; + margin-top: 10px; +} + +/* -- admonitions ----------------------------------------------------------- */ + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 7px; +} + +div.admonition dt { + font-weight: bold; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- content of sidebars/topics/admonitions -------------------------------- */ + +div.sidebar > :last-child, +aside.sidebar > :last-child, +nav.contents > :last-child, +aside.topic > :last-child, +div.topic > :last-child, +div.admonition > :last-child { + margin-bottom: 0; +} + +div.sidebar::after, +aside.sidebar::after, +nav.contents::after, +aside.topic::after, +div.topic::after, +div.admonition::after, +blockquote::after { + display: block; + content: ''; + clear: both; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + margin-top: 10px; + margin-bottom: 10px; + border: 0; + border-collapse: collapse; +} + +table.align-center { + margin-left: auto; + margin-right: auto; +} + +table.align-default { + margin-left: auto; + margin-right: auto; +} + +table caption span.caption-number { + font-style: italic; +} + +table caption span.caption-text { +} + +table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #aaa; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +th > :first-child, +td > :first-child { + margin-top: 0px; +} + +th > :last-child, +td > :last-child { + margin-bottom: 0px; +} + +/* -- figures --------------------------------------------------------------- */ + +div.figure, figure { + margin: 0.5em; + padding: 0.5em; +} + +div.figure p.caption, figcaption { + padding: 0.3em; +} + +div.figure p.caption span.caption-number, +figcaption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text, +figcaption span.caption-text { +} + +/* -- field list styles ----------------------------------------------------- */ + +table.field-list td, table.field-list th { + border: 0 !important; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +/* -- hlist styles ---------------------------------------------------------- */ + +table.hlist { + margin: 1em 0; +} + +table.hlist td { + vertical-align: top; +} + +/* -- object description styles --------------------------------------------- */ + +.sig { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; +} + +.sig-name, code.descname { + background-color: transparent; + font-weight: bold; +} + +.sig-name { + font-size: 1.1em; +} + +code.descname { + font-size: 1.2em; +} + +.sig-prename, code.descclassname { + background-color: transparent; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.sig-param.n { + font-style: italic; +} + +/* C++ specific styling */ + +.sig-inline.c-texpr, +.sig-inline.cpp-texpr { + font-family: unset; +} + +.sig.c .k, .sig.c .kt, +.sig.cpp .k, .sig.cpp .kt { + color: #0033B3; +} + +.sig.c .m, +.sig.cpp .m { + color: #1750EB; +} + +.sig.c .s, .sig.c .sc, +.sig.cpp .s, .sig.cpp .sc { + color: #067D17; +} + + +/* -- other body styles ----------------------------------------------------- */ + +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; +} + +:not(li) > ol > li:first-child > :first-child, +:not(li) > ul > li:first-child > :first-child { + margin-top: 0px; +} + +:not(li) > ol > li:last-child > :last-child, +:not(li) > ul > li:last-child > :last-child { + margin-bottom: 0px; +} + +ol.simple ol p, +ol.simple ul p, +ul.simple ol p, +ul.simple ul p { + margin-top: 0; +} + +ol.simple > li:not(:first-child) > p, +ul.simple > li:not(:first-child) > p { + margin-top: 0; +} + +ol.simple p, +ul.simple p { + margin-bottom: 0; +} + +aside.footnote > span, +div.citation > span { + float: left; +} +aside.footnote > span:last-of-type, +div.citation > span:last-of-type { + padding-right: 0.5em; +} +aside.footnote > p { + margin-left: 2em; +} +div.citation > p { + margin-left: 4em; +} +aside.footnote > p:last-of-type, +div.citation > p:last-of-type { + margin-bottom: 0em; +} +aside.footnote > p:last-of-type:after, +div.citation > p:last-of-type:after { + content: ""; + clear: both; +} + +dl.field-list { + display: grid; + grid-template-columns: fit-content(30%) auto; +} + +dl.field-list > dt { + font-weight: bold; + word-break: break-word; + padding-left: 0.5em; + padding-right: 5px; +} + +dl.field-list > dd { + padding-left: 0.5em; + margin-top: 0em; + margin-left: 0em; + margin-bottom: 0em; +} + +dl { + margin-bottom: 15px; +} + +dd > :first-child { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +.sig dd { + margin-top: 0px; + margin-bottom: 0px; +} + +.sig dl { + margin-top: 0px; + margin-bottom: 0px; +} + +dl > dd:last-child, +dl > dd:last-child > :last-child { + margin-bottom: 0; +} + +dt:target, span.highlighted { + background-color: #fbe54e; +} + +rect.highlighted { + fill: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +.classifier:before { + font-style: normal; + margin: 0 0.5em; + content: ":"; + display: inline-block; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +.translated { + background-color: rgba(207, 255, 207, 0.2) +} + +.untranslated { + background-color: rgba(255, 207, 207, 0.2) +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +pre, div[class*="highlight-"] { + clear: both; +} + +span.pre { + -moz-hyphens: none; + -ms-hyphens: none; + -webkit-hyphens: none; + hyphens: none; + white-space: nowrap; +} + +div[class*="highlight-"] { + margin: 1em 0; +} + +td.linenos pre { + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + display: block; +} + +table.highlighttable tbody { + display: block; +} + +table.highlighttable tr { + display: flex; +} + +table.highlighttable td { + margin: 0; + padding: 0; +} + +table.highlighttable td.linenos { + padding-right: 0.5em; +} + +table.highlighttable td.code { + flex: 1; + overflow: hidden; +} + +.highlight .hll { + display: block; +} + +div.highlight pre, +table.highlighttable pre { + margin: 0; +} + +div.code-block-caption + div { + margin-top: 0; +} + +div.code-block-caption { + margin-top: 1em; + padding: 2px 5px; + font-size: small; +} + +div.code-block-caption code { + background-color: transparent; +} + +table.highlighttable td.linenos, +span.linenos, +div.highlight span.gp { /* gp: Generic.Prompt */ + user-select: none; + -webkit-user-select: text; /* Safari fallback only */ + -webkit-user-select: none; /* Chrome/Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+ */ +} + +div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.code-block-caption span.caption-text { +} + +div.literal-block-wrapper { + margin: 1em 0; +} + +code.xref, a code { + background-color: transparent; + font-weight: bold; +} + +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +span.eqno a.headerlink { + position: absolute; + z-index: 1; +} + +div.math:hover a.headerlink { + visibility: visible; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print { + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +} \ No newline at end of file diff --git a/_static/check-solid.svg b/_static/check-solid.svg new file mode 100644 index 00000000..92fad4b5 --- /dev/null +++ b/_static/check-solid.svg @@ -0,0 +1,4 @@ + + + + diff --git a/_static/clipboard.min.js b/_static/clipboard.min.js new file mode 100644 index 00000000..54b3c463 --- /dev/null +++ b/_static/clipboard.min.js @@ -0,0 +1,7 @@ +/*! + * clipboard.js v2.0.8 + * https://clipboardjs.com/ + * + * Licensed MIT © Zeno Rocha + */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={686:function(t,e,n){"use strict";n.d(e,{default:function(){return o}});var e=n(279),i=n.n(e),e=n(370),u=n.n(e),e=n(817),c=n.n(e);function a(t){try{return document.execCommand(t)}catch(t){return}}var f=function(t){t=c()(t);return a("cut"),t};var l=function(t){var e,n,o,r=1 + + + + diff --git a/_static/copybutton.css b/_static/copybutton.css new file mode 100644 index 00000000..f1916ec7 --- /dev/null +++ b/_static/copybutton.css @@ -0,0 +1,94 @@ +/* Copy buttons */ +button.copybtn { + position: absolute; + display: flex; + top: .3em; + right: .3em; + width: 1.7em; + height: 1.7em; + opacity: 0; + transition: opacity 0.3s, border .3s, background-color .3s; + user-select: none; + padding: 0; + border: none; + outline: none; + border-radius: 0.4em; + /* The colors that GitHub uses */ + border: #1b1f2426 1px solid; + background-color: #f6f8fa; + color: #57606a; +} + +button.copybtn.success { + border-color: #22863a; + color: #22863a; +} + +button.copybtn svg { + stroke: currentColor; + width: 1.5em; + height: 1.5em; + padding: 0.1em; +} + +div.highlight { + position: relative; +} + +/* Show the copybutton */ +.highlight:hover button.copybtn, button.copybtn.success { + opacity: 1; +} + +.highlight button.copybtn:hover { + background-color: rgb(235, 235, 235); +} + +.highlight button.copybtn:active { + background-color: rgb(187, 187, 187); +} + +/** + * A minimal CSS-only tooltip copied from: + * https://codepen.io/mildrenben/pen/rVBrpK + * + * To use, write HTML like the following: + * + *

    Short

    + */ + .o-tooltip--left { + position: relative; + } + + .o-tooltip--left:after { + opacity: 0; + visibility: hidden; + position: absolute; + content: attr(data-tooltip); + padding: .2em; + font-size: .8em; + left: -.2em; + background: grey; + color: white; + white-space: nowrap; + z-index: 2; + border-radius: 2px; + transform: translateX(-102%) translateY(0); + transition: opacity 0.2s cubic-bezier(0.64, 0.09, 0.08, 1), transform 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); +} + +.o-tooltip--left:hover:after { + display: block; + opacity: 1; + visibility: visible; + transform: translateX(-100%) translateY(0); + transition: opacity 0.2s cubic-bezier(0.64, 0.09, 0.08, 1), transform 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); + transition-delay: .5s; +} + +/* By default the copy button shouldn't show up when printing a page */ +@media print { + button.copybtn { + display: none; + } +} diff --git a/_static/copybutton.js b/_static/copybutton.js new file mode 100644 index 00000000..2ea7ff3e --- /dev/null +++ b/_static/copybutton.js @@ -0,0 +1,248 @@ +// Localization support +const messages = { + 'en': { + 'copy': 'Copy', + 'copy_to_clipboard': 'Copy to clipboard', + 'copy_success': 'Copied!', + 'copy_failure': 'Failed to copy', + }, + 'es' : { + 'copy': 'Copiar', + 'copy_to_clipboard': 'Copiar al portapapeles', + 'copy_success': '¡Copiado!', + 'copy_failure': 'Error al copiar', + }, + 'de' : { + 'copy': 'Kopieren', + 'copy_to_clipboard': 'In die Zwischenablage kopieren', + 'copy_success': 'Kopiert!', + 'copy_failure': 'Fehler beim Kopieren', + }, + 'fr' : { + 'copy': 'Copier', + 'copy_to_clipboard': 'Copier dans le presse-papier', + 'copy_success': 'Copié !', + 'copy_failure': 'Échec de la copie', + }, + 'ru': { + 'copy': 'Скопировать', + 'copy_to_clipboard': 'Скопировать в буфер', + 'copy_success': 'Скопировано!', + 'copy_failure': 'Не удалось скопировать', + }, + 'zh-CN': { + 'copy': '复制', + 'copy_to_clipboard': '复制到剪贴板', + 'copy_success': '复制成功!', + 'copy_failure': '复制失败', + }, + 'it' : { + 'copy': 'Copiare', + 'copy_to_clipboard': 'Copiato negli appunti', + 'copy_success': 'Copiato!', + 'copy_failure': 'Errore durante la copia', + } +} + +let locale = 'en' +if( document.documentElement.lang !== undefined + && messages[document.documentElement.lang] !== undefined ) { + locale = document.documentElement.lang +} + +let doc_url_root = DOCUMENTATION_OPTIONS.URL_ROOT; +if (doc_url_root == '#') { + doc_url_root = ''; +} + +/** + * SVG files for our copy buttons + */ +let iconCheck = ` + ${messages[locale]['copy_success']} + + +` + +// If the user specified their own SVG use that, otherwise use the default +let iconCopy = ``; +if (!iconCopy) { + iconCopy = ` + ${messages[locale]['copy_to_clipboard']} + + + +` +} + +/** + * Set up copy/paste for code blocks + */ + +const runWhenDOMLoaded = cb => { + if (document.readyState != 'loading') { + cb() + } else if (document.addEventListener) { + document.addEventListener('DOMContentLoaded', cb) + } else { + document.attachEvent('onreadystatechange', function() { + if (document.readyState == 'complete') cb() + }) + } +} + +const codeCellId = index => `codecell${index}` + +// Clears selected text since ClipboardJS will select the text when copying +const clearSelection = () => { + if (window.getSelection) { + window.getSelection().removeAllRanges() + } else if (document.selection) { + document.selection.empty() + } +} + +// Changes tooltip text for a moment, then changes it back +// We want the timeout of our `success` class to be a bit shorter than the +// tooltip and icon change, so that we can hide the icon before changing back. +var timeoutIcon = 2000; +var timeoutSuccessClass = 1500; + +const temporarilyChangeTooltip = (el, oldText, newText) => { + el.setAttribute('data-tooltip', newText) + el.classList.add('success') + // Remove success a little bit sooner than we change the tooltip + // So that we can use CSS to hide the copybutton first + setTimeout(() => el.classList.remove('success'), timeoutSuccessClass) + setTimeout(() => el.setAttribute('data-tooltip', oldText), timeoutIcon) +} + +// Changes the copy button icon for two seconds, then changes it back +const temporarilyChangeIcon = (el) => { + el.innerHTML = iconCheck; + setTimeout(() => {el.innerHTML = iconCopy}, timeoutIcon) +} + +const addCopyButtonToCodeCells = () => { + // If ClipboardJS hasn't loaded, wait a bit and try again. This + // happens because we load ClipboardJS asynchronously. + if (window.ClipboardJS === undefined) { + setTimeout(addCopyButtonToCodeCells, 250) + return + } + + // Add copybuttons to all of our code cells + const COPYBUTTON_SELECTOR = 'div.highlight pre'; + const codeCells = document.querySelectorAll(COPYBUTTON_SELECTOR) + codeCells.forEach((codeCell, index) => { + const id = codeCellId(index) + codeCell.setAttribute('id', id) + + const clipboardButton = id => + `` + codeCell.insertAdjacentHTML('afterend', clipboardButton(id)) + }) + +function escapeRegExp(string) { + return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string +} + +/** + * Removes excluded text from a Node. + * + * @param {Node} target Node to filter. + * @param {string} exclude CSS selector of nodes to exclude. + * @returns {DOMString} Text from `target` with text removed. + */ +function filterText(target, exclude) { + const clone = target.cloneNode(true); // clone as to not modify the live DOM + if (exclude) { + // remove excluded nodes + clone.querySelectorAll(exclude).forEach(node => node.remove()); + } + return clone.innerText; +} + +// Callback when a copy button is clicked. Will be passed the node that was clicked +// should then grab the text and replace pieces of text that shouldn't be used in output +function formatCopyText(textContent, copybuttonPromptText, isRegexp = false, onlyCopyPromptLines = true, removePrompts = true, copyEmptyLines = true, lineContinuationChar = "", hereDocDelim = "") { + var regexp; + var match; + + // Do we check for line continuation characters and "HERE-documents"? + var useLineCont = !!lineContinuationChar + var useHereDoc = !!hereDocDelim + + // create regexp to capture prompt and remaining line + if (isRegexp) { + regexp = new RegExp('^(' + copybuttonPromptText + ')(.*)') + } else { + regexp = new RegExp('^(' + escapeRegExp(copybuttonPromptText) + ')(.*)') + } + + const outputLines = []; + var promptFound = false; + var gotLineCont = false; + var gotHereDoc = false; + const lineGotPrompt = []; + for (const line of textContent.split('\n')) { + match = line.match(regexp) + if (match || gotLineCont || gotHereDoc) { + promptFound = regexp.test(line) + lineGotPrompt.push(promptFound) + if (removePrompts && promptFound) { + outputLines.push(match[2]) + } else { + outputLines.push(line) + } + gotLineCont = line.endsWith(lineContinuationChar) & useLineCont + if (line.includes(hereDocDelim) & useHereDoc) + gotHereDoc = !gotHereDoc + } else if (!onlyCopyPromptLines) { + outputLines.push(line) + } else if (copyEmptyLines && line.trim() === '') { + outputLines.push(line) + } + } + + // If no lines with the prompt were found then just use original lines + if (lineGotPrompt.some(v => v === true)) { + textContent = outputLines.join('\n'); + } + + // Remove a trailing newline to avoid auto-running when pasting + if (textContent.endsWith("\n")) { + textContent = textContent.slice(0, -1) + } + return textContent +} + + +var copyTargetText = (trigger) => { + var target = document.querySelector(trigger.attributes['data-clipboard-target'].value); + + // get filtered text + let exclude = '.linenos'; + + let text = filterText(target, exclude); + return formatCopyText(text, '', false, true, true, true, '', '') +} + + // Initialize with a callback so we can modify the text before copy + const clipboard = new ClipboardJS('.copybtn', {text: copyTargetText}) + + // Update UI with error/success messages + clipboard.on('success', event => { + clearSelection() + temporarilyChangeTooltip(event.trigger, messages[locale]['copy'], messages[locale]['copy_success']) + temporarilyChangeIcon(event.trigger) + }) + + clipboard.on('error', event => { + temporarilyChangeTooltip(event.trigger, messages[locale]['copy'], messages[locale]['copy_failure']) + }) +} + +runWhenDOMLoaded(addCopyButtonToCodeCells) \ No newline at end of file diff --git a/_static/copybutton_funcs.js b/_static/copybutton_funcs.js new file mode 100644 index 00000000..dbe1aaad --- /dev/null +++ b/_static/copybutton_funcs.js @@ -0,0 +1,73 @@ +function escapeRegExp(string) { + return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string +} + +/** + * Removes excluded text from a Node. + * + * @param {Node} target Node to filter. + * @param {string} exclude CSS selector of nodes to exclude. + * @returns {DOMString} Text from `target` with text removed. + */ +export function filterText(target, exclude) { + const clone = target.cloneNode(true); // clone as to not modify the live DOM + if (exclude) { + // remove excluded nodes + clone.querySelectorAll(exclude).forEach(node => node.remove()); + } + return clone.innerText; +} + +// Callback when a copy button is clicked. Will be passed the node that was clicked +// should then grab the text and replace pieces of text that shouldn't be used in output +export function formatCopyText(textContent, copybuttonPromptText, isRegexp = false, onlyCopyPromptLines = true, removePrompts = true, copyEmptyLines = true, lineContinuationChar = "", hereDocDelim = "") { + var regexp; + var match; + + // Do we check for line continuation characters and "HERE-documents"? + var useLineCont = !!lineContinuationChar + var useHereDoc = !!hereDocDelim + + // create regexp to capture prompt and remaining line + if (isRegexp) { + regexp = new RegExp('^(' + copybuttonPromptText + ')(.*)') + } else { + regexp = new RegExp('^(' + escapeRegExp(copybuttonPromptText) + ')(.*)') + } + + const outputLines = []; + var promptFound = false; + var gotLineCont = false; + var gotHereDoc = false; + const lineGotPrompt = []; + for (const line of textContent.split('\n')) { + match = line.match(regexp) + if (match || gotLineCont || gotHereDoc) { + promptFound = regexp.test(line) + lineGotPrompt.push(promptFound) + if (removePrompts && promptFound) { + outputLines.push(match[2]) + } else { + outputLines.push(line) + } + gotLineCont = line.endsWith(lineContinuationChar) & useLineCont + if (line.includes(hereDocDelim) & useHereDoc) + gotHereDoc = !gotHereDoc + } else if (!onlyCopyPromptLines) { + outputLines.push(line) + } else if (copyEmptyLines && line.trim() === '') { + outputLines.push(line) + } + } + + // If no lines with the prompt were found then just use original lines + if (lineGotPrompt.some(v => v === true)) { + textContent = outputLines.join('\n'); + } + + // Remove a trailing newline to avoid auto-running when pasting + if (textContent.endsWith("\n")) { + textContent = textContent.slice(0, -1) + } + return textContent +} diff --git a/_static/debug.css b/_static/debug.css new file mode 100644 index 00000000..74d4aec3 --- /dev/null +++ b/_static/debug.css @@ -0,0 +1,69 @@ +/* + This CSS file should be overridden by the theme authors. It's + meant for debugging and developing the skeleton that this theme provides. +*/ +body { + font-family: -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, + "Apple Color Emoji", "Segoe UI Emoji"; + background: lavender; +} +.sb-announcement { + background: rgb(131, 131, 131); +} +.sb-announcement__inner { + background: black; + color: white; +} +.sb-header { + background: lightskyblue; +} +.sb-header__inner { + background: royalblue; + color: white; +} +.sb-header-secondary { + background: lightcyan; +} +.sb-header-secondary__inner { + background: cornflowerblue; + color: white; +} +.sb-sidebar-primary { + background: lightgreen; +} +.sb-main { + background: blanchedalmond; +} +.sb-main__inner { + background: antiquewhite; +} +.sb-header-article { + background: lightsteelblue; +} +.sb-article-container { + background: snow; +} +.sb-article-main { + background: white; +} +.sb-footer-article { + background: lightpink; +} +.sb-sidebar-secondary { + background: lightgoldenrodyellow; +} +.sb-footer-content { + background: plum; +} +.sb-footer-content__inner { + background: palevioletred; +} +.sb-footer { + background: pink; +} +.sb-footer__inner { + background: salmon; +} +.sb-article { + background: white; +} diff --git a/_static/doctools.js b/_static/doctools.js new file mode 100644 index 00000000..4d67807d --- /dev/null +++ b/_static/doctools.js @@ -0,0 +1,156 @@ +/* + * doctools.js + * ~~~~~~~~~~~ + * + * Base JavaScript utilities for all Sphinx HTML documentation. + * + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ +"use strict"; + +const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([ + "TEXTAREA", + "INPUT", + "SELECT", + "BUTTON", +]); + +const _ready = (callback) => { + if (document.readyState !== "loading") { + callback(); + } else { + document.addEventListener("DOMContentLoaded", callback); + } +}; + +/** + * Small JavaScript module for the documentation. + */ +const Documentation = { + init: () => { + Documentation.initDomainIndexTable(); + Documentation.initOnKeyListeners(); + }, + + /** + * i18n support + */ + TRANSLATIONS: {}, + PLURAL_EXPR: (n) => (n === 1 ? 0 : 1), + LOCALE: "unknown", + + // gettext and ngettext don't access this so that the functions + // can safely bound to a different name (_ = Documentation.gettext) + gettext: (string) => { + const translated = Documentation.TRANSLATIONS[string]; + switch (typeof translated) { + case "undefined": + return string; // no translation + case "string": + return translated; // translation exists + default: + return translated[0]; // (singular, plural) translation tuple exists + } + }, + + ngettext: (singular, plural, n) => { + const translated = Documentation.TRANSLATIONS[singular]; + if (typeof translated !== "undefined") + return translated[Documentation.PLURAL_EXPR(n)]; + return n === 1 ? singular : plural; + }, + + addTranslations: (catalog) => { + Object.assign(Documentation.TRANSLATIONS, catalog.messages); + Documentation.PLURAL_EXPR = new Function( + "n", + `return (${catalog.plural_expr})` + ); + Documentation.LOCALE = catalog.locale; + }, + + /** + * helper function to focus on search bar + */ + focusSearchBar: () => { + document.querySelectorAll("input[name=q]")[0]?.focus(); + }, + + /** + * Initialise the domain index toggle buttons + */ + initDomainIndexTable: () => { + const toggler = (el) => { + const idNumber = el.id.substr(7); + const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`); + if (el.src.substr(-9) === "minus.png") { + el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`; + toggledRows.forEach((el) => (el.style.display = "none")); + } else { + el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`; + toggledRows.forEach((el) => (el.style.display = "")); + } + }; + + const togglerElements = document.querySelectorAll("img.toggler"); + togglerElements.forEach((el) => + el.addEventListener("click", (event) => toggler(event.currentTarget)) + ); + togglerElements.forEach((el) => (el.style.display = "")); + if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler); + }, + + initOnKeyListeners: () => { + // only install a listener if it is really needed + if ( + !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS && + !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS + ) + return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.altKey || event.ctrlKey || event.metaKey) return; + + if (!event.shiftKey) { + switch (event.key) { + case "ArrowLeft": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const prevLink = document.querySelector('link[rel="prev"]'); + if (prevLink && prevLink.href) { + window.location.href = prevLink.href; + event.preventDefault(); + } + break; + case "ArrowRight": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const nextLink = document.querySelector('link[rel="next"]'); + if (nextLink && nextLink.href) { + window.location.href = nextLink.href; + event.preventDefault(); + } + break; + } + } + + // some keyboard layouts may need Shift to get / + switch (event.key) { + case "/": + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; + Documentation.focusSearchBar(); + event.preventDefault(); + } + }); + }, +}; + +// quick alias for translations +const _ = Documentation.gettext; + +_ready(Documentation.init); diff --git a/_static/documentation_options.js b/_static/documentation_options.js new file mode 100644 index 00000000..7e4c114f --- /dev/null +++ b/_static/documentation_options.js @@ -0,0 +1,13 @@ +const DOCUMENTATION_OPTIONS = { + VERSION: '', + LANGUAGE: 'en', + COLLAPSE_INDEX: false, + BUILDER: 'html', + FILE_SUFFIX: '.html', + LINK_SUFFIX: '.html', + HAS_SOURCE: true, + SOURCELINK_SUFFIX: '.txt', + NAVIGATION_WITH_KEYS: false, + SHOW_SEARCH_SUMMARY: true, + ENABLE_SEARCH_SHORTCUTS: true, +}; \ No newline at end of file diff --git a/_static/file.png b/_static/file.png new file mode 100644 index 0000000000000000000000000000000000000000..a858a410e4faa62ce324d814e4b816fff83a6fb3 GIT binary patch literal 286 zcmV+(0pb3MP)s`hMrGg#P~ix$^RISR_I47Y|r1 z_CyJOe}D1){SET-^Amu_i71Lt6eYfZjRyw@I6OQAIXXHDfiX^GbOlHe=Ae4>0m)d(f|Me07*qoM6N<$f}vM^LjV8( literal 0 HcmV?d00001 diff --git a/_static/language_data.js b/_static/language_data.js new file mode 100644 index 00000000..367b8ed8 --- /dev/null +++ b/_static/language_data.js @@ -0,0 +1,199 @@ +/* + * language_data.js + * ~~~~~~~~~~~~~~~~ + * + * This script contains the language-specific data used by searchtools.js, + * namely the list of stopwords, stemmer, scorer and splitter. + * + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"]; + + +/* Non-minified version is copied as a separate JS file, if available */ + +/** + * Porter Stemmer + */ +var Stemmer = function() { + + var step2list = { + ational: 'ate', + tional: 'tion', + enci: 'ence', + anci: 'ance', + izer: 'ize', + bli: 'ble', + alli: 'al', + entli: 'ent', + eli: 'e', + ousli: 'ous', + ization: 'ize', + ation: 'ate', + ator: 'ate', + alism: 'al', + iveness: 'ive', + fulness: 'ful', + ousness: 'ous', + aliti: 'al', + iviti: 'ive', + biliti: 'ble', + logi: 'log' + }; + + var step3list = { + icate: 'ic', + ative: '', + alize: 'al', + iciti: 'ic', + ical: 'ic', + ful: '', + ness: '' + }; + + var c = "[^aeiou]"; // consonant + var v = "[aeiouy]"; // vowel + var C = c + "[^aeiouy]*"; // consonant sequence + var V = v + "[aeiou]*"; // vowel sequence + + var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0 + var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 + var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 + var s_v = "^(" + C + ")?" + v; // vowel in stem + + this.stemWord = function (w) { + var stem; + var suffix; + var firstch; + var origword = w; + + if (w.length < 3) + return w; + + var re; + var re2; + var re3; + var re4; + + firstch = w.substr(0,1); + if (firstch == "y") + w = firstch.toUpperCase() + w.substr(1); + + // Step 1a + re = /^(.+?)(ss|i)es$/; + re2 = /^(.+?)([^s])s$/; + + if (re.test(w)) + w = w.replace(re,"$1$2"); + else if (re2.test(w)) + w = w.replace(re2,"$1$2"); + + // Step 1b + re = /^(.+?)eed$/; + re2 = /^(.+?)(ed|ing)$/; + if (re.test(w)) { + var fp = re.exec(w); + re = new RegExp(mgr0); + if (re.test(fp[1])) { + re = /.$/; + w = w.replace(re,""); + } + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1]; + re2 = new RegExp(s_v); + if (re2.test(stem)) { + w = stem; + re2 = /(at|bl|iz)$/; + re3 = new RegExp("([^aeiouylsz])\\1$"); + re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re2.test(w)) + w = w + "e"; + else if (re3.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + else if (re4.test(w)) + w = w + "e"; + } + } + + // Step 1c + re = /^(.+?)y$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(s_v); + if (re.test(stem)) + w = stem + "i"; + } + + // Step 2 + re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step2list[suffix]; + } + + // Step 3 + re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step3list[suffix]; + } + + // Step 4 + re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; + re2 = /^(.+?)(s|t)(ion)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + if (re.test(stem)) + w = stem; + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1] + fp[2]; + re2 = new RegExp(mgr1); + if (re2.test(stem)) + w = stem; + } + + // Step 5 + re = /^(.+?)e$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + re2 = new RegExp(meq1); + re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) + w = stem; + } + re = /ll$/; + re2 = new RegExp(mgr1); + if (re.test(w) && re2.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + + // and turn initial Y back to y + if (firstch == "y") + w = firstch.toLowerCase() + w.substr(1); + return w; + } +} + diff --git a/_static/minus.png b/_static/minus.png new file mode 100644 index 0000000000000000000000000000000000000000..d96755fdaf8bb2214971e0db9c1fd3077d7c419d GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^+#t*WBp7;*Yy1LIik>cxAr*|t7R?Mi>2?kWtu=nj kDsEF_5m^0CR;1wuP-*O&G^0G}KYk!hp00i_>zopr08q^qX#fBK literal 0 HcmV?d00001 diff --git a/_static/plus.png b/_static/plus.png new file mode 100644 index 0000000000000000000000000000000000000000..7107cec93a979b9a5f64843235a16651d563ce2d GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^+#t*WBp7;*Yy1LIik>cxAr*|t7R?Mi>2?kWtu>-2 m3q%Vub%g%s<8sJhVPMczOq}xhg9DJoz~JfX=d#Wzp$Pyb1r*Kz literal 0 HcmV?d00001 diff --git a/_static/pygments.css b/_static/pygments.css new file mode 100644 index 00000000..d0ae3b80 --- /dev/null +++ b/_static/pygments.css @@ -0,0 +1,249 @@ +.highlight pre { line-height: 125%; } +.highlight td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +.highlight span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +.highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.highlight .hll { background-color: #ffffcc } +.highlight { background: #eeffcc; } +.highlight .c { color: #408090; font-style: italic } /* Comment */ +.highlight .err { border: 1px solid #FF0000 } /* Error */ +.highlight .k { color: #007020; font-weight: bold } /* Keyword */ +.highlight .o { color: #666666 } /* Operator */ +.highlight .ch { color: #408090; font-style: italic } /* Comment.Hashbang */ +.highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #007020 } /* Comment.Preproc */ +.highlight .cpf { color: #408090; font-style: italic } /* Comment.PreprocFile */ +.highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */ +.highlight .gd { color: #A00000 } /* Generic.Deleted */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.highlight .gr { color: #FF0000 } /* Generic.Error */ +.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.highlight .gi { color: #00A000 } /* Generic.Inserted */ +.highlight .go { color: #333333 } /* Generic.Output */ +.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.highlight .gt { color: #0044DD } /* Generic.Traceback */ +.highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */ +.highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { color: #007020 } /* Keyword.Pseudo */ +.highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #902000 } /* Keyword.Type */ +.highlight .m { color: #208050 } /* Literal.Number */ +.highlight .s { color: #4070a0 } /* Literal.String */ +.highlight .na { color: #4070a0 } /* Name.Attribute */ +.highlight .nb { color: #007020 } /* Name.Builtin */ +.highlight .nc { color: #0e84b5; font-weight: bold } /* Name.Class */ +.highlight .no { color: #60add5 } /* Name.Constant */ +.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */ +.highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */ +.highlight .ne { color: #007020 } /* Name.Exception */ +.highlight .nf { color: #06287e } /* Name.Function */ +.highlight .nl { color: #002070; font-weight: bold } /* Name.Label */ +.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */ +.highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */ +.highlight .nv { color: #bb60d5 } /* Name.Variable */ +.highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */ +.highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.highlight .mb { color: #208050 } /* Literal.Number.Bin */ +.highlight .mf { color: #208050 } /* Literal.Number.Float */ +.highlight .mh { color: #208050 } /* Literal.Number.Hex */ +.highlight .mi { color: #208050 } /* Literal.Number.Integer */ +.highlight .mo { color: #208050 } /* Literal.Number.Oct */ +.highlight .sa { color: #4070a0 } /* Literal.String.Affix */ +.highlight .sb { color: #4070a0 } /* Literal.String.Backtick */ +.highlight .sc { color: #4070a0 } /* Literal.String.Char */ +.highlight .dl { color: #4070a0 } /* Literal.String.Delimiter */ +.highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */ +.highlight .s2 { color: #4070a0 } /* Literal.String.Double */ +.highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */ +.highlight .sh { color: #4070a0 } /* Literal.String.Heredoc */ +.highlight .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */ +.highlight .sx { color: #c65d09 } /* Literal.String.Other */ +.highlight .sr { color: #235388 } /* Literal.String.Regex */ +.highlight .s1 { color: #4070a0 } /* Literal.String.Single */ +.highlight .ss { color: #517918 } /* Literal.String.Symbol */ +.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */ +.highlight .fm { color: #06287e } /* Name.Function.Magic */ +.highlight .vc { color: #bb60d5 } /* Name.Variable.Class */ +.highlight .vg { color: #bb60d5 } /* Name.Variable.Global */ +.highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */ +.highlight .vm { color: #bb60d5 } /* Name.Variable.Magic */ +.highlight .il { color: #208050 } /* Literal.Number.Integer.Long */ +@media not print { +body[data-theme="dark"] .highlight pre { line-height: 125%; } +body[data-theme="dark"] .highlight td.linenos .normal { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; } +body[data-theme="dark"] .highlight span.linenos { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; } +body[data-theme="dark"] .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +body[data-theme="dark"] .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +body[data-theme="dark"] .highlight .hll { background-color: #404040 } +body[data-theme="dark"] .highlight { background: #202020; color: #d0d0d0 } +body[data-theme="dark"] .highlight .c { color: #ababab; font-style: italic } /* Comment */ +body[data-theme="dark"] .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ +body[data-theme="dark"] .highlight .esc { color: #d0d0d0 } /* Escape */ +body[data-theme="dark"] .highlight .g { color: #d0d0d0 } /* Generic */ +body[data-theme="dark"] .highlight .k { color: #6ebf26; font-weight: bold } /* Keyword */ +body[data-theme="dark"] .highlight .l { color: #d0d0d0 } /* Literal */ +body[data-theme="dark"] .highlight .n { color: #d0d0d0 } /* Name */ +body[data-theme="dark"] .highlight .o { color: #d0d0d0 } /* Operator */ +body[data-theme="dark"] .highlight .x { color: #d0d0d0 } /* Other */ +body[data-theme="dark"] .highlight .p { color: #d0d0d0 } /* Punctuation */ +body[data-theme="dark"] .highlight .ch { color: #ababab; font-style: italic } /* Comment.Hashbang */ +body[data-theme="dark"] .highlight .cm { color: #ababab; font-style: italic } /* Comment.Multiline */ +body[data-theme="dark"] .highlight .cp { color: #ff3a3a; font-weight: bold } /* Comment.Preproc */ +body[data-theme="dark"] .highlight .cpf { color: #ababab; font-style: italic } /* Comment.PreprocFile */ +body[data-theme="dark"] .highlight .c1 { color: #ababab; font-style: italic } /* Comment.Single */ +body[data-theme="dark"] .highlight .cs { color: #e50808; font-weight: bold; background-color: #520000 } /* Comment.Special */ +body[data-theme="dark"] .highlight .gd { color: #ff3a3a } /* Generic.Deleted */ +body[data-theme="dark"] .highlight .ge { color: #d0d0d0; font-style: italic } /* Generic.Emph */ +body[data-theme="dark"] .highlight .ges { color: #d0d0d0; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +body[data-theme="dark"] .highlight .gr { color: #ff3a3a } /* Generic.Error */ +body[data-theme="dark"] .highlight .gh { color: #ffffff; font-weight: bold } /* Generic.Heading */ +body[data-theme="dark"] .highlight .gi { color: #589819 } /* Generic.Inserted */ +body[data-theme="dark"] .highlight .go { color: #cccccc } /* Generic.Output */ +body[data-theme="dark"] .highlight .gp { color: #aaaaaa } /* Generic.Prompt */ +body[data-theme="dark"] .highlight .gs { color: #d0d0d0; font-weight: bold } /* Generic.Strong */ +body[data-theme="dark"] .highlight .gu { color: #ffffff; text-decoration: underline } /* Generic.Subheading */ +body[data-theme="dark"] .highlight .gt { color: #ff3a3a } /* Generic.Traceback */ +body[data-theme="dark"] .highlight .kc { color: #6ebf26; font-weight: bold } /* Keyword.Constant */ +body[data-theme="dark"] .highlight .kd { color: #6ebf26; font-weight: bold } /* Keyword.Declaration */ +body[data-theme="dark"] .highlight .kn { color: #6ebf26; font-weight: bold } /* Keyword.Namespace */ +body[data-theme="dark"] .highlight .kp { color: #6ebf26 } /* Keyword.Pseudo */ +body[data-theme="dark"] .highlight .kr { color: #6ebf26; font-weight: bold } /* Keyword.Reserved */ +body[data-theme="dark"] .highlight .kt { color: #6ebf26; font-weight: bold } /* Keyword.Type */ +body[data-theme="dark"] .highlight .ld { color: #d0d0d0 } /* Literal.Date */ +body[data-theme="dark"] .highlight .m { color: #51b2fd } /* Literal.Number */ +body[data-theme="dark"] .highlight .s { color: #ed9d13 } /* Literal.String */ +body[data-theme="dark"] .highlight .na { color: #bbbbbb } /* Name.Attribute */ +body[data-theme="dark"] .highlight .nb { color: #2fbccd } /* Name.Builtin */ +body[data-theme="dark"] .highlight .nc { color: #71adff; text-decoration: underline } /* Name.Class */ +body[data-theme="dark"] .highlight .no { color: #40ffff } /* Name.Constant */ +body[data-theme="dark"] .highlight .nd { color: #ffa500 } /* Name.Decorator */ +body[data-theme="dark"] .highlight .ni { color: #d0d0d0 } /* Name.Entity */ +body[data-theme="dark"] .highlight .ne { color: #bbbbbb } /* Name.Exception */ +body[data-theme="dark"] .highlight .nf { color: #71adff } /* Name.Function */ +body[data-theme="dark"] .highlight .nl { color: #d0d0d0 } /* Name.Label */ +body[data-theme="dark"] .highlight .nn { color: #71adff; text-decoration: underline } /* Name.Namespace */ +body[data-theme="dark"] .highlight .nx { color: #d0d0d0 } /* Name.Other */ +body[data-theme="dark"] .highlight .py { color: #d0d0d0 } /* Name.Property */ +body[data-theme="dark"] .highlight .nt { color: #6ebf26; font-weight: bold } /* Name.Tag */ +body[data-theme="dark"] .highlight .nv { color: #40ffff } /* Name.Variable */ +body[data-theme="dark"] .highlight .ow { color: #6ebf26; font-weight: bold } /* Operator.Word */ +body[data-theme="dark"] .highlight .pm { color: #d0d0d0 } /* Punctuation.Marker */ +body[data-theme="dark"] .highlight .w { color: #666666 } /* Text.Whitespace */ +body[data-theme="dark"] .highlight .mb { color: #51b2fd } /* Literal.Number.Bin */ +body[data-theme="dark"] .highlight .mf { color: #51b2fd } /* Literal.Number.Float */ +body[data-theme="dark"] .highlight .mh { color: #51b2fd } /* Literal.Number.Hex */ +body[data-theme="dark"] .highlight .mi { color: #51b2fd } /* Literal.Number.Integer */ +body[data-theme="dark"] .highlight .mo { color: #51b2fd } /* Literal.Number.Oct */ +body[data-theme="dark"] .highlight .sa { color: #ed9d13 } /* Literal.String.Affix */ +body[data-theme="dark"] .highlight .sb { color: #ed9d13 } /* Literal.String.Backtick */ +body[data-theme="dark"] .highlight .sc { color: #ed9d13 } /* Literal.String.Char */ +body[data-theme="dark"] .highlight .dl { color: #ed9d13 } /* Literal.String.Delimiter */ +body[data-theme="dark"] .highlight .sd { color: #ed9d13 } /* Literal.String.Doc */ +body[data-theme="dark"] .highlight .s2 { color: #ed9d13 } /* Literal.String.Double */ +body[data-theme="dark"] .highlight .se { color: #ed9d13 } /* Literal.String.Escape */ +body[data-theme="dark"] .highlight .sh { color: #ed9d13 } /* Literal.String.Heredoc */ +body[data-theme="dark"] .highlight .si { color: #ed9d13 } /* Literal.String.Interpol */ +body[data-theme="dark"] .highlight .sx { color: #ffa500 } /* Literal.String.Other */ +body[data-theme="dark"] .highlight .sr { color: #ed9d13 } /* Literal.String.Regex */ +body[data-theme="dark"] .highlight .s1 { color: #ed9d13 } /* Literal.String.Single */ +body[data-theme="dark"] .highlight .ss { color: #ed9d13 } /* Literal.String.Symbol */ +body[data-theme="dark"] .highlight .bp { color: #2fbccd } /* Name.Builtin.Pseudo */ +body[data-theme="dark"] .highlight .fm { color: #71adff } /* Name.Function.Magic */ +body[data-theme="dark"] .highlight .vc { color: #40ffff } /* Name.Variable.Class */ +body[data-theme="dark"] .highlight .vg { color: #40ffff } /* Name.Variable.Global */ +body[data-theme="dark"] .highlight .vi { color: #40ffff } /* Name.Variable.Instance */ +body[data-theme="dark"] .highlight .vm { color: #40ffff } /* Name.Variable.Magic */ +body[data-theme="dark"] .highlight .il { color: #51b2fd } /* Literal.Number.Integer.Long */ +@media (prefers-color-scheme: dark) { +body:not([data-theme="light"]) .highlight pre { line-height: 125%; } +body:not([data-theme="light"]) .highlight td.linenos .normal { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; } +body:not([data-theme="light"]) .highlight span.linenos { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; } +body:not([data-theme="light"]) .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +body:not([data-theme="light"]) .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +body:not([data-theme="light"]) .highlight .hll { background-color: #404040 } +body:not([data-theme="light"]) .highlight { background: #202020; color: #d0d0d0 } +body:not([data-theme="light"]) .highlight .c { color: #ababab; font-style: italic } /* Comment */ +body:not([data-theme="light"]) .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ +body:not([data-theme="light"]) .highlight .esc { color: #d0d0d0 } /* Escape */ +body:not([data-theme="light"]) .highlight .g { color: #d0d0d0 } /* Generic */ +body:not([data-theme="light"]) .highlight .k { color: #6ebf26; font-weight: bold } /* Keyword */ +body:not([data-theme="light"]) .highlight .l { color: #d0d0d0 } /* Literal */ +body:not([data-theme="light"]) .highlight .n { color: #d0d0d0 } /* Name */ +body:not([data-theme="light"]) .highlight .o { color: #d0d0d0 } /* Operator */ +body:not([data-theme="light"]) .highlight .x { color: #d0d0d0 } /* Other */ +body:not([data-theme="light"]) .highlight .p { color: #d0d0d0 } /* Punctuation */ +body:not([data-theme="light"]) .highlight .ch { color: #ababab; font-style: italic } /* Comment.Hashbang */ +body:not([data-theme="light"]) .highlight .cm { color: #ababab; font-style: italic } /* Comment.Multiline */ +body:not([data-theme="light"]) .highlight .cp { color: #ff3a3a; font-weight: bold } /* Comment.Preproc */ +body:not([data-theme="light"]) .highlight .cpf { color: #ababab; font-style: italic } /* Comment.PreprocFile */ +body:not([data-theme="light"]) .highlight .c1 { color: #ababab; font-style: italic } /* Comment.Single */ +body:not([data-theme="light"]) .highlight .cs { color: #e50808; font-weight: bold; background-color: #520000 } /* Comment.Special */ +body:not([data-theme="light"]) .highlight .gd { color: #ff3a3a } /* Generic.Deleted */ +body:not([data-theme="light"]) .highlight .ge { color: #d0d0d0; font-style: italic } /* Generic.Emph */ +body:not([data-theme="light"]) .highlight .ges { color: #d0d0d0; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +body:not([data-theme="light"]) .highlight .gr { color: #ff3a3a } /* Generic.Error */ +body:not([data-theme="light"]) .highlight .gh { color: #ffffff; font-weight: bold } /* Generic.Heading */ +body:not([data-theme="light"]) .highlight .gi { color: #589819 } /* Generic.Inserted */ +body:not([data-theme="light"]) .highlight .go { color: #cccccc } /* Generic.Output */ +body:not([data-theme="light"]) .highlight .gp { color: #aaaaaa } /* Generic.Prompt */ +body:not([data-theme="light"]) .highlight .gs { color: #d0d0d0; font-weight: bold } /* Generic.Strong */ +body:not([data-theme="light"]) .highlight .gu { color: #ffffff; text-decoration: underline } /* Generic.Subheading */ +body:not([data-theme="light"]) .highlight .gt { color: #ff3a3a } /* Generic.Traceback */ +body:not([data-theme="light"]) .highlight .kc { color: #6ebf26; font-weight: bold } /* Keyword.Constant */ +body:not([data-theme="light"]) .highlight .kd { color: #6ebf26; font-weight: bold } /* Keyword.Declaration */ +body:not([data-theme="light"]) .highlight .kn { color: #6ebf26; font-weight: bold } /* Keyword.Namespace */ +body:not([data-theme="light"]) .highlight .kp { color: #6ebf26 } /* Keyword.Pseudo */ +body:not([data-theme="light"]) .highlight .kr { color: #6ebf26; font-weight: bold } /* Keyword.Reserved */ +body:not([data-theme="light"]) .highlight .kt { color: #6ebf26; font-weight: bold } /* Keyword.Type */ +body:not([data-theme="light"]) .highlight .ld { color: #d0d0d0 } /* Literal.Date */ +body:not([data-theme="light"]) .highlight .m { color: #51b2fd } /* Literal.Number */ +body:not([data-theme="light"]) .highlight .s { color: #ed9d13 } /* Literal.String */ +body:not([data-theme="light"]) .highlight .na { color: #bbbbbb } /* Name.Attribute */ +body:not([data-theme="light"]) .highlight .nb { color: #2fbccd } /* Name.Builtin */ +body:not([data-theme="light"]) .highlight .nc { color: #71adff; text-decoration: underline } /* Name.Class */ +body:not([data-theme="light"]) .highlight .no { color: #40ffff } /* Name.Constant */ +body:not([data-theme="light"]) .highlight .nd { color: #ffa500 } /* Name.Decorator */ +body:not([data-theme="light"]) .highlight .ni { color: #d0d0d0 } /* Name.Entity */ +body:not([data-theme="light"]) .highlight .ne { color: #bbbbbb } /* Name.Exception */ +body:not([data-theme="light"]) .highlight .nf { color: #71adff } /* Name.Function */ +body:not([data-theme="light"]) .highlight .nl { color: #d0d0d0 } /* Name.Label */ +body:not([data-theme="light"]) .highlight .nn { color: #71adff; text-decoration: underline } /* Name.Namespace */ +body:not([data-theme="light"]) .highlight .nx { color: #d0d0d0 } /* Name.Other */ +body:not([data-theme="light"]) .highlight .py { color: #d0d0d0 } /* Name.Property */ +body:not([data-theme="light"]) .highlight .nt { color: #6ebf26; font-weight: bold } /* Name.Tag */ +body:not([data-theme="light"]) .highlight .nv { color: #40ffff } /* Name.Variable */ +body:not([data-theme="light"]) .highlight .ow { color: #6ebf26; font-weight: bold } /* Operator.Word */ +body:not([data-theme="light"]) .highlight .pm { color: #d0d0d0 } /* Punctuation.Marker */ +body:not([data-theme="light"]) .highlight .w { color: #666666 } /* Text.Whitespace */ +body:not([data-theme="light"]) .highlight .mb { color: #51b2fd } /* Literal.Number.Bin */ +body:not([data-theme="light"]) .highlight .mf { color: #51b2fd } /* Literal.Number.Float */ +body:not([data-theme="light"]) .highlight .mh { color: #51b2fd } /* Literal.Number.Hex */ +body:not([data-theme="light"]) .highlight .mi { color: #51b2fd } /* Literal.Number.Integer */ +body:not([data-theme="light"]) .highlight .mo { color: #51b2fd } /* Literal.Number.Oct */ +body:not([data-theme="light"]) .highlight .sa { color: #ed9d13 } /* Literal.String.Affix */ +body:not([data-theme="light"]) .highlight .sb { color: #ed9d13 } /* Literal.String.Backtick */ +body:not([data-theme="light"]) .highlight .sc { color: #ed9d13 } /* Literal.String.Char */ +body:not([data-theme="light"]) .highlight .dl { color: #ed9d13 } /* Literal.String.Delimiter */ +body:not([data-theme="light"]) .highlight .sd { color: #ed9d13 } /* Literal.String.Doc */ +body:not([data-theme="light"]) .highlight .s2 { color: #ed9d13 } /* Literal.String.Double */ +body:not([data-theme="light"]) .highlight .se { color: #ed9d13 } /* Literal.String.Escape */ +body:not([data-theme="light"]) .highlight .sh { color: #ed9d13 } /* Literal.String.Heredoc */ +body:not([data-theme="light"]) .highlight .si { color: #ed9d13 } /* Literal.String.Interpol */ +body:not([data-theme="light"]) .highlight .sx { color: #ffa500 } /* Literal.String.Other */ +body:not([data-theme="light"]) .highlight .sr { color: #ed9d13 } /* Literal.String.Regex */ +body:not([data-theme="light"]) .highlight .s1 { color: #ed9d13 } /* Literal.String.Single */ +body:not([data-theme="light"]) .highlight .ss { color: #ed9d13 } /* Literal.String.Symbol */ +body:not([data-theme="light"]) .highlight .bp { color: #2fbccd } /* Name.Builtin.Pseudo */ +body:not([data-theme="light"]) .highlight .fm { color: #71adff } /* Name.Function.Magic */ +body:not([data-theme="light"]) .highlight .vc { color: #40ffff } /* Name.Variable.Class */ +body:not([data-theme="light"]) .highlight .vg { color: #40ffff } /* Name.Variable.Global */ +body:not([data-theme="light"]) .highlight .vi { color: #40ffff } /* Name.Variable.Instance */ +body:not([data-theme="light"]) .highlight .vm { color: #40ffff } /* Name.Variable.Magic */ +body:not([data-theme="light"]) .highlight .il { color: #51b2fd } /* Literal.Number.Integer.Long */ +} +} \ No newline at end of file diff --git a/_static/scripts/furo-extensions.js b/_static/scripts/furo-extensions.js new file mode 100644 index 00000000..e69de29b diff --git a/_static/scripts/furo.js b/_static/scripts/furo.js new file mode 100644 index 00000000..0267c7e1 --- /dev/null +++ b/_static/scripts/furo.js @@ -0,0 +1,3 @@ +/*! For license information please see furo.js.LICENSE.txt */ +(()=>{var t={856:function(t,e,n){var o,r;r=void 0!==n.g?n.g:"undefined"!=typeof window?window:this,o=function(){return function(t){"use strict";var e={navClass:"active",contentClass:"active",nested:!1,nestedClass:"active",offset:0,reflow:!1,events:!0},n=function(t,e,n){if(n.settings.events){var o=new CustomEvent(t,{bubbles:!0,cancelable:!0,detail:n});e.dispatchEvent(o)}},o=function(t){var e=0;if(t.offsetParent)for(;t;)e+=t.offsetTop,t=t.offsetParent;return e>=0?e:0},r=function(t){t&&t.sort((function(t,e){return o(t.content)=Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,document.body.offsetHeight,document.documentElement.offsetHeight,document.body.clientHeight,document.documentElement.clientHeight)},l=function(t,e){var n=t[t.length-1];if(function(t,e){return!(!s()||!c(t.content,e,!0))}(n,e))return n;for(var o=t.length-1;o>=0;o--)if(c(t[o].content,e))return t[o]},a=function(t,e){if(e.nested&&t.parentNode){var n=t.parentNode.closest("li");n&&(n.classList.remove(e.nestedClass),a(n,e))}},i=function(t,e){if(t){var o=t.nav.closest("li");o&&(o.classList.remove(e.navClass),t.content.classList.remove(e.contentClass),a(o,e),n("gumshoeDeactivate",o,{link:t.nav,content:t.content,settings:e}))}},u=function(t,e){if(e.nested){var n=t.parentNode.closest("li");n&&(n.classList.add(e.nestedClass),u(n,e))}};return function(o,c){var s,a,d,f,m,v={setup:function(){s=document.querySelectorAll(o),a=[],Array.prototype.forEach.call(s,(function(t){var e=document.getElementById(decodeURIComponent(t.hash.substr(1)));e&&a.push({nav:t,content:e})})),r(a)},detect:function(){var t=l(a,m);t?d&&t.content===d.content||(i(d,m),function(t,e){if(t){var o=t.nav.closest("li");o&&(o.classList.add(e.navClass),t.content.classList.add(e.contentClass),u(o,e),n("gumshoeActivate",o,{link:t.nav,content:t.content,settings:e}))}}(t,m),d=t):d&&(i(d,m),d=null)}},h=function(e){f&&t.cancelAnimationFrame(f),f=t.requestAnimationFrame(v.detect)},g=function(e){f&&t.cancelAnimationFrame(f),f=t.requestAnimationFrame((function(){r(a),v.detect()}))};return v.destroy=function(){d&&i(d,m),t.removeEventListener("scroll",h,!1),m.reflow&&t.removeEventListener("resize",g,!1),a=null,s=null,d=null,f=null,m=null},m=function(){var t={};return Array.prototype.forEach.call(arguments,(function(e){for(var n in e){if(!e.hasOwnProperty(n))return;t[n]=e[n]}})),t}(e,c||{}),v.setup(),v.detect(),t.addEventListener("scroll",h,!1),m.reflow&&t.addEventListener("resize",g,!1),v}}(r)}.apply(e,[]),void 0===o||(t.exports=o)}},e={};function n(o){var r=e[o];if(void 0!==r)return r.exports;var c=e[o]={exports:{}};return t[o].call(c.exports,c,c.exports,n),c.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var o in e)n.o(e,o)&&!n.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";var t=n(856),e=n.n(t),o=null,r=null,c=window.pageYOffset||document.documentElement.scrollTop;const s=64;function l(){const t=localStorage.getItem("theme")||"auto";var e;"light"!==(e=window.matchMedia("(prefers-color-scheme: dark)").matches?"auto"===t?"light":"light"==t?"dark":"auto":"auto"===t?"dark":"dark"==t?"light":"auto")&&"dark"!==e&&"auto"!==e&&(console.error(`Got invalid theme mode: ${e}. Resetting to auto.`),e="auto"),document.body.dataset.theme=e,localStorage.setItem("theme",e),console.log(`Changed to ${e} mode.`)}function a(){!function(){const t=document.getElementsByClassName("theme-toggle");Array.from(t).forEach((t=>{t.addEventListener("click",l)}))}(),function(){let t=0,e=!1;window.addEventListener("scroll",(function(n){t=window.scrollY,e||(window.requestAnimationFrame((function(){var n;n=t,0==Math.floor(r.getBoundingClientRect().top)?r.classList.add("scrolled"):r.classList.remove("scrolled"),function(t){tc&&document.documentElement.classList.remove("show-back-to-top"),c=t}(n),function(t){null!==o&&(0==t?o.scrollTo(0,0):Math.ceil(t)>=Math.floor(document.documentElement.scrollHeight-window.innerHeight)?o.scrollTo(0,o.scrollHeight):document.querySelector(".scroll-current"))}(n),e=!1})),e=!0)})),window.scroll()}(),null!==o&&new(e())(".toc-tree a",{reflow:!0,recursive:!0,navClass:"scroll-current",offset:()=>{let t=parseFloat(getComputedStyle(document.documentElement).fontSize);return r.getBoundingClientRect().height+2.5*t+1}})}document.addEventListener("DOMContentLoaded",(function(){document.body.parentNode.classList.remove("no-js"),r=document.querySelector("header"),o=document.querySelector(".toc-scroll"),a()}))})()})(); +//# sourceMappingURL=furo.js.map \ No newline at end of file diff --git a/_static/scripts/furo.js.LICENSE.txt b/_static/scripts/furo.js.LICENSE.txt new file mode 100644 index 00000000..1632189c --- /dev/null +++ b/_static/scripts/furo.js.LICENSE.txt @@ -0,0 +1,7 @@ +/*! + * gumshoejs v5.1.2 (patched by @pradyunsg) + * A simple, framework-agnostic scrollspy script. + * (c) 2019 Chris Ferdinandi + * MIT License + * http://github.com/cferdinandi/gumshoe + */ diff --git a/_static/scripts/furo.js.map b/_static/scripts/furo.js.map new file mode 100644 index 00000000..c3b37aaa --- /dev/null +++ b/_static/scripts/furo.js.map @@ -0,0 +1 @@ +{"version":3,"file":"scripts/furo.js","mappings":"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","sources":["webpack:///./src/furo/assets/scripts/gumshoe-patched.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///./src/furo/assets/scripts/furo.js"],"sourcesContent":["/*!\n * gumshoejs v5.1.2 (patched by @pradyunsg)\n * A simple, framework-agnostic scrollspy script.\n * (c) 2019 Chris Ferdinandi\n * MIT License\n * http://github.com/cferdinandi/gumshoe\n */\n\n(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([], function () {\n return factory(root);\n });\n } else if (typeof exports === \"object\") {\n module.exports = factory(root);\n } else {\n root.Gumshoe = factory(root);\n }\n})(\n typeof global !== \"undefined\"\n ? global\n : typeof window !== \"undefined\"\n ? window\n : this,\n function (window) {\n \"use strict\";\n\n //\n // Defaults\n //\n\n var defaults = {\n // Active classes\n navClass: \"active\",\n contentClass: \"active\",\n\n // Nested navigation\n nested: false,\n nestedClass: \"active\",\n\n // Offset & reflow\n offset: 0,\n reflow: false,\n\n // Event support\n events: true,\n };\n\n //\n // Methods\n //\n\n /**\n * Merge two or more objects together.\n * @param {Object} objects The objects to merge together\n * @returns {Object} Merged values of defaults and options\n */\n var extend = function () {\n var merged = {};\n Array.prototype.forEach.call(arguments, function (obj) {\n for (var key in obj) {\n if (!obj.hasOwnProperty(key)) return;\n merged[key] = obj[key];\n }\n });\n return merged;\n };\n\n /**\n * Emit a custom event\n * @param {String} type The event type\n * @param {Node} elem The element to attach the event to\n * @param {Object} detail Any details to pass along with the event\n */\n var emitEvent = function (type, elem, detail) {\n // Make sure events are enabled\n if (!detail.settings.events) return;\n\n // Create a new event\n var event = new CustomEvent(type, {\n bubbles: true,\n cancelable: true,\n detail: detail,\n });\n\n // Dispatch the event\n elem.dispatchEvent(event);\n };\n\n /**\n * Get an element's distance from the top of the Document.\n * @param {Node} elem The element\n * @return {Number} Distance from the top in pixels\n */\n var getOffsetTop = function (elem) {\n var location = 0;\n if (elem.offsetParent) {\n while (elem) {\n location += elem.offsetTop;\n elem = elem.offsetParent;\n }\n }\n return location >= 0 ? location : 0;\n };\n\n /**\n * Sort content from first to last in the DOM\n * @param {Array} contents The content areas\n */\n var sortContents = function (contents) {\n if (contents) {\n contents.sort(function (item1, item2) {\n var offset1 = getOffsetTop(item1.content);\n var offset2 = getOffsetTop(item2.content);\n if (offset1 < offset2) return -1;\n return 1;\n });\n }\n };\n\n /**\n * Get the offset to use for calculating position\n * @param {Object} settings The settings for this instantiation\n * @return {Float} The number of pixels to offset the calculations\n */\n var getOffset = function (settings) {\n // if the offset is a function run it\n if (typeof settings.offset === \"function\") {\n return parseFloat(settings.offset());\n }\n\n // Otherwise, return it as-is\n return parseFloat(settings.offset);\n };\n\n /**\n * Get the document element's height\n * @private\n * @returns {Number}\n */\n var getDocumentHeight = function () {\n return Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight,\n document.body.offsetHeight,\n document.documentElement.offsetHeight,\n document.body.clientHeight,\n document.documentElement.clientHeight,\n );\n };\n\n /**\n * Determine if an element is in view\n * @param {Node} elem The element\n * @param {Object} settings The settings for this instantiation\n * @param {Boolean} bottom If true, check if element is above bottom of viewport instead\n * @return {Boolean} Returns true if element is in the viewport\n */\n var isInView = function (elem, settings, bottom) {\n var bounds = elem.getBoundingClientRect();\n var offset = getOffset(settings);\n if (bottom) {\n return (\n parseInt(bounds.bottom, 10) <\n (window.innerHeight || document.documentElement.clientHeight)\n );\n }\n return parseInt(bounds.top, 10) <= offset;\n };\n\n /**\n * Check if at the bottom of the viewport\n * @return {Boolean} If true, page is at the bottom of the viewport\n */\n var isAtBottom = function () {\n if (\n Math.ceil(window.innerHeight + window.pageYOffset) >=\n getDocumentHeight()\n )\n return true;\n return false;\n };\n\n /**\n * Check if the last item should be used (even if not at the top of the page)\n * @param {Object} item The last item\n * @param {Object} settings The settings for this instantiation\n * @return {Boolean} If true, use the last item\n */\n var useLastItem = function (item, settings) {\n if (isAtBottom() && isInView(item.content, settings, true)) return true;\n return false;\n };\n\n /**\n * Get the active content\n * @param {Array} contents The content areas\n * @param {Object} settings The settings for this instantiation\n * @return {Object} The content area and matching navigation link\n */\n var getActive = function (contents, settings) {\n var last = contents[contents.length - 1];\n if (useLastItem(last, settings)) return last;\n for (var i = contents.length - 1; i >= 0; i--) {\n if (isInView(contents[i].content, settings)) return contents[i];\n }\n };\n\n /**\n * Deactivate parent navs in a nested navigation\n * @param {Node} nav The starting navigation element\n * @param {Object} settings The settings for this instantiation\n */\n var deactivateNested = function (nav, settings) {\n // If nesting isn't activated, bail\n if (!settings.nested || !nav.parentNode) return;\n\n // Get the parent navigation\n var li = nav.parentNode.closest(\"li\");\n if (!li) return;\n\n // Remove the active class\n li.classList.remove(settings.nestedClass);\n\n // Apply recursively to any parent navigation elements\n deactivateNested(li, settings);\n };\n\n /**\n * Deactivate a nav and content area\n * @param {Object} items The nav item and content to deactivate\n * @param {Object} settings The settings for this instantiation\n */\n var deactivate = function (items, settings) {\n // Make sure there are items to deactivate\n if (!items) return;\n\n // Get the parent list item\n var li = items.nav.closest(\"li\");\n if (!li) return;\n\n // Remove the active class from the nav and content\n li.classList.remove(settings.navClass);\n items.content.classList.remove(settings.contentClass);\n\n // Deactivate any parent navs in a nested navigation\n deactivateNested(li, settings);\n\n // Emit a custom event\n emitEvent(\"gumshoeDeactivate\", li, {\n link: items.nav,\n content: items.content,\n settings: settings,\n });\n };\n\n /**\n * Activate parent navs in a nested navigation\n * @param {Node} nav The starting navigation element\n * @param {Object} settings The settings for this instantiation\n */\n var activateNested = function (nav, settings) {\n // If nesting isn't activated, bail\n if (!settings.nested) return;\n\n // Get the parent navigation\n var li = nav.parentNode.closest(\"li\");\n if (!li) return;\n\n // Add the active class\n li.classList.add(settings.nestedClass);\n\n // Apply recursively to any parent navigation elements\n activateNested(li, settings);\n };\n\n /**\n * Activate a nav and content area\n * @param {Object} items The nav item and content to activate\n * @param {Object} settings The settings for this instantiation\n */\n var activate = function (items, settings) {\n // Make sure there are items to activate\n if (!items) return;\n\n // Get the parent list item\n var li = items.nav.closest(\"li\");\n if (!li) return;\n\n // Add the active class to the nav and content\n li.classList.add(settings.navClass);\n items.content.classList.add(settings.contentClass);\n\n // Activate any parent navs in a nested navigation\n activateNested(li, settings);\n\n // Emit a custom event\n emitEvent(\"gumshoeActivate\", li, {\n link: items.nav,\n content: items.content,\n settings: settings,\n });\n };\n\n /**\n * Create the Constructor object\n * @param {String} selector The selector to use for navigation items\n * @param {Object} options User options and settings\n */\n var Constructor = function (selector, options) {\n //\n // Variables\n //\n\n var publicAPIs = {};\n var navItems, contents, current, timeout, settings;\n\n //\n // Methods\n //\n\n /**\n * Set variables from DOM elements\n */\n publicAPIs.setup = function () {\n // Get all nav items\n navItems = document.querySelectorAll(selector);\n\n // Create contents array\n contents = [];\n\n // Loop through each item, get it's matching content, and push to the array\n Array.prototype.forEach.call(navItems, function (item) {\n // Get the content for the nav item\n var content = document.getElementById(\n decodeURIComponent(item.hash.substr(1)),\n );\n if (!content) return;\n\n // Push to the contents array\n contents.push({\n nav: item,\n content: content,\n });\n });\n\n // Sort contents by the order they appear in the DOM\n sortContents(contents);\n };\n\n /**\n * Detect which content is currently active\n */\n publicAPIs.detect = function () {\n // Get the active content\n var active = getActive(contents, settings);\n\n // if there's no active content, deactivate and bail\n if (!active) {\n if (current) {\n deactivate(current, settings);\n current = null;\n }\n return;\n }\n\n // If the active content is the one currently active, do nothing\n if (current && active.content === current.content) return;\n\n // Deactivate the current content and activate the new content\n deactivate(current, settings);\n activate(active, settings);\n\n // Update the currently active content\n current = active;\n };\n\n /**\n * Detect the active content on scroll\n * Debounced for performance\n */\n var scrollHandler = function (event) {\n // If there's a timer, cancel it\n if (timeout) {\n window.cancelAnimationFrame(timeout);\n }\n\n // Setup debounce callback\n timeout = window.requestAnimationFrame(publicAPIs.detect);\n };\n\n /**\n * Update content sorting on resize\n * Debounced for performance\n */\n var resizeHandler = function (event) {\n // If there's a timer, cancel it\n if (timeout) {\n window.cancelAnimationFrame(timeout);\n }\n\n // Setup debounce callback\n timeout = window.requestAnimationFrame(function () {\n sortContents(contents);\n publicAPIs.detect();\n });\n };\n\n /**\n * Destroy the current instantiation\n */\n publicAPIs.destroy = function () {\n // Undo DOM changes\n if (current) {\n deactivate(current, settings);\n }\n\n // Remove event listeners\n window.removeEventListener(\"scroll\", scrollHandler, false);\n if (settings.reflow) {\n window.removeEventListener(\"resize\", resizeHandler, false);\n }\n\n // Reset variables\n contents = null;\n navItems = null;\n current = null;\n timeout = null;\n settings = null;\n };\n\n /**\n * Initialize the current instantiation\n */\n var init = function () {\n // Merge user options into defaults\n settings = extend(defaults, options || {});\n\n // Setup variables based on the current DOM\n publicAPIs.setup();\n\n // Find the currently active content\n publicAPIs.detect();\n\n // Setup event listeners\n window.addEventListener(\"scroll\", scrollHandler, false);\n if (settings.reflow) {\n window.addEventListener(\"resize\", resizeHandler, false);\n }\n };\n\n //\n // Initialize and return the public APIs\n //\n\n init();\n return publicAPIs;\n };\n\n //\n // Return the Constructor\n //\n\n return Constructor;\n },\n);\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","import Gumshoe from \"./gumshoe-patched.js\";\n\n////////////////////////////////////////////////////////////////////////////////\n// Scroll Handling\n////////////////////////////////////////////////////////////////////////////////\nvar tocScroll = null;\nvar header = null;\nvar lastScrollTop = window.pageYOffset || document.documentElement.scrollTop;\nconst GO_TO_TOP_OFFSET = 64;\n\nfunction scrollHandlerForHeader() {\n if (Math.floor(header.getBoundingClientRect().top) == 0) {\n header.classList.add(\"scrolled\");\n } else {\n header.classList.remove(\"scrolled\");\n }\n}\n\nfunction scrollHandlerForBackToTop(positionY) {\n if (positionY < GO_TO_TOP_OFFSET) {\n document.documentElement.classList.remove(\"show-back-to-top\");\n } else {\n if (positionY < lastScrollTop) {\n document.documentElement.classList.add(\"show-back-to-top\");\n } else if (positionY > lastScrollTop) {\n document.documentElement.classList.remove(\"show-back-to-top\");\n }\n }\n lastScrollTop = positionY;\n}\n\nfunction scrollHandlerForTOC(positionY) {\n if (tocScroll === null) {\n return;\n }\n\n // top of page.\n if (positionY == 0) {\n tocScroll.scrollTo(0, 0);\n } else if (\n // bottom of page.\n Math.ceil(positionY) >=\n Math.floor(document.documentElement.scrollHeight - window.innerHeight)\n ) {\n tocScroll.scrollTo(0, tocScroll.scrollHeight);\n } else {\n // somewhere in the middle.\n const current = document.querySelector(\".scroll-current\");\n if (current == null) {\n return;\n }\n\n // https://github.com/pypa/pip/issues/9159 This breaks scroll behaviours.\n // // scroll the currently \"active\" heading in toc, into view.\n // const rect = current.getBoundingClientRect();\n // if (0 > rect.top) {\n // current.scrollIntoView(true); // the argument is \"alignTop\"\n // } else if (rect.bottom > window.innerHeight) {\n // current.scrollIntoView(false);\n // }\n }\n}\n\nfunction scrollHandler(positionY) {\n scrollHandlerForHeader();\n scrollHandlerForBackToTop(positionY);\n scrollHandlerForTOC(positionY);\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Theme Toggle\n////////////////////////////////////////////////////////////////////////////////\nfunction setTheme(mode) {\n if (mode !== \"light\" && mode !== \"dark\" && mode !== \"auto\") {\n console.error(`Got invalid theme mode: ${mode}. Resetting to auto.`);\n mode = \"auto\";\n }\n\n document.body.dataset.theme = mode;\n localStorage.setItem(\"theme\", mode);\n console.log(`Changed to ${mode} mode.`);\n}\n\nfunction cycleThemeOnce() {\n const currentTheme = localStorage.getItem(\"theme\") || \"auto\";\n const prefersDark = window.matchMedia(\"(prefers-color-scheme: dark)\").matches;\n\n if (prefersDark) {\n // Auto (dark) -> Light -> Dark\n if (currentTheme === \"auto\") {\n setTheme(\"light\");\n } else if (currentTheme == \"light\") {\n setTheme(\"dark\");\n } else {\n setTheme(\"auto\");\n }\n } else {\n // Auto (light) -> Dark -> Light\n if (currentTheme === \"auto\") {\n setTheme(\"dark\");\n } else if (currentTheme == \"dark\") {\n setTheme(\"light\");\n } else {\n setTheme(\"auto\");\n }\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Setup\n////////////////////////////////////////////////////////////////////////////////\nfunction setupScrollHandler() {\n // Taken from https://developer.mozilla.org/en-US/docs/Web/API/Document/scroll_event\n let last_known_scroll_position = 0;\n let ticking = false;\n\n window.addEventListener(\"scroll\", function (e) {\n last_known_scroll_position = window.scrollY;\n\n if (!ticking) {\n window.requestAnimationFrame(function () {\n scrollHandler(last_known_scroll_position);\n ticking = false;\n });\n\n ticking = true;\n }\n });\n window.scroll();\n}\n\nfunction setupScrollSpy() {\n if (tocScroll === null) {\n return;\n }\n\n // Scrollspy -- highlight table on contents, based on scroll\n new Gumshoe(\".toc-tree a\", {\n reflow: true,\n recursive: true,\n navClass: \"scroll-current\",\n offset: () => {\n let rem = parseFloat(getComputedStyle(document.documentElement).fontSize);\n return header.getBoundingClientRect().height + 2.5 * rem + 1;\n },\n });\n}\n\nfunction setupTheme() {\n // Attach event handlers for toggling themes\n const buttons = document.getElementsByClassName(\"theme-toggle\");\n Array.from(buttons).forEach((btn) => {\n btn.addEventListener(\"click\", cycleThemeOnce);\n });\n}\n\nfunction setup() {\n setupTheme();\n setupScrollHandler();\n setupScrollSpy();\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Main entrypoint\n////////////////////////////////////////////////////////////////////////////////\nfunction main() {\n document.body.parentNode.classList.remove(\"no-js\");\n\n header = document.querySelector(\"header\");\n tocScroll = document.querySelector(\".toc-scroll\");\n\n setup();\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", main);\n"],"names":["root","g","window","this","defaults","navClass","contentClass","nested","nestedClass","offset","reflow","events","emitEvent","type","elem","detail","settings","event","CustomEvent","bubbles","cancelable","dispatchEvent","getOffsetTop","location","offsetParent","offsetTop","sortContents","contents","sort","item1","item2","content","isInView","bottom","bounds","getBoundingClientRect","parseFloat","getOffset","parseInt","innerHeight","document","documentElement","clientHeight","top","isAtBottom","Math","ceil","pageYOffset","max","body","scrollHeight","offsetHeight","getActive","last","length","item","useLastItem","i","deactivateNested","nav","parentNode","li","closest","classList","remove","deactivate","items","link","activateNested","add","selector","options","navItems","current","timeout","publicAPIs","querySelectorAll","Array","prototype","forEach","call","getElementById","decodeURIComponent","hash","substr","push","active","activate","scrollHandler","cancelAnimationFrame","requestAnimationFrame","detect","resizeHandler","destroy","removeEventListener","merged","arguments","obj","key","hasOwnProperty","extend","setup","addEventListener","factory","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","n","getter","__esModule","d","a","definition","o","Object","defineProperty","enumerable","get","globalThis","Function","e","prop","tocScroll","header","lastScrollTop","scrollTop","GO_TO_TOP_OFFSET","cycleThemeOnce","currentTheme","localStorage","getItem","mode","matchMedia","matches","console","error","dataset","theme","setItem","log","buttons","getElementsByClassName","from","btn","setupTheme","last_known_scroll_position","ticking","scrollY","positionY","floor","scrollHandlerForBackToTop","scrollTo","querySelector","scrollHandlerForTOC","scroll","setupScrollHandler","recursive","rem","getComputedStyle","fontSize","height"],"sourceRoot":""} \ No newline at end of file diff --git a/_static/searchtools.js b/_static/searchtools.js new file mode 100644 index 00000000..92da3f8b --- /dev/null +++ b/_static/searchtools.js @@ -0,0 +1,619 @@ +/* + * searchtools.js + * ~~~~~~~~~~~~~~~~ + * + * Sphinx JavaScript utilities for the full-text search. + * + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ +"use strict"; + +/** + * Simple result scoring code. + */ +if (typeof Scorer === "undefined") { + var Scorer = { + // Implement the following function to further tweak the score for each result + // The function takes a result array [docname, title, anchor, descr, score, filename] + // and returns the new score. + /* + score: result => { + const [docname, title, anchor, descr, score, filename] = result + return score + }, + */ + + // query matches the full name of an object + objNameMatch: 11, + // or matches in the last dotted part of the object name + objPartialMatch: 6, + // Additive scores depending on the priority of the object + objPrio: { + 0: 15, // used to be importantResults + 1: 5, // used to be objectResults + 2: -5, // used to be unimportantResults + }, + // Used when the priority is not in the mapping. + objPrioDefault: 0, + + // query found in title + title: 15, + partialTitle: 7, + // query found in terms + term: 5, + partialTerm: 2, + }; +} + +const _removeChildren = (element) => { + while (element && element.lastChild) element.removeChild(element.lastChild); +}; + +/** + * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping + */ +const _escapeRegExp = (string) => + string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string + +const _displayItem = (item, searchTerms, highlightTerms) => { + const docBuilder = DOCUMENTATION_OPTIONS.BUILDER; + const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX; + const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX; + const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY; + const contentRoot = document.documentElement.dataset.content_root; + + const [docName, title, anchor, descr, score, _filename] = item; + + let listItem = document.createElement("li"); + let requestUrl; + let linkUrl; + if (docBuilder === "dirhtml") { + // dirhtml builder + let dirname = docName + "/"; + if (dirname.match(/\/index\/$/)) + dirname = dirname.substring(0, dirname.length - 6); + else if (dirname === "index/") dirname = ""; + requestUrl = contentRoot + dirname; + linkUrl = requestUrl; + } else { + // normal html builders + requestUrl = contentRoot + docName + docFileSuffix; + linkUrl = docName + docLinkSuffix; + } + let linkEl = listItem.appendChild(document.createElement("a")); + linkEl.href = linkUrl + anchor; + linkEl.dataset.score = score; + linkEl.innerHTML = title; + if (descr) { + listItem.appendChild(document.createElement("span")).innerHTML = + " (" + descr + ")"; + // highlight search terms in the description + if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js + highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); + } + else if (showSearchSummary) + fetch(requestUrl) + .then((responseData) => responseData.text()) + .then((data) => { + if (data) + listItem.appendChild( + Search.makeSearchSummary(data, searchTerms, anchor) + ); + // highlight search terms in the summary + if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js + highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); + }); + Search.output.appendChild(listItem); +}; +const _finishSearch = (resultCount) => { + Search.stopPulse(); + Search.title.innerText = _("Search Results"); + if (!resultCount) + Search.status.innerText = Documentation.gettext( + "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories." + ); + else + Search.status.innerText = _( + "Search finished, found ${resultCount} page(s) matching the search query." + ).replace('${resultCount}', resultCount); +}; +const _displayNextItem = ( + results, + resultCount, + searchTerms, + highlightTerms, +) => { + // results left, load the summary and display it + // this is intended to be dynamic (don't sub resultsCount) + if (results.length) { + _displayItem(results.pop(), searchTerms, highlightTerms); + setTimeout( + () => _displayNextItem(results, resultCount, searchTerms, highlightTerms), + 5 + ); + } + // search finished, update title and status message + else _finishSearch(resultCount); +}; +// Helper function used by query() to order search results. +// Each input is an array of [docname, title, anchor, descr, score, filename]. +// Order the results by score (in opposite order of appearance, since the +// `_displayNextItem` function uses pop() to retrieve items) and then alphabetically. +const _orderResultsByScoreThenName = (a, b) => { + const leftScore = a[4]; + const rightScore = b[4]; + if (leftScore === rightScore) { + // same score: sort alphabetically + const leftTitle = a[1].toLowerCase(); + const rightTitle = b[1].toLowerCase(); + if (leftTitle === rightTitle) return 0; + return leftTitle > rightTitle ? -1 : 1; // inverted is intentional + } + return leftScore > rightScore ? 1 : -1; +}; + +/** + * Default splitQuery function. Can be overridden in ``sphinx.search`` with a + * custom function per language. + * + * The regular expression works by splitting the string on consecutive characters + * that are not Unicode letters, numbers, underscores, or emoji characters. + * This is the same as ``\W+`` in Python, preserving the surrogate pair area. + */ +if (typeof splitQuery === "undefined") { + var splitQuery = (query) => query + .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu) + .filter(term => term) // remove remaining empty strings +} + +/** + * Search Module + */ +const Search = { + _index: null, + _queued_query: null, + _pulse_status: -1, + + htmlToText: (htmlString, anchor) => { + const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); + for (const removalQuery of [".headerlinks", "script", "style"]) { + htmlElement.querySelectorAll(removalQuery).forEach((el) => { el.remove() }); + } + if (anchor) { + const anchorContent = htmlElement.querySelector(`[role="main"] ${anchor}`); + if (anchorContent) return anchorContent.textContent; + + console.warn( + `Anchored content block not found. Sphinx search tries to obtain it via DOM query '[role=main] ${anchor}'. Check your theme or template.` + ); + } + + // if anchor not specified or not found, fall back to main content + const docContent = htmlElement.querySelector('[role="main"]'); + if (docContent) return docContent.textContent; + + console.warn( + "Content block not found. Sphinx search tries to obtain it via DOM query '[role=main]'. Check your theme or template." + ); + return ""; + }, + + init: () => { + const query = new URLSearchParams(window.location.search).get("q"); + document + .querySelectorAll('input[name="q"]') + .forEach((el) => (el.value = query)); + if (query) Search.performSearch(query); + }, + + loadIndex: (url) => + (document.body.appendChild(document.createElement("script")).src = url), + + setIndex: (index) => { + Search._index = index; + if (Search._queued_query !== null) { + const query = Search._queued_query; + Search._queued_query = null; + Search.query(query); + } + }, + + hasIndex: () => Search._index !== null, + + deferQuery: (query) => (Search._queued_query = query), + + stopPulse: () => (Search._pulse_status = -1), + + startPulse: () => { + if (Search._pulse_status >= 0) return; + + const pulse = () => { + Search._pulse_status = (Search._pulse_status + 1) % 4; + Search.dots.innerText = ".".repeat(Search._pulse_status); + if (Search._pulse_status >= 0) window.setTimeout(pulse, 500); + }; + pulse(); + }, + + /** + * perform a search for something (or wait until index is loaded) + */ + performSearch: (query) => { + // create the required interface elements + const searchText = document.createElement("h2"); + searchText.textContent = _("Searching"); + const searchSummary = document.createElement("p"); + searchSummary.classList.add("search-summary"); + searchSummary.innerText = ""; + const searchList = document.createElement("ul"); + searchList.classList.add("search"); + + const out = document.getElementById("search-results"); + Search.title = out.appendChild(searchText); + Search.dots = Search.title.appendChild(document.createElement("span")); + Search.status = out.appendChild(searchSummary); + Search.output = out.appendChild(searchList); + + const searchProgress = document.getElementById("search-progress"); + // Some themes don't use the search progress node + if (searchProgress) { + searchProgress.innerText = _("Preparing search..."); + } + Search.startPulse(); + + // index already loaded, the browser was quick! + if (Search.hasIndex()) Search.query(query); + else Search.deferQuery(query); + }, + + _parseQuery: (query) => { + // stem the search terms and add them to the correct list + const stemmer = new Stemmer(); + const searchTerms = new Set(); + const excludedTerms = new Set(); + const highlightTerms = new Set(); + const objectTerms = new Set(splitQuery(query.toLowerCase().trim())); + splitQuery(query.trim()).forEach((queryTerm) => { + const queryTermLower = queryTerm.toLowerCase(); + + // maybe skip this "word" + // stopwords array is from language_data.js + if ( + stopwords.indexOf(queryTermLower) !== -1 || + queryTerm.match(/^\d+$/) + ) + return; + + // stem the word + let word = stemmer.stemWord(queryTermLower); + // select the correct list + if (word[0] === "-") excludedTerms.add(word.substr(1)); + else { + searchTerms.add(word); + highlightTerms.add(queryTermLower); + } + }); + + if (SPHINX_HIGHLIGHT_ENABLED) { // set in sphinx_highlight.js + localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" ")) + } + + // console.debug("SEARCH: searching for:"); + // console.info("required: ", [...searchTerms]); + // console.info("excluded: ", [...excludedTerms]); + + return [query, searchTerms, excludedTerms, highlightTerms, objectTerms]; + }, + + /** + * execute search (requires search index to be loaded) + */ + _performSearch: (query, searchTerms, excludedTerms, highlightTerms, objectTerms) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + const allTitles = Search._index.alltitles; + const indexEntries = Search._index.indexentries; + + // Collect multiple result groups to be sorted separately and then ordered. + // Each is an array of [docname, title, anchor, descr, score, filename]. + const normalResults = []; + const nonMainIndexResults = []; + + _removeChildren(document.getElementById("search-progress")); + + const queryLower = query.toLowerCase().trim(); + for (const [title, foundTitles] of Object.entries(allTitles)) { + if (title.toLowerCase().trim().includes(queryLower) && (queryLower.length >= title.length/2)) { + for (const [file, id] of foundTitles) { + let score = Math.round(100 * queryLower.length / title.length) + normalResults.push([ + docNames[file], + titles[file] !== title ? `${titles[file]} > ${title}` : title, + id !== null ? "#" + id : "", + null, + score, + filenames[file], + ]); + } + } + } + + // search for explicit entries in index directives + for (const [entry, foundEntries] of Object.entries(indexEntries)) { + if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { + for (const [file, id, isMain] of foundEntries) { + const score = Math.round(100 * queryLower.length / entry.length); + const result = [ + docNames[file], + titles[file], + id ? "#" + id : "", + null, + score, + filenames[file], + ]; + if (isMain) { + normalResults.push(result); + } else { + nonMainIndexResults.push(result); + } + } + } + } + + // lookup as object + objectTerms.forEach((term) => + normalResults.push(...Search.performObjectSearch(term, objectTerms)) + ); + + // lookup as search terms in fulltext + normalResults.push(...Search.performTermsSearch(searchTerms, excludedTerms)); + + // let the scorer override scores with a custom scoring function + if (Scorer.score) { + normalResults.forEach((item) => (item[4] = Scorer.score(item))); + nonMainIndexResults.forEach((item) => (item[4] = Scorer.score(item))); + } + + // Sort each group of results by score and then alphabetically by name. + normalResults.sort(_orderResultsByScoreThenName); + nonMainIndexResults.sort(_orderResultsByScoreThenName); + + // Combine the result groups in (reverse) order. + // Non-main index entries are typically arbitrary cross-references, + // so display them after other results. + let results = [...nonMainIndexResults, ...normalResults]; + + // remove duplicate search results + // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept + let seen = new Set(); + results = results.reverse().reduce((acc, result) => { + let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(','); + if (!seen.has(resultStr)) { + acc.push(result); + seen.add(resultStr); + } + return acc; + }, []); + + return results.reverse(); + }, + + query: (query) => { + const [searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms] = Search._parseQuery(query); + const results = Search._performSearch(searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms); + + // for debugging + //Search.lastresults = results.slice(); // a copy + // console.info("search results:", Search.lastresults); + + // print the results + _displayNextItem(results, results.length, searchTerms, highlightTerms); + }, + + /** + * search for object names + */ + performObjectSearch: (object, objectTerms) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const objects = Search._index.objects; + const objNames = Search._index.objnames; + const titles = Search._index.titles; + + const results = []; + + const objectSearchCallback = (prefix, match) => { + const name = match[4] + const fullname = (prefix ? prefix + "." : "") + name; + const fullnameLower = fullname.toLowerCase(); + if (fullnameLower.indexOf(object) < 0) return; + + let score = 0; + const parts = fullnameLower.split("."); + + // check for different match types: exact matches of full name or + // "last name" (i.e. last dotted part) + if (fullnameLower === object || parts.slice(-1)[0] === object) + score += Scorer.objNameMatch; + else if (parts.slice(-1)[0].indexOf(object) > -1) + score += Scorer.objPartialMatch; // matches in last name + + const objName = objNames[match[1]][2]; + const title = titles[match[0]]; + + // If more than one term searched for, we require other words to be + // found in the name/title/description + const otherTerms = new Set(objectTerms); + otherTerms.delete(object); + if (otherTerms.size > 0) { + const haystack = `${prefix} ${name} ${objName} ${title}`.toLowerCase(); + if ( + [...otherTerms].some((otherTerm) => haystack.indexOf(otherTerm) < 0) + ) + return; + } + + let anchor = match[3]; + if (anchor === "") anchor = fullname; + else if (anchor === "-") anchor = objNames[match[1]][1] + "-" + fullname; + + const descr = objName + _(", in ") + title; + + // add custom score for some objects according to scorer + if (Scorer.objPrio.hasOwnProperty(match[2])) + score += Scorer.objPrio[match[2]]; + else score += Scorer.objPrioDefault; + + results.push([ + docNames[match[0]], + fullname, + "#" + anchor, + descr, + score, + filenames[match[0]], + ]); + }; + Object.keys(objects).forEach((prefix) => + objects[prefix].forEach((array) => + objectSearchCallback(prefix, array) + ) + ); + return results; + }, + + /** + * search for full-text terms in the index + */ + performTermsSearch: (searchTerms, excludedTerms) => { + // prepare search + const terms = Search._index.terms; + const titleTerms = Search._index.titleterms; + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + + const scoreMap = new Map(); + const fileMap = new Map(); + + // perform the search on the required terms + searchTerms.forEach((word) => { + const files = []; + const arr = [ + { files: terms[word], score: Scorer.term }, + { files: titleTerms[word], score: Scorer.title }, + ]; + // add support for partial matches + if (word.length > 2) { + const escapedWord = _escapeRegExp(word); + if (!terms.hasOwnProperty(word)) { + Object.keys(terms).forEach((term) => { + if (term.match(escapedWord)) + arr.push({ files: terms[term], score: Scorer.partialTerm }); + }); + } + if (!titleTerms.hasOwnProperty(word)) { + Object.keys(titleTerms).forEach((term) => { + if (term.match(escapedWord)) + arr.push({ files: titleTerms[term], score: Scorer.partialTitle }); + }); + } + } + + // no match but word was a required one + if (arr.every((record) => record.files === undefined)) return; + + // found search word in contents + arr.forEach((record) => { + if (record.files === undefined) return; + + let recordFiles = record.files; + if (recordFiles.length === undefined) recordFiles = [recordFiles]; + files.push(...recordFiles); + + // set score for the word in each file + recordFiles.forEach((file) => { + if (!scoreMap.has(file)) scoreMap.set(file, {}); + scoreMap.get(file)[word] = record.score; + }); + }); + + // create the mapping + files.forEach((file) => { + if (!fileMap.has(file)) fileMap.set(file, [word]); + else if (fileMap.get(file).indexOf(word) === -1) fileMap.get(file).push(word); + }); + }); + + // now check if the files don't contain excluded terms + const results = []; + for (const [file, wordList] of fileMap) { + // check if all requirements are matched + + // as search terms with length < 3 are discarded + const filteredTermCount = [...searchTerms].filter( + (term) => term.length > 2 + ).length; + if ( + wordList.length !== searchTerms.size && + wordList.length !== filteredTermCount + ) + continue; + + // ensure that none of the excluded terms is in the search result + if ( + [...excludedTerms].some( + (term) => + terms[term] === file || + titleTerms[term] === file || + (terms[term] || []).includes(file) || + (titleTerms[term] || []).includes(file) + ) + ) + break; + + // select one (max) score for the file. + const score = Math.max(...wordList.map((w) => scoreMap.get(file)[w])); + // add result to the result list + results.push([ + docNames[file], + titles[file], + "", + null, + score, + filenames[file], + ]); + } + return results; + }, + + /** + * helper function to return a node containing the + * search summary for a given text. keywords is a list + * of stemmed words. + */ + makeSearchSummary: (htmlText, keywords, anchor) => { + const text = Search.htmlToText(htmlText, anchor); + if (text === "") return null; + + const textLower = text.toLowerCase(); + const actualStartPosition = [...keywords] + .map((k) => textLower.indexOf(k.toLowerCase())) + .filter((i) => i > -1) + .slice(-1)[0]; + const startWithContext = Math.max(actualStartPosition - 120, 0); + + const top = startWithContext === 0 ? "" : "..."; + const tail = startWithContext + 240 < text.length ? "..." : ""; + + let summary = document.createElement("p"); + summary.classList.add("context"); + summary.textContent = top + text.substr(startWithContext, 240).trim() + tail; + + return summary; + }, +}; + +_ready(Search.init); diff --git a/_static/skeleton.css b/_static/skeleton.css new file mode 100644 index 00000000..467c878c --- /dev/null +++ b/_static/skeleton.css @@ -0,0 +1,296 @@ +/* Some sane resets. */ +html { + height: 100%; +} + +body { + margin: 0; + min-height: 100%; +} + +/* All the flexbox magic! */ +body, +.sb-announcement, +.sb-content, +.sb-main, +.sb-container, +.sb-container__inner, +.sb-article-container, +.sb-footer-content, +.sb-header, +.sb-header-secondary, +.sb-footer { + display: flex; +} + +/* These order things vertically */ +body, +.sb-main, +.sb-article-container { + flex-direction: column; +} + +/* Put elements in the center */ +.sb-header, +.sb-header-secondary, +.sb-container, +.sb-content, +.sb-footer, +.sb-footer-content { + justify-content: center; +} +/* Put elements at the ends */ +.sb-article-container { + justify-content: space-between; +} + +/* These elements grow. */ +.sb-main, +.sb-content, +.sb-container, +article { + flex-grow: 1; +} + +/* Because padding making this wider is not fun */ +article { + box-sizing: border-box; +} + +/* The announcements element should never be wider than the page. */ +.sb-announcement { + max-width: 100%; +} + +.sb-sidebar-primary, +.sb-sidebar-secondary { + flex-shrink: 0; + width: 17rem; +} + +.sb-announcement__inner { + justify-content: center; + + box-sizing: border-box; + height: 3rem; + + overflow-x: auto; + white-space: nowrap; +} + +/* Sidebars, with checkbox-based toggle */ +.sb-sidebar-primary, +.sb-sidebar-secondary { + position: fixed; + height: 100%; + top: 0; +} + +.sb-sidebar-primary { + left: -17rem; + transition: left 250ms ease-in-out; +} +.sb-sidebar-secondary { + right: -17rem; + transition: right 250ms ease-in-out; +} + +.sb-sidebar-toggle { + display: none; +} +.sb-sidebar-overlay { + position: fixed; + top: 0; + width: 0; + height: 0; + + transition: width 0ms ease 250ms, height 0ms ease 250ms, opacity 250ms ease; + + opacity: 0; + background-color: rgba(0, 0, 0, 0.54); +} + +#sb-sidebar-toggle--primary:checked + ~ .sb-sidebar-overlay[for="sb-sidebar-toggle--primary"], +#sb-sidebar-toggle--secondary:checked + ~ .sb-sidebar-overlay[for="sb-sidebar-toggle--secondary"] { + width: 100%; + height: 100%; + opacity: 1; + transition: width 0ms ease, height 0ms ease, opacity 250ms ease; +} + +#sb-sidebar-toggle--primary:checked ~ .sb-container .sb-sidebar-primary { + left: 0; +} +#sb-sidebar-toggle--secondary:checked ~ .sb-container .sb-sidebar-secondary { + right: 0; +} + +/* Full-width mode */ +.drop-secondary-sidebar-for-full-width-content + .hide-when-secondary-sidebar-shown { + display: none !important; +} +.drop-secondary-sidebar-for-full-width-content .sb-sidebar-secondary { + display: none !important; +} + +/* Mobile views */ +.sb-page-width { + width: 100%; +} + +.sb-article-container, +.sb-footer-content__inner, +.drop-secondary-sidebar-for-full-width-content .sb-article, +.drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 100vw; +} + +.sb-article, +.match-content-width { + padding: 0 1rem; + box-sizing: border-box; +} + +@media (min-width: 32rem) { + .sb-article, + .match-content-width { + padding: 0 2rem; + } +} + +/* Tablet views */ +@media (min-width: 42rem) { + .sb-article-container { + width: auto; + } + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 42rem; + } + .sb-article, + .match-content-width { + width: 42rem; + } +} +@media (min-width: 46rem) { + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 46rem; + } + .sb-article, + .match-content-width { + width: 46rem; + } +} +@media (min-width: 50rem) { + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 50rem; + } + .sb-article, + .match-content-width { + width: 50rem; + } +} + +/* Tablet views */ +@media (min-width: 59rem) { + .sb-sidebar-secondary { + position: static; + } + .hide-when-secondary-sidebar-shown { + display: none !important; + } + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 59rem; + } + .sb-article, + .match-content-width { + width: 42rem; + } +} +@media (min-width: 63rem) { + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 63rem; + } + .sb-article, + .match-content-width { + width: 46rem; + } +} +@media (min-width: 67rem) { + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 67rem; + } + .sb-article, + .match-content-width { + width: 50rem; + } +} + +/* Desktop views */ +@media (min-width: 76rem) { + .sb-sidebar-primary { + position: static; + } + .hide-when-primary-sidebar-shown { + display: none !important; + } + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 59rem; + } + .sb-article, + .match-content-width { + width: 42rem; + } +} + +/* Full desktop views */ +@media (min-width: 80rem) { + .sb-article, + .match-content-width { + width: 46rem; + } + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 63rem; + } +} + +@media (min-width: 84rem) { + .sb-article, + .match-content-width { + width: 50rem; + } + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 67rem; + } +} + +@media (min-width: 88rem) { + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 67rem; + } + .sb-page-width { + width: 88rem; + } +} diff --git a/_static/sphinx_highlight.js b/_static/sphinx_highlight.js new file mode 100644 index 00000000..8a96c69a --- /dev/null +++ b/_static/sphinx_highlight.js @@ -0,0 +1,154 @@ +/* Highlighting utilities for Sphinx HTML documentation. */ +"use strict"; + +const SPHINX_HIGHLIGHT_ENABLED = true + +/** + * highlight a given string on a node by wrapping it in + * span elements with the given class name. + */ +const _highlight = (node, addItems, text, className) => { + if (node.nodeType === Node.TEXT_NODE) { + const val = node.nodeValue; + const parent = node.parentNode; + const pos = val.toLowerCase().indexOf(text); + if ( + pos >= 0 && + !parent.classList.contains(className) && + !parent.classList.contains("nohighlight") + ) { + let span; + + const closestNode = parent.closest("body, svg, foreignObject"); + const isInSVG = closestNode && closestNode.matches("svg"); + if (isInSVG) { + span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); + } else { + span = document.createElement("span"); + span.classList.add(className); + } + + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + const rest = document.createTextNode(val.substr(pos + text.length)); + parent.insertBefore( + span, + parent.insertBefore( + rest, + node.nextSibling + ) + ); + node.nodeValue = val.substr(0, pos); + /* There may be more occurrences of search term in this node. So call this + * function recursively on the remaining fragment. + */ + _highlight(rest, addItems, text, className); + + if (isInSVG) { + const rect = document.createElementNS( + "http://www.w3.org/2000/svg", + "rect" + ); + const bbox = parent.getBBox(); + rect.x.baseVal.value = bbox.x; + rect.y.baseVal.value = bbox.y; + rect.width.baseVal.value = bbox.width; + rect.height.baseVal.value = bbox.height; + rect.setAttribute("class", className); + addItems.push({ parent: parent, target: rect }); + } + } + } else if (node.matches && !node.matches("button, select, textarea")) { + node.childNodes.forEach((el) => _highlight(el, addItems, text, className)); + } +}; +const _highlightText = (thisNode, text, className) => { + let addItems = []; + _highlight(thisNode, addItems, text, className); + addItems.forEach((obj) => + obj.parent.insertAdjacentElement("beforebegin", obj.target) + ); +}; + +/** + * Small JavaScript module for the documentation. + */ +const SphinxHighlight = { + + /** + * highlight the search words provided in localstorage in the text + */ + highlightSearchWords: () => { + if (!SPHINX_HIGHLIGHT_ENABLED) return; // bail if no highlight + + // get and clear terms from localstorage + const url = new URL(window.location); + const highlight = + localStorage.getItem("sphinx_highlight_terms") + || url.searchParams.get("highlight") + || ""; + localStorage.removeItem("sphinx_highlight_terms") + url.searchParams.delete("highlight"); + window.history.replaceState({}, "", url); + + // get individual terms from highlight string + const terms = highlight.toLowerCase().split(/\s+/).filter(x => x); + if (terms.length === 0) return; // nothing to do + + // There should never be more than one element matching "div.body" + const divBody = document.querySelectorAll("div.body"); + const body = divBody.length ? divBody[0] : document.querySelector("body"); + window.setTimeout(() => { + terms.forEach((term) => _highlightText(body, term, "highlighted")); + }, 10); + + const searchBox = document.getElementById("searchbox"); + if (searchBox === null) return; + searchBox.appendChild( + document + .createRange() + .createContextualFragment( + '" + ) + ); + }, + + /** + * helper function to hide the search marks again + */ + hideSearchWords: () => { + document + .querySelectorAll("#searchbox .highlight-link") + .forEach((el) => el.remove()); + document + .querySelectorAll("span.highlighted") + .forEach((el) => el.classList.remove("highlighted")); + localStorage.removeItem("sphinx_highlight_terms") + }, + + initEscapeListener: () => { + // only install a listener if it is really needed + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return; + if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) { + SphinxHighlight.hideSearchWords(); + event.preventDefault(); + } + }); + }, +}; + +_ready(() => { + /* Do not call highlightSearchWords() when we are on the search page. + * It will highlight words from the *previous* search query. + */ + if (typeof Search === "undefined") SphinxHighlight.highlightSearchWords(); + SphinxHighlight.initEscapeListener(); +}); diff --git a/_static/styles/furo-extensions.css b/_static/styles/furo-extensions.css new file mode 100644 index 00000000..bc447f22 --- /dev/null +++ b/_static/styles/furo-extensions.css @@ -0,0 +1,2 @@ +#furo-sidebar-ad-placement{padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)}#furo-sidebar-ad-placement .ethical-sidebar{background:var(--color-background-secondary);border:none;box-shadow:none}#furo-sidebar-ad-placement .ethical-sidebar:hover{background:var(--color-background-hover)}#furo-sidebar-ad-placement .ethical-sidebar a{color:var(--color-foreground-primary)}#furo-sidebar-ad-placement .ethical-callout a{color:var(--color-foreground-secondary)!important}#furo-readthedocs-versions{background:transparent;display:block;position:static;width:100%}#furo-readthedocs-versions .rst-versions{background:#1a1c1e}#furo-readthedocs-versions .rst-current-version{background:var(--color-sidebar-item-background);cursor:unset}#furo-readthedocs-versions .rst-current-version:hover{background:var(--color-sidebar-item-background)}#furo-readthedocs-versions .rst-current-version .fa-book{color:var(--color-foreground-primary)}#furo-readthedocs-versions>.rst-other-versions{padding:0}#furo-readthedocs-versions>.rst-other-versions small{opacity:1}#furo-readthedocs-versions .injected .rst-versions{position:unset}#furo-readthedocs-versions:focus-within,#furo-readthedocs-versions:hover{box-shadow:0 0 0 1px var(--color-sidebar-background-border)}#furo-readthedocs-versions:focus-within .rst-current-version,#furo-readthedocs-versions:hover .rst-current-version{background:#1a1c1e;font-size:inherit;height:auto;line-height:inherit;padding:12px;text-align:right}#furo-readthedocs-versions:focus-within .rst-current-version .fa-book,#furo-readthedocs-versions:hover .rst-current-version .fa-book{color:#fff;float:left}#furo-readthedocs-versions:focus-within .fa-caret-down,#furo-readthedocs-versions:hover .fa-caret-down{display:none}#furo-readthedocs-versions:focus-within .injected,#furo-readthedocs-versions:focus-within .rst-current-version,#furo-readthedocs-versions:focus-within .rst-other-versions,#furo-readthedocs-versions:hover .injected,#furo-readthedocs-versions:hover .rst-current-version,#furo-readthedocs-versions:hover .rst-other-versions{display:block}#furo-readthedocs-versions:focus-within>.rst-current-version,#furo-readthedocs-versions:hover>.rst-current-version{display:none}.highlight:hover button.copybtn{color:var(--color-code-foreground)}.highlight button.copybtn{align-items:center;background-color:var(--color-code-background);border:none;color:var(--color-background-item);cursor:pointer;height:1.25em;opacity:1;right:.5rem;top:.625rem;transition:color .3s,opacity .3s;width:1.25em}.highlight button.copybtn:hover{background-color:var(--color-code-background);color:var(--color-brand-content)}.highlight button.copybtn:after{background-color:transparent;color:var(--color-code-foreground);display:none}.highlight button.copybtn.success{color:#22863a;transition:color 0ms}.highlight button.copybtn.success:after{display:block}.highlight button.copybtn svg{padding:0}body{--sd-color-primary:var(--color-brand-primary);--sd-color-primary-highlight:var(--color-brand-content);--sd-color-primary-text:var(--color-background-primary);--sd-color-shadow:rgba(0,0,0,.05);--sd-color-card-border:var(--color-card-border);--sd-color-card-border-hover:var(--color-brand-content);--sd-color-card-background:var(--color-card-background);--sd-color-card-text:var(--color-foreground-primary);--sd-color-card-header:var(--color-card-marginals-background);--sd-color-card-footer:var(--color-card-marginals-background);--sd-color-tabs-label-active:var(--color-brand-content);--sd-color-tabs-label-hover:var(--color-foreground-muted);--sd-color-tabs-label-inactive:var(--color-foreground-muted);--sd-color-tabs-underline-active:var(--color-brand-content);--sd-color-tabs-underline-hover:var(--color-foreground-border);--sd-color-tabs-underline-inactive:var(--color-background-border);--sd-color-tabs-overline:var(--color-background-border);--sd-color-tabs-underline:var(--color-background-border)}.sd-tab-content{box-shadow:0 -2px var(--sd-color-tabs-overline),0 1px var(--sd-color-tabs-underline)}.sd-card{box-shadow:0 .1rem .25rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)}.sd-shadow-sm{box-shadow:0 .1rem .25rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)!important}.sd-shadow-md{box-shadow:0 .3rem .75rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)!important}.sd-shadow-lg{box-shadow:0 .6rem 1.5rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)!important}.sd-card-hover:hover{transform:none}.sd-cards-carousel{gap:.25rem;padding:.25rem}body{--tabs--label-text:var(--color-foreground-muted);--tabs--label-text--hover:var(--color-foreground-muted);--tabs--label-text--active:var(--color-brand-content);--tabs--label-text--active--hover:var(--color-brand-content);--tabs--label-background:transparent;--tabs--label-background--hover:transparent;--tabs--label-background--active:transparent;--tabs--label-background--active--hover:transparent;--tabs--padding-x:0.25em;--tabs--margin-x:1em;--tabs--border:var(--color-background-border);--tabs--label-border:transparent;--tabs--label-border--hover:var(--color-foreground-muted);--tabs--label-border--active:var(--color-brand-content);--tabs--label-border--active--hover:var(--color-brand-content)}[role=main] .container{max-width:none;padding-left:0;padding-right:0}.shadow.docutils{border:none;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1)!important}.sphinx-bs .card{background-color:var(--color-background-secondary);color:var(--color-foreground)} +/*# sourceMappingURL=furo-extensions.css.map*/ \ No newline at end of file diff --git a/_static/styles/furo-extensions.css.map b/_static/styles/furo-extensions.css.map new file mode 100644 index 00000000..9ba5637f --- /dev/null +++ b/_static/styles/furo-extensions.css.map @@ -0,0 +1 @@ +{"version":3,"file":"styles/furo-extensions.css","mappings":"AAGA,2BACE,oFACA,4CAKE,6CAHA,YACA,eAEA,CACA,kDACE,yCAEF,8CACE,sCAEJ,8CACE,kDAEJ,2BAGE,uBACA,cAHA,gBACA,UAEA,CAGA,yCACE,mBAEF,gDAEE,gDADA,YACA,CACA,sDACE,gDACF,yDACE,sCAEJ,+CACE,UACA,qDACE,UAGF,mDACE,eAEJ,yEAEE,4DAEA,mHASE,mBAPA,kBAEA,YADA,oBAGA,aADA,gBAIA,CAEA,qIAEE,WADA,UACA,CAEJ,uGACE,aAEF,iUAGE,cAEF,mHACE,aC1EJ,gCACE,mCAEF,0BAKE,mBAUA,8CACA,YAFA,mCAKA,eAZA,cALA,UASA,YADA,YAYA,iCAdA,YAcA,CAEA,gCAEE,8CADA,gCACA,CAEF,gCAGE,6BADA,mCADA,YAEA,CAEF,kCAEE,cADA,oBACA,CACA,wCACE,cAEJ,8BACE,UC5CN,KAEE,6CAA8C,CAC9C,uDAAwD,CACxD,uDAAwD,CAGxD,iCAAsC,CAGtC,+CAAgD,CAChD,uDAAwD,CACxD,uDAAwD,CACxD,oDAAqD,CACrD,6DAA8D,CAC9D,6DAA8D,CAG9D,uDAAwD,CACxD,yDAA0D,CAC1D,4DAA6D,CAC7D,2DAA4D,CAC5D,8DAA+D,CAC/D,iEAAkE,CAClE,uDAAwD,CACxD,wDAAyD,CAG3D,gBACE,qFAGF,SACE,6EAEF,cACE,uFAEF,cACE,uFAEF,cACE,uFAGF,qBACE,eAEF,mBACE,WACA,eChDF,KACE,gDAAiD,CACjD,uDAAwD,CACxD,qDAAsD,CACtD,4DAA6D,CAC7D,oCAAqC,CACrC,2CAA4C,CAC5C,4CAA6C,CAC7C,mDAAoD,CACpD,wBAAyB,CACzB,oBAAqB,CACrB,6CAA8C,CAC9C,gCAAiC,CACjC,yDAA0D,CAC1D,uDAAwD,CACxD,8DAA+D,CCbjE,uBACE,eACA,eACA,gBAGF,iBACE,YACA,+EAGF,iBACE,mDACA","sources":["webpack:///./src/furo/assets/styles/extensions/_readthedocs.sass","webpack:///./src/furo/assets/styles/extensions/_copybutton.sass","webpack:///./src/furo/assets/styles/extensions/_sphinx-design.sass","webpack:///./src/furo/assets/styles/extensions/_sphinx-inline-tabs.sass","webpack:///./src/furo/assets/styles/extensions/_sphinx-panels.sass"],"sourcesContent":["// This file contains the styles used for tweaking how ReadTheDoc's embedded\n// contents would show up inside the theme.\n\n#furo-sidebar-ad-placement\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n .ethical-sidebar\n // Remove the border and box-shadow.\n border: none\n box-shadow: none\n // Manage the background colors.\n background: var(--color-background-secondary)\n &:hover\n background: var(--color-background-hover)\n // Ensure the text is legible.\n a\n color: var(--color-foreground-primary)\n\n .ethical-callout a\n color: var(--color-foreground-secondary) !important\n\n#furo-readthedocs-versions\n position: static\n width: 100%\n background: transparent\n display: block\n\n // Make the background color fit with the theme's aesthetic.\n .rst-versions\n background: rgb(26, 28, 30)\n\n .rst-current-version\n cursor: unset\n background: var(--color-sidebar-item-background)\n &:hover\n background: var(--color-sidebar-item-background)\n .fa-book\n color: var(--color-foreground-primary)\n\n > .rst-other-versions\n padding: 0\n small\n opacity: 1\n\n .injected\n .rst-versions\n position: unset\n\n &:hover,\n &:focus-within\n box-shadow: 0 0 0 1px var(--color-sidebar-background-border)\n\n .rst-current-version\n // Undo the tweaks done in RTD's CSS\n font-size: inherit\n line-height: inherit\n height: auto\n text-align: right\n padding: 12px\n\n // Match the rest of the body\n background: #1a1c1e\n\n .fa-book\n float: left\n color: white\n\n .fa-caret-down\n display: none\n\n .rst-current-version,\n .rst-other-versions,\n .injected\n display: block\n\n > .rst-current-version\n display: none\n",".highlight\n &:hover button.copybtn\n color: var(--color-code-foreground)\n\n button.copybtn\n // Make it visible\n opacity: 1\n\n // Align things correctly\n align-items: center\n\n height: 1.25em\n width: 1.25em\n\n top: 0.625rem // $code-spacing-vertical\n right: 0.5rem\n\n // Make it look better\n color: var(--color-background-item)\n background-color: var(--color-code-background)\n border: none\n\n // Change to cursor to make it obvious that you can click on it\n cursor: pointer\n\n // Transition smoothly, for aesthetics\n transition: color 300ms, opacity 300ms\n\n &:hover\n color: var(--color-brand-content)\n background-color: var(--color-code-background)\n\n &::after\n display: none\n color: var(--color-code-foreground)\n background-color: transparent\n\n &.success\n transition: color 0ms\n color: #22863a\n &::after\n display: block\n\n svg\n padding: 0\n","body\n // Colors\n --sd-color-primary: var(--color-brand-primary)\n --sd-color-primary-highlight: var(--color-brand-content)\n --sd-color-primary-text: var(--color-background-primary)\n\n // Shadows\n --sd-color-shadow: rgba(0, 0, 0, 0.05)\n\n // Cards\n --sd-color-card-border: var(--color-card-border)\n --sd-color-card-border-hover: var(--color-brand-content)\n --sd-color-card-background: var(--color-card-background)\n --sd-color-card-text: var(--color-foreground-primary)\n --sd-color-card-header: var(--color-card-marginals-background)\n --sd-color-card-footer: var(--color-card-marginals-background)\n\n // Tabs\n --sd-color-tabs-label-active: var(--color-brand-content)\n --sd-color-tabs-label-hover: var(--color-foreground-muted)\n --sd-color-tabs-label-inactive: var(--color-foreground-muted)\n --sd-color-tabs-underline-active: var(--color-brand-content)\n --sd-color-tabs-underline-hover: var(--color-foreground-border)\n --sd-color-tabs-underline-inactive: var(--color-background-border)\n --sd-color-tabs-overline: var(--color-background-border)\n --sd-color-tabs-underline: var(--color-background-border)\n\n// Tabs\n.sd-tab-content\n box-shadow: 0 -2px var(--sd-color-tabs-overline), 0 1px var(--sd-color-tabs-underline)\n\n// Shadows\n.sd-card // Have a shadow by default\n box-shadow: 0 0.1rem 0.25rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1)\n\n.sd-shadow-sm\n box-shadow: 0 0.1rem 0.25rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n.sd-shadow-md\n box-shadow: 0 0.3rem 0.75rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n.sd-shadow-lg\n box-shadow: 0 0.6rem 1.5rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n// Cards\n.sd-card-hover:hover // Don't change scale on hover\n transform: none\n\n.sd-cards-carousel // Have a bit of gap in the carousel by default\n gap: 0.25rem\n padding: 0.25rem\n","// This file contains styles to tweak sphinx-inline-tabs to work well with Furo.\n\nbody\n --tabs--label-text: var(--color-foreground-muted)\n --tabs--label-text--hover: var(--color-foreground-muted)\n --tabs--label-text--active: var(--color-brand-content)\n --tabs--label-text--active--hover: var(--color-brand-content)\n --tabs--label-background: transparent\n --tabs--label-background--hover: transparent\n --tabs--label-background--active: transparent\n --tabs--label-background--active--hover: transparent\n --tabs--padding-x: 0.25em\n --tabs--margin-x: 1em\n --tabs--border: var(--color-background-border)\n --tabs--label-border: transparent\n --tabs--label-border--hover: var(--color-foreground-muted)\n --tabs--label-border--active: var(--color-brand-content)\n --tabs--label-border--active--hover: var(--color-brand-content)\n","// This file contains styles to tweak sphinx-panels to work well with Furo.\n\n// sphinx-panels includes Bootstrap 4, which uses .container which can conflict\n// with docutils' `.. container::` directive.\n[role=\"main\"] .container\n max-width: initial\n padding-left: initial\n padding-right: initial\n\n// Make the panels look nicer!\n.shadow.docutils\n border: none\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n// Make panel colors respond to dark mode\n.sphinx-bs .card\n background-color: var(--color-background-secondary)\n color: var(--color-foreground)\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/_static/styles/furo.css b/_static/styles/furo.css new file mode 100644 index 00000000..e3d4e57b --- /dev/null +++ b/_static/styles/furo.css @@ -0,0 +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{vertical-align:middle}.theme-toggle{background:transparent;border:none;cursor:pointer;padding:0}.theme-toggle svg{color:var(--color-foreground-primary);display:none;height:1.25rem;vertical-align:middle;width:1.25rem}.theme-toggle-header{float:left;padding:1rem .5rem}.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.25rem;width:1.25rem}.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}.toc-header-icon{display:flex}.theme-toggle-content,.toc-content-icon{display:none}.theme-toggle-header{display:block}.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.25rem;width:1.25rem}: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} +/*# sourceMappingURL=furo.css.map*/ \ No newline at end of file diff --git a/_static/styles/furo.css.map b/_static/styles/furo.css.map new file mode 100644 index 00000000..6e02d0b1 --- /dev/null +++ b/_static/styles/furo.css.map @@ -0,0 +1 @@ +{"version":3,"file":"styles/furo.css","mappings":"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AEE,CAJJ,gBAEE,CAJE,iBAMA,yFAQA,aACA,eEpbJ,cACE,iBACA,YAEA,CAFA,iBAEA,+DAGA,mBAKA,gCAGA,CARA,SAIA,SACA,CALA,0EAIA,CAJA,OAQA,0CACE,UAGF,iDAGF,CAHE,UAGF,8CAEE,CAFF,UAEE,CACA,uCAEA,WACA,WAFA,UAEA,6CAIA,yCACA,WAGA,WAJA,UAIA,gDACE,aASF,0CACE,CAFF,mBAEE,wEACA,CATA,YACA,CAKF,kBACA,CALE,MAGJ,CAII,eACA,CAJF,iCALE,cACA,CAHA,oBACA,CAKJ,SAKI,2BADA,UACA,6BAEJ,WACE,0DACA,kBACE,gCACA,mBADA,YACA,oEACA,2CAMF,mDAII,CAJJ,aADF,cACE,kBAII,kEACA,iBACE,mEACA,6BACE,wBADF,cACE,mCACA,qDANN,kCACE,6BAEE,mBADF,0CACE,CAFF,eACA,MACE,0DACA,wCACE,sGACA,WANN,yBACE,uCACA,CAFF,UAEE,2CACE,0FACA,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,oC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","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\n$icon-size: 1.25rem\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 vertical-align: middle\n\n.theme-toggle\n cursor: pointer\n border: none\n padding: 0\n background: transparent\n\n.theme-toggle svg\n vertical-align: middle\n height: $icon-size\n width: $icon-size\n color: var(--color-foreground-primary)\n display: none\n\n.theme-toggle-header\n float: left\n padding: 1rem 0.5rem\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: $icon-size\n width: $icon-size\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: $icon-size\n width: $icon-size\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\n display: flex\n .toc-content-icon, .theme-toggle-content\n display: none\n .theme-toggle-header\n display: block\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: $icon-size\n width: $icon-size\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

>MKP-Q#b&Ei^6vOhRUW$PL}R$vcrIU4 zFIo5I2lGY!?JnvMVPI{WpJo-g77 z5qFh!vC1?<_{&ITCF>bfHpYuaMOA6zaiomI>s^Gz?Cw&dMa$@5@+TS&f$#(sSaj(V z)srgsNZ1CV=1Xls5N)T8S{!Bc1w+@%hJ`K#QNY?X@9;T6?%{xkAG2lr!myU{+JSbx z@i>0YZ9rKnY}oZ*q-6}e>uZGI;rLVEF{J(Gu#lE^?@OtKBwtv{-!cSzcvuMd00vI! zSDX&fAj7&#X{qL;nW#n>^eZ=WaX>p~l-A-GYpnmDy)OZ3QA#ru$u9_iNsJJwp>vG)7#WdmD{eG{(flB%*PNSrlUu zx5OnTaY^EaVl?jj8r-7)Ij5@bt#j+veYfh}`Nu};DKrc`P-xUo9b;qrsgYkbCzI8P7~mo(%{;iR}G7mr?}}wu9Jj$imB$( zLc1~3tSrnfjbP~`T8RUSmH-o8g#9>>fmqNgSGtY_*T8VJS(~mx5iq-DPE_d2U87w^ z$$1N01UXQL{Svf!2Fk)}4#8SRy2%Y!dCJAJahzIBsi|OBa@$TYHH-5d^rhUL1N)FF zGw>r!vEbUzTjp`DN1r*WEW#ZtunoReg%!WM=5Pm8O9>HQC#TJXBw3XfIbx9v?RRFp z|C7;oTxf%|yqI4-AS{o%pTV#2rM1WAMqh}XG`U};Us(N)zQSITNBv@EwFWZopSL^~ ztC1gLrSg-^>M-cc35DS=OkwNFQkaw}ck3RlIRP#-d&7i3w=Chu``Ox^wWdd$thB1S zTLg{d=Gi@1!&PM|)YTfqp`Fa7rJUpWD`km$Q$O23+>6z4Zr@aHgnG7mS}Ql|{?!*A z-ssPLVx~Hh>pR!%-HY5I85>Qp*5?*$t#ME^Q(kKHyB{Ld#zD`?8PCV?U3+xTZt^6E z6ZEZnl!6zyTx<)(v!UHvAh{4T>x-U75#J>u=D~HmM-iR7kkU@*>yFe=A{spGhS(eK zQQ85E&0#0h)wKSo0hGBqbqjH0`@$p1p#Au9%484&m6Z34Vfi*T0MY=c+TbYHIfs>~_)$V^>y0nZE#5kE*6VY6W&EQ#I z^n{at?rgw4N88>H(Kdogbpc#3xC6Fb(?Ks1P z!}8oc5KY_FYAsfqyI~~@MCfq&G5#pdyM=t@i2x8hYgPyLHDD*ZzVw&2go%C6`;-*0 zARD$T*CB)#9Uo&ZDW@P}jY^)t6~99R^b4$B1}P@y7w0BnBRL8~KTp%8?L+hfWG{AZ zLjhD%aoi8AiH0DfI0I)NY@VjQ)^o5%d_V*eL8!)j8)9p?S~(eOWFa;v6jl{eY!0?E z!%p>TbFMmFgM)VTP+V&WS1;p!Y1kn>;1h~VT*=31M&cc#7*8&?v&9tSBFNZEG4N&Y z6l0CDUmmfEe`Ym(dPbQZZY3rg*HKMfvTz_9XN>b{PdHs;X#uQmM5}x5*oMqiFk;t?p@L?=+FR{CG(SH)lZgHXSkZI{G(0im^{) z@v%~Jq>?z&O8X8rLc$3{`TmETJPFcG! zB>5Y&;ET!<_=3K+@Wp*=;p@v%m}?8?i^NvT5_ht%?K|VuzNzD(Oz&wO4|V_Qz@;mM zXskbH$=MT+c(DIG;-_+>zTyzkwBEH9JWv`Bnx3vTVScaCT+)dHUjeAmfj}*MTOzVS zCr#jLKTaS9v@ZmKh_{X7dO3{O!HL#%MCHVS+@u7@U*M6I6R>Gv7SFJta|^^~+^ZV5 z!+8)DJZ@qV0-yEjz(TXJAC?l*iQuv@ab^UZh){1-Fczphx5-nYjY5p0M87g?`0ZkQ zf6Px_OTFL1Pw-`b_{rNdO6rN9yp`(bl0`54 zWr_QlzP9gwdbMvVdS&)4D|&VR>IDxKpUOi5nSv)n0>_-5GPN-RnB+go_S3NjRO(30oJIw$3%Cx9*kT z8gC#@L^i`GqB``w_^ah7y!f-+wWijMzV#mENZWSR?S_U(F|y^;Hs6nn?I7F~)Lh{42E}1ig@444N$!cbzS`N< z_Z$GbdUmcdH38Gr26F}SD6V0_tJ5GrtM;d8v&y(-L!Rcwh+Z^@abf*7B+}4`@;t3GfMLCZE>{f7OJ017QL{+1*}GXHYk#U zmcpb=3CC>T;hK*PzNRd3m;2hjzv($P>i59FKo~s0dlZ{55_9xyr3wOgqEC9k0Dv{X7sc*r+&$pP9LxN#FM*h`L7#2Fo|jaOf7w7mu`RB$ZUJAz79^h9iDCs z*M=d|JB)APAlrS_`Vt&vJ6st)P@RM`lbieD-lSo;GKcOI%J9rb3PHJ#Qa>`Q7%J9+ zV?R6y8LKgsF*S@Y^ZMb=>FQd;w3fDynV*bh=ws%S(!S?z;wc$&S^Bd+fOfv-@M2Pu zCFj&ZO~y5cS3+jm5W0tJ4%0Oydu`f?`T{Yc*4zBiW*_9b&a{D48rl7ew4*J$e>Ljp z7aZ#04=wZVrkH9l2DEh7$GJXE&p|1P=vL=(d-tZh%;W;Llhc#&qVFnJadEt>yW)-% zKAy{y`C0OMf~OXU58V3~nlpotR~Dr3_`-r^$WhvDd|^SR9)-V1?2gI$q9?}lB$RK` z#clV@czzEU4_xK|w^kCj0N$e(*t6AYYFi2n^Kix({v$t#H@5^&ziyX2!UeCl!yB8c za|>-awjcI_OgG>vLWuTNns8D*-iN$)-CBqaE>6wH8Hn96baP;|HwBJ%nTCV=Vblp{ z*{FkpS{KUO7-hEd4noQ;PBawMs}(rhp006RoR>E&!({<*qCTArGdHlW31{BR!6p#1 z4cU8e@c8t3xbRU0EfrhS=iV`T33@;U!DP17(e%&&>cFz+CeY}^ggOII-E&CGm@)|2 zF?!qaj>%uKp7oxBdX}`ln4G4V~ zsY@0PgXKauzsNSZafBUe*~xQE&DYA(o|LKJ0O^BeiTi^x8{1f}`D3g`{>X^bWh%49 zch)XPU!*bHu3zn`0%~OJe~C6ccEbd`&QM1MxaM&k-s)HgGEn9RIW}<0m)S6h&eVB) z%J5dBth;B7wXrPIX|m0VEWN8(a>JY>WI2E@vDGp0WglabIPz-X2nS zTZ@VJR<+UuwuvVjuH7}gmewZD!{a4uv*?vBT!LP)SFCxibMFwTW^2%^tI6^$^a@|v zx?%p~l=Ezhn8_%~g%Qd6#iVMQ>gSS$1F14_wuaTnkF!$wH;%aTsArd@Fey{Q_1npF zzKQ0SmnH5?`r5v)^lIN!9+la*tURjwS8KcbH;%QLStjFOtM~2&@0bjB9R|PgOy5~- zd&iNjOle7Nm%I9IV2Hb>fg(!(jelMOeS4KP)!ko`A+Y%|q?H4Q@)LV}Dhs1Y;BMl}t1eTniT%!m_LMJmlpB7`%Xkey0GE ztI;VTxM+U?k0^$1j1rHdI|!qg3xp|E!EiJRhItm}h4c`i9RZ1Pd19%igj0Gw{ws1}K1n%I+xq!Ir zk>KetoMiw9`~2aS=1SH^xD(|G*s!`_keUzbA+ z-uu7ouECzBWxfFAxpj<;X_;?AX2lTlT#CzJ=a-A#@*mE%lX<3H^(piGjBlQCCq`@b z@5G62AjQI79rH8j8u@SiJo>sS9V9C*vD3$p><#PbkA9k793N14FsitxABP!J6?5ME zndrQoGjE`asjsWHU^)qwLtR;GwQtgYg8{Or#NoXT?*k&EcE%Zi9S(v);ZEV8art&w{;n?83 ziNsH=tSd6g^042yX)Y_XX^bUCN6YhdWu3hmV%1F?f{JMd-YpcG5-RdntXaacnq{WU zW=T#`megZb-JHLnJQyNj9=VsmSy>V`V~9gH?hkP!h2W_k6*)Pgy8M!C?om84J~Ybs zFD@}$RT$&dDr?OL#cdr&!X4YQ*0U96uc1`ozHunzk3f;(O!PDhPcIB>^lwQ2-a`M@ z>EAi}cOL(hE%L`hOi)tn=nnV|AvRj@6aMcx4DaH(=odmVohiw5RV0!f464?%$Nf8d{LYM3wl${Kk8Rrp8R!`CrAS;2eF;ySmDHWu2W zvyHjxWV3o;v|gJWU04E3o!>MvzHzh#*9;6VRHkmJ%v4+O7tQL7Mx+4FFPUyksk=+} z(aLW&?USM0WmQo$bpV&a)l2>;X=z`GJ~wehBl*0tf*@2$als@?jFhk}c6Va^0p zY@!A5S=|~$NrLqkU#!I=2$G~FFgW@pY;#*(?@frXDu|GhGK9ZbW|w7TX2Z6BgfcR* z?S1Hqh*+Sk)}EgVj|R5AGs^5jQ`SzcRF>0 ztlDtUpq58#8K_iYl3b=HqOQl@FxB1Vt~wWjc?V=)7{R=aGBb2TR}={UXjM&G8q$pZ zf+^;;m4~jV!jV1yMt8OgGNIi*nOha!gS3`eVyoM~)rwbTZ#wOjpzzU2_!a8WJ z%Mc_*@CXD94Q+w^dK!X2n1jY2D3}<3d>)_h&*zIl20a@i2@NL%o}Z7OMcgA}BrzB! z=VJcz`dL^r1^)+!o&%#2bgzlaw_11{4xFk3;ey2}n0&BBD8-y<+P(6$I}+@?tunU&Tgew&5CPe$`t_ig&)C*eT{%O$kEuLCZ4)!noweQdq(lur z1jBc25Ey<73({x&9>+3_F<{`c8(BR!%bx97POxR>S$S*uZ%YnEh`k&JEFccVtVL ze*~FnGu4NaAl*)wrT()MNfz~~OR*}Cv+GL@(xcU*D?nUD4@Pr>eoMe|=gRgOWeqc8=lHj^R17Bpe3c6@RN9Y_qS#M0;GI8r-qg`Eo)w0$xIy;3Qk<>BR zrbeiEsu+zBAZ|UlK`d!s8m!GPEVgOTxM2hhLXe_?fvDdl9pjDyvX3&Sb}b}F);g!5 z5+lFQosgw}rvkb}n6%b8T(r(9P?B5MmU%t~MWpyw+~P7%qs31tEdCYGFY!XSib|SO z8ItxzXi4D;jIonRF3B|y(Uw~Xr$lzEr%*PEd8CF`QtH)#^XO87`_^o!`@vpvhuN1? z?U|_s8_D?=Hojs&#@;ZyzS`Zcdzojs!Yr;+FC&6s*IqR0PX?>_glQIun~V54l#v-p`aUEOe&J@w9xTW;zSZ!M$|1fbrApASXjV~ZD(%{` zJ3Zt|ooUt9^2}Ca8bdP=M03=nij;zgO$&AzA~RloVdp4u)d0-4EQd&HI&f5>SU9(qiS&dRS{vzQ-I%d z6NRDNL;-X4;0dSbbqTH4$MJHmCYR1sNbtj$!GG^i7B2bk9lTKnJ*0Brzn;3<;vtp0uClFI zoLR$M>LngxrBM#61skiQg%Aaqtieh%0#X_5H^tM3_oLgfvfq!v+oIU79Xg5pPD2wV z$*&HPiu+a}oxy#zS_tm@N#;#mxbFqXeFb|F+*iiqf%`)IEf|F3!0=vGJWv+j;6wr* zN>ZJU7G{Y4+Cx6fbn69~uECZ+5x2b1S&fy{BU|PTAlS0jN=2~cUqg9`Ek6&Rh%M7o zv1~cgQ+aHeh-5Trn}aZ~wG!qim)x9rG#_V$<^_bsf zcASf@^unKCXBO9)?+bs{bf`Rdn557rrBP_bEZn*C+s(=r$({cUviIQ5_j*X>z&fN< z*{s9Doj>LwniKOdHUO2worMkxA|feWCj3)Wlrm$ZoMm`h6cNdEM#M$F4W%WyNW$YN zI`SPzYS0m_E&^I#gO&3N#jR6xggSdrtykypGWYRqd1~AGkWILo4sotfPDBqn4}b%kApjh)~xM90G?Q@!zpoQhui}*=HNgv}A2uhh z35?uBBn$niPI40iTH~$GP6xGIt&R=Rx6sOlB0~c+?XkAr&Y!Xaz8Cl zt=dmPRs1{bZOh5i%nEfICHAuABt?JWwJ1VVo#fgb+o78*#$ZdtxbuWhRsFZ2bgyb+ z8_J$4(1=I)!sXi^;R}uFkw^H#BYeTmK6>K|Dhgq4WIMs|KXKaRel~uRD)Yzu74yQ2 z?q1ksN87ECJ%lAsg+*NYLhV)CR6XPr?KVC|`)eLjJrT;tT%vdiZs(_!aZ;+mgj9#) zfRGC&eqtJXg@E6k*_M zlfN;Yeb7U?9xY5rT&{(kXdHRGZCokCG_#Zgl9^9SdC!#iMGqx97~X&Q8Q!-&q;fDk zDOJ+&Rz-T2?slBJ+n;(!)uX`)NlP`jJx_w|LM;`soOmQ~w`qcSN-`=Hg(Oqost8+Z zOfh+z@4&Q89j!O*(MBIWk=@$PQ)_7&_&?uC7^;qW;8%})U0_(Y+@&VP%rh~}1D~rX(GSV>xKg&bG4i4jXKZnurkjlYf zNU4$zo z$IGGdcr`e|f3{JdrsLeym^^^xjCjCX3yxE(z^MgzZ!}y?z1V`2*5IaUIQAE=r4G#N zsiPoKbgQ%=ETxymdgjMGdS=>&f#hQB61y*b(!Ml;UM?@e&$lrg*lid>~eux3+F9 zH@0^PA+k1>BOdF=Drs;WAFCuPY|w*@%_hcTjQCiklpYcug_^M&tG-BO(Ag|5_fWfo zHCzJOgRvT2sLOhv8$6_P=t5E|*Df^eA(gwX=pe|Hbw((3%<{Nf>6i5x<$ND{NKYh~ z=q{ac+{p)kw5{;Dpo@-eRdI&{p4wmdYw(T1rM12#nAHy$L}hSkI3|2>G zMgp9058wy}m|G7P7NOv&;FjvrhM>}{29+tiZ?`%f(RX<|@?lUAUn%mU45Lh*Q`}jj z)T6Lfj0#e0{goNnT6jq+7|8biAk4Ii=0$m-QK^qL``=1EDDSAfdu0oA?WM&e-qa8E zT~(~5F*1;4R)!DCK-%QcE&PAjy#gk_+7*VDX*3jOqT;vH`O97{p!ZA(g`*PDSKa5JC>`v@+EHZ^*ih4jYgP3u*H&3%sfYKPI=o|6te zDR>>x?)xrd^qdra{E^1sEj-Pl3aotNSW&e~q}4CK_x7m>x!N zDk;vIzywMK26(mlGz{2fRDXQZzLd(uDEk=Q_;@h~GK#S=t2DM? zjPg-_HOjxDICJOHJ1OZ%(N(x=4jmcgS-!9z3VCLk{gv0pNkwON?dx27r)PQwF34~7 zL$Q05VvF`gye>{kU5!cwKgLye82rXF{j+{3Xw?WWG^-{CM{$Yrd^Tp=f)~_T^?Ho* zaFQXSJQ@?R9%kYY<@q?uOHrOr;1fl8=&9H!Po$^vqC6KFn>?MuJ!6R98Q~ry_uO%x zZ7y*ivlx#6&|t*D*fNHZl+10Bpp;FnEF_fjo{i7H!TLe2s6j8Wq5I9^I(PJOzCT5? z)-m`%4Gx36Bj|1F|7T`}i;NZh2(tHx6%G8deava&Sq?*9DOHzP5vZ4Y|5H7rN@IWd zC;SgX8G4Qtc{ak3M|IsB!I)_8a`(Yj52+ktG@iP;+(RmNU1b|=$`X|uJjCkFVhdWL zBAUU4Qe}iUQ=EGEAo@M4YmJW^a1U*^J#_A13JZ|EM`-i89#T1U8!44*X!GSBQn~Aj z;vmqZj98$=C5JV;+MQwFUj(ZxDy->1-YCBLR#1pNzL~<)RG{-7_|OP+YW+(LXzpV~ z!y(Yw`NY+WbCa+>1QwS>aW@L)39=Mu7j09>lLoaE@PnA&e4`z}Ii?V^t2CRHCCo&> zkAQ9oSC@Z}3_w_rLTa#59KM_%2KcScRB_qG{8BKVCI%Ft)}FxqAP~Q6LRb&urE@hn z4yg@sy=Db|fK;$vrrB&XH$(wC5p8aeSfyGd&eMV2<=u;($4dSgR9i3LP*TxtB9wHj626z?_n~ zb--**EBr;b^Gd$X`a$Uf=C7K?^>x6UqAe?{+wv?}VhA%$BbU<2=ew)zo1TT=W3(nd z@HyU(A&#tpRokkqjIm0Wb@e|rl~d&4`a#IvV{m=cGwjUA=93*rmy{}dta4P;1e}$f z;vriaURa0N#$|2CCvBql@wU`}VJ$Z)OAIuCb1)hr4iq-3nyy5f^HCNaf(fq*SiDdX9%w?z+Ob&?A2C5kHrv zf&cSPx=GCx5b2~&iBhiDIDjcy^6QYjN2u~A9#T1s1Ef@bp~^Kk**TF5UaV-SQfk08RQY(1x;u;-bG6HH z3FGI%xwAbaOha>P>*NYmCPnOdDVMFiqMn}~s=U}k8_w-z5Olv#Wr~{){|o(qEmZli zJ}K3G{m~5`ZSCMQuY>G8;!M*XQaME)bx!BZI{igIV!w1dcI?wCl z7NQJ|TN$)iwI5Aw8pFXZ>zqDsR=LRF!RH`*kKn;KJ*09VcT%eC;6cisj30Z5)!WFl zpgkF)!Un_g8|9_+lJK*r8LN%*?O+ZkLiQfxq9=Js^8nS!n%E zFwMVXF3MqKvFDfIP?}vtmgp>#g=V!y$E4tlWboAL(hZgRVl_H622MAb5B9)uqnA|L z6+CrDq=%zi=8dCJa267#BJq?InqgeRg}ejT!+|M!A(OBLLuF5UJ8;r+Zn8GBSZgoA z3?>{*13NsX7Mu9zY~}V!6Ar_nOrirtqss!2t)UnL>iid!uu^YUE7MDGZp~B!PnnUD zYR9Dpg9m17u*v ze3+XQ8xQ<)2D;dYKpFuvM(iJm`HS$QH?Wd=9I&^aLYz17P^}&ZS0sN}X(kQ(RT!{2mnO_VhVAhB2-3g#XR84+Uq_D}biC#`I#ny6x)5JS4nzu~Nsx@=rWJTt33V=G)((@}Lo&7-ESs`+7Cd4g(R#Di$imXr)ZmtuBw z@mTUR3DaAn%$@JZiGOCz_%5?HQKz+NelYwB6d8UM{z-Q)hVnj*>B+05C@*{`iVzKr zlM8W-sc;r2Gv2bw{hd$ceu%>UPyWh%-Jx+QtGS7XRa7Jx4(HWn0hD8gN^6lA4J0!rn05oLR1J zPVa+mj%7T?svS!*(of@erH;FTDe-est;OOEm^Kr zCq@F{W7KC%AGLDzQSF01j%8%usufEz(T{i*OheBpS3`FeuOXMQbxa5>SLAkQrA1$n zd)kBmjn=4S>!UH(U+x?Mt5Isx%i%u&ns>P*H%0V_zZ*Jw8RXYfm|tCzi-L(ua^H%U zgMX?^a`D-S!fO;?5V2Qa1`+IMMB&X#a_`#?rwze*MYw+lV!pT`Xqut`+5#VlEiWuI znz+Aba!EyxM*@iHQj~UJZyYh$H4RZ@xDBk@#E9^8uuDajMef&CZ(Xc4Db(BwE}Ct( z7q*U$9yoAde(xxt#(V|wJ2Luv_{P)uIAOM5+KSv7 z`K!%dZN%&O*BSM+vCFh@XyJ-EB`a7I|X)P;{4HP#1p>|2%aSQwiD2dA^;EAz@a} zF#Kuvc<$ez*cb_2xe$@i)Z0Ld%;A<3kUd-MEsmFtCE`|acSgHen_O&HAu#&{6{$)j z8WEYK#%Fmw5<%wt@!69tMMeSLWEkp5DHDr6sUMjI{g`Q*OK9;qy`1X&L$kO}y_|5Q zO=nT;E*W_qU2nR)jbmfuqhsers5u9yxvn)^*|_oC^~y83FMv7bS9J5vrF54IxYj`S z9t&U|=OLBD0vIWkYp{LLLn?=0yOfH2vaOFhUb*t6RyT$ zl}#Jvd=L7Yg1o`-K@2Va2>!7|!hZ&@I;*9hTMlt!6|rS;$F9{2(Sn#uL5_|Q;O;1= zqn5o~2FVP53cesn;Mr<6K#@&NYG>uD7 zMa)|gxb$P*5@B-F`RDcylaNWjVG@hXgh?%d*s+Hei$Ai?eJeI!Gy>$Ey9Ah=GmGmZ zOp;2JO9^{{Nyw=On0%h8g(zBJQMwCE-UZovz~n1Eq;h~sDU~ZszQIE(2bh#nIm09w z0P9JZldUHi@Ri}tGhi~M_k_>JVwFuB<;=p{GGUT>6v5>Cpd<@SVj=~T_d+rQCbc>U zm<+K}kyk1SCV3$OCN)W{D-|4I@)KAOg2_+f6Tu`s9dt0car2hmVG=UwH%wxYnJ}p( zh+z_cWS#pP%pgmL$@|UX`UsPx66I11nB0&(nuJx$G>+W7r3ZlgnOXlL0rE$Xy$3)J zOz2)Iml3#JdM%}L1;|r9q;ddADHQ>vL({X~gL%a6oGZ?NEI(*W=`rDhSgf*Rqnt0n z+cKe%dJ#e67HA<0G-4tJjpso!0~)nD2xz>I>9Qnf7awg&Ep$;hepVx-_VFfWBn=;|?)RZ|jQK%Il*F=N#sa)Z5&0gJq<}y;3u(Xtl;L^hcSbxI2Vpq>aHQ>w-HdFdg_+MD8 zvTLK9Pr}=xU^Bxb5pbRbZIuF?vHMZbxgHW4(5cl!KG;GL-)$y)g!uawkv$+03 zC#prcm|mf?ry%UKsfi+?b1!7?0i8_`sT`nFO63ZjcX>$VFw&G#`9LR{0P9bfm#se; zkmd)SDSarMz+#nM8|7RMZ%c+w>{kSxzYAsAp%aoR=zKjSG@w(fhk(v2uws#aDhWDy zAp$xzNs55Zd$1k^oo~Y@f=+rm2%!^ZoQoKB;>7jr(ADkbiZFxO3q_L`wE8t2I%!H> z9cYkT|0-}iN0@1r4xRsC7S~tkB(*3P(<5|3UOfb9|I^e&k-}ic5KLq)$y)g!l-kbSzKSClhmSIOpnkBdG!FD z*PEIs5<0Ji>^-1!(nBf-=#)~qLg#{qR1VN7rSgDIG6B|~FfUtwG9b+lI#c>kcnub- z?Aj>je0W z!VhDyR_uHmye$elE&hgZbM<5@ZVCsZFmnwgGB8t#n*^Sy`h!yQh=6HE4z zlb^1_Vc_EG;k^^dBSH?xbbKIj9EfIXJmZXy6I06Ij`jGY5WKWgGD@=yTT&0+R3~ki z#fAINga$bt9n`R<3-g=|taxV)oX*~;@2^fTlPjcNuxfo%Im@d2GPK z0FGhWaXXMs<{s~|<<=y~k!Es5kfV!GULr@^@QKI~JrzohVm+02z0r8$%#lG03xbpO z8w=HDdkM~^ILne|gy)r;GqwAJ{t4;GgSyeLCnV`tGD}6olFVXre8jNQqx&htYt*N_ zm)^+w4hNyo6>}#tGPAiU2h2rTt^F_6-(_sN+-=I*SwT}GKbo8tdQ`fF2riy{$+$(^ ztX(&z*vsnu6lI1j6hZL}gDoHbEI64FFXGrysn;u$^{T={_Y0_>?_O7z{aeq4?15Cc z_Jw5+sT}%(lq&lUsWp*unQ^?)L$uU$yN-fWq^28lmD>FBY_+o*{=(xnm%}s0fg|8c zI81$}+FtG)mu&2;>x}WxyUrRowObsrPbYdvm_9Q)4O-OSg-5vg0&c!WIah%Si=xS0 zae)Z)2cX21KvU8SDC+!okldioT9*{e=~`w9F4Xxc*W)cR&83BQW2RYIm|Y5{WJiW; zT`JlYGA+78rnOL=!eap879Dk)Kt!^IJ1ZhXX5}Acb>qlp1EVx6H~8l@n6YqdLW>__ zCH2TZd6NkKskNIG|K#@d80OQ@%z?`(zKr4${k#vKhj^ z|E`V{<%Lf|5hBW*91R?2)LaZ01%4WD85o}HQ@I}^+w!`rqkH8Zj(2rj;jUzt+ZHZ` z?A^$PL3!i5I-WwAt>j%DljUmbSNfo>=+X_fS1@_Yi;;jLrO~gfi{4(YKKA!PAMCOX zn@&;_kzUvvrkhumtDBehK{ttuHf-9lBqRMK-Z2fmrCbgDVIMT4UASS>PD&EejP^Uz z$_L8T%KQ4D72_%n!^fywIh4|bk5Rueef)d5`uKDo^kKP#BdHZjGSQDR?&^4;Tn&Av zcnuk`sa#XVmb*H-6StMQt78l3t;<~XEL(}n<(c#kCE$kZ=ZmbKX6=Nyvj5Ypxai}m(UFxP0cg9C7ZSba&O{H?^uAu&V0A`&o*d_U7( zEG=|6+=(wzQh@rma2>8XfG zY+?_1aZ9YH@|KiFR7O8xFad*ZoM>bEX%8u!D8em=O*K|00>#RR++b*>IB}u`#eo;h z^uNyxGMDN1LUF!r7T0fzgQ`(5U@RYWMz@~sKRdh%wjX)zT*`N$IEO&?9u()%9#T0_ z94VD6#R)v5a-cX;DnE*YM!2)ZfxS!Fwo%U4;ce*@2YVM$ zoQpvPSri8nDvI+;uAqC zJrxS6G31mRVt`XTiU~2`aUf|YK$HxpbXZBZh=G=f!zsRC9lwT6>gLgVfzzs4T%X~T zRHIx@&u|L4t&iD_D@5F3Y9s0f1w;&PgX}%v^hF+0Il!ru%2ijd^^nQ|PNh^{a7sqN zdKKno>s1EK`N3&QPYMrUvC6iMa`wX8vf-3^7s2Vfp|lJ*#e@n@{{oU4aH`cs!09Ab zF7i|*!6`39z^Nul5pen;tOvpAhw+Kvl%5VsIE9lvih)x+B4h>NlnyZI2B%sg4yX8n zb^I?gBh58H>IF_eZx+{QI3?96m(w$xLT)|4=?_e86bYx_gX}%v^w52}-^yhYF1zxi zRIYG(yoXc{a4Mzpf>SaA)~hhL*!6Q28ZhSvrzt%t{4N%&Y}+X3v+%ZTIHlf2a5@6* zl>w)iP{HXaBsJhvtBZise`h)^2~K$-0!}qaih$E!LPI7veKI}~oYK=l1*c;>cU&T; z!1IQCpNO**X;a{OR%Jr!;}gN?5mvA@|ZNtEU;TzJ>YO`j!EEe(;*opTZd|R@t{v&b9EiD0uDSsR&^I5XwsdSniS(#J(94 z8xX72M?ma#Si#6=l?1W85OR!NG%H%LO91%QFFynp)x!VWyc~*^b+BRjFR(&{weP_v z!diMdSg|(maCNIDE~pV7&LiHh|TvH%?|?Excm>;Gdb@mX5U_GmGm#)}nfp zFDe3Sds<2MRZ}BHV(ph8dk?IAz(Xnrtd&x^V(lR_x|7XitS(d1QYv4pHEyTD{9;Vt z;u;v}hqWpFDf}W9tL)n-=fm)}4_J$RjIj0z&}P|K3rQ8$o&kvstkvoxu=b-&uO(qE zFN7Mei)M3Stq!rHXwC$&WB5c6OHT(W#6p}uUwpVb#Nw2}ia;z)YIKKKEm;y`@fCyE zUD&u0HRNufgyHN?v$(!PEU8DipaLKk^6Md1{7h3LMMCTz$le2DLl3DOAXZA{3bD6& zNaZk`l~Q>^ESUl8TbQ4%ZyC_%2eB#rDZCMjRrYO^^JI8iKEzTVBZ&PCC@&LYF{y&s z*Fa(eVzv4RhK-!#6o^OKgV>b*6n+AWRrYO^^B#CxKEzTV zBZz&}Y!`^dqzYn>gTw~JYV{Ei`&Ue_B|$7NL_n-2Nf8ix2GmwSY=BP$vGjCMLF~q8 zrgGE7#=O(A(W&m%c|FRkOqhK_m!hrV;z#ictGKd&+T=^-5H7%Gj<_Lr2qlbXH=D(k zb!K@tT`G5E!0mad6SN!6&BxIM?WSR{vK|2UN>eLE0`BFIy$9ev!$T?uz?D+D0`9Db zR1SbEr6R!fHU!qgFh^StGoa89a#MO$co`O}Y}_bk4Bi$6xm~>$f$sC6#FTMu(m5&E zy&IAnu&dQc!0tw@WaPa{f?ZySfL%?JB4GD5SPvT6z80SdcIoNhh26X}w7FmxW)(^t z-DVmv&VAU%x6F9sgekBKFPT$#J2TwUVfW9>;#LB7QANrn6$86H&DQ?Csg)vO_x+H) z2kd^zLn;T@l~TFF?w35Ia)4bal|Sqn^R<{`3=O=88F1(ayD7aYycdgAHg1&jNAR{U zu!}v7VE5-xVmH`@#0qwQ0m%*6)#@Z*_bph-vSF7OB4AgOqzKqOt_JlW*gYPf2zKe| zpoLwS9LN_^&I7wR)38FYOY0E0lQatNaX;#QYu&2-QyvZ1MEtvykVCNf%P!V(bmHZIP`|$aCy9Xe-0lQkA1njQGN=DwRq|q)fM8K{l zNfEGnH`aq-_XYSwuuD$|E$qUCL2~PW6Q|>h%7k0vbVaRLYhZc6 zOeA1df59BUW3fpiBjpaDgpuuI%;NfWeub_Y<$4Tw9ZsFY9lKx@_FYf6YBS^G>(u7j zoLMWY(O9|2JC!tY<%I|c)g&nb zLJwd)2tseeCxTFVI;bFY^zy5=@1R>7@~(|q2QD-9$OoG=$<#-Yc=`s& z-UCnn+(Rk{Je5+p;_3T6q;kMhDHY+VpB1o^ov^%iE(Q+>pQTb za+K>S09bn(s6O7*N0GpKDrD~gtY>>j12C!*c)9)(*th7d;E3j&*62OXY7_dHvSt{@U zB>?N4W^w%nR#J{~J-q`fWVb%%I<8=`Z0e&(V0}4c?*XiD^pMH{Sfy01x_X<3R1Ux@ zrSbz-vI5qzFuNE6c*imT&ktBrI#c*EELK^!QO<4fwsc^n4o1NGaVRbeSTUsn)=xlM z16Z}%2w=S(t5-I#@5U_p;p9om#>EHxbm=-SxSaE`VC4iMy0dxgc zEmZy9Fq`d!WkTm#vA0PEvC zq;ddODU~a*4thxC0IX6fKVT&*U>ysyiy?rwtO0m_z?#yT!qr%;vTmcC??Lw~9ayP@ z5wKng!ejv}rc}Us8KgCURjZ8v)(4pX0MkBfgk3m2J0#$^_Xnlk=@+>DJ)z3D&d% za8uqh?{F)&dPESpcPIgN=gi_d2l_Juo1!S?o(%Banm!ME-ssq7wWeu!uFDU&(uwkW81qRdk+YHrH51w5GCs z5-9UR1So5g6amVgz%dTve~2ym?Czp!_paH${T-k05&wP#&1m9bGO1ak(r{O63a5r+P@` z0LoG-A5dntz`7b{8bb!xqyd(Gpq$dZ!UwTfD=2>n-j)o?tjiH7Z-LgcgR-7pf%19q zg#pT1%>*dl$243LDDy%DC~J}w0m_%5brUFGj!y*2^mGt{GE5{C3d(wZ{Rd@MdKXYm zORIx2d(S*Y1zSBLm)uj7FjBtREUvGh%oGv1svbcZGA#m>+oo=c1my+D-UF1M>milH zNLfnd3d%3{kjep+rBoiE%x!^nHO$o3)d~XTl)N1j=uPLam_8 z(koED2fi>sS*w`<*B0%{(v~B|B^YMv5nVt?R zP~HR+hH%ilBP6fSm{HbqD-)2-{m2d!`N6# zMKJ7d39OT0mbOk-5D2GqtZ)L0RaS14b2+>%3WU4+E`s3Sg(6cR*ziyafL{;k4FJ|^ zB>?yetY+lGN&;YBhyY+sk|F^39;^oe@Z0c-0GOT*J^97x4r|gUUoJB zr=-*XSbxiW!$+9)mJY!GU>4U;0M^wIxu)I#n9UMKP2>tH|7q%_NC5sUWbXmM|Lq}_ z0{}~@Ty^y$52+jgSW4v%z|0a@C&Mgbh~S;f07k$0;*^dReg=!R0`U9cZK(jvIvWA- z$qhRI>!}q0p91L(0M=?H0Qdt;yCnfIFGK*aCP@(hydG*R0C*6e2!QG7paWoij-ht| z)^qDO0JE|q@BWP;wrn3bC9EXZX2;DDFnh~5zaFGT|IwUE6B08e^IG z4Uuc=34kHXA^`ZGOuZBdz#oR}JplOMJ*08~U@4U=0Ds*>DhB|TQaJ-Kw*=P7Fv}Ps zcqc0efKxhF_#rIT3czoJw`Bq_?`#CXM=n?an59+#yc*IQ0IbzY0PvqP?Un?0af37?F`Dr+{%8HBe*p>2jABA9(Pl$A2hjh&9d*SjF0fv;LU z1iqew6^p!52EGo4?>&r%20uKp7lMQ1!E|+@S)Ho1YmNE6TLb!OveK$f2bKCvqgiXu z&b5L{vl`4d+Ci&2wFr;<8qHv_RSjzM!E|k=)~?jar&rqWvNaN1KU-a*Pipg1^~Gt( z3O*R9S7$0yOTkoQZUG9LtkrAnrJylihotk_$vC3Y~pu;zd`)jR z3~b;=_|OnZ_-UcVH-Q#glNMSdZJXP1_!ZD|_*M8vw$Z=f-*;m}#cgzWdK-CIz@a0M z@vmd<+yjadH8)uV`TuLQDT==R4L%Y1r>8>6f2=2DzW;j;Guw#yI-I}MSzVn6&RuOS z-@H5+{s9o?&ak?-Bj*Uc8vbUs@SulO4g&!xmFqy@h+DyU zELdx?P?yaZQYvC5j?K@MhxypVbO8hdc;1=SdBU$^vC5u}a{dY47Bv#c@Ovq@su)D5xMyIri{{Twk?=AXDgk<=PPqnpyvkt5BHx527**xD*X2%W=>Tdgf~xJ z1qVGN$}MV#)1ga&ca>LIW+#EM0XxlhFDgRD^Q3X3OBAI~VQbmBx+%_dG+ z+AvJbg*er);=*V}WB(n~M32OYTaF-3nt2sLoW76p5^;I}pNKfoQ?bM;(o=cFX=LXP zHMN*;<=0vZztS?wO`b+`g`Z*x#pQc$bI``!*m`z00ySVJ5)?{*!QB5bP2F8_&td7y zy@a6Fn8kG#`V)fERil8%pi!IB=c3I^hO1N4y|bw^Ol=g&rcQ(GJ=oN+hg1%1N=oI* zrY`i5%7INusfbN^83F56m|IK&c&~Cnpp1A_N>2(Ohs7$}Hp)2^-WElwGQAVgs$YiE zQfQU#h!nAU1|&6zl~xylwMSs(`c14VtWe&N#S^PqMrjsjoH_^K6_KKD9(u^or+A*5k&oPEXG8C33WptYcHt37(aB$3WrD%%-_7vGnd=-&*m4zGS{0_V=igR`IS46vh00pMdu7qDw%tz9~dkbSUo=)%%+=cs7zYdL+f%j`AbdTcpjUW52V%!{6iWnPhw2iB~k}H6`_uA!a6eEH%eMswqZwQzA;~$ zs?=+@(@IIPQY;vx+T&7T$v9z7^a+Z5rhk*lI;kR&M@v*G|2~o1(u*A2U#TxvhXPy{ z(Astpu63TN?XS*XJQSQwuUbRFTw{8%Ufp(eV;&OTx>%`WV)1cL=>6U zi+l!_C2e@l@}000^Hx~5+F7IefND!QaUT85TC;9esv8R)48MXap}q?Lq{0s5j!TOwA~+kL9)zrwP6RezdjxygPyi&ewiY>psr6xqz` z?AO9Oh)RK9?A>^XVT^}FnZ1BA3zM2S!SK~qtz;x6 z4W+zi+WMn%we_YxXlu2EF{_S@1f-ehSEi5mm#dGz>4QFw*3jIllhj0{7xsqf=CkGM z=3o1un`0Tdv1-SXjP#Ru$29c4ay9g=K4|Eui0@golahoqqy5gbvZih4Yc`7I;E@l9 z?92AZt0ncd>cmJOe2n^x=_4ptACK>YK8|H00IOCk$wWWmSuhQqU#^DEEnY(|qwtsz zgkJ?J@IuKke&WDUzXsoFl-p|$)ltprJ{Zu=RNKp)(UKAB_h9%bg=2Wo>#n zyaW7C=ScVirbL#*(}3$s(eIBKO$z6X*u0^mOCi6W;*n7ApJUM|SV$4aDq0Ty`TXT@ z74D?NXCtVn5q`nyF2@X_A!WuoIb*Z&o+qq2bM0q1g*t|g+{YYn}`Q?!_GCxe_Zn zXAX8v!_GL`0Sa52Ve|2>xrKUl4t}G+MQ~m9*2P+rerOF`G}~@3Y#kjvaNxkmflVWg z=FI5z*G0FcPr7+C4WO>W7|Hk`Ou+gBCCO5^8xtesO<`;r5!}!IE;lHrA{jl2fd9a;5Ep*-49QDhf zmgsCX-r1U3XM^0tu6XjFi_O|{_*|?+_-ZIIq&@PqGhVnOSwCw0^L%?9L)0uYH~ey1 zz4@m8Xq) zJ?)5*duq6t*VQ{*JeXSu>ki`+Oo3%u5%EiT&y4bItkrl;EIz51H3)xd7T0-JIcpH| z>oy8IzAF)n8&6q|0PwtVY;1h=x}7_QVek6z)cCpc!}!bCrt!@^Y^3=+Q!^23vowUu z#@c%!dyka}|Lh@^!%74xmFtAT7d@nMm@tr1k?Z#`0oK1Tub9>H{^jEI;{l7rt9T=F zN}mefhs7$pHp+Q3yj9RT7(R&f{YUVRC6NC!c-2`g{pND`93b0*?IZ8+IQTFc9sDnp z-LZx0J1Oo;Elv12d}xd!w0a5@`eUqko>7FuQ5Uk*c*>R+LXFx*<7~<{&n)(%7NH(A zi+vnE(JVGS6)|l~@P((RL>{Iju)e}Tr->VPU4Qw+j%%*EYUkD0?{B3v{dg}YWW2*vN0Cr|4`lBF<$voTl>?MZsa&D_6CP4I zK)IBPpgeE8GswmaVwm7P$$(Nn$WG}!;ajm-Wx+-{uYtEkLAHapB9Q(zlx+v;6vw4t z`8)8T0n1uF1uXw2R=jLj=7k7Y)+8wcmVb`*AXxqdJ`pU_(?JEx#%O+=52Q*R%_qt# z6SDL2)}%=JNAs311)LkyHkq2aq*M3nU4*+N%Sf@8(fmnfaVtEUPiiM}lm^sWw(%#R zzNjJmIi{wH#QpV1E+rSge%<90zZUA_3n1Pb~idN$ixMt8-HXVIO2;5ClyJf*_oLN-3Kl@InMZ&?G5> zAneC_5J5PAPec&t>7XJASMA)h1e2QZKaqbm zxWk6@Fv0lf_!xx=s<%y1s9;?WLI2-3byXx|cs*qA!5H4|A(aDTkW#rahI>7va$pQn zDq;){P0xB7<`H8P?`Z|`gp}SD{w@}4C*ur=5iP!=?9aL=LrtY4(hxo!ZJ#zhpZR|mJxxIjS#QU;Cs-7I<$>y-PF7jTlCjwBMW(EsJIbMb(f+emR%g&wo%D7-&!3nz z>&D4?IiDv*k>OiV1O?*83Z>IBdKe!`WTs?niI{= zzOZv4K17+VZBfgHX>6R^%s$;yD@`kgqabUGEeF`CiSEqj1PzdY^Jn`LUdM-e)0|-b^`}L3>Uxro zX?x~*KG>?zm6PZBY{_w+kD2|&Q3LSpa-9otOHE|b!!7D%!*F2L@IutfhWCqJHoS3o zY@0`LTP1C;LPnVq9^TEn3$cj?M|Yj;u;iRA-?~WIv2W{P9pGV0I={-*7A`^e zU!Z@R3?CR{=T~-CZHt_?aBtf<^qt@#mBSRgl*)Aq{tOSP9H!u@OPyh z;2)LRe2d=3-@s|26*!Sp9Q-*FV20{5ASe6b*h29|v(ab|AU_3ofzwMNSM3`p82%5B z`J8LO*kuaN6@kGArj853F$~^+0*A*|oAW_sVWD1|qLW7BQ$NKbu7^#nSby5-;Q-PY zxwNNywH~rVj&)k@T}e486jnDql5#o7CF-E zFIe9?z$~6)RSBf9WfoV~1b$v!D#SFFWuCk~)@C83??q*`H;N_>3gk* zR1Tz1O65xW{?J1z2ht~{BGPATXVy>fgOWL2O5X^79g9^KYH+$acv}>w%k6uJ)crk_ z+=bNXE=RGte}K;nR;Sfbpzs1#I#2M~V0G_JXLX8}?ZXSzf&*}V8?Y(hZr4nPaMZe@ zW9q#1n0VFNt!jOrpms9tV51qp&jT{c4anZ21FENk{k2L^f%D(t%=zm4R5chBKRo@q zUBSL)Wro;al)M>0X6oZApZiUpTD$m_y-&p)vi&4n_lOT!EX*T9TL{}8tG z5mr)<42~P3U~rnXT9>ssFu1Rvyu{$XiciGg=&4u+7wM@y26sMQL@+h$6VDsU!{1c) zx!KzV&g?BJ!h^d#F^g}+8QYlKnq(5;1md4rfBHGI@?8C?mr&kM%;Gw?_dk>ut4JZD z!P!n)uM!o)*iN`zN1|MMc42JCLiQev?F^$<)R za|qsY29L^^smX}JrSyvM7%Wy! zhzQn5umk4t;kFP6!PS?B645;1achB)y4ZxF&ZD5Z9T})J)pQ7vch_&L zX1MRJ-+4GU1oKzBGyIh;HjpdE`9Ih}b%uN`E2&3@%)7r}$eNERf+2?}FEQj>@QD~Q zJr&E4BR%zc**jl4B~+rVuj;0fZX3*Qi`20cse_)1P)FZ3m_2&eJX|VVo8D1v;yr3G zn^9fvJWdS*QeMsuUEN-;2t1m-P+(8W-my;0gOV8!8EuZCmB^DipS2#6t-aYoZjLd9)%YpTwtkxcr8Y0Lb zY%eoqT|s*(;8OQ{%nEf2DEG2yEJc6eTTui>c$1sPbSoF**|dJoaPYl8Rr22w*1byQ zuPlzbX)C@16x~CYmBlHdM~!ccJYER-^)&KOD~ri*(V*h<)bj9;T3L**i~)mYAHr#O z@UzJKI1Cs%8?LL=a6vFF{hf+|BOoLZH*fA^S78d9bNG&#;(bg~?k8=oEf*zwF=nh& zvM;iddZc7r!GeEitzh-0Drgy*<8u0CQM1>CKSp_plKljqh?3D$p&TTP^i*EZ@>q%H zm(*seEx4igF$oGHf6vQ4=KIAyq+A}vcUYJ!OA%_0~h{3(Z`vOzu2cX{&b^z zZB~YEpw7C`jTF(Nb~ot80OVH)-Jr%Ky74R6QuwE$8~AL{4b3zJ-8dFMi+qj?-MCVx z8`Fdj2Ga-zrz(rIZHS_9YV{5VEFmJfI1eYMwBS1NYQz%dYu_ zMc^zaB{+-tIVWX_`f&Ibelso*e#H{*;cvnhq5jm%{>Cm|#f*-dw=;$Kt&GfUeZ_%7 zpsZHIP3?3Uv5S|RvUcYB#WsaS#gNp~z>M30)?AP_Hx{0bou)RsgbzJM)-e<}ij&jx|eEJF~8 zm*8i)2n62;>2z%%FGRqfCW+OHIKbbxupR_|-^M3`KYA(@{-PEwY1iQK68fUa(dEvm z3HXa&<%Gb_t^M+&v1sIckRjwp-JfBztqkfOd57KydPLnvWn^Y?|1N84P*!VyaYfz3 zOj%dVS_&AuuQRI?by$n)dqLh5?S*Sm1S|4tHZG9Y?C%VH$9*c~kG|b2v@+<6YU_f& zDWXSBZ=mo0LVksyFSRG3@6)iQ@K1%l_-vrBW*q{34`B`LGJIdJ58n|Y#OWhl<_dCu z#mw*qCMEZemVTA$iHt$_FF;AMw+MagW+nAF=;q25tV3%7s~2@(9djrzv5t9sBGy4q zg|dz?(o=bZ?$gAs=V3du{(1{6jR;xlH zI?&sI>~3aMxy-j0Sok%wxU%+uIUnNsjYO#9*HKnMx&$Cax@QjHH_R$U-qqp&dRdR1 zqQUUhD1ri3!=pb7-WKA~Ng?FX{}>CzKb1$vXTzgwVhIm+7k-v&JeAzCeF-cWf<4!8 zywg@#rZZKqv|3yDK1+4Hd`-PqZHpWf&3ROmCtoA;RwgCy65(2IB%KQjkSF{Q-=H48 z2PM!gFLMh$v&O&55Z-Ey<4~#2p$kjPoiz(f!=zoy1h8!558}??U&nvm4duB(5hp91 zqng!y(~UXUW4|2!J!IBd4L{(ncUTZ1BvvYc6^>Wh?Pd)Y3|B1;4m1Auqr8OUU&ANDae68g$73{1IM(b z%0ewVT!GesK+0D^E8Z;Ib+#!CwS79s9{C=jsGpq!zmeZOJp6lj{{kSHi}0;>SOkcr z#@)B`H=R@VY@gn_JJ^2hu7m)r>snK>Zu>)K6Wr%mx^0%}ErF<_+7Fl+hjF!!g$fsb z#M4pO2_FLoRsc=9kXFv)_Wau_u-+XeEX428DNf?&v}jF=R+704|K(dUp^b$+_h#I;hB;?TsMi%mFb3-(DoeICy?1Qf;j%G%t5IJ`uz zoswHy_g14gl~#eNkt$|Vf&YxcY-p`rsSi&s*6PzB5sq<=EcqqsZHGH0cW@@RA!*U@D}z(0D}O9 zRtIoj#lFQRsG zYEwhB-y@i-%r8YbwgM<`dJ!#9oL*C#6Wc=YAewzNF+BiVXy$73je27SHmE?M^A-4W zW+b>oN(EBGHj&0W?qAsttLG|{*buGY+Dk5l4J-Hs>W6eU-@qC|ayY`~Km{xdw&gS{ zQ@6l=mb%_(*aicYV5YVo&*+rxAa+sHAvewH6lQ^W!`&j4+RQ9iJfJ!3a-r(eTI^^y zw(1p7bhXmN-8Hn^N3`<3M!nuRfEsKcXbdP#x3 zoHz;c1*|f(qEf>x01+|`_HIcm-r?u|uk9&{WlGHa4V*nTZ{0z}uIFB-Qy&z%8 zH$;Y9D1zm-{a@B>zfcLR2e3kSxxm(424L%;427n2hRgGHhLh8=o42f!QC`>s?sH3f ztd&4;@t#qz;boL7?C|l*4%6sMZfiOtwx+avtTyr31DmFXHU2S-8(fExS0yc_gGqHX zk0}@=wVbCLrWlSIJ4;L;Kk&>lNg8ipC;NLsHo@a2b~v&*vt6{gXAj|jN^_!2-Wp#+-Lx3)`Ktxv8Nd{(e zEOUw1ke-0uM8v4mA``$I{~U(c8e7*QFMq+`blxwz?9Qu$P2(2?k`snlwl8hl%R^C}c1`Ha3C(x!?l&YZK%!IyOE+ z|2MH^494&D8h_tEHje+hFtRYc4+eij18c9XG~2=W*5D~}I2?%KFb!}7^`5N2K~lAO z?Zna6+Q_LS!VC|enhhG{^X`X8qeZ$WR9Z`;`%FvX?*5*F-F+Sb1Q<-DfkA-=ZQ{zG zpl>&abd%-xt*DU_!@&Ui?QnH|7&`1Qb^PJ|xHZ@bXU)JRG1Gx?*wHAdwRRw~!=$7B(}SrRsup>i z^2)S^l2F9Z44-HU#rw?t%dT<&aa}5Ig0pPHs40%%fxn{3zjoKTl0rkOP)^CLOQ~WQ5;B z$37H9`hC0I(evp!aP&zJ`GD}I(G(WWbJ4^WI9i-NfJvydDJ`6TXe~|-t3#{g{au)R z@80Rw)@Xie6#ftgv+mssQ#|cinq?S>zH7p1U$rI_26H%7oR|^vtgYj0&)Q%Rrcd_4 z#M1_GRMz6$T%}pN9g@QmuNFj*ajtC3$R;%vv9H#|DH?T(e`OLTU50S*hLcOJVDs4U z<}J}7u5y9N(+bxB_j-?gmfcX3Yf3tgvulq#-;>jo%!@uVqi7F%j@Of5oxqr=1Hagz zS%H30!{WJNr8F%YC1+{grNc=#mNrU$v}Kf>>}DU{HP0^13)Jc;q%qON`v{pL_MK{T zFAYvJlHE{k!nsVC5a%-C8~Ol7&3F$VWi)`l(xO_JCxj#E;EujF46Ex)BLQB=C#Tu4 zIFTs0XdTVf#0PV>aMl(lyQ{ZVa4I@JoKAKgSpCiG#SQR+3C zc3?sJTCB%n-BT6ICES@Ip{0uqhCQsr+D<*kl5_eT;gPiVYHB$=4g5S?iFFNR=DZTC zb1YNMa;PoJ%FvqZ1kw7dFdkH#EII);wsHzbkTG&qI~l_hGmIg!e5*OkVyo)ra2l(# z=w~V$E@gSdNPQ8q%}*2G#tRPcaZgz0KuXEy!l4&~0 z^#kj3I=0Aq2*!>VGyolq@P=H17rC27dgI9%f3r9-QaQnJ!RFXPcC_Ri{z+;6JE~+N zM00p;dVDMyh6yiOkBg8ka|o|POSLe1z3)FNffx*vvs$tsOqTA*puUAKq5A_|Lia=s zv*EA_T=PuiREHnfevsi=b1tikyioofiJeJJIJ&ckOnYLX0jsx`wq4zr2X+i1!=j|= ziDm=vUH*ov*(Su|wF$iWpwgBv&ORG3bpoAfwK-8~&a^ft0~<6>`ra6ykw|KBKOa#p zEoKJv!HkaRe7?ZPGcvQeWQX$wP*&^O-cEG;SmSQoe&Pm0M zNvYc$AH@MyS%nxPBww-y{fb$y$kZ)u(97PI6g7tTp$KYcM)HWn&e2*Y;`L&0Sf#%2 zQz`##kKHTvQ}9*Vv|Z=v*j|Nu1Erq9aMds`kB)6K%8S#lPNY9RDW6IzEXsV%)W7=K z&Ll285hSRjc1j6)M?wO@bPt2WST?IwdL9U_z?H(am%1iJzFp z)_KTwu2r_qiSoMmi53KG+P5w?+OVwrg+h_DZ`QTw0{Vt`JS3|8FQCIglO)aV(I&bn zRSbqnn>&^zR_TPnCEhXJUF4xV2Wvau&)Tl=kjlZ@q*Q*^w#P%Z9<5EtTduX8V&P57 zluVO*wE2ZfEbJ~V0W-c^Jyhvnd~<%r_iPWT9E?v&o_%PjmV zfS!cX@F%z(k{0%Nr+`JDeDU}Ru}iEqD!KotHnfNj%Km?V%zQVgMcevSg5cp+_<{xTX6{;9T0aw$R%e5?%&a@;uSQNV7_`l&V21wyqx0du!(nsLYz?NzxxP=l>Ku>FTNSXJc4G@SIq z={y>yTs zJ29p%9%olrIf8W*I%&uo`GUT?$m#gkgRV2 z0*PjMJZ7A5;n+^&T;#}I=U?d@f0A_YKgTYuM?HeUD40Y)UrUkL;En(X=^KLK;b7Ok zV5zYPfB+629-0ysqKwe%PgR;tv27T=vX;>Juh)v?gM9oi1Q#tP&=}DLduE~(af(2Qj zts5c@TuB;m$wGJY;&_sjlR)UGkPvwnC2zyjK@|>0ra6gtmRzRIGYOR%}Rw+~BTpGKT5C(R`|f&G;Lx+_s}VQ1?2!E{*0Rw;=k&ABwmS9XsQt0l zlw5${MFkg!sV@hS1*Uda_j&~eU4V!SoSAQ;6Ln5kI|LlEvfE-n|cUF>2h=e5s2nkIBWD;gNnS?+R2ojP2F=R0b5YgD_>8{Ll z(bGNjl4RH(sK`Vc*#=RRr?@;fWbp}ZZ0;K_4Z%U!C4b!1bXA=?_nhB7=iGBQyy^GV@PXhsR3RUbu%EaZ{ypGZGEtfVKs(TTiE1cA z!Wrl_aq-9WxB|V&cm^|UYGc$nw68bxpc2bXyUJfnGSwC&XYk~5Lw3`3GaD|JJ0UK1 z=Kx_zAL88YFAq48h~+x58sTF(XFGGpa)HgvHKg>0H?-C_@bwD(yj!RT&7be^EN($gcHHAX@`m;a?*PO9ah5%( z(vhN*C#5ZWpVT)5M&cTHc;nG`PqxM`-z)d6%eiO++hJ-}yBP6-zRl&AOt{NQyBo0O7Y@lp4~D4hAZ#8G zHgV!LAc6P&KFpHUNBK*NH#>o(+-65*9?Kf!Rc0Q`*#VXFk!mD!vx__n}dn17>%7UKkIvHDmH1-nH%UQiyrTeY*h5XX;+ z1WpW*Tcu@GWQIlJNL4Nlw@C1_Z+Jbme)oS`x=0<9&Uq=y znQJC-_RL^^1@;Uy7g1^zbBQD#g900{=d=uLUv1omH#4}?x8qNorfK|H$Y-nrK8&BT zMcBT*n#tz#8GIMcM5}8n&dL_6uwb)L$`xVf_+472RLu;+=L&nQg_|e_W4;ldCs3&s zj9ZR%nywR+8sqRKzIV=k;_S%nDpp&4McZxS=h}fCTI=XuJNMQ96^Jl3F0R!ZhxIdW z3#+8~yVN0KKXGvRtf)V0O1GaYmY9wIX=&#Zuy*WjA||XI8*Q(V5LWuxw^#?=wR+_{LFp|&i@PE_DZ0%QhPY9L#tz*|I+F@EC(*`%BqhndI`;WZAQF>fo57VD+CHejTST-me&a>k6t1Ue0!RcJMrYKcG#_CYvw!B`b-#kJB;fT~ zHF$kXfh!4k8CqiQ_MT8gQHvxEAnFkX)KJdcl%tsvXqMtcPMyzn|$$Yh!L5g~S<^I7vT1~dK^2elIv1SbKt*+5<)(mzRo zD+#C>T&Y3rOaB?1+FA;XmI7mVYoT=cPQ`{5rvH3cu`1ui+Yawn4l6tc$n8nk@>h`3Oyg;Aox`U zfl5H|i)s-3fdW?&5Hz?_gWxX|c#8-@#&1g@s7B0Z=OT}xKK(9C(3?AQ3SYYg?zUhH zAhxLp?gG?c+c9rpgUD<=l=cJ~b2YAhaSREM7{jI4jOe3b?7ne`;~pC>o@Z{@Z0{N5 zs12KPa4R?d01;>SJ%d&wlQbg=N9kx!hKg3JSJ-cra=B)%)G!alfSvzw_aE5E0Y=B+ zJaA33rc1Gg-WrmeVVDeZ^P9lrH;8fFSXztA?LKYHw74H`vAsLqZ3Baeaw7L75ao1G zi({u#Yh6}nyxW#=Z1B@J6e{f4wgd@ZgY~zoj(wCkw=KyMv^uxYz8_sFJb1E`(f}OwQowWS*&DR8$!f$a%;sawi_IA8 z)ZI%#!woMlZ>_lPnRzDzVURA3>I%yv@TMQC!!P_ifXS72w&ssqE7}Lv#9gV6Uuzv?Jr@L1+jOlW1-+@1H;_64bt=s0n7MB4E*KA44 zvIwkBb+;H^*Wzui8bfhaV;2clRqJ{lUYA%2dMQ>Tvew6wvEk)s{Kg6GhPZ?#tNU&# z!^l@m@?A~X z#wj7_Wg&_Uxmg?AaY9-N;$&MQ5qigoZKKDG8U>?FFgvtXfmNHmL$HN6{J(k2%1xER zF4(qm9o)Puwc7Rfnqsjq2)jV8s#kVt+>_Q8XZRw-0lgY-8rTHTW>S3IyQ`m7&2}xv!EP>>o<^XD@*RFVcgR!axDf%c`cc)u92H z30o=T(v@m9&559^BmB#Gc$t$I8aIjewOrayye!W0lwZd=>sPKaWK``h*I~y{5WOiT zoH}j_h}K#3XYn{bI9w096;?+SqTWzoGickZ{IlvYz@mtVVd7YY5*RpM_a@dca%#RU=bd0}!^r z44y(qXyeH^@cK1=<1{=yE`|>S!pV8nBe5EZXm~+O1a|Y7QKLuUzwKr+MP1cXICIUb z+;xvr{TVH(iAM!iB&qtwso~v|;M+i0kW4XlT^xf}!oSxR!798iE=kK;g(;kKc0q-| z$3aDps{(!dDpZ6>CLyT2IW9@dLS?#7AjX5n_bCoOBXL#ghD71BI=rRv4`dU<(I?{) zxh#&t4O~7L7rS3b5+VA-SPf~H;@P=JIr|3r^oCdGzWG}>?t7h6KFJwa1y}srSZ!`2 z5x!{(L4f~e6VH%3$J#rnMv65!llUunz(-mm{*-(>@ZXZ+IUpv#Mx5d+*I5UV1Zs4W z?2Rkz0i*-i*cp!{YuKa9wQ~vo7(ceBB@Q`JpsJ9gjD8f7c z4qGExRX}bt2CiG5P~~(TWLYDP7d$GRKr|%f*rA$8gdQ(wyvAO(nd&r03#^>~CTmS6 zrvB+nl5#2!NoGjA(`*(>#us+NgqERztg~|oDCY;9H#iYz<(re|o-l@d>>TuVYBxSJ z1@NYyGjY32|8eB7S;}1jUyGDhtx_FjNJPm)@4;$>?;aQmP{~8TBQAj%Jh|dU40SbIj90nY(UEwaPZmj zT+nF-;Z~Ucu(gfac1({FTzni8-i+>;!VHf7Cg4jl9>u`2JplA9)lY^*6sPn%tVVdJ zWC&lyDUBWWSB*?<1%Vkng?CD!PNq04E_M$F!jc{1@Dq;0pG?tYyvtkB`kqq|E{+7n z=-2aUhVHn;CadKzZFogo%r1{p$L<}t^;csxBDdi&+uajT;Rh}PI4>@7d4sJn#(kn4 z{=jjRid>|P9n|M%LIYvU4|tWBBh2)6i zXJ;EV@7rha?QA!H>&kX_7I|M8$gm4!jT1Zv9NZmF|B-~hk$N0);!M$gIE^U>(SOK8 zG}2JjOY+F|AF7(Lw^c(`O+;q&gS^H+r?Bx)UgPHY=la&B2{_I1U*v~UBjt#`C*3KI zoFlp#azxyIXTHgzEik*E)~9ba_eSP&Myu-8T6rL4(Mp}Sc`Z)#FB<1eayQ_R$ue$% zT&@h3E0~ml42^w40DZ+6v@y>ohfI?OV+`evyjIKR`eAZA(AG-3v?A<~obTel3#Xh{ z;IILDfh{Yby_YF1R4x_Ssp}R)d2_8Tz1D&GEiIo;ZG}aSgIcbzb0`G|Vpg)LGOUPz z(+Z4V3puQV2E6d!?xIuKQ(3Fx;I5F@fpSIb5M^k>G+?;IwdWkyF?HSJV7d_6sGr4G zNJZGWsV*RFwliUQCEoP=YWP8uF#Xy!0bf$6-}%-q?q^c{WJpBGO`VO^2=C(!;j84P zw#OwfgD01J4Hz&9m76NX#qLFM>bGUNDQ`tL&rMwum)K;r9HtH55*M>0aq8IJZ`9w7 z)rj1No9CwPic4JHU<;9(dLU+wT5MCk8yCCZ2EzM(ZpvHD&27qm$0asdn{tR4LGif& zuLroO=+ALg<&SY9z-@6F$6}a@=TTC)T1k7#CG@%Fdk^N;pq0w`g)%a5a` ziKcw!9GgLM!%^?SYDhak&qNh!-nRqco2Y93)&(*3Q2G2*ARk|c zRFPv>qejP$9jt%5!_F~L4G&;H^Q5=57Aju@W>^NrgJ*l6q77zGZ*mH!d$3M8&zQ&i z)-f@!d>G@)*b!>yW3mkkG@j! zDZJDI)#9?-jTvU{SM;2AV|0O6e><5uN5Z#hxN)t#CL?8e_rmui&Axw@_ZA@5ngt17 zatcW89_(e9OhYuu&Y5wMU6A@CrDf+yM|M%uvW*vDCN&)mV5VcOxp^z|c}On80=Ert z6rGv5g#0PZzlNXJ!iMkG&$a$+Ej0l1>&$IhdRgw11&x@%gk9bS>Ls=3K}V75?U zyTw2r7g-?c16sA3?X$Nt6n81H4@BT{pZ3oj3?7zmapC5Q-%m};XG$L4^o?3vw#Pp) z7A9r#SiqMeh1`!){bWc)Nqaty)d(Lk8p2med;Tsiff+o7)^50Y;xEU=?%xvC@2Iz{ z=-0DH5ZJbSdj!qj`tko>Tgq9)AW1}WjGvQ6R8+^f?O+(M1YeTD158q#8DsNO=j8R3 zsT>=M1P8@CLmYCf;(U0+TcQgx#v0G7YHXkoTwb+4I0$2er|qs*wdGs19Gn1K8`@gF zNGn+*pQm>~pP&rB5$3A1kD-6FMii^*)XEZ!8fFIuVfR!v_GoNuwzFI>Bz;YSQ7npkkv)cTpL z>1zVMDdPc!yw%xMQyCHwoM_|FBBlUgQ#;rW+N!98S2gsa;#G5TNzmY_#a^`*7rPfH zsc?N4RwI1WWXRIftKvQ1X6Nfwo4<8Vs|+yTxexrXtDoLDcE^rD^X<;V%nW>*XXIT0 za+7KIhUu`=a2_@ENW-mZiRpPBq9Vg`qNmA@IKBEzDf-9Qd|NvcnYoEaG8OQhCh;Ilp_SK6M(Rsd5NOm1F;&? z`t^)q0^62v4AcCr+0E@6??D4ex}%c`J9dC|bjKiL;WwUWy0!YYBMlF3IbX#r**UWI z`>8A6yEgySmA4r-9RFMmf2R3bd3@XoHX=F6uS#1fqai3e$!*_(Y=qZwgs^u?xm=_J zQ!aq)0p=Do+^O8~jYeMGouJTmf#<{BQ&QX9>+fOcbr6mKq8vQtD#-QXkJ$@%B$d_~V0bl}$g0sbnmd(TDXqd*GheW@TRBHvqZ-PP zh~lJltVVbzzP2bvfHyEG&)+Ijc^3;{@ZoPfs+Ded)Be}wJrQ1qm zSNI-4qvx5ZsZQE!#@Khp8pqzmOfon-bA=Fg2}|J3s)N}axFP5~7WR;#$4({eGFAj% zXRN@n4!|I%2xpY!!5@J0gd}?z2eXTXOYp1^@C-E0OiBJ!=h{-PSg*oiAQ;`zSE{K^ z^cm!EUV5v&;-`i#gmq-A8ammU215eaNu@q5_&o4A_Q$et#z?uOxbz2IHTp1%at53- z`rqB<3XJtv`pD&iM~8s}ntuhg@|LvS6EEY~I?9b5DH62Njn65yoM-cSh6D5aT5I@i z*Y+L)vyW@Tn=No{p%$ckI^bI}eo5$m-9t5$AtB+~TDBm?(1WX^-F))+cj6M8!BFU4 zc9&*EbCi8ysE%*XvXRwI1);;q^c^S@t=OI&^&HJ$%G_F8{~Ak)HxMkxI=WwisG~PUOIw)sfi|!jP2fpgh!QsdJ`STpTPpW6N z4Q%qcnv(+1soyZ0m+I{1Rpfh*vw|hUvvOJhD+=xUdSIRn++ZE8xe1^HE~p6-fNF$( z4WQ9Zx2-##vB3iv7;=O5cd>@20kfga7}AVWckJLI)g3#U#Hu@Xct)%6UZ{ALn!@&2 zE6?kEYXH*R^HJ2Mk-rhY;M`x%YkD+?!yN%U`Jg}2H1ao4qwt~ZIp>FlMkZ4=YMR?;~_EB9IThk4b32eJ1f9A+M9Er#vv$LAczOPD%| zH+^H}(EVb$sgsWed{f3@2pz2NQB7q?a9&34Wb?>VCk?&0vLTHy2dMrgE(sbug;xBy zP-(Bf$HneTaVorJX)kX@H&1&_dxwA9lmWTWPGq$#*SwF9i|yG!II)C8T+O@rjtHm6 zB|mQ*hS;Lz+?Y8EZ*D^Eh_F2_b}vj4fO-b25k4bkXxB3%hWC8Eyl+OV`CFxgLohC2 z3Suu(7<`|!SMdph6}Y$uQ#%xlcdMS=v@mUwIGRW(a52LoaU?tb>1g=Dk^i*TpLXiU z@^=~&HfyzdrBvnPU+Y&+gCBT@KP(j-T*~75eMs1qCBqJU56`Ss4Ix!_@ye9P!Wg6H z596%HR4TKtP$`#dY(|xq!a-Hi4Zrq zT7^Agg*!sI2B)?yhuL3SozthZRI!|+>00PnVeYZD(-F-kW;3#O!<1i`89aYJ`q26F zyCC03>$9`4G1h7M>T)aHms*=&F?+BG^TPVe#k^LTefnt&ocB+M!6dDyv8l;6L7adL zE3G?b=c}`Eo*=sI9XoLS8mzkBy?b|h_u_Q9(zjsI!i5VLEL^q#7Sraz(a!;D)< z#(ZLvJT6-5fYc;J5y($IWo)U^r-j3i%$Wh7<;mZ+i| z4JU+a{5%3?H@6o&OP97*Jl4ww3ucTeiSYux5vi zvCSK4%=djJ?WQ==-?gDOl4UjSKb5JQD*0C6O0QuQiPg2%hUp&%&b+f2cky=`=Q)@Y zK1}t{SoJ6jaSUC;(xgIP2J-=QMb(EX*EJABb)IP!I`v<>zBg5<9M=&SZ*#5bUU_@b zslNy;=zoI38;$zY6XE_dP#BPU7M~{|-6MXk@h=PDaEk@~;vZ}Q!4Z&am1H<6Za+vx7Q~WWofq0LHfdCjmCnHu9)c@v^ z?I}o0L0z`CMt5_#Y0Lh`b+CYB@-IhP}H9R5SpIxuR&%^|1yfibmsc6;5{#YA>$e`A5nuPI9hF_ zadc(?meLlzP2fmlJUm*+!(&0tXM~?7XSCU0TFuPEI9nz`5Z@h8-K^o+JM}*!k-tFU z;}QN2w;EFroR$+G(J_mn|IZaryo|5Uz8;Ey;?;b(YD{)iWuzgxv1>;3(GXoVW;vb{ zYL*A;5~U4Y;>PA>v$(j8nw92CpdMq^p)joE8FOiZ)MkhEI-_+#!R` z9uCvaz?8$HgK(U&=NtUmg5&!!grL)XWN0}baw)z~ah~Ok^35SiKzgD0xyD=D7?3&? z^?x%it&0k=On{#`l!!|&2J$V7O9zNp>~ZO}@rq<`0wNK^Nwbsc?(6tJ8740MaJ-_r zz4f9J0;_;zNz=I0!)Vj6d>9)Z;@4z$;jFXpaS}7a$u}xR`XX`Xlb^e2&b|I)@5Y`D(FX)lv7z!RqgjaSB#{ zk5?3|($y;}SY2%fT1M`$44WmvcGT9P2_b{lWzBo|5YlGVj@rvp-trwLLmPH9}J*=8O4Mo!K;Pylb$JH#z^{Av}Ap~i@ z453VGgWMX*lY-pK;K~)`HuZUCu-h#m5U-%up;Z?2jzYHD7W7`leLa--4jLr0GqilQ zSkUXJd*q<^oya%^y|>^M1-*3jiVAvHxdJoVQxuooW@r*z$e4F&=$O|VH}bvuM|&j+TKC zg!vJud~2iKnKyzsDcU_Au3XV>GlypeyItYM;T7vTRLWxAk8!Y1I>9?1MPfzTEsS;f zYOz??QTNEP?yHe;ignMxD~fgL>J=61o@9n(S_Ni;7Q;?`o!30LH3-HT&2IH-31&r* zLxq`?0TW*ja>cZeyQ=}Vb z$hqC!5X8@$iBsntd%sA*z z7my;Q`6|$PaK02yg{DF}g)nNS(IN4sX}%{c#R~Zv%~fpjEC+)loa~=Dk@UnXlI{dVl2l;2HeOM!X}zd~&?-t`>S5IMsVI_m z2d1-|yQgOHsYl)XWJ@JHGGJP;(eAV=&BW>c;PZ2&TkhG&&~*JdD&`++&A{> zu=V&^6t|~3sq(OY5x?{uwnUiY5v#jj_YBXeO1wHOt0S=&LV*l``-`2cwQ8qryd>srIV==G<~ z!RMBz=8~M|p5B!@4K|U;;T{tiI*D(2%6cR<_w>_Y#|pNUVJAEH%>Wk{oP0LGDCiHl zSQwo$DKdiaH%IK@0AhYw$#26q0@va{hznk6(*@+!*O+*kDtn=c(NI5a5&N{rYhzDR z9SAp)9DRnzT{3?a4}D$%?wg!89usS5Vc$m^o%+)#pl6`)HbH_we;6cC{XdZf)A9*B zeoXUhReTM7p5ZF`v`R(Q_x|uej;o^Xfr!nmHx#Cn#17%fY9F%+x+nWib`Uh5V(p*1 z!>QyYd6md?178I45I()IkXzs07`>e55B}!3nlJ)z^zjBhEkb`8z7c4jo`(mReKNR` zwVKluxRS7%23Kyaa_2buZi-3$T6&Zd_D>y1!qp^J@J(W)0$0buHv*f)blm)cgsv#7?FwAU%c|2Qt2rTpH(r{d z-r!o!MG7@L$yeTuL#y?{!E&XRsSac-wTtWJ8tg!3?DNw95vLA(`W@lICVLB`=b7bo zZ(($le@JUetW(HAPBdRKA7Ng_{+W~9TNETG(Whe-Kod1qu2?^we|T# zGLxq|`nsN*wYoDm_JNp?rZl(pbnfozej)Anf@jJyu-4(XZ#~vCxx#(j$_~1>V&(ev z<_0&^73A)4cI)f_W%+o>DC7UD#LvY%6E%c9txT6YckAqIcS@%%E)?r(*$^Mm%A_sM z2lCLiWrL4?1+F9j4I%Jyv`rRxox#aDAn=md zhS&J2y=tHT2phI{aN;}C*2(r&os_M?R^`3*n&v-T{d24bjod$pS2S`@SFISXra&o) z;p(Mko=QFYLu5oFsgSbsJ=QR zZ;67gS|N(WCSlr}o6**mn`jT#fH|16Jwn+nuo&L)wr2p_qA8e{Qsm|OVCPzE%UGIA z*_Co+SIuAOc*yk{oWzuepNykBvcD*T(Kx<9XMyT23(Ap;GJSWd2aBV6#+i zlsTCm^3)$g7OW`H-Q7FPtC{gbm)?(XVZ}2l)l{F6*}R(W8JSulhQpMbI7#y$*Z1uw z-IFRh>?h5K*fbgE4Nmxfl^4Fu+{-@!d9N6}$=u6{xA@yMKQkl|gBx7Q8pp#GxRNlA z23KyKI&%TKboW+)<(Rv-P3K-72RyfA?j;kbOmHa7Shwf0y}*#{p364X9YdJyPMpEU zrFgmg7Atv;)NchAyxupbUXi37(Y3Kfpl{KK#q zX$8eM2#_tX4oq9|T8F9bUc9MjFE4I)_|2!x1x}7ToO+*AP_IPW|1F7Hy6wNLz?DSX zH@K2*`v<;DKJ=Gp`vzC;wjU|To~6KYwAM@PMrxi%0naT7vY9|z+C0^W`OF7y-raB0 zeBfU}hoZ@RU=QA{1dt%4yMbN{213mFz{nn(4}1Z_8~-%t1LL(Ymf^@0v9XL#Apt8d z88DU+&wSw51vJW-PSsszXJ0%gf4K6|+-%@(GuP~&V@%uRJ#*)QH4Z-)_!zIGp7Yz* zc&|Gh=u9$k{afb^&M{sRpd_ErA<7JpUE=2&m&KYfZYoPFx7ylSz}Jd3wJe8^U}dI& z>;>}BqGf&idla~m@a+ay!Ld2HP7Z`0Q{XCQ_l+jkISbffaqU^ath$092pIbm(p&am zibvDXhfy#lK!xvI40l`LZ^*N-nUu{f4~@Kk6NTeFuF!B=8guCVTkyQ#t{in^?y8EF z4dbq&%%bE!!p52%ocIonNz9^r0_#CT??1sS8hWRzR*W~3i%DV@<#I<_Roa)PL-LJ9&JM(gM#sOsK0^M)LMrc!upU$T?Kskc~ov} z%5yU>hC!75YPjR;!^pKFqi7!q!li8E2@oL>UnrYE|socQ7-jV=dgve zPxV@@D!4Vuf3hK#IGrk6aTEA;-##ioLc{e^`CD8Up@e$3g2PbOKT1DU7eAN8devZw zns!TYtaGlYHk~JDX3FK)vtA|2qLn?_%YnRt$H#qL^kjz!Oux}=g!Net#IZZ*XT;C7rQ_=qr)jeU|Lh#w zl=r`X6RX-v|NCbkui$?t-Rd-2q4cdw_+NvoVE-#-lBX+h70u^19S9EPR9STeXQ$Tj z^=KRVpAbYQK!xx89PYN(sfMsV}l?Q~?+P05p_fZ&1JwH#2cK#-y8xquDa9^DR+aV2OgR zS|N(WmT{dx`LwKFXZ}Dxoj!btEK8yEuX5DQ@hYx45bF@#adyosHFxA zT28B`$~#keIFlvK<28v7a*g1NoN#!9?Pp`XLT*D1_k#e5Nc)T*Q~HBky+G;l9In&N zwCi&UrUj4zS`ZDJR$4he59^&~v^>KDzB;^`!XK@(?Wu92Mse2C_+}?Uu`4ydE2Zs$ z9sgm6b91eEW{{Suuh>v7Y1Z9bxwNy;w}L2H&0!V&Sg&O9gr3fdc5%H>(K36MEL^r? zYo!h^7t1-iw__ZuCw19P(|vzQ&!T|4i!)8`d(l2;{mNDN=|xLU7D?mpi%!aH z2JY6MeO8b70N(L?*}S*NqekqV0K%3?;QQid4RLw$Y<$*J6lP^TZ(5&Robe=V-S@l; zH6rN} zmBEN)2YL&A^>V$Mxkwwz6iPeGE6&Oms~QMm{(LyeD?^qOdSsbwrLXGf^tfl(9$=VQ zZrsxRk@Jhc<*>W525q?W$$sJS~9L zcK5pq+hKb;151vccgbD_+iHuzepi7J$bMH5>?+L8m$+xhI5czSZQ(E-{x0qM#(v^_ z$lpbyZuOdde2C26Ab$b!{!7rjI%z`w%HE#gk3>v3o_q9sO9sNpB=#*506fao{;>Br zyWOEYs4j6b$y6X8ckPc3>J6EK5tq15_j%2HgQcc?pW>w0r65I#rLUbNMP1Nslij?R zD{v*DTZ1e2`7YzI6Uqyb{lrP^90lGYp6SB)6%t_q!!Ob;aohC}dKtLd-~G;~_s3M4 zJIP`6zkHJ<`(rAfWDM&E@9%!IJsK%35U%@e+G5cKPT@?I`J6E(!{6hKcUHl8OSrr3 zYVNMAz?Fo%Gq`fOyKQeWleJch-k)NvS4^`9jTSmM0U0whjq26uHt+dl6Twmj5Vrc5 zl-9D8W0>RpDONE(0=f$Bwvz?kpJJswa?$>htM*EZvJAV&o!C;WobBFkllI4*rUACh z;QqMNYkZJQTCj&=j|BP}3vT;!d5&QpKGAf!LUb0f!_OkNSUdcULp_GJOk>|kMd&a4CL40znX@s7-L8DehaZg^VT1QtA=ZC zV8a{-Hs-1~4)>fXGjBwgapq76n|$`Dx6)~YZGZ3oReOI2%? zdJf*vsvQ+=5dPCjwL+=Sriveh5A`xeEEc*_VQ{vM!dP#tiUP3^8^2M1veb+%Hj1OLnM-tryzI#`VKw)N+_ zu(jjVR8`Ybg<3V0FX!q5z%I=uO6>%G24I#zDzDYDg(A=faxf2o9;w0$9VoPNrB=1( z+I2G9v!*42=B?}#0rtwh`*`Chen6OBLYB%qbjg<$O6y#?&Z|J_zpY&ePs1y1}`3{A;Bzf&1k-?+qY;cFMpW9sQU3BWy_(e+^f4$g z7G{XJT-6F|%qb`cMM7*4FtX;Jh%DCQakLH=6riO|Pje;~CZ02pb?Qg^-Z_@P)9Bcg ztzM^<(RExkx_^1d-mR+DXpks z^w5Pf^x*>#jSQN)!}cg4hNiY`Um1sZQS1;!V4K@ut=t0$Eto zFL24hdxJtw2;Pry66g!y#V7a)YGmhI63CMTWJoyU8Wvhj#;Nao6hmQ-eigJPdb|d4 ztX3OobYi2zxR@;)a4a5hArx#6usEz&kx>eRYIx;XC}Zz`X(-Vx__3+WQoISHUpTQ| z6_;2Io_rUMyO|9)CFI7q*u5?i3iQk1buT~ejRJiHt0AplHaW``4h6PRdSiU*sVi?v zNwjQw>%3TOxdazC%;tPqW9Iz%t|nr80(Z*nNZ%)U2JUMuoUR9!ndfe%pZypSUB~6zz zk0uvsG+et?dc~V=afJ>$otho(3QGbN>l>Cde`{Xo_RBlYK+0~%d7QW7Ksnvqh&}^MwzDUspAE!X<3s>xC%x}-3y;13=U&D$WEA9=@@XC=mot;hC1g3I5v;*Wv-QZ+~>qS zDBre%5(u_~D^eq3S$?m+7T)*uabyY)_ZAdy!2-#+Em)M~{4nzCv|kd*`L_ks)d!GH z116iCe=CXJhp?yi0!FAtfSAL6C7zsr6|-Kvo=xjDIvpMjk&H({TBJT9yaE^ZSiOKX zswQk9CdsHTg2{8aO`(j6%&g|q;xS*L%5{*IY^@@5>8GT&pSlKsSq;_23k;#y#WVc|(2 z99ztNOpg%=nK|Ccpne!kNE>wy9Z&z1xMb29{d&H=<2_#|;+k(@?jt^7g7oh*WOg+b|NNhs?uSb zSzpn3JwuXl-rxlD#drntKmvl9f`XyBUFd>*W#jW0iN|%1lhBXjmC$1eNa$b#I<_13 zl~TZ?Bq@*koV1>gS6aVoy|iR{6LzchS$WgkjJ9Xxjeau-j?YIL{j*;00xvC9hVM$Dm zEn~@*cfl^T`BXoYj^PGsNw4BR%lG5wpcJg?xT0293dWv$%?251~NWQP-;zvZ*REG z+64m1%P3B8<|55lKlE1G8xtPQ~RbqFx$`hgVwV6_COir>6@`QuFOq!9lRS96PJ z5AYR&Pxd@`j59TsnSnjQd(6h_m}cR8m`)|*y562C0*{(EPKTv(Y>qnGL;3HJ{x*QB zJ`VQU+Xmmo-)YPdQVbsaTSEatUrUgsW%NP?Ep-lKy!w5untEUBV)1j0D`V}Mhmx+< zm31d(4!fd=j!>&rG%cN3!xloA5|%&PY*?(m6=(QJTjo&jw*Yy--a{^gjdo2>hrcw ztSnZ=s5PY3qP62+K>>N>gc=?lD)ZR0ufjV*hdMdbP=2lqbZJGo&s@QVsT$^}=t92-o?U_I|{**qdG5_;-}TxQ(7NlniNAf<`w$Z6{b1@% z&Z=p48ja@}ERKDm#O?R2n_hgGH$5wD-t_!t&?buJJ+Chs_dGvn-1Gb%?u!?=<0IQR zFJR|J+;A)Kpcu9zSF?}MhG$JagGz4pNYgzLoe!vNu5dWrhv$Ng2-#*ideh1&Apq|D`?>nmz`ogoAqO(3_*K{RiBG2m>nMBh|9pG4P53o z@JTN2K3S#G>Zy|Em39qFZ_{A^<3x^;+aFK_#0*|rB%5J@=Z^B`O;7)B-XsrT#jopW z!d%)68oWMf-rFBgcpoT8k&8245LF6~I3L&_P?%=}+400^$OSpl+>L_;`(r=r-s$o{ z=dW=8I?Fjg9#W{X=et~}z?H;ap$1p34euM{@SIRya_lEgV*Lud zMcnR{@hg)X5rQgvQqXFq5;xRd#UGDqia|VDVWRn<`3S?9{WB-6s}!Uqv4862tTM9r zx=w*B349q`x$!lg4xZ)3X8gv<>^24NA|i}&952ESWqSo=aMvO8z+F=qBFqjJo;IIl zc=Nc=3GqG!AxZ%6Q)z%#gV18?+VUUu*|C#y#lxQYlk#%Zj8+jcyxLcp{o zo6*NsMFgJbygv{Zqc$^Q_DpD6H@(7Q^XC3QyqverI&PMe3qJaVqU_dZ_Dt*GVTFbE zV?JwGVevj^S$?BnStP9Rf2&#HmlU{?u)+pcE-Sq4P%uXUhsp0ZKKqT&*=O~LLV!l! z+$uEB_BS27Xw$F)XHfPxlAc8(0<5t;&$N~4XZL&Ppi|S(b-scd3FlQO-0nXh_?!A}ATh zEd`|-F`uQ1&4uT*fq7d#R!a@7B}{K}chOUJK@Zn@bguJ+@TweF!T2 z(_E^E*TRJDx%j+uLh(5KAnQ?ZOah2h99tytbIwMg+p0gcMNT~}jnNMj8ymPIF{&^r~FV_fro)y897A_KGY2jisnHlJ{ zmoV-l6Svq>2Lv3%vb0vFOA6JTGYG=1U_F{oWw+N3Jc1x|Huc-_2WL}{WAP&Y5!Xb+ zcor|7Ee!K{E?)GuM=5I&11w`a)ojE~=kTS4Z+gyI_mD>8oMsCey&3iRB57A{X=8W5 z)P1innEM?HiyX!JbLOzw(CVK!Eb=h%wSej~_g)Y`*LYj3vp^-~Y)zYVFL&%HlxlFA zO>enuZ6+eW$Z^sKoGm|;v}G1KjtBAziyWsba3wK~*x)L7k>gkpFYlX=SKunz`bOd* zXgwqPPUm_?M`ULog`}v2WeU}mSHcSm`AKP`FS8;m@}KZG=M>LY;Ob@gM%HtBxDiJ@ z4-YWctthMW6u6R?RWM-3ktN`Sl~Z6V8e$m}ErP5}kR!}VvzOp{n0S30O2*f;+EZFO zrI$clr66+&C|nNY!J-PyW`(QStl*o?bqZWbG#i5}*~RR)DR3n(D`rPrvyzZwJLKgZ zUsAXezVll!=PgJ9P-mYuENaL`b+icl3m}_D;984@M-*o+2frWQ7P1SD_QnkDAGo*+ z5FK_o__i6NM~ymj2r>ecCg^e>oLQxlGlx=(;nZ+*DqyM;&m4kbpT0sVTVy9`T6eqX zK%#Zp(Av_@G8~qaUb1jmDu>4v!Ks_snl=xP5H|>Q(ec|z3%dibVUoR5nf3mZnQ^xx@!Olo8)_(%|rN#O`!7Ey@xvz9o1ZHa@fS|JW`vA$b>o%%tSgN2?>xrpxUV4)il2X#F5mrg>1Jr}raknvy& z9!&8MX7w9j+87*Oa1;HZ5@R0i7Pc(r%1x$7w-f}D`v37~+)Gy)hG&)xG zXG?urs#xyh;}qu&t}Xrr1#6|Gc>k=>7KeZ#R;?FB!j5W9gKE{_*~Y|Nd0?aL$`$M2`wB&RKtJMx5Hd6-4rKS_wLv(-eckxRgj{y827UzI9@kea_re}H z2lN;6a9%T9O)&^qKTKq31ZTq+L1vmKS}Zkrdw?o5UcvIb>?VLIb} zBHZ$|WsQRjS#|HOWC!6mz>&Z%*#Y<&+KwksVIGE}F|LsB=>h6q(r$Dxc@h${3b>!9 ze+Ambu&)L2bO?qLziyO1f&Qx-@*Nlp6`u${ZO|uC*@HhE z2$u#7529ZY&>QrrbbT^qSbsI#?_a4O3xDXdv6zF!aabI0{dNLg&BdY{&xh*`{nIz-C&C3-i^cG>ei9a4ct`K1GEL1OL**hW7emRUcoO}+1phu6 zi`77ASU&|W*NxVf!hh?h&eczaA2;aB@EgmqScXq7$KrIla~l4*0*h1e#fkl!_UfnM z?G;#@12=~CHF*0hEKY|X_v&ZBkLgWW=CpO^i0FvpwKz8xPP<$7QLIsL( zRXC8os;{N@I`!Sh644_3m(?f3hGOuASHXYTy1veMI-85{vP( zpcsS2Tr7^mVl5VDVQ~=_{aAb&i+iv*{TL`t#o{_F8d%(e#hqCEHx|!e@!Av=8?ab6 z7m9PRxCZ}x3lWF^(6>#%G zeBujOJc-56u=pTW4(ZFIa7GK2TK`frf;`dk_J0FT!SZu~(BNlgJ@d+&6 zgT=eBI1-sW9E)f0&tG710RA}^izl)885S2{u@#HA0hsh_uy|}c6pvzY%ODhUd!hLD z9w@$n#S0&R;tyEVE{Eb`EZ&L5O;~&ri?3nvPb~fpMO|M%li5N9=w1TnFadLzKsii+ z940Uh6A*_9gu?{DVFKSU0dJTMH zkf}HWugFyN;uV>SPvF&PGzNdeD>52O@J})tZ^bJz8Xv_gG8+GdS7bE0(Mpif*lHP# zEAWbp#vZgBWHjiCjK(U^Ei)ST;uRT<$MK4c#!GlbM&qk!NXTe>4=o27jo;%H8I1zk zi;rM&yJbGUj8|knCZG)<^KlAZq507Ju{Z-8{dIUn2IF45B7^ZbUQNNf6R;rDu>r5h zbX(9|Oh*r1k?F|d6`773@QO^w7x9Wr$MbkarsG(&3uHQ8 zi&tbi-i%jdIzEe6WICS3D>5BNpfw=Vu@);MH$0gW@-MMMmT*v?S=K^dqtO2o`r^@fhaepTOc$I6zFl5{n;T@nbB; zz8Z>&SWGzsibJvZJQfdQ@wt^yJcPxM&V=G;Sgc#pkj3 z>}#QT0E?41Lvbn=tG7V$8Z5qp#SgF;*$Tz2Se$qs6brF<{(LC@jKvQxfa0fE{Cpb} zzr^CdUI)c9SbXn7C?3P&;nzd)H7u@s0~8}zkV$=HJ6t`7#fw<87U%4MVm%fQWARlimS&+?fyLce+=s>bUMRL;F)9becq~@sp;&=M7K=VC zp2gyKSnSZC(6IOs7C*yc(@rSP!{QrQdd20E>nFP%OdXqgZ?ri&O!M zo%#ZU}jF$P1giCEl* z#RsuCs|v+BEcVu*crz9s!Qu`qj;TX&92U1=@m?$r+6Bd7SX_fe1B-uRF>W^$S7Y%u zEXbjL3BBsCu=p(&14B?$vG^kvf5l?&B~V<4MaQL3OvU2uSX__AKd=~!&F=~<-i!q~ zXv#8lUk-oH#bP5CYq21weGy)f)4mq3$Z0=}SLn3$KVd<^(R;3dD@;b{_sz6AC>M{V z=-!wE<>~_C!`@vpqcheRU#P-%ts~%!ZU#d7y+D}yn~jX}uzV&{C>3g%Od586^`B#5 z9stC;o&2VP5Wqixb^Q_+x4a38+pxIfIw^Vxsf*nbzY|K7mQJ?&4P*wiYBk&En?!LRgwVOVK3JsGJmk#rs!&U@b0$-z?0~jBHJd{D+14aM zV&Y@c(OEx_FPg zE--|Ss0#|ueRc718C{%YJ1t zX`aRj=83urE*;s~=5aDQ+GY#b$5~hl0#h*A9L~hqSKbc_{NCQP=+&m#+UqUf0-tXr}A_E>qE?1w|i=y$qM4x8iR!SUUFq zwxa(Km!f|wuW0PuL{W4fc86Swz7>CySMeJ5OxG9Ul_JVJ!?&7~Ql3$_YSNGN8mxU^CU~ zI5KZGW6@soeI+(JcrcJ<+MOiRjJuo3f3}8mZzx6Y)?H7tcR^$J+oD#Ek4r1F<+Xwx z@_k1ui*3pJL^|%#6Sr&DS; zyx#@g*l&wkd3{`3*(R?Q%w#mxiZlA0CIlsc6AsqF3=vJg2s&?=#>m0f!gQdmsWB`S z@#=GiU;+em&Mz_(7qelpV`1k|q14x1%?=d1v(+ljK!nMFvr`3jNTW5;FK=ciSYLiO z2&vi|$!pZ4wOh&xRT2p+WpR3uZN31iOL?X2OiC$>(Rdk3K{iCC&8j5YpcH1lKpH1?_blR-az~O% zA@gOhAu8o#suH!8@^7jn5?4x3+G;5f0=dlB_mWdePq*1pkPT5OkElx2R?0V3Nwh&J zR!ixD#=^Ih7m`$p*;0@VQ7L~=m8h+h->Q;GTq$NhWl?vJ=;){YTS6f*SS{x04K_rj z90IIF42cg?CD8_@F!RNvaSGp3mL{nbGG7K8qEeQqO4M#Ci&ROpK`G39ku-W1^GbPr zl1d@-Ww0SCWt*x*ZKa&2N+Ncpq_{N8qIAzf!_zOqJj=pmyjHG=O)JOnc@|K{LgwlX zK18)#swz`kEqhc+v_masV}Y*9B3Gv6_C(cUv=-t+RLj4r%G6fNdsIopt`vDRWgxB(9WG(u*m5PttG?bZtsbDW`Np zws_$pgAGwB>s2LcE9Et+B-)@98hz}6p+^WvU1KWMB$a|b#biTN%Al%5ZKVvTl4yfc z$fuw*dW6x(cP6P6?A4oWh)TIhRid_1u2&_|2BnZsF{Q!xA3v9*QqZTEY=}y^PgSC} zQvO|)MB++0ne|gZ8Vj+Hz$@ja$tmSz>Zh1&h)Vgfszhz2{7{ud;!0V<`YAo9kWXRT6Db3iBzRN}2u9#QG`Fb4BxIupuht7+@u0Kjmmu z5^Ycl^C_N6S(Btv$fx)!IP+yQjiT%DW6c4sI8Qbs*-4fQYg*Rb23I>?g5qmNKz@7W--|imGWIx ziP}o}wknA>D21h2JeBgtB$YyG7K05@DbK4))K<#xRY|l#DJ&$0&fBu?MXp(r(?6D2 zNDO1btfdeeqEZe6Rw9PP2dk23gHl-Z#gwvy@6j($QYjP?8*GS5IYm{Xc1t-)l|C{`YatNlh7%{P@R<2A^D|S=q z@tC`MxvEHQtz1GR^iTP$f(uw5rzq>A&W9acU@dKG5iHQMED}tncUh$O$0p_@=fL`2 zWC5~RFji%F2;@M-{cX`De5)!68~3*`CHXE@jH(L2yOCK0#DgGQqg7u{Kov0cf+ZCV z4n$QvtSUzv><_4tNLCeA@B~>BSBLyp38})2n~(!h6;G?m(N@Kisw9$Cg=L_`H4KwJ z9#?M%WL3d(<{*eugiPR15>f@F z%MA`hRs2X*jf#w3h^lx_RgShQ zey2(zSyiwu9utIXQ-;IuNFtbBObgF?3=Tw9912`S3}&aQl1Nq+tc%A4;p$f`OGp*e z#WOe%RdKSa9PL)ISd~Pws$g9_5Cp6ocIBYnkdP{` zRgShQ-m6L?Sye1`sKVv8znYLLaAO)n6^lhxd`VS~wkjS{C6TNuSZ|wQ(xr-L6H*2B zwhazMRs2#_jV(uzTBHvjd+{m7}eS z$5lxrsfr$}w~g!HTsf#wcP0_c_L#kG;y^S||4@~qt%|>@l1Nq+W^Wq>;aci4Cm~fB zy=~$^R7DE7h}f@~sY)VQRhYeP4^^C%kSdJcwvQ@SsmjrA6=$fDNLCeQZ`(r^g@jZ= zW81K}0^6n7Dt4;M(N;xHl|-_tFnik`s%Rvn3Zu8}ql&$%a1ATd#K{B zgj8YlwtZA_hpHTHReVg9M6#+dd)p`oR}SjYgj8YlwuuALKz&bDjpk!XJGPc>m7qYv=7ODkt3U#|Fpp)H->X4+V+_?Zo~tcF9v(y8>`dc9RdCq& z8Xyu0Zh~>(+ETTaEf%wQsyuft@r`jwt}$g!!TC|)7~<=q%dw$K!fqjZnJWCYx==>) z#4SUm@?f>VACrD>Y|@@Ir)qvsko2ci#bhJ)E+!^oI94aFivTTh9xsBx2X?TGVYt8?0zmtyClTK>8~b zL8q(ArJaSodIcL{DLbH52eUaX1<&p*?9r;JY$>1G-CwA&-#HD>xVtq$x!{i*Ye~aA z$D~K#7}aeu+-))3Z8F>q40k&i7BqbXa2+v-pQcJ8Moo9>S7KPxg{mIR!cJ76&Z?FJ zz1D_EiMjH?AgI2#P{dz$7i#?}PMfEbHubLqm3dc=@GICb$m5FZ~6APu9Rw-qR zBg2gY0LmbS5naUDnS?V#T-~O)2tu5=x=~!+Xmv;g-5L`CibFIdr>dgEHYH0{NyG>+ zhJ&fwR_51iu^k2Ps7nR}!mB&1rVgI7C!5!*w$-nSg1<;rYPR6}RY|x7FN0RYMA>~p z7KbU2u(@aw@v24%6IRwC6sYi8zb!VcPn?rAz9*RRTU9k>EBh8z5~0Pc+_4ycZlQD$ zFXe}0lkx#`iu5%>#t*0p$d>Wvi9~{(;BjZx`*^`U8Jpn7&*{aF33B^cbh$mDO2WqG z<4p9e?kIE^TWz}I{jvAN6%9@{x7PHG+(*H8BgS+8XqB)POtx+HSyNFUVXHhYtAB1G zrv7kY3aK-u>kymHgpRKA?6 zW0WuE60@=CecYTv-ea=F8&wr%d!g482?Z~tB1A_I3cEu6U0g?M5_HhEK$=CXaGj^O zNK4gd8`Qm`ZqilKata%KA2J7%E!YFJnHQSo74n}yw0cotFazB#%ra$4^?_cH%CJG% z*50M6+Ea*fgOxYSs(;!_KV`C|QW@HbJ1V|2x<)@CFVc`5-?^ejy=x?>`J?hYg;ev0 zr70WC*(UJ=L_%+2$P)k}IUWTPwnf@Q74fx5t&cAb*#fGfF`UiXPOYMqa(vjn zGCK55msfj8w=~0oo<}VNS9Gd8A0gqllqf62i!F~h4i^QHK5z3{E_S>qx=Q=yMHy11 z#{{U9Y9gprljkL*T6?7_3w|U+Bz)U*%k@9YL;ty+lS)Q-!QtRtz+1%F;$~?Hh4m_S z#Mz`q0v>LZ=P4u}u9K$Rc06=?NUu=J73alAtU={~KN$-(5TOs+p$C}n8c6e!l!vFZHx$S&x3AQ4Z; zrprsUeiajYJG12(3#syBq$vwF=4c|3TwF5Oi47x1Q0UXDwM@3ym(lhNLQ+r5yU=kS zFc~pG*(@!punj-$i4NbYiTKzk&ss=)oGVSa?f954;-hMIOoJfursxp)7inpQg@_%g zgsq*3lFQ_|3yG2;Y07O!$ze`8vYEIplW|vcJlr8Im#}!S(-mSpM9qIpo{x~4|2JvM zZP)xvPGZ?&ArDFOOcl)SK-L9;pGJqkkEI0^76Qk4dW~Itg+wg;P@bWXSonc7Wgjdk zbT;h%3JYQtNVKuPav*h9hBj-}da=fJpQn8~a@=wVkccO$on|4BU?!{b)F_K%#iugV?EW$)kRS4GI?%7s`g}Q z%7QgnOeB))nN0V>0L)$BAW#IRBKAZI(xM6LQ&NEtz^Vuc*eTCUNCf1hDYqQ~co;aW z>0*Z5F|EN3f_Fy;!8@g;6BYz>{6RpYdl^q0+$7IWNE}=*P1y$r3PFJ#S1?zjK%$Lt zg*}94F0~RT)jb*=ir4B_!L5zNse^1OtE;Wvr$z7T87u|{GzVWcbC#q~l( z%j{XQa2e-w{vKV&FUiX_WY}TnM#EG~Q23wZ84IcK|Bdm~38Cjg0f`WBs*6KYl^0TFZLnF@)Blr-hGBf=iFuydh4&=Bh;U}Td#cOfydUYhbgi;=38HaBLJa!%#V(J^wRw5(c&5wUIp zMlP4n332qg`2dySMwzAmA%ovBv!|#h6C?5(W;t76BkL9NT>c?qf3Q=};i z_T(fYkz5bhOaF_P^7Sn` zJTD>j|DZJGw(I{053jj6ZQ7$Q@H*Z;)!F;o;r?E7;PM64wGi1Kmp6wY>8$rE` z1-sHkB$CTH`{KYg?w|o*5%bQy($Wd*W18atY9rtvBhODr9K1oA@;-|Lcdzrt=s37e zS~@MmfoH$7A5oIF1vad4kB<+kJCXtzgQ zvud>wA-FulZ=)mO*V6I{i-hB?K4@Tl1mEy0d5%J2;c02g`!W_>(c+PxiyS2!4kY5~ z0ffPVS8n=Hd5%J2VX8FceHaVwNa3vLSXd=3pBCB$&sgCMd5%J2VTCm1eHaVwXrUS% z3xm?~X(1Lo^%JUQw54T8D-na4KiWe{$@ed5s+}HJVPOout%EmK8ysHNw_mQ5Fu@PLA1VpTmXDTEjmP=FKClSFpT_++2qa$KKT0|{D1Xm>i5xP86Ara9hO}Xue zIKrKuFouHow8U-Ep>V6TY{EjpUeNDb7Xbse$a51C10&Lu+m3-F-EuPrwRjMGD>?|i zE-jp}Aeil&o3bk-px`U=?1V(Y7o{n;9R-3VFqYi$Aoz215d2YEHeo^FZwair2pD)? zo|}*u_`Njcwqrn;=3q^e_Q?^4tuZDw*lYEaWzG_;hqd-y<*FkOQUmF$$sUCaC^SdG120{u9!a1q<|1 zB9YuS04Il)W9EXjThGa?+PHrGnhjgGaESQ@@EmcAfd7(~Tv*faYRge6)>OdHPvm(G ziJu=yQ*Jwc!rB-<%6-*?kr6W)NW>H6O4}HZEv+WXa~BdLA*H9c|MKxt9ZYo4&1r+tlvl|jc8EMLGN732JC<-u3H%G_RjnbkFi>Xb~G3Bbd zfUxW2nGcDuhBRd#gei2z?cO}=%qfs)V{hJGNdu?nRcn=c4o^|^=+b{TI(WY=t);Nw z^;k*cQ5^x0-;if0Bp|;^l=p>x{qa@~QItqpEA7&X50UyW6 z^A-{xM@v&~J3fvJ!be`KWpn*5MgR{smqCT%LoFy8fv&<+kg3s-bHu^x*V;$itDN&x3$OJkjToZhhNz z5OjW^JQpE#K1rH#+jTx+fDQ`a&(?l*bXA`wEsC&Bd#a^slXXGE%j7>EQo|=pQ})rY zLa1j)i?1h_uRy|%7WKOVqlQj}aFL?I>DyN3*KA3x+_W~8FX!q5TB#z1H*w?J6>hXsVMYE$G%S1vU)1)HX;81)r2^~$IR^e>+ zyQBqe!1Zeo;j?PqEG?<9x;n~g$fTsSvl2p+zEPfykWKnJRXr*+kzh3*;*dZZ0o*x{ z)8?0=Yx5y_F@{VJ+LOBkZBkvtHh8~0FCkU>Icds*mA;QiB-g8&<@S#MK?e`7#$$*mljZ1fY`eThOP;%s`1rasWgmPfB#Z2P6YC-?kg)Sj4GO<~`%|sYiA*Dyt_EywBxs&R z$mIIdlfD!=SUvzq#1kyrGpii96slur+up5utUN;@p*V^tE9ARco+mlhQ?=>US~XWG z4B|98PR)y>t9hZkR70js7J3CPZZ&gN6I9+U&s<2A&zGhwSf9B>!nfVG92+c;A_#Cj zWKp&b4e~P-b^vb?^C;V;B^1^#*)wJW+JD-rmw<{3q1Zl&nIi=f zZS+ZpS)mhkUN=z}owHT%jtrAl@X;Pe>qMPn7osk93Te zV$*A_+zY4UFGtt$!}2l>>5uGLzWzFPR!mU$1M;keRQKnlDGPSzGejaeZ!WAN@{RMqwMjJ-;^q7|xmr$oPNqyoE%@e@jztJ2F@d>oT5cHYLqt5y;FhM~22x zKq8*5if0TPSTz9~)8&~9iH*agDYqRPK31d9r&Vj`XNz?{ihWIVXq+uAqt;ptN6iFe ztd{33Br;Y?Q}#iILJ(@lu`GyDAkoG+b_%(*^R)^MEOEijo1>%gN@=}>MdQ(4oo%Zc z0`xAIXCx%_E+NXkk!x}R%Hf`_et2?O$shD3rcO<6EdeX1mE1I6&z0t2N$!sddl9Z(=)clzR5z|pa) zKU?b4QpGaA`M|v(dpYA5)^d%XQ^@yt?9TQnRc+gAH0~l2{?_Nf4_Ygnjm6LxkENy2 zaIEAgeKOpYIK`2zmzaTX9*%EL$Kog~W?*qN6zj(8GvU7t`Yb5->c>!-qViZM*NxI= z(;su7)Q^Lrt`Coe->2)>z<>JRPlV!Xym~}cHZ}&CY+8Up1ro?by|>;ts8-HpO7(#Z zOj502G>EIykHQ+S*HMt`hU$%1;WJe&2aok?6?}yK1WwxV(^Pn>R?)Ofp_D7uam~-= zBSZogxF7MsQKPce#?+mKqE^k+%3$Yv>xE(-AHjRq!AJ3H*H;@;`ikXVc!X$GN3I)b z9LzofL96rEj(m9_TPWpWdI|E}7@ed4CRfVkTBbTQ&|5B!G>)ha_7_Tf((Ku4I+wO? z9k7KxbJK{iz#g@_p>bff&|8FA|0{dTyR;Ge?=xYunBDOAc$&@&7nAc^u9!7qlnspu zu-2-S9e`H|FB=*M6{?#x=QDd7lQOw}s5JPuk?kXmDH+^Mc$NK2y|*!eP2xh)^)FaA zs@|BCBU@0_YE-)k#-G;xiMfKYx(j50ujp@ty#zq2o9VxLV{C445MR|_2D~Z_wh@zT)8!A~3X@mMw{QO!42HV#7VUsclvV2Wx@+XNyQsG^|EUshK7;BS2b zy*iOfY(X3JNpQVa?|>2zaUlH%tLFbdaqk)=+mfAyjTkhNW;B|Skc2=8jTk)!81-l# zl19Q7>eG*NdZu5~k8|!FTa@ZlS9e$6>Z+cq>hll?!i0?^`#1#R3JHRTaD)Tlu*0Jt zb^tb51OWzzK_Uzo0^1A@0-G=x3EMwR*x+wv?r-m0nYs7s-g_S-MeIALckS=XwQ}Xk zl`CIAj(3H$m%oKVNb8kCiy`92Vj4eye}4Ig(eQp&9)IgQ@c11c#p7?t<5&JxJig-l z@%S&~@n_cY_&X2q*x$h8Z^>hO6OaE~9)J2XczpK}9$UwF{55&}moJ;vj| ze}cys-oWGUy@|&!ein~E|8L;&d;d*5e)$LRnEW<8{=Pik9N_WS<+1aFc>H;Je9sV% zpOeS_Q#`(CgvZk}JpPe9hGRVbjyyhdj>lh-$NB{xe_9?Ny~N{B%Hx|Rc>FGm)Tz(FZcP{Yw zqw;vT#N%gIczoa%kDr#u`=8cqNa2 zA&=knJMeh_599IYekUG3{k!q_PktPa$G;bke<_cj{e5_R<|pv@=koac@5ke}{v;m1 zERUc219&Wc8jpW0kMlo>#~0*r`G@fMALa3be-w}DAH(CFKZD0V`Qz_+$N2X4)vvhn zp6e@MR&Y;W;`bm{?dVrxP2{C(2gNVmdpTSV#-F=&V+{YT7~79ITl=wF*ZMBUVuSvJ z4_$4-?p}RO)PQbYt}e0I>D7Du61Ocl(U))ketab+d-WcCa`pdwJ78CD|66cmOE^r~ z5{cuaB|gMf!K?2=fs0@N3HkN^@qPUD*YVf#-|@ow=tmvJxALQs!i|Ytzzu&ho5Neo z;le}Szxf^DeTrt}OZl5p2%K~?dTVetzFCarkddU%+ zE$J5i!xF5t!w}5L^HP=JKav$pJlRGlM1Mx*n?U{}evG`ns|@zM5Kf zRlu}mDD-#Xw^v_(O2Tj82h{bN{iUzK5Ae(I17^=$NEOmzIad2aL$> z^PjFQ(4kDQ^XtWTe#iGHE&Q?s6@LjqMO2m=oar2HRu<8Q^877{Nq*rCVx*o!iIK@P zgkXOUI9Gq|&AWn$?tBI1Jpca$oU8u|F_M?gD%n}twC9V->JrgoSh8OL&ei7;Yk9Cw z3bpi^HLAkfIW#`Jeu|9Y{B}8bYm6;-v-7zE{dwSBeXg{HUrkWI+GBls;Y*^v`Ed#L ze(5O-Qd%xtQc><=v54_`)XhYcYyQ?;#r#VWU%v6%$XptI=2P4}sXo2LS69Dyr%ylj zo!_NC{epb@2w|*Od=o2fH&ma#A;Is@m!Fp2C0F19?g&;N|Dt^S$sZ)I@o`k>NBHjQ z^LP9>R@TqU#~(tF?j>$!j%EHNzPtLF^5e2E&B**wCGY3u!+*WBt1^g)Kb&BIHLgzY z2;0aWzP|dOONi2(%QjN1Ukbl@#|Yni*OJ2K%=u2Advh*7kG@$et~ra1Yj_6szm11i zwfT8uBmb*>eux3n-9C>i`UhpG^_TDbd0f?hTR#7O4AMONH`9B>vX_^8#U_3z1H3Pt{sZLJPIo;39DkRk0)-wz_v z!_NxD`!OKCdnsZ~d_acNKYA~SSQkGn5cvP16t%`&Tx1%zh4;%a{zdtD88*hMA8YW1eE)^Je;=#wm*o35kh1Xnzp<`4p=WePRNeX( z`m;*_T>au*QNk;`LzFKF$|EFA?ot*gB43s_B7e>aReo&3CDdgpExK2Kh@%^>K#4~h>K$^k+C)66|< zVUhlXJ6Q=xT-#`Wu0I^&=(peaorq?WY9nUzT9^EoXeyO<2zNNhcnL{h+{GqdCEEAcXg+P0oCT%I_%8(Yr+y#HSmwOyMJ-U{lXSwO{t4h+eg97o zwCu|3L3#R0h;j&ktAA9YlwD*VMN-H5AQC0#|1DrYQCd>j6aui#__&C$F#jn&z51Cy zP$Sa4QM^rlBvXfRDb)7=uteYYlPJ*_@bHbh^w$k#sdkKqK))nFKT(QS28{vGF*~+m z*K+vz=kev$lRw0Ad`Qc5Ul6aDvPZ1{JluyG7Uy$6jpF=WJiJ=UZn^;}+_)G*{ci$w z`UeS>tF1^edJkWSH3rPpFO*n!Dps&FDunub0<}{r{Oh&Ct7X@iRZ~si0-szR{85Ti zj!V2|0{ys|ncA;?4dtwa-*M+fSm^&j$k$8q$dgxv&dogy@Y&Tr`(rG485!gY-iY7} zpYz1I>8N0(dML|VD9Y78D9cml-khUUGb5@xe#OrKjxzpTmhtxLH~&SyI7SvETzvxnc=et=cjR(r^}*$bFF)+sppON9?k|x^+gyng_oG>7C1!tke3?tM{NLF6KT8#2<BSgFrk;&oynXfapt}6s7^!O3DcTVm-D=C=+P^A|6%TmmbwE{|V* z2|gY#hFG@s#XAn;N8Wz=BX7U@Qmp0hm?*)^Z!iCa>r?&$INY~ae-Z!d)t7rUd?5V# zUCZ%sF}i&F>K9yj;!oal>|TH1aCk9(+w&=stH0sJ_*I8)p~nXzhO0mKLDYd;>+$@X zP=a6M4H$vQ2aebGc0Vv&E@hJi#xwxGef4e`fLH2rIw}T;{|5de)w%Hka^eS8X_*SQl+Sn+tmb` ze*ZRB(jkRcJQ@332?W=zP@>lQOoIjsU=fgAkV(EYO>Z>pl zb}^X^rvnE+xLr&@_v*`JE!e=#BjaE1!P14nXg*twUx;#hV4 zFMhRtA?#8#_wH--yX)c2jf|b})z|Ac4sH;<|2qACIGqNR(Z{|-)l$e;U#maH^1Kz! zuyG|yUzLUZ$_a#BctsCJa#0it`k|{o@G=RFexAC& zD1mk?qQqQkVM+b#6Y9lyIvy^uh*%1w==ZwPYiJhX{V2lA)p&ie7`{xEyKa#_#kWKG zHqfw!Bhi<8qGd|*J$E5lYJviW;O{$pxd8{bgC?Hh|5giMJcBGBtSB@XSzv=3W4PJ- z+u#VF1?VM6h&(?Vw?W2d0dfgKR~qdrRDP|5oho_C5)IjOpT-C`R-d-yWcvHOFEBE@@!LU#A9 z4Hp;Blsw;WF-&F?EH3n47hRi1BgwBR|NIm_0_z9IqhkG}BHZmlm>`qfRi2Zu{K@TV z_!O~kXg;6rg}VSI^;c`T{gP2d`>-=@0ZK{)5Ji1@SB$m67%oiaiuF^SSe=V6aY>A> zmBjF)%fa*ELN04iyk<|-WKrU=D_GKgLrLqGsbUrR<>2P!XgR>RL|5@)7pb%8EChPu zLiUmPu`_go7Xyr{B)$)g%d4rM1PUE19{kQ>h1kNHWF2+MZQhgw#T1nnQGK$Ex6ir5(&2dNSECGx1^+8cq zNUpqqyI%~>ko#HbQtWptMS{%&1T`(Gl_4(4!1m10s=C#507}ZLpP4M@vei+ymrngm ziAb_4u9%K5hPXB6IZ{#c=gUmD+9|HcqO%Z{XTFBD$(~>A7Sr|H$ulcdl2)D>5fttX zWWwzR8}>AJC(oP%XA!D~miZORquY3=hE_+wqErn{67AQMA98u}!F2p=JXPl2si9@C zS%9jWkksxV8KrgVCMrnMRnf=IaDlN}!q+MK2rx-l*|>WNCnnLeQf((2SEwYdY+S5* zuvGi!;IdB%C8mQser*k>}386w9`*a$pMYtpmY8Xy*I(d3F(ZOD~8m=%&C^;^l zB*+Ya&E$DgWEqWp15?7p7`DL=WCEZ^QwmWjT~LoN-ONHRv(c>{HExbr_B@NRA%fO9 zoQ}i_m&7hBhx~hRJFXzu?#E#0mo#{Tj zlbuGmB(4l-i9|UjL}f&xB<*BCAt))ov2=CIwfp@{4MuAGYC6nN|%;+A3zk`vr!+Xj2FsFyfx$h>eiE z)3_i9&LUJ}eN5&&oiBBJ>NM6TAgM6JSp+ST$VO1=vRL_c^qDSW>^wY+QCYV9j%$5F zWq0ynAt)&;*YO;?!N&v1yG!m_RdFZR5#f@!8sERj3EF9VUm}vs_qwtI=4AfXc$Utu znY}JX4f6Rj43ok+HuuK>lZ0M6`Qq^~GuLZM*F;w$lFWx_LY4|8$AYJ^WFRXhVrfva!YK3)0=eAE%+4*cdI6c`=HQ2>w6ewBI24tCDi#BkE&jQOVL5PfnC)-%xmw`4Ho}9~f6?Om< zf@6f7S-D|@%Xa~I1w(N3)7y*r4~=KXID#mt^xtB2mq_r1@Ct|&NGfdK&ivKP34^(C z=Dhecpiy9CdH3PVhq=z-J1r5ga<;-QAqb0h@o>C?ayG~3YoqCWiQCDQm749)Z^^@F zLEn=?k`KzNUSgG^;xhY#W-fut@?bGqpF9Fb9@tkUPclR|Q%cPOIXp5c&Bcl5j+zrV z@?bdeNLDV0O^Z>usQzg@nPc_`@>ykfHHhSd6{=q(iZq*11D(=hES=1C4tkZYLZoyU zCGGe*NbidF++>DM?wb1aIfF{0Swu3Tf8D`e*&z==&Tiy~o${*)>~|I<+$I%?6nY8g zG#q)5vZ!91C+nTf&MX&a#en2ONLRf|B9T@hU4%y_On+2w=I7^eRA&YS&0-aZWK(iU zZL9XtQ7(r^CMOpr?9Rk0uBU_8Fj~qLA(9Qr3-196w$wb#1X^B?0iVYtBf?e1D4~*4 zW~)I{3R%aO7-e@p6(nPUo-a)5w#^Z<=wg0WIqndM@`!!77}(X=Ko-L*^_i;x{nTVY z5~GnxYASd)!phcHb{;m|hH-Z}17=udkNjS^uP5lZB% zRtIRN=WUXTfaHrLOU%5JT__8Wn3j_t>QRRdjWR_RxSYn_p}mA5A{oUKJD<|V6T1&%C+UHRk2Qt+?&cQnrk888r-R{BtZBVn>54NA zCJ7(waY+t!rawBX%k`iOfL`vCDtIX7lP;4Cx6#KrFRJap+h0Q|b zWOt_qDE1y?_n@RjqAQVoGQ$l#Snq@5uN1kN<*`K%q3=|LsCo5SgrJ#yTZ0y0D^+cU z&iZk8OQ1Rw2lav+MQzngmzR@s-C5l~M`59}Ait@hAh`Z!F?lg?>A0JzUO)3@e+r6e zShNo|6-`ovahc4;YInEcQf3wg36)xv&h^OQ{t1;PWEKGX4QhXOGk+d!hBKEp-CY$P zoW=O&hGHzRs!cqQR)@Lu;qFDL2w0q^cC>h{?WjO!L7I#e*)dt3r<-(-##-XDFyGox zNvp-JtcgqdzSI61bV$J>HT6X=q6XAsM7j2jT*i#5fWoaZ|B_4?9|O?!xvCF+7Ws8^V-+JuE{HLzoh`iF}4#ddU{V z9>_~vl4JOrR6^9o%+aW=_n>LzRDCnY^4oaBWe?JpxRf>*U8g-_57D*m36WDtlw5UC zp?#SvtZiLaz?3?taxAqOFP=qvPJ2*!iA(aFU(0m2J-C;so6SjGc7LJHdyu-srPR4T zEbQw-{vP_U5Sm5E^9nRev0M$X8!F86g4w?MO(EGbM*D%9ANY0fr)5}Q%j?wZ&SQVqU!gV5Y zXe2@&yC?$$!hWVv6zG`AjPED9QF zSQH+$lTn5_`ZS9XfwKsh(XEP5p1Tv)gW1g+)Fo(^vOI#JPs$RMlo-BMQbva_oZ|xG z+zB*hKE{x{friCG-%}MU*d-t8!d%K?6eEBot!jd@QmJkuTh}HSW3vFt@!YP?Kbf8% z)z$G-s3gVu86263?eVKNCr6%*{X(bk*hLLT9`x?V0q!vlHM(7{VW;@udZ|x-F&7eKySxaHR2Ycx&5Ow@+0treZ5p|V zNHVM;D9B{5k!p43K%|Mtp^-$|7)G+A6T*_sHPfB(jr*R(VkDn z(`d7S8M3Tw<^q=F;&C(On_*2mPKNS5p;EU!zh{?0qq8VjgPbi&eCUiBH{U@EY9Uoh zye+yf?Cd2*vz@6@cTMwUS%7aZ=1oMSQASl``M9G|puLgG3CjtYg?h)E0V6#aW! zp?e(SW91$3aqHpM;fcF5A-KH2%voeb7*t?nLeD{_qb=OgfU6k-nt!dGECmud&}Ddz ziasPU&*09YU6oxBOD+ zx(AsHR1%}JOk~bRD0Y8k3SHuoT>2|~Ratbh-rtO^SIw*rkaS4{lDB#Q-n9XFL=q;o zir14-vZTCgtyZWcP9*i$357=7RZ@>g!lWi~Zt zsb}NV``Sa8W@9BLNhM5C&EqUO&ehzRWwZ{#BUxgrE`=z!_4Mk2DpZ3w-tpG8k$7T3 zC2?Z2a@L6wwyVuLK++|>i@eQj?d#gR1hAw|4JkTaqq89e=W8TU!?|4b7H^~J8a0%l zlreD$>1MyKE2gvolEouENa;aIo4A5&x6xilvRz#PF&ju_J8$2l z9+RX=$928XuBU6qC3qxDj3-GLb~PTAA5CPNjh`zI&{a0UtCbD2GW|9T2S~bPRJoXp zaDx3cX7}~tpsu6J5SQdh^FY_pdrwJBk|wU8_<=UpuCAa2C2e9v%P1n~YD9uZvLu4V z0?E--ZY$Paplbvhz>+#q?<%*4xT|_gP|_w6KXWGuCxhFr5(luP#>N&MuvEVpWJV44 z1XAPQ?CIf{sPaE#lw)~W`vWWWfn$&f4Um8nAhSSw>k7gvgjp zI-O12m6r*)S@>K3Wo2IqiWKPIac*|Cx;hy`-M@cN@koYY_Y>@h#|$>E_>lwKyjduv znLVA1JCpl%v#_LvkB{EBSqF6&-e?^Zlsk~?xtCA;HL%+_JxmFE&uQQkj3Q!Q5UXBr zWmH0O&&ksOh1lq=2Afz+_(TrE7jeWO6CQJTFZ!#Du?CTxXj6l&>2z|loai=diW4oi zs!$01rGVZZPNUOdK4Hz2>wD-61Y%;H)4(6Fn&`z`9Tw>&fFZh=5l&AYV=S^hoeY(gKtgB+=@DTQF8MKar1_8K+MR^j%-A+jSCC|tM!i2jhSN)! z?%SvX7^0&u1o|nqQwqao_6ixZ?~Me?;gRo49A9+#(#I{YH^c1#fz#f{Kg-cNqAN(S z!fDXcvE2C+4Vuip4NEpK*j4BXj3pQQKJeF0rZsV2`&K|?klyn%a*JD1(PnoO)j)+p zY|;A(PDD`szNz=9w{ZYO6w5iC@nZYRZo@eJzLt~2BcJ%m$Nr|FL_hcSlOYcAv0z*9 zWyr6TWE#-$W-@$={on4>z>Ww;0%^!zU2FJ{;xNsp`0jFbJ^kQlO#=}hLmA@Z7;GFC zpeRf?Uq?}3kwvrQvrbHAkCu z%JNX;kS>E97zAR;gwmMV;%iw7F!CUgQS#hA_3155Wje@OstS*6qB)s+n2ukpO|GLM zp4t5QW#wY{7l)N2LEY)L-+{zokwmO{jDsbyjo{{1yD`%O;D@7)_#srtAXkd^#1KG{ zL26@({6dz)w6Kg63XCjYF#wH(Lw-5FGGnt%x|Ln-3T^gU5gJ*(5^9>PR>P-QYCl;e z=~7b~eRD?&MxOVUuaZoh>4$4L!l}sHS6?#v-s|BAbD=-{_J>}*dvELH(O_eD{rFhv z&Gg8aE5bIP@V=h_iL!jT|J%XV8#~7*3g2ucb@&Aq8Q$v{w%3nOlC245jnq(-V4CC8 zTW>x&INH=|YRgfAk>fp14tX4GDn*%Xy+(=xO5^VztRFqp612rHposr2SN;Q4bTeSD zDf&U#<9e+epRAwkY$)iqr7oaYYHy#9*N+mlw6#xSk>UM^Z|-gF4K@$<)_3*?_@7D) zlLZSiaF;1PQ-YOeIe74?-dF@H&vLZ>q&F793Rnhv>z_I}8a&=QI*vE%n0bZ#K;+E` zQjzU!93AvbrXV%he(#d)gpeWG(bn$P`tjCackA(%-nP|RjT(|lA&S7{L@>3%)v9&c@&92|+$AE5D`?rrU#91jk*kqy%wjhO?J`TeSaHR6*0D;&Qw z&cUOtH&in)mkrg)T3EXSBoSig2dCSE_5C*o8wdL*I}c9}PPO~KckG-%R2B(4bX}bdu>$%3XPH=pCFR#>~HQI!51id zHKW&@C?!(Fu($rk03^ESZpBa{kpc5xBE!B8`M%4_1m{W*45Aj+bF{Utam_OOXye&r z{JeCCu6z!O=!FGA=Sei&%7O?)d}Q!MC&iy*BQ+zYoNfXvvJ~z2cxUf$_nuo%a|{Iz z(F+|NpB(LMZs|&Br6U3nztBhp}U<9QXH3dTD0INM>{9$529KyZ8cX5 zB@!jT)V0`>{9RYF+27PP1rJ61FT+*K^U(mhQ|`xXz)16kw~Z5nurSWzPZ&-pZQ|9AG>qlFg3Aq_KTI2yP`C;*U2b(+lJ16Md_w|t0Y*G_#Gzy3WFvz{}^NYYr`cVbCDNBO8_= zRcyy@{ZmS44v^{zLr8KW`1R|$1`juq+A(9Ii_!A-=4QSKCTKMpX%PRa7g+wK+=n?h zv6uufOO~;WZe)>(pf4&UdlZK?Epl)gEEPyN5Lxc%sM1_!ljgG&kw+vOnp7cC+*-{T zC(T(aEHYF^2Zq=b%muN{B%vW-CaI7F{S3yhQP^qPL4(>#K*|JH!L^egeemYV*5K0! z+wW)NwTm$Wzzp5T`lbs2GjyNmn=Sw(9o9{w9)ot3+Pv8X=PEA;O3rs-u4es#jwU~D z4S1ri&jAonX8hN8pRB)$W2^U*^J>gMFM(E2B!T-Gter30$1W4eFoe8OAG)4{w68$!RBBO z1LYlLjnLhkY#pJE<9R&TKR6j2pB^3_9L0{~4XbyHhZ1*YVaafWc*8gOQl0czs)~Un z!o^{(M2D!}Kut2puF;Zt@^4m4&G;;hw1(&$yA}-?2n0mzjtbAk8~07n1TZ1^;Ssbp zh^JW1E(pF`FXOFnh%P;{#1#koyKk!2Y(`4CNUwq-zATc%v>j&bA8+O6<5~@(5=64e z0waGc-(Y)v_xPS}BwE?4fXE`vjHV*a?k@p+}>S(cszK3+4_?= z54C#Cm_MzE1dn7mC|QxoDW-7957Gr-X6Cn`;>$l(fjtm+Hk3Y43Qjej=l0rCYN@ ztkKXHK{FH+qYZN<5Ng5u4?qHu?0wDOGdmGYzIVa$q$@hz4~dqBBxz` zpoAj6>@daZhuwo{*`zsAt5Lc~BDzcpoJht=DaIUN)?f<`k-e?#qB~X4ZR^tk5nE;* zP6qO)1mE=7HAOGM$RPvplL40VW340xXG#cj(xHZ=LL-ZpdD0|Wm)s!{-M5F+vYmvhjoP+{3XLq@nod(=ZEH;h z6!9gnJ>9RL#Wk0bMAL~e7I{Qlr~8P^&{xDAgIU?}#Apaa0x_i1{nO(p?|JXJzygD? zVnc6a@`9%N^Lar+5nkLK<|PIr?A%?ARr@lvlFVlWK*SgGkw1@LjP(J|X5KN2?qG;5 zv6o<9-%eK(xyA<7G+y{sp-Ux-8Tn<&^0;J|-RG<264NqUo3d~tT54t1Ph__d6j|PN zg87vwX>YDPNd0SpLewv1KdQ9UBFHFl3gp{Y?;d@x>?~f%`5Ur57Y4SzgK8OUT#iTj zHg?klaForW%4vr%6a=k$edcaxYypqsX#?~ShVba>Linv0IDAQ|%=AvR93G2AXeR56 zi^1V=5uGGvx{u)^Nc&e91jcB({G+?1NfqC0;(2rrL<)?*G{ySt?9=0y&*zK#9=F}V z7GjbZEl`M0XE(#qTd8nnFPqSXNF)*a1N^IpWE zzq{U@&o1s~^cnaPhzwBPgWL0S__giHbh?294JQ}3^V{Wd<{%RDn&f0BNE0$k0P7D* zuroW?XLp-}l?GA=Mjm8Z$pdXxk}92=A%7j4h9oEaZo&C*ygHn_eqHgI>CPIy0FGRk zNG`Z`mNn9u>wjz56d?KFkqf?~F)nS2{Jq(s)KC$NELE)?<1QO9-|h4;skXHiL6Wo5 zs8bBiruWXge0M= z)ixVz8U>9u)`&wbn@FNlyQgR}AO}aOinh3{@in&V22*fmt`s`NB26I=UeOtZaiBS_ z6xF3Hgd&Ob51zkxle0&20aYUx5lM+i+Eb=(%p7@UiM0DFY;NfT%G7n)0Z~qIjzhaF zj5!NAQg>wzsPcknH&rxONaFquJ#I!fDc;Gb6C+S?td&x2;yyAlLOZnuU?h^5&RJab zPOq9bbCy}%g=nNwGG%;xdzlKbERpx?%AvO>D!@pDIo(Qm^&QBa!kxq}M1>lYw52O5 zJ$!dpR6>zN27=Bo65nkmh_V);d^Sdc8{0)bD%rMbHlt;7L|hC;f zWC9?$;7B+2#&Y#oB9UouS)Krl9H{vX?4PX3+?h>PGIzt(JjmWfXyk!2E#KUG7ij~F zV3DJcMK+yevJGaMNFA@_N*f@N13r6Wc(c4EMcV(ECNT2fR|Am@V1^DuS{ZDOU+Bza zd%6ISbchyM7`)vadn=mjt=XpYsTELTl2n>hp;G){e|W8fWzzc znFJ)AGe>VKIPDyJ;+3Z`TX3yd1sG`p_3bPl<4W5z#nWDWL?e;7qoSVT7JP@c&DZX~VcC&RnL?f59B;iU&&*pqdMqzsFjIo)=MnZa#s}s9dO2ya+!6*fWW{wFR zt+d@|nDA7#WhPNFvV>UVk+@Q{CGYTG#bIU}YB&Uk_|zEiw;Z% zFd-~}NKojI1lmjA$${1|R3|W%GPoO{`jDXjN@VbV??VP6k)r4XMuXylu(bNkJVUnn z6&%U11;tz4&J0VoWTJjJ_0^_DGp8}~lqqNvF*OlJkDZALN@C0^dWk%sX^X&U zgtPE2aBJpR8_u2ld?H>6MUt}C_$F0kyIRwD8M-NXSPS%^$A+re1WZbPjnAh9b@E80j$6}AWi(7%pyL}3j5Ri1P@Ah=* zfZ+~7w!eQUVba5fKqmL1P13VYrT~yKVSxfAmMM#@63vNhUWb&3rXWe_+?ZFRyx*MP zB8jXcR&$cHk&%cb3}oEF>^Y0s1jl9Vp&o1ITC25yk3q%-}C zESyfRY(@&af+G!9rWSwS!8g2&)c;9w?pq5lnm9AqEP(6bUBTo>hc7W_Gt1DM9>=0r z$RwA%tk;V4PfA`hhG`;nXe4pLgp&{%9;_XGrg%)3*2F_VQn|KBDmP=8@R^Hb4ZaGM zq>>EwN!bUh|Y~GNT=^NS2eoVrKLcH5j3Us z4MirgPUdfoXLV~h%!V@ZGhvb>2}jdzdMrUExvyg(M;f7y+N|Ry>Ij#_zVVP4*%GB{ zv+-Dr0+^?YGtix>!gRE^TuOz-T9I6)4Qv3`{(fTVKqjPGgxpWs@R39BI67EonAx7Yn2olqOBzYO)cPq%KDF>fFMA^qA%j z!?gxYdOQ*ZO5A!e(PDK|qJtxi?{J+G;|6ASxQ)sSTbE1IF6N=Fgz1+%4Bx|h8#d+| zilWGrlDvxLu&0#pRp@yO4C2D$ZDOy<$>cgWkzr~{_NlD!ZN(6wkq7py-=sqm(+yc< zdQ~6}zbF|uarCa7={ndx*wu&rn2o4`RHIVTEbpU()1&(}-n;NRRPtg-oyxl>x5gdg zUY+QyqXR2yxC?y<&Qc(3$(3UNG}FVabdW;xf#EUFZ^gri;~;B~b7z3AP?*O5!U? z7s3o#@1zDIlRvb3mzaQK#5!T|tEv*Z)PIai?ywf3-=GNF^Qj(dcBzFLc$OseeezQg zABRg{-zXh)@wpn6yohki+7~wu+gFTc?9x!@#3L7CPQ|r{TNEEDHZuWbuz5uCVg5t$ zy}1>g(PNGk3_1r$wy*|qbnI*BH8pA@Z?C;($y?iNmcIx*jH=i!y=E4i(udw7_+hWT zW{lg&-E*&5ayRsvd$Ev zwdpltJaS1Lxpz*l$ETg^NP&?B<7zCA9W4esOIXBEk=SE7`EqijHVG&+vS3QY{~d$T z4Xm?S`t1se&FC?GP3 zP2ffAg{vt?2t^j@DTF1Rw>1}fW(f3*EhPwMSMQZQsw2=nL@9x+09EGIN&<&M?MQs; zv=go_4P~%JmUQvMq}0v|9)Ip*s)e+%U5!RAcN6)lD!5}U*zaMY=YomDwLS*(3 z2zWNf=R+K=r&MFd!l`WrP-J17#;ac1G;xT}Ixha+Q=8Uk$O$U+jt0% zLTt1Fcx5c?KjUd=ioo>G;}@gxjcf%979qrd!f6u$FXtZYP`8V{6s~m8^v>x5u$NXst^RMSQd>(Picw5Od9FodydmGQj6l4Eg{N zGjeaHcwF|5m}M3Y#6(bJax$KoXQ`tJ@F)%D!V0EG!`az%dWFF$2nkfBLWaj@6VCNnJ@J6A2Uj=Q*Mbymco+u<%GZ~4kgQLwY4Q> zaLHWAcQ6{siX)whYAs)hMwY^B9%A9`1jBP&dQ1RKaL^k;?cPWv!#V4<)NRcF3ngn!)kPU1d9At5q*O`9&d$BqjmJ1!A&L1BuKkR7|r0&K3-xX z?Zqw+wh5(cZyy?yk`>vRWA!$&$=2DK1eL6eWfg12c-qIZIb^aIxf>Z7M3T17-4s}4 zD7=dQ>&zfJdfcROdF~W8XUR zIC8e6>LOZ?>S9oGN-aJcP6z9w&)rTIW3)$oEstp}va_(7Ku@s9BdtE*Ik{Z4+J>5E zD$vL!zFN5CAv^t*2F)Jf*?95ta&mDQQI%k1k$HiTC2D4-$252VM<%gAGHoy75vZ9N zX&~}wm|i@5h(#WH_~Knp9$urRTrL^e8&`-%F53O^@Yy&+WX`o^I>-PjVZo`X zi}^XMLp9}AEEN=4WUfZ65W|3iWqmr$nY|fjIVB*U#nIJP;Y! z!pKk~nYq)mfh&NFSqmlZz>Q4Yw27X+Xv3O;BrDcEZgFl=W;U@hLHiMtFFPVlAjv0f zJAAn@yp67^YBy#}G07-nHuW}hs(HIHTMm`1GRg?wI}3Y?BOR5wwi{*SamlP|6eiqv zjS`Z4sz&j$_ZlrR$*5{n-u7Rk0V-KljpF@lsZoVXW@M#g#>nk3+1B2`T=69SzY1$Z z7@}jY)csi^r1&^vb2V57o;buuZ8?01c5pMsIYnpVM>qpfwF5H_%kac_oiSghg=>C>J!jv%$=$ z;XKPiD3XXJJAS`?AWYTSrj}#yIE0s~ui(?IQ09m|D~03GI}u7EnLx@MrPhup081p2 zcNrsVPZU`hqAIUCG~Z-W)7(m!)fUq9BOnqf5Mp`>u88ZDya`jlVo69OXHA8fdICocsQQ<8>W=j%)DNmI29bpr01YK%vFWmpzY9WG)FKJ zNqbIN?9uWon0Zbxai==_C{?WlFPob|_Rw<*`U3 z9TjPC#GX=|-H+682oMQEi^JbD{d#MQtKdlHls5mN@eBcT#^so8XgLm}$Av~Bi3Iuj zRT_PnGBq*j_{(_(mIMo3RTY^|w1!7;D32I6ulK9DPsU7)oEHFryUsw8QQ9kCr_r(P zQ0vKbjEtp26;It}S2JnXAY1l+7NpclR&*Ncv)O#*Zne?LCNpW>z#G9*uVGE%CmYlG z@-|v@+NCA~NHU6xXHClMc;3+Vi1l?zJaS393%H7{by}%rLakY;B_=r|jk4njd$Eoh zB_tWeUj|a{&ChTlqH6QzbXc>D1tR&R10Y}QUF=S#zV<>7gGC)7hb(XV%*c#C*ypGlw!IC+&9sH#4))+vNF>E1tU0QQ!u3cJ4h)GVQ3d_31`^T7F zo-gFSPi3=a(z&5#H7a?rROjIa&I6dre752;6MCGkfkD#tbak(T|og7L&J%()7eN zl*A&B*c{IWR|Mv6`it=_Xf7oNfyEH`$21%^M-q8-9SDD!r-(bLPgv`J6YQ{Sf|HhV z$Gu1BG0k{1N09A{V9Aeg$(hVOiqC|9R&`)n@+Cg5Dj|kqRlt_~x@I{UClf!I@=V;7 zx)o7^Mke_F_+4fa!t8M@z5thv?TPTW!LVpB|(UmDcmaCIqr z$#l$rWI2F46+`2*7AjlYda>%+)-)m+5&swR!%O)86&?9yj;U(o4e`iUSvKD84KF66 zOj@h0Wk-#oo5+E?9U%e<5m7kbIb+ z+nJq>Uu3f7X3#!!Gax~n7yuC;A+N+|gKOt`rSn!!s=P9wgTwQbJd= z5hqSpL;;j`8!UMA?ZcbNM-0*elB~{xBUW_&iqh1qK`D6T6Sp607Vne5#U8|=m4|I6 zmBC?>H&>(J-Pu%(#Y+AOF8Y+~HQL8wZ|u8a;AiyjtE2swgQAi z>zmWf^(%bDRhwosBj@UCm$Aw!5uzxJN)=R6**mGJ(6e5yS zdV@+LSDet6?B1Y`%t4U_xr>M;EK5jePRLK22t!nIS5_frIM6oN&MFEZGGLCeknVVy zQkav?S&4{54&+}7j?>u^=lYJ%~N)5y0)_&B2hAlCZ&zHi6+z5mPV5$cAIFj zhCoM?^ir||C*#}Oc&Px2dZMS0SI#g)$JEAClt5&_qJ38re37u23t*Z-mQntw`V%uZd`+pl=d}LfKigb`ihZtri$8| zyv8JHpg!qEmF=}xpMxSrpuWfH%`ENJSAdZQ^Wl5L#qttI&m3WzLbjv%ep0$Q+4rwx zGgm)cd#unQHiEMlm?BcefaA^MxRf75HIlniA*8oInJ1QK<`QbDV^k6cQU}LT zWT@Lqo#K)l!(%12ubY#3rqaz*NSh^(kXZnXBXL*7KrS(gF32#Ws%v-0MbN}69HL_x zwV)$BQSQUc3g(~%gt*933-0z}to@QXlad2=C`3j)E64~oaFi6buVRCVD!Lt`WwfHu z$W&;4uP4nHI7FA|0dgD-pJ%Gp?wT?}R8ZtV=Ct5QD#9FD=PCjWsxB%SGD>PIL!>9^ zUcH{s?Imr%4zu!#B37)a3`ILl6+pxe!?&e{g$#93-uY3&E=$6Jck%)A&CTY{2P*R6Yfy1l)1q*%M^IDjRugy@w`p;gK; zag&SN`K@*XcD&MTRvMY?GU9S;CNpiv%&f<&02LA$BuV2L%7u_&lExl!MN2wkF!DH? zk=36AQSx?fHRT;Vsa`%>a4A6YRdUJe9+%20K`?rIcjH1Mb_vGixleNZq?PvTcrLrkjsl z_gN|pNIvluB_Gx$qRGlSV=bJWzp7;nA;~E{UCEho!*(QHOPBG!5z|q$-LZoVpC74Z6>5)FYbA_O$y{2eRP)Kp8$J4IX`Lk&S;WVB`O?`%+sEc*(ld;hGYc8g zIYu+GyKbP-^NbQf7SiBGgJ?yyJ&LH|@le!QRWBRv#mD;a8UtdbEV7R?-qG8(_K8K7 z%2!BW2No>AIKCO{WAfYjiU^XNn58S~NdG|V(azrHD=Wq%Yh@XTHDYzPwTuFa9F=9r zi+GD(+d3l_S+GN*&>!AN&MevdVy@$_X;2{^*((1Ryv=y{w*D_gC9~3Ia->TKZ8|Kn z$YhWA7$}Ln$;f7p)AF{c5y>dAS;^?OoG1rk$7Z!;9*jH^n|Yr5$7XqoFgB}teEc<| zv$j2cg+@85_zA;n-0Yi4m$vQk6(IRgKYp+BVEyTGKD~{45wm{c-D@!zc~C!mb*2~3 zo3V2p1#mLx(bD|Z=)fU5YM*6aa;--=a58JZPJ$AROo&ekrWWx@4U3LX&@&Vao0Dho zjH)%7Jwpve0hLPOPVZF|W|UP!;gQIIUZIczf1fYFKZ&kdGJA!3o)V92i0KNpo!Q|O z7f2vPRYI9DT@6_PSI-q0bXTsxt}#EP<*HMrnQLj5FNCF>=!rDT4dURv~7{P=cxL`%Daa~);6NA&?rmQZZe%j+jbN64pqIB zE<6;bt!bSdCZwN9QjH@kVqpcta^rHi$gH0-2b3Us z>Xu!lTp=bYF<>t#WiChVs9sEN;+3doh<~oGD6E4dYbYp|FP`-+Xn;vdWC+Sqxh2vW zPP6$oDK`WqsTiiO&<8J9(dn*jO~xaUK^%l1C|)@ice|d`w|#9EV0k95VkKF7 zrUI;nDb-;ICJ#m?iT5j?67AG5g95*_H0xIYMGhG&6&#o2(OVg3Y)%)|baO8JFYw5Q zWNpY6bPu8Jn{z7j+P>A12CyWqdL4hG(s=k57I*2zcc$$>$5)H-d8$%(^AjOSiPQsS zo!`9N9Il4~#4*Cujeg;L*g60%lK{Ge|+2}#bt zQXwGxruL9#C{(E! zRVGKn5XFI!qcT4Eb9~XX*>nw>@V@CP;@Mg9h61HGGZR;16agHi3b`=nJem%ddd%9M ztArz0HImp_%8am*$;>v?%H*I@j?Ae*Z8@SdfhwK(7mqO4rDSQVvj8rYr;o!53NH{H zR#1%};Tn`6ZO4y-LkTJea43_43cqb;+#`{pYMIE(bU$pNP!h4oQu&yp@r~|H+d63n zMEt5NJ(`RzH|EzjnCVyAGJQ-<6AAIiR^`cpw-4sgyr4O3v>6>HS*svfh6eoy$tfzC zD;tsD^p#;E7Fnv$p?K3{=%5kFsO0J`bOo0RT`Sv9&LeAU`|32Z$^$`R%I4d8Ai<%I zs?sNWTicf20TI6%sK}pPf>_C54peGdQH4gPs^_V>q}q&jvXeRi7@4Z{K=m>is+$YS z4K|gKsOFC<#?0)TnFcX9qd7WkOgLPOH|DeR$%WgPzk`if*v@lle zxY;*^A_L;T;Lp)rfTra(as;=(q90W(+tcBN4r$GVp+V&lDHU3Oz?ZU_y>=s;=E4DG z!j)8z=_T_V4u^8U2NOH08Z%0(M-S=+iMR?sRg)PrH<4&96?P`lr93U|tOBFHkaZV% za7M*gHiKY6_U?SH*Q1%fDlbzENk&9Z8OBsZ^F+Zr(Q2I*ttu#5e416uRuv&qR`dpu ztl&#UH4_%5s3k0!5m5>AF>bzu{lJD)A7J+7dBOmVJcZw=-bAggrQc9^e5^jWr;>mvMLEPk#Hvo3p{cu3H`gCB@98yTKLS2Y%P6eBvs)vL+WrDLrb3-!ch|V z%;WLrB)6M60n7B66Y+sqNmxZa8jLK6G58`rDZq>|>N�?>NFa688JsTo1c*1Ige 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%0Dsx& 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%0D{0x;V(m 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ɂ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Ƚ$rm7^RNI5u^3CR49l?+tFQ)Zu^t<+ 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 literal 0 HcmV?d00001 diff --git a/.doctrees/index.doctree b/.doctrees/index.doctree new file mode 100644 index 0000000000000000000000000000000000000000..82064589a1206fb9123ecb70405120f2d345cd2b GIT binary patch literal 466725 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