<?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.21 (Ruby 3.3.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-ace-oscore-gm-admin-13" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.25.0 -->
  <front>
    <title abbrev="Admin Interface for the OSCORE GM">Admin Interface for the OSCORE Group Manager</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-ace-oscore-gm-admin-13"/>
    <author initials="M." surname="Tiloca" fullname="Marco Tiloca">
      <organization>RISE AB</organization>
      <address>
        <postal>
          <street>Isafjordsgatan 22</street>
          <city>Kista</city>
          <code>16440 Stockholm</code>
          <country>Sweden</country>
        </postal>
        <email>marco.tiloca@ri.se</email>
      </address>
    </author>
    <author initials="R." surname="Höglund" fullname="Rikard Höglund">
      <organization>RISE AB</organization>
      <address>
        <postal>
          <street>Isafjordsgatan 22</street>
          <city>Kista</city>
          <code>16440 Stockholm</code>
          <country>Sweden</country>
        </postal>
        <email>rikard.hoglund@ri.se</email>
      </address>
    </author>
    <author initials="P." surname="van der Stok" fullname="Peter van der Stok">
      <organization/>
      <address>
        <email>stokcons@kpnmail.nl</email>
      </address>
    </author>
    <author initials="F." surname="Palombini" fullname="Francesca Palombini">
      <organization>Ericsson AB</organization>
      <address>
        <postal>
          <street>Torshamnsgatan 23</street>
          <city>Kista</city>
          <code>16440 Stockholm</code>
          <country>Sweden</country>
        </postal>
        <email>francesca.palombini@ericsson.com</email>
      </address>
    </author>
    <date year="2025" month="January" day="08"/>
    <area>Security</area>
    <workgroup>ACE Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 97?>

<t>Group communication for CoAP can be secured using Group Object Security for Constrained RESTful Environments (Group OSCORE). A Group Manager is responsible for handling the joining of new group members, as well as managing and distributing the group keying material. This document defines a RESTful admin interface at the Group Manager that allows an Administrator entity to create and delete OSCORE groups, as well as to retrieve and update their configuration. The ACE framework for Authentication and Authorization is used to enforce authentication and authorization of the Administrator at the Group Manager. Protocol-specific transport profiles of ACE are used to achieve communication security, proof-of-possession, and server authentication.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    Authentication and Authorization for Constrained Environments Working Group mailing list (ace@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/ace/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/ace-wg/ace-oscore-gm-admin"/>.</t>
    </note>
  </front>
  <middle>
    <?line 101?>

<section anchor="intro">
      <name>Introduction</name>
      <t>The Constrained Application Protocol (CoAP) <xref target="RFC7252"/> can also be used for group communication <xref target="I-D.ietf-core-groupcomm-bis"/>, where messages are exchanged between members of a group, e.g., over IP multicast. Applications relying on CoAP can achieve end-to-end security at the application layer by using Object Security for Constrained RESTful Environments (OSCORE) <xref target="RFC8613"/>, and especially Group OSCORE <xref target="I-D.ietf-core-oscore-groupcomm"/> in group communication scenarios.</t>
      <t>When group communication for CoAP is protected with Group OSCORE, nodes are required to join the correct OSCORE group explicitly. To this end, a joining node interacts with a Group Manager (GM) entity responsible for that group, and retrieves the required keying material to securely communicate with other group members using Group OSCORE.</t>
      <t>The method in <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> specifies how nodes can join an OSCORE group through the respective Group Manager. That method builds on the ACE framework for Authentication and Authorization <xref target="RFC9200"/>, ensuring a secure joining process as well as authentication and authorization of joining nodes (clients) at the Group Manager (resource server).</t>
      <t>In some deployments, the application running on the Group Manager may know when a new OSCORE group has to be created, as well as how it should be configured and later on updated or deleted, e.g., based on the current application state or pre-installed policies. In this case, the Group Manager application can create and configure OSCORE groups when needed, by using a local application interface. However, this requires the Group Manager to be application-specific, which in turn may lead to error-prone deployments and is poorly flexible.</t>
      <t>In other deployments, a separate Administrator entity, such as a Commissioning Tool, is directly responsible for creating and configuring the OSCORE groups at a Group Manager, as well as for maintaining them during their whole lifetime until their deletion. This allows the Group Manager to be agnostic of the specific applications using secure group communication.</t>
      <t>This document specifies a RESTful admin interface at the Group Manager, intended for an Administrator as a separate entity external to the Group Manager and its application. The interface allows the Administrator to create and delete OSCORE groups, as well as to specify and update their configuration.</t>
      <t>Interaction examples are provided in Link Format <xref target="RFC6690"/> and in CBOR <xref target="RFC8949"/>. The examples in CBOR are expressed in CBOR diagnostic notation.</t>
      <t>Throughout this document, examples for CBOR data items are expressed in CBOR extended diagnostic notation as defined in <xref section="8" sectionFormat="of" target="RFC8949"/> and <xref section="G" sectionFormat="of" target="RFC8610"/> ("diagnostic notation"). Diagnostic notation comments are often used to provide a textual representation of the numeric parameter names and values.</t>
      <t>In the CBOR diagnostic notation used in this document, constructs of the form e'SOME_NAME' are replaced by the value assigned to SOME_NAME in the CDDL model shown in <xref target="fig-cddl-model"/> of <xref target="sec-cddl-model"/>. For example, {e'group_name': "gp1", e'gp_enc_alg': 10} stands for {-13: "gp1", -4: 10}.</t>
      <t>Note to RFC Editor: Please delete the paragraph immediately preceding this note. Also, in the CBOR diagnostic notation used in this document, please replace the constructs of the form e'SOME_NAME' with the value assigned to SOME_NAME in the CDDL model shown in <xref target="fig-cddl-model"/> of <xref target="sec-cddl-model"/>. Finally, please delete this note.</t>
      <t>The ACE framework is used to ensure authentication and authorization of the Administrator (client) at the Group Manager (resource server). In order to achieve communication security, proof-of-possession, and server authentication, the Administrator and the Group Manager leverage protocol-specific transport profiles of ACE, such as <xref target="RFC9202"/><xref target="RFC9203"/>. These include also possible forthcoming transport profiles that comply with the requirements in <xref section="C" sectionFormat="of" target="RFC9200"/>.</t>
      <section anchor="terminology">
        <name>Terminology</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>Readers are expected to be familiar with the terms and concepts from the following specifications.</t>
        <ul spacing="normal">
          <li>
            <t>CDDL <xref target="RFC8610"/>, CBOR <xref target="RFC8949"/> and COSE <xref target="RFC9052"/><xref target="RFC9053"/>.</t>
          </li>
          <li>
            <t>The CoAP protocol <xref target="RFC7252"/>, also in group communication scenarios <xref target="I-D.ietf-core-groupcomm-bis"/>. These especially include the following concepts.  </t>
            <ul spacing="normal">
              <li>
                <t>"application group", as a set of CoAP nodes that share a common set of resources.</t>
              </li>
              <li>
                <t>"security group", as a set of CoAP nodes that share the same security material, and use it to protect and verify exchanged messages.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>The OSCORE <xref target="RFC8613"/> and Group OSCORE <xref target="I-D.ietf-core-oscore-groupcomm"/> security protocols. These especially include the following concepts.  </t>
            <ul spacing="normal">
              <li>
                <t>Group Manager, as the entity responsible for a set of OSCORE groups where communications among members are secured using Group OSCORE. An OSCORE group is used as a security group for one or many application groups.</t>
              </li>
              <li>
                <t>Authentication credential, as the set of information associated with an entity, including that entity's public key and parameters associated with the public key. Examples of authentication credentials are CBOR Web Tokens (CWTs) and CWT Claims Sets (CCSs) <xref target="RFC8392"/>, X.509 certificates <xref target="RFC5280"/>, and C509 certificates <xref target="I-D.ietf-cose-cbor-encoded-cert"/>.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>The ACE framework for authentication and authorization <xref target="RFC9200"/>. The terminology for entities in the considered architecture is defined in OAuth 2.0 <xref target="RFC6749"/>. In particular, this includes Client (C), Resource Server (RS), and Authorization Server (AS).</t>
          </li>
          <li>
            <t>The management of keying material for groups in ACE <xref target="RFC9594"/> and specifically for OSCORE groups <xref target="I-D.ietf-ace-key-groupcomm-oscore"/>. These include the concept of group-membership resource hosted by the Group Manager that new members access to join the OSCORE group, and that current members can access to retrieve updated keying material.</t>
          </li>
        </ul>
        <t>Note that the term "endpoint" is used here following its OAuth definition <xref target="RFC6749"/>, aimed at denoting resources such as <tt>/token</tt> and <tt>/introspect</tt> at the AS, and <tt>/authz-info</tt> at the RS. This document does not use the CoAP definition of "endpoint", which is "An entity participating in the CoAP protocol".</t>
        <t>This document also refers to the following terminology:</t>
        <ul spacing="normal">
          <li>
            <t>Administrator: entity responsible for creating, configuring, and deleting OSCORE groups at a Group Manager.</t>
          </li>
          <li>
            <t>Group name: stable and invariant name of an OSCORE group. The group name <bcp14>MUST</bcp14> be unique under the same Group Manager, and <bcp14>MUST</bcp14> be consistent with the ABNF rule "segment = *pchar" defined in <xref section="3.3" sectionFormat="of" target="RFC3986"/>.</t>
          </li>
          <li>
            <t>Group-collection resource: a single-instance resource hosted by the Group Manager. An Administrator accesses a group-collection resource to retrieve the list of existing OSCORE groups, or to create a new OSCORE group, under that Group Manager.  </t>
            <t>
When defining operations at the Group Manager and providing examples, this document uses /manage as the url-path of the group-collection resource; implementations can use a different url-path.</t>
          </li>
          <li>
            <t>Group-configuration resource: a resource hosted by the Group Manager, associated with an OSCORE group under that Group Manager. A group-configuration resource is identifiable with the invariant group name of the respective OSCORE group. An Administrator accesses a group-configuration resource to retrieve or change the configuration of the respective OSCORE group, or to delete that group.  </t>
            <t>
The url-path to a group-configuration resource has GROUPNAME as last segment, with GROUPNAME the invariant group name assigned upon its creation. Building on the considered url-path of the group-collection resource, this document uses /manage/GROUPNAME as the url-path of a group-configuration resource; implementations are not required to use this same construct, and can define their own instead.</t>
          </li>
          <li>
            <t>Admin resource: a group-collection resource or a group-configuration resource hosted by the Group Manager.</t>
          </li>
          <li>
            <t>Secure communication association: a security association established between any two of the Administrator, the AS, and the Group Manager and used for protecting their message exchanges. For example, depending on the used transport profile of ACE, this can rely on DTLS <xref target="RFC9147"/> as per <xref target="RFC9202"/>, or on OSCORE <xref target="RFC8613"/> as per <xref target="RFC9203"/>.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="overview">
      <name>Group Administration</name>
      <t>With reference to the ACE framework and the terminology defined in OAuth 2.0 <xref target="RFC6749"/>:</t>
      <ul spacing="normal">
        <li>
          <t>The Group Manager acts as Resource Server (RS). The Group Manager provides one single group-collection resource, and one group-configuration resource per existing OSCORE group.</t>
        </li>
        <li>
          <t>The Administrator acts as Client (C), and requests to access the group-collection resource and group-configuration resources at the Group Manager.</t>
        </li>
        <li>
          <t>The Authorization Server (AS) authorizes the Administrator to access the group-collection resource and group-configuration resources at a Group Manager. Multiple Group Managers can be associated with the same AS.  </t>
          <t>
The authorized access for an Administrator can be limited to performing only a subset of operations, according to what is allowed by the authorization information in the Access Token issued to that Administrator (see <xref target="scope-format"/> and <xref target="getting-access"/>). The AS can authorize multiple Administrators to access the group-collection resource and the (same) group-configuration resources at the Group Manager.  </t>
          <t>
The AS <bcp14>MAY</bcp14> issue Access Tokens to the Administrator for other purposes than accessing admin resources of registered Group Managers. For example, an Access Token can specify authorization information for joining OSCORE groups at a Group Manager (see <xref target="I-D.ietf-ace-key-groupcomm-oscore"/>), possibly combined with authorization information for accessing admin resources at the same Group Manager (see Section 3). Also, an AS can of course issue an Access Token that specifies authorization information unrelated to OSCORE groups, but instead pertaining to the access of other resources hosted by the Group Manager or other Resource Servers.</t>
        </li>
      </ul>
      <section anchor="managing-groups">
        <name>Managing OSCORE Groups</name>
        <t><xref target="fig-api"/> shows the resources of a Group Manager available to an Administrator.</t>
        <figure anchor="fig-api">
          <name>Admin Resources of a Group Manager</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="160" width="488" viewBox="0 0 488 160" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 100,56 L 108,72" fill="none" stroke="black"/>
                <path d="M 148,136 L 156,152" fill="none" stroke="black"/>
                <path d="M 132,72 L 156,120" fill="none" stroke="black"/>
                <path d="M 132,40 L 140,56" fill="none" stroke="black"/>
                <path d="M 180,120 L 188,136" fill="none" stroke="black"/>
                <path d="M 212,136 L 220,152" fill="none" stroke="black"/>
                <path d="M 212,104 L 220,120" fill="none" stroke="black"/>
                <path d="M 244,120 L 252,136" fill="none" stroke="black"/>
                <path d="M 308,136 L 316,152" fill="none" stroke="black"/>
                <path d="M 308,104 L 316,120" fill="none" stroke="black"/>
                <path d="M 340,120 L 348,136" fill="none" stroke="black"/>
                <path d="M 100,56 L 108,40" fill="none" stroke="black"/>
                <path d="M 132,72 L 140,56" fill="none" stroke="black"/>
                <path d="M 148,136 L 156,120" fill="none" stroke="black"/>
                <path d="M 180,152 L 188,136" fill="none" stroke="black"/>
                <path d="M 212,136 L 220,120" fill="none" stroke="black"/>
                <path d="M 244,152 L 252,136" fill="none" stroke="black"/>
                <path d="M 308,136 L 316,120" fill="none" stroke="black"/>
                <path d="M 340,152 L 348,136" fill="none" stroke="black"/>
                <path d="M 108,40 L 132,40" fill="none" stroke="black"/>
                <path d="M 108,72 L 132,72" fill="none" stroke="black"/>
                <path d="M 148,104 L 308,104" fill="none" stroke="black"/>
                <path d="M 156,120 L 180,120" fill="none" stroke="black"/>
                <path d="M 220,120 L 244,120" fill="none" stroke="black"/>
                <path d="M 316,120 L 340,120" fill="none" stroke="black"/>
                <path d="M 156,152 L 180,152" fill="none" stroke="black"/>
                <path d="M 220,152 L 244,152" fill="none" stroke="black"/>
                <path d="M 316,152 L 340,152" fill="none" stroke="black"/>
                <g class="text">
                  <text x="48" y="52">Group</text>
                  <text x="44" y="68">Collection</text>
                  <text x="280" y="132">...</text>
                  <text x="432" y="132">Group</text>
                  <text x="428" y="148">Configurations</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
             ___
   Group    /   \
Collection  \___/
                \
                 \____________________
                  \___    \___        \___
                  /   \   /   \  ...  /   \        Group
                  \___/   \___/       \___/   Configurations
]]></artwork>
          </artset>
        </figure>
        <t>The Group Manager exports a single group-collection resource, with resource type "core.osc.gcoll" registered in <xref target="iana-rt"/> of this document. The interface for the group-collection resource defined in <xref target="interactions"/> allows the Administrator, if permitted, to:</t>
        <ul spacing="normal">
          <li>
            <t>Retrieve the list of existing OSCORE groups.</t>
          </li>
          <li>
            <t>Retrieve a list of existing OSCORE groups matching with specified filter criteria.</t>
          </li>
          <li>
            <t>Create a new OSCORE group, specifying its invariant group name and, optionally, its configuration.</t>
          </li>
        </ul>
        <t>The Group Manager exports one group-configuration resource for each of its OSCORE groups. Each group-configuration resource has resource type "core.osc.gconf" registered in <xref target="iana-rt"/> of this document, and is identified by the group name specified upon creating the OSCORE group. The interface for a group-configuration resource defined in <xref target="interactions"/> allows the Administrator, if permitted, to:</t>
        <ul spacing="normal">
          <li>
            <t>Retrieve the complete current configuration of the OSCORE group.</t>
          </li>
          <li>
            <t>Retrieve part of the current configuration of the OSCORE group, by applying filter criteria.</t>
          </li>
          <li>
            <t>Overwrite the current configuration of the OSCORE group.</t>
          </li>
          <li>
            <t>Selectively update only part of the current configuration of the OSCORE group.</t>
          </li>
          <li>
            <t>Delete the OSCORE group.</t>
          </li>
        </ul>
      </section>
      <section anchor="collection-representation">
        <name>Collection Representation</name>
        <t>A collection of group configurations is represented as a Link Format document <xref target="RFC6690"/> containing the list of corresponding group-configuration resources.</t>
        <t>Each group configuration is represented as a link, which specifies the URI of the group-configuration resource as link target, and the link target attribute 'rt' (Resource Type) with value "core.osc.gconf".</t>
      </section>
      <section anchor="discovery">
        <name>Discovery</name>
        <t>The Administrator can discover group-collection resources from a Resource Directory <xref target="RFC9176"/> or from .well-known/core, by using the resource type "core.osc.gcoll".</t>
        <t>The Administrator can discover group-configuration resources for the group-collection resource as specified in <xref target="collection-resource-get"/> and <xref target="collection-resource-fetch"/>.</t>
      </section>
    </section>
    <section anchor="scope-format">
      <name>Format of Scope</name>
      <t>Building on the definition in <xref section="3.3" sectionFormat="of" target="RFC6749"/> considered in the ACE framework <xref target="RFC9200"/>, scope denotes: the permissions that the Client (i.e., the Administrator) seeks to obtain from the AS for accessing resources at a Resource Server (i.e., the Group Manager); and the permissions that the AS actually issues to the Client following its request. This process is detailed in Sections <xref target="RFC9200" section="5.8.1" sectionFormat="bare"/> and <xref target="RFC9200" section="5.8.2" sectionFormat="bare"/> of <xref target="RFC9200"/>.</t>
      <t>This section defines the exact format and encoding of scope to use, in order to express authorization information for the Administrator (see <xref target="getting-access"/>).</t>
      <t>To this end, this document uses the Authorization Information Format (AIF) <xref target="RFC9237"/>. In particular, it uses and extends the AIF data model AIF-OSCORE-GROUPCOMM defined in <xref section="3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</t>
      <t>The original definition of the data model AIF-OSCORE-GROUPCOMM specifies a scope as structured into scope entries, which express authorization information for users of an OSCORE group, i.e., actual group members or external signature verifiers. Hereafter, these are referred to as "user scope entries".</t>
      <t>This document extends the same AIF data model AIF-OSCORE-GROUPCOMM as defined below. In particular, it defines how the same scope can (also) include scope entries that express authorization information for Administrators of OSCORE groups. Hereafter, these are referred to as "admin scope entries", or simply as "scope entries" unless otherwise indicated.</t>
      <t>Like in the original definition of the data model AIF-OSCORE-GROUPCOMM, and with reference to the generic AIF model</t>
      <artwork><![CDATA[
   AIF-Generic<Toid, Tperm> = [* [Toid, Tperm]]
]]></artwork>
      <t>the value of the CBOR byte string used as scope encodes the CBOR array [* [Toid, Tperm]], where each [Toid, Tperm] element corresponds to one scope entry.</t>
      <t>Then, the following applies for each admin scope entry intended to express authorization information for an Administrator, as defined in this document.</t>
      <ul spacing="normal">
        <li>
          <t>The object identifier ("Toid") is specialized as either of the following, and specifies a group name pattern P for the admin scope entry.  </t>
          <ul spacing="normal">
            <li>
              <t>Wildcard pattern: "Toid" is specialized as the CBOR simple value <tt>true</tt> (0xf5), specifying the wildcard pattern. That is, any group name matches with this group name pattern.</t>
            </li>
            <li>
              <t>Literal pattern: "Toid" is specialized as a CBOR text string, whose value specifies an exact group name as a literal string. That is, only one specific group name expressed as a literal text string matches with this group name pattern.</t>
            </li>
            <li>
              <t>Complex pattern: "Toid" is specialized as a tagged CBOR data item, specifying a more complex group name pattern with the semantics signaled by the CBOR tag. That is, multiple group names expressed as a literal text string match with this group name pattern.      </t>
              <t>
For example, and as typically expected, the data item can be a CBOR text string marked with the CBOR tag 21065. This indicates that the group name pattern specified as value of the CBOR text string is a regular expression in the I-Regexp flavor <xref target="RFC9485"/>.      </t>
              <t>
In case the AIF data model AIF-OSCORE-GROUPCOMM is used in a JSON payload, the semantics information conveyed by the CBOR tag can be equivalently conveyed, for example, in a nested JSON object.      </t>
              <t>
The AS and the Group Manager are expected to have agreed on commonly supported semantics for group name patterns. This can happen, for instance, as part of the registration process of the Group Manager at the AS.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>The permission set ("Tperm") is specialized as a CBOR unsigned integer with value Q. This specifies the permissions that the Administrator has with respect to performing operations on the admin resources at the Group Manager, as pertaining to any OSCORE group whose name matches with the pattern P. The value Q is computed as follows.  </t>
          <ul spacing="normal">
            <li>
              <t>Each permission in the permission set is converted into the corresponding numeric identifier X from the "Value" column of the "Group OSCORE Admin Permissions" registry, for which this document defines the entries in <xref target="tab-permission-values"/>.</t>
            </li>
            <li>
              <t>The set of N numbers is converted into the single value Q, by taking two to the power of each numeric identifier X_1, X_2, ..., X_N, and then computing the inclusive OR of the binary representations of all the power values.</t>
            </li>
          </ul>
          <t>
In general, a single permission can be associated with multiple different operations that are possible to be performed when interacting with the Group Manager. For example, the "List" permission allows the Administrator to retrieve a list of group configurations (see <xref target="collection-resource-get"/>) or only a subset of that according to specified filter criteria (see <xref target="collection-resource-fetch"/>), by issuing a GET or FETCH request to the group-collection resource, respectively.</t>
        </li>
      </ul>
      <table align="center" anchor="tab-permission-values">
        <name>Numeric identifier of permissions on the admin resources at a Group Manager</name>
        <thead>
          <tr>
            <th align="left">Name</th>
            <th align="left">Value</th>
            <th align="left">Description</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">List</td>
            <td align="left">0</td>
            <td align="left">Retrieve list of group configurations</td>
          </tr>
          <tr>
            <td align="left">Create</td>
            <td align="left">1</td>
            <td align="left">Create new group configurations</td>
          </tr>
          <tr>
            <td align="left">Read</td>
            <td align="left">2</td>
            <td align="left">Retrieve group configurations</td>
          </tr>
          <tr>
            <td align="left">Write</td>
            <td align="left">3</td>
            <td align="left">Change group configurations</td>
          </tr>
          <tr>
            <td align="left">Delete</td>
            <td align="left">4</td>
            <td align="left">Delete group configurations</td>
          </tr>
        </tbody>
      </table>
      <t>The following CDDL <xref target="RFC8610"/> notation defines an admin scope entry that uses the data model AIF-OSCORE-GROUPCOMM and expresses a set of permissions from those in <xref target="tab-permission-values"/>.</t>
      <sourcecode type="CDDL"><![CDATA[
   ;# include rfc9237

   AIF-OSCORE-GROUPCOMM = AIF-Generic<oscore-gname, oscore-gperm>

   oscore-gname = true / tstr / #6.<uint>(any) ; Group name pattern
   oscore-gperm = uint .bits admin-permissions

   admin-permissions = &(
      List: 0,
      Create: 1,
      Read: 2,
      Write: 3,
      Delete: 4
   )

   scope_entry = [oscore-gname, oscore-gperm]
]]></sourcecode>
      <t>The following example in CBOR diagnostic notation shows a CBOR array including five scope entries as its elements.</t>
      <artwork><![CDATA[
[[true,   / Toid (wildcard pattern) /
  5       / Tperm (List + Read) /
 ],
 ["gp1",  / Toid (literal pattern) /
  31      / Tperm (List + Create +
            Read + Write + Delete) /
 ],
 ["gp2",  / Toid (literal pattern) /
  31      / Tperm (List + Create +
            Read + Write + Delete) /
 ],
 [21065("^[A-K][0-9][-a-z0-9]*$"),  / Toid (complex pattern) /
  31                                / Tperm (List + Create +
                                      Read + Write + Delete) /
 ],
 [21065("^[J-Z][0-9][-a-z0-9]*$"),  / Toid (complex pattern) /
  13                                / Tperm (List + Read + Write) /
 ]
]
]]></artwork>
      <t>Future specifications that define new permissions on the admin resources at the Group Manager <bcp14>MUST</bcp14> register a corresponding numeric identifier in the "Group OSCORE Admin Permissions" registry defined in <xref target="ssec-iana-group-oscore-admin-permissions-registry"/> of this document.</t>
      <t>When using the scope format as defined in this section, the permission set ("Tperm") of each admin scope entry <bcp14>MUST</bcp14> include the "List" permission. It follows that, when expressing permissions for Administrators of OSCORE groups as defined in this document, an admin scope entry has the least significant bit of "Tperm" always set to 1.</t>
      <t>Therefore, an Administrator is always allowed to retrieve a list of existing group configurations. The exact elements included in the returned list are determined by the Group Manager, based on the group name patterns specified in the admin scope entries of the Administrator's Access Token, as well as on possible filter criteria specified in the request from the Administrator (see <xref target="collection-resource-get"/> and <xref target="collection-resource-fetch"/>).</t>
      <t>Building on the above, the same single scope can include user scope entries as well as admin scope entries, whose specific format is defined in <xref section="3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/> and earlier in this section, respectively. The two types of scope entries can be unambiguously distinguished by means of the least significant bit of their permission set "Tperm", which has value 0 for the user scope entries and 1 for the admin scope entries.</t>
      <t>The coexistence of user scope entries and admin scope entries within the same scope makes it possible to issue a single Access Token, in case the requesting Client wishes to be a user for some OSCORE groups and at the same time Administrator for some (other) OSCORE groups under the same Group Manager.</t>
      <section anchor="on-using-group-name-patterns">
        <name>On Using Group Name Patterns</name>
        <t>Having the object identifier ("Toid") specialized as a pattern confers a number of advantages.</t>
        <ul spacing="normal">
          <li>
            <t>When relying on wildcard patterns and complex patterns, the encoded scope can be compact in size while allowing the Administrator to operate on large pools of group names.</t>
          </li>
          <li>
            <t>When relying on wildcard patterns and complex patterns, the Administrator and the AS do not need to know the exact group names for requesting and issuing an Access Token, respectively (see <xref target="getting-access"/>). In turn, the Group Manager can effectively take the final decision about the name to assign to an OSCORE group, upon its creation (see <xref target="collection-resource-post"/>).</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="getting-access">
      <name>Getting Access to the Group Manager</name>
      <t>All communications between the involved entities rely on the CoAP protocol and <bcp14>MUST</bcp14> be secured.</t>
      <t>In particular, communications between the Administrator and the Group Manager leverage protocol-specific transport profiles of ACE to achieve communication security, proof-of-possession, and server authentication. To this end, the AS may explicitly signal the specific transport profile to use, consistently with requirements and assumptions defined in the ACE framework <xref target="RFC9200"/>.</t>
      <t>With reference to the AS, communications between the Administrator and the AS (<tt>/token</tt> endpoint) as well as between the Group Manager and the AS (<tt>/introspect</tt> endpoint) can be secured by different means, for instance using DTLS <xref target="RFC9147"/> or OSCORE <xref target="RFC8613"/>. Further details on how the AS secures communications (with the Administrator and the Group Manager) depend on the transport profile of ACE in use, and are out of the scope of this document.</t>
      <t>In order to specify authorization information for Administrators, the format and encoding of scope defined in <xref target="scope-format"/> of this document <bcp14>MUST</bcp14> be used, for both the 'scope' claim in the Access Token and the 'scope' parameter in the Authorization Request and Authorization Response exchanged with the AS (see Sections <xref target="RFC9200" section="5.8.1" sectionFormat="bare"/> and <xref target="RFC9200" section="5.8.2" sectionFormat="bare"/> of <xref target="RFC9200"/>).</t>
      <t>If the 'scope' parameter in the Authorization Request includes scope entries whose "Toid" specifies a complex pattern (see <xref target="scope-format"/>), then all such scope entries <bcp14>MUST</bcp14> adhere to the same pattern semantics. Also, in the 'scope' claim of the Access Token issued by the AS, that semantics <bcp14>MUST</bcp14> be used for all the scope entries that specify a complex pattern.</t>
      <t>Furthermore, the AS <bcp14>MAY</bcp14> use the extended format of scope defined in <xref section="7" sectionFormat="of" target="RFC9594"/> for the 'scope' claim of the Access Token. In such a case, the AS <bcp14>MUST</bcp14> use the CBOR tag with tag number TAG_NUMBER, associated with the CoAP Content-Format CF_ID for the media type application/aif+cbor registered in <xref section="16.9" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</t>
      <t>Note to RFC Editor: In the previous paragraph, please replace "TAG_NUMBER" with the CBOR tag number computed as TN(ct) in <xref section="4.3" sectionFormat="of" target="RFC9277"/>, where ct is the ID assigned to the CoAP Content-Format CF_ID registered in <xref section="16.9" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>. Then, please replace "CF_ID" with the ID assigned to that CoAP Content-Format. Finally, please delete this paragraph.</t>
      <t>This indicates that the binary encoded scope, as conveying the actual access control information, follows the scope semantics of the AIF data model AIF-OSCORE-GROUPCOMM defined in <xref section="3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/> and extended as per <xref target="scope-format"/> of this document.</t>
      <t>In order to get access to the Group Manager for managing OSCORE groups, an Administrator performs the following steps.</t>
      <ol spacing="normal" type="1"><li>
          <t>The Administrator requests an Access Token from the AS, in order to access the group-collection and group-configuration resources on the Group Manager. To this end, the Administrator sends to the AS an Authorization Request as defined in <xref section="5.8.1" sectionFormat="of" target="RFC9200"/>.  </t>
          <t>
The Administrator will start or continue using a secure communication association with the Group Manager, according to the response from the AS and the transport profile of ACE in use.</t>
        </li>
        <li>
          <t>The AS processes the Authorization Request as defined in <xref section="5.8.2" sectionFormat="of" target="RFC9200"/>, especially verifying that the Administrator is authorized to obtain the requested permissions, or possibly a subset of those.  </t>
          <t>
The AS specifies the information on the authorization granted to the Administrator as the value of the 'scope' claim to include in the Access Token, in accordance with the scope format specified in <xref target="scope-format"/>. It is implementation specific which particular approach the AS takes to evaluate the requested permissions against the access policies pertaining to the Administrator for the Group Manager in question. <xref target="sec-as-scope-processing"/> provides an example of such an approach that the AS can use.  </t>
          <t>
The AS <bcp14>MUST</bcp14> include the 'scope' parameter in the Authorization Response defined in <xref section="5.8.2" sectionFormat="of" target="RFC9200"/>, when the value included in the Access Token differs from the one specified by the Administrator in the Authorization Request. In such a case, scope specifies the set of permissions that the Administrator actually has, with respect to performing operations at the Group Manager, encoded as specified in <xref target="scope-format"/>.  </t>
          <t>
If the 'scope' parameter in the Authorization Request includes scope entries whose "Toid" specifies a complex pattern and any of the following conditions holds, then the AS <bcp14>MUST</bcp14> reply with a 4.00 (Bad Request) error response (see <xref section="5.8.3" sectionFormat="of" target="RFC9200"/>). The 'error_description' parameter carried out in the response payload <bcp14>MUST</bcp14> specify the CBOR value 1 (invalid_scope).  </t>
          <ul spacing="normal">
            <li>
              <t>The "Toid" of the different scope entries that specify a complex pattern do not all adhere to the same pattern semantics.</t>
            </li>
            <li>
              <t>The "Toid" of the different scope entries that specify a complex pattern adhere to the same pattern semantics, but this is not supported by the AS or by the Group Manager.</t>
            </li>
          </ul>
          <t>
Finally, as discussed in <xref target="scope-format"/>, the authorization information included in the Authorization Request or specified by the AS might also include permissions for the same Client as a user of an OSCORE group, i.e., as an actual group member or an external signature verifier. As per <xref target="scope-format"/>, such authorization information is expressed by "user scope entries", whose format and processing is specified in <xref target="I-D.ietf-ace-key-groupcomm-oscore"/>.</t>
        </li>
        <li>
          <t>The Administrator transfers authentication and authorization information to the Group Manager by posting the obtained Access Token, according to the used profile of ACE, such as <xref target="RFC9202"/> and <xref target="RFC9203"/>. After that, the Administrator must have a secure communication association established with the Group Manager, before performing any administrative operation on that Group Manager. Possible ways to provide secure communication are DTLS <xref target="RFC9147"/> and OSCORE <xref target="RFC8613"/>. The Administrator and the Group Manager maintain the secure association, to support possible future communications.</t>
        </li>
        <li>
          <t>Consistently with what is allowed by the authorization information in the Access Token, the Administrator performs administrative operations at the Group Manager, as described in <xref target="interactions"/>. These include retrieving a list of existing OSCORE groups, creating new OSCORE groups, retrieving and changing OSCORE group configurations, and removing OSCORE groups. Messages exchanged among the Administrator and the Group Manager are specified in <xref target="interactions"/>.  </t>
          <t>
Upon receiving a request from the Administrator targeting the group-collection resource or a group-configuration resource, the Group Manager <bcp14>MUST</bcp14> check that it is storing a valid Access Token for that Administrator, and that the Access Token includes at least one admin scope entry. If this is not the case, the Group Manager <bcp14>MUST</bcp14> reply with a 4.01 (Unauthorized) error response.  </t>
          <t>
