<?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>183109</bug_id>
          
          <creation_ts>2018-02-25 12:05:16 -0800</creation_ts>
          <short_desc>Various crashes in WebKitTestRunner, especially when system is under heavy load</short_desc>
          <delta_ts>2018-02-25 18:18:43 -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 Local 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>ddkilzer</cc>
    
    <cc>jlewis3</cc>
    
    <cc>lforschler</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>wilander</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1401939</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2018-02-25 12:05:16 -0800</bug_when>
    <thetext>WebKitTestRunner has multiple bugs where stack gets corrupted if a message times out.

rdar://problem/35109814</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1401940</commentid>
    <comment_count>1</comment_count>
      <attachid>334583</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2018-02-25 12:26:36 -0800</bug_when>
    <thetext>Created attachment 334583
proposed fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1401945</commentid>
    <comment_count>2</comment_count>
      <attachid>334583</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-02-25 15:12:55 -0800</bug_when>
    <thetext>Comment on attachment 334583
proposed fix

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

&gt; Tools/ChangeLog:9
&gt; +        but it didn&apos;t handle them time out did occur. Nearly all of those would result in

Grammar around “them time out”</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1401958</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2018-02-25 18:18:43 -0800</bug_when>
    <thetext>Committed http://trac.webkit.org/r228983</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334583</attachid>
            <date>2018-02-25 12:26:36 -0800</date>
            <delta_ts>2018-02-25 15:12:55 -0800</delta_ts>
            <desc>proposed fix</desc>
            <filename>StackCorruption.txt</filename>
            <type>text/plain</type>
            <size>19280</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIyODk3OSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDcyIEBACisyMDE4LTAyLTI1ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29t
