<?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.19 (Ruby 3.3.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-bormann-restatement-02" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.23.0 -->
  <front>
    <title abbrev="The Restatement Anti-Pattern">The Restatement Anti-Pattern</title>
    <seriesInfo name="Internet-Draft" value="draft-bormann-restatement-02"/>
    <author initials="C." surname="Bormann" fullname="Carsten Bormann">
      <organization>Universität Bremen TZI</organization>
      <address>
        <postal>
          <street>Postfach 330440</street>
          <city>Bremen</city>
          <code>D-28359</code>
          <country>Germany</country>
        </postal>
        <phone>+49-421-218-63921</phone>
        <email>cabo@tzi.org</email>
      </address>
    </author>
    <date year="2024" month="August" day="30"/>
    <abstract>
      <?line 114?>

<t>Normative documents that cite other normative documents often
<em>restate</em> normative content extracted out of the cited document in
their own words.</t>
      <t>The present memo explains why this can be an Antipattern, and
how it can be mitigated.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-bormann-restatement/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/cabo/restatement"/>.</t>
    </note>
  </front>
  <middle>
    <?line 130?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Normative documents that cite other normative documents often
<em>restate</em> normative content extracted out of the cited document in
their own words.</t>
      <t>The present memo explains why this can be an Antipattern
<xref target="KOENIG"/><xref target="ANTIPATTERN"/>, and how it can be mitigated.</t>
      <section anchor="conventions-and-definitions">
        <name>Conventions and Definitions</name>
        <t>Although this document is not an IETF Standards Track publication, it
adopts the conventions for normative language to provide clarity of
instructions to the implementer.
The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in <xref target="BCP14"/> (<xref target="RFC2119"/>) (<xref target="RFC8174"/>) when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -21?>

</section>
    </section>
    <section anchor="the-restatement-anti-pattern">
      <name>The Restatement Anti-Pattern</name>
      <t>A <em>Restatement</em> is the attempted expression of information that is
already expressed elsewhere.</t>
      <t>In this document, we are mostly concerned with <em>Normative
Restatements</em>, i.e., statements that are intended (or look like they
are intended!) to be normative.</t>
      <t>Restatements are rarely verbatim copies of the original statement and
the context needed to interpret that, so they tend to introduce
uncertainty about the interpretation of the restatement.</t>
      <t>Authors often presume a reader is well-versed enough to infer that
such an uncertainty (or outright contradiction) is not intended and
how it is to be resolved.
There is little reason to believe this is actually the case.</t>
      <t>An <em>internal restatement</em> is a restatement of information that has
been provided previously in the document under discussion.
Note that an unambiguous internal reference is not a restatement, as
it points to the original text and its context.
(There may still be uncertainties how to interpret the internal
restatement in the additional context.)</t>
      <t>A reference is <em>unambiguous</em> if the previous passage is clearly
identified and delimited.</t>
      <t>An <em>external restatement</em> is a restatement of information that has
been provided in (one or more) external documents.
Here there is increased danger of an unclear scope of the reference,
often by pointing to an entire document where only a specific passage
is actually intended to be referenced.</t>
      <t>Restatements can be entirely <em>hidden</em>, i.e., there is no indication
that information given is a restatement.  Restatements can also be
<em>explicit</em> by clearly being
identified as such, typically no longer using normative language.</t>
      <t>Restatements can be an Anti-Pattern because they can be "a common
response to a recurring problem that is usually ineffective and risks
being highly counterproductive" <xref target="WP-ANTIPATTERN"/>.  <xref target="reasons"/> discusses
the recurring problems as perceived by document authors, <xref target="perils"/>
explains why restatements can be ineffective and counterproductive,
and <xref target="defuse"/> discusses how to use restatements in a way that is not.</t>
    </section>
    <section anchor="reasons">
      <name>Reasons for making restatements</name>
      <t>There are many reasons that cause document authors to include
restatements in their work, many of which are actually good reasons
once the perils of restatements are properly managed.</t>
      <section anchor="integrating-a-complicated-base-standard-ecosystem">
        <name>Integrating a Complicated Base Standard Ecosystem</name>
        <t>Sometimes the source of the actual normative statement is complex and
would require considerable time to digest.
A <em>simplifying</em> restatement tries to shield the reader by rephrasing
or summarizing information from that source.</t>
        <t>Such a restatement can be of good intention, or it can try to hide
complexity that the referencing document actually does make required to incur.</t>
      </section>
      <section anchor="trying-to-be-a-textbook-for-the-implementer">
        <name>Trying to be a Textbook for the Implementer</name>
        <t>More generally, a restatement can attempt to be a directly useful
source for an implementer or user of a standard, e.g., by giving a
mere checklist of items (not necessarily complete!) that must be
implemented instead of actually identifying where the requirement and
possibly its finer points come from.</t>
      </section>
      <section anchor="increasing-availability-from-a-source-with-restricted-access">
        <name>Increasing Availability from a Source with Restricted Access</name>
        <t>In some cases, normative information from a cited document is not
openly available, but only under specific conditions that cannot be
expected to be satisfied by all users of the referencing document,
such as membership in an organization or payment of a non-trivial fee.
It may be appropriate to restate information from such a source so the
referencing document becomes useful.</t>
      </section>
      <section anchor="trying-to-raise-attention-to-a-detail-deemed-surprising">
        <name>Trying to Raise Attention to a Detail Deemed Surprising</name>
        <t>The author of the referencing document may see a need to alert the
reader to a detail of the cited document that might seem unintuitive
(i.e., not familiar) to the author.  By restating the detail in terms
more familiar to readers of the referencing document, this alert can
be more useful.</t>
      </section>
      <section anchor="limitations-in-formal-description-techniques">
        <name>Limitations in Formal Description Techniques</name>
        <t>Formal description techniques (<em>FDT</em>, such as ABNF <xref target="STD68"/>) are usually designed to
document a single specific artifact, not its evolution or its
embedding into another artifact.  This can lead to wholesale imports
of FDT material, without indication whether just the FDT was imported
(and which part of it)
or whether the importing document is intended to evolve with the donor
document.
See <xref target="example-8288"/> and <xref target="example-6991"/> for additional illustration of
this reason.</t>
      </section>
    </section>
    <section anchor="perils">
      <name>Perils of restatements</name>
      <t>The danger of restatements is that they might not be exactly
expressing the same normative statement that the cited document makes.</t>
      <t>One form of this is the <em>incomplete</em> restatement.</t>
      <t>Abridged copies of a normative statement from the cited document often
leave open whether the abridgment is intentional: Is the referencing
document only importing some of the requirements of the cited
document?
In the worst case, the restatement may appear to be <em>forking an
ecosystem</em>, i.e., an implementation of the cited document cannot be
used because it makes additional constraints that are not meant to be
included in the referencing document.
(This peril of course is also present with <em>intentional</em> changes to
the normative statements in a cited document, which are however likely
to receive
much more attention during review.)</t>
      <t><xref target="example-eat"/> presents an example for the situation where a reader
might infer behavior based on the common law statute interpretation
rule:</t>
      <ul empty="true">
        <li>
          <t><em>"Expressio unius est exclusio alterius"</em></t>
        </li>
      </ul>
      <t>which states that the reader is to presume that expressly referencing
one matter implies that other similar matters are intentionally not
mentioned and therefore are excluded.
This is particularly problematic with abridged statements, where this
rule may be invoked by the reader without an author being aware of it.</t>
      <t>Restatements may be slightly <em>semantically different</em> from the cited
document, in particular if the latter is based on a relatively
inaccessible (possibly poorly documented or poorly developed)
terminology.
Both authors and readers may not be aware that they need to use tools
that are commonplace in the ecosystem of the cited document.</t>
      <t>A large danger originates from restatements that are unclear whether a
<em>new</em> normative requirement is intended or a just a restatement of
known normative requirements of the cited document.  This is, of
course, particularly dangerous for <em>hidden</em> restatements.</t>
      <t>A restatement can cause <em>maintainability hazards</em>, as illustrated in
<xref target="example-8288"/>; it also can cause a referencing document to
<em>decouple</em> from the ecosystem of a cited document once that is
repaired (<xref target="example-6991"/>).</t>
      <t>Finally, to readers familiar with the cited document, the restatement
can be surprising; if there really is no information in the
restatement, the reader automatically searches for a specific reason
this restatement is made and starts to reinterpret it until it means
something specific that would justify its presence.
If the restatement is not clearly identified as such, this is likely
to cause misinterpretations, as if the usage envisioned attempts to
fork the cited ecosystem.
(Often, the people who need to interpret the document in question are
actually more familiar with the cited document and the surrounding
ecosystem than the authors of the referencing document, who may just
be pulling in the ecosystem to solve one of their problems.)</t>
    </section>
    <section anchor="defuse">
      <name>Defusing restatements</name>
      <t>A general recommendation for readers of a referencing document is that
they should try to detect restatements and read them in full knowledge
of their perils (<xref target="perils"/>).
If a resolution is required, the RFC errata process may provide a
(poor) mechanism to obtain the resolution and ensure it is documented
in the context of the referencing document.
Mailing list discussions are also a good way to obtain a resolution,
but for additional readers they can be hard to find, and, when found,
it can be hard to extract any consensus that was formed.</t>
      <t>The rest of this section provides a summary of the recommendations
made by this document, employing <xref target="RFC2119"/> keywords as an instruction
to the potential implementers of this document, i.e., document authors
and reviewers.</t>
      <t>Much of the danger of restatements can be averted if they are
sufficiently identified by the authors as such.</t>
      <ul spacing="normal">
        <li>
          <t>For identification of internal restatements, use phrases such as:
In other words, hence, in particular, as discussed in Section NN.</t>
        </li>
        <li>
          <t>For identification of external restatements: As described/defined in
…, as per …</t>
        </li>
        <li>
          <t>In both cases, make sure that any local reference is clear and any
non-local reference is resolvable and well-scoped.</t>
        </li>
        <li>
          <t>Rephrasing the statement as a Note can make clear that there is no
normative intention.</t>
        </li>
        <li>
          <t>Examples <bcp14>MUST</bcp14> be identified clearly as such, including identifying
any explanatory notes as such so that these are not misunderstood as
new normative statements.</t>
        </li>
      </ul>
      <t>If a larger copy from a cited document is made, it <bcp14>SHOULD</bcp14> be made
verbatim and differences introduced deliberately should be explicitly
identified, possibly in a second step.
Note that the FDT mechanisms and their evolution can make verbatim
copies less useful, in which case a systematic approach of first
copying and fixing and then, if necessary, modifying can help the
reader.
For instance, <xref target="RFC2397"/> uses a variant form of ABNF that can be
parsed only once the variant "<tt>:=</tt>" syntax is replaced by "<tt>=</tt>".
(This is an active specification and was cited as recently as in
<xref section="4.3" sectionFormat="of" target="RFC9399"/>, which provides a clearly identified
restatement in modern ABNF, with errata applied and rules referenced
from elsewhere added [we ignore the innocuous redefinition of "hex"
from "HEXDIG"].)</t>
      <t>By making the copy informative, repairs from the base document (in the
<xref target="RFC2397"/> example e.g. <xref target="errata2397"/>) can be imported, even future
ones.</t>
      <t>Where the copy is made because the cited document is not openly
available, this also often requires more processing than a verbatim
copy, increasing the probability of introducing errors and
misunderstandings.
This can be somewhat mitigated by clearly stating the purpose of a
restatement, and the intended result when the restatement and the
original diverge.</t>
      <section anchor="summary-of-recommendations">
        <name>Summary of Recommendations</name>
        <t>(...Add nice checklist text for authors and reviewers based on <xref target="defuse"/> later...)</t>
      </section>
    </section>
    <section anchor="examples">
      <name>Examples</name>
      <section anchor="example-8288">
        <name>Example: Web linking <xref target="RFC8288"/></name>
        <t>This example is about an internal, FDT-induced restatement in
<xref target="RFC5988"/>, which turned into an external restatement in <xref target="RFC6690"/>,
which was not healed by the update to <xref target="RFC5988"/> in <xref target="RFC8288"/>.</t>
        <t><xref section="5" sectionFormat="of" target="RFC5988"/> defines a serialization of web links in a Link Header Field.
A link can have zero of more <tt>link-param</tt> parameters, each of which
has the form (simplified):</t>
        <sourcecode type="abnf"><![CDATA[
link-extension = parmname [ "=" ( ptoken / quoted-string ) ]
]]></sourcecode>
        <t>So link-extensions can always be written as a <tt>quoted-string</tt>, or,
alternatively, without quotes as a <tt>ptoken</tt> if the more limited character
repertoire of <tt>ptoken</tt>s suffices.</t>
        <t>However, <xref target="RFC5988"/> also defines the specifics of a few link parameters.
When simply inserting this into the overall ABNF, the ABNF given for
these link parameters needs to <em>restate</em> the ABNF
for link parameters in their common syntax (simplified):</t>
        <sourcecode type="abnf"><![CDATA[
link-param  = ( "rel" "=" relation-types )
            / ( "anchor" "=" <"> URI-Reference <"> )
            / ( "rev" "=" relation-types )
            / ( "hreflang" "=" Language-Tag )
            / ( "media" "=" ( MediaDesc / ( <"> MediaDesc <"> ) ) )
            / ( "title" "=" quoted-string )
            / ( "type" "=" ( media-type / quoted-mt ) )
]]></sourcecode>
        <t>This restatement loses the intended choice between <tt>ptoken</tt> and <tt>quoted-string</tt> for
many predefined link parameters, only keeping it for <tt>"media"</tt> and
<tt>"type"</tt> (and <tt>"rel"</tt> in the definition of <tt>relation-types</tt>, which is
arguably faulty by allowing non-ptoken characters in an unquoted URI).</t>
        <t>One could say that this restatement was caused by a limitation of ABNF:
ABNF
cannot separately express both the overall syntax of link-params (which yields
the link-param value)) and the specific syntax for the predefined
link-params, contaminating the former with the latter.
The specific syntax would really need to be in terms of the value
yielded as opposed to <em>restating</em> the link-param syntax that yields the value.</t>
        <t><xref section="3" sectionFormat="of" target="RFC8288"/> finally repairs this:</t>
        <blockquote>
          <artwork><![CDATA[
link-param = token BWS [ "=" BWS ( token / quoted-string ) ]
]]></artwork>
          <t>Note that any link-param can be generated with values using either
  the token or the quoted-string syntax; therefore, recipients <bcp14>MUST</bcp14> be
  able to parse both forms.  In other words, the following parameters
  are equivalent:</t>
          <artwork><![CDATA[
x=y
x="y"
]]></artwork>
          <t>Previous definitions of the Link header did not equate the token and
  quoted-string forms explicitly; the title parameter was always
  quoted, and the hreflang parameter was always a token.  Senders
  wishing to maximize interoperability will send them in those forms.</t>
          <t>Individual link-params specify their syntax in terms of the value
  after any necessary unquoting (as per <xref section="3.2.6" sectionFormat="comma" target="RFC7230"/>).</t>
        </blockquote>
        <t>Unfortunately, <xref target="RFC6690"/> adds an external restatement copying from
