<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.35 (Ruby 3.2.3) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-crockford-davis-base32-for-humans-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="base32-for-humans">Base32 for Humans</title>

    <author initials="D." surname="Crockford" fullname="Douglas Crockford">
      <organization></organization>
      <address>
        <email>douglas@crockford.com</email>
      </address>
    </author>
    <author initials="K. R." surname="Davis" fullname="Kyzer R. Davis">
      <organization>Cisco Systems</organization>
      <address>
        <email>kydavis@cisco.com</email> <email>kyzer.davis@outlook.com</email>
      </address>
    </author>

    <date year="2026"/>

    
    <workgroup>Independent</workgroup>
    <keyword>encoding</keyword> <keyword>base32</keyword>

    <abstract>


<?line 70?>

<t>This document details the formal specification of Base32 for Humans; an alternate Base32 alphabet which extends the "Handled by Humans" text found in Section 3.4 of RFC 4648.
This base features an alphabet curated for expressing numbers in a form that can be conveniently and accurately transmitted between humans and computer systems.</t>



    </abstract>

    <note title="About This Document" removeInRFC="true">
      <t>
        The latest revision of this draft can be found at <eref target="https://github.com/douglascrockford/Base32/blob/draft-00/draft-crockford-davis-base32-for-humans.md"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-crockford-davis-base32-for-humans/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Revise Universally Unique Identifier Definitions (uuidrev) Working Group mailing list (<eref target="mailto:uuidrev@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/uuidrev/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/uuidrev/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/douglascrockford/Base32"/>.</t>
    </note>


  </front>

  <middle>


<?line 75?>

<section anchor="introduction"><name>Introduction</name>

<t>Douglas Crockford's Base32 has been published at <xref target="DCB32"/> since the early 2000s.
This Base32 variant alphabet has been widely implemented and tested across the industry as an alternative Base32 (<xref section="6" sectionFormat="comma" target="RFC4648"/>) and Base32hex (<xref section="7" sectionFormat="comma" target="RFC4648"/>); however it does not have a standards-based document published with any standards body.
Since Base32 itself was published with the IETF; it is fitting to publish this Base32 variant with the IETF as well.</t>

<t>This document serves to provide a standards-based reference for new libraries and for future RFCs to cite.
One example is its use with Universally Unique IDentifiers (UUIDs) defined in <xref target="RFC9562"/>, where Base32 for Humans is a recommended alternate encoding method via <xref target="new-uuid-encoding-techniques-ietf-draft"/>.</t>

<t>Where possible, the content of this document mirrors the text of the original webpage, with expanded commentary and clarification where required, such as new encoding and decoding test vectors and comparisons to newer BaseXX alphabets.</t>

<section anchor="goals"><name>Goals</name>

<t>The goals of this Base32 alphabet are as follows:</t>

<t><list style="symbols" spacing="compact">
  <t>Be human readable and machine readable.</t>
  <t>Be compact: Humans have difficulty in manipulating long strings of arbitrary symbols.</t>
  <t>Be error resistant: Entering the symbols must not require keyboarding gymnastics.</t>
  <t>Be pronounceable: Humans should be able to accurately transmit the symbols to other humans using a telephone.</t>
</list></t>

</section>
</section>
<section anchor="comparisons"><name>Comparing Existing Alphabets</name>

<t>When examining other BaseXX alphabets against the goals defined in <xref target="goals"/>, the following observations are true:</t>

<t><list style="symbols" spacing="compact">
  <t>Base10 and Base16 (<xref section="8" sectionFormat="comma" target="RFC4648"/>) are well-known alphabets but tend to produce encoded outputs that are too long for human consumption.</t>
  <t>Base32 (<xref section="6" sectionFormat="comma" target="RFC4648"/>) and Base32hex (<xref section="7" sectionFormat="comma" target="RFC4648"/>) strike a balance between compactness and error resistance but include characters that are challenging for human use cases (see <xref section="3.4" sectionFormat="comma" target="RFC4648"/>).</t>
  <t>Base36 often uses the entire alphanumeric range and cannot easily substitute problematic characters.</t>
  <t>Base58 used in Bitcoin (<xref target="Base58btc"/>) removes similar problematic characters (0, Ii, Oo, Ll) but introduces both uppercase and lowercase letters, which can cause issues for case-sensitive inputs.</t>
  <t>Base62 (<xref target="IEEEBase62"/>) is a large alphabet with no symbols but, like Base36, uses uppercase and lowercase letters and therefore shares the same issues as Base36 and Base58.</t>
  <t>Base64 (<xref section="4" sectionFormat="comma" target="RFC4648"/>) and Base64url (<xref section="5" sectionFormat="comma" target="RFC4648"/>) provide compact encodings but require uppercase, lowercase, and special characters; removing any alphanumeric character typically forces a special character into the alphabet, which is undesirable for human-oriented use.</t>
</list></t>

<t>The length of the Base32 alphabet (32 characters) allows selecting a subset of characters while omitting problematic ones.
While this is not the most compact encoding available, avoiding symbols and treating alphabet characters as equivalent improves human readability and reduces transcription errors when reading aloud or typing.</t>

<t>Compared to Z-Base-32 (<xref target="ZB32"/>), many design considerations overlap, but Z-Base-32 removes a different set of characters (0, 2, Ll, Vv).
Z-Base-32 also reorders the alphabet in order to make certain characters appear more frequently for its target use cases.
As a result, Z-Base-32 does not follow US-ASCII collation (<xref target="RFC20"/>) and does not sort the same as its binary counterpart.</t>

</section>
<section anchor="alphabet"><name>The Alphabet</name>

<t>The Base32 for Humans alphabet, which can be referenced as "Base32plus", is a superset of the Base16 alphabet and an alternate version of the Base32hex alphabet; both featuring US-ASCII <xref target="RFC20"/> characters.</t>

<t>The encoded data conveys each character as a 5-bit value.
If necessary, values are zero-extended as described in <xref target="padding"/> so the input data length is a multiple of 5 bits.</t>

<t>Base32plus excludes four letters: I, L, O, and U.</t>

<t>I/i and l/L can be confused with the number 1, O/o can be confused with 0, and U can produce accidental obscenities or be confused with V/v.
Note that 5/S/s and 2/Z/z are not modified in Base32plus, although these characters can look similar in handwriting (see <xref target="ZB32"/>).</t>

<t><xref target="alphabetTable"/> details the alphabet characters along with their respective decoding and encoding values.
When encoding, only uppercase letters are used.
For more information on decoding, see <xref target="decoding"/>.</t>

<texttable title="The Base32 for Humans Alphabet as table" anchor="alphabetTable">
      <ttcol align='left'>Value</ttcol>
      <ttcol align='left'>Decoding</ttcol>
      <ttcol align='left'>Encoding</ttcol>
      <c>00</c>
      <c>0 O o</c>
      <c>0</c>
      <c>01</c>
      <c>1 I i L l</c>
      <c>1</c>
      <c>02</c>
      <c>2</c>
      <c>2</c>
      <c>03</c>
      <c>3</c>
      <c>3</c>
      <c>04</c>
      <c>4</c>
      <c>4</c>
      <c>05</c>
      <c>5</c>
      <c>5</c>
      <c>06</c>
      <c>6</c>
      <c>6</c>
      <c>07</c>
      <c>7</c>
      <c>7</c>
      <c>08</c>
      <c>8</c>
      <c>8</c>
      <c>09</c>
      <c>9</c>
      <c>9</c>
      <c>10</c>
      <c>A a</c>
      <c>A</c>
      <c>11</c>
      <c>B b</c>
      <c>B</c>
      <c>12</c>
      <c>C c</c>
      <c>C</c>
      <c>13</c>
      <c>D d</c>
      <c>D</c>
      <c>14</c>
      <c>E e</c>
      <c>E</c>
      <c>15</c>
      <c>F f</c>
      <c>F</c>
      <c>16</c>
      <c>G g</c>
      <c>G</c>
      <c>17</c>
      <c>H h</c>
      <c>H</c>
      <c>18</c>
      <c>J j</c>
      <c>J</c>
      <c>19</c>
      <c>K k</c>
      <c>K</c>
      <c>20</c>
      <c>M m</c>
      <c>M</c>
      <c>21</c>
      <c>N n</c>
      <c>N</c>
      <c>22</c>
      <c>P p</c>
      <c>P</c>
      <c>23</c>
      <c>Q q</c>
      <c>Q</c>
      <c>24</c>
      <c>R r</c>
      <c>R</c>
      <c>25</c>
      <c>S s</c>
      <c>S</c>
      <c>26</c>
      <c>T t</c>
      <c>T</c>
      <c>27</c>
      <c>V v</c>
      <c>V</c>
      <c>28</c>
      <c>W w</c>
      <c>W</c>
      <c>30</c>
      <c>X x</c>
      <c>X</c>
      <c>31</c>
      <c>Y y</c>
      <c>Y</c>
      <c>32</c>
      <c>Z z</c>
      <c>Z</c>
</texttable>

<t>The Alphabet as a continuous text input can be found in <xref target="alphabetText"/>.</t>

<figure title="The Base32 for Humans Alphabet as text" anchor="alphabetText"><artwork><![CDATA[
0123456789ABCDEFGHJKMNPQRSTVWXYZ
]]></artwork></figure>

<section anchor="padding"><name>Padding</name>

<t>The Base32plus alphabet does not use a special padding character.</t>

<t>If the bit length of the input is not a multiple of 5, zero-extend the number in the least-significant bit positions to make the length a multiple of 5.</t>

<t>For example if the data is a 4-bit value <spanx style="verb">0b1111</spanx> the padded data would be a 5-bit value <spanx style="verb">0b11110</spanx>.</t>

</section>
<section anchor="checksums"><name>Checksums</name>

<t>An application <bcp14>MAY</bcp14> append a check symbol to a symbol string.
This check symbol can detect symbol-substitution and symbol-transposition errors, allowing transmission and entry errors to be caught cheaply and early.</t>

<t>The check symbol encodes the number modulo 37, the smallest prime greater than 32.
Five additional symbols are defined for encoding or decoding the check symbol; these are shown in <xref target="checksumTable" format="title"/> and extend <xref target="alphabetTable" format="title"/>.</t>

<t>These additional symbols were chosen to avoid confusion with punctuation or URL formatting.</t>

<texttable title="The Base32 for Humans Checksum Values" anchor="checksumTable">
      <ttcol align='left'>Value</ttcol>
      <ttcol align='left'>Decoding</ttcol>
      <ttcol align='left'>Encoding</ttcol>
      <c>32</c>
      <c>*</c>
      <c>*</c>
      <c>33</c>
      <c>~</c>
      <c>~</c>
      <c>34</c>
      <c>$</c>
      <c>$</c>
      <c>35</c>
      <c>=</c>
      <c>=</c>
      <c>36</c>
      <c>U u</c>
      <c>U</c>
</texttable>

<t>The the checksums postfixed to the <xref target="alphabetText" format="title"/> can be found in <xref target="checksumText" format="title"/>.</t>

<figure title="The Base32 for Humans Alphabet with Checksums" anchor="checksumText"><artwork><![CDATA[
0123456789ABCDEFGHJKMNPQRSTVWXYZ*~$=U
]]></artwork></figure>

<t>Where these symbols prove problematic for various application use cases, implementations <bcp14>MAY</bcp14> strip checksum values, utilize percent-encoding, or other application-specific methods to ensure proper handling and delivery of the checksum value.</t>

</section>
</section>
<section anchor="decoding"><name>Decoding</name>

<t>When decoding, both uppercase and lowercase letters are accepted.
I/i and L/l are treated as 1, and O/o is treated as 0.</t>

<t>Hyphens (<spanx style="verb">-</spanx>) <bcp14>MAY</bcp14> be inserted into symbol strings to partition them into manageable pieces, improving readability and reducing confusion.
Hyphens are ignored during decoding, although an application <bcp14>MAY</bcp14> check hyphen placement to help validate a symbol string.</t>

</section>
<section anchor="conventions-and-definitions"><name>Conventions and 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>
<section anchor="security_considerations"><name>Security Considerations</name>

<t>Section <xref target="checksums" format="title"/> addresses the primary security-related concern in this document: data integrity and validation of decoded data.</t>

<t>No additional security considerations are identified.</t>

</section>
<section anchor="iana_considerations"><name>IANA Considerations</name>

<t>This document has no IANA actions.</t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC20">
  <front>
    <title>ASCII format for network interchange</title>
    <author fullname="V.G. Cerf" initials="V.G." surname="Cerf"/>
    <date month="October" year="1969"/>
  </front>
  <seriesInfo name="STD" value="80"/>
  <seriesInfo name="RFC" value="20"/>
  <seriesInfo name="DOI" value="10.17487/RFC0020"/>
</reference>

<reference anchor="RFC4648">
  <front>
    <title>The Base16, Base32, and Base64 Data Encodings</title>
    <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
    <date month="October" year="2006"/>
    <abstract>
      <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4648"/>
  <seriesInfo name="DOI" value="10.17487/RFC4648"/>
</reference>

<reference anchor="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>

<reference anchor="RFC8174">
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <date month="May" year="2017"/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="8174"/>
  <seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>




    </references>

    <references title='Informative References' anchor="sec-informative-references">



<reference anchor="RFC9562">
  <front>
    <title>Universally Unique IDentifiers (UUIDs)</title>
    <author fullname="K. Davis" initials="K." surname="Davis"/>
    <author fullname="B. Peabody" initials="B." surname="Peabody"/>
    <author fullname="P. Leach" initials="P." surname="Leach"/>
    <date month="May" year="2024"/>
    <abstract>
      <t>This specification defines UUIDs (Universally Unique IDentifiers) --
also known as GUIDs (Globally Unique IDentifiers) -- and a Uniform
Resource Name namespace for UUIDs. A UUID is 128 bits long and is
intended to guarantee uniqueness across space and time. UUIDs were
originally used in the Apollo Network Computing System (NCS), later
in the Open Software Foundation's (OSF's) Distributed Computing
Environment (DCE), and then in Microsoft Windows platforms.</t>
      <t>This specification is derived from the OSF DCE specification with the