PgorCisgICAgICAgIFZhcmlvdXMgY3Jhc2hlcyBpbiBXZWJLaXRUZXN0UnVubmVyLCBlc3BlY2lh
bGx5IHdoZW4gc3lzdGVtIGlzIHVuZGVyIGhlYXZ5IGxvYWQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzEwOQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYktpdFRlc3RSdW5uZXIgaGFkIG1hbnkgcGxh
Y2VzIHdoZXJlIGl0IHNlbnQgbWVzc2FnZXMgdG8gV2ViQ29udGVudCB3aXRoIHRpbWVvdXQsCisg
ICAgICAgIGJ1dCBpdCBkaWRuJ3QgaGFuZGxlIHRoZW0gdGltZSBvdXQgZGlkIG9jY3VyLiBOZWFy
bHkgYWxsIG9mIHRob3NlIHdvdWxkIHJlc3VsdCBpbgorICAgICAgICBsb2dpYyBlcnJvcnMgYW5k
IGZhaWxpbmcgdGVzdHMsIGFuZCBtb3N0IHdvdWxkIGV2ZW4gcmVzdWx0IGluIHN0YWNrIGNvcnJ1
cHRpb24sCisgICAgICAgIGFzIHRoZSByZXNwb25zZSBoYW5kbGVyIG1vZGlmaWVkIGxvY2FsIHZh
cmlhYmxlcy4KKworICAgICAgICBUaGVyZSBpcyBvbmx5IG9uZSB0aW1lb3V0IHNjZW5hcmlvIHRo
YXQgd2UgYWN0dWFsbHkgbWVhbiB0byBoYW5kbGUgaW4gV0tUUi4gVGhhdCdzCisgICAgICAgIHdo
ZW4gYSB0ZXN0IGZhaWxzIGFmdGVyIGl0IGlzIGRvbmUgKGUuZy4gYW4gaW5maW5pdGUgbG9vcCBp
biBiZWZvcmV1bmxvYWQpIC0gd2UgZG9uJ3QKKyAgICAgICAgd2FudCB0byBibGFtZSB0aGUgbmV4
dCB0ZXN0IGZvciBmcmVlemluZywgc28gd2Ugc2lsZW50bHkgcmVsYXVuY2ggV2ViQ29udGVudC4K
KyAgICAgICAgRXZlcnl0aGluZyBlbHNlIGlzIGNhcmdvIGN1bHQgY29kZSB0aGF0IG5ldmVyIHdv
cmtlZC4KKworICAgICAgICBUaGlzIHBhdGNoIGFkZHJlc3NlcyB0aGUgY3Jhc2hlcywgYW5kIGFj
dHVhbGx5IG1ha2VzIHRlc3RzIHBhc3MgYSBsb3QgbW9yZSBvbiBhbgorICAgICAgICBvdmVybG9h
ZGVkIHN5c3RlbS4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
Y3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cmVzZXRTdGF0ZVRvQ29uc2lzdGVu
dFZhbHVlcyk6IE1vdmVkIG1fZG9uZVJlc2V0dGluZyBhc3NpZ25tZW50CisgICAgICAgIHRvIHdo
ZXJlIGl0J3MgYWN0dWFsbHkgbmVlZGVkLCBmb3IgY2xhcml0eS4KKyAgICAgICAgKFdUUjo6VGVz
dENvbnRyb2xsZXI6OnJlYXR0YWNoUGFnZVRvV2ViUHJvY2Vzcyk6IFRoaXMgZnVuY3Rpb24gdXNl
ZCB0byBhbHdheXMgaGl0CisgICAgICAgIGFuZCBpZ25vcmUgbWVzc2FnZSB0aW1lb3V0LCBhcyBt
X2RvbmVSZXNldHRpbmcgaXMgb25seSB1cGRhdGVkIGJ5IG5hdmlnYXRpb24gY2FsbGJhY2sKKyAg
ICAgICAgd2hlbiB0aGUgc3RhdGUgaXMgUmVzZXR0aW5nLiBUaGlzIGNoYW5nZSBtYWtlcyBpdCBm
YXN0ZXIuCisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybVJlc2V0U3RhdGVU
b0NvbnNpc3RlbnRWYWx1ZXMpOiBTdHlsZSBmaXguCisgICAgICAgIChXVFI6OlRlc3RDb250cm9s
bGVyOjpjbGVhclNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25zKTogVGltaW5nIG91dCBoZXJlIHdh
c24ndAorICAgICAgICBoYW5kbGVkIGluIGEgbWVhbmluZ2Z1bCBtYW5uZXIsIGFuZCB3b3VsZCBl
dmVuIGNvcnJ1cHQgdGhlIHN0YWNrLgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6Y2xl
YXJET01DYWNoZSk6IERpdHRvLgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6Y2xlYXJE
T01DYWNoZXMpOiBEaXR0by4KKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6Omhhc0RPTUNh
Y2hlKTogRGl0dG8uCisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpkb21DYWNoZVNpemUp
OiBEaXR0by4KKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OmlzU3RhdGlzdGljc1ByZXZh
bGVudFJlc291cmNlKTogRGl0dG8uCisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjppc1N0
YXRpc3RpY3NSZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKTogRGl0dG8uCisgICAgICAgIChXVFI6
OlRlc3RDb250cm9sbGVyOjppc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRpcmVjdGluZ1RvKTog
RGl0dG8uCisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjppc1N0YXRpc3RpY3NIYXNIYWRV
c2VySW50ZXJhY3Rpb24pOiBEaXR0by4KKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6Omlz
U3RhdGlzdGljc0dyYW5kZmF0aGVyZWQpOiBEaXR0by4KKyAgICAgICAgKFdUUjo6VGVzdENvbnRy
b2xsZXI6OnN0YXRpc3RpY3NVcGRhdGVDb29raWVQYXJ0aXRpb25pbmcpOiBEaXR0by4KKyAgICAg
ICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnN0YXRpc3RpY3NTZXRTaG91bGRQYXJ0aXRpb25Db29r
aWVzRm9ySG9zdCk6IERpdHRvLgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6c3RhdGlz
dGljc0NsZWFySW5NZW1vcnlBbmRQZXJzaXN0ZW50U3RvcmUpOiBEaXR0by4KKyAgICAgICAgKFdU
Ujo6VGVzdENvbnRyb2xsZXI6OnN0YXRpc3RpY3NDbGVhckluTWVtb3J5QW5kUGVyc2lzdGVudFN0
b3JlTW9kaWZpZWRTaW5jZUhvdXJzKTogRGl0dG8uCisgICAgICAgIChXVFI6OlRlc3RDb250cm9s
bGVyOjpzdGF0aXN0aWNzQ2xlYXJUaHJvdWdoV2Vic2l0ZURhdGFSZW1vdmFsKTogRGl0dG8uCisK
KyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcDoKKyAgICAgICAg
KFdUUjo6VGVzdEludm9jYXRpb246OnNob3J0VGltZW91dCBjb25zdCk6IE1hZGUgc2hvcnRUaW1l
b3V0IHNob3J0ZXIgKG9uIGEgaHVuY2gpLgorICAgICAgICAoV1RSOjpUZXN0SW52b2NhdGlvbjo6
aW52b2tlKTogUmVtb3ZlZCBhIHRpbWVvdXQgd2FpdGluZyBmb3IgaW5pdGlhbCByZXNwb25zZS4g
VGhlcmUKKyAgICAgICAgaXMgbmV2ZXIgYSBsb2dpY2FsIHJlYXNvbiBmb3Igc3VjaCBhIHRpbWVv
dXQsIGFzIHdlIGFsd2F5cyBoYXZlIGEgbmV3IG9yIHJlc3BvbnNpdmUKKyAgICAgICAgV2ViQ29u
dGVudCBwcm9jZXNzIGhlcmUuCisgICAgICAgIChXVFI6OlRlc3RJbnZvY2F0aW9uOjpkdW1wUmVz
dWx0cyk6IFJlbW92ZWQgYW5vdGhlciB0aW1lb3V0IHRoYXQgd2UgZG9uJ3Qga25vdyBob3cgdG8K
KyAgICAgICAgcHJvcGVybHkgaGFuZGxlLgorICAgICAgICAoV1RSOjpUZXN0SW52b2NhdGlvbjo6
ZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGUpOiBSZW1vdmVkIGFzc2lnbm1lbnQg
dG8KKyAgICAgICAgbV9lcnJvck1lc3NhZ2UsIHdoaWNoIGhhZCBubyBlZmZlY3QgaW4gdGhpcyBj
b250ZXh0LgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oOiBS
ZW1vdmVkIG5vIGxvbmdlciB1c2VkIGNvZGUuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVy
L2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW06CisgICAgICAgIChXVFI6OlRlc3RDb250cm9s
bGVyOjpjb2NvYVJlc2V0U3RhdGVUb0NvbnNpc3RlbnRWYWx1ZXMpOiBVc2UgYSBuYW1lZCBjb25z
dGFudCBmb3IKKyAgICAgICAgbm8gdGltZW91dC4KKyAgICAgICAgCisgICAgICAgICogV2ViS2l0
VGVzdFJ1bm5lci9pb3MvVGVzdENvbnRyb2xsZXJJT1MubW06CisgICAgICAgIChXVFI6OlRlc3RD
b250cm9sbGVyOjpwbGF0Zm9ybUNvbmZpZ3VyZVZpZXdGb3JUZXN0KTogUmVtb3ZlZCBhIHVzZWxl
c3MgdGltZW91dC4KKyAgICAgICAgTm90IHN1cmUgaWYgdGltaW5nIG91dCBoZXJlIHdvdWxkIGNv
cnJ1cHQgdGhlIHN0YWNrIG9yIG5vdCwgYnV0IHRoZXJlIGlzIG5vIHJlYXNvbgorICAgICAgICB0
byBpbXBvc2UgYXJiaXRyYXJ5IGxpbWl0cyBvbiBpbmRpdmlkdWFsIHN0ZXBzIG9mIGEgdGVzdC4K
KworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvbWFjL1Rlc3RDb250cm9sbGVyTWFjLm1tOgor
ICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1Db25maWd1cmVWaWV3Rm9yVGVz
dCk6IFVzZSBhIG5hbWVkIGNvbnN0YW50IGZvcgorICAgICAgICBubyB0aW1lb3V0LgorCiAyMDE4
LTAyLTI1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgU2Vydmlj
ZSB3b3JrZXJzIGRvIG5vdCB3b3JrIHdlbGwgaW5zaWRlIFdlYi5hcHAKSW5kZXg6IFRvb2xzL1dl
YktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dl
YktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiAyMjg4NTApCisrKyBU
b29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtODUzLDkgKzg1Myw2IEBAIGJvb2wgVGVzdENvbnRyb2xsZXI6OnJlc2V0U3RhdGVUb0NvbnNp
c3QKIAogICAgIHBsYXRmb3JtUmVzZXRTdGF0ZVRvQ29uc2lzdGVudFZhbHVlcygpOwogCi0gICAg
Ly8gUmVzZXQgbWFpbiBwYWdlIGJhY2sgdG8gYWJvdXQ6YmxhbmsKLSAgICBtX2RvbmVSZXNldHRp
bmcgPSBmYWxzZTsKLQogICAgIG1fc2hvdWxkRGVjaWRlTmF2aWdhdGlvblBvbGljeUFmdGVyRGVs
YXkgPSBmYWxzZTsKIAogICAgIHNldE5hdmlnYXRpb25HZXN0dXJlc0VuYWJsZWQoZmFsc2UpOwpA
QCAtODY2LDYgKzg2Myw4IEBAIGJvb2wgVGVzdENvbnRyb2xsZXI6OnJlc2V0U3RhdGVUb0NvbnNp
c3QKICAgICAKICAgICBzdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOwogCisgICAg
Ly8gUmVzZXQgbWFpbiBwYWdlIGJhY2sgdG8gYWJvdXQ6YmxhbmsKKyAgICBtX2RvbmVSZXNldHRp
bmcgPSBmYWxzZTsKICAgICBXS1BhZ2VMb2FkVVJMKG1fbWFpbldlYlZpZXctPnBhZ2UoKSwgYmxh
bmtVUkwoKSk7CiAgICAgcnVuVW50aWwobV9kb25lUmVzZXR0aW5nLCBtX2N1cnJlbnRJbnZvY2F0
aW9uLT5zaG9ydFRpbWVvdXQoKSk7CiAgICAgcmV0dXJuIG1fZG9uZVJlc2V0dGluZzsKQEAgLTg3
OSw5ICs4NzgsMTAgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6dGVybWluYXRlV2ViQ29udGVudAog
dm9pZCBUZXN0Q29udHJvbGxlcjo6cmVhdHRhY2hQYWdlVG9XZWJQcm9jZXNzKCkKIHsKICAgICAv
LyBMb2FkaW5nIGEgd2ViIHBhZ2UgaXMgdGhlIG9ubHkgd2F5IHRvIHJlYXR0YWNoIGFuIGV4aXN0
aW5nIHBhZ2UgdG8gYSBwcm9jZXNzLgorICAgIFNldEZvclNjb3BlPFN0YXRlPiBjaGFuZ2VTdGF0
ZShtX3N0YXRlLCBSZXNldHRpbmcpOwogICAgIG1fZG9uZVJlc2V0dGluZyA9IGZhbHNlOwogICAg
IFdLUGFnZUxvYWRVUkwobV9tYWluV2ViVmlldy0+cGFnZSgpLCBibGFua1VSTCgpKTsKLSAgICBy
dW5VbnRpbChtX2RvbmVSZXNldHRpbmcsIG1fY3VycmVudEludm9jYXRpb24tPnNob3J0VGltZW91
dCgpKTsKKyAgICBydW5VbnRpbChtX2RvbmVSZXNldHRpbmcsIG5vVGltZW91dCk7CiB9CiAKIGNv
bnN0IGNoYXIqIFRlc3RDb250cm9sbGVyOjp3ZWJQcm9jZXNzTmFtZSgpCkBAIC0yMzYxLDcgKzIz
NjEsNiBAQCBXS0NvbnRleHRSZWYgVGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtQWRqCiAKIHZvaWQg
VGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtUmVzZXRTdGF0ZVRvQ29uc2lzdGVudFZhbHVlcygpCiB7
Ci0KIH0KIAogdW5zaWduZWQgVGVzdENvbnRyb2xsZXI6OmltYWdlQ291bnRJbkdlbmVyYWxQYXN0
ZWJvYXJkKCkgY29uc3QKQEAgLTI0MDEsOSArMjQwMCw3IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6
OmNsZWFyU2VydmljZVdvcmtlclIKICAgICBDbGVhclNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25z
Q2FsbGJhY2tDb250ZXh0IGNvbnRleHQoKnRoaXMpOwogCiAgICAgV0tXZWJzaXRlRGF0YVN0b3Jl
UmVtb3ZlQWxsU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbnMod2Vic2l0ZURhdGFTdG9yZSwgJmNv
bnRleHQsIGNsZWFyU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbnNDYWxsYmFjayk7Ci0KLSAgICBp
ZiAoIWNvbnRleHQuZG9uZSkKLSAgICAgICAgcnVuVW50aWwoY29udGV4dC5kb25lLCBtX2N1cnJl
bnRJbnZvY2F0aW9uLT5zaG9ydFRpbWVvdXQoKSk7CisgICAgcnVuVW50aWwoY29udGV4dC5kb25l
LCBub1RpbWVvdXQpOwogI2VuZGlmCiB9CiAKQEAgLTI0MzQsOSArMjQzMSw3IEBAIHZvaWQgVGVz
dENvbnRyb2xsZXI6OmNsZWFyRE9NQ2FjaGUoV0tTdHIKIAogICAgIGF1dG8gY2FjaGVPcmlnaW4g
PSBhZG9wdFdLKFdLU2VjdXJpdHlPcmlnaW5DcmVhdGVGcm9tU3RyaW5nKG9yaWdpbikpOwogICAg
IFdLV2Vic2l0ZURhdGFTdG9yZVJlbW92ZUZldGNoQ2FjaGVGb3JPcmlnaW4od2Vic2l0ZURhdGFT
dG9yZSwgY2FjaGVPcmlnaW4uZ2V0KCksICZjb250ZXh0LCBjbGVhckRPTUNhY2hlQ2FsbGJhY2sp
OwotCi0gICAgaWYgKCFjb250ZXh0LmRvbmUpCi0gICAgICAgIHJ1blVudGlsKGNvbnRleHQuZG9u
ZSwgbV9jdXJyZW50SW52b2NhdGlvbi0+c2hvcnRUaW1lb3V0KCkpOworICAgIHJ1blVudGlsKGNv
bnRleHQuZG9uZSwgbm9UaW1lb3V0KTsKICNlbmRpZgogfQogCkBAIC0yNDQ3LDggKzI0NDIsNyBA
QCB2b2lkIFRlc3RDb250cm9sbGVyOjpjbGVhckRPTUNhY2hlcygpCiAgICAgQ2xlYXJET01DYWNo
ZUNhbGxiYWNrQ29udGV4dCBjb250ZXh0KCp0aGlzKTsKIAogICAgIFdLV2Vic2l0ZURhdGFTdG9y
ZVJlbW92ZUFsbEZldGNoQ2FjaGVzKHdlYnNpdGVEYXRhU3RvcmUsICZjb250ZXh0LCBjbGVhckRP
TUNhY2hlQ2FsbGJhY2spOwotICAgIGlmICghY29udGV4dC5kb25lKQotICAgICAgICBydW5VbnRp
bChjb250ZXh0LmRvbmUsIG1fY3VycmVudEludm9jYXRpb24tPnNob3J0VGltZW91dCgpKTsKKyAg
ICBydW5VbnRpbChjb250ZXh0LmRvbmUsIG5vVGltZW91dCk7CiAjZW5kaWYKIH0KIApAQCAtMjQ4
NSw4ICsyNDc5LDcgQEAgYm9vbCBUZXN0Q29udHJvbGxlcjo6aGFzRE9NQ2FjaGUoV0tTdHJpbgog
ICAgIGF1dG8qIGRhdGFTdG9yZSA9IFdLQ29udGV4dEdldFdlYnNpdGVEYXRhU3RvcmUocGxhdGZv
cm1Db250ZXh0KCkpOwogICAgIEZldGNoQ2FjaGVPcmlnaW5zQ2FsbGJhY2tDb250ZXh0IGNvbnRl
eHQoKnRoaXMsIG9yaWdpbik7CiAgICAgV0tXZWJzaXRlRGF0YVN0b3JlR2V0RmV0Y2hDYWNoZU9y
aWdpbnMoZGF0YVN0b3JlLCAmY29udGV4dCwgZmV0Y2hDYWNoZU9yaWdpbnNDYWxsYmFjayk7Ci0g
ICAgaWYgKCFjb250ZXh0LmRvbmUpCi0gICAgICAgIHJ1blVudGlsKGNvbnRleHQuZG9uZSwgbV9j
dXJyZW50SW52b2NhdGlvbi0+c2hvcnRUaW1lb3V0KCkpOworICAgIHJ1blVudGlsKGNvbnRleHQu
ZG9uZSwgbm9UaW1lb3V0KTsKICAgICByZXR1cm4gY29udGV4dC5yZXN1bHQ7CiB9CiAKQEAgLTI1
MTUsOCArMjUwOCw3IEBAIHVpbnQ2NF90IFRlc3RDb250cm9sbGVyOjpkb21DYWNoZVNpemUoV0sK
ICAgICBhdXRvKiBkYXRhU3RvcmUgPSBXS0NvbnRleHRHZXRXZWJzaXRlRGF0YVN0b3JlKHBsYXRm
b3JtQ29udGV4dCgpKTsKICAgICBGZXRjaENhY2hlU2l6ZUZvck9yaWdpbkNhbGxiYWNrQ29udGV4
dCBjb250ZXh0KCp0aGlzKTsKICAgICBXS1dlYnNpdGVEYXRhU3RvcmVHZXRGZXRjaENhY2hlU2l6
ZUZvck9yaWdpbihkYXRhU3RvcmUsIG9yaWdpbiwgJmNvbnRleHQsIGZldGNoQ2FjaGVTaXplRm9y
T3JpZ2luQ2FsbGJhY2spOwotICAgIGlmICghY29udGV4dC5kb25lKQotICAgICAgICBydW5VbnRp
bChjb250ZXh0LmRvbmUsIG1fY3VycmVudEludm9jYXRpb24tPnNob3J0VGltZW91dCgpKTsKKyAg
ICBydW5VbnRpbChjb250ZXh0LmRvbmUsIG5vVGltZW91dCk7CiAgICAgcmV0dXJuIGNvbnRleHQu
cmVzdWx0OwogfQogCkBAIC0yNTYzLDggKzI1NTUsNyBAQCBib29sIFRlc3RDb250cm9sbGVyOjpp
c1N0YXRpc3RpY3NQcmV2YWxlCiAgICAgYXV0byogZGF0YVN0b3JlID0gV0tDb250ZXh0R2V0V2Vi
c2l0ZURhdGFTdG9yZShwbGF0Zm9ybUNvbnRleHQoKSk7CiAgICAgUmVzb3VyY2VTdGF0aXN0aWNz
Q2FsbGJhY2tDb250ZXh0IGNvbnRleHQoKnRoaXMpOwogICAgIFdLV2Vic2l0ZURhdGFTdG9yZUlz
U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKGRhdGFTdG9yZSwgaG9zdCwgJmNvbnRleHQsIHJl
c291cmNlU3RhdGlzdGljc0Jvb2xlYW5SZXN1bHRDYWxsYmFjayk7Ci0gICAgaWYgKCFjb250ZXh0
LmRvbmUpCi0gICAgICAgIHJ1blVudGlsKGNvbnRleHQuZG9uZSwgbV9jdXJyZW50SW52b2NhdGlv
bi0+c2hvcnRUaW1lb3V0KCkpOworICAgIHJ1blVudGlsKGNvbnRleHQuZG9uZSwgbm9UaW1lb3V0
KTsKICAgICByZXR1cm4gY29udGV4dC5yZXN1bHQ7CiB9CiAKQEAgLTI1NzMsOCArMjU2NCw3IEBA
IGJvb2wgVGVzdENvbnRyb2xsZXI6OmlzU3RhdGlzdGljc1JlZ2lzdGUKICAgICBhdXRvKiBkYXRh
U3RvcmUgPSBXS0NvbnRleHRHZXRXZWJzaXRlRGF0YVN0b3JlKHBsYXRmb3JtQ29udGV4dCgpKTsK
ICAgICBSZXNvdXJjZVN0YXRpc3RpY3NDYWxsYmFja0NvbnRleHQgY29udGV4dCgqdGhpcyk7CiAg
ICAgV0tXZWJzaXRlRGF0YVN0b3JlSXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzU3ViRnJhbWVVbmRl
cihkYXRhU3RvcmUsIHN1YkZyYW1lSG9zdCwgdG9wRnJhbWVIb3N0LCAmY29udGV4dCwgcmVzb3Vy
Y2VTdGF0aXN0aWNzQm9vbGVhblJlc3VsdENhbGxiYWNrKTsKLSAgICBpZiAoIWNvbnRleHQuZG9u
ZSkKLSAgICAgICAgcnVuVW50aWwoY29udGV4dC5kb25lLCBtX2N1cnJlbnRJbnZvY2F0aW9uLT5z
aG9ydFRpbWVvdXQoKSk7CisgICAgcnVuVW50aWwoY29udGV4dC5kb25lLCBub1RpbWVvdXQpOwog
ICAgIHJldHVybiBjb250ZXh0LnJlc3VsdDsKIH0KIApAQCAtMjU4Myw4ICsyNTczLDcgQEAgYm9v
bCBUZXN0Q29udHJvbGxlcjo6aXNTdGF0aXN0aWNzUmVnaXN0ZQogICAgIGF1dG8qIGRhdGFTdG9y
ZSA9IFdLQ29udGV4dEdldFdlYnNpdGVEYXRhU3RvcmUocGxhdGZvcm1Db250ZXh0KCkpOwogICAg
IFJlc291cmNlU3RhdGlzdGljc0NhbGxiYWNrQ29udGV4dCBjb250ZXh0KCp0aGlzKTsKICAgICBX
S1dlYnNpdGVEYXRhU3RvcmVJc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRpcmVjdGluZ1RvKGRh
dGFTdG9yZSwgaG9zdFJlZGlyZWN0ZWRGcm9tLCBob3N0UmVkaXJlY3RlZFRvLCAmY29udGV4dCwg
cmVzb3VyY2VTdGF0aXN0aWNzQm9vbGVhblJlc3VsdENhbGxiYWNrKTsKLSAgICBpZiAoIWNvbnRl
eHQuZG9uZSkKLSAgICAgICAgcnVuVW50aWwoY29udGV4dC5kb25lLCBtX2N1cnJlbnRJbnZvY2F0
aW9uLT5zaG9ydFRpbWVvdXQoKSk7CisgICAgcnVuVW50aWwoY29udGV4dC5kb25lLCBub1RpbWVv
dXQpOwogICAgIHJldHVybiBjb250ZXh0LnJlc3VsdDsKIH0KIApAQCAtMjYwNSw4ICsyNTk0LDcg
QEAgYm9vbCBUZXN0Q29udHJvbGxlcjo6aXNTdGF0aXN0aWNzSGFzSGFkVQogICAgIGF1dG8qIGRh
dGFTdG9yZSA9IFdLQ29udGV4dEdldFdlYnNpdGVEYXRhU3RvcmUocGxhdGZvcm1Db250ZXh0KCkp
OwogICAgIFJlc291cmNlU3RhdGlzdGljc0NhbGxiYWNrQ29udGV4dCBjb250ZXh0KCp0aGlzKTsK
ICAgICBXS1dlYnNpdGVEYXRhU3RvcmVJc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24o
ZGF0YVN0b3JlLCBob3N0LCAmY29udGV4dCwgcmVzb3VyY2VTdGF0aXN0aWNzQm9vbGVhblJlc3Vs
dENhbGxiYWNrKTsKLSAgICBpZiAoIWNvbnRleHQuZG9uZSkKLSAgICAgICAgcnVuVW50aWwoY29u
dGV4dC5kb25lLCBtX2N1cnJlbnRJbnZvY2F0aW9uLT5zaG9ydFRpbWVvdXQoKSk7CisgICAgcnVu
VW50aWwoY29udGV4dC5kb25lLCBub1RpbWVvdXQpOwogICAgIHJldHVybiBjb250ZXh0LnJlc3Vs
dDsKIH0KIApAQCAtMjYyMSw4ICsyNjA5LDcgQEAgYm9vbCBUZXN0Q29udHJvbGxlcjo6aXNTdGF0
aXN0aWNzR3JhbmRmYQogICAgIGF1dG8qIGRhdGFTdG9yZSA9IFdLQ29udGV4dEdldFdlYnNpdGVE
YXRhU3RvcmUocGxhdGZvcm1Db250ZXh0KCkpOwogICAgIFJlc291cmNlU3RhdGlzdGljc0NhbGxi
YWNrQ29udGV4dCBjb250ZXh0KCp0aGlzKTsKICAgICBXS1dlYnNpdGVEYXRhU3RvcmVJc1N0YXRp
c3RpY3NHcmFuZGZhdGhlcmVkKGRhdGFTdG9yZSwgaG9zdCwgJmNvbnRleHQsIHJlc291cmNlU3Rh
dGlzdGljc0Jvb2xlYW5SZXN1bHRDYWxsYmFjayk7Ci0gICAgaWYgKCFjb250ZXh0LmRvbmUpCi0g
ICAgICAgIHJ1blVudGlsKGNvbnRleHQuZG9uZSwgbV9jdXJyZW50SW52b2NhdGlvbi0+c2hvcnRU
aW1lb3V0KCkpOworICAgIHJ1blVudGlsKGNvbnRleHQuZG9uZSwgbm9UaW1lb3V0KTsKICAgICBy
ZXR1cm4gY29udGV4dC5yZXN1bHQ7CiB9CiAKQEAgLTI2ODUsOCArMjY3Miw3IEBAIHZvaWQgVGVz
dENvbnRyb2xsZXI6OnN0YXRpc3RpY3NVcGRhdGVDb28KICAgICBhdXRvKiBkYXRhU3RvcmUgPSBX
S0NvbnRleHRHZXRXZWJzaXRlRGF0YVN0b3JlKHBsYXRmb3JtQ29udGV4dCgpKTsKICAgICBSZXNv
dXJjZVN0YXRpc3RpY3NDYWxsYmFja0NvbnRleHQgY29udGV4dCgqdGhpcyk7CiAgICAgV0tXZWJz
aXRlRGF0YVN0b3JlU3RhdGlzdGljc1VwZGF0ZUNvb2tpZVBhcnRpdGlvbmluZyhkYXRhU3RvcmUs
ICZjb250ZXh0LCByZXNvdXJjZVN0YXRpc3RpY3NWb2lkUmVzdWx0Q2FsbGJhY2spOwotICAgIGlm
ICghY29udGV4dC5kb25lKQotICAgICAgICBydW5VbnRpbChjb250ZXh0LmRvbmUsIG1fY3VycmVu
dEludm9jYXRpb24tPnNob3J0VGltZW91dCgpKTsKKyAgICBydW5VbnRpbChjb250ZXh0LmRvbmUs
IG5vVGltZW91dCk7CiAgICAgbV9jdXJyZW50SW52b2NhdGlvbi0+ZGlkU2V0UGFydGl0aW9uT3JC
bG9ja0Nvb2tpZXNGb3JIb3N0KCk7CiB9CiAKQEAgLTI2OTUsOCArMjY4MSw3IEBAIHZvaWQgVGVz
dENvbnRyb2xsZXI6OnN0YXRpc3RpY3NTZXRTaG91bGQKICAgICBhdXRvKiBkYXRhU3RvcmUgPSBX
S0NvbnRleHRHZXRXZWJzaXRlRGF0YVN0b3JlKHBsYXRmb3JtQ29udGV4dCgpKTsKICAgICBSZXNv
dXJjZVN0YXRpc3RpY3NDYWxsYmFja0NvbnRleHQgY29udGV4dCgqdGhpcyk7CiAgICAgV0tXZWJz
aXRlRGF0YVN0b3JlU2V0U3RhdGlzdGljc1Nob3VsZFBhcnRpdGlvbkNvb2tpZXNGb3JIb3N0KGRh
dGFTdG9yZSwgaG9zdCwgdmFsdWUsICZjb250ZXh0LCByZXNvdXJjZVN0YXRpc3RpY3NWb2lkUmVz
dWx0Q2FsbGJhY2spOwotICAgIGlmICghY29udGV4dC5kb25lKQotICAgICAgICBydW5VbnRpbChj
b250ZXh0LmRvbmUsIG1fY3VycmVudEludm9jYXRpb24tPnNob3J0VGltZW91dCgpKTsKKyAgICBy
dW5VbnRpbChjb250ZXh0LmRvbmUsIG5vVGltZW91dCk7CiAgICAgbV9jdXJyZW50SW52b2NhdGlv
bi0+ZGlkU2V0UGFydGl0aW9uT3JCbG9ja0Nvb2tpZXNGb3JIb3N0KCk7CiB9CiAKQEAgLTI3NTMs
OCArMjczOCw3IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OnN0YXRpc3RpY3NDbGVhckluTWUKICAg
ICBhdXRvKiBkYXRhU3RvcmUgPSBXS0NvbnRleHRHZXRXZWJzaXRlRGF0YVN0b3JlKHBsYXRmb3Jt
Q29udGV4dCgpKTsKICAgICBSZXNvdXJjZVN0YXRpc3RpY3NDYWxsYmFja0NvbnRleHQgY29udGV4
dCgqdGhpcyk7CiAgICAgV0tXZWJzaXRlRGF0YVN0b3JlU3RhdGlzdGljc0NsZWFySW5NZW1vcnlB
bmRQZXJzaXN0ZW50U3RvcmUoZGF0YVN0b3JlLCAmY29udGV4dCwgcmVzb3VyY2VTdGF0aXN0aWNz
Vm9pZFJlc3VsdENhbGxiYWNrKTsKLSAgICBpZiAoIWNvbnRleHQuZG9uZSkKLSAgICAgICAgcnVu
VW50aWwoY29udGV4dC5kb25lLCBtX2N1cnJlbnRJbnZvY2F0aW9uLT5zaG9ydFRpbWVvdXQoKSk7
CisgICAgcnVuVW50aWwoY29udGV4dC5kb25lLCBub1RpbWVvdXQpOwogICAgIG1fY3VycmVudElu
dm9jYXRpb24tPmRpZENsZWFyU3RhdGlzdGljc1Rocm91Z2hXZWJzaXRlRGF0YVJlbW92YWwoKTsK
IH0KIApAQCAtMjc2Myw4ICsyNzQ3LDcgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6c3RhdGlzdGlj
c0NsZWFySW5NZQogICAgIGF1dG8qIGRhdGFTdG9yZSA9IFdLQ29udGV4dEdldFdlYnNpdGVEYXRh
U3RvcmUocGxhdGZvcm1Db250ZXh0KCkpOwogICAgIFJlc291cmNlU3RhdGlzdGljc0NhbGxiYWNr
Q29udGV4dCBjb250ZXh0KCp0aGlzKTsKICAgICBXS1dlYnNpdGVEYXRhU3RvcmVTdGF0aXN0aWNz
Q2xlYXJJbk1lbW9yeUFuZFBlcnNpc3RlbnRTdG9yZU1vZGlmaWVkU2luY2VIb3VycyhkYXRhU3Rv
cmUsIGhvdXJzLCAmY29udGV4dCwgcmVzb3VyY2VTdGF0aXN0aWNzVm9pZFJlc3VsdENhbGxiYWNr
KTsKLSAgICBpZiAoIWNvbnRleHQuZG9uZSkKLSAgICAgICAgcnVuVW50aWwoY29udGV4dC5kb25l
LCBtX2N1cnJlbnRJbnZvY2F0aW9uLT5zaG9ydFRpbWVvdXQoKSk7CisgICAgcnVuVW50aWwoY29u
dGV4dC5kb25lLCBub1RpbWVvdXQpOwogICAgIG1fY3VycmVudEludm9jYXRpb24tPmRpZENsZWFy
U3RhdGlzdGljc1Rocm91Z2hXZWJzaXRlRGF0YVJlbW92YWwoKTsKIH0KIApAQCAtMjc3Myw4ICsy
NzU2LDcgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6c3RhdGlzdGljc0NsZWFyVGhybwogICAgIGF1
dG8qIGRhdGFTdG9yZSA9IFdLQ29udGV4dEdldFdlYnNpdGVEYXRhU3RvcmUocGxhdGZvcm1Db250
ZXh0KCkpOwogICAgIFJlc291cmNlU3RhdGlzdGljc0NhbGxiYWNrQ29udGV4dCBjb250ZXh0KCp0
aGlzKTsKICAgICBXS1dlYnNpdGVEYXRhU3RvcmVTdGF0aXN0aWNzQ2xlYXJUaHJvdWdoV2Vic2l0
ZURhdGFSZW1vdmFsKGRhdGFTdG9yZSwgJmNvbnRleHQsIHJlc291cmNlU3RhdGlzdGljc1ZvaWRS
ZXN1bHRDYWxsYmFjayk7Ci0gICAgaWYgKCFjb250ZXh0LmRvbmUpCi0gICAgICAgIHJ1blVudGls
KGNvbnRleHQuZG9uZSwgbV9jdXJyZW50SW52b2NhdGlvbi0+c2hvcnRUaW1lb3V0KCkpOworICAg
IHJ1blVudGlsKGNvbnRleHQuZG9uZSwgbm9UaW1lb3V0KTsKICAgICBtX2N1cnJlbnRJbnZvY2F0
aW9uLT5kaWRDbGVhclN0YXRpc3RpY3NUaHJvdWdoV2Vic2l0ZURhdGFSZW1vdmFsKCk7CiB9CiAK
SW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCShyZXZpc2lv
biAyMjg4NTApCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTA5LDcgKzEwOSw3IEBAIGRvdWJsZSBUZXN0SW52b2NhdGlvbjo6
c2hvcnRUaW1lb3V0KCkgY28KICAgICAvLyBidXQgaXQgY3VycmVudGx5IGRvZXMuIFRoZXJlIGlz
IG5vIHdheSB0byBrbm93IHdoYXQgYSBub3JtYWwgdGVzdCdzIHRpbWVvdXQgaXMsIGFzIHdlYmtp
dHB5IG9ubHkgcGFzc2VzIHRpbWVvdXRzCiAgICAgLy8gZm9yIGVhY2ggdGVzdCBpbmRpdmlkdWFs
bHkuCiAgICAgLy8gQnV0IHRoZXJlIHNob3VsZG4ndCBiZSBhbnkgb2JzZXJ2YWJsZSBuZWdhdGl2
ZSBjb25zZXF1ZW5jZXMgZnJvbSB0aGlzLgotICAgIHJldHVybiBtX3RpbWVvdXQgLyAxMDAwLiAv
IDI7CisgICAgcmV0dXJuIG1fdGltZW91dCAvIDEwMDAuIC8gNDsKIH0KIAogYm9vbCBUZXN0SW52
b2NhdGlvbjo6c2hvdWxkTG9nRnJhbWVMb2FkRGVsZWdhdGVzKCkgY29uc3QKQEAgLTE2NywxMiAr
MTY3LDcgQEAgdm9pZCBUZXN0SW52b2NhdGlvbjo6aW52b2tlKCkKIAogICAgIGJvb2wgc2hvdWxk
T3BlbkV4dGVybmFsVVJMcyA9IGZhbHNlOwogCi0gICAgVGVzdENvbnRyb2xsZXI6OnNpbmdsZXRv
bigpLnJ1blVudGlsKG1fZ290SW5pdGlhbFJlc3BvbnNlLCBzaG9ydFRpbWVvdXQoKSk7Ci0gICAg
aWYgKCFtX2dvdEluaXRpYWxSZXNwb25zZSkgewotICAgICAgICBtX2Vycm9yTWVzc2FnZSA9ICJU
aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5pdGlhbCByZXNwb25zZSBmcm9tIHdlYiBwcm9jZXNzXG4i
OwotICAgICAgICBtX3dlYlByb2Nlc3NJc1VucmVzcG9uc2l2ZSA9IHRydWU7Ci0gICAgICAgIGdv
dG8gZW5kOwotICAgIH0KKyAgICBUZXN0Q29udHJvbGxlcjo6c2luZ2xldG9uKCkucnVuVW50aWwo
bV9nb3RJbml0aWFsUmVzcG9uc2UsIFRlc3RDb250cm9sbGVyOjpub1RpbWVvdXQpOwogICAgIGlm
IChtX2Vycm9yKQogICAgICAgICBnb3RvIGVuZDsKIApAQCAtMTkwLDkgKzE4NSw3IEBAIGVuZDoK
ICAgICAgICAgV0tJbnNwZWN0b3JDbG9zZShXS1BhZ2VHZXRJbnNwZWN0b3IoVGVzdENvbnRyb2xs
ZXI6OnNpbmdsZXRvbigpLm1haW5XZWJWaWV3KCktPnBhZ2UoKSkpOwogI2VuZGlmIC8vICFQTEFU
Rk9STShJT1MpCiAKLSAgICBpZiAobV93ZWJQcm9jZXNzSXNVbnJlc3BvbnNpdmUpCi0gICAgICAg
IGR1bXBXZWJQcm9jZXNzVW5yZXNwb25zaXZlbmVzcygpOwotICAgIGVsc2UgaWYgKFRlc3RDb250
cm9sbGVyOjpzaW5nbGV0b24oKS5yZXNldFN0YXRlVG9Db25zaXN0ZW50VmFsdWVzKG1fb3B0aW9u
cykpCisgICAgaWYgKFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5yZXNldFN0YXRlVG9Db25z
aXN0ZW50VmFsdWVzKG1fb3B0aW9ucykpCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIFRoZSBw
cm9jZXNzIGlzIHVucmVzcG9uc2l2ZSwgc28gbGV0J3Mgc3RhcnQgYSBuZXcgb25lLgpAQCAtMjAx
LDExICsxOTQsNiBAQCBlbmQ6CiAgICAgVGVzdENvbnRyb2xsZXI6OnNpbmdsZXRvbigpLnJlYXR0
YWNoUGFnZVRvV2ViUHJvY2VzcygpOwogfQogCi12b2lkIFRlc3RJbnZvY2F0aW9uOjpkdW1wV2Vi
UHJvY2Vzc1VucmVzcG9uc2l2ZW5lc3MoKQotewotICAgIGR1bXBXZWJQcm9jZXNzVW5yZXNwb25z
aXZlbmVzcyhtX2Vycm9yTWVzc2FnZS5jX3N0cigpKTsKLX0KLQogdm9pZCBUZXN0SW52b2NhdGlv
bjo6ZHVtcFdlYlByb2Nlc3NVbnJlc3BvbnNpdmVuZXNzKGNvbnN0IGNoYXIqIGVycm9yTWVzc2Fn
ZSkKIHsKICAgICBmcHJpbnRmKHN0ZGVyciwgIiVzIiwgZXJyb3JNZXNzYWdlKTsKQEAgLTI3MSwx
MyArMjU5LDcgQEAgdm9pZCBUZXN0SW52b2NhdGlvbjo6ZHVtcFJlc3VsdHMoKQogICAgICAgICBl
bHNlIGlmIChtX3BpeGVsUmVzdWx0SXNQZW5kaW5nKSB7CiAgICAgICAgICAgICBtX2dvdFJlcGFp
bnQgPSBmYWxzZTsKICAgICAgICAgICAgIFdLUGFnZUZvcmNlUmVwYWludChUZXN0Q29udHJvbGxl
cjo6c2luZ2xldG9uKCkubWFpbldlYlZpZXcoKS0+cGFnZSgpLCB0aGlzLCBUZXN0SW52b2NhdGlv
bjo6Zm9yY2VSZXBhaW50RG9uZUNhbGxiYWNrKTsKLSAgICAgICAgICAgIFRlc3RDb250cm9sbGVy
OjpzaW5nbGV0b24oKS5ydW5VbnRpbChtX2dvdFJlcGFpbnQsIHNob3J0VGltZW91dCgpKTsKLSAg
ICAgICAgICAgIGlmICghbV9nb3RSZXBhaW50KSB7Ci0gICAgICAgICAgICAgICAgbV9lcnJvck1l
c3NhZ2UgPSAiVGltZWQgb3V0IHdhaXRpbmcgZm9yIHByZS1waXhlbCBkdW1wIHJlcGFpbnRcbiI7
Ci0gICAgICAgICAgICAgICAgbV93ZWJQcm9jZXNzSXNVbnJlc3BvbnNpdmUgPSB0cnVlOwotICAg
ICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLQorICAgICAgICAgICAgVGVzdENv
bnRyb2xsZXI6OnNpbmdsZXRvbigpLnJ1blVudGlsKG1fZ290UmVwYWludCwgVGVzdENvbnRyb2xs
ZXI6Om5vVGltZW91dCk7CiAgICAgICAgICAgICBkdW1wUGl4ZWxzQW5kQ29tcGFyZVdpdGhFeHBl
Y3RlZChTbmFwc2hvdFJlc3VsdFR5cGU6OldlYlZpZXcsIG1fcmVwYWludFJlY3RzLmdldCgpKTsK
ICAgICAgICAgfQogICAgIH0KQEAgLTMyNSw3ICszMDcsNiBAQCB2b2lkIFRlc3RJbnZvY2F0aW9u
OjpkaWRSZWNlaXZlTWVzc2FnZUZyCiAgICAgICAgIG1fZ290SW5pdGlhbFJlc3BvbnNlID0gdHJ1
ZTsKICAgICAgICAgbV9nb3RGaW5hbE1lc3NhZ2UgPSB0cnVlOwogICAgICAgICBtX2Vycm9yID0g
dHJ1ZTsKLSAgICAgICAgbV9lcnJvck1lc3NhZ2UgPSAiRkFJTFxuIjsKICAgICAgICAgVGVzdENv
bnRyb2xsZXI6OnNpbmdsZXRvbigpLm5vdGlmeURvbmUoKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgJKHJldmlzaW9u
IDIyODg1MCkKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uaAkod29y
a2luZyBjb3B5KQpAQCAtNjAsNyArNjAsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRSZWNlaXZl
TWVzc2FnZUZyb21JbmplY3RlZEJ1bmRsZShXS1N0cmluZ1JlZiBtZXNzYWdlTmFtZSwgV0tUeXBl
UmVmIG1lc3NhZ2VCb2R5KTsKICAgICBXS1JldGFpblB0cjxXS1R5cGVSZWY+IGRpZFJlY2VpdmVT
eW5jaHJvbm91c01lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGUoV0tTdHJpbmdSZWYgbWVzc2FnZU5h
bWUsIFdLVHlwZVJlZiBtZXNzYWdlQm9keSk7CiAKLSAgICB2b2lkIGR1bXBXZWJQcm9jZXNzVW5y
ZXNwb25zaXZlbmVzcygpOwogICAgIHN0YXRpYyB2b2lkIGR1bXBXZWJQcm9jZXNzVW5yZXNwb25z
aXZlbmVzcyhjb25zdCBjaGFyKiBlcnJvck1lc3NhZ2UpOwogICAgIHZvaWQgb3V0cHV0VGV4dChj
b25zdCBXVEY6OlN0cmluZyYpOwogCkBAIC0xMTksMTMgKzExOCwxMSBAQCBwcml2YXRlOgogCiAg
ICAgYm9vbCBtX2R1bXBQaXhlbHMgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9waXhlbFJlc3VsdElz
UGVuZGluZyB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX3dlYlByb2Nlc3NJc1VucmVzcG9uc2l2ZSB7
IGZhbHNlIH07CiAKICAgICBTdHJpbmdCdWlsZGVyIG1fdGV4dE91dHB1dDsKICAgICBXS1JldGFp
blB0cjxXS0RhdGFSZWY+IG1fYXVkaW9SZXN1bHQ7CiAgICAgV0tSZXRhaW5QdHI8V0tJbWFnZVJl
Zj4gbV9waXhlbFJlc3VsdDsKICAgICBXS1JldGFpblB0cjxXS0FycmF5UmVmPiBtX3JlcGFpbnRS
ZWN0czsKLSAgICBzdGQ6OnN0cmluZyBtX2Vycm9yTWVzc2FnZTsKICAgICAKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8VUlTY3JpcHRDb250ZXh0PiBtX1VJU2NyaXB0Q29udGV4dDsKICAgICBVSVNjcmlw
dEludm9jYXRpb25EYXRhKiBtX3BlbmRpbmdVSVNjcmlwdEludm9jYXRpb25EYXRhIHsgbnVsbHB0
ciB9OwpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0Q29udHJvbGxlckNv
Y29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdENv
bnRyb2xsZXJDb2NvYS5tbQkocmV2aXNpb24gMjI4ODUwKQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9jb2NvYS9UZXN0Q29udHJvbGxlckNvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xOTUs
NyArMTk1LDcgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6Y29jb2FSZXNldFN0YXRlVG9DbwogICAg
IFtbX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZSBkZWZhdWx0U3RvcmVdIHJlbW92ZUNvbnRl
bnRFeHRlbnNpb25Gb3JJZGVudGlmaWVyOkAiVGVzdENvbnRlbnRFeHRlbnNpb25zIiBjb21wbGV0
aW9uSGFuZGxlcjpeKE5TRXJyb3IgKmVycm9yKSB7CiAgICAgICAgIGRvbmVSZW1vdmluZyA9IHRy
dWU7CiAgICAgfV07Ci0gICAgcGxhdGZvcm1SdW5VbnRpbChkb25lUmVtb3ZpbmcsIDApOworICAg
IHBsYXRmb3JtUnVuVW50aWwoZG9uZVJlbW92aW5nLCBub1RpbWVvdXQpOwogICAgIFtbX1dLVXNl
ckNvbnRlbnRFeHRlbnNpb25TdG9yZSBkZWZhdWx0U3RvcmVdIF9yZW1vdmVBbGxDb250ZW50RXh0
ZW5zaW9uc107CiAKICAgICBpZiAoUGxhdGZvcm1XZWJWaWV3KiB3ZWJWaWV3ID0gbWFpbldlYlZp
ZXcoKSkKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1Rlc3RDb250cm9sbGVySU9T
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1Rlc3RDb250cm9s
bGVySU9TLm1tCShyZXZpc2lvbiAyMjg4NTApCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL2lv
cy9UZXN0Q29udHJvbGxlcklPUy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTE5LDkgKzExOSw3IEBA
IHZvaWQgVGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtQ29uZmlndXJlVmkKICAgICAgICAgICAgIGRv
bmVSZXNpemluZyA9IHRydWU7CiAgICAgICAgIH1dOwogCi0gICAgICAgIHBsYXRmb3JtUnVuVW50
aWwoZG9uZVJlc2l6aW5nLCAxMCk7Ci0gICAgICAgIGlmICghZG9uZVJlc2l6aW5nKQotICAgICAg
ICAgICAgV1RGTG9nQWx3YXlzKCJUaW1lZCBvdXQgd2FpdGluZyBmb3IgdmlldyByZXNpemUgdG8g
Y29tcGxldGUgaW4gcGxhdGZvcm1Db25maWd1cmVWaWV3Rm9yVGVzdCgpIik7CisgICAgICAgIHBs
YXRmb3JtUnVuVW50aWwoZG9uZVJlc2l6aW5nLCBub1RpbWVvdXQpOwogICAgIH0KICAgICAKICAg
ICAvLyBXZSBhbHNvIHBhc3MgZGF0YSB0byBJbmplY3RlZEJ1bmRsZTo6YmVnaW5UZXN0aW5nKCkg
dG8gaGF2ZSBpdCBjYWxsCkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9UZXN0Q29u
dHJvbGxlck1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9U
ZXN0Q29udHJvbGxlck1hYy5tbQkocmV2aXNpb24gMjI4ODUwKQorKysgVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9tYWMvVGVzdENvbnRyb2xsZXJNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTE0OSw3
ICsxNDksNyBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUNvbmZpZ3VyZVZpCiAgICAg
ICAgICAgICBOU0xvZyhAIiVAIiwgW2Vycm9yIGhlbHBBbmNob3JdKTsKICAgICAgICAgZG9uZUNv
bXBpbGluZyA9IHRydWU7CiAgICAgfV07Ci0gICAgcGxhdGZvcm1SdW5VbnRpbChkb25lQ29tcGls
aW5nLCAwKTsKKyAgICBwbGF0Zm9ybVJ1blVudGlsKGRvbmVDb21waWxpbmcsIG5vVGltZW91dCk7
CiAjZW5kaWYKIH0KIAo=
</data>
<flag name="review"
          id="353336"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>