<xref target="RFC5988"/> in defining a few more link-params (simplified):</t>
        <sourcecode type="abnf"><![CDATA[
link-param     = ( "rel" "=" relation-types )  ; ...
               / ( "type" "=" ( media-type / quoted-mt ) )
               / ( "rt" "=" relation-types )
               / ( "if" "=" relation-types )
               / ( "sz" "=" cardinal )
cardinal       = "0" / ( %x31-39 *DIGIT )
]]></sourcecode>
        <t>The letter of this specification for instance prohibits <tt>sz="47"</tt>
(requiring this to be represented as <tt>sz=47</tt>).   The repair in
<xref target="RFC8288"/> cannot quite fix this as:</t>
        <ul spacing="normal">
          <li>
            <t>it is not clear that the repair actually applies to <xref target="RFC6690"/> (a
general problem with updated ["obsoleted"] references)</t>
          </li>
          <li>
            <t>the ABNF in <xref target="RFC6690"/> would need to be rewritten to apply the rule
<tt>cardinal</tt> to the extracted value of the link-param.</t>
          </li>
        </ul>
      </section>
      <section anchor="example-restatement-of-iso8601-in-rfc3339">
        <name>Example: Restatement of <xref target="ISO8601"/> in <xref target="RFC3339"/></name>
        <t><xref target="RFC3339"/> was largely intended as a freely available restatement of
