<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>54862</bug_id>
          
          <creation_ts>2011-02-21 02:19:25 -0800</creation_ts>
          <short_desc>REGRESSION (new UTF-8 decoder): Reproducible crash on alltommac.se</short_desc>
          <delta_ts>2011-02-24 19:16:14 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac (Intel)</rep_platform>
          <op_sys>OS X 10.6</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://alltommac.se/nyheter/bra-texteditor-till-iphone-och-ipad-gratis-just-nu/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+aaplse+%28Aapl.se%29</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P1</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Leif Joel Örell">lejo</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>darin</cc>
    
    <cc>eric</cc>
    
    <cc>jamesr</cc>
    
    <cc>pnormand</cc>
    
    <cc>subach.pavel</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>354477</commentid>
    <comment_count>0</comment_count>
    <who name="Leif Joel Örell">lejo</who>
    <bug_when>2011-02-21 02:19:25 -0800</bug_when>
    <thetext>My webkit craches every time it tries to load this site. Has happened b4 on other sites. Version 5.0.3 (6533.19.4, r78794)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354855</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-02-21 15:47:33 -0800</bug_when>
    <thetext>In release mode, the stack trace is unhelpful, but in debug, it&apos;s:

ASSERT(count &gt; m_partialSequenceSize);

 -&gt; WebCore::TextCodecUTF8::decode(char const*, unsigned long, bool, bool, bool&amp;)
 -&gt; WebCore::TextEncoding::decode(char const*, unsigned long, bool, bool&amp;) const
 -&gt; WebCore::TextEncoding::decode(char const*, unsigned long) const
 -&gt; WebCore::decodeURLEscapeSequences(WTF::String const&amp;, WebCore::TextEncoding const&amp;)
 -&gt; WebCore::decodeURLEscapeSequences(WTF::String const&amp;)
 -&gt; WebCore::(anonymous namespace)::decodeURL(WTF::String const&amp;, WebCore::TextEncoding const&amp;)
 -&gt; WebCore::XSSFilter::init()
 -&gt; WebCore::XSSFilter::filterToken(WebCore::HTMLToken&amp;)
 -&gt; WebCore::HTMLDocumentParser::pumpTokenizer(WebCore::HTMLDocumentParser::SynchronousMode)

See also: bug 54519, bug 54444.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354933</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-02-21 17:39:50 -0800</bug_when>
    <thetext>I’ll tackle this soon, as soon as I have some time. Worst case, this weekend.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355468</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-02-22 12:03:22 -0800</bug_when>
    <thetext>The crash occurs when decoding this URL (yes, decodeURLEscapeSequences forces incremental decoding!)

http://cache.pusha.se/knapp_liten.html?background=f0f0f0&amp;url=http%3A//alltommac.se/nyheter/bra-texteditor-till-iphone-och-ipad-gratis-just-nu/&amp;title=Bra%20texteditor%20till%20iPhone%20och%20iPad%20gratis%20just%20nu&amp;description=Just%20nu%20%E4r%20appen%20Text%20Writer%20gratis%20i%20App%20Store.%20Appen%20%E4r%20en%20texteditor%20som%20inte%20%E4r%20s%E5%20tokig%20alls.%20F%F6rdelen%20med%20Text%20Writer%20%E4r%20de%20extraknappar%20som%20finns%20ovanf%F6r%20tangentbordet.%20H%E4r%20finns%20knappar%20som%20delete%2C%20paste%2C%20copy%2C%20select%2C%20end%2C%20home%20samt%20knappar%20f%F6r%20upp%2C%20ner%2C%20v%E4nster%20och%20h%F6ger.%0AUppdatering%3A%0ATyv%E4rr%20kostar%20den%20nu%207%20kr%20%E5ter%20%5B...%5D&amp;newwindow=false&amp;p_fg=07b&amp;p_l=fff&amp;p_tx=b2d9f4&amp;p_lh=ffafd8</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355718</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-02-22 17:14:56 -0800</bug_when>
    <thetext>I have a fix for this but I still need a regression test. The one I made was wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356168</commentid>
    <comment_count>5</comment_count>
      <attachid>83497</attachid>
    <who name="Abhishek Arya">inferno</who>
    <bug_when>2011-02-23 10:11:12 -0800</bug_when>
    <thetext>Created attachment 83497
Testcase

We got this in a report at http://code.google.com/p/chromium/issues/detail?id=73338</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356237</commentid>
    <comment_count>6</comment_count>
      <attachid>83508</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-02-23 11:21:51 -0800</bug_when>
    <thetext>Created attachment 83508
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356272</commentid>
    <comment_count>7</comment_count>
      <attachid>83508</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-02-23 11:54:04 -0800</bug_when>
    <thetext>Comment on attachment 83508
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=83508&amp;action=review

Without test coverage, I had to take most logic changes on trust. It would be good to have:
-  fuzzer-like tests (an XMLHttpRequest for a .mov or .aiff file in media resources would be nice, like the one in bug 54519);
- behavior tests that can run on other browsers for comparison (handling of trailing incomplete sequence comes to mind, as well as decoding the URL from this bug);
- unit tests for things that cannot be tested otherwise.

&gt; Source/WebCore/platform/text/TextCodecUTF8.cpp:156
&gt; +    memmove(m_partialSequence, m_partialSequence + 1, m_partialSequenceSize);

Is memmove normally fast enough to efficiently move a byte or two? Sounds like an job for arithmetic shift to me.

