<?xml version="1.0" encoding="us-ascii"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.17 (Ruby 2.6.10) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

<!ENTITY RFC2119 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC6790 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6790.xml">
<!ENTITY RFC8174 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC8402 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8402.xml">
<!ENTITY RFC8660 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8660.xml">
<!ENTITY RFC8754 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8754.xml">
<!ENTITY RFC8986 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8986.xml">
<!ENTITY I-D.filsfils-spring-path-tracing SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.filsfils-spring-path-tracing.xml">
<!ENTITY I-D.decraene-mpls-slid-encoded-entropy-label-id SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.decraene-mpls-slid-encoded-entropy-label-id.xml">
<!ENTITY I-D.ietf-ippm-ioam-data SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-ippm-ioam-data.xml">
<!ENTITY I-D.kumar-ippm-ifa SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.kumar-ippm-ifa.xml">
<!ENTITY I-D.song-opsawg-ifit-framework SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.song-opsawg-ifit-framework.xml">
]>


<rfc ipr="trust200902" docName="draft-filsfils-spring-path-tracing-srmpls-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="Path Tracing in SR-MPLS networks">Path Tracing in SR-MPLS networks</title>

    <author initials="C." surname="Filsfils" fullname="Clarence Filsfils">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <country>Belgium</country>
        </postal>
        <email>cf@cisco.com</email>
      </address>
    </author>
    <author initials="A." surname="Abdelsalam" fullname="Ahmed Abdelsalam" role="editor">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <country>Italy</country>
        </postal>
        <email>ahabdels@cisco.com</email>
      </address>
    </author>
    <author initials="P." surname="Camarillo" fullname="Pablo Camarillo Garvia" role="editor">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <country>Spain</country>
        </postal>
        <email>pcamaril@cisco.com</email>
      </address>
    </author>
    <author initials="I." surname="Meilik" fullname="Israel Meilik">
      <organization>Broadcom</organization>
      <address>
        <postal>
          <country>Israel</country>
        </postal>
        <email>israel.meilik@broadcom.com</email>
      </address>
    </author>
    <author initials="M." surname="Valentine" fullname="Mike Valentine">
      <organization>Goldman Sachs</organization>
      <address>
        <postal>
          <country>USA</country>
        </postal>
        <email>michael.j.valentine@gs.com</email>
      </address>
    </author>
    <author initials="R." surname="Geib" fullname="Ruediger Geib">
      <organization>Deutsche Telekom</organization>
      <address>
        <postal>
          <country>Germany</country>
        </postal>
        <email>Ruediger.Geib@telekom.de</email>
      </address>
    </author>
    <author initials="J." surname="Desmarais" fullname="Jonathan Desmarais">
      <organization>Colt Technology Services</organization>
      <address>
        <postal>
          <country>UK</country>
        </postal>
        <email>Jonathan.Desmarais@colt.net</email>
      </address>
    </author>

    <date year="2022" month="November" day="21"/>

    <area>General</area>
    <workgroup>SPRING</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>Path Tracing provides a record of the packet path as a sequence of interface ids. In addition, it provides a record of end-to-end delay, per-hop delay, and load on each interface that forwards the packet.</t>

<t>Path Tracing has the lowest MTU overhead compared to alternative proposals such as <xref target="INT"/>, <xref target="I-D.ietf-ippm-ioam-data"/>, <xref target="I-D.song-opsawg-ifit-framework"/>, and <xref target="I-D.kumar-ippm-ifa"/>.</t>

<t>Path Tracing supports fine grained timestamp. It has been designed for linerate hardware implementation in the base pipeline.</t>

<t>This document defines the Path Tracing specification for the SR-MPLS dataplane. The Path Tracing specification for the SRv6 dataplane is defined in <xref target="I-D.filsfils-spring-path-tracing"/>.</t>



    </abstract>



  </front>

  <middle>


<section anchor="introduction"><name>Introduction</name>

<t>Path Tracing provides a record of the packet path as a sequence of interface ids. In addition, it provides a record of end-to-end delay, per-hop delay, and load on each interface that forwards the packet.</t>

<t>Path Tracing has the lowest MTU overhead compared to alternative proposals such as <xref target="INT"/>, <xref target="I-D.ietf-ippm-ioam-data"/>, <xref target="I-D.song-opsawg-ifit-framework"/>, and <xref target="I-D.kumar-ippm-ifa"/>.</t>

