<?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-ftbs-rats-msg-wrap-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.15.0 -->
  <front>
    <title abbrev="RATS CMW">RATS Conceptual Messages Wrapper</title>
    <seriesInfo name="Internet-Draft" value="draft-ftbs-rats-msg-wrap-00"/>
    <author initials="H." surname="Birkolz" fullname="Henk Birkolz">
      <organization>Fraunhofer SIT</organization>
      <address>
        <email>henk.birkholz@sit.fraunhofer.de</email>
      </address>
    </author>
    <author initials="N." surname="Smith" fullname="Ned Smith">
      <organization>Intel</organization>
      <address>
        <email>ned.smith@intel.com</email>
      </address>
    </author>
    <author initials="T." surname="Fossati" fullname="Thomas Fossati">
      <organization>arm</organization>
      <address>
        <email>thomas.fossati@arm.com</email>
      </address>
    </author>
    <author initials="H." surname="Tschofenig" fullname="Hannes Tschofenig">
      <organization>arm</organization>
      <address>
        <email>hannes.tschofenig@arm.com</email>
      </address>
    </author>
    <date year="2022" month="October" day="12"/>
    <area>Security</area>
    <workgroup>Remote ATtestation ProcedureS</workgroup>
    <keyword>evidence</keyword>
    <keyword>attestation result</keyword>
    <keyword>endorsement</keyword>
    <keyword>reference value</keyword>
    <abstract>
      <t>This document defines two encapsulation formats for RATS conceptual
