<?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>181674</bug_id>
          
          <creation_ts>2018-01-16 01:14:33 -0800</creation_ts>
          <short_desc>[GTK][WPE] Improve the way glib tests are run</short_desc>
          <delta_ts>2018-01-16 02:43:22 -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>WebKit 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>Gtk, InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>lforschler</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1389477</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-01-16 01:14:33 -0800</bug_when>
    <thetext>Stop using gtester external program and use our own tester from python directly. This way we no longer need to parse the tests output to get the results which is causing problems in WPE bot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389480</commentid>
    <comment_count>1</comment_count>
      <attachid>331372</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-01-16 01:22:08 -0800</bug_when>
    <thetext>Created attachment 331372
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389481</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-01-16 01:24:36 -0800</bug_when>
    <thetext>Attachment 331372 did not pass style-queue:


ERROR: Tools/glib/glib_test_runner.py:257:  [GLibTestRunner.run] Instance of &apos;Popen&apos; has no &apos;terminate&apos; member  [pylint/E1101] [5]
Total errors found: 1 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>1389494</commentid>
    <comment_count>3</comment_count>
      <attachid>331372</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-01-16 02:42:53 -0800</bug_when>
    <thetext>Comment on attachment 331372
Patch

Clearing flags on attachment: 331372

Committed r226967: &lt;https://trac.webkit.org/changeset/226967&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389495</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-01-16 02:42:55 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389496</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-01-16 02:43:22 -0800</bug_when>
    <thetext>&lt;rdar://problem/36539055&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>331372</attachid>
            <date>2018-01-16 01:22:08 -0800</date>
            <delta_ts>2018-01-16 02:42:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wk-glib-tests.diff</filename>
            <type>text/plain</type>
            <size>17202</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzNWMx
OTFlODhmMi4uYzkyMGY1MjZkMjYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9U
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NiBAQAorMjAxOC0wMS0xNiAgQ2FybG9zIEdhcmNp
YSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXSBJbXBy
b3ZlIHRoZSB3YXkgZ2xpYiB0ZXN0cyBhcmUgcnVuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODE2NzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBTdG9wIHVzaW5nIGd0ZXN0ZXIgZXh0ZXJuYWwgcHJvZ3Jh
bSBhbmQgdXNlIG91ciBvd24gdGVzdGVyIGZyb20gcHl0aG9uIGRpcmVjdGx5LiBUaGlzIHdheSB3
ZSBubyBsb25nZXIgbmVlZCB0bworICAgICAgICBwYXJzZSB0aGUgdGVzdHMgb3V0cHV0IHRvIGdl
dCB0aGUgcmVzdWx0cyB3aGljaCBpcyBjYXVzaW5nIHByb2JsZW1zIGluIFdQRSBib3QuIFdlIGNh
biBub3cgZGlmZmVyZW50aWF0ZSBiZXR3ZWVuCisgICAgICAgIHRlc3RzIGZhaWxpbmcgZHVlIHRv
IGFuIGV4cGVjdGVkIGFzc2VydCBpbiB0aGUgdGVzdCBhbmQgdW5leHBlY3RlZCBjcmFzaGVzLgor
ICAgICAgICBUaGlzIGFsc28gZml4ZXMgYSBidWcgaW4gcHJldmlvdXMgY29kZSB3aGVyZSB3ZSBm
YWlsZWQgdG8gcHJvcGVybHkgZGV0ZWN0IHRlc3RzIHRpbWluZyBvdXQsIGJlY2F1c2UgZ3Rlc3Rl
ciB3YXMKKyAgICAgICAgbm90IHNob3dpbmcgdGhlIHN1YnRlc3QgbmFtZSBpbiBzdGRvdXQgaW4g
Y2FzZSBvZiB0aW1lb3V0cy4KKyAgICAgICAgSSd2ZSBsb3dlcmVkIHRoZSBkZWZhdWx0IHRpbWVv
dXQgZnJvbSAxMCB0byA1LCBzaW5jZSB3ZSBhcmUgbm93IHByb3Blcmx5IGhhbmRsaW5nIHRoZSB0
aW1lb3V0IGZvciBldmVyeSB0ZXN0CisgICAgICAgIGNhc2UuIEkndmUgYWxzbyByZW1vdmVkIHRo
ZSB2ZXJib3NlIG9wdGlvbiwgc2luY2UgaXQgd2FzIG9ubHkgdXNlZCBieSBndGVzdGVyIGFuZCB3
ZSBub3cgYWx3YXlzIHNob3cgdGhlIHJlc3VsdAorICAgICAgICBvZiBldmVyeSB0ZXN0IGNhc2Uu
CisKKyAgICAgICAgKiBnbGliL2FwaV90ZXN0X3J1bm5lci5weToKKyAgICAgICAgKFRlc3RSdW5u
ZXIuX3J1bl90ZXN0X2dsaWIpOiBVc2UgR0xpYlRlc3RSdW5uZXIuCisgICAgICAgIChUZXN0UnVu
bmVyLl9ydW5fZ29vZ2xlX3Rlc3QpOiBXcm90ZSB0ZXN0cyB0aW1pbmcgb3V0IHRvIHN0ZG91dCB0
b28uCisgICAgICAgIChhZGRfb3B0aW9ucyk6CisgICAgICAgICogZ2xpYi9nbGliX3Rlc3RfcnVu
bmVyLnB5OiBBZGRlZC4KKyAgICAgICAgKFRlc3RUaW1lb3V0KToKKyAgICAgICAgKE1lc3NhZ2Up
OgorICAgICAgICAoTWVzc2FnZS5fX2luaXRfXyk6CisgICAgICAgIChNZXNzYWdlLmNyZWF0ZSk6
CisgICAgICAgIChNZXNzYWdlLmNyZWF0ZS5yZWFkX3Vuc2lnbmVkKToKKyAgICAgICAgKE1lc3Nh
Z2UuY3JlYXRlLnJlYWRfZG91YmxlKToKKyAgICAgICAgKE1lc3NhZ2UuY3JlYXRlLnJlYWRfc3Ry
aW5nKToKKyAgICAgICAgKEdMaWJUZXN0UnVubmVyKToKKyAgICAgICAgKEdMaWJUZXN0UnVubmVy
Ll9faW5pdF9fKToKKyAgICAgICAgKEdMaWJUZXN0UnVubmVyLl9wcm9jZXNzX2RhdGEpOgorICAg
ICAgICAoR0xpYlRlc3RSdW5uZXIuX3Byb2Nlc3NfbWVzc2FnZSk6CisgICAgICAgIChHTGliVGVz
dFJ1bm5lci5fcmVhZF9mcm9tX3BpcGUpOgorICAgICAgICAoR0xpYlRlc3RSdW5uZXIuX3JlYWRf
ZnJvbV9zdGRlcnIpOgorICAgICAgICAoR0xpYlRlc3RSdW5uZXIuX3N0YXJ0X3RpbWVvdXQpOgor
ICAgICAgICAoR0xpYlRlc3RSdW5uZXIuX3N0YXJ0X3RpbWVvdXQuX2FsYXJtX2hhbmRsZXIpOgor
ICAgICAgICAoR0xpYlRlc3RSdW5uZXIuX3N0b3BfdGltZW91dCk6CisgICAgICAgIChHTGliVGVz
dFJ1bm5lci5fc3VidGVzdF9zdGFydCk6CisgICAgICAgIChHTGliVGVzdFJ1bm5lci5fc3VidGVz
dF9tZXNzYWdlKToKKyAgICAgICAgKEdMaWJUZXN0UnVubmVyLl9zdWJ0ZXN0X3N0ZGVycik6Cisg
ICAgICAgIChHTGliVGVzdFJ1bm5lci5fc3VidGVzdF9lbmQpOgorICAgICAgICAoR0xpYlRlc3RS
dW5uZXIucnVuKToKKwogMjAxOC0wMS0xNSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lh
QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS11bV1BFXSBBZGQgc3VwcG9ydCBmb3IgdW5pdCB0
ZXN0IGV4cGVjdGF0aW9ucwpkaWZmIC0tZ2l0IGEvVG9vbHMvZ2xpYi9hcGlfdGVzdF9ydW5uZXIu
cHkgYi9Ub29scy9nbGliL2FwaV90ZXN0X3J1bm5lci5weQppbmRleCBmNGEzZGFhMWIxMi4uNGUy
ZTE4MTE2NmMgMTAwNzU1Ci0tLSBhL1Rvb2xzL2dsaWIvYXBpX3Rlc3RfcnVubmVyLnB5CisrKyBi
L1Rvb2xzL2dsaWIvYXBpX3Rlc3RfcnVubmVyLnB5CkBAIC0yMiwxNyArMjIsMTUgQEAgaW1wb3J0
IG9zCiBpbXBvcnQgZXJybm8KIGltcG9ydCBzeXMKIGltcG9ydCByZQotZnJvbSBzaWduYWwgaW1w
b3J0IGFsYXJtLCBzaWduYWwsIFNJR0FMUk0sIFNJR0tJTEwsIFNJR1NFR1YKK2Zyb20gc2lnbmFs
IGltcG9ydCBTSUdLSUxMLCBTSUdTRUdWCitmcm9tIGdsaWJfdGVzdF9ydW5uZXIgaW1wb3J0IEdM
aWJUZXN0UnVubmVyCiAKIHRvcF9sZXZlbF9kaXJlY3RvcnkgPSBvcy5wYXRoLm5vcm1wYXRoKG9z
LnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAiLi4iLCAiLi4iKSkKIHN5cy5w
YXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4odG9wX2xldmVsX2RpcmVjdG9yeSwgIlRvb2xzIiwg
ImdsaWIiKSkKIGltcG9ydCBjb21tb24KIGZyb20gd2Via2l0cHkuY29tbW9uLmhvc3QgaW1wb3J0
IEhvc3QKIGZyb20gd2Via2l0cHkuY29tbW9uLnRlc3RfZXhwZWN0YXRpb25zIGltcG9ydCBUZXN0
RXhwZWN0YXRpb25zCi0KLQotY2xhc3MgVGVzdFRpbWVvdXQoRXhjZXB0aW9uKToKLSAgICBwYXNz
Citmcm9tIHdlYmtpdHB5LmNvbW1vbi50aW1lb3V0X2NvbnRleHQgaW1wb3J0IFRpbWVvdXQKIAog
CiBjbGFzcyBUZXN0UnVubmVyKG9iamVjdCk6CkBAIC0xMjYsMjQgKzEyNCw2IEBAIGNsYXNzIFRl
c3RSdW5uZXIob2JqZWN0KToKICAgICAgICAgICAgICMgUHJvY2VzcyBhbHJlYWR5IGRpZWQuCiAg
ICAgICAgICAgICBwYXNzCiAKLSAgICBAc3RhdGljbWV0aG9kCi0gICAgZGVmIF9zdGFydF90aW1l
b3V0KHRpbWVvdXQpOgotICAgICAgICBpZiB0aW1lb3V0IDw9IDA6Ci0gICAgICAgICAgICByZXR1
cm4KLQotICAgICAgICBkZWYgX2FsYXJtX2hhbmRsZXIoc2lnbnVtLCBmcmFtZSk6Ci0gICAgICAg
ICAgICByYWlzZSBUZXN0VGltZW91dAotCi0gICAgICAgIHNpZ25hbChTSUdBTFJNLCBfYWxhcm1f
aGFuZGxlcikKLSAgICAgICAgYWxhcm0odGltZW91dCkKLQotICAgIEBzdGF0aWNtZXRob2QKLSAg
ICBkZWYgX3N0b3BfdGltZW91dCh0aW1lb3V0KToKLSAgICAgICAgaWYgdGltZW91dCA8PSAwOgot
ICAgICAgICAgICAgcmV0dXJuCi0KLSAgICAgICAgYWxhcm0oMCkKLQogICAgIGRlZiBfd2FpdHBp
ZChzZWxmLCBwaWQpOgogICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICAgdHJ5OgpAQCAt
MTY2LDgyICsxNDYsMTEgQEAgY2xhc3MgVGVzdFJ1bm5lcihvYmplY3QpOgogICAgICAgICAgICAg
ICAgIHJhaXNlCiAKICAgICBkZWYgX3J1bl90ZXN0X2dsaWIoc2VsZiwgdGVzdF9wcm9ncmFtKToK
LSAgICAgICAgY29tbWFuZCA9IFsnZ3Rlc3RlcicsICctayddCi0gICAgICAgIGlmIHNlbGYuX29w
dGlvbnMudmVyYm9zZToKLSAgICAgICAgICAgIGNvbW1hbmQuYXBwZW5kKCctLXZlcmJvc2UnKQot
ICAgICAgICBmb3IgdGVzdF9jYXNlIGluIHNlbGYuX3Rlc3RfY2FzZXNfdG9fc2tpcCh0ZXN0X3By
b2dyYW0pOgotICAgICAgICAgICAgY29tbWFuZC5leHRlbmQoWyctcycsIHRlc3RfY2FzZV0pCi0g
ICAgICAgIGNvbW1hbmQuYXBwZW5kKHRlc3RfcHJvZ3JhbSkKLQogICAgICAgICB0aW1lb3V0ID0g
c2VsZi5fb3B0aW9ucy50aW1lb3V0CiAgICAgICAgIHRlc3QgPSBvcy5wYXRoLmpvaW4ob3MucGF0
aC5iYXNlbmFtZShvcy5wYXRoLmRpcm5hbWUodGVzdF9wcm9ncmFtKSksIG9zLnBhdGguYmFzZW5h
bWUodGVzdF9wcm9ncmFtKSkKICAgICAgICAgaWYgc2VsZi5fZXhwZWN0YXRpb25zLmlzX3Nsb3co
b3MucGF0aC5iYXNlbmFtZSh0ZXN0X3Byb2dyYW0pKToKICAgICAgICAgICAgIHRpbWVvdXQgKj0g
NQotCi0gICAgICAgIHRlc3RfY29udGV4dCA9IHsiY2hpbGQtcGlkIjogLTEsICJkaWQtdGltZW91
dCI6IEZhbHNlLCAiY3VycmVudF90ZXN0IjogTm9uZX0KLQotICAgICAgICBkZWYgcGFyc2VfbGlu
ZShsaW5lLCB0ZXN0X2NvbnRleHQ9dGVzdF9jb250ZXh0KToKLSAgICAgICAgICAgIGlmIG5vdCBs
aW5lOgotICAgICAgICAgICAgICAgIHJldHVybgotCi0gICAgICAgICAgICBtYXRjaCA9IHJlLnNl
YXJjaChyJ1wocGlkPSg/UDxjaGlsZF9waWQ+WzAtOV0rKVwpJywgbGluZSkKLSAgICAgICAgICAg
IGlmIG1hdGNoOgotICAgICAgICAgICAgICAgIHRlc3RfY29udGV4dFsiY2hpbGQtcGlkIl0gPSBp
bnQobWF0Y2guZ3JvdXAoJ2NoaWxkX3BpZCcpKQotICAgICAgICAgICAgICAgIHN5cy5zdGRvdXQu
d3JpdGUobGluZSkKLSAgICAgICAgICAgICAgICByZXR1cm4KLQotICAgICAgICAgICAgZGVmIHNl
dF90ZXN0X3Jlc3VsdCh0ZXN0LCByZXN1bHQpOgotICAgICAgICAgICAgICAgIGlmIHJlc3VsdCA9
PSAiRkFJTCI6Ci0gICAgICAgICAgICAgICAgICAgIGlmIHRlc3RfY29udGV4dFsiZGlkLXRpbWVv
dXQiXSBhbmQgcmVzdWx0ID09ICJGQUlMIjoKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rf
Y29udGV4dFt0ZXN0XSA9ICJUSU1FT1VUIgotICAgICAgICAgICAgICAgICAgICBlbHNlOgotICAg
ICAgICAgICAgICAgICAgICAgICAgdGVzdF9jb250ZXh0W3Rlc3RdID0gcmVzdWx0Ci0gICAgICAg
ICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgdGVzdF9jb250ZXh0W3Rlc3RdID0g
J1BBU1MnCi0gICAgICAgICAgICAgICAgdGVzdF9jb250ZXh0WyJkaWQtdGltZW91dCJdID0gRmFs
c2UKLSAgICAgICAgICAgICAgICB0ZXN0X2NvbnRleHRbImN1cnJlbnRfdGVzdCJdID0gTm9uZQot
ICAgICAgICAgICAgICAgIHNlbGYuX3N0b3BfdGltZW91dCh0aW1lb3V0KQotICAgICAgICAgICAg
ICAgIHNlbGYuX3N0YXJ0X3RpbWVvdXQodGltZW91dCkKLQotICAgICAgICAgICAgbm9ybWFsaXpl
ZF9saW5lID0gbGluZS5zdHJpcCgpLnJlcGxhY2UoJyAnLCAnJykKLSAgICAgICAgICAgIGlmIG5v
dCBub3JtYWxpemVkX2xpbmU6Ci0gICAgICAgICAgICAgICAgcmV0dXJuCi0KLSAgICAgICAgICAg
IGlmIG5vcm1hbGl6ZWRfbGluZVswXSA9PSAnLyc6Ci0gICAgICAgICAgICAgICAgdGVzdCwgcmVz
dWx0ID0gbm9ybWFsaXplZF9saW5lLnNwbGl0KCc6JywgMSkKLSAgICAgICAgICAgICAgICBpZiBy
ZXN1bHQgaW4gWyJPSyIsICJGQUlMIl06Ci0gICAgICAgICAgICAgICAgICAgIHNldF90ZXN0X3Jl
c3VsdCh0ZXN0LCByZXN1bHQpCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAg
ICAgICAgdGVzdF9jb250ZXh0WyJjdXJyZW50X3Rlc3QiXSA9IHRlc3QKLSAgICAgICAgICAgIGVs
aWYgbm9ybWFsaXplZF9saW5lIGluIFsiT0siLCAiRkFJTCJdOgotICAgICAgICAgICAgICAgIHNl
dF90ZXN0X3Jlc3VsdCh0ZXN0X2NvbnRleHRbImN1cnJlbnRfdGVzdCJdLCBub3JtYWxpemVkX2xp
bmUpCi0KLSAgICAgICAgICAgIHN5cy5zdGRvdXQud3JpdGUobGluZSkKLQotICAgICAgICBwaWQs
IGZkID0gb3MuZm9ya3B0eSgpCi0gICAgICAgIGlmIHBpZCA9PSAwOgotICAgICAgICAgICAgb3Mu
ZXhlY3ZwZShjb21tYW5kWzBdLCBjb21tYW5kLCBzZWxmLl90ZXN0X2VudikKLSAgICAgICAgICAg
IHN5cy5leGl0KDApCi0KLSAgICAgICAgc2VsZi5fc3RhcnRfdGltZW91dCh0aW1lb3V0KQotCi0g
ICAgICAgIHdoaWxlIChUcnVlKToKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBj
b21tb24ucGFyc2Vfb3V0cHV0X2xpbmVzKGZkLCBwYXJzZV9saW5lKQotICAgICAgICAgICAgICAg
IGJyZWFrCi0gICAgICAgICAgICBleGNlcHQgVGVzdFRpbWVvdXQ6Ci0gICAgICAgICAgICAgICAg
YXNzZXJ0IHRlc3RfY29udGV4dFsiY2hpbGQtcGlkIl0gPiAwCi0gICAgICAgICAgICAgICAgc2Vs
Zi5fa2lsbF9wcm9jZXNzKHRlc3RfY29udGV4dFsiY2hpbGQtcGlkIl0pCi0gICAgICAgICAgICAg
ICAgdGVzdF9jb250ZXh0WyJjaGlsZC1waWQiXSA9IC0xCi0gICAgICAgICAgICAgICAgdGVzdF9j
b250ZXh0WyJkaWQtdGltZW91dCJdID0gVHJ1ZQotCi0gICAgICAgIHNlbGYuX3N0b3BfdGltZW91
dCh0aW1lb3V0KQotICAgICAgICBkZWwgdGVzdF9jb250ZXh0WyJjaGlsZC1waWQiXQotICAgICAg
ICBkZWwgdGVzdF9jb250ZXh0WyJkaWQtdGltZW91dCJdCi0gICAgICAgIGRlbCB0ZXN0X2NvbnRl
eHRbImN1cnJlbnRfdGVzdCJdCi0KLSAgICAgICAgc2VsZi5fd2FpdHBpZChwaWQpCi0gICAgICAg
IHJldHVybiB0ZXN0X2NvbnRleHQKKyAgICAgICAgcmV0dXJuIEdMaWJUZXN0UnVubmVyKHRlc3Rf
cHJvZ3JhbSwgdGltZW91dCkucnVuKHNraXBwZWQ9c2VsZi5fdGVzdF9jYXNlc190b19za2lwKHRl
c3RfcHJvZ3JhbSkpCiAKICAgICBkZWYgX2dldF90ZXN0c19mcm9tX2dvb2dsZV90ZXN0X3N1aXRl
KHNlbGYsIHRlc3RfcHJvZ3JhbSk6CiAgICAgICAgIHRyeToKQEAgLTI3NiwxNSArMTg1LDE1IEBA
IGNsYXNzIFRlc3RSdW5uZXIob2JqZWN0KToKICAgICAgICAgICAgIG9zLmV4ZWN2cGUoY29tbWFu
ZFswXSwgY29tbWFuZCwgc2VsZi5fdGVzdF9lbnYpCiAgICAgICAgICAgICBzeXMuZXhpdCgwKQog
Ci0gICAgICAgIHNlbGYuX3N0YXJ0X3RpbWVvdXQodGltZW91dCkKLSAgICAgICAgdHJ5OgotICAg
ICAgICAgICAgY29tbW9uLnBhcnNlX291dHB1dF9saW5lcyhmZCwgc3lzLnN0ZG91dC53cml0ZSkK
LSAgICAgICAgICAgIHN0YXR1cyA9IHNlbGYuX3dhaXRwaWQocGlkKQotICAgICAgICBleGNlcHQg
VGVzdFRpbWVvdXQ6Ci0gICAgICAgICAgICBzZWxmLl9raWxsX3Byb2Nlc3MocGlkKQotICAgICAg
ICAgICAgcmV0dXJuIHtzdWJ0ZXN0OiAiVElNRU9VVCJ9Ci0KLSAgICAgICAgc2VsZi5fc3RvcF90
aW1lb3V0KHRpbWVvdXQpCisgICAgICAgIHdpdGggVGltZW91dCh0aW1lb3V0KToKKyAgICAgICAg
ICAgIHRyeToKKyAgICAgICAgICAgICAgICBjb21tb24ucGFyc2Vfb3V0cHV0X2xpbmVzKGZkLCBz
eXMuc3Rkb3V0LndyaXRlKQorICAgICAgICAgICAgICAgIHN0YXR1cyA9IHNlbGYuX3dhaXRwaWQo
cGlkKQorICAgICAgICAgICAgZXhjZXB0IFJ1bnRpbWVFcnJvcjoKKyAgICAgICAgICAgICAgICBz
ZWxmLl9raWxsX3Byb2Nlc3MocGlkKQorICAgICAgICAgICAgICAgIHN5cy5zdGRvdXQud3JpdGUo
IioqVElNRU9VVCoqICVzXG4iICUgc3VidGVzdCkKKyAgICAgICAgICAgICAgICBzeXMuc3Rkb3V0
LmZsdXNoKCkKKyAgICAgICAgICAgICAgICByZXR1cm4ge3N1YnRlc3Q6ICJUSU1FT1VUIn0KIAog
ICAgICAgICBpZiBzdGF0dXMgPT0gLVNJR1NFR1Y6CiAgICAgICAgICAgICBzeXMuc3Rkb3V0Lndy
aXRlKCIqKkNSQVNIKiogJXNcbiIgJSBzdWJ0ZXN0KQpAQCAtMzc3LDEzICsyODYsMTAgQEAgZGVm
IGFkZF9vcHRpb25zKG9wdGlvbl9wYXJzZXIpOgogICAgIG9wdGlvbl9wYXJzZXIuYWRkX29wdGlv
bignLWQnLCAnLS1kZWJ1ZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0n
c3RvcmVfdHJ1ZScsIGRlc3Q9J2RlYnVnJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aGVscD0nUnVuIGluIERlYnVnJykKLSAgICBvcHRpb25fcGFyc2VyLmFkZF9vcHRpb24oJy12Jywg
Jy0tdmVyYm9zZScsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0nc3RvcmVf
dHJ1ZScsIGRlc3Q9J3ZlcmJvc2UnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxw
PSdSdW4gZ3Rlc3RlciBpbiB2ZXJib3NlIG1vZGUnKQogICAgIG9wdGlvbl9wYXJzZXIuYWRkX29w
dGlvbignLS1za2lwcGVkJywgYWN0aW9uPSdzdG9yZScsIGRlc3Q9J3NraXBwZWRfYWN0aW9uJywK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hvaWNlcz1bJ3NraXAnLCAnaWdub3JlJywg
J29ubHknXSwgZGVmYXVsdD0nc2tpcCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1l
dGF2YXI9J3NraXB8aWdub3JlfG9ubHknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBo
ZWxwPSdTcGVjaWZpZXMgaG93IHRvIHRyZWF0IHRoZSBza2lwcGVkIHRlc3RzJykKICAgICBvcHRp
b25fcGFyc2VyLmFkZF9vcHRpb24oJy10JywgJy0tdGltZW91dCcsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGFjdGlvbj0nc3RvcmUnLCB0eXBlPSdpbnQnLCBkZXN0PSd0aW1lb3V0Jywg
ZGVmYXVsdD0xMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSdzdG9yZScs
IHR5cGU9J2ludCcsIGRlc3Q9J3RpbWVvdXQnLCBkZWZhdWx0PTUsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGhlbHA9J1RpbWUgaW4gc2Vjb25kcyB1bnRpbCBhIHRlc3QgdGltZXMgb3V0
JykKZGlmZiAtLWdpdCBhL1Rvb2xzL2dsaWIvZ2xpYl90ZXN0X3J1bm5lci5weSBiL1Rvb2xzL2ds
aWIvZ2xpYl90ZXN0X3J1bm5lci5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMC4uZjdjOTM2MjdhYTQKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9nbGliL2dsaWJfdGVz
dF9ydW5uZXIucHkKQEAgLTAsMCArMSwyNzYgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE4IElnYWxp
YSBTLkwuCisjCisjIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKKyMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisjIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBsaWJy
YXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisj
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VCisjIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig
bW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisjIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisjIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm
dGggRmxvb3IsCisjIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorCitpbXBvcnQgZXJybm8K
K2ltcG9ydCBvcworaW1wb3J0IHNlbGVjdAoraW1wb3J0IHNvY2tldAoraW1wb3J0IHN0cnVjdAor
aW1wb3J0IHN1YnByb2Nlc3MKK2ltcG9ydCBzeXMKK2Zyb20gc2lnbmFsIGltcG9ydCBhbGFybSwg
c2lnbmFsLCBTSUdBTFJNCitmcm9tIGlvIGltcG9ydCBCeXRlc0lPCisKKworKExPR19OT05FLAor
IExPR19FUlJPUiwKKyBMT0dfU1RBUlRfQklOQVJZLAorIExPR19MSVNUX0NBU0UsCisgTE9HX1NL
SVBfQ0FTRSwKKyBMT0dfU1RBUlRfQ0FTRSwKKyBMT0dfU1RPUF9DQVNFLAorIExPR19NSU5fUkVT
VUxULAorIExPR19NQVhfUkVTVUxULAorIExPR19NRVNTQUdFLAorIExPR19TVEFSVF9TVUlURSwK
KyBMT0dfU1RPUF9TVUlURSkgPSByYW5nZSgxMikKKworKFRFU1RfUlVOX1NVQ0NFU1MsCisgVEVT
VF9SVU5fU0tJUFBFRCwKKyBURVNUX1JVTl9GQUlMVVJFLAorIFRFU1RfUlVOX0lOQ09NUExFVEUp
ID0gcmFuZ2UoNCkKKworCitjbGFzcyBUZXN0VGltZW91dChFeGNlcHRpb24pOgorICAgIHBhc3MK
KworCitjbGFzcyBNZXNzYWdlKG9iamVjdCk6CisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbG9n
X3R5cGUsIHN0cmluZ3MsIG51bWJlcnMpOgorICAgICAgICBzZWxmLmxvZ190eXBlID0gbG9nX3R5
cGUKKyAgICAgICAgc2VsZi5zdHJpbmdzID0gc3RyaW5ncworICAgICAgICBzZWxmLm51bWJlcnMg
PSBudW1iZXJzCisKKyAgICBAc3RhdGljbWV0aG9kCisgICAgZGVmIGNyZWF0ZShkYXRhKToKKyAg
ICAgICAgaWYgbGVuKGRhdGEpIDwgNSAqIDQ6CisgICAgICAgICAgICByZXR1cm4gMCwgTm9uZQor
CisgICAgICAgIGRlZiByZWFkX3Vuc2lnbmVkKGJ5dGVzLCBuPTEpOgorICAgICAgICAgICAgdmFs
dWVzID0gc3RydWN0LnVucGFjaygnJWRJJyAlIG4sIGJ5dGVzLnJlYWQoNCAqIG4pKQorICAgICAg
ICAgICAgcmV0dXJuIFtzb2NrZXQubnRvaGwodikgZm9yIHYgaW4gdmFsdWVzIGlmIHYgaXMgbm90
IE5vbmVdCisKKyAgICAgICAgZGVmIHJlYWRfZG91YmxlKGJ5dGVzLCBuPTEpOgorICAgICAgICAg
ICAgcmV0dXJuIHN0cnVjdC51bnBhY2soJz4lZGQnICUgbiwgYnl0ZXMucmVhZCg4ICogbikpCisK
KyAgICAgICAgZGVmIHJlYWRfc3RyaW5nKGJ5dGVzLCBuPTEpOgorICAgICAgICAgICAgdmFsdWVz
ID0gW10KKyAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKG4pOgorICAgICAgICAgICAgICAgIHN0
cl9sZW4gPSByZWFkX3Vuc2lnbmVkKGJ5dGVzKVswXQorICAgICAgICAgICAgICAgIHZhbHVlcy5h
cHBlbmQoc3RydWN0LnVucGFjaygnJWRzJyAlIHN0cl9sZW4sIGJ5dGVzLnJlYWQoc3RyX2xlbikp
WzBdKQorICAgICAgICAgICAgcmV0dXJuIHZhbHVlcworCisgICAgICAgIGJ5dGVzID0gQnl0ZXNJ
TyhkYXRhKQorICAgICAgICBtc2dfbGVuID0gcmVhZF91bnNpZ25lZChieXRlcylbMF0KKyAgICAg
ICAgaWYgbGVuKGRhdGEpIDwgbXNnX2xlbjoKKyAgICAgICAgICAgIHJldHVybiAwLCBOb25lCisK
KyAgICAgICAgbG9nX3R5cGUsIG5fc3RyaW5ncywgbl9udW1iZXJzLCByZXNlcnZlZCA9IHJlYWRf
dW5zaWduZWQoYnl0ZXMsIDQpCisgICAgICAgIGlmIHJlc2VydmVkICE9IDA6CisgICAgICAgICAg
ICByZXR1cm4gMCwgTm9uZQorCisgICAgICAgIHN0cmluZ3MgPSByZWFkX3N0cmluZyhieXRlcywg
bl9zdHJpbmdzKQorICAgICAgICBudW1iZXJzID0gcmVhZF9kb3VibGUoYnl0ZXMsIG5fbnVtYmVy
cykKKworICAgICAgICByZXR1cm4gbXNnX2xlbiwgTWVzc2FnZShsb2dfdHlwZSwgc3RyaW5ncywg
bnVtYmVycykKKworCitjbGFzcyBHTGliVGVzdFJ1bm5lcihvYmplY3QpOgorCisgICAgZGVmIF9f
aW5pdF9fKHNlbGYsIHRlc3RfYmluYXJ5LCB0aW1lb3V0KToKKyAgICAgICAgc2VsZi5fdGVzdF9i
aW5hcnkgPSB0ZXN0X2JpbmFyeQorICAgICAgICBzZWxmLl90aW1lb3V0ID0gdGltZW91dAorCisg
ICAgICAgIHNlbGYuX3N0ZGVycl9mZCA9IE5vbmUKKyAgICAgICAgc2VsZi5fc3VidGVzdCA9IE5v
bmUKKyAgICAgICAgc2VsZi5fc3VidGVzdF9tZXNzYWdlcyA9IFtdCisgICAgICAgIHNlbGYuX3Jl
c3VsdHMgPSB7fQorCisgICAgZGVmIF9wcm9jZXNzX2RhdGEoc2VsZiwgZGF0YSk6CisgICAgICAg
IHJldHZhbCA9IFtdCisgICAgICAgIG1zZ19sZW4sIG1zZyA9IE1lc3NhZ2UuY3JlYXRlKGRhdGEp
CisgICAgICAgIHdoaWxlIG1zZ19sZW46CisgICAgICAgICAgICByZXR2YWwuYXBwZW5kKG1zZykK
KyAgICAgICAgICAgIGRhdGEgPSBkYXRhW21zZ19sZW46XQorICAgICAgICAgICAgbXNnX2xlbiwg
bXNnID0gTWVzc2FnZS5jcmVhdGUoZGF0YSkKKworICAgICAgICByZXR1cm4gZGF0YSwgcmV0dmFs
CisKKyAgICBkZWYgX3Byb2Nlc3NfbWVzc2FnZShzZWxmLCBtZXNzYWdlKToKKyAgICAgICAgaWYg
bWVzc2FnZS5sb2dfdHlwZSA9PSBMT0dfRVJST1I6CisgICAgICAgICAgICBzZWxmLl9zdWJ0ZXN0
X21lc3NhZ2UobWVzc2FnZS5zdHJpbmdzKQorICAgICAgICBlbGlmIG1lc3NhZ2UubG9nX3R5cGUg
PT0gTE9HX1NUQVJUX0NBU0U6CisgICAgICAgICAgICBzZWxmLl9zdWJ0ZXN0X3N0YXJ0KG1lc3Nh
Z2Uuc3RyaW5nc1swXSkKKyAgICAgICAgZWxpZiBtZXNzYWdlLmxvZ190eXBlID09IExPR19TVE9Q
X0NBU0U6CisgICAgICAgICAgICBzZWxmLl9zdWJ0ZXN0X2VuZChtZXNzYWdlLm51bWJlcnNbMF0p
CisgICAgICAgIGVsaWYgbWVzc2FnZS5sb2dfdHlwZSA9PSBMT0dfTUVTU0FHRToKKyAgICAgICAg
ICAgIHNlbGYuX3N1YnRlc3RfbWVzc2FnZShbbWVzc2FnZS5zdHJpbmdzWzBdXSkKKworICAgIGRl
ZiBfcmVhZF9mcm9tX3BpcGUoc2VsZiwgcGlwZV9yKToKKyAgICAgICAgZGF0YSA9ICcnCisgICAg
ICAgIHJlYWRfc2V0ID0gW3BpcGVfcl0KKyAgICAgICAgd2hpbGUgcmVhZF9zZXQ6CisgICAgICAg
ICAgICB0cnk6CisgICAgICAgICAgICAgICAgcmxpc3QsIF8sIF8gPSBzZWxlY3Quc2VsZWN0KHJl
YWRfc2V0LCBbXSwgW10pCisgICAgICAgICAgICBleGNlcHQgc2VsZWN0LmVycm9yLCBlOgorICAg
ICAgICAgICAgICAgIGlmIGUuYXJnc1swXSA9PSBlcnJuby5FSU5UUjoKKyAgICAgICAgICAgICAg
ICAgICAgY29udGludWUKKyAgICAgICAgICAgICAgICByYWlzZQorCisgICAgICAgICAgICBpZiBw
aXBlX3IgaW4gcmxpc3Q6CisgICAgICAgICAgICAgICAgYnVmZmVyID0gb3MucmVhZChwaXBlX3Is
IDQwOTYpCisgICAgICAgICAgICAgICAgaWYgbm90IGJ1ZmZlcjoKKyAgICAgICAgICAgICAgICAg
ICAgcmVhZF9zZXQucmVtb3ZlKHBpcGVfcikKKworICAgICAgICAgICAgICAgIGRhdGEgKz0gYnVm
ZmVyCisgICAgICAgICAgICAgICAgZGF0YSwgbWVzc2FnZXMgPSBzZWxmLl9wcm9jZXNzX2RhdGEo
ZGF0YSkKKyAgICAgICAgICAgICAgICBmb3IgbWVzc2FnZSBpbiBtZXNzYWdlczoKKyAgICAgICAg
ICAgICAgICAgICAgc2VsZi5fcHJvY2Vzc19tZXNzYWdlKG1lc3NhZ2UpCisKKyAgICBkZWYgX3Jl
YWRfZnJvbV9zdGRlcnIoc2VsZiwgZmQpOgorICAgICAgICBkYXRhID0gJycKKyAgICAgICAgcmVh
ZF9zZXQgPSBbZmRdCisgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICB0cnk6CisgICAg
ICAgICAgICAgICAgcmxpc3QsIF8sIF8gPSBzZWxlY3Quc2VsZWN0KHJlYWRfc2V0LCBbXSwgW10s
IDApCisgICAgICAgICAgICBleGNlcHQgc2VsZWN0LmVycm9yLCBlOgorICAgICAgICAgICAgICAg
IGlmIGUuYXJnc1swXSA9PSBlcnJuby5FSU5UUjoKKyAgICAgICAgICAgICAgICAgICAgY29udGlu
dWUKKyAgICAgICAgICAgICAgICByYWlzZQorCisgICAgICAgICAgICBpZiBmZCBub3QgaW4gcmxp
c3Q6CisgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEKKworICAgICAgICAgICAgYnVmZmVyID0g
b3MucmVhZChmZCwgNDA5NikKKyAgICAgICAgICAgIGlmIG5vdCBidWZmZXI6CisgICAgICAgICAg
ICAgICAgcmV0dXJuIGRhdGEKKworICAgICAgICAgICAgZGF0YSArPSBidWZmZXIKKworICAgIEBz
dGF0aWNtZXRob2QKKyAgICBkZWYgX3N0YXJ0X3RpbWVvdXQodGltZW91dCk6CisgICAgICAgIGlm
IHRpbWVvdXQgPD0gMDoKKyAgICAgICAgICAgIHJldHVybgorCisgICAgICAgIGRlZiBfYWxhcm1f
aGFuZGxlcihzaWdudW0sIGZyYW1lKToKKyAgICAgICAgICAgIHJhaXNlIFRlc3RUaW1lb3V0CisK
KyAgICAgICAgc2lnbmFsKFNJR0FMUk0sIF9hbGFybV9oYW5kbGVyKQorICAgICAgICBhbGFybSh0
aW1lb3V0KQorCisgICAgQHN0YXRpY21ldGhvZAorICAgIGRlZiBfc3RvcF90aW1lb3V0KHRpbWVv
dXQpOgorICAgICAgICBpZiB0aW1lb3V0IDw9IDA6CisgICAgICAgICAgICByZXR1cm4KKworICAg
ICAgICBhbGFybSgwKQorCisgICAgZGVmIF9zdWJ0ZXN0X3N0YXJ0KHNlbGYsIHN1YnRlc3QpOgor
ICAgICAgICBzZWxmLl9zdWJ0ZXN0ID0gc3VidGVzdAorICAgICAgICBtZXNzYWdlID0gc2VsZi5f
c3VidGVzdCArICc6JworICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKCcgICUtNjhzJyAlIG1lc3Nh
Z2UpCisgICAgICAgIHN5cy5zdGRvdXQuZmx1c2goKQorICAgICAgICBzZWxmLl9zdGFydF90aW1l
b3V0KHNlbGYuX3RpbWVvdXQpCisKKyAgICBkZWYgX3N1YnRlc3RfbWVzc2FnZShzZWxmLCBtZXNz
YWdlKToKKyAgICAgICAgaWYgc2VsZi5fc3VidGVzdCBpcyBOb25lOgorICAgICAgICAgICAgc3lz
LnN0ZG91dC53cml0ZSgnJXNcbicgJSAnXG4nLmpvaW4obWVzc2FnZSkpCisgICAgICAgIGVsc2U6
CisgICAgICAgICAgICBzZWxmLl9zdWJ0ZXN0X21lc3NhZ2VzLmV4dGVuZChtZXNzYWdlKQorCisg
ICAgZGVmIF9zdWJ0ZXN0X3N0ZGVycihzZWxmLCBlcnJvcnMpOgorICAgICAgICBpZ25vcmVfbmV4
dF9saW5lID0gRmFsc2UKKyAgICAgICAgZm9yIGxpbmUgaW4gZXJyb3JzLnJzdHJpcCgnXG4nKS5z
cGxpdCgnXG4nKToKKyAgICAgICAgICAgIGlmIGlnbm9yZV9uZXh0X2xpbmU6CisgICAgICAgICAg
ICAgICAgaWdub3JlX25leHRfbGluZSA9IEZhbHNlCisgICAgICAgICAgICAgICAgY29udGludWUK
KyAgICAgICAgICAgIGlmIGxpbmUgPT0gJyoqJzoKKyAgICAgICAgICAgICAgICBpZ25vcmVfbmV4
dF9saW5lID0gVHJ1ZQorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICBzeXMu
c3RkZXJyLndyaXRlKCclc1xuJyAlIGxpbmUpCisgICAgICAgIHN5cy5zdGRlcnIuZmx1c2goKQor
CisgICAgZGVmIF9zdWJ0ZXN0X2VuZChzZWxmLCByZXN1bHQsIGRpZF90aW1lb3V0PUZhbHNlKToK
KyAgICAgICAgc2VsZi5fc3RvcF90aW1lb3V0KHNlbGYuX3RpbWVvdXQpCisgICAgICAgIGlmIGRp
ZF90aW1lb3V0OgorICAgICAgICAgICAgc2VsZi5fcmVzdWx0c1tzZWxmLl9zdWJ0ZXN0XSA9ICdU
SU1FT1VUJworICAgICAgICBlbGlmIHJlc3VsdCA9PSBURVNUX1JVTl9TVUNDRVNTOgorICAgICAg
ICAgICAgc2VsZi5fcmVzdWx0c1tzZWxmLl9zdWJ0ZXN0XSA9ICdQQVNTJworICAgICAgICBlbGlm
IHJlc3VsdCA9PSBURVNUX1JVTl9TS0lQUEVEOgorICAgICAgICAgICAgc2VsZi5fcmVzdWx0c1tz
ZWxmLl9zdWJ0ZXN0XSA9ICdTS0lQJworICAgICAgICBlbGlmIG5vdCBzZWxmLl9zdWJ0ZXN0X21l
c3NhZ2VzOgorICAgICAgICAgICAgc2VsZi5fcmVzdWx0c1tzZWxmLl9zdWJ0ZXN0XSA9ICdDUkFT
SCcKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuX3Jlc3VsdHNbc2VsZi5fc3VidGVz
dF0gPSAnRkFJTCcKKworICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKCclc1xuJyAlIHNlbGYuX3Jl
c3VsdHNbc2VsZi5fc3VidGVzdF0pCisgICAgICAgIGlmIHNlbGYuX3N1YnRlc3RfbWVzc2FnZXM6
CisgICAgICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKCclc1xuJyAlICdcbicuam9pbihzZWxmLl9z
dWJ0ZXN0X21lc3NhZ2VzKSkKKyAgICAgICAgc3lzLnN0ZG91dC5mbHVzaCgpCisKKyAgICAgICAg
ZXJyb3JzID0gc2VsZi5fcmVhZF9mcm9tX3N0ZGVycihzZWxmLl9zdGRlcnJfZmQpCisgICAgICAg
IGlmIGVycm9yczoKKyAgICAgICAgICAgIHNlbGYuX3N1YnRlc3Rfc3RkZXJyKGVycm9ycykKKwor
ICAgICAgICBzZWxmLl9zdWJ0ZXN0ID0gTm9uZQorICAgICAgICBzZWxmLl9zdWJ0ZXN0X21lc3Nh
Z2VzID0gW10KKworICAgIGRlZiBydW4oc2VsZiwgc3VidGVzdHM9W10sIHNraXBwZWQ9W10pOgor
ICAgICAgICBwaXBlX3IsIHBpcGVfdyA9IG9zLnBpcGUoKQorICAgICAgICBjb21tYW5kID0gW3Nl
bGYuX3Rlc3RfYmluYXJ5LCAnLS1xdWlldCcsICctLWtlZXAtZ29pbmcnLCAnLS1HVGVzdExvZ0ZE
PSVkJyAlIHBpcGVfd10KKyAgICAgICAgaWYgc2VsZi5fcmVzdWx0czoKKyAgICAgICAgICAgIGNv
bW1hbmQuYXBwZW5kKCctLUdUZXN0U2tpcENvdW50PSVkJyAlIGxlbihzZWxmLl9yZXN1bHRzKSkK
KyAgICAgICAgZm9yIHN1YnRlc3QgaW4gc3VidGVzdHM6CisgICAgICAgICAgICBjb21tYW5kLmV4
dGVuZChbJy1wJywgc3VidGVzdF0pCisgICAgICAgIGZvciBza2lwIGluIHNraXBwZWQ6CisgICAg
ICAgICAgICBjb21tYW5kLmV4dGVuZChbJy1zJywgc2tpcF0pCisKKyAgICAgICAgaWYgbm90IHNl
bGYuX3Jlc3VsdHM6CisgICAgICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKCdURVNUOiAlcy4uLlxu
JyAlIHNlbGYuX3Rlc3RfYmluYXJ5KQorICAgICAgICAgICAgc3lzLnN0ZG91dC5mbHVzaCgpCisg
ICAgICAgIHAgPSBzdWJwcm9jZXNzLlBvcGVuKGNvbW1hbmQsIHN0ZGVycj1zdWJwcm9jZXNzLlBJ
UEUpCisgICAgICAgIHNlbGYuX3N0ZGVycl9mZCA9IHAuc3RkZXJyLmZpbGVubygpCisgICAgICAg
IG9zLmNsb3NlKHBpcGVfdykKKworICAgICAgICBuZWVkX3Jlc3RhcnQgPSBGYWxzZQorCisgICAg
ICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYuX3JlYWRfZnJvbV9waXBlKHBpcGVfcikKKyAgICAg
ICAgICAgIHAud2FpdCgpCisgICAgICAgIGV4Y2VwdCBUZXN0VGltZW91dDoKKyAgICAgICAgICAg
IHNlbGYuX3N1YnRlc3RfZW5kKDAsIGRpZF90aW1lb3V0PVRydWUpCisgICAgICAgICAgICBwLnRl
cm1pbmF0ZSgpCisgICAgICAgICAgICBuZWVkX3Jlc3RhcnQgPSBUcnVlCisgICAgICAgIGZpbmFs
bHk6CisgICAgICAgICAgICBvcy5jbG9zZShwaXBlX3IpCisKKyAgICAgICAgaWYgc2VsZi5fc3Vi
dGVzdCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHNlbGYuX3N1YnRlc3RfZW5kKDI1NikKKyAg
ICAgICAgICAgIG5lZWRfcmVzdGFydCA9IFRydWUKKworICAgICAgICBzZWxmLl9zdGRlcnJfZmQg
PSBOb25lCisKKyAgICAgICAgaWYgbmVlZF9yZXN0YXJ0OgorICAgICAgICAgICAgc2VsZi5ydW4o
KQorCisgICAgICAgIHJldHVybiBzZWxmLl9yZXN1bHRzCisKK2lmIF9fbmFtZV9fID09ICdfX21h
aW5fXyc6CisgICAgZm9yIHRlc3QgaW4gc3lzLmFyZ3ZbMTpdOgorICAgICAgICBydW5uZXIgPSBH
TGliVGVzdFJ1bm5lcih0ZXN0LCA1KQorICAgICAgICBydW5uZXIucnVuKCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>