<?xml version="1.0" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.jacorb.org/bugzilla/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.2"
          urlbase="https://www.jacorb.org/bugzilla/"
          
          maintainer="jacorb@goots.org"
>

    <bug>
          <bug_id>969</bug_id>
          
          <creation_ts>2013-11-13 05:30:21 +0000</creation_ts>
          <short_desc>Incorrect UTF-8 conversion for non-BMP characters</short_desc>
          <delta_ts>2014-03-19 14:45:55 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>JacORB</product>
          <component>ORB</component>
          <version>3.3</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Peter Klotz">peter.klotz</reporter>
          <assigned_to name="Mailinglist to track bugs">jacorb-bugs</assigned_to>
          <cc>gotthard.witsch</cc>
    
    <cc>jacorb</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>3081</commentid>
    <comment_count>0</comment_count>
    <who name="Peter Klotz">peter.klotz</who>
    <bug_when>2013-11-13 05:30:21 +0000</bug_when>
    <thetext>Methods read_char() and write_char() in class Utf8CodeSet convert data characterwise from/to UTF-8. This presents a problem when dealing with UTF-16 characters outside the Basic Multilingual Plane (all code points beyond U+FFFF). Here UTF-16 requires the use of surrogate pairs which means that two Java chars form a single character.

The following currently happens in JacORB 3.3 when sending Unicode Character U+1044F (DESERET SMALL LETTER EW, see http://www.fileformat.info/info/unicode/char/1044f/index.htm):

Java UTF-16 string: &quot;\uD801\uDC4F&quot;
Converted into UTF-8 and received by omniORB: &quot;\xed\xa0\x81&quot; &quot;\xed\xb1\x8f&quot;

The correct UTF-8 encoding would be: &quot;\xf0\x90\x91\x8f&quot;

So JacORB simply sees each surrogate as a character of its own and encodes it into UTF-8. This leads to 6 bytes whereas the correct encoding would be 4 byte in length.

To fix this, it would be necessary that JacORB no longer performs its conversion solely on Java char basis. The conversion classes should be able to handle Java strings. This would allow the conversion class to detect parts of surrogate pairs and convert them in a single step into the correct destination encoding.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>3111</commentid>
    <comment_count>1</comment_count>
      <attachid>431</attachid>
    <who name="Gotthard Witsch">gotthard.witsch</who>
    <bug_when>2014-02-17 10:05:12 +0000</bug_when>
    <thetext>Created attachment 431
Patch for UTF-8 conversion problem</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>3112</commentid>
    <comment_count>2</comment_count>
    <who name="Gotthard Witsch">gotthard.witsch</who>
    <bug_when>2014-02-17 10:16:53 +0000</bug_when>
    <thetext>To solve the conversion problem I attached a patch.
The following changes have been done:

In org.jacorb.org.CDROutputStream the conversion of the string is done by the methodcall codeSet.write_string.
Therefore the class org.jacorb.orb.giop.CodeSet received a new method write_string with the following signature:
 public void write_string( OutputBuffer buffer, String s, boolean write_bom, boolean write_length, int giop_minor ).
In it&apos;s default implementation it does the same as in CDROutputStream has been done earlier. Every character of the string is converted with the write_char method.
The inner class Utf8CodeSet overrides this methode an uses the String&apos;s getBytes(Charset charset) method to receive the necessary bytes for transmission. With the buffer&apos;s write_byte method the bytes are added to the buffer. The getBytes(Charset charset) is prefered to getBytes(String charsetName), as getBytes(String charsetName) does not specify what will happen if characters cannot be encoded.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>3113</commentid>
    <comment_count>3</comment_count>
    <who name="Nick Cross">jacorb</who>
    <bug_when>2014-02-18 16:21:48 +0000</bug_when>
    <thetext>Thanks for the patch. Do you have the tests you are using?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>3116</commentid>
    <comment_count>4</comment_count>
      <attachid>432</attachid>
    <who name="Gotthard Witsch">gotthard.witsch</who>
    <bug_when>2014-03-14 11:45:34 +0000</bug_when>
    <thetext>Created attachment 432
JUnit Test for CodeSet.write_string</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>3117</commentid>
    <comment_count>5</comment_count>
    <who name="Gotthard Witsch">gotthard.witsch</who>
    <bug_when>2014-03-14 11:46:28 +0000</bug_when>
    <thetext>I uploaded the tests for the new CodeSet.write_string method.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>3118</commentid>
    <comment_count>6</comment_count>
    <who name="Nick Cross">jacorb</who>
    <bug_when>2014-03-19 14:45:55 +0000</bug_when>
    <thetext>
Thanks for the patch and test!

Fixed by https://github.com/JacORB/JacORB/pull/103</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>431</attachid>
            <date>2014-02-17 10:05:12 +0000</date>
            <delta_ts>2014-02-17 10:05:12 +0000</delta_ts>
            <desc>Patch for UTF-8 conversion problem</desc>
            <filename>jacorb_3_3_utf8_conversion_patch.zip</filename>
            <type>application/zip</type>
            <size>22976</size>
            <attacher name="Gotthard Witsch">gotthard.witsch</attacher>
            
              <data encoding="base64">UEsDBBQAAAAIAFluUUQ9bwmshjoAAJE3AQAUAAAAQ0RST3V0cHV0U3RyZWFtLmphdmHEPH9z27aS
/+tTIL65lkpk2U7z+tIq8lV2nNZ3sZ2znWQ6nYyGIiEJDUXqSNC22pfvfrsLgARIUHb8+u4008YW
FovFYrG/4XUYfQ4XnGX5Yvh7GGX5bAj/jXq9vac99pTpz3+G0cXlEdtlIZvnnMPvNyGDb3pMQx1n
600uFkvJguM+O/jhh7/vPt8/eM5+5nmYxOwozwrO9tj1khtc1zxcDav510tRsETM8jDfMFGoVYps
Lm/DnI/YJitZFKYs57EoZC5mpeRMSBam8V6WKxSrLBbzDX5bpjHPmYS1JM9XBcvm9MvP5+/ZW73E
zzxFyti7cpaISCF4KyKeAplhwdb4dbHkMZttaO4bpOdK08PeZLBEKEWWjhgXMK5JuOF5AV+y52ZJ
jXIA7GVBKHEfOcvWOLMPxG9YEgKJZl43O+pdx0ykhHqZrWF/y1Dijm9FkrAZZ2XB52UyUEgAnH08
vf7l4v01m5z/yj5OLi8n59e/jgBcLjMY5TdcIROrdSIAN+wuD1O5AfoVjrOTy+NfYNLk6PTt6fWv
uI83p9fnJ1dX7M3FJZuwd5PL69Pj928nl+zd+8t3F1cnQ8auODccV2j8bK84Pge0qwwYG3MZiqSo
GfFrVrICaAUZWoY3HAQg4uKGxyCIEYjcVx9tkqUL2j6TFotHTMxZmskBu80FSJbMqkNX8z0nP2Cn
aTQcsO///jd2FhYFm9zAOR+Hq1ku4gX8eDZh+88PvvthwN5fTXBHe70e8DnLJfsdrs9QZMOjjeQT
4PjmopTrUl7JHC7FqAl1enFyF3ESmtbY1olXPBdhIv4IZwl3B1ehXA6PxOI1j8QqTNzBUopkSGS9
BbHrGis8A7+ExfIsXHtGTmOeSiE33RAda/mBrySorep7S3dFWToXi+Ex/VPmocO0e+DaXHaV4nAh
sjVMifkVl1thfj69eAeoUx5tQyc3ax4BtuFrnvAFkJAuruErXOAjimF+70QDfpytQI/LzDuDGHYx
+x2IeQ8/doJ8CJOS/wIaNWmsnK2AUaCyJ8OjyespXPjJWcf468n1ZHp8cf7h5PLq9OK8A+r0/Prk
8nzytmP4bHJ59Uvn6PnF9PTs3duTs5Pz6w4QuA3ASrUdnqw7d3N9/F8ijTsGPz4Yiz6Dd8qQDo/C
eAvaFjTqk6IDGL/CuwtQdzy+n5QKnkC9qsFMAAGF/y67vu9YBkevw8WCx+/ybC4STn4CqeqfwhJs
Su4Y/AFDT+AHrcwnrCBaSNsfv75kqzAvlmGSAJtRPSoNuVaWIUpQpQKUvYseuiL8TnJgmbv16fPp
d/X27Tlk2vgKtE/B9NXV40flfM7zAWsxq/cnLbTOxQ1YZzYXKViTQsIFjRjwhqVlkkwFbGLMUn6L
XwU7OwP62WHOb/uf+qMe4QImwTiPeUy7B6W8SJEmcDTyNXCqwL3biwoYAynidxYCNElRmec4T9kp
mCpQwxifYEZb8uECyAamtFzNeI4GdAZWqFCuBPkRWZps4HA+gzuxJlDFAYW8Z1zCQvzBB+Rj0Eyy
zmBC2YZL8ER4SiTCUfmoiTlgAl9uStswlLkMP1XncxamcE9yXP1skY80YCZBm5F3JvlvnzRpDTSz
LEt4mIIoAYPjavcsWoY5KEvAyVPQoiB9DJUpK7gs6HQQAD1Ldos/DZDasEwkO726ePnybz9MD5pb
0nLFIv3vmFWituDy+vjqtcIQ9Efb5n1szftoTWwxEagP18UUBDPHJXcP6gNWh/SUvULMhzVg9PnV
Hn2FPiX4ijF6OoVEz0sBlQlZwmLIXmfs/OLaIAqjiBeF8pluwlzgNQOnFLwxmWyG7FQiQpEKSf4G
4AWZjPkKmDhk7wtyBg2qFQc9EbM/f4J7/5n924LLE1qaTHrQZ80vvuiJLstpkNk7G/U6tn+D9xvc
CM/WVzAbLmPCCIZlZCSLWqCr7SegF+KNK9fkJIrCaDXlM4q8vpToZqqLafAoOR1SGFTf3UIdQYyB
R6icnCQEnXiaSr7guTkLfQgG18POovCehT4Eg8o6iw+aWeog6t/8pwBDzLC3S/pyvj6NO9lP3M85
MSPDWCe22G/4bhA+lv0V35HxBtlj+e8y3mD7q/h/qbml+F//1s1/w98u/uP/ZmFx3w0wYMhPUIn/
gktgTsHg+2cuwb/2EI41L6pzcL7oPgrDQ+9pUEiPUPAPAIkIuL6BrWYp3wWLnm/oOqzBaCEXVSyP
wb6ZT6ZyavxHoCssaBdw/hwIiK+PAfmwkzYH7P+SOvBYCojY7yXPhrNclUvw3dBRUejI2KHFrgQn
mzt+UbQs089Dn89BI1P0WqYyXEwBgTKauM4e/ADiEKYFu+Xf5sqR0ZIbqpn34dPOmh8qA3dDFlPX
CTvnBW0l4Tc8wX0QLI+VRsUYz+sV0qie+5amjtn+VrRwlIU+IJoMtIL3gz6WBz3BfbhnjescrKWY
+5HiejxWY6DAkjDizYWMa2bDHKtpYzYPk4JbixlnkbIO/13yknc6G+gHE07F8SlmszZm8b2/DpXZ
B+YsXr3WSClmf5OHK37oWcjjwLWBrsQfNaDxcZU73EgBQNBzBYeTcIl3IJ+1ZuECmIuYrkRKocpz
+/yWXEkbCso8CRfIBpXIZPssSLNqtI8Zv/27ffV5yYJqYNBj+qMUwkzIW9C0AP+tWj7TXhXcjqL7
RgKqN0iAI2CuBVuVMgTbYFmvkK2TcrFA3U8RmYbwqxcAOFPjBq4jUBCFhjtJEXO8zaIWXGooQ1bM
QWnAlb1dcuKjhrKjXOKymuUn1VDirmAdXGTyVbhzOGwI0qXgRRceUNJHF2f1nfLB0Ckcl2B9V5cr
8aHWPVtnAebTVNlb1MJjJvOyAxTDZZVMOdHxloLb28PkugmutAOhM+HIqQMKxjCVxm4Ohs/ZCuw+
hIKFuwgEgMDiOxW5v8nyVSg/aBxjZqe0hlfXlyeTs+kbEIfJ9VSnqKYH3uCzlVhjsvmNd57OEnQl
9Jh0f1UJhC7oVtSnsavcSFvtEKzKXeBHZ1IUYZVqV0aoE4YM7JbxhKcLuewAqKPxUa8J0SY3cIka
1OvXqmXLp6ZmYC3M+tXcPx0sRbm2OGo+6EYOKxLY2MejCs5E2vSvZ1xRw8YtJlUQSOBY8cd8r7zJ
Ly1Vg44FK0AyIrLm0bcyy83YT+sQGIhqHzRagekWFpqyGhXlHDDldqNpQS8H1PKcy2hJXpO5fApE
pXTMbP1ROvyQ7VOqYM0jrLGF+icR0ZzGgmk2NaaN1ALL4FbnIubKhzM6DEYrMJUHgo1AwCHqjeoP
mmPQBRFXoUocylAZGHIJyQyaLdwuRcKNzoURV80qUWxkFQM3iYpMBM4qcax5N6j1Wb29fs8VtLaQ
iTkLnrAAj0qkIDhpxMEls613v0ti5TLPbklBVGn3YCfO0m8lW6MCIN80zVLr5Hf6tmD1HNlDEsYs
cJZWnoOG0ik2Nq7gMQvlZOECC39LITYmtlSowxeZbzq2XYlHELjEAt7+kIIxq2YT9Pv2liskIYh4
4K/uMH4/x02JIuC44pmyPI21nDNuCUUbu9/dU45PB1br6o4xWOlCrYV/rI8QaX6X6+XO+CrLN+oY
Ay+zOFj5hyPWmGrSHJwd2sy+bwWLcgpFwYlA1YZCg6cOHkAZWVouzHWUCV5IhvcfJX5Fu7EuuEpB
xxmC2qk2EJ1vC5bRumYbKyXFD9EJyqB5NYN76ZH6gPTF7sFAeUz90SO4QLqMr9ZyY/OiZsK8Zgyw
oc2HYV1fMYjrMjdZD/SpMK7ld2vYsZBJlVerNTJovSEfVh0FZVHbiMi+TFQjeAgfXWZV7Gqwtbrk
Q4zFqnv2pdezcXtPo7VCzmWZpzjUdQzXVsIKf+LJfNfsjiSKeFDroT5CaR+sEs40Jh6YaHeeZys6
wrYg77lO3E0mYgu5o6NcJveVQiqYX4819u3GDIyNXWR4dSdSN5FMiiNtzIIdHVTq6Tu1DFeYqyji
AQgrfDBpOstWO4MWui0Bx9csQPmGbD1UGZaI8E3zlZjW6ZOOzbiBy5PgUcuKGsnU1JGmsSiQ+9W6
9sLtMIiNq8HHUEBlSJWtrSjw7VgHvWj861C4v3VJ1S1QrwhhlZq2YyNuxsu4glnsyZg2bIN32r9g
Gyk6/1vR0sYCe37Z78OdPNjf37fW64wKAwwX+uxrVjU8B5xiVa6mSntM54R5qoNWIOSgoblauQO3
uuVJyNfJKKe6ZbDUaWz9jRn4Seu9UC/k4Kcr0V1He6VIOk3n2WGr/tZQM+iW2ISxsT7pDg/ChSXn
qrWm3y3RG3JrfMzP3J+5VMEF5pKpcmGxNOaYE2PkEAE2CBmWId4aTNVUCezaktb518plL+7jtlVc
6eY1AtktWQOmxezQrbV5OG6KbPdxu4YjTje6rjpW38r+urzHHsH6qvmCWfpSVdkvq6Lf6eu/kL8S
T9blbF1F83DWlM/u42wNR5ytONpYbysv61Ido+G/ipWmPGXwmOCcNNu/lrdm6S72WiWx+zjsgD6e
yU4RjvllltINxl2T1BtEdSRBLUduMdPEEOrLKj0i0igpY5ORaOQxMGwcDuhsKEFJxYOiPxyaszBu
42wzYAjL3I5BXJpQVSVNTUy1Afi6TiHbTjK5lzQ3cOIN3IadYrPyZ1bOTDucVsdp80yrlJ2I79q5
MBzGKrE7Wg3v7ZkuKJkhCyLsN1EHEUayDBOa3GxrsqebOp+K6AbOwsVnsZ5GWZlKFVQ7g4kopKbK
HmqnJYHCOzmd049KYBvpnLYHYrwd9s03Hi9niCmyoE85tC7Zh51BxBnrbqu8kEwRQEpgrgp4qhzp
NIHBlOx20MRE4QvNRGazQhdodMnegXb26iEdbnhQse7ZM2b7c3o15DpdAkKDObyFSFO0ozM+x84i
m2KVQqVs76yUTVQg6llOTBC5lk0HhJJ7gUW0lbp9pXF/80191K+2nEbfweyeBn4sYXo2tpf0JXfZ
41hpT//iZazznZh/xd4Px/9vm1d3Br9uK2lrm/o0a21itvGsrZf+3MII+/ZZqmns59V9W8cbzp6w
oLVp9mrcpG+3Xq/fb2Fq42ZOjlH3OUMIbpSQshMszrjK1MyF3Om7nPSIClPiouxFqK6hzmGElvlp
zQGDMNSGwtosKNaB/bu2Fm129EdeMsL4Bj3m1lDFqQ6J8uGKEh6qdzwIW7X7VGbU+ngE0IcR0zZJ
ln02na04TXHMIwgB26rqvcf7CN3DOmXln1Qp9+qNw+4Ldz9xTHG0TAsO8kGoqXmIbzLMjZV5pfTB
pkfLThz3qA7z+dLb/k3jUoj5AzUL826wuk9Ua1Kt0fgsLOc3IiuLpMq88thd1/WRUrjq49b4GT6+
WYk0aFC1rezpVXj/4T/WH1u79d3VmsLdcc2qEW699sy0EfbwZ5s60c5Z5QnuWvZkYC38lSqkciyf
jWsko46NbYezDRKj/7d86EIFN1cQkwWNRu1Bq3NbxNyX6R6ajnDKbep3Qz6Aj2xs4xptIQojhTPs
6QlUjcJt9PFS4fQB1b/4ViFs9iId6fXtWIhW6rtvzYfzfU01zJRXYUCiCqdDmoGdg/Srqldk62HP
vtSqm7/TNVDkeQtquoSlIHQVqxJVqlPb8qgGWipJL2/3uzBvbrM1s/HmQcUhWwoUOqmoGgN59Fm5
BbNMLrWboO6mGkR3G2ybQaC0FmawqpcmpicW302mNzwVlAlTLbB1JNlq6VAniUtY4iYGVkcIrdA8
5Xo456tQ0HvcsQIFrymgZkn27+oLtzaAOw0Ee1ZPbJbTa4xPxvbqzBdVHZMLsQ7jWNXIkiS7paa3
jHqUCzGrewd4lVVt7WKWrNnYNDBX3l+rTaSeIDNYk3LNyRo9x5egrPHHH9nLptZTrymHc5EkgRFH
ipBQlz9TmAY6ab3fnIyMIEVXccWliHB4R7saT9QRmC42O3hTxJGRFwvgVlYulniD9Ztcg0Cop7z0
qgikbo7VRFHAlR+gZkGfVCz0ix7kpr9Ktk36tgnb/5QC7pguLCgGojA9H3nq6iYhxf7xD3fmoXvS
XeLlND2BRz+t2nt0qfzkbg2Xksda2dhrtM6xpupJM03GvC7K1aaQfDUkXYBPoSvZ2R8YYuhnYMK9
oebxMkwX1T1QrUeZ1qUqB5ZguZPrw+pWqCywFWpzk4bthr4OYfS21JEoKN35Ao7azAyanWe2akJv
yP6d0ptN6YE5vyHgJ8aq2lAQ6LanQ/b8RZ99w/bv3rzpj1pznh188s05+H7bnOfeOezltjnf1XN0
MUBDuHPatxmLLTleOsxrOm+8SBmCpZ0VIJbVk8LqeZFqAKDObNNwRZLg4ADvX4qkmgIK9MQZFoVO
dA6VTSOctE41B3GSwOlGfgd/Uzm0LBMlm5w1fQ4HGQmTzlUhH8YnFBvP6EF/vnHgqcM459jOhjjJ
WiDZql2FW01vOuOmEtMsuF2KaMlugWXk43xGL7dOg9lTeItR5Fn0G7YweDl4YV8jmAkW7YazF0rB
Emk134ZEGgUsDn2NHKD6sxO9XsNKvBj1Wnblhb34U3bEo7Asms8F6W9zzJC3hcQmkltu3Dv7/uf6
KQfRq9KElCesTx5YUPXsqY/LpgA2u3tALw84tcZooYTYg+errJAuvKNCJ0mRDVwajGFTmw11/tUq
r6jnUTO1ZxtZvUHASA+XcGrBqaTI9D7a8lxJMn6ahdbhuizqMDmwl6N8UV0wVf7TwHkBui14dMuL
90HW5bL7IJ3iT83shrxiE3y5pi20WKukVxQum3q9h9Uz7TqQvz5nQ3TWl4IGwdVDIyWZ3dQ1XuA6
7mBDM+nQIOhU1MfqBlG1L8nU8yvkTu3Kk99OMUGlpM3fcVmjC8bRxVXhlMw8mlHlBJtTQ9QnNJP+
NApqDjqmKJS6Xxc1ytcq4mq7TWX8lMQB0apL576GB7r3FZlaZ+ccab/hTvnLYnBDf7g3TQPqldy6
Dz0+wMc9OQYS9ASGCMvYm8nbq5NmHPgbGuFnnxQSB++zZ51RHKgkkZr6lkvdbFPZEyELp9bxlIq9
0iqk3Mv8pt31VGKDhrBiN2lnEN3KUQc71xm+FU03uNZuNt919X9H37G7bN0r8jULn5pnZSd5jtpf
2UnXzZiHAnyMDiL29qgBBM+CV/J8382239fXscSuw0RXmkRa8FzWCxiXoOpTD9f4XicXKBDkVrVk
zDmh3Rfsk+2Q2tQcbvFL24i+Y5+24Dn4/qF4nm/Fw14+FM+BjcdGU0231YUxr7WNdrCJVPVgoRjg
YMvC2Ba3tqCMCzb2WOCMjEGHfudiqA++qVlgRDtMttSMfGYMQN2WGuYaLxh320RYy3QBiK/JgdW6
QYdDpls7x7/OFvjDZu+foAKvuGgkrvFSemEDVdR4WHO/SRBjXAaavpra1cFvdyIwzr6icX9H/9Uw
rKMt4e7x9Ee2g+czlJnqJ+lq51fxLNIIoNWWLcttcxoVhdpFg7saC3nW7b934sFk6XNMl1sJj0Ly
dRO99thxqCmOztdfutYAasqIOjCtlcIV5uh9a+2O9WCXtZvEMXsl5aGCerUHP+p29mIdRnVTUQc5
IsWu9cImaAtFKjTSg46/qfmynVbzKpnfCXribBITM3zZhFKUpZy0SY4t0cod8vQA6udVOqq81Viq
nXpy9+o2NnIWzc09Mk89G/W+Jh2NjHK8mc78NHNdKOZvXUMnTRdVNUna7lECQP09nVWYf6bvzEMF
Cnl1ZtpgKteNmTKjv1MoS/KJFVs86+jHHX5nSfM65wkKmclVtTiPCQECk2mV7h09qCTAjH5w2v1k
2uTX134UTvVie56Z7DW++1WeF0XB9PjA0d9m3ld/XLZ1/Hmx07ReST02mQr8SrdFexsBm+J1yPa7
tHmHSQpJYrvtkLHAB9ZJNK1RezFWWaVZqK0SIWrlTPH/jnHCdnrvozL/Im3ftsMUtZfT8oRzj19f
WtwP6AHMgHjjGiu/aXMUDyg3fNejWErf0cY/jXoPSTGr2daPJlk+6j2IbDOtNqt+w6AKuBB5eJ9k
TdKNP6uLoQcNPCbmgFg8zeqX+2o+YRvueJ2Vxl8/0bAYtWO3R8MP1JV6+jlQUUifPYgL+gWqsR/q
N//+lYU8sC1FzZIuVjRj3YNHvRb0xspftkbN92x46jQw/S97T9jcNq7j5/OvYHNzr3LjKHGSbfPi
Zve1TXuXuTbtdLu3c7O3k6fYSqKtbeVJdtK8Nv/9CICUSIqUKMfu9nrxzG5jWQRBEARAEAT04f/2
Ow1K9fOnZ2cUlGJcW7fJJaLIgwYm2dycpoqfYhpDEqLIECxE82IZaL/xXQrdd4d9B+E34H8/FX+v
izAolkAYT4MkKSbyt+R371iimrl1h9hoc90O/lYTfP1bYboKQlRPhuz3aYhPIE+fjGEX+iVS8vzZ
ArnhZFKCkqk6Zlk0zUuPfDQk1xO4dNUbkSSz0aKJ8H4KXr0qnN2PYN9FBoo4Ap2hfxzhjDgbMf50
BhxRnrKmQgwZCVQdJuewiN2HMdYE7zuWFbSSywj/HloOTZ4NIRiXBsb6P4Q7YT98DH4TlLxsJ9xi
DyN5+15elJG+OIQK8k+FOIlu6M7khThOZJhaB9qAZ2nCtUGyATSzpGgMH6qQuDWU0anKNXjW8nlG
Zx7GsYBADkFmeMIJrkX9LAVziUVTdD1Arpv/2XnyRI04YcGQ/cgewuOHzSrEmD/GdQlQAjaeQ/7f
GvAgjBex0XWJubnpq4rDXF3kPRkOnFK1cf6tMhV+uJtAXbbWRSwdWhekE86QwK8MeBOLQUZqfPki
f3jKtuCbeP8p2/JHsCLOqhhHudwr4uqmMB3gR5h1PGjMw/pJt8TWAqQANceBqjfozfXi0fq6ayRA
oUJdVFmZVRp4s3QBtY6zmTZnbmaWwNw2w4GqGxo0At2LregEeuxSCOo2FJL0TxI4jVEFNYayFK77
iJ2Oo+lHCTXNtHeFVpEArcrFIeCRFspVTgDfXswTWmJpE5C7GsvAS9WLzE3MROjA+VKwZXCGLWaP
4fTW2iHVPnwFChEldHOosiiNyJHXMr+PKlzUfT8cdoIjG0/oc5alKSW7nsPQe5CzTGYxzMTJTzzm
BEVNSAUQVFB0vg+BkCCWC50m7sKN4st4iuo5pR8Eu3XLflRgM3EYBQ2Of3mNIIvfpROzMpJ3SnrO
2YUz37SMQYAmdPaoAhIxB2GlOwndiO/TaH3gdhNw0M+V5Tdgf0AuJOhNYAIGmhx3moV63KkJis4b
wa4QqStzGR0pwlZGcCpH05mHHQd761q7/BENnUAG8TGnOqtZdnp+h6YlhydSOCnXKVwnG0Jq1+CX
D6829rqlHETGmmDZlpnM953K0JIKTHEStsvF/S6XVeo8rbP+Hdfv5ibNXzoVBhswvoJmHTYtMCE9
S7nLd42pUnlSHudrL1TDZJgrVIa1nrV/EfHfoSa8wT3QowGK1A7FP0rQ991pf4T1T0QuGoF0TlsW
kVgHJE4WD+FsHw+Wiuij/DKOjcBZVvg65JvBVk+dpp4QHbbwRKbSVGlTfUvMh/Od247N7mBoeCiH
kHyvyklQKyEVnNarVyCP02shdwopeArH3clUJ4t2lBxo7LYO3Ih3L9LJJRQ3kuZCPKJoMw1QGQdZ
ngyo4OhbRco0eFsw3X3ttpBWz+PuQOznMBkGKAcQLP3H7AJSLQIBp+l04/m7N8pGDpMRPX/7pmPK
XHCobCJgSmZHh3UQBJrixnhYVIgQH3lPQiwURJrROhn2zF9P00kgE9h06fhEXTmsa90xqS6oGzyw
xFBBZtLDtGRFyiGdWyzw7aT/9rZkx/D+e5k3I/fauzxiO+b+xdfz5cJMoZHq+WrL3jZ7OLfRK18d
rTY3YWWSRcjW+TqBPZNh6QV8YbEdUB9CX68rzQ0xZU4CqMO8ME1xMtbZDum6cozyJva7NBeKjqmW
HwZcFLYeyHgCKAPD0swvcpSZH7zjncfZVWyHqo5T+M8YRWjB0WGcabNUudp0wLbhDnCdBIDfFfL8
WGdd0iWHUaL4+DzVyadXLwfer75y3ejYdjAQsXMpWsHpoKQEGMUFuj0WjUbEyKUdbF+YW7QmS9qY
rmidOjUyOA/h27NZkHRNi8WcMfsSIe7MjBAaMKbM9j9yIrnnT4RhidUVyIBHYKxyDeoWmey2UNLF
Ktlguy1tdg+LooaKAXzpbrltPpV4BuoFWG58SamHv3HJ1iuGRPeLuvVMVlmhtRZIAblApuun/kYp
/0HGfdAXu6ei3GqhAA0O8d2QmnxIX/OHzyF2kjaRSh7B5t6t2pd+uov+3dyk0oIXwAUXkRGI3xPO
jx5FtmHiHgxzOHx7/PCDAuTZ66N/P9bE37jcIS9yG3LzUXktYk+/CgF+JUOvPCl8q4/2evoVNsDF
7xBtmWdgOP1wwc7BAYXHU2HwqtWm3/kZYSDjD7aAyGpT/eoPNd3d82u6bWm65dd0p9p0Z9uv6W61
6fauX9Mfqk37nmR6XG3KPMn0RL30NHI3ETbInrn5s2rVvUfOE0Zm3QCcJZ/iUVDWypSiIL+Aynij
5Jxzm/yW881KRWZJz2vhOJxP8T0q6Bd0lSiQgSUU6RIspuksIk9ZOZ4ZO+W7HT0IGeBcwnLCAzUZ
2P9w4yGFCGH3GE8FBkJsuN0ouDX/FTZqwdrGmjMxNY4khJtjNLKgb9ciIBmCq9La+rftbq1DTx+r
GpjCSiib24wvvUFNw9+28Pz5k5YMkjkMniunwcOscmfIm76QlleIsx9cqRZP3+bhhszbBpJBH66m
8uH8zp4+Zbu2Nl8O2LD63A1HLpZT10LwsltqZkGZzPV+l/E+B98ugZM7kzZpSVQLEvpXQYqNvkSs
aOrbTI/J1i6RhjnX5vNJ0KVjzZ/4r+wLXwaHXbYv/34BFpGh2q19dWuCwPQGva2esP/gsm0TsEIM
W18cdCrX1p1vWc7//lZ6KLXzsb8d6s9dMp5MOVt95DpjlNoKpRCgHuhu9JU/PW3gs3EazQQO+HeT
BRy8grdCfPdDejSdlXaPp+GLTa12L/7yvZu9u41m705p9u72dv98q1fZdSmLjlkZQXGUuW2mXS+b
adfLZqqwFzKpcYZq9yg/0YlrHya1r8b67w5Un5MvYla25z3eM72b6e1ZXXbVjC7wvjNZy64Ld48s
JusH1hwm3+SClCvvT1x3ytqDP+sWX/+H3l71RslvzpQYji2ya2tcNtvdq2+27Wi2Vd9sx97Mui12
bYfLZtYtsWsrXDbrN5Dksb0ZayCJsgUWraqXJMutbcV+2hu04RerSIQfvkeZaPFrfQNurdq1B7p8
YQ+VBmEhR5UOYRF/lQZhIbeVBmEh75UGYSEnlgZhIV9WAeFPcmmJ8h60dPULNfTTXcMEj96+/494
DCn9sEMRxYIFSxLz3Mcr/El2rNRQ0/F+DSkzBPJNi8xyePuMC6PJJeZ/yEWNBIi/xEQcyexmg6r6
cPMDSsRiL2F9jKvj5hxheDS5HAMYS27QoLEhBcoari0ogoo1SibxKAGzjjNbIOpKxl3eVXgCh0Ej
8SToYiU13krLfSKNNrOwSxNBjZ5lNVb8N347n52n6CZUX6sQz4N/HO31RHatPuz45a8PHIsEiEMr
BIlbTa0JXJmk2ddeDA7apJmFJGxBitSaCxTLSI9BoNXalqbvRwbEMEv0jGBs1myxKCWZA/1SI9kp
Heb7qRg0izRtirx50BhVHTBbsmmRjHALohaEufOj67Uu3GuwXLL1Snhuuy9uy0Joh8CcN865iMUH
rjrZgUX13XpiqJRV8EWSgmIxFBZuKsRIJcxWlsWT9Co26niIigZWUOL2oWyo1Uo2P3iDo1KEgg38
koUPtAzf1g7so/WobuHIKS477A5cgGFK5Ni/fBGmyFN7Oup1W/J4F2DnUBhjJbH15LuWj7kQNryq
GCgfGlHrZhaCEtIeNL3t+D01dCWzdxuNRgEuwCoPBDS6XrGHo4GJAF2ru9B5PdNFcOXVu8UmG5dq
5WPn6QQpADEyxSfjhNA4NORh+8/mKVCD2nqXJdNhchmNraZ38atdoZZW6/Hbk6M3716/fPPy+AML
1sp25fmHNE4bEMIjCoEM/l2ny3d626qxaL/FVTo3mlwbaiPBefSpNDIj4nwGZfVl4C/fu4N3e6PJ
wbst9osQGdrs3t1W3bvbde7d7e/OvetgV9UFoHgAVFPei+EBgvjYITg2/NuL+YVlfgpzk1k8lyW9
q5YsC+RvVcPQo2p50UOSY2NHcHTZR7W6OBgm4kuRZ6PA17hBlsWXWAH5wwuPsnPGy67sobdmF8N5
lidXsWcf+tsenTTkUDsxiRD3jF56+sis20xkkfGND2VCLMZjGux6l9V3WvGlkNINzOm7QyNgQG4d
yUXaK3Qw14ZEC80rsSe3zA3t0n1mqIFYc59T1dKvL5yNLWCv4mDUPHYVWJkWaAssvc63ym4XI8XK
DkV0xJZBE09LTrGQ2pFjhUaVglMLSmjp/KIRXO7HVjIDCSy9IpExFNoUl+lnQ3mRXpZsl2CUBFXi
3WQq36VkgOImeQ4XgWdpUS9UzUJW5Fd+odSFfza9aSqxQkSgEQRsiYLQBsqayA0zuLE/S/UDe3yE
Cpil6g/he9CldKmgVDx0Y36dYGY2aNpk3KEf6MOL/+SvhiezjyeA3T55ibYqL8sinXxWYZjz84tG
eDCv+2XTfsfP13HKZ+Ojj1vM7A9X0H7R37Znf+pOkJggxEJb9MTmDGB3wRIEnkKVnVZYQmMNSXyw
dBznCik5jrutcBSiWEFyviJSzhVacjR/aIdmhZbz1RATw9JKLB+3whIba1jSk6VjSfdHiil/0gpL
cX1JwVI8WTqawu28L9Dca4WmaKyRUz5bOqYQsa2s87+2whQaa2jig6XjiMdIJWv2t1ohia01LOnJ
0tGMpjcCSUKz3wpNSJ2pIgnfl46i1PJCf/bbKZ9iv6SgWTxbOq6Fv3SfcPVVQQs5YFsy5OkfWXxW
SKF+O81DMQLaZItHS6dhPsvmw1JD9n11j+2GSGHvUWUeqhMqrou0PO9SzeigAhi+4xUSYeraaXK7
XErNp0k6VWSMr/5zGP+jJB+qNjJ8zxJxtZtG6BiXaCkhhWmWnMPeAB4E8KOjHczWKD6Dsyut4/gs
mo9nJ+iUDGraCuJT842+YsarHzLcA8TSMPzbHnq2N4ybQcJHXPFjBxYreVDbUjWx84Z3YYUUC4TV
rhBWs0T8hsTIs56AU13McbexQTNIRmAxjYaJ+zg6jcd8FYbxpxlc8ir2GV5Q/fqGj8Z2ycC7nWOh
2z63nbu9cdu5AyLuxq13XH7ETaYV5gfIfryPb96zvsH6YsN1z/kr4vzGffwdBP+8heSf34t+K//P
72X/qldAk4toYdk/9xf+83vpb+X+e/G/WuZv9Dy2cO4v7Df0m8DqlYRGEq8dTfkGKRkx3GEybSOI
zEf1zmp2dqwVNRtdj34jFWBMcSIe+wkU+fK9SDFESunNvRcqKxIqjX5tP+ICGHMNwDO/BYBv3nO/
wf3ikOCe9VfE+s3HJYufYCx+sLC4m39xL/zibvHF3cTfjSERT+cTNS7iyTftkGKeItQWULyQCGUr
kaEQfQXy0nLl1PZxylpruUd/4svP5iMG167YRUS13THJPJXJnt48zBlNqresJUSwKPwwQlAMuCxn
WH2HQci+Nywq5B2PoAwEDEkvIV33KVJHI7Xu9dCq9BClHSyl7J5/y/gfc8jOLbXJX71bYmCicobU
QveNkyhXWvrrvhiLixbj3N7+fnWCDIUVE7O96CEFwLAphXaKwVs5/L87rbh3WX0Ff61YCLAOdpe4
DubtFsL8fiXUem7vl8Jyl4IIKNlfmpJbpQ67tVuERd58sGRpKqGymxiavCKRYHpmF4AgoQsMhDVc
Mp2mLP50OU6GyawAdUqVDFxAAADKFuTdHIqXQXmnYXoVU6k2KoeanrkAXKZ5nkAafp1sOIIcrjNB
oTQo6HrqxCGPeWfRmK0lEx35fI3JYgxRnqfDBALmXFCIDNRv2Om47G5l3TyAMCO2/MgxtY/FgshE
wdIACLFaVGUHXznYrXlrv0B0P1tB8GLD/qEOS1FFSAsCsxfxvzuijdsVO6LirpW/b0ShP2/XHXTa
hCQO0+ksns5OZlpgYvG0JiTRFg3K+0cb4U6rokRJ8L+T/Zc7Yc27xNoJgzv5CgnpiTO28ixwUdsM
oDw4qLhxW5O3UqDY8V4lHp6IUlaJwYzFBKYWCiSLcifl8EjO0SyLW5LAwa6ObAL+povKua4pbZDj
zDlO+9PFObzRm/G5s6IxLoxzsx9lufIe8z19pSD3+hj3r6P1m503TVofNY/VZbNsXmjeYNfhWm78
HBvrZaMLUGWICaDre8+i3A3pShsu5n7473cvX7w9fOn2Aq4BF7Gyb9w75PNLuDccjyCHGhRJWOyK
y7VygA4jancf8LpyM+x6NVfDrhUjEdBsZ8leW4TG9aqsRCxAoVDU15ylm+FqGSPV+ECoJ/TcZYKo
ELCkURUAPq5vb5bZGLh2eYxEhJoE9sXhe+UOe1tBit1hqlQDDglPmjeq71HUecIKTys2NPgsfnh7
+JbP9FRJTgjpBn5iE0CHzfMItu/ZKRuO+R46zinRwCg5w/qjM3YVT0dplrMwDBuHj6NVB9tqfJYq
KD7EWpjdsQ+F3X03RcRsP4vsvpEoMYizr8nIk+2THWuGBI0riqQETQqa/79XLopktPz1j/2cnKaf
9j0pIQqSJVqyhcQ57Y7cEc/TT6KEGaWjZRf0j/uAmQj9RzTkfBvCfxxgl/8rshGbAINk5Nz6sED2
5kpTypzDd9XvTZmJAVpyyQjdhMmo1arAKkJJGpr8No8bCbQQJxI5mvmxyK1S28CbF51O288dT7K/
iKZgXWDl8Li4nYgOQkoIAsTHdB5N+Nx2qn8NI0wH8jwawXJhsXJW8LlTi1mls2Dt1wusS54O4xzL
5FeR3S+w5f+s8d7n5xczfBariT+r+EGyvvzbQq+aZwdTXOXg+y2TpI+g6usMs+78HTnrYZEZJ9cS
4my6ktET/5J0dq+abkcnCoiABwRA5FnU+NtZu1Dp8wTziUO3Yk10WOOHhAPyKmake//m6H2MlbLT
7OboUEDCXHWgl7lkc9F1EUI0Y1mb7acq3jCz3s1yaXuZxVdJOs9Phhfz6UeqO6wQwSz6pD7nZEP0
MCteCKaelFZHfKrOOcnx69uzgKB2bcnrg6ChVEApUQ9fv5zOktkN5M6ukDXJf4aDi5i0pUREkkwh
gl3clZtbFmx9enIGn60t9oUhWTjEV+Po3Bh/6+S4WE9dsh9oKr7ssvgf8wRyWIPy4vy5jzo+90Nw
u4pgx2FIIVmg+6MRO5B0wZLTdlOC+ivR5a9hpsajUS0VsCgp8ZIJVfapqTdKtIdfjNe5RVyF45J1
yKJMHMXhKjhLOE0Rrjj3YiId2JhixSKWI78wWRVVy6rclYDBopjBnmk+HgEQKsUqIOCrMF1GurAs
uYpmcXF3wmBNi5BgrdZ6dcUQ5G59Kloz57mRItNkiZAzJm8QEGwFN7Q9V9PXr8vuTLxQJiD/CuIc
W4+j6XmISgW2fP/857KENnVBgE8QsqzEoGixQadRADRoxoBgG5AAadnpAY0Lah08QKBKPeJgDQTZ
WqPQFSff9TKRYNEY60Sj3Uig7UaT3MaR4XjCJD8S66o6Fcw6itrukTR31Ru2TH1OmF/BbKmwVKkj
vobhZ/TYrB2OSmtXpDXsgWCHYI1oDLsy0A/cGr+mxOCGSdyTYGZgseMPk3h2kQqKgoUdgZeLM+sE
C99S+1g0F8koQQ7lBaQM82VCWMZ1wtlvlMZ5kahceZ8kW712sRB3IfMcf2jKGbm5Sdm8Z9F5x22d
bImPMjVWYcx0YS2sRpE4+8CwL89jIwcqE4jT6w8aEce27knf2OAWwkeIaMc8pFk8hLmsGeWZ+HQH
zpcQtZDzr6gdzzaYMIW9KONWc87d3t+1tWHu7nqMq9SL6DJnV0mkDtPOYorY0MAG/utfzumJMqnv
QSYqk+pazjC5RcPG6Y1QQOq6ZGOD0Oc2XMd8/yzJ8hlNeT7PKAYMjqev44f8W3QK8U6celksAsOS
vNrjMM2AgOMbyucP1camEDEWxiEGXTFu53DDBpEAUiFuJlclvgVamaSJXqW1MS1+Uz5/Vh7MO94w
Ai/0Obycm3NYtwF0ndi62cCrzBZOh9zLjm+KVV3hh6Wv8ROfRd7go/k7bCpOozxe3oKVEPW1Kp82
LlNYbPpKlE098udrr7qT53tMqyo2XpRQpeSQHVnBLiI+JEBVcvzr1xMd//flgj5JKBokTReTCrL1
sgSChPfNygJdABR50i/iCCYWncO6k8NQ+RIcmJHTtBwvEbRRbpDJTb1psuO333VNn9uMSP2NJqMM
YuL0FrLg2I+sz3x2j9l8OoxmymkN7BB7bDLn6xMuFkrn2IOqX0z1m0Hgj7Ra9wZ+vrfHVd+bu51r
nJZGtrA1a2NXFFuVUnX+PAWuvQS669SG+e1dff2Wi+C7ZeJ7205GtHX6rnjlhurSVUyCpa/cHvMy
ClSt37yUmcnjltJPrNKurRhgVghLEAesnUhgLvZ54mafaltJXZuWay1IrC3vLE2Yk+DsLlKF4UJq
fmINx/nsPx07q5uOlrKJrUiW9ptH6De6hYSnKnRMGnhIzg+KNw2dYOqmOc0+wkG13DwbB9YShDi3
Zujl0xAgb1863SCPH7rvkhk8nOd4hCNBKAVoSice+J5ll4G4X3VjbsO6Uiq7eseeFeejNEPFjSrZ
2uy9AHuczuL9KpkgBoPOvADNQqtEYww3yunmmLyl9QjK6djchF1PnSIdsHd1G5cffweS1ym17YS6
cjrd4nAatJl5qAJ7SEI4xCC+mr2koDJFycAIYZJIiyuHG9GQ7wFH8PMsxSYaGIfqttWg194otrrs
J9K++7ixleA+6/DYrS4DLJaEc02z+uNeAiXDaMUxIlXD9z/pZUIGOWcE/6yfECclNcI4lErTORms
hU9hNklEtALicxjnQxMn+Kya2LSqTZTlljwIEDkxBS0AmGOug9NqLj2CPiiCDv5ErFxz7Nda6Ar4
bltHnigg6oNO01QqnYUnimUKE1u9JVkzt0ErxLoh1XTGyIoVT84LblenEyKt38wcchqo9ddYqn6h
FWm+E9CuqttI8uqMummnoU7j7XpMExT+94Eoa3OHIugk0Afa1pn15ygDijLwCzIwtpKWCINCDLki
C9rHgWkgqvK7DMTI4rMxN9jCN8q5rfjbdHWrGCGmsI3VMYH6gBbpzqxIKMShGF4k3zEV9McOgDjw
nXPbOlujsJc1g9ltpfT8dmjYndp1Q0qxoMAJ336dojDrVvf/rs9PzA4hHPM/iHcMQjTD3GdUGeeX
WTIm0r9KM2haAeWgG5OU4GvoMsqiCUTbNpHis4sDVelE6PTEMrkdOCHqTKfgDZSi58EavrTWU3D0
3juzMj6ZyJHOXkGc8ku8Tgk7mrjt7t4S//0yy7gtC1OJyx06wohkYx46zPvDeZ4CneNFhnqc/jwf
XhD5ljvS45SmTO67kqkYpBx1qzEa9Flk1NUnNqvD9PQVEtnST43RwYQI1LjWJQLq/DFQvyyoyE/r
PoDd1QPUXjoqwwuT6VX6MQ5oyw6sQDIHtgZMCVNlt4vw6dF4HJ9H42dDCPdfLqMeyfCoGNbmHdZS
VV8ecZIM0SHxIcq4mFou4iU0YSWBSCm0+37LFYa2iYFm0L2L61G1lu8YwJfdtFk0aDodxzm4vV7H
V/F4fd0+DFihiCIZn+8nyX+5wyTl5y9/0W2zJKfWb2gS4pGw0NrOcEvvuSOZh+ZU4uyCqErz0w6p
jDHk29RxNIypmHNb/GU2KAGETg1OITETxoyn0/EN/98wFi63JCecnPAU5DV6q50ELjkoP9VhsQOK
E0N80+nDGSIIjs3oPEqmbWgNhCuwfHCgxgaan1qyZfEwnXCLKC61DR/rJidTpvgNIGZ+ksAVJkwj
O7yAnFYjJ1xhNHP8wNOOm5laedDktZADVbYwNXRv3Gipn0BF8n+Lu7rftm0g/u6/gnuThzhOiz3N
XTGsX/CwrgUW7DWgbSZWLYmCJMcNhvzv5d2RIkWRkqNsq9CHIubHfZF3R/14Gsi4mEq5bNOBWNHk
XAGaBzpNzL1GjOS5QQbrBxr/qTFmUh4Yx3JrIL+RRTqKOW1pirA2gkL1n3+iv5hKbhaykpsNmXg4
B7Ey/MYogmDxnykIVvd5jP4CrrKr6Gi6T8HXVEESC/pzqklwZEPCZEYmktb3BSRaCjEnU/VvVjP4
65CWHc+DLmaoR9JpfXIw1tp7dn3mfDZNOkPeMiIAN4gb74LvpbJzgzWw5MUiHLKBI7h66vYV9PYO
7Nt/xsLYx9EXsLgzG/AjyOkCRAYFL92dCFuJHbVQq1eyglj9Ye7dF3ZfIXZ2/RC2xA0YX7vSmnhR
9X4sbq6VYTv9bxp+F71d2GHFMaP/gxG7AyeLHlOBo1PlGu6DBngOiE4UdJYD1OA6lSqSq3JZNxHf
6Qf6q+clR8ultkIoL5YWR8w3fXIipIwolIXXgL8IUNyEPaBpYSxzi0djGyTdLTXKo4at8TPfYAZU
HTOgloMbAN1irdEhtBU0glt42BVL99XQ8RyF52XzQB1/ZqLidZdt72oP0yjgX1ifylU7JkIolDmc
0iyDpAnwBxrr0BsNY4r+ePjnFY7mPBu1+xw3VFqzYTve8Gdb2500ut2Iu7QowPq1epEkxN+hAglZ
EZNKJZx12hfOCBgixP1IF1DDoq/xofXXJ4s+6403uaTmN1XmfKygEBGkuKUoztgRgyvPM+3l0mLg
T1iC+CTwEx8VpoGFPF3MBgkFE4u1MFZEZjNzJ6VvgqjN41gp+4GljZPjnW30rYu9zNwXho4er+Yk
GyF2YCXKVjZ8e2AZh02oaxgapwQUzYI847bm3vsBM0M2uobsa9TlPIo25QzDWaz7phMERW9CrGDV
TvovymfelnDeZoJDLmpGA0ao1icr+Q48wSVbF7YitaKYI4hKL8FUX2cSF72hzDCaWUXibaPrVwO7
7AscqOhNAWwuSw8iewCqaROyMvkxgNwPY5UwYCOL7CxHgDxaUczYGY/tcs5a1A/ND11RBf4KsD/j
LQ+4xbGaxS54UJOF0aG56oF/nq88nL1z04MaRFwFjRW/xmG3C8IN/KSoSkzx17ZzN/SO22TB+KbG
qvsMQWO3kA54FWbY9V6EmllIn9Y4LViqKI7oad5eeu2UOVd07tPtHkwKTsYYlYEwg1F/iC0U63bZ
SMwClUSwAttW4I1gDLUZ9fc6muE0qtuzxt41a8PfTcufC57DQ3bKQzUhoaiAfjk/RQ4p3nxiEgSj
tfeEHFnTtpqCDDUzo0wH0EZJCE4YmzkQvL2Cw6fXuNXSiK+W+BeGNTdytWXVlFV2cCe/q0mv5frt
HyznZQl79NXLxdWLxYuXFtHZ1v0wGVHXSZp8CZlxq4GYkBGCV46ZEqROeMZuG5lZEm3ZcGzUOT71
7go4FxnXb+cX2CItthVyiG3boU1yxnaibPaGHzPhr/humdEZZNSKHXkyjd3TXTxL7R8PsqSLq9On
nVaX3mngoF4h8fqOWgW5QjsIbQ3SNqLQtkwAaGYnnqCZvvRbrpkfU/XOM7qFHiDagTPMj/xrmh9z
Est7RBX/LaoaNjR/RHO7POdfA81H1HMsldMWH48N7MNvZFHQmWSrLHIJ+NITpccbRl1qd4tO1W85
jeFb629wDHrA/BTOQ6paRSl1DS/jOfuw/vTZzomYaK48AC9qQGqQz1Gd5KndvM0YDX1fw3zODl+g
wNvDti85lBPaiQbsQsWgh2K7r2QBhdTMkJncHtClKU8iq9Z5aHb0B0EaKjUgCtjbdkSZ+idub4H2
e4iC2sjnz0+fI0t2a3nlhVaA2bbfXb+/7MsfbShqZRHlJZ5c7bQhJ5XWeoB3xFzMHRn90qTO8Ikd
/9LVQTJWiw3CJyggVMo6ZtN+FK172sJMa3uOrumPDXWshdPYjPo4+wZQSwMEFAAAAAgAYHhRRGDk
ElEEHgAAHIcAAAwAAABDb2RlU2V0LmphdmHsPWtz08iyn8mvaPxhkcGR4yyEgMneDSYB74WEipOT
s7WXSsnyOBbIko9GjsnZm/9+u+chjaSR7ZCwy6m6rlpiSzM9/e6enpa2/XgDHoP6/Ob5xyevYRM8
GCeM4e8rD/DKBqhRvXh2nQSXkxScXhM6L14839ze6mzDW5Z44QheJzFn0IbTCdOwTpk3dbP5p5OA
QxgMEy+5hoDLVXg8ThdewrpwHc/B9yJI2CjgaRIM5ymDIAUvGrXjRIKYxqNgfE1X59GIJZDiWilL
phzisfjx9ugM3qsl3rKIMIOP82EY+BLA+8BnEaLpcZjRZT5hIxhei7mHhM9A4QOHMS7hpUEcdYEF
eF+hcMUSjhdhWy+pQLYgTsDxUqIjgXhGM5uI/DWEHqKo59WzI6d6BEEkQE/iGdI38VKieBGEIQwZ
zDkbz8OWBILD4bx/+u747BT2j36H8/2Tk/2j09+7ODydxHiXXTEJLJjOwgBhI3WJF6XXiL+E8eHg
pPcOJ+2/7r/vn/5OdBz2T48OBgM4PD6Bffi4f3La75293z+Bj2cnH48HBy7AgDHNcQnGzvaM42ME
O42RsSOWekHIc0b8Hs+BI66oQxPviqEC+Cy4YiNURB9V7taiDePoUpAPqcHiLgRjiOK0BYskQM1K
40zocr5F8i3oR77bgp3nz+CDxznsX6Gce950mASjS/z6YR+2tjs/v2jB2WCfKGpvbMw8/4t3yZCN
l+5nz4+ToUv/XQbxrLuxgVKIkxQ+o3G5Qey+no/HDDX+hHmoz93K7euU7aO4ro/n6WyeDtIELaoy
qn988NVnQuOq96JsXs0aJuhzYk11yFnE5zO6wkYHkR+PguiyZsUIR/sTL+EsdXvyb/0AA6waWwN1
ngahK/jwHo3Ecu9jEs9YkgaMZzcN9vtxNA4u3Z74M0+8wgIrxlUxKsm19+bE4HFhVDxFYMdH/7g4
PNn/cIBwR2zA0l6MIyIWpbcZ24/G8Vrjo5R9Tdcf+Y6FM5ZYxp+83sd/3xwMDk4v+ke94w8f90/7
r98f1Az9sH8yeLf/vnK3f/zRHbDkCm1TrWgdcrr/9oJWu8DlBoURPBw//ey+jy8vWVJ749Dz0xhN
fKP9WPiUX705Or+kEJmEcc6kT/JDMmbFiY0/Nyj8ian0eQyvUMXZL/3B8e7usxcXnVdt8Rv90ixh
HIXBgacYlbxkBPuDXr/v6on9lBw5TgSaudl52Xmx+7wL71GTItgPZxNvyFI4il3oqClt8XeWBFcY
JAhsiuiNg8gLNXqQ4XGh5AF7ELEF9Hksr6uBTrO7sYKSZxZSLMi9+AbkntVh92wlemenh7sWxOgy
dDZ3MDynjIv4gbEMnT+5DxQ4SzSYf7aPZyyiCZu7XTjrDeAUIxzHGVNhw3AovsEuOGJMc336CIkS
ZWfpeHcdmjo7FqLQABhmLiPCcrtFSUQCT60UZjo1OG73D3rQ2dp5uiNU6sXPXUFrZ6e1hNjOzuYQ
swa6fityOztVejs7qwlGeiz0KjJ/HAIRnzJ9Pt9eQt4+PIrmmHnFw8/MTx8BkQgcQQUReQGftSgj
w7RqgioYxYCo+RMMkGKgGEeEY0bhro/l0dn795k/VGhqFGGz04LG0TEMznrvQJHSABvmYahzJ6ai
Nocs4lLW+5sMY5Syc6ZzMEwxMS9WWWicUJqNUFCilKggvUvpUFj+8Qn+++j4/OjiAEPHm/7R2wFS
8WfVlbUsDqRV1MJW0QZbRRHedDdqFDIUkUGrZMAFHxSW8p7Qx56U0lKiZJDRs/agEHTcS5bKC04j
yyMEzIYhk0zOoXcpM/ovjM0QKfRkX7SUfDPxEDPm3K3BaRjHIcPdUsB1uoIC24OxF3JmLEubsQgn
XLFccYnszIfCyEs9d7k0FQSdOeBU0kk0ii6023JfwlmI1oFbungKM9zwkFVipj/25mG6BjqLYMTu
gtO5L5EqaE5pXcQmiALBWuR3GPteGF4b9qARwp1hEl8F5KRxj+CHATmyCjZXMVIZhGW0CgmbXMR2
p4Ralk6IZApw7SgNxgFyAvOU2A88wi/f0WhMu9LzjOYJ+ZuIXcZpIHSngm0QoR8alVbFzXYcBYgh
8nLKiCkF6AJIAcoglQvhaG12KqFSTFADfH6EQxxa1Ocy2Mociz4kbnErQHlt4a4MXpV9hRuy6DKd
4L0nT5rZxBwEfXAz5/gc9vbKk/8IPpFJ9kdOs4mRKJ0nUc0QgSTaqAZ5k31T0xpn0ZcoXkRw2hu8
hK2vDXiCG8KUoa27afyOfZX0Ih4Kyk2dM9KWzbQ/yi5Iv6RcC2qBDhvcldmkhsOvI3+SoLz+TRtj
bvEXM7SeKUPz4UC7WCUSAknFC4Z8ZxrYAq0hps0wLLwoJTV/5MdhiHr3SKoZagZNAjIY7RrVH1m3
kBn0KGZcgKHaApuyKM1xGqJtLCaBPyF1FqYWpCrEuPAuXlAioEEKehAqoj+JR+SsFfZU9qAZAiwq
WirRqyL1q6BerQ6eYnthJ6dZf+WF84wTvzK9vwP7to8UDd0sSxLU29j354kWSbtgAKZ4FPJXcTDK
BQ1OYQF1o4mEJ/GC16xesh30tscRcnIUS37FGI4B92/w2z8+uBumaTw040KdDWl79rmPtigRIsPY
T1UhKoto0tlekJe90NENs5BGs1sDcLEewIUNYsXOBYIPZciBn36Ch+A0Gi771xyDnbzbbDYLs4p0
AkAWNnRWtgeXLNU5lQDRrcyhtfX4h3vFrKxZGV1dkz620KlgVhe8qVxhGM4FHtJDuAE/IE08iMi+
yMWtiYaaLtTYafS8iKyW6FIxGo56gx45AvJxNeyoYqeRoljnNAYGOB3kiWBFroaufpYWuLGKfbFU
7Iu7i33xV4j93P+h5X5uyH1xP3JfrCv4ktgl4ILvqM+tjXnlNDhN5swW2ImtNc6wwOw3bDi/rGH2
n3XsGNEkqxSchtZDdNpemDBvdJ1HhlEXxvNExFsvTdl0lnJiWcKyEVntP7iMMIyPHjbqreemLhM5
EUkNRVoj+ZYRWuxZVSrCZ8yn3HMk8ryWGiEDtzoIIUxSWwKpl/KMtFpvPanSIc402Ne8QODpdDxA
mvtv3FI4F2AFUjKwiHQ3jfVuw9Mqlc9TmRvNKWzEBbFxUtpZB2OZG4mESe/dGS9tBgsprhak4UbM
vBiahn6o63OfMk3aMuEfTBzPZhiyex4vJJ/3lBZX/V019+1u1Hi7PClWXtbRuOepdMWHGaqXJtc1
aMn9B+xl6TPKlzP84Sgt6+yAwYw7MQQqq38bY0Axh/DOfHdla1HhR9VjqpEF1bM5J5+0D5yj+XTI
ElnkytNQ9rVO5OuAvw93YJon/C12prTINLG/1WyKmhGMlhnJamndbGws5wPuQt/IMOuUN9WETTXT
VLlThlZlRHej7Kv4NbplX6ZJajF94vfDeSsVY3hP143eeKnnoI7LctLjtqyGQZOSR0lY5tcqHg9W
RnnFRE4zSnzM4EGzzhHcbJi7uFEwih6l0g5Ej4BRhiLJZfXaVpZZYdgLeKwOljYKks/SlnMviSxZ
S5EWNXqBYx1o0BQS/CbMVbFDk+JQzqb04Qk0mrCpcaHxiE5/cLwp0WlAc4mu2zlWPdYqFVFq6n52
aGVNKhvIWtuwYOxATQoIK7gpcj+ngSYK1YzX1LIlfFKjl3JBmanNOksUt9uiRWOSprOX7bY4Kufz
CPPnafvzNmftjvvU7bRHsc/bl3O0lzaac9jWiufiDXeSTkMydROmJw4HKGXLdFTXmIKklBFy15hp
fNVIjdgVC+ng3i2gl11uI08/om2PGH3j7afPn2/vPnsu8KqBLIpTXhhSSWUqmjwuWSrCFHoINP0S
huXzEVVZKzDxmmNODjPZYXCNNnuN5ktdG2gOMxaJafNZHMlqLxPcOB7kpFf7K7QdyWvqfKc6zBHX
rS0gRU0q++4CeFI+mws3kzWwOrwiGD+MixkrFHQ4S2DQso+NtIWidUXTJabrh73zurin4FV32xns
WtCqHYFWKF5xoNiw8Mcn8OU3XnEraBwOlOKgHmwGwFr3QS5HT6CytPp+IVOLQluEKwqXsCpMtdvF
afLwkeLIFHPuCdpGZUqxhYX2qFIli9ftiNJRTTnqgdiQuzFaB2qeN+NzaoEbCS12ygU+yMVoa01x
abPsEE7rhFYFSJxNrdau4mGNqDXUnNdYE67a0x3YU4lXjdALxWJHQXBFSX2FdG+5bB0YEbdqoUjZ
W7nQvQ0kF/cwFGopLaNwi5JMWXlgNV9rlXNduP2y5/6t1qVyUaviayzr3tSqYEkDl5z8QX10L0+o
xV2f/hIBLfuRaMVXZf1zr9SIX0TGMaATTynz6ghT4nqw641GTnmte98akKZXNwN1OT/xQeb5DzM0
yUN5QYTJfhXO6my/SK0NQnelLhAXJJ8GYnPjaFtv5uATNo2vmANbiJIuLnRNCDL8qO5hQ1h0K4PC
0ZU4zU/LpVAEs44QijOIajsRiLcT2PCv2IXNtTg5k1plWptrJglH6vCbjbJqgdW5cQztLFG36Eqr
YEtQk2DgCh9UmSODj9cGog7JRgYpy6NIS63S2oDVH/sCFgpuAVMOXZOpFZLLREk316peJ61O2Qre
mnu2Qelspj8Wi+PWS66RnUDi7QtOiiKX0LSYtYEBSyulD3W9u7HUQuRSuQpmy61pLWvQYQOOhmWj
Z22a6hOhhJG3PMo7Qw69IJwnzNGS04K6lV5UaQu0Luhbo1qlgFWpVF+kvnJwWewraqBmsbAEsnnL
4yCbeiic1tcPqIBdSXCNfqx73ncrRtw6qyH1W6tIU6939+tC5M5XPkQBfKhCo3nVgcaR0ZTZKPkL
gtrEma43o708jhbrFApa5l1f17hlSyf0RHsYUOWMw5+FaXKOoouyKvTdw5aktw78jSs2n6LlUjwX
sh5MyasaoI9uHpl3RL+JYJOtvZ/guWmsGpuaK2pyosPFglNJLLfwBZEMBxfE4jonYKUyjdUaCvUc
TEbEXc3awLPM4hayuB6V5aYNlqpgDb9ll7AEm4nv48nBYf+fSE5j6+uW+jS6tulqYgW/AtftJgaJ
t1Df9qw9cAaA7kZ5X1/AFHP4IVeTtlrlm5LhDlWbsyXzi014kl++3VbKnk1Zk8Rg7bxQ3PsvCCrb
zpcQlHbA3bqDOFGyRBGwZOz5zGye92AoTUi01cqzuWKTrHhgckiTvNGy07QcvCjoSMtUJIk/ui8U
6CExefIXUXWMGvfl8tRrHG1OUZWTa4VX1mZqLCgmEDpUt6StQAF84dBxniQkmFnMZVeueujRAjuQ
8rvAoQKkCTO3ycfwPo6/INsmuHwRmmwaEB01nkBxUza2T73kC7U5clBMd6E/Bh63BAmc+g8F8Tkk
czmq9CYGRQhiHqauOSRrSEjmanW9ZDQKfE8cpYRBmoZsk0rJpG4eN8UJuUjpo5VScPj4g9OsVasT
ix6lsV2LqKY9ZOLByJRF6ymSLEcXNKlGKqKaXT5NHl7nz2BK7Ip8kw0gQ3lfjRUPblrZIgKRuH1B
gx05ZQgl/TNXQNP0ESs+oQfKnO1NmtEELwwuI9HISsJd2DCXZdiVqKthE5ZPEODcVQQIjByFmJxr
T8xL5+KtYh9KSSbUL+pSVVn0gReuRnl3yhJtUmqu9DjrFCePr4syJUblSpZez1i5t4dcp03RtIbX
VHrW8cqijHhHUqZ0zsmEVuSE8HUQPkfMikjfDc0Jk48FbGZPCaAYx3FS6ta3oUaKoWoydhS0LqxY
f9WTAra1lTJmR592BKpKV5yuU1GoA5DBv728RR6fsH/NA2rDz6PCpnTRogkv94qZxbPLIBJH5jG5
cy7ORgRLMF6WlTzv8UN38zqeGkjQA+JDmKC3HzIWGSMzT2FBycpprYDK/8XT3Eoq63+jKlIs9MpP
6WSRMTf5gjvMuKCjTx6OVW1WSHjC5PM+pUn0vPzFNIhU22AYL1TMJq7oc1salL2Rwem4X0WDJefz
adb1ngGUYfZARllTDjlFgZY5hVdaEjAoY9ad8DQDZnQ+FflhlQ3dFdBkq7tj5l+KGS1ppkGsyM0z
zwLGZcnl+zj17DVuH197oxwpXR96KVoRKi0Iq+QsU/Ry+iOeFQSZj+scJs4SKGJ71t+axvJ1DkK9
6VKNWoD+GPphJLyiE9YbGW2gJTASmX6GS2pDUCNF/9Yrmvh8B20DsCucfFJnXZXztEwwDebBMLw2
zaioi3yZS5bqKGHVK2SJrT+Olqp00supLSZj+kE5RpWJJMZ9IW0LdYfHUiUsbhiU/pU9hIoHZU8P
xqc4R/vzcgKk3bWpHl7V6YNj7BWGwaXaKDSN53XtKMkFpBwL+qcuxSVtXAkwl/6dzaSgl0byK52k
ubfIlFJqS6sa7sqXJHllhV2imtZCmFBTlRbWK2edbnIhre+tl9KG65WSl5WS66zq/zVyXY1UftKq
krrx6puV0tTJB7baJM9qX9ajpwcPxA7OsB2NGhdv2dmnc9mWiVURGwMTSwkSahLpisCUWn2e87SS
LlszQjWhpJY1Spx6Sfox5tlY/Emjs7qRl1ZNYuHVOmpZdiKAqVGFknhmQG1KoXZTOnReiEP3TAfE
HylfjbH8ZSxYk31v3SUjA8/3UeOVWb/tH3+Ejrv9A+ZpxC6A/PNX5WlT0kr0IL/swXbz/nIqWYtH
R56KmrKZXL3F9Tvb54MVGRYxZGWUouVp1h+f1OEWXfhDMtPo9yAo6IVJyfa0zWUVU3gixhu1sMw3
iedvKYNjF9KJ59ONEmM2L/dO2SWUfsic6pqvND51Z7ZElOiN/AR7hS2S5pGZbFoQLXissknlx4AC
XotOGoJyUqlqmvrkQDTgVV6rpF7Zk70uyqyY65nVVzHV0MznMzqSFAc1HfqvBY2sEb7URV9buRSP
gItH4ShioPKLl+WpVIUbI/PyYq6mFVSFSAu1wxXIBy05ai1cy8WXRwvxkoFAvjYgKxzYi6LfXBGE
ugaBhzTIjvj3zEUvgrptVC3Cyp7MmrYjS9R+UU3WV+hnZY3O7qyj2s9uq9uHpm4/axSx/lHZzheB
eAjPX9kf6HEGj/5nvr2133v0cs3ujKpQlUy3vu4/bXbtc9A1fqneuqnFaKuzs3UvGO3cI0ade8Fo
9/4wev7mPjB6fY9Se35wLxjdI4+ebd8LRr17xOjne8HozT1KbfdeMDq4K0bqYZ11cRHO2tg3QrZx
9Gu3i6Y7tW4c1+snWxqsjJcrrpN4me9ihNWB6VmWdNE75RrwDTkMpVzDOJ3IdIMOiaM42rTvFOB7
pzPl11zkJHyn44cqJtREZ8TVV9keyzoaakrCatsqqmw5sCcbsPrTgJjyYfXM37Z4Xs54NpHkJWhv
iXdli92pagOi13qdUypK75osagMUkxT6mOfxe+CIn01wtr6Ox/CTtu288cX2HiNHzv4JVXF3q0lN
n1urmKUE7RAFTbl6GUvra2OMpZha6qt/y9UcE0rnELd0r2CnCf8LToVaMeTnw2ZzFXIrEJBMHm6v
yeFb4L8l8e9sCwKc4bZG+S5UWSxu5RkLj+eJz77pjOWC3doW73wAU2kor5Q3NEEVYsx0+z9izyUe
xoRXe2IP8/xw5aOWNN4Ai0a2TY8g2bEoQYPa0Nxu6xo4z+tj8hXB1vH1O8WONTZXLq251QSrQSum
/UI8e374n8+zn+GOTEN/dbAlfAxy5RfhcJT/qdjUKji7BhzYyd3RneBs1cOpSvdvEWa9cLYR41tK
+5ai61lY3rkdy7+R5Qaivx5fsSTJ+uOWHUvB9zmXsrrIB2lybf58oP6nDVISomFfXXEx6xJhRJxO
ZTEFaX+AH+LRH5/US8/3QAyggMsdBUiNE+dhQ9nI+VIOpx78B/Sp8n6oZt3Qvzf6ZUpL/hcTwDS0
bz8JlmvanpjJvqx1eLTWuRHUbQOMkZv5cdkmPF1RJ/SoD9/z09Ie7HQRkzhqtmECwJ8bltJycd6y
ttT62vKopcZ9U3W51HdxPTN70wKuqs9/1e6MxvwAuzNz4G03APaU+PCwJl/GVHr3znuA1TiIZeoz
9sP/pIy9GkDXlNHdM3GwJ3TtttqNd6CN/27By9IxLb3zWbyjjs5bt+0t0rXY288zSxgbB5vWA05J
aOGAc/txmezSBrzm+LJ0jFmBbDnG/L/mjq63bRv4nl9x00ukNpbtrAvaDN2QGWnRwW2KZG4xBEGg
2IwizLYCSY4dbPvv433IpiRKlr1iWF9SU+LxSN4dj6f72Kq92D9r5rtjUkuJSlppnkgzboTRwD3K
eODyiFre93FMavb0Lk5iTDGWW4pUoodkj51Po2HLuTR+TMXxthr/IKcqIIxUijiRu0FQxsmXSKhU
UjVNn+kbIRl21ORbYLyTqfJ/fEvd1eImYrIQXpKbV8a5Ss0FVxh/9IOmzCOUal6jvJAwGQLBQTJm
WnHY7/IArn0pvN1U/H1uERZCaEBQbx9y1F0UgrBqbmC0ILMjNvq8OrchtLXXu5bT6HZ51xZz2bcd
LjJ8gXm9Pld3ugbpI5zfqOtdYLf/UF/eONXpg6PP5E8eMkhjTHPuSxRJ9MMzsIQW3y/6J2XNuagY
U2f7twyjzlKrj+z93hv+ltE/KX/MqI26XEeEbOLSFlo+/3LxMWVLOhUyErWZa6QUY1MmsT7K/AbV
uX0cClTmV41HgcrCdzcVjgzXt9O8UZILLpdLKi8XJ2E3StOFSvnPq17vtZ+tMii9jxkG1ykI9Q+M
SbkLUtV9itTyVjf4k/hn/ec2mrx99UPv5M33vRzCaHDVOc59VfHMEjGJi1p0GrPTzKYAVTPJVChm
07E1wfSQYAZXxyV6sa9vfiBzyVFxN9JrEPKSIyKa8eJFBhd6FD7JJV+iVPnEL2Q5tMxMtEiuekEG
Kb1eLucxYF6ePnO0Fo3D9Hsfoz5AXs/zdUmw9d4DVDAxH13BF/YKLDaeJeOHCC+xi02JFP1vlOpz
/VKFxfepLG4VjFS8rT6Q9XiHtYLOZfbGY0rJz7F15acf7rFQC0aIJAuJOEOHxdE8Wsmy4eqyNkXu
YMzfsxm2TqM59g0XGMyaQzzsBIf41pzq6k7TGCGnZr/UXEpOaFlpgE5Q2q5LNVN0IUBIj1i/dT7B
UmH66H7SmgBu9nBwezYcHsHw7NP7I/w1+O33z+egsrEPn6m2WKLWlLIMyC01FjMYEd4LLYpeoFlH
hXESKaJLiurOBDaFbmMRYXJDpnY9lkF8UsvlGbi2je5VgEdFczhZKIV3pZJ2Pwv+kElNzPJnZnZV
EoB3/RP/DkUApo+9m5EceUwVwu6q+e3oqhtEq8ckDCfd+TQNJ8l9l9dTq/9PmNO0IeyadM9ZoI8n
V45AvbXptaSF+fPAVFnwiVk2A3/LgYdmet1UEBDfcY/r3k2eHNnpPDj6ev0XVNqDmvap49WmG2b6
97WQ8ImNp3PXGaVBqE7LlVT1ITFXY6pflYvD606g7/mdKdfz0bvz0w2YKVyMAdQqyty+/RDclIel
PK54hZReocqMhwVfV1nomIpZ4QdJbvAIAnYE14k5erpQtaY6Yf0iiwe2HhrTpuK1IjN88VjGFBTe
j83gNkJOBAFiIdAJ350ByOAMozRFeeZ4O0MNDMlqBY0vbIdLkjghScxQKrv37IKzSMkWFLZC9dcv
H6sIURrip1lhwg1gXEeE+300NY62PFVwA6rYwc87OOBZ6E4cej5c5McCkmBNouDaPMGaoj2vLgOw
bULGcZSjx9OooLMFkGTRhK9oQC3BqqbrLWbIXgPudvkQPKSyAZk+5XAdvuqLIvp6kCI6U6gzJQEr
JkesKhDfircHy1hTWyhWynKZYfwsHsZLrsuBq+brQdTqQr/gLHk8h9woOv1dBN1QBk9Py1Jre/pl
TS5jlab5BN7C5ULPbEbGKfkvFupYqbHGkV9ybMl1iyXG5bomxrfiswOw/CPiqlQRlwxmhIyZI9jz
bCiQcQ1cNNO3NaMJF5AaUwhJGOoWk4qr5u65qs2E2zBgg7cdWM1aULPnQE5JLwn1VvYxmVzbBNvg
FhJsbzP+5Mdjkphcvggf8LKRQ0F8VWXo4kZadIvKYKauofegX/fORnsAVitazqKw0FjfVgvsaEq1
BpkeSY2rMBtYGA6s4+zJeIBzsBA+/Hv+g2/Eg7CND6F2QfbmR2jNk9A4ODTzJtTyJzTwKDTzKdQC
beJXe6/tfAu189+bf6HBvA1iom3F1DbOPm58scjeU6d9mb5igT6C1b+xTMyq0w34jkCrIV2xcgne
FKkaR8ETwQBmcVH+++AfUEsBAh8AFAAAAAgAWW5RRD1vCayGOgAAkTcBABQAJAAAAAAAAAAgAAAA
AAAAAENEUk91dHB1dFN0cmVhbS5qYXZhCgAgAAAAAAABABgAWB5Y494rzwGSJtI96SvPAZIm0j3p
K88BUEsBAh8AFAAAAAgAYHhRRGDkElEEHgAAHIcAAAwAJAAAAAAAAAAgAAAAuDoAAENvZGVTZXQu
amF2YQoAIAAAAAAAAQAYAALtSvjoK88Bgl48QukrzwGCXjxC6SvPAVBLBQYAAAAAAgACAMQAAADm
WAAAAAA=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>432</attachid>
            <date>2014-03-14 11:45:34 +0000</date>
            <delta_ts>2014-03-14 11:45:34 +0000</delta_ts>
            <desc>JUnit Test for CodeSet.write_string</desc>
            <filename>CodesetWriteStringTest.java.zip</filename>
            <type>application/zip</type>
            <size>1222</size>
            <attacher name="Gotthard Witsch">gotthard.witsch</attacher>
            
              <data encoding="base64">UEsDBBQACAAIABaFbkQAAAAAAAAAAAAAAAAbABAAQ29kZXNldFdyaXRlU3RyaW5nVGVzdC5qYXZh
VVgMAPMjI1P7IiNT9QEUAN1XT2/iRhQ/25/ilRPJGpMATWDTSOsYB2gIpAYarVaramyPwS3Brj2E
pCturdReql1Vqnqp9rJSbz2091bqvYd+g+03yEfoG9vAYAWp0faQBoHnMe/3/vzesx9MQOzPyJCC
Hw7VT4nth5bKaMRUazqM+KW2VzuQZe8i8EMGESPMsxPsdOIxVYsiGjLVJd54hRJc8Y9eN7tTFkxZ
j4WUXBxsgA09P1B136E9ytYxQqRbFH3MFmMXt7dl2Ib+yIvAHpMoAhRCGgX+JPKsMQXXD4Ez8yZD
YCMKaSh1FnqMfhKxkCsuKBv5Dsw8NgLHc10a0gmnzZXRY9gF65pRBUpKKpTTtRKvQCYOXHhX1FmY
qDynHqUwYix4XCzOZjN1ytxq4Qvq2SP0TSw6HlPVoUUkY2NKhViN+7gbjOOsB/3jQhXsEQmJzWgY
cZ/884RMMdsQhj5jqHQw68geoQbfRTmYWmPsVVILTjai7Jxz7cWp8bLBC1mWnnBJllL4pe85cZkS
1DkWYvcIqeW3ECxJadHATtfDZRmHlKViPscp5LYOEM9N1tsPthOufT+ECZ1BBpWPrXlNnz0HehVQ
JO6k0HT3RZ4LWztXe7tzDk4STguP0BzJpRnYt3Q6n0lDSQ0VcMk4osulJCZiTfkdofvBNfrPOOAF
OFrqk/wZ3owqiW9c4/MpGecXTBTBFUfOZelfNKJ0zxth42OxkAm9vSl//PzQulK+512hO0JXKivZ
cm/v0Ns3vz+0FlXueYtcoUU1V5CrK7m64YG6ef3Dtw+jX6f8hzPhdw97hQBJWv3kKNLqVSwCWVPv
lzPqKM5NsK9kAM66ei+jdtfUpZ2s+4DYdA2y6aGvpYmjUd34WOtoDc1sQdvo9w0TdK1TNzXo3jnY
rnCbvi8EKy+DNbVOY9AGvdntGd1OA4WWMdCbBb407xpv7XHZIJN9BRKWPcM0+sjtrNXX2guqxvl/
FlQkX1MkMWjvVGuvQprvFNIR5D0hZCUJear1mwZeWjqSPOq263Bsaif9gblk/vSdwgtTqSpMJauc
hO99NNBMow76hycw6LSOWyi36ka3YWpnzcK+tq/dNbotELZKioBtmIZxkm2oZupNraVDTzs9a605
coQGWVTwoz81W+022mRcdfux/YY/lZHjwts3r+Dvr76Dm5cvf8LLq2/g5sfvv4Sb11//Cn/+8tdv
/7N5jKM49C4Jnl/iWSzaZWaishiHeBBBdTKlPReW/tUxnQzx7PTeYQpJN2IkpC9+WsznjuIDUxiS
6wgcHyY+gxG5pEB5YEjMkrEuhZRNwwkX50lh8VSU9/Bg5mE5dg5w+QAyGeDmo0dJflJ6SBV4RcuE
n3nPlTRVFLfSGHNZnsv/AFBLBwglCl6LAgQAABoPAABQSwECFQMUAAgACAAWhW5EJQpeiwIEAAAa
DwAAGwAMAAAAAAAAAABApIEAAAAAQ29kZXNldFdyaXRlU3RyaW5nVGVzdC5qYXZhVVgIAPMjI1P7
IiNTUEsFBgAAAAABAAEAVQAAAFsEAAAAAA==
</data>

          </attachment>
      

    </bug>

</bugzilla>