<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.2.13 -->
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-duke-quic-protected-initial-00" category="std" obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 2.40.1 -->
  <front>
    <title abbrev="protected-initial">Protected QUIC Initial Packets</title>
    <seriesInfo name="Internet-Draft" value="draft-duke-quic-protected-initial-00"/>
    <author initials="M." surname="Duke" fullname="Martin Duke">
      <organization>F5 Networks, Inc.</organization>
      <address>
        <email>martin.h.duke@gmail.com</email>
      </address>
    </author>
    <date year="2021" month="May" day="04"/>
    <area>Transport</area>
    <workgroup>quic</workgroup>
    <abstract>
      <t>QUIC encrypts its Initial Packets using keys derived from well-known constants,
meaning that observers can inspect the contents of these packets and
successfully spoof them. This document proposes a new version of QUIC that
encrypts Initial Packets more securely by leveraging a Public Key distributed
via the Domain Name System (DNS) or other out-of-band system.</t>
      <t>Discussion of this work is encouraged to happen on the QUIC IETF
mailing list <eref target="quic@ietf.org"/> or on the GitHub repository which
contains the draft: 
<eref target="https://github.com/martinduke/quic-version-aliasing"/>.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" toc="default">
      <name>Introduction</name>
      <t>DISCLAIMER: This draft is a preliminary proposal with insufficient security
analysis. It should not be used in production systems.</t>
      <t>The QUIC Initial Packet <xref target="QUIC-TRANSPORT" format="default"/> is encrypted
using a key derived from the Destination Connection ID in the packet cleartext
and a well-known salt (see Section 5.2 of <xref target="QUIC-TLS" format="default"/>).
Section 7 of that draft describes security vulnerabilities resulting from the
resulting lack of authentication.</t>
      <t>This also has privacy implications, as observers can decrypt the packet and
inspect the contents, which contain the TLS Client Hello and Server Hello
Messages (<xref target="RFC8446" format="default"/>). The former contains QUIC Transport Parameters, which
reveal even more information about the traffic.</t>
      <t>Furthermore, packets vulnerable to deep inspection create an ossification
vector. Intermediaries that expect the contents of these messages to match a
certain format and template might drop packets that do not, preventing the use
of new protocol extensions or improved security protocols.</t>
      <t>This document proposes a new version of QUIC where the client obtains a public
key generated by the server and uses it to encrypt a shared secret, sent in the
Initial packet header, that both endpoints can then use to protect Initial
packets.</t>
      <t>This mechanism leverages the public key that would be distributed via DNS (or
other out-of-band mechanism) to support Encrypted Client Hello
<xref target="ECHO" format="default"/>. That design uses Hybrid Public Key Exchange (HPKE)
(<xref target="HPKE" format="default"/> to authenticate some HPKE configuration
information and the "outer client hello" that is in plaintext, while encrypting
the "inner client hello" that contains privacy-sensitive information. This
document uses the widespread configuration that will exist if ECHO is widely
deployed, but only sends the subset of information necessary to seed the QUIC
key generation process.</t>
      <t>This design is meant to be complimentary with QUIC Version Aliasing
<xref target="VERSION-ALIASING" format="default"/>. Version Aliasing does not
require coordination with DNS or costly asymmetric encryption, and also hinders
ossification of the QUIC version field. However, it does not protect the first
connection between the client and server, and can be difficult to coordinate
with intermediaries like client-facing load balancers. This document addresses
those use cases.</t>
      <t>Unlike <xref target="ECHO" format="default"/>, Protected Initial Packets protect the entire packet payloads
that contain the Client Hello and Server Hello, instead of just part of the
Client Hello.</t>
      <t>The version of QUIC described in this specification is identical to QUIC version
1 <xref target="QUIC-TRANSPORT" format="default"/> except where described in this document.</t>
    </section>
    <section anchor="conventions" numbered="true" toc="default">
      <name>Conventions</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
"SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be
interpreted as described in RFC 2119 <xref target="RFC2119" format="default"/>.</t>
    </section>
    <section anchor="key-configuration" numbered="true" toc="default">
      <name>Key Configuration</name>
      <t>The client obtains the Encrypted ClientHello Configuration (ECHConfig) described
in Section 4 of <xref target="ECHO" format="default"/>, which provides the context that allows protection of
Initial packets. The ECHConfig is available via a DNS record or other out-of-
band system.</t>
    </section>
    <section anchor="version-number" numbered="true" toc="default">
      <name>Version Number</name>
      <t>The version field in long headers is TBD. Note: for interoperability
exercises, use the provisional value 0xff454900.</t>
    </section>
    <section anchor="labels" numbered="true" toc="default">
      <name>Key Derivation Labels</name>
      <t>The labels used to derive keying material in <xref target="QUIC-TLS" format="default"/> change from
"quic key", "quic iv", "quic hp", and "quic ku" to "quicpi key", "quicpi iv",
"quicpi hp", and "quicpi ku", respectively.</t>
    </section>
    <section anchor="initial-packet-header" numbered="true" toc="default">
      <name>Initial Packet Header</name>
      <t>The figure below is presented in the format from <xref target="QUIC-TRANSPORT" format="default"/>, and adds a
variable-length Encryption Context preceded by a length field:</t>
      <artwork name="" type="" align="left" alt=""><![CDATA[
Initial Packet {
   Header From (1) = 1,
   Fixed Big (1) = 1,
   Long Packet Type (2) = 0,
   Reserved Bits (2),
   Packet Number Length (2),
   Version (32),
   Destination Connection ID Length (8),
   Destination Connection ID (0..160),
   Source Connection ID Length (8),
   Source Connection ID (0..160),
   Encryption Context Length (8),
   Encryption Context (..),
   Token Length (i),
   Token (..),
   Length (i),
   Packet Number (8..32),
}
]]></artwork>
      <t>Encryption Context Length: A variable-length integer specifying the length of
the encryption context, in bytes. Servers MUST set this field to zero; a client
that receives a non-zero length MUST either discard the packet or generate a
connection error of type PROTOCOL_VIOLATION.</t>
      <t>If a client has received a valid Server Initial packet, it SHOULD set this field
to zero. Until then, clients MUST use a nonzero value.  If a client Initial
packet has a zero Encryption Context Length, and the server has not sent an
Initial Packet, the server MUST either discard the packet or generate a
connection error of type PROTOCOL_VIOLATION.</t>
      <section anchor="encryption-context" numbered="true" toc="default">
        <name>Encryption Context</name>
        <t>The encryption context, if nonzero length, has the following format:</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
Encryption Context {
    Config ID (8),
    Encapsulated Secret (..),
}
]]></artwork>
        <t>The client obtains the Config ID (an 8-bit unsigned integer) from the ECHConfig.
