<?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.30 (Ruby 3.4.5) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-bormann-cbor-yang-metadata-02" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.1 -->
  <front>
    <title abbrev="Metadata Annotations in YANG-CBOR">Representing metadata annotations in YANG-CBOR</title>
    <seriesInfo name="Internet-Draft" value="draft-bormann-cbor-yang-metadata-02"/>
    <author initials="C." surname="Bormann" fullname="Carsten Bormann">
      <organization>Universität Bremen TZI</organization>
      <address>
        <postal>
          <street>Postfach 330440</street>
          <city>Bremen</city>
          <code>D-28359</code>
          <country>Germany</country>
        </postal>
        <phone>+49-421-218-63921</phone>
        <email>cabo@tzi.org</email>
      </address>
    </author>
    <date year="2025" month="August" day="31"/>
    <area>ART (Applications and Real-Time)</area>
    <workgroup>CBOR</workgroup>
    <abstract>
      <?line 46?>

<t>This specification defines the representation of metadata annotations
(RFC 7952) in YANG-CBOR (RFC 9254).</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-bormann-cbor-yang-metadata/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        cbor Working Group mailing list (<eref target="mailto:cbor@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/cbor/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/cbor/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/cabo/yang-metadata"/>.</t>
    </note>
  </front>
  <middle>
    <?line 51?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This specification defines the representation of metadata annotations
<xref target="RFC7952"/> in YANG-CBOR <xref target="RFC9254"/>.</t>
      <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="BCP14"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

<t>The term "CDDL" refers to the data definition language defined in
<xref target="RFC8610"/> and its registered extensions (such as those in <xref target="RFC9165"/>
and <xref target="RFC9741"/>), as
well as <xref target="RFC9682"/>.</t>
        <t>Specific examples are notated in CBOR Extended
Diagnostic Notation (EDN), as originally introduced in Section <xref target="RFC8949" section="8" sectionFormat="bare"/> of RFC 8949 <xref target="STD94"/> and extended in <xref section="G" sectionFormat="of" target="RFC8610"/>.
(<xref target="I-D.ietf-cbor-edn-literals"/> more rigorously defines and further extends EDN.)</t>
        <t><cref anchor="cpa">RFC-Editor: <br/>
  This document uses the CPA (code point allocation)
  convention described in [I-D.bormann-cbor-draft-numbers].  For
  each usage of the term "CPA", please remove the prefix "CPA"
  from the indicated value and replace the residue with the value
  assigned by IANA; perform an analogous substitution for all other
  occurrences of the prefix "CPA" in the document.  Finally,
  please remove this note.</cref></t>
        <t>The terms of <xref target="RFC7952"/> and <xref target="RFC9254"/> apply.</t>
      </section>
    </section>
    <section anchor="specification">
      <name>Specification</name>
      <t>This section defines the metadata encoding for YANG-CBOR <xref target="RFC9254"/>,
analogous to the Subsections for YANG-XML and YANG-JSON of <xref section="5" sectionFormat="of" target="RFC7952"/>.</t>
      <t><xref section="5.2.1" sectionFormat="of" target="RFC7952"/> defines a "Metadata Object" for YANG-JSON.
Analogously, the YANG-CBOR encoding of metadata annotations uses a
<em>Metadata Map</em>, which is identical in structure to the other CBOR maps
used in <xref target="RFC9254"/>.</t>
      <t>Where YANG SIDs are used as the basis for the map keys for the metadata
map, the map's reference SID is the reference SID of the enclosing data
structure, as defined in <xref section="3.2" sectionFormat="of" target="RFC9254"/>.
Where names (<xref section="3.3" sectionFormat="of" target="RFC9254"/>) are used as the map keys for
the metadata map, they <bcp14>MUST</bcp14> be fully qualified, analogous to <xref section="5.2.1" sectionFormat="of" target="RFC7952"/>.</t>
      <t>Metadata annotations are added to a data node instance by replacing
the representation of the instance ("<tt>Instance-Representation</tt>") with
the structure specified in CDDL in <xref target="fig-metadata-tag"/>:</t>
      <figure anchor="fig-metadata-tag">
        <name>Metadata-Annotated Data Node</name>
        <sourcecode type="cddl"><![CDATA[
annotated-data-node<Instance-Representation> = #6.109([ ; CPA109
  metadata-map,
  Instance-Representation
])
]]></sourcecode>
      </figure>
      <t>In essence, the <tt>annotated-data-node</tt> <em>stands in</em> for the
