<?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>52424</bug_id>
          
          <creation_ts>2011-01-13 22:09:25 -0800</creation_ts>
          <short_desc>check-webkit-style: _FunctionState should use Position to know where items are.</short_desc>
          <delta_ts>2011-01-14 01:57:47 -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>
          
          <blocked>52271</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="David Levin">levin</reporter>
          <assigned_to name="David Levin">levin</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>hamaji</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>334117</commentid>
    <comment_count>0</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-01-13 22:09:25 -0800</bug_when>
    <thetext>This retains more information which makes it easier to do things like pure virtual detection because one can search for &apos;= 0&apos; between the end of the parameters and the end of the function (using the positions).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334119</commentid>
    <comment_count>1</comment_count>
      <attachid>78890</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2011-01-13 22:24:41 -0800</bug_when>
    <thetext>Created attachment 78890
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334121</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-13 22:27:20 -0800</bug_when>
    <thetext>Attachment 78890 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Tools/ChangeLog&apos;, u&apos;Tools/Scripts/webkitpy...&quot; exit_code: 1

Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py:386:  whitespace before &apos;:&apos;  [pep8/E203] [5]
Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py:396:  whitespace before &apos;:&apos;  [pep8/E203] [5]
Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py:405:  whitespace before &apos;:&apos;  [pep8/E203] [5]
Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py:414:  whitespace before &apos;:&apos;  [pep8/E203] [5]
Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py:423:  whitespace before &apos;:&apos;  [pep8/E203] [5]
Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py:432:  whitespace before &apos;:&apos;  [pep8/E203] [5]
Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py:450:  whitespace before &apos;:&apos;  [pep8/E203] [5]
Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py:464:  whitespace before &apos;:&apos;  [pep8/E203] [5]
Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py:475:  whitespace before &apos;:&apos;  [pep8/E203] [5]
Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py:487:  whitespace before &apos;:&apos;  [pep8/E203] [5]
Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py:502:  whitespace before &apos;:&apos;  [pep8/E203] [5]
Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py:521:  whitespace before &apos;:&apos;  [pep8/E203] [5]
Total errors found: 12 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334123</commentid>
    <comment_count>3</comment_count>
      <attachid>78891</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2011-01-13 22:30:15 -0800</bug_when>
    <thetext>Created attachment 78891
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334124</commentid>
    <comment_count>4</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-01-13 22:31:47 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Attachment 78890 [details] did not pass style-queue:

Bummer. I hate it when I fix the issues and then don&apos;t commit the change (and only upload through head).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334125</commentid>
    <comment_count>5</comment_count>
      <attachid>78891</attachid>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2011-01-13 22:31:54 -0800</bug_when>
    <thetext>Comment on attachment 78891
Patch

Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334129</commentid>
    <comment_count>6</comment_count>
      <attachid>78891</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-13 22:58:34 -0800</bug_when>
    <thetext>Comment on attachment 78891
Patch

Clearing flags on attachment: 78891

Committed r75772: &lt;http://trac.webkit.org/changeset/75772&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334130</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-13 22:58:40 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334193</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-14 01:57:47 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/75772 might have broken GTK Linux 32-bit Debug</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78890</attachid>
            <date>2011-01-13 22:24:41 -0800</date>
            <delta_ts>2011-01-13 22:30:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52424-20110113222439.patch</filename>
            <type>text/plain</type>
            <size>16453</size>
            <attacher name="David Levin">levin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3MTY5