If the request targets the group-collection resource for creating a new group with name GROUPNAME or it targets the group-configuration resource associated with an existing group with name GROUPNAME, then the Group Manager <bcp14>MUST</bcp14> check that it is storing a valid Access Token from that Administrator, such that the 'scope' claim specified in the Access Token: i) expresses authorization information through scope entries as defined in <xref target="scope-format"/>; and ii) specifically includes a scope entry where:  </t>
          <ul spacing="normal">
            <li>
              <t>The group name GROUPNAME matches with the pattern specified by the "Toid" of the scope entry; and</t>
            </li>
            <li>
              <t>The permission set specified by the "Tperm" of the scope entry allows the Administrator to perform the requested administrative operation on the targeted group-configuration resource.</t>
            </li>
          </ul>
          <t>
Note that the checks defined above only consider scope entries expressing permissions for administrative operations, namely "admin scope entries" as defined in <xref target="scope-format"/>, while the alternative "user scope entries" defined in <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> are not considered.  </t>
          <t>
Further detailed checks to perform are defined separately for each operation at the Group Manager, when specified in <xref target="interactions"/>.  </t>
          <t>
In case the Group Manager stores a valid Access Token but the verifications above fail, the Group Manager <bcp14>MUST</bcp14> reply with a 4.03 (Forbidden) error response. This response <bcp14>MAY</bcp14> be an AS Request Creation Hints, as defined in <xref section="5.3" sectionFormat="of" target="RFC9200"/>, in which case the Content-Format <bcp14>MUST</bcp14> be set to application/ace+cbor (i.e., ID: 19).  </t>
          <t>
If the request is not formatted correctly (e.g., required fields are not present or are not encoded as expected), the Group Manager <bcp14>MUST</bcp14> reply with a 4.00 (Bad Request) error response.</t>
        </li>
      </ol>
      <section anchor="multiple-administrators-for-the-same-oscore-group">
        <name>Multiple Administrators for the Same OSCORE Group</name>
        <t>It is possible that multiple Administrators are authorized to operate on the same Group Manager in the interest of the same OSCORE group, while also taking different responsibilities.</t>
        <t>For example, in addition to a "main" primary Administrator responsible for an OSCORE group at the Group Manager, it is also possible to have "assistant" secondary Administrators that are effectively authorized to perform some operations on the same OSCORE group.</t>
        <t>With respect to the main Administrator, such assistant Administrators are expected to have fewer permissions to perform administrative operations related to the OSCORE group at the Group Manager. For example, they may not be authorized to create an OSCORE group, or to delete an OSCORE group and its configuration.</t>
        <t>In case the main Administrator of an OSCORE group is dismissed or relinquishes its role, one of the assistant Administrators can be "promoted" and become main Administrator for that OSCORE group. Practically, this requires that the access policies associated with the promoted Administrator are updated accordingly at the Authorization Server. Also, the promoted Administrator has to request from the Authorization Server a new Access Token and to upload it to the Group Manager. If allowed by the used transport profile of ACE, this process can efficiently enforce a dynamic update of access rights, thus preserving the current secure association between the promoted Administrator and the Group Manager.</t>
        <t>If an Administrator is not sure about being the only Administrator responsible for an OSCORE group, then it is <bcp14>RECOMMENDED</bcp14> that the Administrator regularly obtains a recent representation of the group-configuration resource associated with the OSCORE group before overwriting (see <xref target="configuration-resource-post"/>), updating (see <xref target="configuration-resource-patch"/>), or deleting (see <xref target="configuration-resource-delete"/>) the group configuration. This can be achieved in the following ways.</t>
        <ul spacing="normal">
          <li>
            <t>The Administrator performs a regular polling of the group configuration, by sending a GET request to the corresponding group-configuration resource (see <xref target="configuration-resource-get"/>).</t>
          </li>
          <li>
            <t>If the group-configuration resource associated with the OSCORE group is Observable, then the Administrator subscribes to that resource by using CoAP Observe <xref target="RFC7641"/>. The Observation request is a GET request sent to the group-configuration resource (see <xref target="configuration-resource-get"/>). In such a case, the Group Manager will also send a 4.04 (Not Found) response in case another Administrator deletes the group-configuration resource, as a result of deleting the associated OSCORE group and its configuration.</t>
          </li>
        </ul>
        <t>If the Administrator gains knowledge that the group configuration has changed compared to the latest known representation, then the Administrator might hold the execution of writing or deletion operation on the group-configuration resource, and first attempt checking with other Administrators responsible for the same OSCORE group about the changes they have made.</t>
        <t>In order to avoid race conditions due to possible concurrent updates of the group-configuration resource (i.e., the "lost update" problem), the Group Manager can include the ETag Option in the responses to the GET requests sent to the group-configuration resource (see <xref section="5.10.6" sectionFormat="of" target="RFC7252"/>). Then, when sending to the Group Manager a request for overwriting or updating the group-configuration resource, the Administrator includes an If-Match Option with value the most recent ETag that the Administrator knows for that resource (see <xref section="5.10.8.1" sectionFormat="of" target="RFC7252"/>).</t>
      </section>
    </section>
    <section anchor="group-configurations">
      <name>Group Configurations</name>
      <t>A group configuration consists of information related to an OSCORE group, as organized into configuration parameters and status parameters.</t>
      <t>In particular, configuration parameters specify how members of the OSCORE group use the Group OSCORE protocol to protect their communications (e.g., by using which algorithms). Instead, status parameters specify information concerning the management of the OSCORE group and its current setting at the Group Manager (e.g., for handling identifiers and the joining of group members).</t>
      <section anchor="config-repr">
        <name>Group Configuration Representation</name>
        <t>The group configuration representation is a CBOR map, which includes the configuration parameters specified in <xref target="config-repr-config-properties"/> and the status parameters specified in <xref target="config-repr-status-properties"/>.</t>
        <t>Unless stated otherwise, these parameters are defined in this document and their CBOR abbreviations are defined in <xref target="groupcomm-parameters"/>.</t>
        <section anchor="config-repr-config-properties">
          <name>Configuration Parameters</name>
          <t>The CBOR map includes the following configuration parameters.</t>
          <ul spacing="normal">
            <li>
              <t>'hkdf', which specifies the HKDF Algorithm used in the OSCORE group (see <xref section="2" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>), encoded as a CBOR text string or a CBOR integer. This parameter can take the same values as the 'hkdf' parameter of the Group_OSCORE_Input_Material object, defined in <xref section="6.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</t>
            </li>
            <li>
              <t>'cred_fmt', which specifies the Authentication Credential Format used in the OSCORE group (see <xref section="2" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>), encoded as a CBOR integer. This parameter can take the same values as the 'cred_fmt' parameter of the Group_OSCORE_Input_Material object, defined in <xref section="6.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</t>
            </li>
            <li>
              <t>'group_mode', encoded as a CBOR simple value. Its value is <tt>true</tt> (0xf5) if the OSCORE group uses the group mode of Group OSCORE (see <xref section="7" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>), or <tt>false</tt> (0xf4) otherwise.</t>
            </li>
            <li>
              <t>'gp_enc_alg', which is formatted as follows. If the configuration parameter 'group_mode' has value <tt>false</tt> (0xf4), this parameter has as value the CBOR simple value <tt>null</tt> (0xf6). Otherwise, this parameter specifies the Group Encryption Algorithm used in the OSCORE group to encrypt messages protected with the group mode (see <xref section="2" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>), encoded as a CBOR text string or a CBOR integer. This parameter can take the same values as the 'sign_enc_alg' parameter of the Group_OSCORE_Input_Material object, defined in <xref section="6.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.  </t>
              <t>
Editor's note: as per the text above, the referred version of <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> still uses 'sign_enc_alg' as parameter name. The next version of <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> will be updated in order to use 'gp_enc_alg' instead, as already done for this document and consistently with the naming used in the latest version of <xref target="I-D.ietf-core-oscore-groupcomm"/>.</t>
            </li>
            <li>
              <t>'sign_alg', which is formatted as follows. If the configuration parameter 'group_mode' has value <tt>false</tt> (0xf4), this parameter has as value the CBOR simple value <tt>null</tt> (0xf6). Otherwise, this parameter specifies the Signature Algorithm used in the OSCORE group (see <xref section="2" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>), encoded as a CBOR text string or a CBOR integer. This parameter can take the same values as the 'sign_alg' parameter of the Group_OSCORE_Input_Material object, defined in <xref section="6.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</t>
            </li>
            <li>
              <t>'sign_params', which is formatted as follows. If the configuration parameter 'group_mode' has value <tt>false</tt> (0xf4), this parameter has as value the CBOR simple value <tt>null</tt> (0xf6). Otherwise, this parameter specifies the additional parameters for the Signature Algorithm used in the OSCORE group, encoded as a CBOR array. This parameter can take the same values as the 'sign_params' parameter of the Group_OSCORE_Input_Material object, defined in <xref section="6.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</t>
            </li>
            <li>
              <t>'pairwise_mode', encoded as a CBOR simple value. Its value is <tt>true</tt> (0xf5) if the OSCORE group uses the pairwise mode of Group OSCORE (see <xref section="8" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>), or <tt>false</tt> (0xf4) otherwise.</t>
            </li>
            <li>
              <t>'alg', which is formatted as follows. If the configuration parameter 'pairwise_mode' has value <tt>false</tt> (0xf4), this parameter has as value the CBOR simple value <tt>null</tt> (0xf6). Otherwise, this parameter specifies the AEAD Algorithm used in the OSCORE group to encrypt messages protected with the pairwise mode (see <xref section="2" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>), encoded as a CBOR text string or a CBOR integer. This parameter can take the same values as the 'alg' parameter of the Group_OSCORE_Input_Material object, defined in <xref section="6.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</t>
            </li>
            <li>
              <t>'ecdh_alg', which is formatted as follows. If the configuration parameter 'pairwise_mode' has value <tt>false</tt> (0xf4), this parameter has as value the CBOR simple value <tt>null</tt> (0xf6). Otherwise, this parameter specifies the Pairwise Key Agreement Algorithm used in the OSCORE group (see <xref section="2" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>), encoded as a CBOR text string or a CBOR integer. This parameter can take the same values as the 'ecdh_alg' parameter of the Group_OSCORE_Input_Material object, defined in <xref section="6.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</t>
            </li>
            <li>
              <t>'ecdh_params', which is formatted as follows. If the configuration parameter 'pairwise_mode' has value <tt>false</tt> (0xf4), this parameter has as value the CBOR simple value <tt>null</tt> (0xf6). Otherwise, this parameter specifies the parameters for the Pairwise Key Agreement Algorithm used in the OSCORE group, encoded as a CBOR array. This parameter can take the same values as the 'ecdh_params' parameter of the Group_OSCORE_Input_Material object, defined in <xref section="6.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</t>
            </li>
            <li>
              <t>'det_req', encoded as a CBOR simple value. Its value is <tt>true</tt> (0xf5) if the OSCORE group uses deterministic requests as defined in <xref target="I-D.amsuess-core-cachable-oscore"/>, or <tt>false</tt> (0xf4) otherwise. This parameter can be present only if both the configuration parameters 'group_mode' and 'pairwise_mode' have value <tt>true</tt> (0xf5), and <bcp14>MUST NOT</bcp14> be present otherwise.</t>
            </li>
            <li>
              <t>'det_hash_alg', encoded as a CBOR integer or text string. If present, this parameter specifies the Hash Algorithm used in the OSCORE group when producing deterministic requests, as defined in <xref target="I-D.amsuess-core-cachable-oscore"/>. This parameter takes values from the "Value" column of the "COSE Algorithms" Registry <xref target="COSE.Algorithms"/>.  </t>
              <t>
This parameter <bcp14>MUST NOT</bcp14> be present if the configuration parameter 'det_req' is not present or if it is present with value <tt>false</tt> (0xf4). If the configuration parameter 'det_req' is present with value <tt>true</tt> (0xf5) and 'det_hash_alg' is not present, the choice of the Hash Algorithm to use when producing deterministic requests is left to the Group Manager.</t>
            </li>
          </ul>
        </section>
        <section anchor="config-repr-status-properties">
          <name>Status Parameters</name>
          <t>The CBOR map includes the following status parameters.</t>
          <ul spacing="normal">
            <li>
              <t>'rt', which specifies the resource type "core.osc.gconf" associated with group-configuration resources, encoded as a CBOR text string.</t>
            </li>
            <li>
              <t>'active', which specifies whether the OSCORE group is currently active, encoded as the CBOR simple value <tt>true</tt> (0xf5) of <tt>false</tt> (0xf4).</t>
            </li>
            <li>
              <t>'group_name', which specifies the group name of the OSCORE group encoded as a CBOR text string.</t>
            </li>
            <li>
              <t>'group_description', which specifies either a human-readable description of the OSCORE group encoded as a CBOR text string, or the CBOR simple value <tt>null</tt> (0xf6) if no description is specified.</t>
            </li>
            <li>
              <t>'ace_groupcomm_profile', defined in <xref section="4.3.1" sectionFormat="of" target="RFC9594"/>, with value "coap_group_oscore_app" registered in <xref section="16.5" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>, encoded as a CBOR integer.</t>
            </li>
            <li>
              <t>'max_stale_sets', encoding a CBOR unsigned integer with value strictly greater than 1. With reference to <xref section="7.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>, this parameter specifies N, i.e., the maximum number of sets of stale OSCORE Sender IDs that the Group Manager stores for the group.</t>
            </li>
            <li>
              <t>'exp', defined in <xref section="4.3.1" sectionFormat="of" target="RFC9594"/>.</t>
            </li>
            <li>
              <t>'gid_reuse', encoding the CBOR simple value <tt>true</tt> (0xf5) if, upon rekeying the OSCORE group, the Group Manager can reassign the values of the OSCORE Group ID used as OSCORE ID Context, as per <xref section="12.2.1.1" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/> and <xref section="11" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>. Otherwise, this parameter encodes the CBOR simple value <tt>false</tt> (0xf4).</t>
            </li>
            <li>
              <t>'app_groups', with value a list of names of application groups, encoded as a CBOR array. Each element of the array is a CBOR text string, specifying the name of an application group using the OSCORE group as security group (see <xref section="2.1" sectionFormat="of" target="I-D.ietf-core-groupcomm-bis"/>).</t>
            </li>
            <li>
              <t>'joining_uri', with value the URI of the group-membership resource for joining the newly created OSCORE group as per <xref section="6.2" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>, encoded as a CBOR text string.</t>
            </li>
            <li>
              <t>'group_policies', defined in <xref section="4.3.1" sectionFormat="of" target="RFC9594"/>, and consistent with the format and content defined in <xref section="6.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</t>
            </li>
            <li>
              <t>'as_uri', with value the URI of the Authorization Server associated with the Group Manager for the OSCORE group, encoded as a CBOR text string. Candidate group members will have to obtain an Access Token from that Authorization Server, before starting the joining process with the Group Manager to join the OSCORE group (see Sections <xref target="I-D.ietf-ace-key-groupcomm-oscore" section="5" sectionFormat="bare"/> and <xref target="I-D.ietf-ace-key-groupcomm-oscore" section="6" sectionFormat="bare"/> of <xref target="I-D.ietf-ace-key-groupcomm-oscore"/>).</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="default-values">
        <name>Default Values</name>
        <t>This section defines the default values that the Group Manager uses for the configuration and status parameters.</t>
        <t>The Group Manager <bcp14>MAY</bcp14> choose different default values instead of those recommended in this section. A possible reason is to ensure that each of those are consistent with what the Group Manager supports, e.g., in terms of signature algorithm and format of authentication credentials used in the OSCORE group.</t>
        <t>This ensures that the Group Manager is able to perform the operations defined in <xref target="I-D.ietf-ace-key-groupcomm-oscore"/>, as to its interactions with joining nodes and current group members for an OSCORE group (see <xref section="14" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>).</t>
        <section anchor="default-values-conf">
          <name>Configuration Parameters</name>
          <t>For each of the configuration parameters listed below, the Group Manager uses the following pre-configured default value, if that parameter is not specified by the Administrator.</t>
          <ul spacing="normal">
            <li>
              <t>'group_mode' - The Group Manager <bcp14>SHOULD</bcp14> use the CBOR simple value <tt>true</tt> (0xf5).</t>
            </li>
            <li>
              <t>'pairwise_mode' - The Group Manager <bcp14>SHOULD</bcp14> use the CBOR simple value <tt>true</tt> (0xf5).</t>
            </li>
            <li>
              <t>'gp_enc_alg', 'sign_alg', and 'sign_params' - If the value of 'group_mode' is determined to be the CBOR simple value <tt>true</tt> (0xf5), the Group Manager <bcp14>SHOULD</bcp14> use the default values defined in <xref section="14.2" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/> as follows: the value of 'sign_enc_alg' for the parameter 'gp_enc_alg' defined in this document; the value of 'sign_alg' and 'sign_params' for the corresponding parameters defined in this document.  </t>
              <t>
