<?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.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-munizaga-quic-alternative-server-address-01" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title>QUIC Alternative Server Address Frames</title>
    <seriesInfo name="Internet-Draft" value="draft-munizaga-quic-alternative-server-address-01"/>
    <author fullname="Marco Munizaga">
      <organization>Ethereum Foundation</organization>
      <address>
        <email>marco@marcopolo.io</email>
      </address>
    </author>
    <author fullname="Marten Seemann">
      <organization/>
      <address>
        <email>martenseemann@gmail.com</email>
      </address>
    </author>
    <date year="2026" month="July" day="21"/>
    <area>Transport</area>
    <workgroup>QUIC</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 37?>

<t>This document specifies an extension to QUIC that allows a server to advertise
a prioritized set of alternative addresses. This allows a client to migrate the
connection as the availability or preference of server addresses changes.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://marcopolo.github.io/alternative-server-address/draft-munizaga-quic-alternative-server-address.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-munizaga-quic-alternative-server-address/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        QUIC Working Group mailing list (<eref target="mailto:quic@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/quic/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/quic/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/MarcoPolo/alternative-server-address"/>.</t>
    </note>
  </front>
  <middle>
    <?line 43?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>QUIC supports client-initiated connection migration, allowing a connection to
survive changes to the client's address and enabling the client to select among
available paths (<xref section="9" sectionFormat="of" target="RFC9000"/>). A server can advertise a preferred
address during the handshake (<xref section="9.6" sectionFormat="of" target="RFC9000"/>), but cannot update
that address or advertise additional addresses during the connection.</t>
      <t>Some deployments have multiple server addresses whose availability or preference
can change over the lifetime of a connection. These include multihomed
endpoints, relays, proxies, and peer-to-peer systems.</t>
      <t>This document defines an extension that allows a server to advertise a
prioritized and replaceable set of alternative addresses. The client remains
responsible for validating these addresses and initiating any connection
migration.</t>
      <t>Address discovery and NAT traversal mechanisms, including hole punching, are
out of scope of this document.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="negotiating-extension-use">
      <name>Negotiating Extension Use</name>
      <t>alternative_address (0xff0969d85c):</t>
      <t>Clients advertise their support of this extension by sending the
alternative_address (0xff0969d85c) transport parameter (<xref section="7.4" sectionFormat="of" target="RFC9000"/>) with an empty value. Sending this transport parameter signals
to the server that the client understands the ALTERNATIVE_ADDRESS frame.</t>
      <t>Servers <bcp14>MUST NOT</bcp14> send this transport parameter. A client that supports this
extension and receives this transport parameter <bcp14>MUST</bcp14> abort the connection with a
TRANSPORT_PARAMETER_ERROR.</t>
      <t>Endpoints <bcp14>MUST NOT</bcp14> remember the value of this extension for 0-RTT.</t>
    </section>
    <section anchor="path-validation">
      <name>Path Validation</name>
      <t>Advertising an alternative address does not create a new path or initiate
connection migration. As in <xref section="9" sectionFormat="of" target="RFC9000"/>, clients remain responsible
for initiating all connection migrations. A client initiates path validation by
sending probing packets to an advertised address and only migrates after
validation succeeds. Packets from unadvertised server addresses are handled as
specified by RFC 9000, except while validating an advertised address as
described below. Such packets do not create new paths.</t>
      <t>The response to a client-initiated PATH_CHALLENGE can arrive from a server
address other than the address being validated. <xref section="8.2.2" sectionFormat="of" target="RFC9000"/>
requires the server to send the PATH_RESPONSE on the path where it received the
PATH_CHALLENGE, but prohibits the client from enforcing this requirement. A
matching PATH_RESPONSE received on any path validates the path on which the
PATH_CHALLENGE was sent (<xref section="8.2.3" sectionFormat="of" target="RFC9000"/>). The server might also
send a PATH_CHALLENGE to validate the path in its sending direction.
Consequently, while validating an advertised address, a client <bcp14>MUST NOT</bcp14> discard
a successfully authenticated probing packet solely because it was received from
an unadvertised server address. Processing the packet does not validate its
source address or make that address eligible for migration.</t>
    </section>
    <section anchor="alternative-address-frame">
      <name>Alternative Address Frame</name>
      <t>A server uses an ALTERNATIVE_ADDRESS frame to advertise its complete set of
