<?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>34574</bug_id>
          
          <creation_ts>2010-02-04 04:47:03 -0800</creation_ts>
          <short_desc>check-webkit-style should ignore underscore in Qt autotests</short_desc>
          <delta_ts>2010-12-22 05:53:55 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</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>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>33684</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jędrzej Nowacki">jedrzej.nowacki</reporter>
          <assigned_to name="Chris Jerdonek">cjerdonek</assigned_to>
          <cc>abarth</cc>
    
    <cc>cjerdonek</cc>
    
    <cc>eric</cc>
    
    <cc>gustavo</cc>
    
    <cc>hamaji</cc>
    
    <cc>hayato</cc>
    
    <cc>jedrzej.nowacki</cc>
    
    <cc>levin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>187741</commentid>
    <comment_count>0</comment_count>
    <who name="Jędrzej Nowacki">jedrzej.nowacki</who>
    <bug_when>2010-02-04 04:47:03 -0800</bug_when>
    <thetext>I believe that check-webkit-style should ignore &quot;Don&apos;t use underscores in your identifier names.  [readability/naming] [4]&quot; rule inside Qt&apos;s autotests. There is no clean way to avoid a xxx_data methods as they are called automatically by the QtTest Module.

Please ignore the rule inside these sub-folders:
Webkit/qt/tests
JavaScriptCore/qt/tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188412</commentid>
    <comment_count>1</comment_count>
      <attachid>48286</attachid>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-02-05 22:08:50 -0800</bug_when>
    <thetext>Created attachment 48286
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188413</commentid>
    <comment_count>2</comment_count>
      <attachid>48287</attachid>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-02-05 22:16:05 -0800</bug_when>
    <thetext>Created attachment 48287
Proposed patch 2

Minor fixes to ChangeLog and a code comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188546</commentid>
    <comment_count>3</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-02-07 20:48:55 -0800</bug_when>
    <thetext>Adding Gustavo in CC list.

My comment about GTK+ isn&apos;t related to this bug. Please feel free to land this patch as is (or you may want to modify the list-comprehension), and I&apos;ll open another bug to decide path-rules for GTK+.

