<?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>64565</bug_id>
          
          <creation_ts>2011-07-14 15:22:56 -0700</creation_ts>
          <short_desc>Store error and warning information on TestExpectationLine.</short_desc>
          <delta_ts>2018-10-24 09:54:14 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>64559</dependson>
          <blocked>64385</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dimitri Glazkov (Google)">dglazkov</reporter>
          <assigned_to name="Dimitri Glazkov (Google)">dglazkov</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>elmaasheley147</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>437362</commentid>
    <comment_count>0</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-07-14 15:22:56 -0700</bug_when>
    <thetext>Store error and warning information on TestExpectationLine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>437366</commentid>
    <comment_count>1</comment_count>
      <attachid>100874</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-07-14 15:29:00 -0700</bug_when>
    <thetext>Created attachment 100874
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>437566</commentid>
    <comment_count>2</comment_count>
      <attachid>100874</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-07-14 22:52:39 -0700</bug_when>
    <thetext>Comment on attachment 100874
Patch

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

This looks good.

&gt; Tools/Scripts/webkitpy/layout_tests/models/test_expectations.py:316
&gt;          # FIXME: Shouldn&apos;t return anything, this is a temporary layering volation.

Presumably this FIXME is now fixed.

&gt; Tools/Scripts/webkitpy/layout_tests/models/test_expectations.py:644
&gt; +            lineno += 1

I think there&apos;s a way to iterate over a list that will give you the list index during the iteration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>437777</commentid>
    <comment_count>3</comment_count>
      <attachid>100874</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-07-15 08:56:21 -0700</bug_when>
    <thetext>Comment on attachment 100874
Patch

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

&gt;&gt; Tools/Scripts/webkitpy/layout_tests/models/test_expectations.py:644
&gt;&gt; +            lineno += 1
&gt; 
&gt; I think there&apos;s a way to iterate over a list that will give you the list index during the iteration.

enumerate!!! Holy Crap!!! I &lt;3 Python.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>437779</commentid>
    <comment_count>4</comment_count>
      <attachid>100874</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-07-15 08:58:06 -0700</bug_when>
    <thetext>Comment on attachment 100874
Patch

Clearing flags on attachment: 100874

Committed r91073: &lt;http://trac.webkit.org/changeset/91073&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>437780</commentid>
    <comment_count>5</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-07-15 08:58:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100874</attachid>
            <date>2011-07-14 15:29:00 -0700</date>
            <delta_ts>2011-07-15 08:58:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-64565-20110714152859.patch</filename>
            <type>text/plain</type>
            <size>22380</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTEwMDIKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA4ZjhkZTA5NTNiNzYyNjEyYWJiZmUyNGUwOTBiNTk1MWE2
