<?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.43 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-deleg-13" category="std" consensus="true" submissionType="IETF" updates="1034, 1035" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="DELEG">Extensible Delegation for DNS</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-deleg-13"/>
    <author initials="P." surname="Špaček" fullname="Petr Špaček">
      <organization>ISC</organization>
      <address>
        <email>pspacek@isc.org</email>
      </address>
    </author>
    <author initials="R." surname="Weber" fullname="Ralf Weber">
      <organization>Akamai Technologies</organization>
      <address>
        <email>rweber@akamai.com</email>
      </address>
    </author>
    <author initials="D." surname="Lawrence" fullname="David C Lawrence">
      <organization>Salesforce</organization>
      <address>
        <email>tale@dd.org</email>
      </address>
    </author>
    <date year="2026" month="October" day="28"/>
    <area>Internet</area>
    <workgroup>deleg</workgroup>
    <keyword>Internet-Draft</keyword>
    <keyword>DNS</keyword>
    <keyword>delegation</keyword>
    <abstract>
      <?line 46?>
<t>This document specifies a new extensible method for the delegation of authority for a domain in the Domain Name System (DNS) using DELEG and DELEGPARAM records.</t>
      <t>A delegation in the DNS enables efficient and distributed management of the DNS namespace.
The traditional DNS delegation is based on NS records which contain only hostnames of servers and no other parameters.  In classic DNS, both parent and child zones contain copies of NS delegation records, which can potentially be out of sync and confusing.
The new delegation records are extensible, can be secured with DNSSEC, and eliminate the problem of having two sources of truth for delegation information.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://github.com/ietf-wg-deleg/draft-ietf-deleg-base/tree/gh-pages"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-deleg/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        deleg Working Group mailing list (<eref target="mailto:dd@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/dd/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/dd/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ietf-wg-deleg/draft-ietf-deleg-base/"/>.</t>
    </note>
  </front>
  <middle>
    <?line 53?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>In the Domain Name System, authority for each subdomain within the domain name hierarchy can be delegated to different servers, which makes them authoritative for their portion of the namespace.</t>
      <t>Traditionally, a delegation is represented by an NS RRset, which contains the hostnames of name servers, though no other parameters.
The resolver resolves these names into usable addresses and uses default protocol parameters, for transport protocol and any other protocol features.
Moreover, the NS RRset exists in two places--one at the delegation point, and the other at the apex of the delegated zone, which might not match the NS records at the delegation.
DNSSEC authenticates the authoritative NS RRset in the delegated zone but does not authenticate the delegation NS RRset.</t>
      <t>The lack of properties of delegation NS RRsets limits resolvers to unauthenticated transport on default ports, and this initial contact is not protected with DNSSEC.
These limitations are a barrier for the efficient introduction of new DNS technology.</t>
      <t>The DELEG and DELEGPARAM resource record (RR) types remedy this problem by providing extensible parameters to indicate authoritative name server capabilities and additional information, such as other transport protocols that a resolver may use.</t>
      <t>The DELEG RRset creates a new delegation.
It is a Delegation Type record as defined in <xref target="I-D.ietf-dnsop-delext"/>.
It is authoritative in the delegating zone and can be signed with DNSSEC.
This makes it possible to authenticate the delegation parameters carried by DELEG, including future extensions.</t>
      <t>The DELEG RRset can be used alongside, or instead of, an NS RRset to create a delegation.
The combination of DELEG and NS RRsets is compatible with resolvers that do not support DELEG, facilitating the incremental rollout of this new method.</t>
      <t>The DELEGPARAM record is an auxiliary record which contains the same data as DELEG, but does not create a delegation.
Instead it is used as the target when DELEG is optionally using indirection.
This indirection can, for example,
be used to share the same delegation information across multiple zones and simplify operational management by reducing the number of locations for the delegation information for those zones.
For example, if the customers of a DNS operator create a DELEG record pointing to a DELEGPARAM record managed by the DNS operator,
then the operator will be able to make delegation information changes without further customer involvement, and affect all of those customer's delegations with a single change.</t>
      <t>Future documents can define additional delegation parameters, for example to advertise support for encrypted transports.</t>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in
all capitals, as shown here.</t>
        <t>Terminology regarding the Domain Name System comes from <xref target="BCP219"/>, with additional terms defined here:</t>
        <ul spacing="normal">
          <li>
            <t>legacy delegation: A delegation that is done with an NS RRset</t>
          </li>
          <li>
            <t>Delegation Type: Defined in <xref target="I-D.ietf-dnsop-delext"/>.</t>
          </li>
          <li>
            <t>Delegation-Extension-aware: Defined in <xref target="I-D.ietf-dnsop-delext"/>.</t>
          </li>
          <li>
            <t>DELEG-aware: DNS software that follows the protocol defined in this document.
DELEG-aware software is inherently Delegation-Extension-aware.</t>
          </li>
          <li>
            <t>DELEG-unaware: DNS software that does not follow the protocol defined in this document.</t>
          </li>
          <li>
            <t>non-DELEG specifications: DNS protocols that predate this protocol, or are written after this protocol is published but are not related to this protocol.</t>
          </li>
          <li>
            <t>Delegation NS RRset: An NS RRset that delegates authority of a subdomain to a set of authoritative servers.</t>
          </li>
          <li>
            <t>Authoritative NS RRset: An NS RRset at the apex of a zone.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="protocol-overview">
      <name>Protocol Overview</name>
      <t>This section is a brief overview of the DELEG protocol.
It is meant for people who want to understand the protocol before they dive deeper into the specifics.</t>
      <t>The DELEG protocol is built on top of <xref target="I-D.ietf-dnsop-delext"/>.</t>
      <t>When a DELEG-aware resolver sends DNS queries, it sets the DE bit in the EDNS0 header to 1 in queries to authoritative servers, as a signal that it is DELEG-aware.</t>
      <t>DELEG-unaware authoritative servers intrinsically ignore this signal.</t>
      <t>A DELEG-aware authoritative server uses that signal to determine the type of response it will send.
If the response is a referral (i.e., a delegation), the authoritative server checks if there is a DELEG RRset for the queried zone. If so, it returns the DELEG RRset instead of any NS RRset in the response.
If the response is not a referral, the authoritative server generally doesn't change about how it responds.</t>
      <t>Records in the DELEG RRset for a zone describe how to find name servers for that zone (<xref target="deleg-delegparam"/>).
The RDATA for DELEG records has key=value pairs (<xref target="nameserver-info"/>).</t>
      <ul spacing="normal">
        <li>
          <t>"server-ipv4" and "server-ipv6" keys contain one or more IP addresses for the delegated name servers</t>
        </li>
        <li>
          <t>"server-name" key contains one or more hostnames for the delegated name servers; the addresses must be resolved separately</t>
        </li>
        <li>
          <t>"include-delegparam" key contains one or more domain names which in turn have more information about the delegation</t>
        </li>
        <li>
          <t>"mandatory" key contains a list of other keys which must be present in the same record, and which the resolver must understand in order to use that record</t>
        </li>
      </ul>
      <t>The DELEG-aware resolver uses the information in the DELEG RRset to form the list of best servers to ask about the delegated zone (<xref target="slist"/>).
If the DELEG RRset contains "include-delegparam", the resolver queries those hostnames for DELEGPARAM RRsets.
DELEGPARAM records have the same format as DELEG records; thus, they can have the same key=value pairs.</t>
      <t>DELEG RR type is a Delegation Type, thus authoritative at the delegation point, signed and validated as authoritative data, similar to DS records.</t>
      <t>A zone might be delegated with only DELEG records but no NS records.
Such a zone would be invisible to DELEG-unaware resolvers.</t>
      <t>In order to protect validators from downgrade attacks, this document mandates the use of DNSKEY-ADT flag described in <xref target="I-D.ietf-dnsop-delext"/>.</t>
      <t>There are many parts of the DELEG protocol that are not included in this brief overview.
For example, DELEG-aware authoritative servers have choices to make depending both on the request and the contents of the zone file.
For those readers who learn better from examples than the definitive text, see <xref target="examples"/>.</t>
    </section>
    <section anchor="deleg-delegparam">
      <name>DELEG and DELEGPARAM Resource Record Types</name>
      <t>The DELEG record has an RR type that is TBD1.
It is an NS-Omitting Delegation Type, as defined in <xref target="I-D.ietf-dnsop-delext"/>; thus, TBD1 will be from the 0xF000-0xF07F range.
The DELEGPARAM record has an RR type of TBD2.
It is not a Delegation Type, and thus will not come from the range defined in <xref target="I-D.ietf-dnsop-delext"/>.</t>
      <t>The DELEG record and the DELEGPARAM record have the same wire and presentation formats,
but their semantics are different as described in a following section.</t>
      <t>The record format is based on the extensible key=value list that was originally defined as "SvcParams" for the SVCB record type <xref target="RFC9460"/>.
Unlike SVCB, the DELEG protocol does not have "SvcPriority" and "TargetName" fields.
The keys in the DELEG protocol are also different than those used in SVCB.
To avoid confusion between the two protocols, the list of key=value parameters used by the DELEG protocol are called DelegInfos and are tracked in their own IANA registry for Delegation Information.</t>
      <t>The following rules are adapted from SVCB, but with changed names:</t>
      <ul spacing="normal">
        <li>
          <t>The whole RDATA consists of a single list called "DelegInfos".</t>
        </li>
        <li>
          <t>The DelegInfos list consists of individual DelegInfo element key=value pairs.</t>
        </li>
        <li>
          <t>Each DelegInfo element has a DelegInfoKey and an optional DelegInfoValue.</t>
        </li>
        <li>
          <t>Each DelegInfo element has a specified presentation format and associated wire format.</t>
        </li>
        <li>
          <t>Each DelegInfoKey has a presentation name and a registered key number.</t>
        </li>
        <li>
          <t>Each DelegInfoValue is in a format specific to its DelegInfoKey.</t>
        </li>
      </ul>
      <t>Implementations can reuse the same code to parse SvcParams and DelegInfos and only plug in a different list of key=value pairs for the SVCB/HTTPS and DELEG/DELEGPARAM record families.</t>
      <t>The initial set of DelegInfoKeys and associated DelegInfoValues, plus their presentation and wire formats, are defined in <xref target="nameserver-info"/>.</t>
      <section anchor="presentation-format">
        <name>Presentation Format</name>
        <t>The RDATA presentation format of the DELEG and DELEGPARAM resource records consists of a single list, DelegInfos.</t>
        <t>The DelegInfos presentation format is defined exactly the same as SvcParams in Section 2.1 of <xref target="RFC9460"/>. The following rules are adapted from SVCB, but with changed names:</t>
        <ul spacing="normal">
          <li>
            <t>DelegInfos is a whitespace-separated list with each DelegInfo consisting of a DelegInfoKey=DelegInfoValue pair, or a standalone DelegInfoKey.</t>
          </li>
          <li>
            <t>Individual element definitions are the same as <xref target="RFC9460"/>:
            </t>
            <ul spacing="normal">
              <li>
                <t>The DelegInfo syntax is the same as SvcParam, but it references DelegInfo elements instead of SvcParam elements.</t>
              </li>
              <li>
                <t>The DelegInfoKey syntax is the same as SvcParamKey.</t>
              </li>
              <li>
                <t>The syntax for unknown keys in Section 2.1 of <xref target="RFC9460"/> applies.</t>
              </li>
              <li>
                <t>The DelegInfoValue syntax is the same as SvcParamValue.</t>
              </li>
              <li>
                <t>The rules from Appendix A of <xref target="RFC9460"/> apply.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>All the requirements in Section 2.1 of <xref target="RFC9460"/> apply.</t>
          </li>
        </ul>
        <t>DelegInfos MAY be zero-length; this is similar to what is allowed in SVCB records.
