<?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.23 (Ruby 3.4.1) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-core-href-18" category="std" consensus="true" submissionType="IETF" xml:lang="en" updates="7595" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.24.0 -->
  <front>
    <title>Constrained Resource Identifiers</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-core-href-18"/>
    <author initials="C." surname="Bormann" fullname="Carsten Bormann" role="editor">
      <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>
    <author initials="H." surname="Birkholz" fullname="Henk Birkholz">
      <organization>Fraunhofer SIT</organization>
      <address>
        <postal>
          <street>Rheinstrasse 75</street>
          <city>Darmstadt</city>
          <code>64295</code>
          <country>Germany</country>
        </postal>
        <email>henk.birkholz@sit.fraunhofer.de</email>
      </address>
    </author>
    <date year="2025" month="February" day="03"/>
    <workgroup>CoRE Working Group</workgroup>
    <abstract>
      <?line 93?>

<t>The Constrained Resource Identifier (CRI) is a complement to the Uniform
Resource Identifier (URI) that represents the URI components in Concise
Binary Object Representation (CBOR) instead of in a sequence of characters.
This simplifies parsing, comparison, and reference resolution in
environments with severe limitations on processing power, code size, and
memory size.</t>
      <t>This RFC updates RFC 7595 to add a note on how the URI Schemes
registry RFC 7595 describes cooperates with the CRI Scheme Numbers
registry created by the present RFC.</t>
      <t><cref anchor="status">(This "cref" paragraph will be removed by the RFC
editor:)<br/>
The present revision –18 integrates two small changes from the CoRE
interim on 2025-01-29 and should be ready for WGLC.</cref></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-ietf-core-href/"/>.
      </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/core-wg/href"/>.</t>
    </note>
  </front>
  <middle>
    <?line 114?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The <xref target="STD66">Uniform Resource Identifier (URI)</xref> and its most common
usage, the URI reference, are the Internet standard for linking to
resources in hypertext formats such as <xref target="W3C.REC-html52-20171214">HTML</xref>
or the <xref target="RFC8288">HTTP "Link" header field</xref>.</t>
      <t>A URI reference is a sequence of characters chosen from the repertoire
of US-ASCII characters.
The individual components of a URI reference are delimited by a number
of reserved characters, which necessitates the use of a character escape
mechanism called "percent-encoding" when these reserved characters are
used in a non-delimiting function.
The resolution of URI references involves parsing a character sequence
into its components, combining those components with the components of a
base URI, merging path components, removing dot-segments, and
recomposing the result back into a character sequence.</t>
      <t>Overall, the proper handling of URI references is quite intricate.
This can be a problem especially in <xref target="RFC7228">constrained environments</xref>,
where nodes often have severe code size and memory size limitations.
As a result, many implementations in such environments support only an
ad-hoc, informally-specified, bug-ridden, non-interoperable subset of
half of <xref target="STD66"/>.</t>
      <t>This document defines the <em>Constrained Resource Identifier (CRI)</em> by
constraining URIs to a simplified subset and representing their
components in <xref target="STD94">Concise Binary Object Representation (CBOR)</xref>
instead of a sequence of characters.
This allows typical operations on URI references such as parsing,
comparison, and reference resolution (including all corner cases) to be
implemented in a comparatively small amount of code.</t>
      <t>As a result of simplification, however, CRIs are not capable of
expressing all URIs permitted by the generic syntax of <xref target="STD66"/> (hence
the "constrained" in "Constrained Resource Identifier").
The supported subset includes all URIs of the
<xref target="RFC7252">Constrained Application Protocol (CoAP)</xref>, most URIs of the
<xref target="STD97">Hypertext Transfer Protocol (HTTP)</xref>,
<xref target="RFC8141">Uniform Resource Names (URNs)</xref>, and other similar URIs.
The exact constraints are defined in <xref target="constraints"/>.</t>
      <t>This RFC creates a "CRI Scheme Numbers" registry and updates <xref target="RFC7595"/>
to add a note on how this new registry cooperates with the URI Schemes
registry that <xref target="RFC7595"/> describes.</t>
      <section anchor="notational-conventions">
        <name>Notational Conventions</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 <xref target="BCP14"/> (<xref target="RFC2119"/>) (<xref target="RFC8174"/>) when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

<t>In this specification, the term "byte" is used in its now customary
sense as a synonym for "octet".</t>
        <t>Terms defined in this document appear in <em>cursive</em> where they
are introduced (in the plaintext form of this document, they are
rendered as the new term surrounded by underscores).</t>
        <t>The general structure of data items is shown in the <xref target="RFC8610">Concise Data Definition
Language (CDDL)</xref> <xref target="RFC9165">including its control
extensions</xref>.
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>
      </section>
    </section>
    <section anchor="constraints">
      <name>Constraints</name>
      <t>A Constrained Resource Identifier consists of the same five components
as a URI: scheme, authority, path, query, and fragment.
The components are subject to the following constraints:</t>
      <ol spacing="normal" type="C%d."><li anchor="c-scheme">
          <t>The scheme name can be any Unicode string (see
Definition D80 in <xref target="Unicode"/>) that matches the syntax of a URI
scheme (see Section <xref target="RFC3986" section="3.1" sectionFormat="bare"/> of RFC 3986 <xref target="STD66"/>, which constrains scheme names to
ASCII) and is lowercase (see Definition D139 in <xref target="Unicode"/>).
The scheme is always present.</t>
        </li>
        <li anchor="c-authority">
          <t>An authority is always a host identified by an IP
address or registered name, along with optional port information,
and optionally preceded by user information.  </t>
          <t>
Alternatively, the authority can be absent; the two cases for this
defined in Section <xref target="RFC3986" section="3.3" sectionFormat="bare"/> of RFC 3986 <xref target="STD66"/> are modeled by two different
values used in place of an absent authority:  </t>
          <ul spacing="normal">
            <li>
              <t>the path can be root-based (zero or more path components that are
each started in the URI with "/", as when the authority is
present), or</t>
            </li>
            <li>
              <t>the path can be rootless, which requires at least one path component.</t>
            </li>
          </ul>
          <t>
(Note that, in <xref target="cddl"/>, <tt>no-authority</tt> is marked as a feature, as
not all CRI implementations will support authority-less URIs.)</t>
        </li>
        <li anchor="c-userinfo">
          <t>A userinfo is a text string built out of unreserved
  characters (Section <xref target="RFC3986" section="2.3" sectionFormat="bare"/> of RFC 3986 <xref target="STD66"/>) or "sub-delims" (Section <xref target="RFC3986" section="2.2" sectionFormat="bare"/> of RFC 3986 <xref target="STD66"/>); any other character needs to be percent-encoded (<xref target="pet"/>).
Note that this excludes the ":" character, which is commonly
deprecated as a way to delimit a cleartext password in a userinfo.</t>
        </li>
        <li anchor="c-ip-address">
          <t>An IP address can be either an IPv4 address or an
IPv6 address (optionally with a zone identifier <xref target="RFC6874"/>; see
<xref target="zone-id-issue"/>).
Future versions of IP are not supported (it is likely that a binary
mapping would be strongly desirable, and that cannot be designed
ahead of time, so these versions need to be added as a future
extension if needed).</t>
        </li>
        <li anchor="c-reg-name">
          <t>A registered name is a sequence of one or more
<em>labels</em>, which, when joined with dots (".") in between them,
result in a Unicode string that is lowercase and in Unicode
Normalization Form C (NFC) (see Definition D120 in <xref target="Unicode"/>).
(The syntax may be further restricted by the scheme.
As per Section <xref target="RFC3986" section="3.2.2" sectionFormat="bare"/> of RFC 3986 <xref target="STD66"/>, a registered name can be empty, for
which case a scheme can define a default for the host.)</t>
        </li>
        <li anchor="c-port-range">
          <t>A port is always an integer in the range from 0 to 65535.
Ports outside this range, empty ports (port subcomponents with no
digits, see Section <xref target="RFC3986" section="3.2.3" sectionFormat="bare"/> of RFC 3986 <xref target="STD66"/>), or ports with redundant
leading zeros, are not supported.</t>
        </li>
        <li anchor="c-port-omitted">
          <t>The port is omitted if and only if the port would be the same as the
scheme's default port (provided the scheme is defining such a default
port) or the scheme is not using ports.
<!-- Note that this is hard to do by a generic URI implementation
that may not know the scheme's default port -->
          </t>
        </li>
        <li anchor="c-path">
          <t>A path consists of zero or more path segments.
Note that a path of just a single zero-length path segment is allowed —
this is considered equivalent to a path of zero path segments by
HTTP and CoAP, but this equivalence does not hold for CRIs in general as they only perform
normalization on the Syntax-Based Normalization level (Section <xref target="RFC3986" section="6.2.2" sectionFormat="bare"/> of RFC 3986 <xref target="STD66"/>), not on the scheme-specific Scheme-Based
Normalization level (Section <xref target="RFC3986" section="6.2.3" sectionFormat="bare"/> of RFC 3986 <xref target="STD66"/>).  </t>
          <t>
(A CRI implementation may want to offer scheme-cognizant
interfaces, performing this scheme-specific normalization for
schemes it knows.  The interface could assert which schemes the
implementation knows and provide pre-normalized CRIs.  This can
also relieve the application from removing a lone zero-length path
segment before putting path segments into CoAP Options, i.e., from
performing the check and jump in item 8 of <xref section="6.4" sectionFormat="of" target="RFC7252"/>.  See also <xref format="counter" target="sp-initial-empty"/> in <xref target="the-small-print"/>.)</t>
        </li>
        <li anchor="c-path-segment">
          <t>A path segment can be any Unicode string that is
in NFC, with the exception of the special "." and ".." complete path
segments.
Note that this includes the zero-length string.  </t>
          <t>
If no authority is present in a CRI, the leading path segment cannot be empty.
(See also <xref format="counter" target="sp-initial-empty"/> in <xref target="the-small-print"/>.)</t>
        </li>
        <li anchor="c-query">
          <t>A query always consists of one or more query parameters.
   A query parameter can be any Unicode string that is in NFC.
   It is often in the form of a "key=value" pair.
   When converting a CRI to a URI, query parameters are separated by an
   ampersand ("&amp;") character.
   (This matches the structure and encoding of the target URI in CoAP
   requests.)
   Queries are optional; there is a difference between an absent query
   and a single query parameter that is the empty string.</t>
        </li>
        <li anchor="c-fragment">
          <t>A fragment identifier can be any Unicode string that
   is in NFC.
   Fragment identifiers are optional; there is a difference between an
   absent fragment identifier and a fragment identifier that is the
   empty string.</t>
        </li>
        <li anchor="c-escaping">
          <t>The syntax of registered names, path segments, query
   parameters, and fragment identifiers may be further restricted and
   sub-structured by the scheme.
   There is no support, however, for escaping sub-delimiters
   that are not intended to be used in a delimiting function.</t>
        </li>
        <li anchor="c-mapping">
          <t>When converting a CRI to a URI, any character that is
   outside the allowed character range or is a delimiter in the URI syntax
   is percent-encoded.
   For CRIs, percent-encoding always uses the UTF-8 encoding form (see
   Definition D92 in <xref target="Unicode"/>) to convert the character to a sequence
   of bytes (that is then converted to a sequence of %HH triplets).
   <!-- As per 3986 2.1, use uppercase hex. -->
          </t>
        </li>
      </ol>
      <t>Examples for URIs at or beyond the boundaries of these constraints are in <xref format="counter" target="sp-constraints"/> in <xref target="the-small-print"/>.</t>
      <section anchor="constraints-not-expressed-by-the-data-model">
        <name>Constraints not expressed by the data model</name>
        <t>There are syntactically valid CRIs and CRI references that cannot be converted into a URI or URI reference, respectively.</t>
        <t>For CRI references, this is acceptable -- they can be resolved still and result in a valid CRI that can be converted back.
Examples of this are:</t>
        <ul spacing="normal">
          <li>
            <t><tt>[0, ["p"]]</tt>: appends a slash and the path segment "p" to its base
(and unsets the query and the fragment)</t>
          </li>
          <li>
            <t><tt>[0, null, []]</tt>: leaves the path alone but unsets the query and the fragment</t>
          </li>
        </ul>
        <t>(Full) CRIs that do not correspond to a valid URI are not valid on their own, and cannot be used.
Normatively they are characterized by the <xref target="cri-to-uri"/> process not producing a valid and syntax-normalized URI.
For easier understanding, they are listed here:</t>
        <ul spacing="normal">
          <li>
            <t>CRIs (and CRI references) containing a path component "." or "..".  </t>
            <t>
These would be removed by the remove_dot_segments algorithm of <xref target="STD66"/>,
and thus never produce a normalized URI after resolution.  </t>
            <t>
(In CRI references, the <tt>discard</tt> value is used to afford segment removal,
and with "." being an unreserved character, expressing them as "%2e" and "%2e%2e" is not even viable,
let alone practical).</t>
          </li>
          <li>
            <t>CRIs without authority whose path starts with two or more empty segments.  </t>
            <t>
When converted to URIs, these would violate the requirement that in absence of an authority, a URI's path cannot begin with two slash characters,
and they would be indistinguishable from a URI with a shorter path and a present but empty authority component.</t>
          </li>
          <li anchor="naked-rootless">
            <t>CRIs without authority that are rootless and do not have a path
component (e.g., <tt>["a", true]</tt>), which would be indistinguishable
from its root-based equivalent (<tt>["a"]</tt>) as both would have the URI <tt>a:</tt>.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="creation-and-normalization">
      <name>Creation and Normalization</name>
      <t>In general, resource identifiers are created on the initial creation of a
resource with a certain resource identifier, or the initial exposition
of a resource under a particular resource identifier.</t>
      <t>A Constrained Resource Identifier <bcp14>SHOULD</bcp14> be created by
the naming authority that governs the namespace of the resource
identifier (see also <xref target="BCP190"/>).
For example, for the resources of an HTTP origin server,
that server is responsible for creating the CRIs for those resources.</t>
      <t>The naming authority <bcp14>MUST</bcp14> ensure that any CRI created
satisfies the constraints defined in <xref target="constraints"/>. The creation of a
CRI fails if the CRI cannot be validated to satisfy all of the
constraints.</t>
      <t>If a naming authority creates a CRI from user input, it <bcp14>MAY</bcp14> apply
the following (and only the following) normalizations to get the CRI
more likely to validate:</t>
      <ul spacing="normal">
        <li>
          <t>map the scheme name to lowercase (<xref format="counter" target="c-scheme"/>);</t>
        </li>
        <li>
          <t>map the registered name to NFC (<xref format="counter" target="c-reg-name"/>) and split it on
embedded dots;</t>
        </li>
        <li>
          <t>elide the port if it is the default port for the scheme
(<xref format="counter" target="c-port-omitted"/>);
<!-- * elide a single zero-length path segment ({{<c-path}}); -->
          </t>
        </li>
        <li>
          <t>map path segments, query parameters and the fragment identifier to
NFC form (<xref format="counter" target="c-path-segment"/>, <xref format="counter" target="c-query"/>, <xref format="counter" target="c-fragment"/>).</t>
        </li>
      </ul>
      <t>Once a CRI has been created, it can be used and transferred without
further normalization.
All operations that operate on a CRI <bcp14>SHOULD</bcp14> rely on the
assumption that the CRI is appropriately pre-normalized.
(This does not contradict the requirement that when CRIs are
transferred, recipients must operate on as-good-as untrusted input and
fail gracefully in the face of malicious inputs.)</t>
      <t>CRIs have been designed with the objective that, after the above
normalization, conversion of two distinct (absolute) CRIs to URIs do
not yield the "same" URI, including equivalence under syntax-based
normalization (Section <xref target="RFC3986" section="6.2.2" sectionFormat="bare"/> of RFC 3986 <xref target="STD66"/>), but not including
protocol-based normalization.
(This is not an objective for CRI references, which may lead to
equivalent URIs or not depending on the base used for resolving them.)</t>
    </section>
    <section anchor="comparison">
      <name>Comparison</name>
      <t>One of the most common operations on CRIs is comparison: determining
whether two CRIs are equivalent, without dereferencing the CRIs (i.e.,
using
them to access their respective resource(s)).</t>
      <t>Determination of equivalence or difference of CRIs is based on simple
component-wise comparison. If two CRIs are identical
component-by-component (using code-point-by-code-point comparison for
components that are Unicode strings) then it is safe to conclude that
they are equivalent.</t>
      <t>This comparison mechanism is designed to minimize false negatives while
strictly avoiding false positives.
The constraints defined in <xref target="constraints"/> imply the most
common forms of syntax- and scheme-based normalizations in URIs, but do
not comprise protocol-based normalizations that require accessing the
resources or detailed knowledge of the scheme's dereference algorithm.
False negatives can be caused, for example, by CRIs that are not
appropriately pre-normalized and by resource aliases.</t>
      <t>When CRIs are compared to select (or avoid) a network action, such as
retrieval of a representation, fragment components (if any) should be
excluded from the comparison.</t>
    </section>
    <section anchor="cri-references">
      <name>CRI References</name>
      <t>The most common usage of a Constrained Resource Identifier is to embed
it in resource representations, e.g., to express a hyperlink between the
represented resource and the resource identified by the CRI.</t>
      <t>This section defines the representation of CRIs in
<xref target="STD94">Concise Binary Object Representation (CBOR)</xref>.
When reduced representation size is desired, CRIs are often not represented directly.
Instead, CRIs are indirectly referenced through <em>CRI references</em>.
These take advantage of hierarchical locality and provide a very compact
encoding.
The CBOR representation of CRI references is specified in
<xref target="cbor-representation"/>.</t>
      <t>The only operation defined on a CRI reference is <em>reference resolution</em>:
