<?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.39 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-geng-acme-idp-00" category="std" consensus="true" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title abbrev="ACME PK Challenge">Automated Certificate Management Environment (ACME) Identity‑Controlled Validation Extension</title>
    <seriesInfo name="Internet-Draft" value="draft-geng-acme-idp-00"/>
    <author initials="F." surname="Geng" fullname="Feng Geng">
      <organization>Huawei Technologies</organization>
      <address>
        <email>gengfeng@huawei.com</email>
      </address>
    </author>
    <author initials="P." surname="Wu" fullname="Panyu Wu">
      <organization>Huawei Technologies</organization>
      <address>
        <email>wupanyu3@huawei.com</email>
      </address>
    </author>
    <author initials="X." surname="Chen" fullname="Xin Chen">
      <organization>TrustAsia</organization>
      <address>
        <email>palos.chen@trustasia.com</email>
      </address>
    </author>
    <date year="2026" month="May" day="19"/>
    <workgroup>Automated Certificate Management Environment Working Group</workgroup>
    <keyword/>
    <keyword/>
    <keyword/>
    <abstract>
      <?line 73?>

<t>This document defines an Identity Control Validation (ICV) framework for the ACME protocol <xref target="RFC8555"/>, introducing a new ACME identifier type "idp" and a new challenge type "idp-01". The ICV framework allows ACME servers to delegate trusted Identity Providers (IdPs) to verify certificate applicants’ control over the claimed identities.</t>
      <t>This document also defines an optional X.509 certificate extension, the Trust‑Domain‑Restricted Certificate Extension, which explicitly indicates that certificates issued via the ICV framework are backed by a specific IdP trust domain and whose trustworthiness depends on the current status and policies of that IdP, preventing trust leakage into contexts outside the IdP’s trust domain.</t>
      <t>This extension is parallel to Domain Control Validation (DCV) <xref target="RFC8555"/>; either can independently verify an applicant’s control over identities/resources and request certificates. Proof‑of‑Possession (PoP) <xref target="I-D.geng-acme-public-key"/> serves as an auxiliary enhancement framework. Based on this architecture, two standardized certificate enrollment models are formed: the Domain Validation model (DCV + optional PoP) and the Identity Validation model (ICV + optional PoP). This document focuses on the latter.</t>
      <t>This document defines three deployment models: the IdP‑Operated Certificate Model, the Intra‑PKI Domain Mutual‑Trust Model, and the CA‑Integrated IdP Model. It supports multiple authentication protocols via the extensible <tt>idp_method</tt> parameter, covering both device and account identities.</t>
    </abstract>
  </front>
  <middle>
    <?line 83?>

<section anchor="intro">
      <name>Introduction</name>
      <section anchor="verification-dimensions-in-acme">
        <name>Verification Dimensions in ACME</name>
        <t>ACME <xref target="RFC8555"/> models certificate enrollment as an "Order", which contains a set of "identifiers". Each identifier corresponds to an "authorization" holding a set of "challenges". Existing challenges such as "dns‑01" and "http‑01" address Domain Control Validation (DCV). However, business requirements for certificate issuance also include Proof‑of‑Possession (PoP) and Identity Control Validation (ICV). These three dimensions are mutually independent and shall be standardized as separate frameworks to allow flexible combination by CAs.</t>
        <t>In non‑DCV scenarios such as S/MIME, code signing, device certificates, and cross‑enterprise trust‑domain mutual recognition, the core identifiers of certificates shift from domain names to email addresses, accounts, device serial numbers, or user identity IDs. Accordingly, the security foundation must change from "control of communication resources" to "control of the claimed identity". The current ACME ecosystem lacks a general‑purpose identity validation framework under autonomous CA control. The ICV framework defined in this document aims to fill this gap.</t>
        <t>From a PKI architectural perspective, this gap also reflects a deeper structural issue: the lack of standardization of Registration Authority (RA) functions. In traditional PKI deployments, the RA verifies the identity of certificate applicants and forwards their requests to the CA; however, RA implementations across different CAs are not interoperable with one another. By formalizing the role of an IdP as "an entity holding an X.509 operational certificate with a specific EKU" (see Section 4.1 for details), this document transforms the RA process previously relying on proprietary interfaces or manual workflows into a standardized authorized entity that can be automatically managed via the standard ACME protocol and validated through standard X.509 path validation.</t>
      </section>
      <section anchor="review-of-prior-work-and-scope-of-this-document">
        <name>Review of Prior Work and Scope of This Document</name>
        <t>The ACME Working Group has undertaken several exploratory efforts in the area of non‑DCV identity validation. This section briefly reviews the core contributions and remaining issues of these works to clarify the scope and positioning of this document.</t>
        <t><strong>(a) <xref target="I-D.biggs-acme-sso"/></strong>：</t>
        <t>This draft proposes the "sso‑01" challenge and introduces the concept of involving third‑party identity providers in ACME validation. This document inherits the "third‑party IdP integration" concept from that draft, fully returns trust‑anchor control to the CA (see Section 7.6 for details), and extends it into a more general ICV framework.</t>
        <t><strong>(b) <xref target="RFC8823"/></strong>：</t>
        <t>This specification defines the "email" identifier type and the "email‑reply‑00" challenge to support automated issuance of end‑user S/MIME certificates. This document does not modify the protocol behavior of <xref target="RFC8823"/>; "idp‑01" and "email‑reply‑00" may coexist and are selected by the CA according to policy — idp‑01 elevates the security foundation to "proof of control over an identity".</t>
        <t><strong>(c) <xref target="I-D.ietf-acme-client"/></strong>：</t>
        <t>This draft pioneered the identification of automation requirements for end‑user, device, and code‑signing certificates, describing applicable use cases for ACME in these scenarios. Building upon those scenarios, this document further provides a standardized identity validation mechanism.</t>
        <t><strong>(d) <xref target="I-D.ietf-acme-telephone"/></strong>：</t>
        <t>This draft explored validating telephone number identifiers via external authorities, extending ACME’s applicability to non‑DNS identifiers. This document further expands the validation scope to more general identity control scenarios.</t>
        <t><strong>(e) <xref target="I-D.ietf-acme-device-attest"/></strong>：</t>
        <t>This draft leverages hardware trust roots such as TPM and WebAuthn to verify device identities, targeting device trust‑root and hardware attestation scenarios. Complementary to it, this document covers two dimensions respectively: "what the device is" and "who controls the device".</t>
        <t><strong>(f) <xref target="RFC9447"/> ("tkauth-01") and <xref target="I-D.ietf-acme-openid-federation"/></strong>：</t>
        <t>The former establishes a general‑purpose authoritative token challenge framework, while the latter introduces the multi‑layer trust chain mechanism of OpenID Federation. Both provide important references for the design of <tt>acmeIdpToken</tt> and cross‑domain trust propagation in this document. <xref target="RFC9447"/> does not independently address identity validation issues; the boundary between this document and <xref target="RFC9447"/> is detailed in Section 7.8.</t>
        <t>In summary, existing efforts have advanced ACME adoption in non‑DCV scenarios from perspectives including identifier extension, challenge mechanisms, and trust‑chain collaboration. This document focuses on defining a general‑purpose, independently deployable identity control validation framework with CA‑led trust anchors, forming a parallel, complementary, and extensible relationship with existing work.</t>
      </section>
      <section anchor="design-principles">
        <name>Design Principles</name>
        <ul spacing="normal">
          <li>
            <t>Separation of Concerns: ICV solely validates identity control. DCV and PoP are handled by existing frameworks.</t>
          </li>
          <li>
            <t>Prioritize closed‑loop trust within the PKI ecosystem: Reuse the existing X.509 and ACME standards stack.</t>
          </li>
          <li>
            <t>CA Trust Anchor Supremacy over IdP: The CA proactively authorizes IdPs and retains final decision‑making authority over the certificate lifecycle.</t>
          </li>
          <li>
            <t>Pluggable Authentication Mechanisms: Different authentication protocols are adapted via the <tt>idp_method</tt> parameter. This document defines a unified ACME challenge flow, while specific authentication implementations are selected by the IdP according to scenarios.</t>
          </li>
        </ul>
      </section>
      <section anchor="solution-overview">
        <name>Solution Overview</name>
        <t>This document defines the core components of the ICV framework: the "idp" identifier type and the "idp‑01" challenge type. ICV and DCV are peer‑level mechanisms; each can complete validation independently and request certificates via CSR. PoP serves as an auxiliary enhancement framework and may be used in combination with ICV.</t>
        <t>The three deployment modes correspond to different relationships between CAs and IdPs respectively. Mode 1 (IdP Operational Certificate Model) applies to non‑CA IdPs; Mode 2 (Intra‑PKI Domain Mutual‑Recognition Model) applies to scenarios where both parties operate private CAs; Mode 3 (CA‑Integrated IdP Model) applies to scenarios where the CA directly manages user/device identities itself. The external protocol interactions remain consistent across all three modes, with differences only in internal trust‑establishment paths. See Section 4 for details.</t>
        <t>The ICV framework involves two specialized variants of ACME clients:</t>
        <ul spacing="normal">
          <li>
            <t>ACME‑ICV Client: Deployed on end‑user/device side, it is responsible for registering identity certificates for users or devices using the "idp‑01" challenge.</t>
          </li>
          <li>
            <t>ACME‑IDP Client: Deployed on the IdP side and used only in Mode 1, it encapsulates the logic for enrollment, renewal, and revocation of operational certificates.</t>
          </li>
        </ul>
        <t>The detailed behaviors of the two types of clients are defined in Sections 4.1 and 5.2, respectively.</t>
        <t>This document also defines an optional X.509 certificate extension, <tt>trust_domain_restriction</tt> (see Section 6.5). CAs <strong>MAY</strong> include this extension when issuing certificates generated via the ICV path to explicitly indicate that the trustworthiness of such certificates relies on a specific IdP trust domain. The extension is defined as non‑critical by default to ensure deployment compatibility with the existing TLS/S/MIME ecosystem; CAs <strong>MAY</strong> optionally mark it as critical based on deployment context. Design rationale is provided in Section 3.2, and relying‑party validation logic is specified in Section 7.10.</t>
        <t>By default, the <tt>acmeIdpToken</tt> includes a <tt>bound_to_order</tt> claim that cryptographically binds the token to the byte‑level hash of the current "newOrder", aligning with the order‑binding semantics of the "pk‑01" challenge defined in <xref target="I-D.geng-acme-public-key"/>. See Sections 6.3 and 7.9 for details.</t>
      </section>
      <section anchor="relationship-to-existing-work">
        <name>Relationship to Existing Work</name>
        <t>The table below summarizes the relationship between this document and existing ACME work; detailed comparisons are provided in Sections 7.6 through 7.8.</t>
        <artwork><![CDATA[
 +---------------------------------------+------------------------------------------+
 | Existing Documents                    | Relationship                             |
 +---------------------------------------+------------------------------------------+
 | RFC 8555                              | Parallel (DCV vs. ICV)                   |
 | RFC 8823 (email-reply-00)             | Enhanced security, coexistent            |
 | draft-ietf-acme-client                | Requirements vs. Implementation          |
 | draft-biggs-acme-sso (Expired)        | Inherited principles                     |
 | RFC 9447 (tkauth-01)                  | Complementary: Identity vs. Authorization|
 | draft-ietf-acme-openid-federation     | Hierarchical Collaboration               |
 | draft-ietf-acme-device-attest         | Complementary: Hardware vs. Subject      |
 | draft-ietf-acme-profiles              | Template selection, complementary        |
 | draft-geng-acme-public-key (pk-01)    | Auxiliary PoP Enhancement                |
 +---------------------------------------+------------------------------------------+
]]></artwork>
        <t>This document has no overlap or conflict with existing work in terms of motivation, security model, or protocol behavior.</t>
        <t>Note: All references to [I‑D.draft‑geng‑acme‑public‑key] within this document refer to the unsubmitted version 07.</t>
      </section>
    </section>
    <section anchor="terminology-and-definitions">
      <name>Terminology and Definitions</name>
      <t>The key words "<strong>MUST</strong>", "<strong>MUST NOT</strong>", "<strong>REQUIRED</strong>", "<strong>SHALL</strong>", "<strong>SHALL NOT</strong>", "<strong>SHOULD</strong>", "<strong>SHOULD NOT</strong>", "<strong>RECOMMENDED</strong>", "<strong>NOT RECOMMENDED</strong>", "<strong>MAY</strong>", and "<strong>OPTIONAL</strong>" 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>
      <ul spacing="normal">
        <li>
          <t>ACME Server (AS): A CA that implements the ACME protocol and issues certificates.</t>
        </li>
        <li>
          <t>Identity Provider (IdP): An independent service trusted by the AS that verifies a requester’s control over a claimed identity. In Mode 3, the IdP functionality is performed by the CA itself. In Mode 1, the IdP acts as a formally authorized RA of the CA by holding an operational certificate issued by the CA.</t>
        </li>
        <li>
          <t>ACME‑ICV Client: A variant of the ACME client deployed on the EE side, responsible for registering identity certificates using the "idp‑01" challenge.</t>
        </li>
        <li>
          <t>ACME‑IDP Client: A variant of the ACME client deployed on the IdP side, responsible for automated full‑lifecycle management of IdP operational certificates. Used only in Mode 1.</t>
        </li>
        <li>
          <t>IdP Identifier: An identity identifier declared in "newOrder". Its value field is a string that identifies the claimed identity, formatted as a URI to ensure namespace isolation across different identity types (e.g., <eref target="https://mailto:user@example.org">mailto:user@example.org</eref>, urn:vin:1HGCM82633A123456, urn:sn:DEV‑XYZ‑001).</t>
        </li>
        <li>
          <t>idp‑01 Challenge: An ACME challenge type that delegates identity control validation to the IdP.</t>
        </li>
        <li>
          <t>acmeIdpToken: A JWT <xref target="RFC7519"/> issued by the IdP to prove completion of identity authentication. It is transmitted under the field name "acmeIdpToken" in the ACME challenge response message. It may optionally include a bound_to_order claim to cryptographically bind the token to the current newOrder (see Sections 6.3 and 7.9).。</t>
        </li>
        <li>
          <t>idp_method: Identifier of the authentication protocol used by the IdP.</t>
        </li>
        <li>
          <t>IdP Operational Certificate: An X.509 certificate issued by the CA to the IdP, with its EKU containing id‑kp‑acmeIdpTokenSigning. It serves as the core mechanism to formally authorize the IdP as a CA‑endorsed RA. This certificate is used only in Mode 1; its format and extension definitions are specified in Section 6.7. The CA may require the IdP to apply for operational certificates of different validation levels (e.g., DV or OV) per security policies.</t>
        </li>
        <li>
          <t>Trust‑Domain‑Restricted Certificate: An X.509 certificate containing the trust_domain_restriction extension defined in this document (see Section 6.5). This extension explicitly indicates that the trustworthiness of the certificate relies on the specified IdP trust domain, and relying parties shall validate it in conjunction with IdP status and policies.</t>
        </li>
        <li>
          <t>Certificate Public Key: The public key bound to the finally issued certificate. In the ICV + PoP combined branch, this public key is derived from the value field of the "pk" identifier in newOrder (i.e., the base64url‑encoded SubjectPublicKeyInfo <xref target="RFC5480"/>, in accordance with <xref target="I-D.geng-acme-public-key"/>); in the standalone ICV trust‑idp‑PoP branch, it is taken from the confirmed_public_key claim of acmeIdpToken; in the standalone ICV + CSR branch, it comes from the PKCS#10 CSR provided during the finalize phase.</t>
        </li>
      </ul>
    </section>
    <section anchor="icv-framework-architecture">
      <name>ICV Framework Architecture</name>
      <section anchor="three-validation-dimensions-and-three-major-protocol-frameworks">
        <name>Three Validation Dimensions and Three Major Protocol Frameworks</name>
        <t>The ACME protocol suite comprises three independent validation dimensions, each corresponding to one protocol framework.</t>
        <t>DCV and ICV are in a parallel relationship; both can independently complete identity validation and request certificates. PoP is an auxiliary enhancement framework.</t>
        <figure anchor="tab-01">
          <name>Three Validation Dimensions and Three Major Protocol Frameworks</name>
          <artwork><![CDATA[
+-----------------------------------+-----------+---------------------------------+
| Dimension                         | Framework | Core Question                   |
+-----------------------------------+-----------+---------------------------------+
| Domain Control Validation (DCV)   | RFC 8555  | Do you control this domain name?|
| Identity Control Validation (ICV) | idp‑01    | Do you control this identity?   |
| Proof‑of‑Possession (PoP)         | pk‑01     | Do you possess this private key?|
+-----------------------------------+-----------+---------------------------------+
]]></artwork>
        </figure>
        <t>The relationship between identifier types and frameworks is as follows:</t>
        <figure anchor="fig-idp-1">
          <name>Relationship Between Identifier Types and Frameworks</name>
          <artwork><![CDATA[
            ACME Identifiers
                   |
      +------------+------------+
      |            |            |
     dns          pk           idp
      |            |            |
     DCV          PoP          ICV
      |       (auxiliary)       |
      +------------+------------+
      |                         |
      |                         |
Domain Validation Mode     Identity Validation Mode
 DCV + (optional PoP)      ICV + (optional PoP)
]]></artwork>
        </figure>
      </section>
      <section anchor="hierarchical-trust-model">
        <name>Hierarchical Trust Model</name>
        <t>The ICV framework introduces a hierarchical trust structure into ACME. Unlike traditional ACME (where the CA performs end‑to‑end notarization directly for domain names), this model can be summarized with three roles:</t>
        <ul spacing="normal">
          <li>
            <t>IdP: Performs substantive validation of an applicant’s identity within its trust domain and outputs signed identity assertions in the form of "acmeIdpToken".</t>
          </li>
          <li>
            <t>CA: Converts identity assertions from the IdP into final certificates complying with the X.509 specification and manages certificate lifecycle. The relationship between the CA and the IdP varies by deployment mode: Mode 1 establishes authorization by issuing IdP operational certificates; Mode 2 enables mutual trust via pre‑configured root certificates; Mode 3 has the CA act as the IdP itself.</t>
          </li>
          <li>
            <t>Relying Party: When using a certificate, in addition to performing standard PKI path validation, it MAY recognize the <tt>trust_domain_restriction</tt> extension (see Section 6.5) to determine whether to rely on the current status and policies of the IdP.</t>
          </li>
        </ul>
        <t>The core implication of this model is: when a certificate includes the <tt>trust_domain_restriction</tt> extension, trust is jointly underpinned by the CA and the IdP — the CA ensures compliance of the issuance process, while the IdP guarantees the authenticity of identity assertions. Failure of either party (e.g., revocation of the IdP’s operational certificate, disabling of an account via IdP policy) <strong>SHOULD</strong> affect a relying party’s acceptance of the certificate.</t>
        <t>This model does not require relying parties to perform IdP status checks for all ICV‑issued certificates. Whether such checks are conducted is determined jointly by the presence of the <tt>trust_domain_restriction</tt> extension in the certificate and the relying party’s local policy. Detailed relying‑party validation logic is provided in Section 7.10.</t>
        <t>The hierarchical trust described in this section does not conflict with the design principle of "CA trust anchor takes precedence over IdP" in Section 1.3, as they operate at different layers:</t>
        <ul spacing="normal">
          <li>
            <t>Framework Layer (§1.3): The CA acts as the trust anchor of the ICV framework itself — it determines which IdPs may participate (by issuing or refusing operational certificates), and governs final certificate issuance and revocation. IdPs cannot obtain authorization autonomously within the framework.</t>
          </li>
          <li>
            <t>Content Layer (this section): For identity attributes and the assertion that "the applicant controls the claimed identity", the IdP is the substantive source. The CA converts the IdP’s assertions into X.509 format without re‑validating the identity content itself.</t>
          </li>
        </ul>
        <t>The statement in Section 7.1 that "the CA trust anchor takes precedence over the IdP" adopts the semantics of the framework layer and is not inconsistent with this section.</t>
      </section>
      <section anchor="two-standard-certificate-enrollment-modes">
        <name>Two Standard Certificate Enrollment Modes</name>
        <t>DCV and ICV verify the requester’s control over domain names and identities, respectively. Since a single certificate cannot be both a domain‑validated certificate and an identity‑validated certificate, DCV and ICV are mutually exclusive in practice. Based on this orthogonality, two standard certificate enrollment modes exist.</t>
        <ul spacing="normal">
          <li>
            <t><strong>Domain Validation Mode</strong>: DCV + optional PoP. Typical combinations: {dns‑01} or {dns‑01, pk‑01}.</t>
          </li>
          <li>
            <t><strong>Identity Validation Mode</strong>: ICV + optional PoP. Typical combinations: {idp‑01}, {idp‑01, pk‑01}, or the standalone ICV‑trusted idp‑PoP branch (not combined with pk‑01, where the IdP already provides PoP for the certificate public key during authentication).</t>
          </li>
        </ul>
        <t>The identity validation mode is subdivided into three branches, whose differences are summarized collectively in the synergy matrix in Section 3.5.</t>
      </section>
      <section anchor="identity-identifier-types-and-coverage-scope">
        <name>Identity Identifier Types and Coverage Scope</name>
        <t>This document defines the "idp" identifier type, whose value field identifies the claimed identity. The ICV framework covers two broad categories of identities:</t>
        <ul spacing="normal">
          <li>
            <t>Physical Device Identity: Device serial numbers, vehicle VINs, etc. Attestation protocols are typically provided by chip vendors or device manufacturers. Such identity identifiers do not inherently imply a public key. When the IdP establishes PoP of the device private key during identity validation (e.g., TPM endorsement signatures, WebAuthn assertions), the standalone ICV‑trusted idp‑PoP branch applies (see Appendix H); otherwise, the standalone ICV + CSR branch applies.</t>
          </li>
          <li>
            <t>Subject (Human or AI) Account Identity: User email addresses, employee IDs, AI agent identifiers, and asserted identities indirectly held by other subjects upon human authorization. Attestation protocols are provided by the IdP, and any branch may be used.</t>
          </li>
        </ul>
      </section>
      <section anchor="synergy-matrix-of-icv-and-pop">
        <name>Synergy Matrix of ICV and PoP</name>
        <t>The identity validation mode is subdivided into three branches, whose differences are summarized below in a consolidated manner.</t>
        <figure anchor="tab-02">
          <name>Synergy Matrix of the Three Branches of Identity Validation Mode</name>
          <artwork><![CDATA[
+----------------+--------------+----------------------------------+--------------+
| Branch         | newOrder     | Certificate Public Key Source    | finalize     |
|                | identifiers  |                                  | body         |
+----------------+--------------+----------------------------------+--------------+
| Standalone ICV | [{idp}]      | SPKI from the CSR submitted      | {"csr":...}  |
|           + CSR|              | during the finalize phase        |              |
+----------------+--------------+----------------------------------+--------------+
| Standalone ICV | [{idp}]      | acmeIdpToken.confirmed_public_key| {} empty     |
|(IdP‑PoP Trusted)|             |                                  | object       |
+----------------+--------------+----------------------------------+--------------+
| ICV + PoP      | [{idp}, {pk}]| SPKI decoded from the value of   | {} empty     |
|                |              | the "pk" identifier              | object       |
+----------------+--------------+----------------------------------+--------------+
]]></artwork>
        </figure>
        <t>Applicability Notes:</t>
        <ul spacing="normal">
          <li>
            <t>Standalone ICV + CSR applies to scenarios where identity authentication and certificate keys are decoupled, e.g., multiple‑purpose certificates associated with the same IdP identity (see Appendix A).</t>
          </li>
          <li>
            <t>Standalone ICV with IdP‑PoP trust applies to scenarios where the identity key and certificate key are consolidated, or deployments such as shared public devices where an additional pk‑01 challenge is impractical (see Appendices G and H).</t>
          </li>
          <li>
            <t>ICV + PoP applies to high‑security scenarios requiring direct CA validation of certificate private‑key ownership (acme‑PoP), or post‑quantum KEM algorithms for which CSRs are not feasible.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="deployment-modes">
      <name>Deployment Modes</name>
      <t>The external protocol interactions remain consistent across the three deployment modes; they differ only in how the CA establishes trust in IdPs and how trust anchors are configured. This section describes each mode individually, followed by selection guidance provided in Section 4.4.</t>
      <section anchor="mode-1-idpoperated-certificate-model">
        <name>Mode 1: IdP‑Operated Certificate Model</name>
        <t>This mode applies to non‑CA IdPs, including enterprise internal LDAP/OAuth services, content platform user systems, social media identity systems, and others. The CA establishes trust by issuing dedicated operational certificates to the IdP, enabling the IdP to participate in the ICV framework without operating its own CA.</t>
        <t>An IdP‑operated certificate is a standardized RA credential for an IdP to join the ICV framework; its EKU includes <tt>id‑kp‑acmeIdpTokenSigning</tt> (see Section 6.7 for details). This mechanism replaces vendor‑specific RA‑CA integration interfaces and manual authorization processes used in traditional PKI with a single ACME certificate enrollment. Any ACME‑capable IdP only needs to apply for one operational certificate to obtain RA qualification.</t>
        <section anchor="trust-establishment">
          <name>Trust Establishment</name>
          <t>The IdP applies to the CA for a dedicated operational certificate (EKU id‑kp‑acmeIdpTokenSigning). The CA verifies the IdP’s eligibility per policy. Depending on the risk level, verification may be categorized as follows:</t>
          <ul spacing="normal">
            <li>
              <t>DV Level: Verifies the IdP’s control over its domain via the "dns‑01" or "http‑01" challenge. Applicable to low‑risk scenarios.</t>
            </li>
            <li>
              <t>OV/EV Level: Requires the IdP to complete Organization Validation (OV) or even Extended Validation (EV). OV‑level validation can be automated via the following approaches:  </t>
              <t>
(1) Pre‑validation plus EAB mechanism: The IdP first submits organizational identity materials to the CA via out‑of‑band means (or initial manual review). After the CA completes verification, it issues an External Account Binding (EAB) credential for the IdP. Subsequent ACME‑IDP clients present the EAB when registering accounts or requesting operational certificates, allowing the CA to automatically associate the account with the pre‑validated organization.  </t>
              <t>