It corresponds to a public key and Key Encapsulation Mechanism (KEM) that are
not sent over the wire.</t>
        <t>The Encapsulated Secret is HPKE encapsulated. Its length is inferred from the
Encryption Context Length field.</t>
      </section>
    </section>
    <section anchor="client-packet-protection-procedure" numbered="true" toc="default">
      <name>Client Packet Protection Procedure</name>
      <t>An client extracts the public key pkR and uses it to generate a shared_secret:</t>
      <artwork name="" type="" align="left" alt=""><![CDATA[
pkR = Deserialize(ECHConfig.contents.public_key)
shared_secret, enc = Encap(pkR)
initial_secret = HKDF-Extract(shared_secret,
        client_dst_connection_id || ECHConfig)
]]></artwork>
      <t>enc is the Encapsulated Secret, and is written into that subfield of the
Encryption Context Field.</t>
      <t>The initial_secret above is used to generate client_initial_secret and
server_initial_secret as described in Section 5.2 of <xref target="QUIC-TLS" format="default"/>.</t>
      <t>When applying header protection, the Context Length and Encryption Context are
not Protected.</t>
      <t>Additionally, the client bitwise-XORs the first eight octets of the Destination
Connection ID with the first eight octets of the public key to form a 64 bit
unsigned integer. This integer is added to the packet length, modulo 2^62, and
written into the packet length field instead of the actual packet length.</t>
      <t>This derivation is performed once per connection. Subsequent Initial Packets
use the same keys and the same offset to the packet number, regardless of
additional Encryption Context fields or changed connection IDs.</t>
    </section>
    <section anchor="server-packet-protection-procedure" numbered="true" toc="default">
      <name>Server Packet Protection Procedure</name>
      <t>The server reads the Config ID and Encapsulated Secret (enc) from the Initial
Packet. It looks up its private key (skR) associated with the Config ID.</t>
      <t>Prior to any other operations, including sending any Retry packet, the server
bitwise-XORs the first eight octets of its public key and the destination
connection ID and subtracts this from the value in the packet length field,
modulo 2^62, to find the true packet length.</t>
      <t>Any result that exceeds the size of the received datagram indicates with high
