<?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.5 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-dtn-ipn-update-10" category="std" consensus="true" submissionType="IETF" updates="[9171, 7116]" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.19.4 -->
  <front>
    <title abbrev="ipn-update">Update to the ipn URI scheme</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-dtn-ipn-update-10"/>
    <author fullname="Rick Taylor">
      <organization>Ori Industries</organization>
      <address>
        <email>rick.taylor@ori.co</email>
      </address>
    </author>
    <author fullname="Ed Birrane">
      <organization>JHU/APL</organization>
      <address>
        <email>Edward.Birrane@jhuapl.edu</email>
      </address>
    </author>
    <date year="2024" month="February" day="21"/>
    <area>Transport</area>
    <workgroup>Delay/Disruption Tolerant Networking</workgroup>
    <keyword>DTN</keyword>
    <keyword>ipn</keyword>
    <keyword>BPv7</keyword>
    <keyword>CBHE</keyword>
    <keyword>Bundle Protocol</keyword>
    <abstract>
      <?line 45?>

<t>This document updates both the specification of the ipn URI scheme previously defined in RFC 7116 and the rules for encoding of these URIs when used as an Endpoint Identifier (EID) in Bundle Protocol Version 7 (BPv7) as defined in RFC 9171. These updates clarify the structure and behavior of the ipn URI scheme, define encodings of ipn scheme URIs, and establish the registries necessary to manage this scheme.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://ricktaylor.github.io/ipn2/draft-taylor-dtn-ipn-update.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-dtn-ipn-update/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Delay/Disruption Tolerant Networking Working Group mailing list (<eref target="mailto:dtn@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/dtn/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/dtn/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ricktaylor/ipn2"/>.</t>
    </note>
  </front>
  <middle>
    <?line 49?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The ipn URI scheme was originally defined in <xref target="RFC7116"/> as a way to identify network nodes and node services using concisely-encoded integers that can be processed faster and with fewer resources than other verbose identifier schemes. The scheme was designed for use with the experimental Bundle Protocol version 6 (BPv6, <xref target="RFC5050"/>) and IPN was defined as an acronym for the term "InterPlanetary Network" in reference to its intended use for deep-space networking. Since then, the efficiency benefit of integer identifiers makes ipn scheme URIs useful for any networks operating with limited power, bandwidth, and/or compute budget. Therefore, the term IPN is now used as a non-acronymous name.</t>
      <t>Similar to the experimental BPv6, the standardized Bundle Protocol version 7 (BPv7, <xref target="RFC9171"/>) codifies support for the use of the ipn URI scheme for the specification of bundle Endpoint Identifiers (EIDs). The publication of BPv7 has resulted in operational deployments of BPv7 nodes for both terrestrial and non-terrestrial use cases. This includes BPv7 networks operating over the terrestrial Internet and BPv7 networks operating in self-contained environments behind a shared administrative domain. The growth in the number and scale of deployments of BPv7 DTNs has been accompanied by a growth in the usage of the ipn URI scheme which has highlighted areas to improve the structure, moderation, and management of this scheme.</t>
      <t>By updating <xref target="RFC7116"/> and <xref target="RFC9171"/>, this document updates the specification of the ipn URI scheme, in a backwards-compatible way, to provide needed improvements both in the scheme itself and its usage to specify EIDs with BPv7. Specifically, this document introduces a hierarchical structure for the assignment of ipn scheme URIs, clarifies the behavior and interpretation of ipn scheme URIs, defines efficient encodings of ipn scheme URIs, and updates/defines the registries associated for this scheme.</t>
      <t>Although originally developed by the deep space community for use with Bundle Protocol, the ipn URI scheme is sufficiently generic to be used in other environments where a concise unique representation of a resource on a particular node is required.</t>
      <t>It is important to remember that, like most other URI schemes, the ipn URI scheme defines a unique identifier of a resource, and does not include any topological information describing how to route messages to that resource.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>For the remainder of this document, the term "ipn URI" is used to refer to a URI that uses the ipn scheme.</t>
    </section>
    <section anchor="core-concepts">
      <name>Core Concepts</name>
      <t>Every ipn URI, no matter whether it is expressed with the textual representation or a binary encoding, <bcp14>MUST</bcp14> be considered as a tuple of the following three components:</t>
      <ul spacing="normal">
        <li>
          <t>The Allocator Identifier</t>
        </li>
        <li>
          <t>The Node Number</t>
        </li>
        <li>
          <t>The Service Number</t>
        </li>
      </ul>
      <t>The Allocator Identifier indicates the entity responsible for assigning Node Numbers to individual resource nodes, maintaining uniqueness whilst avoiding the need for a single registry for all assigned Node Numbers. See <xref target="allocator-identifiers">Allocator Identifiers</xref>.</t>
      <t>The Node Number is a shared identifier assigned to all ipn URIs for resources co-located on a single node. See <xref target="node-numbers">Node Numbers</xref>.</t>
      <t>The Service Number is an identifier to distinguish between resources on a given node. See <xref target="service-numbers">Service Numbers</xref>.</t>
      <t>The combination of these three components guarantees that every correctly constructed ipn URI uniquely identifies a single resource.  Additionally, the combination of the Allocator Identifier and the Node Number provides a mechanism to uniquely identify the node on which a particular resource is expected to exist. See <xref target="fqnn">Fully-qualified Node Number</xref>.</t>
      <section anchor="null-uri">
        <name>The Null ipn URI</name>
        <t>It has been found that there is value in defining a unique 'null' ipn URI to indicate "nowhere".  This ipn URI is termed the "Null ipn URI", and has all three components: Allocator Identifier, Node Number, and Service Number, set to the value zero (0).  No resource identified by Null ipn URI exists, and any such resource is therefore by definition unreachable.</t>
      </section>
      <section anchor="allocator-identifiers">
        <name>Allocator Identifiers</name>
        <t>An Allocator is any organization that wishes to assign Node Numbers for use with the ipn URI scheme, and has the facilities and governance to manage a public registry of assigned Node Numbers. The authorization to assign these numbers is provided through the assignment of an Allocator Identifier by IANA.  Regardless of other attributes of an Allocator, such as a name, point of contact, or other identifying information, Allocators are identified by Allocator Identifiers: a unique, unsigned integer.</t>
        <t>The Allocator Identifier <bcp14>MUST</bcp14> be the sole mechanism used to identify the Allocator that has assigned the Node Number in an ipn URI. An Allocator may have multiple assigned Allocator Identifiers, but a given Allocator Identifier <bcp14>MUST</bcp14> only be associated with a single Allocator.</t>
        <t>A new IANA "'ipn' Scheme URI Allocator Identifiers" registry is defined for the registration of Allocator Identifiers, see <xref target="iana-allocator-identifiers">'ipn' Scheme URI Allocator Identifiers registry</xref>.  Although the uniqueness of Allocator Identifiers is required to enforce uniqueness of ipn URIs, some identifiers are explicitly reserved for experimentation or future use.</t>
        <t>Each Allocator assigns Node Numbers according to its own policies, without risk of creating an identical ipn URI, as permitted by the rules in the <xref target="node-numbers">Node Numbers</xref> section of this document.  Other than ensuring that any Node Numbers it allocates are unique amongst all Node Numbers it assigns, an Allocator does not need to coordinate its allocations with other Allocators.</t>
        <t>If a system does not require interoperable deployment of ipn scheme URIs, then the Private Use Node Number range, reserved by the <xref target="default-allocator">Default Allocator</xref> for this purpose <bcp14>SHOULD</bcp14> be used.</t>
        <section anchor="allocator-identifier-ranges">
          <name>Allocator Identifier Ranges</name>
          <t>Some organizations with internal hierarchies may wish to delegate the allocation of Node Numbers to one or more of their sub-organizations.  Rather than assigning unique Allocator Identifiers to each sub-organization on a first-come first-served basis, there are operational benefits in assigning Allocator Identifiers to such an organization in a structured way so that an external observer can detect that a group of Allocator Identifiers are organizationally associated.</t>
          <t>An Allocator Identifier range is a set of consecutive Allocator Identifiers associated with the same Allocator. Each individual Allocator Identifier in a given range <bcp14>SHOULD</bcp14> be assigned to a distinct sub-organization of the Allocator. Assigning identifiers in this way allows external observers both to associate individual Allocator Identifiers with a single organization and to usefully differentiate amongst sub-organizations.</t>
          <t>The practice of associating a consecutive range of numbers with a single organization is inspired by the Classless Inter-domain Routing assignment of Internet Addresses described in <xref target="RFC4632"/>. In that assignment scheme, an organization (such as an Internet Service Provider) is assigned a network prefix such that all addresses sharing that same prefix are considered to be associated with that organization.</t>
          <t>Each Allocator Identifier range is identified by the first Allocator Identifier in the range and the number of consecutive identifiers in the range.</t>
          <t>Allocator Identifier ranges differ from CIDR addresses in two important ways.</t>
          <ol spacing="normal" type="1"><li>
              <t>Allocator Identifiers are used to identify organizations and are not, themselves, addresses.</t>
            </li>
            <li>
              <t>Allocator Identifiers may be less than 32 bits in length.</t>
            </li>
          </ol>
          <t>In order to differentiate between Allocator Identifier ranges using efficient bitwise operations, all ranges <bcp14>MUST</bcp14> be of a size S that is a power of 2, and for a given range of length N bits, with S = 2^N, the least-significant N bits of the first Allocator Identifier <bcp14>MUST</bcp14> be all 0.</t>
          <t>An example of the use of Allocator Identifier ranges for four organizations (A, B, C, and D) is as follows:</t>
          <table align="left" anchor="tab-air-example">
            <name>Allocator Identifier Range Assignment Example</name>
            <thead>
              <tr>
                <th align="left">Organization</th>
                <th align="center">Range (dec)</th>
                <th align="center">Range (hex)</th>
                <th align="center">Range Length (Bits)</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">Org A</td>
                <td align="center">974848 .. 974975</td>
                <td align="center">0xEE000 .. 0xEE07F</td>
                <td align="center">7 bits</td>
              </tr>
              <tr>
                <td align="left">Org B</td>
                <td align="center">974976 .. 974991</td>
                <td align="center">0xEE080 .. 0xEE08F</td>
                <td align="center">4 bits</td>
              </tr>
              <tr>
                <td align="left">Org C</td>
                <td align="center">974992 .. 974993</td>
                <td align="center">0xEE090 .. 0xEE091</td>
                <td align="center">1 bit</td>
              </tr>
              <tr>
                <td align="left">Org D</td>
                <td align="center">974994</td>
                <td align="center">0xEE092</td>
                <td align="center">0 bits</td>
              </tr>
            </tbody>
          </table>
          <t>With these assignments, any Allocator Identifier whose most-significant 25 bits match 0xEE000 belong to organization A. Similarly, any Allocator Identifier whose most-significant 28 bits match 0xEE080 belong to organization B, and any Allocator Identifier whose most-significant 31 bits are 0xEE090 belong to organization C.  Organisation D has a single Allocator Identifier, and hence a range of bit-length 0.</t>
        </section>
        <section anchor="default-allocator">
          <name>The Default Allocator</name>
          <t>As of the publication of <xref target="RFC7116"/>, the only organization permitted to assign Node Numbers was the Internet Assigned Numbers Authority (IANA) which assigned Node Numbers via the IANA "CBHE Node Numbers" registry. This means that all ipn URIs created prior to the addition of Allocator Identifiers are assumed to have Node Number allocations that comply with the IANA "CBHE Node Numbers" registry.</t>
          <t>The presumption that, unless otherwise specified, Node Numbers are allocated by IANA from a specific registry is formalized in this update to the ipn URI scheme by designating IANA as the Default Allocator, and by assigning the Allocator Identifier zero (0) in the <xref target="iana-allocator-identifiers">'ipn' Scheme URI Allocator Identifiers registry</xref> to the Default Allocator.  In any case where an encoded ipn URI does not explicitly include an Allocator Identifier, an implementation <bcp14>MUST</bcp14> assume that the Node Number has been allocated by the Default Allocator.</t>
          <t>A new IANA "'ipn' Scheme URI Default Allocator Node Numbers" registry is defined to control the allocation of Node Numbers values by the Default Allocator.  This new registry inherits behaviours and existing assignments from the IANA "CBHE Node Numbers" registry, and reserves some other values as defined in the <xref target="special-node-numbers">Special Node Numbers</xref> section below.</t>
        </section>
      </section>
      <section anchor="node-numbers">
        <name>Node Numbers</name>
        <t>A Node Number identifies a node that hosts a resource in the context of an Allocator. A Node Number is an unsigned integer. A single Node Number assigned by a single Allocator <bcp14>MUST</bcp14> refer to a single node.</t>
        <t>All Node Number assignments, by all Allocators, <bcp14>MUST</bcp14> be in the range 0 to 2^32-1.</t>
        <t>It is <bcp14>RECOMMENDED</bcp14> that Node Number zero (0) not be assigned by an Allocator to avoid confusion with the <xref target="null-uri">Null ipn URI</xref>.</t>
        <section anchor="fqnn">
          <name>Fully-qualified Node Numbers</name>
          <t>One of the advantages of ipn URIs is the ability to easily split the identity of a particular service from the node upon which the service exists.  For example a message received from one particular ipn URI may require a response to be sent to a different service on the same node that sent the original message.  Historically the identifier of the sending node has been colloquially referred to as the "node number" or "node identifier".</t>
          <t>To avoid future confusion, when referring to the identifier of a particular node the term "Fully-qualified Node Number" (FQNN) <bcp14>MUST</bcp14> be used to refer to the combination of the Node Number component and Allocator Identifier component of an ipn URI that uniquely identifies a particular node.  In other words, an FQNN is the unique identifier of a particular node that supports services identified by ipn URIs.</t>
          <t>In the examples in this document, FQNNs are written as (Allocator Identifier, Node Number), e.g., <tt>(977000,100)</tt> is the FQNN for a node assigned Node Number 100 by an Allocator with Allocator Identifier 977000.</t>
        </section>
      </section>
      <section anchor="special-node-numbers">
        <name>Special Node Numbers</name>
        <t>Some special-case Node Numbers are defined by the Default Allocator, see <xref target="iana-node-numbers">'ipn' Scheme URI Default Allocator Node Numbers registry</xref>.</t>
        <section anchor="the-zero-node-number">
          <name>The Zero Node Number</name>
          <t>The Default Allocator assigns the use of Node Number zero (0) solely for identifying the <xref target="null-uri">Null ipn URI</xref>.</t>
          <t>This means that any ipn URI with a zero (0) Allocator Identifier and a zero (0) Node Number, but a non-zero Service Number component is invalid.  Such ipn URIs <bcp14>MUST NOT</bcp14> be composed, and processors of such ipn URIs <bcp14>MUST</bcp14> consider them as the Null ipn URI.</t>
        </section>
        <section anchor="localnode-uri">
          <name>LocalNode ipn URIs</name>
          <t>The Default Allocator reserves Node Number 2^32-1 (0xFFFFFFFFF) to specify resources on the local node, rather than on any specific individual node.</t>
          <t>This means that any ipn URI with a zero (0) Allocator Identifier and a Node Number of 2^32-1 refers to a service on the local bundle node. This form of ipn URI is termed a "LocalNode ipn URI".</t>
        </section>
        <section anchor="private-use">
          <name>Private Use Node Numbers</name>
          <t>The Default Allocator provides a range of Node Numbers that are reserved for "Private Use", as defined in <xref target="RFC8126"/>.</t>
          <t>Any ipn URI with a zero (0) Allocator Identifier and a Node Number reserved for "Private Use" is not guaranteed to be unique beyond a single administrative domain.  An administrative domain, as used here, is defined as the set of nodes that share a unique allocation of FQNNs from the "Private Use" range.  These FQNNs can be considered to be functionally similar to "Private Address Space" IPv4 addresses, as defined in <xref target="RFC1918"/>.</t>
          <t>Because of this lack of uniqueness, any implementation of a protocol using ipn URIs that resides on the border between administrative domains must have suitable mechanisms in place to prevent protocol units using such "Private Use" Node Numbers to cross between different administrative domains.</t>
        </section>
      </section>
      <section anchor="service-numbers">
        <name>Service Numbers</name>
        <t>A Service Number is an unsigned integer that identifies a particular service operating on a node.  A service in this case is some logical function that requires its own resource identifier to distinguish it from other functions operating on the same node.</t>
      </section>
    </section>
    <section anchor="textual-encoding-of-ipn-uris">
      <name>Textual Encoding of ipn URIs</name>
      <t>All ipn scheme URIs comply with <xref target="RFC3986"/>, and are therefore represented by scheme identifier, and a scheme-specific part.  The scheme identifier is: <tt>ipn</tt>, and the scheme-specific parts are represented as a sequence of numeric components separated with the '<tt>.</tt>' character.  It is formally defined in <xref target="text-syntax">Appendix A</xref>, and can be informally considered as:</t>
      <artwork><![CDATA[
ipn:[<allocator-identifier>.]<node-number>.<service-number>
]]></artwork>
      <t>To keep the text representation concise, the follow rules apply:</t>
      <ol spacing="normal" type="1"><li>
          <t>All leading <tt>0</tt> characters <bcp14>MUST</bcp14> be omitted. A single '<tt>0</tt>' is valid.</t>
        </li>
        <li>
          <t>If the Allocator Identifier is zero (0), then the <tt>&lt;allocator-identifier&gt;</tt> and '<tt>.</tt>' <bcp14>MUST</bcp14> be omitted.</t>
        </li>
        <li>
          <t>If the Allocator Identifier is zero (0), and the Node Number is 2^32-1, i.e., the URI is a <xref target="localnode-uri">LocalNode ipn URI</xref>, then the character '<tt>!</tt>' <bcp14>MAY</bcp14> be used instead of the digits <tt>4294967295</tt>, although both forms are valid encodings.</t>
        </li>
      </ol>
      <t>Examples of the textual representation of ipn URIs can be found in <xref target="text-examples">Appendix B</xref>.</t>
    </section>
    <section anchor="usage-of-ipn-uris-with-bpv7">
      <name>Usage of ipn URIs with BPv7</name>
      <t>From the earliest days of experimentation with the Bundle Protocol there has been a need to identify the source and destination of a bundle.  The IRTF BPv6 experimental specification termed the logical source or destination of a bundle as an "Endpoint" identified by an "Endpoint Identifier" (EID). BPv6 EIDs are formatted as URIs. This definition and representation of EIDs was carried forward from the IRTF BPv6 specification to the IETF BPv7 specification. BPv7 additionally defined an IANA registry called the "Bundle Protocol URI Scheme Types" registry which identifies those URI schemes than might be used to represent EIDs.  The ipn URI scheme is one such URI scheme.</t>
      <t>This section identifies the behavior and interpretation of ipn scheme URIs that <bcp14>MUST</bcp14> be followed when using this URI scheme to represent EIDs in BPv7. An ipn URI used as a BPv7 or BPv6 EID is termed an "ipn EID".</t>
      <section anchor="uniqueness-constraints">
        <name>Uniqueness Constraints</name>
        <t>An ipn EID <bcp14>MUST</bcp14> identify a singleton endpoint. The bundle processing node that is the sole member of that endpoint <bcp14>MUST</bcp14> be the node identified by the <xref target="fqnn">Fully-qualified Node Number</xref> of the node.</t>
        <t>A single bundle processing node <bcp14>MAY</bcp14> have multiple ipn EIDs associated with it. However, all ipn EIDs that share any single FQNN <bcp14>MUST</bcp14> refer to the same bundle processing node.</t>
        <t>For example, <tt>ipn:977000.100.1</tt>, <tt>ipn:977000.100.2</tt>, and <tt>ipn:977000.100.3</tt> <bcp14>MUST</bcp14> all refer to services registered on the bundle processing node identified with FQNN <tt>(977000,100)</tt>. None of these EIDs could be registered on any other bundle processing node.</t>
      </section>
      <section anchor="the-null-endpoint">
        <name>The Null Endpoint</name>
        <t><xref section="3.2" sectionFormat="of" target="RFC9171"/> defines the concept of the 'null' endpoint, which is an endpoint that has no members and which is identified by a special 'null' EID.</t>
        <t>Within the ipn URI scheme, the 'null' EID is represented by the <xref target="null-uri">Null ipn URI</xref>.  This means that the URIs <tt>dtn:none</tt> (<xref section="4.2.5.1.1" sectionFormat="of" target="RFC9171"/>) and <tt>ipn:0.0</tt> both refer to the BPv7 'null' endpoint.</t>
      </section>
      <section anchor="bpv7-node-id">
        <name>BPv7 Node ID</name>
        <t><xref section="4.2.5.2" sectionFormat="of" target="RFC9171"/> introduces the concept of a "Node ID" that has the same format as an EID and that uniquely identifies a bundle processing node.</t>
        <t>Any ipn EID can serve as a "Node ID" for the bundle processing node identified by its <xref target="fqnn">Fully-qualified Node Number</xref>. That is, any ipn EID of the form ipn:A.B.C may be used as the Source Node ID of any bundle created by the bundle processing node identified by the FQNN <tt>(A,B)</tt>.</t>
      </section>
      <section anchor="localnode-ipn-eids">
        <name>LocalNode ipn EIDs</name>
        <t>When a <xref target="localnode-uri">LocalNode ipn URI</xref> is used as a BPv7 or BPv6 EID, it is termed a "LocalNode ipn EID".</t>
        <t>Because a LocalNode ipn EID only has meaning on the local bundle node, any such EID <bcp14>MUST</bcp14> be considered 'non-routeable'. This means that any bundle using a LocalNode ipn EID as a bundle source or bundle destination <bcp14>MUST NOT</bcp14> be allowed to leave the local node.  Equally, all externally received bundles featuring LocalNode EIDs as a bundle source or bundle destination <bcp14>MUST</bcp14> be discarded as invalid.</t>
        <t>LocalNode ipn EIDs <bcp14>SHOULD NOT</bcp14> be present in any other part of a bundle that is transmitted off of the local node. For example, a LocalNode ipn EID <bcp14>SHOULD NOT</bcp14> be used as a Bundle Protocol Security <xref target="RFC9172"/> security source EID for a bundle transmitted from the local bundle node, because such a source EID would have no meaning at a downstream bundle node.</t>
      </section>
      <section anchor="private-use-ipn-eids">
        <name>Private Use ipn EIDs</name>
        <t>Bundles destined for EIDs that use an ipn URI with a <xref target="fqnn">Fully-qualified Node Number</xref> that is within the "Private Use" range of the <xref target="default-allocator">Default Allocator</xref> are not universally unique, and therefore are only valid within the scope of the current administrative domain.  This means that any bundle using a Private Use ipn EID as a bundle source or bundle destination <bcp14>MUST NOT</bcp14> be allowed to cross administrative domains.  All implementations that could be deployed as a gateway between administrative domains <bcp14>MUST</bcp14> be sufficiently configurable to ensure that this is enforced, and operators <bcp14>MUST</bcp14> ensure correct configuration.</t>
        <t>Private Use ipn EIDs <bcp14>SHOULD NOT</bcp14> be present in any other part of a bundle that is destined for another administrative domain when the lack of uniqueness prevents correct operation. For example, a Private Use ipn EID <bcp14>SHOULD NOT</bcp14> be used as a Bundle Protocol Security <xref target="RFC9172"/> security source EID for a bundle, when the bundle is destined for a different administrative domain.</t>
      </section>
      <section anchor="well-known-service-numbers">
        <name>Well-known Service Numbers</name>
        <t>It is convenient for BPv7 services that have a public specification and wide adoption to be identified by a pre-agreed default Service Number, so that unless extra configuration is applied, such services can be sensibly assumed to be operating on the well-known Service Number on a particular node.</t>
        <t>If a different service uses the number, or the service uses a different number, BPv7 will continue to operate, but some configuration may be required to make the individual service operational.</t>
        <t>A new IANA "'ipn' Scheme URI Well-known Service Numbers for BPv7" registry is defined for the registration of well-known BPv7 Service Numbers, see <xref target="iana-service-numbers">'ipn' Scheme URI Well-known Service Numbers for BPv7 registry</xref>.  This registry records the assignments of Service Numbers for well-known services, and also explicitly reserves ranges for both experimentation and private use.</t>
      </section>
      <section anchor="administrative-endpoints">
        <name>Administrative Endpoints</name>
        <t>The service identified by a Service Number of zero (0) <bcp14>MUST</bcp14> be interpreted as the Administrative Endpoint of the node, as defined in <xref section="3.2" sectionFormat="of" target="RFC9171"/>.</t>
        <t>Non-zero Service Numbers <bcp14>MUST NOT</bcp14> be used to identify the Administrative Endpoint of a bundle node in an ipn EID.</t>
      </section>
    </section>
    <section anchor="encoding-ipn-uris-with-bpv7">
      <name>Encoding ipn URIs with BPv7</name>
      <t><xref section="4.2.5.1" sectionFormat="of" target="RFC9171"/> requires that any URI scheme used to represent BPv7 EIDs <bcp14>MUST</bcp14> define how the scheme-specific part of the URI scheme is encoded with CBOR <xref target="RFC8949"/>. To meet this requirement, this section describes the CBOR encoding and decoding approach for ipn EIDs. The formal definition of these encodings is presented in <xref target="cbor-encoding">Appendix C</xref>.</t>
      <t>While there is a single, canonical, textual representation of an ipn URI, there may exist multiple encodings for that URI. For example, <xref section="2.1" sectionFormat="of" target="RFC3986"/> defines a percent-encoding mechanism for a URI text string. Alternatively, <xref section="3.4.5.3" sectionFormat="of" target="RFC8949"/> allows for the encoding of URIs as CBOR text strings identified with a CBOR tag value of 32.</t>
      <section anchor="ipn-eid-cbor-encoding">
        <name>ipn EID CBOR Encoding</name>
        <t>Generic URI approaches to encoding ipn EIDs are unlikely to be efficient because they do not consider the underlying structure of the ipn URI scheme. Since the creation of the ipn URI scheme was motivated by the need for concise identification and rapid processing, the encoding of ipn EIDs maintains these properties.</t>
        <t>Fundamentally, <xref target="RFC9171"/> ipn EIDs are represented as a sequence of identifiers. In the text syntax, the numbers are separated with the '<tt>.</tt>' delimiter; in CBOR, this ordered series of numbers can be represented by an array. Therefore, when encoding ipn EIDs for use with BPv7, the scheme-specific part of an ipn URI <bcp14>MUST</bcp14> be represented as a CBOR array of either two (2) or three (3) elements. Each element of the array <bcp14>MUST</bcp14> be encoded as a single CBOR unsigned integer.</t>
        <t>The structure and mechanisms of the two-element and three-element encodings are described below, and examples of the different encodings are provided in <xref target="cbor-examples">Appendix D</xref>.</t>
        <section anchor="two-encode">
          <name>Two-Element Scheme-Specific Encoding</name>
          <t>In the two-element scheme-specific encoding of an ipn EID, the first element of the array is an encoding of the <xref target="fqnn">Fully-qualified Node Number</xref> and the second element of the array is the ipn EID Service Number.</t>
          <t>The FQNN encoding <bcp14>MUST</bcp14> be a 64 bit unsigned integer constructed in the following way:</t>
          <ol spacing="normal" type="1"><li>
              <t>The least significant 32 bits <bcp14>MUST</bcp14> represent the Node Number associated with the ipn EID.</t>
            </li>
            <li>
              <t>The most significant 32 bits <bcp14>MUST</bcp14> represent the Allocator Identifier associated with the ipn EID.</t>
            </li>
          </ol>
          <t>For example the ipn EID of <tt>ipn:977000.100.1</tt> has an FQNN of <tt>(977000,100)</tt> which would be encoded as <tt>0xEE86800000064</tt>.  The resulting two-element array <tt>[0xEE86800000064, 0x01]</tt> would be encoded in CBOR as the 11 octet value <tt>0x821B000EE8680000006401</tt>.</t>
          <t>The two-element scheme-specific encoding provides for backwards compatibility with the encoding provided in <xref section="4.2.5.1.2" sectionFormat="of" target="RFC9171"/>. When used in this way, the encoding of the FQNN replaces the use of the "Node Number" that was specified in RFC9171. When the Node Number is allocated by the <xref target="default-allocator">Default Allocator</xref>, the encoding of the FQNN and the RFC9171 encoding of the "Node Number" are identical.</t>
          <t>This encoding scheme <bcp14>MUST</bcp14> be implemented by any BPv7 bundle processing node that supports ipn URIs for the representation of BPv7 EIDs.</t>
        </section>
        <section anchor="three-encode">
          <name>Three-Element Scheme-Specific Encoding</name>
          <t>In the three-element scheme-specific encoding of an ipn EID, the first element of the array is the Allocator Identifier, the second element of the array is the Node Number, and the third element of the array is the Service Number.</t>
          <t>For example, the ipn EID of <tt>ipn:977000.100.1</tt> would result in the three-element array of <tt>[977000,100,1]</tt> which would be encoded in CBOR as the 9 octet value <tt>0x831A000EE868186401</tt>.</t>
          <t>The three-element scheme-specific encoding allows for a more efficient representation of ipn EIDs using smaller Allocator Identifiers.</t>
          <t>When encoding an ipn EID using the <xref target="default-allocator">Default Allocator</xref> with this encoding scheme, the first element of the array <bcp14>MUST</bcp14> be the value zero (0). In this case using the two-element encoding will result in a more concise CBOR representation, and it is <bcp14>RECOMMENDED</bcp14> that implementations do so.</t>
        </section>
      </section>
      <section anchor="ipn-eid-cbor-decoding">
        <name>ipn EID CBOR Decoding</name>
        <t>The presence of different scheme-specific encodings does not introduce any decoding ambiguity.</t>
        <t>An ipn EID CBOR decoder can reconstruct an ipn EID using the following logic. In this description, the term <tt>enc_eid</tt> refers to the CBOR encoded ipn EID, and the term <tt>ipn_eid</tt> refers to the decoded ipn EID.</t>
        <artwork align="left" type="pseudocode"><![CDATA[
if enc_eid.len() == 3
{
  ipn_eid.allocator_identifier := enc_eid[0];
  ipn_eid.node_number := enc_eid[1];
  ipn_eid.service_number := enc_eid[2];
}
else if enc_eid.len() == 2
{
  ipn_eid.allocator_identifier := enc_eid[0] >> 32;
  ipn_eid.node_number := enc_eid[0] & (2^32-1);
  ipn_eid.service_number := enc_eid[1];
}
]]></artwork>
      </section>
      <section anchor="ipn-eid-matching">
        <name>ipn EID Matching</name>
        <t>Regardless of whether the two-element or three-element scheme-specific encoding is used, ipn EID matching <bcp14>MUST</bcp14> be performed on the decoded EID information itself. Different encodings of the same ipn EID <bcp14>MUST</bcp14> be treated as equivalent when performing EID-specific functions.</t>
        <t>For example, the ipn EID of <tt>ipn:977000.100.1</tt> can be represented as either the two-element encoding of <tt>0x821B000EE8680000006401</tt> or the three-element encoding of <tt>0x831A000EE868186401</tt>. While message integrity and other syntax-based checks may treat these values differently, any EID-based comparisons <bcp14>MUST</bcp14> treat these values the same - as representing the ipn EID <tt>ipn:977000.100.1</tt>.</t>
      </section>
    </section>
    <section anchor="special-considerations">
      <name>Special Considerations</name>
      <t>The ipn URI scheme provides a compact and hierarchical mechanism for identifying services on network nodes. There is a significant amount of utility in the ipn URI scheme approach to identification. However, implementers should take into consideration the following observations on the use of the ipn URI scheme.</t>
      <section anchor="scheme-compatibility">
        <name>Scheme Compatibility</name>
        <t>The ipn scheme update that has been presented in this document preserves backwards compatibility with any ipn URI scheme going back to the provisional definition of the ipn scheme in the experimental Compressed Bundle Header Encoding <xref target="RFC6260"/> specification in 2011. This means that any ipn URI that was valid prior to the publication of this update remains a valid ipn URI.</t>
        <t>Similarly, the <xref target="two-encode">two-element scheme-specific encoding</xref> is also backwards compatible with the encoding of ipn URIs provided in <xref target="RFC9171"/>. Any existing RFC9171-compliant implementation will produce an ipn URI encoding in compliance with this specification.</t>
        <t>The introduction of optional non-default Allocator Identifiers and a three-element scheme-specific encoding make this ipn URI scheme update not forwards compatible. Existing software for which support of this update is desired <bcp14>MUST</bcp14> be updated to be able to process non-default Allocator Identifiers and three-element scheme-specific encodings. It is <bcp14>RECOMMENDED</bcp14> that BPv7 implementations upgrade to process these new features to benefit from the scalability provided by Allocator Identifiers and the encoding efficiencies provided by the three-element encoding.</t>
      </section>
      <section anchor="late-binding">
        <name>Late Binding</name>
        <t><xref target="RFC9171"/> mandates the concept of "late binding" of an EID, whereby the address of the destination of a bundle is resolved from its identifier hop-by-hop as it transits a DTN.  This per-hop binding of identifiers to addresses underlines the fact that EIDs are purely names, and should not carry any implicit or explicit information concerning the current location or reachability of an identified node and service.  This removes the need to rename a node as its location changes.</t>
        <t>The concept of "late binding" is preserved in this ipn URI scheme. Elements of an ipn URI <bcp14>SHOULD NOT</bcp14> be regarded as carrying information relating to location, reachability, or other addressing/routing concern.</t>
        <t>An example of incorrect behaviour would be to assume that a given Allocator assigns Node Numbers derived from link-layer addresses and to interpret the Node Number component of an ipn URI directly as a link-layer address. No matter the mechanism an Allocator uses for the assignment of Node Numbers, they remain just numbers, without additional meaning.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This section updates the security considerations from <xref section="4.2.5.1.2" sectionFormat="of" target="RFC9171"/> to account for the inclusion of Allocator Identifiers in the ipn URI scheme when used with BPv7.</t>
      <section anchor="reliability-and-consistency">
        <name>Reliability and consistency</name>
        <t>None of the BPv7 endpoints identified by ipn EIDs are guaranteed to be reachable at any time, and the identity of the processing entities operating on those endpoints is never guaranteed by the Bundle Protocol itself. Verification of the signature provided by the Block Integrity Block targeting the bundle's primary block, as defined by Bundle Protocol Security <xref target="RFC9172"/>, is required for this purpose.</t>
      </section>
      <section anchor="malicious-construction">
        <name>Malicious construction</name>
        <t>Malicious construction of a conformant ipn URI is limited to the malicious selection of Allocator Identifiers, Node Numbers, and Service Numbers. That is, a maliciously constructed ipn EID could be used to direct a bundle to an endpoint that might be damaged by the arrival of that bundle or, alternatively, to declare a false source for a bundle and thereby cause incorrect processing at a node that receives the bundle. In both cases (and indeed in all bundle processing), the node that receives a bundle should verify its authenticity and validity before operating on it in any way.</t>
      </section>
      <section anchor="back-end-transcoding">
        <name>Back-end transcoding</name>
        <t>The limited expressiveness of URIs of the ipn scheme effectively eliminates the possibility of threat due to errors in back-end transcoding.</t>
      </section>
      <section anchor="local-and-private-use-ipn-eids">
        <name>Local and Private Use ipn EIDs</name>
        <t>Both <xref target="localnode-uri">LocalNode</xref> and <xref target="private-use">Private Use</xref> ipn URIs present a risk to the stability of deployed BPv7 networks.  If either type of ipn URI are allowed to propagate beyond the domain in which they are valid, then the required uniqueness of ipn URIs no longer holds, and this fact can be abused by a malicious node to prevent the correct functioning of the network as a whole.</t>
        <t>See <xref target="localnode-ipn-eids">LocalNode ipn EIDs</xref> and <xref target="private-use-ipn-eids">Private Use ipn EIDs</xref> for required behaviours to mitigate against this form of abuse.</t>
      </section>
      <section anchor="sensitive-information">
        <name>Sensitive information</name>
        <t>Because ipn URIs are used only to represent the numeric identities of resources, the risk of disclosure of sensitive information due to interception of these URIs is minimal. Examination of ipn URIs could be used to support traffic analysis; where traffic analysis is a plausible danger, bundles should be conveyed by secure convergence-layer protocols that do not expose endpoint IDs.</t>
      </section>
      <section anchor="semantic-attacks">
        <name>Semantic attacks</name>
        <t>The simplicity of ipn URI scheme syntax minimizes the possibility of misinterpretation of a URI by a human user.</t>
      </section>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>The following sections detail requests to IANA for the creation of two new registries, and the renaming of an existing registry.</t>
      <t>IANA is requested to update the reference to the 'ipn' scheme is the "Uniform Resource Identifier (URI) Schemes" registry to this document.</t>
      <t>IANA is requested to add the new registries, and relocate the existing registries under the "Uniform Resource Identifier (URI) Schemes" protocol registry.</t>
      <section anchor="iana-allocator-identifiers">
        <name>'ipn' Scheme URI Allocator Identifiers registry</name>
        <t>IANA is requested to create a new registry entitled "'ipn' Scheme URI Allocator Identifiers".  The registration policy for this registry, using terms defined in <xref target="RFC8126"/>, is:</t>
        <table align="left" anchor="tab-ipn-allocator-identifiers-reg">
          <name>'ipn' Scheme URI Numbering Allocator Identifiers registration policies</name>
          <thead>
            <tr>
              <th align="center">Range</th>
              <th align="left">Registration Policy</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">0 .. 2^16-1</td>
              <td align="left">Expert Review, Single Allocator Identifiers only</td>
            </tr>
            <tr>
              <td align="center">2^16 .. 2^30-1</td>
              <td align="left">Expert Review</td>
            </tr>
            <tr>
              <td align="center">2^30 .. 2^31-1</td>
              <td align="left">Experimental Use</td>
            </tr>
            <tr>
              <td align="center">2^31 .. 2^32-1</td>
              <td align="left">Reserved, Future Expansion</td>
            </tr>
            <tr>
              <td align="center">&gt;= 2^32</td>
              <td align="left">Reserved</td>
            </tr>
          </tbody>
        </table>
        <t>Each entry in this registry associates one or more Allocator Identifiers with a single organization. Within the registry, the organization is identified using the "Name" and "Point of Contact" fields. It is expected that each identified organization publishes some listing of allocated node numbers - the pointer to which is listed in the "Reference" field of the registry.</t>
        <t>Note that the “Single Allocator Identifiers only” language in Registration Policy for this registry indicates that, within the indicated range, the allocation of a sequence of consecutive Allocator identifiers to a single organization is prohibited.  IANA is requested to note this in the registration policy for this registry.</t>
        <t>The initial values for the registry are:</t>
        <table align="left" anchor="tab-ipn-allocator-identifiers-vals">
          <name>'ipn' Scheme URI Allocator Identifiers initial values</name>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="center">Range (dec)</th>
              <th align="center">Range (hex)</th>
              <th align="center">Range Length (Bits)</th>
              <th align="center">Reference</th>
              <th align="center">Point of Contact</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <xref target="default-allocator">Default Allocator</xref></td>
              <td align="center">0</td>
              <td align="center">0x0</td>
              <td align="center">0</td>
              <td align="center">This document</td>
              <td align="center">IANA</td>
            </tr>
            <tr>
              <td align="left">Example Range</td>
              <td align="center">974848 .. 978943</td>
              <td align="center">0xEE000 .. 0xEEFFF</td>
              <td align="center">12 bits</td>
              <td align="center">This document</td>
              <td align="center">IANA</td>
            </tr>
          </tbody>
        </table>
        <t>The "Example Range" is assigned for use in examples in documentation and sample code.</t>
        <section anchor="guidance-for-designated-experts">
          <name>Guidance for Designated Experts</name>
          <t>Due to the nature of the CBOR encoding used for Allocator Identifiers with BPv7, Allocator Identifiers with a low value number are encoded more efficiently than larger numbers.  This makes low value Allocator Identifiers more desirable than larger Allocator Identifiers, and therefore care must be taken when assigning Allocator Identifier ranges to ensure that a single applicant is not granted a large swathe of highly desirable numbers at the expense of other applicants.  To this end, Designated Experts are strongly recommended to familiarize themselves with the CBOR encoding of unsigned integers in <xref target="RFC8949"/>.</t>
        </section>
      </section>
      <section anchor="iana-node-numbers">
        <name>'ipn' Scheme URI Default Allocator Node Numbers registry</name>
        <t>IANA is requested to rename the "CBHE Node Numbers" registry defined in <xref section="3.2.1" sectionFormat="of" target="RFC7116"/> to the "'ipn' Scheme URI Default Allocator Node Numbers" registry.</t>
        <t>The registration policy for this registry, using terms defined in <xref target="RFC8126"/>, is updated to be:</t>
        <table align="left" anchor="tab-ipn-node-numbers-reg">
          <name>'ipn' Scheme URI Default Allocator Node Numbers registration policies</name>
          <thead>
            <tr>
              <th align="center">Range</th>
              <th align="left">Registration Policy</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">0</td>
              <td align="left">Reserved for the <xref target="null-uri">Null ipn URI</xref></td>
            </tr>
            <tr>
              <td align="center">1 .. 2^14-1</td>
              <td align="left">Private Use</td>
            </tr>
            <tr>
              <td align="center">2^14 .. 2^32-2</td>
              <td align="left">Expert Review</td>
            </tr>
            <tr>
              <td align="center">2^32-1</td>
              <td align="left">Reserved for <xref target="localnode-uri">LocalNode ipn URIs</xref></td>
            </tr>
            <tr>
              <td align="center">&gt;= 2^32</td>
              <td align="left">Invalid</td>
            </tr>
          </tbody>
        </table>
        <t>As IANA is requested to only rename the registry, all existing registrations will remain.</t>
      </section>
      <section anchor="iana-service-numbers">
        <name>'ipn' Scheme URI Well-known Service Numbers for BPv7 registry</name>
        <t>IANA is requested to create a new registry entitled "'ipn' Scheme URI Well-known Service Numbers for BPv7" registry.  The registration policy for this registry, using terms defined in <xref target="RFC8126"/>, is:</t>
        <table align="left" anchor="tab-ipn-service-numbers-reg">
          <name>'ipn' Scheme URI Well-known Service Numbers for BPv7 registration policies</name>
          <thead>
            <tr>
              <th align="center">Range</th>
              <th align="left">Registration Policy</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">0</td>
              <td align="left">Reserved for the <xref target="administrative-endpoints">Administrative Endpoint</xref></td>
            </tr>
            <tr>
              <td align="center">1..127</td>
              <td align="left">Private Use</td>
            </tr>
            <tr>
              <td align="center">128..255</td>
              <td align="left">Standards Action</td>
            </tr>
            <tr>
              <td align="center">0x0100 .. 0x7FFF</td>
              <td align="left">Private Use</td>
            </tr>
            <tr>
              <td align="center">0x8000 .. 0xFFFF</td>
              <td align="left">Specification Required</td>
            </tr>
            <tr>
              <td align="center">2^16 .. 2^32-1</td>
              <td align="left">Private Use</td>
            </tr>
            <tr>
              <td align="center">&gt;= 2^32</td>
              <td align="left">Reserved for future expansion</td>
            </tr>
          </tbody>
        </table>
        <t>The initial values for the registry are:</t>
        <table align="left" anchor="tab-ipn-service-numbers-vals">
          <name>'ipn' Scheme URI Well-known Service Numbers for BPb7 initial values</name>
          <thead>
            <tr>
              <th align="center">Value</th>
              <th align="left">Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">0</td>
              <td align="left">The <xref target="administrative-endpoints">Administrative Endpoint</xref></td>
              <td align="left">
                <xref target="RFC9171"/>, This document</td>
            </tr>
            <tr>
              <td align="center">0xEEE0 .. 0xEEEF</td>
              <td align="left">Example Range</td>
              <td align="left">This document</td>
            </tr>
          </tbody>
        </table>
        <t>The "Example Range" is assigned for use in examples in documentation and sample code.</t>
        <section anchor="guidance-for-designated-experts-1">
          <name>Guidance for Designated Experts</name>
          <t>This registry is intended to record the default Service Numbers for well-known, interoperable services available and of use to the entire BPv7 community, hence all ranges not marked for Private Use <bcp14>MUST</bcp14> have a corresponding publicly available specification describing how one interfaces with the service.</t>
          <t>Services that are specific to a particular deployment or co-operation may require a registry to reduce administrative burden, but do not require an entry in this registry.</t>
        </section>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC9171">
          <front>
            <title>Bundle Protocol Version 7</title>
            <author fullname="S. Burleigh" initials="S." surname="Burleigh"/>
            <author fullname="K. Fall" initials="K." surname="Fall"/>
            <author fullname="E. Birrane, III" initials="E." surname="Birrane, III"/>
            <date month="January" year="2022"/>
            <abstract>
              <t>This document presents a specification for the Bundle Protocol, adapted from the experimental Bundle Protocol specification developed by the Delay-Tolerant Networking Research Group of the Internet Research Task Force and documented in RFC 5050.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9171"/>
          <seriesInfo name="DOI" value="10.17487/RFC9171"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <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>
        <reference anchor="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>
        <reference anchor="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>
        <reference anchor="RFC5234">
          <front>
            <title>Augmented BNF for Syntax Specifications: ABNF</title>
            <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker"/>
            <author fullname="P. Overell" initials="P." surname="Overell"/>
            <date month="January" year="2008"/>
            <abstract>
              <t>Internet technical specifications often need to define a formal syntax. Over the years, a modified version of Backus-Naur Form (BNF), called Augmented BNF (ABNF), has been popular among many Internet specifications. The current specification documents ABNF. It balances compactness and simplicity with reasonable representational power. The differences between standard BNF and ABNF involve naming rules, repetition, alternatives, order-independence, and value ranges. This specification also supplies additional rule definitions and encoding for a core lexical analyzer of the type common to several Internet specifications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="68"/>
          <seriesInfo name="RFC" value="5234"/>
          <seriesInfo name="DOI" value="10.17487/RFC5234"/>
        </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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC7116">
          <front>
            <title>Licklider Transmission Protocol (LTP), Compressed Bundle Header Encoding (CBHE), and Bundle Protocol IANA Registries</title>
            <author fullname="K. Scott" initials="K." surname="Scott"/>
            <author fullname="M. Blanchet" initials="M." surname="Blanchet"/>
            <date month="February" year="2014"/>
            <abstract>
              <t>The DTNRG Research Group has defined the experimental Licklider Transmission Protocol (LTP) and the Compressed Bundle Header Encoding (CBHE) mechanism for the InterPlanetary Network ('ipn' URI scheme). Moreover, RFC 5050 defines values for the Bundle Protocol administrative record type. All of these fields are subject to a registry. For the purpose of its research work, the group has created ad hoc registries. As the specifications are stable and have multiple interoperable implementations, the group would like to hand off the registries to IANA for official management. This document describes the necessary IANA actions.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7116"/>
          <seriesInfo name="DOI" value="10.17487/RFC7116"/>
        </reference>
        <reference anchor="RFC5050">
          <front>
            <title>Bundle Protocol Specification</title>
            <author fullname="K. Scott" initials="K." surname="Scott"/>
            <author fullname="S. Burleigh" initials="S." surname="Burleigh"/>
            <date month="November" year="2007"/>
            <abstract>
              <t>This document describes the end-to-end protocol, block formats, and abstract service description for the exchange of messages (bundles) in Delay Tolerant Networking (DTN).</t>
              <t>This document was produced within the IRTF's Delay Tolerant Networking Research Group (DTNRG) and represents the consensus of all of the active contributors to this group. See http://www.dtnrg.org for more information. This memo defines an Experimental Protocol for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5050"/>
          <seriesInfo name="DOI" value="10.17487/RFC5050"/>
        </reference>
        <reference anchor="RFC4632">
          <front>
            <title>Classless Inter-domain Routing (CIDR): The Internet Address Assignment and Aggregation Plan</title>
            <author fullname="V. Fuller" initials="V." surname="Fuller"/>
            <author fullname="T. Li" initials="T." surname="Li"/>
            <date month="August" year="2006"/>
            <abstract>
              <t>This memo discusses the strategy for address assignment of the existing 32-bit IPv4 address space with a view toward conserving the address space and limiting the growth rate of global routing state. This document obsoletes the original Classless Inter-domain Routing (CIDR) spec in RFC 1519, with changes made both to clarify the concepts it introduced and, after more than twelve years, to update the Internet community on the results of deploying the technology described. 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="122"/>
          <seriesInfo name="RFC" value="4632"/>
          <seriesInfo name="DOI" value="10.17487/RFC4632"/>
        </reference>
        <reference anchor="RFC1918">
          <front>
            <title>Address Allocation for Private Internets</title>
            <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
            <author fullname="B. Moskowitz" initials="B." surname="Moskowitz"/>
            <author fullname="D. Karrenberg" initials="D." surname="Karrenberg"/>
            <author fullname="G. J. de Groot" initials="G. J." surname="de Groot"/>
            <author fullname="E. Lear" initials="E." surname="Lear"/>
            <date month="February" year="1996"/>
            <abstract>
              <t>This document describes address allocation for private internets. 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="5"/>
          <seriesInfo name="RFC" value="1918"/>
          <seriesInfo name="DOI" value="10.17487/RFC1918"/>
        </reference>
        <reference anchor="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>
        <reference anchor="RFC9172">
          <front>
            <title>Bundle Protocol Security (BPSec)</title>
            <author fullname="E. Birrane, III" initials="E." surname="Birrane, III"/>
            <author fullname="K. McKeever" initials="K." surname="McKeever"/>
            <date month="January" year="2022"/>
            <abstract>
              <t>This document defines a security protocol providing data integrity and confidentiality services for the Bundle Protocol (BP).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9172"/>
          <seriesInfo name="DOI" value="10.17487/RFC9172"/>
        </reference>
        <reference anchor="RFC6260">
          <front>
            <title>Compressed Bundle Header Encoding (CBHE)</title>
            <author fullname="S. Burleigh" initials="S." surname="Burleigh"/>
            <date month="May" year="2011"/>
            <abstract>
              <t>This document describes a convention by which Delay-Tolerant Networking (DTN) Bundle Protocol (BP) "convergence-layer" adapters may represent endpoint identifiers in a compressed form within the primary blocks of bundles, provided those endpoint identifiers conform to the structure prescribed by this convention.</t>
              <t>Compressed Bundle Header Encoding (CBHE) compression is a convergence-layer adaptation. It is opaque to bundle processing. Therefore, it has no impact on the interoperability of different Bundle Protocol implementations, but instead affects only the interoperability of different convergence-layer adaptation implementations.</t>
              <t>This document is a product of the Delay-Tolerant Networking Research Group and has been reviewed by that group. No objections to its publication as an RFC were raised. This document defines an Experimental Protocol for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6260"/>
          <seriesInfo name="DOI" value="10.17487/RFC6260"/>
        </reference>
      </references>
    </references>
    <?line 478?>