(2) Manual administrator approval: For on‑premises deployments, CA administrators may confirm the IdP’s organizational identity through a manual approval workflow.</t>
            </li>
          </ul>
          <t>Upon successful validation, the CA issues the operational certificate. It is RECOMMENDED that the operational certificate have a validity period of no more than one year and support ACME renewal. The CA <strong>SHOULD</strong> explicitly state the validation‑level requirements for such operational certificates in its Certificate Practice Statement (CPS).</t>
        </section>
        <section anchor="acmeidp-client">
          <name>ACME‑IDP Client</name>
          <t>The ACME‑IDP client is a specialized variant of the ACME client deployed on the IdP side. It encapsulates logic for requesting, renewing, and revoking operational certificates on top of standard ACME client behavior (per <xref target="RFC8555"/>).</t>
          <t>The ACME‑IDP client SHOULD support the following functions:</t>
          <ul spacing="normal">
            <li>
              <t>Initial Enrollment: Upon initial IdP deployment, automatically create an ACME account (or use a pre‑provisioned account key), submit a "newOrder" (declaring the IdP identity identifier with profile <xref target="I-D.ietf-acme-profiles"/>: "idp‑op‑cert"), complete CA‑required validation challenges, submit a CSR, and obtain the operational certificate. The client <strong>SHOULD</strong> support the EAB mechanism to enable automated issuance of OV certificates.</t>
            </li>
            <li>
              <t>Automated Renewal: Automatically renew the operational certificate prior to its expiration. Renewal is <strong>RECOMMENDED</strong> to be triggered when 30% of the certificate validity period remains.</t>
            </li>
            <li>
              <t>Automated Revocation: Automatically submit a revocation request to the CA when the IdP no longer acts as an IdP.</t>
            </li>
            <li>
              <t>Challenge Handling: <strong>SHOULD</strong> support automated processing of the "dns‑01" or "http‑01" challenges.</t>
            </li>
          </ul>
          <t>The private key of the operational certificate for the ACME‑IDP client <strong>MUST NOT</strong> be persistently stored in plaintext. Use of an HSM, TEE, or OS‑level secure key storage mechanism is RECOMMENDED. In case of private‑key compromise or suspected compromise, the current operational certificate <strong>MUST</strong> be revoked immediately and a new one re‑enrolled.</t>
          <t>The ACME‑IDP client does not participate in online interactions for end‑user identity authentication; it only manages operational certificates on the IdP side.</t>
          <figure anchor="tab-03">
            <name>Client Roles in the ICV Framework</name>
            <artwork><![CDATA[
+--------------------+---------------------+------------------+-----------------------+
| Client Type        | Deployment Location | Certificate Type | Core Functionality    |
+--------------------+---------------------+------------------+-----------------------+
|Standard ACME Client| EE‑side             |Domain Certificate| DCV + Certificate     |
|                    | (Domain Scenarios)  |Certificate Type  | Enrollment            |
|                    |                     |                  |                       |
| ACME‑IDP Client    | IdP‑side            | IdP Operational  |Operational Certificate|
|                    |                     | Certificate      |Lifecycle Management   |
|                    |                     |                  |                       |
| ACME‑ICV Client    | EE‑side             |Identity          |ICV + Identity         |
|                    |(Identity Scenarios) | Certificate      |Certificate Enrollment |
+--------------------+---------------------+------------------+-----------------------+
]]></artwork>
          </figure>
        </section>
        <section anchor="subsequent-identity-validation">
          <name>Subsequent Identity Validation</name>
          <t>After the IdP obtains an operational certificate, it uses the corresponding certificate private key to sign the <tt>acmeIdpToken</tt> in subsequent "idp‑01" challenges. When validating the token, the CA verifies the operational certificate via standard X.509 certificate path validation. The validation level (DV / OV / EV) of the operational certificate determines the CA’s trust in the IdP, which further constrains the permitted types of end‑entity certificates issued.</t>
        </section>
      </section>
      <section anchor="mode-2-pki-intradomain-mutualtrust-model">
        <name>Mode 2: PKI Intra‑Domain Mutual‑Trust Model</name>
        <t>This mode is used when both the CA and the IdP operate private CAs. Deploying private CAs is standard practice in enterprise IT environments (e.g., Windows Server AD CS, EJBCA). When end‑to‑end secure communication is required between two organizations, each party most likely runs its own private CA.</t>
        <t>In this mode, participants exchange root certificates based on a bilateral mutual‑trust agreement, and the ACME server directly configures the peer CA’s root or subordinate CA certificate as a trust anchor. The peer CA directly signs the <tt>acmeIdpToken</tt> using its existing CA certificate. The issuing CA retains final authority over the lifecycle of end‑entity certificates. This mode can be cross‑domain (where both parties belong to separate organizations) or intra‑domain (between CAs of different departments or tiers within a single organization).</t>
        <t>In cross‑domain deployments, the CA <strong>SHOULD</strong> include the <tt>trust_domain_restriction</tt> extension in issued certificates, where the <tt>idpIdentifier</tt> points to the peer‑organization IdP participating in mutual trust, enabling relying parties to correctly interpret the certificate’s trust scope.</t>
      </section>
      <section anchor="mode-3-caintegrated-idp-model">
        <name>Mode 3: CA‑Integrated IdP Model</name>
        <t>This mode applies when the CA itself directly manages identity enrollment and authentication for users or devices. The CA concurrently acts as the IdP—performing identity registration and control validation, and issuing certificates accordingly. The <tt>idp_url</tt> in the "idp‑01" challenge points to the CA’s own authentication endpoint, or the CA may directly complete challenge validation based on internal authentication results.</t>
        <t>This mode has seen extensive product‑grade industry adoption, including integrations such as Windows Server AD CS with Active Directory, HashiCorp Vault PKI (ACME‑enabled since version 1.14), Foxpass Cloud PKI with Microsoft Entra ID / Google Workspace, and GlobalSign Auto Enrollment Gateway with AD.</t>
        <t>In this mode, the CA functions as a unified identity and certificate management platform with no need for an external IdP. External protocol interactions for "idp‑01" remain unchanged to ensure interoperability across all three modes. Since the trust domains of the CA and IdP overlap, the CA generally does not need to include the <tt>trust_domain_restriction</tt> extension in issued certificates, unless it explicitly intends to mark the authentication source for consistency with certificates issued under Mode 1 and Mode 2.</t>
      </section>
      <section anchor="mode-selection-guidance">
        <name>Mode Selection Guidance</name>
        <t>The following decision criteria help deployers select the appropriate mode:</t>
        <artwork><![CDATA[
Question 1: Does the CA itself manage enrollment and authentication for target identities?
        ├─  Yes --> Mode 3 (CA‑Integrated IdP)
        └─  No  ──↓
Question 2: Does the organization to which the identity belongs operate a private CA trusted by the CA (or one for which trust can be established via root‑certificate cross‑recognition)?
        ├─ Yes --> Mode 2 (PKI Intra‑Domain Mutual‑Trust)
        └─ No  ──↓
Question 3: Does the organization to which the identity belongs operate a non‑CA IdP (e.g., enterprise SSO, content‑platform account systems)?
        └─ Yes --> Mode 1 (IdP Operational Certificate)
]]></artwork>
        <t>In practice, all three modes may coexist within a single CA: the CA may use Mode 3 for its own organization, Mode 2 for federation partners, and Mode 1 for external IdPs.</t>
        <figure anchor="tab-04">
          <name>Comparison of the Three Deployment Modes</name>
          <artwork><![CDATA[
+---------------+-------------------------+---------------------------+-------------------------+
| Dimension     | Mode 1                  | Mode 2                    | Mode 3                  |
+---------------+-------------------------+---------------------------+-------------------------+
| CA‑IdP        | Separated (Non‑CA IdP)  | Separated (Both are CAs)  | Integrated (CA = IdP)   |
| Relationship  |                         |                           |                         |
|               |                         |                           |                         |
| Trust Anchor  | Operational certificate | Mutual root certificates  | CA itself               |
|               | issued by the CA        |                           |                         |
|               |                         |                           |                         |
| Trust Domain  | Intra‑domain            | Cross‑domain/intra‑domain | Intra‑domain            |
|               |                         |                           |                         |
| IdP Client    | ACME‑IDP Client         | Not required              | Not required            |
|               |                         |                           |                         |
| Typical Use   | Enterprise IdP          | Inter‑enterprise          | AD CS + AD, Vault PKI,  |
|               | + External CA           | PKI mutual‑trust          | Foxpass                 |
|               |                         |                           |                         |
| Privacy       | Low to Medium           | Medium to High            | Low to Medium           |
+---------------+-------------------------+---------------------------+-------------------------+
]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="icv-framework-protocol-flow">
      <name>ICV Framework Protocol Flow</name>
      <t>This section describes the overall behavior of the ICV framework from client‑ and process‑oriented perspectives. Section 5.1 presents the conceptual timeline of three‑party interactions, while Section 5.2 enumerates the specific responsibilities of the ACME‑ICV client. Field formats, triggering conditions, validation rules, and extension definitions on the server/IdP side are specified in Section 6.</t>
      <section anchor="overall-interaction-model">
        <name>Overall Interaction Model</name>
        <t>The ICV framework follows the identifier‑authorization‑challenge architecture of the ACME protocol. External interactions for the "idp‑01" challenge remain consistent regardless of the deployment mode.</t>
        <figure anchor="fig-idp-2">
          <name>Overall Interaction Model of the ICV Framework (Conceptual View)</name>
          <artwork><![CDATA[
 EE (ACME-ICV Client)                   IdP                      ACME Server (CA)
       |                                  |                            |
       |== (1) newOrder ==============================================>|
       |       identifiers: [{idp, "<identity>"}]                      |
       |                                  |                            |
       |<= (2) order ==================================================|
       |       authz: [.../authz/idpXXX]                               |
       |                                  |                            |
       |== (3) GET authz =============================================>|
       |<= (4) challenge ==============================================|
       |       [{type:"idp-01", idp_url, idp_method}]                  |
       |                                  |                            |
       |== (5) authn (by idp_method) ====>|                            |
       |<= (6) acmeIdpToken ==============|                            |
       |                                  |                            |
       |== (7) POST challenge ========================================>|
       |       {acmeIdpToken: "<jwt>"}                                 |
       |                                  |                            |
       |<= (8) challenge: valid =======================================|
       |<= (9) order: ready ===========================================|
       |                                  |                            |
       |== (10) POST finalize (Branch per Section 3.5) ===============>|
       |<= (11) certificate ===========================================|
]]></artwork>
        </figure>
        <t>Notes:</t>
        <ol spacing="normal" type="1"><li>
            <t>In Mode 3, the IdP and CA are operated by the same entity. Steps (5)–(6) are performed internally. The CA may still optionally issue an <tt>acmeIdpToken</tt> externally to maintain interoperability. Regardless of the deployment mode, <tt>acmeIdpToken</tt> by default includes the <tt>bound_to_order</tt> claim to bind the token to the current "newOrder" (see Section 6.3).</t>
          </li>
          <li>
            <t>The difference between the standalone ICV + CSR branch and the standalone ICV trusting idp‑PoP branch occurs only at Step (10). The combined ICV + PoP branch additionally declares the <tt>"pk"</tt> identifier in the "newOrder" and independently completes the "pk‑01" challenge (see <xref target="I-D.geng-acme-public-key"/>).</t>
          </li>
        </ol>
      </section>
      <section anchor="acmeicv-client-behavior">
        <name>ACME‑ICV Client Behavior</name>
        <t>The ACME‑ICV client is a variant of the ACME client deployed on the EE side, used to request identity‑bound certificates via the "idp‑01" challenge. Building on standard ACME client behavior (per <xref target="RFC8555"/>), it encapsulates interactions with the IdP as well as logic for obtaining and submitting the <tt>acmeIdpToken</tt>. Regardless of the deployment mode adopted, the core behavior of the ACME‑ICV client remains consistent: the client only needs to know the <tt>idp_url</tt> and <tt>idp_method</tt>, and does not need to perceive whether the IdP is an external standalone entity or integrated within the CA itself.</t>
        <t>The ACME‑ICV client <strong>SHOULD</strong> support the following behaviors:</t>
        <ul spacing="normal">
          <li>
            <t>Identifier Declaration: Declare the <tt>"idp"</tt> identifier in the "newOrder" request to trigger the "idp‑01" challenge (trigger conditions specified in Section 6.1.1), where its value represents the identity of the user or device.</t>
          </li>
          <li>
            <t>raw_newOrder Caching: The client <strong>MUST</strong> retain the exact byte sequence of the JWS protected payload of the "newOrder" request locally, and compute <tt>SHA‑256(raw_newOrder)</tt> using the identical byte sequence during the "idp‑01" challenge phase. The client <strong>MUST NOT</strong> re‑serialize parsed JSON for use as <tt>raw_newOrder</tt> (see Section 6.3).。</t>
          </li>
          <li>
            <t>"idp‑01" Challenge Handling: Identify the "idp‑01" challenge within the authorization object, parse the <tt>idp_url</tt> and <tt>idp_method</tt> fields, interact with the IdP via the specified authentication protocol to complete identity authentication. When requesting the IdP to issue an <tt>acmeIdpToken</tt>, the client shall pass <tt>base64url(SHA‑256(raw_newOrder))</tt> to the IdP as the <tt>bound_to_order</tt> hint (the specific delivery mechanism is defined per individual <tt>idp_method</tt>), and finally obtain the <tt>acmeIdpToken</tt> and submit it to the challenge URL.</t>
          </li>
          <li>
            <t>Finalization‑phase Processing: Submit the CSR, an empty request, or coordinate with the validation result of the "pk‑01" challenge according to the selected branch defined in the coordination matrix in Section 3.5.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="protocol-details">
      <name>Protocol Details</name>
      <section anchor="the-idp-01-challenge-object">
        <name>The "idp-01" Challenge Object</name>
        <section anchor="trigger-conditions">
          <name>Trigger Conditions</name>
          <t>When the <tt>identifiers</tt> array in a "newOrder" request contains an identifier of type "idp", the ACME server <strong>MUST</strong> create an authorization object for this identifier, and the <tt>challenges</tt> array of this authorization object <strong>MUST</strong> contain exactly one challenge of type "idp‑01".</t>
          <t>The server <strong>SHOULD NOT</strong> return an "idp‑01" challenge for identifiers of non‑<tt>"idp"</tt> types.</t>
          <t>The server <strong>MAY</strong> offer other future‑defined compatible challenge types side‑by‑side within the same authorization object; the client <strong>MAY</strong> select any one of them to complete validation per local policy (per <xref target="RFC8555"/> §7.1.4).</t>
        </section>
        <section anchor="challenge-object-fields">
          <name>Challenge Object Fields</name>
          <t>The challenge object extends the standard fields defined in <xref target="RFC8555"/> §7.1.5 and §8 (such as <tt>type</tt>, <tt>url</tt>, <tt>status</tt>, <tt>validated</tt>, and <tt>error</tt>) with the following additional fields:</t>
          <figure anchor="tab-05">
            <name>Fields of the "idp‑01</name>
            <artwork><![CDATA[
+----------------------+--------+----------------------------------+
| Field                | Req.   | Description                      |
+----------------------+--------+----------------------------------+
| idpIdentifier        | Yes    | Unique identifier generated by   |
|                      |        | the server for this challenge    |
|                      |        |                                  |
| idp_url              | Yes    | IdP validation endpoint URL      |
|                      |        |                                  |
| idp_method           | Yes    | Authentication protocol          |
|                      |        | (see Section 6.2)                |
|                      |        |                                  |
| idp_cert_fingerprint | No     | Fingerprint of the IdP‑operated  |
|                      |        | certificate (Mode 1)             |
|                      |        |                                  |
| deployment_mode      | No     | "idp‑op‑cert", "pki‑intra", or   |
|                      |        | "ca‑idp"                         |
+----------------------+--------+----------------------------------+
]]></artwork>
          </figure>
          <t>The <tt>idpIdentifier</tt> is independently generated by the server for each challenge with no less than 128 bits of entropy. It serves as a unique challenge identifier and anti‑replay mechanism, ensuring that an <tt>acmeIdpToken</tt> issued for one "idp‑01" challenge cannot be re‑consumed by the server. Byte‑level order binding is enforced by the <tt>bound_to_order</tt> claim within the <tt>acmeIdpToken</tt> (see Section 6.3). The two mechanisms are complementary: <tt>idpIdentifier</tt> prevents replay at the challenge level, while <tt>bound_to_order</tt> prevents cross‑order replay of tokens.</t>
        </section>
      </section>
      <section anchor="idp-authentication-methods">
        <name>IdP Authentication Methods</name>
        <t>The CA selects the authentication protocol adopted by the IdP via the <tt>idp_method</tt> field. Values of <tt>idp_method</tt> are managed jointly by the initial set defined in Sections 6.2.1 and 6.2.2 of this document and the IANA registry (Section 8), covering both account identities and device identities.</t>
        <section anchor="account-identity-authentication-methods">
          <name>Account Identity Authentication Methods</name>
          <ul spacing="normal">
            <li>
              <t>pkic: The IdP holds a certificate trusted by the AS. If the identity exists in the form of a public key, the IdP verifies that the applicant possesses the private key bound to the identity via idp‑PoP (e.g., requiring the applicant to sign the <tt>idpIdentifier</tt>, with the IdP verifying the signature using the public key from its trusted certificate).</t>
            </li>
            <li>
              <t>opaque <xref target="RFC9807"/>: Password‑Authenticated Key Exchange, verifying possession of the private key bound to the identity during the AKE phase.</t>
            </li>
            <li>
              <t>webauthn <xref target="WebAuthn"/>: Hardware‑bound two‑factor authentication.</t>
            </li>
            <li>
              <t>internal: Used for Mode 3 (CA‑integrated IdP). This method indicates that IdP functionality is performed by the CA itself, which directly authenticates the applicant’s identity using its internal identity store. No external JWT token is required for identity verification; for protocol interoperability, the CA may optionally issue an <tt>acmeIdpToken</tt>.</t>
            </li>
          </ul>
        </section>
        <section anchor="device-identity-authentication-methods">
          <name>Device Identity Authentication Methods</name>
          <t>Device Identity Authentication Methods are used to verify a device’s control over its claimed physical identity identifier. Trust anchors are typically third‑party entities independent of the CA (e.g., chip vendors, device manufacturers).</t>
          <ul spacing="normal">
            <li>
              <t>device-puf: Based on Physical Unclonable Functions.</t>
            </li>
            <li>
              <t>device-tpm: Based on TPM Endorsement Keys.</t>
            </li>
            <li>
              <t>device-vin: Based on Vehicle Identification Numbers.</t>
            </li>
            <li>
              <t>device-sn: Based on device serial numbers.</t>
            </li>
          </ul>
          <figure anchor="tab-06">
            <name>Initial Set of IdP Authentication Methods (Extensible for Future Use)</name>
            <artwork><![CDATA[
+-------------+-------------+---------------------------------+---------------+
| Identifier  | Type        | Description                     | Reference     |
+-------------+-------------+---------------------------------+---------------+
| pkic        | Account     | PKI certificate chain validation| This document |
| opaque      | Account     | OPAQUE protocol                 | [RFC9807]     |
| webauthn    | Account     | WebAuthn Level 2                | [WebAuthn]    |
| internal    | Account     | Internal CA authentication      | This document |
| device‑puf  | Device      |PUF challenge‑response validation| This document |
| device‑tpm  | Device      | TPM EK validation               | This document |
| device‑vin  | Device      | Vehicle VIN validation          | This document |
| device‑sn   | Device      | Device serial number validation | This document |
+-------------+-------------+---------------------------------+---------------+
]]></artwork>
          </figure>
        </section>
      </section>
      <section anchor="format-of-the-acmeidptoken">
        <name>Format of the "acmeIdpToken"</name>
        <t>The JWT <xref target="RFC7519"/> issued by the IdP (encoded as JWS <xref target="RFC7515"/>) contains the following claims:</t>
        <figure anchor="tab-07">
          <name>`acmeIdpToken` JWT Claims</name>
          <artwork><![CDATA[
+-----------------------+--------+--------------------------------+
| Claim                 | Req.   | Description                    |
+-----------------------+--------+--------------------------------+
| iss                   | Yes    | IdP identifier                 |
| sub                   | Yes    | Applicant identity identifier  |
|                       |        | (may be pairwise pseudonym)    |
| aud                   | Yes    | AS identifier                  |
| iat                   | Yes    | Issued‑at time                 |
| exp                   | Yes    | Expiration time (recommended   |
|                       |        | ≤ 5 minutes)                   |
| jti                   | Yes    | Unique token identifier        |
|                       |        | (one‑time use)                 |
| idpIdentifier         | Yes    | Matches the value in the       |
|                       |        | challenge object               |
| idp_method            | Yes    | Authentication method used     |
| bound_to_order        | Yes*   | base64url(SHA‑256(             |
|                       |        | raw_newOrder)). The client     |
|                       |        | informs the IdP of the byte‑   |
|                       |        | level hash of the current      |
|                       |        | newOrder during IdP            |
|                       |        | authentication; the IdP echoes |
|                       |        | this value in this claim to    |
|                       |        | cryptographically bind the     |
|                       |        | token to the current order     |
|                       |        | (see Section 7.9).             |
| nbf                   | No     | Standard JWT [RFC7519] claim;  |
|                       |        | if present, the CA MUST        |
|                       |        | validate per RFC 7519 §4.1.5.  |
| confirmed_public_key  | No     | Present only when the IdP uses |
|                       |        | a public‑key authentication    |
|                       |        | protocol; carries the          |
|                       |        | base64url‑encoded SPKI of the  |
|                       |        | certificate public key         |
+-----------------------+--------+--------------------------------+
]]></artwork>
        </figure>
        <t><strong>Note*</strong> <tt>bound_to_order</tt>: Required by default (<strong>SHOULD</strong>). The CA SHOULD require this claim to be present and match during validation. For specific backward‑compatibility scenarios, the CA policy MAY allow its absence; however, the CA <strong>MUST</strong> explicitly document the security consequences of accepting weak binding in its CPS (see Section 7.9).</t>
        <t>The exact byte definition of <tt>raw_newOrder</tt> is consistent with §10.1.1 in <xref target="I-D.geng-acme-public-key"/>: the raw byte sequence of the JWS protected payload after BASE64URL‑DECODE and before JSON parsing. The client <strong>MUST NOT</strong> re‑serialize the parsed JSON for use as <tt>raw_newOrder</tt>.</t>
      </section>
      <section anchor="challenge-response-and-server-validation">
        <name>Challenge Response and Server Validation</name>
        <t>ACME‑ICV clients submit to the challenge URL via a standard authenticated ACME POST request:</t>
        <artwork><![CDATA[
{"acmeIdpToken": "<jwt>"}
]]></artwork>
        <t>Upon receiving the response, the server performs validation following these steps:</t>
        <ol spacing="normal" type="1"><li>
            <t>Determine the trust anchor according to the deployment mode (operational certificate path / cross‑recognized root certificate / internal identity system).</t>
          </li>
          <li>
            <t>For Mode 1 / Mode 2, verify the JWS signature of the <tt>acmeIdpToken</tt> and validate the IdP certificate path per <xref target="RFC5280"/>. For Mode 3, the CA’s internal identity system directly provides the validation result.</t>
          </li>
          <li>
            <t>Validate token claims according to the following rules:  </t>
            <t>
a. <tt>iss</tt> and <tt>aud</tt> <strong>MUST</strong> match the expected values from the challenge object;  </t>
            <t>
b. <tt>exp</tt> <strong>MUST</strong> be later than the current time. If the token includes <tt>nbf</tt>, it <strong>MUST</strong> be earlier than or equal to the current time (per <xref target="RFC7519"/> §4.1.5);  </t>
            <t>
c. <tt>jti</tt> <strong>MUST NOT</strong> have been consumed within the <tt>jti</tt> replay window (see Section 7.4);  </t>
            <t>
d. <tt>idpIdentifier</tt> and <tt>idp_method</tt> <strong>MUST</strong> match those in the challenge object.</t>
          </li>
          <li>
            <t>If the token contains the <tt>bound_to_order</tt> claim, the server <strong>MUST</strong> perform a byte‑level comparison against the SHA‑256 value computed server‑side from the persisted <tt>raw_newOrder</tt> (or equivalent storage). Return <tt>urn:ietf:params:acme:error:badIdpToken</tt> on mismatch. If CA policy requires this claim to be present but it is missing from the token, the server <strong>SHOULD</strong> reject the request likewise.</t>
          </li>
          <li>
            <t>Establish the source of the certificate public key per the selected branch (see Section 3.5).</t>
          </li>
        </ol>
      </section>
      <section anchor="trustdomainrestricted-certificate-extension">
        <name>Trust‑Domain‑Restricted Certificate Extension</name>
        <t>This section defines a new X.509 certificate extension <tt>trust_domain_restriction</tt>, which a CA <strong>MAY</strong> include when issuing an ICV certificate to explicitly indicate that the certificate’s trustworthiness depends on the specified IdP trust domain.</t>
        <section anchor="extension-definition">
          <name>Extension Definition</name>
          <t>Proposed OID: <tt>id‑pe‑acme‑idp‑trust‑domain</tt>, assigned under the PKIX private extension arc (final value to be allocated by IANA, see Section 8). A certificate <strong>SHALL</strong> contain at most one <tt>trust_domain_restriction</tt> extension.</t>
          <t>ASN.1 Syntax:</t>
          <artwork><![CDATA[
  id-pe-acme-idp-trust-domain OBJECT IDENTIFIER ::= { TBD }

  TrustDomainRestriction ::= SEQUENCE {
      idpIdentifier         UTF8String,
      idpPolicyURI          IA5String     OPTIONAL,
      idpAssertedAttributes SEQUENCE OF AssertedAttribute
                                          OPTIONAL
  }

  AssertedAttribute ::= SEQUENCE {
      type     OBJECT IDENTIFIER,
      value    UTF8String  -- Length MUST be ≤ 256 octets
  }
]]></artwork>
          <t>Field Description:</t>
          <ul spacing="normal">
            <li>
              <t><tt>idpIdentifier</tt>: The URI of the IdP (matching <tt>idp_url</tt> in the challenge object), or the Subject DN of the IdP’s operational certificate.</t>
            </li>
            <li>
              <t><tt>idpPolicyURI</tt>: Optional. A URI pointing to the IdP’s current certificate policy statement, enabling relying parties to retrieve the latest policy on demand.</t>
            </li>
            <li>
              <t><tt>idpAssertedAttributes</tt>: Optional. A subset of attributes asserted by the IdP in the <tt>acmeIdpToken</tt>. Attribute types <strong>MUST</strong> be selected from the IANA‑registered allowed set (see Section 8); the CA <strong>MUST NOT</strong> pass unregistered‑type attributes into this field.</t>
            </li>
          </ul>
        </section>
        <section anchor="critical-marking-policy">
          <name>Critical Marking Policy</name>
          <t>This extension <strong>SHOULD</strong> be issued as non‑critical by default, ensuring that existing relying parties such as TLS libraries and S/MIME clients that do not recognize this extension can still read standard certificate fields. This is a deployment‑compatibility choice for this version.</t>
          <t>A CA <strong>MAY</strong> mark this extension as critical under the following conditions:</t>
          <ul spacing="normal">
            <li>
              <t>The CA knows that all target relying‑party implementations support this extension; or</t>
            </li>
            <li>
              <t>Deployment within a closed ecosystem (e.g., enterprise intranets, industry‑specific PKI), where progress of relying‑party upgrades can be guaranteed.</t>
            </li>
          </ul>
          <t>Marking this extension as critical forces relying parties that do not recognize the extension to reject the certificate, providing fail‑closed security guarantees; however, this comes at the cost of blocking unupgraded relying parties. A CA <strong>SHOULD</strong> clearly document the timeline for critical‑flag upgrades and the affected deployment contexts in its Certificate Practice Statement (CPS).</t>
        </section>
        <section anchor="boundary-with-the-rfc5280-certificatepolicies-extension">
          <name>Boundary with the RFC 5280 certificatePolicies Extension</name>
          <t><xref target="RFC5280"/> §4.2.1.4 defines the <tt>certificatePolicies</tt> extension for declaring policy OIDs that a certificate adheres to. The <tt>trust_domain_restriction</tt> extension differs in the following aspects:</t>
          <ul spacing="normal">
            <li>
              <t><tt>certificatePolicies</tt> defaults to non‑critical and carries semantics oriented toward a "policy compliance statement"; <tt>trust_domain_restriction</tt> carries runtime‑resolvable <tt>idpIdentifier</tt> and an optional <tt>idpPolicyURI</tt>, enabling relying parties to actively verify the current state of the IdP.</t>
            </li>
            <li>
              <t><tt>certificatePolicies</tt> cannot convey the set of attributes asserted by the IdP at issuance time (<tt>idpAssertedAttributes</tt>), which serve as part of audit and policy inputs within the ICV framework.</t>
            </li>
            <li>
              <t><tt>certificatePolicies</tt> is typically used by relying parties to “identify whether a certificate conforms to an expected policy category” and is not employed for real‑time validation logic.</t>
            </li>
          </ul>
          <t>A CA <strong>MAY</strong> use both extensions concurrently: <tt>certificatePolicies</tt> to mark the policy OID associated with an ICV certificate, and <tt>trust_domain_restriction</tt> to carry information required for real‑time IdP validation. The two extensions do not conflict with each other.</t>
        </section>
        <section anchor="ca-writing-requirements">
          <name>CA Writing Requirements</name>
          <t>When a CA decides to issue a certificate containing the <tt>trust_domain_restriction</tt> extension:</t>
          <ul spacing="normal">
            <li>
              <t><tt>idpIdentifier</tt> <strong>MUST</strong> match the <tt>iss</tt> claim within the <tt>acmeIdpToken</tt> and the <tt>idp_url</tt> in the <tt>idp‑01</tt> challenge object;</t>
            </li>
            <li>
              <t>The content of <tt>idpAssertedAttributes</tt> shall be taken directly from the corresponding field in the <tt>acmeIdpToken</tt>, and attribute types <strong>MUST</strong> be IANA‑registered (see §8);</t>
            </li>
            <li>
              <t>A CA <strong>SHOULD NOT</strong> map attributes asserted by the IdP into Subject Directory Attributes or non‑standard extensions, to prevent semantic proliferation.</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="error-types">
        <name>Error Types</name>
        <t>This section lists the error types defined by this extension. All errors use the ACME error URN namespace prefix <tt>"urn:ietf:params:acme:error:"</tt> (per <xref target="RFC8555"/> §6.7):</t>
        <figure anchor="tab-08">
          <name>Error Types</name>
          <artwork><![CDATA[
 +-----------------------------------------+----------------------------------------------------+
 | Error URN                               | Trigger Condition                                  |
 +-----------------------------------------+----------------------------------------------------+
 | urn:ietf:params:acme:error:badIdpToken  | Invalid token signature, reused jti                |
 |                                         | or mismatched bound_to_order                       |
 | urn:ietf:params:acme:error:rejectedIdpId| Mismatched identifier                              |
 |                                         |  or iss/aud claims                                 |
 | urn:ietf:params:acme:error:idpTimeout   | Expired token                                      |
 | urn:ietf:params:acme:error:             | CA policy requires issuance of a certificate       |
 | trustDomainRestrictionViolation         |  with the trust_domain_restriction extension,      |
 |                                         |  but the acmeIdpToken content fails to             |
 |                                         |  satisfy population requirements for this extension|
 +-----------------------------------------+----------------------------------------------------+
]]></artwork>
        </figure>
      </section>
      <section anchor="idp-operational-certificate-format-and-interoperability">
        <name>IdP Operational Certificate Format and Interoperability</name>
        <t>The IdP operational certificate is the core mechanism for formalizing an IdP as a CA‑authorized Registration Authority (RA).</t>
        <section anchor="certificate-format-requirements">
          <name>Certificate Format Requirements</name>
          <t>An IdP operational certificate <strong>SHOULD</strong> follow the X.509 v3 certificate format specification (<xref target="RFC5280"/>) and shall meet the following specific requirements:</t>
          <ul spacing="normal">
            <li>
              <t>Certificate type: X.509 v3 end‑entity certificate.</t>
            </li>
            <li>
              <t>Extended Key Usage (EKU): <strong>MUST</strong> include <tt>id‑kp‑acmeIdpTokenSigning</tt> (see IANA registration in Section 8).</t>
            </li>
            <li>
              <t>Key Usage: <strong>MUST</strong> include <tt>digitalSignature</tt>.</t>
            </li>
            <li>
              <t>Basic Constraints: The CA flag <strong>MUST</strong> be FALSE.</t>
            </li>
            <li>
              <t>Subject DN: <strong>SHOULD</strong> at least contain CN = IdP domain name or organization identifier; OV‑level certificates <strong>SHOULD</strong> additionally include the O and C fields.</t>
            </li>
            <li>
              <t>Subject Alternative Name (SAN): <strong>SHOULD</strong> contain the <tt>dNSName</tt> of the IdP validation endpoint, matching the domain in the <tt>idp_url</tt> field.</t>
            </li>
            <li>
              <t>CRL Distribution Points: <strong>MAY</strong> be included.</t>
            </li>
            <li>
              <t>Validity period: Controlled by CA policy; recommended not to exceed one year, with support for ACME renewal.</t>
            </li>
          </ul>
        </section>
        <section anchor="interoperability-with-existing-idps">
          <name>Interoperability with Existing IdPs</name>
          <t>For existing deployed IdP systems, integration can be achieved via the following approaches:</t>
          <ul spacing="normal">
            <li>
              <t>LDAP/AD‑based IdPs: Deploy an ACME‑IDP client alongside existing AD domain controllers or LDAP servers. Use enterprise‑native LDAP/AD connectors for user authentication, while the ACME‑IDP client solely handles operational certificate management and <tt>acmeIdpToken</tt> issuance.</t>
            </li>
            <li>
              <t>SAML/OIDC‑based IdPs (e.g., Shibboleth, Keycloak): The ACME‑IDP client provides protocol translation from SAML/OIDC to <tt>acmeIdpToken</tt> (JWT), enabling existing IdPs to participate in the ICV framework without modifying their core authentication logic.</t>
            </li>
          </ul>
        </section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="trust-anchor-levels-and-threat-model">
        <name>Trust Anchor Levels and Threat Model</name>
        <t>The CA is the issuer of the final certificate and holds a higher trust‑anchor level than the IdP. The IdP assists the CA in proving the binding between an identity and a public key. When a CA adopts the standalone ICV (trust‑idp‑PoP) branch, the CA fully relies on the IdP’s validation results for identity‑public‑key PoP — the security boundary of this mode is tied to the security strength of the IdP’s authentication protocol.</t>
        <t>Major threats and mitigations are as follows:</t>
        <ul spacing="normal">
          <li>
            <t>Compromise of the operational certificate private key (Mode 1): If the IdP operational certificate private key is compromised, an attacker may forge tokens. The CA mitigates this risk via certificate validity periods, revocation mechanisms, and key‑strength requirements. Compromise of OV‑level operational certificates has more severe consequences; IdPs are recommended to use HSMs and shorten certificate validity periods.</t>
          </li>
          <li>
            <t>CA issuance review: The CA <strong>MUST</strong> verify the IdP identity, with policies defined in the CPS.</t>
          </li>
          <li>
            <t>Root certificate management (Mode 2): Root certificate exchange <strong>MUST</strong> occur over secure channels. Compromise or mis‑issuance of either party’s root certificate impacts the entire cross‑trust system.</t>
          </li>
          <li>
            <t>Forged identity control verification following IdP compromise: Defense‑in‑depth can be provided via "pk‑01".</t>
          </li>
          <li>
            <t>Auditing of internal identity authentication (Mode 3): When the CA itself acts as the IdP, the CA’s identity authentication logs and certificate issuance decisions <strong>SHOULD</strong> be covered by audits defined in the CPS.</t>
          </li>
        </ul>
      </section>
      <section anchor="layered-pop-verification">
        <name>Layered PoP Verification</name>
        <t>Within the ICV framework, PoP verification can occur at two layers:</t>
        <ul spacing="normal">
          <li>
            <t>idp‑PoP: When an IdP’s authentication method uses public‑key authentication, the IdP verifies during authentication that the applicant holds the private key bound to the identity.</t>
          </li>
          <li>
            <t>acme‑PoP: The CA directly verifies via the "pk‑01" challenge that the applicant holds the private key corresponding to the certificate public key, entirely independent of the IdP.</t>
          </li>
        </ul>
        <t>Based on the type of the IdP’s authentication method and its own policies, the CA decides whether to trust idp‑PoP and whether to additionally require acme‑PoP.</t>
      </section>
      <section anchor="certificate-lifecycle-and-authentication-strength">
        <name>Certificate Lifecycle and Authentication Strength</name>
        <t>The certificate lifecycle <strong>SHOULD</strong> match the PoP security strength of the IdP authentication method:</t>
        <ul spacing="normal">
          <li>
            <t>Low‑entropy credentials (e.g., OPAQUE passphrases): Issue only short‑lived certificates (hours to days), and <strong>SHOULD</strong> require additional acme‑PoP.</t>
          </li>
          <li>
            <t>Hardware‑bound two‑factor authentication (e.g., WebAuthn): Longer‑lived certificates (months to one year) may be issued, with acme‑PoP optional.</t>
          </li>
          <li>
            <t>Existing PKI certificate chains: PoP security strength matches that of the source CA; long‑lived certificates are recommended.</t>
          </li>
          <li>
            <t>Internal identity authentication (e.g., LDAP, AD integration): Security strength depends on the internal authentication protocol strength of the CA.</t>
          </li>
        </ul>
        <t>Specific policies are defined in the CA’s CP/CPS.</t>
      </section>
      <section anchor="timeliness">
        <name>Timeliness</name>
        <t>The token validity period <strong>MUST NOT</strong> exceed 5 minutes, and the <tt>jti</tt> shall be single‑use only. The exact duration of the <tt>jti</tt> replay window is chosen by the CA implementation, but it <strong>MUST</strong> cover the maximum possible token validity period.</t>
        <t>Even in the extreme scenario where an attacker bypasses the <tt>jti</tt> replay window, the <tt>bound_to_order</tt> claim (see Sections 6.3 and 7.9) restricts the token to the "newOrder" for which it was generated, preventing attackers from redirecting it to other orders. This provides defense‑in‑depth for timeliness protection.</t>
      </section>
      <section anchor="privacy">
        <name>Privacy</name>
        <t>The IdP learns the user identity during authentication. The <tt>sub</tt> claim <strong>SHOULD</strong> use pairwise pseudonyms (distinct values per <tt>aud</tt>), and the AS shall use <tt>sub</tt> only for the minimum scope required for certificate issuance. In cross‑domain deployments where the CA and IdP belong to different trust domains, cross‑domain transmission of identity information introduces additional privacy risks. Under Mode 3 where the CA acts as the IdP itself, identity information is transmitted within a single trust domain, substantially reducing privacy risks compared with cross‑domain deployments.</t>
        <t>Using distinct pairwise pseudonyms for different <tt>aud</tt> values mitigates correlation attacks (linking the same user across multiple IdPs via a shared <tt>sub</tt>): a <tt>sub</tt> value for one <tt>aud</tt> <strong>SHOULD NOT</strong> be reused across other <tt>aud</tt> values, so as to preserve unlinkability among relying parties.</t>
        <t>The <tt>idpAssertedAttributes</tt> field within the <tt>trust_domain_restriction</tt> extension persists IdP‑asserted attributes into the X.509 certificate, exposing them to all relying‑party processing paths (including CT logs). The CA <strong>SHOULD</strong> assess privacy consequences when selecting which attributes to embed:</t>
        <ul spacing="normal">
          <li>
            <t>Embed only attributes that are operationally necessary and consented to by the applicant;</t>
          </li>
          <li>
            <t>Attributes involving sensitive categories (e.g., health, religion, internal organizational roles) <strong>SHOULD</strong> be excluded by default unless explicitly required by the relying‑party context;</t>
          </li>
          <li>
            <t>Prefer the “pairwise pseudonym + role” pattern for expressing access rights over “real‑name + detailed attributes” when feasible.</t>
          </li>
        </ul>
        <t>Before making authorization decisions using <tt>idpAssertedAttributes</tt>, relying parties <strong>SHOULD</strong> constrain the set of acceptable attribute types in local policy (see Step 4 in Section 7.10) to prevent privilege escalation triggered by unexpected attributes.</t>
      </section>
      <section anchor="comparison-with-the-ssooauth-security-model">
        <name>Comparison with the SSO/OAuth Security Model</name>
        <t>The three‑party interaction model of "idp‑01" is structurally similar to SSO/OAuth, yet fundamentally different in trust‑anchor architecture: SSO/OAuth adopts a single‑trust‑anchor structure (the IdP is the sole trust anchor), whereas "idp‑01" features a dual‑trust‑anchor structure (the CA ranks higher than the IdP, with the CA granting active trust via operational certificates or pre‑provisioned root certificates).</t>
        <figure anchor="tab-09">
          <name>Comparison of Security Models between SSO/OAuth and idp‑01</name>
          <artwork><![CDATA[
+-------------------+------------------+----------------------------+
| Dimension         | SSO/OAuth        | idp‑01                     |
+-------------------+------------------+----------------------------+
| Trust Anchor      | Single trust     | Dual trust anchor          |
| Structure         | anchor (IdP only)| (CA superior to IdP)       |
|                   |                  |                            |
| Token Semantics   | Authorizes access| One‑time credential        |
|                   | to online        | triggering long‑term       |
|                   | resources        | certificate issuance       |
|                   |                  |                            |
| Security Impact   | Authorization    | Certificate persists,      |
| of Output         | ends on token    | impact lasts months/years  |
|                   | invalidation     |                            |
|                   |                  |                            |
| PoP Verification  | Single‑layer     | Layered verification:      |
|                   | performed by IdP | idp‑PoP + optional acme‑PoP|
|                   |                  |                            |
| Certificate       | N/A              | Governed by                |
| Lifecycle Control |                  | authentication strength    |
|                   |                  |                            |
| Trust Anchor      | Passively        | Pre‑provisioned via        |
| Establishment     | retrieved via    | operational or root        |
|                   | OIDC Discovery   | certificates, with active  |
|                   |                  | trust granted by CA        |
+-------------------+------------------+----------------------------+
]]></artwork>
        </figure>
      </section>
      <section anchor="comparison-of-security-models-between-ssooauth-and-idp01">
        <name>Comparison of Security Models between SSO/OAuth and idp‑01</name>
        <t>Although IdP operational certificates are formally similar to subordinate CA certificates (both issued by a CA and used to authorize external entities), they differ fundamentally in security role, authorization scope, and trust‑transfer mechanism.</t>
        <ul spacing="normal">
          <li>
            <t>Role: A subordinate CA acts as a "certificate issuer", with X.509 certificates as its authorization output. An IdP (holding an operational certificate) acts as an "identity verifier", with one‑time JWT tokens as its authorization output.</t>
          </li>
          <li>
            <t>Authorization scope: Authorization granted to a subordinate CA is permanent and broad. Authorization granted to an IdP operational certificate is temporary and fine‑grained (each token includes <tt>idpIdentifier</tt>, <tt>idp_method</tt>, and one‑use constraints via <tt>jti</tt>).</t>
          </li>
          <li>
            <t>Compromise impact: Compromise of a subordinate CA private key equals partial leakage of root CA authority, allowing attackers to issue arbitrary end‑entity certificates. If an IdP operational certificate private key is compromised, attackers may only forge JWT tokens and cannot directly issue X.509 certificates. Furthermore, the CA performs secondary validation during each token check (combining identity identifiers and challenge nonces from orders) and can immediately revoke the operational certificate to block authorization.</t>
          </li>
        </ul>
        <t>Key Security Recommendations:</t>
        <ul spacing="normal">
          <li>
            <t>When issuing an IdP operational certificate, the CA <strong>MUST</strong> explicitly define its intended usage in the certificate: the <tt>cA</tt> flag in Basic Constraints <strong>MUST</strong> be FALSE, Key Usage <strong>MUST</strong> include <tt>digitalSignature</tt>, and Extended Key Usage (EKU) <strong>MUST</strong> include <tt>id‑kp‑acmeIdpTokenSigning</tt>. The IdP operational certificate <strong>SHOULD NOT</strong> include any EKUs intended for certificate issuance (e.g., <tt>id‑kp‑serverAuth</tt> or <tt>anyExtendedKeyUsage</tt>).</t>
          </li>
          <li>
            <t>Relying parties <strong>SHOULD NOT</strong> treat IdP operational certificates as subordinate CA certificates; they <strong>SHOULD</strong> only accept them for verifying the JWT signature of <tt>acmeIdpToken</tt>.</t>
          </li>
          <li>
            <t>CA operators <strong>SHOULD</strong> clearly specify in the CPS the differences between IdP operational certificates and subordinate CA certificates in terms of authorization scope, audit requirements, and security incident response procedures.</t>
          </li>
        </ul>
        <t>The table below summarizes the differences in key security attributes:</t>
        <figure anchor="tab-10">
          <name>Key Security Attribute Differences Between IdP Operational Certificates and Subordinate CA Certificates</name>
          <artwork><![CDATA[
+--------------------+--------------------------------------+--------------------------------+
| Attribute          | IdP Operational Certificate (Mode 1) | Subordinate CA Certificate     |
+--------------------+--------------------------------------+--------------------------------+
| Core Function      |Issue identity‑verification JWT tokens| Issue X.509 certificates       |
|                    |                                      |                                |
| Basic Constraints  | cA=FALSE                             | cA=TRUE                        |
|                    |                                      |                                |
| Key EKU            | id‑kp‑acmeIdpToken-Signing           | serverAuth, clientAuth         |
|                    |                                      | or anyExtendedKeyUsageE        |
|                    |                                      |                                |
| Authorized Output  | JWT (short‑lived, one‑time)          | X.509 certificate              |
|                    |                                      |(long‑lived, chain‑transferable)|
|                    |                                      |                                |
|May Issue End‑Entity| No                                   | Yes                            |
| Certificates?      |                                      |                                |
|                    |                                      |                                |
| Private Key        | Attackers may forge identity tokens  |Attackers may issue arbitrary   |
| Compromise Impact  | but cannot issue certificates;       |trusted certificates; broad     |
|                    | limited impact scope                 |impact and high recovery cost   |
|                    |                                      |(CRL/OCSP)                      |
|                    |                                      |                                |
| Typical Lifespan   | Recommended ≤ 1 year with automated  | Typically 1‑10 years with      |
|                    | ACME renewal                         | manual management              |
+--------------------+--------------------------------------+--------------------------------+
]]></artwork>
        </figure>
      </section>
      <section anchor="comparison-with-standalone-use-of-rfc9447">
        <name>Comparison with Stand‑Alone Use of RFC 9447</name>
        <t>There is a clear boundary between the validation objectives of RFC 9447 <xref target="RFC9447"/> and "idp‑01":</t>
        <ul spacing="normal">
          <li>
            <t>RFC 9447 validates authorization of a specific identifier by an external authority — for example, a telephone carrier’s right to allocate a given number.</t>
          </li>
          <li>
            <t>"idp‑01" validates binding of an applicant’s identity to a public key by an IdP — focusing on <em>who the applicant is</em> and <em>which key they hold</em>, rather than the source of authorization for a given identifier.</t>
          </li>
        </ul>
        <t>The two may be combined within a single order: first validate the identity‑public‑key binding via "idp‑01", then validate identifier authorization via <tt>tkauth‑01</tt>.</t>
        <figure anchor="tab-11">
          <name>Comparison between RFC 9447 and idp‑01</name>
          <artwork><![CDATA[
+---------------------+---------------------------------+---------------------------------+
| Dimension           | RFC 9447 (tkauth‑01)            | idp‑01                          |
+---------------------+---------------------------------+---------------------------------+
| Validation Target   | Identifier authorization source | Identity‑public‑key binding     |
|                     |                                 |                                 |
| Trust Anchor Source | Identifier‑specific external    | Operational certificates,       |
|                     | authority (e.g., TNAuthList)    | root certificates, or the CA    |
|                     |                                 | itself (corresponding to the    |
|                     |                                 | three deployment modes)         |
|                     |                                 |                                 |
| Public Key Handling | Not applicable                  | Works with pk‑01;               |
|                     |                                 | supports idp‑PoP / acme‑PoP     |
|                     |                                 |                                 |
| Deployment Mode     | Single (external authority)     | Three deployment modes          |
|                     |                                 |                                 |
| Relationship with   | Orthogonal                      | Directly associated via the     |
| PoP                 |                                 | synergy matrix (see Section 3.5)|
+---------------------+---------------------------------+---------------------------------+
]]></artwork>
        </figure>
        <t>The semantics of <tt>tkauth‑01</tt> are that possession of a token issued by an external authority constitutes possession of the corresponding identifier. It does not natively support standardized authorization for IdP identities (operational certificates), branched public‑key sources (CSR / idp‑PoP / pk‑01), or deployment models where the CA itself acts as the authority. This document therefore defines the ICV framework as a standalone challenge type, independent of RFC 9447 in terms of validation objectives and deployment modes.</t>
      </section>
      <section anchor="order-binding">
        <name>Order Binding</name>
        <t>"pk‑01" <xref target="I-D.geng-acme-public-key"/> cryptographically binds proof‑of‑possession of the private key to all bytes of the current <tt>newOrder</tt> by including SHA‑256(<tt>raw_newOrder</tt>) in the PoP input. To align with the security model of "pk‑01", this document requires the IdP to carry back the same hash in the form of the <tt>bound_to_order</tt> claim when issuing an <tt>acmeIdpToken</tt> (see Section 6.3), which the CA verifies in Step 4 of §6.4.</t>
        <t>Multiple defensive layers are provided:</t>
        <ul spacing="normal">
          <li>
            <t><tt>bound_to_order</tt> claim: Cryptographically binds the token to all bytes of the "newOrder". Any modification to "newOrder" fields (including the <tt>identifiers</tt> array) will cause token validation to fail;</t>
          </li>
          <li>
            <t>One‑time consumption of <tt>idpIdentifier</tt>: The server generates an <tt>idpIdentifier</tt> with no less than 128 bits of entropy for each challenge and marks it as consumed immediately after the challenge reaches a final state, preventing repeated submission of the same token;</t>
          </li>
          <li>
            <t>One‑time use of <tt>jti</tt> + <tt>exp</tt> ≤ 5 minutes: Restricts token lifetime, serving as defense‑in‑depth in addition to <tt>bound_to_order</tt> and one‑time consumption of <tt>idpIdentifier</tt>.</t>
          </li>
        </ul>
        <t>The specific protocol binding for how clients transmit the <tt>raw_newOrder</tt> hash to the IdP is defined per <tt>idp_method</tt>; a typical implementation submits the hash as an additional parameter to the IdP’s authentication endpoint. The <tt>bound_to_order</tt> claim supports two categories of IdP implementations:</t>
        <ul spacing="normal">
          <li>
            <t>ACME‑context‑aware IdPs: Populate the claim directly with the hash provided by the client;</t>
          </li>
          <li>
            <t>Non‑ACME‑context‑aware IdPs: The CA may accept weak binding (relying solely on one‑time <tt>jti</tt> + <tt>idpIdentifier</tt>) under policy, but <strong>SHOULD</strong> explicitly document the security consequences of such weakening in its CPS.</t>
          </li>
        </ul>
      </section>
      <section anchor="relyingparty-validation-logic-for-trustdomainrestricted-certificates">
        <name>Relying‑Party Validation Logic for Trust‑Domain‑Restricted Certificates</name>
        <t>When a relying party receives a certificate containing the <tt>trust_domain_restriction</tt> extension, it <strong>SHOULD</strong> perform the following additional checks in addition to regular PKI path validation:</t>
        <ol spacing="normal" type="1"><li>
            <t>Whether the IdP indicated by <tt>idpIdentifier</tt> in the certificate remains in the set trusted by local policy. If trust in the IdP has been revoked by local policy, the relying party <strong>SHOULD</strong> reject the certificate.</t>
          </li>
          <li>
            <t>For certificates issued under Mode 1, the relying party <strong>MAY</strong> check the revocation status of the underlying IdP operational certificate via OCSP/CRL. If the operational certificate has been revoked, the relying party <strong>SHOULD</strong> reject downstream identity certificates issued while the IdP was active.</t>
          </li>
          <li>
            <t>If the certificate contains an <tt>idpPolicyURI</tt>, the relying party <strong>MAY</strong> retrieve the IdP’s current policy statement per local policy and verify whether attributes asserted in the certificate remain within the IdP’s current authorization scope.</t>
          </li>
          <li>
            <t>If the certificate contains <tt>idpAssertedAttributes</tt>, the relying party <strong>MUST</strong> apply a whitelist filter on attribute types according to local policy before making authorization decisions using these attributes. Any attribute type not in the locally permitted set <strong>SHOULD</strong> be ignored.</t>
          </li>
        </ol>
        <t>The extended checks defined in this section <strong>do not replace</strong> standard PKI path validation; the two operate cumulatively.</t>
        <section anchor="handling-of-critical-and-noncritical-extensions">
          <name>Handling of Critical and Non‑Critical Extensions</name>
          <t>This document specifies that the <tt>trust_domain_restriction</tt> extension is issued as non‑critical by default (see §6.5.2). This choice has two security implications:</t>
          <ul spacing="normal">
            <li>
              <t>Relying parties that do not recognize the extension will ignore it and treat the certificate as a regular one — this is the compatibility trade‑off with the existing TLS/S/MIME ecosystem. By choosing the non‑critical setting, the CA accepts the risk that relying parties may skip trust‑domain checks, and <strong>SHOULD</strong> mitigate this risk via other controls (e.g., restricting certificate validity periods, monitoring CT logs, limiting the EKU set).</t>
            </li>
            <li>
              <t>Relying parties that recognize the extension <strong>SHOULD</strong> validate it in accordance with the rules in this section.</t>
            </li>
          </ul>
          <t>When a CA issues this extension as critical, relying parties that do not support the extension will reject the certificate, providing fail‑closed security guarantees; however, the CA <strong>MUST</strong> verify that the target relying‑party ecosystem supports this extension.</t>
        </section>
        <section anchor="relationship-with-defenseindepth">
          <name>Relationship with Defense‑in‑Depth</name>
          <t>Even if a relying party does not recognize the <tt>trust_domain_restriction</tt> extension, the device‑level private‑key possession proof (<tt>acme‑PoP</tt>) provided by the "pk‑01" synergy branch still serves as an independent key‑binding guarantee: an attacker who compromises the IdP operational certificate private key cannot replace the certificate public key. CAs shall take this into account when evaluating which scenarios require combined ICV + PoP deployment.</t>
        </section>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document requests IANA to complete the following registrations:</t>
      <ul spacing="normal">
        <li>
          <t>ACME Identifier Type: Register <tt>idp</tt>.</t>
        </li>
        <li>
          <t>ACME Validation Method: Register <tt>idp‑01</tt>.</t>
        </li>
        <li>
          <t>EKU OID: Register <tt>id‑kp‑acmeIdpTokenSigning</tt> (OID to be assigned).</t>
        </li>
        <li>
          <t>X.509 PKIX Private Extension OID: Register <tt>id‑pe‑acme‑idp‑trust‑domain</tt> (OID to be assigned, expected under the PKIX private extension arc; the exact value shall be determined by IANA in the SMI Security for PKIX Module Identifier registry).</t>
        </li>
        <li>
          <t>ACME Message Fields: Register <tt>idpIdentifier</tt>, <tt>idp_url</tt>, <tt>idp_method</tt>, <tt>deployment_mode</tt>, <tt>idp_cert_fingerprint</tt>, <tt>acmeIdpToken</tt>.</t>
        </li>
        <li>
          <t><tt>acmeIdpToken</tt> JWT Claim Names: Register <tt>bound_to_order</tt>, <tt>idpIdentifier</tt>, <tt>idp_method</tt>, <tt>confirmed_public_key</tt>. The semantics of the <tt>bound_to_order</tt> claim are defined in Sections 6.3, 6.4, and 7.9.</t>
        </li>
        <li>
          <t>Error Types (Full URNs):
          </t>
          <ul spacing="normal">
            <li>
              <t><tt>urn:ietf:params:acme:error:badIdpToken</tt></t>
            </li>
            <li>
              <t><tt>urn:ietf:params:acme:error:rejectedIdpId</tt></t>
            </li>
            <li>
              <t><tt>urn:ietf:params:acme:error:idpTimeout</tt></t>
            </li>
            <li>
              <t><tt>urn:ietf:params:acme:error:trustDomainRestrictionViolation</tt></t>
            </li>
          </ul>
        </li>
        <li>
          <t>IdP Authentication Method Registry: Initial values are <tt>pkic</tt>, <tt>opaque</tt>, <tt>webauthn</tt>, <tt>internal</tt>, <tt>device‑puf</tt>, <tt>device‑tpm</tt>, <tt>device‑vin</tt>, <tt>device‑sn</tt>. New entries shall be added under the Specification Required policy (<xref target="RFC8126"/>).</t>
        </li>
        <li>
          <t>ACME <tt>idpAssertedAttributes</tt> Attribute Type Registry: For the <tt>AssertedAttribute.type</tt> field of the <tt>trust_domain_restriction</tt> extension. No entries are pre‑populated in the initial version; new entries shall be added under the Specification Required policy, and each entry <strong>MUST</strong> provide the attribute OID, semantic description, character set, and maximum length. CAs <strong>MUST NOT</strong> write attributes of unregistered types into certificates.</t>
        </li>
      </ul>
    </section>
    <section anchor="appendix-a-samedomain-trust-example-of-the-idp-operational-certificate-mode-mode1-standalone-icv-csr">
      <name>Appendix A. Same‑Domain Trust — Example of the IdP Operational Certificate Mode (Mode 1, Stand‑Alone ICV + CSR)</name>
      <t>This appendix addresses the following problem: When an organization has deployed an identity management system (e.g., enterprise LDAP, content‑platform user system) that is not a CA, how to issue identity certificates automatically for members of the organization in a standardized manner.</t>
      <t>This scenario falls under a trust chain type referred to as same‑domain trust, applicable to Mode 1 (the IdP operational certificate model) and the stand‑alone ICV + CSR branch. The involved parties are the CA, the IdP (the organization’s identity management system, not a CA), and end users.</t>
      <section anchor="phase-1-idp-requests-an-operational-certificate">
        <name>Phase 1: IdP Requests an Operational Certificate</name>
        <t>The IdP automatically completes operational certificate enrollment and lifecycle management via an ACME‑IDP client. Depending on the trust level required by the CA, the operational certificate may be of DV or OV level. The automated enrollment flow is illustrated below using the OV level as an example:</t>
        <ol spacing="normal" type="1"><li>
            <t>An administrator of the IdP organization first completes organization validation (pre‑validation for OV) on the CA’s enterprise portal. Upon CA approval, EAB credentials are generated for this IdP.</t>
          </li>
          <li>
            <t>The IdP deploys the ACME‑IDP client, configures the EAB credentials, and creates an ACME account.</t>
          </li>
          <li>
            <t>Submit a "newOrder" declaring a DNS identifier with profile: <tt>"idp‑op‑cert‑ov"</tt> (or <tt>"idp‑op‑cert‑dv"</tt>).</t>
          </li>
          <li>
            <t>The CA returns required challenges according to the profile requirements; these are automatically completed by the ACME‑IDP client.</t>
          </li>
          <li>
            <t>Submit a CSR, and the CA issues the operational certificate (with EKU including <tt>id‑kp‑acmeIdpTokenSigning</tt>).</t>
          </li>
        </ol>
        <t>For IdPs requiring only a DV‑level operational certificate, the pre‑validation in Step 1 may be skipped.</t>
      </section>
      <section anchor="phase-2-user-requests-an-identity-certificate">
        <name>Phase 2: User Requests an Identity Certificate</name>
        <ol spacing="normal" type="1"><li>
            <t>The user submits a "newOrder" using an ACME‑ICV client on the device, declaring an <tt>idp</tt> identifier (e.g., an email address) and omitting the <tt>"pk"</tt> identifier (the certificate public key will be submitted via CSR).</t>
          </li>
          <li>
            <t>The CA returns an "idp‑01" challenge with <tt>deployment_mode: "idp‑op‑cert"</tt>.</t>
          </li>
          <li>
            <t>The ACME‑ICV client interacts with the IdP to complete identity authentication, and the IdP issues an <tt>acmeIdpToken</tt> using the private key of its operational certificate.</t>
          </li>
          <li>
            <t>The ACME‑ICV client submits the token; upon successful validation by the CA, the challenge status becomes <tt>valid</tt>.</t>
          </li>
          <li>
            <t>The ACME‑ICV client submits a standard PKCS#10 CSR during the finalize phase. The CA extracts the certificate public key from the CSR and issues an identity certificate (e.g., an S/MIME certificate).</t>
          </li>
        </ol>
        <t>The certificate public key may differ from the user’s identity public key maintained on the IdP side — the IdP verifies control over the identity, while the certificate public key is independently generated by the user and submitted via the CSR, preserving the user’s flexibility to use distinct key pairs for different purposes.</t>
      </section>
    </section>
    <section anchor="appendix-b-samedomain-trust-example-of-caintegrated-idp-mode-mode3">
      <name>Appendix B. Same‑Domain Trust — Example of CA‑Integrated IdP Mode (Mode 3)</name>
      <t>This appendix addresses the following problem: When a CA itself has built‑in user identity management capabilities, how to implement a fully automated closed‑loop workflow of “identity registration → identity authentication → certificate issuance” on a unified platform, avoiding separate deployment and management of two independent systems for the CA and IdP.</t>
      <t>This scenario falls under a trust chain type referred to as <strong>same‑domain trust</strong>, applicable to Mode 3 (the CA‑integrated IdP model) and the stand‑alone ICV + CSR branch (see Section 3.5). The involved parties are an internal enterprise CA (acting simultaneously as the IdP) and enterprise employees.</t>
      <section anchor="prerequisites">
        <name>Prerequisites</name>
        <ul spacing="normal">
          <li>
            <t>The enterprise has deployed an internal CA (e.g., Windows Server AD CS, HashiCorp Vault PKI, Smallstep CA, etc.) that also manages user identity registration and authentication.</t>
          </li>
          <li>
            <t>The CA has configured its built‑in IdP validation endpoint (where <tt>idp_url</tt> points to the CA’s own identity authentication service).</t>
          </li>
          <li>
            <t>Employees have registered their identities in the user directory managed by the CA.</t>
          </li>
          <li>
            <t>The ACME‑ICV client is installed on employee devices.</t>
          </li>
        </ul>
      </section>
      <section anchor="workflow">
        <name>Workflow</name>
        <ol spacing="normal" type="1"><li>
            <t>Create a "newOrder": An employee submits a "newOrder" to the CA via the ACME‑ICV client, declaring an <tt>"idp"</tt> identifier (the employee’s enterprise identity such as employee ID or email address) and omitting the <tt>"pk"</tt> identifier (the certificate public key will be submitted via CSR).</t>
          </li>
          <li>
            <t>CA returns an "idp‑01" challenge: The CA recognizes that the identifier belongs to a locally managed user and returns an "idp‑01" challenge with <tt>deployment_mode: "ca‑idp"</tt> and <tt>idp_method: "internal"</tt>.</t>
          </li>
          <li>
            <t>Complete identity authentication: The ACME‑ICV client parses the <tt>idp_url</tt> (pointing to the CA’s own validation endpoint) and completes authentication using the <tt>internal</tt> method.</t>
          </li>
          <li>
            <t>CA issues a token: After verifying the employee’s identity, the CA issues an <tt>acmeIdpToken</tt> (or directly completes challenge validation based on internal state).</t>
          </li>
          <li>
            <t>Submit the token and CSR: The ACME‑ICV client submits the token; upon successful validation by the CA, the challenge status becomes <tt>valid</tt>. The employee submits a standard PKCS#10 CSR during the finalize phase, from which the CA extracts the certificate public key and issues an identity certificate.</t>
          </li>
        </ol>
      </section>
      <section anchor="scenario-value">
        <name>Scenario Value</name>
        <t>This scenario demonstrates the simplicity and efficiency of the ICV framework under the deployment model where the CA and IdP are unified. Compared with traditional solutions requiring separate deployment and management of CA and IdP, Mode 3 significantly reduces the infrastructure complexity of enterprise identity certificate management. This model aligns with industry practices of products such as Windows Server AD CS, HashiCorp Vault, and Foxpass Cloud PKI.</t>
      </section>
    </section>
    <section anchor="appendix-c-samedomain-crossdomain-trust-enterprise-pki-bridging-scenario-mode2">
      <name>Appendix C. Same‑Domain / Cross‑Domain Trust — Enterprise PKI Bridging Scenario (Mode 2)</name>
      <t>This appendix addresses the problem: when two organizations each operate their own private CAs and need to automatically issue certificates for members of the other organization to enable secure communication interoperability, how to leverage existing PKI infrastructure for automated cross‑organizational certificate provisioning.</t>
      <t>This scenario falls under Type‑1 or Type‑2 trust chains (same‑domain or cross‑domain trust) and applies to Mode 2 (the PKI internal‑domain mutual‑recognition model).</t>
      <section anchor="scenario-1-samedomain-trust">
        <name>Scenario 1: Same‑Domain Trust</name>
        <t>Boundary Note: When an organization operates a single internal CA that also performs identity validation functions, the “CA acting as IdP” case actually falls under Mode 3 (CA‑integrated IdP), whose full workflow is provided in Appendix B. This section references it as a boundary case for Mode 2 to illustrate that the cross‑domain bridging approach described in this appendix degenerates into Mode 3 for strictly single‑CA organizations with embedded identity services.</t>
        <t>The degenerated workflow is as follows: An employee submits a "newOrder" via the ACME‑ICV client, the CA returns an "idp‑01" challenge (with <tt>idp_method</tt> set to <tt>internal</tt>), and after successful validation, the employee submits the certificate public key via a CSR during the finalize phase. The entire workflow is completed within the enterprise boundary.</t>
        <t>If an organization operates multiple internal CAs (e.g., a root CA with subordinate CAs, or private CAs for different departments), this constitutes the genuine same‑domain variant of Mode 2 described later in this section. Handling is identical to the cross‑domain case (C.2), except that secure channels for pre‑configuring trust anchors are established internally within the organization without out‑of‑band coordination.</t>
      </section>
      <section anchor="scenario-2-crossdomain-trust">
        <name>Scenario 2: Cross‑Domain Trust</name>
        <t>Enterprises A and B engage in joint research and development, and Enterprise A needs to issue short‑lived client certificates for Bob, an employee of Enterprise B. Both parties have exchanged root certificates via out‑of‑band channels.</t>
        <ol spacing="normal" type="1"><li>
            <t>Bob submits a "newOrder" via the ACME‑ICV client (including enterprise identifiers; this scenario uses the combined ICV + PoP approach and also declares a <tt>"pk"</tt> identifier).</t>
          </li>
          <li>
            <t>The CA of Enterprise A returns an "idp‑01" challenge with <tt>deployment_mode: "pki‑intra"</tt>, where <tt>idp_url</tt> points to the CA of Enterprise B.</t>
          </li>
          <li>
            <t>The ACME‑ICV client assists Bob in signing a submission to Enterprise B’s CA using the private key of his enterprise identity certificate. After validation, Enterprise B’s CA issues an <tt>acmeIdpToken</tt> (with a pairwise pseudonym as the <tt>sub</tt> claim).</t>
          </li>
          <li>
            <t>Enterprise A’s CA validates the token using Enterprise B’s root certificate, verifies proof‑of‑possession for the certificate public key per "pk‑01", and finally issues the short‑lived client certificate.</t>
          </li>
        </ol>
        <t>Multi‑party federations may implement automated cross‑issuance by exchanging root certificates and configuring trust anchors.</t>
      </section>
    </section>
    <section anchor="appendix-d-crossdomain-trust-e2ee-meeting-certificate-provisioning-mode1-mode2">
      <name>Appendix D. Cross‑Domain Trust — E2EE Meeting Certificate Provisioning (Mode 1 + Mode 2)</name>
      <t>This appendix addresses the following problem: In cross‑organizational end‑to‑end encrypted meeting scenarios, external participants need short‑lived admission certificates issued by the host CA to join group key agreement. The organizations of external participants may have pre‑established PKI mutual trust with the host, or may share no trust relationship at all.</t>
      <t>This scenario falls under Type‑2 trust chains (cross‑domain trust). Mode 2 and Mode 1 are adopted respectively depending on whether pre‑configured root‑certificate mutual trust exists between the host and the organizations of external participants.</t>
      <section anchor="case-1-preestablished-rootcertificate-mutual-trust-between-both-enterprises-mode2">
        <name>Case 1: Pre‑established Root‑Certificate Mutual Trust Between Both Enterprises (Mode 2)</name>
        <t>The CAs of Enterprise A and Enterprise B have exchanged root certificates via out‑of‑band channels. Employees of Enterprise B hold identity certificates issued by Enterprise B’s CA. This case adopts the combined ICV + PoP branch (see Section 3.5): external participants complete the "idp‑01" challenge using identity certificates issued by Enterprise B’s CA, and perform "pk‑01" validation via the <tt>"pk"</tt> identifier declared within the same order. The CA of Enterprise A validates the token using the pre‑configured root certificate of Enterprise B and issues short‑lived meeting admission certificates. The remaining steps of the workflow are consistent with Appendix C.2.</t>
      </section>
      <section anchor="case-2-no-preestablished-rootcertificate-mutual-trust-between-enterprises-guest-mode-mode1">
        <name>Case 2: No Pre‑established Root‑Certificate Mutual Trust Between Enterprises — Guest Mode (Mode 1)</name>
        <t>No pre‑configured CA root‑certificate trust relationship exists between Enterprise A and Enterprise B. An employee of Enterprise B is invited as a guest to temporarily join an external meeting hosted by Enterprise A. This scenario demonstrates the deployment flexibility of the ICV framework in the absence of pre‑established PKI trust relationships, adopting the stand‑alone ICV trust with the idp‑PoP branch (see Section 3.5): Enterprise A does not need to pre‑trust Enterprise B’s CA; it only needs to pre‑register a temporary guest account on its own IdP to automatically issue a short‑lived certificate valid for this meeting to the guest.</t>
        <t>As a concrete implementation example, identity authentication between the guest and Enterprise A’s IdP may use the OPAQUE protocol (<xref target="RFC9807"/>):</t>
        <ul spacing="normal">
          <li>
            <t>Enterprise A’s IdP supports user registration and authentication via the OPAQUE protocol.</t>
          </li>
          <li>
            <t>Temporary guest accounts created by the meeting organizer are registered using OPAQUE; the guest’s temporary account credential (passphrase) is delivered over an out‑of‑band secure channel.</t>
          </li>
          <li>
            <t>Enterprise A’s IdP specifies <tt>idp_method: opaque</tt> in the <tt>idp‑01</tt> challenge.</t>
          </li>
          <li>
            <t>The guest’s ACME‑ICV client performs the OPAQUE protocol with the IdP to complete authentication. During the AKE phase, the IdP confirms the guest holds the registered private key (idp‑PoP) and issues an <tt>acmeIdpToken</tt>.</t>
          </li>
        </ul>
        <t>Key steps:</t>
        <ol spacing="normal" type="1"><li>
            <t>Pre‑registration of temporary account by meeting organizer: The temporary account is valid only for the duration of this meeting and expires automatically upon meeting conclusion. The temporary login passphrase is sent to the guest via an out‑of‑band channel such as encrypted email.</t>
          </li>
          <li>
            <t>Initial guest access: The guest connects to Enterprise A’s meeting server using temporary account credentials via the ACME‑ICV client, with access restricted only to the meeting waiting area at this stage.</t>
          </li>
          <li>
            <t>CA returns "idp‑01" challenge: Enterprise A’s CA returns an "idp‑01" challenge with <tt>deployment_mode: "idp‑op‑cert"</tt> and <tt>idp_method: "opaque"</tt>.</t>
          </li>
          <li>
            <t>Guest performs OPAQUE authentication: After verifying the guest holds the registered private key during the AKE phase, the IdP issues an <tt>acmeIdpToken</tt> (with a pairwise pseudonym as the <tt>sub</tt> claim) using its operational certificate private key.</t>
          </li>
          <li>
            <t>Certificate issuance and meeting admission: The CA issues a short‑lived admission certificate after validating the token. The guest reconnects to the meeting using the new certificate and completes E2EE group key agreement.</t>
          </li>
        </ol>
        <t>The entire process has no dependencies on Enterprise B’s infrastructure. The ACME‑ICV and ACME‑IDP clients operate independently to deliver full automation for cross‑domain guest scenarios. The OPAQUE implementation is particularly suited to use cases requiring high passphrase security: even if the IdP is compromised, attackers cannot obtain guest passphrases for credential‑stuffing attacks.</t>
      </section>
    </section>
    <section anchor="appendix-e-crossdomain-trust-automated-c2pa-certificate-issuance-mode1-mode2-mode3">
      <name>Appendix E. Cross‑Domain Trust — Automated C2PA Certificate Issuance (Mode 1 / Mode 2 / Mode 3)</name>
      <t>This appendix addresses the problem that within the C2PA (Coalition for Content Provenance and Authenticity) content‑credentialing ecosystem, individual creators and organizational entities require signing certificates issued by CAs listed in the C2PA Trust List. Current certificate issuance workflows rely on manual identity vetting and cannot be automated for large‑scale content production deployments.</t>
      <t>Depending on the creator’s identity type and the PKI deployment status of their affiliated organization, one of the three deployment modes may be applied to this scenario.</t>
      <section anchor="requirements-description">
        <name>Requirements Description</name>
        <t>A C2PA Manifest binds content to the signer’s identity via digital signatures. Verifiers confirm content provenance by checking whether the signing certificate is issued by a CA included in the C2PA Trust List.</t>
        <t>Applicants fall into two categories: individual creators (e.g., photographers, journalists) whose identities are typically verified on content platforms; and organizational entities (e.g., news agencies, content platforms, brand owners) that usually hold organizational certificates issued by enterprise CAs.</t>
      </section>
      <section anchor="applicability-of-the-three-deployment-modes">
        <name>Applicability of the Three Deployment Modes</name>
        <ul spacing="normal">
          <li>
            <t>Mode 1 (IdP Operational Certificate Model): Applicable to individual creator scenarios. A content platform obtains an operational certificate from a C2PA‑compliant CA to act as an IdP via an ACME‑IDP client. Creators complete authentication with the platform IdP using an ACME‑ICV client to obtain a token, after which the CA issues a C2PA certificate.</t>
          </li>
          <li>
            <t>Mode 2 (PKI Intra‑Domain Mutual‑Recognition Model): Applicable to organizational entity scenarios. The enterprise CA root certificate is added as a trust anchor to the C2PA‑compliant CA. Employees complete the "idp‑01" challenge using their enterprise certificates.</t>
          </li>
          <li>
            <t>Mode 3 (CA‑Integrated IdP Model): Applicable to scenarios where the CA platform itself manages creator identities and certificate lifecycles.</t>
          </li>
        </ul>
        <t>CAs embed certificate policy OIDs in compliance with C2PA specifications. Bulk issuance can be fully automated via enterprise CA endpoints.</t>
      </section>
      <section anchor="deployment-recommendations">
        <name>Deployment Recommendations</name>
        <figure anchor="tab-12">
          <name>Deployment Recommendations for C2PA Scenarios</name>
          <artwork><![CDATA[
+-------------------------+--------+------------------------------+
| Scenario                | Mode   | IdP Role                     |
+-------------------------+--------+------------------------------+
| News agency for         | Mode 2 | Agency enterprise CA         |
| its journalists         | or 3   |                              |
|                         |        |                              |
| Photo agency for        | Mode 1 | Agency authentication system |
| contracted photographers| or 3   |                              |
|                         |        |                              |
| Social platform for     | Mode 1 | Platform identity system     |
| verified users          | or 3   |                              |
|                         |        |                              |
| Government agency for   | Mode 2 | Government PKI               |
| civil servants          | or 3   |                              |
+-------------------------+--------+------------------------------+
]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="appendix-f-crossdomain-trust-federated-trust-scenarios-mode2-federated-trust-model">
      <name>Appendix F. Cross‑Domain Trust — Federated Trust Scenarios (Mode 2 + Federated Trust Model)</name>
      <t>This appendix addresses the problem of how to leverage federated trust infrastructure to reduce coordination costs when multiple independent organizations require automated cross‑organizational identity certificate provisioning via a multilateral trust framework, rather than signing bilateral mutual‑recognition agreements one‑by‑one.</t>
      <t>This scenario falls under Type‑3 trust chains (federated trust). Built upon Mode 2 (the PKI intra‑domain mutual‑recognition model), it incorporates a federated trust model and adopts the combined ICV + PoP branch to guarantee ownership of the certificate public key during cross‑domain certificate issuance (see Section 3.5).</t>
      <section anchor="scenario-description">
        <name>Scenario Description</name>
        <t>Multiple research institutions form a joint consortium via the eduGAIN federation. eduGAIN is an international service connecting global research communities and higher‑education identity federations, covering more than 80 participating federations and linking over 8 000 identity and service providers. The consortium requires CAs of all member institutions to issue short‑lived access certificates for researchers from other member institutions.</t>
        <t>The federated trust chain is established under OpenID Federation 1.0. Layered collaboration is formed between "idp‑01" (the validation action layer) and OpenID Federation (the trust model layer): the federated trust chain addresses “how to trust an IdP”, while "idp‑01" addresses “how to perform identity‑to‑public‑key binding validation”.</t>
      </section>
      <section anchor="workflow-1">
        <name>Workflow</name>
        <ol spacing="normal" type="1"><li>
            <t>Researcher Alice (from Institution A) submits a "newOrder" to the CA of Institution B via the ACME‑ICV client.</t>
          </li>
          <li>
            <t>The CA of Institution B verifies the identity of Institution A’s IdP through the OpenID Federation trust chain and retrieves the token‑signing public key.</t>
          </li>
          <li>
            <t>The CA returns an "idp‑01" challenge with <tt>idp_url</tt> pointing to Institution A’s IdP.</t>
          </li>
          <li>
            <t>The ACME‑ICV client assists Alice in completing authentication to obtain a token (with a pairwise pseudonym as the <tt>sub</tt> claim).</t>
          </li>
          <li>
            <t>The CA of Institution B validates the token and issues a short‑lived access certificate.</t>
          </li>
        </ol>
      </section>
    </section>
    <section anchor="appendix-g-standalone-icv-trust-with-idppop-temporary-certificates-for-public-device-scenarios">
      <name>Appendix G. Stand‑Alone ICV Trust with idp‑PoP — Temporary Certificates for Public Device Scenarios</name>
      <t>This appendix addresses the problem of how users can securely and conveniently obtain short‑lived identity certificates for untrusted public devices (e.g., conference room terminals, shared workstations) when participating in secure communications, without pre‑provisioning any key material or certificates, while minimizing required user interactions.</t>
      <t>This appendix presents a representative application of the stand‑alone ICV (CA‑trusted idp‑PoP) branch. It falls under Type‑1 trust chains (same‑domain trust) and adopts Mode 1 (the IdP operational certificate model).</t>
      <section anchor="participants-and-prerequisites">
        <name>Participants and Prerequisites</name>
        <t>Participants: a CA, an IdP (holding an operational certificate via an ACME‑IDP client), an end‑user, and a public device (with an ACME‑ICV client installed).</t>
        <t>Prerequisites: The user has registered an OPAQUE account with the IdP and securely deposited an ephemeral public‑private key pair encrypted at the IdP. The IdP has obtained an operational certificate from the CA, and the CA trusts the IdP’s authentication results for OPAQUE accounts as well as the idp‑PoP proof.</t>
      </section>
      <section anchor="workflow-2">
        <name>Workflow</name>
        <ol spacing="normal" type="1"><li>
            <t>User logs into the public device and retrieves the ephemeral key pair: The user enters their OPAQUE account passphrase via the ACME‑ICV client on the public device. The client performs the OPAQUE protocol with the IdP to complete authentication, securely retrieves the encrypted ephemeral public‑private key pair deposited with the IdP, and decrypts it using the passphrase to obtain the ephemeral private key.</t>
          </li>
          <li>
            <t>Create a "newOrder": The client submits a "newOrder" to the CA, declaring only the <tt>idp</tt> identifier (set to the user’s OPAQUE identity) and omitting the <tt>"pk"</tt> identifier.</t>
          </li>
          <li>
            <t>CA returns an "idp‑01" challenge with <tt>deployment_mode: "idp‑op‑cert"</tt> and <tt>idp_method: "opaque"</tt>.</t>
          </li>
          <li>
            <t>Complete identity authentication: The client forwards challenge information to the IdP. The IdP issues an <tt>acmeIdpToken</tt> using the private key of its operational certificate. The token contains a <tt>confirmed_public_key</tt> claim whose value is the base64url‑encoded SPKI of the ephemeral public key — a public key known to the IdP from OPAQUE registration, for which the IdP verifies user possession of the corresponding private key during this authentication.</t>
          </li>
          <li>
            <t>Submit the token: The client POSTs the <tt>acmeIdpToken</tt> to the challenge URL.</t>
          </li>
          <li>
            <t>CA validates and issues the certificate: The CA validates the token signature and content. As the CA is configured to trust OPAQUE‑based idp‑PoP and no <tt>"pk"</tt> identifier is present in the order, the CA applies the stand‑alone ICV (idp‑PoP‑trusted) branch. It directly extracts the ephemeral public key from <tt>confirmed_public_key</tt> as the certificate public key, issues a short‑lived device certificate, and sets the subject to the pairwise pseudonym contained in the token.</t>
          </li>
          <li>
            <t>Use the temporary certificate: The public device now holds the ephemeral private key and its corresponding short‑lived device certificate, enabling access to the enterprise E2EE video conferencing system. Upon meeting conclusion, the certificate expires naturally, and the ephemeral key pair on the public device can be securely erased.</t>
          </li>
        </ol>
        <t>The entire workflow requires the user to remember only a single passphrase.</t>
      </section>
    </section>
    <section anchor="appendix-h-enterprise-intranet-device-proxy-scenario-acmeicv-proxy-mode">
      <name>Appendix H. Enterprise Intranet Device Proxy Scenario (ACME‑ICV Proxy Mode)</name>
      <t>This appendix addresses the problem of enabling automated identity certificate issuance using the ICV framework when enterprise endpoint devices reside on an intranet behind a firewall and cannot directly access external public CAs. This represents a typical scenario where an IdP acting as a Registration Authority (RA) fosters new business models within the PKI/CA ecosystem — the IdP may serve as both an identity‑verification gateway and a certificate enrollment proxy.</t>
      <section anchor="scenario-description-1">
        <name>Scenario Description</name>
        <t>An enterprise internal network hosts numerous devices (e.g., workstations, servers, IoT devices) located behind firewalls or NAT gateways. The enterprise IdP acts as an identity management gateway deployed at the enterprise network perimeter (e.g., in the DMZ), with connectivity to both the intranet and the public internet.</t>
        <t>The IdP deploys an ACME‑ICV proxy client that serves as a unified certificate enrollment representative for enterprise intranet devices. The proxy client itself has obtained RA authorization from the CA via an IdP operational certificate. Intranet devices initiate local certificate requests to the IdP proxy. After verifying device identities, the IdP proxy completes the <tt>idp‑01</tt> challenge with the external CA on behalf of the devices.</t>
      </section>
      <section anchor="proxymode-architecture">
        <name>Proxy‑Mode Architecture</name>
        <t>Involved components:</t>
        <ul spacing="normal">
          <li>
            <t>External CA: A public or externally trusted CA.</t>
          </li>
          <li>
            <t>Enterprise IdP (proxy node): Deployed in the DMZ, holding an operational certificate issued by the CA, and running an ACME‑ICV proxy client.</t>
          </li>
          <li>
            <t>Intranet devices: End‑user devices within the enterprise intranet that cannot directly access the external CA.</t>
          </li>
        </ul>
        <t>The architectural relationships are as follows:</t>
        <artwork><![CDATA[
           [External CA] (Internet)
                |
                | ACME (idp-01 challenge + token validation)
                |
   [Enterprise IdP / Proxy Node] (DMZ)
      /          |          \
     /           |           \
    / (Internal  | (Internal  \ (Internal API)
   /  API)       |  API)       \
  /              |              \
[Device A]    [Device B]     [Device C] (Intranet)
]]></artwork>
      </section>
      <section anchor="proxy-workflow">
        <name>Proxy Workflow</name>
        <t>Taking an intranet IoT sensor (Device X) requesting an identity certificate as an example:</t>
        <ol spacing="normal" type="1"><li>
            <t>Device X initiates a local request: It generates a public‑private key pair, constructs a local certificate request containing a device identifier (e.g., serial number SN:XYZ123) and the public‑key SPKI, and sends the request to the IdP proxy node via an internal API.</t>
          </li>
          <li>
            <t>The IdP proxy verifies the device identity: Validation is performed in accordance with enterprise policies (based on pre‑shared keys, MAC‑address binding, or device registration records in the enterprise CMDB).</t>
          </li>
          <li>
            <t>The IdP proxy executes the external ACME‑ICV workflow:  </t>
            <t>
a. As an ACME‑ICV client, it submits a "newOrder" to the external CA, declaring the <tt>idp</tt> identifier set to Device X’s pairwise pseudonym.  </t>
            <t>
b. The CA returns an "idp‑01" challenge with <tt>deployment_mode: "idp‑op‑cert"</tt>, where <tt>idp_method</tt> is selected according to the device type (e.g., <tt>device‑sn</tt>).  </t>
            <t>
c. The IdP proxy encapsulates Device X’s authentication result into an <tt>acmeIdpToken</tt> and signs it using the private key of its operational certificate. The token contains a <tt>confirmed_public_key</tt> claim whose value is the base64url‑encoded SPKI of Device X’s public key.  </t>
            <t>
d. The IdP proxy POSTs the token to the CA challenge URL.</t>
          </li>
          <li>
            <t>The CA validates and issues the certificate: The CA validates the <tt>acmeIdpToken</tt> (chaining back to the IdP operational certificate) and trusts the IdP’s device authentication result. Since no <tt>"pk"</tt> identifier is declared in the order, the CA applies the stand‑alone ICV (idp‑PoP‑trusted) branch, directly extracts Device X’s public key from <tt>confirmed_public_key</tt>, and issues an end‑entity certificate.</t>
          </li>
          <li>
            <t>Certificate delivered to the intranet device: The CA returns the certificate to the IdP proxy, which forwards it to Device X.</t>
          </li>
        </ol>
      </section>
      <section anchor="security-considerations-and-limitations">
        <name>Security Considerations and Limitations</name>
        <ul spacing="normal">
          <li>
            <t>The IdP proxy must implement strong authentication mechanisms to prevent adversaries from impersonating intranet devices and requesting certificates from the proxy. Mutual authentication using pre‑shared client certificates or API keys is recommended between intranet devices and the proxy.</t>
          </li>
          <li>
            <t>The private key for the IdP proxy’s operational certificate <strong>MUST</strong> be strictly protected (use of an HSM or secrets management service is recommended).</t>
          </li>
          <li>
            <t>The proxy mode introduces an additional trust boundary: the CA trusts the device authentication results from the IdP proxy, while the IdP proxy trusts identity claims from intranet devices. Enterprises <strong>SHOULD</strong> enforce rigorous intranet device registration and validation policies, and regularly audit proxy logs.</t>
          </li>
          <li>
            <t>This mode is suitable for enterprise environments requiring centralized certificate lifecycle management, especially for large‑scale IoT/OT deployments where devices cannot directly access the public internet.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="appendix-i-crossdomain-trust-sigstore-codesigning-scenario-mode1-oidcbridged-idp">
      <name>Appendix I. Cross‑Domain Trust — sigstore Code‑Signing Scenario (Mode 1 + OIDC‑Bridged IdP)</name>
      <t>This appendix addresses the following problem: In modern software supply chains, manual issuance, long‑term private‑key custody, and revocation workflows for code‑signing certificates severely restrict automated deployment. Most developers already have verifiable identities established via public OIDC providers such as GitHub, Google, and Microsoft, yet lack a standardized path to convert such identities into X.509 certificates acceptable within the code‑signing ecosystem.</t>
      <t>This scenario falls under Type‑2 trust chains (cross‑domain trust) and adopts the OIDC‑bridged variant of Mode 1 (the IdP operational certificate model). This appendix aligns with sigstore <xref target="SIGSTORE"/>’s “keyless signing” workflow in terms of motivation and role partitioning; the detailed interaction flow is consistent with Section 5.1 and Appendix D.2 and is therefore not elaborated further here.</t>
      <section anchor="motivation">
        <name>Motivation</name>
        <t>Pain points of traditional code‑signing deployments:</t>
        <ul spacing="normal">
          <li>
            <t>Certificate issuance relies on manual organizational validation and cannot be self‑serviced within CI/CD pipelines;</t>
          </li>
          <li>
            <t>Signing private keys require long‑term secure storage (HSM/smart cards), imposing heavy management overhead;</t>
          </li>
          <li>
            <t>Developer identities across projects and organizations are difficult to reuse in traditional PKI.</t>
          </li>
        </ul>
        <t>Industry practice with sigstore has demonstrated that converting developers’ OIDC identities into short‑lived code‑signing certificates, combined with transparency logs recording certificate validity at signing time, enables a “zero long‑term key management” code‑signing workflow for large‑scale software supply chain scenarios. This approach has been adopted by major ecosystems including Kubernetes, npm, and PyPI. The goal of this appendix is to incorporate this industry practice into the ACME standardization path, so that automated issuance of code‑signing certificates can be achieved under the unified ICV framework, rather than relying on proprietary interfaces of specific implementations.</t>
      </section>
      <section anchor="alignment-with-this-draft">
        <name>Alignment with This Draft</name>
        <t>The existing sigstore architecture naturally aligns with the ICV framework of this draft in terms of roles and protocol interfaces:</t>
        <ul spacing="normal">
          <li>
            <t>Fulcio (the CA issuing short‑lived code‑signing certificates) = ACME Server (CA);</t>
          </li>
          <li>
            <t>Public OIDC providers (GitHub, Google, Microsoft, etc.) = third‑party IdPs;</t>
          </li>
          <li>
            <t>Signing tools such as cosign = ACME‑ICV clients;</t>
          </li>
          <li>
            <t>Developer OIDC identities (the combination of <tt>iss</tt> + <tt>sub</tt>) map to the <tt>value</tt> field of the <tt>"idp"</tt> identifier in URI form.</t>
          </li>
        </ul>
        <t>Since public OIDC providers do not hold operational certificates issued by the CA (lacking the <tt>id‑kp‑acmeIdpTokenSigning</tt> EKU), this scenario adopts the OIDC‑bridged IdP deployment pattern: the CA itself or a trusted operator deploys an ACME‑IDP client together with an OIDC bridge. The bridge holds an operational certificate issued by the CA and re‑signs using an <tt>acmeIdpToken</tt> after validating upstream OIDC ID Tokens. The recommended value for <tt>idp_method</tt> is <tt>"oidc"</tt> (pending IANA registration), and the <tt>bound_to_order</tt> claim is carried via the standard OIDC <tt>nonce</tt> parameter (see Section 7.9). This pattern is consistent with the “SAML/OIDC‑based IdP integration” described in Section 6.7.2.</t>
        <t>The certificate lifecycle is recommended to follow sigstore’s short‑lived certificate practice (ranging from minutes to hours) and be deployed in conjunction with upstream transparency logs (e.g., sigstore Rekor). Transparency logs are a complementary mechanism outside the scope of this draft and are orthogonal to the <tt>trust_domain_restriction</tt> extension: the former addresses evidence preservation for “certificate validity at signing time”, while the latter addresses runtime recognition of the IdP trust domain by relying parties.</t>
      </section>
      <section anchor="simplified-workflow">
        <name>Simplified Workflow</name>
        <t>Participants: a CA, an OIDC‑bridged IdP (deployed by the CA itself or a trusted operator, holding an operational certificate issued by the CA), public OIDC providers (GitHub, Google, Microsoft, etc.), developers, and their CI pipelines. This scenario applies the stand‑alone ICV + CSR branch (see Section 3.5).</t>
        <ol spacing="normal" type="1"><li>
            <t>CI‑triggered signing: A pipeline (e.g., GitHub Actions, GitLab CI) initiates a signing task. An ACME‑ICV client (a cosign‑style signing tool) retrieves the upstream OIDC ID Token from the runtime environment.</t>
          </li>
          <li>
            <t>Create a "newOrder": The client generates an ephemeral signing key pair and submits a "newOrder" to the CA, declaring the <tt>"idp"</tt> identifier with a <tt>value</tt> formatted as a URI: <tt>oidc:&lt;issuer&gt;#&lt;subject&gt;</tt>.</t>
          </li>
          <li>
            <t>CA returns a challenge: with <tt>deployment_mode: "idp‑op‑cert"</tt>, <tt>idp_method: "oidc"</tt>, and <tt>idp_url</tt> pointing to the OIDC‑bridged IdP endpoint.</t>
          </li>
          <li>
            <t>Bridged IdP validates identity: The client submits the ID Token to the bridged IdP, where the <tt>nonce</tt> field carries <tt>base64url(SHA‑256(raw_newOrder))</tt>. After validating the upstream token’s signature and the <tt>iss</tt>/<tt>aud</tt>/<tt>exp</tt>/<tt>nonce</tt> claims via the OIDC JWKS, the bridged IdP issues an <tt>acmeIdpToken</tt> using the private key of its operational certificate, with a pairwise pseudonym recommended for the <tt>sub</tt> claim.</t>
          </li>
          <li>
            <t>Token submission and certificate issuance: The client POSTs the <tt>acmeIdpToken</tt> to the challenge URL. Upon successful validation by the CA, the client submits a PKCS#10 CSR during the <tt>finalize</tt> phase, and the CA issues a short‑lived code‑signing certificate.</t>
          </li>
          <li>
            <t>(Optional) Transparency log registration: The CA or client submits the certificate and signing event to an external transparency log (e.g., sigstore Rekor) to preserve evidence of certificate validity at signing time.</t>
          </li>
        </ol>
        <t>The entire workflow is transparent to developers: developers only need an OIDC identity and do not manage any long‑term signing private keys. Ephemeral key pairs are generated per CI job and naturally expire alongside the certificate.</t>
      </section>
      <section anchor="value">
        <name>Value</name>
        <t>This appendix demonstrates the capability of the ICV framework to build a standardized bridge between public OIDC identities and enterprise‑grade PKI: developers do not need additional credentials, upstream OIDC IdPs require no modifications to their authentication protocols, and CAs retain final issuance authority. Aligned with real‑world deployment experience of sigstore, this mode provides a standardized path for integrating “zero long‑term key management” code‑signing workflows into the ACME ecosystem, and together with Appendix E (C2PA), achieves full coverage of both content‑signing and code‑signing scenarios.</t>
      </section>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>The motivation and design of this document have benefited from exploratory work by numerous experts in the ACME Working Group on non‑DCV authentication approaches over time.</t>
      <t>The authors thank <xref target="I-D.biggs-acme-sso"/> for pioneering the concept of third‑party identity provider participation in ACME validation. Thanks are extended to <xref target="RFC8823"/> for contributions to defining email identifiers and enabling automated issuance of end‑user S/MIME certificates. We acknowledge <xref target="I-D.ietf-acme-client"/> for first identifying automation requirements for end‑user, device, and code‑signing certificates. Appreciation goes to <xref target="I-D.ietf-acme-telephone"/> for exploring the applicability of non‑domain identifiers (such as telephone numbers) validated via external authoritative entities. We thank <xref target="I-D.ietf-acme-device-attest"/> for leveraging hardware roots of trust to verify device identities, providing key references for device authentication scenarios. Finally, gratitude is given to <xref target="RFC9447"/> and <xref target="I-D.ietf-acme-openid-federation"/> for serving as core references in the design of the generic authoritative token challenge framework and multi‑layered trust‑chain mechanisms.</t>
      <t>The authors also thank all members of the ACME Working Group for their valuable feedback during discussions on ACME identity‑related proposals.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC8555" target="https://www.rfc-editor.org/info/rfc8555" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8555.xml">
          <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="RFC8823" target="https://www.rfc-editor.org/info/rfc8823" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8823.xml">
          <front>
            <title>Extensions to Automatic Certificate Management Environment for End-User S/MIME Certificates</title>
            <author fullname="A. Melnikov" initials="A." surname="Melnikov"/>
            <date month="April" year="2021"/>
            <abstract>
              <t>This document specifies identifiers and challenges required to enable the Automated Certificate Management Environment (ACME) to issue certificates for use by email users that want to use S/MIME.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8823"/>
          <seriesInfo name="DOI" value="10.17487/RFC8823"/>
        </reference>
        <reference anchor="RFC9447" target="https://www.rfc-editor.org/info/rfc9447" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9447.xml">
          <front>
            <title>Automated Certificate Management Environment (ACME) Challenges Using an Authority Token</title>
            <author fullname="J. Peterson" initials="J." surname="Peterson"/>
            <author fullname="M. Barnes" initials="M." surname="Barnes"/>
            <author fullname="D. Hancock" initials="D." surname="Hancock"/>
            <author fullname="C. Wendt" initials="C." surname="Wendt"/>
            <date month="September" year="2023"/>
            <abstract>
              <t>Some proposed extensions to the Automated Certificate Management Environment (ACME) rely on proving eligibility for certificates through consulting an external authority that issues a token according to a particular policy. This document specifies a generic Authority Token Challenge for ACME that supports subtype claims for different identifiers or namespaces that can be defined separately for specific applications.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9447"/>
          <seriesInfo name="DOI" value="10.17487/RFC9447"/>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <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" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <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="RFC7519" target="https://www.rfc-editor.org/info/rfc7519" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7519.xml">
          <front>
            <title>JSON Web Token (JWT)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties. The claims in a JWT are encoded as a JSON object that is used as the payload of a JSON Web Signature (JWS) structure or as the plaintext of a JSON Web Encryption (JWE) structure, enabling the claims to be digitally signed or integrity protected with a Message Authentication Code (MAC) and/or encrypted.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7519"/>
          <seriesInfo name="DOI" value="10.17487/RFC7519"/>
        </reference>
        <reference anchor="RFC5480" target="https://www.rfc-editor.org/info/rfc5480" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5480.xml">
          <front>
            <title>Elliptic Curve Cryptography Subject Public Key Information</title>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <author fullname="D. Brown" initials="D." surname="Brown"/>
            <author fullname="K. Yiu" initials="K." surname="Yiu"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="T. Polk" initials="T." surname="Polk"/>
            <date month="March" year="2009"/>
            <abstract>
              <t>This document specifies the syntax and semantics for the Subject Public Key Information field in certificates that support Elliptic Curve Cryptography. This document updates Sections 2.3.5 and 5, and the ASN.1 module of "Algorithms and Identifiers for the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile", RFC 3279. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5480"/>
          <seriesInfo name="DOI" value="10.17487/RFC5480"/>
        </reference>
        <reference anchor="RFC9807" target="https://www.rfc-editor.org/info/rfc9807" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9807.xml">
          <front>
            <title>The OPAQUE Augmented Password-Authenticated Key Exchange (aPAKE) Protocol</title>
            <author fullname="D. Bourdrez" initials="D." surname="Bourdrez"/>
            <author fullname="H. Krawczyk" initials="H." surname="Krawczyk"/>
            <author fullname="K. Lewi" initials="K." surname="Lewi"/>
            <author fullname="C. A. Wood" initials="C. A." surname="Wood"/>
            <date month="July" year="2025"/>
            <abstract>
              <t>This document describes the OPAQUE protocol, an Augmented (or Asymmetric) Password-Authenticated Key Exchange (aPAKE) protocol that supports mutual authentication in a client-server setting without reliance on PKI and with security against pre-computation attacks upon server compromise. In addition, the protocol provides forward secrecy and the ability to hide the password from the server, even during password registration. This document specifies the core OPAQUE protocol and one instantiation based on 3DH. This document is a product of the Crypto Forum Research Group (CFRG) in the IRTF.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9807"/>
          <seriesInfo name="DOI" value="10.17487/RFC9807"/>
        </reference>
        <reference anchor="RFC7515" target="https://www.rfc-editor.org/info/rfc7515" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7515.xml">
          <front>
            <title>JSON Web Signature (JWS)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Signature (JWS) represents content secured with digital signatures or Message Authentication Codes (MACs) using JSON-based data structures. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and an IANA registry defined by that specification. Related encryption capabilities are described in the separate JSON Web Encryption (JWE) specification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7515"/>
          <seriesInfo name="DOI" value="10.17487/RFC7515"/>
        </reference>
        <reference anchor="RFC5280" target="https://www.rfc-editor.org/info/rfc5280" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5280.xml">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="RFC8126" target="https://www.rfc-editor.org/info/rfc8126" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8126.xml">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.geng-acme-public-key" target="https://datatracker.ietf.org/doc/html/draft-geng-acme-public-key-06" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.geng-acme-public-key.xml">
          <front>
            <title>Automated Certificate Management Environment (ACME) Extension for Public Key Challenges</title>
            <author fullname="Feng Geng" initials="F." surname="Geng">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Panyu Wu" initials="P." surname="Wu">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Liang Xia" initials="L." surname="Xia">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="陈鑫" initials="C." surname="陈鑫">
              <organization>TrustAsia</organization>
            </author>
            <date day="17" month="April" year="2026"/>
            <abstract>
              <t>The current ACME protocol [RFC8555] requires applicants to submit a PKCS#10 Certificate Signing Request (CSR) during the finalization phase. The construction, ASN.1 encoding, and transmission of the CSR impose additional implementation burdens on both the client (especially resource-constrained devices) and the server. Moreover, the CSR cannot prevent a public key from being replaced by an intermediary at the protocol level. This document introduces the "pk-01" challenge extension based on the ACME protocol. Its core mechanism is as follows: the applicant declares the public key to be authenticated during the "newOrder" phase and completes the Proof of Possession (PoP) by signing with the private key during the challenge phase. Since the public key is declared when the order is created and verified during the challenge phase, there is no need to submit a CSR during the finalization phase; the ACME server can issue the certificate directly based on the verified public key, thereby eliminating the CSR at the protocol level. The "pk-01" challenge supports two verification modes via the pop_mode field:</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-geng-acme-public-key-06"/>
        </reference>
        <reference anchor="I-D.ietf-acme-telephone" target="https://datatracker.ietf.org/doc/html/draft-ietf-acme-telephone-01" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-acme-telephone.xml">
          <front>
            <title>ACME Identifiers and Challenges for Telephone Numbers</title>
            <author fullname="Jon Peterson" initials="J." surname="Peterson">
              <organization>Neustar</organization>
            </author>
            <author fullname="Richard Barnes" initials="R." surname="Barnes">
              <organization>Mozilla</organization>
            </author>
            <date day="30" month="October" year="2017"/>
            <abstract>
              <t>This document specifies identifiers and challenges required to enable the Automated Certificate Management Environment (ACME) to issue certificate for telephonoe numbers.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-acme-telephone-01"/>
        </reference>
        <reference anchor="I-D.biggs-acme-sso" target="https://datatracker.ietf.org/doc/html/draft-biggs-acme-sso-01" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.biggs-acme-sso.xml">
          <front>
            <title>Automated Certificate Management Environment (ACME) Extension for Single Sign On Challenges</title>
            <author fullname="Andrew Biggs" initials="A." surname="Biggs">
              <organization>Cisco</organization>
            </author>
            <author fullname="Richard Barnes" initials="R." surname="Barnes">
              <organization>Cisco</organization>
            </author>
            <author fullname="Moynihan" initials="R." surname="Moynihan">
              <organization>Cisco</organization>
            </author>
            <date day="8" month="April" year="2021"/>
            <abstract>
              <t>This document specifies an extension to the ACME protocol [RFC8555] to enable ACME servers to validate a client's control of an email identifier using single sign-on (SSO) technologies. An extension to the CAA [RFC8659] resource record specification is also defined to provide domain owners a means to declare a set of SSO providers that ACME servers may rely upon when employing SSO for identifier validation on their domain.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-biggs-acme-sso-01"/>
        </reference>
        <reference anchor="I-D.ietf-acme-client" target="https://datatracker.ietf.org/doc/html/draft-ietf-acme-client-14" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-acme-client.xml">
          <front>
            <title>ACME End User Client and Code Signing Certificates</title>
            <author fullname="Kathleen Moriarty" initials="K." surname="Moriarty">
              <organization>SecurityBiaS</organization>
            </author>
            <date day="11" month="August" year="2025"/>
            <abstract>
              <t>Automated Certificate Management Environment (ACME) core protocol addresses the use case of web server certificates for TLS. This document extends the ACME protocol to add 3 challenge types that may support service account authentication credentials, micro-service accounts credentials, device client, code signing, document signing certificates and keys.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-acme-client-14"/>
        </reference>
        <reference anchor="I-D.ietf-acme-openid-federation" target="https://datatracker.ietf.org/doc/html/draft-ietf-acme-openid-federation-00" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-acme-openid-federation.xml">
          <front>
            <title>Automatic Certificate Management Environment (ACME) with OpenID Federation 1.0</title>
            <author fullname="Giuseppe De Marco" initials="G." surname="De Marco">
              <organization>independent</organization>
            </author>
            <author fullname="Brandon Pitman" initials="B." surname="Pitman"/>
            <author fullname="Tim Geoghegan" initials="T." surname="Geoghegan">
              <organization>ISRG</organization>
            </author>
            <author fullname="David Cook" initials="D." surname="Cook">
              <organization>ISRG</organization>
            </author>
            <author fullname="J.C. Jones" initials="J." surname="Jones">
              <organization>ISRG</organization>
            </author>
            <date day="16" month="December" year="2025"/>
            <abstract>
              <t>The Automatic Certificate Management Environment (ACME) protocol allows server operators to obtain TLS certificates for their websites, based on a demonstration of control over the website's domain via a fully-automated challenge/response protocol. OpenID Federation 1.0 defines how to build a trust infrastructure using a trusted third-party model. It uses a trust evaluation mechanism to attest to the possession of private keys, protocol specific metadata and miscellaneous administrative and technical information related to a specific entity. This document defines how X.509 certificates associated with a given OpenID Federation Entity can be issued by an X.509 Certification Authority through the ACME protocol to the organizations which are part of a federation built on top of OpenID Federation 1.0.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-acme-openid-federation-00"/>
        </reference>
        <reference anchor="I-D.ietf-acme-device-attest" target="https://datatracker.ietf.org/doc/html/draft-ietf-acme-device-attest-04" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-acme-device-attest.xml">
          <front>
            <title>Automated Certificate Management Environment (ACME) Device Attestation Extension</title>
            <author fullname="Brandon Weeks" initials="B." surname="Weeks">
              <organization>Google Inc</organization>
            </author>
            <author fullname="Ganesh Mallaya" initials="G." surname="Mallaya">
              <organization>AppViewX Inc.</organization>
            </author>
            <author fullname="Sven Rajala" initials="S." surname="Rajala">
              <organization>Keyfactor</organization>
            </author>
            <author fullname="Corey Bonnell" initials="C." surname="Bonnell">
              <organization>DigiCert, Inc.</organization>
            </author>
            <author fullname="Ryan Hurst" initials="R." surname="Hurst">
              <organization>Peculiar Ventures</organization>
            </author>
            <date day="5" month="May" year="2026"/>
            <abstract>
              <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>
          <seriesInfo name="Internet-Draft" value="draft-ietf-acme-device-attest-04"/>
        </reference>
        <reference anchor="I-D.ietf-acme-profiles" target="https://datatracker.ietf.org/doc/html/draft-ietf-acme-profiles-01" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-acme-profiles.xml">
          <front>
            <title>Automated Certificate Management Environment (ACME) Profiles Extension</title>
            <author fullname="Aaron Gable" initials="A." surname="Gable">
              <organization>Internet Security Research Group</organization>
            </author>
            <date day="2" month="March" year="2026"/>
            <abstract>
              <t>This document defines how an ACME Server may offer a selection of different certificate profiles to ACME Clients, and how those clients may indicate which profile they want.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-acme-profiles-01"/>
        </reference>
        <reference anchor="SIGSTORE">
          <front>
            <title>sigstore: A new standard for signing, verifying and protecting software</title>
            <author>
              <organization>Sigstore Project</organization>
            </author>
            <date year="2021" month="October"/>
          </front>
        </reference>
        <reference anchor="WebAuthn">
          <front>
            <title>Web Authentication: An API for accessing Public Key Credentials Level 2</title>
            <author initials="D." surname="Balfanz" fullname="D. Balfanz">
              <organization/>
            </author>
            <author initials="et" surname="al." fullname="et al.">
              <organization/>
            </author>
            <date year="2021" month="April"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 1199?>



  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA8y92XIbaZYmeB9m8Q4+TBszQgFBa2xUZVVBJBXBDC0sklJk
VnZa0gE4SU8BcJQ7QIoZUlnYXLRZX+Z03vRY9V2b5WW9wFzVo8Q8wLzCnP0/
vy8gFKGIGnVnFEk4fv+X85/9fOf27dsff7TMl9NsJ9karpbFLF1mk2Q3K5f5
WT6GX5Jn6Tw9z2bZfJnszy/zspjTz9vD3Wf7veRgAr/ky+sfvv/LbjFflsV0
Ct9/lU7zSbrMi3my/2aZzSv4aevjj9LRqMwu8U3w3eTwm2T3IoXn5+cZfIgv
Oy/K652kWk4+/qhajWZ5hV88uV7A7A72T558/FG+KHeSZbmqlvfv3v3y7v2P
P/r4o0kxnqczeGRSpmfL2+cw3u10PMtu55PF7bt3/VBLGypJfpWk06qAyeTz
SbbI5riQrX6ylU3yZVHm6RR/ORg+hv9TlPDT0ckTmOV8NRtl5Q68FaYL/2dc
zCtY36qiaWU4Hxi4zNKdZHi0P/z4o6uifH1eFqsF/OF99vdb+F4+P0++wu9+
/NHr7BpGmuzgC5Lbif/PZTZf4VR+lSTyom+/ot94tbWB4O+zNJ/iQ/+YvUln
i2k2GBcz+iAtxxc7ycVyuah27txxn96REc/z5cVqhHuWLc9u55fXt6/O78yz
JS7ydj6HmcDWXd++TufnW/iFKSywWsLzOqb73oAHG+RFxwh3+DztK+1PDS6W
s+kWbku6Wl4UeDRJchv/kyRMFk8yXD38h/9YlOc7yder9CrLk5NsfDEvpsV5
nlX8acabg0R0Bv/7xwt6kHeoNu5hOr9eJd+u3mPYq9UCv/Rg3bC/zedwL7K5
G/YECX5Y5Wk02CKdFtVgDI/+I92IFB7gEfX/jfFG5iMgu5IIZ16UQH/5ZUab
BLdpfhb95eD23iBcn8VqNM3Ht4Hy7EM6C/pwmU2zxUUxD18c5efnFX9Ywb1q
fmU8zeHcWj4o4Pblk9tn2SQriWm0PDPJLvNxdjtdEkE1P1+UxVk+zSr66Pjg
q+OTF0f7O7xfyt+q/LyCrYAfh8k8uwI+k84naTlJYBcS+HAO16SfXGZlfnaN
NwY+TWDcZTZe4q9Vcba8gqu9xaM6csN/t/mojuUdyWFZ/Am+yB8Ts0ju371/
7/a9u/ynVZmHq3Z1dTXQ2Q1gqXfwmW+zEXCMi3ltFfBn5CQXyHfHvF3JcJ4M
Dw9oHel4nAGvg/ke0vkl32TXyW6ZEZ8Gjpc8zS6zaXK/axVMhHuD5HE6PUvn
f65/ki2Bbw4ay7r7sGNZVw8GsDF3To7uXGUjfNv89v07TJ63b99O0lG1LFPc
p48/OrnIqwS4+YoY4CQ7y+dZBadgQiYREePly/bB7qteclbC5JA70B7A5iQk
YvD0ijF84bvv/rejJ7tffPrpp+/e9ZMcR5msxnTIRAr0dE6vOcuzklgncLnJ
YouogB8aq7QKH9++e29rkJzA+2AabhbwYHFV8bBVVgJNVcmygDVNs3Nk+nRh
QRDYyoBcLuH98Nj2weSw6uHTTInJ2AmLdLGAM03ny+qH7/9HMpbtKC4zXvR4
muYzGJZXsgT2M2huLIo9v7vFAjcynSa/HXx698vodZkK7z4NT3wIJP0eiLF8
Dj8cwWUs83FdpO2Hr11d5OMLGAenDQR8DXs/oYdgPy7SpX9blYCQXsFQl3lK
r6ttKVyqUTp+DQ+MruFEqkU2xm/CHh7yfsIScV50YlcXRSXbDN9eXuBiYQ9I
0FcJ0A1t16oscUeAESxXFd/3AicKcynOeIIweh/oKEOZg/TCb5pm6WuQ2khJ
BR0D7BR8Z7WsYOt58pNDOKIqmlk4DNtYWDMw8hIJa4pnzlvbSuh7SOiekB8l
GYhQOHogiMRpMbDLQjrwd6MYmk1EMYFK7pRZVazKccabUGb/soKTjQ5ngCRa
nMGh038Oi6rKSKdKtg+LQ5xYl/R4946vAIxN9Jau3uTTPC2vk2x+kc7HrPvY
QSPnqeCQ6Yxgd1ApyZEHr8oMyPCqML6d/xkei8h1jvonDTcr4K5VRDQo47LJ
Dp2KbK/bVnqQNjf5JFwFWhJuBR+lXNLm1w6aX0N24K/bGfxQZUZzUxRhZcu1
1Bu5vCizDCl1Wly7pewEqvrLiwUKyroeiY/xPT2AQ07xkL450BU/Wy1X6RT+
RndYH9YV7g7hE/hWds7j4pWiRwbJAVyP1WIBd6hKZqvpMgeVkKRGkD/GZiu7
ukLfI3j2FNjkH2cZiJnJKZE6/JyVfSBFJFK4UaNieZGwfGdmOx4XK1h3jYmh
tJjlk8lUlOwDYeI0g+9+RTz9HX30q+QVkr/Obg9YIt01YDBzYsn4FLFmf5uU
ZDoIiml360UJTHpL+RpeJ9jdCtkRCEbgGVtBiFQgGfZTeMrJlXEBHKdaFMiE
4LbjiCyB8z/TZLeSi2I6YbmkI5rYoQHf5BXxofBXOB94CcxvazIHsfAXEEm0
j6R06++TSYkM8Ab2Mki+Lq6A1cHxjFYV80xkBnlJl7Qi6eo3CDk2XmEWKvl8
PF1Nshs4Bc7tRolOQhU5ON+GcIR4o2dEzCxMlOnRsBVuSjLKYhYBW1NlSHkw
YWMzvP8oppOzafaGSBWU51E+51mAjNkdMuUdzJN5geIOmUQ1zuZpmRdh24/v
PDt4to8EDUs3NVII2rNQvm/jEjYEBoM5Z+WizFVMwZ9EfvHyYOPHBQy2NPE7
Rr3S0RdSRyQ/q4v8DDlpMVNRiDobrZRsBiUDmgrfsspmCjwa9MOEDdyKjF7g
WyYlrpODPRACQ/haiQQ6veZJVRlIUfz4DIZT5ogsBggUVSWazZbJnTPc5Nlq
rpfTBM8WztI/16LPXIuupXKb7jDsUnUNytQMWOv4NV5FEELAH5HZLVblAvUA
W8NlILOgWcC8YZ1wD4t5MStAEdgdqqBs0+2YUU+QmSxjxSqf0V6DITLlj87T
BVHQE9yENEF+7MQZ7DYwctRj0ALr21f4MpUZ0OV4iQuaZEDlYKIAncj3SFPa
EYEyfo37FUie1wd/OsrOc1Sv6fch8xnYhO2jIWjMqzmxTjhToG94aJKrEINZ
BvFT8TEfDVmnyElCuR2NadApqETswC/AZJrQd/JSFQvaJZY7j4DhCceBV+To
cMC30pRhCLoscP3PzjI6cbiSxAHmxRJ1r6wsUBTi3b0CVQhkLIqQApUiUCOu
SfTDif+ZFDd4H5xohjMmm+KQeCb8KCsxzjsXTZjGlk3xa6RXOQV0/5uXW8l2
BXzqOKM9/eH7f384uEfMcpKBgJhWvX6NVmDD5xVOr9LtBSGKlhvpmjlQIbC3
MpuSIcoiFngFDFZe88LPUtTW4A2zdI7cAknzjIwO0knTGgsUIQM/ympZ+4a1
jkico2MKVodMdUYOqaCGm5kcm1R4vHKdMtQiymJ1fhEe5i1cpLBV4dINRD4f
wRLBoIKTOARWWpKPigY8HsOm499JN9qT3WJlSWy6yJ+VXMAZ0v1dpq+zOXCj
S7z6ZHAUcHgFaplnZ6S95KyAoXMO3xBYegt3ECWu4vNMRrD1Z3QgOO8qcGPz
sDC5ku6MjBcnSHdUDAkUZSZ1gKuRdk6bSwtmy6OiG0gHfhaTC+3brVvbqerZ
sbPl3btbt/7f//v/CjolOs6IZIpK7usWPCa6QDBj8bVqC2e6KpDmC1I88vll
Mb3kq5OXE2SnaQm7ZNu1MJtV9KrmBhq953O4k/lSJhMPiFcxF+WTdCCdBMkO
IlRaUR+Y1pROAZjgvDKxCQrIBeolIjuMt9Tv5OeDz2p3EjeAVFXgUPlSb84M
T1aESMz76RwSOIiRWWJf3H9Q335lDMx3g14PCycxvNXwNKgezp/Dkkrgv+hT
v3vXnxfMTnRxvbIohlQFgyODhcCXSGyzVlIz4WoWRwHTQk4Kmq/So13vUXaR
XuLdhGH9Uh+R38OrmW1znqXXcB4ZKqus05eoKaA8Y/NdDihVbQKXRqb3dfLD
939N9A0JfOVSnAXtqgYqDQtUN1m1cNYt2sSmNsj9Gev9qXslO24QvCEDwTNx
Is/OFcWI8E3SY2pacjgK1bBE/QMtET4QPbGmH06yagzshKQQC1IUbTAIcGq8
yTgwu6rmwlRMHQV5t8pZgK0WZGsW/uO6/DlbleQ6kDtc1QVGm8Y0y1Cny6uZ
buekuZ3mF27fUebLmUkOOnr9iuiekYqLQghvaIlCWKQYmoR9ubc4AO4IeTd0
z/IpSbhCefzzYz9mw0CXrYC5pXNWVfyqmUPDYBFbsP1RmgsHIZuTNTcncmK3
b9CUBBhadRdwFOhuFg8S0Pgy2Bwnh8+ImtRH7NyFos4H6xmOPi3PM9pr+VA5
Jw5K49jLeG66cqOt3cI0s5J2Nl/WKYrs+YocNM5cQ2uX9dvp9U6ydYXMHDdY
Z1kJE7m6KHQrK/eA3dwzZbhfPnz4ORjr21vL10gO6IBlk7K+2Y2ogt9v8QrB
ocNiR9O8usjaLQclOQqSwMJRyQgM2QQDOQSmmfPw1AUr+U5g4Gl6jVy/FBMp
d9cKWcoLmPXBXvLEZg33Gv0jck9RQwb2D/o12geoE4+FLfCeIVvBYU5xCw4m
ixOc8Glkd4plyDNAHSE95+Ou2zODeMdNWsSeRvUstDEM1oAe0dxGxLOBeEbZ
8irLGrYTnaB7HX5IcpotLZHiyeeDL9Qmr1azGQyInEB8IqrpgeSCk5tcolgU
tTWdsJMOx2oz5knVcNZYJc4MUuSCtHYO8UAFdoBi4evt4uMFYTpNR0XZqhY5
5yDpCez5aZBhv7bpbJ6RcGgwolYTl0wW8vLhfvLZs9oEc8arwC9WTzQ6M9yF
d4oS+/TAMGEL7SJf8Nh2BqYmiaq/xzQJev58jL7DilQojCfBmZJTRoTpLip9
oNbtkMpVgaU2NWLKqsY6BwkeIM7rsDgk/QLOYDJl9cJmE9w9A30rWRzAGP+M
7gXYWxTT06JYyK7gasRSQEPYvAs7YLSsqky8mzI8Gzk4CY70iASt8Kfxa3sl
aDrsdh2ypnq8WqCZAMoOaSqg/+6Qn2GXrMBU2GUw2ip8RM0LdjgCrYAUmoCi
WZFy+5dZSlZRalZ+CAo503Wan2Xj6/E0C9sxXZ2fEyXFQcXkmVH1TrJnBnin
55eExyRdLJ3l2O76baihGooCQw5vmWym47Jg1iqDNaO7NpGG56BF4SST32uc
scwWgj0upmTOJS9gA9HcW+eqNzMQ2PKcdD/xXEVmAztqOJzYqfoHrTqOMw5o
LHyMCB7etgCdlG4yBnID83mUZOhtRpueb+8y0mNqbLsjzENnt3t8NKBr9T5x
GxoS9f4RaazEtb1DldgELGWgErg10FE5FzlFTI3yPM+pTIqQQ4gcyoexsjGg
AEZyj+KpyQvnymkETXqsOLKjlIUD3EQc8REPch8GWRNSOQqO2pYBg4y5Ai0z
43AHGr4UZeRIDtyjHO0cXI6880Gy3RmVWTu+mFYTsEbGS3PnVOTMvdNQDkGR
g2tyxn5OU7TNCiRXU8qOQnFtIAOugP8RN2D/XEr+TjxNOsI+n7UeHfmp5uSt
5/HwDSojTf8iCkB3EWibx8FsTx56k91oJ/bIsqciY+WTOAQ6/cjKKPNUbiUz
FbL2qp0ghNh4+AsOuMsJKiCykCQ5BBnMON07jPD2yVvABFeITMRpluRw5bBW
EFj+ep2JW51cdzwiHo06KNu4wKA+1b3D1qkqi6MQNN6JFYdReef5NtDE4UjS
RbWammGNmUpjsVo14NWHxcyzq1SihGV2WQTDt8MzGs7HVDd1IxhjxCNCtsbR
Cz4O4mrOrS5nXyXoRcW3fzq4349v94dKazglQvwjK8V/LCWfAT46jbxHyWeD
T3sD4ja3bj0b/u7WLQt2LeN4PlxCVnzr1r1odV4+ItGRhxQDNM0UCXZ90abV
8hjQ3Y+WYDQ+MMicVck1yRHholv6gW58WgnzG6N6NIadG6GmeZaC5UIznFer
MmLYKGaADMTepksfqUcnT4/viB/K9KhH0SbqIRGfwptMgdYwAc0EiF5K2RYD
1SyVEDNKpWAzKTIZHiDxMA2TO938jk448g0Ivru60XHvLlHcY9sQjorUzCwh
CVRlTsne+eOy+GOBEeNTDmWJ1728XiwLYOqLC3G5g5AUxwNbmOLCHF0vMxP0
F2l1YXExCYBtwQ3ViDQshl1Kdg70Zvg+jk4JbMC/UWOyu7i1eN1QOdw1XJfS
ETHpCq7HA9rizwdfNvg1+fudvQCLsyg2OvNNHyAtdJRhSJZtO1J9KW7jv99t
QBrhEa9H0fAocCIi1jKvVDtsIZUqQRexhjLU1PzXf/1X4MCf3N7s36bP4aMw
7NuwFxrtqJKWf2/jPVz37+3POVsw0BPMl1g7A3juUHOaKLPmsiItttcxWxn2
i/ug9JA3+Tb5km/fvdurDbvPmufEfMF9dTMjDTSGdRnEztnbtrfOe0uTjcyJ
9mHjGEyyvf9mAWNMemHYAw56ZJhGquZv55HxJqD3I9k231bLjr2NnXE7IZcC
Jz702STtm9BwjMmwX4NNQtFp5Ly73mvROtv6sJFzs3u2X6unEWd7vBphkuy6
YTWxt74JJxkMi0KSrTx2yUReypbZtvGyZHvxWnf6LeyfGjlo/+w7Q6dlE36e
W0b8JtZtLkg2k0k/TRcJB7vOYAHLFu8LOfIyjCwDm58VS7QsaHssfjLj7K+i
bIZ7iOM9LzCvdzideicjsO3fH6DfbEB7CT/hbmL4DfaTXFW4o/AD7OkfghvF
L4NGU+G2mlNdxpIUIlCIkc7ufs4SA04XXVKYQs+m6h45x4j9qbjAo8OSiCrZ
Am3i5fHJrVtYscE/J89f2O9H+//08uBof09/P/56+PRp9It/+vjrFy+f7sW/
xaPtvnj2bP/5XhgQPk1a/kwazharHvDri8OTgxfPh/jmltSRkkIMo4wtpEWZ
LVkjk4gQi6nHu4fJvYfiJ71/796X795pbO7e5w/hF1Q++YWk9vOvsNnXaDBm
KTqlyVgD/T9fgsLcp9yoi+JqnqDtyHl2bGiATMS05WR7eNzDhHkwKUl5MUdL
1ZJmTQFlDnvXzAIYtZHrTKZ5j7LXfSIXOh0sSBG8N8NjnoCloaTqwEAlp57b
mjZyhyjP5RlF3/79Qd+sJc2DSUmHRRUyKzlj1MUp1UgOI9wLI6SUpIPz4XQT
77mbYGaHaFswzijKMunKL5E0aHv9wA6lZqgO1cDVVzgbV1TmYBru74vp+v5G
6432abtx+l7TU8u1Ob8Q6sbwP+rD6sQU3wbdIHgFDtFpmSYv69YwnqJS5qFQ
J/rlmCB1I5y/bpJh5gZfxaB5Y4pshbbECqabZ1O8ARRNLXnT0mUYo2rNamMP
fLqUK58mL48OnMFFOXyLlKJlBeuAzcQomy/b1tvZ4HzQT36PytSy2EGPg1V7
FeX5H7a1RKPjgV4/WZXznct8vnPv6692n31x/7MHD4b37j94+Oln/FE139nb
fwWn8dvf/TMF/e/1eDMtdm/FfVyfEvt0yffJqR1SE9F08XsDTYQGnBS/xRte
SGm/+fZEWOHnnxJfjC8RmcEF6fyZekfFl2FvjT3KlPmcV5yoJWKKEwVxPD5o
PJlky09lS7OMassVmsZYUVUBydLo6Cx1BrA6FNIkth3VdCw6DMem3ajmodJo
5MqIjLXe4P/5/v/QYxNX/Y67C3pzO9z+7GIKexyuU4fDlUih6ZCpczx33OJM
xNSh/W9easY18ypUNhaigegJHLMVzInr5r42T30ItmKiZoNfB6aO95AcsCCV
irIiTi6Ri3jmTTcbMpZHNGO+1z56ZoE+F6ZocTnAEJ8NPh9oVAgpRTJMPDmj
F5iSHDvZHp5fYBLe4YE+BeMTe69QGXwBBhrlmaqeqMUwfKwbVv90HLE7OPNo
tbjd6vvUlmdbS+ti11ytrKa74qjDn1aPlAVvGqUe2RnVHWqRa8n8+pyIrtFL
zi3DLfiTaBsSDUGZ16w94u32YYpQyseBQta1SQUmXqH3haKCuGS+T249nOUr
PsdPyLjh4AxeuxJDwZLP4YYm32CZX6Lk5Uy8LJJzwYsUhbUwwm6MJx9kA1aV
0Jf32cNVOaU7hWlQE7X/eHmwuoP5WSFs/NOHX9zlWj2J2VGOG23bOr9U75Fy
YA7GTjGvCNesAQcWT7h+XTa78jl/1NaJ9lWOWuAfefQ/4oYwI8bEL8dwul74
CYbR/Etgv7MqvOHwm93jX927S0+ZL2qyKvWG0FkiS1qA9ZeJXYQDP7G4x9CV
Romn7YTCMK6awlW/II3x58/SP8F9P1QubiOacRWr9dUqX7LYxHIFLVHyOrvj
LCH5py8BSQvoSdgVd8jGdnVf+HIN6h9IrBOPPxTIeT/gI46kNWvfLPjZlpKy
prwNSCLfqECNQ8Vkpm9i2X/S8XOnA+BtOLRWbxF7KgIZoI8FtuqfcFHt33n7
8830hnrFJPIZ4vPJdbEKubrM2K1W5R/e4qA31/u+DWpm0jWsHv8/8Aa8vaEs
KeyseMWTaOgFPy9MUsK1wBT+4efaW6Kv73aSXy3T0W2YDdV//3rrJ17wrXdM
vSddXvVafoKUcYSqqZz0qbOCCpx3gn/c/SPmEXTIKv7U+c/oX7QZn9Q2QY8k
ovyWUSZz5yBcvHZPAJ1sPgxyH/uHDMH+AdXVh9k2PqHE86PXFP17u9EjzUpW
ivDSXFvqVfFDGJfLXLfjOlddYOMTR4Rn+TnhqRgdRuGIx0I8znA4MeKpEx9I
qcjV7CpS24P7lkeZJhf+i6yGaVWUFGMj8YGxP5/mr7OorImocjvKkRBXTyVR
/mXB6j5mOabqQw+JFBTXcmV1WtPDpcBSSmOBq4nG4fA6Yt0RX5bbnO11qG+u
ViPUGyi71IkprlGKa7dNnIlvlaop6nXvxWq5WGGiMJhBPo07Be5Vss0h6gq+
n+pLI/uVdM/d4Q6y3suMymZahjAlRko3CslHi0wPksPXUUSSzYK4PoLThjhH
pT1VLelkVlpGYIXah+RygpFG1/XMoh2zzeKkXx8wwa9p7H6dN+mRjnUfSAfD
lpUWbfKBYIB/UaJXnPTI8xV6jSjZunWUB+Tgt5qIpVqstLvsesRjORIj4xCj
1zvJt5hpwK651I/LOvOECZ+8HkxsFALW8izMY6oVZ5GS+mz4Oy08FWt4TYZE
MLdaTDLGu1iSIz9DVzQl2S8LspU2RmBQtwJzBq6AndGt0Hvi7mBe7XD+RRrb
6BqW33Q5fTlGGPhPRU5KJbl+Fvl8HtevOMLDuhX5Mzvu5AbkWpxDNSRarCPV
fj5vHAc5X4GqO19mMllzu0ilZctdHCRP0nyK7A/rfxgPgtMbxLaPM3fkRcRQ
Oqi7DyyvwvvBhWjp3Crykaxxllyp00tCtCRJz84wkJdGlvA1V2WMsZjL74K3
Sy2Rh4/QsszV3VG3rAM9e/N5fJFh7S+5i6dUtIWmXsMKht36VgiR82f4aylX
8iGYABVUBbqdGAGMtD4qqzK3lI1uh3DcqE5WKKe5XdMCZRtvMSa5SPrCJskr
LSkNVPYm2St4g1oEaBRiWvqyRzuMONroSg0srk2SBB13LrWcbGoqaB0j/BBu
mqQ7b8UzvDd40Beed20pkegaNs8VVU34tL1g/Tylgort//gbjNKzPGoNypi3
R+fUlp8rTJZLz5bh9CuBeaDkUvTBERHCenF+205WUBTljHlxl8yQcsNz3ANL
4G7HUojy7Qb8elAD8CSK0ZJEfSS1Qun69NonsHuTlbcNDSrcT9k0f9qwd08K
V+6fLrmyVbQ4YkfKddiTtkV/Ux0lLt9pVO6HeFku1XxO82EMAHN3jlX38Nwq
0mCAC7AuIR5WXDSoPgnJXF9bdlGrkKBYiYpUvhLIQjIpUo2vjVvmZqQt893i
chOtWqxlXQWy41ogDppKaY1LrpW7Fk5Is6lOrorkWAV5hLsU4EpQs6hid4rU
hzHX6QycRsARNDVXSBYnWB/nRK0Jkv00Zm9CrSNJd05l2HA4NeQeqhENUbeu
5/pJ3T9kUCDZGxDyFRJTjmwJc5aRomIsIfT4FucS7I3BhNYBCVWcYDEI7OfW
rXb769atnaQJJTRAa4g4rkuIB13lOwVseYccxH7rqwfi3SC8r8uowzc2UYg6
36huk3f98HN4H+WENH2ZaBtJML7uPk22WT6IK5loVkbru4R0CqlMyyydXIeS
UxxFS9f87jsXtPhD4/BTz65ua5UqmsE5WVaTXMUh+cfREuNZU446Fcj6JHUK
xgT7DQu3lNjNx3s9z8pzTFYF5vgmZhgPBp/qDbXDajWIdwuu8WS0g3XFJa0l
Izr1KOS8PsLcBmPi6jVHZZHCehmAVVTvcO2d1D28uK6IqvY4F17XuaN/qIPI
XGYgQIE3vDp4ju7g5XiQDF2FaVw+tGSSnV4HRQZk7BgNvkuOwoWkeYK9OEvJ
8C8pk8yAlqKgPW6ssNYLUiXwLNEuRbey0dmAjSmlVG8fIpEK45Y3O+ef0mcb
HYr6jZW6EkKk40W1KcVZw35Y9W6Qbb3+e94/rQQhC2y4QDc4EObXvUcJwaBc
5VXWNmQUntBBjN1oXt7216sZJqqUyfCgR9g/aAaEU3+JSAMNaCHMzCuuYToH
e/Db8CABWp8v/aGwKsSrjuAKKVgn/pYLJGwggEL0dZpSxdXtFzSvSAtaR1me
niyuzDLnWvfAlS7pNT6W2/6MbzummISaw1+AA3EuNIVAUC8oVCLC2ueCIdce
hfhk7a+tDueG//lt8pg3JnhMLazHv7ZHKJNjUub4EQtiidey4dJ8G93VNS5P
941RMbkOv/5syz+OL8zb5PcoMd/9QadxjD4U84ThbQoJjfLId1vjqtzaGQwG
7xrLpwtYW+/b7gBgeKTuCf5PWr53Gw7awqWw/HfIC5bXdvrbjF+I7OuEGVov
Xs9G51+4pOGfcQNCpFzeyxsAitPi9bs/yPlPMo5k1wLkwCro/Osb0FxM7de2
gPp/xvLj6NN99fo3OSJOmGNOj4WxcSpeu7bKEYBhhNOB2cbqHD9uE1Jrih07
krcY8MCxJyBHrTIDGbaYZhMQUySfFdPSYT5EXmwQUsU4J7Zrzo8K877IlNXX
x9J3yKlwtcVoyodcADEn1xdy2gtQ2WhZlLquTDb0WUUy9DZDDKkuKHVRdB6t
POQ3pcFfjK4nCX+G7DUMps7EpoIH/GJxkK9oZl/zosOtcUu7yM8vEPRGE4vC
UtnNR9AkJPfR0I7jIJFlwKoXJ5knxRUQI8UDtiUHHYNWnNdeULLHv6zA9F7N
km/2n4H5gcrt8mLGbkL27AB5BUC5syylrFPJtdgL8QOxplnk/9gqWXJFtdY8
P2LPF2sClkp2AbJfHcpOIRXX9DxgAtCDHtJBqUIiDzUwM/X3VZyewdrKnDQV
MqX7Et1ldcnKK5LzVT5R33WLm/Hh4KHqTVxrunMjWq3z/HaWYPcdEEcWIDOt
kPjp3vDwzgtUozVxvOqbpwcrRMhVTJBYXIAIH9ONxtL5SZ6GK2YfUxwNlc7K
PFLNA3DeP9gKWtSkOw3P5zNSxEiFvCamOsdiHhK1YgAPdHDJG9DmwLLmqznn
hwNPnct2F7rdtTTFGsDT0TAZGyo8O87nOhv0eTfn8MiSMC2gcro2B/O0GRb6
PAJgE8IMOZlY9kW4hmzvIcvQQtajIdOEA4rzQIgSRVwFlKg/myEwJrvEQAnq
WJcK58heLE7cbfUFgYUB5oIkuo/TBdUrUpgQb+w8ywTUN2RlAufvSvLHPCj2
5cJJAJ+aWkRUbtGvJDC+7yvkJUA+ibirMAk6w5uJMdmmI1x3cD2j+wjzUz2x
2TQ/16JfzBcNsYqFIHJJdA9u6mvONJW2CiqexdZSj4OA9PqkkgTt0L1X3K1g
RwCda/OIwcyXlkik5dUODxk7uDg45FC7kAwDzhpsJbwfYbFw3jE4CM3nxas7
+zYlqRms/DW21LMX5TlQtJCgz17CHFusswcCZ5j8SdwuZ3sfsY9fvLKyXycM
Y7ROV0fOGyeocQggcxG8Nkmyfa+XHEaOcbwW0xXc5eHjcPk4dEIlMXmJeRVk
zKDLJSzFA5/hFErqKBFIECcEXEpzrEZ0K7MUpOI2hhYw6xn5Lt9TBtOE1Q7P
luI7J98/b2EVUYxkaVJlUco7R9xfXRKPpcR5G5bUqzM2jSKjW6NCz7dAB0u5
ioIQcGiPE4RxZyiS7ItjFDKZwz3kQV8X8OkzvLRyes5qj6FWTbnk8IosxvTM
hT81vNHuKKQFR6KHfL+HnYSI/01msNOE+4scASkChuDoDklWBB+iPM4I5ReD
Zv6blYA4kmEXx407KEILp1PjxPJuA6elq/QSHTigliJbPltNowwE2Sg5afyt
Y3e1PMPV3YX07i7Ox7hg/EJhXnkxYTBYhveDIebEtq+xWo4gxQVwk+SCQGIY
e3QBcJdwTgElNQZlaXafG0CRpKB3Kg6S5xO5WiS4gfaFBK62dw+PeyY3GqVY
Iac3InnRCpp4Ke9Tr0UHESGKBDSRcEkETYR+0vDm63WXh15TLDywdTQdgyfd
RgnkcfxDdKC5YCnn1DONeachYjuH94GwrBBZ20mIfpWX4TaEa9Sv3W9gRBzd
EhA6ueDbDAKTaJIQKdSYKZCF7gdg4IApw0wYHgz1Zsk216F5DbKtWo1DMVw9
3QBH1Krqd+92tKavwP/gEWz1+kGQUQmM0OwkEkbWf8DNEswpUZ9ZtVl7gSmh
h8/F3SN/NpF84oo4EtTt4LcvXtWLTvkMQ9u1I76+1olNTolIcy3jWBBKNcFe
YixwkSuan4yIN6lWGizlvMsyPz8nCFkSJw/u/u9txSZ1jsQ2ZPsSNC+gvgo7
BJfwo5nuQUJf+TjHHBUeOMIy1LDOJd+K32slfMnXCK4HJLfTdlbhPETbNgzr
jZSwABvkQyvy/a4j8X2e4kvuK8DxCBDVkS1x4s2FVHCCpZELkszLSlHhvz5+
1k9O9vfJifDi2Lg2eS54XjhC6lEfa2KIKm0QrheHjB0WVEFRoOxNiPFTMF2g
Sfjv/SgrrmvtWu+OqyNOiiuakTm7zATcjVtWoSgjFsNWjIQ22pmjZfvUjFGw
bjCDL3JyxAjHXW44tBjZONIEz7Xs3kuV9RUW7S7Nlr92+T7JwcvCkQKzwbvq
vD5P9RrFoQ56XmounkTV4x3+2A824+NIEvL03yb7+4QnPbFF8Eq0MiPM/K2k
JvjFdDmmeTO2ZZBjtYV68NfGXhAuiyVM+AE6B97wr13hABq4oebwN9gLUt+P
t42q1ORtR43q+866vp3J26dWoO6ae/5S22H4APyNDuowB737ExFH44POWW/b
o4482rajI0Xp57wqcfjigYYvZGOOMB3f+9ksm1ArFH7lbcWWYMbHHwWjlTxA
I+kD1YnqQBbsStsxxDVxLS5uEjUYFMAsS0o0rUONUQKdzLANlqGSpIZaNhwV
ipuhFfl3usQNWvW1vh7RjGs9Pkixq5caAyt5ldxBHe1Oso8+kPXS3aVg8kxd
L73cRIW24VIEd/S5g/GKB0HmMw5B4VgDHGSZ1YZxwcnCkQf7/g75BxX6c00n
Ne/I1opw0rQo+60lWbwF93MgooeygcOfKZFAN1/z2nAPnDP84AR+s9bBVtX9
bT6fYEMYQXIZ7oF+3k/2f/N4d9gT4qgVvoiaE7doyq0H2CQUXlwVkRtAaz05
N3lWYIvE/DXqIuVqXpmvOqxLQbwte78f1I45KdnSP6pRNRFAAdNklKPJiXj8
Mz0VCYScl1kmFplsu+vFGWp6LEiiFAMfCrHRi0lNGxFiMM87zlpE+9lHXpj2
ZZTwFrzEVdst5oxhNioEwSl+BQ+ogQb4LMZ/bkF7DuAo68hdPe9IsOJWrOHD
b7eg1WI+iiAnaz+1iAjItZnLddFxPFJvhEYwwTGWTLGozFMGiGQvmzvej99T
oqlNtdGsKvbMBKDOzdP1W0oHfDojAluH1L7TZIFFAuYIFXxmP3UumzC9mk59
HtUMubhQS8kDyYsxoxkIPlTdiHQcklpWRKzswU53j8eoAsPiCmYoGvxRE1LY
1H7fJ3E+qQfj2zBvfa63mDtouLisfdLj/upql+xtpW9rxj1V6ngxfYOiasCw
pqGDHU+CUMpX5fRUJUsrFHd8xMIjkKfVFgtXjh61VFqB73AsR1wrYWwnLI25
WYCzNj7Q7Gq6dH196dQuqMdhZvAZlxSlxYIWxGkrUw7xAm2U19YKwUdWXVQt
pAy0yQ92Kw0pLTbZozUV2CDg67S6yMEkWoCShHixKDi3RSVlr80ErzSILsV6
uze497DXT54UbxZpVYHOWqwmIR73LMdLXpwtQWOEo04O9kBx+KookCcgaCgB
IvEpfzUtRukUQ1fkEfEq5ldw4lepQNMO91qEjsbO1PfHPF2B6INdW0u9cMBT
FmOml8wLCgRqQNVyBSj+sL8+cwC/42hPEglgZiQJJw4SyrW+4zBcOxC3pugv
rQiGGZ+VIohWQhoJYwvajkgPCmw2oX4BWtiy+HAMdTWfUuuQZQzXwv24sOMO
QgJTZCS+A1wuws1INc1iLKfc1lCacZsEDx4XzOpdxCGPLc/hK8lz0D4x6h/W
ZgsET4yhL8xQXahjvKwkVYInvOCGfUQrWHxq/gxDabi3k+wVpt8qj2XC2oCh
ck8flzr7D6HM/oe//tsPf/0+SX4Hw9++/ffrAOV7/lt/pW89L/Dn7/H//9f/
7iZ83004km1wUqyHRxlLrCwEiPvUaX91bD/s1Sbx8pCbIz1yWDsJCRgc9kTt
TPzVVnMiWoHrm9prbkq0J/eT7Rs1/OYOdW3Qg5+6QT7xRZV4p+YfH7+w1BaM
Gijj0ZCBJLDEi/5rY9HrWyJo0T8xSrU3+nXOEjV4q+tsWD7uJB9GOqzQGY9X
rQG/R/1QUY2POHBa1ILmljNuNdzkgXTctep2GXYnQK5LjVzzrSZEy1vd2haf
jVBamwtFb2bzk19oFcwRJodhRtKUB67Z9nNHjr3aZ9SUCtPMQK3vMdaxsRXg
M8mv5UvsPoqxq9fgWnR+cgMaRv3Dn+UVUQ8fePhFh/PirXCQFtsV/WPG6zdY
RQMY76evYuOHf/wreKOEmzJteJMwGmg3suXu1KzHtd/9hVaD18N7VFv9zjLQ
81C5Pqm/pOuzX+xUpCLwJRUToM8+OJAmh34YvMvlD1GLcvcp2wGfwP/tB2W/
37GOT4LSG6iXPkHBW/PauE/VLGhdycbL7vzkxs06RF1lfG0PP8Uc2yJ5lk3y
1SwaRv4EH36dn19EA3V/6xdh77ET/KE5wa0RQpy/X893Fl94DXMuYEqBWqwN
bxuZxaQCUSvmuJNsM7GVCic4Agl0wAggHEQmFwr+HePKrjPfwGWUfjq4p3lb
Uf9icquAhKbIJb0XVmjYCd7qUgQOPyaiuqxmpJVJDbdmoRo2MZpdDqTEBV94
LYPkCRVmcn06+qU4EYDcEej2l5c7079cTbMqarVXAwtVLEoyx++EVj/rMETF
xHkhZ3EQVt6NuCR5mE5bRS8Xpor6zNofqMGhdpJ2SIRR9pBaus74bdi8nT6X
Zip9mZ2n5WTqMDtrufSuY8f+PnsgboeQWFsDioj3+X8RCvruMNgBGxUprfsw
jPTrX1N6phXW/fq9/v3928acXDXdDhcs9ZOtv1Ob4++3tH5rzZw+3Or+7teU
l1j8iKXhv+ackAD/DOsaDAZ36Oc7sMDf/va3HYv6eVeHZ/egl3y1f8Lzer8V
/n1tnx72HOH/1H36/XcY8drBS4UNcvuJuDj7Dua5jRJ+tn36tEd7NGfUFJtD
L+Gt2HAk3KfPelHlYW2rNh3pw67u815y+OL45EccYMsN/i6GNt/6uz9dLeHe
3jzhn+sGf+Eoc4cF1qbrq430pfCCnYSRIDam8DYa/wCrI+57Vw7Pym23pe4Z
E0tDD7FPe/Xp1m/wPWDk3gx8v9U1kBat5rJTdnuFKiho27tBBXqFCfasx4Uq
y3sdnTAImmJI6oTVEInhSQWPCiVxvMwWFV7pH77/73QdqSWpNs3QuIVGV8QJ
VC1zWIJHu0fLFl3ktZCo+nSm1+wBzgk2vOHxxtTLG1SBfn1o184uhoTr6NVW
3ACv73Ny64VODzBYeZ+3IFT4R8CFdYyHf/8E/udBGeTdbUDWHA+rQUEUY5iZ
9NpMl3ROMCJSuCTbKkpLeJ0HkrAKUGowTa0uZH+wIPm0BvFNSlvYAAq3tcIw
V1rT3FDvaNPWgnmr+trMbXosRkWczGjqN6e2/5juKJS7QSiFnDrrIIkYar3R
LbdLfR0kj1f5VOuhNspiD0nszUadkdpsJSLSq+Aqg9uV+tx7zkjiTjMTRSbQ
JKD4YmxwlzhoiOXFkr2UNcy65hlIFrPT39kvLB/HVXOv51LuGsKxOHHfQppt
o0Y4CrZunGE40jAmNSu+ikJw7h6JB56zFdRt6YDTQsuferpsWF1HznqIF1nr
U19PEO7QHl0xSeXmXySkRqg/N9w3n9nNlmW3GbWtTwTDs9tgvDe419NUh9wa
25RZZGVbDEPOnpKALbhv6eNlevVHM212UzARMYE8yvuXRGZOa6GxsjeIgIqt
LxNObwtgi7/59pgMSs6aXqTXU8Qt0kTz5uYQlOJU2tcjP1rBoKfHX6PT+/6n
n237+fVOXZsjXh+3QPXzcOgc7UkCBNXfXKEko1MmNkMkEa5HSn1FfnP84rnm
SOAdPvXTaqmhfSBNW3iP3TzasvWF4K675+zIPq6cZZyJPk/zhqvJMFRUrM1c
KuZQyiYD1XU1lPFFlJ2deb7lyjyrwNPXYGy6Xa3oe8bDzTnIvXhqXSm2O8gC
6CIUb2tuSkNjgB1cIpyicxWBggZMqbyOCwW0qcmCbrUW3Ud7KUCR2svDldLU
9JnA2FFYqHJiB/vy6KndxCes3KrjhhFlDq1YYwfTXXEcYn5cxCPIJbLNfW46
aJlwdrzegUWpKeuay1rujc6WQ+bWgyTu+ZKFF3LR8BrMteCXZMTUyvphMNnf
ji/IC6LtUGjN/HHX+CN+YpBgp86pArteluk1gzK1sBxpc1MFNENro4Sp8sTa
+418ROODoWCs7S6Kt8x6G+DQIcHxNKT+6iwVHrl1sPBSnjNzXsJm9mTkp84H
GpAzdfa+TSLy8lWJiVnt/ObMQEYZ84mqL5EoVe5Rsm7zHdIwmiEySM6frdDd
iLEhoRrtRz3Nap3GKlLuUIW71mx4x/bIumnbokeea+gMJMsDkcMKdS5ns4hx
+TprmKdH9G3WKyb/8bfPQeo+DPWbdTJlV3IlENjhYPhD8hVL92hTMpkdx82c
G6/8lEjnP/72BcgYSfk6xd0CbnmKXB7+D8Mr409WhSxq2GlWlkV52gucwFWh
BzAZnsjO+nIeF8fYBKwI4zPsXW/Y/UfZvwzohz0KRZC52ekG+FBziZJBw1x+
x01r3yYv5zkwB88OQiv40XXSXWLhPBlvnes/sIFADJuOcuO/t7IilPP1UWxF
DLRvRK45jyhy3Cgfbi4sGdvnMuzQJOJRbppLQ8u634gVfOA1oR35R7ie5xRi
xXoYSiyiUZ64P3vQ9gDustlsItgPTZ2p9dT+cKsKNuMfZ9qLxK+qUWjcRyUh
h98o6r9FOsaGM9oaY1IAwaOumdOHueFxHPVT9csxVzZ1p00PZ/7NDjhNNfZ5
43lVc5pEjKF247mZVqS3UwUvdyUCcXvv/hfJiJKrMPN/WRaL61obRMpsRV7k
sL0CV2JAzGVOOXSLaepU1z5nnlpH06bfTjJVFPamVfQHVGjtjVGtZvW1DpLH
11Qxy3VDHDwaCb4H9vibwzvG4Vsd3jsn32szbTOoSE/EohZbsYJoRc3LG3n/
JQK5LKtE9kvwJ8KKBfyGQ8yNmdrXNXWRFyuDIWHhjKuAKnxY53bPiDGKarA7
FOWk1jyixhjFleNbo6p91jTpBlj0tuJAd/QpgW9TsmqjR4JiI1TZ0msg2n+U
2euAM3Hxp/ump4Z+2ForNXw+1Hx/0J3CqX1BIAWXHFBnjHHJgnRgsuQuYtDe
8NcAk1GDs+3c24RMKOBU44CRg22cq1qfkUbDarh9Z7G/hBImGy14PBRx8Me7
2rzUsooFa1+6kWnZkqsZjPpBBnRaAjpTf7F1BlHsvXjwqOwwpvh+za4nSHkd
waCNnSfFYXlTpoc1LYqTwXtmqRaLFBkUq6tffnH3c4SoOARbHXu9w/zdIcEQ
iDe7L6VifTedRejuJvz55j1yzp3hN/vWdpGndZWNOID53XeK2owT+xqU7auU
uJkMeoW1dAhMzZ2rvd9Cx9IQyQ73pEaWafmxnKOdxznahpNGWlCtn+l7NjHX
mkmrR3GT1K4z7W2nQrGa1aYE7DyEVRigqDd3K3Zk5rCJLyAM1h9SpUN4ekQf
xYURLt5jdQn1psnt/h675DWg8s47/vFHmz1JfE9jBNJRIRUm0w5KpljsC8VO
bwFrGUjKpMdvDGjowBqJ9Dl5ybib778Z6jnkbnvU9H4rZnrPtTPgz28vVmc7
oWOCgb2/nI+nBSOvKN5BgCaRry4XM/dVBD3fd6DncE0b38De4uEbrwQoXnmN
7PpzBpKvf7fyX520Qc93ZYOv+22tqugNPm/tvW3gR6w3PNFG1Whgq5b6QWaI
wiq8USUd/4aJl1HdxAWB5pk59zaJGxKQPi5suXXAF4fDf3q532J52QR+L7z8
D8FYMIbaMqDh4hPUXjN3HgbUR/5gAxpTahnwYB5yUGtqkTzRsmS91H+Ba8En
S3TGXzh8+SSoeaQwS4P3G/bRBoUL0xiU78033rSuL3zdkJecbR0P+Sp0YGgd
d/2Q1TxpDtnW68GP3TLkByfx2Cb7TG0yxes6zpYMQ92lMSfb+5xjiVwNJc8T
ciaiRO5Zm8on3FxILbyoUaKadCjmWFn5/NN7X757V0vZ50oeaXcNFhiGsOxx
DPQGj3HsQyOxcbPj7D1sWcG8QeOojSlt5jhb0+32PWeSt2R3N5xMXSjoeumr
1Wj9IEPTatsw0tb4GiLnkOCVLtKcGmokiypbTYr59axnM0lXDXdkbSbH61Yj
PCxdNj+J9oSIC1Nxl5Tf3D5M9maxfph9gzDjUbaxZm42YzTSTXflh//2v5JP
k1k+xx5hbZm1NMyflvn6uYh3VFTFph91sxMq5sRUcTGgnTVn87bTUevn8ixd
EoK9BLZWBsb8PnNpeOjbZ9J0aq7xasqzpHjaILE7IRrkFv3QFtxszuXGBcXx
0Ci8vfkg+Zwb3ipTFKY6Yl/PxsOwUwhMswvD0ZNsrPeYi+UkiMlXSwHfbJA6
1JkuLAMVHk5xs0HI6+EoLa9C8tnGMxmX14tlAfbi4kIsBstb23yQ1gy3QFgb
XsPYtfb54MveIH4Wh5mP6rVv/G1zFBvOGQrX34to/QPvzKONCe5MK0PMdqRU
DD+TGwfRqBfF8WAiuCiYS/Iff3uIAbSBjNPW/iRa0aFgC1POU4TBSJBQG1Kc
eFMETbCpyG42jOrpj5JxWpYK/hSe3GgQYy1UJsbqDTVEkVu5Kem2t31zc/kg
2kasLX6u2mLNMYzURvqRlD7duoVJs//l1q1bDdetwX9PfFbpdsgJCxDqEhvX
frbxHR9lBjvNCPZLdM0wV/KQWojdbJklo3T8+ioll4BGvBkFwiDLjeIl6Ixd
nQmMmjwS6Yha2D7CxhHATksHmiMZAQ6OwbR49tBLAw903UtSFLmGuccv9frO
0tfBXS/oxYfHrawhdNSwlK9Q70Qe5zgVKve5hOyJ/I+/3buLOWsc4u5OJeXM
QxjufTLLUsJ4ezw83v/s4cujp4gQsL/7Ym+fzmqUnWEaJGVvYYoUrHfjzC9y
SG6S/aWu/xBSOlJDE+cg1UkRLl09UbHSHKG2BCFyDDt0tzTyrlKKCiXHS3pL
MEe+i62hUKdg8AEEk4z9UfNLdauqkdz3oS1xVVbeggxmEDxYYV5DtrDk9T1r
Ko6jRF1ZG/lF9TTW7U6EXwSxu1PHkPhzS9t2eKrF/0nQC0zR9/m6GlLBHYM2
6PserEhywWOu7aSbGV4mglRiNKYdMko+vf/F3Xfvovc/0NvNztyOmQd3sHXn
bE3uogU+GCjFqdrOxmpz+8M5UnGjJsKmg+QUzD9JIwTL6TSwHmaBnAgq8LiX
HIGyFlt1BfuRDDuCYeFLpxE+LgHEcXzUazZoKVh4RmwP62oCCsopJWD7gbK0
nOY6FIZj/4WKTIvGsD7FR3wCoi70dKZjmCkYRqcxkyB4+hGWB1hk1Ecx6QsS
G7wiaKYmU31or5gMGtHKRtJmY9OLyiye+ibTyT+sbVnku2gPxEZ33V6oLdxT
NQBYrx+H0uT0HAdmsWPWi6jKkso7kWE1pcsIRBGfJ41cWj63HIahRFCGcu5h
AjzlrJ3Cf3YQJX0HgS5m1Q5exx3KdNoZpZNwMdEkyyvaNtqSIGrL0BakQ9CP
VkvuZoFDUEzFJu7AOWu5dSRD/qTwQpbgnL/O0CFBhwPaqPWK4SEYJqkFb9yp
WgvJHK9nYtZICwugrP80slyDy4EfjgT2qdbjaV+rmBtl4tzhliGqm4Ciofq5
G11Kw1ip6C2UmqfAVKRgK/gbQprvvooDtUUMODWRP2uctRVV7wqbR+O8qW8G
pdxpQbZlNVMSsgPasjCUbQVIL1Vw8LPDssCWc5PkxcHejrRTWuB9kIZmHLNd
yobzoJiAV6HkMGQrnATo3r+1IGfYwbQcJ9sMFsl3h2kRlcGx5plgkL2fxOf9
BfZlqYGOwzV8+tTli6ZLRvrEfI9NcMC4T9Xxc9DWjq9hiDdBncDC5duLjPU2
TNel4W4L6MeLx7/Z3z1JDvb2n58cPDnYP0p2dn6dfJecPN5L3jG/I5pkgjwK
L6fnjvf/6eX+89395Dut12v3A708efLF8RJV77578JCu9cujg2C/HAw/5efo
txeHJwcvng+f+i8NpbPtcAnPjdA/Fmbx4knS+DgANt38T9+H35HFN8brWPdS
I1WNDbXJM5FEu5Ekt28nT0EUICwfSiugH/T9IT8u4NIvK5mKKH6cmun8yNLb
sSaOOJcCNzZkuKGndUllIk1UxrpA6hnConYr3nseJcv9j064+YFOxw4XZvNC
gspI9zgrymh0uox1nRJRH/FT5v2VNmRZD+ZZZrCvIO9oWCruWuoIxB1nIKht
ik1Sqs2VYKApSJEGarPWyi4M0ZoNRV2ThWg4U9rrPCYUTEIhryD9mNsiYVBD
egXiJLbrTORRbFqKokOlF6t5GAR5HNKmW4F0TM4ryUOy5GiwPykq/SwtqYMM
n6GImMD4nOAcZRqUSSvJNR/rKMF6r6e4GSJv/QQ1V/rk6TEIYBCXpeYaHd95
dmDFfZKeIe3HzaDgNYV5Ir4dF8diTXSwxKJeF5RpKFkgVNkY7JqGEwAMoXyc
hRxhwdtk5uulpaArRrNJq8S2JsgWF5WyCglX1CaODqzgk0UTWhwDFMruBewV
S6hTsFGtnfMTeZRgaScP73BpDGluPCWpCZsq9ksTLY9ySufZkoqSGPr0B9dP
EOSl1bmBzXNeSvFjfb6rBcGnVgpEeL4CzRDeIljhSoVr9pHSFasmI+igDi+9
iVmY1hehybOdRtpjmqMXTrbEXDQ20Spy9JAPZYYEK4OSBD9LRqAQ0EpWc1ny
pD5l5DYxtPJ4ilZRzUlkuDuEzym7gElR0/Q8bKdm+KVnZ8xinKlOGIdvlj+u
+9VjtELS8jpkqrHfFm1jv4XEN/AgnJrqrWgy2u5jZYYprMQ+W4bwWKfc31Ib
NAlbB+1Ob0YMID5B+kOhIFDEm6Cpcjm5SyK0sguCSNJWyu0TFWbn+qwanVKR
pHiEKxRC8GeEbBYIpmVxRR6iZEsWRbmxOXVfMsG39WjdGnT0cjVHIuG0iWJ6
SalFbdYqtVMQ+R3L6/USNiWkqOm197eo3ObubEFRGHRvluQrAzleZpqivImk
TZehMRV7BDokeU/NGLL2kGvgIugNq0nOPmHZ7XwOJm/lHQIRaNOaVcCND7lk
FEEcXbdt2g/f/1uu1aJaSh2TK4Y5OIhXcGW1OGiUIFJq5wls9n8K/DYxt2wm
pfbcEo7x3nBXfI8IrFtviij0iVJyr1F/FQGG73Qs2WMHhyvY6OXdNA2ltqmb
hLHMC6j4WuKZoc2WZTf6FcZ1MiHL3C1HJABuLcxTvNqU6k9FbkHvGSbf4k2F
MztyLQSlTJHMYAQonvBZSlpk/fQUEmC5Ia9xQr5+PVscduzTuyn93soV6wr+
qZYMnLZ5+IKqoc2dJSO95VpJhS+2X0vRTWXOzeBCjPqvkH7Vrh8zQaRrdOSm
Rkxa8H/87YueTTuSm6IEz9LFzRo7HKVZNwq2njirEuiNubjpjYG0+gSOwCUG
xtBRb8AWEaVvNZzso4eLEhmrmq9mSvnqpJXQM7x+zeqnuXrFB1QE2Hh6lNqg
cDY1hhH46y+PnidzYFkE346TO8vfJKdba9xuW6etJZOfDT7vOffBBoU8m4YL
O0KImDVjS1j/722zoPhms/7tL7WKzVycnDXJYE/s67VYBRYOkBhpSe15S6/Y
9N9bpF/1oyI5tSa0tL5izSpYY85wKQeTt8mzMP66/KufsgoCEqmqO5gDJqGQ
G7900yqAs52ACMGe75axlelZbDavm15RW0WLD9u314yFiX/FstX39iovpnGu
KWyU6eRdwiewkr5/xab/4El0r5Nh4VHiVGagrVRJck1to97jFRWsqwItaVEs
VtNIBQhtfWO++Mvc7jjN4QtNc3Dc3VJb1yDAa9ordYaolWGE/vNdgdTcGpz5
FpmE6Y7DTvM/q1Oe4TRSxiDX8ntqcerauwytw9H20dCVyDenG2tFoEjO187T
WbFsQdG0ORhx+aDeahRfoK4DadTubcUeY3GQ1jHLsjoSkIOPDXN0upVfDQE3
hnl0dXCyighrIo+lUC8rbB6xvf/Ny95OUFI0LMLhhdcLCS/o5cDOKTBLKYz0
FXfS/2sexwX0zfbCtldN8vN8yV1ZSGic2tcepxXsxK62aoONUAcSOQi8avVk
+PR4374Y3LxRE1o4mWmWBuiNZPc5o89LDIb0DeTQUUuGIAoeJS9ehQCkB/fy
L/HgaL7/yQuGzVMXXX2uwynF26lbznOcx/bx8Hkvmr9Om3TPyfNjfOzU+8Rb
Cu37ifnJKcuBF+r0aFas1XMqVHb0FJTIinVHHO2w4O1Xawv9pLy08KVXcWfi
HTy4JbeSRe3PZMajxKcQo0VDQbZxRjU63E9digfV44c8Ieqqrpe7znT4a/vq
j8VmDx9/9IT6P8ifDM2NQJG5DUbfNzVS7x1iUMFBT6zi1XlPsGVLium/4kB5
ujc8vDPcw9I+KjXC9+6IN1Jbev8QddBNqaEHhqJtZsM9PZ2xbhz3wcLRJchb
cQfi4LuEUYVmZA745Tlp/5V106rl/2mRsSrc8cyqYorukAvEhepuw+vbGnFq
RqPEG7UB8jUcD589vQNG9W60P+qHPb7IRyN45/Kij3xiPC3S1z2+6M3JWcpJ
QIEq03klkpVsNnsbklW9nvs33570nD8o84RCNlDcz7jhOyH6QkVrVkxCOWte
shCrpVkGT8WvkC2yrxW5Wa4dSyofJtd2EVTJxF5PRFtPl773GpdnCrQaWu4G
qseR28hlCCNo8fFFfk54dxIeliQo5mSW8UKdp1RqY+BYDTp855w3X/iIpu0p
SqVhGC21p3RIHBAULnI8UEW5R6AxsMptnZsVH/ckwcC13uIe7NR1LrSBplhb
I/+oigpIqTbLZcRibfMP3/81TlUcqT9Yi8y1S+cyz6wI2J4G9siRzloksaOY
XmIAfyKFD4+Vj3gGwuJcAhxYy5lWCqrupb7rBr6+G6qvXQ4wHjuai7NOzfFf
Zde/vHNCGF/pcpmOXwMNYYULbO15ppgDBt7KS9GEFmBPr4l5rmlfX/V9D/qA
qMC+FJgJ+Stkn71KNKjtiRPMnY3DsfPdDO9phRGOLMpMfcQsAE/ASyc4c3RN
fH38rBK9DcQRGglrlhSk6DBYRbDKPLsy/cVUF+d1DkVMWMNMgmyhgYca2Nnu
4bG95aiedOg4s1LAfaCAxnPWN9UmQ6iwXI6s7V3hiTlwo3i7yRLHm+psviwn
LzBFwkJT1Ejdny1SBZzAVZahD5f0oiRpHIDokMZcYz1r3ehKwZ1QpnxHmyRK
3zMgTsqMmRPw1wJbvrFsFzHCst3Q5+zNQ/SoExjrWUsaZO1+6x4/gD02HLjQ
uafWpzJOsewYEgRH1egjaJutzeWqWuCaMC5Y16KQQAfVkMB5ml7Ts8gGX7n9
/PijbzuiBn16Ntp73EwmGQwQXhXJFEdVncjYuGwL23FtHDJULFXryhZa4C4k
/b02XgsIBotB8vHfBO5AKovkVNHs5cqaZ9jeboi+LfCFG88hdi9rjmhrAl5f
rg0notUL+jk+9fFHVuxOvhNMlVgvn2T3KQqjvZeF7Zjg1XCBweYW2mDbgELw
++7jyArSgoawq5as7hb61NoR41i1qrZjEQKCbOe+FroYu+sQIg04t3Uiu307
VK8vrtikRoAkRFwkGkmnprxqPTsoS4uLEna+QllLERWq3yF5gZIpv6y1tEy2
QY8sSemcpNeVIHlGOZyyaQEhL9q/2++FKGKNvqUYHqb5tEDksI7JzYDZXtDs
1CTrJVLaygkyIqHClCz8SnMzE6wVQgCMo/ZzmVlVZSimltzU3eGjBI2m9gnX
BDfN4eBG1s17gpZTH80vZwXC/hw3ZldL5uzqu2u2SZ3cpJf5sfp4TLzj7OvM
mkXE7uEdx7ZPJF+iEhgndvHWFJA4gUoMa6u+dSCglCVu8S/uyAi7iwoPEi/r
dVxwA4w21Uqb8N04w5xABosKW9kHIJkohaevCc0OT1Sbkc/SN/lsNSM4Hqq0
b10bbcT+ZWYejOzNEjVCq2eSNB2vr46u8XpqTkZz4szlOrDBfJpalXw2eEDb
hyVJibqiq5CPrfzbob2GJqWw7itQBAy3ra8RNxJhMlupXQBOQ+KGYXToGhJn
pblpepcZw5M2VYc8y0YvWrLkInnStyz4aTFDRxL0yWtQhzuqYytTGkq1Gule
OeaFNNQsgQe+MiG2ABQllRoYr6Oyjl4gzOGxUCWOwi8gZqoNoICSiVSod3kc
UW9TmKiHRXcfeNer3fU4Dv3rQxf6qC9yvz4kOSIoTZ+vSQARcOF/zDTDXtt4
5wNfX0gHObSY0MNjPYgJ5ymeX6xOGlJT+9sqndXSodZb81W/nj4lhy5TEm8k
smGWlPXh5yZVF5oU0b2pRGMvqWLBTryNHigFyjaY63uEMoI1SSqSuHj4ngAh
AVm/NjSxdCYkK82tZ2D/5wvCCDqstHDtgiZO9ATcPRXK4ixmxSLUCqMo/E4g
hBTGlOH5LvrZwvYVdCwF125gis5qjnO0ttuzopmAZGWNXdkJnG7gMyQ2SfuS
opZKkEAtX6CZM5s1ayr6mKxTKCobVaSklHIaJzsuDBGcKsvgREKL+N0TMmFC
Yat3jxPampFVVB1KxRicSEz1oVy2ESaNfuLZKJs4z8g+/q59TMKDlD9XRm4S
6iCBU0YHD6P8zyvNV1ORZdr6I1QgfPpEPr8spuT+qnCXyeUqWUwowUWVuMjS
KToy0Ud1ThLPlAQfU6CGr1OEwohNOBDW5FP3lcLS+dxVoZSunhgnXT8ayYnk
JRyWiCFFz/3w/b8172DyCU0FE7HgHHGu0i8Z6ZiOFwt2K3TnnF+gfYACG0aS
3CWKmHwCk0Uk9YjEcEQ60LMsJYnO1gmXws7S1ypRApJ2MGwZP67jUvQbGWlx
iISDRVEOHpUcU+pgPT0nn9cwt0neczuch3E86/MBNoByiTJIw7Bo7MFewRBi
fHI+B5/Oam6Jb2FjzPYJFWwW6z4+fnHnBSroQft0vRc7W1OSo5KaPDkwVUzN
AW6BGG5E/VU+y6cpWWf2mj6o9kvEBJykpKVRQx/jxyTVIoexb96442Yrbt00
aJG1L+pMMm59ID1XWL03UcTPaq41sFO3GqAi/DpltLtGsJ1vAK4Dog8khXq+
nZPbQVPCY+eY+8yETrea54JCo9OTSPCDdBKogiHNtlT/CmxeJyRTy9/WRvNb
eolzkkE4BvuT7lt7WsIHnE/c6Frm49UL/tMeFcD6+ms/G4Tx0MMLa5AHqQM9
MvjeW2oXXq3IFCA6lsbhNkxrCsYGf6rNhhNBji2xWVF2KOugEob4NnkRgISC
ayAaqO3lZFJT0nv4U2j4KhYulq3fNBAmRK+oXsD+1Oov/PD7Y7zpgFy60f4E
hJHIuaMqSd8Ng2771XKx8l2xzb7W5KW34jdOpilqNOyXuIMOiWrNovJ5DcDu
5kV9oL2pe1TDhUDHBTpIZSB1wXqX6s4N84mwWvFevHUeuE9CAnzwynzIpfnz
1O88vzOsPZl8hSrCXBsWNIcJfj5JEGifTc2pYr6UdfvzIxbVxsAQQ5iLAmyY
wwa7RwHhB7KC6pmhXVn5nj39NpIpmAKOQsMP07YGimbv5RV5S6gLRCRnzBVH
4uu9dodZMklAy9IIs/lAUiLONfuyvbl4rO9UFlh2OgZ6qFUfeNdUot57kI8/
Gk4xmn9+sS4uyt45zkiLtSiwH63J0e6w5kClWoQA8Jiqc0EBgS2LLcAgK1xv
jzxSqojVtLN8HtymqLj3a0o0OUXElyIKEvkAcCSLrw7YvX0E39/hulC/EPUx
pMlWXaBk5ZZQW8NupK8QZlDcHoc4/CCRHLttjIJIWl/HhvfCBKgvUOYRoMME
HIyf4UevnwMuedjcrJ3aH/U24CHVt4bxskEv0LyXUVmkk8GaEdanFqIOnM0W
RalGKfqAYVnnaMJgfQCVd9RBR+pA683Oh7w56D8bh+w5YkLkAO3RXriQLsvY
nVpQvbF8H7giUBOuQkK1Z5qlr1PuAUU8TeBzKSGzz5W/sZ8zlJ6Uo3xJG9CV
wVgRcMYNW7k2fcHeSpjg4kw8jymHatqoistCfTzBJqkPkierEp1AmE4QELQU
ngguaMGJJE4LESeqO9DxRTZ+nWxzr1Vu09rAHZV5WVxxXpCnhJzE7Azu6czh
EEEzwJol8hFcwjvWpoqg1wMrOePLQqwB8zWNlx5pWCWtV/N+WwfP6D6e9cBh
FPowvHjKvFhRfqoW9IeBdqS0cnjKSaDwRCNNtJkZ2nc5rxtkoPIl6sqXfe90
2ZBUdVOKsXgcdVzsHAZvdNvS5eRWB5SbCWcMImc6RU3jFAbTFcGCaD2nIUX3
qMOnIjNaUiLaejFZrZOIj1imOVcNO+3INcOeRlxb3CYCr2cEfNWA7k8004an
hVmPLUXHnFV97RIhOBnWui0HVWH9ErmNYqfUx/Ez5ABUltkmlqlW0ycyMamZ
SIeTp8tvAGjsaJ2g68O8xezKwhDFFUxnNkvZLq0vCWaDzNDGDi6oG7CiNywq
2Ay8OYBGOL1zXU2B6z71FrOj/W7XTZAu1McPuoJd9FhqOwNZAcf4XXZhlBkT
xIrgMLepS2uV/k2rTG58jMZvckg0IYa/Jt54w/jw2MnRy86nfpH5U++Wb17G
X2znubeF6UaPBlbYl0xi7y776WtAz2iTu9qe/SJ7ZA6qiXlV3hIhbkdJKH2n
ODvs67ct4FrNd/yENWz73I0+p4E42wQ5Wu+X2KdnoADyldwnbXOfLrDh7970
ht9lawv26n6S6h82nNqGj/0ilHQomvQ3mXOADCMVmrVn01dFhU7exk/V9Xvd
n2BkqAPxLWWGiPrNX4uVB5lGSz8o+JCMsBv2Zwp2O35TvImcO9B4TD6lzPn8
/IJSisjnQtgnH+AW7B49vfNi9/iwDQT/A4x/4wPk8mKIB3LEVYuU+3Ycuazn
H/7b/0L5C/9DP6t4l1bLYpZyP0kdATQreOgv9+7Kk4w5cdNKfCHPmpVgByJ4
wGUz11fyc0v+yG917676rSLjKGg3e07zeuyUyQ41R2CgOtWbqs3FRdtLkOew
7UMqnXjJpjoD13z58OHnoiSWGcM/kQocKhtUzUVd0RmnjJ2QXzJEcxhMm6vB
j+/e0YxDSE5yJN3Dij/b8L+QK0Gz3lxp9eiawUFcHh1XcGJpBoehU8wgAyUZ
FOtptrightOEDVNyljlGpSVHoeCql+Q8xwQxbjZDjg4XRgxT1AqWgjwLHY3M
yAfkIDB5wnisPMMxR6oRROzqoqgl/ObVLU7q5ESG1wwMc02JwLf6CVBFFJgM
GJzx7uE+6KJcHzAzBrAVJWdmsiehJdOHPAU7yVleVssYJbirPkZ3hxLkbfvI
ip+HEXxH0GjO5GlavsY/Mk7H+lDoj+ns03pl2wKkxN2e7CZEottuUr2Y4ayN
ma7lOR9u9gGeOzlhUDS2ljq2WUhGn+g+xnUceQPhssETjVjKcTy3s5zRd5UL
2KWn4V90WNx9P3z7zALTEBfIyXNUhZ/m1ZJb7jQD8wYHydGOn7QxUuax3ZrH
/1MHp4SPOjK5a6Dz8x/pIfM+lHlfY0UoLg6V5aXyOfREtAz+bVG+FnVAqiMe
tQ3/Y+cuhcGVC3/e8bnoP/kFNz5BvCYczDPtYm3pD9tNsdaTJ05aj7U2+M86
8yPJp6yw96MobXALS5joeTHv0sveCrIQ+u0CPpaWwdjgegDvO/Pqep6V59dY
BFDmb6LU6wRBpX9u9hvre/da4pSqPZk4acYkTyjtzCDxzmIxyO06MTsxbjub
Wv9TCxi26kUUzcmXlJHYbFwb8yDfM/QA83wzBlnjenH0ikp1vQJCke+gqXu4
ukTKdOzyjvb6Uq+LMG9eCGmayvbu8RG2RHBXVngDA/TWLsS0lprdUlBnGzOo
9RFEzYozDT0gY1zKTRFOV4Tsireu0Vdbq7Fyeq5387Yr0dxOOr7fmvfH/aQe
s2T++KNQPbauKUlH5ybK6y/OYAD6z/pexpLJizD61oteoQ5PA/L9SGErkIhC
N7AYH7+nvnQ8RwIchCPA8bEbtGXXmes55CfqagVg1E7MgeFzqMTg87CHTUjz
pn5etabYa+o36vjuNzd4V5xFoTqr9sNcUM0LhXcirthDrunWZHMuw8AcDC6E
pMuupaYKtdk6zZ1kt+N4o9KSxumFOhMMsF8zKoGVQRZRHQqhjvgs7SXnnVuk
EZlTmYKQukKI4XFKmGyhCMcGRWAkyi32+W/UhWKh1l4rfre0KdD6Fwrv16EC
iXLmRUIpz2QZ3bv/BWzFkpashXhkGWIcNVxZbomEOgdiYVahLYYPinKTHiJ7
+2KZEZAHsAIGUCDMz6g0pwQuQIKOmuNEt4sokvaoviErNsu53OgTaTZCbRCB
gKQUCztDWQkRbTTWMuLX+7RZDNTaXt2D1p0UkBDORZ2sQhLABudjtqRp51bC
pgYEbvlFcRUAq6WuhKkobp1BVzRAoaMfQovbqNzHZSs8Qskn7qi4VkxaEfEN
oBE5IcSXzSBMWbaUetTuCleFwpGKpXZGYRol2tMusV9aw9awqOU2C0CJJNxj
JALrMQX+5ZAhv1h+8UssscA4JK3MytEloZ83mUjqOUE2rn2P1FigD0CiqVFj
rW3NlhdgF6SAQBhGoDFF9ATSm7PiuW7PxVXfu+kXAaHjtLJ53OxLheKR1TAc
UnK7M4SfIowKEeCG3UQC0qkvFLiWDlN0138i2Kl0/LH90B41LJQs1yWQKqV6
VPVbW2bnK8wlwxpZas8UGK12sPpWS6r1LkkHEqKVOvdsZkvAK6haLXEFEepD
hwF86QP36+Gq7tBzEDEzqM8QJ5Q0vtX3FSiyz+2NaGJEMul8FUfPWfld+fK3
e+0vYBQqTqDhzw1EBBn4yiQkDcbfXZd/gTYMuuXv7B49tcZFXQ/X92SzPZgU
Vxh+zdKZg7RoWX7AZsIJY8UoJ3YOqJvWQbNDj3VWEnnqka+79y7qLFFvWFFv
UkF8O6qToXZjjF1iANAtCLWdFBmhU9fe3pI5MfANpVoX31ks1LoFnL6DLgxM
zbzCmhaErwUdAFHYEi40jAqFooZl0VaM3qOkaUk96lwtEKlt8bvISJOtoRdN
qfpZijjxBtcaVpzP4f0T1yJRcoWE6USF5Q6v99YtaymwmKbjDEYzaOAWjsT9
OVA68r1A22FGmJZoTBoim3mJ4ALuerx4lmT2J4PSVxhhEyTaI6kKIBobVT3m
doXW9e5QyOXPBp8O7vfEbpRGGHixcYEhG2dGPi4v8ut5Upv0ZiCFmo8pEah2
zqeqUzOZpCoV0CZliCpu5cEWvu/fscT+CGT7nQWNwjDNTp4e35E2I9b8YpA8
prYfVt9Z3yggL/yypeuxRsEvJ0AnWm+9AA91j+p1vrCUYwWyIwpsQFtoaW8S
40RxWa3A/FhJpZ029hRZiyQ1K+b5sihdBWqfw766VkwhgQVy9mvrQXadoJt8
CH7QLWW+QCl4dgTUwbB+3+iGBCA0IlVBymptBtIsc/SkFnqhNAjtQ7cB6QCs
EvLt6N0S2q0ExTqG/1aG0XRF1pCb9tDgUdSHs4ZWZ36t+Ow2U+MoZS67hMtv
8GHiMRHflfOokKcl2T4NbmZQk+uqe/DmqDdTmuRx4x6ygTW33TuYGOpMdXY7
iZ0IyQJDjCGv2TVI3yAlWnIrhNc3OI9H69sdVgLAgJj4wn/m1CtjDLbTkp0q
GVa+p65Q21oKG3SNxSPR8fYJuYqCU0yAEQlEtgmKeNJwDmVU0I5PL3kXppnY
Vq51qAOj9Taaj6CdEGrukWDwk95wOrAHnd3xjJGA4kctmnmbuAn14vMPrEsD
Traxs4R01ZO2fMyLOPeK+vJp8k1oA9j2jhsb/7W9qx/acGzSDPCRMJdU0ToC
VsxE++paU0BVWI6fHYTkCLTZaHxQ5leExmCnICd13Qtb/wxr88+zhJrCVbV9
b9Y7IGxtvfThNJDXH9HlqA8gpf8RtKBzQk2dL/Hv9Uzi23XfoPX4JjjeaEI1
F0L/ppKM07au75IWHgUL1ngyaxhBHpOmD/952FdkGibOAOSdbD9ZwbG9PHpe
YR8ETJjetHnpzU9HCPobPB+w6jd4+Aa0+FMCeQL+V8MK44ur4ODXO8kBdtHU
tpbslj1dvM7HeDLFIgXegj9dZSNU3ud0eoLawDQl8mGxOot+Xy5m0e+X1HAz
/F5hz7zn2RX5LalVkt6fdDKJLuFxhBdu/eIVk0AaWty7/9m7d+7CdIGGhJwk
PH+3D08k7H3a+NYADQ+FG1E63KRPJ+ZN6vLY3U07Ja4vMwBzPQHuMPeI2rn+
tG1heic3MA7kzDqRyRwhsr0AftgPvU0moeckJaMikALBXi774ktmOKopFZ2y
TIxwta6Aw0VdCGHXfJ9Cw5dAaeVLh1jsDRco+fM3yXCQHKfEx5nQJYkCFf99
Tn7yYHVdOfMUft4OPpM4R4zF7+7xUc9Ea6rvhz1HoA/RJoIohU0cTbNZAG+M
MNEvyC8tSNoe+9el63W222O8NemzgNQCpELuM4Lwkf7orGFKXyjUmPvkf7aq
sXYfimQpSggF5c8MEWNKY64xsvvcNbSn6OcM4U41twp1d4UVO4MBKyHNVNxk
lMPMJjuBrJRS8ldRXMAjQ8HTfZ8wAU9Zz/ftm7Q4ip31DB2rkqNN46MVPZNl
CoPV4FUR0yG1MGpA0dyu70ec+tY4yb4dhWB1ZVzOWlpk8xDIIkvu7dDwR6qz
AXl0kG2AHovPTbW7bvTxbI746IY+HjAg3awJ9qkFe32AeRuZJP8JTCadJ+v/
dXQd3bJuIHTKvQP62nuFUewXr3ggPomQNuumfDZluDywCFakruLbqJrHvEQ2
jNgKkgipbuEhOpIRB42+XpSeR0Qkzil/bkP9hy6ut82M2/3ljNbS0y0SPEJ3
jdGqw76yLxfwCLoKEBX/Eg3X/eHjCCwTqc9g70LLE0YsvR+q45ijMCdqHBtx
jLP8fKVB4tpbmCbH6Ffh2CLJSDFZ2Hl6TCElrGsOcdHQgDFN9p4f+5RGzl4q
i7Mcy6RPJQ2ywP8gAeDPl1vcKb7twwl82GPHpYRoSmodXwUSszBkzb/IkXt6
cVQs9kgdiGXWcWWMbJtkT23fbQuAZQTEPe+P6Kb0bW6uAGZPCCLfYPIwBM4T
ziLRhfPFI8/r3o2w3X3ZjBp1hmj8Pb2B6IBaZJOYGd3fwQzpMuJGmiwZsyK6
V3hQLIUk+hjRCt9Ox1OwIyA3JpBbwrpf31MVO+VPPWGJSMRrDQJiqjKYeXyB
jl4LRm0tXm/F3+223Nn9gztBk9fcLJT74Z45MuTyes2MDiFxOua6KbWT1El8
65Rv1YmjtrAhik5VBbeYZnWo7d4ByxrIkoPHRJfN1I3AKr2bA4EXl+u6eT/s
mrCPN3NIP1ktKA5NcD9nq6nnlzXhEDZPwk+jjFvnntJ3TvnyrX9x6t3vu8e/
uneX5PpEG01Liwd0cC2Qtu08EQPVkNU7SMPaGeKQ3HFT97VNk3Ikqp2qHUCD
hRo6XoYXUsEr9L14q2IFI/pCTmGcAFxN3VlQidcmDRHut0LBG3qsw8238FnH
5MiZZY434EJBMsmhMpLkfFK7R7J7fUV41FOxlZ1NszfmmufGAQZ+Sb7ENC/r
kJeLVbkoqqZZ8Hgjs4D6YR0IarH0tIlMgQe9H6nvu4Q7Cneu8in15pjXoGGd
vjVOFwx2Scjhqqxr3gQm2FD7jqARsf8ZBUBRLBLMySPFCNZl/WUpau8aTP3w
X//PTjRn/KytNB6BCNGjBdo7Ug8oxWJvAHlfFuwRrzL0PiyjpFw2A215qGFd
FZHTVtoHGTBtwI/9yRbErVstNsStWx1WxAPFvKMjisjhvayHej4cZt2usSjI
hx3Aa1QxhG3YTjlgU+UIxZrOs2JVUdaw3uWeWBD2JWn9G9IkD8uM1IUqp4yO
xJq6ui81zFCdDU5BAM8J47mCRVH22XAPlttPvk6ri3y3KBfJKwoKHn5zAEYz
IvzAiS6IrWfL8UCsUNAuCyGFqkb/EXVS45sYJLnW+P6CU9NYjWXAfXe1Olp4
geJFebChWxf9uVJNUVRzRO7vuhvEr8ZZgHvY1+2GKV1mifdbUD8jl/ArLhxa
98Q6y/J2OCspWmqLPoADVYhhxExez1tUJjv2b4UNiEK2S/p8pIbtoPVjX29V
1GxjjHE3JlTX0VC7adG09D1148c2mjKb4FRtQgd7aAX+sordzUrdTlD+JErm
wuu+Io9wr7ltt2Uf6FmbYPyxGuQ45XjFFicoOic5qpdyeVWv3L1BT9zpoDTg
UIb2bjdmm66MM6/cpWm5cgKqY2Zz7ToF3TN4iqVzBKuYwaCSzH4gWko+jfFN
IuoKOkxskrVkLRdlSCUMkwz77xVVbQdivJGyenqROWg6L7coPD7q2tufV0lm
9t682e+nF/dZ6YyyuDdRkW/WipVHHatMf4UBhbqgn2QzBtpYChVWnEairdGy
szPs+jAfX5vXJqpLCP7vekFEO1Q9SmJRbQZSLKwA7ZggoimIVTFdccQoWOGb
qT3hXf2gcGBIkbZlvlS4eFluPoe1BDReps83uHpO4W6w0PbmVZKawwunugIx
JUGgo9cMIchRy5AM0wXh6i8rY8gbCX62NZ8Ub7BFRLI7LVaU+1TXxnfr2vgd
EEyMfd9Uz8MKMYvqcZlPzqmSQukjNOW6yRtvOjkF3Cn1yrnvKg5+aDYWy21q
3yP2MMYscHnzzCAHnceoibLQ6i9fctsJ5zVEFPY5KaDaJKyYzYAAx9biIGrJ
aaYAunlKDPBmvjdMjVrOuHONWgiyyTXs9DjHQSA5YcAbtG6MhiFcQVLYz/e9
Il6B+hsp3ZigWm/ysKpEOJAizqD0eqAsw3lVzGzDN2erJcNWiwAOsN29Blu5
t9Nm/H380WOt4n9eIBBaa2RGyCFgcUdKcVBnDawuACw636+AHUkHKDDHGBZS
KhIoYfN/gsGHrsgxrguDLW6ng1nSYpJQhQ1YfmQPBrMvNDShqKHePRjmsbAC
TVwkU0kgrpacM2f4BjQnJCI7EzRCzc8edJ7awY70mmpvV4kQjlzipN3SSRaK
WCjAZ+s9YyDynCSzYaEjPFl0cYmPUSuDie9wJ1p6APoKL5pEG+WaRN6sDK9R
gZebOQTZ8etTGjiRvHDqj8SEuMSmVR3oRypPpEp0SGRu3LGBEyzjdoJ+i4JD
3GUaO+mjFEN7zeiS7ffIeom4e2TJiamBXUq/Yg/nwXXmnhvHvp8JSt8lOfZ7
Ug7n6ztxwnD8K4RGjPnSJXCJlGWzkXkgVwy8l43sw5CYm+udx3xPbTgX3wa6
Rdu7g/vYLPeNIPRhX/O4KySth13zatTSKTmcd3YUZIqNTLeJt1GqYORkor3X
JrvwP61sHLE+Lrsb8gcD07y/0yqTqWGUHXuVsC7zGEjhXAAm/0Q2Nvr0sLuB
lG5egh20mNElISjIQDhDkqcOv7TW440V5YZcfVyMxOMv9A+H50YFHvcYEYPV
vUJWuXbobOktwAmz9f3Rbp1iPMM735Ml+PrAhqpGVYKPhKx021eqrLQk+xkv
Jc6AUodtbpJODQs4DlLE2/PjgxaL1zlLoDLdOpXOEms8KY1jWRPi0A7JuM0I
yyzAc6kvFISB/XDc023YHbygHNn1OvJATUnHWdve0W0+MqBTS0MmddC5rl4S
wfRnoS8IWDrBfuSFNaZTp99+8OV3FTCrU7VDNmBFiismFuzkoNmK6XXD3QwF
vJa5fJZZIiqDmAUPdkMvNfRVsHTlslIaauO2Sr+hdhZZtzb2Bmusi/v7mCmZ
kSrmM4AOnR4cMoHgIm5sbbTEAlzjtJoKzlDNS+w3mZEjl+rTMYNG5mbZwP2A
Y2Dd1fHKkVUSnw+mNPDhtxVGiTfhApHYdikLGDl3cl4WqwUb8OdlZqZjVlO5
0PZsnQeeMXFbFmReVKEmz3q7HFgo2ywwo6fgZtjUWQyrlvmh0ie0k7o93cww
qRsjrbbHIIh8JCo7aPLHYxcelBYZ1tAIysPEJ7torVYstEXASFzXTHG/crLZ
qgg+jA5C4wqbbba1PpI8ocPGlh/xPKLcNp4H3wFFViNh6eV63apmhasuRWqy
/PFPlLPOjV6TGwTytb7QD+i5hW1rRRLZVtxVqS5dYZWfwP9QwnaHbXY6yD3K
nG+VpMzCf8TUmQtrLWyohHCGpSoeTfe3aAaRuk7l9ZQE3akWdMugkDZSI/NI
otSPzTkBY96kfK2dR/H8uLSRuN8yW5gPxcySVJrOY6hlLtzE2bmgb0cXBDTa
58VPuCP+eqDs+AozYGqponRbnhfNnUKzsMkTWjhcjTOsvW6DyFqt7z2FiC4J
pZOM+nOaL6pm0iIhB3ZGPN+D4+jBIDtqkKZep27nrPN8+vh9q2dWyDIdVZl0
vW+XGc1dwuw0vMzWsbIRhq0JmACSs+6KR5sdAH7E38eT44Fbrusj9J5QHpYZ
NPwNDQYS6KI2p+DD0AqgYm7NwiWrp825mHb3v+aLG3IB9RRFEae30WUYUrl+
AfoFhYJijAiDh+yKe3p5JSuoWXO0GRQoB0lOkCeYfCltvRUFQzLwv/zi7ufv
3vWksKh1FKt2o1jZDdFhY4e191GK/0n71leS4mj6kO6cSGA8tjIK6DI75Fc8
CjtBU3bNR+RkXSez7dDWvMcgHniMOCTl3aTzhmCM/QOD7l2yEt8oBCi1GHrP
Qr1VkE68NdEaWiKA6ttsO8vOdLR6e+O94HMafrOvsSX9plT0VI60UORLpWzY
fW/fbdut7tWiTY1qJO7BQWJEc34P3eV03bgbJwh00aAJjuc1n4VT5YsYNViO
u32720nhqzcLwmmKLzxFAfUxvK7TFdeHxO+dFmAgJYGuqEklHpm/95q53aF2
hZC7GR0UbWf3gdb62KUBA2cnUAzObZ4x4k6TNs144ZiRKBJr7ki1zrsqXbm4
e2pAKqGtlvXqC69SrlKGq5sm5KGm7p3pucA+OCdte3S/zT7/YHmeLcF6vqoU
qn84EM3Crp1cuXq4vi0CvuHNmay9ix/I06Gab3f+qJ8TB9B3WxLOOIRa1xct
A8MSAzYwfsWfrhq0bAGpuQNH1BhTCmTtCSvowlhxFY0cJTiQX6HNlDZUCXax
S9tnSmSaF4nmwo0JKmneVDPi8F7Dk4aTaGSqVxbTjBM1sRk7iyAOHSkHEmdR
zVzmnTE3BL9aKLOmRuTSxmqMuAsEjJhL+y7qoJWiAh2C5gQM71iY1s+DxSUl
6oEuu9pQSTV2MVqGqYYhK1mPchmsJVyuzs5ya6DV8Bntr/EZDc1vtXv/MO6h
cmDtg8yRcCc4GOzHB5uGqjlM4Ew4euP2bpFOczuoXa78IpcVnI7eGKviJKTU
UB4W9oG80gosQACN+WWO3YBZJyqkW1bDVSWJbFqWro7aDssW/QYIBhOqF2kR
vJ8IKwxbLUg1rZ2Y1NyrCKgAb4VA2btWdksTp0IJI18qhJs0RVwFPHiQr5nu
hmY5MLSM8m0mhkZRk+xJDdAcc03VaYO2irN/IuSkHBQ8oLgpY7z6LaUOImog
tSMUa0kGx8gnzJScGRZQv0JtS7IXSjJB7edNfwZvPcPLwWiIug3C5KisvbZA
lMfSzyu0joLb/0raB1aqufk9VTIcXTNkCYMaBOStFopxcDPa3lG6dnWSDZkz
ig5fkQeQw8cx5NxOK2FLwHFxUQhMJCylD9bwCo1gtMB7ElV3mZtU9WetGsTj
TslgtnZJha4erb058nIQITDoObP7fnMQBoCdoFlIjemIGawqzg8gh1h3Ioff
zSiX2JyGsnWxgc5QyjUg5iq0qAtlljeVz07Bnh5GydXNY/DiZNhYv7BzUkS6
FAhKTUuJNMjfgplhGMplhzb1Hqm0xUB3AeOuUkWH8RKMHJsbDrimfgm7UrMw
koTFvqgeURqdqS5E2nEcJdrv+8k2MpcDDLsFkfRMc2COXA5M+963UeJ1XZpH
dNL07aG0ogQL8iZF3cc13tc8Bu/T3dRXyuzSzaZW8B1tjSbFtJRtNLchYKpE
qX92qlKiobnpSqaeB8xjv4uVyvK9QmFHiSixmsvAAy8O9ij9W/dHMY7o9Ctf
nA8H8ng1fR2EIPajHGWNkg8k6fjUNOPWrrm7y7XOkze0kIhwvm8A/KZmC5Y6
0EAiFzR37lOHXXK7kNQ/0EyeG2NlIzyeCd2nt8mQP4+3z82FehF4ieCGQTUA
KO9GHPZO5PnEf3eTQQ5RULWs6W1gybakerECAwfQMFTplZLdHIm+/4wlHSPi
/TRcPl1VtKRDu5qW1cXLsWFMDlPtvJ/LL78k7tXO0W1/VBHhuYeQqbcMMwY5
yeBWpNn8uCV9kLsUY/jfTxTEv5ursEmCHE35gbReiuyrJ2vsqyecMQAnyn+z
cUJQMvmk8RQz/M2sKkwMqSXRntlwitka5dESuizmZEdJU9TGrOJ0YpfX5nDu
ozCuGkw3JuS2pnL7zFxJ5aN3Un6aBZYtuhI3RFKNe2SPtybQmp+iElDjEcKo
wY+bRdwf1CLutU3toVTLp0v2brZm+ZJ6c3OKb5/RAsdFia5ETs+tn6BkumOU
YNO4L5yyQcWJ1o0huaKJk+oyZ8SXVk/5a20q3FIOWM+7i8w2w8K3dLpcEhr1
qqH2yxl3GAkt4KWrmTlRgWK/Gh48dzk4A/tbXrkKP61p4IRZdeoSdN60GKXT
8H5JTjddCL031IkIb4e4f5R6XeoPWjfIqGFE7PHNRPnF3RBLp5f5XCHGIZmT
7UjxkS9gx+7evetiUxQh4RlLqnMpmqzbC2uEIPkLaCVyUn68lx35h+JvbuQf
6oagyOHu4XTZWkY2l1+dQLlaFRPUXLyT7xMYVvODPeVxTC33BncHyVPshICM
o5hO01FRmsMNSYFgTzhA57Rrul4uZyBlfwf1VOC4SeNt/B1/jfhpbhbevo7A
aX/4/t+Eu6qNIBnuWk3uJtf2Lc14cL3UKDGqvaGaLQxe0Cx6vDfApgByUslw
irSyTed1EI4oGfZuqntE2Hr3hcfdcYp61mXta5qmx0FpoeTaYyGwt7woi9U5
24vNU4q2n8sICYPaJW+gx0tYv4OktCTMjaMacYKnRJZb57wOE0IzPPkc1BIS
x36stDYM6PdPs/x0zTG0pLn4COKNTKDuL/5q0IIRdhJyEEL+AWo4IRa9W+cr
0iBsj6p4g+qzqb9YNBtWhdFo5BDy9FpTJi+zec7uf9neeKXtaUo4sdVcge6F
kKTQWJ1Z6AbkMhL0HMwSRrQkICFK6OOKi0oaPvRYaYrZfz5vLYGq+pbBLnB4
XhNK59eCeQFvRHuiBoOvTAfRnWb5nxnWVPCCuPZckFUcr/b7TOgU8yUjScsv
BNKt0AEhstuWh8LOCd06F7BWfLGDZXtR1bpCKl82xbrN+8KfGSqAz2XD8Wow
Af7zHcGNE3faNnogxQG2rg9Am8utx7n7tFd4CFLsEpOW3vg2/5rVvvNKolnv
BNghDKu5EChCp0ksVaF3ffZCSLngPM+i4uQpmCkYyTNSm00I+XAqsiQXPpeS
KGSGhsWFM+EbxyOudWiy0InwpOjIDe6hrS0LkCZoi3xZ41VSgdNVNp0qowzc
iLLFO7ACCOgJYb/Fq36R1c6nKXPCPum2uMMgT0sl3r3aObj4X3cxhQRiokmI
vvfhElX6gQRqawvpERtQQyAf/96+lMPQSFRu55IrwxYE4Rdvahwuv98B5+A2
ZL1W4zEbOItCsoRiIAWpTVteOGweDfyKuNgEkaGRefHz51FsBnkgewWUc5WW
E1/3n8+RnEwhaVzqDwumxbk9pIuEHiQdWMfWjg1DVIwmLS0NEKDgs4egq1Ep
wbhAh/0xWtciourESzNDpSRqzPx6jrmIrukU8SU5dZ8z1Sd+E6IaEa4UXfub
+iq25qXkdfbWjq8QHeDhi+MTUQTj09CiPDvXl0dPYbzPBnHVjVMAa+a+5Zq0
6Y0WFVUVa0kxpWEVojweo8bMIt5MSsaqvGrANeZFS043lfSSAqIhUUrmDs0l
tIS6XROxNwSFJFJDDAIjQndopReihg7KTNfVoPa7VGwRKVFNE8tjmQewMu7D
IJKoaQXIpQkBY87r+fijz0mW8Z9M824cbyzbgP5dGlUrC2aCoRoAT883r4vK
/UlzYrtCluQiEZQ+hA6NIujVNLZ0HXnZnh7Yb+y8ZhcShWLcOCgVTVndKmA1
9GRSMUMRNaknMllSftR4khgA+U7FMSI4lVJKH0Re3Z76OiqRo7jnHMSQmEWH
ZfHm2iFAOFWBP0J1eOMcG4LR0BMx12yrD9Y8eYHBxynt3MrBwXAp5pRaS/B+
hOGj/GV2eOK6RtlFTgow3KfsCl1ULpfF7qWQSyhE4XPCmD6n5ZuBUrk+gOaw
5ZCnaO8BfSBVRHOWc8PQ//to2APuXpHWhuluI1w1zkDbyYa8JBAwdzD6aG1K
PM4gFXVhCii+blSwTu+8OywvRI3FRjZX6bUYBB0gxQs85fWu048/GkYnYeXm
sN90VBfku5+v4A4Uq6puznpjtS8JrPDDQXGiT/YIz4mxhun09OwQFTh5PjzR
pTSj63IA1rikBf1PtyHAsS3rTEIXgg17uG+jzF3OZO/ZP/cka1YdupeCpUiH
QJaAUqByBaEp3q0s5Ct6POHYIqOzsLwHLmu3riwGEthxkDWTmjqRRmfGs1NQ
M2bU/oUOVNHMq6Nhve1yMKrUJF1jIg8Cv1GiYLz9pTQQq/VfEyRcpywxeTYS
dIWhhmyCfvwNlz+qmng9X9/3pQowJFSZAY+cqYZVA4EjpghDURx+WI6xPxvF
tQisQaEI8e2gLKClLxUZ4RU7yVBJA4/ojWEOqGeDAOui8gTyEfC65siOdyQV
IchnINB+soEXIS5YVcO4XM3nzfwbTxw0o/pZYm63uh3sfNsxLYz8iKo7uHHt
LOzCpGGbKX7iipe4uDRgjlgihgvg/t5t/h+S7QO5j73oIQ31NmPWBNaNGt/t
u/cc9XzS6EDcOeDva0d5R0TrczhLmBAyF/3qHf9m+/df5GP3aRS1ls/v6OJg
qfC5++W/uF+Ghwf8OhgNfw7jud9oRP+6pBEnh0d+L0oEbCsuU357/IfE/7rL
e07H35PTCVfJeUpOpE2hE+YoI4ClVXBRtmW43/aUT+jDbdpFKzS9jmA8qFIk
QR1yB5V31wa62yvRZ0CUkoC90m5m5nu4pjHb8oDbFTtcQYSianf8fOe3v/vn
e/cf9GrCRCI2xwQKyjr93MoT/sWKEiNOiBxDWXXuiICul4O456ejqErMZa93
fA8qtKDYR8RcqN5tzl1+ytmiZE2D/GPvs3izYUnAv58Nd9HIYr1Sg1JUyS7T
iOqLMJCNHoYmq9l9tveYXZkP6ovL3oDmrTLBOI1jeap670iaZkrGZ5vblMLm
63xCjpF551CrX0jcQnvSnufff0uOoaZdNpBpjT48YHqEP6JQSlQCNeW+XI0u
AHIqlLYtVBw1GOrpbMeNY5iP00VFbXiq+qJbPbHS463hG6IbQPB7sfvv/0+O
ovqh+tAhbc+kvj3B+cITC6HTutvFd3D4Cc6XemkSRUooxSXFJsaBoXTsonCp
pltdndttZzpIjvM5eQfa3TNWdf+B/TP9FudM5xmt8870a4WSHIJpyiI6p1o9
VqhXld2tqec79ftdd0bUuXxf/Ibmec1rHMUsPO2AFzc2pLU8xY6kmtCaGGJy
oMwZpXMZ6gww46IZbp5lWA2ZVzOt276kePUErb6UumrRpsIw8IdirvHKmpnA
ARGT83EMVW0QMQ4EYqAVCTcSNG0IWCBfQBiSDErI7pcUPJcB0jo5936/WZ73
aNGqbSDj+nao5tYkDD1ECtT3/7V2ZbttG1H0vUD/gUhfJECy0TRbnQUw7Cxq
4jqwE+SxoiTKpSORAkk5dQ0D/YU8FujX5Ut615k7Q0pxlpcgiRNyOHPnruee
iyUX1r89bPgqiQ3uxekRLrvOsPO8DsYhCYYn/BDPre1jPrQD9GEl06OmhR0K
z2lVJaLb66icbbva5oRCATXTw3kV8kDvwqGGVQFpRazeja7t2NsMSwvoH+Rn
JeUfov/Z7nU3EB71TSQQ4gHHBAyHzZBVYuHObKFQv5J1XOcNAeKjaDsrLnK4
Gwz/8/150wxXtqB5Xp3Id3OWg4SocnI3LixsuwLPePf4jW21EgOuMrolxupK
TJiE4WgLoBSsbd0g6uyAquQfZZpOm0IW+Z2OR4fo0hHPrBBsfh3TE253VSR1
OW8+YMCHVAbIL00V/YFrYpOM4iBBonDU/Fm1jIbmTuFDytmlnvZFqV0prjOO
+hv54zq78WqEuXJJk2+pSXSaEbLJEXIQCVsfZv3SRZWlMyF0Yi+bJMc0RFjw
Gjrsck64jR6V53rMn+fNi/VkkDwvy7OFpPiPcsROwjYNkkuQ/wXa72iOHM1O
p5ptAato+HEBpz78kKe+hjxhNG6blmxC/Gin/DTv70crFeNORaomIlVtxsmb
IzeSSBQNlbMT9Kur09Hz0zfHJ0+vr0l/f/rnP5CkBV4m+WxknPUEnwXhdQgg
uSwbFD5VO1VJifqqITUL//GhqFLwOxfKPymYQk8WGpLyeMjr3Z2fuTnV0/Qc
7twWpwQfXGXzkti/miQThCN2cK4r/FmCP1en4MitE2EqSIPA3IOYAjM83dFh
G90jWa7OlnO4LNKCLfc0QmhbPGXQdYrZSHwd2zRHv3Qw2j04TFb5Cp5bZPVD
fLGqIWN9PUbcagMBReHRIlS9B6Z0t17CkcB7wW1CNPRyxSPo/8zSiyCPjNBZ
+MsZvfFQb3bQ0UQCjHf1nDre48ZFTlchzSo2dDdczllTeizYaOX5HsV84pFs
8pARRxs0k+wa32xJk4r+AdFlRRJf9YgHZ7PmG3jEtzK4FzUyumNvBmFbOCaP
u1HpfAkw0DjsfJMvtXhHaRa4U39nVRkcFSPRdPeJ1TlcnLtybevYaSnCHj2+
+EwCSnOE0NNTmjokKknP0aarQqvNZLmX6wkZTtyTYrVk1fv68vVIiA9KFHLh
J3HKJWdctAfaJzK9PD5ihxCixKPX3eKvgPoewPfxUZsam143ePE28yUlSPhq
hOPYkbZaXgiqcGHrg46355HzcNlAc8HSSW/NU6G71+67iMrAN8uill06hUYn
cVil88aVQZWE3cm5SQBnvv4a6Ot2/VBPYIbPDtQy6mG+nA7R5D9BVNmz9WKK
7owDHoCr16pIb9nofvKYD1BI/nsH+31SHK87jXovtubGkvO4n8f4NRVNWCcy
UJxaGOi+piwX3jsAuYW/l0UEmas60l+xVuBpL3TVHSBzDN8/Bo+OYMF9uBsr
jUDHlAiJ5zO3R9bA/r89GRG2ngSBg/9uD2dWktHituxuCx5Tb+JUJfR2TIrt
07Z5909fvlVia+egbPYxfMWOS6Zpg56zC4ukcFa66VmZrpuSl61Kn8Nuwiae
cSu/wjNpJ/i1rEz494Kf+ILCjji4Ip21b7COU2gxi8t6BeooS5e8lNFhQv/Q
0Qj66JgzYKh745zh+FaZz6a3cLSN8D6M9n/fD8KwvgdPbBgqT0yTVZVnfsSd
G7ZCSxsXJYjQOKHh7FyzDXuC7u/8qi6enFiXQ4UPBvNzun/0alePnbLUhEqT
TmjuiQiJ9/2L7u3cF37EN1Gaxgd2UWoBbg+HOk7JkW+5mZTOmYdeJVS+FCQv
84IT2iWIyLqSeU4T5b3glcInn8vYBP5md8ZtG671CFW9J9n7ssJtbP1LqrxJ
nZW0PI7e0twPMmTVOum8noLURvqYnPoK03ogNmecdBCNcoPh7tI9g8WHykSQ
GSoQ0is8B9Ez8MAJ38QnMZ01+IIFiY15QbUu8J8lto3OzDfmaEbnNlw6eynU
6S4HR1N3yNj66tcGeHiHJuq5s/W3fZsK+qrCMFzQbuX8WUs1MF6nu+V5BX67
d9pj7svt6dzPzgHUiWwjSvfmZ2eUWpWDpXq7vFjFm78h2ddRIvDnV+kEHtAP
aoNONNL6PRGEdrDSp2JqiQnpcuEZWdAe9yPgc7dy9ekylS+TP7oZOtnULC3E
XtfiYGl+duhNkMwbbLl0DznTT8Bex40KZn4vGaMF2HtEUlU9+emRQA6f6AA1
U7myXHFfUK6KwMpkcAYextzqsNpg1hVVxihnk6oyNRJf/zQ7boeEuIOU95gX
DAw9hlos9pXYuoG1dNWj3ukL7HC5ffceKPkPf+jh9PvjmFhfzsbrcW5Q+7eO
ILTsCoHvtjtO1zP4NftrBb/KOiTb6qg+USZ/e/fydBB/xPdFZyv9YBfw1NpI
TZ+bXjRpRWOwsB9lEDOJaDD0DZhmxoXebHhc3CCwYRbcWOfDjJUlsD3kvMVL
uzHCYNR173jFG9xvWejA33IFJcxutgU4Zt9z+bwLYeCxtMax07DBZ5DqD6MV
nWXG8PQGhngjJhbDaPf+hon31Nrs2Xyrow92bnXQ7SwxBicYqPMtSBN15JN2
kqctmC97QX4SEsZTYOfOywlDz12oyuDhJKURluoXdczvo7F9SZwjb1FDu4HG
G+igEZe4zhezOPkr0YQWtqyFj4h5fDED9gRc4BkBU4Mdli3kPfa1I0NBOogN
HsSsLi1XlJiG9Tw9cg/zKi4qaZAu3gQ2n1cZtfTQhTLkloq33eEkg2aqYAFY
mYedWdgcPR5KVuUqliq+EhZSiUfcnroziY76yQUIICzflMSqo7yPIRMkLREE
ip5bMekhPwhGU5zQqZl/khgCULDhuwig6jkL3SyYoqVdfH5MKkJT7F1ZZDNe
fa13Mkprw/5gqsH59+V0TdtLlY4J3I05NW+RkwNbvijJK72kT0dd6nDDdB6N
w/TQPqCDjGt7TgSg8MYC3b6Ph8jQGYqJZvMwC0XD160aYdGgwbLF++TqajQ8
3JmAo1gP0RYM67q8vuaZUfCoLHM6GxsCcMYUf5xJv/hZ8eIZ2wZcmjXI6/dm
A31eeLmMncJIRgLBq6uTZwcPHtz+RZZAxEL5xJMpzGAHWR3T6F4z8kiuahtx
b7KBvjU0Od09GsGawvEA7zAb6A5a9ibPmjlvDVsLWdocVF6jC7g07+Tir6FM
5IKob0rlsuSgS+zC5YBsV1j2ZAR7ybFtvKgmW4CTCycl62Kx0kNLYzo+lhmJ
y+z29TRd5h4oEDwIpNX/E2owtX6qZBhlrTqTttEKl18rf/kQPeRa91G4cqjM
ADqFUtVIEicllzXj+Bju3IV1ZqFTz95MHZx7uFxMXeWT3894GtEgIc3VrLmW
fZZfsAcrjPJ37tyH1eJ5xV8E6r/IZ0NPMSJfRZUa7oSYllUWTEMspNTlVYXY
TbA/4ZYKGst5Y96qEXmxTERaCHsHbRaGBZTh99iT1s2nIV98Qp63xA3C6NA1
4n7m5HWvucoPpo4wUeLVzfJ6uiYXlOpb9BDTjEFIZaKLLldlncr0sx9/GA6H
BK3C3/8PNB+WSrzQAQA=

-->

</rfc>