the act of transforming a CRI reference into a CRI.
<!-- , relative to a base URI -->
An application <bcp14>MUST</bcp14> implement this operation by applying
the algorithm specified in <xref target="reference-resolution"/> (or any algorithm
that is functionally equivalent to it).</t>
      <t>The reverse operation of transforming a CRI into a CRI reference is
not specified in detail in this document;
implementations are free to use any algorithm as long as reference
resolution of the resulting CRI reference yields the original CRI.
Notably, a CRI reference is not required to satisfy all of the
constraints of a CRI; the only requirement on a CRI reference is that
reference resolution <bcp14>MUST</bcp14> yield the original CRI.</t>
      <t>When testing for equivalence or difference, applications <bcp14>SHOULD NOT</bcp14>
directly compare CRI references; the references should be
resolved to their respective CRI before comparison.</t>
      <section anchor="cbor-representation">
        <name>CBOR Representation</name>
        <t><cref anchor="replace-xxxx">RFC Ed.: throughout this section, please replace
RFC-XXXX with the RFC number of this specification and remove this
note.</cref></t>
        <t>A CRI or CRI reference is encoded as a CBOR array (Major type 4 in
Section <xref target="RFC8949" section="3.1" sectionFormat="bare"/> of RFC 8949 <xref target="STD94"/>), with the structure described in CDDL as
follows:</t>
        <figure anchor="cddl">
          <name>CDDL for CRI CBOR representation</name>
          <sourcecode type="cddl"><![CDATA[
; not expressed in this CDDL spec: trailing nulls to be left off

RFC-XXXX-Definitions = [CRI, CRI-Reference]

CRI = [
  scheme,
  authority / no-authority,
  path / null,
  query / null,
  fragment / null
]


CRI-Reference = [
  ((scheme / null, authority / no-authority)
   // discard),                 ; relative reference
  path / null,
  query / [] / null,            ; [] is explicit unset
  fragment / null
]

scheme      = scheme-name / scheme-id
scheme-name = text .regexp "[a-z][a-z0-9+.-]*"
scheme-id   = nint              ; -1 - scheme-number

no-authority = NOAUTH-ROOTBASED / NOAUTH-ROOTLESS
NOAUTH-ROOTBASED = null .feature "no-authority"
NOAUTH-ROOTLESS = true .feature "no-authority"

authority   = [?userinfo, host, ?port]
userinfo    = (false, text .feature "userinfo")
host        = (host-ip // host-name)
host-name   = (*text) ; lowercase, NFC labels
host-ip     = (bytes .size 4 //
               (bytes .size 16, ?zone-id))
zone-id     = text
port        = 0..65535

discard     = DISCARD-ALL / 0..127
DISCARD-ALL = true
path        = [*text]
query       = [+text]
fragment    = text

]]></sourcecode>
        </figure>
        <t>The rules <tt>scheme</tt>, <tt>authority</tt>, <tt>path</tt>, <tt>query</tt>, <tt>fragment</tt>
correspond to the (sub‑)components of a CRI, as described in
<xref target="constraints"/>, with the addition of the <tt>discard</tt> section.</t>
        <t anchor="prose">This CDDL specification is simplified for exposition and needs to be
augmented by the following rules for interchange of CRIs and CRI
references:</t>
        <ul spacing="normal">
          <li>
            <t>Trailing null values <bcp14>MUST</bcp14> be removed,</t>
          </li>
          <li>
            <t>two leading null values (scheme and authority both not given) <bcp14>MUST</bcp14>
be represented by using the <tt>discard</tt> alternative instead, and</t>
          </li>
          <li>
            <t>an empty path in a <tt>CRI</tt> <bcp14>MUST</bcp14> be represented as the empty array <tt>[]</tt>
(note that for <tt>CRI-Reference</tt> there is a difference between empty
and absent paths, represented by <tt>[]</tt> and <tt>null</tt>, respectively),</t>
          </li>
          <li>
            <t>an entirely empty outer array is not a valid CRI (but a valid CRI reference,
as per <xref target="ingest"/> equivalent to <tt>[0]</tt>, which essentially copies the
base CRI).</t>
          </li>
        </ul>
        <t>Application specifications that use CRIs may explicitly enable the use
of "stand-in" items (tags or simple values).
These are data items used in place of original representation items
such as strings or arrays, where the tag or simple value is defined to
stand for a data item that can be used in the position of the stand-in
item.
Examples would be tags such as 21 to 23 (Section <xref target="RFC8949" section="3.4.5.2" sectionFormat="bare"/> of RFC 8949 <xref target="STD94"/>), which stand for text string components but internally
employ more compact byte string representations, or reference tags and
simple values as defined in <xref target="I-D.ietf-cbor-packed"/>.</t>
        <t>For interchange as separate encoded data items, CRIs <bcp14>MUST NOT</bcp14> use
indefinite length encoding (see
Section <xref target="RFC8949" section="3.2" sectionFormat="bare"/> of RFC 8949 <xref target="STD94"/>); this requirement is relaxed for
specifications that embed CRIs into an encompassing CBOR
representation that does provide for indefinite length encoding.</t>
        <section anchor="scheme-id">
          <name><tt>scheme-name</tt> and <tt>scheme-id</tt></name>
          <t>In the scheme section, a CRI scheme can be given by its <tt>scheme-name</tt>
(a text string giving the scheme name as in URIs' scheme section,
mapped to lower case), or as a negative integer <tt>scheme-id</tt> derived
from the <em>scheme number</em>.
Scheme numbers are unsigned integers that are mapped to and from URI
scheme names by the "CRI Scheme Numbers" registry (<xref target="cri-reg"/>).
The relationship of a scheme number to its <tt>scheme-id</tt> is as follows:</t>
          <artset>
            <artwork type="svg"><svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" height="5.009ex" role="img" viewBox="0 -791.3 43055.4 2156.8" width="100ex">
                <defs>
                  <path d="M390 441l-24 -146h-15c0 64 -36 120 -92 120c-25 0 -51 -17 -51 -58c0 -55 134 -147 134 -242c0 -62 -48 -125 -135 -125c-34 0 -98 20 -110 20c-9 0 -18 -4 -30 -21h-17l25 156h16c0 -63 41 -130 104 -130c59 0 73 50 73 89c0 82 -130 132 -130 230c0 79 59 107 114 107 c43 0 63 -20 92 -20c11 0 22 10 30 20h16Z" id="E1-STIXWEBNORMALI-1D460" stroke-width="1"/>
                  <path d="M363 111l12 -13c-51 -60 -113 -109 -198 -109c-97 0 -137 78 -137 155c0 140 121 297 263 297c50 0 97 -27 97 -76c0 -38 -16 -70 -54 -70c-26 0 -38 21 -38 38c0 24 29 36 29 58c0 12 -10 21 -34 21c-119 0 -176 -179 -176 -259c0 -87 49 -109 94 -109 c61 0 107 33 142 67Z" id="E1-STIXWEBNORMALI-1D450" stroke-width="1"/>
                  <path d="M469 106l14 -11c-29 -34 -78 -106 -133 -106c-18 0 -41 10 -41 42c0 12 1 26 64 267c2 7 7 29 7 44c0 19 -7 35 -24 35c-36 0 -102 -85 -134 -133c-34 -51 -62 -102 -67 -122l-32 -122h-78l152 600c1 4 2 7 2 10c0 13 -10 22 -31 22c-10 0 -21 -1 -29 -2l-2 14l159 24 l-109 -416h4c53 58 125 189 216 189c42 0 57 -34 57 -70c0 -22 -6 -43 -11 -64l-58 -230c-1 -5 -2 -7 -2 -10c0 -6 3 -14 13 -14c22 0 49 35 63 53Z" id="E1-STIXWEBNORMALI-210E" stroke-width="1"/>
                  <path d="M363 112l14 -13c-70 -86 -138 -110 -200 -110c-98 0 -137 84 -137 156c0 23 1 37 6 60c25 111 135 236 262 236c42 0 102 -14 102 -76c0 -127 -167 -176 -286 -182v-28c0 -64 52 -107 113 -107c42 0 90 18 126 64zM124 211h9c104 0 198 69 198 157c0 25 -19 43 -44 43 c-74 0 -134 -115 -163 -200Z" id="E1-STIXWEBNORMALI-1D452" stroke-width="1"/>
                  <path d="M667 107l13 -11c-32 -54 -84 -104 -131 -104c-22 0 -39 10 -39 49c0 7 1 17 6 37l56 221c4 14 6 23 6 40c0 20 -6 38 -24 38c-54 0 -164 -181 -179 -242l-34 -135h-79l77 299c2 9 5 25 5 40c0 20 -5 38 -23 38c-52 0 -162 -181 -178 -242l-35 -135h-78l95 374 c0 18 -6 31 -33 31c-8 0 -19 -1 -27 -2l-2 14l157 24l-44 -169h6c94 143 154 169 192 169c37 0 55 -37 55 -81c0 -17 -3 -32 -9 -52l-10 -36h5c29 52 81 114 130 147c22 15 41 22 61 22c36 0 54 -26 54 -71c0 -18 -1 -37 -7 -61l-61 -231c-1 -3 -2 -9 -2 -12 c0 -8 6 -12 15 -12c17 0 43 16 62 53Z" id="E1-STIXWEBNORMALI-1D45A" stroke-width="1"/>
                  <path d="M285 194h-246v63h246v-63Z" id="E1-STIXWEBMAIN-2D" stroke-width="1"/>
                  <path d="M257 566c0 -26 -22 -46 -48 -46c-29 0 -48 20 -48 46c0 25 19 50 48 50c26 0 48 -25 48 -50zM227 441l-92 -364c-1 -6 -1 -10 -1 -14c0 -7 6 -10 13 -10c22 0 28 12 64 51l13 -10c-35 -45 -85 -105 -134 -105c-28 0 -40 19 -40 46c0 12 0 31 79 338c1 2 2 9 2 12 c0 17 -8 22 -31 22c-9 0 -21 -2 -28 -4l-3 16Z" id="E1-STIXWEBNORMALI-1D456" stroke-width="1"/>
                  <path d="M527 668l-149 -598c-1 -3 -2 -9 -2 -12c0 -6 5 -9 15 -9c20 0 48 35 62 56l11 -12c-30 -45 -83 -105 -130 -105c-32 0 -40 23 -40 41c0 20 2 34 10 64h-5c-74 -93 -134 -105 -171 -105c-73 0 -88 74 -88 127c0 103 103 326 257 326c57 0 80 -26 81 -50h2l53 209 c1 4 2 8 2 12c0 13 -7 20 -33 20c-9 0 -20 -2 -27 -3l-4 15zM363 340c0 47 -15 71 -56 71c-99 0 -180 -200 -180 -296c0 -49 28 -66 56 -66c70 0 136 94 164 186c11 35 16 74 16 105Z" id="E1-STIXWEBNORMALI-1D451" stroke-width="1"/>
                  <path d="M637 320h-589v66h589v-66zM637 120h-589v66h589v-66Z" id="E1-STIXWEBMAIN-3D" stroke-width="1"/>
                  <path d="M621 220h-557v66h557v-66Z" id="E1-STIXWEBMAIN-2212" stroke-width="1"/>
                  <path d="M394 0h-276v15c74 4 95 25 95 80v449c0 34 -9 49 -30 49c-10 0 -27 -5 -45 -12l-27 -10v14l179 91l9 -3v-597c0 -43 20 -61 95 -61v-15Z" id="E1-STIXWEBMAIN-31" stroke-width="1"/>
                  <path d="M467 96l-5 -6c-28 -34 -76 -98 -128 -98c-32 0 -41 23 -41 46c0 13 4 29 7 40l57 221c2 8 7 28 7 42c0 19 -6 38 -24 38c-38 0 -101 -86 -132 -133c-36 -54 -62 -101 -68 -122l-33 -124h-77l95 374c0 18 -3 32 -30 32c-10 0 -21 -2 -28 -3l-2 15l159 23l-51 -189h3 c5 0 54 70 56 73c40 50 100 116 160 116c44 0 56 -29 56 -62c0 -25 -6 -50 -11 -70l-59 -231c-1 -2 -1 -5 -1 -10c1 -6 4 -14 15 -14c24 0 48 36 62 53Z" id="E1-STIXWEBNORMALI-1D45B" stroke-width="1"/>
                  <path d="M444 428l-89 -348c-1 -4 -1 -6 -1 -9c0 -8 4 -14 14 -14c21 0 40 26 57 46l5 6l13 -11c-23 -33 -74 -107 -132 -107c-29 0 -40 19 -40 52c0 9 1 25 4 37l26 95h-1c-7 -5 -97 -126 -137 -156c-23 -17 -49 -28 -72 -28c-47 0 -61 36 -61 74c0 21 3 40 8 59l59 231 c4 15 6 21 6 25c0 12 -11 23 -33 23c-7 0 -19 -1 -26 -3l-3 15l157 26l-84 -326c-2 -9 -3 -16 -3 -24c0 -21 8 -34 26 -34c25 0 65 31 100 77c43 57 89 146 109 219l21 75h77Z" id="E1-STIXWEBNORMALI-1D462" stroke-width="1"/>
                  <path d="M214 382l4 -4c33 32 72 63 121 63c70 0 111 -69 111 -151c0 -121 -109 -301 -266 -301c-53 0 -94 18 -139 48l144 563c1 4 2 8 2 11c-1 13 -16 21 -29 21c-10 0 -22 -1 -30 -4l-3 16l158 24zM179 252l-55 -215c0 -7 32 -19 55 -19c122 0 188 174 188 276 c0 70 -38 92 -71 92c-72 0 -106 -89 -117 -134Z" id="E1-STIXWEBNORMALI-1D44F" stroke-width="1"/>
                  <path d="M175 267l5 -1c9 18 21 38 32 56c34 54 82 119 137 119c29 0 44 -21 44 -48c0 -38 -24 -82 -65 -82c-39 0 -29 38 -47 38c-61 0 -148 -256 -153 -273l-21 -76h-77l92 364c3 11 4 18 4 23c0 13 -11 19 -33 19c-7 0 -21 -2 -27 -3l-2 15l157 23Z" id="E1-STIXWEBNORMALI-1D45F" stroke-width="1"/>
                </defs>
                <g fill="black" stroke="currentColor" stroke-width="0" transform="matrix(1 0 0 -1 0 0)">
                  <g transform="translate(14519,0)">
                    <use xlink:href="#E1-STIXWEBNORMALI-1D460" x="0" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D450" x="440" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-210E" x="856" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D452" x="1369" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D45A" x="1815" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D452" x="2525" y="0"/>
                    <use xlink:href="#E1-STIXWEBMAIN-2D" x="2971" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D456" x="3304" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D451" x="3616" y="0"/>
                    <use xlink:href="#E1-STIXWEBMAIN-3D" x="4426" y="0"/>
                    <use xlink:href="#E1-STIXWEBMAIN-2212" x="5389" y="0"/>
                    <use xlink:href="#E1-STIXWEBMAIN-31" x="6075" y="0"/>
                    <use xlink:href="#E1-STIXWEBMAIN-2212" x="6797" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D460" x="7705" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D450" x="8146" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-210E" x="8561" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D452" x="9075" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D45A" x="9520" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D452" x="10231" y="0"/>
                    <use xlink:href="#E1-STIXWEBMAIN-2D" x="10676" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D45B" x="11010" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D462" x="11507" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D45A" x="11982" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D44F" x="12692" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D452" x="13163" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D45F" x="13608" y="0"/>
                  </g>
                  <g transform="translate(14519,-1200)">
                    <use xlink:href="#E1-STIXWEBNORMALI-1D460" x="0" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D450" x="440" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-210E" x="856" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D452" x="1369" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D45A" x="1815" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D452" x="2525" y="0"/>
                    <use xlink:href="#E1-STIXWEBMAIN-2D" x="2971" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D45B" x="3304" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D462" x="3802" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D45A" x="4276" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D44F" x="4987" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D452" x="5457" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D45F" x="5903" y="0"/>
                    <use xlink:href="#E1-STIXWEBMAIN-3D" x="6589" y="0"/>
                    <use xlink:href="#E1-STIXWEBMAIN-2212" x="7552" y="0"/>
                    <use xlink:href="#E1-STIXWEBMAIN-31" x="8238" y="0"/>
                    <use xlink:href="#E1-STIXWEBMAIN-2212" x="8960" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D460" x="9868" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D450" x="10309" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-210E" x="10724" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D452" x="11238" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D45A" x="11683" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D452" x="12394" y="0"/>
                    <use xlink:href="#E1-STIXWEBMAIN-2D" x="12839" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D456" x="13173" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D451" x="13484" y="0"/>
                  </g>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[scheme-id = -1 - scheme-number
scheme-number = -1 - scheme-id
]]></artwork>
          </artset>
          <t>For example, the scheme-name <tt>coap</tt> has the (unsigned integer)
scheme-number <tt>0</tt> which is represented in a (negative integer)
scheme-id <tt>-1</tt>.</t>
        </section>
        <section anchor="the-discard-section">
          <name>The <tt>discard</tt> Section</name>
          <t>The <tt>discard</tt> section can be used in a CRI reference when neither a
scheme nor an authority is present.
It then expresses the operations performed on a base CRI by CRI references that
are equivalent to URI references with relative paths and path prefixes such as "/", "./", "../", "../../", etc.<br/>
"." and ".." are not available in CRIs and are therefore expressed
using <tt>discard</tt> after a normalization step, as is the presence or absence of a leading "/".</t>
          <t>E.g., a simple URI reference "foo" specifies to remove one leading segment
from the base URI's path, which is represented in the equivalent CRI
reference discard section as the value <tt>1</tt>; similarly "../foo" removes
two leading segments, represented as <tt>2</tt>;
and "/foo" removes all segments, represented in the <tt>discard</tt> section as the value <tt>true</tt>.
The exact semantics of the section values are defined by
<xref target="reference-resolution"/>.</t>
          <t>Most URI references that Section <xref target="RFC3986" section="4.2" sectionFormat="bare"/> of RFC 3986 <xref target="STD66"/> calls "relative
references" (i.e., references that need to undergo a resolution
process to obtain a URI) correspond to the CRI reference form that starts with
<tt>discard</tt>.  The exception are relative references with an <tt>authority</tt>
(called a "network-path reference" in Section <xref target="RFC3986" section="4.2" sectionFormat="bare"/> of RFC 3986 <xref target="STD66"/>), which
discard the entire path of the base CRI.
These CRI references never carry a <tt>discard</tt> section: the value of
<tt>discard</tt> defaults to <tt>true</tt>.</t>
        </section>
        <section anchor="visualization">
          <name>Visualization</name>
          <t>The structure of a CRI reference is visualized using the somewhat limited means