<section anchor="text-syntax">
      <name>ipn URI Scheme Text Syntax</name>
      <t>The text syntax of an ipn URI <bcp14>MUST</bcp14> comply with the following ABNF <xref target="RFC5234"/> syntax, and reiterates the core ABNF syntax rule for DIGIT defined by that specification:</t>
      <artwork type="abnf" align="left"><![CDATA[
ipn-uri = "ipn:" ipn-hier-part

ipn-hier-part = fqnn "." service-number

fqnn = "!" / allocator-part

allocator-part = [allocator-identifier "."] node-number

allocator-identifier = non-zero-number

node-number = number

service-number = number

number = "0" / non-zero-number

non-zero-number = (%x31-39 *DIGIT)

DIGIT = %x30-39
]]></artwork>
    </section>
    <section anchor="text-examples">
      <name>ipn URI Scheme Text Representation Examples</name>
      <t>This section provides some example ipn URIs in their textual representation.</t>
      <section anchor="using-the-default-allocator">
        <name>Using the Default Allocator</name>
        <t>Consider the ipn URI identifying Service Number 2 on Node Number 1 allocated by the <xref target="default-allocator">Default Allocator</xref> (0).</t>
        <t>The complete seven character representation of this URI would be as follows:</t>
        <artwork><![CDATA[
ipn:1.2
]]></artwork>
      </section>
      <section anchor="using-a-non-default-allocator">
        <name>Using a non-default Allocator</name>
        <t>Consider the ipn URI identifying Service Number 3 on Node Number 1 allocated by Allocator 977000.</t>
        <t>The complete 14 character representation of this URI would be as follows:</t>
        <artwork><![CDATA[
ipn:977000.1.3
]]></artwork>
      </section>
      <section anchor="the-null-ipn-uri">
        <name>The Null ipn URI</name>
        <t>The <xref target="null-uri">Null ipn URI</xref> is represented as:</t>
        <artwork><![CDATA[
ipn:0.0
]]></artwork>
      </section>
      <section anchor="a-localnode-ipn-uri">
        <name>A LocalNode ipn URI</name>
        <t>Consider the ipn URI identifying Service Number 7 on the local node.</t>
        <t>The complete seven character representation of this URI would be as follows:</t>
        <artwork><![CDATA[
ipn:!.7
]]></artwork>
      </section>
    </section>
    <section anchor="cbor-encoding">
      <name>ipn URI Scheme CBOR Encoding</name>
      <t>A BPv7 endpoint identified by an ipn URI, when encoded in Concise Binary Object Representation (CBOR) <xref target="RFC8949"/>, <bcp14>MUST</bcp14> comply with the following Concise Data Definition Language (CDDL) <xref target="RFC8610"/> specification:</t>
      <artwork type="cddl" align="left"><![CDATA[
eid = $eid .within eid-structure

eid-structure = [
  uri-code: uint,
  SSP: any
]

; ... Syntax for other uri-code values defined in RFC9171 ...

$eid /= [
  uri-code: 2,
  SSP: ipn-ssp2 / ipn-ssp3
]
ipn-ssp2 = [
  fqnn: uint,  ; packed value
  service-number: uint
]
ipn-ssp3 = [
  authority-number: uint .lt 4294967296,
  node-number: uint .lt 4294967296,
  service-number: uint
]
]]></artwork>
      <t>Note: The <tt>node-number</tt> component will be the numeric representation of the concatenation of the Allocator Identifier and Node Number when the 2-element encoding scheme has been used.</t>
    </section>
    <section anchor="cbor-examples">
      <name>ipn URI Scheme CBOR Encoding Examples</name>
      <t>This section provides some example CBOR encodings of ipn EIDs.</t>
      <section anchor="using-the-default-allocator-1">
        <name>Using the Default Allocator</name>
        <t>Consider the ipn EID <tt>ipn:1.1</tt>. This textual representation of an ipn EID identifies Service Number 1 on Node Number 1 allocated by the <xref target="default-allocator">Default Allocator</xref> (0).</t>
        <t>The complete five octet encoding of this EID using the two-element scheme-specific encoding would be as follows:</t>
        <artwork><![CDATA[
82       # 2-Element Endpoint Encoding
   02    # uri-code: 2 (IPN URI scheme)
   82    # 2 Element ipn EID scheme-specific encoding
      01 # Node Number
      01 # Service Number
]]></artwork>
        <t>The complete six octet encoding of this EID using the three-element scheme-specific encoding would be as follows:</t>
        <artwork><![CDATA[
82       # 2-Element Endpoint Encoding
   02    # uri-code: 2 (IPN URI scheme)
   83    # 3 Element ipn EID scheme-specific encoding
      00 # Default Allocator
      01 # Node Number
      01 # Service Number
]]></artwork>
      </section>
      <section anchor="using-a-non-default-allocator-1">
        <name>Using a non-default Allocator</name>
        <t>Consider the ipn EID <tt>ipn:977000.1.1</tt>.  This textual representation of an ipn EID identifies Service Number 1 on Node Number 1 allocated by Allocator 977000.</t>
        <t>The complete thirteen octet encoding of this EID using the two-element scheme-specific encoding would be as follows:</t>
        <artwork><![CDATA[
82                        # 2-Element Endpoint Encoding
   02                     # uri-code: 2 (IPN URI scheme)
   82                     # 2 Element ipn EID scheme-specific encoding
      1B 000EE86800000001 # Fully-qualified Node Number
      01                  # Service Number
]]></artwork>
        <t>The complete ten octet encoding of this EID using the three-element scheme-specific encoding would be as follows:</t>
        <artwork><![CDATA[
82                # 2-Element Endpoint Encoding
   02             # uri-code: 2 (IPN URI scheme)
   83             # 3 Element ipn EID scheme-specific encoding
      1A 000EE868 # Allocator Identifier
      01          # Node Number
      01          # Service Number
]]></artwork>
      </section>
      <section anchor="the-null-endpoint-1">
        <name>The 'null' Endpoint</name>
        <t>The 'null' EID of <tt>ipn:0.0</tt> can be encoded in the following ways:</t>
        <t>The complete five octet encoding of the 'null' ipn EID using the two-element scheme-specific encoding would be as follows:</t>
        <artwork><![CDATA[
82       # 2-Element Endpoint Encoding
   02    # uri-code: 2 (IPN URI scheme)
   82    # 2 Element ipn EID scheme-specific encoding
      00 # Node Number
      00 # Service Number
]]></artwork>
        <t>The complete six octet encoding of the 'null'' ipn EID using the three-element scheme-specific encoding would be as follows:</t>
        <artwork><![CDATA[
82       # 2-Element Endpoint Encoding
   02    # uri-code: 2 (IPN URI scheme)
   83    # 3 Element ipn EID scheme-specific encoding
      00 # Default Allocator
      00 # Node Number
      00 # Service Number
]]></artwork>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The following DTNWG participants contributed technical material, use cases, and critical technical review for this URI scheme update: Scott Burleigh of the IPNGROUP, Keith Scott, Brian Sipos of the Johns Hopkins University Applied Physics Laboratory, Jorge Amodio of LJCV Electronics, and Ran Atkinson.</t>
      <t>Additionally, the authors wish to thank members of the CCSDS SIS-DTN working group at large who provided useful review and commentary on this document and its implications for the future of networked space exploration.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+V963Ibx9XgfzxFB95dkSkAIkBZFyZywptsZm1JnyjFlVU5
