<?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>88478</bug_id>
          
          <creation_ts>2012-06-06 18:14:09 -0700</creation_ts>
          <short_desc>remove ChromiumDriver from NRWT</short_desc>
          <delta_ts>2012-07-17 11:05:59 -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>NRWT</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>88542</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Pranke">dpranke</reporter>
          <assigned_to name="Xianzhu Wang">wangxianzhu</assigned_to>
          <cc>abarth</cc>
    
    <cc>jnd</cc>
    
    <cc>jochen</cc>
    
    <cc>ojan</cc>
    
    <cc>tony</cc>
    
    <cc>wangxianzhu</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zhenghao</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>643037</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-06-06 18:14:09 -0700</bug_when>
    <thetext>It seems like it&apos;s safe to remove the old test_shell code from the desktop chromium ports, as the webkit/drt output has run happily from some time.

However, it looks like the android port might still be using the old style interface? I&apos;m not quite sure since I don&apos;t know what the state of the upstreaming is and if/how they specify the --test-shell command line anywhere to trigger the old behavior.

Can someone more familiar with the Android port confirm that we can either delete that code outright and just have ChromiumAndroidDriver subclass WebKitDriver, or merge all of the ChromiumDriver code into ChromiumAndroidDriver?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643042</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-06-06 18:18:23 -0700</bug_when>
    <thetext>The chromium-android port does appear to be using --test-shell.  I&apos;m not sure what&apos;s involved in making it work without that flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643046</commentid>
    <comment_count>2</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-06-06 18:21:57 -0700</bug_when>
    <thetext>there&apos;s no real urgency on this change, but it might be nice to at least move the class over to reduce any potential confusion on the desktop side.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653905</commentid>
    <comment_count>3</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-06-20 14:38:41 -0700</bug_when>
    <thetext>*** Bug 86928 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669686</commentid>
    <comment_count>4</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-07-13 19:30:23 -0700</bug_when>
    <thetext>resetting the owner in case someone else wants to take a look, as these bugs aren&apos;t on my immediate to-do list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670649</commentid>
    <comment_count>5</comment_count>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2012-07-16 14:11:39 -0700</bug_when>
    <thetext>I&apos;ll do this after finishing bug 88542.

Dirk, could you review the patch of bug 88542?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670686</commentid>
    <comment_count>6</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-07-16 14:45:37 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; I&apos;ll do this after finishing bug 88542.
&gt; 
&gt; Dirk, could you review the patch of bug 88542?

Sure, posted comments there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670865</commentid>
    <comment_count>7</comment_count>
      <attachid>152667</attachid>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2012-07-16 18:06:14 -0700</bug_when>
    <thetext>Created attachment 152667
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670906</commentid>
    <comment_count>8</comment_count>
      <attachid>152667</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-07-16 19:21:04 -0700</bug_when>
    <thetext>Comment on attachment 152667
Patch

yay!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671372</commentid>
    <comment_count>9</comment_count>
      <attachid>152667</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-17 10:42:31 -0700</bug_when>
    <thetext>Comment on attachment 152667
Patch

Clearing flags on attachment: 152667

Committed r122855: &lt;http://trac.webkit.org/changeset/122855&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671373</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-17 10:42:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671405</commentid>
    <comment_count>11</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-17 11:04:22 -0700</bug_when>
    <thetext>@jochen: This is the patch I mentioned that removes support for test shell mode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671406</commentid>
    <comment_count>12</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-17 11:04:41 -0700</bug_when>
    <thetext>Is there code in DumpRenderTree to delete now too?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671407</commentid>
    <comment_count>13</comment_count>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2012-07-17 11:05:59 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; Is there code in DumpRenderTree to delete now too?

That&apos;s in bug 86927.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152667</attachid>
            <date>2012-07-16 18:06:14 -0700</date>
            <delta_ts>2012-07-17 10:42:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88478-20120716180613.patch</filename>
            <type>text/plain</type>
            <size>21331</size>
            <attacher name="Xianzhu Wang">wangxianzhu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyNzg5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNDk5YzE0NmZkOTk1MWQzYjg5YWEzMWQ5NGNiYjdmZTY1
