<?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>169448</bug_id>
          
          <creation_ts>2017-03-09 15:05:32 -0800</creation_ts>
          <short_desc>Resource Load Statistics: Remove statistics data as part of full website data removal</short_desc>
          <delta_ts>2017-03-09 16:46:34 -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>WebKit2</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="John Wilander">wilander</reporter>
          <assigned_to name="John Wilander">wilander</assigned_to>
          <cc>achristensen</cc>
    
    <cc>aestes</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>japhet</cc>
    
    <cc>wilander</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1285630</commentid>
    <comment_count>0</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-03-09 15:05:32 -0800</bug_when>
    <thetext>When a user removes all website data we should remove all resource load statistics too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285651</commentid>
    <comment_count>1</comment_count>
      <attachid>304004</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-03-09 15:49:23 -0800</bug_when>
    <thetext>Created attachment 304004
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285681</commentid>
    <comment_count>2</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-03-09 16:40:43 -0800</bug_when>
    <thetext>Thanks, Alex! I appreciate it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285688</commentid>
    <comment_count>3</comment_count>
      <attachid>304004</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-09 16:46:29 -0800</bug_when>
    <thetext>Comment on attachment 304004
Patch

Clearing flags on attachment: 304004

Committed r213688: &lt;http://trac.webkit.org/changeset/213688&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285689</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-09 16:46:34 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>304004</attachid>
            <date>2017-03-09 15:49:23 -0800</date>
            <delta_ts>2017-03-09 16:46:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169448-20170309154925.patch</filename>
            <type>text/plain</type>
            <size>25657</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMzY1NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDE3LTAzLTA5ICBKb2huIFdp
bGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlc291cmNlIExvYWQgU3Rh
dGlzdGljczogUmVtb3ZlIHN0YXRpc3RpY3MgZGF0YSBhcyBwYXJ0IG9mIGZ1bGwgd2Vic2l0ZSBk
YXRhIHJlbW92YWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE2OTQ0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRlc3Q6IGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsZWFy
LWluLW1lbW9yeS1hbmQtcGVyc2lzdGVudC1zdG9yZS5odG1sCisKKyAgICAgICAgKiBsb2FkZXIv
UmVzb3VyY2VMb2FkT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2Fk
T2JzZXJ2ZXI6OmNsZWFySW5NZW1vcnlBbmRQZXJzaXN0ZW50U3RvcmUpOgorICAgICAgICAgICAg
VGhlIHZlcnNpb24gb2YgdGhpcyBmdW5jdGlvbiB0aGF0IHRha2VzIGEgbW9kaWZpZWRTaW5jZSBw
YXJhbWV0ZXIKKyAgICAgICAgICAgIGNoZWNrcyBpZiBpdCBpcyBlcXVhbCB0byBvciBsZXNzIHRo
YW4gdGhlIHN0YXJ0IG9mIHRoZSBVbml4IGVwb2NoLgorICAgICAgICAgICAgSWYgc28sIGl0IGNs
ZWFycyB0aGUgc3RvcmUuIFRoaXMgaXMgdG8gc3VwcG9ydCBjbGVhciBhbGwgd2Vic2l0ZQorICAg
ICAgICAgICAgZGF0YS4KKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaDoK
KyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6Y2xlYXJJbk1lbW9yeUFu
ZFBlcnNpc3RlbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0
b3JlOjpzZXRXcml0ZVBlcnNpc3RlbnRTdG9yZUNhbGxiYWNrKToKKyAgICAgICAgKiBsb2FkZXIv
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmg6CisgICAgICAgICAgICBBZGRlZCBtX3dyaXRl
UGVyc2lzdGVudFN0b3JlSGFuZGxlciwgYSBzZXR0ZXIgZm9yIGl0LCBhbmQKKyAgICAgICAgICAg
IFJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6Y2xlYXJJbk1lbW9yeUFuZFBlcnNpc3RlbnQo
KS4KKwogMjAxNy0wMy0wOSAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAgICAg
ICAgTWFrZSB0aGUgVk0gVHJhcHMgbWVjaGFuaXNtIG5vbi1wb2xsaW5nIGZvciB0aGUgREZHIGFu
ZCBGVEwuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRPYnNl
cnZlci5jcHAJKHJldmlzaW9uIDIxMzY1NSkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNv
dXJjZUxvYWRPYnNlcnZlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY4LDYgKzY4LDE4IEBAIHZv
aWQgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNldFN0YXRpc3RpY3MKICAgICBtX3N0b3JlID0gV1RG
TW92ZShzdG9yZSk7CiB9CiAKK3ZvaWQgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OmNsZWFySW5NZW1v
cnlBbmRQZXJzaXN0ZW50U3RvcmUoKQoreworICAgIG1fc3RvcmUtPmNsZWFySW5NZW1vcnlBbmRQ
ZXJzaXN0ZW50KCk7Cit9CisKK3ZvaWQgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OmNsZWFySW5NZW1v
cnlBbmRQZXJzaXN0ZW50U3RvcmUoc3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6dGltZV9wb2lu
dCBtb2RpZmllZFNpbmNlKQoreworICAgIGF1dG8gdGhlbiA9IHN0ZDo6Y2hyb25vOjpzeXN0ZW1f
Y2xvY2s6OnRvX3RpbWVfdChtb2RpZmllZFNpbmNlKTsKKyAgICBpZiAodGhlbiA8PSAwKQorICAg
ICAgICBjbGVhckluTWVtb3J5QW5kUGVyc2lzdGVudFN0b3JlKCk7Cit9CisKIHN0YXRpYyBpbmxp
bmUgYm9vbCBpczN4eFJlZGlyZWN0KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQog
ewogICAgIHJldHVybiByZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpID49IDMwMCAmJiByZXNwb25z
ZS5odHRwU3RhdHVzQ29kZSgpIDw9IDM5OTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9S
ZXNvdXJjZUxvYWRPYnNlcnZlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRl
ci9SZXNvdXJjZUxvYWRPYnNlcnZlci5oCShyZXZpc2lvbiAyMTM2NTUpCisrKyBTb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNzAs
NiArNzAsOCBAQCBwdWJsaWM6CiAKICAgICBXRUJDT1JFX0VYUE9SVCBSZWZQdHI8UmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlPiBzdGF0aXN0aWNzU3RvcmUoKTsKICAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIHNldFN0YXRpc3RpY3NTdG9yZShSZWY8UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3Jl
PiYmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGNsZWFySW5NZW1vcnlBbmRQZXJzaXN0ZW50
U3RvcmUoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGNsZWFySW5NZW1vcnlBbmRQZXJzaXN0
ZW50U3RvcmUoc3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6dGltZV9wb2ludCBtb2RpZmllZFNp
bmNlKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBzdGF0aXN0aWNzRm9yT3JpZ2luKGNv
bnN0IFN0cmluZyYpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1N0b3JlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIv
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcAkocmV2aXNpb24gMjEzNjU1KQorKysgU291
cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTExMSw2ICsxMTEsMTMgQEAgdm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
U3RvcmU6OnJlYWREYQogICAgIGZpcmVTaG91bGRQYXJ0aXRpb25Db29raWVzSGFuZGxlcihwcmV2
YWxlbnRSZXNvdXJjZURvbWFpbnNXaXRob3V0VXNlckludGVyYWN0aW9uLCB0cnVlKTsKIH0KIAor
dm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OmNsZWFySW5NZW1vcnlBbmRQZXJzaXN0
ZW50KCkKK3sKKyAgICBjbGVhcigpOworICAgIGlmIChtX3dyaXRlUGVyc2lzdGVudFN0b3JlSGFu
ZGxlcikKKyAgICAgICAgbV93cml0ZVBlcnNpc3RlbnRTdG9yZUhhbmRsZXIoKTsKK30KKwogU3Ry
aW5nIFJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6c3RhdGlzdGljc0Zvck9yaWdpbihjb25z
dCBTdHJpbmcmIG9yaWdpbikKIHsKICAgICBhdXRvIGl0ZXIgPSBtX3Jlc291cmNlU3RhdGlzdGlj
c01hcC5maW5kKG9yaWdpbik7CkBAIC0xNTMsNiArMTYwLDExIEBAIHZvaWQgUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1N0b3JlOjpzZXRTaG8KICAgICBtX3Nob3VsZFBhcnRpdGlvbkNvb2tpZXNGb3JE
b21haW5zSGFuZGxlciA9IFdURk1vdmUoaGFuZGxlcik7CiB9CiAgICAgCit2b2lkIFJlc291cmNl
TG9hZFN0YXRpc3RpY3NTdG9yZTo6c2V0V3JpdGVQZXJzaXN0ZW50U3RvcmVDYWxsYmFjayhzdGQ6
OmZ1bmN0aW9uPHZvaWQoKT4mJiBoYW5kbGVyKQoreworICAgIG1fd3JpdGVQZXJzaXN0ZW50U3Rv
cmVIYW5kbGVyID0gV1RGTW92ZShoYW5kbGVyKTsKK30KKwogdm9pZCBSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzU3RvcmU6OmZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpCiB7CiAgICAgaWYgKG1f
ZGF0YUFkZGVkSGFuZGxlcikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxv
YWRTdGF0aXN0aWNzU3RvcmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIv
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgJKHJldmlzaW9uIDIxMzY1NSkKKysrIFNvdXJj
ZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaAkod29ya2luZyBj
b3B5KQpAQCAtNDcsNiArNDcsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0VtcHR5KCkgY29uc3Qg
eyByZXR1cm4gbV9yZXNvdXJjZVN0YXRpc3RpY3NNYXAuaXNFbXB0eSgpOyB9CiAgICAgc2l6ZV90
IHNpemUoKSBjb25zdCB7IHJldHVybiBtX3Jlc291cmNlU3RhdGlzdGljc01hcC5zaXplKCk7IH0K
ICAgICB2b2lkIGNsZWFyKCkgeyBtX3Jlc291cmNlU3RhdGlzdGljc01hcC5jbGVhcigpOyB9Cisg
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBjbGVhckluTWVtb3J5QW5kUGVyc2lzdGVudCgpOwogCiAg
ICAgUmVzb3VyY2VMb2FkU3RhdGlzdGljcyYgZW5zdXJlUmVzb3VyY2VTdGF0aXN0aWNzRm9yUHJp
bWFyeURvbWFpbihjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIHNldFJlc291cmNlU3RhdGlzdGlj
c0ZvclByaW1hcnlEb21haW4oY29uc3QgU3RyaW5nJiwgUmVzb3VyY2VMb2FkU3RhdGlzdGljcyYm
KTsKQEAgLTU4LDYgKzU5LDggQEAgcHVibGljOgogCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBz
ZXROb3RpZmljYXRpb25DYWxsYmFjayhzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4pOwogICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgc2V0U2hvdWxkUGFydGl0aW9uQ29va2llc0NhbGxiYWNrKHN0ZDo6ZnVu
Y3Rpb248dm9pZChjb25zdCBWZWN0b3I8U3RyaW5nPiYgcHJpbWFyeURvbWFpbnMsIGJvb2wgdmFs
dWUpPiYmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFdyaXRlUGVyc2lzdGVudFN0b3Jl
Q2FsbGJhY2soc3RkOjpmdW5jdGlvbjx2b2lkKCk+JiYpOworCiAKICAgICB2b2lkIGZpcmVEYXRh
TW9kaWZpY2F0aW9uSGFuZGxlcigpOwogICAgIHZvaWQgc2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFj
dGlvbihkb3VibGUgc2Vjb25kcyk7CkBAIC03NSw2ICs3OCw3IEBAIHByaXZhdGU6CiAgICAgSGFz
aE1hcDxTdHJpbmcsIFJlc291cmNlTG9hZFN0YXRpc3RpY3M+IG1fcmVzb3VyY2VTdGF0aXN0aWNz
TWFwOwogICAgIHN0ZDo6ZnVuY3Rpb248dm9pZCgpPiBtX2RhdGFBZGRlZEhhbmRsZXI7CiAgICAg
c3RkOjpmdW5jdGlvbjx2b2lkKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBwcmltYXJ5RG9tYWlucywg
Ym9vbCB2YWx1ZSk+IG1fc2hvdWxkUGFydGl0aW9uQ29va2llc0ZvckRvbWFpbnNIYW5kbGVyOwor
ICAgIHN0ZDo6ZnVuY3Rpb248dm9pZCgpPiBtX3dyaXRlUGVyc2lzdGVudFN0b3JlSGFuZGxlcjsK
IH07CiAgICAgCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lv
biAyMTM2NTUpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwzNCBAQAorMjAxNy0wMy0wOSAgSm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBSZXNvdXJjZSBMb2FkIFN0YXRpc3RpY3M6IFJlbW92ZSBzdGF0aXN0
aWNzIGRhdGEgYXMgcGFydCBvZiBmdWxsIHdlYnNpdGUgZGF0YSByZW1vdmFsCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjk0NDgKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9X
S1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdLUmVzb3VyY2VM
b2FkU3RhdGlzdGljc01hbmFnZXJDbGVhckluTWVtb3J5QW5kUGVyc2lzdGVudFN0b3JlKToKKyAg
ICAgICAgICAgIEluZnJhc3RydWN0dXJlIGZvciB0ZXN0LgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQy9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmg6CisgICAgICAgICogVUlQcm9j
ZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OmNsZWFySW5NZW1vcnlBbmRQZXJz
aXN0ZW50U3RvcmUpOgorICAgICAgICAgICAgSW5mcmFzdHJ1Y3R1cmUgZm9yIHRlc3QuCisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmg6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6cHJvY2Vzc1N0YXRp
c3RpY3NBbmREYXRhUmVjb3Jkcyk6CisgICAgICAgICAgICBDaGFuZ2UgZHVlIHRvIHRoZSBicmVh
ay1vdXQgb2YKKyAgICAgICAgICAgIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6d3Jp
dGVTdG9yZVRvRGlzaygpLgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzU3RvcmU6OnJlZ2lzdGVyU2hhcmVkUmVzb3VyY2VMb2FkT2JzZXJ2ZXIpOgorICAgICAgICAg
ICAgTm93IHNldHMgbV93cml0ZVBlcnNpc3RlbnRTdG9yZUhhbmRsZXIgaW4KKyAgICAgICAgICAg
IFdlYkNvcmU6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS4KKyAgICAgICAgKFdlYktpdDo6
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjp3cml0ZVN0b3JlVG9EaXNrKToKKyAgICAg
ICAgICAgIFNlcGFyYXRlZCBvdXQgdGhpcyBmdW5jdGlvbiB0byBtYWtlIGl0IGF2YWlsYWJsZSBm
b3IgdGhlIGZ1bmN0aW9uIHNldCBhcworICAgICAgICAgICAgbV93cml0ZVBlcnNpc3RlbnRTdG9y
ZUhhbmRsZXIgaW4gV2ViQ29yZTo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmU6OnJlbW92ZURhdGEpOgorICAgICAgICAgICAgQm90aCBX
ZWJzaXRlRGF0YVN0b3JlOjpyZW1vdmVEYXRhKCkgZnVuY3Rpb25zIG5vdyBjb3ZlciByZXNvdXJj
ZSBsb2FkCisgICAgICAgICAgICBzdGF0aXN0aWNzLgorCiAyMDE3LTAzLTA5ICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgW1dLMl0gUHJldmVudCBhcHAgbmFwIGZv
ciB0aGUgYWN0aXZlIHRhYgpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291
cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwCShyZXZpc2lv
biAyMTM2NTUpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01hbmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDYsNiArMTA2LDEzIEBAIHZv
aWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnMKICAgICBXZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzU3RvcmU6OnNldE1pbmltdW1UaW1lQmV0d2VlZW5EYXRhUmVjb3Jkc1JlbW92
YWwoc2Vjb25kcyk7CiB9CiAKK3ZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6
OmNsZWFySW5NZW1vcnlBbmRQZXJzaXN0ZW50U3RvcmUoKQoreworICAgIGF1dG8gc3RvcmUgPSBX
ZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5zdGF0aXN0aWNz
U3RvcmUoKTsKKyAgICBpZiAoc3RvcmUpCisgICAgICAgIHN0b3JlLT5jbGVhckluTWVtb3J5QW5k
UGVyc2lzdGVudCgpOworfQorCiB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2Vy
OjpyZXNldFRvQ29uc2lzdGVudFN0YXRlKCkKIHsKICAgICBXZWJDb3JlOjpSZXNvdXJjZUxvYWRP
YnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5zZXRUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKDI1
OTIwMDApOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0
YXRpc3RpY3NNYW5hZ2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmgJKHJldmlzaW9uIDIxMzY1NSkKKysr
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdl
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC01Miw2ICs1Miw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMg
dm9pZCBzZXROb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKGJvb2wpOwogICAg
IHN0YXRpYyB2b2lkIHNldFNob3VsZENsYXNzaWZ5UmVzb3VyY2VzQmVmb3JlRGF0YVJlY29yZHNS
ZW1vdmFsKGJvb2wgdmFsdWUpOwogICAgIHN0YXRpYyB2b2lkIHNldE1pbmltdW1UaW1lQmV0d2Vl
ZW5EYXRhUmVjb3Jkc1JlbW92YWwoZG91YmxlIHNlY29uZHMpOworICAgIHN0YXRpYyB2b2lkIGNs
ZWFySW5NZW1vcnlBbmRQZXJzaXN0ZW50U3RvcmUoKTsKICAgICBzdGF0aWMgdm9pZCByZXNldFRv
Q29uc2lzdGVudFN0YXRlKCk7CiAKIHByaXZhdGU6CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNw
cAkocmV2aXNpb24gMjEzNjU1KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291
cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0NiwxMCArMTQ2
LDggQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnBybwogICAgICAgICB9
KTsKICAgICB9CiAgICAgcmVtb3ZlRGF0YVJlY29yZHMoKTsKLSAgICAKLSAgICBhdXRvIGVuY29k
ZXIgPSBjb3JlU3RvcmUoKS5jcmVhdGVFbmNvZGVyRnJvbURhdGEoKTsKLSAgICAKLSAgICB3cml0
ZUVuY29kZXJUb0Rpc2soKmVuY29kZXIuZ2V0KCksICJmdWxsX2Jyb3dzaW5nX3Nlc3Npb24iKTsK
KworICAgIHdyaXRlU3RvcmVUb0Rpc2soKTsKIH0KIAogdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzU3RvcmU6OnJlc291cmNlTG9hZFN0YXRpc3RpY3NVcGRhdGVkKGNvbnN0IFZlY3RvcjxX
ZWJDb3JlOjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzPiYgb3JpZ2lucykKQEAgLTE4OSw2ICsxODcs
OSBAQCB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6cmVnCiAgICAgbV9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUtPnNldFNob3VsZFBhcnRpdGlvbkNvb2tpZXNDYWxsYmFj
ayhbdGhpcywgc2hvdWxkUGFydGl0aW9uQ29va2llc0ZvckRvbWFpbnNIYW5kbGVyID0gV1RGTW92
ZShzaG91bGRQYXJ0aXRpb25Db29raWVzRm9yRG9tYWluc0hhbmRsZXIpXSAoY29uc3QgVmVjdG9y
PFN0cmluZz4mIHByaW1hcnlEb21haW5zLCBib29sIHZhbHVlKSB7CiAgICAgICAgIHNob3VsZFBh
cnRpdGlvbkNvb2tpZXNGb3JEb21haW5zSGFuZGxlcihwcmltYXJ5RG9tYWlucywgdmFsdWUpOwog
ICAgIH0pOworICAgIG1fcmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLT5zZXRXcml0ZVBlcnNp
c3RlbnRTdG9yZUNhbGxiYWNrKFt0aGlzXSgpIHsKKyAgICAgICAgd3JpdGVTdG9yZVRvRGlzaygp
OworICAgIH0pOwogfQogCiB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6cmVh
ZERhdGFGcm9tRGlza0lmTmVlZGVkKCkKQEAgLTIzNiw2ICsyMzcsMTIgQEAgU3RyaW5nIFdlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6cAogICAgIHJldHVybiBwYXRoQnlBcHBlbmRpbmdD
b21wb25lbnQobV9zdGF0aXN0aWNzU3RvcmFnZVBhdGgsIGxhYmVsICsgIl9yZXNvdXJjZUxvZy5w
bGlzdCIpOwogfQogCit2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6d3JpdGVT
dG9yZVRvRGlzaygpCit7CisgICAgYXV0byBlbmNvZGVyID0gY29yZVN0b3JlKCkuY3JlYXRlRW5j
b2RlckZyb21EYXRhKCk7CisgICAgd3JpdGVFbmNvZGVyVG9EaXNrKCplbmNvZGVyLmdldCgpLCAi
ZnVsbF9icm93c2luZ19zZXNzaW9uIik7Cit9CisKIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1N0b3JlOjp3cml0ZUVuY29kZXJUb0Rpc2soS2V5ZWRFbmNvZGVyJiBlbmNvZGVyLCBjb25z
dCBTdHJpbmcmIGxhYmVsKSBjb25zdAogewogICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IHJhd0Rh
dGEgPSBlbmNvZGVyLmZpbmlzaEVuY29kaW5nKCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oCShy
ZXZpc2lvbiAyMTM2NTUpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlLmgJKHdvcmtpbmcgY29weSkKQEAgLTg5LDYgKzg5LDcgQEAgcHJp
dmF0ZToKICAgICAvLyBJUEM6Ok1lc3NhZ2VSZWNlaXZlcgogICAgIHZvaWQgZGlkUmVjZWl2ZU1l
c3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgb3ZlcnJpZGU7CiAKKyAgICB2
b2lkIHdyaXRlU3RvcmVUb0Rpc2soKTsKICAgICB2b2lkIHdyaXRlRW5jb2RlclRvRGlzayhXZWJD
b3JlOjpLZXllZEVuY29kZXImLCBjb25zdCBTdHJpbmcmIGxhYmVsKSBjb25zdDsKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8V2ViQ29yZTo6S2V5ZWREZWNvZGVyPiBjcmVhdGVEZWNvZGVyRnJvbURpc2so
Y29uc3QgU3RyaW5nJiBsYWJlbCkgY29uc3Q7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzTWFuYWdlci5jcHAJKHJldmlzaW9uIDIxMzY1NSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTAxLDYgKzEwMSwxMSBAQCB2b2lkIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01h
bmFnZXJTZXRNCiAgICAgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNldE1pbmlt
dW1UaW1lQmV0d2VlZW5EYXRhUmVjb3Jkc1JlbW92YWwoc2Vjb25kcyk7CiB9CiAKK3ZvaWQgV0tS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlckNsZWFySW5NZW1vcnlBbmRQZXJzaXN0ZW50U3Rv
cmUoKQoreworICAgIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpjbGVhckluTWVt
b3J5QW5kUGVyc2lzdGVudFN0b3JlKCk7Cit9CisKIHZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzTWFuYWdlclJlc2V0VG9Db25zaXN0ZW50U3RhdGUoKQogewogICAgIFdlYlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NNYW5hZ2VyOjpyZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdl
ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1Jlc291
cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmgJKHJldmlzaW9uIDIxMzY1NSkKKysrIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTQ2LDYgKzQ2LDcgQEAgZXh0ZXJuICJDIiB7CiAgICAgV0tfRVhQ
T1JUIHZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldE5vdGlmeVBhZ2VzV2hl
bkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQoYm9vbCB2YWx1ZSk7CiAgICAgV0tfRVhQT1JUIHZvaWQg
V0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFNob3VsZENsYXNzaWZ5UmVzb3VyY2Vz
QmVmb3JlRGF0YVJlY29yZHNSZW1vdmFsKGJvb2wgdmFsdWUpOwogICAgIFdLX0VYUE9SVCB2b2lk
IFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRNaW5pbXVtVGltZUJldHdlZWVuRGF0
YVJlY29yZHNSZW1vdmFsKGRvdWJsZSBzZWNvbmRzKTsKKyAgICBXS19FWFBPUlQgdm9pZCBXS1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyQ2xlYXJJbk1lbW9yeUFuZFBlcnNpc3RlbnRTdG9y
ZSgpOwogICAgIFdLX0VYUE9SVCB2b2lkIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJS
ZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CiAKICNpZmRlZiBfX2NwbHVzcGx1cwpJbmRleDogU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRl
RGF0YVN0b3JlLmNwcAkocmV2aXNpb24gMjEzNjU1KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
OSw2ICszOSw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9EYXRhYmFzZVRyYWNrZXIuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL0hUTUxNZWRpYUVsZW1lbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL09yaWdp
bkxvY2suaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlTG9hZE9ic2VydmVyLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9TZWN1cml0eU9yaWdpbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2VjdXJp
dHlPcmlnaW5EYXRhLmg+CiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KQEAgLTc2OSw2ICs3NzAs
OSBAQCB2b2lkIFdlYnNpdGVEYXRhU3RvcmU6OnJlbW92ZURhdGEoT3B0aW9uCiAgICAgfQogI2Vu
ZGlmCiAKKyAgICBpZiAoZGF0YVR5cGVzLmNvbnRhaW5zKFdlYnNpdGVEYXRhVHlwZTo6V2Vic2l0
ZURhdGFUeXBlUmVzb3VyY2VMb2FkU3RhdGlzdGljcykpCisgICAgICAgIFdlYkNvcmU6OlJlc291
cmNlTG9hZE9ic2VydmVyOjpzaGFyZWRPYnNlcnZlcigpLmNsZWFySW5NZW1vcnlBbmRQZXJzaXN0
ZW50U3RvcmUobW9kaWZpZWRTaW5jZSk7CisKICAgICAvLyBUaGVyZSdzIGEgY2hhbmNlIHRoYXQg
d2UgZG9uJ3QgaGF2ZSBhbnkgcGVuZGluZyBjYWxsYmFja3MuIElmIHNvLCB3ZSB3YW50IHRvIGRp
c3BhdGNoIHRoZSBjb21wbGV0aW9uIGhhbmRsZXIgcmlnaHQgYXdheS4KICAgICBjYWxsYmFja0Fn
Z3JlZ2F0b3ItPmNhbGxJZk5lZWRlZCgpOwogfQpAQCAtMTAzNSw2ICsxMDM5LDkgQEAgdm9pZCBX
ZWJzaXRlRGF0YVN0b3JlOjpyZW1vdmVEYXRhKE9wdGlvbgogICAgIH0KICNlbmRpZgogCisgICAg
aWYgKGRhdGFUeXBlcy5jb250YWlucyhXZWJzaXRlRGF0YVR5cGU6OldlYnNpdGVEYXRhVHlwZVJl
c291cmNlTG9hZFN0YXRpc3RpY3MpKQorICAgICAgICBXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNl
cnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5jbGVhckluTWVtb3J5QW5kUGVyc2lzdGVudFN0b3JlKCk7
CisKICAgICAvLyBUaGVyZSdzIGEgY2hhbmNlIHRoYXQgd2UgZG9uJ3QgaGF2ZSBhbnkgcGVuZGlu
ZyBjYWxsYmFja3MuIElmIHNvLCB3ZSB3YW50IHRvIGRpc3BhdGNoIHRoZSBjb21wbGV0aW9uIGhh
bmRsZXIgcmlnaHQgYXdheS4KICAgICBjYWxsYmFja0FnZ3JlZ2F0b3ItPmNhbGxJZk5lZWRlZCgp
OwogfQpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxv
ZwkocmV2aXNpb24gMjEzNjgxKQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMTctMDMtMDkgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBs
ZS5jb20+CisKKyAgICAgICAgUmVzb3VyY2UgTG9hZCBTdGF0aXN0aWNzOiBSZW1vdmUgc3RhdGlz
dGljcyBkYXRhIGFzIHBhcnQgb2YgZnVsbCB3ZWJzaXRlIGRhdGEgcmVtb3ZhbAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY5NDQ4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBhZGRzIGlu
ZnJhc3RydWN0dXJlIGZvciB0aGUgbmV3IFRlc3RSdW5uZXIgZnVuY3Rpb24KKyAgICAgICAgc3Rh
dGlzdGljc0NsZWFySW5NZW1vcnlBbmRQZXJzaXN0ZW50U3RvcmUoKS4KKworICAgICAgICAqIFdl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGw6Cisg
ICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcDoK
KyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6c3RhdGlzdGljc0NsZWFySW5NZW1vcnlBbmRQZXJz
aXN0ZW50U3RvcmUpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
VGVzdFJ1bm5lci5oOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
Y3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6c3RhdGlzdGljc0NsZWFySW5NZW1v
cnlBbmRQZXJzaXN0ZW50U3RvcmUpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENv
bnRyb2xsZXIuaDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNw
cDoKKyAgICAgICAgKFdUUjo6VGVzdEludm9jYXRpb246OmRpZFJlY2VpdmVTeW5jaHJvbm91c01l
c3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGUpOgorCiAyMDE3LTAzLTA5ICBEYW5pZWwgQmF0ZXMgIDxk
YWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBHdWFyZCBDcmVkZW50aWFsIE1hbmFnZW1lbnQg
aW1wbGVtZW50YXRpb24gYmVoaW5kIGEgcnVudGltZSBlbmFibGVkIGZlYXR1cmUgZmxhZwpJbmRl
eDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDIx
MzY1NSkKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMjg5LDYgKzIyODksMTIgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6c2V0
U3RhdGlzdGljc01pbmltdQogewogICAgIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJT
ZXRNaW5pbXVtVGltZUJldHdlZWVuRGF0YVJlY29yZHNSZW1vdmFsKHNlY29uZHMpOwogfQorCit2
b2lkIFRlc3RDb250cm9sbGVyOjpzdGF0aXN0aWNzQ2xlYXJJbk1lbW9yeUFuZFBlcnNpc3RlbnRT
dG9yZSgpCit7CisgICAgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlckNsZWFySW5NZW1v
cnlBbmRQZXJzaXN0ZW50U3RvcmUoKTsKK30KKwogdm9pZCBUZXN0Q29udHJvbGxlcjo6c3RhdGlz
dGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKQogewogICAgIFdLUmVzb3VyY2VMb2FkU3RhdGlz
dGljc01hbmFnZXJSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CkluZGV4OiBUb29scy9XZWJLaXRU
ZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCShyZXZpc2lvbiAyMTM2NTUpCisrKyBUb29scy9XZWJL
aXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTE2MSw2ICsx
NjEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0
YVJlY29yZHNXZXJlU2Nhbm5lZChib29sKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NTaG91bGRD
bGFzc2lmeVJlc291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3ZhbChib29sKTsKICAgICB2b2lk
IHNldFN0YXRpc3RpY3NNaW5pbXVtVGltZUJldHdlZWVuRGF0YVJlY29yZHNSZW1vdmFsKGRvdWJs
ZSk7CisgICAgdm9pZCBzdGF0aXN0aWNzQ2xlYXJJbk1lbW9yeUFuZFBlcnNpc3RlbnRTdG9yZSgp
OwogICAgIHZvaWQgc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKIAogICAgIFdL
QXJyYXlSZWYgb3BlblBhbmVsRmlsZVVSTHMoKSBjb25zdCB7IHJldHVybiBtX29wZW5QYW5lbEZp
bGVVUkxzLmdldCgpOyB9CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0
aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0
aW9uLmNwcAkocmV2aXNpb24gMjEzNjU1KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0
SW52b2NhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwMzIsNiArMTAzMiwxMSBAQCBXS1Jl
dGFpblB0cjxXS1R5cGVSZWY+IFRlc3RJbnZvY2F0aW9uOjpkCiAgICAgICAgIHJldHVybiBudWxs
cHRyOwogICAgIH0KICAgICAKKyAgICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyht
ZXNzYWdlTmFtZSwgIlN0YXRpc3RpY3NDbGVhckluTWVtb3J5QW5kUGVyc2lzdGVudFN0b3JlIikp
IHsKKyAgICAgICAgVGVzdENvbnRyb2xsZXI6OnNpbmdsZXRvbigpLnN0YXRpc3RpY3NDbGVhcklu
TWVtb3J5QW5kUGVyc2lzdGVudFN0b3JlKCk7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAg
IH0KKyAgICAKICAgICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdlTmFt
ZSwgIlN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlIikpIHsKICAgICAgICAgVGVzdENv
bnRyb2xsZXI6OnNpbmdsZXRvbigpLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7
CiAgICAgICAgIHJldHVybiBudWxscHRyOwpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCShyZXZpc2lvbiAyMTM2NTUp
CisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMzgyLDYgKzEzODIsMTIgQEAgdm9pZCBUZXN0UnVubmVyOjpz
ZXRTdGF0aXN0aWNzTWluaW11bVRpbQogICAgIFdLUmV0YWluUHRyPFdLRG91YmxlUmVmPiBtZXNz
YWdlQm9keShBZG9wdFdLLCBXS0RvdWJsZUNyZWF0ZShzZWNvbmRzKSk7CiAgICAgV0tCdW5kbGVQ
b3N0U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5idW5kbGUo
KSwgbWVzc2FnZU5hbWUuZ2V0KCksIG1lc3NhZ2VCb2R5LmdldCgpLCBudWxscHRyKTsKIH0KKwor
dm9pZCBUZXN0UnVubmVyOjpzdGF0aXN0aWNzQ2xlYXJJbk1lbW9yeUFuZFBlcnNpc3RlbnRTdG9y
ZSgpCit7CisgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IG1lc3NhZ2VOYW1lKEFkb3B0V0ss
IFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJTdGF0aXN0aWNzQ2xlYXJJbk1lbW9yeUFu
ZFBlcnNpc3RlbnRTdG9yZSIpKTsKKyAgICBXS0J1bmRsZVBvc3RTeW5jaHJvbm91c01lc3NhZ2Uo
SW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpLmJ1bmRsZSgpLCBtZXNzYWdlTmFtZS5nZXQoKSwg
MCwgbnVsbHB0cik7Cit9CiAgICAgCiB2b2lkIFRlc3RSdW5uZXI6OnN0YXRpc3RpY3NSZXNldFRv
Q29uc2lzdGVudFN0YXRlKCkKIHsKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCShyZXZpc2lvbiAyMTM2NTUpCisrKyBUb29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaAkod29ya2luZyBj
b3B5KQpAQCAtMzY0LDYgKzM2NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFN0YXRpc3RpY3NO
b3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKGJvb2wpOwogICAgIHZvaWQgc2V0
U3RhdGlzdGljc1Nob3VsZENsYXNzaWZ5UmVzb3VyY2VzQmVmb3JlRGF0YVJlY29yZHNSZW1vdmFs
KGJvb2wpOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc01pbmltdW1UaW1lQmV0d2VlZW5EYXRhUmVj
b3Jkc1JlbW92YWwoZG91YmxlKTsKKyAgICB2b2lkIHN0YXRpc3RpY3NDbGVhckluTWVtb3J5QW5k
UGVyc2lzdGVudFN0b3JlKCk7CiAgICAgdm9pZCBzdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRT
dGF0ZSgpOwogCiAgICAgLy8gT3BlbiBwYW5lbApJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIu
aWRsCShyZXZpc2lvbiAyMTM2NTUpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNjMsNiAr
MjYzLDcgQEAgaW50ZXJmYWNlIFRlc3RSdW5uZXIgewogICAgIHZvaWQgc2V0U3RhdGlzdGljc05v
dGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQoYm9vbGVhbiB2YWx1ZSk7CiAgICAg
dm9pZCBzZXRTdGF0aXN0aWNzU2hvdWxkQ2xhc3NpZnlSZXNvdXJjZXNCZWZvcmVEYXRhUmVjb3Jk
c1JlbW92YWwoYm9vbGVhbiB2YWx1ZSk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzTWluaW11bVRp
bWVCZXR3ZWVlbkRhdGFSZWNvcmRzUmVtb3ZhbChkb3VibGUgc2Vjb25kcyk7CisgICAgdm9pZCBz
dGF0aXN0aWNzQ2xlYXJJbk1lbW9yeUFuZFBlcnNpc3RlbnRTdG9yZSgpOwogICAgIHZvaWQgc3Rh
dGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKIAogICAgIC8vIE9wZW4gcGFuZWwKSW5k
ZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cJKHJldmlzaW9uIDIxMzY1NSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE3LTAzLTA5ICBKb2huIFdpbGFuZGVyICA8d2ls
YW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlc291cmNlIExvYWQgU3RhdGlzdGljczogUmVt
b3ZlIHN0YXRpc3RpY3MgZGF0YSBhcyBwYXJ0IG9mIGZ1bGwgd2Vic2l0ZSBkYXRhIHJlbW92YWwK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2OTQ0OAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90
ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xlYXItaW4tbWVtb3J5LWFuZC1w
ZXJzaXN0ZW50LXN0b3JlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xlYXItaW4tbWVtb3J5LWFuZC1wZXJz
aXN0ZW50LXN0b3JlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3drMi9UZXN0RXhw
ZWN0YXRpb25zOgorICAgICAgICAgICAgTWFya2VkIGFzIFsgUGFzcyBdIGZvciBXZWJLaXQyLgor
CiAyMDE3LTAzLTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAg
QWxpZ24gRG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCgpIHdpdGggdGhlIENTU09NIHNwZWNpZmlj
YXRpb24KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsZWFyLWluLW1lbW9yeS1hbmQtcGVyc2lzdGVudC1zdG9yZS1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvY2xlYXItaW4tbWVtb3J5LWFuZC1wZXJzaXN0ZW50LXN0b3JlLWV4cGVj
dGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGVhci1pbi1tZW1vcnktYW5kLXBlcnNpc3RlbnQtc3Rv
cmUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOSBAQAorbWFpbiBmcmFt
ZSAtIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRDb21t
aXRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRSZWNlaXZlVGl0bGU6IFRlc3QgQ2xlYXJl
ZCBTdG9yZQorbWFpbiBmcmFtZSAtIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lCittYWlu
IGZyYW1lIC0gZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRG
aW5pc2hMb2FkRm9yRnJhbWUKK1BBU1MgSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNv
dXJjZS4KK1BBU1MgSG9zdCBpcyBubyBsb25nZXIgYSBwcmV2YWxlbnQgcmVzb3VyY2UgYWZ0ZXIg
dGhlIHN0b3JlIHdhcyBjbGVhcmVkLgorCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xv
YWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGVhci1pbi1tZW1vcnktYW5kLXBlcnNpc3Rl
bnQtc3RvcmUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRp
bmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGVhci1pbi1tZW1vcnktYW5kLXBlcnNpc3RlbnQt
c3RvcmUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRp
bmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGVhci1pbi1tZW1vcnktYW5kLXBlcnNpc3RlbnQt
c3RvcmUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDU0IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sIGxhbmc9ImVuIj4KKzxoZWFkPgorICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4K
KyAgICA8dGl0bGU+VGVzdCBDbGVhcmVkIFN0b3JlPC90aXRsZT4KKyAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHNjcmlwdD4KKyAgICBjb25zdCBob3N0VW5kZXJUZXN0ID0gIjEyNy4wLjAuMTo4MDAwIjsK
KyAgICBjb25zdCBzdGF0aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIv
dGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4xID0gImh0dHA6Ly8xMjcuMC4wLjI6ODAw
MC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjIgPSAiaHR0cDovLzEyNy4wLjAuMzo4
MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMyA9ICJodHRwOi8vMTI3LjAuMC40
OjgwMDAvdGVtcCI7CisgICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7CisgICAgICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmws
IGZhbHNlKTsKKyAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVz
b3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBu
b3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNz
VXJsLCB0b3BGcmFtZU9yaWdpbjEpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NT
dWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4x
KTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZy
YW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMSk7CisgICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0
aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjIpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3Rp
Y3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmln
aW4yKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVS
ZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMyk7CisgICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0
aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjMpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGlj
c0ZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOworCisgICAgICAgIGlmICh0ZXN0UnVubmVy
LmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAg
ICAgdGVzdFBhc3NlZCgiSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsK
KyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBj
bGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVy
LnN0YXRpc3RpY3NDbGVhckluTWVtb3J5QW5kUGVyc2lzdGVudFN0b3JlKCk7CisKKyAgICAgICAg
aWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1Vy
bCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGlzIHN0aWxsIGEgcHJldmFsZW50IHJl
c291cmNlIGFmdGVyIHRoZSBzdG9yZSB3YXMgY2xlYXJlZC4iKTsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBpcyBubyBsb25nZXIgYSBwcmV2YWxlbnQgcmVzb3Vy
Y2UgYWZ0ZXIgdGhlIHN0b3JlIHdhcyBjbGVhcmVkLiIpOworCisgICAgICAgIHRlc3RSdW5uZXIu
c3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKyAgICAgICAgaW50ZXJuYWxzLnNl
dFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKGZhbHNlKTsKKyAgICAgICAgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7CisgICAgfQorCisgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3Qg
PT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFs
cykgeworICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgaW50ZXJu
YWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOworICAgICAgICBydW5U
ZXN0UnVubmVyVGVzdCgpOworICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3drMi9U
ZXN0RXhwZWN0YXRpb25zCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3drMi9U
ZXN0RXhwZWN0YXRpb25zCShyZXZpc2lvbiAyMTM2NTUpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS93azIvVGVzdEV4cGVjdGF0aW9ucwkod29ya2luZyBjb3B5KQpAQCAtNzEzLDYgKzcxMyw3IEBA
IGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWMKIGh0dHAvdGVzdHMvbG9h
ZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1v
bi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbCBbIFBhc3MgXQogaHR0cC90
ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50
LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwgWyBQYXNz
IF0KIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWwg
WyBQYXNzIF0KK2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsZWFy
LWluLW1lbW9yeS1hbmQtcGVyc2lzdGVudC1zdG9yZS5odG1sIFsgUGFzcyBdCiAKICMjIyBFTkQg
T0YgKDUpIFByb2dyZXNzaW9ucywgZXhwZWN0ZWQgc3VjY2Vzc2VzIHRoYXQgYXJlIGV4cGVjdGVk
IGZhaWx1cmVzIGluIFdlYktpdDEuCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>