<?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.17 (Ruby 3.1.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-fossati-core-parametrized-cf-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.15.0 -->
  <front>
    <title>Parametrized Content-Format for CoAP</title>
    <seriesInfo name="Internet-Draft" value="draft-fossati-core-parametrized-cf-01"/>
    <author fullname="Thomas Fossati">
      <organization>arm</organization>
      <address>
        <email>thomas.fossati@arm.com</email>
      </address>
    </author>
    <author fullname="Henk Birkholz">
      <organization>Fraunhofer SIT</organization>
      <address>
        <email>henk.birkholz@sit.fraunhofer.de</email>
      </address>
    </author>
    <date year="2022" month="October" day="17"/>
    <area>Applications and Real-Time</area>
    <workgroup>Constrained RESTful Environments</workgroup>
    <abstract>
      <t>This document specifies a "parametrized" CoAP Content-Format data item that
allows supplementing a Content-Format with additional media type parameters.</t>
      <t>This document also defines two new CoAP Options, Parmetrized-Content-Format and
Parametrized-Multi-Valued-Accept, that build upon the "parametrized"
Content-Format data item to work around some of the limitations of the existing
Accept and Content-Format Options.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://thomas-fossati.github.io/draft-coap-parametrized-cf/draft-fossati-core-parametrized-cf.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-fossati-core-parametrized-cf/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Constrained RESTful Environments Working Group mailing list (<eref target="mailto:core@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/core/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/core/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/thomas-fossati/draft-coap-parametrized-cf"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>CoAP squashes the combination of a media type, media type parameters and
content coding into a single Content-Format number.  (For an example, see Table
2 in <xref section="2" sectionFormat="of" target="STD96"/>.)  This number is carried in the Content-Format and
Accept Options.</t>
      <t>Such compression strategy is ideal in cases where the set of possible parameters
combinations is known upfront and has small cardinality.  However, it lacks the
flexibility to deal smoothly with situations where the number of combinations
can grow unbounded.</t>
      <t>An example is <xref target="I-D.lundblade-rats-eat-media-type"/>, in which the "profile" media type parameter can
carry a number of different values that are constantly minted through a loosely
regulated process.  Another example is content negotiation of CoRAL <xref target="I-D.ietf-core-coral"/>
profiles.</t>
      <t>To avoid the combinatorial explosion that derives from such premises, this
document defines the "parametrized" Content-Format data item (<xref target="sec-pcf"/>) as a
mechanism to enrich a given Content-Format with additional media type
parameters.</t>
      <t>Two new CoAP Options that build upon such data item are also defined:</t>
      <ul spacing="normal">
        <li>Parametrized-Content-Format (<xref target="sec-pcf-option"/>)</li>
        <li>Parametrized-Multi-Valued-Accept (<xref target="sec-pma-option"/>)</li>
      </ul>
      <t>The latter also works around the limited content negotiation capabilities of
the CoAP Accept Option by allowing to accept more than one Content-Format per
request.</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>
      <t>In this document, the structure of data is specified in CDDL <xref target="RFC8610"/>
        <xref target="RFC9165"/>.</t>
      <t>The examples in <xref target="sec-examples"/> use CBOR diagnostic notation defined in
<xref section="8" sectionFormat="of" target="STD94"/> and <xref section="G" sectionFormat="of" target="RFC8610"/>.</t>
    </section>
    <section anchor="sec-pcf">
      <name>Parametrized Content-Format</name>
      <t>The Parametrized Content-Format is a CBOR <xref target="STD94"/> data item defined by the
CDDL <xref target="RFC8610"/> in <xref target="cddl-pcf"/>.</t>
      <t>The first element in the tuple is the Content-Format identifier, followed by
one or more name-value pairs representing the additional media type parameters.</t>
      <figure anchor="cddl-pcf">
        <name>CDDL for the Parametrized Content-Format</name>
        <sourcecode type="cddl"><![CDATA[
parametrized-content-format = [
  content-format,
  + [ parameter-name, parameter-value ]
]

content-format = 0..65535

parameter-name = textual / numeric
parameter-value = any

textual = text .abnf ("parameter-name" .det RFC6838-parameter-name)
numeric = int

RFC6838-parameter-name = '
  parameter-name = restricted-name

  restricted-name = restricted-name-first *126restricted-name-chars
  restricted-name-first  = ALPHA / DIGIT
  restricted-name-chars  = ALPHA / DIGIT / "!" / "#" /
                           "$" / "&" / "-" / "^" / "_"
  restricted-name-chars =/ "." ; Characters before first dot always
                               ; specify a facet name
  restricted-name-chars =/ "+" ; Characters after last plus always
                               ; specify a structured syntax suffix

  ALPHA         =  %x41-5A / %x61-7A  ; A-Z / a-z
  DIGIT         =  %x30-39            ; 0-9
'
]]></sourcecode>
      </figure>
      <t><cref anchor="TBD1">TODO describe use of numeric identifiers for parameter name aliasing
     (requires a new registry).</cref></t>
      <section anchor="requirements">
        <name>Requirements</name>
        <t>The list that follows details the semantic requirements that a Parametrized
Content-Format data item must satisfy:</t>
        <ul spacing="normal">
          <li>The intersection between the media parameters already encoded in the
Content-Format identifier and the set of parameters carried in the name-value
pairs of the Parametrized Content-Format <bcp14>MUST</bcp14> be empty.</li>
          <li>Each name-value pair <bcp14>MUST</bcp14> be a registered parameter for the media type.</li>
        </ul>
        <t>If any of the conditions listed above is not met, the entire data item is
considered invalid and <bcp14>MUST NOT</bcp14> be processed further.</t>
      </section>
      <section anchor="sec-examples">
        <name>Examples</name>
        <figure anchor="ex-pcf-1">
          <name>Content-Format with two paramters</name>
          <sourcecode type="cbor-diag"><![CDATA[
[
  65000,
  [ "p1", "a-string-value" ],
  [ "p2", 128 ]
]
]]></sourcecode>
        </figure>
      </section>
    </section>
    <section anchor="sec-pcf-option">
      <name>Parametrized Content-Format Option</name>
      <table anchor="tbl-pcf-opt">
        <name>Parametrized Content-Format Option</name>
        <thead>
          <tr>
            <th align="left">Number</th>
            <th align="left">C</th>
            <th align="left">U</th>
            <th align="left">N</th>
            <th align="left">R</th>
            <th align="left">Name</th>
            <th align="left">Format</th>
            <th align="left">Length</th>
            <th align="left">Default</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">TBD24</td>
            <td align="left"> </td>
            <td align="left"> </td>
            <td align="left"> </td>
            <td align="left"> </td>
            <td align="left">Parametrized Content-Format Option</td>
            <td align="left">See <xref target="cddl-pcf-opt-fmt"/></td>
            <td align="left"> </td>
            <td align="left">none</td>
          </tr>
        </tbody>
      </table>
      <t>The Parametrized Content-Format Option carries a CBOR-encoded Parametrized
Content-Format data item.</t>
      <figure anchor="cddl-pcf-opt-fmt">
        <name>Parametrized Content-Format Option Format</name>
        <sourcecode type="cddl"><![CDATA[
pcf-option-fmt = bytes .cbor parametrized-content-format
]]></sourcecode>
      </figure>
      <t>The semantic is identical to the Content-Format Option described in <xref section="5.10.3" sectionFormat="of" target="RFC7252"/>.</t>
    </section>
    <section anchor="sec-pma-option">
      <name>Parametrized Multi-Valued Accept Option</name>
      <table anchor="tbl-pmva-opt">
        <name>Parametrized Multi-Valued Accept Option</name>
        <thead>
          <tr>
            <th align="left">Number</th>
            <th align="left">C</th>
            <th align="left">U</th>
            <th align="left">N</th>
            <th align="left">R</th>
            <th align="left">Name</th>
            <th align="left">Format</th>
            <th align="left">Length</th>
            <th align="left">Default</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">TBD13</td>
            <td align="left">x</td>
            <td align="left"> </td>
            <td align="left"> </td>
            <td align="left"> </td>
            <td align="left">Parametrized Multi-Valued Accept Option</td>
            <td align="left">See <xref target="cddl-pmva-opt-fmt"/></td>
            <td align="left"> </td>
            <td align="left">none</td>
          </tr>
        </tbody>
      </table>
      <t>The Parametrized Multi-Valued Accept Option carries either a single
CBOR-encoded <tt>pa-content-format</tt> data item or two or more <tt>pa-content-format</tt>
items wrapped in a CBOR array.  In turn, each <tt>pa-content-format</tt> can be either
a plain Content-Format or a Parametrized Content-Format as described in
<xref target="cddl-pmva-opt-fmt"/>.</t>
      <figure anchor="cddl-pmva-opt-fmt">
        <name>Parametrized Multi-Valued Accept Option Format</name>
        <sourcecode type="cddl"><![CDATA[
pa-content-format = content-format / parametrized-content-format

one-or-more<T> = T / [ 2* T ]

pmva-option-fmt = bytes .cbor one-or-more<pa-content-format>
]]></sourcecode>
      </figure>
      <t>The semantic is identical to the Accept Option described in <xref section="5.10.4" sectionFormat="of" target="RFC7252"/>, except for the ability to list more than one acceptable (parametrized)
Content-Format, which is key to enable finer-grained content negotiation.</t>
      <t>The Content-Formats are listed in order of preference.  If more than one match
is found, the entry with the lowest index in the array <bcp14>MUST</bcp14> be selected.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security considerations in <xref section="11.1" sectionFormat="of" target="RFC7252"/> related to the parsing
of protocol elements apply.</t>
      <t>The security considerations in <xref section="11.3" sectionFormat="of" target="RFC7252"/> related to
amplification risks apply.</t>
      <t>TODO expand</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t><cref anchor="to-be-removed">RFC Editor: please replace RFCthis with this RFC number and
              remove this note.</cref></t>
      <section anchor="coap-option-numbers-registry">
        <name>CoAP Option Numbers Registry</name>
        <t>IANA is requested to add the entries from <xref target="tbl-iana-req"/> to the CoAP Option
Numbers sub-registry of the Constrained RESTful Environments (CoRE) Parameters
<xref target="IANA.core-parameters"/> registry:</t>
        <table anchor="tbl-iana-req">
          <name>New Options</name>
          <thead>
            <tr>
              <th align="left">Number</th>
              <th align="left">Name</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">TBD13</td>
              <td align="left">Parametrized Multi-Valued Accept Option</td>
              <td align="left">
                <xref target="sec-pma-option"/> of RFCthis</td>
            </tr>
            <tr>
              <td align="left">TBD24</td>
              <td align="left">Parametrized Content-Format Option</td>
              <td align="left">
                <xref target="sec-pcf-option"/> of RFCthis</td>
            </tr>
          </tbody>
        </table>
        <t>This document suggests 13 (TBD13) and 24 (TBD24) as values to be assigned for
the new option numbers.</t>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC7252">
          <front>
            <title>The Constrained Application Protocol (CoAP)</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby">
              <organization/>
            </author>
            <author fullname="K. Hartke" initials="K." surname="Hartke">
              <organization/>
            </author>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <date month="June" year="2014"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained (e.g., low-power, lossy) networks.  The nodes often have 8-bit microcontrollers with small amounts of ROM and RAM, while constrained networks such as IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs) often have high packet error rates and a typical throughput of 10s of kbit/s.  The protocol is designed for machine- to-machine (M2M) applications such as smart energy and building automation.</t>
              <t>CoAP provides a request/response interaction model between application endpoints, supports built-in discovery of services and resources, and includes key concepts of the Web such as URIs and Internet media types.  CoAP is designed to easily interface with HTTP for integration with the Web while meeting specialized requirements such as multicast support, very low overhead, and simplicity for constrained environments.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7252"/>
          <seriesInfo name="DOI" value="10.17487/RFC7252"/>
        </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">
              <organization/>
            </author>
            <author fullname="C. Vigano" initials="C." surname="Vigano">
              <organization/>
            </author>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <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: , , and  for the construction of constants; / for including ABNF (RFC 5234 and RFC 7405) in CDDL specifications; and 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="STD94">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman">
              <organization/>
            </author>
            <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>
        <reference anchor="IANA.core-parameters" target="https://www.iana.org/assignments/core-parameters">
          <front>
            <title>Constrained RESTful Environments (CoRE) Parameters</title>
            <author>
              <organization abbrev="IANA">Internet Assigned Numbers Authority</organization>
            </author>
            <date day="8" month="June" year="2012"/>
          </front>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner">
              <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="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="STD96">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad">
              <organization/>
            </author>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size.  There is a need to be able to define basic security services for this data format.  This document defines the CBOR Object Signing and Encryption (COSE) protocol.  This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization.  This specification additionally describes how to represent cryptographic keys using CBOR.  </t>
              <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="96"/>
          <seriesInfo name="RFC" value="9052"/>
          <seriesInfo name="DOI" value="10.17487/RFC9052"/>
        </reference>
        <reference anchor="I-D.ietf-core-coral">
          <front>
            <title>The Constrained RESTful Application Language (CoRAL)</title>
            <author fullname="Christian Amsüss" initials="C." surname="Amsüss">
         </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>ARM</organization>
            </author>
            <date day="7" month="March" year="2022"/>
            <abstract>
              <t>   The Constrained RESTful Application Language (CoRAL) defines a data
   model and interaction model as well as a compact serialization
   formats for the description of typed connections between resources on
   the Web ("links"), possible operations on such resources ("forms"),
   and simple resource metadata.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-coral-05"/>
        </reference>
        <reference anchor="I-D.lundblade-rats-eat-media-type">
          <front>
            <title>EAT Media Types</title>
            <author fullname="Laurence Lundblade" initials="L." surname="Lundblade">
              <organization>Security Theory LLC</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer Institute for Secure Information Technology</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>arm</organization>
            </author>
            <date day="26" month="May" year="2022"/>
            <abstract>
              <t>   Payloads used in Remote Attestation Procedures may require an
   associated media type for their conveyance, for example when used in
   RESTful APIs.

   This memo defines media types to be used for Entity Attestation
   Tokens (EAT).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-lundblade-rats-eat-media-type-00"/>
        </reference>
      </references>
    </references>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thank you