of a railroad diagram:</t>
          <artset>
            <artwork type="svg"><svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 530 360">
                <g transform="translate(40 50)">
                  <text x="-30" y="-10">cri-reference:</text>
                  <path class="station" d="M5.5 14 v12 m 4 0 v-12" fill="none" stroke="black" stroke-width="1.5"/>
                  <path class="station" d="M400.5 14 v12 m 4 0 v-12" fill="none" stroke="black" stroke-width="1.5"/>
                  <rect class="rule" fill="none" height="20" rx="0" ry="0" stroke="black" stroke-width="1.5" width="70" x="60" y="10"/>
                  <text class="rule" text-anchor="middle" x="95" y="25">scheme</text>
                  <rect class="rule" fill="none" height="20" rx="0" ry="0" stroke="black" stroke-width="1.5" width="90" x="150" y="10"/>
                  <text class="rule" text-anchor="middle" x="195" y="25">authority</text>
                  <rect class="rule" fill="none" height="20" rx="0" ry="0" stroke="black" stroke-width="1.5" width="70" x="115" y="40"/>
                  <text class="rule" text-anchor="middle" x="150" y="55">discard</text>
                  <rect class="rule" fill="none" height="20" rx="0" ry="0" stroke="black" stroke-width="1.5" width="90" x="290" y="10"/>
                  <text class="rule" text-anchor="middle" x="335" y="25">local-part</text>
                  <path d="M260 30 v10" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M185 50 h65 q10 0 10 -10" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M40 40 q0 10 10 10 h65" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M260 30 q0 -10 10 -10" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M240 20 h50" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M130 20 h20" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M30 20 q10 0 10 10 v10" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M380 20 h20" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M10 20 h50" fill="none" stroke="black" stroke-width="1.5"/>
                </g>
                <g transform="translate(40 160)">
                  <text x="-30" y="-10">local-part:</text>
                  <path class="station" d="M5.5 74 v12 m 4 0 v-12" fill="none" stroke="black" stroke-width="1.5"/>
                  <path class="station" d="M460.5 74 v12 m 4 0 v-12" fill="none" stroke="black" stroke-width="1.5"/>
                  <path class="arrow" d="M237 10 l-4 3 v-6 z" fill="none" stroke="black" stroke-width="1.5"/>
                  <rect class="rule" fill="none" height="20" rx="0" ry="0" stroke="black" stroke-width="1.5" width="50" x="60" y="70"/>
                  <text class="rule" text-anchor="middle" x="85" y="85">path</text>
                  <path class="arrow" d="M272 30 l-4 3 v-6 z" fill="none" stroke="black" stroke-width="1.5"/>
                  <rect class="rule" fill="none" height="20" rx="0" ry="0" stroke="black" stroke-width="1.5" width="50" x="160" y="70"/>
                  <text class="rule" text-anchor="middle" x="185" y="85">query</text>
                  <path class="arrow" d="M307 50 l-4 3 v-6 z" fill="none" stroke="black" stroke-width="1.5"/>
                  <rect class="rule" fill="none" height="20" rx="0" ry="0" stroke="black" stroke-width="1.5" width="90" x="260" y="70"/>
                  <text class="rule" text-anchor="middle" x="305" y="85">fragment</text>
                  <path d="M40 20 v50" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M430 70 q0 10 10 10" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M140 40 v30" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M400 70 q0 10 10 10" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M240 60 v10" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M370 70 q0 10 10 10" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M350 80 h110" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M230 80 q10 0 10 -10" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M240 60 q0 -10 10 -10 h110 q10 0 10 10 v10" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M210 80 h50" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M130 80 q10 0 10 -10" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M140 40 q0 -10 10 -10 h240 q10 0 10 10 v30" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M110 80 h50" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M30 80 q10 0 10 -10" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M40 20 q0 -10 10 -10 h370 q10 0 10 10 v50" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M10 80 h50" fill="none" stroke="black" stroke-width="1.5"/>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[cri-reference:
    │├──╮── scheme ── authority ──╭── local-part ──┤│
        │                         │
        ╰──────── discard ────────╯

local-part:
        ╭─────────────────────>─────────────────────╮
        │                                           │
        │          ╭──────────────>──────────────╮  │
        │          │                             │  │
        │          │           ╭──────>───────╮  │  │
        │          │           │              │  │  │
    │├──╯── path ──╯── query ──╯── fragment ──╰──╰──╰──┤│

]]></artwork>
          </artset>
          <t>This visualization does not go into the details of the elements.</t>
        </section>
        <section anchor="examples">
          <name>Examples</name>
          <sourcecode type="cbor-diag"><![CDATA[
[-1,             / scheme-id -- equivalent to "coap" /
 [h'C6336401',   / host /
  61616],        / port /
 [".well-known", / path /
  "core"]
]
]]></sourcecode>
          <sourcecode type="cbor-diag"><![CDATA[
[true,                  / discard /
 [".well-known",        / path /
  "core"],
 ["rt=temperature-c"]]  / query /
]]></sourcecode>
          <sourcecode type="cbor-diag"><![CDATA[
[-6,                / scheme-id -- equivalent to "did" /
 true,              / authority = NOAUTH-ROOTLESS /
 ["web:alice:bob"]  / path /
]
]]></sourcecode>
        </section>
        <section anchor="specific-terminology">
          <name>Specific Terminology</name>
          <t>A CRI reference is considered <em>well-formed</em> if it matches the
structure as expressed in <xref target="cddl"/> in CDDL, with the additional
requirement that trailing <tt>null</tt> values are removed from the array.</t>
          <t>A CRI reference is considered <em>absolute</em> if it is well-formed
and the sequence of sections starts with a non-null <tt>scheme</tt>.</t>
          <t>A CRI reference is considered <em>relative</em> if it is well-formed
and the sequence of sections is empty or starts with a section other
than those that would constitute a <tt>scheme</tt>.</t>
        </section>
      </section>
      <section anchor="ingest">
        <name>Ingesting and encoding a CRI Reference</name>
        <t>From an abstract point of view, a CRI Reference is a data structure
with six sections:</t>
        <t>scheme, authority, discard, path, query, fragment</t>
        <t>Each of these sections can be unset ("null"),
<!-- "not defined" in RFC 3986 -->
except for discard,
which is always an unsigned integer or <tt>true</tt>.  If scheme and/or
authority are non-null, discard must be <tt>true</tt>.</t>
        <t>When ingesting a CRI Reference that is in the transfer form, those
sections are filled in from the transfer form (unset sections are
filled with null), and the following steps are performed:</t>
        <ul spacing="normal">
          <li>
            <t>If the array is entirely empty, replace it with <tt>[0]</tt>.</t>
          </li>
          <li>
            <t>If discard is present in the transfer form (i.e., the outer array
starts with true or an unsigned integer), set scheme and authority to null.</t>
          </li>
          <li>
            <t>If scheme and/or authority are present in the transfer form (i.e.,
the outer array starts with null, a text string, or a negative integer), set
discard to <tt>true</tt>.</t>
          </li>
        </ul>
        <t>Upon encoding the abstract form into the transfer form, the inverse
processing is performed:  If scheme and/or authority are not null, the
discard value is not transferred (it must be true in this case).  If
they are both null, they are both left out and only discard is
transferred.
Trailing null values are removed from the array.
As a special case, an empty array is sent in place for a remaining
<tt>[0]</tt> (URI reference "").</t>
        <section anchor="unprocessable">
          <name>Error handling and extensibility</name>
          <t>It is recommended that specifications that describe the use of CRIs in CBOR-based protocols
use the error handling mechanisms outlined in this section.
Implementations of this document <bcp14>MUST</bcp14> adhere to these rules
unless a containing document overrides them.</t>
          <t>When encountering a CRI that is well-formed in terms of CBOR, but that</t>
          <ul spacing="normal">
            <li>
              <t>is not well-formed as a CRI,</t>
            </li>
            <li>
              <t>does not meet the other requirements on CRIs that are not covered by
the term "well-formed", or</t>
            </li>
            <li>
              <t>uses features not supported by the implementation,</t>
            </li>
          </ul>
          <t>the CRI is treated as "unprocessable".</t>
          <t>When encountering an unprocessable CRI,
the processor skips the entire CRI top-level array, including any CBOR
items contained in there,
and continues processing the CBOR items surrounding the unprocessable CRI.
(Note: this skipping can be implemented in bounded memory for CRIs
that do not use indefinite length encoding, as mandated in
<xref target="cbor-representation"/>.)</t>
          <t>The unprocessable CRI is treated as an opaque identifier
that is distinct from all processable CRIs,
and distinct from all unprocessable CRIs with different CBOR representations.
It is up to implementation whether unprocessable CRIs with identical representations
are treated as identical to each other or not.
Unprocessable CRIs cannot be dereferenced,
and it is an error to query any of their components.</t>
          <t>This mechanism ensures that CRI extensions
(using originally defined features or later extensions)
can be used without extending the compatibility hazard to the containing document.
For example,
if a collection of possible interaction targets contains several CRIs,
some of which use the "no-authority" feature,
an application consuming that collection that does not support that
feature can still offer the supported interaction targets.</t>
          <t>The duty of checking validity is with the recipients that rely on this
validity.
An intermediary that does not use the detailed information in a CRI
(or merely performs reference resolution) <bcp14>MAY</bcp14> pass on a CRI/CRI
reference without having fully checked it, relying on the producer
having generated a valid CRI/CRI reference.
This is true for both basic CRIs (e.g., checking for valid UTF-8) and
for extensions (e.g., checking both for valid UTF-8 and the minimal
use of PET elements in extended-cris as per <xref target="pet"/>).</t>
        </section>
      </section>
      <section anchor="reference-resolution">
        <name>Reference Resolution</name>
        <t>The term "relative" implies that a "base CRI" exists against which the
relative reference is applied. Aside from fragment-only references,
relative references are only usable when a base CRI is known.</t>
        <t>The following steps define the process of resolving any well-formed CRI
reference against a base CRI so that the result is a CRI in the form of
an absolute CRI reference:</t>
        <ol spacing="normal" type="1"><li>
            <t>Establish the base CRI of the CRI reference and express it in the
  form of an abstract absolute CRI reference.</t>
          </li>
          <li>
            <t>Initialize a buffer with the sections from the base CRI.</t>
          </li>
          <li>
            <t>If the value of discard is <tt>true</tt> in the CRI reference (which is
implicitly the case when scheme and/or authority are present in the reference), replace the
path in the buffer with the empty array, unset query and
fragment, and set a <tt>true</tt> authority to <tt>null</tt>.  If the value of
discard is an unsigned integer, remove as many elements
from the end of the path array; if it is non-zero, unset query and
fragment.  </t>
            <t>
Set discard to <tt>true</tt> in the buffer.</t>
          </li>
          <li>
            <t>If the path section is set in the CRI reference, append all
elements from the path array to the array in the path section in
the buffer; unset query and fragment.</t>
          </li>
          <li>
            <t>Apart from the path and discard, copy all non-null sections from
the CRI reference to the buffer in sequence; unset query in the buffer if query
is the empty array <tt>[]</tt> in the CRI reference; unset fragment in the buffer if
query is non-null in the CRI reference.</t>
          </li>
          <li>
            <t>Return the sections in the buffer as the resolved CRI.</t>
          </li>
        </ol>
      </section>
    </section>
    <section anchor="relationship-between-cris-uris-and-iris">
      <name>Relationship between CRIs, URIs, and IRIs</name>
      <t>CRIs are meant to replace both <xref target="STD66">Uniform Resource Identifiers (URIs)</xref>
and <xref target="RFC3987">Internationalized Resource Identifiers (IRIs)</xref>
in <xref target="RFC7228">constrained environments</xref>.
Applications in these environments may never need to use URIs and IRIs
directly, especially when the resource identifier is used simply for
identification purposes or when the CRI can be directly converted into a
CoAP request.</t>
      <t>However, it may be necessary in other environments to determine the
associated URI or IRI of a CRI, and vice versa. Applications can perform
these conversions as follows:</t>
      <dl newline="true">
        <dt>CRI to URI</dt>
        <dd>
          <t>A CRI is converted to a URI as specified in <xref target="cri-to-uri"/>.</t>
        </dd>
        <dt>URI to CRI</dt>
        <dd>
          <t>The method of converting a URI to a CRI is unspecified;
implementations are free to use any algorithm as long as converting
the resulting CRI back to a URI yields an equivalent URI.
</t>
          <t>Note that CRIs are defined to enable implementing conversions from
or to URIs analogously to processing URIs into CoAP Options and
back, with the exception that item 8 of <xref section="6.4" sectionFormat="of" target="RFC7252"/>
and item 7 of <xref section="6.5" sectionFormat="of" target="RFC7252"/> do not apply to CRI processing.
See <xref format="counter" target="sp-initial-empty"/> in <xref target="the-small-print"/> for more details.</t>
        </dd>
        <dt>CRI to IRI</dt>
        <dd anchor="critoiri">
          <t>A CRI can be converted to an IRI by first converting it to a URI as
specified in <xref target="cri-to-uri"/>, and then converting the URI
to an IRI as described in <xref section="3.2" sectionFormat="of" target="RFC3987"/>.</t>
        </dd>
        <dt>IRI to CRI</dt>
        <dd>
          <t>An IRI can be converted to a CRI by first converting it to a URI as
described in <xref section="3.1" sectionFormat="of" target="RFC3987"/>, and then
converting the URI to a CRI as described above.</t>
        </dd>
      </dl>
      <!-- What? -->
<t>Everything in this section also applies to CRI references, URI
references, and IRI references.</t>
      <section anchor="cri-to-uri">
        <name>Converting CRIs to URIs</name>
        <t>Applications <bcp14>MUST</bcp14> convert a CRI reference to a URI
reference by determining the components of the URI reference according
to the following steps and then recomposing the components to a URI
reference string as specified in Section <xref target="RFC3986" section="5.3" sectionFormat="bare"/> of RFC 3986 <xref target="STD66"/>.</t>
        <dl newline="true">
          <dt>scheme</dt>
          <dd>
            <t>If the CRI reference contains a <tt>scheme</tt> section, the scheme
component of the URI reference consists of the value of that
section, if text (<tt>scheme-name</tt>); or, if a negative integer is given
(<tt>scheme-id</tt>), the lower case scheme name corresponding to the
scheme-id as per <xref target="scheme-id"/>.
Otherwise, the scheme component is unset.</t>
          </dd>
          <dt>authority</dt>
          <dd>
            <t>If the CRI reference contains a <tt>host-name</tt> or <tt>host-ip</tt> item, the
authority component of the URI reference consists of a host
subcomponent, optionally followed by a colon (":") character and a
port subcomponent, optionally preceded by a <tt>userinfo</tt> subcomponent.
Otherwise, the authority component is unset.
</t>
            <t>The host subcomponent consists of the value of the <tt>host-name</tt> or
<tt>host-ip</tt> item.</t>
            <t>The <tt>userinfo</tt> subcomponent, if present, is turned into a single
string by
appending a "@".  Otherwise, both the subcomponent and the "@" sign
are omitted.
Any character in the value of the <tt>userinfo</tt> elements that is not in
the set of unreserved characters (Section <xref target="RFC3986" section="2.3" sectionFormat="bare"/> of RFC 3986 <xref target="STD66"/>) or
"sub-delims" (Section <xref target="RFC3986" section="2.2" sectionFormat="bare"/> of RFC 3986 <xref target="STD66"/>) <bcp14>MUST</bcp14> be
percent-encoded.</t>
            <t>The <tt>host-name</tt> is turned into a single string by joining the
elements separated by dots (".").
Any character in the elements of a <tt>host-name</tt> item that is not in
the set of unreserved characters (Section <xref target="RFC3986" section="2.3" sectionFormat="bare"/> of RFC 3986 <xref target="STD66"/>) or
"sub-delims" (Section <xref target="RFC3986" section="2.2" sectionFormat="bare"/> of RFC 3986 <xref target="STD66"/>) <bcp14>MUST</bcp14> be
percent-encoded.
If there are dots (".") in such elements, the conversion fails
(percent-encoding is not able to represent such elements, as
normalization would turn the percent-encoding back to the unreserved
character that a dot is.)</t>
            <aside>
              <t>Implementations with scheme-specific knowledge <bcp14>MAY</bcp14> convert
  individual elements by using the ToASCII procedure <xref section="4.1" sectionFormat="of" target="RFC3490"/> as discussed in more detail in <xref section="3.1" sectionFormat="of" target="RFC3987"/>.
  This should not be done if the next step of conversion is to an
  IRI as defined in <xref target="critoiri"/> (CRI to IRI).</t>
            </aside>
            <t anchor="host-ip-to-uri">The value of a <tt>host-ip</tt> item <bcp14>MUST</bcp14> be