Note that a zero-length DelegInfos provides no information to the resolution algorithm,
and thus will be not be processed in step 1 of <xref target="slist"/>.</t>
      </section>
      <section anchor="rdata-wire-format">
        <name>RDATA Wire Format</name>
        <t>The RDATA portion of the DELEG and DELEGPARAM resource record is variable length and entirely consists of a single "DelegInfos" element:</t>
        <artwork><![CDATA[
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/                         DelegInfos                            /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        <t>The format of the DelegInfo element is identical to the format of the SvcParams element defined in <xref target="RFC9460"/> Section 2.2,
including the requirements for strictly increasing numeric order to keys and no key duplication allowed.</t>
        <t>All the requirements in Section 2.2 of <xref target="RFC9460"/> apply.</t>
        <t>The DelegInfos list is a sequence of individual DelegInfo elements and MAY be empty.
The wire format of an individual DelegInfo element is the same as for a SvcParam element,
but it references DelegInfo elements instead of SvcParam elements.</t>
        <t>The structure of a single "DelegInfo" element is:</t>
        <artwork><![CDATA[
                +0 (MSB)                            +1 (LSB)
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
0:  |                          DelegInfoKey                         |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2:  |                length of DelegInfoValue                       |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4:  /                          DelegInfoValue ...                   /
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        <t>The permissible lengths depend on the DelegInfoKey value.
Some future keys may have no DelegInfoValue, which would be indicated with an explicit 0 length.</t>
      </section>
      <section anchor="semantics">
        <name>Semantics</name>
        <t>The following is a brief summary of semantic differences between the DELEG and DELEGPARAM types.</t>
        <ul spacing="normal">
          <li>
            <t>DELEG has special processing for being included in answers.</t>
          </li>
          <li>
            <t>DELEG creates a delegation for its owner name, similar to the NS RR type.</t>
          </li>
          <li>
            <t>DELEG and NS RR types can coexist at the same owner name.</t>
          </li>
          <li>
            <t>DELEG is authoritative at the delegation point, similar to the DS RR type, and unlike the NS RR type.</t>
          </li>
          <li>
            <t>DELEG is signed when using DNSSEC, similar to the DS RR type, and unlike the NS RR type.</t>
          </li>
          <li>
            <t>DELEG cannot be present at the apex of the delegated zone, similar to the DS RR type, and unlike the NS RR type.</t>
          </li>
        </ul>
        <t>Conversely,</t>
        <ul spacing="normal">
          <li>
            <t>DELEGPARAM is an ordinary RR and doesn't require any special processing.</t>
          </li>
          <li>
            <t>DELEGPARAM does not create a delegation for its owner name.</t>
          </li>
          <li>
            <t>DELEGPARAM cannot exist at a delegation point.</t>
          </li>
          <li>
            <t>DELEGPARAM DNSSEC-signing and record-placement rules are the same as for any ordinary RR type.</t>
          </li>
          <li>
            <t>DELEGPARAM is used as the target of the DELEG protocol's "include-delegparam" mechanism, as described in <xref target="slist"/>.</t>
          </li>
        </ul>
        <t>Note that neither DELEG nor DELEGPARAM trigger Additional Section processing like NS does.
The significance of this difference is addressed more in the next section.</t>
      </section>
      <section anchor="nameserver-info">
        <name>Name Server Information for Delegation</name>
        <t>The DELEG and DELEGPARAM records have four keys that describe information about name servers.
The purpose of this information is to populate the SLIST (see <xref target="slist"/>) with IP addresses of the name servers for a zone.</t>
        <t>The types of information defined in this document are:</t>
        <ul spacing="normal">
          <li>
            <t>server-ipv4: an unordered collection of IPv4 addresses for name servers</t>
          </li>
          <li>
            <t>server-ipv6: an unordered collection of IPv6 addresses for name servers</t>
          </li>
          <li>
            <t>server-name: an unordered collection of hostnames of name servers; the addresses must be fetched separately</t>
          </li>
          <li>
            <t>include-delegparam: an unordered collection of domain names that point to DELEGPARAM RRsets, which in turn have more information about the delegation</t>
          </li>
        </ul>
        <t>These keys MUST have a non-empty DelegInfoValue.</t>
        <t>The presentation values for server-ipv4 and server-ipv6 are comma-separated lists of one or more IP addresses of the appropriate family in standard textual format <xref target="RFC5952"/> <xref target="RFC4001"/>.
The wire formats for server-ipv4 and server-ipv6 are a sequence of IP addresses, in network byte order, for the respective address family.</t>
        <t>The presentation values for server-name and include-delegparam are an unordered collection of fully-qualified domain names and relative domain names, separated by commas.
Relative names in the presentation format are interpreted according to the origin rules in Section 5.1 of <xref target="RFC1035"/>.
Parsing the comma-separated list is specified in Section A.1 of <xref target="RFC9460"/>.</t>
        <t>The DELEG protocol allows the use of all valid domain names, as defined in <xref target="RFC1035"/> and Section 11 of <xref target="RFC2181"/>.
The presentation format for names with special characters requires both double-escaping by applying rules of Section 5.1 of <xref target="RFC1035"/> together with the escaping rules from Section A.1 of <xref target="RFC9460"/>.</t>
        <t>For example, assume a list of two relative domain names. The first domain name is "simple.example". The second domain name is under ".example" whose leftmost label is "abc" followed by a escape character (U+001B), followed by "def", followed by a comma, followed by "ghi". This list would have a presentation value of "simple.example,abc\027def\,ghi.example".</t>
        <t>The wire format for server-name and include-delegparam are each a concatenated unordered collection of wire-format domain names, where the root label provides the separation between names:</t>
        <artwork><![CDATA[
+-+-+-+-+-+-+-+-+-+-+-+-+-+-
| name | name | name | ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-
]]></artwork>
        <t>The names in the wire format MUST NOT be compressed, per <xref target="RFC3597"/>.</t>
        <t>For interoperability with the resolver algorithm defined in <xref target="slist"/>,
a DELEG or DELEGPARAM record that has a non-empty DelegInfos MUST have one, and only one, set of server information keys, chosen from the following:</t>
        <ul spacing="normal">
          <li>
            <t>one server-ipv4 key</t>
          </li>
          <li>
            <t>one server-ipv6 key</t>
          </li>
          <li>
            <t>a pair consisting of one server-ipv4 key and one server-ipv6 key</t>
          </li>
          <li>
            <t>one server-name key</t>
          </li>
          <li>
            <t>one include-delegparam key</t>
          </li>
        </ul>
        <t>This restriction only applies to a single DELEG or DELEGPARAM record; a DELEG or DELEGPARAM RRset can have records with different server information keys.
Authoritative servers MAY refuse to load zones which have a disallowed combination of keys in a single record.</t>
        <t>When using server-name or include-delegparam, the addresses for the names in the set must be fetched as if they were referenced by NS records.
Because of the lack of Additional Section processing, there are no "glue" records provided for these names, so they cannot be for names inside the delegated domain.</t>
        <t>With this initial DELEG specification, servers are still expected to be reached on the standard DNS port for both UDP and TCP, 53.  While a future specification is expected to address other transports using other ports, its eventual semantics are not covered here.</t>
      </section>
      <section anchor="mandatory">
        <name>Metadata keys</name>
        <t>This specification defines a key which serves as a protocol extensibility mechanism, but is not directly used for contacting DNS servers.</t>
        <t>Any DELEG or DELEGPARAM record can have a key named "mandatory" which is similar to the key of the same name in <xref target="RFC9460"/>.</t>
        <t>The presentation format for the value MUST be a comma-separated list of one or more valid DelegInfoKeys, either by their registered name or in the unknown-key format.</t>
        <t>The wire format for the value is a sequence of DelegInfoKey numeric values in network byte order, concatenated, in strictly increasing numeric order.</t>
        <t>The "mandatory" key is optional, but when it is present, the RR in which it appears MUST also contain all of the DelegInfoKeys referenced in its DelegInfoValue.
Resolvers MUST handle non-compliant RRs as specified in <xref target="slist"/>.</t>
        <t>A resolver MUST NOT use an RR with a "mandatory" key in the resolution process unless all of the DelegInfoKeys referenced by the "mandatory" DelegInfoValue are supported in the resolver's implementation.
See <xref target="slist"/>.</t>
      </section>
    </section>
    <section anchor="de-bit">
      <name>Signaling DELEG Support</name>
      <t>This document requires the use of the EDNS0 DE flag and its requirements from <xref target="I-D.ietf-dnsop-delext"/>.</t>
      <t>A resolver that is DELEG-aware MUST signal in queries that it is Delegation-Extension-aware by setting the DE bit to 1.</t>
      <t>The DE bit set to 0 indicates the resolver is can only be served referrals with NS records and other data according to non-<xref target="I-D.ietf-dnsop-delext"/> specifications.
Other special scenarios with DE=0 queries to DELEG-aware authorities are addressed in <xref target="authoritative-servers"/>.</t>
    </section>
    <section anchor="use-of-deleg-records-in-the-protocols">
      <name>Use of DELEG Records in the Protocols</name>
      <t>The DELEG RRset MAY contain multiple records.
A DELEG RRset MAY be present with or without NS or DS RRsets at the delegation point, though without NS records then DELEG-unaware software will not be able to resolve records in the delegated zone.</t>
      <t>DELEG RRsets MUST NOT appear at a zone's apex.
The erroneous inclusion of DELEG RRset at zone's apex will cause DNSSEC validation failures.
Servers MAY refuse to load such an invalid zone, similar to the DS RR type.</t>
      <section anchor="resolvers">
        <name>Resolvers</name>
        <t>Resolvers use DELEG records for referrals following the rules from <xref target="I-D.ietf-dnsop-delext"/>.</t>
        <t>A resolver that is DELEG-aware MUST signal in queries that it supports the DELEG protocol by setting the DE bit to 1 (see <xref target="de-bit"/>).
This indicates that the resolver understands the DELEG semantics and does not need NS records to follow a referral.</t>
        <t>The DE bit set to 0 indicates the resolver is not DELEG-aware, and therefore can only be served referrals with NS records and other data according to non-DELEG specifications.
Other special scenarios with DE=0 queries to DELEG-aware authorities are addressed in <xref target="authoritative-servers"/>.</t>
        <section anchor="delegation-point-types-qtypedeleg">
          <name>Delegation point types, QTYPE=DELEG</name>
          <t>DELEG RR type is one of NS-Omitting Delegation Types with special handling defined in <xref target="I-D.ietf-dnsop-delext"/>.</t>
          <t>DELEG-unaware resolvers can get different types of answers for QTYPE=DELEG queries based on the configuration of the server, such as whether it is DELEG-aware and whether it also is authoritative for subdomains.
For example, a DELEG-unaware authoritative name server which has loaded DELEG records via the <xref target="RFC3597"/> unknown types mechanism would answer with them only if there were no NS records at the owner name, and answer with an NS delegation otherwise.</t>
        </section>
        <section anchor="slist">
          <name>Populating the SLIST from DELEG and DELEGPARAM Records</name>
          <t>Each individual DELEG record inside a DELEG RRset, or each individual DELEGPARAM record in a DELEGPARAM RRset, can cause the addition of zero or more entries to SLIST.</t>
          <t>A resolver processes each individual DELEG record within a DELEG RRset, or each individual DELEGPARAM record in a DELEGPARAM RRset, using the following steps:</t>
          <ol spacing="normal" type="1"><li>
              <t>Discard all DelegInfo elements with DelegInfoKey values that are not supported by the resolver implementation.
If no DelegInfo elements remain after this filtering, stop processing the record.
Otherwise, continue using only the supported DelegInfo elements.</t>
            </li>
            <li>
              <t>If a DelegInfo element with the "mandatory" DelegInfoKey is present, check its DelegInfoValue.
The DelegInfoValue is a list of keys which MUST have corresponding DelegInfo elements in the record after the filtering in the previous steps.
If any of the listed DelegInfo elements is not present, stop processing this record.</t>
            </li>
            <li>
              <t>If a record has more than one type of server information key (excluding the IPv4/IPv6 case, see <xref target="nameserver-info"/>), or if it has multiple server information keys of the same type, that record is malformed.
Stop processing this record.</t>
            </li>
            <li>
              <t>If any DNS name referenced by server-name key or the include-delegparam key is equal to or is a subdomain of the delegated domain (i.e. the DELEG record owner), that record is malformed.
Stop processing this record.  </t>
              <t>
This check MUST be performed against the original owner name of the DELEG record even if the currently-processed record is a DELEGPARAM record that was included by the original DELEG record. The purpose of this check is to ensure deterministic behavior. Not performing this check would allow delegations to be reachable only with certain cache content and/or a specific algorithm for server selection from SLIST.</t>
            </li>
            <li>
              <t>If server-ipv4 and/or server-ipv6 keys are present inside the record, copy all of the address values into SLIST.
Stop processing this record.</t>
            </li>
            <li>
              <t>If a server-name key is present in the record, resolve each name in the value into IPv4 and/or IPv6 addresses.
Copy these addresses into SLIST.
Stop processing this record.</t>
            </li>
            <li>
              <t>If an include-delegparam key is present in the record, resolve each name in the value using the DELEGPARAM RR type.
Recursively apply the algorithm described in this section, after checking that the maximum loop count described in <xref target="too-much-work"/> has not been reached.</t>
            </li>
            <li>
              <t>If none of the above applies, SLIST is not modified by this particular record.</t>
            </li>
          </ol>
          <t>Note that the resolution algorithm in <xref target="I-D.ietf-dnsop-delext"/> section 5.3 terminates even if the SLIST is empty.</t>
          <t>A DELEG-aware resolver MAY implement lazy filling of SLIST, such as by deferring processing of remaining records, or even individual names or query types, if SLIST already has what the resolver considers a sufficiently large pool of addresses to contact.</t>
          <t>The order in which to try the servers in the final SLIST is outside the scope of this document.</t>
        </section>
      </section>
      <section anchor="authoritative-servers">
        <name>Authoritative Servers</name>
        <t>The DELEG RR type defines a zone cut in a similar way as the NS RR type.
<xref target="I-D.ietf-dnsop-delext"/> section 4 applies.
A notable example of this is that the occlusion (usually accidentally) created by delegation NS records would also be created by DELEG records at the same name (see <xref target="occluded-example"/>).</t>
        <t>DELEG-aware authoritative servers act differently when handling queries from DELEG-unaware clients (those with DE=0) than from DELEG-aware clients (those with DE=1).
See <xref target="de-bit"/> and <xref target="resolvers"/>.</t>
        <section anchor="aware-referral">
          <name>DELEG-aware Clients</name>
          <t>When the client indicates that it is DELEG-aware by setting DE=1 in the query, DELEG-aware authoritative servers treat DELEG records as delegations, and the servers are authoritative.
This new zone cut has priority over a legacy delegation.</t>
          <section anchor="deleg-aware-clients-requesting-qtypedeleg">
            <name>DELEG-aware Clients Requesting QTYPE=DELEG</name>
            <t>An explicit query for the DELEG RR type at a delegation point behaves much like a query for the DS RR type: the server answers authoritatively from the delegating zone.
All non-DELEG specifications for the special handling of queries with QTYPE=DS apply equally to QTYPE=DELEG.
In summary, the server either provides an authoritative DELEG RRset or declares its non-existence, with relevant DNSSEC proofs when requested and available.</t>
          </section>
          <section anchor="ns-no-deleg">
            <name>DELEG-aware Clients with NS RRs Present but No DELEG RRs</name>
            <t>According to specification in <xref target="I-D.ietf-dnsop-delext"/>, if the delegation does not have any NS-omitting types, the authoritative server puts the NS RRset into the authority section of the referral.
The absence of the DELEG RRset needs to be proven.</t>
            <t>Similarly, rules for DS RRset inclusion into referrals apply as specified by the DNSSEC protocol.
Please note that, in practice, the same process and records are used to prove the non-existence of both DELEG and DS RRsets.</t>
          </section>
        </section>
        <section anchor="deleg-unaware-clients">
          <name>DELEG-unaware Clients</name>
          <t>A general principle for DELEG-aware authoritative servers is that they respond to a DELEG-unaware client by following non-DELEG specifications.</t>
          <t>DELEG-unaware clients do not recognize DELEG records as a delegation point and are not aware of the special handling rules for DELEG records.
They understand a DELEG RRset as an ordinary unknown RR type.</t>
          <t>In summary, DELEG records are not returned in referral responses to DELEG-unaware clients,
and DELEG-unaware clients do not consider DELEG records authoritative at a delegation point.</t>
          <t>An authoritative server responding to DELEG-unaware clients has to handle three distinct situations:</t>
          <ul spacing="normal">
            <li>
              <t>No DELEG RRset is present. In this case, the authoritative server follows the non-DELEG specifications.</t>
            </li>
            <li>
              <t>An NS RRset and a DELEG RRset are both present. In this case, the authoritative server uses the NS RRset when constructing referral responses, following the non-DELEG specifications. See also <xref target="signers"/> and <xref target="examples"/>.</t>
            </li>
            <li>
              <t>A DELEG RRset is present, but an NS RRset is not.  This is addressed in the next section.</t>
            </li>
          </ul>
          <section anchor="no-ns">
            <name>DELEG-unaware Clients with DELEG RRs Present but No NS RRs</name>
            <t>Authoritative servers may receive requests from DELEG-unaware clients for which the child zone is authoritative and is delegated with DELEG RRs only (that is, without any NS RRs).
Such a zone is, by definition, not resolvable for DELEG-unaware clients.
From the perspective of a DELEG-unaware client, the zone cut created by the DELEG RRs is invisible.
The authoritative server should respond in a way that makes sense to DELEG-unaware clients.</t>
            <t>The current, primary use case for zone owners that have zones to have DELEG records but no NS records is that they want resolution of those zones only if the resolver uses future features of the DELEG protocol, such as encrypted DNS transports.</t>
            <t>The authoritative server is RECOMMENDED to supplement its responses to DELEG-unaware resolvers with an <xref target="RFC8914"/> Extended DNS Error using the value "New Delegation Only" (decimal 34) from the Extended DNS Error Codes registry.</t>
            <t>When there is no NS RRset for a delegated zone, a DELEG-aware authoritative server MUST respond to DELEG-unaware clients with an answer that accurately describes the situation to a DELEG-unaware resolver.
For a query of the delegated zone itself, the response has an RCODE of NOERROR; for a query that has more labels than the delegated zone, the response has an RCODE of NXDOMAIN; this is no different than the algorithm applicable to DELEG-unaware authoritative servers originally defined in <xref target="RFC1034"/> (and later updated).
NSEC and DS records are returned following the existing rules in <xref target="RFC4035"/>.</t>
          </section>
          <section anchor="de0-deleg">
            <name>DELEG-unaware Clients Requesting QTYPE=DELEG</name>
            <t>From the perspective of DELEG-unaware clients, the DELEG RR type does not have special semantics and should behave like an old ordinary RR type such as TXT.
Thus, queries with DE=0 and QTYPE=DELEG MUST result in a response which can be validated by a DELEG-unaware client.</t>
            <ul spacing="normal">
              <li>
                <t>If there is an NS RRset, this will be a legacy referral. From the perspective of a DELEG-unaware client, the DELEG RR is effectively occluded by NS RRset.
The DELEG-unaware resolver can then obtain a final answer which can be validated from the delegated zone in similar fashion as described in <xref target="RFC4035"/> Section 3.1.4.1.</t>
              </li>
              <li>
                <t>If there is no NS RRset but there is a DELEG RRset, this will be a normal authoritative response with the DELEG RRset, following non-DELEG specifications.</t>
              </li>
              <li>
                <t>If there is no NS RRset and no DELEG RRset, this will be a standard negative response following non-DELEG specifications.</t>
              </li>
            </ul>
            <t>The above rules apply to authoritative servers that are serving both a parent and a child zone when a DELEG-unaware client sends a QTYPE=DELEG query.</t>
          </section>
        </section>
      </section>
      <section anchor="signers">
        <name>DNSSEC Signers</name>
        <t>The DELEG record is authoritative at the delegation point and needs to be signed as such.
Existing rules from the DNSSEC specifications apply.
These are defined in <xref target="I-D.ietf-dnsop-delext"/>.</t>
        <t>In summary: for DNSSEC signing, treat the DELEG RR type the same way as the DS RR type.</t>
        <t>The DELEG RR type defines a zone cut in a similar way as the NS RR type.
This has several consequences which stem from existing non-DELEG specifications:</t>
        <ul spacing="normal">
          <li>
            <t>All owner names below zone cut are occluded and thus not present in NSEC chains.</t>
          </li>
          <li>
            <t>All RRsets which are not permissible at the delegation point are occluded too and not represented in NSEC chain type bitmap.</t>
          </li>
        </ul>
        <t>See examples in <xref target="example-root"/> and <xref target="example-occluded"/>.</t>
        <t>In order to protect validators from downgrade attacks, <xref target="I-D.ietf-dnsop-delext"/> introduces the DNSKEY flag called DNSKEY-ADT.
To achieve downgrade resistance, DNSSEC-signed zones which contain a DELEG RRset MUST follow the rules in  <xref target="I-D.ietf-dnsop-delext"/>.</t>
      </section>
    </section>
    <section anchor="operational-considerations">
      <name>Operational Considerations</name>
      <t>When DELEG is deployed, new operational considerations will apply.
While the majority of these relate to the operation of DELEG-aware servers or resolvers, there is a more general set of operational practices which will need to apply because not all resolvers will be DELEG-aware.
This section gives an overview of some of those considerations.</t>
      <section anchor="forwarding">
        <name>Forwarding</name>
        <t>A Validating Stub Resolver that is DELEG-aware MUST only use security-aware resolvers that are DELEG-aware.
A DELEG-aware Validating Resolver that uses forwarders MUST only use DELEG-aware and security-aware forwarders.
Otherwise DNSSEC-secure zones might fail to validate (see <xref target="legacynxdomain"/>) and DNSSEC-insecure zones might observe inconsistent answers.</t>
        <t><xref target="RFC9606"/> specifies a DNS resource record type, RESINFO, to allow resolvers to publish information about their capabilities and policies. This can be used to inform DNS clients that DELEG is supported by the DNS resolver.</t>
        <t>A resolver which supports <xref target="RFC9606"/> SHOULD add the "deleg" key if it supports DELEG protocol; otherwise, a DNS client would not know that the resolver is DELEG-aware.
A resolver that uses forwarders MAY use a RESINFO query to determine if the configured forwarders are DELEG-aware.</t>
        <t>Note that, per the rules for the keys defined in Section 6.4 of <xref target="RFC6763"/>, if there is no '=' in a key, then it is a boolean attribute, simply identified as being present with no value.</t>
      </section>
      <section anchor="ns-not-required-by-protocol">
        <name>NS Not Required by Protocol</name>
        <t>A zone delegated exclusively using DELEG records is not resolvable by non-DELEG aware resolvers.
In that case the zone is not required to have an NS RRset in the apex of the delegated zone.
Software to manage zone content or check the validity of zones needs to be updated to allow zones without an NS RRset at the apex.</t>
      </section>
      <section anchor="ns-maybe-required-in-practice">
        <name>NS Maybe Required in Practice</name>
        <t>Although DELEG removes the protocol requirement for NS records, resolver support for DELEG will not be universal for a long time after this protocol is first deployed.
The deployment of DELEG-only delegation creates a new situation in which DNS servers that are authoritative for a particular set of domains provide partly or completely different answers.
Where "split DNS" or "split-horizon DNS" <xref target="RFC9499"/> differences depend on the source of the query, resolution of DELEG-only delegations will depend on whether or not the resolver is aware of and using DELEG.
Compare examples of DELEG-only delegation and respective answers for DELEG-unaware client in <xref target="legacynxdomain"/> and DELEG-aware client in <xref target="aware-new-delegation-only"/>.</t>
        <t>For any part of the namespace that is intended to be globally reachable, operators should avoid DELEG-only delegations, as some resolvers will be unaware of DELEG.
For other parts of the namespace, operators should take care to ensure that any variability in responses introduced maps correctly to the client capabilities.</t>
        <t>DELEG-only delegation is appropriate only where all intended users are known to use DELEG-capable resolvers.
This might be the case when a zone operator wants a zone to be reachable only over secure transport, for example.
The decision to drop NS records should be guided by operational measurements of resolver adoption of the DELEG protocol.</t>
      </section>
      <section anchor="ns-and-deleg-combined">
        <name>NS and DELEG Combined</name>
        <t>This document explicitly allows zones to be delegated using DELEG records without also using NS records; delegating a zone with both DELEG and NS records is also allowed.
Software that manages delegations or checks the validity of zones need to be updated to allow delegations with all combinations of (with, without) * (NS, DELEG) records.</t>
        <t>If both NS and DELEG records are present, zone managers might want to check consistency across both RRsets, subject to local policy.
This specification treats both NS and DELEG RRsets as completely independent at the protocol layer,
but it does not prohibit a provisioning system from generating one record type from the other.</t>
      </section>
      <section anchor="authoritative-deployment">
        <name>Authoritative Deployment</name>
        <t>Before adding a first DELEG record into a DNS zone, these steps need to be taken, in this order:</t>
        <ol spacing="normal" type="1"><li>
            <t>If zone checkers are used: ensure that the zone checkers are DELEG-aware.</t>
          </li>
          <li>
            <t>Ensure that all authoritative servers serving (and transferring) the zone are DELEG-aware.</t>
          </li>
          <li>
            <t>If a zone is DNSSEC-signed: ensure that the signer is DELEG-aware.</t>
          </li>
          <li>
            <t>If a zone is DNSSEC-signed: ensure that at least one DNSKEY record has the DNSKEY-ADT flag set to 1. Failure to do so results in loss of downgrade resistance of the DELEG protocol for this zone; see <xref target="I-D.ietf-dnsop-delext"/> section 8.</t>
          </li>
        </ol>
        <section anchor="enabling-the-dnskey-adt-flag">
          <name>Enabling the DNSKEY-ADT Flag</name>
          <t>According to the DNSSEC specification, changing flags of a DNSKEY record changes its Key Tag and thus requires a key rollover.
For this reason, the DNSKEY-ADT flag cannot be simply enabled on an existing key without other changes to the record.
Operators are advised to set the DNSKEY-ADT flag at the time of generating a new key, as part of a regular key rollover using established procedures.</t>
          <t>Before DNSKEY-ADT flag can be enabled, all authoritative servers MUST support behavior described in <xref target="authoritative-servers"/>.
After that, a zone can safely have keys with the DNSKEY-ADT flag set to 1 even if the zone does not have any DELEG records.
Turning on the DNSKEY-ADT flag can be done months or even years before a first DELEG record is introduced into the zone.</t>
          <t>Downgrade protection is effective if any DNSKEY with ADT flag set to 1 is present, even if this key does not sign any RRset.
In other words, it is sufficient to pre-publish new key, as described in stage 2 of Pre-Publish Zone Signing Key Rollover of <xref target="RFC6781"/> Section 4.1.1.1.</t>
          <t>An extremely conservative approach might be:</t>
          <ol spacing="normal" type="1"><li>
              <t>Lower DNSKEY TTL to shorten time to rollback.</t>
            </li>
            <li>
              <t>Add a new DNSKEY with ADT flag set to 1, but do not sign any RRsets with this key.</t>
            </li>
            <li>
              <t>Monitor deployment for issues.</t>
            </li>
            <li>
              <t>Experiment with adding DELEG records at this point, even if the key rollover is not finished. If there is a problem, withdraw the new, otherwise unused key.</t>
            </li>
            <li>
              <t>Finish the key rollover.</t>
            </li>
            <li>
              <t>Restore the original DNSKEY TTL.</t>
            </li>
          </ol>
          <t>Such an approach requires changing only the DNSKEY RRset and resigning it.
Consequently, the time required to withdraw the new DNSKEY record is limited only by DNSKEY TTL + time to sign + time to transfer modified DNSKEY RRset.</t>
        </section>
      </section>
      <section anchor="interaction-with-dynamic-dns-update">
        <name>Interaction with Dynamic DNS Update</name>
        <t>DELEG records can be updated like other regular zone data at the delegation point, similar to NS records, because dynamic updates work on zone data but not on queries.
A DELEG-only delegation would not need an NS record in the delegated zone, but the NS record in the delegated zone cannot be deleted because of Section 7.13 in <xref target="RFC2136"/>.
This should cause no immediate problems because dynamic DNS updates with DELEG are most useful at the delegation point.
A DELEGPARAM record will be handled like any other record.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="too-much-work">
        <name>Preventing Over-work Attacks</name>
        <t>Resolvers MUST prevent situations where accidental misconfiguration of zones or malicious attacks cause them to perform too much work when resolving.
This document describes two sets of actions that, if not controlled, could lead to over-work attacks.</t>
        <t>Long chains of include-delegparam information (<xref target="nameserver-info"/>), and those with circular chains of include-delegparam information, can be burdensome.
To prevent this, the resolver MUST limit include-delegparam chain processing when populating SLIST similarly to CNAME processing in <xref target="RFC1034"/>;
otherwise, the resolver could exhaust some of its resources.
Note that include-delegparam chains can have CNAME/DNAME steps in them; in such a case, a CNAME step is counted the same as a DELEGPARAM step when determining when to stop following a chain.</t>
        <t>Content of SLIST MUST be deduplicated to prevent amplification attacks similar to CVE-2026-3592 which use the resolver to attack other systems.
See <xref target="slist"/>.</t>
      </section>
      <section anchor="preventing-downgrade-attacks">
        <name>Preventing Downgrade Attacks</name>
        <t><xref target="I-D.ietf-dnsop-delext"/> section 8 applies.</t>
      </section>
      <section anchor="deleg-is-stronger-than-ns">
        <name>DELEG Is Stronger Than NS</name>
        <t>DELEG RRtype has stronger protection (by DNSSEC) than delegation NS records and glue records.
A zone that does not need to be resolvable by DELEG-unaware clients (see <xref target="operational-considerations"/>),
and is delegated only with DELEG records,
will have a smaller attack surface compared to a zone delegated with both DELEG and NS records.</t>
        <t>The additional attack surface of legacy delegations stems from the possibility of replacing NS and glue records in referrals with arbitrary values,
which is not detectable by DNSSEC (by design in <xref target="RFC4035"/> Section 2.2).</t>
        <t>For example, this allows redirecting a referral to names and/or addresses under an attacker's control.
Even for DNSSEC-secure zones, an attacker can use this ability to continuously proxy queries and responses,
observe traffic, and also monitor the network addresses involved, which might be a privacy concern for roaming clients.</t>
        <t>The feasibility and impact of such attacks depend on the threat model, which is outside the scope of this document.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="iana-existing">
        <name>Changes to Existing Registries</name>
        <t>All new allocations should reference this document.</t>
        <t>IANA is requested to assign two types in the Resource Record (RR) TYPEs registry (<xref target="RFC6895"/>):</t>
        <ul spacing="normal">
          <li>
            <t>TYPE DELEG, Meaning "Extensible Delegation", from the NS-Omitting Delegation Types range defined in <xref target="I-D.ietf-dnsop-delext"/>. The requested value is 61440.</t>
          </li>
          <li>
            <t>TYPE DELEGPARAM, Meaning "Extensible Delegation Indirection", Value TBD2 inside one of the ranges marked as "data TYPEs".</t>
          </li>
        </ul>
        <t>IANA is requested to assign a value in the Extended DNS Error Codes registry (<xref target="RFC8914"/>):</t>
        <ul spacing="normal">
          <li>
            <t>Decimal 34 with the Purpose "New Delegation Only".</t>
          </li>
        </ul>
        <t>IANA is requested to create this assignment in the DNS Resolver Information Keys registry (<xref target="RFC9606"/>): Name "deleg", Description "The presence of the key indicates that the DELEG protocol is supported."</t>
      </section>
      <section anchor="new-registry-for-delegation-information">
        <name>New Registry for Delegation Information</name>
        <t>IANA is requested to create the "DELEG Delegation Information" registry.
This registry defines the namespace for delegation information keys, including string representations and numeric key values.</t>
        <section anchor="procedure">
          <name>Procedure</name>
          <t>A registration MUST include the following fields:</t>
          <artwork><![CDATA[
Number:  Wire-format numeric identifier (range 0-65535)
Name:  Unique presentation name
Meaning:  A short description
Reference:  Location of specification or registration source
Change Controller:  Person or entity, with contact information if appropriate
]]></artwork>
          <t>To enable code reuse from SVCB parsers, the requirements for registered Name exactly copy requirements set by <xref target="RFC9460"/> Section 14.3.1:
The characters in the registered Name field entry MUST be lowercase alphanumeric or "-".
The name MUST NOT start with "key" or "invalid".</t>
          <t>The registration policy for new entries is Expert Review (<xref target="RFC8126"/>).
The designated expert MUST ensure that the reference is stable and publicly available and that it specifies how to convert the delegation information's presentation format to wire format.
The reference MAY be any individual's Internet-Draft or a document from any other source with similar assurances of stability and availability.
An entry MAY specify a reference of the form "Same as (other key name)" if it uses the same presentation and wire formats as an existing key.</t>
          <t>This arrangement supports the development of new parameters while ensuring that zone files can be made interoperable.</t>
        </section>
        <section anchor="initial-contents">
          <name>Initial Contents</name>
          <t>The "DELEG Delegation Information" registry should be populated with the following initial registrations:</t>
          <artwork><![CDATA[
Number:  0
Name:  mandatory
Meaning: Mandatory keys in this RR
Reference:  {{mandatory}} of this document
Change Controller:  IETF

Number:  1
Name:  server-ipv4
Meaning:  An unordered collection of IPv4 addresses of name servers
Reference:  {{nameserver-info}} of this document
Change Controller:  IETF

Number:  2
Name:  server-ipv6
Meaning:  An unordered collection of IPv6 addresses of name servers
Reference:  {{nameserver-info}} of this document
Change Controller:  IETF

Number:  3
Name:  server-name
Meaning:  An unordered collection of domain names of name servers
Reference:  {{nameserver-info}} of this document
Change Controller:  IETF

Number:  4
Name:  include-delegparam
Meaning:  An unordered collection of domain names of DELEGPARAM records
Reference:  {{nameserver-info}} of this document
Change Controller:  IETF

The registration for numbers 65280-65534 is reserved for private use.
The registration for number 65535 is reserved.
]]></artwork>
        </section>
      </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-dnsop-delext">
          <front>
            <title>DNS Protocol Modifications for Delegation Extensions</title>
            <author fullname="Roy Arends" initials="R." surname="Arends">
              <organization>ICANN</organization>
            </author>
            <author fullname="Peter van Dijk" initials="P." surname="van Dijk">
              <organization>PowerDNS</organization>
            </author>
            <author fullname="Petr Špaček" initials="P." surname="Špaček">
              <organization>ISC</organization>
            </author>
            <date day="5" month="October" year="2026"/>
            <abstract>
              <t>   The Domain Name System (DNS) protocol permits Delegation Signer (DS)
   records at delegation points.  This document specifies modifications
   to the DNS protocol to permit a range of Resource Record types at
   delegation points.  These modifications are designed to maintain
   compatibility with existing DNS resolution mechanisms and provide a
   secure method for processing these records at delegation points.

   This document updates RFCs 1034, 4035, 6672, 6840, 6895 and 9824.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-dnsop-delext-12"/>
        </reference>
        <reference anchor="RFC9460">
          <front>
            <title>Service Binding and Parameter Specification via the DNS (SVCB and HTTPS Resource Records)</title>
            <author fullname="B. Schwartz" initials="B." surname="Schwartz"/>
            <author fullname="M. Bishop" initials="M." surname="Bishop"/>
            <author fullname="E. Nygren" initials="E." surname="Nygren"/>
            <date month="November" year="2023"/>
            <abstract>
              <t>This document specifies the "SVCB" ("Service Binding") and "HTTPS" DNS resource record (RR) types to facilitate the lookup of information needed to make connections to network services, such as for HTTP origins. SVCB records allow a service to be provided from multiple alternative endpoints, each with associated parameters (such as transport protocol configuration), and are extensible to support future uses (such as keys for encrypting the TLS ClientHello). They also enable aliasing of apex domains, which is not possible with CNAME. The HTTPS RR is a variation of SVCB for use with HTTP (see RFC 9110, "HTTP Semantics"). By providing more information to the client before it attempts to establish a connection, these records offer potential benefits to both performance and privacy.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9460"/>
          <seriesInfo name="DOI" value="10.17487/RFC9460"/>
        </reference>
        <reference anchor="RFC1035">
          <front>
            <title>Domain names - implementation and specification</title>
            <author fullname="P. Mockapetris" initials="P." surname="Mockapetris"/>
            <date month="November" year="1987"/>
            <abstract>
              <t>This RFC is the revised specification of the protocol and format used in the implementation of the Domain Name System. It obsoletes RFC-883. This memo documents the details of the domain name client - server communication.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="13"/>
          <seriesInfo name="RFC" value="1035"/>
          <seriesInfo name="DOI" value="10.17487/RFC1035"/>
        </reference>
        <reference anchor="RFC2181">
          <front>
            <title>Clarifications to the DNS Specification</title>
            <author fullname="R. Elz" initials="R." surname="Elz"/>
            <author fullname="R. Bush" initials="R." surname="Bush"/>
            <date month="July" year="1997"/>
            <abstract>
              <t>This document considers some areas that have been identified as problems with the specification of the Domain Name System, and proposes remedies for the defects identified. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2181"/>
          <seriesInfo name="DOI" value="10.17487/RFC2181"/>
        </reference>
        <reference anchor="RFC3597">
          <front>
            <title>Handling of Unknown DNS Resource Record (RR) Types</title>
            <author fullname="A. Gustafsson" initials="A." surname="Gustafsson"/>
            <date month="September" year="2003"/>
            <abstract>
              <t>Extending the Domain Name System (DNS) with new Resource Record (RR) types currently requires changes to name server software. This document specifies the changes necessary to allow future DNS implementations to handle new RR types transparently. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3597"/>
          <seriesInfo name="DOI" value="10.17487/RFC3597"/>
        </reference>
        <reference anchor="RFC8914">
          <front>
            <title>Extended DNS Errors</title>
            <author fullname="W. Kumari" initials="W." surname="Kumari"/>
            <author fullname="E. Hunt" initials="E." surname="Hunt"/>
            <author fullname="R. Arends" initials="R." surname="Arends"/>
            <author fullname="W. Hardaker" initials="W." surname="Hardaker"/>
            <author fullname="D. Lawrence" initials="D." surname="Lawrence"/>
            <date month="October" year="2020"/>
            <abstract>
              <t>This document defines an extensible method to return additional information about the cause of DNS errors. Though created primarily to extend SERVFAIL to provide additional information about the cause of DNS and DNSSEC failures, the Extended DNS Errors option defined in this document allows all response types to contain extended error information. Extended DNS Error information does not change the processing of RCODEs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8914"/>
          <seriesInfo name="DOI" value="10.17487/RFC8914"/>
        </reference>
        <reference anchor="RFC1034">
          <front>
            <title>Domain names - concepts and facilities</title>
            <author fullname="P. Mockapetris" initials="P." surname="Mockapetris"/>
            <date month="November" year="1987"/>
            <abstract>
              <t>This RFC is the revised basic definition of The Domain Name System. It obsoletes RFC-882. This memo describes the domain style names and their used for host address look up and electronic mail forwarding. It discusses the clients and servers in the domain name system and the protocol used between them.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="13"/>
          <seriesInfo name="RFC" value="1034"/>
          <seriesInfo name="DOI" value="10.17487/RFC1034"/>
        </reference>
        <reference anchor="RFC4035">
          <front>
            <title>Protocol Modifications for the DNS Security Extensions</title>
            <author fullname="R. Arends" initials="R." surname="Arends"/>
            <author fullname="R. Austein" initials="R." surname="Austein"/>
            <author fullname="M. Larson" initials="M." surname="Larson"/>
            <author fullname="D. Massey" initials="D." surname="Massey"/>
            <author fullname="S. Rose" initials="S." surname="Rose"/>
            <date month="March" year="2005"/>
            <abstract>
              <t>This document is part of a family of documents that describe the DNS Security Extensions (DNSSEC). The DNS Security Extensions are a collection of new resource records and protocol modifications that add data origin authentication and data integrity to the DNS. This document describes the DNSSEC protocol modifications. This document defines the concept of a signed zone, along with the requirements for serving and resolving by using DNSSEC. These techniques allow a security-aware resolver to authenticate both DNS resource records and authoritative DNS error indications.</t>
              <t>This document obsoletes RFC 2535 and incorporates changes from all updates to RFC 2535. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4035"/>
          <seriesInfo name="DOI" value="10.17487/RFC4035"/>
        </reference>
        <reference anchor="RFC9606">
          <front>
            <title>DNS Resolver Information</title>
            <author fullname="T. Reddy.K" initials="T." surname="Reddy.K"/>
            <author fullname="M. Boucadair" initials="M." surname="Boucadair"/>
            <date month="June" year="2024"/>
            <abstract>
              <t>This document specifies a method for DNS resolvers to publish information about themselves. DNS clients can use the resolver information to identify the capabilities of DNS resolvers. How DNS clients use such information is beyond the scope of this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9606"/>
          <seriesInfo name="DOI" value="10.17487/RFC9606"/>
        </reference>
        <reference anchor="RFC6763">
          <front>
            <title>DNS-Based Service Discovery</title>
            <author fullname="S. Cheshire" initials="S." surname="Cheshire"/>
            <author fullname="M. Krochmal" initials="M." surname="Krochmal"/>
            <date month="February" year="2013"/>
            <abstract>
              <t>This document specifies how DNS resource records are named and structured to facilitate service discovery. Given a type of service that a client is looking for, and a domain in which the client is looking for that service, this mechanism allows clients to discover a list of named instances of that desired service, using standard DNS queries. This mechanism is referred to as DNS-based Service Discovery, or DNS-SD.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6763"/>
          <seriesInfo name="DOI" value="10.17487/RFC6763"/>
        </reference>
        <reference anchor="RFC6781">
          <front>
            <title>DNSSEC Operational Practices, Version 2</title>
            <author fullname="O. Kolkman" initials="O." surname="Kolkman"/>
            <author fullname="W. Mekking" initials="W." surname="Mekking"/>
            <author fullname="R. Gieben" initials="R." surname="Gieben"/>
            <date month="December" year="2012"/>
            <abstract>
              <t>This document describes a set of practices for operating the DNS with security extensions (DNSSEC). The target audience is zone administrators deploying DNSSEC.</t>
              <t>The document discusses operational aspects of using keys and signatures in the DNS. It discusses issues of key generation, key storage, signature generation, key rollover, and related policies.</t>
              <t>This document obsoletes RFC 4641, as it covers more operational ground and gives more up-to-date requirements with respect to key sizes and the DNSSEC operations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6781"/>
          <seriesInfo name="DOI" value="10.17487/RFC6781"/>
        </reference>
        <reference anchor="RFC2136">
          <front>
            <title>Dynamic Updates in the Domain Name System (DNS UPDATE)</title>
            <author fullname="P. Vixie" initials="P." role="editor" surname="Vixie"/>
            <author fullname="S. Thomson" initials="S." surname="Thomson"/>
            <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
            <author fullname="J. Bound" initials="J." surname="Bound"/>
            <date month="April" year="1997"/>
            <abstract>
              <t>Using this specification of the UPDATE opcode, it is possible to add or delete RRs or RRsets from a specified zone. Prerequisites are specified separately from update operations, and can specify a dependency upon either the previous existence or nonexistence of an RRset, or the existence of a single RR. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2136"/>
          <seriesInfo name="DOI" value="10.17487/RFC2136"/>
        </reference>
        <reference anchor="RFC6895">
          <front>
            <title>Domain Name System (DNS) IANA Considerations</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <date month="April" year="2013"/>
            <abstract>
              <t>This document specifies Internet Assigned Numbers Authority (IANA) parameter assignment considerations for the allocation of Domain Name System (DNS) resource record types, CLASSes, operation codes, error codes, DNS protocol message header bits, and AFSDB resource record subtypes. It obsoletes RFC 6195 and updates RFCs 1183, 2845, 2930, and 3597.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="42"/>
          <seriesInfo name="RFC" value="6895"/>
          <seriesInfo name="DOI" value="10.17487/RFC6895"/>
        </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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <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>
        <referencegroup anchor="BCP219" target="https://www.rfc-editor.org/info/bcp219">
          <reference anchor="RFC9499" target="https://www.rfc-editor.org/info/rfc9499">
            <front>
              <title>DNS Terminology</title>
              <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
              <author fullname="K. Fujiwara" initials="K." surname="Fujiwara"/>
              <date month="March" year="2024"/>
              <abstract>
                <t>The Domain Name System (DNS) is defined in literally dozens of different RFCs. The terminology used by implementers and developers of DNS protocols, and by operators of DNS systems, has changed in the decades since the DNS was first defined. This document gives current definitions for many of the terms used in the DNS in a single document.</t>
                <t>This document updates RFC 2308 by clarifying the definitions of "forwarder" and "QNAME". It obsoletes RFC 8499 by adding multiple terms and clarifications. Comprehensive lists of changed and new definitions can be found in Appendices A and B.</t>
              </abstract>
            </front>
            <seriesInfo name="BCP" value="219"/>
            <seriesInfo name="RFC" value="9499"/>
            <seriesInfo name="DOI" value="10.17487/RFC9499"/>
          </reference>
        </referencegroup>
        <reference anchor="RFC5952">
          <front>
            <title>A Recommendation for IPv6 Address Text Representation</title>
            <author fullname="S. Kawamura" initials="S." surname="Kawamura"/>
            <author fullname="M. Kawashima" initials="M." surname="Kawashima"/>
            <date month="August" year="2010"/>
            <abstract>
              <t>As IPv6 deployment increases, there will be a dramatic increase in the need to use IPv6 addresses in text. While the IPv6 address architecture in Section 2.2 of RFC 4291 describes a flexible model for text representation of an IPv6 address, this flexibility has been causing problems for operators, system engineers, and users. This document defines a canonical textual representation format. It does not define a format for internal storage, such as within an application or database. It is expected that the canonical format will be followed by humans and systems when representing IPv6 addresses as text, but all implementations must accept and be able to handle any legitimate RFC 4291 format. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5952"/>
          <seriesInfo name="DOI" value="10.17487/RFC5952"/>
        </reference>
        <reference anchor="RFC4001">
          <front>
            <title>Textual Conventions for Internet Network Addresses</title>
            <author fullname="M. Daniele" initials="M." surname="Daniele"/>
            <author fullname="B. Haberman" initials="B." surname="Haberman"/>
            <author fullname="S. Routhier" initials="S." surname="Routhier"/>
            <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder"/>
            <date month="March" year="2005"/>
            <abstract>
              <t>This MIB module defines textual conventions to represent commonly used Internet network layer addressing information. The intent is that these textual conventions will be imported and used in MIB modules that would otherwise define their own representations. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4001"/>
          <seriesInfo name="DOI" value="10.17487/RFC4001"/>
        </reference>
        <reference anchor="I-D.tapril-ns2">
          <front>
            <title>Parameterized Nameserver Delegation with NS2 and NS2T</title>
            <author fullname="Tim April" initials="T." surname="April">
              <organization>Akamai Technologies</organization>
            </author>
            <date day="13" month="July" year="2020"/>
            <abstract>
              <t>   Within the DNS, there is no mechanism for authoritative servers to
   advertise which transport methods they are capable of.  If secure
   transport methods are adopted by authoritative operators, transport
   signaling would be required to negotiate how authoritative servers
   would be contacted by resolvers.  This document provides two new
   Resource Record Types, NS2 and NS2T, to facilitate this negotiation
   by allowing zone owners to signal how the authoritative nameserver(s)
   for their zone(s) may accept queries.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-tapril-ns2-01"/>
        </reference>
      </references>
    </references>
    <?line 686?>

<section anchor="examples">
      <name>Examples</name>
      <section anchor="example-root">
        <name>Root zone file</name>
        <t>The following example shows an excerpt from a signed root zone.
It shows the delegation point for "example." and "test."</t>
        <t>The "example." delegation has DELEG and NS records.
The "test." delegation has DELEG but no NS records.</t>
        <artwork><![CDATA[
example.   DELEG server-ipv4=192.0.2.1 server-ipv6=2001:db8::1
example.   DELEG server-name=ns2.example.net.,ns3.example.org.
example.   RRSIG DELEG 13 1 300 20260101000000 (
                        20250101000000 33333 . SigExampleDELEG/ )

example.   NS    ns1.example.
example.   NS    ns2.example.net.
example.   NS    ns3.example.org.

example.   DS    44444 13 2 ABCDEF01234567...
example.   RRSIG DS 13 1 300 20260101000000 (
                        20250101000000 33333 . SigExampleDS )

example.   NSEC  net. NS DS RRSIG NSEC DELEG
example.   RRSIG NSEC 13 1 300 20260101000000 (
                        20250101000000 33333 . SigExampleNSEC+/ )

; unsigned glue for legacy (NS) delegation
; it is NOT present in NSEC chain
ns1.example. A     192.0.2.1
ns1.example. AAAA  2001:db8::1
]]></artwork>
        <t>The "test." delegation point has a DELEG record and no NS or DS records.</t>
        <t>Please note:
This is an example of an unnecessarily complicated setup to demonstrate the capabilities of the DELEG and DELEGPARAM RR types.</t>
        <artwork><![CDATA[
test.      DELEG server-ipv6=3fff::33
test.      DELEG include-delegparam=Acfg.example.org.,cname.example.org.
test.      DELEG include-delegparam=config2.example.net.
test.      RRSIG DELEG 13 1 300 20260101000000 (
                        20250101000000 33333 . SigTestDELEG )

test.      NSEC  . RRSIG NSEC DELEG
test.      RRSIG NSEC 13 1 300 20260101000000 (
                        20250101000000 33333 . SigTestNSEC/ )

; a forgotten glue record from legacy (NS) delegation
; it is NOT present in NSEC chain and it is occluded
a.test.    A     192.0.2.1
]]></artwork>
        <t>Delegations to org and net zones omitted for brevity.</t>
      </section>
      <section anchor="exampleorg-zone-file">
        <name>Example.org zone file</name>
        <t>The following example shows an excerpt from an unsigned example.org zone.</t>
        <artwork><![CDATA[
Acfg.example.org.    DELEGPARAM server-ipv6=2001:db8::6666
Acfg.example.org.    DELEGPARAM server-name=ns3.example.org.
Acfg.example.org.    DELEGPARAM include-delegparam=subcfg.example.org.

; unhelpful but technically legal CNAME
cname.example.org.   CNAME      Acfg.example.org.

ns3.example.org.     AAAA       3fff::33

subcfg.example.org.  DELEGPARAM server-ipv4=203.0.113.1 server-ipv6=3fff::2
]]></artwork>
      </section>
      <section anchor="examplenet-zone-file">
        <name>Example.net zone file</name>
        <t>The following example shows an excerpt from an unsigned example.net zone.</t>
        <artwork><![CDATA[
ns2.example.net.     A          198.51.100.1

config2.example.net. DELEGPARAM server-name=ns2.example.org.
]]></artwork>
      </section>
      <section anchor="responses">
        <name>Responses</name>
        <t>The following sections show referral examples:</t>
        <section anchor="do-bit-clear-de-bit-clear">
          <name>DO bit clear, DE bit clear</name>
          <section anchor="query-for-fooexample">
            <name>Query for foo.example</name>
            <artwork><![CDATA[
;; Header: QR RCODE=NOERROR
;;

;; Question
foo.example.  IN MX

;; Answer
;; (empty)

;; Authority
example.   NS    ns1.example.
example.   NS    ns2.example.net.
example.   NS    ns3.example.org.

;; Additional
ns1.example. A     192.0.2.1
ns1.example. AAAA  2001:db8::1
]]></artwork>
          </section>
          <section anchor="query-for-footest">
            <name>Query for foo.test</name>
            <t>See <xref target="no-ns"/>.</t>
            <artwork><![CDATA[
;; Header: QR AA RCODE=NXDOMAIN
;;

;; Question
foo.test.   IN MX

;; Answer
;; (empty)

;; Authority
.   SOA ...

;; Additional
;; OPT with Extended DNS Error: New Delegation Only
]]></artwork>
          </section>
          <section anchor="occluded-example">
            <name>Query for a.test</name>
            <t>A forgotten glue record under the "test." delegation point is occluded by DELEG RRset.</t>
            <artwork><![CDATA[
;; Header: QR AA RCODE=NXDOMAIN
;;

;; Question
a.test.   IN A

;; Answer
;; (empty)

;; Authority
.   SOA ...

;; Additional
;; OPT with Extended DNS Error: New Delegation Only
]]></artwork>
          </section>
        </section>
        <section anchor="do-bit-set-de-bit-clear">
          <name>DO bit set, DE bit clear</name>
          <section anchor="query-for-fooexample-1">
            <name>Query for foo.example</name>
            <artwork><![CDATA[
;; Header: QR DO RCODE=NOERROR
;;

;; Question
foo.example.   IN MX

;; Answer
;; (empty)

;; Authority

example.   NS    ns1.example.
example.   NS    ns2.example.net.
example.   NS    ns3.example.org.
example.   DS    44444 13 2 ABCDEF01234567...
example.   RRSIG DS 13 1 300 20260101000000 (
                        20250101000000 33333 . SigExampleDS )
;; Additional
ns1.example. A     192.0.2.1
ns1.example. AAAA  2001:db8::1
]]></artwork>
          </section>
          <section anchor="legacynxdomain">
            <name>Query for foo.test</name>
            <t>See <xref target="no-ns"/>.</t>
            <t>DELEG-unaware validators would treat this answer as DNSSEC-secure.</t>
            <t>DELEG-aware validators would treat it as DNSSEC-bogus because the DELEG bit in NSEC type bitmap would trigger downgrade attack detection (see <xref target="I-D.ietf-dnsop-delext"/> section 6).</t>
            <artwork><![CDATA[
;; Header: QR DO AA RCODE=NXDOMAIN
;;

;; Question
foo.test.      IN MX

;; Answer
;; (empty)

;; Authority
.          SOA ...
.          RRSIG SOA ...
test.      NSEC  . RRSIG NSEC DELEG
test.      RRSIG NSEC 13 1 300 20260101000000 (
                        20250101000000 33333 . SigTestNSEC/ )

;; Additional
;; OPT with Extended DNS Error: New Delegation Only
]]></artwork>
          </section>
          <section anchor="example-occluded">
            <name>Query for a.test</name>
            <t>A forgotten glue record under the "test." delegation point is occluded by DELEG RRset.
This is indicated by NSEC chain which "skips" over the owner name with A RRset.</t>
            <artwork><![CDATA[
;; Header: QR DO AA RCODE=NXDOMAIN
;;

;; Question
a.test.      IN A

;; Answer
;; (empty)

;; Authority
.          SOA ...
.          RRSIG SOA ...
test.      NSEC  . RRSIG NSEC DELEG
test.      RRSIG NSEC 13 1 300 20260101000000 (
                        20250101000000 33333 . SigTestNSEC/ )

;; Additional
;; OPT with Extended DNS Error: New Delegation Only
]]></artwork>
          </section>
        </section>
        <section anchor="do-bit-clear-de-bit-set">
          <name>DO bit clear, DE bit set</name>
          <section anchor="query-for-fooexample-2">
            <name>Query for foo.example</name>
            <artwork><![CDATA[
;; Header: QR DE RCODE=NOERROR
;;

;; Question
foo.example.  IN MX

;; Answer
;; (empty)

;; Authority
example.   DELEG server-ipv4=192.0.2.1 server-ipv6=2001:db8::1
example.   DELEG server-name=ns2.example.net.,ns3.example.org.

;; Additional
;; (empty)
]]></artwork>
          </section>
          <section anchor="query-for-footest-1">
            <name>Query for foo.test</name>
            <artwork><![CDATA[
;; Header: QR DE RCODE=NOERROR
;;

;; Question
foo.test.   IN MX

;; Answer
;; (empty)

;; Authority
test.      DELEG server-ipv6=3fff::33
test.      DELEG include-delegparam=Acfg.example.org.,cname.example.org.
test.      DELEG include-delegparam=config2.example.net.

;; Additional
;; (empty)
]]></artwork>
            <t>A follow-up example in <xref target="delegparam-example"/> explains the ultimate meaning of this response.</t>
          </section>
        </section>
        <section anchor="do-bit-set-de-bit-set">
          <name>DO bit set, DE bit set</name>
          <section anchor="query-for-fooexample-3">
            <name>Query for foo.example</name>
            <artwork><![CDATA[
;; Header: QR DO DE RCODE=NOERROR
;;

;; Question
foo.example.  IN MX

;; Answer
;; (empty)

;; Authority
example.   DELEG server-ipv4=192.0.2.1 server-ipv6=2001:db8::1
example.   DELEG server-name=ns2.example.net.,ns3.example.org.
example.   RRSIG DELEG 13 1 300 20260101000000 (
                        20250101000000 33333 . SigExampleDELEG/ )
example.   DS    44444 13 2 ABCDEF01234567...
example.   RRSIG DS 13 1 300 20260101000000 (
                        20250101000000 33333 . SigExampleDS )
example.   NSEC  net. NS DS RRSIG NSEC DELEG
example.   RRSIG NSEC 13 1 300 20260101000000 (
                        20250101000000 33333 . SigExampleNSEC+/ )

;; Additional
;; (empty)
]]></artwork>
          </section>
          <section anchor="aware-new-delegation-only">
            <name>Query for foo.test</name>
            <artwork><![CDATA[
;; Header: QR DO DE RCODE=NOERROR
;;

;; Question
foo.test.      IN MX

;; Answer
;; (empty)

;; Authority
test.      DELEG server-ipv6=3fff::33
test.      DELEG include-delegparam=Acfg.example.org.,cname.example.org.
test.      DELEG include-delegparam=config2.example.net.
test.      RRSIG DELEG 13 1 300 20260101000000 (
                        20250101000000 33333 . SigTestDELEG )
test.      NSEC  . RRSIG NSEC DELEG
test.      RRSIG NSEC 13 1 300 20260101000000 (
                        20250101000000 33333 . SigTestNSEC/ )

;; Additional
;; (empty)
]]></artwork>
            <t>A follow-up example in <xref target="delegparam-example"/> explains the ultimate meaning of this response.</t>
          </section>
        </section>
      </section>
      <section anchor="delegparam-example">
        <name>DELEGPARAM Interpretation</name>
        <t>In the examples above, the test. DELEG record uses indirection and points to other domain names with DELEGPARAM, A, AAAA, and CNAME records.
During resolution, a resolver will gradually build set of name servers to contact, as defined in <xref target="slist"/>.</t>
        <t>To visualize the end result of this process, the full set of name servers in form of a 'virtual' DELEG RRset is represented here.</t>
        <artwork><![CDATA[
test. DELEG server-ipv4=198.51.100.1
test. DELEG server-ipv4=203.0.113.1
test. DELEG server-ipv6=2001:db8::6666
test. DELEG server-ipv6=3fff::2
; IPv6 address 3fff::33 was de-duplicated (input RRsets listed it twice)
test. DELEG server-ipv6=3fff::33
]]></artwork>
        <t>Note the "cname.example.org." value in "include-delegparam=Acfg.example.org.,cname.example.org." DELEG record has no visible effect.
The included name loops via CNAME back to "Acfg.example.org." which is already included.
This would have caused duplication of all values if each SLIST was not treated as a set.</t>
        <t>Implementations are free to use alternative representations for this data, as it is not directly exposed via DNS protocol.</t>
      </section>
      <section anchor="an-example-of-a-valid-delegation-tree">
        <name>An example of a valid delegation tree</name>
        <t>Each delegation level can have a mixture of DELEG and NS RR types, and DELEG-aware resolvers must be able to follow chains of delegations which combines both types in arbitrary ways.</t>
        <artwork><![CDATA[
; root zone with NS-only delegations
. SOA ...
test. NS ...

; test. zone with NS+DELEG delegations
test. SOA ...
sld.test. NS ...
sld.test. DELEG ...

; sld.test. zone with NS-only delegation
sld.test. SOA ...
nssub.sld.test. NS ...

; nssub.sld.test. zone with DELEG-only delegation
delegsub.nssub.sld.test. DELEG ...
]]></artwork>
      </section>
      <section anchor="failure-cases">
        <name>Failure Cases</name>
        <t>Several examples of misconfigured delegations which cannot be resolved follow.</t>
        <t>Self-references to names without any addresses:</t>
        <artwork><![CDATA[
1p.invalid. DELEG include-delegparam=1p.invalid.,sub.params.1p.invalid.
2n.invalid. DELEG server-name=ns1.2n.invalid.,ns2.sub.2n.invalid.
]]></artwork>
        <t>Cycles:</t>
        <artwork><![CDATA[
c1.invalid. DELEG server-name=ns1.c2.invalid.
c2.invalid. DELEG include-delegparam=params.c1.invalid.,c3.invalid.
c3.invalid. CNAME c2.invalid.
]]></artwork>
        <t>Syntactically valid DELEG records without any <xref target="nameserver-info"/> keys:</t>
        <artwork><![CDATA[
00.invalid. DELEG \# 0
01.invalid. DELEG key65280=\032\037\041\045
02.invalid. DELEG key65281="char-string with whitespace"
]]></artwork>
        <t>DELEG records with disallowed/ambiguous combination of <xref target="nameserver-info"/> keys:</t>
        <artwork><![CDATA[
k1.invalid. DELEG server-name=ns1.test. include-delegparam=i2.test.
k2.invalid. DELEG server-ipv4=192.0.2.1 server-name=ns1.test.
k3.invalid. DELEG server-ipv6=3fff::2 include-delegparam=i2.test.
]]></artwork>
        <t>A delegation missing the value for a mandatory key:</t>
        <artwork><![CDATA[
m1.invalid. DELEG mandatory=key65534
]]></artwork>
        <t>Records which are not even allowed in zone file (see also <xref target="RFC9460"/> appendix D.3) but might be sent in wire format:</t>
        <artwork><![CDATA[
m2.invalid. DELEG mandatory
ik.invalid. DELEG invalid
]]></artwork>
      </section>
    </section>
    <section anchor="testvectors">
      <name>Test Vectors</name>
      <t>These test vectors only contain the RDATA portion of DELEG records in
presentation format, generic format (<xref target="RFC3597"/>) and wire format. The wire
format uses hexadecimal (\xNN) for each non-ascii byte. As the wireformat is
long, it is broken into several lines.</t>
      <t>As the encoding rules for DelegInfo and SVCParam are the same, further examples
of the encoding of different types of values can be found in Appendix D of
<xref target="RFC9460"/>.</t>
      <figure>
        <name>A simple example of a mandatory server-ip4 with two IP addresses</name>
        <artwork><![CDATA[
example.   DELEG mandatory=server-ipv4 server-ipv4=192.0.2.1,192.0.2.2
example.   DELEG key0=\000\001 key1=\192\000\002\001\192\000\002\002

\# 18 (
00 00                                              ; key 0
00 02                                              ; deleg info length 2
00 01                                              ; deleg info value: key 1
00 01                                              ; key 1
00 08                                              ; deleg info length 8
c0 00 02 01                                        ; deleg info value, IP 1
c0 00 02 02                                        ; deleg info value, IP 2
)

\x00\x00                                           # key 0
\x00\x02                                           # deleg info length 2
\x00\x01                                           # deleg info value: key 1
\x00\x01                                           # key 1
\x00\x08                                           # deleg info length 8
\xc0\x00\x02\x01                                   # deleg info value, IP 1
\xc0\x00\x02\x02                                   # deleg info value, IP 2
]]></artwork>
      </figure>
      <figure>
        <name>Two quoted server-ipv6 addresses</name>
        <artwork><![CDATA[
example.   DELEG server-ipv6="2001:db8::1,2001:db8::53:1"

\# 36 (
00 02                                              ; key 2
00 20                                              ; length 32
20 01 0d b8 00 00 00 00 00 00 00 00 00 00 00 01    ; first address
20 01 0d b8 00 00 00 00 00 00 00 00 00 53 00 01    ; second address
)

\x00\x02                                           # key 2
\x00\x20                                           # length 32
\x20\x01\x0d\xb8\x00\x00\x00\x00
     \x00\x00\x00\x00\x00\x00\x00\x01              # first address
\x20\x01\x0d\xb8\x00\x00\x00\x00
     \x00\x00\x00\x00\x00\x53\x00\x01              # second address
]]></artwork>
      </figure>
      <figure>
        <name>The server-name deleg info with two addresses with different capitalization</name>
        <artwork><![CDATA[
example.   DELEG server-name=NS2.EXAMPLE.NET.,ns3.example.org.
example.   DELEG server-name="NS2.EXAMPLE.NET.,ns3.example.org."

\# 38 (
00 03                                              ; key 3
00 22                                              ; length 34
03 4e 53 32 07 45 58 41 4d 50 4c 45 03 4e 45 54 00 ; first name
03 6e 73 33 07 65 78 61 6d 70 6c 65 03 6f 72 67 00 ; second name
)

\x00\x03                                           # key 3
\x00\x22                                           # length 34
\x03NS2\x07EXAMPLE\x03NET\x00                      # first address
\x03ns3\x07example\x03org\x00                      # second address
]]></artwork>
      </figure>
      <figure>
        <name>The include-delegparam deleg info with a single value</name>
        <artwork><![CDATA[
example.   DELEG include-delegparam=param.example.net.

\# 23 (
00 04                                                    ; key 4
00 13                                                    ; length 19
05 70 61 72 61 6d 07 65 78 61 6d 70 6c 65 03 6e 65 74 00 ; name
)

\x00\x04                                           # key 4
\x00\x13                                           # length 19
\x05param\x07example\x03net\x00                    # name
]]></artwork>
      </figure>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This document is heavily based on past work done by Tim April in