<t>Path Tracing supports fine grained timestamp. It has been designed for linerate hardware implementation in the base pipeline.</t>

<t>Path Tracing is applicable to both SR-MPLS <xref target="RFC8660"/>, as well as SRv6 <xref target="RFC8986"/>. This document defines the Path Tracing specification for the SR-MPLS dataplane. The SRv6 dataplane is detailed in <xref target="I-D.filsfils-spring-path-tracing"/>.</t>

</section>
<section anchor="terminology"><name>Terminology</name>
<t>The following terms used within this document are defined in <xref target="RFC6790"/>, <xref target="RFC8402"/>, <xref target="RFC8754"/>, <xref target="RFC8986"/>, <xref target="I-D.decraene-mpls-slid-encoded-entropy-label-id"/> and <xref target="I-D.filsfils-spring-path-tracing"/>: Segment Routing (SR), SR Domain, Segment Identifier (SID), SR-MPLS SID, SR Policy, Segment Routing Header (SRH), SR source node, transit node, SR Endpoint, SA, DA, EL, ELI, ELC, PT, PT Probing Instance, PT Source, PT Midpoint, PT Sink, RC, MCD, SRH PT-TLV, TEF.</t>

<t>The following terms are used in this document as defined below:</t>

<t>MPLS HbH-PT: MPLS Hop-by-Hop Path Tracing Option used for Path Tracing. It contains a stack of MCDs. It is defined in <xref target="sec-hbh-pt"/> of this document.</t>

<t>SEL: Structured Entropy Label as defined in <xref target="I-D.decraene-mpls-slid-encoded-entropy-label-id"/>.</t>

<t>TEF Label: MPLS Label bound to Timestamp, Encapsulation and Forward (TEF) behavior. The allocation of the TEF Label is out of scope of this document.</t>

<t>PTI: PT Indicator is a flag bit used to indicate the presence of the MPLS HbH-PT after the BoS Label and triggers PT behavior at a PT Midpoint.</t>

<section anchor="requirements-language"><name>Requirements Language</name>
<t>The key words &quot;MUST&quot;, &quot;MUST NOT&quot;, &quot;REQUIRED&quot;, &quot;SHALL&quot;, &quot;SHALL NOT&quot;, &quot;SHOULD&quot;, &quot;SHOULD NOT&quot;, &quot;RECOMMENDED&quot;, &quot;NOT RECOMMENDED&quot;, &quot;MAY&quot;, and &quot;OPTIONAL&quot; 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>
<section anchor="pt-source-node-dataplane-behavior"><name>PT Source Node Dataplane Behavior</name>

<t>For each configured PT Probing Instance, according to the probe-rate, the PT Source generates a PT probe packet as follows:</t>

<figure><artwork><![CDATA[
S01. Generate a new packet
S02. Push an SRH PT-TLV
S03. Set the session ID field of the SRH PT-TLV as per
     PT Probing Instance configuration
S04. Set the Sequence Number field of SRH PT-TLV and
     increase local counter
S05. Push an MPLS HbH-PT header
S06. Set all bits of MCD Stack of the MPLS HbH-PT header to zero
S07. Set the VER field of the MPLS HbH-PT to 0x2
S08. Set the value of Opt Data Len field as per
     the PT Probing Instance configuration
S09. Push an MPLS Structured Entropy Label (SEL)
S10. Set the PTI flag in the ELC field of the SEL
S11. Set the value of the SEL entropy field as per
     the PT Probing Instance configuration
S12. Set Bottom of Stack bit (S) of the SEL to 1
S13. Push an MPLS Entropy Indicator Label (ELI)
S14. Push an MPLS TEF Label as per the PT Probing
     Instance configuration
S15. Set the TC and TTL value of the TEF Label as per
     PT Probing Instance configuration
S16. Push an SR-MPLS transport Label stack as per the
     PT Probing Instance configuration
S17. Set the TC and TTL value of the SR-MPLS transport Labels
     as per PT Probing Instance configuration
S18. Add padding bytes after SRH PT-TLV to reach the desired
     packet size as per the MTU sweeping range configuration in
     the PT Probing Instance configuration
S19. Perform MPLS lookup using the topmost label to
     determine the Outgoing Interface (IFACE-OUT)
S20. Record Transmit 64-bit timestamp (SRC.T64) in the
     T64 field of the SRH PT-TLV
S21. Record IFACE-OUT ID (SRC.OIF) in the IF_ID field
     of the SRH PT-TLV
S22. Record IFACE-OUT Load (SRC.OIL) in the IF_LD field
     of the SRH PT-TLV
S23. Forward the packet via IFACE-OUT
]]></artwork></figure>