the paywalled <xref target="ISO8601"/>, with focus added on formally defining the
parts that might be useful in the Internet.
However, when <xref target="ISO8601-2000"/> introduced additional text that seemed to
disallow the syntax used for one extension that <xref section="4.3" sectionFormat="of" target="RFC3339"/> had made to the semantics of <xref target="ISO8601"/>, the precedence
remained unclear.
Implementers of Internet-related standards largely ignored the
additional semantics of that extension anyway, while implementers of
<xref target="ISO8601"/> in general often performed input validation that made sure
the extension made by <xref target="RFC3339"/> wouldn't work.
(This is only now being addressed by <xref section="2" sectionFormat="of" target="RFC9557"/>.)</t>
      </section>
      <section anchor="example-6991">
        <name>Example: Date-Time in YANG (RFC6991)</name>
        <t><xref target="RFC6991"/> defines a YANG type <tt>date-and-time</tt> on page 11, restating
parts of <xref target="RFC3339"/> (the restatement is also faulty in its item (b), with an
attempted cleanup in <xref target="I-D.ietf-netmod-rfc6991-bis"/>).
Now that <xref target="RFC3339"/> is being bug-fixed via <xref section="2" sectionFormat="of" target="RFC9557"/>, it is not clear whether the change
applies to the YANG type as well.
This is more of a problem for YANG than it might be otherwise, as it might trigger
the YANG concept of a "non-backwards-compatible" change to that
datatype — a problem that is not entirely <em>caused</em> by restatements but gets
much harder to discuss.</t>
      </section>
      <section anchor="example-9444">
        <name>Example: ACME for Subdomains (RFC9444)</name>
        <t>A late draft of what became <xref target="RFC9444"/> defines a new feature added to <xref target="RFC8555"/>, referencing