<xref target="I-D.tapril-ns2"/> and thus extends the thanks to the people helping on this which are:
John Levine, Erik Nygren, Jon Reed, Ben Kaduk, Mashooq Muhaimen, Jason Moreau, Jerrod Wiesman, Billy Tiemann, Gordon Marx and Brian Wellington.</t>
      <t>Work on DELEG protocol has started at IETF 118 Hackathon.
Hackathon participants: Christian Elmerot, David Blacka, David Lawrence, Edward Lewis, Erik Nygren, George Michaelson, Jan Včelák, Klaus Darilion, Libor Peltan, Manu Bretelle, Peter van Dijk, Petr Špaček, Philip Homburg, Ralf Weber, Roy Arends, Shane Kerr, Shumon Huque, Vandan Adhvaryu, Vladimír Čunát, Andreas Schulze.</t>
      <t>Other people joined the effort after the initial hackaton: Ben Schwartz, Bob Halley, Paul Hoffman, Miek Gieben, Ray Hunter, Håvard Eidnes, Ted Hardie, Michael Richardson, Florian Obser, Evan Hunt, Pieter Lexis, ...</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+1923rb1pnoPZ8CQ1/EmpC0qJMd5fM3VSy50dSWVUlJ2v3l
BiQXRVQgwAKgZMb1PMHMO8xc7Mv9FJ15r/0f1wEAKclx0vbbW52MJRJYh3/9
59Pq9/udKqlScxidvK9MViaj1ETHJjXXcZXkWTTNi+j47LITj0aFuT2Mjk/e
nPy2M44rc50Xq8OorCadziQfZ/EcxpgU8bTqJ6aa9ic4Rn+42ymXo3lSljBY
tVrAM6cnV687y8UEhigPo+H27l4P//9+J1vOR6Y47OA3h51xnpWwniU8UxVL
04G5dztxYWIYIatMkZmqc5cXN9dFvlzAzDhd58as4LPJYSfq26f6x7go/AT3
Af9M7O46tyZbwlxRFIwSRbzSH2D4JLuOfotfwqfzOEnhmclvcIODvMAn42I8
O4xmVbUoD589wyfwk+TWDPShZ/jBs1GR35Xm2WTyDGdLqtlydBgRoO6uGVbP
GsAbxfAGPJ4iqCo3C78+GOfzZw8ZoSqMeXY96y/ia1N2OsmiIJCW1c729lfb
O51OvKxmOQC+D3NFUZIByM8H//Ofi/i//8Pc0Gd8uuemKqLgc9henCU/ETDh
XC5f0aeGAbUoF/HY3PwmKccELG/4i8EPBs7aG/siTqeR+zAc+OgmhiGjKzOe
ZXmaXyewD2+i4g7f+01MTyFY/KmOB2/iu8JkY+PNdhzfJpPoVRR8Fc55Gaem
BOyXL2WqCj79zWRC++n0+/0oHpVVEY+rztUsKSMghOXcZFVULsw4mcI6ozjK
zF1kHHHNDUB7QoRVzYyHjVE+jfgokmpF38cwIMybwU7o2WP+6wz2EF2uysrM
o6eA1FvRskQ8JdqM4mzCv50fXRy9jQozBoooB53OkT+Xjnh2GZkshnWVkZlO
k3GCq8chJglsLBktKzMBxM8Ad2hjsEZ9D0FJRzyAzRtAqXiS4NhxSl/7k5UR
YuIkgt/hG1lSdDdLxrMICL3CXeVZuopmeVnRuDhRaYpbU5S0nCyPcpi4iBZx
Ad8DaZeDCGg8GqcxMJcxTtmLRvAMPqGbAEpMJ9FPeQYD6jzjfJHw+OEiZVU9
XVacRYscTq1K4hRWNjJRvqT9l6tszKPn2ZQgzwDAc26OBxzCeMffo4FhsNKM
lwWA5A6IGRd/efKqR6OaNJknGZA8AXpR5PDWHOedAdLCKVd3eVTmS0BM2gRQ
MgyA2BKcLnwwp98HjKfzZDJJTafzBPlikU+WY2KAndN1mNWr4aKJASjAywUj
cdmCQ/IJHls0S0yB/G6l25RFwUarHHBqOjV0OHK0Cux5fAO7gcHmdlZY/K1R
Kkng3PNCiQQn9ZCvc+UwL131kGoC1CvMojAgS3ARoxXAGA/+4qI0VS9EQVpB
iIK0KbtYWNnyetaKi4QBME2ewqP6Cw1YymLhUAAEyxKJLYonE3imNIzcS/xl
YqbxMq3wxKt8nKfe6D2GQxFnJYLBPYIvx9lKl6MfT01cAXLBqt7mhclhRT3a
mu4b8BGouyQmANi0SAGOZb8PZBLFVZ0rLXJYOKMmfsNTyWPxwrzXE3EnjfRm
Tza5nlUAsQrOuIK/ZRmWOOrTDTpMC4QHSHyoavDBhJhh96JYGEwfAeMCxIQ3
cWp/rPr2dBzEI/gGQHGDOwJYLgxgHKNBy/NlhHRalfbQS8TwZebPNfHODF61
Jwx/lwrRBI8hQSbDaDiuEGdx1XicZlyFPIIQDVCKJqcVMYeJgcMWBVCfFSyO
nScexRNSA6NCDl2pPF3J5tcIEOY2cmbR04uLLVKQcOtzM1nxJpRRAYXBryBe
kVd5Ys9hM8IpySZ8GuGheuQGDGQRj5I0oTMgRJ9Y+eLxtx4wJcCruBTMbFIJ
Yg/gWezIcx6vkOaCXTMyjUHBrKzU9tHylM4l9nXjKwCCQiUmAk4yOC1AyA8f
/um0fzxgTSwr8wXpY++rjx/tQMG+QxxGyBESk5ARcZFcZ01MgIGYdSaIVSVD
GsC7CeG9gxgTyhBXJCD0YCHjdElHN10iC9ETBDRrgxavbYmiPU7z7LpMJkD5
gIDATCsTg8Cf9nyGi2tjEAdcmrknKG4jFHyCpQ4ZHcklKMbnC3gGN0rA8MgP
T3mSE+2UywXhgGxrGo8Rkxi0CA/YZ0EKDSBTkaepiHbCZDx5VtL8LfvaFB1g
BlB+D6PGxUo/bpEmJWI0WDQxYoisJuBNreA4FfAlhCsMXx6viotrgOMdHK9A
CB7IFyr9RBNE8oI1KWyJx9hP8NhYopj38XwBOklHDxGOp5whO3FLb1Uqonhc
ALpFc2BnCYwgKhYeVpnAkMkUZBLwz1jo1VMgRwgtYEZ6Emz1IfDTfCwMrUU3
9ifnr/NSph10Xnt7iRIWR2MwcPI54gWq1cTveEXwrIU5Q1BOjwQdLSvXr4JD
500QtagKrCP2OkhvLB91krskTZE6YqFJJNR1OxrP4gyMM8JoRMXpsiBmppuA
h28RyxGCLDhi0KRAVMCZM94iNPTpL0pvHh4UNoSIASvhqQCzXzOBq8lSEjUz
D/NZbSvnCNCH4DW5RWkJi1DKoweAylaLQA4iG3nyBEy5ApRckj1MY2C5R3ek
EnTffnd51e3xv9HZO/r94uT3351enBzj75ffHr15Y3/hJzrwx7vv3sj3+Jt7
89W7t29Pzo75Zfg0qn309uiPXQJqp/vu/Or03dnRmy5zZN+iI6rI8UATdCyA
SlkZYfvlGAwlYvydb16dR8M94P//cvH61c5w+NXHj/LHi+HzPfgDCZdPkOwd
/hPOGvTSxcLEeNIdPFSQfsCvUlQTSqDJ/C6LACFIZDnQAWZex8VESanFPARu
CWg1LfI5LgNWt4NL6glOuFOGHc2dBMOZDjudf47w6McrDwfAFvcxglguQSkT
duwxe3i/JizB8H6YjPTf7J+oCOrHd3AKjxkEadi+Besq82l1x/wtRhQFxn9X
qp3FurMnxQMEAMXUjeYGItY6I6MGjnP9qt1yQEVctyArFHhlD13YP8M7WZ95
mTgehJPyJDVFCFB3wnoBq230HUltXMgdKCWwcmAwFWpT/jO42cVylCblDNng
kokC11uYVG284I3wJC1mABb5OgFtXdT30jM7iXE7k5PYMr7g+UlYfRIDDWc7
ajUSwglrxktMYgT5UnSuO30H490m5q7D0rMUyUka4Ah0pmmUyxPWI0Lgdxtn
NW9u4ox54cLkyCvvZnl0h5+RsTCBVVdqWVkwjwy8YJgrTHAbE2MWJAQIvsYe
cqiT+cc0WiYp2RxVvsAVbqKTzg8ou2KfWpyqDHYz8GTEoj8vDWwcGFKC5ntV
yq6jUWJtsBN4bhu4RzxB1MmjIX4h76la2jg14nAxKbjIiIijEOy89cAiA+Jp
H4kMHVC8APtRFYIBGYx4gDQ6OcH8bbYNw9Y4rUPXlMMJVMR2WTNC6wehClBa
oJsaF0ziHqEFR88Y4b4tyfiYmqKA0Z4mAzMIvRRbvRYDV82gmRnflKLVFDKY
r4SrssRwZvN3EMEaypzOCgTVsshKD0nVblYVnVwIdXtaV9+6HTKq7ZY2rP7a
ZKAO4Wkgb8u+qET/AK0I9RyQa7xEHJqclBfiGFD/ZG2jTKtW5tIAcDzAGSeB
r0agAmdIzz/98IEd4vT/SY/5+HGLzY6L46OrI45zeNpgGc0ALUEreXkbp0s0
XxMYFcYhXw5N0kcNjoYBvtPVzxa3e12S794nB10cqfRcnQbZ7RzR8/TccwbV
FF8TbsqbBj+mQZ214Q/qfFibR/yaT87OPwcNElUcIX/Q5g0CqzLpCidn69B4
UNywBs8tqK5ePFTARfRkGn4osCkIJUK9H2cFvXuCGvWqNlkcgSQiacCWP4FY
vE6yD3H8KTaRRcPnyzoYP135rjt61ePMeFyF8DPgDIxUPIbHfOtsU3hIuMEW
nEbche/pc93NyJTWQUpcs7xpwkb9XICRJb5IeHg6bUxgodV2eL1w65ZTkzUR
4pBnDrEtLvpQEGTgg7WQ5p1bw1efQqRblqL1otERvlWjOWX9MC3z3TYvTI+G
rLGgta5M8aXg6cJEySQWTT58HY12fHaOIT08h2PrtiQ5QuBn92bg5yY1mJT7
kJ+gvpTlnvNz0LkkzxWPdJcv0wmbF7eJdeSEUs/6OgbkuLd4KZ5C3U1eiMo/
AbPhugBpDLCoYhAjvZpRw6QlqIrYjX6Xs8vfnfyxf3R8FU3T+DqwbzbrEVck
oHChc5QogGNV2a4eiUdOtEfBTKfahhpWzb6/T34LFo5neTJmtUMs7wUIZzSV
KEiUq5QDpC8r691GciFjWJZNRzNNUsOLYMooSMEpSZdLwWZDJ1iF2jIBXRZK
KoS69abk4kUsB1gBUhkDkNQHCXagfLZ6Xy/U+8qCkbC9jD48aYgzXxMUhwVK
MFiCEo4aa1ffHA+tGxLV4v67Oej8FEGsk9VD3ZpK0zi29XwQOBAA2+9fb29v
9/Gf56+jgh0Q7Z612prhGGDIHV0u6x3NVdLpLUuembxq+dybn2Z8qH+2CUdF
jrbV+pzrLinYZytix3qrgAuWvc6IOXiCSjUQSAX6O5GAi4rVvAmwVTYE8WhK
dedJpInmFw7rx1fJ9e/c7o6bknghHLhDZ3mRXCfsMlS4wKfdy9vxOaJT2bWa
w+X3r77R+ehM2J/x1d7BNoLruyxNbvipXhulW5uWYEUTFAnZd6ImXZFH84wU
mmli0okE00icByLThb0QzmnpBxSF2JA8yZMJL+KSYCgQoLd5YqO1OVHrnRF3
HcW/1D7uBXLYF0TWZU6DqwewuSq0POABwtBTEP0SuSgoPD6+UR6HSIAundOj
syN04mCsncOsHm6fBkFcBInDhmKJHIbgMInJw0bIzqeAiEZSiHVtVvnKw06n
H+EowLZSVXsxy4ZCgWxrs4uQACA76bqtdAcygLc7ftQbBP3Mt8lkiUkA+lgE
v5C4aYj2fnSCYeXmk8QG3Oe/Q/8YxTqtr9t9+T2OeO9YmpHRSp08eFnm40Rk
eKHqS3NgXAyPGYxEejWNIydqMLyPGiu7uJsD0cLZg0SkTitR256iZABTf1oU
+ygy5jopO20Lw4qpsKFxPiHdAbAWPrYUzZIlRExSUxbp8pqX4MipjQaSogyY
wrNvr67OL53Aetbkj9MYtKfEqJ9CA53ixPG3VtaPIIQSkCYss9RcAB/upMe7
80J/QlFj9g2bjZ3Q5/4wr+ntjmcStuFJoM1sDpSW64mr552DChx3MG3zJk4O
g9owRl+jPW9ARXfIyPfEWbUzGLLrx2PX0edhI95qSR0HO6ridIy+WowTxiEa
wISEKXDBBXBsxsODlzXqQLRj32RE9hiGGU2NKDDXz3IdpXpVujRA7oPLBwlm
/9XYGmb4VPF73FobkBky5LYgakEts8F1St+/om/aLwfNSZGrbJ6X9qrvyaNI
j8vsJkNhogJzw/ljkIHpsTE/g3vzCoTT6ruMPYQxRwvSrt9HR61T0iEdpanV
uZPCQune9SLb8xDu7dEfUbn8yRR5PzXZdTX7WtIoSt9auxNtN0ZcdwqBM77O
8spoZoA3WEiJmMhA+ktgyIsblsyxJTOh9Bp1mtm81wmV0RGbOOSLyMfoZaGl
AGosItmu2O/Mk5j1/ID8rIUjhTlQD0rXABDcxkVCUUjZIWWZgf5ZmHTVzqR8
qa9IC4SPiZBf9n/m/2iUZ9G6Hw/8G36efaa1iFoV8PaGAoG4NeF0ilTPPnzH
8d+A/aj88RDaIftOr+OyLRp0gYSNCZjE6ilbIabIPugSBj51tv+Nys6Mfo8m
S6DwsYhGxn10V9xLeztraa9N5SOuX6LxDOzvPr2P1yd0a+aLasUavie12Qu9
WXusMSV2B9dZK5tZP5M50+oA+ssxhcjbKaPrLUxoo/7z5Xb09O3lN1ubMPnL
YfT0DTxjB/g8BLZ9GEV/WT9rIHbW/fzlM69pp21NwpN8dZBF0a+zpr3DTcyo
vqbBYNDy0LPPuCZCvQXGmiSbi+FTiv9KLfzg/G5ZLF+Sz4OzOogrYJobWd3A
GsKNaHam53ScSMaiRvHNe+QjQEjbsgSWT5fquqhbpF5otFzO55gVRSnc/Lg1
LZAeffu7VYZRduGAFE36Gq0tsouAL4gYpRQ14AAjw/lOzoMYZ+WdYeOS33Y5
fZ4rGN9F8woUJ+CjqNkGvt5Ks2VpLW4sm44mGZBofo1zSqdVfzPxJzese7eR
9bfBQR0s5NhOyK6uJbtc1q1Rwp14lhjYldoAyTD/eUPDdq02w5GVByQCf9qU
nVd5ht5c0FF6FhMYPdhvmWPiC6IZvEIFCxJgFBFHQc0m0gzCoTal4bXgSO1t
AYc9/rhxlrUX+BT6eDx4KLhsVtP6lINN0sTZZA1ph5ne3q6Ds7GgackWbPXB
f9EeE4rmBu29pJz3Gv5IX1d16nNmEoq/8fBZGCwCFeb6Gr48crlGqnN4lEwY
gOUYuRHvH4EI81hEv+C4hWUihAMStpxoKJE2mZn3lecsBZbF+VAcj/Z8anV3
24cndTfBxqRoL+A1BYWbOa6kskhwuhnc9GOvvM/FsljkpdtiEC+k6MUiXyxT
zeO9fHN6eRU95QCCBv6YZweBZK9KIgiJ21yXK0ljEKedm3RdmhFiJOWEeYHu
Q6TDZUa6qEEPa5oam2V+en67Vwtt14LZXoD8vpEOHjQSF3dtGGltbce6QPjU
VONZPQ7epJqNkwaBcM7AQtZgw3t+VLX36ZFyKQwgPKTUSXo3ptwwUrobHlNG
QN/bRJqEGB/umDmv1x0We7pzEPI1bw+BdW1yg+AkmBVFvijQy8f+wRUbxOjc
wRAD0C/q/2IXsEWy/9X+js2k3NveHiILqpkQD1t2aLX468Pkd+AeFRaVRqNV
ZdjG6lmfJ2ap4KneWkSR9T8MktY/3EQfXtl6DJou03TV/zOAhT3YAUaxEEkl
aO1904vc6YxWfGDAdS70Wa1KkuSzFqd4UUt2HY9zyTZlUc5BJJFYnjW5r56c
f4LjwtpePC4wsko1dduQh/QW66T3RjvyR9OwU1veW+zSOSWWjZm0FBSvAaYR
1rTrJHDqzENv4p3hC4t1bcBSriT51qp5gCzF8lDkv6KYlByAnuRLUO/7ICvi
BUWlV2xwO7cs2qbrAQpnAKId5S7NR2E/HctzzDWA6MMwiKvHJejtxsuqwdBY
K2KJFzkpyioo/oMD7FL6vxnIqF1+FMRxnk3qz1KSTdS1z2JgCiubzLSaA5+O
0nhkKJmxG4/GXTE1pIaP92oceKOn330JfOGbrV7wYBeOudurvUvYV3vuepbQ
YhNxcLBlJCy0SdkIn9pee7DKH3/c3nkOU/74Yw8GdFDoNPwdj2AM5D3HVWdo
oWVEMOs4BU7RlylClL+j5AziY3muwLUOTlI1mRz9CKl6/O+zbemBv/DJ1v9B
m/kv94/AJbQ+S/LBpbUAKJOxAogVvx5aykIVu/tfPbdITVyLKjGogmzlaMQm
O1mPbcgJRKfqdTTJMlRnNQ6OUpxjgC3i1Ze/ZAHZUBvbQ6yRS4akL9dRdvcw
cwWwzWUvWBubQi8oXn0hB+80Pj2QT2MKn9TiLS0DyALbhvA+zSQ7Sz5twVb8
khOmAczkvCS0xJ1L4EGSuNmXth7AX0ft4HdlZwRcW0iOp1svLm5AdtA5ak0X
QsdkYaYUQ82jNI+1YpxVMeEBk6TUUEKtUE3jLnZfvCxNrGb724chIWgdeL2a
BqpaR0ASuPu6ahprcjBguaEkMbGRiLH56WbfmHG8VFvDlbpuNM16knbMuVrA
J4H5dS3ghX/YbgZa6wxIntv8PvEYOAGJKdqToC7R6jQINCZVry62pbKh55oD
YDVGhaEW837B5bJcplMg33Q5MVbBpIoIrVAiUfzd8TlRwNWr8160vzuIoh9m
CRZpqzctmBolkj+V6oK18tNSDl5Ks7nkF70J5hZwdElRcD8LiLOWbomnS6UP
2K5vTRVT9SAh2YcnNhf2o1YmBEtjVoZsieqpCH8JUGUkCQuiKmmGEHNHz+Qn
7zm7RLhgkGoK5YSlQFn8Sc6Q7Rxlq03s0hIsrwuxYBLk9YrRU9Z9Rfi0YCs5
Qlh1yNp0wXU6Gb7LIpuYMhbktaufNdOF1cYgRaEXiaeD83+Swk/0cJTNCigH
Zfu4A00kaVUC3PoaMZXAyauBHzEs1tgqvpLQY7vqnhiSLKueZe1VlUomAPIy
LswQUDPHurjAaeQAK6liEwlIOVqa9G5LFU0t8cNjWNjqxM95EUP1wtb4imDN
JqkhyYu6QJpgPQ2IhiiuWRC+v+rIiX6rTCAz5GRDqZFsQCFzSsPS54zotcR/
HrIpyRbzx66FFYiHcd2kzRCzy/0CDjtI+hl0Ln33DxUuXVKlimsCcylVmJgo
2h8llbIL682xxohnLeGvXMJzfMK5v6SVVmUtNMnVhBsyKD1Ya9Kpn7VL8Jfa
Gr9AyCv9WVtHh9AEKWgLuaUACYuNrFFIn0h2/bYNbZSh/pew856Uk5EoAxNb
0iI6hd+pAlUkon6u5vZtYcTE9QCp1eQNOu9oGLUQyzGQa5HkMuXxycttv2aq
Ld05sUk76gElZA+iC33hzppd/J1kd3MufVhlo2VvZbPEH5UjpWBb7W01iqPG
s15ogBPhC1vUjPXSBbv/qX5sbfhD2qx47+khVLbs3ebE2wpKm/vr1VzLadv3
W3uFeBUGtC7LHqQilzNE4EGgRIxzsA8A0AQ+ypcl63Jl0LXA1hl6r/ECWQOT
HieSr08SK05SbtlyuV4t5U4XGCZn6XRPfEUySizz/PDEFhB87HhMlVYU1Cqg
YHKk4IJ8VZj18wsyAWGHftmaq49cywLUMy5Mj0u8pPuB8gBBO1eqY2t9/Mk8
5UxiS4RbmTGTACFzrdV15XCP5kM4sAca22un4DrQz8qm2qqE/xYc6Qlg5nGN
8jkg0Yt+f/XH85OX3GmwWfxDStp0U9lCzQVH6gI+9tACgDVFN3QQGE7zss41
giJBZyIcb/kWbEF6PmaiJ9fLwlqQbNoV1KdJu9mAvkWH0qiFlcI1+y0pWY3Y
MvmXtHS63iIjrvHQ9U141AQuiQGZSY1P3CYxLZ7ciuyBsemIDBtrWohHjQFl
/TFzxmxb3UoWbFAlpWLCD9RzKrgbiJsOeIKEKOAuKY1g2jnH0JRjcBSNWNia
ohue+sMT1rE6HUrc9rOT/PoQsWeDslzKWTVtb4WNZGzhtefg4B5xLCnEKZAo
qmCmorVRDNY7M1HSlkKuqwmHZfs6bNMa7uT2GVe/tH5+r3ylMgv0JA7Buj5O
yjFa4qg8t+RmMdNpJLhoGyexlZ2+LPq146g1bfl0GiTAuIkKQw5Sr9PBNEnh
d3J7lFg574WoeQp27LxT9CKDC9BqadTazzQz2y6vOfGAwHAapD7bZDLrqWy1
F37Hppm1wKg6vNVmCrL2vncGppfZrx4u562E7UkttmWr9bw5DxAWcsYBzosn
3SaoHdHB0yFQ+sLUlti0gsb1PpMNNo+BvIviYFMwesVjc675j7nKWovI2l2C
0VPz3s/AxJD1M4o2j+PSaJ1es+KbW1xNkfvSlKoXr3E8Bi6MSspVbRUxtYmI
U3wFUzUvH7JhdLdIB86apVnz1UbiYWh31pIrC8OKyEHyQjwQtuFGI59HPqcO
Bp6uJPsgDr316XuLIo6/ME6rt2ZhCn49iq9RlFVe5BEW7sRCmOUi86OzzXWE
KrhNS9+lYnv9vNa5+bFazuaXCa+x0/uTcayrntAhFEpMGvsZU20KN5NAn/wY
9oiNPfNiEJ0h4vN2LXT4dZGdpGj6rZ08TyeZPNxTiGo2TMHdTtEJqmWtKOee
cS2FVhm5MIiLSME/GlLiGKLIFka+WoT9WRB0P5B85MKvvbfeXi29H+eLle86
UReq9W05gfYgcmhgvWORIcfqWYuQhJu6Ez0fHE7NmSu8tTD3ZNB5hUtnT7fz
1T96wdkGgvy0hTuZG8hjsQMvsNlsCcqdRGIYi/0QmJflVXkdb3rC4wkNeQbR
x+bx+2S+nINeCPsd58usqueKVXnen4M220cvJSiGyCrZPjeZeuctSDJR62ld
o/zWaMSoJ9qaCIZ5PmH33kj7TsYFUNESDWALZZebVvPeuR1vtAFsv5/9wW7E
tEqGm89N7Kokob3WWcY5G8GMtxpJlMY/rVBYphKMo1Gc0j+ialww7fBrD4mo
1wzyXorua6Ni1NFoRU5Hk+Qm7uWwUoMqkYlg/1i7zuWLdw1LmOKEVNmOUkDb
hwKypJhGCDZaThTr8L7KNSQgNi9XJVh/MHokipVn3lgFYkrc08IwX1aWSZTA
HbyUP9vlCn0ZYQBPPSUfnrTbmaE3i3UBFyGh0v7xstLQHTtR7uKVJk/62agP
wJU9V1x1hKhKDFlb5Nn0Ps8DkY/Vb/R0WS6pFBvMdao0wT+2JCd1wljhN9Gy
cU8RCyWJAe/x0ErzE5OJc4iXhBYAUq0vq+ReNvf3V8AetdYGliZ2zspWk9eZ
V9bOHKcJKXlPuVDbehe2WGHz3tj4/HBLXeDq5yED7sMH596yLgZvtFcyGqAL
/t1XJ8pHCdSSjpBKx9zAX9S0wT0XFC5I0Zqo7iEtKio8q/oxBW0bXcdlP9IZ
jCbOLexXapEZKXshBfbUQQNV/noXPwZOO3QuuCMG7izwwxx5JQHMXDR6FRJY
axo0KzmUVwlsgbJ94/ooltoOvV1bx0qwccA5mx2hU0nP3AGVOq3zdNnZGr4h
IFBFXEIz2fuliEvSklFs5j5UsFGrVjv0/FVLnNCm11CzWB8PfDcxtW4fA/Oh
Pr4lZ5RgSjkq9T3tcpuaWwxziecYRs6nJVOe9DCRjjbxLd5BMUrNpkNWryEG
zaQKmoJ8Z7lbGSZEl/0sZxUFiOTI9yXWQuKbpKltyephRdgVgvuP9XP154nY
Il2gravYYll5LJqblon323UPLF1WFEs59c5ekYpRGptZHh4HunhVs8YDNEgu
lywesL28+L+9UIYXAaB1OO8sI08QlnTdY+UcpV/geWriklwbrLpQ9HaByW3J
2PQcA9cApKsdYM6g/XtpyfR4gEfUWCon/mkdXhqJCXil8mpBFdRrpIkb8pVs
TIau7Qi1kcl5wm4ViV/Ba65bEwsIGecvWu+r7rTLFGn8jCC5zpKf6hGNuGxj
S9qcg/rK0HBqqtf5g3fq/riETSu/X1jYnC8OS1XUN+oCND4Dqa3Y9tbETHBW
qm0TQW3G5znkawDhQuSNsFJ9rz5xvUiprawF5UErbXr+o3VLIyEFX0ocv5oV
xtB9I4Be2HSxWkr3Usx381mS8dMPBtGp2CrsrFnLLfw2r+vRqh+2CG2eJEp9
ul7kkdPbVnB2cOLaCHyqMGWVvn6uvVrUbe3CI9SESAX88IHKvlD7EX3I7zAF
+1sDSM7v8Lu0s601EH9MUGqzrspmHf9QpU2FSk3aiAwCUZP3M9TY21P0sJIR
0NMkt7Zl10YFE+nU9fZzt8C01OBlE26uEbRvc+slj8pTCWD2bEzadczcCtu4
4UOjldd9oidEjJopmQSOd9ZWPei8VqVmAZvWWgNukdHyAuOc1fw89T8Qadxg
RnrKifRrw9NyRtaE8mmyitAaor3zLQN4IVdLWzq7fm7jz262HooLKgPFMAbS
CO2clktOOxEOpABwviWxhNs65270zQvlCjXT9Ux82w2dx/TCS17IlxIsObdP
70ppL5JzprnrZU5XZ/j9zNeCFBbq9RontWm5UFeA3B2yjo27sKOGuDjp7cVX
Q+wjTmkxE1nNSVFgHxDrAmKXUPcM7/lwnPsdgKIbPQVdE84ljXb3tpwW3TLc
q3xCV3xwc6qBM5IKaQHr+IXcVVWr+4zvVRHYyetpBu3UrACQkB+HgcbjJRdk
WbeTZLGr+GjTNBSoHA9VE6S1bhXPx6RT2yKTe99qe7pX745PKAr97uTi4t3F
1wIC8bpodjjFIijTPugGGIJp8/h/OH739uj0zLU4yVq6nvmuPHJCjOPW/pHt
alpLKzi/KAax7SmySSxCBCyjm/smwPbO6JoeViR9pcUqLKEEI1XUqVJ2ij2p
D9okRNqNUspu27b2yTru2a4etZiuoVFisyGCTBDhkmzPiiULTAc+qlfmWs5x
9YcrZLvYHjEwMSmvAsf0t6QUgfcEEQu2qOGuJRsZr28pVbS0bZHq50/9ttH+
xVeETvaKCnURWCMp+hRRZKGZ0GVy/BJWPYxd9MRdtxRF1jvXoE/aJiV75SNO
HhWPoUb922FRdwpYUs6sf28alzPyBDdKmy0q2iz43cFwsAf/1eDocz7p6djS
l7sB4gxjgmmNBt3patg3GOIh9tD6xUlXmE2LslnxGUkJf0UPssWurLteytY5
uLCm1XtkI/j4ge3FGvtX9sW+unbnd6avmYvcmT5upNus2FUsBvYlq8SYyiHK
cUuDz4d2ZmCIev4B7SRcErEPOichj7P4KIupOaOkwc4VR5PqTes2JCg5o/FQ
L2il4bmtQE+8i00GZ50Inpc7SBf8bP5yMhyobYe5Jd8BXefKqe2adkAXlEjL
XAHb2nssOtI/zIV7sY0IhkPtssh6V05jm3B5yQS4cJJZ4xnnRPGQkvXJa1Kj
2+/AshYZ/AmrPBd6Q23UXTgYzMkgHSXVPF6gU8kY1y2Yzlz+6mOJXt2K6+tc
igKf0v55QxxDb4kTPYrbQHMauHY1tZ2hua0qEKqh0lCdBnadIEdBh5XX6sKE
BVW2ICBMHkbB5917YrWEzaTwJHrn3TP1SjwaQmAfnniXUPXHwZfq9ec1kAm4
SPMVlk2gQ92/vSp8kbmn0C4XCnE89E/21hKOD/OlKLZWWgd0KokkMFs1zOn8
PV+okBapPjgpHvSXp05ChS8nQhupTiKGPJLKL/JzpWlgXLAo8FY0CO88uU5u
2YPt33hS5ppwQRdPBQBi/gsK9h3fTYQuxO8l0xlo/LJajmxScrQ2NZgMN1wz
XZQKgO3X7SIrTIK1h2FYb95wyqXU2OEabWGJnbOebllbg3vPywWzGE8XuwrG
c394TO7Gw1BNRQNwrHVl7zmvBjt5kDrN4wCLao6Ujwhd0OPMRZ0sNqXjUUfq
og62D1zZATHvYzKfw86AnIl0cXJ5evb6XY+QhagvuNBS7vtpbz+RtNzSuMgx
RsRF4lJj4d0ux8PQctS6o+OwVNhI69OVs9nm5zeKFNFE8WDvcgdYPOEQWpeY
t9T0TIP88tDe/9qljvYEbKJucKwVCQhduFEzj7x+Y009/72BcUd/5AIkPQK1
Hv3bZjR1STKGuQ5PR2jgvkt84Mpox0c17kXZOZ6aoaruwWDPNRg4eH6w68I2
Vq/84uUXLPthkB5r54l0AhzleWrQQq/kzuge3wO4ksaJFPnA/AbDiQ1egUiW
a/8y6tVzSVlQF1xvREigxSn2zgWn3FP2nqS1+Fdge46imvMNxnM6RuNShVO5
0Yy8Vda5ZkeRNambKvCYihm+tg0WtmfTq75yuUpQdBfJzcoly0Y9OMlEpAnT
v692ig3uSFbEq3VOtt51ZSH8Nl6NjIMxrP1cRAg2ipTqG4XkPJd7jF39hVcN
RojlXHM9h/P+PYA8ll+gs8wSBDn3eUH7M0cvQYKNENrvHZNuEyKj2Y3Jf+m1
5EwJxMI9VS280NU5h2yOilfI6iRKM5c+9hONRAhLcr2GeemJlFIuqSzRsHfK
dfdXNv0DEVW3XADbxPm7+Ar/2cdp4TT5Y+nW8RXeIug30At7AQpXF7STFITQ
I9oKGxH+bjAtKsBC7bzJ3WyAjK+stuSGSXHzBXWqUGV27XFw1NL10fHKJlqN
PNKK62LSpev3mw9zbgccdt9NS8uwzSH0bhK/SRb1rrbKCLaPyCa2kvw6zUfk
HrOJlj17zWepHiG+ZKAd0HyJYz43LYqXblhBxq5Je794VTaW2TJ5hTecjIW5
SJYpI3O2kva/XOlNMUT1OVuNH+82XZSc/c29xXM/G8aX8Tb+Wj/ZpAw6O+nt
lkhMaeogChJPJJdUieSewkUTpQFL5juO9ZYdWlRcWscARxPsjasx9ZrlT1tT
Y3PObiW1yrrwg8tMlbOMk1J8yBPYkx99sB7A6HqZiFcruOvWxAj/uV4j4zqO
TLiiet2NgcKdLXKDNYN9JsykXrureTjpSlse2fhJcBNRm0i0MgIjhvyA29vX
fjaN3kuEQrqWORDGYmgo22r4MrjRkgVdeB9tbi+1Wy/p1gm6kHuh7whrKl0/
DoL4U/zGxuq2on+Onp5dSnh9y0XusSaBNhYA3fdk2wAp3/VEeykUHfUWRxba
Vh0fr/RyZBpb27qVy9Gf0EanUk7sI0168mrQ1sWB3Ddly9q0cLb0BUySMQf3
unFawZnGK1PYlsjWvw3fzxIsToxZdiGqU5HOyvlk2ODkpjFZYDM4txZxqbbM
zGMrmTudb7iKEYuYCKtYktcKqDhWA5u1MRG0/LB0xEcHZHNZz+YokwPkUDOI
WZnCw1AOg0bHYcAOXcDUfy7QoWGwE5+BpnWXrSoL6sKk2AgxE0nc3XLTtI1+
qjeOksXge0maa2WfZcO0eMQo8H+YWFTRIYpPx6uWcZ4ed+GXVKzCJK+5KJm4
YI4tXTgwQW6ZFFGclKCm92fNpV9shCTMrr6W6pp782pfSHrSSQZ83Ca5uzW/
hjXXktPWuVx7fJUF9Q6Gt9zV4B5U9CpuDM9itdWVtEEgb6LtmsCNTOjmeBtO
lEz/uMyzXitgXS8cMY4MbonrQqnjsnhBqXeL8GlWBHRR9uIBqUOzegDX3gIl
M63wtbrNFQhakaINe/donPVjsuzi0qpHdJUNqbz+dkVumBJznPkyYMpKm3AB
u1J8y/apATxvureBtLg2XAwIrY+px2vW1hYfiQWBVrC6rWHqMp4iuyTTjYvf
bMhlDQEE+f5sejbSFuvZYMsiY5a5DgNIRJM4AbtvVtok/hW1TZGrf9u5ZKCx
2YxHbWFg6VDcwdqqSANxuBEpHEN0p903t+ynBbntJyXfLaDbR05Dg0ks71RK
bvkK9574BVwNAXupTV+9ST6uBccKKAV2Md1FcA7Pn8vz/wsBdildk5EqLxQV
PacF9me0Dg2M2+H/JHG5QoVMbrsATJEoD+qrWE6j+iXLkjc5hhgFTFdXb4ig
ZuiUyphyMMUT5h/F4xvixUeTidDPRthynpXk3oUQtMjIgKZR34JMrgjtrZVL
DanLcolUhnLqPdB/4qpGRcS2JP/jqXJvDR+lA5oWLwemLSFFD8LQMSIVUO2c
tapJEd9JGthdz3nMwJYhP5/u4DWN1ZiKvrsA7iGXXHvVdBbmGB2RZhf2lCzz
tUzcVtvKiy7sibKIsSWp0D6V4FOVSp42naPv0alvqyYVqC3kPKmMNPIbrXwE
+dLiBR2r+1PVAle25K+UNadT7FUYM9ZyXsAKTL1kTOrQd6QAaxcEe7GUOFVF
O6YsBKY/ZdfMragDxAOazPsOHA0VTGQVPAnWmhQ3yNbcyJyYRbeMS16D877X
rUPnPSV1LvbKWNqbsvQ0tH7fg55UxS/Ic+z63Ck7eD4Y7rqUk53h7gH3ck2s
PacBkiiZz82EbFjB+bIBEzwZCxeXL0g3n2LnUnh2ukzXgd5CKag1VX8AJ8VO
NLVkZQ9WatvwCgYORtSiXXqlGbaXQ8THK+yp9C464uhf9OFJWJLXqTfWWvDb
XgqumvC2Lgl4ZdnoXyGpdgXW+gLDx7JviTi6LgZzkgFc3UrRUioFofVJFQMu
hTr0h9aul951l/PN86iZjKUCllPlp5rQXCGXMVRjiqea4iUvWNxsgSELA0i+
QZ8jx4K5CXqjItMPerRe/a1FOrY6aZwU7CJ86Lg9JebREqyZDJ1EFFzVo0De
XbummY6KuFHb2Bxo9moHCboL1wCDi+5KLWhA6Lw6O3p74r9Ty//6uuNFRYK1
MJTN+1mMXSk1KiipjeSXDG7aWrfe0rUIpLU8O6YVsQHIZD//mvQDTrXllOtY
Fk6XaWGsCatQzcSlOcS1sm56kOBhS7AVQMi7sXLXZb3EvDS+iaISJzMDT2vT
J0ZvW9LaCz409CQ5c15JwWO4r74/6e9s7xz0d/e/2hFHtHb7cFGjXF4VFsDW
ednS/i2ge6cICt0/pHjxhSte7GgWXnRaRpdATxne33A1I57t+vGQJ4AyPPQR
T+98yvIRDDAp7WuvX0TiwYaiTn+WEA/foxA0XVJ/nh/KWVNdKNWN60P/QLid
RuK3q50PhG2vQ5xZ2leWc0yFKPRgwM6eouN4zA5wqW6pRak2e9A0ico1Ya2N
DVjXKOCjthpzL8FokZe2myf5HPE+EXHu1aHsF5KoF60YJaCrFNpqBTatHTmp
E6jBg7VQZ8v6KaW5k8KzJn9uZ7CzVe8yTrqoeC0BYNRilKnN1kBgpyrtbE/d
Cmy9MXcMj5WkqDei8PxB5wQ1W5cNFcThe/5LxGuY2nAtAjWpZU6yJYgvvBW1
yN+vbMKmxi24NqOjYXiAGZo40pEI/aBz0dpZjeQGnX6jgFuk7Yle82Ad26hg
J7d4yNjB0xS8E9B7qRNEmGA/xTaesmrCYsC9MbeUJu4o7CYMEmGRTUzl8ybt
uX6rDyu85nuKW9SNV84vYVPfLjhjHKH24UkSZ3FfHRsf+R461K4RAzQNzhYe
6N0u9flp9qT0Ch2RzEpCPdQJuNOUaIcXtQvTn15cbEWYIuhy2VGWk8n44itA
1y2+GBmeYPrsRW9NTIKhe+Lu0XZ59NhOXsluYxOyx9w6zvdp2v3ZhrAHw729
7UGwPhJl9y2SbkQtmA5hwdz/B29S13YcXruFgs9wHhc3HKXvknpPMOveA/7Y
9s2IHlRGoKDnKoYtuUxWCxKcS+Zcuqi01jCsW5Pc4cRkTeube400cEk2B8i/
B0j6tYYL5DySrUO+PUjyR/DeXlRGOYzTvZppiMC5PLlrbKPbYM0T6ie6DLod
Dv3ATi/uvwr8vr3jFYU0WfvrXa+iQzq1y5Sa6RmGRKfkgXBRvka3eneHJRI9
1bL5rZjlbkrpOHxjm3lpYzb1G3JmDy2FRycdS/RFWpPTzPiWeMCdf/u3f+uc
0eXahxHdmapXH+h8NvukiJ4yOW73D/b3d/e3Omd0V1D0XZb8eVnrHo277wh9
wSNH7P0RQ4TOHgwnYVbw/RvhZMSBg0BOXoR7Ys7UYa6J/JStFVz9ORhh/Aau
uFpJ3be01wjgjn48F2klIKDFwH5Vvv2bbwS3dznzVeCFNSRq94x6XawJ2/WG
aWrTEzxNKe+roP22uyxlb7A7GB5yDZi79cS2sQnnoDOkBnYrq05jBLGg8G6c
LgBGtk111O13B/aCCNegtazQT02A6gJqcR6FNEfVSzeCA+CgG7eiB3LT/nlA
BuRLw8QjynBULjXcOZAmokZ0Hck7oodpHfWQjRNjSOSsNFFeHLoyxxiy1QJ9
sR2l36lN1pthdhkpI7c4Sc2D4CHCF+1XhZMzy/YYHwgQdFHSoxcdC65tDIxE
XihQWPrHoNJUfOG2NcEJkZwvQgQsN9kUowZvjyliyk5BMqhiT0GRHdMHA/LH
8rHDUnjbK1X/fE5KjoLupdhxT3lqbR+/1ZU8PltdK8XxGy6Gl2JsP8wykNB6
XBB3oM0GnWcnYFal+UJzjBBpyGw1hNt3lP1LGGB7I5HyP00wC0Ys+znaYt6N
JNqaAWDO9xuIfSndlx/Ivr08BL0hbuLkp3cvp0zi00GDd24rO7Q9Bx3/e6sf
2YsuSMBeXARM8MMHdzXBx4YS2cryTk+uXnfcGoa6Bq/BmM+FH3zTXO1qt9oy
G06cT1rsTnOxBw9e7MGvvNjd2mLr8u2BV9f9Gkvd06U2PUWftuKGo/Wzrrsh
YEiy0GZAd9/fecHqxh6ra9K8GZ8ha6+iFIXBplEi0lb81wcs8Pv9foQBKLTO
TjTt7sMTW/HPrb/xpifLkNzXXF9Su8BXW1UBX7kTRgmG6EK5v9Y6FTrmoHNa
ycOt5TG4ia5mVXWJG3dBJ65Q3yU+577z3kWPUrubhN7hAdpfaBSKc09Jm9mF
1zlzbZFjMC+HX+0Mtgc7g6FPyS93treHh5PRi8PD4cYhEHleZuWO3vQ1AAk6
6GXlrv0gL64H9SEuLi5PfysDDXejYbS7vR2hO3B7CP+jn+hp64Xi+gMP73sP
7+JPNMAIqeACDf4s2mpAAKADP1k5tCtc90S4qXVP1XbagBY9toc/uNWd6Oib
V8cnr7eHO7t7+wfPB4N1wLn8xSBz2QqVk1cR+msGuDEqicNV0Mfc/6p1lfT9
L7ROHPtLe4JfA8MTAiRXHhKXeAWfnl1u+feA8uMcgUclubX6rVPHArBy8MeS
Q8sD8IPrdpSxjiSZ/mfO+64xLilItRdBODr1uh8ddmzXkczvn0f3Y2YGQxRx
kZB5MrfOdzBMlgsunZhTYxU1hoP6lCAtqd7z+8JeO45bp13xUdWZxsHL3el0
eni4u9v+ZFN0vTwaT68DQumN6TrpBpd4yGAcfmshT+/lX5LFXME0PPJWA1ZM
SIN2+mms7xehH1weDuzRToz0cp1XmMHhecJZsv0cMpILcsiTKtWZ9GI8sHut
01Xn2PPiU9vlaykrrjSOih5F0RNG2Ea7kpLmE4ctTqo/Topnjo+Y2miC+A1U
tbgoMbRWMXkAP495XQRni5y8b4AWgiiXo/pLjmvOTLrAYDylE5jxLEvGlMuP
h5ByAJGebRIkfMjxxah1XR1hkbuN1QqrpB/LKujplpWuAe4eAHcXUGY43K3p
JjziToARijyfByN0NLvFkNdEDq0Ft18M9ocDIEVEb4JlC4dajwQ7NbDKpTUc
a+nUdiMBS4oa3LmYkeq9h9LK7h3dvTIGqVJg4rf7S9qM/N72npzmuc4vSPN1
9K2JMbM4+v0Fd2J5KW1e5Hv73O+pKYkwC28gANHpWfT2D/bBI6pz0b+eUsvg
Lfet9iz8WyhrOL+NPX4etaAFwsgOOxK45lZfHwdt4IaxBOLS+OZekCuj/XSA
49uX747wotp1IIFP3p1fsXulGeM4jFqiFA0wsEzAmvR62130fbcLKA54VpvU
LE/0uM6/ml72cwEc++A9+ruCrk/n1Nnk4VTeAhYY6FMp/RMx71em9dpTf6d2
2S/EkNZxJCDGWm1hk0eFOSZeiw1OadRWK2SuUG+iuAwzEGottdeMkFTei6P8
eumyDp3JMkqc/um1ErEDJdeYh1Nv+yHpG5SX88Cai4OtVuYBVPLpDPpn82j5
UWZS+5jx0//y790s+WWlTKNrzC8mZdRc17C39PmyNhInm3TLm2RRdrkEk7K+
3c0tnC+/QWo9GvHiGtp9uuz6/1jXKn3Xq9lwho8Xvyd/W0X7b+QXXn8iduVr
denPAMSfrzr/o3nJHgDwIzE2+8uFNZ0pd8uN7e7LoFJsyl9GjobXgM3R8TiX
3CyNJGnm4GCt1nov0bQc97v/V8mmNsSvGU6pr/7vV43+h4pufAoLtPe4tPX6
+FwE81mU1380Lll7+deKJdSm/YfRnn490eH7UClha1EYSXbCVsiNSTrc0cpr
zEO9WqUEkkAYxOeWnKNuM4eloVtCbdpyvVfaz7Bw9RKSlnzUIwOcM+LZfW6j
fMdLSRDV1kQ97m8s7dywzALtVr5pZ7TELrDSacnPO/FuHZP6YS/B2hXFXOXR
bYLXauFdIAQDTuHHxsoKXKl4YnhMl2naOl/CqXVcD//FbVJUmDIXNK+kg3JN
P7FmLogjtglKz2m+6UEvDLDhudZYzLpHNYJA+BskJNlwBd16iazC1Tc9TbLF
stJ6ZbnBFe9dv0vGZusBE2IQRErBwNJsMq2uyyXvfiLf64b4zDcORnL3gZTC
cyaJvdGTjhovMeTbrBllMbMG8azbmLTraif0Mj0dSixhdsbwdbox1UMrECVF
Cfse6E2XU77PkcvK7uSCxEpucqAAOpvEp8GdxtzvYYrXpkj/pBiv3820g3OY
gG3bbmBaP5FMUtnKnkQ6PgE3ynGtCAM0/sK2REdhJJ6dWL6XAJZs5JZs79MU
syddaV8czZP3dOmCJmZpko8G33uN1l6uYdYcKwwxdVVa20uvWFdoGfQGkk6z
1EBJWunYMhFX7XQXr0obK7SZTXo9VqOPl1j/TXMftuD82/KZP9KXvNv6UPyg
P1yZTgbBkOGHPIw3lftq08Jro/gTZmW5HA0a08rw9W/dJK1l3vQW/Ymv1V/2
Fo/9YaW3zKsYo3yX0iba7yDnVRqbSdvp2sJvQRK9cYBaK6fTvk0pLl1NmX+B
i83CPOT9DhcDSR4frNeYvId6uD/6tBx4H9NYO1l9rNDGGQ68J3po8+Bg3med
zqvVOLVrGw/vG2+8E67A+3v9bmT13ui98W5tHPe3cEd/ps7likSxRNWZMaxp
OZatWvMtMa1YdgnSsLbmH59E2/xVAwDwHqVYvvxxe3cH/nv+4/beEP7b5+cb
25fnhy+7WJ7Ql3IVwmZAqIoLXrr1Xgv0/SQppcHZsxhYyjXWCPptx7gNycat
3dx7gEwlLYeU7PB3PE5jXxvt73B0HmF3/QhWOdi4DtB0PS5PjdKDm2e4Yebc
TxwXKMwbULBPvaTz2d/dw7YEAvugJzu1LpFjQDbuElsprCF3YLnClHiBBZDJ
++h4sLtF+R+23FIzebzyAF1gA7wuJR6/T26aVEV/YiIu2gvR9yBQc7pxAIF1
y3/xrQMla92RfMglx9oOnYoXj4+ujiIsP0i8xp1e4W6npeKjx32ckrFWgEj1
yu7+V8+1p7RfEUK1hvhBR54ntX8GrFevBnr64/uzsy1ui0jXTYNZHZfjJIlG
qwpDbGy04BgyRFJ2sIWrdv4ZFfmNkdsQ9QaAFCUx4k4p6vg4n9Ru1kOcwmIH
WvLl96/OqUNAXLibC3qgphdkhqik6EhSnx0PNQF3QQ7JfPhIFC4pyZjmS77i
6sjiCDzU8eua1iUPO3z1L0JvpcGe/rbTPhQgPDKv7W34b4h/DV/+CK/IJ/jv
sPb3Di8KmOLwhVi1YLHC/z3q52sqo9m2r+889nUifipFAhUvuwYGuWMHG/6M
weiQDml1w08fMHz9xc9Yj2zuBcvBbQHWw1fU3FwPzC1ZnBvvwfBfMx4DX1wU
P74HbHn/KJR44uGDvP4YlHiyFh9ksMec4JON+PBJAzZefwxKtG3uhQw23lZo
PXBNzc15+FAb7yEnsGa8nc6Hw6hKqtS87B5xr0ET2m9ONFvGpcXXdzkOYVXj
7sd7iygOXnY9B3/P/b6/ezjsWo61e+BxrEezHDxEy2R2Hs3w5OR2eYgdYivb
k2j0Qvjnpv8b8hDckU8A85hh9nf9YUqQ5VgT6Y0TUu7jSM/BhV9/FGie1OCC
ryMqw3+TH9+PXigv0f+cG7X+Te2/YX2eJvB+7lz7u+vmqkHY0cIV4PaflznX
C1jsfTiuky59drkzOPnD0dvzNyeDs5Or+8NTzSG6947hUY0v53cfcbaRUs2u
pZpHE51ixx4PsRvtGcTmXZBZz6O9/Wj/RbQ3jPYm0f52tDfGT/gZ/GoPp1Sq
oYpDGePARM9hjF0c42A/ev4iOhhGB5Po+XZ0MMZP8Jlp9HwnOnjOY8iB2kFC
enkMUJ54EBF6eRy5hRDB2eEs4Z/ncpz0ycnVegHcTgrbu4ABOIwgAX4CeLBp
mPVYPjM+tvkiwnJ4V38q5q3qy+N4kVToM+dq43UEsc6T0BJtBxze2fVweO8R
8LY/jMl7OsjwkYSgg8jpDb/igfYJ54aEaoSCmzDS0FeC1WtQ8TF7e+JtiV9/
1K6e1DYDQ+zTEdSwCA5iHRY94W2EmNPSoa2OQFgKml2nYuwjjjyJjsbYzj81
k2tqFAGDcv2qmbzsTsEyp8fCvn54QZyJb7GSaxSX3AV5gZ2qqWcStcgdraKr
ZA5GWpHgFQJgn/0LZi5WMX7Qz8oduQuCejMbyl0qpdtRnN3YdskLk6Pmg5Ug
tjdv4nkXDjv/ms+y6I25TbDx5EmR3ERnq+sCe43/Kzx9YbBj0zdg0P4unixv
etHbuJzl+Z+jt8tZjP1X4THs+hy9zQsTL+EvUxT5JPohMSVoWvBqgr6xqwRv
EoU/fwvGPD4dF+9p+d8UCZilP5gU21tXdKH2D9Jts9Y3hvutxXQ/EljdWIQc
DcEU/DYe38TVDF+1v8qFJckCb0U4jF7NCux7ABOdpHMDA/aiY4A+zJ7iG/rX
m/iOXKYAhgneMwRQucMOhAFQfmuAOZnoLcAvNin1u/5XGPj7//4Pk/71vwBA
v0tjOJFjrNOjMN+bZAT2/blJKwTH2zhbwqaxfT22BDvHZgqATLDb5E839HcR
/c9/LmIYDv+cwSCL6Nt8PloW173oIk6nACxALvg9X0VHBR57L7qEMzfR7wD0
+PtyDhD4dvlnVIm/R20XbP3J7DYuVnA+36fxJJn/9f8U0X//+zL7638BLI6y
Cbbuji7Hs2X6E0bv3vEVHIw7f8opxkiOhukUu8HoPTXGdliYEeTz7JBQBQYC
+FU/wennIzgg2OoKNhMvU9jKdEp48TYxN9FvE9hLhvtawYIxqtuLvv3r/75F
4J8kE+pedgVzf4u3qZmeQj26wH+LCUH/dZoTDr3DvmRwWAhMHAsmTAi6b7Dr
RY+c7/8XuQo3NvPnAAA=

-->

</rfc>