Carsten Bormann,
<contact fullname="Christian Amsüss"/>,
and
Marco Tiloca
for the useful comments and suggestions.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA81ZbXMbtxH+jl+B0G0iJzpK1FssJs6EluRYM7LkSkw7qcdp
wDscidHxwAB3khhK+S39If3U/rE+C+DIO5KWlX6qZkjx8LK72Jdnd3FRFLGb
Lt9lrFBFJru89U4YMZaFUb/JhB/pvJB5Eb3WZiwKnmqDod67FotFIYfaTLvc
FgljiY5z7OryxIi0iFJtrShUFGsjo0mNYBSn0XaH2XIwVtYqUJ9OsOv0pP+a
xTq3Mrel7fLClJIJIwXk6U0mmQI7LLZc5Am/lCKL+mosW+xWm+uh0eUE6yCq
LYxQOcS+PLnqp2XGT/IbZXQ+xhFsi13LKTYkXXYj81J2GedP38u5l7T1N7BU
+ZD/QFtpfCxUhnE66vdKFmlbmyGNCxOPMD4qiontbm3RMhpSN7JdLduiga2B
0bdWbhGBLdo4VMWoHGBrMdJjYStlbnnVxlpMllVKuzIYxBY1hs3dbU+1rfQj
dLY+bb32qBhnLcZECfoGOozAm3MoLPMO0Hds+WtPw03ipCJXvzkTdqGXsRuV
XnFezHbg+T1m27Eer9J9I/Nr/kqZ65HOfltD9rURZT7SqTT86rRf5zDCzvYg
7PzeqqKdzte2E8lY7pwbhiGXuHx99PXO/k6Xk4L884uDzjaekyTzz4edg33/
PMlKi7Gr/vHhXtfxjDAx0Mb9ftl1uw/3DvF42jvvtesalQaOrkQunJ4ZU3la
l4NoHixoaitrNA+393eIZnTsfMlbCl8io6X4FyazMk8GmUhkZERhIymKaCwT
JSLvzO65YAwuroqp43py9ho+BBbFSMHtWRRFXAwoOGIs7GOQI9ZLigpuJzJW
qZIIS96q+0nLgcQyeCSiEFwVcgybi4KJLIPfc1siviXRo6gSy5tu4bZcJIki
K4uMO/FdLPKFHtvLkonMap7IFAFteXGreS5vvUwXEwckmxwwN3frJZ4AGVZH
wehtmSEc/iqyEg+9OJaTYtMdgg9KlSW8nOgcz3JJC+zjCtCcoAuxoGEhbvVY
cp06EpkaqyKgXRiSd8qSdphn7UBwiXQ4VtsbbKzgm3CpZ/w0L4xOyphmGXMa
sL+Wwo5ILyCNUBuo3LEjbqKm3831unbaiT13bE/IairHgQS3+J3JZdHycjxA
oHG+gQHsxnHEGCbf5FZK3hcDSLoDEnw2u5JOUL5DskTk8w8P7eecO+N6Ohy/
YmGMAlIrr/Q11guKWmjlqoxHdNiJkS7tcPJoZLAp0VMJMgpRi4WFXm5H0khH
2cqCJJkAmxTErGmB1RRnicZ1rm9zOEKKlOEtNAIK2jG8nOSFmkSGGIMa3uhb
eSPNJjwBoB1fO0OwNIOVB4rWkHc4iexY62KUTX0QALjKwG8hYVAKhKwLhOyc
U2675WU+IA+TCXTQm6ueBJ7NPBwUDw+bdPbbkYKKvBMbnapMttY6AE6TM7LA
FBZfsE9UCjgln7ihMLE+PJDCOaX1QuQFzjGGo8BuxQhuP0RY80zDxtmUGTks
KYElHLxjmAh66uU4PIjXZK7cLkfpUai51x7py94ZHchB38MDCwdwuADHvNEq
aXi7NgrqlXeTTDtncLIm0gB6LYcFx0AlKAPOgipFWop1ZdkcXebAshLxH4e8
jdnMyjiaxOnDw3MO1xBsLOMREph1cCBzQ/oXyP6oTp6OgqyJgmugbgWo3NkW
kpGNaniJ8oh9yRvwtyTM4iiRdixwouUtaxBzvm8savsA3JJqF/IsJwXhoq2A
cQ6I8Ix1xo/FRLigoSSkU+bhAGdvAAAfwFcp2xBWEVL5ybF2QYRQ0fkKikyk
gVf+Ck8u2gSkmL6hHFUVocekLOWjzZ0BxSXJnljeevvjVb+16f/z8wv3+/Lk
Lz+eXp4c0++rN72zs/kPFlZcvbn48ex48Wux8+ji7duT82O/GaO8McRab3s/
YYakal28659enPfOWh4cGzmRTqv5QBJcSwPnJq0K+LW0sVEDD6ivjt79+5+d
PUTTZygCdjqdw4eH8PCi8/UeHgA+ueemc8Im9wjFT5mYTKQwRMWj3gSJLEP0
EBCOCB4JtqDNL9+TZj50+beDeNLZ+y4M0IEbg5XOGoNOZ6sjK5u9EtcMrWEz
12ZjfEnTTXl7PzWeK73XBhk7XTLBpk8qaG7iojQu4/swtPNSytng6PjYwxmy
ONAs/KJaE+nQe1sARevzJoVVNQILlRbu/OriEqAshrlG7RBzgKkPmRDl2MgW
CfeFT7goXLGdTDuboe2SeaLu+A9+zsniQuGxBnH2rEI5L+djaxXVjU5OOqHn
vYClSk7ELuXHoJNQjWOlOzhJ5TE16CVVxhZc+oKyKhCKMuSPNdUCcj+iGppH
Qk41gYTjyQgSUK44jKAGJHJpDWkQDLiRVEeEkpWIPqFA/f33310H0eyngjC+
8ucv+XvU4M3BTYx8xd8viEUkzmbt2Uv2gX1gbIXedrt9sL+/u89Ycz+mCnmH
giLjW5TFkftitkzyJVxhyli10G/hbTHIU77RahJscbRSBfUmBy92X0TNyecs
sAANgA9j65dh9gucdmUQuoa+YsCVG2FYszS0uijynvBlZ+dgeQZZ19hVGmEH
SPXO3r3pQS/Hpz+4TnItgZWF+N/6rEXfz/DtmrWP/LX+5JZ97r4j9/2z+/5H
66PcXmK63eLf8CM8ohejSnwgU3JPL3eiqe25FVP7GGv6+yagDRVwqYhhNafV
xzh/tcRZpJSvMwG+BEv/A+M5CqL7meaFuENZkqbqjozr1Vr9veT8z3d7nWif
NP3nu4NO9HWPaPWiv2NARHQZ4A3Q2LG7He0eNrlvR4fsCwpENuvyZxV2cHfx
9bLlEIYuuIrHcasFaHv/c//VcefD/EeX9y+OL3iVSR0CAzUrr1+AjHUcFsW0
c150BoJ6p4X+Nqj0UMZ11lTPoT5GC2imzwmAn/FLP+uupkIFhWlf6HkQQ9KR
hVCZDX3MGAU4BDG1jaFCbxz14x3ruAQDuqGx6dRViMTVFRI25JCBLG6l9Ijr
QbDeNGZGimSKMhct47x1w4E/CscuDdWbsAWxpf5vAc8OPAigQ+P8WPZxFQdM
JccTtGV0ohOBungJ6+fLRLCBJI9d2K/ylwXqg9RpSsBZCQFM9snBOitRzTXQ
Ny4fISljZ6gL6OCI5oXKlXVXolCJcYeFVOhjSC1VtUSChYYJK9LSUMPkXeSk
KhB8Rp5XBz4RIdlGVBwwyjcH+9vb25Rm3qOb6VCNKSICgnzoFdHiH6rZHcx2
dl64ZFPFkbxzrUBnHkdrWhe6gnFKI/u1+MOnyohQt8+riaphYOyen/ue854f
4fMjPuf4XNJ/iqV7Hkjc8zOZD8H7nmp1gX6E32N35P4wuPIJw9H6H5HbjWDf
2eMYXP484TD3/ErKWs1CZ4pS6r8xdQ9fQMVx7zRaDOYLKqV+mn7rCRVXkMTH
T1V9RVVMPgkI6pXM3C50DKDuYFqAapu8iz9S5qwgcKWJpx+WL6C4X8c3f5lD
P1GvoNlZU/AFAo2mZ14Is/12Z7u9G66fxGRdxVtvbZf6zOCviwb3/8BfO7vk
n3eP+esjJ2o67fhGfMJrw4q1lvw4m7W++4hUlQNL5W6IqptH1nDnXyZiyfF+
qYEr4TZAqSrx1yxmtM7yW0NtrXOT0K2AuaCLPGrvSoPmV1LiWMeOruEoxTgx
GRJiJtTK3Q5dij4atcI2vJWttUajw1jtK5YGth6NT2p+ImQI0sy3/e+wnYrb
93wHWR/QzyrO6yO/vnlFlO+Wgr92hj/oM38EApob14c+d6G/R7dIIfRh2Du3
r0ryYnE/6+qt5gWSv1Wi62y+Udfu8yUs3QxXrXRpLKf+7s/ton7XRMPwGnLN
dVfocZvkrLvYCZUFDqRN4m9k0aK6G9lYkq+mS9JiZzxiiurRMk/mFYgJl83u
4g29sKUmOpF3Va3lfH9eFFk02tQuOJCEHktD6jkKRYuo3Y7ZajJuTDYt0Om0
OzXoRcXl74SDFaFUVyW7s+lCxzqrOn0oYTLJpu0/xmx3PTNGpRJqUP/OmRtl
r2v0qc6XdxN6y0DvV3rnvZUDv/+50NFARii0UeglH1ZH3Es8foK6UJsuYEEK
NAxGAh9iQtvP6TUcXbV5U8BKtDxcthPn1d7KU/aLUVZKXwXW7oFDHgKp0Eug
TiXhleXhntNrWiTJ3BlUdR0+mxG6u5eVWAzJ5rl1Tp9V9G05iKp+paqBP/V+
nW8c6cuT5xUM0guW2Syavxx15vEUu42UGlLoZeXpSymzkRCXU+LTU+DqvTWd
a2GmRmX4pEpw9QZ9mWKVUSudV+h4jm4wXOx76Gu8kC2HQxjScpxwwx30uesX
INmGE9C9eahe0Li7YGGtGpJZAHLu+pzaTS9UcLjqpeJAxNfk8r2Y3nVlMhn6
/nPW9etk8rKVisxKL5fIr/lUl+wIUQsd8FekgjzfhGFnRyNDbzQBRb2x/c+/
rH0A2jJy7LfCxJr3VaZjwSrcRTdNDhPrcYh1emXqjxpe7/0XgnhyPcYiAAA=

-->

</rfc>
