<?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.6.14 (Ruby 2.7.0) -->
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-dhody-pce-pcep-object-order-02" category="std" consensus="true" updates="5440" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.13.0 -->
  <front>
    <title>Updated Rules for PCEP Object Ordering</title>
    <seriesInfo name="Internet-Draft" value="draft-dhody-pce-pcep-object-order-02"/>
    <author initials="D." surname="Dhody" fullname="Dhruv Dhody">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <street>Divyashree Techno Park, Whitefield</street>
          <city>Bangalore</city>
          <code>560066</code>
          <country>IN</country>
        </postal>
        <email>dhruv.ietf@gmail.com</email>
      </address>
    </author>
    <date/>
    <workgroup>PCE Working Group</workgroup>
    <abstract>
      <t>The Path Computation Element (PCE) Communication Protocol (PCEP) defines the mechanisms for the communication between a Path Computation Client (PCC) and a PCE, or among PCEs. Such interactions include path computation requests and path computation replies defined in RFC 5440. As per RFC 5440, these message are required to follow strict object ordering.</t>
      <t>This document updates RFC 5440 by relaxing the strict object ordering requirement in the PCEP messages.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t><xref target="RFC5440"/> describes the Path Computation Element (PCE) Communication Protocol (PCEP).  PCEP defines the communication between a Path Computation Client (PCC) and a PCE, or between PCEs, enabling computation of Multiprotocol Label Switching (MPLS) for Traffic Engineering Label Switched Path (TE LSP) characteristics.</t>
      <t><xref target="RFC5440"/> defines several PCEP messages. For each PCEP message type, rules are defined that specify the set of objects that the message can carry using <xref target="RFC5511"/>. Further, <xref target="RFC5440"/> states that the object ordering is mandatory. This causes confusion when multiple extensions add new objects in the PCEP messages and the respective order of these new objects is not specified (see <xref target="EID6627"/>).</t>
      <t>This document updates <xref target="RFC5440"/> to relax the strict object ordering requirement.</t>
    </section>
    <section anchor="conventions">
      <name>Conventions</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" 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>
    </section>
    <section anchor="motivation">
      <name>Motivation</name>
      <t>The mandatory object ordering requirement in <xref target="RFC5440"/> is shown to result in exponential complexity in terms of what each new PCEP extension needs to cope with in terms of reconciling all of the previously-published RFCs, and all concurrently work in progress in the form of the internet-drafts. This requirement does not lend itself for the extensibility of PCEP.</t>
    </section>
    <section anchor="update">
      <name>Update to RFC 5440</name>
      <t><xref section="6" sectionFormat="of" target="RFC5440"/> states:</t>
      <sourcecode type="quote"><![CDATA[
   An implementation MUST form the PCEP
   messages using the object ordering specified in this document.
]]></sourcecode>
      <t>This text is updated to read as follows:</t>
      <sourcecode type="update"><![CDATA[
   An implementation SHOULD form the PCEP
   messages using the object ordering specified in this and 
   subsequent documents when an ordering can be unambiguously 
   determined; an implementation MUST be prepared to receive 
   a PCEP message with objects in any order when possible.
]]></sourcecode>
      <t>This update does not aim to take away the object ordering completely. It is expected that the PCEP speaker will follow the object order as specified unless there are valid reasons to ignore. It is also expected that the receiver is able to unambiguously understand the object meaning irrespective of the order.</t>
    </section>
    <section anchor="compatibility">
      <name>Compatibility Considerations</name>
      <t>While one of the main objectives of the changes made by this document is to enable backward compatibility between PCEP extensions, there remains an issue of compatibility between existing implementations of <xref target="RFC5440"/> and implementations that are consistent with this document.</t>
      <t>It should be noted that common behavior for checking object ordering in received PCEP messages is as described by the updated text presented in <xref target="update"/>.  Thus, many implementations, will still have implemented a consistent and future-proof approach.  However, for completeness, it is worth noting how behaviors might interact between implementations.</t>
      <t>The messages generated by an implementation of this document when received by a legacy implementation with a strict interpretation of object ordering MAY lead to error handling. It is interesting to note that the <xref target="RFC5440"/> does not define an Error-Type and Error-value corresponding to this error condition.</t>
    </section>
    <section anchor="open-questions">
      <name>Open Questions</name>
      <ul spacing="normal">
        <li>Should a new flag or a TLV in Open Message be added to exchange this capability? Not sure if this is strictly needed if we can live with <xref target="compatibility"/>.</li>
      </ul>
    </section>
    <section anchor="management-considerations">
      <name>Management Considerations</name>
      <t>Implementations receiving set objects that they consider out of order MAY log this.  That could be helpful for diagnosing backward compatibility issues.</t>
    </section>
    <section anchor="other-efforts">
      <name>Other Efforts</name>
      <t>In the past there have been effort to consolidate and update the RBNF such as in <xref target="I-D.cmfg-pce-pcep-grammar"/>. This document document relaxes the object ordering only, it does not take on the various other issues or the need to consolidate the RBNF for all PCEP extensions. There have been proposal to consolidate the RBNF for the PCEP message in a single place in GitHub and use modern data modeling tools to represent PCEP extensions. They might be taken up in parallel.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document does not raise any security issues.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document does not require any IANA actions.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner">
              <organization/>
            </author>
            <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="RFC5440" target="https://www.rfc-editor.org/info/rfc5440">
          <front>
            <title>Path Computation Element (PCE) Communication Protocol (PCEP)</title>
            <author fullname="JP. Vasseur" initials="JP." role="editor" surname="Vasseur">
              <organization/>
            </author>
            <author fullname="JL. Le Roux" initials="JL." role="editor" surname="Le Roux">
              <organization/>
            </author>
            <date month="March" year="2009"/>
            <abstract>
              <t>This document specifies the Path Computation Element (PCE) Communication Protocol (PCEP) for communications between a Path Computation Client (PCC) and a PCE, or between two PCEs.  Such interactions include path computation requests and path computation replies as well as notifications of specific states related to the use of a PCE in the context of Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS) Traffic Engineering.  PCEP is designed to be flexible and extensible so as to easily allow for the addition of further messages and objects, should further requirements be expressed in the future.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5440"/>
          <seriesInfo name="DOI" value="10.17487/RFC5440"/>
        </reference>
        <reference anchor="RFC5511" target="https://www.rfc-editor.org/info/rfc5511">
          <front>
            <title>Routing Backus-Naur Form (RBNF): A Syntax Used to Form Encoding Rules in Various Routing Protocol Specifications</title>
            <author fullname="A. Farrel" initials="A." surname="Farrel">
              <organization/>
            </author>
            <date month="April" year="2009"/>
            <abstract>
              <t>Several protocols have been specified in the Routing Area of the IETF using a common variant of the Backus-Naur Form (BNF) of representing message syntax.  However, there is no formal definition of this version of BNF.</t>
              <t>There is value in using the same variant of BNF for the set of protocols that are commonly used together.  This reduces confusion and simplifies implementation.</t>
              <t>Updating existing documents to use some other variant of BNF that is already formally documented would be a substantial piece of work.</t>
              <t>This document provides a formal definition of the variant of BNF that has been used (that we call Routing BNF) and makes it available for use by new protocols.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5511"/>
          <seriesInfo name="DOI" value="10.17487/RFC5511"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba">
              <organization/>
            </author>
            <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>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC5455" target="https://www.rfc-editor.org/info/rfc5455">
          <front>
            <title>Diffserv-Aware Class-Type Object for the Path Computation Element Communication Protocol</title>
            <author fullname="S. Sivabalan" initials="S." role="editor" surname="Sivabalan">
              <organization/>
            </author>
            <author fullname="J. Parker" initials="J." surname="Parker">
              <organization/>
            </author>
            <author fullname="S. Boutros" initials="S." surname="Boutros">
              <organization/>
            </author>
            <author fullname="K. Kumaki" initials="K." surname="Kumaki">
              <organization/>
            </author>
            <date month="March" year="2009"/>
            <abstract>
              <t>This document specifies a CLASSTYPE object to support Diffserv-Aware Traffic Engineering (DS-TE) where path computation is performed with the aid of a Path Computation Element (PCE).  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5455"/>
          <seriesInfo name="DOI" value="10.17487/RFC5455"/>
        </reference>
        <reference anchor="RFC8231" target="https://www.rfc-editor.org/info/rfc8231">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for Stateful PCE</title>
            <author fullname="E. Crabbe" initials="E." surname="Crabbe">
              <organization/>
            </author>
            <author fullname="I. Minei" initials="I." surname="Minei">
              <organization/>
            </author>
            <author fullname="J. Medved" initials="J." surname="Medved">
              <organization/>
            </author>
            <author fullname="R. Varga" initials="R." surname="Varga">
              <organization/>
            </author>
            <date month="September" year="2017"/>
            <abstract>
              <t>The Path Computation Element Communication Protocol (PCEP) provides mechanisms for Path Computation Elements (PCEs) to perform path computations in response to Path Computation Client (PCC) requests.</t>
              <t>Although PCEP explicitly makes no assumptions regarding the information available to the PCE, it also makes no provisions for PCE control of timing and sequence of path computations within and across PCEP sessions.  This document describes a set of extensions to PCEP to enable stateful control of MPLS-TE and GMPLS Label Switched Paths (LSPs) via PCEP.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8231"/>
          <seriesInfo name="DOI" value="10.17487/RFC8231"/>
        </reference>
        <reference anchor="I-D.cmfg-pce-pcep-grammar" target="https://www.ietf.org/archive/id/draft-cmfg-pce-pcep-grammar-02.txt">
          <front>
            <title>Current issues with existing RBNF notation for PCEP messages and extensions</title>
            <author fullname="Ramon Casellas">
	 </author>
            <author fullname="Cyril Margaria">
	 </author>
            <author fullname="Adrian Farrel">
	 </author>
            <author fullname="Oscar Gonzalez de Dios">
	 </author>
            <author fullname="Dhruv Dhody">
	 </author>
            <author fullname="Xian Zhang">
	 </author>
            <date day="10" month="January" year="2014"/>
            <abstract>
              <t>   The PCEP protocol has been defined in [RFC5440] and later extended in
   several RFCs.  This document aims at documenting inconsistencies when
   implementing a set of extensions and at providing a reference,
   complete and formal RBNF grammar for PCEP messages, including object
   ordering and precedence rules.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-cmfg-pce-pcep-grammar-02"/>
        </reference>
        <reference anchor="EID6627" target="https://www.rfc-editor.org/errata/eid6627">
          <front>
            <title>Errata ID: 6627</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
      </references>
    </references>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thanks to John Scudder for the motivation behind this document. Thanks to Oscar Gonzalez de Dios and Cyril Margaria for raising errata on this topic. Thanks to the author of <xref target="I-D.cmfg-pce-pcep-grammar"/> for highlighting the issue.</t>
    </section>
    <section anchor="examples">
      <name>Examples</name>
      <t>As described in <xref target="EID6627"/>, for the PCReq message, the CLASSTYPE object is encoded after the END-POINTS object in <xref target="RFC5455"/>. Where as in <xref target="RFC8231"/>, the LSP object is encoded just after the END-POINTS object. So it is not known which of the below order is expected.</t>
      <sourcecode type="RBNF"><![CDATA[
...<END-POINTS>[<LSP>][<CLASSTYPE>]... 

or 

...<END-POINTS>[<CLASSTYPE>][<LSP>]...
]]></sourcecode>
      <t>This update require the receiver to be able to except both of these.</t>
    </section>
    <section anchor="when-order-matters">
      <name>When Order Matters</name>
      <t>There are cases where the ordering between objects is important. For instance PCRpt message <xref target="RFC8231"/> includes &lt;path&gt; with some attributes say BANDWIDTH can be part of both &lt;actual-attribute-list&gt; and &lt;intended-attribute-list&gt;.</t>
      <sourcecode type="RBNF"><![CDATA[
    Where:
      <path>::= <intended-path>
                [<actual-attribute-list><actual-path>]
                <intended-attribute-list>
]]></sourcecode>
      <t>An important factor to distinguish between the actual and intended attribute list is the presence of RRO (i.e. &lt;actual-path&gt;) and the order of objects in the PCRpt message.</t>
      <t>If the RRO is present, any attributes encoded before it, are to be considered as part of &lt;actual-attribute-list&gt; and those after it, as part of &lt;intended-attribute-list&gt;.</t>
      <t>If the RRO is absent, all attributes are part of &lt;intended-attribute-list&gt;.</t>
      <t>Thus the approach taken by this document is to say that ordering is relaxed in cases where there is no ambiguity.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA61Yf2/bOBL9X5+ClwKL5mC7P67p3rq53qWxd5tDfm2cXrEo
