<?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>63917</bug_id>
          
          <creation_ts>2011-07-04 13:21:12 -0700</creation_ts>
          <short_desc>REGRESSION(r90373): Breaks Qt Linux Release minimal (Requested by vsevik on #webkit).</short_desc>
          <delta_ts>2011-07-04 13:26:54 -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>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>30080</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>pfeldman</cc>
    
    <cc>vsevik</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>432033</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-04 13:21:12 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/90373 broke the build:
Breaks Qt Linux Release minimal (Requested by vsevik on #webkit).

This is an automatic bug report generated by the sheriff-bot. 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 case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>432035</commentid>
    <comment_count>1</comment_count>
      <attachid>99654</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-04 13:21:39 -0700</bug_when>
    <thetext>Created attachment 99654
ROLLOUT of r90373

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 --ignore-builders

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>432039</commentid>
    <comment_count>2</comment_count>
      <attachid>99654</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-04 13:26:50 -0700</bug_when>
    <thetext>Comment on attachment 99654
ROLLOUT of r90373

Clearing flags on attachment: 99654

Committed r90375: &lt;http://trac.webkit.org/changeset/90375&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>432040</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-04 13:26:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>99654</attachid>
            <date>2011-07-04 13:21:39 -0700</date>
            <delta_ts>2011-07-04 13:26:50 -0700</delta_ts>
            <desc>ROLLOUT of r90373</desc>
            <filename>bug-63917-20110704202106.patch</filename>
            <type>text/plain</type>
            <size>73255</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTAzNzQKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5n
ZUxvZwppbmRleCA4YTYzNWI2MmU3YzY2MzlkNTQ3YmYyYTA4ODNkZWZmMzgzY2UyMDM1Li4wNTE4
ODhjODY3NzVjYzAyZGIwOWE4NDU5ZTY0MzQxODM1ODczZjFiIDEwMDY0NAotLS0gYS9DaGFuZ2VM
b2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDctMDQgIFNoZXJpZmYg
Qm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQs
IHJvbGxpbmcgb3V0IHI5MDM3My4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFu
Z2VzZXQvOTAzNzMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTYzOTE3CisKKyAgICAgICAgQnJlYWtzIFF0IExpbnV4IFJlbGVhc2UgbWluaW1hbCAoUmVx
dWVzdGVkIGJ5IHZzZXZpayBvbgorICAgICAgICAjd2Via2l0KS4KKworICAgICAgICAqIFNvdXJj
ZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXI6CisKIDIwMTEtMDctMDQgIFZzZXZvbG9kIFZsYXNv
diAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogU2hvdyBj
b250ZW50IGZvciBwbHVnaW4gcmVxdWVzdHMgaW4gbmV0d29yayBwYW5lbC4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3Mjc0
ZWM0ZDY5MWM5NzdmNDZjOGFlYTBhZWM2YzRhYTJkODAxNjViLi4wOTFiZDFkNDM1NGQ4ZjdjZDUz
NGQwYTI1NzVlMTcyNzJjZjY5MGRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMDctMDQg
IFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVu
cmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI5MDM3My4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0
Lm9yZy9jaGFuZ2VzZXQvOTAzNzMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTYzOTE3CisKKyAgICAgICAgQnJlYWtzIFF0IExpbnV4IFJlbGVhc2UgbWlu
aW1hbCAoUmVxdWVzdGVkIGJ5IHZzZXZpayBvbgorICAgICAgICAjd2Via2l0KS4KKworICAgICAg
ICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay1jb250ZW50LXJlcGxhY2Vt
ZW50LWVtYmVkLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2lu
c3BlY3Rvci9uZXR3b3JrL25ldHdvcmstY29udGVudC1yZXBsYWNlbWVudC1lbWJlZC5odG1sOiBS
ZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay1j
b250ZW50LXJlcGxhY2VtZW50LXhoci1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLWNvbnRlbnQtcmVwbGFjZW1lbnQt
eGhyLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29y
ay9uZXR3b3JrLWVtYmVkLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstZW1iZWQuaHRtbDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmsteGhyLWFzeW5jLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmst
eGhyLWFzeW5jLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9u
ZXR3b3JrLXhoci1zeW5jLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3Bl
Y3Rvci9uZXR3b3JrL25ldHdvcmsteGhyLXN5bmMuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3Rz
L2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9jcDEyNTEueG1sOiBSZW1vdmVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3BsdWdpbi1kYXRhLnBo
cDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291
cmNlcy9yZXNvdXJjZS5waHA6CisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29y
ay9yZXNvdXJjZXMvdXRmOC54bWw6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21p
dW0vdGVzdF9leHBlY3RhdGlvbnMudHh0OgorCiAyMDExLTA3LTA0ICBWc2V2b2xvZCBWbGFzb3Yg
IDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFNob3cgY29u
dGVudCBmb3IgcGx1Z2luIHJlcXVlc3RzIGluIG5ldHdvcmsgcGFuZWwuCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstY29udGVudC1y
ZXBsYWNlbWVudC1lbWJlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9uZXR3b3JrL25ldHdvcmstY29udGVudC1yZXBsYWNlbWVudC1lbWJlZC1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI5MTFiMmUxMzBmZjNmZGY2NDY5
MGUzYWNiYTYzOTU2OWE0NmM1MTguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3
b3JrLWNvbnRlbnQtcmVwbGFjZW1lbnQtZW1iZWQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsMTMgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDYwOiBEb25lLgotVGVzdHMg
TmV0d29ya1Jlc291cmNlc0RhdGEgbG9naWMgZm9yIGVtYmVkIGNvbnRlbnQgcmVwbGFjZW1lbnQu
Ci0KLQotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9y
ZXNvdXJjZS5waHA/c2l6ZT0yMDAKLXJlc291cmNlLmNvbnRlbnQgYWZ0ZXIgcmVxdWVzdGluZyBj
b250ZW50OiBudWxsCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVz
b3VyY2VzL3Jlc291cmNlLnBocD9zaXplPTEwMAotcmVzb3VyY2UuY29udGVudCBhZnRlciByZXF1
ZXN0aW5nIGNvbnRlbnQ6ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcmVz
b3VyY2UucGhwP3NpemU9MjAxCi1yZXNvdXJjZS5jb250ZW50IGFmdGVyIHJlcXVlc3RpbmcgY29u
dGVudDogbnVsbAotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291
cmNlcy9yZXNvdXJjZS5waHA/c2l6ZT0xMDAKLXJlc291cmNlLmNvbnRlbnQgYWZ0ZXIgcmVxdWVz
dGluZyBjb250ZW50OiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsv
bmV0d29yay1jb250ZW50LXJlcGxhY2VtZW50LWVtYmVkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstY29udGVudC1yZXBsYWNlbWVudC1lbWJl
ZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OWVlM2RiN2VmOGZjOTNjOTQw
OTQxYWE3MmQwODFmMzQzMzU4NmU3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0
d29yay1jb250ZW50LXJlcGxhY2VtZW50LWVtYmVkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwx
MTkgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVz
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi12YXIgbG9hZGVkRmlyc3RVUkwgPSBmYWxzZTsK
LWZ1bmN0aW9uIHN0cmVhbUxvYWRlZCgpCi17Ci0gICAgaWYgKGxvYWRlZEZpcnN0VVJMKQotICAg
ICAgICByZXR1cm47Ci0KLSAgICBsb2FkZWRGaXJzdFVSTCA9IHRydWU7Ci0gICAgbG9hZFVSTHMo
KTsKLX0KLQotdmFyIHNuaWZmZXJJbnN0YWxsZWQgPSBmYWxzZTsKLWZ1bmN0aW9uIG9uU25pZmZl
ckluc3RhbGxlZCgpCi17Ci0gICAgc25pZmZlckluc3RhbGxlZCA9IHRydWU7Ci0gICAgbG9hZFVS
THMoKTsKLX0KLQotZnVuY3Rpb24gbG9hZFVSTHMoKQotewotICAgIGlmICghc25pZmZlckluc3Rh
bGxlZCB8fCAhbG9hZGVkRmlyc3RVUkwpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmICghd2lu
ZG93LmludGVybmFscykgewotICAgICAgICBjb25zb2xlLmxvZygiVGhpcyB0ZXN0IGNhbiBub3Qg
YmUgcnVuIGFzIHdpbmRvdy5pbnRlcm5hbHMgaXMgbm90IGF2YWlsYWJsZS4iKTsKLSAgICAgICAg
cmV0dXJuOwotICAgIH0KLSAgICAvLyBFYWNoICcqJyBzeW1ib2wgaW4gb3JpZ2luYWwgZGF0YSB3
aWxsIHVzZSB0d28gYnl0ZXMgaW4gU3RyaW5nIG9iamVjdAotICAgIC8vIGFmdGVyIGRlY29kaW5n
LCBoZW5jZSBtdWx0aXBseWluZyBieSB0d28uCi0gICAgaW50ZXJuYWxzLnNldEluc3BlY3RvclJl
c291cmNlc0RhdGFTaXplTGltaXRzKGRvY3VtZW50LCAyKjMwMCwgMioyMDApOwotCi0gICAgLy8g
SGVyZSB3ZSB0ZXN0IHJlcGxhY2VtZW50IGxvZ2ljLiBXZSBzYXZlIGZpcnN0IHR3byByZXNvdXJj
ZXMgY29udGVudCwKLSAgICAvLyBkaXNjYXJkIHRoaXJkIHJlc291cmNlIGNvbnRlbnQgb25jZSB3
ZSBzZWUgaXRzIHNpemUgZXhjZWVkcyBsaW1pdCwKLSAgICAvLyBhbmQgZmluYWxseSByZXBsYWNl
IGZpcnN0IHJlc291cmNlIGNvbnRlbnQgd2l0aCB0aGUgbGFzdCByZXNvdXJjZSBjb250ZW50Lgot
Ci0gICAgcGxnLmdldFVSTE5vdGlmeSgicmVzb3VyY2VzL3Jlc291cmNlLnBocD9zaXplPTIwMCIs
IG51bGwsICJsb2FkVVJMMiIpOwotfQotCi1mdW5jdGlvbiBsb2FkVVJMMigpCi17Ci0gICAgcGxn
LmdldFVSTE5vdGlmeSgicmVzb3VyY2VzL3Jlc291cmNlLnBocD9zaXplPTEwMCIsIG51bGwsICJs
b2FkVVJMMyIpOwotfQotCi1mdW5jdGlvbiBsb2FkVVJMMygpCi17Ci0gICAgcGxnLmdldFVSTE5v
dGlmeSgicmVzb3VyY2VzL3Jlc291cmNlLnBocD9zaXplPTIwMSIsIG51bGwsICJsb2FkVVJMNCIp
OwotfQotCi1mdW5jdGlvbiBsb2FkVVJMNCgpCi17Ci0gICAgcGxnLmdldFVSTE5vdGlmeSgicmVz
b3VyY2VzL3Jlc291cmNlLnBocD9zaXplPTEwMCIsIG51bGwsICJhbGxVUkxzTG9hZGVkIik7Ci19
Ci0KLWZ1bmN0aW9uIGFsbFVSTHNMb2FkZWQoKQotewotICAgIGNvbnNvbGUubG9nKCJEb25lLiIp
OwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIo
V2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZSwgImFkZE1lc3NhZ2UiLCBzdGVwMSk7
Ci0gICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgib25TbmlmZmVySW5zdGFsbGVkKCki
KTsKLQotICAgIGZ1bmN0aW9uIGR1bXBSZXNvdXJjZShyZXNvdXJjZSwgY2FsbGJhY2spCi0gICAg
ewotICAgICAgICBpZiAoIXJlc291cmNlKQotICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7
Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHJlc291cmNlLnVybCk7Ci0KLSAgICAg
ICAgZnVuY3Rpb24gY29udGVudExvYWRlZCgpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KCJyZXNvdXJjZS5jb250ZW50IGFmdGVyIHJlcXVlc3RpbmcgY29u
dGVudDogIiArIHJlc291cmNlLmNvbnRlbnQpOwotICAgICAgICAgICAgY2FsbGJhY2soKTsKLSAg
ICAgICAgfQotCi0gICAgICAgIHJlc291cmNlLnJlcXVlc3RDb250ZW50KGNvbnRlbnRMb2FkZWQp
OwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIHZhciByZXNv
dXJjZSA9IFdlYkluc3BlY3Rvci5wYW5lbHMubmV0d29yay5yZXNvdXJjZXNbV2ViSW5zcGVjdG9y
LnBhbmVscy5uZXR3b3JrLnJlc291cmNlcy5sZW5ndGggLSA0XTsKLSAgICAgICAgZHVtcFJlc291
cmNlKHJlc291cmNlLCBzdGVwMik7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDIoKQotICAg
IHsKLSAgICAgICAgdmFyIHJlc291cmNlID0gV2ViSW5zcGVjdG9yLnBhbmVscy5uZXR3b3JrLnJl
c291cmNlc1tXZWJJbnNwZWN0b3IucGFuZWxzLm5ldHdvcmsucmVzb3VyY2VzLmxlbmd0aCAtIDNd
OwotICAgICAgICBkdW1wUmVzb3VyY2UocmVzb3VyY2UsIHN0ZXAzKTsKLSAgICB9Ci0KLSAgICBm
dW5jdGlvbiBzdGVwMygpCi0gICAgewotICAgICAgICB2YXIgcmVzb3VyY2UgPSBXZWJJbnNwZWN0
b3IucGFuZWxzLm5ldHdvcmsucmVzb3VyY2VzW1dlYkluc3BlY3Rvci5wYW5lbHMubmV0d29yay5y
ZXNvdXJjZXMubGVuZ3RoIC0gMl07Ci0gICAgICAgIGR1bXBSZXNvdXJjZShyZXNvdXJjZSwgc3Rl
cDQpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA0KCkKLSAgICB7Ci0gICAgICAgIHZhciBy
ZXNvdXJjZSA9IFdlYkluc3BlY3Rvci5wYW5lbHMubmV0d29yay5yZXNvdXJjZXNbV2ViSW5zcGVj
dG9yLnBhbmVscy5uZXR3b3JrLnJlc291cmNlcy5sZW5ndGggLSAxXTsKLSAgICAgICAgZHVtcFJl
c291cmNlKHJlc291cmNlLCBzdGVwNSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDUoKQot
ICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci08
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLSAgICA8cD5UZXN0
cyBOZXR3b3JrUmVzb3VyY2VzRGF0YSBsb2dpYyBmb3IgZW1iZWQgY29udGVudCByZXBsYWNlbWVu
dC48L3A+Ci0gICAgPGVtYmVkIG5hbWU9InBsZyIgdHlwZT0iYXBwbGljYXRpb24veC13ZWJraXQt
dGVzdC1uZXRzY2FwZSIgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UiIG9u
c3RyZWFtbG9hZD0ic3RyZWFtTG9hZGVkKCkiPjwvZW1iZWQ+Ci08L2JvZHk+Ci08L2h0bWw+Ci0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0
d29yay1jb250ZW50LXJlcGxhY2VtZW50LXhoci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstY29udGVudC1yZXBsYWNlbWVudC14
aHItZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMWVmNzNmNjA3
MjM4MjU2NzEwNGM4NTUzZDBmMjIzNmE3ZGQyMzFhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25l
dHdvcmsvbmV0d29yay1jb250ZW50LXJlcGxhY2VtZW50LXhoci1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzk6IERvbmUu
Ci1UZXN0cyBOZXR3b3JrUmVzb3VyY2VzRGF0YSBsb2dpYyBmb3IgWEhSIGNvbnRlbnQgcmVwbGFj
ZW1lbnQuCi0KLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJj
ZXMvcmVzb3VyY2UucGhwP3NpemU9MjAwCi1yZXNvdXJjZS5jb250ZW50OiBudWxsCi1odHRwOi8v
MTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3Jlc291cmNlLnBocD9z
aXplPTEwMAotcmVzb3VyY2UuY29udGVudDogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKgotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jl
c291cmNlcy9yZXNvdXJjZS5waHA/c2l6ZT0yMDEKLXJlc291cmNlLmNvbnRlbnQ6IG51bGwKLWh0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcmVzb3VyY2Uu
cGhwP3NpemU9MTAwCi1yZXNvdXJjZS5jb250ZW50OiAqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay1jb250ZW50LXJlcGxhY2VtZW50LXhoci5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLWNvbnRlbnQt
cmVwbGFjZW1lbnQteGhyLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE2NWNi
MWQ3MmRjZDc0MGE0OTkyZGVhZTRiNWI3YTcxMDFjMGI2NWYuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3IvbmV0d29yay9uZXR3b3JrLWNvbnRlbnQtcmVwbGFjZW1lbnQteGhyLmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSw5NyArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2lu
c3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9uZXR3b3JrLXRlc3Qu
anMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0aW9uIGxvYWREYXRhKCkKLXsKLSAgICBpZiAo
IXdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgY29uc29sZS5sb2coIlRoaXMgdGVzdCBjYW4g
bm90IGJlIHJ1biBhcyB3aW5kb3cuaW50ZXJuYWxzIGlzIG5vdCBhdmFpbGFibGUuIik7Ci0gICAg
ICAgIHJldHVybjsKLSAgICB9Ci0gICAgLy8gRWFjaCAnKicgc3ltYm9sIHdpbGwgdXNlIHR3byBi
eXRlcyBpbiBTdHJpbmcgb2JqZWN0LCBoZW5jZSBtdWx0aXBseWluZyBieSB0d28uCi0gICAgaW50
ZXJuYWxzLnNldEluc3BlY3RvclJlc291cmNlc0RhdGFTaXplTGltaXRzKGRvY3VtZW50LCAyKjMw
MCwgMioyMDApOwotCi0gICAgLy8gSGVyZSB3ZSB0ZXN0IHJlcGxhY2VtZW50IGxvZ2ljLiBXZSBz
YXZlIGZpcnN0IHR3byByZXNvdXJjZXMgY29udGVudCwKLSAgICAvLyBkaXNjYXJkIHRoaXJkIHJl
c291cmNlIGNvbnRlbnQgb25jZSB3ZSBzZWUgaXRzIHNpemUgZXhjZWVkcyBsaW1pdCwKLSAgICAv
LyBhbmQgZmluYWxseSByZXBsYWNlIGZpcnN0IHJlc291cmNlIGNvbnRlbnQgd2l0aCB0aGUgbGFz
dCByZXNvdXJjZSBjb250ZW50LgotCi0gICAgZG9YSFIoIkdFVCIsICJyZXNvdXJjZXMvcmVzb3Vy
Y2UucGhwP3NpemU9MjAwIiwgdHJ1ZSwgeGhyTG9hZGVkMSk7Ci19Ci0KLWZ1bmN0aW9uIHhockxv
YWRlZDEoKQotewotICAgIGRvWEhSKCJHRVQiLCAicmVzb3VyY2VzL3Jlc291cmNlLnBocD9zaXpl
PTEwMCIsIHRydWUsIHhockxvYWRlZDIpOwotfQotCi1mdW5jdGlvbiB4aHJMb2FkZWQyKCkKLXsK
LSAgICBkb1hIUigiR0VUIiwgInJlc291cmNlcy9yZXNvdXJjZS5waHA/c2l6ZT0yMDEiLCB0cnVl
LCB4aHJMb2FkZWQzKTsKLX0KLQotZnVuY3Rpb24geGhyTG9hZGVkMygpCi17Ci0gICAgZG9YSFIo
IkdFVCIsICJyZXNvdXJjZXMvcmVzb3VyY2UucGhwP3NpemU9MTAwIiwgdHJ1ZSwgYWxsWEhSc0xv
YWRlZCk7Ci19Ci0KLWZ1bmN0aW9uIGFsbFhIUnNMb2FkZWQoKQotewotICAgIGNvbnNvbGUubG9n
KCJEb25lLiIpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmFk
ZFNuaWZmZXIoV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZSwgImFkZE1lc3NhZ2Ui
LCBzdGVwMSk7Ci0gICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibG9hZERhdGEoKSIp
OwotCi0gICAgZnVuY3Rpb24gZHVtcFJlc291cmNlKHJlc291cmNlLCBjYWxsYmFjaykKLSAgICB7
Ci0gICAgICAgIGlmICghcmVzb3VyY2UpCi0gICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKTsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocmVzb3VyY2UudXJsKTsKLQotICAgICAg
ICBmdW5jdGlvbiBjb250ZW50TG9hZGVkKCkKLSAgICAgICAgewotICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoInJlc291cmNlLmNvbnRlbnQ6ICIgKyByZXNvdXJjZS5jb250ZW50
KTsKLSAgICAgICAgICAgIGNhbGxiYWNrKCk7Ci0gICAgICAgIH0KLQotICAgICAgICByZXNvdXJj
ZS5yZXF1ZXN0Q29udGVudChjb250ZW50TG9hZGVkKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBz
dGVwMSgpCi0gICAgewotICAgICAgICB2YXIgcmVzb3VyY2UgPSBXZWJJbnNwZWN0b3IucGFuZWxz
Lm5ldHdvcmsucmVzb3VyY2VzW1dlYkluc3BlY3Rvci5wYW5lbHMubmV0d29yay5yZXNvdXJjZXMu
bGVuZ3RoIC0gNF07Ci0gICAgICAgIGR1bXBSZXNvdXJjZShyZXNvdXJjZSwgc3RlcDIpOwotICAg
IH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAgICAgIHZhciByZXNvdXJjZSA9
IFdlYkluc3BlY3Rvci5wYW5lbHMubmV0d29yay5yZXNvdXJjZXNbV2ViSW5zcGVjdG9yLnBhbmVs
cy5uZXR3b3JrLnJlc291cmNlcy5sZW5ndGggLSAzXTsKLSAgICAgICAgZHVtcFJlc291cmNlKHJl
c291cmNlLCBzdGVwMyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMoKQotICAgIHsKLSAg
ICAgICAgdmFyIHJlc291cmNlID0gV2ViSW5zcGVjdG9yLnBhbmVscy5uZXR3b3JrLnJlc291cmNl
c1tXZWJJbnNwZWN0b3IucGFuZWxzLm5ldHdvcmsucmVzb3VyY2VzLmxlbmd0aCAtIDJdOwotICAg
ICAgICBkdW1wUmVzb3VyY2UocmVzb3VyY2UsIHN0ZXA0KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlv
biBzdGVwNCgpCi0gICAgewotICAgICAgICB2YXIgcmVzb3VyY2UgPSBXZWJJbnNwZWN0b3IucGFu
ZWxzLm5ldHdvcmsucmVzb3VyY2VzW1dlYkluc3BlY3Rvci5wYW5lbHMubmV0d29yay5yZXNvdXJj
ZXMubGVuZ3RoIC0gMV07Ci0gICAgICAgIGR1bXBSZXNvdXJjZShyZXNvdXJjZSwgc3RlcDUpOwot
ICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA1KCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRl
c3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBv
bmxvYWQ9InJ1blRlc3QoKSI+Ci0gICAgPHA+IFRlc3RzIE5ldHdvcmtSZXNvdXJjZXNEYXRhIGxv
Z2ljIGZvciBYSFIgY29udGVudCByZXBsYWNlbWVudC48L3A+Ci08L2JvZHk+Ci08L2h0bWw+Ci0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0
d29yay1lbWJlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9uZXR3b3JrL25ldHdvcmstZW1iZWQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBiZGJmZjBmNzUzYjQyZjdiYmIyODg0MGVhZTRhNTc3ZTI1ZWQ1YTdjLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay1lbWJlZC1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjY6IERv
bmUuCi1UZXN0cyB0aGF0IG5ldHdvcmsgcGFuZWwgc2hvd3MgY29udGVudCBmb3IgZW1iZWQgb2Jq
ZWN0cy4KLQotCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3Vy
Y2VzL3Jlc291cmNlLnBocD90eXBlPWltYWdlCi1yZXNvdXJjZS50eXBlOiA4Ci1yZXNvdXJjZS5j
b250ZW50IGJlZm9yZSByZXF1ZXN0aW5nIGNvbnRlbnQ6IHVuZGVmaW5lZAotcmVzb3VyY2UuY29u
dGVudCBhZnRlciByZXF1ZXN0aW5nIGNvbnRlbnQ6IG51bGwKLWh0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcGx1Z2luLWRhdGEucGhwP2ZpbGVuYW1lPXV0
ZjgueG1sJm1pbWV0eXBlPXRleHQvaHRtbCZjaGFyc2V0PXV0ZjgKLXJlc291cmNlLnR5cGU6IDgK
LXJlc291cmNlLmNvbnRlbnQgYmVmb3JlIHJlcXVlc3RpbmcgY29udGVudDogdW5kZWZpbmVkCi1y
ZXNvdXJjZS5jb250ZW50IGFmdGVyIHJlcXVlc3RpbmcgY29udGVudDogPD94bWwgdmVyc2lvbj0n
MS4wJyBlbmNvZGluZz0ndXRmLTgnPz4KLTxyb290PgotICA8dXRmOD5TVdCh0KHQlVNTIC0gVGhl
c2UgJ0NDRScgYXJlIGN5cmlsbGljIGxldHRlcnMuPC91dGY4PgotPC9yb290PgotCi1odHRwOi8v
MTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3BsdWdpbi1kYXRhLnBo
cD9maWxlbmFtZT1jcDEyNTEueG1sJm1pbWV0eXBlPXRleHQvaHRtbCZjaGFyc2V0PWNwMTI1MQot
cmVzb3VyY2UudHlwZTogOAotcmVzb3VyY2UuY29udGVudCBiZWZvcmUgcmVxdWVzdGluZyBjb250
ZW50OiB1bmRlZmluZWQKLXJlc291cmNlLmNvbnRlbnQgYWZ0ZXIgcmVxdWVzdGluZyBjb250ZW50
OiA8P3htbCB2ZXJzaW9uPScxLjAnIGVuY29kaW5nPSdjcDEyNTEnPz4KLTxyb290PgotICA8Y3Ax
MjUxPlNV0KHQodCVU1MgLSBUaGVzZSAnQ0NFJyBhcmUgY3lyaWxsaWMgbGV0dGVycy48L2NwMTI1
MT4KLTwvcm9vdD4KLQotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jl
c291cmNlcy9wbHVnaW4tZGF0YS5waHA/ZmlsZW5hbWU9dXRmOC54bWwmbWltZXR5cGU9YXBwbGlj
YXRpb24veG1sCi1yZXNvdXJjZS50eXBlOiA4Ci1yZXNvdXJjZS5jb250ZW50IGJlZm9yZSByZXF1
ZXN0aW5nIGNvbnRlbnQ6IHVuZGVmaW5lZAotcmVzb3VyY2UuY29udGVudCBhZnRlciByZXF1ZXN0
aW5nIGNvbnRlbnQ6IDw/eG1sIHZlcnNpb249JzEuMCcgZW5jb2Rpbmc9J3V0Zi04Jz8+Ci08cm9v
dD4KLSAgPHV0Zjg+U1XQodCh0JVTUyAtIFRoZXNlICdDQ0UnIGFyZSBjeXJpbGxpYyBsZXR0ZXJz
LjwvdXRmOD4KLTwvcm9vdD4KLQotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3
b3JrL3Jlc291cmNlcy9wbHVnaW4tZGF0YS5waHA/ZmlsZW5hbWU9Y3AxMjUxLnhtbCZtaW1ldHlw
ZT1hcHBsaWNhdGlvbi94bWwKLXJlc291cmNlLnR5cGU6IDgKLXJlc291cmNlLmNvbnRlbnQgYmVm
b3JlIHJlcXVlc3RpbmcgY29udGVudDogdW5kZWZpbmVkCi1yZXNvdXJjZS5jb250ZW50IGFmdGVy
IHJlcXVlc3RpbmcgY29udGVudDogPD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nY3AxMjUx
Jz8+Ci08cm9vdD4KLSAgPGNwMTI1MT5TVdCh0KHQlVNTIC0gVGhlc2UgJ0NDRScgYXJlIGN5cmls
bGljIGxldHRlcnMuPC9jcDEyNTE+Ci08L3Jvb3Q+Ci0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLWVtYmVkLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstZW1iZWQuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjE1NTIzOTM4YTZlOGFmNDY2YTE2NzlkODBm
ZDVhZDNhODRiZThiYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstZW1i
ZWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEzMyArMCwwIEBACi08aHRtbD4KLTxoZWFkPgot
PHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0K
LXZhciBsb2FkZWRGaXJzdFVSTCA9IGZhbHNlOwotZnVuY3Rpb24gc3RyZWFtTG9hZGVkKCkKLXsK
LSAgICBpZiAobG9hZGVkRmlyc3RVUkwpCi0gICAgICAgIHJldHVybjsKLQotICAgIGxvYWRlZEZp
cnN0VVJMID0gdHJ1ZTsKLSAgICBsb2FkVVJMcygpOwotfQotCi12YXIgc25pZmZlckluc3RhbGxl
ZCA9IGZhbHNlOwotZnVuY3Rpb24gb25TbmlmZmVySW5zdGFsbGVkKCkKLXsKLSAgICBzbmlmZmVy
SW5zdGFsbGVkID0gdHJ1ZTsKLSAgICBsb2FkVVJMcygpOwotfQotCi1mdW5jdGlvbiBsb2FkVVJM
cygpCi17Ci0gICAgaWYgKCFzbmlmZmVySW5zdGFsbGVkIHx8ICFsb2FkZWRGaXJzdFVSTCkKLSAg
ICAgICAgcmV0dXJuOwotCi0gICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIGNv
bnNvbGUubG9nKCJUaGlzIHRlc3QgY2FuIG5vdCBiZSBydW4gYXMgd2luZG93LmludGVybmFscyBp
cyBub3QgYXZhaWxhYmxlLiIpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIC8vIFNpbmNl
IHRoaXMgdGVzdCBjb3VsZCBiZSBydW4gdG9nZXRoZXIgd2l0aCBvdGhlciBpbnNwZWN0b3IgYmFj
a2VuZCBjYWNoZQotICAgIC8vIHRlc3RzLCB3ZSBuZWVkIHRvIHJlc2V0IHNpemUgbGltaXRzIHRv
IGRlZmF1bHQgb25lcy4KLSAgICBpbnRlcm5hbHMuc2V0SW5zcGVjdG9yUmVzb3VyY2VzRGF0YVNp
emVMaW1pdHMoZG9jdW1lbnQsIDEwICogMTAwMCAqIDEwMDAsIDEwMDAgKiAxMDAwKTsKLQotICAg
IC8vIEJpbmFyeSBjb250ZW50IHNob3VsZCBub3QgYmUgYXZhaWxhYmxlLgotICAgIHBsZy5nZXRV
UkxOb3RpZnkoInJlc291cmNlcy9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSIsIG51bGwsICJsb2Fk
VVJMMiIpOwotfQotCi1mdW5jdGlvbiBsb2FkVVJMMigpCi17Ci0gICAgLy8gVGhpcyByZXNvdXJj
ZSBjb250ZW50IHNob3VsZCBiZSBjb3JyZWN0bHkgZGVjb2RlZC4KLSAgICBwbGcuZ2V0VVJMTm90
aWZ5KCJyZXNvdXJjZXMvcGx1Z2luLWRhdGEucGhwP2ZpbGVuYW1lPXV0ZjgueG1sJm1pbWV0eXBl
PXRleHQvaHRtbCZjaGFyc2V0PXV0ZjgiLCBudWxsLCAibG9hZFVSTDMiKTsKLX0KLQotZnVuY3Rp
b24gbG9hZFVSTDMoKQotewotICAgIC8vIFRoaXMgcmVzb3VyY2UgY29udGVudCBzaG91bGQgYmUg
Y29ycmVjdGx5IGRlY29kZWQuCi0gICAgcGxnLmdldFVSTE5vdGlmeSgicmVzb3VyY2VzL3BsdWdp
bi1kYXRhLnBocD9maWxlbmFtZT1jcDEyNTEueG1sJm1pbWV0eXBlPXRleHQvaHRtbCZjaGFyc2V0
PWNwMTI1MSIsIG51bGwsICJsb2FkVVJMNCIpOwotfQotCi1mdW5jdGlvbiBsb2FkVVJMNCgpCi17
Ci0gICAgLy8gVGhpcyByZXNvdXJjZSBjb250ZW50IHNob3VsZCBiZSBjb3JyZWN0bHkgZGVjb2Rl
ZC4KLSAgICBwbGcuZ2V0VVJMTm90aWZ5KCJyZXNvdXJjZXMvcGx1Z2luLWRhdGEucGhwP2ZpbGVu
YW1lPXV0ZjgueG1sJm1pbWV0eXBlPWFwcGxpY2F0aW9uL3htbCIsIG51bGwsICJsb2FkVVJMNSIp
OwotfQotCi1mdW5jdGlvbiBsb2FkVVJMNSgpCi17Ci0gICAgLy8gVGhpcyByZXNvdXJjZSBjb250
ZW50IHNob3VsZCBiZSBjb3JyZWN0bHkgZGVjb2RlZC4KLSAgICBwbGcuZ2V0VVJMTm90aWZ5KCJy
ZXNvdXJjZXMvcGx1Z2luLWRhdGEucGhwP2ZpbGVuYW1lPWNwMTI1MS54bWwmbWltZXR5cGU9YXBw
bGljYXRpb24veG1sIiwgbnVsbCwgImFsbFVSTHNMb2FkZWQiKTsKLX0KLQotZnVuY3Rpb24gYWxs
VVJMc0xvYWRlZCgpCi17Ci0gICAgY29uc29sZS5sb2coIkRvbmUuIik7Ci19Ci0KLWZ1bmN0aW9u
IHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuQ29u
c29sZVZpZXcucHJvdG90eXBlLCAiYWRkTWVzc2FnZSIsIHN0ZXAxKTsKLSAgICBJbnNwZWN0b3JU
ZXN0LmV2YWx1YXRlSW5QYWdlKCJvblNuaWZmZXJJbnN0YWxsZWQoKSIpOwotCi0gICAgZnVuY3Rp
b24gZHVtcFJlc291cmNlKHJlc291cmNlLCBjYWxsYmFjaykKLSAgICB7Ci0gICAgICAgIGlmICgh
cmVzb3VyY2UpCi0gICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKTsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQocmVzb3VyY2UudXJsKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoInJlc291cmNlLnR5cGU6ICIgKyByZXNvdXJjZS50eXBlKTsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlc291cmNlLmNvbnRlbnQgYmVmb3JlIHJlcXVlc3Rpbmcg
Y29udGVudDogIiArIHJlc291cmNlLmNvbnRlbnQpOwotCi0gICAgICAgIGZ1bmN0aW9uIGNvbnRl
bnRMb2FkZWQoKQotICAgICAgICB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgicmVzb3VyY2UuY29udGVudCBhZnRlciByZXF1ZXN0aW5nIGNvbnRlbnQ6ICIgKyByZXNvdXJj
ZS5jb250ZW50KTsKLSAgICAgICAgICAgIGNhbGxiYWNrKCk7Ci0gICAgICAgIH0KLQotICAgICAg
ICByZXNvdXJjZS5yZXF1ZXN0Q29udGVudChjb250ZW50TG9hZGVkKTsKLSAgICB9Ci0KLSAgICBm
dW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICB2YXIgcmVzb3VyY2UgPSBXZWJJbnNwZWN0
b3IucGFuZWxzLm5ldHdvcmsucmVzb3VyY2VzW1dlYkluc3BlY3Rvci5wYW5lbHMubmV0d29yay5y
ZXNvdXJjZXMubGVuZ3RoIC0gNV07Ci0gICAgICAgIGR1bXBSZXNvdXJjZShyZXNvdXJjZSwgc3Rl
cDIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAgICAgIHZhciBy
ZXNvdXJjZSA9IFdlYkluc3BlY3Rvci5wYW5lbHMubmV0d29yay5yZXNvdXJjZXNbV2ViSW5zcGVj
dG9yLnBhbmVscy5uZXR3b3JrLnJlc291cmNlcy5sZW5ndGggLSA0XTsKLSAgICAgICAgZHVtcFJl
c291cmNlKHJlc291cmNlLCBzdGVwMyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMoKQot
ICAgIHsKLSAgICAgICAgdmFyIHJlc291cmNlID0gV2ViSW5zcGVjdG9yLnBhbmVscy5uZXR3b3Jr
LnJlc291cmNlc1tXZWJJbnNwZWN0b3IucGFuZWxzLm5ldHdvcmsucmVzb3VyY2VzLmxlbmd0aCAt
IDNdOwotICAgICAgICBkdW1wUmVzb3VyY2UocmVzb3VyY2UsIHN0ZXA0KTsKLSAgICB9Ci0KLSAg
ICBmdW5jdGlvbiBzdGVwNCgpCi0gICAgewotICAgICAgICB2YXIgcmVzb3VyY2UgPSBXZWJJbnNw
ZWN0b3IucGFuZWxzLm5ldHdvcmsucmVzb3VyY2VzW1dlYkluc3BlY3Rvci5wYW5lbHMubmV0d29y
ay5yZXNvdXJjZXMubGVuZ3RoIC0gMl07Ci0gICAgICAgIGR1bXBSZXNvdXJjZShyZXNvdXJjZSwg
c3RlcDUpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA1KCkKLSAgICB7Ci0gICAgICAgIHZh
ciByZXNvdXJjZSA9IFdlYkluc3BlY3Rvci5wYW5lbHMubmV0d29yay5yZXNvdXJjZXNbV2ViSW5z
cGVjdG9yLnBhbmVscy5uZXR3b3JrLnJlc291cmNlcy5sZW5ndGggLSAxXTsKLSAgICAgICAgZHVt
cFJlc291cmNlKHJlc291cmNlLCBzdGVwNik7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDYo
KQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19
Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLSAgICA8cD5U
ZXN0cyB0aGF0IG5ldHdvcmsgcGFuZWwgc2hvd3MgY29udGVudCBmb3IgZW1iZWQgb2JqZWN0cy48
L3A+Ci0gICAgPGVtYmVkIG5hbWU9InBsZyIgdHlwZT0iYXBwbGljYXRpb24veC13ZWJraXQtdGVz
dC1uZXRzY2FwZSIgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UiIG9uc3Ry
ZWFtbG9hZD0ic3RyZWFtTG9hZGVkKCkiPjwvZW1iZWQ+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29y
ay14aHItYXN5bmMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3IvbmV0d29yay9uZXR3b3JrLXhoci1hc3luYy1leHBlY3RlZC50eHQKaW5kZXggNTY1ZmQ3Nzg1
OTdjYTBlNDkzOTZhMzBlMzVlOTllMWYwMmMxYWU1Ni4uNDVlNTU1MTM5OThlYjE1NTFmMDdmMDk0
YWI1MmFlOGVjMDkyY2YzYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvbmV0d29yay9uZXR3b3JrLXhoci1hc3luYy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLXhoci1hc3luYy1leHBl
Y3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjE6IERvbmUu
CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTM6IERvbmUuCiBUZXN0cyBYSFIgbmV0d29yayByZXNv
dXJjZSB0eXBlIGFuZCBjb250ZW50IGZvciBhc3luY2hyb25vdXMgcmVxdWVzdHMuIEJ1ZyA2MTIw
NQogCiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3Jl
c291cmNlLnBocApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
bmV0d29yay9uZXR3b3JrLXhoci1hc3luYy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLXhoci1hc3luYy5odG1sCmluZGV4IGJkOGIyNDA4MTBk
YTE3YThkMDMxMTcyOTVmNDUwNGNjMmM0ZjhjZDkuLjMyNjIxY2I1MTY4ZGU2N2M3NjM4NzMyNmE1
NDIzNTVhZDU5MGIwNDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL25ldHdvcmsvbmV0d29yay14aHItYXN5bmMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmsteGhyLWFzeW5jLmh0bWwKQEAgLTUsMTQg
KzUsNiBAQAogPHNjcmlwdD4KIGZ1bmN0aW9uIGxvYWREYXRhKCkKIHsKLSAgICBpZiAoIXdpbmRv
dy5pbnRlcm5hbHMpIHsKLSAgICAgICAgY29uc29sZS5sb2coIlRoaXMgdGVzdCBjYW4gbm90IGJl
IHJ1biBhcyB3aW5kb3cuaW50ZXJuYWxzIGlzIG5vdCBhdmFpbGFibGUuIik7Ci0gICAgICAgIHJl
dHVybjsKLSAgICB9Ci0gICAgLy8gU2luY2UgdGhpcyB0ZXN0IGNvdWxkIGJlIHJ1biB0b2dldGhl
ciB3aXRoIG90aGVyIGluc3BlY3RvciBiYWNrZW5kIGNhY2hlCi0gICAgLy8gdGVzdHMsIHdlIG5l
ZWQgdG8gcmVzZXQgc2l6ZSBsaW1pdHMgdG8gZGVmYXVsdCBvbmVzLgotICAgIGludGVybmFscy5z
ZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRhU2l6ZUxpbWl0cyhkb2N1bWVudCwgMTAgKiAxMDAwICog
MTAwMCwgMTAwMCAqIDEwMDApOwotCiAgICAgZG9YSFIoIkdFVCIsICJyZXNvdXJjZXMvcmVzb3Vy
Y2UucGhwIiwgdHJ1ZSwgcmVzb3VyY2VMb2FkZWQpOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmsteGhyLXN5bmMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3Jr
LXhoci1zeW5jLWV4cGVjdGVkLnR4dAppbmRleCBiZTg0ZjQzOTMxYWJmOTJkMWZmYmIzOTNmNTJh
ZDQwNGRjZThiZTBjLi4zNDQzNDdjMGU1MWU4MjFhNWM2YzM4Njc0OWEzYWMxM2IzZjVkZjcyIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdv
cmsteGhyLXN5bmMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL25ldHdvcmsvbmV0d29yay14aHItc3luYy1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0
IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjE6IERvbmUuCitDT05TT0xFIE1FU1NBR0U6IGxp
bmUgMTM6IERvbmUuCiBUZXN0cyBYSFIgbmV0d29yayByZXNvdXJjZSB0eXBlIGFuZCBjb250ZW50
IGZvciBzeW5jaHJvbm91cyByZXF1ZXN0cy4gQnVnIDYxMjA1CiAKIGh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcmVzb3VyY2UucGhwCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmsteGhyLXN5
bmMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29y
ay14aHItc3luYy5odG1sCmluZGV4IDAwZDI4OWRkYWZkNzY3OWQ5OWJiZGY2MmZjNjgxMTcxZTkw
YjkwYTUuLjhmMjQ4MGU3YjgxYmZiMDM4Y2VkNmQ4ZTA4OWUxZGFhYjU1ZDg5MTMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay14aHIt
c3luYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsv
bmV0d29yay14aHItc3luYy5odG1sCkBAIC01LDE0ICs1LDYgQEAKIDxzY3JpcHQ+CiBmdW5jdGlv
biBsb2FkRGF0YSgpCiB7Ci0gICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIGNv
bnNvbGUubG9nKCJUaGlzIHRlc3QgY2FuIG5vdCBiZSBydW4gYXMgd2luZG93LmludGVybmFscyBp
cyBub3QgYXZhaWxhYmxlLiIpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIC8vIFNpbmNl
IHRoaXMgdGVzdCBjb3VsZCBiZSBydW4gdG9nZXRoZXIgd2l0aCBvdGhlciBpbnNwZWN0b3IgYmFj
a2VuZCBjYWNoZQotICAgIC8vIHRlc3RzLCB3ZSBuZWVkIHRvIHJlc2V0IHNpemUgbGltaXRzIHRv
IGRlZmF1bHQgb25lcy4KLSAgICBpbnRlcm5hbHMuc2V0SW5zcGVjdG9yUmVzb3VyY2VzRGF0YVNp
emVMaW1pdHMoZG9jdW1lbnQsIDEwICogMTAwMCAqIDEwMDAsIDEwMDAgKiAxMDAwKTsKLQogICAg
IGRvWEhSKCJHRVQiLCAicmVzb3VyY2VzL3Jlc291cmNlLnBocCIsIGZhbHNlLCByZXNvdXJjZUxv
YWRlZCk7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L25ldHdvcmsvcmVzb3VyY2VzL2NwMTI1MS54bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9jcDEyNTEueG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAzMjI4NWYzNjBiY2UzZTVkOTNmM2MyZDZlMGVjNGMzMGNiNDk0YTdjLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL2NwMTI1MS54bWwKKysrIC9kZXYv
bnVsbApAQCAtMSw0ICswLDAgQEAKLTw/eG1sIHZlcnNpb249JzEuMCcgZW5jb2Rpbmc9J2NwMTI1
MSc/PgotPHJvb3Q+Ci0gIDxjcDEyNTE+U1XR0cVTUyAtIFRoZXNlICdDQ0UnIGFyZSBjeXJpbGxp
YyBsZXR0ZXJzLjwvY3AxMjUxPgotPC9yb290PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcGx1Z2luLWRhdGEucGhwIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcGx1Z2luLWRh
dGEucGhwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMjFkOWU4ZTlkOTczNjIzYmIx
ZjUyYWI0NGQwNjc1MmZiYmNhZGI4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvcmVz
b3VyY2VzL3BsdWdpbi1kYXRhLnBocAorKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLTw/
cGhwCi0gICAgJG1pbWV0eXBlID0gJF9HRVRbIm1pbWV0eXBlIl07Ci0gICAgJGZpbGVuYW1lID0g
JF9HRVRbImZpbGVuYW1lIl07Ci0gICAgJGNoYXJzZXQgPSAkX0dFVFsiY2hhcnNldCJdOwotCi0g
ICAgaGVhZGVyKCJFeHBpcmVzOiBUaHUsIDAxIERlYyAyMDAzIDE2OjAwOjAwIEdNVCIpOwotICAg
IGhlYWRlcigiQ2FjaGUtQ29udHJvbDogbm8tc3RvcmUsIG5vLWNhY2hlLCBtdXN0LXJldmFsaWRh
dGUiKTsKLSAgICBoZWFkZXIoIlByYWdtYTogbm8tY2FjaGUiKTsKLSAgICBpZiAoJGNoYXJzZXQp
Ci0gICAgICAgIGhlYWRlcigiQ29udGVudC1UeXBlOiAiIC4gJG1pbWV0eXBlIC4gIjsgY2hhcnNl
dD0iIC4gJGNoYXJzZXQpOwotICAgIGVsc2UKLSAgICAgICAgaGVhZGVyKCJDb250ZW50LVR5cGU6
ICIgLiAkbWltZXR5cGUpOwotCi0gICAgcmVhZGZpbGUoJGZpbGVuYW1lKTsKLT8+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9y
ZXNvdXJjZS5waHAgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3Jl
c291cmNlcy9yZXNvdXJjZS5waHAKaW5kZXggM2UxZjE4NWUxZmRlMjY4YjJlYmZlZmExZDAwMTdk
YzA5MzUxN2VkYi4uOWU1NjA3YzE4MmM4NjVlZTIzMmJmOTE4YmIwZjg4ODhhZGY0Y2YxNyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJj
ZXMvcmVzb3VyY2UucGhwCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25l
dHdvcmsvcmVzb3VyY2VzL3Jlc291cmNlLnBocApAQCAtMjYsNyArMjYsNyBAQAogICAgIGVsc2Ug
aWYgKCR0eXBlID09ICJpbWFnZSIpCiAgICAgICAgIGhlYWRlcigiQ29udGVudC1UeXBlOiBpbWFn
ZS9wbmciKTsKICAgICBlbHNlCi0gICAgICAgIGhlYWRlcigiQ29udGVudC1UeXBlOiB0ZXh0L3Bs
YWluIik7CisgICAgICAgIGhlYWRlcigiQ29udGVudC1UeXBlOiB0ZXh0L2h0bWwiKTsKIAogICAg
ICMgRmx1c2ggaGVhZGVycyBhbmQgc2xlZXAgYm9mb3JlIHNlbmRpbmcgcmVzcG9uc2UKICAgICBp
ZiAoJHNlbmQpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L25ldHdvcmsvcmVzb3VyY2VzL3V0ZjgueG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvdXRmOC54bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDA3ZWU0ODFmYTgwNzRhY2I3NTNjM2M3ZWY1NDIxOWZkOTJmMTA0NjAuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvdXRmOC54bWwKKysrIC9kZXYvbnVsbApA
QCAtMSw0ICswLDAgQEAKLTw/eG1sIHZlcnNpb249JzEuMCcgZW5jb2Rpbmc9J3V0Zi04Jz8+Ci08
cm9vdD4KLSAgPHV0Zjg+U1XQodCh0JVTUyAtIFRoZXNlICdDQ0UnIGFyZSBjeXJpbGxpYyBsZXR0
ZXJzLjwvdXRmOD4KLTwvcm9vdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAppbmRleCBmNDAwNTIzYjkxNzQzMDcxZWE0Mjg0ZmY0
ZWUyYjllOGM4Yjk1ZTE0Li5mZDA4ODZiNWU0MzRkNDhiNTIwMDQwN2NjZGM1YzEyMzMwM2ViZDA4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0
aW9ucy50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3Rh
dGlvbnMudHh0CkBAIC02NTYsMTAgKzY1Niw2IEBAIFdPTlRGSVggU0tJUCA6IGluc3BlY3Rvci9l
eHRlbnNpb25zID0gRkFJTAogV09OVEZJWCBTS0lQIDogaHR0cC90ZXN0cy9pbnNwZWN0b3IvZXh0
ZW5zaW9ucy1oZWFkZXJzLmh0bWwgPSBGQUlMCiBXT05URklYIFNLSVAgOiBodHRwL3Rlc3RzL2lu
c3BlY3Rvci9leHRlbnNpb25zLXJlc291cmNlcy1yZWRpcmVjdC5odG1sID0gRkFJTAogCi0vLyBU
aGVyZSBpcyBubyBlbm91Z2ggcGx1Z2lucyBzdXBwb3J0IGluIERSVAotV09OVEZJWCBTS0lQIDog
aHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLWVtYmVkLmh0bWwgPSBGQUlMCi1X
T05URklYIFNLSVAgOiBodHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstY29udGVu
dC1yZXBsYWNlbWVudC1lbWJlZC5odG1sID0gRkFJTAotCiAvLyBJbnNwZWN0b3IgdGVzdHMgaW4g
RGVidWcgYnVpbGQgYXJlIHZlcnkgc2xvdy4KIEJVR19EUlQgV0lOIExJTlVYIERFQlVHIFNMT1cg
OiBpbnNwZWN0b3IgPSBQQVNTCiBCVUdfRFJUIFdJTiBMSU5VWCBERUJVRyBTTE9XIDogaHR0cC90
ZXN0cy9pbnNwZWN0b3IgPSBQQVNTCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDRkMjI2MzBmNGU4MTkwMzgyMGFj
ZDVhNWRjNjc5MmM2NTQ5ZTY4OS4uMjAzZGQ3ZTk2YzA2YTY4YzA2N2VlMWEzOGE5ZDYwNWM0Nzk5
Y2U5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY3IEBACisyMDExLTA3LTA0ICBTaGVyaWZmIEJv
dCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmlld2VkLCBy
b2xsaW5nIG91dCByOTAzNzMuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdl
c2V0LzkwMzczCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD02MzkxNworCisgICAgICAgIEJyZWFrcyBRdCBMaW51eCBSZWxlYXNlIG1pbmltYWwgKFJlcXVl
c3RlZCBieSB2c2V2aWsgb24KKyAgICAgICAgI3dlYmtpdCkuCisKKyAgICAgICAgKiBXZWJDb3Jl
LmV4cC5pbjoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHA6Cisg
ICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUmVjZWl2ZUNvbnRlbnRMZW5ndGhJbXBsKToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVDb250ZW50TGVuZ3Ro
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpkaWRSZWNlaXZlUmVzcG9uc2Up
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlkUmVjZWl2ZUNv
bnRlbnRMZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6
ZGlkRmluaXNoTG9hZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JSZXNvdXJjZUFn
ZW50OjpzZXRJbml0aWFsWEhSQ29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JS
ZXNvdXJjZUFnZW50OjpnZXRSZXNvdXJjZUNvbnRlbnQpOgorICAgICAgICAqIGluc3BlY3Rvci9J
bnNwZWN0b3JSZXNvdXJjZUFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL05ldHdvcmtSZXNv
dXJjZXNEYXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtSZXNvdXJjZXNEYXRhOjpS
ZXNvdXJjZURhdGE6OlJlc291cmNlRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrUmVz
b3VyY2VzRGF0YTo6UmVzb3VyY2VEYXRhOjpjb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok5l
dHdvcmtSZXNvdXJjZXNEYXRhOjpSZXNvdXJjZURhdGE6OmFwcGVuZENvbnRlbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6TmV0d29ya1Jlc291cmNlc0RhdGE6OlJlc291cmNlRGF0YTo6cHVyZ2VDb250
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtSZXNvdXJjZXNEYXRhOjpOZXR3b3JrUmVz
b3VyY2VzRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrUmVzb3VyY2VzRGF0YTo6cmVz
cG9uc2VSZWNlaXZlZCk6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrUmVzb3VyY2VzRGF0YTo6
YWRkUmVzb3VyY2VDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtSZXNvdXJjZXNE
YXRhOjpkYXRhKToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtSZXNvdXJjZXNEYXRhOjpjbGVh
cik6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrUmVzb3VyY2VzRGF0YTo6ZW5zdXJlTm9EYXRh
Rm9ySWRlbnRpZmllcik6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrUmVzb3VyY2VzRGF0YTo6
ZW5zdXJlRnJlZVNwYWNlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0Rh
dGEuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtSZXNvdXJjZXNEYXRhOjpSZXNvdXJjZURh
dGE6Omhhc0NvbnRlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya1Jlc291cmNlc0RhdGE6
OlJlc291cmNlRGF0YTo6c2V0SXNDb250ZW50UHVyZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6Ok5l
dHdvcmtSZXNvdXJjZXNEYXRhOjpSZXNvdXJjZURhdGE6OnRleHRFbmNvZGluZ05hbWUpOgorICAg
ICAgICAoV2ViQ29yZTo6TmV0d29ya1Jlc291cmNlc0RhdGE6OlJlc291cmNlRGF0YTo6c2V0VGV4
dEVuY29kaW5nTmFtZSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZS5q
czoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlUHJldmlld1ZpZXcuanM6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VQcmV2aWV3Vmlldy5wcm90b3R5cGUuY29u
dGVudExvYWRlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VQcmV2aWV3Vmlldy5w
cm90b3R5cGUuX2NyZWF0ZUlubmVyVmlldyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9SZXNvdXJjZVZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VWaWV3Lmhh
c1RleHRDb250ZW50KToKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6ZGlkUmVj
ZWl2ZURhdGEpOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZUxvYWRlcjo6d2lsbExvYWRNZWRpYUVsZW1lbnRVUkwpOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVMb2FkZXI6OmNvbW1pdFByb3Zpc2lvbmFsTG9hZCk6CisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZUxvYWRlcjo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseSk6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6bG9hZGVkUmVzb3VyY2VGcm9tTWVtb3J5Q2FjaGUpOgor
ICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZXNvdXJjZUxvYWROb3RpZmllcjo6ZGlkUmVjZWl2ZURhdGEpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VMb2FkTm90aWZpZXI6OmRpc3BhdGNoRGlkUmVjZWl2ZUNvbnRlbnRMZW5n
dGgpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkTm90aWZpZXI6OnNlbmRSZW1haW5p
bmdEZWxlZ2F0ZU1lc3NhZ2VzKToKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZp
ZXIuaDoKKyAgICAgICAgKiBsb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkUmVjZWl2ZURh
dGEpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKiB0ZXN0aW5n
L0ludGVybmFscy5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDoKKwogMjAxMS0w
Ny0wNCAgVnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBTaG93IGNvbnRlbnQgZm9yIHBsdWdpbiByZXF1ZXN0cyBpbiBuZXR3b3Jr
IHBhbmVsLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCA1MTllZWRhNzczNDdjMjU5OWNjNTlkMjQy
MjFiMzJhOGRkZTUyNGFmLi40YmYwMjU1YjY1MmIzYjlhOTAzZTZiMTQzYmI3NTVjOTkwMWZkYmQ3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMTMwMSw3ICsxMzAxLDYgQEAgX19aTks3V2ViQ29y
ZThEb2N1bWVudDE2ZGFzaGJvYXJkUmVnaW9uc0V2CiBfX1pOSzdXZWJDb3JlOERvY3VtZW50MjBj
YWNoZURvY3VtZW50RWxlbWVudEV2CiBfX1pOSzdXZWJDb3JlOERvY3VtZW50MzFkaXNwbGF5U3Ry
aW5nTW9kaWZpZWRCeUVuY29kaW5nRVJLTjNXVEY2U3RyaW5nRQogX19aTks3V2ViQ29yZThEb2N1
bWVudDRib2R5RXYKLV9fWk5LN1dlYkNvcmU4RG9jdW1lbnQ0cGFnZUV2CiBfX1pOSzdXZWJDb3Jl
OERvY3VtZW50NmRvbWFpbkV2CiBfX1pOSzdXZWJDb3JlOERvY3VtZW50NmxvYWRlckV2CiBfX1pO
SzdXZWJDb3JlOEludFBvaW50Y3Y3Q0dQb2ludEV2CkBAIC0xNTgyLDcgKzE1ODEsNiBAQCBfX1pO
N1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIyNWV2YWx1YXRlRm9yVGVzdEluRnJvbnRlbmRF
bFJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3JlMTlJbnNwZWN0b3JDb250cm9sbGVyMjZzZXRJ
bnNwZWN0b3JGcm9udGVuZENsaWVudEVOM1dURjEwUGFzc093blB0cklOU18yM0luc3BlY3RvckZy
b250ZW5kQ2xpZW50RUVFCiBfX1pON1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIyNnN0b3BV
c2VySW5pdGlhdGVkUHJvZmlsaW5nRXYKIF9fWk43V2ViQ29yZTE5SW5zcGVjdG9yQ29udHJvbGxl
cjI3c3RhcnRVc2VySW5pdGlhdGVkUHJvZmlsaW5nRXYKLV9fWk43V2ViQ29yZTE5SW5zcGVjdG9y
Q29udHJvbGxlcjM5c2V0UmVzb3VyY2VzRGF0YVNpemVMaW1pdHNGcm9tSW50ZXJuYWxzRWlpCiBf
X1pON1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXI0c2hvd0V2CiBfX1pON1dlYkNvcmUxOUlu
c3BlY3RvckNvbnRyb2xsZXI1Y2xvc2VFdgogX19aTjdXZWJDb3JlMjhJbnNwZWN0b3JGcm9udGVu
ZENsaWVudExvY2FsMTJtb3ZlV2luZG93QnlFZmYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCA0YWIxMjcxYjVlZjE5OWJjZDc1ZTFi
OWNjYjA1N2MwMDUxZGIyZGE4Li5iYmM0OGFjOGUzMzMzOWZlMDI2MjY0NmQyYzRmMTJjZmE1NjZh
YTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJv
bGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xs
ZXIuY3BwCkBAIC00ODksMTEgKzQ4OSw2IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6cmVz
dW1lKCkKIAogI2VuZGlmCiAKLXZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6c2V0UmVzb3VyY2Vz
RGF0YVNpemVMaW1pdHNGcm9tSW50ZXJuYWxzKGludCBtYXhpbXVtUmVzb3VyY2VzQ29udGVudFNp
emUsIGludCBtYXhpbXVtU2luZ2xlUmVzb3VyY2VDb250ZW50U2l6ZSkKLXsKLSAgICBtX3Jlc291
cmNlQWdlbnQtPnNldFJlc291cmNlc0RhdGFTaXplTGltaXRzRnJvbUludGVybmFscyhtYXhpbXVt
UmVzb3VyY2VzQ29udGVudFNpemUsIG1heGltdW1TaW5nbGVSZXNvdXJjZUNvbnRlbnRTaXplKTsK
LX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RP
UikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9s
bGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCmlu
ZGV4IGE2OGExM2E3OTg4NDc0ZjRlZWUzMTgxZTBhMzNiMDNkYTkxOTBjMzEuLjczOWIwMGJkNGNh
NDFkODlhYTliZjY3ZTIwN2M1YjNlNTYxNTRiNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaApAQCAtMTIwLDggKzEyMCw2IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHJlc3VtZSgpOwogI2VuZGlmCiAKLSAgICB2b2lkIHNldFJlc291cmNlc0RhdGFT
aXplTGltaXRzRnJvbUludGVybmFscyhpbnQgbWF4aW11bVJlc291cmNlc0NvbnRlbnRTaXplLCBp
bnQgbWF4aW11bVNpbmdsZVJlc291cmNlQ29udGVudFNpemUpOwotCiBwcml2YXRlOgogICAgIGZy
aWVuZCBjbGFzcyBQb3N0V29ya2VyTm90aWZpY2F0aW9uVG9Gcm9udGVuZFRhc2s7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24u
Y3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5j
cHAKaW5kZXggMmRhMTY3ZGYyMDk4NjJkNjlkNWNjYjRiNzhhZDZmZDlkOGVkMDkxOS4uYTllMmNh
YTgwYmJkMjE5Y2FjOTlhZjdmYzc5ZWRhNzViMmIwODY3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKQEAgLTQ5Miwx
MCArNDkyLDEwIEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjb250aW51ZVdpdGhQ
b2xpY3lJZ25vcmVJbXBsKEZyYW1lKiBmcmFtZSwgRG9jdW1lCiAgICAgZGlkUmVjZWl2ZVJlc291
cmNlUmVzcG9uc2VCdXRDYW5jZWxlZEltcGwoZnJhbWUsIGxvYWRlciwgaWRlbnRpZmllciwgcik7
CiB9CiAKLXZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZlRGF0YUltcGwo
SW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgdW5zaWduZWQgbG9uZyBp
ZGVudGlmaWVyLCBjb25zdCBjaGFyKiBkYXRhLCBpbnQgZGF0YUxlbmd0aCwgaW50IGVuY29kZWRE
YXRhTGVuZ3RoKQordm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVDb250
ZW50TGVuZ3RoSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCB1
bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGludCBkYXRhTGVuZ3RoLCBpbnQgZW5jb2RlZERhdGFM
ZW5ndGgpCiB7CiAgICAgaWYgKEluc3BlY3RvclJlc291cmNlQWdlbnQqIHJlc291cmNlQWdlbnQg
PSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JSZXNvdXJjZUFnZW50KCkpCi0gICAgICAg
IHJlc291cmNlQWdlbnQtPmRpZFJlY2VpdmVEYXRhKGlkZW50aWZpZXIsIGRhdGEsIGRhdGFMZW5n
dGgsIGVuY29kZWREYXRhTGVuZ3RoKTsKKyAgICAgICAgcmVzb3VyY2VBZ2VudC0+ZGlkUmVjZWl2
ZUNvbnRlbnRMZW5ndGgoaWRlbnRpZmllciwgZGF0YUxlbmd0aCwgZW5jb2RlZERhdGFMZW5ndGgp
OwogfQogCiB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRmluaXNoTG9hZGluZ0lt
cGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgdW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyLCBEb2N1bWVudExvYWRlciogbG9hZGVyLCBkb3VibGUgZmluaXNoVGltZSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50
YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRp
b24uaAppbmRleCBlM2UzMjc0YzhlMTY4N2MyN2MwY2M1NGZkNjI5NDBiM2RkYzQyMjA3Li4yMGIw
ZWI4MjcxMDQ4N2U5Y2MyOGFiN2M3NmY1MmUxNDU4ODNlNzJjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCkBAIC0xMjYsNyAr
MTI2LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGNvbnRpbnVlQWZ0ZXJYRnJhbWVPcHRp
b25zRGVuaWVkKEZyYW1lKiwgRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZp
ZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKTsKICAgICBzdGF0aWMgdm9pZCBjb250aW51ZVdp
dGhQb2xpY3lEb3dubG9hZChGcmFtZSosIERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBp
ZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CiAgICAgc3RhdGljIHZvaWQgY29u
dGludWVXaXRoUG9saWN5SWdub3JlKEZyYW1lKiwgRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBs
b25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKTsKLSAgICBzdGF0aWMgdm9p
ZCBkaWRSZWNlaXZlRGF0YShGcmFtZSosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3Qg
Y2hhciogZGF0YSwgaW50IGRhdGFMZW5ndGgsIGludCBlbmNvZGVkRGF0YUxlbmd0aCk7CisgICAg
c3RhdGljIHZvaWQgZGlkUmVjZWl2ZUNvbnRlbnRMZW5ndGgoRnJhbWUqLCB1bnNpZ25lZCBsb25n
IGlkZW50aWZpZXIsIGludCBkYXRhTGVuZ3RoLCBpbnQgZW5jb2RlZERhdGFMZW5ndGgpOwogICAg
IHN0YXRpYyB2b2lkIGRpZEZpbmlzaExvYWRpbmcoRnJhbWUqLCBEb2N1bWVudExvYWRlciosIHVu
c2lnbmVkIGxvbmcgaWRlbnRpZmllciwgZG91YmxlIGZpbmlzaFRpbWUpOwogICAgIHN0YXRpYyB2
b2lkIGRpZEZhaWxMb2FkaW5nKEZyYW1lKiwgRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25n
IGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlRXJyb3ImKTsKICAgICBzdGF0aWMgdm9pZCByZXNv
dXJjZVJldHJpZXZlZEJ5WE1MSHR0cFJlcXVlc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIHVu
c2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBzb3VyY2VTdHJpbmcsIGNvbnN0
IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHNlbmRVUkwsIHVuc2lnbmVkIHNlbmRMaW5lTnVt
YmVyKTsKQEAgLTI1NCw3ICsyNTQsNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lkIGNvbnRp
bnVlQWZ0ZXJYRnJhbWVPcHRpb25zRGVuaWVkSW1wbChGcmFtZSosIERvY3VtZW50TG9hZGVyKiwg
dW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CiAgICAg
c3RhdGljIHZvaWQgY29udGludWVXaXRoUG9saWN5RG93bmxvYWRJbXBsKEZyYW1lKiwgRG9jdW1l
bnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmKTsKICAgICBzdGF0aWMgdm9pZCBjb250aW51ZVdpdGhQb2xpY3lJZ25vcmVJbXBsKEZyYW1l
KiwgRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291
cmNlUmVzcG9uc2UmKTsKLSAgICBzdGF0aWMgdm9pZCBkaWRSZWNlaXZlRGF0YUltcGwoSW5zdHJ1
bWVudGluZ0FnZW50cyosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgY2hhciogZGF0
YSwgaW50IGRhdGFMZW5ndGgsIGludCBlbmNvZGVkRGF0YUxlbmd0aCk7CisgICAgc3RhdGljIHZv
aWQgZGlkUmVjZWl2ZUNvbnRlbnRMZW5ndGhJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCB1bnNp
Z25lZCBsb25nIGlkZW50aWZpZXIsIGludCBkYXRhTGVuZ3RoLCBpbnQgZW5jb2RlZERhdGFMZW5n
dGgpOwogICAgIHN0YXRpYyB2b2lkIGRpZEZpbmlzaExvYWRpbmdJbXBsKEluc3RydW1lbnRpbmdB
Z2VudHMqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9hZGVyKiwgZG91Ymxl
IGZpbmlzaFRpbWUpOwogICAgIHN0YXRpYyB2b2lkIGRpZEZhaWxMb2FkaW5nSW1wbChJbnN0cnVt
ZW50aW5nQWdlbnRzKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBEb2N1bWVudExvYWRlcios
IGNvbnN0IFJlc291cmNlRXJyb3ImKTsKICAgICBzdGF0aWMgdm9pZCByZXNvdXJjZVJldHJpZXZl
ZEJ5WE1MSHR0cFJlcXVlc3RJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCB1bnNpZ25lZCBsb25n
IGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgc291cmNlU3RyaW5nLCBjb25zdCBTdHJpbmcmIHVy
bCwgY29uc3QgU3RyaW5nJiBzZW5kVVJMLCB1bnNpZ25lZCBzZW5kTGluZU51bWJlcik7CkBAIC03
NjQsMTEgKzc2NCwxMSBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNv
bnRpbnVlV2l0aFBvbGljeUlnbm9yZShGcmFtZSogZnJhbWUsIERvYwogI2VuZGlmCiB9CiAKLWlu
bGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUmVjZWl2ZURhdGEoRnJhbWUq
IGZyYW1lLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IGNoYXIqIGRhdGEsIGludCBk
YXRhTGVuZ3RoLCBpbnQgZW5jb2RlZERhdGFMZW5ndGgpCitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVDb250ZW50TGVuZ3RoKEZyYW1lKiBmcmFtZSwgdW5z
aWduZWQgbG9uZyBpZGVudGlmaWVyLCBpbnQgZGF0YUxlbmd0aCwgaW50IGVuY29kZWREYXRhTGVu
Z3RoKQogewogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2Vu
dHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRnJhbWUoZnJh
bWUpKQotICAgICAgICBkaWRSZWNlaXZlRGF0YUltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgaWRl
bnRpZmllciwgZGF0YSwgZGF0YUxlbmd0aCwgZW5jb2RlZERhdGFMZW5ndGgpOworICAgICAgICBk
aWRSZWNlaXZlQ29udGVudExlbmd0aEltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgaWRlbnRpZmll
ciwgZGF0YUxlbmd0aCwgZW5jb2RlZERhdGFMZW5ndGgpOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcAppbmRl
eCBjYzUzZDFiZjZkMWY2ZWQzNTFjNzgxZmY0OGE3OThiOGFkZmI4NzEyLi4xNjllZDY2YzFmNGNm
ZmMxNDA1N2M3OGM0NDk3YzRkMzNhYzM5MGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuY3BwCkBAIC0yNTEsMjEgKzI1MSwxOCBA
QCB2b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OmRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25l
ZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZQogICAgICAgICBlbHNlIGlmIChtX2xvYWRpbmdYSFJT
eW5jaHJvbm91c2x5IHx8IG1fcmVzb3VyY2VzRGF0YS0+cmVzb3VyY2VUeXBlKGlkZW50aWZpZXIp
ID09IEluc3BlY3RvclBhZ2VBZ2VudDo6WEhSUmVzb3VyY2UpCiAgICAgICAgICAgICB0eXBlID0g
SW5zcGVjdG9yUGFnZUFnZW50OjpYSFJSZXNvdXJjZTsKIAotICAgICAgICBtX3Jlc291cmNlc0Rh
dGEtPnJlc3BvbnNlUmVjZWl2ZWQoaWRlbnRpZmllciwgbV9wYWdlQWdlbnQtPmZyYW1lSWQobG9h
ZGVyLT5mcmFtZSgpKSwgcmVzcG9uc2UpOworICAgICAgICBtX3Jlc291cmNlc0RhdGEtPnJlc3Bv
bnNlUmVjZWl2ZWQoaWRlbnRpZmllciwgbV9wYWdlQWdlbnQtPmZyYW1lSWQobG9hZGVyLT5mcmFt
ZSgpKSwgcmVzcG9uc2UudXJsKCkpOwogICAgIH0KICAgICBtX3Jlc291cmNlc0RhdGEtPnNldFJl
c291cmNlVHlwZShpZGVudGlmaWVyLCB0eXBlKTsKICAgICBtX2Zyb250ZW5kLT5yZXNwb25zZVJl
Y2VpdmVkKHN0YXRpY19jYXN0PGludD4oaWRlbnRpZmllciksIGN1cnJlbnRUaW1lKCksIEluc3Bl
Y3RvclBhZ2VBZ2VudDo6cmVzb3VyY2VUeXBlU3RyaW5nKHR5cGUpLCByZXNvdXJjZVJlc3BvbnNl
KTsKICAgICAvLyBJZiB3ZSByZXZhbGlkYXRlZCB0aGUgcmVzb3VyY2UgYW5kIGdvdCBOb3QgbW9k
aWZpZWQsIHNlbmQgY29udGVudCBsZW5ndGggZm9sbG93aW5nIGRpZFJlY2VpdmVSZXNwb25zZQot
ICAgIC8vIGFzIHRoZXJlIHdpbGwgYmUgbm8gY2FsbHMgdG8gZGlkUmVjZWl2ZURhdGEgZnJvbSB0
aGUgbmV0d29yayBzdGFjay4KKyAgICAvLyBhcyB0aGVyZSB3aWxsIGJlIG5vIGNhbGxzIHRvIGRp
ZFJlY2VpdmVDb250ZW50TGVuZ3RoIGZyb20gdGhlIG5ldHdvcmsgc3RhY2suCiAgICAgaWYgKGNh
Y2hlZFJlc291cmNlU2l6ZSAmJiByZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpID09IDMwNCkKLSAg
ICAgICAgZGlkUmVjZWl2ZURhdGEoaWRlbnRpZmllciwgMCwgY2FjaGVkUmVzb3VyY2VTaXplLCAw
KTsKKyAgICAgICAgZGlkUmVjZWl2ZUNvbnRlbnRMZW5ndGgoaWRlbnRpZmllciwgY2FjaGVkUmVz
b3VyY2VTaXplLCAwKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpkaWRSZWNl
aXZlRGF0YSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IGNoYXIqIGRhdGEsIGludCBk
YXRhTGVuZ3RoLCBpbnQgZW5jb2RlZERhdGFMZW5ndGgpCit2b2lkIEluc3BlY3RvclJlc291cmNl
QWdlbnQ6OmRpZFJlY2VpdmVDb250ZW50TGVuZ3RoKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwg
aW50IGRhdGFMZW5ndGgsIGludCBlbmNvZGVkRGF0YUxlbmd0aCkKIHsKLSAgICBpZiAoZGF0YSAm
JiBtX3Jlc291cmNlc0RhdGEtPnJlc291cmNlVHlwZShpZGVudGlmaWVyKSA9PSBJbnNwZWN0b3JQ
YWdlQWdlbnQ6Ok90aGVyUmVzb3VyY2UpCi0gICAgICAgIG1fcmVzb3VyY2VzRGF0YS0+bWF5YmVB
ZGRSZXNvdXJjZURhdGEoaWRlbnRpZmllciwgZGF0YSwgZGF0YUxlbmd0aCk7Ci0KICAgICBtX2Zy
b250ZW5kLT5kYXRhUmVjZWl2ZWQoc3RhdGljX2Nhc3Q8aW50PihpZGVudGlmaWVyKSwgY3VycmVu
dFRpbWUoKSwgZGF0YUxlbmd0aCwgZW5jb2RlZERhdGFMZW5ndGgpOwogfQogCkBAIC0yNzQsOCAr
MjcxLDYgQEAgdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpkaWRGaW5pc2hMb2FkaW5nKHVu
c2lnbmVkIGxvbmcgaWRlbnRpZmllciwgRG9jdW1lbnQKICAgICBpZiAobV9yZXNvdXJjZXNEYXRh
LT5yZXNvdXJjZVR5cGUoaWRlbnRpZmllcikgPT0gSW5zcGVjdG9yUGFnZUFnZW50OjpEb2N1bWVu
dFJlc291cmNlKQogICAgICAgICBtX3Jlc291cmNlc0RhdGEtPmFkZFJlc291cmNlU2hhcmVkQnVm
ZmVyKGlkZW50aWZpZXIsIGxvYWRlci0+ZnJhbWVMb2FkZXIoKS0+ZG9jdW1lbnRMb2FkZXIoKS0+
bWFpblJlc291cmNlRGF0YSgpLCBsb2FkZXItPmZyYW1lKCktPmRvY3VtZW50KCktPmlucHV0RW5j
b2RpbmcoKSk7CiAKLSAgICBtX3Jlc291cmNlc0RhdGEtPm1heWJlRGVjb2RlRGF0YVRvQ29udGVu
dChpZGVudGlmaWVyKTsKLQogICAgIGlmICghZmluaXNoVGltZSkKICAgICAgICAgZmluaXNoVGlt
ZSA9IGN1cnJlbnRUaW1lKCk7CiAKQEAgLTMwMiw3ICsyOTcsNyBAQCB2b2lkIEluc3BlY3RvclJl
c291cmNlQWdlbnQ6OnNldEluaXRpYWxTY3JpcHRDb250ZW50KHVuc2lnbmVkIGxvbmcgaWRlbnRp
ZmllciwgYwogCiB2b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OnNldEluaXRpYWxYSFJDb250
ZW50KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBzb3VyY2VTdHJpbmcp
CiB7Ci0gICAgbV9yZXNvdXJjZXNEYXRhLT5zZXRSZXNvdXJjZUNvbnRlbnQoaWRlbnRpZmllciwg
c291cmNlU3RyaW5nKTsKKyAgICBtX3Jlc291cmNlc0RhdGEtPmFkZFJlc291cmNlQ29udGVudChp
ZGVudGlmaWVyLCBzb3VyY2VTdHJpbmcpOwogfQogCiB2b2lkIEluc3BlY3RvclJlc291cmNlQWdl
bnQ6OmRpZFJlY2VpdmVYSFJSZXNwb25zZSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIpCkBAIC00
MDMsMTIgKzM5OCw2IEBAIHZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6c2V0QmFja2dyb3Vu
ZEV2ZW50c0NvbGxlY3Rpb25FbmFibGVkKEVycm9yU3RyaW5nKiwKICAgICByZXR1cm4gbV9zdGF0
ZS0+c2V0Qm9vbGVhbihSZXNvdXJjZUFnZW50U3RhdGU6OmJhY2tncm91bmRFdmVudHNDb2xsZWN0
aW9uRW5hYmxlZCwgZW5hYmxlZCk7CiB9CiAKLS8vIGNhbGxlZCBmcm9tIEludGVybmFscyBmb3Ig
bGF5b3V0IHRlc3QgcHVycG9zZXMuCi12b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OnNldFJl
c291cmNlc0RhdGFTaXplTGltaXRzRnJvbUludGVybmFscyhpbnQgbWF4aW11bVJlc291cmNlc0Nv
bnRlbnRTaXplLCBpbnQgbWF4aW11bVNpbmdsZVJlc291cmNlQ29udGVudFNpemUpCi17Ci0gICAg
bV9yZXNvdXJjZXNEYXRhLT5zZXRSZXNvdXJjZXNEYXRhU2l6ZUxpbWl0cyhtYXhpbXVtUmVzb3Vy
Y2VzQ29udGVudFNpemUsIG1heGltdW1TaW5nbGVSZXNvdXJjZUNvbnRlbnRTaXplKTsKLX0KLQog
dm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjplbmFibGUoRXJyb3JTdHJpbmcqKQogewogICAg
IGVuYWJsZSgpOwpAQCAtNDQ4LDcgKzQzNyw3IEBAIHZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2Vu
dDo6aW5pdGlhbGl6ZUJhY2tncm91bmRDb2xsZWN0aW9uKCkKIAogdm9pZCBJbnNwZWN0b3JSZXNv
dXJjZUFnZW50OjpnZXRSZXNvdXJjZUNvbnRlbnQoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCB1
bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIFN0cmluZyogY29udGVudCwgYm9vbCogYmFzZTY0RW5j
b2RlZCkKIHsKLSAgICBOZXR3b3JrUmVzb3VyY2VzRGF0YTo6UmVzb3VyY2VEYXRhIGNvbnN0KiBy
ZXNvdXJjZURhdGEgPSBtX3Jlc291cmNlc0RhdGEtPmRhdGEoaWRlbnRpZmllcik7CisgICAgTmV0
d29ya1Jlc291cmNlc0RhdGE6OlJlc291cmNlRGF0YSogcmVzb3VyY2VEYXRhID0gbV9yZXNvdXJj
ZXNEYXRhLT5kYXRhKGlkZW50aWZpZXIpOwogICAgIGlmICghcmVzb3VyY2VEYXRhKSB7CiAgICAg
ICAgICplcnJvclN0cmluZyA9ICJObyByZXNvdXJjZSB3aXRoIGdpdmVuIGlkZW50aWZpZXIgZm91
bmQiOwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvclJlc291cmNlQWdlbnQuaAppbmRleCBiODAyYWY0M2Q2ZTQ5YTFlZTUwNTU0M2I5MTEw
YWQ0Y2I0OGVkOWViLi5iNDQxMGIzNzVjYWYxZDJlNmZhNjJlZmU5OTRjYWViYjljZTE5MTE2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2Vu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50
LmgKQEAgLTkwLDcgKzkwLDcgQEAgcHVibGljOgogICAgIHZvaWQgd2lsbFNlbmRSZXF1ZXN0KHVu
c2lnbmVkIGxvbmcgaWRlbnRpZmllciwgRG9jdW1lbnRMb2FkZXIqLCBSZXNvdXJjZVJlcXVlc3Qm
LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZWRpcmVjdFJlc3BvbnNlKTsKICAgICB2b2lkIG1h
cmtSZXNvdXJjZUFzQ2FjaGVkKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcik7CiAgICAgdm9pZCBk
aWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBEb2N1bWVudExvYWRl
ciogbGFvZGVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7Ci0gICAgdm9pZCBkaWRSZWNlaXZl
RGF0YSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IGNoYXIqIGRhdGEsIGludCBkYXRh
TGVuZ3RoLCBpbnQgZW5jb2RlZERhdGFMZW5ndGgpOworICAgIHZvaWQgZGlkUmVjZWl2ZUNvbnRl
bnRMZW5ndGgodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBpbnQgZGF0YUxlbmd0aCwgaW50IGVu
Y29kZWREYXRhTGVuZ3RoKTsKICAgICB2b2lkIGRpZEZpbmlzaExvYWRpbmcodW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyLCBEb2N1bWVudExvYWRlciosIGRvdWJsZSBmaW5pc2hUaW1lKTsKICAgICB2
b2lkIGRpZEZhaWxMb2FkaW5nKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgRG9jdW1lbnRMb2Fk
ZXIqLCBjb25zdCBSZXNvdXJjZUVycm9yJik7CiAgICAgdm9pZCBkaWRMb2FkUmVzb3VyY2VGcm9t
TWVtb3J5Q2FjaGUoRG9jdW1lbnRMb2FkZXIqLCBjb25zdCBDYWNoZWRSZXNvdXJjZSopOwpAQCAt
MTEzLDkgKzExMyw2IEBAIHB1YmxpYzoKICAgICB2b2lkIGlzQmFja2dyb3VuZEV2ZW50c0NvbGxl
Y3Rpb25FbmFibGVkKEVycm9yU3RyaW5nKiwgYm9vbCogZW5hYmxlZCk7CiAgICAgdm9pZCBzZXRC
YWNrZ3JvdW5kRXZlbnRzQ29sbGVjdGlvbkVuYWJsZWQoRXJyb3JTdHJpbmcqLCBib29sIGVuYWJs
ZWQpOwogCi0gICAgLy8gY2FsbGVkIGZyb20gSW50ZXJuYWxzIGZvciBsYXlvdXQgdGVzdCBwdXJw
b3Nlcy4KLSAgICB2b2lkIHNldFJlc291cmNlc0RhdGFTaXplTGltaXRzRnJvbUludGVybmFscyhp
bnQgbWF4aW11bVJlc291cmNlc0NvbnRlbnRTaXplLCBpbnQgbWF4aW11bVNpbmdsZVJlc291cmNl
Q29udGVudFNpemUpOwotCiAgICAgLy8gQ2FsbGVkIGZyb20gZnJvbnRlbmQKICAgICB2b2lkIGVu
YWJsZShFcnJvclN0cmluZyopOwogICAgIHZvaWQgZGlzYWJsZShFcnJvclN0cmluZyopOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL05ldHdvcmtSZXNvdXJjZXNEYXRhLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2VzRGF0YS5jcHAKaW5k
ZXggMzQ2YjI5OWZjMTY5ZGNkMWQwZTU0OTZmZDU3YWMxNTliYTI3YjY4Ni4uNTg4ZDFlYjQwNGY3
ZTY5ZjA4OWQzMTI5N2I3MjBhNjlkMDJhZWY5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL05ldHdvcmtSZXNvdXJjZXNEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEuY3BwCkBAIC0yOSw5OSArMjksNDggQEAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJOZXR3b3JrUmVzb3VyY2VzRGF0YS5oIgogCi0j
aW5jbHVkZSAiRE9NSW1wbGVtZW50YXRpb24uaCIKLSNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIK
LSNpbmNsdWRlICJUZXh0UmVzb3VyY2VEZWNvZGVyLmgiCi0KICNpZiBFTkFCTEUoSU5TUEVDVE9S
KQogCiBuYW1lc3BhY2UgewogLy8gMTBNQgogc3RhdGljIGludCBtYXhpbXVtUmVzb3VyY2VzQ29u
dGVudFNpemUgPSAxMCAqIDEwMDAgKiAxMDAwOwotCi0vLyAxTUIKLXN0YXRpYyBpbnQgbWF4aW11
bVNpbmdsZVJlc291cmNlQ29udGVudFNpemUgPSAxMDAwICogMTAwMDsKIH0KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi0KIC8vIFJlc291cmNlRGF0YQogTmV0d29ya1Jlc291cmNlc0RhdGE6OlJl
c291cmNlRGF0YTo6UmVzb3VyY2VEYXRhKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3Qg
U3RyaW5nJiBsb2FkZXJJZCkKICAgICA6IG1faWRlbnRpZmllcihpZGVudGlmaWVyKQogICAgICwg
bV9sb2FkZXJJZChsb2FkZXJJZCkKKyAgICAsIG1faGFzQ29udGVudChmYWxzZSkKICAgICAsIG1f
aXNDb250ZW50UHVyZ2VkKGZhbHNlKQogICAgICwgbV90eXBlKEluc3BlY3RvclBhZ2VBZ2VudDo6
T3RoZXJSZXNvdXJjZSkKIHsKIH0KIAotdm9pZCBOZXR3b3JrUmVzb3VyY2VzRGF0YTo6UmVzb3Vy
Y2VEYXRhOjpzZXRDb250ZW50KGNvbnN0IFN0cmluZyYgY29udGVudCkKLXsKLSAgICBBU1NFUlQo
IWhhc0RhdGEoKSk7Ci0gICAgQVNTRVJUKCFoYXNDb250ZW50KCkpOwotICAgIG1fY29udGVudCA9
IGNvbnRlbnQ7Ci19Ci0KLXVuc2lnbmVkIE5ldHdvcmtSZXNvdXJjZXNEYXRhOjpSZXNvdXJjZURh
dGE6OnB1cmdlQ29udGVudCgpCi17Ci0gICAgdW5zaWduZWQgcmVzdWx0ID0gMDsKLSAgICBpZiAo
aGFzRGF0YSgpKSB7Ci0gICAgICAgIEFTU0VSVCghaGFzQ29udGVudCgpKTsKLSAgICAgICAgcmVz
dWx0ID0gbV9kYXRhQnVmZmVyLT5zaXplKCk7Ci0gICAgICAgIG1fZGF0YUJ1ZmZlciA9IG51bGxw
dHI7Ci0gICAgfQotCi0gICAgaWYgKGhhc0NvbnRlbnQoKSkgewotICAgICAgICBBU1NFUlQoIWhh
c0RhdGEoKSk7Ci0gICAgICAgIHJlc3VsdCA9IDIgKiBtX2NvbnRlbnQubGVuZ3RoKCk7Ci0gICAg
ICAgIG1fY29udGVudCA9IFN0cmluZygpOwotICAgIH0KLSAgICBtX2lzQ29udGVudFB1cmdlZCA9
IHRydWU7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotdm9pZCBOZXR3b3JrUmVzb3VyY2VzRGF0
YTo6UmVzb3VyY2VEYXRhOjpjcmVhdGVEZWNvZGVyKGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGNv
bnN0IFN0cmluZyYgdGV4dEVuY29kaW5nTmFtZSkKLXsKLSAgICBpZiAoIXRleHRFbmNvZGluZ05h
bWUuaXNFbXB0eSgpKQotICAgICAgICBtX2RlY29kZXIgPSBUZXh0UmVzb3VyY2VEZWNvZGVyOjpj
cmVhdGUoInRleHQvcGxhaW4iLCB0ZXh0RW5jb2RpbmdOYW1lKTsKLSAgICBlbHNlIGlmIChtaW1l
VHlwZSA9PSAidGV4dC9wbGFpbiIpCi0gICAgICAgIG1fZGVjb2RlciA9IFRleHRSZXNvdXJjZURl
Y29kZXI6OmNyZWF0ZSgidGV4dC9wbGFpbiIsICJJU08tODg1OS0xIik7Ci0gICAgZWxzZSBpZiAo
bWltZVR5cGUgPT0gInRleHQvaHRtbCIpCi0gICAgICAgIG1fZGVjb2RlciA9IFRleHRSZXNvdXJj
ZURlY29kZXI6OmNyZWF0ZSgidGV4dC9odG1sIiwgIlVURi04Iik7Ci0gICAgZWxzZSBpZiAoRE9N
SW1wbGVtZW50YXRpb246OmlzWE1MTUlNRVR5cGUobWltZVR5cGUpKSB7Ci0gICAgICAgIG1fZGVj
b2RlciA9IFRleHRSZXNvdXJjZURlY29kZXI6OmNyZWF0ZSgiYXBwbGljYXRpb24veG1sIik7Ci0g
ICAgICAgIG1fZGVjb2Rlci0+dXNlTGVuaWVudFhNTERlY29kaW5nKCk7Ci0gICAgfQotfQotCi1p
bnQgTmV0d29ya1Jlc291cmNlc0RhdGE6OlJlc291cmNlRGF0YTo6ZGF0YUxlbmd0aCgpIGNvbnN0
CitTdHJpbmcgTmV0d29ya1Jlc291cmNlc0RhdGE6OlJlc291cmNlRGF0YTo6Y29udGVudCgpCiB7
Ci0gICAgcmV0dXJuIG1fZGF0YUJ1ZmZlciA/IG1fZGF0YUJ1ZmZlci0+c2l6ZSgpIDogMDsKKyAg
ICByZXR1cm4gbV9oYXNDb250ZW50ID8gbV9jb250ZW50QnVpbGRlci50b1N0cmluZygpIDogU3Ry
aW5nKCk7CiB9CiAKLXZvaWQgTmV0d29ya1Jlc291cmNlc0RhdGE6OlJlc291cmNlRGF0YTo6YXBw
ZW5kRGF0YShjb25zdCBjaGFyKiBkYXRhLCBpbnQgZGF0YUxlbmd0aCkKK3ZvaWQgTmV0d29ya1Jl
c291cmNlc0RhdGE6OlJlc291cmNlRGF0YTo6YXBwZW5kQ29udGVudChjb25zdCBTdHJpbmcmIGNv
bnRlbnQpCiB7Ci0gICAgQVNTRVJUKCFoYXNDb250ZW50KCkpOwotICAgIGlmICghbV9kYXRhQnVm
ZmVyKQotICAgICAgICBtX2RhdGFCdWZmZXIgPSBTaGFyZWRCdWZmZXI6OmNyZWF0ZShkYXRhLCBk
YXRhTGVuZ3RoKTsKLSAgICBlbHNlCi0gICAgICAgIG1fZGF0YUJ1ZmZlci0+YXBwZW5kKGRhdGEs
IGRhdGFMZW5ndGgpOworICAgIG1fY29udGVudEJ1aWxkZXIuYXBwZW5kKGNvbnRlbnQpOworICAg
IG1faGFzQ29udGVudCA9IHRydWU7CiB9CiAKLWludCBOZXR3b3JrUmVzb3VyY2VzRGF0YTo6UmVz
b3VyY2VEYXRhOjpkZWNvZGVEYXRhVG9Db250ZW50KCkKK3Vuc2lnbmVkIE5ldHdvcmtSZXNvdXJj
ZXNEYXRhOjpSZXNvdXJjZURhdGE6OnB1cmdlQ29udGVudCgpCiB7Ci0gICAgQVNTRVJUKCFoYXND
b250ZW50KCkpOwotICAgIGludCBkYXRhTGVuZ3RoID0gbV9kYXRhQnVmZmVyLT5zaXplKCk7Ci0g
ICAgbV9jb250ZW50ID0gbV9kZWNvZGVyLT5kZWNvZGUobV9kYXRhQnVmZmVyLT5kYXRhKCksIG1f
ZGF0YUJ1ZmZlci0+c2l6ZSgpKTsKLSAgICBtX2RhdGFCdWZmZXIgPSBudWxscHRyOwotICAgIHJl
dHVybiAyICogbV9jb250ZW50Lmxlbmd0aCgpIC0gZGF0YUxlbmd0aDsKKyAgICB1bnNpZ25lZCBs
ZW5ndGggPSBtX2NvbnRlbnRCdWlsZGVyLnRvU3RyaW5nUHJlc2VydmVDYXBhY2l0eSgpLmxlbmd0
aCgpOworICAgIG1fY29udGVudEJ1aWxkZXIuY2xlYXIoKTsKKyAgICBtX2lzQ29udGVudFB1cmdl
ZCA9IHRydWU7CisgICAgbV9oYXNDb250ZW50ID0gZmFsc2U7CisgICAgcmV0dXJuIGxlbmd0aDsK
IH0KIAogLy8gTmV0d29ya1Jlc291cmNlc0RhdGEKIE5ldHdvcmtSZXNvdXJjZXNEYXRhOjpOZXR3
b3JrUmVzb3VyY2VzRGF0YSgpCiAgICAgOiBtX2NvbnRlbnRTaXplKDApCi0gICAgLCBtX21heGlt
dW1SZXNvdXJjZXNDb250ZW50U2l6ZShtYXhpbXVtUmVzb3VyY2VzQ29udGVudFNpemUpCi0gICAg
LCBtX21heGltdW1TaW5nbGVSZXNvdXJjZUNvbnRlbnRTaXplKG1heGltdW1TaW5nbGVSZXNvdXJj
ZUNvbnRlbnRTaXplKQogewogfQogCkBAIC0xMzYsMTQgKzg1LDEzIEBAIHZvaWQgTmV0d29ya1Jl
c291cmNlc0RhdGE6OnJlc291cmNlQ3JlYXRlZCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNv
bnN0IFN0cmluCiAgICAgbV9pZGVudGlmaWVyVG9SZXNvdXJjZURhdGFNYXAuc2V0KGlkZW50aWZp
ZXIsIG5ldyBSZXNvdXJjZURhdGEoaWRlbnRpZmllciwgbG9hZGVySWQpKTsKIH0KIAotdm9pZCBO
ZXR3b3JrUmVzb3VyY2VzRGF0YTo6cmVzcG9uc2VSZWNlaXZlZCh1bnNpZ25lZCBsb25nIGlkZW50
aWZpZXIsIGNvbnN0IFN0cmluZyYgZnJhbWVJZCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVz
cG9uc2UpCit2b2lkIE5ldHdvcmtSZXNvdXJjZXNEYXRhOjpyZXNwb25zZVJlY2VpdmVkKHVuc2ln
bmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBmcmFtZUlkLCBjb25zdCBTdHJpbmcm
IHVybCkKIHsKICAgICBSZXNvdXJjZURhdGEqIHJlc291cmNlRGF0YSA9IG1faWRlbnRpZmllclRv
UmVzb3VyY2VEYXRhTWFwLmdldChpZGVudGlmaWVyKTsKICAgICBpZiAoIXJlc291cmNlRGF0YSkK
ICAgICAgICAgcmV0dXJuOwogICAgIHJlc291cmNlRGF0YS0+c2V0RnJhbWVJZChmcmFtZUlkKTsK
LSAgICByZXNvdXJjZURhdGEtPnNldFVybChyZXNwb25zZS51cmwoKSk7Ci0gICAgcmVzb3VyY2VE
YXRhLT5jcmVhdGVEZWNvZGVyKHJlc3BvbnNlLm1pbWVUeXBlKCksIHJlc3BvbnNlLnRleHRFbmNv
ZGluZ05hbWUoKSk7CisgICAgcmVzb3VyY2VEYXRhLT5zZXRVcmwodXJsKTsKIH0KIAogdm9pZCBO
ZXR3b3JrUmVzb3VyY2VzRGF0YTo6c2V0UmVzb3VyY2VUeXBlKHVuc2lnbmVkIGxvbmcgaWRlbnRp
ZmllciwgSW5zcGVjdG9yUGFnZUFnZW50OjpSZXNvdXJjZVR5cGUgdHlwZSkKQEAgLTE2Miw1NCAr
MTEwLDIxIEBAIEluc3BlY3RvclBhZ2VBZ2VudDo6UmVzb3VyY2VUeXBlIE5ldHdvcmtSZXNvdXJj
ZXNEYXRhOjpyZXNvdXJjZVR5cGUodW5zaWduZWQgbG9uCiAgICAgcmV0dXJuIHJlc291cmNlRGF0
YS0+dHlwZSgpOwogfQogCi12b2lkIE5ldHdvcmtSZXNvdXJjZXNEYXRhOjpzZXRSZXNvdXJjZUNv
bnRlbnQodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGNvbnRlbnQpCit2
b2lkIE5ldHdvcmtSZXNvdXJjZXNEYXRhOjphZGRSZXNvdXJjZUNvbnRlbnQodW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGNvbnRlbnQpCiB7CiAgICAgUmVzb3VyY2VEYXRh
KiByZXNvdXJjZURhdGEgPSBtX2lkZW50aWZpZXJUb1Jlc291cmNlRGF0YU1hcC5nZXQoaWRlbnRp
Zmllcik7CiAgICAgaWYgKCFyZXNvdXJjZURhdGEpCiAgICAgICAgIHJldHVybjsKLSAgICBpbnQg
ZGF0YUxlbmd0aCA9IDIgKiBjb250ZW50Lmxlbmd0aCgpOwotICAgIGlmIChkYXRhTGVuZ3RoID4g
bV9tYXhpbXVtU2luZ2xlUmVzb3VyY2VDb250ZW50U2l6ZSkKLSAgICAgICAgcmV0dXJuOwogICAg
IGlmIChyZXNvdXJjZURhdGEtPmlzQ29udGVudFB1cmdlZCgpKQogICAgICAgICByZXR1cm47Ci0g
ICAgaWYgKGVuc3VyZUZyZWVTcGFjZShkYXRhTGVuZ3RoKSAmJiAhcmVzb3VyY2VEYXRhLT5pc0Nv
bnRlbnRQdXJnZWQoKSkgewotICAgICAgICBtX2lkZW50aWZpZXJzRGVxdWUuYXBwZW5kKGlkZW50
aWZpZXIpOwotICAgICAgICByZXNvdXJjZURhdGEtPnNldENvbnRlbnQoY29udGVudCk7Ci0gICAg
ICAgIG1fY29udGVudFNpemUgKz0gZGF0YUxlbmd0aDsKKyAgICBpZiAoZW5zdXJlRnJlZVNwYWNl
KGNvbnRlbnQubGVuZ3RoKCkpICYmICFyZXNvdXJjZURhdGEtPmlzQ29udGVudFB1cmdlZCgpKSB7
CisgICAgICAgIGlmICghcmVzb3VyY2VEYXRhLT5oYXNDb250ZW50KCkpCisgICAgICAgICAgICBt
X2lkZW50aWZpZXJzRGVxdWUuYXBwZW5kKGlkZW50aWZpZXIpOworICAgICAgICByZXNvdXJjZURh
dGEtPmFwcGVuZENvbnRlbnQoY29udGVudCk7CisgICAgICAgIG1fY29udGVudFNpemUgKz0gY29u
dGVudC5sZW5ndGgoKTsKICAgICB9CiB9CiAKLXZvaWQgTmV0d29ya1Jlc291cmNlc0RhdGE6Om1h
eWJlQWRkUmVzb3VyY2VEYXRhKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgY2hhciog
ZGF0YSwgaW50IGRhdGFMZW5ndGgpCi17Ci0gICAgUmVzb3VyY2VEYXRhKiByZXNvdXJjZURhdGEg
PSBtX2lkZW50aWZpZXJUb1Jlc291cmNlRGF0YU1hcC5nZXQoaWRlbnRpZmllcik7Ci0gICAgaWYg
KCFyZXNvdXJjZURhdGEpCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAoIXJlc291cmNlRGF0YS0+
ZGVjb2RlcigpKQotICAgICAgICByZXR1cm47Ci0gICAgaWYgKHJlc291cmNlRGF0YS0+ZGF0YUxl
bmd0aCgpICsgZGF0YUxlbmd0aCA+IG1fbWF4aW11bVNpbmdsZVJlc291cmNlQ29udGVudFNpemUp
Ci0gICAgICAgIG1fY29udGVudFNpemUgLT0gcmVzb3VyY2VEYXRhLT5wdXJnZUNvbnRlbnQoKTsK
LSAgICBpZiAocmVzb3VyY2VEYXRhLT5pc0NvbnRlbnRQdXJnZWQoKSkKLSAgICAgICAgcmV0dXJu
OwotICAgIGlmIChlbnN1cmVGcmVlU3BhY2UoZGF0YUxlbmd0aCkgJiYgIXJlc291cmNlRGF0YS0+
aXNDb250ZW50UHVyZ2VkKCkpIHsKLSAgICAgICAgbV9pZGVudGlmaWVyc0RlcXVlLmFwcGVuZChp
ZGVudGlmaWVyKTsKLSAgICAgICAgcmVzb3VyY2VEYXRhLT5hcHBlbmREYXRhKGRhdGEsIGRhdGFM
ZW5ndGgpOwotICAgICAgICBtX2NvbnRlbnRTaXplICs9IGRhdGFMZW5ndGg7Ci0gICAgfQotfQot
Ci12b2lkIE5ldHdvcmtSZXNvdXJjZXNEYXRhOjptYXliZURlY29kZURhdGFUb0NvbnRlbnQodW5z
aWduZWQgbG9uZyBpZGVudGlmaWVyKQotewotICAgIFJlc291cmNlRGF0YSogcmVzb3VyY2VEYXRh
ID0gbV9pZGVudGlmaWVyVG9SZXNvdXJjZURhdGFNYXAuZ2V0KGlkZW50aWZpZXIpOwotICAgIGlm
ICghcmVzb3VyY2VEYXRhKQotICAgICAgICByZXR1cm47Ci0gICAgaWYgKCFyZXNvdXJjZURhdGEt
Pmhhc0RhdGEoKSkKLSAgICAgICAgcmV0dXJuOwotICAgIG1fY29udGVudFNpemUgKz0gcmVzb3Vy
Y2VEYXRhLT5kZWNvZGVEYXRhVG9Db250ZW50KCk7Ci0gICAgaW50IGRhdGFMZW5ndGggPSAyICog
cmVzb3VyY2VEYXRhLT5jb250ZW50KCkubGVuZ3RoKCk7Ci0gICAgaWYgKGRhdGFMZW5ndGggPiBt
X21heGltdW1TaW5nbGVSZXNvdXJjZUNvbnRlbnRTaXplKQotICAgICAgICBtX2NvbnRlbnRTaXpl
IC09IHJlc291cmNlRGF0YS0+cHVyZ2VDb250ZW50KCk7Ci19Ci0KIHZvaWQgTmV0d29ya1Jlc291
cmNlc0RhdGE6OmFkZENhY2hlZFJlc291cmNlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgQ2Fj
aGVkUmVzb3VyY2UqIGNhY2hlZFJlc291cmNlKQogewogICAgIGlmICghbV9pZGVudGlmaWVyVG9S
ZXNvdXJjZURhdGFNYXAuY29udGFpbnMoaWRlbnRpZmllcikpCkBAIC0yMjgsNyArMTQzLDcgQEAg
dm9pZCBOZXR3b3JrUmVzb3VyY2VzRGF0YTo6YWRkUmVzb3VyY2VTaGFyZWRCdWZmZXIodW5zaWdu
ZWQgbG9uZyBpZGVudGlmaWVyLCBQYXMKICAgICByZXNvdXJjZURhdGEtPnNldFRleHRFbmNvZGlu
Z05hbWUodGV4dEVuY29kaW5nTmFtZSk7CiB9CiAKLU5ldHdvcmtSZXNvdXJjZXNEYXRhOjpSZXNv
dXJjZURhdGEgY29uc3QqIE5ldHdvcmtSZXNvdXJjZXNEYXRhOjpkYXRhKHVuc2lnbmVkIGxvbmcg
aWRlbnRpZmllcikKK05ldHdvcmtSZXNvdXJjZXNEYXRhOjpSZXNvdXJjZURhdGEqIE5ldHdvcmtS
ZXNvdXJjZXNEYXRhOjpkYXRhKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcikKIHsKICAgICByZXR1
cm4gbV9pZGVudGlmaWVyVG9SZXNvdXJjZURhdGFNYXAuZ2V0KGlkZW50aWZpZXIpOwogfQpAQCAt
MjM2LDcgKzE1MSw2IEBAIE5ldHdvcmtSZXNvdXJjZXNEYXRhOjpSZXNvdXJjZURhdGEgY29uc3Qq
IE5ldHdvcmtSZXNvdXJjZXNEYXRhOjpkYXRhKHVuc2lnbmVkIGxvCiB2b2lkIE5ldHdvcmtSZXNv
dXJjZXNEYXRhOjpjbGVhcihjb25zdCBTdHJpbmcmIHByZXNlcnZlZExvYWRlcklkKQogewogICAg
IG1faWRlbnRpZmllcnNEZXF1ZS5jbGVhcigpOwotICAgIG1fY29udGVudFNpemUgPSAwOwogCiAg
ICAgUmVzb3VyY2VEYXRhTWFwIHByZXNlcnZlZE1hcDsKIApAQCAtMjUyLDE5ICsxNjYsMTEgQEAg
dm9pZCBOZXR3b3JrUmVzb3VyY2VzRGF0YTo6Y2xlYXIoY29uc3QgU3RyaW5nJiBwcmVzZXJ2ZWRM
b2FkZXJJZCkKICAgICBtX2lkZW50aWZpZXJUb1Jlc291cmNlRGF0YU1hcC5zd2FwKHByZXNlcnZl
ZE1hcCk7CiB9CiAKLXZvaWQgTmV0d29ya1Jlc291cmNlc0RhdGE6OnNldFJlc291cmNlc0RhdGFT
aXplTGltaXRzKGludCBtYXhpbXVtUmVzb3VyY2VzQ29udGVudFNpemUsIGludCBtYXhpbXVtU2lu
Z2xlUmVzb3VyY2VDb250ZW50U2l6ZSkKLXsKLSAgICBjbGVhcigpOwotICAgIG1fbWF4aW11bVJl
c291cmNlc0NvbnRlbnRTaXplID0gbWF4aW11bVJlc291cmNlc0NvbnRlbnRTaXplOwotICAgIG1f
bWF4aW11bVNpbmdsZVJlc291cmNlQ29udGVudFNpemUgPSBtYXhpbXVtU2luZ2xlUmVzb3VyY2VD
b250ZW50U2l6ZTsKLX0KLQotCiB2b2lkIE5ldHdvcmtSZXNvdXJjZXNEYXRhOjplbnN1cmVOb0Rh
dGFGb3JJZGVudGlmaWVyKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcikKIHsKICAgICBSZXNvdXJj
ZURhdGEqIHJlc291cmNlRGF0YSA9IG1faWRlbnRpZmllclRvUmVzb3VyY2VEYXRhTWFwLmdldChp
ZGVudGlmaWVyKTsKICAgICBpZiAocmVzb3VyY2VEYXRhKSB7Ci0gICAgICAgIGlmIChyZXNvdXJj
ZURhdGEtPmhhc0NvbnRlbnQoKSB8fCByZXNvdXJjZURhdGEtPmhhc0RhdGEoKSkKKyAgICAgICAg
aWYgKHJlc291cmNlRGF0YS0+aGFzQ29udGVudCgpKQogICAgICAgICAgICAgbV9jb250ZW50U2l6
ZSAtPSByZXNvdXJjZURhdGEtPnB1cmdlQ29udGVudCgpOwogICAgICAgICBkZWxldGUgcmVzb3Vy
Y2VEYXRhOwogICAgICAgICBtX2lkZW50aWZpZXJUb1Jlc291cmNlRGF0YU1hcC5yZW1vdmUoaWRl
bnRpZmllcik7CkBAIC0yNzMsMTAgKzE3OSwxMCBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZXNEYXRh
OjplbnN1cmVOb0RhdGFGb3JJZGVudGlmaWVyKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcikKIAog
Ym9vbCBOZXR3b3JrUmVzb3VyY2VzRGF0YTo6ZW5zdXJlRnJlZVNwYWNlKGludCBzaXplKQogewot
ICAgIGlmIChzaXplID4gbV9tYXhpbXVtUmVzb3VyY2VzQ29udGVudFNpemUpCisgICAgaWYgKHNp
emUgPiBtYXhpbXVtUmVzb3VyY2VzQ29udGVudFNpemUpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
IAotICAgIHdoaWxlIChzaXplID4gbV9tYXhpbXVtUmVzb3VyY2VzQ29udGVudFNpemUgLSBtX2Nv
bnRlbnRTaXplKSB7CisgICAgd2hpbGUgKHNpemUgPiBtYXhpbXVtUmVzb3VyY2VzQ29udGVudFNp
emUgLSBtX2NvbnRlbnRTaXplKSB7CiAgICAgICAgIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciA9
IG1faWRlbnRpZmllcnNEZXF1ZS50YWtlRmlyc3QoKTsKICAgICAgICAgUmVzb3VyY2VEYXRhKiBy
ZXNvdXJjZURhdGEgPSBtX2lkZW50aWZpZXJUb1Jlc291cmNlRGF0YU1hcC5nZXQoaWRlbnRpZmll
cik7CiAgICAgICAgIGlmIChyZXNvdXJjZURhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9OZXR3b3JrUmVzb3VyY2VzRGF0YS5oCmluZGV4IGQ1NDdhYTc5MTFlNjkwODNkZTM4OTQy
NzViNDI3ZWQ4M2RkMTg2ZDcuLjc4Y2RiZWJmYWE3M2Y2ODE4ZTgwMmZhMDM5YmFmOWVjNzVjNzlh
OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2Vz
RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2VzRGF0
YS5oCkBAIC0zMSw2ICszMSw3IEBACiAKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5o
IgogI2luY2x1ZGUgIkluc3BlY3RvclBhZ2VBZ2VudC5oIgorI2luY2x1ZGUgIlNoYXJlZEJ1ZmZl
ci5oIgogCiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
QEAgLTQyLDE0ICs0MywxMiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENhY2hl
ZFJlc291cmNlOwogY2xhc3MgU2hhcmVkQnVmZmVyOwotY2xhc3MgVGV4dFJlc291cmNlRGVjb2Rl
cjsKK2NsYXNzIENhY2hlZFJlc291cmNlOwogCiBjbGFzcyBOZXR3b3JrUmVzb3VyY2VzRGF0YSB7
CiBwdWJsaWM6CiAgICAgY2xhc3MgUmVzb3VyY2VEYXRhIHsKLSAgICAgICAgZnJpZW5kIGNsYXNz
IE5ldHdvcmtSZXNvdXJjZXNEYXRhOwogICAgIHB1YmxpYzoKICAgICAgICAgUmVzb3VyY2VEYXRh
KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBsb2FkZXJJZCk7CiAKQEAg
LTYyLDQ3ICs2MSwzOCBAQCBwdWJsaWM6CiAgICAgICAgIFN0cmluZyB1cmwoKSBjb25zdCB7IHJl
dHVybiBtX3VybDsgfQogICAgICAgICB2b2lkIHNldFVybChjb25zdCBTdHJpbmcmIHVybCkgeyBt
X3VybCA9IHVybDsgfQogCi0gICAgICAgIGJvb2wgaGFzQ29udGVudCgpIGNvbnN0IHsgcmV0dXJu
ICFtX2NvbnRlbnQuaXNOdWxsKCk7IH0KLSAgICAgICAgU3RyaW5nIGNvbnRlbnQoKSBjb25zdCB7
IHJldHVybiBtX2NvbnRlbnQ7IH0KLSAgICAgICAgdm9pZCBzZXRDb250ZW50KGNvbnN0IFN0cmlu
ZyYpOworICAgICAgICBib29sIGhhc0NvbnRlbnQoKSBjb25zdCB7IHJldHVybiBtX2hhc0NvbnRl
bnQ7IH0KKyAgICAgICAgU3RyaW5nIGNvbnRlbnQoKTsKKyAgICAgICAgdm9pZCBhcHBlbmRDb250
ZW50KGNvbnN0IFN0cmluZyYpOwogCiAgICAgICAgIGJvb2wgaXNDb250ZW50UHVyZ2VkKCkgY29u
c3QgeyByZXR1cm4gbV9pc0NvbnRlbnRQdXJnZWQ7IH0KKyAgICAgICAgdm9pZCBzZXRJc0NvbnRl
bnRQdXJnZWQoYm9vbCBpc0NvbnRlbnRQdXJnZWQpIHsgbV9pc0NvbnRlbnRQdXJnZWQgPSBpc0Nv
bnRlbnRQdXJnZWQ7IH0KICAgICAgICAgdW5zaWduZWQgcHVyZ2VDb250ZW50KCk7CiAKICAgICAg
ICAgSW5zcGVjdG9yUGFnZUFnZW50OjpSZXNvdXJjZVR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJu
IG1fdHlwZTsgfQogICAgICAgICB2b2lkIHNldFR5cGUoSW5zcGVjdG9yUGFnZUFnZW50OjpSZXNv
dXJjZVR5cGUgdHlwZSkgeyBtX3R5cGUgPSB0eXBlOyB9CiAKLSAgICAgICAgU3RyaW5nIHRleHRF
bmNvZGluZ05hbWUoKSBjb25zdCB7IHJldHVybiBtX3RleHRFbmNvZGluZ05hbWU7IH0KLSAgICAg
ICAgdm9pZCBzZXRUZXh0RW5jb2RpbmdOYW1lKGNvbnN0IFN0cmluZyYgdGV4dEVuY29kaW5nTmFt
ZSkgeyBtX3RleHRFbmNvZGluZ05hbWUgPSB0ZXh0RW5jb2RpbmdOYW1lOyB9Ci0KLSAgICAgICAg
VGV4dFJlc291cmNlRGVjb2RlciogZGVjb2RlcigpIGNvbnN0IHsgcmV0dXJuIG1fZGVjb2Rlci5n
ZXQoKTsgfQotICAgICAgICB2b2lkIGNyZWF0ZURlY29kZXIoY29uc3QgU3RyaW5nJiBtaW1lVHlw
ZSwgY29uc3QgU3RyaW5nJiB0ZXh0RW5jb2RpbmdOYW1lKTsKLQogICAgICAgICBQYXNzUmVmUHRy
PFNoYXJlZEJ1ZmZlcj4gYnVmZmVyKCkgY29uc3QgeyByZXR1cm4gbV9idWZmZXI7IH0KICAgICAg
ICAgdm9pZCBzZXRCdWZmZXIoUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IGJ1ZmZlcikgeyBtX2J1
ZmZlciA9IGJ1ZmZlcjsgfQogCisgICAgICAgIFN0cmluZyB0ZXh0RW5jb2RpbmdOYW1lKCkgY29u
c3QgeyByZXR1cm4gbV90ZXh0RW5jb2RpbmdOYW1lOyB9CisgICAgICAgIHZvaWQgc2V0VGV4dEVu
Y29kaW5nTmFtZShjb25zdCBTdHJpbmcmIHRleHRFbmNvZGluZ05hbWUpIHsgbV90ZXh0RW5jb2Rp
bmdOYW1lID0gdGV4dEVuY29kaW5nTmFtZTsgfQorCiAgICAgICAgIENhY2hlZFJlc291cmNlKiBj
YWNoZWRSZXNvdXJjZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2FjaGVkUmVzb3VyY2UuZ2V0KCk7IH0K
ICAgICAgICAgdm9pZCBzZXRDYWNoZWRSZXNvdXJjZShDYWNoZWRSZXNvdXJjZSogY2FjaGVkUmVz
b3VyY2UpIHsgbV9jYWNoZWRSZXNvdXJjZSA9IGNhY2hlZFJlc291cmNlOyB9CiAKICAgICBwcml2
YXRlOgotICAgICAgICBib29sIGhhc0RhdGEoKSBjb25zdCB7IHJldHVybiBtX2RhdGFCdWZmZXI7
IH0KLSAgICAgICAgaW50IGRhdGFMZW5ndGgoKSBjb25zdDsKLSAgICAgICAgdm9pZCBhcHBlbmRE
YXRhKGNvbnN0IGNoYXIqIGRhdGEsIGludCBkYXRhTGVuZ3RoKTsKLSAgICAgICAgaW50IGRlY29k
ZURhdGFUb0NvbnRlbnQoKTsKLQogICAgICAgICB1bnNpZ25lZCBsb25nIG1faWRlbnRpZmllcjsK
ICAgICAgICAgU3RyaW5nIG1fbG9hZGVySWQ7CiAgICAgICAgIFN0cmluZyBtX2ZyYW1lSWQ7CiAg
ICAgICAgIFN0cmluZyBtX3VybDsKLSAgICAgICAgU3RyaW5nIG1fY29udGVudDsKLSAgICAgICAg
UmVmUHRyPFNoYXJlZEJ1ZmZlcj4gbV9kYXRhQnVmZmVyOworICAgICAgICBib29sIG1faGFzQ29u
dGVudDsKKyAgICAgICAgU3RyaW5nQnVpbGRlciBtX2NvbnRlbnRCdWlsZGVyOwogICAgICAgICBi
b29sIG1faXNDb250ZW50UHVyZ2VkOwogICAgICAgICBJbnNwZWN0b3JQYWdlQWdlbnQ6OlJlc291
cmNlVHlwZSBtX3R5cGU7CiAKLSAgICAgICAgU3RyaW5nIG1fdGV4dEVuY29kaW5nTmFtZTsKLSAg
ICAgICAgUmVmUHRyPFRleHRSZXNvdXJjZURlY29kZXI+IG1fZGVjb2RlcjsKLQogICAgICAgICBS
ZWZQdHI8U2hhcmVkQnVmZmVyPiBtX2J1ZmZlcjsKKyAgICAgICAgU3RyaW5nIG1fdGV4dEVuY29k
aW5nTmFtZTsKICAgICAgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IG1f
Y2FjaGVkUmVzb3VyY2U7CiAgICAgfTsKIApAQCAtMTExLDE5ICsxMDEsMTUgQEAgcHVibGljOgog
ICAgIH5OZXR3b3JrUmVzb3VyY2VzRGF0YSgpOwogCiAgICAgdm9pZCByZXNvdXJjZUNyZWF0ZWQo
dW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGxvYWRlcklkKTsKLSAgICB2
b2lkIHJlc3BvbnNlUmVjZWl2ZWQodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBTdHJp
bmcmIGZyYW1lSWQsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKTsKKyAgICB2b2lkIHJlc3BvbnNl
UmVjZWl2ZWQodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGZyYW1lSWQs
IGNvbnN0IFN0cmluZyYgdXJsKTsKICAgICB2b2lkIHNldFJlc291cmNlVHlwZSh1bnNpZ25lZCBs
b25nIGlkZW50aWZpZXIsIEluc3BlY3RvclBhZ2VBZ2VudDo6UmVzb3VyY2VUeXBlKTsKICAgICBJ
bnNwZWN0b3JQYWdlQWdlbnQ6OlJlc291cmNlVHlwZSByZXNvdXJjZVR5cGUodW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyKTsKLSAgICB2b2lkIHNldFJlc291cmNlQ29udGVudCh1bnNpZ25lZCBsb25n
IGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgY29udGVudCk7Ci0gICAgdm9pZCBtYXliZUFkZFJl
c291cmNlRGF0YSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IGNoYXIqIGRhdGEsIGlu
dCBkYXRhTGVuZ3RoKTsKLSAgICB2b2lkIG1heWJlRGVjb2RlRGF0YVRvQ29udGVudCh1bnNpZ25l
ZCBsb25nIGlkZW50aWZpZXIpOworICAgIHZvaWQgYWRkUmVzb3VyY2VDb250ZW50KHVuc2lnbmVk
IGxvbmcgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBjb250ZW50KTsKICAgICB2b2lkIGFkZENh
Y2hlZFJlc291cmNlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgQ2FjaGVkUmVzb3VyY2UqKTsK
ICAgICB2b2lkIGFkZFJlc291cmNlU2hhcmVkQnVmZmVyKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmll
ciwgUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+LCBjb25zdCBTdHJpbmcmIHRleHRFbmNvZGluZ05h
bWUpOwotICAgIFJlc291cmNlRGF0YSBjb25zdCogZGF0YSh1bnNpZ25lZCBsb25nIGlkZW50aWZp
ZXIpOworICAgIFJlc291cmNlRGF0YSogZGF0YSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIpOwog
ICAgIHZvaWQgY2xlYXIoY29uc3QgU3RyaW5nJiBwcmVzZXJ2ZWRMb2FkZXJJZCA9IFN0cmluZygp
KTsKIAotICAgIHZvaWQgc2V0UmVzb3VyY2VzRGF0YVNpemVMaW1pdHMoaW50IG1heGltdW1SZXNv
dXJjZXNDb250ZW50U2l6ZSwgaW50IG1heGltdW1TaW5nbGVSZXNvdXJjZUNvbnRlbnRTaXplKTsK
LQogcHJpdmF0ZToKICAgICB2b2lkIGVuc3VyZU5vRGF0YUZvcklkZW50aWZpZXIodW5zaWduZWQg
bG9uZyBpZGVudGlmaWVyKTsKICAgICBib29sIGVuc3VyZUZyZWVTcGFjZShpbnQgc2l6ZSk7CkBA
IC0xMzMsOCArMTE5LDYgQEAgcHJpdmF0ZToKICAgICB0eXBlZGVmIEhhc2hNYXA8dW5zaWduZWQg
bG9uZywgUmVzb3VyY2VEYXRhKj4gUmVzb3VyY2VEYXRhTWFwOwogICAgIFJlc291cmNlRGF0YU1h
cCBtX2lkZW50aWZpZXJUb1Jlc291cmNlRGF0YU1hcDsKICAgICBpbnQgbV9jb250ZW50U2l6ZTsK
LSAgICBpbnQgbV9tYXhpbXVtUmVzb3VyY2VzQ29udGVudFNpemU7Ci0gICAgaW50IG1fbWF4aW11
bVNpbmdsZVJlc291cmNlQ29udGVudFNpemU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNl
LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZS5qcwppbmRl
eCBhMTA0MDM1YWE5YzQ1MTAwOGQ1NWVkNDY1NzdhZjMxZmI0OGQzOTc1Li5lYzFkMTQ4ZDVhZDBh
ZjMyMTNmZmZmMjY3MzI3NmY4MDNhYThjNjczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvUmVzb3VyY2UuanMKQEAgLTc4MiwxMSArNzgyLDYgQEAgV2ViSW5zcGVj
dG9yLlJlc291cmNlLnByb3RvdHlwZSA9IHsKICAgICAgICAgcmV0dXJuIHRoaXMuX2NvbnRlbnQ7
CiAgICAgfSwKIAotICAgIGdldCBjb250ZW50RW5jb2RlZCgpCi0gICAgewotICAgICAgICByZXR1
cm4gdGhpcy5fY29udGVudEVuY29kZWQ7Ci0gICAgfSwKLQogICAgIGdldCBjb250ZW50VGltZXN0
YW1wKCkKICAgICB7CiAgICAgICAgIHJldHVybiB0aGlzLl9jb250ZW50VGltZXN0YW1wOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVByZXZp
ZXdWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVBy
ZXZpZXdWaWV3LmpzCmluZGV4IDU4YzYxN2ZiNmQ2NDkwN2M2N2FjYzhhM2QyNmVlNmNlYzhhYzRl
NzQuLjNmYmNlNDc5MzUzMTc2YjYxYzYyZDc5MjZmMTAyMmJkZTg5ZjQyMWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VQcmV2aWV3Vmlldy5q
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlUHJldmll
d1ZpZXcuanMKQEAgLTM5LDcgKzM5LDcgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlUHJldmlld1Zp
ZXcucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgaWYgKCF0aGlzLnJlc291cmNlLmNvbnRl
bnQpIHsKICAgICAgICAgICAgIGlmICghdGhpcy5fZW1wdHlWaWV3KSB7Ci0gICAgICAgICAgICAg
ICAgdGhpcy5fZW1wdHlWaWV3ID0gdGhpcy5fY3JlYXRlRW1wdHlWaWV3KCk7CisgICAgICAgICAg
ICAgICAgdGhpcy5fZW1wdHlWaWV3ID0gbmV3IFdlYkluc3BlY3Rvci5FbXB0eVZpZXcoV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCJUaGlzIHJlcXVlc3QgaGFzIG5vIHByZXZpZXcgYXZhaWxhYmxlLiIp
KTsKICAgICAgICAgICAgICAgICB0aGlzLl9lbXB0eVZpZXcuc2hvdyh0aGlzLmVsZW1lbnQpOwog
ICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgewpAQCAtNDcsMTggKzQ3LDEzIEBAIFdlYklu
c3BlY3Rvci5SZXNvdXJjZVByZXZpZXdWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAg
ICB0aGlzLl9lbXB0eVZpZXcuZGV0YWNoKCk7CiAgICAgICAgICAgICAgICAgZGVsZXRlIHRoaXMu
X2VtcHR5VmlldzsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmICghdGhpcy5fcHJldmll
d1ZpZXcpCi0gICAgICAgICAgICAgICAgdGhpcy5fcHJldmlld1ZpZXcgPSB0aGlzLl9jcmVhdGVQ
cmV2aWV3VmlldygpOwotICAgICAgICAgICAgdGhpcy5fcHJldmlld1ZpZXcuc2hvdyh0aGlzLmVs
ZW1lbnQpOworICAgICAgICAgICAgaWYgKCF0aGlzLl92aWV3KQorICAgICAgICAgICAgICAgIHRo
aXMuX3ZpZXcgPSB0aGlzLl9jcmVhdGVJbm5lclZpZXcoKTsKKyAgICAgICAgICAgIHRoaXMuX3Zp
ZXcuc2hvdyh0aGlzLmVsZW1lbnQpOwogICAgICAgICB9CiAgICAgfSwKIAotICAgIF9jcmVhdGVF
bXB0eVZpZXc6IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVj
dG9yLkVtcHR5VmlldyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlRoaXMgcmVxdWVzdCBoYXMgbm8g
cHJldmlldyBhdmFpbGFibGUuIikpOwotICAgIH0sCi0gICAgCi0gICAgX2NyZWF0ZVByZXZpZXdW
aWV3OiBmdW5jdGlvbigpCisgICAgX2NyZWF0ZUlubmVyVmlldzogZnVuY3Rpb24oKQogICAgIHsK
ICAgICAgICAgaWYgKHRoaXMucmVzb3VyY2UuaGFzRXJyb3JTdGF0dXNDb2RlKCkgJiYgdGhpcy5y
ZXNvdXJjZS5jb250ZW50KQogICAgICAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuUmVz
b3VyY2VIVE1MVmlldyh0aGlzLnJlc291cmNlKTsKQEAgLTcxLDkgKzY2LDYgQEAgV2ViSW5zcGVj
dG9yLlJlc291cmNlUHJldmlld1ZpZXcucHJvdG90eXBlID0gewogCiAgICAgICAgIGlmICh0aGlz
Ll9yZXNwb25zZVZpZXcuc291cmNlVmlldykKICAgICAgICAgICAgIHJldHVybiB0aGlzLl9yZXNw
b25zZVZpZXcuc291cmNlVmlldzsKLSAgICAgICAgCi0gICAgICAgIGlmICh0aGlzLnJlc291cmNl
LmNhdGVnb3J5ID09PSBXZWJJbnNwZWN0b3IucmVzb3VyY2VDYXRlZ29yaWVzLm90aGVyKQotICAg
ICAgICAgICAgcmV0dXJuIHRoaXMuX2NyZWF0ZUVtcHR5VmlldygpOwogCiAgICAgICAgIHJldHVy
biBXZWJJbnNwZWN0b3IuUmVzb3VyY2VWaWV3Lm5vblNvdXJjZVZpZXdGb3JSZXNvdXJjZSh0aGlz
LnJlc291cmNlKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1Jlc291cmNlVmlldy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvUmVzb3VyY2VWaWV3LmpzCmluZGV4IDEwNmU4YjEyNTM5OTM5NDkwOWU4NjY5MmUxODJm
YzAzNDVlYzgxZDUuLjcyMjZmNjczMmUzM2UwNjE4MmYwNzAyZTRjZWMwYjE0MzZjYjc3OGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VWaWV3
LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VWaWV3
LmpzCkBAIC01MSw4ICs1MSw2IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZVZpZXcuaGFzVGV4dENv
bnRlbnQgPSBmdW5jdGlvbihyZXNvdXJjZSkKICAgICBjYXNlIFdlYkluc3BlY3Rvci5yZXNvdXJj
ZUNhdGVnb3JpZXMueGhyOgogICAgIGNhc2UgV2ViSW5zcGVjdG9yLnJlc291cmNlQ2F0ZWdvcmll
cy5zdHlsZXNoZWV0czoKICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgY2FzZSBXZWJJbnNwZWN0
b3IucmVzb3VyY2VDYXRlZ29yaWVzLm90aGVyOgotICAgICAgICByZXR1cm4gcmVzb3VyY2UuY29u
dGVudCAmJiAhcmVzb3VyY2UuY29udGVudEVuY29kZWQ7CiAgICAgZGVmYXVsdDoKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3Vt
ZW50VGhyZWFkYWJsZUxvYWRlci5jcHAKaW5kZXggNDY1NmQyYzRhY2ExY2IyZWRjOWNjMjMxYmZm
MmM3OWUzNjRiMTU4OC4uZWZmNjM5OTZkYWExZmVhOGFjNTFjMTJkMmE5NmVhZWQwNjkyNDY5YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRl
ci5jcHAKQEAgLTIyOSw3ICsyMjksNyBAQCB2b2lkIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6
ZGlkUmVjZWl2ZURhdGEoU3VicmVzb3VyY2VMb2FkZXIqIGxvYWRlciwgY29uc3QgYwogCiAjaWYg
RU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAobV9wcmVmbGlnaHRSZXF1ZXN0SWRlbnRpZmllcikK
LSAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZlRGF0YShtX2RvY3Vt
ZW50LT5mcmFtZSgpLCBtX3ByZWZsaWdodFJlcXVlc3RJZGVudGlmaWVyLCAwLCAwLCBkYXRhTGVu
Z3RoKTsKKyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZlQ29udGVu
dExlbmd0aChtX2RvY3VtZW50LT5mcmFtZSgpLCBtX3ByZWZsaWdodFJlcXVlc3RJZGVudGlmaWVy
LCAwLCBkYXRhTGVuZ3RoKTsKICNlbmRpZgogCiAgICAgLy8gUHJlZmxpZ2h0IGRhdGEgc2hvdWxk
IGJlIGludmlzaWJsZSB0byBjbGllbnRzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5j
cHAKaW5kZXggOTYwY2FmZWZmOTNjODYyZTk3M2JhNjMzMjYxMGE4ODMxYjI2MmY0NC4uZTJmMjgz
ZjI3ZDg3NTk4ZmNiZTg1OTEzNGIzM2VjNTFhYTc3YTc2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RnJhbWVMb2FkZXIuY3BwCkBAIC0xMzgyLDcgKzEzODIsNyBAQCBib29sIEZyYW1lTG9hZGVyOjp3
aWxsTG9hZE1lZGlhRWxlbWVudFVSTChLVVJMJiB1cmwpCiAgICAgdW5zaWduZWQgbG9uZyBpZGVu
dGlmaWVyOwogICAgIFJlc291cmNlRXJyb3IgZXJyb3I7CiAgICAgcmVxdWVzdEZyb21EZWxlZ2F0
ZShyZXF1ZXN0LCBpZGVudGlmaWVyLCBlcnJvcik7Ci0gICAgbm90aWZpZXIoKS0+c2VuZFJlbWFp
bmluZ0RlbGVnYXRlTWVzc2FnZXMobV9kb2N1bWVudExvYWRlci5nZXQoKSwgaWRlbnRpZmllciwg
UmVzb3VyY2VSZXNwb25zZSh1cmwsIFN0cmluZygpLCAtMSwgU3RyaW5nKCksIFN0cmluZygpKSwg
MCwgLTEsIC0xLCBlcnJvcik7CisgICAgbm90aWZpZXIoKS0+c2VuZFJlbWFpbmluZ0RlbGVnYXRl
TWVzc2FnZXMobV9kb2N1bWVudExvYWRlci5nZXQoKSwgaWRlbnRpZmllciwgUmVzb3VyY2VSZXNw
b25zZSh1cmwsIFN0cmluZygpLCAtMSwgU3RyaW5nKCksIFN0cmluZygpKSwgLTEsIC0xLCBlcnJv
cik7CiAKICAgICB1cmwgPSByZXF1ZXN0LnVybCgpOwogCkBAIC0xNzgwLDcgKzE3ODAsNyBAQCB2
b2lkIEZyYW1lTG9hZGVyOjpjb21taXRQcm92aXNpb25hbExvYWQoKQogICAgICAgICAgICAgLy8g
RklYTUU6IElmIHdlIGdldCBhIHJlc291cmNlIHdpdGggbW9yZSB0aGFuIDJCIGJ5dGVzLCB0aGlz
IGNvZGUgd29uJ3QgZG8gdGhlIHJpZ2h0IHRoaW5nLgogICAgICAgICAgICAgLy8gSG93ZXZlciwg
d2l0aCB0b2RheSdzIGNvbXB1dGVycyBhbmQgbmV0d29ya2luZyBzcGVlZHMsIHRoaXMgd29uJ3Qg
aGFwcGVuIGluIHByYWN0aWNlLgogICAgICAgICAgICAgLy8gQ291bGQgYmUgYW4gaXNzdWUgd2l0
aCBhIGdpYW50IGxvY2FsIGZpbGUuCi0gICAgICAgICAgICBub3RpZmllcigpLT5zZW5kUmVtYWlu
aW5nRGVsZWdhdGVNZXNzYWdlcyhtX2RvY3VtZW50TG9hZGVyLmdldCgpLCBpZGVudGlmaWVyLCBy
ZXNwb25zZSwgMCwgc3RhdGljX2Nhc3Q8aW50PihyZXNwb25zZS5leHBlY3RlZENvbnRlbnRMZW5n
dGgoKSksIDAsIGVycm9yKTsKKyAgICAgICAgICAgIG5vdGlmaWVyKCktPnNlbmRSZW1haW5pbmdE
ZWxlZ2F0ZU1lc3NhZ2VzKG1fZG9jdW1lbnRMb2FkZXIuZ2V0KCksIGlkZW50aWZpZXIsIHJlc3Bv
bnNlLCBzdGF0aWNfY2FzdDxpbnQ+KHJlc3BvbnNlLmV4cGVjdGVkQ29udGVudExlbmd0aCgpKSwg
MCwgZXJyb3IpOwogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBwYWdlQ2FjaGUoKS0+cmVt
b3ZlKGhpc3RvcnkoKS0+Y3VycmVudEl0ZW0oKSk7CkBAIC0yNTkwLDcgKzI1OTAsNyBAQCB1bnNp
Z25lZCBsb25nIEZyYW1lTG9hZGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KGNvbnN0IFJl
c291cmNlUmVxdWVzdCYgcmVxdQogI2VuZGlmCiAgICAgfQogICAgIGludCBlbmNvZGVkRGF0YUxl
bmd0aCA9IHJlc3BvbnNlLnJlc291cmNlTG9hZEluZm8oKSA/IHN0YXRpY19jYXN0PGludD4ocmVz
cG9uc2UucmVzb3VyY2VMb2FkSW5mbygpLT5lbmNvZGVkRGF0YUxlbmd0aCkgOiAtMTsKLSAgICBu
b3RpZmllcigpLT5zZW5kUmVtYWluaW5nRGVsZWdhdGVNZXNzYWdlcyhtX2RvY3VtZW50TG9hZGVy
LmdldCgpLCBpZGVudGlmaWVyLCByZXNwb25zZSwgZGF0YS5kYXRhKCksIGRhdGEuc2l6ZSgpLCBl
bmNvZGVkRGF0YUxlbmd0aCwgZXJyb3IpOworICAgIG5vdGlmaWVyKCktPnNlbmRSZW1haW5pbmdE
ZWxlZ2F0ZU1lc3NhZ2VzKG1fZG9jdW1lbnRMb2FkZXIuZ2V0KCksIGlkZW50aWZpZXIsIHJlc3Bv
bnNlLCBkYXRhLnNpemUoKSwgZW5jb2RlZERhdGFMZW5ndGgsIGVycm9yKTsKICAgICByZXR1cm4g
aWRlbnRpZmllcjsKIH0KIApAQCAtMjg4Myw3ICsyODgzLDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6
bG9hZGVkUmVzb3VyY2VGcm9tTWVtb3J5Q2FjaGUoY29uc3QgQ2FjaGVkUmVzb3VyY2UqIHJlc291
cmNlKQogICAgIFJlc291cmNlRXJyb3IgZXJyb3I7CiAgICAgcmVxdWVzdEZyb21EZWxlZ2F0ZShy
ZXF1ZXN0LCBpZGVudGlmaWVyLCBlcnJvcik7CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjptYXJrUmVzb3VyY2VBc0NhY2hlZChwYWdlLCBpZGVudGlmaWVyKTsKLSAgICBub3RpZmllcigp
LT5zZW5kUmVtYWluaW5nRGVsZWdhdGVNZXNzYWdlcyhtX2RvY3VtZW50TG9hZGVyLmdldCgpLCBp
ZGVudGlmaWVyLCByZXNvdXJjZS0+cmVzcG9uc2UoKSwgMCwgcmVzb3VyY2UtPmVuY29kZWRTaXpl
KCksIDAsIGVycm9yKTsKKyAgICBub3RpZmllcigpLT5zZW5kUmVtYWluaW5nRGVsZWdhdGVNZXNz
YWdlcyhtX2RvY3VtZW50TG9hZGVyLmdldCgpLCBpZGVudGlmaWVyLCByZXNvdXJjZS0+cmVzcG9u
c2UoKSwgcmVzb3VyY2UtPmVuY29kZWRTaXplKCksIDAsIGVycm9yKTsKIH0KIAogdm9pZCBGcmFt
ZUxvYWRlcjo6YXBwbHlVc2VyQWdlbnQoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5jcHAKaW5kZXggZjQ1MTNi
YjZjMDkwY2ZkODNjNjI0MjMyMzI2MWJiNmY3MTI3NmQ5YS4uYWM0NmE5NDQ3ZmU1YzM2MjhmNDcz
NTJlOGMyY2NhMjJiZGU4M2E0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jl
c291cmNlTG9hZE5vdGlmaWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3Vy
Y2VMb2FkTm90aWZpZXIuY3BwCkBAIC03OSw3ICs3OSw3IEBAIHZvaWQgUmVzb3VyY2VMb2FkTm90
aWZpZXI6OmRpZFJlY2VpdmVEYXRhKFJlc291cmNlTG9hZGVyKiBsb2FkZXIsIGNvbnN0IGNoYXIq
IGRhCiAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBtX2ZyYW1lLT5wYWdlKCkpCiAgICAgICAgIHBhZ2Ut
PnByb2dyZXNzKCktPmluY3JlbWVudFByb2dyZXNzKGxvYWRlci0+aWRlbnRpZmllcigpLCBkYXRh
LCBkYXRhTGVuZ3RoKTsKIAotICAgIGRpc3BhdGNoRGlkUmVjZWl2ZURhdGEobG9hZGVyLT5kb2N1
bWVudExvYWRlcigpLCBsb2FkZXItPmlkZW50aWZpZXIoKSwgZGF0YSwgZGF0YUxlbmd0aCwgZW5j
b2RlZERhdGFMZW5ndGgpOworICAgIGRpc3BhdGNoRGlkUmVjZWl2ZUNvbnRlbnRMZW5ndGgobG9h
ZGVyLT5kb2N1bWVudExvYWRlcigpLCBsb2FkZXItPmlkZW50aWZpZXIoKSwgZGF0YUxlbmd0aCwg
ZW5jb2RlZERhdGFMZW5ndGgpOwogfQogCiB2b2lkIFJlc291cmNlTG9hZE5vdGlmaWVyOjpkaWRG
aW5pc2hMb2FkKFJlc291cmNlTG9hZGVyKiBsb2FkZXIsIGRvdWJsZSBmaW5pc2hUaW1lKQpAQCAt
MTMwLDExICsxMzAsMTEgQEAgdm9pZCBSZXNvdXJjZUxvYWROb3RpZmllcjo6ZGlzcGF0Y2hEaWRS
ZWNlaXZlUmVzcG9uc2UoRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgdW4KICAgICBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVSZXNvdXJjZVJlc3BvbnNlKGNvb2tpZSwgaWRlbnRp
ZmllciwgbG9hZGVyLCByKTsKIH0KIAotdm9pZCBSZXNvdXJjZUxvYWROb3RpZmllcjo6ZGlzcGF0
Y2hEaWRSZWNlaXZlRGF0YShEb2N1bWVudExvYWRlciogbG9hZGVyLCB1bnNpZ25lZCBsb25nIGlk
ZW50aWZpZXIsIGNvbnN0IGNoYXIqIGRhdGEsIGludCBkYXRhTGVuZ3RoLCBpbnQgZW5jb2RlZERh
dGFMZW5ndGgpCit2b2lkIFJlc291cmNlTG9hZE5vdGlmaWVyOjpkaXNwYXRjaERpZFJlY2VpdmVD
b250ZW50TGVuZ3RoKERvY3VtZW50TG9hZGVyKiBsb2FkZXIsIHVuc2lnbmVkIGxvbmcgaWRlbnRp
ZmllciwgaW50IGRhdGFMZW5ndGgsIGludCBlbmNvZGVkRGF0YUxlbmd0aCkKIHsKICAgICBtX2Zy
YW1lLT5sb2FkZXIoKS0+Y2xpZW50KCktPmRpc3BhdGNoRGlkUmVjZWl2ZUNvbnRlbnRMZW5ndGgo
bG9hZGVyLCBpZGVudGlmaWVyLCBkYXRhTGVuZ3RoKTsKIAotICAgIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6ZGlkUmVjZWl2ZURhdGEobV9mcmFtZSwgaWRlbnRpZmllciwgZGF0YSwgZGF0YUxl
bmd0aCwgZW5jb2RlZERhdGFMZW5ndGgpOworICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
ZGlkUmVjZWl2ZUNvbnRlbnRMZW5ndGgobV9mcmFtZSwgaWRlbnRpZmllciwgZGF0YUxlbmd0aCwg
ZW5jb2RlZERhdGFMZW5ndGgpOwogfQogCiB2b2lkIFJlc291cmNlTG9hZE5vdGlmaWVyOjpkaXNw
YXRjaERpZEZpbmlzaExvYWRpbmcoRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgdW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyLCBkb3VibGUgZmluaXNoVGltZSkKQEAgLTE1MiwxMyArMTUyLDEzIEBAIHZv
aWQgUmVzb3VyY2VMb2FkTm90aWZpZXI6OmRpc3BhdGNoVHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VG
cm9tUGFnZSh1bnNpZ25lZCBsb25nCiAgICAgb2xkUGFnZS0+cHJvZ3Jlc3MoKS0+Y29tcGxldGVQ
cm9ncmVzcyhpZGVudGlmaWVyKTsKIH0KIAotdm9pZCBSZXNvdXJjZUxvYWROb3RpZmllcjo6c2Vu
ZFJlbWFpbmluZ0RlbGVnYXRlTWVzc2FnZXMoRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgdW5zaWdu
ZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgY29u
c3QgY2hhciogZGF0YSwgaW50IGRhdGFMZW5ndGgsIGludCBlbmNvZGVkRGF0YUxlbmd0aCwgY29u
c3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCit2b2lkIFJlc291cmNlTG9hZE5vdGlmaWVyOjpzZW5k
UmVtYWluaW5nRGVsZWdhdGVNZXNzYWdlcyhEb2N1bWVudExvYWRlciogbG9hZGVyLCB1bnNpZ25l
ZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBpbnQg
ZGF0YUxlbmd0aCwgaW50IGVuY29kZWREYXRhTGVuZ3RoLCBjb25zdCBSZXNvdXJjZUVycm9yJiBl
cnJvcikKIHsKICAgICBpZiAoIXJlc3BvbnNlLmlzTnVsbCgpKQogICAgICAgICBkaXNwYXRjaERp
ZFJlY2VpdmVSZXNwb25zZShsb2FkZXIsIGlkZW50aWZpZXIsIHJlc3BvbnNlKTsKIAogICAgIGlm
IChkYXRhTGVuZ3RoID4gMCkKLSAgICAgICAgZGlzcGF0Y2hEaWRSZWNlaXZlRGF0YShsb2FkZXIs
IGlkZW50aWZpZXIsIGRhdGEsIGRhdGFMZW5ndGgsIGVuY29kZWREYXRhTGVuZ3RoKTsKKyAgICAg
ICAgZGlzcGF0Y2hEaWRSZWNlaXZlQ29udGVudExlbmd0aChsb2FkZXIsIGlkZW50aWZpZXIsIGRh
dGFMZW5ndGgsIGVuY29kZWREYXRhTGVuZ3RoKTsKIAogICAgIGlmIChlcnJvci5pc051bGwoKSkK
ICAgICAgICAgZGlzcGF0Y2hEaWRGaW5pc2hMb2FkaW5nKGxvYWRlciwgaWRlbnRpZmllciwgMCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5oCmluZGV4IDZh
OTI5NmMzMTJiNThkMmRmNzdkZWE1NWJmNmIxYmE2NGJjYWRjZTQuLmRhZmQ2MTk0Y2NlYzgzMjQ1
ZTI4YTJjYjhhYmI4OTZhMjUyYmMwMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9SZXNvdXJjZUxvYWROb3RpZmllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNv
dXJjZUxvYWROb3RpZmllci5oCkBAIC02MCwxMSArNjAsMTEgQEAgcHVibGljOgogICAgIHZvaWQg
YXNzaWduSWRlbnRpZmllclRvSW5pdGlhbFJlcXVlc3QodW5zaWduZWQgbG9uZyBpZGVudGlmaWVy
LCBEb2N1bWVudExvYWRlciosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYpOwogICAgIHZvaWQgZGlz
cGF0Y2hXaWxsU2VuZFJlcXVlc3QoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50
aWZpZXIsIFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlZGlyZWN0
UmVzcG9uc2UpOwogICAgIHZvaWQgZGlzcGF0Y2hEaWRSZWNlaXZlUmVzcG9uc2UoRG9jdW1lbnRM
b2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2Um
KTsKLSAgICB2b2lkIGRpc3BhdGNoRGlkUmVjZWl2ZURhdGEoRG9jdW1lbnRMb2FkZXIqLCB1bnNp
Z25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IGNoYXIqIGRhdGEsIGludCBkYXRhTGVuZ3RoLCBp
bnQgZW5jb2RlZERhdGFMZW5ndGgpOworICAgIHZvaWQgZGlzcGF0Y2hEaWRSZWNlaXZlQ29udGVu
dExlbmd0aChEb2N1bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgaW50IGRh
dGFMZW5ndGgsIGludCBlbmNvZGVkRGF0YUxlbmd0aCk7CiAgICAgdm9pZCBkaXNwYXRjaERpZEZp
bmlzaExvYWRpbmcoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGRv
dWJsZSBmaW5pc2hUaW1lKTsKICAgICB2b2lkIGRpc3BhdGNoVHJhbnNmZXJMb2FkaW5nUmVzb3Vy
Y2VGcm9tUGFnZSh1bnNpZ25lZCBsb25nLCBEb2N1bWVudExvYWRlciosIGNvbnN0IFJlc291cmNl
UmVxdWVzdCYsIFBhZ2UqKTsKIAotICAgIHZvaWQgc2VuZFJlbWFpbmluZ0RlbGVnYXRlTWVzc2Fn
ZXMoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291
cmNlUmVzcG9uc2UmLCBjb25zdCBjaGFyKiBkYXRhLCBpbnQgZGF0YUxlbmd0aCwgaW50IGVuY29k
ZWREYXRhTGVuZ3RoLCBjb25zdCBSZXNvdXJjZUVycm9yJik7CisgICAgdm9pZCBzZW5kUmVtYWlu
aW5nRGVsZWdhdGVNZXNzYWdlcyhEb2N1bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcgaWRlbnRp
ZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIGludCBkYXRhTGVuZ3RoLCBpbnQgZW5jb2Rl
ZERhdGFMZW5ndGgsIGNvbnN0IFJlc291cmNlRXJyb3ImKTsKIAogcHJpdmF0ZToKICAgICBGcmFt
ZSogbV9mcmFtZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9B
cHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hl
L0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHAKaW5kZXggNjRmN2I2ODVkZDljOGZkNzYyNzIwY2My
ZTdhMmQ2NWM5MzQzZjU5Ny4uNDViMTg0Y2ZmOTk3MDIyYTBhNzJlNDdmZGIzOGQ4OWVhOTkyMzQ0
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9u
Q2FjaGVHcm91cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxp
Y2F0aW9uQ2FjaGVHcm91cC5jcHAKQEAgLTU3MSw3ICs1NzEsNyBAQCB2b2lkIEFwcGxpY2F0aW9u
Q2FjaGVHcm91cDo6ZGlkUmVjZWl2ZURhdGEoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgY29uc3Qg
Y2hhciogZAogICAgIFVOVVNFRF9QQVJBTShlbmNvZGVkRGF0YUxlbmd0aCk7CiAKICNpZiBFTkFC
TEUoSU5TUEVDVE9SKQotICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUmVjZWl2ZURh
dGEobV9mcmFtZSwgbV9jdXJyZW50UmVzb3VyY2VJZGVudGlmaWVyLCAwLCBsZW5ndGgsIDApOwor
ICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUmVjZWl2ZUNvbnRlbnRMZW5ndGgobV9m
cmFtZSwgbV9jdXJyZW50UmVzb3VyY2VJZGVudGlmaWVyLCBsZW5ndGgsIDApOwogI2VuZGlmCiAK
ICAgICBpZiAoaGFuZGxlID09IG1fbWFuaWZlc3RIYW5kbGUpIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmNwcAppbmRleCBmYjk1ZTFiOTZlODNhYjNmNWYxNjVkMGExZjY5YmM0ZmNmM2Q4
MGE3Li44NmNkY2JlYjkwZjBmMmMzNmViOWM0ZDVlZGJmNGJmMzJjOWM4YTFmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC0zMCw4ICszMCw2IEBACiAjaW5jbHVkZSAiRG9j
dW1lbnQuaCIKICNpbmNsdWRlICJFbGVtZW50LmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5o
IgotI2luY2x1ZGUgIkluc3BlY3RvckNvbnRyb2xsZXIuaCIKLSNpbmNsdWRlICJQYWdlLmgiCiAj
aW5jbHVkZSAiUmVuZGVyVHJlZUFzVGV4dC5oIgogI2luY2x1ZGUgIlNoYWRvd0NvbnRlbnRFbGVt
ZW50LmgiCiAjaW5jbHVkZSAiU2hhZG93Um9vdC5oIgpAQCAtMTI1LDE1ICsxMjMsNCBAQCBTdHJp
bmcgSW50ZXJuYWxzOjpzaGFkb3dQc2V1ZG9JZChFbGVtZW50KiBlbGVtZW50LCBFeGNlcHRpb25D
b2RlJiBlYykKICAgICByZXR1cm4gZWxlbWVudC0+c2hhZG93UHNldWRvSWQoKS5zdHJpbmcoKTsK
IH0KIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi12b2lkIEludGVybmFsczo6c2V0SW5zcGVjdG9y
UmVzb3VyY2VzRGF0YVNpemVMaW1pdHMoRG9jdW1lbnQqIGRvY3VtZW50LCBpbnQgbWF4aW11bVJl
c291cmNlc0NvbnRlbnRTaXplLCBpbnQgbWF4aW11bVNpbmdsZVJlc291cmNlQ29udGVudFNpemUs
IEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIGlmICghZG9jdW1lbnQgfHwgIWRvY3VtZW50LT5w
YWdlKCkgfHwgIWRvY3VtZW50LT5wYWdlKCktPmluc3BlY3RvckNvbnRyb2xsZXIoKSkgewotICAg
ICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAg
ICBkb2N1bWVudC0+cGFnZSgpLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPnNldFJlc291cmNlc0Rh
dGFTaXplTGltaXRzRnJvbUludGVybmFscyhtYXhpbXVtUmVzb3VyY2VzQ29udGVudFNpemUsIG1h
eGltdW1TaW5nbGVSZXNvdXJjZUNvbnRlbnRTaXplKTsKLX0KLSNlbmRpZgotCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCAxNTBhYjhlYzRiZjA4OTE3MDFiZTFkMzhlMWQyYmJi
MTI0MjEzYjU1Li5lNjc3ZTMyZjA4OWRjY2E3MThiMjQyYmFiNzA1ODFkMDBmNTY2YmU0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTUzLDEwICs1Myw2IEBAIHB1YmxpYzoKICAg
ICBTdHJpbmcgc2hhZG93UHNldWRvSWQoRWxlbWVudCosIEV4Y2VwdGlvbkNvZGUmKTsKICAgICBQ
YXNzUmVmUHRyPEVsZW1lbnQ+IGNyZWF0ZVNoYWRvd0NvbnRlbnRFbGVtZW50KERvY3VtZW50Kiwg
RXhjZXB0aW9uQ29kZSYpOwogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLSAgICB2b2lkIHNldElu
c3BlY3RvclJlc291cmNlc0RhdGFTaXplTGltaXRzKERvY3VtZW50KiwgaW50IG1heGltdW1SZXNv
dXJjZXNDb250ZW50U2l6ZSwgaW50IG1heGltdW1TaW5nbGVSZXNvdXJjZUNvbnRlbnRTaXplLCBF
eGNlcHRpb25Db2RlJik7Ci0jZW5kaWYKLQogcHJpdmF0ZToKICAgICBJbnRlcm5hbHMoKTsKIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggNmFiYTgwMzlmOGIxNTU5YWNl
Yzk3MWZmZmI4Y2U0NTJkNTM4NmJiNy4uYjgyODcxZTUyNDJmNGY0YmM5ZWU3NTg0ZGQ1OTc5ZDdl
MGRhMjM0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtMzUsOCArMzUs
NiBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgdm9pZCByZW1vdmVTaGFkb3dSb290KGluIEVs
ZW1lbnQgaG9zdCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogICAgICAgICBET01TdHJpbmcgc2hh
ZG93UHNldWRvSWQoaW4gRWxlbWVudCBlbGVtZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAg
ICAgICAgIEVsZW1lbnQgY3JlYXRlU2hhZG93Q29udGVudEVsZW1lbnQoaW4gRG9jdW1lbnQgZG9j
dW1lbnQpIHJhaXNlcyhET01FeGNlcHRpb24pOwotCi0gICAgICAgIHZvaWQgc2V0SW5zcGVjdG9y
UmVzb3VyY2VzRGF0YVNpemVMaW1pdHMoaW4gRG9jdW1lbnQgZG9jdW1lbnQsIGluIGxvbmcgbWF4
aW11bVJlc291cmNlc0NvbnRlbnRTaXplLCBpbiBsb25nIG1heGltdW1TaW5nbGVSZXNvdXJjZUNv
bnRlbnRTaXplKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICAgICB9OwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5k
ZXggMWViMTFlMjEwNTgwNDVjOWIyZmQyMzM0YTFlYTcyMDUxZDMxMjgwOC4uYTMwZDIxOTQzMTEx
Y2QxZTNiYThhNTkyNGY2NWVlNjk1ZjgxNTFjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDExLTA3LTA0ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4K
KworICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByOTAzNzMuCisgICAgICAgIGh0dHA6
Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzkwMzczCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MzkxNworCisgICAgICAgIEJyZWFrcyBRdCBMaW51
eCBSZWxlYXNlIG1pbmltYWwgKFJlcXVlc3RlZCBieSB2c2V2aWsgb24KKyAgICAgICAgI3dlYmtp
dCkuCisKKyAgICAgICAgKiB3aW4vV2ViS2l0Mi5kZWY6CisgICAgICAgICogd2luL1dlYktpdDJD
RkxpdGUuZGVmOgorCiAyMDExLTA3LTA0ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFNob3cgY29udGVudCBmb3IgcGx1Z2lu
IHJlcXVlc3RzIGluIG5ldHdvcmsgcGFuZWwuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93
aW4vV2ViS2l0Mi5kZWYgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKaW5kZXggMTk2
N2ZiMGRiM2Q1M2RmMGFhM2RiMDBkZmFmMzg0M2YxZDgxNWVlOS4uNjY4NzU1ZDEzZDNmYjI4MmQy
M2ZjMmNhNDU3MWZhZmVjNzFlNTA3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvd2luL1dl
YktpdDIuZGVmCisrKyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgpAQCAtMTQ0LDEw
ICsxNDQsOCBAQCBFWFBPUlRTCiAgICAgICAgID9nZXRDYWNoZWRET01TdHJ1Y3R1cmVAV2ViQ29y
ZUBAWUFQQVZTdHJ1Y3R1cmVASlNDQEBQQVZKU0RPTUdsb2JhbE9iamVjdEAxQFBCVUNsYXNzSW5m
b0AzQEBaCiAgICAgICAgID9pc1ByZWxvYWRlZEBDYWNoZWRSZXNvdXJjZUxvYWRlckBXZWJDb3Jl
QEBRQkVfTkFCVlN0cmluZ0BXVEZAQEBaCiAgICAgICAgID9qc1N0cmluZ1Nsb3dDYXNlQFdlYkNv
cmVAQFlBP0FWSlNWYWx1ZUBKU0NAQFBBVkV4ZWNTdGF0ZUAzQEFBVj8kSGFzaE1hcEBQQVZTdHJp
bmdJbXBsQFdURkBAVj8kV2Vha0BWSlNTdHJpbmdASlNDQEBASlNDQEBVU3RyaW5nSGFzaEAyQFU/
JEhhc2hUcmFpdHNAUEFWU3RyaW5nSW1wbEBXVEZAQEAyQFU/JEhhc2hUcmFpdHNAVj8kV2Vha0BW
SlNTdHJpbmdASlNDQEBASlNDQEBAMkBAV1RGQEBQQVZTdHJpbmdJbXBsQDZAQFoKLSAgICAgICAg
P3BhZ2VARG9jdW1lbnRAV2ViQ29yZUBAUUJFUEFWUGFnZUAyQFhaCiAgICAgICAgID9yZW1vdmVT
aGFkb3dSb290QEVsZW1lbnRAV2ViQ29yZUBAUUFFWFhaCiAgICAgICAgID9zZXRET01FeGNlcHRp
b25AV2ViQ29yZUBAWUFYUEFWRXhlY1N0YXRlQEpTQ0BASEBaCi0gICAgICAgID9zZXRSZXNvdXJj
ZXNEYXRhU2l6ZUxpbWl0c0Zyb21JbnRlcm5hbHNASW5zcGVjdG9yQ29udHJvbGxlckBXZWJDb3Jl
QEBRQUVYSEhAWgogICAgICAgICA/c2hhZG93Um9vdEBFbGVtZW50QFdlYkNvcmVAQFFCRVBBVlNo
YWRvd1Jvb3RAMkBYWgogICAgICAgICA/dG9Eb2N1bWVudEBXZWJDb3JlQEBZQVBBVkRvY3VtZW50
QDFAVkpTVmFsdWVASlNDQEBAWgogICAgICAgICA/dG9FbGVtZW50QFdlYkNvcmVAQFlBUEFWRWxl
bWVudEAxQFZKU1ZhbHVlQEpTQ0BAQFoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9X
ZWJLaXQyQ0ZMaXRlLmRlZiBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZgpp
bmRleCBhMTg3NmRkNzdjYjc0NGY0ODAzODE3MjE5ZmU3NWNiOWZiZDUxNDNkLi4xODcxY2U3MmYz
MmYxOTM1NDIyZDU4NDk2YTBiMjg0MjViZDFiMWYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYKKysrIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJD
RkxpdGUuZGVmCkBAIC0xMzcsMTAgKzEzNyw4IEBAIEVYUE9SVFMKICAgICAgICAgP2dldENhY2hl
ZERPTVN0cnVjdHVyZUBXZWJDb3JlQEBZQVBBVlN0cnVjdHVyZUBKU0NAQFBBVkpTRE9NR2xvYmFs
T2JqZWN0QDFAUEJVQ2xhc3NJbmZvQDNAQFoKICAgICAgICAgP2lzUHJlbG9hZGVkQENhY2hlZFJl
c291cmNlTG9hZGVyQFdlYkNvcmVAQFFCRV9OQUJWU3RyaW5nQFdURkBAQFoKICAgICAgICAgP2pz
U3RyaW5nU2xvd0Nhc2VAV2ViQ29yZUBAWUE/QVZKU1ZhbHVlQEpTQ0BAUEFWRXhlY1N0YXRlQDNA
QUFWPyRIYXNoTWFwQFBBVlN0cmluZ0ltcGxAV1RGQEBWPyRXZWFrQFZKU1N0cmluZ0BKU0NAQEBK
U0NAQFVTdHJpbmdIYXNoQDJAVT8kSGFzaFRyYWl0c0BQQVZTdHJpbmdJbXBsQFdURkBAQDJAVT8k
SGFzaFRyYWl0c0BWPyRXZWFrQFZKU1N0cmluZ0BKU0NAQEBKU0NAQEAyQEBXVEZAQFBBVlN0cmlu
Z0ltcGxANkBAWgotICAgICAgICA/cGFnZUBEb2N1bWVudEBXZWJDb3JlQEBRQkVQQVZQYWdlQDJA
WFoKICAgICAgICAgP3JlbW92ZVNoYWRvd1Jvb3RARWxlbWVudEBXZWJDb3JlQEBRQUVYWFoKICAg
ICAgICAgP3NldERPTUV4Y2VwdGlvbkBXZWJDb3JlQEBZQVhQQVZFeGVjU3RhdGVASlNDQEBIQFoK
LSAgICAgICAgP3NldFJlc291cmNlc0RhdGFTaXplTGltaXRzRnJvbUludGVybmFsc0BJbnNwZWN0
b3JDb250cm9sbGVyQFdlYkNvcmVAQFFBRVhISEBaCiAgICAgICAgID9zaGFkb3dSb290QEVsZW1l
bnRAV2ViQ29yZUBAUUJFUEFWU2hhZG93Um9vdEAyQFhaCiAgICAgICAgID90b0RvY3VtZW50QFdl
YkNvcmVAQFlBUEFWRG9jdW1lbnRAMUBWSlNWYWx1ZUBKU0NAQEBaCiAgICAgICAgID90b0VsZW1l
bnRAV2ViQ29yZUBAWUFQQVZFbGVtZW50QDFAVkpTVmFsdWVASlNDQEBAWgpkaWZmIC0tZ2l0IGEv
U291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlciBiL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9s
cy5maWx0ZXIKaW5kZXggYmM5MjBhOTcyM2QxNjNkNTQwMDI3M2E4ZDliZTk1Y2IyZTdhNGZiYy4u
MTY4NDJkZWVhODViYzRmOTc1NWU0YTE4NDE0MzMxNDc0MTZmMDg3NiAxMDA2NDQKLS0tIGEvU291
cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgorKysgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJv
bHMuZmlsdGVyCkBAIC0zNiw3ICszNiw2IEBAIF9aTjdXZWJDb3JlMTNjcmVhdGVXcmFwcGVyRVBO
M0pTQzlFeGVjU3RhdGVFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFUE5TXzROb2RlRTsKIF9aTjdX
ZWJDb3JlMTVzZXRET01FeGNlcHRpb25FUE4zSlNDOUV4ZWNTdGF0ZUVpOwogX1pON1dlYkNvcmUx
NmpzU3RyaW5nU2xvd0Nhc2VFUE4zSlNDOUV4ZWNTdGF0ZUVSTjNXVEY3SGFzaE1hcElQTlMzXzEw
U3RyaW5nSW1wbEVOUzBfNFdlYWtJTlMwXzhKU1N0cmluZ0VFRU5TM18xMFN0cmluZ0hhc2hFTlMz
XzEwSGFzaFRyYWl0c0lTNl9FRU5TQl9JUzlfRUVFRVM2XzsKIF9aTjdXZWJDb3JlMTdjYWNoZURP
TVN0cnVjdHVyZUVQTlNfMTdKU0RPTUdsb2JhbE9iamVjdEVQTjNKU0M5U3RydWN0dXJlRVBLTlMy
XzlDbGFzc0luZm9FOwotX1pON1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIzOXNldFJlc291
cmNlc0RhdGFTaXplTGltaXRzRnJvbUludGVybmFsc0VpaTsKIF9aTjdXZWJDb3JlMjBTaGFkb3dD
b250ZW50RWxlbWVudDZjcmVhdGVFUE5TXzhEb2N1bWVudEU7CiBfWk43V2ViQ29yZTIxZ2V0Q2Fj
aGVkRE9NU3RydWN0dXJlRVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0RVBLTjNKU0M5Q2xhc3NJbmZv
RTsKIF9aTjdXZWJDb3JlMjJleHRlcm5hbFJlcHJlc2VudGF0aW9uRVBOU183RWxlbWVudEVqOwpA
QCAtNTEsNyArNTAsNiBAQCBfWk43V2ViQ29yZTl0b0VsZW1lbnRFTjNKU0M3SlNWYWx1ZUU7CiBf
Wk5LN1dlYkNvcmUyMENhY2hlZFJlc291cmNlTG9hZGVyMTFpc1ByZWxvYWRlZEVSS04zV1RGNlN0
cmluZ0U7CiBfWk5LN1dlYkNvcmU2SlNOb2RlMjFwdXNoRXZlbnRIYW5kbGVyU2NvcGVFUE4zSlND
OUV4ZWNTdGF0ZUVQTlMxXzE0U2NvcGVDaGFpbk5vZGVFOwogX1pOSzdXZWJDb3JlN0VsZW1lbnQx
MHNoYWRvd1Jvb3RFdjsKLV9aTks3V2ViQ29yZThEb2N1bWVudDRwYWdlRXY7CiBsb2NhbDoKIF9a
KjsKIGN0aSo7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>