messages (e.g., evidence, attestation results, endorsements and
reference values.)</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    Remote ATtestation ProcedureS Working Group mailing list (rats@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/rats/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/thomas-fossati/draft-ftbs-rats-msg-wrap"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>The RATS architecture defines a handful of conceptual messages
(<xref section="8" sectionFormat="of" target="I-D.ietf-rats-architecture"/>). Each conceptual message can have multiple
serialization formats (<xref section="9" sectionFormat="of" target="I-D.ietf-rats-architecture"/>). The same serialized
message may have to be transported via different protocols - for
example, EAT <xref target="I-D.ietf-rats-eat"/> evidence in a "background check" topological
arrangement, AR4SI <xref target="I-D.ietf-rats-ar4si"/> attestation results in "passport"
mode.</t>
      <t>In order to minimize the cost associated with registration and maximize
interoperability, it is desirable to reuse their typing information
across such boundaries.</t>
      <t>This document defines two encapsulation formats for RATS conceptual
messages that aim to achieve the goals stated above.</t>
      <t>These encapsulation formats are designed to be:</t>
      <ul spacing="normal">
        <li>Self-describing - which removes the dependency on the framing provided
by the embedding protocol (or the storage system) to convey exact
typing information.</li>
        <li>Based on media types - which allows amortising their registration cost
across many different usage scenarios.</li>
      </ul>
      <t>A protocol designer could use these formats, for example, to convey
evidence, endorsements or reference values in certificates and CRLs
extensions (<xref target="DICE-arch"/>), to embed attesation results or evidence as
first class authentication credentials in TLS handshake messages
<xref target="I-D.fossati-tls-attestation"/>, to transport attestation-related payloads in RESTful APIs,
or for stable storage of attestation results in form of file system
objects.</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, CDDL <xref target="RFC8610"/> <xref target="RFC9165"/> is used to describe the
data formats.</t>
      <t>The reader is assumed to be familiar with the vocabulary and concepts
defined in <xref target="I-D.ietf-rats-architecture"/>.</t>
    </section>
    <section anchor="conceptual-message-wrapper-encodings">
      <name>Conceptual Message Wrapper Encodings</name>
      <t>Two types of RATS Conceptual Message Wrapper (CMW) are specified in this
document:</t>
      <ol spacing="normal" type="1"><li>a CMW using a CBOR or a JSON array (<xref target="type-n-val"/>)</li>
        <li>a CMW based on CBOR tags (<xref target="cbor-tag"/>).</li>
      </ol>
      <section anchor="type-n-val">
        <name>CMW Array</name>
        <t>The CMW array illustrated in <xref target="fig-cddl"/> is composed of two members:</t>
        <ul spacing="normal">
          <li>type: ether a text string representing a media-type <xref target="RFC6838"/> or an
unsigned integer corresponding to a CoAP Content-Format <xref target="RFC7252"/></li>
          <li>value: the RATS conceptual message serialized according to the
value defined in the type member.</li>
        </ul>
        <t>A CMW array can be encoded as CBOR <xref target="STD94"/> or JSON <xref target="RFC8259"/>.</t>
        <t>When using JSON, the value field is encoded as Base64 using the URL and
filename safe alphabet (Section 5 of <xref target="RFC4648"/>) without padding.</t>
        <t>When using CBOR, the value field is serialized as a CBOR bytes string.</t>
        <figure anchor="fig-cddl">
          <name>CDDL definition</name>
          <artwork type="cddl" align="left"><![CDATA[
cmw = [ type, value ]

type = coap-content-format / media-type

coap-content-format = uint .size 2
media-type = text .abnf ("media-type" .cat RFC6838)

value = cbor-bytes / base64-string

cbor-bytes = bytes
base64-string = text .regexp "[A-Za-z0-9_-]+"

RFC6838 = '
media-type = type-name "/" subtype-name *1("+" suffix) parameters

type-name = restricted-name
subtype-name = restricted-name

; see https://www.iana.org/assignments/media-type-structured-suffix/
suffix = "xml" / "json" / "ber" / "cbor" / "der" / "fastinfoset" /
         "wbxml" / "zip" / "tlv" / "json-seq" / "sqlite3" / "jwt" /
         "gzip" / "cbor-seq" / "zstd"

parameters = *(";" parameter-name "=" parameter-value)

parameter-name = restricted-name
parameter-value = *VCHAR

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

VCHAR = %x21-7E            ; Visible (printing) characters
ALPHA = %x41-5A / %x61-7A  ; A-Z / a-z
DIGIT = %x30-39            ; 0-9
'
]]></artwork>
        </figure>
      </section>
      <section anchor="cbor-tag">
        <name>CMW CBOR Tags</name>
        <t>CBOR Tags used as CMW are derived from CoAP Content Format values.
If a CoAP Content Format exists for a RATS conceptual message, the
TN() transform defined in <xref section="B" sectionFormat="of" target="RFC9277"/> can be used to
derive a CBOR tag in range [1668546817, 1668612095].</t>
      </section>
    </section>
    <section anchor="examples">
      <name>Examples</name>
      <t>The (equivalent) examples below assume the media-type
<tt>application/vnd.example.rats-conceptual-msg</tt> has been registered
alongside a corresponding CoAP content format <tt>30001</tt>.  The CBOR tag
<tt>1668576818</tt> is derived applying the TN transform as described in
<xref target="cbor-tag"/>.</t>
      <figure anchor="fig-example-cbor">
        <name>CBOR encoding</name>
        <artwork type="cbor-diag" align="left"><![CDATA[
[
  30001,
  h'abcdabcd'
]
]]></artwork>
      </figure>
      <figure anchor="fig-example-json">
        <name>JSON encoding</name>
        <artwork type="cbor-diag" align="left"><![CDATA[
[
  "application/vnd.example.rats-conceptual-msg",
  "q82rzQ"
]
]]></artwork>
      </figure>
      <figure anchor="fig-example-cbor-tag">
        <name>CBOR tag</name>
        <artwork type="cbor-diag" align="left"><![CDATA[
1668576818(h'abcdabcd')
]]></artwork>
      </figure>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TODO Security</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>When registering a new media type for evidence, in addition to its
syntactical description, the author <bcp14>SHOULD</bcp14> provide a public and stable
description of the signing and appraisal procedures associated with
the data format.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC4648">
          <front>
            <title>The Base16, Base32, and Base64 Data Encodings</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson">
              <organization/>
            </author>
            <date month="October" year="2006"/>
            <abstract>
              <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes.  It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4648"/>
          <seriesInfo name="DOI" value="10.17487/RFC4648"/>
        </reference>
        <reference anchor="RFC6838">
          <front>
            <title>Media Type Specifications and Registration Procedures</title>
            <author fullname="N. Freed" initials="N." surname="Freed">
              <organization/>
            </author>
            <author fullname="J. Klensin" initials="J." surname="Klensin">
              <organization/>
            </author>
            <author fullname="T. Hansen" initials="T." surname="Hansen">
              <organization/>
            </author>
            <date month="January" year="2013"/>
            <abstract>
              <t>This document defines procedures for the specification and registration of media types for use in HTTP, MIME, and other Internet protocols.  This memo documents an Internet Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="13"/>
          <seriesInfo name="RFC" value="6838"/>
          <seriesInfo name="DOI" value="10.17487/RFC6838"/>
        </reference>
        <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="RFC8259">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray">
              <organization/>
            </author>
            <date month="December" year="2017"/>
            <abstract>
              <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format.  It was derived from the ECMAScript Programming Language Standard.  JSON defines a small set of formatting rules for the portable representation of structured data.</t>
              <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="90"/>
          <seriesInfo name="RFC" value="8259"/>
          <seriesInfo name="DOI" value="10.17487/RFC8259"/>
        </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="RFC9277">
          <front>
            <title>On Stable Storage for Items in Concise Binary Object Representation (CBOR)</title>
            <author fullname="M. Richardson" initials="M." surname="Richardson">
              <organization/>
            </author>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <date month="August" year="2022"/>
            <abstract>
              <t>This document defines a stored ("file") format for Concise Binary Object Representation (CBOR) data items that is friendly to common systems that recognize file types, such as the Unix file(1) command.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9277"/>
          <seriesInfo name="DOI" value="10.17487/RFC9277"/>
        </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="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="I-D.ietf-rats-architecture">
          <front>
            <title>Remote Attestation Procedures Architecture</title>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Dave Thaler" initials="D." surname="Thaler">
              <organization>Microsoft</organization>
            </author>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <author fullname="Ned Smith" initials="N." surname="Smith">
              <organization>Intel Corporation</organization>
            </author>
            <author fullname="Wei Pan" initials="W." surname="Pan">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="28" month="September" year="2022"/>
            <abstract>
              <t>   In network protocol exchanges it is often useful for one end of a
   communication to know whether the other end is in an intended
   operating state.  This document provides an architectural overview of
   the entities involved that make such tests possible through the
   process of generating, conveying, and evaluating evidentiary claims.
   An attempt is made to provide for a model that is neutral toward
   processor architectures, the content of claims, and protocols.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-architecture-22"/>
        </reference>
        <reference anchor="I-D.ietf-rats-eat">
          <front>
            <title>The Entity Attestation Token (EAT)</title>
            <author fullname="Laurence Lundblade" initials="L." surname="Lundblade">
              <organization>Security Theory LLC</organization>
            </author>
            <author fullname="Giridhar Mandyam" initials="G." surname="Mandyam">
              <organization>Qualcomm Technologies Inc.</organization>
            </author>
            <author fullname="Jeremy O'Donoghue" initials="J." surname="O'Donoghue">
              <organization>Qualcomm Technologies Inc.</organization>
            </author>
            <author fullname="Carl Wallace" initials="C." surname="Wallace">
              <organization>Red Hound Software, Inc.</organization>
            </author>
            <date day="9" month="October" year="2022"/>
            <abstract>
              <t>   An Entity Attestation Token (EAT) provides an attested claims set
   that describes state and characteristics of an entity, a device like
   a smartphone, IoT device, network equipment or such.  This claims set
   is used by a relying party, server or service to determine how much
   it wishes to trust the entity.

   An EAT is either a CBOR Web Token (CWT) or JSON Web Token (JWT) with
   attestation-oriented claims.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-eat-16"/>
        </reference>
        <reference anchor="I-D.ietf-rats-ar4si">
          <front>
            <title>Attestation Results for Secure Interactions</title>
            <author fullname="Eric Voit" initials="E." surname="Voit">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Thomas Hardjono" initials="T." surname="Hardjono">
              <organization>MIT</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Vincent Scarlata" initials="V." surname="Scarlata">
              <organization>Intel</organization>
            </author>
            <date day="6" month="September" year="2022"/>
            <abstract>
              <t>   This document defines reusable Attestation Result information
   elements.  When these elements are offered to Relying Parties as
   Evidence, different aspects of Attester trustworthiness can be
   evaluated.  Additionally, where the Relying Party is interfacing with
   a heterogeneous mix of Attesting Environment and Verifier types,
   consistent policies can be applied to subsequent information exchange
   between each Attester and the Relying Party.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-ar4si-03"/>
        </reference>
        <reference anchor="I-D.fossati-tls-attestation">
          <front>
            <title>Using Attestation in Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)</title>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Paul Howard" initials="P." surname="Howard">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Ionuț Mihalcea" initials="I." surname="Mihalcea">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Yogesh Deshpande" initials="Y." surname="Deshpande">
              <organization>Arm Limited</organization>
            </author>
            <date day="26" month="August" year="2022"/>
            <abstract>
              <t>   Various attestation technologies have been developed and formats have
   been standardized.  Examples include the Entity Attestation Token
   (EAT) and Trusted Platform Modules (TPMs).  Once attestation
   information has been produced on a device it needs to be communicated
   to a relying party.  This information exchange may happen at
   different layers in the protocol stack.

   This specification provides a generic way of passing attestation
   information in the TLS handshake.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-fossati-tls-attestation-01"/>
        </reference>
        <reference anchor="DICE-arch" target="https://trustedcomputinggroup.org/wp-content/uploads/DICE-Attestation-Architecture-r23-final.pdf">
          <front>
            <title>DICE Attestation Architecture</title>
            <author>
              <organization>Trusted Computing Group</organization>
            </author>
            <date year="2021" month="March"/>
          </front>
        </reference>
      </references>
    </references>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
