<?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>180800</bug_id>
          
          <creation_ts>2017-12-14 03:18:39 -0800</creation_ts>
          <short_desc>WebDriver: add a common way to run tests with pytest</short_desc>
          <delta_ts>2017-12-14 06:38:18 -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>WebDriver</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=180420</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>180420</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bburg</cc>
    
    <cc>clopez</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1381557</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-12-14 03:18:39 -0800</bug_when>
    <thetext>We currently use pytestrunner from wpt for w3c tests and our own code for selenium tests. Using the same code for both would simplify everything, but also allows us to have a custom results recorder to support other test expectations like TIMEOUT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381559</commentid>
    <comment_count>1</comment_count>
      <attachid>329342</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-12-14 03:29:03 -0800</bug_when>
    <thetext>Created attachment 329342
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381562</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2017-12-14 03:32:01 -0800</bug_when>
    <thetext>Attachment 329342 did not pass style-queue:


ERROR: Tools/Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:149:  [WebDriverW3CExecutor.run] Instance of &apos;WebDriverW3CExecutor&apos; has no &apos;protocol&apos; member  [pylint/E1101] [5]
ERROR: Tools/Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:150:  [WebDriverW3CExecutor.run] Instance of &apos;WebDriverW3CExecutor&apos; has no &apos;protocol&apos; member  [pylint/E1101] [5]
ERROR: Tools/Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:151:  [WebDriverW3CExecutor.run] Instance of &apos;WebDriverW3CExecutor&apos; has no &apos;protocol&apos; member  [pylint/E1101] [5]
ERROR: Tools/Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:152:  [WebDriverW3CExecutor.run] Instance of &apos;WebDriverW3CExecutor&apos; has no &apos;server_config&apos; member  [pylint/E1101] [5]
Total errors found: 4 in 7 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>1381601</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-12-14 06:37:51 -0800</bug_when>
    <thetext>Committed r225902: &lt;https://trac.webkit.org/changeset/225902&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381602</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-12-14 06:38:18 -0800</bug_when>
    <thetext>&lt;rdar://problem/36046936&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>329342</attachid>
            <date>2017-12-14 03:29:03 -0800</date>
            <delta_ts>2017-12-14 06:16:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wd-common-runner.diff</filename>
            <type>text/plain</type>
            <size>22445</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBjOWZl
ZjY1NDFhMy4uMGEwZDM3NDUzOGEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9U
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1NiBAQAorMjAxNy0xMi0xNCAgQ2FybG9zIEdhcmNp
YSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgV2ViRHJpdmVyOiBhZGQg
YSBjb21tb24gd2F5IHRvIHJ1biB0ZXN0cyB3aXRoIHB5dGVzdAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwODAwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgY3VycmVudGx5IHVzZSBweXRlc3RydW5u
ZXIgZnJvbSB3cHQgZm9yIHczYyB0ZXN0cyBhbmQgb3VyIG93biBjb2RlIGZvciBzZWxlbml1bSB0
ZXN0cy4gVXNpbmcgdGhlIHNhbWUgY29kZQorICAgICAgICBmb3IgYm90aCB3b3VsZCBzaW1wbGlm
eSBldmVyeXRoaW5nLCBidXQgYWxzbyBhbGxvd3MgdXMgdG8gaGF2ZSBhIGN1c3RvbSByZXN1bHRz
IHJlY29yZGVyIHRvIHN1cHBvcnQgb3RoZXIgdGVzdAorICAgICAgICBleHBlY3RhdGlvbnMgbGlr
ZSBUSU1FT1VULiBUaGUgY29kZSB0byBydW4gc2VsZW5pdW0gdGVzdHMgd2l0aCBweXRlc3QgaGFz
IGJlZW4gbW92ZWQgdG8gYSBuZXcgZmlsZQorICAgICAgICBweXRlc3RfcnVubmVyLnB5IGFuZCBt
YWRlIGdlbmVyaWMgdG8gYmUgdXNlZCBhbHNvIGZvciB3M2MgdGVzdHMuCisKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L3dlYmRyaXZlcl90ZXN0cy9weXRlc3RfcnVubmVyLnB5OiBBZGRlZC4K
KyAgICAgICAgKFRlbXBvcmFyeURpcmVjdG9yeSk6CisgICAgICAgIChUZW1wb3JhcnlEaXJlY3Rv
cnkuX19lbnRlcl9fKToKKyAgICAgICAgKFRlbXBvcmFyeURpcmVjdG9yeS5fX2V4aXRfXyk6Cisg
ICAgICAgIChDb2xsZWN0UmVjb3JkZXIpOgorICAgICAgICAoQ29sbGVjdFJlY29yZGVyLl9faW5p
dF9fKToKKyAgICAgICAgKENvbGxlY3RSZWNvcmRlci5weXRlc3RfY29sbGVjdHJlcG9ydCk6Cisg
ICAgICAgIChIYXJuZXNzUmVzdWx0UmVjb3JkZXIpOgorICAgICAgICAoSGFybmVzc1Jlc3VsdFJl
Y29yZGVyLl9faW5pdF9fKToKKyAgICAgICAgKEhhcm5lc3NSZXN1bHRSZWNvcmRlci5weXRlc3Rf
Y29sbGVjdHJlcG9ydCk6CisgICAgICAgIChTdWJ0ZXN0UmVzdWx0UmVjb3JkZXIpOgorICAgICAg
ICAoU3VidGVzdFJlc3VsdFJlY29yZGVyLl9faW5pdF9fKToKKyAgICAgICAgKFN1YnRlc3RSZXN1
bHRSZWNvcmRlci5weXRlc3RfcnVudGVzdF9sb2dyZXBvcnQpOgorICAgICAgICAoU3VidGVzdFJl
c3VsdFJlY29yZGVyLl93YXNfdGltZW91dCk6CisgICAgICAgIChTdWJ0ZXN0UmVzdWx0UmVjb3Jk
ZXIucmVjb3JkX3Bhc3MpOgorICAgICAgICAoU3VidGVzdFJlc3VsdFJlY29yZGVyLnJlY29yZF9m
YWlsKToKKyAgICAgICAgKFN1YnRlc3RSZXN1bHRSZWNvcmRlci5yZWNvcmRfZXJyb3IpOgorICAg
ICAgICAoU3VidGVzdFJlc3VsdFJlY29yZGVyLnJlY29yZF9za2lwKToKKyAgICAgICAgKFN1YnRl
c3RSZXN1bHRSZWNvcmRlci5yZWNvcmQpOgorICAgICAgICAoY29sbGVjdCk6CisgICAgICAgIChy
dW4pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvd2ViZHJpdmVyX3Rlc3RzL3dlYmRyaXZl
cl9zZWxlbml1bV9leGVjdXRvci5weToKKyAgICAgICAgKGRvX2RlbGF5ZWRfaW1wb3J0cyk6IElt
cG9ydCBweXRlc3RfcnVubmVyIGhlcmUgdG8gYXZvaWQgY3ljbGVzLgorICAgICAgICAoV2ViRHJp
dmVyU2VsZW5pdW1FeGVjdXRvci5fX2luaXRfXyk6IFNhdmUgdGhlIGRyaXZlciBwYXJhbWV0ZXIg
YXMgYXJncyBtZW1iZXIgYW5kIGNhbGwgZG9fZGVsYXllZF9pbXBvcnRzKCkgaWYKKyAgICAgICAg
bmVlZGVkLgorICAgICAgICAoV2ViRHJpdmVyU2VsZW5pdW1FeGVjdXRvci5jb2xsZWN0KTogVXNl
IHB5dGVzdF9ydW5uZXIuCisgICAgICAgIChXZWJEcml2ZXJTZWxlbml1bUV4ZWN1dG9yLnJ1bik6
IERpdHRvLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvd2ViZHJpdmVyX3Rlc3RzL3dlYmRy
aXZlcl90ZXN0X3J1bm5lci5weToKKyAgICAgICAgKFdlYkRyaXZlclRlc3RSdW5uZXIucHJpbnRf
cmVzdWx0cyk6IEhhbmRsZSBhbGwgcG9zc2libGUgdGVzdHMgcmVzdWx0cy4KKyAgICAgICAgKFdl
YkRyaXZlclRlc3RSdW5uZXIucHJpbnRfcmVzdWx0cy5yZXBvcnQpOiBIZWxwZXIgdG8gZHVtcCB0
ZXN0IHJlc3VsdHMuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS93ZWJkcml2ZXJfdGVzdHMv
d2ViZHJpdmVyX3Rlc3RfcnVubmVyX3NlbGVuaXVtLnB5OgorICAgICAgICAoV2ViRHJpdmVyVGVz
dFJ1bm5lclNlbGVuaXVtLnJ1bik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS93ZWJkcml2
ZXJfdGVzdHMvd2ViZHJpdmVyX3Rlc3RfcnVubmVyX3czYy5weToKKyAgICAgICAgKFdlYkRyaXZl
clRlc3RSdW5uZXJXM0MuX19pbml0X18pOiBEbyBub3Qgc2V0IFBZVEVTVF9USU1FT1VUIGVudiB2
YXIuCisgICAgICAgIChXZWJEcml2ZXJUZXN0UnVubmVyVzNDLl9pc190ZXN0KTogRml4IGNoZWNr
IGZvciBzdXBwb3J0IGZpbGVzLgorICAgICAgICAoV2ViRHJpdmVyVGVzdFJ1bm5lclczQy5ydW4p
OiBQYXNzIHRoZSB0aW1lb3V0IGFzIHBhcmFtZXRlciB0byBXZWJEcml2ZXJXM0NFeGVjdXRvci5y
dW4oKS4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3dlYmRyaXZlcl90ZXN0cy93ZWJkcml2
ZXJfdzNjX2V4ZWN1dG9yLnB5OgorICAgICAgICAoZG9fZGVsYXllZF9pbXBvcnRzKTogSW1wb3J0
IHB5dGVzdF9ydW5uZXIgaGVyZSB0byBhdm9pZCBjeWNsZXMuCisgICAgICAgIChXZWJEcml2ZXJX
M0NFeGVjdXRvci5fX2luaXRfXyk6IENhbGwgZG9fZGVsYXllZF9pbXBvcnRzKCkgaWYgbmVlZGVk
LgorICAgICAgICAoV2ViRHJpdmVyVzNDRXhlY3V0b3IucnVuKTogVXNlIHB5dGVzdF9ydW5uZXIu
CisKIDIwMTctMTItMTIgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtXS10gQWRkIG1vZGVybiBXZWJLaXQgU1BJIHRvIHNldCBhdXRvIGZpbGwgYnV0dG9uIHR5
cGUgYW5kIHF1ZXJ5IGlmIHRoZSBhdXRvIGZpbGwgYnV0dG9uIGlzIGVuYWJsZWQKZGlmZiAtLWdp
dCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvd2ViZHJpdmVyX3Rlc3RzL3B5dGVzdF9ydW5uZXIu
cHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3dlYmRyaXZlcl90ZXN0cy9weXRlc3RfcnVubmVy
LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4wNzNkNDIyY2FlOAot
LS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvd2ViZHJpdmVyX3Rlc3Rz
L3B5dGVzdF9ydW5uZXIucHkKQEAgLTAsMCArMSwxNjkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE3
IElnYWxpYSBTLkwuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMg
MS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
IyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisjIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQKKyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyMgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMKKyMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworIyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04KKyMgQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisK
K2ltcG9ydCBlcnJubworaW1wb3J0IGpzb24KK2ltcG9ydCBvcworaW1wb3J0IHNodXRpbAoraW1w
b3J0IHN5cworaW1wb3J0IHRlbXBmaWxlCisKK2ltcG9ydCB3ZWJraXRweS50aGlyZHBhcnR5LmF1
dG9pbnN0YWxsZWQucHl0ZXN0CitpbXBvcnQgd2Via2l0cHkudGhpcmRwYXJ0eS5hdXRvaW5zdGFs
bGVkLnB5dGVzdF90aW1lb3V0CitpbXBvcnQgcHl0ZXN0Citmcm9tIF9weXRlc3QubWFpbiBpbXBv
cnQgRVhJVF9JTlRFUk5BTEVSUk9SCisKKworY2xhc3MgVGVtcG9yYXJ5RGlyZWN0b3J5KG9iamVj
dCk6CisKKyAgICBkZWYgX19lbnRlcl9fKHNlbGYpOgorICAgICAgICBzZWxmLnBhdGggPSB0ZW1w
ZmlsZS5ta2R0ZW1wKHByZWZpeD0icHl0ZXN0LSIpCisgICAgICAgIHJldHVybiBzZWxmLnBhdGgK
KworICAgIGRlZiBfX2V4aXRfXyhzZWxmLCAqYXJncyk6CisgICAgICAgIHRyeToKKyAgICAgICAg
ICAgIHNodXRpbC5ybXRyZWUoc2VsZi5wYXRoKQorICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBl
OgorICAgICAgICAgICAgIyBubyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CisgICAgICAgICAgICBp
ZiBlLmVycm5vICE9IGVycm5vLkVOT0VOVDoKKyAgICAgICAgICAgICAgICByYWlzZQorCisKK2Ns
YXNzIENvbGxlY3RSZWNvcmRlcihvYmplY3QpOgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYpOgor
ICAgICAgICBzZWxmLnRlc3RzID0gW10KKworICAgIGRlZiBweXRlc3RfY29sbGVjdHJlcG9ydChz
ZWxmLCByZXBvcnQpOgorICAgICAgICBpZiByZXBvcnQubm9kZWlkOgorICAgICAgICAgICAgc2Vs
Zi50ZXN0cy5hcHBlbmQocmVwb3J0Lm5vZGVpZCkKKworCitjbGFzcyBIYXJuZXNzUmVzdWx0UmVj
b3JkZXIob2JqZWN0KToKKworICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgc2VsZi5v
dXRjb21lID0gKCdPSycsIE5vbmUpCisKKyAgICBkZWYgcHl0ZXN0X2NvbGxlY3RyZXBvcnQoc2Vs
ZiwgcmVwb3J0KToKKyAgICAgICAgaWYgcmVwb3J0Lm91dGNvbWUgPT0gJ2ZhaWxlZCc6CisgICAg
ICAgICAgICBzZWxmLm91dGNvbWUgPSAoJ0VSUk9SJywgTm9uZSkKKyAgICAgICAgZWxpZiByZXBv
cnQub3V0Y29tZSA9PSAnc2tpcHBlZCc6CisgICAgICAgICAgICBzZWxmLm91dGNvbWUgPSAoJ1NL
SVAnLCBOb25lKQorCisKK2NsYXNzIFN1YnRlc3RSZXN1bHRSZWNvcmRlcihvYmplY3QpOgorCisg
ICAgZGVmIF9faW5pdF9fKHNlbGYpOgorICAgICAgICBzZWxmLnJlc3VsdHMgPSBbXQorCisgICAg
ZGVmIHB5dGVzdF9ydW50ZXN0X2xvZ3JlcG9ydChzZWxmLCByZXBvcnQpOgorICAgICAgICBpZiBy
ZXBvcnQucGFzc2VkIGFuZCByZXBvcnQud2hlbiA9PSAnY2FsbCc6CisgICAgICAgICAgICBzZWxm
LnJlY29yZF9wYXNzKHJlcG9ydCkKKyAgICAgICAgZWxpZiByZXBvcnQuZmFpbGVkOgorICAgICAg
ICAgICAgaWYgcmVwb3J0LndoZW4gIT0gJ2NhbGwnOgorICAgICAgICAgICAgICAgIHNlbGYucmVj
b3JkX2Vycm9yKHJlcG9ydCkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc2Vs
Zi5yZWNvcmRfZmFpbChyZXBvcnQpCisgICAgICAgIGVsaWYgcmVwb3J0LnNraXBwZWQ6CisgICAg
ICAgICAgICBzZWxmLnJlY29yZF9za2lwKHJlcG9ydCkKKworICAgIGRlZiBfd2FzX3RpbWVvdXQo
c2VsZiwgcmVwb3J0KToKKyAgICAgICAgcmV0dXJuIGhhc2F0dHIocmVwb3J0LmxvbmdyZXByLCAn
cmVwcmNyYXNoJykgYW5kIHJlcG9ydC5sb25ncmVwci5yZXByY3Jhc2gubWVzc2FnZS5zdGFydHN3
aXRoKCdGYWlsZWQ6IFRpbWVvdXQgPicpCisKKyAgICBkZWYgcmVjb3JkX3Bhc3Moc2VsZiwgcmVw
b3J0KToKKyAgICAgICAgaWYgaGFzYXR0cihyZXBvcnQsICd3YXN4ZmFpbCcpOgorICAgICAgICAg
ICAgaWYgcmVwb3J0Lndhc3hmYWlsID09ICdUaW1lb3V0JzoKKyAgICAgICAgICAgICAgICBzZWxm
LnJlY29yZChyZXBvcnQubm9kZWlkLCAnWFBBU1NfVElNRU9VVCcpCisgICAgICAgICAgICBlbHNl
OgorICAgICAgICAgICAgICAgIHNlbGYucmVjb3JkKHJlcG9ydC5ub2RlaWQsICdYUEFTUycpCisg
ICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLnJlY29yZChyZXBvcnQubm9kZWlkLCAnUEFT
UycpCisKKyAgICBkZWYgcmVjb3JkX2ZhaWwoc2VsZiwgcmVwb3J0KToKKyAgICAgICAgaWYgc2Vs
Zi5fd2FzX3RpbWVvdXQocmVwb3J0KToKKyAgICAgICAgICAgIHNlbGYucmVjb3JkKHJlcG9ydC5u
b2RlaWQsICdUSU1FT1VUJywgc3RhY2s9cmVwb3J0LmxvbmdyZXByKQorICAgICAgICBlbHNlOgor
ICAgICAgICAgICAgc2VsZi5yZWNvcmQocmVwb3J0Lm5vZGVpZCwgJ0ZBSUwnLCBzdGFjaz1yZXBv
cnQubG9uZ3JlcHIpCisKKyAgICBkZWYgcmVjb3JkX2Vycm9yKHNlbGYsIHJlcG9ydCk6CisgICAg
ICAgICMgZXJyb3IgaW4gc2V0dXAvdGVhcmRvd24KKyAgICAgICAgaWYgcmVwb3J0LndoZW4gIT0g
J2NhbGwnOgorICAgICAgICAgICAgbWVzc2FnZSA9ICclcyBlcnJvcicgJSByZXBvcnQud2hlbgor
ICAgICAgICBzZWxmLnJlY29yZChyZXBvcnQubm9kZWlkLCAnRVJST1InLCBtZXNzYWdlLCByZXBv
cnQubG9uZ3JlcHIpCisKKyAgICBkZWYgcmVjb3JkX3NraXAoc2VsZiwgcmVwb3J0KToKKyAgICAg
ICAgaWYgaGFzYXR0cihyZXBvcnQsICd3YXN4ZmFpbCcpOgorICAgICAgICAgICAgaWYgc2VsZi5f
d2FzX3RpbWVvdXQocmVwb3J0KSBhbmQgcmVwb3J0Lndhc3hmYWlsICE9ICdUaW1lb3V0JzoKKyAg
ICAgICAgICAgICAgICBzZWxmLnJlY29yZChyZXBvcnQubm9kZWlkLCAnVElNRU9VVCcsIHN0YWNr
PXJlcG9ydC5sb25ncmVwcikKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc2Vs
Zi5yZWNvcmQocmVwb3J0Lm5vZGVpZCwgJ1hGQUlMJykKKyAgICAgICAgZWxzZToKKyAgICAgICAg
ICAgIHNlbGYucmVjb3JkKHJlcG9ydC5ub2RlaWQsICdTS0lQJykKKworICAgIGRlZiByZWNvcmQo
c2VsZiwgdGVzdCwgc3RhdHVzLCBtZXNzYWdlPU5vbmUsIHN0YWNrPU5vbmUpOgorICAgICAgICBp
ZiBzdGFjayBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHN0YWNrID0gc3RyKHN0YWNrKQorICAg
ICAgICBuZXdfcmVzdWx0ID0gKHRlc3QsIHN0YXR1cywgbWVzc2FnZSwgc3RhY2spCisgICAgICAg
IHNlbGYucmVzdWx0cy5hcHBlbmQobmV3X3Jlc3VsdCkKKworCitkZWYgY29sbGVjdChkaXJlY3Rv
cnksIGFyZ3MpOgorICAgIGNvbGxlY3RfcmVjb3JkZXIgPSBDb2xsZWN0UmVjb3JkZXIoKQorICAg
IHN0ZG91dCA9IHN5cy5zdGRvdXQKKyAgICB3aXRoIG9wZW4ob3MuZGV2bnVsbCwgJ3diJykgYXMg
ZGV2bnVsbDoKKyAgICAgICAgc3lzLnN0ZG91dCA9IGRldm51bGwKKyAgICAgICAgd2l0aCBUZW1w
b3JhcnlEaXJlY3RvcnkoKSBhcyBjYWNoZV9kaXJlY3Rvcnk6CisgICAgICAgICAgICBweXRlc3Qu
bWFpbihhcmdzICsgWyctLWNvbGxlY3Qtb25seScsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICctLWJhc2V0ZW1wJywgY2FjaGVfZGlyZWN0b3J5LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBkaXJlY3RvcnldLAorICAgICAgICAgICAgICAgICAgICAgICAgcGx1Z2lu
cz1bY29sbGVjdF9yZWNvcmRlcl0pCisgICAgc3lzLnN0ZG91dCA9IHN0ZG91dAorICAgIHJldHVy
biBjb2xsZWN0X3JlY29yZGVyLnRlc3RzCisKKworZGVmIHJ1bihwYXRoLCBhcmdzLCB0aW1lb3V0
LCBlbnY9e30pOgorICAgIGhhcm5lc3NfcmVjb3JkZXIgPSBIYXJuZXNzUmVzdWx0UmVjb3JkZXIo
KQorICAgIHN1YnRlc3RzX3JlY29yZGVyID0gU3VidGVzdFJlc3VsdFJlY29yZGVyKCkKKyAgICBf
ZW52aXJvbiA9IGRpY3Qob3MuZW52aXJvbikKKyAgICBvcy5lbnZpcm9uLmNsZWFyKCkKKyAgICBv
cy5lbnZpcm9uLnVwZGF0ZShlbnYpCisKKyAgICB3aXRoIFRlbXBvcmFyeURpcmVjdG9yeSgpIGFz
IGNhY2hlX2RpcmVjdG9yeToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcmVzdWx0ID0gcHl0
ZXN0Lm1haW4oYXJncyArIFsnLS12ZXJib3NlJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJy0tY2FwdHVyZT1ubycsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICctLWJhc2V0ZW1wJywgY2FjaGVfZGlyZWN0b3J5LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1zaG93bG9jYWxzJywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tdGltZW91dD0lcycgJSB0aW1lb3V0
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLXAnLCAnbm86Y2Fj
aGVwcm92aWRlcicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICct
cCcsICdweXRlc3RfdGltZW91dCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHBhdGhdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGx1Z2lucz1b
aGFybmVzc19yZWNvcmRlciwgc3VidGVzdHNfcmVjb3JkZXJdKQorICAgICAgICAgICAgaWYgcmVz
dWx0ID09IEVYSVRfSU5URVJOQUxFUlJPUjoKKyAgICAgICAgICAgICAgICBoYXJuZXNzX3JlY29y
ZGVyLm91dGNvbWUgPSAoJ0VSUk9SJywgTm9uZSkKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBh
cyBlOgorICAgICAgICAgICAgaGFybmVzc19yZWNvcmRlci5vdXRjb21lID0gKCdFUlJPUicsIHN0
cihlKSkKKworICAgIG9zLmVudmlyb24uY2xlYXIoKQorICAgIG9zLmVudmlyb24udXBkYXRlKF9l
bnZpcm9uKQorCisgICAgcmV0dXJuIGhhcm5lc3NfcmVjb3JkZXIub3V0Y29tZSwgc3VidGVzdHNf
cmVjb3JkZXIucmVzdWx0cwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS93ZWJk
cml2ZXJfdGVzdHMvd2ViZHJpdmVyX3NlbGVuaXVtX2V4ZWN1dG9yLnB5IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS93ZWJkcml2ZXJfdGVzdHMvd2ViZHJpdmVyX3NlbGVuaXVtX2V4ZWN1dG9yLnB5
CmluZGV4IDEyYTQ5NTM0ODEyLi5lNGFlMWMwNWJiZCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS93ZWJkcml2ZXJfdGVzdHMvd2ViZHJpdmVyX3NlbGVuaXVtX2V4ZWN1dG9yLnB5
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvd2ViZHJpdmVyX3Rlc3RzL3dlYmRyaXZlcl9z
ZWxlbml1bV9leGVjdXRvci5weQpAQCAtMjYsMzUgKzI2LDE4IEBAIGltcG9ydCBzeXMKIAogZnJv
bSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmZpbGVzeXN0ZW0gaW1wb3J0IEZpbGVTeXN0ZW0KIGZy
b20gd2Via2l0cHkuY29tbW9uLndlYmtpdF9maW5kZXIgaW1wb3J0IFdlYktpdEZpbmRlcgotaW1w
b3J0IHdlYmtpdHB5LnRoaXJkcGFydHkuYXV0b2luc3RhbGxlZC5tb3psb2cKLWltcG9ydCB3ZWJr
aXRweS50aGlyZHBhcnR5LmF1dG9pbnN0YWxsZWQucHl0ZXN0Ci1pbXBvcnQgd2Via2l0cHkudGhp
cmRwYXJ0eS5hdXRvaW5zdGFsbGVkLnB5dGVzdF90aW1lb3V0Ci1pbXBvcnQgcHl0ZXN0CiAKLSMg
U2luY2UgVzNDIHRlc3RzIGFsc28gdXNlIHB5dGVzdCwgd2UgdXNlIHB5dGVzdCBhbmQgc29tZSBv
dGhlciB0b29scyBmb3Igc2VsZW5pdW0gdG9vLgotdzNjX3Rvb2xzX2RpciA9IFdlYktpdEZpbmRl
cihGaWxlU3lzdGVtKCkpLnBhdGhfZnJvbV93ZWJraXRfYmFzZSgnV2ViRHJpdmVyVGVzdHMnLCAn
aW1wb3J0ZWQnLCAndzNjJywgJ3Rvb2xzJykKK3B5dGVzdF9ydW5uZXIgPSBOb25lCiAKIAotZGVm
IF9lbnN1cmVfZGlyZWN0b3J5X2luX3BhdGgoZGlyZWN0b3J5KToKLSAgICBpZiBub3QgZGlyZWN0
b3J5IGluIHN5cy5wYXRoOgotICAgICAgICBzeXMucGF0aC5pbnNlcnQoMCwgZGlyZWN0b3J5KQot
X2Vuc3VyZV9kaXJlY3RvcnlfaW5fcGF0aChvcy5wYXRoLmpvaW4odzNjX3Rvb2xzX2RpciwgJ3dw
dHJ1bm5lcicpKQorZGVmIGRvX2RlbGF5ZWRfaW1wb3J0cygpOgorICAgIGdsb2JhbCBweXRlc3Rf
cnVubmVyCisgICAgaW1wb3J0IHdlYmtpdHB5LndlYmRyaXZlcl90ZXN0cy5weXRlc3RfcnVubmVy
IGFzIHB5dGVzdF9ydW5uZXIKIAotZnJvbSB3cHRydW5uZXIuZXhlY3V0b3JzLnB5dGVzdHJ1bm5l
ci5ydW5uZXIgaW1wb3J0IEhhcm5lc3NSZXN1bHRSZWNvcmRlciwgU3VidGVzdFJlc3VsdFJlY29y
ZGVyLCBUZW1wb3JhcnlEaXJlY3RvcnkKIAogX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFt
ZV9fKQogCiAKLWNsYXNzIENvbGxlY3RSZWNvcmRlcihvYmplY3QpOgotCi0gICAgZGVmIF9faW5p
dF9fKHNlbGYpOgotICAgICAgICBzZWxmLnRlc3RzID0gW10KLQotICAgIGRlZiBweXRlc3RfY29s
bGVjdHJlcG9ydChzZWxmLCByZXBvcnQpOgotICAgICAgICBpZiByZXBvcnQubm9kZWlkOgotICAg
ICAgICAgICAgc2VsZi50ZXN0cy5hcHBlbmQocmVwb3J0Lm5vZGVpZCkKLQotCiBjbGFzcyBXZWJE
cml2ZXJTZWxlbml1bUV4ZWN1dG9yKG9iamVjdCk6CiAKICAgICBkZWYgX19pbml0X18oc2VsZiwg
ZHJpdmVyLCBkaXNwbGF5X2RyaXZlcik6CkBAIC02OSw0MyArNTIsMTMgQEAgY2xhc3MgV2ViRHJp
dmVyU2VsZW5pdW1FeGVjdXRvcihvYmplY3QpOgogICAgICAgICBzZWxmLl9lbnYudXBkYXRlKGRp
c3BsYXlfZHJpdmVyLl9zZXR1cF9lbnZpcm9uX2Zvcl90ZXN0KCkpCiAgICAgICAgIHNlbGYuX2Vu
di51cGRhdGUoZHJpdmVyLmJyb3dzZXJfZW52KCkpCiAKLSAgICAgICAgc2VsZi5fbmFtZSA9IGRy
aXZlci5zZWxlbml1bV9uYW1lKCkKKyAgICAgICAgc2VsZi5fYXJncyA9IFsnLS1kcml2ZXI9JXMn
ICUgZHJpdmVyLnNlbGVuaXVtX25hbWUoKV0KIAotICAgIGRlZiBjb2xsZWN0KHNlbGYsIGRpcmVj
dG9yeSk6Ci0gICAgICAgIGNvbGxlY3RfcmVjb3JkZXIgPSBDb2xsZWN0UmVjb3JkZXIoKQotICAg
ICAgICBzdGRvdXQgPSBzeXMuc3Rkb3V0Ci0gICAgICAgIHdpdGggb3Blbihvcy5kZXZudWxsLCAn
d2InKSBhcyBkZXZudWxsOgotICAgICAgICAgICAgc3lzLnN0ZG91dCA9IGRldm51bGwKLSAgICAg
ICAgICAgIHdpdGggVGVtcG9yYXJ5RGlyZWN0b3J5KCkgYXMgY2FjaGVfZGlyZWN0b3J5OgotICAg
ICAgICAgICAgICAgIHB5dGVzdC5tYWluKFsnLS1kcml2ZXI9JXMnICUgc2VsZi5fbmFtZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tY29sbGVjdC1vbmx5JywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJy0tYmFzZXRlbXAnLCBjYWNoZV9kaXJlY3RvcnksCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdG9yeV0sIHBsdWdpbnM9W2NvbGxlY3RfcmVjb3Jk
ZXJdKQotICAgICAgICBzeXMuc3Rkb3V0ID0gc3Rkb3V0Ci0gICAgICAgIHJldHVybiBjb2xsZWN0
X3JlY29yZGVyLnRlc3RzCi0KLSAgICBkZWYgcnVuKHNlbGYsIHRlc3QsIHRpbWVvdXQ9MCk6Ci0g
ICAgICAgIGhhcm5lc3NfcmVjb3JkZXIgPSBIYXJuZXNzUmVzdWx0UmVjb3JkZXIoKQotICAgICAg
ICBzdWJ0ZXN0c19yZWNvcmRlciA9IFN1YnRlc3RSZXN1bHRSZWNvcmRlcigpCi0gICAgICAgIF9l
bnZpcm9uID0gZGljdChvcy5lbnZpcm9uKQotICAgICAgICBvcy5lbnZpcm9uLmNsZWFyKCkKLSAg
ICAgICAgb3MuZW52aXJvbi51cGRhdGUoc2VsZi5fZW52KQorICAgICAgICBpZiBweXRlc3RfcnVu
bmVyIGlzIE5vbmU6CisgICAgICAgICAgICBkb19kZWxheWVkX2ltcG9ydHMoKQogCi0gICAgICAg
IHdpdGggVGVtcG9yYXJ5RGlyZWN0b3J5KCkgYXMgY2FjaGVfZGlyZWN0b3J5OgotICAgICAgICAg
ICAgdHJ5OgotICAgICAgICAgICAgICAgIHB5dGVzdC5tYWluKFsnLS1kcml2ZXI9JXMnICUgc2Vs
Zi5fbmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tdmVyYm9zZScsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICctLWNhcHR1cmU9bm8nLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAnLS1iYXNldGVtcCcsIGNhY2hlX2RpcmVjdG9yeSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJy0tc2hvd2xvY2FscycsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICctLXRpbWVvdXQ9JXMnICUgdGltZW91dCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJy1wJywgJ25vOmNhY2hlcHJvdmlkZXInLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAnLXAnLCAncHl0ZXN0X3RpbWVvdXQnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB0ZXN0XSwgcGx1Z2lucz1baGFybmVzc19yZWNvcmRlciwgc3VidGVzdHNfcmVjb3JkZXJdKQot
ICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgotICAgICAgICAgICAgICAgIGhhcm5l
c3NfcmVjb3JkZXIub3V0Y29tZSA9ICgiRVJST1IiLCBzdHIoZSkpCi0KLSAgICAgICAgb3MuZW52
aXJvbi5jbGVhcigpCi0gICAgICAgIG9zLmVudmlyb24udXBkYXRlKF9lbnZpcm9uKQorICAgIGRl
ZiBjb2xsZWN0KHNlbGYsIGRpcmVjdG9yeSk6CisgICAgICAgIHJldHVybiBweXRlc3RfcnVubmVy
LmNvbGxlY3QoZGlyZWN0b3J5LCBzZWxmLl9hcmdzKQogCi0gICAgICAgIHJldHVybiBoYXJuZXNz
X3JlY29yZGVyLm91dGNvbWUsIHN1YnRlc3RzX3JlY29yZGVyLnJlc3VsdHMKKyAgICBkZWYgcnVu
KHNlbGYsIHRlc3QsIHRpbWVvdXQpOgorICAgICAgICByZXR1cm4gcHl0ZXN0X3J1bm5lci5ydW4o
dGVzdCwgc2VsZi5fYXJncywgdGltZW91dCwgc2VsZi5fZW52KQpkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS93ZWJkcml2ZXJfdGVzdHMvd2ViZHJpdmVyX3Rlc3RfcnVubmVyLnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS93ZWJkcml2ZXJfdGVzdHMvd2ViZHJpdmVyX3Rlc3Rf
cnVubmVyLnB5CmluZGV4IDNhMzgwMzJlMTk4Li40NTk3MzI4ZjE2ZiAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS93ZWJkcml2ZXJfdGVzdHMvd2ViZHJpdmVyX3Rlc3RfcnVubmVy
LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvd2ViZHJpdmVyX3Rlc3RzL3dlYmRyaXZl
cl90ZXN0X3J1bm5lci5weQpAQCAtNjcsMTkgKzY3LDI3IEBAIGNsYXNzIFdlYkRyaXZlclRlc3RS
dW5uZXIob2JqZWN0KToKIAogICAgIGRlZiBwcmludF9yZXN1bHRzKHNlbGYpOgogICAgICAgICBy
ZXN1bHRzID0ge30KKyAgICAgICAgZXhwZWN0ZWRfY291bnQgPSAwCiAgICAgICAgIHBhc3NlZF9j
b3VudCA9IDAKICAgICAgICAgZmFpbHVyZXNfY291bnQgPSAwCisgICAgICAgIHRpbWVvdXRfY291
bnQgPSAwCiAgICAgICAgIHRlc3RfcmVzdWx0cyA9IFtdCiAgICAgICAgIGZvciBydW5uZXIgaW4g
c2VsZi5fcnVubmVyczoKICAgICAgICAgICAgIHRlc3RfcmVzdWx0cy5leHRlbmQocnVubmVyLnJl
c3VsdHMoKSkKICAgICAgICAgZm9yIHJlc3VsdCBpbiB0ZXN0X3Jlc3VsdHM6CiAgICAgICAgICAg
ICBpZiByZXN1bHQuc3RhdHVzID09ICdPSyc6CiAgICAgICAgICAgICAgICAgZm9yIHN1YnRlc3Qs
IHN0YXR1cywgXywgXyBpbiByZXN1bHQuc3VidGVzdF9yZXN1bHRzOgotICAgICAgICAgICAgICAg
ICAgICBpZiBzdGF0dXMgPT0gJ1BBU1MnOgotICAgICAgICAgICAgICAgICAgICAgICAgcGFzc2Vk
X2NvdW50ICs9IDEKKyAgICAgICAgICAgICAgICAgICAgaWYgc3RhdHVzIGluIFsnUEFTUycsICdT
S0lQJywgJ1hGQUlMJ106CisgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZF9jb3VudCAr
PSAxCiAgICAgICAgICAgICAgICAgICAgIGVsaWYgc3RhdHVzIGluIFsnRkFJTCcsICdFUlJPUidd
OgogICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0cy5zZXRkZWZhdWx0KCdGQUlMJywgW10p
LmFwcGVuZChvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKHJlc3VsdC50ZXN0KSwgc3VidGVz
dCkpCiAgICAgICAgICAgICAgICAgICAgICAgICBmYWlsdXJlc19jb3VudCArPSAxCisgICAgICAg
ICAgICAgICAgICAgIGVsaWYgc3RhdHVzID09ICdUSU1FT1VUJzoKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHJlc3VsdHMuc2V0ZGVmYXVsdCgnVElNRU9VVCcsIFtdKS5hcHBlbmQob3MucGF0aC5q
b2luKG9zLnBhdGguZGlybmFtZShyZXN1bHQudGVzdCksIHN1YnRlc3QpKQorICAgICAgICAgICAg
ICAgICAgICAgICAgdGltZW91dF9jb3VudCArPSAxCisgICAgICAgICAgICAgICAgICAgIGVsaWYg
c3RhdHVzIGluIFsnWFBBU1MnLCAnWFBBU1NfVElNRU9VVCddOgorICAgICAgICAgICAgICAgICAg
ICAgICAgcmVzdWx0cy5zZXRkZWZhdWx0KHN0YXR1cywgW10pLmFwcGVuZChvcy5wYXRoLmpvaW4o
b3MucGF0aC5kaXJuYW1lKHJlc3VsdC50ZXN0KSwgc3VidGVzdCkpCisgICAgICAgICAgICAgICAg
ICAgICAgICBwYXNzZWRfY291bnQgKz0gMQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAg
ICAgICAjIEZJWE1FOiBoYW5kbGUgb3RoZXIgcmVzdWx0cy4KICAgICAgICAgICAgICAgICBwYXNz
CkBAIC05MCwxMyArOTgsMjUgQEAgY2xhc3MgV2ViRHJpdmVyVGVzdFJ1bm5lcihvYmplY3QpOgog
ICAgICAgICAgICAgX2xvZy5pbmZvKCdBbGwgdGVzdHMgcnVuIGFzIGV4cGVjdGVkJykKICAgICAg
ICAgICAgIHJldHVybgogCi0gICAgICAgIF9sb2cuaW5mbygnJWQgdGVzdHMgcmFuIGFzIGV4cGVj
dGVkLCAlZCBkaWRuXCd0XG4nICUgKHBhc3NlZF9jb3VudCwgZmFpbHVyZXNfY291bnQpKQorICAg
ICAgICBfbG9nLmluZm8oJyVkIHRlc3RzIHJhbiBhcyBleHBlY3RlZCwgJWQgZGlkblwndFxuJyAl
IChleHBlY3RlZF9jb3VudCwgZmFpbHVyZXNfY291bnQgKyB0aW1lb3V0X2NvdW50ICsgcGFzc2Vk
X2NvdW50KSkKKworICAgICAgICBkZWYgcmVwb3J0KHN0YXR1cywgYWN0dWFsLCBleHBlY3RlZD1O
b25lKToKKyAgICAgICAgICAgIGlmIHN0YXR1cyBub3QgaW4gcmVzdWx0czoKKyAgICAgICAgICAg
ICAgICByZXR1cm4KIAotICAgICAgICBpZiAnRkFJTCcgaW4gcmVzdWx0czoKLSAgICAgICAgICAg
IGZhaWxlZCA9IHJlc3VsdHNbJ0ZBSUwnXQotICAgICAgICAgICAgX2xvZy5pbmZvKCdVbmV4cGVj
dGVkIGZhaWx1cmVzICglZCknICUgbGVuKGZhaWxlZCkpCi0gICAgICAgICAgICBmb3IgdGVzdCBp
biBmYWlsZWQ6CisgICAgICAgICAgICB0ZXN0cyA9IHJlc3VsdHNbc3RhdHVzXQorICAgICAgICAg
ICAgaWYgZXhwZWN0ZWQgaXMgTm9uZToKKyAgICAgICAgICAgICAgICBfbG9nLmluZm8oJ1VuZXhw
ZWN0ZWQgJXMgKCVkKScgJSAoYWN0dWFsLCBsZW4odGVzdHMpKSkKKyAgICAgICAgICAgIGVsc2U6
CisgICAgICAgICAgICAgICAgX2xvZy5pbmZvKCdFeHBlY3RlZCB0byAlcywgYnV0ICVzICglZCkn
ICUgKGV4cGVjdGVkLCBhY3R1YWwsIGxlbih0ZXN0cykpKQorICAgICAgICAgICAgZm9yIHRlc3Qg
aW4gdGVzdHM6CiAgICAgICAgICAgICAgICAgX2xvZy5pbmZvKCcgICVzJyAlIHRlc3QpCisgICAg
ICAgICAgICBfbG9nLmluZm8oJycpCisKKyAgICAgICAgcmVwb3J0KCdYUEFTUycsICdwYXNzZWQn
LCAnZmFpbCcpCisgICAgICAgIHJlcG9ydCgnWFBBU1NfVElNRU9VVCcsICdwYXNzZWQnLCAndGlt
ZW91dCcpCisgICAgICAgIHJlcG9ydCgnRkFJTCcsICdmYWlsdXJlcycpCisgICAgICAgIHJlcG9y
dCgnVElNRU9VVCcsICd0aW1lb3V0cycpCiAKICAgICBkZWYgZHVtcF9yZXN1bHRzX3RvX2pzb25f
ZmlsZShzZWxmLCBvdXRwdXRfcGF0aCk6CiAgICAgICAgIGpzb25fcmVzdWx0cyA9IHt9CmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3dlYmRyaXZlcl90ZXN0cy93ZWJkcml2ZXJf
dGVzdF9ydW5uZXJfc2VsZW5pdW0ucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3dlYmRyaXZl
cl90ZXN0cy93ZWJkcml2ZXJfdGVzdF9ydW5uZXJfc2VsZW5pdW0ucHkKaW5kZXggZjIwOWQ5MmU0
ZjcuLjc1NTRlNThjOWUyIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3dlYmRy
aXZlcl90ZXN0cy93ZWJkcml2ZXJfdGVzdF9ydW5uZXJfc2VsZW5pdW0ucHkKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS93ZWJkcml2ZXJfdGVzdHMvd2ViZHJpdmVyX3Rlc3RfcnVubmVyX3Nl
bGVuaXVtLnB5CkBAIC03Myw3ICs3Myw2IEBAIGNsYXNzIFdlYkRyaXZlclRlc3RSdW5uZXJTZWxl
bml1bShvYmplY3QpOgogICAgICAgICB0aW1lb3V0ID0gc2VsZi5fcG9ydC5nZXRfb3B0aW9uKCd0
aW1lb3V0JykKICAgICAgICAgZm9yIHRlc3QgaW4gdGVzdHM6CiAgICAgICAgICAgICB0ZXN0X25h
bWUgPSBvcy5wYXRoLnJlbHBhdGgodGVzdCwgc2VsZi5fdGVzdHNfZGlyKCkpCi0gICAgICAgICAg
ICBwcmludCh0ZXN0X25hbWUpCiAgICAgICAgICAgICBoYXJuZXNzX3Jlc3VsdCwgdGVzdF9yZXN1
bHRzID0gZXhlY3V0b3IucnVuKHRlc3QsIHRpbWVvdXQpCiAgICAgICAgICAgICByZXN1bHQgPSBX
ZWJEcml2ZXJUZXN0UmVzdWx0KHRlc3RfbmFtZSwgKmhhcm5lc3NfcmVzdWx0KQogICAgICAgICAg
ICAgaWYgaGFybmVzc19yZXN1bHRbMF0gPT0gJ09LJzoKZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvd2ViZHJpdmVyX3Rlc3RzL3dlYmRyaXZlcl90ZXN0X3J1bm5lcl93M2MucHkg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3dlYmRyaXZlcl90ZXN0cy93ZWJkcml2ZXJfdGVzdF9y
dW5uZXJfdzNjLnB5CmluZGV4IGQyNDgyMTc1OWM4Li5hNDZjODc3ZWJlZiAxMDA2NDQKLS0tIGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS93ZWJkcml2ZXJfdGVzdHMvd2ViZHJpdmVyX3Rlc3RfcnVu
bmVyX3czYy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3dlYmRyaXZlcl90ZXN0cy93
ZWJkcml2ZXJfdGVzdF9ydW5uZXJfdzNjLnB5CkBAIC0zOSwxMiArMzksOCBAQCBjbGFzcyBXZWJE
cml2ZXJUZXN0UnVubmVyVzNDKG9iamVjdCk6CiAgICAgICAgIHNlbGYuX3BvcnQgPSBwb3J0CiAg
ICAgICAgIHNlbGYuX2RyaXZlciA9IGRyaXZlcgogICAgICAgICBzZWxmLl9kaXNwbGF5X2RyaXZl
ciA9IGRpc3BsYXlfZHJpdmVyCi0KLSAgICAgICAgdGltZW91dCA9IHNlbGYuX3BvcnQuZ2V0X29w
dGlvbigndGltZW91dCcpCi0gICAgICAgIGlmIHRpbWVvdXQgPiAwOgotICAgICAgICAgICAgb3Mu
ZW52aXJvblsnUFlURVNUX1RJTUVPVVQnXSA9IHN0cih0aW1lb3V0KQotCiAgICAgICAgIHNlbGYu
X3Jlc3VsdHMgPSBbXQorCiAgICAgICAgIHNlbGYuX3NlcnZlciA9IFdlYkRyaXZlclczQ1dlYlNl
cnZlcihzZWxmLl9wb3J0KQogCiAgICAgZGVmIF90ZXN0c19kaXIoc2VsZik6CkBAIC03Miw3ICs2
OCw3IEBAIGNsYXNzIFdlYkRyaXZlclRlc3RSdW5uZXJXM0Mob2JqZWN0KToKICAgICAgICAgICAg
IHJldHVybiBGYWxzZQogICAgICAgICBpZiBvcy5wYXRoLmJhc2VuYW1lKHRlc3QpIGluIFsnY29u
ZnRlc3QucHknLCAnX19pbml0X18ucHknXToKICAgICAgICAgICAgIHJldHVybiBGYWxzZQotICAg
ICAgICBpZiBvcy5wYXRoLmRpcm5hbWUodGVzdCkgPT0gJ3N1cHBvcnQnOgorICAgICAgICBpZiBv
cy5wYXRoLmJhc2VuYW1lKG9zLnBhdGguZGlybmFtZSh0ZXN0KSkgPT0gJ3N1cHBvcnQnOgogICAg
ICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgICAgIHJldHVybiBUcnVlCiAKQEAgLTg4LDEwICs4
NCwxMSBAQCBjbGFzcyBXZWJEcml2ZXJUZXN0UnVubmVyVzNDKG9iamVjdCk6CiAKICAgICAgICAg
ZXhlY3V0b3IgPSBXZWJEcml2ZXJXM0NFeGVjdXRvcihzZWxmLl9kcml2ZXIsIHNlbGYuX3NlcnZl
ciwgc2VsZi5fZGlzcGxheV9kcml2ZXIpCiAgICAgICAgIGV4ZWN1dG9yLnNldHVwKCkKKyAgICAg
ICAgdGltZW91dCA9IHNlbGYuX3BvcnQuZ2V0X29wdGlvbigndGltZW91dCcpCiAgICAgICAgIHRy
eToKICAgICAgICAgICAgIGZvciB0ZXN0IGluIHRlc3RzOgogICAgICAgICAgICAgICAgIHRlc3Rf
bmFtZSA9IG9zLnBhdGgucmVscGF0aCh0ZXN0LCBzZWxmLl90ZXN0c19kaXIoKSkKLSAgICAgICAg
ICAgICAgICBoYXJuZXNzX3Jlc3VsdCwgdGVzdF9yZXN1bHRzID0gZXhlY3V0b3IucnVuKHRlc3Qp
CisgICAgICAgICAgICAgICAgaGFybmVzc19yZXN1bHQsIHRlc3RfcmVzdWx0cyA9IGV4ZWN1dG9y
LnJ1bih0ZXN0LCB0aW1lb3V0KQogICAgICAgICAgICAgICAgIHJlc3VsdCA9IFdlYkRyaXZlclRl
c3RSZXN1bHQodGVzdF9uYW1lLCAqaGFybmVzc19yZXN1bHQpCiAgICAgICAgICAgICAgICAgaWYg
aGFybmVzc19yZXN1bHRbMF0gPT0gJ09LJzoKICAgICAgICAgICAgICAgICAgICAgZm9yIHN1YnRl
c3QsIHN0YXR1cywgbWVzc2FnZSwgYmFja3RyYWNlIGluIHRlc3RfcmVzdWx0czoKZGlmZiAtLWdp
dCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvd2ViZHJpdmVyX3Rlc3RzL3dlYmRyaXZlcl93M2Nf
ZXhlY3V0b3IucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3dlYmRyaXZlcl90ZXN0cy93ZWJk
cml2ZXJfdzNjX2V4ZWN1dG9yLnB5CmluZGV4IDY0NjM0YzQ4NzU1Li4xMzllM2E0MGI3OSAxMDA2
NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS93ZWJkcml2ZXJfdGVzdHMvd2ViZHJpdmVy
X3czY19leGVjdXRvci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3dlYmRyaXZlcl90
ZXN0cy93ZWJkcml2ZXJfdzNjX2V4ZWN1dG9yLnB5CkBAIC0yMiwxNCArMjIsMTMgQEAKIAogaW1w
b3J0IGxvZ2dpbmcKIGltcG9ydCBvcworaW1wb3J0IGpzb24KIGltcG9ydCBzeXMKIAogZnJvbSB3
ZWJraXRweS5jb21tb24uc3lzdGVtLmZpbGVzeXN0ZW0gaW1wb3J0IEZpbGVTeXN0ZW0KIGZyb20g
d2Via2l0cHkuY29tbW9uLndlYmtpdF9maW5kZXIgaW1wb3J0IFdlYktpdEZpbmRlcgogaW1wb3J0
IHdlYmtpdHB5LnRoaXJkcGFydHkuYXV0b2luc3RhbGxlZC5tb3psb2cKIGltcG9ydCB3ZWJraXRw
eS50aGlyZHBhcnR5LmF1dG9pbnN0YWxsZWQubW96cHJvY2VzcwotaW1wb3J0IHdlYmtpdHB5LnRo
aXJkcGFydHkuYXV0b2luc3RhbGxlZC5weXRlc3QKLWltcG9ydCB3ZWJraXRweS50aGlyZHBhcnR5
LmF1dG9pbnN0YWxsZWQucHl0ZXN0X3RpbWVvdXQKIGZyb20gbW96bG9nIGltcG9ydCBzdHJ1Y3R1
cmVkbG9nCiAKIHczY190b29sc19kaXIgPSBXZWJLaXRGaW5kZXIoRmlsZVN5c3RlbSgpKS5wYXRo
X2Zyb21fd2Via2l0X2Jhc2UoJ1dlYkRyaXZlclRlc3RzJywgJ2ltcG9ydGVkJywgJ3czYycsICd0
b29scycpCkBAIC00NCw2ICs0MywxNCBAQCBfZW5zdXJlX2RpcmVjdG9yeV9pbl9wYXRoKG9zLnBh
dGguam9pbih3M2NfdG9vbHNfZGlyLCAnd3B0cnVubmVyJykpCiBmcm9tIHdwdHJ1bm5lci5leGVj
dXRvcnMuYmFzZSBpbXBvcnQgV2RzcGVjRXhlY3V0b3IsIFdlYkRyaXZlclByb3RvY29sCiBmcm9t
IHdwdHJ1bm5lci53ZWJkcml2ZXJfc2VydmVyIGltcG9ydCBXZWJEcml2ZXJTZXJ2ZXIKIAorcHl0
ZXN0X3J1bm5lciA9IE5vbmUKKworCitkZWYgZG9fZGVsYXllZF9pbXBvcnRzKCk6CisgICAgZ2xv
YmFsIHB5dGVzdF9ydW5uZXIKKyAgICBpbXBvcnQgd2Via2l0cHkud2ViZHJpdmVyX3Rlc3RzLnB5
dGVzdF9ydW5uZXIgYXMgcHl0ZXN0X3J1bm5lcgorCisKIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dl
cihfX25hbWVfXykKIAogCkBAIC0xMjgsNiArMTM1LDkgQEAgY2xhc3MgV2ViRHJpdmVyVzNDRXhl
Y3V0b3IoV2RzcGVjRXhlY3V0b3IpOgogICAgICAgICBzZXJ2ZXJfY29uZmlnID0geydob3N0Jzog
c2VydmVyLmhvc3QoKSwgJ3BvcnRzJzogeydodHRwJzogW3N0cihzZXJ2ZXIucG9ydCgpKV19fQog
ICAgICAgICBXZHNwZWNFeGVjdXRvci5fX2luaXRfXyhzZWxmLCBkcml2ZXIuYnJvd3Nlcl9uYW1l
KCksIHNlcnZlcl9jb25maWcsIGRyaXZlci5iaW5hcnlfcGF0aCgpLCBOb25lLCBjYXBhYmlsaXRp
ZXM9ZHJpdmVyLmNhcGFiaWxpdGllcygpKQogCisgICAgICAgIGlmIHB5dGVzdF9ydW5uZXIgaXMg
Tm9uZToKKyAgICAgICAgICAgIGRvX2RlbGF5ZWRfaW1wb3J0cygpCisKICAgICBkZWYgc2V0dXAo
c2VsZik6CiAgICAgICAgIHNlbGYucnVubmVyID0gVGVzdFJ1bm5lcigpCiAgICAgICAgIHNlbGYu
cHJvdG9jb2wuc2V0dXAoc2VsZi5ydW5uZXIpCkBAIC0xMzUsNiArMTQ1LDEwIEBAIGNsYXNzIFdl
YkRyaXZlclczQ0V4ZWN1dG9yKFdkc3BlY0V4ZWN1dG9yKToKICAgICBkZWYgdGVhcmRvd24oc2Vs
Zik6CiAgICAgICAgIHNlbGYucHJvdG9jb2wudGVhcmRvd24oKQogCi0gICAgZGVmIHJ1bihzZWxm
LCBwYXRoKToKLSAgICAgICAgIyBUaW1lb3V0IGhlcmUgZG9lc24ndCByZWFsbHkgbWF0dGVyIGJl
Y2F1c2UgaXQncyBpZ25vcmVkLCBzbyB3ZSBwYXNzIDAuCi0gICAgICAgIHJldHVybiBzZWxmLmRv
X3dkc3BlYyhzZWxmLnByb3RvY29sLnNlc3Npb25fY29uZmlnLCBwYXRoLCAwKQorICAgIGRlZiBy
dW4oc2VsZiwgdGVzdCwgdGltZW91dCk6CisgICAgICAgIGVudiA9IHsnV0RfSE9TVCc6IHNlbGYu
cHJvdG9jb2wuc2Vzc2lvbl9jb25maWdbJ2hvc3QnXSwKKyAgICAgICAgICAgICAgICdXRF9QT1JU
Jzogc3RyKHNlbGYucHJvdG9jb2wuc2Vzc2lvbl9jb25maWdbJ3BvcnQnXSksCisgICAgICAgICAg
ICAgICAnV0RfQ0FQQUJJTElUSUVTJzoganNvbi5kdW1wcyhzZWxmLnByb3RvY29sLnNlc3Npb25f
Y29uZmlnWydjYXBhYmlsaXRpZXMnXSksCisgICAgICAgICAgICAgICAnV0RfU0VSVkVSX0NPTkZJ
Ryc6IGpzb24uZHVtcHMoc2VsZi5zZXJ2ZXJfY29uZmlnKX0KKyAgICAgICAgYXJncyA9IFsnLS1z
dHJpY3QnLCAnLXAnLCAnbm86bW96bG9nJ10KKyAgICAgICAgcmV0dXJuIHB5dGVzdF9ydW5uZXIu
cnVuKHRlc3QsIGFyZ3MsIHRpbWVvdXQsIGVudikKZGlmZiAtLWdpdCBhL1dlYkRyaXZlclRlc3Rz
L0NoYW5nZUxvZyBiL1dlYkRyaXZlclRlc3RzL0NoYW5nZUxvZwppbmRleCBhMWI1NDNmNGZiNi4u
Y2E4Nzk1NTVjN2IgMTAwNjQ0Ci0tLSBhL1dlYkRyaXZlclRlc3RzL0NoYW5nZUxvZworKysgYi9X
ZWJEcml2ZXJUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNy0xMi0xNCAgQ2Fy
bG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgV2ViRHJp
dmVyOiBhZGQgYSBjb21tb24gd2F5IHRvIHJ1biB0ZXN0cyB3aXRoIHB5dGVzdAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwODAwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIGNvbmZ0ZXN0LnB5
IHNpbmNlIHB5dGVzdF90aW1lb3V0IHBsdWdpbiBpcyBub3cgYWx3YXlzIGxvYWRlZCBmcm9tIHRo
ZSBjb21tYW5kIGxpbmUuCisKKyAgICAgICAgKiBpbXBvcnRlZC93M2MvY29uZnRlc3QucHk6IFJl
bW92ZWQuCisKIDIwMTctMTItMDQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2Fs
aWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIFVwZGF0ZSBXM0MgV2ViRHJpdmVyIGltcG9y
dGVkIHRlc3RzLgpkaWZmIC0tZ2l0IGEvV2ViRHJpdmVyVGVzdHMvaW1wb3J0ZWQvdzNjL2NvbmZ0
ZXN0LnB5IGIvV2ViRHJpdmVyVGVzdHMvaW1wb3J0ZWQvdzNjL2NvbmZ0ZXN0LnB5CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MTAxZTU1MTAzMC4uMDAwMDAwMDAwMDAKLS0tIGEvV2Vi
RHJpdmVyVGVzdHMvaW1wb3J0ZWQvdzNjL2NvbmZ0ZXN0LnB5CisrKyAvZGV2L251bGwKQEAgLTEg
KzAsMCBAQAotcHl0ZXN0X3BsdWdpbnMgPSAncHl0ZXN0X3RpbWVvdXQnLAo=
</data>
<flag name="review"
          id="348438"
          type_id="1"
          status="+"
          setter="clopez"
    />
          </attachment>
      

    </bug>

</bugzilla>