<?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>301522</bug_id>
          
          <creation_ts>2025-10-27 11:53:30 -0700</creation_ts>
          <short_desc>REGRESSION(302184@main): Broke 69 API tests</short_desc>
          <delta_ts>2025-10-27 13:16:02 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>301458</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>jenner</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2154483</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2025-10-27 11:53:30 -0700</bug_when>
    <thetext>https://commits.webkit.org/302184@main introduced a regression:
Broke 69 API tests

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2154485</commentid>
    <comment_count>1</comment_count>
      <attachid>477205</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2025-10-27 11:53:37 -0700</bug_when>
    <thetext>Created attachment 477205
REVERT of 302184@main

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 revert will be successful.  This process takes approximately 15 minutes.

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

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2154486</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2025-10-27 11:56:24 -0700</bug_when>
    <thetext>Committed 302195@main (53f4d67f7b18): &lt;https://commits.webkit.org/302195@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 477205.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2154489</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2025-10-27 11:57:11 -0700</bug_when>
    <thetext>&lt;rdar://problem/163503332&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2154500</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2025-10-27 13:16:02 -0700</bug_when>
    <thetext>*** Bug 301519 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>477205</attachid>
            <date>2025-10-27 11:53:37 -0700</date>
            <delta_ts>2025-10-27 11:56:25 -0700</delta_ts>
            <desc>REVERT of 302184@main</desc>
            <filename>bug-301522-20251027185336.patch</filename>
            <type>text/plain</type>
            <size>101939</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">RnJvbSBjMjgwZDE1MjdiMzI2ZjNiYjAxYjUzNmZkNmQ3MDRmNzMwYjViYjI4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDb21taXQgUXVldWUgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3Jn