&gt; Source/WebCore/platform/text/TextCodecUTF8.cpp:171
&gt; +void TextCodecUTF8::handlePartialSequence(UChar*&amp; destination, const uint8_t*&amp; source, const uint8_t* end, bool flush, bool stopOnError, bool&amp; sawError)
&gt; +{
&gt; +    do {

Can you ASSERT(m_partialSequenceSize) here?

&gt; Source/WebCore/platform/text/TextCodecUTF8.cpp:230
&gt; +            // Explicitly copy destination and source to avoid taking a pointer, which
&gt; +            // harm code generation.

Did you mean &quot;which can harm&quot;?

&gt; Source/WebCore/platform/text/TextCodecUTF8.h:50
&gt; +    uint8_t m_partialSequence[U8_MAX_LENGTH];

So, it&apos;s not necessarily partial any more - should the variable be renamed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356277</commentid>
    <comment_count>8</comment_count>
      <attachid>83508</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-02-23 11:58:06 -0800</bug_when>
    <thetext>Comment on attachment 83508
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=83508&amp;action=review

Thanks for the review.

&gt;&gt; Source/WebCore/platform/text/TextCodecUTF8.cpp:156
&gt;&gt; +    memmove(m_partialSequence, m_partialSequence + 1, m_partialSequenceSize);
&gt; 
&gt; Is memmove normally fast enough to efficiently move a byte or two? Sounds like an job for arithmetic shift to me.

This is not used in any particularly hot code paths. Some compilers generate great code for memmove. In others, a hand-written loop would be faster. This is probably not a hot enough code path to write it using type casting, larger integers, and shift operations, but I see your point. After all, the sequences do all fit in a 32-bit word! Maybe something to play with later.

&gt;&gt; Source/WebCore/platform/text/TextCodecUTF8.cpp:171
&gt;&gt; +    do {
&gt; 
&gt; Can you ASSERT(m_partialSequenceSize) here?

Yes, sure, I’ll add that.

&gt;&gt; Source/WebCore/platform/text/TextCodecUTF8.cpp:230
&gt;&gt; +            // harm code generation.
&gt; 
&gt; Did you mean &quot;which can harm&quot;?

I think I will say &quot;may harm&quot; yes, sorry forgot a word.

&gt;&gt; Source/WebCore/platform/text/TextCodecUTF8.h:50
&gt;&gt; +    uint8_t m_partialSequence[U8_MAX_LENGTH];
&gt; 
&gt; So, it&apos;s not necessarily partial any more - should the variable be renamed?

Not sure. The main job of this buffer is to hold partial sequences, but in pathological cases it can hold almost anything. I could call it something like m_extraBytes. Not sure what the best name is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356279</commentid>
    <comment_count>9</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-02-23 12:00:32 -0800</bug_when>
    <thetext>Committed r79466: &lt;http://trac.webkit.org/changeset/79466&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356304</commentid>
    <comment_count>10</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-02-23 12:26:49 -0800</bug_when>
    <thetext>No regression test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356306</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-23 12:28:29 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/79466 might have broken Qt Linux Release
The following tests are not passing:
fast/parser/test-unicode-characters-in-attribute-name.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356318</commentid>
    <comment_count>12</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-02-23 12:42:13 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; http://trac.webkit.org/changeset/79466 might have broken Qt Linux Release
&gt; The following tests are not passing:
&gt; fast/parser/test-unicode-characters-in-attribute-name.html

Really? Oh great.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356319</commentid>
    <comment_count>13</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-02-23 12:42:45 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; No regression test?

Quoting from the ChangeLog:

&gt;&gt; No new tests at this time. I will add some tests later, but since multiple
&gt;&gt; people are hitting this I wanted to get it in as quickly as possible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356388</commentid>
    <comment_count>14</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-02-23 13:51:16 -0800</bug_when>
    <thetext>Something is still awry - now there is some garbage showing up at the end of the results for http://trac.webkit.org/export/79480/trunk/LayoutTests/fast/parser/test-unicode-characters-in-attribute-name.html.  I&apos;m inclined to back out the UTF16 changes for now so that we can leave the UTF8 fixes in and test them, then work on the UTF16 decoded separately.  Does that sound OK?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356401</commentid>
    <comment_count>15</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-02-23 14:04:53 -0800</bug_when>
    <thetext>This garbage is a stray U+FFFD - the decoder decided that there is an invalid sequence at the end, which seems wrong.

I&apos;ll revert the UTF-16 changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356403</commentid>
    <comment_count>16</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-02-23 14:06:57 -0800</bug_when>
    <thetext>UTF-16 changes backed out in http://trac.webkit.org/changeset/79486</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356449</commentid>
    <comment_count>17</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-02-23 14:57:48 -0800</bug_when>
    <thetext>Thanks guys, for rolling out the UTF-16 change. I shouldn’t have included it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356455</commentid>
    <comment_count>18</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-02-23 15:04:59 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; This garbage is a stray U+FFFD - the decoder decided that there is an invalid sequence at the end, which seems wrong.

For the record: The decoder decided there is an incomplete sequence at the end. And the reason it decided that is that there is one! The last byte of the file is an 0A by itself. It should be 0A 00.

It’s possible, though, that incomplete sequences at the ends of files should not be turned into FFFD because that is incompatible with other browsers’ behavior. Or it could just be that test-unicode-characters-in-attribute-name.html is a malformed file that needs an additional zero byte at the end.

This should probably all go into another bug about UTF-16.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356788</commentid>
    <comment_count>19</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-02-24 02:31:17 -0800</bug_when>
    <thetext>This patch breaks http/tests/incremental/slow-utf8-html.pl on GTK:

#0  0x00007fdfb526d91f in WebCore::TextCodecUTF8::decode (this=0x7fdfa6e7b5f0, bytes=0x7fdfa6ee4d00 &quot;\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203&quot;..., length=1, flush=false, stopOnError=false, sawError=@0x7fdfa6eea234) at ../../Source/WebCore/platform/text/TextCodecUTF8.cpp:238
238	                ASSERT(stopOnError);

Thread 1 (Thread 19804):
#0  0x00007fdfb526d91f in WebCore::TextCodecUTF8::decode (this=0x7fdfa6e7b5f0, bytes=0x7fdfa6ee4d00 &quot;\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203&quot;..., length=1, flush=false, stopOnError=false, sawError=@0x7fdfa6eea234) at ../../Source/WebCore/platform/text/TextCodecUTF8.cpp:238
#1  0x00007fdfb511f8ef in WebCore::TextResourceDecoder::decode (this=0x7fdfa6eea1e0, data=0x7fdfa6ee4d00 &quot;\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203&quot;..., len=1) at ../../Source/WebCore/loader/TextResourceDecoder.cpp:658
#2  0x00007fdfb4d9a8b8 in WebCore::DecodedDataDocumentParser::appendBytes (this=0x7fdfa6ee7370, writer=0x7fdfa6ec5180, data=0x7fdfa6ee4d00 &quot;\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203&quot;..., length=1, shouldFlush=false) at ../../Source/WebCore/dom/DecodedDataDocumentParser.cpp:46
#3  0x00007fdfb50cb8f3 in WebCore::DocumentWriter::addData (this=0x7fdfa6ec5180, str=0x7fdfa6ee4d00 &quot;\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203&quot;..., len=1, flush=false) at ../../Source/WebCore/loader/DocumentWriter.cpp:201
#4  0x00007fdfb50c0cbf in WebCore::DocumentLoader::commitData (this=0x7fdfa6ec5080, bytes=0x7fdfa6ee4d00 &quot;\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203&quot;..., length=1) at ../../Source/WebCore/loader/DocumentLoader.cpp:316
#5  0x00007fdfb4abfc66 in WebKit::FrameLoaderClient::committedLoad (this=0xdfabf0, loader=0x7fdfa6ec5080, data=0x7fdfa6ee4d00 &quot;\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203&quot;..., length=1) at ../../Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp:318
#6  0x00007fdfb50c0ba7 in WebCore::DocumentLoader::commitLoad (this=0x7fdfa6ec5080, data=0x7fdfa6ee4d00 &quot;\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203&quot;..., length=1) at ../../Source/WebCore/loader/DocumentLoader.cpp:302
#7  0x00007fdfb50c0d7e in WebCore::DocumentLoader::receivedData (this=0x7fdfa6ec5080, data=0x7fdfa6ee4d00 &quot;\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203&quot;..., length=1) at ../../Source/WebCore/loader/DocumentLoader.cpp:328
#8  0x00007fdfb510715b in WebCore::MainResourceLoader::addData (this=0x7fdfa6ed9320, data=0x7fdfa6ee4d00 &quot;\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203&quot;..., length=1, allAtOnce=false) at ../../Source/WebCore/loader/MainResourceLoader.cpp:158
#9  0x00007fdfb5113d7f in WebCore::ResourceLoader::didReceiveData (this=0x7fdfa6ed9320, data=0x7fdfa6ee4d00 &quot;\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203&quot;..., length=1, lengthReceived=12225, allAtOnce=false) at ../../Source/WebCore/loader/ResourceLoader.cpp:279
#10 0x00007fdfb5108364 in WebCore::MainResourceLoader::didReceiveData (this=0x7fdfa6ed9320, data=0x7fdfa6ee4d00 &quot;\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203&quot;..., length=1, lengthReceived=12225, allAtOnce=false) at ../../Source/WebCore/loader/MainResourceLoader.cpp:443
#11 0x00007fdfb511469a in WebCore::ResourceLoader::didReceiveData (this=0x7fdfa6ed9320, data=0x7fdfa6ee4d00 &quot;\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203\342\200\203&quot;..., length=1, lengthReceived=12225) at ../../Source/WebCore/loader/ResourceLoader.cpp:430
#12 0x00007fdfb4a86765 in WebCore::readCallback (source=0xd746e0, asyncResult=0x16584c0, data=0x0) at ../../Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:792
#13 0x00007fdfb27e6f65 in async_ready_callback_wrapper (source_object=0xd746e0, res=0x16584c0, user_data=0x0) at /tmp/buildd/glib2.0-2.27.91/./gio/ginputstream.c:470
#14 0x00007fdfb2aed05d in read_async_done (stream=0xd746e0) at soup-http-input-stream.c:723
#15 0x00007fdfb254e33e in g_closure_invoke (closure=0x7fdfa6dcb0e0, return_value=0x0, n_param_values=2, param_values=0x7fdfa64d9cf0, invocation_hint=0x7fff0db71f90) at /tmp/buildd/glib2.0-2.27.91/./gobject/gclosure.c:767
#16 0x00007fdfb25673b9 in signal_emit_unlocked_R (node=0xddd050, detail=&lt;value optimized out&gt;, instance=&lt;value optimized out&gt;, emission_return=&lt;value optimized out&gt;, instance_and_params=&lt;value optimized out&gt;) at /tmp/buildd/glib2.0-2.27.91/./gobject/gsignal.c:3252
#17 0x00007fdfb2568b36 in g_signal_emit_valist (instance=0x7fdfa681f950, signal_id=&lt;value optimized out&gt;, detail=0, var_args=0x7fff0db72180) at /tmp/buildd/glib2.0-2.27.91/./gobject/gsignal.c:2983
#18 0x00007fdfb2569363 in g_signal_emit (instance=0x7fff0db70f30, signal_id=0, detail=2964340224) at /tmp/buildd/glib2.0-2.27.91/./gobject/gsignal.c:3040
#19 0x00007fdfb2af3b63 in read_body_chunk (msg=&lt;value optimized out&gt;) at soup-message-io.c:487
#20 0x00007fdfb2af4268 in io_read (sock=0x7fdfa685b170, msg=0x7fdfa681f950) at soup-message-io.c:1000
#21 0x00007fdfb2af4cb4 in io_unpause_internal (msg=0x7fdfa681f950) at soup-message-io.c:1207
#22 0x00007fdfb1c8d362 in g_main_dispatch (context=0xd731e0) at /tmp/buildd/glib2.0-2.27.91/./glib/gmain.c:2440
#23 g_main_context_dispatch (context=0xd731e0) at /tmp/buildd/glib2.0-2.27.91/./glib/gmain.c:3013
#24 0x00007fdfb1c91a28 in g_main_context_iterate (context=0xd731e0, block=&lt;value optimized out&gt;, dispatch=&lt;value optimized out&gt;, self=&lt;value optimized out&gt;) at /tmp/buildd/glib2.0-2.27.91/./glib/gmain.c:3091
#25 0x00007fdfb1c91f35 in g_main_loop_run (loop=0x7fdfa6e65c00) at /tmp/buildd/glib2.0-2.27.91/./glib/gmain.c:3299
#26 0x00007fdfb3bc6657 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#27 0x000000000041e056 in runTest (testPathOrURL=...) at ../../Tools/DumpRenderTree/gtk/DumpRenderTree.cpp:677
#28 0x000000000041d6e8 in runTestingServerLoop () at ../../Tools/DumpRenderTree/gtk/DumpRenderTree.cpp:487
#29 0x000000000041f7cd in main (argc=2, argv=0x7fff0db74fc8) at ../../Tools/DumpRenderTree/gtk/DumpRenderTree.cpp:1141</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>357488</commentid>
    <comment_count>20</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-02-24 15:46:53 -0800</bug_when>
    <thetext>That assertion is bug 55135.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>357655</commentid>
    <comment_count>21</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-02-24 19:16:14 -0800</bug_when>
    <thetext>*** Bug 55124 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>83497</attachid>
            <date>2011-02-23 10:11:12 -0800</date>
            <delta_ts>2011-02-23 10:11:12 -0800</delta_ts>
            <desc>Testcase</desc>
            <filename>stack.html</filename>
            <type>text/html</type>
            <size>32867</size>
            <attacher name="Abhishek Arya">inferno</attacher>
            
              <data encoding="base64">PCFBQUFUQUFBIEhUTUwgUFVBQUFDICItLy9XM0MvL0FBQSBIVE1MIDQuMEFBQUVOIiAiaHR0cDov
L3d3dy53My5vcmcvVFIvaHRtbDQvc3RyaWN0LmR0ZCI+CjxodG1sPjxoZWFkPgogIAogICAgPG1l
dGEgaHR0cC1lcXVpdj0iQ29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9
VVRGLTgiPgogICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIj4KCgogICAg
ICBkaXYgewogICAgICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBBQUEKICAg
ICAgIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlOwogICAgICAgIHdpZHRo
OiA0MCU7CiAgICAgICAgcGFkZGluZzogMC5BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBWkFBQUGFjkFBQVtBQUF+ho9BQUFBQUFBf4iQQUFB
XkFBQYCJPEFBQUFBQUGCij5BQUFBQUFBg4w/QUFBQUFBQYSNQUFBQUFBQX2GjkFBQUFBQUF+h5BB
QUFdQUFBgIg8QUFBXkFBQYGKPUFBQUFBQUGCiz5BQUFBQUF7hIxBQUFBQUFBQYWOQUFBW0FBQX6G
j0FBQUFBQUF/iJBBQUFeQUFBgIk8QUFBQUFBQYKKPkFBQUFBQUGDjD9BQUFBQUFBhI1BQUFBQUFB
fYaOQUFBQUFBQX6HkEFBQV1BQUGAiDxBQUFeQUFBgYo9QUFBQUFBQYKLPkFBQUFBQXuEjEFBQUFB
QUFBhY5BQUFbQUFBfoaPQUFBQUFBQX+IkEFBQV5BQUGAiTxBQUFBQUFBgoo+QUFBQUFBQYOMP0FB
QUFBQUGEjUFBQUFBQUF9ho5BQUFBQUFBfoeQQUFBXUFBQYCIPEFBQV5BQUGBij1BQUFBQUFBgos+
QUFBQUFBe4SMQUFBQUFBQUGFjkFBQVtBQUF+ho9BQUFBQUFBf4iQQUFBXkFBQYCJPEFBQUFBQUGC
ij5BQUFBQUFBg4w/QUFBQUFBQYSNQUFBQUFBQX2GjkFBQUFBQUF+h5BBQUFdQUFBgIg8QUFBXkFB
QYGKPUFBQUFBQUGCiz5BQUFBQUF7hIxBQUFBQUFBQYWOQUFBW0FBQX6Gj0FBQUFBQUF/iJBBQUFe
QUFBgIk8QUFBQUFBQYKKPkFBQUFBQUGDjD9BQUFBQUFBhI1BQUFBQUFBfYaOQUFBQUFBQX6HkEFB
QV1BQUGAiDxBQUFeQUFBgYo9QUFBQUFBQYKLPkFBQUFBQXuEjEFBQUFBQUFBhY5BQUFbQUFBfoaP
QUFBQUFBQX+IkEFBQV5BQUGAiTxBQUFBQUFBgoo+QUFBQUFBQYOMP0FBQUFBQUGEjUFBQUFBQUF9
ho5BQUFBQUFBfoeQQUFBXUFBQYCIPEFBQV5BQUGBij1BQUFBQUFBgos+QUFBQUFBe4SMQUFBQUFB
QUGFjkFBQVtBQUF+ho9BQUFBQUFBf4iQQUFBXkFBQYCJPEFBQUFBQUGCij5BQUFBQUFBg4w/QUFB
QUFBQYSNQUFBQUFBQX2GjkFBQUFBQUF+h5BBQUFdQUFBgIg8QUFBXkFBQYGKPUFBQUFBQUGCiz5B
QUFBQUF7hIxBQUFBQUFBQYWOQUFBW0FBQX6Gj0FBQUFBQUF/iJBBQUFeQUFBgIk8QUFBQUFBQYKK
PkFBQUFBQUGDjD9BQUFBQUFBhI1BQUFBQUFBfYaOQUFBQUFBQX6HkEFBQV1BQUGAiDxBQUFeQUFB
gYo9QUFBQUFBQYKLPkFBQUFBQXuEjEFBQUFBQUFBhY5BQUFbQUFBfoaPQUFBQUFBQX+IkEFBQV5B
QUGAiTxBQUFBQUFBgoo+QUFBQUFBQYOMP0FBQUFBQUGEjUFBQUFBQUF9ho5BQUFBQUFBfoeQQUFB
XUFBQYCIPEFBQV5BQUGBij1BQUFBQUFBgos+QUFBQUFBe4SMQUFBQUFBQUGFjkFBQVtBQUF+ho9B
QUFBQUFBf4iQQUFBXkFBQYCJPEFBQUFBQUGCij5BQUFBQUFBg4w/QUFBQUFBQYSNQUFBQUFBQX2G
jkFBQUFBQUF+h5BBQUFdQUFBgIg8QUFBXkFBQYGKPUFBQUFBQUGCiz5BQUFBQUF7hIxBQUFBQUFB
QYWOQUFBW0FBQX6Gj0FBQUFBQUF/iJBBQUFeQUFBgIk8QUFBQUFBQYKKPkFBQUFBQUGDjD9BQUFB
QUFBhI1BQUFBQUFBfYaOQUFBQUFBQX6HkEFBQV1BQUGAiDxBQUFeQUFBgYo9QUFBQUFBQYKLPkFB
QUFBQXuEjEFBQUFBQUFBhY5BQUFbQUFBfoaPQUFBQUFBQX+IkEFBQV5BQUGAiTxBQUFBQUFBgoo+
QUFBQUFBQYOMP0FBQUFBQUGEjUFBQUFBQUF9ho5BQUFBQUFBfoeQQUFBXUFBQYCIPEFBQV5BQUGB
ij1BQUFBQUFBgos+QUFBQUFBe4SMQUFBQUFBQUGFjkFBQVtBQUF+ho9BQUFBQUFBf4iQQUFBXkFB
QYCJPEFBQUFBQUGCij5BQUFBQUFBg4w/QUFBQUFBQYSNQUFBQUFBQX2GjkFBQUFBQUF+h5BBQUFd
QUFBgIg8QUFBXkFBQYGKPUFBQUFBQUGCiz5BQUFBQUFBJwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83508</attachid>
            <date>2011-02-23 11:21:51 -0800</date>
            <delta_ts>2011-02-23 11:58:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54862-20110223112150.patch</filename>
            <type>text/plain</type>
            <size>15243</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc5NDYzKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDUgQEAKKzIwMTEtMDItMjMgIERhcmluIEFk
bGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFJFR1JFU1NJT04gKG5ldyBVVEYtOCBkZWNvZGVyKTogUmVwcm9kdWNp
YmxlIGNyYXNoIG9uIGFsbHRvbW1hYy5zZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NTQ4NjIKKworICAgICAgICBDb3JyZWN0IGhhbmRsaW5nIG9mIGVu
ZCBvZiBidWZmZXIgcGFydGlhbCBzZXF1ZW5jZSBpbiBVVEYtOCBhbmQgVVRGLTE2IGRlY29kZXJz
IHdoZW4gZmx1c2hpbmcgd2l0aCB6ZXJvIGxlbmd0aAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQ0NDQKKworICAgICAgICBObyBuZXcgdGVzdHMgYXQg
dGhpcyB0aW1lLiBJIHdpbGwgYWRkIHNvbWUgdGVzdHMgbGF0ZXIsIGJ1dCBzaW5jZSBtdWx0aXBs
ZQorICAgICAgICBwZW9wbGUgYXJlIGhpdHRpbmcgdGhpcyBJIHdhbnRlZCB0byBnZXQgaXQgaW4g
YXMgcXVpY2tseSBhcyBwb3NzaWJsZS4KKworICAgICAgICAqIHBsYXRmb3JtL3RleHQvVGV4dENv
ZGVjVVRGMTYuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dENvZGVjVVRGMTY6OmRlY29kZSk6
IFR3ZWFrZWQgY29kaW5nIHN0eWxlIHF1aXRlIGEgYml0LgorICAgICAgICBSZW1vdmVkIHNwZWNp
YWwgY2FzZSBmb3IgemVybyBsZW5ndGggbm93IHRoYXQgbWFpbiBjb2RlIGhhbmRsZXMgaXQKKyAg
ICAgICAgY29ycmVjdGx5LiBVc2VkIHdvcmRzIGluc3RlYWQgb2YgYWJicmV2aWF0aW9ucyBmb3Ig
bG9jYWwgdmFyaWFibGUgbmFtZXMuCisgICAgICAgIEFkZGVkIGVycm9yIGhhbmRsaW5nIGZvciBh
IHRyYWlsaW5nIGJ5dGUuCisKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjgu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dENvZGVjVVRGODo6Y29uc3VtZVBhcnRpYWxTZXF1
ZW5jZUJ5dGUpOiBBZGRlZC4gSGVscGVyIGZ1bmN0aW9uCisgICAgICAgIHRvIG1ha2UgdGhlIGhh
bmRsZUVycm9yIGFuZCBoYW5kbGVQYXJ0aWFsU2VxdWVuY2UgZnVuY3Rpb25zIGNsZWFyZXIuCisg
ICAgICAgIChXZWJDb3JlOjpUZXh0Q29kZWNVVEY4OjpoYW5kbGVFcnJvcik6IEFkZGVkLiBIZWxw
ZXIgZnVuY3Rpb24gdG8gbWFrZSB0aGUKKyAgICAgICAgaGFuZGxlUGFydGlhbFNlcXVlbmNlIGNs
ZWFyZXIuCisgICAgICAgIChXZWJDb3JlOjpUZXh0Q29kZWNVVEY4OjpoYW5kbGVQYXJ0aWFsU2Vx
dWVuY2UpOiBBZGRlZC4gRmFjdG9yZWQgb3V0IGNvZGUgZm9yCisgICAgICAgIHRoZSBwYXJ0aWFs
IHNlcXVlbmNlIGNhc2UuIE1ha2luZyB0aGlzIGEgc2VwYXJhdGUgZnVuY3Rpb24gcHJvYmFibHkg
aGVscHMgbWFrZQorICAgICAgICB0aGUgZmFzdCBjYXNlIGEgbGl0dGxlIGZhc3Rlci4gVGhpcyBu
ZXcgdmVyc2lvbiBoYW5kbGVzIG1vcmUgY2FzZXMgY29ycmVjdGx5LAorICAgICAgICB3aGljaCBp
cyB3aGF0IGZpeGVzIHRoZSBjcmFzaGVzIHdlIHdlcmUgc2VlaW5nLiBJbiBwYXJ0aWN1bGFyLCBp
dCBubyBsb25nZXIKKyAgICAgICAgYXNzdW1lcyB0aGF0IHRoZSBwYXJ0aWFsIHNlcXVlbmNlIGlz
IHRydWx5IHBhcnRpYWwsIGJlY2F1c2UgdGhlcmUgYXJlIGNhc2VzCisgICAgICAgIHdoZXJlIHdl
IGVuZCB1cCBoYW5kbGluZyBjb21wbGV0ZSBzZXF1ZW5jZXMgaGVyZSwgc3VjaCBhcyB3aGVuIGEg
Y29tcGxldGUKKyAgICAgICAgc2VxdWVuY2UgaXMgaW5zaWRlIGEgbWFsZm9ybWVkIHBhcnRpYWwg
c2VxdWVuY2UuCisgICAgICAgIChXZWJDb3JlOjpUZXh0Q29kZWNVVEY4OjpkZWNvZGUpOiBSZW1v
dmVkIHBhcnRpYWwgc2VxdWVuY2UgY29kZSBhbmQgbWFkZSB0aGlzCisgICAgICAgIGNhbGwgaGFu
ZGxlUGFydGlhbFNlcXVlbmNlIGluc3RlYWQuIENvdWxkIGJlIHN0cmVhbWxpbmVkIGlmIHdlIGRv
dWJsZSBjaGVja2VkCisgICAgICAgIHRoYXQgcGFzc2luZyBhIHJlZmVyZW5jZSB0byAiZGVzdGlu
YXRpb24iIGFuZCAic291cmNlIiBkb2Vzbid0IGhhcm0gY29kZQorICAgICAgICBnZW5lcmF0aW9u
IHRvbyBtdWNoLCBzbyBwZXJoYXBzIHNvbWVvbmUgY2FuIGRvIHRoYXQgcmVzZWFyY2ggb24gYSBm
ZXcgY29tcGlsZXJzCisgICAgICAgIGxhdGVyIGFuZCBjbGVhbiB0aGlzIHVwLiBSZW1vdmVkIHNw
ZWNpYWwgY2FzZSBmb3IgemVybyBsZW5ndGggbm93IHRoYXQgdGhlCisgICAgICAgIG1haW4gY29k
ZSBoYW5kbGVzIHRoYXQgY29ycmVjdGx5LgorCisgICAgICAgICogcGxhdGZvcm0vdGV4dC9UZXh0
Q29kZWNVVEY4Lmg6IEFkZGVkIGRlY2xhcmF0aW9ucyBmb3IgbmV3IGZ1bmN0aW9ucy4KKyAgICAg
ICAgTWFkZSBwYXJ0aWFsIHNlcXVlbmNlIGJ1ZmZlciBsYXJnZSBlbm91Z2ggdG8gaG9sZCBhIHdo
b2xlIHNlcXVlbmNlIHNvIHdlIGNhbgorICAgICAgICB1c2UgaXQgdG8gY29tcGxldGUgYW5kIGRl
Y29kZSBhIHNlcXVlbmNlIGluIHBsYWNlLgorCiAyMDExLTAyLTIzICBBYmhpc2hlayBBcnlhICA8
aW5mZXJub0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2ZSBIeWF0dC4K
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjVVRGOC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNVVEY4LmNw
cAkocmV2aXNpb24gNzk0NTYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRD
b2RlY1VURjguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTAsMTEgKzE1MCw3MCBAQCBzdGF0aWMg
aW5saW5lIFVDaGFyKiBhcHBlbmRDaGFyYWN0ZXIoVUNoCiAgICAgcmV0dXJuIGRlc3RpbmF0aW9u
OwogfQogCi1TdHJpbmcgVGV4dENvZGVjVVRGODo6ZGVjb2RlKGNvbnN0IGNoYXIqIGJ5dGVzLCBz
aXplX3QgbGVuZ3RoLCBib29sIGZsdXNoLCBib29sIHN0b3BPbkVycm9yLCBib29sJiBzYXdFcnJv
cikKK3ZvaWQgVGV4dENvZGVjVVRGODo6Y29uc3VtZVBhcnRpYWxTZXF1ZW5jZUJ5dGUoKQogewot
ICAgIGlmICghbGVuZ3RoKQotICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgLS1tX3BhcnRp
YWxTZXF1ZW5jZVNpemU7CisgICAgbWVtbW92ZShtX3BhcnRpYWxTZXF1ZW5jZSwgbV9wYXJ0aWFs
U2VxdWVuY2UgKyAxLCBtX3BhcnRpYWxTZXF1ZW5jZVNpemUpOworfQogCit2b2lkIFRleHRDb2Rl
Y1VURjg6OmhhbmRsZUVycm9yKFVDaGFyKiYgZGVzdGluYXRpb24sIGJvb2wgc3RvcE9uRXJyb3Is
IGJvb2wmIHNhd0Vycm9yKQoreworICAgIHNhd0Vycm9yID0gdHJ1ZTsKKyAgICBpZiAoc3RvcE9u
RXJyb3IpCisgICAgICAgIHJldHVybjsKKyAgICAvLyBFYWNoIGVycm9yIGdlbmVyYXRlcyBhIHJl
cGxhY2VtZW50IGNoYXJhY3RlciBhbmQgY29uc3VtZXMgb25lIGJ5dGUuCisgICAgKmRlc3RpbmF0
aW9uKysgPSByZXBsYWNlbWVudENoYXJhY3RlcjsKKyAgICBjb25zdW1lUGFydGlhbFNlcXVlbmNl
Qnl0ZSgpOworfQorCit2b2lkIFRleHRDb2RlY1VURjg6OmhhbmRsZVBhcnRpYWxTZXF1ZW5jZShV
Q2hhciomIGRlc3RpbmF0aW9uLCBjb25zdCB1aW50OF90KiYgc291cmNlLCBjb25zdCB1aW50OF90
KiBlbmQsIGJvb2wgZmx1c2gsIGJvb2wgc3RvcE9uRXJyb3IsIGJvb2wmIHNhd0Vycm9yKQorewor
ICAgIGRvIHsKKyAgICAgICAgaWYgKGlzQVNDSUkobV9wYXJ0aWFsU2VxdWVuY2VbMF0pKSB7Cisg
ICAgICAgICAgICAqZGVzdGluYXRpb24rKyA9IG1fcGFydGlhbFNlcXVlbmNlWzBdOworICAgICAg
ICAgICAgY29uc3VtZVBhcnRpYWxTZXF1ZW5jZUJ5dGUoKTsKKyAgICAgICAgICAgIGNvbnRpbnVl
OworICAgICAgICB9CisgICAgICAgIGludCBjb3VudCA9IG5vbkFTQ0lJU2VxdWVuY2VMZW5ndGgo
bV9wYXJ0aWFsU2VxdWVuY2VbMF0pOworICAgICAgICBpZiAoIWNvdW50KSB7CisgICAgICAgICAg
ICBoYW5kbGVFcnJvcihkZXN0aW5hdGlvbiwgc3RvcE9uRXJyb3IsIHNhd0Vycm9yKTsKKyAgICAg
ICAgICAgIGlmIChzdG9wT25FcnJvcikKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAg
ICAgICBjb250aW51ZTsKKyAgICAgICAgfQorICAgICAgICBpZiAoY291bnQgPiBtX3BhcnRpYWxT
ZXF1ZW5jZVNpemUpIHsKKyAgICAgICAgICAgIGlmIChjb3VudCAtIG1fcGFydGlhbFNlcXVlbmNl
U2l6ZSA+IGVuZCAtIHNvdXJjZSkgeworICAgICAgICAgICAgICAgIGlmICghZmx1c2gpIHsKKyAg
ICAgICAgICAgICAgICAgICAgLy8gVGhlIG5ldyBkYXRhIGlzIG5vdCBlbm91Z2ggdG8gY29tcGxl
dGUgdGhlIHNlcXVlbmNlLCBzbworICAgICAgICAgICAgICAgICAgICAvLyBhZGQgaXQgdG8gdGhl
IGV4aXN0aW5nIHBhcnRpYWwgc2VxdWVuY2UuCisgICAgICAgICAgICAgICAgICAgIG1lbWNweSht
X3BhcnRpYWxTZXF1ZW5jZSArIG1fcGFydGlhbFNlcXVlbmNlU2l6ZSwgc291cmNlLCBlbmQgLSBz
b3VyY2UpOworICAgICAgICAgICAgICAgICAgICBtX3BhcnRpYWxTZXF1ZW5jZVNpemUgKz0gZW5k
IC0gc291cmNlOworICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgICAgIC8vIEFuIGluY29tcGxldGUgcGFydGlhbCBzZXF1ZW5jZSBhdCB0
aGUgZW5kIGlzIGFuIGVycm9yLgorICAgICAgICAgICAgICAgIGhhbmRsZUVycm9yKGRlc3RpbmF0
aW9uLCBzdG9wT25FcnJvciwgc2F3RXJyb3IpOworICAgICAgICAgICAgICAgIGlmIChzdG9wT25F
cnJvcikKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgIGNvbnRp
bnVlOworICAgICAgICAgICAgfQorICAgICAgICAgICAgbWVtY3B5KG1fcGFydGlhbFNlcXVlbmNl
ICsgbV9wYXJ0aWFsU2VxdWVuY2VTaXplLCBzb3VyY2UsIGNvdW50IC0gbV9wYXJ0aWFsU2VxdWVu
Y2VTaXplKTsKKyAgICAgICAgICAgIHNvdXJjZSArPSBjb3VudCAtIG1fcGFydGlhbFNlcXVlbmNl
U2l6ZTsKKyAgICAgICAgICAgIG1fcGFydGlhbFNlcXVlbmNlU2l6ZSA9IGNvdW50OworICAgICAg
ICB9CisgICAgICAgIGludCBjaGFyYWN0ZXIgPSBkZWNvZGVOb25BU0NJSVNlcXVlbmNlKG1fcGFy
dGlhbFNlcXVlbmNlLCBjb3VudCk7CisgICAgICAgIGlmIChjaGFyYWN0ZXIgPT0gbm9uQ2hhcmFj
dGVyKSB7CisgICAgICAgICAgICBoYW5kbGVFcnJvcihkZXN0aW5hdGlvbiwgc3RvcE9uRXJyb3Is
IHNhd0Vycm9yKTsKKyAgICAgICAgICAgIGlmIChzdG9wT25FcnJvcikKKyAgICAgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQorICAgICAgICBtX3Bh
cnRpYWxTZXF1ZW5jZVNpemUgLT0gY291bnQ7CisgICAgICAgIGRlc3RpbmF0aW9uID0gYXBwZW5k
Q2hhcmFjdGVyKGRlc3RpbmF0aW9uLCBjaGFyYWN0ZXIpOworICAgIH0gd2hpbGUgKG1fcGFydGlh
bFNlcXVlbmNlU2l6ZSk7Cit9CisKK1N0cmluZyBUZXh0Q29kZWNVVEY4OjpkZWNvZGUoY29uc3Qg
Y2hhciogYnl0ZXMsIHNpemVfdCBsZW5ndGgsIGJvb2wgZmx1c2gsIGJvb2wgc3RvcE9uRXJyb3Is
IGJvb2wmIHNhd0Vycm9yKQorewogICAgIC8vIEVhY2ggaW5wdXQgYnl0ZSBtaWdodCB0dXJuIGlu
dG8gYSBjaGFyYWN0ZXIuCiAgICAgLy8gVGhhdCBpbmNsdWRlcyBhbGwgYnl0ZXMgaW4gdGhlIHBh
cnRpYWwtc2VxdWVuY2UgYnVmZmVyIGJlY2F1c2UKICAgICAvLyBlYWNoIGJ5dGUgaW4gYW4gaW52
YWxpZCBzZXF1ZW5jZSB3aWxsIHR1cm4gaW50byBhIHJlcGxhY2VtZW50IGNoYXJhY3Rlci4KQEAg
LTE2Niw1MiArMjI1LDE5IEBAIFN0cmluZyBUZXh0Q29kZWNVVEY4OjpkZWNvZGUoY29uc3QgY2hh
cioKICAgICBVQ2hhciogZGVzdGluYXRpb24gPSBidWZmZXIuY2hhcmFjdGVycygpOwogCiAgICAg
ZG8gewotICAgICAgICB3aGlsZSAobV9wYXJ0aWFsU2VxdWVuY2VTaXplKSB7Ci0gICAgICAgICAg
ICBpbnQgY291bnQgPSBub25BU0NJSVNlcXVlbmNlTGVuZ3RoKG1fcGFydGlhbFNlcXVlbmNlWzBd
KTsKLSAgICAgICAgICAgIEFTU0VSVChjb3VudCA+IG1fcGFydGlhbFNlcXVlbmNlU2l6ZSk7Ci0g
ICAgICAgICAgICBBU1NFUlQoY291bnQgPj0gMik7Ci0gICAgICAgICAgICBBU1NFUlQoY291bnQg
PD0gNCk7Ci0gICAgICAgICAgICBpZiAoY291bnQgLSBtX3BhcnRpYWxTZXF1ZW5jZVNpemUgPiBl
bmQgLSBzb3VyY2UpIHsKLSAgICAgICAgICAgICAgICBpZiAoIWZsdXNoKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIC8vIFdlIGhhdmUgYW4gaW5jb21wbGV0ZSBwYXJ0aWFsIHNlcXVlbmNlLCBzbyBw
dXQgaXQgYWxsIGluIHRoZSBwYXJ0aWFsCi0gICAgICAgICAgICAgICAgICAgIC8vIHNlcXVlbmNl
IGJ1ZmZlciwgYW5kIGJyZWFrIG91dCBvZiB0aGlzIGxvb3Agc28gd2UgY2FuIGV4aXQgdGhlIGZ1
bmN0aW9uLgotICAgICAgICAgICAgICAgICAgICBtZW1jcHkobV9wYXJ0aWFsU2VxdWVuY2UgKyBt
X3BhcnRpYWxTZXF1ZW5jZVNpemUsIHNvdXJjZSwgZW5kIC0gc291cmNlKTsKLSAgICAgICAgICAg
ICAgICAgICAgbV9wYXJ0aWFsU2VxdWVuY2VTaXplICs9IGVuZCAtIHNvdXJjZTsKLSAgICAgICAg
ICAgICAgICAgICAgc291cmNlID0gZW5kOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgLy8gV2UgaGF2ZSBhbiBpbmNvbXBsZXRl
IHBhcnRpYWwgc2VxdWVuY2UgYXQgdGhlIGVuZCBvZiB0aGUgYnVmZmVyLgotICAgICAgICAgICAg
ICAgIC8vIFRoYXQgaXMgYW4gZXJyb3IuCi0gICAgICAgICAgICAgICAgc2F3RXJyb3IgPSB0cnVl
OwotICAgICAgICAgICAgICAgIGlmIChzdG9wT25FcnJvcikgewotICAgICAgICAgICAgICAgICAg
ICBzb3VyY2UgPSBlbmQ7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICAvLyBFYWNoIGVycm9yIGNvbnN1bWVzIG9uZSBieXRlIGFu
ZCBnZW5lcmF0ZXMgb25lIHJlcGxhY2VtZW50IGNoYXJhY3Rlci4KLSAgICAgICAgICAgICAgICAt
LW1fcGFydGlhbFNlcXVlbmNlU2l6ZTsKLSAgICAgICAgICAgICAgICBtZW1tb3ZlKG1fcGFydGlh
bFNlcXVlbmNlLCBtX3BhcnRpYWxTZXF1ZW5jZSArIDEsIG1fcGFydGlhbFNlcXVlbmNlU2l6ZSk7
Ci0gICAgICAgICAgICAgICAgKmRlc3RpbmF0aW9uKysgPSByZXBsYWNlbWVudENoYXJhY3RlcjsK
LSAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgaWYgKG1fcGFydGlhbFNlcXVlbmNl
U2l6ZSkgeworICAgICAgICAgICAgLy8gRXhwbGljaXRseSBjb3B5IGRlc3RpbmF0aW9uIGFuZCBz
b3VyY2UgdG8gYXZvaWQgdGFraW5nIGEgcG9pbnRlciwgd2hpY2gKKyAgICAgICAgICAgIC8vIGhh
cm0gY29kZSBnZW5lcmF0aW9uLgorICAgICAgICAgICAgVUNoYXIqIGRlc3RpbmF0aW9uRm9ySGFu
ZGxlUGFydGlhbFNlcXVlbmNlID0gZGVzdGluYXRpb247CisgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBzb3VyY2VGb3JIYW5kbGVQYXJ0aWFsU2VxdWVuY2UgPSBzb3VyY2U7CisgICAgICAgICAg
ICBoYW5kbGVQYXJ0aWFsU2VxdWVuY2UoZGVzdGluYXRpb25Gb3JIYW5kbGVQYXJ0aWFsU2VxdWVu
Y2UsIHNvdXJjZUZvckhhbmRsZVBhcnRpYWxTZXF1ZW5jZSwgZW5kLCBmbHVzaCwgc3RvcE9uRXJy
b3IsIHNhd0Vycm9yKTsKKyAgICAgICAgICAgIGRlc3RpbmF0aW9uID0gZGVzdGluYXRpb25Gb3JI
YW5kbGVQYXJ0aWFsU2VxdWVuY2U7CisgICAgICAgICAgICBzb3VyY2UgPSBzb3VyY2VGb3JIYW5k
bGVQYXJ0aWFsU2VxdWVuY2U7CisgICAgICAgICAgICBpZiAobV9wYXJ0aWFsU2VxdWVuY2VTaXpl
KSB7CisgICAgICAgICAgICAgICAgQVNTRVJUKHN0b3BPbkVycm9yKTsKKyAgICAgICAgICAgICAg
ICBBU1NFUlQoc2F3RXJyb3IpOworICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAg
fQotICAgICAgICAgICAgdWludDhfdCBjb21wbGV0ZVNlcXVlbmNlW1U4X01BWF9MRU5HVEhdOwot
ICAgICAgICAgICAgbWVtY3B5KGNvbXBsZXRlU2VxdWVuY2UsIG1fcGFydGlhbFNlcXVlbmNlLCBt
X3BhcnRpYWxTZXF1ZW5jZVNpemUpOwotICAgICAgICAgICAgbWVtY3B5KGNvbXBsZXRlU2VxdWVu
Y2UgKyBtX3BhcnRpYWxTZXF1ZW5jZVNpemUsIHNvdXJjZSwgY291bnQgLSBtX3BhcnRpYWxTZXF1
ZW5jZVNpemUpOwotICAgICAgICAgICAgc291cmNlICs9IGNvdW50IC0gbV9wYXJ0aWFsU2VxdWVu
Y2VTaXplOwotICAgICAgICAgICAgaW50IGNoYXJhY3RlciA9IGRlY29kZU5vbkFTQ0lJU2VxdWVu
Y2UoY29tcGxldGVTZXF1ZW5jZSwgY291bnQpOwotICAgICAgICAgICAgaWYgKGNoYXJhY3RlciA9
PSBub25DaGFyYWN0ZXIpIHsKLSAgICAgICAgICAgICAgICBzYXdFcnJvciA9IHRydWU7Ci0gICAg
ICAgICAgICAgICAgaWYgKHN0b3BPbkVycm9yKSB7Ci0gICAgICAgICAgICAgICAgICAgIHNvdXJj
ZSA9IGVuZDsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICAgIC8vIEVhY2ggZXJyb3IgY29uc3VtZXMgb25lIGJ5dGUgYW5kIGdlbmVy
YXRlcyBvbmUgcmVwbGFjZW1lbnQgY2hhcmFjdGVyLgotICAgICAgICAgICAgICAgIG1lbWNweSht
X3BhcnRpYWxTZXF1ZW5jZSwgY29tcGxldGVTZXF1ZW5jZSArIDEsIGNvdW50IC0gMSk7Ci0gICAg
ICAgICAgICAgICAgbV9wYXJ0aWFsU2VxdWVuY2VTaXplID0gY291bnQgLSAxOwotICAgICAgICAg
ICAgICAgICpkZXN0aW5hdGlvbisrID0gcmVwbGFjZW1lbnRDaGFyYWN0ZXI7Ci0gICAgICAgICAg
ICAgICAgY29udGludWU7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBtX3BhcnRpYWxTZXF1
ZW5jZVNpemUgPSAwOwotICAgICAgICAgICAgZGVzdGluYXRpb24gPSBhcHBlbmRDaGFyYWN0ZXIo
ZGVzdGluYXRpb24sIGNoYXJhY3Rlcik7CiAgICAgICAgIH0KIAogICAgICAgICB3aGlsZSAoc291
cmNlIDwgZW5kKSB7CkBAIC0yMzksMTAgKzI2NSw4IEBAIFN0cmluZyBUZXh0Q29kZWNVVEY4Ojpk
ZWNvZGUoY29uc3QgY2hhcioKICAgICAgICAgICAgIGlmICghY291bnQpCiAgICAgICAgICAgICAg
ICAgY2hhcmFjdGVyID0gbm9uQ2hhcmFjdGVyOwogICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAg
ICAgICAgICAgQVNTRVJUKGNvdW50ID49IDIpOwotICAgICAgICAgICAgICAgIEFTU0VSVChjb3Vu
dCA8PSA0KTsKICAgICAgICAgICAgICAgICBpZiAoY291bnQgPiBlbmQgLSBzb3VyY2UpIHsKLSAg
ICAgICAgICAgICAgICAgICAgQVNTRVJUKGVuZCAtIHNvdXJjZSA8PSBzdGF0aWNfY2FzdDxwdHJk
aWZmX3Q+KHNpemVvZihtX3BhcnRpYWxTZXF1ZW5jZSkpKTsKKyAgICAgICAgICAgICAgICAgICAg
QVNTRVJUKGVuZCAtIHNvdXJjZSA8IHN0YXRpY19jYXN0PHB0cmRpZmZfdD4oc2l6ZW9mKG1fcGFy
dGlhbFNlcXVlbmNlKSkpOwogICAgICAgICAgICAgICAgICAgICBBU1NFUlQoIW1fcGFydGlhbFNl
cXVlbmNlU2l6ZSk7CiAgICAgICAgICAgICAgICAgICAgIG1fcGFydGlhbFNlcXVlbmNlU2l6ZSA9
IGVuZCAtIHNvdXJjZTsKICAgICAgICAgICAgICAgICAgICAgbWVtY3B5KG1fcGFydGlhbFNlcXVl
bmNlLCBzb3VyY2UsIG1fcGFydGlhbFNlcXVlbmNlU2l6ZSk7CkBAIC0yNTUsOSArMjc5LDkgQEAg
U3RyaW5nIFRleHRDb2RlY1VURjg6OmRlY29kZShjb25zdCBjaGFyKgogICAgICAgICAgICAgICAg
IHNhd0Vycm9yID0gdHJ1ZTsKICAgICAgICAgICAgICAgICBpZiAoc3RvcE9uRXJyb3IpCiAgICAg
ICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIC8vIEVhY2ggZXJyb3IgY29u
c3VtZXMgb25lIGJ5dGUgYW5kIGdlbmVyYXRlcyBvbmUgcmVwbGFjZW1lbnQgY2hhcmFjdGVyLgot
ICAgICAgICAgICAgICAgICsrc291cmNlOworICAgICAgICAgICAgICAgIC8vIEVhY2ggZXJyb3Ig
Z2VuZXJhdGVzIGEgcmVwbGFjZW1lbnQgY2hhcmFjdGVyIGFuZCBjb25zdW1lcyBvbmUgYnl0ZS4K
ICAgICAgICAgICAgICAgICAqZGVzdGluYXRpb24rKyA9IHJlcGxhY2VtZW50Q2hhcmFjdGVyOwor
ICAgICAgICAgICAgICAgICsrc291cmNlOwogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAg
ICAgICAgICAgfQogICAgICAgICAgICAgc291cmNlICs9IGNvdW50OwpJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNVVEY4LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNVVEY4LmgJKHJldmlzaW9uIDc5NDU2KQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNVVEY4LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTQyLDggKzQyLDEyIEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBTdHJpbmcgZGVj
b2RlKGNvbnN0IGNoYXIqLCBzaXplX3QgbGVuZ3RoLCBib29sIGZsdXNoLCBib29sIHN0b3BPbkVy
cm9yLCBib29sJiBzYXdFcnJvcik7CiAgICAgdmlydHVhbCBDU3RyaW5nIGVuY29kZShjb25zdCBV
Q2hhciosIHNpemVfdCBsZW5ndGgsIFVuZW5jb2RhYmxlSGFuZGxpbmcpOwogCisgICAgdm9pZCBo
YW5kbGVQYXJ0aWFsU2VxdWVuY2UoVUNoYXIqJiBkZXN0aW5hdGlvbiwgY29uc3QgdWludDhfdCom
IHNvdXJjZSwgY29uc3QgdWludDhfdCogZW5kLCBib29sIGZsdXNoLCBib29sIHN0b3BPbkVycm9y
LCBib29sJiBzYXdFcnJvcik7CisgICAgdm9pZCBoYW5kbGVFcnJvcihVQ2hhciomIGRlc3RpbmF0
aW9uLCBib29sIHN0b3BPbkVycm9yLCBib29sJiBzYXdFcnJvcik7CisgICAgdm9pZCBjb25zdW1l
UGFydGlhbFNlcXVlbmNlQnl0ZSgpOworCiAgICAgaW50IG1fcGFydGlhbFNlcXVlbmNlU2l6ZTsK
LSAgICBjaGFyIG1fcGFydGlhbFNlcXVlbmNlW1U4X01BWF9MRU5HVEggLSAxXTsKKyAgICB1aW50
OF90IG1fcGFydGlhbFNlcXVlbmNlW1U4X01BWF9MRU5HVEhdOwogICAgIAogfTsKIApJbmRleDog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNVVEYxNi5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNVVEYxNi5jcHAJKHJl
dmlzaW9uIDc5NDU2KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNV
VEYxNi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0
IChDKSAyMDA0LCAyMDA2LCAyMDA4LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNiwgMjAwOCwgMjAxMCwgMjAxMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
QEAgLTI3LDEwICsyNywxMiBAQAogI2luY2x1ZGUgIlRleHRDb2RlY1VURjE2LmgiCiAKICNpbmNs
dWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1ZmZl
ci5oPgotI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL3VuaWNvZGUv
Q2hhcmFjdGVyTmFtZXMuaD4KIAordXNpbmcgbmFtZXNwYWNlIFdURjo6VW5pY29kZTsKIHVzaW5n
IG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTY2LDUzICs2OCw1NyBA
QCB2b2lkIFRleHRDb2RlY1VURjE2OjpyZWdpc3RlckNvZGVjcyhUZXh0CiAgICAgcmVnaXN0cmFy
KCJVVEYtMTZCRSIsIG5ld1N0cmVhbWluZ1RleHREZWNvZGVyVVRGMTZCRSwgMCk7CiB9CiAKLVN0
cmluZyBUZXh0Q29kZWNVVEYxNjo6ZGVjb2RlKGNvbnN0IGNoYXIqIGJ5dGVzLCBzaXplX3QgbGVu
Z3RoLCBib29sLCBib29sLCBib29sJikKK1N0cmluZyBUZXh0Q29kZWNVVEYxNjo6ZGVjb2RlKGNv
bnN0IGNoYXIqIGJ5dGVzLCBzaXplX3QgbGVuZ3RoLCBib29sIGZsdXNoLCBib29sIHN0b3BPbkVy
cm9yLCBib29sJiBzYXdFcnJvcikKIHsKLSAgICBpZiAoIWxlbmd0aCkKLSAgICAgICAgcmV0dXJu
IFN0cmluZygpOwotCi0gICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIGdlbmVyYXRlIGFuIGVycm9y
IGlmIHRoZXJlIGlzIGFuIHVucGFpcmVkIHN1cnJvZ2F0ZS4KKyAgICAvLyBGSVhNRTogVGhpcyBz
aG91bGQgYnVmZmVyIHN1cnJvZ2F0ZXMsIG5vdCBqdXN0IHNpbmdsZSBieXRlcywKKyAgICAvLyBh
bmQgc2hvdWxkIGdlbmVyYXRlIGFuIGVycm9yIGlmIHRoZXJlIGlzIGFuIHVucGFpcmVkIHN1cnJv
Z2F0ZS4KIAotICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIHAgPSByZWludGVycHJldF9jYXN0PGNv
bnN0IHVuc2lnbmVkIGNoYXIqPihieXRlcyk7CisgICAgY29uc3QgdWludDhfdCogc291cmNlID0g
cmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4oYnl0ZXMpOwogICAgIHNpemVfdCBudW1C
eXRlcyA9IGxlbmd0aCArIG1faGF2ZUJ1ZmZlcmVkQnl0ZTsKLSAgICBzaXplX3QgbnVtQ2hhcnMg
PSBudW1CeXRlcyAvIDI7CisgICAgc2l6ZV90IG51bUNoYXJhY3RlcnMgPSBudW1CeXRlcyAvIDI7
CiAKLSAgICBTdHJpbmdCdWZmZXIgYnVmZmVyKG51bUNoYXJzKTsKLSAgICBVQ2hhciogcSA9IGJ1
ZmZlci5jaGFyYWN0ZXJzKCk7Ci0KLSAgICBpZiAobV9oYXZlQnVmZmVyZWRCeXRlKSB7Ci0gICAg
ICAgIFVDaGFyIGM7Ci0gICAgICAgIGlmIChtX2xpdHRsZUVuZGlhbikKLSAgICAgICAgICAgIGMg
PSBtX2J1ZmZlcmVkQnl0ZSB8IChwWzBdIDw8IDgpOwotICAgICAgICBlbHNlCi0gICAgICAgICAg
ICBjID0gKG1fYnVmZmVyZWRCeXRlIDw8IDgpIHwgcFswXTsKLSAgICAgICAgKnErKyA9IGM7Ci0g
ICAgICAgIG1faGF2ZUJ1ZmZlcmVkQnl0ZSA9IGZhbHNlOwotICAgICAgICBwICs9IDE7Ci0gICAg
ICAgIG51bUNoYXJzIC09IDE7Ci0gICAgfQorICAgIFN0cmluZ0J1ZmZlciBidWZmZXIobnVtQ2hh
cmFjdGVycyArIChmbHVzaCAmJiAobnVtQnl0ZXMgJiAxKSkpOworICAgIFVDaGFyKiBkZXN0aW5h
dGlvbiA9IGJ1ZmZlci5jaGFyYWN0ZXJzKCk7CiAKLSAgICBpZiAobV9saXR0bGVFbmRpYW4pIHsK
LSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBudW1DaGFyczsgKytpKSB7Ci0gICAgICAg
ICAgICBVQ2hhciBjID0gcFswXSB8IChwWzFdIDw8IDgpOwotICAgICAgICAgICAgcCArPSAyOwot
ICAgICAgICAgICAgKnErKyA9IGM7CisgICAgaWYgKGxlbmd0aCkgeworICAgICAgICBpZiAobV9o
YXZlQnVmZmVyZWRCeXRlKSB7CisgICAgICAgICAgICBVQ2hhciBjaGFyYWN0ZXI7CisgICAgICAg
ICAgICBpZiAobV9saXR0bGVFbmRpYW4pCisgICAgICAgICAgICAgICAgY2hhcmFjdGVyID0gbV9i
dWZmZXJlZEJ5dGUgfCAoc291cmNlWzBdIDw8IDgpOworICAgICAgICAgICAgZWxzZQorICAgICAg
ICAgICAgICAgIGNoYXJhY3RlciA9IChtX2J1ZmZlcmVkQnl0ZSA8PCA4KSB8IHNvdXJjZVswXTsK
KyAgICAgICAgICAgICpkZXN0aW5hdGlvbisrID0gY2hhcmFjdGVyOworICAgICAgICAgICAgbV9o
YXZlQnVmZmVyZWRCeXRlID0gZmFsc2U7CisgICAgICAgICAgICArK3NvdXJjZTsKKyAgICAgICAg
ICAgIC0tbnVtQ2hhcmFjdGVyczsKICAgICAgICAgfQotICAgIH0gZWxzZSB7Ci0gICAgICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVtQ2hhcnM7ICsraSkgewotICAgICAgICAgICAgVUNoYXIg
YyA9IChwWzBdIDw8IDgpIHwgcFsxXTsKLSAgICAgICAgICAgIHAgKz0gMjsKLSAgICAgICAgICAg
ICpxKysgPSBjOworCisgICAgICAgIGlmIChtX2xpdHRsZUVuZGlhbikgeworICAgICAgICAgICAg
Zm9yIChzaXplX3QgaSA9IDA7IGkgPCBudW1DaGFyYWN0ZXJzOyArK2kpIHsKKyAgICAgICAgICAg
ICAgICAqZGVzdGluYXRpb24rKyA9IHNvdXJjZVswXSB8IChzb3VyY2VbMV0gPDwgOCk7CisgICAg
ICAgICAgICAgICAgc291cmNlICs9IDI7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSB7
CisgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG51bUNoYXJhY3RlcnM7ICsraSkg
eworICAgICAgICAgICAgICAgICpkZXN0aW5hdGlvbisrID0gKHNvdXJjZVswXSA8PCA4KSB8IHNv
dXJjZVsxXTsKKyAgICAgICAgICAgICAgICBzb3VyY2UgKz0gMjsKKyAgICAgICAgICAgIH0KICAg
ICAgICAgfQogICAgIH0KIAogICAgIGlmIChudW1CeXRlcyAmIDEpIHsKLSAgICAgICAgQVNTRVJU
KCFtX2hhdmVCdWZmZXJlZEJ5dGUpOwotICAgICAgICBtX2hhdmVCdWZmZXJlZEJ5dGUgPSB0cnVl
OwotICAgICAgICBtX2J1ZmZlcmVkQnl0ZSA9IHBbMF07CisgICAgICAgIGlmIChmbHVzaCkgewor
ICAgICAgICAgICAgc2F3RXJyb3IgPSB0cnVlOworICAgICAgICAgICAgaWYgKCFzdG9wT25FcnJv
cikKKyAgICAgICAgICAgICAgICAqZGVzdGluYXRpb24rKyA9IHJlcGxhY2VtZW50Q2hhcmFjdGVy
OworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgQVNTRVJUKCFtX2hhdmVCdWZmZXJlZEJ5
dGUpOworICAgICAgICAgICAgbV9oYXZlQnVmZmVyZWRCeXRlID0gdHJ1ZTsKKyAgICAgICAgICAg
IG1fYnVmZmVyZWRCeXRlID0gc291cmNlWzBdOworICAgICAgICB9CiAgICAgfQotCi0gICAgYnVm
ZmVyLnNocmluayhxIC0gYnVmZmVyLmNoYXJhY3RlcnMoKSk7CisgICAgCisgICAgYnVmZmVyLnNo
cmluayhkZXN0aW5hdGlvbiAtIGJ1ZmZlci5jaGFyYWN0ZXJzKCkpOwogCiAgICAgcmV0dXJuIFN0
cmluZzo6YWRvcHQoYnVmZmVyKTsKIH0K
</data>
<flag name="review"
          id="75334"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>