td2BEMtl7sWoZnE9o7JXxjMsjcs8Xau1sq619eWPOBnfKsbNBn2NKdHN4Oqh
Csw1RozONjbd6MNzyVqzNixoQgbuvOS2y11hopjW1bZuIYUTtylIUI5O8+2I
/OV9b3d379nOLjr6jqTn3V5/e//ZLx+4+Tt2A2Y912zoz1UM1aDHZjN7UnBj
Eq6bT66KK1XqExq+pB76tmZZ1K1PdbnLXKpM/8PwCSMgUdNZPURjQogEXc9P
DIZKiL/e6LBZ6wJY98Ty09Pt7e3ep67ku6lGXfGJlXwOJfc+ufsW5z+SbtF0
C6OzFTMrI1dnIbHaNjZVnBag6US8R5Qx4w4epo9VEEb077H4sBakte7c8fxu
sJLouu6vKVTvcvT+gG09ksz7vNcvv/zgPSAW1ZbfE4tbtIfFWpp5Y8UMmw9a
gez5P1kC+zhfZfM/RpRPFBXuooXi8/zovP0q+KJ1eDa8s43buCa8XM+d6fnK
DY+7V2kvUWiARQvIbSJ63xjjEmNhSFcZSR0jBX12HaG7bZf1eFnfU4FJUQXw
Fc9d7h5CrBzlkYFuqmAAlinj0CxVbMCjaP7vy9y+aRR8S7YcCbvurpnuRckA
w/Aqy+eJjibcwcADWUWtuY4O0HskRpNJ2W6q3YmZ/D8FmpkzTRwAAA==

-->

</rfc>
