<?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>43989</bug_id>
          
          <creation_ts>2010-08-13 13:03:01 -0700</creation_ts>
          <short_desc>There is no test for unicode-bidi / direction support in ApplyStyleCommand::applyInlineStyle</short_desc>
          <delta_ts>2010-08-23 15:01:53 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>44371</dependson>
          <blocked>44359</blocked>
    
    <blocked>44458</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>aharon</cc>
    
    <cc>darin</cc>
    
    <cc>enrica</cc>
    
    <cc>eric</cc>
    
    <cc>evan</cc>
    
    <cc>mitz</cc>
    
    <cc>ojan</cc>
    
    <cc>tkent</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>264476</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-08-13 13:03:01 -0700</bug_when>
    <thetext>While I was cleaning up the code in ApplyStyleCommand::applyInlineStyle, I found out that unicode-bidi was never present in all of our editing test.  getIdentifierValue(style, CSSPropertyUnicodeBidi) always returns 0.  We definitely need some testing here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267080</commentid>
    <comment_count>1</comment_count>
      <attachid>64916</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-08-19 17:18:45 -0700</bug_when>
    <thetext>Created attachment 64916
adds a script test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267082</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-08-19 17:22:49 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created an attachment (id=64916) [details]
&gt; adds a script test

The attachment is in UTF-8 so please manually select the encoding if arabic / chinese characters didn&apos;t show up correctly.  Also please let me know if any of the expectations are wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267089</commentid>
    <comment_count>3</comment_count>
    <who name="Evan Martin">evan</who>
    <bug_when>2010-08-19 17:35:30 -0700</bug_when>
    <thetext>+&lt;!DOCTYPE HTML PUBLIC &quot;-//IETF//DTD HTML//EN&quot;&gt;
+&lt;html&gt;
+&lt;head&gt;
+&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;&gt;

FYI, HTML5 allows:
  &lt;!DOCTYPE html&gt;
and
  &lt;meta charset=utf-8&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267093</commentid>
    <comment_count>4</comment_count>
      <attachid>64919</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-08-19 17:53:05 -0700</bug_when>
    <thetext>Created attachment 64919
added nested case and expected results</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267106</commentid>
    <comment_count>5</comment_count>
      <attachid>64919</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-08-19 18:47:33 -0700</bug_when>
    <thetext>Comment on attachment 64919
added nested case and expected results

&gt; Index: LayoutTests/editing/style/make-text-writing-direction-inline-expected.txt
&gt; +FAIL Natural on third word of &quot;&lt;span dir=&quot;rtl&quot;&gt;hello &lt;span dir=&quot;ltr&quot;&gt;world webkit rocks&lt;/span&gt;&lt;/span&gt;&quot; yielded &lt;span dir=&quot;rtl&quot;&gt;hello &lt;span dir=&quot;ltr&quot;&gt;world&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt; webkit&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;rtl&quot;&gt;&lt;span dir=&quot;ltr&quot;&gt; rocks&lt;/span&gt;&lt;/span&gt; but expected &lt;span dir=&quot;rtl&quot;&gt;hello &lt;span dir=&quot;ltr&quot;&gt;world&lt;/span&gt;&lt;/span&gt; webkit&lt;span dir=&quot;rtl&quot;&gt;&lt;span dir=&quot;ltr&quot;&gt; rocks&lt;/span&gt;&lt;/span&gt;
&gt; +FAIL LeftToRight on third word of &quot;&lt;span dir=&quot;rtl&quot;&gt;hello &lt;span dir=&quot;ltr&quot;&gt;world webkit rocks&lt;/span&gt;&lt;/span&gt;&quot; yielded &lt;span dir=&quot;rtl&quot;&gt;hello &lt;span dir=&quot;ltr&quot;&gt;world&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;unicode-bidi: embed;&quot;&gt; webkit&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;rtl&quot;&gt;&lt;span dir=&quot;ltr&quot;&gt; rocks&lt;/span&gt;&lt;/span&gt; but expected &lt;span dir=&quot;rtl&quot;&gt;hello &lt;span dir=&quot;ltr&quot;&gt;world&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;unicode-bidi: embed;&quot;&gt; webkit&lt;/span&gt;&lt;span dir=&quot;rtl&quot;&gt;&lt;span dir=&quot;ltr&quot;&gt; rocks&lt;/span&gt;&lt;/span&gt;

These tests are expected to fail?  Can you include a link to a bug for these failing tests?

&gt; Index: LayoutTests/editing/style/script-tests/make-text-writing-direction-inline.js
&gt; +function modifyWritingDirection(content, selector, command, expected)
&gt; +{
&gt; +    if (!window.layoutTestController)
&gt; +        return;

Is this redundant with the earlier check (line 3)?

&gt; +    var selected = selector(testContainer);
&gt; +    window.layoutTestController.execCommand(&apos;MakeTextWritingDirection&apos;+command);

Nit: Spaces around the +</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267112</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-08-19 19:06:09 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 64919 [details])
&gt; &gt; Index: LayoutTests/editing/style/make-text-writing-direction-inline-expected.txt
&gt; &gt; +FAIL Natural on third word of &quot;&lt;span dir=&quot;rtl&quot;&gt;hello &lt;span dir=&quot;ltr&quot;&gt;world webkit rocks&lt;/span&gt;&lt;/span&gt;&quot; yielded &lt;span dir=&quot;rtl&quot;&gt;hello &lt;span dir=&quot;ltr&quot;&gt;world&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt; webkit&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;rtl&quot;&gt;&lt;span dir=&quot;ltr&quot;&gt; rocks&lt;/span&gt;&lt;/span&gt; but expected &lt;span dir=&quot;rtl&quot;&gt;hello &lt;span dir=&quot;ltr&quot;&gt;world&lt;/span&gt;&lt;/span&gt; webkit&lt;span dir=&quot;rtl&quot;&gt;&lt;span dir=&quot;ltr&quot;&gt; rocks&lt;/span&gt;&lt;/span&gt;
&gt; &gt; +FAIL LeftToRight on third word of &quot;&lt;span dir=&quot;rtl&quot;&gt;hello &lt;span dir=&quot;ltr&quot;&gt;world webkit rocks&lt;/span&gt;&lt;/span&gt;&quot; yielded &lt;span dir=&quot;rtl&quot;&gt;hello &lt;span dir=&quot;ltr&quot;&gt;world&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;unicode-bidi: embed;&quot;&gt; webkit&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;rtl&quot;&gt;&lt;span dir=&quot;ltr&quot;&gt; rocks&lt;/span&gt;&lt;/span&gt; but expected &lt;span dir=&quot;rtl&quot;&gt;hello &lt;span dir=&quot;ltr&quot;&gt;world&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;unicode-bidi: embed;&quot;&gt; webkit&lt;/span&gt;&lt;span dir=&quot;rtl&quot;&gt;&lt;span dir=&quot;ltr&quot;&gt; rocks&lt;/span&gt;&lt;/span&gt;
&gt; 
&gt; These tests are expected to fail?  Can you include a link to a bug for these failing tests?

There&apos;s no bug filed right now but there are extra spans in the actual result, which we should be removing.

