<?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.1 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-art-tigress-03" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.1 -->
  <front>
    <title abbrev="Tigress">Transfer Digital Credentials Securely</title>
    <seriesInfo name="Internet-Draft" value="draft-art-tigress-03"/>
    <author initials="D." surname="Vinokurov" fullname="Dmitry Vinokurov">
      <organization>Apple Inc</organization>
      <address>
        <email>dvinokurov@apple.com</email>
      </address>
    </author>
    <author initials="Y." surname="Karandikar" fullname="Yogesh Karandikar">
      <organization>Apple Inc</organization>
      <address>
        <email>ykarandikar@apple.com</email>
      </address>
    </author>
    <author initials="M." surname="Lerch" fullname="Matthias Lerch">
      <organization>Apple Inc</organization>
      <address>
        <email>mlerch@apple.com</email>
      </address>
    </author>
    <author initials="A." surname="Pelletier" fullname="Alex Pelletier">
      <organization>Apple Inc</organization>
      <address>
        <email>a_pelletier@apple.com</email>
      </address>
    </author>
    <author initials="N." surname="Sha" fullname="Nick Sha">
      <organization>Alphabet Inc</organization>
      <address>
        <email>nicksha@google.com</email>
      </address>
    </author>
    <date year="2023" month="October" day="09"/>
    <area>Applications and Real-Time</area>
    <workgroup>Transfer dIGital cREdentialS Securely</workgroup>
    <keyword>tigress</keyword>
    <keyword>requirements</keyword>
    <abstract>
      <?line 95?>