igMt0TY3kqiSVFxvkP0s91nuk92bISXLjttd4LZAW0sih8OZN28e2e/3k8Rr
n6uheFdl0qtMXNW5cmJmrLg8Hl+Ki+nPKvXiwmbK6nKePBJyOrXqdigMf+kb
+pJkJi1lATOZlTPfzxYmW/WrVNHfqt8d2n/6PKGVhuJudHQ9vk9SPMyNXQ2F
81miKzsU3tbOP3/69DuMrdkvNxQHL148peWtkkNxZWpP7iyNvZlbU1dDcle8
xyNeix/oVZI4L8vs3zI3JZZbKZdUeig+eJP2hDPWWzVz+LUqwg/soZBVhfkf
k0TWfmHsMEn6iRC6xPqjgRjRtvActjpa2Pq2fWfsfCje1nKptLhW6aI0uZlr
rCmwL6uUxwR9u5JugYc4QlxKe9MT7xfaq5lWeYbBqfYIxRtZzuG3VfTGZFht
7+Dl06cvX+7xi7r0FLCTczypQuocgSdvBlr52T/m9GaQmgJfk9LYQnp9q4aJ
uPr++PmzZ9+FXxTP+Ovg2bPw66/Pvn0xTHQ525x08OLgIA54/hcaetIfDdJi
Nl+neG5lUUgETIxPRi9fPv92KLC68NLOaesL7ys3fPJkuVwO7Cztq0x7YwcI
2hNlrfTyidIZTeNJAZF7Y/4iTkZDQZ+w9aTf7wOACKhMfZJcLxRC6Bfi2BRV
7eGxKcU4V4UqvXgMQOzTl6IudRq+XVqD7JucP17uiwxhLwF3D0MFUiJL7YqA
fnqVbkyeKr9UqhTy4ZrHuY5LHu8LYI7GHI97AIWQhQEg8eQGYlKnC4DJK3If
8xwe0rzOlKjIYtqxaNWnWjnv2NqOrxVWdNH/DGYoOVwiA3HkRKVs+6JHW3G0
P+fkXFEBsXVtMdEbbDbPzZJAqlHooVSFifU+oCBrR7VRc1RjObbWxXQFa7n8
TGVHMdttp1mRbcBbGsn8Er1CcBJObqGzLFcJCv0EGDdZzYFKkru7CNn7e+za
pVZPY97+HwAMRPCii4M/IunNLEp7T6hSTnMKQjeFZibO6tyD76JHp3KqcjFZ
ap8uaPDjs8vTyT5j8RqkOtOpGJdzuBkC2h2ORLJ3j6/H4nQCXAPJBDGMdF6n
brAdv7Bbp26BxHw7Ed9jRSWB1O574VeV6gnL3YEg1EDPL6QXrlKpnq0CAJSn
zQUAuPA91FcwlMoSf61didrRRoJnoKD7e6xdW4y1PdH1FzTuVcfSNraAzwLx
l2CU1UAwXlNZO0xJTTnDKgj3coF0FBzwXAn12avScQXKLBOlWrb+7gInZ5fe
WkU7JWIMq9NGQ3VtmHCiNE1QNGL02IHy7+4iM97f7xPad9dVd98oTi6t31lX
ZPQREFre4oH2FgjyRq0E2mTmxN7Zu8n1Xi/8L84v+PfV+Md3J1fjEf2evD06
PW1/JHHE5O3Fu9PR+td65vHF2dn4fBQm463YeJXsnR39hC8UvL2Ly+uTi/Oj
070Q4O7WCU3Y6lQFaqysIh0iXdLUOfPbm+PL//7n2QsE6E+xjSFC4YG6Fh4o
xWE1U+ar+IjQrRJ0dSUtWZF5DmxU2sschSlRAwuzLAUgp1AkCN+ZQXZl4ByK
Xgus32K0buJ0Y5cz6IA6GqE+VxAiSA1KjpggV5/R6zkeyqLrAEtLgjjXHuGJ
MdhCFa8UkgiTqamUQOEvNuZaBbSnmomGthmgKRDOW21ql0OP1aAhR2wBV10I
FQcE82pr4VrOULkhu+ClOXxvC4IkQWOT81Qq6DxSey7WXDcgmVGhCHKFRbR3
Kp+1bTVuaQpfsX/YpI0G9AYVSptsG8zdo1Ab90RiE8X9QLykadsMAbX266+/
ik+18aSbxFEpNIWZPAqky8DnnTQ1TuPaMg+EtIti1rW8Dd8BrRmK2WNjlPs6
SmnOviQoxyYLFRlcDCN2+xiL7I/xklJMk109daQoODXBcRc4EWzczidqRhnW
0LdTPa8ZNTw9UwQz4vtXNGFXVKcMtUraZuOpIpqk2XKzkzByO3Qry1VkU3ao
Mg7YyFUIbIhsiNcaVVIXtIiXN9AzS7naGY1QY17laAonnBhUIEY0TauleYQN
hrC8RjFEObRtkLmiDW9d5lQa1KqCoLqVuc4o2456ClzTcwhv1SwMtjE7Vo9B
sjwEW6aJm8GvS6zNx5iuR4WCUKXGZ7sNKdQmewtdE3pBAenYFBo6g9P4KIP0
vHuUdj+jvHAOgQ/gqMYWzhFlXBMruOY16WQCYiGhXKerLTrXvH/WPPgq05ul
tJnYWKurjzoM53oxopbONNSbATXnavZntwFQqPMcig1IsqtdRqYAbg/hNFDy
UgqM8+Q8Y3OzvhFJJBF8XucZoRz4a3JIUpE14kKCYy0THNRYymfQByqlbPKd
bakLyr4T6243DXhuaYRoBbXl4E0o7bu7SIlQTODeGoErqIq2dtgLiEaA8C9c
VOsB1GC7+6b4zGpfWxznrEHw0DKtQSPCAm/NkoRiL2wvFhX0I+xrTjdaBqKG
uNA20ffagAAier7w7ZGnTduWo4PYa5uAzGHe8t4Riod8wzDsQo55ow0uzUHf
mct0OyIhvbLRUq3caM1u5wwCBpYkMxrOqdg/oJ9Ri20qm22ogEEMInCs63tD
dDfcFYQzbWtMFvvXENYc//AIJqkJklzapsyiYd5wcCGlt+RxaJkXFTb/Ix0W
g+b7s5gErEoWEbNczvkcKq5P/0Xg4fFnkYuBZwjgQNnqcyjssBZUkgzF9ndx
TmoW2BA6Rp4EDscQFEWyhGAJ9RLEfU5sxJG+u9ukmPvIS2eyxOKcuk1SQqlt
FWnIKjc35R8cKlYBw6zE63DsYLLmvJk5O8slwsUaC3ih8mpW5wznTEsQNTfU
L1AVExAhFJEmdhLjGSZ6cjUIo0o6H3mLa2zKvMSDglgrnUFzoP5FWY6tjGZe
vTn/HnGF2pMulPUX71UodJsHhvYHHxHi2XUbvySEuUpb9HHLNMHzW2lJGQrD
+wobFVGjUVa33W99psiRcNyib3JxMwzgELRz6N2vWdo+brEmEJQTNJAqlym/
+UH7t/U0hJBuMwy2WIqMLojodx7qxOQuqI/IlztdXEVaAhYoHCVywooXZ+Y8
V3kEKaRmbR/2ze2DWxtZK7VTLGZcM7ODnZOj86PfbSkIabbF8+Jt0SBckRBQ
yeRRelOaZa6yOcs5MifLG97/P80CQjKtMyqGJsZFe7QhgtYsKTYa3Xr+hcMJ
Xfxgyl9krn4BZYmRNkFNHq+szlHBdg70SDZOO6fwh5u8gC5WAZVOu1bJiXCv
GtrzV9DOdhfIUk6ZavQuxzOw3vizJKbAro+6rZOrqD1n9zr4ulKfGoCxzBDH
p0eTyfVPl+OmaohgS7psBXXOwOo8CmfZ/uXFyfn1pB3WnvUODqgs3wcR6NoP
dEdKa9P008nlDvM/16CMr6wxEBMTeyvhgdJMNxgaTBEl2FSRSA1k1xG2g3i+
oNpKBoPB4dr06w+HcOb1xw+H7cZff8QQzECMkoejO8PiVAx5qMkbsG7o2XCc
byQtGouqUG7GL9oLk5DF99S4LwJlS494hDuLKKpTSXc4S35upS1TdZQRnQsX
NHoQriQY0/0V1CMeUk585Vtm6eSnuXp14pvcv6Ib1m/m/lXoW84U8MCjw01r
upRxOGG8OTofvT8ZXb9tTkmgC+44vC2ygSqtZd5v5/Vx2PZslOqGRpBYgKDP
dozZyBzOTAFWQ/4pxCH593o4/Js4bG3wq/h9/efD4U43XjevedbHB9MOv+Da
a3YKRVauIyxmsGU4yVlQ37V2izYpXOW8WFDd0fA6noIM8zEhXE+Ap1OW+FdX
F+KxHgAbnXA2mdlvL+Ham7cHV3adVIMrT0KpkFUsFhtCj1m1k9umJqcKXAGK
oRHthVSjLvg+qs34bycbHEe9gCucLW5O/g0cbDoup9FvNNyO3+Tk77VJRVWH
eDe6Pna+L5zeHB+p5eYdaxAazLFblUlxI6oS4eiK1jfYBphI/gclXoo2bRwA
AA==

-->

</rfc>