kind permission of the OSF (now known as "The Open Group"). Information from earlier versions of the OSF DCE specification have
been incorporated into this document. This document obsoletes RFC
4122.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9562"/>
  <seriesInfo name="DOI" value="10.17487/RFC9562"/>
</reference>


<reference anchor="IEEEBase62" target="https://ieeexplore.ieee.org/document/4737287">
  <front>
    <title>A secure, lossless, and compressed Base62 encoding</title>
    <author >
      <organization>IEEE</organization>
    </author>
    <date year="2008" month="November"/>
  </front>
</reference>
<reference anchor="Base58btc" target="https://github.com/bitcoin/bitcoin/blob/master/src/base58.cpp">
  <front>
    <title>Base58 Bitcoin</title>
    <author >
      <organization>Bitcoin</organization>
    </author>
    <date year="2008" month="November"/>
  </front>
  <seriesInfo name="commit" value="fae71d3"/>
</reference>
<reference anchor="DCB32" target="https://www.crockford.com/base32.html">
  <front>
    <title>Douglas Crockford's Base32</title>
    <author initials="D." surname="Crockford" fullname="Douglas Crockford">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="new-uuid-encoding-techniques-ietf-draft" target="https://datatracker.ietf.org/doc/draft-davis-uuidrev-alt-uuid-encoding-methods/">
  <front>
    <title>Alternate UUID Encoding Methods</title>
    <author initials="K." surname="Davis" fullname="Kyzer Davis">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="ZB32" target="https://philzimmermann.com/docs/human-oriented-base-32-encoding.txt">
  <front>
    <title>human-oriented base-32 encoding</title>
    <author initials="Z." surname="O'Whielacronx" fullname="Zooko O'Whielacronx">
      <organization></organization>
    </author>
    <date year="2009" month="November"/>
  </front>
