<?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.34 (Ruby 3.4.1) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-mls-ratchet-tree-options-00" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.32.0 -->
  <front>
    <title abbrev="Ratchet tree options in MLS">Ways to convey the Ratchet Tree in Messaging Layer Security</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-mls-ratchet-tree-options-00"/>
    <author initials="R." surname="Mahy" fullname="Rohan Mahy">
      <organization>Rohan Mahy Consulting Services</organization>
      <address>
        <email>rohan.ietf@gmail.com</email>
      </address>
    </author>
    <date year="2026" month="March" day="20"/>
    <area>Security</area>
    <workgroup>Messaging Layer Security</workgroup>
    <keyword>ratchet_tree</keyword>
    <keyword>GroupInfo</keyword>
    <keyword>PartialGroupInfo</keyword>
    <abstract>
      <?line 37?>

<t>The Messaging Layer Security (MLS) protocol needs to share its
<tt>ratchet_tree</tt> object to welcome new clients into a group and in
external joins. While the protocol only defines a mechanism for sharing
the entire tree, most implementations use various optimizations to avoid
sending this structure repeatedly in large groups. This document describes
a way to convey these improvements in a standardized way and to
convey the parts of a GroupInfo object that are not visible to an
intermediary server.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://messaginglayersecurity.rocks/mls-ratchet-tree-options/draft-ietf-mls-ratchet-tree-options.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-mls-ratchet-tree-options/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Messaging Layer Security Working Group mailing list (<eref target="mailto:mls@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/mls/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/mls/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/mlswg/mls-ratchet-tree-options"/>.</t>
    </note>
  </front>
  <middle>
    <?line 48?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>In the Messaging Layer Security (MLS) protocol <xref target="RFC9420"/>, the members of
a group are organized into a ratchet tree, the full representation of which
is described in the <tt>ratchet_tree</tt> extension. The protocol specifies that
the full <tt>ratchet_tree</tt> can be included in Welcome messages or shared
externally, but describes no concrete way to convey it externally.
Likewise, when non-member clients want to join a group, they can do so using
an external commit. They require the GroupInfo and the <tt>ratchet_tree</tt>.</t>
      <t>Many MLS implementations allow external commits to get the GroupInfo from a
central server. In the MIMI architecture <xref target="I-D.ietf-mimi-arch"/>, this server
is called the hub, and for brevity we will use that term generically to refer
to any central server that provides either GroupInfo or <tt>ratchet_tree</tt>
objects to new members (i.e. welcomed clients or externally joining clients).</t>
      <t>When all handshake messages (commits and proposals) are sent as
<tt>PublicMessage</tt>s (or <tt>SemiPrivateMessage</tt>s
<xref target="I-D.mahy-mls-semiprivatemessage"/>),
the hub can construct its own version of the <tt>ratchet_tree</tt> and most of the
GroupInfo object as proposals and commits arrive.</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?>

<t>This document assumes familiarity with terms and structs from the MLS specification (<xref target="RFC9420"/>).</t>
    </section>
    <section anchor="conveying-the-ratchet-tree">
      <name>Conveying the Ratchet Tree</name>
      <t>The ratchet tree can be conveyed inline in its entirety. Alternatively,
this document describes how it can be referred to via an HTTPS URI, or
signaled that it is communicated out-of-band or reconstructed by the distribution service.</t>
      <sourcecode type="tls"><![CDATA[
enum {
  reserved(0),
  full(1),
  httpsUri(2),
  outOfBand(3),
  distributionService(4),
  (255)
} RatchetTreeRepresentation;

struct {
  RatchetTreeRepresentation representation;
  select (representation) {
    case full:
      Node ratchet_tree<V>;
    case httpsUrl:
      /* an HTTPS URL */
      opaque ratchet_tree_url<V>;
    case outOfBand:
      struct {};
    case distributionService:
      struct {};
  };
} RatchetTreeOption;
]]></sourcecode>
      <ul spacing="normal">
        <li>
          <t><tt>full</tt> indicates that the complete <tt>ratchet_tree</tt> extension is included in
the RatchetTreeOption object.</t>
        </li>
        <li>
          <t><tt>httpsUri</tt> indicates that the <tt>ratchet_tree</tt> can be downloaded from a
URI using the <tt>https:</tt> scheme.</t>
        </li>
        <li>
          <t><tt>outOfBand</tt> indicates that the <tt>ratchet_tree</tt> is communicated or