the base standard in a number of places.</t>
        <t>Reviewing the draft <xref target="I-D.draft-ietf-acme-subdomains-04"/>, <xref target="acme-comment"/> states:</t>
        <ul empty="true">
          <li>
            <t>## restatement vs. new normative content</t>
            <t>Providing a specification of a new feature added to ACME, the text
explains a number basic ACME mechanisms that are relevant to this
specification.</t>
            <t>One pervasive problem is that these restatements of RFC 8555 content
are not always easy to distinguish from new, normative statements made
by this document.
E.g., 4.2 contains a statement about "is defined" that is part of a
paragraph restating RFC 8555 -- this one, however, appears to be new
normative content.
(Languagetool diagnoses overuse of passive voice, which exacerbates
this problem.)</t>
            <t>(The first paragraph of section 4 repeats the last paragraph of
section 3.  But that is not a problem; redundancy can be good if it
improves the flow, and this is clearly labeled as a restatement.)
The introduction of section 4 is a summary/restatement of RFC 8555;
section 4.1 introduces new normative content without warning (and
leads the reader astray by actually referencing RFC 8555).</t>
          </li>
        </ul>
        <t>(These problems were ultimately addressed in <xref target="RFC9444"/>.)</t>
      </section>
      <section anchor="example-eat">
        <name>Example: Base64 Encoding variants in draft-ietf-rats-eat-20</name>
        <t>Base64 encoding is defined in <xref target="RFC4648"/>, but comes in a number of
variants.  These often have default settings that are to be used
"unless the specification referring to this document explicitly states
otherwise" (e.g., <xref section="3.2" sectionFormat="of" target="RFC4648"/>).</t>
        <t>Documents that reference <xref target="RFC4648"/> normatively are
surprisingly often sloppy in doing so.
Not <xref target="I-D.draft-ietf-rats-eat-20"/>: Its Section 2 (terminology) defines
the term "Base64url Encoding”, referencing <xref target="RFC4648"/> as well as
<xref target="RFC7515"/> to fill in the open questions from <xref target="RFC4648"/> (i.e., Section
5 and not Section 4, no '=' padding that would be default, no extra
characters).</t>
        <t>While this was a good start, incomplete restatements in the following
text cause a problem <xref target="rats-comment"/>:</t>
        <blockquote>
          <t>A term "base64url encoded” [...] is used in multiple places.  One of the
places restates its own reference to RFC 4648, but doesn’t restate
the reference to RFC 7515 and the text required with that.  This
restatement is very misleading as it strongly implies RFC 7515 is
<em>not</em> used here; the reference needs to be removed.  In the other
places I find the term is simply used, which assumes the reader
will think to look up the term in the terminology [...]</t>
        </blockquote>
        <t>(The problem in the draft was quickly addressed in the next revision.)</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Restatements about security requirements and properties can create the