MWZkODdiNS4uY2I1NDAxYjAxNzYyMzU0YzM4ZjAzYWYxYzYxNzViOGEwZmQyYzYxOSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDEyLTA3LTE2ICBYaWFuemh1IFdhbmcgIDx3YW5neGlhbnpodUBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgcmVtb3ZlIENocm9taXVtRHJpdmVyIGZyb20gTlJXVAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODg0NzgKKworICAgICAgICBOb3cg
V2ViS2l0RHJpdmVyIGhhcyByZXBsYWNlZCBDaHJvbWl1bURyaXZlciBzaW5jZSB0ZXN0X3NoZWxs
IG1vZGUgaXMgZGVwZXJlY2F0ZWQuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9t
aXVtLnB5OiBSZW1vdmVkIENocm9taXVtRHJpdmVyIGNvZGUuCisgICAgICAgIChDaHJvbWl1bVBv
cnQuX2RyaXZlcl9jbGFzcyk6IFJlbW92ZWQuIFdlYktpdFBvcnQuX2RyaXZlcl9jbGFzcygpIHdp
bGwgYmUgdXNlZC4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0
L2Nocm9taXVtX3VuaXR0ZXN0LnB5OgorCiAyMDEyLTA3LTE2ICBEb24gT2xtc3RlYWQgIDxkb24u
b2xtc3RlYWRAYW0uc29ueS5jb20+CiAKICAgICAgICAgTlJXUlQgU2hvdWxkIHByb3ZpZGUgYSBW
UyBwcm9qZWN0IHRvIHdvcmsgb24KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW0ucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5CmluZGV4IDI0ZjdlZmEwZjVjOTc4ZjE2OTVmODJl
NDU5YTk2YjViMjQ4MTRhMWQuLjQ1Mjk4YzYzNDhjZTJmMDBmMGIwNGY3N2E2MGFhZTg4Yjc5ODBi
ODAgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQv
Y2hyb21pdW0ucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC9jaHJvbWl1bS5weQpAQCAtMjcyLDkgKzI3Miw2IEBAIGNsYXNzIENocm9taXVtUG9ydChXZWJL
aXRQb3J0KToKICAgICAgICAgZXhjZXB0IEFzc2VydGlvbkVycm9yOgogICAgICAgICAgICAgcmV0
dXJuIHNlbGYuX2J1aWxkX3BhdGgoc2VsZi5nZXRfb3B0aW9uKCdjb25maWd1cmF0aW9uJyksICds
YXlvdXQtdGVzdC1yZXN1bHRzJykKIAotICAgIGRlZiBfZHJpdmVyX2NsYXNzKHNlbGYpOgotICAg
ICAgICByZXR1cm4gQ2hyb21pdW1Ecml2ZXIKLQogICAgIGRlZiBfbWlzc2luZ19zeW1ib2xfdG9f
c2tpcHBlZF90ZXN0cyhzZWxmKToKICAgICAgICAgIyBGSVhNRTogU2hvdWxkIFdlYktpdFBvcnQg
aGF2ZSB0aGVzZSBkZWZpbml0aW9ucyBhbHNvPwogICAgICAgICByZXR1cm4gewpAQCAtNDM2LDI4
MyArNDMzLDMgQEAgY2xhc3MgQ2hyb21pdW1Qb3J0KFdlYktpdFBvcnQpOgogICAgICAgICBpZiBz
eXMucGxhdGZvcm0gPT0gJ2N5Z3dpbic6CiAgICAgICAgICAgICByZXR1cm4gY3lncGF0aChwYXRo
KQogICAgICAgICByZXR1cm4gcGF0aAotCi0KLWNsYXNzIENocm9taXVtRHJpdmVyKFdlYktpdERy
aXZlcik6Ci0gICAgS0lMTF9USU1FT1VUX0RFRkFVTFQgPSAzLjAKLQotICAgIGRlZiBfX2luaXRf
XyhzZWxmLCBwb3J0LCB3b3JrZXJfbnVtYmVyLCBwaXhlbF90ZXN0cywgbm9fdGltZW91dD1GYWxz
ZSk6Ci0gICAgICAgIFdlYktpdERyaXZlci5fX2luaXRfXyhzZWxmLCBwb3J0LCB3b3JrZXJfbnVt
YmVyLCBwaXhlbF90ZXN0cywgbm9fdGltZW91dCkKLSAgICAgICAgc2VsZi5fcHJvYyA9IE5vbmUK
LSAgICAgICAgc2VsZi5faW1hZ2VfcGF0aCA9IE5vbmUKLQotICAgICAgICAjIEZJWE1FOiBEZWxl
dGUgYWxsIG9mIHRoaXMgZHJpdmVyIGNvZGUgb25jZSB3ZSdyZSBzYXRpc2ZpZWQgdGhhdCBpdCdz
IG5vdCBuZWVkZWQgYW55IG1vcmUuCi0gICAgICAgICNpZiBwb3J0Lmhvc3QucGxhdGZvcm0ub3Nf
dmVyc2lvbiA9PSAnc25vd2xlb3BhcmQnOgotICAgICAgICAjICAgIGlmIG5vdCBoYXNhdHRyKHBv
cnQuX29wdGlvbnMsICdhZGRpdGlvbmFsX2RydF9mbGFnJyk6Ci0gICAgICAgICMgICAgICAgIHBv
cnQuX29wdGlvbnMuYWRkaXRpb25hbF9kcnRfZmxhZyA9IFtdCi0gICAgICAgICMgICAgaWYgbm90
ICctLXRlc3Qtc2hlbGwnIGluIHBvcnQuX29wdGlvbnMuYWRkaXRpb25hbF9kcnRfZmxhZzoKLSAg
ICAgICAgIyAgICAgICAgcG9ydC5fb3B0aW9ucy5hZGRpdGlvbmFsX2RydF9mbGFnLmFwcGVuZCgn
LS10ZXN0LXNoZWxsJykKLQotICAgICAgICBzZWxmLl90ZXN0X3NoZWxsID0gJy0tdGVzdC1zaGVs
bCcgaW4gcG9ydC5nZXRfb3B0aW9uKCdhZGRpdGlvbmFsX2RydF9mbGFnJywgW10pCi0KLSAgICBk
ZWYgX3dyYXBwZXJfb3B0aW9ucyhzZWxmLCBwaXhlbF90ZXN0cyk6Ci0gICAgICAgIGNtZCA9IFtd
Ci0gICAgICAgIGlmIHBpeGVsX3Rlc3RzOgotICAgICAgICAgICAgaWYgc2VsZi5fdGVzdF9zaGVs
bDoKLSAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZi5faW1hZ2VfcGF0aDoKLSAgICAgICAgICAg
ICAgICAgICAgc2VsZi5faW1hZ2VfcGF0aCA9IHNlbGYuX3BvcnQuX2ZpbGVzeXN0ZW0uam9pbihz
ZWxmLl9wb3J0LnJlc3VsdHNfZGlyZWN0b3J5KCksICdwbmdfcmVzdWx0JXMucG5nJyAlIHNlbGYu
X3dvcmtlcl9udW1iZXIpCi0gICAgICAgICAgICAgICAgICMgU2VlIG5vdGUgYWJvdmUgaW4gZGlm
Zl9pbWFnZSgpIGZvciB3aHkgd2UgbmVlZCBfY29udmVydF9wYXRoKCkuCi0gICAgICAgICAgICAg
ICAgY21kLmFwcGVuZCgiLS1waXhlbC10ZXN0cz0iICsgc2VsZi5fcG9ydC5fY29udmVydF9wYXRo
KHNlbGYuX2ltYWdlX3BhdGgpKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBj
bWQuYXBwZW5kKCctLXBpeGVsLXRlc3RzJykKLQotICAgICAgICAjIEZJWE1FOiBUaGlzIGlzIG5v
dCBOb25lIHNob3VsZG4ndCBiZSBuZWNlc3NhcnksIHVubGVzcyAtLWpzLWZsYWdzPSInJyIgY2hh
bmdlcyBiZWhhdmlvciBzb21laG93PwotICAgICAgICBpZiBzZWxmLl9wb3J0LmdldF9vcHRpb24o
J2pzX2ZsYWdzJykgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICBjbWQuYXBwZW5kKCctLWpzLWZs
YWdzPSInICsgc2VsZi5fcG9ydC5nZXRfb3B0aW9uKCdqc19mbGFncycpICsgJyInKQotICAgICAg
ICBpZiBzZWxmLl9ub190aW1lb3V0OgotICAgICAgICAgICAgY21kLmFwcGVuZCgiLS1uby10aW1l
b3V0IikKLQotICAgICAgICAjIEZJWE1FOiBXZSBzaG91bGQgYmUgYWJsZSB0byBidWlsZCB0aGlz
IGxpc3QgdXNpbmcgb25seSBhbiBhcnJheSBvZgotICAgICAgICAjIG9wdGlvbiBuYW1lcywgdGhl
IG9wdGlvbnMgKG9wdHBhcnNlLlZhbHVlcykgb2JqZWN0LCBhbmQgdGhlIG9yaWduYWwKLSAgICAg
ICAgIyBsaXN0IG9mIG9wdGlvbnMgZnJvbSB0aGUgbWFpbiBtZXRob2QgYnkgbG9va2luZyB1cCB0
aGUgb3B0aW9uCi0gICAgICAgICMgdGV4dCBmcm9tIHRoZSBvcHRpb25zIGxpc3QgaWYgdGhlIHZh
bHVlIGlzIG5vbi1Ob25lLgotICAgICAgICAjIEZJWE1FOiBIb3cgbWFueSBvZiB0aGVzZSBvcHRp
b25zIGFyZSBzdGlsbCB1c2VkPwotICAgICAgICBvcHRpb25fbWFwcGluZ3MgPSB7Ci0gICAgICAg
ICAgICAnc3RhcnR1cF9kaWFsb2cnOiAnLS10ZXN0c2hlbGwtc3RhcnR1cC1kaWFsb2cnLAotICAg
ICAgICAgICAgJ2dwX2ZhdWx0X2Vycm9yX2JveCc6ICctLWdwLWZhdWx0LWVycm9yLWJveCcsCi0g
ICAgICAgICAgICAnc3RyZXNzX29wdCc6ICctLXN0cmVzcy1vcHQnLAotICAgICAgICAgICAgJ3N0
cmVzc19kZW9wdCc6ICctLXN0cmVzcy1kZW9wdCcsCi0gICAgICAgICAgICAndGhyZWFkZWRfY29t
cG9zaXRpbmcnOiAnLS1lbmFibGUtdGhyZWFkZWQtY29tcG9zaXRpbmcnLAotICAgICAgICAgICAg
J2FjY2VsZXJhdGVkXzJkX2NhbnZhcyc6ICctLWVuYWJsZS1hY2NlbGVyYXRlZC0yZC1jYW52YXMn
LAotICAgICAgICAgICAgJ2FjY2VsZXJhdGVkX3BhaW50aW5nJzogJy0tZW5hYmxlLWFjY2VsZXJh
dGVkLXBhaW50aW5nJywKLSAgICAgICAgICAgICdhY2NlbGVyYXRlZF92aWRlbyc6ICctLWVuYWJs
ZS1hY2NlbGVyYXRlZC12aWRlbycsCi0gICAgICAgICAgICAnZW5hYmxlX2hhcmR3YXJlX2dwdSc6
ICctLWVuYWJsZS1oYXJkd2FyZS1ncHUnLAotICAgICAgICAgICAgJ3Blcl90aWxlX3BhaW50aW5n
JzogJy0tZW5hYmxlLXBlci10aWxlLXBhaW50aW5nJywKLSAgICAgICAgfQotICAgICAgICBmb3Ig
bnJ3dF9vcHRpb24sIGRydF9vcHRpb24gaW4gb3B0aW9uX21hcHBpbmdzLml0ZW1zKCk6Ci0gICAg
ICAgICAgICBpZiBzZWxmLl9wb3J0LmdldF9vcHRpb24obnJ3dF9vcHRpb24pOgotICAgICAgICAg
ICAgICAgIGNtZC5hcHBlbmQoZHJ0X29wdGlvbikKLQotICAgICAgICBjbWQuZXh0ZW5kKHNlbGYu
X3BvcnQuZ2V0X29wdGlvbignYWRkaXRpb25hbF9kcnRfZmxhZycsIFtdKSkKLSAgICAgICAgcmV0
dXJuIGNtZAotCi0gICAgZGVmIGNtZF9saW5lKHNlbGYsIHBpeGVsX3Rlc3RzLCBwZXJfdGVzdF9h
cmdzKToKLSAgICAgICAgY21kID0gc2VsZi5fY29tbWFuZF93cmFwcGVyKHNlbGYuX3BvcnQuZ2V0
X29wdGlvbignd3JhcHBlcicpKQotICAgICAgICBjbWQuYXBwZW5kKHNlbGYuX3BvcnQuX3BhdGhf
dG9fZHJpdmVyKCkpCi0gICAgICAgIGNtZC5leHRlbmQoc2VsZi5fd3JhcHBlcl9vcHRpb25zKHBp
eGVsX3Rlc3RzKSkKLSAgICAgICAgY21kLmV4dGVuZChwZXJfdGVzdF9hcmdzKQotCi0gICAgICAg
IGlmIG5vdCBzZWxmLl90ZXN0X3NoZWxsOgotICAgICAgICAgICAgY21kLmFwcGVuZCgnLScpCi0K
LSAgICAgICAgcmV0dXJuIGNtZAotCi0gICAgZGVmIF9zdGFydChzZWxmLCBwaXhlbF90ZXN0cywg
cGVyX3Rlc3RfYXJncyk6Ci0gICAgICAgIGlmIG5vdCBzZWxmLl90ZXN0X3NoZWxsOgotICAgICAg
ICAgICAgcmV0dXJuIHN1cGVyKENocm9taXVtRHJpdmVyLCBzZWxmKS5fc3RhcnQocGl4ZWxfdGVz
dHMsIHBlcl90ZXN0X2FyZ3MpCi0KLSAgICAgICAgYXNzZXJ0IG5vdCBzZWxmLl9wcm9jCi0gICAg
ICAgICMgRklYTUU6IFRoaXMgc2hvdWxkIHVzZSBTZXJ2ZXJQcm9jZXNzIGxpa2UgV2ViS2l0RHJp
dmVyIGRvZXMuCi0gICAgICAgICMgRklYTUU6IFdlIHNob3VsZCBiZSByZWFkaW5nIHN0ZGVyciBh
bmQgc3Rkb3V0IHNlcGFyYXRlbHkgbGlrZSBob3cgV2ViS2l0RHJpdmVyIGRvZXMuCi0gICAgICAg
IGNsb3NlX2ZkcyA9IHN5cy5wbGF0Zm9ybSAhPSAnd2luMzInCi0gICAgICAgIHNlbGYuX3Byb2Mg
PSBzdWJwcm9jZXNzLlBvcGVuKHNlbGYuY21kX2xpbmUocGl4ZWxfdGVzdHMsIHBlcl90ZXN0X2Fy
Z3MpLCBzdGRpbj1zdWJwcm9jZXNzLlBJUEUsIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsIHN0ZGVy
cj1zdWJwcm9jZXNzLlNURE9VVCwgY2xvc2VfZmRzPWNsb3NlX2ZkcykKLQotICAgIGRlZiBoYXNf
Y3Jhc2hlZChzZWxmKToKLSAgICAgICAgaWYgbm90IHNlbGYuX3Rlc3Rfc2hlbGw6Ci0gICAgICAg
ICAgICByZXR1cm4gc3VwZXIoQ2hyb21pdW1Ecml2ZXIsIHNlbGYpLmhhc19jcmFzaGVkKCkKLQot
ICAgICAgICBpZiBzZWxmLl9wcm9jIGlzIE5vbmU6Ci0gICAgICAgICAgICByZXR1cm4gRmFsc2UK
LSAgICAgICAgcmV0dXJuIHNlbGYuX3Byb2MucG9sbCgpIGlzIG5vdCBOb25lCi0KLSAgICBkZWYg
X3dyaXRlX2NvbW1hbmRfYW5kX3JlYWRfbGluZShzZWxmLCBpbnB1dD1Ob25lKToKLSAgICAgICAg
IiIiUmV0dXJucyBhIHR1cGxlOiAobGluZSwgZGlkX2NyYXNoKSIiIgotICAgICAgICB0cnk6Ci0g
ICAgICAgICAgICBpZiBpbnB1dDoKLSAgICAgICAgICAgICAgICBpZiBpc2luc3RhbmNlKGlucHV0
LCB1bmljb2RlKToKLSAgICAgICAgICAgICAgICAgICAgIyBEUlQgZXhwZWN0cyB1dGYtOAotICAg
ICAgICAgICAgICAgICAgICBpbnB1dCA9IGlucHV0LmVuY29kZSgidXRmLTgiKQotICAgICAgICAg
ICAgICAgIHNlbGYuX3Byb2Muc3RkaW4ud3JpdGUoaW5wdXQpCi0gICAgICAgICAgICAjIER1bXBS
ZW5kZXJUcmVlIHRleHQgb3V0cHV0IGlzIGFsd2F5cyBVVEYtOC4gIEhvd2V2ZXIgc29tZSB0ZXN0
cwotICAgICAgICAgICAgIyAoZS5nLiB3ZWJhcmNoaXZlKSBtYXkgc3BpdCBvdXQgYmluYXJ5IGRh
dGEgaW5zdGVhZCBvZiB0ZXh0IHNvIHdlCi0gICAgICAgICAgICAjIGRvbid0IGJvdGhlciB0byBk
ZWNvZGUgdGhlIG91dHB1dC4KLSAgICAgICAgICAgIGxpbmUgPSBzZWxmLl9wcm9jLnN0ZG91dC5y
ZWFkbGluZSgpCi0gICAgICAgICAgICAjIFdlIGNvdWxkIGFzc2VydCgpIGhlcmUgdGhhdCBsaW5l
IGNvcnJlY3RseSBkZWNvZGVzIGFzIFVURi04LgotICAgICAgICAgICAgcmV0dXJuIChsaW5lLCBG
YWxzZSkKLSAgICAgICAgZXhjZXB0IElPRXJyb3IsIGU6Ci0gICAgICAgICAgICBfbG9nLmVycm9y
KCJJT0Vycm9yIGNvbW11bmljYXRpbmcgdy8gRFJUOiAiICsgc3RyKGUpKQotICAgICAgICAgICAg
cmV0dXJuIChOb25lLCBUcnVlKQotCi0gICAgZGVmIF90ZXN0X3NoZWxsX2NvbW1hbmQoc2VsZiwg
dXJpLCB0aW1lb3V0bXMsIGNoZWNrc3VtKToKLSAgICAgICAgY21kID0gdXJpCi0gICAgICAgIGlm
IHRpbWVvdXRtczoKLSAgICAgICAgICAgIGNtZCArPSAnICcgKyBzdHIodGltZW91dG1zKQotICAg
ICAgICBpZiBjaGVja3N1bToKLSAgICAgICAgICAgIGNtZCArPSAnICcgKyBjaGVja3N1bQotICAg
ICAgICBjbWQgKz0gIlxuIgotICAgICAgICByZXR1cm4gY21kCi0KLSAgICBkZWYgX291dHB1dF9p
bWFnZShzZWxmKToKLSAgICAgICAgaWYgc2VsZi5faW1hZ2VfcGF0aCBhbmQgc2VsZi5fcG9ydC5f
ZmlsZXN5c3RlbS5leGlzdHMoc2VsZi5faW1hZ2VfcGF0aCk6Ci0gICAgICAgICAgICByZXR1cm4g
c2VsZi5fcG9ydC5fZmlsZXN5c3RlbS5yZWFkX2JpbmFyeV9maWxlKHNlbGYuX2ltYWdlX3BhdGgp
Ci0gICAgICAgIHJldHVybiBOb25lCi0KLSAgICBkZWYgX291dHB1dF9pbWFnZV93aXRoX3JldHJ5
KHNlbGYpOgotICAgICAgICAjIFJldHJ5IGEgZmV3IG1vcmUgdGltZXMgYmVjYXVzZSBvcGVuKCkg
c29tZXRpbWVzIGZhaWxzIG9uIFdpbmRvd3MsCi0gICAgICAgICMgcmFpc2luZyAiSU9FcnJvcjog
W0Vycm5vIDEzXSBQZXJtaXNzaW9uIGRlbmllZDoiCi0gICAgICAgIHJldHJ5X251bSA9IDUwCi0g
ICAgICAgIHRpbWVvdXRfc2Vjb25kcyA9IDUuMAotICAgICAgICBmb3IgXyBpbiByYW5nZShyZXRy
eV9udW0pOgotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9v
dXRwdXRfaW1hZ2UoKQotICAgICAgICAgICAgZXhjZXB0IElPRXJyb3IsIGU6Ci0gICAgICAgICAg
ICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5FQUNDRVM6Ci0gICAgICAgICAgICAgICAgICAgIHJh
aXNlIGUKLSAgICAgICAgICAgICMgRklYTUU6IFdlIHNob3VsZCBoYXZlIGEgc2VwYXJhdGUgcmV0
cnkgZGVsYXkuCi0gICAgICAgICAgICAjIFRoaXMgaW1wbGVtZW50YXRpb24gaXMgbGlrZWx5IHRv
IGV4Y2VlZCB0aGUgdGltZW91dCBiZWZvcmUgdGhlIGV4cGVjdGVkIG51bWJlciBvZiByZXRyaWVz
LgotICAgICAgICAgICAgdGltZS5zbGVlcCh0aW1lb3V0X3NlY29uZHMgLyByZXRyeV9udW0pCi0g
ICAgICAgIHJldHVybiBzZWxmLl9vdXRwdXRfaW1hZ2UoKQotCi0gICAgZGVmIF9jbGVhcl9vdXRw
dXRfaW1hZ2Uoc2VsZik6Ci0gICAgICAgIGlmIHNlbGYuX2ltYWdlX3BhdGggYW5kIHNlbGYuX3Bv
cnQuX2ZpbGVzeXN0ZW0uZXhpc3RzKHNlbGYuX2ltYWdlX3BhdGgpOgotICAgICAgICAgICAgc2Vs
Zi5fcG9ydC5fZmlsZXN5c3RlbS5yZW1vdmUoc2VsZi5faW1hZ2VfcGF0aCkKLQotICAgIGRlZiBy
dW5fdGVzdChzZWxmLCBkcml2ZXJfaW5wdXQpOgotICAgICAgICBpZiBub3Qgc2VsZi5fdGVzdF9z
aGVsbDoKLSAgICAgICAgICAgIHJldHVybiBzdXBlcihDaHJvbWl1bURyaXZlciwgc2VsZikucnVu
X3Rlc3QoZHJpdmVyX2lucHV0KQotCi0gICAgICAgIGlmIG5vdCBzZWxmLl9wcm9jOgotICAgICAg
ICAgICAgc2VsZi5fc3RhcnQoZHJpdmVyX2lucHV0LnNob3VsZF9ydW5fcGl4ZWxfdGVzdCwgZHJp
dmVyX2lucHV0LmFyZ3MpCi0KLSAgICAgICAgb3V0cHV0ID0gW10KLSAgICAgICAgZXJyb3IgPSBb
XQotICAgICAgICBjcmFzaCA9IEZhbHNlCi0gICAgICAgIHRpbWVvdXQgPSBGYWxzZQotICAgICAg
ICBhY3R1YWxfdXJpID0gTm9uZQotICAgICAgICBhY3R1YWxfY2hlY2tzdW0gPSBOb25lCi0gICAg
ICAgIHNlbGYuX2NsZWFyX291dHB1dF9pbWFnZSgpCi0gICAgICAgIHN0YXJ0X3RpbWUgPSB0aW1l
LnRpbWUoKQotICAgICAgICBoYXNfYXVkaW8gPSBGYWxzZQotICAgICAgICBoYXNfYmFzZTY0ID0g
RmFsc2UKLQotICAgICAgICB1cmkgPSBzZWxmLnRlc3RfdG9fdXJpKGRyaXZlcl9pbnB1dC50ZXN0
X25hbWUpCi0gICAgICAgIGNtZCA9IHNlbGYuX3Rlc3Rfc2hlbGxfY29tbWFuZCh1cmksIGRyaXZl
cl9pbnB1dC50aW1lb3V0LCBkcml2ZXJfaW5wdXQuaW1hZ2VfaGFzaCkKLSAgICAgICAgbGluZSwg
Y3Jhc2ggPSBzZWxmLl93cml0ZV9jb21tYW5kX2FuZF9yZWFkX2xpbmUoaW5wdXQ9Y21kKQotCi0g
ICAgICAgIHdoaWxlIG5vdCBjcmFzaCBhbmQgbGluZS5yc3RyaXAoKSAhPSAiI0VPRiI6Ci0gICAg
ICAgICAgICAjIE1ha2Ugc3VyZSB3ZSBoYXZlbid0IGNyYXNoZWQuCi0gICAgICAgICAgICBpZiBs
aW5lID09ICcnIGFuZCBzZWxmLl9wcm9jLnBvbGwoKSBpcyBub3QgTm9uZToKLSAgICAgICAgICAg
ICAgICAjIFRoaXMgaXMgaGV4IGNvZGUgMHhjMDAwMDAxZCwgd2hpY2ggaXMgdXNlZCBmb3IgYWJy
dXB0Ci0gICAgICAgICAgICAgICAgIyB0ZXJtaW5hdGlvbi4gVGhpcyBoYXBwZW5zIGlmIHdlIGhp
dCBjdHJsK2MgZnJvbSB0aGUgcHJvbXB0Ci0gICAgICAgICAgICAgICAgIyBhbmQgd2UgaGFwcGVu
IHRvIGJlIHdhaXRpbmcgb24gRFJULgotICAgICAgICAgICAgICAgICMgc2RveW9uOiBOb3Qgc3Vy
ZSBmb3Igd2hpY2ggT1MgYW5kIGluIHdoYXQgY2lyY3Vtc3RhbmNlcyB0aGUKLSAgICAgICAgICAg
ICAgICAjIGFib3ZlIGNvZGUgaXMgdmFsaWQuIFdoYXQgd29ya3MgZm9yIG1lIHVuZGVyIExpbnV4
IHRvIGRldGVjdAotICAgICAgICAgICAgICAgICMgY3RybCtjIGlzIGZvciB0aGUgc3VicHJvY2Vz
cyByZXR1cm5jb2RlIHRvIGJlIG5lZ2F0aXZlCi0gICAgICAgICAgICAgICAgIyBTSUdJTlQuIEFu
ZCB0aGF0IGFncmVlcyB3aXRoIHRoZSBzdWJwcm9jZXNzIGRvY3VtZW50YXRpb24uCi0gICAgICAg
ICAgICAgICAgaWYgKC0xMDczNzQxNTEwID09IHNlbGYuX3Byb2MucmV0dXJuY29kZSBvcgotICAg
ICAgICAgICAgICAgICAgICAtIHNpZ25hbC5TSUdJTlQgPT0gc2VsZi5fcHJvYy5yZXR1cm5jb2Rl
KToKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UgS2V5Ym9hcmRJbnRlcnJ1cHQKLSAgICAgICAg
ICAgICAgICBjcmFzaCA9IFRydWUKLSAgICAgICAgICAgICAgICBicmVhawotCi0gICAgICAgICAg
ICAjIERvbid0IGluY2x1ZGUgI1VSTCBsaW5lcyBpbiBvdXIgb3V0cHV0Ci0gICAgICAgICAgICBp
ZiBsaW5lLnN0YXJ0c3dpdGgoIiNVUkw6Iik6Ci0gICAgICAgICAgICAgICAgYWN0dWFsX3VyaSA9
IGxpbmUucnN0cmlwKClbNTpdCi0gICAgICAgICAgICAgICAgaWYgdXJpICE9IGFjdHVhbF91cmk6
Ci0gICAgICAgICAgICAgICAgICAgICMgR1VSTCBjYXBpdGFsaXplcyB0aGUgZHJpdmUgbGV0dGVy
IG9mIGEgZmlsZSBVUkwuCi0gICAgICAgICAgICAgICAgICAgIGlmIChub3QgcmUuc2VhcmNoKCJe
ZmlsZTovLy9bYS16XToiLCB1cmkpIG9yIHVyaS5sb3dlcigpICE9IGFjdHVhbF91cmkubG93ZXIo
KSk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBfbG9nLmZhdGFsKCJUZXN0IGdvdCBvdXQgb2Yg
c3luYzpcbnwlc3xcbnwlc3wiICUgKHVyaSwgYWN0dWFsX3VyaSkpCi0gICAgICAgICAgICAgICAg
ICAgICAgICByYWlzZSBBc3NlcnRpb25FcnJvcigidGVzdCBvdXQgb2Ygc3luYyIpCi0gICAgICAg
ICAgICBlbGlmIGxpbmUuc3RhcnRzd2l0aCgiI01ENToiKToKLSAgICAgICAgICAgICAgICBhY3R1
YWxfY2hlY2tzdW0gPSBsaW5lLnJzdHJpcCgpWzU6XQotICAgICAgICAgICAgZWxpZiBsaW5lLnN0
YXJ0c3dpdGgoIiNURVNUX1RJTUVEX09VVCIpOgotICAgICAgICAgICAgICAgIHRpbWVvdXQgPSBU
cnVlCi0gICAgICAgICAgICAgICAgIyBUZXN0IHRpbWVkIG91dCwgYnV0IHdlIHN0aWxsIG5lZWQg
dG8gcmVhZCB1bnRpbCAjRU9GLgotICAgICAgICAgICAgZWxpZiBsaW5lLnN0YXJ0c3dpdGgoIkNv
bnRlbnQtVHlwZTogYXVkaW8vd2F2Iik6Ci0gICAgICAgICAgICAgICAgaGFzX2F1ZGlvID0gVHJ1
ZQotICAgICAgICAgICAgZWxpZiBsaW5lLnN0YXJ0c3dpdGgoIkNvbnRlbnQtVHJhbnNmZXItRW5j
b2Rpbmc6IGJhc2U2NCIpOgotICAgICAgICAgICAgICAgIGhhc19iYXNlNjQgPSBUcnVlCi0gICAg
ICAgICAgICBlbGlmIGxpbmUuc3RhcnRzd2l0aCgiQ29udGVudC1MZW5ndGg6Iik6Ci0gICAgICAg
ICAgICAgICAgcGFzcwotICAgICAgICAgICAgZWxpZiBhY3R1YWxfdXJpOgotICAgICAgICAgICAg
ICAgIG91dHB1dC5hcHBlbmQobGluZSkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAg
ICAgZXJyb3IuYXBwZW5kKGxpbmUpCi0KLSAgICAgICAgICAgIGxpbmUsIGNyYXNoID0gc2VsZi5f
d3JpdGVfY29tbWFuZF9hbmRfcmVhZF9saW5lKGlucHV0PU5vbmUpCi0KLSAgICAgICAgaWYgY3Jh
c2ggYW5kIGxpbmUgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICBlcnJvci5hcHBlbmQobGluZSkK
LSAgICAgICAgcnVuX3RpbWUgPSB0aW1lLnRpbWUoKSAtIHN0YXJ0X3RpbWUKLSAgICAgICAgb3V0
cHV0X2ltYWdlID0gc2VsZi5fb3V0cHV0X2ltYWdlX3dpdGhfcmV0cnkoKQotCi0gICAgICAgIGF1
ZGlvX2J5dGVzID0gTm9uZQotICAgICAgICB0ZXh0ID0gTm9uZQotICAgICAgICBpZiBoYXNfYXVk
aW86Ci0gICAgICAgICAgICBpZiBoYXNfYmFzZTY0OgotICAgICAgICAgICAgICAgIGF1ZGlvX2J5
dGVzID0gYmFzZTY0LmI2NGRlY29kZSgnJy5qb2luKG91dHB1dCkpCi0gICAgICAgICAgICBlbHNl
OgotICAgICAgICAgICAgICAgIGF1ZGlvX2J5dGVzID0gJycuam9pbihvdXRwdXQpLnJzdHJpcCgp
Ci0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICB0ZXh0ID0gJycuam9pbihvdXRwdXQpCi0gICAg
ICAgICAgICBpZiBub3QgdGV4dDoKLSAgICAgICAgICAgICAgICB0ZXh0ID0gTm9uZQotCi0gICAg
ICAgIGVycm9yID0gJycuam9pbihlcnJvcikKLSAgICAgICAgIyBDdXJyZW50bHkgdGhlIHN0YWNr
dHJhY2UgaXMgaW4gdGhlIHRleHQgb3V0cHV0LCBub3QgZXJyb3IsIHNvIGFwcGVuZCB0aGUgdHdv
IHRvZ2V0aGVyIHNvCi0gICAgICAgICMgdGhhdCB3ZSBjYW4gc2VlIHN0YWNrIGluIHRoZSBvdXRw
dXQuIFNlZSBodHRwOi8vd2Via2l0Lm9yZy9iLzY2ODA2Ci0gICAgICAgICMgRklYTUU6IFdlIHJl
YWxseSBzaG91bGQgcHJvcGVybHkgaGFuZGxlIHRoZSBzdGRlcnIgb3V0cHV0IHNlcGFyYXRlbHku
Ci0gICAgICAgIGNyYXNoX2xvZyA9ICcnCi0gICAgICAgIGNyYXNoZWRfcHJvY2Vzc19uYW1lID0g
Tm9uZQotICAgICAgICBjcmFzaGVkX3BpZCA9IE5vbmUKLSAgICAgICAgaWYgY3Jhc2g6Ci0gICAg
ICAgICAgICBjcmFzaGVkX3Byb2Nlc3NfbmFtZSA9IHNlbGYuX3BvcnQuZHJpdmVyX25hbWUoKQot
ICAgICAgICAgICAgaWYgc2VsZi5fcHJvYzoKLSAgICAgICAgICAgICAgICBjcmFzaGVkX3BpZCA9
IHNlbGYuX3Byb2MucGlkCi0gICAgICAgICAgICBjcmFzaF9sb2cgPSBzZWxmLl9wb3J0Ll9nZXRf
Y3Jhc2hfbG9nKGNyYXNoZWRfcHJvY2Vzc19uYW1lLCBjcmFzaGVkX3BpZCwgdGV4dCwgZXJyb3Is
IG5ld2VyX3RoYW49c3RhcnRfdGltZSkKLSAgICAgICAgICAgIGlmIHRleHQ6Ci0gICAgICAgICAg
ICAgICAgZXJyb3IgPSBlcnJvciArIHRleHQKLQotICAgICAgICByZXR1cm4gRHJpdmVyT3V0cHV0
KHRleHQsIG91dHB1dF9pbWFnZSwgYWN0dWFsX2NoZWNrc3VtLCBhdWRpbz1hdWRpb19ieXRlcywK
LSAgICAgICAgICAgIGNyYXNoPWNyYXNoLCBjcmFzaGVkX3Byb2Nlc3NfbmFtZT1jcmFzaGVkX3By
b2Nlc3NfbmFtZSwgY3Jhc2hlZF9waWQ9Y3Jhc2hlZF9waWQsIGNyYXNoX2xvZz1jcmFzaF9sb2cs
Ci0gICAgICAgICAgICB0ZXN0X3RpbWU9cnVuX3RpbWUsIHRpbWVvdXQ9dGltZW91dCwgZXJyb3I9
ZXJyb3IpCi0KLSAgICBkZWYgc3RhcnQoc2VsZiwgcGl4ZWxfdGVzdHMsIHBlcl90ZXN0X2FyZ3Mp
OgotICAgICAgICBpZiBub3Qgc2VsZi5fdGVzdF9zaGVsbDoKLSAgICAgICAgICAgIHJldHVybiBz
dXBlcihDaHJvbWl1bURyaXZlciwgc2VsZikuc3RhcnQocGl4ZWxfdGVzdHMsIHBlcl90ZXN0X2Fy
Z3MpCi0KLSAgICAgICAgaWYgbm90IHNlbGYuX3Byb2M6Ci0gICAgICAgICAgICBzZWxmLl9zdGFy
dChwaXhlbF90ZXN0cywgcGVyX3Rlc3RfYXJncykKLQotICAgIGRlZiBzdG9wKHNlbGYpOgotICAg
ICAgICBpZiBub3Qgc2VsZi5fdGVzdF9zaGVsbDoKLSAgICAgICAgICAgIHJldHVybiBzdXBlcihD
aHJvbWl1bURyaXZlciwgc2VsZikuc3RvcCgpCi0KLSAgICAgICAgaWYgbm90IHNlbGYuX3Byb2M6
Ci0gICAgICAgICAgICByZXR1cm4KLSAgICAgICAgc2VsZi5fcHJvYy5zdGRpbi5jbG9zZSgpCi0g
ICAgICAgIHNlbGYuX3Byb2Muc3Rkb3V0LmNsb3NlKCkKLSAgICAgICAgaWYgc2VsZi5fcHJvYy5z
dGRlcnI6Ci0gICAgICAgICAgICBzZWxmLl9wcm9jLnN0ZGVyci5jbG9zZSgpCi0gICAgICAgIHRp
bWVfb3V0X21zID0gc2VsZi5fcG9ydC5nZXRfb3B0aW9uKCd0aW1lX291dF9tcycpCi0gICAgICAg
IGlmIHRpbWVfb3V0X21zIGFuZCBub3Qgc2VsZi5fbm9fdGltZW91dDoKLSAgICAgICAgICAgIHRp
bWVvdXRfcmF0aW8gPSBmbG9hdCh0aW1lX291dF9tcykgLyBzZWxmLl9wb3J0LmRlZmF1bHRfdGlt
ZW91dF9tcygpCi0gICAgICAgICAgICBraWxsX3RpbWVvdXRfc2Vjb25kcyA9IHNlbGYuS0lMTF9U
SU1FT1VUX0RFRkFVTFQgKiB0aW1lb3V0X3JhdGlvIGlmIHRpbWVvdXRfcmF0aW8gPiAxLjAgZWxz
ZSBzZWxmLktJTExfVElNRU9VVF9ERUZBVUxUCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBr
aWxsX3RpbWVvdXRfc2Vjb25kcyA9IHNlbGYuS0lMTF9USU1FT1VUX0RFRkFVTFQKLQotICAgICAg
ICAjIENsb3Npbmcgc3RkaW4vc3Rkb3V0L3N0ZGVyciBoYW5ncyBzb21ldGltZXMgb24gT1MgWCwK
LSAgICAgICAgIyAoc2VlIF9faW5pdF9fKCksIGFib3ZlKSwgYW5kIGFueXdheSB3ZSBkb24ndCB3
YW50IHRvIGhhbmcKLSAgICAgICAgIyB0aGUgaGFybmVzcyBpZiBEUlQgaXMgYnVnZ3ksIHNvIHdl
IHdhaXQgYSBjb3VwbGUKLSAgICAgICAgIyBzZWNvbmRzIHRvIGdpdmUgRFJUIGEgY2hhbmNlIHRv
IGNsZWFuIHVwLCBidXQgdGhlbgotICAgICAgICAjIGZvcmNlLWtpbGwgdGhlIHByb2Nlc3MgaWYg
bmVjZXNzYXJ5LgotICAgICAgICB0aW1lb3V0ID0gdGltZS50aW1lKCkgKyBraWxsX3RpbWVvdXRf
c2Vjb25kcwotICAgICAgICB3aGlsZSBzZWxmLl9wcm9jLnBvbGwoKSBpcyBOb25lIGFuZCB0aW1l
LnRpbWUoKSA8IHRpbWVvdXQ6Ci0gICAgICAgICAgICB0aW1lLnNsZWVwKDAuMSkKLSAgICAgICAg
aWYgc2VsZi5fcHJvYy5wb2xsKCkgaXMgTm9uZToKLSAgICAgICAgICAgIF9sb2cud2FybmluZygn
c3RvcHBpbmcgdGVzdCBkcml2ZXIgdGltZWQgb3V0LCBraWxsaW5nIGl0JykKLSAgICAgICAgICAg
IHNlbGYuX3BvcnQuX2V4ZWN1dGl2ZS5raWxsX3Byb2Nlc3Moc2VsZi5fcHJvYy5waWQpCi0gICAg
ICAgICMgRklYTUU6IFRoaXMgaXMgc29tZXRpbWUgTm9uZS4gV2hhdCBpcyB3cm9uZz8gYXNzZXJ0
IHNlbGYuX3Byb2MucG9sbCgpIGlzIG5vdCBOb25lCi0gICAgICAgIGlmIHNlbGYuX3Byb2MucG9s
bCgpIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgc2VsZi5fcHJvYy53YWl0KCkKLSAgICAgICAg
c2VsZi5fcHJvYyA9IE5vbmUKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3VuaXR0ZXN0LnB5CmluZGV4IDBjNDkxMTJi
YWY5YmE5ZDFjZjA5ZDY1MjAxNTAwMDI1YzA5M2UxMTcuLjg3ZGU0MWM2Y2JmNDg1YjRlYzNlMTM4
YzAyNTBmZWNiZDc2YjY0NTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV91bml0dGVzdC5weQpAQCAtNDQsMTQx
ICs0NCw2IEBAIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLnBvcnQgaW1wb3J0IGNocm9taXVt
X3BvcnRfdGVzdGNhc2UKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLnBvcnQuZHJpdmVyIGlt
cG9ydCBEcml2ZXJJbnB1dAogCiAKLWNsYXNzIENocm9taXVtRHJpdmVyVGVzdCh1bml0dGVzdC5U
ZXN0Q2FzZSk6Ci0gICAgZGVmIHNldFVwKHNlbGYpOgotICAgICAgICBob3N0ID0gTW9ja1N5c3Rl
bUhvc3QoKQotICAgICAgICBvcHRpb25zID0gTW9ja09wdGlvbnMoY29uZmlndXJhdGlvbj0nUmVs
ZWFzZScsIGFkZGl0aW9uYWxfZHJ0X2ZsYWc9WyctLXRlc3Qtc2hlbGwnXSkKLSAgICAgICAgY29u
ZmlnID0gTW9ja0NvbmZpZyhmaWxlc3lzdGVtPWhvc3QuZmlsZXN5c3RlbSwgZGVmYXVsdF9jb25m
aWd1cmF0aW9uPSdSZWxlYXNlJykKLSAgICAgICAgc2VsZi5wb3J0ID0gY2hyb21pdW1fbWFjLkNo
cm9taXVtTWFjUG9ydChob3N0LCAnY2hyb21pdW0tbWFjLXNub3dsZW9wYXJkJywgb3B0aW9ucz1v
cHRpb25zLCBjb25maWc9Y29uZmlnKQotICAgICAgICBzZWxmLmRyaXZlciA9IGNocm9taXVtLkNo
cm9taXVtRHJpdmVyKHNlbGYucG9ydCwgd29ya2VyX251bWJlcj0wLCBwaXhlbF90ZXN0cz1UcnVl
KQotCi0gICAgZGVmIHRlc3RfdGVzdF9zaGVsbF9jb21tYW5kKHNlbGYpOgotICAgICAgICBleHBl
Y3RlZF9jb21tYW5kID0gInRlc3QuaHRtbCAyIGNoZWNrc3VtXG4iCi0gICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoc2VsZi5kcml2ZXIuX3Rlc3Rfc2hlbGxfY29tbWFuZCgidGVzdC5odG1sIiwgMiwg
ImNoZWNrc3VtIiksIGV4cGVjdGVkX2NvbW1hbmQpCi0KLSAgICBkZWYgX2Fzc2VydF93cml0ZV9j
b21tYW5kX2FuZF9yZWFkX2xpbmUoc2VsZiwgaW5wdXQ9Tm9uZSwgZXhwZWN0ZWRfbGluZT1Ob25l
LCBleHBlY3RlZF9zdGRpbj1Ob25lLCBleHBlY3RlZF9jcmFzaD1GYWxzZSk6Ci0gICAgICAgIGlm
IG5vdCBleHBlY3RlZF9zdGRpbjoKLSAgICAgICAgICAgIGlmIGlucHV0OgotICAgICAgICAgICAg
ICAgIGV4cGVjdGVkX3N0ZGluID0gaW5wdXQKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAg
ICAgICAgIyBXZSByZXNldCBzdGRpbiwgc28gd2Ugc2hvdWxkIGV4cGVjdCBzdGRpbi5nZXRWYWx1
ZSA9ICIiCi0gICAgICAgICAgICAgICAgZXhwZWN0ZWRfc3RkaW4gPSAiIgotICAgICAgICBzZWxm
LmRyaXZlci5fcHJvYy5zdGRpbiA9IFN0cmluZ0lPLlN0cmluZ0lPKCkKLSAgICAgICAgbGluZSwg
ZGlkX2NyYXNoID0gc2VsZi5kcml2ZXIuX3dyaXRlX2NvbW1hbmRfYW5kX3JlYWRfbGluZShpbnB1
dCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmRyaXZlci5fcHJvYy5zdGRpbi5nZXR2
YWx1ZSgpLCBleHBlY3RlZF9zdGRpbikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaW5lLCBl
eHBlY3RlZF9saW5lKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRpZF9jcmFzaCwgZXhwZWN0
ZWRfY3Jhc2gpCi0KLSAgICBkZWYgdGVzdF93cml0ZV9jb21tYW5kX2FuZF9yZWFkX2xpbmUoc2Vs
Zik6Ci0gICAgICAgIHNlbGYuZHJpdmVyLl9wcm9jID0gTW9jaygpICAjIEZJWE1FOiBUaGlzIHNo
b3VsZCB1c2UgYSB0aWdodGVyIG1vY2suCi0gICAgICAgICMgU2V0IHVwIHRvIHJlYWQgMyBsaW5l
cyBiZWZvcmUgd2UgZ2V0IGFuIElPRXJyb3IKLSAgICAgICAgc2VsZi5kcml2ZXIuX3Byb2Muc3Rk
b3V0ID0gU3RyaW5nSU8uU3RyaW5nSU8oImZpcnN0XG5zZWNvbmRcbnRoaXJkXG4iKQotCi0gICAg
ICAgIHVuaWNvZGVfaW5wdXQgPSB1IkkgXHUyNjYxIFVuaWNvZGUiCi0gICAgICAgIHV0ZjhfaW5w
dXQgPSB1bmljb2RlX2lucHV0LmVuY29kZSgidXRmLTgiKQotICAgICAgICAjIFRlc3QgdW5pY29k
ZSBpbnB1dCBjb252ZXJzaW9uIHRvIHV0Zi04Ci0gICAgICAgIHNlbGYuX2Fzc2VydF93cml0ZV9j
b21tYW5kX2FuZF9yZWFkX2xpbmUoaW5wdXQ9dW5pY29kZV9pbnB1dCwgZXhwZWN0ZWRfc3RkaW49
dXRmOF9pbnB1dCwgZXhwZWN0ZWRfbGluZT0iZmlyc3RcbiIpCi0gICAgICAgICMgVGVzdCBzdHIo
KSBpbnB1dC4KLSAgICAgICAgc2VsZi5fYXNzZXJ0X3dyaXRlX2NvbW1hbmRfYW5kX3JlYWRfbGlu
ZShpbnB1dD0iZm9vIiwgZXhwZWN0ZWRfbGluZT0ic2Vjb25kXG4iKQotICAgICAgICAjIFRlc3Qg
aW5wdXQ9Tm9uZQotICAgICAgICBzZWxmLl9hc3NlcnRfd3JpdGVfY29tbWFuZF9hbmRfcmVhZF9s
aW5lKGV4cGVjdGVkX2xpbmU9InRoaXJkXG4iKQotICAgICAgICAjIFRlc3QgcmVhZGluZyBmcm9t
IGEgY2xvc2VkL2VtcHR5IHN0cmVhbS4KLSAgICAgICAgIyByZWFkaW5nIGZyb20gYSBTdHJpbmdJ
TyBkb2VzIG5vdCByYWlzZSBJT0Vycm9yIGxpa2UgYSByZWFsIGZpbGUgd291bGQsIHNvIHJhaXNl
IElPRXJyb3IgbWFudWFsbHkuCi0gICAgICAgIGRlZiBtb2NrX3JlYWRsaW5lKCk6Ci0gICAgICAg
ICAgICByYWlzZSBJT0Vycm9yCi0gICAgICAgIHNlbGYuZHJpdmVyLl9wcm9jLnN0ZG91dC5yZWFk
bGluZSA9IG1vY2tfcmVhZGxpbmUKLSAgICAgICAgc2VsZi5fYXNzZXJ0X3dyaXRlX2NvbW1hbmRf
YW5kX3JlYWRfbGluZShleHBlY3RlZF9jcmFzaD1UcnVlKQotCi0gICAgZGVmIHRlc3RfY3Jhc2hf
bG9nKHNlbGYpOgotICAgICAgICBzZWxmLmRyaXZlci5fcHJvYyA9IE1vY2soKQotCi0gICAgICAg
ICMgU2ltdWxhdGUgYSBjcmFzaCBieSBoYXZpbmcgc3Rkb3V0IGNsb3NlIHVuZXhwZWN0ZWRseS4K
LSAgICAgICAgZGVmIG1vY2tfcmVhZGxpbmUoKToKLSAgICAgICAgICAgIHJhaXNlIElPRXJyb3IK
LSAgICAgICAgc2VsZi5kcml2ZXIuX3Byb2Muc3Rkb3V0LnJlYWRsaW5lID0gbW9ja19yZWFkbGlu
ZQotICAgICAgICBzZWxmLmRyaXZlci5fcHJvYy5waWQgPSAxMjM0Ci0KLSAgICAgICAgc2VsZi5k
cml2ZXIudGVzdF90b191cmkgPSBsYW1iZGEgdGVzdDogJ21vY2t0ZXN0dXJpJwotICAgICAgICBz
ZWxmLmRyaXZlci5fcG9ydC5kcml2ZXJfbmFtZSA9IGxhbWJkYTogJ21vY2tkcml2ZXInCi0gICAg
ICAgIHNlbGYuZHJpdmVyLl9wb3J0Ll9nZXRfY3Jhc2hfbG9nID0gbGFtYmRhIG5hbWUsIHBpZCwg
b3V0LCBlcnIsIG5ld2VyX3RoYW46ICdtb2NrY3Jhc2hsb2cnCi0gICAgICAgIGRyaXZlcl9vdXRw
dXQgPSBzZWxmLmRyaXZlci5ydW5fdGVzdChEcml2ZXJJbnB1dCh0ZXN0X25hbWU9J3NvbWUvdGVz
dC5odG1sJywgdGltZW91dD0xLCBpbWFnZV9oYXNoPU5vbmUsIHNob3VsZF9ydW5fcGl4ZWxfdGVz
dD1GYWxzZSkpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShkcml2ZXJfb3V0cHV0LmNyYXNoKQot
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRyaXZlcl9vdXRwdXQuY3Jhc2hlZF9wcm9jZXNzX25h
bWUsICdtb2NrZHJpdmVyJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkcml2ZXJfb3V0cHV0
LmNyYXNoZWRfcGlkLCAxMjM0KQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRyaXZlcl9vdXRw
dXQuY3Jhc2hfbG9nLCAnbW9ja2NyYXNobG9nJykKLQotICAgIGRlZiB0ZXN0X3N0b3Aoc2VsZik6
Ci0gICAgICAgIHNlbGYucGlkID0gTm9uZQotICAgICAgICBzZWxmLndhaXRfY2FsbGVkID0gRmFs
c2UKLSAgICAgICAgc2VsZi5kcml2ZXIuX3Byb2MgPSBNb2NrKCkgICMgRklYTUU6IFRoaXMgc2hv
dWxkIHVzZSBhIHRpZ2h0ZXIgbW9jay4KLSAgICAgICAgc2VsZi5kcml2ZXIuX3Byb2MucGlkID0g
MQotICAgICAgICBzZWxmLmRyaXZlci5fcHJvYy5zdGRpbiA9IFN0cmluZ0lPLlN0cmluZ0lPKCkK
LSAgICAgICAgc2VsZi5kcml2ZXIuX3Byb2Muc3Rkb3V0ID0gU3RyaW5nSU8uU3RyaW5nSU8oKQot
ICAgICAgICBzZWxmLmRyaXZlci5fcHJvYy5zdGRlcnIgPSBTdHJpbmdJTy5TdHJpbmdJTygpCi0g
ICAgICAgIHNlbGYuZHJpdmVyLl9wcm9jLnBvbGwgPSBsYW1iZGE6IE5vbmUKLQotICAgICAgICBk
ZWYgZmFrZV93YWl0KCk6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoc2VsZi5waWQgaXMg
bm90IE5vbmUpCi0gICAgICAgICAgICBzZWxmLndhaXRfY2FsbGVkID0gVHJ1ZQotCi0gICAgICAg
IHNlbGYuZHJpdmVyLl9wcm9jLndhaXQgPSBmYWtlX3dhaXQKLQotICAgICAgICBjbGFzcyBGYWtl
RXhlY3V0aXZlKG9iamVjdCk6Ci0gICAgICAgICAgICBkZWYga2lsbF9wcm9jZXNzKG90aGVyLCBw
aWQpOgotICAgICAgICAgICAgICAgIHNlbGYucGlkID0gcGlkCi0gICAgICAgICAgICAgICAgc2Vs
Zi5kcml2ZXIuX3Byb2MucG9sbCA9IGxhbWJkYTogMgotCi0gICAgICAgIHNlbGYuZHJpdmVyLl9w
b3J0Ll9leGVjdXRpdmUgPSBGYWtlRXhlY3V0aXZlKCkKLSAgICAgICAgc2VsZi5kcml2ZXIuS0lM
TF9USU1FT1VUX0RFRkFVTFQgPSAwLjAxCi0gICAgICAgIHNlbGYuZHJpdmVyLnN0b3AoKQotICAg
ICAgICBzZWxmLmFzc2VydFRydWUoc2VsZi53YWl0X2NhbGxlZCkKLSAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbHMoc2VsZi5waWQsIDEpCi0KLSAgICBkZWYgdGVzdF90d29fZHJpdmVycyhzZWxmKToK
LQotICAgICAgICBjbGFzcyBNb2NrRHJpdmVyKGNocm9taXVtLkNocm9taXVtRHJpdmVyKToKLSAg
ICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwb3J0KToKLSAgICAgICAgICAgICAgICBjaHJv
bWl1bS5DaHJvbWl1bURyaXZlci5fX2luaXRfXyhzZWxmLCBwb3J0LCB3b3JrZXJfbnVtYmVyPTAs
IHBpeGVsX3Rlc3RzPUZhbHNlKQotCi0gICAgICAgICAgICBkZWYgY21kX2xpbmUoc2VsZiwgcGl4
ZWxfdGVzdCwgcGVyX3Rlc3RfYXJncyk6Ci0gICAgICAgICAgICAgICAgcmV0dXJuICdweXRob24n
Ci0KLSAgICAgICAgIyBnZXRfb3B0aW9uIGlzIHVzZWQgdG8gZ2V0IHRoZSB0aW1lb3V0IChtcykg
Zm9yIGEgcHJvY2VzcyBiZWZvcmUgd2Uga2lsbCBpdC4KLSAgICAgICAgZHJpdmVyMSA9IE1vY2tE
cml2ZXIoc2VsZi5wb3J0KQotICAgICAgICBkcml2ZXIxLl9zdGFydChGYWxzZSwgW10pCi0gICAg
ICAgIGRyaXZlcjIgPSBNb2NrRHJpdmVyKHNlbGYucG9ydCkKLSAgICAgICAgZHJpdmVyMi5fc3Rh
cnQoRmFsc2UsIFtdKQotICAgICAgICAjIEl0J3MgcG9zc2libGUgZm9yIGRyaXZlcjEgdG8gdGlt
ZW91dCB3aGVuIHN0b3BwaW5nIGlmIGl0J3Mgc2hhcmluZyBzdGRpbiB3aXRoIGRyaXZlcjIuCi0g
ICAgICAgIHN0YXJ0X3RpbWUgPSB0aW1lLnRpbWUoKQotICAgICAgICBkcml2ZXIxLnN0b3AoKQot
ICAgICAgICBkcml2ZXIyLnN0b3AoKQotICAgICAgICBzZWxmLmFzc2VydFRydWUodGltZS50aW1l
KCkgLSBzdGFydF90aW1lIDwgMjApCi0KLSAgICBkZWYgdGVzdF9zdG9wX2NsZWFuc191cF9wcm9w
ZXJseShzZWxmKToKLSAgICAgICAgc2VsZi5kcml2ZXIuX3Rlc3Rfc2hlbGwgPSBGYWxzZQotICAg
ICAgICBzZWxmLmRyaXZlci5zdGFydChUcnVlLCBbXSkKLSAgICAgICAgbGFzdF90bXBkaXIgPSBz
ZWxmLnBvcnQuX2ZpbGVzeXN0ZW0ubGFzdF90bXBkaXIKLSAgICAgICAgc2VsZi5hc3NlcnROb3RF
cXVhbHMobGFzdF90bXBkaXIsIE5vbmUpCi0gICAgICAgIHNlbGYuZHJpdmVyLnN0b3AoKQotICAg
ICAgICBzZWxmLmFzc2VydEZhbHNlKHNlbGYucG9ydC5fZmlsZXN5c3RlbS5pc2RpcihsYXN0X3Rt
cGRpcikpCi0KLSAgICBkZWYgdGVzdF90d29fc3RhcnRzX2NsZWFuc191cF9wcm9wZXJseShzZWxm
KToKLSAgICAgICAgIyBjbG9uZSB0aGUgV2ViS2l0RHJpdmVyVGVzdCB0ZXN0cyBoZXJlIHNpbmNl
IHdlIG92ZXJyaWRlIHN0YXJ0KCkgYW5kIHN0b3AoKQotICAgICAgICBzZWxmLmRyaXZlci5fdGVz
dF9zaGVsbCA9IEZhbHNlCi0gICAgICAgIHNlbGYuZHJpdmVyLnN0YXJ0KFRydWUsIFtdKQotICAg
ICAgICBsYXN0X3RtcGRpciA9IHNlbGYucG9ydC5fZmlsZXN5c3RlbS5sYXN0X3RtcGRpcgotICAg
ICAgICBzZWxmLmRyaXZlci5fc3RhcnQoVHJ1ZSwgW10pCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFs
c2Uoc2VsZi5wb3J0Ll9maWxlc3lzdGVtLmlzZGlyKGxhc3RfdG1wZGlyKSkKLQotICAgIGRlZiB0
ZXN0X2V4cGVjdGF0aW9uc19kaWN0KHNlbGYpOgotICAgICAgICBzZWxmLnBvcnQuX2ZpbGVzeXN0
ZW0ud3JpdGVfdGV4dF9maWxlKCcvbW9jay1jaGVja291dC9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zJywgJ3Vwc3RyZWFtJykKLSAgICAgICAgc2VsZi5wb3J0
Ll9maWxlc3lzdGVtLndyaXRlX3RleHRfZmlsZSgnL21vY2stY2hlY2tvdXQvU291cmNlL1dlYktp
dC9jaHJvbWl1bS93ZWJraXQvdG9vbHMvbGF5b3V0X3Rlc3RzL3Rlc3RfZXhwZWN0YXRpb25zLnR4
dCcsICdkb3duc3RyZWFtJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoJ1xuJy5qb2luKHNl
bGYucG9ydC5leHBlY3RhdGlvbnNfZGljdCgpLnZhbHVlcygpKSwgJ3Vwc3RyZWFtXG5kb3duc3Ry
ZWFtJykKLQotICAgICAgICBzZWxmLnBvcnQuX2ZpbGVzeXN0ZW0ud3JpdGVfdGV4dF9maWxlKHNl
bGYucG9ydC5wYXRoX2Zyb21fY2hyb21pdW1fYmFzZSgnc2tpYScsICdza2lhX3Rlc3RfZXhwZWN0
YXRpb25zLnR4dCcpLCAnc2tpYScpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKCdcbicuam9p
bihzZWxmLnBvcnQuZXhwZWN0YXRpb25zX2RpY3QoKS52YWx1ZXMoKSksICd1cHN0cmVhbVxuc2tp
YVxuZG93bnN0cmVhbScpCi0KLQogY2xhc3MgQ2hyb21pdW1Qb3J0TG9nZ2luZ1Rlc3QobG9ndGVz
dGluZy5Mb2dnaW5nVGVzdENhc2UpOgogCiAgICAgIyBGSVhNRTogcHV0IHRoaXMgc29tZXBsYWNl
IG1vcmUgdXNlZnVsCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>