</reference>


    </references>

</references>


<?line 259?>

<section anchor="changelog"><name>Changelog</name>

<t>draft-00:</t>

<t><list style="symbols" spacing="compact">
  <t>Initial Release</t>
</list></t>

<t>draft-02:</t>

<t><list style="symbols" spacing="compact">
  <t>update front matter venue and alt encoding reference</t>
</list></t>

</section>
<section anchor="test_vectors"><name>Test Vectors</name>

<t>The following text vectors start with a base of those found in <xref target="RFC4648"/> and then add additional values that illustrate decoding of specific values and the usage of the checksum.</t>

<section anchor="test_vectors_encode"><name>Encoding</name>

<texttable title="Base32 for Humans Encode Table" anchor="encodeTable">
      <ttcol align='left'>Input</ttcol>
      <ttcol align='left'>Encoded Data</ttcol>
      <ttcol align='left'>Checksum?</ttcol>
      <ttcol align='left'>Input Type</ttcol>
      <c><spanx style="verb">f</spanx></c>
      <c><spanx style="verb">CR</spanx></c>
      <c>N</c>
      <c>Text</c>
      <c><spanx style="verb">fo</spanx></c>
      <c><spanx style="verb">CSQG</spanx></c>
      <c>N</c>
      <c>Text</c>
      <c><spanx style="verb">foo</spanx></c>
      <c><spanx style="verb">CSQPY</spanx></c>
      <c>N</c>
      <c>Text</c>
      <c><spanx style="verb">foob</spanx></c>
      <c><spanx style="verb">CSQPYRG</spanx></c>
      <c>N</c>
      <c>Text</c>
      <c><spanx style="verb">fooba</spanx></c>
      <c><spanx style="verb">CSQPYRK1</spanx></c>
      <c>N</c>
      <c>Text</c>
      <c><spanx style="verb">foobar</spanx></c>
      <c><spanx style="verb">CSQPYRK1E8</spanx></c>
      <c>N</c>
      <c>Text</c>
      <c><spanx style="verb">foobar</spanx></c>
      <c><spanx style="verb">CSQPYRK1E86</spanx></c>
      <c>Y</c>
      <c>Text</c>
      <c><spanx style="verb">test</spanx></c>
      <c><spanx style="verb">EHJQ6X0</spanx></c>
      <c>N</c>
      <c>Text</c>
      <c><spanx style="verb">test</spanx></c>
      <c><spanx style="verb">EHJQ6X0V</spanx></c>
      <c>Y</c>
      <c>Text</c>
      <c><spanx style="verb">123456789</spanx></c>
      <c><spanx style="verb">0XDWT58U</spanx></c>
      <c>Y</c>
      <c>Integer</c>