ZGRlMmI2ZTk3M2FjZmFhNDMxNDAxODJhMmEwZmE0ZTgyMDYxLi41Y2ZkZTMwNzg0ZWRjYjdlNjQ4
OWZiODU0YTA0MDAyNjY5NDE0MWJlIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDEtMTIgIERhdmlkIExldmlu
ICA8bGV2aW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIGNoZWNrLXdlYmtpdC1zdHlsZTogX0Z1bmN0aW9uU3RhdGUgc2hvdWxk
IHVzZSBQb3NpdGlvbiB0byBrbm93IHdoZXJlIGl0ZW1zIGFyZS4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUyNDI0CisKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcC5weToKKyAgICAgICAgKF9GdW5jdGlvblN0YXRl
LiopOiBDaGFuZ2VkIF9GdW5jdGlvblN0YXRlIHRvIHVzZSBQb3NpdGlvbiBpbnN0ZWFkIG9mIGxp
bmUgbnVtYmVycy4KKyAgICAgICAgKGRldGVjdF9mdW5jdGlvbnMpOiBDaGFuZ2VkIHRvIHBhc3Mg
UG9zaXRpb24ncyB0byBfRnVuY3Rpb25TdGF0ZS5iZWdpbiBhbmQKKyAgICAgICAgZGlkIHNvbWUg
bWlub3IgY2xlYW4tdXAuCisgICAgICAgICgqKTogT3RoZXIgY2hhbmdlcyBhcmUgc2ltcGx5IGFi
b3V0IGNvbnZlcnRpbmcgdG8gdXNlIHRoZSBQb3NpdGlvbidzIGluX0Z1bmN0aW9uU3RhdGUKKyAg
ICAgICAgaW5zdGVhZCBvZiBsaW5lIG51bWJlcnMuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS9zdHlsZS9jaGVja2Vycy9jcHBfdW5pdHRlc3QucHk6IENoYW5nZWQgdGhlIHRlc3QgY29kZQor
ICAgICAgICB0byB2ZXJpZnkgdGhlIHBvc2l0aW9ucyBzdG9yZWQgaW4gX0Z1bmN0aW9uU3RhdGUu
CisKIDIwMTEtMDEtMTMgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IERhdmlkIExldmluLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9zdHlsZS9jaGVja2Vycy9jcHAucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxl
L2NoZWNrZXJzL2NwcC5weQppbmRleCBiYzFmYWJkNDgzZThiOGMyYTQxZTJkMzU1MDQyYmFiYzI5
MGFhNDc1Li42MWEzZGJkNjc3Njc3ZmMzMGFjMmM4N2JjNDEwN2U1NDVjN2VmZWU3IDEwMDY0NAot
LS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcC5weQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcC5weQpAQCAtNDkyLDMwICs0
OTIsMjkgQEAgY2xhc3MgX0Z1bmN0aW9uU3RhdGUob2JqZWN0KToKICAgICAgICAgc2VsZi5jdXJy
ZW50X2Z1bmN0aW9uID0gJycKICAgICAgICAgc2VsZi5pbl9hX2Z1bmN0aW9uID0gRmFsc2UKICAg
ICAgICAgc2VsZi5saW5lc19pbl9mdW5jdGlvbiA9IDAKLSAgICAgICAgIyBNYWtlIHN1cmUgdGhl
c2Ugd2lsbCBub3QgYmUgbWlzdGFrZW4gZm9yIHJlYWwgbGluZXMgKGV2ZW4gd2hlbiBhCisgICAg
ICAgICMgTWFrZSBzdXJlIHRoZXNlIHdpbGwgbm90IGJlIG1pc3Rha2VuIGZvciByZWFsIHBvc2l0
aW9ucyAoZXZlbiB3aGVuIGEKICAgICAgICAgIyBzbWFsbCBhbW91bnQgaXMgYWRkZWQgdG8gdGhl
bSkuCi0gICAgICAgIHNlbGYuYm9keV9zdGFydF9saW5lX251bWJlciA9IC0xMDAwCi0gICAgICAg
IHNlbGYuZW5kaW5nX2xpbmVfbnVtYmVyID0gLTEwMDAKKyAgICAgICAgc2VsZi5ib2R5X3N0YXJ0
X3Bvc2l0aW9uID0gUG9zaXRpb24oLTEwMDAsIDApCisgICAgICAgIHNlbGYuZW5kX3Bvc2l0aW9u
ID0gUG9zaXRpb24oLTEwMDAsIDApCiAKLSAgICBkZWYgYmVnaW4oc2VsZiwgZnVuY3Rpb25fbmFt
ZSwgYm9keV9zdGFydF9saW5lX251bWJlciwgZW5kaW5nX2xpbmVfbnVtYmVyLCBpc19kZWNsYXJh
dGlvbiwKKyAgICBkZWYgYmVnaW4oc2VsZiwgZnVuY3Rpb25fbmFtZSwgYm9keV9zdGFydF9wb3Np
dGlvbiwgZW5kX3Bvc2l0aW9uLAogICAgICAgICAgICAgICBwYXJhbWV0ZXJfc3RhcnRfcG9zaXRp
b24sIHBhcmFtZXRlcl9lbmRfcG9zaXRpb24sIGNsZWFuX2xpbmVzKToKICAgICAgICAgIiIiU3Rh
cnQgYW5hbHl6aW5nIGZ1bmN0aW9uIGJvZHkuCiAKICAgICAgICAgQXJnczoKICAgICAgICAgICAg
IGZ1bmN0aW9uX25hbWU6IFRoZSBuYW1lIG9mIHRoZSBmdW5jdGlvbiBiZWluZyB0cmFja2VkLgot
ICAgICAgICAgICAgYm9keV9zdGFydF9saW5lX251bWJlcjogVGhlIGxpbmUgbnVtYmVyIG9mIHRo
ZSB7IG9yIHRoZSA7IGZvciBhIHByb3RveXBlLgotICAgICAgICAgICAgZW5kaW5nX2xpbmVfbnVt
YmVyOiBUaGUgbGluZSBudW1iZXIgd2hlcmUgdGhlIGZ1bmN0aW9uIGVuZHMuCi0gICAgICAgICAg
ICBpc19kZWNsYXJhdGlvbjogVHJ1ZSBpZiB0aGlzIGlzIGEgcHJvdG90eXBlLgotICAgICAgICAg
ICAgcGFyYW1ldGVyX3N0YXJ0X3Bvc2l0aW9uOiBwb3NpdGlvbiBpbiBlbGlkZWQgb2YgdGhlICco
JyBmb3IgdGhlIHBhcmFtZXRlcnMuCi0gICAgICAgICAgICBwYXJhbWV0ZXJfZW5kX3Bvc2l0aW9u
OiBwb3NpdGlvbiBpbiBlbGlkZWQgb2YgdGhlICcpJyBmb3IgdGhlIHBhcmFtZXRlcnMuCisgICAg
ICAgICAgICBib2R5X3N0YXJ0X3Bvc2l0aW9uOiBQb3NpdGlvbiBpbiBlbGlkZWQgb2YgdGhlIHsg
b3IgdGhlIDsgZm9yIGEgcHJvdG90eXBlLgorICAgICAgICAgICAgZW5kX3Bvc2l0aW9uOiBQb3Np
dGlvbiBpbiBlbGlkZWQganVzdCBhZnRlciB0aGUgZmluYWwgfSAob3IgOyBpcy4KKyAgICAgICAg
ICAgIHBhcmFtZXRlcl9zdGFydF9wb3NpdGlvbjogUG9zaXRpb24gaW4gZWxpZGVkIG9mIHRoZSAn
KCcgZm9yIHRoZSBwYXJhbWV0ZXJzLgorICAgICAgICAgICAgcGFyYW1ldGVyX2VuZF9wb3NpdGlv
bjogUG9zaXRpb24gaW4gZWxpZGVkIGp1c3QgYWZ0ZXIgdGhlICcpJyBmb3IgdGhlIHBhcmFtZXRl
cnMuCiAgICAgICAgICAgICBjbGVhbl9saW5lczogQSBDbGVhbnNlZExpbmVzIGluc3RhbmNlIGNv
bnRhaW5pbmcgdGhlIGZpbGUuCiAgICAgICAgICIiIgogICAgICAgICBzZWxmLmluX2FfZnVuY3Rp
b24gPSBUcnVlCiAgICAgICAgIHNlbGYubGluZXNfaW5fZnVuY3Rpb24gPSAtMSAgIyBEb24ndCBj
b3VudCB0aGUgb3BlbiBicmFjZSBsaW5lLgogICAgICAgICBzZWxmLmN1cnJlbnRfZnVuY3Rpb24g
PSBmdW5jdGlvbl9uYW1lCi0gICAgICAgIHNlbGYuYm9keV9zdGFydF9saW5lX251bWJlciA9IGJv
ZHlfc3RhcnRfbGluZV9udW1iZXIKLSAgICAgICAgc2VsZi5lbmRpbmdfbGluZV9udW1iZXIgPSBl
bmRpbmdfbGluZV9udW1iZXIKLSAgICAgICAgc2VsZi5pc19kZWNsYXJhdGlvbiA9IGlzX2RlY2xh
cmF0aW9uCisgICAgICAgIHNlbGYuYm9keV9zdGFydF9wb3NpdGlvbiA9IGJvZHlfc3RhcnRfcG9z
aXRpb24KKyAgICAgICAgc2VsZi5lbmRfcG9zaXRpb24gPSBlbmRfcG9zaXRpb24KKyAgICAgICAg
c2VsZi5pc19kZWNsYXJhdGlvbiA9IGNsZWFuX2xpbmVzLmVsaWRlZFtib2R5X3N0YXJ0X3Bvc2l0
aW9uLnJvd11bYm9keV9zdGFydF9wb3NpdGlvbi5jb2x1bW5dID09ICc7JwogICAgICAgICBzZWxm
LnBhcmFtZXRlcl9zdGFydF9wb3NpdGlvbiA9IHBhcmFtZXRlcl9zdGFydF9wb3NpdGlvbgogICAg
ICAgICBzZWxmLnBhcmFtZXRlcl9lbmRfcG9zaXRpb24gPSBwYXJhbWV0ZXJfZW5kX3Bvc2l0aW9u
CiAgICAgICAgIHNlbGYuX2NsZWFuX2xpbmVzID0gY2xlYW5fbGluZXMKQEAgLTUzMCw3ICs1Mjks
NyBAQCBjbGFzcyBfRnVuY3Rpb25TdGF0ZShvYmplY3QpOgogCiAgICAgZGVmIGNvdW50KHNlbGYs
IGxpbmVfbnVtYmVyKToKICAgICAgICAgIiIiQ291bnQgbGluZSBpbiBjdXJyZW50IGZ1bmN0aW9u
IGJvZHkuIiIiCi0gICAgICAgIGlmIHNlbGYuaW5fYV9mdW5jdGlvbiBhbmQgbGluZV9udW1iZXIg
Pj0gc2VsZi5ib2R5X3N0YXJ0X2xpbmVfbnVtYmVyOgorICAgICAgICBpZiBzZWxmLmluX2FfZnVu
Y3Rpb24gYW5kIGxpbmVfbnVtYmVyID49IHNlbGYuYm9keV9zdGFydF9wb3NpdGlvbi5yb3c6CiAg
ICAgICAgICAgICBzZWxmLmxpbmVzX2luX2Z1bmN0aW9uICs9IDEKIAogICAgIGRlZiBjaGVjayhz
ZWxmLCBlcnJvciwgbGluZV9udW1iZXIpOgpAQCAtMTM5Myw3ICsxMzkyLDcgQEAgZGVmIGRldGVj
dF9mdW5jdGlvbnMoY2xlYW5fbGluZXMsIGxpbmVfbnVtYmVyLCBmdW5jdGlvbl9zdGF0ZSwgZXJy
b3IpOgogICAgICAgZXJyb3I6IFRoZSBmdW5jdGlvbiB0byBjYWxsIHdpdGggYW55IGVycm9ycyBm
b3VuZC4KICAgICAiIiIKICAgICAjIEFyZSB3ZSBub3cgcGFzdCB0aGUgZW5kIG9mIGEgZnVuY3Rp
b24/Ci0gICAgaWYgZnVuY3Rpb25fc3RhdGUuZW5kaW5nX2xpbmVfbnVtYmVyICsgMSA9PSBsaW5l
X251bWJlcjoKKyAgICBpZiBmdW5jdGlvbl9zdGF0ZS5lbmRfcG9zaXRpb24ucm93ICsgMSA9PSBs
aW5lX251bWJlcjoKICAgICAgICAgZnVuY3Rpb25fc3RhdGUuZW5kKCkKIAogICAgICMgSWYgd2Un
cmUgaW4gYSBmdW5jdGlvbiwgZG9uJ3QgdHJ5IHRvIGRldGVjdCBhIG5ldyBvbmUuCkBAIC0xNDI0
LDcgKzE0MjMsMTAgQEAgZGVmIGRldGVjdF9mdW5jdGlvbnMoY2xlYW5fbGluZXMsIGxpbmVfbnVt
YmVyLCBmdW5jdGlvbl9zdGF0ZSwgZXJyb3IpOgogICAgIGZvciBzdGFydF9saW5lX251bWJlciBp
biB4cmFuZ2UobGluZV9udW1iZXIsIGNsZWFuX2xpbmVzLm51bV9saW5lcygpKToKICAgICAgICAg
c3RhcnRfbGluZSA9IGNsZWFuX2xpbmVzLmVsaWRlZFtzdGFydF9saW5lX251bWJlcl0KICAgICAg
ICAgam9pbmVkX2xpbmUgKz0gJyAnICsgc3RhcnRfbGluZS5sc3RyaXAoKQotICAgICAgICBpZiBz
ZWFyY2gocid7fDsnLCBzdGFydF9saW5lKToKKyAgICAgICAgYm9keV9tYXRjaCA9IHNlYXJjaChy
J3t8OycsIHN0YXJ0X2xpbmUpCisgICAgICAgIGlmIGJvZHlfbWF0Y2g6CisgICAgICAgICAgICBi
b2R5X3N0YXJ0X3Bvc2l0aW9uID0gUG9zaXRpb24oc3RhcnRfbGluZV9udW1iZXIsIGJvZHlfbWF0
Y2guc3RhcnQoMCkpCisKICAgICAgICAgICAgICMgUmVwbGFjZSB0ZW1wbGF0ZSBjb25zdHJ1Y3Rz
IHdpdGggXyBzbyB0aGF0IG5vIHNwYWNlcyByZW1haW4gaW4gdGhlIGZ1bmN0aW9uIG5hbWUsCiAg
ICAgICAgICAgICAjIHdoaWxlIGtlZXBpbmcgdGhlIGNvbHVtbiBudW1iZXJzIG9mIG90aGVyIGNo
YXJhY3RlcnMgdGhlIHNhbWUgYXMgImxpbmUiLgogICAgICAgICAgICAgbGluZV93aXRoX25vX3Rl
bXBsYXRlcyA9IGl0ZXJhdGl2ZWx5X3JlcGxhY2VfbWF0Y2hlc193aXRoX2NoYXIocic8W148Pl0q
PicsICdfJywgbGluZSkKQEAgLTE0NDksMTMgKzE0NTEsMTYgQEAgZGVmIGRldGVjdF9mdW5jdGlv
bnMoY2xlYW5fbGluZXMsIGxpbmVfbnVtYmVyLCBmdW5jdGlvbl9zdGF0ZSwgZXJyb3IpOgogICAg
ICAgICAgICAgICAgICMgTm8gZW5kIHdhcyBmb3VuZC4KICAgICAgICAgICAgICAgICByZXR1cm4K
IAotICAgICAgICAgICAgaXNfZGVjbGFyYXRpb24gPSBib29sKHNlYXJjaChyJ15bXntdKjsnLCBz
dGFydF9saW5lKSkKLSAgICAgICAgICAgIGlmIGlzX2RlY2xhcmF0aW9uOgotICAgICAgICAgICAg
ICAgIGVuZGluZ19saW5lX251bWJlciA9IHN0YXJ0X2xpbmVfbnVtYmVyCisgICAgICAgICAgICBp
ZiBzdGFydF9saW5lW2JvZHlfc3RhcnRfcG9zaXRpb24uY29sdW1uXSA9PSAnOyc6CisgICAgICAg
ICAgICAgICAgZW5kX3Bvc2l0aW9uID0gUG9zaXRpb24oYm9keV9zdGFydF9wb3NpdGlvbi5yb3cs
IGJvZHlfc3RhcnRfcG9zaXRpb24uY29sdW1uICsgMSkKICAgICAgICAgICAgIGVsc2U6Ci0gICAg
ICAgICAgICAgICAgb3Blbl9icmFjZV9pbmRleCA9IHN0YXJ0X2xpbmUuZmluZCgneycpCi0gICAg
ICAgICAgICAgICAgZW5kaW5nX2xpbmVfbnVtYmVyID0gY2xvc2VfZXhwcmVzc2lvbihjbGVhbl9s
aW5lcy5lbGlkZWQsIFBvc2l0aW9uKHN0YXJ0X2xpbmVfbnVtYmVyLCBvcGVuX2JyYWNlX2luZGV4
KSkucm93Ci0gICAgICAgICAgICBmdW5jdGlvbl9zdGF0ZS5iZWdpbihmdW5jdGlvbiwgc3RhcnRf
bGluZV9udW1iZXIsIGVuZGluZ19saW5lX251bWJlciwgaXNfZGVjbGFyYXRpb24sCisgICAgICAg
ICAgICAgICAgZW5kX3Bvc2l0aW9uID0gY2xvc2VfZXhwcmVzc2lvbihjbGVhbl9saW5lcy5lbGlk
ZWQsIGJvZHlfc3RhcnRfcG9zaXRpb24pCisKKyAgICAgICAgICAgICMgQ2hlY2sgZm9yIG5vbnNl
bnNpY2FsIHBvc2l0aW9ucy4gKFRoaXMgaGFwcGVucyBpbiB0ZXN0IGNhc2VzIHdoaWNoIGNoZWNr
IGNvZGUgc25pcHBldHMuKQorICAgICAgICAgICAgaWYgcGFyYW1ldGVyX2VuZF9wb3NpdGlvbiA+
IGJvZHlfc3RhcnRfcG9zaXRpb246CisgICAgICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAg
ICAgIGZ1bmN0aW9uX3N0YXRlLmJlZ2luKGZ1bmN0aW9uLCBib2R5X3N0YXJ0X3Bvc2l0aW9uLCBl
bmRfcG9zaXRpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJf
c3RhcnRfcG9zaXRpb24sIHBhcmFtZXRlcl9lbmRfcG9zaXRpb24sIGNsZWFuX2xpbmVzKQogICAg
ICAgICAgICAgcmV0dXJuCiAKQEAgLTE0ODUsNyArMTQ5MCw3IEBAIGRlZiBjaGVja19mb3JfZnVu
Y3Rpb25fbGVuZ3RocyhjbGVhbl9saW5lcywgbGluZV9udW1iZXIsIGZ1bmN0aW9uX3N0YXRlLCBl
cnJvcik6CiAgICAgcmF3ID0gY2xlYW5fbGluZXMucmF3X2xpbmVzCiAgICAgcmF3X2xpbmUgPSBy
YXdbbGluZV9udW1iZXJdCiAKLSAgICBpZiBmdW5jdGlvbl9zdGF0ZS5lbmRpbmdfbGluZV9udW1i
ZXIgPT0gbGluZV9udW1iZXI6ICAjIGxhc3QgbGluZQorICAgIGlmIGZ1bmN0aW9uX3N0YXRlLmVu
ZF9wb3NpdGlvbi5yb3cgPT0gbGluZV9udW1iZXI6ICAjIGxhc3QgbGluZQogICAgICAgICBpZiBu
b3Qgc2VhcmNoKHInXGJOT0xJTlRcYicsIHJhd19saW5lKToKICAgICAgICAgICAgIGZ1bmN0aW9u
X3N0YXRlLmNoZWNrKGVycm9yLCBsaW5lX251bWJlcikKICAgICBlbGlmIG5vdCBtYXRjaChyJ15c
cyokJywgbGluZSk6CkBAIC0xNTMxLDcgKzE1MzYsNyBAQCBkZWYgY2hlY2tfZnVuY3Rpb25fZGVm
aW5pdGlvbihjbGVhbl9saW5lcywgbGluZV9udW1iZXIsIGZ1bmN0aW9uX3N0YXRlLCBlcnJvcik6
CiAgICAgICAgZXJyb3I6IFRoZSBmdW5jdGlvbiB0byBjYWxsIHdpdGggYW55IGVycm9ycyBmb3Vu
ZC4KICAgICAiIiIKICAgICAjIE9ubHkgZG8gY2hlY2tzIHdoZW4gd2UgaGF2ZSBhIGZ1bmN0aW9u
IGRlY2xhcmF0aW9uLgotICAgIGlmIGxpbmVfbnVtYmVyICE9IGZ1bmN0aW9uX3N0YXRlLmJvZHlf
c3RhcnRfbGluZV9udW1iZXIgb3Igbm90IGZ1bmN0aW9uX3N0YXRlLmlzX2RlY2xhcmF0aW9uOgor
ICAgIGlmIGxpbmVfbnVtYmVyICE9IGZ1bmN0aW9uX3N0YXRlLmJvZHlfc3RhcnRfcG9zaXRpb24u
cm93IG9yIG5vdCBmdW5jdGlvbl9zdGF0ZS5pc19kZWNsYXJhdGlvbjoKICAgICAgICAgcmV0dXJu
CiAKICAgICBwYXJhbWV0ZXJfbGlzdCA9IGZ1bmN0aW9uX3N0YXRlLnBhcmFtZXRlcl9saXN0KCkK
QEAgLTE1NjcsNyArMTU3Miw3IEBAIGRlZiBjaGVja19wYXNzX3B0cl91c2FnZShjbGVhbl9saW5l
cywgbGluZV9udW1iZXIsIGZ1bmN0aW9uX3N0YXRlLCBlcnJvcik6CiAKICAgICBsaW5lcyA9IGNs
ZWFuX2xpbmVzLmxpbmVzCiAgICAgbGluZSA9IGxpbmVzW2xpbmVfbnVtYmVyXQotICAgIGlmIGxp
bmVfbnVtYmVyID4gZnVuY3Rpb25fc3RhdGUuYm9keV9zdGFydF9saW5lX251bWJlcjoKKyAgICBp
ZiBsaW5lX251bWJlciA+IGZ1bmN0aW9uX3N0YXRlLmJvZHlfc3RhcnRfcG9zaXRpb24ucm93Ogog
ICAgICAgICBtYXRjaGVkX3Bhc3NfcHRyID0gbWF0Y2gocideXHMqUGFzcyhbQS1aXVtBLVphLXpd
KilQdHI8JywgbGluZSkKICAgICAgICAgaWYgbWF0Y2hlZF9wYXNzX3B0cjoKICAgICAgICAgICAg
IHR5cGVfbmFtZSA9ICdQYXNzJXNQdHInICUgbWF0Y2hlZF9wYXNzX3B0ci5ncm91cCgxKQpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHBfdW5pdHRl
c3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcF91bml0dGVz
dC5weQppbmRleCA2MTQ0NDVmNGYzNmQxNzRjZGQ2ZDJmNmMzMmU0OTRkNWQ3ZTk4NWQ1Li5kN2Y1
ZDJmYjFmZGQzOTE4OTU2N2ZjNjdjNDNhMGIyZjY3YjQ0NmU2IDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcF91bml0dGVzdC5weQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcF91bml0dGVzdC5weQpAQCAtMzYy
LDkgKzM2MiwxMSBAQCBjbGFzcyBGdW5jdGlvbkRldGVjdGlvblRlc3QoQ3BwU3R5bGVUZXN0QmFz
ZSk6CiAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoZnVuY3Rp
b25fc3RhdGUuaW5fYV9mdW5jdGlvbiwgVHJ1ZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMo
ZnVuY3Rpb25fc3RhdGUuY3VycmVudF9mdW5jdGlvbiwgZnVuY3Rpb25faW5mb3JtYXRpb25bJ25h
bWUnXSArICcoKScpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGZ1bmN0aW9uX3N0YXRlLmJv
ZHlfc3RhcnRfbGluZV9udW1iZXIsIGZ1bmN0aW9uX2luZm9ybWF0aW9uWydib2R5X3N0YXJ0X2xp
bmVfbnVtYmVyJ10pCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGZ1bmN0aW9uX3N0YXRlLmVu
ZGluZ19saW5lX251bWJlciwgZnVuY3Rpb25faW5mb3JtYXRpb25bJ2VuZGluZ19saW5lX251bWJl
ciddKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhmdW5jdGlvbl9zdGF0ZS5pc19kZWNsYXJh
dGlvbiwgZnVuY3Rpb25faW5mb3JtYXRpb25bJ2lzX2RlY2xhcmF0aW9uJ10pCisgICAgICAgIHNl
bGYuYXNzZXJ0X3Bvc2l0aW9uc19lcXVhbChmdW5jdGlvbl9zdGF0ZS5wYXJhbWV0ZXJfc3RhcnRf
cG9zaXRpb24sIGZ1bmN0aW9uX2luZm9ybWF0aW9uWydwYXJhbWV0ZXJfc3RhcnRfcG9zaXRpb24n
XSkKKyAgICAgICAgc2VsZi5hc3NlcnRfcG9zaXRpb25zX2VxdWFsKGZ1bmN0aW9uX3N0YXRlLnBh
cmFtZXRlcl9lbmRfcG9zaXRpb24sIGZ1bmN0aW9uX2luZm9ybWF0aW9uWydwYXJhbWV0ZXJfZW5k
X3Bvc2l0aW9uJ10pCisgICAgICAgIHNlbGYuYXNzZXJ0X3Bvc2l0aW9uc19lcXVhbChmdW5jdGlv
bl9zdGF0ZS5ib2R5X3N0YXJ0X3Bvc2l0aW9uLCBmdW5jdGlvbl9pbmZvcm1hdGlvblsnYm9keV9z
dGFydF9wb3NpdGlvbiddKQorICAgICAgICBzZWxmLmFzc2VydF9wb3NpdGlvbnNfZXF1YWwoZnVu
Y3Rpb25fc3RhdGUuZW5kX3Bvc2l0aW9uLCBmdW5jdGlvbl9pbmZvcm1hdGlvblsnZW5kX3Bvc2l0
aW9uJ10pCiAgICAgICAgIGV4cGVjdGVkX3BhcmFtZXRlcnMgPSBmdW5jdGlvbl9pbmZvcm1hdGlv
bi5nZXQoJ3BhcmFtZXRlcl9saXN0JykKICAgICAgICAgaWYgZXhwZWN0ZWRfcGFyYW1ldGVyczoK
ICAgICAgICAgICAgIGFjdHVhbF9wYXJhbWV0ZXJzID0gZnVuY3Rpb25fc3RhdGUucGFyYW1ldGVy
X2xpc3QoKQpAQCAtMzgxLDQ0ICszODMsNTYgQEAgY2xhc3MgRnVuY3Rpb25EZXRlY3Rpb25UZXN0
KENwcFN0eWxlVGVzdEJhc2UpOgogICAgICAgICAgICAgWyd2b2lkIHRoZVRlc3RGdW5jdGlvbk5h
bWUoaW50KSB7JywKICAgICAgICAgICAgICAnfSddLAogICAgICAgICAgICAgeyduYW1lJzogJ3Ro
ZVRlc3RGdW5jdGlvbk5hbWUnLAotICAgICAgICAgICAgICdib2R5X3N0YXJ0X2xpbmVfbnVtYmVy
JzogMCwKLSAgICAgICAgICAgICAnZW5kaW5nX2xpbmVfbnVtYmVyJzogMSwKKyAgICAgICAgICAg
ICAncGFyYW1ldGVyX3N0YXJ0X3Bvc2l0aW9uJyA6ICgwLCAyNCksCisgICAgICAgICAgICAgJ3Bh
cmFtZXRlcl9lbmRfcG9zaXRpb24nIDogKDAsIDI5KSwKKyAgICAgICAgICAgICAnYm9keV9zdGFy
dF9wb3NpdGlvbic6ICgwLCAzMCksCisgICAgICAgICAgICAgJ2VuZF9wb3NpdGlvbic6ICgxLCAx
KSwKICAgICAgICAgICAgICAnaXNfZGVjbGFyYXRpb24nOiBGYWxzZX0pCiAKICAgICBkZWYgdGVz
dF9mdW5jdGlvbl9kZWNsYXJhdGlvbl9kZXRlY3Rpb24oc2VsZik6CiAgICAgICAgIHNlbGYucGVy
Zm9ybV9mdW5jdGlvbl9kZXRlY3Rpb24oCiAgICAgICAgICAgICBbJ3ZvaWQgYUZ1bmN0aW9uTmFt
ZShpbnQpOyddLAogICAgICAgICAgICAgeyduYW1lJzogJ2FGdW5jdGlvbk5hbWUnLAotICAgICAg
ICAgICAgICdib2R5X3N0YXJ0X2xpbmVfbnVtYmVyJzogMCwKLSAgICAgICAgICAgICAnZW5kaW5n
X2xpbmVfbnVtYmVyJzogMCwKKyAgICAgICAgICAgICAncGFyYW1ldGVyX3N0YXJ0X3Bvc2l0aW9u
JyA6ICgwLCAxOCksCisgICAgICAgICAgICAgJ3BhcmFtZXRlcl9lbmRfcG9zaXRpb24nIDogKDAs
IDIzKSwKKyAgICAgICAgICAgICAnYm9keV9zdGFydF9wb3NpdGlvbic6ICgwLCAyMyksCisgICAg
ICAgICAgICAgJ2VuZF9wb3NpdGlvbic6ICgwLCAyNCksCiAgICAgICAgICAgICAgJ2lzX2RlY2xh
cmF0aW9uJzogVHJ1ZX0pCiAKICAgICAgICAgc2VsZi5wZXJmb3JtX2Z1bmN0aW9uX2RldGVjdGlv
bigKICAgICAgICAgICAgIFsnQ2hlY2tlZEludDxUPiBvcGVyYXRvciAvKGNvbnN0IENoZWNrZWRJ
bnQ8VD4gJmxocywgY29uc3QgQ2hlY2tlZEludDxUPiAmcmhzKTsnXSwKICAgICAgICAgICAgIHsn
bmFtZSc6ICdvcGVyYXRvciAvJywKLSAgICAgICAgICAgICAnYm9keV9zdGFydF9saW5lX251bWJl
cic6IDAsCi0gICAgICAgICAgICAgJ2VuZGluZ19saW5lX251bWJlcic6IDAsCisgICAgICAgICAg
ICAgJ3BhcmFtZXRlcl9zdGFydF9wb3NpdGlvbicgOiAoMCwgMjQpLAorICAgICAgICAgICAgICdw
YXJhbWV0ZXJfZW5kX3Bvc2l0aW9uJyA6ICgwLCA3NiksCisgICAgICAgICAgICAgJ2JvZHlfc3Rh
cnRfcG9zaXRpb24nOiAoMCwgNzYpLAorICAgICAgICAgICAgICdlbmRfcG9zaXRpb24nOiAoMCwg
NzcpLAogICAgICAgICAgICAgICdpc19kZWNsYXJhdGlvbic6IFRydWV9KQogCiAgICAgICAgIHNl
bGYucGVyZm9ybV9mdW5jdGlvbl9kZXRlY3Rpb24oCiAgICAgICAgICAgICBbJ0NoZWNrZWRJbnQ8
VD4gb3BlcmF0b3IgLShjb25zdCBDaGVja2VkSW50PFQ+ICZsaHMsIGNvbnN0IENoZWNrZWRJbnQ8
VD4gJnJocyk7J10sCiAgICAgICAgICAgICB7J25hbWUnOiAnb3BlcmF0b3IgLScsCi0gICAgICAg
ICAgICAgJ2JvZHlfc3RhcnRfbGluZV9udW1iZXInOiAwLAotICAgICAgICAgICAgICdlbmRpbmdf
bGluZV9udW1iZXInOiAwLAotICAgICAgICAgICAgJ2lzX2RlY2xhcmF0aW9uJzogVHJ1ZX0pCisg
ICAgICAgICAgICAgJ3BhcmFtZXRlcl9zdGFydF9wb3NpdGlvbicgOiAoMCwgMjQpLAorICAgICAg
ICAgICAgICdwYXJhbWV0ZXJfZW5kX3Bvc2l0aW9uJyA6ICgwLCA3NiksCisgICAgICAgICAgICAg
J2JvZHlfc3RhcnRfcG9zaXRpb24nOiAoMCwgNzYpLAorICAgICAgICAgICAgICdlbmRfcG9zaXRp
b24nOiAoMCwgNzcpLAorICAgICAgICAgICAgICdpc19kZWNsYXJhdGlvbic6IFRydWV9KQogCiAg
ICAgICAgIHNlbGYucGVyZm9ybV9mdW5jdGlvbl9kZXRlY3Rpb24oCiAgICAgICAgICAgICBbJ0No
ZWNrZWRJbnQ8VD4gb3BlcmF0b3IgIT0oY29uc3QgQ2hlY2tlZEludDxUPiAmbGhzLCBjb25zdCBD
aGVja2VkSW50PFQ+ICZyaHMpOyddLAogICAgICAgICAgICAgeyduYW1lJzogJ29wZXJhdG9yICE9
JywKLSAgICAgICAgICAgICAnYm9keV9zdGFydF9saW5lX251bWJlcic6IDAsCi0gICAgICAgICAg
ICAgJ2VuZGluZ19saW5lX251bWJlcic6IDAsCisgICAgICAgICAgICAgJ3BhcmFtZXRlcl9zdGFy
dF9wb3NpdGlvbicgOiAoMCwgMjUpLAorICAgICAgICAgICAgICdwYXJhbWV0ZXJfZW5kX3Bvc2l0
aW9uJyA6ICgwLCA3NyksCisgICAgICAgICAgICAgJ2JvZHlfc3RhcnRfcG9zaXRpb24nOiAoMCwg
NzcpLAorICAgICAgICAgICAgICdlbmRfcG9zaXRpb24nOiAoMCwgNzgpLAogICAgICAgICAgICAg
ICdpc19kZWNsYXJhdGlvbic6IFRydWV9KQogCiAgICAgICAgIHNlbGYucGVyZm9ybV9mdW5jdGlv
bl9kZXRlY3Rpb24oCiAgICAgICAgICAgICBbJ0NoZWNrZWRJbnQ8VD4gb3BlcmF0b3IgKyhjb25z
dCBDaGVja2VkSW50PFQ+ICZsaHMsIGNvbnN0IENoZWNrZWRJbnQ8VD4gJnJocyk7J10sCiAgICAg
ICAgICAgICB7J25hbWUnOiAnb3BlcmF0b3IgKycsCi0gICAgICAgICAgICAgJ2JvZHlfc3RhcnRf
bGluZV9udW1iZXInOiAwLAotICAgICAgICAgICAgICdlbmRpbmdfbGluZV9udW1iZXInOiAwLAor
ICAgICAgICAgICAgICdwYXJhbWV0ZXJfc3RhcnRfcG9zaXRpb24nIDogKDAsIDI0KSwKKyAgICAg
ICAgICAgICAncGFyYW1ldGVyX2VuZF9wb3NpdGlvbicgOiAoMCwgNzYpLAorICAgICAgICAgICAg
ICdib2R5X3N0YXJ0X3Bvc2l0aW9uJzogKDAsIDc2KSwKKyAgICAgICAgICAgICAnZW5kX3Bvc2l0
aW9uJzogKDAsIDc3KSwKICAgICAgICAgICAgICAnaXNfZGVjbGFyYXRpb24nOiBUcnVlfSkKIAog
ICAgIGRlZiB0ZXN0X2lnbm9yZV9tYWNyb3Moc2VsZik6CkBAIC00MzMsOCArNDQ3LDEwIEBAIGNs
YXNzIEZ1bmN0aW9uRGV0ZWN0aW9uVGVzdChDcHBTdHlsZVRlc3RCYXNlKToKICAgICAgICAgICAg
ICMgVGhpcyBpc24ndCBhIGZ1bmN0aW9uIGJ1dCBpdCBsb29rcyBsaWtlIG9uZSB0byBvdXIgc2lt
cGxlCiAgICAgICAgICAgICAjIGFsZ29yaXRobSBhbmQgdGhhdCBpcyBvay4KICAgICAgICAgICAg
IHsnbmFtZSc6ICdhc20nLAotICAgICAgICAgICAgICdib2R5X3N0YXJ0X2xpbmVfbnVtYmVyJzog
MiwKLSAgICAgICAgICAgICAnZW5kaW5nX2xpbmVfbnVtYmVyJzogMiwKKyAgICAgICAgICAgICAn
cGFyYW1ldGVyX3N0YXJ0X3Bvc2l0aW9uJyA6ICgwLCAzKSwKKyAgICAgICAgICAgICAncGFyYW1l
dGVyX2VuZF9wb3NpdGlvbicgOiAoMiwgMSksCisgICAgICAgICAgICAgJ2JvZHlfc3RhcnRfcG9z
aXRpb24nOiAoMiwgMSksCisgICAgICAgICAgICAgJ2VuZF9wb3NpdGlvbic6ICgyLCAyKSwKICAg
ICAgICAgICAgICAnaXNfZGVjbGFyYXRpb24nOiBUcnVlfSkKIAogICAgICAgICAjIFNpbXBsZSB0
ZXN0IGNhc2Ugd2l0aCBzb21ldGhpbmcgdGhhdCBpcyBub3QgYSBmdW5jdGlvbi4KQEAgLTQ0NSw4
ICs0NjEsMTAgQEAgY2xhc3MgRnVuY3Rpb25EZXRlY3Rpb25UZXN0KENwcFN0eWxlVGVzdEJhc2Up
OgogICAgICAgICBmdW5jdGlvbl9zdGF0ZSA9IHNlbGYucGVyZm9ybV9mdW5jdGlvbl9kZXRlY3Rp
b24oCiAgICAgICAgICAgICBbJ3ZvaWQgZnVuY3Rpb25OYW1lKCk7J10sCiAgICAgICAgICAgICB7
J25hbWUnOiAnZnVuY3Rpb25OYW1lJywKLSAgICAgICAgICAgICAnYm9keV9zdGFydF9saW5lX251
bWJlcic6IDAsCi0gICAgICAgICAgICAgJ2VuZGluZ19saW5lX251bWJlcic6IDAsCisgICAgICAg
ICAgICAgJ3BhcmFtZXRlcl9zdGFydF9wb3NpdGlvbicgOiAoMCwgMTcpLAorICAgICAgICAgICAg
ICdwYXJhbWV0ZXJfZW5kX3Bvc2l0aW9uJyA6ICgwLCAxOSksCisgICAgICAgICAgICAgJ2JvZHlf
c3RhcnRfcG9zaXRpb24nOiAoMCwgMTkpLAorICAgICAgICAgICAgICdlbmRfcG9zaXRpb24nOiAo
MCwgMjApLAogICAgICAgICAgICAgICdpc19kZWNsYXJhdGlvbic6IFRydWUsCiAgICAgICAgICAg
ICAgJ3BhcmFtZXRlcl9saXN0JzogKCl9KQogCkBAIC00NTQsOCArNDcyLDEwIEBAIGNsYXNzIEZ1
bmN0aW9uRGV0ZWN0aW9uVGVzdChDcHBTdHlsZVRlc3RCYXNlKToKICAgICAgICAgZnVuY3Rpb25f
c3RhdGUgPSBzZWxmLnBlcmZvcm1fZnVuY3Rpb25fZGV0ZWN0aW9uKAogICAgICAgICAgICAgWyd2
b2lkIGZ1bmN0aW9uTmFtZShpbnQpOyddLAogICAgICAgICAgICAgeyduYW1lJzogJ2Z1bmN0aW9u
TmFtZScsCi0gICAgICAgICAgICAgJ2JvZHlfc3RhcnRfbGluZV9udW1iZXInOiAwLAotICAgICAg
ICAgICAgICdlbmRpbmdfbGluZV9udW1iZXInOiAwLAorICAgICAgICAgICAgICdwYXJhbWV0ZXJf
c3RhcnRfcG9zaXRpb24nIDogKDAsIDE3KSwKKyAgICAgICAgICAgICAncGFyYW1ldGVyX2VuZF9w
b3NpdGlvbicgOiAoMCwgMjIpLAorICAgICAgICAgICAgICdib2R5X3N0YXJ0X3Bvc2l0aW9uJzog
KDAsIDIyKSwKKyAgICAgICAgICAgICAnZW5kX3Bvc2l0aW9uJzogKDAsIDIzKSwKICAgICAgICAg
ICAgICAnaXNfZGVjbGFyYXRpb24nOiBUcnVlLAogICAgICAgICAgICAgICdwYXJhbWV0ZXJfbGlz
dCc6CiAgICAgICAgICAgICAgICAgICh7J3R5cGUnOiAnaW50JywgJ25hbWUnOiAnJywgJ3Jvdyc6
IDB9LCl9KQpAQCAtNDY0LDggKzQ4NCwxMCBAQCBjbGFzcyBGdW5jdGlvbkRldGVjdGlvblRlc3Qo
Q3BwU3R5bGVUZXN0QmFzZSk6CiAgICAgICAgIGZ1bmN0aW9uX3N0YXRlID0gc2VsZi5wZXJmb3Jt
X2Z1bmN0aW9uX2RldGVjdGlvbigKICAgICAgICAgICAgIFsndm9pZCBmdW5jdGlvbk5hbWUodW5z
aWduZWQgYSwgc2hvcnQgYiwgbG9uZyBjLCBsb25nIGxvbmcgc2hvcnQgdW5zaWduZWQgaW50KTsn
XSwKICAgICAgICAgICAgIHsnbmFtZSc6ICdmdW5jdGlvbk5hbWUnLAotICAgICAgICAgICAgICdi
b2R5X3N0YXJ0X2xpbmVfbnVtYmVyJzogMCwKLSAgICAgICAgICAgICAnZW5kaW5nX2xpbmVfbnVt
YmVyJzogMCwKKyAgICAgICAgICAgICAncGFyYW1ldGVyX3N0YXJ0X3Bvc2l0aW9uJyA6ICgwLCAx
NyksCisgICAgICAgICAgICAgJ3BhcmFtZXRlcl9lbmRfcG9zaXRpb24nIDogKDAsIDc2KSwKKyAg
ICAgICAgICAgICAnYm9keV9zdGFydF9wb3NpdGlvbic6ICgwLCA3NiksCisgICAgICAgICAgICAg
J2VuZF9wb3NpdGlvbic6ICgwLCA3NyksCiAgICAgICAgICAgICAgJ2lzX2RlY2xhcmF0aW9uJzog
VHJ1ZSwKICAgICAgICAgICAgICAncGFyYW1ldGVyX2xpc3QnOgogICAgICAgICAgICAgICAgICAo
eyd0eXBlJzogJ3Vuc2lnbmVkJywgJ25hbWUnOiAnYScsICdyb3cnOiAwfSwKQEAgLTQ3Nyw4ICs0
OTksMTAgQEAgY2xhc3MgRnVuY3Rpb25EZXRlY3Rpb25UZXN0KENwcFN0eWxlVGVzdEJhc2UpOgog
ICAgICAgICBmdW5jdGlvbl9zdGF0ZSA9IHNlbGYucGVyZm9ybV9mdW5jdGlvbl9kZXRlY3Rpb24o
CiAgICAgICAgICAgICBbJ3ZpcnR1YWwgdm9pZCBkZXRlcm1pbmVBUklBRHJvcEVmZmVjdHMoVmVj
dG9yPFN0cmluZz4qJiwgY29uc3QgdW5zaWduZWQgbG9uZyBpbnQqJiwgY29uc3QgTWVkaWFQbGF5
ZXI6OlByZWxvYWQsIE90aGVyPE90aGVyMiwgT3RoZXIzPFAxLCBQMj4gPiwgaW50KTsnXSwKICAg
ICAgICAgICAgIHsnbmFtZSc6ICdkZXRlcm1pbmVBUklBRHJvcEVmZmVjdHMnLAotICAgICAgICAg
ICAgICdib2R5X3N0YXJ0X2xpbmVfbnVtYmVyJzogMCwKLSAgICAgICAgICAgICAnZW5kaW5nX2xp
bmVfbnVtYmVyJzogMCwKKyAgICAgICAgICAgICAncGFyYW1ldGVyX3N0YXJ0X3Bvc2l0aW9uJyA6
ICgwLCAzNyksCisgICAgICAgICAgICAgJ3BhcmFtZXRlcl9lbmRfcG9zaXRpb24nIDogKDAsIDE0
NyksCisgICAgICAgICAgICAgJ2JvZHlfc3RhcnRfcG9zaXRpb24nOiAoMCwgMTQ3KSwKKyAgICAg
ICAgICAgICAnZW5kX3Bvc2l0aW9uJzogKDAsIDE0OCksCiAgICAgICAgICAgICAgJ2lzX2RlY2xh
cmF0aW9uJzogVHJ1ZSwKICAgICAgICAgICAgICAncGFyYW1ldGVyX2xpc3QnOgogICAgICAgICAg
ICAgICAgICAoeyd0eXBlJzogJ1ZlY3RvcjxTdHJpbmc+KiYnLCAnbmFtZSc6ICcnLCAncm93Jzog
MH0sCkBAIC00OTQsOCArNTE4LDEwIEBAIGNsYXNzIEZ1bmN0aW9uRGV0ZWN0aW9uVGVzdChDcHBT
dHlsZVRlc3RCYXNlKToKICAgICAgICAgICAgICAnY29uc3QgQ29tcGxleFRlbXBsYXRlPENsYXNz
MSwgTmVzdGVkVGVtcGxhdGU8UDEsIFAyPiA+KiBjb25zdCAqIHBhcmFtID0gbmV3IENvbXBsZXhU
ZW1wbGF0ZTxDbGFzczEsIE5lc3RlZFRlbXBsYXRlPFAxLCBQMj4gPigzNCwgNDIpLCcsCiAgICAg
ICAgICAgICAgJ2ludCogbXlDb3VudCA9IDApOyddLAogICAgICAgICAgICAgeyduYW1lJzogJ2FG
dW5jdGlvbk5hbWUnLAotICAgICAgICAgICAgICdib2R5X3N0YXJ0X2xpbmVfbnVtYmVyJzogMywK
LSAgICAgICAgICAgICAnZW5kaW5nX2xpbmVfbnVtYmVyJzogMywKKyAgICAgICAgICAgICAncGFy
YW1ldGVyX3N0YXJ0X3Bvc2l0aW9uJyA6ICgwLCA0NSksCisgICAgICAgICAgICAgJ3BhcmFtZXRl
cl9lbmRfcG9zaXRpb24nIDogKDMsIDE3KSwKKyAgICAgICAgICAgICAnYm9keV9zdGFydF9wb3Np
dGlvbic6ICgzLCAxNyksCisgICAgICAgICAgICAgJ2VuZF9wb3NpdGlvbic6ICgzLCAxOCksCiAg
ICAgICAgICAgICAgJ2lzX2RlY2xhcmF0aW9uJzogVHJ1ZSwKICAgICAgICAgICAgICAncGFyYW1l
dGVyX2xpc3QnOgogICAgICAgICAgICAgICAgICAoeyd0eXBlJzogJ1Bhc3NSZWZQdHI8TXlDbGFz
cz4nLCAnbmFtZSc6ICdwYXJhbU5hbWUnLCAncm93JzogMH0sCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78891</attachid>
            <date>2011-01-13 22:30:15 -0800</date>
            <delta_ts>2011-01-13 22:58:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52424-20110113223014.patch</filename>
            <type>text/plain</type>
            <size>16429</size>
            <attacher name="David Levin">levin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3MTY5