<t>Notes:</t>

<t><list style="symbols">
  <t>The pseudocode describes local processing at a node. An implementation of the pseudocode is compliant as long as the externally observable wire protocol is as described in the pseudocode.</t>
</list></t>

</section>
<section anchor="pt-midpoint-node-dataplane-behavior"><name>PT Midpoint Node Dataplane Behavior</name>
<t>When an MPLS LSR router receives an MPLS packet with SEL, the MPLS LSR router processes the SEL as follows:</t>

<figure><artwork><![CDATA[
S01. When processing SEL {
S02.    Use Entropy field to compute ECMP hash and decide IFACE-OUT
S03.    IF (SEL[ELC].PTI == 1 and SEL[BOS] == 1) {
S04.       Compute the Midpoint MCD for IFACE-OUT
S05.       Locate the MPLS HbH-PT immediately after SEL
S06.       MPLS_HbH-PT.MCD_Stack[3:Opt_Data_Len -1] =
           MPLS_HbH-PT.MCD_Stack[0:Opt_Data_Len -4]
              //Shift MCD Stack 3Bytes to the right
S07.       MPLS_HbH-PT.MCD_Stack[0:2] = MCD[0:2]
             //i.e., Push the MCD at the beginning of the Stack
S08.    }
S09. }
]]></artwork></figure>

<t>Notes:</t>

<t><list style="symbols">
  <t>The PT Midpoint behavior MUST be implemented in the normal pipeline to experience the regular datapath (i.e., linerate). Offloading the processing of this option to either the slow-path or a co-processors is not acceptable and yields invalid results.</t>
</list></t>

</section>
<section anchor="pt-sink-node-dataplane-behavior"><name>PT Sink Node Dataplane Behavior</name>
<t>We define a new MPLS Label bound to an SRv6 Policy with Timestamp, Encapsulation and Forward (&quot;TEF Label&quot; for short).
When Node N receives an MPLS packet with topmost Label is TEF Label, N performs the TEF behavior to the MPLS packet.</t>

<figure><artwork><![CDATA[
S01. Record Rx 64-bit timestamp (SNK.T64)
S02. Record incoming interface ID (Sink.IIF)
S03. Record incoming interface Load (Sink.IIL)
S04. Push a new IPv6 header
S05. Set the IPv6 SA to the Sink node loopback
S06. Set the IPv6 DA to the first SID in the SRv6 SID List
S07. Set the IPv6 Next Header field to 43 (SRH)
S08. Append an SRH
S09. Set the SRH Next Header field to 137 (MPLS)
S10. Write the SID list in the SRH
S11. Append an SRH PT-TLV
S12. Set the session ID field of the SRH PT-TLV to zero
S13. Set the Sequence Number field of the SRH PT-TLV to zero
S14. Write Sink.T64 in the T64 field of the SRH PT-TLV
S15. Write Sink.IIF in the IF_ID field of the SRH PT-TLV
S16. Write Sink.IIL in the IF_LD field of the SRH PT-TLV
S17. Perform an IPv6 lookup and forward the packet
]]></artwork></figure>

<t>Notes:</t>

<t><list style="symbols">
  <t>The pseudocode describes local processing at a node. An implementation of the pseudocode is compliant as long as the externally observable wire protocol is as described in the pseudocode.</t>
</list></t>

</section>
<section anchor="pt-headers"><name>PT Headers</name>

<section anchor="sec-hbh-pt"><name>MPLS Hop-by-Hop Path Tracing Option</name>
<t>We define a new header called MPLS Hop-by-Hop Path Tracing option (&quot;MPLS HbH-PT&quot; for short). The header is used to collect the MCD of each PT Midpoint on the packet path. The MPLS HbH-PT has the following format:</t>

<figure><artwork><![CDATA[
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  VER  |  RSVD |  Opt Data Len |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                                                               |
~                           MCD Stack                           ~
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Figure 1: IPv6 Hop-by-Hop Path Tracing Option Format
]]></artwork></figure>