PgpEYXRlOiBNb24sIDI3IE9jdCAyMDI1IDE4OjUzOjM1ICswMDAwClN1YmplY3Q6IFtQQVRDSF0g
VW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIDMwMjE4NEBtYWluLgogaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTMwMTUyMgoKQnJva2UgNjkgQVBJIHRlc3RzCgpSZXZlcnRlZCBj
aGFuZ2VzZXQ6CgoiQWRkIGEgZGVidWcgYXNzZXJ0aW9uIGZvciBzdWJjbGFzc2VzIG9mIENhbk1h
a2VDaGVja2VkUHRyIHRvIGJlIGFsd2F5cyBoZWFwIGFsbG9jYXRlZCIKaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMwMTQ1OApodHRwczovL2NvbW1pdHMud2Via2l0Lm9y
Zy8zMDIxODRAbWFpbgotLS0KIFNvdXJjZS9XVEYvd3RmL0Fic3RyYWN0Q2FuTWFrZUNoZWNrZWRQ
dHIuaCAgICB8ICAxIC0KIFNvdXJjZS9XVEYvd3RmL0NoZWNrZWRSZWYuaCAgICAgICAgICAgICAg
ICAgICB8IDI4ICsrKystLS0tLS0tLS0tLS0tLS0KIFNvdXJjZS9XVEYvd3RmL0Zhc3RNYWxsb2Mu
aCAgICAgICAgICAgICAgICAgICB8ICAxIC0KIC4uLi9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0
Y2hCb2R5Q29uc3VtZXIuaCB8ICAyICstCiAuLi4vTWFpblRocmVhZFBlcm1pc3Npb25PYnNlcnZl
ci5oICAgICAgICAgICAgfCAgMSAtCiAuLi4vU3BlZWNoUmVjb2duaXRpb25DYXB0dXJlU291cmNl
SW1wbC5oICAgICAgfCAgMSAtCiAuLi4vd2ViYXVkaW8vQXVkaW9Xb3JrbGV0TWVzc2FnaW5nUHJv
eHkuaCAgICAgfCAgMSAtCiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCAgICAgICAgICAg
ICAgICAgfCAgNiAtLS0tCiBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRMb29wLmggICAgICAgICAg
ICAgICAgfCAgMiArLQogU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdFJ1bm5lci5oICAgICAgICAg
ICAgIHwgIDEgLQogU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oICAgICAg
IHwgIDIgKy0KIFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlclN5bmMuY3BwICAgICB8
IDIyICsrKysrKystLS0tLS0tLQogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmggICAgICAgIHwgIDUgLS0tLQogU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZUJpdG1hcC5jcHAg
ICAgICAgICAgIHwgMTAgKysrLS0tLQogLi4uL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3Vt
ZW50UGFyc2VyLmggIHwgIDEgLQogLi4uL0luc3BlY3RvckF1ZGl0UmVzb3VyY2VzT2JqZWN0LmNw
cCAgICAgICAgIHwgIDMgKy0KIC4uLi9pbnNwZWN0b3IvSW5zcGVjdG9yQXVkaXRSZXNvdXJjZXNP
YmplY3QuaCB8ICAyICstCiAuLi4vZmxleC9MYXlvdXRJbnRlZ3JhdGlvbkZsZXhMYXlvdXQuaCAg
ICAgICAgfCAgMiArLQogLi4uL3BhZ2UvTG9jYWxGcmFtZVZpZXdMYXlvdXRDb250ZXh0LmggICAg
ICAgIHwgIDIgKy0KIC4uLi9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5o
ICB8ICAyICstCiAuLi4vcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVUcmVlLmggICAgICAg
fCAgMiArLQogLi4uL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGVyTWFjLmggIHwg
IDIgKy0KIC4uLi9XZWJDb3JlL3BsYXRmb3JtL0RpY3RhdGlvbkNhcmV0QW5pbWF0b3IuaCB8ICAx
IC0KIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuaCAgICAgICAgICB8ICAxIC0K
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NpbXBsZUNhcmV0QW5pbWF0b3IuaCB8ICAxIC0KIC4u
Li9jb2NvYS9QbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5oICB8ICAxIC0KIC4uLi9w
bGF0Zm9ybS9jb2NvYS9XZWJBVlBsYXllckxheWVyLm1tICAgICAgICB8ICAxIC0KIC4uLi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcCB8ICAyICstCiAuLi4vV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5oICAgfCAgMiArLQogU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1bi5oICAgIHwgIDIgKy0KIC4uLi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyUG9vbC5oICB8ICAyICstCiAuLi4vY29jb2EvTnVsbFBs
YXliYWNrU2Vzc2lvbkludGVyZmFjZS5oICAgICAgfCAgMSAtCiAuLi4vY29jb2EvTnVsbFZpZGVv
UHJlc2VudGF0aW9uSW50ZXJmYWNlLmggICAgfCAgMSAtCiAuLi4vaW9zL1BsYXliYWNrU2Vzc2lv
bkludGVyZmFjZUlPUy5oICAgICAgICAgfCAgOSArKystLS0KIC4uLi9pb3MvUGxheWJhY2tTZXNz
aW9uSW50ZXJmYWNlSU9TLm1tICAgICAgICB8IDIxICsrKysrKysrKysrKysrCiAuLi4vaW9zL1Zp
ZGVvUHJlc2VudGF0aW9uSW50ZXJmYWNlSU9TLmggICAgICAgfCAgMSAtCiAuLi4vaW9zL1dlYlZp
ZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJBVktpdC5tbSAgfCAgMSAtCiAuLi4vbWFjL1BsYXliYWNr
U2Vzc2lvbkludGVyZmFjZU1hYy5oICAgICAgICAgfCAgOSArKystLS0KIC4uLi9tYWMvUGxheWJh
Y2tTZXNzaW9uSW50ZXJmYWNlTWFjLm1tICAgICAgICB8IDIwICsrKysrKysrKysrKysKIC4uLi9t
YWMvVmlkZW9QcmVzZW50YXRpb25JbnRlcmZhY2VNYWMuaCAgICAgICB8ICAyIC0tCiAuLi4vbWVk
aWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZS5oICAgICAgfCAgMSAtCiAuLi4vQXVkaW9U
cmFja1ByaXZhdGVNZWRpYVN0cmVhbS5oICAgICAgICAgICAgfCAgMSAtCiAuLi4vTWVkaWFTdHJl
YW1UcmFja0RhdGFIb2xkZXIuY3BwICAgICAgICAgICAgfCAgMSAtCiAuLi4vbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW1UcmFja1ByaXZhdGUuY3BwICAgfCAgMSAtCiAuLi4vZ3N0cmVhbWVyL0dTdHJl
YW1lck1lZGlhU3RyZWFtU291cmNlLmNwcCAgfCAgMSAtCiAuLi4vUmVhbHRpbWVPdXRnb2luZ0F1
ZGlvU291cmNlTGliV2ViUlRDLmggICAgfCAgMSAtCiAuLi5NZWRpYVN0cmVhbVRyYWNrQXVkaW9T
b3VyY2VQcm92aWRlckNvY29hLmggfCAgMSAtCiAuLi4vbWFjL1JlYWx0aW1lT3V0Z29pbmdBdWRp
b1NvdXJjZUNvY29hLmggICAgfCAgMSAtCiAuLi4vbWFjL1NjcmVlbkNhcHR1cmVLaXRDYXB0dXJl
U291cmNlLmggICAgICAgfCAgNyArKy0tLQogLi4uL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJs
UmVxdWVzdC5oICAgICAgIHwgIDEgLQogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0
ZURhdGFiYXNlLmggIHwgIDIgKy0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9NYXJrZWRUZXh0
LmggICAgICAgICB8ICAyICstCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVnaW9uQ29udGV4
dC5oICAgICAgfCAgMiArLQogLi4uL3JlbmRlcmluZy9SZW5kZXJMYXllclNjcm9sbGFibGVBcmVh
LmggICAgIHwgIDEgLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guaCAg
ICAgIHwgIDEgLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmggICAg
IHwgIDEgLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlYXJjaEZpZWxkLmggIHwg
IDEgLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmggIHwgIDIg
Ky0KIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVXBkYXRlLmggICAgICAgICAgICB8ICAyICst
CiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9UcmVlUmVzb2x1dGlvblN0YXRlLmggICAgfCAgMiArLQog
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmggICAgICAgIHwgIDUgLS0tLQog
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5jcHAgICAgICAgIHwgMjAgKysrKysr
LS0tLS0tLQogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5oICAgICAgICAgIHwg
IDIgKy0KIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggICAgICAgICAgICB8ICAx
IC0KIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaCB8ICA5ICsr
Ky0tLQogLi4uL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcCAgIHwgIDkg
KysrLS0tCiAuLi4vY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkUHJveHkuaCAgICAgICAgfCAg
OSArKystLS0KIC4uLi9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5oICB8
ICA5ICsrKy0tLQogU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9YTUxEb2N1bWVudFBhcnNlci5o
IHwgIDEgLQogLi4uL3dlYnJ0Yy9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNwcCAgIHwg
IDEgLQogLi4uL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmggICAgICAgICAgIHwgIDgg
LS0tLS0tCiBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmggfCAg
MSAtCiBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmggfCAgOSAr
KystLS0KIC4uLi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9QcmVmZXRjaENhY2hlLmggICAgICB8ICAy
ICstCiAuLi4vY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5oICAgICAgICAgICAgICAgfCAgMiAr
LQogLi4uL1BsYXRmb3JtL0lQQy9TdHJlYW1DbGllbnRDb25uZWN0aW9uLmNwcCAgIHwgIDIgKy0K
IC4uLi9QbGF0Zm9ybS9JUEMvU3RyZWFtQ2xpZW50Q29ubmVjdGlvbi5oICAgICB8ICAyICstCiAu
Li4vUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24uaCAgICAgICAgICAgICAgfCAgMiArLQogLi4u
bW90ZUxheWVyV2l0aFJlbW90ZVJlbmRlcmluZ0JhY2tpbmdTdG9yZS5oIHwgIDEgLQogU291cmNl
L1dlYktpdC9TaGFyZWQvU2hhcmVkU3RyaW5nSGFzaFN0b3JlLmggIHwgIDIgKy0KIFNvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYkV2ZW50LmggICAgICAgICAgICAgICB8ICAyICstCiAuLi4vV2ViS2l0
L1VJUHJvY2Vzcy9BdXhpbGlhcnlQcm9jZXNzUHJveHkuaCAgfCAgMSAtCiAuLi4vQmFja2dyb3Vu
ZFByb2Nlc3NSZXNwb25zaXZlbmVzc1RpbWVyLmggICAgfCAgMiArLQogLi4uL0NvY29hL1BsYXli
YWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5oICAgICAgIHwgIDEgLQogU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvRGlzcGxheUxpbmsuaCAgICAgICAgIHwgIDIgKy0KIC4uLi9XZWJLaXQvVUlQcm9jZXNz
L1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oICB8ICAyICstCiAuLi4vV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHlJbnRlcm5hbHMuaCAgfCAgOCAtLS0tLS0KIC4uLi9mdWxsc2NyZWVuL1dLRnVs
bFNjcmVlblZpZXdDb250cm9sbGVyLm1tICB8ICAxIC0KIC4uLi9VSVByb2Nlc3Mvd2luL1dlYlBv
cHVwTWVudVByb3h5V2luLmggICAgICB8ICAxIC0KIC4uLi9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVz
b3VyY2VDYWNoZVByb3h5LmggICB8ICAxIC0KIC4uLi9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BE
RlBsdWdpbkJhc2UuaCAgICB8ICAxIC0KIC4uLmhSZWNvZ25pdGlvblJlYWx0aW1lTWVkaWFTb3Vy
Y2VNYW5hZ2VyLmNwcCB8ICAxIC0KIC4uLi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0
ZWdpZXMuaCAgICB8ICAxIC0KIC4uLi9XZWJQcm9jZXNzL1dlYlBhZ2UvSVBDVGVzdGluZ0FQSS5j
cHAgICAgICB8ICA2ICsrLS0KIC4uLi9XZWJQcm9jZXNzL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1h
bmFnZXIuaCB8ICAxIC0KIC4uLi9jb2NvYS9WaWRlb1ByZXNlbnRhdGlvbk1hbmFnZXIuaCAgICAg
ICAgICB8ICAxIC0KIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0hhc2hlci5jcHAgICAg
ICB8ICA4ICsrKy0tLQogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHAg
ICAgIHwgMTAgKysrLS0tLQogLi4uL1dlYkNvcmUvY3VybC9DdXJsTXVsdGlwYXJ0SGFuZGxlVGVz
dHMuY3BwIHwgIDEgLQogOTkgZmlsZXMgY2hhbmdlZCwgMTQ1IGluc2VydGlvbnMoKyksIDIxMiBk
ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9BYnN0cmFjdENhbk1ha2VD
aGVja2VkUHRyLmggYi9Tb3VyY2UvV1RGL3d0Zi9BYnN0cmFjdENhbk1ha2VDaGVja2VkUHRyLmgK
aW5kZXggNzhlMGNmZmYzMjJmLi4zYzFlZDYzMjE1ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
d3RmL0Fic3RyYWN0Q2FuTWFrZUNoZWNrZWRQdHIuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9BYnN0
cmFjdENhbk1ha2VDaGVja2VkUHRyLmgKQEAgLTM1LDcgKzM1LDYgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdWludDMyX3QgY2hlY2tlZFB0ckNvdW50V2l0aG91dFRocmVhZENoZWNrKCkgY29uc3Qg
PSAwOwogICAgIHZpcnR1YWwgdm9pZCBpbmNyZW1lbnRDaGVja2VkUHRyQ291bnQoKSBjb25zdCA9
IDA7CiAgICAgdmlydHVhbCB2b2lkIGRlY3JlbWVudENoZWNrZWRQdHJDb3VudCgpIGNvbnN0ID0g
MDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0RGlkQmVnaW5DaGVja2VkUHRyRGVsZXRpb24oKSA9IDA7
CiAKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIH5BYnN0cmFjdENhbk1ha2VDaGVja2VkUHRyKCkg
PSBkZWZhdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ2hlY2tlZFJlZi5oIGIvU291
cmNlL1dURi93dGYvQ2hlY2tlZFJlZi5oCmluZGV4IGIzYWM3Y2M4NDdlMy4uNTg0ODQzNzAwNTRk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9DaGVja2VkUmVmLmgKKysrIGIvU291cmNlL1dU
Ri93dGYvQ2hlY2tlZFJlZi5oCkBAIC0yNzYsMTAgKzI3Niw3IEBAIHRlbXBsYXRlPHR5cGVuYW1l
IFA+IHN0cnVjdCBEZWZhdWx0SGFzaDxDaGVja2VkUmVmPFA+PiA6IFB0ckhhc2g8Q2hlY2tlZFJl
ZjxQPj4KIAogZW51bSBjbGFzcyBEZWZhdWx0ZWRPcGVyYXRvckVxdWFsIDogYm9vbCB7IE5vLCBZ
ZXMgfTsKIAotLy8gRE8gTk9UIG1ha2UgdXNlIG9mIHRoaXMgZW51bSBpbiBuZXcgY29kZS4gQW4g
b2JqZWN0IHdoaWNoIHN1cHBvcnRzIENhbk1ha2VDaGVja2VkUHRyIG11c3QgYmUgaGVhcCBhbGxv
Y2F0ZWQgb24gaXRzIG93bi4KLWVudW0gY2xhc3MgQ2hlY2tlZFB0ckRlbGV0ZUNoZWNrRXhjZXB0
aW9uIDogYm9vbCB7IE5vLCBZZXMgfTsKLQotdGVtcGxhdGUgPHR5cGVuYW1lIFN0b3JhZ2VUeXBl
LCB0eXBlbmFtZSBQdHJDb3VudGVyVHlwZSwgdHlwZW5hbWUgRGVsZXRpb25GbGFnVHlwZSwgQ2hl
Y2tlZFB0ckRlbGV0ZUNoZWNrRXhjZXB0aW9uIGRlbGV0ZUV4Y2VwdGlvbj4gY2xhc3MgQ2FuTWFr
ZUNoZWNrZWRQdHJCYXNlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBTdG9yYWdlVHlwZSwgdHlwZW5h
bWUgUHRyQ291bnRlclR5cGU+IGNsYXNzIENhbk1ha2VDaGVja2VkUHRyQmFzZSB7CiBwdWJsaWM6
CiAgICAgQ2FuTWFrZUNoZWNrZWRQdHJCYXNlKCkgPSBkZWZhdWx0OwogICAgIENhbk1ha2VDaGVj
a2VkUHRyQmFzZShDYW5NYWtlQ2hlY2tlZFB0ckJhc2UmJikgeyB9CkBAIC0yODcsMTEgKzI4NCw2
IEBAIHB1YmxpYzoKICAgICBDYW5NYWtlQ2hlY2tlZFB0ckJhc2UoY29uc3QgQ2FuTWFrZUNoZWNr
ZWRQdHJCYXNlJikgeyB9CiAgICAgQ2FuTWFrZUNoZWNrZWRQdHJCYXNlJiBvcGVyYXRvcj0oY29u
c3QgQ2FuTWFrZUNoZWNrZWRQdHJCYXNlJikgeyByZXR1cm4gKnRoaXM7IH0KIAotICAgIH5DYW5N
YWtlQ2hlY2tlZFB0ckJhc2UoKQotICAgIHsKLSAgICAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlf
SU1QTElDQVRJT04obV9kaWRCZWdpbkRlbGV0aW9uIHx8IGRlbGV0ZUV4Y2VwdGlvbiA9PSBDaGVj
a2VkUHRyRGVsZXRlQ2hlY2tFeGNlcHRpb246Olllcyk7Ci0gICAgfQotCiAgICAgUHRyQ291bnRl
clR5cGUgY2hlY2tlZFB0ckNvdW50KCkgY29uc3QgeyByZXR1cm4gbV9jaGVja2VkUHRyQ291bnQ7
IH0KICAgICB2b2lkIGluY3JlbWVudENoZWNrZWRQdHJDb3VudCgpIGNvbnN0IHsgKyttX2NoZWNr
ZWRQdHJDb3VudDsgfQogICAgIEFMV0FZU19JTkxJTkUgdm9pZCBkZWNyZW1lbnRDaGVja2VkUHRy
Q291bnQoKSBjb25zdApAQCAtMzExLDIyICszMDMsMTIgQEAgcHVibGljOgogICAgICAgICAgICAg
cmV0dXJuIG1fY2hlY2tlZFB0ckNvdW50LnZhbHVlV2l0aG91dFRocmVhZENoZWNrKCk7CiAgICAg
fQogCi0gICAgdm9pZCBzZXREaWRCZWdpbkNoZWNrZWRQdHJEZWxldGlvbigpCi0gICAgewotI2lm
IEFTU0VSVF9FTkFCTEVEIHx8IEVOQUJMRShTRUNVUklUWV9BU1NFUlRJT05TKQotICAgICAgICBt
X2RpZEJlZ2luRGVsZXRpb24gPSB0cnVlOwotI2VuZGlmCi0gICAgfQotCiBwcml2YXRlOgogICAg
IG11dGFibGUgU3RvcmFnZVR5cGUgbV9jaGVja2VkUHRyQ291bnQgeyAwIH07Ci0jaWYgQVNTRVJU
X0VOQUJMRUQgfHwgRU5BQkxFKFNFQ1VSSVRZX0FTU0VSVElPTlMpCi0gICAgRGVsZXRpb25GbGFn
VHlwZSBtX2RpZEJlZ2luRGVsZXRpb24geyBmYWxzZSB9OwotI2VuZGlmCiB9OwogCi10ZW1wbGF0
ZTx0eXBlbmFtZSBULCBEZWZhdWx0ZWRPcGVyYXRvckVxdWFsIGRlZmF1bHRlZE9wZXJhdG9yRXF1
YWwgPSBEZWZhdWx0ZWRPcGVyYXRvckVxdWFsOjpObywgQ2hlY2tlZFB0ckRlbGV0ZUNoZWNrRXhj
ZXB0aW9uIGRlbGV0ZUV4Y2VwdGlvbiA9IENoZWNrZWRQdHJEZWxldGVDaGVja0V4Y2VwdGlvbjo6
Tm8+Ci1jbGFzcyBDYW5NYWtlQ2hlY2tlZFB0ciA6IHB1YmxpYyBDYW5NYWtlQ2hlY2tlZFB0ckJh
c2U8U2luZ2xlVGhyZWFkSW50ZWdyYWxXcmFwcGVyPHVpbnQzMl90PiwgdWludDMyX3QsIGJvb2ws
IGRlbGV0ZUV4Y2VwdGlvbj4gewordGVtcGxhdGU8dHlwZW5hbWUgVCwgRGVmYXVsdGVkT3BlcmF0
b3JFcXVhbCBkZWZhdWx0ZWRPcGVyYXRvckVxdWFsID0gRGVmYXVsdGVkT3BlcmF0b3JFcXVhbDo6
Tm8+CitjbGFzcyBDYW5NYWtlQ2hlY2tlZFB0ciA6IHB1YmxpYyBDYW5NYWtlQ2hlY2tlZFB0ckJh
c2U8U2luZ2xlVGhyZWFkSW50ZWdyYWxXcmFwcGVyPHVpbnQzMl90PiwgdWludDMyX3Q+IHsKIHB1
YmxpYzoKICAgICB+Q2FuTWFrZUNoZWNrZWRQdHIoKQogICAgIHsKQEAgLTM0MSw4ICszMjMsOCBA
QCBwdWJsaWM6CiAgICAgfQogfTsKIAotdGVtcGxhdGU8dHlwZW5hbWUgVCwgRGVmYXVsdGVkT3Bl
cmF0b3JFcXVhbCBkZWZhdWx0ZWRPcGVyYXRvckVxdWFsID0gRGVmYXVsdGVkT3BlcmF0b3JFcXVh
bDo6Tm8sIENoZWNrZWRQdHJEZWxldGVDaGVja0V4Y2VwdGlvbiBkZWxldGVFeGNlcHRpb24gPSBD
aGVja2VkUHRyRGVsZXRlQ2hlY2tFeGNlcHRpb246Ok5vPgotY2xhc3MgQ2FuTWFrZVRocmVhZFNh
ZmVDaGVja2VkUHRyIDogcHVibGljIENhbk1ha2VDaGVja2VkUHRyQmFzZTxzdGQ6OmF0b21pYzx1
aW50MzJfdD4sIHVpbnQzMl90LCBzdGQ6OmF0b21pYzxib29sPiwgZGVsZXRlRXhjZXB0aW9uPiB7
Cit0ZW1wbGF0ZTx0eXBlbmFtZSBULCBEZWZhdWx0ZWRPcGVyYXRvckVxdWFsIGRlZmF1bHRlZE9w
ZXJhdG9yRXF1YWwgPSBEZWZhdWx0ZWRPcGVyYXRvckVxdWFsOjpObz4KK2NsYXNzIENhbk1ha2VU
aHJlYWRTYWZlQ2hlY2tlZFB0ciA6IHB1YmxpYyBDYW5NYWtlQ2hlY2tlZFB0ckJhc2U8c3RkOjph
dG9taWM8dWludDMyX3Q+LCB1aW50MzJfdD4gewogcHVibGljOgogICAgIH5DYW5NYWtlVGhyZWFk
U2FmZUNoZWNrZWRQdHIoKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0Zhc3RN
YWxsb2MuaCBiL1NvdXJjZS9XVEYvd3RmL0Zhc3RNYWxsb2MuaAppbmRleCA0MTJhNDBlZGNlYTMu
LjY3NTkyOGRjOWVlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvRmFzdE1hbGxvYy5oCisr
KyBiL1NvdXJjZS9XVEYvd3RmL0Zhc3RNYWxsb2MuaApAQCAtNjQ3LDcgKzY0Nyw2IEBAIHVzaW5n
IF9fdGhpc0lzSGVyZVRvRm9yY2VBU2VtaWNvbG9uQWZ0ZXJUaGlzTWFjcm8gVU5VU0VEX1RZUEVf
QUxJQVMgPSBpbnQKICNkZWZpbmUgV1RGX09WRVJSSURFX0RFTEVURV9GT1JfQ0hFQ0tFRF9QVFJf
SU1QTChUKSBcCiB2b2lkIG9wZXJhdG9yIGRlbGV0ZShUKiBvYmplY3QsIHN0ZDo6ZGVzdHJveWlu
Z19kZWxldGVfdCwgc2l6ZV90IHNpemUpIHsgXAogICAgIEFTU0VSVF9VTlVTRUQoc2l6ZSwgc2l6
ZW9mKFQpID09IHNpemUpOyBcCi0gICAgb2JqZWN0LT5zZXREaWRCZWdpbkNoZWNrZWRQdHJEZWxl
dGlvbigpOyBcCiAgICAgb2JqZWN0LT5UOjp+VCgpOyBcCiAgICAgaWYgKG9iamVjdC0+Y2hlY2tl
ZFB0ckNvdW50V2l0aG91dFRocmVhZENoZWNrKCkpIFtbdW5saWtlbHldXSB7IFwKICAgICAgICAg
emVyb0J5dGVzKCpvYmplY3QpOyBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2ZldGNoL0ZldGNoQm9keUNvbnN1bWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNo
L0ZldGNoQm9keUNvbnN1bWVyLmgKaW5kZXggNjYzOTBmYWZiNGE4Li42MzRiY2U4MGUxOWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5Q29uc3VtZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keUNvbnN1bWVyLmgK
QEAgLTQ1LDcgKzQ1LDcgQEAgY2xhc3MgRmV0Y2hCb2R5U291cmNlOwogY2xhc3MgRm9ybURhdGE7
CiBjbGFzcyBSZWFkYWJsZVN0cmVhbTsKIAotY2xhc3MgRmV0Y2hCb2R5Q29uc3VtZXIgZmluYWwg
OiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8RmV0Y2hCb2R5Q29uc3VtZXI+LCBwdWJsaWMgQ2FuTWFr
ZUNoZWNrZWRQdHI8RmV0Y2hCb2R5Q29uc3VtZXIsIFdURjo6RGVmYXVsdGVkT3BlcmF0b3JFcXVh
bDo6Tm8sIFdURjo6Q2hlY2tlZFB0ckRlbGV0ZUNoZWNrRXhjZXB0aW9uOjpZZXM+IHsKK2NsYXNz
IEZldGNoQm9keUNvbnN1bWVyIGZpbmFsIDogcHVibGljIENhbk1ha2VXZWFrUHRyPEZldGNoQm9k
eUNvbnN1bWVyPiwgcHVibGljIENhbk1ha2VDaGVja2VkUHRyPEZldGNoQm9keUNvbnN1bWVyPiB7
CiAgICAgV1RGX0RFUFJFQ0FURURfTUFLRV9GQVNUX0FMTE9DQVRFRChGZXRjaEJvZHlDb25zdW1l
cik7CiAgICAgV1RGX09WRVJSSURFX0RFTEVURV9GT1JfQ0hFQ0tFRF9QVFIoRmV0Y2hCb2R5Q29u
c3VtZXIpOwogcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJt
aXNzaW9ucy9NYWluVGhyZWFkUGVybWlzc2lvbk9ic2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3Blcm1pc3Npb25zL01haW5UaHJlYWRQZXJtaXNzaW9uT2JzZXJ2ZXIuaAppbmRleCA1
YjMyNDI5NDYzNzMuLjk3YTAyODYzNjlhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wZXJtaXNzaW9ucy9NYWluVGhyZWFkUGVybWlzc2lvbk9ic2VydmVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9NYWluVGhyZWFkUGVybWlzc2lvbk9ic2Vy
dmVyLmgKQEAgLTU1LDcgKzU1LDYgQEAgcHVibGljOgogICAgIHVpbnQzMl90IGNoZWNrZWRQdHJD
b3VudFdpdGhvdXRUaHJlYWRDaGVjaygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIENhbk1ha2VDaGVj
a2VkUHRyOjpjaGVja2VkUHRyQ291bnRXaXRob3V0VGhyZWFkQ2hlY2soKTsgfQogICAgIHZvaWQg
aW5jcmVtZW50Q2hlY2tlZFB0ckNvdW50KCkgY29uc3QgZmluYWwgeyBDYW5NYWtlQ2hlY2tlZFB0
cjo6aW5jcmVtZW50Q2hlY2tlZFB0ckNvdW50KCk7IH0KICAgICB2b2lkIGRlY3JlbWVudENoZWNr
ZWRQdHJDb3VudCgpIGNvbnN0IGZpbmFsIHsgQ2FuTWFrZUNoZWNrZWRQdHI6OmRlY3JlbWVudENo
ZWNrZWRQdHJDb3VudCgpOyB9Ci0gICAgdm9pZCBzZXREaWRCZWdpbkNoZWNrZWRQdHJEZWxldGlv
bigpIGZpbmFsIHsgQ2FuTWFrZUNoZWNrZWRQdHI6OnNldERpZEJlZ2luQ2hlY2tlZFB0ckRlbGV0
aW9uKCk7IH0KIAogcHJpdmF0ZToKICAgICAvLyBQZXJtaXNzaW9uT2JzZXJ2ZXIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uQ2FwdHVy
ZVNvdXJjZUltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29n
bml0aW9uQ2FwdHVyZVNvdXJjZUltcGwuaAppbmRleCA4MzJiNjY0YWNlNmQuLmM0MWM2ODU0YjY0
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2du
aXRpb25DYXB0dXJlU291cmNlSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3Bl
ZWNoL1NwZWVjaFJlY29nbml0aW9uQ2FwdHVyZVNvdXJjZUltcGwuaApAQCAtNjYsNyArNjYsNiBA
QCBwdWJsaWM6CiAgICAgdWludDMyX3QgY2hlY2tlZFB0ckNvdW50V2l0aG91dFRocmVhZENoZWNr
KCkgY29uc3QgZmluYWwgeyByZXR1cm4gQ2FuTWFrZUNoZWNrZWRQdHI6OmNoZWNrZWRQdHJDb3Vu
dFdpdGhvdXRUaHJlYWRDaGVjaygpOyB9CiAgICAgdm9pZCBpbmNyZW1lbnRDaGVja2VkUHRyQ291
bnQoKSBjb25zdCBmaW5hbCB7IENhbk1ha2VDaGVja2VkUHRyOjppbmNyZW1lbnRDaGVja2VkUHRy
Q291bnQoKTsgfQogICAgIHZvaWQgZGVjcmVtZW50Q2hlY2tlZFB0ckNvdW50KCkgY29uc3QgZmlu
YWwgeyBDYW5NYWtlQ2hlY2tlZFB0cjo6ZGVjcmVtZW50Q2hlY2tlZFB0ckNvdW50KCk7IH0KLSAg
ICB2b2lkIHNldERpZEJlZ2luQ2hlY2tlZFB0ckRlbGV0aW9uKCkgZmluYWwgeyBDYW5NYWtlQ2hl
Y2tlZFB0cjo6c2V0RGlkQmVnaW5DaGVja2VkUHRyRGVsZXRpb24oKTsgfQogCiBwcml2YXRlOgog
ICAgIC8vIFJlYWx0aW1lTWVkaWFTb3VyY2U6OkF1ZGlvU2FtcGxlT2JzZXJ2ZXIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Xb3JrbGV0TWVzc2FnaW5n
UHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Xb3JrbGV0TWVz
c2FnaW5nUHJveHkuaAppbmRleCA3ZmIyNjY5MTgyMDMuLmM1NDk3YTAxOTc2YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1dvcmtsZXRNZXNzYWdpbmdQ
cm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Xb3JrbGV0
TWVzc2FnaW5nUHJveHkuaApAQCAtNjEsNyArNjEsNiBAQCBwdWJsaWM6CiAgICAgdWludDMyX3Qg
Y2hlY2tlZFB0ckNvdW50V2l0aG91dFRocmVhZENoZWNrKCkgY29uc3QgZmluYWwgeyByZXR1cm4g
Q2FuTWFrZVRocmVhZFNhZmVDaGVja2VkUHRyPEF1ZGlvV29ya2xldE1lc3NhZ2luZ1Byb3h5Pjo6
Y2hlY2tlZFB0ckNvdW50V2l0aG91dFRocmVhZENoZWNrKCk7IH0KICAgICB2b2lkIGluY3JlbWVu
dENoZWNrZWRQdHJDb3VudCgpIGNvbnN0IGZpbmFsIHsgQ2FuTWFrZVRocmVhZFNhZmVDaGVja2Vk
UHRyPEF1ZGlvV29ya2xldE1lc3NhZ2luZ1Byb3h5Pjo6aW5jcmVtZW50Q2hlY2tlZFB0ckNvdW50
KCk7IH0KICAgICB2b2lkIGRlY3JlbWVudENoZWNrZWRQdHJDb3VudCgpIGNvbnN0IGZpbmFsIHsg
Q2FuTWFrZVRocmVhZFNhZmVDaGVja2VkUHRyPEF1ZGlvV29ya2xldE1lc3NhZ2luZ1Byb3h5Pjo6
ZGVjcmVtZW50Q2hlY2tlZFB0ckNvdW50KCk7IH0KLSAgICB2b2lkIHNldERpZEJlZ2luQ2hlY2tl
ZFB0ckRlbGV0aW9uKCkgZmluYWwgeyBDYW5NYWtlVGhyZWFkU2FmZUNoZWNrZWRQdHI8QXVkaW9X
b3JrbGV0TWVzc2FnaW5nUHJveHk+OjpzZXREaWRCZWdpbkNoZWNrZWRQdHJEZWxldGlvbigpOyB9
CiAKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgQXVkaW9Xb3JrbGV0TWVzc2FnaW5nUHJveHkoQXVk
aW9Xb3JrbGV0Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IGE3NGY5ZGUyYmE4OC4uNjA0YjRi
OGVhY2Q2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtNDQ0LDEyICs0NDQsNiBAQCBwdWJsaWM6
CiAgICAgVVNJTkdfQ0FOX01BS0VfV0VBS1BUUihFdmVudFRhcmdldCk7CiAgICAgVVNJTkdfQ0FO
X01BS0VfQ0hFQ0tFRFBUUihTY3JpcHRFeGVjdXRpb25Db250ZXh0KTsKIAotICAgIHZvaWQgc2V0
RGlkQmVnaW5DaGVja2VkUHRyRGVsZXRpb24oKQotICAgIHsKLSAgICAgICAgQ29udGFpbmVyTm9k
ZTo6c2V0RGlkQmVnaW5DaGVja2VkUHRyRGVsZXRpb24oKTsKLSAgICAgICAgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dDo6c2V0RGlkQmVnaW5DaGVja2VkUHRyRGVsZXRpb24oKTsKLSAgICB9Ci0KICAg
ICBpbmxpbmUgc3RhdGljIFJlZjxEb2N1bWVudD4gY3JlYXRlKGNvbnN0IFNldHRpbmdzJiwgY29u
c3QgVVJMJik7CiAgICAgc3RhdGljIFJlZjxEb2N1bWVudD4gY3JlYXRlTm9uUmVuZGVyZWRQbGFj
ZWhvbGRlcihMb2NhbEZyYW1lJiwgY29uc3QgVVJMJik7CiAgICAgc3RhdGljIFJlZjxEb2N1bWVu
dD4gY3JlYXRlKERvY3VtZW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnRMb29wLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRMb29wLmgKaW5kZXggNjAwZTE4ZWYz
NTY1Li5jZmQ4YWYwMThiMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudExv
b3AuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRMb29wLmgKQEAgLTE2Miw3ICsxNjIs
NyBAQCBwcml2YXRlOgogICAgIG11dGFibGUgTWFya2FibGU8TW9ub3RvbmljVGltZT4gbV9uZXh0
VGltZXJGaXJlVGltZUNhY2hlOwogfTsKIAotY2xhc3MgRXZlbnRMb29wVGFza0dyb3VwIGZpbmFs
IDogcHVibGljIENhbk1ha2VXZWFrUHRyPEV2ZW50TG9vcFRhc2tHcm91cD4sIHB1YmxpYyBDYW5N
YWtlQ2hlY2tlZFB0cjxFdmVudExvb3BUYXNrR3JvdXAsIFdURjo6RGVmYXVsdGVkT3BlcmF0b3JF
cXVhbDo6Tm8sIFdURjo6Q2hlY2tlZFB0ckRlbGV0ZUNoZWNrRXhjZXB0aW9uOjpZZXM+IHsKK2Ns
YXNzIEV2ZW50TG9vcFRhc2tHcm91cCBmaW5hbCA6IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxFdmVu
dExvb3BUYXNrR3JvdXA+LCBwdWJsaWMgQ2FuTWFrZUNoZWNrZWRQdHI8RXZlbnRMb29wVGFza0dy
b3VwPiB7CiAgICAgV1RGX01BS0VfVFpPTkVfQUxMT0NBVEVEKEV2ZW50TG9vcFRhc2tHcm91cCk7
CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnRMb29wVGFza0dyb3VwKTsKICAgICBXVEZf
T1ZFUlJJREVfREVMRVRFX0ZPUl9DSEVDS0VEX1BUUihFdmVudExvb3BUYXNrR3JvdXApOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdFJ1bm5lci5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL1NjcmlwdFJ1bm5lci5oCmluZGV4IDJmOWRlMjk2YzY3NS4uN2YzM2VhN2VlZTNjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0UnVubmVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL1NjcmlwdFJ1bm5lci5oCkBAIC01Nyw3ICs1Nyw2IEBAIHB1YmxpYzoKICAg
ICB1aW50MzJfdCBjaGVja2VkUHRyQ291bnRXaXRob3V0VGhyZWFkQ2hlY2soKSBjb25zdCBmaW5h
bCB7IHJldHVybiBDYW5NYWtlQ2hlY2tlZFB0cjo6Y2hlY2tlZFB0ckNvdW50V2l0aG91dFRocmVh
ZENoZWNrKCk7IH0KICAgICB2b2lkIGluY3JlbWVudENoZWNrZWRQdHJDb3VudCgpIGNvbnN0IGZp
bmFsIHsgQ2FuTWFrZUNoZWNrZWRQdHI6OmluY3JlbWVudENoZWNrZWRQdHJDb3VudCgpOyB9CiAg
ICAgdm9pZCBkZWNyZW1lbnRDaGVja2VkUHRyQ291bnQoKSBjb25zdCBmaW5hbCB7IENhbk1ha2VD
aGVja2VkUHRyOjpkZWNyZW1lbnRDaGVja2VkUHRyQ291bnQoKTsgfQotICAgIHZvaWQgc2V0RGlk
QmVnaW5DaGVja2VkUHRyRGVsZXRpb24oKSBmaW5hbCB7IENhbk1ha2VDaGVja2VkUHRyOjpzZXRE
aWRCZWdpbkNoZWNrZWRQdHJEZWxldGlvbigpOyB9CiAKICAgICBlbnVtIEV4ZWN1dGlvblR5cGUg
eyBBU1lOQ19FWEVDVVRJT04sIElOX09SREVSX0VYRUNVVElPTiB9OwogICAgIHZvaWQgcXVldWVT
Y3JpcHRGb3JFeGVjdXRpb24oU2NyaXB0RWxlbWVudCYsIExvYWRhYmxlU2NyaXB0JiwgRXhlY3V0
aW9uVHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0
aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmgKaW5kZXggMzdm
ODQ2MWY1NDE3Li5mZGUzZDAxNGFhOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRnJhbWVTZWxlY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2Vs
ZWN0aW9uLmgKQEAgLTEyOCw3ICsxMjgsNyBAQCBzdHJ1Y3QgUmV2ZWFsU2VsZWN0aW9uT3B0aW9u
cyB7CiAgICAgT25seUFsbG93Rm9yd2FyZFNjcm9sbGluZyBvbmx5QWxsb3dGb3J3YXJkU2Nyb2xs
aW5nIHsgT25seUFsbG93Rm9yd2FyZFNjcm9sbGluZzo6Tm8gfTsKIH07CiAKLWNsYXNzIEZyYW1l
U2VsZWN0aW9uIGZpbmFsIDogcHJpdmF0ZSBDYXJldEJhc2UsIHB1YmxpYyBDYXJldEFuaW1hdGlv
bkNsaWVudCwgcHVibGljIENhbk1ha2VDaGVja2VkUHRyPEZyYW1lU2VsZWN0aW9uLCBXVEY6OkRl
ZmF1bHRlZE9wZXJhdG9yRXF1YWw6Ok5vLCBXVEY6OkNoZWNrZWRQdHJEZWxldGVDaGVja0V4Y2Vw
dGlvbjo6WWVzPiB7CitjbGFzcyBGcmFtZVNlbGVjdGlvbiBmaW5hbCA6IHByaXZhdGUgQ2FyZXRC
YXNlLCBwdWJsaWMgQ2FyZXRBbmltYXRpb25DbGllbnQsIHB1YmxpYyBDYW5NYWtlQ2hlY2tlZFB0
cjxGcmFtZVNlbGVjdGlvbj4gewogICAgIFdURl9NQUtFX1RaT05FX0FMTE9DQVRFRF9FWFBPUlQo
RnJhbWVTZWxlY3Rpb24sIFdFQkNPUkVfRVhQT1JUKTsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShGcmFtZVNlbGVjdGlvbik7CiAgICAgV1RGX09WRVJSSURFX0RFTEVURV9GT1JfQ0hFQ0tFRF9Q
VFIoRnJhbWVTZWxlY3Rpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9G
aWxlUmVhZGVyU3luYy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXJTeW5j
LmNwcAppbmRleCBhNTliMzJjYWQ1YjcuLjEwNjQzY2QzM2FmMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyU3luYy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZmlsZWFwaS9GaWxlUmVhZGVyU3luYy5jcHAKQEAgLTQ2LDMxICs0NiwzMSBAQCBGaWxlUmVhZGVy
U3luYzo6RmlsZVJlYWRlclN5bmMoKQogCiBFeGNlcHRpb25PcjxSZWZQdHI8QXJyYXlCdWZmZXI+
PiBGaWxlUmVhZGVyU3luYzo6cmVhZEFzQXJyYXlCdWZmZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgQmxvYiYgYmxvYikKIHsKLSAgICBhdXRvIGxvYWRl
ciA9IG1ha2VVbmlxdWVSZWY8RmlsZVJlYWRlckxvYWRlcj4oRmlsZVJlYWRlckxvYWRlcjo6UmVh
ZEFzQXJyYXlCdWZmZXIsIG51bGxwdHIpOwotICAgIGF1dG8gcmVzdWx0ID0gc3RhcnRMb2FkaW5n
KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIENoZWNrZWRSZWYgeyBsb2FkZXIuZ2V0KCkgfS5nZXQo
KSwgYmxvYik7CisgICAgRmlsZVJlYWRlckxvYWRlciBsb2FkZXIoRmlsZVJlYWRlckxvYWRlcjo6
UmVhZEFzQXJyYXlCdWZmZXIsIG51bGxwdHIpOworICAgIGF1dG8gcmVzdWx0ID0gc3RhcnRMb2Fk
aW5nKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIGxvYWRlciwgYmxvYik7CiAgICAgaWYgKHJlc3Vs
dC5oYXNFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIHJlc3VsdC5yZWxlYXNlRXhjZXB0aW9u
KCk7Ci0gICAgcmV0dXJuIGxvYWRlci0+YXJyYXlCdWZmZXJSZXN1bHQoKTsKKyAgICByZXR1cm4g
bG9hZGVyLmFycmF5QnVmZmVyUmVzdWx0KCk7CiB9CiAKIEV4Y2VwdGlvbk9yPFN0cmluZz4gRmls
ZVJlYWRlclN5bmM6OnJlYWRBc0JpbmFyeVN0cmluZyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0LCBCbG9iJiBibG9iKQogewotICAgIGF1dG8gbG9hZGVyID0g
bWFrZVVuaXF1ZVJlZjxGaWxlUmVhZGVyTG9hZGVyPihGaWxlUmVhZGVyTG9hZGVyOjpSZWFkQXNC
aW5hcnlTdHJpbmcsIG51bGxwdHIpOwotICAgIHJldHVybiBzdGFydExvYWRpbmdTdHJpbmcoc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCwgQ2hlY2tlZFJlZiB7IGxvYWRlci5nZXQoKSB9LmdldCgpLCBi
bG9iKTsKKyAgICBGaWxlUmVhZGVyTG9hZGVyIGxvYWRlcihGaWxlUmVhZGVyTG9hZGVyOjpSZWFk
QXNCaW5hcnlTdHJpbmcsIG51bGxwdHIpOworICAgIHJldHVybiBzdGFydExvYWRpbmdTdHJpbmco
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgbG9hZGVyLCBibG9iKTsKIH0KIAogRXhjZXB0aW9uT3I8
U3RyaW5nPiBGaWxlUmVhZGVyU3luYzo6cmVhZEFzVGV4dChTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBCbG9iJiBibG9iLCBjb25zdCBTdHJpbmcmIGVuY29k
aW5nKQogewotICAgIGF1dG8gbG9hZGVyID0gbWFrZVVuaXF1ZVJlZjxGaWxlUmVhZGVyTG9hZGVy
PihGaWxlUmVhZGVyTG9hZGVyOjpSZWFkQXNUZXh0LCBudWxscHRyKTsKLSAgICBsb2FkZXItPnNl
dEVuY29kaW5nKGVuY29kaW5nKTsKLSAgICByZXR1cm4gc3RhcnRMb2FkaW5nU3RyaW5nKHNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQsIENoZWNrZWRSZWYgeyBsb2FkZXIuZ2V0KCkgfS5nZXQoKSwgYmxv
Yik7CisgICAgRmlsZVJlYWRlckxvYWRlciBsb2FkZXIoRmlsZVJlYWRlckxvYWRlcjo6UmVhZEFz
VGV4dCwgbnVsbHB0cik7CisgICAgbG9hZGVyLnNldEVuY29kaW5nKGVuY29kaW5nKTsKKyAgICBy
ZXR1cm4gc3RhcnRMb2FkaW5nU3RyaW5nKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIGxvYWRlciwg
YmxvYik7CiB9CiAKIEV4Y2VwdGlvbk9yPFN0cmluZz4gRmlsZVJlYWRlclN5bmM6OnJlYWRBc0Rh
dGFVUkwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgQmxv
YiYgYmxvYikKIHsKLSAgICBhdXRvIGxvYWRlciA9IG1ha2VVbmlxdWVSZWY8RmlsZVJlYWRlckxv
YWRlcj4oRmlsZVJlYWRlckxvYWRlcjo6UmVhZEFzRGF0YVVSTCwgbnVsbHB0cik7Ci0gICAgbG9h
ZGVyLT5zZXREYXRhVHlwZShibG9iLnR5cGUoKSk7Ci0gICAgcmV0dXJuIHN0YXJ0TG9hZGluZ1N0
cmluZyhzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBDaGVja2VkUmVmIHsgbG9hZGVyLmdldCgpIH0u
Z2V0KCksIGJsb2IpOworICAgIEZpbGVSZWFkZXJMb2FkZXIgbG9hZGVyKEZpbGVSZWFkZXJMb2Fk
ZXI6OlJlYWRBc0RhdGFVUkwsIG51bGxwdHIpOworICAgIGxvYWRlci5zZXREYXRhVHlwZShibG9i
LnR5cGUoKSk7CisgICAgcmV0dXJuIHN0YXJ0TG9hZGluZ1N0cmluZyhzY3JpcHRFeGVjdXRpb25D
b250ZXh0LCBsb2FkZXIsIGJsb2IpOwogfQogCiBFeGNlcHRpb25Pcjx2b2lkPiBGaWxlUmVhZGVy
U3luYzo6c3RhcnRMb2FkaW5nKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQsIEZpbGVSZWFkZXJMb2FkZXImIGxvYWRlciwgQmxvYiYgYmxvYikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggMTE5YjkxMjVlMGFkLi45MjQwNTNjY2U1
N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCkBAIC03MzYsMTEgKzcz
Niw2IEBAIHB1YmxpYzoKICAgICB1aW50MzJfdCBjaGVja2VkUHRyQ291bnRXaXRob3V0VGhyZWFk
Q2hlY2soKSBjb25zdCB7IHJldHVybiBDYW5NYWtlQ2hlY2tlZFB0cjxOb2RlPjo6Y2hlY2tlZFB0
ckNvdW50V2l0aG91dFRocmVhZENoZWNrKCk7IH0KICAgICB2b2lkIGluY3JlbWVudENoZWNrZWRQ
dHJDb3VudCgpIGNvbnN0IHsgQ2FuTWFrZUNoZWNrZWRQdHI8Tm9kZT46OmluY3JlbWVudENoZWNr
ZWRQdHJDb3VudCgpOyB9CiAgICAgdm9pZCBkZWNyZW1lbnRDaGVja2VkUHRyQ291bnQoKSBjb25z
dCB7IENhbk1ha2VDaGVja2VkUHRyPE5vZGU+OjpkZWNyZW1lbnRDaGVja2VkUHRyQ291bnQoKTsg
fQotICAgIHZvaWQgc2V0RGlkQmVnaW5DaGVja2VkUHRyRGVsZXRpb24oKQotICAgIHsKLSAgICAg
ICAgUGxhdGZvcm1NZWRpYVNlc3Npb25DbGllbnQ6OnNldERpZEJlZ2luQ2hlY2tlZFB0ckRlbGV0
aW9uKCk7Ci0gICAgICAgIENhbk1ha2VDaGVja2VkUHRyPE5vZGU+OjpzZXREaWRCZWdpbkNoZWNr
ZWRQdHJEZWxldGlvbigpOwotICAgIH0KIAogICAgIHZvaWQgZm9yY2VTdGVyZW9EZWNvZGluZygp
IHsgbV9mb3JjZVN0ZXJlb0RlY29kaW5nID0gdHJ1ZTsgfQogcHJvdGVjdGVkOgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZUJpdG1hcC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0ltYWdlQml0bWFwLmNwcAppbmRleCBkNGRlNGMwZmJmNzQuLmQ3M2FiZDJhNWE1MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZUJpdG1hcC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9JbWFnZUJpdG1hcC5jcHAKQEAgLTc5Niw3ICs3OTYsNyBAQCBwdWJsaWM6
CiBwcml2YXRlOgogICAgIFBlbmRpbmdJbWFnZUJpdG1hcChTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBSZWZQdHI8QmxvYj4mJiBibG9iLCBJbWFnZUJpdG1h
cE9wdGlvbnMmJiBvcHRpb25zLCBzdGQ6Om9wdGlvbmFsPEludFJlY3Q+IHJlY3QsIEltYWdlQml0
bWFwOjpJbWFnZUJpdG1hcENvbXBsZXRpb25IYW5kbGVyJiYgY29tcGxldGlvbkhhbmRsZXIpCiAg
ICAgICAgIDogQWN0aXZlRE9NT2JqZWN0KCZzY3JpcHRFeGVjdXRpb25Db250ZXh0KQotICAgICAg
ICAsIG1fYmxvYkxvYWRlcihtYWtlVW5pcXVlUmVmPEZpbGVSZWFkZXJMb2FkZXI+KEZpbGVSZWFk
ZXJMb2FkZXI6OlJlYWRBc0FycmF5QnVmZmVyLCB0aGlzKSkKKyAgICAgICAgLCBtX2Jsb2JMb2Fk
ZXIoRmlsZVJlYWRlckxvYWRlcjo6UmVhZEFzQXJyYXlCdWZmZXIsIHRoaXMpCiAgICAgICAgICwg
bV9ibG9iKFdURk1vdmUoYmxvYikpCiAgICAgICAgICwgbV9vcHRpb25zKFdURk1vdmUob3B0aW9u
cykpCiAgICAgICAgICwgbV9yZWN0KFdURk1vdmUocmVjdCkpCkBAIC04MDcsNyArODA3LDcgQEAg
cHJpdmF0ZToKICAgICB2b2lkIHN0YXJ0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQpCiAgICAgewogICAgICAgICBtX3BlbmRpbmdBY3Rpdml0eSA9IG1ha2VQ
ZW5kaW5nQWN0aXZpdHkoKnRoaXMpOyAvLyBQcmV2ZW50IGRlc3RydWN0aW9uIHVudGlsIHRoZSBs
b2FkIGhhcyBmaW5pc2hlZC4KLSAgICAgICAgbV9ibG9iTG9hZGVyLT5zdGFydCgmc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCwgKm1fYmxvYik7CisgICAgICAgIG1fYmxvYkxvYWRlci5zdGFydCgmc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCwgKm1fYmxvYik7CiAgICAgfQogCiAgICAgLy8gQWN0aXZlRE9N
T2JqZWN0CkBAIC04MTgsNyArODE4LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFJlY2VpdmVE
YXRhKCkgZmluYWwgeyB9CiAgICAgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKCkgZmluYWwKICAgICB7
Ci0gICAgICAgIGNyZWF0ZUltYWdlQml0bWFwQW5kQ2FsbENvbXBsZXRpb25IYW5kbGVyU29vbiht
X2Jsb2JMb2FkZXItPmFycmF5QnVmZmVyUmVzdWx0KCkpOworICAgICAgICBjcmVhdGVJbWFnZUJp
dG1hcEFuZENhbGxDb21wbGV0aW9uSGFuZGxlclNvb24obV9ibG9iTG9hZGVyLmFycmF5QnVmZmVy
UmVzdWx0KCkpOwogICAgIH0KICAgICB2b2lkIGRpZEZhaWwoRXhjZXB0aW9uQ29kZSkgZmluYWwK
ICAgICB7CkBAIC04NDMsMTAgKzg0MywxMCBAQCBwcml2YXRlOgogICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICB9CiAKLSAgICAgICAgSW1hZ2VCaXRtYXA6OmNyZWF0ZUZyb21CdWZmZXIoKnNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgbV9hcnJheUJ1ZmZlclRvUHJvY2Vzcy5yZWxlYXNlTm9u
TnVsbCgpLCBtX2Jsb2ItPnR5cGUoKSwgbV9ibG9iLT5zaXplKCksIG1fYmxvYkxvYWRlci0+dXJs
KCksIFdURk1vdmUobV9vcHRpb25zKSwgV1RGTW92ZShtX3JlY3QpLCBXVEZNb3ZlKG1fY29tcGxl
dGlvbkhhbmRsZXIpKTsKKyAgICAgICAgSW1hZ2VCaXRtYXA6OmNyZWF0ZUZyb21CdWZmZXIoKnNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgbV9hcnJheUJ1ZmZlclRvUHJvY2Vzcy5yZWxlYXNlTm9u
TnVsbCgpLCBtX2Jsb2ItPnR5cGUoKSwgbV9ibG9iLT5zaXplKCksIG1fYmxvYkxvYWRlci51cmwo
KSwgV1RGTW92ZShtX29wdGlvbnMpLCBXVEZNb3ZlKG1fcmVjdCksIFdURk1vdmUobV9jb21wbGV0
aW9uSGFuZGxlcikpOwogICAgIH0KIAotICAgIGNvbnN0IFVuaXF1ZVJlZjxGaWxlUmVhZGVyTG9h
ZGVyPiBtX2Jsb2JMb2FkZXI7CisgICAgRmlsZVJlYWRlckxvYWRlciBtX2Jsb2JMb2FkZXI7CiAg
ICAgUmVmUHRyPEJsb2I+IG1fYmxvYjsKICAgICBJbWFnZUJpdG1hcE9wdGlvbnMgbV9vcHRpb25z
OwogICAgIHN0ZDo6b3B0aW9uYWw8SW50UmVjdD4gbV9yZWN0OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuaAppbmRleCBkMGE4YzIwYWQzNTUuLmZi
MjU4NzhkY2FjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERv
Y3VtZW50UGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3Vt
ZW50UGFyc2VyLmgKQEAgLTU5LDcgKzU5LDYgQEAgcHVibGljOgogICAgIHVpbnQzMl90IGNoZWNr
ZWRQdHJDb3VudFdpdGhvdXRUaHJlYWRDaGVjaygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIENhbk1h
a2VDaGVja2VkUHRyOjpjaGVja2VkUHRyQ291bnRXaXRob3V0VGhyZWFkQ2hlY2soKTsgfQogICAg
IHZvaWQgaW5jcmVtZW50Q2hlY2tlZFB0ckNvdW50KCkgY29uc3QgZmluYWwgeyBDYW5NYWtlQ2hl
Y2tlZFB0cjo6aW5jcmVtZW50Q2hlY2tlZFB0ckNvdW50KCk7IH0KICAgICB2b2lkIGRlY3JlbWVu
dENoZWNrZWRQdHJDb3VudCgpIGNvbnN0IGZpbmFsIHsgQ2FuTWFrZUNoZWNrZWRQdHI6OmRlY3Jl
bWVudENoZWNrZWRQdHJDb3VudCgpOyB9Ci0gICAgdm9pZCBzZXREaWRCZWdpbkNoZWNrZWRQdHJE
ZWxldGlvbigpIGZpbmFsIHsgQ2FuTWFrZUNoZWNrZWRQdHI6OnNldERpZEJlZ2luQ2hlY2tlZFB0
ckRlbGV0aW9uKCk7IH0KIAogICAgIEhUTUxEb2N1bWVudFBhcnNlciogYXNIVE1MRG9jdW1lbnRQ
YXJzZXIoKSBmaW5hbCB7IHJldHVybiB0aGlzOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBdWRpdFJlc291cmNlc09iamVjdC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXVkaXRSZXNvdXJjZXNPYmplY3QuY3BwCmluZGV4
IGI2ODEwYTQwYjQ2YS4uMzZhMDFiNWY1MDQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQXVkaXRSZXNvdXJjZXNPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBdWRpdFJlc291cmNlc09iamVjdC5jcHAKQEAgLTUw
LDcgKzUwLDYgQEAgdXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKIAogSW5zcGVjdG9yQXVkaXRS
ZXNvdXJjZXNPYmplY3Q6Okluc3BlY3RvckF1ZGl0UmVzb3VyY2VzT2JqZWN0KEluc3BlY3RvckF1
ZGl0QWdlbnQmIGF1ZGl0QWdlbnQpCiAgICAgOiBtX2F1ZGl0QWdlbnQoYXVkaXRBZ2VudCkKLSAg
ICAsIG1fY2FjaGVkSW1hZ2VDbGllbnQobWFrZVVuaXF1ZVJlZjxJbnNwZWN0b3JBdWRpdENhY2hl
ZEltYWdlQ2xpZW50PigpKQogewogfQogCkBAIC0xMjYsNyArMTI1LDcgQEAgQ2FjaGVkUmVzb3Vy
Y2VDbGllbnQmIEluc3BlY3RvckF1ZGl0UmVzb3VyY2VzT2JqZWN0OjpjbGllbnRGb3JSZXNvdXJj
ZShjb25zdCBDYWMKICAgICAgICAgcmV0dXJuIG1fY2FjaGVkRm9udENsaWVudDsKIAogICAgIGlm
IChpczxDYWNoZWRJbWFnZT4oY2FjaGVkUmVzb3VyY2UpKQotICAgICAgICByZXR1cm4gbV9jYWNo
ZWRJbWFnZUNsaWVudC5nZXQoKTsKKyAgICAgICAgcmV0dXJuIG1fY2FjaGVkSW1hZ2VDbGllbnQ7
CiAKICAgICBpZiAoaXM8Q2FjaGVkUmF3UmVzb3VyY2U+KGNhY2hlZFJlc291cmNlKSkKICAgICAg
ICAgcmV0dXJuIG1fY2FjaGVkUmF3UmVzb3VyY2VDbGllbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXVkaXRSZXNvdXJjZXNPYmplY3QuaCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBdWRpdFJlc291cmNlc09iamVjdC5oCmluZGV4
IGZiODQ5OThmYzA0YS4uZjgyNDYyYjc4M2FkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQXVkaXRSZXNvdXJjZXNPYmplY3QuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXVkaXRSZXNvdXJjZXNPYmplY3QuaApAQCAtODMsNyAr
ODMsNyBAQCBwcml2YXRlOgogICAgICAgICBXVEZfREVQUkVDQVRFRF9NQUtFX0ZBU1RfQUxMT0NB
VEVEKEluc3BlY3RvckF1ZGl0Q2FjaGVkSW1hZ2VDbGllbnQpOwogICAgICAgICBXVEZfT1ZFUlJJ
REVfREVMRVRFX0ZPUl9DSEVDS0VEX1BUUihJbnNwZWN0b3JBdWRpdENhY2hlZEltYWdlQ2xpZW50
KTsKICAgICB9OwotICAgIFVuaXF1ZVJlZjxJbnNwZWN0b3JBdWRpdENhY2hlZEltYWdlQ2xpZW50
PiBtX2NhY2hlZEltYWdlQ2xpZW50OworICAgIEluc3BlY3RvckF1ZGl0Q2FjaGVkSW1hZ2VDbGll
bnQgbV9jYWNoZWRJbWFnZUNsaWVudDsKIAogICAgIGNsYXNzIEluc3BlY3RvckF1ZGl0Q2FjaGVk
UmF3UmVzb3VyY2VDbGllbnQgOiBwdWJsaWMgQ2FjaGVkUmF3UmVzb3VyY2VDbGllbnQgeyB9Owog
ICAgIEluc3BlY3RvckF1ZGl0Q2FjaGVkUmF3UmVzb3VyY2VDbGllbnQgbV9jYWNoZWRSYXdSZXNv
dXJjZUNsaWVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlv
bi9mbGV4L0xheW91dEludGVncmF0aW9uRmxleExheW91dC5oIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2ludGVncmF0aW9uL2ZsZXgvTGF5b3V0SW50ZWdyYXRpb25GbGV4TGF5b3V0LmgKaW5kZXgg
MDEzMzQxOTBmZjExLi45NjRjNTZkNzc1YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbnRlZ3JhdGlvbi9mbGV4L0xheW91dEludGVncmF0aW9uRmxleExheW91dC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9mbGV4L0xheW91dEludGVncmF0aW9u
RmxleExheW91dC5oCkBAIC00Myw3ICs0Myw3IEBAIHN0cnVjdCBQYWludEluZm87CiAKIG5hbWVz
cGFjZSBMYXlvdXRJbnRlZ3JhdGlvbiB7CiAKLWNsYXNzIEZsZXhMYXlvdXQgZmluYWwgOiBwdWJs
aWMgQ2FuTWFrZUNoZWNrZWRQdHI8RmxleExheW91dCwgV1RGOjpEZWZhdWx0ZWRPcGVyYXRvckVx
dWFsOjpObywgV1RGOjpDaGVja2VkUHRyRGVsZXRlQ2hlY2tFeGNlcHRpb246Olllcz4geworY2xh
c3MgRmxleExheW91dCBmaW5hbCA6IHB1YmxpYyBDYW5NYWtlQ2hlY2tlZFB0cjxGbGV4TGF5b3V0
PiB7CiAgICAgV1RGX01BS0VfVFpPTkVfQUxMT0NBVEVEKEZsZXhMYXlvdXQpOwogICAgIFdURl9P
VkVSUklERV9ERUxFVEVfRk9SX0NIRUNLRURfUFRSKEZsZXhMYXlvdXQpOwogcHVibGljOgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Mb2NhbEZyYW1lVmlld0xheW91dENvbnRleHQu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYWxGcmFtZVZpZXdMYXlvdXRDb250ZXh0LmgKaW5k
ZXggZDEzNzZmOTM5YzcwLi5mM2YzMWQwZmNkNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvTG9jYWxGcmFtZVZpZXdMYXlvdXRDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9Mb2NhbEZyYW1lVmlld0xheW91dENvbnRleHQuaApAQCAtNjUsNyArNjUsNyBAQCBzdHJ1
Y3QgVXBkYXRlU2Nyb2xsSW5mb0FmdGVyTGF5b3V0VHJhbnNhY3Rpb24gewogICAgIFNpbmdsZVRo
cmVhZFdlYWtIYXNoU2V0PFJlbmRlckJsb2NrPiBibG9ja3M7CiB9OwogCi1jbGFzcyBMb2NhbEZy
YW1lVmlld0xheW91dENvbnRleHQgZmluYWwgOiBwdWJsaWMgQ2FuTWFrZUNoZWNrZWRQdHI8TG9j
YWxGcmFtZVZpZXdMYXlvdXRDb250ZXh0LCBXVEY6OkRlZmF1bHRlZE9wZXJhdG9yRXF1YWw6Ok5v
LCBXVEY6OkNoZWNrZWRQdHJEZWxldGVDaGVja0V4Y2VwdGlvbjo6WWVzPiB7CitjbGFzcyBMb2Nh
bEZyYW1lVmlld0xheW91dENvbnRleHQgZmluYWwgOiBwdWJsaWMgQ2FuTWFrZUNoZWNrZWRQdHI8
TG9jYWxGcmFtZVZpZXdMYXlvdXRDb250ZXh0PiB7CiAgICAgV1RGX01BS0VfVFpPTkVfQUxMT0NB
VEVEKExvY2FsRnJhbWVWaWV3TGF5b3V0Q29udGV4dCk7CiAgICAgV1RGX09WRVJSSURFX0RFTEVU
RV9GT1JfQ0hFQ0tFRF9QVFIoTG9jYWxGcmFtZVZpZXdMYXlvdXRDb250ZXh0KTsKIHB1YmxpYzoK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGlj
eS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmgKaW5k
ZXggZjU5Nzg0NTQ4NWUwLi43YTg3YjRlOTZkZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5oCkBAIC05Nyw3ICs5Nyw3IEBAIGVudW0gY2xh
c3MgSW5jbHVkZVJlcG9ydE9ubHlQb2xpY2llcyA6IGJvb2wgewogdXNpbmcgSGFzaEFsZ29yaXRo
bVNldCA9IHVpbnQ4X3Q7CiB1c2luZyBIYXNoQWxnb3JpdGhtU2V0Q29sbGVjdGlvbiA9IEZpeGVk
VmVjdG9yPHN0ZDo6cGFpcjxIYXNoQWxnb3JpdGhtU2V0LCBGaXhlZFZlY3RvcjxTdHJpbmc+Pj47
CiAKLWNsYXNzIENvbnRlbnRTZWN1cml0eVBvbGljeSBmaW5hbCA6IHB1YmxpYyBDYW5NYWtlVGhy
ZWFkU2FmZUNoZWNrZWRQdHI8Q29udGVudFNlY3VyaXR5UG9saWN5LCBXVEY6OkRlZmF1bHRlZE9w
ZXJhdG9yRXF1YWw6Ok5vLCBXVEY6OkNoZWNrZWRQdHJEZWxldGVDaGVja0V4Y2VwdGlvbjo6WWVz
PiB7CitjbGFzcyBDb250ZW50U2VjdXJpdHlQb2xpY3kgZmluYWwgOiBwdWJsaWMgQ2FuTWFrZVRo
cmVhZFNhZmVDaGVja2VkUHRyPENvbnRlbnRTZWN1cml0eVBvbGljeT4gewogICAgIFdURl9NQUtF
X1RaT05FX0FMTE9DQVRFRF9FWFBPUlQoQ29udGVudFNlY3VyaXR5UG9saWN5LCBXRUJDT1JFX0VY
UE9SVCk7CiAgICAgV1RGX09WRVJSSURFX0RFTEVURV9GT1JfQ0hFQ0tFRF9QVFIoQ29udGVudFNl
Y3VyaXR5UG9saWN5KTsKIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlVHJlZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nU3RhdGVUcmVlLmgKaW5kZXggNGI2YjRjOWRmOTRhLi42NjExNzk0NWI3
NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0
YXRlVHJlZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0
YXRlVHJlZS5oCkBAIC00Miw3ICs0Miw3IEBAIGNsYXNzIFNjcm9sbGluZ1N0YXRlRnJhbWVTY3Jv
bGxpbmdOb2RlOwogLy8gd2lsbCBiZSBpbmZvcm1lZCBhbmQgd2lsbCBzY2hlZHVsZSBhIHRpbWVy
IHRoYXQgd2lsbCBjbG9uZSB0aGUgbmV3IHN0YXRlIHRyZWUgYW5kIHNlbmQgaXQgb3ZlciB0bwog
Ly8gdGhlIHNjcm9sbGluZyB0aHJlYWQsIGF2b2lkaW5nIGxvY2tpbmcuIAogCi1jbGFzcyBTY3Jv
bGxpbmdTdGF0ZVRyZWUgZmluYWwgOiBwdWJsaWMgQ2FuTWFrZUNoZWNrZWRQdHI8U2Nyb2xsaW5n
U3RhdGVUcmVlLCBXVEY6OkRlZmF1bHRlZE9wZXJhdG9yRXF1YWw6Ok5vLCBXVEY6OkNoZWNrZWRQ
dHJEZWxldGVDaGVja0V4Y2VwdGlvbjo6WWVzPiB7CitjbGFzcyBTY3JvbGxpbmdTdGF0ZVRyZWUg
ZmluYWwgOiBwdWJsaWMgQ2FuTWFrZUNoZWNrZWRQdHI8U2Nyb2xsaW5nU3RhdGVUcmVlPiB7CiAg
ICAgV1RGX01BS0VfVFpPTkVfQUxMT0NBVEVEX0VYUE9SVChTY3JvbGxpbmdTdGF0ZVRyZWUsIFdF
QkNPUkVfRVhQT1JUKTsKICAgICBXVEZfT1ZFUlJJREVfREVMRVRFX0ZPUl9DSEVDS0VEX1BUUihT
Y3JvbGxpbmdTdGF0ZVRyZWUpOwogICAgIGZyaWVuZCBjbGFzcyBTY3JvbGxpbmdTdGF0ZU5vZGU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsZXJN
YWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxlck1hYy5oCmlu
ZGV4IDJkZmVhOTcxMDlhNC4uZmE0MTA3NjgxZmU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsZXJNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsZXJNYWMuaApAQCAtNDcsNyArNDcsNyBAQCBjbGFzcyBT
Y3JvbGxlclBhaXJNYWM7CiAKIHN0cnVjdCBTY3JvbGxiYXJDb2xvcjsKIAotY2xhc3MgU2Nyb2xs
ZXJNYWMgZmluYWwgOiBwdWJsaWMgQ2FuTWFrZVRocmVhZFNhZmVDaGVja2VkUHRyPFNjcm9sbGVy
TWFjLCBXVEY6OkRlZmF1bHRlZE9wZXJhdG9yRXF1YWw6Ok5vLCBXVEY6OkNoZWNrZWRQdHJEZWxl
dGVDaGVja0V4Y2VwdGlvbjo6WWVzPiB7CitjbGFzcyBTY3JvbGxlck1hYyBmaW5hbCA6IHB1Ymxp
YyBDYW5NYWtlVGhyZWFkU2FmZUNoZWNrZWRQdHI8U2Nyb2xsZXJNYWM+IHsKICAgICBXVEZfREVQ
UkVDQVRFRF9NQUtFX0ZBU1RfQUxMT0NBVEVEKFNjcm9sbGVyTWFjKTsKICAgICBXVEZfT1ZFUlJJ
REVfREVMRVRFX0ZPUl9DSEVDS0VEX1BUUihTY3JvbGxlck1hYyk7CiAgICAgZnJpZW5kIGNsYXNz
IFNjcm9sbGVyUGFpck1hYzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Rp
Y3RhdGlvbkNhcmV0QW5pbWF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RpY3RhdGlv
bkNhcmV0QW5pbWF0b3IuaAppbmRleCBjZTIxZTBjMjA0ZTQuLmI0MThkODQ3ODVlMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGljdGF0aW9uQ2FyZXRBbmltYXRvci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RpY3RhdGlvbkNhcmV0QW5pbWF0b3IuaApAQCAt
MzksNyArMzksNiBAQCBjbGFzcyBQYXRoOwogCiBjbGFzcyBEaWN0YXRpb25DYXJldEFuaW1hdG9y
IGZpbmFsIDogcHVibGljIENhcmV0QW5pbWF0b3IgewogICAgIFdURl9NQUtFX1RaT05FX0FMTE9D
QVRFRChEaWN0YXRpb25DYXJldEFuaW1hdG9yKTsKLSAgICBXVEZfT1ZFUlJJREVfREVMRVRFX0ZP
Ul9DSEVDS0VEX1BUUihEaWN0YXRpb25DYXJldEFuaW1hdG9yKTsKIHB1YmxpYzoKICAgICBleHBs
aWNpdCBEaWN0YXRpb25DYXJldEFuaW1hdG9yKENhcmV0QW5pbWF0aW9uQ2xpZW50Jik7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuaAppbmRleCA2YmFiZTBmNGM2MDcuLmM0N2YzZDQ5
YjU4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuaApAQCAtODQsNyArODQsNiBA
QCBwdWJsaWM6CiAgICAgdWludDMyX3QgY2hlY2tlZFB0ckNvdW50V2l0aG91dFRocmVhZENoZWNr
KCkgY29uc3QgZmluYWwgeyByZXR1cm4gQ2FuTWFrZUNoZWNrZWRQdHI6OmNoZWNrZWRQdHJDb3Vu
dFdpdGhvdXRUaHJlYWRDaGVjaygpOyB9CiAgICAgdm9pZCBpbmNyZW1lbnRDaGVja2VkUHRyQ291
bnQoKSBjb25zdCBmaW5hbCB7IENhbk1ha2VDaGVja2VkUHRyOjppbmNyZW1lbnRDaGVja2VkUHRy
Q291bnQoKTsgfQogICAgIHZvaWQgZGVjcmVtZW50Q2hlY2tlZFB0ckNvdW50KCkgY29uc3QgZmlu
YWwgeyBDYW5NYWtlQ2hlY2tlZFB0cjo6ZGVjcmVtZW50Q2hlY2tlZFB0ckNvdW50KCk7IH0KLSAg
ICB2b2lkIHNldERpZEJlZ2luQ2hlY2tlZFB0ckRlbGV0aW9uKCkgZmluYWwgeyBDYW5NYWtlQ2hl
Y2tlZFB0cjo6c2V0RGlkQmVnaW5DaGVja2VkUHRyRGVsZXRpb24oKTsgfQogCiAgICAgVVNJTkdf
Q0FOX01BS0VfV0VBS1BUUihXaWRnZXQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TaW1wbGVDYXJldEFuaW1hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
aW1wbGVDYXJldEFuaW1hdG9yLmgKaW5kZXggYWM1ZDg1NzdiNmVmLi43ZDI1YTAxZDY0NzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NpbXBsZUNhcmV0QW5pbWF0b3IuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TaW1wbGVDYXJldEFuaW1hdG9yLmgKQEAgLTMy
LDcgKzMyLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTaW1wbGVDYXJldEFuaW1h
dG9yIGZpbmFsIDogcHVibGljIENhcmV0QW5pbWF0b3IgewogICAgIFdURl9NQUtFX1RaT05FX0FM
TE9DQVRFRChTaW1wbGVDYXJldEFuaW1hdG9yKTsKLSAgICBXVEZfT1ZFUlJJREVfREVMRVRFX0ZP
Ul9DSEVDS0VEX1BUUihTaW1wbGVDYXJldEFuaW1hdG9yKTsKIHB1YmxpYzoKICAgICBleHBsaWNp
dCBTaW1wbGVDYXJldEFuaW1hdG9yKENhcmV0QW5pbWF0aW9uQ2xpZW50Jik7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1vZGVsTWVk
aWFFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Np
b25Nb2RlbE1lZGlhRWxlbWVudC5oCmluZGV4IDNkODlmYTZmNzU2NC4uYWNhNTkwOGYxMDc4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25N
b2RlbE1lZGlhRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Bs
YXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50LmgKQEAgLTY3LDcgKzY3LDYgQEAgcHVibGlj
OgogICAgIHVpbnQzMl90IGNoZWNrZWRQdHJDb3VudFdpdGhvdXRUaHJlYWRDaGVjaygpIGNvbnN0
IGZpbmFsIHsgcmV0dXJuIENhbk1ha2VDaGVja2VkUHRyOjpjaGVja2VkUHRyQ291bnRXaXRob3V0
VGhyZWFkQ2hlY2soKTsgfQogICAgIHZvaWQgaW5jcmVtZW50Q2hlY2tlZFB0ckNvdW50KCkgY29u
c3QgZmluYWwgeyBDYW5NYWtlQ2hlY2tlZFB0cjo6aW5jcmVtZW50Q2hlY2tlZFB0ckNvdW50KCk7
IH0KICAgICB2b2lkIGRlY3JlbWVudENoZWNrZWRQdHJDb3VudCgpIGNvbnN0IGZpbmFsIHsgQ2Fu
TWFrZUNoZWNrZWRQdHI6OmRlY3JlbWVudENoZWNrZWRQdHJDb3VudCgpOyB9Ci0gICAgdm9pZCBz
ZXREaWRCZWdpbkNoZWNrZWRQdHJEZWxldGlvbigpIGZpbmFsIHsgQ2FuTWFrZUNoZWNrZWRQdHI6
OnNldERpZEJlZ2luQ2hlY2tlZFB0ckRlbGV0aW9uKCk7IH0KIAogICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgc2V0TWVkaWFFbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqKTsKICAgICBIVE1MTWVkaWFF
bGVtZW50KiBtZWRpYUVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBtX21lZGlhRWxlbWVudC5nZXQo
KTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvV2ViQVZQbGF5
ZXJMYXllci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1dlYkFWUGxheWVyTGF5
ZXIubW0KaW5kZXggOWNmZThiYzZlNzM5Li5mYjZkM2Y3MWRjOWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1dlYkFWUGxheWVyTGF5ZXIubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvV2ViQVZQbGF5ZXJMYXllci5tbQpAQCAtNzEsNyArNzEs
NiBAQCBwcml2YXRlOgogICAgIHVpbnQzMl90IGNoZWNrZWRQdHJDb3VudFdpdGhvdXRUaHJlYWRD
aGVjaygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIENhbk1ha2VDaGVja2VkUHRyOjpjaGVja2VkUHRy
Q291bnRXaXRob3V0VGhyZWFkQ2hlY2soKTsgfQogICAgIHZvaWQgaW5jcmVtZW50Q2hlY2tlZFB0
ckNvdW50KCkgY29uc3QgZmluYWwgeyBDYW5NYWtlQ2hlY2tlZFB0cjo6aW5jcmVtZW50Q2hlY2tl
ZFB0ckNvdW50KCk7IH0KICAgICB2b2lkIGRlY3JlbWVudENoZWNrZWRQdHJDb3VudCgpIGNvbnN0
IGZpbmFsIHsgQ2FuTWFrZUNoZWNrZWRQdHI6OmRlY3JlbWVudENoZWNrZWRQdHJDb3VudCgpOyB9
Ci0gICAgdm9pZCBzZXREaWRCZWdpbkNoZWNrZWRQdHJEZWxldGlvbigpIGZpbmFsIHsgQ2FuTWFr
ZUNoZWNrZWRQdHI6OnNldERpZEJlZ2luQ2hlY2tlZFB0ckRlbGV0aW9uKCk7IH0KIAogICAgIHZv
aWQgdmlkZW9EaW1lbnNpb25zQ2hhbmdlZChjb25zdCBGbG9hdFNpemUmIHZpZGVvRGltZW5zaW9u
cykKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
b250Q2FzY2FkZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2Fz
Y2FkZS5jcHAKaW5kZXggZmQ0MWQyYTRjNTNjLi45Yjc2MGI2Y2JmYjQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKQEAgLTg1LDcgKzg1
LDcgQEAgRm9udENhc2NhZGU6OkZvbnRDYXNjYWRlKEZvbnRDYXNjYWRlRGVzY3JpcHRpb24mJiBk
ZXNjcmlwdGlvbiwgY29uc3QgRm9udENhc2NhZGUKIAogRm9udENhc2NhZGU6OkZvbnRDYXNjYWRl
KGNvbnN0IEZvbnRDYXNjYWRlJiBvdGhlcikKICAgICA6IENhbk1ha2VXZWFrUHRyPEZvbnRDYXNj
YWRlPigpCi0gICAgLCBDYW5NYWtlQ2hlY2tlZFB0cjxGb250Q2FzY2FkZSwgV1RGOjpEZWZhdWx0
ZWRPcGVyYXRvckVxdWFsOjpObywgV1RGOjpDaGVja2VkUHRyRGVsZXRlQ2hlY2tFeGNlcHRpb246
Olllcz4oKQorICAgICwgQ2FuTWFrZUNoZWNrZWRQdHI8Rm9udENhc2NhZGU+KCkKICAgICAsIG1f
Zm9udERlc2NyaXB0aW9uKG90aGVyLm1fZm9udERlc2NyaXB0aW9uKQogICAgICwgbV9zcGFjaW5n
KG90aGVyLm1fc3BhY2luZykKICAgICAsIG1fZm9udHMob3RoZXIubV9mb250cykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5oCmluZGV4IDIyNzFmZTZl
MTNkNy4uNWJkZmViYmVmOTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250Q2FzY2FkZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRDYXNjYWRlLmgKQEAgLTExOCw3ICsxMTgsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBv
cGVyYXRvcigpKFRleHRMYXlvdXQqKSBjb25zdDsKIH07CiAKLWNsYXNzIEZvbnRDYXNjYWRlIGZp
bmFsIDogcHVibGljIENhbk1ha2VXZWFrUHRyPEZvbnRDYXNjYWRlPiwgcHVibGljIENhbk1ha2VD
aGVja2VkUHRyPEZvbnRDYXNjYWRlLCBXVEY6OkRlZmF1bHRlZE9wZXJhdG9yRXF1YWw6Ok5vLCBX
VEY6OkNoZWNrZWRQdHJEZWxldGVDaGVja0V4Y2VwdGlvbjo6WWVzPiB7CitjbGFzcyBGb250Q2Fz
Y2FkZSBmaW5hbCA6IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxGb250Q2FzY2FkZT4sIHB1YmxpYyBD
YW5NYWtlQ2hlY2tlZFB0cjxGb250Q2FzY2FkZT4gewogICAgIFdURl9NQUtFX1RaT05FX0FMTE9D
QVRFRChGb250Q2FzY2FkZSk7CiAgICAgV1RGX09WRVJSSURFX0RFTEVURV9GT1JfQ0hFQ0tFRF9Q
VFIoRm9udENhc2NhZGUpOwogcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvVGV4dFJ1bi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvVGV4dFJ1bi5oCmluZGV4IDk3NWJmNTE3MzkzYy4uMGQ1NWM5MWY4MzgxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1bi5oCkBAIC00Miw3ICs0Miw3IEBAIGNs
YXNzIEZvbnQ7CiAKIHN0cnVjdCBHbHlwaERhdGE7CiAKLWNsYXNzIFRleHRSdW4gZmluYWwgOiBw
dWJsaWMgQ2FuTWFrZUNoZWNrZWRQdHI8VGV4dFJ1biwgV1RGOjpEZWZhdWx0ZWRPcGVyYXRvckVx
dWFsOjpObywgV1RGOjpDaGVja2VkUHRyRGVsZXRlQ2hlY2tFeGNlcHRpb246Olllcz4geworY2xh
c3MgVGV4dFJ1biBmaW5hbCA6IHB1YmxpYyBDYW5NYWtlQ2hlY2tlZFB0cjxUZXh0UnVuPiB7CiAg
ICAgV1RGX01BS0VfVFpPTkVfQUxMT0NBVEVEKFRleHRSdW4pOwogICAgIFdURl9PVkVSUklERV9E
RUxFVEVfRk9SX0NIRUNLRURfUFRSKFRleHRSdW4pOwogICAgIGZyaWVuZCB2b2lkIGFkZChIYXNo
ZXImLCBjb25zdCBUZXh0UnVuJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jYS9MYXllclBvb2wuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhL0xheWVyUG9vbC5oCmluZGV4IDMyZTBiZmFhYjM4YS4uMWQ1MTgyMjI4MzAwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuaApAQCAt
MzksNyArMzksNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCi1jbGFzcyBMYXllclBv
b2wgZmluYWwgOiBwdWJsaWMgQ2FuTWFrZUNoZWNrZWRQdHI8TGF5ZXJQb29sLCBXVEY6OkRlZmF1
bHRlZE9wZXJhdG9yRXF1YWw6Ok5vLCBXVEY6OkNoZWNrZWRQdHJEZWxldGVDaGVja0V4Y2VwdGlv
bjo6WWVzPiB7CitjbGFzcyBMYXllclBvb2wgZmluYWwgOiBwdWJsaWMgQ2FuTWFrZUNoZWNrZWRQ
dHI8TGF5ZXJQb29sPiB7CiAgICAgV1RGX01BS0VfVFpPTkVfQUxMT0NBVEVEX0VYUE9SVChMYXll
clBvb2wsIFdFQkNPUkVfRVhQT1JUKTsKICAgICBXVEZfT1ZFUlJJREVfREVMRVRFX0ZPUl9DSEVD
S0VEX1BUUihMYXllclBvb2wpOwogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExheWVyUG9vbCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9OdWxs
UGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jb2NvYS9OdWxsUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlLmgKaW5kZXggNjdiNzNkNzA4
YTI5Li4yZDBmNGZlNzA4YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL051bGxQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2UuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9OdWxsUGxheWJhY2tTZXNzaW9uSW50ZXJm
YWNlLmgKQEAgLTgzLDcgKzgzLDYgQEAgcHJpdmF0ZToKICAgICB1aW50MzJfdCBjaGVja2VkUHRy
Q291bnRXaXRob3V0VGhyZWFkQ2hlY2soKSBjb25zdCBmaW5hbCB7IHJldHVybiBDYW5NYWtlQ2hl
Y2tlZFB0cjo6Y2hlY2tlZFB0ckNvdW50V2l0aG91dFRocmVhZENoZWNrKCk7IH0KICAgICB2b2lk
IGluY3JlbWVudENoZWNrZWRQdHJDb3VudCgpIGNvbnN0IGZpbmFsIHsgQ2FuTWFrZUNoZWNrZWRQ
dHI6OmluY3JlbWVudENoZWNrZWRQdHJDb3VudCgpOyB9CiAgICAgdm9pZCBkZWNyZW1lbnRDaGVj
a2VkUHRyQ291bnQoKSBjb25zdCBmaW5hbCB7IENhbk1ha2VDaGVja2VkUHRyOjpkZWNyZW1lbnRD
aGVja2VkUHRyQ291bnQoKTsgfQotICAgIHZvaWQgc2V0RGlkQmVnaW5DaGVja2VkUHRyRGVsZXRp
b24oKSBmaW5hbCB7IENhbk1ha2VDaGVja2VkUHRyOjpzZXREaWRCZWdpbkNoZWNrZWRQdHJEZWxl
dGlvbigpOyB9CiAKICAgICB2b2lkIGR1cmF0aW9uQ2hhbmdlZChkb3VibGUpIGZpbmFsIHsgfQog
ICAgIHZvaWQgY3VycmVudFRpbWVDaGFuZ2VkKGRvdWJsZSwgZG91YmxlKSBmaW5hbCB7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL051bGxWaWRl
b1ByZXNlbnRhdGlvbkludGVyZmFjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY29jb2EvTnVsbFZpZGVvUHJlc2VudGF0aW9uSW50ZXJmYWNlLmgKaW5kZXggMTI0ZTE4NWJl
NzVhLi40ZjQ3Yjk0MGQ5N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL051bGxWaWRlb1ByZXNlbnRhdGlvbkludGVyZmFjZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL051bGxWaWRlb1ByZXNlbnRhdGlvbklu
dGVyZmFjZS5oCkBAIC0xMDMsNyArMTAzLDYgQEAgcHJpdmF0ZToKICAgICB1aW50MzJfdCBjaGVj
a2VkUHRyQ291bnRXaXRob3V0VGhyZWFkQ2hlY2soKSBjb25zdCBmaW5hbCB7IHJldHVybiBDYW5N
YWtlQ2hlY2tlZFB0cjo6Y2hlY2tlZFB0ckNvdW50V2l0aG91dFRocmVhZENoZWNrKCk7IH0KICAg
ICB2b2lkIGluY3JlbWVudENoZWNrZWRQdHJDb3VudCgpIGNvbnN0IGZpbmFsIHsgQ2FuTWFrZUNo
ZWNrZWRQdHI6OmluY3JlbWVudENoZWNrZWRQdHJDb3VudCgpOyB9CiAgICAgdm9pZCBkZWNyZW1l
bnRDaGVja2VkUHRyQ291bnQoKSBjb25zdCBmaW5hbCB7IENhbk1ha2VDaGVja2VkUHRyOjpkZWNy
ZW1lbnRDaGVja2VkUHRyQ291bnQoKTsgfQotICAgIHZvaWQgc2V0RGlkQmVnaW5DaGVja2VkUHRy
RGVsZXRpb24oKSBmaW5hbCB7IENhbk1ha2VDaGVja2VkUHRyOjpzZXREaWRCZWdpbkNoZWNrZWRQ
dHJEZWxldGlvbigpOyB9CiAKICAgICBjb25zdCBSZWY8TnVsbFBsYXliYWNrU2Vzc2lvbkludGVy
ZmFjZT4gbV9wbGF5YmFja1Nlc3Npb25JbnRlcmZhY2U7CiAgICAgVGhyZWFkU2FmZVdlYWtQdHI8
VmlkZW9QcmVzZW50YXRpb25Nb2RlbD4gbV92aWRlb1ByZXNlbnRhdGlvbk1vZGVsOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXliYWNrU2Vzc2lvbkludGVyZmFj
ZUlPUy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXliYWNrU2Vzc2lvbkludGVy
ZmFjZUlPUy5oCmluZGV4IDlmMTA2ZDllZGRkOS4uNTRlM2FjZTYxNmI4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlSU9TLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXliYWNrU2Vzc2lvbkludGVyZmFj
ZUlPUy5oCkBAIC0xMDYsMTEgKzEwNiwxMCBAQCBwcm90ZWN0ZWQ6CiAgICAgV2Vha1B0cjxQbGF5
YmFja1Nlc3Npb25Nb2RlbD4gbV9wbGF5YmFja1Nlc3Npb25Nb2RlbDsKIAogICAgIC8vIENoZWNr
ZWRQdHIgaW50ZXJmYWNlCi0gICAgdWludDMyX3QgY2hlY2tlZFB0ckNvdW50KCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gQ2FuTWFrZUNoZWNrZWRQdHI6OmNoZWNrZWRQdHJDb3VudCgpOyB9Ci0gICAg
dWludDMyX3QgY2hlY2tlZFB0ckNvdW50V2l0aG91dFRocmVhZENoZWNrKCkgY29uc3QgZmluYWwg
eyByZXR1cm4gQ2FuTWFrZUNoZWNrZWRQdHI6OmNoZWNrZWRQdHJDb3VudFdpdGhvdXRUaHJlYWRD
aGVjaygpOyB9Ci0gICAgdm9pZCBpbmNyZW1lbnRDaGVja2VkUHRyQ291bnQoKSBjb25zdCBmaW5h
bCB7IENhbk1ha2VDaGVja2VkUHRyOjppbmNyZW1lbnRDaGVja2VkUHRyQ291bnQoKTsgfQotICAg
IHZvaWQgZGVjcmVtZW50Q2hlY2tlZFB0ckNvdW50KCkgY29uc3QgZmluYWwgeyBDYW5NYWtlQ2hl
Y2tlZFB0cjo6ZGVjcmVtZW50Q2hlY2tlZFB0ckNvdW50KCk7IH0KLSAgICB2b2lkIHNldERpZEJl
Z2luQ2hlY2tlZFB0ckRlbGV0aW9uKCkgZmluYWwgeyBDYW5NYWtlQ2hlY2tlZFB0cjo6c2V0RGlk
QmVnaW5DaGVja2VkUHRyRGVsZXRpb24oKTsgfQorICAgIHVpbnQzMl90IGNoZWNrZWRQdHJDb3Vu
dCgpIGNvbnN0IGZpbmFsOworICAgIHVpbnQzMl90IGNoZWNrZWRQdHJDb3VudFdpdGhvdXRUaHJl
YWRDaGVjaygpIGNvbnN0IGZpbmFsOworICAgIHZvaWQgaW5jcmVtZW50Q2hlY2tlZFB0ckNvdW50
KCkgY29uc3QgZmluYWw7CisgICAgdm9pZCBkZWNyZW1lbnRDaGVja2VkUHRyQ291bnQoKSBjb25z
dCBmaW5hbDsKIAogICAgIFdlYWtQdHI8VmlkZW9QcmVzZW50YXRpb25JbnRlcmZhY2VJT1M+IG1f
dmlkZW9QcmVzZW50YXRpb25JbnRlcmZhY2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy9QbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VJT1MubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3MvUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlSU9TLm1tCmluZGV4IDM4
YzJhOWI2MjE3Ny4uODc4NWQ4YzJiNGFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pb3MvUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2lvcy9QbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VJT1MubW0KQEAgLTEzNiw2
ICsxMzYsMjcgQEAgV1RGTG9nQ2hhbm5lbCYgUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlSU9TOjps
b2dDaGFubmVsKCkgY29uc3QKIHsKICAgICByZXR1cm4gTG9nTWVkaWE7CiB9CisKK3VpbnQzMl90
IFBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUlPUzo6Y2hlY2tlZFB0ckNvdW50KCkgY29uc3QKK3sK
KyAgICByZXR1cm4gQ2FuTWFrZUNoZWNrZWRQdHI6OmNoZWNrZWRQdHJDb3VudCgpOworfQorCit1
aW50MzJfdCBQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VJT1M6OmNoZWNrZWRQdHJDb3VudFdpdGhv
dXRUaHJlYWRDaGVjaygpIGNvbnN0Cit7CisgICAgcmV0dXJuIENhbk1ha2VDaGVja2VkUHRyOjpj
aGVja2VkUHRyQ291bnRXaXRob3V0VGhyZWFkQ2hlY2soKTsKK30KKwordm9pZCBQbGF5YmFja1Nl
c3Npb25JbnRlcmZhY2VJT1M6OmluY3JlbWVudENoZWNrZWRQdHJDb3VudCgpIGNvbnN0Cit7Cisg
ICAgQ2FuTWFrZUNoZWNrZWRQdHI6OmluY3JlbWVudENoZWNrZWRQdHJDb3VudCgpOworfQorCit2
b2lkIFBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUlPUzo6ZGVjcmVtZW50Q2hlY2tlZFB0ckNvdW50
KCkgY29uc3QKK3sKKyAgICBDYW5NYWtlQ2hlY2tlZFB0cjo6ZGVjcmVtZW50Q2hlY2tlZFB0ckNv
dW50KCk7Cit9CisKICNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmlkZW9QcmVzZW50YXRpb25JbnRlcmZhY2VJ
T1MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9WaWRlb1ByZXNlbnRhdGlvbkludGVy
ZmFjZUlPUy5oCmluZGV4IGQzNWJkMDNjY2Y2MC4uZmY1ZTdmMGFhNDIxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmlkZW9QcmVzZW50YXRpb25JbnRlcmZhY2VJT1Mu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmlkZW9QcmVzZW50YXRpb25JbnRl
cmZhY2VJT1MuaApAQCAtODEsNyArODEsNiBAQCBwdWJsaWM6CiAgICAgdWludDMyX3QgY2hlY2tl
ZFB0ckNvdW50V2l0aG91dFRocmVhZENoZWNrKCkgY29uc3QgZmluYWwgeyByZXR1cm4gQ2FuTWFr
ZUNoZWNrZWRQdHI6OmNoZWNrZWRQdHJDb3VudFdpdGhvdXRUaHJlYWRDaGVjaygpOyB9CiAgICAg
dm9pZCBpbmNyZW1lbnRDaGVja2VkUHRyQ291bnQoKSBjb25zdCBmaW5hbCB7IENhbk1ha2VDaGVj
a2VkUHRyOjppbmNyZW1lbnRDaGVja2VkUHRyQ291bnQoKTsgfQogICAgIHZvaWQgZGVjcmVtZW50
Q2hlY2tlZFB0ckNvdW50KCkgY29uc3QgZmluYWwgeyBDYW5NYWtlQ2hlY2tlZFB0cjo6ZGVjcmVt
ZW50Q2hlY2tlZFB0ckNvdW50KCk7IH0KLSAgICB2b2lkIHNldERpZEJlZ2luQ2hlY2tlZFB0ckRl
bGV0aW9uKCkgZmluYWwgeyBDYW5NYWtlQ2hlY2tlZFB0cjo6c2V0RGlkQmVnaW5DaGVja2VkUHRy
RGVsZXRpb24oKTsgfQogCiAgICAgLy8gVmlkZW9QcmVzZW50YXRpb25Nb2RlbENsaWVudAogICAg
IHZvaWQgaGFzVmlkZW9DaGFuZ2VkKGJvb2wpIG92ZXJyaWRlIHsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJBVktp
dC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250
cm9sbGVyQVZLaXQubW0KaW5kZXggOGZmMTAyOTQzNDcwLi4zYzY5ODE0Y2I3M2EgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9s
bGVyQVZLaXQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVs
bHNjcmVlbkNvbnRyb2xsZXJBVktpdC5tbQpAQCAtMTMwLDcgKzEzMCw2IEBAIHByaXZhdGU6CiAg
ICAgdWludDMyX3QgY2hlY2tlZFB0ckNvdW50V2l0aG91dFRocmVhZENoZWNrKCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gQ2FuTWFrZUNoZWNrZWRQdHI6OmNoZWNrZWRQdHJDb3VudFdpdGhvdXRUaHJl
YWRDaGVjaygpOyB9CiAgICAgdm9pZCBpbmNyZW1lbnRDaGVja2VkUHRyQ291bnQoKSBjb25zdCBm
aW5hbCB7IENhbk1ha2VDaGVja2VkUHRyOjppbmNyZW1lbnRDaGVja2VkUHRyQ291bnQoKTsgfQog
ICAgIHZvaWQgZGVjcmVtZW50Q2hlY2tlZFB0ckNvdW50KCkgY29uc3QgZmluYWwgeyBDYW5NYWtl
Q2hlY2tlZFB0cjo6ZGVjcmVtZW50Q2hlY2tlZFB0ckNvdW50KCk7IH0KLSAgICB2b2lkIHNldERp
ZEJlZ2luQ2hlY2tlZFB0ckRlbGV0aW9uKCkgZmluYWwgeyBDYW5NYWtlQ2hlY2tlZFB0cjo6c2V0
RGlkQmVnaW5DaGVja2VkUHRyRGVsZXRpb24oKTsgfQogCiAgICAgLy8gVmlkZW9QcmVzZW50YXRp
b25Nb2RlbENsaWVudAogICAgIHZvaWQgaGFzVmlkZW9DaGFuZ2VkKGJvb2wpIG92ZXJyaWRlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXliYWNrU2Vzc2lvbklu
dGVyZmFjZU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXliYWNrU2Vzc2lv
bkludGVyZmFjZU1hYy5oCmluZGV4IGEwM2I1MWMwOGYzYS4uY2JkZjgzNjg1MmMwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNl
TWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXliYWNrU2Vzc2lvbklu
dGVyZmFjZU1hYy5oCkBAIC0xMDAsMTEgKzEwMCwxMCBAQCBwcml2YXRlOgogICAgIFBsYXliYWNr
U2Vzc2lvbkludGVyZmFjZU1hYyhQbGF5YmFja1Nlc3Npb25Nb2RlbCYpOwogCiAgICAgLy8gQ2hl
Y2tlZFB0ciBpbnRlcmZhY2UKLSAgICB1aW50MzJfdCBjaGVja2VkUHRyQ291bnQoKSBjb25zdCBm
aW5hbCB7IHJldHVybiBDYW5NYWtlQ2hlY2tlZFB0cjo6Y2hlY2tlZFB0ckNvdW50KCk7IH0KLSAg
ICB1aW50MzJfdCBjaGVja2VkUHRyQ291bnRXaXRob3V0VGhyZWFkQ2hlY2soKSBjb25zdCBmaW5h
bCB7IHJldHVybiBDYW5NYWtlQ2hlY2tlZFB0cjo6Y2hlY2tlZFB0ckNvdW50V2l0aG91dFRocmVh
ZENoZWNrKCk7IH0KLSAgICB2b2lkIGluY3JlbWVudENoZWNrZWRQdHJDb3VudCgpIGNvbnN0IGZp
bmFsIHsgQ2FuTWFrZUNoZWNrZWRQdHI6OmluY3JlbWVudENoZWNrZWRQdHJDb3VudCgpOyB9Ci0g
ICAgdm9pZCBkZWNyZW1lbnRDaGVja2VkUHRyQ291bnQoKSBjb25zdCBmaW5hbCB7IENhbk1ha2VD
aGVja2VkUHRyOjpkZWNyZW1lbnRDaGVja2VkUHRyQ291bnQoKTsgfQotICAgIHZvaWQgc2V0RGlk
QmVnaW5DaGVja2VkUHRyRGVsZXRpb24oKSBmaW5hbCB7IENhbk1ha2VDaGVja2VkUHRyOjpzZXRE
aWRCZWdpbkNoZWNrZWRQdHJEZWxldGlvbigpOyB9CisgICAgdWludDMyX3QgY2hlY2tlZFB0ckNv
dW50KCkgY29uc3QgZmluYWw7CisgICAgdWludDMyX3QgY2hlY2tlZFB0ckNvdW50V2l0aG91dFRo
cmVhZENoZWNrKCkgY29uc3QgZmluYWw7CisgICAgdm9pZCBpbmNyZW1lbnRDaGVja2VkUHRyQ291
bnQoKSBjb25zdCBmaW5hbDsKKyAgICB2b2lkIGRlY3JlbWVudENoZWNrZWRQdHJDb3VudCgpIGNv
bnN0IGZpbmFsOwogCiAgICAgV2Vha1B0cjxQbGF5YmFja1Nlc3Npb25Nb2RlbD4gbV9wbGF5YmFj
a1Nlc3Npb25Nb2RlbDsKICNpZiBFTkFCTEUoV0VCX1BMQVlCQUNLX0NPTlRST0xTX01BTkFHRVIp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxheWJhY2tTZXNzaW9u
SW50ZXJmYWNlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXliYWNrU2Vz
c2lvbkludGVyZmFjZU1hYy5tbQppbmRleCBmYmJkMTNhZjQ3YWUuLjk5ODI1ZTIwN2Y3ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXliYWNrU2Vzc2lvbkludGVy
ZmFjZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxheWJhY2tTZXNz
aW9uSW50ZXJmYWNlTWFjLm1tCkBAIC0yOTksNiArMjk5LDI2IEBAIHZvaWQgUGxheWJhY2tTZXNz
aW9uSW50ZXJmYWNlTWFjOjp1cGRhdGVQbGF5YmFja0NvbnRyb2xzTWFuYWdlclRpbWluZyhkb3Vi
bGUgY3VyCiAgICAgbWFuYWdlci5nZXQoKS50aW1pbmcgPSBbZ2V0QVZWYWx1ZVRpbWluZ0NsYXNz
U2luZ2xldG9uKCkgdmFsdWVUaW1pbmdXaXRoQW5jaG9yVmFsdWU6Y3VycmVudFRpbWUgYW5jaG9y
VGltZVN0YW1wOmVmZmVjdGl2ZUFuY2hvclRpbWUgcmF0ZTplZmZlY3RpdmVQbGF5YmFja1JhdGVd
OwogfQogCit1aW50MzJfdCBQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWM6OmNoZWNrZWRQdHJD
b3VudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIENhbk1ha2VDaGVja2VkUHRyOjpjaGVja2VkUHRy
Q291bnQoKTsKK30KKwordWludDMyX3QgUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjOjpjaGVj
a2VkUHRyQ291bnRXaXRob3V0VGhyZWFkQ2hlY2soKSBjb25zdAoreworICAgIHJldHVybiBDYW5N
YWtlQ2hlY2tlZFB0cjo6Y2hlY2tlZFB0ckNvdW50V2l0aG91dFRocmVhZENoZWNrKCk7Cit9CisK
K3ZvaWQgUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjOjppbmNyZW1lbnRDaGVja2VkUHRyQ291
bnQoKSBjb25zdAoreworICAgIENhbk1ha2VDaGVja2VkUHRyOjppbmNyZW1lbnRDaGVja2VkUHRy
Q291bnQoKTsKK30KKwordm9pZCBQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWM6OmRlY3JlbWVu
dENoZWNrZWRQdHJDb3VudCgpIGNvbnN0Cit7CisgICAgQ2FuTWFrZUNoZWNrZWRQdHI6OmRlY3Jl
bWVudENoZWNrZWRQdHJDb3VudCgpOworfQorCiBSZXRhaW5QdHI8V2ViUGxheWJhY2tDb250cm9s
c01hbmFnZXI+IFBsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYzo6cHJvdGVjdGVkUGxheUJhY2tD
b250cm9sc01hbmFnZXIoKQogewogICAgIHJldHVybiBwbGF5QmFja0NvbnRyb2xzTWFuYWdlcigp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1ZpZGVvUHJlc2VudGF0
aW9uSW50ZXJmYWNlTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvVmlkZW9QcmVz
ZW50YXRpb25JbnRlcmZhY2VNYWMuaAppbmRleCBmOTU2Mjg5NzkxODkuLjM3ZDI1ZTc2MzNhZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1ZpZGVvUHJlc2VudGF0aW9u
SW50ZXJmYWNlTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1ZpZGVvUHJl
c2VudGF0aW9uSW50ZXJmYWNlTWFjLmgKQEAgLTEzNSw4ICsxMzUsNiBAQCBwdWJsaWM6CiAgICAg
dWludDMyX3QgY2hlY2tlZFB0ckNvdW50V2l0aG91dFRocmVhZENoZWNrKCkgY29uc3QgZmluYWwg
eyByZXR1cm4gQ2FuTWFrZUNoZWNrZWRQdHI6OmNoZWNrZWRQdHJDb3VudFdpdGhvdXRUaHJlYWRD
aGVjaygpOyB9CiAgICAgdm9pZCBpbmNyZW1lbnRDaGVja2VkUHRyQ291bnQoKSBjb25zdCBmaW5h
bCB7IENhbk1ha2VDaGVja2VkUHRyOjppbmNyZW1lbnRDaGVja2VkUHRyQ291bnQoKTsgfQogICAg
IHZvaWQgZGVjcmVtZW50Q2hlY2tlZFB0ckNvdW50KCkgY29uc3QgZmluYWwgeyBDYW5NYWtlQ2hl
Y2tlZFB0cjo6ZGVjcmVtZW50Q2hlY2tlZFB0ckNvdW50KCk7IH0KLSAgICB2b2lkIHNldERpZEJl
Z2luQ2hlY2tlZFB0ckRlbGV0aW9uKCkgZmluYWwgeyBDYW5NYWtlQ2hlY2tlZFB0cjo6c2V0RGlk
QmVnaW5DaGVja2VkUHRyRGVsZXRpb24oKTsgfQotCiAgICAgdm9pZCBzZXREb2N1bWVudEJlY2Ft
ZVZpc2libGVDYWxsYmFjayhGdW5jdGlvbjx2b2lkKCk+JiYgY2FsbGJhY2spIHsgbV9kb2N1bWVu
dEJlY2FtZVZpc2libGVDYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spOyB9CiAKIHByaXZhdGU6
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlh
UmVjb3JkZXJQcml2YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVy
L01lZGlhUmVjb3JkZXJQcml2YXRlLmgKaW5kZXggY2NhOTYyZjcwZTM0Li42YTRjYjgwNjliZmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFS
ZWNvcmRlclByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29y
ZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlLmgKQEAgLTYzLDcgKzYzLDYgQEAgcHVibGljOgogICAg
IHVpbnQzMl90IGNoZWNrZWRQdHJDb3VudFdpdGhvdXRUaHJlYWRDaGVjaygpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIENhbk1ha2VDaGVja2VkUHRyOjpjaGVja2VkUHRyQ291bnRXaXRob3V0VGhyZWFk
Q2hlY2soKTsgfQogICAgIHZvaWQgaW5jcmVtZW50Q2hlY2tlZFB0ckNvdW50KCkgY29uc3QgZmlu
YWwgeyBDYW5NYWtlQ2hlY2tlZFB0cjo6aW5jcmVtZW50Q2hlY2tlZFB0ckNvdW50KCk7IH0KICAg
ICB2b2lkIGRlY3JlbWVudENoZWNrZWRQdHJDb3VudCgpIGNvbnN0IGZpbmFsIHsgQ2FuTWFrZUNo
ZWNrZWRQdHI6OmRlY3JlbWVudENoZWNrZWRQdHJDb3VudCgpOyB9Ci0gICAgdm9pZCBzZXREaWRC
ZWdpbkNoZWNrZWRQdHJEZWxldGlvbigpIGZpbmFsIHsgQ2FuTWFrZUNoZWNrZWRQdHI6OnNldERp
ZEJlZ2luQ2hlY2tlZFB0ckRlbGV0aW9uKCk7IH0KIAogICAgIHN0cnVjdCBBdWRpb1ZpZGVvU2Vs
ZWN0ZWRUcmFja3MgewogICAgICAgICBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSogYXVkaW9UcmFj
ayB7IG51bGxwdHIgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL0F1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW0uaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL0F1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW0uaAppbmRleCAx
NTdkNjk5NGM5YmYuLjRjYTNjN2FmZTUzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vQXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL0F1ZGlvVHJhY2tQcml2YXRlTWVkaWFT
dHJlYW0uaApAQCAtODUsNyArODUsNiBAQCBwcml2YXRlOgogICAgIHVpbnQzMl90IGNoZWNrZWRQ
dHJDb3VudFdpdGhvdXRUaHJlYWRDaGVjaygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIENhbk1ha2VD
aGVja2VkUHRyOjpjaGVja2VkUHRyQ291bnRXaXRob3V0VGhyZWFkQ2hlY2soKTsgfQogICAgIHZv
aWQgaW5jcmVtZW50Q2hlY2tlZFB0ckNvdW50KCkgY29uc3QgZmluYWwgeyBDYW5NYWtlQ2hlY2tl
ZFB0cjo6aW5jcmVtZW50Q2hlY2tlZFB0ckNvdW50KCk7IH0KICAgICB2b2lkIGRlY3JlbWVudENo
ZWNrZWRQdHJDb3VudCgpIGNvbnN0IGZpbmFsIHsgQ2FuTWFrZUNoZWNrZWRQdHI6OmRlY3JlbWVu
dENoZWNrZWRQdHJDb3VudCgpOyB9Ci0gICAgdm9pZCBzZXREaWRCZWdpbkNoZWNrZWRQdHJEZWxl
dGlvbigpIGZpbmFsIHsgQ2FuTWFrZUNoZWNrZWRQdHI6OnNldERpZEJlZ2luQ2hlY2tlZFB0ckRl
bGV0aW9uKCk7IH0KIAogICAgIHN0YXRpYyBSZWZQdHI8QXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVu
ZGVyZXI+IGNyZWF0ZVJlbmRlcmVyKEF1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW0mKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJl
YW1UcmFja0RhdGFIb2xkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vTWVkaWFTdHJlYW1UcmFja0RhdGFIb2xkZXIuY3BwCmluZGV4IDJjOGM5YTk0ZDZkZi4uYmUw
MTg1M2I0Y2Y3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9NZWRpYVN0cmVhbVRyYWNrRGF0YUhvbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFja0RhdGFIb2xkZXIuY3BwCkBAIC03MCw3
ICs3MCw2IEBAIHByaXZhdGU6CiAgICAgICAgIHVpbnQzMl90IGNoZWNrZWRQdHJDb3VudFdpdGhv
dXRUaHJlYWRDaGVjaygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIENhbk1ha2VDaGVja2VkUHRyOjpj
aGVja2VkUHRyQ291bnRXaXRob3V0VGhyZWFkQ2hlY2soKTsgfQogICAgICAgICB2b2lkIGluY3Jl
bWVudENoZWNrZWRQdHJDb3VudCgpIGNvbnN0IGZpbmFsIHsgQ2FuTWFrZUNoZWNrZWRQdHI6Omlu
Y3JlbWVudENoZWNrZWRQdHJDb3VudCgpOyB9CiAgICAgICAgIHZvaWQgZGVjcmVtZW50Q2hlY2tl
ZFB0ckNvdW50KCkgY29uc3QgZmluYWwgeyBDYW5NYWtlQ2hlY2tlZFB0cjo6ZGVjcmVtZW50Q2hl
Y2tlZFB0ckNvdW50KCk7IH0KLSAgICAgICAgdm9pZCBzZXREaWRCZWdpbkNoZWNrZWRQdHJEZWxl
dGlvbigpIGZpbmFsIHsgQ2FuTWFrZUNoZWNrZWRQdHI6OnNldERpZEJlZ2luQ2hlY2tlZFB0ckRl
bGV0aW9uKCk7IH0KIAogICAgIHByaXZhdGU6CiAgICAgICAgIGJvb2wgcHJldmVudFNvdXJjZUZy
b21FbmRpbmcoKSBmaW5hbCB7IHJldHVybiB0cnVlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrUHJpdmF0
ZS5jcHAKaW5kZXggNGE0MDcyYzcwMDZiLi44MmNmY2JmZDkwNGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2tQcml2YXRlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRy
YWNrUHJpdmF0ZS5jcHAKQEAgLTg3LDcgKzg3LDYgQEAgcHVibGljOgogICAgIHVpbnQzMl90IGNo
ZWNrZWRQdHJDb3VudFdpdGhvdXRUaHJlYWRDaGVjaygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIENh
bk1ha2VDaGVja2VkUHRyOjpjaGVja2VkUHRyQ291bnRXaXRob3V0VGhyZWFkQ2hlY2soKTsgfQog
ICAgIHZvaWQgaW5jcmVtZW50Q2hlY2tlZFB0ckNvdW50KCkgY29uc3QgZmluYWwgeyBDYW5NYWtl
Q2hlY2tlZFB0cjo6aW5jcmVtZW50Q2hlY2tlZFB0ckNvdW50KCk7IH0KICAgICB2b2lkIGRlY3Jl
bWVudENoZWNrZWRQdHJDb3VudCgpIGNvbnN0IGZpbmFsIHsgQ2FuTWFrZUNoZWNrZWRQdHI6OmRl
Y3JlbWVudENoZWNrZWRQdHJDb3VudCgpOyB9Ci0gICAgdm9pZCBzZXREaWRCZWdpbkNoZWNrZWRQ
dHJEZWxldGlvbigpIGZpbmFsIHsgQ2FuTWFrZUNoZWNrZWRQdHI6OnNldERpZEJlZ2luQ2hlY2tl
ZFB0ckRlbGV0aW9uKCk7IH0KIAogICAgIHN0ZDo6ZnVuY3Rpb248dm9pZChGdW5jdGlvbjx2b2lk
KCk+JiYpPiBnZXRQb3N0VGFzaygpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0dTdHJlYW1lck1lZGlhU3RyZWFtU291cmNl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9HU3Ry
ZWFtZXJNZWRpYVN0cmVhbVNvdXJjZS5jcHAKaW5kZXggODllYmNmMDUwY2NjLi4yNGZhODA3YzMy
N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJl
YW1lci9HU3RyZWFtZXJNZWRpYVN0cmVhbVNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0dTdHJlYW1lck1lZGlhU3RyZWFtU291cmNl
LmNwcApAQCAtNjU5LDcgKzY1OSw2IEBAIHByaXZhdGU6CiAgICAgdWludDMyX3QgY2hlY2tlZFB0
ckNvdW50V2l0aG91dFRocmVhZENoZWNrKCkgY29uc3QgZmluYWwgeyByZXR1cm4gQ2FuTWFrZUNo
ZWNrZWRQdHI6OmNoZWNrZWRQdHJDb3VudFdpdGhvdXRUaHJlYWRDaGVjaygpOyB9CiAgICAgdm9p
ZCBpbmNyZW1lbnRDaGVja2VkUHRyQ291bnQoKSBjb25zdCBmaW5hbCB7IENhbk1ha2VDaGVja2Vk
UHRyOjppbmNyZW1lbnRDaGVja2VkUHRyQ291bnQoKTsgfQogICAgIHZvaWQgZGVjcmVtZW50Q2hl
Y2tlZFB0ckNvdW50KCkgY29uc3QgZmluYWwgeyBDYW5NYWtlQ2hlY2tlZFB0cjo6ZGVjcmVtZW50
Q2hlY2tlZFB0ckNvdW50KCk7IH0KLSAgICB2b2lkIHNldERpZEJlZ2luQ2hlY2tlZFB0ckRlbGV0
aW9uKCkgZmluYWwgeyBDYW5NYWtlQ2hlY2tlZFB0cjo6c2V0RGlkQmVnaW5DaGVja2VkUHRyRGVs
ZXRpb24oKTsgfQogCiAgICAgdm9pZCBmbHVzaCgpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJlYW1lci9SZWFsdGlt
ZU91dGdvaW5nQXVkaW9Tb3VyY2VMaWJXZWJSVEMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9nc3RyZWFtZXIvUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291
cmNlTGliV2ViUlRDLmgKaW5kZXggMGE4ZDg4ZGMwZjI1Li45NWQwZTM0MTI4MzEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9nc3RyZWFt
ZXIvUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlTGliV2ViUlRDLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJlYW1lci9SZWFsdGltZU91
dGdvaW5nQXVkaW9Tb3VyY2VMaWJXZWJSVEMuaApAQCAtNTAsNyArNTAsNiBAQCBwcml2YXRlOgog
ICAgIHVpbnQzMl90IGNoZWNrZWRQdHJDb3VudFdpdGhvdXRUaHJlYWRDaGVjaygpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIENhbk1ha2VDaGVja2VkUHRyOjpjaGVja2VkUHRyQ291bnRXaXRob3V0VGhy
ZWFkQ2hlY2soKTsgfQogICAgIHZvaWQgaW5jcmVtZW50Q2hlY2tlZFB0ckNvdW50KCkgY29uc3Qg
ZmluYWwgeyBDYW5NYWtlQ2hlY2tlZFB0cjo6aW5jcmVtZW50Q2hlY2tlZFB0ckNvdW50KCk7IH0K
ICAgICB2b2lkIGRlY3JlbWVudENoZWNrZWRQdHJDb3VudCgpIGNvbnN0IGZpbmFsIHsgQ2FuTWFr
ZUNoZWNrZWRQdHI6OmRlY3JlbWVudENoZWNrZWRQdHJDb3VudCgpOyB9Ci0gICAgdm9pZCBzZXRE
aWRCZWdpbkNoZWNrZWRQdHJEZWxldGlvbigpIGZpbmFsIHsgQ2FuTWFrZUNoZWNrZWRQdHI6OnNl
dERpZEJlZ2luQ2hlY2tlZFB0ckRlbGV0aW9uKCk7IH0KIAogICAgIHZvaWQgYXVkaW9TYW1wbGVz
QXZhaWxhYmxlKGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IFBsYXRmb3JtQXVkaW9EYXRhJiwgY29u
c3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYsIHNpemVfdCkgZmluYWw7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9NZWRpYVN0cmVhbVRyYWNr
QXVkaW9Tb3VyY2VQcm92aWRlckNvY29hLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9tYWMvTWVkaWFTdHJlYW1UcmFja0F1ZGlvU291cmNlUHJvdmlkZXJDb2NvYS5oCmlu
ZGV4IDkwZjQ5YzI3Y2QyNy4uNzgyZWY0NzViNDRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvTWVkaWFTdHJlYW1UcmFja0F1ZGlvU291cmNlUHJv
dmlkZXJDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21h
Yy9NZWRpYVN0cmVhbVRyYWNrQXVkaW9Tb3VyY2VQcm92aWRlckNvY29hLmgKQEAgLTU4LDcgKzU4
LDYgQEAgcHJpdmF0ZToKICAgICB1aW50MzJfdCBjaGVja2VkUHRyQ291bnRXaXRob3V0VGhyZWFk
Q2hlY2soKSBjb25zdCBmaW5hbCB7IHJldHVybiBDYW5NYWtlQ2hlY2tlZFB0cjo6Y2hlY2tlZFB0
ckNvdW50V2l0aG91dFRocmVhZENoZWNrKCk7IH0KICAgICB2b2lkIGluY3JlbWVudENoZWNrZWRQ
dHJDb3VudCgpIGNvbnN0IGZpbmFsIHsgQ2FuTWFrZUNoZWNrZWRQdHI6OmluY3JlbWVudENoZWNr
ZWRQdHJDb3VudCgpOyB9CiAgICAgdm9pZCBkZWNyZW1lbnRDaGVja2VkUHRyQ291bnQoKSBjb25z
dCBmaW5hbCB7IENhbk1ha2VDaGVja2VkUHRyOjpkZWNyZW1lbnRDaGVja2VkUHRyQ291bnQoKTsg
fQotICAgIHZvaWQgc2V0RGlkQmVnaW5DaGVja2VkUHRyRGVsZXRpb24oKSBmaW5hbCB7IENhbk1h
a2VDaGVja2VkUHRyOjpzZXREaWRCZWdpbkNoZWNrZWRQdHJEZWxldGlvbigpOyB9CiAKICAgICAv
LyBXZWJBdWRpb1NvdXJjZVByb3ZpZGVyQ29jb2EKICAgICB2b2lkIGhhc05ld0NsaWVudChBdWRp
b1NvdXJjZVByb3ZpZGVyQ2xpZW50KikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlQ29j
b2EuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91
dGdvaW5nQXVkaW9Tb3VyY2VDb2NvYS5oCmluZGV4IDIxNWVlMzBlMzZjMi4uMTJmMzVjMzMwZjM4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVh
bHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlQ29jb2EuaApA
QCAtNTQsNyArNTQsNiBAQCBwcml2YXRlOgogICAgIHVpbnQzMl90IGNoZWNrZWRQdHJDb3VudFdp
dGhvdXRUaHJlYWRDaGVjaygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIENhbk1ha2VDaGVja2VkUHRy
OjpjaGVja2VkUHRyQ291bnRXaXRob3V0VGhyZWFkQ2hlY2soKTsgfQogICAgIHZvaWQgaW5jcmVt
ZW50Q2hlY2tlZFB0ckNvdW50KCkgY29uc3QgZmluYWwgeyBDYW5NYWtlQ2hlY2tlZFB0cjo6aW5j
cmVtZW50Q2hlY2tlZFB0ckNvdW50KCk7IH0KICAgICB2b2lkIGRlY3JlbWVudENoZWNrZWRQdHJD
b3VudCgpIGNvbnN0IGZpbmFsIHsgQ2FuTWFrZUNoZWNrZWRQdHI6OmRlY3JlbWVudENoZWNrZWRQ
dHJDb3VudCgpOyB9Ci0gICAgdm9pZCBzZXREaWRCZWdpbkNoZWNrZWRQdHJEZWxldGlvbigpIGZp
bmFsIHsgQ2FuTWFrZUNoZWNrZWRQdHI6OnNldERpZEJlZ2luQ2hlY2tlZFB0ckRlbGV0aW9uKCk7
IH0KIAogICAgIHZvaWQgYXVkaW9TYW1wbGVzQXZhaWxhYmxlKGNvbnN0IE1lZGlhVGltZSYsIGNv
bnN0IFBsYXRmb3JtQXVkaW9EYXRhJiwgY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYsIHNp
emVfdCkgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL21hYy9TY3JlZW5DYXB0dXJlS2l0Q2FwdHVyZVNvdXJjZS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1NjcmVlbkNhcHR1cmVLaXRDYXB0dXJlU291cmNl
LmgKaW5kZXggYjRmODY0YjYwMTEzLi5kMDAyM2MzZDQ3YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9TY3JlZW5DYXB0dXJlS2l0Q2FwdHVyZVNv
dXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9TY3Jl
ZW5DYXB0dXJlS2l0Q2FwdHVyZVNvdXJjZS5oCkBAIC03OCwxMCArNzgsOSBAQCBwdWJsaWM6CiAK
ICAgICAvLyBTY3JlZW5DYXB0dXJlU2Vzc2lvblNvdXJjZU9ic2VydmVyLgogICAgIHVpbnQzMl90
IGNoZWNrZWRQdHJDb3VudCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIENhbk1ha2VDaGVja2VkUHRy
OjpjaGVja2VkUHRyQ291bnQoKTsgfQotICAgIHVpbnQzMl90IGNoZWNrZWRQdHJDb3VudFdpdGhv
dXRUaHJlYWRDaGVjaygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIENhbk1ha2VDaGVja2VkUHRyOjpj
aGVja2VkUHRyQ291bnRXaXRob3V0VGhyZWFkQ2hlY2soKTsgfQotICAgIHZvaWQgaW5jcmVtZW50
Q2hlY2tlZFB0ckNvdW50KCkgY29uc3QgZmluYWwgeyBDYW5NYWtlQ2hlY2tlZFB0cjo6aW5jcmVt
ZW50Q2hlY2tlZFB0ckNvdW50KCk7IH0KLSAgICB2b2lkIGRlY3JlbWVudENoZWNrZWRQdHJDb3Vu
dCgpIGNvbnN0IGZpbmFsIHsgQ2FuTWFrZUNoZWNrZWRQdHI6OmRlY3JlbWVudENoZWNrZWRQdHJD
b3VudCgpOyB9Ci0gICAgdm9pZCBzZXREaWRCZWdpbkNoZWNrZWRQdHJEZWxldGlvbigpIGZpbmFs
IHsgQ2FuTWFrZUNoZWNrZWRQdHI6OnNldERpZEJlZ2luQ2hlY2tlZFB0ckRlbGV0aW9uKCk7IH0K
KyAgICB1aW50MzJfdCBjaGVja2VkUHRyQ291bnRXaXRob3V0VGhyZWFkQ2hlY2soKSBjb25zdCB7
IHJldHVybiBDYW5NYWtlQ2hlY2tlZFB0cjo6Y2hlY2tlZFB0ckNvdW50V2l0aG91dFRocmVhZENo
ZWNrKCk7IH0KKyAgICB2b2lkIGluY3JlbWVudENoZWNrZWRQdHJDb3VudCgpIGNvbnN0IHsgQ2Fu
TWFrZUNoZWNrZWRQdHI6OmluY3JlbWVudENoZWNrZWRQdHJDb3VudCgpOyB9CisgICAgdm9pZCBk
ZWNyZW1lbnRDaGVja2VkUHRyQ291bnQoKSBjb25zdCB7IENhbk1ha2VDaGVja2VkUHRyOjpkZWNy
ZW1lbnRDaGVja2VkUHRyQ291bnQoKTsgfQogCiBwcml2YXRlOgogICAgIC8vIERpc3BsYXlDYXB0
dXJlU291cmNlQ29jb2E6OkNhcHR1cmVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvY3VybC9DdXJsUmVxdWVzdC5oCmluZGV4IDk4NjM2NzkwYTIwNC4uM2JmYWYyZmRl
Y2UzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3Vy
bFJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3Vy
bFJlcXVlc3QuaApAQCAtODksNyArODksNiBAQCBwcml2YXRlOgogICAgIHVpbnQzMl90IGNoZWNr
ZWRQdHJDb3VudFdpdGhvdXRUaHJlYWRDaGVjaygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIENhbk1h
a2VUaHJlYWRTYWZlQ2hlY2tlZFB0cjo6Y2hlY2tlZFB0ckNvdW50V2l0aG91dFRocmVhZENoZWNr
KCk7IH0KICAgICB2b2lkIGluY3JlbWVudENoZWNrZWRQdHJDb3VudCgpIGNvbnN0IGZpbmFsIHsg
Q2FuTWFrZVRocmVhZFNhZmVDaGVja2VkUHRyOjppbmNyZW1lbnRDaGVja2VkUHRyQ291bnQoKTsg
fQogICAgIHZvaWQgZGVjcmVtZW50Q2hlY2tlZFB0ckNvdW50KCkgY29uc3QgZmluYWwgeyBDYW5N
YWtlVGhyZWFkU2FmZUNoZWNrZWRQdHI6OmRlY3JlbWVudENoZWNrZWRQdHJDb3VudCgpOyB9Ci0g
ICAgdm9pZCBzZXREaWRCZWdpbkNoZWNrZWRQdHJEZWxldGlvbigpIGZpbmFsIHsgQ2FuTWFrZVRo
cmVhZFNhZmVDaGVja2VkUHRyOjpzZXREaWRCZWdpbkNoZWNrZWRQdHJEZWxldGlvbigpOyB9CiAK
ICAgICB2b2lkIHJldGFpbigpIG92ZXJyaWRlIHsgcmVmKCk7IH0KICAgICB2b2lkIHJlbGVhc2Uo
KSBvdmVycmlkZSB7IGRlcmVmKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NR
TGl0ZURhdGFiYXNlLmgKaW5kZXggMDY3MzgwZTI1MDAzLi5lNzYzYmFhYjNiNTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5oCkBAIC00Nyw3ICs0Nyw3
IEBAIGNsYXNzIERhdGFiYXNlQXV0aG9yaXplcjsKIGNsYXNzIFNRTGl0ZVN0YXRlbWVudDsKIGNs
YXNzIFNRTGl0ZVRyYW5zYWN0aW9uOwogCi1jbGFzcyBTUUxpdGVEYXRhYmFzZSBmaW5hbCA6IHB1
YmxpYyBDYW5NYWtlVGhyZWFkU2FmZUNoZWNrZWRQdHI8U1FMaXRlRGF0YWJhc2UsIFdURjo6RGVm
YXVsdGVkT3BlcmF0b3JFcXVhbDo6Tm8sIFdURjo6Q2hlY2tlZFB0ckRlbGV0ZUNoZWNrRXhjZXB0
aW9uOjpZZXM+IHsKK2NsYXNzIFNRTGl0ZURhdGFiYXNlIGZpbmFsIDogcHVibGljIENhbk1ha2VU
aHJlYWRTYWZlQ2hlY2tlZFB0cjxTUUxpdGVEYXRhYmFzZT4gewogICAgIFdURl9NQUtFX1RaT05F
X0FMTE9DQVRFRF9FWFBPUlQoU1FMaXRlRGF0YWJhc2UsIFdFQkNPUkVfRVhQT1JUKTsKICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShTUUxpdGVEYXRhYmFzZSk7CiAgICAgV1RGX09WRVJSSURFX0RF
TEVURV9GT1JfQ0hFQ0tFRF9QVFIoU1FMaXRlRGF0YWJhc2UpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL01hcmtlZFRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9NYXJrZWRUZXh0LmgKaW5kZXggNTA4M2FmZTlmMGEzLi4yZmFlNzUyZGVhMzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9NYXJrZWRUZXh0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL01hcmtlZFRleHQuaApAQCAtMzksNyArMzksNyBAQCBjbGFzcyBSZW5k
ZXJlZERvY3VtZW50TWFya2VyOwogc3RydWN0IFRleHRCb3hTZWxlY3RhYmxlUmFuZ2U7CiBlbnVt
IGNsYXNzIERvY3VtZW50TWFya2VyVHlwZSA6IHVpbnQzMl90OwogCi1zdHJ1Y3QgTWFya2VkVGV4
dCA6IHB1YmxpYyBDYW5NYWtlQ2hlY2tlZFB0cjxNYXJrZWRUZXh0LCBXVEY6OkRlZmF1bHRlZE9w
ZXJhdG9yRXF1YWw6OlllcywgV1RGOjpDaGVja2VkUHRyRGVsZXRlQ2hlY2tFeGNlcHRpb246Olll
cz4geworc3RydWN0IE1hcmtlZFRleHQgOiBwdWJsaWMgQ2FuTWFrZUNoZWNrZWRQdHI8TWFya2Vk
VGV4dCwgV1RGOjpEZWZhdWx0ZWRPcGVyYXRvckVxdWFsOjpZZXM+IHsKICAgICBXVEZfREVQUkVD
QVRFRF9NQUtFX1NUUlVDVF9GQVNUX0FMTE9DQVRFRChNYXJrZWRUZXh0KTsKICAgICBXVEZfU1RS
VUNUX09WRVJSSURFX0RFTEVURV9GT1JfQ0hFQ0tFRF9QVFIoTWFya2VkVGV4dCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZWdpb25Db250ZXh0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVnaW9uQ29udGV4dC5oCmluZGV4IDYzNTU5MzBiZTQ0Yi4uOGIw
YjY1OWE0NzExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVnaW9uQ29u
dGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZWdpb25Db250ZXh0LmgKQEAg
LTM1LDcgKzM1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBQYXRoOwogCi1jbGFz
cyBSZWdpb25Db250ZXh0IDogcHVibGljIENhbk1ha2VDaGVja2VkUHRyPFJlZ2lvbkNvbnRleHQs
IFdURjo6RGVmYXVsdGVkT3BlcmF0b3JFcXVhbDo6Tm8sIFdURjo6Q2hlY2tlZFB0ckRlbGV0ZUNo
ZWNrRXhjZXB0aW9uOjpZZXM+IHsKK2NsYXNzIFJlZ2lvbkNvbnRleHQgOiBwdWJsaWMgQ2FuTWFr
ZUNoZWNrZWRQdHI8UmVnaW9uQ29udGV4dD4gewogICAgIFdURl9NQUtFX1RaT05FX0FMTE9DQVRF
RChSZWdpb25Db250ZXh0KTsKICAgICBXVEZfT1ZFUlJJREVfREVMRVRFX0ZPUl9DSEVDS0VEX1BU
UihSZWdpb25Db250ZXh0KTsKIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllclNjcm9sbGFibGVBcmVhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYS5oCmluZGV4IDM2ZDQzYTM1MzY1Yy4uOWRk
NWI3YmMxZDkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXJTY3JvbGxhYmxlQXJlYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllclNjcm9sbGFibGVBcmVhLmgKQEAgLTY1LDcgKzY1LDYgQEAgcHVibGljOgogICAgIHVpbnQz
Ml90IGNoZWNrZWRQdHJDb3VudFdpdGhvdXRUaHJlYWRDaGVjaygpIGNvbnN0IGZpbmFsIHsgcmV0
dXJuIENhbk1ha2VDaGVja2VkUHRyOjpjaGVja2VkUHRyQ291bnRXaXRob3V0VGhyZWFkQ2hlY2so
KTsgfQogICAgIHZvaWQgaW5jcmVtZW50Q2hlY2tlZFB0ckNvdW50KCkgY29uc3QgZmluYWwgeyBD
YW5NYWtlQ2hlY2tlZFB0cjo6aW5jcmVtZW50Q2hlY2tlZFB0ckNvdW50KCk7IH0KICAgICB2b2lk
IGRlY3JlbWVudENoZWNrZWRQdHJDb3VudCgpIGNvbnN0IGZpbmFsIHsgQ2FuTWFrZUNoZWNrZWRQ
dHI6OmRlY3JlbWVudENoZWNrZWRQdHJDb3VudCgpOyB9Ci0gICAgdm9pZCBzZXREaWRCZWdpbkNo
ZWNrZWRQdHJEZWxldGlvbigpIGZpbmFsIHsgQ2FuTWFrZUNoZWNrZWRQdHI6OnNldERpZEJlZ2lu
Q2hlY2tlZFB0ckRlbGV0aW9uKCk7IH0KIAogICAgIFJlbmRlckxheWVyJiBsYXllcigpIHsgcmV0
dXJuIG1fbGF5ZXI7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxpc3RCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmgK
aW5kZXggNWQyZDVhZTA1MTM2Li41NGEzOGIwZTA0NmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxpc3RCb3guaApAQCAtNTIsNyArNTIsNiBAQCBwdWJsaWM6CiAgICAgdWludDMy
X3QgY2hlY2tlZFB0ckNvdW50V2l0aG91dFRocmVhZENoZWNrKCkgY29uc3QgZmluYWwgeyByZXR1
cm4gQ2FuTWFrZUNoZWNrZWRQdHI6OmNoZWNrZWRQdHJDb3VudFdpdGhvdXRUaHJlYWRDaGVjaygp
OyB9CiAgICAgdm9pZCBpbmNyZW1lbnRDaGVja2VkUHRyQ291bnQoKSBjb25zdCBmaW5hbCB7IENh
bk1ha2VDaGVja2VkUHRyOjppbmNyZW1lbnRDaGVja2VkUHRyQ291bnQoKTsgfQogICAgIHZvaWQg
ZGVjcmVtZW50Q2hlY2tlZFB0ckNvdW50KCkgY29uc3QgZmluYWwgeyBDYW5NYWtlQ2hlY2tlZFB0
cjo6ZGVjcmVtZW50Q2hlY2tlZFB0ckNvdW50KCk7IH0KLSAgICB2b2lkIHNldERpZEJlZ2luQ2hl
Y2tlZFB0ckRlbGV0aW9uKCkgZmluYWwgeyBDYW5NYWtlQ2hlY2tlZFB0cjo6c2V0RGlkQmVnaW5D
aGVja2VkUHRyRGVsZXRpb24oKTsgfQogCiAgICAgSFRNTFNlbGVjdEVsZW1lbnQmIHNlbGVjdEVs
ZW1lbnQoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck1lbnVMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3Qu
aAppbmRleCBhOGFiMmI5NTE1NTAuLjU1MTdhYTY5MjUwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck1lbnVMaXN0LmgKQEAgLTUzLDcgKzUzLDYgQEAgcHVibGljOgogICAgIHVp
bnQzMl90IGNoZWNrZWRQdHJDb3VudFdpdGhvdXRUaHJlYWRDaGVjaygpIGNvbnN0IGZpbmFsIHsg
cmV0dXJuIFJlbmRlckZsZXhpYmxlQm94OjpjaGVja2VkUHRyQ291bnRXaXRob3V0VGhyZWFkQ2hl
Y2soKTsgfQogICAgIHZvaWQgaW5jcmVtZW50Q2hlY2tlZFB0ckNvdW50KCkgY29uc3QgZmluYWwg
eyBSZW5kZXJGbGV4aWJsZUJveDo6aW5jcmVtZW50Q2hlY2tlZFB0ckNvdW50KCk7IH0KICAgICB2
b2lkIGRlY3JlbWVudENoZWNrZWRQdHJDb3VudCgpIGNvbnN0IGZpbmFsIHsgUmVuZGVyRmxleGli
bGVCb3g6OmRlY3JlbWVudENoZWNrZWRQdHJDb3VudCgpOyB9Ci0gICAgdm9pZCBzZXREaWRCZWdp
bkNoZWNrZWRQdHJEZWxldGlvbigpIGZpbmFsIHsgQ2FuTWFrZUNoZWNrZWRQdHI6OnNldERpZEJl
Z2luQ2hlY2tlZFB0ckRlbGV0aW9uKCk7IH0KIAogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQog
ICAgIGJvb2wgcG9wdXBJc1Zpc2libGUoKSBjb25zdCB7IHJldHVybiBtX3BvcHVwSXNWaXNpYmxl
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2VhcmNoRmll
bGQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTZWFyY2hGaWVsZC5oCmluZGV4
IDc1MDgwN2VkMzJjMi4uNGMxNzg3ZDE3ZTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyU2VhcmNoRmllbGQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyU2VhcmNoRmllbGQuaApAQCAtNTEsNyArNTEsNiBAQCBwdWJsaWM6CiAgICAgdWlu
dDMyX3QgY2hlY2tlZFB0ckNvdW50V2l0aG91dFRocmVhZENoZWNrKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpjaGVja2VkUHRyQ291bnRXaXRob3V0
VGhyZWFkQ2hlY2soKTsgfQogICAgIHZvaWQgaW5jcmVtZW50Q2hlY2tlZFB0ckNvdW50KCkgY29u
c3QgZmluYWwgeyBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6OmluY3JlbWVudENoZWNrZWRQ
dHJDb3VudCgpOyB9CiAgICAgdm9pZCBkZWNyZW1lbnRDaGVja2VkUHRyQ291bnQoKSBjb25zdCBm
aW5hbCB7IFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6ZGVjcmVtZW50Q2hlY2tlZFB0ckNv
dW50KCk7IH0KLSAgICB2b2lkIHNldERpZEJlZ2luQ2hlY2tlZFB0ckRlbGV0aW9uKCkgZmluYWwg
eyBDYW5NYWtlQ2hlY2tlZFB0cjo6c2V0RGlkQmVnaW5DaGVja2VkUHRyRGVsZXRpb24oKTsgfQog
CiBwcml2YXRlOgogICAgIHZvaWQgd2lsbEJlRGVzdHJveWVkKCkgb3ZlcnJpZGU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IGMyZTE0ODA2ZWI3
NS4uOTk1NWUwYzgxYjE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVu
ZGVyU3R5bGUuaApAQCAtNDQwLDcgKzQ0MCw3IEBAIHN0cnVjdCBQc2V1ZG9TdHlsZUNhY2hlIHsK
IH07CiAKIERFQ0xBUkVfQUxMT0NBVE9SX1dJVEhfSEVBUF9JREVOVElGSUVSKFJlbmRlclN0eWxl
KTsKLWNsYXNzIFJlbmRlclN0eWxlIGZpbmFsIDogcHVibGljIENhbk1ha2VDaGVja2VkUHRyPFJl
bmRlclN0eWxlLCBXVEY6OkRlZmF1bHRlZE9wZXJhdG9yRXF1YWw6Ok5vLCBXVEY6OkNoZWNrZWRQ
dHJEZWxldGVDaGVja0V4Y2VwdGlvbjo6WWVzPiB7CitjbGFzcyBSZW5kZXJTdHlsZSBmaW5hbCA6
IHB1YmxpYyBDYW5NYWtlQ2hlY2tlZFB0cjxSZW5kZXJTdHlsZT4gewogICAgIFdURl9ERVBSRUNB
VEVEX01BS0VfRkFTVF9BTExPQ0FURURfV0lUSF9IRUFQX0lERU5USUZJRVIoUmVuZGVyU3R5bGUs
IFJlbmRlclN0eWxlKTsKICAgICBXVEZfT1ZFUlJJREVfREVMRVRFX0ZPUl9DSEVDS0VEX1BUUihS
ZW5kZXJTdHlsZSk7CiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUv
U3R5bGVVcGRhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVXBkYXRlLmgKaW5kZXgg
N2FhYzdjNDNmNWU3Li5iNzk1NWNmOGIxNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0
eWxlL1N0eWxlVXBkYXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVVcGRhdGUu
aApAQCAtNTYsNyArNTYsNyBAQCBzdHJ1Y3QgVGV4dFVwZGF0ZSB7CiAgICAgc3RkOjpvcHRpb25h
bDxzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+PiBpbmhlcml0ZWREaXNwbGF5Q29udGVudHNT
dHlsZTsKIH07CiAKLWNsYXNzIFVwZGF0ZSBmaW5hbCA6IHB1YmxpYyBDYW5NYWtlQ2hlY2tlZFB0
cjxVcGRhdGUsIFdURjo6RGVmYXVsdGVkT3BlcmF0b3JFcXVhbDo6Tm8sIFdURjo6Q2hlY2tlZFB0
ckRlbGV0ZUNoZWNrRXhjZXB0aW9uOjpZZXM+IHsKK2NsYXNzIFVwZGF0ZSBmaW5hbCA6IHB1Ymxp
YyBDYW5NYWtlQ2hlY2tlZFB0cjxVcGRhdGU+IHsKICAgICBXVEZfTUFLRV9UWk9ORV9BTExPQ0FU
RUQoVXBkYXRlKTsKICAgICBXVEZfT1ZFUlJJREVfREVMRVRFX0ZPUl9DSEVDS0VEX1BUUihVcGRh
dGUpOwogcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvVHJlZVJlc29s
dXRpb25TdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvVHJlZVJlc29sdXRpb25TdGF0ZS5o
CmluZGV4IDBiNWM0M2RlMjJlZS4uMjQzNjU2NjhjYWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9UcmVlUmVzb2x1dGlvblN0YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5
bGUvVHJlZVJlc29sdXRpb25TdGF0ZS5oCkBAIC0zMiw3ICszMiw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIG5hbWVzcGFjZSBTdHlsZSB7CiAKIC8vIFRoaXMgc3RhdGUgaGFzIGxpZmV0aW1lIG9m
IGEgc2luZ2xlIHN0eWxlIHJlc29sdXRpb24gY3ljbGUsIGluY2x1ZGluZyBhbnkgbGF5b3V0IGlu
dGVybGVhdmluZy4KLXN0cnVjdCBUcmVlUmVzb2x1dGlvblN0YXRlIDogcHVibGljIENhbk1ha2VD
aGVja2VkUHRyPFRyZWVSZXNvbHV0aW9uU3RhdGUsIFdURjo6RGVmYXVsdGVkT3BlcmF0b3JFcXVh
bDo6Tm8sIFdURjo6Q2hlY2tlZFB0ckRlbGV0ZUNoZWNrRXhjZXB0aW9uOjpZZXM+IHsKK3N0cnVj
dCBUcmVlUmVzb2x1dGlvblN0YXRlIDogcHVibGljIENhbk1ha2VDaGVja2VkUHRyPFRyZWVSZXNv
bHV0aW9uU3RhdGU+IHsKICAgICBBbmNob3JQb3NpdGlvbmVkU3RhdGVzIGFuY2hvclBvc2l0aW9u
ZWRTdGF0ZXM7CiAKICAgICBXVEZfREVQUkVDQVRFRF9NQUtFX1NUUlVDVF9GQVNUX0FMTE9DQVRF
RChUcmVlUmVzb2x1dGlvblN0YXRlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGRUltYWdlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50
LmgKaW5kZXggZGM4MTg3OTZhODI0Li45ZWI1NzMxMzJkMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdGRUltYWdlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGRUltYWdlRWxlbWVudC5oCkBAIC00MiwxMSArNDIsNiBAQCBwdWJsaWM6CiAgICAgdWludDMy
X3QgY2hlY2tlZFB0ckNvdW50V2l0aG91dFRocmVhZENoZWNrKCkgY29uc3QgeyByZXR1cm4gU1ZH
RmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzOjpjaGVja2VkUHRyQ291bnRXaXRob3V0
VGhyZWFkQ2hlY2soKTsgfQogICAgIHZvaWQgaW5jcmVtZW50Q2hlY2tlZFB0ckNvdW50KCkgY29u
c3QgeyBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM6OmluY3JlbWVudENoZWNr
ZWRQdHJDb3VudCgpOyB9CiAgICAgdm9pZCBkZWNyZW1lbnRDaGVja2VkUHRyQ291bnQoKSBjb25z
dCB7IFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlczo6ZGVjcmVtZW50Q2hlY2tl
ZFB0ckNvdW50KCk7IH0KLSAgICB2b2lkIHNldERpZEJlZ2luQ2hlY2tlZFB0ckRlbGV0aW9uKCkK
LSAgICB7Ci0gICAgICAgIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlczo6c2V0
RGlkQmVnaW5DaGVja2VkUHRyRGVsZXRpb24oKTsKLSAgICAgICAgQ2FjaGVkSW1hZ2VDbGllbnQ6
OnNldERpZEJlZ2luQ2hlY2tlZFB0ckRlbGV0aW9uKCk7Ci0gICAgfQogCiAgICAgYm9vbCByZW5k
ZXJpbmdUYWludHNPcmlnaW4oKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0ltYWdlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHSW1hZ2VFbGVt
ZW50LmNwcAppbmRleCA2ZTAwMWQ1N2NiYmQuLjYzYzU4ZjM2MmFjMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0ltYWdlRWxlbWVudC5jcHAKQEAgLTQ4LDcgKzQ4LDcgQEAgV1RGX01BS0VfVFpPTkVf
T1JfSVNPX0FMTE9DQVRFRF9JTVBMKFNWR0ltYWdlRWxlbWVudCk7CiBpbmxpbmUgU1ZHSW1hZ2VF
bGVtZW50OjpTVkdJbWFnZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9j
dW1lbnQmIGRvY3VtZW50KQogICAgIDogU1ZHR3JhcGhpY3NFbGVtZW50KHRhZ05hbWUsIGRvY3Vt
ZW50LCBtYWtlVW5pcXVlUmVmPFByb3BlcnR5UmVnaXN0cnk+KCp0aGlzKSwgVHlwZUZsYWc6Okhh
c0RpZE1vdmVUb05ld0RvY3VtZW50KQogICAgICwgU1ZHVVJJUmVmZXJlbmNlKHRoaXMpCi0gICAg
LCBtX2ltYWdlTG9hZGVyKG1ha2VVbmlxdWVSZWZXaXRob3V0UmVmQ291bnRlZENoZWNrPFNWR0lt
YWdlTG9hZGVyPigqdGhpcykpCisgICAgLCBtX2ltYWdlTG9hZGVyKCp0aGlzKQogewogICAgIEFT
U0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjppbWFnZVRhZykpOwogCkBAIC02OSw3ICs2OSw3IEBA
IFJlZjxTVkdJbWFnZUVsZW1lbnQ+IFNWR0ltYWdlRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtCiAKIENhY2hlZEltYWdlKiBTVkdJbWFnZUVsZW1lbnQ6
OmNhY2hlZEltYWdlKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9pbWFnZUxvYWRlci0+aW1hZ2Uo
KTsKKyAgICByZXR1cm4gbV9pbWFnZUxvYWRlci5pbWFnZSgpOwogfQogCiBib29sIFNWR0ltYWdl
RWxlbWVudDo6cmVuZGVyaW5nVGFpbnRzT3JpZ2luKCkgY29uc3QKQEAgLTExMiw3ICsxMTIsNyBA
QCB2b2lkIFNWR0ltYWdlRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWRO
YW1lJiBuYW1lLCBjb25zdCBBdG9tU3RyaQogICAgICAgICBicmVhazsKICAgICBjYXNlIEF0dHJp
YnV0ZU5hbWVzOjpjcm9zc29yaWdpbkF0dHI6CiAgICAgICAgIGlmIChwYXJzZUNPUlNTZXR0aW5n
c0F0dHJpYnV0ZShvbGRWYWx1ZSkgIT0gcGFyc2VDT1JTU2V0dGluZ3NBdHRyaWJ1dGUobmV3VmFs
dWUpKQotICAgICAgICAgICAgbV9pbWFnZUxvYWRlci0+dXBkYXRlRnJvbUVsZW1lbnRJZ25vcmlu
Z1ByZXZpb3VzRXJyb3IoUmVsZXZhbnRNdXRhdGlvbjo6WWVzKTsKKyAgICAgICAgICAgIG1faW1h
Z2VMb2FkZXIudXBkYXRlRnJvbUVsZW1lbnRJZ25vcmluZ1ByZXZpb3VzRXJyb3IoUmVsZXZhbnRN
dXRhdGlvbjo6WWVzKTsKICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgYnJl
YWs7CkBAIC0xNDksNyArMTQ5LDcgQEAgdm9pZCBTVkdJbWFnZUVsZW1lbnQ6OnN2Z0F0dHJpYnV0
ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCiAgICAgfQogCiAgICAgaWYg
KFNWR1VSSVJlZmVyZW5jZTo6aXNLbm93bkF0dHJpYnV0ZShhdHRyTmFtZSkpIHsKLSAgICAgICAg
bV9pbWFnZUxvYWRlci0+dXBkYXRlRnJvbUVsZW1lbnRJZ25vcmluZ1ByZXZpb3VzRXJyb3IoKTsK
KyAgICAgICAgbV9pbWFnZUxvYWRlci51cGRhdGVGcm9tRWxlbWVudElnbm9yaW5nUHJldmlvdXNF
cnJvcigpOwogICAgICAgICBpbnZhbGlkYXRlUmVzb3VyY2VJbWFnZUJ1ZmZlcnNJZk5lZWRlZCgp
OwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTY2LDcgKzE2Niw3IEBAIFJlbmRlclB0cjxS
ZW5kZXJFbGVtZW50PiBTVkdJbWFnZUVsZW1lbnQ6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcihSZW5k
ZXJTdHlsZSYmIHN0CiAKIGJvb2wgU1ZHSW1hZ2VFbGVtZW50OjpoYXZlTG9hZGVkUmVxdWlyZWRS
ZXNvdXJjZXMoKQogewotICAgIHJldHVybiAhbV9pbWFnZUxvYWRlci0+aGFzUGVuZGluZ0FjdGl2
aXR5KCk7CisgICAgcmV0dXJuICFtX2ltYWdlTG9hZGVyLmhhc1BlbmRpbmdBY3Rpdml0eSgpOwog
fQogCiB2b2lkIFNWR0ltYWdlRWxlbWVudDo6ZGlkQXR0YWNoUmVuZGVyZXJzKCkKQEAgLTE3NCwx
MiArMTc0LDEyIEBAIHZvaWQgU1ZHSW1hZ2VFbGVtZW50OjpkaWRBdHRhY2hSZW5kZXJlcnMoKQog
ICAgIFNWR0dyYXBoaWNzRWxlbWVudDo6ZGlkQXR0YWNoUmVuZGVyZXJzKCk7CiAKICAgICBpZiAo
Q2hlY2tlZFB0ciBpbWFnZSA9IGR5bmFtaWNEb3duY2FzdDxSZW5kZXJTVkdJbWFnZT4ocmVuZGVy
ZXIoKSk7IGltYWdlICYmICFpbWFnZS0+aW1hZ2VSZXNvdXJjZSgpLmNhY2hlZEltYWdlKCkpIHsK
LSAgICAgICAgaW1hZ2UtPmltYWdlUmVzb3VyY2UoKS5zZXRDYWNoZWRJbWFnZShtX2ltYWdlTG9h
ZGVyLT5wcm90ZWN0ZWRJbWFnZSgpKTsKKyAgICAgICAgaW1hZ2UtPmltYWdlUmVzb3VyY2UoKS5z
ZXRDYWNoZWRJbWFnZShtX2ltYWdlTG9hZGVyLnByb3RlY3RlZEltYWdlKCkpOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCiAgICAgaWYgKENoZWNrZWRQdHIgaW1hZ2UgPSBkeW5hbWljRG93bmNh
c3Q8TGVnYWN5UmVuZGVyU1ZHSW1hZ2U+KHJlbmRlcmVyKCkpOyBpbWFnZSAmJiAhaW1hZ2UtPmlt
YWdlUmVzb3VyY2UoKS5jYWNoZWRJbWFnZSgpKSB7Ci0gICAgICAgIGltYWdlLT5pbWFnZVJlc291
cmNlKCkuc2V0Q2FjaGVkSW1hZ2UobV9pbWFnZUxvYWRlci0+cHJvdGVjdGVkSW1hZ2UoKSk7Cisg
ICAgICAgIGltYWdlLT5pbWFnZVJlc291cmNlKCkuc2V0Q2FjaGVkSW1hZ2UobV9pbWFnZUxvYWRl
ci5wcm90ZWN0ZWRJbWFnZSgpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIH0KQEAgLTE5MSw3
ICsxOTEsNyBAQCBOb2RlOjpJbnNlcnRlZEludG9BbmNlc3RvclJlc3VsdCBTVkdJbWFnZUVsZW1l
bnQ6Omluc2VydGVkSW50b0FuY2VzdG9yKEluc2VydGlvbgogICAgICAgICByZXR1cm4gSW5zZXJ0
ZWRJbnRvQW5jZXN0b3JSZXN1bHQ6OkRvbmU7CiAgICAgLy8gVXBkYXRlIGltYWdlIGxvYWRlciwg
YXMgc29vbiBhcyB3ZSdyZSBsaXZpbmcgaW4gdGhlIHRyZWUuCiAgICAgLy8gV2UgY2FuIG9ubHkg
cmVzb2x2ZSBiYXNlIFVSSXMgcHJvcGVybHksIGFmdGVyIHRoYXQhCi0gICAgbV9pbWFnZUxvYWRl
ci0+dXBkYXRlRnJvbUVsZW1lbnQoKTsKKyAgICBtX2ltYWdlTG9hZGVyLnVwZGF0ZUZyb21FbGVt
ZW50KCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtMjE5LDEzICsyMTksMTMgQEAgdm9p
ZCBTVkdJbWFnZUVsZW1lbnQ6OmFkZFN1YnJlc291cmNlQXR0cmlidXRlVVJMcyhMaXN0SGFzaFNl
dDxVUkw+JiB1cmxzKSBjb25zdAogCiB2b2lkIFNWR0ltYWdlRWxlbWVudDo6ZGlkTW92ZVRvTmV3
RG9jdW1lbnQoRG9jdW1lbnQmIG9sZERvY3VtZW50LCBEb2N1bWVudCYgbmV3RG9jdW1lbnQpCiB7
Ci0gICAgbV9pbWFnZUxvYWRlci0+ZWxlbWVudERpZE1vdmVUb05ld0RvY3VtZW50KG9sZERvY3Vt
ZW50KTsKKyAgICBtX2ltYWdlTG9hZGVyLmVsZW1lbnREaWRNb3ZlVG9OZXdEb2N1bWVudChvbGRE
b2N1bWVudCk7CiAgICAgU1ZHR3JhcGhpY3NFbGVtZW50OjpkaWRNb3ZlVG9OZXdEb2N1bWVudChv
bGREb2N1bWVudCwgbmV3RG9jdW1lbnQpOwogfQogCiB2b2lkIFNWR0ltYWdlRWxlbWVudDo6ZGVj
b2RlKFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKIHsKLSAgICByZXR1cm4gbV9pbWFn
ZUxvYWRlci0+ZGVjb2RlKFdURk1vdmUocHJvbWlzZSkpOworICAgIHJldHVybiBtX2ltYWdlTG9h
ZGVyLmRlY29kZShXVEZNb3ZlKHByb21pc2UpKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0lt
YWdlRWxlbWVudC5oCmluZGV4IGNhNzBmOGRiZTQyMS4uMmY1MjIzMjMzMzExIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHSW1hZ2VFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5oCkBAIC03OSw3ICs3OSw3IEBAIHByaXZhdGU6CiAgICAg
UmVmPFNWR0FuaW1hdGVkTGVuZ3RoPiBtX3dpZHRoIHsgU1ZHQW5pbWF0ZWRMZW5ndGg6OmNyZWF0
ZSh0aGlzLCBTVkdMZW5ndGhNb2RlOjpXaWR0aCkgfTsKICAgICBSZWY8U1ZHQW5pbWF0ZWRMZW5n
dGg+IG1faGVpZ2h0IHsgU1ZHQW5pbWF0ZWRMZW5ndGg6OmNyZWF0ZSh0aGlzLCBTVkdMZW5ndGhN
b2RlOjpIZWlnaHQpIH07CiAgICAgUmVmPFNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpbz4g
bV9wcmVzZXJ2ZUFzcGVjdFJhdGlvIHsgU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvOjpj
cmVhdGUodGhpcykgfTsKLSAgICBjb25zdCBVbmlxdWVSZWY8U1ZHSW1hZ2VMb2FkZXI+IG1faW1h
Z2VMb2FkZXI7CisgICAgU1ZHSW1hZ2VMb2FkZXIgbV9pbWFnZUxvYWRlcjsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDY3MWE0
MTgyMDg1NS4uNGM1MDA3NjY4OGE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAg
LTE2MzYsNyArMTYzNiw2IEBAIHByaXZhdGU6CiAgICAgdWludDMyX3QgY2hlY2tlZFB0ckNvdW50
V2l0aG91dFRocmVhZENoZWNrKCkgY29uc3QgZmluYWwgeyByZXR1cm4gQ2FuTWFrZUNoZWNrZWRQ
dHI6OmNoZWNrZWRQdHJDb3VudFdpdGhvdXRUaHJlYWRDaGVjaygpOyB9CiAgICAgdm9pZCBpbmNy
ZW1lbnRDaGVja2VkUHRyQ291bnQoKSBjb25zdCBmaW5hbCB7IENhbk1ha2VDaGVja2VkUHRyOjpp
bmNyZW1lbnRDaGVja2VkUHRyQ291bnQoKTsgfQogICAgIHZvaWQgZGVjcmVtZW50Q2hlY2tlZFB0
ckNvdW50KCkgY29uc3QgZmluYWwgeyBDYW5NYWtlQ2hlY2tlZFB0cjo6ZGVjcmVtZW50Q2hlY2tl
ZFB0ckNvdW50KCk7IH0KLSAgICB2b2lkIHNldERpZEJlZ2luQ2hlY2tlZFB0ckRlbGV0aW9uKCkg
ZmluYWwgeyBDYW5NYWtlQ2hlY2tlZFB0cjo6c2V0RGlkQmVnaW5DaGVja2VkUHRyRGVsZXRpb24o
KTsgfQogI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKICAgICBEb2N1bWVudCogY29u
dGV4dERvY3VtZW50KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlck1lc3NhZ2luZ1Byb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1l
c3NhZ2luZ1Byb3h5LmgKaW5kZXggMGVhOGQ4OWY1NjZiLi4yNGQwNjVmYTRhZGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKQEAgLTQ4LDExICs0
OCwxMCBAQCBwdWJsaWM6CiAgICAgZXhwbGljaXQgV29ya2VyTWVzc2FnaW5nUHJveHkoV29ya2Vy
Jik7CiAgICAgdmlydHVhbCB+V29ya2VyTWVzc2FnaW5nUHJveHkoKTsKIAotICAgIHVpbnQzMl90
IGNoZWNrZWRQdHJDb3VudCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIENhbk1ha2VUaHJlYWRTYWZl
Q2hlY2tlZFB0cjxXb3JrZXJNZXNzYWdpbmdQcm94eT46OmNoZWNrZWRQdHJDb3VudCgpOyB9Ci0g
ICAgdWludDMyX3QgY2hlY2tlZFB0ckNvdW50V2l0aG91dFRocmVhZENoZWNrKCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gQ2FuTWFrZVRocmVhZFNhZmVDaGVja2VkUHRyPFdvcmtlck1lc3NhZ2luZ1By
b3h5Pjo6Y2hlY2tlZFB0ckNvdW50V2l0aG91dFRocmVhZENoZWNrKCk7IH0KLSAgICB2b2lkIGlu
Y3JlbWVudENoZWNrZWRQdHJDb3VudCgpIGNvbnN0IGZpbmFsIHsgQ2FuTWFrZVRocmVhZFNhZmVD
aGVja2VkUHRyPFdvcmtlck1lc3NhZ2luZ1Byb3h5Pjo6aW5jcmVtZW50Q2hlY2tlZFB0ckNvdW50
KCk7IH0KLSAgICB2b2lkIGRlY3JlbWVudENoZWNrZWRQdHJDb3VudCgpIGNvbnN0IGZpbmFsIHsg
Q2FuTWFrZVRocmVhZFNhZmVDaGVja2VkUHRyPFdvcmtlck1lc3NhZ2luZ1Byb3h5Pjo6ZGVjcmVt
ZW50Q2hlY2tlZFB0ckNvdW50KCk7IH0KLSAgICB2b2lkIHNldERpZEJlZ2luQ2hlY2tlZFB0ckRl
bGV0aW9uKCkgZmluYWwgeyBDYW5NYWtlVGhyZWFkU2FmZUNoZWNrZWRQdHI8V29ya2VyTWVzc2Fn
aW5nUHJveHk+OjpzZXREaWRCZWdpbkNoZWNrZWRQdHJEZWxldGlvbigpOyB9CisgICAgdWludDMy
X3QgY2hlY2tlZFB0ckNvdW50KCkgY29uc3QgeyByZXR1cm4gQ2FuTWFrZVRocmVhZFNhZmVDaGVj
a2VkUHRyPFdvcmtlck1lc3NhZ2luZ1Byb3h5Pjo6Y2hlY2tlZFB0ckNvdW50KCk7IH0KKyAgICB1
aW50MzJfdCBjaGVja2VkUHRyQ291bnRXaXRob3V0VGhyZWFkQ2hlY2soKSBjb25zdCB7IHJldHVy
biBDYW5NYWtlVGhyZWFkU2FmZUNoZWNrZWRQdHI8V29ya2VyTWVzc2FnaW5nUHJveHk+OjpjaGVj
a2VkUHRyQ291bnRXaXRob3V0VGhyZWFkQ2hlY2soKTsgfQorICAgIHZvaWQgaW5jcmVtZW50Q2hl
Y2tlZFB0ckNvdW50KCkgY29uc3QgeyBDYW5NYWtlVGhyZWFkU2FmZUNoZWNrZWRQdHI8V29ya2Vy
TWVzc2FnaW5nUHJveHk+OjppbmNyZW1lbnRDaGVja2VkUHRyQ291bnQoKTsgfQorICAgIHZvaWQg
ZGVjcmVtZW50Q2hlY2tlZFB0ckNvdW50KCkgY29uc3QgeyBDYW5NYWtlVGhyZWFkU2FmZUNoZWNr
ZWRQdHI8V29ya2VyTWVzc2FnaW5nUHJveHk+OjpkZWNyZW1lbnRDaGVja2VkUHRyQ291bnQoKTsg
fQogCiBwcml2YXRlOgogICAgIC8vIEltcGxlbWVudGF0aW9ucyBvZiBXb3JrZXJHbG9iYWxTY29w
ZVByb3h5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRl
eHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcAppbmRleCBjMzA1MTVlMDI0MWYuLmMw
ODE3NmQxMWM5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2Nv
bnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAKQEAgLTc4LDExICs3OCwx
MCBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgLy8gQ2FuTWFrZUNoZWNrZWRQdHIuCi0gICAgdWlu
dDMyX3QgY2hlY2tlZFB0ckNvdW50KCkgY29uc3QgZmluYWwgIHsgcmV0dXJuIENhbk1ha2VUaHJl
YWRTYWZlQ2hlY2tlZFB0cjxEdW1teVNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eT46OmNoZWNrZWRQ
dHJDb3VudCgpOyB9Ci0gICAgdWludDMyX3QgY2hlY2tlZFB0ckNvdW50V2l0aG91dFRocmVhZENo
ZWNrKCkgY29uc3QgZmluYWwgIHsgcmV0dXJuIENhbk1ha2VUaHJlYWRTYWZlQ2hlY2tlZFB0cjxE
dW1teVNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eT46OmNoZWNrZWRQdHJDb3VudFdpdGhvdXRUaHJl
YWRDaGVjaygpOyB9Ci0gICAgdm9pZCBpbmNyZW1lbnRDaGVja2VkUHRyQ291bnQoKSBjb25zdCBm
aW5hbCAgeyBDYW5NYWtlVGhyZWFkU2FmZUNoZWNrZWRQdHI8RHVtbXlTZXJ2aWNlV29ya2VyVGhy
ZWFkUHJveHk+OjppbmNyZW1lbnRDaGVja2VkUHRyQ291bnQoKTsgfQotICAgIHZvaWQgZGVjcmVt
ZW50Q2hlY2tlZFB0ckNvdW50KCkgY29uc3QgZmluYWwgIHsgQ2FuTWFrZVRocmVhZFNhZmVDaGVj
a2VkUHRyPER1bW15U2VydmljZVdvcmtlclRocmVhZFByb3h5Pjo6ZGVjcmVtZW50Q2hlY2tlZFB0
ckNvdW50KCk7IH0KLSAgICB2b2lkIHNldERpZEJlZ2luQ2hlY2tlZFB0ckRlbGV0aW9uKCkgZmlu
YWwgeyBDYW5NYWtlVGhyZWFkU2FmZUNoZWNrZWRQdHI8RHVtbXlTZXJ2aWNlV29ya2VyVGhyZWFk
UHJveHk+OjpzZXREaWRCZWdpbkNoZWNrZWRQdHJEZWxldGlvbigpOyB9CisgICAgdWludDMyX3Qg
Y2hlY2tlZFB0ckNvdW50KCkgY29uc3QgeyByZXR1cm4gQ2FuTWFrZVRocmVhZFNhZmVDaGVja2Vk
UHRyPER1bW15U2VydmljZVdvcmtlclRocmVhZFByb3h5Pjo6Y2hlY2tlZFB0ckNvdW50KCk7IH0K
KyAgICB1aW50MzJfdCBjaGVja2VkUHRyQ291bnRXaXRob3V0VGhyZWFkQ2hlY2soKSBjb25zdCB7
IHJldHVybiBDYW5NYWtlVGhyZWFkU2FmZUNoZWNrZWRQdHI8RHVtbXlTZXJ2aWNlV29ya2VyVGhy
ZWFkUHJveHk+OjpjaGVja2VkUHRyQ291bnRXaXRob3V0VGhyZWFkQ2hlY2soKTsgfQorICAgIHZv
aWQgaW5jcmVtZW50Q2hlY2tlZFB0ckNvdW50KCkgY29uc3QgeyBDYW5NYWtlVGhyZWFkU2FmZUNo
ZWNrZWRQdHI8RHVtbXlTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHk+OjppbmNyZW1lbnRDaGVja2Vk
UHRyQ291bnQoKTsgfQorICAgIHZvaWQgZGVjcmVtZW50Q2hlY2tlZFB0ckNvdW50KCkgY29uc3Qg
eyBDYW5NYWtlVGhyZWFkU2FmZUNoZWNrZWRQdHI8RHVtbXlTZXJ2aWNlV29ya2VyVGhyZWFkUHJv
eHk+OjpkZWNyZW1lbnRDaGVja2VkUHRyQ291bnQoKTsgfQogCiBwcml2YXRlOgogICAgIHZvaWQg
cG9zdEV4Y2VwdGlvblRvV29ya2VyT2JqZWN0KGNvbnN0IFN0cmluZyYsIGludCwgaW50LCBjb25z
dCBTdHJpbmcmKSBmaW5hbCB7IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkUHJveHkuaCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWRQcm94eS5oCmlu
ZGV4IGVkNGRkMGJiYzFmYi4uYWFlZmI2YTY4OTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkUHJveHkuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhy
ZWFkUHJveHkuaApAQCAtMTA1LDExICsxMDUsMTAgQEAgcHVibGljOgogICAgIFNlcnZpY2VXb3Jr
ZXJEZWJ1Z2dhYmxlJiByZW1vdGVEZWJ1Z2dhYmxlKCkgeyByZXR1cm4gbV9yZW1vdGVEZWJ1Z2dh
YmxlOyB9CiAjZW5kaWYKIAotICAgIHVpbnQzMl90IGNoZWNrZWRQdHJDb3VudCgpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIENhbk1ha2VUaHJlYWRTYWZlQ2hlY2tlZFB0cjxTZXJ2aWNlV29ya2VyVGhy
ZWFkUHJveHk+OjpjaGVja2VkUHRyQ291bnQoKTsgfQotICAgIHVpbnQzMl90IGNoZWNrZWRQdHJD
b3VudFdpdGhvdXRUaHJlYWRDaGVjaygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIENhbk1ha2VUaHJl
YWRTYWZlQ2hlY2tlZFB0cjxTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHk+OjpjaGVja2VkUHRyQ291
bnRXaXRob3V0VGhyZWFkQ2hlY2soKTsgfQotICAgIHZvaWQgaW5jcmVtZW50Q2hlY2tlZFB0ckNv
dW50KCkgY29uc3QgZmluYWwgeyBDYW5NYWtlVGhyZWFkU2FmZUNoZWNrZWRQdHI8U2VydmljZVdv
cmtlclRocmVhZFByb3h5Pjo6aW5jcmVtZW50Q2hlY2tlZFB0ckNvdW50KCk7IH0KLSAgICB2b2lk
IGRlY3JlbWVudENoZWNrZWRQdHJDb3VudCgpIGNvbnN0IGZpbmFsIHsgQ2FuTWFrZVRocmVhZFNh
ZmVDaGVja2VkUHRyPFNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eT46OmRlY3JlbWVudENoZWNrZWRQ
dHJDb3VudCgpOyB9Ci0gICAgdm9pZCBzZXREaWRCZWdpbkNoZWNrZWRQdHJEZWxldGlvbigpIGZp
bmFsIHsgQ2FuTWFrZVRocmVhZFNhZmVDaGVja2VkUHRyPFNlcnZpY2VXb3JrZXJUaHJlYWRQcm94
eT46OnNldERpZEJlZ2luQ2hlY2tlZFB0ckRlbGV0aW9uKCk7IH0KKyAgICB1aW50MzJfdCBjaGVj
a2VkUHRyQ291bnQoKSBjb25zdCB7IHJldHVybiBDYW5NYWtlVGhyZWFkU2FmZUNoZWNrZWRQdHI8
U2VydmljZVdvcmtlclRocmVhZFByb3h5Pjo6Y2hlY2tlZFB0ckNvdW50KCk7IH0KKyAgICB1aW50
MzJfdCBjaGVja2VkUHRyQ291bnRXaXRob3V0VGhyZWFkQ2hlY2soKSBjb25zdCB7IHJldHVybiBD
YW5NYWtlVGhyZWFkU2FmZUNoZWNrZWRQdHI8U2VydmljZVdvcmtlclRocmVhZFByb3h5Pjo6Y2hl
Y2tlZFB0ckNvdW50V2l0aG91dFRocmVhZENoZWNrKCk7IH0KKyAgICB2b2lkIGluY3JlbWVudENo
ZWNrZWRQdHJDb3VudCgpIGNvbnN0IHsgQ2FuTWFrZVRocmVhZFNhZmVDaGVja2VkUHRyPFNlcnZp
Y2VXb3JrZXJUaHJlYWRQcm94eT46OmluY3JlbWVudENoZWNrZWRQdHJDb3VudCgpOyB9CisgICAg
dm9pZCBkZWNyZW1lbnRDaGVja2VkUHRyQ291bnQoKSBjb25zdCB7IENhbk1ha2VUaHJlYWRTYWZl
Q2hlY2tlZFB0cjxTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHk+OjpkZWNyZW1lbnRDaGVja2VkUHRy
Q291bnQoKTsgfQogCiBwcml2YXRlOgogICAgIFdFQkNPUkVfRVhQT1JUIFNlcnZpY2VXb3JrZXJU
aHJlYWRQcm94eShSZWY8UGFnZT4mJiwgU2VydmljZVdvcmtlckNvbnRleHREYXRhJiYsIFNlcnZp
Y2VXb3JrZXJEYXRhJiYsIFN0cmluZyYmIHVzZXJBZ2VudCwgV29ya2VyVGhyZWFkTW9kZSwgQ2Fj
aGVTdG9yYWdlUHJvdmlkZXImLCBzdGQ6OnVuaXF1ZV9wdHI8Tm90aWZpY2F0aW9uQ2xpZW50PiYm
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hh
cmVkV29ya2VyVGhyZWFkUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2Nv
bnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuaAppbmRleCAyYWM1MGMxZWZjMjEuLmQ2OTdl
ZDI3MjI4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4
dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuaApAQCAtNjEsMTEgKzYxLDEw
IEBAIHB1YmxpYzoKICAgICBib29sIGlzVGVybWluYXRpbmdPclRlcm1pbmF0ZWQoKSBjb25zdCB7
IHJldHVybiBtX2lzVGVybWluYXRpbmdPclRlcm1pbmF0ZWQ7IH0KICAgICB2b2lkIHNldEFzVGVy
bWluYXRpbmdPclRlcm1pbmF0ZWQoKSB7IG1faXNUZXJtaW5hdGluZ09yVGVybWluYXRlZCA9IHRy
dWU7IH0KIAotICAgIHVpbnQzMl90IGNoZWNrZWRQdHJDb3VudCgpIGNvbnN0IGZpbmFsIHsgcmV0
dXJuIENhbk1ha2VUaHJlYWRTYWZlQ2hlY2tlZFB0cjxTaGFyZWRXb3JrZXJUaHJlYWRQcm94eT46
OmNoZWNrZWRQdHJDb3VudCgpOyB9Ci0gICAgdWludDMyX3QgY2hlY2tlZFB0ckNvdW50V2l0aG91
dFRocmVhZENoZWNrKCkgY29uc3QgZmluYWwgeyByZXR1cm4gQ2FuTWFrZVRocmVhZFNhZmVDaGVj
a2VkUHRyPFNoYXJlZFdvcmtlclRocmVhZFByb3h5Pjo6Y2hlY2tlZFB0ckNvdW50V2l0aG91dFRo
cmVhZENoZWNrKCk7IH0KLSAgICB2b2lkIGluY3JlbWVudENoZWNrZWRQdHJDb3VudCgpIGNvbnN0
IGZpbmFsIHsgQ2FuTWFrZVRocmVhZFNhZmVDaGVja2VkUHRyPFNoYXJlZFdvcmtlclRocmVhZFBy
b3h5Pjo6aW5jcmVtZW50Q2hlY2tlZFB0ckNvdW50KCk7IH0KLSAgICB2b2lkIGRlY3JlbWVudENo
ZWNrZWRQdHJDb3VudCgpIGNvbnN0IGZpbmFsIHsgQ2FuTWFrZVRocmVhZFNhZmVDaGVja2VkUHRy
PFNoYXJlZFdvcmtlclRocmVhZFByb3h5Pjo6ZGVjcmVtZW50Q2hlY2tlZFB0ckNvdW50KCk7IH0K
LSAgICB2b2lkIHNldERpZEJlZ2luQ2hlY2tlZFB0ckRlbGV0aW9uKCkgZmluYWwgeyBDYW5NYWtl
VGhyZWFkU2FmZUNoZWNrZWRQdHI8U2hhcmVkV29ya2VyVGhyZWFkUHJveHk+OjpzZXREaWRCZWdp
bkNoZWNrZWRQdHJEZWxldGlvbigpOyB9CisgICAgdWludDMyX3QgY2hlY2tlZFB0ckNvdW50KCkg
Y29uc3QgeyByZXR1cm4gQ2FuTWFrZVRocmVhZFNhZmVDaGVja2VkUHRyPFNoYXJlZFdvcmtlclRo
cmVhZFByb3h5Pjo6Y2hlY2tlZFB0ckNvdW50KCk7IH0KKyAgICB1aW50MzJfdCBjaGVja2VkUHRy
Q291bnRXaXRob3V0VGhyZWFkQ2hlY2soKSBjb25zdCB7IHJldHVybiBDYW5NYWtlVGhyZWFkU2Fm
ZUNoZWNrZWRQdHI8U2hhcmVkV29ya2VyVGhyZWFkUHJveHk+OjpjaGVja2VkUHRyQ291bnRXaXRo
b3V0VGhyZWFkQ2hlY2soKTsgfQorICAgIHZvaWQgaW5jcmVtZW50Q2hlY2tlZFB0ckNvdW50KCkg
Y29uc3QgeyBDYW5NYWtlVGhyZWFkU2FmZUNoZWNrZWRQdHI8U2hhcmVkV29ya2VyVGhyZWFkUHJv
eHk+OjppbmNyZW1lbnRDaGVja2VkUHRyQ291bnQoKTsgfQorICAgIHZvaWQgZGVjcmVtZW50Q2hl
Y2tlZFB0ckNvdW50KCkgY29uc3QgeyBDYW5NYWtlVGhyZWFkU2FmZUNoZWNrZWRQdHI8U2hhcmVk
V29ya2VyVGhyZWFkUHJveHk+OjpkZWNyZW1lbnRDaGVja2VkUHRyQ291bnQoKTsgfQogCiBwcml2
YXRlOgogICAgIFdFQkNPUkVfRVhQT1JUIFNoYXJlZFdvcmtlclRocmVhZFByb3h5KFJlZjxQYWdl
PiYmLCBTaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBjb25zdCBDbGllbnRPcmlnaW4mLCBXb3JrZXJG
ZXRjaFJlc3VsdCYmLCBXb3JrZXJPcHRpb25zJiYsIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSYm
LCBDYWNoZVN0b3JhZ2VQcm92aWRlciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1s
L3BhcnNlci9YTUxEb2N1bWVudFBhcnNlci5oIGIvU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9Y
TUxEb2N1bWVudFBhcnNlci5oCmluZGV4IDExNmE2ODVlNDdlMi4uZDU0MDMxMjM4N2NiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL1hNTERvY3VtZW50UGFyc2VyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9YTUxEb2N1bWVudFBhcnNlci5oCkBAIC0xMDIs
NyArMTAyLDYgQEAgcHJpdmF0ZToKICAgICB1aW50MzJfdCBjaGVja2VkUHRyQ291bnRXaXRob3V0
VGhyZWFkQ2hlY2soKSBjb25zdCBmaW5hbCB7IHJldHVybiBDYW5NYWtlQ2hlY2tlZFB0cjo6Y2hl
Y2tlZFB0ckNvdW50V2l0aG91dFRocmVhZENoZWNrKCk7IH0KICAgICB2b2lkIGluY3JlbWVudENo
ZWNrZWRQdHJDb3VudCgpIGNvbnN0IGZpbmFsIHsgQ2FuTWFrZUNoZWNrZWRQdHI6OmluY3JlbWVu
dENoZWNrZWRQdHJDb3VudCgpOyB9CiAgICAgdm9pZCBkZWNyZW1lbnRDaGVja2VkUHRyQ291bnQo
KSBjb25zdCBmaW5hbCB7IENhbk1ha2VDaGVja2VkUHRyOjpkZWNyZW1lbnRDaGVja2VkUHRyQ291
bnQoKTsgfQotICAgIHZvaWQgc2V0RGlkQmVnaW5DaGVja2VkUHRyRGVsZXRpb24oKSBmaW5hbCB7
IENhbk1ha2VDaGVja2VkUHRyOjpzZXREaWRCZWdpbkNoZWNrZWRQdHJEZWxldGlvbigpOyB9CiAK
ICAgICB2b2lkIGluc2VydChTZWdtZW50ZWRTdHJpbmcmJikgZmluYWw7CiAgICAgdm9pZCBhcHBl
bmQoUmVmUHRyPFN0cmluZ0ltcGw+JiYpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL3dlYnJ0Yy9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNwcCBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94
eS5jcHAKaW5kZXggMzEwYzg3MTE2YjI4Li43NzM0ZTMwY2I1YzggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9Vc2VyTWVkaWFDYXB0dXJl
TWFuYWdlclByb3h5LmNwcApAQCAtMzQ1LDcgKzM0NSw2IEBAIHByaXZhdGU6CiAgICAgdWludDMy
X3QgY2hlY2tlZFB0ckNvdW50V2l0aG91dFRocmVhZENoZWNrKCkgY29uc3QgZmluYWwgeyByZXR1
cm4gQ2FuTWFrZUNoZWNrZWRQdHI6OmNoZWNrZWRQdHJDb3VudFdpdGhvdXRUaHJlYWRDaGVjaygp
OyB9CiAgICAgdm9pZCBpbmNyZW1lbnRDaGVja2VkUHRyQ291bnQoKSBjb25zdCBmaW5hbCB7IENh
bk1ha2VDaGVja2VkUHRyOjppbmNyZW1lbnRDaGVja2VkUHRyQ291bnQoKTsgfQogICAgIHZvaWQg
ZGVjcmVtZW50Q2hlY2tlZFB0ckNvdW50KCkgY29uc3QgZmluYWwgeyBDYW5NYWtlQ2hlY2tlZFB0
cjo6ZGVjcmVtZW50Q2hlY2tlZFB0ckNvdW50KCk7IH0KLSAgICB2b2lkIHNldERpZEJlZ2luQ2hl
Y2tlZFB0ckRlbGV0aW9uKCkgZmluYWwgeyBDYW5NYWtlQ2hlY2tlZFB0cjo6c2V0RGlkQmVnaW5D
aGVja2VkUHRyRGVsZXRpb24oKTsgfQogCiAgICAgdm9pZCBzb3VyY2VTdG9wcGVkKCkgZmluYWwK
ICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKaW5kZXggNDk4ZDhlYmMxZTE2Li5lNThkOGMz
OTMxNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKQEAgLTE1MSwxNCArMTUxLDYgQEAgcHVi
bGljOgogICAgIFVTSU5HX0NBTl9NQUtFX1dFQUtQVFIoTWVzc2FnZVJlY2VpdmVyKTsKICAgICBV
U0lOR19DQU5fTUFLRV9DSEVDS0VEUFRSKElQQzo6Q29ubmVjdGlvbjo6Q2xpZW50KTsKIAotICAg
IHZvaWQgc2V0RGlkQmVnaW5DaGVja2VkUHRyRGVsZXRpb24oKQotICAgIHsKLSNpZiBFTkFCTEUo
QVBQTEVfUEFZX1JFTU9URV9VSSkKLSAgICAgICAgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6
OkNsaWVudDo6c2V0RGlkQmVnaW5DaGVja2VkUHRyRGVsZXRpb24oKTsKLSNlbmRpZgotICAgICAg
ICBJUEM6OkNvbm5lY3Rpb246OkNsaWVudDo6c2V0RGlkQmVnaW5DaGVja2VkUHRyRGVsZXRpb24o
KTsKLSAgICB9Ci0KICAgICB1c2luZyBSZWdpc3RyYWJsZURvbWFpbiA9IFdlYkNvcmU6OlJlZ2lz
dHJhYmxlRG9tYWluOwogCiAgICAgc3RhdGljIFJlZjxOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcz4gY3JlYXRlKE5ldHdvcmtQcm9jZXNzJiwgV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIs
IFBBTDo6U2Vzc2lvbklELCBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb25QYXJhbWV0ZXJzJiYsIElQ
Qzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAppbmRleCA4MGJjNjM5ZGNjZDAuLjE1MTdlYjVkNDFkNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaApAQCAt
MTY0LDcgKzE2NCw2IEBAIHB1YmxpYzoKICAgICB1aW50MzJfdCBjaGVja2VkUHRyQ291bnRXaXRo
b3V0VGhyZWFkQ2hlY2soKSBjb25zdCBmaW5hbCB7IHJldHVybiBBdXhpbGlhcnlQcm9jZXNzOjpj
aGVja2VkUHRyQ291bnRXaXRob3V0VGhyZWFkQ2hlY2soKTsgfQogICAgIHZvaWQgaW5jcmVtZW50
Q2hlY2tlZFB0ckNvdW50KCkgY29uc3QgZmluYWwgeyBBdXhpbGlhcnlQcm9jZXNzOjppbmNyZW1l
bnRDaGVja2VkUHRyQ291bnQoKTsgfQogICAgIHZvaWQgZGVjcmVtZW50Q2hlY2tlZFB0ckNvdW50
KCkgY29uc3QgZmluYWwgeyBBdXhpbGlhcnlQcm9jZXNzOjpkZWNyZW1lbnRDaGVja2VkUHRyQ291
bnQoKTsgfQotICAgIHZvaWQgc2V0RGlkQmVnaW5DaGVja2VkUHRyRGVsZXRpb24oKSBmaW5hbCB7
IEF1eGlsaWFyeVByb2Nlc3M6OnNldERpZEJlZ2luQ2hlY2tlZFB0ckRlbGV0aW9uKCk7IH0KIAog
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiAgICAgVCogc3VwcGxlbWVudCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmggYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmgKaW5kZXggN2U2ZmQzOTcyNDdl
Li42MDY0OTBmNTE5NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Nlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtTZXNzaW9uLmgKQEAgLTEyNCwxMSArMTI0LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZv
aWQgbG9hZEltYWdlRm9yRGVjb2RpbmcoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIFdlYlBh
Z2VQcm94eUlkZW50aWZpZXIsIHNpemVfdCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3Rl
ZDxSZWY8V2ViQ29yZTo6RnJhZ21lbnRlZFNoYXJlZEJ1ZmZlcj4sIFdlYkNvcmU6OlJlc291cmNl
RXJyb3I+JiYpPiYmKSB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9CiAKICAgICAvLyBDYW5NYWtl
Q2hlY2tlZFB0ci4KLSAgICB1aW50MzJfdCBjaGVja2VkUHRyQ291bnQoKSBjb25zdCBmaW5hbCB7
IHJldHVybiBDYW5NYWtlQ2hlY2tlZFB0cjo6Y2hlY2tlZFB0ckNvdW50KCk7IH0KLSAgICB1aW50
MzJfdCBjaGVja2VkUHRyQ291bnRXaXRob3V0VGhyZWFkQ2hlY2soKSBjb25zdCBmaW5hbCB7IHJl
dHVybiBDYW5NYWtlQ2hlY2tlZFB0cjo6Y2hlY2tlZFB0ckNvdW50V2l0aG91dFRocmVhZENoZWNr
KCk7IH0KLSAgICB2b2lkIGluY3JlbWVudENoZWNrZWRQdHJDb3VudCgpIGNvbnN0IGZpbmFsIHsg
Q2FuTWFrZUNoZWNrZWRQdHI6OmluY3JlbWVudENoZWNrZWRQdHJDb3VudCgpOyB9Ci0gICAgdm9p
ZCBkZWNyZW1lbnRDaGVja2VkUHRyQ291bnQoKSBjb25zdCBmaW5hbCB7IENhbk1ha2VDaGVja2Vk
UHRyOjpkZWNyZW1lbnRDaGVja2VkUHRyQ291bnQoKTsgfQotICAgIHZvaWQgc2V0RGlkQmVnaW5D
aGVja2VkUHRyRGVsZXRpb24oKSBmaW5hbCB7IENhbk1ha2VDaGVja2VkUHRyOjpzZXREaWRCZWdp
bkNoZWNrZWRQdHJEZWxldGlvbigpOyB9CisgICAgdWludDMyX3QgY2hlY2tlZFB0ckNvdW50KCkg
Y29uc3QgeyByZXR1cm4gQ2FuTWFrZUNoZWNrZWRQdHI6OmNoZWNrZWRQdHJDb3VudCgpOyB9Cisg
ICAgdWludDMyX3QgY2hlY2tlZFB0ckNvdW50V2l0aG91dFRocmVhZENoZWNrKCkgY29uc3QgeyBy
ZXR1cm4gQ2FuTWFrZUNoZWNrZWRQdHI6OmNoZWNrZWRQdHJDb3VudFdpdGhvdXRUaHJlYWRDaGVj
aygpOyB9CisgICAgdm9pZCBpbmNyZW1lbnRDaGVja2VkUHRyQ291bnQoKSBjb25zdCB7IENhbk1h
a2VDaGVja2VkUHRyOjppbmNyZW1lbnRDaGVja2VkUHRyQ291bnQoKTsgfQorICAgIHZvaWQgZGVj
cmVtZW50Q2hlY2tlZFB0ckNvdW50KCkgY29uc3QgeyBDYW5NYWtlQ2hlY2tlZFB0cjo6ZGVjcmVt
ZW50Q2hlY2tlZFB0ckNvdW50KCk7IH0KIAogICAgIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCgp
IGNvbnN0IHsgcmV0dXJuIG1fc2Vzc2lvbklEOyB9CiAgICAgTmV0d29ya1Byb2Nlc3MmIG5ldHdv
cmtQcm9jZXNzKCkgeyByZXR1cm4gbV9uZXR3b3JrUHJvY2VzczsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9QcmVmZXRjaENhY2hlLmggYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL1ByZWZldGNoQ2FjaGUuaAppbmRleCA2ZmRmNDM3
MDNjMjkuLmMwYzVkOTUzNjMxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9QcmVmZXRjaENhY2hlLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9QcmVmZXRjaENhY2hlLmgKQEAgLTM5LDcgKzM5LDcgQEAKIAogbmFtZXNwYWNl
IFdlYktpdCB7CiAKLWNsYXNzIFByZWZldGNoQ2FjaGUgZmluYWwgOiBwdWJsaWMgQ2FuTWFrZUNo
ZWNrZWRQdHI8UHJlZmV0Y2hDYWNoZSwgV1RGOjpEZWZhdWx0ZWRPcGVyYXRvckVxdWFsOjpObywg
V1RGOjpDaGVja2VkUHRyRGVsZXRlQ2hlY2tFeGNlcHRpb246Olllcz4geworY2xhc3MgUHJlZmV0
Y2hDYWNoZSBmaW5hbCA6IHB1YmxpYyBDYW5NYWtlQ2hlY2tlZFB0cjxQcmVmZXRjaENhY2hlPiB7
CiAgICAgV1RGX01BS0VfVFpPTkVfQUxMT0NBVEVEKFByZWZldGNoQ2FjaGUpOwogICAgIFdURl9P
VkVSUklERV9ERUxFVEVfRk9SX0NIRUNLRURfUFRSKFByZWZldGNoQ2FjaGUpOwogICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFByZWZldGNoQ2FjaGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLmggYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EuaAppbmRleCA2OTNl
OTQ4MmEzOTYuLjA1MTcyMjhiNjhlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLmgKKysrIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLmgKQEAgLTU5LDcgKzU5LDcg
QEAgZW51bSBjbGFzcyBOZWdvdGlhdGVkTGVnYWN5VExTIDogYm9vbDsKIGNsYXNzIExlZ2FjeUN1
c3RvbVByb3RvY29sTWFuYWdlcjsKIGNsYXNzIE5ldHdvcmtTZXNzaW9uQ29jb2E7CiAKLXN0cnVj
dCBTZXNzaW9uV3JhcHBlciA6IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxTZXNzaW9uV3JhcHBlcj4s
IHB1YmxpYyBDYW5NYWtlQ2hlY2tlZFB0cjxTZXNzaW9uV3JhcHBlciwgV1RGOjpEZWZhdWx0ZWRP
cGVyYXRvckVxdWFsOjpObywgV1RGOjpDaGVja2VkUHRyRGVsZXRlQ2hlY2tFeGNlcHRpb246Olll
cz4geworc3RydWN0IFNlc3Npb25XcmFwcGVyIDogcHVibGljIENhbk1ha2VXZWFrUHRyPFNlc3Np
b25XcmFwcGVyPiwgcHVibGljIENhbk1ha2VDaGVja2VkUHRyPFNlc3Npb25XcmFwcGVyPiB7CiAg
ICAgV1RGX0RFUFJFQ0FURURfTUFLRV9TVFJVQ1RfRkFTVF9BTExPQ0FURUQoU2Vzc2lvbldyYXBw
ZXIpOwogICAgIFdURl9TVFJVQ1RfT1ZFUlJJREVfREVMRVRFX0ZPUl9DSEVDS0VEX1BUUihTZXNz
aW9uV3JhcHBlcik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1N0
cmVhbUNsaWVudENvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU3Ry
ZWFtQ2xpZW50Q29ubmVjdGlvbi5jcHAKaW5kZXggYmE4OGU4NTM1YjY1Li42MTM3ZjMxZWU2ZTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1N0cmVhbUNsaWVudENvbm5l
Y3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1N0cmVhbUNsaWVudENv
bm5lY3Rpb24uY3BwCkBAIC0xMjIsNyArMTIyLDcgQEAgdm9pZCBTdHJlYW1DbGllbnRDb25uZWN0
aW9uOjpzZXRNYXhCYXRjaFNpemUodW5zaWduZWQgc2l6ZSkKIAogdm9pZCBTdHJlYW1DbGllbnRD
b25uZWN0aW9uOjpvcGVuKENvbm5lY3Rpb246OkNsaWVudCYgcmVjZWl2ZXIsIFNlcmlhbEZ1bmN0
aW9uRGlzcGF0Y2hlciYgZGlzcGF0Y2hlcikKIHsKLSAgICBsYXp5SW5pdGlhbGl6ZShtX2RlZGlj
YXRlZENvbm5lY3Rpb25DbGllbnQsIG1ha2VVbmlxdWVXaXRob3V0UmVmQ291bnRlZENoZWNrPERl
ZGljYXRlZENvbm5lY3Rpb25DbGllbnQ+KCp0aGlzLCByZWNlaXZlcikpOworICAgIG1fZGVkaWNh
dGVkQ29ubmVjdGlvbkNsaWVudC5lbXBsYWNlKCp0aGlzLCByZWNlaXZlcik7CiAgICAgbV9jb25u
ZWN0aW9uLT5vcGVuKFJlZiB7ICptX2RlZGljYXRlZENvbm5lY3Rpb25DbGllbnQgfS5nZXQoKSwg
ZGlzcGF0Y2hlcik7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBD
L1N0cmVhbUNsaWVudENvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1N0
cmVhbUNsaWVudENvbm5lY3Rpb24uaAppbmRleCA5OTBkZGM5YmNjOTEuLjU1YTZkZWY0YjVjNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU3RyZWFtQ2xpZW50Q29ubmVj
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1N0cmVhbUNsaWVudENvbm5l
Y3Rpb24uaApAQCAtMTU1LDcgKzE1NSw3IEBAIHByaXZhdGU6CiAgICAgICAgIGNvbnN0IENoZWNr
ZWRSZWY8U3RyZWFtQ2xpZW50Q29ubmVjdGlvbj4gbV9vd25lcjsKICAgICAgICAgV2Vha1B0cjxD
b25uZWN0aW9uOjpDbGllbnQ+IG1fcmVjZWl2ZXI7CiAgICAgfTsKLSAgICBjb25zdCBzdGQ6OnVu
aXF1ZV9wdHI8RGVkaWNhdGVkQ29ubmVjdGlvbkNsaWVudD4gbV9kZWRpY2F0ZWRDb25uZWN0aW9u
Q2xpZW50OworICAgIHN0ZDo6b3B0aW9uYWw8RGVkaWNhdGVkQ29ubmVjdGlvbkNsaWVudD4gbV9k
ZWRpY2F0ZWRDb25uZWN0aW9uQ2xpZW50OwogICAgIHVpbnQ2NF90IG1fY3VycmVudERlc3RpbmF0
aW9uSUQgeyAwIH07CiAgICAgU3RyZWFtQ2xpZW50Q29ubmVjdGlvbkJ1ZmZlciBtX2J1ZmZlcjsK
ICAgICB1bnNpZ25lZCBtX21heEJhdGNoU2l6ZSB7IDEwMCB9OyAvLyBOdW1iZXIgb2YgbWVzc2Fn
ZXMgbWFya2VkIGFzIFN0cmVhbUJhdGNoZWQgdG8gYWNjdW11bGF0ZSBiZWZvcmUgbm90aWZ5aW5n
IHRoZSBzZXJ2ZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXll
clRyZWUvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5oCmluZGV4IDlhZGIz
NTU5MjMzZi4uNjY3OTU4Zjg0OTI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9S
ZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24uaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24u
aApAQCAtODUsNyArODUsNyBAQCBzdHJ1Y3QgQ2hhbmdlZExheWVycyB7CiAgICAgfkNoYW5nZWRM
YXllcnMoKTsKIH07CiAKLWNsYXNzIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uIGZpbmFsIDog
cHVibGljIENhbk1ha2VDaGVja2VkUHRyPFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLCBXVEY6
OkRlZmF1bHRlZE9wZXJhdG9yRXF1YWw6Ok5vLCBXVEY6OkNoZWNrZWRQdHJEZWxldGVDaGVja0V4
Y2VwdGlvbjo6WWVzPiB7CitjbGFzcyBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbiA6IHB1Ymxp
YyBDYW5NYWtlQ2hlY2tlZFB0cjxSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbj4gewogICAgIFdU
Rl9NQUtFX1RaT05FX0FMTE9DQVRFRChSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbik7CiAgICAg
V1RGX09WRVJSSURFX0RFTEVURV9GT1JfQ0hFQ0tFRF9QVFIoUmVtb3RlTGF5ZXJUcmVlVHJhbnNh
Y3Rpb24pOwogcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3Rl
TGF5ZXJUcmVlL1JlbW90ZUxheWVyV2l0aFJlbW90ZVJlbmRlcmluZ0JhY2tpbmdTdG9yZS5oIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyV2l0aFJlbW90
ZVJlbmRlcmluZ0JhY2tpbmdTdG9yZS5oCmluZGV4IDQ1ODE4NzMyOTJlOC4uOWU0YjBhNWUxNjNh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVtb3Rl
TGF5ZXJXaXRoUmVtb3RlUmVuZGVyaW5nQmFja2luZ1N0b3JlLmgKKysrIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyV2l0aFJlbW90ZVJlbmRlcmluZ0Jh
Y2tpbmdTdG9yZS5oCkBAIC00OCw3ICs0OCw2IEBAIHB1YmxpYzoKICAgICB1aW50MzJfdCBjaGVj
a2VkUHRyQ291bnRXaXRob3V0VGhyZWFkQ2hlY2soKSBjb25zdCBmaW5hbCB7IHJldHVybiBDYW5N
YWtlQ2hlY2tlZFB0cjo6Y2hlY2tlZFB0ckNvdW50V2l0aG91dFRocmVhZENoZWNrKCk7IH0KICAg
ICB2b2lkIGluY3JlbWVudENoZWNrZWRQdHJDb3VudCgpIGNvbnN0IGZpbmFsIHsgQ2FuTWFrZUNo
ZWNrZWRQdHI6OmluY3JlbWVudENoZWNrZWRQdHJDb3VudCgpOyB9CiAgICAgdm9pZCBkZWNyZW1l
bnRDaGVja2VkUHRyQ291bnQoKSBjb25zdCBmaW5hbCB7IENhbk1ha2VDaGVja2VkUHRyOjpkZWNy
ZW1lbnRDaGVja2VkUHRyQ291bnQoKTsgfQotICAgIHZvaWQgc2V0RGlkQmVnaW5DaGVja2VkUHRy
RGVsZXRpb24oKSBmaW5hbCB7IENhbk1ha2VDaGVja2VkUHRyOjpzZXREaWRCZWdpbkNoZWNrZWRQ
dHJEZWxldGlvbigpOyB9CiAKICAgICB2b2lkIHByZXBhcmVUb0Rpc3BsYXkoKSBmaW5hbDsKICAg
ICB2b2lkIGNsZWFyQmFja2luZ1N0b3JlKCkgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9TaGFyZWRTdHJpbmdIYXNoU3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1NoYXJlZFN0cmluZ0hhc2hTdG9yZS5oCmluZGV4IGNhOWM2OTZjYzhjNC4uNDQ3NTQ4Y2UwZDM1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9TaGFyZWRTdHJpbmdIYXNoU3RvcmUu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9TaGFyZWRTdHJpbmdIYXNoU3RvcmUuaApAQCAt
MzMsNyArMzMsNyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3MgU2hhcmVkU3RyaW5n
SGFzaFN0b3JlIDogcHVibGljIENhbk1ha2VDaGVja2VkUHRyPFNoYXJlZFN0cmluZ0hhc2hTdG9y
ZSwgV1RGOjpEZWZhdWx0ZWRPcGVyYXRvckVxdWFsOjpObywgV1RGOjpDaGVja2VkUHRyRGVsZXRl
Q2hlY2tFeGNlcHRpb246Olllcz4geworY2xhc3MgU2hhcmVkU3RyaW5nSGFzaFN0b3JlIDogcHVi
bGljIENhbk1ha2VDaGVja2VkUHRyPFNoYXJlZFN0cmluZ0hhc2hTdG9yZT4gewogICAgIFdURl9E
RVBSRUNBVEVEX01BS0VfRkFTVF9BTExPQ0FURUQoU2hhcmVkU3RyaW5nSGFzaFN0b3JlKTsKICAg
ICBXVEZfT1ZFUlJJREVfREVMRVRFX0ZPUl9DSEVDS0VEX1BUUihTaGFyZWRTdHJpbmdIYXNoU3Rv
cmUpOwogcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViRXZlbnQu
aCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkV2ZW50LmgKaW5kZXggODFkYTU1MWMwZjE2Li43
MzBmODljYjAzOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkV2ZW50LmgK
KysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViRXZlbnQuaApAQCAtNDYsNyArNDYsNyBAQCBj
bGFzcyBFbmNvZGVyOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3MgV2ViRXZlbnQgOiBw
dWJsaWMgQ2FuTWFrZVRocmVhZFNhZmVDaGVja2VkUHRyPFdlYkV2ZW50LCBXVEY6OkRlZmF1bHRl
ZE9wZXJhdG9yRXF1YWw6Ok5vLCBXVEY6OkNoZWNrZWRQdHJEZWxldGVDaGVja0V4Y2VwdGlvbjo6
WWVzPiB7CitjbGFzcyBXZWJFdmVudCA6IHB1YmxpYyBDYW5NYWtlVGhyZWFkU2FmZUNoZWNrZWRQ
dHI8V2ViRXZlbnQ+IHsKICAgICBXVEZfTUFLRV9UWk9ORV9BTExPQ0FURUQoV2ViRXZlbnQpOwog
ICAgIFdURl9PVkVSUklERV9ERUxFVEVfRk9SX0NIRUNLRURfUFRSKFdlYkV2ZW50KTsKIHB1Ymxp
YzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1eGlsaWFyeVByb2Nlc3NQ
cm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5LmgK
aW5kZXggZTlhMzQzMjc1ZTY3Li41M2I0YzY0N2MwMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0F1eGlsaWFyeVByb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0F1eGlsaWFyeVByb2Nlc3NQcm94eS5oCkBAIC04NCw3ICs4NCw2IEBAIHB1Ymxp
YzoKICAgICB1aW50MzJfdCBjaGVja2VkUHRyQ291bnRXaXRob3V0VGhyZWFkQ2hlY2soKSBjb25z
dCBmaW5hbCB7IHJldHVybiBJUEM6OkNvbm5lY3Rpb246OkNsaWVudDo6Y2hlY2tlZFB0ckNvdW50
V2l0aG91dFRocmVhZENoZWNrKCk7IH0KICAgICB2b2lkIGluY3JlbWVudENoZWNrZWRQdHJDb3Vu
dCgpIGNvbnN0IGZpbmFsIHsgSVBDOjpDb25uZWN0aW9uOjpDbGllbnQ6OmluY3JlbWVudENoZWNr
ZWRQdHJDb3VudCgpOyB9CiAgICAgdm9pZCBkZWNyZW1lbnRDaGVja2VkUHRyQ291bnQoKSBjb25z
dCBmaW5hbCB7IElQQzo6Q29ubmVjdGlvbjo6Q2xpZW50OjpkZWNyZW1lbnRDaGVja2VkUHRyQ291
bnQoKTsgfQotICAgIHZvaWQgc2V0RGlkQmVnaW5DaGVja2VkUHRyRGVsZXRpb24oKSBmaW5hbCB7
IElQQzo6Q29ubmVjdGlvbjo6Q2xpZW50OjpzZXREaWRCZWdpbkNoZWNrZWRQdHJEZWxldGlvbigp
OyB9CiAKICAgICB2aXJ0dWFsIH5BdXhpbGlhcnlQcm9jZXNzUHJveHkoKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQmFja2dyb3VuZFByb2Nlc3NSZXNwb25zaXZlbmVz
c1RpbWVyLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9CYWNrZ3JvdW5kUHJvY2Vzc1Jlc3Bv
bnNpdmVuZXNzVGltZXIuaAppbmRleCA4NDJjZWNjMmIyNjcuLmI4MDQzNzE4NmVmYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQmFja2dyb3VuZFByb2Nlc3NSZXNwb25zaXZl
bmVzc1RpbWVyLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQmFja2dyb3VuZFByb2Nl
c3NSZXNwb25zaXZlbmVzc1RpbWVyLmgKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYktp
dCB7CiAKIGNsYXNzIFdlYlByb2Nlc3NQcm94eTsKIAotY2xhc3MgQmFja2dyb3VuZFByb2Nlc3NS
ZXNwb25zaXZlbmVzc1RpbWVyIDogcHVibGljIENhbk1ha2VDaGVja2VkUHRyPEJhY2tncm91bmRQ
cm9jZXNzUmVzcG9uc2l2ZW5lc3NUaW1lciwgV1RGOjpEZWZhdWx0ZWRPcGVyYXRvckVxdWFsOjpO
bywgV1RGOjpDaGVja2VkUHRyRGVsZXRlQ2hlY2tFeGNlcHRpb246Olllcz4geworY2xhc3MgQmFj
a2dyb3VuZFByb2Nlc3NSZXNwb25zaXZlbmVzc1RpbWVyIDogcHVibGljIENhbk1ha2VDaGVja2Vk
UHRyPEJhY2tncm91bmRQcm9jZXNzUmVzcG9uc2l2ZW5lc3NUaW1lcj4gewogICAgIFdURl9ERVBS
RUNBVEVEX01BS0VfRkFTVF9BTExPQ0FURUQoQmFja2dyb3VuZFByb2Nlc3NSZXNwb25zaXZlbmVz
c1RpbWVyKTsKICAgICBXVEZfT1ZFUlJJREVfREVMRVRFX0ZPUl9DSEVDS0VEX1BUUihCYWNrZ3Jv
dW5kUHJvY2Vzc1Jlc3BvbnNpdmVuZXNzVGltZXIpOwogcHVibGljOgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJv
eHkuaAppbmRleCA4NmIzZmExYTI1OGIuLmFhNmQ3OTk4NDY3MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5LmgKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlclBy
b3h5LmgKQEAgLTcyLDcgKzcyLDYgQEAgcHVibGljOgogICAgIHVpbnQzMl90IGNoZWNrZWRQdHJD
b3VudFdpdGhvdXRUaHJlYWRDaGVjaygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIENhbk1ha2VDaGVj
a2VkUHRyOjpjaGVja2VkUHRyQ291bnRXaXRob3V0VGhyZWFkQ2hlY2soKTsgfQogICAgIHZvaWQg
aW5jcmVtZW50Q2hlY2tlZFB0ckNvdW50KCkgY29uc3QgZmluYWwgeyBDYW5NYWtlQ2hlY2tlZFB0
cjo6aW5jcmVtZW50Q2hlY2tlZFB0ckNvdW50KCk7IH0KICAgICB2b2lkIGRlY3JlbWVudENoZWNr
ZWRQdHJDb3VudCgpIGNvbnN0IGZpbmFsIHsgQ2FuTWFrZUNoZWNrZWRQdHI6OmRlY3JlbWVudENo
ZWNrZWRQdHJDb3VudCgpOyB9Ci0gICAgdm9pZCBzZXREaWRCZWdpbkNoZWNrZWRQdHJEZWxldGlv
bigpIGZpbmFsIHsgQ2FuTWFrZUNoZWNrZWRQdHI6OnNldERpZEJlZ2luQ2hlY2tlZFB0ckRlbGV0
aW9uKCk7IH0KIAogICAgIC8vIFBsYXliYWNrU2Vzc2lvbk1vZGVsCiAgICAgdm9pZCBhZGRDbGll
bnQoV2ViQ29yZTo6UGxheWJhY2tTZXNzaW9uTW9kZWxDbGllbnQmKSBmaW5hbDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Rpc3BsYXlMaW5rLmggYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9EaXNwbGF5TGluay5oCmluZGV4IGM4YjdmMjU1NzU1ZS4uYmIyOTJiMDk4OTg1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9EaXNwbGF5TGluay5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Rpc3BsYXlMaW5rLmgKQEAgLTUzLDcgKzUzLDcgQEAg
bmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBEaXNwbGF5TGluayB7CiAgICAgV1RGX01BS0VfVFpP
TkVfQUxMT0NBVEVEKERpc3BsYXlMaW5rKTsKIHB1YmxpYzoKLSAgICBjbGFzcyBDbGllbnQgOiBw
dWJsaWMgQ2FuTWFrZVRocmVhZFNhZmVDaGVja2VkUHRyPENsaWVudCwgV1RGOjpEZWZhdWx0ZWRP
cGVyYXRvckVxdWFsOjpObywgV1RGOjpDaGVja2VkUHRyRGVsZXRlQ2hlY2tFeGNlcHRpb246Olll
cz4geworICAgIGNsYXNzIENsaWVudCA6IHB1YmxpYyBDYW5NYWtlVGhyZWFkU2FmZUNoZWNrZWRQ
dHI8Q2xpZW50PiB7CiAgICAgICAgIFdURl9NQUtFX1RaT05FX0FMTE9DQVRFRChDbGllbnQpOwog
ICAgICAgICBXVEZfT1ZFUlJJREVfREVMRVRFX0ZPUl9DSEVDS0VEX1BUUihDbGllbnQpOwogICAg
IGZyaWVuZCBjbGFzcyBEaXNwbGF5TGluazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Vmlld0dlc3R1cmVDb250cm9sbGVyLmgKaW5kZXggZjA3YzVlNDQ4OTJjLi45MzYxYzNlNjRlYTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1ZpZXdHZXN0dXJlQ29udHJvbGxl
ci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5o
CkBAIC0yMzQsNyArMjM0LDcgQEAgcHJpdmF0ZToKICAgICBXZWJCYWNrRm9yd2FyZExpc3QqIGJh
Y2tGb3J3YXJkTGlzdEZvck5hdmlnYXRpb24oKSBjb25zdDsKICNlbmRpZgogCi0gICAgY2xhc3Mg
U25hcHNob3RSZW1vdmFsVHJhY2tlciA6IHB1YmxpYyBDYW5NYWtlQ2hlY2tlZFB0cjxTbmFwc2hv
dFJlbW92YWxUcmFja2VyLCBXVEY6OkRlZmF1bHRlZE9wZXJhdG9yRXF1YWw6Ok5vLCBXVEY6OkNo
ZWNrZWRQdHJEZWxldGVDaGVja0V4Y2VwdGlvbjo6WWVzPiB7CisgICAgY2xhc3MgU25hcHNob3RS
ZW1vdmFsVHJhY2tlciA6IHB1YmxpYyBDYW5NYWtlQ2hlY2tlZFB0cjxTbmFwc2hvdFJlbW92YWxU
cmFja2VyPiB7CiAgICAgICAgIFdURl9ERVBSRUNBVEVEX01BS0VfRkFTVF9BTExPQ0FURUQoU25h
cHNob3RSZW1vdmFsVHJhY2tlcik7CiAgICAgICAgIFdURl9PVkVSUklERV9ERUxFVEVfRk9SX0NI
RUNLRURfUFRSKFNuYXBzaG90UmVtb3ZhbFRyYWNrZXIpOwogICAgIHB1YmxpYzoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eUludGVybmFscy5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5SW50ZXJuYWxzLmgKaW5kZXggNWFjZDc0
NWRhZDNiLi4xZTA2MjliNzBmMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eUludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eUludGVybmFscy5oCkBAIC0yMzcsMTQgKzIzNyw2IEBAIHB1YmxpYzoKICAgICB1
aW50MzJfdCBjaGVja2VkUHRyQ291bnRXaXRob3V0VGhyZWFkQ2hlY2soKSBjb25zdCB7IHJldHVy
biBXZWJQb3B1cE1lbnVQcm94eTo6Q2xpZW50OjpjaGVja2VkUHRyQ291bnRXaXRob3V0VGhyZWFk
Q2hlY2soKTsgfQogICAgIHZvaWQgaW5jcmVtZW50Q2hlY2tlZFB0ckNvdW50KCkgY29uc3QgeyBX
ZWJQb3B1cE1lbnVQcm94eTo6Q2xpZW50OjppbmNyZW1lbnRDaGVja2VkUHRyQ291bnQoKTsgfQog
ICAgIHZvaWQgZGVjcmVtZW50Q2hlY2tlZFB0ckNvdW50KCkgY29uc3QgeyBXZWJQb3B1cE1lbnVQ
cm94eTo6Q2xpZW50OjpkZWNyZW1lbnRDaGVja2VkUHRyQ291bnQoKTsgfQotICAgIHZvaWQgc2V0
RGlkQmVnaW5DaGVja2VkUHRyRGVsZXRpb24oKQotICAgIHsKLSAgICAgICAgV2ViUG9wdXBNZW51
UHJveHk6OkNsaWVudDo6c2V0RGlkQmVnaW5DaGVja2VkUHRyRGVsZXRpb24oKTsKLSNpZiBFTkFC
TEUoQVBQTEVfUEFZKQotICAgICAgICBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Q2xpZW50
OjpzZXREaWRCZWdpbkNoZWNrZWRQdHJEZWxldGlvbigpOwotI2VuZGlmCi0gICAgICAgIFdlYkNv
bG9yUGlja2VyQ2xpZW50OjpzZXREaWRCZWdpbkNoZWNrZWRQdHJEZWxldGlvbigpOwotICAgIH0K
IAogI2lmIFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogICAgIC8vIEVuZG93bWVudFN0YXRlVHJhY2tl
ckNsaWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Z1bGxzY3Jl
ZW4vV0tGdWxsU2NyZWVuVmlld0NvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9pb3MvZnVsbHNjcmVlbi9XS0Z1bGxTY3JlZW5WaWV3Q29udHJvbGxlci5tbQppbmRleCBhMTBm
MTlkYWE2MmQuLjZkZjJmMGZlNDg3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL2Z1bGxzY3JlZW4vV0tGdWxsU2NyZWVuVmlld0NvbnRyb2xsZXIubW0KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Z1bGxzY3JlZW4vV0tGdWxsU2NyZWVuVmlld0NvbnRy
b2xsZXIubW0KQEAgLTExMiw3ICsxMTIsNiBAQCBwcml2YXRlOgogICAgIHVpbnQzMl90IGNoZWNr
ZWRQdHJDb3VudFdpdGhvdXRUaHJlYWRDaGVjaygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIENhbk1h
a2VDaGVja2VkUHRyOjpjaGVja2VkUHRyQ291bnRXaXRob3V0VGhyZWFkQ2hlY2soKTsgfQogICAg
IHZvaWQgaW5jcmVtZW50Q2hlY2tlZFB0ckNvdW50KCkgY29uc3QgZmluYWwgeyBDYW5NYWtlQ2hl
Y2tlZFB0cjo6aW5jcmVtZW50Q2hlY2tlZFB0ckNvdW50KCk7IH0KICAgICB2b2lkIGRlY3JlbWVu
dENoZWNrZWRQdHJDb3VudCgpIGNvbnN0IGZpbmFsIHsgQ2FuTWFrZUNoZWNrZWRQdHI6OmRlY3Jl
bWVudENoZWNrZWRQdHJDb3VudCgpOyB9Ci0gICAgdm9pZCBzZXREaWRCZWdpbkNoZWNrZWRQdHJE
ZWxldGlvbigpIGZpbmFsIHsgQ2FuTWFrZUNoZWNrZWRQdHI6OnNldERpZEJlZ2luQ2hlY2tlZFB0
ckRlbGV0aW9uKCk7IH0KIAogICAgIFdlYWtPYmpDUHRyPFdLRnVsbFNjcmVlblZpZXdDb250cm9s
bGVyPiBtX3BhcmVudDsKICAgICBSZWZQdHI8V2ViQ29yZTo6UGxheWJhY2tTZXNzaW9uSW50ZXJm
YWNlSU9TPiBtX2ludGVyZmFjZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L3dpbi9XZWJQb3B1cE1lbnVQcm94eVdpbi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2lu
L1dlYlBvcHVwTWVudVByb3h5V2luLmgKaW5kZXggY2E2MjdhZDc3MTNmLi5jNzRjNjBmOTkwM2Ig
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9XZWJQb3B1cE1lbnVQcm94
eVdpbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9XZWJQb3B1cE1lbnVQcm94
eVdpbi5oCkBAIC01Nyw3ICs1Nyw2IEBAIHB1YmxpYzoKICAgICB1aW50MzJfdCBjaGVja2VkUHRy
Q291bnRXaXRob3V0VGhyZWFkQ2hlY2soKSBjb25zdCBmaW5hbCB7IHJldHVybiBDYW5NYWtlQ2hl
Y2tlZFB0cjo6Y2hlY2tlZFB0ckNvdW50V2l0aG91dFRocmVhZENoZWNrKCk7IH0KICAgICB2b2lk
IGluY3JlbWVudENoZWNrZWRQdHJDb3VudCgpIGNvbnN0IGZpbmFsIHsgQ2FuTWFrZUNoZWNrZWRQ
dHI6OmluY3JlbWVudENoZWNrZWRQdHJDb3VudCgpOyB9CiAgICAgdm9pZCBkZWNyZW1lbnRDaGVj
a2VkUHRyQ291bnQoKSBjb25zdCBmaW5hbCB7IENhbk1ha2VDaGVja2VkUHRyOjpkZWNyZW1lbnRD
aGVja2VkUHRyQ291bnQoKTsgfQotICAgIHZvaWQgc2V0RGlkQmVnaW5DaGVja2VkUHRyRGVsZXRp
b24oKSBmaW5hbCB7IENhbk1ha2VDaGVja2VkUHRyOjpzZXREaWRCZWdpbkNoZWNrZWRQdHJEZWxl
dGlvbigpOyB9CiAKICAgICB2b2lkIHNob3dQb3B1cE1lbnUoY29uc3QgV2ViQ29yZTo6SW50UmVj
dCYsIFdlYkNvcmU6OlRleHREaXJlY3Rpb24sIGRvdWJsZSBwYWdlU2NhbGVGYWN0b3IsIGNvbnN0
IFZlY3RvcjxXZWJQb3B1cEl0ZW0+JiwgY29uc3QgUGxhdGZvcm1Qb3B1cE1lbnVEYXRhJiwgaW50
MzJfdCBzZWxlY3RlZEluZGV4KSBvdmVycmlkZTsKICAgICB2b2lkIGhpZGVQb3B1cE1lbnUoKSBv
dmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhp
Y3MvUmVtb3RlUmVzb3VyY2VDYWNoZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL2dyYXBoaWNzL1JlbW90ZVJlc291cmNlQ2FjaGVQcm94eS5oCmluZGV4IGY4YjZkYzZmYjVm
NS4uOGE4ZDYwZGY5YzMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L2dyYXBoaWNzL1JlbW90ZVJlc291cmNlQ2FjaGVQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVzb3VyY2VDYWNoZVByb3h5LmgKQEAgLTgx
LDcgKzgxLDYgQEAgcHVibGljOgogICAgIHVpbnQzMl90IGNoZWNrZWRQdHJDb3VudFdpdGhvdXRU
aHJlYWRDaGVjaygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIENhbk1ha2VDaGVja2VkUHRyOjpjaGVj
a2VkUHRyQ291bnRXaXRob3V0VGhyZWFkQ2hlY2soKTsgfQogICAgIHZvaWQgaW5jcmVtZW50Q2hl
Y2tlZFB0ckNvdW50KCkgY29uc3QgZmluYWwgeyBDYW5NYWtlQ2hlY2tlZFB0cjo6aW5jcmVtZW50
Q2hlY2tlZFB0ckNvdW50KCk7IH0KICAgICB2b2lkIGRlY3JlbWVudENoZWNrZWRQdHJDb3VudCgp
IGNvbnN0IGZpbmFsIHsgQ2FuTWFrZUNoZWNrZWRQdHI6OmRlY3JlbWVudENoZWNrZWRQdHJDb3Vu
dCgpOyB9Ci0gICAgdm9pZCBzZXREaWRCZWdpbkNoZWNrZWRQdHJEZWxldGlvbigpIGZpbmFsIHsg
Q2FuTWFrZUNoZWNrZWRQdHI6OnNldERpZEJlZ2luQ2hlY2tlZFB0ckRlbGV0aW9uKCk7IH0KIAog
ICAgIHVuc2lnbmVkIG5hdGl2ZUltYWdlQ291bnRGb3JUZXN0aW5nKCkgY29uc3QgeyByZXR1cm4g
bV9uYXRpdmVJbWFnZXMuc2l6ZSgpOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW5CYXNlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luQmFzZS5oCmluZGV4IGJkMzMzNTMwOWNmZi4uNDY1
NzgzZjFjZjA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9Q
REYvUERGUGx1Z2luQmFzZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5z
L1BERi9QREZQbHVnaW5CYXNlLmgKQEAgLTEyNyw3ICsxMjcsNiBAQCBwdWJsaWM6CiAgICAgdWlu
dDMyX3QgY2hlY2tlZFB0ckNvdW50V2l0aG91dFRocmVhZENoZWNrKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gQ2FuTWFrZVRocmVhZFNhZmVDaGVja2VkUHRyOjpjaGVja2VkUHRyQ291bnRXaXRob3V0
VGhyZWFkQ2hlY2soKTsgfQogICAgIHZvaWQgaW5jcmVtZW50Q2hlY2tlZFB0ckNvdW50KCkgY29u
c3QgZmluYWwgeyBDYW5NYWtlVGhyZWFkU2FmZUNoZWNrZWRQdHI6OmluY3JlbWVudENoZWNrZWRQ
dHJDb3VudCgpOyB9CiAgICAgdm9pZCBkZWNyZW1lbnRDaGVja2VkUHRyQ291bnQoKSBjb25zdCBm
aW5hbCB7IENhbk1ha2VUaHJlYWRTYWZlQ2hlY2tlZFB0cjo6ZGVjcmVtZW50Q2hlY2tlZFB0ckNv
dW50KCk7IH0KLSAgICB2b2lkIHNldERpZEJlZ2luQ2hlY2tlZFB0ckRlbGV0aW9uKCkgZmluYWwg
eyBDYW5NYWtlVGhyZWFkU2FmZUNoZWNrZWRQdHI6OnNldERpZEJlZ2luQ2hlY2tlZFB0ckRlbGV0
aW9uKCk7IH0KIAogICAgIHZvaWQgc3RhcnRMb2FkaW5nKCk7CiAgICAgdm9pZCBkZXN0cm95KCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3BlZWNoL1NwZWVjaFJlY29n
bml0aW9uUmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvblJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2Vy
LmNwcAppbmRleCAxYmY3NTIyOTljNTkuLjAyNmNkZWU5NDA3OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvblJlYWx0aW1lTWVkaWFT
b3VyY2VNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3BlZWNoL1Nw
ZWVjaFJlY29nbml0aW9uUmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXIuY3BwCkBAIC05Myw3ICs5
Myw2IEBAIHB1YmxpYzoKICAgICB1aW50MzJfdCBjaGVja2VkUHRyQ291bnRXaXRob3V0VGhyZWFk
Q2hlY2soKSBjb25zdCBmaW5hbCB7IHJldHVybiBDYW5NYWtlQ2hlY2tlZFB0cjo6Y2hlY2tlZFB0
ckNvdW50V2l0aG91dFRocmVhZENoZWNrKCk7IH0KICAgICB2b2lkIGluY3JlbWVudENoZWNrZWRQ
dHJDb3VudCgpIGNvbnN0IGZpbmFsIHsgQ2FuTWFrZUNoZWNrZWRQdHI6OmluY3JlbWVudENoZWNr
ZWRQdHJDb3VudCgpOyB9CiAgICAgdm9pZCBkZWNyZW1lbnRDaGVja2VkUHRyQ291bnQoKSBjb25z
dCBmaW5hbCB7IENhbk1ha2VDaGVja2VkUHRyOjpkZWNyZW1lbnRDaGVja2VkUHRyQ291bnQoKTsg
fQotICAgIHZvaWQgc2V0RGlkQmVnaW5DaGVja2VkUHRyRGVsZXRpb24oKSBmaW5hbCB7IENhbk1h
a2VDaGVja2VkUHRyOjpzZXREaWRCZWdpbkNoZWNrZWRQdHJEZWxldGlvbigpOyB9CiAKIHByaXZh
dGU6CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAppbmRleCA3NDNkZWFlZjBiMjAuLmEz
MzlmZWQ3NWY0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaApAQCAtMTIyLDcgKzEy
Miw2IEBAIHByaXZhdGU6CiAgICAgdWludDMyX3QgY2hlY2tlZFB0ckNvdW50V2l0aG91dFRocmVh
ZENoZWNrKCkgY29uc3QgZmluYWwgeyByZXR1cm4gV2ViQ29yZTo6UGFzdGVib2FyZFN0cmF0ZWd5
OjpjaGVja2VkUHRyQ291bnRXaXRob3V0VGhyZWFkQ2hlY2soKTsgfQogICAgIHZvaWQgaW5jcmVt
ZW50Q2hlY2tlZFB0ckNvdW50KCkgY29uc3QgZmluYWwgeyBXZWJDb3JlOjpQYXN0ZWJvYXJkU3Ry
YXRlZ3k6OmluY3JlbWVudENoZWNrZWRQdHJDb3VudCgpOyB9CiAgICAgdm9pZCBkZWNyZW1lbnRD
aGVja2VkUHRyQ291bnQoKSBjb25zdCBmaW5hbCB7IFdlYkNvcmU6OlBhc3RlYm9hcmRTdHJhdGVn
eTo6ZGVjcmVtZW50Q2hlY2tlZFB0ckNvdW50KCk7IH0KLSAgICB2b2lkIHNldERpZEJlZ2luQ2hl
Y2tlZFB0ckRlbGV0aW9uKCkgZmluYWwgeyBXZWJDb3JlOjpQYXN0ZWJvYXJkU3RyYXRlZ3k6OnNl
dERpZEJlZ2luQ2hlY2tlZFB0ckRlbGV0aW9uKCk7IH0KICNlbmRpZgogfTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvSVBDVGVzdGluZ0FQSS5jcHAgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9JUENUZXN0aW5nQVBJLmNwcAppbmRleCA5
NDVmZmRiMjU1YjcuLjMxY2U1MmFlZWFkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvSVBDVGVzdGluZ0FQSS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvSVBDVGVzdGluZ0FQSS5jcHAKQEAgLTIxNCw3ICsyMTQsNiBAQCBwcml2
YXRlOgogICAgIEpTSVBDU3RyZWFtQ2xpZW50Q29ubmVjdGlvbihKU0lQQyYganNJUEMsIFJlZlB0
cjxJUEM6OlN0cmVhbUNsaWVudENvbm5lY3Rpb24+IGNvbm5lY3Rpb24pCiAgICAgICAgIDogbV9q
c0lQQyhqc0lQQykKICAgICAgICAgLCBtX3N0cmVhbUNvbm5lY3Rpb24geyBXVEZNb3ZlKGNvbm5l
Y3Rpb24pIH0KLSAgICAgICAgLCBtX2R1bW15TWVzc2FnZVJlY2VpdmVyIHsgbWFrZVVuaXF1ZVJl
ZldpdGhvdXRSZWZDb3VudGVkQ2hlY2s8TWVzc2FnZVJlY2VpdmVyPigqdGhpcykgfQogICAgIHsK
ICAgICB9CiAKQEAgLTI2NCw4ICsyNjMsNyBAQCBwcml2YXRlOgogCiAgICAgcHJpdmF0ZToKICAg
ICAgICAgV2Vha1JlZjxKU0lQQ1N0cmVhbUNsaWVudENvbm5lY3Rpb24+IG1fY29ubmVjdGlvbjsK
LSAgICB9OwotICAgIFVuaXF1ZVJlZjxNZXNzYWdlUmVjZWl2ZXI+IG1fZHVtbXlNZXNzYWdlUmVj
ZWl2ZXI7CisgICAgfSBtX2R1bW15TWVzc2FnZVJlY2VpdmVyIHsgKnRoaXMgfTsKIH07CiAKIGNs
YXNzIEpTSVBDU3RyZWFtU2VydmVyQ29ubmVjdGlvbkhhbmRsZSA6IHB1YmxpYyBSZWZDb3VudGVk
PEpTSVBDU3RyZWFtU2VydmVyQ29ubmVjdGlvbkhhbmRsZT4gewpAQCAtMTA1OSw3ICsxMDU3LDcg
QEAgSlNWYWx1ZVJlZiBKU0lQQ1N0cmVhbUNsaWVudENvbm5lY3Rpb246Om9wZW4oSlNDb250ZXh0
UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmLAogICAgICAgICAqZXhjZXB0aW9uID0gY3JlYXRlVHlw
ZUVycm9yKGNvbnRleHQsICJXcm9uZyB0eXBlIl9zKTsKICAgICAgICAgcmV0dXJuIEpTVmFsdWVN
YWtlVW5kZWZpbmVkKGNvbnRleHQpOwogICAgIH0KLSAgICBqc0lQQy0+bV9zdHJlYW1Db25uZWN0
aW9uLT5vcGVuKGpzSVBDLT5tX2R1bW15TWVzc2FnZVJlY2VpdmVyLmdldCgpKTsKKyAgICBqc0lQ
Qy0+bV9zdHJlYW1Db25uZWN0aW9uLT5vcGVuKGpzSVBDLT5tX2R1bW15TWVzc2FnZVJlY2VpdmVy
KTsKICAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9QbGF5YmFja1Nlc3Npb25NYW5h
Z2VyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUGxheWJhY2tTZXNzaW9uTWFu
YWdlci5oCmluZGV4IDMxMGU3MDBlNjMxNi4uZmRhNDUxMzQ5ODhiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlci5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyLmgK
QEAgLTg1LDcgKzg1LDYgQEAgcHJpdmF0ZToKICAgICB1aW50MzJfdCBjaGVja2VkUHRyQ291bnRX
aXRob3V0VGhyZWFkQ2hlY2soKSBjb25zdCBmaW5hbCB7IHJldHVybiBDYW5NYWtlQ2hlY2tlZFB0
cjo6Y2hlY2tlZFB0ckNvdW50V2l0aG91dFRocmVhZENoZWNrKCk7IH0KICAgICB2b2lkIGluY3Jl
bWVudENoZWNrZWRQdHJDb3VudCgpIGNvbnN0IGZpbmFsIHsgQ2FuTWFrZUNoZWNrZWRQdHI6Omlu
Y3JlbWVudENoZWNrZWRQdHJDb3VudCgpOyB9CiAgICAgdm9pZCBkZWNyZW1lbnRDaGVja2VkUHRy
Q291bnQoKSBjb25zdCBmaW5hbCB7IENhbk1ha2VDaGVja2VkUHRyOjpkZWNyZW1lbnRDaGVja2Vk
UHRyQ291bnQoKTsgfQotICAgIHZvaWQgc2V0RGlkQmVnaW5DaGVja2VkUHRyRGVsZXRpb24oKSBm
aW5hbCB7IENhbk1ha2VDaGVja2VkUHRyOjpzZXREaWRCZWdpbkNoZWNrZWRQdHJEZWxldGlvbigp
OyB9CiAKICAgICAvLyBQbGF5YmFja1Nlc3Npb25Nb2RlbENsaWVudAogICAgIHZvaWQgZHVyYXRp
b25DaGFuZ2VkKGRvdWJsZSkgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvY29jb2EvVmlkZW9QcmVzZW50YXRpb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvY29jb2EvVmlkZW9QcmVzZW50YXRpb25NYW5hZ2VyLmgKaW5kZXggMDcwMjM3MDk1
ZjVlLi40MmM5ZDU4ZGZiY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9j
b2NvYS9WaWRlb1ByZXNlbnRhdGlvbk1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvY29jb2EvVmlkZW9QcmVzZW50YXRpb25NYW5hZ2VyLmgKQEAgLTExNiw3ICsxMTYsNiBA
QCBwcml2YXRlOgogICAgIHVpbnQzMl90IGNoZWNrZWRQdHJDb3VudFdpdGhvdXRUaHJlYWRDaGVj
aygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIENhbk1ha2VDaGVja2VkUHRyOjpjaGVja2VkUHRyQ291
bnRXaXRob3V0VGhyZWFkQ2hlY2soKTsgfQogICAgIHZvaWQgaW5jcmVtZW50Q2hlY2tlZFB0ckNv
dW50KCkgY29uc3QgZmluYWwgeyBDYW5NYWtlQ2hlY2tlZFB0cjo6aW5jcmVtZW50Q2hlY2tlZFB0
ckNvdW50KCk7IH0KICAgICB2b2lkIGRlY3JlbWVudENoZWNrZWRQdHJDb3VudCgpIGNvbnN0IGZp
bmFsIHsgQ2FuTWFrZUNoZWNrZWRQdHI6OmRlY3JlbWVudENoZWNrZWRQdHJDb3VudCgpOyB9Ci0g
ICAgdm9pZCBzZXREaWRCZWdpbkNoZWNrZWRQdHJEZWxldGlvbigpIGZpbmFsIHsgQ2FuTWFrZUNo
ZWNrZWRQdHI6OnNldERpZEJlZ2luQ2hlY2tlZFB0ckRlbGV0aW9uKCk7IH0KIAogICAgIHZvaWQg
dmlkZW9EaW1lbnNpb25zQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmKSBvdmVycmlk
ZTsKICAgICB2b2lkIHNldFBsYXllcklkZW50aWZpZXIoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpN
ZWRpYVBsYXllcklkZW50aWZpZXI+KSBmaW5hbDsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV1RGL0hhc2hlci5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dU
Ri9IYXNoZXIuY3BwCmluZGV4IGQ2M2ZjNjMwOWI3Yi4uODk1NDdlYWJmMDFkIDEwMDY0NAotLS0g
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9IYXNoZXIuY3BwCisrKyBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV1RGL0hhc2hlci5jcHAKQEAgLTI0MywxMSArMjQzLDExIEBAIHN0
cnVjdCBDaGVja2VkT2JqZWN0IGZpbmFsIDogcHVibGljIENhbk1ha2VDaGVja2VkUHRyPENoZWNr
ZWRPYmplY3Q+IHsKIAogVEVTVChXVEYsIEhhc2hlcl9DaGVja2VkUHRyKQogewotICAgIGF1dG8g
dGVzdCA9IG1ha2VVbmlxdWVSZWY8Q2hlY2tlZE9iamVjdD4oKTsKLSAgICBhdXRvIHRlc3QyID0g
bWFrZVVuaXF1ZVJlZjxDaGVja2VkT2JqZWN0PigpOworICAgIENoZWNrZWRPYmplY3QgdGVzdDsK
KyAgICBDaGVja2VkT2JqZWN0IHRlc3QyOwogCiAgICAgQ2hlY2tlZFB0cjxDaGVja2VkT2JqZWN0
PiBudWxsQ2hlY2tlZFB0cjsKLSAgICBDaGVja2VkUHRyPENoZWNrZWRPYmplY3Q+IG5vbk51bGxD
aGVja2VkUHRyID0gdGVzdC5wdHIoKTsKKyAgICBDaGVja2VkUHRyPENoZWNrZWRPYmplY3Q+IG5v
bk51bGxDaGVja2VkUHRyID0gJnRlc3Q7CiAKICAgICBFWFBFQ1RfRVEoY29tcHV0ZUhhc2gobnVs
bENoZWNrZWRQdHIpLCBjb21wdXRlSGFzaChudWxsQ2hlY2tlZFB0ci5nZXQoKSkpOwogICAgIEVY
UEVDVF9FUShjb21wdXRlSGFzaChub25OdWxsQ2hlY2tlZFB0ciksIGNvbXB1dGVIYXNoKG5vbk51
bGxDaGVja2VkUHRyLmdldCgpKSk7CkBAIC0yNjAsNyArMjYwLDcgQEAgVEVTVChXVEYsIEhhc2hl
cl9DaGVja2VkUHRyKQogICAgIHB0clZlY3Rvci5hcHBlbmQobm9uTnVsbENoZWNrZWRQdHIuZ2V0
KCkpOwogICAgIEVYUEVDVF9FUShjb21wdXRlSGFzaChjaGVja2VkUHRyVmVjdG9yKSwgY29tcHV0
ZUhhc2gocHRyVmVjdG9yKSk7CiAKLSAgICBDaGVja2VkUHRyPENoZWNrZWRPYmplY3Q+IG5vbk51
bGxDaGVja2VkUHRyMiA9IHRlc3QyLnB0cigpOworICAgIENoZWNrZWRQdHI8Q2hlY2tlZE9iamVj
dD4gbm9uTnVsbENoZWNrZWRQdHIyID0gJnRlc3QyOwogCiAgICAgY2hlY2tlZFB0clZlY3Rvci5h
cHBlbmQobm9uTnVsbENoZWNrZWRQdHIyKTsKICAgICBwdHJWZWN0b3IuYXBwZW5kKG5vbk51bGxD
aGVja2VkUHRyMi5nZXQoKSk7CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dURi9SdW5Mb29wLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1bkxvb3Au
Y3BwCmluZGV4IGI3MWFiZmEzZWQ1Zi4uZDk0ZDhlZWM5ZTdhIDEwMDY0NAotLS0gYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcApAQCAtMTQ5LDggKzE0OSw4IEBAIFRFU1QoV1RGX1J1
bkxvb3AsIE9uZVNob3RUaW1lcikKICAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAK
ICAgICBib29sIHRlc3RGaW5pc2hlZCA9IGZhbHNlOwotICAgIGF1dG8gdGltZXIgPSBtYWtlVW5p
cXVlUmVmPERlcml2ZWRPbmVTaG90VGltZXI+KHRlc3RGaW5pc2hlZCk7Ci0gICAgdGltZXItPnN0
YXJ0T25lU2hvdCgxMDBfbXMpOworICAgIERlcml2ZWRPbmVTaG90VGltZXIgdGltZXIodGVzdEZp
bmlzaGVkKTsKKyAgICB0aW1lci5zdGFydE9uZVNob3QoMTAwX21zKTsKICAgICBVdGlsOjpydW4o
JnRlc3RGaW5pc2hlZCk7CiB9CiAKQEAgLTE4OCwxMCArMTg4LDEwIEBAIFRFU1QoV1RGX1J1bkxv
b3AsIFJlcGVhdGluZ1RpbWVyKQogICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKIAog
ICAgIGJvb2wgdGVzdEZpbmlzaGVkID0gZmFsc2U7Ci0gICAgYXV0byB0aW1lciA9IG1ha2VVbmlx
dWVSZWY8RGVyaXZlZFJlcGVhdGluZ1RpbWVyPih0ZXN0RmluaXNoZWQpOwotICAgIHRpbWVyLT5z
dGFydFJlcGVhdGluZygxMF9tcyk7CisgICAgRGVyaXZlZFJlcGVhdGluZ1RpbWVyIHRpbWVyKHRl
c3RGaW5pc2hlZCk7CisgICAgdGltZXIuc3RhcnRSZXBlYXRpbmcoMTBfbXMpOwogICAgIFV0aWw6
OnJ1bigmdGVzdEZpbmlzaGVkKTsKLSAgICBBU1NFUlRfRkFMU0UodGltZXItPmlzQWN0aXZlKCkp
OworICAgIEFTU0VSVF9GQUxTRSh0aW1lci5pc0FjdGl2ZSgpKTsKIH0KIAogVEVTVChXVEZfUnVu
TG9vcCwgTWFueVRpbWVzKQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJDb3JlL2N1cmwvQ3VybE11bHRpcGFydEhhbmRsZVRlc3RzLmNwcCBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViQ29yZS9jdXJsL0N1cmxNdWx0aXBhcnRIYW5kbGVUZXN0cy5jcHAKaW5k
ZXggY2M2OGFmM2I1MjYwLi4xM2QyOTcwNGM3OGIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViQ29yZS9jdXJsL0N1cmxNdWx0aXBhcnRIYW5kbGVUZXN0cy5jcHAKKysr
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL2N1cmwvQ3VybE11bHRpcGFydEhh
bmRsZVRlc3RzLmNwcApAQCAtOTYsNyArOTYsNiBAQCBwcml2YXRlOgogICAgIHVpbnQzMl90IGNo
ZWNrZWRQdHJDb3VudFdpdGhvdXRUaHJlYWRDaGVjaygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIENh
bk1ha2VDaGVja2VkUHRyOjpjaGVja2VkUHRyQ291bnRXaXRob3V0VGhyZWFkQ2hlY2soKTsgfQog
ICAgIHZvaWQgaW5jcmVtZW50Q2hlY2tlZFB0ckNvdW50KCkgY29uc3QgZmluYWwgeyBDYW5NYWtl
Q2hlY2tlZFB0cjo6aW5jcmVtZW50Q2hlY2tlZFB0ckNvdW50KCk7IH0KICAgICB2b2lkIGRlY3Jl
bWVudENoZWNrZWRQdHJDb3VudCgpIGNvbnN0IGZpbmFsIHsgQ2FuTWFrZUNoZWNrZWRQdHI6OmRl
Y3JlbWVudENoZWNrZWRQdHJDb3VudCgpOyB9Ci0gICAgdm9pZCBzZXREaWRCZWdpbkNoZWNrZWRQ
dHJEZWxldGlvbigpIGZpbmFsIHsgQ2FuTWFrZUNoZWNrZWRQdHI6OnNldERpZEJlZ2luQ2hlY2tl
ZFB0ckRlbGV0aW9uKCk7IH0KIAogICAgIFZlY3RvcjxTdHJpbmc+IG1faGVhZGVyczsKICAgICBW
ZWN0b3I8dWludDhfdD4gbV9kYXRhOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>