alternative addresses and their priority relative to the current path. Each
frame replaces the state established by any previously processed
ALTERNATIVE_ADDRESS frame.</t>
      <t>The frame uses the following format, following the conventions described in
<xref section="12.4" sectionFormat="of" target="RFC9000"/>:</t>
      <artwork><![CDATA[
ALTERNATIVE_ADDRESS Frame {
  Type (i) = 0x1d5845e2,
  Sequence Number (i),
  Entry Count (i),
  Address Entry (..) ...,
}
]]></artwork>
      <t>The Entry Count field contains the number of Address Entry fields in the frame.
An Address Entry starts with an 8-bit Address Type and has one of the following
formats:</t>
      <artwork><![CDATA[
CURRENT_PATH Entry {
  Address Type (8) = 0x00,
}

IPV4 Entry {
  Address Type (8) = 0x01,
  Priority Hint (i),
  IPv4 Address (32),
  IPv4 Port (16),
}

IPV6 Entry {
  Address Type (8) = 0x02,
  Priority Hint (i),
  IPv6 Address (128),
  IPv6 Port (16),
}
]]></artwork>
      <t>The Priority Hint field is a QUIC variable-length integer. On each side of the
CURRENT_PATH entry, lower values indicate higher priority and entries with the
same value form a priority group in which the server expresses no preference.
Entries on each side <bcp14>MUST</bcp14> appear in ascending Priority Hint order. Priority Hint
values have meaning only relative to other values on the same side of the
CURRENT_PATH entry; values on opposite sides are unrelated. A server can assign
the same value to every entry.</t>
      <t>The CURRENT_PATH entry is a sentinel representing the server address of the
current path and carries no priority hint, address, or port. A frame <bcp14>MUST</bcp14> contain
exactly one CURRENT_PATH entry and <bcp14>MUST</bcp14> contain each IP address and port tuple at
most once. Receipt of a frame that violates these requirements, does not order
entries as required, or contains an unknown Address Type <bcp14>MUST</bcp14> be treated as a
connection error of type FRAME_ENCODING_ERROR.</t>
      <t>IPV4 and IPV6 entries before CURRENT_PATH have higher priority than the current
path. The client <bcp14>SHOULD</bcp14> promptly validate these addresses and migrate to a
validated address. Entries after CURRENT_PATH are backup addresses. The client
<bcp14>MAY</bcp14> validate paths to these addresses, but <bcp14>SHOULD NOT</bcp14> migrate to one solely
because it was advertised.</t>
      <t>Priority hints are advisory. A client <bcp14>MAY</bcp14> use them to decide which addresses to
validate, which validations to perform in parallel, and which validated address
to use. A client <bcp14>MAY</bcp14> disregard priority hints based on local policy.</t>
      <t>A server <bcp14>MUST</bcp14> use a larger Sequence Number for each address-set update. A client
<bcp14>MUST</bcp14> ignore an ALTERNATIVE_ADDRESS frame whose Sequence Number is not greater
than that of the most recently processed ALTERNATIVE_ADDRESS frame.
Therefore, a newer frame atomically replaces an older address set even if the
frames are received out of order. An address omitted from the newer frame is no
longer advertised by this extension. The client <bcp14>SHOULD</bcp14> stop probing or using a
non-current path associated with an address that is no longer advertised.</t>
      <t>ALTERNATIVE_ADDRESS frames are ack-eliciting and <bcp14>MUST</bcp14> only be sent in the
application data packet number space.</t>
      <section anchor="address-selection-and-reachability">
        <name>Address Selection and Reachability</name>
        <t>The mechanism by which a server discovers and selects addresses to advertise is
outside the scope of this document. An advertised address is a candidate and
does not imply reachability from the client. A server <bcp14>SHOULD</bcp14> limit the
advertised set to addresses that it has reason to believe might be reachable,
and <bcp14>SHOULD</bcp14> update the set when it learns that an address is no longer usable.</t>
        <t>Advertised addresses can include private-use, unique-local, or other
limited-scope addresses. A client <bcp14>MAY</bcp14> decline to probe an address according to
local policy. A client <bcp14>MUST</bcp14> successfully validate a path before sending
non-probing frames on it. The request forgery considerations in Sections 21.5.3
and 21.5.6 of <xref target="RFC9000"/> apply.</t>
      </section>
    </section>
    <section anchor="connection-id-management">
      <name>Connection ID Management</name>
      <t>Each endpoint <bcp14>SHOULD</bcp14> advertise an active_connection_id_limit that allows its