<t>Where:</t>

<t><list style="symbols">
  <t>VER: In MPLS, the first nibble after the Label stack indicates the packet IP protocol version. VER is set to 0x2.</t>
  <t>RSVD: Reserved 4-bits. Currently not used.</t>
  <t>Opt Data Len: carries the length of MCD stack (in bytes). Used by PT Midpoint to determine the MCD stack shift value.</t>
  <t>MCD Stack: used to collect the MCDs from PT Midpoints</t>
</list></t>

<t>Note: The MPLS Hop-by-Hop Path Tracing option has a variable length. The operator, upon configuring the Source node behavior, MUST select an option length that is supported by all the routers in the network.</t>

</section>
</section>
<section anchor="benefits"><name>Benefits</name>
<t><list style="symbols">
  <t>Insignificant MTU overhead:
  <list style="symbols">
      <t>PT has the lowest MTU overhead compared to alternative solutions such as <xref target="INT"/>, <xref target="I-D.ietf-ippm-ioam-data"/>, <xref target="I-D.song-opsawg-ifit-framework"/>, and <xref target="I-D.kumar-ippm-ifa"/>.</t>
    </list></t>
  <t>Linerate and HW friendliness:
  <list style="symbols">
      <t>Designed for linerate hardware implementation, using the regular forwarding pipeline. No offloading to co-processors whose databases might defer from forwarding pipeline.</t>
      <t>Leverages mature hardware capabilities (basic shift operation); no packet resizing at every node along the path</t>
    </list></t>
  <t>Scalable Fine-grained Timestamp:
  <list style="symbols">
      <t>64-bits timestamp at PT SRC and PT SNK</t>
      <t>8-bits truncated timestamp at PT Midpoint leveraging flexible per-outgoing-link template allowing diverse link types in the same measurement (e.g., DC, metro, WAN)</t>
    </list></t>
  <t>Scalable Load measurement</t>
</list></t>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>TBD</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>TBD</t>

</section>


  </middle>

  <back>


    <references title='Normative References'>

&RFC2119;
&RFC6790;
&RFC8174;
&RFC8402;
&RFC8660;
&RFC8754;
&RFC8986;
&I-D.filsfils-spring-path-tracing;
&I-D.decraene-mpls-slid-encoded-entropy-label-id;


    </references>

    <references title='Informative References'>

&I-D.ietf-ippm-ioam-data;
&I-D.kumar-ippm-ifa;
&I-D.song-opsawg-ifit-framework;
<reference anchor="INT" target="https://github.com/p4lang/p4-applications/blob/master/docs/INT_v2_1.pdf">
  <front>
    <title>In-band Network Telemetry (INT) Dataplane Specification</title>
    <author >
      <organization></organization>
    </author>
    <date year="2020"/>
  </front>
</reference>


    </references>


    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
        <name>Contributors</name>
    <contact initials="J." surname="Bhattacharya" fullname="Jisu Bhattacharya">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <country>USA</country>
        </postal>
        <email>jisu@cisco.com</email>
      </address>
    </contact>
    <contact initials="R." surname="Gandhi" fullname="Rakesh Gandhi">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <country>Canada</country>
        </postal>
        <email>rgandhi@cisco.com</email>
      </address>
    </contact>
    <contact initials="S." surname="Zadok" fullname="Shay Zadok">
      <organization>Broadcom</organization>
      <address>
        <postal>
          <country>Israel</country>
        </postal>
        <email>shay.zadok@broadcom.com</email>
      </address>
    </contact>
    <contact initials="M." surname="Yufit" fullname="Mark Yufit">
      <organization>Broadcom</organization>
      <address>
        <postal>
          <country>Israel</country>
        </postal>
        <email>mark.yufit@broadcom.com</email>
      </address>
    </contact>
    <contact initials="B." surname="Janssens" fullname="Bart Janssens">
      <organization>Colt Technology Services</organization>
      <address>
        <postal>
          <country>Belgium</country>
        </postal>
        <email>Bart.Janssens@colt.net</email>
      </address>
    </contact>
    </section>

  </back>