represented as a string that matches the "IPv4address" or
"IP-literal" rule (Section <xref target="RFC3986" section="3.2.2" sectionFormat="bare"/> of RFC 3986 <xref target="STD66"/>).</t>
            <t anchor="zone-id-issue">Any zone-id is appended to the string; the details for how this is
done are currently in flux in the URI specification: <xref section="2" sectionFormat="of" target="RFC6874"/> uses percent-encoding and a separator of "%25", while
proposals for a future superseding zone-id specification document
(such as <xref target="I-D.carpenter-6man-rfc6874bis"/>) are being prepared; this also leads to a modified
"IP-literal" rule as specified in these documents.
While the discussion about the representation of zone-id information
in URIs is ongoing, CRIs maintain a position in the grammar for it
(<tt>zone-id</tt>).
This can be used by consenting implementations to exchange zone
information without being concerned by the ambiguity at the URI
syntax level.
The assumption is that the present specification (1) either will be
updated eventually to obtain consistent URI conversion of zone-id
information (2) or there will be no representation of zone-id
information in URIs.</t>
            <t>If the CRI reference contains a <tt>port</tt> item, the port
subcomponent consists of the value of that item in decimal
notation.
Otherwise, the colon (":") character and the port subcomponent are
both omitted.</t>
          </dd>
          <dt>path</dt>
          <dd>
            <t anchor="colon">If the CRI reference contains a <tt>discard</tt> item of value <tt>true</tt>, the
path component is considered <em>rooted</em>.  If it
contains a <tt>discard</tt> item of value <tt>0</tt> and the <tt>path</tt> item is
present, the conversion fails.  If it contains a positive discard
item, the path component is considered <em>unrooted</em> and
prefixed by as many "../" components as the <tt>discard</tt> value minus
one indicates.  If the discard value is <tt>1</tt> and the first element of
the path contains a <tt>:</tt>, the path component is prefixed by "./"
(this avoids the first element to appear as supplying a URI scheme;
compare <tt>path-noscheme</tt> in Section <xref target="RFC3986" section="4.2" sectionFormat="bare"/> of RFC 3986 <xref target="STD66"/>).
</t>
            <t>If the discard item is not present and the CRI reference contains an
authority that is <tt>true</tt>, the path component of the URI reference is
considered unrooted.  Otherwise, the path component is considered
rooted.</t>
            <t>If the CRI reference contains one or more <tt>path</tt> items, the path
component is constructed by concatenating the sequence of
representations of these items.  These representations generally
contain a leading slash ("/") character and the value of each item,
processed as discussed below.  The leading slash character is
omitted for the first path item only if the path component is
considered "unrooted".  <!-- A path segment that contains a colon
character (e.g., --> <!-- "this:that") cannot directly be used as
the first such item.  Such a --> <!-- segment MUST be preceded by a
dot-segment (e.g., "./this:that") --> <!-- unless scheme and/or
authority are present. -->
            </t>
            <t>Any character in the value of a <tt>path</tt> item that is not
in the set of unreserved characters or "sub-delims" or a colon
(":") or commercial at ("@") character <bcp14>MUST</bcp14> be
percent-encoded.</t>
            <t>If the authority component is present (not <tt>null</tt> or <tt>true</tt>) and the
path component does not match the "path-abempty" rule (Section <xref target="RFC3986" section="3.3" sectionFormat="bare"/> of RFC 3986 <xref target="STD66"/>), the conversion fails.</t>
            <t>If the authority component is not present, but the scheme component
is, and the path component does not match the "path-absolute",
"path-rootless" (authority == <tt>true</tt>) or "path-empty" rule (Section <xref target="RFC3986" section="3.3" sectionFormat="bare"/> of RFC 3986 <xref target="STD66"/>), the conversion fails.</t>
            <t>If neither the authority component nor the scheme component are
present, and the path component does not match the "path-absolute",
"path-noscheme" or "path-empty" rule (Section <xref target="RFC3986" section="3.3" sectionFormat="bare"/> of RFC 3986 <xref target="STD66"/>), the
conversion fails.</t>
          </dd>
          <dt>query</dt>
          <dd>
            <t>If the CRI reference contains one or more <tt>query</tt> items,
the query component of the URI reference consists of the value of
each item, separated by an ampersand ("&amp;") character.
Otherwise, the query component is unset.
</t>
            <t>Any character in the value of a <tt>query</tt> item that is not
in the set of unreserved characters or "sub-delims" or a colon
(":"), commercial at ("@"), slash ("/") or question mark ("?")
character <bcp14>MUST</bcp14> be percent-encoded.
Additionally, any ampersand character ("&amp;") in the item
value <bcp14>MUST</bcp14> be percent-encoded.</t>
          </dd>
          <dt>fragment</dt>
          <dd>
            <t>If the CRI reference contains a fragment item, the fragment
component of the URI reference consists of the value of that
item.
Otherwise, the fragment component is unset.
</t>
            <t>Any character in the value of a <tt>fragment</tt> item that is
not in the set of unreserved characters or "sub-delims" or a colon
(":"), commercial at ("@"), slash ("/") or question mark ("?")
character <bcp14>MUST</bcp14> be percent-encoded.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="extending">
      <name>Extending CRIs</name>
      <t>CRIs have been designed to relieve implementations operating on CRIs
from string scanning, which both helps constrained implementations and
implementations that need to achieve high throughput.</t>
      <t>The CRI structure described up to this point is termed the <em>Basic CRI</em>.
It should be sufficient for all applications that use the CoAP
protocol, as well as most other protocols employing URIs.</t>
      <t>However, Basic CRIs have one limitation: They do not support URI
components that <em>require</em> percent-encoding (Section <xref target="RFC3986" section="2.1" sectionFormat="bare"/> of RFC 3986 <xref target="STD66"/>) to
represent them in the URI syntax, except where that percent-encoding
is used to escape the main delimiter in use.</t>
      <t>E.g., the URI</t>
      <sourcecode type="uri"><![CDATA[
https://alice/3%2f4-inch
]]></sourcecode>
      <t>is represented by the basic CRI</t>
      <sourcecode type="coap-diag"><![CDATA[
[-4, ["alice"], ["3/4-inch"]]
]]></sourcecode>
      <t>However, percent-encoding that is used at the application level is not
supported by basic CRIs:</t>
      <sourcecode type="uri"><![CDATA[
did:web:alice:7%3A1-balun
]]></sourcecode>
      <t>Extended forms of CRIs may be defined to enable these applications.
They will generally extend the potential values of text components of
URIs, such as userinfo, hostnames, paths, queries, and fragments.</t>
      <t>One such extended form is described in the following <xref target="pet"/>.
Consumers of CRIs will generally notice when an extended form is in
use, by finding structures that do not match the CDDL rules given in
<xref target="cddl"/>.
Future definitions of extended forms need to strive to be
distinguishable in their structures from the extended form presented
here as well as other future forms.</t>
      <t>Extensions to CRIs <bcp14>MUST NOT</bcp14> allow indefinite length items.
This provision ensures that recipients of CRIs can deal with unprocessable CRIs
as described in <xref target="unprocessable"/>.</t>
      <section anchor="pet">
        <name>Extended CRI: Accommodating Percent Encoding (PET)</name>
        <t>This section presents a method to represent percent-encoded segments