<tt>Instance-Representation</tt>; a consuming implementation that wants to
ignore all metadata received can simply replace each
<tt>annotated-data-node</tt> by the <tt>Instance-Representation</tt> embedded in it.</t>
      <t><cref anchor="question">(Editor's note:) QUESTION:</cref> Do we need to represent metadata maps without the actual
instance representation present?  If yes, we could simply make the
second element of the array in <xref target="fig-metadata-tag"/> optional.</t>
      <t><cref anchor="question_1">(Editor's note:) QUESTION:</cref> This representation assumes that it is good that metadata
always come before the actual data node, as would also be the case
with XML attributes.
Sections <xref target="RFC7952" section="5.2.3" sectionFormat="bare"/> and <xref target="RFC7952" section="5.2.4" sectionFormat="bare"/> of <xref target="RFC7952"/> show examples with metadata last,
though.
Can we simply focus on one of these orders (always first, or always last), or do
we really need to support both (avoid!)?</t>
    </section>
    <section anchor="examples">
      <name>Examples</name>
      <t>This section provides a number of examples, based on the examples in
<xref section="5.2" sectionFormat="of" target="RFC7952"/>; please see the descriptions of these examples
there.
Note that the examples here always show an enclosing map if needed; this
is generally elided in <xref section="5.2" sectionFormat="of" target="RFC7952"/> (which shows only map key and
map value separated by colon).</t>
      <t>All but one example below use YANG SIDs (<xref section="3.2" sectionFormat="of" target="RFC9254"/>).
For this, the examples assume the example SID assignments in
<xref target="example-sids"/>, the relevant ones of which are also repeated at the
start of each subsection:</t>
      <table anchor="example-sids">
        <name>Example SID values</name>
        <thead>
          <tr>
            <th align="left">name</th>
            <th align="left">SID</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">cask</td>
            <td align="left">61600</td>
          </tr>
          <tr>
            <td align="left">seq</td>
            <td align="left">61601</td>
          </tr>
          <tr>
            <td align="left">name</td>
            <td align="left">61602</td>
          </tr>
          <tr>
            <td align="left">stuff</td>
            <td align="left">61603</td>
          </tr>
          <tr>
            <td align="left">example-last-modified:last-modified</td>
            <td align="left">61610</td>
          </tr>
          <tr>
            <td align="left">foo:flag</td>
            <td align="left">61620</td>
          </tr>
          <tr>
            <td align="left">bibliomod:folio</td>
            <td align="left">61630</td>
          </tr>
        </tbody>
      </table>
      <t>For computing the outermost SID deltas, the examples assume the
reference SID is 61000.</t>
      <section anchor="s522">
        <name>Examples from <xref section="5.2.2" sectionFormat="of" target="RFC7952"/></name>
        <t>The examples here show that the map representing the instance
representation is not extended by a new member as in <xref section="5.2.2" sectionFormat="of" target="RFC7952"/>, but is enclosed in an <tt>annotated-data-node</tt> structure like in
the other examples.</t>
        <table anchor="s522-sids">
          <name>Example SID values for this section</name>
          <thead>
            <tr>
              <th align="left">name</th>
              <th align="left">SID</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">cask</td>
              <td align="left">61600</td>
            </tr>
            <tr>
              <td align="left">seq</td>
              <td align="left">61601</td>
            </tr>
            <tr>
              <td align="left">name</td>
              <td align="left">61602</td>
            </tr>
            <tr>
              <td align="left">example-last-modified:last-modified</td>
              <td align="left">61610</td>
            </tr>
          </tbody>
        </table>
        <t>"cask" is a container or anydata node:</t>
        <figure anchor="fig-cask">
          <name>Cask example</name>
          <sourcecode type="cbor-diag"><![CDATA[
{
   600: /CPA/ 109([                      # SID: 61600
     {
       10: "2015-09-16T10:27:35+02:00"   # SID: 61610
     },
     ... # instance representation in its own map
   ])
}
]]></sourcecode>
        </figure>
        <t>The same "cask" example with name-based CBOR maps (<xref section="3.3" sectionFormat="of" target="RFC9254"/>):</t>
        <figure anchor="fig-cask-name">
          <name>Cask example with names</name>
          <sourcecode type="cbor-diag"><![CDATA[
{
   "cask": /CPA/ 109([
     {
       "example-last-modified:last-modified":
         "2015-09-16T10:27:35+02:00"
     },
     ... # instance representation in its own map
   ])
}
]]></sourcecode>
        </figure>
        <t>"seq" is a list whose key is "name"; annotation "last-modified" is
added only to the first entry:</t>
        <figure anchor="fig-seq">
          <name>Seq example</name>
          <sourcecode type="cbor-diag"><![CDATA[
{
   601: [                                # SID: 61601
     /CPA/ 109([
       {
          9: "2015-09-16T10:27:35+02:00" # SID: 61610
       },
       {
          1: "one",                      # SID: 61602
          ...: ...
       }
     ]),
     {                       # no metadata annotation
       1: "two",                         # SID: 61602
       ...: ...
     }
   ]
}
]]></sourcecode>
        </figure>
      </section>
      <section anchor="examples-from-section-523-of-rfc7952">
        <name>Examples from <xref section="5.2.3" sectionFormat="of" target="RFC7952"/></name>
        <table anchor="s523-sids">
          <name>Example SID values for this section</name>
          <thead>
            <tr>
              <th align="left">name</th>
              <th align="left">SID</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">stuff</td>
              <td align="left">61603</td>
            </tr>
            <tr>
              <td align="left">example-last-modified:last-modified</td>
              <td align="left">61610</td>
            </tr>
            <tr>
              <td align="left">foo:flag</td>
              <td align="left">61620</td>
            </tr>
          </tbody>
        </table>
        <t>"flag" is a leaf node of the "boolean" type defined in module "foo".
The SID 61620 for "foo:flag" expresses both the name "flag" and the
namespace name "foo" in its CBOR encoding:</t>
        <figure anchor="fig-flag">
          <name>Foo:flag example</name>
          <sourcecode type="cbor-diag"><![CDATA[
{
  620: 109([                             # SID: 61620
    {
      -10: "2015-09-16T10:27:35+02:00"   # SID: 61610
    },
    true
  ])
}
]]></sourcecode>
        </figure>
        <t>"stuff" is an anyxml node:</t>
        <figure anchor="fig-stuff">
          <name>Stuff example</name>
          <sourcecode type="cbor-diag"><![CDATA[
{
  603: 109([                             # SID: 61603
    {
      7: "2015-09-16T10:27:35+02:00"     # SID: 61610
    },
    [1, null, "three"]
  ])
}
]]></sourcecode>
        </figure>
      </section>
      <section anchor="examples-from-section-524-of-rfc7952">
        <name>Examples from <xref section="5.2.4" sectionFormat="of" target="RFC7952"/></name>
        <table>
          <thead>
            <tr>
              <th align="left">name</th>
              <th align="left">SID</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">example-last-modified:last-modified</td>
              <td align="left">61610</td>
            </tr>
            <tr>
              <td align="left">bibliomod:folio</td>
              <td align="left">61630</td>
            </tr>
          </tbody>
        </table>
        <figure anchor="fig-folio">
          <name>Bibliomod:folio example</name>
          <sourcecode type="cbor-diag"><![CDATA[
{
  630: [                                  # SID: 61630
    6,                 # SIDs below: -20 -> SID: 61610
    /CPA/ 109([{-20: "2015-06-18T17:01:14+02:00"}, 3]),
    /CPA/ 109([{-20: "2015-09-16T10:27:35+02:00"}, 7]),
    8,
  ]
}
]]></sourcecode>
        </figure>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security considerations of <xref target="RFC7952"/> and <xref target="RFC9254"/> apply.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="cbor-tags-registry">
        <name>CBOR Tags Registry</name>
        <t>In the registry "CBOR Tags" <xref target="IANA.cbor-tags"/>, IANA is requested to allocate one tag:</t>
        <ul spacing="normal">
          <li>
            <t>Tag: CPA109</t>
          </li>
          <li>
            <t>Data item: Array <tt>[metadata, ?data]</tt></t>
          </li>
          <li>
            <t>Semantics: "YANG data node with metadata annotations"</t>
          </li>
          <li>
            <t>Reference: This document</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="RFC7952">
          <front>
            <title>Defining and Using Metadata with YANG</title>
            <author fullname="L. Lhotka" initials="L." surname="Lhotka"/>
            <date month="August" year="2016"/>
            <abstract>
              <t>This document defines a YANG extension that allows for defining metadata annotations in YANG modules. The document also specifies XML and JSON encoding of annotations and other rules for annotating instances of YANG data nodes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7952"/>
          <seriesInfo name="DOI" value="10.17487/RFC7952"/>
        </reference>
        <reference anchor="RFC9254">
          <front>
            <title>Encoding of Data Modeled with YANG in the Concise Binary Object Representation (CBOR)</title>
            <author fullname="M. Veillette" initials="M." role="editor" surname="Veillette"/>
            <author fullname="I. Petrov" initials="I." role="editor" surname="Petrov"/>
            <author fullname="A. Pelov" initials="A." surname="Pelov"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <date month="July" year="2022"/>
            <abstract>
              <t>YANG (RFC 7950) is a data modeling language used to model configuration data, state data, parameters and results of Remote Procedure Call (RPC) operations or actions, and notifications.</t>
              <t>This document defines encoding rules for YANG in the Concise Binary Object Representation (CBOR) (RFC 8949).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9254"/>
          <seriesInfo name="DOI" value="10.17487/RFC9254"/>
        </reference>
        <referencegroup anchor="STD94" target="https://www.rfc-editor.org/info/std94">
          <reference anchor="RFC8949" target="https://www.rfc-editor.org/info/rfc8949">
            <front>
              <title>Concise Binary Object Representation (CBOR)</title>
              <author fullname="C. Bormann" initials="C." surname="Bormann"/>
              <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
              <date month="December" year="2020"/>
              <abstract>
                <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
                <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
              </abstract>
            </front>
            <seriesInfo name="STD" value="94"/>
            <seriesInfo name="RFC" value="8949"/>
            <seriesInfo name="DOI" value="10.17487/RFC8949"/>
          </reference>
        </referencegroup>
        <reference anchor="IANA.cbor-tags" target="https://www.iana.org/assignments/cbor-tags">
          <front>
            <title>Concise Binary Object Representation (CBOR) Tags</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="RFC8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="C. Vigano" initials="C." surname="Vigano"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049). Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610"/>
          <seriesInfo name="DOI" value="10.17487/RFC8610"/>
        </reference>
        <reference anchor="RFC9165">
          <front>
            <title>Additional Control Operators for the Concise Data Definition Language (CDDL)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="December" year="2021"/>
            <abstract>
              <t>The Concise Data Definition Language (CDDL), standardized in RFC 8610, provides "control operators" as its main language extension point.</t>
              <t>The present document defines a number of control operators that were not yet ready at the time RFC 8610 was completed:.plus,.cat, and.det for the construction of constants;.abnf/.abnfb for including ABNF (RFC 5234 and RFC 7405) in CDDL specifications; and.feature for indicating the use of a non-basic feature in an instance.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9165"/>
          <seriesInfo name="DOI" value="10.17487/RFC9165"/>
        </reference>
        <reference anchor="RFC9741">
          <front>
            <title>Concise Data Definition Language (CDDL): Additional Control Operators for the Conversion and Processing of Text</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="March" year="2025"/>
            <abstract>
              <t>The Concise Data Definition Language (CDDL), standardized in RFC 8610, provides "control operators" as its main language extension point. RFCs have added to this extension point in both an application-specific and a more general way.</t>
              <t>The present document defines a number of additional generally applicable control operators for text conversion (bytes, integers, printf-style formatting, and JSON) and for an operation on text.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9741"/>
          <seriesInfo name="DOI" value="10.17487/RFC9741"/>
        </reference>
        <reference anchor="RFC9682">
          <front>
            <title>Updates to the Concise Data Definition Language (CDDL) Grammar</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="November" year="2024"/>
            <abstract>
              <t>The Concise Data Definition Language (CDDL), as defined in RFCs 8610 and 9165, provides an easy and unambiguous way to express structures for protocol messages and data formats that are represented in Concise Binary Object Representation (CBOR) or JSON.</t>
              <t>This document updates RFC 8610 by addressing related errata reports and making other small fixes for the ABNF grammar defined for CDDL.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9682"/>
          <seriesInfo name="DOI" value="10.17487/RFC9682"/>
        </reference>
        <referencegroup anchor="BCP14" target="https://www.rfc-editor.org/info/bcp14">
          <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"/>
              <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" 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"/>
              <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>
        </referencegroup>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.ietf-cbor-edn-literals">
          <front>
            <title>CBOR Extended Diagnostic Notation (EDN)</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="7" month="July" year="2025"/>
            <abstract>
              <t>   This document formalizes and consolidates the definition of the
   Extended Diagnostic Notation (EDN) of the Concise Binary Object
   Representation (CBOR), addressing implementer experience.

   Replacing EDN's previous informal descriptions, it updates RFC 8949,
   obsoleting its Section 8, and RFC 8610, obsoleting its Appendix G.

   It also specifies and uses registry-based extension points, using one
   to support text representations of epoch-based dates/times and of IP
   addresses and prefixes.


   // (This cref will be removed by the RFC editor:) The present -18
   // corrects a few omissions from -17; it is not intended to make
   // technical changes from -17.  It is intended for use as an input
   // document for the CBOR WG meeting at IETF 123.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cbor-edn-literals-18"/>
        </reference>
      </references>
    </references>
    <?line 329?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Andy Bierman brought up the need for this document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA81abVfcxhX+Pr9iIj4EnNVmXwCDnNhZA07oMeAAPm3q0OPZ
1eyioJU20giyJeS39EN/SfvH+tw7I60Eu8F223PCsY00L3fu+3PvyL7vi+tA
9oUwkYl1IE/1LNO5TkyUTORUGxUqo6RKktQoE6VJLqNE/jA4/tbfe3lyKtRw
mGkQOCpXDlatHCmjJ2k2D2RuQjHCvE7yIg+kyQotcpNpNQ3k4cH5KyHCdJSo
KbgJMzU2/jDNpuDAH+HBn6tk4peM+TGo5kYkxXSos0BgTAdCgVYgB6fncn0w
m8XRyPGjkhDyqdg/j6Z6Q9yk2dUkS4tZIJnDKz3HUBiIa50UICPlVEVxIOnY
byJtxu00m2B0EpnLYohxNUy/bLAjhCrMZZrRXh9/JVQACffa8qUVgcesaHsq
y41OGjOgH8i3SXStszwy//6nkS8zPcWi878e8gJSkzaBfJPmZqxGl7Lf72xu
dnhuFBko126wA2mIc/b93k5/a9eNFIkhE3yr6dA5D84u0wTrvtjc9Td7Xb/X
3fG3+7u9Lk9qpwKI+o35e8QaECIhng3YJEFPX+093d3qBXIa2rfd3tZmIFkx
pDoMnp3v725aReLtcHA8aLMtjZqQA+Bfu3Nnu9vBsjCMHaXu9hbeUzCdxl03
9nSzW4313Nj2Ts/uK2ahEFEyrjN46O+3yXzWf3SY+HFkdKZinI03IXzfl2oI
3aqREeL8MsplPtOjaOw8R4Z6HCU6l+ZSy6wMEDuVjpdGiVgHW5L0stEIA8nj
pKGNtj14GoFtLcSaPCSRwmJEBP5XbNzeOvPc3TX54Ani4+4OjIi1NbmXJtcU
92Wk7NNpkSUDbrREfEgKkFx6R2/Pzr2W/S2PT/j59OD7t4enB/v0fPbd4PXr
6kG4FWffnbx9vb94WuzcOzk6Ojjet5sxKhtDwjsa/IAZ4so7eXN+eHI8eO2R
PIaUhGxRwOeNRNxLk8qhxhQMDAUZHUqVi1Dnoywa4gV7Xu69+dc/upvQwGd4
7EIB8uZSJ5Z8msRz9wotz4WazbTKaJuKY4TBLDLwG6yFbS7Tm0Re6kxDgU/e
kSouAvnVcDTrbj53AyRhY7BUUmOQlfRw5MFmq7UlQ0uOqdTXGL+n2ia/gx8a
76Wia4NfvYjhgNLv7rx4LqxTQM9T6e3t78MgmR4jcZEJyEPZF8PKiWSMhFCo
iXZuTLaAe/oUtTABKT8yOWhMIuTFDPP6F+THnP1xPS+Q7BS5fpqTeSXtdHnh
7k7Q7sUInH2DTCRuNIyGXe4YJAf29jMXVThBTWcxIoo8h4PGughHyAEdH+pQ
7EdqkiDhYsOxCyy5frB/zGcgZ0eTKIF3zMnrOIAtkdvbM82xLHcQnoLS2+7m
7jechZzA2h1hlwOr8Bb9Ir+lcHaKaYt1cI80hS3TFGziuBSgleO8Mh8QqXGR
QemZI5lL8NfegI3Eu7+NZuqi/B1QuvQPwsgApeSPP3KSl/K8EUdF7pLM3puB
XCcYkbM0ogCL49Tmog23cVQlDdkIsneUdBu4baHcAnV+0ZbyFYMBgwwhWZGT
b0Bws/CqNwNEPQykckp40/Ra8ywCeww18bwjMc7SKc9F0OCI7Xit4kKzbpAr
YzXSLm/mUYjxG4A4D/AyR0XleTQh1xzOGaWeyZnOCEtABn9UnE6geZkXAIvI
FCw2pjk3pKR+RycdjYos08kIenQS1Xm2mUtXCidlWBdqOQL3ZYZ14J6UaKqg
Y8pwjWnonAnPFebSECqfeZtw5awOIiWwONesQ0oFIGA8Dan+I9nqkFE/oCUW
CnERfwa9WLr5Yutfjl4ze/zyp7OTY8t3GRtb7OtTG5i14Xav3a2mFp4OyCm5
PBn+hMXe4iQi3haDkitok7laCFDJtQItreMr8aQ640jNnrSABxEcFFqLQvL1
kYrJgqgXgNWFxRw6iD3A5o6pmuUC1Fxk1/UGMf9MoMF8ybPDfZt9eLGyhhiq
PLIaZLOoGUFvbaCsNjHTKpd8ntv0S05HVIld6+/1QeeMeI/TnDTBdCpJOKEt
0nPNTP12j63REMTKQeUsMnR9bf/+2o0HMtalEg3vK6WaS0ZQoPm4oOz6c6Fi
uLEOW7LhedXBouk0UPTRMiMTJyqkrIvNysJUQjkOtbpRpClEv00Z0JBYXmzZ
VOPWr3vvD92zf9pY+t7b4EzDVBYO48o6BzbATqvscVTrbFAV390FQvz222+2
InYy6NDneWL5qxXHPpdfy7Xtdrezu/5OPqM0jkfqZ0ripGOqjJdvFxcbdKy4
DeTafZ4k94lfV2HoD0q25D5p8hhseXdCHCZS5zk5nnXR90vYfy+f0PkhdYpP
SvcWK3X5DNaivrGYkudGhNzTyibmUhl5oxJDPiGQxQkrKS9XfpXpkUZHEKKK
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

-->

</rfc>