assurance that the client's received ECHConfig does not match the server's
state, possibly due to a misconfiguration. The probability this test results in
a false negative, when an incorrect key generates a result less than the
datagram size, is typically less than 1 in 2^51. The server MUST discard the
packet and SHOULD send a Version Negotiation packet that does not advertise the
current QUIC version, as the endpoints do not have the necessary shared state to
use QUIC Protected Initials.</t>
      <t>Otherwise, the server generates the Initial secrets:</t>
      <artwork name="" type="" align="left" alt=""><![CDATA[
shared_secret = Decap(enc, skR)
initial_secret = HKDF-Extract(shared_secret,
        client_dst_connection_id || ECHConfig)
]]></artwork>
      <t>The server now has sufficient context to send a Retry packet and MAY choose to
do so at this point (see <xref target="retry" format="default"/>). If not, it decrypts the Initial packet.</t>
      <t>The remainder is identical to the client procedure.</t>
    </section>
    <section anchor="retry" numbered="true" toc="default">
      <name>Retry Integrity Tag</name>
      <t>The Retry packet is identical to QUIC version 1, except that the secret key K
and nonce N (see Sec 5.8 of <xref target="QUIC-TLS" format="default"/>) are derived from the shared_secret
instead of the secret provided there. Also, the labels are as described in
<xref target="labels" format="default"/>.</t>
    </section>
    <section anchor="version-negotiation" numbered="true" toc="default">
      <name>Version Negotiation</name>
      <t>Endpoints that support QUIC Protected Initials MUST support at least one other
version of QUIC (in case the endpoints cannot agree on the ECHConfig), and
therefore MUST also support <xref target="I-D.ietf-quic-version-negotiation" format="default"/>.</t>
      <t>In contrast to Section 5 of that document, clients MUST be prepared to receive
a version negotiation packet that contains QUIC Protected Initial, and then
receive a second version negotiation packet that does not, should the attempt
to identify a common ECHConfig fail.</t>
      <t>Servers MAY continue to advertise QUIC Protected Initials in its Server
Handshake Version Information, even if shared secret extraction failed, to avoid
tracking state as to which clients have failed such extraction. This does not
effect the Version Downgrade mechanism, which is executed by servers.</t>
      <t>Note that QUIC version 1 is not compatible with QUIC Protected Initials, as it
does not contain the information necessary to generate subsequent Initial
packets correctly. Conversely, QUIC Protected Initials are compatible with QUIC
version 1. However, since the versions have identical properties after the
Initial packet exchange, there is little value in such a trasition.</t>
    </section>
    <section anchor="intermediaries" numbered="true" toc="default">
      <name>Intermediaries</name>
      <t>Intermediaries that rely on the contents of the Client Hello (e.g., a load
balancer that routes between servers with the same IP address based on the SNI
field in the Client Hello) MUST have access to the ECHConfig and the
corresponding Private Keys, as described in Section 3.1 of <xref target="ECHO" format="default"/>, to function
properly.</t>
    </section>
    <section anchor="applicability" numbered="true" toc="default">
      <name>Applicability</name>
      <t>This version of QUIC provides no change from QUIC version 1 relating to the
capabilities available to applications. Therefore, all Application Layer
Protocol Negotiation (ALPN) (<xref target="RFC7301" format="default"/>) codepoints specified to operate over
QUICv1 can also operate over this version of QUIC.</t>
    </section>
    <section anchor="security-and-privacy-considerations" numbered="true" toc="default">
      <name>Security and Privacy Considerations</name>
      <t>Sections 10.2, 10.3, 10.4, and 10.6 of <xref target="ECHO" format="default"/> apply to QUIC Protected Initials
as well.</t>
      <t>Sections 7.2, 7.3, 7.7, and 7.8 of <xref target="VERSION-ALIASING" format="default"/> are also applicable.</t>
    </section>
    <section anchor="iana-considerations" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>This document request that IANA add the following entry to the QUIC version
registry:</t>
      <t>Value: TBD</t>
      <t>Status: permanent</t>
      <t>Specification: This document</t>
      <t>Change Controller: IETF</t>
      <t>Contact: QUIC WG</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="QUIC-TRANSPORT" target="https://www.ietf.org/archive/id/draft-ietf-quic-transport-34.txt">
          <front>
            <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
            <seriesInfo name="Internet-Draft" value="draft-ietf-quic-transport-34"/>
            <author fullname="Jana Iyengar">
              <organization>Fastly</organization>
            </author>
            <author fullname="Martin Thomson">
              <organization>Mozilla</organization>
            </author>
            <date month="January" day="14" year="2021"/>
            <abstract>
              <t>   This document defines the core of the QUIC transport protocol.  QUIC
   provides applications with flow-controlled streams for structured
   communication, low-latency connection establishment, and network path
   migration.  QUIC includes security measures that ensure
   confidentiality, integrity, and availability in a range of deployment
   circumstances.  Accompanying documents describe the integration of
   TLS for key negotiation, loss detection, and an exemplary congestion
   control algorithm.