reconstructed via an unspecified out-of-band application protocol.</t>
        </li>
        <li>
          <t><tt>distributionService</tt> indicates that the <tt>ratchet_tree</tt> is reconstructed
by the Distribution Service (DS) from the handshake in the group. This is not
possible if any handshake messages are sent as an MLS <tt>PrivateMessage</tt>.</t>
        </li>
      </ul>
      <section anchor="conveying-the-ratchet-tree-using-https">
        <name>Conveying the ratchet tree using HTTPS</name>
        <t>This document defines a new MLS GroupContext extension <tt>ratchet_tree_source_domains</tt>.
When present, it contains a list of at least one domain name.</t>
        <sourcecode type="tls"><![CDATA[
struct {
    opaque domain<V>;
} Domain;

struct {
    Domain domains<V>
} DomainList;

DomainList ratchet_tree_source_domains;
]]></sourcecode>
        <t>When this extension is included in the GroupContext of a group, the URL where the <tt>ratchet_tree</tt> is fetched <bcp14>MUST</bcp14> come from one of the domains in the <tt>ratchet_tree_source_domains.domains</tt> list.</t>
      </section>
    </section>
    <section anchor="conveying-the-groupinfo">
      <name>Conveying the GroupInfo</name>
      <t>In some systems the GroupInfo is sent to a hub with a full <tt>ratchet_tree</tt>
extension always included with every commit. This is used in systems where
the hub may or may not track the membership of the group, but does not keep
the entire <tt>ratchet_tree</tt> data structure. As group size increases, the size
of the <tt>ratchet_tree</tt> extension in the GroupInfo scales roughly linearly.
Even using <tt>basic</tt> credentials, this object gets large quickly. If <tt>x509</tt>
credentials are used, the size increases much more rapidly, and if a
post-quantum ciphersuite (for example <xref target="I-D.ietf-mls-pq-ciphersuites"/>) is
used, the size will increase even more rapidly with each new member.</t>
      <t>In some systems that require unencrypted handshake messages, the hub tracks
commits as they are sent and constructs changes to the <tt>ratchet_tree</tt> as
each handshake is accepted. The hub could also recreate most of the fields
of a GroupInfo, with the exception of the GroupInfo signature and the
GroupInfo extensions, by inspecting those same unencrypted handshake
messages . This document defines a <tt>PartialGroupInfo</tt> struct that contains
these missing fields. <tt>PartialGroupInfo</tt> can be included with a commit and
any referenced proposals to reconstruct a GroupInfo and <tt>ratchet_tree</tt> from
the GroupInfo and <tt>ratchet_tree</tt> included in the previous epoch.</t>
      <sourcecode type="tls"><![CDATA[
enum {
  no_ratchet_tree(0),
  present(1),
  removed(2),
  added(3),
  (255)
} RatchetTreePresence;

struct {
  RatchetTreePresence ratchet_tree_presence;
  /* GroupInfo extensions excluding ratchet_tree */
  Extension group_info_extensions<V>;
  opaque signature<V>;
} PartialGroupInfo;
]]></sourcecode>
      <t>The value of <tt>ratchet_tree_presence</tt> is defined as follows:</t>
      <ul spacing="normal">
        <li>
          <t><tt>no_ratchet_tree</tt>: the <tt>ratchet_tree</tt> extension appears in neither the
current nor previous epochs.</t>
        </li>
        <li>
          <t><tt>present</tt>: there is a <tt>ratchet_tree</tt> extension in both the current and
previous epochs.</t>
        </li>
        <li>
          <t><tt>removed</tt>: there was a <tt>ratchet_tree</tt> extension in the previous epoch
but none in the current epoch.</t>
        </li>
        <li>
          <t><tt>added</tt>: there is a <tt>ratchet_tree</tt> extension in the current epoch
but there was none in the previous epoch.</t>
        </li>
      </ul>
      <t>The <tt>group_info_extensions</tt> object is the list of GroupInfo
extensions, omitting any <tt>ratchet_tree</tt> extension (if present). The only
other GroupInfo extension defined in the base protocol is <tt>external_pub</tt>,
the public key of the external commiter. The <tt>group_info_extensions</tt> is
often an empty list.</t>
      <t>The <tt>signature</tt> in the PartialGroupInfo is the signature produced by the
committer (represented by its leaf index in the GroupInfo as the <tt>signer</tt>).</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The Security Considerations of the MLS protocol <xref target="RFC9420"/> and the MLS architecture <xref target="RFC9750"/> apply.</t>
      <t>The integrity of the ratchet tree is assured using the MLS <tt>GroupContext.tree_hash</tt> (see <xref section="7.8" sectionFormat="of" target="RFC9420"/>).