Editor's note: as per the text above, the referred version of <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> still uses 'sign_enc_alg' as parameter name. The next version of <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> will be updated in order to use 'gp_enc_alg' instead, as already done for this document and consistently with the naming used in the latest version of <xref target="I-D.ietf-core-oscore-groupcomm"/>.</t>
            </li>
            <li>
              <t>'alg', 'ecdh_alg', and 'ecdh_params' - If the value of 'pairwise_mode' is determined to be the CBOR simple value <tt>true</tt> (0xf5), the Group Manager <bcp14>SHOULD</bcp14> use the same default values defined in <xref section="14.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/> for the parameters 'alg', 'ecdh_alg', and 'ecdh_params'.</t>
            </li>
            <li>
              <t>'det_req' - If the value of both 'group_mode' and 'pairwise_mode' is determined to be the CBOR simple value <tt>true</tt> (0xf5), the Group Manager <bcp14>SHOULD</bcp14> add the parameter 'det_req' to the group configuration and <bcp14>SHOULD</bcp14> set its value to the CBOR simple value <tt>false</tt> (0xf4).</t>
            </li>
            <li>
              <t>'det_hash_alg' - If the value of 'det_req' is determined to be the CBOR simple value <tt>true</tt> (0xf5), the Group Manager <bcp14>SHOULD</bcp14> add the parameter 'det_hash_alg' to the group configuration and <bcp14>SHOULD</bcp14> set its value to -16 (COSE algorithm encoding for SHA-256).</t>
            </li>
          </ul>
          <t>For any other configuration parameter, the Group Manager <bcp14>SHOULD</bcp14> use the same default values defined in <xref section="14.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</t>
        </section>
        <section anchor="status-parameters">
          <name>Status Parameters</name>
          <t>For each of the status parameters listed below, the Group Manager uses the following pre-configured default value, if that parameter is not specified by the Administrator.</t>
          <ul spacing="normal">
            <li>
              <t>'active' - The Group Manager <bcp14>SHOULD</bcp14> use the CBOR simple value <tt>false</tt> (0xf4).</t>
            </li>
            <li>
              <t>'group_description' - The Group Manager <bcp14>SHOULD</bcp14> use the CBOR simple value <tt>null</tt> (0xf6).</t>
            </li>
            <li>
              <t>'max_stale_sets' - The Group Manager <bcp14>SHOULD</bcp14> use the CBOR unsigned integer with value 3, consistent with what is defined in <xref section="14.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</t>
            </li>
            <li>
              <t>'gid_reuse' - The Group Manager <bcp14>SHOULD</bcp14> use the CBOR simple value <tt>false</tt> (0xf4).</t>
            </li>
            <li>
              <t>'app_groups' - The Group Manager <bcp14>SHOULD</bcp14> use the empty CBOR array.</t>
            </li>
            <li>
              <t>'group_policies' - The Group Manager <bcp14>SHOULD</bcp14> use the default values defined in <xref section="6.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</t>
            </li>
          </ul>
        </section>
      </section>
    </section>
    <section anchor="interactions">
      <name>Interactions with the Group Manager</name>
      <t>This section describes the operations that are possible to perform on the group-collection resource and the group-configuration resources at the Group Manager.</t>
      <t>For each operation, it is defined whether that operation is required or optional to support for an Administrator and for the Group Manager. If an Administrator supports an operation, then the Administrator is able to produce and send the request associated with that operation. If the Group Manager supports an operation, then the Group Manager must be able to correctly handle authorized and valid requests sent by the Administrator to carry out that operation. If the Group Manager receives an authorized and valid request to perform an operation that it does not support, then the Group Manager <bcp14>MUST</bcp14> respond with a 5.01 (Not Implemented) response.</t>
      <t>When checking the scope claim of a stored Access Token to verify that any of the requests defined in the following is authorized, the Group Manager only considers scope entries expressing permissions for administrative operations, namely "admin scope entries" as defined in <xref target="scope-format"/>. The alternative "user scope entries" defined in <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> are not considered. That is, when handling any of the requests for administrative operations defined in the following, the Group Manager ignores possible "user scope entries" specified in the scope of a stored access token.</t>
      <t>Upon receiving from the Administrator a POST request to the group-collection resource or a request to a group-configuration resource, the Group Manager performs the following authorization checks, consistently with what is defined at step 4 of <xref target="getting-access"/>.</t>
      <ul spacing="normal">
        <li>
          <t>The Group Manager <bcp14>MUST</bcp14> check whether the group name TARGETNAME pertaining to the request matches with the group name pattern specified in any scope entry of the 'scope' claim in the stored Access Token for the Administrator.</t>
        </li>
        <li>
          <t>In case of a positive match, the Group Manager <bcp14>MUST</bcp14> check whether the permission set in the found scope entry specifies the permission PERMISSION required to perform the requested administrative operation.</t>
        </li>
      </ul>
      <t>If there are no matching scope entries specifying the permission PERMISSION, the Group Manager <bcp14>MUST</bcp14> reply with a 4.03 (Forbidden) error response. Further details on TARGETNAME and PERMISSION are defined separately for each operation at the Group Manager.</t>
      <t>The Content-Format in messages containing a payload is set to application/ace-groupcomm+cbor, defined in <xref section="11.2" sectionFormat="of" target="RFC9594"/>. Furthermore, the CBOR abbreviations defined in <xref target="groupcomm-parameters"/> of this document <bcp14>MUST</bcp14> be used when specifying the corresponding configuration and status parameters.</t>
      <section anchor="collection-resource-get">
        <name>Retrieve the Full List of Group Configurations</name>
        <t>This operation <bcp14>MUST</bcp14> be supported by the Group Manager and an Administrator.</t>
        <t>The Administrator can send a GET request to the group-collection resource, in order to retrieve a list of the existing OSCORE groups at the Group Manager. This is returned as a list of links to the corresponding group-configuration resources.</t>
        <t>The Group Manager <bcp14>MUST</bcp14> prepare the list L to include in the response as follows. For each group-configuration resource R:</t>
        <ol spacing="normal" type="1"><li>
            <t>The Group Manager considers the group name GROUPNAME of the OSCORE group associated with R.</t>
          </li>
          <li>
            <t>The Group Manager retrieves the stored Access Token for the Administrator. Then, it checks whether GROUPNAME matches with the group name pattern specified in any scope entry of the 'scope' claim in the Access Token.</t>
          </li>
          <li>
            <t>The link to the group-configuration resource R is added to the list L only in case of a positive match.</t>
          </li>
        </ol>
        <t>An example of message exchange is shown below.</t>
        <artwork><![CDATA[
=> 0.01 GET
   Uri-Path: "manage"

<= 2.05 Content
   Content-Format: 40 (application/link-format)

   Payload:

   <coap://[2001:db8::ab]/manage/gp1>;rt="core.osc.gconf",
   <coap://[2001:db8::ab]/manage/gp2>;rt="core.osc.gconf",
   <coap://[2001:db8::ab]/manage/gp3>;rt="core.osc.gconf"
]]></artwork>
      </section>
      <section anchor="collection-resource-fetch">
        <name>Retrieve a List of Group Configurations by Filters</name>
        <t>This operation <bcp14>MUST</bcp14> be supported by the Group Manager and <bcp14>MAY</bcp14> be supported by an Administrator.</t>
        <t>The Administrator can send a FETCH request to the group-collection resource, in order to retrieve a list of the existing OSCORE groups that fully match a set of specified filter criteria. This is returned as a list of links to the corresponding group-configuration resources.</t>
        <t>The filter criteria are specified in the request payload as a CBOR map, whose possible entries are specified in <xref target="config-repr"/>.</t>
        <t>Entry values are the ones admitted for the corresponding labels in the POST request for creating a group configuration (see <xref target="collection-resource-post"/>), with the exception that the parameter 'group_name' (if present) can also be encoded as a tagged CBOR data item, specifying a group name pattern with the semantics signaled by the CBOR tag.</t>
        <t>In such a case, the parameter 'group_name' expresses a group name pattern in the same way as a complex pattern Toid does in a scope entry (see Section 3). In particular, the filter criterion is satisfied by any group name that matches with the group name pattern specified by the parameter 'group_name' in the payload of the FETCH request.</t>
        <t>The Group Manager <bcp14>MUST</bcp14> prepare the list L to include in the response as follows.</t>
        <ol spacing="normal" type="1"><li>
            <t>The Group Manager prepares a preliminary version of the list L, as specified in <xref target="collection-resource-get"/> for the processing of a GET request to the group-collection resource.</t>
          </li>
          <li>
            <t>The Group Manager applies the filter criteria specified in the FETCH request to the list L from the previous step. The result is the list L to include in the response.</t>
          </li>
        </ol>
        <t>An example of message exchange is shown below.</t>
        <artwork><![CDATA[
=> 0.05 FETCH
   Uri-Path: "manage"
   Content-Format: 261 (application/ace-groupcomm+cbor)

   Payload:

   {
       e'group_mode' : true,
       e'gp_enc_alg' : 10 / AES-CCM-16-64-128 /,
             e'hkdf' : 5 / HMAC-256-256 /
   }

<= 2.05 Content
   Content-Format: 40 (application/link-format)

   Payload:

   <coap://[2001:db8::ab]/manage/gp1>;rt="core.osc.gconf",
   <coap://[2001:db8::ab]/manage/gp2>;rt="core.osc.gconf",
   <coap://[2001:db8::ab]/manage/gp3>;rt="core.osc.gconf"
]]></artwork>
        <t>The following, additional example considers a request payload that uses both configuration parameters and status parameters as filter criteria. In particular, the following is assumed.</t>
        <ul spacing="normal">
          <li>
            <t>In the URI of every group-configuration resource, the path component is /manage/GROUPNAME, where GROUPNAME is the group name of the associated OSCORE group.</t>
          </li>
          <li>
            <t>The Group Manager hosts four group-configuration resources, for the OSCORE groups with names "gp4", "gp5", "gp6", and "foo". All the OSCORE groups use the AEAD Algorithm AES-CCM-16-64-128 (COSE algorithm encoding: 10). Also, all the OSCORE groups are currently active, except for "gp6".</t>
          </li>
        </ul>
        <artwork><![CDATA[
=> 0.05 FETCH
   Uri-Path: "manage"
   Content-Format: 261 (application/ace-groupcomm+cbor)

   Payload:

   {
       e'gp_enc_alg' : 10 / AES-CCM-16-64-128 /,
       e'group_name' : 21065("gp[0-9]*"),
           e'active' : true
   }

<= 2.05 Content
   Content-Format: 40 (application/link-format)

   Payload:

   <coap://[2001:db8::ab]/manage/gp4>;rt="core.osc.gconf",
   <coap://[2001:db8::ab]/manage/gp5>;rt="core.osc.gconf"
]]></artwork>
      </section>
      <section anchor="collection-resource-post">
        <name>Create a New Group Configuration</name>
        <t>This operation <bcp14>MUST</bcp14> be supported by the Group Manager and an Administrator.</t>
        <t>The Administrator can send a POST request to the group-collection resource, in order to create a new OSCORE group at the Group Manager. The request <bcp14>MUST</bcp14> specify the intended group name GROUPNAME, and <bcp14>MAY</bcp14> specify the intended group title together with pieces of information concerning the group configuration.</t>
        <t>The request payload is a CBOR map, whose possible entries are specified in <xref target="config-repr"/>. In particular:</t>
        <ul spacing="normal">
          <li>
            <t>The payload <bcp14>MAY</bcp14> include any of the configuration parameters defined in <xref target="config-repr-config-properties"/>.</t>
          </li>
          <li>
            <t>The payload <bcp14>MUST</bcp14> include the status parameter 'group_name' defined in <xref target="config-repr-status-properties"/> and specifying the intended group name encoded as a CBOR text string. As defined later in this section, the group name specified in this parameter is simply a suggestion to the Group Manager, which makes the final decision about the name to assign to the new group.</t>
          </li>
          <li>
            <t>The payload <bcp14>MAY</bcp14> include any of the status parameters 'active', 'group_description', 'max_stale_sets', 'exp', 'gid_reuse', 'app_groups', 'group_policies', and 'as_uri' defined in <xref target="config-repr-status-properties"/>.</t>
          </li>
          <li>
            <t>The payload <bcp14>MUST NOT</bcp14> include any of the status parameters 'rt', 'ace_groupcomm_profile', and 'joining_uri' defined in <xref target="config-repr-status-properties"/>.</t>
          </li>
        </ul>
        <t>When performing the authorization checks, the Group Manager uses the value of the 'group_name' parameter from the request as TARGETNAME, and "Create" as PERMISSION.</t>
        <t>If the group configuration to be created would include parameter values that prevent the Group Manager from performing the operations defined in <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> (e.g., due to the Group Manager not supporting a format of authentication credentials), the Group Manager <bcp14>MUST</bcp14> respond with a 5.03 (Service Unavailable) response. The response <bcp14>MUST</bcp14> have Content-Format set to application/concise-problem-details+cbor <xref target="RFC9290"/> and is formatted as defined in <xref section="4.1.2" sectionFormat="of" target="RFC9594"/>. Within the Custom Problem Detail entry 'ace-groupcomm-error', the value of the 'error-id' field <bcp14>MUST</bcp14> be set to 12 ("Unsupported group configuration"), and the 'detail' field <bcp14>SHOULD</bcp14> be included in order to provide additional context.</t>
        <t>Otherwise, if any of the following occurs, the Group Manager <bcp14>MUST</bcp14> respond with a 4.00 (Bad Request) response.</t>
        <ul spacing="normal">
          <li>
            <t>Any of the received parameters is not recognized, or not valid, or not consistent with respect to other related parameters. In particular, the value of the status parameter 'exp' (if present) is not valid if the indicated expiration date is not in the future.</t>
          </li>
          <li>
            <t>The Group Manager does not trust or deem acceptable the Authorization Server with URI specified in the 'as_uri' parameter, and has no alternative Authorization Server to consider for the OSCORE group to create.</t>
          </li>
        </ul>
        <t>After a successful processing of the POST request, the Group Manager performs the following actions.</t>
        <t>If the 'group_name' parameter specifies the group name of an already existing OSCORE group, the Group Manager <bcp14>MUST</bcp14> try to determine an alternative name for the new OSCORE group to create.</t>
        <t>In addition to that, the final decision about the name assigned to the new OSCORE group is always of the Group Manager, which may have more constraints than the Administrator can be aware of, possibly beyond the availability of suggested names. For example, the Group Manager may specifically want to use a randomized character string as the name of a newly created group.</t>
        <t>If the Group Manager has selected a name GROUPNAME different from the name GROUPNAME* indicated in the parameter 'group_name' of the request, then the following conditions <bcp14>MUST</bcp14> hold.</t>
        <ul spacing="normal">
          <li>
            <t>The chosen name GROUPNAME is available to assign; and</t>
          </li>
          <li>
            <t>With reference to the 'scope' claim in the stored Access Token for the Administrator, let us define PERM* as the union of the permission sets associated with the scope entries such that GROUPNAME* matches with the specified group name pattern. Also, let us define PERM as the union of the permission sets associated with the scope entries such that GROUPNAME matches with the specified group name pattern. Then, PERM and PERM* <bcp14>MUST</bcp14> be equal.</t>
          </li>
        </ul>
        <t>If the Group Manager does not manage to determine a group name for which both the above conditions hold, the Group Manager <bcp14>MUST</bcp14> respond with a 5.03 (Service Unavailable) response. The response <bcp14>MUST</bcp14> have Content-Format set to application/concise-problem-details+cbor <xref target="RFC9290"/> and is formatted as defined in <xref section="4.1.2" sectionFormat="of" target="RFC9594"/>. Within the Custom Problem Detail entry 'ace-groupcomm-error', the value of the 'error-id' field <bcp14>MUST</bcp14> be set to 11 ("Unable to determine a group name").</t>
        <t>Otherwise, the Group Manager creates a new group-configuration resource, accessible to the Administrator at /manage/GROUPNAME, where GROUPNAME is the name of the OSCORE group as either indicated in the parameter 'group_name' of the request or uniquely assigned by the Group Manager. The group-collection resource is also accordingly updated.</t>
        <t>The operation of creating the new group-configuration resource and accordingly updating the group-collection resource <bcp14>MUST</bcp14> be atomic. That is, until the request processing fails, or the group-configuration resource is fully created and the values of its parameters set, the following applies.</t>
        <ul spacing="normal">
          <li>
            <t>The group-configuration resource <bcp14>MUST NOT</bcp14> be accessible through other operations.</t>
          </li>
          <li>
            <t>The group-collection resource <bcp14>MUST NOT</bcp14> be updated to reflect the presence of the new group-configuration resource.</t>
          </li>
        </ul>
        <t>When the group-collection resource is eventually updated to reflect the presence of the new group-configuration resource, this update <bcp14>MUST NOT</bcp14> be interrupted by other updates to the group-collection resource due to the creation or deletion of group-configuration resources.</t>
        <t>In the newly created group-configuration resource, the value of the status parameter 'rt' is set to "core.osc.gconf". The values of other parameters specified in the request are used as group configuration information for the newly created OSCORE group.</t>
        <t>If the request specifies the parameter 'gid_reuse' encoding the CBOR simple value <tt>true</tt> (0xf5) and the Group Manager does not support the reassignment of OSCORE Group ID values (see <xref section="12.2.1.1" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/> and <xref section="11" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>), then the Group Manager sets the value of the 'gid_reuse' status parameter in the group-configuration resource to the CBOR simple value <tt>false</tt> (0xf4).</t>
        <t>For each parameter not specified in the request, the Group Manager refers to the default values specified in <xref target="default-values"/>.</t>
        <t>After that, the Group Manager creates a new group-membership resource accessible at /ace-group/GROUPNAME to nodes that want to join the OSCORE group, as specified in <xref section="6.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>. Note that such group membership-resource comprises a number of sub-resources intended to current group members, as defined in <xref section="4.1" sectionFormat="of" target="RFC9594"/> and <xref section="8" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</t>
        <t>From then on, the Group Manager will rely on the current group configuration to build the Join Response message defined in <xref section="6.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>, when handling the joining of a new group member. Furthermore, the Group Manager generates the following pieces of information, and assigns them to the newly created OSCORE group:</t>
        <ul spacing="normal">
          <li>
            <t>The OSCORE Master Secret.</t>
          </li>
          <li>
            <t>The OSCORE Master Salt (optionally).</t>
          </li>
          <li>
            <t>The Group ID, used as OSCORE ID Context, which <bcp14>MUST</bcp14> be unique within the set of OSCORE groups under the Group Manager.</t>
          </li>
        </ul>
        <t>Finally, the Group Manager replies to the Administrator with a 2.01 (Created) response. One or more Location-Path options <bcp14>MUST</bcp14> be included in the response, indicating the location of the just created group-configuration resource. The response <bcp14>MUST NOT</bcp14> include a Location-Query option.</t>
        <t>The response payload specifies the parameters 'group_name', 'joining_uri', and 'as_uri', from the status parameters of the newly created OSCORE group (see <xref target="config-repr"/>), as detailed below.</t>
        <t>The response payload is a CBOR map, whose possible entries are specified in <xref target="config-repr"/>. In particular, the following applies.</t>
        <ul spacing="normal">
          <li>
            <t>'group_name', which specifies the group name of the OSCORE group. This value can be different from the group name possibly specified by the Administrator in the POST request, and reflects the final choice of the Group Manager as value of the 'group_name' status parameter for the OSCORE group. This parameter <bcp14>MUST</bcp14> be included.</t>
          </li>
          <li>
            <t>'joining_uri', which specifies the URI of the group-membership resource for joining the newly created OSCORE group. This parameter <bcp14>MUST</bcp14> be included.</t>
          </li>
          <li>
            <t>'as_uri', which specifies the URI of the Authorization Server associated with the Group Manager for the newly created OSCORE group. This parameter <bcp14>MUST</bcp14> be included. Its value can be different from the URI possibly specified by the Administrator in the POST request, and reflects the final choice of the Group Manager as value of the 'as_uri' status parameter for the OSCORE group.</t>
          </li>
        </ul>
        <t>If the POST request specified the parameter 'gid_reuse' encoding the CBOR simple value <tt>true</tt> (0xf5) but the Group Manager has set the value of the 'gid_reuse' status parameter in the group-configuration resource to the CBOR simple value <tt>false</tt> (0xf4), then the response payload <bcp14>MUST</bcp14> include also the parameter 'gid_reuse' encoding the CBOR simple value <tt>false</tt> (0xf4).</t>
        <t>If the POST request did not specify certain parameters and the Group Manager used default values different from the ones recommended in <xref target="default-values"/>, then the response payload <bcp14>MUST</bcp14> also include those parameters, specifying the values chosen by the Group Manager for the current group configuration.</t>
        <t>The Group Manager can register the link to the group-membership resource with URI specified in 'joining_uri' to a Resource Directory <xref target="RFC9176"/>, as defined in <xref section="2" sectionFormat="of" target="I-D.tiloca-core-oscore-discovery"/>. The Group Manager considers the current group configuration when specifying additional information for the link to register.</t>
        <t>It is also possible that the Administrator performs the registration in the Resource Directory on behalf of the Group Manager, acting as Commissioning Tool. The Administrator considers the following when specifying additional information for the link to register.</t>
        <ul spacing="normal">
          <li>
            <t>The name of the OSCORE group <bcp14>MUST</bcp14> take the value specified in 'group_name' from the 2.01 (Created) response.</t>
          </li>
          <li>
            <t>The names of the application groups using the OSCORE group <bcp14>MUST</bcp14> take the values possibly specified by the elements of the 'app_groups' parameter in the POST request.</t>
          </li>
          <li>
            <t>If also registering a related link to the Authorization Server associated with the OSCORE group, the related link <bcp14>MUST</bcp14> have as link target the URI in 'as_uri' from the 2.01 (Created) response.</t>
          </li>
          <li>
            <t>As to every other information element describing the current group configuration, the following applies.  </t>
            <ul spacing="normal">
              <li>
                <t>If a certain parameter was specified in the POST request, the Administrator <bcp14>MUST</bcp14> use either the value specified in the 2.01 (Created) response, if the Group Manager specified one, or the value specified in the POST request otherwise.</t>
              </li>
              <li>
                <t>If a certain parameter was not specified in the POST request, the Administrator <bcp14>MUST</bcp14> use either the value specified in the 2.01 (Created) response, if the Group Manager specified one, or the corresponding default value recommended in <xref target="default-values-conf"/> otherwise.</t>
              </li>
            </ul>
          </li>
        </ul>
        <t>Note that, compared to the Group Manager, the Administrator is less likely to remain closely aligned with possible changes and updates that would require a prompt update to the registration in the Resource Directory. This applies especially to the address of the Group Manager, as well as the URI of the group-membership resource or of the Authorization Server associated with the Group Manager.</t>
        <t>Therefore, it is <bcp14>RECOMMENDED</bcp14> that registrations of links to group-membership resources in the Resource Directory are made (and possibly updated) directly by the Group Manager, rather than by the Administrator.</t>
        <t>An example of message exchange is shown below.</t>
        <artwork><![CDATA[
=> 0.02 POST
   Uri-Path: "manage"
   Content-Format: 261 (application/ace-groupcomm+cbor)

   Payload:

   {
            e'gp_enc_alg' : 10 / AES-CCM-16-64-128 /,
                  e'hkdf' : 5 / HMAC-256-256 /,
         e'pairwise_mode' : true,
                e'active' : true,
            e'group_name' : "gp4",
     e'group_description' : "rooms 1 and 2",
            e'app_groups' : ["room1", "room2"],
                e'as_uri' : "coap://as.example.com/token"
   }

<= 2.01 Created
   Location-Path: "manage"
   Location-Path: "gp4"
   Content-Format: 261 (application/ace-groupcomm+cbor)

   Payload:

   {
      e'group_name' : "gp4",
     e'joining_uri' : "coap://[2001:db8::ab]/ace-group/gp4/",
          e'as_uri' : "coap://as.example.com/token"
   }
]]></artwork>
      </section>
      <section anchor="configuration-resource-get">
        <name>Retrieve a Group Configuration</name>
        <t>This operation <bcp14>MUST</bcp14> be supported by the Group Manager and an Administrator.</t>
        <t>The Administrator can send a GET request to the group-configuration resource manage/GROUPNAME associated with an OSCORE group with group name GROUPNAME, in order to retrieve the complete current configuration of that group.</t>
        <t>When performing the authorization checks, the Group Manager uses GROUPNAME as TARGETNAME, and "Read" as PERMISSION.</t>
        <t>Otherwise, after a successful processing of the GET request, the Group Manager replies to the Administrator with a 2.05 (Content) response. The response has as payload the representation of the group configuration as specified in <xref target="config-repr"/>. The exact content of the payload reflects the current configuration of the OSCORE group. This includes both configuration parameters and status parameters.</t>
        <t>The response payload is a CBOR map, whose possible entries are specified in <xref target="config-repr"/>.</t>
        <t>An example of message exchange is shown below.</t>
        <artwork><![CDATA[
=> 0.01 GET
   Uri-Path: "manage"
   Uri-Path: "gp4"

<= 2.05 Content
   Content-Format: 261 (application/ace-groupcomm+cbor)

   Payload:

   {
                      e'hkdf' : 5 / HMAC-256-256 /,
                  e'cred_fmt' : 33 / x5chain /,
                e'group_mode' : true,
                e'gp_enc_alg' : 10 / AES-CCM-16-64-128 /,
                  e'sign_alg' : -8 / EdDSA /,
               e'sign_params' : [[1], [1, 6]]
                                / [[OKP], [OKP, Ed25519]] /,
             e'pairwise_mode' : true,
                       e'alg' : 10 / AES-CCM-16-64-128 /,
                  e'ecdh_alg' : -27 / ECDH-SS-HKDF-256 /,
               e'ecdh_params' : [[1], [1, 4]]
                                / [[OKP], [OKP, X25519]] /,
                   e'det_req' : false,
                        e'rt' : "core.osc.gconf",
                    e'active' : true,
                e'group_name' : "gp4",
         e'group_description' : "rooms 1 and 2",
     e'ace_groupcomm_profile' : "coap_group_oscore_app",
            e'max_stale_sets' : 3,
                       e'exp' : 1360289224,
                 e'gid_reuse' : false,
                e'app_groups' : ["room1", "room2"],
               e'joining_uri' : "coap://[2001:db8::ab]/ace-group/gp4/",
                    e'as_uri' : "coap://as.example.com/token"
   }
]]></artwork>
      </section>
      <section anchor="configuration-resource-fetch">
        <name>Retrieve Part of a Group Configuration by Filters</name>
        <t>This operation <bcp14>MUST</bcp14> be supported by the Group Manager and <bcp14>MAY</bcp14> be supported by an Administrator.</t>
        <t>The Administrator can send a FETCH request to the group-configuration resource manage/GROUPNAME associated with an OSCORE group with group name GROUPNAME, in order to retrieve part of the current configuration of that group.</t>
        <t>The request payload is a CBOR map, which contains the following field:</t>
        <ul spacing="normal">
          <li>
            <t>'conf_filter', encoded as a CBOR array. Each element of the array specifies one requested configuration parameter or status parameter of the current group configuration (see <xref target="config-repr"/>), encoded with the corresponding CBOR abbreviation defined in <xref target="groupcomm-parameters"/>.</t>
          </li>
        </ul>
        <t>When performing the authorization checks, the Group Manager uses GROUPNAME as TARGETNAME, and "Read" as PERMISSION.</t>
        <t>After a successful processing of the FETCH request, the Group Manager replies to the Administrator with a 2.05 (Content) response. The response has as payload a partial representation of the group configuration (see <xref target="config-repr"/>). The exact content of the payload reflects the current configuration of the OSCORE group, and is limited to the configuration parameters and status parameters requested by the Administrator in the FETCH request.</t>
        <t>The response payload includes the requested configuration parameters and status parameters, and is formatted as in the response payload of a GET request to a group-configuration resource (see <xref target="configuration-resource-get"/>). If the request payload specifies a parameter that is not included in the group configuration, then the response payload <bcp14>MUST NOT</bcp14> include a corresponding parameter.</t>
        <t>An example of message exchange is shown below.</t>
        <artwork><![CDATA[
=> 0.05 FETCH
   Uri-Path: "manage"
   Uri-Path: "gp4"
   Content-Format: 261 (application/ace-groupcomm+cbor)

   Payload:

   {
     e'conf_filter' : [e'gp_enc_alg',
                       e'hkdf',
                       e'pairwise_mode',
                       e'active',
                       e'group_description',
                       e'app_groups']
   }

<= 2.05 Content
   Content-Format: 261 (application/ace-groupcomm+cbor)

   Payload:

   {
            e'gp_enc_alg' : 10 / AES-CCM-16-64-128 /,
                  e'hkdf' : 5 / HMAC-256-256 /,
         e'pairwise_mode' : true,
                e'active' : true,
     e'group_description' : "rooms 1 and 2",
            e'app_groups' : ["room1", "room2"]
   }

]]></artwork>
      </section>
      <section anchor="configuration-resource-post">
        <name>Overwrite a Group Configuration</name>
        <t>This operation <bcp14>MAY</bcp14> be supported by the Group Manager and an Administrator.</t>
        <t>The Administrator can send a POST request to the group-configuration resource manage/GROUPNAME associated with an OSCORE group with group name GROUPNAME, in order to overwrite the current configuration of that group with a new one.</t>
        <t>The payload of the request has the same format of the POST request defined in <xref target="collection-resource-post"/>, with the exception that the configuration parameters 'group_mode' and 'pairwise_mode' as well as the status parameters 'group_name' and 'gid_reuse' <bcp14>MUST NOT</bcp14> be included.</t>
        <t>The error handling for the POST request is the same as for the POST request defined in <xref target="collection-resource-post"/>, with the following difference in terms of authorization checks.</t>
        <t>When performing the authorization checks, the Group Manager uses GROUPNAME as TARGETNAME, and "Write" as PERMISSION.</t>
        <t>If the group-configuration resource targeted by the POST request does not currently exist, then the Group Manager <bcp14>MUST NOT</bcp14> create the resource and <bcp14>MUST</bcp14> reply with a 4.04 (Not Found) error response.</t>
        <t>If the updated group configuration would include parameter values that prevent the Group Manager from performing the operations defined in <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> (e.g., due to the Group Manager not supporting a format of authentication credentials), the Group Manager <bcp14>MUST</bcp14> respond with a 5.03 (Service Unavailable) response. The response <bcp14>MUST</bcp14> have Content-Format set to application/concise-problem-details+cbor <xref target="RFC9290"/> and is formatted as defined in <xref section="4.1.2" sectionFormat="of" target="RFC9594"/>. Within the Custom Problem Detail entry 'ace-groupcomm-error', the value of the 'error-id' field <bcp14>MUST</bcp14> be set to 12 ("Unsupported group configuration"), and the 'detail' field <bcp14>SHOULD</bcp14> be included in order to provide additional context.</t>
        <t>If no error occurs and the POST request is successfully processed, the Group Manager performs the following actions.</t>
        <t>First, the Group Manager updates the group-configuration resource, consistently with the values indicated in the POST request from the Administrator. When doing so, the configuration parameters 'group_mode' and 'pairwise_mode' as well as the status parameters 'group_name' and 'gid_reuse' <bcp14>MUST</bcp14> remain unchanged.</t>
        <t>For each other parameter not specified in the POST request, the Group Manager <bcp14>MUST</bcp14> use default values as specified in <xref target="default-values"/>. Note that the default value recommended for the status parameter 'active' is the CBOR simple value <tt>false</tt> (0xf4). Therefore, if the Administrator intends to preserve the current status of the group as active, then the payload of the POST request has to include the parameter 'active' specifying the CBOR simple value <tt>true</tt> (0xf5).</t>
        <t>When updating the group-configuration resource, the corresponding group-membership resource is also accordingly updated. The operation of overwriting such two resources <bcp14>MUST</bcp14> be atomic. That is, until the request processing fails, or the group-configuration resource has been fully updated and the values of its parameters set, the following applies.</t>
        <ul spacing="normal">
          <li>
            <t>The group-configuration resource <bcp14>MUST NOT</bcp14> be accessible through other operations.</t>
          </li>
          <li>
            <t>The group-membership resource <bcp14>MUST NOT</bcp14> be updated to reflect the new group configuration.</t>
          </li>
          <li>
            <t>The filter criteria specified in a FETCH request to the group-collection resource (see Section 6.2) <bcp14>MUST</bcp14> be compared against the representation that the group-configuration resource had before its update started.</t>
          </li>
        </ul>
        <t>When the group-membership resource is eventually updated to reflect the new group configuration, this update <bcp14>MUST NOT</bcp14> be interrupted by other operations performed on the group-membership resource.</t>
        <t>If a new value N' is specified for the 'max_stale_sets' status parameter and N' is smaller than the current value N, the Group Manager preserves the (up to) N' most recent sets of stale OSCORE Sender IDs associated with the group, and deletes any possible older set (see <xref section="7.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>).</t>
        <t>From then on, the Group Manager relies on the latest updated configuration to build the Join Response message defined in <xref section="6.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>, when handling the joining of a new group member. Similarly, the Group Manager relies on the new group configuration when building responses specifying (part of) the group configuration to a current group member. For instance, this applies when a group member retrieves from the Group Manager the updated group keying material (see <xref section="9.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>) or the current group status (see <xref section="9.9" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>).</t>
        <t>Then, the Group Manager replies to the Administrator with a 2.04 (Changed) response. The payload of the response has the same format of the 2.01 (Created) response defined in <xref target="collection-resource-post"/>.</t>
        <t>If the POST request did not specify certain parameters and the Group Manager used default values different from the ones recommended in <xref target="default-values"/>, then the response payload <bcp14>MUST</bcp14> include also those parameters, specifying the values chosen by the Group Manager for the current group configuration.</t>
        <t>If the link to the group-membership resource was registered in the Resource Directory <xref target="RFC9176"/>, the Group Manager is responsible to refresh the registration, as defined in <xref section="3" sectionFormat="of" target="I-D.tiloca-core-oscore-discovery"/>.</t>
        <t>It is also possible that the Administrator updates the registration in the Resource Directory on behalf of the Group Manager, acting as Commissioning Tool. The Administrator considers the following when specifying additional information for the link to update.</t>
        <ul spacing="normal">
          <li>
            <t>The name of the OSCORE group <bcp14>MUST</bcp14> take the value specified in 'group_name' from the 2.04 (Changed) response.</t>
          </li>
          <li>
            <t>The names of the application groups using the OSCORE group <bcp14>MUST</bcp14> take the values possibly specified by the elements of the 'app_groups' parameter in the POST request.</t>
          </li>
          <li>
            <t>If also registering a related link to the Authorization Server associated with the OSCORE group, the related link <bcp14>MUST</bcp14> have as link target the URI in 'as_uri' from the 2.04 (Changed) response.</t>
          </li>
          <li>
            <t>As to every other information element describing the current group configuration, the following applies.  </t>
            <ul spacing="normal">
              <li>
                <t>If a certain parameter was specified in the POST request, the Administrator <bcp14>MUST</bcp14> use either the value specified in the 2.04 (Changed) response, if the Group Manager specified one, or the value specified in the POST request otherwise.</t>
              </li>
              <li>
                <t>If a certain parameter was not specified in the POST request, the Administrator <bcp14>MUST</bcp14> use either the value specified in the 2.04 (Changed) response, if the Group Manager specified one, or the corresponding default value recommended in <xref target="default-values-conf"/> otherwise.</t>
              </li>
            </ul>
          </li>
        </ul>
        <t>As discussed in <xref target="collection-resource-post"/>, it is <bcp14>RECOMMENDED</bcp14> that registrations of links to group-membership resources in the Resource Directory are made (and possibly updated) directly by the Group Manager, rather than by the Administrator.</t>
        <t>An example of message exchange is shown below.</t>
        <artwork><![CDATA[
=> 0.02 POST
   Uri-Path: "manage"
   Uri-Path: "gp4"
   Content-Format: 261 (application/ace-groupcomm+cbor)

   Payload:

   {
       e'gp_enc_alg' : 11 / AES-CCM-16-64-256 /,
             e'hkdf' : 5 / HMAC-256-256 /
   }

<= 2.04 Changed
   Content-Format: 261 (application/ace-groupcomm+cbor)

   Payload:

   {
      e'group_name' : "gp4",
     e'joining_uri' : "coap://[2001:db8::ab]/ace-group/gp4/",
          e'as_uri' : "coap://as.example.com/token"
   }
]]></artwork>
        <section anchor="sssec-effects-overwrite-joining-nodes">
          <name>Effects on Joining Nodes</name>
          <t>After having overwritten a group configuration, if the value of the status parameter 'active' is changed from <tt>true</tt> (0xf5) to <tt>false</tt> (0xf4), the Group Manager <bcp14>MUST</bcp14> stop admitting new members in the OSCORE group. In particular, until the status parameter 'active' is changed back to <tt>true</tt> (0xf5), the Group Manager <bcp14>MUST</bcp14> respond to a Join Request with a 5.03 (Service Unavailable) response, as defined in <xref section="6.2" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</t>
          <t>If the value of the status parameter 'active' is changed from <tt>false</tt> (0xf4) to <tt>true</tt> (0xf5), the Group Manager resumes admitting new members in the OSCORE group, by processing their Join Requests (see <xref section="6.2" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>).</t>
        </section>
        <section anchor="sssec-effects-overwrite-group-members">
          <name>Effects on the Group Members</name>
          <t>After having overwritten a group configuration, the Group Manager informs the members of the OSCORE group, over the pairwise secure communication channels established when joining the group (see <xref section="6" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>).</t>
          <t>To this end, the Group Manager can individually target the 'control_uri' URI of each group member (see <xref section="4.3.1" sectionFormat="of" target="RFC9594"/>), if provided by the intended recipient upon joining the OSCORE group (see <xref section="6.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>). Such messages sent by the Group Manager to each group member <bcp14>MUST</bcp14> have Content-Format set to application/ace-groupcomm+cbor, and <bcp14>MUST</bcp14> be formatted as the Join Response defined in <xref section="6.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>, with the following differences.</t>
          <ul spacing="normal">
            <li>
              <t>Only the parameters 'gkty', 'key', 'num', 'exp', and 'ace_groupcomm_profile' are present.</t>
            </li>
            <li>
              <t>The 'key' parameter includes only the following parameters, with values reflecting the new configuration of the OSCORE group.  </t>
              <ul spacing="normal">
                <li>
                  <t>'hkdf' and 'cred_fmt'.</t>
                </li>
                <li>
                  <t>'sign_enc_alg', 'sign_alg', and 'sign_params', only in case the configuration parameter 'group_mode' in the group-configuration resource has value <tt>true</tt> (0xf5), i.e., the OSCORE group uses the group mode of Group OSCORE.      </t>
                  <t>
Editor's note: as per the text above, the referred version of <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> still uses 'sign_enc_alg' as parameter name. The next version of <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> will be updated in order to use 'gp_enc_alg' instead, as already done for this document and consistently with the naming used in the latest version of <xref target="I-D.ietf-core-oscore-groupcomm"/>.</t>
                </li>
                <li>
                  <t>'alg', 'ecdh_alg', and 'ecdh_params', only in case the configuration parameter 'pairwise_mode' in the group-configuration resource has value <tt>true</tt> (0xf5), i.e., the OSCORE group uses the pairwise mode of Group OSCORE.</t>
                </li>
                <li>
                  <t>'det_hash_alg' defined in <xref section="4" sectionFormat="of" target="I-D.amsuess-core-cachable-oscore"/>, only in case the configuration parameter 'det_req' is present with value <tt>true</tt> (0xf5), and specifying the Hash Algorithm used in the OSCORE group when producing deterministic requests, as defined in <xref target="I-D.amsuess-core-cachable-oscore"/>.</t>
                </li>
              </ul>
            </li>
          </ul>
          <t>Alternatively, group members can obtain the information above by accessing the group-membership resource associated with the OSCORE group (see <xref section="9.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>), optionally by subscribing for updates to such a resource, e.g., by using CoAP Observe <xref target="RFC7641"/>.</t>
          <t>When receiving such information, each group member uses it to update the corresponding parameters in the Group OSCORE Security Context of the group in question (see <xref section="2" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>. If any of 'sign_enc_alg', 'sign_alg', 'alg', and 'ecdh_alg' has as value the CBOR simple value <tt>null</tt> (0xf6), then the corresponding parameter in the Group OSCORE Security Context becomes unset if it is not already. According to the new parameter values, each group member derives new Sender/Recipient Keys, a new Common IV, and new Pairwise Keys. When doing so, a group member <bcp14>MUST NOT</bcp14> reset the Sender Sequence Number in its Sender Context or reset the Replay Window in its Recipient Contexts.</t>
          <t>Editor's note: as per the text above, the referred version of <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> still uses 'sign_enc_alg' as parameter name. The next version of <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> will be updated in order to use 'gp_enc_alg' instead, as already done for this document and consistently with the naming used in the latest version of <xref target="I-D.ietf-core-oscore-groupcomm"/>.</t>
          <t>The following holds when the value of specific parameters is updated.</t>
          <ul spacing="normal">
            <li>
              <t>If the value of the status parameter 'active' is changed from <tt>true</tt> (0xf5) to <tt>false</tt> (0xf4):  </t>
              <ul spacing="normal">
                <li>
                  <t>The Group Manager <bcp14>MUST</bcp14> stop accepting requests for new individual keying material from current group members (see <xref section="9.2" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>), until the status parameter 'active' is changed back to <tt>true</tt> (0xf5). Until then, the Group Manager <bcp14>MUST</bcp14> respond to a Key Renewal Request with a 5.03 (Service Unavailable) response, as defined in <xref section="9.2" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</t>
                </li>
                <li>
                  <t>The Group Manager <bcp14>MUST</bcp14> stop accepting updated authentication credentials uploaded by current group members (see <xref section="9.4" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>), until the status parameter 'active' is changed back to <tt>true</tt> (0xf5). Until then, the Group Manager <bcp14>MUST</bcp14> respond to an Authentication Credential Update Request with a 5.03 (Service Unavailable) response, as defined in <xref section="9.4" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</t>
                </li>
              </ul>
            </li>
            <li>
              <t>Every group member, upon learning that the OSCORE group has been deactivated (i.e., 'active' has value <tt>false</tt> (0xf4)), <bcp14>SHOULD</bcp14> stop communicating in the group.  </t>
              <t>
Every group member, upon learning that the OSCORE group has been reactivated (i.e., 'active' has value <tt>true</tt> (0xf5) again), can resume communicating in the group.</t>
            </li>
            <li>
              <t>If the value of 'gp_enc_alg' and/or 'alg' is changed, the Group Manager determines the new maximum size NEW_MAX_SIZE that can be used for the OSCORE Sender IDs of the group members, based on the size of the AEAD nonce of such algorithms (see <xref section="2.2" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>). In case NEW_MAX_SIZE is strictly smaller than the old, maximum size of the OSCORE Sender IDs used in the OSCORE group, the Group Manager <bcp14>MUST</bcp14> proceed as follows.  </t>
              <ul spacing="normal">
                <li>
                  <t>The Group Manager checks if any of the current group members has an OSCORE Sender ID whose size is strictly larger than NEW_MAX_SIZE.</t>
                </li>
                <li>
                  <t>If any of such group members is found, the Group Manager <bcp14>MUST</bcp14> evict them from the OSCORE group. That is, the Group Manager <bcp14>MUST</bcp14> terminate their membership and <bcp14>MUST</bcp14> rekey the group in such a way that the new keying material is not provided to those evicted members. This also includes adding their relinquished Sender IDs to the most recent set of stale Sender IDs for the OSCORE group (see <xref section="7.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>), before rekeying the group. Such evicted group members can rejoin the OSCORE group, thus obtaining the new group keying material together with a new, valid OSCORE Sender ID.</t>
                </li>
              </ul>
            </li>
            <li>
              <t>Every group member, upon receiving updated values for 'hkdf', 'sign_enc_alg', and 'alg', <bcp14>MUST</bcp14> either:  </t>
              <ul spacing="normal">
                <li>
                  <t>Leave the OSCORE group (see <xref section="9.11" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>), e.g., if not supporting the indicated new algorithms; or</t>
                </li>
                <li>
                  <t>Remain in the OSCORE group and use the Group OSCORE Security Context after having updated it as defined above.</t>
                </li>
              </ul>
              <t>
Editor's note: as per the text above, the referred version of <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> still uses 'sign_enc_alg' as parameter name. The next version of <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> will be updated in order to use 'gp_enc_alg' instead, as already done for this document and consistently with the naming used in the latest version of <xref target="I-D.ietf-core-oscore-groupcomm"/>.</t>
            </li>
            <li>
              <t>Every group member, upon receiving updated values for 'cred_fmt', 'sign_alg', 'sign_params', 'ecdh_alg', and 'ecdh_params' <bcp14>MUST</bcp14> either:  </t>
              <ul spacing="normal">
                <li>
                  <t>Leave the OSCORE group, e.g., if not supporting the indicated new format, algorithms, parameters, and encoding; or</t>
                </li>
                <li>
                  <t>Leave the OSCORE group and rejoin it (see <xref section="6" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>). When rejoining the group, an authentication credential in the indicated format used in the OSCORE group <bcp14>MUST</bcp14> be provided to the Group Manager. The authentication credential as well as the included public key <bcp14>MUST</bcp14> be compatible with the indicated algorithms and parameters.</t>
                </li>
                <li>
                  <t>Remain in the OSCORE group and use the Group OSCORE Security Context after having updated it as defined above, and, if required, perform the following actions.      </t>
                  <ul spacing="normal">
                    <li>
                      <t>Provide the Group Manager with a new authentication credential to use in the OSCORE group (see <xref section="9.4" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>). The new authentication credential <bcp14>MUST</bcp14> be in the indicated format used in the OSCORE group. The new authentication credential as well as the included public key <bcp14>MUST</bcp14> be compatible with the indicated algorithms and parameters.          </t>
                      <t>
Consistently, the group member has to retrieve the new authentication credentials of other group members as they are uploaded to the Group Manager (see <xref section="9.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>). In order to ensure the retrieval of latest authentication credentials that are consistent with the new group configuration, it is preferable that the group member retrieves such authentication credentials after a pre-configured time interval has elapsed since uploading its own authentication credential. Later on, the group member will need to retrieve other group members' authentication credentials that it is still missing and that it needs for processing messages exchanged in the OSCORE group.</t>
                    </li>
                    <li>
                      <t>Retrieve from the Group Manager the Group Manager's new authentication credential (see <xref section="9.5" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>). The new Group Manager's authentication credential is in the indicated format used in the OSCORE group. The new authentication credential as well as the included public key are compatible with the indicated algorithms and parameters.</t>
                    </li>
                  </ul>
                </li>
              </ul>
            </li>
          </ul>
          <t>As discussed above, after the group configuration has been updated, some group members may leave the OSCORE group and rejoin it. Shortly following an update of group configuration, the Group Manager <bcp14>SHOULD</bcp14> prioritize the re-join of such current group members before processing Join Requests from other, new group members.</t>
        </section>
      </section>
      <section anchor="configuration-resource-patch">
        <name>Selective Update of a Group Configuration</name>
        <t>This operation <bcp14>MAY</bcp14> be supported by the Group Manager and an Administrator.</t>
        <t>The Administrator can send a PATCH/iPATCH request <xref target="RFC8132"/> to the group-configuration resource manage/GROUPNAME associated with an OSCORE group with group name GROUPNAME, in order to update the value of only part of the group configuration.</t>
        <t>The request payload has the same format of the POST request defined in <xref target="configuration-resource-post"/>, with the difference that it <bcp14>MAY</bcp14> also specify names of application groups to be removed from or added to the 'app_groups' status parameter. The names of such application groups are provided as defined below.</t>
        <t>The CBOR map in the request payload includes the field 'app_groups_diff'. This field is encoded as a CBOR array including the following two elements.</t>
        <ul spacing="normal">
          <li>
            <t>The first element is a CBOR array, namely 'app_groups_del'. Each of its elements is a CBOR text string, with value the name of an application group to remove from the 'app_groups' status parameter.</t>
          </li>
          <li>
            <t>The second element is a CBOR array, namely 'app_groups_add'. Each of its elements is a CBOR text string, with value the name of an application group to add to the 'app_groups' status parameter.</t>
          </li>
        </ul>
        <t>The CDDL definition <xref target="RFC8610"/> of the CBOR array 'app_groups_diff' formatted as in the request from the Administrator is provided below.</t>
        <figure anchor="cddl-diff">
          <name>CDDL definition of the 'app_groups_diff' field</name>
          <artwork type="CDDL" align="left"><![CDATA[
   app-group-name = tstr
   name-patch = [* app-group-name]
   app_groups_diff = [app_groups_del: name-patch,
                      app_groups_add: name-patch]
]]></artwork>
        </figure>
        <t>The Group Manager <bcp14>MUST</bcp14> respond with a 4.00 (Bad Request) response in case: both the inner CBOR arrays 'app_groups_del' and 'app_groups_add' are empty; or the CBOR map in the request payload includes both the 'app_groups' field and the 'app_groups_diff' field.</t>
        <t>The error handling for the PATCH/iPATCH request is the same as for the POST request defined in <xref target="configuration-resource-post"/>, with the following additions.</t>
        <ul spacing="normal">
          <li>
            <t>The set of group configuration parameters to update <bcp14>MUST NOT</bcp14> be empty. That is, the Group Manager <bcp14>MUST</bcp14> respond with a 4.00 (Bad Request) response, if the request payload includes an empty CBOR map.</t>
          </li>
          <li>
            <t>If the Request-URI does not point to an existing group-configuration resource, the Group Manager <bcp14>MUST NOT</bcp14> create a new resource, and <bcp14>MUST</bcp14> respond with a 4.04 (Not Found) response.</t>
          </li>
          <li>
            <t>When applying the specified updated values would yield an inconsistent group configuration, the Group Manager <bcp14>MUST</bcp14> respond with a 4.09 (Conflict) response.  </t>
            <t>
As an example, this is the case if the resulting group configuration would include the parameter 'sign_alg' specifying the signature algorithm EdDSA (COSE algorithm encoding: -8) and, at the same time, the parameter 'sign_params' specifying EC2 as COSE key type and P-256 as COSE elliptic curve (i.e., as the CBOR array <tt>[[2], [2, 1]]</tt>).  </t>
            <t>
The response <bcp14>MAY</bcp14> include the current representation of the group configuration resource, like when responding to a GET request as defined in <xref target="configuration-resource-get"/>. Otherwise, the response <bcp14>SHOULD</bcp14> include a diagnostic payload with additional information for the Administrator to recognize the source of the conflict.</t>
          </li>
          <li>
            <t>When the request uses specifically the iPATCH method, the Group Manager <bcp14>MUST</bcp14> respond with a 4.00 (Bad Request) response, in case the CBOR map includes the parameter 'app_groups_diff' and the name of an application group is specified both in the 'app_groups_del' and 'app_groups_add' inner arrays.</t>
          </li>
        </ul>
        <t>When performing the authorization checks, the Group Manager uses GROUPNAME as TARGETNAME, and "Write" as PERMISSION.</t>
        <t>If the updated group configuration would include parameter values that prevent the Group Manager from performing the operations defined in <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> (e.g., due to the Group Manager not supporting a format of authentication credentials), the Group Manager <bcp14>MUST</bcp14> respond with a 5.03 (Service Unavailable) response. The response <bcp14>MUST</bcp14> have Content-Format set to application/concise-problem-details+cbor <xref target="RFC9290"/> and is formatted as defined in <xref section="4.1.2" sectionFormat="of" target="RFC9594"/>. Within the Custom Problem Detail entry 'ace-groupcomm-error', the value of the 'error-id' field <bcp14>MUST</bcp14> be set to 12 ("Unsupported group configuration"), and the 'detail' field <bcp14>SHOULD</bcp14> be included in order to provide additional context.</t>
        <t>If no error occurs and the PATCH/iPATCH request is successfully processed, the Group Manager performs the following actions.</t>
        <t>First, the Group Manager updates the group-configuration resource, consistently with the values indicated in the PATCH/iPATCH request from the Administrator. The corresponding group-membership resource is also accordingly updated.</t>
        <t>The operation of updating the group-configuration resource and accordingly updating the group-membership resource <bcp14>MUST</bcp14> be atomic. That is, the same as defined in <xref target="configuration-resource-post"/> when atomically overwriting a group-configuration resource applies.</t>
        <t>Unlike for the POST request defined in <xref target="configuration-resource-post"/>, the Group Manager does not alter the value of configuration parameters and status parameters for which updated values are not specified in the request payload. In particular, the Group Manager does not assign possible default values to those parameters.</t>
        <t>Special processing occurs when updating the 'app_groups' status parameter by difference, as defined below. The Administrator should not expect the Group Manager to add or delete names of application group names according to any particular order.</t>
        <ul spacing="normal">
          <li>
            <t>If the name of an application group to add (delete) is specified multiple times, the Group Manager considers it only once for addition to (deletion from) the 'app_groups' status parameter.</t>
          </li>
          <li>
            <t>If the name of an application group to delete is not present in the 'app_groups' status parameter before any change is applied, the Group Manager ignores that name.</t>
          </li>
          <li>
            <t>If the name of an application group to add is already present in the 'app_groups' status parameter before any change is applied, the Group Manager ignores that name.</t>
          </li>
          <li>
            <t>The Group Manager deletes from the 'app_groups' status parameter the names of the application groups specified in the inner 'app_groups_del' CBOR array of the 'app_groups_diff' field.</t>
          </li>
          <li>
            <t>The Group Manager adds to the 'app_groups' status parameter the names of the application groups specified in the inner 'app_groups_add' CBOR array of the 'app_groups_diff' field.</t>
          </li>
        </ul>
        <t>After having updated the group-configuration resource, from then on the Group Manager relies on the new group configuration to build the Join Response message defined in <xref section="6.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>, when handling the joining of a new group member. Similarly, the Group Manager relies on the new group configuration when building responses specifying (part of) the group configuration to a current group member. For instance, this applies when a group member retrieves from the Group Manager the updated group keying material (see <xref section="9.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>) or the current group status (see <xref section="9.9" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>).</t>
        <t>Finally, the Group Manager replies to the Administrator with a 2.04 (Changed) response. The payload of the response has the same format of the 2.01 (Created) response defined in <xref target="collection-resource-post"/>.</t>
        <t>The same considerations as for the POST request defined in <xref target="configuration-resource-post"/> hold also in this case, with respect to refreshing a possible registration of the link to the group-membership resource in the Resource Directory <xref target="RFC9176"/>.</t>
        <t>An example of message exchange is shown below.</t>
        <artwork><![CDATA[
=> 0.06 PATCH
   Uri-Path: "manage"
   Uri-Path: "gp4"
   Content-Format: 261 (application/ace-groupcomm+cbor)

   Payload:

   {
          e'gp_enc_alg' : 10 / AES-CCM-16-64-128 /,
     e'app_groups_diff' : [["room1"], ["room3", "room4"]]
   }

<= 2.04 Changed
   Content-Format: 261 (application/ace-groupcomm+cbor)

   Payload:

   {
      e'group_name' : "gp4",
     e'joining_uri' : "coap://[2001:db8::ab]/ace-group/gp4/",
          e'as_uri' : "coap://as.example.com/token"
   }
]]></artwork>
        <section anchor="effects-on-joining-nodes">
          <name>Effects on Joining Nodes</name>
          <t>After having selectively updated part of a group configuration, the effects on candidate joining nodes are the same as defined in <xref target="sssec-effects-overwrite-joining-nodes"/> for the case of group configuration overwriting.</t>
        </section>
        <section anchor="effects-on-the-group-members">
          <name>Effects on the Group Members</name>
          <t>After having selectively updated part of a group configuration, the effects on the current group members are the same as defined in <xref target="sssec-effects-overwrite-group-members"/> for the case of group configuration overwriting.</t>
        </section>
      </section>
      <section anchor="configuration-resource-delete">
        <name>Delete a Group Configuration</name>
        <t>This operation <bcp14>MUST</bcp14> be supported by the Group Manager and an Administrator.</t>
        <t>The Administrator can send a DELETE request to the group-configuration resource manage/GROUPNAME associated with an OSCORE group with group name GROUPNAME, in order to delete that OSCORE group.</t>
        <t>When performing the authorization checks, the Group Manager uses GROUPNAME as TARGETNAME, and "Delete" as PERMISSION.</t>
        <t>Otherwise, the Group Manager continues processing the request, which <bcp14>MUST</bcp14> fail it the OSCORE group is active. That is, the DELETE request <bcp14>MUST</bcp14> yield the deletion of the OSCORE group only if the corresponding status parameter 'active' has current value <tt>false</tt> (0xf4). The Administrator can ensure that, by first performing an update of the group-configuration resource associated with the OSCORE group (see <xref target="configuration-resource-post"/> and <xref target="configuration-resource-patch"/>), and setting the corresponding status parameter 'active' to <tt>false</tt> (0xf4).</t>
        <t>If, upon receiving the DELETE request, the current value of the status parameter 'active' is <tt>true</tt> (0xf5), the Group Manager <bcp14>MUST</bcp14> respond with a 4.09 (Conflict) response. The response <bcp14>MUST</bcp14> have Content-Format set to application/concise-problem-details+cbor <xref target="RFC9290"/> and is formatted as defined in <xref section="4.1.2" sectionFormat="of" target="RFC9594"/>. Within the Custom Problem Detail entry 'ace-groupcomm-error', the value of the 'error-id' field <bcp14>MUST</bcp14> be set to 10 ("Group currently active").</t>
        <t>After a successful processing of the DELETE request, the Group Manager performs the following actions.</t>
        <t>First, the Group Manager deletes the OSCORE group, deallocates both the group-configuration resource as well as the group-membership resource associated with that group, and accordingly updates the group-collection resource.</t>
        <t>The operation of deleting the group-configuration resource and the corresponding group-membership resource, as well as of accordingly updating the group-collection resource <bcp14>MUST</bcp14> be atomic. That is, until the request processing fails, or the group-configuration resource is deleted, the following applies.</t>
        <ul spacing="normal">
          <li>
            <t>The group-configuration resource <bcp14>MUST NOT</bcp14> be accessible through other operations.</t>
          </li>
          <li>
            <t>The group-membership resource <bcp14>MUST NOT</bcp14> be deleted.</t>
          </li>
          <li>
            <t>The group-collection resource <bcp14>MUST NOT</bcp14> be updated to reflect the deletion of the group-configuration resource.</t>
          </li>
        </ul>
        <t>When the group-membership resource is eventually deleted, this deletion <bcp14>MUST NOT</bcp14> be interrupted by other operations performed on the group-membership resource.</t>
        <t>When the group-collection resource is eventually updated to reflect the deletion of the group-configuration resource, this update <bcp14>MUST NOT</bcp14> be interrupted by other updates to the group-collection resource due to the creation or deletion of group-configuration resources, or to other operations performed on those.</t>
        <t>After deleting the group-configuration resource, the Group Manager replies to the Administrator with a 2.02 (Deleted) response.</t>
        <t>An example of message exchange is shown below.</t>
        <artwork><![CDATA[
=> 0.04 DELETE
   Uri-Path: "manage"
   Uri-Path: "gp4"

<= 2.02 Deleted
]]></artwork>
        <section anchor="effects-on-the-group-members-1">
          <name>Effects on the Group Members</name>
          <t>After having deleted an OSCORE group, the Group Manager can inform the group members by means of the following two methods. When contacting a group member, the Group Manager uses the pairwise secure communication association established with that member during its joining process (see <xref section="6" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>).</t>
          <ul spacing="normal">
            <li>
              <t>The Group Manager sends an individual request message to each group member, targeting the respective resource used to perform the group rekeying process (see <xref section="11.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>). The Group Manager uses the same format of the Join Response message in <xref section="6.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>, where only the parameters 'gkty', 'key', and 'ace_groupcomm_profile' are present, and the 'key' parameter is the empty CBOR map.</t>
            </li>
            <li>
              <t>A group member may subscribe for updates to the group-membership resource associated with the OSCORE group. In particular, if this relies on CoAP Observe <xref target="RFC7641"/>, a group member would receive a 4.04 (Not Found) notification response from the Group Manager, since the group-configuration resource has been deallocated upon deleting the OSCORE group (see <xref section="6.1" sectionFormat="of" target="RFC9594"/>). The response <bcp14>MUST</bcp14> have Content-Format set to application/concise-problem-details+cbor <xref target="RFC9290"/> and is formatted as defined in <xref section="4.1.2" sectionFormat="of" target="RFC9594"/>. Within the Custom Problem Detail entry 'ace-groupcomm-error', the value of the 'error-id' field <bcp14>MUST</bcp14> be set to 6 ("Group deleted").</t>
            </li>
          </ul>
          <t>When being informed about the deletion of the OSCORE group, a group member deletes the OSCORE Security Context that it stores as associated with that group, and possibly deallocates any dedicated control resource intended for the Group Manager that it has for that group.</t>
        </section>
      </section>
    </section>
    <section anchor="groupcomm-parameters">
      <name>ACE Groupcomm Parameters</name>
      <t>In addition to what is defined in <xref section="8" sectionFormat="of" target="RFC9594"/>, this document defines additional parameters used in the messages exchanged between the Administrator and the Group Manager (see <xref target="interactions"/>). The table below summarizes them and specifies the CBOR key to use instead of the full descriptive name.</t>
      <t>Note that the media type application/ace-groupcomm+cbor <bcp14>MUST</bcp14> be used when these parameters are transported in the respective message fields.</t>
      <table align="center" anchor="tab-ACE-Groupcomm-Parameters">
        <name>ACE Groupcomm Parameters</name>
        <thead>
          <tr>
            <th align="left">Name</th>
            <th align="left">CBOR Key</th>
            <th align="left">CBOR Type</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">hkdf</td>
            <td align="left">-1</td>
            <td align="left">tstr or int</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">cred_fmt</td>
            <td align="left">-2</td>
            <td align="left">int</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">group_mode</td>
            <td align="left">-3</td>
            <td align="left">True or False</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">gp_enc_alg</td>
            <td align="left">-4</td>
            <td align="left">Null or tstr or int</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">sign_alg</td>
            <td align="left">-5</td>
            <td align="left">Null or tstr or int</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">sign_params</td>
            <td align="left">-6</td>
            <td align="left">Null or array</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">pairwise_mode</td>
            <td align="left">-7</td>
            <td align="left">True or False</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">alg</td>
            <td align="left">-8</td>
            <td align="left">Null or tstr or int</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">ecdh_alg</td>
            <td align="left">-9</td>
            <td align="left">Null or tstr or int</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">ecdh_params</td>
            <td align="left">-10</td>
            <td align="left">Null or array</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">det_req</td>
            <td align="left">-25</td>
            <td align="left">True or False</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">det_hash_alg</td>
            <td align="left">-26</td>
            <td align="left">tstr or int</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">rt</td>
            <td align="left">-11</td>
            <td align="left">tstr</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">active</td>
            <td align="left">-12</td>
            <td align="left">True or False</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">group_name</td>
            <td align="left">-13</td>
            <td align="left">tstr or #6.&lt;uint&gt;(any)</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">group_description</td>
            <td align="left">-14</td>
            <td align="left">Null or tstr</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">max_stale_sets</td>
            <td align="left">-15</td>
            <td align="left">uint</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">gid_reuse</td>
            <td align="left">-16</td>
            <td align="left">True or False</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">app_groups</td>
            <td align="left">-17</td>
            <td align="left">array</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">joining_uri</td>
            <td align="left">-18</td>
            <td align="left">tstr</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">as_uri</td>
            <td align="left">-19</td>
            <td align="left">tstr</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">conf_filter</td>
            <td align="left">-27</td>
            <td align="left">array</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">app_groups_diff</td>
            <td align="left">-28</td>
            <td align="left">array</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
        </tbody>
      </table>
      <t>The following holds for the Group Manager.</t>
      <ul spacing="normal">
        <li>
          <t>It <bcp14>MUST</bcp14> support the parameters 'ace_groupcomm_profile', 'exp', and 'group_policies', which are defined in <xref section="8" sectionFormat="of" target="RFC9594"/>.  </t>
          <t>
This is consistent with what is defined in <xref section="8" sectionFormat="of" target="RFC9594"/> for the Key Distribution Center, of which the Group Manager defined in <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> is a specific instance.</t>
        </li>
        <li>
          <t>It <bcp14>MUST</bcp14> support all the parameters listed in <xref target="tab-ACE-Groupcomm-Parameters"/>, with the exception of the 'app_groups_diff' parameter, which <bcp14>MUST</bcp14> be supported only if the Group Manager supports the selective update of a group configuration (see <xref target="configuration-resource-patch"/>).</t>
        </li>
      </ul>
      <t>The following holds for an Administrator.</t>
      <ul spacing="normal">
        <li>
          <t>It <bcp14>MUST</bcp14> support the parameters 'ace_groupcomm_profile', 'exp', and 'group_policies', which are defined in <xref section="8" sectionFormat="of" target="RFC9594"/>.</t>
        </li>
        <li>
          <t>It <bcp14>MUST</bcp14> support all the parameters listed in <xref target="tab-ACE-Groupcomm-Parameters"/>, with the following exceptions.  </t>
          <ul spacing="normal">
            <li>
              <t>'conf_filter', which <bcp14>MUST</bcp14> be supported only if the Administrator supports the partial retrieval of a group configuration by filters (see <xref target="configuration-resource-fetch"/>).</t>
            </li>
            <li>
              <t>'app_groups_diff' parameter, which <bcp14>MUST</bcp14> be supported only if the Administrator supports the selective update of a group configuration (see <xref target="configuration-resource-patch"/>).</t>
            </li>
          </ul>
        </li>
      </ul>
    </section>
    <section anchor="error-types">
      <name>ACE Groupcomm Error Identifiers</name>
      <t>In addition to what is defined in <xref section="9" sectionFormat="of" target="RFC9594"/>, this document defines new values that the Group Manager can use as error identifiers. These are used in error responses with Content-Format application/concise-problem-details+cbor <xref target="RFC9290"/>, as values of the 'error-id' field within the Custom Problem Detail entry 'ace-groupcomm-error' (see <xref section="4.1.2" sectionFormat="of" target="RFC9594"/>).</t>
      <table align="center" anchor="tab-ACE-Groupcomm-Error">
        <name>ACE Groupcomm Error Identifiers</name>
        <thead>
          <tr>
            <th align="left">Value</th>
            <th align="left">Description</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">10</td>
            <td align="left">Group currently active</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">11</td>
            <td align="left">Unable to determine a group name</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">12</td>
            <td align="left">Unsupported group configuration</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
        </tbody>
      </table>
      <t>If the Administrator supports the problem-details format <xref target="RFC9290"/> and the Custom Problem Detail entry 'ace-groupcomm-error' defined in <xref section="4.1.2" sectionFormat="of" target="RFC9594"/>, and is able to understand the error specified in the 'error-id' field therein, then the Administrator may use that information to determine what actions to take next. If the Concise Problem Details data item specified in the error response includes the 'detail' entry and the Administrator supports it, such an entry may provide additional context. In particular, the following guidelines apply.</t>
      <ul spacing="normal">
        <li>
          <t>In case of error 10, the Administrator should stop sending the DELETE request to the Group Manager (see <xref target="configuration-resource-delete"/>), until the group becomes inactive. As per this document, this error is relevant only for the Administrator, if it tries to delete a group without having set its status to inactive first (see <xref target="configuration-resource-delete"/>). In such a case, the Administrator should take the expected course of actions, and set the group status to inactive first (see <xref target="configuration-resource-post"/> and <xref target="configuration-resource-patch"/>), before sending a new request of group deletion to the Group Manager.</t>
        </li>
        <li>
          <t>In case of error 11, the Administrator has the following options.  </t>
          <ul spacing="normal">
            <li>
              <t>The Administrator simply tries again later on. The new POST request to the group-collection resource specifies the same group name originally suggested in the previous request that triggered the error response (see <xref target="collection-resource-post"/>). This option fundamentally relies on the Group Manager making the group name available again before the Administrator sends the new POST request. Hence, this option is not viable if it is unacceptable for the Administrator to considerably or indefinitely postpone the creation of the new group.</t>
            </li>
            <li>
              <t>The Administrator sends a new POST request to the group-collection resource right away, specifying a different group name than the one suggested in the previous request that triggered the error response.      </t>
              <t>
In order to not inadvertently suggest a new group name that is already assigned to an existing OSCORE group, the Administrator can first retrieve the list of existing groups from the Group Manager, as defined in <xref target="collection-resource-get"/>. In the payload of the response from the Group Manager, each specified link indicates the name of an existing OSCORE group as the last segment of its url-path.      </t>
              <t>
The Administrator should choose the new group name GROUPNAME to suggest, in such a way that it does not renounce permissions that were granted per the old group name GROUPNAME*. This is the case if the following holds.      </t>
              <t>
With reference to the 'scope' claim of the Administrator's Access Token, let us define PERM* as the union of the permission sets associated with the scope entries such that GROUPNAME* matches with the specified group name pattern. Also, let us define PERM as the union of the permission sets associated with the scope entries such that GROUPNAME matches with the specified group name pattern. Then, PERM specifies no fewer permissions than PERM*.</t>
            </li>
            <li>
              <t>The Administrator requests a new Access Token to the Authorization Server, in order to update its access rights, and have a new granted scope whose scope entries specify more and/or different group name patterns than the old Access Token.      </t>
              <t>
After uploading the new Access Token to the Group Manager, the Administrator can send a new POST request to the group-collection resource. When doing so, the Administrator suggests a new group name to the Group Manager, according to the same criteria discussed for the previous option.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>In case of error 12, the Administrator has the following options.  </t>
          <ul spacing="normal">
            <li>
              <t>If the Administrator has attempted to create a new group configuration (see <xref target="collection-resource-post"/>), the Administrator can take into account what the Group Manager specifies in the 'detail' entry of the Concise Problem Details data item <xref target="RFC9290"/> specified in the error response, and send a new request to the Group Manager for accordingly creating the group configuration.      </t>
              <t>
This requires that the Administrator finds acceptable to create a group configuration different from the originally intended one.</t>
            </li>
            <li>
              <t>If the Administrator has attempted to overwrite (see <xref target="configuration-resource-post"/>) or selectively update (see <xref target="configuration-resource-patch"/>) an existing group configuration, the Administrator can take into account what the Group Manager specifies in the 'detail' entry of the Concise Problem Details data item <xref target="RFC9290"/> specified in the error response, and send a new request to the Group Manager for accordingly overwriting or selectively updating the group configuration.      </t>
              <t>
This requires that the Administrator finds acceptable to overwrite or update the current group configuration differently than how it was originally intended. If this is not attainable, the Administrator may decide to not take further actions and keep the current group configuration as is, or instead to delete the group configuration altogether (see <xref target="configuration-resource-delete"/>).</t>
            </li>
          </ul>
        </li>
      </ul>
    </section>
    <section anchor="sec-security-considerations">
      <name>Security Considerations</name>
      <t>Security considerations are inherited from the ACE framework for Authentication and Authorization <xref target="RFC9200"/>, and from the specific transport profile of ACE used between the Administrator and the Group Manager, such as <xref target="RFC9202"/> and <xref target="RFC9203"/>.</t>
      <t>The same security considerations from <xref target="RFC9594"/> and <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> also apply, with particular reference to the process of rekeying OSCORE groups.</t>
      <t>Further security considerations are compiled below.</t>
      <section anchor="change-of-group-configuration">
        <name>Change of Group Configuration</name>
        <t>With respect to changing group configurations, the following security considerations hold.</t>
        <ul spacing="normal">
          <li>
            <t>A change of the current group configuration (see <xref target="configuration-resource-post"/> and <xref target="configuration-resource-patch"/>) might result in generating and distributing new group keying material, consistently with the newly enforced algorithms and related parameters. In such a case, the Group Manager can perform a group rekeying as per <xref section="11" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>, or provide the new group keying material together with the new group configuration as per <xref target="configuration-resource-post"/> and <xref target="configuration-resource-patch"/> of this document.  </t>
            <t>
After gaining knowledge of the new group configuration, current group members may also leave the OSCORE group and rejoin it, hence obtaining the new group configuration parameters and the up-to-date group keying material. When this happens, the Group Manager <bcp14>SHOULD NOT</bcp14> repeatedly rekey the group upon the re-join of every current group member, each of which is identifiable by means of the secure association that it has with the Group Manager.</t>
          </li>
          <li>
            <t>Following the enforcement of a new group configuration, a group member might not deem it conducive to a sufficient security level (e.g., in terms of security algorithms and related parameters). In such a case, it is <bcp14>RECOMMENDED</bcp14> that the group member leaves the group.</t>
          </li>
          <li>
            <t>A change of the current group configuration, possibly also requiring a group rekeying, might result in temporarily preventing communications among some group members altogether, until they have aligned themselves to the new group configuration. This is especially the case for a change of group configuration affecting the security algorithms and related parameters used in the group.  </t>
            <t>
Furthermore, a change of group configuration might interfere with ongoing, extended exchanges between group members, especially Block-Wise transfers <xref target="RFC7959"/><xref target="RFC9177"/> and the transmission of Observe notifications for ongoing Observations <xref target="RFC7641"/>.  </t>
            <t>
A group configuration (possibly together with the group keying material) may have been updated while a Block-Wise transfer is ongoing between two group members. This will result in blocks being resent, if the block sender and recipient are not yet both aligned with the new group configuration (and group keying material), in which case the block recipient would reply with an error message.  </t>
            <t>
After a change of group configuration, a group member <bcp14>MUST</bcp14> terminate an ongoing Observation if the new group configuration would not have allowed to compute exactly the Observe request associated with the ongoing Observation. This occurs, for example, when the new group configuration specifies a signature algorithm different from the one used in the group when the Observe request was protected.</t>
          </li>
        </ul>
      </section>
      <section anchor="group-manager">
        <name>Group Manager</name>
        <t>In addition to what is discussed in <xref section="10.1" sectionFormat="of" target="RFC9594"/>, a compromised Group Manager would allow an adversary to also monitor the group configurations specified by an Administrator, or to enforce group configurations different from the specified ones, which can result in communications in the OSCORE groups not attaining the originally intended security level.</t>
        <t>Although this is undesirable, it is not worse than the control that the adversary would gain on the group keying material through the compromised Group Manager (see <xref section="10.1" sectionFormat="of" target="RFC9594"/>).</t>
        <t>Unlike what is defined in <xref section="10.2" sectionFormat="of" target="RFC9594"/> with respect to renewing the group keying material, the Group Manager does not have to change the group configurations of the OSCORE groups it is responsible for, after having experienced a reboot.</t>
      </section>
      <section anchor="administrators">
        <name>Administrators</name>
        <t>If multiple Administrators are responsible for the same OSCORE group, they are expected to be aware of each other and of their shared responsibility, as well as to be aligned on what is in the best interest of the OSCORE group and its secure operation. It is out of the scope of this document to define how different Administrators are appointed as responsible for an OSCORE group, and how they achieve and maintain such an alignment with each other.</t>
        <t>A compromised Administrator may collude with unauthorized parties. Within the extent of the granted access rights, the compromised Administrator may leak group configurations, change them in such a way that communications in the OSCORE groups do not attain the originally intended security level, or delete OSCORE groups altogether thus impeding their secure operation.</t>
        <t>When an Administrator is found compromised, the pertaining Access Tokens <bcp14>MUST</bcp14> be revoked by the Authorization Server. A possible way for the Authorization Server to notify the affected Group Managers about such revoked Access Tokens is defined in <xref target="I-D.ietf-ace-revoked-token-notification"/>.</t>
      </section>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>This document has the following actions for IANA.</t>
      <t>Note to RFC Editor: Please replace all occurrences of "[RFC-XXXX]" with the RFC number of this specification and delete this paragraph.</t>
      <section anchor="iana-ace-groupcomm-parameters">
        <name>ACE Groupcomm Parameters</name>
        <t>IANA is asked to register the following entries in the "ACE Groupcomm Parameters" registry within the "Authentication and Authorization for Constrained Environments (ACE)" registry group.</t>
        <ul spacing="normal">
          <li>
            <t>Name: hkdf</t>
          </li>
          <li>
            <t>CBOR Key: -1 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: tstr or int</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: cred_fmt</t>
          </li>
          <li>
            <t>CBOR Key: -2 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: int</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: group_mode</t>
          </li>
          <li>
            <t>CBOR Key: -3 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: True or False</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: gp_enc_alg</t>
          </li>
          <li>
            <t>CBOR Key: -4 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: Null or tstr or int</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: sign_alg</t>
          </li>
          <li>
            <t>CBOR Key: -5 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: Null or tstr or int</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: sign_params</t>
          </li>
          <li>
            <t>CBOR Key: -6 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: Null or array</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: pairwise_mode</t>
          </li>
          <li>
            <t>CBOR Key: -7 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: True or False</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: alg</t>
          </li>
          <li>
            <t>CBOR Key: -8 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: Null or tstr or int</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: ecdh_alg</t>
          </li>
          <li>
            <t>CBOR Key: -9 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: Null or tstr or int</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: ecdh_params</t>
          </li>
          <li>
            <t>CBOR Key: -10 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: Null or array</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: det_req</t>
          </li>
          <li>
            <t>CBOR Key: -25 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: True or False</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: det_hash_alg</t>
          </li>
          <li>
            <t>CBOR Key: -26 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: tstr or int</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: rt</t>
          </li>
          <li>
            <t>CBOR Key: -11 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: tstr</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: active</t>
          </li>
          <li>
            <t>CBOR Key: -12 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: True or False</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: group_name</t>
          </li>
          <li>
            <t>CBOR Key: -13 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: tstr or #6.&lt;uint&gt;(any)</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: group_description</t>
          </li>
          <li>
            <t>CBOR Key: -14 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: Null or tstr</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: max_stale_sets</t>
          </li>
          <li>
            <t>CBOR Key: -15 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: uint</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: gid_reuse</t>
          </li>
          <li>
            <t>CBOR Key: -16 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: True or False</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: app_groups</t>
          </li>
          <li>
            <t>CBOR Key: -17 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: array</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: joining_uri</t>
          </li>
          <li>
            <t>CBOR Key: -18 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: tstr</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: as_uri</t>
          </li>
          <li>
            <t>CBOR Key: -19 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: tstr</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: conf_filter</t>
          </li>
          <li>
            <t>CBOR Key: -27 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: array</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: app_groups_diff</t>
          </li>
          <li>
            <t>CBOR Key: -28 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: array</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
      </section>
      <section anchor="iana-ace-groupcomm-errors">
        <name>ACE Groupcomm Errors</name>
        <t>IANA is asked to register the following entries in the "ACE Groupcomm Errors" registry within the "Authentication and Authorization for Constrained Environments (ACE)" registry group.</t>
        <ul spacing="normal">
          <li>
            <t>Value: 10 (suggested)</t>
          </li>
          <li>
            <t>Description: Group currently active</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Value: 11 (suggested)</t>
          </li>
          <li>
            <t>Description: Unable to determine a group name</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Value: 12 (suggested)</t>
          </li>
          <li>
            <t>Description: Unsupported group configuration</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
      </section>
      <section anchor="iana-rt">
        <name>Resource Types</name>
        <t>IANA is asked to enter the following entries in the "Resource Type (rt=) Link Target Attribute Values" registry within the "Constrained Restful Environments (CoRE) Parameters" registry group.</t>
        <ul spacing="normal">
          <li>
            <t>Value: core.osc.gcoll</t>
          </li>
          <li>
            <t>Description: Group-collection resource of an OSCORE Group Manager</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Value: core.osc.gconf</t>
          </li>
          <li>
            <t>Description: Group-configuration resource of an OSCORE Group Manager</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
      </section>
      <section anchor="ssec-iana-group-oscore-admin-permissions-registry">
        <name>Group OSCORE Admin Permissions</name>
        <t>This document establishes the IANA "Group OSCORE Admin Permissions" registry. The registry has been created to use the "Expert Review" registration procedure <xref target="RFC8126"/>. Expert review guidelines are provided in <xref target="ssec-iana-expert-review"/>.</t>
        <t>This registry includes the possible permissions that Administrators can have to perform operations on an OSCORE Group Manager, each in combination with a numeric identifier. These numeric identifiers are used to express authorization information about performing administrative operations concerning OSCORE groups under the control of the Group Manager, as specified in <xref target="scope-format"/> of [RFC-XXXX].</t>
        <t>The columns of this registry are:</t>
        <ul spacing="normal">
          <li>
            <t>Name: A value that can be used in documents for easier comprehension, to identify a possible permission that Administrators can perform when interacting with an OSCORE Group Manager.</t>
          </li>
          <li>
            <t>Value: The numeric identifier for this permission. Integer values greater than 65535 are marked as "Private Use", all other values use the registration policy "Expert Review" (see <xref section="4.5" sectionFormat="of" target="RFC8126"/>).  </t>
            <t>
Note that, in general, a single permission can be associated with multiple different operations that are possible to be performed when interacting with the Group Manager.</t>
          </li>
          <li>
            <t>Description: This field contains a brief description of the permission.</t>
          </li>
          <li>
            <t>Reference: This contains a pointer to the public specification for the permission.</t>
          </li>
        </ul>
        <t>This registry will be initially populated by the values in <xref target="tab-permission-values"/>. The Reference column for all of these entries will be [RFC-XXXX].</t>
      </section>
      <section anchor="ssec-iana-expert-review">
        <name>Expert Review Instructions</name>
        <t>The IANA registry established in this document is defined as "Expert Review".  This section gives some general guidelines for what the experts should be looking for, but they are being designated as experts for a reason, so they should be given substantial latitude.</t>
        <t>Expert reviewers should take into consideration the following points:</t>
        <ul spacing="normal">
          <li>
            <t>Clarity and correctness of registrations. Experts are expected to check the clarity of purpose and use of the requested entries. Experts should inspect the entry for the considered permission, to verify the correctness of its description against the permission as intended in the specification that defined it. Expert should consider requesting an opinion on the correctness of registered parameters from the Authentication and Authorization for Constrained Environments (ACE) Working Group and the Constrained RESTful Environments (CoRE) Working Group.  </t>
            <t>
Entries that do not meet these objective of clarity and completeness should not be registered.</t>
          </li>
          <li>
            <t>Duplicated registration and point squatting should be discouraged. Reviewers are encouraged to get sufficient information for registration requests to ensure that the usage is not going to duplicate one that is already registered and that the point is likely to be used in deployments.</t>
          </li>
          <li>
            <t>Experts should take into account the expected usage of permissions when approving point assignment. Given a 'Value' V as code point, the length of the encoding of (2<sup>V+1</sup> - 1) should be weighed against the usage of the entry, considering the resources and capabilities of devices it will be used on. Additionally, given a 'Value' V as code point, the length of the encoding of (2<sup>V+1</sup> - 1) should be weighed against how many code points resulting in that encoding length are left, and the resources and capabilities of devices it will be used on.</t>
          </li>
          <li>
            <t>Specifications are recommended. When specifications are not provided, the description provided needs to have sufficient information to verify the points above.</t>
          </li>
        </ul>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="I-D.ietf-core-oscore-groupcomm">
          <front>
            <title>Group Object Security for Constrained RESTful Environments (Group OSCORE)</title>
            <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Göran Selander" initials="G." surname="Selander">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Francesca Palombini" initials="F." surname="Palombini">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Rikard Höglund" initials="R." surname="Höglund">
              <organization>RISE AB</organization>
            </author>
            <date day="26" month="September" year="2024"/>
            <abstract>
              <t>   This document defines the security protocol Group Object Security for
   Constrained RESTful Environments (Group OSCORE), providing end-to-end
   security of CoAP messages exchanged between members of a group, e.g.,
   sent over IP multicast.  In particular, the described protocol
   defines how OSCORE is used in a group communication setting to
   provide source authentication for CoAP group requests, sent by a
   client to multiple servers, and for protection of the corresponding
   CoAP responses.  Group OSCORE also defines a pairwise mode where each
   member of the group can efficiently derive a symmetric pairwise key
   with any other member of the group for pairwise OSCORE communication.
   Group OSCORE can be used between endpoints communicating with CoAP or
   CoAP-mappable HTTP.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-oscore-groupcomm-23"/>
        </reference>
        <reference anchor="I-D.ietf-ace-key-groupcomm-oscore">
          <front>
            <title>Key Management for OSCORE Groups in ACE</title>
            <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Jiye Park" initials="J." surname="Park">
              <organization>Universitaet Duisburg-Essen</organization>
            </author>
            <author fullname="Francesca Palombini" initials="F." surname="Palombini">
              <organization>Ericsson AB</organization>
            </author>
            <date day="6" month="March" year="2023"/>
            <abstract>
              <t>   This document defines an application profile of the ACE framework for
   Authentication and Authorization, to request and provision keying
   material in group communication scenarios that are based on CoAP and
   are secured with Group Object Security for Constrained RESTful
   Environments (Group OSCORE).  This application profile delegates the
   authentication and authorization of Clients, that join an OSCORE
   group through a Resource Server acting as Group Manager for that
   group.  This application profile leverages protocol-specific
   transport profiles of ACE to achieve communication security, server
   authentication and proof-of-possession for a key owned by the Client
   and bound to an OAuth 2.0 Access Token.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ace-key-groupcomm-oscore-16"/>
        </reference>
        <reference anchor="I-D.ietf-core-groupcomm-bis">
          <front>
            <title>Group Communication for the Constrained Application Protocol (CoAP)</title>
            <author fullname="Esko Dijk" initials="E." surname="Dijk">
              <organization>IoTconsultancy.nl</organization>
            </author>
            <author fullname="Chonggang Wang" initials="C." surname="Wang">
              <organization>InterDigital</organization>
            </author>
            <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
              <organization>RISE AB</organization>
            </author>
            <date day="21" month="October" year="2024"/>
            <abstract>
              <t>   This document specifies the use of the Constrained Application
   Protocol (CoAP) for group communication, including the use of UDP/IP
   multicast as the default underlying data transport.  Both unsecured
   and secured CoAP group communication are specified.  Security is
   achieved by use of the Group Object Security for Constrained RESTful
   Environments (Group OSCORE) protocol.  The target application area of
   this specification is any group communication use cases that involve
   resource-constrained devices or networks that support CoAP.  This
   document replaces and obsoletes RFC 7390, while it updates RFC 7252
   and RFC 7641.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-groupcomm-bis-12"/>
        </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="RFC6690">
          <front>
            <title>Constrained RESTful Environments (CoRE) Link Format</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <date month="August" year="2012"/>
            <abstract>
              <t>This specification defines Web Linking using a link format for use by constrained web servers to describe hosted resources, their attributes, and other relationships between links. Based on the HTTP Link Header field defined in RFC 5988, the Constrained RESTful Environments (CoRE) Link Format is carried as a payload and is assigned an Internet media type. "RESTful" refers to the Representational State Transfer (REST) architecture. A well-known URI is defined as a default entry point for requesting the links hosted by a server. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6690"/>
          <seriesInfo name="DOI" value="10.17487/RFC6690"/>
        </reference>
        <reference anchor="RFC6749">
          <front>
            <title>The OAuth 2.0 Authorization Framework</title>
            <author fullname="D. Hardt" initials="D." role="editor" surname="Hardt"/>
            <date month="October" year="2012"/>
            <abstract>
              <t>The OAuth 2.0 authorization framework enables a third-party application to obtain limited access to an HTTP service, either on behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service, or by allowing the third-party application to obtain access on its own behalf. This specification replaces and obsoletes the OAuth 1.0 protocol described in RFC 5849. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6749"/>
          <seriesInfo name="DOI" value="10.17487/RFC6749"/>
        </reference>
        <reference anchor="RFC7252">
          <front>
            <title>The Constrained Application Protocol (CoAP)</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <author fullname="K. Hartke" initials="K." surname="Hartke"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2014"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained (e.g., low-power, lossy) networks. The nodes often have 8-bit microcontrollers with small amounts of ROM and RAM, while constrained networks such as IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs) often have high packet error rates and a typical throughput of 10s of kbit/s. The protocol is designed for machine- to-machine (M2M) applications such as smart energy and building automation.</t>
              <t>CoAP provides a request/response interaction model between application endpoints, supports built-in discovery of services and resources, and includes key concepts of the Web such as URIs and Internet media types. CoAP is designed to easily interface with HTTP for integration with the Web while meeting specialized requirements such as multicast support, very low overhead, and simplicity for constrained environments.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7252"/>
          <seriesInfo name="DOI" value="10.17487/RFC7252"/>
        </reference>
        <reference anchor="RFC7641">
          <front>
            <title>Observing Resources in the Constrained Application Protocol (CoAP)</title>
            <author fullname="K. Hartke" initials="K." surname="Hartke"/>
            <date month="September" year="2015"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a RESTful application protocol for constrained nodes and networks. The state of a resource on a CoAP server can change over time. This document specifies a simple protocol extension for CoAP that enables CoAP clients to "observe" resources, i.e., to retrieve a representation of a resource and keep this representation updated by the server over a period of time. The protocol follows a best-effort approach for sending new representations to clients and provides eventual consistency between the state observed by each client and the actual resource state at the server.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7641"/>
          <seriesInfo name="DOI" value="10.17487/RFC7641"/>
        </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="RFC8132">
          <front>
            <title>PATCH and FETCH Methods for the Constrained Application Protocol (CoAP)</title>
            <author fullname="P. van der Stok" initials="P." surname="van der Stok"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="A. Sehgal" initials="A." surname="Sehgal"/>
            <date month="April" year="2017"/>
            <abstract>
              <t>The methods defined in RFC 7252 for the Constrained Application Protocol (CoAP) only allow access to a complete resource, not to parts of a resource. In case of resources with larger or complex data, or in situations where resource continuity is required, replacing or requesting the whole resource is undesirable. Several applications using CoAP need to access parts of the resources.</t>
              <t>This specification defines the new CoAP methods, FETCH, PATCH, and iPATCH, which are used to access and update parts of a resource.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8132"/>
          <seriesInfo name="DOI" value="10.17487/RFC8132"/>
        </reference>
        <reference anchor="RFC8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="C. Vigano" initials="C." surname="Vigano"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049). Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610"/>
          <seriesInfo name="DOI" value="10.17487/RFC8610"/>
        </reference>
        <reference anchor="RFC8613">
          <front>
            <title>Object Security for Constrained RESTful Environments (OSCORE)</title>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <author fullname="J. Mattsson" initials="J." surname="Mattsson"/>
            <author fullname="F. Palombini" initials="F." surname="Palombini"/>
            <author fullname="L. Seitz" initials="L." surname="Seitz"/>
            <date month="July" year="2019"/>
            <abstract>
              <t>This document defines Object Security for Constrained RESTful Environments (OSCORE), a method for application-layer protection of the Constrained Application Protocol (CoAP), using CBOR Object Signing and Encryption (COSE). OSCORE provides end-to-end protection between endpoints communicating using CoAP or CoAP-mappable HTTP. OSCORE is designed for constrained nodes and networks supporting a range of proxy operations, including translation between different transport protocols.</t>
              <t>Although an optional functionality of CoAP, OSCORE alters CoAP options processing and IANA registration. Therefore, this document updates RFC 7252.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8613"/>
          <seriesInfo name="DOI" value="10.17487/RFC8613"/>
        </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="RFC9052">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR.</t>
              <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="96"/>
          <seriesInfo name="RFC" value="9052"/>
          <seriesInfo name="DOI" value="10.17487/RFC9052"/>
        </reference>
        <reference anchor="RFC9053">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Initial Algorithms</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines a set of algorithms that can be used with the CBOR Object Signing and Encryption (COSE) protocol (RFC 9052).</t>
              <t>This document, along with RFC 9052, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9053"/>
          <seriesInfo name="DOI" value="10.17487/RFC9053"/>
        </reference>
        <reference anchor="RFC9200">
          <front>
            <title>Authentication and Authorization for Constrained Environments Using the OAuth 2.0 Framework (ACE-OAuth)</title>
            <author fullname="L. Seitz" initials="L." surname="Seitz"/>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem"/>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>This specification defines a framework for authentication and authorization in Internet of Things (IoT) environments called ACE-OAuth. The framework is based on a set of building blocks including OAuth 2.0 and the Constrained Application Protocol (CoAP), thus transforming a well-known and widely used authorization solution into a form suitable for IoT devices. Existing specifications are used where possible, but extensions are added and profiles are defined to better serve the IoT use cases.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9200"/>
          <seriesInfo name="DOI" value="10.17487/RFC9200"/>
        </reference>
        <reference anchor="RFC9202">
          <front>
            <title>Datagram Transport Layer Security (DTLS) Profile for Authentication and Authorization for Constrained Environments (ACE)</title>
            <author fullname="S. Gerdes" initials="S." surname="Gerdes"/>
            <author fullname="O. Bergmann" initials="O." surname="Bergmann"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <author fullname="L. Seitz" initials="L." surname="Seitz"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>This specification defines a profile of the Authentication and Authorization for Constrained Environments (ACE) framework that allows constrained servers to delegate client authentication and authorization. The protocol relies on DTLS version 1.2 or later for communication security between entities in a constrained network using either raw public keys or pre-shared keys. A resource-constrained server can use this protocol to delegate management of authorization information to a trusted host with less-severe limitations regarding processing power and memory.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9202"/>
          <seriesInfo name="DOI" value="10.17487/RFC9202"/>
        </reference>
        <reference anchor="RFC9203">
          <front>
            <title>The Object Security for Constrained RESTful Environments (OSCORE) Profile of the Authentication and Authorization for Constrained Environments (ACE) Framework</title>
            <author fullname="F. Palombini" initials="F." surname="Palombini"/>
            <author fullname="L. Seitz" initials="L." surname="Seitz"/>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <author fullname="M. Gunnarsson" initials="M." surname="Gunnarsson"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>This document specifies a profile for the Authentication and Authorization for Constrained Environments (ACE) framework. It utilizes Object Security for Constrained RESTful Environments (OSCORE) to provide communication security and proof-of-possession for a key owned by the client and bound to an OAuth 2.0 access token.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9203"/>
          <seriesInfo name="DOI" value="10.17487/RFC9203"/>
        </reference>
        <reference anchor="RFC9290">
          <front>
            <title>Concise Problem Details for Constrained Application Protocol (CoAP) APIs</title>
            <author fullname="T. Fossati" initials="T." surname="Fossati"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="October" year="2022"/>
            <abstract>
              <t>This document defines a concise "problem detail" as a way to carry machine-readable details of errors in a Representational State Transfer (REST) response to avoid the need to define new error response formats for REST APIs for constrained environments. The format is inspired by, but intended to be more concise than, the problem details for HTTP APIs defined in RFC 7807.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9290"/>
          <seriesInfo name="DOI" value="10.17487/RFC9290"/>
        </reference>
        <reference anchor="RFC9237">
          <front>
            <title>An Authorization Information Format (AIF) for Authentication and Authorization for Constrained Environments (ACE)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Information about which entities are authorized to perform what operations on which constituents of other entities is a crucial component of producing an overall system that is secure. Conveying precise authorization information is especially critical in highly automated systems with large numbers of entities, such as the Internet of Things.</t>
              <t>This specification provides a generic information model and format for representing such authorization information, as well as two variants of a specific instantiation of that format for use with Representational State Transfer (REST) resources identified by URI path.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9237"/>
          <seriesInfo name="DOI" value="10.17487/RFC9237"/>
        </reference>
        <reference anchor="RFC9277">
          <front>
            <title>On Stable Storage for Items in Concise Binary Object Representation (CBOR)</title>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>This document defines a stored ("file") format for Concise Binary Object Representation (CBOR) data items that is friendly to common systems that recognize file types, such as the Unix file(1) command.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9277"/>
          <seriesInfo name="DOI" value="10.17487/RFC9277"/>
        </reference>
        <reference anchor="RFC9485">
          <front>
            <title>I-Regexp: An Interoperable Regular Expression Format</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="T. Bray" initials="T." surname="Bray"/>
            <date month="October" year="2023"/>
            <abstract>
              <t>This document specifies I-Regexp, a flavor of regular expression that is limited in scope with the goal of interoperation across many different regular expression libraries.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9485"/>
          <seriesInfo name="DOI" value="10.17487/RFC9485"/>
        </reference>
        <reference anchor="RFC9594">
          <front>
            <title>Key Provisioning for Group Communication Using Authentication and Authorization for Constrained Environments (ACE)</title>
            <author fullname="F. Palombini" initials="F." surname="Palombini"/>
            <author fullname="M. Tiloca" initials="M." surname="Tiloca"/>
            <date month="September" year="2024"/>
            <abstract>
              <t>This document defines how to use the Authentication and Authorization for Constrained Environments (ACE) framework to distribute keying material and configuration parameters for secure group communication. Candidate group members that act as Clients and are authorized to join a group can do so by interacting with a Key Distribution Center (KDC) acting as the Resource Server, from which they obtain the keying material to communicate with other group members. While defining general message formats as well as the interface and operations available at the KDC, this document supports different approaches and protocols for secure group communication. Therefore, details are delegated to separate application profiles of this document as specialized instances that target a particular group communication approach and define how communications in the group are protected. Compliance requirements for such application profiles are also specified.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9594"/>
          <seriesInfo name="DOI" value="10.17487/RFC9594"/>
        </reference>
        <reference anchor="COSE.Algorithms" target="https://www.iana.org/assignments/cose/cose.xhtml#algorithms">
          <front>
            <title>COSE Algorithms</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.tiloca-core-oscore-discovery">
          <front>
            <title>Discovery of OSCORE Groups with the CoRE Resource Directory</title>
            <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Christian Amsüss" initials="C." surname="Amsüss">
         </author>
            <author fullname="Peter Van der Stok" initials="P." surname="Van der Stok">
         </author>
            <date day="4" month="September" year="2024"/>
            <abstract>
              <t>   Group communication over the Constrained Application Protocol (CoAP)
   can be secured by means of Group Object Security for Constrained
   RESTful Environments (Group OSCORE).  At deployment time, devices may
   not know the exact security groups to join, the respective Group
   Manager, or other information required to perform the joining
   process.  This document describes how a CoAP endpoint can use
   descriptions and links of resources registered at the CoRE Resource
   Directory to discover security groups and to acquire information for
   joining them through the respective Group Manager.  A given security
   group may protect multiple application groups, which are separately
   announced in the Resource Directory as sets of endpoints sharing a
   pool of resources.  This approach is consistent with, but not limited
   to, the joining of security groups based on the ACE framework for
   Authentication and Authorization in constrained environments.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-tiloca-core-oscore-discovery-16"/>
        </reference>
        <reference anchor="I-D.amsuess-core-cachable-oscore">
          <front>
            <title>Cacheable OSCORE</title>
            <author fullname="Christian Amsüss" initials="C." surname="Amsüss">
         </author>
            <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
              <organization>RISE AB</organization>
            </author>
            <date day="8" month="July" year="2024"/>
            <abstract>
              <t>   Group communication with the Constrained Application Protocol (CoAP)
   can be secured end-to-end using Group Object Security for Constrained
   RESTful Environments (Group OSCORE), also across untrusted
   intermediary proxies.  However, this sidesteps the proxies' abilities
   to cache responses from the origin server(s).  This specification
   restores cacheability of protected responses at proxies, by
   introducing consensus requests which any client in a group can send
   to one server or multiple servers in the same group.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-amsuess-core-cachable-oscore-09"/>
        </reference>
        <reference anchor="I-D.ietf-cose-cbor-encoded-cert">
          <front>
            <title>CBOR Encoded X.509 Certificates (C509 Certificates)</title>
            <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Göran Selander" initials="G." surname="Selander">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Shahid Raza" initials="S." surname="Raza">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Joel Höglund" initials="J." surname="Höglund">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Martin Furuhed" initials="M." surname="Furuhed">
              <organization>Nexus Group</organization>
            </author>
            <date day="8" month="July" year="2024"/>
            <abstract>
              <t>   This document specifies a CBOR encoding of X.509 certificates.  The
   resulting certificates are called C509 Certificates.  The CBOR
   encoding supports a large subset of RFC 5280 and all certificates
   compatible with the RFC 7925, IEEE 802.1AR (DevID), CNSA, RPKI, GSMA
   eUICC, and CA/Browser Forum Baseline Requirements profiles.  When
   used to re-encode DER encoded X.509 certificates, the CBOR encoding
   can in many cases reduce the size of RFC 7925 profiled certificates
   with over 50% while also significantly reducing memory and code size
   compared to ASN.1.  The CBOR encoded structure can alternatively be
   signed directly ("natively signed"), which does not require re-
   encoding for the signature to be verified.  The document also
   specifies C509 Certificate Signing Requests, C509 COSE headers, a
   C509 TLS certificate type, and a C509 file format.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cose-cbor-encoded-cert-11"/>
        </reference>
        <reference anchor="I-D.ietf-ace-revoked-token-notification">
          <front>
            <title>Notification of Revoked Access Tokens in the Authentication and Authorization for Constrained Environments (ACE) Framework</title>
            <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Francesca Palombini" initials="F." surname="Palombini">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Sebastian Echeverria" initials="S." surname="Echeverria">
              <organization>CMU SEI</organization>
            </author>
            <author fullname="Grace Lewis" initials="G." surname="Lewis">
              <organization>CMU SEI</organization>
            </author>
            <date day="22" month="September" year="2024"/>
            <abstract>
              <t>   This document specifies a method of the Authentication and
   Authorization for Constrained Environments (ACE) framework, which
   allows an authorization server to notify clients and resource servers
   (i.e., registered devices) about revoked access tokens.  As specified
   in this document, the method allows clients and resource servers to
   access a Token Revocation List on the authorization server by using
   the Constrained Application Protocol (CoAP), with the possible
   additional use of resource observation.  Resulting (unsolicited)
   notifications of revoked access tokens complement alternative
   approaches such as token introspection, while not requiring
   additional endpoints on clients and resource servers.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ace-revoked-token-notification-09"/>
        </reference>
        <reference anchor="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="RFC7959">
          <front>
            <title>Block-Wise Transfers in the Constrained Application Protocol (CoAP)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="Z. Shelby" initials="Z." role="editor" surname="Shelby"/>
            <date month="August" year="2016"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a RESTful transfer protocol for constrained nodes and networks. Basic CoAP messages work well for small payloads from sensors and actuators; however, applications will need to transfer larger payloads occasionally -- for instance, for firmware updates. In contrast to HTTP, where TCP does the grunt work of segmenting and resequencing, CoAP is based on datagram transports such as UDP or Datagram Transport Layer Security (DTLS). These transports only offer fragmentation, which is even more problematic in constrained nodes and networks, limiting the maximum size of resource representations that can practically be transferred.</t>
              <t>Instead of relying on IP fragmentation, this specification extends basic CoAP with a pair of "Block" options for transferring multiple blocks of information from a resource representation in multiple request-response pairs. In many important cases, the Block options enable a server to be truly stateless: the server can handle each block transfer separately, with no need for a connection setup or other server-side memory of previous block transfers. Essentially, the Block options provide a minimal way to transfer larger representations in a block-wise fashion.</t>
              <t>A CoAP implementation that does not support these options generally is limited in the size of the representations that can be exchanged, so there is an expectation that the Block options will be widely used in CoAP implementations. Therefore, this specification updates RFC 7252.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7959"/>
          <seriesInfo name="DOI" value="10.17487/RFC7959"/>
        </reference>
        <reference anchor="RFC8392">
          <front>
            <title>CBOR Web Token (CWT)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem"/>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="May" year="2018"/>
            <abstract>
              <t>CBOR Web Token (CWT) is a compact means of representing claims to be transferred between two parties. The claims in a CWT are encoded in the Concise Binary Object Representation (CBOR), and CBOR Object Signing and Encryption (COSE) is used for added application-layer security protection. A claim is a piece of information asserted about a subject and is represented as a name/value pair consisting of a claim name and a claim value. CWT is derived from JSON Web Token (JWT) but uses CBOR rather than JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8392"/>
          <seriesInfo name="DOI" value="10.17487/RFC8392"/>
        </reference>
        <reference anchor="RFC9147">
          <front>
            <title>The Datagram Transport Layer Security (DTLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="N. Modadugu" initials="N." surname="Modadugu"/>
            <date month="April" year="2022"/>
            <abstract>
              <t>This document specifies version 1.3 of the Datagram Transport Layer Security (DTLS) protocol. DTLS 1.3 allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>The DTLS 1.3 protocol is based on the Transport Layer Security (TLS) 1.3 protocol and provides equivalent security guarantees with the exception of order protection / non-replayability. Datagram semantics of the underlying transport are preserved by the DTLS protocol.</t>
              <t>This document obsoletes RFC 6347.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9147"/>
          <seriesInfo name="DOI" value="10.17487/RFC9147"/>
        </reference>
        <reference anchor="RFC9176">
          <front>
            <title>Constrained RESTful Environments (CoRE) Resource Directory</title>
            <author fullname="C. Amsüss" initials="C." role="editor" surname="Amsüss"/>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <author fullname="M. Koster" initials="M." surname="Koster"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. van der Stok" initials="P." surname="van der Stok"/>
            <date month="April" year="2022"/>
            <abstract>
              <t>In many Internet of Things (IoT) applications, direct discovery of resources is not practical due to sleeping nodes or networks where multicast traffic is inefficient. These problems can be solved by employing an entity called a Resource Directory (RD), which contains information about resources held on other servers, allowing lookups to be performed for those resources. The input to an RD is composed of links, and the output is composed of links constructed from the information stored in the RD. This document specifies the web interfaces that an RD supports for web servers to discover the RD and to register, maintain, look up, and remove information on resources. Furthermore, new target attributes useful in conjunction with an RD are defined.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9176"/>
          <seriesInfo name="DOI" value="10.17487/RFC9176"/>
        </reference>
        <reference anchor="RFC9177">
          <front>
            <title>Constrained Application Protocol (CoAP) Block-Wise Transfer Options Supporting Robust Transmission</title>
            <author fullname="M. Boucadair" initials="M." surname="Boucadair"/>
            <author fullname="J. Shallow" initials="J." surname="Shallow"/>
            <date month="March" year="2022"/>
            <abstract>
              <t>This document specifies alternative Constrained Application Protocol (CoAP) block-wise transfer options: Q-Block1 and Q-Block2.</t>
              <t>These options are similar to, but distinct from, the CoAP Block1 and Block2 options defined in RFC 7959. The Q-Block1 and Q-Block2 options are not intended to replace the Block1 and Block2 options but rather have the goal of supporting Non-confirmable (NON) messages for large amounts of data with fewer packet interchanges. Also, the Q-Block1 and Q-Block2 options support faster recovery should any of the blocks get lost in transmission.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9177"/>
          <seriesInfo name="DOI" value="10.17487/RFC9177"/>
        </reference>
      </references>
    </references>
    <?line 1630?>

<section anchor="sec-as-scope-processing">
      <name>Processing of Group Name Patterns at the AS</name>
      <t>When processing an Authorization Request from an Administrator (see <xref target="getting-access"/>), the AS builds the authorization information expressing granted permissions as scope entries, according to the AIF data model AIF-OSCORE-GROUPCOMM and to its extension specified in <xref target="scope-format"/>. These scope entries are in turn specified as value of the 'scope' claim to include in the Access Token.</t>
      <t>This appendix provides an example of how the AS can evaluate the requested permissions against the access policies pertaining to the Administrator for the Group Manager in question.</t>
      <t>The following specifically refers only to "admin scope entries", i.e., scope entries that express authorization information for Administrators of OSCORE groups.</t>
      <t>Also, it is assumed that the AS stores the access policies as a set of "admin policy entries", which have the same format of the scope entries according to the AIF data model AIF-OSCORE-GROUPCOMM (see <xref target="scope-format"/>). The following specifically considers only "admin policy entries", i.e., policy entries for Administrators of OSCORE groups hereafter shortly referred to as "policy entries".</t>
      <t>The AS performs the following steps.</t>
      <ol spacing="normal" type="1"><li>
          <t>The AS initializes three empty sets of scope entries, namely S_OUT.</t>
        </li>
        <li>
          <t>For each scope entry E_S in the 'scope' parameter of the Authorization Request, the AS performs the following actions.  </t>
          <t>
a. The AS initializes an empty set of policy entries, namely S_AUX.  </t>
          <t>
b. The AS considers all the policy entries related to the Administrator and the Group Manager in question. For each policy entry E_P among those policy entries, the AS determines whether every group name matching with the Toid of E_S would also match with the Toid of E_P. If that is the case, then the AS adds E_P to the set S_AUX. The particular way that the AS uses to make a determination is implementation specific.  </t>
          <t>
c. If the set S_AUX is empty, the AS proceeds with the next scope entry, if any. Otherwise, the AS computes TPERM_AUX as the union of the permission sets associated with the policy entries in the set S_AUX. That is, TPERM_AUX is the inclusive OR of the binary representation of the Tperm values in the policy entries within the set S_AUX.  </t>
          <t>
d. The AS adds to the set S_OUT one scope entry, such that its Toid is the same as in the scope entry E_S, while its Tperm is the AND of TPERM_AUX with the Tperm in the scope entry E_S.</t>
        </li>
        <li>
          <t>For each scope entry E_S in the 'scope' parameter of the Authorization Request, the AS performs the following actions.  </t>
          <t>
a. The AS initializes an empty set of policy entries, namely S_AUX.  </t>
          <t>
b. The AS considers all the policy entries related to the Administrator and the Group Manager in question. For each policy entry E_P among those policy entries, and such that the Toid of E_P is different from the Toid of E_S, the AS determines whether every group name matching with the Toid of E_P would also match with the Toid of E_S. If that is the case, then the AS adds E_S to the set S_AUX. The particular way that the AS uses to make a determination is implementation specific.  </t>
          <t>
c. If the set S_AUX is empty, the AS proceeds with the next scope entry, if any. Otherwise, the AS adds to the set S_OUT one scope entry, such that its Toid is the same as in the policy entry E_P, while its Tperm is the AND of the Tperm in the policy entry E_P with the Tperm in the scope entry E_S.</t>
        </li>
        <li>
          <t>For each scope entry E_S in the 'scope' parameter of the Authorization Request, the AS performs the following actions.  </t>
          <t>
a. The AS considers all the policy entries related to the Administrator and the Group Manager in question, such that they were never added to the set S_AUX during the previous steps 2 and 3. For each policy entry E_P among those policy entries, the AS attempts to determine a group name pattern TOID_AUX such that every group name matching with TOID_AUX would also match with the Toid of E_P as well as with the Toid of E_S. The particular way that the AS uses to make a determination is implementation specific.  </t>
          <t>
b. If the AS could not determine a group name pattern TOID_AUX, then the AS proceeds with the next policy entry E_P, if any. Otherwise, the AS adds to the set S_OUT one scope entry, such that its Toid is TOID_AUX, while its Tperm is the AND of the Tperm in the policy entry E_P with the Tperm in the scope entry E_S.</t>
        </li>
        <li>
          <t>If the set S_OUT is empty, the Authorization Request has not been successfully verified, and the AS returns an error response as per <xref section="5.8.3" sectionFormat="of" target="RFC9200"/>. Otherwise, the AS uses the scope entries in the set S_OUT as the scope entries for the 'scope' claim to include in the Access Token, as per the format defined in <xref target="scope-format"/>.</t>
        </li>
      </ol>
    </section>
    <section anchor="sec-cddl-model" removeInRFC="true">
      <name>CDDL Model</name>
      <figure anchor="fig-cddl-model">
        <name>CDDL model</name>
        <artwork type="CDDL" align="left"><![CDATA[
hkdf = -1
cred_fmt = -2
group_mode = -3
gp_enc_alg = -4
sign_alg = -5
sign_params = -6
pairwise_mode = -7
alg = -8
ecdh_alg = -9
ecdh_params = -10
det_req = -25
det_hash_alg = -26
rt = -11
active = -12
group_name = -13
group_description = -14
max_stale_sets = -15
gid_reuse = -16
app_groups = -17
joining_uri = -18
as_uri = -19
conf_filter = -27
app_groups_diff = -28

ace_groupcomm_profile = 10
exp = 11
]]></artwork>
      </figure>
    </section>
    <section anchor="sec-document-updates" removeInRFC="true">
      <name>Document Updates</name>
      <section anchor="sec-12-13">
        <name>Version -12 to -13</name>
        <ul spacing="normal">
          <li>
            <t>Uri-Path and Location-Path as text strings in examples.</t>
          </li>
          <li>
            <t>Removed moot reference to Section 3.4.5.3 of RFC 8949.</t>
          </li>
          <li>
            <t>Fixed example to correctly use the I-Regexp flavor from RFC 9485.</t>
          </li>
          <li>
            <t>Highlighted that values to register for IANA are suggested.</t>
          </li>
          <li>
            <t>Updated references.</t>
          </li>
          <li>
            <t>Editorial fixes.</t>
          </li>
        </ul>
      </section>
      <section anchor="sec-11-12">
        <name>Version -11 to -12</name>
        <ul spacing="normal">
          <li>
            <t>CBOR diagnostic notation uses placeholders from a CDDL model.</t>
          </li>
          <li>
            <t>Clarified relation between group name and URI path segment.</t>
          </li>
          <li>
            <t>/manage is a url-path chosen as an example, but not a default one.</t>
          </li>
          <li>
            <t>Recapped concepts of scope and secure communication association.</t>
          </li>
          <li>
            <t>Main/optional Administrator is presented more as an example.</t>
          </li>
          <li>
            <t>The use of CBOR Tag 35 is not mentioned anymore.</t>
          </li>
          <li>
            <t>Added considerations on race conditions with multiple Administrators.</t>
          </li>
          <li>
            <t>Clarified requirement for some operations to be atomic.</t>
          </li>
          <li>
            <t>Early centralization of what it means to have permissions.</t>
          </li>
          <li>
            <t>Improved presentation of default values for the parameters.</t>
          </li>
          <li>
            <t>POST (instead of PUT) for overwriting a group-configuration resource.</t>
          </li>
          <li>
            <t>Example of inconsistent configuration following a PATCH request.</t>
          </li>
          <li>
            <t>Clarified invalid semantics of an iPATCH request.</t>
          </li>
          <li>
            <t>Repositioned text from security to operational considerations.</t>
          </li>
          <li>
            <t>Revised appendix with an example of name pattern processing at the AS.</t>
          </li>
          <li>
            <t>Minor clarifications and editorial improvements.</t>
          </li>
        </ul>
      </section>
      <section anchor="sec-10-11">
        <name>Version -10 to -11</name>
        <ul spacing="normal">
          <li>
            <t>Early mentioned that issued Access Tokens can have other purposes.</t>
          </li>
          <li>
            <t>Added example of array of scope entries.</t>
          </li>
          <li>
            <t>Removed moot paragraph about the benefits of group name patterns.</t>
          </li>
          <li>
            <t>Use of CBOR tag 21065 to indicate a regular expression.</t>
          </li>
          <li>
            <t>Renamed 'group_title' as 'group_description'.</t>
          </li>
          <li>
            <t>Added a second example of FETCH to the group-collection resource.</t>
          </li>
          <li>
            <t>Avoiding accidental deactivation of a group when updating it.</t>
          </li>
          <li>
            <t>Avoid alternative ways to create a group configuration resource.</t>
          </li>
          <li>
            <t>RFC 9290 is used instead of the custom format for error responses.</t>
          </li>
          <li>
            <t>Added integer abbreviations for the new entries in the "ACE Groupcomm Parameters" registry.</t>
          </li>
          <li>
            <t>Editorial fixes and improvements.</t>
          </li>
        </ul>
      </section>
      <section anchor="sec-09-10">
        <name>Version -09 to -10</name>
        <ul spacing="normal">
          <li>
            <t>Consistent use of 4.03 (Forbidden) error responses.</t>
          </li>
          <li>
            <t>Removed moot, remnant statements from when CoRAL was used.</t>
          </li>
          <li>
            <t>Clarified how the Group Manager may attempt to determine an alternative group name upon creating a new group.</t>
          </li>
          <li>
            <t>Made explicit what parameters cannot change when overwriting a group configuration.</t>
          </li>
          <li>
            <t>Improved guidelines to the Group Manager on selecting an alternative group name.</t>
          </li>
          <li>
            <t>Improved guidelines to Administrators receiving an error after trying to create a new group.</t>
          </li>
          <li>
            <t>Changed description of error 11 from "No available group names" to "Unable to determine a group name".</t>
          </li>
          <li>
            <t>Editorial fixes and improvements.</t>
          </li>
        </ul>
      </section>
      <section anchor="sec-08-09">
        <name>Version -08 to -09</name>
        <ul spacing="normal">
          <li>
            <t>Removed use of CoRAL.</t>
          </li>
          <li>
            <t>Use of the pairwise mode changed to <tt>true</tt> by default.</t>
          </li>
          <li>
            <t>Clarified effects on group members after a group configuration change.</t>
          </li>
          <li>
            <t>Renamed "Signature Encryption Algorithm" to "Group Encryption Algorithm".</t>
          </li>
          <li>
            <t>Renamed "sign_enc_alg" to "gp_enc_alg".</t>
          </li>
          <li>
            <t>Fixes and editorial improvements.</t>
          </li>
        </ul>
      </section>
      <section anchor="sec-07-08">
        <name>Version -07 to -08</name>
        <ul spacing="normal">
          <li>
            <t>Consistency of parameter names.</t>
          </li>
          <li>
            <t>More details on consistency of message payload.</t>
          </li>
          <li>
            <t>New section on multiple, concurrent Administrators.</t>
          </li>
          <li>
            <t>Specified atomicity of write operations.</t>
          </li>
          <li>
            <t>Clarified effects of configuration overwriting on group members.</t>
          </li>
          <li>
            <t>New ACE Groupcomm Error on unsupported configuration.</t>
          </li>
          <li>
            <t>Possible reason to deviate from default parameter values.</t>
          </li>
          <li>
            <t>Added security considerations.</t>
          </li>
          <li>
            <t>CoRAL examples use CBOR diagnostic notation and Packed CBOR.</t>
          </li>
          <li>
            <t>Various clarifications and editorial improvements.</t>
          </li>
        </ul>
      </section>
      <section anchor="sec-06-07">
        <name>Version -06 to -07</name>
        <ul spacing="normal">
          <li>
            <t>Alignment with renaming in draft-ietf-ace-key-groupcomm.</t>
          </li>
          <li>
            <t>Updated signaling of semantics for binary encoded scopes.</t>
          </li>
          <li>
            <t>Split between parameter registration and their CBOR abbreviations.</t>
          </li>
          <li>
            <t>Classified parameters as must/should/may be supported.</t>
          </li>
          <li>
            <t>New error code "No available group names" and related guidelines.</t>
          </li>
          <li>
            <t>Fixes in the examples.</t>
          </li>
          <li>
            <t>Editorial improvements.</t>
          </li>
        </ul>
      </section>
      <section anchor="sec-05-06">
        <name>Version -05 to -06</name>
        <ul spacing="normal">
          <li>
            <t>Use and extend the same AIF data model AIF-OSCORE-GROUPCOMM defined in <xref target="I-D.ietf-ace-key-groupcomm-oscore"/>.</t>
          </li>
          <li>
            <t>Revised Client-AS interaction, based on the used AIF data model.</t>
          </li>
          <li>
            <t>Categorized operations at the Group Manager as required and optional to support.</t>
          </li>
          <li>
            <t>Added status parameter 'gid_reuse', on reassigning OSCORE Group IDs upon group rekeying.</t>
          </li>
          <li>
            <t>Clarifications on the group name ultimately chosen by the Group Manager.</t>
          </li>
          <li>
            <t>Moved the detailed processing of group name patterns at the AS to an Appendix, as an example.</t>
          </li>
          <li>
            <t>Editorial improvements.</t>
          </li>
        </ul>
      </section>
      <section anchor="sec-04-05">
        <name>Version -04 to -05</name>
        <ul spacing="normal">
          <li>
            <t>Defined format of scope based on a new AIF data model.</t>
          </li>
          <li>
            <t>Specified authorization checks at the Group Manager.</t>
          </li>
          <li>
            <t>Revised resource handlers based on the new scope format.</t>
          </li>
          <li>
            <t>Renamed 'pub_key_enc' to 'cred_fmt'.</t>
          </li>
          <li>
            <t>Mandatory to include 'group_name' in the group creation request.</t>
          </li>
          <li>
            <t>Suggesting a used 'group_name' results in a new name, not in an error.</t>
          </li>
          <li>
            <t>Distinction between authentication credentials and public keys.</t>
          </li>
          <li>
            <t>More details on informing group members about changes in the group configuration.</t>
          </li>
          <li>
            <t>Revised order of sections; editorial improvements.</t>
          </li>
        </ul>
      </section>
      <section anchor="sec-03-04">
        <name>Version -03 to -04</name>
        <ul spacing="normal">
          <li>
            <t>Clarifications on what to do in case of enhanced error responses.</t>
          </li>
          <li>
            <t>Clarifications on handling default values for group parameters.</t>
          </li>
          <li>
            <t>New configuration parameters to support OSCORE deterministic requests.</t>
          </li>
          <li>
            <t>IANA considerations - Use RFC8126 terminology.</t>
          </li>
          <li>
            <t>Author's change of address.</t>
          </li>
          <li>
            <t>Editorial improvements.</t>
          </li>
        </ul>
      </section>
      <section anchor="sec-02-03">
        <name>Version -02 to -03</name>
        <ul spacing="normal">
          <li>
            <t>Aligned new and old parameters to core-groupcomm-oscore and ace-key-groupcomm-oscore.</t>
          </li>
          <li>
            <t>Removed 'cs_key_params' and 'ecdh_key_params' to avoid redundant COSE capabilities of key types, consistently with draft-ietf-ace-key-groupcomm-oscore.</t>
          </li>
          <li>
            <t>Revised examples and side effects due to parameter changes.</t>
          </li>
          <li>
            <t>New error type "Group currently active".</t>
          </li>
        </ul>
      </section>
      <section anchor="sec-01-02">
        <name>Version -01 to -02</name>
        <ul spacing="normal">
          <li>
            <t>Admit multiple Administrators and limited access to admin resources.</t>
          </li>
          <li>
            <t>Early design considerations for defining the format of scope.</t>
          </li>
          <li>
            <t>Additional error handling, using also error types.</t>
          </li>
          <li>
            <t>Selective update of group-configuration resources with PATCH/iPATCH.</t>
          </li>
          <li>
            <t>Editorial improvements.</t>
          </li>
        </ul>
      </section>
      <section anchor="sec-00-01">
        <name>Version -00 to -01</name>
        <ul spacing="normal">
          <li>
            <t>Names of application groups as status parameter.</t>
          </li>
          <li>
            <t>Parameters related to the pairwise mode of Group OSCORE.</t>
          </li>
          <li>
            <t>Defined FETCH for group-configuration resources.</t>
          </li>
          <li>
            <t>Policies on registration of links to the Resource Directory.</t>
          </li>
          <li>
            <t>Added resource type for group-configuration resources.</t>
          </li>
          <li>
            <t>Fixes, clarifications and editorial improvements.</t>
          </li>
        </ul>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgment">
      <name>Acknowledgments</name>
      <t>Klaus Hartke provided substantial contribution in defining the resource model based on group collection and group configurations.</t>
      <t>The authors sincerely thank <contact fullname="Christian Amsüss"/>, <contact fullname="Carsten Bormann"/>, <contact fullname="Jim Schaad"/>, <contact fullname="Göran Selander"/>, and <contact fullname="Cigdem Sengul"/> for their comments and feedback.</t>
      <t>The work on this document has been partly supported by the Sweden's Innovation Agency VINNOVA and the Celtic-Next projects CRITISEC and CYPRESS; and by the H2020 project SIFIS-Home (Grant agreement 952652).</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+y9+1ocybUv+D9PkYPmO0C7qsRdEnb7bAyoW9u6bUBu79PW
qJOqBNKqyixnZgmxu3WeZZ5iHmDmxWbd4h5ZlSCQ2t7NZ7egKi8RK1asWNff
6vf7Sx/2kq2lpSZvxtlesj+a5EXyrGiy6jwdZsl5WSXNZZa8Ojl4dXyUfFeV
s2nyIi3Si6xaSs/OquzD4pteLI3KYZFO4PmjKj1v+nnWnPfhyn5ZD8sq619M
+ik+oz9Om6xulpbyabWXNNWsbjbX15+sby6lVZbuJSfZcFblzfXS1QW89eAo
+aGs3ufFBY9r6f3VHo+iyJr+Ib5paZg2e0ndjJbq2dkkr+u8LJrrKQzk2dHp
06WlYTmC2/eSGYzn8dJSOmsuy2pvKaGfvvybJHlR7yUvBslpPi6Hqf6Yp/Qi
rYal/1VZwVOPn50cJft/0h/WTZVlMJ5ndXr+97Ia1RdpkxbJ5qa+YgiT20v+
nNeNeRSMEd5yctTf2N3eXk9OmnL4/rIcT6wLZkVTwX0nV9koK/Tn2STNx3vJ
BMc3aGh8/1blgzqLz+94kHz///0/F+NZMfJmeJy/T6tR+O2vaJIVDXFwWdII
503z9SD5AOMZZRW+5b031dcZsE/8Apyt/9oaLhiWRf1v76cFfjIoxvG3Ph0k
r9NxOTnLi9x75dMqLYZZPUwjVxCFj6p8WNdlEaPyaVnVl+mkUFTeulcqn6uh
DqZqqP+WyegGw3KytFSU1SRt8g8ZkupZ/3BAW502udrruFXh2olzBQqD99m1
+VYuDx9jrjjLa/z6+OnB1pPHu/Lr7u6TdfXro+0n8uujzZ1N9evu9ob8+nhj
c1f/uqUueLy7sW5+3VK/PtEPe7KuHwa/qguegKQyv26aX80FT8wFW4/0r4/0
r9uPd9SvO0+28deDVydHg/3xRQlS73JSM/+5UopY5Nn+y336ewQCFNYpHQv7
i1jH5yTmOfxVWl0gC102zbTee/jw6upqkINkH8ATH6YgKi+KSVY09cNhWWf0
n8HHy2YyfpCa5yzlxbm/4ixpnDUf5fDvhwwYS65JJ/Usq2u+aJgOL9OzcRZf
8houOCurflYg9476w6xqAtaBY6h8D1/CdsyKflE2+XkOoh+kvRB0Z/OxIv4j
IK5a1K0neqE2tvU6bDzaNb/Cp0tABtxN8NnJ0fOne8nyj/Bd/6/w83Z5aanf
7yfpGezIdAhHFx+RyKCzQsZAB+JBuf86GcIePcuSGs+xbJTMan14Ja/O/p4N
G33EyT0FPjYv4Nrjo5PT89k4OSo+5FXJS5Osyr100K4Nkn33hE7yOqmyegqP
yYHA9MzLtBiN8bV4Qv+9hC0Mv5fnSZFdJbS3kkk2OcuqupekdXKVjcf47wQf
iFfC3QksZ1PlZ7NGPYbvg/2LHwA3gExIx3BcXsL74eif4WBBoJ7DROok1VOh
Mx/ko9Ib0oae5k6huYSP0/G4vIJbC9Y18P1pA5PhhUmaMhmCgtBkPLxsDFJc
aR80NncycHmVwQyyD3zDbIrbBt+dV7ByxXl+Mato5XAOGWkaIPom2RWoG0TE
fdiC+G5ZX3zIPu3K/L/4E5j4rIZVg1dluEVwduE9qXMPLAJO351hjCZwllQl
yO5y3K+n2RB5HZSltICFrppkWpXn+RgIDc/DkYPqpMcCO41m7bJnLTzXw3vL
8z78b1rWdUbqUo9GWmcV7F9vDgPm/Uk+Go2zpaUHqHxV5Wg2pKc+SH5+kOMH
n5aWkIo2M+9Pp2P1djWXZBW3yFry888isD99ov0CsqzETUNzQOJfRHbYzz/P
OSU+feolV5cZ0GECcwIK1kSU7CPIneICnnqWNVdZVijOR8ql/Jpekg0uBr0E
pVfy7HUymY1x9nUzsOeAu2xMzA9D0RtdETsrUDCBABtpSqtlTS06jNNreMfZ
tUiF28kDkQRMRDy+cO64gBlxCuyj68SWGQHh/FMaFgH2aIzk9TAr0iova2CD
H4ArohdpyQcbApirgSnB2K/g9HCG0UsKEO68LFX2j1leMb+ifCJCwaAqJIe9
qWEBkXpwwl3DPi3hOngJUBkmrAUbPpYlDAjnml+cehJm9bsXa0qS+NKSpI9w
ApJRyY2aRqWH6ok+HDrLeCC3IUjG7y/h1sqVte5JQHMc8K6ZZCAiRrgG1kq1
aUuwWCIQYICX5ZVQFZmRKAn/OgRsLuGfi0uZC96KB7kvbE6RBjKOs1k+HtXI
5s3tBCMxJupKyJhZUQNz46ki5NLrBrwCimZtS+0u8tNedtgNw3GO22ItfrKs
wpTLGYpmlm5rQPJnwNflJIMzZDour2lT9YKdWs2KQjZ7+NRJep28L4D2V7gn
UjpXHaJf8gkEEo3PrJFzNuGq5U1SX5az8YgukvMIuAynjBZyhW/mQ2sE+p8c
eCMlq85SlJQyOKBqhaevPX4wCYAX4cYp7HQwTxoQC3DHtMTdlNUDkOO8mUDQ
Zb3IHO2HIXNZh68ernv+MjWKDKwKGKcWcmmCuuLYeaDWB8AeLa9gr1U9Ho3s
tjqmJBA9rafogxElfz68xA3UzKqClmecpXwyVxUolsBqhbPgNA+UV2VZwf49
H2cfUR4wd/DmddgDmXeaVkiBmHbSS+oZDAA5GEThRLwQOPvTshz38E2jHIXb
OBQ/RFildinSKq3LJTBqSS5VHL7Cp4ERVzQp7xB4wCQZ6YeB4nMFlmCWjPPz
rMlhB4AhmI/lK2IwUYdguKKNtS7DRVHWsE+VQqN1lNQ+MZkBZNtHjg6Sf7b+
aCTbzTTIHn1fjER7CHRIWhi9gnIOZB/RjcSSPML/yCDIKGZCrClaIzE0cl93
c12VJ369SFVF9uRzDndR9jGdTMdypAKLf8iRAECs53nxPnlKRhsLY7SY4eCg
OYH28qdXx6I9gMX76RPPSz9NXcH6E8iPus7MfaNcrz3YYGYZ6ZQpZw3vY7Wi
PfNYUhPoCWmTAmmzSd3yClwYWsvIu5BebGXIgXmSMTEeIyvqKdFUf/4Z9Dd4
Uv4x+U59C4Y/fLu6HHn0MhhXh5E3IsuyzIDRlucwNq1rC9GBuRoY9Ax4qcpw
NnC5o+8XQIwKnokMOCH3E/qFWAp9SMdgJ7PkwWvbqMwvzQufwENSGGeo+sjb
0FxPspWTVy+O3r3cf3G0IjrXdAxcO0LJjFfRexN2AvBs9A2JaGQHh4fPkwmc
s2M8rK4KpjjwY38I5kCfvgFqwmt//hl2ufPpABlQrX4v+TlbIc5/hxNfAfP6
YrqxDNyxcjF9B2b/u3R8AZ/C4uDJVYyYXX7ub2zpS/vb9D0Q6mWJ26PE9UyO
RjnsuL3kNQj8OlN7DQePtL6o0imcC7B+QNAGNTVYHaABS0QgIxAXzqB9MD96
etI3pP+U3yzkFU128ZKQmvhl1iEv0CbQI9U0UvNnLdRV9Bzjtkb5fTvbVvSz
zuoZ6iVlNeKD5m5N2V7M9IaLw2GNUSOB38ic6WiDGxVAqb9g3Kpft0TI1nh8
DMczFBlo8uK4lSLQXMI0iTHDV5CJAl9PgYM144iuxLLJkYUHIu1YB4f1ffAg
Oc0qeHo5Li+ukwdotzfmA7HewdxIrtCdnyy/eHNyCnuO/k1evqLfj4/+482z
46ND/P3k+/3nz/UvS3LFyfev3jw/NL+ZOw9evXhx9PKQb4ZPE+ejpeUX+/+5
zEu3/Or16bNXL/efLwd7jcQY6x90CMNeRu04rZfAEhhW+Rnvzz8dvP5//++N
baDH/wE02NzYwPOA/3i88Wgb/kBFld9WFkhR+hNIer0Ep32WVvgU2DKg905z
UJz5tOadhy4GIOg3PyJl3u4lfzgbTje2/ygf4ISdDxXNnA+JZuEnwc1MxMhH
kddoajqfe5R2x7v/n87fiu7Wh3/4n2M4aJP+xuP/+celpaVj0KnRkJVTm+18
Xo/zdJKPc6Cc5k5kr1rptMNsCjx6XpUTkYaoOZFuKPuKFUYkLAs75dsgE9LX
V+ip5O7m/bW+o7fa+s4WMfw3Cbuj9l/rPWw7nXq8/RZ5PRa5nNSethwvanu7
01QkgJFh3ChZto0heuhyTympDW5eGjlbuLT360skekoDJRFIVynpaZ6rnU/d
H0rqO4h947hSLg7eIjMUWo1oO+jcYa0Frji/tvxryu2mia+dT9pLRTfe1DOl
R6XWsb411UPLCa9v8QppqgU2buUdSEBhWJML7edBoka9/+zzSfY9D406amWp
7AWkkaDpSpZdcZ0EfKMn53llwP4Y4Z+0ijxRmY8O55AyXZfDPNX+OjCclEHL
JGVFCXiFP14Bi3l2BiOgswKXU2u0dfAwUsL01YPkSFkC6HptGy2Tj3b8D9kZ
mM/vQf1IVg9+OEUXD+77H06Tg3Gag3A5ydAdenBwUitn6NYT2tx/HeysP0kw
isSyJZNDGSNEyll6ELlkQUjKkiyhV2yhemR5xdjgsg5gegKROGcDTGmRYFyQ
V6gCTQj3HipiuWMBvcKFTzYH62LpPWKLDtQoWBoYzmycKueK7JIa6Ic6GZBu
rZccKw3shHWm1eOTtV7Eqae+3j9Z01SgiBEpILimvoNU+/FpRkgxJsHOk22R
BVr64x7Gy9291skb6utVQjnc+DgouqEvW/Myn2qZmVyCem+soUhACr16ek8P
yVVpu6vtsfZEkUQtTZxx6k6OEqi7dUxKufb8gJqybi5FX0YmSZbBiJ3Ce5tl
LSxIDBlRh54K5gRijdxwHDMEDDCfICNhjA5jp3CPPj205vrTQwqu/kSz+ekh
RXbIY/yTUt/3T3ryJTL3f/VRmOgvj0+CeGCZkY1Bh0ijTmRriLBCZnLajwcK
6L6SRMLG+ZSdZMoisk/25cCPRKd7lZ3jAoh3x9DK2nd7yMmORbDXdh4oN13P
9tH1jIOH4jkLvHW0cfgTzgsBWxefz36ZD6BzpDB4/IpkpHtOsNC40HcnpHBi
0KzI/zHDf8hqUqe5f9jBK9QNJFiA+eFdWlDv/+nl06SawWBAh7ggIn6bfDOF
071ajjtctgZbYmZgaobIRnoriM/xWK5STLaHZxvQaCzeaNignbYiHZeezUa7
iXyEF22vc/YaPnQMt+Nws4/wS7BWvcT12gUe/Z4mL6yqv6Zw/lJwjPkagwbT
rFKqQczspYOTXEd4tfKQ9TxrZ4ZzfMgyVp3hs2rch51wqYztVgL8PsnxoRPl
iWJBhNswTUb5OewMeoU8zlk7y+HoLF+X5erFVApH22mlY7KvZxMbAUqFnJSE
85w2jWZds3OszSH0sSJe7l7qwlXRYdiMhWKB1F916lg3zB+AYjjti1EhSGan
U3up0REyf0wYbvru+NWb1+Q0gj/GKXC77OOehGL196000z6o2RRjNHCksNBD
z/efMChoBcQs5aQzT85j8IfO+H1Wnz//kNdRh8Rjx44z8xEE7yfxqF10LBqH
qWxf5XdnLxvweToa6EPC2Q7tsoesh/kLNkfg4dtOOGTimqVqZ2HGk20pWJ+D
TYQnSl5fWhkPaDc0V2XUP9dzTvW4pNJJGWL/mXCS2HzaCqw9p+8oI/e74Rp2
Kfr+Le1Bk4BkQakWeM/h6fMT0Ro3th+h1ggGCAzLcrHRTiqLqLnpXsyegQcy
Q4sMKpMFE0A+5NnVp6WlH3DLkAKRFbzpw1i4opitxy9SzPeU6uyRGV3FMNyY
Mj6IXC9xh5psQz5W52079nRl83kSSRU9HY3R4wlMHrNtTHD6BGgjdVOzA5cV
33lSgW6aN7L4IWpG1WamaPsra4nR3d3ofD0veYE5RLAH3M9rlRwYM5VJLO2f
8AFAM9PjH6mhRoOb8sxxPsnFIQdLiTY+bzzYSSAsZmdi/hvdpIdPLSu28UvQ
vWEiKvJrhJNrxNrOA1HF93loZKnD/fWMx0BHmhcLqLMMIxRDGEOfn6MjdRdZ
g4zX54l++iRsv3/CBpSiBCdnIWGdR9+M2fCKVST32u34Tq0PDO7F/n/ynB0y
aKPDnT85cyi3YDqrpmXNfjhlHlIKgHPK1Ozju0BdHQ8xl5c8WYtsYa8Ekk1H
lVvXEIekEmoWWS9q/ToY5SAKJLRBuVFnJBNZHZw7lHZKyFKEpg2PShslayqa
h/Rg5gEiDuEp6COglfIpxb5Qk3nQOsJZAedSKnvMsx/OZo3SF3D76RQM5gNh
Tdx+tP5mXvO8EJpdvGOh5ojOC5Wvaxfu1BzcUbm8vDY1nGgcL0ynOfpUL1Xe
gsNq/nqnH9J8TLo27i5P7MAY/rf5SdK0/nChawno5927d/gBPxN+HsL//7Z0
YDZl8je45KF7E13jf0IXBj/hZXSd/a/6PXIpjcb8OxgMzGf0w/VG8Xc8tP61
PzuwBUltE2jp573kgawAZ+x/u8w65fGcJVgGTbZBZaOfjkE1/3Z5mGHga1kC
du5yZR9Rqaq1oT1PI7hi/UbZNNdTsPtx6w5gBw8u8JZlW/KQ4Y+FA330grIm
aWnyfmKMKg5rF8OORyE3OS01HggtaTW9JD/HvQXHHGXCNSVpU8fdzfyBc326
4Gp0yg0v8WOilpIQoAvnY0zhGIL2jU47jlq1ew5ECis3Xdz0wpTWcook4Fg9
WV9e7k/7ki9U7si/nA7JmCJfoUOW5Ai/WmhizuGX4vwm/NJT6XfKoDcS0KKJ
ITjZozpPzne+xrhvgf11X+xHIXo06JUXOOoTCJRr/Qz0daqrOj+Cci0xMEQs
FmPOV3BoXOEHN3uwmKJj9l/AUS6ZaaRT3mqo9MRDk6PjfQdHl3U8HDupVEtL
+4klSZRr331nzdUwcp+KqdnpcNr5YOfFwTOsnEktFighHb3ApCLPVRVh8GYP
eXSIDWkMQ1LubqN64MvfHD/zHSlRFkYvD86LS7yM/W59CEoT1/BkyUrVrIA1
qW4+hQ28xmKN04/8zcyLcahquiRDKDA7VNFXu6SXqH9qdJhDSoQtq2tl2D/a
RRFR8YUDTIrsY3J18RDHZCUS2/pK/MgadB5nXN9ffG5hHogWSyQ9zFV9dVUf
aK8Nm9j35xkcLOKNEL6EJT9Bu4gcEY6FtLTk+96s+EmLR56dDbaTLo9l8zuJ
+vRSjg5l9R5Hb1HaUVpVbSJSyt7PB9kgklK1loA+/p4soPIMd5VJ+wB93FXy
PRs68H6YVzjH3trvNbdHRwjvAXE+48wAVPm1PSZjd+Nm4rCQ2JWqSqAoK4x/
7MU96mRn8HiwQSPA3zb9XCt6Si1LogriGk6wHTYJryrX6xRcm45PYOqzm5JS
EXUSnOTHLrCcIpl3bK2FhjUM0S6kifhkm8Ct8sx6nXDs6v6zp2uKhbYeRYLO
uTyO5ko5vfLoZ085CZhTGuHPPh8EfXICY7pSS8gJKdUlJsxyAIZ/gbmPXsCR
ttCC19uJ6Lw0uPPJYTzj7YRJ2/QFUA0O71pJ827LBXSRGrTCO8uZ55l/vQIi
MvclZx099SmlA1AmTk4Oge9hq6fnDVdTYFCc837Ps0p84DCJZXy1O/Qwfmqv
FvulOiyZlZl9lsH+ivGD2g9YAmMSj2gwKKdXMXC7pmP5ziglD6UTeT3nkJ/F
05FS7INwSUXu5jqnTEy8xv02mRVjMvTRbL/KKS1hROklGEV4nr/PlCC+PW/y
UX8VdVBfZAXlmeNy0RMcIx2NWXzid3zVH07LHPb/KcrQPybfJj9+k/xoffT2
rXPvUqNzlWWclKRzdg3aBZYKgxhTWUyKJkNJNctUPUGVXid/g9f8zX7P397+
7a2q3SQTxfs2yTi0Y6ljfLoUNoNc856XJF8j4ClhSo52erq/qNemdKSzsPV9
IT2vKsE1jpWjuuRqT23zgIhexpkur+FhI8ls7O0F0ZyT50enj8t8enbejAlW
ssE0BX0PpEPyWp8IwWRVttgPoFEMEfBD7tlLeCiRkej1I65XPPATyMLsp2R1
/eP5zppj4+L1V97jpcAwR59zcW2PmWzsrFZucHh9OCE16Odo0sCWWTzmlEeM
RRnCnMhhZa1GbxGwkHPZiYOShs4v49utCZD1Q8yncsKtW00xi/MQayA3mvEB
2ZMfO824SS8wD9MtsXFWBqVKpYzUjzHOMcGIbJJiMlvNB83YGOhM2NSmiPbJ
myfWnSnRgQ7w47m6mTGvp5I6ppKRe0Z+4uR1tCXgBgTMeW8HX9Ssks2N9d0d
UQWV7LZUywjNjD0AYwoFpP1WjK6gmwSPQ0UgK5LyrH+cXcDHyfk4/VCqwOX2
4x3SaJgQzwqq2OysR6l8McxoT/795NVLGPf1uEyFVmadbRkHdsOH7Dpcc0VQ
jKrDTEGikH+fL+6xjFWLlHNhLHm36b0s/vREJIDSEnb2MswvU/TXXVQZF71y
FjS8u55N0QGWjayJGPgAe5lqWVOcwSVm+Rc8XpWMRCLc9mmwN0tMRGUUyHfe
YJXVoSW9sUoo6RbEPH4SlfPCm7NCUi/wMMKHWrb5f8jQXT9B3PJxLAD02SlH
L9LSDw2aLCUxLFuCLmHetBvhQJHu5PiwqI3Jd+uQYredTBEpg3JpJh4SPvB0
cjP5Viyqyobx6EzPAGYkhiANnX1ythdHVeJZp/BfjYW6/BcczjI6mmYTrZAt
Oznr7LV/bcivPJ/VNbMU2wGuWeXYgaLPkmnTpGd9M40+FwOq/d4nEkng9iWO
neyA+DzF6S8EJb9JkxJyGiZ/yEXT8oq1CtKFYsR4t9GD/2z2MCKCv73UrqVC
Vkgd8qSl15TZdKxIdQY6bXXtVUGyoTMeWyPQRY8s0khvpVR1NQ1raVti5vrU
MelsFkczpAzWxaoSKy5UEf7Hh+CMtO9XefnDeK979hA/PIfVXraHOK8SuArj
DVHPpdjrrf6kNU508cL5PE87jt8ap5j3BvFIrRHboM+E9YXvjk7xrU+PTg++
V34SbWu0R5dM0tsYNc5fkpcoCpLkl4T2F/x7SAVbUw4Dtv78svRLX35+8f5d
9AO3JrhM9Fb8WYd/tZ997kLgrRLO4Vs3Ev2BQVDybtIDTrBKSr91037rnBv5
1h/IRy+3buFbObtw7o18qzjV+dbtRH+w8FaMS0aFkIpSvgyFRHnuHD/tp0cY
zoyFMY215td+meJbjSxVRCw42gTac7XQT0HuKNZOreooe0ZyIJRkwM+V0v87
8kPTQMn2+wfalVGdD9FLtqRs8GBU3zqmuSqEwjMUTA75iyx1eoT9PdyKxljy
MGlA7MA/D3YHf4AN3PxxFU7mteT3Vsq5On7tZ+BT4Rl4RzI4I8wDAuq0CELv
DD6Fm/7HqqhzuNf2kvWe/MnbZS/ZUB/grthLNtWfxOl7yZb6m7l1L9nGv9fo
dbTA73iBv01+bKfI2+gi+KwlEnwejoHkRaS2u8KUQZ3jSed6pEBRQXKJg6J2
2WHpxx9xWXoJ5hWg2Zas+mbxWoLZDzuyFx+yxyNZJbn1OyIZXfEWqPSjVMHr
Z41dY5gftbURf5RIr9856QwkqH4nQud3sgTOCze/6AvJ9Fpd/r9+3O//+e2P
6/0nb3/sp/3/wl+++T+X16yhDF2z2B1K+0+nQbb/dB3+v/f/1y2Gv7F10+Hb
4+FhLHkuu6cz8hC7RbYsLSXZGc+zbqI8tHuonEQF/ak2dYGiLVp7Z3XaDQLU
iGxAOQWseYgICKRSX90eS1QRGDMTUOQNrYIyoRdPAjm9mL1h7DqlUIdHExHJ
rk0LlMdB8kxFpHhteqyaKv8AImXZR9Ni9/Y8b2QvfoJeiqMPESIa8vkQw8CJ
AAcCVWnxVOEAv0qva5o+6IEb7HWtsnMK1QapqZROSjeorNK4QqwTcGLqioan
AQtWiVpFUh3YhIfOKpwwPRIV/1HGidmtlSoOhlbEY+BGemPu1DzTLgFn3iu1
k2HogP2gN0GjPngKevBCpXKbEGosxPcZIWiMBvrh5fSs/CCWDodn2CIzURrF
zmEkycFyC4mlnLDacyr7Lm/B9Oka72OVLq3GWsrYO9exRrjyFg3i6ymvnjsB
MTZnwAlnwILlrAaDa8TcOZO6iutkkqWFXvrWPdNQkYQnNGQjqXDhpXYarmuv
fYyuMMGNVrd+Tqb0KTk7aCtRTAhG0PKkGB+j9StcZwXlJul79FQ0jhktabSK
MVxWzy0HpbAvafYceb9CEipsvJTHh7MiQD5PiBUjJ+uXEMvChGq6c5UCbmve
E+ZVRHKCy6sieWNV6JOZ+lq2/9LS9+kHdUzMid0EDj3l4UIpRrXD4rghL8jo
AzCIxkmgw8jCFfUVRAWg4egLglYolenWvjxj3z7KSVxeTJcHJhsLUJmaSuCg
YK8JpnUlY8wbQlC8cW3MY/Lnf/Zw47g7+ydwMlGpFuIG4mgIV9GkS9ghBVxu
i6U4h1BcFYXHhvamb0+FIBREODdiAIhI0ez8XD+kga3AwTiJ2w5z9v2cMeqZ
ODwpdozCQJKmvSpSv7JungyHPdewiH6QfMdjV7OMQtZh6pA3x6WlfcSxceEq
VGEYO/E+lOMP2cigD6jaK3L8OwAqdg2xAFwwbJkd5J/zrvuCXroH1OPES5Eh
TkVcSYNHK5Exli+tY9QpPaboWmE4OfhNHNOqZ5Mp083R3+bkbQ1aa9VObrEW
MMlVDQKg6vLX7FPdfkZYKmieYWMHmAd52Ohn15bzls5UNygjenpQBWiQIqxy
v0HydFY1jNyJeVukaqk8ExgUv7T2ibJqSuAXs+ealDSq/dFWyojLRqtOy4qw
gTMdWGJ5HbFMbOSzbpU7rh2gUh/m5Je5BpVbh+WPyOAL1Cq4d1YKqVbo3pVk
iEAs0UIwRT51pUE+VFc7MzsWRTfEHTlmHAYbytus2IkSn52S8wj89/w2w9LI
KZ7ORNqsxOTtpAzvCIxXvq31OKqCkRFC4HAfTuRPR5QXo0I8TtxZRTw9/EJ3
bZR5EinSE6sIBQWXQOkQqr3ynPAiwZtIQpbmVH/SA/Q/0IackHEoC4YVcwoN
RAN9nusk2AifKmvgkVpMBpBRyvDC+dIpzxAnFtoxDgWnqZFJVIybuSu9UFrb
6f53716+efGno+MQ3ECfkQclJhE1fcmNPHj67tmhHiGhT3LGsoXf9DDNz3+H
GENB4YSa8Mbu4En3jMcYKqZAik6r7EMOpozBxAxgK5fNNJcjaRFCCztEe/py
ddisuSPe1hnI2PPEYPIPycajHIdDB+pyPgHvgjBo8BXhdOkF1kyDceEgwoHN
R9PU5FUJlZEMEomQOto7OQg4j0Jp6ZIAKoWDWKBQgQZmHQA9y2ekNqbZwWob
3HemrZXby1zBBfcLjhbvsKNShTl6LeNau8WOqu4ycDlJgLeWw1ADDTYZ1X9t
DCKl7Lpk3S8NtVLX3aTsebXGiyvGy4j+FFM5nUHWmSQ+Nipzpu0MbfGm8NHo
ZasnSYQeYNdh4htlwxAENZgUM6WNaRz/VnSKlki6V2/ODgI53O0aAY2rMF+5
gsFv6iJxSdCJ5q53oYurKPRsbEFGOtRAeOHC5LVdqW/qHiwPSDayfbiUQ6zr
o91ofkkTS3R+lJv0YyuAylvnzBWkT9EY0RqgoDeXXhKve3qic0ecexGljpO6
aA1JOzfZgrYT3auPcUUBObtRMDqALcZ+YqeYsSfxwKzKdKj1vYYcUpipi9MQ
nPQ4mZP0IkVLQuQpzUP1P4jUaIeupVASwYzY/YAmImMtp3WfpygsCE8EiacB
OlIN007aDWkhhT0rU7MiAE3O8gfhg86Kq2yszhxPMQfDHr5/3RGLbLRZgK5W
OqylWLq7ZI5+HWpocp45zB+J07fsSF39c5nWvY4pcPFcN3VMh3VfHl9zJtNX
MS7Ixiyug1xxFNyjnGd3WY5HtdgbtvaL+tC1apmzPVhfT1b/lI7U0Na4fYYR
0661RXy05ZlYxLkrdN+7kcnysakxTKsK6VgSZoJ7EEh2Ko9O2RZaFWXe3EhW
sYh6nI/eEcnWmPqceykEU7UU2r1wE9NF+STR7Olkgd31+7u8lDEnGNiTQRZN
Nqw27fCkaUGZghFrXRaPxrwezlQbBp+9e5GjxoWC8aRFlNFRiQmExEkyyS8u
GwXIzJLOD3hqKkgYgfzsFDyYU0LFyUJhIVXCFRxzSqnAoo5rsgrkvZ0QduI7
TDFWbaWiYJanxpwdSR5Imm7m31ZMsSUVioMQi+Bp7VlEtXCYDTqkTUSkkT5v
bqTTV/HIh+ADfUWg8iVWaeHl72N9VsIR8VDGT2bAUZwXvlghtWHR2pTTMwpi
26cDAS5bMGGI+KcODFa/QhDD1ypORlFvq0VIfIzwSYhxBoSIuTfD5Y270FUL
IDk06bUWMXrkX2RRYYWiOVXEdY4CW20PqCOd67m+C6io2Jpq262N6nNS0p0W
AD6ogw8SLCkI0p5qATSoBp7woT3qnvMgDH2hh9J/hJfOoFDSJuWHEKAkeaG6
Fxp3J6OLdw2gpFXmCxCPFiT630zJIh1muVBhQaoBIwqozd9eIL8QeyMWaqPD
fniZDd/znsqJu2p4L4+NznrPMleN+/xCPIXDHHo9lZoFX3LIHrXWsEKOtThz
quKD2pqkRXUoUE/eFMYi9JUoR1XUOdVE3kXgZW67MCsZmV5O4UcDo4k6d/zB
LXgSIRS8m5UTeYmlUX7+ijLjhUtKh4VeU9dgDTJm7EfuJfmanenbft5Jj8Qg
l2VOvIQxCPJ8zUUxN1zm5FeRG3TPUhOtfCOzZK3FMoHa5GqZ1ptoWNZ7vOyT
yIM4ryt80tyiBpHUnvE9/7DMhBmz+e4x3h8uCjpxklkOylDiWggFceGt3Zzk
udazpUfLAc+MFn4vYIeepFrQOTgmzZIeH1MA3ed08rIKnq0B9BAF3ol4ZiNF
KGuFOBWO36c64AnaPgNC6UWKH63kF+hwoNiFia4swF1PGyKy6c8kdYI1b91P
g9b3HKbUWehuJatPy+osH42yIpC4XD+nbUwMQZ1lghCojJMDlZDxfc4dH1u9
hVue5wS+ZreVnr8XzDA5E+R/cGJAw4xjQIJ18uxwL9l4shY9I+Q8Yo7DXSQN
czHBhbuCarhjWCps4arYRoqx6HCWjyzHhiq0XOtM7PleAkEnbAHqVObcSWoy
vhhqb4ldgybTjHrStjwmrTLf62rSmLS5GHjv2ImKIaXaBOTTiQ+opdKmwCSV
GjpjyOvGAPmYEmYwzukXvo7Y78LQ3cuokC/DIuQTjPz4oQev7YwHl97S7VLU
b7uFmCqTXcY4FuZPNMuo/ZfFKHirVR5nZzi59FQChBLswlrRgGomE0V72vA6
nHz0RNfDjC1tUPx7nmHZoOP7s2Rcq7lgAXbiYBaSNqz2u6a0H9wyZz7H6R6f
86DdgwWVvqJhY08jP0KaRfwc3FS2Rnpk1CIY5poX/5hxhiUBG5U4B2ofxJze
SnLJy1kGY3UCBy9oFjjMM+CeSXQ0Wvt2cfhe06EwZJ+S3883jTvio12DZBi+
wVOZvinazzDWjdZjQNAqN2LOU6VXc2j/xHClWekOM11KGBj5LfMm6j0hq8Iz
l7uAoavCc0lGRJKRGZ6h9jqkZg7XoLXkQ43Nd64oXKFbjXy+GPjHE6DS6awK
sC/0DjgJXm3rEDM8ObcmVgHArskqk0zJs0y7kFCBu5E4FHuDxZ/V2K4tECBY
C5jQSO4qxl8YshiPNWq9kYkUSBRxIZUCt4jz1Omd1hODDM8er16H61NVpluq
js0L72E5hPXDeoKe8DHICCjiOJFSG1QmnIAerRYseOO40fAWsMHHknvW8l6q
Na6lQQDXGnslxt0BGBfQgAuoafDP7mKhgVyvznBDITqyHVZxI/azM/ZJ1Tql
RL9CoxpSkgk/LJMWhbvbG8rfJ2+R4Wk90KUW6XZeVfbtiRTNlnIVKcoPIO0D
l491wu1kFWw2OD5nxWjN6NqqHCAtGMrapRDz5mLvhPQxhD9BHUSW0rwvx5pa
rm5HbaxRLcWKKfsc7KgLy/aMQXrimaHcc5RyXxkdAxUOWBSCsPSkTCuncAgE
g3T0ZfYR5LISS0qSlKZHe2hZLyBegSZBVRMiaDaZNmwnatCDyNLUgSiOKn1W
9ru0AGGdiXS2STrKvFSf9ANWQFaYgmVFJ0czUl+1Kov92+SE4mOt7iSfLbzI
5TFIVrkZVe8SHjuJGjh2QRN+e3SaXiSvprbbWjGzSU8ym6++8e4zhuTG+mBX
bEluS7qmstXY6BbRGG9PbxQW1A6tEwfRBdVpspg1Ql40HqwChGX/BYE0CUEs
VBrSU5HIcp4S3VqOYdwLtVEa51LE5CgpmpieLS68Otc7hLOjqofotpUc/Npv
g2lZCYHCgSV71UVakNJPYCvuM+0GmFhOADtdEi3501iFRMv9Kh6MSesa8zEE
UdYpq04dra7SsBq1NlSA5ie8s69AH0Dsu0jHF6DsNpeTmk4AamTQC2ejx+jB
RQ2zSsMnu10hQ7NLSWWtg3JlS7xBOA/2nPT0YkQahSnCqrUqqnpY6KIlod8a
OyMi7OPBS3PbBF6aPkptwaaIsZGnOuYaMmCSTnUPQ7WLWI+Zu+IWlrB+vbA0
ZhVhqlKe1RIZJDHcsizRB/HFzoOAKG8YqBK/ROuxEbxKBYdpc3WVtVYTqxEB
lzFmwtkZphorN17l5R8Zz6Z5vvQnf+CtzmszgAf+0kRow4ulFsGlvpMQE10H
UgxXLt+PzlfioNzf//nwKViSskU0olrA255A23SyaFs6HK85WUYRrDoKqdGn
Ag6mkIqthJrClKfRGS0QLpLxx1OzbrBxzN7xDN49K6az5t0L1b2VKx57cSfo
7uAGULxAWuzv++580rSQ1+tdfKC7ASus4fsn+K1Ji1P7G83tK9KXPn+HSd4r
scnZyJ2YgalKjmGmDo4ndjiInTaWgk6Z5Dg25/DxluFRx2UAzv7pHOwIGcD2
mhFEMq/pO5jNOzicVqzmsMYDbiHFKcOuZY87NLKqrt33K6+Lvgsv1Nc2l1Ek
1GI2HvMDduHsfGWLUudZLs8z/Y6KYXXNulUH8YJpr3yDbreuznrbVLUW6tcq
kDDnSi/t19o4SSKFMivkpMKujpz2RbFKnLAFhaDBobEBk5hm3YJ3dYPmMm0j
b96pTTMMPrLRX+Crb/waMsrPjIfULldAjdHeTEmuNDxc4XEFv17DoV4oS88/
4sPiVSQJOh4V7LOwqxi/8cG38BtvdaLMv+JGP9Hphf/ECoRena94yNEY6PX1
vxyTqIgh4WtpzVfHSm/AQjFmICizWy66EPwrrvs0zYmE963fqPd0UnEe35WK
cycizyXRr4Gh94/2D+9QpXHX5tcqJb+ygMyGo8u7OUJ/ffz0WjHAn7PrZB+R
wEk5+Sc+UvVqfW2Ouasj9dfHNJGj9NZ8dIfnqk31r7j4o6x5V2X/uKcTVcHv
5QSxaiqs6zD7EegAX9a8GYfp8BKjqnqw88/QGPHPMpPxhikGMEaNXNLqinU0
QrR5Qn7+0NL8ROMivXx16rzcPemR3sDrSkS3+qAof8jIGtp48sgF/P49PL2L
SKTwEpyyo9mQctuiSxWmQC5eq2A5uFxX+H8RzP7Bq5MjM/x6OTlWQKA//4zf
Dcx3pnbdeV1sFfIFYkttA5WqYiVL5ueSaqI+s+JfLkculo72a2KPc3YV8Z/D
L97oehJyLfOhzu7yVl/M/k5rjU8fZ+ctuUvsnz/hoMNcx3wYa+jmmI9Fzb6h
ppVxh/GCTrR+/sa8EGi94KgXLZ1yJCOjAfJS8DzYY7mOcGGGGt3uvKnloHPY
ABbWYzPL24v+ohbyWMUFsQhch/nyK+z63fBN0qIqTS5nkxTzSNIRNQu37rr5
6zl7crESgHuzKJ132ZWTatWyd/r0eycJdistx+f2YMvAYxDEUM/rkJpO+Wnv
WNy9S6fTsOuxhVGz0/E4nhePoHlM0o/vYIuMs3d11tTq7OC0qYXtY5CulCR+
QemqFIOH4Q2SEDfO8uAzKToNvvVIeqlKcTkq/DGfzCYWFibOhf7FmSkWOckI
tPPZoZUyGi0ncHq1ijb7cdp9cYXP8xFIZZCTNlG7bM38XMAcq+y9Qe0JchUj
ySawCoIPeak1Q3eb8D3PDnVDPfkcPqHKgo+NasJj89vmYHOw4S1bi3kjtbb6
1q5rPU/zDtr9ucSLiDHYPryfyPYwDGsqMhn2E1NaTcmELr1sVcepWZBqGqgy
nxnMPy5xvOZ1Sm4yTof7Xgs53E1qqDXWZIvZGVsZQ+GzvFYJiiuSy/AOnuYS
Bt8atIeWRIfLfOrWCaqMCJpRdoWlUrT//Rw5n492B5ufIbZaDhKV7X0T2evG
HYwryCqbH3Kdzd2YQ2m9kOLxlPBIsqi765WoWmROOkr/AUwwp5RuJ6GFwzxk
ixikoRbYKiyljIxYl7oTwpPiEcUvKuO8ZS7wUrxykZulTnZohXY7LoHk6Rxm
5ylmeP6FxeLPD0b8geq4Mqe7slypJGrL4UGmqVoPVyFsy946DR6C9WOgeiOG
gykL8t4vATYN6oRpcjBhxknzIMoHyb7JfcTjgZUZco1S4jx3vqVqPfW4lIr1
3d1x1XJgcq0/ikxKpsK3Z5isjWevjizoBDDOFtWAjB5wxFDnZtSt9qVCv+PR
t64FSmMpXLLLSa3qnZvWSdKxiBhW1CDA1CgyeRSHF+VIcNBVCpq7w2JlWJ40
39i+EV/PSW7yWZyslE9SUqZXfI7fAs/KTDoux1QOHd4w1tYUTXd5HtzqcG6P
7WVYMAu9SGo45gI8BYko0r3OHc3J96/ePD90QTfbtaxY/OfOHuvkltjhZzK+
ndhXX1n3GjrNmWhuvF2cRHrWaRix1fIm4gmV6Dm3sd35xLbcuXvefNzEBCUh
7YCplT3Qlg74+9hDOdMhoKkRwnaNh8XYc/op/5a48StK3JANZAWfaLEdJ3dk
A3m7+v72EHngO26kzrCnwQapOxHCdbxHyEJ+6oWu6LsnVjoa+Rtej9KubYjo
TPIEasCq4wQK2reTIeg6OiO8YvtOv8zEzXBuOfv+xm6ySg5to1hpBwNyz8n3
+/3Nnd01KR8nAD/yp7Wc9HfM6Z1N/hbnb6ihhEnpvy7VRFy4t9QfWt2wDsbh
7Z7tBDdjDr/Oz53nB9zqxQ2GtuZLN2MSx5d2dzS2fERdHoq1bde2Myjmg+jy
oC676EYOhgfJs8AgCXcExlMccJXA4NUFpa6lFG13rKwqr0YwxJVSdSVz4yRx
vARbDqjhKHwKRTUTI0mtHs2JgQcg+IJyKglwFjydmGJh+XkUnpeL7P3LlfmL
31hDbOKVmLZRSkGzTLrECIkqDSbte33suelwYNwSbxuKezUhHGJFtozHwL1Q
KZSDRoFjZHgdty4xCsWLz4LtcZ1w6WaHgTNQnLTfnfNWB5TDLlNVIGCjMnOw
SucDiIlhoJBndghbDauMnyn46MyqNVbNHXVtK51K3B1L9YZIOXzgoRDBqBnl
W/aRAdPV1PT68ZgTy0H/jp1yDkyVD/L7xXGq2FD5IghV8CY6XqScVdfvxcg7
d8KtxI+RG84/ig9pQRidX4Abp7vyaA7RHQmwhcjSkgeY2AKTmCavX50EOAbt
kre0K3kJLWieDI7Nt6XfgQt2x7BgsSZUvgqAsMRNNk222QT0W6Zp/IfIbmW4
PzsgbsWhT/ePvzs6JZS7EHpdESDAv7MeEELhkeP72oGsi4LaqxWObHx1jITq
ooLjIY4AXsqJJ2mACxAsbQJ46Huaf2fFyBm3l7Zm7np9dPzi2cnJs1cvzVl5
Y/g9DXlQZbJPeSKUeeGIIy8SFh3IHUGyRZp1WTyCJ4s1988DsRMnvofKBouh
M44xkCQsmWoI8rxuQWwz8o+w21piWhsbBmOfI85J0A8pUjTboWA26KfiNmyy
EPv0Srpetm6BDzD7jlWrXnzGUzBTqM+7yY33C/I5HyjejVZUWbNUGhbPhy13
eYvh7YMtehrIXgyuCx5JBEumVQa7jV0izYnJsIhiA7dAiJ0KeqzuSUwhPvU4
OAPfaySJ7gg3LaEopCGoEIhAwn48fMvzSCMPjchip/Rq3X3em5PjPd03x0tn
0FqNJ6wtFNoYAoCnOx+bVi6+2smLUd9QgAuKRt4oPEwlk+dArd7lUeN0H9PQ
7LjwnYBCjkmpHI0sTBleVc5mbT+Z4F37Tr8REXAaTJpk2iUC05BTBq63+8V/
+8dkHVVs2D0EEV3l/ddpc7mHCIa4IMtLS3/4NtkcrO8oWYqXuWJ1L9leT1Zt
gYnTFvVzjVz3r1m+MhruHzCtau/hwx8319c39kZnj/f20rO3D/mFDy+mG3/8
fdV862f49brcunn7W7eitzrEcsRjOl8uglx7Sq2+54hIbsj9OUJSYE2dK28q
OJ8enR58/0VEJ1la5zPETCbeJRh/bgGot53XH/2eJavfjT1AUrdVVaUkmOwN
Af/A4Ly2PTSUdAjKbkONoFp9RFJFVQqINC8xuwHVOirGiIfMxins5VqNzzE/
PLzwmA97cfvhnpGRIEayqbHnPb+5lZaarOY6Z527vhJa2FnmZr006QUiaBH5
qE0dUH7i5GOlMbls+k7pfnfci9fsDtW4kNF3AjizllFbWOGx9ypDAj+7Sq95
Dn7rFgTmZjcHHhrOkUG01h32GGnNBgZqAiaUrFZYqlp5t/EcssbGILk3OsyE
RC00kEkq/pZN7MiFe9BEWhQMeR51VUd40wk3T7SilOZNvUiTpjZd1Argmc4r
dKDeRHNsU1vo9FOhDU+oBAIlKnGFdtrJoBt4om3OrxQsPGmruZDYd6Ia7PBo
W5SDiC6wubvhKgOh9RTRCX7G/+BP5kRC9xKM6fWsL624+F6ysZ48TPaPTvoH
By/6G7v93e3+xubj5KG+Qd3GYDh7yQ5c//2L/QMMw+H/k4d45afflBxLyTl1
3W1WmbpiJWMDpMHhSMKJonwU174ZcBqJB18BiElMxxWLLdQl/V+a30r+JvaV
v+7gXQN5eUlCHc7egvaXopjV9YK72hprIm+ru2iBpmxxo4HyQL7QWbWoZCWW
UlqbDh11snwx3V7u4T87/M/uMucjLJ+X5TLCIo8jD1DhL696O9xVbaFt3IZr
CnQ5jb6DMhfDyhhSLWheNNhfi/y5mYjJnKMU3r+xvruzChP6cb3/5O03y2uO
MMp0TJpF29cSP9u3lyE73QylA0FKT15mV1EwvlaziJTQL+k6upH/3jWAFB58
0Ciq1U9k7Img3yGGgSlZOOZW6WmDb84tTd5Q4PCCfR8kHKZ5NswC/EsPwDFi
JwjVfAEfQB/ezvpxxfqeEo66FyTMU6k1VvCo9ThxXKgLMBUHwcv8jqv+weSq
y63visAu8jnnOmZjy7ygMmDfzHBMBV1eOnnPP4s8ndMp28HbMAmD+xCDOVaz
fRepA1UVgBNuwUvKLWoCI3g6qeMGC5hNkzJRlU78NN2vKiR6fIVDncAUYkZL
FMNKOSkKcwq93MqjsESFUu6kHORGCxxnJqxH7jY5qndtrVqkYdnFQTcdG0XH
rf6GpKBE44ShKNW5Wm73aHsrGKbSdovJlrCCO6KH8JlA8WoT6THo3DFnBSf8
qTqmq3I2HmnKmrfbFSBoOBE+czAhGqNHjM8oPVBItSOT/Oi+z0p6YMdGlxKL
eS15/NSIrWQV63uwIPxNkX5I8zEmjljpEcpslCZI+BSqI/LiYpGYF54PeU0t
rhFHuy8xO+5cJD07n6yLgPPxQ1oKvsLoGNajitV6MKsbWJ7X/L7kkN4nXpQV
R4frU1xxpRfhTfqmn49WuB2S34ZpYzNZXX5TGBUiwnHLa6qjYEZ5oTAK9TRJ
GDtzW2VrXUC1/bQspiHXbgKLW1WU+Xm8d3M5BB05uhNjyx/pyWQZ/t8k+3bK
BaXyjGzBI1mUWKJ0UXAeS8kcS9k9+i8/f9Bq9cO5qwpI24ojxkw2Z53C8xVF
tutBlAFyrpEAOuTFCPkT3gbX5yIhqGBOrlbRdups2mJx6Xwk0L+5Q/EoA4bD
dIdpw4lXly11f0QBNC4Dl44+O6zkXeQiBLopSif5JvpkxhjntnYxQ8/omujV
oS65eHhT0Ol8NvZ8Wr5X+CZJJJyFaIRyi7yfhz5Avl+uU4hGAlpZHPc6tVGS
fG9+kiEdvUCRJ9C4bRI9cztymY7C8/UXVl5MEC54B7Xgoj6/ZSRpzqhLqh1C
KTV7YHRgj7mECvGD6KVuxHKFenN53lMK9TV8el2KNBIBjz3IaGuL7gajJfs/
7GMVNAnWWSfcuPIq5TYG6AJIkwr4tZxQkt/wMsV0VKq85+6dtaER+Uzd8mKl
4UUTCS+pUHrM6G6pHyw21ZRag3Cv+Ns31rbXnuqoYu5mmFl5hg4cuOpAwadh
OR5pOTFEW6bwR4hLro5Wo+BK081vIpAKrTHiztHsXjLO0IsmBykpS9+oRZgV
lh/czTaKt9by8n10a1U9xW/CaIIRcGFcQfl6wjHe3xBvOsJTygbgMUle0Tda
GwD+SMdt7KqPB3Z4ePLIfhkuHe93DTXFXSwtJkP++k2huz+FboMUOrU14wu1
vObqX+FqsByr7f7K7Y11aPeqfPtQlAP1u3uPW/F6Uo21czvhRy1hihx+RzNf
nWoxj9nA9CaOpquqppN29z0pWxQPkdWZ6NzEnh3rv7XrVjEKH7y447jiAiD4
JB9aWcczsKHGDh0sxQiby9YabGjuuJD/KU9BnXDKIjDgLVj6ZXfjyBo/NiEx
QX28zH2jDWNms5i0qWZd2xirwUNbiCRPVHWmlLJxPpZGMaJsGzixReulHArz
VwdhANACn5GScUevFvAZaXloz42KZ6rZVFzCTCnVQ2phNrZlvA9VO2Cn7db5
wkQSCTpFVKK5UacFFlHVrFjpqL67nXet4UaedVt3GMcvU2UaZCjmcLGdxJaq
3QImY05R3ZkuDsfp1IrdCHYp2noyqCqRMbCoUzBAPriS0MtHdvgCMEprrVUv
pBNFvGyGWgFv5IsbwN2gGlcnhFrl7U59pctAsfOT1F+92bxCOi8M4MG7fNL2
rLHRFh/OMQQkS2riGaw1DHMM4wALQayCS5T5EwW3iaWWmCrA7uhZpqk9abW8
48zwddSL4s9VzolIFmDa7ExfUpvIAZq6MSCT9h7m2x7YksfIj7tOCPhF7DRs
RNjaKbJCvUOKEN2Rhu7dWS49EP8dF+JYKbcqW+UzCzH9UiR8kdU6zOIqIWIk
Z9+d4EVWUNvxoJA5FmhjNxCLJbphYvkWWoSqjobJhy9SRBvENLIqawYtX6aw
41ZVQeX4es3zfj077M3DlmM7RtcUkOZIdokyXTNboKrUAcLtCzVK4JG8UB2h
Q1khmVIx5VksoU2q+uNogV3tl7wqqH6K3CrPS7ZsKCdASklrPQXbQ9tYNlNP
KdSKF8byGCV5/45OwS6neMwWc+I+ZoT/McNEFB6iDqvKfSpu1Apj7WJ/elBx
dtyqZ1woYaDJqFltsHBOp1gJ066JQEHTTZX1t03gXgLD83TqzwVFldxiPhbF
AxdxR9nuBeWVmw8+EEvM5aUSDdgOpbqAvl4yQz0n9haoBTG/cYDO7O+PKP5g
hJR3DELYcVwGoG/+kD4Tpe9zxmkhpbfzEA71qzOPClF0Yxyt2DvZMWbsd6Td
n81ikVr2GTdfTy+21PVA0DnpIuQbuT0tfGU8RvNRPrI0cuBTLqb1sylDKtJ5
78NahMxJFQceVmGopy+kCFHCZNGUTkvRAHFVhiMu92gql659aNcfo2npjLjL
EM18xAdVWDHhFQ/uudkXVK59rO44zBGcoSSwelSsNx7tCiBhVGfVkG1NjkqH
Y2KOcvgX01VVub43Jafqbp5C7VeCWsHomGWvSKPohSzYaJ+fQRaJN3l2Yoj8
CO1FoM8ipCpRRl6m4/OWCBoGIDnidAAMyYED/OC0LMdMGi905pDGaAqfTwhW
n1tdtByxVE0/BHjbYR37tNa7rU23td+n1bUQBLkNjTgymnrOkSNYybU5HCzU
nUCi2uKI86zPmUEUtTi9RaUC2Put88kcBoidx5lQR1rLC9LqQo4I3LVIcHXC
dSL2PsOtUo44u89svlBg0gK/o4uq27deu6qaJIxwloaiO7ny3Qzh2R/uOyIG
Rm0lRtDCgHMo0FMpFZ4zSt8Oh4J2lbc82jmk7MYni+YbdS/9yubsFtw5h+ii
s5LxXD85JNFuoB45etLK5Bh48i+iEGKjjhq5/j16VUhITZCqwzEcnhjfGXN4
h9N9lczmGh/WDbQ7nPxelEQn2BJUZgUjapRrXeNzdJHmoh6r6ifKDcrJ7S+P
AamL5XVtsr5OrrLxWIWNO9kYZfV5Sj+rDBXBYSvUquOjg1cvXhy9PDw6ZBLZ
s6+dOtPWgdVzzjw0eicpdrHDxdBSWUIja6CUCcpTTA/qJTAOwdIq2sDuPr/Q
a5N24Bers/iceq6FRV3W9ZkPpOmVlLVWZvT8kVqH+Z7U2iw53zmwgHBJVZag
Gm3QBtxc9p9nH7h7yY909QbW7eAvm8tvoyOU822PW5PsPXyY1gNZ9wGQ/SEh
Fy07RSUbUokxwk8dn5m7vv5XOMG7X/f5dHR0bTNJrxLFePbh5ocOYW9IojnF
/bwFoxUr1ke/SriTqN3rpyQEgtKHPzddlIJClCgCAB+aSObGqEnuYErB8lQO
hs9OTrdnE2abH2fpKMw1txJB0i55lBahP8OdvQP6CG+k1mQe6YloCinxO0mH
dTzUMbMvVgfteFXxVbANho3uoKHSs+R9jndpzvpF/Yu6x9ctij7v2Z983/go
7qckNbuU893F8Xnjw9C6HisO3p1PGrxnawtu+rgD9AD6Ra6fW5NtX/UZh7nB
jd9L+nBVcjQ6PNmPXJ25mPJwdP648baX/LjRS3bfvm2hj/l5CNe/+vNrvAP+
6cFrNnd2Np68fRupGu+oOejrbzVx0xMWJr75CGd+cPh9/+Sk//2fD5+2LGHm
Yq3bRNi+BRH+2kYD9TaNxr2XkMeylQhwbdXI6RuWlsZoNkfp4ivaFQb7+07K
V9ZSaKW0hbDXm6+1+SjNsHnmMARVNQBDbO2ubz5+srm5Hbk2s93FreS9hb54
B+qU8/47Uaxep1UjqBsRBSsETYrqWv8EuElfRwebCnUXHOGWCsYn74IKXwy9
CVyi72WlrFzKV1jBF71j9IZoq9uFrdpMdA+bWxiMy7b+qgj07IeAvMnHVKWW
OLcasPYauB6gALaxC2rj19JxOxUIOfz7RVXblAP86fgGCm501e5Nre2pLHjE
H2qMr+6GcCaGh+dFemNAS6E2bHfRXbg3WgbUiyb3+xhNFg5UYGfOByt2Vylq
I38yfZN9uWP2f2q3kxa0Yi7vc5N62rzw88KUbopOSyuiLwOd5NsNyR2bCZkj
k1FrcHT0OYoLWRNzvnc143kqsdTut18Rqm/zHmeUoLfdoVP+m7gq78cPKWT2
NbpXH7LqCjGabuErawF4iehkd+Mrm4fv8kUVtVITraOGpo5ZzFEFpUgm6gH1
qZldShilluI0gRoI80lcCIk2FMj5IJCtB8/CTlZe0CeCiWFbfPQEy0JyKz90
rhjpAQQ3rhN9VWTfmXtukSit49fcnD5GH1bpNUNG41M9N2Ma3/0rhz8gq81H
22hNk6LgutmELoFU7YXB9KI67/mdPXDRBC5JTmdTAxYFk9/mxh9PETo/AJPX
01D1RdFkmN/gQn6rLv2nhAsB5i5K4XnGBdFv8eWZMfJg94iZF29LsxDy4Wle
xU1Bkz8wX27E2o1ostdhLasLXRztrwKrjkJlVFLrirL39U8fyb6YFWwKjJyG
WI1Th9c11SWyfTHVxcvdDIM8QTGVVW+Ez23PW1EnX1h4qHRLOSoXJq0mdjrF
edTMxaqlmnkerP3qg6v/yBAc4x8dBgITqc8UT+1xeOdSukBbIG6RKXk5qIt7
BhPrRYuS2+s6YyjksUSWeYXVJIidumqlOtIuIHyEq9LKPbn3imgk8FmGgBUz
u6r3V14XHaN7h7poUxLmZxvzw+ciPN8UUd/FCN8dbK7p1dSpYukF+l5Vkavj
M9N7fcHyYfUOblJaIMn1gp1XcR2/V9bdwq+Ly7pbKHfD6m1Ly5Izi7Lz5g+Q
T022lXg3v+QKatNbQBg9iOIEQhDZWu6ewHRV8pUtteQV0XNWpBwL0FWCJlrD
503AcEApTFIv4+xbGoeyJk8yKql7dhiHSbF8k1SgTtl91yYoXo5HXFHslzg/
6lyxutahwhNh2clLT99JG2nFEP8E9Z0n+QRU36qtPtGeXAs/8ztpZvgepTI7
3bRWJRqz1urTJn9qrI6XoZxwx6eFhj5QSZb06tS5PjFdc7QS5c4qtJSAmjjK
SUoibOxzzJPuHJNE6zRkTwWPfXIDRjwlFJ9bRybAgDxgFc23cQIPihWoaHGh
tCQVd/UW/HPX9njVTl+qtueZavbQqX4nrXU9gtG1FxXrhEOjXjNEBAXyAwcc
fHIp9DGZwe2lPlp4LSj1uVG1jW2E/WsU2/CM7rPUJioCfiu1uZ9Sm1Zi/7cp
tYlR4F+91Oaz53zHpTaIlQ4idoZesMU+/N8KQLoWgNx3tDoSY90IYqyxdMjO
7X22E2HU/2Z1DQ+SI1AMMQkGpO2/i230koCQHlCctoa9MuxnfFFfRyn7Mu4+
gSZ9UnlFcDSQcSWXNZY54klpEQILkM4sh6N4VPlUcYECYOtFSvRjntO6KafS
QQ/HiSacbFe1Q90Mdg9wxHjMOg31LB3SCeyMdmFQhkw/sYdZqncP07SrnbuD
zY7WlVGub7s4zlp0IgC2L5vo5oYdlqaHws5yV8L3eeVQLbAvu1NgbRBsDWvI
Mqj528M5Cm6xPSK2R2ECNIow0fS08oOcyyq8gZ1AZgQ2PZnMCh0ohCUrsFUk
0AqYKK8vM2kWbcO08OB8St7ETi/ZRQHndBTBLS0o9PMhH7Hz0NInMUWpqcox
SzfVuCv1oNL8wW0Ptjw8szWSNhJT07q3BkyD4zWf5qhOzmAPObOPgSDdHOlt
bZCcoFte9xdHD23c9kVVOJjgTYKtsX7kOop+lrnB1dDx9vkOt3l5D+yCf4Vt
i50oDEbW3jfXCGEFz8V/itnEdGthIKt4dj5qT+Lz1rYbPcQxnyQ/slRvtoDZ
LFcFjV1sNnFc22i1iwueROcWnYOGrWtp9JdUoqLz7BJT3SITtUtYem6PZ9aI
4xnPTnSzC9rNpQYB8qRzPsgGvZD9dcsX4U14kelwzFfyHOHnCEz8slohGyPb
o/xekUnUuoigsJV1CbyBPhmriWe3lIm6QTBBGpVLU04n1lFW+JfdFQW++sav
IchCKxxkh+nRDnL0UnTLZumITmHV5mCEGevs3QAxOCqHM7Joca3jAXEYMbLd
rDamlPjR44NvgSPVDCd8pouJhM/sKqGb8JkXNL9XVtMnWDu39Sm14h28Qkql
4hkjSoDBbGF710y0IYha1J8s+dWdDrruCTHAWAJZEsSfaaTX1/cwZKuror3e
bgIhZYJV5Wg2ZCOYgcyxecZQmeoRdM/Fs0XT0HTQwJCHfezUdDaXZ+Q54APT
+GUYzB4rY4aWBjYPgXWBr+kzYgy9xEBb4pDq2Zl2Fp2XDt6zdH42QXlOu4Kb
2J93UO6/Tl6dcR4C+YIf7W5vmGIN7paj4+wOlmd4bhMb543xZkZcGnbbHVvL
1EE/0Nywp4egcbqZEHAHrb5VBBEASs0VEeQe4mZA886lFV9s0EaTyg1mdxxU
JGeimI3HvAl2bdy0Fhp0I8EZ+n0yhBhF/Sc/Fz8NurNE5g6wjwYnTtjdWvwk
v9iagWTPMVaG13PE9eGx1g//nF3jRqMv0SkOdH72F6YLfvRaSSu8LshNSiNK
HQa6UXSwvisR3hPc0pgl+pKhfoEoGJeXbzUjVNadx9l0nF4nP4AmXV6pG8y4
5R5Uv347mX8VJ/Opo4RiJxAJ3jpmt+rI4zXnMi0Wvkk+01Kf70bZkxP2dJ4z
hXpjcaRb7G4kKe4HY9cFEWV6exSmOjwIOlvtd+OfGSRv1FOidnjoq4HtDpsN
ZgwTu0uXTfepD260UDpBqzVzGC5BPyYbyx2XaftXvkwFBcGs+R7o+SZv+Hi+
28XrShDax0emH7mQuMfuiHGWqla8Evl11CadezfKiHK0sKusV2taWvq3s79h
KSQRmTjE8g9h+3RLsWf++uwxVt3G6LZ4wPQ2GCgjd6KXcP44Q5HonAMg3B+W
FWs0Fo/FOEh3DKq1BjFJP+aT2QSUnP+C4/noh3cv9v/67uTZ/zrimQvIL50P
HnCulb3lqHAanP8srU0iGz1fQZlh8/WilH4orMEqoyHYhpuDTorfGnm2ycZx
ZoGhoKbKKdwUZLdRuyqHAq4PxJpimy3TulHJk8tOKT4WJWAba9LIdS9eq8y4
kCIVtQgGKIAxNAd7ymP0PcqMbbqosRhtOWzYwJULs7iXk+aYgRih3TExkXEf
L0cyc1uewPwohkReWb0i7EoZkDKujSBWz1V6bTYocrN/KIsSrR2ljcrnoZHD
B/I+hexngfrWlNah/fCYKFf8Y8Y+ZYsvRBn3ch1NqqN1abTT5e1TF3sqxZXo
49ir4p1Vkwxt4CpraQPSXGJuOlnIQVurgLpu53UyInrSwtTnz/kngjFC1UEu
PkskmZTnBuYc+1DpV2ZGCt8rBe95lkri/QKb/Ab0ZtM6P/drl9iVoIo9kF5G
nP0eNHgZ0jFXUsQcIoRaKe6Z+aZiakddtJ3Q2Ic2WTxyvv1mG/0abKNbs772
tXveC9ejPtcR2n1z3ITB2UvUsxi9FyAvKDR4awu07ErG+yeRlAfZ3N1Dc4l4
tIJoX49a67bZBon2BqoZSi5sq/9ShZ7ccyXaarD9rV5tlq6am87OxmAg45nn
VEY0lC2pudOM1tKdKN/Gxpr78oKH1p6YSDB34Q8pa/ACVaYSj0MsfaxvpCLB
UFmwKsPbKSqSIDbP29t2SmbNe7Fpk3EzRury7C/FJvxzYEnCXqDUq8IzBwZz
7vCtdn2uFsLT4VwxbZpHC4WDpesaumWTQB8SWVFjygAfdjR+oC7murFMnzMF
UjFT6W1tt4d31SM/HaiROAocrKmT6OyQ1BQzsFLbPgwF4DnFyIe8C4mWT6Sw
CCeEK5SN0ylyXJ2jicXUJbsSEz+u5kjCQfI8JVypIrL2dAAXmaqCEg6IrO3K
QloyaVhxoDxslAaU+M9f4lv4BLTyYXSugUrzi28pI000DNucKhHnk5V6wV4M
WHHn5lLEf+OcY6n+WgKFef22wsRJSVVnwrlqTxLZK8adIudKL6nLiedPoIbu
4w76Axg/l6C3gCZnHTXq0YnqcLo4O0n8SNMqx5miYc2ig/IEtcUct9LFMrO4
183jIo6krdMLKrZqStWCA5iyNWC6b/TIbwE+k8bBA+8PfWb/9OD7hzn9o3O4
Ke74eGNrE/T4r4lIY8UstS+NwuM2lGCEPVqgA28JQdOOEmRnG1nYKkos4qqR
i0LVT+mSjkg5B9Yi4pAnsP8kNoL9ukfWOevUZvh+64FbNMKHU/gazlYSNdjS
Be3meQpd0WCveRCMNtobo0lYQ3uHlFgRDw1/S8l3UcRFeZbS/o0EwAJyVZsC
w+pLZXMFw1AVGbn7qB5NfnztjiUbrwiqo1R/64IXczvpy+iCKy7sFCxlVPJW
LkJqSrOL0j6y5q+RmkidDTEocJOZACfc70zgBd0YTZjk8PA5cw/VUonM2N1A
GBXZVNYyB/zRAvI3D2uD1TOVQhlWCtCQUJuAd0n2K83526SBJ+AX+CeLWPjw
x2+8C9/KvfY48TqXnfasp7RhwbnLZt/x1sl+/3kveTAcjcZ9elWTN+Ps22Wf
sGFhlqIg7q1lIDDslep9n/qsfLs8zs6b5U+xzmMx3J3twfp6svon2NRy1lm1
o5KDtMew6axPFBj/18taB3tNvHwu25LQySbT5vr3qqqms4jR73Z4ksWKRraJ
k2YB8Fbs4LsFAFe308FSbaT40IBBiP85pmhZUXdzHNoABUTVxW777quuyyJa
VwTkB71Vr6Ed8pLn9TFVWgNxTUGXaiQCSlBcBnpkHlRJZB4WShc7F8wdVvjB
n6sL1eXU/pEHCsWhdsibKjDPwcdwXdfCeUgPY112VFFbxveEMGrPQSQ3zvBA
kuwzvbmSRkrthUkpdqYXq56NDVnnAo3h9Va020Dbe8mB+AVIfmzCpDMEGfZ+
9eDVyZH1qXIcIjb+GruTxHKmjYQGby/6WuXytN58dLBJBb/4BgojXU8ZhO01
lUypr8AgQgzJIerzcPxKKDet/XPnpx9/3EQg+c1esvH27U9rTFVWDhWQGGhp
Nm2UhdAd/dcwITbB4iwaK7mMMjRspFo/YD8PkHaQWC1BGnvcYu8YtNhRnl4U
JeVkqk3LPDa/3Nk9Y0mlGZYXhTKgVGMrCXIKn5rNY8uKmQGZAPViLKnuImNh
4S/L9tjkjUSUlR1rnSSWVmqnc/iHgzo25ipEDjQLHUJyUnU78fik5EPya0Mp
/oZB2I3lfsMgdAxtYvZ/TgzCFtXunxqLMDanNkzC08u7AXpjBdpBeusMN8fe
KP+hi9P0W7HibMW8uw4ugET0MDqRbKi6BXjxBrjhTUEn+2fbAyG/aCU5HSuP
q96BN8Tzx9FxOwxPc0XzKwq14On4QbHxvOHWqMEZVBgP7KcJgXiAjCfcgNNp
98Bb9yqAMpzrg0D/p3G49UJHVgQdpr6ksw4Hn32cKkg4L8TAbpCyEgSzOR47
+Sq10/wJ7kzTjwWZbR11ccGs8pvXXA1kguo9VjWgMh1VEwz4Td6wk5QS9s7Z
iZgrSC9+POl/IDzWOrl7Oo9fiKazuLgkKVScYgvKHnikoAGF4A0YldDAfHC9
aCiUq3JDOucm0+QrDDT0zijIvG6eRD3NeQhBwX5nrTTQYC17ab6zqWXoQM66
k+vwrkZNKvZNRr0fS4ZYfESfW1CDkaXtBsb3G8jgbyCDtwcZfJpTVeG/Ds7g
qXqwOrDEWPx8dysVMamcYGYY9BKIF7ai9t+NhZjHGqDWYBzQuvIm2H6dwPzu
BAVpl+2ArwmDFENCmt9tJgvlMraElF4u6J2jX7dUW5ft5bdu+5zfkJFiyEje
qVar/AML/niq+xm2Oqgz84YhnB85RRjU4UHISmQ+tBpf3cCZPhlITfTbtUQ7
LNOsI/zNndMgFOI6Ae42VHBkxi2pkByyVn3zZBJWKb9o4+/Do+dHp0daeH/N
5BExRkjv9jLO7tkdyws2t7l31H6DJSewTgdTykAhsm1Pi4fQ+FTXf+llVuWq
M4HnOPHWhR7CoSz8VtuEMXhTxqNQ7n/bqdReOokahAtFHmnLEOEinfOJuerA
lJzwYa2Ukxi22AXVEfJhvlqBa9p+DSVsfVL4GlmjHRhdaRXUPJNzMyg3CFex
50ir7vXXN8OCWxSm/M0j7nrE15PVZSan6T/FxF9e69r8NLbOd+WgVn4Gfy/0
sH53jHjQjZ12sWB/Oamp7RpyuBFVD7le3E/sedCDthQx1zRLsa6u6XCLtg6/
Z08UVYn5Xu1YF41774CCJVK0sqNfcUMTGWEwlBZ6zW+D4h9a8+Z1mx4iFjkV
cbXydB/tQbwBxqjSqcnJTehyw84nFo7R/IFaEVxK16HhVM7Q5g1LeL5cSNGS
MZVJpnbe/p/hS9lMVlm5c/OIPt+w3xaZ392yF9t4U8yD0VzjsYvxJPzuq9vt
kJm6RMw1lIBbJllaaBevm9PLWSAKmwiVXoXy71VbtmjezeUiVFF11uDvDrCo
PngU0NKsUlU2yuAV2fs5aKMxB3lNHcYcnFEt7hW3xHA3e4JFakwB8mFhkYHe
alRagsFyq2aPn6HrzFtmtbFxE/zQcFZ6PSJ+wrif+3P821VmwDPbYTs7AnVa
GQk+UidPKZLhuO/6m7G8ReG8ZT7K2021oQWgz2R9UecP5Zhvg4kLQL44wYfN
iCyWDlmUDWVrKRHJKxb3ofekRG2hNmJjwohOOWKDxpHSHcBtDYTub5aGa2ns
akNDJPey7gl4ljEsjRyV6Vk5i+sGrqD3WCdiKQRVxqrUBaZbcQ/IRaq+bi9g
mxsYTR1lKuVFQJdtB3vj9oX0Izs8iEsdQ1CvRAdasn9wxDcgvZPXRnb8/MAs
gxEpn8D8LpyY+RUr63FOeOxwgdIWFVoB31LbKUyW8LLLAiPlkmdZc5WJUuhq
JPGuS7KDSHUTS1Dvm4ZKWkkBAbE1maRV/l+8thMLGTTPrAxaSr9VJdqEz6CP
9BnYQrqR+4dMxbXd9p7AenkqCbxz/fOas4keCoTOSR5h92sFaoV4LHUGiz4R
1SFDmwUtk1+Sl3gwOT+/8NQQL01+PcXxJf5Vx5kq5vpl6Zd++PNL9Nc5V/Xh
OQkio/hv6m/oX7FMJeGWpP5VP//8P06Onj8FEXWX41FwFc54NvWvwTjuezwc
iyGkXTOeLf3raYXSsUqeorfsi4xHh7ms8WzrX1/iNkB546/bfY1H5eo767Xz
lcfDSfxmPLvBeDhJ4wuslwMMrcbz6Ovxj7NUajyPv956KdwZZzxPvvJ4fP7Z
WP9q/COA2u56be58Nf6xYcXNeHbVr1/8vKiC8wDXa8MZT+zn3vYXn/zeeDa/
2nqZXAJ7PFv+ej3YHfztDzNYtb/9cRU037V7Ho9W1EBbxfFs+/srWLf7Go/b
2VjRR++vWZvCcW/0yUew32cWc+B49P768ueFzpOxx/NI/RrIwfsej5X/Yo3n
scPPX3I8nEzjvqm/8eSrjQe9H++k3boez+bXWy+/eJ3H8/iG48GqdDAX+2A3
97Xd3LfsZilUb7OrlxMpRUd0zaxSxeg+2HjUlucsbklQkPyUwOUX9++5zXpY
9E1LMDvBqF1R2RNoRnYw41WZKFfb+jBSN/AH6FmixXmI9nt+NqPrDog4Pbya
hxYL1d6wfo6AIDRku0qejdI0HY99uo5xjvK2eevvFLZnHwnTex5OgX6Fk8Li
5B/ZOSae65yvEUezxtiZWRg7sSSqBYkdkrTRAoNPNRNh4tOvhDHvby0NHfSq
akzCFUvWrXRbSK/8xl5Icm5TEMQCdouvJGUBjRsL8L1lUc8zvag84s9lxDnj
vwdG9P2UR1TZ+IyqWM9zdleyRxg9ajf1Uj7p5KXEVH+78jce+UN9CVHraIC5
GSA5GvG7KtOeTb7IFAcQr3kO+9t46nu670vd6i+/+gx/fNjSz/f3r5GH8S/k
sf8Fnmh07BYVJOZSnHO2t53xbB7/ksRzjBYqGbd54wY/7k2RSst5jUuvmZ5s
nrt746Z649zK4m6KS7iRovpLcFlEjXm2WLC5fKuion6M6XY82TES1VNhLLVc
MwT1Rl2AX8x7MiizCvYP5l5keWE1TXInjhFQxqJFwWMhSzgcQmJJohEUGsXW
9AgpPVDVege85z1KgHhKmzTJG/gkGKsrVlzoB11jzqRUs25ZtLzpCVZaITfg
tOZUnsdqZM3BeTGD28Yc8kFUGT6vC53wzQPfWI81NpcCVWqEgRkD8azPuaCr
8xPB3cYnvKFUK6u8UHnD+wp03Doh5MAQkU+BaDi1Cyk0jSKJ9KQvFh7wtZWP
rSQGSmcMS+rU/YYyMSRztSn1iCQJuOMMaX2k3QBX/7QSmjiRdViMIVHgcVbx
OgnD6qxei2K3HOHNkomlylSxgQI7Yg7QhQM6nBvFs46z3kaMIqriyzBy6ap/
pyERscvatSwvtUghZF4EozWopk4l18KsMTcGSVkl1ulSVvkFF8PB+l5cZLUV
BkSIkryc1eZdpL7AHUCIbBSTGXq12mrV1gTCkCmRnIMUTXEv0AjcEkl3L07S
927vYhq+RhMRYskKR7iTkoWaCAUHyfeZKYaUcUmx9Yecnq170c0K7rZEn7ZC
/egaPAzIkydZgOewggbJMEUQfjeN71yPTYXY2ziEs55uwQiwbpdwaFwhFKJV
Tprqmv/GpqxpD1Nkd8EaGpLYRqNGGgP3jT5klUB2yJuc8lo1nsYuL2eohEz1
gNIIaGGWXVgQwZLFwe9G0472s4Ok1lb2GraHinG8QE09E5K11IW2vYHy1swZ
TUWTCsBEONkU5EenrzLIx2mNCTwXZJUIzOWsGqNgvNTLEuE0FujDy7KsM5c9
vRIhbsFJC9eLNaaBzaMhLoDPyhnq61NUZeqaNRi86gqz0S4qOACxwExqi7H4
NPbKbwbakUQbyYJt8xwPeoY/cMGqxpOV0vp6WE6zlWQ4TvOJ7s1kE2KlxraT
mOp3ilWFvQSOB1DRZP2pGOkbRepZYe1mM8OEPPOxDDV6O+lIuQI/J2KYiWIl
9fBSWXl0j2YKizJTTK2q4JTYH2NXynCM9zfEm47wlFq70ZjM4VSUyXl2xUUY
Nl8UTOB2gajbE7LIsJdKJx47VWiIRYUbLIKJjDuDE/RZWoqqQglxSiIxfzJR
pN+USyCBJZ4woAW1JYtKWKFHbYlaYHZ7/Jp1OaXYYNirzRibrCdG4hJQCgtv
fIgE3U9jRgAJgjoiwqMDTP2WrlzHjpWeVZ5aIOrqvNVnD5/VLRrZ5q00sqgt
St3GYK0mUykMcMAy5/qnWtWgtoUh9TkvGoaOmqFzPO4zMjtHWZquhVZ2NQNt
K3qBSagUd807c60ncvhaRT2s7Dg6nI8vro6inBWLvLJ9Zi6xQK6N6sRSx+x1
ia2J2YP6xLWUX50MCerOzZhB1yV3MlUI1CKsqO7o0QyxXmOV1/+tuMpGHouR
9l4Zzqy9zlRndcQpdm/hQ0q7h8W5xNbOsCJYBhcypDh0WNUhjLAG+9LhCGKr
jX6WEZB7lCn9mtb+fFah40m7jJDi77NsunC0CCPOhUMqW9UuAo/Dz6Rj3ROv
q38BPfV2GrSNYYK1+AgEUMv3fRfj5NPSkr7TRz+pkOthHHmj0P+JYgdH8Aec
MojwTQzldZBF6rg6g7Dz+rpyBOqH6cCgzqNNJESFmwVfRV77G2YdK/dZrd+8
qd0c/PeWi/tSt5CAxsn3cOiUn9El7skAhuhvk2iWBcIWqNGqGqY8NxUyti1C
1bPChG1jVQ1XgHYGiv7BA8EpwUczjRyshqWlHzwgGkr0bhGQte9abBsLmg5S
oDLUr1+0We7OV5VMyFhnBGoUmxdZQWOTHkEjHfRGQJG23pRtcJhwA/yZoXN5
GLaxqbKxwvhQIINR918Yw1LVUuoA1pwgLRftKqnOVUrc/0h3ROvaiNO9NhBq
PJzPXylmC8upKwjjpLBfSAPR90V5BTxtmKi1XVYcJQWFOu3GLp1/esklbcy2
/qVz8S/JQJz2m7JPZ1mU0AMFUZ1jI97pNCuikB4CQ4uVr1U2JWgrcvG5bWyp
fIn9IbqlUEZtImOkEK+Izu7AU1FiS1yJ4VVJSimjXbxol7VoRgldvE9NfSUq
LLxVlAOlVfEPqn14G+MxPMpAK4L3YouS2RD924TSVs/OzzFngTrmiigaAwHG
CrYZVaYMMQmw/Yy6YuGOjXjs2YN5fHTw6sWLo5eHR4dG0XGGTDxmAQXcVAr2
TDES8SzrVXYxqhILvUDKoVpdVmmVE5QwVWXjjU4pKkx5UpL1GTTHMoqHFZK5
FvN9LO7Cy2wCSuIHU1LYspbGwURHS66R18nQJDXUIkpUzFCpsEb+77x4TgWT
5Q6W8xMdC72FL2fSUtUSHtXM60C3kgiffRRzR9VF1VpDcUjasyf/p3E5fN//
ARV/UnbOKX+CyiRBufj0SeGyPbLisXShcjHBUFV1pV0gyblBMja5Qr6wijBF
sMYPXs1y4SEQlWFrJFOJMeyWayhWMJYQmypyghqj1uauSpdewjTUJdCw9Rk+
rZYCQlUrK95K+o6sHwGHqoDcUxIICmH4OmsYOkTx8MIDbhUfFJ84SRSWnhrt
n8dgXqzKW6dKaUhVzomUg9mH3AJGDESi1/E8LWIrr6jTCpOpUYdlc4OwFt8M
KJCzBsOP6bCRHauYzrSKCL2ckUGoUBWBKfeISXXPEFVP1zpCY0mn0aYfMXdE
kYVb37zJnwUajKAZNRRlZU3ZOcfac5m0S83JedhY94qDScgAOWF8OV7tnu+8
BER5ggTGIE6dVlTdSIIfpHTe2Cgrniput4K4DlIDFViFHL3xJ0SIaB4K5Kx7
mtULaz9650mkhaRtauseDBFvkXtmI2jFGAPwF5faZMc0kTqv2F7nMxgfDaZn
bQXZVHGuPpINOZnOFN208U5C9VfQZPhxbavmoxX4a75mcNnnpr7BjW5+TAQP
FLaG630JzJNQa9RxItrXyppr9TVoTc9dPKazOJhyCdb23O7NmJ9Q5agqo9+p
ys7KsuFd5PBhTQlKGinc/Y5EtPca48MOQpHcU1QnRnBzwvQKP0S1l1RbdtMU
Kk6YYxwuxZCqfk0+BoZz0JPkQXI6EIowL51w9hm1akBVQBIdohYEJYqwwqyx
YQaYFosycKbv42iHb/awW4iCTejPMhszQjCwGbB3FQMB+NQLgFIoAAOPZPoN
Lylkix9iO2/cnzrTiAgw0Qnlhp64L509EfrM0FWPzVrozlmhcAsF6hKRnmwk
AlKfrF6ZHBPyIkf+RgxfCqr2+xYvhWH7SSyi2kWCjUpLiHWUYD0Lpd99muXU
ay5n8MrJNFOxqLwKGUdAE3yxzkAQIBRt0vRULFKJWzuuVeuEYjAI4AONqxmL
6g1AQdTYw0gtnaQRuVg8pBisI5FL6rovMWsBeqAVUCNwx+fLSMetIbf0CZG2
b6u9pNI+SJ7tv9yPuTxzeL9CGdW7LAxgKY8uThQfpQEDSpTNydEIz+C95DXw
Wp2RTpcOSWFivYaceCRFl3XS57LRivARxYz0NrXjdScq7SrV7uCcwRFhP0wv
RZS2oUQ8UFPsu0mZLmIEkgZzPur3CpEL0aQlNcBKrJfQq7D5nBoagaO+ttOY
lxd6f5G2uELAwrTKR8WHvCoL7hO6Cm9bs55sjGYEStgjeAL4QyEk7CE2wapO
qFlTXyFiwp5dfApf6OTmPZORu7T0h7Pqj+bxCm3AfcVm+yu6P5qLKrDq2334
VvvDneK+rq/ReADua7bbXxOpqe74MlXs775q595exXXY7tt2F7+Niso6vsep
z3ff9OhuVyqg2+P7oJuqp3df9eTeXhVbIgQcvcs1khp4b5POYbvbLI9d2O69
aQ7L3ZxqlSdsNhYItK7cRXFb79FzBNmtZA2JNMxG8d4zR6YpAv3NrzC/0Tut
enHv1R3lXMe3udXg3qvmMNzsBueCKvD2nj6HyW4lbXSlmfeeOVLtJnvSqsP2
XjBHrN2En+vIo+eIsRs82iob9Db6HdHGq/LzXjKHPvNfEmiEVB9Ux1VB8jje
nRrIr/rCKiBVslEvD5diVmXbXkvR2cKVUs/2pa/z7EXlZZ3f4gti7y1zS8rm
8YPu74L8YyyfftXEVp6KxhYsu/PEZLVqvl1LnmP29CnBfib7DYfOM55bG0vY
qw2PbBBU3F31g/L4aC1uXgQcgNHsQVkPBxfoaYhyQDRpn9O7xRR33bsdV85+
c3He9uYo4OQtXq6d0HIXGf/Jayun9+cH1NaDFpnzTDnW30/x0r6V/ttX5AzM
YINAy+Yw8cny/Beb1VGYl7JWGlaT0wdHCp6PuOAIvYQNTPZDnl3pR0jsHHNe
Ruj2oDDV441N7EiUyC0V3eLUrhFUKqUy6A4nihLkjWz6fJOk9pALUwbp9mFW
Ho4gh97ztqHbWzlSVXKGhftMki66vhJoZ1/5GUZqKOrCkM0FLEKFUAi6rFMV
KYff1KZwGbfvR4SKrb22IHaVIztb7N4UZkYYNLdGj1XNWVUEmUZcmem41csI
CAJ5UJ3URFgP9G32eTSc26FZW5KtYI/OJsrtbC8QTHPPnJ/7gjrKzrq00DiM
eaG5mH02WVrn1KhkAqSBM6jmNM5S0fDa7qZlpeu3LbdaZgobadBKoJHX9SVM
eRB5gbMM11EcaXltjQFzDJrswjS2vqANVHFYY3dnZ2uHVn+SVu/Z2bv8uso/
YNTvTZ0t99gLRS5FeYDadu42Q1SH62ArBrXkOxKP4H0oiAUaPLNnsqjGPYrJ
FRcuRWWZ/OCgdv0bn7bFhLQMtLHVGrEz3kCqxxcinnXiiGYSAFw0TIjeOaY+
JGdw1p0nNvpUUMpBj7LEMz3IegR73yudujcDUTr0/Ho62d5+qiuSKMhNoPZ5
wwkC03I642QGcdHqvssCmGGe1uevUF4iw5kyft5gHAoYq51bm/IK9VZ7YyIs
u80cwJcwwpl4Ru0DxxWzvKXp8NCzssHNVcM7fe5Ynl7kZpcjB5JIXAtHXuSY
ZMJpKsx39mHAfYUl2sfDqlXJFUxvXJZU70hxqzMGGubwEWcRYFARg8o8EnU/
Z6XALqxRiNQl32WeikMqCGC7SamPO1aX5g0cLEBF59xCyW1X9FLyuJMj6Wlh
xFQ1icCDccqJLuTlr7BtX6FzQ83GrtVRWQdhMWoUxRJcngX3TmfVFMtt8LGz
WqciSTgcc1mYRcxjZQLA9bozMaex645hMiEuOBPWJOn7AeSfxAW8KWCYzN5+
VHhaN95uocRpFWMRldLdYSQ5dNyg0XqDKruToan5SZ+mcppz/VYRG5syjNx0
IpP4/PlWTvJDWRFjfqfjhg0XBBhl+ejktE1Zdu4mCX0k+5rJwSGrSca14bjI
Z38XTBhs3e0wFiZiAIFx6lYX6rPMogIL1RkjoVAM1TpXGDcb0fHqf8xSbjFl
tgomSYAWDKJ5NJAdrrQZkFPyDXIKmhRWFp+tzJxTlYP1Sl2rRqaM7srFaZcM
5s/Rb85FQatNDT7hmmG3CNZab14JeRZPK0fEovcZZUU5Ckg2HZfXtC5EIG+7
hMUiSkTR9uRx4n60lE/uHTsl7VYJAynRpaTY5DuSPGmyQlrGSvIX3CBDBJSl
azkCOM6Ki+ZSbWwk80j6N61u/gEszD/+5Xcbf3iIvyT9ZGPNWq2rLL9AiW1v
Rj1Qve97eldZvR+4NwrzVDpNKbyec0hsBMuO32F1hhw7RENUffY1iAXmx198
2elhPHxCzbL1K2rJb2GMemYF/Qp5MzLvODu3GjXcev7INye2PFO5EOhrkcIV
CgDX4UXcxpztIKaMLU+1hVRkGXfAJgumZYu5olooAUbEBzzR+v1+cpYO32OY
9bXTD4ylFyGZv1ZlmKrq50RXnKR1ny0C0z3qk+pzaB6HIW5Hih5LghbJ3SAA
LnrrBTe163PSgKkIPOHuz2zotdtJYklxmYMumdb7EU0buyo1Uma5/+wp12th
2GiMf/bZNOhTYS+mCTOblHTkUcpDbWe2RW0mZQm6NbFciJM0s8q+XYFNaawp
pxSboEDI6FXnp1caeyrNqxHN46Nim5pL5HTbIMkcQbpSK0R8oarSMpqDQzpL
hEhGh8KVs1MUoj2N4p0UYPh8hIsS7dSfqO3B+BeUUssdWcpkmWxfl5RgNeWD
bNDzCMzbfaF1TbVOrs2IOblenQ5XkHMOFcjw2SSzjhYgpLSliBEopXTHjFJj
ZPhivpnxc0bepapkiPS58ZjnNpwru8xlTuna0EJ9dTbIArQNn8nvftyFsAkC
P3EGGgj2qlHrXQmGBdgT3rtUW9iTtsaEwLu0YBvS+fNE2WLShaLKVM8dKu7H
CgJXKKAHGMZx8u7Vm1N4zib3h2fkCX3ldXL07kTXg8oeNb19FGRCTARqmbaw
syKY6ml0Frhp1RRI63BoZE1h/81f+Tln+jlmRTWYo7tsKvc+upnj7UDszWyo
ZT0XyfVaahSol1owZKGJdsiT+kRuEK58sUrmCVnBcRqcljnlBuKaqBRcTLbF
C2NXvZYCUlYcG6lfsOHHTjBJuKZRqwp8IDUTVDra67o/nYAmd3K3Knz9e4wr
qCmlCkQH4YyobMZJih7yQg01WJl+IZVb4HIbzsGDFhUBK+n9Y2OzJ6XSgzI0
SLxWwMQBlA0OhwaiSNAbbguD4bGOsulsUkn3SfMuoTidYzUaMa+O1SvRqVqh
CJDmWQ4O0CkOyPKeRN5vhSrMGIisI83/tK7OmsI+Z0Afm3wG0gMPemKd3EKL
Ss1kXZnQk3IJuotGLLftvzzEmRg6GL7ky6KPg9Fv/SaAvoQAonp7veievOAK
gSCv3pI7dybBXneSYCfdJdjJv54Eu+s97DPKok0c7NqA07pu7u1fyea+503Z
c7fWNeNaFbgxcDHNcw3LSM9MGooCtyHdLtmk9219pqYheCX1HJRZASNKTl89
O6QxmUks2NL6jk7aiF22EN/r97lfz/R+JT5QPsOONHFFTsu2DvfXPe1tM6ov
tYF3PGmHg/WkXdQPggF2ds1S8EG1aIdDk1w3OXqBNKDsCeLyzcgf4wNdhzAC
O4PH3O9Uo3PEyGxaqjp2paM94VzS2FXKpL+Jc6KnRsryiExbp0LA85mgf+rg
8PB58oIMWuV+Go5G4z7ZuJ+Wft6rskn5IcuL6nz4yWl2rH/oGUvUDu/bpL+x
pBvRwV+bSyabG//eWrLasMHf20u6DRr8tbNkNyGDD3aX3C5g8NGjJbn48ZLu
gAV/PVmy+0/hONaXVAcoHMfOktN/CT/aXapojBsbSwL9in+oEdNWxA+2loJM
Svp8e8nrgIMf7iyZNjT49+6S1QYGP3i0ZPdhwU8eL0knFPzjyZLdhgRH+WjJ
bwSCnz5eWor2J4AvYeLZxyn+shFdLkLWPs8vrHVWINrEDPTJcgKiEHFq+oKb
jf5bRM1+kByqqOQbaZGr+EaFK/vSOzfkngcPkr/AAYgUxBRb4GbMgH2gHrCx
CX9+Qhev6o9N+/N5yV5c+QR2C+kxDR5etJ3E71ZLABrfOIJpEOqjhRejdu/W
YHuwo/dv8vjJ9hPGXsg/UmU6O/Eo7khRrvG1ThB41j/OLpC65+P0AzreUE3F
hzzZfrxDD/k+v7gcYyWWcl4pCH4rfVDVzJB/Ume30e1vpCBcD1xCJVROg4HT
cxhkPfBIucGk3LRIuQF/EikpSXKUpxdFCXrCECUii0kST1SWg6AzOmCXJoYL
BjqsSo5TUlDwVrdmnxFxYaHeHD/Dw+tSgX7S7Q+57Tm3M1Hwn4juWWcUrTR+
Uw44U+0Yiq0Uq2YZFg1XdYgu1xFn30xtrxKjeM3vHU7PeJHmxUMG3gNCBuVh
YhAT6xB4hzU03QpcAsCceZpeJFs7KnSGE4YnU0jsGp/AABakeXkgPxiRSynn
oOBgTu2lfLguvWAVCDCMtiByEkX67dQQrspsygmpH8A8aYVuRjxZ0LbUFv+V
QJIwdIkKeFg+aYY4xHI53FC+w0AtkTC4ztww8D14O8E8rlotZ1+/OV1j4AUL
QS2d24FaooXauQ5HoGni495iaeHJ6/3Tg+813LJLxLyAYefIOBPMSBjWknSY
hzcdZ9OyzmVtSfTQPtEFjIjHpqjP0PLWWssTPlAlpg4aaHADMydH87OjPEoD
ZRbOC4TW42no2BZsgEwLiJzXS4VZHTmxznJiw5IT6/DnJ8MlhovF8K1nQd2h
zu7jHCrJj6gtfrfmxW2qfBdwKKl1AZ/V4PosK0B74b0e6sf8kDfWhmxgQ25u
rO/usJ7EmMWUmHJBOr0KXulUJXyc7uJDZ+AK7vuV4MBfsSaHgQbcufYsnx4h
1yxEMaWHfABFms3EIeW5pdh9mRQQvbU0rP6lwgih8GpjHoB1sUADTk4EW6Ve
iEPpDIKOrM0n64QUwOF5pyf0kNtZiA5J+YJu7xeLHrkk46VnZ2hEWtAqbJxc
3aJOMnbocbF4O3evP2HuXjfcvf4E/uRT0AgMEeHbg/WtZBXs27McplGsRWdo
s2gPvpsU2CcBmwZkkkqJooCW6aA83n9O4BhIUE/cqHCga70TvhbbyJ6JXDjr
a/E+4VZpRNPUQW7HE25EGRMYFROsTSsfB/YtHlRS4k2DjsjgAKvSOgKsPLIo
SCb5sccCPtQ6iXnP9IJZoH5l+Qd5Gi8Qh7KARyQyF4LiMu2l7bqXsaj6JvDC
Lb8sLSh/M0LgRIyDLipiWL4Vmz4mNgVuNWz6GP78ZPObUjOQp2wxxwcsW0Sk
oiWqvTw886emmmU/YQ6kHM0eE2ZUaE7qh4dfJYA6MbHBz3fk5fKJxpU5KobV
NRN3X0HMMO2YMaLfuw8ji08sQr7VWIjLWi+/wSm3/ogJ/Ngi8CP405UDQ87t
0w4/WnbeRCV1b2NkWaSAe4vqTC+4+lxxDayn0i8RA0v0OMr7UZBlEZ3uxKQk
kLYmCYeC7Dp1dIjIMp57S+VA0nprrIcZ65OExoBVSRMKgNcqyZhTPHlHoKiX
NgJKFTTkZKXQOiVaAC95biQ6lRVHzN9qtSAbvE6HmNiN10gGeUW+y9vqReu7
zDGPLI7ZhT+JY/ZddI8K+VaSnUYV7Jx+HEnSseYoZ3YsOUBG5cQzUuJxlDKV
Cb674o5x3mhTy5A2SCZsCAmDKOacwYpvYO2IcWzMxRqYtG4ecqrXQzyI7M55
mltYXFK21xxZacPJGXFu7V0NX2LZ6UedVmaHV2bXWpkd+POTkom0xgQqZ4IO
XfI0btqN09HjD8aYD9angJ3k16P//SzlJDWO8xL0ijMSXg+g0oVAvFhGWxQV
O9Xo0JxnqW1X6ntBa2XvMG5lZBhlRbuiVnpkc2acGWlVrvD7nh3WrFi4OIm2
3Bka01WruKKRgKxDZCU0MdmolyT8sMzgBZ1t+B2LVzIq7fS4iJJvpcdxx5V9
MaJ6EQu9G09tM0/tWDy1DX9+4koI5guTGMR2i15b6fYQLqwlzB1vNOWUxxfY
YSpd/QYH7miMm9ThJ3wrD4WH5low09nZO1g0PDdXcHYryge7InphMcJj59p2
IK8YP+eKC/2m2wPZZvAJ+6lYUyTudh7AWaC01ZlE+HFPOu1o7Y0TowlIfuh4
klI3RRyHn1GlAItxqRWBKcbPaE42M+DLWrMhW1JBTbqTDE45tRLcnYNxT4nr
f9/xGNlixtq2GGsL/vwU30dchVFi8nlutZEoLlPCBouZI+FDiFm4MCPwxvA8
PX8MSvVWKF4jV5SAUIpvTqewyiNnDR49mJ5nq09CWYqhBG2xHJcXbNBxmGal
tpAb09EITfIb7F52G69bbuP1TfjTnNWUwnvFAnM88qZHFZ++eKdr22S/Yweu
DGvaZxxmWOEmwBR4sD9FQUVG+v9f2bX0JAwE4bu/ouGkCWAlwcQYD1gRqgkY
1pB43NCmVqBNCsSD4W958sYfcx472215RI99hO4uuzPffjvfDMxiLDQG2CEY
q/5enDOlJEb58aGE2afARbVpPGstfCI+FNNWC1CMNizEtI7BrIeal8eWCG6v
i8Ib9X+BGWffYZz9K7jkfwGQ7vp46roMi0otUydzGY4XBT3asHCHt2TF0V5+
+dxU1JYD7JrBFr8oBR+5i7JammDAyJDhoXHZe4O7DpQDPsVOGvKWiMNL5g//
MZ2ZkvMdSs734XIrmk4mJsuiujYv2mrP4TNUL6d7LZ6gum+0wei80Nuu82M2
y5qQY/02WwMTgktPHGQKH8DaYZYpsPL4hxQPVXJD8jB2sc6PJuHfvkzQsvk/
0O/1ZpIUnfkbHHRduYenVib3WBzdNbIcT72eFxpGeqiL9dzRUruCNpL8Sjl4
Ers4k9N2jxGpdeziiSxTWObPrSbmMyG5jCxWKCKdQfNMJY85QNiv4L1AG40A
abna/WBo/7ZJD3SBdsW7xwWSZXL7KV16CgyBjuTOYPddaMxRt9AoZN5KyQn8
jTSJYng/zpLNAh4Iu5eSgJhHkqpTxHGEwgfTXKpzkdfFjFb3jtEWVHpPNp4G
OKpPdP7gJsIsyw0p2kto/z0NR6PxtFfqv2IwMrPWiCIgivyD7F0wCV9D1Q/o
reDtZdJX6pYuzAeGHb/jy/ueCh9D1RriKcr5ADUNnk6KmM9Xbrqd627non32
C6IdrFXnNgIA

-->

</rfc>