YTNlZjExLi4xZjA1YzczNDIyOGM2ZDIzM2E1MTM5MjE1YjA5ZDk1MWViNWQwZDc3IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjAg
QEAKIDIwMTEtMDctMTQgIERpbWl0cmkgR2xhemtvdiAgPGRnbGF6a292QGNocm9taXVtLm9yZz4K
IAorICAgICAgICBTdG9yZSBlcnJvciBhbmQgd2FybmluZyBpbmZvcm1hdGlvbiBvbiBUZXN0RXhw
ZWN0YXRpb25MaW5lLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NjQ1NjUKKworICAgICAgICBLZWVwaW5nIGVycm9ycyBhbmQgd2FybmluZ3Mgb24gdGhl
IFRlc3RFeHBlY3RhdGlvbkxpbmUgaW5zdGFuY2UgYWxsb3dzIHVzIHRvIGRlY291cGxlIHN0b3Jp
bmcgZXJyb3JzCisgICAgICAgIGZyb20gdmFyaW91cyBwYXJzaW5nIGFuZCB2YWxpZGF0aW9uIG1l
Y2hhbmlzbXMgYW5kIGhhdmUgbW9yZSBmbGV4aWJpbGl0eSBpbiByZXBvcnRpbmcgYW5kIHVuZGVy
c3RhbmRpbmcgdGhlIG9yaWdpbiBvZiB0aGUgZXJyb3JzLgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvbW9kZWxzL3Rlc3RfZXhwZWN0YXRpb25zLnB5OiBBZGRlZCBUZXN0RXhwZWN0YXRpb25MaW5l
Lndhcm5pbmdzIGxpc3QgdG8ga2VlcCB0cmFjayBvZiBub24tZmF0YWwgZXJyb3JzLAorICAgICAg
ICAgICAgY29udmVydGVkIHRoZSBjb2RlIHRvIGFkZCBlcnJvcnMgYW5kIHdhcm5pbmdzIHRvIGNv
cnJlc3BvbmRpbmcgVGVzdEV4cGVjdGF0aW9uTGluZSBpbnN0YW5jZXMsIHJlbW92ZWQgdGhlIGNv
ZGUgdGhhdCB1c2VkIHRvIHN0b3JlCisgICAgICAgICAgICB0aGlzIGluZm8gb24gVGVzdEV4cGVj
dGF0aW9ucy4gSW4gdGhlIHByb2Nlc3MsIGhhZCB0byByZWZhY3RvciBNb2RpZmllck1hdGNoZXIg
YSBiaXQgdG8gdGFrZSBpbiBhIFRlc3RFeHBkZWN0YXRpb25MaW5lIGluc3RhbmNlLgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0aW9u
c191bml0dGVzdC5weTogQ2hhbmdlZCBNb2RpZmllck1hdGNoZXIgY2FsbHNpdGUuCisKKzIwMTEt
MDctMTQgIERpbWl0cmkgR2xhemtvdiAgPGRnbGF6a292QGNocm9taXVtLm9yZz4KKwogICAgICAg
ICBQbHVtYiB0aGUgdXNlIG9mIFRlc3RFeHBlY3RhdGlvbkxpbmUgZGVlcGVyLCBjbGVhbiB1cC4K
ICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY0NTU5CiAK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90
ZXN0X2V4cGVjdGF0aW9ucy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L21vZGVscy90ZXN0X2V4cGVjdGF0aW9ucy5weQppbmRleCBlOGIxZTM2NGJkZTVhM2QxNTM2ODRh
ZTBlZTVmNjYxMmFlYWE0YzFiLi5iODYzMjViMDllNjVmNjNlMzlmZTExYzFmODliYTIzMDViMDk2
MWZmIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2Rl
bHMvdGVzdF9leHBlY3RhdGlvbnMucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvbW9kZWxzL3Rlc3RfZXhwZWN0YXRpb25zLnB5CkBAIC0yMzAsMTAgKzIzMCwxMiBA
QCBjbGFzcyBUZXN0RXhwZWN0YXRpb25MaW5lOgogICAgICAgICBzZWxmLmV4cGVjdGF0aW9ucyA9
IFtdCiAgICAgICAgIHNlbGYuY29tbWVudCA9IE5vbmUKICAgICAgICAgc2VsZi5lcnJvcnMgPSBb
XQorICAgICAgICBzZWxmLndhcm5pbmdzID0gW10KIAogICAgIGRlZiBpc19tYWxmb3JtZWQoc2Vs
Zik6CiAgICAgICAgIHJldHVybiBsZW4oc2VsZi5lcnJvcnMpID4gMAogCisKICMgRklYTUU6IFJl
ZmFjdG9yIHRvIHVzZSBUZXN0RXhwZWN0YXRpb25MaW5lIGFzIGRhdGEgaXRlbQogIyBGSVhNRTog
UmVmYWN0b3IgQVBJIHRvIGJlIGEgcHJvcGVyIENSVUQuCiBjbGFzcyBUZXN0RXhwZWN0YXRpb25z
TW9kZWw6CkBAIC0zMTIsMTcgKzMxNCwxNCBAQCBjbGFzcyBUZXN0RXhwZWN0YXRpb25zTW9kZWw6
CiAgICAgZGVmIGFkZF90ZXN0cyhzZWxmLCBsaW5lbm8sIGV4cGVjdGF0aW9uLCB0ZXN0cywgcGFy
c2VkX2V4cGVjdGF0aW9ucywgcGFyc2VkX21vZGlmaWVycywgbnVtX21hdGNoZXMsIG92ZXJyaWRl
c19hbGxvd2VkKToKICAgICAgICAgIiIiUmV0dXJucyBhIGxpc3Qgb2YgZXJyb3JzLCBlbmNvdW50
ZXJlZCB3aGlsZSBtYXRjaGluZyBtb2RpZmllcnMuIiIiCiAgICAgICAgICMgRklYTUU6IFNob3Vs
ZG4ndCByZXR1cm4gYW55dGhpbmcsIHRoaXMgaXMgYSB0ZW1wb3JhcnkgbGF5ZXJpbmcgdm9sYXRp
b24uCi0gICAgICAgIGVycm9ycyA9IFtdCiAgICAgICAgIGZvciB0ZXN0IGluIHRlc3RzOgotICAg
ICAgICAgICAgaWYgc2VsZi5fYWxyZWFkeV9zZWVuX2JldHRlcl9tYXRjaCh0ZXN0LCBleHBlY3Rh
dGlvbi5uYW1lLCBudW1fbWF0Y2hlcywgbGluZW5vLCBvdmVycmlkZXNfYWxsb3dlZCwgZXJyb3Jz
KToKKyAgICAgICAgICAgIGlmIHNlbGYuX2FscmVhZHlfc2Vlbl9iZXR0ZXJfbWF0Y2godGVzdCwg
ZXhwZWN0YXRpb24sIG51bV9tYXRjaGVzLCBsaW5lbm8sIG92ZXJyaWRlc19hbGxvd2VkKToKICAg
ICAgICAgICAgICAgICBjb250aW51ZQogCiAgICAgICAgICAgICBzZWxmLl9jbGVhcl9leHBlY3Rh
dGlvbnNfZm9yX3Rlc3QodGVzdCwgZXhwZWN0YXRpb24ubmFtZSkKICAgICAgICAgICAgIHNlbGYu
X3Rlc3RfbGlzdF9wYXRoc1t0ZXN0XSA9IChzZWxmLl9wb3J0Lm5vcm1hbGl6ZV90ZXN0X25hbWUo
ZXhwZWN0YXRpb24ubmFtZSksIG51bV9tYXRjaGVzLCBsaW5lbm8pCiAgICAgICAgICAgICBzZWxm
LmFkZF90ZXN0KHRlc3QsIHBhcnNlZF9tb2RpZmllcnMsIHBhcnNlZF9leHBlY3RhdGlvbnMsIGV4
cGVjdGF0aW9uLm1vZGlmaWVycywgb3ZlcnJpZGVzX2FsbG93ZWQpCiAKLSAgICAgICAgcmV0dXJu
IGVycm9ycwotCiAgICAgZGVmIGFkZF90ZXN0KHNlbGYsIHRlc3QsIG1vZGlmaWVycywgZXhwZWN0
YXRpb25zLCBvcHRpb25zLCBvdmVycmlkZXNfYWxsb3dlZCk6CiAgICAgICAgICIiIlNldHMgdGhl
IGV4cGVjdGVkIHN0YXRlIGZvciBhIGdpdmVuIHRlc3QuCiAKQEAgLTM4OSwxMCArMzg4LDEwIEBA
IGNsYXNzIFRlc3RFeHBlY3RhdGlvbnNNb2RlbDoKICAgICAgICAgICAgIGlmIHRlc3QgaW4gc2V0
X29mX3Rlc3RzOgogICAgICAgICAgICAgICAgIHNldF9vZl90ZXN0cy5yZW1vdmUodGVzdCkKIAot
ICAgIGRlZiBfYWxyZWFkeV9zZWVuX2JldHRlcl9tYXRjaChzZWxmLCB0ZXN0LCB0ZXN0X2xpc3Rf
cGF0aCwgbnVtX21hdGNoZXMsIGxpbmVubywgb3ZlcnJpZGVzX2FsbG93ZWQsIGVycm9ycyk6Cisg
ICAgZGVmIF9hbHJlYWR5X3NlZW5fYmV0dGVyX21hdGNoKHNlbGYsIHRlc3QsIGV4cGVjdGF0aW9u
LCBudW1fbWF0Y2hlcywgbGluZW5vLCBvdmVycmlkZXNfYWxsb3dlZCk6CiAgICAgICAgICIiIlJl
dHVybnMgd2hldGhlciB3ZSd2ZSBzZWVuIGEgYmV0dGVyIG1hdGNoIGFscmVhZHkgaW4gdGhlIGZp
bGUuCiAKLSAgICAgICAgUmV0dXJucyBUcnVlIGlmIHdlJ3ZlIGFscmVhZHkgc2VlbiBhIHRlc3Rf
bGlzdF9wYXRoIHRoYXQgbWF0Y2hlcyBtb3JlIG9mIHRoZSB0ZXN0CisgICAgICAgIFJldHVybnMg
VHJ1ZSBpZiB3ZSd2ZSBhbHJlYWR5IHNlZW4gYSBleHBlY3RhdGlvbi5uYW1lIHRoYXQgbWF0Y2hl
cyBtb3JlIG9mIHRoZSB0ZXN0CiAgICAgICAgICAgICB0aGFuIHRoaXMgcGF0aCBkb2VzCiAgICAg
ICAgICIiIgogICAgICAgICAjIEZJWE1FOiBTZWUgY29tbWVudCBiZWxvdyBhYm91dCBtYXRjaGlu
ZyB0ZXN0IGNvbmZpZ3MgYW5kIG51bV9tYXRjaGVzLgpAQCAtNDAxLDcgKzQwMCw3IEBAIGNsYXNz
IFRlc3RFeHBlY3RhdGlvbnNNb2RlbDoKICAgICAgICAgICAgIHJldHVybiBGYWxzZQogCiAgICAg
ICAgIHByZXZfYmFzZV9wYXRoLCBwcmV2X251bV9tYXRjaGVzLCBwcmV2X2xpbmVubyA9IHNlbGYu
X3Rlc3RfbGlzdF9wYXRoc1t0ZXN0XQotICAgICAgICBiYXNlX3BhdGggPSBzZWxmLl9wb3J0Lm5v
cm1hbGl6ZV90ZXN0X25hbWUodGVzdF9saXN0X3BhdGgpCisgICAgICAgIGJhc2VfcGF0aCA9IHNl
bGYuX3BvcnQubm9ybWFsaXplX3Rlc3RfbmFtZShleHBlY3RhdGlvbi5uYW1lKQogCiAgICAgICAg
IGlmIGxlbihwcmV2X2Jhc2VfcGF0aCkgPiBsZW4oYmFzZV9wYXRoKToKICAgICAgICAgICAgICMg
VGhlIHByZXZpb3VzIHBhdGggbWF0Y2hlZCBtb3JlIG9mIHRoZSB0ZXN0LgpAQCAtNDMxLDE5ICs0
MzAsMTkgQEAgY2xhc3MgVGVzdEV4cGVjdGF0aW9uc01vZGVsOgogICAgICAgICAjIHRoaXMgcG9s
aWN5IHBlcm1hbmVudCwgd2UgY2FuIHByb2JhYmx5IHNpbXBsaWZ5IHRoaXMgY29kZQogICAgICAg
ICAjIGFuZCB0aGUgTW9kaWZpZXJNYXRjaGVyIGNvZGUgYSBmYWlyIGFtb3VudC4KICAgICAgICAg
IwotICAgICAgICAjIFRvIHVzZSB0aGUgIm1vcmUgbW9kaWZpZXJzIHdpbnMiIHBvbGljeSwgY2hh
bmdlIHRoZSAiX2FkZF9lcnJvciIgbGluZXMgZm9yIG92ZXJyaWRlcwotICAgICAgICAjIHRvIF9s
b2dfbm9uX2ZhdGFsX2Vycm9yKCkgYW5kIGNoYW5nZSB0aGUgY29tbWVudGVkLW91dCAicmV0dXJu
IEZhbHNlIi4KKyAgICAgICAgIyBUbyB1c2UgdGhlICJtb3JlIG1vZGlmaWVycyB3aW5zIiBwb2xp
Y3ksIGNoYW5nZSB0aGUgZXJyb3JzIGZvciBvdmVycmlkZXMKKyAgICAgICAgIyB0byBiZSB3YXJu
aW5ncyBhbmQgcmV0dXJuIEZhbHNlIi4KIAogICAgICAgICBpZiBwcmV2X251bV9tYXRjaGVzID09
IG51bV9tYXRjaGVzOgotICAgICAgICAgICAgZXJyb3JzLmFwcGVuZCgoJ0R1cGxpY2F0ZSBvciBh
bWJpZ3VvdXMgJXMuJyAlIGV4cGVjdGF0aW9uX3NvdXJjZSwgdGVzdCkpCisgICAgICAgICAgICBl
eHBlY3RhdGlvbi5lcnJvcnMuYXBwZW5kKCdEdXBsaWNhdGUgb3IgYW1iaWd1b3VzICVzLicgJSBl
eHBlY3RhdGlvbl9zb3VyY2UpCiAgICAgICAgICAgICByZXR1cm4gVHJ1ZQogCiAgICAgICAgIGlm
IHByZXZfbnVtX21hdGNoZXMgPCBudW1fbWF0Y2hlczoKLSAgICAgICAgICAgIGVycm9ycy5hcHBl
bmQoKCdNb3JlIHNwZWNpZmljIGVudHJ5IG9uIGxpbmUgJWQgb3ZlcnJpZGVzIGxpbmUgJWQnICUg
KGxpbmVubywgcHJldl9saW5lbm8pLCB0ZXN0X2xpc3RfcGF0aCkpCisgICAgICAgICAgICBleHBl
Y3RhdGlvbi5lcnJvcnMuYXBwZW5kKCdNb3JlIHNwZWNpZmljIGVudHJ5IG9uIGxpbmUgJWQgb3Zl
cnJpZGVzIGxpbmUgJWQnICUgKGxpbmVubywgcHJldl9saW5lbm8pKQogICAgICAgICAgICAgIyBG
SVhNRTogcmV0dXJuIEZhbHNlIGlmIHdlIHdhbnQgbW9yZSBzcGVjaWZpYyB0byB3aW4uCiAgICAg
ICAgICAgICByZXR1cm4gVHJ1ZQogCi0gICAgICAgIGVycm9ycy5hcHBlbmQoKCdNb3JlIHNwZWNp
ZmljIGVudHJ5IG9uIGxpbmUgJWQgb3ZlcnJpZGVzIGxpbmUgJWQnICUgKHByZXZfbGluZW5vLCBs
aW5lbm8pLCB0ZXN0X2xpc3RfcGF0aCkpCisgICAgICAgIGV4cGVjdGF0aW9uLmVycm9ycy5hcHBl
bmQoJ01vcmUgc3BlY2lmaWMgZW50cnkgb24gbGluZSAlZCBvdmVycmlkZXMgbGluZSAlZCcgJSAo
cHJldl9saW5lbm8sIGxpbmVubykpCiAgICAgICAgIHJldHVybiBUcnVlCiAKIApAQCAtNTQ5LDEy
ICs1NDgsOSBAQCBjbGFzcyBUZXN0RXhwZWN0YXRpb25zOgogICAgICAgICAgICAgICAgIGFuZCBk
b3duc3RyZWFtIGV4cGVjdGF0aW9ucykuCiAgICAgICAgICIiIgogICAgICAgICBzZWxmLl9wb3J0
ID0gcG9ydAotICAgICAgICBzZWxmLl9mcyA9IHBvcnQuX2ZpbGVzeXN0ZW0KICAgICAgICAgc2Vs
Zi5fZnVsbF90ZXN0X2xpc3QgPSB0ZXN0cwogICAgICAgICBzZWxmLl90ZXN0X2NvbmZpZyA9IHRl
c3RfY29uZmlnCiAgICAgICAgIHNlbGYuX2lzX2xpbnRfbW9kZSA9IGlzX2xpbnRfbW9kZQotICAg
ICAgICBzZWxmLl9lcnJvcnMgPSBbXQotICAgICAgICBzZWxmLl9ub25fZmF0YWxfZXJyb3JzID0g
W10KICAgICAgICAgc2VsZi5fbW9kZWwgPSBUZXN0RXhwZWN0YXRpb25zTW9kZWwocG9ydCkKIAog
ICAgICAgICAjIE1hcHMgcmVsYXRpdmUgdGVzdCBwYXRocyBhcyBsaXN0ZWQgaW4gdGhlIGV4cGVj
dGF0aW9ucyBmaWxlIHRvIGEKQEAgLTU3Miw3ICs1NjgsOCBAQCBjbGFzcyBUZXN0RXhwZWN0YXRp
b25zOgogICAgICAgICAgICAgc2VsZi5fYWRkX2V4cGVjdGF0aW9ucyhvdmVycmlkZXNfZXhwZWN0
YXRpb25zLCBvdmVycmlkZXNfYWxsb3dlZD1UcnVlKQogICAgICAgICAgICAgc2VsZi5fZXhwZWN0
YXRpb25zICs9IG92ZXJyaWRlc19leHBlY3RhdGlvbnMKIAotICAgICAgICBzZWxmLl9oYW5kbGVf
YW55X3JlYWRfZXJyb3JzKCkKKyAgICAgICAgc2VsZi5faGFzX3dhcm5pbmdzID0gRmFsc2UKKyAg
ICAgICAgc2VsZi5fcmVwb3J0X2Vycm9ycygpCiAgICAgICAgIHNlbGYuX3Byb2Nlc3NfdGVzdHNf
d2l0aG91dF9leHBlY3RhdGlvbnMoKQogCiAgICAgIyBUT0RPKG9qYW4pOiBBbGxvdyBmb3IgcmVt
b3Zpbmcgc2tpcHBlZCB0ZXN0cyB3aGVuIGdldHRpbmcgdGhlIGxpc3Qgb2YKQEAgLTYzOSwxOSAr
NjM2LDMxIEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvbnM6CiAgICAgZGVmIGlzX3JlYmFzZWxpbmlu
ZyhzZWxmLCB0ZXN0KToKICAgICAgICAgcmV0dXJuIHNlbGYuX21vZGVsLmhhc19tb2RpZmllcih0
ZXN0LCBSRUJBU0VMSU5FKQogCi0gICAgZGVmIF9oYW5kbGVfYW55X3JlYWRfZXJyb3JzKHNlbGYp
OgotICAgICAgICBpZiBsZW4oc2VsZi5fZXJyb3JzKSBvciBsZW4oc2VsZi5fbm9uX2ZhdGFsX2Vy
cm9ycyk6CisgICAgZGVmIF9yZXBvcnRfZXJyb3JzKHNlbGYpOgorICAgICAgICBlcnJvcnMgPSBb
XQorICAgICAgICB3YXJuaW5ncyA9IFtdCisgICAgICAgIGxpbmVubyA9IDAKKyAgICAgICAgZm9y
IGV4cGVjdGF0aW9uIGluIHNlbGYuX2V4cGVjdGF0aW9uczoKKyAgICAgICAgICAgIGxpbmVubyAr
PSAxCisgICAgICAgICAgICBmb3IgZXJyb3IgaW4gZXhwZWN0YXRpb24uZXJyb3JzOgorICAgICAg
ICAgICAgICAgIGVycm9ycy5hcHBlbmQoIkxpbmU6JXMgJXMgJXMiICUgKGxpbmVubywgZXJyb3Is
IGV4cGVjdGF0aW9uLm5hbWUgaWYgZXhwZWN0YXRpb24uZXhwZWN0YXRpb25zIGVsc2UgZXhwZWN0
YXRpb24uY29tbWVudCkpCisgICAgICAgICAgICBmb3Igd2FybmluZyBpbiBleHBlY3RhdGlvbi53
YXJuaW5nczoKKyAgICAgICAgICAgICAgICB3YXJuaW5ncy5hcHBlbmQoIkxpbmU6JXMgJXMgJXMi
ICUgKGxpbmVubywgd2FybmluZywgZXhwZWN0YXRpb24ubmFtZSBpZiBleHBlY3RhdGlvbi5leHBl
Y3RhdGlvbnMgZWxzZSBleHBlY3RhdGlvbi5jb21tZW50KSkKKworICAgICAgICBpZiBsZW4oZXJy
b3JzKSBvciBsZW4od2FybmluZ3MpOgogICAgICAgICAgICAgX2xvZy5lcnJvcigiRkFJTFVSRVMg
Rk9SICVzIiAlIHN0cihzZWxmLl90ZXN0X2NvbmZpZykpCiAKLSAgICAgICAgICAgIGZvciBlcnJv
ciBpbiBzZWxmLl9lcnJvcnM6Ci0gICAgICAgICAgICAgICAgX2xvZy5lcnJvcihlcnJvcikKLSAg
ICAgICAgICAgIGZvciBlcnJvciBpbiBzZWxmLl9ub25fZmF0YWxfZXJyb3JzOgorICAgICAgICAg
ICAgZm9yIGVycm9yIGluIGVycm9yczoKICAgICAgICAgICAgICAgICBfbG9nLmVycm9yKGVycm9y
KQorICAgICAgICAgICAgZm9yIHdhcm5pbmcgaW4gd2FybmluZ3M6CisgICAgICAgICAgICAgICAg
X2xvZy5lcnJvcih3YXJuaW5nKQogCi0gICAgICAgICAgICBpZiBsZW4oc2VsZi5fZXJyb3JzKToK
LSAgICAgICAgICAgICAgICByYWlzZSBQYXJzZUVycm9yKGZhdGFsPVRydWUsIGVycm9ycz1zZWxm
Ll9lcnJvcnMpCi0gICAgICAgICAgICBpZiBsZW4oc2VsZi5fbm9uX2ZhdGFsX2Vycm9ycykgYW5k
IHNlbGYuX2lzX2xpbnRfbW9kZToKLSAgICAgICAgICAgICAgICByYWlzZSBQYXJzZUVycm9yKGZh
dGFsPUZhbHNlLCBlcnJvcnM9c2VsZi5fbm9uX2ZhdGFsX2Vycm9ycykKKyAgICAgICAgICAgIGlm
IGxlbihlcnJvcnMpOgorICAgICAgICAgICAgICAgIHJhaXNlIFBhcnNlRXJyb3IoZmF0YWw9VHJ1
ZSwgZXJyb3JzPWVycm9ycykKKyAgICAgICAgICAgIGlmIGxlbih3YXJuaW5ncyk6CisgICAgICAg
ICAgICAgICAgc2VsZi5faGFzX3dhcm5pbmdzID0gVHJ1ZQorICAgICAgICAgICAgICAgIGlmIHNl
bGYuX2lzX2xpbnRfbW9kZToKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgUGFyc2VFcnJvcihm
YXRhbD1GYWxzZSwgZXJyb3JzPXdhcm5pbmdzKQogCiAgICAgZGVmIF9wcm9jZXNzX3Rlc3RzX3dp
dGhvdXRfZXhwZWN0YXRpb25zKHNlbGYpOgogICAgICAgICBleHBlY3RhdGlvbnMgPSBzZXQoW1BB
U1NdKQpAQCAtNjY3LDggKzY3Niw4IEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvbnM6CiAgICAgICAg
IHJldHVybiBFeHBlY3RhdGlvbnNKc29uRW5jb2RlcihzZXBhcmF0b3JzPSgnLCcsICc6JykpLmVu
Y29kZSgKICAgICAgICAgICAgIHNlbGYuX2FsbF9leHBlY3RhdGlvbnMpCiAKLSAgICBkZWYgZ2V0
X25vbl9mYXRhbF9lcnJvcnMoc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmLl9ub25fZmF0YWxf
ZXJyb3JzCisgICAgZGVmIGhhc193YXJuaW5ncyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYu
X2hhc193YXJuaW5ncwogCiAgICAgZGVmIHJlbW92ZV9yZWJhc2VsaW5lZF90ZXN0cyhzZWxmLCB0
ZXN0cyk6CiAgICAgICAgICIiIlJldHVybnMgYSBjb3B5IG9mIHRoZSBleHBlY3RhdGlvbnMgd2l0
aCB0aGUgdGVzdHMgcmVtb3ZlZC4iIiIKQEAgLTY5MSw5ICs3MDAsNiBAQCBjbGFzcyBUZXN0RXhw
ZWN0YXRpb25zOgogICAgICAgICAgICAgbGluZW5vICs9IDEKICAgICAgICAgICAgIGV4cGVjdGF0
aW9ucyA9IGV4cGVjdGF0aW9uLmV4cGVjdGF0aW9ucwogCi0gICAgICAgICAgICBmb3IgZXJyb3Ig
aW4gZXhwZWN0YXRpb24uZXJyb3JzOgotICAgICAgICAgICAgICAgIHNlbGYuX2FkZF9lcnJvcihs
aW5lbm8sIGVycm9yLCBleHBlY3RhdGlvbi5jb21tZW50KQotCiAgICAgICAgICAgICBpZiBub3Qg
ZXhwZWN0YXRpb24uZXhwZWN0YXRpb25zOgogICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAKQEAg
LTcwMSwxMyArNzA3LDEzIEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvbnM6CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgIi5qb2luKGV4cGVjdGF0aW9uLm1vZGlm
aWVycykudXBwZXIoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIiAiLmpvaW4oZXhwZWN0YXRpb24uZXhwZWN0YXRpb25zKS51cHBlcigpKQogCi0gICAgICAg
ICAgICBudW1fbWF0Y2hlcyA9IHNlbGYuX2NoZWNrX29wdGlvbnMobWF0Y2hlciwgbGluZW5vLCBl
eHBlY3RhdGlvbikKKyAgICAgICAgICAgIG51bV9tYXRjaGVzID0gc2VsZi5fY2hlY2tfb3B0aW9u
cyhtYXRjaGVyLCBleHBlY3RhdGlvbikKICAgICAgICAgICAgIGlmIG51bV9tYXRjaGVzID09IE1v
ZGlmaWVyTWF0Y2hlci5OT19NQVRDSDoKICAgICAgICAgICAgICAgICBjb250aW51ZQogCi0gICAg
ICAgICAgICBzZWxmLl9jaGVja19vcHRpb25zX2FnYWluc3RfZXhwZWN0YXRpb25zKGxpbmVubywg
ZXhwZWN0YXRpb24pCisgICAgICAgICAgICBzZWxmLl9jaGVja19vcHRpb25zX2FnYWluc3RfZXhw
ZWN0YXRpb25zKGV4cGVjdGF0aW9uKQogCi0gICAgICAgICAgICBpZiBzZWxmLl9jaGVja19wYXRo
X2RvZXNfbm90X2V4aXN0KGxpbmVubywgZXhwZWN0YXRpb24pOgorICAgICAgICAgICAgaWYgc2Vs
Zi5fY2hlY2tfcGF0aF9kb2VzX25vdF9leGlzdChleHBlY3RhdGlvbik6CiAgICAgICAgICAgICAg
ICAgY29udGludWUKIAogICAgICAgICAgICAgaWYgbm90IHNlbGYuX2Z1bGxfdGVzdF9saXN0OgpA
QCAtNzE2LDcyICs3MjIsNTQgQEAgY2xhc3MgVGVzdEV4cGVjdGF0aW9uczoKICAgICAgICAgICAg
ICAgICB0ZXN0cyA9IHNlbGYuX2V4cGFuZF90ZXN0cyhleHBlY3RhdGlvbi5uYW1lKQogCiAgICAg
ICAgICAgICBwYXJzZWRfbW9kaWZpZXJzID0gW21vZGlmaWVyIGZvciBtb2RpZmllciBpbiBleHBl
Y3RhdGlvbi5tb2RpZmllcnMgaWYgbW9kaWZpZXIgaW4gc2VsZi5NT0RJRklFUlNdCi0gICAgICAg
ICAgICBwYXJzZWRfZXhwZWN0YXRpb25zID0gc2VsZi5fcGFyc2VfZXhwZWN0YXRpb25zKGxpbmVu
bywgZXhwZWN0YXRpb24pCisgICAgICAgICAgICBwYXJzZWRfZXhwZWN0YXRpb25zID0gc2VsZi5f
cGFyc2VfZXhwZWN0YXRpb25zKGV4cGVjdGF0aW9uKQogCi0gICAgICAgICAgICAjIEZJWE1FOiBF
bGltaW5hdGUgdGhpcyBhd2Z1bCBlcnJvciBwbHVtYmluZwotICAgICAgICAgICAgbW9kaWZpZXJf
ZXJyb3JzID0gc2VsZi5fbW9kZWwuYWRkX3Rlc3RzKGxpbmVubywgZXhwZWN0YXRpb24sIHRlc3Rz
LCBwYXJzZWRfZXhwZWN0YXRpb25zLCBwYXJzZWRfbW9kaWZpZXJzLCBudW1fbWF0Y2hlcywgb3Zl
cnJpZGVzX2FsbG93ZWQpCi0gICAgICAgICAgICBmb3IgKG1lc3NhZ2UsIHNvdXJjZSkgaW4gbW9k
aWZpZXJfZXJyb3JzOgotICAgICAgICAgICAgICAgIHNlbGYuX2FkZF9lcnJvcihsaW5lbm8sIG1l
c3NhZ2UsIHNvdXJjZSkKKyAgICAgICAgICAgIHNlbGYuX21vZGVsLmFkZF90ZXN0cyhsaW5lbm8s
IGV4cGVjdGF0aW9uLCB0ZXN0cywgcGFyc2VkX2V4cGVjdGF0aW9ucywgcGFyc2VkX21vZGlmaWVy
cywgbnVtX21hdGNoZXMsIG92ZXJyaWRlc19hbGxvd2VkKQogCi0gICAgZGVmIF9wYXJzZV9leHBl
Y3RhdGlvbnMoc2VsZiwgbGluZW5vLCBleHBlY3RhdGlvbl9saW5lKToKKyAgICBkZWYgX3BhcnNl
X2V4cGVjdGF0aW9ucyhzZWxmLCBleHBlY3RhdGlvbl9saW5lKToKICAgICAgICAgcmVzdWx0ID0g
c2V0KCkKICAgICAgICAgZm9yIHBhcnQgaW4gZXhwZWN0YXRpb25fbGluZS5leHBlY3RhdGlvbnM6
CiAgICAgICAgICAgICBleHBlY3RhdGlvbiA9IFRlc3RFeHBlY3RhdGlvbnMuZXhwZWN0YXRpb25f
ZnJvbV9zdHJpbmcocGFydCkKICAgICAgICAgICAgIGlmIGV4cGVjdGF0aW9uIGlzIE5vbmU6ICAj
IENhcmVmdWwsIFBBU1MgaXMgY3VycmVudGx5IDAuCi0gICAgICAgICAgICAgICAgc2VsZi5fYWRk
X2Vycm9yKGxpbmVubywgJ1Vuc3VwcG9ydGVkIGV4cGVjdGF0aW9uOiAlcycgJSBwYXJ0LCBleHBl
Y3RhdGlvbl9saW5lLm5hbWUpCisgICAgICAgICAgICAgICAgZXhwZWN0YXRpb25fbGluZS5lcnJv
cnMuYXBwZW5kKCdVbnN1cHBvcnRlZCBleHBlY3RhdGlvbjogJXMnICUgcGFydCkKICAgICAgICAg
ICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgcmVzdWx0LmFkZChleHBlY3RhdGlvbikKICAg
ICAgICAgcmV0dXJuIHJlc3VsdAogCi0gICAgZGVmIF9jaGVja19vcHRpb25zKHNlbGYsIG1hdGNo
ZXIsIGxpbmVubywgZXhwZWN0YXRpb24pOgotICAgICAgICBtYXRjaF9yZXN1bHQgPSBzZWxmLl9j
aGVja19zeW50YXgobWF0Y2hlciwgbGluZW5vLCBleHBlY3RhdGlvbikKLSAgICAgICAgc2VsZi5f
Y2hlY2tfc2VtYW50aWNzKGxpbmVubywgZXhwZWN0YXRpb24pCisgICAgZGVmIF9jaGVja19vcHRp
b25zKHNlbGYsIG1hdGNoZXIsIGV4cGVjdGF0aW9uKToKKyAgICAgICAgbWF0Y2hfcmVzdWx0ID0g
bWF0Y2hlci5tYXRjaChleHBlY3RhdGlvbikKKyAgICAgICAgc2VsZi5fY2hlY2tfc2VtYW50aWNz
KGV4cGVjdGF0aW9uKQogICAgICAgICByZXR1cm4gbWF0Y2hfcmVzdWx0Lm51bV9tYXRjaGVzCiAK
LSAgICBkZWYgX2NoZWNrX3N5bnRheChzZWxmLCBtYXRjaGVyLCBsaW5lbm8sIGV4cGVjdGF0aW9u
KToKLSAgICAgICAgbWF0Y2hfcmVzdWx0ID0gbWF0Y2hlci5tYXRjaChleHBlY3RhdGlvbi5tb2Rp
ZmllcnMpCi0gICAgICAgIGZvciBlcnJvciBpbiBtYXRjaF9yZXN1bHQuZXJyb3JzOgotICAgICAg
ICAgICAgc2VsZi5fYWRkX2Vycm9yKGxpbmVubywgZXJyb3IsIGV4cGVjdGF0aW9uLm5hbWUpCi0g
ICAgICAgIGZvciB3YXJuaW5nIGluIG1hdGNoX3Jlc3VsdC53YXJuaW5nczoKLSAgICAgICAgICAg
IHNlbGYuX2xvZ19ub25fZmF0YWxfZXJyb3IobGluZW5vLCB3YXJuaW5nLCBleHBlY3RhdGlvbi5u
YW1lKQotICAgICAgICByZXR1cm4gbWF0Y2hfcmVzdWx0Ci0KLSAgICBkZWYgX2NoZWNrX3NlbWFu
dGljcyhzZWxmLCBsaW5lbm8sIGV4cGVjdGF0aW9uKToKKyAgICBkZWYgX2NoZWNrX3NlbWFudGlj
cyhzZWxmLCBleHBlY3RhdGlvbik6CiAgICAgICAgIGhhc193b250Zml4ID0gJ3dvbnRmaXgnIGlu
IGV4cGVjdGF0aW9uLm1vZGlmaWVycwogICAgICAgICBoYXNfYnVnID0gRmFsc2UKICAgICAgICAg
Zm9yIG9wdCBpbiBleHBlY3RhdGlvbi5tb2RpZmllcnM6CiAgICAgICAgICAgICBpZiBvcHQuc3Rh
cnRzd2l0aCgnYnVnJyk6CiAgICAgICAgICAgICAgICAgaGFzX2J1ZyA9IFRydWUKICAgICAgICAg
ICAgICAgICBpZiByZS5tYXRjaCgnYnVnXGQrJywgb3B0KToKLSAgICAgICAgICAgICAgICAgICAg
c2VsZi5fYWRkX2Vycm9yKGxpbmVubywKLSAgICAgICAgICAgICAgICAgICAgICAgICdCVUdcZCsg
aXMgbm90IGFsbG93ZWQsIG11c3QgYmUgb25lIG9mICcKLSAgICAgICAgICAgICAgICAgICAgICAg
ICdCVUdDUlxkKywgQlVHV0tcZCssIEJVR1Y4X1xkKywgJwotICAgICAgICAgICAgICAgICAgICAg
ICAgJ29yIGEgbm9uLW51bWVyaWMgYnVnIGlkZW50aWZpZXIuJywgZXhwZWN0YXRpb24ubmFtZSkK
KyAgICAgICAgICAgICAgICAgICAgZXhwZWN0YXRpb24uZXJyb3JzLmFwcGVuZCgnQlVHXGQrIGlz
IG5vdCBhbGxvd2VkLCBtdXN0IGJlIG9uZSBvZiBCVUdDUlxkKywgQlVHV0tcZCssIEJVR1Y4X1xk
Kywgb3IgYSBub24tbnVtZXJpYyBidWcgaWRlbnRpZmllci4nKQogCiAgICAgICAgIGlmIG5vdCBo
YXNfYnVnIGFuZCBub3QgaGFzX3dvbnRmaXg6Ci0gICAgICAgICAgICBzZWxmLl9sb2dfbm9uX2Zh
dGFsX2Vycm9yKGxpbmVubywgJ1Rlc3QgbGFja3MgQlVHIG1vZGlmaWVyLicsIGV4cGVjdGF0aW9u
Lm5hbWUpCisgICAgICAgICAgICBleHBlY3RhdGlvbi53YXJuaW5ncy5hcHBlbmQoJ1Rlc3QgbGFj
a3MgQlVHIG1vZGlmaWVyLicpCiAKICAgICAgICAgaWYgc2VsZi5faXNfbGludF9tb2RlIGFuZCAn
cmViYXNlbGluZScgaW4gZXhwZWN0YXRpb24ubW9kaWZpZXJzOgotICAgICAgICAgICAgc2VsZi5f
YWRkX2Vycm9yKGxpbmVubywKLSAgICAgICAgICAgICAgICAnUkVCQVNFTElORSBzaG91bGQgb25s
eSBiZSB1c2VkIGZvciBydW5uaW5nIHJlYmFzZWxpbmUucHkuICcKLSAgICAgICAgICAgICAgICAn
Q2Fubm90IGJlIGNoZWNrZWQgaW4uJywgZXhwZWN0YXRpb24ubmFtZSkKKyAgICAgICAgICAgIGV4
cGVjdGF0aW9uLmVycm9ycy5hcHBlbmQoJ1JFQkFTRUxJTkUgc2hvdWxkIG9ubHkgYmUgdXNlZCBm
b3IgcnVubmluZyByZWJhc2VsaW5lLnB5LiBDYW5ub3QgYmUgY2hlY2tlZCBpbi4nKQogCi0gICAg
ZGVmIF9jaGVja19vcHRpb25zX2FnYWluc3RfZXhwZWN0YXRpb25zKHNlbGYsIGxpbmVubywgZXhw
ZWN0YXRpb24pOgorICAgIGRlZiBfY2hlY2tfb3B0aW9uc19hZ2FpbnN0X2V4cGVjdGF0aW9ucyhz
ZWxmLCBleHBlY3RhdGlvbik6CiAgICAgICAgIGlmICdzbG93JyBpbiBleHBlY3RhdGlvbi5tb2Rp
ZmllcnMgYW5kICd0aW1lb3V0JyBpbiBleHBlY3RhdGlvbi5leHBlY3RhdGlvbnM6Ci0gICAgICAg
ICAgICBzZWxmLl9hZGRfZXJyb3IobGluZW5vLAotICAgICAgICAgICAgICAgICdBIHRlc3QgY2Fu
IG5vdCBiZSBib3RoIFNMT1cgYW5kIFRJTUVPVVQuIElmIGl0IHRpbWVzIG91dCAnCi0gICAgICAg
ICAgICAgICAgJ2luZGVmaW5pdGVseSwgdGhlbiBpdCBzaG91bGQgYmUganVzdCBUSU1FT1VULics
IGV4cGVjdGF0aW9uLm5hbWUpCisgICAgICAgICAgICBleHBlY3RhdGlvbi5lcnJvcnMuYXBwZW5k
KCdBIHRlc3QgY2FuIG5vdCBiZSBib3RoIFNMT1cgYW5kIFRJTUVPVVQuIElmIGl0IHRpbWVzIG91
dCBpbmRlZmluaXRlbHksIHRoZW4gaXQgc2hvdWxkIGJlIGp1c3QgVElNRU9VVC4nKQogCi0gICAg
ZGVmIF9jaGVja19wYXRoX2RvZXNfbm90X2V4aXN0KHNlbGYsIGxpbmVubywgZXhwZWN0YXRpb24p
OgorICAgIGRlZiBfY2hlY2tfcGF0aF9kb2VzX25vdF9leGlzdChzZWxmLCBleHBlY3RhdGlvbik6
CiAgICAgICAgICMgV2ViS2l0J3Mgd2F5IG9mIHNraXBwaW5nIHRlc3RzIGlzIHRvIGFkZCBhIC1k
aXNhYmxlZCBzdWZmaXguCiAgICAgICAgICMgU28gd2Ugc2hvdWxkIGNvbnNpZGVyIHRoZSBwYXRo
IGV4aXN0aW5nIGlmIHRoZSBwYXRoIG9yIHRoZQogICAgICAgICAjIC1kaXNhYmxlZCB2ZXJzaW9u
IGV4aXN0cy4KICAgICAgICAgaWYgKG5vdCBzZWxmLl9wb3J0LnRlc3RfZXhpc3RzKGV4cGVjdGF0
aW9uLm5hbWUpCiAgICAgICAgICAgICBhbmQgbm90IHNlbGYuX3BvcnQudGVzdF9leGlzdHMoZXhw
ZWN0YXRpb24ubmFtZSArICctZGlzYWJsZWQnKSk6Ci0gICAgICAgICAgICAjIExvZyBhIG5vbiBm
YXRhbCBlcnJvciBoZXJlIHNpbmNlIHlvdSBoaXQgdGhpcyBjYXNlIGFueQorICAgICAgICAgICAg
IyBMb2cgYSB3YXJuaW5nIGhlcmUgc2luY2UgeW91IGhpdCB0aGlzIGNhc2UgYW55CiAgICAgICAg
ICAgICAjIHRpbWUgeW91IHVwZGF0ZSB0ZXN0X2V4cGVjdGF0aW9ucy50eHQgd2l0aG91dCBzeW5j
aW5nCiAgICAgICAgICAgICAjIHRoZSBMYXlvdXRUZXN0cyBkaXJlY3RvcnkKLSAgICAgICAgICAg
IHNlbGYuX2xvZ19ub25fZmF0YWxfZXJyb3IobGluZW5vLCAnUGF0aCBkb2VzIG5vdCBleGlzdC4n
LCBleHBlY3RhdGlvbi5uYW1lKQorICAgICAgICAgICAgZXhwZWN0YXRpb24ud2FybmluZ3MuYXBw
ZW5kKCdQYXRoIGRvZXMgbm90IGV4aXN0LicpCiAgICAgICAgICAgICByZXR1cm4gVHJ1ZQogICAg
ICAgICByZXR1cm4gRmFsc2UKIApAQCAtODA3LDI0ICs3OTUsMTEgQEAgY2xhc3MgVGVzdEV4cGVj
dGF0aW9uczoKICAgICAgICAgICAgIHJlc3VsdCA9IFt0ZXN0X2xpc3RfcGF0aCwgXQogICAgICAg
ICByZXR1cm4gcmVzdWx0CiAKLSAgICBkZWYgX2FkZF9lcnJvcihzZWxmLCBsaW5lbm8sIG1zZywg
cGF0aCk6Ci0gICAgICAgICIiIlJlcG9ydHMgYW4gZXJyb3IgdGhhdCB3aWxsIHByZXZlbnQgcnVu
bmluZyB0aGUgdGVzdHMuIERvZXMgbm90Ci0gICAgICAgIGltbWVkaWF0ZWx5IHJhaXNlIGFuIGV4
Y2VwdGlvbiBiZWNhdXNlIHdlJ2QgbGlrZSB0byBhZ2dyZWdhdGUgYWxsIHRoZQotICAgICAgICBl
cnJvcnMgc28gdGhleSBjYW4gYWxsIGJlIHByaW50ZWQgb3V0LiIiIgotICAgICAgICBzZWxmLl9l
cnJvcnMuYXBwZW5kKCJMaW5lOiVzICVzICVzIiAlIChsaW5lbm8sIG1zZywgcGF0aCkpCi0KLSAg
ICBkZWYgX2xvZ19ub25fZmF0YWxfZXJyb3Ioc2VsZiwgbGluZW5vLCBtc2csIHBhdGgpOgotICAg
ICAgICAiIiJSZXBvcnRzIGFuIGVycm9yIHRoYXQgd2lsbCBub3QgcHJldmVudCBydW5uaW5nIHRo
ZSB0ZXN0cy4gVGhlc2UgYXJlCi0gICAgICAgIHN0aWxsIGVycm9ycywgYnV0IG5vdCBiYWQgZW5v
dWdoIHRvIHdhcnJhbnQgYnJlYWtpbmcgdGVzdCBydW5uaW5nLiIiIgotICAgICAgICBzZWxmLl9u
b25fZmF0YWxfZXJyb3JzLmFwcGVuZCgnTGluZTolcyAlcyAlcycgJSAobGluZW5vLCBtc2csIHBh
dGgpKQotCiAKIGNsYXNzIE1vZGlmaWVyTWF0Y2hSZXN1bHQob2JqZWN0KToKICAgICBkZWYgX19p
bml0X18oc2VsZiwgb3B0aW9ucyk6CiAgICAgICAgIHNlbGYubnVtX21hdGNoZXMgPSBNb2RpZmll
ck1hdGNoZXIuTk9fTUFUQ0gKICAgICAgICAgc2VsZi5vcHRpb25zID0gb3B0aW9ucwotICAgICAg
ICBzZWxmLmVycm9ycyA9IFtdCi0gICAgICAgIHNlbGYud2FybmluZ3MgPSBbXQogICAgICAgICBz
ZWxmLm1vZGlmaWVycyA9IFtdCiAgICAgICAgIHNlbGYuX21hdGNoZWRfcmVnZXhlcyA9IHNldCgp
CiAgICAgICAgIHNlbGYuX21hdGNoZWRfbWFjcm9zID0gc2V0KCkKQEAgLTkwOSw4ICs4ODQsOCBA
QCBjbGFzcyBNb2RpZmllck1hdGNoZXIob2JqZWN0KToKICAgICAgICAgICAgICAgICBzZWxmLl9j
YXRlZ29yaWVzX2Zvcl9tb2RpZmllcnNbbW9kaWZpZXJdID0gY2F0ZWdvcnkKICAgICAgICAgICAg
ICAgICBzZWxmLl9hbGxfbW9kaWZpZXJzLmFkZChtb2RpZmllcikKIAotICAgIGRlZiBtYXRjaChz
ZWxmLCBvcHRpb25zKToKLSAgICAgICAgIiIiQ2hlY2tzIGEgbGlzdCBvZiBvcHRpb25zIGFnYWlu
c3QgdGhlIGNvbmZpZyBzZXQgaW4gdGhlIGNvbnN0cnVjdG9yLgorICAgIGRlZiBtYXRjaChzZWxm
LCBleHBlY3RhdGlvbik6CisgICAgICAgICIiIkNoZWNrcyBhIGV4cGVjdGF0aW9uLm1vZGlmaWVy
cyBhZ2FpbnN0IHRoZSBjb25maWcgc2V0IGluIHRoZSBjb25zdHJ1Y3Rvci4KICAgICAgICAgT3B0
aW9ucyBtYXkgYmUgZWl0aGVyIGFjdHVhbCBtb2RpZmllciBzdHJpbmdzLCAibWFjcm8iIHN0cmlu
Z3MKICAgICAgICAgdGhhdCBnZXQgZXhwYW5kZWQgdG8gYSBsaXN0IG9mIG1vZGlmaWVycywgb3Ig
c3RyaW5ncyB0aGF0IGFyZSBhbGxvd2VkCiAgICAgICAgIHRvIGJlIGlnbm9yZWQuIEFsbCBvZiB0
aGUgb3B0aW9ucyBtdXN0IGJlIHBhc3NlZCBpbiBpbiBsb3dlciBjYXNlLgpAQCAtOTIzLDU4ICs4
OTgsNTggQEAgY2xhc3MgTW9kaWZpZXJNYXRjaGVyKG9iamVjdCk6CiAgICAgICAgIFRoZSByZXN1
bHRzIG9mIHRoZSBtb3N0IHJlY2VudCBtYXRjaCBhcmUgYXZhaWxhYmxlIGluIHRoZSAnb3B0aW9u
cycsCiAgICAgICAgICdtb2RpZmllcnMnLCAnbnVtX21hdGNoZXMnLCAnZXJyb3JzJywgYW5kICd3
YXJuaW5ncycgcHJvcGVydGllcy4KICAgICAgICAgIiIiCi0gICAgICAgIHJlc3VsdCA9IE1vZGlm
aWVyTWF0Y2hSZXN1bHQob3B0aW9ucykKLSAgICAgICAgc2VsZi5fcGFyc2UocmVzdWx0KQotICAg
ICAgICBpZiByZXN1bHQuZXJyb3JzOgorICAgICAgICBvbGRfZXJyb3JfY291bnQgPSBsZW4oZXhw
ZWN0YXRpb24uZXJyb3JzKQorICAgICAgICByZXN1bHQgPSBNb2RpZmllck1hdGNoUmVzdWx0KGV4
cGVjdGF0aW9uLm1vZGlmaWVycykKKyAgICAgICAgc2VsZi5fcGFyc2UoZXhwZWN0YXRpb24sIHJl
c3VsdCkKKyAgICAgICAgaWYgb2xkX2Vycm9yX2NvdW50ICE9IGxlbihleHBlY3RhdGlvbi5lcnJv
cnMpOgogICAgICAgICAgICAgcmV0dXJuIHJlc3VsdAogICAgICAgICBzZWxmLl9jb3VudF9tYXRj
aGVzKHJlc3VsdCkKICAgICAgICAgcmV0dXJuIHJlc3VsdAogCi0gICAgZGVmIF9wYXJzZShzZWxm
LCByZXN1bHQpOgorICAgIGRlZiBfcGFyc2Uoc2VsZiwgZXhwZWN0YXRpb24sIHJlc3VsdCk6CiAg
ICAgICAgICMgRklYTUU6IFNob3VsZCB3ZSB3YXJuIGFib3V0IGxpbmVzIGhhdmluZyBldmVyeSB2
YWx1ZSBpbiBhIGNhdGVnb3J5PwogICAgICAgICBmb3Igb3B0aW9uIGluIHJlc3VsdC5vcHRpb25z
OgotICAgICAgICAgICAgc2VsZi5fcGFyc2Vfb25lKG9wdGlvbiwgcmVzdWx0KQorICAgICAgICAg
ICAgc2VsZi5fcGFyc2Vfb25lKGV4cGVjdGF0aW9uLCBvcHRpb24sIHJlc3VsdCkKIAotICAgIGRl
ZiBfcGFyc2Vfb25lKHNlbGYsIG9wdGlvbiwgcmVzdWx0KToKKyAgICBkZWYgX3BhcnNlX29uZShz
ZWxmLCBleHBlY3RhdGlvbiwgb3B0aW9uLCByZXN1bHQpOgogICAgICAgICBpZiBvcHRpb24gaW4g
c2VsZi5fYWxsX21vZGlmaWVyczoKLSAgICAgICAgICAgIHNlbGYuX2FkZF9tb2RpZmllcihvcHRp
b24sIHJlc3VsdCkKKyAgICAgICAgICAgIHNlbGYuX2FkZF9tb2RpZmllcihleHBlY3RhdGlvbiwg
b3B0aW9uLCByZXN1bHQpCiAgICAgICAgIGVsaWYgb3B0aW9uIGluIHNlbGYubWFjcm9zOgotICAg
ICAgICAgICAgc2VsZi5fZXhwYW5kX21hY3JvKG9wdGlvbiwgcmVzdWx0KQotICAgICAgICBlbGlm
IG5vdCBzZWxmLl9tYXRjaGVzX2FueV9yZWdleChvcHRpb24sIHJlc3VsdCk6Ci0gICAgICAgICAg
ICByZXN1bHQuZXJyb3JzLmFwcGVuZCgiVW5yZWNvZ25pemVkIG9wdGlvbiAnJXMnIiAlIG9wdGlv
bikKKyAgICAgICAgICAgIHNlbGYuX2V4cGFuZF9tYWNybyhleHBlY3RhdGlvbiwgb3B0aW9uLCBy
ZXN1bHQpCisgICAgICAgIGVsaWYgbm90IHNlbGYuX21hdGNoZXNfYW55X3JlZ2V4KGV4cGVjdGF0
aW9uLCBvcHRpb24sIHJlc3VsdCk6CisgICAgICAgICAgICBleHBlY3RhdGlvbi5lcnJvcnMuYXBw
ZW5kKCJVbnJlY29nbml6ZWQgb3B0aW9uICclcyciICUgb3B0aW9uKQogCi0gICAgZGVmIF9hZGRf
bW9kaWZpZXIoc2VsZiwgb3B0aW9uLCByZXN1bHQpOgorICAgIGRlZiBfYWRkX21vZGlmaWVyKHNl
bGYsIGV4cGVjdGF0aW9uLCBvcHRpb24sIHJlc3VsdCk6CiAgICAgICAgIGlmIG9wdGlvbiBpbiBy
ZXN1bHQubW9kaWZpZXJzOgotICAgICAgICAgICAgcmVzdWx0LmVycm9ycy5hcHBlbmQoIk1vcmUg
dGhhbiBvbmUgJyVzJyIgJSBvcHRpb24pCisgICAgICAgICAgICBleHBlY3RhdGlvbi5lcnJvcnMu
YXBwZW5kKCJNb3JlIHRoYW4gb25lICclcyciICUgb3B0aW9uKQogICAgICAgICBlbHNlOgogICAg
ICAgICAgICAgcmVzdWx0Lm1vZGlmaWVycy5hcHBlbmQob3B0aW9uKQogCi0gICAgZGVmIF9leHBh
bmRfbWFjcm8oc2VsZiwgbWFjcm8sIHJlc3VsdCk6CisgICAgZGVmIF9leHBhbmRfbWFjcm8oc2Vs
ZiwgZXhwZWN0YXRpb24sIG1hY3JvLCByZXN1bHQpOgogICAgICAgICBpZiBtYWNybyBpbiByZXN1
bHQuX21hdGNoZWRfbWFjcm9zOgotICAgICAgICAgICAgcmVzdWx0LmVycm9ycy5hcHBlbmQoIk1v
cmUgdGhhbiBvbmUgJyVzJyIgJSBtYWNybykKKyAgICAgICAgICAgIGV4cGVjdGF0aW9uLmVycm9y
cy5hcHBlbmQoIk1vcmUgdGhhbiBvbmUgJyVzJyIgJSBtYWNybykKICAgICAgICAgICAgIHJldHVy
bgogCiAgICAgICAgIG1vZHMgPSBbXQogICAgICAgICBmb3IgbW9kaWZpZXIgaW4gc2VsZi5tYWNy
b3NbbWFjcm9dOgogICAgICAgICAgICAgaWYgbW9kaWZpZXIgaW4gcmVzdWx0Lm9wdGlvbnM6Ci0g
ICAgICAgICAgICAgICAgcmVzdWx0LmVycm9ycy5hcHBlbmQoIkNhbid0IHNwZWNpZnkgYm90aCBt
b2RpZmllciAnJXMnIGFuZCAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Im1hY3JvICclcyciICUgKG1vZGlmaWVyLCBtYWNybykpCisgICAgICAgICAgICAgICAgZXhwZWN0
YXRpb24uZXJyb3JzLmFwcGVuZCgiQ2FuJ3Qgc3BlY2lmeSBib3RoIG1vZGlmaWVyICclcycgYW5k
IG1hY3JvICclcyciICUgKG1vZGlmaWVyLCBtYWNybykpCiAgICAgICAgICAgICBlbHNlOgogICAg
ICAgICAgICAgICAgIG1vZHMuYXBwZW5kKG1vZGlmaWVyKQogICAgICAgICByZXN1bHQuX21hdGNo
ZWRfbWFjcm9zLmFkZChtYWNybykKICAgICAgICAgcmVzdWx0Lm1vZGlmaWVycy5leHRlbmQobW9k
cykKIAotICAgIGRlZiBfbWF0Y2hlc19hbnlfcmVnZXgoc2VsZiwgb3B0aW9uLCByZXN1bHQpOgor
ICAgIGRlZiBfbWF0Y2hlc19hbnlfcmVnZXgoc2VsZiwgZXhwZWN0YXRpb24sIG9wdGlvbiwgcmVz
dWx0KToKICAgICAgICAgZm9yIHJlZ2V4X3N0ciwgcGF0dGVybiBpbiBzZWxmLnJlZ2V4ZXNfdG9f
aWdub3JlLml0ZXJpdGVtcygpOgogICAgICAgICAgICAgaWYgcGF0dGVybi5tYXRjaChvcHRpb24p
OgotICAgICAgICAgICAgICAgIHNlbGYuX2hhbmRsZV9yZWdleF9tYXRjaChyZWdleF9zdHIsIHJl
c3VsdCkKKyAgICAgICAgICAgICAgICBzZWxmLl9oYW5kbGVfcmVnZXhfbWF0Y2goZXhwZWN0YXRp
b24sIHJlZ2V4X3N0ciwgcmVzdWx0KQogICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCiAgICAg
ICAgIHJldHVybiBGYWxzZQogCi0gICAgZGVmIF9oYW5kbGVfcmVnZXhfbWF0Y2goc2VsZiwgcmVn
ZXhfc3RyLCByZXN1bHQpOgorICAgIGRlZiBfaGFuZGxlX3JlZ2V4X21hdGNoKHNlbGYsIGV4cGVj
dGF0aW9uLCByZWdleF9zdHIsIHJlc3VsdCk6CiAgICAgICAgIGlmIChyZWdleF9zdHIgaW4gcmVz
dWx0Ll9tYXRjaGVkX3JlZ2V4ZXMgYW5kCiAgICAgICAgICAgICByZWdleF9zdHIgbm90IGluIHNl
bGYuRFVQTElDQVRFX1JFR0VYRVNfQUxMT1dFRCk6Ci0gICAgICAgICAgICByZXN1bHQuZXJyb3Jz
LmFwcGVuZCgiTW9yZSB0aGFuIG9uZSBvcHRpb24gbWF0Y2hpbmcgJyVzJyIgJQorICAgICAgICAg
ICAgZXhwZWN0YXRpb24uZXJyb3JzLmFwcGVuZCgiTW9yZSB0aGFuIG9uZSBvcHRpb24gbWF0Y2hp
bmcgJyVzJyIgJQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnZXhfc3RyKQog
ICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmVzdWx0Ll9tYXRjaGVkX3JlZ2V4ZXMuYWRkKHJl
Z2V4X3N0cikKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L21vZGVscy90ZXN0X2V4cGVjdGF0aW9uc191bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0aW9uc191bml0dGVzdC5weQpp
bmRleCA0OGY4OTU4Y2M3MGQ5MGU1MjczZDJkN2Y3YTMxZGYxZTI5ZTczZDBlLi42MzY0NGU2MmMy
ZjQ5NmU5MzU0OWVjYTg0MTkxOTBlZmMxOTA1NDE0IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9leHBlY3RhdGlvbnNfdW5pdHRlc3Qu
cHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3Rf
ZXhwZWN0YXRpb25zX3VuaXR0ZXN0LnB5CkBAIC0yODcsOCArMjg3LDcgQEAgY2xhc3MgU2VtYW50
aWNUZXN0cyhCYXNlKToKICAgICBkZWYgdGVzdF9taXNzaW5nX2J1Z2lkKHNlbGYpOgogICAgICAg
ICAjIFRoaXMgc2hvdWxkIGxvZyBhIG5vbi1mYXRhbCBlcnJvci4KICAgICAgICAgc2VsZi5wYXJz
ZV9leHAoJ1NMT1cgOiBmYWlsdXJlcy9leHBlY3RlZC90ZXh0Lmh0bWwgPSBURVhUJykKLSAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbCgKLSAgICAgICAgICAgIGxlbihzZWxmLl9leHAuZ2V0X25vbl9m
YXRhbF9lcnJvcnMoKSksIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzZWxmLl9leHAuaGFz
X3dhcm5pbmdzKCkpCiAKICAgICBkZWYgdGVzdF9zbG93X2FuZF90aW1lb3V0KHNlbGYpOgogICAg
ICAgICAjIEEgdGVzdCBjYW5ub3QgYmUgU0xPVyBhbmQgZXhwZWN0ZWQgdG8gVElNRU9VVC4KQEAg
LTMxNCw3ICszMTMsNyBAQCBCVUdfT1ZFUlJJREUgOiBmYWlsdXJlcy9leHBlY3RlZC90ZXh0Lmh0
bWwgPSBJTUFHRSIiIiwgKQogICAgIGRlZiB0ZXN0X21pc3NpbmdfZmlsZShzZWxmKToKICAgICAg
ICAgIyBUaGlzIHNob3VsZCBsb2cgYSBub24tZmF0YWwgZXJyb3IuCiAgICAgICAgIHNlbGYucGFy
c2VfZXhwKCdCVUdfVEVTVCA6IG1pc3NpbmdfZmlsZS5odG1sID0gVEVYVCcpCi0gICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwobGVuKHNlbGYuX2V4cC5nZXRfbm9uX2ZhdGFsX2Vycm9ycygpKSwgMSkK
KyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlbGYuX2V4cC5oYXNfd2FybmluZ3MoKSwgMSkKIAog
CiBjbGFzcyBQcmVjZWRlbmNlVGVzdHMoQmFzZSk6CkBAIC0zOTUsOSArMzk0LDExIEBAIGNsYXNz
IE1vZGlmaWVyVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBtYXRjaGVyID0gc2Vs
Zi5tYXRjaGVyCiAgICAgICAgIGlmIHZhbHVlczoKICAgICAgICAgICAgIG1hdGNoZXIgPSBNb2Rp
Zmllck1hdGNoZXIoc2VsZi5GYWtlVGVzdENvbmZpZ3VyYXRpb24odmFsdWVzKSkKLSAgICAgICAg
bWF0Y2hfcmVzdWx0ID0gbWF0Y2hlci5tYXRjaChtb2RpZmllcnMpCi0gICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwobGVuKG1hdGNoX3Jlc3VsdC53YXJuaW5ncyksIDApCi0gICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwobGVuKG1hdGNoX3Jlc3VsdC5lcnJvcnMpLCBudW1fZXJyb3JzKQorICAgICAgICBl
eHBlY3RhdGlvbiA9IFRlc3RFeHBlY3RhdGlvbkxpbmUoKQorICAgICAgICBleHBlY3RhdGlvbi5t
b2RpZmllcnMgPSBtb2RpZmllcnMKKyAgICAgICAgbWF0Y2hfcmVzdWx0ID0gbWF0Y2hlci5tYXRj
aChleHBlY3RhdGlvbikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZXhwZWN0YXRpb24u
d2FybmluZ3MpLCAwKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihleHBlY3RhdGlvbi5l
cnJvcnMpLCBudW1fZXJyb3JzKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1hdGNoX3Jlc3Vs
dC5udW1fbWF0Y2hlcywgZXhwZWN0ZWRfbnVtX21hdGNoZXMsCiAgICAgICAgICAgICAgJ21hdGNo
KCVzLCAlcykgcmV0dXJuZWQgLT4gJWQsIGV4cGVjdGVkICVkJyAlCiAgICAgICAgICAgICAgKG1v
ZGlmaWVycywgc3RyKHNlbGYuY29uZmlnLnZhbHVlcygpKSwK
</data>

          </attachment>
      

    </bug>

</bugzilla>