</texttable>

</section>
<section anchor="test_vectors_decode"><name>Decoding</name>

<texttable title="Base32 for Humans Decode Table" anchor="decodeTable">
      <ttcol align='left'>Input</ttcol>
      <ttcol align='left'>Decoded Data</ttcol>
      <ttcol align='left'>Test Info</ttcol>
      <c><spanx style="verb">CSQPYRK1E8</spanx></c>
      <c><spanx style="verb">foobar</spanx></c>
      <c>Basic Input 1, decoded as text</c>
      <c><spanx style="verb">CSQPY-RK1E8</spanx></c>
      <c><spanx style="verb">foobar</spanx></c>
      <c>Decode as text with dashes</c>
      <c><spanx style="verb">csqpyrkle8</spanx></c>
      <c><spanx style="verb">foobar</spanx></c>
      <c>Decode l input as text</c>
      <c><spanx style="verb">csqpyrkie8</spanx></c>
      <c><spanx style="verb">foobar</spanx></c>
      <c>Decode i input as text</c>
      <c><spanx style="verb">EHJQ6X0</spanx></c>
      <c><spanx style="verb">test</spanx></c>
      <c>Base Input 2, decoded as text</c>
      <c><spanx style="verb">ehjq6xo</spanx></c>
      <c><spanx style="verb">test</spanx></c>
      <c>Decode o input as text</c>
      <c><spanx style="verb">CSQPYRK1E86</spanx></c>
      <c><spanx style="verb">foobar</spanx></c>
      <c>Checksum 1, decoded as text</c>
      <c><spanx style="verb">EHJQ6X0V</spanx></c>
      <c><spanx style="verb">test</spanx></c>
      <c>Checksum 2, decoded as text</c>
      <c><spanx style="verb">0XDWT58U</spanx></c>
      <c><spanx style="verb">123456789</spanx></c>
      <c>Checksum value of extended alphabet, decoded as integer</c>
