<?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>52191</bug_id>
          
          <creation_ts>2011-01-10 20:33:36 -0800</creation_ts>
          <short_desc>REGRESSION(r75460): It broke Qt-WK2 build (Requested by Ossy on #webkit).</short_desc>
          <delta_ts>2011-01-10 20:42:19 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>52078</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>andersca</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ossy</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>332135</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-10 20:33:36 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/75460 broke the build:
It broke Qt-WK2 build (Requested by Ossy on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332136</commentid>
    <comment_count>1</comment_count>
      <attachid>78491</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-10 20:33:58 -0800</bug_when>
    <thetext>Created attachment 78491
ROLLOUT of r75460

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

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

  webkit-patch land-attachment ATTACHMENT_ID --ignore-builders

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332137</commentid>
    <comment_count>2</comment_count>
      <attachid>78491</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-10 20:36:50 -0800</bug_when>
    <thetext>Comment on attachment 78491
ROLLOUT of r75460

Rejecting attachment 78491 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=eseidel-sf-cq&apos;, &apos;ap...&quot; exit_code: 2
Last 500 characters of output:
patching file WebKit2/WebProcess/WebPage/WebPage.cpp
patching file WebKit2/WebProcess/WebPage/WebPage.h
patching file WebKit2/WebProcess/WebPage/WebPage.messages.in
patching file WebKit2/win/WebKit2.vcproj
Hunk #1 FAILED at 1258.
Hunk #2 FAILED at 2031.
Hunk #3 FAILED at 2457.
3 out of 3 hunks FAILED -- saving rejects to file WebKit2/win/WebKit2.vcproj.rej
patching file WebKit2/win/WebKit2Generated.make

Failed to run &quot;[u&apos;/Projects/CommitQueue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;]&quot; exit_code: 1

Full output: http://queues.webkit.org/results/7392115</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332138</commentid>
    <comment_count>3</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-01-10 20:42:19 -0800</bug_when>
    <thetext>Strange .... It applied for me locally. And landed: http://trac.webkit.org/changeset/75474</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78491</attachid>
            <date>2011-01-10 20:33:58 -0800</date>
            <delta_ts>2011-01-10 20:36:50 -0800</delta_ts>
            <desc>ROLLOUT of r75460</desc>
            <filename>bug-52191-20110111043352.patch</filename>
            <type>text/plain</type>
            <size>57938</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdDIvQ2hhbmdlTG9nIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXgg
MDc5ZTQ5NTFiOTVmZDBjN2M0YzM1NWFmMTMwOTU2ODAyYWEwYzc1ZS4uNmNhZTBhMTRmZjlkMmFm
ZDU4YTg1MTNlODA5ZjM2YTliMGQ3NjAwYSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0OSBAQAorMjAxMS0wMS0xMCAgU2hl
cmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CisKKyAgICAgICAgVW5yZXZp
ZXdlZCwgcm9sbGluZyBvdXQgcjc1NDYwLgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC83NTQ2MAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NTIxOTEKKworICAgICAgICBJdCBicm9rZSBRdC1XSzIgYnVpbGQgKFJlcXVlc3Rl
ZCBieSBPc3N5IG9uICN3ZWJraXQpLgorCisgICAgICAgICogU2hhcmVkL0FQSS9jL1dLQmFzZS5o
OgorICAgICAgICAqIFNoYXJlZC9BUElPYmplY3QuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0MvV0tBUElDYXN0Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLR2VvbG9jYXRpb25Q
ZXJtaXNzaW9uUmVxdWVzdC5jcHA6IFJlbW92ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
L1dLR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5oOiBSZW1vdmVkLgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV2ViS2l0
Mi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXdrcGFnZS5jcHA6CisgICAgICAgIChR
V0tQYWdlOjpRV0tQYWdlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvR2VvbG9jYXRpb25QZXJtaXNz
aW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogVUlQcm9jZXNz
L0dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuaDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBVSVByb2Nlc3MvR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdFByb3h5LmNwcDog
UmVtb3ZlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVz
dFByb3h5Lmg6IFJlbW92ZWQuCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6V2ViUGFnZVByb3h5KToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZVByb3h5OjpjbG9zZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQ
cm94eTo6cHJvY2Vzc0RpZENyYXNoKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViVUlDbGllbnQuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJV
SUNsaWVudC5oOgorICAgICAgICAqIFdlYktpdDIucHJvOgorICAgICAgICAqIFdlYktpdDIueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dlb2xvY2F0aW9u
L0dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RN
YW5hZ2VyLmg6IFJlbW92ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9HZW9sb2NhdGlvbi9XZWJH
ZW9sb2NhdGlvbk1hbmFnZXIuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvR2VvbG9jYXRpb24v
V2ViR2VvbG9jYXRpb25NYW5hZ2VyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJHZW9sb2NhdGlvbkNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkdlb2xv
Y2F0aW9uQ2xpZW50OjpyZXF1ZXN0UGVybWlzc2lvbik6CisgICAgICAgIChXZWJLaXQ6OldlYkdl
b2xvY2F0aW9uQ2xpZW50OjpjYW5jZWxQZXJtaXNzaW9uUmVxdWVzdCk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJHZW9sb2NhdGlvbkNsaWVudC5oOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZTo6V2ViUGFnZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKyAgICAgICAg
KiB3aW4vV2ViS2l0Mi52Y3Byb2o6CisgICAgICAgICogd2luL1dlYktpdDJHZW5lcmF0ZWQubWFr
ZToKKwogMjAxMS0wMS0xMCAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgog
CiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI3NTQ1OQpkaWZmIC0tZ2l0IGEvV2Vi
S2l0Mi9TaGFyZWQvQVBJL2MvV0tCYXNlLmggYi9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2Uu
aAppbmRleCA1YzI5ZGIwZDZmOTQ1NmMzODU4NjRkYTNjYTkzOWE2MzZjY2E1YWJiLi5hMGU5ZGQ5
NWFjNjhlYWZmYjc4YzMzNGMxNTAyZTc4OTYzN2FjNWM5IDEwMDY0NAotLS0gYS9XZWJLaXQyL1No
YXJlZC9BUEkvYy9XS0Jhc2UuaAorKysgYi9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2UuaApA
QCAtNzMsNyArNzMsNiBAQCB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS0Zvcm1TdWJtaXNz
aW9uTGlzdGVuZXIqIFdLRm9ybVN1Ym1pc3Npb25MaXN0ZW5lclJlZgogdHlwZWRlZiBjb25zdCBz
dHJ1Y3QgT3BhcXVlV0tGcmFtZSogV0tGcmFtZVJlZjsKIHR5cGVkZWYgY29uc3Qgc3RydWN0IE9w
YXF1ZVdLRnJhbWVQb2xpY3lMaXN0ZW5lciogV0tGcmFtZVBvbGljeUxpc3RlbmVyUmVmOwogdHlw
ZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tHZW9sb2NhdGlvbk1hbmFnZXIqIFdLR2VvbG9jYXRp
b25NYW5hZ2VyUmVmOwotdHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tHZW9sb2NhdGlvblBl
cm1pc3Npb25SZXF1ZXN0KiBXS0dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RSZWY7CiB0eXBl
ZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS0dlb2xvY2F0aW9uUG9zaXRpb24qIFdLR2VvbG9jYXRp
b25Qb3NpdGlvblJlZjsKIHR5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLSW5zcGVjdG9yKiBX
S0luc3BlY3RvclJlZjsKIHR5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLTmF2aWdhdGlvbkRh
dGEqIFdLTmF2aWdhdGlvbkRhdGFSZWY7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1NoYXJlZC9BUElP
YmplY3QuaCBiL1dlYktpdDIvU2hhcmVkL0FQSU9iamVjdC5oCmluZGV4IDcwZWQwYmFhMTM3MzYw
NDQ2ZmQxMGQ1M2I2MDllMTg1NjIzMjM1YmYuLjlkM2JkMDRhNDM0NDNkNmMwNjUzYzAwYWZjYTMz
NjhjYzViZjdiZTUgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvU2hhcmVkL0FQSU9iamVjdC5oCisrKyBi
L1dlYktpdDIvU2hhcmVkL0FQSU9iamVjdC5oCkBAIC02OCw5ICs2OCw4IEBAIHB1YmxpYzoKICAg
ICAgICAgVHlwZUZvcm1TdWJtaXNzaW9uTGlzdGVuZXIsCiAgICAgICAgIFR5cGVGcmFtZSwKICAg
ICAgICAgVHlwZUZyYW1lUG9saWN5TGlzdGVuZXIsCi0gICAgICAgIFR5cGVHZW9sb2NhdGlvbk1h
bmFnZXIsCi0gICAgICAgIFR5cGVHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0LAogICAgICAg
ICBUeXBlR2VvbG9jYXRpb25Qb3NpdGlvbiwKKyAgICAgICAgVHlwZUdlb2xvY2F0aW9uTWFuYWdl
ciwKICAgICAgICAgVHlwZUluc3BlY3RvciwKICAgICAgICAgVHlwZU5hdmlnYXRpb25EYXRhLAog
ICAgICAgICBUeXBlT3BlblBhbmVsUGFyYW1ldGVycywKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oIGIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tBUElD
YXN0LmgKaW5kZXggMTVjYjdlZTIwZmMzZWJhZTY0NGJjYjRiYTRlOTZiZmE5NTMxNTgzMy4uYjNl
OGU4MzVjZjcxMzRlNzYzZDhkNGFhZWFiZmQ3M2M2ZTEyODAyYSAxMDA2NDQKLS0tIGEvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tBUElDYXN0LmgKQEAgLTQzLDcgKzQzLDYgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFz
cyBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5OwogY2xhc3MgQXV0aGVudGljYXRpb25EZWNp
c2lvbkxpc3RlbmVyOwogY2xhc3MgRG93bmxvYWRQcm94eTsKLWNsYXNzIEdlb2xvY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3RQcm94eTsKIGNsYXNzIFdlYkJhY2tGb3J3YXJkTGlzdDsKIGNsYXNzIFdl
YkJhY2tGb3J3YXJkTGlzdEl0ZW07CiBjbGFzcyBXZWJDb250ZXh0OwpAQCAtNzUsNyArNzQsNiBA
QCBXS19BRERfQVBJX01BUFBJTkcoV0tGb3JtU3VibWlzc2lvbkxpc3RlbmVyUmVmLCBXZWJGb3Jt
U3VibWlzc2lvbkxpc3RlbmVyUHJveHkpCiBXS19BRERfQVBJX01BUFBJTkcoV0tGcmFtZVBvbGlj
eUxpc3RlbmVyUmVmLCBXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHkpCiBXS19BRERfQVBJX01B
UFBJTkcoV0tGcmFtZVJlZiwgV2ViRnJhbWVQcm94eSkKIFdLX0FERF9BUElfTUFQUElORyhXS0dl
b2xvY2F0aW9uTWFuYWdlclJlZiwgV2ViR2VvbG9jYXRpb25NYW5hZ2VyUHJveHkpCi1XS19BRERf
QVBJX01BUFBJTkcoV0tHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0UmVmLCBHZW9sb2NhdGlv
blBlcm1pc3Npb25SZXF1ZXN0UHJveHkpCiBXS19BRERfQVBJX01BUFBJTkcoV0tHZW9sb2NhdGlv
blBvc2l0aW9uUmVmLCBXZWJHZW9sb2NhdGlvblBvc2l0aW9uKQogV0tfQUREX0FQSV9NQVBQSU5H
KFdLTmF2aWdhdGlvbkRhdGFSZWYsIFdlYk5hdmlnYXRpb25EYXRhKQogV0tfQUREX0FQSV9NQVBQ
SU5HKFdLT3BlblBhbmVsUGFyYW1ldGVyc1JlZiwgV2ViT3BlblBhbmVsUGFyYW1ldGVycykKZGlm
ZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLR2VvbG9jYXRpb25QZXJtaXNzaW9u
UmVxdWVzdC5jcHAgYi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0dlb2xvY2F0aW9uUGVybWlz
c2lvblJlcXVlc3QuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYTUyNzk4ODAz
MWQ3Zjg2OTk2ZjA0NjgxMGYwMDVjMWRkYWVlNTIxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLR2VvbG9jYXRp
b25QZXJtaXNzaW9uUmVxdWVzdC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw0NiArMCwwIEBACi0v
KgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCi0gKi8KLQotI2luY2x1ZGUgIldLR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5oIgot
Ci0jaW5jbHVkZSAiR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdFByb3h5LmgiCi0jaW5jbHVk
ZSAiV0tBUElDYXN0LmgiCi0KLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7Ci0KLVdLVHlwZUlEIFdL
R2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdEdldFR5cGVJRCgpCi17Ci0gICAgcmV0dXJuIHRv
QVBJKEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RQcm94eTo6QVBJVHlwZSk7Ci19Ci0KLXZv
aWQgV0tHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0QWxsb3coV0tHZW9sb2NhdGlvblBlcm1p
c3Npb25SZXF1ZXN0UmVmIGdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RSZWYpCi17Ci0gICAg
cmV0dXJuIHRvSW1wbChnZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0UmVmKS0+YWxsb3coKTsK
LX0KLQotdm9pZCBXS0dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3REZW55KFdLR2VvbG9jYXRp
b25QZXJtaXNzaW9uUmVxdWVzdFJlZiBnZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0UmVmKQot
ewotICAgIHJldHVybiB0b0ltcGwoZ2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdFJlZiktPmRl
bnkoKTsKLX0KZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLR2VvbG9jYXRp
b25QZXJtaXNzaW9uUmVxdWVzdC5oIGIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tHZW9sb2Nh
dGlvblBlcm1pc3Npb25SZXF1ZXN0LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVl
MjdiNjZlYzI0NGMwZDVlZWRjOTBkNmNmZGRlMjczMDY3NmRiMTkuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tH
ZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0LmgKKysrIC9kZXYvbnVsbApAQCAtMSw0NCArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBXS0dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3Rf
aAotI2RlZmluZSBXS0dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RfaAotCi0jaW5jbHVkZSA8
V2ViS2l0Mi9XS0Jhc2UuaD4KLQotI2lmZGVmIF9fY3BsdXNwbHVzCi1leHRlcm4gIkMiIHsKLSNl
bmRpZgotCi1XS19FWFBPUlQgV0tUeXBlSUQgV0tHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0
R2V0VHlwZUlEKCk7Ci0KLVdLX0VYUE9SVCB2b2lkIFdLR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVx
dWVzdEFsbG93KFdLR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdFJlZiBnZW9sb2NhdGlvblBl
cm1pc3Npb25SZXF1ZXN0KTsKLVdLX0VYUE9SVCB2b2lkIFdLR2VvbG9jYXRpb25QZXJtaXNzaW9u
UmVxdWVzdERlbnkoV0tHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0UmVmIGdlb2xvY2F0aW9u
UGVybWlzc2lvblJlcXVlc3QpOwotCi0jaWZkZWYgX19jcGx1c3BsdXMKLX0KLSNlbmRpZgotCi0j
ZW5kaWYgLyogV0tHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0X2ggKi8KZGlmZiAtLWdpdCBh
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5oIGIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tQYWdlLmgKaW5kZXggZGRlNzI2YmU3M2FmNTdkOTFhMDM2ZGU3ODMyNWY4YzBkZjcxYjc1
Mi4uNGQ4OTE3ODQ5YjcxYmI2YWI5ZTNmNGZjZDgzMmJlYTMwYWZhMWU1YyAxMDA2NDQKLS0tIGEv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tQYWdlLmgKQEAgLTE3Niw3ICsxNzYsNiBAQCB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VE
aWREcmF3Q2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsK
IHR5cGVkZWYgdm9pZCAoKldLUGFnZURpZFNjcm9sbENhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwg
Y29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CiB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgbG9uZyAoKldL
UGFnZUV4Y2VlZGVkRGF0YWJhc2VRdW90YUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tGcmFt
ZVJlZiBmcmFtZSwgV0tTZWN1cml0eU9yaWdpblJlZiBvcmlnaW4sIFdLU3RyaW5nUmVmIGRhdGFi
YXNlTmFtZSwgV0tTdHJpbmdSZWYgZGlzcGxheU5hbWUsIHVuc2lnbmVkIGxvbmcgbG9uZyBjdXJy
ZW50UXVvdGEsIHVuc2lnbmVkIGxvbmcgbG9uZyBjdXJyZW50VXNhZ2UsIHVuc2lnbmVkIGxvbmcg
bG9uZyBleHBlY3RlZFVzYWdlLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9p
ZCAoKldLUGFnZVJ1bk9wZW5QYW5lbENhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tGcmFtZVJl
ZiBmcmFtZSwgV0tPcGVuUGFuZWxQYXJhbWV0ZXJzUmVmIHBhcmFtZXRlcnMsIFdLT3BlblBhbmVs
UmVzdWx0TGlzdGVuZXJSZWYgbGlzdGVuZXIsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwotdHlw
ZWRlZiB2b2lkICgqV0tQYWdlRGVjaWRlUG9saWN5Rm9yR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVx
dWVzdENhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tGcmFtZVJlZiBmcmFtZSwgV0tTZWN1cml0
eU9yaWdpblJlZiBvcmlnaW4sIFdLR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdFJlZiBwZXJt
aXNzaW9uUmVxdWVzdCwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAKIHN0cnVjdCBXS1BhZ2VV
SUNsaWVudCB7CiAgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uOwpAQCAtMjA2LDcgKzIwNSw2IEBAIHN0
cnVjdCBXS1BhZ2VVSUNsaWVudCB7CiAgICAgV0tQYWdlRGlkU2Nyb2xsQ2FsbGJhY2sgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlRGlkU2Nyb2xsOwogICAg
IFdLUGFnZUV4Y2VlZGVkRGF0YWJhc2VRdW90YUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZXhjZWVkZWREYXRhYmFzZVF1b3RhOwogICAgIFdLUGFnZVJ1bk9wZW5QYW5l
bENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVuT3Bl
blBhbmVsOwotICAgIFdLUGFnZURlY2lkZVBvbGljeUZvckdlb2xvY2F0aW9uUGVybWlzc2lvblJl
cXVlc3RDYWxsYmFjayAgICAgICAgICAgZGVjaWRlUG9saWN5Rm9yR2VvbG9jYXRpb25QZXJtaXNz
aW9uUmVxdWVzdDsKIH07CiB0eXBlZGVmIHN0cnVjdCBXS1BhZ2VVSUNsaWVudCBXS1BhZ2VVSUNs
aWVudDsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV2ViS2l0Mi5oIGIv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV2ViS2l0Mi5oCmluZGV4IDAyYTMzOWZhYjgyMDliMjlj
ODUyZjRjZWNmMzY0NmE4YTEwZDU3ZmUuLjhmNmU1ZjBlMGZmZmYxNzlhNTNkNTllYWU4Y2UwYmNi
MjI1ODQyYmIgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dlYktpdDIuaAor
KysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XZWJLaXQyLmgKQEAgLTQwLDcgKzQwLDYgQEAK
ICNpbmNsdWRlIDxXZWJLaXQyL1dLRnJhbWUuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLRnJhbWVQ
b2xpY3lMaXN0ZW5lci5oPgogI2luY2x1ZGUgPFdlYktpdDIvV0tHZW9sb2NhdGlvbk1hbmFnZXIu
aD4KLSNpbmNsdWRlIDxXZWJLaXQyL1dLR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5oPgog
I2luY2x1ZGUgPFdlYktpdDIvV0tHZW9sb2NhdGlvblBvc2l0aW9uLmg+CiAjaW5jbHVkZSA8V2Vi
S2l0Mi9XS011dGFibGVBcnJheS5oPgogI2luY2x1ZGUgPFdlYktpdDIvV0tNdXRhYmxlRGljdGlv
bmFyeS5oPgpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3a3BhZ2UuY3Bw
IGIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3a3BhZ2UuY3BwCmluZGV4IGY5ODU2OWY3ZTU5
OTFmNzlhYWQyY2Y5MDc5MzZhMjE5NDQ1MjNiMDMuLjk5ZWU2MTc4MTY4MzU0Nzg1Y2EyMzgxNDUx
OTMxMGE2YWQ5ZTU2YmEgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2tw
YWdlLmNwcAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdrcGFnZS5jcHAKQEAgLTQx
Miw4ICs0MTIsNyBAQCBRV0tQYWdlOjpRV0tQYWdlKFFXS0NvbnRleHQqIGNvbnRleHQpCiAgICAg
ICAgIDAsICAvKiBkaWREcmF3ICovCiAgICAgICAgIDAsICAvKiBwYWdlRGlkU2Nyb2xsICovCiAg
ICAgICAgIDAsICAvKiBleGNlZWRlZERhdGFiYXNlUXVvdGEgKi8KLSAgICAgICAgMCwgIC8qIHJ1
bk9wZW5QYW5lbCAqLwotICAgICAgICAwICAgLyogZGVjaWRlUG9saWN5Rm9yR2VvbG9jYXRpb25Q
ZXJtaXNzaW9uUmVxdWVzdCAqLworICAgICAgICAwICAgLyogcnVuT3BlblBhbmVsICovCiAgICAg
fTsKICAgICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQocGFnZVJlZigpLCAmdWlDbGllbnQpOwogfQpk
aWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVz
dE1hbmFnZXJQcm94eS5jcHAgYi9XZWJLaXQyL1VJUHJvY2Vzcy9HZW9sb2NhdGlvblBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDUzNTUzZjhkN2EzNTA4MTVlMjU5YjFiMTRlYmI3ZjNjY2RjM2ViNy4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9HZW9sb2Nh
dGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcAorKysgL2Rldi9udWxsCkBAIC0x
LDY4ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiR2VvbG9jYXRpb25QZXJtaXNzaW9u
UmVxdWVzdE1hbmFnZXJQcm94eS5oIgotCi0jaW5jbHVkZSAiV2ViUGFnZU1lc3NhZ2VzLmgiCi0j
aW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCi0jaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5LmgiCi0K
LW5hbWVzcGFjZSBXZWJLaXQgewotCi1HZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
clByb3h5OjpHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5KFdlYlBhZ2VQ
cm94eSogcGFnZSkKLSAgICA6IG1fcGFnZShwYWdlKQotewotfQotCi12b2lkIEdlb2xvY2F0aW9u
UGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OmludmFsaWRhdGVSZXF1ZXN0cygpCi17Ci0g
ICAgUGVuZGluZ1JlcXVlc3RNYXA6OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IG1fcGVuZGluZ1JlcXVl
c3RzLmVuZCgpOwotICAgIGZvciAoUGVuZGluZ1JlcXVlc3RNYXA6OmNvbnN0X2l0ZXJhdG9yIGl0
ID0gbV9wZW5kaW5nUmVxdWVzdHMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KQotICAgICAgICBp
dC0+c2Vjb25kLT5pbnZhbGlkYXRlKCk7Ci0KLSAgICBtX3BlbmRpbmdSZXF1ZXN0cy5jbGVhcigp
OwotfQotCi1QYXNzUmVmUHRyPEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RQcm94eT4gR2Vv
bG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6Y3JlYXRlUmVxdWVzdCh1aW50
NjRfdCBnZW9sb2NhdGlvbklEKQotewotICAgIFJlZlB0cjxHZW9sb2NhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0UHJveHk+IHJlcXVlc3QgPSBHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0UHJveHk6
OmNyZWF0ZSh0aGlzLCBnZW9sb2NhdGlvbklEKTsKLSAgICBtX3BlbmRpbmdSZXF1ZXN0cy5hZGQo
Z2VvbG9jYXRpb25JRCwgcmVxdWVzdC5nZXQoKSk7Ci0gICAgcmV0dXJuIHJlcXVlc3QucmVsZWFz
ZSgpOwotfQotCi12b2lkIEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6
OmRpZFJlY2VpdmVHZW9sb2NhdGlvblBlcm1pc3Npb25EZWNpc2lvbih1aW50NjRfdCBnZW9sb2Nh
dGlvbklELCBib29sIGFsbG93ZWQpCi17Ci0gICAgaWYgKCFtX3BhZ2UtPmlzVmFsaWQoKSkKLSAg
ICAgICAgcmV0dXJuOwotCi0gICAgUGVuZGluZ1JlcXVlc3RNYXA6Oml0ZXJhdG9yIGl0ID0gbV9w
ZW5kaW5nUmVxdWVzdHMuZmluZChnZW9sb2NhdGlvbklEKTsKLSAgICBpZiAoaXQgPT0gbV9wZW5k
aW5nUmVxdWVzdHMuZW5kKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1fcGFnZS0+cHJvY2Vz
cygpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWRSZWNlaXZlR2VvbG9jYXRpb25QZXJtaXNz
aW9uRGVjaXNpb24oZ2VvbG9jYXRpb25JRCwgYWxsb3dlZCksIG1fcGFnZS0+cGFnZUlEKCkpOwot
ICAgIG1fcGVuZGluZ1JlcXVlc3RzLnJlbW92ZShpdCk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdl
YktpdApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvR2VvbG9jYXRpb25QZXJtaXNzaW9u
UmVxdWVzdE1hbmFnZXJQcm94eS5oIGIvV2ViS2l0Mi9VSVByb2Nlc3MvR2VvbG9jYXRpb25QZXJt
aXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA5ODg4NWJmMDc2NGQ0YjhlZmQ4NWMwOGNkZmUxNTJiNzUxZDgxNGI2Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL0dlb2xv
Y2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuaAorKysgL2Rldi9udWxsCkBAIC0x
LDU2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIEdlb2xvY2F0aW9uUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyUHJveHlfaAotI2RlZmluZSBHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0
TWFuYWdlclByb3h5X2gKLQotI2luY2x1ZGUgIkdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RQ
cm94eS5oIgotI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewot
Ci1jbGFzcyBXZWJQYWdlUHJveHk7Ci0KLWNsYXNzIEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyUHJveHkgewotcHVibGljOgotICAgIGV4cGxpY2l0IEdlb2xvY2F0aW9uUGVybWlz
c2lvblJlcXVlc3RNYW5hZ2VyUHJveHkoV2ViUGFnZVByb3h5Kik7Ci0KLSAgICB2b2lkIGludmFs
aWRhdGVSZXF1ZXN0cygpOwotCi0gICAgLy8gQ3JlYXRlIGEgcmVxdWVzdCB0byBiZSBwcmVzZW50
ZWQgdG8gdGhlIHVzZXIuCi0gICAgUGFzc1JlZlB0cjxHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1
ZXN0UHJveHk+IGNyZWF0ZVJlcXVlc3QodWludDY0X3QgZ2VvbG9jYXRpb25JRCk7Ci0gICAgCi0g
ICAgLy8gQ2FsbGVkIGJ5IEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RQcm94eSB3aGVuIGEg
ZGVjaXNpb24gaXMgbWFkZSBieSB0aGUgdXNlci4KLSAgICB2b2lkIGRpZFJlY2VpdmVHZW9sb2Nh
dGlvblBlcm1pc3Npb25EZWNpc2lvbih1aW50NjRfdCwgYm9vbCBhbGxvdyk7Ci0KLXByaXZhdGU6
Ci0gICAgdHlwZWRlZiBIYXNoTWFwPHVpbnQ2NF90LCBSZWZQdHI8R2VvbG9jYXRpb25QZXJtaXNz
aW9uUmVxdWVzdFByb3h5PiA+IFBlbmRpbmdSZXF1ZXN0TWFwOwotICAgIFBlbmRpbmdSZXF1ZXN0
TWFwIG1fcGVuZGluZ1JlcXVlc3RzOwotICAgIFdlYlBhZ2VQcm94eSogbV9wYWdlOwotfTsKLQot
fSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBHZW9sb2NhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlclByb3h5X2gKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL0dlb2xv
Y2F0aW9uUGVybWlzc2lvblJlcXVlc3RQcm94eS5jcHAgYi9XZWJLaXQyL1VJUHJvY2Vzcy9HZW9s
b2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0UHJveHkuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA5NzY2YWQyMGM3ZjcwY2ZmMzU0MTE1OTdiOGFkZGYxNzI5NWFmNzQwLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1dlYktpdDIvVUlQcm9jZXNz
L0dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RQcm94eS5jcHAKKysrIC9kZXYvbnVsbApAQCAt
MSw2MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgIkdlb2xvY2F0aW9uUGVybWlzc2lv
blJlcXVlc3RQcm94eS5oIgotCi0jaW5jbHVkZSAiR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVz
dE1hbmFnZXJQcm94eS5oIgotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotR2VvbG9jYXRpb25QZXJt
aXNzaW9uUmVxdWVzdFByb3h5OjpHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0UHJveHkoR2Vv
bG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eSogbWFuYWdlciwgdWludDY0X3Qg
Z2VvbG9jYXRpb25JRCkKLSAgICA6IG1fbWFuYWdlcihtYW5hZ2VyKQotICAgICwgbV9nZW9sb2Nh
dGlvbklEKGdlb2xvY2F0aW9uSUQpCi17Ci19Ci0KLXZvaWQgR2VvbG9jYXRpb25QZXJtaXNzaW9u
UmVxdWVzdFByb3h5OjphbGxvdygpCi17Ci0gICAgaWYgKCFtX21hbmFnZXIpCi0gICAgICAgIHJl
dHVybjsKLQotICAgIG1fbWFuYWdlci0+ZGlkUmVjZWl2ZUdlb2xvY2F0aW9uUGVybWlzc2lvbkRl
Y2lzaW9uKG1fZ2VvbG9jYXRpb25JRCwgdHJ1ZSk7Ci0gICAgbV9tYW5hZ2VyID0gMDsKLX0KLQot
dm9pZCBHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0UHJveHk6OmRlbnkoKQotewotICAgIGlm
ICghbV9tYW5hZ2VyKQotICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgbV9tYW5hZ2VyLT5kaWRS
ZWNlaXZlR2VvbG9jYXRpb25QZXJtaXNzaW9uRGVjaXNpb24obV9nZW9sb2NhdGlvbklELCBmYWxz
ZSk7Ci0gICAgbV9tYW5hZ2VyID0gMDsKLX0KLQotdm9pZCBHZW9sb2NhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0UHJveHk6OmludmFsaWRhdGUoKQotewotICAgIG1fbWFuYWdlciA9IDA7Ci19Ci0KLX0g
Ly8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvR2VvbG9j
YXRpb25QZXJtaXNzaW9uUmVxdWVzdFByb3h5LmggYi9XZWJLaXQyL1VJUHJvY2Vzcy9HZW9sb2Nh
dGlvblBlcm1pc3Npb25SZXF1ZXN0UHJveHkuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggYzM0YzNmZDNjZWJlMTMyMGIzYjg1NjRiYTg4ZDZjYzkwNDhmYTQxMC4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9HZW9s
b2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0UHJveHkuaAorKysgL2Rldi9udWxsCkBAIC0xLDYxICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0g
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RQ
cm94eV9oCi0jZGVmaW5lIEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RQcm94eV9oCi0KLSNp
bmNsdWRlICJBUElPYmplY3QuaCIKLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgotCi1uYW1l
c3BhY2UgV2ViS2l0IHsKLQotY2xhc3MgR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFn
ZXJQcm94eTsKLQotY2xhc3MgR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdFByb3h5IDogcHVi
bGljIEFQSU9iamVjdCB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIGNvbnN0IFR5cGUgQVBJVHlwZSA9
IFR5cGVHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0OwotCi0gICAgc3RhdGljIFBhc3NSZWZQ
dHI8R2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdFByb3h5PiBjcmVhdGUoR2VvbG9jYXRpb25Q
ZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eSogbWFuYWdlciwgdWludDY0X3QgZ2VvbG9jYXRp
b25JRCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgR2VvbG9jYXRpb25QZXJt
aXNzaW9uUmVxdWVzdFByb3h5KG1hbmFnZXIsIGdlb2xvY2F0aW9uSUQpKTsKLSAgICB9Ci0KLSAg
ICB2b2lkIGFsbG93KCk7Ci0gICAgdm9pZCBkZW55KCk7Ci0gICAgCi0gICAgdm9pZCBpbnZhbGlk
YXRlKCk7Ci0KLXByaXZhdGU6Ci0gICAgR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdFByb3h5
KEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkqLCB1aW50NjRfdCBnZW9s
b2NhdGlvbklEKTsKLQotICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gQVBJ
VHlwZTsgfQotCi0gICAgR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eSog
bV9tYW5hZ2VyOwotICAgIHVpbnQ2NF90IG1fZ2VvbG9jYXRpb25JRDsKLX07Ci0KLX0gLy8gbmFt
ZXNwYWNlIFdlYktpdAotCi0jZW5kaWYgLy8gR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdFBy
b3h5X2gKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDA5NzI4M2IxYjI0NzEyNjM1
NDNmNGZhNTFkZjYzNmU0M2I2Y2MzNGQuLmRmMGIwNzE4MjM1MDc2NTVjMmQ3ZDk0OGIxMmJjOTFm
YzJmOWI0MzUgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAK
KysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtOTYsNyArOTYsNiBA
QCBXZWJQYWdlUHJveHk6OldlYlBhZ2VQcm94eShQYWdlQ2xpZW50KiBwYWdlQ2xpZW50LCBXZWJD
b250ZXh0KiBjb250ZXh0LCBXZWJQYWdlRwogICAgICwgbV9wYWdlR3JvdXAocGFnZUdyb3VwKQog
ICAgICwgbV9tYWluRnJhbWUoMCkKICAgICAsIG1fdXNlckFnZW50KHN0YW5kYXJkVXNlckFnZW50
KCkpCi0gICAgLCBtX2dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKHRoaXMpCiAg
ICAgLCBtX2VzdGltYXRlZFByb2dyZXNzKDApCiAgICAgLCBtX2lzSW5XaW5kb3cobV9wYWdlQ2xp
ZW50LT5pc1ZpZXdJbldpbmRvdygpKQogICAgICwgbV9pc1Zpc2libGUobV9wYWdlQ2xpZW50LT5p
c1ZpZXdWaXNpYmxlKCkpCkBAIC0yNTgsOCArMjU3LDYgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmNs
b3NlKCkKICAgICAgICAgbV9vcGVuUGFuZWxSZXN1bHRMaXN0ZW5lciA9IDA7CiAgICAgfQogCi0g
ICAgbV9nZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5pbnZhbGlkYXRlUmVxdWVz
dHMoKTsKLQogICAgIG1fdG9vbFRpcCA9IFN0cmluZygpOwogCiAgICAgaW52YWxpZGF0ZUNhbGxi
YWNrTWFwKG1fZGF0YUNhbGxiYWNrcyk7CkBAIC0yMTA4LDggKzIxMDUsNiBAQCB2b2lkIFdlYlBh
Z2VQcm94eTo6cHJvY2Vzc0RpZENyYXNoKCkKICAgICAgICAgbV9vcGVuUGFuZWxSZXN1bHRMaXN0
ZW5lciA9IDA7CiAgICAgfQogCi0gICAgbV9nZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFu
YWdlci5pbnZhbGlkYXRlUmVxdWVzdHMoKTsKLQogICAgIG1fdG9vbFRpcCA9IFN0cmluZygpOwog
CiAgICAgaW52YWxpZGF0ZUNhbGxiYWNrTWFwKG1fZGF0YUNhbGxiYWNrcyk7CkBAIC0yMjA5LDE4
ICsyMjA0LDYgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmV4Y2VlZGVkRGF0YWJhc2VRdW90YSh1aW50
NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcmIG9yaWdpbkkKICAgICBuZXdRdW90YSA9IG1fdWlD
bGllbnQuZXhjZWVkZWREYXRhYmFzZVF1b3RhKHRoaXMsIGZyYW1lLCBvcmlnaW4uZ2V0KCksIGRh
dGFiYXNlTmFtZSwgZGlzcGxheU5hbWUsIGN1cnJlbnRRdW90YSwgY3VycmVudFVzYWdlLCBleHBl
Y3RlZFVzYWdlKTsKIH0KIAotdm9pZCBXZWJQYWdlUHJveHk6OnJlcXVlc3RHZW9sb2NhdGlvblBl
cm1pc3Npb25Gb3JGcmFtZSh1aW50NjRfdCBnZW9sb2NhdGlvbklELCB1aW50NjRfdCBmcmFtZUlE
LCBTdHJpbmcgb3JpZ2luSWRlbnRpZmllcikKLXsKLSAgICBXZWJGcmFtZVByb3h5KiBmcmFtZSA9
IHByb2Nlc3MoKS0+d2ViRnJhbWUoZnJhbWVJRCk7Ci0gICAgTUVTU0FHRV9DSEVDSyhmcmFtZSk7
Ci0KLSAgICBSZWZQdHI8V2ViU2VjdXJpdHlPcmlnaW4+IG9yaWdpbiA9IFdlYlNlY3VyaXR5T3Jp
Z2luOjpjcmVhdGUob3JpZ2luSWRlbnRpZmllcik7Ci0gICAgUmVmUHRyPEdlb2xvY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3RQcm94eT4gcmVxdWVzdCA9IG1fZ2VvbG9jYXRpb25QZXJtaXNzaW9uUmVx
dWVzdE1hbmFnZXIuY3JlYXRlUmVxdWVzdChnZW9sb2NhdGlvbklEKTsKLQotICAgIGlmICghbV91
aUNsaWVudC5kZWNpZGVQb2xpY3lGb3JHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0KHRoaXMs
IGZyYW1lLCBvcmlnaW4uZ2V0KCksIHJlcXVlc3QuZ2V0KCkpKQotICAgICAgICByZXF1ZXN0LT5k
ZW55KCk7Ci19Ci0KIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRGaW5pc2hMb2FkaW5nRGF0YUZvckN1
c3RvbVJlcHJlc2VudGF0aW9uKGNvbnN0IENvcmVJUEM6OkRhdGFSZWZlcmVuY2UmIGRhdGFSZWZl
cmVuY2UpCiB7CiAgICAgbV9wYWdlQ2xpZW50LT5kaWRGaW5pc2hMb2FkaW5nRGF0YUZvckN1c3Rv
bVJlcHJlc2VudGF0aW9uKGRhdGFSZWZlcmVuY2UpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmggYi9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApp
bmRleCA2MjJkOTkxNjY4YmZkYTI1ZjU3ZTRkY2MyNWJmNDM3YmZkY2IwZDA3Li4xYzdjZWE0NDM2
MzU3MGI2YmE0MzMwZjJmOGFkMDU2ZWIzOGI0NjU1IDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aApAQCAtMjksNyArMjksNiBAQAogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgogI2luY2x1ZGUgIkNv
bnRleHRNZW51U3RhdGUuaCIKICNpbmNsdWRlICJEcmF3aW5nQXJlYVByb3h5LmgiCi0jaW5jbHVk
ZSAiR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5oIgogI2luY2x1ZGUg
IlNlbGVjdGlvblN0YXRlLmgiCiAjaW5jbHVkZSAiU2hhcmVkTWVtb3J5LmgiCiAjaW5jbHVkZSAi
V0tCYXNlLmgiCkBAIC0zOTksMTMgKzM5OCwxMSBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkQ2hh
bmdlVmlld3BvcnREYXRhKGNvbnN0IFdlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRzJik7CiAgICAg
dm9pZCBwYWdlRGlkU2Nyb2xsKCk7CiAgICAgdm9pZCBydW5PcGVuUGFuZWwodWludDY0X3QgZnJh
bWVJRCwgY29uc3QgV2ViT3BlblBhbmVsUGFyYW1ldGVyczo6RGF0YSYpOwotICAgIHZvaWQgZXhj
ZWVkZWREYXRhYmFzZVF1b3RhKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYgb3JpZ2lu
SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBkYXRhYmFzZU5hbWUsIGNvbnN0IFN0cmluZyYgZGlz
cGxheU5hbWUsIHVpbnQ2NF90IGN1cnJlbnRRdW90YSwgdWludDY0X3QgY3VycmVudFVzYWdlLCB1
aW50NjRfdCBleHBlY3RlZFVzYWdlLCB1aW50NjRfdCYgbmV3UXVvdGEpOwotICAgIHZvaWQgcmVx
dWVzdEdlb2xvY2F0aW9uUGVybWlzc2lvbkZvckZyYW1lKHVpbnQ2NF90IGdlb2xvY2F0aW9uSUQs
IHVpbnQ2NF90IGZyYW1lSUQsIFN0cmluZyBvcmlnaW5JZGVudGlmaWVyKTsKIAogI2lmIEVOQUJM
RShUSUxFRF9CQUNLSU5HX1NUT1JFKQogICAgIHZvaWQgcGFnZURpZFJlcXVlc3RTY3JvbGwoY29u
c3QgV2ViQ29yZTo6SW50U2l6ZSYpOwogI2VuZGlmCi0KKyAgICB2b2lkIGV4Y2VlZGVkRGF0YWJh
c2VRdW90YSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcmIG9yaWdpbklkZW50aWZpZXIs
IGNvbnN0IFN0cmluZyYgZGF0YWJhc2VOYW1lLCBjb25zdCBTdHJpbmcmIGRpc3BsYXlOYW1lLCB1
aW50NjRfdCBjdXJyZW50UXVvdGEsIHVpbnQ2NF90IGN1cnJlbnRVc2FnZSwgdWludDY0X3QgZXhw
ZWN0ZWRVc2FnZSwgdWludDY0X3QmIG5ld1F1b3RhKTsKICNpZiBQTEFURk9STShRVCkKICAgICB2
b2lkIGRpZENoYW5nZUNvbnRlbnRzU2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJik7CiAgICAg
dm9pZCBkaWRGaW5kWm9vbWFibGVBcmVhKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKTsKQEAgLTUy
MSw3ICs1MTgsNiBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxXZWJDb250ZXh0TWVudVByb3h5PiBt
X2FjdGl2ZUNvbnRleHRNZW51OwogICAgIENvbnRleHRNZW51U3RhdGUgbV9hY3RpdmVDb250ZXh0
TWVudVN0YXRlOwogICAgIFJlZlB0cjxXZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5PiBt
X29wZW5QYW5lbFJlc3VsdExpc3RlbmVyOwotICAgIEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyUHJveHkgbV9nZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjsKIAog
ICAgIGRvdWJsZSBtX2VzdGltYXRlZFByb2dyZXNzOwogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggMDA2MzJiYTk5Yjc4OTkzM2M4ZTMxMmIzZGY3YzNi
M2E0ZmFkMDNkYS4uODQxYjg5ZGY4YTZlZjk3MmVkYjg5NmE5MGRhZmM0ZGJiZjk1ZmI3YiAxMDA2
NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBi
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtMTY1LDkgKzE2
NSw2IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgIyBEYXRhYmFzZSBtZXNzYWdl
cy4KICAgICBFeGNlZWRlZERhdGFiYXNlUXVvdGEodWludDY0X3QgZnJhbWVJRCwgV1RGOjpTdHJp
bmcgb3JpZ2luSWRlbnRpZmllciwgV1RGOjpTdHJpbmcgZGF0YWJhc2VOYW1lLCBXVEY6OlN0cmlu
ZyBkYXRhYmFzZURpc3BsYXlOYW1lLCB1aW50NjRfdCBjdXJyZW50UXVvdGEsIHVpbnQ2NF90IGN1
cnJlbnRVc2FnZSwgdWludDY0X3QgZXhwZWN0ZWRVc2FnZSkgLT4gKHVpbnQ2NF90IG5ld1F1b3Rh
KQogCi0gICAgIyBHZW9sb2NhdGlvbiBtZXNzYWdlcy4KLSAgICBSZXF1ZXN0R2VvbG9jYXRpb25Q
ZXJtaXNzaW9uRm9yRnJhbWUodWludDY0X3QgZ2VvbG9jYXRpb25JRCwgdWludDY0X3QgZnJhbWVJ
RCwgV1RGOjpTdHJpbmcgb3JpZ2luSWRlbnRpZmllcikKLQogICAgICMgUGx1Zy1pbiBjb21wbGV4
IHRleHQgaW5wdXQgc3VwcG9ydCBtZXNzYWdlcy4KICNpZiBQTEFURk9STShNQUMpCiAgICAgU2V0
Q29tcGxleFRleHRJbnB1dEVuYWJsZWQodWludDY0X3QgcGx1Z2luQ29tcGxleFRleHRJbnB1dElk
ZW50aWZpZXIsIGJvb2wgY29tcGxleFRleHRJbnB1dEVuYWJsZWQpCmRpZmYgLS1naXQgYS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJVSUNsaWVudC5jcHAgYi9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJVSUNs
aWVudC5jcHAKaW5kZXggZTk1YWYzNDEwMzg5YjBmZWU1OWE4Y2ZmN2JhNDI4OGY4MjdjODRiMi4u
NjYxZjRiNzI4NmI1MGNiNzhkM2VhZjY0YjE5NzMxMThlY2YzNDg4OSAxMDA2NDQKLS0tIGEvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViVUlDbGllbnQuY3BwCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlVJQ2xpZW50LmNwcApAQCAtMjY0LDEzICsyNjQsNCBAQCBib29sIFdlYlVJQ2xpZW50OjpydW5P
cGVuUGFuZWwoV2ViUGFnZVByb3h5KiBwYWdlLCBXZWJGcmFtZVByb3h5KiBmcmFtZSwgY29uc3Qg
VwogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIFdlYlVJQ2xpZW50OjpkZWNpZGVQb2xpY3lG
b3JHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0KFdlYlBhZ2VQcm94eSogcGFnZSwgV2ViRnJh
bWVQcm94eSogZnJhbWUsIFdlYlNlY3VyaXR5T3JpZ2luKiBvcmlnaW4sIEdlb2xvY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3RQcm94eSogcGVybWlzc2lvblJlcXVlc3QpCi17Ci0gICAgaWYgKCFtX2Ns
aWVudC5kZWNpZGVQb2xpY3lGb3JHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0KQotICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0KLSAgICBtX2NsaWVudC5kZWNpZGVQb2xpY3lGb3JHZW9sb2NhdGlv
blBlcm1pc3Npb25SZXF1ZXN0KHRvQVBJKHBhZ2UpLCB0b0FQSShmcmFtZSksIHRvQVBJKG9yaWdp
biksIHRvQVBJKHBlcm1pc3Npb25SZXF1ZXN0KSwgbV9jbGllbnQuY2xpZW50SW5mbyk7Ci0gICAg
cmV0dXJuIHRydWU7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViVUlDbGllbnQuaCBiL1dlYktpdDIvVUlQcm9jZXNzL1dlYlVJQ2xp
ZW50LmgKaW5kZXggYTI1YjM3ZjRlZDg2YzkwY2JmNGM0NjFhNmNiNDg4MDIzYWRkZDY0Ni4uOTA5
YTYzY2MxMmFkZGQ1NzM2ZWUxMWQxOGMyNjg3ZTM1YjcwMDE2OCAxMDA2NDQKLS0tIGEvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViVUlDbGllbnQuaAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJVSUNs
aWVudC5oCkBAIC00Miw3ICs0Miw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCiBjbGFzcyBBUElPYmplY3Q7Ci1jbGFzcyBHZW9sb2NhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0UHJveHk7CiBjbGFzcyBOYXRpdmVXZWJLZXlib2FyZEV2ZW50OwogY2xhc3MgV2ViRnJh
bWVQcm94eTsKIGNsYXNzIFdlYlBhZ2VQcm94eTsKQEAgLTg1LDcgKzg0LDYgQEAgcHVibGljOgog
ICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBleGNlZWRlZERhdGFiYXNlUXVvdGEoV2ViUGFnZVByb3h5
KiwgV2ViRnJhbWVQcm94eSosIFdlYlNlY3VyaXR5T3JpZ2luKiwgY29uc3QgU3RyaW5nJiBkYXRh
YmFzZU5hbWUsIGNvbnN0IFN0cmluZyYgZGF0YWJhc2VEaXNwbGF5TmFtZSwgdW5zaWduZWQgbG9u
ZyBsb25nIGN1cnJlbnRRdW90YSwgdW5zaWduZWQgbG9uZyBsb25nIGN1cnJlbnRVc2FnZSwgdW5z
aWduZWQgbG9uZyBsb25nIGV4cGVjdGVkVXNhZ2UpOwogCiAgICAgYm9vbCBydW5PcGVuUGFuZWwo
V2ViUGFnZVByb3h5KiwgV2ViRnJhbWVQcm94eSosIGNvbnN0IFdlYk9wZW5QYW5lbFBhcmFtZXRl
cnM6OkRhdGEmLCBXZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5Kik7Ci0gICAgYm9vbCBk
ZWNpZGVQb2xpY3lGb3JHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0KFdlYlBhZ2VQcm94eSos
IFdlYkZyYW1lUHJveHkqLCBXZWJTZWN1cml0eU9yaWdpbiosIEdlb2xvY2F0aW9uUGVybWlzc2lv
blJlcXVlc3RQcm94eSopOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQg
YS9XZWJLaXQyL1dlYktpdDIucHJvIGIvV2ViS2l0Mi9XZWJLaXQyLnBybwppbmRleCBmYmNhYTQ1
ZDM3Nzk2YmNlMDc2ZDNlNGY2ZGE5YTI5ZWU3NTRiNzAxLi5jMTkzN2UwZmY3ZDE4NTI5NDMyODUy
ZjlhNGMxZmJlNGY4MmY5ZjY4IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYktpdDIucHJvCisrKyBi
L1dlYktpdDIvV2ViS2l0Mi5wcm8KQEAgLTMxMSw3ICszMTEsNiBAQCBIRUFERVJTICs9IFwKICAg
ICBVSVByb2Nlc3MvQVBJL0MvV0tGcmFtZS5oIFwKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tGcmFt
ZVBvbGljeUxpc3RlbmVyLmggXAogICAgIFVJUHJvY2Vzcy9BUEkvQy9XS0dlb2xvY2F0aW9uTWFu
YWdlci5oIFwKLSAgICBVSVByb2Nlc3MvQVBJL0MvV0tHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1
ZXN0LmggXAogICAgIFVJUHJvY2Vzcy9BUEkvQy9XS0dlb2xvY2F0aW9uUG9zaXRpb24uaCBcCiAg
ICAgVUlQcm9jZXNzL0FQSS9DL1dLSW5zcGVjdG9yLmggXAogICAgIFVJUHJvY2Vzcy9BUEkvQy9X
S09wZW5QYW5lbFBhcmFtZXRlcnMuaCBcCkBAIC0zNDcsOCArMzQ2LDYgQEAgSEVBREVSUyArPSBc
CiAgICAgVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaCBcCiAgICAgVUlQcm9jZXNzL0ZpbmRJ
bmRpY2F0b3IuaCBcCiAgICAgVUlQcm9jZXNzL0dlbmVyaWNDYWxsYmFjay5oIFwKLSAgICBVSVBy
b2Nlc3MvR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5oIFwKLSAgICBV
SVByb2Nlc3MvR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdFByb3h5LmggXAogICAgIFVJUHJv
Y2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaCBcCiAgICAgVUlQcm9jZXNzL0xhdW5jaGVy
L1RocmVhZExhdW5jaGVyLmggXAogICAgIFVJUHJvY2Vzcy9QYWdlQ2xpZW50LmggXApAQCAtMzkz
LDcgKzM5MCw2IEBAIEhFQURFUlMgKz0gXAogICAgIFdlYlByb2Nlc3MvQXV0aGVudGljYXRpb24v
QXV0aGVudGljYXRpb25NYW5hZ2VyLmggXAogICAgIFdlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25s
b2FkLmggXAogICAgIFdlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5oIFwKLSAg
ICBXZWJQcm9jZXNzL0dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5h
Z2VyLmggXAogICAgIFdlYlByb2Nlc3MvR2VvbG9jYXRpb24vV2ViR2VvbG9jYXRpb25NYW5hZ2Vy
LmggXAogICAgIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVCYWNrRm9y
d2FyZExpc3QuaCBcCiAgICAgV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRs
ZUJhY2tGb3J3YXJkTGlzdEl0ZW0uaCBcCkBAIC01MzQsNyArNTMwLDYgQEAgU09VUkNFUyArPSBc
CiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLRnJhbWUuY3BwIFwKICAgICBVSVByb2Nlc3MvQVBJL0Mv
V0tGcmFtZVBvbGljeUxpc3RlbmVyLmNwcCBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLR2VvbG9j
YXRpb25NYW5hZ2VyLmNwcCBcCi0gICAgVUlQcm9jZXNzL0FQSS9DL1dLR2VvbG9jYXRpb25QZXJt
aXNzaW9uUmVxdWVzdC5jcHAgXAogICAgIFVJUHJvY2Vzcy9BUEkvQy9XS0dlb2xvY2F0aW9uUG9z
aXRpb24uY3BwIFwKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tJbnNwZWN0b3IuY3BwIFwKICAgICBV
SVByb2Nlc3MvQVBJL0MvV0tPcGVuUGFuZWxQYXJhbWV0ZXJzLmNwcCBcCkBAIC01NjAsOCArNTU1
LDYgQEAgU09VUkNFUyArPSBcCiAgICAgVUlQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZFByb3h5
LmNwcCBcCiAgICAgVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuY3BwIFwKICAgICBVSVByb2Nl
c3MvRmluZEluZGljYXRvci5jcHAgXAotICAgIFVJUHJvY2Vzcy9HZW9sb2NhdGlvblBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcCBcCi0gICAgVUlQcm9jZXNzL0dlb2xvY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3RQcm94eS5jcHAgXAogICAgIFVJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNz
TGF1bmNoZXIuY3BwIFwKICAgICBVSVByb2Nlc3MvTGF1bmNoZXIvVGhyZWFkTGF1bmNoZXIuY3Bw
IFwKICAgICBVSVByb2Nlc3MvTGF1bmNoZXIvcXQvUHJvY2Vzc0xhdW5jaGVyUXQuY3BwIFwKQEAg
LTYxNCw3ICs2MDcsNiBAQCBTT1VSQ0VTICs9IFwKICAgICBXZWJQcm9jZXNzL0F1dGhlbnRpY2F0
aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5jcHAgXAogICAgIFdlYlByb2Nlc3MvRG93bmxvYWRz
L0Rvd25sb2FkLmNwcCBcCiAgICAgV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRNYW5hZ2Vy
LmNwcCBcCi0gICAgV2ViUHJvY2Vzcy9HZW9sb2NhdGlvbi9HZW9sb2NhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlci5jcHAgXAogICAgIFdlYlByb2Nlc3MvR2VvbG9jYXRpb24vV2ViR2VvbG9j
YXRpb25NYW5hZ2VyLmNwcCBcCiAgICAgV2ViUHJvY2Vzcy9Eb3dubG9hZHMvcXQvRG93bmxvYWRR
dC5jcHAgXAogICAgIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGUuY3Bw
IFwKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYmMwNDhl
ZmRmZWZhZDRlNWEzMGFhMjdiZWZiMWRmNTI2MWQ2ZmFmYy4uZDg1NWFiZDBjMGQ5YTkyNWU4OGJm
ZGI2YzliNGExNThhNmVhMjliOCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTMxMSwxNCArMzExLDYgQEAKIAkJQkMwMzJERDExMEY0Mzg5RjAwNThDMTVB
IC8qIFdlYlBhZ2VQcm94eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQkMwMzJEQ0IxMEY0Mzg5RjAwNThDMTVBIC8qIFdlYlBhZ2VQcm94eS5oICovOyB9
OwogCQlCQzAzMkREMzEwRjQzODlGMDA1OEMxNUEgLyogV2ViUHJvY2Vzc01hbmFnZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMDMyRENEMTBGNDM4
OUYwMDU4QzE1QSAvKiBXZWJQcm9jZXNzTWFuYWdlci5oICovOyB9OwogCQlCQzAzMkRENTEwRjQz
ODlGMDA1OEMxNUEgLyogV2ViUHJvY2Vzc1Byb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzAzMkRDRjEwRjQzODlGMDA1OEMxNUEgLyogV2ViUHJv
Y2Vzc1Byb3h5LmggKi87IH07Ci0JCUJDMDZGNDJGMTJEQkI5QjYwMDJENzhERSAvKiBHZW9sb2Nh
dGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkMwNkY0MkQxMkRCQjlCNjAwMkQ3OERFIC8qIEdlb2xvY2F0
aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmggKi87IH07Ci0JCUJDMDZGNDMwMTJEQkI5QjYw
MDJENzhERSAvKiBHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzA2RjQyRTEyREJCOUI2
MDAyRDc4REUgLyogR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwICovOyB9
OwotCQlCQzA2RjQzQTEyREJDQ0ZCMDAyRDc4REUgLyogR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVx
dWVzdFByb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCQzA2RjQzODEyREJDQ0ZCMDAyRDc4REUgLyogR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVz
dFByb3h5LmggKi87IH07Ci0JCUJDMDZGNDNCMTJEQkNDRkIwMDJENzhERSAvKiBHZW9sb2NhdGlv
blBlcm1pc3Npb25SZXF1ZXN0UHJveHkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkMwNkY0MzkxMkRCQ0NGQjAwMkQ3OERFIC8qIEdlb2xvY2F0aW9u
UGVybWlzc2lvblJlcXVlc3RQcm94eS5jcHAgKi87IH07Ci0JCUJDMDZGNDRBMTJEQkQxRjUwMDJE
NzhERSAvKiBHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzA2RjQ0ODEyREJEMUY1
MDAyRDc4REUgLyogR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5oICov
OyB9OwotCQlCQzA2RjQ0QjEyREJEMUY1MDAyRDc4REUgLyogR2VvbG9jYXRpb25QZXJtaXNzaW9u
UmVxdWVzdE1hbmFnZXJQcm94eS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCQzA2RjQ0OTEyREJEMUY1MDAyRDc4REUgLyogR2VvbG9jYXRpb25QZXJt
aXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAgKi87IH07Ci0JCUJDMDZGNDRFMTJEQkRGM0Yw
MDJENzhERSAvKiBXS0dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMDZGNDRDMTJEQkRGM0YwMDJENzhE
RSAvKiBXS0dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07Ci0JCUJDMDZGNDRGMTJEQkRGM0YwMDJENzhERSAv
KiBXS0dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMwNkY0NEQxMkRCREYzRjAwMkQ3OERFIC8qIFdL
R2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5jcHAgKi87IH07CiAJCUJDMEU1RkU1MTJENjk3
MTYwMDEyQTcyQSAvKiBXZWJHZW9sb2NhdGlvbk1hbmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMEU1RkUzMTJENjk3MTYwMDEyQTcyQSAvKiBX
ZWJHZW9sb2NhdGlvbk1hbmFnZXIuaCAqLzsgfTsKIAkJQkMwRTVGRTYxMkQ2OTcxNjAwMTJBNzJB
IC8qIFdlYkdlb2xvY2F0aW9uTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQzBFNUZFNDEyRDY5NzE2MDAxMkE3MkEgLyogV2ViR2VvbG9j
YXRpb25NYW5hZ2VyLmNwcCAqLzsgfTsKIAkJQkMwRTYwNjExMkQ2QkE5MTAwMTJBNzJBIC8qIFdl
Ykdlb2xvY2F0aW9uTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzBFNjA1RjEyRDZCQTkxMDAxMkE3MkEgLyog
V2ViR2VvbG9jYXRpb25NYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKQEAgLTEwMjcs
MTQgKzEwMTksNiBAQAogCQlCQzAzMkRDQjEwRjQzODlGMDA1OEMxNUEgLyogV2ViUGFnZVByb3h5
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlBhZ2VQcm94eS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzAzMkRDRDEwRjQzODlGMDA1OEMxNUEgLyogV2Vi
UHJvY2Vzc01hbmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViUHJv
Y2Vzc01hbmFnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkMwMzJEQ0YxMEY0
Mzg5RjAwNThDMTVBIC8qIFdlYlByb2Nlc3NQcm94eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBXZWJQcm9jZXNzUHJveHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJQkMwNkY0MkQxMkRCQjlCNjAwMkQ3OERFIC8qIEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdlb2xvY2F0aW9u
UGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CUJDMDZGNDJFMTJEQkI5QjYwMDJENzhERSAvKiBHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0
TWFuYWdlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHZW9sb2Nh
dGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCUJDMDZGNDM4MTJEQkNDRkIwMDJENzhERSAvKiBHZW9sb2NhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0UHJveHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR2VvbG9jYXRp
b25QZXJtaXNzaW9uUmVxdWVzdFByb3h5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CUJDMDZGNDM5MTJEQkNDRkIwMDJENzhERSAvKiBHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0
UHJveHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR2VvbG9jYXRp
b25QZXJtaXNzaW9uUmVxdWVzdFByb3h5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJQkMwNkY0NDgxMkRCRDFGNTAwMkQ3OERFIC8qIEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyUHJveHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR2VvbG9j
YXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQlCQzA2RjQ0OTEyREJEMUY1MDAyRDc4REUgLyogR2VvbG9jYXRpb25QZXJtaXNz
aW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQkMwNkY0NEMxMkRCREYzRjAwMkQ3OERFIC8qIFdL
R2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXS0dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKLQkJQkMwNkY0NEQxMkRCREYzRjAwMkQ3OERFIC8qIFdLR2VvbG9jYXRpb25Q
ZXJtaXNzaW9uUmVxdWVzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBXS0dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlCQzBFNUZFMzEyRDY5NzE2MDAxMkE3MkEgLyogV2ViR2VvbG9jYXRpb25NYW5h
Z2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkdlb2xvY2F0aW9uTWFu
YWdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzBFNUZFNDEyRDY5NzE2MDAx
MkE3MkEgLyogV2ViR2VvbG9jYXRpb25NYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFdlYkdlb2xvY2F0aW9uTWFuYWdlci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUJDMEU2MDQ4MTJENkI2MzcwMDEyQTcyQSAvKiBXZWJHZW9sb2NhdGlv
bk1hbmFnZXIubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViR2VvbG9jYXRp
b25NYW5hZ2VyLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjAy
NiwxMCArMjAxMCw2IEBACiAJCQkJMUE5MTAwNzAxMjY2NzVDNDAwMTg0MkY1IC8qIEZpbmRJbmRp
Y2F0b3IuY3BwICovLAogCQkJCTFBOTEwMDZGMTI2Njc1QzMwMDE4NDJGNSAvKiBGaW5kSW5kaWNh
dG9yLmggKi8sCiAJCQkJQkMxNzc1M0UxMThCQUJGMDAwN0Q5RTlBIC8qIEdlbmVyaWNDYWxsYmFj
ay5oICovLAotCQkJCUJDMDZGNDM5MTJEQkNDRkIwMDJENzhERSAvKiBHZW9sb2NhdGlvblBlcm1p
c3Npb25SZXF1ZXN0UHJveHkuY3BwICovLAotCQkJCUJDMDZGNDM4MTJEQkNDRkIwMDJENzhERSAv
KiBHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0UHJveHkuaCAqLywKLQkJCQlCQzA2RjQ0OTEy
REJEMUY1MDAyRDc4REUgLyogR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94
eS5jcHAgKi8sCi0JCQkJQkMwNkY0NDgxMkRCRDFGNTAwMkQ3OERFIC8qIEdlb2xvY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuaCAqLywKIAkJCQkwRjUyNjVCNzExREQzNzdGMDAw
NkQzM0MgLyogTGF5ZXJCYWNrZWREcmF3aW5nQXJlYVByb3h5LmNwcCAqLywKIAkJCQkwRjUyNjVC
ODExREQzNzdGMDAwNkQzM0MgLyogTGF5ZXJCYWNrZWREcmF3aW5nQXJlYVByb3h5LmggKi8sCiAJ
CQkJQkM2RURBQTUxMTEyNzFDNjAwRTc2NzhCIC8qIFBhZ2VDbGllbnQuaCAqLywKQEAgLTIxNTQs
OCArMjEzNCw2IEBACiAJCQkJQkNCOUY2QTMxMTIzREQwRDAwQTEzN0UwIC8qIFdLRnJhbWVQb2xp
Y3lMaXN0ZW5lci5oICovLAogCQkJCUJDNTRDQzExMTJENjc0RUUwMDVDNjdCMCAvKiBXS0dlb2xv
Y2F0aW9uTWFuYWdlci5jcHAgKi8sCiAJCQkJQkM1NENDMTAxMkQ2NzRFRTAwNUM2N0IwIC8qIFdL
R2VvbG9jYXRpb25NYW5hZ2VyLmggKi8sCi0JCQkJQkMwNkY0NEQxMkRCREYzRjAwMkQ3OERFIC8q
IFdLR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5jcHAgKi8sCi0JCQkJQkMwNkY0NEMxMkRC
REYzRjAwMkQ3OERFIC8qIFdLR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5oICovLAogCQkJ
CUJDMEU2MTk3MTJENkNEMTIwMDEyQTcyQSAvKiBXS0dlb2xvY2F0aW9uUG9zaXRpb24uY3BwICov
LAogCQkJCUJDMEU2MTk2MTJENkNEMTIwMDEyQTcyQSAvKiBXS0dlb2xvY2F0aW9uUG9zaXRpb24u
aCAqLywKIAkJCQkxQzhFMjkzODEyNzYxRTVCMDBCQzdCRDAgLyogV0tJbnNwZWN0b3IuY3BwICov
LApAQCAtMjE4NSw4ICsyMTYzLDYgQEAKIAkJQkMwRTVGQ0IxMkQ2OTZERDAwMTJBNzJBIC8qIEdl
b2xvY2F0aW9uICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKLQkJ
CQlCQzA2RjQyRTEyREJCOUI2MDAyRDc4REUgLyogR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVz
dE1hbmFnZXIuY3BwICovLAotCQkJCUJDMDZGNDJEMTJEQkI5QjYwMDJENzhERSAvKiBHZW9sb2Nh
dGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5oICovLAogCQkJCUJDMEU1RkU0MTJENjk3MTYw
MDEyQTcyQSAvKiBXZWJHZW9sb2NhdGlvbk1hbmFnZXIuY3BwICovLAogCQkJCUJDMEU1RkUzMTJE
Njk3MTYwMDEyQTcyQSAvKiBXZWJHZW9sb2NhdGlvbk1hbmFnZXIuaCAqLywKIAkJCQlCQzBFNjA0
ODEyRDZCNjM3MDAxMkE3MkEgLyogV2ViR2VvbG9jYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluICov
LApAQCAtMjk2NiwxMCArMjk0Miw2IEBACiAJCQkJQkMwRTYwNzMxMkQ2QkMyMDAwMTJBNzJBIC8q
IFdlYkdlb2xvY2F0aW9uUG9zaXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMEU2MTgzMTJE
NkNCMUQwMDEyQTcyQSAvKiBXZWJHZW9sb2NhdGlvbk1hbmFnZXJQcm94eU1lc3NhZ2VzLmggaW4g
SGVhZGVycyAqLywKIAkJCQlCQzBFNjE5ODEyRDZDRDEyMDAxMkE3MkEgLyogV0tHZW9sb2NhdGlv
blBvc2l0aW9uLmggaW4gSGVhZGVycyAqLywKLQkJCQlCQzA2RjQyRjEyREJCOUI2MDAyRDc4REUg
LyogR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuaCBpbiBIZWFkZXJzICovLAot
CQkJCUJDMDZGNDNBMTJEQkNDRkIwMDJENzhERSAvKiBHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1
ZXN0UHJveHkuaCBpbiBIZWFkZXJzICovLAotCQkJCUJDMDZGNDRBMTJEQkQxRjUwMDJENzhERSAv
KiBHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmggaW4gSGVhZGVycyAq
LywKLQkJCQlCQzA2RjQ0RTEyREJERjNGMDAyRDc4REUgLyogV0tHZW9sb2NhdGlvblBlcm1pc3Np
b25SZXF1ZXN0LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVu
dFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTM0MTQsMTAgKzMzODYsNiBAQAogCQkJCUJD
MEU2MDc0MTJENkJDMjAwMDEyQTcyQSAvKiBXZWJHZW9sb2NhdGlvblBvc2l0aW9uLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUJDMEU2MTgyMTJENkNCMUQwMDEyQTcyQSAvKiBXZWJHZW9sb2NhdGlv
bk1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzBF
NjE5OTEyRDZDRDEyMDAxMkE3MkEgLyogV0tHZW9sb2NhdGlvblBvc2l0aW9uLmNwcCBpbiBTb3Vy
Y2VzICovLAotCQkJCUJDMDZGNDMwMTJEQkI5QjYwMDJENzhERSAvKiBHZW9sb2NhdGlvblBlcm1p
c3Npb25SZXF1ZXN0TWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlCQzA2RjQzQjEyREJD
Q0ZCMDAyRDc4REUgLyogR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdFByb3h5LmNwcCBpbiBT
b3VyY2VzICovLAotCQkJCUJDMDZGNDRCMTJEQkQxRjUwMDJENzhERSAvKiBHZW9sb2NhdGlvblBl
cm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUJDMDZG
NDRGMTJEQkRGM0YwMDJENzhERSAvKiBXS0dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vz
c2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvR2VvbG9jYXRp
b24vR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwIGIvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNw
cApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmFkY2I5Nzk5OTcyZWIyNWI2NmE0OGFk
ZGViYjAwNjU3NzE0MmM2Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvR2VvbG9jYXRpb24vR2VvbG9jYXRpb25QZXJtaXNz
aW9uUmVxdWVzdE1hbmFnZXIuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsODkgKzAsMCBAQAotLyoK
LSAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgotICovCi0KLSNpbmNsdWRlICJHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5o
IgotCi0jaW5jbHVkZSAiV2ViRnJhbWUuaCIKLSNpbmNsdWRlICJXZWJQYWdlLmgiCi0jaW5jbHVk
ZSAiV2ViUGFnZVByb3h5TWVzc2FnZXMuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1lLmg+Ci0j
aW5jbHVkZSA8V2ViQ29yZS9HZW9sb2NhdGlvbi5oPgotI2luY2x1ZGUgPFdlYkNvcmUvU2VjdXJp
dHlPcmlnaW4uaD4KLQotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KLW5hbWVzcGFjZSBXZWJL
aXQgewotCi1zdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVHZW9sb2NhdGlvbklEKCkKLXsKLSAgICBz
dGF0aWMgdWludDY0X3QgdW5pcXVlR2VvbG9jYXRpb25JRCA9IDE7Ci0gICAgcmV0dXJuIHVuaXF1
ZUdlb2xvY2F0aW9uSUQrKzsKLX0KLQotR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFn
ZXI6Okdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKFdlYlBhZ2UqIHBhZ2UpCi0g
ICAgOiBtX3BhZ2UocGFnZSkKLXsKLX0KLQotdm9pZCBHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1
ZXN0TWFuYWdlcjo6c3RhcnRSZXF1ZXN0Rm9yR2VvbG9jYXRpb24oR2VvbG9jYXRpb24qIGdlb2xv
Y2F0aW9uKQotewotICAgIHVpbnQ2NF90IGdlb2xvY2F0aW9uSUQgPSBnZW5lcmF0ZUdlb2xvY2F0
aW9uSUQoKTsKLQotICAgIG1fZ2VvbG9jYXRpb25Ub0lETWFwLnNldChnZW9sb2NhdGlvbiwgZ2Vv
bG9jYXRpb25JRCk7Ci0gICAgbV9pZFRvR2VvbG9jYXRpb25NYXAuc2V0KGdlb2xvY2F0aW9uSUQs
IGdlb2xvY2F0aW9uKTsKLQotCi0gICAgRnJhbWUqIGZyYW1lID0gZ2VvbG9jYXRpb24tPmZyYW1l
KCk7Ci0KLSAgICBXZWJGcmFtZSogd2ViRnJhbWUgPSBzdGF0aWNfY2FzdDxXZWJGcmFtZUxvYWRl
ckNsaWVudCo+KGZyYW1lLT5sb2FkZXIoKS0+Y2xpZW50KCkpLT53ZWJGcmFtZSgpOwotICAgIFNl
Y3VyaXR5T3JpZ2luKiBvcmlnaW4gPSBmcmFtZS0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4o
KTsKLQotICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpSZXF1ZXN0R2Vv
bG9jYXRpb25QZXJtaXNzaW9uRm9yRnJhbWUoZ2VvbG9jYXRpb25JRCwgd2ViRnJhbWUtPmZyYW1l
SUQoKSwgb3JpZ2luLT5kYXRhYmFzZUlkZW50aWZpZXIoKSkpOwotfQotCi12b2lkIEdlb2xvY2F0
aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpjYW5jZWxSZXF1ZXN0Rm9yR2VvbG9jYXRpb24o
R2VvbG9jYXRpb24qIGdlb2xvY2F0aW9uKQotewotICAgIEdlb2xvY2F0aW9uVG9JRE1hcDo6aXRl
cmF0b3IgaXQgPSBtX2dlb2xvY2F0aW9uVG9JRE1hcC5maW5kKGdlb2xvY2F0aW9uKTsKLSAgICBp
ZiAoaXQgPT0gbV9nZW9sb2NhdGlvblRvSURNYXAuZW5kKCkpCi0gICAgICAgIHJldHVybjsKLQot
ICAgIG1faWRUb0dlb2xvY2F0aW9uTWFwLnJlbW92ZShpdC0+c2Vjb25kKTsKLSAgICBtX2dlb2xv
Y2F0aW9uVG9JRE1hcC5yZW1vdmUoaXQpOwotfQotCi12b2lkIEdlb2xvY2F0aW9uUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyOjpkaWRSZWNlaXZlR2VvbG9jYXRpb25QZXJtaXNzaW9uRGVjaXNpb24o
dWludDY0X3QgZ2VvbG9jYXRpb25JRCwgYm9vbCBhbGxvd2VkKQotewotICAgIElEVG9HZW9sb2Nh
dGlvbk1hcDo6aXRlcmF0b3IgaXQgPSBtX2lkVG9HZW9sb2NhdGlvbk1hcC5maW5kKGdlb2xvY2F0
aW9uSUQpOwotICAgIGlmIChpdCA9PSBtX2lkVG9HZW9sb2NhdGlvbk1hcC5lbmQoKSkKLSAgICAg
ICAgcmV0dXJuOwotCi0gICAgR2VvbG9jYXRpb24qIGdlb2xvY2F0aW9uID0gaXQtPnNlY29uZDsK
LSAgICBnZW9sb2NhdGlvbi0+c2V0SXNBbGxvd2VkKGFsbG93ZWQpOwotCi0gICAgbV9pZFRvR2Vv
bG9jYXRpb25NYXAucmVtb3ZlKGl0KTsKLSAgICBtX2dlb2xvY2F0aW9uVG9JRE1hcC5yZW1vdmUo
Z2VvbG9jYXRpb24pOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1dl
YktpdDIvV2ViUHJvY2Vzcy9HZW9sb2NhdGlvbi9HZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0
TWFuYWdlci5oIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL0dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3RNYW5hZ2VyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVl
MzcxNjNlN2I5MjI4NjE2OGY2NzhlODExMDc3NzQyNjk3M2U3MjIuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0dlb2xvY2F0
aW9uL0dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmgKKysrIC9kZXYvbnVsbApA
QCAtMSw2MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJl
IG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBHZW9sb2NhdGlvblBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlcl9oCi0jZGVmaW5lIEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RN
YW5hZ2VyX2gKLQotI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZlB0
ci5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci1jbGFzcyBHZW9sb2NhdGlvbjsKLX0KLQotbmFt
ZXNwYWNlIFdlYktpdCB7Ci0KLWNsYXNzIFdlYlBhZ2U7Ci0KLWNsYXNzIEdlb2xvY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3RNYW5hZ2VyIHsKLXB1YmxpYzoKLSAgICBleHBsaWNpdCBHZW9sb2NhdGlv
blBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcihXZWJQYWdlKik7Ci0KLSAgICB2b2lkIHN0YXJ0UmVx
dWVzdEZvckdlb2xvY2F0aW9uKFdlYkNvcmU6Okdlb2xvY2F0aW9uKik7Ci0gICAgdm9pZCBjYW5j
ZWxSZXF1ZXN0Rm9yR2VvbG9jYXRpb24oV2ViQ29yZTo6R2VvbG9jYXRpb24qKTsKLQotICAgIHZv
aWQgZGlkUmVjZWl2ZUdlb2xvY2F0aW9uUGVybWlzc2lvbkRlY2lzaW9uKHVpbnQ2NF90IGdlb2xv
Y2F0aW9uSUQsIGJvb2wgYWxsb3dlZCk7Ci0KLXByaXZhdGU6Ci0gICAgdHlwZWRlZiBIYXNoTWFw
PHVpbnQ2NF90LCBXZWJDb3JlOjpHZW9sb2NhdGlvbio+IElEVG9HZW9sb2NhdGlvbk1hcDsKLSAg
ICB0eXBlZGVmIEhhc2hNYXA8V2ViQ29yZTo6R2VvbG9jYXRpb24qLCB1aW50NjRfdD4gR2VvbG9j
YXRpb25Ub0lETWFwOwotICAgIElEVG9HZW9sb2NhdGlvbk1hcCBtX2lkVG9HZW9sb2NhdGlvbk1h
cDsKLSAgICBHZW9sb2NhdGlvblRvSURNYXAgbV9nZW9sb2NhdGlvblRvSURNYXA7Ci0KLSAgICBX
ZWJQYWdlKiBtX3BhZ2U7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8v
IEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyX2gKZGlmZiAtLWdpdCBhL1dlYktp
dDIvV2ViUHJvY2Vzcy9HZW9sb2NhdGlvbi9XZWJHZW9sb2NhdGlvbk1hbmFnZXIuY3BwIGIvV2Vi
S2l0Mi9XZWJQcm9jZXNzL0dlb2xvY2F0aW9uL1dlYkdlb2xvY2F0aW9uTWFuYWdlci5jcHAKaW5k
ZXggNzEzYmE3MWMxOGMzZGY1OWU3M2YwMmMxNDVjMTlkNjg0ZDk2NjIwMS4uYjJmOGFjOGNiNmY4
YjRlMzMwMjU1NzNlODQ4NWZjZGM3MzdiOGYwZSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0dlb2xvY2F0aW9uL1dlYkdlb2xvY2F0aW9uTWFuYWdlci5jcHAKKysrIGIvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0dlb2xvY2F0aW9uL1dlYkdlb2xvY2F0aW9uTWFuYWdlci5jcHAKQEAgLTMwLDcg
KzMwLDYgQEAKICNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCiAKICNpZiBFTkFCTEUoQ0xJRU5UX0JB
U0VEX0dFT0xPQ0FUSU9OKQotI2luY2x1ZGUgPFdlYkNvcmUvR2VvbG9jYXRpb24uaD4KICNpbmNs
dWRlIDxXZWJDb3JlL0dlb2xvY2F0aW9uQ29udHJvbGxlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
R2VvbG9jYXRpb25FcnJvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR2VvbG9jYXRpb25Qb3NpdGlv
bi5oPgpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0dlb2xvY2F0aW9uL1dlYkdlb2xv
Y2F0aW9uTWFuYWdlci5oIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL0dlb2xvY2F0aW9uL1dlYkdlb2xv
Y2F0aW9uTWFuYWdlci5oCmluZGV4IDMyOGY3NDBlNWJlYjk2ZmI5OTMzNDg2MDFmMGZjNjk2NTQ4
OWUxOWEuLjZjZTZiZDIwNGMzNzc5NmJlMTNkZWFmOWYwODFlZWY3OGRlNmI0NjYgMTAwNjQ0Ci0t
LSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9HZW9sb2NhdGlvbi9XZWJHZW9sb2NhdGlvbk1hbmFnZXIu
aAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvR2VvbG9jYXRpb24vV2ViR2VvbG9jYXRpb25NYW5h
Z2VyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlICJNZXNzYWdlSUQuaCIKICNpbmNsdWRl
ICJXZWJHZW9sb2NhdGlvblBvc2l0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNp
bmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBu
YW1lc3BhY2UgQ29yZUlQQyB7CkBAIC0zNywxMCArMzYsNiBAQCBjbGFzcyBBcmd1bWVudERlY29k
ZXI7CiBjbGFzcyBDb25uZWN0aW9uOwogfQogCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci1jbGFzcyBH
ZW9sb2NhdGlvbjsKLX0KLQogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYlByb2Nlc3M7
CkBAIC01NSw4ICs1MCw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlZ2lzdGVyV2ViUGFnZShXZWJQ
YWdlKik7CiAgICAgdm9pZCB1bnJlZ2lzdGVyV2ViUGFnZShXZWJQYWdlKik7CiAKLSAgICB2b2lk
IHJlcXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6Okdlb2xvY2F0aW9uKik7Ci0KICAgICB2b2lkIGRp
ZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQs
IENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciopOwogCiBwcml2YXRlOgpAQCAtNjgsOCArNjEsNiBA
QCBwcml2YXRlOgogCiAgICAgV2ViUHJvY2VzcyogbV9wcm9jZXNzOwogICAgIEhhc2hTZXQ8V2Vi
UGFnZSo+IG1fcGFnZVNldDsKLQotICAgIEhhc2hNYXA8dWludDY0X3QsIFJlZlB0cjxXZWJDb3Jl
OjpHZW9sb2NhdGlvbj4gPiBtX2dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RzOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViR2VvbG9jYXRpb25DbGllbnQuY3BwIGIvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkdlb2xvY2F0aW9uQ2xpZW50LmNwcAppbmRleCA4NzAxMDIyZDcy
MWQ4NjkwNjdiNjNiYzlmZTk5NjI5NGM4N2NiNmU4Li4zYTFmOTQxOWFiZTIxN2U1MTQwYjg4N2U1
YzhlYmZkZjU4ZmI4N2FjIDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViR2VvbG9jYXRpb25DbGllbnQuY3BwCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJHZW9sb2NhdGlvbkNsaWVudC5jcHAKQEAgLTI4LDE5ICsyOCwxMyBA
QAogI2lmIEVOQUJMRShDTElFTlRfQkFTRURfR0VPTE9DQVRJT04pCiAKICNpbmNsdWRlICJXZWJH
ZW9sb2NhdGlvbk1hbmFnZXIuaCIKLSNpbmNsdWRlICJXZWJQYWdlLmgiCiAjaW5jbHVkZSAiV2Vi
UHJvY2Vzcy5oIgotI2luY2x1ZGUgPFdlYkNvcmUvR2VvbG9jYXRpb24uaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL0dlb2xvY2F0aW9uUG9zaXRpb24uaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1XZWJHZW9sb2NhdGlvbkNsaWVudDo6fldlYkdlb2xv
Y2F0aW9uQ2xpZW50KCkKLXsKLX0KLQogdm9pZCBXZWJHZW9sb2NhdGlvbkNsaWVudDo6Z2VvbG9j
YXRpb25EZXN0cm95ZWQoKQogewogICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmdlb2xvY2F0aW9u
TWFuYWdlcigpLnVucmVnaXN0ZXJXZWJQYWdlKG1fcGFnZSk7CkBAIC02NywxNCArNjEsMTQgQEAg
R2VvbG9jYXRpb25Qb3NpdGlvbiogV2ViR2VvbG9jYXRpb25DbGllbnQ6Omxhc3RQb3NpdGlvbigp
CiAgICAgcmV0dXJuIDA7CiB9CiAKLXZvaWQgV2ViR2VvbG9jYXRpb25DbGllbnQ6OnJlcXVlc3RQ
ZXJtaXNzaW9uKEdlb2xvY2F0aW9uKiBnZW9sb2NhdGlvbikKK3ZvaWQgV2ViR2VvbG9jYXRpb25D
bGllbnQ6OnJlcXVlc3RQZXJtaXNzaW9uKEdlb2xvY2F0aW9uKikKIHsKLSAgICBtX3BhZ2UtPmdl
b2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKCkuc3RhcnRSZXF1ZXN0Rm9yR2VvbG9j
YXRpb24oZ2VvbG9jYXRpb24pOworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhpcy4KIH0KIAot
dm9pZCBXZWJHZW9sb2NhdGlvbkNsaWVudDo6Y2FuY2VsUGVybWlzc2lvblJlcXVlc3QoR2VvbG9j
YXRpb24qIGdlb2xvY2F0aW9uKQordm9pZCBXZWJHZW9sb2NhdGlvbkNsaWVudDo6Y2FuY2VsUGVy
bWlzc2lvblJlcXVlc3QoR2VvbG9jYXRpb24qKQogewotICAgIG1fcGFnZS0+Z2VvbG9jYXRpb25Q
ZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIoKS5jYW5jZWxSZXF1ZXN0Rm9yR2VvbG9jYXRpb24oZ2Vv
bG9jYXRpb24pOworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhpcy4KIH0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViR2VvbG9jYXRpb25DbGllbnQuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJHZW9sb2NhdGlvbkNsaWVudC5oCmluZGV4IGU3MjEyNGQwNTYyOGQwMTY1OWUyZDRi
ZjBjN2VlYWJkNzg0ZjNjMmUuLmQ4YzM3MDk2MTc4NmY5YWEwZTgwZGRhZTcxNGYyNmRjODcyNDc4
OTAgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJHZW9s
b2NhdGlvbkNsaWVudC5oCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJHZW9sb2NhdGlvbkNsaWVudC5oCkBAIC00MSw4ICs0MSw2IEBAIHB1YmxpYzoKICAgICB7CiAg
ICAgfQogCi0gICAgdmlydHVhbCB+V2ViR2VvbG9jYXRpb25DbGllbnQoKTsKLQogcHJpdmF0ZToK
ICAgICB2aXJ0dWFsIHZvaWQgZ2VvbG9jYXRpb25EZXN0cm95ZWQoKTsKIApAQCAtNTUsNyArNTMs
NiBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3Jl
OjpHZW9sb2NhdGlvbiopOwogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxQZXJtaXNzaW9uUmVxdWVz
dChXZWJDb3JlOjpHZW9sb2NhdGlvbiopOwogCi0KICAgICBXZWJQYWdlKiBtX3BhZ2U7CiB9Owog
CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDk3MTBkYjU4M2YwMDcx
NDIwNzJiZWJmNGYxNDVhMGFhNWVmNWIyYTYuLjY4NGRmMTVkNzYwMTA4MzY0ZjhmMzA1ZmE1ZTk5
YmEwNzVmMWJhMjEgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0x
NDAsNyArMTQwLDYgQEAgV2ViUGFnZTo6V2ViUGFnZSh1aW50NjRfdCBwYWdlSUQsIGNvbnN0IFdl
YlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiAgICAgLCBtX25hdGl2ZVdpbmRv
dyhwYXJhbWV0ZXJzLm5hdGl2ZVdpbmRvdykKICNlbmRpZgogICAgICwgbV9maW5kQ29udHJvbGxl
cih0aGlzKQotICAgICwgbV9nZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcih0aGlz
KQogICAgICwgbV9wYWdlSUQocGFnZUlEKQogewogICAgIEFTU0VSVChtX3BhZ2VJRCk7CkBAIC0x
MzAzLDExICsxMzAyLDYgQEAgdm9pZCBXZWJQYWdlOjpkaWRDYW5jZWxGb3JPcGVuUGFuZWwoKQog
ICAgIG1fYWN0aXZlT3BlblBhbmVsUmVzdWx0TGlzdGVuZXIgPSAwOwogfQogCi12b2lkIFdlYlBh
Z2U6OmRpZFJlY2VpdmVHZW9sb2NhdGlvblBlcm1pc3Npb25EZWNpc2lvbih1aW50NjRfdCBnZW9s
b2NhdGlvbklELCBib29sIGFsbG93ZWQpCi17Ci0gICAgbV9nZW9sb2NhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlci5kaWRSZWNlaXZlR2VvbG9jYXRpb25QZXJtaXNzaW9uRGVjaXNpb24oZ2Vv
bG9jYXRpb25JRCwgYWxsb3dlZCk7Ci19Ci0KIHZvaWQgV2ViUGFnZTo6YWR2YW5jZVRvTmV4dE1p
c3NwZWxsaW5nKGJvb2wgc3RhcnRCZWZvcmVTZWxlY3Rpb24pCiB7CiAgICAgRnJhbWUqIGZyYW1l
ID0gbV9wYWdlLT5mb2N1c0NvbnRyb2xsZXIoKS0+Zm9jdXNlZE9yTWFpbkZyYW1lKCk7CmRpZmYg
LS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggYjhmNjVlY2JlMzRiMzJkY2I3ZTE5ZGIw
MjExY2QxMjE5MzlmNDAwMi4uY2JmNzUxNjM0OWI0MmRlMmIwZmQwYmY1YjZlOTI4ODAxYTI3NTc0
YiAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBi
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMjksNyArMjksNiBAQAog
I2luY2x1ZGUgIkFQSU9iamVjdC5oIgogI2luY2x1ZGUgIkRyYXdpbmdBcmVhLmgiCiAjaW5jbHVk
ZSAiRmluZENvbnRyb2xsZXIuaCIKLSNpbmNsdWRlICJHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1
ZXN0TWFuYWdlci5oIgogI2luY2x1ZGUgIkltYWdlT3B0aW9ucy5oIgogI2luY2x1ZGUgIkluamVj
dGVkQnVuZGxlUGFnZUNvbnRleHRNZW51Q2xpZW50LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5k
bGVQYWdlRWRpdG9yQ2xpZW50LmgiCkBAIC0yMjYsNyArMjI1LDYgQEAgcHVibGljOgogICAgIHN0
YXRpYyBjb25zdCBXZWJFdmVudCogY3VycmVudEV2ZW50KCk7CiAKICAgICBGaW5kQ29udHJvbGxl
ciYgZmluZENvbnRyb2xsZXIoKSB7IHJldHVybiBtX2ZpbmRDb250cm9sbGVyOyB9Ci0gICAgR2Vv
bG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXImIGdlb2xvY2F0aW9uUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyKCkgeyByZXR1cm4gbV9nZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFu
YWdlcjsgfQogCiAgICAgdm9pZCBwYWdlRGlkU2Nyb2xsKCk7CiAjaWYgRU5BQkxFKFRJTEVEX0JB
Q0tJTkdfU1RPUkUpCkBAIC0zODYsOCArMzg0LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZENo
b29zZUZpbGVzRm9yT3BlblBhbmVsKGNvbnN0IFZlY3RvcjxTdHJpbmc+Jik7CiAgICAgdm9pZCBk
aWRDYW5jZWxGb3JPcGVuUGFuZWwoKTsKIAotICAgIHZvaWQgZGlkUmVjZWl2ZUdlb2xvY2F0aW9u
UGVybWlzc2lvbkRlY2lzaW9uKHVpbnQ2NF90IGdlb2xvY2F0aW9uSUQsIGJvb2wgYWxsb3dlZCk7
Ci0KICAgICB2b2lkIGFkdmFuY2VUb05leHRNaXNzcGVsbGluZyhib29sIHN0YXJ0QmVmb3JlU2Vs
ZWN0aW9uKTsKICAgICB2b2lkIGNoYW5nZVNwZWxsaW5nVG9Xb3JkKGNvbnN0IFN0cmluZyYgd29y
ZCk7CiAgICAgdm9pZCB1bm1hcmtBbGxNaXNzcGVsbGluZ3MoKTsKQEAgLTQ3MSw3ICs0NjcsNiBA
QCBwcml2YXRlOgogICAgIFJlZlB0cjxXZWJQb3B1cE1lbnU+IG1fYWN0aXZlUG9wdXBNZW51Owog
ICAgIFJlZlB0cjxXZWJDb250ZXh0TWVudT4gbV9jb250ZXh0TWVudTsKICAgICBSZWZQdHI8V2Vi
T3BlblBhbmVsUmVzdWx0TGlzdGVuZXI+IG1fYWN0aXZlT3BlblBhbmVsUmVzdWx0TGlzdGVuZXI7
Ci0gICAgR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIgbV9nZW9sb2NhdGlvblBl
cm1pc3Npb25SZXF1ZXN0TWFuYWdlcjsKIAogICAgIFNhbmRib3hFeHRlbnNpb25UcmFja2VyIG1f
c2FuZGJveEV4dGVuc2lvblRyYWNrZXI7CiAgICAgdWludDY0X3QgbV9wYWdlSUQ7CmRpZmYgLS1n
aXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluIGIvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgppbmRleCAyNWI4Y2M0
NzhjODBmM2I3NmJiNTAzZGNlZjkxODg4ODc2Yjk0MmM5Li5kNzgxYWUxODk0N2Y0ZDkxZDU3ZTE1
NzBjZjYxZWVhYTQ1MjU4MTlmIDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UubWVzc2FnZXMuaW4KQEAgLTExNyw5ICsxMTcsNiBAQCBtZXNzYWdlcyAtPiBXZWJQYWdl
IHsKICAgICBTZXRTbWFydEluc2VydERlbGV0ZUVuYWJsZWQoYm9vbCBpc1NtYXJ0SW5zZXJ0RGVs
ZXRlRW5hYmxlZCk7CiAjZW5kaWYKIAotICAgICMgR2VvbG9jYXRpb24KLSAgICBEaWRSZWNlaXZl
R2VvbG9jYXRpb25QZXJtaXNzaW9uRGVjaXNpb24odWludDY0X3QgZ2VvbG9jYXRpb25JRCwgYm9v
bCBhbGxvd2VkKQotCiAgICAgU2V0V2luZG93UmVzaXplclNpemUoV2ViQ29yZTo6SW50U2l6ZSBp
bnRlcnNlY3RzVmlldykKIAogICAgIC8vIEZJWE1FOiBUaGlzIGEgZHVtbXkgbWVzc2FnZSwgdG8g
YXZvaWQgYnJlYWtpbmcgdGhlIGJ1aWxkIGZvciBwbGF0Zm9ybXMgdGhhdCBkb24ndCByZXF1aXJl
CmRpZmYgLS1naXQgYS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvaiBiL1dlYktpdDIvd2luL1dl
YktpdDIudmNwcm9qCmluZGV4IDI5NDE0YmFlMjdkMTkxMTY3NDE5OTdiMzlmYWI4ZTYxMjg5ZTU5
Y2EuLjQ5OWIwMTBlYWRhYzk5NTkyZDdiYzg5ZDgyYTI0NTUxNjFhZDMxM2QgMTAwNzU1Ci0tLSBh
L1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9qCisrKyBiL1dlYktpdDIvd2luL1dlYktpdDIudmNw
cm9qCkBAIC0xMjU4LDE0ICsxMjU4LDYgQEAKIAkJCQlOYW1lPSJHZW9sb2NhdGlvbiIKIAkJCQk+
CiAJCQkJPEZpbGUKLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxXZWJQcm9jZXNzXEdlb2xvY2F0aW9u
XEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcCIKLQkJCQkJPgotCQkJCTwv
RmlsZT4KLQkJCQk8RmlsZQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFdlYlByb2Nlc3NcR2VvbG9j
YXRpb25cR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuaCIKLQkJCQkJPgotCQkJ
CTwvRmlsZT4KLQkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFdlYlByb2Nlc3NcR2Vv
bG9jYXRpb25cV2ViR2VvbG9jYXRpb25NYW5hZ2VyLmNwcCIKIAkJCQkJPgogCQkJCTwvRmlsZT4K
QEAgLTIwMzksMjIgKzIwMzEsNiBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJ
UmVsYXRpdmVQYXRoPSIuLlxVSVByb2Nlc3NcR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXJQcm94eS5jcHAiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXFVJUHJvY2Vzc1xHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclBy
b3h5LmgiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XFVJUHJvY2Vzc1xHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0UHJveHkuY3BwIgotCQkJCT4K
LQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxVSVByb2Nlc3NcR2Vv
bG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdFByb3h5LmgiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJ
PEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFVJUHJvY2Vzc1xMYXllckJhY2tlZERyYXdpbmdB
cmVhUHJveHkuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KQEAgLTI0ODEsMTQgKzI0NTcsNiBAQAog
CQkJCQkJPgogCQkJCQk8L0ZpbGU+CiAJCQkJCTxGaWxlCi0JCQkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XFVJUHJvY2Vzc1xBUElcQ1xXS0dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuY3BwIgotCQkJ
CQkJPgotCQkJCQk8L0ZpbGU+Ci0JCQkJCTxGaWxlCi0JCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFVJ
UHJvY2Vzc1xBUElcQ1xXS0dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuaCIKLQkJCQkJCT4K
LQkJCQkJPC9GaWxlPgotCQkJCQk8RmlsZQogCQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxVSVByb2Nl
c3NcQVBJXENcV0tHZW9sb2NhdGlvblBvc2l0aW9uLmNwcCIKIAkJCQkJCT4KIAkJCQkJPC9GaWxl
PgpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi93aW4vV2ViS2l0MkdlbmVyYXRlZC5tYWtlIGIvV2ViS2l0
Mi93aW4vV2ViS2l0MkdlbmVyYXRlZC5tYWtlCmluZGV4IDk0NjBhYjVhMzVkYzlmY2NmMjFiOWRi
N2RjN2ZmYzhjNDc5M2M1MmIuLjMwZTE5YmZiZGNiNTlhNDUzNjY0OTQ3MmU3NTkzNDRjODZmMDRl
ZDIgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvd2luL1dlYktpdDJHZW5lcmF0ZWQubWFrZQorKysgYi9X
ZWJLaXQyL3dpbi9XZWJLaXQyR2VuZXJhdGVkLm1ha2UKQEAgLTQ5LDcgKzQ5LDYgQEAgYWxsOgog
ICAgIHhjb3B5IC95IC9kICIuLlxVSVByb2Nlc3NcQVBJXENcV0tGcmFtZS5oIiAiJChDT05GSUdV
UkFUSU9OQlVJTERESVIpXGluY2x1ZGVcV2ViS2l0MiIKICAgICB4Y29weSAveSAvZCAiLi5cVUlQ
cm9jZXNzXEFQSVxDXFdLRnJhbWVQb2xpY3lMaXN0ZW5lci5oIiAiJChDT05GSUdVUkFUSU9OQlVJ
TERESVIpXGluY2x1ZGVcV2ViS2l0MiIKICAgICB4Y29weSAveSAvZCAiLi5cVUlQcm9jZXNzXEFQ
SVxDXFdLR2VvbG9jYXRpb25NYW5hZ2VyLmgiICIkKENPTkZJR1VSQVRJT05CVUlMRERJUilcaW5j
bHVkZVxXZWJLaXQyIgotICAgIHhjb3B5IC95IC9kICIuLlxVSVByb2Nlc3NcQVBJXENcV0tHZW9s
b2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0LmgiICIkKENPTkZJR1VSQVRJT05CVUlMRERJUilcaW5j
bHVkZVxXZWJLaXQyIgogICAgIHhjb3B5IC95IC9kICIuLlxVSVByb2Nlc3NcQVBJXENcV0tHZW9s
b2NhdGlvblBvc2l0aW9uLmgiICIkKENPTkZJR1VSQVRJT05CVUlMRERJUilcaW5jbHVkZVxXZWJL
aXQyIgogICAgIHhjb3B5IC95IC9kICIuLlxVSVByb2Nlc3NcQVBJXGNcV0tJbnNwZWN0b3IuaCIg
IiQoQ09ORklHVVJBVElPTkJVSUxERElSKVxpbmNsdWRlXFdlYktpdDIiCiAgICAgeGNvcHkgL3kg
L2QgIi4uXFVJUHJvY2Vzc1xBUElcQ1xXS05hdGl2ZUV2ZW50LmgiICIkKENPTkZJR1VSQVRJT05C
VUlMRERJUilcaW5jbHVkZVxXZWJLaXQyIgo=
</data>
<flag name="commit-queue"
          id="69810"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>