of userinfo, hostnames, paths, and queries, as well as fragments.</t>
        <t>The four CDDL rules</t>
        <sourcecode type="cddl"><![CDATA[
userinfo    = (false, text .feature "userinfo")
host-name   = (*text)
path        = [*text]
query       = [+text]
fragment    = text
]]></sourcecode>
        <t>are replaced with</t>
        <sourcecode type="cddl"><![CDATA[
userinfo    = (false, text-or-pet .feature "userinfo")
host-name   = (*text-or-pet)
path        = [*text-or-pet]
query       = [+text-or-pet]
fragment    = text-or-pet

text-or-pet = text /
    text-pet-sequence .feature "extended-cri"

; text1 and pet1 alternating, at least one pet1:
text-pet-sequence = [?text1, ((+(pet1, text1), ?pet1) // pet1)]
; pet is percent-encoded bytes
pet1 = bytes .ne ''
text1 = text .ne ""
]]></sourcecode>
        <t>That is, for each of the host-name, path, and query segments, and for
the userinfo and fragment components, an alternate representation is provided
besides a simple text string: a non-empty array of alternating non-blank text and byte
strings, the text strings of which stand for non-percent-encoded text,
while the byte strings retain the special
semantics of percent-encoded text without actually being
percent-encoded.</t>
        <t>The above DID URI can now be represented as:</t>
        <sourcecode type="cbor-diag"><![CDATA[
[-6, true, [["web:alice:7", ':', "1-balun"]]]
]]></sourcecode>
        <t>(Note that, in CBOR diagnostic notation, single quotes delimit
literals for byte strings, double quotes for text strings.)</t>
        <t>To yield a valid <tt>extended-cri</tt>, the use of byte strings <bcp14>MUST</bcp14> be
minimal.
Both the following examples are therefore not valid:</t>
        <sourcecode type="cbor-diag"><![CDATA[
[-6, true, [["web:alice:", '7:', "1-balun"]]]
]]></sourcecode>
        <sourcecode type="cbor-diag"><![CDATA[
[-6, true, [["web:alice:7", ':1', "-balun"]]]
]]></sourcecode>
        <t>An algorithm for constructing a valid <tt>text-pet-sequence</tt> might
repeatedly examine the byte sequences in each byte string; if such a
sequence stands for an unreserved ASCII character, or constitutes a
valid UTF-8 character ≥ U+0080, move this character over into a text
string by appending it to the end of the preceding text string,
prepending it to the start of the following text string, or splitting
the byte string and inserting a new text string with this character,
all while preserving the order of the bytes.  (Note that the
properties of UTF-8 make this a simple linear process.)</t>
        <aside>
          <t>Unlike the text elements of a path or a query, which through CoAP's
heritage are designed to be processable element by element, a
text-pet-sequence does not usually produce a semantically meaningful
division into array elements.
This consequence of the flexibility in delimiters offered in URIs is
demonstrated by this example, which structurally singles out the one
':' that is <em>not</em> a delimiter at the application level.
Applications designed for using CRIs will generally avoid using the
extended-cri feature.
Applications using existing URI structures that require
text-pet-sequence elements for their representation typically need
to process them byte by byte.</t>
        </aside>
      </section>
    </section>
    <section anchor="integration-into-coap-and-ace">
      <name>Integration into CoAP and ACE</name>
      <t>This section discusses ways in which CRIs can be used in the context
of the CoAP protocol <xref target="RFC7252"/> and of Authorization for Constrained
Environments (ACE), specifically the Authorization Information Format
(AIF) <xref target="RFC9237"/>.</t>
      <section anchor="converting-between-coap-cris-and-sets-of-coap-options">
        <name>Converting Between CoAP CRIs and Sets of CoAP Options</name>
        <t>This section provides an analogue to Sections <xref target="RFC7252" section="6.4" sectionFormat="bare"/> and <xref target="RFC7252" section="6.5" sectionFormat="bare"/> of <xref target="RFC7252"/>:
Computing a set of CoAP options from a request CRI (<xref target="decompose-coap"/>) and computing a
request CRI from a set of COAP options (<xref target="compose-coap"/>).</t>
        <t>This section makes use of the mapping between CRI scheme numbers
and URI scheme names shown in <xref target="scheme-map"/>:</t>
        <table anchor="scheme-map">
          <name>Mapping CRI scheme numbers and URI scheme names</name>
          <thead>
            <tr>
              <th align="left">CRI scheme number</th>
              <th align="left">URI scheme name</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0</td>
              <td align="left">coap</td>
            </tr>
            <tr>
              <td align="left">1</td>
              <td align="left">coaps</td>
            </tr>
            <tr>
              <td align="left">6</td>
              <td align="left">coap+tcp</td>
            </tr>
            <tr>
              <td align="left">7</td>
              <td align="left">coaps+tcp</td>
            </tr>
            <tr>
              <td align="left">8</td>
              <td align="left">coap+ws</td>
            </tr>
            <tr>
              <td align="left">9</td>
              <td align="left">coaps+ws</td>
            </tr>
          </tbody>
        </table>
        <section anchor="decompose-coap">
          <name>Decomposing a Request CRI into a set of CoAP Options</name>
          <t>The steps to parse a request's options from a CRI »cri« are as
   follows.  These steps either result in zero or more of the Uri-Host,
   Uri-Port, Uri-Path, and Uri-Query Options being included in the
   request or they fail.</t>
          <t>Where the following speaks of deriving a text-string for a CoAP Option
value from a data item in the CRI, the presence of any
<tt>text-pet-sequence</tt> subitem (<xref target="pet"/>) in this item fails this algorithm.</t>
          <ol spacing="normal" type="1"><li>
              <t>If »cri« is not an absolute CRI reference, then fail this
algorithm.</t>
            </li>
            <li>
              <t>Translate the scheme-id into a URI scheme name as per
<xref target="scheme-id"/> and
<xref target="scheme-map"/>; if a scheme-id that corresponds to a scheme
number not in this list is being used, or if a scheme-name is
being used,
fail this algorithm.
Remember the specific variant of CoAP to be used based on this
URI scheme name.</t>
            </li>
            <li>
              <t>If »cri« has a <tt>fragment</tt> component, then fail this algorithm.</t>
            </li>
            <li>
              <t>If the <tt>host</tt> component of »cri« is a <tt>host-name</tt>, include a
Uri-Host Option and let that option's value be the text string
value of the <tt>host-name</tt>.  </t>
              <t>
If the <tt>host</tt> component of »cri« is a <tt>host-ip</tt>, check whether
the IP address given represents the request's
destination IP address (and, if present, zone-id).
Only if it does not, include a Uri-Host Option, and let that
option's value be the text value of the URI representation of
the IP address, as derived in <xref target="host-ip-to-uri"/>.</t>
            </li>
            <li>
              <t>If »cri« has a <tt>port</tt> component, then let »port« be that
component's unsigned integer value; otherwise, let »port« be
the default port number for the scheme.</t>
            </li>
            <li>
              <t>If »port« does not equal the request's destination UDP port,
include a Uri-Port Option and let that option's value be »port«.</t>
            </li>
            <li>
              <t>If the value of the <tt>path</tt> component of »cri« is empty or
consists of a single empty string, then move to the next step.  </t>
              <t>
Otherwise, for each element in the »path« component, include a
Uri-Path Option and let that option's value be the text string
value of that element.</t>
            </li>
            <li>
              <t>If »cri« has a <tt>query</tt> component, then, for each element in the
<tt>query</tt> component, include a Uri-Query Option and let that
option's value be the be the text string
value of that element.</t>
            </li>
          </ol>
        </section>
        <section anchor="compose-coap">
          <name>Composing a Request CRI from a Set of CoAP Options</name>
          <t>The steps to construct a CRI from a request's options are as follows.
   These steps either result in a CRI or they fail.</t>
          <ol spacing="normal" type="1"><li>
              <t>Based on the variant of CoAP used in the request, choose a
<tt>scheme-id</tt> as per <xref target="scheme-id"/> and table <xref target="scheme-map"/>.  Use
that as the first value in the resulting CRI array.</t>
            </li>
            <li>
              <t>If the request includes a Uri-Host Option, insert an
<tt>authority</tt> with its value determined as follows:
If the value of the  Uri-Host Option is a <tt>reg-name</tt>, include
this as the <tt>host-name</tt>.
If the value is an IP-literal or IPv4address, extract any
<tt>zone-id</tt>, and represent the IP address as a byte string of
the correct length in <tt>host-ip</tt>, followed by any <tt>zone-id</tt>
extracted if present.
If the value is none of the three, fail this algorithm.  </t>
              <t>
If the request does not include a Uri-Host Option, insert an
<tt>authority</tt> with <tt>host-ip</tt> being the byte string that
represents the request's destination IP address and,
if one is present in the request's destination, add a <tt>zone-id</tt>.</t>
            </li>
            <li>
              <t>If the request includes a Uri-Port Option, let »port« be that
option's value.  Otherwise, let »port« be the request's
destination UDP port.
If »port« is not the default port for the scheme, then insert
the integer value of »port« as the value of <tt>port</tt> in the
authority.
Otherwise, elide the <tt>port</tt>.</t>
            </li>
            <li>
              <t>Insert a <tt>path</tt> component that contains an array built from
the text string values of the Uri-Path Options in the request,
or an empty array if no such options are present.</t>
            </li>
            <li>
              <t>Insert a <tt>query</tt> component that contains an array built from
the text string values of the Uri-Query Options in the request,
or an empty array if no such options are present.</t>
            </li>
          </ol>
        </section>
      </section>
      <section anchor="coap-options">
        <name>CoAP Options for Forward-Proxies</name>
        <t>Apart from the above procedures to convert CoAP CRIs to and from sets
of CoAP Options, two additional CoAP Options are defined in <xref section="5.10.2" sectionFormat="of" target="RFC7252"/> that support requests to forward-proxies:</t>
        <ul spacing="normal">
          <li>
            <t>Proxy-Uri, and</t>
          </li>
          <li>
            <t>its more lightweight variant, Proxy-Scheme</t>
          </li>
        </ul>
        <t>This section defines analogues of these that employ CRIs and the URI
Scheme numbering provided by the present specification.</t>
        <section anchor="proxy-cri">
          <name>Proxy-CRI</name>
          <table anchor="tab-proxy-cri">
            <name>Proxy-Cri CoAP Option</name>
            <thead>
              <tr>
                <th align="left">No.</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">TBD235</td>
                <td align="left">x</td>
                <td align="left">x</td>
                <td align="left">-</td>
                <td align="left"> </td>
                <td align="left">Proxy-Cri</td>
                <td align="left">opaque</td>
                <td align="left">1-1023</td>
                <td align="left">(none)</td>
              </tr>
            </tbody>
          </table>
          <t>The Proxy-CRI Option carries an encoded CBOR data item that represents
an absolute CRI reference.
It is used analogously to Proxy-Uri as defined in <xref section="5.10.2" sectionFormat="of" target="RFC7252"/>.
The Proxy-Cri Option <bcp14>MUST</bcp14> take precedence over any of the Uri-Host,
Uri-Port, Uri-Path or Uri-Query options, as well as over any
Proxy-Uri Option (each of which <bcp14>MUST NOT</bcp14> be
included in a request containing the Proxy-Cri Option).</t>
        </section>
        <section anchor="proxy-scheme-number">
          <name>Proxy-Scheme-Number</name>
          <table anchor="tab-proxy-scheme-number">
            <name>Proxy-Scheme-Number CoAP Option</name>
            <thead>
              <tr>
                <th align="left">No.</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">TBD239</td>
                <td align="left">x</td>
                <td align="left">x</td>
                <td align="left">-</td>
                <td align="left"> </td>
                <td align="left">Proxy-Scheme-Number</td>
                <td align="left">uint</td>
                <td align="left">0-3</td>
                <td align="left">(none)</td>
              </tr>
            </tbody>
          </table>
          <t>The Proxy-Scheme-Number Option carries a CRI Scheme Number represented as a
CoAP unsigned integer.
It is used analogously to Proxy-Scheme as defined in <xref section="5.10.2" sectionFormat="of" target="RFC7252"/>.</t>
          <t>As per <xref section="3.2" sectionFormat="of" target="RFC7252"/>, CoAP Options are only defined as one of empty, (text) string,
opaque (byte string), or uint (unsigned integer).
The Option therefore carries an
unsigned integer that represents the CRI scheme-number (which relates to
a CRI scheme-id as defined in <xref target="scheme-id"/>).
For instance, the scheme name "coap" has the scheme-number 0 and is
represented as an unsigned integer by a zero-length CoAP Option value.</t>
          <t><cref anchor="location-scheme">TO DO: Discuss the need for a
location-scheme-numeric option?</cref></t>
        </section>
      </section>
      <section anchor="toid">
        <name>ACE AIF</name>
        <t>The AIF (Authorization Information Format, <xref target="RFC9237"/>) defined by ACE by
default uses the local part of a URI to identify a resource for which
authorization is indicated.
The type and target of this information is an extension point, briefly
called <em>Toid</em> (Type of object identifier).
<xref target="toidreg"/> registers "CRI-local-part" as a Toid.
Together with <em>Tperm</em>, an extension point for a way to indicate
individual access rights (permissions), <xref section="2" sectionFormat="of" target="RFC9237"/>
defines its general Information Model as:</t>
        <sourcecode type="cddl"><![CDATA[
AIF-Generic<Toid, Tperm> = [* [Toid, Tperm]]
]]></sourcecode>
        <t>Using the definitions in <xref target="cddl"/> together with the <xref target="RFC9237"/> default TPerm
choice <tt>REST-method-set</tt>, this information model can be specialized as
in:</t>
        <sourcecode type="cddl"><![CDATA[
CRI-local-part = [path / null, ?query]
AIF-CRI = AIF-Generic<CRI-local-part, REST-method-set>
]]></sourcecode>
        <!-- cddlc -irfc9237 -sAIF-CRI -r2u -tcddl - -->

</section>
    </section>
    <section anchor="impl">
      <name>Implementation Status</name>
      <t>(Boilerplate as per <xref section="2.1" sectionFormat="of" target="RFC7942"/>:)</t>
      <t>This section records the status of known implementations of the
protocol defined by this specification at the time of posting of
this Internet-Draft, and is based on a proposal described in
<xref target="RFC7942"/>.  The description of implementations in this section is
intended to assist the IETF in its decision processes in
progressing drafts to RFCs.  Please note that the listing of any
individual implementation here does not imply endorsement by the
IETF.  Furthermore, no effort has been spent to verify the
information presented here that was supplied by IETF contributors.
This is not intended as, and must not be construed to be, a
catalog of available implementations or their features.  Readers
are advised to note that other implementations may exist.</t>
      <t>According to <xref target="RFC7942"/>, "this will allow reviewers and working
groups to assign due consideration to documents that have the
benefit of running code, which may serve as evidence of valuable
experimentation and feedback that have made the implemented
protocols more mature.  It is up to the individual working groups
to use this information as they see fit".
<?line -22?>
      </t>
      <t>With the exception of the authority=true fix, host-names split into
labels, and <xref target="pet"/>, CRIs are implemented in <tt>https://gitlab.com/chrysn/micrurus</tt>.
A golang implementation of version -10 of this document is found at:
<tt>https://github.com/thomas-fossati/href</tt>
        <!-- see RFC 7942 -->
      </t>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <t>Parsers of CRI references must operate on input that is assumed to be
untrusted. This means that parsers <bcp14>MUST</bcp14> fail gracefully
in the face of malicious inputs.
Additionally, parsers <bcp14>MUST</bcp14> be prepared to deal with
resource exhaustion (e.g., resulting from the allocation of big data
items) or exhaustion of the call stack (stack overflow).
See Section <xref target="RFC8949" section="10" sectionFormat="bare"/> of RFC 8949 <xref target="STD94"/> for additional
security considerations relating to CBOR.</t>
      <t>The security considerations discussed in Section <xref target="RFC3986" section="7" sectionFormat="bare"/> of RFC 3986 <xref target="STD66"/> and
<xref section="8" sectionFormat="of" target="RFC3987"/> for URIs and IRIs also apply to CRIs.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="cri-reg">
        <name>CRI Scheme Numbers Registry</name>
        <t>This specification defines a new "CRI Scheme Numbers" sub-registry in
the "CoRE Parameters" registry <xref target="IANA.core-parameters"/>, with the
policy "Expert Review" (Section <xref target="RFC8126" section="4.5" sectionFormat="bare"/> of RFC 8126 <xref target="BCP26"/>).
The objective is to have CRI scheme number values registered for all
registered URI schemes (Uniform Resource Identifier (URI) Schemes
registry), as well as exceptionally for certain text strings that the
Designated Expert considers widely used in constrained applications in
place of URI scheme names.</t>
        <section anchor="de-instructions">
          <name>Instructions for the Designated Expert</name>
          <t>The expert is instructed to be frugal in the allocation of CRI scheme
number values whose scheme-id values (<xref target="scheme-id"/>) have short
representations (1+0 and 1+1 encoding), keeping them in
reserve for applications that are likely to enjoy wide use and can
make good use of their shortness.</t>
          <t>When the expert notices that a registration has been made in the
Uniform Resource Identifier (URI) Schemes registry (see also <xref target="upd"/>),
the expert is requested to initiate a parallel registration in the CRI
Scheme Numbers registry.
CRI scheme number values in the range between 1000 and
20000 (inclusive) should be assigned unless a shorter representation
in CRIs appears desirable.</t>
          <t>The expert exceptionally also may make such a registration for text
strings that have not been registered in the Uniform Resource
Identifier (URI) Schemes registry if and only if the expert considers
them to be in wide use in place of URI scheme names in constrained
applications.
(Note that registrations in the CRI Scheme Numbers registry are
oblivious to the details of any URI Schemes registry registration, so
if a registration is later made in the URI Schemes registry that uses
such a previously unregistered text string as a name, the CRI Scheme
Numbers registration simply stays in place, even if the URI Schemes
registration happens to be for something different from what the
expert had in mind at the time for the CRI Scheme Numbers
registration.
Also note that the initial registrations in <xref target="tab-numbers"/> in
<xref target="sec-numbers"/> already include such registrations for the text strings
"mqtt" and "mqtts".)</t>
          <t>A registration in the CRI Scheme Numbers registry does not imply that
a URI scheme under this name exists or has been registered in the
Uniform Resource Identifier (URI) Schemes registry -- it essentially
is only providing an integer identifier for an otherwise uninterpreted
text string.</t>
          <t>Any questions or issues that might interest a wider audience might be
raised by the expert on the core-parameters@ietf.org mailing list for
a time-limited discussion.</t>
        </section>
        <section anchor="structure-of-entries">
          <name>Structure of Entries</name>
          <t>Each entry in the registry must include:</t>
          <dl newline="true">
            <dt>CRI scheme number:</dt>
            <dd>
              <t>An unsigned integer unique in this registry</t>
            </dd>
            <dt>URI scheme name:</dt>
            <dd>
              <t>a text string that would be acceptable for registration as a URI
Scheme Name in the Uniform Resource Identifier (URI) Schemes
registry</t>
            </dd>
            <dt>Reference:</dt>
            <dd>
              <t>a reference to a document, if available, or the registrant</t>
            </dd>
          </dl>
        </section>
        <section anchor="initial-registrations">
          <name>Initial Registrations</name>
          <t>The initial registrations for the CRI Scheme Numbers registry are
provided in <xref target="tab-numbers"/> in <xref target="sec-numbers"/>.</t>
        </section>
      </section>
      <section anchor="upd">
        <name>Update to "Uniform Resource Identifier (URI) Schemes" Registry</name>
        <t>RFC 7595 <xref target="BCP35"/> is updated to add the following note in the "Uniform
Resource Identifier (URI) Schemes" Registry <xref target="IANA.uri-schemes"/>:</t>
        <blockquote>
          <t>The CRI Scheme Numbers Registry registers numeric identifiers for what
essentially are URI Scheme names.
Registrants for the Uniform Resource Identifier (URI) Schemes Registry
are requested to make a parallel registration in the CRI Scheme
Numbers registry.
The number for this registration will be assigned by the Designated
Expert for that registry.</t>
        </blockquote>
      </section>
      <section anchor="cri-iana">
        <name>CBOR Diagnostic Notation Application-extension Identifiers Registry</name>
        <t>In the "Application-Extension Identifiers" registry in the "CBOR
Diagnostic Notation" registry group [IANA.cbor-diagnostic-notation],
IANA is requested to register the application-extension identifier
<tt>cri</tt> as described in <xref target="tab-iana"/> and defined in <xref target="edn-cri"/>.</t>
        <table anchor="tab-iana">
          <name>CBOR Extended Diagnostic Notation (EDN) Application-extension Identifier for CRI</name>
          <thead>
            <tr>
              <th align="left">Application-extension Identifier</th>
              <th align="left">Description</th>
              <th align="left">Change Controller</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">cri</td>
              <td align="left">Constrained Resource Identifier</td>
              <td align="left">IETF</td>
              <td align="left">RFC-XXXX, <xref target="edn-cri"/></td>
            </tr>
          </tbody>
        </table>
        <t><cref anchor="replace-xxxx_1">RFC Ed.: throughout this section, please replace
RFC-XXXX with the RFC number of this specification and remove this
note.</cref></t>
      </section>
      <section anchor="coap-option-numbers-registry">
        <name>CoAP Option Numbers Registry</name>
        <t>In the "CoAP Option Numbers" registry in the "CoRE Parameters" registry group <xref target="IANA.core-parameters"/>,
IANA is requested to register the CoAP Option Numbers
as described in <xref target="tab-iana-options"/> and defined in <xref target="coap-options"/>.</t>
        <table anchor="tab-iana-options">
          <name>New CoAP Option Numbers</name>
          <thead>
            <tr>
              <th align="left">No.</th>
              <th align="left">Name</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">TBD235</td>
              <td align="left">Proxy-Cri</td>
              <td align="left">RFC-XXXX</td>
            </tr>
            <tr>
              <td align="left">TBD239</td>
              <td align="left">Proxy-Scheme-Number</td>
              <td align="left">RFC-XXXX</td>
            </tr>
          </tbody>
        </table>
        <t><cref anchor="replace-xxxx_2">RFC Ed.: throughout this section, please replace
RFC-XXXX with the RFC number of this specification and remove this
note.</cref></t>
      </section>
      <section anchor="toidreg">
        <name>Media-Type subparameters for ACE AIF</name>
        <t>In the "Sub-Parameter Registry for application/aif+cbor and
application/aif+json" in the "Media Type Sub-Parameter Registries"
registry group <xref target="IANA.media-type-sub-parameters"/>, IANA is requested to
register:</t>
        <table anchor="tab-iana-toid">
          <name>ACE AIF Toid for CRI</name>
          <thead>
            <tr>
              <th align="left">Parameter</th>
              <th align="left">Name</th>
              <th align="left">Description/Specification</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Toid</td>
              <td align="left">CRI-local-part</td>
              <td align="left">local-part of CRI</td>
              <td align="left">
                <xref target="toid"/> of RFC-XXXX</td>
            </tr>
          </tbody>
        </table>
        <t><cref anchor="replace-xxxx_3">RFC Ed.: throughout this section, please replace
RFC-XXXX with the RFC number of this specification and remove this
note.</cref></t>
      </section>
      <section anchor="content-format-for-cri-in-aif">
        <name>Content-Format for CRI in AIF</name>
        <t>IANA is requested to register a Content-Format number in the "CoAP
Content-Formats" registry (range 256-999), within the "Constrained
RESTful Environments (CoRE) Parameters" registry group
<xref target="IANA.core-parameters"/>, as follows:</t>
        <table anchor="tab-iana-toid-ct">
          <name>Content-Format for ACE AIF with CRI-local-part Toid</name>
          <thead>
            <tr>
              <th align="left">Media Type</th>
              <th align="left">Encoding</th>
              <th align="left">ID</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">application/aif+cbor; Toid=CRI-local-part</td>
              <td align="left">-</td>
              <td align="left">TBD</td>
              <td align="left">RFC-XXXX</td>
            </tr>
          </tbody>
        </table>
        <t><cref anchor="replace-xxxx_4">RFC Ed.: throughout this section, please replace
RFC-XXXX with the RFC number of this specification and remove this
note.</cref></t>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <referencegroup anchor="STD66" target="https://www.rfc-editor.org/info/std66">
          <reference anchor="RFC3986" target="https://www.rfc-editor.org/info/rfc3986">
            <front>
              <title>Uniform Resource Identifier (URI): Generic Syntax</title>
              <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
              <author fullname="R. Fielding" initials="R." surname="Fielding"/>
              <author fullname="L. Masinter" initials="L." surname="Masinter"/>
              <date month="January" year="2005"/>
              <abstract>
                <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. [STANDARDS-TRACK]</t>
              </abstract>
            </front>
            <seriesInfo name="STD" value="66"/>
            <seriesInfo name="RFC" value="3986"/>
            <seriesInfo name="DOI" value="10.17487/RFC3986"/>
          </reference>
        </referencegroup>
        <reference anchor="RFC3987">
          <front>
            <title>Internationalized Resource Identifiers (IRIs)</title>
            <author fullname="M. Duerst" initials="M." surname="Duerst"/>
            <author fullname="M. Suignard" initials="M." surname="Suignard"/>
            <date month="January" year="2005"/>
            <abstract>
              <t>This document defines a new protocol element, the Internationalized Resource Identifier (IRI), as a complement of the Uniform Resource Identifier (URI). An IRI is a sequence of characters from the Universal Character Set (Unicode/ISO 10646). A mapping from IRIs to URIs is defined, which means that IRIs can be used instead of URIs, where appropriate, to identify resources.</t>
              <t>The approach of defining a new protocol element was chosen instead of extending or changing the definition of URIs. This was done in order to allow a clear distinction and to avoid incompatibilities with existing software. Guidelines are provided for the use and deployment of IRIs in various protocols, formats, and software components that currently deal with URIs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3987"/>
          <seriesInfo name="DOI" value="10.17487/RFC3987"/>
        </reference>
        <reference anchor="RFC6874">
          <front>
            <title>Representing IPv6 Zone Identifiers in Address Literals and Uniform Resource Identifiers</title>
            <author fullname="B. Carpenter" initials="B." surname="Carpenter"/>
            <author fullname="S. Cheshire" initials="S." surname="Cheshire"/>
            <author fullname="R. Hinden" initials="R." surname="Hinden"/>
            <date month="February" year="2013"/>
            <abstract>
              <t>This document describes how the zone identifier of an IPv6 scoped address, defined as in the IPv6 Scoped Address Architecture (RFC 4007), can be represented in a literal IPv6 address and in a Uniform Resource Identifier that includes such a literal address. It updates the URI Generic Syntax specification (RFC 3986) accordingly.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6874"/>
          <seriesInfo name="DOI" value="10.17487/RFC6874"/>
        </reference>
        <referencegroup anchor="BCP35" target="https://www.rfc-editor.org/info/bcp35">
          <reference anchor="RFC7595" target="https://www.rfc-editor.org/info/rfc7595">
            <front>
              <title>Guidelines and Registration Procedures for URI Schemes</title>
              <author fullname="D. Thaler" initials="D." role="editor" surname="Thaler"/>
              <author fullname="T. Hansen" initials="T." surname="Hansen"/>
              <author fullname="T. Hardie" initials="T." surname="Hardie"/>
              <date month="June" year="2015"/>
              <abstract>
                <t>This document updates the guidelines and recommendations, as well as the IANA registration processes, for the definition of Uniform Resource Identifier (URI) schemes. It obsoletes RFC 4395.</t>
              </abstract>
            </front>
            <seriesInfo name="BCP" value="35"/>
            <seriesInfo name="RFC" value="7595"/>
            <seriesInfo name="DOI" value="10.17487/RFC7595"/>
          </reference>
        </referencegroup>
        <reference anchor="IANA.uri-schemes" target="https://www.iana.org/assignments/uri-schemes">
          <front>
            <title>Uniform Resource Identifier (URI) Schemes</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <referencegroup anchor="BCP26" target="https://www.rfc-editor.org/info/bcp26">
          <reference anchor="RFC8126" target="https://www.rfc-editor.org/info/rfc8126">
            <front>
              <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
              <author fullname="M. Cotton" initials="M." surname="Cotton"/>
              <author fullname="B. Leiba" initials="B." surname="Leiba"/>
              <author fullname="T. Narten" initials="T." surname="Narten"/>
              <date month="June" year="2017"/>
              <abstract>
                <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
                <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
                <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
              </abstract>
            </front>
            <seriesInfo name="BCP" value="26"/>
            <seriesInfo name="RFC" value="8126"/>
            <seriesInfo name="DOI" value="10.17487/RFC8126"/>
          </reference>
        </referencegroup>
        <reference anchor="IANA.media-type-sub-parameters" target="https://www.iana.org/assignments/media-type-sub-parameters">
          <front>
            <title>Media Type Sub-Parameter Registries</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="RFC9237">
          <front>
            <title>An Authorization Information Format (AIF) for Authentication and Authorization for Constrained Environments (ACE)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Information about which entities are authorized to perform what operations on which constituents of other entities is a crucial component of producing an overall system that is secure. Conveying precise authorization information is especially critical in highly automated systems with large numbers of entities, such as the Internet of Things.</t>
              <t>This specification provides a generic information model and format for representing such authorization information, as well as two variants of a specific instantiation of that format for use with Representational State Transfer (REST) resources identified by URI path.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9237"/>
          <seriesInfo name="DOI" value="10.17487/RFC9237"/>
        </reference>
        <reference anchor="IANA.core-parameters" target="https://www.iana.org/assignments/core-parameters">
          <front>
            <title>Constrained RESTful Environments (CoRE) Parameters</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="Unicode" target="https://www.unicode.org/versions/Unicode13.0.0/">
          <front>
            <title>The Unicode Standard, Version 13.0.0</title>
            <author>
              <organization>The Unicode Consortium</organization>
            </author>
            <date year="2020" month="March"/>
          </front>
          <seriesInfo name="ISBN" value="978-1-936213-26-9"/>
        </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="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="I-D.ietf-cbor-packed">
          <front>
            <title>Packed CBOR</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <author fullname="Mikolai Gütschow" initials="M." surname="Gütschow">
              <organization>TUD Dresden University of Technology</organization>
            </author>
            <date day="1" month="September" year="2024"/>
            <abstract>
              <t>   The Concise Binary Object Representation (CBOR, RFC 8949 == STD 94)
   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.

   CBOR does not provide any forms of data compression.  CBOR data
   items, in particular when generated from legacy data models, often
   allow considerable gains in compactness when applying data
   compression.  While traditional data compression techniques such as
   DEFLATE (RFC 1951) can work well for CBOR encoded data items, their
   disadvantage is that the recipient needs to decompress the compressed
   form to make use of the data.

   This specification describes Packed CBOR, a simple transformation of
   a CBOR data item into another CBOR data item that is almost as easy
   to consume as the original CBOR data item.  A separate decompression
   step is therefore often not required at the recipient.


   // The present version (-13) is a refresh of the implementation draft
   // -12 with minor editorial improvements.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cbor-packed-13"/>
        </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="RFC3490">
          <front>
            <title>Internationalizing Domain Names in Applications (IDNA)</title>
            <author fullname="P. Faltstrom" initials="P." surname="Faltstrom"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="A. Costello" initials="A." surname="Costello"/>
            <date month="March" year="2003"/>
            <abstract>
              <t>Until now, there has been no standard method for domain names to use characters outside the ASCII repertoire. This document defines internationalized domain names (IDNs) and a mechanism called Internationalizing Domain Names in Applications (IDNA) for handling them in a standard fashion. IDNs use characters drawn from a large repertoire (Unicode), but IDNA allows the non-ASCII characters to be represented using only the ASCII characters already allowed in so-called host names today. This backward-compatible representation is required in existing protocols like DNS, so that IDNs can be introduced with no changes to the existing infrastructure. IDNA is only meant for processing domain names, not free text. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3490"/>
          <seriesInfo name="DOI" value="10.17487/RFC3490"/>
        </reference>
        <reference anchor="RFC7228">
          <front>
            <title>Terminology for Constrained-Node Networks</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="M. Ersue" initials="M." surname="Ersue"/>
            <author fullname="A. Keranen" initials="A." surname="Keranen"/>
            <date month="May" year="2014"/>
            <abstract>
              <t>The Internet Protocol Suite is increasingly used on small devices with severe constraints on power, memory, and processing resources, creating constrained-node networks. This document provides a number of basic terms that have been useful in the standardization work for constrained-node networks.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7228"/>
          <seriesInfo name="DOI" value="10.17487/RFC7228"/>
        </reference>
        <referencegroup anchor="STD97" target="https://www.rfc-editor.org/info/std97">
          <reference anchor="RFC9110" target="https://www.rfc-editor.org/info/rfc9110">
            <front>
              <title>HTTP Semantics</title>
              <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
              <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
              <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
              <date month="June" year="2022"/>
              <abstract>
                <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
                <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
              </abstract>
            </front>
            <seriesInfo name="STD" value="97"/>
            <seriesInfo name="RFC" value="9110"/>
            <seriesInfo name="DOI" value="10.17487/RFC9110"/>
          </reference>
        </referencegroup>
        <reference anchor="RFC7252">
          <front>
            <title>The Constrained Application Protocol (CoAP)</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <author fullname="K. Hartke" initials="K." surname="Hartke"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <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="RFC8141">
          <front>
            <title>Uniform Resource Names (URNs)</title>
            <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
            <author fullname="J. Klensin" initials="J." surname="Klensin"/>
            <date month="April" year="2017"/>
            <abstract>
              <t>A Uniform Resource Name (URN) is a Uniform Resource Identifier (URI) that is assigned under the "urn" URI scheme and a particular URN namespace, with the intent that the URN will be a persistent, location-independent resource identifier. With regard to URN syntax, this document defines the canonical syntax for URNs (in a way that is consistent with URI syntax), specifies methods for determining URN-equivalence, and discusses URI conformance. With regard to URN namespaces, this document specifies a method for defining a URN namespace and associating it with a namespace identifier, and it describes procedures for registering namespace identifiers with the Internet Assigned Numbers Authority (IANA). This document obsoletes both RFCs 2141 and 3406.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8141"/>
          <seriesInfo name="DOI" value="10.17487/RFC8141"/>
        </reference>
        <reference anchor="RFC8288">
          <front>
            <title>Web Linking</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <date month="October" year="2017"/>
            <abstract>
              <t>This specification defines a model for the relationships between resources on the Web ("links") and the type of those relationships ("link relation types").</t>
              <t>It also defines the serialisation of such links in HTTP headers with the Link header field.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8288"/>
          <seriesInfo name="DOI" value="10.17487/RFC8288"/>
        </reference>
        <referencegroup anchor="BCP190" target="https://www.rfc-editor.org/info/bcp190">
          <reference anchor="RFC8820" target="https://www.rfc-editor.org/info/rfc8820">
            <front>
              <title>URI Design and Ownership</title>
              <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
              <date month="June" year="2020"/>
              <abstract>
                <t>Section 1.1.1 of RFC 3986 defines URI syntax as "a federated and extensible naming system wherein each scheme's specification may further restrict the syntax and semantics of identifiers using that scheme." In other words, the structure of a URI is defined by its scheme. While it is common for schemes to further delegate their substructure to the URI's owner, publishing independent standards that mandate particular forms of substructure in URIs is often problematic.</t>
                <t>This document provides guidance on the specification of URI substructure in standards.</t>
                <t>This document obsoletes RFC 7320 and updates RFC 3986.</t>
              </abstract>
            </front>
            <seriesInfo name="BCP" value="190"/>
            <seriesInfo name="RFC" value="8820"/>
            <seriesInfo name="DOI" value="10.17487/RFC8820"/>
          </reference>
        </referencegroup>
        <reference anchor="W3C.REC-html52-20171214" target="https://www.w3.org/TR/2017/REC-html52-20171214/">
          <front>
            <title>HTML 5.2</title>
            <author fullname="Alex Danilo" role="editor"/>
            <author fullname="Arron Eicholz" role="editor"/>
            <author fullname="Sangwhan Moon" role="editor"/>
            <author fullname="Steve Faulkner" role="editor"/>
            <author fullname="Travis Leithead" role="editor"/>
            <date day="14" month="December" year="2017"/>
          </front>
          <seriesInfo name="W3C REC" value="REC-html52-20171214"/>
          <seriesInfo name="W3C" value="REC-html52-20171214"/>
        </reference>
        <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="8" month="January" 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
   // revision (–16) addresses the first half of the WGLC comments,
   // except for the issues around the specific way how to best achieve
   // pluggable ABNF grammars for application-extensions.  It is
   // intended for use as a reference document for the mid-WGLC CBOR WG
   // interim meeting on 2025-01-08.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cbor-edn-literals-16"/>
        </reference>
        <reference anchor="I-D.carpenter-6man-rfc6874bis">
          <front>
            <title>Representing IPv6 Zone Identifiers in Address Literals and Uniform Resource Identifiers</title>
            <author fullname="Brian E. Carpenter" initials="B. E." surname="Carpenter">
         </author>
            <author fullname="Stuart Cheshire" initials="S." surname="Cheshire">
              <organization>Apple Inc.</organization>
            </author>
            <author fullname="Bob Hinden" initials="R. M." surname="Hinden">
              <organization>Check Point Software</organization>
            </author>
            <date day="8" month="February" year="2022"/>
            <abstract>
              <t>   This document describes how the zone identifier of an IPv6 scoped
   address, defined as &lt;zone_id&gt; in the IPv6 Scoped Address Architecture
   (RFC 4007), can be represented in a literal IPv6 address and in a
   Uniform Resource Identifier that includes such a literal address.  It
   updates the URI Generic Syntax and Internationalized Resource
   Identifier specifications (RFC 3986, RFC 3987) accordingly, and
   obsoletes RFC 6874.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-carpenter-6man-rfc6874bis-03"/>
        </reference>
        <reference anchor="RFC7942">
          <front>
            <title>Improving Awareness of Running Code: The Implementation Status Section</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <date month="July" year="2016"/>
            <abstract>
              <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
              <t>This process is not mandatory. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="205"/>
          <seriesInfo name="RFC" value="7942"/>
          <seriesInfo name="DOI" value="10.17487/RFC7942"/>
        </reference>
        <reference anchor="RFC4180">
          <front>
            <title>Common Format and MIME Type for Comma-Separated Values (CSV) Files</title>
            <author fullname="Y. Shafranovich" initials="Y." surname="Shafranovich"/>
            <date month="October" year="2005"/>
            <abstract>
              <t>This RFC documents the format used for Comma-Separated Values (CSV) files and registers the associated MIME type "text/csv". This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4180"/>
          <seriesInfo name="DOI" value="10.17487/RFC4180"/>
        </reference>
      </references>
    </references>
    <?line 1514?>

<section anchor="sec-numbers">
      <name>Mapping Scheme Numbers to Scheme Names</name>
      <t><cref anchor="replace-xxxx_5">RFC Ed.: throughout this section, please replace
RFC-XXXX with the RFC number of this specification and remove this
note.</cref></t>
      <t><xref target="tab-numbers"/> defines the initial mapping from CRI scheme numbers to
URI scheme names.</t>
      <table anchor="tab-numbers">
        <name>Mapping Scheme Numbers to Scheme Names</name>
        <thead>
          <tr>
            <th align="left">CRI scheme number</th>
            <th align="left">URI scheme name</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">0</td>
            <td align="left">coap</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">1</td>
            <td align="left">coaps</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">2</td>
            <td align="left">http</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">3</td>
            <td align="left">https</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">4</td>
            <td align="left">urn</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">5</td>
            <td align="left">did</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">6</td>
            <td align="left">coap+tcp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">7</td>
            <td align="left">coaps+tcp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">8</td>
            <td align="left">coap+ws</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">9</td>
            <td align="left">coaps+ws</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">1059</td>
            <td align="left">ms-gamingoverlay</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">1165</td>
            <td align="left">snmp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">1220</td>
            <td align="left">cast</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">1242</td>
            <td align="left">openid</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">1273</td>
            <td align="left">hs20</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">1319</td>
            <td align="left">z39.50</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">1328</td>
            <td align="left">dweb</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">1466</td>
            <td align="left">psyc</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">1528</td>
            <td align="left">ms-people</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">1562</td>
            <td align="left">ms-personacard</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">1578</td>
            <td align="left">jar</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">1658</td>
            <td align="left">wpid</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">1762</td>
            <td align="left">payment</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">1895</td>
            <td align="left">news</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">1905</td>
            <td align="left">irc6</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">1926</td>
            <td align="left">turns</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">1946</td>
            <td align="left">data</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">1982</td>
            <td align="left">ens</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">2154</td>
            <td align="left">things</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">2284</td>
            <td align="left">resource</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">2326</td>
            <td align="left">skype</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">2406</td>
            <td align="left">videotex</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">2442</td>
            <td align="left">dpp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">2747</td>
            <td align="left">upt</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">2754</td>
            <td align="left">platform</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">2790</td>
            <td align="left">ed2k</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">2796</td>
            <td align="left">taler</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">2806</td>
            <td align="left">fm</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">2945</td>
            <td align="left">ms-newsandinterests</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">3005</td>
            <td align="left">xmlrpc.beep</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">3018</td>
            <td align="left">ark</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">3119</td>
            <td align="left">wss</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">3143</td>
            <td align="left">tel</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">3255</td>
            <td align="left">vscode-insiders</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">3342</td>
            <td align="left">geo</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">3348</td>
            <td align="left">rtmfp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">3358</td>
            <td align="left">mtqp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">3365</td>
            <td align="left">filesystem</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">3375</td>
            <td align="left">teapots</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">3503</td>
            <td align="left">proxy</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">3524</td>
            <td align="left">sms</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">3634</td>
            <td align="left">jms</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">3646</td>
            <td align="left">mid</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">3690</td>
            <td align="left">ms-calculator</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">3775</td>
            <td align="left">gitoid</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">3783</td>
            <td align="left">calculator</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">3786</td>
            <td align="left">about</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">3795</td>
            <td align="left">facetime</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">3837</td>
            <td align="left">ymsgr</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">3886</td>
            <td align="left">dict</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">3906</td>
            <td align="left">ldaps</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">3920</td>
            <td align="left">rtmp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">3959</td>
            <td align="left">ms-settings-proximity</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">4053</td>
            <td align="left">fax</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">4102</td>
            <td align="left">ms-drive-to</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">4153</td>
            <td align="left">res</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">4183</td>
            <td align="left">webcal</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">4193</td>
            <td align="left">embedded</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">4315</td>
            <td align="left">xftp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">4327</td>
            <td align="left">browserext</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">4355</td>
            <td align="left">session</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">4373</td>
            <td align="left">dav</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">4419</td>
            <td align="left">ipps</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">4515</td>
            <td align="left">uuid-in-package</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">4549</td>
            <td align="left">dhttp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">4559</td>
            <td align="left">web3</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">4590</td>
            <td align="left">iris.lwz</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">4598</td>
            <td align="left">diaspora</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">4619</td>
            <td align="left">rtsps</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">4674</td>
            <td align="left">beshare</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">4709</td>
            <td align="left">gtalk</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">4714</td>
            <td align="left">hxxps</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">4747</td>
            <td align="left">xrcp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">4882</td>
            <td align="left">sgn</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">4929</td>
            <td align="left">eid</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">4951</td>
            <td align="left">submit</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">5099</td>
            <td align="left">ar</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">5109</td>
            <td align="left">ms-settings-airplanemode</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">5134</td>
            <td align="left">steam</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">5150</td>
            <td align="left">adt</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">5152</td>
            <td align="left">ms-appinstaller</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">5188</td>
            <td align="left">bb</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">5217</td>
            <td align="left">udp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">5296</td>
            <td align="left">example</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">5347</td>
            <td align="left">ms-remotedesktop</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">5410</td>
            <td align="left">ms-sttoverlay</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">5425</td>
            <td align="left">irc</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">5472</td>
            <td align="left">sieve</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">5477</td>
            <td align="left">machineProvisioningProgressReporter</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">5480</td>
            <td align="left">lvlt</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">5492</td>
            <td align="left">sftp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">5536</td>
            <td align="left">ms-excel</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">5557</td>
            <td align="left">dlna-playcontainer</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">5705</td>
            <td align="left">go</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">5717</td>
            <td align="left">fido</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">5728</td>
            <td align="left">chrome</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">5823</td>
            <td align="left">shc</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">5825</td>
            <td align="left">swidpath</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">5883</td>
            <td align="left">microsoft.windows.camera.picker</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">5990</td>
            <td align="left">crid</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">6007</td>
            <td align="left">at</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">6024</td>
            <td align="left">hcp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">6030</td>
            <td align="left">content-type</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">6109</td>
            <td align="left">jabber</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">6144</td>
            <td align="left">dlna-playsingle</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">6189</td>
            <td align="left">ms-spd</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">6341</td>
            <td align="left">opaquelocktoken</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">6349</td>
            <td align="left">soldat</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">6380</td>
            <td align="left">z39.50s</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">6388</td>
            <td align="left">ms-media-stream-id</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">6411</td>
            <td align="left">ms-mixedrealitycapture</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">6462</td>
            <td align="left">quic-transport</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">6503</td>
            <td align="left">ham</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">6516</td>
            <td align="left">nfs</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">6609</td>
            <td align="left">ut2004</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">6632</td>
            <td align="left">hydrazone</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">6634</td>
            <td align="left">adiumxtra</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">6651</td>
            <td align="left">tip</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">6658</td>
            <td align="left">lpa</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">6730</td>
            <td align="left">cstr</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">6755</td>
            <td align="left">ms-settings-screenrotation</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">6774</td>
            <td align="left">dab</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">6792</td>
            <td align="left">ms-inputapp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">6808</td>
            <td align="left">moz</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">6840</td>
            <td align="left">acd</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">6863</td>
            <td align="left">ms-access</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">6883</td>
            <td align="left">im</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">6903</td>
            <td align="left">pttp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">6924</td>
            <td align="left">teamspeak</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">6992</td>
            <td align="left">payto</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">7074</td>
            <td align="left">secret-token</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">7126</td>
            <td align="left">iax</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">7225</td>
            <td align="left">isostore</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">7226</td>
            <td align="left">bitcoincash</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">7285</td>
            <td align="left">smb</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">7364</td>
            <td align="left">appdata</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">7456</td>
            <td align="left">dtn</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">7520</td>
            <td align="left">feed</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">7667</td>
            <td align="left">ssh</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">7743</td>
            <td align="left">ms-transit-to</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">7809</td>
            <td align="left">ms-help</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">7812</td>
            <td align="left">vscode</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">7856</td>
            <td align="left">apt</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">7868</td>
            <td align="left">ms-settings-notifications</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">7874</td>
            <td align="left">shttp (OBSOLETE)</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">7913</td>
            <td align="left">ethereum</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">7923</td>
            <td align="left">tv</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">7942</td>
            <td align="left">microsoft.windows.camera.multipicker</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">8041</td>
            <td align="left">msnim</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">8085</td>
            <td align="left">ms-remotedesktop-launch</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">8093</td>
            <td align="left">spiffe</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">8099</td>
            <td align="left">redis</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">8159</td>
            <td align="left">z39.50r</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">8251</td>
            <td align="left">brid</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">8300</td>
            <td align="left">tftp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">8387</td>
            <td align="left">content</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">8454</td>
            <td align="left">wais</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">8506</td>
            <td align="left">view-source</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">8519</td>
            <td align="left">soap.beep</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">8577</td>
            <td align="left">attachment</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">8601</td>
            <td align="left">gopher</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">8687</td>
            <td align="left">ircs</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">8713</td>
            <td align="left">callto</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">8765</td>
            <td align="left">bolo</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">8766</td>
            <td align="left">notes</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">8775</td>
            <td align="left">ipn</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">8830</td>
            <td align="left">ms-infopath</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">9075</td>
            <td align="left">ms-settings</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">9136</td>
            <td align="left">ms-useractivityset</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">9154</td>
            <td align="left">modem</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">9186</td>
            <td align="left">bitcoin</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">9198</td>
            <td align="left">ms-settings-privacy</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">9204</td>
            <td align="left">cap</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">9278</td>
            <td align="left">com-eventbrite-attendee</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">9312</td>
            <td align="left">pkcs11</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">9318</td>
            <td align="left">ipp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">9338</td>
            <td align="left">rediss</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">9444</td>
            <td align="left">grd</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">9453</td>
            <td align="left">ms-screensketch</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">9487</td>
            <td align="left">matrix</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">9520</td>
            <td align="left">xcon-userid</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">9535</td>
            <td align="left">sips</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">9544</td>
            <td align="left">simpleledger</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">9585</td>
            <td align="left">mvn</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">9770</td>
            <td align="left">keyparc</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">9805</td>
            <td align="left">magnet</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">9816</td>
            <td align="left">vsls</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">9859</td>
            <td align="left">drm</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">9875</td>
            <td align="left">hcap</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">9910</td>
            <td align="left">wtai</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">9965</td>
            <td align="left">num</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">9981</td>
            <td align="left">ms-settings-language</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">10119</td>
            <td align="left">imap</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">10147</td>
            <td align="left">query</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">10176</td>
            <td align="left">ves</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">10183</td>
            <td align="left">ms-recall</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">10196</td>
            <td align="left">acr</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">10225</td>
            <td align="left">barion</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">10229</td>
            <td align="left">acct</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">10238</td>
            <td align="left">palm</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">10241</td>
            <td align="left">ocf</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">10247</td>
            <td align="left">lid</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">10317</td>
            <td align="left">h323</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">10327</td>
            <td align="left">aim</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">10333</td>
            <td align="left">turn</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">10361</td>
            <td align="left">ms-stickers</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">10373</td>
            <td align="left">ms-settings-location</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">10380</td>
            <td align="left">dvb</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">10467</td>
            <td align="left">xcon</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">10518</td>
            <td align="left">ms-screenclip</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">10551</td>
            <td align="left">pop</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">10583</td>
            <td align="left">dat</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">10591</td>
            <td align="left">ms-settings-nfctransactions</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">10640</td>
            <td align="left">ms-settings-cloudstorage</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">10687</td>
            <td align="left">afs</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">10740</td>
            <td align="left">mqtt</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">10744</td>
            <td align="left">gizmoproject</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">10831</td>
            <td align="left">amss</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">10868</td>
            <td align="left">mailserver</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">10926</td>
            <td align="left">ni</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">10995</td>
            <td align="left">telnet</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">11055</td>
            <td align="left">gg</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">11060</td>
            <td align="left">blob</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">11072</td>
            <td align="left">ms-settings-emailandaccounts</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">11130</td>
            <td align="left">ms-project</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">11255</td>
            <td align="left">xri</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">11315</td>
            <td align="left">msrp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">11351</td>
            <td align="left">ms-settings-connectabledevices</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">11393</td>
            <td align="left">cabal</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">11428</td>
            <td align="left">nih</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">11467</td>
            <td align="left">ms-whiteboard</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">11533</td>
            <td align="left">smp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">11537</td>
            <td align="left">vnc</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">11583</td>
            <td align="left">graph</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">11645</td>
            <td align="left">dvx</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">11718</td>
            <td align="left">lorawan</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">11742</td>
            <td align="left">lastfm</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">11799</td>
            <td align="left">w3</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">11804</td>
            <td align="left">mumble</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">11820</td>
            <td align="left">thzp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">11824</td>
            <td align="left">feedready</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">11857</td>
            <td align="left">microsoft.windows.camera</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">11892</td>
            <td align="left">wcr</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">11945</td>
            <td align="left">ms-mobileplans</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">11950</td>
            <td align="left">ms-settings-lock</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">11962</td>
            <td align="left">ws</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">11999</td>
            <td align="left">rtspu</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">12029</td>
            <td align="left">ms-settings-displays-topology</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">12052</td>
            <td align="left">bluetooth</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">12068</td>
            <td align="left">file</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">12102</td>
            <td align="left">mailto</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">12174</td>
            <td align="left">ms-launchremotedesktop</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">12242</td>
            <td align="left">cvs</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">12337</td>
            <td align="left">mms</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">12400</td>
            <td align="left">ssb</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">12422</td>
            <td align="left">iris.xpc</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">12458</td>
            <td align="left">starknet</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">12478</td>
            <td align="left">qb</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">12493</td>
            <td align="left">mss</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">12502</td>
            <td align="left">ventrilo</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">12525</td>
            <td align="left">ms-lockscreencomponent-config</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">12566</td>
            <td align="left">icap</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">12569</td>
            <td align="left">mupdate</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">12599</td>
            <td align="left">paparazzi</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">12634</td>
            <td align="left">fish</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">12644</td>
            <td align="left">sip</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">12699</td>
            <td align="left">mt</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">12705</td>
            <td align="left">acap</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">12718</td>
            <td align="left">casts</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">12726</td>
            <td align="left">reload</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">12732</td>
            <td align="left">spotify</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">12806</td>
            <td align="left">fuchsia-pkg</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">12823</td>
            <td align="left">ms-gamebarservices</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">12876</td>
            <td align="left">hyper</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">12932</td>
            <td align="left">dns</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">13014</td>
            <td align="left">doi</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">13026</td>
            <td align="left">ms-settings-power</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">13068</td>
            <td align="left">git</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">13094</td>
            <td align="left">openpgp4fpr</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">13098</td>
            <td align="left">ms-secondary-screen-controller</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">13228</td>
            <td align="left">mvrps</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">13285</td>
            <td align="left">snews</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">13340</td>
            <td align="left">smtp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">13348</td>
            <td align="left">pack</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">13362</td>
            <td align="left">teliaeid</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">13372</td>
            <td align="left">mongodb</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">13404</td>
            <td align="left">afp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">13440</td>
            <td align="left">msrps</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">13442</td>
            <td align="left">ldap</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">13451</td>
            <td align="left">mvrp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">13499</td>
            <td align="left">nntp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">13608</td>
            <td align="left">onenote</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">13650</td>
            <td align="left">sarif</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">13680</td>
            <td align="left">elsi</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">13829</td>
            <td align="left">otpauth</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">13846</td>
            <td align="left">info</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">13862</td>
            <td align="left">aaa</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">13923</td>
            <td align="left">svn</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">13986</td>
            <td align="left">iris</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">14010</td>
            <td align="left">lbry</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">14034</td>
            <td align="left">ms-search</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">14090</td>
            <td align="left">ms-browser-extension</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">14153</td>
            <td align="left">maps</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">14162</td>
            <td align="left">swid</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">14168</td>
            <td align="left">ms-officeapp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">14180</td>
            <td align="left">ms-settings-bluetooth</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">14310</td>
            <td align="left">ms-enrollment</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">14347</td>
            <td align="left">dntp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">14364</td>
            <td align="left">ms-walk-to</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">14366</td>
            <td align="left">ms-getoffice</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">14367</td>
            <td align="left">thismessage</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">14460</td>
            <td align="left">message</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">14477</td>
            <td align="left">prospero</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">14526</td>
            <td align="left">aaas</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">14595</td>
            <td align="left">market</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">14627</td>
            <td align="left">stun</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">14667</td>
            <td align="left">chrome-extension</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">14830</td>
            <td align="left">itms</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">14860</td>
            <td align="left">ms-whiteboard-cmd</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">14867</td>
            <td align="left">wifi</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">14868</td>
            <td align="left">icon</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">14878</td>
            <td align="left">ftp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">14901</td>
            <td align="left">stuns</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">14906</td>
            <td align="left">mqtts</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">14936</td>
            <td align="left">ms-settings-workplace</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">14962</td>
            <td align="left">tn3270</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">14972</td>
            <td align="left">pres</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">14982</td>
            <td align="left">p1</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">15026</td>
            <td align="left">teapot</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">15061</td>
            <td align="left">android</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">15118</td>
            <td align="left">simplex</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">15163</td>
            <td align="left">ms-visio</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">15202</td>
            <td align="left">cid</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">15206</td>
            <td align="left">unreal</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">15230</td>
            <td align="left">tool</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">15254</td>
            <td align="left">ms-secondary-screen-setup</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">15267</td>
            <td align="left">rtsp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">15306</td>
            <td align="left">xfire</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">15358</td>
            <td align="left">xmpp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">15361</td>
            <td align="left">ms-settings-cellular</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">15461</td>
            <td align="left">shelter</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">15579</td>
            <td align="left">v-event</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">15639</td>
            <td align="left">iris.beep</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">15641</td>
            <td align="left">wyciwyg</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">15645</td>
            <td align="left">ms-meetnow</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">15679</td>
            <td align="left">ms-search-repair</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">15773</td>
            <td align="left">ms-settings-camera</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">15776</td>
            <td align="left">ms-virtualtouchpad</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">15805</td>
            <td align="left">xmlrpc.beeps</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">15972</td>
            <td align="left">ipfs</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">15994</td>
            <td align="left">ms-settings-wifi</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">16051</td>
            <td align="left">aw</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">16069</td>
            <td align="left">first-run-pen-experience</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">16079</td>
            <td align="left">oid</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">16134</td>
            <td align="left">iris.xpcs</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">16138</td>
            <td align="left">drop</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">16194</td>
            <td align="left">ms-publisher</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">16281</td>
            <td align="left">leaptofrogans</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">16292</td>
            <td align="left">rmi</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">16300</td>
            <td align="left">soap.beeps</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">16377</td>
            <td align="left">tag</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">16585</td>
            <td align="left">ms-word</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">16632</td>
            <td align="left">onenote-cmd</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">16645</td>
            <td align="left">ms-powerpoint</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">16728</td>
            <td align="left">hxxp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">16729</td>
            <td align="left">secondlife</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">16884</td>
            <td align="left">rsync</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">16918</td>
            <td align="left">vemmi</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">16933</td>
            <td align="left">ipns</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">17039</td>
            <td align="left">swh</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">17068</td>
            <td align="left">pwid</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">17097</td>
            <td align="left">dtmi</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">17134</td>
            <td align="left">dis</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">17170</td>
            <td align="left">iotdisco</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">17175</td>
            <td align="left">ms-restoretabcompanion</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">17264</td>
            <td align="left">service</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">17315</td>
            <td align="left">finger</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">17361</td>
            <td align="left">web+ap</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">17381</td>
            <td align="left">ms-eyecontrolspeech</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
        </tbody>
      </table>
      <t>The assignments from this table can be extracted from the XML form of
this document (when stored in a file "this.xml") into CSV form
<xref target="RFC4180"/> using this short Ruby program:</t>
      <sourcecode type="ruby"><![CDATA[
require 'rexml/document'; include REXML
XPath.each(Document.new(File.read("this.xml")),"/rfc/back//tr") {|r|
  puts XPath.each(r,"td").map{|d|d.text()}[0..1].join(",")}
]]></sourcecode>
    </section>
    <section anchor="the-small-print">
      <name>The Small Print</name>
      <t>This appendix lists a few corner cases of URI semantics that
implementers of CRIs need to be aware of, but that are not
representative of the normal operation of CRIs.</t>
      <ol spacing="normal" type="SP%d." group="SP"><li anchor="sp-initial-empty">
          <t>Initial (Lone/Leading) Empty Path Segments:</t>
        </li>
      </ol>
      <ul spacing="normal">
        <li>
          <t><em>Lone empty path segments:</em>
  As per <xref target="STD66"/>, <tt>s://x</tt> is distinct from <tt>s://x/</tt> -- i.e., a URI
  with an empty path (<tt>[]</tt> in CRI) is different from one with a lone
  empty path segment (<tt>[""]</tt>).
  However, in HTTP and CoAP, they are implicitly aliased (for CoAP, in
  item 8 of <xref section="6.4" sectionFormat="of" target="RFC7252"/>).
  As per item 7 of <xref section="6.5" sectionFormat="of" target="RFC7252"/>, recomposition of a URI
  without Uri-Path Options from the other URI-related CoAP Options
  produces <tt>s://x/</tt>, not <tt>s://x</tt> -- CoAP prefers the lone empty path
  segment form.
  Similarly, after discussing HTTP semantics, Section <xref target="RFC3986" section="6.2.3" sectionFormat="bare"/> of RFC 3986 <xref target="STD66"/> states:</t>
        </li>
      </ul>
      <blockquote>
        <t>In general, a URI that uses the generic syntax for authority with an
  empty path should be normalized to a path of "/".</t>
      </blockquote>
      <ul spacing="normal">
        <li>
          <t><em>Leading empty path segments without authority</em>:
  Somewhat related, note also that URIs and URI references that do not
  carry an authority cannot represent initial empty path segments
  (i.e., that are followed by further path segments): <tt>s://x//foo</tt>
  works, but in a <tt>s://foo</tt> URI or an (absolute-path) URI reference of
  the form <tt>//foo</tt> the double slash would be mis-parsed as leading in
  to an authority.</t>
        </li>
      </ul>
      <ol spacing="normal" type="SP%d." group="SP"><li anchor="sp-constraints">
          <t>Constraints (<xref target="constraints"/>) of CRIs/basic CRIs  </t>
          <t>
While most URIs in everyday use can be converted to CRIs and back to URIs
matching the input after syntax-based normalization of the URI,
these URIs illustrate the constraints by example:  </t>
          <ul spacing="normal">
            <li>
              <t><tt>https://host%ffname</tt>, <tt>https://example.com/x?data=%ff</tt>      </t>
              <t>
All URI components must, after percent decoding, be valid UTF-8 encoded text.
Bytes that are not valid UTF-8 show up, for example, in BitTorrent web seeds.
<!-- <https://www.bittorrent.org/beps/bep_0017.html>, not sure this warrants an informative reference -->
              </t>
            </li>
            <li>
              <t><tt>https://example.com/component%3bone;component%3btwo</tt>, <tt>http://example.com/component%3dequals</tt>      </t>
              <t>
While delimiters can be used in an escaped and unescaped form in URIs with generally distinct meanings,
basic CRIs (i.e., without percent-encoded text <xref target="pet"/>) only support one escapable delimiter character per component,
which is the delimiter by which the component is split up in the CRI.      </t>
              <t>
Note that the separators <tt>.</tt> (for authority parts), <tt>/</tt> (for paths), <tt>&amp;</tt> (for query parameters)
are special in that they are syntactic delimiters of their respective components in CRIs.
Thus, the following examples <em>are</em> convertible to basic CRIs:      </t>
              <t><tt>https://interior%2edot/</tt>      </t>
              <t><tt>https://example.com/path%2fcomponent/second-component</tt>      </t>
              <t><tt>https://example.com/x?ampersand=%26&amp;questionmark=?</tt></t>
            </li>
            <li>
              <t><tt>https://alice@example.com/</tt>      </t>
              <t>
The user information can be expressed in CRIs if the "userinfo"
feature is present.  The URI <tt>https://@example.com</tt> is
represented as <tt>[-4, [false, "", "example", "com"]]</tt>; the <tt>false</tt>
serves as a marker that the next element is the userinfo.      </t>
              <t>
The rules do not cater for unencoded ":" in userinfo, which is
commonly considered a deprecated inclusion of a literal password.</t>
            </li>
          </ul>
        </li>
      </ol>
    </section>
    <section anchor="edn-cri">
      <name>CBOR Extended Diagnostic Notation (EDN): The "cri" Extension</name>
      <t><xref target="I-D.ietf-cbor-edn-literals"/> more rigorously defines and further extends the 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"/>.
Among others, it provides an extension point for
"application-extension identifiers" that can be used to notate CBOR
data items in application-specific ways.</t>
      <t>The present document defines and registers (<xref target="cri-iana"/>) the
application-extension identifier "<tt>cri</tt>", which can be used to notate
an EDN literal for a CRI reference as defined in this document.</t>
      <t>The text of the literal is a URI Reference as per <xref target="STD66"/> or an IRI
Reference as per <xref target="RFC3987"/>.</t>
      <t>The value of the literal is a CRI reference that can be converted to
the text of the literal using the procedure of <xref target="cri-to-uri"/>.
Note that there may be more than one CRI reference that can be
converted to the URI/IRI reference given; implementations are expected
to favor the simplest variant available and make non-surprising
choices otherwise.</t>
      <t>As an example, the CBOR diagnostic notation</t>
      <sourcecode type="cbor-diag"><![CDATA[
cri'https://example.com/bottarga/shaved'
]]></sourcecode>
      <t>is equivalent to</t>
      <sourcecode type="cbor-diag"><![CDATA[
[-4, ["example", "com"], ["bottarga", "shaved"]]
]]></sourcecode>
      <t>See <xref target="cri-grammar"/> for an ABNF definition for the content of <tt>cri</tt> literals.</t>
      <section anchor="cri-grammar">
        <name>cri: ABNF Definition of URI Representation of a CRI</name>
        <t>The syntax of the content of <tt>cri</tt> literals can be described by the
ABNF for <tt>URI-reference</tt> in Section <xref target="RFC3986" section="4.1" sectionFormat="bare"/> of RFC 3986 <xref target="STD66"/> with certain
re-arrangements taken from <xref section="Figure 5" relative="#figure-5" sectionFormat="bare" target="I-D.ietf-cbor-edn-literals"/> of <xref target="I-D.ietf-cbor-edn-literals"/>;
these are reproduced in <xref target="abnf-grammar-cri"/>.
If the content is not ASCII only (i.e., for IRIs), first apply
<xref section="3.1" sectionFormat="of" target="RFC3987"/> and apply this grammar to the result.</t>
        <figure anchor="abnf-grammar-cri">
          <name>ABNF Definition of URI Representation of a CRI</name>
          <sourcecode type="abnf" name="cbor-edn-cri.abnf"><![CDATA[
app-string-cri = URI-reference
; ABNF from RFC 3986:

URI           = scheme ":" hier-part [ "?" query ] [ "#" fragment ]

hier-part     = "//" authority path-abempty
                 / path-absolute
                 / path-rootless
                 / path-empty

URI-reference = URI / relative-ref

absolute-URI  = scheme ":" hier-part [ "?" query ]

relative-ref  = relative-part [ "?" query ] [ "#" fragment ]

relative-part = "//" authority path-abempty
                 / path-absolute
                 / path-noscheme
                 / path-empty

scheme        = ALPHA *( ALPHA / DIGIT / "+" / "-" / "." )

authority     = [ userinfo "@" ] host [ ":" port ]
userinfo      = *( unreserved / pct-encoded / sub-delims / ":" )
host          = IP-literal / IPv4address / reg-name
port          = *DIGIT

IP-literal    = "[" ( IPv6address / IPvFuture  ) "]"

IPvFuture     = "v" 1*HEXDIG "." 1*( unreserved / sub-delims / ":" )

; Use IPv6address, h16, ls32, IPv4adress, dec-octet as re-arranged
; for PEG Compatibility in Figure 5 of [I-D.ietf-cbor-edn-literals]:

IPv6address   =                            6( h16 ":" ) ls32
              /                       "::" 5( h16 ":" ) ls32
              / [ h16               ] "::" 4( h16 ":" ) ls32
              / [ h16 *1( ":" h16 ) ] "::" 3( h16 ":" ) ls32
              / [ h16 *2( ":" h16 ) ] "::" 2( h16 ":" ) ls32
              / [ h16 *3( ":" h16 ) ] "::"    h16 ":"   ls32
              / [ h16 *4( ":" h16 ) ] "::"              ls32
              / [ h16 *5( ":" h16 ) ] "::"              h16
              / [ h16 *6( ":" h16 ) ] "::"

h16           = 1*4HEXDIG
ls32          = ( h16 ":" h16 ) / IPv4address
IPv4address   = dec-octet "." dec-octet "." dec-octet "." dec-octet
dec-octet     = "25" %x30-35         ; 250-255
              / "2" %x30-34 DIGIT    ; 200-249
              / "1" 2DIGIT           ; 100-199
              / %x31-39 DIGIT        ; 10-99
              / DIGIT                ; 0-9
ALPHA         = %x41-5a / %x61-7a
DIGIT         = %x30-39
HEXDIG        = DIGIT / "A" / "B" / "C" / "D" / "E" / "F"
; case insensitive matching, i.e., including lower case

reg-name      = *( unreserved / pct-encoded / sub-delims )

path          = path-abempty    ; begins with "/" or is empty
                 / path-absolute   ; begins with "/" but not "//"
                 / path-noscheme   ; begins with a non-colon segment
                 / path-rootless   ; begins with a segment
                 / path-empty      ; zero characters

path-abempty  = *( "/" segment )
path-absolute = "/" [ segment-nz *( "/" segment ) ]
path-noscheme = segment-nz-nc *( "/" segment )
path-rootless = segment-nz *( "/" segment )
path-empty    = 0<pchar>

segment       = *pchar
segment-nz    = 1*pchar
segment-nz-nc = 1*( unreserved / pct-encoded / sub-delims / "@" )
                 ; non-zero-length segment without any colon ":"

pchar         = unreserved / pct-encoded / sub-delims / ":" / "@"

query         = *( pchar / "/" / "?" )

fragment      = *( pchar / "/" / "?" )

pct-encoded   = "%" HEXDIG HEXDIG

unreserved    = ALPHA / DIGIT / "-" / "." / "_" / "~"
reserved      = gen-delims / sub-delims
gen-delims    = ":" / "/" / "?" / "#" / "[" / "]" / "@"
sub-delims    = "!" / "$" / "&" / "'" / "(" / ")"
                 / "*" / "+" / "," / ";" / "="
]]></sourcecode>
        </figure>
      </section>
    </section>
    <section removeInRFC="true" anchor="change-log">
      <name>Change Log</name>
      <t>Changes from -16 to -17</t>
      <t>(Provisional integration of active PRs, please see github.)</t>
      <t>Changes from -15 to -16</t>
      <ul spacing="normal">
        <li>
          <t>Add note that CRI Scheme Number registrations are oblivious of the
actual URI Scheme registrations (if any).</t>
        </li>
        <li>
          <t>Add information about how this RFC updates <xref target="RFC7595"/> to abstract and
introduction.</t>
        </li>
      </ul>
      <t>Changes from -14 to -15</t>
      <ul spacing="normal">
        <li>
          <t>Make scheme numbers unsigned and map them to negative numbers used
as scheme-id values</t>
        </li>
      </ul>
      <t>Changes from -09 to -14</t>
      <ul spacing="normal">
        <li>
          <t>Editorial changes; move some examples to <xref target="the-small-print"/>, break up
railroad diagram; mention commonalities with (and tiny difference
from) CoAP Options; mention failure of percent-encoding for dots in
host-name components</t>
        </li>
        <li>
          <t>Explicitly mention invalid case in <xref target="naked-rootless"/> (rootless CRIs without
authority that do not have a path component)</t>
        </li>
        <li>
          <t>Generalize <xref target="extending"/>, discuss PET (percent-encoded text) extension in more detail</t>
        </li>
        <li>
          <t>Add registry of URI scheme numbers (<xref target="sec-numbers"/>, <xref target="iana-considerations"/>)</t>
        </li>
        <li>
          <t>Add user information to the authority ("userinfo" feature)</t>
        </li>
        <li>
          <t><xref target="cddl"/>: Use separate rule for CRI, allow <tt>[]</tt> for query in CRI
Reference; generalize scheme numbers, add userinfo; add list of
additional requirements in prose (<xref target="prose"/>)</t>
        </li>
        <li>
          <t>Discuss <xref format="title" target="unprocessable"/> (<xref target="unprocessable"/>)</t>
        </li>
        <li>
          <t>Conversion to URI: Handle <tt>:</tt> in first pathname component of a
CRI-Reference (<xref target="colon"/>)</t>
        </li>
        <li>
          <t>Add Christian Amsüss as contributor</t>
        </li>
        <li>
          <t>Add CBOR EDN application-extension "<tt>cri</tt>" (see <xref target="edn-cri"/> and
<xref target="cri-iana"/>).</t>
        </li>
        <li>
          <t>Add Section on CoAP integration (and new CoAP Options Proxy-Cri and
Proxy-Scheme-Number).</t>
        </li>
      </ul>
      <t>Changes from -08 to -09</t>
      <ul spacing="normal">
        <li>
          <t>Identify more esoteric features with a CDDL ".feature".</t>
        </li>
        <li>
          <t>Clarify that well-formedness requires removing trailing nulls.</t>
        </li>
        <li>
          <t>Fragments can contain PET.</t>
        </li>
        <li>
          <t>Percent-encoded text in PET is treated as byte strings.</t>
        </li>
        <li>
          <t>URIs with an authority but a completely empty path (e.g.,
<tt>http://example.com</tt>): CRIs with an authority component no longer
always produce at least a slash in the path component.  </t>
          <t>
For generic schemes, the conversion of <tt>scheme://example.com</tt> to a
CRI is now possible
because CRI produces a URI with an authority not followed by a slash
following the updated rules of <xref target="cri-to-uri"/>.
Schemes like http and coap do not distinguish between the empty path
and the path containing a single slash when an authority is set (as
recommended in <xref target="STD66"/>).
For these schemes, that equivalence allows implementations to
convert the just-a-slash URI to a CRI with a zero length path array
(which, however, when converted back, does not produce a slash after
the authority).  </t>
          <t>
(Add an appendix "the small print" for more detailed discussion of
pesky corner cases like this.)</t>
        </li>
      </ul>
      <t>Changes from -07 to -08</t>
      <ul spacing="normal">
        <li>
          <t>Fix the encoding of NOAUTH-NOSLASH / NOAUTH-LEADINGSLASH</t>
        </li>
        <li>
          <t>Add URN and DID schemes, add example.</t>
        </li>
        <li>
          <t>Add PET</t>
        </li>
        <li>
          <t>Remove hopeless attempt to encode "remote trailing nulls" rule in
CDDL (which is not a transformation language).</t>
        </li>
      </ul>
      <t>Changes from -06 to -07</t>
      <ul spacing="normal">
        <li>
          <t>More explicitly discuss constraints (<xref target="constraints"/>), add examples (<xref target="sp-constraints"/>).</t>
        </li>
        <li>
          <t>Make CDDL more explicit about special simple values.</t>
        </li>
        <li>
          <t>Lots of gratuitous changes from XML2RFC redefinition of <tt>&lt;tt&gt;</tt>
semantics.</t>
        </li>
      </ul>
      <t>Changes from -05 to -06</t>
      <ul spacing="normal">
        <li>
          <t>rework authority:
          </t>
          <ul spacing="normal">
            <li>
              <t>split reg-names at dots;</t>
            </li>
            <li>
              <t>add optional zone identifiers <xref target="RFC6874"/> to IP addresses</t>
            </li>
          </ul>
        </li>
      </ul>
      <t>Changes from -04 to -05</t>
      <ul spacing="normal">
        <li>
          <t>Simplify CBOR structure.</t>
        </li>
        <li>
          <t>Add implementation status section.</t>
        </li>
      </ul>
      <t>Changes from -03 to -04:</t>
      <ul spacing="normal">
        <li>
          <t>Minor editorial improvements.</t>
        </li>
        <li>
          <t>Renamed path.type/path-type to discard.</t>
        </li>
        <li>
          <t>Renamed option to section, substructured into items.</t>
        </li>
        <li>
          <t>Simplified the table "resolution-variables".</t>
        </li>
        <li>
          <t>Use the CBOR structure inspired by Jim Schaad's proposals.</t>
        </li>
      </ul>
      <t>Changes from -02 to -03:</t>
      <ul spacing="normal">
        <li>
          <t>Expanded the set of supported schemes (#3).</t>
        </li>
        <li>
          <t>Specified creation, normalization and comparison (#9).</t>
        </li>
        <li>
          <t>Clarified the default value of the <tt>path.type</tt> option (#33).</t>
        </li>
        <li>
          <t>Removed the <tt>append-relation</tt> path.type option (#41).</t>
        </li>
        <li>
          <t>Renumbered the remaining path.types.</t>
        </li>
        <li>
          <t>Renumbered the option numbers.</t>
        </li>
        <li>
          <t>Restructured the document.</t>
        </li>
        <li>
          <t>Minor editorial improvements.</t>
        </li>
      </ul>
      <t>Changes from -01 to -02:</t>
      <ul spacing="normal">
        <li>
          <t>Changed the syntax of schemes to exclude upper case characters (#13).</t>
        </li>
        <li>
          <t>Minor editorial improvements (#34 #37).</t>
        </li>
      </ul>
      <t>Changes from -00 to -01:</t>
      <ul spacing="normal">
        <li>
          <t>None.</t>
        </li>
      </ul>
    </section>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>CRIs were developed by <contact fullname="Klaus Hartke"/> for use in the Constrained
RESTful Application Language (CoRAL).
The current author team is completing this work with a view to achieve
good integration with the potential use cases, both inside and outside of CoRAL.</t>
      <t>Thanks to
<contact fullname="Christian Amsüss"/>,
<contact fullname="Thomas Fossati"/>,
<contact fullname="Ari Keränen"/>,
<contact fullname="Jim Schaad"/>,
<contact fullname="Dave Thaler"/>,
and
<contact fullname="Marco Tiloca"/>
for helpful comments and discussions that have shaped the
document.</t>
      <!--  LocalWords:  CRI normalizations dereferencing dereference CRIs
 -->
<!--  LocalWords:  untrusted subcomponent
 -->

</section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="K." surname="Hartke" fullname="Klaus Hartke">
        <organization>Ericsson</organization>
        <address>
          <postal>
            <street>Torshamnsgatan 23</street>
            <city>Stockholm</city>
            <code>16483</code>
            <country>Sweden</country>
          </postal>
          <email>klaus.hartke@ericsson.com</email>
        </address>
      </contact>
      <contact initials="C." surname="Amsüss" fullname="Christian Amsüss">
        <organization/>
        <address>
          <postal>
            <street>Hollandstr. 12/4</street>
            <city>Vienna</city>
            <code>1020</code>
            <country>Austria</country>
          </postal>
          <email>christian@amsuess.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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
bapdq26B2L3FxlV0NtIdnvyY1EWzDxy1c0BdG8Nnb/6ZZpCGrWjP+PQp3EkP
YOwqhz2bwte7GbVIWRXxRprxFvBRgIWIUfb7skhg0kP1+i+f6FYzr1/AIoM/
v4qr6z42su8+l2f6WXLbfQmL6qObvWut7KDXOSyW80Mshnt4WBWw1vvfCizr
jb0MQ2uuotepFp2D/ibe3v+2+G3Rx14h3YNP7476/cH7/i9A8bqdXufgE/f1
fUR9aN9sMGLzVZFiJ477s3J7Rn2nn3bevPpi0e9wtWL8q6M661EjoEX6kZqq
YF+RZXKLHViw3sA8xp6zqn1TsomzKp1zp5fANL3UjSFLburNPYXiW2rRvuyF
M9UREj8AEu90RbtRvcngmwIWL80kTSs2rMeLG/kUDPrh/dmjchtJcd+IGr1/
0s1Guj8ACzn8AQCOTdXCF/htiPAM3yQrwr4zLM/+OHyMD3Kb+JCSJUr1/WP4
Xveh5zaIvfAKG2x+vMLa1AvqpDuXzkj8xeEVdd7pJ/2e7spCxZGxc7Z5R/fq
3furkNuBHfBcTpslXBIPC9fwexC2LBAn6XTeXx304evvge/dJEUP5/z+8vIV
1abHMtg9boiqOpOmc7iz2FMspb7GXaq7TY+lWYCWk2TDzR1NI8Npf0ytubE+
LTUv1FChp4/rT0+sp3vUz3mzzctUnaINFSxl9rZIIzqXn6Ucvb7z3EUXno6o
rWWysMvTY78auKaLHbrrFOx71HpJHREcBA3YUvsa1czdOewg1NBE2oB7e5Nu
UlC5sHlovEQlSvURAjpBkNWo33O2PeyPWtpmYgvrhFFNN2kJw68BTVVj855q
Ka+ahNE6V9zGOwQhoYo/cnF81aBWIVQNK3Q7Or471FOc2vXQ17C0zmGnr3Ce
70Ub2uuD0e97fIZgyTfJLbdCobPocTMbak5HS9f9P9+6TWHpywX1+ArQeVxg
857M2g0QfTw1TQd0ue6WxcEMXb5cmoZwRXXu4rLkJtTumIMzhR+Hyzy/QtTL
iw8lkyJiGPQ1fkdr5/ZX3XhW5utdhSXcq+sDd1fIhULp7QM86UpGU3O5fIec
rFxjyrLu37RJy4ha0WJzapT4Cfp05fCILHBoAjdUBE53xqvKT6Y3SEWtJu3v
Ph0oIgn8pATcwV+pBcWfrpEjbvJSTgk2jcTibhFTZ07FdmEy+FRq7T9Tx8kN
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
/i/8Wg3zT3sBAA==

-->

</rfc>