The tree hash allows the receiver to verify that the ratchet tree is valid whether it is transmitted in the <tt>ratchet_tree</tt> extension or out-of-band.</t>
      <t>In some systems such as the MIMI protocol <xref target="I-D.ietf-mimi-protocol"/>, the DS receives a GroupInfo with each tentative commit message.
The DS cannot verify the correctness of a GroupInfo because it does not have the <tt>GroupInfo.extensions</tt>.
This is no different with a partial GroupInfo message.
In both partial and full GroupInfo presentation, given a specific <tt>GroupInfo.signature</tt>, the DS can merely verify that the extensions and the signature are consistent with each other and with the GroupContext.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="ratchettreesourcedomains-mls-extension-type">
        <name>ratchet_tree_source_domains MLS Extension Type</name>
        <t>This document registers the <tt>ratchet_tree_source_domains</tt> Extension Type, using the template below:</t>
        <ul spacing="normal">
          <li>
            <t>Value: TBD1 (new assignment by IANA)</t>
          </li>
          <li>
            <t>Name: ratchet_tree_source_domains</t>
          </li>
          <li>
            <t>Messages: GC</t>
          </li>
          <li>
            <t>Recommended: Y</t>
          </li>
          <li>
            <t>Reference: RFC XXXX</t>
          </li>
        </ul>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC9420" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9420.xml">
          <front>
            <title>The Messaging Layer Security (MLS) Protocol</title>
            <author fullname="R. Barnes" initials="R." surname="Barnes"/>
            <author fullname="B. Beurdouche" initials="B." surname="Beurdouche"/>
            <author fullname="R. Robert" initials="R." surname="Robert"/>
            <author fullname="J. Millican" initials="J." surname="Millican"/>
            <author fullname="E. Omara" initials="E." surname="Omara"/>
            <author fullname="K. Cohn-Gordon" initials="K." surname="Cohn-Gordon"/>
            <date month="July" year="2023"/>
            <abstract>
              <t>Messaging applications are increasingly making use of end-to-end security mechanisms to ensure that messages are only accessible to the communicating endpoints, and not to any servers involved in delivering messages. Establishing keys to provide such protections is challenging for group chat settings, in which more than two clients need to agree on a key but may not be online at the same time. In this document, we specify a key establishment protocol that provides efficient asynchronous group key establishment with forward secrecy (FS) and post-compromise security (PCS) for groups in size ranging from two to thousands.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9420"/>
          <seriesInfo name="DOI" value="10.17487/RFC9420"/>
        </reference>
        <reference anchor="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" 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="RFC9750">
          <front>
            <title>The Messaging Layer Security (MLS) Architecture</title>
            <author fullname="B. Beurdouche" initials="B." surname="Beurdouche"/>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="E. Omara" initials="E." surname="Omara"/>
            <author fullname="S. Inguva" initials="S." surname="Inguva"/>
            <author fullname="A. Duric" initials="A." surname="Duric"/>
            <date month="April" year="2025"/>
            <abstract>
              <t>The Messaging Layer Security (MLS) protocol (RFC 9420) provides a group key agreement protocol for messaging applications. MLS is designed to protect against eavesdropping, tampering, and message forgery, and to provide forward secrecy (FS) and post-compromise security (PCS).</t>
              <t>This document describes the architecture for using MLS in a general secure group messaging infrastructure and defines the security goals for MLS. It provides guidance on building a group messaging system and discusses security and privacy trade-offs offered by multiple security mechanisms that are part of the MLS protocol (e.g., frequency of public encryption key rotation). The document also provides guidance for parts of the infrastructure that are not standardized by MLS and are instead left to the application.</t>
              <t>While the recommendations of this document are not mandatory to follow in order to interoperate at the protocol level, they affect the overall security guarantees that are achieved by a messaging application. This is especially true in the case of active adversaries that are able to compromise clients, the Delivery Service (DS), or the Authentication Service (AS).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9750"/>
          <seriesInfo name="DOI" value="10.17487/RFC9750"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.ietf-mimi-arch">
          <front>
            <title>An Architecture for More Instant Messaging Interoperability (MIMI)</title>
            <author fullname="Richard Barnes" initials="R." surname="Barnes">
              <organization>Cisco</organization>
            </author>
            <date day="20" month="October" year="2025"/>
            <abstract>
              <t>   The More Instant Messaging Interoperability (MIMI) working group is
   defining a suite of protocols that allow messaging providers to
   interoperate with one another.  This document lays out an overall
   architecture enumerating the MIMI protocols and how they work
   together to enable an overall messaging experience.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-mimi-arch-02"/>
        </reference>
        <reference anchor="I-D.mahy-mls-semiprivatemessage">
          <front>
            <title>Semi-Private Messages in the Messaging Layer Security (MLS) Protocol</title>
            <author fullname="Rohan Mahy" initials="R." surname="Mahy">
              <organization>Rohan Mahy Consulting Services</organization>
            </author>
            <date day="16" month="October" year="2025"/>
            <abstract>
              <t>   This document defines a SemiPrivateMessage for the Messaging Layer
   Security (MLS) protocol.  It allows members to share otherwise
   private commits and proposals with a designated list of external
   receivers rather than send these handshakes in a PublicMessage.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-mahy-mls-semiprivatemessage-06"/>
        </reference>
        <reference anchor="I-D.ietf-mls-pq-ciphersuites">
          <front>
            <title>ML-KEM and Hybrid Cipher Suites for Messaging Layer Security</title>
            <author fullname="Rohan Mahy" initials="R." surname="Mahy">
         </author>
            <author fullname="Richard Barnes" initials="R." surname="Barnes">
              <organization>Cisco</organization>
            </author>
            <date day="18" month="March" year="2026"/>
            <abstract>
              <t>   This document registers new cipher suites for Messaging Layer
   Security (MLS) based on "post-quantum" algorithms, which are intended
   to be resilient to attack by quantum computers.  These cipher suites
   are constructed using the new Module-Lattice Key Encapsulation
   Mechanism (ML-KEM), optionally in combination with traditional
   elliptic curve KEMs, together with appropriate authenticated
   encryption, hash, and signature algorithms.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-mls-pq-ciphersuites-04"/>
        </reference>
        <reference anchor="I-D.ietf-mimi-protocol">
          <front>
            <title>More Instant Messaging Interoperability (MIMI) using HTTPS and MLS</title>
            <author fullname="Richard Barnes" initials="R." surname="Barnes">
              <organization>Cisco</organization>
            </author>
            <author fullname="Matthew Hodgson" initials="M." surname="Hodgson">
              <organization>The Matrix.org Foundation C.I.C.</organization>
            </author>
            <author fullname="Konrad Kohbrok" initials="K." surname="Kohbrok">
              <organization>Phoenix R&amp;D</organization>
            </author>
            <author fullname="Rohan Mahy" initials="R." surname="Mahy">
              <organization>Rohan Mahy Consulting Services</organization>
            </author>
            <author fullname="Travis Ralston" initials="T." surname="Ralston">
              <organization>The Matrix.org Foundation C.I.C.</organization>
            </author>
            <author fullname="Raphael Robert" initials="R." surname="Robert">
              <organization>Phoenix R&amp;D</organization>
            </author>
            <date day="20" month="October" year="2025"/>
            <abstract>
              <t>   This document specifies the More Instant Messaging Interoperability
   (MIMI) transport protocol, which allows users of different messaging
   providers to interoperate in group chats (rooms), including to send
   and receive messages, share room policy, and add participants to and
   remove participants from rooms.  MIMI describes messages between
   providers, leaving most aspects of the provider-internal client-
   server communication up to the provider.  MIMI integrates the
   Messaging Layer Security (MLS) protocol to provide end-to-end
   security assurances, including authentication of protocol
   participants, confidentiality of messages exchanged within a room,
   and agreement on the state of the room.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-mimi-protocol-05"/>
        </reference>
        <reference anchor="I-D.robert-mimi-delivery-service">
          <front>
            <title>MIMI Delivery Service</title>
            <author fullname="Raphael Robert" initials="R." surname="Robert">
              <organization>Phoenix R&amp;D</organization>
            </author>
            <author fullname="Konrad Kohbrok" initials="K." surname="Kohbrok">
              <organization>Phoenix R&amp;D</organization>
            </author>
            <date day="6" month="November" year="2023"/>
            <abstract>
              <t>   This document describes the MIMI Delivery Service.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-robert-mimi-delivery-service-06"/>
        </reference>
      </references>
    </references>
    <?line 243?>