</texttable>

</section>
</section>


  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA61a6XbcNrL+z6fAlXJO4pxetEuWx5PIkmwr3rV4mzMnQrPR
ao7YJEOQktuy/CzzLPNk8xUKAInuluOcuf5hkegCUKj1qwK73W5UJVWqdsUj
qdX6mhjlpXhaT2SmIzkYlOpqVwzML1380h3zL7Gs1EVeTneFroZRNMzjTE6w
xrCUo6obl3l8CephdyivEt2dm99dWY10PZgkWid5Vk0LTD06PH0cDbHurlhb
WduK4jzTKtO13hVVWasIfKxH13l5eVHmdQH6bKgKhf+yKrpUU/wy3I2E6AqV
xfkwyS7MC28dFcmu+EeVxx2h87Iq1UjjaTqhh39GVyqrFc21Ky8dK3CtxFmW
XKlSyzSd0vMftRJHtF0ySlQpDtQoyZIK/GvxU10nQ4jq3hJW4eO8A6dgQjyh
NTE6kUm6Kyzdr4mqRr28JB5lGY93xbiqCr3b7xMZjWDnniPq00B/UObXWvXt
Cn1iN6nG9QBCz+uLVGov9T5rEhQpxKmrZnWe0YvzSf+OSf1Bmg/6rMaVlf53
6rM3gRHIuhrn5W7UFWwLB7yD2HezwZBiMdjNf/ULE0t+4rPpZ8j3uCcOaDc/
Cw+k0cupYeLXONFxbua5cczq8W95XaV5fml/hQh3xT6Ri5OprtRER1GWlxNZ
Qcq07PHj/bUV+7CxtbGzG0VJNpqhuL+5tUaPR4eHhyQrfoO6ZXmhWjJOlFKf
ijQvSYFKGQXCP+oJLKe/sb2+vbazzRPZ7faEVnFdqo5Ic61TpWGaMhsK8F6U
eFNDwdu1DRtmY6XNhzdHJM7Mu/OilZ3u6ipGaP7mzqCKF3PcsopBUsV5kjV/
yRomEkIr+7qM+wOzUi8uivYReH3xiCfdxV7751kOBYRQJkqT2HmSIAFMErA5
kmp7dbiO0YP9R+t3SP36+roXWFOfjbQ3riZpm9c5q/xRC+8vs3zfbciZuu6S
K3adUrqViscmSOguOW7XuM5iZnF6WZUyvoTBeieHjVh3Yyezjt6VaTWz00SB
x6HuB1aUQkUZpCrOzo4OxKGlFS+Y9s6zsa85R/t4p3yLcZJ+TiYTBafIMhtB
Yt03/t/NobusUkMTGboIDY7XXvWparMZkgtL/i3LZjY/wptz8erHd+NEpRKK
zj6FdnSf7CjqdrtCDjTJtoqi03GihXM9MVQVoogW1VgJ49up0IWKEcyRzBDF
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
f/gTX7MSc772X0ER2Ow4MwAA

-->

</rfc>