peer to supply enough connection IDs for all paths that the endpoint might probe
concurrently. This applies in both directions.</t>
      <t>The server <bcp14>SHOULD</bcp14> ensure that the client has a sufficient number of available
and unused connection IDs, as the client will be unable to probe paths without
an unused connection ID. The server <bcp14>MAY</bcp14> bundle one or more NEW_CONNECTION_ID
frames with an ALTERNATIVE_ADDRESS frame. Likewise, the client <bcp14>SHOULD</bcp14> ensure
that the server has enough connection IDs to probe new paths.</t>
    </section>
    <section anchor="interaction-with-the-multipath-extension-for-quic">
      <name>Interaction with the Multipath Extension for QUIC</name>
      <t>This extension complements the Multipath extension for QUIC by allowing the
server to contribute more information to the client for alternative paths.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="request-forgery-attacks">
        <name>Request Forgery Attacks</name>
        <t>The same considerations from <xref section="21.5" sectionFormat="of" target="RFC9000"/> apply here as
well.</t>
      </section>
      <section anchor="ddos-thundering-herd">
        <name>DDoS - Thundering herd</name>
        <t>A malicious server could wait until it has received a large number of clients,
and request a migration from all of them at the same time to a victim endpoint.
If the clients all migrate at the same time, they may overload or otherwise
negatively impact the victim endpoint.</t>
        <t>Clients may mitigate this by randomly delaying the migration.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="quic-transport-parameter">
        <name>QUIC Transport Parameter</name>
        <t>This document registers the alternative_address transport parameter in the "QUIC
Transport Parameters" registry established in <xref section="22.3" sectionFormat="of" target="RFC9000"/>. The following fields are registered:</t>
        <dl>
          <dt>Value:</dt>
          <dd>
            <t>0xff0969d85c</t>
          </dd>
          <dt>Parameter Name:</dt>
          <dd>
            <t>alternative_address</t>
          </dd>
          <dt>Status:</dt>
          <dd>
            <t>Provisional</t>
          </dd>
          <dt>Specification:</dt>
          <dd>
            <t>This document</t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF (iesg@ietf.org)</t>
          </dd>
          <dt>Contact:</dt>
          <dd>
            <t>Marco Munizaga (marco@marcopolo.io)</t>
          </dd>
        </dl>
      </section>
      <section anchor="quic-frame-types">
        <name>QUIC Frame Types</name>
        <t>This document registers the ALTERNATIVE_ADDRESS frame in the "QUIC Frame Types"
registry established in <xref section="22.4" sectionFormat="of" target="RFC9000"/>. The following fields are
registered:</t>
        <dl>
          <dt>Value:</dt>
          <dd>
            <t>0x1d5845e2</t>
          </dd>
          <dt>Frame Type Name:</dt>
          <dd>
            <t>ALTERNATIVE_ADDRESS</t>
          </dd>
          <dt>Status:</dt>
          <dd>
            <t>Provisional</t>
          </dd>
          <dt>Specification:</dt>
          <dd>
            <t>This document</t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF (iesg@ietf.org)</t>
          </dd>
          <dt>Contact:</dt>
          <dd>
            <t>Marco Munizaga (marco@marcopolo.io)</t>
          </dd>
        </dl>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="RFC9000">
        <front>
          <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
          <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
          <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
          <date month="May" 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.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9000"/>
        <seriesInfo name="DOI" value="10.17487/RFC9000"/>
      </reference>
      <reference anchor="RFC2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <date month="March" year="1997"/>
          <abstract>
            <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>
      <reference anchor="RFC8174">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba" initials="B." surname="Leiba"/>
          <date month="May" year="2017"/>
          <abstract>
            <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>
    </references>
    <?line 300?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
    <section numbered="false" anchor="questions">
      <name>Questions</name>
      <ul spacing="normal">
        <li>
          <t>Any new security considerations from allowing a dynamically chosen preferred