<section anchor="change-log">
      <name>Change Log</name>
      <section anchor="changes-between-draft-mahy-04-and-draft-ietf-00">
        <name>Changes between draft-mahy-...-04 and draft-ietf-...-00</name>
        <ul spacing="normal">
          <li>
            <t>No changes except for renaming the draft</t>
          </li>
        </ul>
      </section>
      <section anchor="changes-between-03-and-04">
        <name>Changes between -03 and -04</name>
        <ul spacing="normal">
          <li>
            <t>Added Security Considerations</t>
          </li>
          <li>
            <t>Removed unneeded tree_signature</t>
          </li>
        </ul>
      </section>
      <section anchor="changes-between-02-and-03">
        <name>Changes between -02 and -03</name>
        <ul spacing="normal">
          <li>
            <t>No changes except for the publication dates</t>
          </li>
        </ul>
      </section>
      <section anchor="changes-between-01-and-02">
        <name>Changes between -01 and -02</name>
        <ul spacing="normal">
          <li>
            <t>Added ratchet_tree_source_domains extension</t>
          </li>
        </ul>
      </section>
      <section anchor="changes-between-00-and-01">
        <name>Changes between -00 and -01</name>
        <ul spacing="normal">
          <li>
            <t>Removed ratchet tree patch options and notation.</t>
          </li>
          <li>
            <t>Added <tt>ratchet_tree_presence</tt> options for out-of-band, via HTTPS, and