&gt; @@ -98,6 +106,15 @@ _PATH_RULES_SPECIFIER = [
&gt;        &quot;WebKit/qt/QGVLauncher/&quot;],
&gt;       (&quot;-build/include&quot;,
&gt;        &quot;-readability/streams&quot;)),
&gt; +    ([# The GTK+ APIs use GTK+ naming style, which includes
&gt; +      # lower-cased, underscore-separated values.
&gt; +      &quot;WebKit/gtk/webkit/&quot;,
&gt; +      # There is no clean way to avoid &quot;xxx_data&quot; methods inside
&gt; +      # Qt&apos;s autotests since they are called automatically by the
&gt; +      # QtTest module.
&gt; +      &quot;WebKit/qt/tests/&quot;,
&gt; +      &quot;JavaScriptCore/qt/tests&quot;],
&gt; +     (&quot;-readability/naming&quot;,)),
&gt;      # These are test file patterns.
&gt;      ([&quot;_test.cpp&quot;,
&gt;        &quot;_unittest.cpp&quot;,

Per discussion in Bug 34572, we need to add WebKitTools/DumpRenderTree/gtk. I guess gtk code doesn&apos;t care build/include_order (#includes should be alphabetically sorted) and readability/null (don&apos;t use NULL, use 0 instead) as well. So, I&apos;d propose

    ([# The GTK+ APIs use GTK+ naming style, which includes
      # lower-cased, underscore-separated values.
      # GTK+ code uses NULL and unsorted #includes, too.
      &quot;WebKit/gtk/webkit/&quot;,
      &quot;WebKitTools/DumpRenderTree/gtk&quot;,],
     (&quot;-build/include_order&quot;,
      &quot;-readability/naming&quot;,
      &quot;-readability/null&quot;)),
    ([# There is no clean way to avoid &quot;xxx_data&quot; methods inside
      # Qt&apos;s autotests since they are called automatically by the
      # QtTest module.
      &quot;WebKit/qt/tests/&quot;,
      &quot;JavaScriptCore/qt/tests&quot;],
     (&quot;-readability/naming&quot;,)),

or something like this. Gustavo, could you check my guess is correct?

&gt; +    def _get_path_specific_lower(self):
&gt; +        &quot;&quot;&quot;Return a copy of self._path_specific with the paths lower-cased.&quot;&quot;&quot;
&gt; +        if self._path_specific_lower is None:
&gt; +            self._path_specific_lower = []
&gt; +            for (sub_paths, path_rules) in self._path_specific:
&gt; +                sub_paths = [sub_path.lower() for sub_path in sub_paths]

Though this is fine as is, I think there&apos;s a bit simpler way:

sub_paths = map(str.lower, sub_paths)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188547</commentid>
    <comment_count>4</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-02-07 20:52:40 -0800</bug_when>
    <thetext>Probably, for gtk, we may want to disable whitespace/declaration as well? See the review bot&apos;s comment in Bug 32170.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188608</commentid>
    <comment_count>5</comment_count>
      <attachid>48287</attachid>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-02-08 05:16:31 -0800</bug_when>
    <thetext>Comment on attachment 48287
Proposed patch 2

cq- to use webkit-patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188609</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-02-08 05:28:35 -0800</bug_when>
    <thetext>Manually committed (via &quot;git svn dcommit&quot;):

http://trac.webkit.org/changeset/54482</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188633</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-02-08 08:41:53 -0800</bug_when>
    <thetext>any particular reason you removed

- self.assert_lint(&apos;void this_is_a_gtk_style_name(int var1, int var2)&apos;, &apos;&apos;, &apos;WebKit/gtk/webkit/foo.cpp&apos;)

?  Seems like a good test to have...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188650</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-02-08 09:30:39 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; any particular reason you removed
&gt; 
&gt; - self.assert_lint(&apos;void this_is_a_gtk_style_name(int var1, int var2)&apos;, &apos;&apos;,
&gt; &apos;WebKit/gtk/webkit/foo.cpp&apos;)
&gt; 
&gt; ?  Seems like a good test to have...

Yes.  I removed it because cpp.py is no longer responsible for checking that file path. All of that is now encoded by the _PATH_RULES_SPECIFIER configuration variable and taken care of by the FilterConfiguration class.

I had a similar discussion with Shinichiro at the end of this comment

https://bugs.webkit.org/show_bug.cgi?id=33684#c19

after removing similar hard-coded directory names from cpp.py and their corresponding unit tests.

Testing like the above can now go in the GlobalVariablesTest.test_path_rules_specifier() unit test method.  That method is responsible for checking that the _PATH_RULES_SPECIFIER variable is functioning as expected.

I suppose I could have added another assert to that method for a gtk file path, but there is already an assert in there for a qt file path that tests the same exemption:

&gt;        self.assertFalse(config.should_check(&quot;readability/naming&quot;,
&gt;                             &quot;WebKit/qt/tests/qwebelement/tst_qwebelement.cpp&quot;))

The exemption is encoded here:

&gt;    ([# The GTK+ APIs use GTK+ naming style, which includes
&gt;      # lower-cased, underscore-separated values.
&gt;      &quot;WebKit/gtk/webkit/&quot;,
&gt;      # There is no clean way to avoid &quot;xxx_data&quot; methods inside
&gt;      # Qt&apos;s autotests since they are called automatically by the
&gt;      # QtTest module.
&gt;      &quot;WebKit/qt/tests/&quot;,
&gt;      &quot;JavaScriptCore/qt/tests&quot;],
&gt;     [&quot;-readability/naming&quot;]),</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188674</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-02-08 10:18:59 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; I suppose I could have added another assert to that method for a gtk file path,
&gt; but there is already an assert in there for a qt file path that tests the same
&gt; exemption:
&gt; 
&gt; &gt;        self.assertFalse(config.should_check(&quot;readability/naming&quot;,
&gt; &gt;                             &quot;WebKit/qt/tests/qwebelement/tst_qwebelement.cpp&quot;))

I do think it makes sense to have at least one assert per string that appears in _PATH_RULES_SPECIFIER (to have complete code coverage and avoid typos, etc).  I will do that the next time I modify this area of code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190896</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-02-16 22:53:55 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; any particular reason you removed
&gt; 
&gt; - self.assert_lint(&apos;void this_is_a_gtk_style_name(int var1, int var2)&apos;, &apos;&apos;,
&gt; &apos;WebKit/gtk/webkit/foo.cpp&apos;)
&gt; 
&gt; ?  Seems like a good test to have...

FYI, as I mentioned in comment 9 of this report, I restored the unit test for a &quot;WebKit/gtk/webkit/&quot; path in the proposed patches of this report:

https://bugs.webkit.org/show_bug.cgi?id=34932

I also added a unit test for every other path that appears in the _PATH_RULES_SPECIFIER configuration variable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241796</commentid>
    <comment_count>11</comment_count>
    <who name="Jędrzej Nowacki">jedrzej.nowacki</who>
    <bug_when>2010-06-23 04:15:29 -0700</bug_when>
    <thetext>It seems that the problem is still valid. Please look at bug 40911.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324792</commentid>
    <comment_count>12</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-20 22:28:06 -0800</bug_when>
    <thetext>This bug has been waiting to land for 6 months?  Or did it get landed already?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324871</commentid>
    <comment_count>13</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-12-20 23:38:39 -0800</bug_when>
    <thetext>Sadly, cjerdonek seems to have moved on to geener pastures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324937</commentid>
    <comment_count>14</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-12-21 04:25:36 -0800</bug_when>
    <thetext>I think there are no reason we cannot land this patch. I guess Chris put cq- just because this requires Bug 33684 closed. As the patch for Bug 33684 seems to be landed already, I think we should be able to land this patch. I&apos;ll try.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325464</commentid>
    <comment_count>15</comment_count>
      <attachid>48287</attachid>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-12-22 05:43:00 -0800</bug_when>
    <thetext>Comment on attachment 48287
Proposed patch 2

(In reply to comment #14)
&gt; I think there are no reason we cannot land this patch. I guess Chris put cq- just because this requires Bug 33684 closed. As the patch for Bug 33684 seems to be landed already, I think we should be able to land this patch. I&apos;ll try.

Actually, this patch has already been landed: http://trac.webkit.org/changeset/54482

The false-positives in Bug 40911 happened because we don&apos;t have qt/benchmark in the exemption list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325469</commentid>
    <comment_count>16</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-12-22 05:53:55 -0800</bug_when>
    <thetext>Filed Bug 51467.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>48286</attachid>
            <date>2010-02-05 22:08:50 -0800</date>
            <delta_ts>2010-02-05 22:16:05 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>_patch-34574-1.txt</filename>
            <type>text/plain</type>
            <size>9855</size>
            <attacher name="Chris Jerdonek">cjerdonek</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBjNWI2M2JlLi5lY2VkZWZmIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMTAtMDIt
MDUgIENocmlzIEplcmRvbmVrICA8Y2plcmRvbmVrQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3VwcHJlc3NlZCBjaGVjay13ZWJr
aXQtc3R5bGUncyB1bmRlcnNjb3JlIGNoZWNrIGluIFF0J3MgYXV0b3Rlc3RzLgorICAgICAgICBB
bHNvIG1hZGUgdGhlIHBhdGgtc3BlY2lmaWMgZmlsdGVyIGNoZWNrIGNhc2UtaW5zZW5zaXRpdmUu
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM0NTc0CisKKyAgICAgICAgKiBTY3Jp
cHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXIucHk6CisgICAgICAgICAgLSBBZGRlZCBhIGxpc3Qg
ZWxlbWVudCB0byBfUEFUSF9SVUxFU19TUEVDSUZJRVIgZm9yCisgICAgICAgICAgICBkaXJlY3Rv
cmllcyB0aGF0IHNob3VsZCBiZSBleGNsdWRlZCBmcm9tIHRoZQorICAgICAgICAgICAgInJlYWRh
YmlsaXR5L25hbWluZyIgY2F0ZWdvcnkgKHRoZSBjYXRlZ29yeSB0aGF0IHJlbGF0ZXMgdG8KKyAg
ICAgICAgICAgIHVuZGVyc2NvcmVzIGluIGlkZW50aWZpZXJzLCBmb3IgZXhhbXBsZSkuCisKKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJfdW5pdHRlc3QucHk6CisgICAg
ICAgICAgLSBBZGRlZCBhbiAiZW5kLXRvLWVuZCIgdGVzdCBmb3IgIldlYktpdC9xdC90ZXN0cy8i
LgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9zdHlsZS9maWx0ZXIucHk6CisgICAgICAg
ICAgLSBBbHRlcmVkIEZpbHRlckNvbmZpZ3VyYXRpb24ncyBzaG91bGRfY2hlY2soKSBtZXRob2Qg
dG8KKyAgICAgICAgICAgIGNoZWNrIGZvciBwYXRoIHN1YnN0cmluZyBtYXRjaGVzIGNhc2UtaW5z
ZW5zaXRpdmVseS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvc3R5bGUvZmlsdGVyX3Vu
aXR0ZXN0LnB5OgorICAgICAgICAgIC0gQWRkZWQgYSB0ZXN0IHRvIGNoZWNrIGNhc2UtaW5zZW5z
aXRpdmUgcGF0aCBzdWJzdHJpbmcgbWF0Y2hpbmcuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L3N0eWxlL3Byb2Nlc3NvcnMvY3BwLnB5OgorICAgICAgICAgIC0gUmVtb3ZlZCB0aGUgaGFy
ZC1jb2RlZCAiV2ViS2l0L2d0ay93ZWJraXQvIiBwYXRoIHJlZmVyZW5jZQorICAgICAgICAgICAg
c2luY2UgdGhpcyBpcyBub3cgdGFrZW4gY2FyZSBvZiBieSB0aGUgX1BBVEhfUlVMRVNfU1BFQ0lG
SUVSCisgICAgICAgICAgICBjb25maWd1cmF0aW9uIHZhcmlhYmxlLgorCisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS9zdHlsZS9wcm9jZXNzb3JzL2NwcF91bml0dGVzdC5weToKKyAgICAgICAg
ICAtIFJlbW92ZWQgdGhlIHVuaXQgdGVzdCBmb3IgdGhlIEdUSyBkaXJlY3Rvcnkgc2luY2UgdGhp
cworICAgICAgICAgICAgaXMgbm93IHRha2VuIGNhcmUgb2YgYnkgdGhlIGNoZWNrZXIuX1BBVEhf
UlVMRVNfU1BFQ0lGSUVSCisgICAgICAgICAgICBlbmQtdG8tZW5kIHRlc3RzLgorCiAyMDEwLTAy
LTAzICBDaHJpcyBKZXJkb25layAgPGNqZXJkb25la0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IFNoaW5pY2hpcm8gSGFtYWppLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2VyLnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9zdHlsZS9jaGVja2VyLnB5CmluZGV4IDgxZjEwY2YuLjgzYmQ5NDEgMTAwNjQ0Ci0tLSBh
L1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlci5weQorKysgYi9XZWJL
aXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXIucHkKQEAgLTg2LDEwICs4Niwx
NyBAQCBXRUJLSVRfREVGQVVMVF9GSUxURVJfUlVMRVMgPSBbCiAgICAgXQogCiAKKyMgRklYTUU6
IENoYW5nZSB0aGUgc2Vjb25kIHZhbHVlIG9mIGVhY2ggdHVwbGUgZnJvbSBhIGxpc3QgdG8gYSB0
dXBsZSwKKyMgICAgICAgIGFuZCBhbHRlciB0aGUgZmlsdGVyIGNvZGUgc28gaXQgYWNjZXB0cyBs
aXN0cyBpbnN0ZWFkLiAgKFRoZQorIyAgICAgICAgZmlsdGVyIGNvZGUgd2lsbCBuZWVkIHRvIGNv
bnZlcnQgaW5jb21pbmcgdmFsdWVzIGZyb20gYSBsaXN0CisjICAgICAgICB0byBhIHR1cGxlIHBy
aW9yIHRvIGNhY2hpbmcpLiAgVGhpcyB3aWxsIG1ha2UgdGhpcworIyAgICAgICAgY29uZmlndXJh
dGlvbiBhIGJpdCBzaW1wbGVyLgorIwogIyBUaGUgcGF0aC1zcGVjaWZpYyBmaWx0ZXIgcnVsZXMu
CiAjCi0jIE9ubHkgdGhlIGZpcnN0IHN1YnN0cmluZyBtYXRjaCBpcyB1c2VkLiAgU2VlIHRoZSBG
aWx0ZXJDb25maWd1cmF0aW9uCi0jIGRvY3VtZW50YXRpb24gaW4gZmlsdGVyLnB5IGZvciBtb3Jl
IGluZm9ybWF0aW9uIG9uIHRoaXMgbGlzdC4KKyMgVGhpcyBsaXN0IGlzIG9yZGVyIHNlbnNpdGl2
ZS4gIE9ubHkgdGhlIGZpcnN0IHBhdGggc3Vic3RyaW5nIG1hdGNoCisjIGlzIHVzZWQuICBTZWUg
dGhlIEZpbHRlckNvbmZpZ3VyYXRpb24gZG9jdW1lbnRhdGlvbiBpbiBmaWx0ZXIucHkKKyMgZm9y
IG1vcmUgaW5mb3JtYXRpb24gb24gdGhpcyBsaXN0LgogX1BBVEhfUlVMRVNfU1BFQ0lGSUVSID0g
WwogICAgICMgRmlsZXMgaW4gdGhlc2UgZGlyZWN0b3JpZXMgYXJlIGNvbnN1bWVycyBvZiB0aGUg
V2ViS2l0CiAgICAgIyBBUEkgYW5kIHRoZXJlZm9yZSBkbyBub3QgZm9sbG93IHRoZSBzYW1lIGhl
YWRlciBpbmNsdWRpbmcKQEAgLTk4LDYgKzEwNSwxNSBAQCBfUEFUSF9SVUxFU19TUEVDSUZJRVIg
PSBbCiAgICAgICAiV2ViS2l0L3F0L1FHVkxhdW5jaGVyLyJdLAogICAgICAoIi1idWlsZC9pbmNs
dWRlIiwKICAgICAgICItcmVhZGFiaWxpdHkvc3RyZWFtcyIpKSwKKyAgICAoWyMgVGhlIEdUSysg
QVBJcyB1c2UgR1RLKyBuYW1pbmcgc3R5bGUsIHdoaWNoIGluY2x1ZGVzCisgICAgICAjIGxvd2Vy
LWNhc2VkLCB1bmRlcnNjb3JlLXNlcGFyYXRlZCB2YWx1ZXMuCisgICAgICAiV2ViS2l0L2d0ay93
ZWJraXQvIiwKKyAgICAgICMgVGhlcmUgaXMgbm8gY2xlYW4gd2F5IHRvIGF2b2lkICJ4eHhfZGF0
YSIgbWV0aG9kcyBpbnNpZGUKKyAgICAgICMgUXQncyBhdXRvdGVzdHMgc2luY2UgdGhleSBhcmUg
Y2FsbGVkIGF1dG9tYXRpY2FsbHkgYnkgdGhlCisgICAgICAjIFF0VGVzdCBtb2R1bGUuCisgICAg
ICAiV2ViS2l0L3F0L3Rlc3RzLyIsCisgICAgICAiSmF2YVNjcmlwdENvcmUvcXQvdGVzdHMiXSwK
KyAgICAgKCItcmVhZGFiaWxpdHkvbmFtaW5nIiwpKSwKICAgICAjIFRoZXNlIGFyZSB0ZXN0IGZp
bGUgcGF0dGVybnMuCiAgICAgKFsiX3Rlc3QuY3BwIiwKICAgICAgICJfdW5pdHRlc3QuY3BwIiwK
ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcl91
bml0dGVzdC5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcl91
bml0dGVzdC5weQppbmRleCAzYmQyYzFiLi5lMWM5YmFmIDEwMDc1NQotLS0gYS9XZWJLaXRUb29s
cy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJfdW5pdHRlc3QucHkKKysrIGIvV2ViS2l0
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2VyX3VuaXR0ZXN0LnB5CkBAIC0xODUs
NiArMTg1LDggQEAgY2xhc3MgR2xvYmFsVmFyaWFibGVzVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJXZWJLaXRUb29s
cy9XZWJLaXRBUElUZXN0LyIpKQogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGNvbmZpZy5zaG91
bGRfY2hlY2soImJ1aWxkL2luY2x1ZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIldlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvIikpCisgICAgICAgIHNl
bGYuYXNzZXJ0RmFsc2UoY29uZmlnLnNob3VsZF9jaGVjaygicmVhZGFiaWxpdHkvbmFtaW5nIiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIldlYktpdC9xdC90ZXN0cy9xd2ViZWxlbWVu
dC90c3RfcXdlYmVsZW1lbnQuY3BwIikpCiAKICAgICBkZWYgdGVzdF9tYXhfcmVwb3J0c19wZXJf
Y2F0ZWdvcnkoc2VsZik6CiAgICAgICAgICIiIkNoZWNrIHRoYXQgTUFYX1JFUE9SVFNfUEVSX0NB
VEVHT1JZIGlzIHZhbGlkLiIiIgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9zdHlsZS9maWx0ZXIucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxl
L2ZpbHRlci5weQppbmRleCA5YTgxYzI4Li44Mzg4ZWQyIDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2ZpbHRlci5weQorKysgYi9XZWJLaXRUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L3N0eWxlL2ZpbHRlci5weQpAQCAtMTYyLDYgKzE2Miw4IEBAIGNsYXNzIEZp
bHRlckNvbmZpZ3VyYXRpb24ob2JqZWN0KToKIAogICAgICAgICBzZWxmLl9iYXNlX3J1bGVzID0g
YmFzZV9ydWxlcwogICAgICAgICBzZWxmLl9wYXRoX3NwZWNpZmljID0gcGF0aF9zcGVjaWZpYwor
ICAgICAgICBzZWxmLl9wYXRoX3NwZWNpZmljX2xvd2VyID0gTm9uZQorICAgICAgICAiIiJUaGUg
YmFja2luZyBzdG9yZSBmb3Igc2VsZi5fZ2V0X3BhdGhfc3BlY2lmaWNfbG93ZXIoKS4iIiIKIAog
ICAgICAgICAjIEZJWE1FOiBNYWtlIHVzZXIgcnVsZXMgaW50ZXJuYWwgYWZ0ZXIgdGhlIEZpbHRl
ckNvbmZpZ3VyYXRpb24KICAgICAgICAgIyAgICAgICAgYXR0cmlidXRlIGlzIHJlbW92ZWQgZnJv
bSBQcm9jZXNzb3JPcHRpb25zIChzaW5jZSBhdApAQCAtMTk2LDkgKzE5OCwyMSBAQCBjbGFzcyBG
aWx0ZXJDb25maWd1cmF0aW9uKG9iamVjdCk6CiAgICAgICAgICMgUHl0aG9uIGRvZXMgbm90IGF1
dG9tYXRpY2FsbHkgZGVkdWNlIHRoaXMgZnJvbSBfX2VxX18oKS4KICAgICAgICAgcmV0dXJuIG5v
dCBzZWxmLl9fZXFfXyhvdGhlcikKIAorICAgICMgV2UgdXNlIHRoZSBwcmVmaXggIl9nZXQiIHNp
bmNlIHRoZSBuYW1lICJfcGF0aF9zcGVjaWZpY19sb3dlciIKKyAgICAjIGlzIGFscmVhZHkgdGFr
ZW4gdXAgYnkgdGhlIGRhdGEgYXR0cmlidXRlIGJhY2tpbmcgc3RvcmUuCisgICAgZGVmIF9nZXRf
cGF0aF9zcGVjaWZpY19sb3dlcihzZWxmKToKKyAgICAgICAgIiIiUmV0dXJuIGEgY29weSBvZiBz
ZWxmLl9wYXRoX3NwZWNpZmljIHdpdGggdGhlIHBhdGhzIGxvd2VyLWNhc2VkLiIiIgorICAgICAg
ICBpZiBzZWxmLl9wYXRoX3NwZWNpZmljX2xvd2VyIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxm
Ll9wYXRoX3NwZWNpZmljX2xvd2VyID0gW10KKyAgICAgICAgICAgIGZvciAoc3ViX3BhdGhzLCBw
YXRoX3J1bGVzKSBpbiBzZWxmLl9wYXRoX3NwZWNpZmljOgorICAgICAgICAgICAgICAgIHN1Yl9w
YXRocyA9IFtzdWJfcGF0aC5sb3dlcigpIGZvciBzdWJfcGF0aCBpbiBzdWJfcGF0aHNdCisgICAg
ICAgICAgICAgICAgc2VsZi5fcGF0aF9zcGVjaWZpY19sb3dlci5hcHBlbmQoKHN1Yl9wYXRocywg
cGF0aF9ydWxlcykpCisgICAgICAgIHJldHVybiBzZWxmLl9wYXRoX3NwZWNpZmljX2xvd2VyCisK
ICAgICBkZWYgX3BhdGhfcnVsZXNfZnJvbV9wYXRoKHNlbGYsIHBhdGgpOgogICAgICAgICAiIiJE
ZXRlcm1pbmUgdGhlIHBhdGgtc3BlY2lmaWMgcnVsZXMgdG8gdXNlLCBhbmQgcmV0dXJuIGFzIGEg
dHVwbGUuIiIiCi0gICAgICAgIGZvciAoc3ViX3BhdGhzLCBwYXRoX3J1bGVzKSBpbiBzZWxmLl9w
YXRoX3NwZWNpZmljOgorICAgICAgICBwYXRoID0gcGF0aC5sb3dlcigpCisgICAgICAgIGZvciAo
c3ViX3BhdGhzLCBwYXRoX3J1bGVzKSBpbiBzZWxmLl9nZXRfcGF0aF9zcGVjaWZpY19sb3dlcigp
OgogICAgICAgICAgICAgZm9yIHN1Yl9wYXRoIGluIHN1Yl9wYXRoczoKICAgICAgICAgICAgICAg
ICBpZiBwYXRoLmZpbmQoc3ViX3BhdGgpID4gLTE6CiAgICAgICAgICAgICAgICAgICAgIHJldHVy
biBwYXRoX3J1bGVzCkBAIC0yMzcsOSArMjUxLDkgQEAgY2xhc3MgRmlsdGVyQ29uZmlndXJhdGlv
bihvYmplY3QpOgogICAgICAgICBydWxlcyAtLSBpbiB0aGF0IG9yZGVyLiAgQXMgd2Ugd2lsbCBk
ZXNjcmliZSBiZWxvdywgbGF0ZXIgcnVsZXMKICAgICAgICAgaW4gdGhlIGxpc3QgdGFrZSBwcmVj
ZWRlbmNlLiAgVGhlIHBhdGgtc3BlY2lmaWMgcnVsZXMgYXJlIHRoZQogICAgICAgICBydWxlcyBj
b3JyZXNwb25kaW5nIHRvIHRoZSBmaXJzdCBlbGVtZW50IG9mIHRoZSAicGF0aF9zcGVjaWZpYyIK
LSAgICAgICAgcGFyYW1ldGVyIHRoYXQgY29udGFpbnMgYSBzdHJpbmcgbWF0Y2hpbmcgc29tZSBz
dWJzdHJpbmcgb2YKLSAgICAgICAgdGhlIHBhdGguICBJZiB0aGVyZSBpcyBubyBzdWNoIGVsZW1l
bnQsIHRoZXJlIGFyZSBubyBwYXRoLQotICAgICAgICBzcGVjaWZpYyBydWxlcyBmb3IgdGhhdCBw
YXRoLgorICAgICAgICBwYXJhbWV0ZXIgdGhhdCBjb250YWlucyBhIHN0cmluZyBjYXNlLWluc2Vu
c2l0aXZlbHkgbWF0Y2hpbmcKKyAgICAgICAgc29tZSBzdWJzdHJpbmcgb2YgdGhlIHBhdGguICBJ
ZiB0aGVyZSBpcyBubyBzdWNoIGVsZW1lbnQsCisgICAgICAgIHRoZXJlIGFyZSBubyBwYXRoLXNw
ZWNpZmljIHJ1bGVzIGZvciB0aGF0IHBhdGguCiAKICAgICAgICAgR2l2ZW4gYSBsaXN0IG9mIGZp
bHRlciBydWxlcywgdGhlIGxvZ2ljIGZvciBkZXRlcm1pbmluZyB3aGV0aGVyCiAgICAgICAgIGEg
Y2F0ZWdvcnkgc2hvdWxkIGJlIGNoZWNrZWQgaXMgYXMgZm9sbG93cy4gIEJ5IGRlZmF1bHQgYWxs
CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2ZpbHRlcl91
bml0dGVzdC5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvZmlsdGVyX3Vu
aXR0ZXN0LnB5CmluZGV4IGJkYmZmNzkuLjg0NzYwYTUgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvZmlsdGVyX3VuaXR0ZXN0LnB5CisrKyBiL1dlYktpdFRv
b2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvZmlsdGVyX3VuaXR0ZXN0LnB5CkBAIC0yMzAsNiAr
MjMwLDE5IEBAIGNsYXNzIEZpbHRlckNvbmZpZ3VyYXRpb25UZXN0KHVuaXR0ZXN0LlRlc3RDYXNl
KToKICAgICAgICAgIyBUZXN0IHRoYXQgZmlyc3QgbWF0Y2ggdGFrZXMgcHJlY2VkZW5jZS4KICAg
ICAgICAgc2VsZi5hc3NlcnRGYWxzZShjb25maWcuc2hvdWxkX2NoZWNrKCJjIiwgInBhdGgyL3Bh
dGgxIikpCiAKKyAgICBkZWYgdGVzdF9wYXRoX3dpdGhfZGlmZmVyZW50X2Nhc2Uoc2VsZik6Cisg
ICAgICAgICIiIlRlc3QgYSBwYXRoIHRoYXQgZGlmZmVycyBvbmx5IGluIGNhc2UuIiIiCisgICAg
ICAgIGJhc2VfcnVsZXMgPSBbIi0iXQorICAgICAgICBwYXRoX3NwZWNpZmljID0gWyhbIkZvby8i
XSwgKCIrd2hpdGVzcGFjZSIsKSldCisgICAgICAgIHVzZXJfcnVsZXMgPSBbXQorCisgICAgICAg
IGNvbmZpZyA9IHNlbGYuX2NvbmZpZyhiYXNlX3J1bGVzLCBwYXRoX3NwZWNpZmljLCB1c2VyX3J1
bGVzKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoY29uZmlnLnNob3VsZF9jaGVjaygid2hp
dGVzcGFjZSIsICJGb29vL2Jhci50eHQiKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGNvbmZp
Zy5zaG91bGRfY2hlY2soIndoaXRlc3BhY2UiLCAiRm9vL2Jhci50eHQiKSkKKyAgICAgICAgIyBU
ZXN0IGRpZmZlcmVudCBjYXNlLgorICAgICAgICBzZWxmLmFzc2VydFRydWUoY29uZmlnLnNob3Vs
ZF9jaGVjaygid2hpdGVzcGFjZSIsICJGT08vYmFyLnR4dCIpKQorCiAgICAgZGVmIHRlc3RfdXNl
cl9ydWxlcyhzZWxmKToKICAgICAgICAgIiIiVGVzdCBlZmZlY3Qgb2YgdXNlcl9ydWxlcyBvbiBz
aG91bGRfY2hlY2soKS4iIiIKICAgICAgICAgYmFzZV9ydWxlcyA9IFsiLSJdCmRpZmYgLS1naXQg
YS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL3Byb2Nlc3NvcnMvY3BwLnB5IGIv
V2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9wcm9jZXNzb3JzL2NwcC5weQppbmRl
eCBiYmU1YzhhLi4xODJjOTY3IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtp
dHB5L3N0eWxlL3Byb2Nlc3NvcnMvY3BwLnB5CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvc3R5bGUvcHJvY2Vzc29ycy9jcHAucHkKQEAgLTI0ODEsNyArMjQ4MSw2IEBAIGRlZiBj
aGVja19pZGVudGlmaWVyX25hbWVfaW5fZGVjbGFyYXRpb24oZmlsZW5hbWUsIGxpbmVfbnVtYmVy
LCBsaW5lLCBlcnJvcik6CiAgICAgICAgIGlmIG1vZGlmaWVkX2lkZW50aWZpZXIuZmluZCgnXycp
ID49IDA6CiAgICAgICAgICAgICAjIFZhcmlvdXMgZXhjZXB0aW9ucyB0byB0aGUgcnVsZTogSmF2
YVNjcmlwdCBvcCBjb2RlcyBmdW5jdGlvbnMsIGNvbnN0X2l0ZXJhdG9yLgogICAgICAgICAgICAg
aWYgKG5vdCAoZmlsZW5hbWUuZmluZCgnSmF2YVNjcmlwdENvcmUnKSA+PSAwIGFuZCBtb2RpZmll
ZF9pZGVudGlmaWVyLmZpbmQoJ19vcF8nKSA+PSAwKQotICAgICAgICAgICAgICAgIGFuZCBub3Qg
ZmlsZW5hbWUuZmluZCgnV2ViS2l0L2d0ay93ZWJraXQvJykgPj0gMAogICAgICAgICAgICAgICAg
IGFuZCBub3QgbW9kaWZpZWRfaWRlbnRpZmllci5zdGFydHN3aXRoKCd0c3RfJykKICAgICAgICAg
ICAgICAgICBhbmQgbm90IG1vZGlmaWVkX2lkZW50aWZpZXIuc3RhcnRzd2l0aCgnd2Via2l0X2Rv
bV9vYmplY3RfJykKICAgICAgICAgICAgICAgICBhbmQgbm90IG1vZGlmaWVkX2lkZW50aWZpZXIu
c3RhcnRzd2l0aCgncXRfJykKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0
cHkvc3R5bGUvcHJvY2Vzc29ycy9jcHBfdW5pdHRlc3QucHkgYi9XZWJLaXRUb29scy9TY3JpcHRz
L3dlYmtpdHB5L3N0eWxlL3Byb2Nlc3NvcnMvY3BwX3VuaXR0ZXN0LnB5CmluZGV4IDhiMWJmOWMu
LmZiNWE0ODcgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUv
cHJvY2Vzc29ycy9jcHBfdW5pdHRlc3QucHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9zdHlsZS9wcm9jZXNzb3JzL2NwcF91bml0dGVzdC5weQpAQCAtMzU4OSw5ICszNTg5LDYg
QEAgY2xhc3MgV2ViS2l0U3R5bGVUZXN0KENwcFN0eWxlVGVzdEJhc2UpOgogICAgICAgICBzZWxm
LmFzc2VydF9saW50KCd2b2lkIHdlYmtpdF9kb21fb2JqZWN0X2luaXQoKTsnLCAnJykKICAgICAg
ICAgc2VsZi5hc3NlcnRfbGludCgndm9pZCB3ZWJraXRfZG9tX29iamVjdF9jbGFzc19pbml0KCk7
JywgJycpCiAKLSAgICAgICAgIyBUaGUgR1RLKyBBUElzIHVzZSBHVEsrIG5hbWluZyBzdHlsZSwg
d2hpY2ggaW5jbHVkZXMgbG93ZXItY2FzZWQsIF8tc2VwYXJhdGVkIHZhbHVlcy4KLSAgICAgICAg
c2VsZi5hc3NlcnRfbGludCgndm9pZCB0aGlzX2lzX2FfZ3RrX3N0eWxlX25hbWUoaW50IHZhcjEs
IGludCB2YXIyKScsICcnLCAnV2ViS2l0L2d0ay93ZWJraXQvZm9vLmNwcCcpCi0KICAgICAgICAg
IyBUaGVyZSBpcyBhbiBleGNlcHRpb24gZm9yIHNvbWUgdW5pdCB0ZXN0cyB0aGF0IGJlZ2luIHdp
dGggInRzdF8iLgogICAgICAgICBzZWxmLmFzc2VydF9saW50KCd2b2lkIHRzdF9RV2ViRnJhbWU6
OmFycmF5T2JqZWN0RW51bWVyYWJsZShpbnQgdmFyMSwgaW50IHZhcjIpJywgJycpCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>48287</attachid>
            <date>2010-02-05 22:16:05 -0800</date>
            <delta_ts>2010-12-22 05:43:00 -0800</delta_ts>
            <desc>Proposed patch 2</desc>
            <filename>_patch-34574-2.txt</filename>
            <type>text/plain</type>
            <size>9875</size>
            <attacher name="Chris Jerdonek">cjerdonek</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBjNWI2M2JlLi4xNTc3NGY0IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTAtMDIt
MDUgIENocmlzIEplcmRvbmVrICA8Y2plcmRvbmVrQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3VwcHJlc3NlZCBjaGVjay13ZWJr
aXQtc3R5bGUncyB1bmRlcnNjb3JlIGNoZWNrIGluIFF0J3MgYXV0b3Rlc3RzLgorICAgICAgICBB
bHNvIG1hZGUgdGhlIHBhdGgtc3BlY2lmaWMgZmlsdGVyIGNoZWNrIGNhc2UtaW5zZW5zaXRpdmUu
CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM0NTc0
CisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXIucHk6CisgICAgICAg
ICAgLSBBZGRlZCBhIGxpc3QgZWxlbWVudCB0byBfUEFUSF9SVUxFU19TUEVDSUZJRVIgZm9yCisg
ICAgICAgICAgICBkaXJlY3RvcmllcyB0aGF0IHNob3VsZCBiZSBleGNsdWRlZCBmcm9tIHRoZQor
ICAgICAgICAgICAgInJlYWRhYmlsaXR5L25hbWluZyIgY2F0ZWdvcnkgKHRoZSBjYXRlZ29yeSB0
aGF0IHJlbGF0ZXMgdG8KKyAgICAgICAgICAgIHVuZGVyc2NvcmVzIGluIGlkZW50aWZpZXJzLCBm
b3IgZXhhbXBsZSkuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJf
dW5pdHRlc3QucHk6CisgICAgICAgICAgLSBBZGRlZCBhbiAiZW5kLXRvLWVuZCIgdGVzdCBmb3Ig
IldlYktpdC9xdC90ZXN0cy8iLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9zdHlsZS9m
aWx0ZXIucHk6CisgICAgICAgICAgLSBBbHRlcmVkIEZpbHRlckNvbmZpZ3VyYXRpb24ncyBzaG91
bGRfY2hlY2soKSBtZXRob2QgdG8KKyAgICAgICAgICAgIGNoZWNrIGZvciBwYXRoIHN1YnN0cmlu
ZyBtYXRjaGVzIGNhc2UtaW5zZW5zaXRpdmVseS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvc3R5bGUvZmlsdGVyX3VuaXR0ZXN0LnB5OgorICAgICAgICAgIC0gQWRkZWQgYSB0ZXN0IHRv
IGNoZWNrIGNhc2UtaW5zZW5zaXRpdmUgcGF0aCBzdWJzdHJpbmcgbWF0Y2hpbmcuCisKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxlL3Byb2Nlc3NvcnMvY3BwLnB5OgorICAgICAgICAg
IC0gUmVtb3ZlZCB0aGUgaGFyZC1jb2RlZCAiV2ViS2l0L2d0ay93ZWJraXQvIiBwYXRoIHJlZmVy
ZW5jZQorICAgICAgICAgICAgc2luY2UgdGhpcyBpcyBub3cgdGFrZW4gY2FyZSBvZiBieSB0aGUg
X1BBVEhfUlVMRVNfU1BFQ0lGSUVSCisgICAgICAgICAgICBjb25maWd1cmF0aW9uIHZhcmlhYmxl
LgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9zdHlsZS9wcm9jZXNzb3JzL2NwcF91bml0
dGVzdC5weToKKyAgICAgICAgICAtIFJlbW92ZWQgdGhlIHVuaXQgdGVzdCBmb3IgdGhlIEdUSyBk
aXJlY3Rvcnkgc2luY2UgdGhpcworICAgICAgICAgICAgaXMgbm93IHRha2VuIGNhcmUgb2YgYnkg
dGhlIGNoZWNrZXIuX1BBVEhfUlVMRVNfU1BFQ0lGSUVSCisgICAgICAgICAgICBlbmQtdG8tZW5k
IHRlc3RzLgorCiAyMDEwLTAyLTAzICBDaHJpcyBKZXJkb25layAgPGNqZXJkb25la0B3ZWJraXQu
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNoaW5pY2hpcm8gSGFtYWppLgpkaWZmIC0tZ2l0
IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2VyLnB5IGIvV2ViS2l0
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2VyLnB5CmluZGV4IDgxZjEwY2YuLjlk
ZTM2MmYgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hl
Y2tlci5weQorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXIu
cHkKQEAgLTg2LDEwICs4NiwxOCBAQCBXRUJLSVRfREVGQVVMVF9GSUxURVJfUlVMRVMgPSBbCiAg
ICAgXQogCiAKKyMgRklYTUU6IENoYW5nZSB0aGUgc2Vjb25kIHZhbHVlIG9mIGVhY2ggdHVwbGUg
ZnJvbSBhIHR1cGxlIHRvIGEgbGlzdCwKKyMgICAgICAgIGFuZCBhbHRlciB0aGUgZmlsdGVyIGNv
ZGUgc28gaXQgYWNjZXB0cyBsaXN0cyBpbnN0ZWFkLiAgKFRoZQorIyAgICAgICAgZmlsdGVyIGNv
ZGUgd2lsbCBuZWVkIHRvIGNvbnZlcnQgaW5jb21pbmcgdmFsdWVzIGZyb20gYSBsaXN0CisjICAg
ICAgICB0byBhIHR1cGxlIHByaW9yIHRvIGNhY2hpbmcpLiAgVGhpcyB3aWxsIG1ha2UgdGhpcwor
IyAgICAgICAgY29uZmlndXJhdGlvbiBzZXR0aW5nIGEgYml0IHNpbXBsZXIgc2luY2UgdHVwbGVz
IGhhdmUgYW4KKyMgICAgICAgIHVudXN1YWwgc3ludGF4IGNhc2UuCisjCiAjIFRoZSBwYXRoLXNw
ZWNpZmljIGZpbHRlciBydWxlcy4KICMKLSMgT25seSB0aGUgZmlyc3Qgc3Vic3RyaW5nIG1hdGNo
IGlzIHVzZWQuICBTZWUgdGhlIEZpbHRlckNvbmZpZ3VyYXRpb24KLSMgZG9jdW1lbnRhdGlvbiBp
biBmaWx0ZXIucHkgZm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhpcyBsaXN0LgorIyBUaGlzIGxp
c3QgaXMgb3JkZXIgc2Vuc2l0aXZlLiAgT25seSB0aGUgZmlyc3QgcGF0aCBzdWJzdHJpbmcgbWF0
Y2gKKyMgaXMgdXNlZC4gIFNlZSB0aGUgRmlsdGVyQ29uZmlndXJhdGlvbiBkb2N1bWVudGF0aW9u
IGluIGZpbHRlci5weQorIyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGlzIGxpc3QuCiBfUEFU
SF9SVUxFU19TUEVDSUZJRVIgPSBbCiAgICAgIyBGaWxlcyBpbiB0aGVzZSBkaXJlY3RvcmllcyBh
cmUgY29uc3VtZXJzIG9mIHRoZSBXZWJLaXQKICAgICAjIEFQSSBhbmQgdGhlcmVmb3JlIGRvIG5v
dCBmb2xsb3cgdGhlIHNhbWUgaGVhZGVyIGluY2x1ZGluZwpAQCAtOTgsNiArMTA2LDE1IEBAIF9Q
QVRIX1JVTEVTX1NQRUNJRklFUiA9IFsKICAgICAgICJXZWJLaXQvcXQvUUdWTGF1bmNoZXIvIl0s
CiAgICAgICgiLWJ1aWxkL2luY2x1ZGUiLAogICAgICAgIi1yZWFkYWJpbGl0eS9zdHJlYW1zIikp
LAorICAgIChbIyBUaGUgR1RLKyBBUElzIHVzZSBHVEsrIG5hbWluZyBzdHlsZSwgd2hpY2ggaW5j
bHVkZXMKKyAgICAgICMgbG93ZXItY2FzZWQsIHVuZGVyc2NvcmUtc2VwYXJhdGVkIHZhbHVlcy4K
KyAgICAgICJXZWJLaXQvZ3RrL3dlYmtpdC8iLAorICAgICAgIyBUaGVyZSBpcyBubyBjbGVhbiB3
YXkgdG8gYXZvaWQgInh4eF9kYXRhIiBtZXRob2RzIGluc2lkZQorICAgICAgIyBRdCdzIGF1dG90
ZXN0cyBzaW5jZSB0aGV5IGFyZSBjYWxsZWQgYXV0b21hdGljYWxseSBieSB0aGUKKyAgICAgICMg
UXRUZXN0IG1vZHVsZS4KKyAgICAgICJXZWJLaXQvcXQvdGVzdHMvIiwKKyAgICAgICJKYXZhU2Ny
aXB0Q29yZS9xdC90ZXN0cyJdLAorICAgICAoIi1yZWFkYWJpbGl0eS9uYW1pbmciLCkpLAogICAg
ICMgVGhlc2UgYXJlIHRlc3QgZmlsZSBwYXR0ZXJucy4KICAgICAoWyJfdGVzdC5jcHAiLAogICAg
ICAgIl91bml0dGVzdC5jcHAiLApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9zdHlsZS9jaGVja2VyX3VuaXR0ZXN0LnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9zdHlsZS9jaGVja2VyX3VuaXR0ZXN0LnB5CmluZGV4IDNiZDJjMWIuLmUxYzliYWYgMTAw
NzU1Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcl91bml0
dGVzdC5weQorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJf
dW5pdHRlc3QucHkKQEAgLTE4NSw2ICsxODUsOCBAQCBjbGFzcyBHbG9iYWxWYXJpYWJsZXNUZXN0
KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIldlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvIikpCiAgICAgICAgIHNlbGYuYXNz
ZXJ0RmFsc2UoY29uZmlnLnNob3VsZF9jaGVjaygiYnVpbGQvaW5jbHVkZSIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiV2ViS2l0VG9vbHMvV2ViS2l0QVBJ
VGVzdC8iKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShjb25maWcuc2hvdWxkX2NoZWNrKCJy
ZWFkYWJpbGl0eS9uYW1pbmciLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiV2ViS2l0
L3F0L3Rlc3RzL3F3ZWJlbGVtZW50L3RzdF9xd2ViZWxlbWVudC5jcHAiKSkKIAogICAgIGRlZiB0
ZXN0X21heF9yZXBvcnRzX3Blcl9jYXRlZ29yeShzZWxmKToKICAgICAgICAgIiIiQ2hlY2sgdGhh
dCBNQVhfUkVQT1JUU19QRVJfQ0FURUdPUlkgaXMgdmFsaWQuIiIiCmRpZmYgLS1naXQgYS9XZWJL
aXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2ZpbHRlci5weSBiL1dlYktpdFRvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvc3R5bGUvZmlsdGVyLnB5CmluZGV4IDlhODFjMjguLjgzODhlZDIgMTAw
NjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvZmlsdGVyLnB5Cisr
KyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvZmlsdGVyLnB5CkBAIC0xNjIs
NiArMTYyLDggQEAgY2xhc3MgRmlsdGVyQ29uZmlndXJhdGlvbihvYmplY3QpOgogCiAgICAgICAg
IHNlbGYuX2Jhc2VfcnVsZXMgPSBiYXNlX3J1bGVzCiAgICAgICAgIHNlbGYuX3BhdGhfc3BlY2lm
aWMgPSBwYXRoX3NwZWNpZmljCisgICAgICAgIHNlbGYuX3BhdGhfc3BlY2lmaWNfbG93ZXIgPSBO
b25lCisgICAgICAgICIiIlRoZSBiYWNraW5nIHN0b3JlIGZvciBzZWxmLl9nZXRfcGF0aF9zcGVj
aWZpY19sb3dlcigpLiIiIgogCiAgICAgICAgICMgRklYTUU6IE1ha2UgdXNlciBydWxlcyBpbnRl
cm5hbCBhZnRlciB0aGUgRmlsdGVyQ29uZmlndXJhdGlvbgogICAgICAgICAjICAgICAgICBhdHRy
aWJ1dGUgaXMgcmVtb3ZlZCBmcm9tIFByb2Nlc3Nvck9wdGlvbnMgKHNpbmNlIGF0CkBAIC0xOTYs
OSArMTk4LDIxIEBAIGNsYXNzIEZpbHRlckNvbmZpZ3VyYXRpb24ob2JqZWN0KToKICAgICAgICAg
IyBQeXRob24gZG9lcyBub3QgYXV0b21hdGljYWxseSBkZWR1Y2UgdGhpcyBmcm9tIF9fZXFfXygp
LgogICAgICAgICByZXR1cm4gbm90IHNlbGYuX19lcV9fKG90aGVyKQogCisgICAgIyBXZSB1c2Ug
dGhlIHByZWZpeCAiX2dldCIgc2luY2UgdGhlIG5hbWUgIl9wYXRoX3NwZWNpZmljX2xvd2VyIgor
ICAgICMgaXMgYWxyZWFkeSB0YWtlbiB1cCBieSB0aGUgZGF0YSBhdHRyaWJ1dGUgYmFja2luZyBz
dG9yZS4KKyAgICBkZWYgX2dldF9wYXRoX3NwZWNpZmljX2xvd2VyKHNlbGYpOgorICAgICAgICAi
IiJSZXR1cm4gYSBjb3B5IG9mIHNlbGYuX3BhdGhfc3BlY2lmaWMgd2l0aCB0aGUgcGF0aHMgbG93
ZXItY2FzZWQuIiIiCisgICAgICAgIGlmIHNlbGYuX3BhdGhfc3BlY2lmaWNfbG93ZXIgaXMgTm9u
ZToKKyAgICAgICAgICAgIHNlbGYuX3BhdGhfc3BlY2lmaWNfbG93ZXIgPSBbXQorICAgICAgICAg
ICAgZm9yIChzdWJfcGF0aHMsIHBhdGhfcnVsZXMpIGluIHNlbGYuX3BhdGhfc3BlY2lmaWM6Cisg
ICAgICAgICAgICAgICAgc3ViX3BhdGhzID0gW3N1Yl9wYXRoLmxvd2VyKCkgZm9yIHN1Yl9wYXRo
IGluIHN1Yl9wYXRoc10KKyAgICAgICAgICAgICAgICBzZWxmLl9wYXRoX3NwZWNpZmljX2xvd2Vy
LmFwcGVuZCgoc3ViX3BhdGhzLCBwYXRoX3J1bGVzKSkKKyAgICAgICAgcmV0dXJuIHNlbGYuX3Bh
dGhfc3BlY2lmaWNfbG93ZXIKKwogICAgIGRlZiBfcGF0aF9ydWxlc19mcm9tX3BhdGgoc2VsZiwg
cGF0aCk6CiAgICAgICAgICIiIkRldGVybWluZSB0aGUgcGF0aC1zcGVjaWZpYyBydWxlcyB0byB1
c2UsIGFuZCByZXR1cm4gYXMgYSB0dXBsZS4iIiIKLSAgICAgICAgZm9yIChzdWJfcGF0aHMsIHBh
dGhfcnVsZXMpIGluIHNlbGYuX3BhdGhfc3BlY2lmaWM6CisgICAgICAgIHBhdGggPSBwYXRoLmxv
d2VyKCkKKyAgICAgICAgZm9yIChzdWJfcGF0aHMsIHBhdGhfcnVsZXMpIGluIHNlbGYuX2dldF9w
YXRoX3NwZWNpZmljX2xvd2VyKCk6CiAgICAgICAgICAgICBmb3Igc3ViX3BhdGggaW4gc3ViX3Bh
dGhzOgogICAgICAgICAgICAgICAgIGlmIHBhdGguZmluZChzdWJfcGF0aCkgPiAtMToKICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIHBhdGhfcnVsZXMKQEAgLTIzNyw5ICsyNTEsOSBAQCBjbGFz
cyBGaWx0ZXJDb25maWd1cmF0aW9uKG9iamVjdCk6CiAgICAgICAgIHJ1bGVzIC0tIGluIHRoYXQg
b3JkZXIuICBBcyB3ZSB3aWxsIGRlc2NyaWJlIGJlbG93LCBsYXRlciBydWxlcwogICAgICAgICBp
biB0aGUgbGlzdCB0YWtlIHByZWNlZGVuY2UuICBUaGUgcGF0aC1zcGVjaWZpYyBydWxlcyBhcmUg
dGhlCiAgICAgICAgIHJ1bGVzIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGZpcnN0IGVsZW1lbnQgb2Yg
dGhlICJwYXRoX3NwZWNpZmljIgotICAgICAgICBwYXJhbWV0ZXIgdGhhdCBjb250YWlucyBhIHN0
cmluZyBtYXRjaGluZyBzb21lIHN1YnN0cmluZyBvZgotICAgICAgICB0aGUgcGF0aC4gIElmIHRo
ZXJlIGlzIG5vIHN1Y2ggZWxlbWVudCwgdGhlcmUgYXJlIG5vIHBhdGgtCi0gICAgICAgIHNwZWNp
ZmljIHJ1bGVzIGZvciB0aGF0IHBhdGguCisgICAgICAgIHBhcmFtZXRlciB0aGF0IGNvbnRhaW5z
IGEgc3RyaW5nIGNhc2UtaW5zZW5zaXRpdmVseSBtYXRjaGluZworICAgICAgICBzb21lIHN1YnN0
cmluZyBvZiB0aGUgcGF0aC4gIElmIHRoZXJlIGlzIG5vIHN1Y2ggZWxlbWVudCwKKyAgICAgICAg
dGhlcmUgYXJlIG5vIHBhdGgtc3BlY2lmaWMgcnVsZXMgZm9yIHRoYXQgcGF0aC4KIAogICAgICAg
ICBHaXZlbiBhIGxpc3Qgb2YgZmlsdGVyIHJ1bGVzLCB0aGUgbG9naWMgZm9yIGRldGVybWluaW5n
IHdoZXRoZXIKICAgICAgICAgYSBjYXRlZ29yeSBzaG91bGQgYmUgY2hlY2tlZCBpcyBhcyBmb2xs
b3dzLiAgQnkgZGVmYXVsdCBhbGwKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvc3R5bGUvZmlsdGVyX3VuaXR0ZXN0LnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9zdHlsZS9maWx0ZXJfdW5pdHRlc3QucHkKaW5kZXggYmRiZmY3OS4uODQ3NjBhNSAxMDA2
NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9maWx0ZXJfdW5pdHRl
c3QucHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9maWx0ZXJfdW5p
dHRlc3QucHkKQEAgLTIzMCw2ICsyMzAsMTkgQEAgY2xhc3MgRmlsdGVyQ29uZmlndXJhdGlvblRl
c3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAjIFRlc3QgdGhhdCBmaXJzdCBtYXRjaCB0
YWtlcyBwcmVjZWRlbmNlLgogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGNvbmZpZy5zaG91bGRf
Y2hlY2soImMiLCAicGF0aDIvcGF0aDEiKSkKIAorICAgIGRlZiB0ZXN0X3BhdGhfd2l0aF9kaWZm
ZXJlbnRfY2FzZShzZWxmKToKKyAgICAgICAgIiIiVGVzdCBhIHBhdGggdGhhdCBkaWZmZXJzIG9u
bHkgaW4gY2FzZS4iIiIKKyAgICAgICAgYmFzZV9ydWxlcyA9IFsiLSJdCisgICAgICAgIHBhdGhf
c3BlY2lmaWMgPSBbKFsiRm9vLyJdLCAoIit3aGl0ZXNwYWNlIiwpKV0KKyAgICAgICAgdXNlcl9y
dWxlcyA9IFtdCisKKyAgICAgICAgY29uZmlnID0gc2VsZi5fY29uZmlnKGJhc2VfcnVsZXMsIHBh
dGhfc3BlY2lmaWMsIHVzZXJfcnVsZXMpCisKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShjb25m
aWcuc2hvdWxkX2NoZWNrKCJ3aGl0ZXNwYWNlIiwgIkZvb28vYmFyLnR4dCIpKQorICAgICAgICBz
ZWxmLmFzc2VydFRydWUoY29uZmlnLnNob3VsZF9jaGVjaygid2hpdGVzcGFjZSIsICJGb28vYmFy
LnR4dCIpKQorICAgICAgICAjIFRlc3QgZGlmZmVyZW50IGNhc2UuCisgICAgICAgIHNlbGYuYXNz
ZXJ0VHJ1ZShjb25maWcuc2hvdWxkX2NoZWNrKCJ3aGl0ZXNwYWNlIiwgIkZPTy9iYXIudHh0Iikp
CisKICAgICBkZWYgdGVzdF91c2VyX3J1bGVzKHNlbGYpOgogICAgICAgICAiIiJUZXN0IGVmZmVj
dCBvZiB1c2VyX3J1bGVzIG9uIHNob3VsZF9jaGVjaygpLiIiIgogICAgICAgICBiYXNlX3J1bGVz
ID0gWyItIl0KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUv
cHJvY2Vzc29ycy9jcHAucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL3By
b2Nlc3NvcnMvY3BwLnB5CmluZGV4IGJiZTVjOGEuLjE4MmM5NjcgMTAwNjQ0Ci0tLSBhL1dlYktp
dFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvcHJvY2Vzc29ycy9jcHAucHkKKysrIGIvV2Vi
S2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9wcm9jZXNzb3JzL2NwcC5weQpAQCAtMjQ4
MSw3ICsyNDgxLDYgQEAgZGVmIGNoZWNrX2lkZW50aWZpZXJfbmFtZV9pbl9kZWNsYXJhdGlvbihm
aWxlbmFtZSwgbGluZV9udW1iZXIsIGxpbmUsIGVycm9yKToKICAgICAgICAgaWYgbW9kaWZpZWRf
aWRlbnRpZmllci5maW5kKCdfJykgPj0gMDoKICAgICAgICAgICAgICMgVmFyaW91cyBleGNlcHRp
b25zIHRvIHRoZSBydWxlOiBKYXZhU2NyaXB0IG9wIGNvZGVzIGZ1bmN0aW9ucywgY29uc3RfaXRl
cmF0b3IuCiAgICAgICAgICAgICBpZiAobm90IChmaWxlbmFtZS5maW5kKCdKYXZhU2NyaXB0Q29y
ZScpID49IDAgYW5kIG1vZGlmaWVkX2lkZW50aWZpZXIuZmluZCgnX29wXycpID49IDApCi0gICAg
ICAgICAgICAgICAgYW5kIG5vdCBmaWxlbmFtZS5maW5kKCdXZWJLaXQvZ3RrL3dlYmtpdC8nKSA+
PSAwCiAgICAgICAgICAgICAgICAgYW5kIG5vdCBtb2RpZmllZF9pZGVudGlmaWVyLnN0YXJ0c3dp
dGgoJ3RzdF8nKQogICAgICAgICAgICAgICAgIGFuZCBub3QgbW9kaWZpZWRfaWRlbnRpZmllci5z
dGFydHN3aXRoKCd3ZWJraXRfZG9tX29iamVjdF8nKQogICAgICAgICAgICAgICAgIGFuZCBub3Qg
bW9kaWZpZWRfaWRlbnRpZmllci5zdGFydHN3aXRoKCdxdF8nKQpkaWZmIC0tZ2l0IGEvV2ViS2l0
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9wcm9jZXNzb3JzL2NwcF91bml0dGVzdC5weSBi
L1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvcHJvY2Vzc29ycy9jcHBfdW5pdHRl
c3QucHkKaW5kZXggOGIxYmY5Yy4uZmI1YTQ4NyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9zdHlsZS9wcm9jZXNzb3JzL2NwcF91bml0dGVzdC5weQorKysgYi9XZWJL
aXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL3Byb2Nlc3NvcnMvY3BwX3VuaXR0ZXN0LnB5
CkBAIC0zNTg5LDkgKzM1ODksNiBAQCBjbGFzcyBXZWJLaXRTdHlsZVRlc3QoQ3BwU3R5bGVUZXN0
QmFzZSk6CiAgICAgICAgIHNlbGYuYXNzZXJ0X2xpbnQoJ3ZvaWQgd2Via2l0X2RvbV9vYmplY3Rf
aW5pdCgpOycsICcnKQogICAgICAgICBzZWxmLmFzc2VydF9saW50KCd2b2lkIHdlYmtpdF9kb21f
b2JqZWN0X2NsYXNzX2luaXQoKTsnLCAnJykKIAotICAgICAgICAjIFRoZSBHVEsrIEFQSXMgdXNl
IEdUSysgbmFtaW5nIHN0eWxlLCB3aGljaCBpbmNsdWRlcyBsb3dlci1jYXNlZCwgXy1zZXBhcmF0
ZWQgdmFsdWVzLgotICAgICAgICBzZWxmLmFzc2VydF9saW50KCd2b2lkIHRoaXNfaXNfYV9ndGtf
c3R5bGVfbmFtZShpbnQgdmFyMSwgaW50IHZhcjIpJywgJycsICdXZWJLaXQvZ3RrL3dlYmtpdC9m
b28uY3BwJykKLQogICAgICAgICAjIFRoZXJlIGlzIGFuIGV4Y2VwdGlvbiBmb3Igc29tZSB1bml0
IHRlc3RzIHRoYXQgYmVnaW4gd2l0aCAidHN0XyIuCiAgICAgICAgIHNlbGYuYXNzZXJ0X2xpbnQo
J3ZvaWQgdHN0X1FXZWJGcmFtZTo6YXJyYXlPYmplY3RFbnVtZXJhYmxlKGludCB2YXIxLCBpbnQg
dmFyMiknLCAnJykKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>