4QAYkBMNZpCZASlYVup7kN2qfZZ9lO9J9lz7MhcSdJzs1q6rEhHATPfp06fP
/ZweDoe9KqnS+MD0363mURWbKjfVVWySVWbevTkz5ewqXsb9XjSdFvE1PAY/
DNf0aL83g/+/zIvNgSmrea83z2dZtISx5kW0qIZJXC2G8yobuleG471euZ4u
k7JM8qzarODhs9O3L3rZejmNi4MePnTQm+VZGWflujwwVbGOezDvfi8q4gjm
f1tEWbnKi6rfu8mLD5dFvl7B1ydxGm0eniRlsV5VMLZ5m6cxPFqZl3GFDybZ
Zb/3Id7A3/ODnhmak7cv8R8ADv85en39BP89PvrmlD6vs3kam9dFXuWzPO31
ruNsDaAZc78ZjeFV9r/nb8zX+Dp+v4ySFL4HBP0eMTXKC3o8KmZX8PVVVa3K
g4cP8Sn8KrmOR/rYQ/zi4bTIb8r4Ibz/EN+7TKqr9RTeLJLZhyrapHnxENY2
wd9SwGpZeaO6Z0b83ijJ6emHvHX8W23zRlfVMu33evypJCQ+Gz8Z479PxuPH
vWhdXeUFfg9zGrNYpynTwxuYzrylMekXWEOUJT9GiLYD86pIzFk2X5dVkcQl
PRAzchDMEcPy+7xIRrO8Ofbp3BwlBeA9bhn6D9+8e3j4+lt/zNP5TVTMR/LO
7/96tY5W6Sier3u9LC+W8OI1bHOSLdyH3nA4NNEU4ItmVa/39iopDdD6ehnD
Zgs2zDSvrujklKt4liySGYFg8kXLcTIrOEtJvi7TjZnHiySL5ybJzJsXx4RI
E2VzeqtYpzAyQGLibJbPkXx4vDLG0UpzcxVnZl3C61EJb5nTbL7KE4DqbA6w
ARRxYXZOz052cfgaSZs/xgWeQvPE7CD17+IYNWhwe0fmLU2oC50BPSaLDa8V
juesWhcxgTyNryJYVtG+6IEMbtdS4nP4jCAFVzSggYBYo2malIzQIr5MmDZM
Fs/isoyKDbKpZZRFl8CwcDt4iBFv1TKZw0J7vS+ArKoinwOIsE7cuMZG3MCa
gbIukyxKw8349Ol3gAHcjs+fCbvwLE2bMGo3AAwdc5Pl87gkuPEvU8bFdQJg
wr7ghgEvmyVlnG6GtG4aHLgm4B4gjyozg22bIkXkuDT4eRGVFWwbjncDZ9Ms
4hv4WMRlvi5wWHgLyAoQU5jruJjmsDWJ221eV0mb5i8SQEwucWlITUAxPDai
N/64iosEaTlKGzRyLTTymGjk8UDQ8uXel3ufP+8SkGevX8oMjDumxGhW5Nlm
SdPhLLCkpenDfsTF6xQOXoWbKIyyj/gu4kVcAIpIAiVVSWjKEF8ILQ4zj+PV
sFxF8EhmOezInCf0EpyEAa9nAYcvgZE2gNcMgKqIzhjpHqpKIKAPgM8aBeJ0
wF1oxiizuwxkAmiCMw1bSqhLk2VSAXSrHLZnYKaAiptkXl0RBT+El2f5crUG
gTpdzy/jijYE1pgX8cAhBHEH1JvlN+4Uw6dsKOgDFmGQzQFhn8N8cPJUPoe7
RlvDBxJmB/6W/AijdW2mHHjczF/BZuIhx83EU7nAU1auVyhg7d7hBrTzMX2i
wfOmPHULPyqJIZW7TKGrNZxz9xqCZa4AC0Du67TikyiIz+GIAg2s0nyDyy7t
83z+EBTmwXEBbwO/gMf5UGZD/ztczSwq+YwkSGezdI0j8GDN7c4Bb7pldhSi
ZHiYpuh6E4CHk78YAg+oIjoccXadwM7yAoBfJvB2ZMorUG7gj/kyyZDVkdwB
EQMSK2M8gdJxA2uDAREQ1pZo6nIWpbQ7bZgBFackdE7jGI8kkiRIR5hquoFp
w0HXJXLT9n2+uUpmVzTSVXJ5lcL/cG9QIyvpuC6BfV3HoUgYmCVsDO8cs3Vm
2CQ1aRqfbx9tWMAg2kLWCy/6dDrgFxvyd0vRO8DlRnBcZx9QDyiHhJMqmabI
JzcDXA4uBvgE7GhM/JpXJ3uWO4wJcoBZwSYToMi3GI8wDEOzMUjuzDNwU4Bh
KZQgceqrSURgoUABXAP6UPeDRz1Rq4cuKpGlKzobgpTldCKosbKZwETiBR2k
sohqvM3cvLTctNpCbMtWPNR3a8Ib4M1nSVSJEAr3/zAF3XF9eRVK4+s4hdNE
5IqDoQQwLAFg25brLKk2oUCrsbxBGzHjtGtdFkxzCVICNE3csmnMfDhRCRuc
1xvk4LAvItINzP+3NS4RUFkiJ1ZsRlZcmxypbRUVVTJbI/smFSFBBve3dQKH
HpZ+VuEXQGXAc9F8ADgKgJOOOKoIA5A1H2I4TWUlULnFlK0r1A2IFERPQQjA
432b56ha5ZWyQpJ7Vb7K0/ySaM9qw7Aa4JSzIpniOb0CsYXA5ijmlqiYXcYl
CyhQbHSOESpix3l2jSCAYUdTniCECX1mvQwsM4OmWWn63707f9sf8L/m5Sv6
+83pv707e3N6gn+ff3P47bf2j548cf7Nq3ffnri/3JvHr7777vTlCb8M35rg
q17/u8M/9RkR/Vev3569enn4bZ+PuH8ygdkJhdjTQwK7Jwhhqjk6fv2//uf4
kXCsyXj8DFgYf3g6fvIIPtyQooKz5RkQ343qLZtetFrFQCHIn9IURNQqAdmO
RwvoFVCdGSQ/wOav3yNmfjgwv53OVuNHX8kXuODgS8VZ8CXhrPlN42VGYstX
LdNYbAbf1zAdwnv4p+Cz4t378re/S9FYGI6f/u6rXq/3QphegWYcqIWFFSG6
Q55a1Zfz0MeDRQeaztQiJvUpoqNCNAq/lfYAWV6E5Aq7DTQ7i1cVEOgpaAAb
PWQDOCogyipU0mH36EAmdIRBJytYh7fKdRV/rNZwguo8okAZBGwOhlW+OjC0
i1PkbVkJJ7ZQhbBar1IrmRd5muY3ePyqqyImRrjKM+RPYKj+mpSFQ3gCZCBM
4tQu+eklsp+XpD7IN+dsruiXva4BgC7nKFkFYfg1MF9Y1AqhRfFJGjPJJITO
m4l1BHgdpCojQ5gjaW4D9ISQfoSvMcMC5oXsNkmB5UXXeTLn9bJI5okMWlep
FTAsB/DgMAjwmA8BSF3A1fu2hZU/7HwR6fdDzz7YHTE2vHFwl6265jFVOyeS
F8AgpMJaqTPdZvmQ5onnLBdkCYgGAdCHGeDCX4as7Vlwwg0jiDIfFgBhDhiB
oddoQU9BLUXtz0FBU1+Chpn5M4fD4uRiyNbnB4JDyvVUrDJu0KK5XEfoC4tj
MXNjOkKzHDToGQpdpHHSaBCRIr147+FHu5rS32cRJ8YczucJ2wOsQLXB1E7D
6ljxt1S0PZxqGc/AuE7KJSKxDg2rICS/YRbWiAPRbsmaWUFMa4OB4o+wHYLl
F2uAefg3OAUIUECjgPHF37IM0fzFF3xY146UzKcvMvg4XBfJZ1IZrFq/yNe0
KkByRQoKTH8dpSj1M9YE8PBYVeABDvPADisnE4nS9MEOxRH6gGM2jeQh+BP5
aszI6/twieREaJDwGzypdR8G/rp5gJD8BmA3VWrq8mJ+jIvc7OyB3Qgve7jW
QUlJDDBGeBfVFDWacg075m9SpRY5vjq3GglgCgwboARgarwZrWwDdNbM+4XO
4SbwP/Km3MApZLWIuUTIGRvumLq5otgl3h/NkhRgFHfTJVqmWSQ+E3GHRWJT
O8aIGl87T0QiY6ethdhCyedazj6uTs4J0kBBmnrTBomy9mMH6D07fHkIW/cm
vgSrK0X2Ds+zNguiFPSnNUqW2hgD3jP2ikSIDfYmwGNkUs9A6KO7kWWwHFM2
vK3COnDDlaTEhRTTurUH9rgM4F9BnXiQRreISBXgZBzmaewxFNVCAmbiBiFK
oUNkJUld8mTE55k6RiagvWW0gZfBAF+u0ypBZcEO07q+gQF0WyHQvRTSUKex
b7kRnVqmbF9FCw6E8w3ts+k/ADgfmHNrILaD0Xc0mjj/4cJqepfiC2Gm3rGS
EtnqdvPZ6YDVJnBahh1iHySMWqPkGHEqSRcYvkVHLB/pb1Z/VbUCADpfxoEr
EgkTZAac2wSlI+qKxbUgw3P1qfK4WJMnAIgKEH8KvMoDi7e+DNkM+n4K1qLY
u4r2BBh4aAQDPLirYMWZIik/0OkCBkiuGKtakBmoCjDQKYC0TKrK2eYcqxDP
yK16DGzZzElqT4MHxL+io0wubgwAFqz3RRXx1mBFoHLL9sWMPpFv0TLPLkv6
sfkCo2YQMipr/pJyCfiZ5YQrFImIKpmGbFcif+Y3jq2gDY9Wdbkpq3jpxhOK
YIORvIKoJjtHXasjBR3ZhMPXRXKNILwrQ0YAatUl8CVLIoL/92BSR3D8HVyA
9zl/5wh917leVutihcEDMevE9UECr13imTc4M8i9c6ReX9AJXmid6KW1jqu4
JN50Q6Ec0EvjFPh/xQzSoRXxUDcXQH1AQl+idGaNLilAGkyHwbwoUSJHMs76
EGJoP6x4QPHM1IdjzXiRFGWFbsFY/lQ8R2XC+4NOIATL80tLpIEOgIOic3oW
a1moLZBj0rr55hRvKnMlf2ADgt18ShAVFDqaxxWcJnmIY9PdXIqg9qYkL5tj
7qOaSuNtPRGdWD+xCmA4x2vyVHfMVpMaJBVBintSwxDv8kzDDsvTyiqGw5Fs
YHiJ3QPoaO5szSgAAWp3yefD6vZB3COB3pRNvGusN3crvGsJZU1uBrCRUZJL
3AndnsmCQmEVjaz8rEn7rIisMCiNmjOreQQPK/z+DjHe4BFV6G6Bh2Ii5Ypk
mTCX4xSGJq2N4h5DDk2YNyAzaK5AC7ShEbDTyB9SmsBHxu79R4/3J58/j+Bp
IV43hlN9Q8B2rDaYuUnUcHjN6ilwuMTToiIbpV2Bqp985JPHE6KvwEKINr0V
NkSl8gKeGc8hwy7AJmnDWz6sTbHcdphCVZQ0fOQ4naeA5Cy9rIasRIJq57FB
0fIa+dm7ACqF8MyiyJfm+OzkjYceHOUm95zUcECQAsejW1hNQ+cNZQbZZQWa
1Oy7W5Zxeo3aiJ121D0+ihXYCKJJ4v37EzMVBpzG2WV1hVIZCWiuPhH/VKlX
5DZ0cPzeBUBg+Bt0+1u+j6ACEcnjqvyTg71MfgQ2xXRBXJPCxPjbhE069mH5
TA1+Y8DNS1oJa2UwyHMz+fNL9nOkcYQCCRkXBpAw14hXrc7BbvJR8BDiPeb0
8cdo6XkWJcx7G0oQ6gXYz7Wd3DkcmKOBOealncgRFFcl+iV/Mq/8g/wTqxJm
Zx7Pdt2nq/jjrrEfv2Vk7BzB+uCh3k8HQ/zPyH/ycXjQ8ok+HvzE05pD+4p5
9uTR00dPzWiEfz178iV8tffx9HRvbw+/oz+fvIAvnzBW5TUZ5ygY59mTxzrO
s7GO89SN8xTHedQ2znE4zrOJHWdfx3nmxqHBxziOqY1zUhvnkX17gn/5U8M7
nw7MF1U0HUZJMdSNj1KgpOf9NF5UfUN5gM/73ZqfiExi0ac8Qv9zr/e9yPbS
9waQjt1uXZubK1Q7MZwVUPLkS4YYzHZgnLot0zjN2WoJRMEh5n1QQgS6AO89
1dPGVE87pzpyHqT7zLE/5jmQw+medsxwjIYPfVHyFyfsCmhY2YELjRxDlDAT
OQ4CUw6Fi+yJKo9KQsM2MJ+atgHs5aHlJLXEDD8kz6yIfAPBMpxJ2OHruhE3
llMQrFtKnjhkZ1S1MTvoSNhVN2ub+8pcJxEPRy4HTNwMfnfeBUn0WMZRVjrZ
b330ZOxiJk+B8XFxOkbiY75dmQbA1kteMPlffDvNNxs50yuHI7NxuvDdcKuG
F8MsK+tRRJ8Ue9DQFiGRJIkP8XxQM/sLa2exjkFzkoCPbLZE4IUhv1lK6UOq
C69vSQxmzynuDmudNL5sc4PomGanG89C6vTUq7vXehR+URePLqYBIpzEs4zO
OqYIacQ/MzZ3T1ZvbXzPaeOi550nFhWoNHauHBLKTETWgx8QkUve8XexHfQ7
XHBNHtBOdb4vjpwhmJKS3mWyk5O+7AZOIgoIn5soA/QmnAiFySnrgpVCctyH
dkXJRLvVsWEyE/9Iyb42yZdkIMM8V6IuysmJQo8RhsD462G7/wrZ+Q1HCAJc
fAr8XchWQ0+uH92ieBJ7f0GClH7qiMCGGwA2aN03DopxIzKZNb3V8JRIkYA3
KUOlPLCGmCGy9OLlfpySTIiWwUTqT8lu9pxjLqwdGDB7OPLkz/uT4dimwHjZ
AowSfxbLEPDU+ZY/zuifOIQYQ8aIuMWaEh4ty33vB4jQLykhtV2RlbeE53Bb
MT4H2/kqszpzNL8GYU95L56DV4JLJppiuGbDDqcyAR5RArfgU85UUHF4xg8j
StjVETyRyHplg47kR5GHOMYFp+sFOYpFrdNkHNjDWZyQHxkHQ5+aN5HyMjSl
1FUZaURfk10wZ0GdK2JA2cnzzPl0HB3zG6ghSCaXQgNQfgPQwteU+uZhQROT
eGUZ+alpQMv+ZmhKAIj0IlFmoXoGxyTpcT5xfXQc8hdu+D4KU6UMcZ9bAhlw
Ij2PK07yJnTNPC6XcHIL4fTNzot/e/ly156DRkJKRwTbp34bUSXe1iox3SPM
KWyElxJdWkPrtfWw8GNWSblYJLIQeCXojnSyJl6QDjiLuHQJ8aG7Qw8L2+mc
00z067xwLrUHgWB15qZAHRO9rGB23hVb3h2YeHQ5GpiLnWdPnoA9MRjv7e1e
6HJoaWyJE9xteqYZoxVS4zHEUFp3gadhodAmVMR7roKFtIyGyqbSqUuadkW9
bhfxDd2onl2i1sJ/Q1brZwr12m0IjTR5zoNWjo2h0JQTdPwg7V0MuaG0Z5Zo
1H1pp+jM9vCeCXIOOACKueH0ey2pxp0lcoaC3pDM4XSco/PQMnlNuuOUrSUG
U+ase0gxB0acASdl8y11KJLbS3mYjwrZjW9hUSnBbd8HMYRLTWnzOBukfXes
AuTvCUtcQMfHF/rfrp+rHGQJkccJ56LTMQDJ7UItOWvJ1obwHOCiJvxC2+dD
j+4zXgDxzlK0k1AcMcRSgMBsjUBBy8YT0l5SS2T6DUT3ZQc6onCoDaz4pyGQ
fucmeMlF1kYPQ12EmiIOQ759b9r+oKawajrpBGxxcuT9w3jtnpurUyqXzqUe
cJEE03iTcwkDq4gdJQyYrtD6E62NBCJaWgPf9pBTIeEmLvJgwXJFZq0N+AZG
CQsKqzuFi2EnuJGCNn5U6q8aLv7FOpvZGFnpim/siBLdAC4fzWDss9fXj5zn
urln6D8ZPxs/pT07imeRraqBNafRjOLuLl+AnVo1c5GFrZbzsH/aMgZNuiZy
k7MwZfe3ertbtwAO6bqs2H9RrpOKgtQ2cYWE8SqNOMcI6xaRKzoYMi55QEiI
z4UIr0d1Z0VelhYcp1G2AyZSNExMhINXS0wkA6s1K7JuDYk/vkMFsnzEVf5k
ohkgBdvfVTsh2Z2Igamp8ko2uh2kVpc25aKZt9ZI2AT7gLV1YrY6XhmCFejd
lLL8VjKNT71KUaUNttnqhW6+P4rpc//ZU/LvaWTGJcjZ/GXWSrSSouaOjOSH
oRULiF4+cM13AHcH5gKguhjYeFbb+6XwRwcBO0djPCozjWpSCYeXgFrG8G4Y
fH5wMbp4YICwMWQak6+ncj6vsPzz/eFqhZbIR3MIagka4MNyA+fw4y4DK2xD
Es1SyWi1WdsHvd7f//73Hizu4P1v23xQX41++K2nf301+m1I1V/R+2iyfMCi
F80lryeSSykKu2Q53iKZONEKNvdAI3QYOSKquNi7cBjwglbsufXcBQ/gyQeS
S5rMOdR3dktqLTypYsdLYrloX/wF4ZD3ow7C/WZqy+iFB1hNAHkyikeMHBH5
kXnfkPWwwYFK5S/A4gqg/RVCe/gnr0qorACtaq/NwdwFwrt4NHn26NnjJ5Nn
XyJhayYZ5QwgsTA5E1ZdTRXGi9X6keG6Sgc8N4MQIWcAB0R7pESrNhUq1MAl
3mmRnx3DFqb1ei9UasZRkQJ7rMw82hA89RQ0e6TqJaacHeO8ljanKsh7FB5I
tUcxcj5PvLHiJjzj7M3bF1TdGta7hnV+XmqycmEtviq6xpcsgr4WqPZrxqn/
m0d7fa6mHzFMVNgXcUUeFYQQZyKbllVOL6eYXZL1neTSwAh3sigSVsCwLNHz
dloM1BbNbgNsnsG1nsHPI/4u8hLlnV6VsQvVumHRG6Op3fX9xFMjBubbzSr2
3cTsjPKEaUWBMK82jS2FJVaLhn4PQQMtX3a6WaOH3ipSKdzXalWoAzaY/L41
jiyhlfsw70RpwS0V2EBNSh+oBuxU8UU1nYfO3+IKuWkPABwlFt/kyLhICb5l
S8O8c6mix1QbgUUxnGQuDzKs9iCpzl3lGJ5gUuWUbiFxsUKtM02TEbzsZLWq
uERD6d1PYw7daC7bcItCBmVk6jZWydIBHnLWMIlZ1t3MJEtgod/Abl2T4iGq
DT3pGwhonvKM5OcJndpWgWqHZsQVZ8I9B6SmHIhvZ4z/u2h+NxE9pv79/oXE
eTBXROe3TjE+T6Q2qNLejh9vEwgJtKjQrzWCbbC+aTiLhJJZvk6xN0dtJipW
IBWzEwN+GYoyw17v06dzOX77ownOZUuzjV/4O+PqOSUCKTtRGhso+yg5uiaU
Z9PgscQuFocYNsLQh2tcWv1oOjwseMQZCRJsqFdTeKDIgaxptrc7pUwjkiyq
BYj9eZUdZID+C7PjUPRoNBl9ORqPxgGidh2d7I1AISPdICBNYh01nPGO0C90
2s5O/M3gmWob4pWT1/YkMn0ZpO+wbg8FCzRtKgOIirTEqN2R3ElC6pzAMVBb
IT8Dc0c3v2b830346DYGFWurMirYKuJ3A+t5QiBsFWWxxO8ODkdHo2PNJlPW
jU+cswohQLJPfaMgasqAEMxWgFuH88XO4eAIDittZ6iM4oEF+r0i1WkLRdXW
t7bKm4HUpXa5uUT4qDMiagLDWR5IGkjynu3ZcLINXImVFVWhW+UBOlupVhw9
DA9akjIcfln+tgEUeeTmtDz5wlf2fO9sJLIdDhfYQdKownk24VifIi1RKhGc
fM34pVCTBNB4BrAVYeO5LMHBJjLqPoBN0VwoQeub8+apj7nXaxKEcYXX3CmI
FZDE5+FoJwf6rRX22C5N0nLyxULp3198IOjacB7O79FbTVkEVrSm5B32JgAP
mgAPKvVbwQqOyDEXBdUD0eq9LQQ2FTrlLGB/uBsScaQ8kOBgUqWM+Hl+g8pU
HC0DlzCdPd+3607fkew075k4RZ1yQSclq3tct9KHdE9unHxq8U/qFm1b0CEp
tMiZMTmdyFaL18Q6FicOpf/jgWbj0wOjnOUrOzFsV7dTrkUEtpzbFsz+wyeX
fYcdnkJDTo7QXWrTrkT/4cIbJV6sQ7khtn+rb1RPa9AxBAPHyeWa63mo3Ktc
FzaDJ6H4v5SASUSInXe5elzkBSmHduNJ6ngbYf5DXCCg5SiTusu2FbP9Qyew
4ZNW929pAbep0A0u0kYB/1w+MnCgy+obC7/L48xs4fsY1L0PGbpra75nTVSZ
UTcTSgpfsLx94hR60aauvVLc0HTnzm4Ybp7nKzXmp3V1AR398TC6LNCBIse+
WSWdq1ZGCYEguIoopCbSsFerlHIDiXNaQMV7hJ02kykXAmky4zRuuptvutDS
2uNGa+KaWSO250Ymi9AeYv7v/ov6HKH5JsHeKDkgKlvT2WM4Y47okis+XL+o
dn51JvZ9Y+vABS1rzn/0mdyVUNdNJ5Yq7lfh6mGY1lobtSvqvwUcjdB/o7eD
sHULLhxv6sZDaUxeGh6A2TaJB7rSl4QE0jJvqWwt/YoCMn/qLkaOozMT4TpX
LEsMT60apRgUCg/0UI2mUkKzNnhTO2R1Ul644KnLW/P7/bBfuh0O3+PRjAB2
mc2wtJfteQhhjkF7CXk3JJGv8Xj142wkf+EiRW2+4IYJGxqWNrBlNQDPT9Z0
9BENkhSjBUkjUOof1RH0UVSGPkFNwyVAj49evdFg+LNHz7CY7C1qf7EIYYFR
ewN5fkMtR+PNpHFsg1V2SuuHFdh0WMdFuSsiidnJxnEf38Vr3S6uUxq1TVDv
QuCgP4aTOJvmxVAfRgf991dJKlE3qbUk/9UAWXWeoWd7cEtYwGmlWqWKvI8y
BJ1PzcG20LYD1E8gEN9u8yd24zk26LUWg+M6g+ntArxmByxsKfkMY1bY/w07
dR6mZFchoaKp5Z+IR0Bi+zITb6aWXyqz9DvgErHC8aKd86YoG06ySJ6JLqWN
CLy9P2FmomoJPaGHodf7WtrBIfi6/9y/I/YPjHX+g+xNPqBHhOWmVy8m9gpA
vwEFg5R0P/EH3oS/UsqFct39WrsWel1OpTa/s7UwRhOWeUWM0/odbNskbV2n
ePJUkiJaJXPPhzFooN0uWxs2lULwK6pux74k6DeFZUUcqOFd9txRPt5uDeh6
yfpSIirxTw7CDjwFgkfrDPfOY+7UWvwGDyDutTADSo2A50EyJBx10/FEMap5
BrG+vCiiTdDJlVTOJl2EPQmp1+ptjM6zJ1XoNLBDVEoAUEAu4VSsGxBVk11W
obDzzs7+ronZBiqlulo+2oxlGkKnUYbqlxvRTB1tT8KGz16WiAYtb/KhTsjG
J0Blv3HMh7MctSiYEuml9XMtCurUwPBl240m4Konlqt6YU9KawS4TgUKVp2G
2obTycFPXxD4hJLPNivVX1J9A/3T4aSrROOpFrMV++r1Dnp6b+dDsIkSIKIQ
XR3DK2MgsyvQKWQjyRNpIbDFoeYxlSw2M2eCfl2Zl25ADZEjyTTAkalG1QSl
cFKaKxEYVQrqYfu2fgFOX5HRqQvmloO3Z7/dOoufRu/jEPDbDAFxlZ5kSOMT
YZIxBy1u1P3gHbULLAh8+vjpHv33+NGFBEG56zGFHv1zRJt68b720sDsfdwb
/3DRnEH4nCqrYxDhsG+VSECY/OlkfARjBMPtjS+ENLYieJvYSAq8dtM12k2X
6x5cj/HaazWNWKMkNb3YfG/b23t9GZpyyXrWYfsxUy3ISCYvW5COz125sKum
Vs1Ju3vudv+9ehHq1TX1CqwtHXS3wKuHWeZuPBTC7ZpXzcg4JYPNviLi3xot
6gpT4bVhJfy22LDN2A/aF7KlWlc2rUZv88aR0W/DYlki1JlsICd+OTbbxQYG
2zLRRqM6hjYpbn+twXMD/fpuzsJnmvmB8tsQR1YVuHjvuM6A+EE736lxhWcN
prA/PlSmMH4aMITtNsdT2CNu3ON04fYkJtKVJHkUk+j8rkp+VedIYmKekWbx
p6ka2zvMhSs1D8+dBOUnRtS7Ep75WaEOKJ+Z2unIieU2V7ClujntUoiwgXQX
b62Sq3u9wdQo8xYT5yRWEwc3lYdnbdtz0nVsbuk3iZaYMjEVZyovp8nlGrj+
KMhZoZnpIWlYhI4lUSXat9GpFZTN5TDL+uKK8cEGQbE0FwDiX+JkfuHVBIRW
vZTtEsewJ5heha/bXmVw555aQLmcCyNTjdI429k1z5+b/d6nnjEyzMjS2F+8
JNeD5/ra+70ffuM9jXz3L9K/xXtoHDwkbquW5ybw3OdenKIx1wLZ5J6Qma++
AlVqC/jg0f8CNgflV+5uB+qYQEUcfjoQ7z0ieBi0n/C+xxuTnvdXZbye5/hF
33wOqPk7bNtAhBy2k9RuzPVzp9bR3SxMwukDO9VSprJHH+xc9Py4bB0lFkon
8fqk860AI3PSYsBoqSOmWgTJXchbJLUA2DT6r4DN4LtkZ8rcCA684cC3OeL3
lzMtpi5OnLTi0RfD3Vqk+vPbTT99t0XYGHZ/ae0qWR4U8KEAGkHE1v9wGqFO
CJs4+8CdgAhp4oyQIm/L07RBCKJMXkQltUjKXON7La/b/RmayEsSUialWG2i
lFyrWvl3LO6eyOt0X/PXeBVCBNeMDefg7ofQs+bX0NlgDlBccB+ReCnUjejs
pWiZr1murSvW0ltTpZzr03mcbXKpzb1zWmZBTepR5agwugKbl1tnlzbD9Xk7
N1MTiZXrDSRd7i8uBGHAjn0Tw6FUfc/SrEJTmigNOfDBhm39VzYgcasR4xev
yUyXOa4D31K5QVtZ6kU1Nb+wD2Si9a5eTjMuS7rHSzz0mzhCoel0Z4qGPp48
3sNoaBBShAEne+Nxe05NUAiMdg+H/4N2J7V2L37fD+64j2TE77kKRa8DD+lf
2xiOmJdunSzcKAojRE3kp3GL+egnroempGc1Ys6ZbSEh39M1L2mCB6BWU0W6
2MpqNK57tJUJmdGXZ7GnPIYJ10KI3n1jCCzHdynTJhvOG9WBQTsZqp/ZUk5J
BNNr0R2SP+ppkkruY3RkThUvZb6obiR3XSwGvfaptv+seVHs1Faw0y+2GZ5k
QYhNueVat1spen/btV4yQOuq73p1WUTzABrm6hjG5dQtduXrzWA23wjvUdJ2
DZayuvpDWzXSboi9dAxdyf773ZJQ8v8QxUdJxoq57yxf4k1eVTNzs59SAzt+
pS8mMSm31K1G5pRKROtG7SiDoDBZmae2RwS10HM64lW+Gk43Q/iHstQqTtai
vlZ4u5SGjYGP0TMCVc2DT2W6tpUgRz1snvAi0valNjKwgl1KN9TxW6LIIloo
ggKm2MYWR2JU2XCPZP7bV8EIaYXtM6R5Ta5cFCtfqdE777t4F1wIiZsCZHMV
sy5KvsyvNYsh1mAnwus6CRAm7VQovy9j7dnZvZsaMKRqXBVW9ViQeFlKzx1C
dRpBek1BqjHrc4SzWl90eCDl/A7MihQ4BwFCvObqsn3w+MNCmn4KdhutBJNM
s4NsWx/njODOYLbdUbMFeWv3aiAY18UESOfDMI02Dipph09XGUiovuHA6+qO
MU/kQgqKgDTHxpR6ve0Fx3SqWNAQgpJW2i/m8lfCN/2ISDV/xbrbTH/RHtyu
aEczGVml1PSnpk7pRbaD29D0jUAPk+Lou5yvtFOzGemKui5qcFXe2hStXZd0
15S6a9CI+72JQazK6aOqSoS0rPDyRkqKsPogcXub09HSScQyj0alur3LwYg+
VCVLlxoZ9OERJU49o/QDxQbDXKicYvwWFuxqhe2YvZmFCdcT29Qm/GNcON1N
jUHqobb2Q1s6CiD6AzXNY3OIP1dRcRlbe4TZ+QPkHskSbxWa4kNBDgqMdkui
nc2zGwS97OvdwnnbvouQ2eLllNaXk+AFq+3fs8DBrCzkPaiBuQ4MeoumqKFL
OwAgynWJ72j9H56s5i0ipV8D4MZuuX2GyhOUR2n6CrMGL5kyb9aq2OK2ebQE
o9XuGZbzXWPPaKmtkiGoB16YBUFt0fGuPpQdiwj9OZLgGCRJ20zeKRbsoaXk
+KxHslEV9BST9PXSoxHyp1HGFV2CaXa4WG4es8DB/PdGjEBiGC3juoxeltDX
Md0NTArCGt7BYIUebjIf8MOU05GDU5XYVNabaCOVLmATYB4X6xy+71KpRi7c
QhEiug5ZBk2DC9QzpCbEuKF8gMxySaDqMnEKAOpqsMA5JxfGRZEzV5u2AONV
cNACO/LJEdeulqNZw4GvvvfehSe81iK7vsXDsc2I72nQKrbK019sjnNwJSlW
urucgc3KrwC2PSIlzRpzOaJL7pFMvT1IfeTc4MRrQbZxZcxeubRlHO03X2B6
PrZAJc0ynZfKhrEIH/VAcUdFUzqDlKDnWAKTn2tCwXoxHwF1gXnBM3WH8N3N
MB3doosZlM0Si2BT4MthnMzL5s74z3tb5L3B930JDry2hph1CrKE8ArYxcpx
WbZ0paEla8ML1LCpj7dT11yZjsWlbbFNOf1Bvl3F2TGUxyQCTnJcbIMfPtJ6
4QcWo6R5KQlIZRsEeiZIx0L1Nch507Z3mI0IWzaiDsGexeFq1utsVs1OOFho
RAHSo3QDWsBvpPtm/Xvpp50CMshLMEfNmjo6cd2GcCIuPrqON9KxAkWdfAWC
E1RX0fO0lYk4TCRPCziLL+WNBjphc1CEIThVBSxBfHql2iIb/2QJ82GnJWMm
+bGd7SyTslmwzCl0dAqu1suIVKiClEHKSA4VQfOJMnsl3dU52kQzRD2gipKU
qDPGTpOAeu4GK9pdkFd2k/utOpO4dAoTGTouGGs9LV7XWhpX1AiYi/fZeubi
8K5v/IJzml2eJwW/32UJnY432jPFy+LYAczsikfQL0qn8fwrZTqAASVbmERz
kWAYUaBffHTh8hK1YO8No+2Z4yEKCOqefW1lm9v72n7uWC2XK1I3Bq/9KrEF
rPzf9romm6Xipa3THUIbpye6JqwS0Yux40WQB22bV6GqSc3hub34T3g7mBv5
NY9sG78f2Cbv1AGdOqRP/jx+PMQG6afoSq1ggOskvhlgtmRX4+yS2SUOgW/z
KPt7zVHkkX2ZaH/sHlGfLYoEeWosT03oqTdiwg/MC241Ca+h3wR738PzXz2n
R70HvQbtKExad3cIuG1t2d7YPlZ/k84baJo7CGSNvdw5YTDj5rzhhrrEqTK4
nOe+152MjFee7agFPzVuIXFWngsP919Gy7hPB7X/WlPdj/k2uL6Bh0GtUKeh
u4WR+htEfr+Kea15OTrA6aI+buckpx55nM378XqMlmYobJzYNh4yW6OO77os
uf4bZXYCneonHht4mWvIAn/4j3//73fS73/8+/8wKZyaNUfKWk9O40wGV7hi
H3GvAlB/muv9UmTFBK3Vwgzd9vt/6l6/rgtmgBlegfijlkOmlWdljJPE3WCy
DduxfnhQX+CASjCvVnBDqisxHqSlW2+j6LiMwthNhb/rVKgMC/7jvw5u/QfA
2DZzBbke3vGwJ3+9DUJZPxEiez/p5QyWrfq3Xjx99mi/eevFixd4W8VYUik7
Br6bQQG6y+04VJf3yN+2vugy/WA9/eB+H020TrKge6yC7rLbSx5ipsW/X5iv
18mcQjo4xon0sMdAPgkBUOxO1lY/Ec+MnNywYIT0WBzjFk7IKeC3skrs3MU5
RZJAQVcCSv5KmE1FvZNB9UrRBVQoR7KVudGHuPSG67g/J+cM7ESKWL3xOrwt
YS3xDMGjxoHo1YUppXL09svPtOqrVjPr2kdipSKFqbXvJHnUMDJGwJnyJiJJ
sTBXyeVVuvGWYKsBKhtczTigLC5sHZswJXoiKPiDls3nkoKqAFOVmwDkSyCn
OXOmBai/aRIVeMVPZa8tctHKkDyogjZMpi6dHsR1S+2K4JbdfFUjrPWcb2Wq
EqQguXRLB/3OujVbDcQ3gejx+PmXDQi//kVVyjA8uaWCKdqlqJaeYqayo7Mp
DL0i6t/4Eal/vstAFM1HVj+cdCmaoepIEzdbgJRN/1GoUZ5xJ4maQukTx/Z6
5HYU2FQjD8t2mU6at0eD3o0N1HYjNLXs1ZKULOnqs/+hAlg9Lc0eor+M5XSv
ouD/gwZVSO+mleI7akuBAruKbeUwjEbjyZOWczCePB2NJl/itVvnFYa3MT3h
kLkLAfJxb6xKyRPWSepD7H18avWWF/zIeZAK80a9bzULb9J6MlssMbrjjK22
2LPa/NNUI57tD9Q9KLV5qu6j2P6RRP9PKNo0ZzbUWn0iGPI/yvre/uy99/Nw
BnUlssda56lVOk9fmKauWn/pNrRvr27eiffpk//LlM+wGp+soMpqIFycL4kd
bZ0h6kX5g9odxDZtMLqOkpSDoxlZpuvSKr3I5QoJvaIChL2egQ3JnWPu4kPU
05ZR8UEw4h8xShiSXhjkqse7RbgQiBLOMO5uIQhT2qQ6EJ/FOnF0OdAaFlTg
4y6UlcwMdO37DThIgdNsIrJEvQYV/hXMmBowtF0fGpehOL8i8BRKEQsPxnRd
gHbL3SfEd2xfzzpcKQAsHjoMKaEz1+ZvSJ9NLHM9Z5/xJ7/zsFCkVwbbVjta
v2XMeYIPj16+kHr5Lyf7jzCJUIpp2euJRbJewhH6dvANmQq7CjO1nn199taP
KnPtkL953P3YRNNsgS2QUU0xz6nh5UEfoR1idusQN6TXCz7CU1jmaPqjvglP
e69HP8Aov+qbh8bZnzxK+Bkee99moeK4PxhPF/Jf9B57bi+GsM95L+HP8m0I
o/eD/aK/h+C2DBd8AQ/u/OeP++Ph/jPza0LwLtifhOjnBn7Ygx/unUCP6Ec2
1k5hb8KKHNt9+FPYN/hzLcHEpiuTm0zTfmx0h301SdHRpkBanVpnXkPB7PWO
/Qp5myngpTzXOnZMMHoc3Nfysyv1qJBHM7RwXRXyF8xPcl2gm4VMtkusTXIK
rj7VNuDj0YRbelsERO2ZkvdHwf4dKHDqu72dJlgjGCe/wAI1C360b9eJs/hm
E8/bbUnV2nEGbdT3Rnt23MPmxSj3x9qT5hUn/7TN/9XoiQBfP4tB8wk4fEFP
ELrZIEh9arapti0/XCsCKfaTcrKjJMOEoFfTv2KgvHbsd3D+3aCLyuAuOaID
n0RVhCdY89y/VX/0zvHJybd20MfjRr66yIfZfJ72YrBVn5v/hP+MxB8Nfw9t
o4FeL/iIrL1nDJDLEFd6YNbYTRa+OT9/fYD5I70fer3fgIo5Uhm6sEmM+pIt
EXFGlFbgwnu9HgHzsD7RxM5Cumi5mgBjlz/3YVb7Lb+I4kqgM+Y3oH3MUEGi
meHXUHDwc26MfRkj0utQg+fMCNiFbTL/GMHypFPnMx1T3leq4KahVMGYxQGd
8Atv9gsv0ZIMd20jLckIbSeI82GBWYXXn3XeXeNzOtvybdKsNJJwsq0CQUft
6M4j6AnCoJPEdoIw8P3Z1BdbJ31P0WcrjMZYWMS20Z39f6gQzTXnrXG98T9X
XC5QJ+bC4rCYHSAPyzy36jLQzVWfTuRm6y9g67Xs3Ha/st184IG9CT/mnWSz
c/b6pZeisYvPPZXnJppfbbHZBV6PIdgbm+ACUP/rEPtyp0cgYpKPW+Jru8qQ
fynG9vm5/XtjbA/eah6An4fOn6FPNSr36Hj9S87XXboYthaokFv9Sw9R478t
aaTlve2OWduE96Wi8ZEJy0+JRG5pouMoqWX6O09qtfWm/GIn9Wdvx7Zn13vh
3od4fGjRD6+3SesWfHec7Dv2QUwJbdxvryLwv/RKnKmnvqSSegpxqMXeRBvE
93bSy07TbFfw/5Ac22vfnr1/RI4p5lpR9/+NSLsnZkFHPZyh4zaN55dU6gUq
OivY8fx5n6oE+o1Mz5O3L7//WtycySriPs1ZVSTTNUWz4tlVxuXkIIyKBJtJ
oreXygDkUjOwNegJ92zBIUobjmrUmh6AGp1XlTlaF2mcXF7ptgNyv37z6t3r
gfmvmHjOTw3MEUycmfNklds8/T/kV1lpvslXH7DM+B23Mce82EPuW2xeX23K
ZFaCgQkKOaJ1M4CXMB3gcAl7kONA3/7h+I+4ZzMM2sPDvKA3WKRV4bjkezr0
7kOSDCeysNCfXF6x3zvKPtirRzTf4/j85Nycn50PAcV4M/IHRPdlka9XmG3A
mQk3V7mr3AG8LtYWeVzZtKSYAFjieb0GnXu7lFLQqFVaEtqRUBS2J+SEdmxZ
iFdOUs1jrj3D/zd8TGAYyq0AAA==

-->

</rfc>