same uncertainties and interoperability problems as restatements in
other contexts.
Security considerations sections have turned out to be an attractor
for such problems.
They are meant "both to encourage document authors to consider
security in their designs and to inform the reader of relevant
security issues" (<xref section="1" sectionFormat="of" target="RFC3552"/>).
In practice, they tend to be the first point in a document that
security issues are considered at all, so they often both contain
normative statements that are nowhere else in the document and
security-conscious restatements of other normative statements in the
document, the latter with all the perils that this memo is about.
The fact that security considerations sections are often heavily
fleshed out during IESG processing can exacerbate the problem.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <displayreference target="ISO8601" to="ISO8601:1988"/>
    <displayreference target="ISO8601-2000" to="ISO8601:2000"/>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <referencegroup anchor="BCP14" target="https://www.rfc-editor.org/info/bcp14">
          <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
            <front>
              <title>Key words for use in RFCs to Indicate Requirement Levels</title>
              <author fullname="S. Bradner" initials="S." surname="Bradner"/>
              <date month="March" year="1997"/>
              <abstract>
                <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
              </abstract>
            </front>
            <seriesInfo name="BCP" value="14"/>
            <seriesInfo name="RFC" value="2119"/>
            <seriesInfo name="DOI" value="10.17487/RFC2119"/>
          </reference>
          <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
            <front>
              <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
              <author fullname="B. Leiba" initials="B." surname="Leiba"/>
              <date month="May" year="2017"/>
              <abstract>
                <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
              </abstract>
            </front>
            <seriesInfo name="BCP" value="14"/>
            <seriesInfo name="RFC" value="8174"/>
            <seriesInfo name="DOI" value="10.17487/RFC8174"/>
          </reference>
        </referencegroup>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="KOENIG">
          <front>
            <title>Patterns and Antipatterns</title>
            <author initials="A." surname="Koenig" fullname="Andrew Koenig">
              <organization/>
            </author>
            <date year="1995"/>
          </front>
          <seriesInfo name="J. Object Oriented Program." value="8(1): pp. 46-48 "/>
        </reference>
        <reference anchor="ANTIPATTERN" target="http://wiki.c2.com/?AntiPattern">
          <front>
            <title>Anti Pattern</title>
            <author>
              <organization/>
            </author>
            <date year="2012" month="November" day="21"/>
          </front>
          <refcontent>C2 Wiki (Last edited:)</refcontent>
        </reference>
        <reference anchor="WP-ANTIPATTERN" target="https://en.wikipedia.org/w/index.php?title=Anti-pattern&amp;oldid=1144938932">
          <front>
            <title>Anti-pattern</title>
            <author>
              <organization/>
            </author>
            <date year="2023" month="July" day="21"/>
          </front>
          <refcontent>Wikipedia page (at the time of writing:)</refcontent>
        </reference>
        <reference anchor="RFC3552">
          <front>
            <title>Guidelines for Writing RFC Text on Security Considerations</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="B. Korver" initials="B." surname="Korver"/>
            <date month="July" year="2003"/>
            <abstract>
              <t>All RFCs are required to have a Security Considerations section. Historically, such sections have been relatively weak. This document provides guidelines to RFC authors on how to write a good Security Considerations section. 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="72"/>
          <seriesInfo name="RFC" value="3552"/>
          <seriesInfo name="DOI" value="10.17487/RFC3552"/>
        </reference>
        <reference anchor="RFC2397">
          <front>
            <title>The "data" URL scheme</title>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <date month="August" year="1998"/>
            <abstract>
              <t>A new URL scheme, "data", is defined. It allows inclusion of small data items as "immediate" data, as if it had been included externally. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2397"/>
          <seriesInfo name="DOI" value="10.17487/RFC2397"/>
        </reference>
        <reference anchor="errata2397" target="https://www.rfc-editor.org/errata/rfc2397">
          <front>
            <title>RFC Errata Report » RFC Editor</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
          <refcontent>search result</refcontent>
        </reference>
        <reference anchor="RFC9399">
          <front>
            <title>Internet X.509 Public Key Infrastructure: Logotypes in X.509 Certificates</title>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="T. Freeman" initials="T." surname="Freeman"/>
            <author fullname="L. Rosenthol" initials="L." surname="Rosenthol"/>
            <date month="May" year="2023"/>
            <abstract>
              <t>This document specifies a certificate extension for including logotypes in public key certificates and attribute certificates. This document obsoletes RFCs 3709 and 6170.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9399"/>
          <seriesInfo name="DOI" value="10.17487/RFC9399"/>
        </reference>
        <referencegroup anchor="STD68" target="https://www.rfc-editor.org/info/std68">
          <reference anchor="RFC5234" target="https://www.rfc-editor.org/info/rfc5234">
            <front>
              <title>Augmented BNF for Syntax Specifications: ABNF</title>
              <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker"/>
              <author fullname="P. Overell" initials="P." surname="Overell"/>
              <date month="January" year="2008"/>
              <abstract>
                <t>Internet technical specifications often need to define a formal syntax. Over the years, a modified version of Backus-Naur Form (BNF), called Augmented BNF (ABNF), has been popular among many Internet specifications. The current specification documents ABNF. It balances compactness and simplicity with reasonable representational power. The differences between standard BNF and ABNF involve naming rules, repetition, alternatives, order-independence, and value ranges. This specification also supplies additional rule definitions and encoding for a core lexical analyzer of the type common to several Internet specifications. [STANDARDS-TRACK]</t>
              </abstract>
            </front>
            <seriesInfo name="STD" value="68"/>
            <seriesInfo name="RFC" value="5234"/>
            <seriesInfo name="DOI" value="10.17487/RFC5234"/>
          </reference>
        </referencegroup>
        <reference anchor="RFC5988">
          <front>
            <title>Web Linking</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <date month="October" year="2010"/>
            <abstract>
              <t>This document specifies relation types for Web links, and defines a registry for them. It also defines the use of such links in HTTP headers with the Link header field. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5988"/>
          <seriesInfo name="DOI" value="10.17487/RFC5988"/>
        </reference>
        <reference anchor="RFC6690">
          <front>
            <title>Constrained RESTful Environments (CoRE) Link Format</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <date month="August" year="2012"/>
            <abstract>
              <t>This specification defines Web Linking using a link format for use by constrained web servers to describe hosted resources, their attributes, and other relationships between links. Based on the HTTP Link Header field defined in RFC 5988, the Constrained RESTful Environments (CoRE) Link Format is carried as a payload and is assigned an Internet media type. "RESTful" refers to the Representational State Transfer (REST) architecture. A well-known URI is defined as a default entry point for requesting the links hosted by a server. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6690"/>
          <seriesInfo name="DOI" value="10.17487/RFC6690"/>
        </reference>
        <reference anchor="RFC8288">
          <front>
            <title>Web Linking</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <date month="October" year="2017"/>
            <abstract>
              <t>This specification defines a model for the relationships between resources on the Web ("links") and the type of those relationships ("link relation types").</t>
              <t>It also defines the serialisation of such links in HTTP headers with the Link header field.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8288"/>
          <seriesInfo name="DOI" value="10.17487/RFC8288"/>
        </reference>
        <reference anchor="RFC7230">
          <front>
            <title>Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2014"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document provides an overview of HTTP architecture and its associated terminology, defines the "http" and "https" Uniform Resource Identifier (URI) schemes, defines the HTTP/1.1 message syntax and parsing requirements, and describes related security concerns for implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7230"/>
          <seriesInfo name="DOI" value="10.17487/RFC7230"/>
        </reference>
        <reference anchor="RFC4648">
          <front>
            <title>The Base16, Base32, and Base64 Data Encodings</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <date month="October" year="2006"/>
            <abstract>
              <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4648"/>
          <seriesInfo name="DOI" value="10.17487/RFC4648"/>
        </reference>
        <reference anchor="RFC7515">
          <front>
            <title>JSON Web Signature (JWS)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Signature (JWS) represents content secured with digital signatures or Message Authentication Codes (MACs) using JSON-based data structures. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and an IANA registry defined by that specification. Related encryption capabilities are described in the separate JSON Web Encryption (JWE) specification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7515"/>
          <seriesInfo name="DOI" value="10.17487/RFC7515"/>
        </reference>
        <reference anchor="RFC6991">
          <front>
            <title>Common YANG Data Types</title>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <date month="July" year="2013"/>
            <abstract>
              <t>This document introduces a collection of common data types to be used with the YANG data modeling language. This document obsoletes RFC 6021.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6991"/>
          <seriesInfo name="DOI" value="10.17487/RFC6991"/>
        </reference>
        <reference anchor="RFC9444">
          <front>
            <title>Automated Certificate Management Environment (ACME) for Subdomains</title>
            <author fullname="O. Friel" initials="O." surname="Friel"/>
            <author fullname="R. Barnes" initials="R." surname="Barnes"/>
            <author fullname="T. Hollebeek" initials="T." surname="Hollebeek"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <date month="August" year="2023"/>
            <abstract>
              <t>This document specifies how Automated Certificate Management Environment (ACME) can be used by a client to obtain a certificate for a subdomain identifier from a certification authority. Additionally, this document specifies how a client can fulfill a challenge against an ancestor domain but may not need to fulfill a challenge against the explicit subdomain if certification authority policy allows issuance of the subdomain certificate without explicit subdomain ownership proof.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9444"/>
          <seriesInfo name="DOI" value="10.17487/RFC9444"/>
        </reference>
        <reference anchor="I-D.ietf-netmod-rfc6991-bis">
          <front>
            <title>Common YANG Data Types</title>
            <author fullname="Jürgen Schönwälder" initials="J." surname="Schönwälder">
              <organization>Constructor University</organization>
            </author>
            <date day="7" month="August" year="2024"/>
            <abstract>
              <t>   This document defines a collection of common data types to be used
   with the YANG data modeling language.  This version of the document
   adds several new type definitions and obsoletes RFC 6991.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-netmod-rfc6991-bis-16"/>
        </reference>
        <reference anchor="RFC3339">
          <front>
            <title>Date and Time on the Internet: Timestamps</title>
            <author fullname="G. Klyne" initials="G." surname="Klyne"/>
            <author fullname="C. Newman" initials="C." surname="Newman"/>
            <date month="July" year="2002"/>
            <abstract>
              <t>This document defines a date and time format for use in Internet protocols that is a profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3339"/>
          <seriesInfo name="DOI" value="10.17487/RFC3339"/>
        </reference>
        <reference anchor="RFC9557">
          <front>
            <title>Date and Time on the Internet: Timestamps with Additional Information</title>
            <author fullname="U. Sharma" initials="U." surname="Sharma"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="April" year="2024"/>
            <abstract>
              <t>This document defines an extension to the timestamp format defined in RFC 3339 for representing additional information, including a time zone.</t>
              <t>It updates RFC 3339 in the specific interpretation of the local offset, which is no longer understood to "imply that UTC is the preferred reference point for the specified time".</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9557"/>
          <seriesInfo name="DOI" value="10.17487/RFC9557"/>
        </reference>
        <reference anchor="I-D.draft-ietf-rats-eat-20">
          <front>
            <title>The Entity Attestation Token (EAT)</title>
            <author fullname="Laurence Lundblade" initials="L." surname="Lundblade">
              <organization>Security Theory LLC</organization>
            </author>
            <author fullname="Giridhar Mandyam" initials="G." surname="Mandyam">
              <organization>Qualcomm Technologies Inc.</organization>
            </author>
            <author fullname="Jeremy O'Donoghue" initials="J." surname="O'Donoghue">
              <organization>Qualcomm Technologies Inc.</organization>
            </author>
            <author fullname="Carl Wallace" initials="C." surname="Wallace">
              <organization>Red Hound Software, Inc.</organization>
            </author>
            <date day="13" month="June" year="2023"/>
            <abstract>
              <t>   An Entity Attestation Token (EAT) provides an attested claims set
   that describes state and characteristics of an entity, a device like
   a smartphone, IoT device, network equipment or such.  This claims set
   is used by a relying party, server or service to determine how much
   it wishes to trust the entity.

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

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-eat-20"/>
        </reference>
        <reference anchor="rats-comment" target="https://mailarchive.ietf.org/arch/msg/rats/H8qXwQywD0W6x4QcC9Iwd5LYl2s">
          <front>
            <title>Re: [Rats] I-D Action: draft-ietf-rats-eat-20.txt</title>
            <author initials="C." surname="Bormann" fullname="Carsten Bormann">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="RFC8555">
          <front>
            <title>Automatic Certificate Management Environment (ACME)</title>
            <author fullname="R. Barnes" initials="R." surname="Barnes"/>
            <author fullname="J. Hoffman-Andrews" initials="J." surname="Hoffman-Andrews"/>
            <author fullname="D. McCarney" initials="D." surname="McCarney"/>
            <author fullname="J. Kasten" initials="J." surname="Kasten"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>Public Key Infrastructure using X.509 (PKIX) certificates are used for a number of purposes, the most significant of which is the authentication of domain names. Thus, certification authorities (CAs) in the Web PKI are trusted to verify that an applicant for a certificate legitimately represents the domain name(s) in the certificate. As of this writing, this verification is done through a collection of ad hoc mechanisms. This document describes a protocol that a CA and an applicant can use to automate the process of verification and certificate issuance. The protocol also provides facilities for other certificate management functions, such as certificate revocation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8555"/>
          <seriesInfo name="DOI" value="10.17487/RFC8555"/>
        </reference>
        <reference anchor="I-D.draft-ietf-acme-subdomains-04">
          <front>
            <title>ACME for Subdomains</title>
            <author fullname="Owen Friel" initials="O." surname="Friel">
              <organization>Cisco</organization>
            </author>
            <author fullname="Richard Barnes" initials="R." surname="Barnes">
              <organization>Cisco</organization>
            </author>
            <author fullname="Tim Hollebeek" initials="T." surname="Hollebeek">
              <organization>DigiCert</organization>
            </author>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <date day="29" month="June" year="2022"/>
            <abstract>
              <t>   This document outlines how ACME can be used by a client to obtain a
   certificate for a subdomain identifier from a certification
   authority.  The client has fulfilled a challenge against a parent
   domain but does not need to fulfill a challenge against the explicit
   subdomain as certification authority policy allows issuance of the
   subdomain certificate without explicit subdomain ownership proof.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-acme-subdomains-04"/>
        </reference>
        <reference anchor="acme-comment" target="https://mailarchive.ietf.org/arch/msg/last-call/v0RYQkByhAII9yvaD6gbKWx0WtA">
          <front>
            <title>[Last-Call] Artart last call review of draft-ietf-acme-subdomains-04</title>
            <author initials="C." surname="Bormann" fullname="Carsten Bormann">
              <organization/>
            </author>
            <date year="2022" month="November" day="23"/>
          </front>
        </reference>
        <reference anchor="ISO8601" target="https://www.iso.org/standard/15903.html">
          <front>
            <title>Data elements and interchange formats — Information interchange — Representation of dates and times</title>
            <author>
              <organization abbrev="ISO">International Organization for Standardization</organization>
            </author>
            <date year="1988" month="June"/>
          </front>
          <seriesInfo name="ISO" value="8601:1988"/>
          <annotation>Also available from &lt;⁠<eref target="https://nvlpubs.nist.gov/nistpubs/Legacy/FIPS/fipspub4-1-1991.pdf">https://nvlpubs.nist.gov/nistpubs/Legacy/FIPS/fipspub4-1-1991.pdf</eref>&gt;.</annotation>
        </reference>
        <reference anchor="ISO8601-2000" target="https://www.iso.org/standard/26780.html">
          <front>
            <title>Data elements and interchange formats — Information interchange — Representation of dates and times</title>
            <author>
              <organization abbrev="ISO">International Organization for Standardization</organization>
            </author>
            <date year="2000" month="December"/>
          </front>
          <seriesInfo name="ISO" value="8601:2000"/>
        </reference>
      </references>
    </references>
    <?line 589?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Julian Reschke opened the author's eyes to the fundamental problem of
