<?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.6.20 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-chuang-replay-resistant-arc-04" category="exp" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.16.0 -->
  <front>
    <title abbrev="Replay Resistant ARC">Replay Resistant Authenticated Receiver Chain</title>
    <seriesInfo name="Internet-Draft" value="draft-chuang-replay-resistant-arc-04"/>
    <author fullname="Weihaw Chuang">
      <organization>Google, Inc.</organization>
      <address>
        <email>weihaw@google.com</email>
      </address>
    </author>
    <author fullname="Bron Gondwana">
      <organization>Fastmail Pty Ltd</organization>
      <address>
        <email>brong@fastmailteam.com</email>
      </address>
    </author>
    <author fullname="Allen Robin">
      <organization>Google, Inc.</organization>
      <address>
        <email>arobins@google.com</email>
      </address>
    </author>
    <date year="2023" month="January" day="19"/>
    <workgroup>Independent Stream</workgroup>
    <keyword>DKIM</keyword>
    <keyword>ARC</keyword>
    <keyword>Replay</keyword>
    <abstract>
      <t>DKIM <xref target="RFC6376"/> is an IETF standard for the cryptographic protocol to authenticate email at the domain level and protect the integrity of messages during transit.  <eref target="https://www.rfc-editor.org/rfc/rfc6376.html#section-8.6">Section 8.6</eref> defines a vulnerability called DKIM Replay as a spam message sent through a SMTP MTA DKIM signer, that then is sent to many more recipients, leveraging the reputation of the signer.  We propose two Replay Resistant cryptographic domain based protocols that leverage ARC <xref target="RFC8617"/>.  The first technique discloses all SMTP recipients as signed RFC822 headers by the sender which allows a receiver to verify this.  The second technique defines a SMTP extension that allows both the sender and receiver to participate in signing the message signature.  It includes a path building technique that accurately defines the SMTP forwarding path of the message.  Both techniques permit a receiver to detect DKIM and ARC replay attacks and other attacks.  This specification also defines a relay flow identifier to prevent spammers from using relay forwarding,  We do this by having relays categorize their authenticated traffic flows and publish to receivers identifiers associated with those flows.  Receivers can use this identifier to help categorize traffic through the relay and use that identifier to apply fine-grain anti-abuse policies instead of on the entire traffic through the relay.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>This protocol provides two different techniques to authenticate email by domain that is replay resistant.  It leverages the features of ARC to name ADMD in the email forwarding path and the intermediate results.   The first technique discloses all SMTP recipients as signed RFC822 headers by the sender which allows a receiver to verify this.  The second technique defines a SMTP extension that allows both the sender and receiver to participate in signing the message signature, and can be built into a path of signing ADMDs called chaining.  The results of the two techniques MAY be used by spam filtering to apply some local policy, and/or applied to DMARC policy evaluation as one of its input email authenticators.  These two techniques are independent of each other with different methods, benefits and limitations in tackling replay.  Both are presented in case the limitations of one precludes using it.  This also depends upon ARC improvements to ensure that the results of the first two techniques are propagated correctly to the receiver.</t>
      <t>Spammers utilize relays to obfuscate their identities and often to spoof some other identity with email receivers.  For example a spammer may exploit the shared tenancy vulnerability of SPF to spoof some identity as follows.  It finds a relay that hosts many different enterprise customers who include the relay's IPs in their SPF policies.  The spammer then sends traffic through the relay assuming the identity of one of those customers i.e. it spoofs the MAIL FROM identity of the victim domain. While the SPF validation (if done) of the initial send by the spammer to the relay fails, a subsequent SPF validation when forwarded to some other victim receiver from the relay will pass SPF because the IPs are contained in the victim's SPF policy.  At some point, the receiver notices the spam via the relay and wants to apply anti-abuse counter measures.  With existing authentication methods, this policy would impact all mail flows through that relay, both innocent and malicious.  A better approach would be to selectively apply anti-abuse counter measures to the spammer's flow which is what this proposal enables.</t>
      <section anchor="terminology-and-definitions">
        <name>Terminology and Definitions</name>
        <t>Acronyms</t>
        <ul spacing="normal">
          <li>Authenticated Received Chain (ARC) <xref target="RFC8617"/> - is a protocol that is meant to resolve some of the issues for DMARC <xref target="RFC7489"/> to fix the problems that DMARC policy rejects caused by mail forwarding, and is based on DKIM, but suffers from similar issues as DKIM replay. ARC defines digital signatures and Authentication-Results by ADMD and a versioning mechanism for them.</li>
          <li>Authentication-Results <xref target="RFC8601"/>- A header containing a list of validation results and comments.</li>
          <li>
            <t>DomainKeys Identified Mail (DKIM) <xref target="RFC6376"/>- IETF standard for the cryptographic protocol to authenticate email at the domain level and protect the integrity of messages during transit.
            </t>
            <ul spacing="normal">
              <li>DKIM replay- <xref target="RFC6376"/> section 8.6 defines a vulnerability called DKIM Replay as a spam message sent through a SMTP MTA DKIM signer, that then is sent to many more recipients, leveraging the reputation of the signer.</li>
            </ul>
          </li>
          <li>Sender Policy Framework (SPF) <xref target="RFC7208"/>- IETF standard for authenticating sending servers typically based on IP address.</li>
          <li>ADministrative Management Domain (ADMD) <xref target="RFC5598"/> defines Mail Submission Agent (MSA), Mail Transfer Agent (MTA) and Mail Delivery Agent (MDA).</li>
          <li>Domain-based Message Authentication, Reporting, and Conformance (DMARC) <xref target="RFC7489"/>- Defines a sender's domain identity and from that a sender's message handling policy when messages are being spoofed.  It defines using SPF and DKIM as methods to determine the authenticity of messages.</li>
          <li>Signed RFC822 header recipients- These identities are defined by <em>To</em>, <em>Cc</em> and <em>Forwarded-to</em> headers, and MUST be a signed headers present in the ARC-Seal.</li>
          <li>SMTP recipients- The RFC5321 MAIL FROM recipients are disclosed during the SMTP transmission.  These identities define the inboxes that the message is intended for.</li>
        </ul>
      </section>
    </section>
    <section anchor="arc-set-improvements">
      <name>ARC Set Improvements</name>
      <t>This protocol leverages the concepts and features of ARC <xref target="RFC8617"/> for propagating authentication results and protecting the integrity of the headers and message body.  It adds additional new ARC-Seal tag/values to describe protocol settings and new ARC-Authentication-Results status and comments as described in later sections.  As the ARC chain identifies the message traversal over the forwarding path, this uses ARC set number as the per ADMD versioning.  Unlike ARC, this proposal mandates that the aware ADMDs explicitly identify themselves as an ARC set in the identified path or makes explicit when the message exits the identified path into some naive, unaware ADMD as described later.</t>
      <t>The identified path traverses ADMDs starting with the MSA, optionally traverses one or more MTA, and terminates delivery into the inbox at the MDA.  The MSA ADMD i.e. the responsible originating sender of the message is identified as the initial ARC set "i=1".  This protocol requires that the <em>From</em> header domain MUST be the same as the ARC-Seal d= domain i.e. tying the sender's identity to the cryptographic signer that claims that.  As the originator has no email authentication results, the ARC-Authentication-Results MUST be empty.  Similarly when the message is delivered to the inbox by the MDA ADMD at ARC set "i=N", it alters the ARC set to make termination identifiable and to make it more difficult to replay the ARC sets.  The MDA strips the ARC-Seal and ARC-Message-Signature but leaves behind the ARC-Authentication-Result before sending the message to the MUA.  A message lacking ARC-Seal and ARC-Message-Signatures has been delivered to the inbox, and the last ARC set ARC-Authentication-Result present indicates the MDA ARC set.   ADMDs that act as MTA will upon receiving a message, forward to some new destination.  Note that an ADMD MAY be both a MTA and MDA i.e MAY forward the message and deliver to some inbox.</t>
      <t>To prevent reuse of ARC headers from one message in another,  this protocol mandates generating the ARC-Message-Signature signature upon any outbound traversal from one ADMD to a different ADMD.  In addition there MAY be ARC signing internal to the ADMD.  Having this outbound message body signing invariant permits the receiver to verify the integrity of the message as sent by the prior ADMD.  To verify the integrity of the ARC sets then, a receiver MUST verify the previous ARC set's ARC-Message-Signature and verify each ARC set's ARC-Seal signature from "i=N" (sender's ARC set number) to "i=1" as well as the presence of all headers in the ARC set.  Failure from the immediate sender at "i=N" is treated differently than failures from prior senders at "i=N-1" or earlier with the intention that verifiers MAY potentially use the subsequent ARC set verification results hence differentiated.  If the receiver sees a verification failure from the immediate sender's ARC-Message-Signature or ARC-Seal, or from missing headers, that is "hard" <em>fail</em>.  Prior failures from "i=N-1" to "i=1" ARC-Seal are treated as <em>softfail</em>.  The result of the verification is published in the Authentication-Result and the ARC-Authentication-Result with a tag "arc=".  Even if ARC verification fails, this specification asks the receiver to continue ARC generation and verification to provide forensics evidence for subsequent receivers via the authentication results.  For example the SPF authentication results of the potentially malicious sender MAY help identify that sender to some subsequent receiver.  The propagated ARC verification failure will help prevent inadvertent use of the authentication results by subsequent receivers.</t>
    </section>
    <section anchor="declare-all-recipients-and-affirm-dara">
      <name>Declare All Recipients and Affirm (DARA)</name>
      <section anchor="concepts">
        <name>Concepts</name>
        <t>We can harden the protocol against replay attacks by explicitly identifying all recipients in the headers, including when the recipient is "hidden" such as <em>Bcc</em> or Mailing-lists.  That way when a signed message arrives, the receiver can check if the RCPT TO recipient correctly is a subset of the recipient in the signed message header.  If not, then the message MAY be part of a replay attack.  For blind carbon copy, while a  Bcc header MAY be added, it can be stripped by subsequent forwarders.  Instead we create a new <em>Forwarded-to</em> header that includes an ARC set versioning number to indicate which ADMD sent the message to a new recipient.</t>
        <artwork><![CDATA[
Forwarded-to: i=1; user@example.com
]]></artwork>
        <t>The <em>Forwarded-to</em> header MUST be signed by the ARC-Message-Signature i.e. be present in the "h=", then prepended to the headers of the message.  For privacy, if there are multiple recipients, the message MUST be split and signed exclusively for each <em>Forwarded-to</em> recipient to maintain privacy between recipients.  Subsequent forwarders MUST not strip the <em>Forwarded-to</em> header from the message.  To handle the email forwarder and mailing list scenario, we also use the <em>Forwarded-to</em> header to indicate that a message is sent to a new recipient.  Messages sent to a new ADMD but with the same recipient identity disclosed by <em>Forwarded-to</em> MAY reuse the prior header.</t>
        <t>Senders and receivers MAY variously support the Declare All Recipients and Affirm (DARA) protocol or not, so the protocol needs to be tolerant of naive ADMDs.  For example a naive mailing list sender sending to a protocol aware receiver SHOULD NOT have traffic rejected simply because it didn't follow the protocol.  Yet simultaneously, the DARA protocol needs to discourage abuse by spammers seeking to use the naive ADMD path for DKIM replay.  In this protocol, that sender publishes their capability in the ARC-Seal as "dara=" tag/value, and whether the receiver SHOULD validate recipients.  A value of "v" indicates that the receiver MUST validate the recipients, and if it fails verification, treat the message as DARA unauthenticated with the implication that the message is being replayed.  As with other email authentication methods, the verifier is free to apply a locally defined policy against unauthenticated email.  A value of "d" indicates that the receiver MAY choose to discretionally validate the recipients.  If a receiver validates the recipients, it SHOULD treat recipient verification failure as <em>neutral</em> and SHOULD treat success as <em>pass</em>.  The discretionary validation mode is to support the scenario of sending to a naive ADMD that does not support ARC or the DARA protocol.  Because such naive forwarders MAY not add any indication of its presence e.g. adding an ARC set,  the sender MUST protect subsequent DARA aware receivers from misinterpreting prior settings while allowing for recipient updates that MAY otherwise trigger false positive verification failures.  All ADMD supporting the DARA protocol MUST publish a DNS txt policy record as described below.  The sender fetches the receiver's policy record to determine whether to select the required verification "dara=v" which is done when the receiver supports the DARA protocol, otherwise the sender selects the optional "dara=d" validation profile.   In addition when the receiver does not support the protocol, the sender always identifies the individual signed recipient.  This MAY be needed when the recipient is in the <em>To</em>, or <em>Cc</em> headers, and in this case also adds a <em>Forwarded-to</em> header per recipient, then signs the message only for that recipient.  Unique identification of the recipient and the receiving domain allows a receiver to adjust the reputation system in case there is a replay attack.  Instead of penalizing the sender that is DARA aware, the receiver MAY elect to apply the reputation penalty to the receiving domain that is naive to DARA.</t>
        <t>The receiver's verification process is to collect all the recipients in the <em>To</em>, <em>Cc</em> and <em>Forwarded-to</em> headers.  It verifies that they are signed appropriately in the sender's ARC-Message-Signature and if so, put them into a set of signed headers.  The receiver then collects all the RCPT TO recipients as the envelope recipients.  The receiver then verifies that the envelope recipients are a subset of the signed headers.  It applies the policy depending on the sender's capabilities as described in the ARC-Seal "dara=" tag/value.  The result of this check SHOULD be published in the ARC-Authentication-Results as "dara" <xref target="RFC8601"/> method as <em>pass</em> or <em>fail</em> or <em>neutral</em>.</t>
        <t>The DARA DNS policy record identifies whether an ADMD supports the protocol.  It is a TXT DNS record located at the same domain name as the MX record.  Quite likely it will share the policy record with SPF.  Such a policy record starts with a SeRCi version number "dara_version=" which MUST be set to "ver1.0" indicating that ADMD supports DARA.  While usually the sender looks up the DARA TXT DNS record, a receiver MAY elect to check the sender's policy if it suspects that a MiTM has stripped off the sender's DARA policy.  If it detects a DARA declaration in the DNS policy, but not in the message, the receiver MAY elect to treat the message as spam.</t>
      </section>
      <section anchor="definitions">
        <name>Definitions</name>
        <t>DNS TXT Policy tags</t>
        <ul spacing="normal">
          <li>"dara_version=": Value of "ver1.0" if the ADMD supports the DARA verification protocol.</li>
        </ul>
        <t>ARC-Seal tags</t>
        <ul spacing="normal">
          <li>"dara=": Value of "v" if the sender mandates that the receiver verify the recipients.  Value "d" if the sender asks the receiver to optionally verify the recipients, and writes a <em>pass</em> if the recipient verification passes.</li>
        </ul>
        <t>ARC-Authentication-Results method</t>
        <ul spacing="normal">
          <li>"dara=": Value of <em>pass</em> if recipient validation passes, otherwise <em>fail</em>.  In some circumstances this tag/value MAY not be set or be treated as <em>neutral</em>.</li>
        </ul>
      </section>
      <section anchor="header-examples">
        <name>Header Examples</name>
        <section anchor="mbp-mailing-list-mbp">
          <name>MBP ==&gt; Mailing-List ==&gt; MBP</name>
          <t>First MBP outbound (after ARC seal)</t>
          <artwork><![CDATA[
ARC-Seal: i=1; dara=v
ARC-Authentication-Results: i=1
To: mailing.list@example.com
]]></artwork>
          <t>Mailing-List inbound (after ARC seal)</t>
          <artwork><![CDATA[
ARC-Seal: i=2; dara=v
ARC-Authentication-Results: i=2; dara=pass (rcpt.to mailing.list@example.com matches signed header)
ARC-Seal: i=1; dara=v
ARC-Authentication-Results: i=1
To: mailing.list@example.com
]]></artwork>
          <t>Mailing-List outbound (after ARC seal)</t>
          <artwork><![CDATA[
Forwarded-to: i=2; user@example.com
ARC-Seal: i=2; dara=v
ARC-Authentication-Results: i=2; dara=pass (rcpt.to mailing.list@example.com matches signed header)
ARC-Seal: i=1; dara=v
ARC-Authentication-Results: i=1
To: mailing.list@example.com
]]></artwork>
          <t>Final MBP inbound (after ARC seal)</t>
          <artwork><![CDATA[
ARC-Seal: i=3; dara=v; 
ARC-Authentication-Results: i=3; dara=pass (rcpt.to user@example.com matches signed header)
Forwarded-to: i=2; user@example.com
ARC-Seal: i=2; dara=v; 
ARC-Authentication-Results: i=2; dara=pass (rcpt.to mailing.list@example.com matches signed header)
ARC-Seal: i=1; dara=v
ARC-Authentication-Results: i=1
To: mailing.list@example.com
]]></artwork>
        </section>
        <section anchor="mbp-mbp-replay-mbp">
          <name>MBP ==&gt; MBP-Replay ==&gt; MBP</name>
          <t>First MBP outbound (after ARC seal)</t>
          <artwork><![CDATA[
ARC-Seal: i=1; dara=v
ARC-Authentication-Results: i=1
To: user@example.com
]]></artwork>
          <t>Second MBP inbound (after ARC seal)</t>
          <artwork><![CDATA[
ARC-Seal: i=2; dara=v; 
ARC-Authentication-Results: i=2; dara=pass (rcpt.to user@example.com matches signed header)
ARC-Seal: i=1; dara=v
ARC-Authentication-Results: i=1
To: user@example.com
]]></artwork>
          <t>Above message captured by spammer, modified (add additional headers) and then resent.  A spammer might send the message to john.doe@example.com which would be unspecified in the headers.</t>
          <t>Victim (last) MBP inbound (after ARC seal)</t>
          <artwork><![CDATA[
ARC-Seal: i=3; dara=v
ARC-Authentication-Results: i=3; dara=fail (rcpt.to john.doe@example.com mismatches signed header);
ARC-Seal: i=2; dara=v
ARC-Authentication-Results: i=2; dara=pass (rcpt.to user@example.com matches signed header);
ARC-Seal: i=1; dara=v
ARC-Authentication-Results: i=1
To: user@example.com
]]></artwork>
        </section>
        <section anchor="mbp-naive-forwarder-mbp">
          <name>MBP ==&gt; Naive-Forwarder ==&gt; MBP</name>
          <t>This describes a forwarder that doesn't not support DARA.</t>
          <t>First MBP outbound (after ARC seal)</t>
          <artwork><![CDATA[
Forwarded-to: i=1; user@naive.example.com
ARC-Seal: i=1; dara=d
ARC-Authentication-Results: i=1
To: user@example.com
]]></artwork>
          <t>Forwarder headers will be the same as above as the forwarder is naive to the protocol.</t>
          <t>Final MBP inbound (after ARC seal).  In this case the envelope recipient will change weihaw@example.com.  The declared recipient user@other.example.com will mismatch the envelope recipient, and fail DARA.  However the protocol is set to optional verification with DARA=d, and so does not report the failure.</t>
          <artwork><![CDATA[
ARC-Seal: i=2; dara=v
ARC-Authentication-Results: i=2
Forwarded-to: i=1; user@naive.example.com
ARC-Seal: i=1; dara=d
ARC-Authentication-Results: i=1
To: user@naive.example.com
]]></artwork>
        </section>
      </section>
    </section>
    <section anchor="sender-receiver-co-signing-serci">
      <name>Sender Receiver Co-Signing (SeRCi)</name>
      <section anchor="concepts-1">
        <name>Concepts</name>
        <t>We can create a challenge response system using cryptographic signing orchestrated between the sender and receiver of an SMTP transaction.  The receiver challenges the sender to sign a mutually agreed upon value with their secret key, and can demonstrate a proof of that SMTP client-server relationship to 3rd parties.  One problem is that the receiver can't proactively issue the challenge, so as part of the EHLO, the server issues the challenge as an optional SMTP extension argument.  The sender can respond with the signature incorporating the shared value as a SMTP extension verb.   Another problem is preventing a malicious party from intercepting a message and trying to replicate the challenge.   We propose using a timestamp that can't be used in the future i.e. both parties make sure the timestamp reasonably represents the current time.  This cryptographic challenge needs to sign a hash that ties the signature back to the message, and for this proposal, we take the whole message hash from the ARC-message-signature.  In addition the destination domain is specified to reduce the risk for this signature to be intercepted and reused for other communications with other destination domains.</t>
        <t>Such a protocol can help authenticate to a receiver that some sender sent a message without risk of replay via some third party.  Sender Receiver Co-Signing (SeRCi pronounced Cersei as in the GoT character) could be used similarly to SPF <xref target="RFC7208"/> but without the risk of shared tenancy <eref target="https://www.7elements.co.uk/resources/blog/smtp-multipass/">attack</eref>, <eref target="https://arxiv.org/abs/2204.05122">IP reuse</eref> attack, and BPG <eref target="http://people.scs.carleton.ca/~kranakis/Papers/TR-05-07.pdf">vulnerabilities</eref>.  Moreover a third party can independently verify the result that some sender and receiver sent the given message at the given time.  This obviates the need to trust the ARC-Authentication-Results.  Later we use SeRCi metadata to describe the forwarding path of the message.</t>
        <t>This protocol signs the messages content at the exit to the ADMD to protect the SMTP transaction and yet be insensitive to message body or header modifications by the ADMD.  This is necessary to tolerate the changes that a legitimate forwarder may make such as a mailing list adding a footer or adding the name of the mailing list to the Subject header.  Other forwarders may alter the Content-Transfer-Encoding or delete attachments which this protocol also tolerates.  However malicious forwarders may add or replace malicious content to otherwise benign messages and this must be detected.  SeRCi identifies message body changes via different body hashes between the originator and the destination.  If a message is unchanged between the originator to destination, then malicious content is attributed to the originator.  If a message is changed and there is malicious content, then the originator and the mutating ADMDs are assigned responsibility.  Potentially the attribution can affect the receiver reputation given to the ADMDs.  The existing ARC protocol can do this, however it is a risky endeavor due to the potential for ARC replay and looseness around when ARC does its ARC-Message-Signature.</t>
        <t>The SMTP extension for SeRCi for generating the hash and then publishing it, is meant to prove that the sender and receiver collaborated to create the hash.  The protocol is advertised as a SMTP extension in the SMTP EHLO named SERCI with a timestamp argument.  That timestamp will be in UTC seconds.  If the timestamp is acceptable to the sender, then it SHOULD sign a tuple of url-safe base64  (<xref target="RFC4648"/>) message hash used in the outbound ARC-Message-Signature, destination domain as defined in the next paragraph, and timestamp.   (Subsequent base64 operations are assumed to be url-safe encoded base64 (<xref target="RFC4648"/>) to avoid quoted-string) That signature then SHOULD be base64 encoded and disclosed to the receiver as:</t>
        <artwork><![CDATA[
SERCI-SIGNATURE <sender domain> <selector> <header-body hash> <message-body hash> <signature> 
]]></artwork>
        <t>where signature is upon a hash of the formatted SeRCi result comment string to be presented by the receiver minus the signature.  Note there are no white spaces in the hashed string.  To create the canonical version whitespace they are removed.  Thus the signature is:</t>
        <artwork><![CDATA[
base64(signsender(sha256(<sender domain><selector><header hash><message body hash><timestamp>)))
]]></artwork>
        <t>where domain corresponds to the sender's DKIM domain and selector that is used to find the DKIM public key DNS record.  It also discloses the header hash and body hash that is used to compute the message hash, and are present to allow detection of differences between ARC sets.   If the timestamp is not acceptable, the sender can report this as SERCI-SIGNATURE "out-of-time" and potentially the receiver will return a new timestamp.  The sender is allowed to do this once, and after that the receiver MUST report an error.  To prevent eavesdropping and potential spoofing, this protocol MUST be secured by SMTP TLS.  Upon obtaining the signature, the receiver MUST then validate the SeRCi signature.  It looks at the sender's ARC-Message-Signature hash to see if that is acceptable, meaning matches a hash the receiver generates of the message.  Next it checks if the timestamp is the same as provided to the sender, and if the destination domain is the same as the receiver's ARC-Seal "d=" domain. The SERCI-SIGNATURE command returns OK on success, otherwise some error code.</t>
        <t>An example SMTP transaction might look like:</t>
        <artwork><![CDATA[
EHLO sender.example.com
250-sender.example.com at your service, [1.2.3.4]
250-SIZE 157286400
...
250 SMTPUTF8
250 SERCI <timestamp>
MAIL FROM:<sender>`     
RCPT TO:<recipient>
DATA <message>
SERCI-SIGNATURE <sender domain> <selector> base64(<message body hash>) base64(<header hash>) base64(signsender(sha256(<sender domain><selector><header hash><message body hash><timestamp>)))
]]></artwork>
        <t>The sender discovers the receiver's support for this protocol by a DNS txt policy lookup upon the recipient email address domain.  Within this policy record MAY be a tag value indicating which SeRCi version number "SERCI_version=" which MUST be set to "ver1.0<tt>"</tt> when that ADMD indicates it supports SeRCi.  The lookup also discovers the normalized destination domain name, and that destination domain MUST match the ADMD ARC-Seal "d=" domain (<xref target="RFC8617"/> ) which enables tracing this domain <em>From</em> sender to receiver as described later.  The domain name is specified <tt>serci=&amp;lt;domain&gt;</tt> in the DNS policy record.  Once discovered this domain is put in the sender's ARC-Seal as <tt>serci=&amp;lt;domain&gt;</tt>, which indicates support by the receiver for the SeRCi as well as identify the intended receiver domain.   If no such DNS txt policy record is found, then the receiver does not support the SeRCi protocol.  This is indicated in the ARC-Seal by a SeRCi naive receiver tag/value of "snr=<tt>"</tt> and <em>From</em> header domain for path building described later.  Further the "snr=" tag indicates to subsequent SeRCi aware receivers that there was an intermediate naive forwarder.  If a domain advertises a SMTP SeRCi-SIGNATURE extension but does not publish a DNS txt policy, the sender MUST not call the SeRCi-SIGNATURE command as the receiver is declaring their intent to not participate in SeRCi.</t>
        <t>The SeRCi aware receiver will verify the signature after the SeRCi-SIGNATURE verb.  Assuming the receiver agrees with the signature (i.e. verifies it), the receiver will add to the ARC-Authentication-Result a new authentication-results method "serci" that has a <em>pass</em> result or <em>fail</em> result otherwise.  It also adds as authentication-results <xref target="RFC8601"/> properties, the values needed to contribute to the signature verification.  The <xref target="RFC8601"/> ptype is "smtp".  The sender domain property is "sd".  The selector is "s".  The message body hash is "bh" and the value is encoded in base64.  The header hash is "hh" and the value is encoded in base64.  The timestamp is "t".   This is illustrated as:</t>
        <artwork><![CDATA[
ARC-Authentication-Results i=1; serci=<pass|fail> (<comment>) 
      smtp.sd=<sender domain>
      smtp.s=<sender domain>
      smtp.bh=base64(<message body hash>)
      smtp.hh=base64(<header body hash>)
      smtp.t=<timestamp> 
      smtp.s=<selector>
      smtp.b=base64(<signature>)
]]></artwork>
        <section anchor="definitions-1">
          <name>Definitions</name>
          <t>DNS TXT Policy tags</t>
          <ul spacing="normal">
            <li>"serci_version=": Value of "ver1.0" if the ADMD supports the SeRCi verification protocol.</li>
            <li>"serci=": Value of the receiver's ARC-Seal "d=" domain</li>
          </ul>
          <t>ARC-Seal tags</t>
          <ul spacing="normal">
            <li>"serci=": Value of the receiver's ARC-Seal "d=" domain when the receiver is SeRCi capable.</li>
            <li>"snr=": Value of RFC822 recipient's domain name when the receiver is naive of SeRCi.</li>
          </ul>
          <t>ARC-Authentication-Results method and ptype-properties</t>
          <ul spacing="normal">
            <li>"serci=": Value of "pass" if sender/recipient signing validation succeeds, otherwise "fail".</li>
            <li>"smtp.sd=": sender domain</li>
            <li>"smtp.s=": selector</li>
            <li>"smtp.bh=": body hash in base64</li>
            <li>"smtp.hh=": body hash in base64</li>
            <li>"smtp.t=": timestamp in seconds from UTC</li>
            <li>"smtp.b=": signature in base64</li>
          </ul>
        </section>
      </section>
      <section anchor="header-example">
        <name>Header Example</name>
        <artwork><![CDATA[
ARC-Seal: i=2; d=destination.example.com
ARC-Authentication-Results: i=2; serci=pass (comment) 
      smtp.sd=source.example.com smtp.s=selector 
      smtp.bh=message_body_hash_base64 smtp.t=1664511950175 
      smtp.s=signature_base64
ARC-Seal: i=1; d=source.example.com; serci=destination.example.com
ARC-Authentication-Results: i=1
To: user@destination.example.com
]]></artwork>
      </section>
    </section>
    <section anchor="relay-flow-identifier">
      <name>Relay Flow Identifier</name>
      <t>This specification defines an identifier name for mail traversing a relay.  Typically the relay uses password authentication such as methods provided for in <xref target="RFC4954"/> but other methods MAY be possible.  This identifier MAY also be used for authenticated forwarding flows such as mailing lists and with other authentication methods such DKIM or SPF that verify who the sender is.  Because some traffic may have originated at the relay, which traditionally may be DKIM signed, this document provides a specification for DKIM (<xref target="RFC6376"/>).  In other instances, the relay forwards traffic originated elsewhere, and these are typically not DKIM signed by the relay, so instead this document provides a specification using ARC (<xref target="RFC8617"/>).</t>
      <t>Email Service Providers can delegate relay and forwarding services to enterprise customers, typically associated with some customer domain.  Spammers utilize these features either by acting as an enterprise customer or by hijacked accounts.  This specification proposes naming flows by enterprise customers to help the email receiver with categorization and application of anti-abuse counter measures.  As some mechanisms for mail forwarding such as mailing lists are often opaque after being sent and problematic for debug and abuse protection, this offers a naming scheme to help identify those mechanisms.</t>
      <section anchor="flow-identification-token">
        <name>Flow Identification Token</name>
        <t>The relaying service choosing to use this specification MUST categorize and name relayed traffic flows such that receivers can do anti-abuse analysis upon them if necessary.  In order for the identifier to be effective, it SHOULD be persistent in time and uniquely named across all flows through the relay.  As relayed traffic flow is often associated with a delegated domain, the first part of the identifier MUST either include a domain associated url-safe base64 (<xref target="RFC4648"/>) token, or be empty if no such delegated domain is present.  It MAY include a local part url-safe base64 (<xref target="RFC4648"/>) token after the domain token and separated by a period '.'.  This local part token can help describe the mail forwarding mechanism.  Combined the domain token and the optional local token form the relay flow identifier name.  If a message is associated with more than one flow, the relay SHOULD select the more specific flow based on local policy.  That name MUST not be any relay internal name though MAY be a secure cryptographic hash of such.  Also that name MUST not contain or be associated with any Personally Identifiable Information (PII).  The parser should ignore commas '+' whose use may be specified in the future.</t>
        <t>Example valid names:</t>
        <artwork><![CDATA[
0123456789
0123456789.abcdwxyz
.abcdwxyz
<empty>
]]></artwork>
      </section>
      <section anchor="arc-authentication-result-method">
        <name>ARC Authentication-Result Method</name>
        <t>This proposes a new ARC <xref target="RFC8617"/> ARC-Authentication-Result defined method (<xref target="RFC8601"/>) that identifies the presence of a relay flow and its property that identifies a relay flow identifier name.  The defined method is "relay", which when present, takes a single result value of "pass" that indicates the relay was authenticated.   The relay method will have a propspec tag-value with a policy ptype with a "id" property i.e "policy.id" that takes a single token value.  That token value consists of a domain url-safe base64 token and the optional local url-safe base64 token separated by a period.  The token parsers MUST ignore a reserved plus that may be further specified in the future.</t>
        <t>Example:</t>
        <artwork><![CDATA[
ARC-Authentication-Results: i=1; auth.example.com; relay=pass (comments) policy.id=0123456789.abcdwxyz
]]></artwork>
      </section>
    </section>
    <section anchor="chaining">
      <name>Chaining</name>
      <t>The local results of SeRCi can be combined into a path of verified ADMD domains as defined by the ARC-Seal "d=" domains.  Path building can help detect if replay potentially occurred, that is a receiver MAY check that a message was forwarded from the originator to it with verification errors.   If there are Chain building verification errors, then it indicates either there is a protocol unaware forwarder, or that there is a malicious sender attempting to take the message and reinject it along a new path outside the intent of the originator.  A verifier can then check for some prior sender SeRCi declaration of "snr=" vs "serci=" which clarifies definitively which of these two scenarios applies.  At that point, it is up to the receiver's local policy to determine what receiver does with the result.  The protocol for this verification is described in more detail in subsequent paragraphs.</t>
      <t>The verified path that the message traverses can be used as the message flow identifier in a reputation system.  Unlike purely domain based reputation systems, a path based one can help differentiate benign message flows from malicious ones to help identify replay or other abuse by identifying the spammer forwarding malicious content.  In the Header Examples we describe a scenario where the spammer exploits some gullible but otherwise benign intermediate forwarder in an attempt to hide their tracks and path based reputation can be particularly helpful in uncovering them.</t>
      <section anchor="chain-building-algorithm">
        <name>Chain Building Algorithm</name>
        <t>The following defines an algorithm for path building using SeRCi identifiers.  We define the nodes of a path as the ARC-Seal "d=" identities and who form edges as domain identities pairs.  Because building the edges of a path is a repeated process across edges that are like links, we call this Chain building.  It starts at the destination at ARC set "i=N", and walks through the ARC headers to the originator ARC set "i=1".  The edge is defined as a pair of nodes (<em>d<sub>N</sub></em> , <em>d<sub>N-1</sub></em>) where the sender's ARC-Seal "serci=" domain is <em>d<sub>N</sub></em>  and the receiver's ARC-Seal "d=" domain <em>d'<sub>N</sub></em> MUST match.  If so, edge building considers this a local <em>pass</em>.  If the "serci=" result is missing, the verifier checks if there is instead a "snr=" tag at this or prior ARC set, then specifies an edge result of <em>neutral</em>, otherwise as <em>fail</em>.  Next the receiver's ARC-Set number MUST be "i=N-1" and if so then the ARC-Seal "d=" domain is defined as <em>d<sub>N-1</sub></em>.  This recursively is extended for (<em>d<sub>N-1</sub></em> , <em>d<sub>N-2</sub></em>) i.e. for ARC set "i=N-2" and so forth for each "i=n" to <em>d<sub>1</sub></em>.</t>
        <t>Local Chain verifier is done for each ARC set n following the above edge building from "i=N" to "i=1" and builds two vectors.  One vector keeps the local chain results and the other ARC-Seal "d=" domains.  The verifier assumes that results from ARC header and message-body signature verification, SeRCi and potentially DARA verifications have already run and the results already populate the ARC-Authentication-Results.  For ARC set "i=N" to ARC set "i=2", the verifier MUST evaluate the local result, meaning the ARC result (i.e. from ARC seal verification and sometime ARC message-signature verification), edge building result, and SeRCi verification result, and optionally the DARA verification result, and take the AND of those results.   If all of them are <em>pass</em>, the local Chain result is <em>pass</em>.  Otherwise if any of them are <em>neutral</em> or SeRCi is <em>softfail</em>, and the rest pass, the result is <em>neutral</em>.  Otherwise the result is <em>failure</em>.   Further local policy MAY modify the ARC message-signature result (perhaps due to future work around this <eref target="https://datatracker.ietf.org/doc/draft-kucherawy-dkim-transform/">draft</eref> or this <eref target="https://datatracker.ietf.org/doc/draft-kucherawy-dkim-list-canon/">one</eref>)  As with ARC improvements, this protocol recommends continuing Chain verification even if the sender's Chain result is failure or neutral, to provide forensics evidence for subsequent receivers.  Receivers SHOULD independently verify the SeRCi signature rather than taking the result from ARC-Authentication-Result and having to trust an externally generated result.   At the originator ARC set "i=1" corresponding to <em>d<sub>1</sub></em>, the verifier first verifies alignment between header <em>From</em> domain and the ARC-Seal "serci=" domain.  That domain defines <em>d<sub>1</sub></em>, and the verifier looks up the SeRCi policy associated with the domain which MUST exist.  If they are not aligned, then the message is not considered originated at "i=1", and local Chain verification is considered <em>neutral</em> as likely the message was forwarded to some SeRCi aware domain.  In addition the ARC seal validation for  "i=1" MUST <em>pass</em> or local Chain verification is considered <em>fail</em>.  Once these checks pass, then Chain building for "i=1" is considered to pass.  The local Chain results is added onto the result vector at that index for all indexes, and similarly the ARC-Seal "d=" domain onto the domain vector.  If relay flow identifier is available for that ARC set, the relay flow identifier may be used instead of the domain per local policy.</t>
        <t>To compute the global Chain result, there is a walk over the vector of results.  The global Chain result is initialized to <em>pass</em>.  Starting from "i=N" index to "i=1", if the local result is <em>fail</em> then the global result is <em>fail</em>, else if local result is <em>neutral</em> then the global is <em>neutral</em>.  If the local result is <em>fail</em>, then the domain result is cleared from that index to i=1.  This will attempt to extend the domain list by looking at the prior ARC sets SPF result.  If that has a SPF <em>pass</em>, then the SPF domain is placed in that index, otherwise this inserts a failure indication with the cause e.g. "arc-fail" at that index.  If there are multiple failures, this chooses the most specific error as the cause e.g "serci-fail" over "arc-fail".  This then truncates cleared domain entries from the domain list.  If the local result is <em>fail</em>, this walk halts.  If the local result is <em>neutral</em>, and there is a "snr=" then this inserts the domain in the domain list after the current index which helps identify it in the constructed path.  A synthetic <em>neutral _result is also inserted in the result path.  This also similarly extends the path when "i=1" and the message doesn't originate at that domain (missing alignment between the _From</em> header domain and ARC-Seal "d=" domain) to better identify the flow.  If so and the SPF result is a <em>pass</em>, this prepends the SPF domain and synthetic result into the respective vectors.  If there is a non-passing SPF result, this prepends a SPF status string such as "spf-neutral" to the domain vector and the status to status vector.   The global Chain result is published ARC-Authentication-Results as a "chain=".  result.  If the result is <em>pass</em>, then the message is considered to be <em>authenticated</em> by SeRCi, otherwise <em>unauthenticated</em>.</t>
      </section>
      <section anchor="modified-body-algorithm">
        <name>Modified Body Algorithm</name>
        <t>The protocol can detect when a message is modified along the forwarding path by looking at the current and previous message body hash and comparing them to find for changes.  If the message content is considered spammy and phishy, then ADMDs that may have contributed to that problematic message body content will have their reputation per domain reputation of ADMDs negatively reduced.  Other ADMDs that are proven to not have contributed message content should not be affected.  A per domain reputation sensitive to message modification is useful when the path based reputation has not been established, and instead the per domain reputation can initialize the reputation of the sender.  For this we keep a reputation table indexed by domains.  We collect the domains that modify the messages in a forwarding path including the sender, and update their reputation collectively and equally based on the spam and phishing scores.  Alternatively the path identifier can be further specialized by adding an indicator whether a forwarding ADMD modified the message.  That differentiates path sensitive reputation by whether a forwarder modified the message or not.</t>
      </section>
      <section anchor="definitions-2">
        <name>Definitions</name>
        <t>ARC-Authentication-Results tags</t>
        <ul spacing="normal">
          <li>"chain=": Value of <em>pass</em> if local results and prior nodes are all passes, otherwise if "snr=" was present in the flow then <em>neutral</em>, else <em>fail</em>.</li>
        </ul>
      </section>
    </section>
    <section anchor="chaining-header-examples">
      <name>Chaining Header Examples</name>
      <t>The following two examples illustrate working SeRCi/Chain-Building verification.  This is followed by an example of DKIM replay attack.  The second to last example is illustrative of how this protocol behaves with a SPF upgrade attack.  The last example demonstrates a modified message body by a forwarder.  (Other examples do not have a forwarder that modifies the message) .</t>
      <section anchor="mbp-mailing-list-mbp-1">
        <name>MBP ==&gt; Mailing-List ==&gt; MBP</name>
        <t>This is an example of mail being sent from one Mail-Box-Provider to another through a Mailing-List where all ADMDs participate in SeRCi.  In this illustrative example, we show the construction of the headers.</t>
        <t>First MBP outbound (after ARC seal)</t>
        <artwork><![CDATA[
ARC-Seal: i=1; d=originator.example.com; serci=mailinglist.example.com
ARC-Authentication-Results: i=1
To: mailing.list@mailinglist.example.com
]]></artwork>
        <t>Mailing-List outbound (after ARC seal)</t>
        <artwork><![CDATA[
ARC-Seal: i=2; d=mailinglist.example.com; serci=destination.example.com
ARC-Authentication-Results: i=2; serci=pass; chain=pass
ARC-Seal: i=1; d=originator.example.com; serci=mailinglist.example.com
ARC-Authentication-Results: i=1
To: mailing.list@mailinglist.example.com
]]></artwork>
        <t>Final MBP inbound (after ARC seal)</t>
        <artwork><![CDATA[
ARC-Seal: i=3; d=destination.example.com
ARC-Authentication-Results: i=3; serci=pass; chain=pass
ARC-Seal: i=2; d=mailinglist.example.com; serci=destination.example.com
ARC-Authentication-Results: i=2; serci=pass; chain=pass
ARC-Seal: i=1; d=originator.example.com; serci=mailinglist.example.com
ARC-Authentication-Results: i=1
To: mailing.list@mailinglist.example.com
]]></artwork>
        <t>The global Chain verification result is <em>pass</em> and the message is considered SeRCi <em>authenticated</em>.  The constructed path is [originator.example.com, mailinglist.example.com, destination.example.com].</t>
      </section>
      <section anchor="mbp-naive-forwarder-aware-forwarder-mbp">
        <name>MBP ==&gt; Naive-Forwarder ==&gt;Aware-Forwarder ==&gt;MBP</name>
        <t>This demonstrates a naive forwarder naive.example.com that doesn't not support SeRCi.  The headers represent what would be seen after inbound delivery to the destination MBP.</t>
        <artwork><![CDATA[
ARC-Seal: i=3; d=destination.example.com
ARC-Authentication-Results: i=3; serci=pass; chain=neutral
ARC-Seal: i=2; d=intermediate.example.com; serci=destination.example.com
ARC-Authentication-Results: i=2; chain=neutral
ARC-Seal: i=1; d=source.example.com; snr=naive.example.com
ARC-Authentication-Results: i=1
To: user@destination.example.com
]]></artwork>
        <t>The global Chain verification result is <em>neutral</em> and the message is considered SeRCi <em>unauthenticated</em>.  The constructed path is [source.example.com, naive.example.com, intermediary.example.com, destination.example.com].</t>
      </section>
      <section anchor="mbp-spammer-replay-mbp">
        <name>MBP ==&gt; Spammer ; Replay ==&gt; MBP</name>
        <t>Final headers as seen by the victim ADMD after replay injection to victim.example.com domain.</t>
        <artwork><![CDATA[
ARC-Seal: i=3; d=victim.example.com
ARC-Authentication-Results: i=3; chain=fail
ARC-Seal: i=2; d=destination.example.com
ARC-Authentication-Results: i=2; serci=pass; chain=pass
ARC-Seal: i=1; d=source.example.com; serci=destination.example.com
ARC-Authentication-Results: i=1
To: user@destination.example.com
]]></artwork>
        <t>Due to the path discontinuity, the global Chain verification result is <em>fail</em> and the message is considered SeRCi <em>unauthenticated</em>.  The constructed path is [serci-fail].</t>
      </section>
      <section anchor="spammer-gullible-forwarder-mbp">
        <name>Spammer ==&gt; Gullible Forwarder ==&gt; MBP</name>
        <t>In this example the spammer does not participate in ARC or this protocol.  The spammer forwards a message through an permissive cloud provider gullible.forwarder.com to reach the inbox of some user at desination.example.com.  Spammer selects a victim domain that uses email services of gullible.forwarder.com such that they include the IPs of gullible.forwarder.com in their SPF policy.  While the spammer cannot SPF authenticate at inbound to gullible.forwarder.com, they can SPF authenticate at inbound to destination.example.com, hence the SPF upgrade attack.</t>
        <artwork><![CDATA[
ARC-Seal: i=2; d=destination.example.com
ARC-Authentication-Results: i=2; spf=pass; serci=pass; chain=pass
ARC-Seal: i=1; d=gullible.forwarder.com; serci=destination.example.com
ARC-Authentication-Results: i=1; spf=neutral
To: user@destination.example.com
From: spoofed_user@victim.example.com
]]></artwork>
        <t>While SPF and consequently DMARC is <em>pass</em> at the destination, SeRCi/Chain verification result is <em>neutral</em> because the message was not originated at victim.example.com.  A DMARC evaluation would likely pick the SPF result.  Instead a better approach might be to use the path based reputation system.  The spammy forwarding path is [spf-neutral, gullible.forwarder.com, destination.example.com] which include evidence of the spammer.  Contrasts that to the path from a normal message delivery by victim.example.com using their cloud provider which either would look like [victim.example.com, destination.example.com] or [victim.example.com, gullible.forwarder.com, destination.example.com].  Both would be distinct from the spammer forwarding flow in a path aware reputation system.</t>
        <t>The spammer may attempt to confuse the receiver by replaying ARC headers before forwarding to gullible.forwarder.com.  This would change the SeRCi/Chain verification result to <em>fail</em> and the constructed path very much [arc-fail, gullible.forwarder.com, destination.example.com].  As gullible.forwarder.com is ARC and SeRCi aware, it would indicate that the replayed ARC headers would not pass ARC verification.</t>
      </section>
      <section anchor="mbp-modifying-forwarder-mbp">
        <name>MBP ==&gt; Modifying Forwarder ==&gt;MBP</name>
        <t>This demonstrates a spammy message where the forwarder modifies the message content, representing for example a mailing list adding a footer.</t>
        <artwork><![CDATA[
ARC-Seal: i=3; d=destination.example.com
ARC-Authentication-Results: i=3; serci=pass; chain=neutral
ARC-Seal: i=2; d=modifying.example.com; serci=destination.example.com
ARC-Authentication-Results: i=2; chain=pass
ARC-Seal: i=1; d=source.example.com; serci=modifying.example.com
ARC-Authentication-Results: i=1
To: user@destination.example.com
]]></artwork>
        <t>While the global Chain verification result is <em>pass</em> and the message is considered SeRCi <em>authenticated</em>, the modified message body change is visible via the modified body algorithm.  The constructed path is [source.example.com, modified-message-body, intermediary.example.com, destination.example.com] where we embellish the path with the modification result.  The set of contributing domains associated with the spammy message is {source.example.com, modifying.example.com}.</t>
        <t>A different message may travel along the same forwarding path but is not modified by the forwarder.  That non-modifying forwarder constructed path is: [source.example.com, intermediary.example.com, destination.example.com], and is distinct from above.  The set of contributing domains associated with the message content is now {source.example.com}.</t>
      </section>
      <section anchor="spammer-relay-mbp">
        <name>Spammer ==&gt; Relay ==&gt;MBP</name>
        <t>This demonstrates a spammer sending a message through a relay to a destination MBP.</t>
        <artwork><![CDATA[
ARC-Seal: i=2; d=destination.example.com
ARC-Authentication-Results: i=2; spf=pass; serci=pass; chain=pass
ARC-Seal: i=1; d=relay.forwarder.com; serci=destination.example.com
ARC-Authentication-Results: i=1; spf=neutral; relay=pass policy.id=relay+flow+id
To: user@destination.example.com
From: spoofed_user@victim.example.com
]]></artwork>
        <t>As with the above, a better approach might be to use the path based reputation system where the relay flow identifier is used to replace the domain in the path .  The spammy forwarding path is [spf-neutral, relay+flow+id, destination.example.com].  Reputation analysis using this identifier with the relay flow identifier will be more specific than the domain based approach.</t>
      </section>
    </section>
    <section anchor="dmarc">
      <name>DMARC</name>
      <t>These protocols can act as authenticators for DMARC <xref target="RFC7489"/>.  In particular SeRCi can act similarly to                                                                                                                                                                                                                                                                                                                                 requires alignment with the <em>From</em> header domain and SeRCi originator's ARC-Seal "d=" domains at ARC set "i=1".  Assuming From alignment, a SeRCi/Chain building global pass on a message will indicate a DMARC pass.  As noted in the prior example, when available SeRCi/Chain can provide more accurate authentication than SPF or DKIM, and it is up to local policy to determine preferencing or exclusion of results.</t>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions yet.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>Normative References</name>
      <reference anchor="RFC6376">
        <front>
          <title>DomainKeys Identified Mail (DKIM) Signatures</title>
          <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker">
            <organization/>
          </author>
          <author fullname="T. Hansen" initials="T." role="editor" surname="Hansen">
            <organization/>
          </author>
          <author fullname="M. Kucherawy" initials="M." role="editor" surname="Kucherawy">
            <organization/>
          </author>
          <date month="September" year="2011"/>
          <abstract>
            <t>DomainKeys Identified Mail (DKIM) permits a person, role, or organization that owns the signing domain to claim some responsibility for a message by associating the domain with the message.  This can be an author's organization, an operational relay, or one of their agents.  DKIM separates the question of the identity of the Signer of the message from the purported author of the message.  Assertion of responsibility is validated through a cryptographic signature and by querying the Signer's domain directly to retrieve the appropriate public key.  Message transit from author to recipient is through relays that typically make no substantive change to the message content and thus preserve the DKIM signature.</t>
            <t>This memo obsoletes RFC 4871 and RFC 5672.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="76"/>
        <seriesInfo name="RFC" value="6376"/>
        <seriesInfo name="DOI" value="10.17487/RFC6376"/>
      </reference>
      <reference anchor="RFC8617">
        <front>
          <title>The Authenticated Received Chain (ARC) Protocol</title>
          <author fullname="K. Andersen" initials="K." surname="Andersen">
            <organization/>
          </author>
          <author fullname="B. Long" initials="B." role="editor" surname="Long">
            <organization/>
          </author>
          <author fullname="S. Blank" initials="S." role="editor" surname="Blank">
            <organization/>
          </author>
          <author fullname="M. Kucherawy" initials="M." role="editor" surname="Kucherawy">
            <organization/>
          </author>
          <date month="July" year="2019"/>
          <abstract>
            <t>The Authenticated Received Chain (ARC) protocol provides an authenticated "chain of custody" for a message, allowing each entity that handles the message to see what entities handled it before and what the message's authentication assessment was at each step in the handling.</t>
            <t>ARC allows Internet Mail Handlers to attach assertions of message authentication assessment to individual messages.  As messages traverse ARC-enabled Internet Mail Handlers, additional ARC assertions can be attached to messages to form ordered sets of ARC assertions that represent the authentication assessment at each step of the message-handling paths.</t>
            <t>ARC-enabled Internet Mail Handlers can process sets of ARC assertions to inform message disposition decisions, identify Internet Mail Handlers that might break existing authentication mechanisms, and convey original authentication assessments across trust boundaries.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8617"/>
        <seriesInfo name="DOI" value="10.17487/RFC8617"/>
      </reference>
      <reference anchor="RFC7489">
        <front>
          <title>Domain-based Message Authentication, Reporting, and Conformance (DMARC)</title>
          <author fullname="M. Kucherawy" initials="M." role="editor" surname="Kucherawy">
            <organization/>
          </author>
          <author fullname="E. Zwicky" initials="E." role="editor" surname="Zwicky">
            <organization/>
          </author>
          <date month="March" year="2015"/>
          <abstract>
            <t>Domain-based Message Authentication, Reporting, and Conformance (DMARC) is a scalable mechanism by which a mail-originating organization can express domain-level policies and preferences for message validation, disposition, and reporting, that a mail-receiving organization can use to improve mail handling.</t>
            <t>Originators of Internet Mail need to be able to associate reliable and authenticated domain identifiers with messages, communicate policies about messages that use those identifiers, and report about mail using those identifiers.  These abilities have several benefits: Receivers can provide feedback to Domain Owners about the use of their domains; this feedback can provide valuable insight about the management of internal operations and the presence of external domain name abuse.</t>
            <t>DMARC does not produce or encourage elevated delivery privilege of authenticated email.  DMARC is a mechanism for policy distribution that enables increasingly strict handling of messages that fail authentication checks, ranging from no action, through altered delivery, up to message rejection.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7489"/>
        <seriesInfo name="DOI" value="10.17487/RFC7489"/>
      </reference>
      <reference anchor="RFC8601">
        <front>
          <title>Message Header Field for Indicating Message Authentication Status</title>
          <author fullname="M. Kucherawy" initials="M." surname="Kucherawy">
            <organization/>
          </author>
          <date month="May" year="2019"/>
          <abstract>
            <t>This document specifies a message header field called "Authentication-Results" for use with electronic mail messages to indicate the results of message authentication efforts.  Any receiver-side software, such as mail filters or Mail User Agents (MUAs), can use this header field to relay that information in a convenient and meaningful way to users or to make sorting and filtering decisions.</t>
            <t>This document obsoletes RFC 7601.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8601"/>
        <seriesInfo name="DOI" value="10.17487/RFC8601"/>
      </reference>
      <reference anchor="RFC7208">
        <front>
          <title>Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1</title>
          <author fullname="S. Kitterman" initials="S." surname="Kitterman">
            <organization/>
          </author>
          <date month="April" year="2014"/>
          <abstract>
            <t>Email on the Internet can be forged in a number of ways.  In particular, existing protocols place no restriction on what a sending host can use as the "MAIL FROM" of a message or the domain given on the SMTP HELO/EHLO commands.  This document describes version 1 of the Sender Policy Framework (SPF) protocol, whereby ADministrative Management Domains (ADMDs) can explicitly authorize the hosts that are allowed to use their domain names, and a receiving host can check such authorization.</t>
            <t>This document obsoletes RFC 4408.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7208"/>
        <seriesInfo name="DOI" value="10.17487/RFC7208"/>
      </reference>
      <reference anchor="RFC5598">
        <front>
          <title>Internet Mail Architecture</title>
          <author fullname="D. Crocker" initials="D." surname="Crocker">
            <organization/>
          </author>
          <date month="July" year="2009"/>
          <abstract>
            <t>Over its thirty-five-year history, Internet Mail has changed significantly in scale and complexity, as it has become a global infrastructure service.  These changes have been evolutionary, rather than revolutionary, reflecting a strong desire to preserve both its installed base and its usefulness.  To collaborate productively on this large and complex system, all participants need to work from a common view of it and use a common language to describe its components and the interactions among them.  But the many differences in perspective currently make it difficult to know exactly what another participant means.  To serve as the necessary common frame of reference, this document describes the enhanced Internet Mail architecture, reflecting the current service.  This memo provides  information for the Internet community.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5598"/>
        <seriesInfo name="DOI" value="10.17487/RFC5598"/>
      </reference>
      <reference anchor="RFC4648">
        <front>
          <title>The Base16, Base32, and Base64 Data Encodings</title>
          <author fullname="S. Josefsson" initials="S." surname="Josefsson">
            <organization/>
          </author>
          <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="RFC4954">
        <front>
          <title>SMTP Service Extension for Authentication</title>
          <author fullname="R. Siemborski" initials="R." role="editor" surname="Siemborski">
            <organization/>
          </author>
          <author fullname="A. Melnikov" initials="A." role="editor" surname="Melnikov">
            <organization/>
          </author>
          <date month="July" year="2007"/>
          <abstract>
            <t>This document defines a Simple Mail Transport Protocol (SMTP) extension whereby an SMTP client may indicate an authentication mechanism to the server, perform an authentication protocol exchange, and optionally negotiate a security layer for subsequent protocol interactions during this session.  This extension includes a profile of the Simple Authentication and Security Layer (SASL) for SMTP.</t>
            <t>This document obsoletes RFC 2554.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4954"/>
        <seriesInfo name="DOI" value="10.17487/RFC4954"/>
      </reference>
    </references>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thanks goes to Brandon Long, John R. Levine, Murray S. Kucherawy, Emanuel Schorsch and Bruce Nan for their knowledgeable feedback.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+19aXPc1rXg9/4VGKZqRE66W4sl2ZYt16MkK+HElDUi/fze
eFIMGrjNRtgN9MNCqpNxvs73+YnzS+as954LoKnFyjJTcVUiqQHc5dyzb3c2
m03aol27J8kbt12nO/ijKZo2LdvkuGtXrmyLLG1dDr9nrrh2dfJ8lRZlMkkX
i9pdj3325vkEP7ms6t2TxL3dTiZ5lZXpBubI63TZzrJVl5aXs5q+hD/ky1la
Z7N7DydNt9gUTVNUZbvbwkcn356/nJTdZuHqJ5McRn4yyaqycWXTNU+Stu7c
BNbx2eSmqq8u66rbwidl7rYO/g/Wc9bWLt1MJsW2preb9sG9e1/ee5BMrtwO
vsmfJJNklrz43ckp/onLhz94W5MUYFDV/MYkgf+W3XrNe/nRFav0BsCBm+GH
VX2ZlsWf0hbW/iT5TVVdrt0UFpPN6bHbpMX6SXJDH/7LJT2eZ9WGHmZVV7YI
MZiqN9OzuiphtDK/Sct0ZKKXadPi0Mnrdpd81+Z2sgV8e/kvS3mjBUjwjP05
jtdrVyZvqkVRfsBW0ho/aOxeJpOyqjfw3TWc06Qol+Zfs9ksSRdNW6dZO5kg
xJM///k/vXn5/PFnnz/++eekaJK0pPNOECPytM4T+D4BPEyyerdtq8s63a6K
LNnWVVtl1TppqyQ1eMoLS9KWvsmrDeLq2l07+K3M6TOX8cOiBBytCwBZtUw2
rmnSS9ckeVcXcJywxLIp2nmS/HQGHwAQki/mj39/uGrbbfPk7t2bm5t5vcxm
Li/aqp4DtO7CP/F/uJX5qt2sf9XwhzP48CjJ3bIoYfw0ue7WpavTRbHGubMU
AJ8T9ikppfhWs003uqqkQTxuV4Dblyt4dnZ6/jo5PT/mr5riEsabwnPedYlg
5C+qZJOWu2RT1S6pXVZsC/i5mRJA6vSSNrrCR9uupZNGUOAvPCbs/keHMNtW
jUvam2pI7PGpCLwXaeNyf0QNr0zmdEhgcupfPL7/+c8/wyznMOWyqBtYsstW
ZfEfHZxd0WRrmBeAsV7zlsMWEEa0RuBLMM6DB8nKpbmrm2Sx4w0g8dfJDaxq
hQNUNwjUWnkYQAb+KJb4ctHICuC8gMbsEvyZ0fTubQs8B6FEG5JRF1W7slMi
mtl5tmkNqFlsETkBNrhqhbs/XvgtbbvawUJOWngrW3c5zQtfrZJFV6xz+sav
jBeQZV0Nw653fqU4Kq0VqOYGqAe/ojHkXGVGmOcZLVsHbJKtqzdF24NR7oha
CM1wX3h0tSBp26bZVUM/w1C4cf6FgIkYuIXTWiJRIsTSdVMZeNYOx1gCAJMC
mTS8KNACmYKoi+i/wfNc1tUm6RrciHzkdzYl9MwrOkM8+FV67d9rEpFBxZ8Q
XK6oIz6RI4UvYXm0CN7Gtlusi2aFy1AgNGZ5iHRNlRX09U1Bp450QQPArt/4
bzJgYh1SDK4r3t/KrbfRymQVStxMjgRgWBEPAkcdD5Jut3DmCMsZUB4gFVBi
MUsX+Pq2WgO2AZCBLQO3z/HkCWOBNcJb9S1TzplBb4o8Xzvg478Cdt/WVd4x
/0smEzpYz3rhL9cF4ilyhrxYLl1NXCcg1ThzhpMSRsF7axSnvCbAdKAcg9F6
6YhEGtwQ4iGMjZIrOX5x+iIpZIc0fh/3EZLK8OsNcGxcCozUrVs8t39yH+E+
U/oakXfhiOkgK8Ij9CxEP0eYNyq6MtQH4VfZhwBWOQ7ihsGI0+N/x9E7FBAA
LJJyS9RLWOoqbjcVnOy6ghkYoXe0trugCuDzAsm3Sl6cIh7w88Rdp+tOeA1M
XjpcQNEiHYBwU7UgIGNVC+CbwRrTGmEVFEgYyKVwkMzmiPIDtm8ccIEcZOrC
lXBgLbOSdQHMlFbTEG4CY1wza0JEV/aLEwHDQ1kNO4L3spQI3kXfEwHTiyIW
mBuSckIEKbwVlwsPtwABhEuxQfp0G0JYgBaqy7XzWkL/nIQAhpBA8Z9eEtPL
qhoW0cL5tJWMwZgGnONMGXbXgmLzJ6dcGN6sFsuuIfpnPszMrEUmRdJjCYiN
7zXbCnEMj55BLS/uGOZ8hJ4zw+5fAj64t+lmu3aiMcEKQOXZodWxrgreaLOC
bSBhlWkJiBKrXzDh2euXvdn9vIBJy2ot/B04EhBkHsQXgRJEAACR1KyAFHig
9bYu4DQzsDcqAszNqlLRHnjunSY5ed0I/wLY4GKUhStjkH2RatfQId8iNZqm
2yiF+30ICtFRV9GiijkoA0XLu2dGe3p88l3y8s33p9H3+OS6AEmwEeY9T35c
FWveCq4a6K/ImQAPiyW8VLoj/RD4Q1sALePqPY/UbVVm+Us4YqAlOMxu0TjA
QbTf4sFvEAzC4pkPGIyRFXoOSNpDGP6mAGa+BRjRoAuXpZ0QHB4CYjvw4BY2
x+QY9nynCSeD5Hvc8qzbCjjkNKKFpKyAwYjQIv52XaQ9uQ52HBMlczsjvskK
RCR2KZIr4sCPhPxvQTLiuRoWhtDw7Id0DeGFN1W3zpEBgJlF8ovFIgmMgDKA
vLSiKQuRoiyrDOGNC9ykiIJVh/MfA6BaXBMstq6QEfL4wMYR+G6NZs41aqHv
3I0etpw9QJVUQJaTBZIIMSdWMsDoAJQBql2sAQ6oj/wqOUcttazW1SUD8gXK
yIL45GRynIGtu9vA3yaT/wJyfdR/kYv/4hB45FFkh4CFX5DO7U1L0U5g9WxM
wQ6q9bUThBPUBoJzDVmpLI94yM8ffvElDAkfLYu39CIMCxvZiDUUya7a/RFg
iAJV5WJPj2HJjEouWVZw7qiSw8GBZGs65DqiKDcgN9ZprasC/kW6u4odnFPV
iry4BBGzDuKfufFxhF+zNyIlYE2kaOErKWovqIkgPm5AWqRl0WzUUN/M+8C3
4yjA793/+ecZoBYrTkp2hOAg/BoSuoboVViRglJtSKjxPC+IGf3Ogag5USU5
T04Rfoe496PIwzD7x3IukCuFdhFOaRa7RJrgffh/04dAp3TG2ulrxveXNSju
6K1LDoGr6gl9/uDeF+MnZHkeTIdShP+sydxqd9sCQbAL5HHyOknzHLAGGRjj
4wtgHAW6npBZAYKUABTEI8EgYAiA37qWR4++hLV4gBM6nXm3ZHJ8iR8enp4d
H0354TkeKdChf3R+fERIQU9fuDWKhp1/+uL4SBfG08946adyWDH1TPFUq7r1
nOB5xW61MnOA5aeGlTHfmTFjJFRhwwBYreBrUG5gIJGPaE+EFxVjgK5z0lpV
rCBeeFxGablwdA6oO7icVSQFGSupKDSJT5MHoVFxpb4FZOYsf/0R90hG0GfE
2DLIOBM93iqWtRpQxE8vzquLaXLxPLug5Vy8VP1h1lYXar0xbE9/ODtH2Zaq
iae2nWjqqhgA0GdnLl3P+Rh7JiItCRf86LMH941KZY3IOpiZuWcN6sAhHiH4
5g0Vs0HenPCaRfXWNUG11wNE7wPwoRL1JMAXxDi06lEKnLk2OTEWQt+2j21v
YM+Z2wr/7RvikQxFclWLYURdsXxc2KVXVi3HxB8U7qSPyI4WVb5jPAPybvD/
SPiDGCvdjT8SsLcu76I96ATTmqwuFi7srgGFBublsfXLPRILOFHbxZIHMVkH
JUVxnaKWI6yadKZGcYTN4+DAaaITglNGFgZLrq5Zxe97L0Sz69AVgcPB0hOO
heAqSLFAroOyOUhlWMEP5bq4ohVMexrVBjlra/ElvUFcZKMeLSekQuCmsmZS
1zeg512zRpGWfiFCCkUQvOwpQCPsyoXBmHXYjYM+2zajH5PLgTSsMgWmOU26
MqwvhjyBfc6OqeFAAluEG+0MDpJYqPruQAicHU+TassYhFat/4KspZqFHrBy
5gzMrwh0uTJ0Wq0nQlUNgL+L8QZTiIcKDS2xu8FEbwpQBmEKUMLKINXgJGNH
bWIdiLmeuJpTegwHxdP7B+oN8Eheg/1U1PacL14Cu1d2p/JA+R2JbHSopU3E
35L8qRcdtIedUqwXGF6kCCxibYr1AF5Ftk4LUYEDlSgUAOArmLysht4awzum
fnV7CFY35DbbFpnFGevE690QCwt/kmxJhoMUIxUOUvCutdB+dTBFozlFv1Wg
dHxI6hLQneIKLlwPEA0ZRiR5CYYgDEPHQZHB4tnI2LJzwQ+qjgBcDCgwxbZ3
QOKZn4nyMDtTjZ7sg7VLkXAXblWIH3Qv7OClJa5HFayIUzF0Tn84JpNQf16n
2RV5BN+5mIYOd+HgCMZhPvWO2nXaBHDvX20QyDmp5004Mv52Tnof0r7ES1pE
blR6yRFArjI229nwkE1NlQd75wKKCGA7rZwojPuqajUKUzKGiGeTbOmUJiFt
AlYDZENP/agGrPiOgMPPRtBgthYCIrVDg1pEropGUt+QV3mExlgAuUKmiWf7
zA482wcV1NWpl7vjmOOtQoYSWgBV1y7Ans+N0PLzEwTIVRycYPgbyurSi2mc
r3YKKTokcSiTax7FuCCEfPtbDujQRvz0VhcwA1yndYF2OgeymtgnYz3uI6qG
Pw0xeoT6t3VR1bqW89uHUFol62lqvf3Ej8yneKLoWtFP7jR7zgBxQ74j/3P8
PlFbOCY6CmJNyaFnzLHCcIRgIFmBG71xQAKqQhAlZYRf6C9S/AqqrpDTS+DL
fjaCw0YDKhqAEAaJvBUTL9D14nFiTU7Tktx8xBJoHAYzf9/oADNYJbp3gXEX
6nVXwJetD4MQfCg4h1i1reghCXP17BlPooKDP+qppCsCgF8qhfkQfZcxJjWO
DXA7xPJdUNl7xIhecpZT/AeNQFo/4LQ3S9QRdbAC9nGQXOB8F7C21wS4GJgK
O3/UgTNT7I9PBM79oqmWrY4UAjfe12s3iHyEg6PBMTrOk9N3yhg6yRRV9OQg
rbOnqLh8e40eB+ZtA8iqc7MXUG6uhjSObqSi7Bhjlc8R+8rjcSnSTNFL5MoY
V8tAW8V/IxKgEWPQJgSD1ZM7rpn0IhLqGN9jAgmcLcp6r6sSE+I0RYyNKg6o
IE9VXowsVY7UxG5GQYsoSKKQJlFRA1Iuh1dxXYkInf2bpijeCKzIYZu8cKDx
oe4Oc7wxpi8qCaDz1Jvk8MXxm+OjhN27z8XOnEx+dBSIRIQXnc0LMtgQxrb7
iQiL3ZjtQoJ9vbZ2t+Cvpy6OyZBhoPqhf5uprshhtAPYJkZzgXKeZdkFUiv6
duC7GTosWUmDw7lJRdH0DgQvXeoaQNP0wgW4zWzlsiskAHzy5vnr8+T8e7OI
EHcjBzWB2xOqWWsZ/G5hVt4nczJQDabs3rNST+QxhopJAMSQFawG6qfgcL2A
s8+q7W6KbnsKvCUADzUqZCyQ+C4nHVnCyaS3biXoG9BF4zgUzjuRjIUbtCCQ
T8HYqHmNemuEKfpUmdJyd3VOi6HcVl5HlFgD6SviEY10XJ7RwxQ1SEDNv/zl
LxO7iCcJsNavkDjqfxFyp9w3fI+N0fE1q2kiR7Twav6IaCBja+H6bqeD1dMD
OUN4smXnjmhNKrYHyT4vyStTXKcYSGc0Q/0C/rcBGi6QW1nXboQcumQgLWbv
snj3FkDfcOBnSZIa4NrbdsBNMnkKcvLrSjCsdIPmQJgarbUx5OBVAPYyHokx
OwZhL4LD5kFxI08mc+QoRUQSJjZMxxx4aDJXgipZTREPKbSumsQePDTIJZ5U
Y16qD32IV6fqSI1fIcxEu81rPGSUGypXYzv4DtHBGa8NyZAthqDHekYwmZyp
rmWyRViDQi0aBBCmYHRb9DnTAO/Nxj2TrmpmNk0VM+/SOXb/UvRwDQKaEyzI
18PG2iCwz8/iQ2IJ6A3Vysbt2F3kGezZb7//4bsXyavvzzFBLOQ/cdTNIUJv
MG6p4WBA87zIyzutxP6jDcDi/h14DHwChJOWjmDFFIMQGNkoHlPVUeYjB0Ul
7YXC76BNXskG9LACJNiNRZFFG8RDiyoy7aaRVqCKGmlHBcqXrcaJep5rlGUH
eVqnTw+Cx5StcBBgyCNiSSWAlLCci+n2OKHP8SwPrg8im9wnnEQGkY4SyTDx
wReYusPKX6S0TFmB7dtsBPmujPP7gsWwQa0gDTZDzwPEQQyGLqn8xw1/zCkF
o74oE3Z33gbBwZa1cyawzzlMPkEz11CK6jD9RdNkPWjm74AmUG22qihDl7Gt
dt6juQfKrA0YG1XfawbHAecg586gD4xoVJtE9ah0HdDYmkMt0cegQWUAeHoL
0zDU9DCrrnc27rupcjojVHUNP1IeTTlplgcY4iFI5ZVrWG7I16gkSMw3oldM
yRL6JzWPB7ISCMCMA4FmQ94QORKJd6LDwRvRbn45J58H6p5eLyGHjDeTiQY0
YGwUIlpUzMAabxUWnFbkyHejVrNEMkQZQ4aFT5FrhKPqtsbjjzsh1L7B/CSQ
p5eXKDhB1KE10hQUHx07XCJzkACsPDFA1YsUMz/enaTTpsmLV2dJ+7YN6Q6g
0OaxK3/hYOE+E5JAtHRttnKxkXen6Q0SBRI919K0FPmW/OA9C5AZH3Aqn3yC
GUuRCSAGP2+0GW5zasEY1s1Ti2tbggsyHZCyQW4YZwmHhjqmdZINlzDAYiuR
pnbudH2DSXe9aBPiKti2nTiMXB4pIhQ1EL0dpZbL9xhCIj44lgr4ReHUKHZa
iGSiPEbSnThMt0d12toorii1uMA4RlaVomFKylJY+Q+cKKu7DeQYL119EsHV
K/GM0czcNP9j1yjm+JyGZge2ycbmaNaOrbG+sXQS8q5BO4fT/lMcL/HenEDq
0yFHF/RVQdJbDQ3c9tIwzcZ0CuZimCoLc/lAmSGmiCQAo4g7M78F1KI1oPUc
C4UYEd4RVOdorYjIIL92ZH0INlJiGfAzrmVQM/Z2z5moCQ3o6ZjfC19sNFtZ
jOM4fO+dXHrSiGyyx8ZvcmB7N+oidSVYOtW2J0WHQw52OvYlbb5vyA/Wi1Fu
ynYWJy0zPk70xcOueoDyml7hhiHqSPEbaH0jLkAkY3JLiARHU3TgA9wfhVPd
8iBK+RLFKSgAxEfIC0l/U9XB4yoRCcqPmO0bBqdMX+MwEb824v2kZXo9/7dz
GlBGQgWNPKJtMLaEikoTDT39N/kARvpvXdFiivYVYWvLHjTKMrbnJOOTJnn2
+iWZtug/6j2nqHSjXtEz9+Z5oR4MdV8QHP/Hhfz6VEWWt8w57HgAz+/P73ll
kblO2vagIpyAc3e7puPAd+BO66q6wizyIO5igMWhDcupGFsijJStsjrfdOjB
bTUYl5wW56cUE/S+oWq5jL9ncatJtyc0DNck4UnS05xMU3FTM1YGdOEMSZSc
ReTyuo3hjloYaLBJCmqUcopTIXwksQ3oyWef9k/tSfKvwUDSo5LY0QBvaWt9
5qyYPJnYRJd4wt48fgo53WHuRzABQoQqYnE8Glkh0VCjDniTTDE6nliXddFS
FEV4QNGX2PHO4R1KAL6F2zBb2Q+JMJGZxGhiNIXV53yMBTQzcrJnRZ11G0xL
5NxuFJLKPb1xINSI7tI41uL5GuPQb1n/+ZZdHA39+Kvk9Nnr5P/8r//t3crf
oaeDfnj2ejJ5SQUa+I6PhB6mS8w7YgMjXR+pq1LRQ9yUrOneAj56b3JePVEn
yxydLCOezWhlGKYeW8XIIh685yL0PUrRP6yzbTtnx+HoouABWwiR5Dz6G21/
7yns8Rc/GPEX/38Io5cFmjuIph+AH5/pCr5K3rGGz0Z33wfsvl1/9Jm8c13/
4KcS85dnr2eSJv635S574iVnXPn4gTjzS8/mfXHmk2/3eFFdB+UClHa0Z3Lj
Fp6i24sT/g7J3RSyXMU4OFKblsKwbAwfhwK44nLF7uB+dOuP1aqc55WL9s3a
pK/p6UoJtAc1P5gkk8m/coXVIeZoHX00nb8nlS+pjENPbHT1m6IZP7ivPiF3
fU9c+erTI0tEuK/QnJ+99LErT73kwlFzDxWrEN/yblAMaFgfEhkCH0T4+yKg
5GWY7+OhCob8l4Ah7FljnGR09dJWU6IssdgCCKwjJDIK30damXiLr84dWvS8
HKyEAkKT/i5mF+rm5jCacb/xfkntnEc0icMpau+Zk3VpIhEx6n5b3ThNI/e+
WApCtlY5j9VrsjxxgKc5j4jFxOpwrJ33N4oTeP5L1Lu/HQoNB1R60lqk0M+o
IrcS2suHZH8f7UlG8UkJcM7YLefSJ3M79Q9y1csw/5ncNTWyDCxAIn83x76t
QWVL9zEPozSVIGnW+kIQkzuiC2kiB2NFc2IgumvZwE8vawezUi4nmywaHiuo
bqEGDLlyu9ABIHcb2BctlkOrWEK8ZG5Cq8rWiIMzrsGiQlIyiVcYna+Sz+qc
Ww9Q0OD70pc/knNxYHvCjHcwn7dKtZSUChjpJb9HCiYDcWueCj789rfffa8O
cFqIFD5GH0rRgkf/XjuFtL7sNuoK90BEIPDpmlBiSLcsyqyqgTZCHq2UmTN0
05G2DbC8BWUkc4KuhYhkXkkWss8Cw53uOPpDoR9ExyhTmdWAeifxL3RFayKC
2T9Oavr4MI6mCYhxQEcgED4QPgPtzSCSf9mZXBTMbJZD5fx1aSjgzFBAIk2F
Jbvo4JLUFTmOrub2IPCuRh1iQgkH5oPngsertJGK5Va9oeEoFim6narYv0Os
kWIGpvSFUjpaSs9fYainWgftiKbw2SPIZ+TJLOrOEycz26RwXyThMxU5MQeQ
osskAFs0V2FVYQecDuGPGH0GxAvoJPB9RhgsP+pK4XtRjHq4DFbW1OOosoBS
6jDVL6pqJae58WKnUtwekixsUgtOC6oCb6ZaavwDUyPpK9ibED8VX7yL2eLi
SpC8GVZmY/FNgcQj6Peb6hyxAtuFYfpy5nXUhtM2pK4DNoCJlraM1KfQVF0b
YI9RgbgbxE8ct4kbe33u1lwVB4Jj3l3dxbrvDo6mubtYV5d3m027nXHiFGiJ
d4+myU8nr/m4wjhp/ba4pr5g6aK5++DBvYfze4/uP3hwJJEiRtFnr3+T/GSL
eQG9eQwYYusqFF5NBuuAfboWBECW3v3LFQiE9Kpo7r5OtwCxu+dvZvceze59
Pt/mS9RXTqvaUTlZag+DDt+0Nem76MjzPzj8SCj5hLnL4jqUgqrrnH+05F0t
rgufVIA0zf5VDa/tF+YwwHdUUndDZy1u8Y1r0zxt06imz6h6+5pd9WsbByHG
hhKHCc0lZPO2aG0pguQL++ruvlwmMO1cy2SMnQk5io4uAFut4LOwxMJTUtZE
QKk0oLZRoIA5DMdhRgQuhZKlAmsXoU+e9LW7hPk2+DRovdgGRbg0p62mcQqV
JijAJxWCGuusc1/2Q7EPhaP9TKBy1i0weyoklX1PjMgkTOD8VCBF7z9nAM+0
Tnr2LQhQjmIh+wLkdkwYK66wZKM0rmChgLLCoTH6bpCY/fnBeqZECGBRmTPv
6XmjVux9vgtXorgJFc5kQGMDCMTYhZPQA+UIMUaaMFR0zno+yBRDQQw9QjlD
5VhB/zP1bxqqjouNKFfHZCwBt6QJ8n3DMIHoCBJZH+4e42FtC2TUtSGJNAwz
MrPOK+vkGPhgYJNjPLK3DUWxfRcpCoU2Pi9BiiMpYQ1LHEx6PH6s60WiQ4aW
AnCznjZpAuXCkwIla9DW91OhNhxWPko/uWmyEuwqJHCIEmSXIFtMrxFpu2BQ
6iJJWNsmedgKClOzSsp6qsnCpOQK6sSBVhZmDo1GuH0ItKdG4hSMffi3XjEX
aTHeNyTxWu4WNY1amVDld9DEx7g9BsfBomZ7BeN7bP7oNKHEwNuZXDZQNBz0
GCjAItTpV1Tcicnkydm3b56f+LIQr0lGannamidq+sN4P5w/l8ZpTajVCW/i
mjJUqaj0UpvP0F4FR0N6m6iabYdJp8D5uno9a9Klo6YSjx8mySHrFw8fPwT9
4ihWHK3O7P0oo8c6HdMZ08YnCMogpcN8KdB8SDmW0kjdFyr0hyZRWlZYbaXe
xRNVt+GjQ5VJt+OQ8SLr4I96u0Jd8Loq8uQ/OkDqfIax2fLyiI/AaKwIu5AY
IGPp0FTU6LOTe73CYF1PxIdAJz87O/nNq+PzH958m3wtaMhQ+Qb/jVHZqoa/
sqCZeR4KP6mCbn/zS/wmEYv/htiUsdykR5pYFdr+jLrUIqYzbYk+JBX/CYNB
QBlati128dY2Rdn1zJNQK6op92WF0q2lLkiZC/UoKWVW8Eyctm4oDjhThar/
2icH0Bg0BL7A+TQ1WO3XJJ/OV/2FwMYV7nxch6QHEcQPQSt+8OjxYe8AAvwF
/AzlryNZxz953Pzm6OgogrygONWwkDndxIR4R3oUKSmgB0qmTTSPqRM8WmoJ
M31B7C1Dv4XJT5C8GWqJ53s4Bid24JB+8YNZ4NBBgLjIeY4vMhWapn1ELZQi
zpqBZJ+pxM+MnDel3KNsilJLPauKcvrYEyF+uIIya/qEcwA8Z1YtZzjkATfX
6MlNj6LEPGsHGFFKxYFlK8YBQo0FYW8ME+2yij4xgcOyVWsxmoDSUmS9sHJX
16RJmFJmKkjPwSbfcoasWS33kqE+N7HuF5JdMo2WkBw5/+4MEwGRoKuFtpCK
8L6f64EDEfuKcqOZ6nuNeDkXJhKRe/PRGJMw8dRxPgPjlD1TFL7UMkuCB96v
YZYn8tyNFPG8QpGAFVWYZ9No0kSERdYZLvWNeV/sSeLcfu+FHcSuzdYdH+RP
D3wfQFJSehiJjJO1CcS0Jvn+d5iuJvnfNtGCjE1CkgSFB9IHJriUvv5jYGtx
eAvPhnKwlKmRRsGbjPy+Dx7dmw1/xlPdgVFPfsMCcfqn+/MH88/mD39PX5yd
/Pdvk/uPPn/wxeOH9+5N5vM5/kyL+eH85Rf8D1JcDOub+D4/T4STfvOHhDYk
eYVPvvbe+28mL47Pj70Q++ZDhKHw7xE+fOSfWYbtf/1rc3zDPqjs5VrbYxgc
0viT9c4xjS92w1xxPOZuyxK7jXKEpC6Du3x5XKRuiZqGHGfaaWkilR6zm9ak
yrHBOZ5/R0fzvgl4fzj4g+ZPa/JdKN8o2pDnRXMJz5VterEVIEfN9LGhaj5G
rqhBa98MjPMN36BFhjASrWeMjFURlD5OR7JHab+IBJj5VgzyhbSTCVEHo+KN
dOmhCJjJrIwcpX8AOsyKp/953X4lqPiHYTpfEPHfc60+A8rl0bKoWL0dTSPW
qqeR2aZaCODPShG1r+Rpz0DGFdNJwfZLCo23TBa/oChX4rJfZrw0AguJ0IQw
hvTtxQDelao5gupD0u0Mc4CJ2vg7jo4GD7DPa8McwqasnyJOc4r3SAMhavkV
9akfnv3Lrm61noxGpNxjW9dURS1fGbS9MhjVNbBonUM6UUfvXsmOei9Ur1Tb
1BumNIlhuMFQRd+xB/O+MpZIR/P1qZlmkvdHV4HYE6rcggjDwqK4YH9k75ui
+eMO3so1xDcwAihW8YxvN5gAqrMNlyfBqWPbPjiQM0YPm7Ew2CFFhnzOe9Ee
9dQtWgu64dQHs7cvBCujcZ3drI7yOwF1kG4PGBNWqUkh1cx1n02uP6iiYewC
rklp9s0V5atj6MhRyEtq/birnNTJSMsJ9qB5RctDx8bZhQHGg+P9NtRiAEMK
B7H+LXgrC9jxa3l4SUwk+ll/HYhperxYHXjnm8i9xtvqcl3H44cyhDWTqPnB
h3wcKaMHLS4rcKL1utPod3AB3JLTS3F/ZtRf4yH/TzzYb5LDr8UoB7WG+qcm
CUJv3uRPe8pM9PS2h4vV01tUKvvmKrwpgNrzYvvUKEjJYCWiZEWL8CMHH8aR
zQJ678RzgtnHZp57DWgs9dyMHw37HmbCvqT1jxpspEauEIWKq2BAyZfhUdaY
waWFqFcjQ19U0klGx2XBgp3iife+RyI6G7VI3bPAQG7Z8gHiNx0KI+ndoOZq
9ojJVicryuWRGXWAxHHgT0gIAuaIsN4+5YeMiOZ3oAV4YBiIkrh5Z/Ue77T4
iuEHpfppOcj+w/lzOyktxiRX6Hgj2fJ78o+e2pBJP5Ho1nw/Pg5O+BPWMuAs
HP+NDEiBomfEPYYijOQCoXSBULoQJ6lA5/7jxw8f3b//5aN79z9/1GMQHhLy
zSAZamQ9uo+PA4PJnNo3gM+fekNt7F+i28t33K4lxhr3aPL9qkt7gQ0R2pJ6
hIIBJ83kOBTJ19CAzPAdnZkWcULqgIqndEPFw3E9vsY4tb+wd37gPIBO4uT+
8tFDSQ3gvAl9XTvgVA315fT6c1g0vkHKg2Yf9PpS8y8aheZW+35RJn7KUUWT
ujHeWECMA/RyVnwpROh2tqObJIzySVfI+Op1ysGQFhcYA6WeFxqGC4Vu0vpf
4qx1qinG1IYKm2GYxuD5VA2sjEIy4eaftHfivlnFoW1iLkmUcqlHKUU0U3O4
Artws4VZsFs3jlzJvkFkw4700Pcb9WSz3GCy0R6byl+G9J7b4BQp9NlGVjH1
7J58S3h7xn6j5DWPIbc+YST7kntjaPzPoIX4muQ6luEVIVOzpf5dU1yEJG8G
W3Jw7QqDx/dodgUBHY09brXMhtPI7FS1BOhS/DHNrhBPMrq9Yc99XpJMhsJx
EzAee3CNXX3SysVXeCjxNS68OX8hVmjXRpWvoaL79isyjhuGj7+MoAkMxsJ/
nCCxDx/dQVNtU6wnZytJeptrAblk68GCMho7d4uOnddy75Z0s+ZwO3rK+VqG
VCHUZCu3cR4UxlmASXlh5VIiFvFXgcN5deVKreEG/DI4xS1AolYygzMjI9Xc
PUbNr7m5ELU+6V2JRtDSmntzs1le2dNIgWfsGg2qtVSGvQypK0L5lJGijpP4
MjPs1EtBfGr2HOKxC+psjReCaferYsNr7qjsH8me4sdpVlcNl3D3rzhxXqIc
N6O7TOig8Oz79JZ6Ws6F2phf8T1JNgfVSgmEsJCcXvUTPBBhhn5seRCEvcIe
olxGSG2MCabiMuqvSxJIpQzkhBt8hNnlFi1c8PtMa3wE2kyAf6a4HEakJfCZ
4vEUoOvemd9RHmHm4q98wmGUr9WnS4/8MM7zarOgQPjoCii+rnm8PBs/xPit
lSe9mwURU0bSWfqHTt2YqUMp9gLBQayQ0kSB0FqE3lci40n9FRT29jLNYSBq
874idEaXOxncd8CldzBvETDYu6w57NXLl9X4NWIFtWahZluDaeRuFUGnAZ7D
Cl4DnYnsP7G9qk/08la80+n1ycmR5nykdYPpgCu+Z+iyrOjmpM0GeOudX99B
/aThxD1RJQYVRZxXzOJU4jxk4NDSvXPg3v0Hnz189PjzL740f52niyy/ebv7
0yT87Wsikm+CtUyye9zPdCqlwuchM5g0ALkGIL7OYL+7SvM1xOA7tI6doyS+
tHGkya7FU4rItU1w9fS/3ndfpmA1Odbj5aD7hb45UBXvRjoGNpyfRe35sUNl
ebn22Z/XPXtUWiza7tpyj1bsPaOMg8SLJV0EdxZF9ZNSkLeIBWj8z0wFgm+H
wL4w+e2gyA+M52sO9q0QEj5gP3C8A+YCoZdF2tqfkAYaEvaVcQn32eGtbGb8
5VGOqM4weoNpRToYCqmkVLVX42VU23Unjm0hlaV4yt+DZN7tQxN7EY8qthXp
nGKbtzlKPIyfjpGbNwCfy4WPrIkweExXW3XDUN/PTNl57yZJcRnn7IGSnHWb
B2V6Y/a9P6jxvY4CDkbMUI5u4dPSbR5ElVENQh4aKvdaWWgHi6iJ400a0krz
UCEQZ1sW0q8x8ptRVNtkfEj+D98/5tc+8knITQvEJ1pFGxoP+bipXpDhQx/T
pAqZGfr6oLkwpjttuKAEPddaFmFLS2rQgSnNly47qMhGRz7Jp9i1TZHrFTSk
pYlGFKWQHof+eHhMtDMGNLVZplv0TANwQR/b1kOjUAfJdeO9Z8LWKHKy9Bfi
FFI+xA95OXLBp/aMa7Spzpyu8SMwyTV+nOnZbfspa3eaSJr3m44ZDZnDRj5Q
wlTRz5T0ke9+j+2oYQ/fDOFa1JXQexaiYz4tsJkzCXpi4ntP+j0Ow7UmQpRd
E+4S0Zf6sgUV1mEDrLm/WGYLzGjtL/JlrWfwOl3lyLFBUYucoVXbar2XfC2a
PDe+84hbla4ZGlBC6b5MxnfZtD2gyV0i9dFW8+ynLmu5p+v36MBSBK/EpqED
ISe52eHl7lExSS+79ZruevFeJ5trHgUwTcUqiiElUNqxEFpRUyRe7t02kDWg
l0PmuGHHFTIIsWVHiNSVFDQXoGwk4YYKHokxPVPGdLxGO7FdbRjJuBkqh3e9
Wy/Vd0aiwHIDWJwoT/zwR9VXJMMhdyKY+brmZoTz9+6MRQ8Yqfwuv5RmV9Ht
ZgX5CovaesbCNerohaDvwqTayo1btmgnNDEt+WWWCzV3foL/K68aKiiTkC+M
EHN2Nsakv5PeGWgSNIZXyvDVoOur2IS1F34McvRH7gDizTE/YVma8lXyBZWV
MrgPL/KvgaV88+rru/jHRTJN9JfZffntyCL3II3CM+JghfbH7HXe2x/Oucjv
xF+GrBW22rDNG+0qiHzU6BgmlBQpHNq3FZUkS79KUXExB56vV+j1bo2y6mq5
O42dhqlNWdALSrmjdjgAbV8oaht72fJL21PNdwGygRvsDqS9hijDbxRe/s4v
zTnSax58G7yQKTIK4RgbBketBnyNdmajJbicEqFu9MPBVxZpHnikoZSAZYya
8PxAi8vhkbQ1ppbh8LSk6ypkKLOkyeQ7OlSmK9tml3p1+iH8NSeGSSEkuB9A
jDfmnpRwGwqmA+MLfJX9NQV0tHCZ/5VcOSf3LjGi8bVu9j47IkySQPuU1nOL
cJye36iHjceh1QWCt3ffzfx9N8PkgqkmgvQyfwdtxBqxx9Y1jA+isysNjcpW
5Nm22nZrTY+9tVTvZe+sCbLmhwcHPVpjNxlf2O4MTHkJIVFWuZ+QECebeBBh
e4ZYhWIEA+sTPYX4yqCEN3r/qM9TdH7qWzyMg9vH9ta41Vi/Nvuy162PX70I
l3CHW0PILwVChPXVDQkZZmRTA53nBuOI2yqr+94zk2LJNzXZcXw3Zl83VNjL
X6YWAVoKsE0NPtDLpitjmKv3jrSHwHd8tlekNKOBRVWP4W6z4fHoSYMhvUq3
jRZZSRk6XRkrVVTEhH/K63TZhqJbrA4l/cjV88K1S6q/zavsLr03u+qAy9fp
zW6WXxWbGSUVoxZx9yhRlfwnYCwfOx6GE2ZUqHH36Ci0EcedFuaqzX5qO+b8
oQWeN3p/DeKi5XlqHMotOZE87mOFNuLGBvx8bNOPvO0GTvKNd/yL73Nv/XAv
fz4B043NVTT50quQUkbrVBrelwoG57uSq7+0YBjF6Vt2kcLMmiafBxOLjbn9
upGpQJGBewKnx6TY0e9T28BQuCwpaqglHcKiJSfSlK/EQjhWk9Q5Ja+rKj1Y
ik+50uVEfTkl3VN6yfc8usZxbvKUqeDR60U7qURqeV/OZpoa/7i4j0nRQvMt
iiITVKdS49gX08GoNd+bzvCN9k+1M8auFr3eyOY4eiD2GzEEgRDyZBCx5ewJ
BKHj7PuuVxUzSjdmV4LoiZ5Pln1/Ds7Kk8aDIRGmjaoBQ5becAVlTmayd0Cw
X5ZVkLT1Hln3lhMQ1mv+l5POmqYnwj5N0A8u/+bBGTPG3cy4rmuABMUEfCNu
q/fu+VBcmlIc6dtim8m3PSkxpzsPbQHW5bpa9CA1tW4ttJfC5bkCKWpLodL1
fHwU1vDpIlXKrkeGoBL1TK+KNdoiQ111Rr1GJ9JcvCC8CNQkM/dfmFJaAw4y
GMATSX+Mnig+uW0Bhp4F1OGNbO2oB0a4/NvvDbampgBn7gYXBNsCdkTqB7Dg
Gg1KLdDG9MYsaih5xTPpE6mM4txdfGT0HCkPhh9NYBML98UHrguN++6zoebI
yPbSz9zO4HkiewHocga8eG5GGXMxUc17rlp/O5LegCCym+/bEAdahffRaAyQ
K5nEheFnFCkgUxK2hiUowBkCoJKzw1dPSWDhMM1YL/nrHcL7IAOeKJLKKl23
zS0fBBs1qvEPNjCfk4G6WUxRDvAjhJO1ARAjG4sm9EuZwonCl21k1H2qo/t5
0EHDDQ53JTzDDAxdZnIRlk7pWbyoEDWRxzIEwZneC4yS8VpCdOgKokhZMAyt
gNI+el4QevTRIhq9u3GoLuA4o/UTemNun1MfcXZEi/CLSkuWfFUGuUX8EgOZ
8XEFuuL0gK3fpCEwEhkeqPq5kT5bzsswJvHJ0iIF6LoznIg8fX4F/VmZ0uUi
dSml1lycg2a7nMlpHiRjoslvUQZAvYD/5kXXbTw+NK2/vVs9YDjZ9HQhZcyw
3MDqGleXYmkPku8iCpJeUNUqajNRp+neHUDaI/pUe4A+Q7u/54yNO1Zw0Esu
HTTr8W1EOXZDuNNrlTNk30qmnPQkV9UOCwuoURzIaV+4svEF2qgiSAeUAEHf
7zT0HjHgIt8558ttAXVWOwGwub3Z5zKGigupKknbKDsr7sQi04VYNHvRo8s0
6iAj/a940zJNXmKyDXvEuJVX7rvd2LulqSq8km4jqDcP1tqHgKRPaCYI5UDx
/VN7ljTaV8g2EpIidnT0+0T28RgB37Pe8nXcmKItNKLXuGi2pNuzFO4lpcqT
kIiFXbBRxUHEEsiRHy2OLHFzDlZjKe4bHGbYeFGuIQlsQfEh+BJ8xx4KWvVR
PNzvGRbF++RrkYYYIXPyoeOLYBqT2emTe1qJ9wSM5RS/Sm9JIktVRvDHYFRj
CdJE0X5RRBc7c3mUKDIAQH/Phd0gRc89mRtYeDvTBtkaXkbAI7PnxW44g+9T
FY8tl/uN3YdwC4uNqj6E04526I8TCpgNFTQlperWdMvVSMv+woeJb1KfEeez
J+Qiv9JqOKSCeyMvym0Ytug/j2Jg6Cd2GhoMpU3kovJhr7s02uzZWKjf1Gjy
qHLyofAdgGLu/QsXDJ0TFlPLbOAD2IfZf2LLrKRmZUX7jsqsHbKmcOUIiOZu
e1mnuYvniEY2/UApmUDRImK2lANjCzAPmU96QOWGNQ6aFMuYUVj6KJlrdPL2
2xEUljH8KNHQJPL6++pxkNmz6u1M07eplYc05tTgWxrPxcGwVC5Aa/YVZmq3
4OggZE0UL2xWcqek13ENz9RW27+oI/tTk4AxUiIi6c9kOXxoiUjUZ37fQB9x
W8KgnGfP2L+szCWq9vmKYzj0939QEH70ZQofCZ/P3gs+/zwfe9NzZHaMhICC
0TAwJ2MdmP2cPZNBeHHfHE4oVDEKgmmyZ81R5zH74PfzmMOOtJk/Ru9r/JNt
PB/Jhl4dfjJoxa0W87AnvW2JoSkPvo0wZ1r5ewoa55PVlThyt8Zohb8Xz2Zb
wHLHWpd/amIR5WJILzbT55MSzP5591cKgpY03nH9E1QIvjdNRNfEvpMsBlby
LYQx3PN0iIVTk3xV7z6KUKT4KvkqGV6nYm7roAvEEFslp/War9Ag3Z0RWFQ8
TrYkm6iStyK68dGPfYg8/ObdOMz4g0rwX6Wm9nYu/nerY31hunci2lAvGQ6+
ttLa472QmL39nx6DvbtYcU5xDVHsN5pTOHIViKqfqgWrpbqxrWN6quuxXops
zAQ1NOKcycY4mLyaTC4Ucnyix2NddbmGm2uf/jgPZgFJAGwWlEpPImTfb6mQ
BcN9eHgJ9zIaOb5Q8ujv2U2VoOzlp1QtzKWGvuoSZtiznFDq1mJsVIuncHEn
r2/7kK3Lgkt0fa0PX65oIQ/mPsId34par6fhGjUAyfgkU14Uegze8f0elJ8C
I5IA5ri19+lL6rdLIf73ZQTjW/+FzIAXoqLxnZwBnfNPuAMhkCe9OsJQmX/w
EdN5kCO0lPQJTLo6pYyPoPUNUj+n1j3wbvm4kARWy2FuxIEXh+SHyyV3Iq9I
Eq4oJkZKlETgt4Vc2xlH6nzyo4Qg6JJeJFnuv7dwodJ0n5fR54x7TrIbeueQ
24UQwHQvEeyTyb5vF9OsT2tRJyRTIFUWljBDoxeQWu5PfoFUeq2FaI+qk4vd
mDTm/GYm/x7Xk95pXLIhwNZ+hclPw7Fu2R3w5dEPPhRMmAiNF3h4/TmnBthZ
GyKKI/nxHNEvfWq2NJoanrD0/tMbyNhfpaFjII9l51PGpFJioZn7Wmqv2tLC
YZKSXcVe1uhj1bQpuX6p1QSZW+gLg/2x6B6IYTr5DQqGnzRU+1FQP272Cg/K
7jXZhnIZeKFWjlb/eNEkEONYVrgKy8cRqKALH8Wexp4DjRznCNf3s+eEcD3n
8TnhAy9xXFHim8F7C07TY1Q3uf1Ggr+rubZRIP0VbLUPVYVH1/KpFOGgq/x1
HRlTSZYY8xsL4WJFVEENWOjihOh9es9Xm3yo8afDzGwu9ccYgIL9N1iWv3Br
agwYEgc00ySKyUU1YHLduw8LUjmNL34c5vH1aA/29+e9++tjyM/Elo/NBRQ+
ZgjsmYrC1iYy3Ehbnjg83LWaBxiOYhdTvy9uBwz0CzHMYeSUnowf04efh8Qr
m540o8T/jwT5SKC6BCE4AveffWzCGmfcHumdDNVxwWN8nVeIPHBCHZXM9r1Y
UrD199bYubPGX01dj2qUQ2Ey/fhrVEt+XeSfVqU/NoWbhEDTT6D8GnG5N7lS
+87rNTUmA6YwQfwP1KMjSN2qobwJiw7dXBrf7dcs1hS2ju1FL+aI22JwDnjY
E0NKIerrD9lKIT2yCQkuXLOaAmHHLQeqmlv8sGkjN389/OLLn3/mEFyofjT1
6DhMdGvYP//7Zf/VYPQWdZQd71Fkb64bn0cIXuwpCmx6BZJU3ej7074kNq+z
TrWV8d1eMrboNMREKpsdRajq9etU8EgStI9J4oUkQs4/CDFcSrTyGdF2YsQy
LbUgKkix5wBNEfd5I6JAg1sapokgMwXo+yvOQZvm+yXk+iz3FkzfRoLIPu+Z
aOp1XVyn8P1z0c5SydOga1BhZUU7+uzk+NXx4PfzqHcaZxDxm9yYv8Eb0EBp
n81mdCcjjXScXYH0XLv8kmpfcJS0vAKTqOJS7mc17BtW/l2FFZn/tVqVyZt5
8h1Y8SVA+rSra2y8M09+p6U20+TbTVp2oLqcZSvgAhmnoj2r8ZLFV2mpXabA
KNeZHSeuO5fjsmCF/xdZbdTi9b4AAA==

-->

</rfc>