DO NOT DEPLOY THIS VERSION OF QUIC

   DO NOT DEPLOY THIS VERSION OF QUIC UNTIL IT IS IN AN RFC.  This
   version is still a work in progress.  For trial deployments, please
   use earlier versions.

Note to Readers

   Discussion of this draft takes place on the QUIC working group
   mailing list (quic@ietf.org (mailto:quic@ietf.org)), which is
   archived at https://mailarchive.ietf.org/arch/search/?email_list=quic

   Working Group information can be found at https://github.com/quicwg;
   source code and issues list for this draft can be found at
   https://github.com/quicwg/base-drafts/labels/-transport.

              </t>
            </abstract>
          </front>
        </reference>
        <reference anchor="QUIC-TLS" target="https://www.ietf.org/archive/id/draft-ietf-quic-tls-34.txt">
          <front>
            <title>Using TLS to Secure QUIC</title>
            <seriesInfo name="Internet-Draft" value="draft-ietf-quic-tls-34"/>
            <author fullname="Martin Thomson">
              <organization>Mozilla</organization>
            </author>
            <author fullname="Sean Turner">
              <organization>sn3rd</organization>
            </author>
            <date month="January" day="14" year="2021"/>
            <abstract>
              <t>   This document describes how Transport Layer Security (TLS) is used to
   secure QUIC.