reconstructed by the delivery service.</t>
          </li>
        </ul>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The PartialGroupInfo was first introduced in
<xref target="I-D.robert-mimi-delivery-service"/>.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
Q/od2jVkTHKFe5VUnLxmO8XlrOfxRUW4XFhqbLkps96BbmfTj0ddX3dzasxC
s4h8A1S8QgEGHGeIYX2LOmaBwVp+/8L780eD+9wGJ613JqDKnXsH2zd7r9Wn
Nt/GHbamfJbZrGGN9cEBlziIYfX5V9jaJBzSStk9bssPyLSznUhpPjsYTyJq
mtdyjW6IsnBzjk7k5nvlHSE5BSMd+ghLPRdhBw3BdkGNqCD+nFJO04GGYLO6
8XebV/OZ76vl3KzjBlaIuIP2KjVNP3ZvQ9G8pJZhJnWal5uad/GixmdmtVRD
r6k11ob3nD8FNFV+SGAQpFMS+7eU1sCiF1S86PfbBMSnPC+FLma+SdJ8RqCP
WibWheo08va8rHVDNcHO7w5NM5tmDPrKPOvrJzwLJdkm6IYacUs+K2zeK1MI
ys5V1EJpS0oueLpUe8JhZaXcaiZHTtNp15q/osivJ9/Qxr0WER3Lu9MK3033
GkJK0Yabz5b6qWaxaavAoViIbSYmqso49J0bUI3MsZE++WGEKG2nSt1BdhxR
tWA67tN3ND7o0ddv6g8/59f1VVwvNbY0q/T9lHtdZ9uQ/71ysB65mb9h1Vqg
iQgYUQkusPX1a64jRY1+0+HdK3UfCp1m3qTjMBPRFr0yNgvO8WVNAXLvHZ0j
GvkuQgSup/CHB6pE2rndftGRXBqim6ppG3YFav2yURyRkhTCgJUOIdDJpjXO
O2ys4Caig9c3F2FV+0BFCxp618Mul2YXZy/PtjwRFfxHKjx2gzZz32xyPazk
C70kcQr3yXJxNtjpqONuQGNOn+1hZngKZ+dfKbFP5c2P56dyRJQdTgpN8KEI
SHSbQ0x7yV/XP3Is5oSOhZvKn5/h8UoTIOnPNeKp/I0HAv2bSviw/A/+C1/O
5+D1XNYyY5eXdumbHoHAz3W51rC8/1MB/rgymUzGJ4/ZFp0/IODRE7rWS9vQ
f8/A+ZMWTldprQxet/Oc8clXvDNOoL3OKCXvjbJ0L+YGoOP0LZ86wKyeGk97
jngUjvhqv7htOvM9r5i6WXu2Ow3bPWol/hjiGgfYs91J2O5UdC7YC5w5PTR/
AUSzEStYzkkjwT6yWK9a9EPnETcAuZPFxazY3SPXieHmQ9sf/0KeRXeZXSc6
XvKfAIgPUzB7lJ46/ufBAmWGPnjwSWorWxNHWpiC/q4hfLP3HdYQmguLXUof
nOuTx+Hkh4eJ+D+Bfo9mXyUAAA==

-->

</rfc>