address?</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA81a23IbubV9x1cg8kPkFElLGo9j6ySZYSR6rCrrEkqe1FQq
pQK7QbLLzQangZbMUXm+5XzL+bKz9gbQjRYpzeQtT6LA7n2/rL3B4XAoXOFK
fSz3/vHp7ESOS6frSrniTstrXd/pWo7zvNbWyve1Wmm7JzLl9MLUm2NpXS5y
k1U4P5Z5reZuuGqq4he1UMOfmyIbqo7a0DK1ofLUhgeHQhTr+li6urHu6ODg
3cGRULVWkOSmVpVdm9rtiXtTf17UplkHAffEZ73BYX4szyoirt3wlDiLO101
+lhI2X9cSrdZk3r/BKWiWsgf6Gs6X6mixDkJ+n2h3Xxk6gWdqzpb4nzp3Noe
v3pFj9ERdBjFx17RwatZbe6tfkUEXtGLi8ItmxlePcfX5sqU5tXTBqAXSljS
uh4vvLjGiyNPa1Q8R+LVf2by0dKtyj0hrFNVfqtKU8EsG22FBVt3+3NjIM2x
rIxYF8fyX85kA2nhhFrPLT5tVvTh30Koxi1NDUsPoYKU86YsfQSw2vI8iMNf
wlaK/nWFqY7lxC11rZuVfG+aKudDfkp7V7D233c2KMxOHk5XCE28Uz1+G99Y
/8X3CzocZWYlRGXqFduDgmP6/uTdwcHBsUD0VfPuGzEcDqWaWVerzAlxsyys
RGg3K105adc6K+aFtlJVUn8hNhBdOiM5Z9xSOanKEtEglfRGpy9Vjg+usFoo
ua4LUxeu+EXneMJJM5eJp2RwkbYjyaxballZkASgtioWNeIF3LTITFXpjOwn
laUTqe4oTGdFWbgNrA5+eg5bV5kmVkGmlovMlqpagJvXe1XkeamFeEE5VZu8
YdJCsHa2WVMq2iDKsKigBgTJZSKFFw6fBl50SjSVPuCMsE19R7oG3qQTSe7J
/tFG6WDjXOpKzUoi0j1Bz1tdgp5UK1MtRFC51HKt3NLK/YeH68DtHSkdXP31
68uRHEcTZPBg6xepgp1qnYvIPm/qyBiC5napPuse7dGbPvWBnDWOCFfGyWaN
uNbCh0SgaOqUZZ4XREeViTsSnp3N4Jxrs9Iy1+vSbCgQLSSCAVdN6Yo19N5y
6/3S2OdiQZD63v7ScJSCY1nMtStWHCipzygUNcgVVVY2eWC7hES50FW+NgUE
Gshal2qDv+vafEGGDNh9a42y48yQ/qJyWKdXFGv9rMr1vKi2cuq3ckkqkeYS
cathIJVpDoXfyq02mmoqG5UV+GptwJteRj2Qd6osqDR5d9jkdeYVop/ju9ok
1hJtCkDR2DLzwmZk5w2/ezG+QbeDB2sL7680OaKwK9jMm5iILg3Fc1Oh31QL
GLPWwjSsEiit2UcuteKIsvbEVOh+xNsLeUqW5SizZHQt0TMlNU2L3vTp+mZv
4P/Ki0v+PJ0g06eTU/p8/WH88WP7QYQnrj9cfvp42n3q3jy5PD+fXJz6l3Eq
e0di73z8054Pir3Lq5uzy4vxxz3o29eC9CQvzyja4DlELBUYZUWubVYXM02W
l38/ufq//z18LR8e/oD0Ozo8fPf1a/jn7eGfX+Of+6WuPDdTlZvwL/y4EWq9
1qomKoguZOu6cKqkcLXSLs19Jak1wZp/+hdZ5t/H8i+zbH34+m/hgBTuHUab
9Q7ZZtsnWy97I+442sGmtWbv/JGl+/KOf+r9H+2eHP7lO1RXLYeHb7/7m6AQ
ugCki4E9abPxE3qXSHLpNpa0/YMv8/nBuzfv8rffZi/RPk84q2ySp7B6Ucfu
0cZtl+mzDZK1ykOi/Q4ulDseFqLgExbFC2lh/vPoNdiIrjDLe4AoLi+rNSoh
MrvRI0CHyBTi7CJpiwWqsxWhP8UaRIUp6UYAMMhjglK+AY8/3kymyPCzHye3
49PT6eT6Ws6JJJVxJmFlDCRW/EkBqFvFlkdM2wZML4jOgL70ZRoWs09rwzzV
jA777SVYR9xMxxfXV5fTm9ur8XR8PoEat5Pp9HIKwSexzneio27q1Sy0Djbp
Dt9SIT0YTm9uuDxdoT3LH0NdJVwxDkHiq+iuYo3KAKWooWYYCRx16krfc6On
jhYxiNgFQWA/S3n+FBwYBOva0ANk0gLEvKPO0lGt2MHDJk6Kwlgv3l2rKEJc
xBBHe5zxX5V91o7BT4pE8h764doV8B5O5jCPSMjaJsu0ziHDVaA2r80KEZmQ
24IGVGEJz5S+rkZIm1MewjSSbDOACzO9dqibRanTVviErGl9nmk0baRXky1b
LXOT+jB60EMBHe3OlV9tw8ur8c2H2xOqn5OLHyYeudU1BQmrG9FBC9wMTReU
MpVHxOF4pkmBoIvOR0lcvB0djY56sQE4gCmq1raX+iYmrPZCIbmvLi+uJ9J4
Vuz3e2ogsnAxJ/l50VfCQ0XEwrKYFc6m9YR10jSSZG11CsJwn5djgVmFYcEj
IVp+XBM2vSgMivi8qciv8M62XPKe2iCJsd+3zjePgfRNZxYE6JKwmjUc5XDI
I6KwWxSjkwL5RprHvMihX0C7JxQLPzeQotwMfmcIDroRqa1QBLpUDUDvE8Va
mh6BwDC2EkjKOLj6+Yg5t9R4ZqYz1Vj2IlmktSw5R0CAZ1IMyVgb4haBfKDc
FrLWFFBfWNPUmU4nhBWNGb2xQZfFooWlKbp80dvS9NYzqK1RrsZD1qcbUx9W
k1MwLmOscBFFi50omiuUb+4BiG94COCn4kzXYKSqHHt8JCcqWwrPMkD1kF6O
zKHxB7OeXfpaxBFc67vCNLakj2xUzBzPNViKSs+AtSbicxPnUD/lD5KT0Ahb
zJyCTNElwOERI4ou/oFzfv31152SsPXlg5DyZgOYvl+8lH+VB18O82/fvv5W
Hw3wxTUHN7x+0XADxTN0PMHIvQGEbyj7/FF0qf9qfzR6KUej0UB8ZfasbfoW
ynjJ07ijiYa1qzwLCN+nxY9aj791NN+4evQUPEJ4I8Knt0MUq/YR1o9iYIkM
MVVo/4nBhTe4DdY6+TSdTi4IXdx8CPQfEh29ud56c6EFQUlxdvXj69989JAs
dRUj8EPRme/s6u51+9L+N0fd4RXBoP3DNy8jmze/yeboOTZvOjaHR2+70x6f
1md9Kt5rtOvxW6Q7VRc0wg5LXS24UDq9IDR4CQCLDAIuzaOx+0bVpMJAwvq6
9pCMPJxzpZNLVGmdpKrfrriatlnsYCJnKXg9mCPnSdU9z9tUCpi2d8QCo7+s
Q0WoTLJjGIlJIG9SwT0O7YYwm4UO0LcKhlTSuXcogk5++aExNOM1xkhp3fHt
PzwaGjPr9bzd/id5xQBo28L5VzxkairmQbihv0OyNCaIlok3HsTQPO4z6VCY
tnl6r1O/xRBWUlGEIfm/RWrgtjt42dOiym7MCA5F8wd7AR+g1LXdkbY/iEUS
3tdHdkMoFZglVIZmy1m8Q0rikT7vvXl21cOqPG64htZRyomVsfAhRYGcUvNc
+21MbDjU3lDZywhMrE4xDuRtuyXHgYiBqloslLNOba3jnvy5ovm9l74s9gwc
GXkS4sWkkwB5XdeGyyNdDsj3NPfcTi5OLk/PLn5opx8uQ6QjF4ooy0wjRR7Z
iyPzcaa1SDQ4TvhumOygwsyPHocBtdz00NLW5qnd/6JrixbOdvAjZh2PC33x
KJBngCNI5J3LMHE+/qlj7repvpOnUnjw2u0pUokogjyGEo8wVAeYYNGrNEx9
guH7whokSzdQkTSN3yCsiHiOUQUp7AtQZxRnWjMMwpfdkMQKrHXN5QyhSwNx
Cfn8cqj3dGdEGvnB+JEowJO1XgBR9rMMkaCsR92lyVSJTCiLjJK+LRQchQ3v
mUtVo5hvYQCCdpxV8VqMkJffIXdSCKaDckNx9yyi8/vfx0wKn1ILzoVahLhU
LnZuTlrCuoS8O8T13ErjhoYdyoOBn8xJFZZAObNC4ym5OAesB3amzJOCRkqi
TmIS8JWNX/Xh0A0zfusZ+sG46qrhqnAuYHKPdRL2rKooTbXQdTouzDaPVhS7
8tA6s24HA0MImucOUZlq2C++1prMD6kRI0Xp2K4shdySgkLjKZOGZMg+DwH7
syJMPKH+cq+baT+heexG+8ySOjxVM4SLivNGQH4W/xIyfvGiLYzXfHkSN0dT
CrtwSeD7VLuQJmuFZIuRHBfZvhT5axjby8V0lLC0s+a2y91s9+La+3Rrp8Ct
ER0298UIH0TbFAqMJxRXneRdFHhXJl06OLUsEC/eYuno5rzIrfzsNseYFvSt
v92bwReaMAdPujMdWZd6IMgOgYXP19C5HS+diVYJqFMF0kmE9IKjsURt1K3E
OkvQLR1ei7cvqD134DJEORmg5xVI8SHXHW6IDH4E66rzobd4Uur79UxnvPyl
Aolg16lwKsuQcYxDKI2SspbQoJDsjdZt61A+P0KLDDM+509MqxDshizkc5Aa
O2ZAKoULgk4ZreKQ9KGMF3TZm/nPR4ejb0ffsOn5I1/EPTy08xnhy3ITr0Ri
rz87leeqUgvGGELQNCrjBVZ0YXK9BGNkvIXu4MJtkd/GOOqup2iO5wsu2g81
xBlkTbNYphvDs1PLRZ4WiaGxxkVyK4MPL/YFYZRQaqBIuAumTGdIL2fwc7cy
iXu0fsCjvjW13tpXU2TTRmQ+R3mhg25EbC9S2bJN1dj+5S50GMR75kDtvoA+
M4LHfOvWhpJXkYoiKoDfmGxT622RKCJnDe0l/TBZox1B/IvJP29PLi8uJid0
d3F7dhqbRCy4Tzcn+bH4rO8LyhO3VeO9dURrnSAFWWe381rV0u3lC//jE5Us
0onYOV/MUgZMeqtwmu/C7We3I/fLFn+t239Zb73Mi5FkeyG6zSRB4boAMtPe
cO2vGnwJSzeMHIbdRqdTBgnWMK456eUed49pSM/3IT3HzqHRhHtFHn0eJSxX
5G6JQonaW6L4JOXrNlog3+uy9H3q9NRcyyFig69W+DJU1znBqZWinmga205g
psHsfK8KuodxRdmV7oAeAuBKgjzs/H3hjjVHdXu1sFRGWHtUhM+umyH5fpzX
1HcF9Fq1yTsSZ/PEyPzLjRYYP6bgryKhzoZv30uj8rZ4U8CKCjiTfAP7oNch
vPwty2OW7W0bUUJZKha+/yC+ECg1NDQrkMjpaj7OlP0F4tn4YrzL2xxs7c+v
5FW8Rnp8dw9AXFhHeIBX7Tvu7nbdRYW1E/8yS+zgYvcCYZqgk7Vg7zLnyG+l
u3s+X06SfZ/fcXk06cXU+bEQP9KIfiyOZXqriJmkFe+CfmGE73eoI8S1U66x
9PVVbTCy8E84cOzvUTwQo297doKn/I8tTihLIaGu6Zmzyc17uY+avmh/ePZS
0P4bqeXogf4vqeT+9i+jXnbu8qtHGnvt8256em5IHZPS2xO/yx/9LenT/hBP
+SOuSYXomLfu2CH2f6M76IdUNGTzfj6jnUSp8wXXd/Fw7AuRzv+6N1el1Xtf
4arL00tC/OFJRuvyH1SXOB13vjMEat5wK7KxZu8qv8lvsPJNpeJEltF4WCW/
eZIR+H0n/h8HdX3kCioAAA==

-->

</rfc>
