<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.30 (Ruby 3.4.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-acme-device-attest-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="ACME DA">Automated Certificate Management Environment (ACME) Device Attestation Extension</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-acme-device-attest-01"/>
    <author fullname="Brandon Weeks">
      <organization/>
      <address>
        <email>me@brandonweeks.com</email>
      </address>
    </author>
    <author fullname="Ganesh Mallaya">
      <organization/>
      <address>
        <email>ganesh.mallaya@appviewx.com</email>
      </address>
    </author>
    <author fullname="Sven Rajala">
      <organization/>
      <address>
        <email>sven.rajala@keyfactor.com</email>
      </address>
    </author>
    <date year="2026" month="January" day="29"/>
    <area>Security</area>
    <workgroup>ACME Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 64?>

<t>This document specifies new identifiers and a challenge for the
Automated Certificate Management Environment (ACME) protocol which allows validating the identity of a device using attestation.</t>
    </abstract>
  </front>
  <middle>
    <?line 69?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The Automatic Certificate Management Environment (ACME) <xref target="RFC8555"/> standard specifies methods for validating control over identifiers, such as domain names. It is also useful to be able to validate properties of the device requesting the certificate, such as the identity of the device /and whether the certificate key is protected by a secure cryptoprocessor.</t>
      <t>Many operating systems and device vendors offer functionality enabling a device to generate a cryptographic attestation of their identity, such as:</t>
      <ul spacing="normal">
        <li>
          <t><eref target="https://source.android.com/security/keystore/attestation">Android Key Attestation</eref></t>
        </li>
        <li>
          <t><eref target="https://developers.google.com/chrome/verified-access/overview">Chrome OS Verified Access</eref></t>
        </li>
        <li>
          <t><eref target="https://trustedcomputinggroup.org/resource/trusted-platform-module-tpm-summary/">Trusted Platform Module</eref></t>
        </li>
        <li>
          <t><eref target="https://support.apple.com/en-om/guide/deployment/dep28afbde6a/web">Managed Device Attestation for Apple Devices</eref></t>
        </li>
      </ul>
      <t>Using ACME and device attestation to issue client certificates for enterprise PKI is to be a common use case. The following variances to the ACME specification are described in this document:</t>
      <ul spacing="normal">
        <li>
          <t>Addition of <tt>permanent-identifier</tt> <xref target="RFC4043"/> and <tt>hardware-module</tt> <xref target="RFC4108"/> identifier types.</t>
        </li>
        <li>
          <t>Addition of the <tt>device-attest-01</tt> challenge type to prove control of the <tt>permanent-identifier</tt> and <tt>hardware-module</tt> identifier types.</t>
        </li>
        <li>
          <t>The challenge response payload contains a serialized WebAuthn attestation statement format instead of an empty JSON object (<tt>{}</tt>).</t>
        </li>
        <li>
          <t>Accounts and external account binding being used as a mechanism to pre-authenticate requests to an enterprise CA.</t>
        </li>
      </ul>
      <t>This document does not specify the attestation verification procedures. Section 13 of <xref target="WebAuthn"/> gives some guidance, however verification procedures are complex and may require changes to address future security issues.</t>
      <t>Efforts are underway within the Remote ATtestation ProcedureS (RATS) working group to define a set of standard formats and protocols for attestation. An explict aim of this document is to support vendor specific formats and protocols that are widely deployed at publication time of this specification.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="permanent-identifier">
      <name>Permanent Identifier</name>
      <t>A new identifier type, "permanent-identifier" is introduced to represent the identity of a device assigned by the manufacturer, typically a serial number. The name of this identifier type was chosen to align with <xref target="RFC4043"/>, it does not prescribe the lifetime of the identifier, which is at the discretion of the Assigner Authority.</t>
      <t>The identity along with the assigning organization can be included in the Subject Alternate Name Extension using the PermanentIdentifier form described in <xref target="RFC4043"/>.</t>
      <!-- Section 7.4 of RFC 8555 states "Specifications that define new identifier types must specify where in the certificate signing request these identifiers can appear." -->

<t>Clients <bcp14>MAY</bcp14> include this identifier in the certificate signing request (CSR). Alternatively if the server wishes to only issue privacy-preserving certificates, it <bcp14>MAY</bcp14> reject CSRs containing a PermanentIdentifier in the subjectAltName extension.</t>
    </section>
    <section anchor="hardware-module">
      <name>Hardware Module</name>
      <t>A new identifier type, "hardware-module" is introduced to represent the identity of the secure cryptoprocessor that generated the certificate key.</t>
      <!-- TODO: describe the certificate representation -->
<!-- TODO: describe how the CA assert the key is hardware backed without an identifier -->
<t>The hardware module identity can be included in the Subject Alternate Name Extension using the HardwareModuleName form described in <xref target="RFC4108"/>. The HardwareModuleName is encoded as an otherName with the OID id-on-hardwareModuleName (1.3.6.1.5.5.7.8.4) and consists of:</t>
      <ul spacing="normal">
        <li>
          <t>hwType: An OBJECT IDENTIFIER that identifies the type of hardware module</t>
        </li>
        <li>
          <t>hwSerialNum: An OCTET STRING containing the hardware module serial number</t>
        </li>
      </ul>
      <t>Clients <bcp14>MAY</bcp14> include this identifier in the certificate signing request (CSR). When included in a CSR, it <bcp14>MUST</bcp14> appear in an extensionRequest attribute <xref target="RFC2985"/> requesting a subjectAltName extension.</t>
      <t>If the server includes HardwareModule in the subjectAltName extension the CA <bcp14>MUST</bcp14> verify that the certificate key was generated on the secure cryptoprocessor with the asserted identity and type. The key <bcp14>MUST NOT</bcp14> be able to be exported from the cryptoprocessor.</t>
      <t>If the server wishes to issue privacy-preserving certificates, it <bcp14>MAY</bcp14> omit HardwareModule from the subjectAltName extension.</t>
    </section>
    <section anchor="device-attestation-challenge">
      <name>Device Attestation Challenge</name>
      <t>The client can prove control over a permanent identifier of a device by
providing an attestation statement containing the identifier of the device.</t>
      <t>The device-attest-01 ACME challenge object has the following format:</t>
      <dl>
        <dt>type (required, string):</dt>
        <dd>
          <t>The string "device-attest-01".</t>
        </dd>
        <dt>token (required, string):</dt>
        <dd>
          <t>A random value that uniquely identifies the challenge.</t>
        </dd>
      </dl>
      <artwork><![CDATA[
{
  "type": "device-attest-01",
  "url": "https://example.com/acme/chall/Rg5dV14Gh1Q",
  "status": "pending",
  "token": "evaGxfADs6pSRb2LAv9IZf17Dt3juxGJ-PCt92wr-oA"
}
]]></artwork>
      <t>A client fulfills this challenge by constructing a key authorization (<xref section="8.1" sectionFormat="of" target="RFC8555"/>)
 from the "token" value provided in the challenge and the client's
 account key. The client then generates a WebAuthn attestation object using the key authorization as the challenge.</t>
      <t>This specification borrows the WebAuthn <em>attestation object</em> representation as described in Section 6.5.4 of <xref target="WebAuthn"/> for encapsulating attestation formats, but with these modifications:</t>
      <ul spacing="normal">
        <li>
          <t>The key authorization is used to form <em>attToBeSigned</em>. This replaces the concatenation of <em>authenticatorData</em> and <em>clientDataHash</em>. <em>attToBeSigned</em> is hashed using an algorithm specified by the attestation format. <!-- TODO: ^^^ perhaps add more cross-refs or context about "using an algorithm specified by the attestation format" -->
          </t>
        </li>
        <li>
          <t>The <em>authData</em> field is unused and <bcp14>SHOULD</bcp14> be omitted.</t>
        </li>
      </ul>
      <t>A client responds with the response object containing the WebAuthn attestation object in the "attObj" field to acknowledge that the challenge can be validated by the server.</t>
      <t>On receiving a response, the server constructs and stores the key authorization from the challenge's "token" value and the current client account key.</t>
      <t>To validate a device attestation challenge, the server performs the following steps:</t>
      <ol spacing="normal" type="1"><li>
          <t>Perform the verification procedures described in Section 6 of <xref target="WebAuthn"/>.</t>
        </li>
        <li>
          <t>Verify that key authorization conveyed by <em>attToBeSigned</em> matches the key authorization stored by the server.</t>
        </li>
      </ol>
      <!-- This specification defines a new challenge response field `attObj` to contain WebAuthn attestation objects as described in Section 7.5.1 of {{RFC8555}}. -->

<artwork><![CDATA[
POST /acme/chall/Rg5dV14Gh1Q
Host: example.com
Content-Type: application/jose+json

{
  "protected": base64url({
    "alg": "ES256",
    "kid": "https://example.com/acme/acct/evOfKhNU60wg",
    "nonce": "SS2sSl1PtspvFZ08kNtzKd",
    "url": "https://example.com/acme/chall/Rg5dV14Gh1Q"
  }),
  "payload": base64url({
    "attObj": base64url(/* WebAuthn attestation object */),
  }),
  "signature": "Q1bURgJoEslbD1c5...3pYdSMLio57mQNN4"
}
]]></artwork>
      <t>The webauthn payload <bcp14>MAY</bcp14> contain any identifiers registered in "WebAuthn Attestation Statement Format Identifiers" and any extensions registered in "WebAuthn Extension Identifiers" <xref target="IANA-Webauthn"/>, <xref target="RFC8809"/>.</t>
    </section>
    <section anchor="operational-considerations">
      <name>Operational Considerations</name>
      <t>Although this document focuses guidance on implementing new type and challenge for certificate issuance using ACME, it does not define a New Protocol, a Protocol Extension, or an architecture.</t>
      <section anchor="enterprise-pki">
        <name>Enterprise PKI</name>
        <t>ACME was originally envisioned for issuing certificates in the Web PKI, however this extension will primarily be useful in enterprise PKI. The subsection below covers some operational considerations for an ACME-based enterprise CA.
<!-- TODO: ^^^ perhaps also mention/cover IoT attestation PKI usecases -->
        </t>
        <section anchor="external-account-binding">
          <name>External Account Binding</name>
          <t>An enterprise CA likely only wants to receive requests from authorized devices. It is <bcp14>RECOMMENDED</bcp14> that the server require a value for the "externalAccountBinding" field to be
present in "newAccount" requests.</t>
          <t>If an enterprise CA desires to limit the number of certificates that can be requested with a given account, including limiting an account to a single certificate. After the desired number of certificates have been issued to an account, the server <bcp14>MAY</bcp14> revoke the account as described in Section 7.1.2 of <xref target="RFC8555"/>.</t>
        </section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Please reference <xref target="RFC8555"/> for other security considerations.</t>
      <t>See Section 13 of <xref target="WebAuthn"/> for additional security considerations related to attestation statement formats, including certificate revocation.</t>
      <t>Key attestation statements may include a variety of information in addition to the public key being attested. While not described in this document, the server <bcp14>MAY</bcp14> use any policy when evaluating this information. This evaluation can result in rejection of a certificate request that features a verifiable key attestation for the public key contained in the request. For example, an attestation statement may indicate use of an unacceptable firmware version.</t>
      <t>The "token" value <bcp14>MUST</bcp14> have at least 128 bits of entropy. It <bcp14>MUST NOT</bcp14> contain any characters outside the
base64url alphabet, including padding characters ("="). See <xref target="I-D.ietf-tls-rfc8446bis"/>, Appendix C.1 for additional information on randomness requirements.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="acme-identifier-types">
        <name>ACME Identifier Types</name>
        <t>The "ACME Identifier Types" registry is to be updated to include the following entries:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Label</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">permanent-identifier</td>
              <td align="left">RFC XXXX</td>
            </tr>
            <tr>
              <td align="left">hardware-module</td>
              <td align="left">RFC XXXX</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="acme-validation-method">
        <name>ACME Validation Method</name>
        <t>The "ACME Validation Methods" registry is to be updated to include the following entry:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Label</th>
              <th align="left">Identifier Type</th>
              <th align="left">ACME</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">device-attest-01</td>
              <td align="left">permanent-identifier</td>
              <td align="left">Y</td>
              <td align="left">RFC XXXX</td>
            </tr>
          </tbody>
        </table>
        <!-- Begin WebAuthn registry text -->
<!-- Editor's note: the below text was written by Carl Wallance as part of draft-wallace-lamps-key-attestation-ext. These registries only need to be established by a single document, so if they are established by another document prior to this document being approved, this text will be removed and replaced with a reference to the other document.  -->

</section>
      <section anchor="new-error-types">
        <name>New Error Types</name>
        <t>This document adds the following entries to the ACME Error Type registry:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Type</th>
              <th align="left">Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">badAttestationStatement</td>
              <td align="left">The attestation statement is unacceptable (e.g. not signed by an attestation authority trusted by the CA)</td>
              <td align="left">RFC XXXX</td>
            </tr>
          </tbody>
        </table>
        <!-- End WebAuthn registry text -->

</section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC4108">
          <front>
            <title>Using Cryptographic Message Syntax (CMS) to Protect Firmware Packages</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="August" year="2005"/>
            <abstract>
              <t>This document describes the use of the Cryptographic Message Syntax (CMS) to protect firmware packages, which provide object code for one or more hardware module components. CMS is specified in RFC 3852. A digital signature is used to protect the firmware package from undetected modification and to provide data origin authentication. Encryption is optionally used to protect the firmware package from disclosure, and compression is optionally used to reduce the size of the protected firmware package. A firmware package loading receipt can optionally be generated to acknowledge the successful loading of a firmware package. Similarly, a firmware package load error report can optionally be generated to convey the failure to load a firmware package. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4108"/>
          <seriesInfo name="DOI" value="10.17487/RFC4108"/>
        </reference>
        <reference anchor="RFC4043">
          <front>
            <title>Internet X.509 Public Key Infrastructure Permanent Identifier</title>
            <author fullname="D. Pinkas" initials="D." surname="Pinkas"/>
            <author fullname="T. Gindin" initials="T." surname="Gindin"/>
            <date month="May" year="2005"/>
            <abstract>
              <t>This document defines a new form of name, called permanent identifier, that may be included in the subjectAltName extension of a public key certificate issued to an entity.</t>
              <t>The permanent identifier is an optional feature that may be used by a CA to indicate that two or more certificates relate to the same entity, even if they contain different subject name (DNs) or different names in the subjectAltName extension, or if the name or the affiliation of that entity stored in the subject or another name form in the subjectAltName extension has changed.</t>
              <t>The subject name, carried in the subject field, is only unique for each subject entity certified by the one CA as defined by the issuer name field. However, the new name form can carry a name that is unique for each subject entity certified by a CA. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4043"/>
          <seriesInfo name="DOI" value="10.17487/RFC4043"/>
        </reference>
        <reference anchor="RFC8555">
          <front>
            <title>Automatic Certificate Management Environment (ACME)</title>
            <author fullname="R. Barnes" initials="R." surname="Barnes"/>
            <author fullname="J. Hoffman-Andrews" initials="J." surname="Hoffman-Andrews"/>
            <author fullname="D. McCarney" initials="D." surname="McCarney"/>
            <author fullname="J. Kasten" initials="J." surname="Kasten"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>Public Key Infrastructure using X.509 (PKIX) certificates are used for a number of purposes, the most significant of which is the authentication of domain names. Thus, certification authorities (CAs) in the Web PKI are trusted to verify that an applicant for a certificate legitimately represents the domain name(s) in the certificate. As of this writing, this verification is done through a collection of ad hoc mechanisms. This document describes a protocol that a CA and an applicant can use to automate the process of verification and certificate issuance. The protocol also provides facilities for other certificate management functions, such as certificate revocation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8555"/>
          <seriesInfo name="DOI" value="10.17487/RFC8555"/>
        </reference>
        <reference anchor="RFC8809">
          <front>
            <title>Registries for Web Authentication (WebAuthn)</title>
            <author fullname="J. Hodges" initials="J." surname="Hodges"/>
            <author fullname="G. Mandyam" initials="G." surname="Mandyam"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <date month="August" year="2020"/>
            <abstract>
              <t>This specification defines IANA registries for W3C Web Authentication (WebAuthn) attestation statement format identifiers and extension identifiers.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8809"/>
          <seriesInfo name="DOI" value="10.17487/RFC8809"/>
        </reference>
        <reference anchor="I-D.ietf-tls-rfc8446bis">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="Eric Rescorla" initials="E." surname="Rescorla">
              <organization>Independent</organization>
            </author>
            <date day="13" month="September" year="2025"/>
            <abstract>
              <t>   This document specifies version 1.3 of the Transport Layer Security
   (TLS) protocol.  TLS allows client/server applications to communicate
   over the Internet in a way that is designed to prevent eavesdropping,
   tampering, and message forgery.

   This document updates RFCs 5705, 6066, 7627, and 8422 and obsoletes
   RFCs 5077, 5246, 6961, 8422, and 8446.  This document also specifies
   new requirements for TLS 1.2 implementations.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-rfc8446bis-14"/>
        </reference>
        <reference anchor="WebAuthn" target="https://www.w3.org/TR/webauthn-2/">
          <front>
            <title>Web Authentication: An API for accessing Public Key Credentials Level 2</title>
            <author fullname="Jeff Hodges">
              <organization>Google</organization>
            </author>
            <author fullname="J.C. Jones">
              <organization>Mozilla</organization>
            </author>
            <author fullname="Michael B. Jones">
              <organization>Microsoft</organization>
            </author>
            <author fullname="Akshay Kumar">
              <organization>Microsoft</organization>
            </author>
            <author fullname="Emil Lundberg">
              <organization>Yubico</organization>
            </author>
            <date year="2021" month="April"/>
          </front>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC2985">
          <front>
            <title>PKCS #9: Selected Object Classes and Attribute Types Version 2.0</title>
            <author fullname="M. Nystrom" initials="M." surname="Nystrom"/>
            <author fullname="B. Kaliski" initials="B." surname="Kaliski"/>
            <date month="November" year="2000"/>
            <abstract>
              <t>This memo represents a republication of PKCS #9 v2.0 from RSA Laboratories' Public-Key Cryptography Standards (PKCS) series, and change control is retained within the PKCS process. The body of this document, except for the security considerations section, is taken directly from that specification. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2985"/>
          <seriesInfo name="DOI" value="10.17487/RFC2985"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="IANA-Webauthn" target="https://www.iana.org/assignments/webauthn/webauthn.xhtml">
          <front>
            <title>IANA Registries for Web Authentication (WebAuthn)</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
      </references>
    </references>
    <?line 260?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thank you for all the reivews from the work group.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
DG3ySJBgE3uetfNVJJgzF/U0VbAZzExWHk6MKePjuzLMlhmsr1UXwky40M6u
dXGgznpNPjo3RbW6qqATDjBwstY9k4dFBwxru9lsv+/1Sar6J+u0N+oAAaW8
AbPZPnfAqEWUYkWwEloVqywGi0C3uA4YjlxY89/uz7vzGOsgeZ3+lv0P8GtV
JPjRlnjELU9tcQcbZ11auXs9exD90jt6Pu/9rKchtyuFM3NBCbh+TefBt2LB
n99OByfqYT66nhy+Hiwen/1r2nt0Ut7/VN0+f+lfDcvHh8vCl4OO96VJswcH
N4oyrZJpnFAWF6uGSCCURYgtCyz4Ejag5eiWjg3r9u7ubHR1HPRQ8t+56u6+
V2u0IdkwWWtX7ZTqPclSnQ7/oDxXgUAnzBrqjWUGhw1YithaEDFqVTu1zSPw
TdmON9JTNpFFgYV0HOp2+rC51Yd2DICV6abDtOx6CM6MwtF3drn3pvwGOZ2q
El3q5eslQ0y9DxgguEM7RX6njl7JE463HhTORIUbwCry40j9WD4VI8pcPiB3
YQiQn/DQKrzMELYyVw7+0KjvyOKEl/wDyeyDlgq+eMHVHBZrra4jG8DKyPYZ
MIGdYUYxT1353+VPm+cOWCOS+u233xDG5sApLMMAC8ghSKX8QkwhIigIngA4
Ad0xeOr8tU11WK4ZSkfXJ4ZJSUT8zHQpDDhg8l5wIgjt4ENAj5yJ6ZpepGon
5ap8RkNbaPo1ZTZG04FPl5NPHUMNJofhTSaXiYhmouFSnW2ZiNB2PtyxtScD
ci8zICsU8UJbuyXxoOnvHCLoCg1V8NUOy6qdqKXhB9VCAmfvVVGQU9H8aho9
mGOjXcO31bTd+mukgoKgFNsORZUiRzPpBZiukCXggF3FwO3Gu264gXcY6GaF
iWU2eRFiaWulmd42DVC0cL6Ti8TiTWFpa9gEKp24IiBiCrWlrKzV5aPWno+o
N0b3vqZ0aieOPQIc6+m6aw39gU5nG/7m6hICrh2+znshVdlnDafoDdF6s9LX
ET12Qsz5up+kEv/1ScnM037X9dDAH064Eg+PwNfu3VFDtwPGjm7ydHT44CG5
Tnh3E0dfdcWge2VXLC6nr+YXbx7eW87sxAzAkFz8aHSoRknvqlT54tm/7h3f
XJS/v4rssD/v6mHel31y7Kbkv/Uo2tqbX7o/fhUnfuzSomZpTCg41qOQuJ97
kzfXs5fyVCWTk174IAiC+/mv0ej8dSwfPEp/vrg4ascLCIG23e1aExjJWu3B
HmWzulFQ/10UWl06jtJm4Dpy0eQz3a+o6waqo9visKqLf3cvWuevayu8W7sk
8P6A0lW8GvOeQulL3VLFRinWnhWQr38rwO4E0+7ZvFXgncKDAvOy3QRMSmIU
MH5FeEGro1CVUtS1ln4zu8FsgeZXrmO3XsRzZf4LWPDKVNoPsMZiG/zuzAfo
79C1FeE8RmOoqAL8/ffsdK2X51HMjTkVoMsszqgiKbJFjIsIaiAQXe2kxXoc
vEIBy9QNFGJNndktIYrEBCjlRQwrT4RtvcdZq6uoIzlIc5RBkYkAdAZVWqDm
ULtGNmQTrslGtzQy4pmP1hC1O0u7IgW8DZDqBkOX9mJncrxmOtjxBKKxvak0
hn2PbLTtMNMkY091O8wbtJpaLIlvMG/QRXue6daXdqqNdhg5RovywrZp3a2F
Rj289uPGqdk+FDcO1FwVgVTA0GhINBQ2ooOJ8GxpDE0H9NQM7TjCdHbb7tQh
7seFTnKTGPNW3FDXNxD411SF6DWRhlnW1LCAZOzGZda5H5gKAmobLWsDNMNj
DGgYGkeyVhcI2GBamisVmrBoFy1zDkyfCKyYYG4emTak27/BVl3VXEBooiNB
Q8Nup9cLDrXTq30eIoq95LgBJ1eJAJ2CPaYAXmj3TXdJUqSyWN1FXNd5WHwk
xNc6nWQUpqcNmrpjHSAg0TVO+dXGsWpKZ73CuZCuY4f3PrauoqhnastdnK4G
CF2Gdbe4EDgzR7K9M6C7hRQG6V6zXh/CafZ2HoMqaGzcdYNgQ6h4WQF9SC5h
Wd1IYwJNx16GogqyI8kkQXaEaVyA8lcJmY2ufJtkiLc4Y+v8YAFTQb4WwzAd
WFKR6abFL2u8jUMbb1rnxmbZAD2kDZEOdldlNN8jTRIeXnf+qwwvw+QlkTGN
i5Qqloi2WpLjjRydKmRkQXAcVN6S9Q6P2SSmgisiRCHzFUGWK6Y1QwFwfXgJ
DvEcEjBUQbrS5qIXQON8zidiDQdyVAfUuHryXudvnX3s8aPJ7LjNig2wQU4l
kls2hHC0ZQxNnYP/64JPhr17A6eks2TAdHWwbbzgAsh1NroaGJiapnRn67eO
iVWKVX2Fpsoja3x1KbiZmyBXY4HZyWf2GpiTsNbfZ3btEOQzDOr7m3+s8ZoG
bWtz4krPhuyf8MdoUKu14rZrDHJ8+MXcywNentN1vSYjNj7+dVastjPic5vZ
9jXt/20msW/wbYOBG8XLnTxl7NctfKN45CnwoJFjOZZQlcJ1ik5BaWXxA8WA
kPkgT3RsRMMwdlsWWF7IMCEccrCjt3gTPaMeNNhPQXdC9L38JX4BuhMADeUD
uvgNzPBhPQrDyCu5q7IUuWRCRLYirhAzYirc6EuK2iPXgAsxlW4truj2Q3tC
pv2aC6AhqkDUk6242oB9ThXr6EB/1WfGqJKiiRQ/UVxtilQusKjdqnEj65sG
zMZyFE2fFoVsWPDa/Y0oatcLjE2uXWqrV3ByBFUFTam1kX0+IS+VkyXAzzWd
3KJ++Pd55y9UwwmPGslTnTt9pmh6uz+gIlUD+/dEMAv0NSt3YaHlTLjt9DNz
0dHWHoaD/bZmG6XNoq8pNt0ixm6mR1c0Bq5MRbDr3fV1/Caiv3WmEKOLzhcU
C89u2EpWGstBBbQzhAhyqerKEt6O0lejAu9/ASPpei0qMwAA

-->

</rfc>