<t>Digital Credentials allow users to access Homes, Cars or Hotels using their mobile devices. Once a user has a Credential on a device, sharing it to others is a natural use case. This document describes a sharing flow that allows convenient and seamless user experience, similar to sharing other digital assets like photos or documents. The sharing process should be secure and private. This document also defines a new transport to meet unique requirements of sharing a Credential.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://datatracker.ietf.org/doc/draft-art-tigress/"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-art-tigress/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Transfer dIGital cREdentialS Securely Working Group mailing list (<eref target="mailto:tigress@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/tigress/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/tigress/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/dimmyvi/tigress"/>.</t>
    </note>
  </front>
  <middle>
    <?line 99?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Mobile devices with ever increasing computational power and security capabilities are enabling various use cases. One such category includes use of mobile devices to gain access to a property that a user owns or rents or is granted access to. The cryptographic material and other data required to enable this use case is termed as Digital Credential. The process of getting a Digital Credential on a mobile device is termed as Provisioning.</t>
      <t>Based on type of property, various public or proprietary standards govern details of Digital Credentials used to access them. These sets of standards are termed as Verticals. The details include policies, mechanism and practices to create, maintain and use Digital Credentials and vary considerably across Verticals.</t>
      <t>Once a user has a Digital Credential for some Vertical provisioned on their mobile device, next natural use case is to share it with others. Sharing a Credential should feel like a natural extension of regular communication methods (like instant messaging, sms, email). The user experience of sharing a Credential should be intuitive, similar to sharing other digital assets like photos or documents. The sharing process should be secure and privacy preserving.</t>
      <t>Credentials pose two requirements that differ from sharing other digital assets. The Initiator and Recipient devices may need to communicate back and forth to get the necessary Provisioning Information. The Provisioning information exchange must be limited to Initiator device and the first Recipient device to claim the information.</t>
      <t>To achieve these goals, a new transport is necessary. This document specifies an Application Programming Interface(API) for a transport protocol built using standard HTTP [RFC9110] to create such a transport termed as Relay Server. The document also defines data in JSON standard [RFC8259] to enable a uniform user experience for securely sharing Digital Credentials of various types.</t>
    </section>
    <section anchor="conventions-definitions">
      <name>Conventions &amp; Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<section anchor="general-terms">
        <name>General Terms</name>
        <ul spacing="normal">
          <li>
            <t>Digital Credential (or simply Credential) - Cryptographic material and other data used to authorize User with an access point. The cryptographic material can also be used for mutual authentication between user device and access point.</t>
          </li>
          <li>
            <t>Digital Credential Vertical (or simply Vertical) - The public or proprietary standards that that define details of Digital Credentials for type of property accessed. The details include policy, process and mechanism to create, maintain and use Digital Credentials in the given Vertical.</t>
          </li>
          <li>
            <t>Provisioning - A process of adding a new Digital Credential to the device.</t>
          </li>
          <li>
            <t>Provisioning Entity - An entity that facilitates creation, update and termination (Lifecycle Management) of the Credential. Based on Vertical, the role of Provisioning Entity may be played by various actors in various stages of Credential lifecycle.</t>
          </li>
          <li>
            <t>Provisioning Information - data transferred from Initiator to Recipient that is both necessary and sufficient for the Recipient to Provision a Credential.</t>
          </li>
          <li>
            <t>Initiator - User and their device initiating a transfer of Provisioning Information to a Recipient.</t>
          </li>
          <li>
            <t>Recipient - User and their device that receives Provisioning Information and uses it to provision a new Credential.</t>
          </li>
          <li>
            <t>Relay Server - an intermediary server that provides a standardized and platform-independent way of transferring Provisioning Information between Initiator and Recipient, acting as a temporary store and forward service.</t>
          </li>
          <li>
            <t>Secret - a symmetric encryption key shared between an Initiator and Recipient device. It is used to encrypt Provisioning Information stored on the Relay server.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="overview-of-sharing-process">
      <name>Overview of Sharing Process</name>
      <section anchor="some-example-use-cases">
        <name>Some Example Use Cases</name>
        <ul spacing="normal">
          <li>
            <t>Amit owns a car that supports Digital Credentials. Being a tech enthusiast, he has the Credential provisioned on his mobile device. Amit can now use his mobile device to lock/unlock and operate his car. One Monday he is out of town and realizes that his car needs to be moved for street cleaning. He asks his neighbor Bob for help via their favorite instant messaging method. As Bob agrees, Amit shares the Digital Credential to Bob via the next instant message. Bob accepts the Credential and uses his mobile device to unlock Amit's car and drive it to the other side of street.</t>
          </li>
          <li>
            <t>Alice booked a room at a hotel that supports Digital Credentials. Being a frequent traveller, she has the Digital Credential provisioned on her mobile device. As her flight gets delayed, she realizes that her partner Bakari will reach the hotel first. So she shares the Digital Credential with him over email. Bakari sees the email after his flight lands and he accepts the shared Credential. On his arrival to the hotel, Bakari is able to access common areas and their room using his mobile device.</t>
          </li>
        </ul>
      </section>
      <section anchor="credential-sharing-flow">
        <name>Credential Sharing Flow</name>
        <t>A simplified sharing flow is shown in the sequence diagram below. Initiator (User) uses their device to share a Credential over their preferred communication method. Recipient User accepts the Credential share invitation. Then the two devices go back and forth as necessary to transfer Provisioning Information. After the Provisioning Information transfer is complete Recipient device gets the Credential Provisioned.</t>
        <artset>
          <artwork type="svg"><svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" height="529px" preserveAspectRatio="none" version="1.1" viewBox="0 0 926 529" width="926px">
              <defs/>
              <g>
                <rect fill="none" height="136.9966" width="608" x="169.5" y="293.6099" stroke="#000000" stroke-width="1.5"/>
                <line x1="54" x2="54" y1="82.0146" y2="447.6064" stroke="black" stroke-width="0.5"/>
                <line x1="238.5" x2="238.5" y1="82.0146" y2="447.6064" stroke="black" stroke-width="0.5"/>
                <line x1="468" x2="468" y1="82.0146" y2="447.6064" stroke="black" stroke-width="0.5"/>
                <line x1="703.5" x2="703.5" y1="82.0146" y2="447.6064" stroke="black" stroke-width="0.5"/>
                <line x1="872" x2="872" y1="82.0146" y2="447.6064" stroke="black" stroke-width="0.5"/>
                <text fill="black" font-family="sans-serif" font-size="14" x="5" y="79.0752">Initiator User</text>
                <ellipse cx="54" cy="13.5" fill="white" rx="8" ry="8" stroke="black" stroke-width="0.5"/>
                <path d="M54,21.5 L54,48.5 M41,29.5 L67,29.5 M54,48.5 L41,63.5 M54,48.5 L67,63.5 " fill="none" stroke="black" stroke-width="0.5"/>
                <text fill="black" font-family="sans-serif" font-size="14" x="5" y="460.6816">Initiator User</text>
                <ellipse cx="54" cy="472.1211" fill="white" rx="8" ry="8" stroke="black" stroke-width="0.5"/>
                <path d="M54,480.1211 L54,507.1211 M41,488.1211 L67,488.1211 M54,507.1211 L41,522.1211 M54,507.1211 L67,522.1211 " fill="none" stroke="black" stroke-width="0.5"/>
                <rect fill="white" height="31.0146" rx="2.5" ry="2.5" width="119" x="179.5" y="50" stroke="black" stroke-width="0.5"/>
                <text fill="black" font-family="sans-serif" font-size="14" x="186.5" y="71.0752">Initiator Device</text>
                <rect fill="white" height="31.0146" rx="2.5" ry="2.5" width="119" x="179.5" y="446.6064" stroke="black" stroke-width="0.5"/>
                <text fill="black" font-family="sans-serif" font-size="14" x="186.5" y="467.6816">Initiator Device</text>
                <rect fill="white" height="31.0146" rx="2.5" ry="2.5" width="102" x="417" y="50" stroke="black" stroke-width="0.5"/>
                <text fill="black" font-family="sans-serif" font-size="14" x="424" y="71.0752">Relay Server</text>
                <rect fill="white" height="31.0146" rx="2.5" ry="2.5" width="102" x="417" y="446.6064" stroke="black" stroke-width="0.5"/>
                <text fill="black" font-family="sans-serif" font-size="14" x="424" y="467.6816">Relay Server</text>
                <rect fill="white" height="31.0146" rx="2.5" ry="2.5" width="127" x="640.5" y="50" stroke="black" stroke-width="0.5"/>
                <text fill="black" font-family="sans-serif" font-size="14" x="647.5" y="71.0752">Recipient Device</text>
                <rect fill="white" height="31.0146" rx="2.5" ry="2.5" width="127" x="640.5" y="446.6064" stroke="black" stroke-width="0.5"/>
                <text fill="black" font-family="sans-serif" font-size="14" x="647.5" y="467.6816">Recipient Device</text>
                <text fill="black" font-family="sans-serif" font-size="14" x="819" y="79.0752">Recipient User</text>
                <ellipse cx="872" cy="13.5" fill="white" rx="8" ry="8" stroke="black" stroke-width="0.5"/>
                <path d="M872,21.5 L872,48.5 M859,29.5 L885,29.5 M872,48.5 L859,63.5 M872,48.5 L885,63.5 " fill="none" stroke="black" stroke-width="0.5"/>
                <text fill="black" font-family="sans-serif" font-size="14" x="819" y="460.6816">Recipient User</text>
                <ellipse cx="872" cy="472.1211" fill="white" rx="8" ry="8" stroke="black" stroke-width="0.5"/>
                <path d="M872,480.1211 L872,507.1211 M859,488.1211 L885,488.1211 M872,507.1211 L859,522.1211 M872,507.1211 L885,522.1211 " fill="none" stroke="black" stroke-width="0.5"/>
                <polygon fill="black" points="227,109.814,237,113.814,227,117.814,231,113.814" stroke="black" stroke-width="1.0"/>
                <line x1="54" x2="233" y1="113.814" y2="113.814" stroke="black" stroke-width="1.0"/>
                <text fill="black" font-family="sans-serif" font-size="13" x="61" y="109.0845">Initiate Credential Share</text>
                <polygon fill="black" points="456,139.6133,466,143.6133,456,147.6133,460,143.6133" stroke="black" stroke-width="1.0"/>
                <line x1="239" x2="462" y1="143.6133" y2="143.6133" stroke="black" stroke-width="1.0"/>
                <text fill="black" font-family="sans-serif" font-size="13" x="246" y="138.8838">upload Provisioning Information</text>
                <polygon fill="black" points="692,185.2119,702,189.2119,692,193.2119,696,189.2119" stroke="black" stroke-width="1.0"/>
                <line x1="239" x2="698" y1="189.2119" y2="189.2119" stroke="black" stroke-width="1.0"/>
                <text fill="black" font-family="sans-serif" font-size="13" x="246" y="168.6831">Invitation to accept Credential</text>
                <text fill="black" font-family="sans-serif" font-size="13" x="251" y="184.4824">over IM, sms, email etc</text>
                <polygon fill="black" points="715,215.0112,705,219.0112,715,223.0112,711,219.0112" stroke="black" stroke-width="1.0"/>
                <line x1="709" x2="871" y1="219.0112" y2="219.0112" stroke="black" stroke-width="1.0"/>
                <text fill="black" font-family="sans-serif" font-size="13" x="721" y="214.2817">accept the Credential</text>
                <polygon fill="black" points="479,244.8105,469,248.8105,479,252.8105,475,248.8105" stroke="black" stroke-width="1.0"/>
                <line x1="473" x2="703" y1="248.8105" y2="248.8105" stroke="black" stroke-width="1.0"/>
                <text fill="black" font-family="sans-serif" font-size="13" x="485" y="244.0811">request Provisioning Information</text>
                <polygon fill="black" points="692,274.6099,702,278.6099,692,282.6099,696,278.6099" stroke="black" stroke-width="1.0"/>
                <line x1="468" x2="698" y1="278.6099" y2="278.6099" stroke="black" stroke-width="1.0"/>
                <text fill="black" font-family="sans-serif" font-size="13" x="475" y="273.8804">deliver Provisioning Information</text>
                <path d="M169.5,293.6099 L245.5,293.6099 L245.5,301.4092 L235.5,311.4092 L169.5,311.4092 L169.5,293.6099 " fill="white" stroke="#000000" stroke-width="1.5"/>
                <rect fill="none" height="136.9966" width="608" x="169.5" y="293.6099" stroke="#000000" stroke-width="1.5"/>
                <text fill="black" font-family="sans-serif" font-size="13" font-weight="bold" x="184.5" y="307.6797">loop</text>
                <text fill="black" font-family="sans-serif" font-size="11" font-weight="bold" x="260.5" y="306.6689">[Additional Data if Required]</text>
                <polygon fill="black" points="479,329.2085,469,333.2085,479,337.2085,475,333.2085" stroke="black" stroke-width="1.0"/>
                <line x1="473" x2="703" y1="333.2085" y2="333.2085" stroke="black" stroke-width="1.0"/>
                <text fill="black" font-family="sans-serif" font-size="13" x="485" y="328.479">additional data request</text>
                <polygon fill="black" points="250,359.0078,240,363.0078,250,367.0078,246,363.0078" stroke="black" stroke-width="1.0"/>
                <line x1="244" x2="467" y1="363.0078" y2="363.0078" stroke="black" stroke-width="1.0"/>
                <text fill="black" font-family="sans-serif" font-size="13" x="256" y="358.2783">Forward request</text>
                <polygon fill="black" points="456,388.8071,466,392.8071,456,396.8071,460,392.8071" stroke="black" stroke-width="1.0"/>
                <line x1="239" x2="462" y1="392.8071" y2="392.8071" stroke="black" stroke-width="1.0"/>
                <text fill="black" font-family="sans-serif" font-size="13" x="246" y="388.0776">additional data response</text>
                <polygon fill="black" points="692,418.6064,702,422.6064,692,426.6064,696,422.6064" stroke="black" stroke-width="1.0"/>
                <line x1="468" x2="698" y1="422.6064" y2="422.6064" stroke="black" stroke-width="1.0"/>
                <text fill="black" font-family="sans-serif" font-size="13" x="475" y="417.877">forward response</text>
                <!--SRC=[VP3FQiCm38VlVWhHS_S2EGp6mY27GR7PRHTXAwl0jJFPpTZRpqxpRuFk9bkVVlfij3aA7Bh0cR6MRuda09Y0ozM99CMW1fJCbWSCUO-sDBAb2UxQtv0cZzzWICOvJPk_GAcOIhbBqQt2cy_MNds4xAoZDZLuU2ox6vYb29w5N1bZz63EAAIwjZBQD70TV4G79uaZ9uw1mqUPwwDSC9VZGavf8-Vf4d84j9Q6l4j-3n3Bkw1xFKAwf2FG1Ta3PQjMoLiKDCjqFk_Tb5wjX3wlbF9zBMqMBKUUwzwxg8znW2Vdk9xA3xIO4RW7NNPmMQu0jiMuSQvoiqXbpFAjBr6-KDokr_qpduOO4gq1LRbV0-Oc1QT-0000]-->
  </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[            ┌─┐                                                                                                                      ┌─┐      
            ║"│                                                                                                                      ║"│      
            └┬┘                                                                                                                      └┬┘      
            ┌┼┐                                                                                                                      ┌┼┐      
             │                 ┌────────────────┐                 ┌────────────┐                  ┌────────────────┐                  │       
            ┌┴┐                │Initiator Device│                 │Relay Server│                  │Recipient Device│                 ┌┴┐      
      Initiator User           └───────┬────────┘                 └─────┬──────┘                  └───────┬────────┘           Recipient User 
            │ Initiate Credential Share│                                │                                 │                          │        
            │ ─────────────────────────>                                │                                 │                          │        
            │                          │                                │                                 │                          │        
            │                          │ upload Provisioning Information│                                 │                          │        
            │                          │ ───────────────────────────────>                                 │                          │        
            │                          │                                │                                 │                          │        
            │                          │                  Invitation to accept Credential                 │                          │        
            │                          │                   over IM, sms, email etc                        │                          │        
            │                          │ ─────────────────────────────────────────────────────────────────>                          │        
            │                          │                                │                                 │                          │        
            │                          │                                │                                 │   accept the Credential  │        
            │                          │                                │                                 │ <─────────────────────────        
            │                          │                                │                                 │                          │        
            │                          │                                │ request Provisioning Information│                          │        
            │                          │                                │ <────────────────────────────────                          │        
            │                          │                                │                                 │                          │        
            │                          │                                │ deliver Provisioning Information│                          │        
            │                          │                                │ ────────────────────────────────>                          │        
            │                          │                                │                                 │                          │        
            │                          │                                │                                 │                          │        
            │        ╔═══════╤═════════╪════════════════════════════════╪═════════════════════════════════╪══════════════════╗       │        
            │        ║ LOOP  │  Additional Data if Required             │                                 │                  ║       │        
            │        ╟───────┘         │                                │                                 │                  ║       │        
            │        ║                 │                                │     additional data request     │                  ║       │        
            │        ║                 │                                │ <────────────────────────────────                  ║       │        
            │        ║                 │                                │                                 │                  ║       │        
            │        ║                 │         Forward request        │                                 │                  ║       │        
            │        ║                 │ <───────────────────────────────                                 │                  ║       │        
            │        ║                 │                                │                                 │                  ║       │        
            │        ║                 │    additional data response    │                                 │                  ║       │        
            │        ║                 │ ───────────────────────────────>                                 │                  ║       │        
            │        ║                 │                                │                                 │                  ║       │        
            │        ║                 │                                │         forward response        │                  ║       │        
            │        ║                 │                                │ ────────────────────────────────>                  ║       │        
            │        ╚═════════════════╪════════════════════════════════╪═════════════════════════════════╪══════════════════╝       │        
      Initiator User           ┌───────┴────────┐                 ┌─────┴──────┐                  ┌───────┴────────┐           Recipient User 
            ┌─┐                │Initiator Device│                 │Relay Server│                  │Recipient Device│                 ┌─┐      
            ║"│                └────────────────┘                 └────────────┘                  └────────────────┘                 ║"│      
            └┬┘                                                                                                                      └┬┘      
            ┌┼┐                                                                                                                      ┌┼┐      
             │                                                                                                                        │       
            ┌┴┐                                                                                                                      ┌┴┐      
]]></artwork>
        </artset>
      </section>
      <section anchor="things-to-note">
        <name>Things to note</name>
        <ul spacing="normal">
          <li>
            <t>Initiator User and Recipient user may not be online at the same time.</t>
          </li>
          <li>
            <t>Users can pick any communication method for delivering invitation. Most communication methods have a goal to provide secure and private communication, but those properties can be taken for granted.</t>
          </li>
          <li>
            <t>Once a Recipient User accepts the Invitation from a device, only that Recipient device <bcp14>SHALL</bcp14> get the Provisioning Information.</t>
          </li>
          <li>
            <t>Verticals may define a second factor to authenticate a Digital Credential Provisioned via sharing. The mechanisms and policies around the second factor are Vertical dependent and out of scope of this design.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="design-details">
      <name>Design Details</name>
      <ul spacing="normal">
        <li>
          <t>Initiator device composes Provisioning Information and encrypts it with a Secret before storing it in a mailbox on Relay Server</t>
        </li>
        <li>
          <t>Initiator Device calls CreateMailbox API endpoint on a Relay server in order to create a mailbox. A unique Mailbox Identifier is generated by the Relay server using a good source of entropy (preferably hardware-based entropy).</t>
        </li>
        <li>
          <t>Initiator device generates a unique token - an Initiator Device Claim - and stores it to the mailbox. Device Claim allows the Initiator Device presenting it to read and write data to / from the mailbox, thus binding it to the mailbox.</t>
        </li>
        <li>
          <t>A mailbox has limited lifetime configured with mandatory "expiration" parameter in mailboxConfiguration. When expired, the mailbox <bcp14>SHALL</bcp14> be deleted - refer to DeleteMailbox endpoint.  Relay server <bcp14>SHALL</bcp14> be responsible to periodically check for mailboxes that are past the expiration time and delete them.</t>
        </li>
        <li>
          <t>Relay server builds a unique URL link to a mailbox (for example, “https://relayserver.example.com/v1/m/1234567890”) and returns it to the Initiator Device. This link is sent as invitation to Recipient Device over communication method preferred by users.</t>
        </li>
        <li>
          <t>Recipient Device, having obtained both the URL link and the Secret, is ready to read the mailbox upon user action. It generates a unique token - a Recipient Device Claim - and presents it to the Relay server to read the mailbox. The Recipient Device Claim binds the Recipient device to the mailbox.</t>
        </li>
        <li>
          <t>Relay server only allows bound devices to read or write data to the mailbox or to delete the mailbox. Note that a Relay Server may host multiple mailboxes at the same time, each bound to various pairs of Initiator and Recipient Devices. Relay Server <bcp14>SHALL</bcp14> not be able to relate the devices across various mailboxes.</t>
        </li>
        <li>
          <t>Initiator Device or Recipient Device may delete the mailbox using the DeleteMailbox API call.</t>
        </li>
        <li>
          <t>Initiator and Recipient Devices can also deposit an optional notification token for the mailbox with the Relay Server. Relay Server can notify Initiator and Recipient devices when other side has deposited data in mailbox that is ready to be read. This improves user experience over polling mechanism that the devices would have to use otherwise.</t>
        </li>
      </ul>
      <artset>
        <artwork type="svg"><svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" height="1110px" preserveAspectRatio="none" version="1.1" viewBox="0 0 1111 1110" width="1111px">
            <defs/>
            <g>
              <line x1="54" x2="54" y1="82.0146" y2="1029.3921" stroke="black" stroke-width="0.5"/>
              <line x1="347.5" x2="347.5" y1="82.0146" y2="1029.3921" stroke="black" stroke-width="0.5"/>
              <line x1="648" x2="648" y1="82.0146" y2="1029.3921" stroke="black" stroke-width="0.5"/>
              <line x1="887.5" x2="887.5" y1="82.0146" y2="1029.3921" stroke="black" stroke-width="0.5"/>
              <line x1="1057" x2="1057" y1="82.0146" y2="1029.3921" stroke="black" stroke-width="0.5"/>
              <text fill="black" font-family="sans-serif" font-size="14" x="5" y="79.0752">Initiator User</text>
              <ellipse cx="54" cy="13.5" fill="white" rx="8" ry="8" stroke="black" stroke-width="0.5"/>
              <path d="M54,21.5 L54,48.5 M41,29.5 L67,29.5 M54,48.5 L41,63.5 M54,48.5 L67,63.5 " fill="none" stroke="black" stroke-width="0.5"/>
              <text fill="black" font-family="sans-serif" font-size="14" x="5" y="1042.4673">Initiator User</text>
              <ellipse cx="54" cy="1053.9067" fill="white" rx="8" ry="8" stroke="black" stroke-width="0.5"/>
              <path d="M54,1061.9067 L54,1088.9067 M41,1069.9067 L67,1069.9067 M54,1088.9067 L41,1103.9067 M54,1088.9067 L67,1103.9067 " fill="none" stroke="black" stroke-width="0.5"/>
              <rect fill="white" height="31.0146" rx="2.5" ry="2.5" width="119" x="288.5" y="50" stroke="black" stroke-width="0.5"/>
              <text fill="black" font-family="sans-serif" font-size="14" x="295.5" y="71.0752">Initiator Device</text>
              <rect fill="white" height="31.0146" rx="2.5" ry="2.5" width="119" x="288.5" y="1028.3921" stroke="black" stroke-width="0.5"/>
              <text fill="black" font-family="sans-serif" font-size="14" x="295.5" y="1049.4673">Initiator Device</text>
              <rect fill="white" height="31.0146" rx="2.5" ry="2.5" width="102" x="597" y="50" stroke="black" stroke-width="0.5"/>
              <text fill="black" font-family="sans-serif" font-size="14" x="604" y="71.0752">Relay Server</text>
              <rect fill="white" height="31.0146" rx="2.5" ry="2.5" width="102" x="597" y="1028.3921" stroke="black" stroke-width="0.5"/>
              <text fill="black" font-family="sans-serif" font-size="14" x="604" y="1049.4673">Relay Server</text>
              <rect fill="white" height="31.0146" rx="2.5" ry="2.5" width="127" x="824.5" y="50" stroke="black" stroke-width="0.5"/>
              <text fill="black" font-family="sans-serif" font-size="14" x="831.5" y="71.0752">Recipient Device</text>
              <rect fill="white" height="31.0146" rx="2.5" ry="2.5" width="127" x="824.5" y="1028.3921" stroke="black" stroke-width="0.5"/>
              <text fill="black" font-family="sans-serif" font-size="14" x="831.5" y="1049.4673">Recipient Device</text>
              <text fill="black" font-family="sans-serif" font-size="14" x="1004" y="79.0752">Recipient User</text>
              <ellipse cx="1057" cy="13.5" fill="white" rx="8" ry="8" stroke="black" stroke-width="0.5"/>
              <path d="M1057,21.5 L1057,48.5 M1044,29.5 L1070,29.5 M1057,48.5 L1044,63.5 M1057,48.5 L1070,63.5 " fill="none" stroke="black" stroke-width="0.5"/>
              <text fill="black" font-family="sans-serif" font-size="14" x="1004" y="1042.4673">Recipient User</text>
              <ellipse cx="1057" cy="1053.9067" fill="white" rx="8" ry="8" stroke="black" stroke-width="0.5"/>
              <path d="M1057,1061.9067 L1057,1088.9067 M1044,1069.9067 L1070,1069.9067 M1057,1088.9067 L1044,1103.9067 M1057,1088.9067 L1070,1103.9067 " fill="none" stroke="black" stroke-width="0.5"/>
              <polygon fill="black" points="336,125.6133,346,129.6133,336,133.6133,340,129.6133" stroke="black" stroke-width="1.0"/>
              <line x1="54" x2="342" y1="129.6133" y2="129.6133" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="61" y="109.0845">Share this Credential with Recipient User</text>
              <text fill="black" font-family="sans-serif" font-size="13" x="66" y="124.8838">over communication method m_1</text>
              <path d="M208,142.6133 L208,183.6133 L487,183.6133 L487,152.6133 L477,142.6133 L208,142.6133 " fill="white" stroke="black" stroke-width="0.5"/>
              <path d="M477,142.6133 L477,152.6133 L487,152.6133 L477,142.6133 " fill="white" stroke="black" stroke-width="0.5"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="214" y="160.6831">Create and encrypt Provisioning</text>
              <text fill="black" font-family="sans-serif" font-size="13" x="214" y="176.4824">Info message_1 encrypted with Secret</text>
              <polygon fill="black" points="636,222.8105,646,226.8105,636,230.8105,640,226.8105" stroke="black" stroke-width="1.0"/>
              <line x1="348" x2="642" y1="226.8105" y2="226.8105" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="355" y="206.2817">CreateMailbox</text>
              <text fill="black" font-family="sans-serif" font-size="13" x="355" y="222.0811">(With DeviceClaim and Notification token)</text>
              <polygon fill="black" points="359,252.6099,349,256.6099,359,260.6099,355,256.6099" stroke="black" stroke-width="1.0"/>
              <line x1="353" x2="647" y1="256.6099" y2="256.6099" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="365" y="251.8804">URL link to mailbox</text>
              <polygon fill="black" points="876,298.2085,886,302.2085,876,306.2085,880,302.2085" stroke="black" stroke-width="1.0"/>
              <line x1="348" x2="882" y1="302.2085" y2="302.2085" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="355" y="281.6797">URL link and Secret</text>
              <text fill="black" font-family="sans-serif" font-size="13" x="360" y="297.479">over preferred communication method m_1</text>
              <polygon fill="black" points="899,328.0078,889,332.0078,899,336.0078,895,332.0078" stroke="black" stroke-width="1.0"/>
              <line x1="893" x2="1056" y1="332.0078" y2="332.0078" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="905" y="327.2783">Accept the Credential</text>
              <polygon fill="black" points="659,373.6064,649,377.6064,659,381.6064,655,377.6064" stroke="black" stroke-width="1.0"/>
              <line x1="653" x2="887" y1="377.6064" y2="377.6064" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="665" y="357.0776">ReadSecureContentFromMailbox</text>
              <text fill="black" font-family="sans-serif" font-size="13" x="670" y="372.877">(With DeviceClaim)</text>
              <polygon fill="black" points="876,403.4058,886,407.4058,876,411.4058,880,407.4058" stroke="black" stroke-width="1.0"/>
              <line x1="648" x2="882" y1="407.4058" y2="407.4058" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="655" y="402.6763">encrypted info</text>
              <path d="M692,420.4058 L692,445.4058 L1084,445.4058 L1084,430.4058 L1074,420.4058 L692,420.4058 " fill="white" stroke="black" stroke-width="0.5"/>
              <path d="M1074,420.4058 L1074,430.4058 L1084,430.4058 L1074,420.4058 " fill="white" stroke="black" stroke-width="0.5"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="698" y="438.4756">Decrypt with Secret to get Provisioning Info message_1</text>
              <path d="M761,456.2051 L761,497.2051 L1014,497.2051 L1014,466.2051 L1004,456.2051 L761,456.2051 " fill="white" stroke="black" stroke-width="0.5"/>
              <path d="M1004,456.2051 L1004,466.2051 L1014,466.2051 L1004,456.2051 " fill="white" stroke="black" stroke-width="0.5"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="767" y="474.2749">Generate Provision Info message_2</text>
              <text fill="black" font-family="sans-serif" font-size="13" x="767" y="490.0742">encrypted with Secret</text>
              <polygon fill="black" points="659,520.603,649,524.603,659,528.603,655,524.603" stroke="black" stroke-width="1.0"/>
              <line x1="653" x2="887" y1="524.603" y2="524.603" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="665" y="519.8735">UpdateMailbox(encrypted info)</text>
              <polygon fill="black" points="876,550.4023,886,554.4023,876,558.4023,880,554.4023" stroke="black" stroke-width="1.0"/>
              <line x1="648" x2="882" y1="554.4023" y2="554.4023" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="655" y="549.6729">OK</text>
              <polygon fill="black" points="359,580.2017,349,584.2017,359,588.2017,355,584.2017" stroke="black" stroke-width="1.0"/>
              <line x1="353" x2="647" y1="584.2017" y2="584.2017" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="365" y="579.4722">Push Notification</text>
              <polygon fill="black" points="636,610.001,646,614.001,636,618.001,640,614.001" stroke="black" stroke-width="1.0"/>
              <line x1="348" x2="642" y1="614.001" y2="614.001" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="355" y="609.2715">ReadSecureContentFromMailbox</text>
              <polygon fill="black" points="359,639.8003,349,643.8003,359,647.8003,355,643.8003" stroke="black" stroke-width="1.0"/>
              <line x1="353" x2="647" y1="643.8003" y2="643.8003" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="365" y="639.0708">encrypted info</text>
              <path d="M161,656.8003 L161,681.8003 L534,681.8003 L534,666.8003 L524,656.8003 L161,656.8003 " fill="white" stroke="black" stroke-width="0.5"/>
              <path d="M524,656.8003 L524,666.8003 L534,666.8003 L524,656.8003 " fill="white" stroke="black" stroke-width="0.5"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="167" y="674.8701">Decrypt with Secret to get Provision Info message_2</text>
              <path d="M211,692.5996 L211,733.5996 L484,733.5996 L484,702.5996 L474,692.5996 L211,692.5996 " fill="white" stroke="black" stroke-width="0.5"/>
              <path d="M474,692.5996 L474,702.5996 L484,702.5996 L474,692.5996 " fill="white" stroke="black" stroke-width="0.5"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="217" y="710.6694">Update with Provision Info message_3</text>
              <text fill="black" font-family="sans-serif" font-size="13" x="217" y="726.4688">encrypted with Secret</text>
              <polygon fill="black" points="636,756.9976,646,760.9976,636,764.9976,640,760.9976" stroke="black" stroke-width="1.0"/>
              <line x1="348" x2="642" y1="760.9976" y2="760.9976" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="355" y="756.2681">UpdateMailbox(encrypted info)</text>
              <polygon fill="black" points="359,786.7969,349,790.7969,359,794.7969,355,790.7969" stroke="black" stroke-width="1.0"/>
              <line x1="353" x2="647" y1="790.7969" y2="790.7969" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="365" y="786.0674">OK</text>
              <polygon fill="black" points="876,816.5962,886,820.5962,876,824.5962,880,820.5962" stroke="black" stroke-width="1.0"/>
              <line x1="648" x2="882" y1="820.5962" y2="820.5962" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="655" y="815.8667">Push Notification</text>
              <polygon fill="black" points="659,846.3955,649,850.3955,659,854.3955,655,850.3955" stroke="black" stroke-width="1.0"/>
              <line x1="653" x2="887" y1="850.3955" y2="850.3955" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="665" y="845.666">ReadSecureContentFromMailbox</text>
              <polygon fill="black" points="876,876.1948,886,880.1948,876,884.1948,880,880.1948" stroke="black" stroke-width="1.0"/>
              <line x1="648" x2="882" y1="880.1948" y2="880.1948" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="655" y="875.4653">encrypted info</text>
              <path d="M593,893.1948 L593,918.1948 L943,918.1948 L943,903.1948 L933,893.1948 L593,893.1948 " fill="white" stroke="black" stroke-width="0.5"/>
              <path d="M933,893.1948 L933,903.1948 L943,903.1948 L933,893.1948 " fill="white" stroke="black" stroke-width="0.5"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="599" y="911.2646">Decrypt with Secret for Provision Info message_3</text>
              <polygon fill="black" points="659,941.7935,649,945.7935,659,949.7935,655,945.7935" stroke="black" stroke-width="1.0"/>
              <line x1="653" x2="887" y1="945.7935" y2="945.7935" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="665" y="941.064">DeleteMailbox</text>
              <polygon fill="black" points="876,971.5928,886,975.5928,876,979.5928,880,975.5928" stroke="black" stroke-width="1.0"/>
              <line x1="648" x2="882" y1="975.5928" y2="975.5928" stroke="black" stroke-width="1.0"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="655" y="970.8633">OK</text>
              <path d="M782,988.5928 L782,1013.5928 L993,1013.5928 L993,998.5928 L983,988.5928 L782,988.5928 " fill="white" stroke="black" stroke-width="0.5"/>
              <path d="M983,988.5928 L983,998.5928 L993,998.5928 L983,988.5928 " fill="white" stroke="black" stroke-width="0.5"/>
              <text fill="black" font-family="sans-serif" font-size="13" x="788" y="1006.6626">Finish Credential Provisioning</text>
              <!--SRC=[bPH1J-Cm48Nl_XKZJY3j7c1lFI2jYa08TXUrglQ2X8mpRKOaTkIuPVdtEucRs0ukXLlgFhzvyyqaKZbZuUHMaoFPFQvQj2SWMo0-wdw8Hbf7YXgfNIoymXqfxANZOQfTO2NVO8bsjxVi3wOQVYBanyXlF1JInmkgCPv5rQSJGqxuVXc2m0oMfRG8hgGMvXOBlaooWbTo9QHsZneC9mHbwdghIKb7HaEDhZG5r4_dGcZZq6j2fz2vIZwNkW3Kohur3XwisL7BrqblM76hruQDsbPkyEbyK67XKonHMNG2-NvNG8Jmt4cFQhQlyKjIzMp-mQC-_TlTzAZcbQIwB__RE5eFmPrvGNqcXASVGvd1Qd4F5UaN5a7jJSMqxXvD9EvA-B0mi6eihj4orW-exIUKkF9SVYg5ZCgL6CsbYpj8GlSBb0KNtbgS6-tulsjhwW03tj4u2rr7ZGJkn0E9nnaM3TZ6pp2QJOTfW-bO9qCDuplaUuCQRRSeeqjgSS6Q8vkHOxDgYh0PfscBUGn_xl9ByR1josI5H7OLFnf6rdU2FVyIVORwb5T0dlVqQBpb0PCVnw5d8NoIUaGXeHvDuptrhxu1NzvrLdyxkl9hxlSWj00d5_OAAnpX75p1_5jopPzn1X9zgPDlwLZuFm00]-->
  </g>
          </svg>
        </artwork>
        <artwork type="ascii-art"><![CDATA[            ┌─┐                                                                                                                                             ┌─┐      
            ║"│                                                                                                                                             ║"│      
            └┬┘                                                                                                                                             └┬┘      
            ┌┼┐                                                                                                                                             ┌┼┐      
             │                                 ┌────────────────┐                           ┌────────────┐               ┌────────────────┐                  │       
            ┌┴┐                                │Initiator Device│                           │Relay Server│               │Recipient Device│                 ┌┴┐      
      Initiator User                           └───────┬────────┘                           └─────┬──────┘               └───────┬────────┘           Recipient User 
            │ Share this Credential with Recipient User│                                          │                              │                          │        
            │  over communication method m_1           │                                          │                              │                          │        
            │ ─────────────────────────────────────────>                                          │                              │                          │        
            │                                          │                                          │                              │                          │        
            │                       ╔══════════════════╧═══════════════════╗                      │                              │                          │        
            │                       ║Create and encrypt Provisioning      ░║                      │                              │                          │        
            │                       ║Info message_1 encrypted with Secret  ║                      │                              │                          │        
            │                       ╚══════════════════╤═══════════════════╝                      │                              │                          │        
            │                                          │ CreateMailbox                            │                              │                          │        
            │                                          │ (With DeviceClaim and Notification token)│                              │                          │        
            │                                          │ ─────────────────────────────────────────>                              │                          │        
            │                                          │                                          │                              │                          │        
            │                                          │            URL link to mailbox           │                              │                          │        
            │                                          │ <─────────────────────────────────────────                              │                          │        
            │                                          │                                          │                              │                          │        
            │                                          │                 URL link and Secret      │                              │                          │        
            │                                          │                  over preferred communication method m_1                │                          │        
            │                                          │ ────────────────────────────────────────────────────────────────────────>                          │        
            │                                          │                                          │                              │                          │        
            │                                          │                                          │                              │   Accept the Credential  │        
            │                                          │                                          │                              │ <─────────────────────────        
            │                                          │                                          │                              │                          │        
            │                                          │                                          │ ReadSecureContentFromMailbox │                          │        
            │                                          │                                          │  (With DeviceClaim)          │                          │        
            │                                          │                                          │ <─────────────────────────────                          │        
            │                                          │                                          │                              │                          │        
            │                                          │                                          │        encrypted info        │                          │        
            │                                          │                                          │ ─────────────────────────────>                          │        
            │                                          │                                          │                              │                          │        
            │                                          │                                          │  ╔═══════════════════════════╧══════════════════════════╧═╗      
            │                                          │                                          │  ║Decrypt with Secret to get Provisioning Info message_1 ░║      
            │                                          │                                          │  ╚═══════════════════════════╤══════════════════════════╤═╝      
            │                                          │                                          │             ╔════════════════╧══════════════════╗       │        
            │                                          │                                          │             ║Generate Provision Info message_2 ░║       │        
            │                                          │                                          │             ║encrypted with Secret              ║       │        
            │                                          │                                          │             ╚════════════════╤══════════════════╝       │        
            │                                          │                                          │ UpdateMailbox(encrypted info)│                          │        
            │                                          │                                          │ <─────────────────────────────                          │        
            │                                          │                                          │                              │                          │        
            │                                          │                                          │              OK              │                          │        
            │                                          │                                          │ ─────────────────────────────>                          │        
            │                                          │                                          │                              │                          │        
            │                                          │             Push Notification            │                              │                          │        
            │                                          │ <─────────────────────────────────────────                              │                          │        
            │                                          │                                          │                              │                          │        
            │                                          │       ReadSecureContentFromMailbox       │                              │                          │        
            │                                          │ ─────────────────────────────────────────>                              │                          │        
            │                                          │                                          │                              │                          │        
            │                                          │              encrypted info              │                              │                          │        
            │                                          │ <─────────────────────────────────────────                              │                          │        
            │                                          │                                          │                              │                          │        
            │                ╔═════════════════════════╧═══════════════════════════╗              │                              │                          │        
            │                ║Decrypt with Secret to get Provision Info message_2 ░║              │                              │                          │        
            │                ╚═════════════════════════╤═══════════════════════════╝              │                              │                          │        
            │                       ╔══════════════════╧═══════════════════╗                      │                              │                          │        
            │                       ║Update with Provision Info message_3 ░║                      │                              │                          │        
            │                       ║encrypted with Secret                 ║                      │                              │                          │        
            │                       ╚══════════════════╤═══════════════════╝                      │                              │                          │        
            │                                          │       UpdateMailbox(encrypted info)      │                              │                          │        
            │                                          │ ─────────────────────────────────────────>                              │                          │        
            │                                          │                                          │                              │                          │        
            │                                          │                    OK                    │                              │                          │        
            │                                          │ <─────────────────────────────────────────                              │                          │        
            │                                          │                                          │                              │                          │        
            │                                          │                                          │       Push Notification      │                          │        
            │                                          │                                          │ ─────────────────────────────>                          │        
            │                                          │                                          │                              │                          │        
            │                                          │                                          │ ReadSecureContentFromMailbox │                          │        
            │                                          │                                          │ <─────────────────────────────                          │        
            │                                          │                                          │                              │                          │        
            │                                          │                                          │        encrypted info        │                          │        
            │                                          │                                          │ ─────────────────────────────>                          │        
            │                                          │                                          │                              │                          │        
            │                                          │                                 ╔════════╧══════════════════════════════╧══════════╗               │        
            │                                          │                                 ║Decrypt with Secret for Provision Info message_3 ░║               │        
            │                                          │                                 ╚════════╤══════════════════════════════╤══════════╝               │        
            │                                          │                                          │         DeleteMailbox        │                          │        
            │                                          │                                          │ <─────────────────────────────                          │        
            │                                          │                                          │                              │                          │        
            │                                          │                                          │              OK              │                          │        
            │                                          │                                          │ ─────────────────────────────>                          │        
            │                                          │                                          │                              │                          │        
            │                                          │                                          │              ╔═══════════════╧════════════════╗         │        
            │                                          │                                          │              ║Finish Credential Provisioning ░║         │        
      Initiator User                           ┌───────┴────────┐                           ┌─────┴──────┐       ╚════════════════════════════════╝   Recipient User 
            ┌─┐                                │Initiator Device│                           │Relay Server│               │Recipient Device│                 ┌─┐      
            ║"│                                └────────────────┘                           └────────────┘               └────────────────┘                 ║"│      
            └┬┘                                                                                                                                             └┬┘      
            ┌┼┐                                                                                                                                             ┌┼┐      
             │                                                                                                                                               │       
            ┌┴┐                                                                                                                                             ┌┴┐      
]]></artwork>
      </artset>
      <section anchor="api-parameters">
        <name>API parameters:</name>
        <ul spacing="normal">
          <li>
            <t>Device Claim - a unique token allowing the caller to read from / write data to the mailbox. Exactly one Initiator Device and one Recipient Device <bcp14>SHOULD</bcp14> be able to read from / write secure payload to the mailbox. Initiator Device provides a Device Claim in order to create a mailbox. When the Relay server, having received a request from the Initiator Device, creates a mailbox, it binds this Initiator's Device Claim to the mailbox. When the Recipient Device first reads data from the mailbox it presents its Device Claim to the Relay Server, which binds the mailbox to the given Recipient Device. Thus, both Initiator and Recipient devices are bound to the mailbox (allowed to read from / write to it). Only Initiator and Recipient devices that present valid Device Claims are allowed to send subsequent read/update/delete calls to the mailbox. The value <bcp14>SHALL</bcp14> be a unique UUID <xref target="RFC4122"/>. Initiator and Recipient <bcp14>MUST</bcp14> use different values for Device Claim. Implementation <bcp14>SHOULD</bcp14> assign unique values for new mailboxes (avoid re-using values).</t>
          </li>
          <li>
            <t>Notification Token - a short or long-lived unique token stored by the Initiator or Recipient Device in a mailbox on the Relay server, which allows Relay server to send a push notification to the Initiator or Recipient Device, informing them of updates in the mailbox.</t>
          </li>
          <li>
            <t>MailboxIdentifier - a unique identifier for the given mailbox, generated by the Relay server at the time of mailbox creation. The value is a UUID <xref target="RFC4122"/>.</t>
          </li>
        </ul>
      </section>
      <section anchor="provisioning-information-structure">
        <name>Provisioning Information Structure</name>
        <t>The Provisioning Information is the data transferred via the Relay Server between the Initiator Device and Recipient Device. Each use case defines its own specialized Provisioning Information format, but all formats must at least adhere to the following structure. Formats are free to define new top level keys, so clients shouldn't be surprised if a message of an unexpected format has specialized top level keys.</t>
        <table>
          <thead>
            <tr>
              <th align="left">Key</th>
              <th align="left">Type</th>
              <th align="left">Required</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">format</td>
              <td align="left">String</td>
              <td align="left">Yes</td>
              <td align="left">The Provisioning Information format that the message follows. This is used by the Initiator Device and Recipient Device to know how to parse the message.</td>
            </tr>
            <tr>
              <td align="left">content</td>
              <td align="left">Dictionary</td>
              <td align="left">Yes</td>
              <td align="left">A dictionary of content to be used for the credential transfer. See each format's specification for exact fields.</td>
            </tr>
          </tbody>
        </table>
        <section anchor="provisioning-information-format">
          <name>Provisioning Information Format</name>
          <t>Each Provisioning Information format must have the message structure defined in an external specification.</t>
          <table>
            <thead>
              <tr>
                <th align="left">Format Type</th>
                <th align="left">Spec Link</th>
                <th align="left">Description</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">digitalwallet.carkey.ccc</td>
                <td align="left">
                  <xref target="CCC-Digital-Key-30"/></td>
                <td align="left">A digital wallet Provisioning Information for sharing a car key that follows the Car Connectivity Consortium specification.</td>
              </tr>
              <tr>
                <td align="left">digitalwallet.generic.authorizationToken</td>
                <td align="left">
                  <xref target="ISO-18013-5"/></td>
                <td align="left">A digital wallet Provisioning Information for sharing a generic pass that relies solely on an authorization token.</td>
              </tr>
            </tbody>
          </table>
          <figure anchor="provisioning-info-format">
            <name>Provisioning Information format</name>
            <artwork><![CDATA[
{
   "format" : "digitalwallet.carkey.ccc",
   "content": {
      // Format specific fields
   }
}
]]></artwork>
          </figure>
        </section>
        <section anchor="provisioning-information-encryption">
          <name>Provisioning Information Encryption</name>
          <t>Provisioning Information will be stored on the Relay Server encrypted. The Secret used to encrypt the Provisioning Information should be given to the Recipient Device via a "Share URL" (a URL link to a mailbox). The encrypted payload should be a data structure having the following key-value pairs:</t>
          <ul spacing="normal">
            <li>
              <t>"type" (String, Required) - the encryption algorithm and mode used.</t>
            </li>
            <li>
              <t>"data" (String, Required) - Base64 encoded binary value of the encrypted Provisioning Information, aka the ciphertext.</t>
            </li>
          </ul>
          <t>Please refer to <xref target="RFC5116"/> for the details of the encryption algorithm.</t>
          <t>The following algorithms and modes are mandatory to implement:</t>
          <ul spacing="normal">
            <li>
              <t>"AEAD_AES_128_GCM": AES symmetric encryption algorithm with key length 128 bits, in GCM mode with no padding.  Initialization Vector (IV) has the length of 96 bits randomly generated and tag length of 128 bits.</t>
            </li>
            <li>
              <t>"AEAD_AES_256_GCM": AES symmetric encryption algorithm with key length 256 bits, in GCM mode with no padding.  Initialization Vector (IV) has the length of 96 bits randomly generated and tag length of 128 bits.</t>
            </li>
          </ul>
          <figure anchor="secure-payload-format">
            <name>Secure Payload Format example</name>
            <artwork><![CDATA[
{
    "type" : "AEAD_AES_128_GCM",
    "data" : "IV  ciphertext  tag"
}
]]></artwork>
          </figure>
        </section>
      </section>
      <section anchor="share-url">
        <name>Share URL</name>
        <t>A "Share URL" is the url a Initiator Device sends to the Recipient Device allowing it to retrieve the Provisioning Information stored on the Relay Server. A Share URL is made up of the following fields:</t>
        <figure anchor="share-url-example">
          <name>Share URL example</name>
          <artwork><![CDATA[
https://{RelayServerHost}/v{ApiVersion}/m/{MailboxIdentifier}?v={CredentialVertical}#{Secret}
]]></artwork>
        </figure>
        <table>
          <thead>
            <tr>
              <th align="left">Field</th>
              <th align="left">Location</th>
              <th align="left">Required</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">RelayServerHost</td>
              <td align="left">URL Host</td>
              <td align="left">Yes</td>
            </tr>
            <tr>
              <td align="left">ApiVersion</td>
              <td align="left">URI Path Parameter</td>
              <td align="left">Yes</td>
            </tr>
            <tr>
              <td align="left">MailboxIdentifier</td>
              <td align="left">URI Path Parameter</td>
              <td align="left">Yes</td>
            </tr>
            <tr>
              <td align="left">CredentialVertical</td>
              <td align="left">Query Parameter</td>
              <td align="left">No</td>
            </tr>
            <tr>
              <td align="left">Secret</td>
              <td align="left">Fragment</td>
              <td align="left">No</td>
            </tr>
          </tbody>
        </table>
        <section anchor="credential-vertical-in-share-url">
          <name>Credential Vertical in Share URL</name>
          <t>When a user interacts with a share URL on a Recipient Device it can be helpful to know what Credential Vertical this share is for. This is particularly important if the Recipient Device has multiple applications that can handle a share URL. For example, a Recipient Device might want to handle a general access share in their wallet app, but handle car key shares in a specific car application.</t>
          <t>To properly route a share URL, the Initiator can include the Credential Vertical in the share URL as a query parameter. The Credential Vertical can't be included in the encrypted payload because the Recipient Device might need to open the right application before retrieving the secure payload. The Credential Vertical query parameter uses the "v" key and supports the below types. If no Credential Vertical is provided it will be assumed that this is a general access share URL.</t>
          <table>
            <thead>
              <tr>
                <th align="left">Vertical</th>
                <th align="left">Value</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">General Access</td>
                <td align="left">a or <em>None</em></td>
              </tr>
              <tr>
                <td align="left">Home Key</td>
                <td align="left">h</td>
              </tr>
              <tr>
                <td align="left">Car Key</td>
                <td align="left">c</td>
              </tr>
            </tbody>
          </table>
          <figure anchor="car-key-share-url-example">
            <name>Car Key Share URL example</name>
            <artwork><![CDATA[
https://relayserver.example.com/v1/m/2bba630e-519b-11ec-bf63-0242ac130002?v=c#hXlr6aRC7KgJpOLTNZaLsw==
]]></artwork>
          </figure>
          <t>The Credential Vertical query parameter can be added to the share URL by the Initiator Device when constructing the full share URL that is going to be sent to the Recipient Device.</t>
        </section>
      </section>
    </section>
    <section anchor="api-connection-details">
      <name>API connection details</name>
      <t>The Relay server API endpoint <bcp14>MUST</bcp14> be accessed over HTTP using an https URI <xref target="RFC2818"/> and <bcp14>SHOULD</bcp14> use the default https port.
Request and response bodies <bcp14>SHALL</bcp14> be formatted as either JSON or HTML (based on the API endpoint). The communication protocol used for all interfaces <bcp14>SHALL</bcp14> be HTTPs.
All Strings <bcp14>SHOULD</bcp14> be UTF-8 encoded (Unicode Normalization Form C (NFC)).
An API version <bcp14>SHOULD</bcp14> be included in the URI for all interfaces. The version at the time of this document's latest update is v1. The version <bcp14>SHALL</bcp14> be incremented by 1 for major API changes or backward incompatible iterations on existing APIs.</t>
    </section>
    <section anchor="http-headers">
      <name>HTTP Headers</name>
      <section anchor="mailbox-request-id">
        <name>Mailbox-Request-ID</name>
        <t>All requests to and from Relay server will have an HTTP header "Mailbox-Request-ID". The corresponding response to the API will have the same HTTP header, which <bcp14>SHALL</bcp14> echo the value in the request header. This is used to identify the request associated to the response for a particular API request and response pair. The value <bcp14>SHOULD</bcp14> be a UUID <xref target="RFC4122"/>.
The request originator <bcp14>SHALL</bcp14> match the value of this header in the response with the one sent in the request. If response is not received, caller may retry sending the request with the same value of "Mailbox-Request-ID".
Relay server <bcp14>SHOULD</bcp14> store the value of the last successfully processed "Mailbox-Request-ID" for each device based on the caller's Device Claim.
A key-value pair of "Device Claim" to "Mailbox-Request-ID" is suggested to store the last successfully processed request for each device.
In case of receiving a request with duplicated "Mailbox-Request-ID", Relay <bcp14>SHOULD</bcp14> respond to the caller with status code 201, ignoring the duplicate request body content.</t>
      </section>
      <section anchor="mailbox-device-claim">
        <name>Mailbox-Device-Claim</name>
        <t>All requests to CreateMailbox, ReadSecureContentFromMailbox and UpdateMailbox endpoints <bcp14>MUST</bcp14> contain this header. The value represents "Device Claim" (refer to Terminology)</t>
      </section>
      <section anchor="mailbox-device-attestation">
        <name>Mailbox-Device-Attestation</name>
        <t>Request to CreateMailbox <bcp14>MAY</bcp14> contain this header. The value represents a Device Attestation (String, Optional) - optional remote OEM device proprietary attestation data</t>
      </section>
    </section>
    <section anchor="http-access-methods">
      <name>HTTP access methods</name>
      <section anchor="createmailbox">
        <name>CreateMailbox</name>
        <t>An application running on a remote device can invoke this API on Relay Server to create a mailbox and store secure data content to it (encrypted data specific to a provisioning partner). MailboxIdentifier is created by the Relay server as an UUID <xref target="RFC4122"/>, using cryptographic entropy. A URL to the created mailbox to be returned to the caller in the response.</t>
        <section anchor="endpoint">
          <name>Endpoint</name>
          <t>POST  /{version}/m</t>
        </section>
        <section anchor="request-parameters">
          <name>Request Parameters:</name>
          <t>Path parameters</t>
          <ul spacing="normal">
            <li>
              <t>version (String, Required) - the version of the API. At the time of writing this document, “v1”.</t>
            </li>
          </ul>
          <t>Header parameters</t>
          <ul spacing="normal">
            <li>
              <t>Mailbox-Device-Attestation (String, Optional) - optional remote OEM device proprietary attestation data.</t>
            </li>
            <li>
              <t>Mailbox-Device-Claim (String, UUID, Required) - Device Claim (refer to Terminology).</t>
            </li>
          </ul>
        </section>
        <section anchor="consumes">
          <name>Consumes</name>
          <t>This API call consumes the following media types via the Content-Type request header: <tt>application/json</tt></t>
        </section>
        <section anchor="produces">
          <name>Produces</name>
          <t>This API call produces the following media types via the Content-Type response header: <tt>application/json</tt></t>
        </section>
        <section anchor="request-body">
          <name>Request body</name>
          <t>Request body is a complex structure, including the following fields:</t>
          <ul spacing="normal">
            <li>
              <t>payload (Object, Required) - for the purposes of Tigress API, this is a data structure, describing Provisioning Information specific to Credential Provider. It consists of the following 2 key-value pairs:
              </t>
              <ol spacing="normal" type="1"><li>
                  <t>"type": "AEAD_AES_128_GCM" (refer to Encryption Format section).</t>
                </li>
                <li>
                  <t>"data": BASE64-encoded binary value of ciphertext.</t>
                </li>
              </ol>
            </li>
            <li>
              <t>displayInformation (Object, Required) - for the purposes of the Tigress API, this is a data structure. It allows an application running on a receiving device to build a visual representation of the credential to show to user.
The data structure contains the following fields:
              </t>
              <ol spacing="normal" type="1"><li>
                  <t>title (String, Required) - the title of the credential (e.g. "Car Key")</t>
                </li>
                <li>
                  <t>description (String, Required) - a brief description of the credential (e.g. "a key to my personal car")</t>
                </li>
                <li>
                  <t>imageURL (String, Required) - a link to a picture representing the credential visually.</t>
                </li>
              </ol>
            </li>
            <li>
              <t>notificationToken (Object, Optional) - optional notification token used to notify an appropriate remote device that the mailbox data has been updated. Data structure includes the following (if notificationToken is provided it should include both fields):
              </t>
              <ol spacing="normal" type="1"><li>
                  <t>type (String, Required) - notification token name. Used to define which Push Notification System to be used to notify appropriate remote device of a mailbox data update. (E.g. "com.apple.apns" for APNS)</t>
                </li>
                <li>
                  <t>tokenData (String, Required) - notification token data (data encoded based on specific device OEM notification service rules - e.g. HEX-encoded or Base64-encoded) - application-specific - refer to appropriate Push Notification System specification.</t>
                </li>
              </ol>
            </li>
            <li>
              <t>mailboxConfiguration (Object, Optional) - optional mailbox configuration, defines access rights to the mailbox, mailbox expiration time. Required at the time of the mailbox creation. OEM device may provide this data in the request, Relay server shall define a default configuration, if it is not provided in the incoming request. Data structure includes the following:
              </t>
              <ol spacing="normal" type="1"><li>
                  <t>accessRights (String, Optional) - optional access rights to the mailbox for Initiator and  Recipient devices. Default access to the mailbox is Read and Delete.
Value is defined as a combination of the following values: "R" - for read access, "W" - for write access, "D" - for delete access. Example" "RD" - allows to read from the mailbox and delete it.</t>
                </li>
                <li>
                  <t>expiration (String, Required) - Mailbox expiration time in "YYYY-MM-DDThh:mm:ssZ" format (UTC time zone) <xref target="RFC3339"/>. Mailbox has limited livetime. Once expired, it <bcp14>SHALL</bcp14> be deleted - refer to DeleteMailbox endpoint. Relay server <bcp14>SHOULD</bcp14> periodically check for expired mailboxes and delete them.</t>
                </li>
              </ol>
            </li>
          </ul>
          <figure anchor="apple-push-token">
            <name>Apple Push Token Example</name>
            <artwork><![CDATA[
{
   "notificationToken": {
        "type":"com.apple.apns",
        "tokenData":"APNS1234...QW"
    }
}
]]></artwork>
          </figure>
          <figure anchor="create-mailbox-request">
            <name>Create Mailbox Request Example</name>
            <artwork><![CDATA[
{
    "displayInformation" : {
        "title" : "Hotel Pass",
        "description" : "Some Hotel Pass",
        "imageURL" : "https://example.com/sharingImage"
    },
    "payload" : {
        "type": "AEAD_AES_128_GCM",
        "data": "FDEC...987654321"
    },
    "notificationToken" : {
        "type" : "com.apple.apns",
        "tokenData" : “APNS...1234"
    },
    "mailboxConfiguration" : {
        "accessRights" : "RWD",
        "expiration" : "2022-02-08T14:57:22Z"
    }
}
]]></artwork>
          </figure>
        </section>
        <section anchor="responses">
          <name>Responses</name>
          <t><tt>200</tt>
Status: “200” (OK)</t>
          <t>ResponseBody:</t>
          <ul spacing="normal">
            <li>
              <t>urlLink (String, Required) - a full URL link to the mailbox including fully qualified domain name and mailbox Identifier. Refer to "Share URL" section for details.</t>
            </li>
            <li>
              <t>isPushNotificationSupported (boolean, Required) - indicates whether push notification is supported or not. The device uses this field to decide whether it should listen on the push topic or do long-polling.</t>
            </li>
          </ul>
          <figure anchor="create-mailbox-response">
            <name>Create Mailbox Response Example</name>
            <artwork><![CDATA[
{
    "urlLink":"https://relayserver.example.com/m/12345678-9...A-BCD",
    "isPushNotificationSupported":true
}
]]></artwork>
          </figure>
          <t><tt>201</tt>
Status: “201” (Created) - response to a duplicated request (duplicated "Mailbox-Request-ID"). Relay server <bcp14>SHALL</bcp14> respond to duplicated requests with 201 without creating a new mailbox. "Mailbox-Request-ID" passed in the first CreateMailbox request's header <bcp14>SHOULD</bcp14> be stored by the Relay server and compared to the same value in the subsequent requests to identify duplicated requests. If duplicate is found, Relay <bcp14>SHALL</bcp14> not create a new mailbox, but respond with 201 instead. The value of "Mailbox-Request-ID" of the last successfully completed request <bcp14>SHOULD</bcp14> be stored based on the Device Claim passed by the caller.</t>
          <t><tt>400</tt>
Bad Request - invalid request has been passed (can not parse or required fields missing).</t>
          <t><tt>401</tt>
Unauthorized - calling device is not authorized to create a mailbox. E.g. a device presented an invalid device claim or device attestation.</t>
        </section>
      </section>
      <section anchor="updatemailbox">
        <name>UpdateMailbox</name>
        <t>An application running on a remote device can invoke this API on Relay Server to update secure data content in an existing mailbox (encrypted data specific to a Provisioning Partner). The update effectively overwrites the secure payload previously stored in the mailbox.</t>
        <section anchor="endpoint-1">
          <name>Endpoint</name>
          <t>PUT  /{version}/m/{mailboxIdentifier}</t>
        </section>
        <section anchor="request-parameters-1">
          <name>Request Parameters</name>
          <t>Path parameters:</t>
          <ul spacing="normal">
            <li>
              <t>version (String, Required) - the version of the API. At the time of writing this document, “v1”.</t>
            </li>
            <li>
              <t>mailboxIdentifier(String, Required) - MailboxIdentifier (refer to Terminology).</t>
            </li>
          </ul>
          <t>Header parameters:</t>
          <ul spacing="normal">
            <li>
              <t>Mailbox-Device-Attestation (String, Optional) - optional remote OEM device proprietary attestation data.</t>
            </li>
            <li>
              <t>Mailbox-Device-Claim (String, UUID, Required) - Device Claim (refer to Terminology).</t>
            </li>
          </ul>
        </section>
        <section anchor="consumes-1">
          <name>Consumes</name>
          <t>This API call consumes the following media types via the Content-Type request header: <tt>application/json</tt></t>
        </section>
        <section anchor="produces-1">
          <name>Produces</name>
          <t>This API call produces following media types via the Content-Type request header: <tt>application/json</tt></t>
        </section>
        <section anchor="request-body-1">
          <name>Request body</name>
          <t>Request body is a complex structure, including the following fields:</t>
          <ul spacing="normal">
            <li>
              <t>payload (Object, Required) - for the purposes of Tigress API, this is a data structure, describing Provisioning Information specific to Credential Provider. It consists of the following 2 key-value pairs:
              </t>
              <ol spacing="normal" type="1"><li>
                  <t>"type": "AEAD_AES_128_GCM" (refer to Encryption Format section).</t>
                </li>
                <li>
                  <t>"data": BASE64-encoded binary value of ciphertext.</t>
                </li>
              </ol>
            </li>
            <li>
              <t>notificationToken (Object, Optional) - optional notification token used to notify an appropriate remote device that the mailbox data has been updated. Data structure includes the following (if notificationToken is provided it should include both fields):
              </t>
              <ol spacing="normal" type="1"><li>
                  <t>type (String, Required) - notification token name. Used to define which Push Notification System to be used to notify appropriate remote device of a mailbox data update. (E.g. "com.apple.apns" for APNS)</t>
                </li>
                <li>
                  <t>tokenData (String, Required) - notification token data (data encoded based on specific device OEM notification service rules - e.g. HEX-encoded or Base64-encoded) - application-specific - refer to appropriate Push Notification System specification.</t>
                </li>
              </ol>
            </li>
          </ul>
          <figure anchor="update-mailbox-request">
            <name>Update Mailbox Request Example</name>
            <artwork><![CDATA[
{
     "payload" : {
        "type": "AEAD_AES_128_GCM",
        "data": "FDEC...987654321"
    },
    "notificationToken":{
        "type" : "com.apple.apns",
        "tokenData" : “APNS...1234"
    }
}
]]></artwork>
          </figure>
        </section>
        <section anchor="responses-1">
          <name>Responses</name>
          <t>ResponseBody:</t>
          <ul spacing="normal">
            <li>
              <t>isPushNotificationSupported (boolean, Required) - indicates whether push notification is supported or not. The device uses this field to decide whether it should listen on the push topic or do long-polling.</t>
            </li>
          </ul>
          <figure anchor="update-mailbox-response">
            <name>Create Mailbox Response Example</name>
            <artwork><![CDATA[
{
    "isPushNotificationSupported":true
}
]]></artwork>
          </figure>
          <t><tt>200</tt>
Status: “200” (OK)</t>
          <t><tt>201</tt>
Status: “201” (Created) - response to a duplicate request (duplicate "Mailbox-Request-ID"). Relay server <bcp14>SHALL</bcp14> respond to duplicate requests with 201 without performing mailbox update. "Mailbox-Request-ID" passed in the first UpdateMailbox request's header <bcp14>SHALL</bcp14> be stored by the Relay server and compared to the same value in the subsequent requests to identify duplicate requests. If duplicate is found, Relay <bcp14>SHALL</bcp14> not perform mailbox update, but respond with 201 instead.
The value of "Mailbox-Request-ID" of the last successfully completed request <bcp14>SHALL</bcp14> be stored based on the Device Claim passed by the caller.</t>
          <t><tt>400</tt>
Bad Request - invalid request has been passed (can not parse or required fields missing).</t>
          <t><tt>401</tt>
Unauthorized - calling device is not authorized to update the mailbox. E.g. a device presented the incorrect Device Claim.</t>
          <t><tt>404</tt>
Not Found - mailbox with provided mailboxIdentifier not found.</t>
        </section>
      </section>
      <section anchor="deletemailbox">
        <name>DeleteMailbox</name>
        <t>An application running on a remote device can invoke this API on Relay Server to close the existing mailbox after it served its purpose. Recipient or Initiator Device needs to present a Device Claim in order to close the mailbox.</t>
        <section anchor="endpoint-2">
          <name>Endpoint</name>
          <t>DELETE /{version}/m/{mailboxIdentifier}</t>
        </section>
        <section anchor="request-parameters-2">
          <name>Request Parameters</name>
          <t>Path parameters:</t>
          <ul spacing="normal">
            <li>
              <t>version (String, Required) - the version of the API. At the time of writing this document, “v1”.</t>
            </li>
            <li>
              <t>mailboxIdentifier(String, Required) - MailboxIdentifier (refer to Terminology).</t>
            </li>
          </ul>
          <t>Header parameters:</t>
          <ul spacing="normal">
            <li>
              <t>Mailbox-Device-Attestation (String, Optional) - optional remote OEM device proprietary attestation data.</t>
            </li>
            <li>
              <t>Mailbox-Device-Claim (String, UUID, Required) - Device Claim (refer to Terminology).</t>
            </li>
          </ul>
        </section>
        <section anchor="responses-2">
          <name>Responses</name>
          <t><tt>200</tt>
Status: “200” (OK)</t>
          <t><tt>401</tt>
Unauthorized - calling device is not authorized to delete a mailbox. E.g. a device presented the incorrect Device Claim.</t>
          <t><tt>404</tt>
Not Found - mailbox with provided mailboxIdentifier not found. Relay server may respond with 404 if the Mailbox Identifier passed by the caller is invalid or mailbox has already been deleted (as a result of duplicate DeleteMailbox request).</t>
        </section>
      </section>
      <section anchor="readdisplayinformationfrommailbox">
        <name>ReadDisplayInformationFromMailbox</name>
        <t>An application running on a remote device can invoke this API on Relay Server to retrieve public display information content from a mailbox. Display Information shall be returned in OpenGraph format (please refer to https://ogp.me for details).
OpenGraph-formatted display information is required to display a preview of credential in a messaging application, e.g. iMessage or WhatsApp.</t>
        <section anchor="endpoint-3">
          <name>Endpoint</name>
          <t>GET /{version}/m/{mailboxIdentifier}</t>
        </section>
        <section anchor="request-parameters-3">
          <name>Request Parameters</name>
          <t>Path parameters:</t>
          <ul spacing="normal">
            <li>
              <t>version (String, Required)- the version of the API. At the time of writing this document, “v1”.</t>
            </li>
            <li>
              <t>mailboxIdentifier(String, Required) - MailboxIdentifier (refer to Terminology).</t>
            </li>
          </ul>
        </section>
        <section anchor="produces-2">
          <name>Produces</name>
          <t>This API call produces the following media types via the Content-Type response header: <tt>text/html</tt></t>
        </section>
        <section anchor="responses-3">
          <name>Responses</name>
          <t><tt>200</tt>
Status: “200” (OK)</t>
          <t>ResponseBody :</t>
          <ul spacing="normal">
            <li>
              <t>displayInformation (Object, Required) - visual representation of digital credential in OpenGraph format (please refer to https://ogp.me for details).</t>
            </li>
          </ul>
          <figure anchor="read-display-information-response">
            <name>Read Display Information Response Example</name>
            <artwork><![CDATA[
    "<html prefix="og: https://ogp.me/ns#">
     <head>
     <title>Hotel Pass</title>
     <meta property="og:title" content="Hotel Pass" />
     <meta property="og:type" content="image/jpeg" />
     <meta property="og:description" content="Some Hotel Pass" />
     <meta property="og:url" content="share://" />
     <meta property="og:image" content="https://example.com/photos/photo.jpg" />
     <meta property="og:image:width" content="612" />
     <meta property="og:image:height" content="408" /></head>
     </html>"
]]></artwork>
          </figure>
          <t><tt>404</tt>
Not Found - mailbox with provided mailboxIdentifier not found.</t>
        </section>
      </section>
      <section anchor="readsecurecontentfrommailbox">
        <name>ReadSecureContentFromMailbox</name>
        <t>An application running on a remote device can invoke this API on Relay Server to retrieve secure payload content from a mailbox (encrypted data specific to a Provisioning Information Provider).</t>
        <section anchor="endpoint-4">
          <name>Endpoint</name>
          <t>POST /{version}/m/{mailboxIdentifier}</t>
        </section>
        <section anchor="request-parameters-4">
          <name>Request Parameters</name>
          <t>Path parameters:</t>
          <ul spacing="normal">
            <li>
              <t>version (String, Required) - the version of the API. At the time of writing this document, “v1”.</t>
            </li>
            <li>
              <t>mailboxIdentifier(String, Required) - MailboxIdentifier (refer to Terminology).</t>
            </li>
          </ul>
          <t>Header parameters:</t>
          <ul spacing="normal">
            <li>
              <t>Mailbox-Device-Attestation (String, Optional) - optional remote OEM device proprietary attestation data.</t>
            </li>
            <li>
              <t>MAilbox-Device-Claim (String, UUID, Required) - Device Claim (refer to Terminology).</t>
            </li>
          </ul>
        </section>
        <section anchor="produces-3">
          <name>Produces</name>
          <t>This API call produces the following media types via the Content-Type response header: <tt>application/json</tt></t>
        </section>
        <section anchor="responses-4">
          <name>Responses</name>
          <t><tt>200</tt>
Status: “200” (OK)</t>
          <t>ResponseBody :</t>
          <ul spacing="normal">
            <li>
              <t>payload (String, Required) - for the purposes of Tigress API, this is a JSON metadata blob, describing Provisioning Information specific to Credential Provider.</t>
            </li>
            <li>
              <t>displayInformation (Object, Required) - for the purposes of the Tigress API, this is a JSON data blob. It allows an application running on a receiving device to build a visual representation of the credential to show to user. Specific to Credential Provider.</t>
            </li>
            <li>
              <t>expiration (String, Required) - the date that the mailbox will expire. The mailbox expiration time is set during mailbox creation. Expiration time should be a complete <xref target="RFC3339"/> date string in "YYYY-MM-DDThh:mm:ssZ" format (UTC time zone), and can be used to allow receiving clients to show when a share will expire.</t>
            </li>
          </ul>
          <figure anchor="read-secure-content-response">
            <name>Read Secure Content Response Example</name>
            <artwork><![CDATA[
{
    “displayInformation" : {
        "title" : "Hotel Pass",
        "description" : "Some Hotel Pass",
        "imageURL" : "https://example.com/sharingImage"
    },
    "payload" : {
        "type": "AEAD_AES_128_GCM",
        "data": "FDEC...987654321"
    },
    "expiration": "2021-11-03T20:32:34Z"
}
]]></artwork>
          </figure>
          <t><tt>401</tt>
Unauthorized - calling device is not authorized to read the secure content of the mailbox. E.g. a device presented the incorrect Device Claim.</t>
          <t><tt>404</tt>
Not Found - mailbox with provided mailboxIdentifier not found.</t>
        </section>
      </section>
      <section anchor="relinquishmailbox">
        <name>RelinquishMailbox</name>
        <t>An application running on a remote device can invoke this API on Relay Server to relinquish their ownership of the mailbox. Recipient Device needs to present the currently established Recipient Device Claim in order to relinquish their ownership of the mailbox. Once relinquished, the mailbox can be bound to a different Recipient Device that presents its Device Claim in a ReadSecureContentFromMailbox call.</t>
        <section anchor="endpoint-5">
          <name>Endpoint</name>
          <t>PATCH /{version}/m/{mailboxIdentifier}</t>
        </section>
        <section anchor="request-parameters-5">
          <name>Request Parameters</name>
          <t>Path parameters:</t>
          <ul spacing="normal">
            <li>
              <t>version (String, Required) - the version of the API. At the time of writing this document, “v1”.</t>
            </li>
            <li>
              <t>mailboxIdentifier(String, Required) - MailboxIdentifier (refer to Terminology).</t>
            </li>
          </ul>
          <t>Header parameters:</t>
          <ul spacing="normal">
            <li>
              <t>Mailbox-Device-Attestation (String, Optional) - optional remote OEM device proprietary attestation data.</t>
            </li>
            <li>
              <t>Mailbox-Device-Claim (String, UUID, Required) - Device Claim (refer to Terminology).</t>
            </li>
          </ul>
        </section>
        <section anchor="responses-5">
          <name>Responses</name>
          <t><tt>200</tt>
Status: “200” (OK)</t>
          <t><tt>201</tt>
Status: “201” (Created) - response to a duplicate request (duplicate "Mailbox-Request-ID"). Relay server <bcp14>SHALL</bcp14> respond to duplicate requests with 201 without performing mailbox relinquish. "Mailbox-Request-ID" passed in the first RelinquishMailbox request's header <bcp14>SHALL</bcp14> be stored by the Relay server and compared to the same value in the subsequent requests to identify duplicate requests. If duplicate is found, Relay <bcp14>SHALL</bcp14> not perform mailbox relinquish, but respond with 201 instead.
The value of "Mailbox-Request-ID" of the last successfully completed request <bcp14>SHALL</bcp14> be stored based on the Device Claim passed by the caller.</t>
          <t><tt>401</tt>
Unauthorized - calling device is not authorized to relinquish a mailbox. E.g. a device presented the incorrect Device Claim, or the device is not bound to the mailbox.</t>
          <t><tt>404</tt>
Not Found - mailbox with provided mailboxIdentifier not found. Relay server may respond with 404 if the Mailbox Identifier passed by the caller is invalid.</t>
        </section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The following threats and mitigations have been considered:</t>
      <ul spacing="normal">
        <li>
          <t>Initiator shares with the wrong Recipient
          </t>
          <ul spacing="normal">
            <li>
              <t>Initiator <bcp14>SHOULD</bcp14> be encouraged to share Secret over a channel allowing authentication of the Recipient (e.g. voice).</t>
            </li>
            <li>
              <t>Verticals allow Initiator to cancel in-flight shares and delete completed shares.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Malicious Recipient forwards the share to 3rd party without redeeming it or the Recipient's device is compromised.
          </t>
          <ul spacing="normal">
            <li>
              <t>No mitigation, the Initiator <bcp14>SHOULD</bcp14> only share with receivers they trust.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Share-url and secret is exposed to Recipient plus some other users.
          </t>
          <ul spacing="normal">
            <li>
              <t>Verticals <bcp14>SHALL</bcp14> ensure that the Provisioning Information of a share can only be redeemed once.</t>
            </li>
            <li>
              <t>Relay Server <bcp14>SHALL</bcp14> ensure that only first Receiver to claim Provisioning Information gets it.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Network attacks
          </t>
          <ul spacing="normal">
            <li>
              <t>Machine-in-the-middle:
Relay server <bcp14>SHALL</bcp14> only allow TLS connections.
URLs displayed to user <bcp14>SHOULD</bcp14> include the https scheme.</t>
            </li>
            <li>
              <t>MailboxIdentifier guessing:
the MailboxIdentifier is a version 4 UUID <xref target="RFC4122"/> which <bcp14>SHOULD</bcp14> contain 122-bits of cryptographic entropy, making brute-force attacks impractical.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Risk of hosting malicious or untrusted scripts by relay server preview page (ReadDisplayInformationFromMailbox)
          </t>
          <ul spacing="normal">
            <li>
              <t>Relay server should either not allow hosting a third party JavaScripts on a preview page or implement a policy and utilize tools to maintain the trust of such scripts (e.g. force client to verify the script against a good known hash of it).</t>
            </li>
          </ul>
        </li>
      </ul>
      <section anchor="initiatorrecipient-privacy">
        <name>Initiator/Recipient privacy</name>
        <ul spacing="normal">
          <li>
            <t>At no time Relay server <bcp14>SHALL</bcp14> store or track the identities of both Initiator and Recipient devices.</t>
          </li>
          <li>
            <t>The value of the Notification Token shall not contain information allowing the identification of the device providing it. It <bcp14>SHOULD</bcp14> also be different for every new share to prevent the Relay server from correlating different sharing.</t>
          </li>
          <li>
            <t>Notification token <bcp14>SHOULD</bcp14> only inform the corresponding device that there has been a data update on the mailbox associated to it (by Device Claim). Each device <bcp14>SHOULD</bcp14> keep track of all mailboxes associated with it and make read calls to appropriate mailboxes.</t>
          </li>
          <li>
            <t>Both Initiator and Recipient devices <bcp14>SHOULD</bcp14> store the URL of the Relay server they use for an active act of credential transfer.</t>
          </li>
          <li>
            <t>The value of Mailbox-Device-Attestation header parameter <bcp14>SHALL</bcp14> not contain information allowing the identification of the device providing it. It <bcp14>SHOULD</bcp14> also be different for every new share to prevent the Relay server from correlating different sharing.</t>
          </li>
          <li>
            <t>Display Information is not encrypted, therefore, it <bcp14>SHOULD</bcp14> not contain any information allowing to identify Initiator or Recipient devices.</t>
          </li>
        </ul>
      </section>
      <section anchor="credentials-confidentiality-and-integrity">
        <name>Credential's confidentiality and integrity</name>
        <ul spacing="normal">
          <li>
            <t>Content of the mailbox <bcp14>SHALL</bcp14> be only visible to devices having Secret.</t>
          </li>
          <li>
            <t>Relay server <bcp14>MUST</bcp14> not receive the Secret with the MailboxIdentifier at any time.</t>
          </li>
          <li>
            <t>Content of the mailbox <bcp14>MUST</bcp14> guaranty its integrity with cryptographic checksum (e.g. MAC, AES-GCM tag).</t>
          </li>
          <li>
            <t>Relay server <bcp14>SHALL</bcp14> periodically check and delete expired mailboxes ( refer to expiration parameter in the CreateMailbox request).</t>
          </li>
          <li>
            <t>It is recommended that URL and secret are send separately. But if the Initiator sends both URL and the Secret as a single URL, Secret <bcp14>MUST</bcp14> be appended as URI fragment <xref target="RFC3986"/>.  Recipient Device, upon receipt of such URL, <bcp14>MUST</bcp14> remove the Fragment (Secret) before calling the Relay server API.</t>
          </li>
        </ul>
        <figure anchor="link-with-fragment">
          <name>Example of URL with Secret as URI Fragment</name>
          <artwork><![CDATA[
“https://relayserver.example.com/v1/m/{mailboxIdentifier}#{Secret}”
]]></artwork>
        </figure>
      </section>
      <section anchor="second-factor-authentication-for-recipient-credential-provisioning">
        <name>Second factor authentication for Recipient Credential Provisioning</name>
        <ul spacing="normal">
          <li>
            <t>Vertical determines need of a second factor to Provision Credential on Recipient device. This determination is done on the basis of known security properties of the communication method used to send the invitation.</t>
          </li>
          <li>
            <t>Verticals can use PIN codes, presence of Initiator Credential or other mechanisms as second factor.</t>
          </li>
          <li>
            <t>Details of the second factor and policies around use of the second factor is out of scope of this document.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document registers new headers, "Mailbox-Request-ID", "Mailbox-Device-Claim" and "Mailbox-Device-Attestation"
in the "Permanent Message Header Field Names" &lt;<eref target="https://www.iana.org/assignments/message-headers"/>&gt;.</t>
      <figure anchor="iana-header-type-table">
        <name>Registered HTTP Header</name>
        <artwork><![CDATA[
    +----------------------------+----------+--------+---------------+
    | Header Field Name          | Protocol | Status |   Reference   |
    +----------------------------+----------+--------+---------------+
    | Mailbox-Request-ID         |   http   |  std   | This document |
    | Mailbox-Device-Claim       |   http   |  std   | This document |
    | Mailbox-Device-Attestation |   http   |  std   | This document |
    +----------------------------+----------+--------+---------------+
]]></artwork>
      </figure>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="CCC-Digital-Key-30" target="https://carconnectivity.org/download-digital-key-3-specification/">
          <front>
            <title>Digital Key Release 3</title>
            <author>
              <organization>Car Connectivity Consortium</organization>
            </author>
            <date year="2022" month="July"/>
          </front>
        </reference>
        <reference anchor="ISO-18013-5" target="https://www.iso.org/standard/69084.html">
          <front>
            <title>Personal identification — ISO-compliant driving licence — Part 5: Mobile driving licence (mDL) application</title>
            <author>
              <organization>Cards and security devices for personal identification</organization>
            </author>
            <date year="2021" month="September"/>
          </front>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC4122">
          <front>
            <title>A Universally Unique IDentifier (UUID) URN Namespace</title>
            <author fullname="P. Leach" initials="P." surname="Leach"/>
            <author fullname="M. Mealling" initials="M." surname="Mealling"/>
            <author fullname="R. Salz" initials="R." surname="Salz"/>
            <date month="July" year="2005"/>
            <abstract>
              <t>This specification defines a Uniform Resource Name namespace for UUIDs (Universally Unique IDentifier), also known as GUIDs (Globally Unique IDentifier). A UUID is 128 bits long, and can guarantee uniqueness across space and time. UUIDs were originally used in the Apollo Network Computing System and later in the Open Software Foundation\'s (OSF) Distributed Computing Environment (DCE), and then in Microsoft Windows platforms.</t>
              <t>This specification is derived from the DCE specification with the kind permission of the OSF (now known as The Open Group). Information from earlier versions of the DCE specification have been incorporated into this document. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4122"/>
          <seriesInfo name="DOI" value="10.17487/RFC4122"/>
        </reference>
        <reference anchor="RFC5116">
          <front>
            <title>An Interface and Algorithms for Authenticated Encryption</title>
            <author fullname="D. McGrew" initials="D." surname="McGrew"/>
            <date month="January" year="2008"/>
            <abstract>
              <t>This document defines algorithms for Authenticated Encryption with Associated Data (AEAD), and defines a uniform interface and a registry for such algorithms. The interface and registry can be used as an application-independent set of cryptoalgorithm suites. This approach provides advantages in efficiency and security, and promotes the reuse of crypto implementations. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5116"/>
          <seriesInfo name="DOI" value="10.17487/RFC5116"/>
        </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="RFC3986">
          <front>
            <title>Uniform Resource Identifier (URI): Generic Syntax</title>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <date month="January" year="2005"/>
            <abstract>
              <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="66"/>
          <seriesInfo name="RFC" value="3986"/>
          <seriesInfo name="DOI" value="10.17487/RFC3986"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="Tigress-req-03" target="https://github.com/dimmyvi/tigress-requirements/">
          <front>
            <title>Tigress requirements</title>
            <author initials="D." surname="Vinokurov" fullname="Dmitry Vinokurov">
              <organization/>
            </author>
            <author initials="A." surname="Pelletier" fullname="Alex Pelletier">
              <organization/>
            </author>
            <author initials="C." surname="Astiz" fullname="Casey Astiz">
              <organization/>
            </author>
            <author initials="Y." surname="Karandikar" fullname="Yogesh Karandikar">
              <organization/>
            </author>
            <author initials="B." surname="Lassey" fullname="Brad Lassey">
              <organization/>
            </author>
            <date year="2023" month="April"/>
          </front>
        </reference>
        <reference anchor="RFC2818">
          <front>
            <title>HTTP Over TLS</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="May" year="2000"/>
            <abstract>
              <t>This memo describes how to use Transport Layer Security (TLS) to secure Hypertext Transfer Protocol (HTTP) connections over the Internet. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2818"/>
          <seriesInfo name="DOI" value="10.17487/RFC2818"/>
        </reference>
      </references>
    </references>
    <?line 836?>

<section anchor="contributors">
      <name>Contributors</name>
      <t>The following people provided substantive contributions to this document:</t>
      <ul spacing="normal">
        <li>
          <t>Ben Chester</t>
        </li>
        <li>
          <t>Casey Astiz</t>
        </li>
        <li>
          <t>Jean-Luc Giraud</t>
        </li>
        <li>
          <t>Matt Byington</t>
        </li>
        <li>
          <t>Alexey Bulgakov</t>
        </li>
        <li>
          <t>Tommy Pauly</t>
        </li>
        <li>
          <t>Crystal Qin</t>
        </li>
        <li>
          <t>Adam Bar-Niv</t>
        </li>
        <li>
          <t>Manuel Gerster</t>
        </li>
        <li>
          <t>Igor Gariev</t>
        </li>
      </ul>
    </section>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+09aXMbx5Xf8St64ao1mWDAS5YllO2EIimZsXiEpOx1Epc9
ABrAmIMZeA5SsKyUf8R+3FTtb9mf4l+y7+pjDoCUr9guq1IxAfTx+vXrd/fr
IAg6RVTEeqC6V1mY5BOdqcNoGhVhrA4yPdZJEYVxri71qMx0vOx2wuEw0zfY
PppmOs+7nXE6SsI5DDHOwkkRhFkRFPxbsL3XycvhPMrzKE2K5QIaHR9dPe2M
wkJP02w5UHkx7nSiRTZQRVbmxe729uPt3U6Y6RCm2F8s4gjaQudchclYXegw
Dq6iue52btPsepql5cIHfXz8jEAfXRwJ6Jce6Nd6Cb3Gg44KlECIf2b6qzLK
9Bw65J0bnZQaWqg3HFspXl73E4ArSqbqGfbH7+dhFMP3MuGfI11M+mk2xZ/C
bDSDn2ZFscgHW1vYEr+KbnTfNNvCL7aGWXqb6y0ZYwv7wh7NyiH0Hkfz+fIm
Mj/ibzGgNy+8kcdhERZZOLrWmRsZ9m2rsWUwdicvANefh3GawIKWOu/kc2jx
+VdlCsMOVJJ2FtFA/b1IRz2Vp1mR6UkOfy3n+MdnHSCOvU4nLItZmiGuASCl
ogR6HvbVx1GSXpdZekPfMt0czqMiW9Z+AgjDJPqaNn+gkBK0Ok5G9JtmnI5v
TI8/h/h7f5TOK/N92lcfhbB/4+g6zLwJP02nOp/Vf7vHjMtr22XFlCd99VzD
lnmznYRFMYvC3PvhHlPNY2y9Ypb9vjrXcayLSPvr2o/1y9oP95gp/HxhuqyY
7rSvLmehN9FpNLq2X9WmiBezcKiL+iwJdMln4Z+naTqVKTqdJM3m0O+GTtzB
wUEgvCf4SC+Dve0BDWApSclsA3UQZuogTRI9gs5RscQPSIlROadmhqcZVgbD
Ae+IdZhrtdelJnAkoMXu9u5usP0udwqzqYZTYw7NCI6eN4ecmdskTsNxMBZA
rxHQIF/oUTQRVrUFC1Pq+PIs2Hm0vbMXvLNuGWNmbDkyElzIWN9EI52rSZqp
hc7yNAHwI2I4ZvzKCs/b26jvvv1vAgHwDDw0TArgzrAMYEzAUXUy0tTiHM61
egdINB1GQBj1Jhvzw+ebKnRcuIa6nWD7cSvqbm9v+1GeEsqIm8BCtx4+3n70
oD8r5jFw/GTib73IkgBYMciMFnwFgrZ2NrKWkVT7Nk7OmrNT7XnQV/t5EX1d
6XUAFLX0v690afKf9Ryo2vuJeh7mMHyl45MsHJvvOxVKEBxWxFltv/aC7Qet
+8XCBA/lVk2cBP5wQNlBEKhwmKMwKTqdNlUhjOP0VpU5EKYqUhWORgjVh+lc
g5AAis+B9uFjoaFtmSO5FTMdZWouNMgHoK/OkAJDGkjNgHuG3iwKKDyUpiB5
ZmGG40QFTpjCcDBJhD2SsCgzaA6DqBFsVV9dzeAHkHwlLghGyEdZNNTY1owy
QfCLWVjwSnIFTAC0ggjb81ENgTfnOUOmX8IpjfC0ABzRHAU4AmEGI2CUMAuF
21bkcLyutVrM0iIlXBhocoRO266LLCXM5bO0jMdqqJlJaAJiAScVdrW+HsB/
CouaRAktKdGwEtRfFsAbEay5BsZcJtFXpa7QiUondl4fz33e8Hk0Hse603kL
mHqRpeNyRHyoc1LZMnULVKT0DSw4SkagwdHmIgMqC+IegIFFegs/VzjeKFyE
MEwExw5ghvXpJBzG2PUGAErL3O4eEQWgoRzNlNEgcaq4hH2kVrCMKhnhoqdh
lBgyRIJEzMKmwdS8y7yRwNhpNzLGR4YENAXcFXrsOvMOjbLlokjhx8UsGoF+
VwAF4O7CqmS/Qd0y+B3jnLQkDfNFbjU4AfSc4/h5i9LNcxkqgJXBiS14g5qN
+UBU1l4d/xzYYYRaOIwAu/oEABhjJ9RacXCDk57F+qKEXRghJvA3oHFgGktl
uDkgJ4WdTmCyAuQ7AdjGDcqcMWBQONNzWliO5CyEZ4fE3XcgfwzwgNyJ5VyY
iWTDgZQAvAiZylyPZqCB5HM5GsCazN4jGRZwNEEHSQqiA2iBO9DKueC3G1wk
nPgc5GkGm7YEyLM096HpdJqsqWVHUILnwPVsT8Qj74Ggvsn2enBkXxYNtkVb
yUxFI5ejg8Z8jjSzxrk1TGOidczsxvFCmEAnCAXiPtPTElkWnNI58AVRHuYa
RC/sxwZ1BWFUoAIBDDwPpzAVcLo5oJ0Uu03enBovXMVPPGYG+1FGKP9/fr45
WsJ/gQKzGz4MPg0sUkB3cZtW2SMxinE0QTtwkqXztXAyOMcJrC4s0kwM11G0
iFjkMGOah0vYbD4cDvtaDcFKoy5AP7DLyL+AZ8M00BrXhfTpH2aYSFSpNOGZ
K79G7lfYHzwnU63mYGkjYmJAfMEgOHCFeyAIOOskyqBxHX6COg6jObXxJgF0
XuFpn0UgCPBHQOc0Bcz2GvIIiNouqS7IRKFGiZAozw2AiwPGO5/zyoFZTMKR
3tg/P96kAxd64wMhgImaxmpYRnEhuoZhNurDq6tz9feLpwePd3a2P3O8gsWL
P47jSGBCwK5dAuGAHc1MqVXyEv8HZvOXy7NTNyNO9mj3ncefeRIhRGmMyGuc
IGIf4l6w5NbGteCoGZaNzBz5EwjqA1Ja2HPyn+oQAYvoE+wPwA1mi0JfSK66
Jy8ur7o9/q86PaO/L47++uL44ugQ/778cP/5c/tHR1pcfnj24vmh+8v1PDg7
OTk6PeTO8K2qfNXpnux/Cr8geXXPzq+Oz073n3cRWUVVk8mIxphR6AzOKwni
vGNUtjH2eXJw/n//u/NAvXr1H4Dc3Z2dx69fy4dHO+8+gA+3M53wbGkCiOSP
QJbLDpg1OkRVBfU81EIQs0imxDpuEwUnWwMy//B3xMxnA/XecLTYefCBfIEL
rnxpcFb5knDW/KbRmZHY8lXLNBable9rmK7Cu/9p5bPBu/fle38ClUsrMFn/
9AES0FvqmU40yosrIP+8E7SJuA2k0QgMzKX37aYK4NN9NCSrG5ClF32t1Qs8
BCTdQquyLVKggLWK1wgb4/kbah4Tz868LEqcEsZGuIR9DHVxq3XCp83jdJW5
2hdrxbi3avMdrpm0tTt0JpIjLEyIVdylPeFC6hqawKrHa9QiUOOMGMTVOQXp
TVUiOpfAwUFOJ3a1iKCKkAnUvq+ohuMxC37k9y2YBCCKmVF5GoMdQSNYJYwJ
Eov/JowBo0crAV2bvAZo31PlAq1bllZAqFHC+7zxPJro0XIELPYkTMIpyfFN
BA5n9pVsqwmb1RF7UFkaE9bbQEPRDaS2AGEAXYdLy39B8UwzQpr5BrYeDH0c
yFt/bGBrrN2T5YAAOiSF+J/RkiDVw0lqwKOTy4Qj4KBDOGCeqkCmVjmZoKoM
rYigYHlev9SBULP9Am+ugM+maAWRPTwRt+D9NrA2EOevi0wwOz/O4oBZNQst
LoNFAR3mq4cWSs7FE7Dw1oWkWF2bL8xhYuAhJGlA1Ed0aPkHmpkGGrOXQM4y
cKsxa5RxWCAEQZSM9UInOIO6hZGR1szeIaAroTY8aYXG2EOyIvzi/IWeg1LC
XCUVpRaGukUFgzRaPlGXGo4I4jNEvzzo8xmwJdArkIHinCj/yZwY2+nDlRCY
k6qOicIM25bhVi+MIDSmjuCb0co6ytkNAgwbA6gyVsw5sxGSQJdoPR29DOfo
tAbCIG8b/ASsAfRWtthD4P6yS3m5QH2tzZYGnfyJFhoFXoh8ZQb6YJgDdgE0
tOGqfKFuq6FuUrHU+gwDip6E3V3NNoikOB1db5UJ/ofFH/BwZFjYGCBnj8ZJ
CjS1REjg27QsiHZQBcEewOpioDYRHtKPTIdcNKQ5WOIs9PIiQw8PsJaQDH31
IVBIfp1Tt0RH09kQWj1Jh9R6puOFuolCOWuT8AakcNFi8IlBiA5Q6hxOYRpQ
lQgFREaMv3Zejz1kFjZvq+MDKmlMkGqLorEP9ki3YlcQi3C8zXjB9ujG1sID
cDhWOdCiZ3cD4qhPZISObuCY6TUeZuD5wF7JIzRD9+SbUNUEzUVip1l4g07k
DN2SjrJaMFOnMJ01KCynbycx7FuBZiDox5qEDg9eowxougizArQ2EGrXcJxA
kwLNFloBxSMQvCoy6PpwuGiM9btHqtgMrDz09bDB3zeD51r60dcqnBToDYFd
Enhj2ApWP6CNv7vCd3whfMYnLMzQPLcKAsHbM/Ph7+REs84kNJuRuaOr0ZMZ
tI1s7TWPLeu23hIN43kap7edzj5rdmh6jqse4ciYBaIS5bThQD4gLtAihYMI
zfoeD91AWbbJ1FuVZsaVU3Vps7jBdmDtiMRv88v0Pc7M4rL96Ii7KLmJCucd
YODRwWEcEdO07nMIPcOc9sKI9dV+h33a/aLufajIfTNKRDsHPL3QTb8CUXlt
IefupOD+df75z3+i2E2Kch4HZfGy6JDipboO94iXLi4E9ROOkXXwcIAatEDW
4zU9pImp8fFhtZGvIlCDi8t6AwO+N8rFoYGnuk/0IygxAk7HgaaCD2DugaEd
XadP3Tk+xDYXlwNQeDH+uBLNpiWNZnbenBkQ1m7kfyRMcscnvj9P6WLUsUDy
UGpgelc3pnNhoSL2l6/WBToXlwYsYGHRzRpi6sRpulD7YENIzOCQvCkToBV2
qHeUchOHrp31ugMg2ObSoPWp6Efut+M1/fNFmuTaDoAgT+wA8iOoeUiFzEyu
ZrACksUJMKyK1my1WUcJZHmS8y8lH1yakOEdMnLzEFSeIpqTEveCYmioYiwi
OqDLVn5Aslywyi4/d+JPUtiUdufuDAQVcCB0zllledwWZKr276lhibCin1RM
UnTTIZSwmiK8BhaDAEnsBNch7vI1XMsjVbJxXGyPvDYk3xqsgj0pxju6kjcB
ANZ3T4gX0zvEpabI9Pi0iiNCnAW63anvsSLSaUREsCluzWyWRiZAAQIqLcWb
Wp0S+bN1KzjrgfRE1gLzUcrWP3vHdB5NE1aeD+lv+A+Z/51Ohe4EQ8hm0/wu
i0n0+NxGFkJjPgz1BG0M1OMlvhpRmAlmHKYvUWvxOWQFgkOBIIwB6wfkcjiR
bvvnxzDnmHwtHLfyTQOcIs3GOvNcsnZKEDQmfGlGO5a8BxYsU3JaFWyW160O
UQqQ5uHU5GmZcaRCY1BzsVQbLHcp6gP7OoYzr4Mh+QekyWa/Dc1m0pzduQhd
keI5CKpGleDkgPzmAZvmaCLlnq5qF1ppLJHoohJXkBYUykgKFwAHnLFpekva
PHsRUrXFR8ubBD0dZa6GYLm63j4QqCLb3UZV1gQM0IOBXAojZZNoWqKqQqQz
R+u4wLhsV79cRBlnjaBeCoyt4N2VAQ+kq3CqT1A3oT6o3npQyDkfogoXkxcY
U/YmTCCH9JWhBUNVfVXddzuCMPBI9Eh0tqdjPH2w46OZBiZLrkMezijWeEoX
YCqysmtXRWya7Q0CgmOb1rEgU2PsYewRxouL54C95JrdIGaJGzitZku3p777
9n9MYkaGY4nNLL9TlsbNztZ8a2d378E7D9999Hj7u2//tSnGYlFmiU9QdXqR
SAvBgDotMZzcExpVt5IQGWkKrcLH6apw4ijro+rSORRGDuKGAmZD9Dlia/RT
IYAWIybixMynh9AhKS8tTftEUcI+siwNR0xAx8Xag9hck38O5RD5iKtsYwsI
zPNXjIpnKq952pz2XztjlZlI4Ml5H5Lc8FIZCAbYyurJ9vHCgsxRpIP2NC20
yXio+L5QJs5QT5iXcRGhr8UdgLpaAloiWpMMGExkkwXCKCM35yoX0qFJ66lM
zQdTNCFj3SHNC/Bm6RKDN7NZ+PptMgf+auwKy/06Ulz+UY2RoIhCrlAdv3VF
LvoAAjzNIxTfKl2ITglLczl5TIvGBWtgIL7pCM5EFyt4YjcTDLW8M66MES7f
44FsWyCDU2cik2Zy4zW2B42YZDgWLgG2MGgOupHrxPwAFJyYvUM2vDATgrHQ
UAyeVE101+TijLmNcjLF39SSww/3sePMl3eZc/jFfSw68+V6w46g6xg4yfqw
0A3YkGM9ru5hqQ5nDLNWdjv/fAfTZgvZArdSJVqWr9JV9D40e0DzM163z3dM
KyO7me+ibcOGjOf8/4BRNahpcv9INj7BnowqUVWg+2mD6jc7Hca+j5RBRRoK
SXbq8wpqBlVBIRqqwdV6jwljTXaoMirsy36radvxghJ29RdwMjjlH5SXAn57
ChqVQ4ZqYGPTrdpbiMM7Jk742+kITcEwvIfe3phskIY67zbVbd+qcZ+JkPTC
PpUhdqHNHZTRhpsXFIgTZGxUl9iOhrOP2onivMxnFRJqkMSdm9E6bg3t7Yfo
Pliv48uhvH1MRg0PuWKQvbuR3oqEe2Ldw0IF695uNLH+pifgjWkdWvfuJHkU
lyuR5pDTBmxFpq8kwfZT8hTYOCCkzfRHXmontl4gVBmsmZMP0B6v65lVnZR0
PKN+oLLhqZlkqW2tVvP6GBYbFaAppkmLScjpLi3KqeSUVJSt+nTiAFqES3I0
1idusT9tcLSy4PV2/CfGFe0rv9ZKkFAvBWXEs2iN1zoAPRk9d8P3UI03Knjk
6QNv51UY64vzoKphjtPgEFuS3lU3pnFKz4pon8jXQHqgqkWoS1tTwSplqZd0
UYcENbMy77H9dJcyiBqH1dX9KTaI+jiO2yQB+DIqNjEsE9+tcEqEnFYOGnoc
jStLZyC86XJNKQnDXCJmOP0Wp3FsiYrOXqP65qC5BeOX2tnzzqx+cXwoiV8P
dnZ3X7/ur4SbkrdQE+V8ToG6lDs3PugwBhrcmDrC2oQcnzAn15tM7XXGJANn
O22EN2mEJnnAZgY33KTIY0VDurI2aj7DhEMYKU6TaRDTEagwDQmpi3PLLbHN
5qn76pqnjQlQjM26vUv7FKoFyoWaGXP35D3JCRX+NkfTkPfY5hRZAxjQITza
8+V57DJy3xrbiY+GPe3rvX5ikpC7Bi8ICEZMDpFPWHRppElLzOFXOlEvi6wc
FcA0ObdyZbuIj3kjrccExysmn0nLaPX5tVmiIBPQNLc54yYZFXkRxi0ppZYC
xqujR4r/Yh8/pkXy55wzhgGReIUO/hhjbqQhhElqJFluENHHmAt1xMM/ybRm
rwQ53ikLOF3AWDc6xkwUvDyK6cQR8U7O207eJp9AXmaLLEIPbDRBambJT0lm
eADRIh0VnPwwxxg4Jm9666xOA/v4DV0FdP++UVeYXmc+mBAT/HlIeaZkx0Ov
gP65Xu0f6E9oLdDYBkAgiB7+oNSnsCs89zpqkUGsSW3WzujOjYUu+TgNjrCG
UnAvrjFrZYY3nVJUW3Ltz9GHNYxYv7NrOIzIz4Yh4coa9oGP2l9gX0y/opqO
SUqOlxYi5N8HctfsU+L1vp2rymVKJZ7REWgAkY7HuIlv4b/ViGPS63ToONyF
XiJs9k94OLaELDRLycZhQncnMvTrVGAkuuJZfXJa8Q/IATqr52jJ1n9pI7q7
/6mVTS1Fyg2FW1Qzi/4ozOA89EejUQt0r141L+K+fm22miNiPM5a5Hr3PzAv
BxPOOI0zdbGMNdd46xiuL4FYfjTqm9xhasaCFJfg3b5F2O3ivu8SZDqMA+Qm
GzHG2F6exprUcMpY9oFhid0nJ1fnFV677PLoXUW39ts3pNujlnKKugP1Sq5/
bm0ZEjOYkQOBv7/uvOZpBuqthbeiAKVwYDgJXhR9v3vHiei+Jmm35nwd2TTC
TmdlI0o9GurWHECRcNY0ZAks9l49u3BtTom748MagVWzawwPJWyouuyCe3Hx
vAvKWXsoRu4zObPV2EFuqpAluOMRYrRUZSFeDGelgnzjZBB2MZcb5mZ50LPi
BtPHCzcrBWbjKSbjzdihNk/HzEvRId3F6VeMgtnMDx/gQNBjjLYFsmWGQ5Kf
3dJWobWnwmvWSACNIOkLYHtAx+d8f97G3lhFemdn5yEcMcPjvYT2VSvqs5rk
UGV/ye1iWXFw0US0SIwuzqjcP9o//Hz/6PLznd1Hnz87OIGjAp/as10dMsmz
gLwo1skU/oTOgKQiR31VwSiMaWqVoGCkTPa+Erkam6P9sSY/8Mbxx5s2xU9G
hIU/fkhjKrzbnc6BOzj9lGJc4dRrbCDoV1e1+87D778q6PzLWZVlf4b8By2b
1+MGTNnQ4Phj5REfXlifdj0exz6KQM5mjcGxf0qdy8EVrinRU2RvmFpsOAGm
/Pl8QXT0MovhnDe0KbSJ8pVcxnp0TBwedkxuwb1ZkrSJAe07OBGweYhcYGHO
ljtALAgGjGsTOn5FY/FQH6Z58Xrr5tX+IvpYZwjG66351quG2fX6Tzfvv3I+
L5Ob8vqtV8ydvR1AwAJAUyCItdi3EHsYR/0IYazrGs9T0fL8L50S3qYDqVZt
x/uSutXWzgMjUOaTnU0UWUXdHH68Fi8ujoGY0Hdrsxhq3Zrm6726NRENLf5a
arzhafsQCKepct1EUFYx+TQLp3Onrze6kUhvu80EHMI7DOQAk5vNdB0CFO/c
ZAXldmsla6fucChMGhhmlk/K2Boat6gxtc1O7jlJVCUfijNrOCyHt5OB10R4
64GSxqNJ++FDhmUD2KFfOIrUNQRsBnyK7lzahZCd6hIvWtY0p1zm25AtGjvC
VC7HSSaySbWV/F3RLQEKtqSlm9GDJeea/DNWmaPkdQc236PlBDtYf5aWRQXy
Xs3cG9H9Fb4CVkuf9bfa5l/TNtKNkq+I4KzrmvWftu4wBRvlMs/YDNhUloZ6
FJZiU65Aqbn7DAvkUTL62kOBST8TPmpUrKp/ejW4tXXZPGzVvenSNvDVKMnu
xx8og1su0arjCcrKVjTmxuc95pQ51nTBMijxnrAY7JGUIGmlFCQ9ZIp2THNi
PyZNzZ11x/WkQYXnQQNzS3Ofh/8GZgRq+MNpmug/UAMsvOI5Pb5RM59FIBcC
wvOcImD5VxpUZMradKTd4TB8uLetg3d2Hg+DnR09CoaTh3vB9u6D3XC0s7e9
vb0L8mX01uy/4uxheHHw7kfTvyzOnl+d/i18nt++/74VLnAWqLDSSiFjYG4V
NvclCOFVoA1p6x93Z2OVQ4XyK7BABKn/Vu8v49jrbNIqpik1SLkKQVKsUh04
pZOyTsQcTm1lDV5QxaNZyaAkf/ZQ22uhHMui6+2S75hwnR+SSK9e/QlvSj/a
eQRKOwXS2adtTutYT0LgotIDz0a/cyEhGE4w4xRoNUzHaP9aVzxrNHxJW+mI
ElDo/jtW+7k6ea42hrbmCMzjL0Fsrmrk3t7ety4k9EdG5sq/NzMuFRTNffiZ
TaLci3O9uHoaPLL20MYLGB914VOE1iq+qCKqA7Vx+vRgcxNGSgi8G9EE3GB1
xocIbUImDmXpXfM+V265v51LqT5zjRV+u9mp9rfLpJo62Iu9fTuSqvhlyvTA
pR2oMAZe56B8deiSzhewRgz2RSjNWSJSLYgoJ+qFvlIygEjmQw1KZsb370St
CWT/g+PDDmFZQnJcTSeR2FGFQIkncoJ5wuPOaFzVbY7ZNbufMW2NOQAoZCYH
BlfoBrUpad7QJprB+NKjGXcUv76IGCFk7lHzoKKJyQrcstIY+Ho6isLCMQkL
HFeccIoKgZm1nRb0AVQjWDYQ2xZvuPLmBxtviteaU5MuB8dMLnR5dn2UGxTb
tcrUNr8MI8LEhKrYIFFnW+M9wdTetR33TGQaE+hQEC/JBjJsz8Bo56BdsWC1
7nanlppLiODLrLU1gfWJ0Ya8JM6GLHZprpnDZrQNzt5i9PtKsmWF5/BSajFg
OO41Xw1B7jfp4sa3TofKazmFYyfU4ZaxDnIb0q4C2+8cJxy6ocI8uAHsfKxg
eVyygrQCAz1jQjJe5UgZypXNpIHyIixKvIoF7HB3e6enomnCef4kB8w0dnZg
+Evj3ZeImJmfkRUQsposopIz1lufRIWHppLTYoVEzoIOAQhNtRB3jg3dZNrG
4GtbuGH9VldUJyCN0+lys3Ud+wXyZJMEw6uvr0Od7H/6BsDY3AhvbOfBO5N0
UfTg2dRRYPaYmXJ2dGKI2a8pEXrjoNfEcXBRNOWaj7nu6CDvoHzz1eysTMgr
QUadzGoukJBVcZNeS+Ii8rfarY+29A53tcFo6+Qx9UJDoDd72UrsTzWWkKnR
5vwlcq0V9ISmpR1JNYhVwV+qINRgsT3RjaoVReSWBzpeSItLTdiKhvfSMyhL
FjPtdf1o1bgvR6vUkRBxp3N+BkSstl7dWDcMtzB0du6nEJH7wCUVoYfQqAUr
fcimgXBQ2DFYTlUHwSQPPueeLkLXDm52vvv2XwAzawG1qVefkh+VkvvNqTiH
xk6Cu1ldeCXXpv2ky05ghAnWS1q1EPSI6v/I9zXPGlWDYJPQhumFbQUU6quq
FAP1hXeytr7M0+QLG00Zl6PmvAv5/s3nFYF918QXHvvudPxPbJ/yVdyXLpzR
EzW3GdKwbsbAGvobZ8MvwVyp7oaJBSzKjK+fAc2Z6qSw8J5nHVcjKT1TkHNt
vQyfUdTz84gDHxdcwS8v8qavdLcZmUFDF7Rudk+Ld/of6J7+h/VPe0Tlwl82
IMcGG5AYjrTbFz/2QD3Zvzx6+CBYFY3xoyuBGkc5VpTxV3pv7OLne2GYkCMJ
P+FaMWDUD3drha4ywW+wKyWdapFu3F2g8GP8Kd2Yl8T/jLXaWuhMJGid/A2l
yc6Q1b+a5fHPTQA2dH8KmyHOgu6m2Z6xi7K3DxqqIXCnSaXhyuFDjm2nar50
FZtHYSbz7fVVNA+nGgXKislcEHIRMVosbm1+qJuW0R8vkWb8vCwOfluSaeXE
LddRjO0j10uYKIg9s/LnqwMuF0VEIe0mel6HVFSLFLdxn29su022JVqrm7wR
TVoWUPOuSdjVuDYp65GpY9ORBzLEVty2rBfLKPfxnsXYS0li07GRAq0ul6DZ
z/1cFg9TK9GUTjxViCudEWb6auOISAZ4bp8rrYeLJGerZf/89NJSKIFKWLzv
smiaDfp/y26M7WMZpsCHgrgyhBQOAhYQwy4Figj7w6P/spwLi8ZQZNl8Q4Tr
mIctgO7fzfQRtBK1tTSPoPV26B1UbTP6/D49VweZFWLyL9ezSnu2c+1iZ9+F
oRoeHN2SQ+gpN2gqm9v0rGLJpSvPYu5VtdR8hrqAvZhunHC1BcF5iQpjobtD
wgOTr4ddJ2LW3+sU2kPEWLpgJK3X59YhlGi5mnrbzBnG2828QleW2R8jyslK
pN6cxN/vfGwSNE1GVijay9DUfGuIek64BYF+0RW5yVejac6e6n5ivuasZ/v9
ofle0pH5h74pRdWFAamJuZXtp1D7y/DuBkeFVQ48Qms93CftBIn73P0U/gUn
J8Hh4dVsNpjPB3n+t65JZdt4cXXATb9OE70p9s7e3t5jTIc2w1avcd9oJnYq
0WBvXwOVfZ9L122OnRVXrGUq/6Zp/SK1lzfVkBJeXpRJKxjUuWrPa2DYKbRC
PosXp/v9/l8/4fr4fvYUDRBg0nPAjFUiDvxyBrExllNHLuDgZTg0lThMZ/Bh
xeEoxYFK4IO9l1dA9VQOakU10NqbGrWC2pkIjR+VkfS1Y2wnK5U8C1Hf67B5
+m9LdgbDx5pt9+nh0QGg8PGjdx++82Bvd6c6fnPDWmZCsO+zZ9AOTFPcN5gQ
t646V5vAqE3n8zaa9uKTQ38uv1QB/MqPgsD/Hl3tPBi88+5gd/dvTUpht0Ag
0wfGEDQRKnaJmENi7K4jPwsFjTO24sAs/GJ3e/uLziU55WjB8BmMcRB9H9Hl
SW74BOw2MsDKLKYM0hUqJcWj/AS3Cnu19h17Jr8CfZIrXo1TrApKOhKnYjWK
bOApFzbgp82ICSRck+JWKMyjHE+ML/cvOeCKsZhhmmKduiroWItiRNcEbmea
gkjNCwjkdTXD4LWLtDC1UEkAS6QXEwoo6YT0vBGKYzOmUyxjsBLxwnQiNlWO
JbcXXMN1nPI9DLnnXM1lkg0AjnJXcNQVaggeAwXvB08ODPV11yCoOwDRrdcR
nAmRrKA4+dkjOaCxnRqN7RCNcV/aAD/yEvreZkPgG3d4oDcbggAlieeIbo4p
GSYADf2BtW9Ys7JVZO0loFY3PGblOk2Ir2pVvbUy0ds2SuICMNUrNVXnYUL3
iRdh5kWIXYTD5FP4d5mc29sGk1rWSzEX52Kn1JcyGTvnvSmLYD2rHhI4p8Qg
1GIOqypqkxCxNgSzOrpi6rK53W7iyY+oVPxusguCSPaHwpn54gEytifh2DJB
POV8Ucx6z4wJKWNsSMEDuZpAmpto42z8KXpTLplu8gRA1S8SW0YalRWc3nNf
iNLsNWm9lUjmWei8lGSDU4KjBdl4xmnJXrl858WU4EgljPETON0lZNzmYDeX
FSTEay/9rfW4V/xt59bjjtQkU+nJhDL1KeEdoCC1OW9JykHM3WCljnhpyKZx
6avmFn9R84pvvZo3khNXecobjvLBz+Ypt/aqA3OdUu/FLVZ6qRu+98Hvzvef
2vn+E8z5u9/9V+F3/92J+rsT9bfmRPXMlH+HqT/4sQ19zwZiGlhldEuhlfsb
3Q2z+jdssL6JqdlA8/cxNde4M36AIdpih/5AM3SNFbrQmali4AoPMhe6tyFa
TWdqMUTF0frz2aFvboYKHmpIuMMQ7fzIhmgNT78dO1TMK98+WmmJmlBPloGC
UktkRAgefNGBIw4aEhZ9sdYJb45VCRo2CwFFey/Ga7V00k+QMRanknDesFL5
IQFkeNh6TPUrRKP1K99XwkyCB/sohilHs64kkYVglU16ePT86Orod6v0t26V
3tsJ/70PuIkj/gKOd1WwcFa3x79hBnPDrqXAdhtnxRUbNupqJ/OzqDGXFSWO
auKIGxS3hUkx/Jv64qcaVhSWvCkMCePBh43gml997sdnUvYCrzzrJsG9ypua
xuUmZevtBgustWoFIV8Vs7mjwJDOFjp5hvmnNoy7qN2zN/GFdLroz7UfYgHk
2O6Bu4DTBmeUO9GFFClNQnbV8RtMXpIR146y7/94eO2xYROdmFI8mfoELNp8
f7FocNBnR1c/G/v8RXPPnycDFD0aW7NiHn/xA6KLivB832TElbmApsxKlaZ+
ILGTfULGzHu4TKr6Gr18v5tOB7WOW0n+VvcDNjLfQwSZv8mC+cAF1N/b4m/k
ZyA19z44DSwBeznn7/the7W1phsZvrYXxeq3vlzo6dpelei/7VzPAVg3QpnF
Xk+6kQhIWduFYPM6taUS8KvL/J/+l4v1q6ABB7fRuJh5wz7c2b1Hrxk+UlZ4
3R5sP8Ju7235u0hU/kHX2qsoZwKh2cBjew3LldKK2nhzqw37o6nTa8um/oSC
qxaWaRdWbxIX8lFmHL+b7Zccftebfxl68/5PpTf/G680fG+5ZuMnbdv6BvET
utmMPIwOzDBOhz9ODOWnuwdAEFto/533AKj+3R1IuCtJsuCrBC3RFLolzOmF
8irTqnxKfPykAPsj870PLqP3qNbeLwBm36/zcywZoLyQR7jeLFuT3yiXkgT2
YWzcIG8PTIlMg9FbrtbCdQf8hfuOXzgUv2cl1tP8OMtvJ9jZCbb3rna3B3u7
g70Hf/NrTJFOIYWmRHC2qxNSb0p42SpN4vt5DuyjMyLJjQSv5qH/292FoIBE
CZzOfPZTKjVmDlwVXtO+TUCezqJFAxuNkjMNxyCxqDLD6s/xUqHQBAs/n+mW
YqlN1+EbQEJ51a59/WkrOe+2RHfoFaVuVm31Cm23lBiPuCbTmsvV/KJNXVfb
vzr48Hdl7ReirP0CnJy/3tCcO2dvEJ5rsK7fSIjOIeNXF6b7vqLScuUf5Gjv
KVvK1J+s7RmFX4FPHo8/ayimvjKq2FwHqF6HtZjhEZcirMB9p1IuiGrukBN/
JP31eFB9cFRK2tk6MLdZCgP6D6oo5bd3acWYC1NmoAtyARVSZaXCIRWyCqmy
UQKapi2v6T3T6gkRJy/5Yu5NCrsnuWH+E7CsVDtQMBYYgphGB2Ugb5fLcrw7
SY7S+Tfm1vjAKz5I5+aWp4K9l85xgr1sTEUslpZ9odmj51IsVAjOjvJ27hEf
zgxCPKLqv7yY09Tbn3olQEEtvSNoLAPYFanokxFkQCxZmdO180tTY42LdjDm
YVpQllMxQ9zqFnGJJa/n8oybee+xjmKpwZTkZeZZaCuNYkr1YlBRISLIKUqC
KCLugcVxeJKW5wP9eaivYey8YA72IsdZCQA9Oh4ROk51cZtm1yidw9F1LrOe
hKNZlOgAKARWEsyj8TjWA7E/WmSZe8RRXT2/9Iq6CbIU3prJjakvWQC5u5bg
V3LkSmz5aKbnFgtNnWYK3De39zmVzy2qxVJCq3w9aJZFsTW0CApT3gZ+Cqj0
L8WIWgqm4C3aa0TqMCsLjZEozohHDNIbgvhGJ1AGPXYZ5dc4EL44ycLbHCKg
3TIhusRTRvZmjnwt8/FrwlULjD1t3BkV3KyQjb1tS5a8FKkjSUJbZUBC31Rk
T+xfwpvwUqAh66UCAgBtC1Pjb/jmM5eWLIsIH6GArU35MRu8WiXlgjSfP3rh
uQSEm9Uy52L8sbGPHfFdbylKxg1VOMWiCYV5yhhrrGJ505xqL0cFK32OJ2x5
Jxjf9B4tkXuDwp2krG+3kDCX70HOBLt3zfKSCIme+4Zp7vMAEW54Rb3AYVre
vuHIKF14EZrzY5eVl7LMazBV5u/0axC3zFXJxWVe7MH3OYf+kz90CfUGC0Li
zRrLqHFvjX1YQQq5zEldiPlekhvKvAFef9aHc0p9dsyLYkFdKXdXSw3OtMtE
Cv3kV6NI2VyZSm06LKoE58VXZjblVZhx5f2va60Xsq/Ie2N7hR5lnhuS5EZU
yE3Aa34Z1D3O5Kem2v6IhSf3eZqqUfiN6gpPmpgncVWaansJvfeLhQVHRS1m
bd8UqRPdGgNuVrP4/KtXv2pKbItxiSZroz09pjUssit3vglEf/FhslyBAM9q
WfESlOUBnUrp6bdzrmsgH1EtRQrB+plTVFKRNR20urmccUGnCWW5vGJniEpe
YmD9sfG0MhWQ86ob0tiia1rNtSk08cVkQANdlF8NGw0+LYGQElgRSku7Ih68
KjnpKnxezoXln+wf9LDSf4DV+otwutkAntfecp3eU1Kbt+o3XGTd839XnmOn
OEzbZUl+7F6eB8birDoZm/rGVD3a6YthpuVdN41jFzpe9tWT0lbr9gwFqqBP
ssOM4e0C5QahGhNLkWv53ta4XSwYiJCr2U5M1XPxwz9+9BBrHTR8Zz1+L5z2
feHELk1BY6OrRgjCVlLf4Mk3TR1qY4Q2TiS6r9jjft+X21s8bLbE/nff/sv6
oPH2doDUE9iViudZnMu4FMSj/2Km4Masw7x4AFuItVr5BeOaCTWpHNxVj152
nI6PSRnkZAIao0rerMNX5gCacw93emOmSYNJSClWM6hlV2OsWSoybxjmESke
rO3kxqaVJILIRcBanwA2MRUiU7b+zYv3/Y5vvKAJguLm/PiUimPmPXEb8KUU
R8r+kjIxiOxT2ChIq/ggrlx9HaWKL3qHHvXHiJ4/IXdCmev2xoiKkil5BOtv
lBbmkr7H+6f7LUa/1w4of4o3CrKcxA/LQyyC0uIH8r71HZRdgrz+kydlux1h
M91z2N4wwWlN+pi4XPl1iFPgSnlXvff3zzbMMbq9ve1HYRL202y6xQ8vItj5
ljzVFQjEmx946UF/XPda1h9b/qx3+CMN800TOmX/fYPEzRWq8YE3qqX6DVmD
JIxH2PSbHxea5pZ40CgyFPnPvBgrfl/O3+lvasNUnMw/eBhfq7r/MD8Cbgyv
RCoRaggwZhgU/MatidQxmQMT8Opc09skMAqVzMYDg8I9i4YlHLGGe2yhU+S4
1qWHzlx8kgI1iZHpRw4z8hJ6iyVn2RNQ5g9mWCo4Qy0izEGt3QeD82v49Bcd
JsHzcqSegYgux+RbKgr1ZAnzFmmCxlqsX0KHJ2U8Da/TG1RxgcvhQyFlvMTx
smWO+XZ/jaj1OJyrJ2EWnEY3NFhS6lg9g3PCsx9PgYU8CzFJiArPj5CnxnpM
AgMXfnZ4Bhq2+Rb0nv8HV2DreyquAAA=

-->

</rfc>
