<?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>201394</bug_id>
          
          <creation_ts>2019-09-01 21:35:05 -0700</creation_ts>
          <short_desc>REGRESSION(r249369): broke WHLSL tests (Requested by litherum on #webkit).</short_desc>
          <delta_ts>2019-09-01 21:39:17 -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>New Bugs</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>201383</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>dino</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1567109</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-01 21:35:05 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/249369 broke the build:
broke WHLSL tests (Requested by litherum on #webkit).

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1567111</commentid>
    <comment_count>1</comment_count>
      <attachid>377838</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-01 21:35:13 -0700</bug_when>
    <thetext>Created attachment 377838
ROLLOUT of r249369

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1567112</commentid>
    <comment_count>2</comment_count>
      <attachid>377838</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-01 21:38:46 -0700</bug_when>
    <thetext>Comment on attachment 377838
ROLLOUT of r249369

Clearing flags on attachment: 377838

Committed r249373: &lt;https://trac.webkit.org/changeset/249373&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1567113</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-01 21:38:47 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1567114</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-09-01 21:39:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/54940381&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377838</attachid>
            <date>2019-09-01 21:35:13 -0700</date>
            <delta_ts>2019-09-01 21:38:46 -0700</delta_ts>
            <desc>ROLLOUT of r249369</desc>
            <filename>bug-201394-20190901213512.patch</filename>
            <type>text/plain</type>
            <size>27063</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5MzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTY4OWNlNTAxMzM3Nzkx
MTcwYjE3M2NjNDhlMzY1OTc0YTkzZWZlYy4uMmJiNDg5Njg2MjVmODYyZjNhNTIwODIwOGM1YTgw
ZjQ0ZmUyMTgwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE5LTA5LTAxICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMjQ5MzY5LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjAxMzk0CisKKyAgICAgICAgYnJva2UgV0hMU0wgdGVzdHMgKFJlcXVl
c3RlZCBieSBsaXRoZXJ1bSBvbiAjd2Via2l0KS4KKworICAgICAgICBSZXZlcnRlZCBjaGFuZ2Vz
ZXQ6CisKKyAgICAgICAgIltXSExTTF0gUmVzb3VyY2VzIGRvbid0IHdvcmsgd2hlbiBvbmx5IGEg
c3Vic2V0IG9mIGEgYmluZAorICAgICAgICBncm91cCBpcyByZWZlcmVuY2VkIGJ5IGEgc2hhZGVy
IgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxMzgz
CisgICAgICAgIGh0dHBzOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8yNDkzNjkKKwogMjAx
OS0wOS0wMSAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KIAogICAg
ICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjQ5MzY2LgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xFbnRyeVBvaW50U2NhZmZv
bGRpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hM
U0xFbnRyeVBvaW50U2NhZmZvbGRpbmcuY3BwCmluZGV4IDMyODg2MTg3M2UzNGE3NzEyNWY4YjJl
ZmViNjk4MDU5YWQ2ZmI2YWEuLjdlNzU5Mzc4M2YyYzgzZTMzZjEzNTY5YmFhNzcxNGJmNDY5YTJh
MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFs
L1dITFNMRW50cnlQb2ludFNjYWZmb2xkaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTEVudHJ5UG9pbnRTY2FmZm9sZGluZy5jcHAKQEAg
LTEzOSw3ICsxMzksNyBAQCBFbnRyeVBvaW50U2NhZmZvbGRpbmc6OkVudHJ5UG9pbnRTY2FmZm9s
ZGluZyhBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlvbiYgZnVuY3Rpb25EZQogICAgICAgICBtX3BhcmFt
ZXRlclZhcmlhYmxlcy51bmNoZWNrZWRBcHBlbmQobV9nZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUo
KSk7CiB9CiAKLXZvaWQgRW50cnlQb2ludFNjYWZmb2xkaW5nOjplbWl0UmVzb3VyY2VIZWxwZXJU
eXBlcyhTdHJpbmdCdWlsZGVyJiBzdHJpbmdCdWlsZGVyLCBJbmRlbnRhdGlvbjw0PiBpbmRlbnQs
IFNoYWRlclN0YWdlIHNoYWRlclN0YWdlKQordm9pZCBFbnRyeVBvaW50U2NhZmZvbGRpbmc6OmVt
aXRSZXNvdXJjZUhlbHBlclR5cGVzKFN0cmluZ0J1aWxkZXImIHN0cmluZ0J1aWxkZXIsIEluZGVu
dGF0aW9uPDQ+IGluZGVudCkKIHsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fbGF5b3V0
LnNpemUoKTsgKytpKSB7CiAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgInN0
cnVjdCAiLCBtX25hbWVkQmluZEdyb3Vwc1tpXS5zdHJ1Y3ROYW1lLCAiIHtcbiIpOwpAQCAtMTQ3
LDQzICsxNDcsMjUgQEAgdm9pZCBFbnRyeVBvaW50U2NhZmZvbGRpbmc6OmVtaXRSZXNvdXJjZUhl
bHBlclR5cGVzKFN0cmluZ0J1aWxkZXImIHN0cmluZ0J1aWxkZXIKICAgICAgICAgICAgIEluZGVu
dGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKICAgICAgICAgICAgIFZlY3RvcjxzdGQ6OnBhaXI8
dW5zaWduZWQsIFN0cmluZz4+IHN0cnVjdEl0ZW1zOwogICAgICAgICAgICAgZm9yIChzaXplX3Qg
aiA9IDA7IGogPCBtX2xheW91dFtpXS5iaW5kaW5ncy5zaXplKCk7ICsraikgewotICAgICAgICAg
ICAgICAgIGF1dG8mIGJpbmRpbmcgPSBtX2xheW91dFtpXS5iaW5kaW5nc1tqXTsKLSAgICAgICAg
ICAgICAgICBpZiAoIWJpbmRpbmcudmlzaWJpbGl0eS5jb250YWlucyhzaGFkZXJTdGFnZSkpCi0g
ICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgICAgICAgICAgYXV0byBlbGVt
ZW50TmFtZSA9IG1fbmFtZWRCaW5kR3JvdXBzW2ldLm5hbWVkQmluZGluZ3Nbal0uZWxlbWVudE5h
bWU7Ci0gICAgICAgICAgICAgICAgYXV0byBpbmRleCA9IG1fbmFtZWRCaW5kR3JvdXBzW2ldLm5h
bWVkQmluZGluZ3Nbal0uaW5kZXg7Ci0gICAgICAgICAgICAgICAgaWYgKGF1dG8gbGVuZ3RoSW5m
b3JtYXRpb24gPSBtX25hbWVkQmluZEdyb3Vwc1tpXS5uYW1lZEJpbmRpbmdzW2pdLmxlbmd0aElu
Zm9ybWF0aW9uKQotICAgICAgICAgICAgICAgICAgICBzdHJ1Y3RJdGVtcy5hcHBlbmQoc3RkOjpt
YWtlX3BhaXIobGVuZ3RoSW5mb3JtYXRpb24tPmluZGV4LCBtYWtlU3RyaW5nKCJ1aW50MiAiLCBs
ZW5ndGhJbmZvcm1hdGlvbi0+ZWxlbWVudE5hbWUsICIgW1tpZCgiLCBsZW5ndGhJbmZvcm1hdGlv
bi0+aW5kZXgsICIpXV07IikpKTsKLQogICAgICAgICAgICAgICAgIGF1dG8gaXRlcmF0b3IgPSBt
X3Jlc291cmNlTWFwLmZpbmQoJm1fbGF5b3V0W2ldLmJpbmRpbmdzW2pdKTsKLSAgICAgICAgICAg
ICAgICBpZiAoaXRlcmF0b3IgIT0gbV9yZXNvdXJjZU1hcC5lbmQoKSkgewotICAgICAgICAgICAg
ICAgICAgICBhdXRvJiB0eXBlID0gbV9lbnRyeVBvaW50SXRlbXMuaW5wdXRzW2l0ZXJhdG9yLT52
YWx1ZV0udW5uYW1lZFR5cGUtPnVuaWZ5Tm9kZSgpOwotICAgICAgICAgICAgICAgICAgICBpZiAo
aXM8QVNUOjpVbm5hbWVkVHlwZT4odHlwZSkgJiYgaXM8QVNUOjpSZWZlcmVuY2VUeXBlPihkb3du
Y2FzdDxBU1Q6OlVubmFtZWRUeXBlPih0eXBlKSkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
IGF1dG8mIHJlZmVyZW5jZVR5cGUgPSBkb3duY2FzdDxBU1Q6OlJlZmVyZW5jZVR5cGU+KGRvd25j
YXN0PEFTVDo6VW5uYW1lZFR5cGU+KHR5cGUpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGF1
dG8gbWFuZ2xlZFR5cGVOYW1lID0gbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKHJlZmVy
ZW5jZVR5cGUuZWxlbWVudFR5cGUoKSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhdXRvIGFk
ZHJlc3NTcGFjZSA9IHRvU3RyaW5nKHJlZmVyZW5jZVR5cGUuYWRkcmVzc1NwYWNlKCkpOwotICAg
ICAgICAgICAgICAgICAgICAgICAgc3RydWN0SXRlbXMuYXBwZW5kKHN0ZDo6bWFrZV9wYWlyKGlu
ZGV4LCBtYWtlU3RyaW5nKGFkZHJlc3NTcGFjZSwgIiAiLCBtYW5nbGVkVHlwZU5hbWUsICIqICIs
IGVsZW1lbnROYW1lLCAiIFtbaWQoIiwgaW5kZXgsICIpXV07IikpKTsKLSAgICAgICAgICAgICAg
ICAgICAgfSBlbHNlIGlmIChpczxBU1Q6Ok5hbWVkVHlwZT4odHlwZSkgJiYgaXM8QVNUOjpOYXRp
dmVUeXBlRGVjbGFyYXRpb24+KGRvd25jYXN0PEFTVDo6TmFtZWRUeXBlPih0eXBlKSkpIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGF1dG8mIG5hbWVkVHlwZSA9IGRvd25jYXN0PEFTVDo6TmF0
aXZlVHlwZURlY2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6Ok5hbWVkVHlwZT4odHlwZSkpOwotICAg
ICAgICAgICAgICAgICAgICAgICAgYXV0byBtYW5nbGVkVHlwZU5hbWUgPSBtX3R5cGVOYW1lci5t
YW5nbGVkTmFtZUZvclR5cGUobmFtZWRUeXBlKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHN0
cnVjdEl0ZW1zLmFwcGVuZChzdGQ6Om1ha2VfcGFpcihpbmRleCwgbWFrZVN0cmluZyhtYW5nbGVk
VHlwZU5hbWUsICcgJywgZWxlbWVudE5hbWUsICIgW1tpZCgiLCBpbmRleCwgIildXTsiKSkpOwot
ICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICAgICAgICAgICAgLy8gVGhlIGJpbmRpbmcgZG9lc24ndCBhcHBlYXIgaW4gdGhlIHNoYWRlciBz
b3VyY2UuCi0gICAgICAgICAgICAgICAgICAgIC8vIEhvd2V2ZXIsIHdlIG11c3Qgc3RpbGwgZW1p
dCBhIHBsYWNlaG9sZGVyLCBzbyBzdWNjZXNzaXZlIGl0ZW1zIGluIHRoZSBhcmd1bWVudCBidWZm
ZXIgc3RydWN0IGhhdmUgdGhlIGNvcnJlY3Qgb2Zmc2V0LgotICAgICAgICAgICAgICAgICAgICAv
LyBCZWNhdXNlIHRoZSBiaW5kaW5nIGRvZXNuJ3QgYXBwZWFyIGluIHRoZSBzaGFkZXIgc291cmNl
LCB3ZSBkb24ndCBrbm93IHdoaWNoIGV4YWN0IHR5cGUgdGhlIGJpbmQgcG9pbnQgc2hvdWxkIGhh
dmUuCi0gICAgICAgICAgICAgICAgICAgIC8vIFRoZXJlZm9yZSwgd2UgbXVzdCBzeW50aGVzaXpl
IGEgdHlwZSBvdXQgb2YgdGhpbiBhaXIuCi0gICAgICAgICAgICAgICAgICAgIFdURjo6dmlzaXQo
V1RGOjptYWtlVmlzaXRvcihbJl0oVW5pZm9ybUJ1ZmZlckJpbmRpbmcpIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIHN0cnVjdEl0ZW1zLmFwcGVuZChzdGQ6Om1ha2VfcGFpcihpbmRleCwgbWFr
ZVN0cmluZygiY29uc3RhbnQgdm9pZCogIiwgZWxlbWVudE5hbWUsICIgW1tpZCgiLCBpbmRleCwg
IildXTsiKSkpOwotICAgICAgICAgICAgICAgICAgICB9LCBbJl0oU2FtcGxlckJpbmRpbmcpIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdEl0ZW1zLmFwcGVuZChzdGQ6Om1ha2VfcGFp
cihpbmRleCwgbWFrZVN0cmluZygic2FtcGxlciAiLCBlbGVtZW50TmFtZSwgIiBbW2lkKCIsIGlu
ZGV4LCAiKV1dOyIpKSk7Ci0gICAgICAgICAgICAgICAgICAgIH0sIFsmXShUZXh0dXJlQmluZGlu
ZykgewotICAgICAgICAgICAgICAgICAgICAgICAgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDEzODQgV2UgZG9uJ3Qga25vdyB3aGljaCB0ZXh0dXJl
IHR5cGUgdGhlIGJpbmRpbmcgcmVwcmVzZW50cy4gVGhpcyBpcyBubyBnb29kIHZlcnkgYmFkLgot
ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0SXRlbXMuYXBwZW5kKHN0ZDo6bWFrZV9wYWly
KGluZGV4LCBtYWtlU3RyaW5nKCJ0ZXh0dXJlMmQ8ZmxvYXQ0PiAiLCBlbGVtZW50TmFtZSwgIiBb
W2lkKCIsIGluZGV4LCAiKV1dOyIpKSk7Ci0gICAgICAgICAgICAgICAgICAgIH0sIFsmXShTdG9y
YWdlQnVmZmVyQmluZGluZykgewotICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0SXRlbXMu
YXBwZW5kKHN0ZDo6bWFrZV9wYWlyKGluZGV4LCBtYWtlU3RyaW5nKCJkZXZpY2Ugdm9pZCogIiwg
ZWxlbWVudE5hbWUsICIgW1tpZCgiLCBpbmRleCwgIildXTsiKSkpOwotICAgICAgICAgICAgICAg
ICAgICB9KSwgYmluZGluZy5iaW5kaW5nKTsKKyAgICAgICAgICAgICAgICBpZiAoaXRlcmF0b3Ig
PT0gbV9yZXNvdXJjZU1hcC5lbmQoKSkKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7Cisg
ICAgICAgICAgICAgICAgYXV0byYgdHlwZSA9IG1fZW50cnlQb2ludEl0ZW1zLmlucHV0c1tpdGVy
YXRvci0+dmFsdWVdLnVubmFtZWRUeXBlLT51bmlmeU5vZGUoKTsKKyAgICAgICAgICAgICAgICBp
ZiAoaXM8QVNUOjpVbm5hbWVkVHlwZT4odHlwZSkgJiYgaXM8QVNUOjpSZWZlcmVuY2VUeXBlPihk
b3duY2FzdDxBU1Q6OlVubmFtZWRUeXBlPih0eXBlKSkpIHsKKyAgICAgICAgICAgICAgICAgICAg
YXV0byYgcmVmZXJlbmNlVHlwZSA9IGRvd25jYXN0PEFTVDo6UmVmZXJlbmNlVHlwZT4oZG93bmNh
c3Q8QVNUOjpVbm5hbWVkVHlwZT4odHlwZSkpOworICAgICAgICAgICAgICAgICAgICBhdXRvIG1h
bmdsZWRUeXBlTmFtZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShyZWZlcmVuY2VU
eXBlLmVsZW1lbnRUeXBlKCkpOworICAgICAgICAgICAgICAgICAgICBhdXRvIGFkZHJlc3NTcGFj
ZSA9IHRvU3RyaW5nKHJlZmVyZW5jZVR5cGUuYWRkcmVzc1NwYWNlKCkpOworICAgICAgICAgICAg
ICAgICAgICBhdXRvIGVsZW1lbnROYW1lID0gbV9uYW1lZEJpbmRHcm91cHNbaV0ubmFtZWRCaW5k
aW5nc1tqXS5lbGVtZW50TmFtZTsKKyAgICAgICAgICAgICAgICAgICAgYXV0byBpbmRleCA9IG1f
bmFtZWRCaW5kR3JvdXBzW2ldLm5hbWVkQmluZGluZ3Nbal0uaW5kZXg7CisgICAgICAgICAgICAg
ICAgICAgIHN0cnVjdEl0ZW1zLmFwcGVuZChzdGQ6Om1ha2VfcGFpcihpbmRleCwgbWFrZVN0cmlu
ZyhhZGRyZXNzU3BhY2UsICIgIiwgbWFuZ2xlZFR5cGVOYW1lLCAiKiAiLCBlbGVtZW50TmFtZSwg
IiBbW2lkKCIsIGluZGV4LCAiKV1dOyIpKSk7CisgICAgICAgICAgICAgICAgICAgIGlmIChhdXRv
IGxlbmd0aEluZm9ybWF0aW9uID0gbV9uYW1lZEJpbmRHcm91cHNbaV0ubmFtZWRCaW5kaW5nc1tq
XS5sZW5ndGhJbmZvcm1hdGlvbikKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdEl0ZW1z
LmFwcGVuZChzdGQ6Om1ha2VfcGFpcihsZW5ndGhJbmZvcm1hdGlvbi0+aW5kZXgsIG1ha2VTdHJp
bmcoInVpbnQyICIsIGxlbmd0aEluZm9ybWF0aW9uLT5lbGVtZW50TmFtZSwgIiBbW2lkKCIsIGxl
bmd0aEluZm9ybWF0aW9uLT5pbmRleCwgIildXTsiKSkpOworICAgICAgICAgICAgICAgIH0gZWxz
ZSBpZiAoaXM8QVNUOjpOYW1lZFR5cGU+KHR5cGUpICYmIGlzPEFTVDo6TmF0aXZlVHlwZURlY2xh
cmF0aW9uPihkb3duY2FzdDxBU1Q6Ok5hbWVkVHlwZT4odHlwZSkpKSB7CisgICAgICAgICAgICAg
ICAgICAgIGF1dG8mIG5hbWVkVHlwZSA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0
aW9uPihkb3duY2FzdDxBU1Q6Ok5hbWVkVHlwZT4odHlwZSkpOworICAgICAgICAgICAgICAgICAg
ICBhdXRvIG1hbmdsZWRUeXBlTmFtZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShu
YW1lZFR5cGUpOworICAgICAgICAgICAgICAgICAgICBhdXRvIGVsZW1lbnROYW1lID0gbV9uYW1l
ZEJpbmRHcm91cHNbaV0ubmFtZWRCaW5kaW5nc1tqXS5lbGVtZW50TmFtZTsKKyAgICAgICAgICAg
ICAgICAgICAgYXV0byBpbmRleCA9IG1fbmFtZWRCaW5kR3JvdXBzW2ldLm5hbWVkQmluZGluZ3Nb
al0uaW5kZXg7CisgICAgICAgICAgICAgICAgICAgIHN0cnVjdEl0ZW1zLmFwcGVuZChzdGQ6Om1h
a2VfcGFpcihpbmRleCwgbWFrZVN0cmluZyhtYW5nbGVkVHlwZU5hbWUsICcgJywgZWxlbWVudE5h
bWUsICIgW1tpZCgiLCBpbmRleCwgIildXTsiKSkpOwogICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIHN0ZDo6c29ydChzdHJ1Y3RJdGVtcy5iZWdpbigpLCBzdHJ1
Y3RJdGVtcy5lbmQoKSwgW10oY29uc3Qgc3RkOjpwYWlyPHVuc2lnbmVkLCBTdHJpbmc+JiBsZWZ0
LCBjb25zdCBzdGQ6OnBhaXI8dW5zaWduZWQsIFN0cmluZz4mIHJpZ2h0KSB7CkBAIC00NDMsNyAr
NDI1LDcgQEAgdm9pZCBWZXJ0ZXhFbnRyeVBvaW50U2NhZmZvbGRpbmc6OmVtaXRIZWxwZXJUeXBl
cyhTdHJpbmdCdWlsZGVyJiBzdHJpbmdCdWlsZGVyLAogICAgIH0KICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZChpbmRlbnQsICJ9O1xuXG4iKTsKICAgICAKLSAgICBlbWl0UmVzb3VyY2VIZWxwZXJU
eXBlcyhzdHJpbmdCdWlsZGVyLCBpbmRlbnQsIFNoYWRlclN0YWdlOjpWZXJ0ZXgpOworICAgIGVt
aXRSZXNvdXJjZUhlbHBlclR5cGVzKHN0cmluZ0J1aWxkZXIsIGluZGVudCk7CiB9CiAKIHZvaWQg
VmVydGV4RW50cnlQb2ludFNjYWZmb2xkaW5nOjplbWl0U2lnbmF0dXJlKFN0cmluZ0J1aWxkZXIm
IHN0cmluZ0J1aWxkZXIsIE1hbmdsZWRGdW5jdGlvbk5hbWUgZnVuY3Rpb25OYW1lLCBJbmRlbnRh
dGlvbjw0PiBpbmRlbnQpCkBAIC01NDgsNyArNTMwLDcgQEAgdm9pZCBGcmFnbWVudEVudHJ5UG9p
bnRTY2FmZm9sZGluZzo6ZW1pdEhlbHBlclR5cGVzKFN0cmluZ0J1aWxkZXImIHN0cmluZ0J1aWxk
ZXIKICAgICB9CiAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAifTtcblxuIik7CiAK
LSAgICBlbWl0UmVzb3VyY2VIZWxwZXJUeXBlcyhzdHJpbmdCdWlsZGVyLCBpbmRlbnQsIFNoYWRl
clN0YWdlOjpGcmFnbWVudCk7CisgICAgZW1pdFJlc291cmNlSGVscGVyVHlwZXMoc3RyaW5nQnVp
bGRlciwgaW5kZW50KTsKIH0KIAogdm9pZCBGcmFnbWVudEVudHJ5UG9pbnRTY2FmZm9sZGluZzo6
ZW1pdFNpZ25hdHVyZShTdHJpbmdCdWlsZGVyJiBzdHJpbmdCdWlsZGVyLCBNYW5nbGVkRnVuY3Rp
b25OYW1lIGZ1bmN0aW9uTmFtZSwgSW5kZW50YXRpb248ND4gaW5kZW50KQpAQCAtNTk4LDcgKzU4
MCw3IEBAIENvbXB1dGVFbnRyeVBvaW50U2NhZmZvbGRpbmc6OkNvbXB1dGVFbnRyeVBvaW50U2Nh
ZmZvbGRpbmcoQVNUOjpGdW5jdGlvbkRlZmluaXRpCiAKIHZvaWQgQ29tcHV0ZUVudHJ5UG9pbnRT
Y2FmZm9sZGluZzo6ZW1pdEhlbHBlclR5cGVzKFN0cmluZ0J1aWxkZXImIHN0cmluZ0J1aWxkZXIs
IEluZGVudGF0aW9uPDQ+IGluZGVudCkKIHsKLSAgICBlbWl0UmVzb3VyY2VIZWxwZXJUeXBlcyhz
dHJpbmdCdWlsZGVyLCBpbmRlbnQsIFNoYWRlclN0YWdlOjpDb21wdXRlKTsKKyAgICBlbWl0UmVz
b3VyY2VIZWxwZXJUeXBlcyhzdHJpbmdCdWlsZGVyLCBpbmRlbnQpOwogfQogCiB2b2lkIENvbXB1
dGVFbnRyeVBvaW50U2NhZmZvbGRpbmc6OmVtaXRTaWduYXR1cmUoU3RyaW5nQnVpbGRlciYgc3Ry
aW5nQnVpbGRlciwgTWFuZ2xlZEZ1bmN0aW9uTmFtZSBmdW5jdGlvbk5hbWUsIEluZGVudGF0aW9u
PDQ+IGluZGVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dI
TFNML01ldGFsL1dITFNMRW50cnlQb2ludFNjYWZmb2xkaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTEVudHJ5UG9pbnRTY2FmZm9sZGluZy5oCmlu
ZGV4IGU1YjRjNmRmZjQwMWExMGM5MThmNWY3OTkyMmEyOGExZDIyYWRmNjQuLjQ4YThjNWIzZWRi
NmFhYjJkMTMwZDM2ODc1NTllNjRlZTg0Y2ViZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMRW50cnlQb2ludFNjYWZmb2xkaW5nLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xFbnRy
eVBvaW50U2NhZmZvbGRpbmcuaApAQCAtNjQsNyArNjQsNyBAQCBwdWJsaWM6CiBwcm90ZWN0ZWQ6
CiAgICAgRW50cnlQb2ludFNjYWZmb2xkaW5nKEFTVDo6RnVuY3Rpb25EZWZpbml0aW9uJiwgSW50
cmluc2ljcyYsIFR5cGVOYW1lciYsIEVudHJ5UG9pbnRJdGVtcyYsIEhhc2hNYXA8QmluZGluZyos
IHNpemVfdD4mIHJlc291cmNlTWFwLCBMYXlvdXQmLCBzdGQ6OmZ1bmN0aW9uPE1hbmdsZWRWYXJp
YWJsZU5hbWUoKT4mJiBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUpOwogCi0gICAgdm9pZCBlbWl0
UmVzb3VyY2VIZWxwZXJUeXBlcyhTdHJpbmdCdWlsZGVyJiwgSW5kZW50YXRpb248ND4sIFNoYWRl
clN0YWdlKTsKKyAgICB2b2lkIGVtaXRSZXNvdXJjZUhlbHBlclR5cGVzKFN0cmluZ0J1aWxkZXIm
LCBJbmRlbnRhdGlvbjw0Pik7CiAKICAgICBlbnVtIGNsYXNzIEluY2x1ZGVQcmVjZWRpbmdDb21t
YSB7CiAgICAgICAgIFllcywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dITFNML1dITFNMU2VtYW50aWNNYXRjaGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML1dITFNMU2VtYW50aWNNYXRjaGVyLmNwcAppbmRleCA1NDJmYTc4NWIy
ODA4ZGVhZWQwNWUxNjVmYTU0MDg5YzhlNGY4YzM5Li4yY2M3ZDdkYmI1NDM1OWExODRlZTdmOWI1
MTk0ZGI3YWNkOWFmMDI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XSExTTC9XSExTTFNlbWFudGljTWF0Y2hlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTZW1hbnRpY01hdGNoZXIuY3BwCkBAIC02MSw3ICs2MSw5
IEBAIHN0YXRpYyBib29sIG1hdGNoTW9kZShCaW5kaW5nOjpCaW5kaW5nRGV0YWlscyBiaW5kaW5n
VHlwZSwgQVNUOjpSZXNvdXJjZVNlbWFudGljCiBzdGF0aWMgT3B0aW9uYWw8SGFzaE1hcDxCaW5k
aW5nKiwgc2l6ZV90Pj4gbWF0Y2hSZXNvdXJjZXMoVmVjdG9yPEVudHJ5UG9pbnRJdGVtPiYgZW50
cnlQb2ludEl0ZW1zLCBMYXlvdXQmIGxheW91dCwgU2hhZGVyU3RhZ2Ugc2hhZGVyU3RhZ2UpCiB7
CiAgICAgSGFzaE1hcDxCaW5kaW5nKiwgc2l6ZV90PiByZXN1bHQ7Ci0gICAgSGFzaFNldDxzaXpl
X3QsIERlZmF1bHRIYXNoPHNpemVfdD46Okhhc2gsIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhh
c2hUcmFpdHM8c2l6ZV90Pj4gaXRlbUluZGljZXM7CisgICAgSGFzaFNldDxzaXplX3Q+IGl0ZW1J
bmRpY2VzOworICAgIGlmIChlbnRyeVBvaW50SXRlbXMuc2l6ZSgpID09IHN0ZDo6bnVtZXJpY19s
aW1pdHM8c2l6ZV90Pjo6bWF4KCkpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7IC8vIFdv
cmsgYXJvdW5kIHRoZSBmYWN0IHRoYXQgSGFzaFNldCdzIGtleXMgYXJlIHJlc3RyaWN0ZWQuCiAg
ICAgZm9yIChhdXRvJiBiaW5kR3JvdXAgOiBsYXlvdXQpIHsKICAgICAgICAgYXV0byBzcGFjZSA9
IGJpbmRHcm91cC5uYW1lOwogICAgICAgICBmb3IgKGF1dG8mIGJpbmRpbmcgOiBiaW5kR3JvdXAu
YmluZGluZ3MpIHsKQEAgLTgwLDcgKzgyLDcgQEAgc3RhdGljIE9wdGlvbmFsPEhhc2hNYXA8Qmlu
ZGluZyosIHNpemVfdD4+IG1hdGNoUmVzb3VyY2VzKFZlY3RvcjxFbnRyeVBvaW50SXRlbT4KICAg
ICAgICAgICAgICAgICBpZiAoc3BhY2UgIT0gcmVzb3VyY2VTZW1hbnRpYy5zcGFjZSgpKQogICAg
ICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICByZXN1bHQuYWRkKCZi
aW5kaW5nLCBpKTsKLSAgICAgICAgICAgICAgICBpdGVtSW5kaWNlcy5hZGQoaSk7CisgICAgICAg
ICAgICAgICAgaXRlbUluZGljZXMuYWRkKGkgKyAxKTsgLy8gV29yayBhcm91bmQgdGhlIGZhY3Qg
dGhhdCBIYXNoU2V0J3Mga2V5cyBhcmUgcmVzdHJpY3RlZC4KICAgICAgICAgICAgIH0KICAgICAg
ICAgfQogICAgIH0KQEAgLTkwLDcgKzkyLDcgQEAgc3RhdGljIE9wdGlvbmFsPEhhc2hNYXA8Qmlu
ZGluZyosIHNpemVfdD4+IG1hdGNoUmVzb3VyY2VzKFZlY3RvcjxFbnRyeVBvaW50SXRlbT4KICAg
ICAgICAgYXV0byYgc2VtYW50aWMgPSAqaXRlbS5zZW1hbnRpYzsKICAgICAgICAgaWYgKCFXVEY6
OmhvbGRzX2FsdGVybmF0aXZlPEFTVDo6UmVzb3VyY2VTZW1hbnRpYz4oc2VtYW50aWMpKQogICAg
ICAgICAgICAgY29udGludWU7Ci0gICAgICAgIGlmICghaXRlbUluZGljZXMuY29udGFpbnMoaSkp
CisgICAgICAgIGlmICghaXRlbUluZGljZXMuY29udGFpbnMoaSArIDEpKQogICAgICAgICAgICAg
cmV0dXJuIFdURjo6bnVsbG9wdDsKICAgICB9CiAKQEAgLTE0MCw3ICsxNDIsOSBAQCBzdGF0aWMg
Ym9vbCBpc0FjY2VwdGFibGVGb3JtYXQoVmVydGV4Rm9ybWF0IHZlcnRleEZvcm1hdCwgQVNUOjpV
bm5hbWVkVHlwZSYgdW5uYQogc3RhdGljIE9wdGlvbmFsPEhhc2hNYXA8VmVydGV4QXR0cmlidXRl
Kiwgc2l6ZV90Pj4gbWF0Y2hWZXJ0ZXhBdHRyaWJ1dGVzKFZlY3RvcjxFbnRyeVBvaW50SXRlbT4m
IHZlcnRleElucHV0cywgVmVydGV4QXR0cmlidXRlcyYgdmVydGV4QXR0cmlidXRlcywgSW50cmlu
c2ljcyYgaW50cmluc2ljcykKIHsKICAgICBIYXNoTWFwPFZlcnRleEF0dHJpYnV0ZSosIHNpemVf
dD4gcmVzdWx0OwotICAgIEhhc2hTZXQ8c2l6ZV90LCBEZWZhdWx0SGFzaDxzaXplX3Q+OjpIYXNo
LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHNpemVfdD4+IGl0ZW1JbmRpY2Vz
OworICAgIEhhc2hTZXQ8c2l6ZV90PiBpdGVtSW5kaWNlczsKKyAgICBpZiAodmVydGV4SW5wdXRz
LnNpemUoKSA9PSBzdGQ6Om51bWVyaWNfbGltaXRzPHNpemVfdD46Om1heCgpKQorICAgICAgICBy
ZXR1cm4gV1RGOjpudWxsb3B0OyAvLyBXb3JrIGFyb3VuZCB0aGUgZmFjdCB0aGF0IEhhc2hTZXQn
cyBrZXlzIGFyZSByZXN0cmljdGVkLgogICAgIGZvciAoYXV0byYgdmVydGV4QXR0cmlidXRlIDog
dmVydGV4QXR0cmlidXRlcykgewogICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHZlcnRl
eElucHV0cy5zaXplKCk7ICsraSkgewogICAgICAgICAgICAgYXV0byYgaXRlbSA9IHZlcnRleElu
cHV0c1tpXTsKQEAgLTE1Myw3ICsxNTcsNyBAQCBzdGF0aWMgT3B0aW9uYWw8SGFzaE1hcDxWZXJ0
ZXhBdHRyaWJ1dGUqLCBzaXplX3Q+PiBtYXRjaFZlcnRleEF0dHJpYnV0ZXMoVmVjdG9yPAogICAg
ICAgICAgICAgaWYgKCFpc0FjY2VwdGFibGVGb3JtYXQodmVydGV4QXR0cmlidXRlLnZlcnRleEZv
cm1hdCwgKml0ZW0udW5uYW1lZFR5cGUsIGludHJpbnNpY3MpKQogICAgICAgICAgICAgICAgIHJl
dHVybiBXVEY6Om51bGxvcHQ7CiAgICAgICAgICAgICByZXN1bHQuYWRkKCZ2ZXJ0ZXhBdHRyaWJ1
dGUsIGkpOwotICAgICAgICAgICAgaXRlbUluZGljZXMuYWRkKGkpOworICAgICAgICAgICAgaXRl
bUluZGljZXMuYWRkKGkgKyAxKTsgLy8gV29yayBhcm91bmQgdGhlIGZhY3QgdGhhdCBIYXNoU2V0
J3Mga2V5cyBhcmUgcmVzdHJpY3RlZC4KICAgICAgICAgfQogICAgIH0KIApAQCAtMTYyLDcgKzE2
Niw3IEBAIHN0YXRpYyBPcHRpb25hbDxIYXNoTWFwPFZlcnRleEF0dHJpYnV0ZSosIHNpemVfdD4+
IG1hdGNoVmVydGV4QXR0cmlidXRlcyhWZWN0b3I8CiAgICAgICAgIGF1dG8mIHNlbWFudGljID0g
Kml0ZW0uc2VtYW50aWM7CiAgICAgICAgIGlmICghV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxBU1Q6
OlN0YWdlSW5PdXRTZW1hbnRpYz4oc2VtYW50aWMpKQogICAgICAgICAgICAgY29udGludWU7Ci0g
ICAgICAgIGlmICghaXRlbUluZGljZXMuY29udGFpbnMoaSkpCisgICAgICAgIGlmICghaXRlbUlu
ZGljZXMuY29udGFpbnMoaSArIDEpKQogICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsK
ICAgICB9CiAKQEAgLTIyNiw3ICsyMzAsOSBAQCBzdGF0aWMgYm9vbCBpc0FjY2VwdGFibGVGb3Jt
YXQoVGV4dHVyZUZvcm1hdCB0ZXh0dXJlRm9ybWF0LCBBU1Q6OlVubmFtZWRUeXBlJiB1bgogc3Rh
dGljIE9wdGlvbmFsPEhhc2hNYXA8QXR0YWNobWVudERlc2NyaXB0b3IqLCBzaXplX3Q+PiBtYXRj
aENvbG9yQXR0YWNobWVudHMoVmVjdG9yPEVudHJ5UG9pbnRJdGVtPiYgZnJhZ21lbnRPdXRwdXRz
LCBWZWN0b3I8QXR0YWNobWVudERlc2NyaXB0b3I+JiBhdHRhY2htZW50RGVzY3JpcHRvcnMsIElu
dHJpbnNpY3MmIGludHJpbnNpY3MpCiB7CiAgICAgSGFzaE1hcDxBdHRhY2htZW50RGVzY3JpcHRv
ciosIHNpemVfdD4gcmVzdWx0OwotICAgIEhhc2hTZXQ8c2l6ZV90LCBEZWZhdWx0SGFzaDxzaXpl
X3Q+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHNpemVfdD4+IGl0
ZW1JbmRpY2VzOworICAgIEhhc2hTZXQ8c2l6ZV90PiBpdGVtSW5kaWNlczsKKyAgICBpZiAoYXR0
YWNobWVudERlc2NyaXB0b3JzLnNpemUoKSA9PSBzdGQ6Om51bWVyaWNfbGltaXRzPHNpemVfdD46
Om1heCgpKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OyAvLyBXb3JrIGFyb3VuZCB0aGUg
ZmFjdCB0aGF0IEhhc2hTZXQncyBrZXlzIGFyZSByZXN0cmljdGVkLgogICAgIGZvciAoYXV0byYg
YXR0YWNobWVudERlc2NyaXB0b3IgOiBhdHRhY2htZW50RGVzY3JpcHRvcnMpIHsKICAgICAgICAg
Zm9yIChzaXplX3QgaSA9IDA7IGkgPCBmcmFnbWVudE91dHB1dHMuc2l6ZSgpOyArK2kpIHsKICAg
ICAgICAgICAgIGF1dG8mIGl0ZW0gPSBmcmFnbWVudE91dHB1dHNbaV07CkBAIC0yMzksNyArMjQ1
LDcgQEAgc3RhdGljIE9wdGlvbmFsPEhhc2hNYXA8QXR0YWNobWVudERlc2NyaXB0b3IqLCBzaXpl
X3Q+PiBtYXRjaENvbG9yQXR0YWNobWVudHMoVmUKICAgICAgICAgICAgIGlmICghaXNBY2NlcHRh
YmxlRm9ybWF0KGF0dGFjaG1lbnREZXNjcmlwdG9yLnRleHR1cmVGb3JtYXQsICppdGVtLnVubmFt
ZWRUeXBlLCBpbnRyaW5zaWNzLCB0cnVlKSkKICAgICAgICAgICAgICAgICByZXR1cm4gV1RGOjpu
dWxsb3B0OwogICAgICAgICAgICAgcmVzdWx0LmFkZCgmYXR0YWNobWVudERlc2NyaXB0b3IsIGkp
OwotICAgICAgICAgICAgaXRlbUluZGljZXMuYWRkKGkpOworICAgICAgICAgICAgaXRlbUluZGlj
ZXMuYWRkKGkgKyAxKTsgLy8gV29yayBhcm91bmQgdGhlIGZhY3QgdGhhdCBIYXNoU2V0J3Mga2V5
cyBhcmUgcmVzdHJpY3RlZC4KICAgICAgICAgfQogICAgIH0KIApAQCAtMjQ4LDcgKzI1NCw3IEBA
IHN0YXRpYyBPcHRpb25hbDxIYXNoTWFwPEF0dGFjaG1lbnREZXNjcmlwdG9yKiwgc2l6ZV90Pj4g
bWF0Y2hDb2xvckF0dGFjaG1lbnRzKFZlCiAgICAgICAgIGF1dG8mIHNlbWFudGljID0gKml0ZW0u
c2VtYW50aWM7CiAgICAgICAgIGlmICghV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxBU1Q6OlN0YWdl
SW5PdXRTZW1hbnRpYz4oc2VtYW50aWMpKQogICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAg
IGlmICghaXRlbUluZGljZXMuY29udGFpbnMoaSkpCisgICAgICAgIGlmICghaXRlbUluZGljZXMu
Y29udGFpbnMoaSArIDEpKQogICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKICAgICB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2Nv
YS9HUFVCaW5kR3JvdXBMYXlvdXRNZXRhbC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9jb2NvYS9HUFVCaW5kR3JvdXBMYXlvdXRNZXRhbC5tbQppbmRleCBhMjZiYWRm
MzAwYTQ2YzZhNDZkYjJmZDU0ZjY1NjA5YmViOThkOTM1Li44MDIwMTYzNTU0ZThiZTRiYjYxMTVh
ZDQzZjU4MmMzNWZjNWQ0MDU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvY29jb2EvR1BVQmluZEdyb3VwTGF5b3V0TWV0YWwubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVUJpbmRHcm91cExheW91dE1l
dGFsLm1tCkBAIC04NCw3ICs4NCw2IEBAIHN0YXRpYyBSZXRhaW5QdHI8TVRMQXJndW1lbnREZXNj
cmlwdG9yPiBhcmd1bWVudERlc2NyaXB0b3IoTVRMRGF0YVR5cGUgZGF0YVR5cGUsCiAgICAgbXRs
QXJndW1lbnQgPSBhZG9wdE5TKFtNVExBcmd1bWVudERlc2NyaXB0b3IgbmV3XSk7CiAgICAgRU5E
X0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKIAotICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxMzg0IFRoaXMgbmVlZHMgdG8gc2V0IHRoZSAidGV4
dHVyZVR5cGUiIGZpZWxkCiAgICAgW210bEFyZ3VtZW50IHNldERhdGFUeXBlOmRhdGFUeXBlXTsK
ICAgICBbbXRsQXJndW1lbnQgc2V0SW5kZXg6aW5kZXhdOwogICAgIHJldHVybiBtdGxBcmd1bWVu
dDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCBhZTc0M2M5ZTBkYjA1MzBiYWRkZGNhMDViYzdjOTlhMDc2ZWI2NDMyLi4xM2E0
ODlkZmE5NDA5NTNlMGQ0ZDliNzc0YzgxMmZiODY3N2Y3YTQwIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTktMDktMDEgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgor
CisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyNDkzNjkuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDEzOTQKKworICAgICAgICBicm9r
ZSBXSExTTCB0ZXN0cyAoUmVxdWVzdGVkIGJ5IGxpdGhlcnVtIG9uICN3ZWJraXQpLgorCisgICAg
ICAgIFJldmVydGVkIGNoYW5nZXNldDoKKworICAgICAgICAiW1dITFNMXSBSZXNvdXJjZXMgZG9u
J3Qgd29yayB3aGVuIG9ubHkgYSBzdWJzZXQgb2YgYSBiaW5kCisgICAgICAgIGdyb3VwIGlzIHJl
ZmVyZW5jZWQgYnkgYSBzaGFkZXIiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMDEzODMKKyAgICAgICAgaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcvY2hh
bmdlc2V0LzI0OTM2OQorCiAyMDE5LTA5LTAxICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVs
ZEBhcHBsZS5jb20+CiAKICAgICAgICAgW1dITFNMXSBSZXNvdXJjZXMgZG9uJ3Qgd29yayB3aGVu
IG9ubHkgYSBzdWJzZXQgb2YgYSBiaW5kIGdyb3VwIGlzIHJlZmVyZW5jZWQgYnkgYSBzaGFkZXIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdwdS93aGxzbC9jb21wdXRlLmh0bWwgYi9MYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvY29tcHV0ZS5odG1sCmluZGV4IDFjZWU2ZTY0ZjQ3MGZkZjE2
ZDIxZDM5NjRlZTJmMTEwNzY2ZDM5NmMuLjFmNjMyZTY2Y2Y2MzdiYTA2YjNmNTQ2ZGQ3MDdlMDFi
MzE2N2FiNTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYmdwdS93aGxzbC9jb21wdXRlLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2NvbXB1dGUuaHRtbApAQCAtNzQsNyAr
NzQsNiBAQCBhc3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKICAgICAgICAgdGVzdEZhaWxl
ZCgiIik7CiAgICAgcmVzdWx0c0J1ZmZlci51bm1hcCgpOwogfQotCiB3aW5kb3cuanNUZXN0SXNB
c3luYyA9IHRydWU7CiBnZXRCYXNpY0RldmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2aWNlKSB7CiAg
ICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ3B1L3dobHNsL3NwYXJzZS1iaW5kLWdyb3VwLTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL3NwYXJzZS1iaW5kLWdyb3VwLTItZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ODgyZjkwNDU4YTU2ZjU0NWViMTljNzRkMjdmOGY2
YWYyMzE4MmQ0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL3dlYmdwdS93aGxzbC9zcGFyc2UtYmluZC1ncm91cC0yLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotUEFTUyAKLVBBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJncHUvd2hsc2wvc3BhcnNlLWJpbmQtZ3JvdXAtMi5odG1sIGIvTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsL3NwYXJzZS1iaW5kLWdyb3VwLTIuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNDQzYTM5OTVhOTg3OGVlZWYxYzdiNzc5NmMzY2VlMzA1YTE2Mjg3OC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy93ZWJn
cHUvd2hsc2wvc3BhcnNlLWJpbmQtZ3JvdXAtMi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNzIg
KzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4u
L2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3Jp
cHQ+Ci1jb25zdCBzaGFkZXJTb3VyY2UgPSBgCi1bbnVtdGhyZWFkcygxLCAxLCAxKV0KLWNvbXB1
dGUgdm9pZCBjb21wdXRlU2hhZGVyKGRldmljZSBmbG9hdFtdIGJ1ZmZlciA6IHJlZ2lzdGVyKHUx
KSkgewotICAgIGJ1ZmZlclswXSA9IDE3OwotfQotYDsKLQotYXN5bmMgZnVuY3Rpb24gc3RhcnQo
ZGV2aWNlKSB7Ci0gICAgZGV2aWNlLnB1c2hFcnJvclNjb3BlKCJ2YWxpZGF0aW9uIik7Ci0gICAg
Y29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hh
ZGVyU291cmNlfSk7Ci0gICAgY29uc3QgY29tcHV0ZVN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9k
dWxlLCBlbnRyeVBvaW50OiAiY29tcHV0ZVNoYWRlciJ9OwotCi0gICAgY29uc3QgYmluZEdyb3Vw
TGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kaW5nczogW3tiaW5kaW5nOiAwLCB2aXNpYmlsaXR5OiA3
LCB0eXBlOiAic3RvcmFnZS1idWZmZXIifSwge2JpbmRpbmc6IDEsIHZpc2liaWxpdHk6IDcsIHR5
cGU6ICJzdG9yYWdlLWJ1ZmZlciJ9XX07Ci0gICAgY29uc3QgYmluZEdyb3VwTGF5b3V0ID0gZGV2
aWNlLmNyZWF0ZUJpbmRHcm91cExheW91dChiaW5kR3JvdXBMYXlvdXREZXNjcmlwdG9yKTsKLSAg
ICBjb25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW2Jp
bmRHcm91cExheW91dF19OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2aWNlLmNyZWF0
ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCBj
b21wdXRlUGlwZWxpbmVEZXNjcmlwdG9yID0ge2NvbXB1dGVTdGFnZSwgbGF5b3V0OiBwaXBlbGlu
ZUxheW91dH07Ci0gICAgY29uc3QgY29tcHV0ZVBpcGVsaW5lID0gZGV2aWNlLmNyZWF0ZUNvbXB1
dGVQaXBlbGluZShjb21wdXRlUGlwZWxpbmVEZXNjcmlwdG9yKTsKLSAgICBkZXZpY2UucG9wRXJy
b3JTY29wZSgpLnRoZW4oZnVuY3Rpb24oZSkgewotICAgICAgICBhbGVydChlLm1lc3NhZ2UpOwot
ICAgIH0pOwotCi0gICAgY29uc3Qgc2l6ZSA9IEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVO
VCAqIDE7Ci0KLSAgICBjb25zdCBidWZmZXIxID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlcih7c2l6ZSwg
dXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlNUT1JBR0UgfCBHUFVCdWZmZXJVc2FnZS5NQVBfUkVBRH0p
OwotICAgIGNvbnN0IGJ1ZmZlcjIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHtzaXplLCB1c2FnZTog
R1BVQnVmZmVyVXNhZ2UuU1RPUkFHRSB8IEdQVUJ1ZmZlclVzYWdlLk1BUF9SRUFEfSk7Ci0KLSAg
ICBjb25zdCBiaW5kR3JvdXAgPSBkZXZpY2UuY3JlYXRlQmluZEdyb3VwKHtsYXlvdXQ6IGJpbmRH
cm91cExheW91dCwgYmluZGluZ3M6IFt7YmluZGluZzogMCwgcmVzb3VyY2U6IHtidWZmZXI6IGJ1
ZmZlcjEsIHNpemV9fSwge2JpbmRpbmc6IDEsIHJlc291cmNlOiB7YnVmZmVyOiBidWZmZXIyLCBz
aXplfX1dfSk7Ci0KLSAgICBjb25zdCBjb21tYW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21t
YW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0IGNvbXB1dGVQYXNzRW5jb2RlciA9IGNvbW1h
bmRFbmNvZGVyLmJlZ2luQ29tcHV0ZVBhc3MoKTsKLSAgICBjb21wdXRlUGFzc0VuY29kZXIuc2V0
UGlwZWxpbmUoY29tcHV0ZVBpcGVsaW5lKTsKLSAgICBjb21wdXRlUGFzc0VuY29kZXIuc2V0Qmlu
ZEdyb3VwKDAsIGJpbmRHcm91cCk7Ci0gICAgY29tcHV0ZVBhc3NFbmNvZGVyLmRpc3BhdGNoKDEs
IDEsIDEpOwotICAgIGNvbXB1dGVQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAgY29uc3QgY29t
bWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRldmljZS5nZXRRdWV1
ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotCi0gICAgY29uc3QgcmVzdWx0c0FycmF5QnVm
ZmVyID0gYXdhaXQgYnVmZmVyMi5tYXBSZWFkQXN5bmMoKTsKLSAgICBjb25zdCByZXN1bHRzRmxv
YXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheShyZXN1bHRzQXJyYXlCdWZmZXIpOwotICAgIGlm
IChyZXN1bHRzRmxvYXQzMkFycmF5WzBdID09IDE3KQotICAgICAgICB0ZXN0UGFzc2VkKCIiKTsK
LSAgICBlbHNlCi0gICAgICAgIHRlc3RGYWlsZWQoIiIpOwotICAgIGJ1ZmZlcjIudW5tYXAoKTsK
LX0KLQotd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwotZ2V0QmFzaWNEZXZpY2UoKS50aGVu
KGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5jdGlvbigpIHsK
LSAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIHRl
c3RGYWlsZWQoIiIpOwotICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgICB9KTsKLX0sIGZ1bmN0
aW9uKCkgewotICAgIHRlc3RQYXNzZWQoIiIpOwotICAgIGZpbmlzaEpTVGVzdCgpOwotfSk7Ci08
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9zcGFyc2UtYmluZC1ncm91cC0zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9zcGFyc2UtYmluZC1ncm91cC0zLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNDg4MmY5MDQ1OGE1NmY1NDVlYjE5Yzc0ZDI3ZjhmNmFmMjMxODJk
NC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy93ZWJncHUvd2hsc2wvc3BhcnNlLWJpbmQtZ3JvdXAtMy1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLVBBU1MgCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ3B1
L3dobHNsL3NwYXJzZS1iaW5kLWdyb3VwLTMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9zcGFyc2UtYmluZC1ncm91cC0zLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGNmZmQxODEyNmRmNzJiY2Y5NjBiOGVmYzA2MzMzYmMxNmYzYjZiNDguLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNs
L3NwYXJzZS1iaW5kLWdyb3VwLTMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDcyICswLDAgQEAK
LTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9qcy93ZWJn
cHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotY29u
c3Qgc2hhZGVyU291cmNlID0gYAotW251bXRocmVhZHMoMSwgMSwgMSldCi1jb21wdXRlIHZvaWQg
Y29tcHV0ZVNoYWRlcihkZXZpY2UgZmxvYXRbXSBidWZmZXIgOiByZWdpc3Rlcih1MSkpIHsKLSAg
ICBidWZmZXJbMF0gPSAxNzsKLX0KLWA7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkg
ewotICAgIGRldmljZS5wdXNoRXJyb3JTY29wZSgidmFsaWRhdGlvbiIpOwotICAgIGNvbnN0IHNo
YWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNvdXJj
ZX0pOwotICAgIGNvbnN0IGNvbXB1dGVTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50
cnlQb2ludDogImNvbXB1dGVTaGFkZXIifTsKLQotICAgIGNvbnN0IGJpbmRHcm91cExheW91dERl
c2NyaXB0b3IgPSB7YmluZGluZ3M6IFt7YmluZGluZzogMCwgdmlzaWJpbGl0eTogMCwgdHlwZTog
InN0b3JhZ2UtYnVmZmVyIn0sIHtiaW5kaW5nOiAxLCB2aXNpYmlsaXR5OiA3LCB0eXBlOiAic3Rv
cmFnZS1idWZmZXIifV19OwotICAgIGNvbnN0IGJpbmRHcm91cExheW91dCA9IGRldmljZS5jcmVh
dGVCaW5kR3JvdXBMYXlvdXQoYmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvcik7Ci0gICAgY29uc3Qg
cGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yID0ge2JpbmRHcm91cExheW91dHM6IFtiaW5kR3JvdXBM
YXlvdXRdfTsKLSAgICBjb25zdCBwaXBlbGluZUxheW91dCA9IGRldmljZS5jcmVhdGVQaXBlbGlu
ZUxheW91dChwaXBlbGluZUxheW91dERlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgY29tcHV0ZVBp
cGVsaW5lRGVzY3JpcHRvciA9IHtjb21wdXRlU3RhZ2UsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9
OwotICAgIGNvbnN0IGNvbXB1dGVQaXBlbGluZSA9IGRldmljZS5jcmVhdGVDb21wdXRlUGlwZWxp
bmUoY29tcHV0ZVBpcGVsaW5lRGVzY3JpcHRvcik7Ci0gICAgZGV2aWNlLnBvcEVycm9yU2NvcGUo
KS50aGVuKGZ1bmN0aW9uKGUpIHsKLSAgICAgICAgYWxlcnQoZS5tZXNzYWdlKTsKLSAgICB9KTsK
LQotICAgIGNvbnN0IHNpemUgPSBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiAxOwot
Ci0gICAgY29uc3QgYnVmZmVyMSA9IGRldmljZS5jcmVhdGVCdWZmZXIoe3NpemUsIHVzYWdlOiBH
UFVCdWZmZXJVc2FnZS5TVE9SQUdFIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1JFQUR9KTsKLSAgICBj
b25zdCBidWZmZXIyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlcih7c2l6ZSwgdXNhZ2U6IEdQVUJ1ZmZl
clVzYWdlLlNUT1JBR0UgfCBHUFVCdWZmZXJVc2FnZS5NQVBfUkVBRH0pOwotCi0gICAgY29uc3Qg
YmluZEdyb3VwID0gZGV2aWNlLmNyZWF0ZUJpbmRHcm91cCh7bGF5b3V0OiBiaW5kR3JvdXBMYXlv
dXQsIGJpbmRpbmdzOiBbe2JpbmRpbmc6IDAsIHJlc291cmNlOiB7YnVmZmVyOiBidWZmZXIxLCBz
aXplfX0sIHtiaW5kaW5nOiAxLCByZXNvdXJjZToge2J1ZmZlcjogYnVmZmVyMiwgc2l6ZX19XX0p
OwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBkZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29k
ZXIoKTsgLy8ge30KLSAgICBjb25zdCBjb21wdXRlUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rl
ci5iZWdpbkNvbXB1dGVQYXNzKCk7Ci0gICAgY29tcHV0ZVBhc3NFbmNvZGVyLnNldFBpcGVsaW5l
KGNvbXB1dGVQaXBlbGluZSk7Ci0gICAgY29tcHV0ZVBhc3NFbmNvZGVyLnNldEJpbmRHcm91cCgw
LCBiaW5kR3JvdXApOwotICAgIGNvbXB1dGVQYXNzRW5jb2Rlci5kaXNwYXRjaCgxLCAxLCAxKTsK
LSAgICBjb21wdXRlUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRCdWZm
ZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5zdWJt
aXQoW2NvbW1hbmRCdWZmZXJdKTsKLQotICAgIGNvbnN0IHJlc3VsdHNBcnJheUJ1ZmZlciA9IGF3
YWl0IGJ1ZmZlcjIubWFwUmVhZEFzeW5jKCk7Ci0gICAgY29uc3QgcmVzdWx0c0Zsb2F0MzJBcnJh
eSA9IG5ldyBGbG9hdDMyQXJyYXkocmVzdWx0c0FycmF5QnVmZmVyKTsKLSAgICBpZiAocmVzdWx0
c0Zsb2F0MzJBcnJheVswXSA9PSAxNykKLSAgICAgICAgdGVzdFBhc3NlZCgiIik7Ci0gICAgZWxz
ZQotICAgICAgICB0ZXN0RmFpbGVkKCIiKTsKLSAgICBidWZmZXIyLnVubWFwKCk7Ci19Ci0KLXdp
bmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihmdW5jdGlv
bihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAg
IGZpbmlzaEpTVGVzdCgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICB0ZXN0RmFpbGVk
KCIiKTsKLSAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgfSk7Ci19LCBmdW5jdGlvbigpIHsK
LSAgICB0ZXN0UGFzc2VkKCIiKTsKLSAgICBmaW5pc2hKU1Rlc3QoKTsKLX0pOwotPC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wv
c3BhcnNlLWJpbmQtZ3JvdXAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNs
L3NwYXJzZS1iaW5kLWdyb3VwLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNDg4MmY5MDQ1OGE1NmY1NDVlYjE5Yzc0ZDI3ZjhmNmFmMjMxODJkNC4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy93ZWJncHUv
d2hsc2wvc3BhcnNlLWJpbmQtZ3JvdXAtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEs
NSArMCwwIEBACi1QQVNTIAotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNU
IENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdwdS93aGxzbC9zcGFyc2Ut
YmluZC1ncm91cC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3NwYXJzZS1iaW5kLWdy
b3VwLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE5MzgyMjRjM2Y5ZDRjYjlj
MTQyNzdmM2I1NGZmZjJmMWI2Zjk1Y2IuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3NwYXJzZS1iaW5kLWdyb3Vw
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw3MCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxo
dG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9IGAK
LVtudW10aHJlYWRzKDEsIDEsIDEpXQotY29tcHV0ZSB2b2lkIGNvbXB1dGVTaGFkZXIoZGV2aWNl
IGZsb2F0W10gYnVmZmVyIDogcmVnaXN0ZXIodTAsIHNwYWNlMSkpIHsKLSAgICBidWZmZXJbMF0g
PSAxNzsKLX0KLWA7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0
IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNv
dXJjZX0pOwotICAgIGNvbnN0IGNvbXB1dGVTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwg
ZW50cnlQb2ludDogImNvbXB1dGVTaGFkZXIifTsKLQotICAgIGNvbnN0IGJpbmRHcm91cExheW91
dERlc2NyaXB0b3IgPSB7YmluZGluZ3M6IFt7YmluZGluZzogMCwgdmlzaWJpbGl0eTogNywgdHlw
ZTogInN0b3JhZ2UtYnVmZmVyIn1dfTsKLSAgICBjb25zdCBiaW5kR3JvdXBMYXlvdXQgPSBkZXZp
Y2UuY3JlYXRlQmluZEdyb3VwTGF5b3V0KGJpbmRHcm91cExheW91dERlc2NyaXB0b3IpOwotICAg
IGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbYmlu
ZEdyb3VwTGF5b3V0LCBiaW5kR3JvdXBMYXlvdXRdfTsKLSAgICBjb25zdCBwaXBlbGluZUxheW91
dCA9IGRldmljZS5jcmVhdGVQaXBlbGluZUxheW91dChwaXBlbGluZUxheW91dERlc2NyaXB0b3Ip
OwotCi0gICAgY29uc3QgY29tcHV0ZVBpcGVsaW5lRGVzY3JpcHRvciA9IHtjb21wdXRlU3RhZ2Us
IGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IGNvbXB1dGVQaXBlbGluZSA9IGRl
dmljZS5jcmVhdGVDb21wdXRlUGlwZWxpbmUoY29tcHV0ZVBpcGVsaW5lRGVzY3JpcHRvcik7Ci0K
LSAgICBjb25zdCBzaXplID0gRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogMTsKLQot
ICAgIGNvbnN0IGJ1ZmZlcjEgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHtzaXplLCB1c2FnZTogR1BV
QnVmZmVyVXNhZ2UuU1RPUkFHRSB8IEdQVUJ1ZmZlclVzYWdlLk1BUF9SRUFEfSk7Ci0gICAgY29u
c3QgYnVmZmVyMiA9IGRldmljZS5jcmVhdGVCdWZmZXIoe3NpemUsIHVzYWdlOiBHUFVCdWZmZXJV
c2FnZS5TVE9SQUdFIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1JFQUR9KTsKLQotICAgIGNvbnN0IGJp
bmRHcm91cDEgPSBkZXZpY2UuY3JlYXRlQmluZEdyb3VwKHtsYXlvdXQ6IGJpbmRHcm91cExheW91
dCwgYmluZGluZ3M6IFt7YmluZGluZzogMCwgcmVzb3VyY2U6IHtidWZmZXI6IGJ1ZmZlcjEsIHNp
emV9fV19KTsKLSAgICBjb25zdCBiaW5kR3JvdXAyID0gZGV2aWNlLmNyZWF0ZUJpbmRHcm91cCh7
bGF5b3V0OiBiaW5kR3JvdXBMYXlvdXQsIGJpbmRpbmdzOiBbe2JpbmRpbmc6IDAsIHJlc291cmNl
OiB7YnVmZmVyOiBidWZmZXIyLCBzaXplfX1dfSk7Ci0KLSAgICBjb25zdCBjb21tYW5kRW5jb2Rl
ciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0IGNvbXB1
dGVQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2luQ29tcHV0ZVBhc3MoKTsKLSAgICBj
b21wdXRlUGFzc0VuY29kZXIuc2V0UGlwZWxpbmUoY29tcHV0ZVBpcGVsaW5lKTsKLSAgICBjb21w
dXRlUGFzc0VuY29kZXIuc2V0QmluZEdyb3VwKDAsIGJpbmRHcm91cDEpOwotICAgIGNvbXB1dGVQ
YXNzRW5jb2Rlci5zZXRCaW5kR3JvdXAoMSwgYmluZEdyb3VwMik7Ci0gICAgY29tcHV0ZVBhc3NF
bmNvZGVyLmRpc3BhdGNoKDEsIDEsIDEpOwotICAgIGNvbXB1dGVQYXNzRW5jb2Rlci5lbmRQYXNz
KCk7Ci0gICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwot
ICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotCi0gICAgY29u
c3QgcmVzdWx0c0FycmF5QnVmZmVyID0gYXdhaXQgYnVmZmVyMi5tYXBSZWFkQXN5bmMoKTsKLSAg
ICBjb25zdCByZXN1bHRzRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheShyZXN1bHRzQXJy
YXlCdWZmZXIpOwotICAgIGlmIChyZXN1bHRzRmxvYXQzMkFycmF5WzBdID09IDE3KQotICAgICAg
ICB0ZXN0UGFzc2VkKCIiKTsKLSAgICBlbHNlCi0gICAgICAgIHRlc3RGYWlsZWQoIiIpOwotICAg
IGJ1ZmZlcjIudW5tYXAoKTsKLX0KLQotd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwotZ2V0
QmFzaWNEZXZpY2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSku
dGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgfSwgZnVuY3Rp
b24oKSB7Ci0gICAgICAgIHRlc3RGYWlsZWQoIiIpOwotICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
LSAgICB9KTsKLX0sIGZ1bmN0aW9uKCkgewotICAgIHRlc3RQYXNzZWQoIiIpOwotICAgIGZpbmlz
aEpTVGVzdCgpOwotfSk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>