&gt; &gt; Index: LayoutTests/editing/style/script-tests/make-text-writing-direction-inline.js
&gt; &gt; +function modifyWritingDirection(content, selector, command, expected)
&gt; &gt; +{
&gt; &gt; +    if (!window.layoutTestController)
&gt; &gt; +        return;
&gt; 
&gt; Is this redundant with the earlier check (line 3)?

No.  If I didn&apos;t exit there, it&apos;ll cause error when I call execCommand on layoutTestController.  Notice that testFailed does not exit the test.

&gt; &gt; +    var selected = selector(testContainer);
&gt; &gt; +    window.layoutTestController.execCommand(&apos;MakeTextWritingDirection&apos;+command);
&gt; 
&gt; Nit: Spaces around the +

Will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267113</commentid>
    <comment_count>7</comment_count>
      <attachid>64923</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-08-19 19:08:55 -0700</bug_when>
    <thetext>Created attachment 64923
fixed per Tony&apos;s comment</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267259</commentid>
    <comment_count>8</comment_count>
      <attachid>64923</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-08-20 08:36:38 -0700</bug_when>
    <thetext>Comment on attachment 64923
fixed per Tony&apos;s comment

(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; These tests are expected to fail?  Can you include a link to a bug for these failing tests?
&gt; 
&gt; There&apos;s no bug filed right now but there are extra spans in the actual result, which we should be removing.

Can you file a bug about these failures and add a comment to the test that says that these are expected to fail because of &lt;link to new bug&gt;?  r=me with that change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267446</commentid>
    <comment_count>9</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-08-20 15:14:49 -0700</bug_when>
    <thetext>Committed r65757: &lt;http://trac.webkit.org/changeset/65757&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267485</commentid>
    <comment_count>10</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-08-20 16:51:46 -0700</bug_when>
    <thetext>Because of https://bugs.webkit.org/show_bug.cgi?id=43989, rolled out the patch in http://trac.webkit.org/changeset/65762.

We need to remove Chinese characters in order to commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267594</commentid>
    <comment_count>11</comment_count>
      <attachid>65032</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-08-21 12:47:24 -0700</bug_when>
    <thetext>Created attachment 65032
removed chinese characters

It seems like Chromium Windows or possibly entire Windows platform have a different behavior on selection.modfy on Chinese characters. Testing on ltr and rtl texts should suffice ensuring the behavior of MakeTextWritingDirection.  If the behaviral difference on Chinese chracters is not what we expect, then we should file a separate bug and add a test but that&apos;s beyond the scope of this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267942</commentid>
    <comment_count>12</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-08-23 09:14:11 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Because of https://bugs.webkit.org/show_bug.cgi?id=43989, rolled out the patch in http://trac.webkit.org/changeset/65762.

Did you mean to link to this bug?  I&apos;m not sure I understand why the tests failed on Windows.

&gt; We need to remove Chinese characters in order to commit.

If the behavioral differences are expected, can we just add back the tests and add chromium-win specific results?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>268058</commentid>
    <comment_count>13</comment_count>
      <attachid>65151</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-08-23 12:35:35 -0700</bug_when>
    <thetext>Created attachment 65151
added back Chinese chracters</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>268083</commentid>
    <comment_count>14</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-08-23 13:20:35 -0700</bug_when>
    <thetext>Committed r65828: &lt;http://trac.webkit.org/changeset/65828&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64916</attachid>
            <date>2010-08-19 17:18:45 -0700</date>
            <delta_ts>2010-08-19 17:53:01 -0700</delta_ts>
            <desc>adds a script test</desc>
            <filename>bug-43989-20100819171844.patch</filename>
            <type>text/plain</type>
            <size>8213</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDY1NzE1KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMDgtMTkgIFJ5b3N1a2UgTml3YSAgPHJu
aXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGhlcmUgaXMgbm8gdGVzdCBmb3IgdW5pY29kZS1iaWRpIC8gZGlyZWN0aW9uIHN1
cHBvcnQgaW4gQXBwbHlTdHlsZUNvbW1hbmQ6OmFwcGx5SW5saW5lU3R5bGUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzOTg5CisKKyAgICAgICAgQWRk
ZWQgYSB0ZXN0IGZvciBNYWtlVGV4dFdyaXRpbmdEaXJlY3Rpb25OYXR1cmFsLCBNYWtlVGV4dFdy
aXRpbmdEaXJlY3Rpb25MZWZ0VG9SaWdodCwKKyAgICAgICAgYW5kIE1ha2VUZXh0V3JpdGluZ0Rp
cmVjdGlvblJpZ2h0VG9MZWZ0IGNvbW1hbmRzLgorCisgICAgICAgICogZWRpdGluZy9zdHlsZS9t
YWtlLXRleHQtd3JpdGluZy1kaXJlY3Rpb24taW5saW5lLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvc3R5bGUvc2NyaXB0LXRlc3RzL21ha2UtdGV4dC13cml0aW5nLWRpcmVjdGlvbi1p
bmxpbmUuanM6IEFkZGVkLgorICAgICAgICAobW9kaWZ5V3JpdGluZ0RpcmVjdGlvbik6CisgICAg
ICAgIChzZWxlY3RGaXJzdFdvcmQpOgorICAgICAgICAoc2VsZWN0U2Vjb25kQW5kVGhpcmRXb3Jk
cyk6CisKIDIwMTAtMDgtMTkgIEZhZHkgU2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6a292LgpJbmRleDogTGF5b3V0VGVzdHMv
ZWRpdGluZy9zdHlsZS9tYWtlLXRleHQtd3JpdGluZy1kaXJlY3Rpb24taW5saW5lLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9zdHlsZS9tYWtlLXRleHQtd3JpdGluZy1k
aXJlY3Rpb24taW5saW5lLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5n
L3N0eWxlL21ha2UtdGV4dC13cml0aW5nLWRpcmVjdGlvbi1pbmxpbmUuaHRtbAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSwxNCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlw
ZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvbWFrZS10ZXh0LXdy
aXRpbmctZGlyZWN0aW9uLWlubGluZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvc3R5bGUvc2NyaXB0LXRlc3RzL21ha2Ut
dGV4dC13cml0aW5nLWRpcmVjdGlvbi1pbmxpbmUuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZWRpdGluZy9zdHlsZS9zY3JpcHQtdGVzdHMvbWFrZS10ZXh0LXdyaXRpbmctZGlyZWN0aW9u
LWlubGluZS5qcwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvc3R5bGUvc2Ny
aXB0LXRlc3RzL21ha2UtdGV4dC13cml0aW5nLWRpcmVjdGlvbi1pbmxpbmUuanMJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsNzYgQEAKK2Rlc2NyaXB0aW9uKCdUZXN0cyB0byBlbnN1cmUgTWFrZVRl
eHRXcml0aW5nRGlyZWN0aW9uKiBtb2RpZmllcyB0aGUgZGlyZWN0aW9uIG9mIHRleHQgYW5kIGVt
YmVkIHRleHRzIHByb3Blcmx5LicpOworCitpZiAoIXdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikKKyAgICB0ZXN0RmFpbGVkKCdUaGlzIHRlc3QgcmVxdWlyZXMgbGF5b3V0VGVzdENvbnRyb2xs
ZXInKTsKKwordmFyIHRlc3RDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYi
KTsKK3Rlc3RDb250YWluZXIuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQodGVzdENvbnRhaW5lcik7CisKK2Z1bmN0aW9uIG1vZGlmeVdyaXRpbmdEaXJl
Y3Rpb24oY29udGVudCwgc2VsZWN0b3IsIGNvbW1hbmQsIGV4cGVjdGVkKQoreworICAgIGlmICgh
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICByZXR1cm47CisKKyAgICB0ZXN0
Q29udGFpbmVyLmlubmVySFRNTCA9IGNvbnRlbnQ7CisgICAgdmFyIHNlbGVjdGVkID0gc2VsZWN0
b3IodGVzdENvbnRhaW5lcik7CisgICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmV4ZWND
b21tYW5kKCdNYWtlVGV4dFdyaXRpbmdEaXJlY3Rpb24nK2NvbW1hbmQpOworCisgICAgdmFyIGFj
dHVhbCA9IHRlc3RDb250YWluZXIuaW5uZXJIVE1MLnJlcGxhY2UoLyBjbGFzcz0iQXBwbGUtc3R5
bGUtc3BhbiIvZywgJycpOworICAgIGlmIChhY3R1YWwgPT0gZXhwZWN0ZWQpCisgICAgICAgIHRl
c3RQYXNzZWQoY29tbWFuZCArICcgb24gJyArIHNlbGVjdGVkICsgJyBvZiAiJyArIGNvbnRlbnQg
KyAnIicpOworICAgIGVsc2UKKyAgICAgICAgdGVzdEZhaWxlZChjb21tYW5kICsgJyBvbiAnICsg
c2VsZWN0ZWQgKyAnIG9mICInICsgY29udGVudCArICciIHlpZWxkZWQgJyArIGFjdHVhbCArICcg
YnV0IGV4cGVjdGVkICcgKyBleHBlY3RlZCk7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdEZpcnN0V29y
ZChjb250YWluZXIpIHsKKyAgICBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0
ZW50KGNvbnRhaW5lciwgMCwgY29udGFpbmVyLCAwKTsKKyAgICBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKS5tb2RpZnkoJ2V4dGVuZCcsICdmb3J3YXJkJywgJ3dvcmQnKTsKKyAgICByZXR1cm4gJ2Zp
cnN0IHdvcmQnOworfQorCitmdW5jdGlvbiBzZWxlY3RTZWNvbmRBbmRUaGlyZFdvcmRzKGNvbnRh
aW5lcikgeworICAgIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQoY29u
dGFpbmVyLCAwLCBjb250YWluZXIsIDApOworICAgIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLm1v
ZGlmeSgnbW92ZScsICdmb3J3YXJkJywgJ3dvcmQnKTsKKyAgICBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKS5tb2RpZnkoJ2V4dGVuZCcsICdmb3J3YXJkJywgJ3dvcmQnKTsKKyAgICBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ2V4dGVuZCcsICdmb3J3YXJkJywgJ3dvcmQnKTsKKyAgICBy
ZXR1cm4gJ3NlY29uZCBhbmQgdGhpcmQgd29yZHMnOworfQorCisvLyBsZWZ0IHRvIHJpZ2h0IGxh
bmd1YWdlCittb2RpZnlXcml0aW5nRGlyZWN0aW9uKCdoZWxsbyB3b3JsZCcsIHNlbGVjdEZpcnN0
V29yZCwgJ05hdHVyYWwnLCAnaGVsbG8gd29ybGQnKTsKK21vZGlmeVdyaXRpbmdEaXJlY3Rpb24o
J2hlbGxvIHdvcmxkJywgc2VsZWN0Rmlyc3RXb3JkLCAnTGVmdFRvUmlnaHQnLCAnPHNwYW4gc3R5
bGU9InVuaWNvZGUtYmlkaTogZW1iZWQ7Ij5oZWxsbzwvc3Bhbj4gd29ybGQnKTsKK21vZGlmeVdy
aXRpbmdEaXJlY3Rpb24oJ2hlbGxvIHdvcmxkJywgc2VsZWN0Rmlyc3RXb3JkLCAnUmlnaHRUb0xl
ZnQnLCAnPHNwYW4gc3R5bGU9InVuaWNvZGUtYmlkaTogZW1iZWQ7IGRpcmVjdGlvbjogcnRsOyI+
aGVsbG88L3NwYW4+IHdvcmxkJyk7Cittb2RpZnlXcml0aW5nRGlyZWN0aW9uKCc8Yj5oZWxsbyB3
b3JsZDwvYj4gd2Via2l0Jywgc2VsZWN0U2Vjb25kQW5kVGhpcmRXb3JkcywgJ05hdHVyYWwnLCAn
PGI+aGVsbG8gd29ybGQ8L2I+IHdlYmtpdCcpOworbW9kaWZ5V3JpdGluZ0RpcmVjdGlvbignPGI+
aGVsbG8gd29ybGQ8L2I+IHdlYmtpdCcsIHNlbGVjdFNlY29uZEFuZFRoaXJkV29yZHMsICdMZWZ0
VG9SaWdodCcsICc8Yj5oZWxsbzxzcGFuIHN0eWxlPSJ1bmljb2RlLWJpZGk6IGVtYmVkOyI+IHdv
cmxkPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0idW5pY29kZS1iaWRpOiBlbWJlZDsiPiB3ZWJraXQ8
L3NwYW4+Jyk7Cittb2RpZnlXcml0aW5nRGlyZWN0aW9uKCc8Yj5oZWxsbyB3b3JsZDwvYj4gd2Vi
a2l0Jywgc2VsZWN0U2Vjb25kQW5kVGhpcmRXb3JkcywgJ1JpZ2h0VG9MZWZ0JywgJzxiPmhlbGxv
PHNwYW4gc3R5bGU9InVuaWNvZGUtYmlkaTogZW1iZWQ7IGRpcmVjdGlvbjogcnRsOyI+IHdvcmxk
PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0idW5pY29kZS1iaWRpOiBlbWJlZDsgZGlyZWN0aW9uOiBy
dGw7Ij4gd2Via2l0PC9zcGFuPicpOworCisvLyByaWdodCB0byBsZWZ0IGxhbmd1YWdlCittb2Rp
ZnlXcml0aW5nRGlyZWN0aW9uKCfZh9mG2Kcg2YrZg9iq2Kgg2KfZhNmG2LUg2KfZhNi52LHYqNmK
Jywgc2VsZWN0Rmlyc3RXb3JkLCAnTmF0dXJhbCcsICfZh9mG2Kcg2YrZg9iq2Kgg2KfZhNmG2LUg
2KfZhNi52LHYqNmKJyk7Cittb2RpZnlXcml0aW5nRGlyZWN0aW9uKCfZh9mG2Kcg2YrZg9iq2Kgg
2KfZhNmG2LUg2KfZhNi52LHYqNmKJywgc2VsZWN0Rmlyc3RXb3JkLCAnTGVmdFRvUmlnaHQnLCAn
PHNwYW4gc3R5bGU9InVuaWNvZGUtYmlkaTogZW1iZWQ7Ij7Zh9mG2Kc8L3NwYW4+INmK2YPYqtio
INin2YTZhti1INin2YTYudix2KjZiicpOworbW9kaWZ5V3JpdGluZ0RpcmVjdGlvbign2YfZhtin
INmK2YPYqtioINin2YTZhti1INin2YTYudix2KjZiicsIHNlbGVjdEZpcnN0V29yZCwgJ1JpZ2h0
VG9MZWZ0JywgJzxzcGFuIHN0eWxlPSJ1bmljb2RlLWJpZGk6IGVtYmVkOyBkaXJlY3Rpb246IHJ0
bDsiPtmH2YbYpzwvc3Bhbj4g2YrZg9iq2Kgg2KfZhNmG2LUg2KfZhNi52LHYqNmKJyk7CisKK21v
ZGlmeVdyaXRpbmdEaXJlY3Rpb24oJzxiPtmH2YbYpyDZitmD2KrYqDwvYj4g2KfZhNmG2LUg2KfZ
hNi52LHYqNmKJywgc2VsZWN0U2Vjb25kQW5kVGhpcmRXb3JkcywgJ05hdHVyYWwnLCAnPGI+2YfZ
htinINmK2YPYqtioPC9iPiDYp9mE2YbYtSDYp9mE2LnYsdio2YonKTsKK21vZGlmeVdyaXRpbmdE
aXJlY3Rpb24oJzxiPtmH2YbYpyDZitmD2KrYqDwvYj4g2KfZhNmG2LUg2KfZhNi52LHYqNmKJywg
c2VsZWN0U2Vjb25kQW5kVGhpcmRXb3JkcywgJ0xlZnRUb1JpZ2h0JywgJzxiPtmH2YbYpzxzcGFu
IHN0eWxlPSJ1bmljb2RlLWJpZGk6IGVtYmVkOyI+INmK2YPYqtioPC9zcGFuPjwvYj48c3BhbiBz
dHlsZT0idW5pY29kZS1iaWRpOiBlbWJlZDsiPiDYp9mE2YbYtTwvc3Bhbj4g2KfZhNi52LHYqNmK
Jyk7Cittb2RpZnlXcml0aW5nRGlyZWN0aW9uKCc8Yj7Zh9mG2Kcg2YrZg9iq2Kg8L2I+INin2YTZ
hti1INin2YTYudix2KjZiicsIHNlbGVjdFNlY29uZEFuZFRoaXJkV29yZHMsICdSaWdodFRvTGVm
dCcsICc8Yj7Zh9mG2Kc8c3BhbiBzdHlsZT0idW5pY29kZS1iaWRpOiBlbWJlZDsgZGlyZWN0aW9u
OiBydGw7Ij4g2YrZg9iq2Kg8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJ1bmljb2RlLWJpZGk6IGVt
YmVkOyBkaXJlY3Rpb246IHJ0bDsiPiDYp9mE2YbYtTwvc3Bhbj4g2KfZhNi52LHYqNmKJyk7CisK
K21vZGlmeVdyaXRpbmdEaXJlY3Rpb24oJzxkaXYgZGlyPSJydGwiPtmH2YbYpyDZitmD2KrYqCDY
p9mE2YbYtSDYp9mE2LnYsdio2Yo8L2Rpdj4nLCBzZWxlY3RGaXJzdFdvcmQsICdOYXR1cmFsJywg
JzxkaXYgZGlyPSJydGwiPtmH2YbYpyDZitmD2KrYqCDYp9mE2YbYtSDYp9mE2LnYsdio2Yo8L2Rp
dj4nKTsKK21vZGlmeVdyaXRpbmdEaXJlY3Rpb24oJzxkaXYgZGlyPSJydGwiPtmH2YbYpyDZitmD
2KrYqCDYp9mE2YbYtSDYp9mE2LnYsdio2Yo8L2Rpdj4nLCBzZWxlY3RGaXJzdFdvcmQsICdMZWZ0
VG9SaWdodCcsICc8ZGl2IGRpcj0icnRsIj48c3BhbiBzdHlsZT0idW5pY29kZS1iaWRpOiBlbWJl
ZDsgZGlyZWN0aW9uOiBsdHI7Ij7Zh9mG2Kc8L3NwYW4+INmK2YPYqtioINin2YTZhti1INin2YTY
udix2KjZijwvZGl2PicpOworbW9kaWZ5V3JpdGluZ0RpcmVjdGlvbignPGRpdiBkaXI9InJ0bCI+
2YfZhtinINmK2YPYqtioINin2YTZhti1INin2YTYudix2KjZijwvZGl2PicsIHNlbGVjdEZpcnN0
V29yZCwgJ1JpZ2h0VG9MZWZ0JywgJzxkaXYgZGlyPSJydGwiPjxzcGFuIHN0eWxlPSJ1bmljb2Rl
LWJpZGk6IGVtYmVkOyI+2YfZhtinPC9zcGFuPiDZitmD2KrYqCDYp9mE2YbYtSDYp9mE2LnYsdio
2Yo8L2Rpdj4nKTsKKworbW9kaWZ5V3JpdGluZ0RpcmVjdGlvbignPGRpdiBkaXI9InJ0bCI+PGI+
2YfZhtinINmK2YPYqtioPC9iPiDYp9mE2YbYtSDYp9mE2LnYsdio2Yo8L2Rpdj4nLCBzZWxlY3RT
ZWNvbmRBbmRUaGlyZFdvcmRzLCAnTmF0dXJhbCcsICc8ZGl2IGRpcj0icnRsIj48Yj7Zh9mG2Kcg
2YrZg9iq2Kg8L2I+INin2YTZhti1INin2YTYudix2KjZijwvZGl2PicpOworbW9kaWZ5V3JpdGlu
Z0RpcmVjdGlvbignPGRpdiBkaXI9InJ0bCI+PGI+2YfZhtinINmK2YPYqtioPC9iPiDYp9mE2YbY
tSDYp9mE2LnYsdio2Yo8L2Rpdj4nLCBzZWxlY3RTZWNvbmRBbmRUaGlyZFdvcmRzLCAnTGVmdFRv
UmlnaHQnLCAnPGRpdiBkaXI9InJ0bCI+PGI+2YfZhtinPHNwYW4gc3R5bGU9InVuaWNvZGUtYmlk
aTogZW1iZWQ7IGRpcmVjdGlvbjogbHRyOyI+INmK2YPYqtioPC9zcGFuPjwvYj48c3BhbiBzdHls
ZT0idW5pY29kZS1iaWRpOiBlbWJlZDsgZGlyZWN0aW9uOiBsdHI7Ij4g2KfZhNmG2LU8L3NwYW4+
INin2YTYudix2KjZijwvZGl2PicpOworbW9kaWZ5V3JpdGluZ0RpcmVjdGlvbignPGRpdiBkaXI9
InJ0bCI+PGI+2YfZhtinINmK2YPYqtioPC9iPiDYp9mE2YbYtSDYp9mE2LnYsdio2Yo8L2Rpdj4n
LCBzZWxlY3RTZWNvbmRBbmRUaGlyZFdvcmRzLCAnUmlnaHRUb0xlZnQnLCAnPGRpdiBkaXI9InJ0
bCI+PGI+2YfZhtinPHNwYW4gc3R5bGU9InVuaWNvZGUtYmlkaTogZW1iZWQ7Ij4g2YrZg9iq2Kg8
L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJ1bmljb2RlLWJpZGk6IGVtYmVkOyI+INin2YTZhti1PC9z
cGFuPiDYp9mE2LnYsdio2Yo8L2Rpdj4nKTsKKworLy8gYmlkaXJlY3Rpb25hbCBsYW5nYXVnZQor
bW9kaWZ5V3JpdGluZ0RpcmVjdGlvbign5Lit5paHJywgc2VsZWN0Rmlyc3RXb3JkLCAnTmF0dXJh
bCcsICfkuK3mlocnKTsKK21vZGlmeVdyaXRpbmdEaXJlY3Rpb24oJ+S4reaWhycsIHNlbGVjdEZp
cnN0V29yZCwgJ0xlZnRUb1JpZ2h0JywgJzxzcGFuIHN0eWxlPSJ1bmljb2RlLWJpZGk6IGVtYmVk
OyI+5LitPC9zcGFuPuaWhycpOworbW9kaWZ5V3JpdGluZ0RpcmVjdGlvbign5Lit5paHJywgc2Vs
ZWN0Rmlyc3RXb3JkLCAnUmlnaHRUb0xlZnQnLCAnPHNwYW4gc3R5bGU9InVuaWNvZGUtYmlkaTog
ZW1iZWQ7IGRpcmVjdGlvbjogcnRsOyI+5LitPC9zcGFuPuaWhycpOworCittb2RpZnlXcml0aW5n
RGlyZWN0aW9uKCc8ZGl2IGRpcj0icnRsIj7kuK3mloc8L2Rpdj4nLCBzZWxlY3RGaXJzdFdvcmQs
ICdOYXR1cmFsJywgJzxkaXYgZGlyPSJydGwiPuS4reaWhzwvZGl2PicpOworbW9kaWZ5V3JpdGlu
Z0RpcmVjdGlvbignPGRpdiBkaXI9InJ0bCI+5Lit5paHPC9kaXY+Jywgc2VsZWN0Rmlyc3RXb3Jk
LCAnTGVmdFRvUmlnaHQnLCAnPGRpdiBkaXI9InJ0bCI+PHNwYW4gc3R5bGU9InVuaWNvZGUtYmlk
aTogZW1iZWQ7IGRpcmVjdGlvbjogbHRyOyI+5LitPC9zcGFuPuaWhzwvZGl2PicpOworbW9kaWZ5
V3JpdGluZ0RpcmVjdGlvbignPGRpdiBkaXI9InJ0bCI+5Lit5paHPC9kaXY+Jywgc2VsZWN0Rmly
c3RXb3JkLCAnUmlnaHRUb0xlZnQnLCAnPGRpdiBkaXI9InJ0bCI+PHNwYW4gc3R5bGU9InVuaWNv
ZGUtYmlkaTogZW1iZWQ7Ij7kuK08L3NwYW4+5paHPC9kaXY+Jyk7CisKK2RvY3VtZW50LmJvZHku
cmVtb3ZlQ2hpbGQodGVzdENvbnRhaW5lcik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0
cnVlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64919</attachid>
            <date>2010-08-19 17:53:05 -0700</date>
            <delta_ts>2010-08-19 19:08:51 -0700</delta_ts>
            <desc>added nested case and expected results</desc>
            <filename>bug-43989-20100819175304.patch</filename>
            <type>text/plain</type>
            <size>14097</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDY1NzE1KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMDgtMTkgIFJ5b3N1a2UgTml3YSAgPHJu
aXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGhlcmUgaXMgbm8gdGVzdCBmb3IgdW5pY29kZS1iaWRpIC8gZGlyZWN0aW9uIHN1
cHBvcnQgaW4gQXBwbHlTdHlsZUNvbW1hbmQ6OmFwcGx5SW5saW5lU3R5bGUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzOTg5CisKKyAgICAgICAgQWRk
ZWQgYSB0ZXN0IGZvciBNYWtlVGV4dFdyaXRpbmdEaXJlY3Rpb25OYXR1cmFsLCBNYWtlVGV4dFdy
aXRpbmdEaXJlY3Rpb25MZWZ0VG9SaWdodCwKKyAgICAgICAgYW5kIE1ha2VUZXh0V3JpdGluZ0Rp
cmVjdGlvblJpZ2h0VG9MZWZ0IGNvbW1hbmRzLgorCisgICAgICAgICogZWRpdGluZy9zdHlsZS9t
YWtlLXRleHQtd3JpdGluZy1kaXJlY3Rpb24taW5saW5lLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvc3R5bGUvc2NyaXB0LXRlc3RzL21ha2UtdGV4dC13cml0aW5nLWRpcmVjdGlvbi1p
bmxpbmUuanM6IEFkZGVkLgorICAgICAgICAobW9kaWZ5V3JpdGluZ0RpcmVjdGlvbik6CisgICAg
ICAgIChzZWxlY3RGaXJzdFdvcmQpOgorICAgICAgICAoc2VsZWN0U2Vjb25kQW5kVGhpcmRXb3Jk
cyk6CisKIDIwMTAtMDgtMTkgIEZhZHkgU2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6a292LgpJbmRleDogTGF5b3V0VGVzdHMv
ZWRpdGluZy9zdHlsZS9tYWtlLXRleHQtd3JpdGluZy1kaXJlY3Rpb24taW5saW5lLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL3N0eWxlL21ha2UtdGV4dC13
cml0aW5nLWRpcmVjdGlvbi1pbmxpbmUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvZWRpdGluZy9zdHlsZS9tYWtlLXRleHQtd3JpdGluZy1kaXJlY3Rpb24taW5saW5l
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzOSBAQAorVGVzdHMgdG8gZW5z
dXJlIE1ha2VUZXh0V3JpdGluZ0RpcmVjdGlvbiogbW9kaWZpZXMgdGhlIGRpcmVjdGlvbiBvZiB0
ZXh0IGFuZCBlbWJlZCB0ZXh0cyBwcm9wZXJseS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK1BBU1MgTmF0dXJhbCBvbiBmaXJzdCB3b3JkIG9mICJoZWxsbyB3b3JsZCIKK1BBU1Mg
TGVmdFRvUmlnaHQgb24gZmlyc3Qgd29yZCBvZiAiaGVsbG8gd29ybGQiCitQQVNTIFJpZ2h0VG9M
ZWZ0IG9uIGZpcnN0IHdvcmQgb2YgImhlbGxvIHdvcmxkIgorUEFTUyBOYXR1cmFsIG9uIHNlY29u
ZCBhbmQgdGhpcmQgd29yZHMgb2YgIjxiPmhlbGxvIHdvcmxkPC9iPiB3ZWJraXQiCitQQVNTIExl
ZnRUb1JpZ2h0IG9uIHNlY29uZCBhbmQgdGhpcmQgd29yZHMgb2YgIjxiPmhlbGxvIHdvcmxkPC9i
PiB3ZWJraXQiCitQQVNTIFJpZ2h0VG9MZWZ0IG9uIHNlY29uZCBhbmQgdGhpcmQgd29yZHMgb2Yg
IjxiPmhlbGxvIHdvcmxkPC9iPiB3ZWJraXQiCitGQUlMIE5hdHVyYWwgb24gdGhpcmQgd29yZCBv
ZiAiPHNwYW4gZGlyPSJydGwiPmhlbGxvIDxzcGFuIGRpcj0ibHRyIj53b3JsZCB3ZWJraXQgcm9j
a3M8L3NwYW4+PC9zcGFuPiIgeWllbGRlZCA8c3BhbiBkaXI9InJ0bCI+aGVsbG8gPHNwYW4gZGly
PSJsdHIiPndvcmxkPC9zcGFuPjwvc3Bhbj48c3Bhbj48c3Bhbj4gd2Via2l0PC9zcGFuPjwvc3Bh
bj48c3BhbiBkaXI9InJ0bCI+PHNwYW4gZGlyPSJsdHIiPiByb2Nrczwvc3Bhbj48L3NwYW4+IGJ1
dCBleHBlY3RlZCA8c3BhbiBkaXI9InJ0bCI+aGVsbG8gPHNwYW4gZGlyPSJsdHIiPndvcmxkPC9z
cGFuPjwvc3Bhbj4gd2Via2l0PHNwYW4gZGlyPSJydGwiPjxzcGFuIGRpcj0ibHRyIj4gcm9ja3M8
L3NwYW4+PC9zcGFuPgorRkFJTCBMZWZ0VG9SaWdodCBvbiB0aGlyZCB3b3JkIG9mICI8c3BhbiBk
aXI9InJ0bCI+aGVsbG8gPHNwYW4gZGlyPSJsdHIiPndvcmxkIHdlYmtpdCByb2Nrczwvc3Bhbj48
L3NwYW4+IiB5aWVsZGVkIDxzcGFuIGRpcj0icnRsIj5oZWxsbyA8c3BhbiBkaXI9Imx0ciI+d29y
bGQ8L3NwYW4+PC9zcGFuPjxzcGFuPjxzcGFuPjxzcGFuIHN0eWxlPSJ1bmljb2RlLWJpZGk6IGVt
YmVkOyI+IHdlYmtpdDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIGRpcj0icnRsIj48c3BhbiBk
aXI9Imx0ciI+IHJvY2tzPC9zcGFuPjwvc3Bhbj4gYnV0IGV4cGVjdGVkIDxzcGFuIGRpcj0icnRs
Ij5oZWxsbyA8c3BhbiBkaXI9Imx0ciI+d29ybGQ8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJ1
bmljb2RlLWJpZGk6IGVtYmVkOyI+IHdlYmtpdDwvc3Bhbj48c3BhbiBkaXI9InJ0bCI+PHNwYW4g
ZGlyPSJsdHIiPiByb2Nrczwvc3Bhbj48L3NwYW4+CitQQVNTIFJpZ2h0VG9MZWZ0IG9uIHRoaXJk
IHdvcmQgb2YgIjxzcGFuIGRpcj0icnRsIj5oZWxsbyA8c3BhbiBkaXI9Imx0ciI+d29ybGQgd2Vi
a2l0IHJvY2tzPC9zcGFuPjwvc3Bhbj4iCitQQVNTIE5hdHVyYWwgb24gZmlyc3Qgd29yZCBvZiAi
2YfZhtinINmK2YPYqtioINin2YTZhti1INin2YTYudix2KjZiiIKK1BBU1MgTGVmdFRvUmlnaHQg
b24gZmlyc3Qgd29yZCBvZiAi2YfZhtinINmK2YPYqtioINin2YTZhti1INin2YTYudix2KjZiiIK
K1BBU1MgUmlnaHRUb0xlZnQgb24gZmlyc3Qgd29yZCBvZiAi2YfZhtinINmK2YPYqtioINin2YTZ
hti1INin2YTYudix2KjZiiIKK1BBU1MgTmF0dXJhbCBvbiBzZWNvbmQgYW5kIHRoaXJkIHdvcmRz
IG9mICI8Yj7Zh9mG2Kcg2YrZg9iq2Kg8L2I+INin2YTZhti1INin2YTYudix2KjZiiIKK1BBU1Mg
TGVmdFRvUmlnaHQgb24gc2Vjb25kIGFuZCB0aGlyZCB3b3JkcyBvZiAiPGI+2YfZhtinINmK2YPY
qtioPC9iPiDYp9mE2YbYtSDYp9mE2LnYsdio2YoiCitQQVNTIFJpZ2h0VG9MZWZ0IG9uIHNlY29u
ZCBhbmQgdGhpcmQgd29yZHMgb2YgIjxiPtmH2YbYpyDZitmD2KrYqDwvYj4g2KfZhNmG2LUg2KfZ
hNi52LHYqNmKIgorUEFTUyBOYXR1cmFsIG9uIGZpcnN0IHdvcmQgb2YgIjxkaXYgZGlyPSJydGwi
PtmH2YbYpyDZitmD2KrYqCDYp9mE2YbYtSDYp9mE2LnYsdio2Yo8L2Rpdj4iCitQQVNTIExlZnRU
b1JpZ2h0IG9uIGZpcnN0IHdvcmQgb2YgIjxkaXYgZGlyPSJydGwiPtmH2YbYpyDZitmD2KrYqCDY
p9mE2YbYtSDYp9mE2LnYsdio2Yo8L2Rpdj4iCitQQVNTIFJpZ2h0VG9MZWZ0IG9uIGZpcnN0IHdv
cmQgb2YgIjxkaXYgZGlyPSJydGwiPtmH2YbYpyDZitmD2KrYqCDYp9mE2YbYtSDYp9mE2LnYsdio
2Yo8L2Rpdj4iCitQQVNTIE5hdHVyYWwgb24gc2Vjb25kIGFuZCB0aGlyZCB3b3JkcyBvZiAiPGRp
diBkaXI9InJ0bCI+PGI+2YfZhtinINmK2YPYqtioPC9iPiDYp9mE2YbYtSDYp9mE2LnYsdio2Yo8
L2Rpdj4iCitQQVNTIExlZnRUb1JpZ2h0IG9uIHNlY29uZCBhbmQgdGhpcmQgd29yZHMgb2YgIjxk
aXYgZGlyPSJydGwiPjxiPtmH2YbYpyDZitmD2KrYqDwvYj4g2KfZhNmG2LUg2KfZhNi52LHYqNmK
PC9kaXY+IgorUEFTUyBSaWdodFRvTGVmdCBvbiBzZWNvbmQgYW5kIHRoaXJkIHdvcmRzIG9mICI8
ZGl2IGRpcj0icnRsIj48Yj7Zh9mG2Kcg2YrZg9iq2Kg8L2I+INin2YTZhti1INin2YTYudix2KjZ
ijwvZGl2PiIKK1BBU1MgTmF0dXJhbCBvbiB0aGlyZCB3b3JkIG9mICI8ZGl2IGRpcj0icnRsIj7Z
h9mG2KcgPHNwYW4gZGlyPSJsdHIiPtmK2YPYqtioINin2YTZhti1INin2YTYudix2KjZijwvc3Bh
bj48L2Rpdj4iCitQQVNTIExlZnRUb1JpZ2h0IG9uIHRoaXJkIHdvcmQgb2YgIjxkaXYgZGlyPSJy
dGwiPtmH2YbYpyA8c3BhbiBkaXI9Imx0ciI+2YrZg9iq2Kgg2KfZhNmG2LUg2KfZhNi52LHYqNmK
PC9zcGFuPjwvZGl2PiIKK1BBU1MgUmlnaHRUb0xlZnQgb24gdGhpcmQgd29yZCBvZiAiPGRpdiBk
aXI9InJ0bCI+2YfZhtinIDxzcGFuIGRpcj0ibHRyIj7ZitmD2KrYqCDYp9mE2YbYtSDYp9mE2LnY
sdio2Yo8L3NwYW4+PC9kaXY+IgorUEFTUyBOYXR1cmFsIG9uIGZpcnN0IHdvcmQgb2YgIuS4reaW
hyIKK1BBU1MgTGVmdFRvUmlnaHQgb24gZmlyc3Qgd29yZCBvZiAi5Lit5paHIgorUEFTUyBSaWdo
dFRvTGVmdCBvbiBmaXJzdCB3b3JkIG9mICLkuK3mlociCitQQVNTIE5hdHVyYWwgb24gZmlyc3Qg
d29yZCBvZiAiPGRpdiBkaXI9InJ0bCI+5Lit5paHPC9kaXY+IgorUEFTUyBMZWZ0VG9SaWdodCBv
biBmaXJzdCB3b3JkIG9mICI8ZGl2IGRpcj0icnRsIj7kuK3mloc8L2Rpdj4iCitQQVNTIFJpZ2h0
VG9MZWZ0IG9uIGZpcnN0IHdvcmQgb2YgIjxkaXYgZGlyPSJydGwiPuS4reaWhzwvZGl2PiIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBM
YXlvdXRUZXN0cy9lZGl0aW5nL3N0eWxlL21ha2UtdGV4dC13cml0aW5nLWRpcmVjdGlvbi1pbmxp
bmUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL3N0eWxlL21ha2UtdGV4
dC13cml0aW5nLWRpcmVjdGlvbi1pbmxpbmUuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL2VkaXRpbmcvc3R5bGUvbWFrZS10ZXh0LXdyaXRpbmctZGlyZWN0aW9uLWlubGluZS5odG1s
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgaHR0cC1lcXVpdj0i
Q29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPgorPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0
eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9t
YWtlLXRleHQtd3JpdGluZy1kaXJlY3Rpb24taW5saW5lLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy9zdHlsZS9zY3JpcHQt
dGVzdHMvbWFrZS10ZXh0LXdyaXRpbmctZGlyZWN0aW9uLWlubGluZS5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9lZGl0aW5nL3N0eWxlL3NjcmlwdC10ZXN0cy9tYWtlLXRleHQtd3JpdGlu
Zy1kaXJlY3Rpb24taW5saW5lLmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zdHlsZS9zY3JpcHQtdGVzdHMvbWFrZS10ZXh0LXdyaXRpbmctZGlyZWN0aW9uLWlubGluZS5q
cwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw5NyBAQAorZGVzY3JpcHRpb24oJ1Rlc3RzIHRvIGVu
c3VyZSBNYWtlVGV4dFdyaXRpbmdEaXJlY3Rpb24qIG1vZGlmaWVzIHRoZSBkaXJlY3Rpb24gb2Yg
dGV4dCBhbmQgZW1iZWQgdGV4dHMgcHJvcGVybHkuJyk7CisKK2lmICghd2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQorICAgIHRlc3RGYWlsZWQoJ1RoaXMgdGVzdCByZXF1aXJlcyBsYXlvdXRU
ZXN0Q29udHJvbGxlcicpOworCit2YXIgdGVzdENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImRpdiIpOwordGVzdENvbnRhaW5lci5jb250ZW50RWRpdGFibGUgPSB0cnVlOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXN0Q29udGFpbmVyKTsKKworZnVuY3Rpb24gbW9kaWZ5
V3JpdGluZ0RpcmVjdGlvbihjb250ZW50LCBzZWxlY3RvciwgY29tbWFuZCwgZXhwZWN0ZWQpCit7
CisgICAgaWYgKCF3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIHRlc3RDb250YWluZXIuaW5uZXJIVE1MID0gY29udGVudDsKKyAgICB2YXIgc2VsZWN0
ZWQgPSBzZWxlY3Rvcih0ZXN0Q29udGFpbmVyKTsKKyAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIuZXhlY0NvbW1hbmQoJ01ha2VUZXh0V3JpdGluZ0RpcmVjdGlvbicrY29tbWFuZCk7CisK
KyAgICAvLyBSZW1vdmUgQXBwbGUtc3R5bGUtc3BhbiBiZWNhdXNlIGl0IGRvZXMgbm90IG5lZWQg
dG8gYmUgdGVzdGVkIGhlcmUuCisgICAgdmFyIGFjdHVhbCA9IHRlc3RDb250YWluZXIuaW5uZXJI
VE1MLnJlcGxhY2UoLyBjbGFzcz0iQXBwbGUtc3R5bGUtc3BhbiIvZywgJycpOworICAgIGlmIChh
Y3R1YWwgPT0gZXhwZWN0ZWQpCisgICAgICAgIHRlc3RQYXNzZWQoY29tbWFuZCArICcgb24gJyAr
IHNlbGVjdGVkICsgJyBvZiAiJyArIGNvbnRlbnQgKyAnIicpOworICAgIGVsc2UKKyAgICAgICAg
dGVzdEZhaWxlZChjb21tYW5kICsgJyBvbiAnICsgc2VsZWN0ZWQgKyAnIG9mICInICsgY29udGVu
dCArICciIHlpZWxkZWQgJyArIGFjdHVhbCArICcgYnV0IGV4cGVjdGVkICcgKyBleHBlY3RlZCk7
Cit9CisKK2Z1bmN0aW9uIHNlbGVjdEZpcnN0V29yZChjb250YWluZXIpIHsKKyAgICBkb2N1bWVu
dC5nZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KGNvbnRhaW5lciwgMCwgY29udGFpbmVy
LCAwKTsKKyAgICBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ2V4dGVuZCcsICdmb3J3
YXJkJywgJ3dvcmQnKTsKKyAgICByZXR1cm4gJ2ZpcnN0IHdvcmQnOworfQorCitmdW5jdGlvbiBz
ZWxlY3RTZWNvbmRBbmRUaGlyZFdvcmRzKGNvbnRhaW5lcikgeworICAgIGRvY3VtZW50LmdldFNl
bGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQoY29udGFpbmVyLCAwLCBjb250YWluZXIsIDApOwor
ICAgIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLm1vZGlmeSgnbW92ZScsICdmb3J3YXJkJywgJ3dv
cmQnKTsKKyAgICBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ2V4dGVuZCcsICdmb3J3
YXJkJywgJ3dvcmQnKTsKKyAgICBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ2V4dGVu
ZCcsICdmb3J3YXJkJywgJ3dvcmQnKTsKKyAgICByZXR1cm4gJ3NlY29uZCBhbmQgdGhpcmQgd29y
ZHMnOworfQorCitmdW5jdGlvbiBzZWxlY3RUaGlyZFdvcmQoY29udGFpbmVyKSB7CisgICAgZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCkuc2V0QmFzZUFuZEV4dGVudChjb250YWluZXIsIDAsIGNvbnRh
aW5lciwgMCk7CisgICAgZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkubW9kaWZ5KCdtb3ZlJywgJ2Zv
cndhcmQnLCAnd29yZCcpOworICAgIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLm1vZGlmeSgnbW92
ZScsICdmb3J3YXJkJywgJ3dvcmQnKTsKKyAgICBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS5tb2Rp
ZnkoJ2V4dGVuZCcsICdmb3J3YXJkJywgJ3dvcmQnKTsKKyAgICByZXR1cm4gJ3RoaXJkIHdvcmQn
OworfQorCisvLyBsZWZ0IHRvIHJpZ2h0IGxhbmd1YWdlCittb2RpZnlXcml0aW5nRGlyZWN0aW9u
KCdoZWxsbyB3b3JsZCcsIHNlbGVjdEZpcnN0V29yZCwgJ05hdHVyYWwnLCAnaGVsbG8gd29ybGQn
KTsKK21vZGlmeVdyaXRpbmdEaXJlY3Rpb24oJ2hlbGxvIHdvcmxkJywgc2VsZWN0Rmlyc3RXb3Jk
LCAnTGVmdFRvUmlnaHQnLCAnPHNwYW4gc3R5bGU9InVuaWNvZGUtYmlkaTogZW1iZWQ7Ij5oZWxs
bzwvc3Bhbj4gd29ybGQnKTsKK21vZGlmeVdyaXRpbmdEaXJlY3Rpb24oJ2hlbGxvIHdvcmxkJywg
c2VsZWN0Rmlyc3RXb3JkLCAnUmlnaHRUb0xlZnQnLCAnPHNwYW4gc3R5bGU9InVuaWNvZGUtYmlk
aTogZW1iZWQ7IGRpcmVjdGlvbjogcnRsOyI+aGVsbG88L3NwYW4+IHdvcmxkJyk7Cittb2RpZnlX
cml0aW5nRGlyZWN0aW9uKCc8Yj5oZWxsbyB3b3JsZDwvYj4gd2Via2l0Jywgc2VsZWN0U2Vjb25k
QW5kVGhpcmRXb3JkcywgJ05hdHVyYWwnLCAnPGI+aGVsbG8gd29ybGQ8L2I+IHdlYmtpdCcpOwor
bW9kaWZ5V3JpdGluZ0RpcmVjdGlvbignPGI+aGVsbG8gd29ybGQ8L2I+IHdlYmtpdCcsIHNlbGVj
dFNlY29uZEFuZFRoaXJkV29yZHMsICdMZWZ0VG9SaWdodCcsICc8Yj5oZWxsbzxzcGFuIHN0eWxl
PSJ1bmljb2RlLWJpZGk6IGVtYmVkOyI+IHdvcmxkPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0idW5p
Y29kZS1iaWRpOiBlbWJlZDsiPiB3ZWJraXQ8L3NwYW4+Jyk7Cittb2RpZnlXcml0aW5nRGlyZWN0
aW9uKCc8Yj5oZWxsbyB3b3JsZDwvYj4gd2Via2l0Jywgc2VsZWN0U2Vjb25kQW5kVGhpcmRXb3Jk
cywgJ1JpZ2h0VG9MZWZ0JywgJzxiPmhlbGxvPHNwYW4gc3R5bGU9InVuaWNvZGUtYmlkaTogZW1i
ZWQ7IGRpcmVjdGlvbjogcnRsOyI+IHdvcmxkPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0idW5pY29k
ZS1iaWRpOiBlbWJlZDsgZGlyZWN0aW9uOiBydGw7Ij4gd2Via2l0PC9zcGFuPicpOworbW9kaWZ5
V3JpdGluZ0RpcmVjdGlvbignPHNwYW4gZGlyPSJydGwiPmhlbGxvIDxzcGFuIGRpcj0ibHRyIj53
b3JsZCB3ZWJraXQgcm9ja3M8L3NwYW4+PC9zcGFuPicsIHNlbGVjdFRoaXJkV29yZCwgJ05hdHVy
YWwnLAorICAgICAgICAgICAgICAgICAgICAgICAnPHNwYW4gZGlyPSJydGwiPmhlbGxvIDxzcGFu
IGRpcj0ibHRyIj53b3JsZDwvc3Bhbj48L3NwYW4+IHdlYmtpdDxzcGFuIGRpcj0icnRsIj48c3Bh
biBkaXI9Imx0ciI+IHJvY2tzPC9zcGFuPjwvc3Bhbj4nKTsKK21vZGlmeVdyaXRpbmdEaXJlY3Rp
b24oJzxzcGFuIGRpcj0icnRsIj5oZWxsbyA8c3BhbiBkaXI9Imx0ciI+d29ybGQgd2Via2l0IHJv
Y2tzPC9zcGFuPjwvc3Bhbj4nLCBzZWxlY3RUaGlyZFdvcmQsICdMZWZ0VG9SaWdodCcsCisgICAg
ICAgICAgICAgICAgICAgICAgICc8c3BhbiBkaXI9InJ0bCI+aGVsbG8gPHNwYW4gZGlyPSJsdHIi
PndvcmxkPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0idW5pY29kZS1iaWRpOiBlbWJlZDsiPiB3
ZWJraXQ8L3NwYW4+PHNwYW4gZGlyPSJydGwiPjxzcGFuIGRpcj0ibHRyIj4gcm9ja3M8L3NwYW4+
PC9zcGFuPicpOworbW9kaWZ5V3JpdGluZ0RpcmVjdGlvbignPHNwYW4gZGlyPSJydGwiPmhlbGxv
IDxzcGFuIGRpcj0ibHRyIj53b3JsZCB3ZWJraXQgcm9ja3M8L3NwYW4+PC9zcGFuPicsIHNlbGVj
dFRoaXJkV29yZCwgJ1JpZ2h0VG9MZWZ0JywKKyAgICAgICAgICAgICAgICAgICAgICAgJzxzcGFu
IGRpcj0icnRsIj5oZWxsbyA8c3BhbiBkaXI9Imx0ciI+d29ybGQ8L3NwYW4+PHNwYW4+IHdlYmtp
dDwvc3Bhbj48c3BhbiBkaXI9Imx0ciI+IHJvY2tzPC9zcGFuPjwvc3Bhbj4nKTsKKworLy8gcmln
aHQgdG8gbGVmdCBsYW5ndWFnZQorbW9kaWZ5V3JpdGluZ0RpcmVjdGlvbign2YfZhtinINmK2YPY
qtioINin2YTZhti1INin2YTYudix2KjZiicsIHNlbGVjdEZpcnN0V29yZCwgJ05hdHVyYWwnLCAn
2YfZhtinINmK2YPYqtioINin2YTZhti1INin2YTYudix2KjZiicpOworbW9kaWZ5V3JpdGluZ0Rp
cmVjdGlvbign2YfZhtinINmK2YPYqtioINin2YTZhti1INin2YTYudix2KjZiicsIHNlbGVjdEZp
cnN0V29yZCwgJ0xlZnRUb1JpZ2h0JywgJzxzcGFuIHN0eWxlPSJ1bmljb2RlLWJpZGk6IGVtYmVk
OyI+2YfZhtinPC9zcGFuPiDZitmD2KrYqCDYp9mE2YbYtSDYp9mE2LnYsdio2YonKTsKK21vZGlm
eVdyaXRpbmdEaXJlY3Rpb24oJ9mH2YbYpyDZitmD2KrYqCDYp9mE2YbYtSDYp9mE2LnYsdio2Yon
LCBzZWxlY3RGaXJzdFdvcmQsICdSaWdodFRvTGVmdCcsICc8c3BhbiBzdHlsZT0idW5pY29kZS1i
aWRpOiBlbWJlZDsgZGlyZWN0aW9uOiBydGw7Ij7Zh9mG2Kc8L3NwYW4+INmK2YPYqtioINin2YTZ
hti1INin2YTYudix2KjZiicpOworCittb2RpZnlXcml0aW5nRGlyZWN0aW9uKCc8Yj7Zh9mG2Kcg
2YrZg9iq2Kg8L2I+INin2YTZhti1INin2YTYudix2KjZiicsIHNlbGVjdFNlY29uZEFuZFRoaXJk
V29yZHMsICdOYXR1cmFsJywgJzxiPtmH2YbYpyDZitmD2KrYqDwvYj4g2KfZhNmG2LUg2KfZhNi5
2LHYqNmKJyk7Cittb2RpZnlXcml0aW5nRGlyZWN0aW9uKCc8Yj7Zh9mG2Kcg2YrZg9iq2Kg8L2I+
INin2YTZhti1INin2YTYudix2KjZiicsIHNlbGVjdFNlY29uZEFuZFRoaXJkV29yZHMsICdMZWZ0
VG9SaWdodCcsICc8Yj7Zh9mG2Kc8c3BhbiBzdHlsZT0idW5pY29kZS1iaWRpOiBlbWJlZDsiPiDZ
itmD2KrYqDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9InVuaWNvZGUtYmlkaTogZW1iZWQ7Ij4g2KfZ
hNmG2LU8L3NwYW4+INin2YTYudix2KjZiicpOworbW9kaWZ5V3JpdGluZ0RpcmVjdGlvbignPGI+
2YfZhtinINmK2YPYqtioPC9iPiDYp9mE2YbYtSDYp9mE2LnYsdio2YonLCBzZWxlY3RTZWNvbmRB
bmRUaGlyZFdvcmRzLCAnUmlnaHRUb0xlZnQnLCAnPGI+2YfZhtinPHNwYW4gc3R5bGU9InVuaWNv
ZGUtYmlkaTogZW1iZWQ7IGRpcmVjdGlvbjogcnRsOyI+INmK2YPYqtioPC9zcGFuPjwvYj48c3Bh
biBzdHlsZT0idW5pY29kZS1iaWRpOiBlbWJlZDsgZGlyZWN0aW9uOiBydGw7Ij4g2KfZhNmG2LU8
L3NwYW4+INin2YTYudix2KjZiicpOworCittb2RpZnlXcml0aW5nRGlyZWN0aW9uKCc8ZGl2IGRp
cj0icnRsIj7Zh9mG2Kcg2YrZg9iq2Kgg2KfZhNmG2LUg2KfZhNi52LHYqNmKPC9kaXY+Jywgc2Vs
ZWN0Rmlyc3RXb3JkLCAnTmF0dXJhbCcsICc8ZGl2IGRpcj0icnRsIj7Zh9mG2Kcg2YrZg9iq2Kgg
2KfZhNmG2LUg2KfZhNi52LHYqNmKPC9kaXY+Jyk7Cittb2RpZnlXcml0aW5nRGlyZWN0aW9uKCc8
ZGl2IGRpcj0icnRsIj7Zh9mG2Kcg2YrZg9iq2Kgg2KfZhNmG2LUg2KfZhNi52LHYqNmKPC9kaXY+
Jywgc2VsZWN0Rmlyc3RXb3JkLCAnTGVmdFRvUmlnaHQnLCAnPGRpdiBkaXI9InJ0bCI+PHNwYW4g
c3R5bGU9InVuaWNvZGUtYmlkaTogZW1iZWQ7IGRpcmVjdGlvbjogbHRyOyI+2YfZhtinPC9zcGFu
PiDZitmD2KrYqCDYp9mE2YbYtSDYp9mE2LnYsdio2Yo8L2Rpdj4nKTsKK21vZGlmeVdyaXRpbmdE
aXJlY3Rpb24oJzxkaXYgZGlyPSJydGwiPtmH2YbYpyDZitmD2KrYqCDYp9mE2YbYtSDYp9mE2LnY
sdio2Yo8L2Rpdj4nLCBzZWxlY3RGaXJzdFdvcmQsICdSaWdodFRvTGVmdCcsICc8ZGl2IGRpcj0i
cnRsIj48c3BhbiBzdHlsZT0idW5pY29kZS1iaWRpOiBlbWJlZDsiPtmH2YbYpzwvc3Bhbj4g2YrZ
g9iq2Kgg2KfZhNmG2LUg2KfZhNi52LHYqNmKPC9kaXY+Jyk7CisKK21vZGlmeVdyaXRpbmdEaXJl
Y3Rpb24oJzxkaXYgZGlyPSJydGwiPjxiPtmH2YbYpyDZitmD2KrYqDwvYj4g2KfZhNmG2LUg2KfZ
hNi52LHYqNmKPC9kaXY+Jywgc2VsZWN0U2Vjb25kQW5kVGhpcmRXb3JkcywgJ05hdHVyYWwnLCAn
PGRpdiBkaXI9InJ0bCI+PGI+2YfZhtinINmK2YPYqtioPC9iPiDYp9mE2YbYtSDYp9mE2LnYsdio
2Yo8L2Rpdj4nKTsKK21vZGlmeVdyaXRpbmdEaXJlY3Rpb24oJzxkaXYgZGlyPSJydGwiPjxiPtmH
2YbYpyDZitmD2KrYqDwvYj4g2KfZhNmG2LUg2KfZhNi52LHYqNmKPC9kaXY+Jywgc2VsZWN0U2Vj
b25kQW5kVGhpcmRXb3JkcywgJ0xlZnRUb1JpZ2h0JywgJzxkaXYgZGlyPSJydGwiPjxiPtmH2YbY
pzxzcGFuIHN0eWxlPSJ1bmljb2RlLWJpZGk6IGVtYmVkOyBkaXJlY3Rpb246IGx0cjsiPiDZitmD
2KrYqDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9InVuaWNvZGUtYmlkaTogZW1iZWQ7IGRpcmVjdGlv
bjogbHRyOyI+INin2YTZhti1PC9zcGFuPiDYp9mE2LnYsdio2Yo8L2Rpdj4nKTsKK21vZGlmeVdy
aXRpbmdEaXJlY3Rpb24oJzxkaXYgZGlyPSJydGwiPjxiPtmH2YbYpyDZitmD2KrYqDwvYj4g2KfZ
hNmG2LUg2KfZhNi52LHYqNmKPC9kaXY+Jywgc2VsZWN0U2Vjb25kQW5kVGhpcmRXb3JkcywgJ1Jp
Z2h0VG9MZWZ0JywgJzxkaXYgZGlyPSJydGwiPjxiPtmH2YbYpzxzcGFuIHN0eWxlPSJ1bmljb2Rl
LWJpZGk6IGVtYmVkOyI+INmK2YPYqtioPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0idW5pY29kZS1i
aWRpOiBlbWJlZDsiPiDYp9mE2YbYtTwvc3Bhbj4g2KfZhNi52LHYqNmKPC9kaXY+Jyk7Cittb2Rp
ZnlXcml0aW5nRGlyZWN0aW9uKCc8ZGl2IGRpcj0icnRsIj7Zh9mG2KcgPHNwYW4gZGlyPSJsdHIi
PtmK2YPYqtioINin2YTZhti1INin2YTYudix2KjZijwvc3Bhbj48L2Rpdj4nLCBzZWxlY3RUaGly
ZFdvcmQsICdOYXR1cmFsJywKKyAgICAgICAgICAgICAgICAgICAgICAgJzxkaXYgZGlyPSJydGwi
PtmH2YbYpyA8c3BhbiBkaXI9Imx0ciI+2YrZg9iq2Kg8L3NwYW4+PHNwYW4+INin2YTZhti1PC9z
cGFuPjxzcGFuIGRpcj0ibHRyIj4g2KfZhNi52LHYqNmKPC9zcGFuPjwvZGl2PicpOworbW9kaWZ5
V3JpdGluZ0RpcmVjdGlvbignPGRpdiBkaXI9InJ0bCI+2YfZhtinIDxzcGFuIGRpcj0ibHRyIj7Z
itmD2KrYqCDYp9mE2YbYtSDYp9mE2LnYsdio2Yo8L3NwYW4+PC9kaXY+Jywgc2VsZWN0VGhpcmRX
b3JkLCAnTGVmdFRvUmlnaHQnLAorICAgICAgICAgICAgICAgICAgICAgICAnPGRpdiBkaXI9InJ0
bCI+PHNwYW4gc3R5bGU9ImRpcmVjdGlvbjogbHRyOyI+2YfZhtinIDwvc3Bhbj48c3BhbiBkaXI9
Imx0ciI+2YrZg9iq2Kgg2KfZhNmG2LUg2KfZhNi52LHYqNmKPC9zcGFuPjwvZGl2PicpOworbW9k
aWZ5V3JpdGluZ0RpcmVjdGlvbignPGRpdiBkaXI9InJ0bCI+2YfZhtinIDxzcGFuIGRpcj0ibHRy
Ij7ZitmD2KrYqCDYp9mE2YbYtSDYp9mE2LnYsdio2Yo8L3NwYW4+PC9kaXY+Jywgc2VsZWN0VGhp
cmRXb3JkLCAnUmlnaHRUb0xlZnQnLAorICAgICAgICAgICAgICAgICAgICAgICAnPGRpdiBkaXI9
InJ0bCI+2YfZhtinIDxzcGFuIGRpcj0ibHRyIj7ZitmD2KrYqDwvc3Bhbj48c3Bhbj48c3BhbiBz
dHlsZT0idW5pY29kZS1iaWRpOiBlbWJlZDsiPiDYp9mE2YbYtTwvc3Bhbj48L3NwYW4+PHNwYW4g
ZGlyPSJsdHIiPiDYp9mE2LnYsdio2Yo8L3NwYW4+PC9kaXY+Jyk7CisKKy8vIGJpZGlyZWN0aW9u
YWwgbGFuZ2F1Z2UKK21vZGlmeVdyaXRpbmdEaXJlY3Rpb24oJ+S4reaWhycsIHNlbGVjdEZpcnN0
V29yZCwgJ05hdHVyYWwnLCAn5Lit5paHJyk7Cittb2RpZnlXcml0aW5nRGlyZWN0aW9uKCfkuK3m
locnLCBzZWxlY3RGaXJzdFdvcmQsICdMZWZ0VG9SaWdodCcsICc8c3BhbiBzdHlsZT0idW5pY29k
ZS1iaWRpOiBlbWJlZDsiPuS4rTwvc3Bhbj7mlocnKTsKK21vZGlmeVdyaXRpbmdEaXJlY3Rpb24o
J+S4reaWhycsIHNlbGVjdEZpcnN0V29yZCwgJ1JpZ2h0VG9MZWZ0JywgJzxzcGFuIHN0eWxlPSJ1
bmljb2RlLWJpZGk6IGVtYmVkOyBkaXJlY3Rpb246IHJ0bDsiPuS4rTwvc3Bhbj7mlocnKTsKKwor
bW9kaWZ5V3JpdGluZ0RpcmVjdGlvbignPGRpdiBkaXI9InJ0bCI+5Lit5paHPC9kaXY+Jywgc2Vs
ZWN0Rmlyc3RXb3JkLCAnTmF0dXJhbCcsICc8ZGl2IGRpcj0icnRsIj7kuK3mloc8L2Rpdj4nKTsK
K21vZGlmeVdyaXRpbmdEaXJlY3Rpb24oJzxkaXYgZGlyPSJydGwiPuS4reaWhzwvZGl2PicsIHNl
bGVjdEZpcnN0V29yZCwgJ0xlZnRUb1JpZ2h0JywgJzxkaXYgZGlyPSJydGwiPjxzcGFuIHN0eWxl
PSJ1bmljb2RlLWJpZGk6IGVtYmVkOyBkaXJlY3Rpb246IGx0cjsiPuS4rTwvc3Bhbj7mloc8L2Rp
dj4nKTsKK21vZGlmeVdyaXRpbmdEaXJlY3Rpb24oJzxkaXYgZGlyPSJydGwiPuS4reaWhzwvZGl2
PicsIHNlbGVjdEZpcnN0V29yZCwgJ1JpZ2h0VG9MZWZ0JywgJzxkaXYgZGlyPSJydGwiPjxzcGFu
IHN0eWxlPSJ1bmljb2RlLWJpZGk6IGVtYmVkOyI+5LitPC9zcGFuPuaWhzwvZGl2PicpOworCitk
b2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRlc3RDb250YWluZXIpOworCit2YXIgc3VjY2Vzc2Z1
bGx5UGFyc2VkID0gdHJ1ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64923</attachid>
            <date>2010-08-19 19:08:55 -0700</date>
            <delta_ts>2010-08-21 12:47:20 -0700</delta_ts>
            <desc>fixed per Tony&apos;s comment</desc>
            <filename>bug-43989-20100819190854.patch</filename>
            <type>text/plain</type>
            <size>14099</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDY1NzE1KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMDgtMTkgIFJ5b3N1a2UgTml3YSAgPHJu
aXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGhlcmUgaXMgbm8gdGVzdCBmb3IgdW5pY29kZS1iaWRpIC8gZGlyZWN0aW9uIHN1
cHBvcnQgaW4gQXBwbHlTdHlsZUNvbW1hbmQ6OmFwcGx5SW5saW5lU3R5bGUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzOTg5CisKKyAgICAgICAgQWRk
ZWQgYSB0ZXN0IGZvciBNYWtlVGV4dFdyaXRpbmdEaXJlY3Rpb25OYXR1cmFsLCBNYWtlVGV4dFdy
aXRpbmdEaXJlY3Rpb25MZWZ0VG9SaWdodCwKKyAgICAgICAgYW5kIE1ha2VUZXh0V3JpdGluZ0Rp
cmVjdGlvblJpZ2h0VG9MZWZ0IGNvbW1hbmRzLgorCisgICAgICAgICogZWRpdGluZy9zdHlsZS9t
YWtlLXRleHQtd3JpdGluZy1kaXJlY3Rpb24taW5saW5lLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvc3R5bGUvc2NyaXB0LXRlc3RzL21ha2UtdGV4dC13cml0aW5nLWRpcmVjdGlvbi1p
bmxpbmUuanM6IEFkZGVkLgorICAgICAgICAobW9kaWZ5V3JpdGluZ0RpcmVjdGlvbik6CisgICAg
ICAgIChzZWxlY3RGaXJzdFdvcmQpOgorICAgICAgICAoc2VsZWN0U2Vjb25kQW5kVGhpcmRXb3Jk
cyk6CisKIDIwMTAtMDgtMTkgIEZhZHkgU2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6a292LgpJbmRleDogTGF5b3V0VGVzdHMv
ZWRpdGluZy9zdHlsZS9tYWtlLXRleHQtd3JpdGluZy1kaXJlY3Rpb24taW5saW5lLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL3N0eWxlL21ha2UtdGV4dC13
cml0aW5nLWRpcmVjdGlvbi1pbmxpbmUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvZWRpdGluZy9zdHlsZS9tYWtlLXRleHQtd3JpdGluZy1kaXJlY3Rpb24taW5saW5l
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzOSBAQAorVGVzdHMgdG8gZW5z
dXJlIE1ha2VUZXh0V3JpdGluZ0RpcmVjdGlvbiogbW9kaWZpZXMgdGhlIGRpcmVjdGlvbiBvZiB0
ZXh0IGFuZCBlbWJlZCB0ZXh0cyBwcm9wZXJseS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK1BBU1MgTmF0dXJhbCBvbiBmaXJzdCB3b3JkIG9mICJoZWxsbyB3b3JsZCIKK1BBU1Mg
TGVmdFRvUmlnaHQgb24gZmlyc3Qgd29yZCBvZiAiaGVsbG8gd29ybGQiCitQQVNTIFJpZ2h0VG9M
ZWZ0IG9uIGZpcnN0IHdvcmQgb2YgImhlbGxvIHdvcmxkIgorUEFTUyBOYXR1cmFsIG9uIHNlY29u
ZCBhbmQgdGhpcmQgd29yZHMgb2YgIjxiPmhlbGxvIHdvcmxkPC9iPiB3ZWJraXQiCitQQVNTIExl
ZnRUb1JpZ2h0IG9uIHNlY29uZCBhbmQgdGhpcmQgd29yZHMgb2YgIjxiPmhlbGxvIHdvcmxkPC9i
PiB3ZWJraXQiCitQQVNTIFJpZ2h0VG9MZWZ0IG9uIHNlY29uZCBhbmQgdGhpcmQgd29yZHMgb2Yg
IjxiPmhlbGxvIHdvcmxkPC9iPiB3ZWJraXQiCitGQUlMIE5hdHVyYWwgb24gdGhpcmQgd29yZCBv
ZiAiPHNwYW4gZGlyPSJydGwiPmhlbGxvIDxzcGFuIGRpcj0ibHRyIj53b3JsZCB3ZWJraXQgcm9j
a3M8L3NwYW4+PC9zcGFuPiIgeWllbGRlZCA8c3BhbiBkaXI9InJ0bCI+aGVsbG8gPHNwYW4gZGly
PSJsdHIiPndvcmxkPC9zcGFuPjwvc3Bhbj48c3Bhbj48c3Bhbj4gd2Via2l0PC9zcGFuPjwvc3Bh
bj48c3BhbiBkaXI9InJ0bCI+PHNwYW4gZGlyPSJsdHIiPiByb2Nrczwvc3Bhbj48L3NwYW4+IGJ1
dCBleHBlY3RlZCA8c3BhbiBkaXI9InJ0bCI+aGVsbG8gPHNwYW4gZGlyPSJsdHIiPndvcmxkPC9z
cGFuPjwvc3Bhbj4gd2Via2l0PHNwYW4gZGlyPSJydGwiPjxzcGFuIGRpcj0ibHRyIj4gcm9ja3M8
L3NwYW4+PC9zcGFuPgorRkFJTCBMZWZ0VG9SaWdodCBvbiB0aGlyZCB3b3JkIG9mICI8c3BhbiBk
aXI9InJ0bCI+aGVsbG8gPHNwYW4gZGlyPSJsdHIiPndvcmxkIHdlYmtpdCByb2Nrczwvc3Bhbj48
L3NwYW4+IiB5aWVsZGVkIDxzcGFuIGRpcj0icnRsIj5oZWxsbyA8c3BhbiBkaXI9Imx0ciI+d29y
bGQ8L3NwYW4+PC9zcGFuPjxzcGFuPjxzcGFuPjxzcGFuIHN0eWxlPSJ1bmljb2RlLWJpZGk6IGVt
YmVkOyI+IHdlYmtpdDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIGRpcj0icnRsIj48c3BhbiBk
aXI9Imx0ciI+IHJvY2tzPC9zcGFuPjwvc3Bhbj4gYnV0IGV4cGVjdGVkIDxzcGFuIGRpcj0icnRs
Ij5oZWxsbyA8c3BhbiBkaXI9Imx0ciI+d29ybGQ8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJ1
bmljb2RlLWJpZGk6IGVtYmVkOyI+IHdlYmtpdDwvc3Bhbj48c3BhbiBkaXI9InJ0bCI+PHNwYW4g
ZGlyPSJsdHIiPiByb2Nrczwvc3Bhbj48L3NwYW4+CitQQVNTIFJpZ2h0VG9MZWZ0IG9uIHRoaXJk
IHdvcmQgb2YgIjxzcGFuIGRpcj0icnRsIj5oZWxsbyA8c3BhbiBkaXI9Imx0ciI+d29ybGQgd2Vi
a2l0IHJvY2tzPC9zcGFuPjwvc3Bhbj4iCitQQVNTIE5hdHVyYWwgb24gZmlyc3Qgd29yZCBvZiAi
2YfZhtinINmK2YPYqtioINin2YTZhti1INin2YTYudix2KjZiiIKK1BBU1MgTGVmdFRvUmlnaHQg
b24gZmlyc3Qgd29yZCBvZiAi2YfZhtinINmK2YPYqtioINin2YTZhti1INin2YTYudix2KjZiiIK
K1BBU1MgUmlnaHRUb0xlZnQgb24gZmlyc3Qgd29yZCBvZiAi2YfZhtinINmK2YPYqtioINin2YTZ
hti1INin2YTYudix2KjZiiIKK1BBU1MgTmF0dXJhbCBvbiBzZWNvbmQgYW5kIHRoaXJkIHdvcmRz
IG9mICI8Yj7Zh9mG2Kcg2YrZg9iq2Kg8L2I+INin2YTZhti1INin2YTYudix2KjZiiIKK1BBU1Mg
TGVmdFRvUmlnaHQgb24gc2Vjb25kIGFuZCB0aGlyZCB3b3JkcyBvZiAiPGI+2YfZhtinINmK2YPY
qtioPC9iPiDYp9mE2YbYtSDYp9mE2LnYsdio2YoiCitQQVNTIFJpZ2h0VG9MZWZ0IG9uIHNlY29u
ZCBhbmQgdGhpcmQgd29yZHMgb2YgIjxiPtmH2YbYpyDZitmD2KrYqDwvYj4g2KfZhNmG2LUg2KfZ
hNi52LHYqNmKIgorUEFTUyBOYXR1cmFsIG9uIGZpcnN0IHdvcmQgb2YgIjxkaXYgZGlyPSJydGwi
PtmH2YbYpyDZitmD2KrYqCDYp9mE2YbYtSDYp9mE2LnYsdio2Yo8L2Rpdj4iCitQQVNTIExlZnRU
b1JpZ2h0IG9uIGZpcnN0IHdvcmQgb2YgIjxkaXYgZGlyPSJydGwiPtmH2YbYpyDZitmD2KrYqCDY
p9mE2YbYtSDYp9mE2LnYsdio2Yo8L2Rpdj4iCitQQVNTIFJpZ2h0VG9MZWZ0IG9uIGZpcnN0IHdv
cmQgb2YgIjxkaXYgZGlyPSJydGwiPtmH2YbYpyDZitmD2KrYqCDYp9mE2YbYtSDYp9mE2LnYsdio
2Yo8L2Rpdj4iCitQQVNTIE5hdHVyYWwgb24gc2Vjb25kIGFuZCB0aGlyZCB3b3JkcyBvZiAiPGRp
diBkaXI9InJ0bCI+PGI+2YfZhtinINmK2YPYqtioPC9iPiDYp9mE2YbYtSDYp9mE2LnYsdio2Yo8
L2Rpdj4iCitQQVNTIExlZnRUb1JpZ2h0IG9uIHNlY29uZCBhbmQgdGhpcmQgd29yZHMgb2YgIjxk
aXYgZGlyPSJydGwiPjxiPtmH2YbYpyDZitmD2KrYqDwvYj4g2KfZhNmG2LUg2KfZhNi52LHYqNmK
PC9kaXY+IgorUEFTUyBSaWdodFRvTGVmdCBvbiBzZWNvbmQgYW5kIHRoaXJkIHdvcmRzIG9mICI8
ZGl2IGRpcj0icnRsIj48Yj7Zh9mG2Kcg2YrZg9iq2Kg8L2I+INin2YTZhti1INin2YTYudix2KjZ
ijwvZGl2PiIKK1BBU1MgTmF0dXJhbCBvbiB0aGlyZCB3b3JkIG9mICI8ZGl2IGRpcj0icnRsIj7Z
h9mG2KcgPHNwYW4gZGlyPSJsdHIiPtmK2YPYqtioINin2YTZhti1INin2YTYudix2KjZijwvc3Bh
bj48L2Rpdj4iCitQQVNTIExlZnRUb1JpZ2h0IG9uIHRoaXJkIHdvcmQgb2YgIjxkaXYgZGlyPSJy
dGwiPtmH2YbYpyA8c3BhbiBkaXI9Imx0ciI+2YrZg9iq2Kgg2KfZhNmG2LUg2KfZhNi52LHYqNmK
PC9zcGFuPjwvZGl2PiIKK1BBU1MgUmlnaHRUb0xlZnQgb24gdGhpcmQgd29yZCBvZiAiPGRpdiBk
aXI9InJ0bCI+2YfZhtinIDxzcGFuIGRpcj0ibHRyIj7ZitmD2KrYqCDYp9mE2YbYtSDYp9mE2LnY
sdio2Yo8L3NwYW4+PC9kaXY+IgorUEFTUyBOYXR1cmFsIG9uIGZpcnN0IHdvcmQgb2YgIuS4reaW
hyIKK1BBU1MgTGVmdFRvUmlnaHQgb24gZmlyc3Qgd29yZCBvZiAi5Lit5paHIgorUEFTUyBSaWdo
dFRvTGVmdCBvbiBmaXJzdCB3b3JkIG9mICLkuK3mlociCitQQVNTIE5hdHVyYWwgb24gZmlyc3Qg
d29yZCBvZiAiPGRpdiBkaXI9InJ0bCI+5Lit5paHPC9kaXY+IgorUEFTUyBMZWZ0VG9SaWdodCBv
biBmaXJzdCB3b3JkIG9mICI8ZGl2IGRpcj0icnRsIj7kuK3mloc8L2Rpdj4iCitQQVNTIFJpZ2h0
VG9MZWZ0IG9uIGZpcnN0IHdvcmQgb2YgIjxkaXYgZGlyPSJydGwiPuS4reaWhzwvZGl2PiIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBM
YXlvdXRUZXN0cy9lZGl0aW5nL3N0eWxlL21ha2UtdGV4dC13cml0aW5nLWRpcmVjdGlvbi1pbmxp
bmUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL3N0eWxlL21ha2UtdGV4
dC13cml0aW5nLWRpcmVjdGlvbi1pbmxpbmUuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL2VkaXRpbmcvc3R5bGUvbWFrZS10ZXh0LXdyaXRpbmctZGlyZWN0aW9uLWlubGluZS5odG1s
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgaHR0cC1lcXVpdj0i
Q29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPgorPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0
eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9t
YWtlLXRleHQtd3JpdGluZy1kaXJlY3Rpb24taW5saW5lLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy9zdHlsZS9zY3JpcHQt
dGVzdHMvbWFrZS10ZXh0LXdyaXRpbmctZGlyZWN0aW9uLWlubGluZS5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9lZGl0aW5nL3N0eWxlL3NjcmlwdC10ZXN0cy9tYWtlLXRleHQtd3JpdGlu
Zy1kaXJlY3Rpb24taW5saW5lLmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zdHlsZS9zY3JpcHQtdGVzdHMvbWFrZS10ZXh0LXdyaXRpbmctZGlyZWN0aW9uLWlubGluZS5q
cwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw5NyBAQAorZGVzY3JpcHRpb24oJ1Rlc3RzIHRvIGVu
c3VyZSBNYWtlVGV4dFdyaXRpbmdEaXJlY3Rpb24qIG1vZGlmaWVzIHRoZSBkaXJlY3Rpb24gb2Yg
dGV4dCBhbmQgZW1iZWQgdGV4dHMgcHJvcGVybHkuJyk7CisKK2lmICghd2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQorICAgIHRlc3RGYWlsZWQoJ1RoaXMgdGVzdCByZXF1aXJlcyBsYXlvdXRU
ZXN0Q29udHJvbGxlcicpOworCit2YXIgdGVzdENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImRpdiIpOwordGVzdENvbnRhaW5lci5jb250ZW50RWRpdGFibGUgPSB0cnVlOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXN0Q29udGFpbmVyKTsKKworZnVuY3Rpb24gbW9kaWZ5
V3JpdGluZ0RpcmVjdGlvbihjb250ZW50LCBzZWxlY3RvciwgY29tbWFuZCwgZXhwZWN0ZWQpCit7
CisgICAgaWYgKCF3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIHRlc3RDb250YWluZXIuaW5uZXJIVE1MID0gY29udGVudDsKKyAgICB2YXIgc2VsZWN0
ZWQgPSBzZWxlY3Rvcih0ZXN0Q29udGFpbmVyKTsKKyAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIuZXhlY0NvbW1hbmQoJ01ha2VUZXh0V3JpdGluZ0RpcmVjdGlvbicgKyBjb21tYW5kKTsK
KworICAgIC8vIFJlbW92ZSBBcHBsZS1zdHlsZS1zcGFuIGJlY2F1c2UgaXQgZG9lcyBub3QgbmVl
ZCB0byBiZSB0ZXN0ZWQgaGVyZS4KKyAgICB2YXIgYWN0dWFsID0gdGVzdENvbnRhaW5lci5pbm5l
ckhUTUwucmVwbGFjZSgvIGNsYXNzPSJBcHBsZS1zdHlsZS1zcGFuIi9nLCAnJyk7CisgICAgaWYg
KGFjdHVhbCA9PSBleHBlY3RlZCkKKyAgICAgICAgdGVzdFBhc3NlZChjb21tYW5kICsgJyBvbiAn
ICsgc2VsZWN0ZWQgKyAnIG9mICInICsgY29udGVudCArICciJyk7CisgICAgZWxzZQorICAgICAg
ICB0ZXN0RmFpbGVkKGNvbW1hbmQgKyAnIG9uICcgKyBzZWxlY3RlZCArICcgb2YgIicgKyBjb250
ZW50ICsgJyIgeWllbGRlZCAnICsgYWN0dWFsICsgJyBidXQgZXhwZWN0ZWQgJyArIGV4cGVjdGVk
KTsKK30KKworZnVuY3Rpb24gc2VsZWN0Rmlyc3RXb3JkKGNvbnRhaW5lcikgeworICAgIGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQoY29udGFpbmVyLCAwLCBjb250YWlu
ZXIsIDApOworICAgIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLm1vZGlmeSgnZXh0ZW5kJywgJ2Zv
cndhcmQnLCAnd29yZCcpOworICAgIHJldHVybiAnZmlyc3Qgd29yZCc7Cit9CisKK2Z1bmN0aW9u
IHNlbGVjdFNlY29uZEFuZFRoaXJkV29yZHMoY29udGFpbmVyKSB7CisgICAgZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCkuc2V0QmFzZUFuZEV4dGVudChjb250YWluZXIsIDAsIGNvbnRhaW5lciwgMCk7
CisgICAgZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkubW9kaWZ5KCdtb3ZlJywgJ2ZvcndhcmQnLCAn
d29yZCcpOworICAgIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLm1vZGlmeSgnZXh0ZW5kJywgJ2Zv
cndhcmQnLCAnd29yZCcpOworICAgIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLm1vZGlmeSgnZXh0
ZW5kJywgJ2ZvcndhcmQnLCAnd29yZCcpOworICAgIHJldHVybiAnc2Vjb25kIGFuZCB0aGlyZCB3
b3Jkcyc7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdFRoaXJkV29yZChjb250YWluZXIpIHsKKyAgICBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KGNvbnRhaW5lciwgMCwgY29u
dGFpbmVyLCAwKTsKKyAgICBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAn
Zm9yd2FyZCcsICd3b3JkJyk7CisgICAgZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkubW9kaWZ5KCdt
b3ZlJywgJ2ZvcndhcmQnLCAnd29yZCcpOworICAgIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLm1v
ZGlmeSgnZXh0ZW5kJywgJ2ZvcndhcmQnLCAnd29yZCcpOworICAgIHJldHVybiAndGhpcmQgd29y
ZCc7Cit9CisKKy8vIGxlZnQgdG8gcmlnaHQgbGFuZ3VhZ2UKK21vZGlmeVdyaXRpbmdEaXJlY3Rp
b24oJ2hlbGxvIHdvcmxkJywgc2VsZWN0Rmlyc3RXb3JkLCAnTmF0dXJhbCcsICdoZWxsbyB3b3Js
ZCcpOworbW9kaWZ5V3JpdGluZ0RpcmVjdGlvbignaGVsbG8gd29ybGQnLCBzZWxlY3RGaXJzdFdv
cmQsICdMZWZ0VG9SaWdodCcsICc8c3BhbiBzdHlsZT0idW5pY29kZS1iaWRpOiBlbWJlZDsiPmhl
bGxvPC9zcGFuPiB3b3JsZCcpOworbW9kaWZ5V3JpdGluZ0RpcmVjdGlvbignaGVsbG8gd29ybGQn
LCBzZWxlY3RGaXJzdFdvcmQsICdSaWdodFRvTGVmdCcsICc8c3BhbiBzdHlsZT0idW5pY29kZS1i
aWRpOiBlbWJlZDsgZGlyZWN0aW9uOiBydGw7Ij5oZWxsbzwvc3Bhbj4gd29ybGQnKTsKK21vZGlm
eVdyaXRpbmdEaXJlY3Rpb24oJzxiPmhlbGxvIHdvcmxkPC9iPiB3ZWJraXQnLCBzZWxlY3RTZWNv
bmRBbmRUaGlyZFdvcmRzLCAnTmF0dXJhbCcsICc8Yj5oZWxsbyB3b3JsZDwvYj4gd2Via2l0Jyk7
Cittb2RpZnlXcml0aW5nRGlyZWN0aW9uKCc8Yj5oZWxsbyB3b3JsZDwvYj4gd2Via2l0Jywgc2Vs
ZWN0U2Vjb25kQW5kVGhpcmRXb3JkcywgJ0xlZnRUb1JpZ2h0JywgJzxiPmhlbGxvPHNwYW4gc3R5
bGU9InVuaWNvZGUtYmlkaTogZW1iZWQ7Ij4gd29ybGQ8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJ1
bmljb2RlLWJpZGk6IGVtYmVkOyI+IHdlYmtpdDwvc3Bhbj4nKTsKK21vZGlmeVdyaXRpbmdEaXJl
Y3Rpb24oJzxiPmhlbGxvIHdvcmxkPC9iPiB3ZWJraXQnLCBzZWxlY3RTZWNvbmRBbmRUaGlyZFdv
cmRzLCAnUmlnaHRUb0xlZnQnLCAnPGI+aGVsbG88c3BhbiBzdHlsZT0idW5pY29kZS1iaWRpOiBl
bWJlZDsgZGlyZWN0aW9uOiBydGw7Ij4gd29ybGQ8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJ1bmlj
b2RlLWJpZGk6IGVtYmVkOyBkaXJlY3Rpb246IHJ0bDsiPiB3ZWJraXQ8L3NwYW4+Jyk7Cittb2Rp
ZnlXcml0aW5nRGlyZWN0aW9uKCc8c3BhbiBkaXI9InJ0bCI+aGVsbG8gPHNwYW4gZGlyPSJsdHIi
PndvcmxkIHdlYmtpdCByb2Nrczwvc3Bhbj48L3NwYW4+Jywgc2VsZWN0VGhpcmRXb3JkLCAnTmF0
dXJhbCcsCisgICAgICAgICAgICAgICAgICAgICAgICc8c3BhbiBkaXI9InJ0bCI+aGVsbG8gPHNw
YW4gZGlyPSJsdHIiPndvcmxkPC9zcGFuPjwvc3Bhbj4gd2Via2l0PHNwYW4gZGlyPSJydGwiPjxz
cGFuIGRpcj0ibHRyIj4gcm9ja3M8L3NwYW4+PC9zcGFuPicpOworbW9kaWZ5V3JpdGluZ0RpcmVj
dGlvbignPHNwYW4gZGlyPSJydGwiPmhlbGxvIDxzcGFuIGRpcj0ibHRyIj53b3JsZCB3ZWJraXQg
cm9ja3M8L3NwYW4+PC9zcGFuPicsIHNlbGVjdFRoaXJkV29yZCwgJ0xlZnRUb1JpZ2h0JywKKyAg
ICAgICAgICAgICAgICAgICAgICAgJzxzcGFuIGRpcj0icnRsIj5oZWxsbyA8c3BhbiBkaXI9Imx0
ciI+d29ybGQ8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJ1bmljb2RlLWJpZGk6IGVtYmVkOyI+
IHdlYmtpdDwvc3Bhbj48c3BhbiBkaXI9InJ0bCI+PHNwYW4gZGlyPSJsdHIiPiByb2Nrczwvc3Bh
bj48L3NwYW4+Jyk7Cittb2RpZnlXcml0aW5nRGlyZWN0aW9uKCc8c3BhbiBkaXI9InJ0bCI+aGVs
bG8gPHNwYW4gZGlyPSJsdHIiPndvcmxkIHdlYmtpdCByb2Nrczwvc3Bhbj48L3NwYW4+Jywgc2Vs
ZWN0VGhpcmRXb3JkLCAnUmlnaHRUb0xlZnQnLAorICAgICAgICAgICAgICAgICAgICAgICAnPHNw
YW4gZGlyPSJydGwiPmhlbGxvIDxzcGFuIGRpcj0ibHRyIj53b3JsZDwvc3Bhbj48c3Bhbj4gd2Vi
a2l0PC9zcGFuPjxzcGFuIGRpcj0ibHRyIj4gcm9ja3M8L3NwYW4+PC9zcGFuPicpOworCisvLyBy
aWdodCB0byBsZWZ0IGxhbmd1YWdlCittb2RpZnlXcml0aW5nRGlyZWN0aW9uKCfZh9mG2Kcg2YrZ
g9iq2Kgg2KfZhNmG2LUg2KfZhNi52LHYqNmKJywgc2VsZWN0Rmlyc3RXb3JkLCAnTmF0dXJhbCcs
ICfZh9mG2Kcg2YrZg9iq2Kgg2KfZhNmG2LUg2KfZhNi52LHYqNmKJyk7Cittb2RpZnlXcml0aW5n
RGlyZWN0aW9uKCfZh9mG2Kcg2YrZg9iq2Kgg2KfZhNmG2LUg2KfZhNi52LHYqNmKJywgc2VsZWN0
Rmlyc3RXb3JkLCAnTGVmdFRvUmlnaHQnLCAnPHNwYW4gc3R5bGU9InVuaWNvZGUtYmlkaTogZW1i
ZWQ7Ij7Zh9mG2Kc8L3NwYW4+INmK2YPYqtioINin2YTZhti1INin2YTYudix2KjZiicpOworbW9k
aWZ5V3JpdGluZ0RpcmVjdGlvbign2YfZhtinINmK2YPYqtioINin2YTZhti1INin2YTYudix2KjZ
iicsIHNlbGVjdEZpcnN0V29yZCwgJ1JpZ2h0VG9MZWZ0JywgJzxzcGFuIHN0eWxlPSJ1bmljb2Rl
LWJpZGk6IGVtYmVkOyBkaXJlY3Rpb246IHJ0bDsiPtmH2YbYpzwvc3Bhbj4g2YrZg9iq2Kgg2KfZ
hNmG2LUg2KfZhNi52LHYqNmKJyk7CisKK21vZGlmeVdyaXRpbmdEaXJlY3Rpb24oJzxiPtmH2YbY
pyDZitmD2KrYqDwvYj4g2KfZhNmG2LUg2KfZhNi52LHYqNmKJywgc2VsZWN0U2Vjb25kQW5kVGhp
cmRXb3JkcywgJ05hdHVyYWwnLCAnPGI+2YfZhtinINmK2YPYqtioPC9iPiDYp9mE2YbYtSDYp9mE
2LnYsdio2YonKTsKK21vZGlmeVdyaXRpbmdEaXJlY3Rpb24oJzxiPtmH2YbYpyDZitmD2KrYqDwv
Yj4g2KfZhNmG2LUg2KfZhNi52LHYqNmKJywgc2VsZWN0U2Vjb25kQW5kVGhpcmRXb3JkcywgJ0xl
ZnRUb1JpZ2h0JywgJzxiPtmH2YbYpzxzcGFuIHN0eWxlPSJ1bmljb2RlLWJpZGk6IGVtYmVkOyI+
INmK2YPYqtioPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0idW5pY29kZS1iaWRpOiBlbWJlZDsiPiDY
p9mE2YbYtTwvc3Bhbj4g2KfZhNi52LHYqNmKJyk7Cittb2RpZnlXcml0aW5nRGlyZWN0aW9uKCc8
Yj7Zh9mG2Kcg2YrZg9iq2Kg8L2I+INin2YTZhti1INin2YTYudix2KjZiicsIHNlbGVjdFNlY29u
ZEFuZFRoaXJkV29yZHMsICdSaWdodFRvTGVmdCcsICc8Yj7Zh9mG2Kc8c3BhbiBzdHlsZT0idW5p
Y29kZS1iaWRpOiBlbWJlZDsgZGlyZWN0aW9uOiBydGw7Ij4g2YrZg9iq2Kg8L3NwYW4+PC9iPjxz
cGFuIHN0eWxlPSJ1bmljb2RlLWJpZGk6IGVtYmVkOyBkaXJlY3Rpb246IHJ0bDsiPiDYp9mE2YbY
tTwvc3Bhbj4g2KfZhNi52LHYqNmKJyk7CisKK21vZGlmeVdyaXRpbmdEaXJlY3Rpb24oJzxkaXYg
ZGlyPSJydGwiPtmH2YbYpyDZitmD2KrYqCDYp9mE2YbYtSDYp9mE2LnYsdio2Yo8L2Rpdj4nLCBz
ZWxlY3RGaXJzdFdvcmQsICdOYXR1cmFsJywgJzxkaXYgZGlyPSJydGwiPtmH2YbYpyDZitmD2KrY
qCDYp9mE2YbYtSDYp9mE2LnYsdio2Yo8L2Rpdj4nKTsKK21vZGlmeVdyaXRpbmdEaXJlY3Rpb24o
JzxkaXYgZGlyPSJydGwiPtmH2YbYpyDZitmD2KrYqCDYp9mE2YbYtSDYp9mE2LnYsdio2Yo8L2Rp
dj4nLCBzZWxlY3RGaXJzdFdvcmQsICdMZWZ0VG9SaWdodCcsICc8ZGl2IGRpcj0icnRsIj48c3Bh
biBzdHlsZT0idW5pY29kZS1iaWRpOiBlbWJlZDsgZGlyZWN0aW9uOiBsdHI7Ij7Zh9mG2Kc8L3Nw
YW4+INmK2YPYqtioINin2YTZhti1INin2YTYudix2KjZijwvZGl2PicpOworbW9kaWZ5V3JpdGlu
Z0RpcmVjdGlvbignPGRpdiBkaXI9InJ0bCI+2YfZhtinINmK2YPYqtioINin2YTZhti1INin2YTY
udix2KjZijwvZGl2PicsIHNlbGVjdEZpcnN0V29yZCwgJ1JpZ2h0VG9MZWZ0JywgJzxkaXYgZGly
PSJydGwiPjxzcGFuIHN0eWxlPSJ1bmljb2RlLWJpZGk6IGVtYmVkOyI+2YfZhtinPC9zcGFuPiDZ
itmD2KrYqCDYp9mE2YbYtSDYp9mE2LnYsdio2Yo8L2Rpdj4nKTsKKworbW9kaWZ5V3JpdGluZ0Rp
cmVjdGlvbignPGRpdiBkaXI9InJ0bCI+PGI+2YfZhtinINmK2YPYqtioPC9iPiDYp9mE2YbYtSDY
p9mE2LnYsdio2Yo8L2Rpdj4nLCBzZWxlY3RTZWNvbmRBbmRUaGlyZFdvcmRzLCAnTmF0dXJhbCcs
ICc8ZGl2IGRpcj0icnRsIj48Yj7Zh9mG2Kcg2YrZg9iq2Kg8L2I+INin2YTZhti1INin2YTYudix
2KjZijwvZGl2PicpOworbW9kaWZ5V3JpdGluZ0RpcmVjdGlvbignPGRpdiBkaXI9InJ0bCI+PGI+
2YfZhtinINmK2YPYqtioPC9iPiDYp9mE2YbYtSDYp9mE2LnYsdio2Yo8L2Rpdj4nLCBzZWxlY3RT
ZWNvbmRBbmRUaGlyZFdvcmRzLCAnTGVmdFRvUmlnaHQnLCAnPGRpdiBkaXI9InJ0bCI+PGI+2YfZ
htinPHNwYW4gc3R5bGU9InVuaWNvZGUtYmlkaTogZW1iZWQ7IGRpcmVjdGlvbjogbHRyOyI+INmK
2YPYqtioPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0idW5pY29kZS1iaWRpOiBlbWJlZDsgZGlyZWN0
aW9uOiBsdHI7Ij4g2KfZhNmG2LU8L3NwYW4+INin2YTYudix2KjZijwvZGl2PicpOworbW9kaWZ5
V3JpdGluZ0RpcmVjdGlvbignPGRpdiBkaXI9InJ0bCI+PGI+2YfZhtinINmK2YPYqtioPC9iPiDY
p9mE2YbYtSDYp9mE2LnYsdio2Yo8L2Rpdj4nLCBzZWxlY3RTZWNvbmRBbmRUaGlyZFdvcmRzLCAn
UmlnaHRUb0xlZnQnLCAnPGRpdiBkaXI9InJ0bCI+PGI+2YfZhtinPHNwYW4gc3R5bGU9InVuaWNv
ZGUtYmlkaTogZW1iZWQ7Ij4g2YrZg9iq2Kg8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJ1bmljb2Rl
LWJpZGk6IGVtYmVkOyI+INin2YTZhti1PC9zcGFuPiDYp9mE2LnYsdio2Yo8L2Rpdj4nKTsKK21v
ZGlmeVdyaXRpbmdEaXJlY3Rpb24oJzxkaXYgZGlyPSJydGwiPtmH2YbYpyA8c3BhbiBkaXI9Imx0
ciI+2YrZg9iq2Kgg2KfZhNmG2LUg2KfZhNi52LHYqNmKPC9zcGFuPjwvZGl2PicsIHNlbGVjdFRo
aXJkV29yZCwgJ05hdHVyYWwnLAorICAgICAgICAgICAgICAgICAgICAgICAnPGRpdiBkaXI9InJ0
bCI+2YfZhtinIDxzcGFuIGRpcj0ibHRyIj7ZitmD2KrYqDwvc3Bhbj48c3Bhbj4g2KfZhNmG2LU8
L3NwYW4+PHNwYW4gZGlyPSJsdHIiPiDYp9mE2LnYsdio2Yo8L3NwYW4+PC9kaXY+Jyk7Cittb2Rp
ZnlXcml0aW5nRGlyZWN0aW9uKCc8ZGl2IGRpcj0icnRsIj7Zh9mG2KcgPHNwYW4gZGlyPSJsdHIi
PtmK2YPYqtioINin2YTZhti1INin2YTYudix2KjZijwvc3Bhbj48L2Rpdj4nLCBzZWxlY3RUaGly
ZFdvcmQsICdMZWZ0VG9SaWdodCcsCisgICAgICAgICAgICAgICAgICAgICAgICc8ZGl2IGRpcj0i
cnRsIj48c3BhbiBzdHlsZT0iZGlyZWN0aW9uOiBsdHI7Ij7Zh9mG2KcgPC9zcGFuPjxzcGFuIGRp
cj0ibHRyIj7ZitmD2KrYqCDYp9mE2YbYtSDYp9mE2LnYsdio2Yo8L3NwYW4+PC9kaXY+Jyk7Citt
b2RpZnlXcml0aW5nRGlyZWN0aW9uKCc8ZGl2IGRpcj0icnRsIj7Zh9mG2KcgPHNwYW4gZGlyPSJs
dHIiPtmK2YPYqtioINin2YTZhti1INin2YTYudix2KjZijwvc3Bhbj48L2Rpdj4nLCBzZWxlY3RU
aGlyZFdvcmQsICdSaWdodFRvTGVmdCcsCisgICAgICAgICAgICAgICAgICAgICAgICc8ZGl2IGRp
cj0icnRsIj7Zh9mG2KcgPHNwYW4gZGlyPSJsdHIiPtmK2YPYqtioPC9zcGFuPjxzcGFuPjxzcGFu
IHN0eWxlPSJ1bmljb2RlLWJpZGk6IGVtYmVkOyI+INin2YTZhti1PC9zcGFuPjwvc3Bhbj48c3Bh
biBkaXI9Imx0ciI+INin2YTYudix2KjZijwvc3Bhbj48L2Rpdj4nKTsKKworLy8gYmlkaXJlY3Rp
b25hbCBsYW5nYXVnZQorbW9kaWZ5V3JpdGluZ0RpcmVjdGlvbign5Lit5paHJywgc2VsZWN0Rmly
c3RXb3JkLCAnTmF0dXJhbCcsICfkuK3mlocnKTsKK21vZGlmeVdyaXRpbmdEaXJlY3Rpb24oJ+S4
reaWhycsIHNlbGVjdEZpcnN0V29yZCwgJ0xlZnRUb1JpZ2h0JywgJzxzcGFuIHN0eWxlPSJ1bmlj
b2RlLWJpZGk6IGVtYmVkOyI+5LitPC9zcGFuPuaWhycpOworbW9kaWZ5V3JpdGluZ0RpcmVjdGlv
bign5Lit5paHJywgc2VsZWN0Rmlyc3RXb3JkLCAnUmlnaHRUb0xlZnQnLCAnPHNwYW4gc3R5bGU9
InVuaWNvZGUtYmlkaTogZW1iZWQ7IGRpcmVjdGlvbjogcnRsOyI+5LitPC9zcGFuPuaWhycpOwor
Cittb2RpZnlXcml0aW5nRGlyZWN0aW9uKCc8ZGl2IGRpcj0icnRsIj7kuK3mloc8L2Rpdj4nLCBz
ZWxlY3RGaXJzdFdvcmQsICdOYXR1cmFsJywgJzxkaXYgZGlyPSJydGwiPuS4reaWhzwvZGl2Picp
OworbW9kaWZ5V3JpdGluZ0RpcmVjdGlvbignPGRpdiBkaXI9InJ0bCI+5Lit5paHPC9kaXY+Jywg
c2VsZWN0Rmlyc3RXb3JkLCAnTGVmdFRvUmlnaHQnLCAnPGRpdiBkaXI9InJ0bCI+PHNwYW4gc3R5
bGU9InVuaWNvZGUtYmlkaTogZW1iZWQ7IGRpcmVjdGlvbjogbHRyOyI+5LitPC9zcGFuPuaWhzwv
ZGl2PicpOworbW9kaWZ5V3JpdGluZ0RpcmVjdGlvbignPGRpdiBkaXI9InJ0bCI+5Lit5paHPC9k
aXY+Jywgc2VsZWN0Rmlyc3RXb3JkLCAnUmlnaHRUb0xlZnQnLCAnPGRpdiBkaXI9InJ0bCI+PHNw
YW4gc3R5bGU9InVuaWNvZGUtYmlkaTogZW1iZWQ7Ij7kuK08L3NwYW4+5paHPC9kaXY+Jyk7CisK
K2RvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGVzdENvbnRhaW5lcik7CisKK3ZhciBzdWNjZXNz
ZnVsbHlQYXJzZWQgPSB0cnVlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>65032</attachid>
            <date>2010-08-21 12:47:24 -0700</date>
            <delta_ts>2010-08-23 12:35:30 -0700</delta_ts>
            <desc>removed chinese characters</desc>
            <filename>bug-43989-20100821124723.patch</filename>
            <type>text/plain</type>
            <size>14540</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDY1Nzc4KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMDgtMTkgIFJ5b3N1a2UgTml3YSAgPHJu
aXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGhlcmUgaXMgbm8gdGVzdCBmb3IgdW5pY29kZS1iaWRpIC8gZGlyZWN0aW9uIHN1
cHBvcnQgaW4gQXBwbHlTdHlsZUNvbW1hbmQ6OmFwcGx5SW5saW5lU3R5bGUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzOTg5CisKKyAgICAgICAgQWRk
ZWQgYSB0ZXN0IGZvciBNYWtlVGV4dFdyaXRpbmdEaXJlY3Rpb25OYXR1cmFsLCBNYWtlVGV4dFdy
aXRpbmdEaXJlY3Rpb25MZWZ0VG9SaWdodCwKKyAgICAgICAgYW5kIE1ha2VUZXh0V3JpdGluZ0Rp
cmVjdGlvblJpZ2h0VG9MZWZ0IGNvbW1hbmRzLgorCisgICAgICAgICogZWRpdGluZy9zdHlsZS9t
YWtlLXRleHQtd3JpdGluZy1kaXJlY3Rpb24taW5saW5lLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvc3R5bGUvc2NyaXB0LXRlc3RzL21ha2UtdGV4dC13cml0aW5nLWRpcmVjdGlvbi1p
bmxpbmUuanM6IEFkZGVkLgorICAgICAgICAobW9kaWZ5V3JpdGluZ0RpcmVjdGlvbik6CisgICAg
ICAgIChzZWxlY3RGaXJzdFdvcmQpOgorICAgICAgICAoc2VsZWN0U2Vjb25kQW5kVGhpcmRXb3Jk
cyk6CisKIDIwMTAtMDgtMjEgIEFkZW1hciBkZSBTb3V6YSBSZWlzIEpyICA8YWRlbWFyLnJlaXNA
b3BlbmJvc3NhLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBcml5YSBIaWRheWF0LgpJbmRl
eDogTGF5b3V0VGVzdHMvZWRpdGluZy9zdHlsZS9tYWtlLXRleHQtd3JpdGluZy1kaXJlY3Rpb24t
aW5saW5lLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL3N0
eWxlL21ha2UtdGV4dC13cml0aW5nLWRpcmVjdGlvbi1pbmxpbmUtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy9zdHlsZS9tYWtlLXRleHQtd3JpdGluZy1k
aXJlY3Rpb24taW5saW5lLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzMyBA
QAorVGVzdHMgdG8gZW5zdXJlIE1ha2VUZXh0V3JpdGluZ0RpcmVjdGlvbiogbW9kaWZpZXMgdGhl
IGRpcmVjdGlvbiBvZiB0ZXh0IGFuZCBlbWJlZCB0ZXh0cyBwcm9wZXJseS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgTmF0dXJhbCBvbiBmaXJzdCB3b3JkIG9mICJoZWxs
byB3b3JsZCIKK1BBU1MgTGVmdFRvUmlnaHQgb24gZmlyc3Qgd29yZCBvZiAiaGVsbG8gd29ybGQi
CitQQVNTIFJpZ2h0VG9MZWZ0IG9uIGZpcnN0IHdvcmQgb2YgImhlbGxvIHdvcmxkIgorUEFTUyBO
YXR1cmFsIG9uIHNlY29uZCBhbmQgdGhpcmQgd29yZHMgb2YgIjxiPmhlbGxvIHdvcmxkPC9iPiB3
ZWJraXQiCitQQVNTIExlZnRUb1JpZ2h0IG9uIHNlY29uZCBhbmQgdGhpcmQgd29yZHMgb2YgIjxi
PmhlbGxvIHdvcmxkPC9iPiB3ZWJraXQiCitQQVNTIFJpZ2h0VG9MZWZ0IG9uIHNlY29uZCBhbmQg
dGhpcmQgd29yZHMgb2YgIjxiPmhlbGxvIHdvcmxkPC9iPiB3ZWJraXQiCitGQUlMIChkdWUgdG8g
dGhlIGJ1ZyA0NDM1OSkgTmF0dXJhbCBvbiB0aGlyZCB3b3JkIG9mICI8c3BhbiBkaXI9InJ0bCI+
aGVsbG8gPHNwYW4gZGlyPSJsdHIiPndvcmxkIHdlYmtpdCByb2Nrczwvc3Bhbj48L3NwYW4+IiB5
aWVsZGVkIDxzcGFuIGRpcj0icnRsIj5oZWxsbyA8c3BhbiBkaXI9Imx0ciI+d29ybGQ8L3NwYW4+
PC9zcGFuPjxzcGFuPjxzcGFuPiB3ZWJraXQ8L3NwYW4+PC9zcGFuPjxzcGFuIGRpcj0icnRsIj48
c3BhbiBkaXI9Imx0ciI+IHJvY2tzPC9zcGFuPjwvc3Bhbj4gYnV0IGV4cGVjdGVkIDxzcGFuIGRp
cj0icnRsIj5oZWxsbyA8c3BhbiBkaXI9Imx0ciI+d29ybGQ8L3NwYW4+PC9zcGFuPiB3ZWJraXQ8
c3BhbiBkaXI9InJ0bCI+PHNwYW4gZGlyPSJsdHIiPiByb2Nrczwvc3Bhbj48L3NwYW4+CitGQUlM
IChkdWUgdG8gdGhlIGJ1ZyA0NDM1OSkgTGVmdFRvUmlnaHQgb24gdGhpcmQgd29yZCBvZiAiPHNw
YW4gZGlyPSJydGwiPmhlbGxvIDxzcGFuIGRpcj0ibHRyIj53b3JsZCB3ZWJraXQgcm9ja3M8L3Nw
YW4+PC9zcGFuPiIgeWllbGRlZCA8c3BhbiBkaXI9InJ0bCI+aGVsbG8gPHNwYW4gZGlyPSJsdHIi
PndvcmxkPC9zcGFuPjwvc3Bhbj48c3Bhbj48c3Bhbj48c3BhbiBzdHlsZT0idW5pY29kZS1iaWRp
OiBlbWJlZDsiPiB3ZWJraXQ8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBkaXI9InJ0bCI+PHNw
YW4gZGlyPSJsdHIiPiByb2Nrczwvc3Bhbj48L3NwYW4+IGJ1dCBleHBlY3RlZCA8c3BhbiBkaXI9
InJ0bCI+aGVsbG8gPHNwYW4gZGlyPSJsdHIiPndvcmxkPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHls
ZT0idW5pY29kZS1iaWRpOiBlbWJlZDsiPiB3ZWJraXQ8L3NwYW4+PHNwYW4gZGlyPSJydGwiPjxz
cGFuIGRpcj0ibHRyIj4gcm9ja3M8L3NwYW4+PC9zcGFuPgorRkFJTCAoZHVlIHRvIHRoZSBidWcg
NDQzNTkpIFJpZ2h0VG9MZWZ0IG9uIHRoaXJkIHdvcmQgb2YgIjxzcGFuIGRpcj0icnRsIj5oZWxs
byA8c3BhbiBkaXI9Imx0ciI+d29ybGQgd2Via2l0IHJvY2tzPC9zcGFuPjwvc3Bhbj4iIHlpZWxk
ZWQgPHNwYW4gZGlyPSJydGwiPmhlbGxvIDxzcGFuIGRpcj0ibHRyIj53b3JsZDwvc3Bhbj48c3Bh
bj4gd2Via2l0PC9zcGFuPjxzcGFuIGRpcj0ibHRyIj4gcm9ja3M8L3NwYW4+PC9zcGFuPiBidXQg
ZXhwZWN0ZWQgPHNwYW4gZGlyPSJydGwiPmhlbGxvIDxzcGFuIGRpcj0ibHRyIj53b3JsZDwvc3Bh
bj4gd2Via2l0PHNwYW4gZGlyPSJsdHIiPiByb2Nrczwvc3Bhbj48L3NwYW4+CitQQVNTIE5hdHVy
YWwgb24gZmlyc3Qgd29yZCBvZiAi2YfZhtinINmK2YPYqtioINin2YTZhti1INin2YTYudix2KjZ
iiIKK1BBU1MgTGVmdFRvUmlnaHQgb24gZmlyc3Qgd29yZCBvZiAi2YfZhtinINmK2YPYqtioINin
2YTZhti1INin2YTYudix2KjZiiIKK1BBU1MgUmlnaHRUb0xlZnQgb24gZmlyc3Qgd29yZCBvZiAi
2YfZhtinINmK2YPYqtioINin2YTZhti1INin2YTYudix2KjZiiIKK1BBU1MgTmF0dXJhbCBvbiBz
ZWNvbmQgYW5kIHRoaXJkIHdvcmRzIG9mICI8Yj7Zh9mG2Kcg2YrZg9iq2Kg8L2I+INin2YTZhti1
INin2YTYudix2KjZiiIKK1BBU1MgTGVmdFRvUmlnaHQgb24gc2Vjb25kIGFuZCB0aGlyZCB3b3Jk
cyBvZiAiPGI+2YfZhtinINmK2YPYqtioPC9iPiDYp9mE2YbYtSDYp9mE2LnYsdio2YoiCitQQVNT
IFJpZ2h0VG9MZWZ0IG9uIHNlY29uZCBhbmQgdGhpcmQgd29yZHMgb2YgIjxiPtmH2YbYpyDZitmD
2KrYqDwvYj4g2KfZhNmG2LUg2KfZhNi52LHYqNmKIgorUEFTUyBOYXR1cmFsIG9uIGZpcnN0IHdv
cmQgb2YgIjxkaXYgZGlyPSJydGwiPtmH2YbYpyDZitmD2KrYqCDYp9mE2YbYtSDYp9mE2LnYsdio
2Yo8L2Rpdj4iCitQQVNTIExlZnRUb1JpZ2h0IG9uIGZpcnN0IHdvcmQgb2YgIjxkaXYgZGlyPSJy
dGwiPtmH2YbYpyDZitmD2KrYqCDYp9mE2YbYtSDYp9mE2LnYsdio2Yo8L2Rpdj4iCitQQVNTIFJp
Z2h0VG9MZWZ0IG9uIGZpcnN0IHdvcmQgb2YgIjxkaXYgZGlyPSJydGwiPtmH2YbYpyDZitmD2KrY
qCDYp9mE2YbYtSDYp9mE2LnYsdio2Yo8L2Rpdj4iCitQQVNTIE5hdHVyYWwgb24gc2Vjb25kIGFu
ZCB0aGlyZCB3b3JkcyBvZiAiPGRpdiBkaXI9InJ0bCI+PGI+2YfZhtinINmK2YPYqtioPC9iPiDY
p9mE2YbYtSDYp9mE2LnYsdio2Yo8L2Rpdj4iCitQQVNTIExlZnRUb1JpZ2h0IG9uIHNlY29uZCBh
bmQgdGhpcmQgd29yZHMgb2YgIjxkaXYgZGlyPSJydGwiPjxiPtmH2YbYpyDZitmD2KrYqDwvYj4g
2KfZhNmG2LUg2KfZhNi52LHYqNmKPC9kaXY+IgorUEFTUyBSaWdodFRvTGVmdCBvbiBzZWNvbmQg
YW5kIHRoaXJkIHdvcmRzIG9mICI8ZGl2IGRpcj0icnRsIj48Yj7Zh9mG2Kcg2YrZg9iq2Kg8L2I+
INin2YTZhti1INin2YTYudix2KjZijwvZGl2PiIKK0ZBSUwgKGR1ZSB0byB0aGUgYnVnIDQ0MzU5
KSBOYXR1cmFsIG9uIHRoaXJkIHdvcmQgb2YgIjxkaXYgZGlyPSJydGwiPtmH2YbYpyA8c3BhbiBk
aXI9Imx0ciI+2YrZg9iq2Kgg2KfZhNmG2LUg2KfZhNi52LHYqNmKPC9zcGFuPjwvZGl2PiIgeWll
bGRlZCA8ZGl2IGRpcj0icnRsIj7Zh9mG2KcgPHNwYW4gZGlyPSJsdHIiPtmK2YPYqtioPC9zcGFu
PjxzcGFuPiDYp9mE2YbYtTwvc3Bhbj48c3BhbiBkaXI9Imx0ciI+INin2YTYudix2KjZijwvc3Bh
bj48L2Rpdj4gYnV0IGV4cGVjdGVkIDxkaXYgZGlyPSJydGwiPtmH2YbYpyA8c3BhbiBkaXI9Imx0
ciI+2YrZg9iq2Kg8L3NwYW4+INin2YTZhti1PHNwYW4gZGlyPSJsdHIiPiDYp9mE2LnYsdio2Yo8
L3NwYW4+PC9kaXY+CitQQVNTIExlZnRUb1JpZ2h0IG9uIHRoaXJkIHdvcmQgb2YgIjxkaXYgZGly
PSJydGwiPtmH2YbYpyA8c3BhbiBkaXI9Imx0ciI+2YrZg9iq2Kgg2KfZhNmG2LUg2KfZhNi52LHY
qNmKPC9zcGFuPjwvZGl2PiIKK0ZBSUwgKGR1ZSB0byB0aGUgYnVnIDQ0MzU5KSBSaWdodFRvTGVm
dCBvbiB0aGlyZCB3b3JkIG9mICI8ZGl2IGRpcj0icnRsIj7Zh9mG2KcgPHNwYW4gZGlyPSJsdHIi
PtmK2YPYqtioINin2YTZhti1INin2YTYudix2KjZijwvc3Bhbj48L2Rpdj4iIHlpZWxkZWQgPGRp
diBkaXI9InJ0bCI+2YfZhtinIDxzcGFuIGRpcj0ibHRyIj7ZitmD2KrYqDwvc3Bhbj48c3Bhbj48
c3BhbiBzdHlsZT0idW5pY29kZS1iaWRpOiBlbWJlZDsiPiDYp9mE2YbYtTwvc3Bhbj48L3NwYW4+
PHNwYW4gZGlyPSJsdHIiPiDYp9mE2LnYsdio2Yo8L3NwYW4+PC9kaXY+IGJ1dCBleHBlY3RlZCA8
ZGl2IGRpcj0icnRsIj7Zh9mG2KcgPHNwYW4gZGlyPSJsdHIiPtmK2YPYqtioPC9zcGFuPjxzcGFu
IHN0eWxlPSJ1bmljb2RlLWJpZGk6IGVtYmVkOyI+INin2YTZhti1PC9zcGFuPjxzcGFuIGRpcj0i
bHRyIj4g2KfZhNi52LHYqNmKPC9zcGFuPjwvZGl2PgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvc3R5
bGUvbWFrZS10ZXh0LXdyaXRpbmctZGlyZWN0aW9uLWlubGluZS5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2VkaXRpbmcvc3R5bGUvbWFrZS10ZXh0LXdyaXRpbmctZGlyZWN0aW9uLWlu
bGluZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy9zdHlsZS9tYWtl
LXRleHQtd3JpdGluZy1kaXJlY3Rpb24taW5saW5lLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMTQgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9
InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL21ha2UtdGV4dC13cml0aW5nLWRpcmVj
dGlvbi1pbmxpbmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9lZGl0aW5nL3N0eWxlL3NjcmlwdC10ZXN0cy9tYWtlLXRleHQtd3JpdGlu
Zy1kaXJlY3Rpb24taW5saW5lLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcv
c3R5bGUvc2NyaXB0LXRlc3RzL21ha2UtdGV4dC13cml0aW5nLWRpcmVjdGlvbi1pbmxpbmUuanMJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL3N0eWxlL3NjcmlwdC10ZXN0cy9t
YWtlLXRleHQtd3JpdGluZy1kaXJlY3Rpb24taW5saW5lLmpzCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDEwNiBAQAorZGVzY3JpcHRpb24oJ1Rlc3RzIHRvIGVuc3VyZSBNYWtlVGV4dFdyaXRpbmdE
aXJlY3Rpb24qIG1vZGlmaWVzIHRoZSBkaXJlY3Rpb24gb2YgdGV4dCBhbmQgZW1iZWQgdGV4dHMg
cHJvcGVybHkuJyk7CisKK2lmICghd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIHRl
c3RGYWlsZWQoJ1RoaXMgdGVzdCByZXF1aXJlcyBsYXlvdXRUZXN0Q29udHJvbGxlcicpOworCit2
YXIgdGVzdENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwordGVzdENv
bnRhaW5lci5jb250ZW50RWRpdGFibGUgPSB0cnVlOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZCh0ZXN0Q29udGFpbmVyKTsKKworZnVuY3Rpb24gcmVjdXJzaXZlbHlSZW1vdmVFeHRyYWVub3Vz
U3Bhbihub2RlKSB7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2RlLmNoaWxkTm9kZXMubGVu
Z3RoOyBpKyspCisgICAgICAgIHJlY3Vyc2l2ZWx5UmVtb3ZlRXh0cmFlbm91c1NwYW4obm9kZS5j
aGlsZE5vZGVzW2ldKTsKKyAgICBpZiAobm9kZS5sb2NhbE5hbWUgPT0gJ3NwYW4nICYmIG5vZGUu
YXR0cmlidXRlcy5sZW5ndGggPT0gMCkgeworICAgICAgICB2YXIgY2hpbGROb2RlcyA9IG5vZGUu
Y2hpbGROb2RlczsKKyAgICAgICAgd2hpbGUgKG5vZGUuZmlyc3RDaGlsZCkKKyAgICAgICAgICAg
IG5vZGUucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobm9kZS5maXJzdENoaWxkLCBub2RlKTsKKyAg
ICAgICAgbm9kZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG5vZGUpOworICAgIH0KK30KKworZnVu
Y3Rpb24gbW9kaWZ5V3JpdGluZ0RpcmVjdGlvbihjb250ZW50LCBzZWxlY3RvciwgY29tbWFuZCwg
ZXhwZWN0ZWQpCit7CisgICAgaWYgKCF3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIHRlc3RDb250YWluZXIuaW5uZXJIVE1MID0gY29udGVudDsKKyAg
ICB2YXIgc2VsZWN0ZWQgPSBzZWxlY3Rvcih0ZXN0Q29udGFpbmVyKTsKKyAgICB3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIuZXhlY0NvbW1hbmQoJ01ha2VUZXh0V3JpdGluZ0RpcmVjdGlvbicg
KyBjb21tYW5kKTsKKworICAgIC8vIFJlbW92ZSBBcHBsZS1zdHlsZS1zcGFuIGJlY2F1c2UgaXQg
ZG9lcyBub3QgbmVlZCB0byBiZSB0ZXN0ZWQgaGVyZS4KKyAgICB2YXIgYWN0dWFsID0gdGVzdENv
bnRhaW5lci5pbm5lckhUTUwucmVwbGFjZSgvIGNsYXNzPSJBcHBsZS1zdHlsZS1zcGFuIi9nLCAn
Jyk7CisgICAgdmFyIGFjdGlvbiA9IGNvbW1hbmQgKyAnIG9uICcgKyBzZWxlY3RlZCArICcgb2Yg
IicgKyBjb250ZW50ICsgJyInOworICAgIGlmIChhY3R1YWwgPT0gZXhwZWN0ZWQpCisgICAgICAg
IHRlc3RQYXNzZWQoYWN0aW9uKTsKKyAgICBlbHNlIHsKKyAgICAgICAgZXJyb3IgPSAnIHlpZWxk
ZWQgJyArIGFjdHVhbCArICcgYnV0IGV4cGVjdGVkICcgKyBleHBlY3RlZDsKKyAgICAgICAgcmVj
dXJzaXZlbHlSZW1vdmVFeHRyYWVub3VzU3Bhbih0ZXN0Q29udGFpbmVyKTsKKyAgICAgICAgaWYg
KHRlc3RDb250YWluZXIuaW5uZXJIVE1MLnJlcGxhY2UoLyBjbGFzcz0iQXBwbGUtc3R5bGUtc3Bh
biIvZywgJycpID09IGV4cGVjdGVkKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgnKGR1ZSB0byB0
aGUgYnVnIDQ0MzU5KSAnICsgYWN0aW9uICsgZXJyb3IpOworICAgICAgICBlbHNlCisgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGFjdGlvbiArIGVycm9yKTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHNl
bGVjdEZpcnN0V29yZChjb250YWluZXIpIHsKKyAgICBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS5z
ZXRCYXNlQW5kRXh0ZW50KGNvbnRhaW5lciwgMCwgY29udGFpbmVyLCAwKTsKKyAgICBkb2N1bWVu
dC5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ2V4dGVuZCcsICdmb3J3YXJkJywgJ3dvcmQnKTsKKyAg
ICByZXR1cm4gJ2ZpcnN0IHdvcmQnOworfQorCitmdW5jdGlvbiBzZWxlY3RTZWNvbmRBbmRUaGly
ZFdvcmRzKGNvbnRhaW5lcikgeworICAgIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnNldEJhc2VB
bmRFeHRlbnQoY29udGFpbmVyLCAwLCBjb250YWluZXIsIDApOworICAgIGRvY3VtZW50LmdldFNl
bGVjdGlvbigpLm1vZGlmeSgnbW92ZScsICdmb3J3YXJkJywgJ3dvcmQnKTsKKyAgICBkb2N1bWVu
dC5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ2V4dGVuZCcsICdmb3J3YXJkJywgJ3dvcmQnKTsKKyAg
ICBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ2V4dGVuZCcsICdmb3J3YXJkJywgJ3dv
cmQnKTsKKyAgICByZXR1cm4gJ3NlY29uZCBhbmQgdGhpcmQgd29yZHMnOworfQorCitmdW5jdGlv
biBzZWxlY3RUaGlyZFdvcmQoY29udGFpbmVyKSB7CisgICAgZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCkuc2V0QmFzZUFuZEV4dGVudChjb250YWluZXIsIDAsIGNvbnRhaW5lciwgMCk7CisgICAgZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCkubW9kaWZ5KCdtb3ZlJywgJ2ZvcndhcmQnLCAnd29yZCcpOwor
ICAgIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLm1vZGlmeSgnbW92ZScsICdmb3J3YXJkJywgJ3dv
cmQnKTsKKyAgICBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ2V4dGVuZCcsICdmb3J3
YXJkJywgJ3dvcmQnKTsKKyAgICByZXR1cm4gJ3RoaXJkIHdvcmQnOworfQorCisvLyBsZWZ0IHRv
IHJpZ2h0IGxhbmd1YWdlCittb2RpZnlXcml0aW5nRGlyZWN0aW9uKCdoZWxsbyB3b3JsZCcsIHNl
bGVjdEZpcnN0V29yZCwgJ05hdHVyYWwnLCAnaGVsbG8gd29ybGQnKTsKK21vZGlmeVdyaXRpbmdE
aXJlY3Rpb24oJ2hlbGxvIHdvcmxkJywgc2VsZWN0Rmlyc3RXb3JkLCAnTGVmdFRvUmlnaHQnLCAn
PHNwYW4gc3R5bGU9InVuaWNvZGUtYmlkaTogZW1iZWQ7Ij5oZWxsbzwvc3Bhbj4gd29ybGQnKTsK
K21vZGlmeVdyaXRpbmdEaXJlY3Rpb24oJ2hlbGxvIHdvcmxkJywgc2VsZWN0Rmlyc3RXb3JkLCAn
UmlnaHRUb0xlZnQnLCAnPHNwYW4gc3R5bGU9InVuaWNvZGUtYmlkaTogZW1iZWQ7IGRpcmVjdGlv
bjogcnRsOyI+aGVsbG88L3NwYW4+IHdvcmxkJyk7Cittb2RpZnlXcml0aW5nRGlyZWN0aW9uKCc8
Yj5oZWxsbyB3b3JsZDwvYj4gd2Via2l0Jywgc2VsZWN0U2Vjb25kQW5kVGhpcmRXb3JkcywgJ05h
dHVyYWwnLCAnPGI+aGVsbG8gd29ybGQ8L2I+IHdlYmtpdCcpOworbW9kaWZ5V3JpdGluZ0RpcmVj
dGlvbignPGI+aGVsbG8gd29ybGQ8L2I+IHdlYmtpdCcsIHNlbGVjdFNlY29uZEFuZFRoaXJkV29y
ZHMsICdMZWZ0VG9SaWdodCcsICc8Yj5oZWxsbzxzcGFuIHN0eWxlPSJ1bmljb2RlLWJpZGk6IGVt
YmVkOyI+IHdvcmxkPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0idW5pY29kZS1iaWRpOiBlbWJlZDsi
PiB3ZWJraXQ8L3NwYW4+Jyk7Cittb2RpZnlXcml0aW5nRGlyZWN0aW9uKCc8Yj5oZWxsbyB3b3Js
ZDwvYj4gd2Via2l0Jywgc2VsZWN0U2Vjb25kQW5kVGhpcmRXb3JkcywgJ1JpZ2h0VG9MZWZ0Jywg
JzxiPmhlbGxvPHNwYW4gc3R5bGU9InVuaWNvZGUtYmlkaTogZW1iZWQ7IGRpcmVjdGlvbjogcnRs
OyI+IHdvcmxkPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0idW5pY29kZS1iaWRpOiBlbWJlZDsgZGly
ZWN0aW9uOiBydGw7Ij4gd2Via2l0PC9zcGFuPicpOworbW9kaWZ5V3JpdGluZ0RpcmVjdGlvbign
PHNwYW4gZGlyPSJydGwiPmhlbGxvIDxzcGFuIGRpcj0ibHRyIj53b3JsZCB3ZWJraXQgcm9ja3M8
L3NwYW4+PC9zcGFuPicsIHNlbGVjdFRoaXJkV29yZCwgJ05hdHVyYWwnLAorICAgICAgICAgICAg
ICAgICAgICAgICAnPHNwYW4gZGlyPSJydGwiPmhlbGxvIDxzcGFuIGRpcj0ibHRyIj53b3JsZDwv
c3Bhbj48L3NwYW4+IHdlYmtpdDxzcGFuIGRpcj0icnRsIj48c3BhbiBkaXI9Imx0ciI+IHJvY2tz
PC9zcGFuPjwvc3Bhbj4nKTsKK21vZGlmeVdyaXRpbmdEaXJlY3Rpb24oJzxzcGFuIGRpcj0icnRs
Ij5oZWxsbyA8c3BhbiBkaXI9Imx0ciI+d29ybGQgd2Via2l0IHJvY2tzPC9zcGFuPjwvc3Bhbj4n
LCBzZWxlY3RUaGlyZFdvcmQsICdMZWZ0VG9SaWdodCcsCisgICAgICAgICAgICAgICAgICAgICAg
ICc8c3BhbiBkaXI9InJ0bCI+aGVsbG8gPHNwYW4gZGlyPSJsdHIiPndvcmxkPC9zcGFuPjwvc3Bh
bj48c3BhbiBzdHlsZT0idW5pY29kZS1iaWRpOiBlbWJlZDsiPiB3ZWJraXQ8L3NwYW4+PHNwYW4g
ZGlyPSJydGwiPjxzcGFuIGRpcj0ibHRyIj4gcm9ja3M8L3NwYW4+PC9zcGFuPicpOworbW9kaWZ5
V3JpdGluZ0RpcmVjdGlvbignPHNwYW4gZGlyPSJydGwiPmhlbGxvIDxzcGFuIGRpcj0ibHRyIj53
b3JsZCB3ZWJraXQgcm9ja3M8L3NwYW4+PC9zcGFuPicsIHNlbGVjdFRoaXJkV29yZCwgJ1JpZ2h0
VG9MZWZ0JywKKyAgICAgICAgICAgICAgICAgICAgICAgJzxzcGFuIGRpcj0icnRsIj5oZWxsbyA8
c3BhbiBkaXI9Imx0ciI+d29ybGQ8L3NwYW4+IHdlYmtpdDxzcGFuIGRpcj0ibHRyIj4gcm9ja3M8
L3NwYW4+PC9zcGFuPicpOworCisvLyByaWdodCB0byBsZWZ0IGxhbmd1YWdlCittb2RpZnlXcml0
aW5nRGlyZWN0aW9uKCfZh9mG2Kcg2YrZg9iq2Kgg2KfZhNmG2LUg2KfZhNi52LHYqNmKJywgc2Vs
ZWN0Rmlyc3RXb3JkLCAnTmF0dXJhbCcsICfZh9mG2Kcg2YrZg9iq2Kgg2KfZhNmG2LUg2KfZhNi5
2LHYqNmKJyk7Cittb2RpZnlXcml0aW5nRGlyZWN0aW9uKCfZh9mG2Kcg2YrZg9iq2Kgg2KfZhNmG
2LUg2KfZhNi52LHYqNmKJywgc2VsZWN0Rmlyc3RXb3JkLCAnTGVmdFRvUmlnaHQnLCAnPHNwYW4g
c3R5bGU9InVuaWNvZGUtYmlkaTogZW1iZWQ7Ij7Zh9mG2Kc8L3NwYW4+INmK2YPYqtioINin2YTZ
hti1INin2YTYudix2KjZiicpOworbW9kaWZ5V3JpdGluZ0RpcmVjdGlvbign2YfZhtinINmK2YPY
qtioINin2YTZhti1INin2YTYudix2KjZiicsIHNlbGVjdEZpcnN0V29yZCwgJ1JpZ2h0VG9MZWZ0
JywgJzxzcGFuIHN0eWxlPSJ1bmljb2RlLWJpZGk6IGVtYmVkOyBkaXJlY3Rpb246IHJ0bDsiPtmH
2YbYpzwvc3Bhbj4g2YrZg9iq2Kgg2KfZhNmG2LUg2KfZhNi52LHYqNmKJyk7CisKK21vZGlmeVdy
aXRpbmdEaXJlY3Rpb24oJzxiPtmH2YbYpyDZitmD2KrYqDwvYj4g2KfZhNmG2LUg2KfZhNi52LHY
qNmKJywgc2VsZWN0U2Vjb25kQW5kVGhpcmRXb3JkcywgJ05hdHVyYWwnLCAnPGI+2YfZhtinINmK
2YPYqtioPC9iPiDYp9mE2YbYtSDYp9mE2LnYsdio2YonKTsKK21vZGlmeVdyaXRpbmdEaXJlY3Rp
b24oJzxiPtmH2YbYpyDZitmD2KrYqDwvYj4g2KfZhNmG2LUg2KfZhNi52LHYqNmKJywgc2VsZWN0
U2Vjb25kQW5kVGhpcmRXb3JkcywgJ0xlZnRUb1JpZ2h0JywgJzxiPtmH2YbYpzxzcGFuIHN0eWxl
PSJ1bmljb2RlLWJpZGk6IGVtYmVkOyI+INmK2YPYqtioPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0i
dW5pY29kZS1iaWRpOiBlbWJlZDsiPiDYp9mE2YbYtTwvc3Bhbj4g2KfZhNi52LHYqNmKJyk7Citt
b2RpZnlXcml0aW5nRGlyZWN0aW9uKCc8Yj7Zh9mG2Kcg2YrZg9iq2Kg8L2I+INin2YTZhti1INin
2YTYudix2KjZiicsIHNlbGVjdFNlY29uZEFuZFRoaXJkV29yZHMsICdSaWdodFRvTGVmdCcsICc8
Yj7Zh9mG2Kc8c3BhbiBzdHlsZT0idW5pY29kZS1iaWRpOiBlbWJlZDsgZGlyZWN0aW9uOiBydGw7
Ij4g2YrZg9iq2Kg8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJ1bmljb2RlLWJpZGk6IGVtYmVkOyBk
aXJlY3Rpb246IHJ0bDsiPiDYp9mE2YbYtTwvc3Bhbj4g2KfZhNi52LHYqNmKJyk7CisKK21vZGlm
eVdyaXRpbmdEaXJlY3Rpb24oJzxkaXYgZGlyPSJydGwiPtmH2YbYpyDZitmD2KrYqCDYp9mE2YbY
tSDYp9mE2LnYsdio2Yo8L2Rpdj4nLCBzZWxlY3RGaXJzdFdvcmQsICdOYXR1cmFsJywgJzxkaXYg
ZGlyPSJydGwiPtmH2YbYpyDZitmD2KrYqCDYp9mE2YbYtSDYp9mE2LnYsdio2Yo8L2Rpdj4nKTsK
K21vZGlmeVdyaXRpbmdEaXJlY3Rpb24oJzxkaXYgZGlyPSJydGwiPtmH2YbYpyDZitmD2KrYqCDY
p9mE2YbYtSDYp9mE2LnYsdio2Yo8L2Rpdj4nLCBzZWxlY3RGaXJzdFdvcmQsICdMZWZ0VG9SaWdo
dCcsICc8ZGl2IGRpcj0icnRsIj48c3BhbiBzdHlsZT0idW5pY29kZS1iaWRpOiBlbWJlZDsgZGly
ZWN0aW9uOiBsdHI7Ij7Zh9mG2Kc8L3NwYW4+INmK2YPYqtioINin2YTZhti1INin2YTYudix2KjZ
ijwvZGl2PicpOworbW9kaWZ5V3JpdGluZ0RpcmVjdGlvbignPGRpdiBkaXI9InJ0bCI+2YfZhtin
INmK2YPYqtioINin2YTZhti1INin2YTYudix2KjZijwvZGl2PicsIHNlbGVjdEZpcnN0V29yZCwg
J1JpZ2h0VG9MZWZ0JywgJzxkaXYgZGlyPSJydGwiPjxzcGFuIHN0eWxlPSJ1bmljb2RlLWJpZGk6
IGVtYmVkOyI+2YfZhtinPC9zcGFuPiDZitmD2KrYqCDYp9mE2YbYtSDYp9mE2LnYsdio2Yo8L2Rp
dj4nKTsKKworbW9kaWZ5V3JpdGluZ0RpcmVjdGlvbignPGRpdiBkaXI9InJ0bCI+PGI+2YfZhtin
INmK2YPYqtioPC9iPiDYp9mE2YbYtSDYp9mE2LnYsdio2Yo8L2Rpdj4nLCBzZWxlY3RTZWNvbmRB
bmRUaGlyZFdvcmRzLCAnTmF0dXJhbCcsICc8ZGl2IGRpcj0icnRsIj48Yj7Zh9mG2Kcg2YrZg9iq
2Kg8L2I+INin2YTZhti1INin2YTYudix2KjZijwvZGl2PicpOworbW9kaWZ5V3JpdGluZ0RpcmVj
dGlvbignPGRpdiBkaXI9InJ0bCI+PGI+2YfZhtinINmK2YPYqtioPC9iPiDYp9mE2YbYtSDYp9mE
2LnYsdio2Yo8L2Rpdj4nLCBzZWxlY3RTZWNvbmRBbmRUaGlyZFdvcmRzLCAnTGVmdFRvUmlnaHQn
LCAnPGRpdiBkaXI9InJ0bCI+PGI+2YfZhtinPHNwYW4gc3R5bGU9InVuaWNvZGUtYmlkaTogZW1i
ZWQ7IGRpcmVjdGlvbjogbHRyOyI+INmK2YPYqtioPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0idW5p
Y29kZS1iaWRpOiBlbWJlZDsgZGlyZWN0aW9uOiBsdHI7Ij4g2KfZhNmG2LU8L3NwYW4+INin2YTY
udix2KjZijwvZGl2PicpOworbW9kaWZ5V3JpdGluZ0RpcmVjdGlvbignPGRpdiBkaXI9InJ0bCI+
PGI+2YfZhtinINmK2YPYqtioPC9iPiDYp9mE2YbYtSDYp9mE2LnYsdio2Yo8L2Rpdj4nLCBzZWxl
Y3RTZWNvbmRBbmRUaGlyZFdvcmRzLCAnUmlnaHRUb0xlZnQnLCAnPGRpdiBkaXI9InJ0bCI+PGI+
2YfZhtinPHNwYW4gc3R5bGU9InVuaWNvZGUtYmlkaTogZW1iZWQ7Ij4g2YrZg9iq2Kg8L3NwYW4+
PC9iPjxzcGFuIHN0eWxlPSJ1bmljb2RlLWJpZGk6IGVtYmVkOyI+INin2YTZhti1PC9zcGFuPiDY
p9mE2LnYsdio2Yo8L2Rpdj4nKTsKK21vZGlmeVdyaXRpbmdEaXJlY3Rpb24oJzxkaXYgZGlyPSJy
dGwiPtmH2YbYpyA8c3BhbiBkaXI9Imx0ciI+2YrZg9iq2Kgg2KfZhNmG2LUg2KfZhNi52LHYqNmK
PC9zcGFuPjwvZGl2PicsIHNlbGVjdFRoaXJkV29yZCwgJ05hdHVyYWwnLAorICAgICAgICAgICAg
ICAgICAgICAgICAnPGRpdiBkaXI9InJ0bCI+2YfZhtinIDxzcGFuIGRpcj0ibHRyIj7ZitmD2KrY
qDwvc3Bhbj4g2KfZhNmG2LU8c3BhbiBkaXI9Imx0ciI+INin2YTYudix2KjZijwvc3Bhbj48L2Rp
dj4nKTsKK21vZGlmeVdyaXRpbmdEaXJlY3Rpb24oJzxkaXYgZGlyPSJydGwiPtmH2YbYpyA8c3Bh
biBkaXI9Imx0ciI+2YrZg9iq2Kgg2KfZhNmG2LUg2KfZhNi52LHYqNmKPC9zcGFuPjwvZGl2Pics
IHNlbGVjdFRoaXJkV29yZCwgJ0xlZnRUb1JpZ2h0JywKKyAgICAgICAgICAgICAgICAgICAgICAg
JzxkaXYgZGlyPSJydGwiPjxzcGFuIHN0eWxlPSJkaXJlY3Rpb246IGx0cjsiPtmH2YbYpyA8L3Nw
YW4+PHNwYW4gZGlyPSJsdHIiPtmK2YPYqtioINin2YTZhti1INin2YTYudix2KjZijwvc3Bhbj48
L2Rpdj4nKTsKK21vZGlmeVdyaXRpbmdEaXJlY3Rpb24oJzxkaXYgZGlyPSJydGwiPtmH2YbYpyA8
c3BhbiBkaXI9Imx0ciI+2YrZg9iq2Kgg2KfZhNmG2LUg2KfZhNi52LHYqNmKPC9zcGFuPjwvZGl2
PicsIHNlbGVjdFRoaXJkV29yZCwgJ1JpZ2h0VG9MZWZ0JywKKyAgICAgICAgICAgICAgICAgICAg
ICAgJzxkaXYgZGlyPSJydGwiPtmH2YbYpyA8c3BhbiBkaXI9Imx0ciI+2YrZg9iq2Kg8L3NwYW4+
PHNwYW4gc3R5bGU9InVuaWNvZGUtYmlkaTogZW1iZWQ7Ij4g2KfZhNmG2LU8L3NwYW4+PHNwYW4g
ZGlyPSJsdHIiPiDYp9mE2LnYsdio2Yo8L3NwYW4+PC9kaXY+Jyk7CisKK2RvY3VtZW50LmJvZHku
cmVtb3ZlQ2hpbGQodGVzdENvbnRhaW5lcik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0
cnVlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>65151</attachid>
            <date>2010-08-23 12:35:35 -0700</date>
            <delta_ts>2010-08-23 12:46:53 -0700</delta_ts>
            <desc>added back Chinese chracters</desc>
            <filename>bug-43989-20100823123533.patch</filename>
            <type>text/plain</type>
            <size>15716</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDY1Nzk5KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMDgtMTkgIFJ5b3N1a2UgTml3YSAgPHJu
aXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGhlcmUgaXMgbm8gdGVzdCBmb3IgdW5pY29kZS1iaWRpIC8gZGlyZWN0aW9uIHN1
cHBvcnQgaW4gQXBwbHlTdHlsZUNvbW1hbmQ6OmFwcGx5SW5saW5lU3R5bGUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzOTg5CisKKyAgICAgICAgQWRk
ZWQgYSB0ZXN0IGZvciBNYWtlVGV4dFdyaXRpbmdEaXJlY3Rpb25OYXR1cmFsLCBNYWtlVGV4dFdy
aXRpbmdEaXJlY3Rpb25MZWZ0VG9SaWdodCwKKyAgICAgICAgYW5kIE1ha2VUZXh0V3JpdGluZ0Rp
cmVjdGlvblJpZ2h0VG9MZWZ0IGNvbW1hbmRzLgorCisgICAgICAgICogZWRpdGluZy9zdHlsZS9t
YWtlLXRleHQtd3JpdGluZy1kaXJlY3Rpb24taW5saW5lLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvc3R5bGUvc2NyaXB0LXRlc3RzL21ha2UtdGV4dC13cml0aW5nLWRpcmVjdGlvbi1p
bmxpbmUuanM6IEFkZGVkLgorICAgICAgICAobW9kaWZ5V3JpdGluZ0RpcmVjdGlvbik6CisgICAg
ICAgIChzZWxlY3RGaXJzdFdvcmQpOgorICAgICAgICAoc2VsZWN0U2Vjb25kQW5kVGhpcmRXb3Jk
cyk6CisKIDIwMTAtMDgtMjMgIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNreS4KSW5kZXg6IExheW91
dFRlc3RzL2VkaXRpbmcvc3R5bGUvbWFrZS10ZXh0LXdyaXRpbmctZGlyZWN0aW9uLWlubGluZS1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9zdHlsZS9tYWtl
LXRleHQtd3JpdGluZy1kaXJlY3Rpb24taW5saW5lLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL2VkaXRpbmcvc3R5bGUvbWFrZS10ZXh0LXdyaXRpbmctZGlyZWN0aW9u
LWlubGluZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzkgQEAKK1Rlc3Rz
IHRvIGVuc3VyZSBNYWtlVGV4dFdyaXRpbmdEaXJlY3Rpb24qIG1vZGlmaWVzIHRoZSBkaXJlY3Rp
b24gb2YgdGV4dCBhbmQgZW1iZWQgdGV4dHMgcHJvcGVybHkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCitQQVNTIE5hdHVyYWwgb24gZmlyc3Qgd29yZCBvZiAiaGVsbG8gd29ybGQi
CitQQVNTIExlZnRUb1JpZ2h0IG9uIGZpcnN0IHdvcmQgb2YgImhlbGxvIHdvcmxkIgorUEFTUyBS
aWdodFRvTGVmdCBvbiBmaXJzdCB3b3JkIG9mICJoZWxsbyB3b3JsZCIKK1BBU1MgTmF0dXJhbCBv
biBzZWNvbmQgYW5kIHRoaXJkIHdvcmRzIG9mICI8Yj5oZWxsbyB3b3JsZDwvYj4gd2Via2l0Igor
UEFTUyBMZWZ0VG9SaWdodCBvbiBzZWNvbmQgYW5kIHRoaXJkIHdvcmRzIG9mICI8Yj5oZWxsbyB3
b3JsZDwvYj4gd2Via2l0IgorUEFTUyBSaWdodFRvTGVmdCBvbiBzZWNvbmQgYW5kIHRoaXJkIHdv
cmRzIG9mICI8Yj5oZWxsbyB3b3JsZDwvYj4gd2Via2l0IgorRkFJTCAoZHVlIHRvIHRoZSBidWcg
NDQzNTkpIE5hdHVyYWwgb24gdGhpcmQgd29yZCBvZiAiPHNwYW4gZGlyPSJydGwiPmhlbGxvIDxz
cGFuIGRpcj0ibHRyIj53b3JsZCB3ZWJraXQgcm9ja3M8L3NwYW4+PC9zcGFuPiIgeWllbGRlZCA8
c3BhbiBkaXI9InJ0bCI+aGVsbG8gPHNwYW4gZGlyPSJsdHIiPndvcmxkPC9zcGFuPjwvc3Bhbj48
c3Bhbj48c3Bhbj4gd2Via2l0PC9zcGFuPjwvc3Bhbj48c3BhbiBkaXI9InJ0bCI+PHNwYW4gZGly
PSJsdHIiPiByb2Nrczwvc3Bhbj48L3NwYW4+IGJ1dCBleHBlY3RlZCA8c3BhbiBkaXI9InJ0bCI+
aGVsbG8gPHNwYW4gZGlyPSJsdHIiPndvcmxkPC9zcGFuPjwvc3Bhbj4gd2Via2l0PHNwYW4gZGly
PSJydGwiPjxzcGFuIGRpcj0ibHRyIj4gcm9ja3M8L3NwYW4+PC9zcGFuPgorRkFJTCAoZHVlIHRv
IHRoZSBidWcgNDQzNTkpIExlZnRUb1JpZ2h0IG9uIHRoaXJkIHdvcmQgb2YgIjxzcGFuIGRpcj0i
cnRsIj5oZWxsbyA8c3BhbiBkaXI9Imx0ciI+d29ybGQgd2Via2l0IHJvY2tzPC9zcGFuPjwvc3Bh
bj4iIHlpZWxkZWQgPHNwYW4gZGlyPSJydGwiPmhlbGxvIDxzcGFuIGRpcj0ibHRyIj53b3JsZDwv
c3Bhbj48L3NwYW4+PHNwYW4+PHNwYW4+PHNwYW4gc3R5bGU9InVuaWNvZGUtYmlkaTogZW1iZWQ7
Ij4gd2Via2l0PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gZGlyPSJydGwiPjxzcGFuIGRpcj0i
bHRyIj4gcm9ja3M8L3NwYW4+PC9zcGFuPiBidXQgZXhwZWN0ZWQgPHNwYW4gZGlyPSJydGwiPmhl
bGxvIDxzcGFuIGRpcj0ibHRyIj53b3JsZDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9InVuaWNv
ZGUtYmlkaTogZW1iZWQ7Ij4gd2Via2l0PC9zcGFuPjxzcGFuIGRpcj0icnRsIj48c3BhbiBkaXI9
Imx0ciI+IHJvY2tzPC9zcGFuPjwvc3Bhbj4KK0ZBSUwgKGR1ZSB0byB0aGUgYnVnIDQ0MzU5KSBS
aWdodFRvTGVmdCBvbiB0aGlyZCB3b3JkIG9mICI8c3BhbiBkaXI9InJ0bCI+aGVsbG8gPHNwYW4g
ZGlyPSJsdHIiPndvcmxkIHdlYmtpdCByb2Nrczwvc3Bhbj48L3NwYW4+IiB5aWVsZGVkIDxzcGFu
IGRpcj0icnRsIj5oZWxsbyA8c3BhbiBkaXI9Imx0ciI+d29ybGQ8L3NwYW4+PHNwYW4+IHdlYmtp
dDwvc3Bhbj48c3BhbiBkaXI9Imx0ciI+IHJvY2tzPC9zcGFuPjwvc3Bhbj4gYnV0IGV4cGVjdGVk
IDxzcGFuIGRpcj0icnRsIj5oZWxsbyA8c3BhbiBkaXI9Imx0ciI+d29ybGQ8L3NwYW4+IHdlYmtp
dDxzcGFuIGRpcj0ibHRyIj4gcm9ja3M8L3NwYW4+PC9zcGFuPgorUEFTUyBOYXR1cmFsIG9uIGZp
cnN0IHdvcmQgb2YgItmH2YbYpyDZitmD2KrYqCDYp9mE2YbYtSDYp9mE2LnYsdio2YoiCitQQVNT
IExlZnRUb1JpZ2h0IG9uIGZpcnN0IHdvcmQgb2YgItmH2YbYpyDZitmD2KrYqCDYp9mE2YbYtSDY
p9mE2LnYsdio2YoiCitQQVNTIFJpZ2h0VG9MZWZ0IG9uIGZpcnN0IHdvcmQgb2YgItmH2YbYpyDZ
itmD2KrYqCDYp9mE2YbYtSDYp9mE2LnYsdio2YoiCitQQVNTIE5hdHVyYWwgb24gc2Vjb25kIGFu
ZCB0aGlyZCB3b3JkcyBvZiAiPGI+2YfZhtinINmK2YPYqtioPC9iPiDYp9mE2YbYtSDYp9mE2LnY
sdio2YoiCitQQVNTIExlZnRUb1JpZ2h0IG9uIHNlY29uZCBhbmQgdGhpcmQgd29yZHMgb2YgIjxi
PtmH2YbYpyDZitmD2KrYqDwvYj4g2KfZhNmG2LUg2KfZhNi52LHYqNmKIgorUEFTUyBSaWdodFRv
TGVmdCBvbiBzZWNvbmQgYW5kIHRoaXJkIHdvcmRzIG9mICI8Yj7Zh9mG2Kcg2YrZg9iq2Kg8L2I+
INin2YTZhti1INin2YTYudix2KjZiiIKK1BBU1MgTmF0dXJhbCBvbiBmaXJzdCB3b3JkIG9mICI8
ZGl2IGRpcj0icnRsIj7Zh9mG2Kcg2YrZg9iq2Kgg2KfZhNmG2LUg2KfZhNi52LHYqNmKPC9kaXY+
IgorUEFTUyBMZWZ0VG9SaWdodCBvbiBmaXJzdCB3b3JkIG9mICI8ZGl2IGRpcj0icnRsIj7Zh9mG
2Kcg2YrZg9iq2Kgg2KfZhNmG2LUg2KfZhNi52LHYqNmKPC9kaXY+IgorUEFTUyBSaWdodFRvTGVm
dCBvbiBmaXJzdCB3b3JkIG9mICI8ZGl2IGRpcj0icnRsIj7Zh9mG2Kcg2YrZg9iq2Kgg2KfZhNmG
2LUg2KfZhNi52LHYqNmKPC9kaXY+IgorUEFTUyBOYXR1cmFsIG9uIHNlY29uZCBhbmQgdGhpcmQg
d29yZHMgb2YgIjxkaXYgZGlyPSJydGwiPjxiPtmH2YbYpyDZitmD2KrYqDwvYj4g2KfZhNmG2LUg
2KfZhNi52LHYqNmKPC9kaXY+IgorUEFTUyBMZWZ0VG9SaWdodCBvbiBzZWNvbmQgYW5kIHRoaXJk
IHdvcmRzIG9mICI8ZGl2IGRpcj0icnRsIj48Yj7Zh9mG2Kcg2YrZg9iq2Kg8L2I+INin2YTZhti1
INin2YTYudix2KjZijwvZGl2PiIKK1BBU1MgUmlnaHRUb0xlZnQgb24gc2Vjb25kIGFuZCB0aGly
ZCB3b3JkcyBvZiAiPGRpdiBkaXI9InJ0bCI+PGI+2YfZhtinINmK2YPYqtioPC9iPiDYp9mE2YbY
tSDYp9mE2LnYsdio2Yo8L2Rpdj4iCitGQUlMIChkdWUgdG8gdGhlIGJ1ZyA0NDM1OSkgTmF0dXJh
bCBvbiB0aGlyZCB3b3JkIG9mICI8ZGl2IGRpcj0icnRsIj7Zh9mG2KcgPHNwYW4gZGlyPSJsdHIi
PtmK2YPYqtioINin2YTZhti1INin2YTYudix2KjZijwvc3Bhbj48L2Rpdj4iIHlpZWxkZWQgPGRp
diBkaXI9InJ0bCI+2YfZhtinIDxzcGFuIGRpcj0ibHRyIj7ZitmD2KrYqDwvc3Bhbj48c3Bhbj4g
2KfZhNmG2LU8L3NwYW4+PHNwYW4gZGlyPSJsdHIiPiDYp9mE2LnYsdio2Yo8L3NwYW4+PC9kaXY+
IGJ1dCBleHBlY3RlZCA8ZGl2IGRpcj0icnRsIj7Zh9mG2KcgPHNwYW4gZGlyPSJsdHIiPtmK2YPY
qtioPC9zcGFuPiDYp9mE2YbYtTxzcGFuIGRpcj0ibHRyIj4g2KfZhNi52LHYqNmKPC9zcGFuPjwv
ZGl2PgorUEFTUyBMZWZ0VG9SaWdodCBvbiB0aGlyZCB3b3JkIG9mICI8ZGl2IGRpcj0icnRsIj7Z
h9mG2KcgPHNwYW4gZGlyPSJsdHIiPtmK2YPYqtioINin2YTZhti1INin2YTYudix2KjZijwvc3Bh
bj48L2Rpdj4iCitGQUlMIChkdWUgdG8gdGhlIGJ1ZyA0NDM1OSkgUmlnaHRUb0xlZnQgb24gdGhp
cmQgd29yZCBvZiAiPGRpdiBkaXI9InJ0bCI+2YfZhtinIDxzcGFuIGRpcj0ibHRyIj7ZitmD2KrY
qCDYp9mE2YbYtSDYp9mE2LnYsdio2Yo8L3NwYW4+PC9kaXY+IiB5aWVsZGVkIDxkaXYgZGlyPSJy
dGwiPtmH2YbYpyA8c3BhbiBkaXI9Imx0ciI+2YrZg9iq2Kg8L3NwYW4+PHNwYW4+PHNwYW4gc3R5
bGU9InVuaWNvZGUtYmlkaTogZW1iZWQ7Ij4g2KfZhNmG2LU8L3NwYW4+PC9zcGFuPjxzcGFuIGRp
cj0ibHRyIj4g2KfZhNi52LHYqNmKPC9zcGFuPjwvZGl2PiBidXQgZXhwZWN0ZWQgPGRpdiBkaXI9
InJ0bCI+2YfZhtinIDxzcGFuIGRpcj0ibHRyIj7ZitmD2KrYqDwvc3Bhbj48c3BhbiBzdHlsZT0i
dW5pY29kZS1iaWRpOiBlbWJlZDsiPiDYp9mE2YbYtTwvc3Bhbj48c3BhbiBkaXI9Imx0ciI+INin
2YTYudix2KjZijwvc3Bhbj48L2Rpdj4KK1BBU1MgTmF0dXJhbCBvbiBmaXJzdCB3b3JkIG9mICLl
hpnkuK3mlociCitQQVNTIExlZnRUb1JpZ2h0IG9uIGZpcnN0IHdvcmQgb2YgIuWGmeS4reaWhyIK
K1BBU1MgUmlnaHRUb0xlZnQgb24gZmlyc3Qgd29yZCBvZiAi5YaZ5Lit5paHIgorUEFTUyBOYXR1
cmFsIG9uIGZpcnN0IHdvcmQgb2YgIjxkaXYgZGlyPSJydGwiPuWGmeS4reaWhzwvZGl2PiIKK1BB
U1MgTGVmdFRvUmlnaHQgb24gZmlyc3Qgd29yZCBvZiAiPGRpdiBkaXI9InJ0bCI+5YaZ5Lit5paH
PC9kaXY+IgorUEFTUyBSaWdodFRvTGVmdCBvbiBmaXJzdCB3b3JkIG9mICI8ZGl2IGRpcj0icnRs
Ij7lhpnkuK3mloc8L2Rpdj4iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy9zdHlsZS9tYWtlLXRleHQt
d3JpdGluZy1kaXJlY3Rpb24taW5saW5lLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZWRpdGluZy9zdHlsZS9tYWtlLXRleHQtd3JpdGluZy1kaXJlY3Rpb24taW5saW5lLmh0bWwJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL3N0eWxlL21ha2UtdGV4dC13cml0aW5n
LWRpcmVjdGlvbi1pbmxpbmUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNCBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBj
aGFyc2V0PXV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQgc3JjPSJzY3JpcHQtdGVzdHMvbWFrZS10ZXh0LXdyaXRpbmctZGlyZWN0aW9uLWlubGluZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3Rz
L2VkaXRpbmcvc3R5bGUvc2NyaXB0LXRlc3RzL21ha2UtdGV4dC13cml0aW5nLWRpcmVjdGlvbi1p
bmxpbmUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9zdHlsZS9zY3JpcHQt
dGVzdHMvbWFrZS10ZXh0LXdyaXRpbmctZGlyZWN0aW9uLWlubGluZS5qcwkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL2VkaXRpbmcvc3R5bGUvc2NyaXB0LXRlc3RzL21ha2UtdGV4dC13cml0
aW5nLWRpcmVjdGlvbi1pbmxpbmUuanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTE1IEBACitk
ZXNjcmlwdGlvbignVGVzdHMgdG8gZW5zdXJlIE1ha2VUZXh0V3JpdGluZ0RpcmVjdGlvbiogbW9k
aWZpZXMgdGhlIGRpcmVjdGlvbiBvZiB0ZXh0IGFuZCBlbWJlZCB0ZXh0cyBwcm9wZXJseS4nKTsK
KworaWYgKCF3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgdGVzdEZhaWxlZCgnVGhp
cyB0ZXN0IHJlcXVpcmVzIGxheW91dFRlc3RDb250cm9sbGVyJyk7CisKK3ZhciB0ZXN0Q29udGFp
bmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Cit0ZXN0Q29udGFpbmVyLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRlc3RDb250YWlu
ZXIpOworCitmdW5jdGlvbiByZWN1cnNpdmVseVJlbW92ZUV4dHJhZW5vdXNTcGFuKG5vZGUpIHsK
KyAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5vZGUuY2hpbGROb2Rlcy5sZW5ndGg7IGkrKykKKyAg
ICAgICAgcmVjdXJzaXZlbHlSZW1vdmVFeHRyYWVub3VzU3Bhbihub2RlLmNoaWxkTm9kZXNbaV0p
OworICAgIGlmIChub2RlLmxvY2FsTmFtZSA9PSAnc3BhbicgJiYgbm9kZS5hdHRyaWJ1dGVzLmxl
bmd0aCA9PSAwKSB7CisgICAgICAgIHZhciBjaGlsZE5vZGVzID0gbm9kZS5jaGlsZE5vZGVzOwor
ICAgICAgICB3aGlsZSAobm9kZS5maXJzdENoaWxkKQorICAgICAgICAgICAgbm9kZS5wYXJlbnRO
b2RlLmluc2VydEJlZm9yZShub2RlLmZpcnN0Q2hpbGQsIG5vZGUpOworICAgICAgICBub2RlLnBh
cmVudE5vZGUucmVtb3ZlQ2hpbGQobm9kZSk7CisgICAgfQorfQorCitmdW5jdGlvbiBtb2RpZnlX
cml0aW5nRGlyZWN0aW9uKGNvbnRlbnQsIHNlbGVjdG9yLCBjb21tYW5kLCBleHBlY3RlZCkKK3sK
KyAgICBpZiAoIXdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgdGVzdENvbnRhaW5lci5pbm5lckhUTUwgPSBjb250ZW50OworICAgIHZhciBzZWxlY3Rl
ZCA9IHNlbGVjdG9yKHRlc3RDb250YWluZXIpOworICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlci5leGVjQ29tbWFuZCgnTWFrZVRleHRXcml0aW5nRGlyZWN0aW9uJyArIGNvbW1hbmQpOwor
CisgICAgLy8gUmVtb3ZlIEFwcGxlLXN0eWxlLXNwYW4gYmVjYXVzZSBpdCBkb2VzIG5vdCBuZWVk
IHRvIGJlIHRlc3RlZCBoZXJlLgorICAgIHZhciBhY3R1YWwgPSB0ZXN0Q29udGFpbmVyLmlubmVy
SFRNTC5yZXBsYWNlKC8gY2xhc3M9IkFwcGxlLXN0eWxlLXNwYW4iL2csICcnKTsKKyAgICB2YXIg
YWN0aW9uID0gY29tbWFuZCArICcgb24gJyArIHNlbGVjdGVkICsgJyBvZiAiJyArIGNvbnRlbnQg
KyAnIic7CisgICAgaWYgKGFjdHVhbCA9PSBleHBlY3RlZCkKKyAgICAgICAgdGVzdFBhc3NlZChh
Y3Rpb24pOworICAgIGVsc2UgeworICAgICAgICBlcnJvciA9ICcgeWllbGRlZCAnICsgYWN0dWFs
ICsgJyBidXQgZXhwZWN0ZWQgJyArIGV4cGVjdGVkOworICAgICAgICByZWN1cnNpdmVseVJlbW92
ZUV4dHJhZW5vdXNTcGFuKHRlc3RDb250YWluZXIpOworICAgICAgICBpZiAodGVzdENvbnRhaW5l
ci5pbm5lckhUTUwucmVwbGFjZSgvIGNsYXNzPSJBcHBsZS1zdHlsZS1zcGFuIi9nLCAnJykgPT0g
ZXhwZWN0ZWQpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCcoZHVlIHRvIHRoZSBidWcgNDQzNTkp
ICcgKyBhY3Rpb24gKyBlcnJvcik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRlc3RGYWls
ZWQoYWN0aW9uICsgZXJyb3IpOworICAgIH0KK30KKworZnVuY3Rpb24gc2VsZWN0Rmlyc3RXb3Jk
KGNvbnRhaW5lcikgeworICAgIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRl
bnQoY29udGFpbmVyLCAwLCBjb250YWluZXIsIDApOworICAgIGRvY3VtZW50LmdldFNlbGVjdGlv
bigpLm1vZGlmeSgnZXh0ZW5kJywgJ2ZvcndhcmQnLCAnd29yZCcpOworICAgIHJldHVybiAnZmly
c3Qgd29yZCc7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdFNlY29uZEFuZFRoaXJkV29yZHMoY29udGFp
bmVyKSB7CisgICAgZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkuc2V0QmFzZUFuZEV4dGVudChjb250
YWluZXIsIDAsIGNvbnRhaW5lciwgMCk7CisgICAgZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkubW9k
aWZ5KCdtb3ZlJywgJ2ZvcndhcmQnLCAnd29yZCcpOworICAgIGRvY3VtZW50LmdldFNlbGVjdGlv
bigpLm1vZGlmeSgnZXh0ZW5kJywgJ2ZvcndhcmQnLCAnd29yZCcpOworICAgIGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpLm1vZGlmeSgnZXh0ZW5kJywgJ2ZvcndhcmQnLCAnd29yZCcpOworICAgIHJl
dHVybiAnc2Vjb25kIGFuZCB0aGlyZCB3b3Jkcyc7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdFRoaXJk
V29yZChjb250YWluZXIpIHsKKyAgICBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5k
RXh0ZW50KGNvbnRhaW5lciwgMCwgY29udGFpbmVyLCAwKTsKKyAgICBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAnZm9yd2FyZCcsICd3b3JkJyk7CisgICAgZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCkubW9kaWZ5KCdtb3ZlJywgJ2ZvcndhcmQnLCAnd29yZCcpOworICAgIGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpLm1vZGlmeSgnZXh0ZW5kJywgJ2ZvcndhcmQnLCAnd29yZCcp
OworICAgIHJldHVybiAndGhpcmQgd29yZCc7Cit9CisKKy8vIGxlZnQgdG8gcmlnaHQgbGFuZ3Vh
Z2UKK21vZGlmeVdyaXRpbmdEaXJlY3Rpb24oJ2hlbGxvIHdvcmxkJywgc2VsZWN0Rmlyc3RXb3Jk
LCAnTmF0dXJhbCcsICdoZWxsbyB3b3JsZCcpOworbW9kaWZ5V3JpdGluZ0RpcmVjdGlvbignaGVs
bG8gd29ybGQnLCBzZWxlY3RGaXJzdFdvcmQsICdMZWZ0VG9SaWdodCcsICc8c3BhbiBzdHlsZT0i
dW5pY29kZS1iaWRpOiBlbWJlZDsiPmhlbGxvPC9zcGFuPiB3b3JsZCcpOworbW9kaWZ5V3JpdGlu
Z0RpcmVjdGlvbignaGVsbG8gd29ybGQnLCBzZWxlY3RGaXJzdFdvcmQsICdSaWdodFRvTGVmdCcs
ICc8c3BhbiBzdHlsZT0idW5pY29kZS1iaWRpOiBlbWJlZDsgZGlyZWN0aW9uOiBydGw7Ij5oZWxs
bzwvc3Bhbj4gd29ybGQnKTsKK21vZGlmeVdyaXRpbmdEaXJlY3Rpb24oJzxiPmhlbGxvIHdvcmxk
PC9iPiB3ZWJraXQnLCBzZWxlY3RTZWNvbmRBbmRUaGlyZFdvcmRzLCAnTmF0dXJhbCcsICc8Yj5o
ZWxsbyB3b3JsZDwvYj4gd2Via2l0Jyk7Cittb2RpZnlXcml0aW5nRGlyZWN0aW9uKCc8Yj5oZWxs
byB3b3JsZDwvYj4gd2Via2l0Jywgc2VsZWN0U2Vjb25kQW5kVGhpcmRXb3JkcywgJ0xlZnRUb1Jp
Z2h0JywgJzxiPmhlbGxvPHNwYW4gc3R5bGU9InVuaWNvZGUtYmlkaTogZW1iZWQ7Ij4gd29ybGQ8
L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJ1bmljb2RlLWJpZGk6IGVtYmVkOyI+IHdlYmtpdDwvc3Bh
bj4nKTsKK21vZGlmeVdyaXRpbmdEaXJlY3Rpb24oJzxiPmhlbGxvIHdvcmxkPC9iPiB3ZWJraXQn
LCBzZWxlY3RTZWNvbmRBbmRUaGlyZFdvcmRzLCAnUmlnaHRUb0xlZnQnLCAnPGI+aGVsbG88c3Bh
biBzdHlsZT0idW5pY29kZS1iaWRpOiBlbWJlZDsgZGlyZWN0aW9uOiBydGw7Ij4gd29ybGQ8L3Nw
YW4+PC9iPjxzcGFuIHN0eWxlPSJ1bmljb2RlLWJpZGk6IGVtYmVkOyBkaXJlY3Rpb246IHJ0bDsi
PiB3ZWJraXQ8L3NwYW4+Jyk7Cittb2RpZnlXcml0aW5nRGlyZWN0aW9uKCc8c3BhbiBkaXI9InJ0
bCI+aGVsbG8gPHNwYW4gZGlyPSJsdHIiPndvcmxkIHdlYmtpdCByb2Nrczwvc3Bhbj48L3NwYW4+
Jywgc2VsZWN0VGhpcmRXb3JkLCAnTmF0dXJhbCcsCisgICAgICAgICAgICAgICAgICAgICAgICc8
c3BhbiBkaXI9InJ0bCI+aGVsbG8gPHNwYW4gZGlyPSJsdHIiPndvcmxkPC9zcGFuPjwvc3Bhbj4g
d2Via2l0PHNwYW4gZGlyPSJydGwiPjxzcGFuIGRpcj0ibHRyIj4gcm9ja3M8L3NwYW4+PC9zcGFu
PicpOworbW9kaWZ5V3JpdGluZ0RpcmVjdGlvbignPHNwYW4gZGlyPSJydGwiPmhlbGxvIDxzcGFu
IGRpcj0ibHRyIj53b3JsZCB3ZWJraXQgcm9ja3M8L3NwYW4+PC9zcGFuPicsIHNlbGVjdFRoaXJk
V29yZCwgJ0xlZnRUb1JpZ2h0JywKKyAgICAgICAgICAgICAgICAgICAgICAgJzxzcGFuIGRpcj0i
cnRsIj5oZWxsbyA8c3BhbiBkaXI9Imx0ciI+d29ybGQ8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxl
PSJ1bmljb2RlLWJpZGk6IGVtYmVkOyI+IHdlYmtpdDwvc3Bhbj48c3BhbiBkaXI9InJ0bCI+PHNw
YW4gZGlyPSJsdHIiPiByb2Nrczwvc3Bhbj48L3NwYW4+Jyk7Cittb2RpZnlXcml0aW5nRGlyZWN0
aW9uKCc8c3BhbiBkaXI9InJ0bCI+aGVsbG8gPHNwYW4gZGlyPSJsdHIiPndvcmxkIHdlYmtpdCBy
b2Nrczwvc3Bhbj48L3NwYW4+Jywgc2VsZWN0VGhpcmRXb3JkLCAnUmlnaHRUb0xlZnQnLAorICAg
ICAgICAgICAgICAgICAgICAgICAnPHNwYW4gZGlyPSJydGwiPmhlbGxvIDxzcGFuIGRpcj0ibHRy
Ij53b3JsZDwvc3Bhbj4gd2Via2l0PHNwYW4gZGlyPSJsdHIiPiByb2Nrczwvc3Bhbj48L3NwYW4+
Jyk7CisKKy8vIHJpZ2h0IHRvIGxlZnQgbGFuZ3VhZ2UKK21vZGlmeVdyaXRpbmdEaXJlY3Rpb24o
J9mH2YbYpyDZitmD2KrYqCDYp9mE2YbYtSDYp9mE2LnYsdio2YonLCBzZWxlY3RGaXJzdFdvcmQs
ICdOYXR1cmFsJywgJ9mH2YbYpyDZitmD2KrYqCDYp9mE2YbYtSDYp9mE2LnYsdio2YonKTsKK21v
ZGlmeVdyaXRpbmdEaXJlY3Rpb24oJ9mH2YbYpyDZitmD2KrYqCDYp9mE2YbYtSDYp9mE2LnYsdio
2YonLCBzZWxlY3RGaXJzdFdvcmQsICdMZWZ0VG9SaWdodCcsICc8c3BhbiBzdHlsZT0idW5pY29k
ZS1iaWRpOiBlbWJlZDsiPtmH2YbYpzwvc3Bhbj4g2YrZg9iq2Kgg2KfZhNmG2LUg2KfZhNi52LHY
qNmKJyk7Cittb2RpZnlXcml0aW5nRGlyZWN0aW9uKCfZh9mG2Kcg2YrZg9iq2Kgg2KfZhNmG2LUg
2KfZhNi52LHYqNmKJywgc2VsZWN0Rmlyc3RXb3JkLCAnUmlnaHRUb0xlZnQnLCAnPHNwYW4gc3R5
bGU9InVuaWNvZGUtYmlkaTogZW1iZWQ7IGRpcmVjdGlvbjogcnRsOyI+2YfZhtinPC9zcGFuPiDZ
itmD2KrYqCDYp9mE2YbYtSDYp9mE2LnYsdio2YonKTsKKworbW9kaWZ5V3JpdGluZ0RpcmVjdGlv
bignPGI+2YfZhtinINmK2YPYqtioPC9iPiDYp9mE2YbYtSDYp9mE2LnYsdio2YonLCBzZWxlY3RT
ZWNvbmRBbmRUaGlyZFdvcmRzLCAnTmF0dXJhbCcsICc8Yj7Zh9mG2Kcg2YrZg9iq2Kg8L2I+INin
2YTZhti1INin2YTYudix2KjZiicpOworbW9kaWZ5V3JpdGluZ0RpcmVjdGlvbignPGI+2YfZhtin
INmK2YPYqtioPC9iPiDYp9mE2YbYtSDYp9mE2LnYsdio2YonLCBzZWxlY3RTZWNvbmRBbmRUaGly
ZFdvcmRzLCAnTGVmdFRvUmlnaHQnLCAnPGI+2YfZhtinPHNwYW4gc3R5bGU9InVuaWNvZGUtYmlk
aTogZW1iZWQ7Ij4g2YrZg9iq2Kg8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJ1bmljb2RlLWJpZGk6
IGVtYmVkOyI+INin2YTZhti1PC9zcGFuPiDYp9mE2LnYsdio2YonKTsKK21vZGlmeVdyaXRpbmdE
aXJlY3Rpb24oJzxiPtmH2YbYpyDZitmD2KrYqDwvYj4g2KfZhNmG2LUg2KfZhNi52LHYqNmKJywg
c2VsZWN0U2Vjb25kQW5kVGhpcmRXb3JkcywgJ1JpZ2h0VG9MZWZ0JywgJzxiPtmH2YbYpzxzcGFu
IHN0eWxlPSJ1bmljb2RlLWJpZGk6IGVtYmVkOyBkaXJlY3Rpb246IHJ0bDsiPiDZitmD2KrYqDwv
c3Bhbj48L2I+PHNwYW4gc3R5bGU9InVuaWNvZGUtYmlkaTogZW1iZWQ7IGRpcmVjdGlvbjogcnRs
OyI+INin2YTZhti1PC9zcGFuPiDYp9mE2LnYsdio2YonKTsKKworbW9kaWZ5V3JpdGluZ0RpcmVj
dGlvbignPGRpdiBkaXI9InJ0bCI+2YfZhtinINmK2YPYqtioINin2YTZhti1INin2YTYudix2KjZ
ijwvZGl2PicsIHNlbGVjdEZpcnN0V29yZCwgJ05hdHVyYWwnLCAnPGRpdiBkaXI9InJ0bCI+2YfZ
htinINmK2YPYqtioINin2YTZhti1INin2YTYudix2KjZijwvZGl2PicpOworbW9kaWZ5V3JpdGlu
Z0RpcmVjdGlvbignPGRpdiBkaXI9InJ0bCI+2YfZhtinINmK2YPYqtioINin2YTZhti1INin2YTY
udix2KjZijwvZGl2PicsIHNlbGVjdEZpcnN0V29yZCwgJ0xlZnRUb1JpZ2h0JywgJzxkaXYgZGly
PSJydGwiPjxzcGFuIHN0eWxlPSJ1bmljb2RlLWJpZGk6IGVtYmVkOyBkaXJlY3Rpb246IGx0cjsi
PtmH2YbYpzwvc3Bhbj4g2YrZg9iq2Kgg2KfZhNmG2LUg2KfZhNi52LHYqNmKPC9kaXY+Jyk7Citt
b2RpZnlXcml0aW5nRGlyZWN0aW9uKCc8ZGl2IGRpcj0icnRsIj7Zh9mG2Kcg2YrZg9iq2Kgg2KfZ
hNmG2LUg2KfZhNi52LHYqNmKPC9kaXY+Jywgc2VsZWN0Rmlyc3RXb3JkLCAnUmlnaHRUb0xlZnQn
LCAnPGRpdiBkaXI9InJ0bCI+PHNwYW4gc3R5bGU9InVuaWNvZGUtYmlkaTogZW1iZWQ7Ij7Zh9mG
2Kc8L3NwYW4+INmK2YPYqtioINin2YTZhti1INin2YTYudix2KjZijwvZGl2PicpOworCittb2Rp
ZnlXcml0aW5nRGlyZWN0aW9uKCc8ZGl2IGRpcj0icnRsIj48Yj7Zh9mG2Kcg2YrZg9iq2Kg8L2I+
INin2YTZhti1INin2YTYudix2KjZijwvZGl2PicsIHNlbGVjdFNlY29uZEFuZFRoaXJkV29yZHMs
ICdOYXR1cmFsJywgJzxkaXYgZGlyPSJydGwiPjxiPtmH2YbYpyDZitmD2KrYqDwvYj4g2KfZhNmG
2LUg2KfZhNi52LHYqNmKPC9kaXY+Jyk7Cittb2RpZnlXcml0aW5nRGlyZWN0aW9uKCc8ZGl2IGRp
cj0icnRsIj48Yj7Zh9mG2Kcg2YrZg9iq2Kg8L2I+INin2YTZhti1INin2YTYudix2KjZijwvZGl2
PicsIHNlbGVjdFNlY29uZEFuZFRoaXJkV29yZHMsICdMZWZ0VG9SaWdodCcsICc8ZGl2IGRpcj0i
cnRsIj48Yj7Zh9mG2Kc8c3BhbiBzdHlsZT0idW5pY29kZS1iaWRpOiBlbWJlZDsgZGlyZWN0aW9u
OiBsdHI7Ij4g2YrZg9iq2Kg8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJ1bmljb2RlLWJpZGk6IGVt
YmVkOyBkaXJlY3Rpb246IGx0cjsiPiDYp9mE2YbYtTwvc3Bhbj4g2KfZhNi52LHYqNmKPC9kaXY+
Jyk7Cittb2RpZnlXcml0aW5nRGlyZWN0aW9uKCc8ZGl2IGRpcj0icnRsIj48Yj7Zh9mG2Kcg2YrZ
g9iq2Kg8L2I+INin2YTZhti1INin2YTYudix2KjZijwvZGl2PicsIHNlbGVjdFNlY29uZEFuZFRo
aXJkV29yZHMsICdSaWdodFRvTGVmdCcsICc8ZGl2IGRpcj0icnRsIj48Yj7Zh9mG2Kc8c3BhbiBz
dHlsZT0idW5pY29kZS1iaWRpOiBlbWJlZDsiPiDZitmD2KrYqDwvc3Bhbj48L2I+PHNwYW4gc3R5
bGU9InVuaWNvZGUtYmlkaTogZW1iZWQ7Ij4g2KfZhNmG2LU8L3NwYW4+INin2YTYudix2KjZijwv
ZGl2PicpOworbW9kaWZ5V3JpdGluZ0RpcmVjdGlvbignPGRpdiBkaXI9InJ0bCI+2YfZhtinIDxz
cGFuIGRpcj0ibHRyIj7ZitmD2KrYqCDYp9mE2YbYtSDYp9mE2LnYsdio2Yo8L3NwYW4+PC9kaXY+
Jywgc2VsZWN0VGhpcmRXb3JkLCAnTmF0dXJhbCcsCisgICAgICAgICAgICAgICAgICAgICAgICc8
ZGl2IGRpcj0icnRsIj7Zh9mG2KcgPHNwYW4gZGlyPSJsdHIiPtmK2YPYqtioPC9zcGFuPiDYp9mE
2YbYtTxzcGFuIGRpcj0ibHRyIj4g2KfZhNi52LHYqNmKPC9zcGFuPjwvZGl2PicpOworbW9kaWZ5
V3JpdGluZ0RpcmVjdGlvbignPGRpdiBkaXI9InJ0bCI+2YfZhtinIDxzcGFuIGRpcj0ibHRyIj7Z
itmD2KrYqCDYp9mE2YbYtSDYp9mE2LnYsdio2Yo8L3NwYW4+PC9kaXY+Jywgc2VsZWN0VGhpcmRX
b3JkLCAnTGVmdFRvUmlnaHQnLAorICAgICAgICAgICAgICAgICAgICAgICAnPGRpdiBkaXI9InJ0
bCI+PHNwYW4gc3R5bGU9ImRpcmVjdGlvbjogbHRyOyI+2YfZhtinIDwvc3Bhbj48c3BhbiBkaXI9
Imx0ciI+2YrZg9iq2Kgg2KfZhNmG2LUg2KfZhNi52LHYqNmKPC9zcGFuPjwvZGl2PicpOworbW9k
aWZ5V3JpdGluZ0RpcmVjdGlvbignPGRpdiBkaXI9InJ0bCI+2YfZhtinIDxzcGFuIGRpcj0ibHRy
Ij7ZitmD2KrYqCDYp9mE2YbYtSDYp9mE2LnYsdio2Yo8L3NwYW4+PC9kaXY+Jywgc2VsZWN0VGhp
cmRXb3JkLCAnUmlnaHRUb0xlZnQnLAorICAgICAgICAgICAgICAgICAgICAgICAnPGRpdiBkaXI9
InJ0bCI+2YfZhtinIDxzcGFuIGRpcj0ibHRyIj7ZitmD2KrYqDwvc3Bhbj48c3BhbiBzdHlsZT0i
dW5pY29kZS1iaWRpOiBlbWJlZDsiPiDYp9mE2YbYtTwvc3Bhbj48c3BhbiBkaXI9Imx0ciI+INin
2YTYudix2KjZijwvc3Bhbj48L2Rpdj4nKTsKKworLy8gYmlkaXJlY3Rpb25hbCBsYW5nYXVnZQor
bW9kaWZ5V3JpdGluZ0RpcmVjdGlvbign5YaZ5Lit5paHJywgc2VsZWN0Rmlyc3RXb3JkLCAnTmF0
dXJhbCcsICflhpnkuK3mlocnKTsKK21vZGlmeVdyaXRpbmdEaXJlY3Rpb24oJ+WGmeS4reaWhycs
IHNlbGVjdEZpcnN0V29yZCwgJ0xlZnRUb1JpZ2h0JywgJzxzcGFuIHN0eWxlPSJ1bmljb2RlLWJp
ZGk6IGVtYmVkOyI+5YaZPC9zcGFuPuS4reaWhycpOworbW9kaWZ5V3JpdGluZ0RpcmVjdGlvbign
5YaZ5Lit5paHJywgc2VsZWN0Rmlyc3RXb3JkLCAnUmlnaHRUb0xlZnQnLCAnPHNwYW4gc3R5bGU9
InVuaWNvZGUtYmlkaTogZW1iZWQ7IGRpcmVjdGlvbjogcnRsOyI+5YaZPC9zcGFuPuS4reaWhycp
OworCittb2RpZnlXcml0aW5nRGlyZWN0aW9uKCc8ZGl2IGRpcj0icnRsIj7lhpnkuK3mloc8L2Rp
dj4nLCBzZWxlY3RGaXJzdFdvcmQsICdOYXR1cmFsJywgJzxkaXYgZGlyPSJydGwiPuWGmeS4reaW
hzwvZGl2PicpOworbW9kaWZ5V3JpdGluZ0RpcmVjdGlvbignPGRpdiBkaXI9InJ0bCI+5YaZ5Lit
5paHPC9kaXY+Jywgc2VsZWN0Rmlyc3RXb3JkLCAnTGVmdFRvUmlnaHQnLCAnPGRpdiBkaXI9InJ0
bCI+PHNwYW4gc3R5bGU9InVuaWNvZGUtYmlkaTogZW1iZWQ7IGRpcmVjdGlvbjogbHRyOyI+5YaZ
PC9zcGFuPuS4reaWhzwvZGl2PicpOworbW9kaWZ5V3JpdGluZ0RpcmVjdGlvbignPGRpdiBkaXI9
InJ0bCI+5YaZ5Lit5paHPC9kaXY+Jywgc2VsZWN0Rmlyc3RXb3JkLCAnUmlnaHRUb0xlZnQnLCAn
PGRpdiBkaXI9InJ0bCI+PHNwYW4gc3R5bGU9InVuaWNvZGUtYmlkaTogZW1iZWQ7Ij7lhpk8L3Nw
YW4+5Lit5paHPC9kaXY+Jyk7CisKK2RvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGVzdENvbnRh
aW5lcik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwo=
</data>
<flag name="review"
          id="53837"
          type_id="1"
          status="+"
          setter="tony"
    />
          </attachment>
      

    </bug>

</bugzilla>