<!-- ##markdown-source:
H4sIAAJNe2MAA+1abXPbOJL+rl+Bynyxb0XacjzORFdbFb/GmpFfzlImtTc1
lYJISMKaIrgEaEfJJL/9nm7wTYrs2De3W3VVq5QjkgC6G/36NKggCDpOu0T1
xbV0czHOZaTTmdCpGN0EF9fDkUiVuzf5re3IySRXd0+YGJsolQuQjHM5dcFU
J5b+ApvlWBJkWB84vz6w+SLD0G6vE0un+p0I/89MvuwL6+JOR2d5X7i8sG5v
d/f17l5H5kr2xVuVqlwmHeI3y02R9cXo+mZw+bZzq5Z4GPfFIHUqh0jBCQnR
6UQmBr++KGwgbaR1J9N98ZszUVdYk7tcTS2ulgu6+L3TscVkoa3VJh0vM2xl
cDo+63Rk4eYm73dE0BHYuu2L41CclfvDI7/t4wRSppFqj5h8JlP9STpQxAxt
IyNGS+vUAmwHaRRijlpInfRFNH0T0XgYmQWeRqZIHSnkSCUzXSxazA9DcTiJ
VWJlIhei5n84X6i4NfJE9rkhN1CxdiZvpJFzyYQ2yzRwMlm2JLoOxbFcyFwn
iWkEupYT3DYDb2V+p+WfEiuLPLXNYo0yqdOWWINQXCid6NtapIHNpUqap6uS
HOVGxp5myU/z/HDB899MyvFv1MGzWowvQvGrTFTqdKpq3hf6Vq08XmX+1iTx
QiKuZDS3jQQLHc1JhL+Hd9XSNzO7LsG70WGL/U2IUNGTmvNNAT3OVF49XWV8
ogpno7kSY5Wo2/buq3UhrXvj/HAYqzbntyqH1OQMomL/cwiaFnaSuomOn02K
BID9tYfWHMEkDkJE89QkZrYUIwV/iVRLGRWRsCbyJsKiEAG/oo1fKPBxrSeF
qwO3lEPbQhzNpXPQs8yXT/XHUoK/Y/lm56tNUOpc3io7h8+n8Vw/jwfNxKLN
bI5lKmPZ5jSay6X4bxmbpzi0xeTwE01+ljf/rZhq13iyzG/rR9/jCDvdhkua
/H2OtQsdheJnmVqr0saDjmTu2k+f6zy0PqzWb/SbKtV2UgOndvoOlUmIm7Pj
vV7vdXl58Or1bnn5U+/VfnW5v7tXXR4c1BNe/VhPeP3TAV0OgpPwscpYzYlV
BJ2kKuA6aRMdB6gtJlb07XKTLYNETlQS6LiPeplO2xITAa3cNNBZtgi0kYsA
ZVZWQ7cFbFKOTeun1kAUk1l5P8NjjQKeQ+1UannG5Zi+hHAynynXF3PnMtvf
2ZlpNy8mZNGdbD+R6QxfgcyyREdsGbuDIjDZWUi4er4DjGB3QOvD3d6HXpjF
U0/TQ5FBGkzg+eLSIwrORwsFy4gtLNkWJ9hDBhYKiV5FkNFzYBIMI8Te7t4u
31qVa2VJLdBOEARCTixpGIhgBcdkubnTsbJCilxFQBDCTIVDLsxkdKucINMI
ScNW/aPg6o4JmkDGVOJGxzaE3ELGKFSQpSu020xUpXHgDIwXC9RVueyKTOXB
3GTVLe08QXwIkwqF3NTigpTnBCx8L/PYtsQL13Yzl340MffKOnExfifMncrn
ClRhoAz4JBbOCJkQSGJ3IWEzA7xghS0i3uvnz9D2ly9dutjsSM3gw05Dc2hL
ft6qy335si65LbIMcMyKKeqbmCGzpySqXmAfcpFBx453N1EqhcKsntE4VCIS
TZjQKQznMRQEmyBk4DepY+8gqEo6mUiLzepM0QKwH8+1FXDHgmaCJDH22lsV
rO1pzJCmVNg3rjwyFOOnrrw7aJYJkoFZxySn19Vj6YE1R/680HGcqE7nB0K8
uYmLiEPh3979b+9W6+zhZGVCniSKNDQxGK18+PPnsmjxnqy4V0lC3+ypfhC1
C5sS/4yQ2RQPDuX6WQHxA0pFvtC+8neI7NSg4bgnaeALC4v2DwTvUapYX+1t
kE5XQrCs8d4LytLe3KCiNzesl8pZnlGxv3xpOc/juwO8UzMW9MYUjja0NbrZ
7kJv4sQA1yAmqwmDmNqDqQbO3xoNTniS1znueMW1gRMsu9+QPEcI8aqbc0/a
miJHZKaQvos+HJgJge/vMHqaxplB/OLmsCtO8Hc6pL8B/XfcFddj+hPXuZkQ
9UEKL0du4YcjpsyXF7oiQ891etsVN1h9cczCnuNpMB7+2hXj0zPO199alWzH
lv3Wqk1ehcrNPVAAa+J8ch5cj4Fg+cZkwWQZ4GvVga8y9lymTO7bHuRYpd4C
qufEiTbiljIgxLY8uJ7SrYqC+WQeZA5m5/zbEjQUnc7odAgruxwpvKAUduq9
RQzJW9o7qQPiWa5Gujs989TKjXvKE8BeTpjjKhHBfmkkM1skPnbJSc98YhZb
ILINZc7lnTa5D14Jc5RhXhaWmhOpAd5Fz9HEZOrbnSNJjQd9sv0gjSlbQNOU
qcQ0kTMxgcOxASCf9uPK14Zc2apS0X3LrEJO4Rf89MhUu6Q9oBGcoY21xKza
gUDRkW03pDzyg7hBIdQ5J1gLCumskDPFznerloLOmKx4cfFuNH7R9d/i8oqv
b07/693g5vSErkfnh8NhfVHNGJ1fvRueNFfNyuOri4vTyxO/GE/F2qOLw7+9
8PXmxRWUdnV5OHyxwedzn9yVr61QlIP+2H9shFbYe9DR8bXo7fsERm0NnNIn
MzQzuL6fq9SzMmmyLG+h0SWVECVzIgGzC7iJdqirXDLs3NynYq5yxcm4iXNx
Cads4fajUvmdDtzK4wDE0lTP2PE35gwZEcbgmDelA5iJCqgodn3tqZnNlC+W
1huWJ1ZQB1L67GGRCr5+/doZ7fbC8kARniVFqu7LuRjaC8V1ge6djmPqTITn
L0PkTsdsreJjQjE4QVVXSQ2tmvnEEyiI+5FNe6u37ruY0e5+Q31U4bHLYjGB
T9cs2uTT2NPWaZQrAgAUjYlvZ8F3tPtjs412mMw53WP8wDMkeyLebJnGkIvK
nLYeX34hGeKTyg0IvGok/vX0ZlUR7YVYsftxDwt+ahbcyaTgKEa6ZRcRQ6Af
T6KtudLG39Xe67XNPphRt5Bwtzuj3m4jC4LKp50STqGMrVn1dIgVvQ3Sl6Oi
TLz/+w309jz1I+OcWbCt2Q6UCbdG221eUGcPC16u7bjaZpNPyw2jNNOG99fm
N8nai7smqZf+QXF/bJQxPuaMMR4PV/WyzuDJodA7aAegBzEMQwhGlyR95W0k
fzrxV9+X/AGm1jMpmT6FFxz+MI6RWWLOYZMlpyeuU61QhkFzzobEmxoAeK1n
VaYvqz+ptpWo+bH3SmVEFDLO1jgLnT7P+Sh60I+ZfOF9IzHmtshQgjnzzqmy
ZAuDtouBBe48eYB1Rt6+Nl8VbmY8m6q52xqcHR6fBlfvxvDAPYTcje8Zx6TY
BVz7YD8gD6+bIUKhx+H4YH+7DEbPCA8eyrOg26vp1uwoMTOpq8FZRQqjH6p8
7cluIra3gdiQWteS3LBNbvhdcojSCkO1Wu87LRvyXJA6lwa+0QcgDBhcZVYV
qO1UQKsCbssMj8oWUfmBphnFEDKHn6XrzWHV7TeUgBeoVU609CA5MUTDN3Hq
I/fNCcq+mViV33G7eA9fJIYOBBjVrQOKVQ4MAFqo6kEE8B7Ios5EQ3QVOeAi
vDtXkULnbuuxUmHUvFHy6zbFpbWq1EjZjlKO3FzwmWtLfTTzsy/4+LxDDT1d
yeMITNIXeIjT44tr6tLnnDEAwXWsWiZkcED58owLzG8oIb+HVFf++lfR4yX0
9Ohq9Ds/2Wa2+7wEn+OSCe+tUh3VYuo/2kx+rFYMTQ2J25VWLxYq1hiBFcs0
Q6WLSr3/0OQPfnIIBh+4yPz2so8q/IHM9IGqcNCDlB3RfDav2l1btf97ew0+
OzujuZ66Fqp4ecQZsMRywOVz53HE43z2IA9R4cvOGg8dqrDr6wWrA8ykT+8T
NdNpSoauIpPoeRyCzxcPG760468Kv7YP1z0DA/5J6xCmCQF+ZZDUZzC0Q/Ux
o2PoNPJmytUMjVXuTzuopdzygldnPNuhuJpO6ZCsyrktR63aJ+N7U6KOgCir
gYWb87mBoL4GHhuUKw16HixKjSMcrTLHIU3OuCT3xmCKsqdjyIamz9kqeqkb
fzhyqwOTEjVvaim5bt8dlCcOPnif1ma+qEHDC3Z+9Ba52w59vmCRLh/PEVWh
qtvQmmAXSzNf5GyNT2rbli7Zohe2EkdZEW4+bipYl79wwfJ5pJwJUG4W/qcS
VS3kigTNhgOUJJ8wHp5cVhw/nfDqbg3fWOuDa6i3RvItMMYDo8NqP2xKKhBU
0rOJd/+Dtekn9fSpzqG7EUQt/ZrNSPdDbd0q5Oellygb1QFSnTP3X/rDJB9p
h+gcYWLfTPmQq/scVMqNFHovX4ktskWJ1N/nusx2JEsCWRoBzz00X2FT198K
Vj+xZ6t7m97LJ3RjDy7eryRmAxJ4KaV9FMcQpm4tg5tsAC4bFx6sLRxugCgb
F75qcB8UxxYtoR9F5fQb4LIpVf4/Riqiahq8/1nBh0BPOR38/EPrYO+bnFh2
ylABnWQ/Sq/M6FsvWmV8JfWxjkuC2tanYthkoiJXlzx6C0MtRLtwmXT9dY+n
ttLUl0ptDlf9u+QSNv0l+JP/On8IPhwQ+L4Z/XpC3yst/x/i8c8f35fhOxRY
hj/1+aPz9ZHRBt48/Pn6fyDDn7dFCZ3O+MRN9Po+4r/j6mfsDz7y39Mpn29S
YFR6Z8/O1G0Vj1RPGGXUh7Htfr06y22/6IMQTdzeIQrBNGSfgbtbysF8fBSC
JzlQH1WTgh5hwKXYhuK4yHPkEuQDgjoUITS57WV9xGJOvwnwrxBVOiO05M+7
vGRbyBDcniPi3lGMTZYrsQQhVrvdZqllkMsHCMS3dof+Q8GK3iQ3izZ565Nq
vxWej+eLOb+3vZO55uTnd+Sj22SEJ03eFUWGmVWrX6HKUfNyp0Y/XQ9trWIp
UQlKLqWi+BUtGcO/yPTKoWNDxrXcgtkaCPtfb3B6PVIpsqJDWg3o6EHPUn4x
mK6+vaUflvyHaKWi57zhtSYp+Hcm/+I3vAEAUXV4jGnn72FSYP2Y0LylNp72
dPKcd7nd1mlL1SuUBZhf5ldvd4GC4blNo2DWAP/93KCPpX3SW2ErFtRkUXki
5EJut4koiztU0Lac0RpJJ6eNpIDrcqIT7SiCtkBXR6XXe2eD+Nv/CZeqIhr9
hP5UVn0iuvTuJrmK+8h3c+hwhArJ/nsGIYLqzXjdKXjP8IjbtiA3qFKXcuNP
7+jy8hee+lM5My9SyjLxN2vqcE78XrneJeqjJiHoNwumPMMKEgLOTsFEbOOq
OMaaMpQSfniZqdrxLTxHLJS0hX9/JLZUOEN/d3LcFfQzJtMV7w8vt9u7ZpDf
WtJAkpGKELFuKY7h2joudUz4ZHx00kwbHF4ebp7yP1lmQAnjLQAA

-->

</rfc>