Note to Readers

   Discussion of this draft takes place on the QUIC working group
   mailing list (quic@ietf.org), which is archived at
   https://mailarchive.ietf.org/arch/search/?email_list=quic.

   Working Group information can be found at https://github.com/quicwg;
   source code and issues list for this draft can be found at
   https://github.com/quicwg/base-drafts/labels/-tls.

              </t>
            </abstract>
          </front>
        </reference>
        <reference anchor="ECHO" target="https://www.ietf.org/archive/id/draft-ietf-tls-esni-10.txt">
          <front>
            <title>TLS Encrypted Client Hello</title>
            <seriesInfo name="Internet-Draft" value="draft-ietf-tls-esni-10"/>
            <author fullname="Eric Rescorla">
              <organization>RTFM, Inc.</organization>
            </author>
            <author fullname="Kazuho Oku">
              <organization>Fastly</organization>
            </author>
            <author fullname="Nick Sullivan">
              <organization>Cloudflare</organization>
            </author>
            <author fullname="Christopher A. Wood">
              <organization>Cloudflare</organization>
            </author>
            <date month="March" day="8" year="2021"/>
            <abstract>
              <t>   This document describes a mechanism in Transport Layer Security (TLS)
   for encrypting a ClientHello message under a server public key.

              </t>
            </abstract>
          </front>
        </reference>
        <reference anchor="HPKE" target="https://www.ietf.org/archive/id/draft-irtf-cfrg-hpke-08.txt">
          <front>
            <title>Hybrid Public Key Encryption</title>
            <seriesInfo name="Internet-Draft" value="draft-irtf-cfrg-hpke-08"/>
            <author fullname="Richard L. Barnes">
              <organization>Cisco</organization>
            </author>
            <author fullname="Karthik Bhargavan">
              <organization>Inria</organization>
            </author>
            <author fullname="Benjamin Lipp">
              <organization>Inria</organization>
            </author>
            <author fullname="Christopher A. Wood">
              <organization>Cloudflare</organization>
            </author>
            <date month="February" day="15" year="2021"/>
            <abstract>
              <t>   This document describes a scheme for hybrid public-key encryption
   (HPKE).  This scheme provides authenticated public key encryption of
   arbitrary-sized plaintexts for a recipient public key.  HPKE works
   for any combination of an asymmetric key encapsulation mechanism
   (KEM), key derivation function (KDF), and authenticated encryption
   with additional data (AEAD) encryption function.  We provide
   instantiations of the scheme using widely used and efficient
   primitives, such as Elliptic Curve Diffie-Hellman key agreement,
   HKDF, and SHA2.

   This document is a product of the Crypto Forum Research Group (CFRG)
   in the IRTF.

              </t>
            </abstract>
          </front>
        </reference>
        <reference anchor="I-D.ietf-quic-version-negotiation" target="https://www.ietf.org/archive/id/draft-ietf-quic-version-negotiation-03.txt">
          <front>
            <title>Compatible Version Negotiation for QUIC</title>
            <seriesInfo name="Internet-Draft" value="draft-ietf-quic-version-negotiation-03"/>
            <author fullname="David Schinazi">
              <organization>Google LLC</organization>
            </author>
            <author fullname="Eric Rescorla">
              <organization>Mozilla</organization>
            </author>
            <date month="February" day="4" year="2021"/>
            <abstract>
              <t>   QUIC does not provide a complete version negotiation mechanism but
   instead only provides a way for the server to indicate that the
   version the client offered is unacceptable.  This document describes
   a version negotiation mechanism that allows a client and server to
   select a mutually supported version.  Optionally, if the original and
   negotiated version share a compatible first flight format, the
   negotiation can take place without incurring an extra round trip.

   Discussion of this work is encouraged to happen on the QUIC IETF
   mailing list quic@ietf.org (mailto:quic@ietf.org) or on the GitHub
   repository which contains the draft: https://github.com/quicwg/
   version-negotiation/ (https://github.com/quicwg/version-
   negotiation/).

              </t>
            </abstract>
          </front>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC8446" target="https://www.rfc-editor.org/info/rfc8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <seriesInfo name="DOI" value="10.17487/RFC8446"/>
            <seriesInfo name="RFC" value="8446"/>
            <author initials="E." surname="Rescorla" fullname="E. Rescorla">
              <organization/>
            </author>
            <date year="2018" month="August"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol.  TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961.  This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
        </reference>
        <reference anchor="VERSION-ALIASING" target="https://www.ietf.org/archive/id/draft-duke-quic-version-aliasing-04.txt">
          <front>
            <title>QUIC Version Aliasing</title>
            <seriesInfo name="Internet-Draft" value="draft-duke-quic-version-aliasing-04"/>
            <author fullname="Martin Duke">
              <organization>F5 Networks, Inc.</organization>
            </author>
            <date month="October" day="30" year="2020"/>
            <abstract>
              <t>   The QUIC transport protocol [QUIC-TRANSPORT] preserves its future
   extensibility partly by specifying its version number.  There will be
   a relatively small number of published version numbers for the
   foreseeable future.  This document provides a method for clients and
   servers to negotiate the use of other version numbers in subsequent
   connections and encrypts Initial Packets using secret keys instead of
   standard ones.  If a sizeable subset of QUIC connections use this
   mechanism, this should prevent middlebox ossification around the
   current set of published version numbers and the contents of QUIC
   Initial packets, as well as improving the protocol's privacy
   properties.

              </t>
            </abstract>
          </front>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <seriesInfo name="DOI" value="10.17487/RFC2119"/>
            <seriesInfo name="RFC" value="2119"/>
            <seriesInfo name="BCP" value="14"/>
            <author initials="S." surname="Bradner" fullname="S. Bradner">
              <organization/>
            </author>
            <date year="1997" month="March"/>
            <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>
        </reference>
        <reference anchor="RFC7301" target="https://www.rfc-editor.org/info/rfc7301">
          <front>
            <title>Transport Layer Security (TLS) Application-Layer Protocol Negotiation Extension</title>
            <seriesInfo name="DOI" value="10.17487/RFC7301"/>
            <seriesInfo name="RFC" value="7301"/>
            <author initials="S." surname="Friedl" fullname="S. Friedl">
              <organization/>
            </author>
            <author initials="A." surname="Popov" fullname="A. Popov">
              <organization/>
            </author>
            <author initials="A." surname="Langley" fullname="A. Langley">
              <organization/>
            </author>
            <author initials="E." surname="Stephan" fullname="E. Stephan">
              <organization/>
            </author>
            <date year="2014" month="July"/>
            <abstract>
              <t>This document describes a Transport Layer Security (TLS) extension for application-layer protocol negotiation within the TLS handshake. For instances in which multiple application protocols are supported on the same TCP or UDP port, this extension allows the application layer to negotiate which protocol will be used within the TLS connection.</t>
            </abstract>
          </front>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