restatements, possibly not using this word.
Many IETFers over decades have worked on mitigating restatements; the
author apologizes that examples in this memo naturally mainly come
from the author's own recollection.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+V82XYbSZrefTxFDHTsImUAXLWQKqmGWqqK3dpaZB11uaZM
JpABIIeJTHRGJiGIh33a7zA3c+FzfOHjl5i78ZvUk/j//j8iMhKE1N227zxL
Ccwlln/9/iVyMBio62N9oFSd1bk51uczoz8YWye1mZui1idFnQ3eJ3VtqkIl
o1Flrv/KQ2k5LpI5DZVWyaQejMpqnhTFoGqfH+T0w9ZqTP9My2p1rLNiUipb
VyaZ44/ULAz9p6iVSumZYzUuC2sK29hjdU8n9Bj+XZbV1bQqm8WxujIr+is9
VuraFI3BXT1PsvxY9zJTT/4R/xmW1bSntJ5m9awZ0Z1xMip3omX1lEqaelZW
x/TUgP5f01LssX4x1M9lE3xNNvciqWxtis4dmuBY/1Rk16ayWf2//ketn1cY
WZ//51N+ADs09bF+X9p6koxn+uBg9/Bwl++Ns5oIIS/IhTKleV4O9h8fPDhy
V5qiBrl+MJh0xRcXs7Kg5/7T4dHgcH9vsL/3ePDw4Gh/j28aIQJ2+o/15wwk
UArEpvdrWid2+vt3r96e/nDMz7f7b3d6UqSVWerfl6bIpnzHiYpjuNVJkbII
LNwF2aupMmMxlx/ud0P9bvTPZlzrd3SrqE2q31fltErmw2P9zD2k9eOtve1j
vVgM9eHDweFjvs5SoPeOjh7Qnydvz0/fn5yfv/rwVoauk2oKss7qenG8s7PM
rrLheH84Luc732FdXjKjteOyjq9XY+Lpvv5I7+qt14mttUkzWuLxdrSA/d29
/cEeiEwXP74ffHUllpZiiiFWs6CxEhB/Z7kD6f40XMwW3/FSnrLuOMr9xzJP
s/Tp3t7h4dHB46OD/fUl+wfDkj/60fUimRq9ldS6JuWss7nR5UQvq6zOiuna
JvYPBruPZBMfvn9x8ODB/jGxawwlk0v7B0ePsCFTVUmd+L/ubm+5XA6ryXgA
UpUVb1Be2aGreC1ef48G1q/4NhmPRVnV+t//TfNFfr0XNmVNUpFykGo2eS0r
Ojo4OoJWv/qUzBe5sVjP2fnLh4+PdTIqJvLQg6PHj4/l58OHR7vu5+P9cPXR
/oG/evjwMFx9sPfAv3Z0tOd+Hh0eHuLn6eDlEOZjUJh6XqYD2hmeGowy6548
ODg48i89ePAI6wel3btiBXkE2rodmKQe7PMq+E8SUtiezfSF9oIUpKlDb8J2
cGFnbqc7eH/nx8d/+uPyD6vly92PDz8d/mH84uh0mT54/XO+b2Pie/X6QL9/
+UAv/orF6ZNxnZWFN9XrixzWn+ovmoW7BhC0fvDgwfHdjSfjuRnYZpSWtKPC
DnaZsny1s/8goKJlB/8HRMlJdQfjJM93rnc//PyHq+er2cnp6dHqOnn5cDr6
/cdPux/rk02U+QVKP3hBb/6qTyqatNYYS2MsEsXrjGwgadRXd/V3EOv07N3j
h7t7bt+ZXeQJGXZ/dY8k+Ysal9mS90yOq0iTKt3Ze3C0ezCc1fN808ZeQuFM
zi5ObHVGtpfolRRkMcQVWP3bX/5Fn3rHUBadZ+heEJ8FaSUNJA+BHnDlPCps
jr1DgYF4xVMMV/BbSU72f5oU2WcZhObUZ24r7pqbzcMNosoXXArdOdbfBJJ9
03EWjx8Pdh/KggqS8ZPcljq5hvSMctp4Vc71t7/91//+radtcZ0vmpEdFpmt
h9Pyegc/cGXntZkm49XO96fvz3Ym2cLSxcPB3oD80d5wkU6ePRu2HCW92d1d
Y+s3nq+4983fztj9h48e7/7/ztiWZt487O4O9vaVUoPBgIYiUJWMCSn+8l/o
997gV/drP/yia8f6rYc8mvBpIySrZ+QuCXeRqySnWeliwzPlpHZ47L6Divej
58hl1gDA5hMvghBN2dSgHpwwRk7DUER4YeLMZJUulwXwa2qH7XIFVzs+6LmZ
lzQuCRDZFr2crejNzJI5KvTIEF9ixNUHn3j0WbnUWe2fmpP3n9KS0zBL9n8z
Dc9wcyOA8fb25ibCP7e3vIivLADcmmdpmhtFjpzkpirThv3PXd5l+Hnvnn5R
FgTo8YyI4kszyYqM/1bqJCdpbKYzWXFLZ0sMqrH001fn3wcJtPqcWHSlSXfz
bMzS2KeVqiQtFywLzM0wG4S35XNO6tIAYNUlUa68zlJ6mrwQYXbiNiFqEkLZ
i8UjGCwDTsGCTDVUoDjFKMJy3Xvz09l5ry//6rfv+PeHV3/46fTDq5f4ffbj
yevX4YdyT5z9+O6n1y/bX+2bL969efPq7Ut5ma7qziXVe3Pyc0/Y03v3/vz0
3duT1z2SxzXCUVyFxRPb2EaQhEB+E6tSY8dVNjIwMMT/f3j+4v3e4e2t3rq5
AVjc2zu6vd12fz3ee3SIv5YzI2KpyyJfuT+JLiuVLBaE7zAUPOs4WWR1klt6
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
TV9hp+K9xuRihbtD9b8BBWfDgrJbAAA=

-->

</rfc>