ZGRlMmI2ZTk3M2FjZmFhNDMxNDAxODJhMmEwZmE0ZTgyMDYxLi41Y2ZkZTMwNzg0ZWRjYjdlNjQ4
OWZiODU0YTA0MDAyNjY5NDE0MWJlIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDEtMTIgIERhdmlkIExldmlu
ICA8bGV2aW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIGNoZWNrLXdlYmtpdC1zdHlsZTogX0Z1bmN0aW9uU3RhdGUgc2hvdWxk
IHVzZSBQb3NpdGlvbiB0byBrbm93IHdoZXJlIGl0ZW1zIGFyZS4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUyNDI0CisKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcC5weToKKyAgICAgICAgKF9GdW5jdGlvblN0YXRl
LiopOiBDaGFuZ2VkIF9GdW5jdGlvblN0YXRlIHRvIHVzZSBQb3NpdGlvbiBpbnN0ZWFkIG9mIGxp
bmUgbnVtYmVycy4KKyAgICAgICAgKGRldGVjdF9mdW5jdGlvbnMpOiBDaGFuZ2VkIHRvIHBhc3Mg
UG9zaXRpb24ncyB0byBfRnVuY3Rpb25TdGF0ZS5iZWdpbiBhbmQKKyAgICAgICAgZGlkIHNvbWUg
bWlub3IgY2xlYW4tdXAuCisgICAgICAgICgqKTogT3RoZXIgY2hhbmdlcyBhcmUgc2ltcGx5IGFi
b3V0IGNvbnZlcnRpbmcgdG8gdXNlIHRoZSBQb3NpdGlvbidzIGluX0Z1bmN0aW9uU3RhdGUKKyAg
ICAgICAgaW5zdGVhZCBvZiBsaW5lIG51bWJlcnMuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS9zdHlsZS9jaGVja2Vycy9jcHBfdW5pdHRlc3QucHk6IENoYW5nZWQgdGhlIHRlc3QgY29kZQor
ICAgICAgICB0byB2ZXJpZnkgdGhlIHBvc2l0aW9ucyBzdG9yZWQgaW4gX0Z1bmN0aW9uU3RhdGUu
CisKIDIwMTEtMDEtMTMgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IERhdmlkIExldmluLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9zdHlsZS9jaGVja2Vycy9jcHAucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxl
L2NoZWNrZXJzL2NwcC5weQppbmRleCBiYzFmYWJkNDgzZThiOGMyYTQxZTJkMzU1MDQyYmFiYzI5
MGFhNDc1Li42MWEzZGJkNjc3Njc3ZmMzMGFjMmM4N2JjNDEwN2U1NDVjN2VmZWU3IDEwMDY0NAot
LS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcC5weQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcC5weQpAQCAtNDkyLDMwICs0
OTIsMjkgQEAgY2xhc3MgX0Z1bmN0aW9uU3RhdGUob2JqZWN0KToKICAgICAgICAgc2VsZi5jdXJy
ZW50X2Z1bmN0aW9uID0gJycKICAgICAgICAgc2VsZi5pbl9hX2Z1bmN0aW9uID0gRmFsc2UKICAg
ICAgICAgc2VsZi5saW5lc19pbl9mdW5jdGlvbiA9IDAKLSAgICAgICAgIyBNYWtlIHN1cmUgdGhl
c2Ugd2lsbCBub3QgYmUgbWlzdGFrZW4gZm9yIHJlYWwgbGluZXMgKGV2ZW4gd2hlbiBhCisgICAg
ICAgICMgTWFrZSBzdXJlIHRoZXNlIHdpbGwgbm90IGJlIG1pc3Rha2VuIGZvciByZWFsIHBvc2l0
aW9ucyAoZXZlbiB3aGVuIGEKICAgICAgICAgIyBzbWFsbCBhbW91bnQgaXMgYWRkZWQgdG8gdGhl
bSkuCi0gICAgICAgIHNlbGYuYm9keV9zdGFydF9saW5lX251bWJlciA9IC0xMDAwCi0gICAgICAg
IHNlbGYuZW5kaW5nX2xpbmVfbnVtYmVyID0gLTEwMDAKKyAgICAgICAgc2VsZi5ib2R5X3N0YXJ0
X3Bvc2l0aW9uID0gUG9zaXRpb24oLTEwMDAsIDApCisgICAgICAgIHNlbGYuZW5kX3Bvc2l0aW9u
ID0gUG9zaXRpb24oLTEwMDAsIDApCiAKLSAgICBkZWYgYmVnaW4oc2VsZiwgZnVuY3Rpb25fbmFt
ZSwgYm9keV9zdGFydF9saW5lX251bWJlciwgZW5kaW5nX2xpbmVfbnVtYmVyLCBpc19kZWNsYXJh
dGlvbiwKKyAgICBkZWYgYmVnaW4oc2VsZiwgZnVuY3Rpb25fbmFtZSwgYm9keV9zdGFydF9wb3Np
dGlvbiwgZW5kX3Bvc2l0aW9uLAogICAgICAgICAgICAgICBwYXJhbWV0ZXJfc3RhcnRfcG9zaXRp
b24sIHBhcmFtZXRlcl9lbmRfcG9zaXRpb24sIGNsZWFuX2xpbmVzKToKICAgICAgICAgIiIiU3Rh
cnQgYW5hbHl6aW5nIGZ1bmN0aW9uIGJvZHkuCiAKICAgICAgICAgQXJnczoKICAgICAgICAgICAg
IGZ1bmN0aW9uX25hbWU6IFRoZSBuYW1lIG9mIHRoZSBmdW5jdGlvbiBiZWluZyB0cmFja2VkLgot
ICAgICAgICAgICAgYm9keV9zdGFydF9saW5lX251bWJlcjogVGhlIGxpbmUgbnVtYmVyIG9mIHRo
ZSB7IG9yIHRoZSA7IGZvciBhIHByb3RveXBlLgotICAgICAgICAgICAgZW5kaW5nX2xpbmVfbnVt
YmVyOiBUaGUgbGluZSBudW1iZXIgd2hlcmUgdGhlIGZ1bmN0aW9uIGVuZHMuCi0gICAgICAgICAg
ICBpc19kZWNsYXJhdGlvbjogVHJ1ZSBpZiB0aGlzIGlzIGEgcHJvdG90eXBlLgotICAgICAgICAg
ICAgcGFyYW1ldGVyX3N0YXJ0X3Bvc2l0aW9uOiBwb3NpdGlvbiBpbiBlbGlkZWQgb2YgdGhlICco
JyBmb3IgdGhlIHBhcmFtZXRlcnMuCi0gICAgICAgICAgICBwYXJhbWV0ZXJfZW5kX3Bvc2l0aW9u
OiBwb3NpdGlvbiBpbiBlbGlkZWQgb2YgdGhlICcpJyBmb3IgdGhlIHBhcmFtZXRlcnMuCisgICAg
ICAgICAgICBib2R5X3N0YXJ0X3Bvc2l0aW9uOiBQb3NpdGlvbiBpbiBlbGlkZWQgb2YgdGhlIHsg
b3IgdGhlIDsgZm9yIGEgcHJvdG90eXBlLgorICAgICAgICAgICAgZW5kX3Bvc2l0aW9uOiBQb3Np
dGlvbiBpbiBlbGlkZWQganVzdCBhZnRlciB0aGUgZmluYWwgfSAob3IgOyBpcy4KKyAgICAgICAg
ICAgIHBhcmFtZXRlcl9zdGFydF9wb3NpdGlvbjogUG9zaXRpb24gaW4gZWxpZGVkIG9mIHRoZSAn
KCcgZm9yIHRoZSBwYXJhbWV0ZXJzLgorICAgICAgICAgICAgcGFyYW1ldGVyX2VuZF9wb3NpdGlv
bjogUG9zaXRpb24gaW4gZWxpZGVkIGp1c3QgYWZ0ZXIgdGhlICcpJyBmb3IgdGhlIHBhcmFtZXRl
cnMuCiAgICAgICAgICAgICBjbGVhbl9saW5lczogQSBDbGVhbnNlZExpbmVzIGluc3RhbmNlIGNv
bnRhaW5pbmcgdGhlIGZpbGUuCiAgICAgICAgICIiIgogICAgICAgICBzZWxmLmluX2FfZnVuY3Rp
b24gPSBUcnVlCiAgICAgICAgIHNlbGYubGluZXNfaW5fZnVuY3Rpb24gPSAtMSAgIyBEb24ndCBj
b3VudCB0aGUgb3BlbiBicmFjZSBsaW5lLgogICAgICAgICBzZWxmLmN1cnJlbnRfZnVuY3Rpb24g
PSBmdW5jdGlvbl9uYW1lCi0gICAgICAgIHNlbGYuYm9keV9zdGFydF9saW5lX251bWJlciA9IGJv
ZHlfc3RhcnRfbGluZV9udW1iZXIKLSAgICAgICAgc2VsZi5lbmRpbmdfbGluZV9udW1iZXIgPSBl
bmRpbmdfbGluZV9udW1iZXIKLSAgICAgICAgc2VsZi5pc19kZWNsYXJhdGlvbiA9IGlzX2RlY2xh
cmF0aW9uCisgICAgICAgIHNlbGYuYm9keV9zdGFydF9wb3NpdGlvbiA9IGJvZHlfc3RhcnRfcG9z
aXRpb24KKyAgICAgICAgc2VsZi5lbmRfcG9zaXRpb24gPSBlbmRfcG9zaXRpb24KKyAgICAgICAg
c2VsZi5pc19kZWNsYXJhdGlvbiA9IGNsZWFuX2xpbmVzLmVsaWRlZFtib2R5X3N0YXJ0X3Bvc2l0
aW9uLnJvd11bYm9keV9zdGFydF9wb3NpdGlvbi5jb2x1bW5dID09ICc7JwogICAgICAgICBzZWxm
LnBhcmFtZXRlcl9zdGFydF9wb3NpdGlvbiA9IHBhcmFtZXRlcl9zdGFydF9wb3NpdGlvbgogICAg
ICAgICBzZWxmLnBhcmFtZXRlcl9lbmRfcG9zaXRpb24gPSBwYXJhbWV0ZXJfZW5kX3Bvc2l0aW9u
CiAgICAgICAgIHNlbGYuX2NsZWFuX2xpbmVzID0gY2xlYW5fbGluZXMKQEAgLTUzMCw3ICs1Mjks
NyBAQCBjbGFzcyBfRnVuY3Rpb25TdGF0ZShvYmplY3QpOgogCiAgICAgZGVmIGNvdW50KHNlbGYs
IGxpbmVfbnVtYmVyKToKICAgICAgICAgIiIiQ291bnQgbGluZSBpbiBjdXJyZW50IGZ1bmN0aW9u
IGJvZHkuIiIiCi0gICAgICAgIGlmIHNlbGYuaW5fYV9mdW5jdGlvbiBhbmQgbGluZV9udW1iZXIg
Pj0gc2VsZi5ib2R5X3N0YXJ0X2xpbmVfbnVtYmVyOgorICAgICAgICBpZiBzZWxmLmluX2FfZnVu
Y3Rpb24gYW5kIGxpbmVfbnVtYmVyID49IHNlbGYuYm9keV9zdGFydF9wb3NpdGlvbi5yb3c6CiAg
ICAgICAgICAgICBzZWxmLmxpbmVzX2luX2Z1bmN0aW9uICs9IDEKIAogICAgIGRlZiBjaGVjayhz
ZWxmLCBlcnJvciwgbGluZV9udW1iZXIpOgpAQCAtMTM5Myw3ICsxMzkyLDcgQEAgZGVmIGRldGVj
dF9mdW5jdGlvbnMoY2xlYW5fbGluZXMsIGxpbmVfbnVtYmVyLCBmdW5jdGlvbl9zdGF0ZSwgZXJy
b3IpOgogICAgICAgZXJyb3I6IFRoZSBmdW5jdGlvbiB0byBjYWxsIHdpdGggYW55IGVycm9ycyBm
b3VuZC4KICAgICAiIiIKICAgICAjIEFyZSB3ZSBub3cgcGFzdCB0aGUgZW5kIG9mIGEgZnVuY3Rp
b24/Ci0gICAgaWYgZnVuY3Rpb25fc3RhdGUuZW5kaW5nX2xpbmVfbnVtYmVyICsgMSA9PSBsaW5l
X251bWJlcjoKKyAgICBpZiBmdW5jdGlvbl9zdGF0ZS5lbmRfcG9zaXRpb24ucm93ICsgMSA9PSBs
aW5lX251bWJlcjoKICAgICAgICAgZnVuY3Rpb25fc3RhdGUuZW5kKCkKIAogICAgICMgSWYgd2Un
cmUgaW4gYSBmdW5jdGlvbiwgZG9uJ3QgdHJ5IHRvIGRldGVjdCBhIG5ldyBvbmUuCkBAIC0xNDI0
LDcgKzE0MjMsMTAgQEAgZGVmIGRldGVjdF9mdW5jdGlvbnMoY2xlYW5fbGluZXMsIGxpbmVfbnVt
YmVyLCBmdW5jdGlvbl9zdGF0ZSwgZXJyb3IpOgogICAgIGZvciBzdGFydF9saW5lX251bWJlciBp
biB4cmFuZ2UobGluZV9udW1iZXIsIGNsZWFuX2xpbmVzLm51bV9saW5lcygpKToKICAgICAgICAg
c3RhcnRfbGluZSA9IGNsZWFuX2xpbmVzLmVsaWRlZFtzdGFydF9saW5lX251bWJlcl0KICAgICAg
ICAgam9pbmVkX2xpbmUgKz0gJyAnICsgc3RhcnRfbGluZS5sc3RyaXAoKQotICAgICAgICBpZiBz
ZWFyY2gocid7fDsnLCBzdGFydF9saW5lKToKKyAgICAgICAgYm9keV9tYXRjaCA9IHNlYXJjaChy
J3t8OycsIHN0YXJ0X2xpbmUpCisgICAgICAgIGlmIGJvZHlfbWF0Y2g6CisgICAgICAgICAgICBi
b2R5X3N0YXJ0X3Bvc2l0aW9uID0gUG9zaXRpb24oc3RhcnRfbGluZV9udW1iZXIsIGJvZHlfbWF0
Y2guc3RhcnQoMCkpCisKICAgICAgICAgICAgICMgUmVwbGFjZSB0ZW1wbGF0ZSBjb25zdHJ1Y3Rz
IHdpdGggXyBzbyB0aGF0IG5vIHNwYWNlcyByZW1haW4gaW4gdGhlIGZ1bmN0aW9uIG5hbWUsCiAg
ICAgICAgICAgICAjIHdoaWxlIGtlZXBpbmcgdGhlIGNvbHVtbiBudW1iZXJzIG9mIG90aGVyIGNo
YXJhY3RlcnMgdGhlIHNhbWUgYXMgImxpbmUiLgogICAgICAgICAgICAgbGluZV93aXRoX25vX3Rl
bXBsYXRlcyA9IGl0ZXJhdGl2ZWx5X3JlcGxhY2VfbWF0Y2hlc193aXRoX2NoYXIocic8W148Pl0q
PicsICdfJywgbGluZSkKQEAgLTE0NDksMTMgKzE0NTEsMTYgQEAgZGVmIGRldGVjdF9mdW5jdGlv
bnMoY2xlYW5fbGluZXMsIGxpbmVfbnVtYmVyLCBmdW5jdGlvbl9zdGF0ZSwgZXJyb3IpOgogICAg
ICAgICAgICAgICAgICMgTm8gZW5kIHdhcyBmb3VuZC4KICAgICAgICAgICAgICAgICByZXR1cm4K
IAotICAgICAgICAgICAgaXNfZGVjbGFyYXRpb24gPSBib29sKHNlYXJjaChyJ15bXntdKjsnLCBz
dGFydF9saW5lKSkKLSAgICAgICAgICAgIGlmIGlzX2RlY2xhcmF0aW9uOgotICAgICAgICAgICAg
ICAgIGVuZGluZ19saW5lX251bWJlciA9IHN0YXJ0X2xpbmVfbnVtYmVyCisgICAgICAgICAgICBp
ZiBzdGFydF9saW5lW2JvZHlfc3RhcnRfcG9zaXRpb24uY29sdW1uXSA9PSAnOyc6CisgICAgICAg
ICAgICAgICAgZW5kX3Bvc2l0aW9uID0gUG9zaXRpb24oYm9keV9zdGFydF9wb3NpdGlvbi5yb3cs
IGJvZHlfc3RhcnRfcG9zaXRpb24uY29sdW1uICsgMSkKICAgICAgICAgICAgIGVsc2U6Ci0gICAg
ICAgICAgICAgICAgb3Blbl9icmFjZV9pbmRleCA9IHN0YXJ0X2xpbmUuZmluZCgneycpCi0gICAg
ICAgICAgICAgICAgZW5kaW5nX2xpbmVfbnVtYmVyID0gY2xvc2VfZXhwcmVzc2lvbihjbGVhbl9s
aW5lcy5lbGlkZWQsIFBvc2l0aW9uKHN0YXJ0X2xpbmVfbnVtYmVyLCBvcGVuX2JyYWNlX2luZGV4
KSkucm93Ci0gICAgICAgICAgICBmdW5jdGlvbl9zdGF0ZS5iZWdpbihmdW5jdGlvbiwgc3RhcnRf
bGluZV9udW1iZXIsIGVuZGluZ19saW5lX251bWJlciwgaXNfZGVjbGFyYXRpb24sCisgICAgICAg
ICAgICAgICAgZW5kX3Bvc2l0aW9uID0gY2xvc2VfZXhwcmVzc2lvbihjbGVhbl9saW5lcy5lbGlk
ZWQsIGJvZHlfc3RhcnRfcG9zaXRpb24pCisKKyAgICAgICAgICAgICMgQ2hlY2sgZm9yIG5vbnNl
bnNpY2FsIHBvc2l0aW9ucy4gKFRoaXMgaGFwcGVucyBpbiB0ZXN0IGNhc2VzIHdoaWNoIGNoZWNr
IGNvZGUgc25pcHBldHMuKQorICAgICAgICAgICAgaWYgcGFyYW1ldGVyX2VuZF9wb3NpdGlvbiA+
IGJvZHlfc3RhcnRfcG9zaXRpb246CisgICAgICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAg
ICAgIGZ1bmN0aW9uX3N0YXRlLmJlZ2luKGZ1bmN0aW9uLCBib2R5X3N0YXJ0X3Bvc2l0aW9uLCBl
bmRfcG9zaXRpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJf
c3RhcnRfcG9zaXRpb24sIHBhcmFtZXRlcl9lbmRfcG9zaXRpb24sIGNsZWFuX2xpbmVzKQogICAg
ICAgICAgICAgcmV0dXJuCiAKQEAgLTE0ODUsNyArMTQ5MCw3IEBAIGRlZiBjaGVja19mb3JfZnVu
Y3Rpb25fbGVuZ3RocyhjbGVhbl9saW5lcywgbGluZV9udW1iZXIsIGZ1bmN0aW9uX3N0YXRlLCBl
cnJvcik6CiAgICAgcmF3ID0gY2xlYW5fbGluZXMucmF3X2xpbmVzCiAgICAgcmF3X2xpbmUgPSBy
YXdbbGluZV9udW1iZXJdCiAKLSAgICBpZiBmdW5jdGlvbl9zdGF0ZS5lbmRpbmdfbGluZV9udW1i
ZXIgPT0gbGluZV9udW1iZXI6ICAjIGxhc3QgbGluZQorICAgIGlmIGZ1bmN0aW9uX3N0YXRlLmVu
ZF9wb3NpdGlvbi5yb3cgPT0gbGluZV9udW1iZXI6ICAjIGxhc3QgbGluZQogICAgICAgICBpZiBu
b3Qgc2VhcmNoKHInXGJOT0xJTlRcYicsIHJhd19saW5lKToKICAgICAgICAgICAgIGZ1bmN0aW9u
X3N0YXRlLmNoZWNrKGVycm9yLCBsaW5lX251bWJlcikKICAgICBlbGlmIG5vdCBtYXRjaChyJ15c
cyokJywgbGluZSk6CkBAIC0xNTMxLDcgKzE1MzYsNyBAQCBkZWYgY2hlY2tfZnVuY3Rpb25fZGVm
aW5pdGlvbihjbGVhbl9saW5lcywgbGluZV9udW1iZXIsIGZ1bmN0aW9uX3N0YXRlLCBlcnJvcik6
CiAgICAgICAgZXJyb3I6IFRoZSBmdW5jdGlvbiB0byBjYWxsIHdpdGggYW55IGVycm9ycyBmb3Vu
ZC4KICAgICAiIiIKICAgICAjIE9ubHkgZG8gY2hlY2tzIHdoZW4gd2UgaGF2ZSBhIGZ1bmN0aW9u
IGRlY2xhcmF0aW9uLgotICAgIGlmIGxpbmVfbnVtYmVyICE9IGZ1bmN0aW9uX3N0YXRlLmJvZHlf
c3RhcnRfbGluZV9udW1iZXIgb3Igbm90IGZ1bmN0aW9uX3N0YXRlLmlzX2RlY2xhcmF0aW9uOgor
ICAgIGlmIGxpbmVfbnVtYmVyICE9IGZ1bmN0aW9uX3N0YXRlLmJvZHlfc3RhcnRfcG9zaXRpb24u
cm93IG9yIG5vdCBmdW5jdGlvbl9zdGF0ZS5pc19kZWNsYXJhdGlvbjoKICAgICAgICAgcmV0dXJu
CiAKICAgICBwYXJhbWV0ZXJfbGlzdCA9IGZ1bmN0aW9uX3N0YXRlLnBhcmFtZXRlcl9saXN0KCkK
QEAgLTE1NjcsNyArMTU3Miw3IEBAIGRlZiBjaGVja19wYXNzX3B0cl91c2FnZShjbGVhbl9saW5l
cywgbGluZV9udW1iZXIsIGZ1bmN0aW9uX3N0YXRlLCBlcnJvcik6CiAKICAgICBsaW5lcyA9IGNs
ZWFuX2xpbmVzLmxpbmVzCiAgICAgbGluZSA9IGxpbmVzW2xpbmVfbnVtYmVyXQotICAgIGlmIGxp
bmVfbnVtYmVyID4gZnVuY3Rpb25fc3RhdGUuYm9keV9zdGFydF9saW5lX251bWJlcjoKKyAgICBp
ZiBsaW5lX251bWJlciA+IGZ1bmN0aW9uX3N0YXRlLmJvZHlfc3RhcnRfcG9zaXRpb24ucm93Ogog
ICAgICAgICBtYXRjaGVkX3Bhc3NfcHRyID0gbWF0Y2gocideXHMqUGFzcyhbQS1aXVtBLVphLXpd
KilQdHI8JywgbGluZSkKICAgICAgICAgaWYgbWF0Y2hlZF9wYXNzX3B0cjoKICAgICAgICAgICAg
IHR5cGVfbmFtZSA9ICdQYXNzJXNQdHInICUgbWF0Y2hlZF9wYXNzX3B0ci5ncm91cCgxKQpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHBfdW5pdHRl
c3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcF91bml0dGVz
dC5weQppbmRleCA2MTQ0NDVmNGYzNmQxNzRjZGQ2ZDJmNmMzMmU0OTRkNWQ3ZTk4NWQ1Li4xNTk2
NzcxYzIxY2QwM2I4YjM5NDZjOWRmY2NjMTNmOTI5ZjYxZjQ3IDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcF91bml0dGVzdC5weQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcF91bml0dGVzdC5weQpAQCAtMzYy
LDkgKzM2MiwxMSBAQCBjbGFzcyBGdW5jdGlvbkRldGVjdGlvblRlc3QoQ3BwU3R5bGVUZXN0QmFz
ZSk6CiAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoZnVuY3Rp
b25fc3RhdGUuaW5fYV9mdW5jdGlvbiwgVHJ1ZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMo
ZnVuY3Rpb25fc3RhdGUuY3VycmVudF9mdW5jdGlvbiwgZnVuY3Rpb25faW5mb3JtYXRpb25bJ25h
bWUnXSArICcoKScpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGZ1bmN0aW9uX3N0YXRlLmJv
ZHlfc3RhcnRfbGluZV9udW1iZXIsIGZ1bmN0aW9uX2luZm9ybWF0aW9uWydib2R5X3N0YXJ0X2xp
bmVfbnVtYmVyJ10pCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGZ1bmN0aW9uX3N0YXRlLmVu
ZGluZ19saW5lX251bWJlciwgZnVuY3Rpb25faW5mb3JtYXRpb25bJ2VuZGluZ19saW5lX251bWJl
ciddKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhmdW5jdGlvbl9zdGF0ZS5pc19kZWNsYXJh
dGlvbiwgZnVuY3Rpb25faW5mb3JtYXRpb25bJ2lzX2RlY2xhcmF0aW9uJ10pCisgICAgICAgIHNl
bGYuYXNzZXJ0X3Bvc2l0aW9uc19lcXVhbChmdW5jdGlvbl9zdGF0ZS5wYXJhbWV0ZXJfc3RhcnRf
cG9zaXRpb24sIGZ1bmN0aW9uX2luZm9ybWF0aW9uWydwYXJhbWV0ZXJfc3RhcnRfcG9zaXRpb24n
XSkKKyAgICAgICAgc2VsZi5hc3NlcnRfcG9zaXRpb25zX2VxdWFsKGZ1bmN0aW9uX3N0YXRlLnBh
cmFtZXRlcl9lbmRfcG9zaXRpb24sIGZ1bmN0aW9uX2luZm9ybWF0aW9uWydwYXJhbWV0ZXJfZW5k
X3Bvc2l0aW9uJ10pCisgICAgICAgIHNlbGYuYXNzZXJ0X3Bvc2l0aW9uc19lcXVhbChmdW5jdGlv
bl9zdGF0ZS5ib2R5X3N0YXJ0X3Bvc2l0aW9uLCBmdW5jdGlvbl9pbmZvcm1hdGlvblsnYm9keV9z
dGFydF9wb3NpdGlvbiddKQorICAgICAgICBzZWxmLmFzc2VydF9wb3NpdGlvbnNfZXF1YWwoZnVu
Y3Rpb25fc3RhdGUuZW5kX3Bvc2l0aW9uLCBmdW5jdGlvbl9pbmZvcm1hdGlvblsnZW5kX3Bvc2l0
aW9uJ10pCiAgICAgICAgIGV4cGVjdGVkX3BhcmFtZXRlcnMgPSBmdW5jdGlvbl9pbmZvcm1hdGlv
bi5nZXQoJ3BhcmFtZXRlcl9saXN0JykKICAgICAgICAgaWYgZXhwZWN0ZWRfcGFyYW1ldGVyczoK
ICAgICAgICAgICAgIGFjdHVhbF9wYXJhbWV0ZXJzID0gZnVuY3Rpb25fc3RhdGUucGFyYW1ldGVy
X2xpc3QoKQpAQCAtMzgxLDQ0ICszODMsNTYgQEAgY2xhc3MgRnVuY3Rpb25EZXRlY3Rpb25UZXN0
KENwcFN0eWxlVGVzdEJhc2UpOgogICAgICAgICAgICAgWyd2b2lkIHRoZVRlc3RGdW5jdGlvbk5h
bWUoaW50KSB7JywKICAgICAgICAgICAgICAnfSddLAogICAgICAgICAgICAgeyduYW1lJzogJ3Ro
ZVRlc3RGdW5jdGlvbk5hbWUnLAotICAgICAgICAgICAgICdib2R5X3N0YXJ0X2xpbmVfbnVtYmVy
JzogMCwKLSAgICAgICAgICAgICAnZW5kaW5nX2xpbmVfbnVtYmVyJzogMSwKKyAgICAgICAgICAg
ICAncGFyYW1ldGVyX3N0YXJ0X3Bvc2l0aW9uJzogKDAsIDI0KSwKKyAgICAgICAgICAgICAncGFy
YW1ldGVyX2VuZF9wb3NpdGlvbic6ICgwLCAyOSksCisgICAgICAgICAgICAgJ2JvZHlfc3RhcnRf
cG9zaXRpb24nOiAoMCwgMzApLAorICAgICAgICAgICAgICdlbmRfcG9zaXRpb24nOiAoMSwgMSks
CiAgICAgICAgICAgICAgJ2lzX2RlY2xhcmF0aW9uJzogRmFsc2V9KQogCiAgICAgZGVmIHRlc3Rf
ZnVuY3Rpb25fZGVjbGFyYXRpb25fZGV0ZWN0aW9uKHNlbGYpOgogICAgICAgICBzZWxmLnBlcmZv
cm1fZnVuY3Rpb25fZGV0ZWN0aW9uKAogICAgICAgICAgICAgWyd2b2lkIGFGdW5jdGlvbk5hbWUo
aW50KTsnXSwKICAgICAgICAgICAgIHsnbmFtZSc6ICdhRnVuY3Rpb25OYW1lJywKLSAgICAgICAg
ICAgICAnYm9keV9zdGFydF9saW5lX251bWJlcic6IDAsCi0gICAgICAgICAgICAgJ2VuZGluZ19s
aW5lX251bWJlcic6IDAsCisgICAgICAgICAgICAgJ3BhcmFtZXRlcl9zdGFydF9wb3NpdGlvbic6
ICgwLCAxOCksCisgICAgICAgICAgICAgJ3BhcmFtZXRlcl9lbmRfcG9zaXRpb24nOiAoMCwgMjMp
LAorICAgICAgICAgICAgICdib2R5X3N0YXJ0X3Bvc2l0aW9uJzogKDAsIDIzKSwKKyAgICAgICAg
ICAgICAnZW5kX3Bvc2l0aW9uJzogKDAsIDI0KSwKICAgICAgICAgICAgICAnaXNfZGVjbGFyYXRp
b24nOiBUcnVlfSkKIAogICAgICAgICBzZWxmLnBlcmZvcm1fZnVuY3Rpb25fZGV0ZWN0aW9uKAog
ICAgICAgICAgICAgWydDaGVja2VkSW50PFQ+IG9wZXJhdG9yIC8oY29uc3QgQ2hlY2tlZEludDxU
PiAmbGhzLCBjb25zdCBDaGVja2VkSW50PFQ+ICZyaHMpOyddLAogICAgICAgICAgICAgeyduYW1l
JzogJ29wZXJhdG9yIC8nLAotICAgICAgICAgICAgICdib2R5X3N0YXJ0X2xpbmVfbnVtYmVyJzog
MCwKLSAgICAgICAgICAgICAnZW5kaW5nX2xpbmVfbnVtYmVyJzogMCwKKyAgICAgICAgICAgICAn
cGFyYW1ldGVyX3N0YXJ0X3Bvc2l0aW9uJzogKDAsIDI0KSwKKyAgICAgICAgICAgICAncGFyYW1l
dGVyX2VuZF9wb3NpdGlvbic6ICgwLCA3NiksCisgICAgICAgICAgICAgJ2JvZHlfc3RhcnRfcG9z
aXRpb24nOiAoMCwgNzYpLAorICAgICAgICAgICAgICdlbmRfcG9zaXRpb24nOiAoMCwgNzcpLAog
ICAgICAgICAgICAgICdpc19kZWNsYXJhdGlvbic6IFRydWV9KQogCiAgICAgICAgIHNlbGYucGVy
Zm9ybV9mdW5jdGlvbl9kZXRlY3Rpb24oCiAgICAgICAgICAgICBbJ0NoZWNrZWRJbnQ8VD4gb3Bl
cmF0b3IgLShjb25zdCBDaGVja2VkSW50PFQ+ICZsaHMsIGNvbnN0IENoZWNrZWRJbnQ8VD4gJnJo
cyk7J10sCiAgICAgICAgICAgICB7J25hbWUnOiAnb3BlcmF0b3IgLScsCi0gICAgICAgICAgICAg
J2JvZHlfc3RhcnRfbGluZV9udW1iZXInOiAwLAotICAgICAgICAgICAgICdlbmRpbmdfbGluZV9u
dW1iZXInOiAwLAotICAgICAgICAgICAgJ2lzX2RlY2xhcmF0aW9uJzogVHJ1ZX0pCisgICAgICAg
ICAgICAgJ3BhcmFtZXRlcl9zdGFydF9wb3NpdGlvbic6ICgwLCAyNCksCisgICAgICAgICAgICAg
J3BhcmFtZXRlcl9lbmRfcG9zaXRpb24nOiAoMCwgNzYpLAorICAgICAgICAgICAgICdib2R5X3N0
YXJ0X3Bvc2l0aW9uJzogKDAsIDc2KSwKKyAgICAgICAgICAgICAnZW5kX3Bvc2l0aW9uJzogKDAs
IDc3KSwKKyAgICAgICAgICAgICAnaXNfZGVjbGFyYXRpb24nOiBUcnVlfSkKIAogICAgICAgICBz
ZWxmLnBlcmZvcm1fZnVuY3Rpb25fZGV0ZWN0aW9uKAogICAgICAgICAgICAgWydDaGVja2VkSW50
PFQ+IG9wZXJhdG9yICE9KGNvbnN0IENoZWNrZWRJbnQ8VD4gJmxocywgY29uc3QgQ2hlY2tlZElu
dDxUPiAmcmhzKTsnXSwKICAgICAgICAgICAgIHsnbmFtZSc6ICdvcGVyYXRvciAhPScsCi0gICAg
ICAgICAgICAgJ2JvZHlfc3RhcnRfbGluZV9udW1iZXInOiAwLAotICAgICAgICAgICAgICdlbmRp
bmdfbGluZV9udW1iZXInOiAwLAorICAgICAgICAgICAgICdwYXJhbWV0ZXJfc3RhcnRfcG9zaXRp
b24nOiAoMCwgMjUpLAorICAgICAgICAgICAgICdwYXJhbWV0ZXJfZW5kX3Bvc2l0aW9uJzogKDAs
IDc3KSwKKyAgICAgICAgICAgICAnYm9keV9zdGFydF9wb3NpdGlvbic6ICgwLCA3NyksCisgICAg
ICAgICAgICAgJ2VuZF9wb3NpdGlvbic6ICgwLCA3OCksCiAgICAgICAgICAgICAgJ2lzX2RlY2xh
cmF0aW9uJzogVHJ1ZX0pCiAKICAgICAgICAgc2VsZi5wZXJmb3JtX2Z1bmN0aW9uX2RldGVjdGlv
bigKICAgICAgICAgICAgIFsnQ2hlY2tlZEludDxUPiBvcGVyYXRvciArKGNvbnN0IENoZWNrZWRJ
bnQ8VD4gJmxocywgY29uc3QgQ2hlY2tlZEludDxUPiAmcmhzKTsnXSwKICAgICAgICAgICAgIHsn
bmFtZSc6ICdvcGVyYXRvciArJywKLSAgICAgICAgICAgICAnYm9keV9zdGFydF9saW5lX251bWJl
cic6IDAsCi0gICAgICAgICAgICAgJ2VuZGluZ19saW5lX251bWJlcic6IDAsCisgICAgICAgICAg
ICAgJ3BhcmFtZXRlcl9zdGFydF9wb3NpdGlvbic6ICgwLCAyNCksCisgICAgICAgICAgICAgJ3Bh
cmFtZXRlcl9lbmRfcG9zaXRpb24nOiAoMCwgNzYpLAorICAgICAgICAgICAgICdib2R5X3N0YXJ0
X3Bvc2l0aW9uJzogKDAsIDc2KSwKKyAgICAgICAgICAgICAnZW5kX3Bvc2l0aW9uJzogKDAsIDc3
KSwKICAgICAgICAgICAgICAnaXNfZGVjbGFyYXRpb24nOiBUcnVlfSkKIAogICAgIGRlZiB0ZXN0
X2lnbm9yZV9tYWNyb3Moc2VsZik6CkBAIC00MzMsOCArNDQ3LDEwIEBAIGNsYXNzIEZ1bmN0aW9u
RGV0ZWN0aW9uVGVzdChDcHBTdHlsZVRlc3RCYXNlKToKICAgICAgICAgICAgICMgVGhpcyBpc24n
dCBhIGZ1bmN0aW9uIGJ1dCBpdCBsb29rcyBsaWtlIG9uZSB0byBvdXIgc2ltcGxlCiAgICAgICAg
ICAgICAjIGFsZ29yaXRobSBhbmQgdGhhdCBpcyBvay4KICAgICAgICAgICAgIHsnbmFtZSc6ICdh
c20nLAotICAgICAgICAgICAgICdib2R5X3N0YXJ0X2xpbmVfbnVtYmVyJzogMiwKLSAgICAgICAg
ICAgICAnZW5kaW5nX2xpbmVfbnVtYmVyJzogMiwKKyAgICAgICAgICAgICAncGFyYW1ldGVyX3N0
YXJ0X3Bvc2l0aW9uJzogKDAsIDMpLAorICAgICAgICAgICAgICdwYXJhbWV0ZXJfZW5kX3Bvc2l0
aW9uJzogKDIsIDEpLAorICAgICAgICAgICAgICdib2R5X3N0YXJ0X3Bvc2l0aW9uJzogKDIsIDEp
LAorICAgICAgICAgICAgICdlbmRfcG9zaXRpb24nOiAoMiwgMiksCiAgICAgICAgICAgICAgJ2lz
X2RlY2xhcmF0aW9uJzogVHJ1ZX0pCiAKICAgICAgICAgIyBTaW1wbGUgdGVzdCBjYXNlIHdpdGgg
c29tZXRoaW5nIHRoYXQgaXMgbm90IGEgZnVuY3Rpb24uCkBAIC00NDUsOCArNDYxLDEwIEBAIGNs
YXNzIEZ1bmN0aW9uRGV0ZWN0aW9uVGVzdChDcHBTdHlsZVRlc3RCYXNlKToKICAgICAgICAgZnVu
Y3Rpb25fc3RhdGUgPSBzZWxmLnBlcmZvcm1fZnVuY3Rpb25fZGV0ZWN0aW9uKAogICAgICAgICAg
ICAgWyd2b2lkIGZ1bmN0aW9uTmFtZSgpOyddLAogICAgICAgICAgICAgeyduYW1lJzogJ2Z1bmN0
aW9uTmFtZScsCi0gICAgICAgICAgICAgJ2JvZHlfc3RhcnRfbGluZV9udW1iZXInOiAwLAotICAg
ICAgICAgICAgICdlbmRpbmdfbGluZV9udW1iZXInOiAwLAorICAgICAgICAgICAgICdwYXJhbWV0
ZXJfc3RhcnRfcG9zaXRpb24nOiAoMCwgMTcpLAorICAgICAgICAgICAgICdwYXJhbWV0ZXJfZW5k
X3Bvc2l0aW9uJzogKDAsIDE5KSwKKyAgICAgICAgICAgICAnYm9keV9zdGFydF9wb3NpdGlvbic6
ICgwLCAxOSksCisgICAgICAgICAgICAgJ2VuZF9wb3NpdGlvbic6ICgwLCAyMCksCiAgICAgICAg
ICAgICAgJ2lzX2RlY2xhcmF0aW9uJzogVHJ1ZSwKICAgICAgICAgICAgICAncGFyYW1ldGVyX2xp
c3QnOiAoKX0pCiAKQEAgLTQ1NCw4ICs0NzIsMTAgQEAgY2xhc3MgRnVuY3Rpb25EZXRlY3Rpb25U
ZXN0KENwcFN0eWxlVGVzdEJhc2UpOgogICAgICAgICBmdW5jdGlvbl9zdGF0ZSA9IHNlbGYucGVy
Zm9ybV9mdW5jdGlvbl9kZXRlY3Rpb24oCiAgICAgICAgICAgICBbJ3ZvaWQgZnVuY3Rpb25OYW1l
KGludCk7J10sCiAgICAgICAgICAgICB7J25hbWUnOiAnZnVuY3Rpb25OYW1lJywKLSAgICAgICAg
ICAgICAnYm9keV9zdGFydF9saW5lX251bWJlcic6IDAsCi0gICAgICAgICAgICAgJ2VuZGluZ19s
aW5lX251bWJlcic6IDAsCisgICAgICAgICAgICAgJ3BhcmFtZXRlcl9zdGFydF9wb3NpdGlvbic6
ICgwLCAxNyksCisgICAgICAgICAgICAgJ3BhcmFtZXRlcl9lbmRfcG9zaXRpb24nOiAoMCwgMjIp
LAorICAgICAgICAgICAgICdib2R5X3N0YXJ0X3Bvc2l0aW9uJzogKDAsIDIyKSwKKyAgICAgICAg
ICAgICAnZW5kX3Bvc2l0aW9uJzogKDAsIDIzKSwKICAgICAgICAgICAgICAnaXNfZGVjbGFyYXRp
b24nOiBUcnVlLAogICAgICAgICAgICAgICdwYXJhbWV0ZXJfbGlzdCc6CiAgICAgICAgICAgICAg
ICAgICh7J3R5cGUnOiAnaW50JywgJ25hbWUnOiAnJywgJ3Jvdyc6IDB9LCl9KQpAQCAtNDY0LDgg
KzQ4NCwxMCBAQCBjbGFzcyBGdW5jdGlvbkRldGVjdGlvblRlc3QoQ3BwU3R5bGVUZXN0QmFzZSk6
CiAgICAgICAgIGZ1bmN0aW9uX3N0YXRlID0gc2VsZi5wZXJmb3JtX2Z1bmN0aW9uX2RldGVjdGlv
bigKICAgICAgICAgICAgIFsndm9pZCBmdW5jdGlvbk5hbWUodW5zaWduZWQgYSwgc2hvcnQgYiwg
bG9uZyBjLCBsb25nIGxvbmcgc2hvcnQgdW5zaWduZWQgaW50KTsnXSwKICAgICAgICAgICAgIHsn
bmFtZSc6ICdmdW5jdGlvbk5hbWUnLAotICAgICAgICAgICAgICdib2R5X3N0YXJ0X2xpbmVfbnVt
YmVyJzogMCwKLSAgICAgICAgICAgICAnZW5kaW5nX2xpbmVfbnVtYmVyJzogMCwKKyAgICAgICAg
ICAgICAncGFyYW1ldGVyX3N0YXJ0X3Bvc2l0aW9uJzogKDAsIDE3KSwKKyAgICAgICAgICAgICAn
cGFyYW1ldGVyX2VuZF9wb3NpdGlvbic6ICgwLCA3NiksCisgICAgICAgICAgICAgJ2JvZHlfc3Rh
cnRfcG9zaXRpb24nOiAoMCwgNzYpLAorICAgICAgICAgICAgICdlbmRfcG9zaXRpb24nOiAoMCwg
NzcpLAogICAgICAgICAgICAgICdpc19kZWNsYXJhdGlvbic6IFRydWUsCiAgICAgICAgICAgICAg
J3BhcmFtZXRlcl9saXN0JzoKICAgICAgICAgICAgICAgICAgKHsndHlwZSc6ICd1bnNpZ25lZCcs
ICduYW1lJzogJ2EnLCAncm93JzogMH0sCkBAIC00NzcsOCArNDk5LDEwIEBAIGNsYXNzIEZ1bmN0
aW9uRGV0ZWN0aW9uVGVzdChDcHBTdHlsZVRlc3RCYXNlKToKICAgICAgICAgZnVuY3Rpb25fc3Rh
dGUgPSBzZWxmLnBlcmZvcm1fZnVuY3Rpb25fZGV0ZWN0aW9uKAogICAgICAgICAgICAgWyd2aXJ0
dWFsIHZvaWQgZGV0ZXJtaW5lQVJJQURyb3BFZmZlY3RzKFZlY3RvcjxTdHJpbmc+KiYsIGNvbnN0
IHVuc2lnbmVkIGxvbmcgaW50KiYsIGNvbnN0IE1lZGlhUGxheWVyOjpQcmVsb2FkLCBPdGhlcjxP
dGhlcjIsIE90aGVyMzxQMSwgUDI+ID4sIGludCk7J10sCiAgICAgICAgICAgICB7J25hbWUnOiAn
ZGV0ZXJtaW5lQVJJQURyb3BFZmZlY3RzJywKLSAgICAgICAgICAgICAnYm9keV9zdGFydF9saW5l
X251bWJlcic6IDAsCi0gICAgICAgICAgICAgJ2VuZGluZ19saW5lX251bWJlcic6IDAsCisgICAg
ICAgICAgICAgJ3BhcmFtZXRlcl9zdGFydF9wb3NpdGlvbic6ICgwLCAzNyksCisgICAgICAgICAg
ICAgJ3BhcmFtZXRlcl9lbmRfcG9zaXRpb24nOiAoMCwgMTQ3KSwKKyAgICAgICAgICAgICAnYm9k
eV9zdGFydF9wb3NpdGlvbic6ICgwLCAxNDcpLAorICAgICAgICAgICAgICdlbmRfcG9zaXRpb24n
OiAoMCwgMTQ4KSwKICAgICAgICAgICAgICAnaXNfZGVjbGFyYXRpb24nOiBUcnVlLAogICAgICAg
ICAgICAgICdwYXJhbWV0ZXJfbGlzdCc6CiAgICAgICAgICAgICAgICAgICh7J3R5cGUnOiAnVmVj
dG9yPFN0cmluZz4qJicsICduYW1lJzogJycsICdyb3cnOiAwfSwKQEAgLTQ5NCw4ICs1MTgsMTAg
QEAgY2xhc3MgRnVuY3Rpb25EZXRlY3Rpb25UZXN0KENwcFN0eWxlVGVzdEJhc2UpOgogICAgICAg
ICAgICAgICdjb25zdCBDb21wbGV4VGVtcGxhdGU8Q2xhc3MxLCBOZXN0ZWRUZW1wbGF0ZTxQMSwg
UDI+ID4qIGNvbnN0ICogcGFyYW0gPSBuZXcgQ29tcGxleFRlbXBsYXRlPENsYXNzMSwgTmVzdGVk
VGVtcGxhdGU8UDEsIFAyPiA+KDM0LCA0MiksJywKICAgICAgICAgICAgICAnaW50KiBteUNvdW50
ID0gMCk7J10sCiAgICAgICAgICAgICB7J25hbWUnOiAnYUZ1bmN0aW9uTmFtZScsCi0gICAgICAg
ICAgICAgJ2JvZHlfc3RhcnRfbGluZV9udW1iZXInOiAzLAotICAgICAgICAgICAgICdlbmRpbmdf
bGluZV9udW1iZXInOiAzLAorICAgICAgICAgICAgICdwYXJhbWV0ZXJfc3RhcnRfcG9zaXRpb24n
OiAoMCwgNDUpLAorICAgICAgICAgICAgICdwYXJhbWV0ZXJfZW5kX3Bvc2l0aW9uJzogKDMsIDE3
KSwKKyAgICAgICAgICAgICAnYm9keV9zdGFydF9wb3NpdGlvbic6ICgzLCAxNyksCisgICAgICAg
ICAgICAgJ2VuZF9wb3NpdGlvbic6ICgzLCAxOCksCiAgICAgICAgICAgICAgJ2lzX2RlY2xhcmF0
aW9uJzogVHJ1ZSwKICAgICAgICAgICAgICAncGFyYW1ldGVyX2xpc3QnOgogICAgICAgICAgICAg
ICAgICAoeyd0eXBlJzogJ1Bhc3NSZWZQdHI8TXlDbGFzcz4nLCAnbmFtZSc6ICdwYXJhbU5hbWUn
LCAncm93JzogMH0sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>