H4sIAJHbkWAAA71aW3PbyJV+71/RIz9EqiI5ksdje7g1lTCSPGJZt5XkyaZS
iasJNClEIICgAUmMovnt+51zunGj5ORld6pGJom+nOt3bhiPx6pKqtRO9WWZ
VzaqbKz/+8v8UM+zpEpMqi9NdGcrp8xiUdr7qS7CsnEiK1ScR5lZ44S4NMtq
HNd3dvyPOonGW0vH+/sqMpVd5eVmql0Vq6Qop7oqa1e93d//af+tMqU1U31T
mswVeVmph7y8W5V5XUw1namUq0wWfzVpnuHGjXWqSKb6L1UejbTDhtIuHT5t
1vIBtK1NUSTZ6q9Kmbq6zcup0nqM/7VOMjfVZxN9BIr5B2HjzJRVkrW/5uVq
qj/9qM9tRdTg1HkWTfiRXZskneo175jcToj3P6zox0mUr5XK8nJtquTeTpVK
smXn23g81mbhqtJElVIscZtF5aaonE7w/0D8unbgQd/ZjdOxLXFGrJdlvtYP
Nk3Hd1n+kOkoz0g4lRuptTUZra9uTaXzhbPlvS2djkxGTBdQCh5Z2lFZbND5
kr47qwt/HWSsXB1F1rllnaYbDW3IovVE39wmjiRbr7GZDKLIncUendkHTRcl
eUZHMldEgmpYG7K1zkurnY3q0uKSxUanFgeYFRFv9GW9SJNIf7YbHSeQVbKo
YU3qPjFM/lEOSWf6HFrT1xtX2bXePTq/3oPGdI4F+FtX43w5XoAd2AStmCh1
lLiodoHIipghvWr8CzrzGtdDulWub2E5Fosyvk284vjmkyL9EoEpaNJ/+esu
GeYfElstJzAVuV22/JJUJ/VClxYCSioYvX64TaJbRXIH5Y4XsddMtcJBt1VV
uOn336+S6rZekAl9L6ZFdvU9+5QX79ikiSGT2JuILa2TOE6tUm8g4qrM4zqq
sAzMzq8PT2fzs+OrqdcbXUe8GmjOpsk6yQwIEy1CMw+4m4ykXi6TKCEFs3qS
aqNMZtKNS9xEz/HrbV6nsc7ySi8szBMigy6K5movbwf6bhrp9bSvn56+o5/H
N1ez8+vLi6ubn+fjowkJUvCjCijw/OyVQ0YEAxBnMOQOfW9gq7AOEjNMw2Ge
ZVbImR8RfbRAbFxHqYVs7WOlyDpM15Mgh0rvOguz8rt/nLwlY2koPr0e0pq6
52coI2z4ILYF9xOBx9ZFsF+4SRCnvq/TDLa+gDFVCR6U1tVpRZwFXlT7Uwqi
6UjCMCgliZhBFi7pMnVkrg7yT+5NtNHJukj9GuAVHvRBILYsyq44yONfwoaR
2Kz2NsvPwL4+TNk4TiC1nDZDVHS+/KDOABxwI6d3n55+f/Xp8OO7d+9JPpps
gXAQKxsvYNtoIB/WUcKjK9Dq74YY7i3MBn8zQYwGSyFps4CXM1mwFzJaCOVT
XZL/09pRg2lB3qkl546tLQIY0jERAk9lwYnOgQ1LLzx1j8d5OSGvwnk2TkxJ
umLN2sdvIOk6SAB3gVJI0KjIlixDIZ6lBhcpUrp4naxuyVjyoiFYzCcnHxuR
s96T4hnV2eEU7iLEpTCbRznk8wgaCB0cYRBMoMzJMxqDCwtdMJv/FMMfIEsr
fIrW84VoDhjCEK3IE1eWxEsJBHCcFovFMZs1HZ5UJAzvxtjrbhHtmb7SgkNH
J4uFqYAU3jhvrYGfj0QiC2A7TomLPCGJkz2TT9AddL7POgLYKC/NwPPaRrcI
jm4dQo0VGBZGGFL4lgeGN0BbJ/JoijyIMHo3L9V2hGmO3iM6XF2wOR8H2Oq5
jAKUHB+eXLQwAgQZW5clz8/kJYYhI1llIrqTzaJM4m5APH6ky1ZW755cfj7e
U3C07+iTHFjiwGhZrsa3xZ0FfIKeDnJANTliJi0ny10mKwQ9NveeY5F5QjI7
4JHcVai/Jep3REYQJ2F+ClsgIGV3hXd5DcNUFe9PAMIv7m8QwMPW2JH9UobU
9XBJOFRjrCwQOvghgYjgFybuc+EVmKTkEhSjk6UmWRO9tCfdqNgWab6x8UhD
sQjXlOHApORcVwMsK7L+rjgQSMilEStJudbGTVbQtX5aCQukpY2XiR7Z9pCe
0fYFIQZBNDFER3LUZV/71fvezAd4GMrvfz2+up5fnI9np/PZ9fz8F9Zxm2cP
cwKyoOEx8HVIDUgCMMWmkgjIyzgESr6fLDsnXHYV5GGQRAOGS9hbUGiejdgq
JNwgLcElqguXHv6Ek4Aiy8Sm8USf5A/kcCOCgUBM46y0aZmUrqLcKITsBRJu
a7Mu8HAix7AilJDzs48S8CNUknAbxqzyyUwPutPkLhw3XpqIg2sOE1qY1GRA
aDdMcE0cIw7D6GDNAEnGmcjgOxT8JePjnp7Ivp6fR50qapjqdlklPyyb0FuY
DVFA57dOweu+GWRHFL4qsn5I/e8ooXBQWXkVqO5Wn4MNYT3kJLGgLnimaNgq
k9w7FshISbBdraoDMN3P3gAz9jGygHaJF9vHB5FOKE9FbsYBDeFKyCMvQiIO
J9w5+3J9szOSf/X5BX++OsZ1V8dH9Pn6ZHZ62nwIK65PLr6c4rnyn9qdhxdn
Z8fnR7L5bPbnHbGenYvLG/jV7HRni0RtSiueqth+ADOkVOP6bCG10W8PDn7S
kubQR3gfsUcYfdjDVmZyEEBJycMAIdru7dW7sC/5Za8lAJQ1Ceo7SU+DGUrO
RgkAYWSbojxWAo4GVzw0NilGMQi6TpK15mKuGe5R+nAGRZFQYmFpIyhtq+ZS
/aLrTYNI5/V6Ycu+RTJEkDxR1q98tHd04c0fjyb6HEROKWkSV86LkDVvlH20
ZZTAF0cS/imQE9N0Kji5N2lt9f7jcvnux3c/7e83mjmiqkFEe2oWNnX66U3K
H56FMvkidQ1ni1RlkIkSXiAi4DvOB8XBC06vYf8+JFP+rnYIm2kH2Rx/Tu6b
j7dFMEFZVe/QLfylSLqb8I22qfClv5HW1vgB+MR57D1i20SKwF6ldcISFc7Y
qiwMGxZAIoZlU+YV3NSG7JSLkG0f9xEghpsadQ9IJXMYpzZbAWqPm0BB9svm
huMjG0tSaLRfx/qeKvXbb7+pYVFIjRWhV38iEnYP9vTP+mBEv39KHnHSH2GM
3V9PyWj89ptNgZToLT3c54dXluMF7QII4wn/6leLLepToSo8DJa6+4P/4fWS
Muz8+O8W7u5PJgfv92XZdV6Xkf32US+u6Z3ygrAHZ7ywYncykWc3+R1Ca9iQ
dH9s1gye9oW2+3EyYQE9sxrVq+RM9UwPDYUceYVDJOBsQlXjnwKLJEo2J3rw
opAHQ6oQe30odJpjBOVrjN+CJPClfwIo/gsWJ4AroZVMET7CZQ7yJVoSruRT
bMIIhow/MmXcrY6BPaG8oTquVYotS0I+xFwyvMuri5uLw4vTr7/OL05nFFvg
jfNlQwbX6J4K6jkAn5ImqPfhl/MkH8f63CnP3UR/QfhMufgZ+Qu8OAgLmUdm
kVFwonWXkH51xHQZPvV1sxo1FYEv7GgTJXFOMrOBJ4+6S/8PxfvmzQskC9S9
aEDLRi6pZ4v4EOCjqMgNGIZAD1AvCIRByodo9kvvcESJKVydchl8zYWtdyfv
Ja/kAJ2jkNF+HC+g/DqjuoFxmZ1lr+1xNUF5ouaUMZYUAHKuX/KmKOeEilTG
5WJDGPFx1hTBu5+Pz/Z8TlBa1agzJ61JkVVanz++xByMkstI23lG/UEXHItr
xCX02OnRvY4Vvljg/FCk5EHnss1ULqm8ihHDlJplQZg4glrpW7V8cXc1bEC0
luY7EF+lA+HVTTt+JiTnEJ/807a51yS0eSZyw1fcsKd6h4xIEtjPstrFWXvK
Dz/8Ajw7+Xz0aXwsBO/2d7MR0X/C1tfYVV9bd/gKsPjXv1rt74lN0Y1Jk0sO
VSRuS6VvmVSgnswpF42j0BW89DXDC2r55PVB+h8wYhY5FeptktQI1hM/XE8z
BYaDrSeDrHqr69qmWCDlT9TsMUWRctiQZLGTyY6CQ3XNikTwAnfB5JuqDcfP
4jipOH1MN6Nu7QmffECqOf6fiyvXFqxANWrc5djdtP+6eYDqR3CuSL+9uduJ
yhmKYKnv39H9aogJvlYN4ZRS9DgWbXTgNQDdOo9rlBZv//b+LVuFGpjEYEOT
ljdVJi2B0dZtZ05Wtq2OJq2mzNKW3OrFVhTW9FW3towATm2Wf9SdaNQMG0Mu
72i0w0OvJvTQL/lyySGxR3PGaQnlwitElxQVO+URptHmS/pnBrlbKpl73CEQ
2nIMRD48fxOIbtpQR/2oIah789sODXDdDqyHoCxX8ZglzfM7eFjBQ0Fuk1VS
Ke86YAs8x+VRwkc2ltVcC+ovywTMUVDINqE+K3yfylE2FaV1TG5E3S8eqmDd
la1oIrQVxdV/6AFMaj8E8aCr4xQ9MUtXp140CE6ZTpCJlHD90U3XPEeqZ9Xk
MYm/sCpru2WnMzAoY5XQxI+sDY0/oH0w8yZLi01lVqVZg4aYm6dORH0LrhXk
jxKdrJsPa9Hid508ry2hm76XTARa0f7O0WC7omkF9dMW6UbHtZVovka+1G0G
SF0OwFv4KlgkBsIqzxkBgjJ6aVL4UQZ/oMqQmgIEnOTtnDFEle627SkB9IJh
5wFD0otvBEDiGXGk2RTUE0o3nZUHpKO3f/vxQMjr5n2dhE+106Y2ueXxW9Me
sKscTiCNVFns5yBedCbGwVUiCKGiGpwAQbq9KR54SQERhgQyRUGmdy/A0jZz
wxCCpA95M/TwYVudPEKDC3Ih8oFedtuKsOPFfq7hfFrRi/OcYFCCAP8faff/
kiV0tJKh8qektzPkbbpDeVBIFwVYX2ezPwMm85zHLAoSdbBOX5iwmGVk+vRU
0k6e9s2XMryilq/1rwB0RSSn+/SipLcpqKe81XjsBOEiYC5Ds9BIs7kVT7hu
zEo/vZH75dAeF99qaOqDUWhfNq7sdUFe8pmnxBkHsvNmNowM5eMwQ9nj1uHW
WLqnQTWIqf4i369jTwGHepa6XAzNt6Po5EGypJ6efOPqud9ma/2IavPgCD7v
k9HUK3buS2q/yBAeGEdTEishRA0bybtwfeqID5wuMhk77KqEtPwrEa1VSgbC
nC5ppsuX8mQh3Pz09F1/yB4GHVnLG3M9l/quJCqh1iZ9bGfwvqs7KJMXBKO2
YADAPg/YQM7AYPYKGPVH11sSbCrlTPkzqdaw2BX/26MDzo3CGxacc1U0J66o
8hcDXlIzLcrXa+xuw8uSXjxSqumMkMPmNDP2oaRBztcUDz1S8JYD1Am4gNne
2cao5u08bCTjeJTTvTFuKMS4qwtyaMRGV9/nCZSNJ3ecbTDaGi5X/esFXi+M
0LIRdoAH7XnNXMYPsuxyGeYpgb6j/CFDqIptO4sNvXB6geTRRrWfT/u3ISAt
6i6L6PtwQDvIfGlQB46p6d1O6bZlx0EHGXoTp7pznFfniE3J5LaS4TC41j5Y
p5uJzExKZ6kyeU2HprQv0tx47UFnFucSyV2aVrzXQAuTBffb+QUVs6ykKTAc
z1s/ix4JcJHkkJdUaSd7Y10aekXDJf7NlTeDlyrIj7dfsuAXwzx4DN6y6I/H
du1kNRlRjzk3sQrTPH8IjbBdM1AMr8I0KTNXFfPLMOrTC+O4auGH1+dz1Qwo
htfuCZKw0Ay/LxcCVuuWHgxU26chH7j0yfxnlDejV0vgHyYH/ckOJbh1Jm93
iW58y39W8Cs/fjAi9dgQqJuBUJZ3ZxVDy4fMjbxpkgvhpmhfU2pnQOTXRfue
ESd+AuYjGjAFivyUZQNEuQyvqnSzvN3Z6eX5XnhT6MMP+wcURKM8tj6O+Kmk
gLSUL5YbVPze5P0BT4E5cnQfSmIykIAv6PwLMaSYS//GFHTlIBpfGqnwIpfT
B/sT1BX4+wP/fSfgjk/vu4qRhkSTVGz7JUoFfsVs0jn6A538gQ7+MPkg534I
CcVw5k9XUPQnNr3UoQNxo9n5bIv+/gybhv5UH7A38HqY+qDpiXUCSsMJPoLY
il6C2SCV/ZUcekpzOfABFK/dlAr7tcmoy66uuwPkaX+QrtShmBxV3yWuteVU
XqikHkkFkJ/KtX/6Rd5pXABd1P8CQHK2N6IsAAA=

-->

</rfc>
