<?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>247758</bug_id>
          
          <creation_ts>2022-11-10 13:33:15 -0800</creation_ts>
          <short_desc>REGRESSION(256493@main): Caused API test crashes on iOS simulator</short_desc>
          <delta_ts>2022-11-10 13:38:18 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>247756</dup_id>
          
          <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>247581</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>darin</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1911637</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2022-11-10 13:33:15 -0800</bug_when>
    <thetext>https://commits.webkit.org/256493@main introduced a regression:
Caused API test crashes on iOS simulator

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>1911639</commentid>
    <comment_count>1</comment_count>
      <attachid>463485</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2022-11-10 13:33:20 -0800</bug_when>
    <thetext>Created attachment 463485
REVERT of 256493@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>1911640</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-11-10 13:37:26 -0800</bug_when>
    <thetext>Committed 256547@main (a89937273085): &lt;https://commits.webkit.org/256547@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 463485.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1911641</commentid>
    <comment_count>3</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2022-11-10 13:38:06 -0800</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 247756 ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1911643</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-11-10 13:38:18 -0800</bug_when>
    <thetext>&lt;rdar://problem/102209540&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>463485</attachid>
            <date>2022-11-10 13:33:20 -0800</date>
            <delta_ts>2022-11-10 13:37:26 -0800</delta_ts>
            <desc>REVERT of 256493@main</desc>
            <filename>bug-247758-20221110133319.patch</filename>
            <type>text/plain</type>
            <size>59838</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">RnJvbSBhNThhNzA1ZmY5NjM3ZmRlYjVhOGJkNzFmYjAzMTZjZTYwZDA5Y2UxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDb21taXQgUXVldWUgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3Jn
PgpEYXRlOiBUaHUsIDEwIE5vdiAyMDIyIDEzOjMzOjE3IC0wODAwClN1YmplY3Q6IFtQQVRDSF0g
VW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNTY0OTNAbWFpbi4KIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yNDc3NTgKCkNhdXNlZCBBUEkgdGVzdCBjcmFzaGVzIG9uIGlP
UyBzaW11bGF0b3IKClJldmVydGVkIGNoYW5nZXNldDoKCiJJbXByb3ZlIGNsYXJpdHkgb2YgY3J5
cHRvZ3JhcGhpY2FsbHkgcmFuZG9tIG51bWJlciBmdW5jdGlvbnMiCmh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDc1ODEKaHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcv
MjU2NDkzQG1haW4KLS0tCiAuLi4vYXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuY3Bw
ICAgICAgfCAgMyArLQogLi4uL2Fzc2VtYmxlci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmggICAg
ICAgIHwgIDEgKwogU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5jcHAgICAgICAgICAg
IHwgIDIgKy0KIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXBJbmxpbmVzLmggICAgICB8
ICAxICsKIC4uLi9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yU29ja2V0RW5kcG9pbnQuY3BwICB8ICA2
ICsrLQogLi4uL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmNwcCAgICAgICAgICAgICAgIHwgIDMg
Ky0KIC4uLi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcCB8ICA0ICst
CiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAgICAgICAgICAgfCAgNSArLQog
U291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiAgICAgIHwgMjAgKysrKyst
LS0KIFNvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0ICAgICAgICAgICAgICAgICB8ICA1ICst
CiAuLi4vV1RGL3d0Zi9DcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlci5jcHAgfCAxNCArLS0t
LS0KIC4uLi9XVEYvd3RmL0NyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyLmggICB8IDE0ICst
LS0tLQogU291cmNlL1dURi93dGYvRmlsZVN5c3RlbS5jcHAgICAgICAgICAgICAgICAgIHwgIDQg
Ky0KIFNvdXJjZS9XVEYvd3RmL0hhc2hUYWJsZS5oICAgICAgICAgICAgICAgICAgICB8ICA0ICst
CiBTb3VyY2UvV1RGL3d0Zi9Mb2dnZXJIZWxwZXIuaCAgICAgICAgICAgICAgICAgfCAgNiArKy0K
IC4uLntXZWFrUmFuZG9tTnVtYmVyLmNwcCA9PiBSYW5kb21OdW1iZXIuY3BwfSB8IDI1ICsrKysr
KysrLS0KIFNvdXJjZS9XVEYvd3RmL1JhbmRvbU51bWJlci5oICAgICAgICAgICAgICAgICB8IDQ5
ICsrKysrKysrKysrKysrKysrKysKIC4uLntXZWFrUmFuZG9tTnVtYmVyLmggPT4gUmFuZG9tTnVt
YmVyU2VlZC5ofSB8IDMyICsrKysrKysrKy0tLQogU291cmNlL1dURi93dGYvUm9iaW5Ib29kSGFz
aFRhYmxlLmggICAgICAgICAgIHwgIDIgKy0KIFNvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHAg
ICAgICAgICAgICAgICAgICB8ICAyICsKIFNvdXJjZS9XVEYvd3RmL1dlYWtSYW5kb20uaCAgICAg
ICAgICAgICAgICAgICB8ICAyICstCiAuLi4vTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VDb25u
ZWN0aW9uLmNwcCAgfCAgMyArLQogLi4uL01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lv
bi5jcHAgICAgIHwgIDMgKy0KIC4uLi9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0
b3IuY3BwICB8ICAzICstCiAuLi4vTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuY3Bw
ICAgICAgfCAgMiArLQogLi4uL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24u
Y3BwIHwgIDMgKy0KIC4uLi9TcGVlY2hSZWNvZ25pdGlvbkNhcHR1cmVTb3VyY2VJbXBsLmNwcCAg
ICB8ICAzICstCiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwICAgICAgICAgICAgICAg
fCAgMyArLQogLi4uL2xvYWRlci9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC5jcHAgICAgICAgIHwg
IDIgKy0KIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuY3BwICAgICAgICAgICAgICB8ICAy
ICstCiBTb3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmggfCAgMiAr
LQogLi4uL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVHJhY2tCdWZmZXIuY3BwIHwgIDMgKy0K
IC4uLi9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmNwcCB8ICAxICsKIC4u
Li9SZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UuY3BwICAgICAgICAgICB8ICAxICsKIC4uLi9H
U3RyZWFtZXJEaXNwbGF5Q2FwdHVyZURldmljZU1hbmFnZXIuY3BwICB8ICA4ICstLQogLi4uL3Bs
YXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmNwcCAgICAgIHwgMTcgKysrKy0tLQogU291
cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldEJ1aWxkZXIuY3BwICAgICAgIHwgIDMgKy0KIC4uLi9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwICB8ICA1ICstCiAuLi4vTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1NvY2tldFN0cmVhbS5jcHAgICAgfCAgMSArCiAuLi4vUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmNwcCAgICAgICAgfCAgMiArLQogLi4uL05ldHdvcmtQ
cm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZURhdGEuY3BwIHwgIDEgKwogLi4uL2NhY2hlL05ldHdv
cmtDYWNoZVN0b3JhZ2UuY3BwICAgICAgICAgICAgIHwgIDIgKy0KIC4uLi9XZWJLaXQvUGxhdGZv
cm0vSVBDL3dpbi9Db25uZWN0aW9uV2luLmNwcCB8ICA1ICstCiAuLi4vV2ViS2l0L1BsYXRmb3Jt
L3VuaXgvU2hhcmVkTWVtb3J5VW5peC5jcHAgfCAgNCArLQogLi4uL1dlYktpdC9TaGFyZWQvbWFj
L0F1eGlsaWFyeVByb2Nlc3NNYWMubW0gIHwgIDEgKwogLi4uL01lZGlhRm9ybWF0UmVhZGVyL01l
ZGlhRm9ybWF0UmVhZGVyLmNwcCAgIHwgIDUgKy0KIC4uLi9VSVByb2Nlc3MvRGV2aWNlSWRIYXNo
U2FsdFN0b3JhZ2UuY3BwICAgICB8ICAyICstCiAuLi4vV2ViQXV0aGVudGljYXRpb24vZmlkby9D
dGFwSGlkRHJpdmVyLmNwcCAgfCAgNCArLQogVG9vbHMvU2NyaXB0cy9kby13ZWJjb3JlLXJlbmFt
ZSAgICAgICAgICAgICAgIHwgIDUgKy0KIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0Js
b29tRmlsdGVyLmNwcCB8ICA0ICstCiAuLi4vVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvU3RkTGli
RXh0cmFzLmNwcCAgfCAgMiArLQogLi4uL1dlYktpdENvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9u
UGFuZWwubW0gIHwgIDQgKy0KIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
Y3BwICAgICB8ICAyICstCiA1MyBmaWxlcyBjaGFuZ2VkLCAxOTYgaW5zZXJ0aW9ucygrKSwgMTE2
IGRlbGV0aW9ucygtKQogcmVuYW1lIFNvdXJjZS9XVEYvd3RmL3tXZWFrUmFuZG9tTnVtYmVyLmNw
cCA9PiBSYW5kb21OdW1iZXIuY3BwfSAoNzElKQogY3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9X
VEYvd3RmL1JhbmRvbU51bWJlci5oCiByZW5hbWUgU291cmNlL1dURi93dGYve1dlYWtSYW5kb21O
dW1iZXIuaCA9PiBSYW5kb21OdW1iZXJTZWVkLmh9ICg2NyUpCgpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5jcHAK
aW5kZXggMGNkYjVmNjlkODY4Li4xNDgxODA5NGM3YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmNwcApA
QCAtMjgsNyArMjgsNiBAQAogCiAjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAotI2luY2x1ZGUgPHd0
Zi9DcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlci5oPgogI2luY2x1ZGUgPHd0Zi9QcmludFN0
cmVhbS5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTM5LDcgKzM4LDcgQEAgdm9pZCBBYnN0cmFj
dE1hY3JvQXNzZW1ibGVyQmFzZTo6aW5pdGlhbGl6ZVJhbmRvbSgpCiAgICAgc3RhdGljIHN0ZDo6
b25jZV9mbGFnIG9uY2VLZXk7CiAgICAgc3RhdGljIHVpbnQzMl90IGdsb2JhbENvdW50ZXI7CiAg
ICAgc3RkOjpjYWxsX29uY2Uob25jZUtleSwgWyZdIHsKLSAgICAgICAgZ2xvYmFsQ291bnRlciA9
IGNyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyPHVpbnQzMl90PigpOworICAgICAgICBnbG9i
YWxDb3VudGVyID0gY3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIoKTsKICAgICB9KTsKICAg
ICBBU1NFUlQoIW1fcmFuZG9tU291cmNlKTsKICAgICBtX3JhbmRvbVNvdXJjZS5lbXBsYWNlKGds
b2JhbENvdW50ZXIrKyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1i
bGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3Nl
bWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oCmluZGV4IDk2OTdhMmVlYjYwNy4uNTExODM3
ZDRkZjljIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3Ry
YWN0TWFjcm9Bc3NlbWJsZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVy
L0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaApAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgIk1h
Y3JvQXNzZW1ibGVyQ29kZVJlZi5oIgogI2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVySGVscGVycy5o
IgogI2luY2x1ZGUgIk9wdGlvbnMuaCIKKyNpbmNsdWRlIDx3dGYvQ3J5cHRvZ3JhcGhpY2FsbHlS
YW5kb21OdW1iZXIuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvU2hhcmVkVGFzay5oPgogI2luY2x1ZGUgPHd0Zi9TdHJpbmdQcmludFN0cmVhbS5oPgpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcAppbmRleCBkNzczZWI5ZTc5ZDYuLmNlZjY1NGIxZDhj
NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5jcHAKQEAgLTEzNDUsNyArMTM0NSw3IEBA
IE5FVkVSX0lOTElORSBib29sIEhlYXA6OnJ1bkJlZ2luUGhhc2UoR0NDb25kdWN0b3IgY29ubikK
ICAgICBtX2JlZm9yZUdDID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAKICAgICBpZiAoIU9wdGlv
bnM6OnNlZWRPZlZNUmFuZG9tRm9yRnV6emVyKCkpCi0gICAgICAgIHZtKCkucmFuZG9tKCkuc2V0
U2VlZChjcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlcjx1aW50MzJfdD4oKSk7CisgICAgICAg
IHZtKCkucmFuZG9tKCkuc2V0U2VlZChjcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlcigpKTsK
IAogICAgIGlmIChtX2NvbGxlY3Rpb25TY29wZSkgewogICAgICAgICBkYXRhTG9nTG4oIkNvbGxl
Y3Rpb24gc2NvcGUgYWxyZWFkeSBzZXQgZHVyaW5nIEdDOiAiLCAqbV9jb2xsZWN0aW9uU2NvcGUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcElubGluZXMuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXBJbmxpbmVzLmgKaW5kZXggZjkxNTQ2YmI2
MmM0Li42NmQ4MzE3ZTMxN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFw
L0hlYXBJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcElubGlu
ZXMuaApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgPHR5cGVfdHJhaXRzPgogI2luY2x1ZGUg
PHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KKyNpbmNsdWRl
IDx3dGYvUmFuZG9tTnVtYmVyLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVj
dG9yU29ja2V0RW5kcG9pbnQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9y
ZW1vdGUvc29ja2V0L1JlbW90ZUluc3BlY3RvclNvY2tldEVuZHBvaW50LmNwcAppbmRleCA2Nzk4
MTU3YWM4OWEuLjhiYjc1NzZjNzU1OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9yZW1vdGUvc29ja2V0L1JlbW90ZUluc3BlY3RvclNvY2tldEVuZHBvaW50LmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvUmVt
b3RlSW5zcGVjdG9yU29ja2V0RW5kcG9pbnQuY3BwCkBAIC0xOTEsMTAgKzE5MSwxMiBAQCB2b2lk
IFJlbW90ZUluc3BlY3RvclNvY2tldEVuZHBvaW50Ojp3b3JrZXJUaHJlYWQoKQogQ29ubmVjdGlv
bklEIFJlbW90ZUluc3BlY3RvclNvY2tldEVuZHBvaW50OjpnZW5lcmF0ZUNvbm5lY3Rpb25JRCgp
CiB7CiAgICAgQVNTRVJUKG1fY29ubmVjdGlvbnNMb2NrLmlzTG9ja2VkKCkpOworCiAgICAgQ29u
bmVjdGlvbklEIGlkOwogICAgIGRvIHsKLSAgICAgICAgaWQgPSBjcnlwdG9ncmFwaGljYWxseVJh
bmRvbU51bWJlcjxDb25uZWN0aW9uSUQ+KCk7Ci0gICAgfSB3aGlsZSAoIW1fY2xpZW50cy5pc1Zh
bGlkS2V5KGlkKSB8fCBtX2NsaWVudHMuY29udGFpbnMoaWQpIHx8IG1fbGlzdGVuZXJzLmNvbnRh
aW5zKGlkKSk7CisgICAgICAgIGlkID0gY3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIoKTsK
KyAgICB9IHdoaWxlICghaWQgfHwgbV9jbGllbnRzLmNvbnRhaW5zKGlkKSB8fCBtX2xpc3RlbmVy
cy5jb250YWlucyhpZCkpOworCiAgICAgcmV0dXJuIGlkOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmNwcAppbmRleCBhYjVkZDZhNDBh
NmQuLjg1YWQ0MTU0NDE0OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9F
eGVjdXRhYmxlQWxsb2NhdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0V4
ZWN1dGFibGVBbGxvY2F0b3IuY3BwCkBAIC0zMSw3ICszMSw2IEBACiAjaW5jbHVkZSAiRXhlY3V0
YWJsZUFsbG9jYXRpb25GdXp6LmgiCiAjaW5jbHVkZSAiSklUT3BlcmF0aW9uVmFsaWRhdGlvbi5o
IgogI2luY2x1ZGUgIkxpbmtCdWZmZXIuaCIKLSNpbmNsdWRlIDx3dGYvQ3J5cHRvZ3JhcGhpY2Fs
bHlSYW5kb21OdW1iZXIuaD4KICNpbmNsdWRlIDx3dGYvRmFzdEJpdFZlY3Rvci5oPgogI2luY2x1
ZGUgPHd0Zi9GaWxlU3lzdGVtLmg+CiAjaW5jbHVkZSA8d3RmL0ZpeGVkVmVjdG9yLmg+CkBAIC01
MzcsNyArNTM2LDcgQEAgcHVibGljOgogCiAgICAgICAgIHVuc2lnbmVkIHN0YXJ0ID0gMDsKICAg
ICAgICAgaWYgKFVOTElLRUxZKE9wdGlvbnM6OnVzZVJhbmRvbWl6aW5nRXhlY3V0YWJsZUlzbGFu
ZEFsbG9jYXRpb24oKSkpCi0gICAgICAgICAgICBzdGFydCA9IGNyeXB0b2dyYXBoaWNhbGx5UmFu
ZG9tTnVtYmVyPHVpbnQzMl90PigpICUgbV9hbGxvY2F0b3JzLnNpemUoKTsKKyAgICAgICAgICAg
IHN0YXJ0ID0gY3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIoKSAlIG1fYWxsb2NhdG9ycy5z
aXplKCk7CiAKICAgICAgICAgdW5zaWduZWQgaSA9IHN0YXJ0OwogICAgICAgICB3aGlsZSAodHJ1
ZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxP
YmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3Qu
Y3BwCmluZGV4IDQ4NzY1OTliNmIwNi4uNTk5NmZlOTMwMmY5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCkBAIC0yNjUsNyArMjY1LDcg
QEAKICNpbmNsdWRlICJXZWJBc3NlbWJseVRhYmxlUHJvdG90eXBlLmgiCiAjaW5jbHVkZSAiV2Vi
QXNzZW1ibHlUYWdDb25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUgIldlYkFzc2VtYmx5VGFnUHJvdG90
eXBlLmgiCi0jaW5jbHVkZSA8d3RmL0NyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyLmg+Cisj
aW5jbHVkZSA8d3RmL1JhbmRvbU51bWJlci5oPgogI2luY2x1ZGUgPHd0Zi9TeXN0ZW1UcmFjaW5n
Lmg+CiAKICNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKQEAgLTY5MSw3ICs2OTEsNyBAQCBK
U0dsb2JhbE9iamVjdDo6SlNHbG9iYWxPYmplY3QoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSwgY29uc3QgR2xvYmFsT2JqZWN0TQogICAgICwgbV92YXJJbmplY3Rpb25XYXRjaHBvaW50U2V0
KFdhdGNocG9pbnRTZXQ6OmNyZWF0ZShJc1dhdGNoZWQpKQogICAgICwgbV92YXJSZWFkT25seVdh
dGNocG9pbnRTZXQoV2F0Y2hwb2ludFNldDo6Y3JlYXRlKElzV2F0Y2hlZCkpCiAgICAgLCBtX3Jl
Z0V4cFJlY29tcGlsZWRXYXRjaHBvaW50U2V0KFdhdGNocG9pbnRTZXQ6OmNyZWF0ZShJc1dhdGNo
ZWQpKQotICAgICwgbV93ZWFrUmFuZG9tKE9wdGlvbnM6OmZvcmNlV2Vha1JhbmRvbVNlZWQoKSA/
IE9wdGlvbnM6OmZvcmNlZFdlYWtSYW5kb21TZWVkKCkgOiBjcnlwdG9ncmFwaGljYWxseVJhbmRv
bU51bWJlcjx1aW50MzJfdD4oKSkKKyAgICAsIG1fd2Vha1JhbmRvbShPcHRpb25zOjpmb3JjZVdl
YWtSYW5kb21TZWVkKCkgPyBPcHRpb25zOjpmb3JjZWRXZWFrUmFuZG9tU2VlZCgpIDogY3J5cHRv
Z3JhcGhpY2FsbHlSYW5kb21VaW50MzIoKSkKICAgICAsIG1fcnVudGltZUZsYWdzKCkKICAgICAs
IG1fc3RhY2tUcmFjZUxpbWl0KE9wdGlvbnM6OmRlZmF1bHRFcnJvclN0YWNrVHJhY2VMaW1pdCgp
KQogICAgICwgbV9jdXN0b21HZXR0ZXJGdW5jdGlvblNldCh2bSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1ZNLmNwcAppbmRleCA2MzU4ZjNhMTNlNmIuLmIxMjZkOGVlYjk2ZCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcApAQCAtMTE0LDcgKzExNCw2IEBACiAjaW5jbHVkZSAi
V2F0Y2hkb2cuaCIKICNpbmNsdWRlICJXZWFrR0NNYXBJbmxpbmVzLmgiCiAjaW5jbHVkZSAiV2lk
ZW5pbmdOdW1iZXJQcmVkaWN0aW9uRnV6emVyQWdlbnQuaCIKLSNpbmNsdWRlIDx3dGYvQ3J5cHRv
Z3JhcGhpY2FsbHlSYW5kb21OdW1iZXIuaD4KICNpbmNsdWRlIDx3dGYvUHJvY2Vzc0lELmg+CiAj
aW5jbHVkZSA8d3RmL1JlYWRXcml0ZUxvY2suaD4KICNpbmNsdWRlIDx3dGYvU2ltcGxlU3RhdHMu
aD4KQEAgLTE5NSw4ICsxOTQsOCBAQCBWTTo6Vk0oVk1UeXBlIHZtVHlwZSwgSGVhcFR5cGUgaGVh
cFR5cGUsIFdURjo6UnVuTG9vcCogcnVuTG9vcCwgYm9vbCogc3VjY2VzcykKICAgICA6IG1faWRl
bnRpZmllcihWTUlkZW50aWZpZXI6OmdlbmVyYXRlVGhyZWFkU2FmZSgpKQogICAgICwgbV9hcGlM
b2NrKGFkb3B0UmVmKG5ldyBKU0xvY2sodGhpcykpKQogICAgICwgbV9ydW5Mb29wKHJ1bkxvb3Ag
PyAqcnVuTG9vcCA6IFdURjo6UnVuTG9vcDo6Y3VycmVudCgpKQotICAgICwgbV9yYW5kb20oT3B0
aW9uczo6c2VlZE9mVk1SYW5kb21Gb3JGdXp6ZXIoKSA/IE9wdGlvbnM6OnNlZWRPZlZNUmFuZG9t
Rm9yRnV6emVyKCkgOiBjcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlcjx1aW50MzJfdD4oKSkK
LSAgICAsIG1faGVhcFJhbmRvbShPcHRpb25zOjpzZWVkT2ZWTVJhbmRvbUZvckZ1enplcigpID8g
T3B0aW9uczo6c2VlZE9mVk1SYW5kb21Gb3JGdXp6ZXIoKSA6IGNyeXB0b2dyYXBoaWNhbGx5UmFu
ZG9tTnVtYmVyPHVpbnQzMl90PigpKQorICAgICwgbV9yYW5kb20oT3B0aW9uczo6c2VlZE9mVk1S
YW5kb21Gb3JGdXp6ZXIoKSA/IE9wdGlvbnM6OnNlZWRPZlZNUmFuZG9tRm9yRnV6emVyKCkgOiBj
cnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlcigpKQorICAgICwgbV9oZWFwUmFuZG9tKE9wdGlv
bnM6OnNlZWRPZlZNUmFuZG9tRm9yRnV6emVyKCkgPyBPcHRpb25zOjpzZWVkT2ZWTVJhbmRvbUZv
ckZ1enplcigpIDogY3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIoKSkKICAgICAsIG1faW50
ZWdyaXR5UmFuZG9tKCp0aGlzKQogICAgICwgaGVhcCgqdGhpcywgaGVhcFR5cGUpCiAgICAgLCBj
bGllbnRIZWFwKGhlYXApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCBiOWU1MDQ4Y2RiM2UuLjFjNjY0YWE1MTViMiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9X
VEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV1RGL1dURi54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNDgsNyArMTQ4LDcgQEAKIAkJQThBNDczRjQxNTFBODI1
QjAwNDEyM0ZGIC8qIE51bWJlck9mQ29yZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQThBNDcyRDUxNTFBODI1QjAwNDEyM0ZGIC8qIE51bWJlck9m
Q29yZXMuY3BwICovOyB9OwogCQlBOEE0NzNGOTE1MUE4MjVCMDA0MTIzRkYgLyogT1NSYW5kb21T
b3VyY2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QThBNDcyREExNTFBODI1QjAwNDEyM0ZGIC8qIE9TUmFuZG9tU291cmNlLmNwcCAqLzsgfTsKIAkJ
QThBNDc0MDIxNTFBODI1QjAwNDEyM0ZGIC8qIFBhZ2VCbG9jay5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBOEE0NzJFMzE1MUE4MjVCMDA0MTIzRkYg
LyogUGFnZUJsb2NrLmNwcCAqLzsgfTsKLQkJQThBNDc0MTQxNTFBODI1QjAwNDEyM0ZGIC8qIFdl
YWtSYW5kb21OdW1iZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQThBNDcyRkIxNTFBODI1QjAwNDEyM0ZGIC8qIFdlYWtSYW5kb21OdW1iZXIuY3Bw
ICovOyB9OworCQlBOEE0NzQxNDE1MUE4MjVCMDA0MTIzRkYgLyogUmFuZG9tTnVtYmVyLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4QTQ3MkZCMTUx
QTgyNUIwMDQxMjNGRiAvKiBSYW5kb21OdW1iZXIuY3BwICovOyB9OwogCQlBOEE0NzQxQTE1MUE4
MjVCMDA0MTIzRkYgLyogUmVmQ291bnRlZExlYWtDb3VudGVyLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4QTQ3MzAxMTUxQTgyNUIwMDQxMjNGRiAv
KiBSZWZDb3VudGVkTGVha0NvdW50ZXIuY3BwICovOyB9OwogCQlBOEE0NzQyMTE1MUE4MjVCMDA0
MTIzRkYgLyogU0hBMS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBOEE0NzMwODE1MUE4MjVCMDA0MTIzRkYgLyogU0hBMS5jcHAgKi87IH07CiAJCUE4
QTQ3NDI1MTUxQTgyNUIwMDQxMjNGRiAvKiBTaXplTGltaXRzLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4QTQ3MzBDMTUxQTgyNUIwMDQxMjNGRiAv
KiBTaXplTGltaXRzLmNwcCAqLzsgfTsKQEAgLTIxNyw3ICsyMTcsNyBAQAogCQlERDNEQzg4NzI3
QTRCRjhFMDA3RTVCNjEgLyogQ3Jvc3NUaHJlYWRUYXNrSGFuZGxlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE3RjgyRDYxRkQyMkYyRjAwREEzREVB
IC8qIENyb3NzVGhyZWFkVGFza0hhbmRsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQlERDNEQzg4ODI3QTRCRjhFMDA3RTVCNjEgLyogTG9nZ2lu
Z0hhc2hUcmFpdHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGMzBCQThGMUU3ODcwOEUwMDJDQTg0NyAvKiBMb2dnaW5nSGFzaFRyYWl0cy5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUREM0RDODg5MjdB
NEJGOEUwMDdFNUI2MSAvKiBMRUJEZWNvZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MzlFQjA2MjFENTUyODQyMDBDODJFRjcgLyogTEVCRGVjb2Rl
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCURE
M0RDODhBMjdBNEJGOEUwMDdFNUI2MSAvKiBXZWFrUmFuZG9tTnVtYmVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBOEE0NzJGQzE1MUE4MjVCMDA0MTIz
RkYgLyogV2Vha1JhbmRvbU51bWJlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCUREM0RDODhBMjdBNEJGOEUwMDdFNUI2MSAvKiBSYW5kb21OdW1i
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4QTQ3
MkZDMTUxQTgyNUIwMDQxMjNGRiAvKiBSYW5kb21OdW1iZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlERDNEQzg4QjI3QTRCRjhFMDA3RTVCNjEg
LyogU2hhcmVkVGFzay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEZFQjNEQ0UxQkI1RDY4NDAwOUQ3QUFEIC8qIFNoYXJlZFRhc2suaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlERDNEQzg4QzI3QTRCRjhF
MDA3RTVCNjEgLyogRW51bVRyYWl0cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUFFQTg4RTExRDZCQkNGNDAwRTVBRDY0IC8qIEVudW1UcmFpdHMuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlERDNEQzg4
RDI3QTRCRjhFMDA3RTVCNjEgLyogUm9iaW5Ib29kSGFzaFNldC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMyNTYxMTIyNjExQjVCNjAwQTcyQ0M1IC8q
IFJvYmluSG9vZEhhc2hTZXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwpAQCAtNDcyLDYgKzQ3Miw3IEBACiAJCUREM0RDOTg2MjdBNEJGOEUwMDdFNUI2
MSAvKiBEZWJ1Z1V0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTk2QjE3ODQxRUJBNDQxQzAwN0UxMEVCIC8qIERlYnVnVXRpbGl0aWVzLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJREQzREM5
ODcyN0E0QkY4RTAwN0U1QjYxIC8qIFVuaXF1ZUFycmF5LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzAwRTUyMTIwM0Q2NDVGMDBEQTc5QkUgLyogVW5p
cXVlQXJyYXkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQlERDNEQzk4ODI3QTRCRjhFMDA3RTVCNjEgLyogTG9ja0FsZ29yaXRobS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYwRkNEREQxREQxNjdGOTAw
Q0NBQjUzIC8qIExvY2tBbGdvcml0aG0uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQlERDNEQzk4OTI3QTRCRjhFMDA3RTVCNjEgLyogUmFuZG9tTnVt
YmVyU2VlZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QThBNDcyRkQxNTFBODI1QjAwNDEyM0ZGIC8qIFJhbmRvbU51bWJlclNlZWQuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlERDNEQzk4QTI3QTRCRjhF
MDA3RTVCNjEgLyogTmFrZWRSZWYuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUzMkEyMDczMjNDNTkwMkQwMDM0QTA5MiAvKiBOYWtlZFJlZi5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUREM0RDOThCMjdB
NEJGOEUwMDdFNUI2MSAvKiBJbnN0YW5jZUNvdW50ZWQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxODJDMjJDMUYyQkM3RTYwMDU5QkE3QyAvKiBJbnN0
YW5jZUNvdW50ZWQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQlERDNEQzk4QzI3QTRCRjhFMDA3RTVCNjEgLyogTm9Mb2NrLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjBEODVCMzE3MjM0Q0IxMDAzMzgy
MTAgLyogTm9Mb2NrLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKQEAgLTEzNDUsOCArMTM0Niw5IEBACiAJCUE4QTQ3MkU1MTUxQTgyNUIwMDQxMjNGRiAv
KiBQYWdlUmVzZXJ2YXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGFn
ZVJlc2VydmF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE4QTQ3MkU2MTUx
QTgyNUIwMDQxMjNGRiAvKiBQYXJhbGxlbEpvYnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUGFyYWxsZWxKb2JzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE4
QTQ3MkU5MTUxQTgyNUIwMDQxMjNGRiAvKiBQYXJhbGxlbEpvYnNMaWJkaXNwYXRjaC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYXJhbGxlbEpvYnNMaWJkaXNwYXRjaC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlBOEE0NzJGQjE1MUE4MjVCMDA0MTIzRkYgLyog
V2Vha1JhbmRvbU51bWJlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBXZWFrUmFuZG9tTnVtYmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQThB
NDcyRkMxNTFBODI1QjAwNDEyM0ZGIC8qIFdlYWtSYW5kb21OdW1iZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vha1JhbmRvbU51bWJlci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlBOEE0NzJGQjE1MUE4MjVCMDA0MTIzRkYgLyogUmFuZG9tTnVtYmVyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJhbmRvbU51bWJlci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE4QTQ3MkZDMTUxQTgyNUIwMDQxMjNGRiAv
KiBSYW5kb21OdW1iZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmFuZG9t
TnVtYmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE4QTQ3MkZEMTUxQTgyNUIw
MDQxMjNGRiAvKiBSYW5kb21OdW1iZXJTZWVkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFJhbmRvbU51bWJlclNlZWQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QThBNDcyRkUxNTFBODI1QjAwNDEyM0ZGIC8qIFJlZEJsYWNrVHJlZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBSZWRCbGFja1RyZWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQThBNDcyRkYxNTFBODI1QjAwNDEyM0ZGIC8qIFJlZkNvdW50ZWQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVmQ291bnRlZC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBOEE0NzMwMTE1MUE4MjVCMDA0MTIzRkYgLyogUmVmQ291bnRlZExlYWtD
b3VudGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZkNvdW50
ZWRMZWFrQ291bnRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMTkzLDYg
KzIxOTUsOSBAQAogCQkJCTE0M0Y2MTFFMTU2NUYwRjkwMERCNTE0QSAvKiBSQU1TaXplLmggKi8s
CiAJCQkJQzhGNTk3Q0EyQTU3NDE3RkJBQjkyRkQ2IC8qIFJhbmRvbURldmljZS5jcHAgKi8sCiAJ
CQkJMjRGMUIyNDg2MTlGNDEyMjk2RDFDMTlDIC8qIFJhbmRvbURldmljZS5oICovLAorCQkJCUE4
QTQ3MkZCMTUxQTgyNUIwMDQxMjNGRiAvKiBSYW5kb21OdW1iZXIuY3BwICovLAorCQkJCUE4QTQ3
MkZDMTUxQTgyNUIwMDQxMjNGRiAvKiBSYW5kb21OdW1iZXIuaCAqLywKKwkJCQlBOEE0NzJGRDE1
MUE4MjVCMDA0MTIzRkYgLyogUmFuZG9tTnVtYmVyU2VlZC5oICovLAogCQkJCTBGMkFDNTYwMUU4
OUY3MEMwMDAxRUUzRiAvKiBSYW5nZS5oICovLAogCQkJCTBGNzI1Q0FCMUM1MDQ2MTYwMEFEOTQz
QSAvKiBSYW5nZVNldC5oICovLAogCQkJCUZFN0FDRkVFMjg1REMyRjgwMDdGQzhFOSAvKiBSYXdI
ZXguaCAqLywKQEAgLTIzMzgsOCArMjM0Myw2IEBACiAJCQkJODNBQkIzQzAyMEIzODIzMjAwQkEz
MzA2IC8qIFdlYWtPYmpDUHRyLmggKi8sCiAJCQkJOTc0Q0ZDOEQxNkE0RjMyNzAwNkQ1NDA0IC8q
IFdlYWtQdHIuaCAqLywKIAkJCQkwRjM1MDE2MzFCQjI1OEM4MDBGMEEyQTMgLyogV2Vha1JhbmRv
bS5oICovLAotCQkJCUE4QTQ3MkZCMTUxQTgyNUIwMDQxMjNGRiAvKiBXZWFrUmFuZG9tTnVtYmVy
LmNwcCAqLywKLQkJCQlBOEE0NzJGQzE1MUE4MjVCMDA0MTIzRkYgLyogV2Vha1JhbmRvbU51bWJl
ci5oICovLAogCQkJCURENDkwMUUzMjdCNDc0OEEwMEQ3RTUwRCAvKiBXaW5kb3dzRXh0cmFzLmgg
Ki8sCiAJCQkJMEZFNDQ3OUExQjdBQUEwMzAwOTQ5OEVCIC8qIFdvcmRMb2NrLmNwcCAqLywKIAkJ
CQkwRkU0NDc5QjFCN0FBQTAzMDA5NDk4RUIgLyogV29yZExvY2suaCAqLywKQEAgLTMxMjEsNiAr
MzEyNCw4IEBACiAJCQkJREQzREM4QzYyN0E0QkY4RTAwN0U1QjYxIC8qIFB0clRhZy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJREQzREM4RTgyN0E0QkY4RTAwN0U1QjYxIC8qIFJBTVNpemUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUREM0RDOEIzMjdBNEJGOEUwMDdFNUI2MSAvKiBSYW5kb21EZXZpY2Uu
aCBpbiBIZWFkZXJzICovLAorCQkJCUREM0RDODhBMjdBNEJGOEUwMDdFNUI2MSAvKiBSYW5kb21O
dW1iZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUREM0RDOTg5MjdBNEJGOEUwMDdFNUI2MSAvKiBS
YW5kb21OdW1iZXJTZWVkLmggaW4gSGVhZGVycyAqLywKIAkJCQlERDNEQzkyMDI3QTRCRjhFMDA3
RTVCNjEgLyogUmFuZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUREM0RDOEVCMjdBNEJGOEUwMDdF
NUI2MSAvKiBSYW5nZVNldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkU3QUNGRUYyODVEQzJGOTAw
N0ZDOEU5IC8qIFJhd0hleC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMjgwLDcgKzMyODUsNiBAQAog
CQkJCUREM0RDOTVGMjdBNEJGOEUwMDdFNUI2MSAvKiBXZWFrT2JqQ1B0ci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJREQzREM5NTIyN0E0QkY4RTAwN0U1QjYxIC8qIFdlYWtQdHIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUREM0RDOTE5MjdBNEJGOEUwMDdFNUI2MSAvKiBXZWFrUmFuZG9tLmggaW4gSGVh
ZGVycyAqLywKLQkJCQlERDNEQzg4QTI3QTRCRjhFMDA3RTVCNjEgLyogV2Vha1JhbmRvbU51bWJl
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRERGMzA3M0IyN0MwODZDRDAwNkE1MjZGIC8qIFdlYkNv
cmVUaHJlYWQuaCBpbiBIZWFkZXJzICovLAogCQkJCURERjMwN0ZFMjdDMDhBNzcwMDZBNTI2RiAv
KiBXZWJQcmVmZXJlbmNlcy55YW1sIGluIEhlYWRlcnMgKi8sCiAJCQkJRERGMzA3RkYyN0MwOEE3
NzAwNkE1MjZGIC8qIFdlYlByZWZlcmVuY2VzRGVidWcueWFtbCBpbiBIZWFkZXJzICovLApAQCAt
MzcwMCw2ICszNzA0LDcgQEAKIAkJCQlGRTFFMkMzQjIyNDBDMDY2MDBGNkI3MjkgLyogUHRyVGFn
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0M0Y2MTFGMTU2NUYwRjkwMERCNTE0QSAvKiBSQU1T
aXplLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUEzQjcyNUVDOTg3NDQ2QUQ5M0YxQTQ0MCAvKiBS
YW5kb21EZXZpY2UuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQThBNDc0MTQxNTFBODI1QjAwNDEy
M0ZGIC8qIFJhbmRvbU51bWJlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkVDM0M1RTFGMzY4
QTk3MDBGNTlCNkMgLyogUmVhZFdyaXRlTG9jay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0NkJF
QjZFQjIyRkZFMjQ5MDAyNjk4NjcgLyogUmVmQ291bnRlZC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlBOEE0NzQxQTE1MUE4MjVCMDA0MTIzRkYgLyogUmVmQ291bnRlZExlYWtDb3VudGVyLmNwcCBp
biBTb3VyY2VzICovLApAQCAtMzc2NSw3ICszNzcwLDYgQEAKIAkJCQk5M0U0QTEzNzI4RjZCNzVB
MDA2QUQ5OTQgLyogVVVJRENvY29hLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJRTMxNDlBMzkyMjhC
QjQzNTAwQkZBNkM3IC8qIFZlY3Rvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjY2QjI5MjFE
Qzk3QkFCMDA0QTFEM0YgLyogV2FsbFRpbWUuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJQThBNDc0
MTQxNTFBODI1QjAwNDEyM0ZGIC8qIFdlYWtSYW5kb21OdW1iZXIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMUZBNDdDOEExNTI1MDJEQTAwNTY4RDFCIC8qIFdlYkNvcmVUaHJlYWQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJMEZFNDQ3OUMxQjdBQUEwMzAwOTQ5OEVCIC8qIFdvcmRMb2NrLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUUzODg4ODZGMjBDOTA5NTEwMEU2MzJCQyAvKiBXb3JrZXJQb29s
LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ01ha2VMaXN0
cy50eHQgYi9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAppbmRleCA2ZTNhZDFkOWRkM2Mu
LmQ5MTVjZDc5NmFkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKQEAgLTIxNiw2ICsyMTYsOCBAQCBz
ZXQoV1RGX1BVQkxJQ19IRUFERVJTCiAgICAgUHRyVGFnLmgKICAgICBSQU1TaXplLmgKICAgICBS
YW5kb21EZXZpY2UuaAorICAgIFJhbmRvbU51bWJlci5oCisgICAgUmFuZG9tTnVtYmVyU2VlZC5o
CiAgICAgUmFuZ2UuaAogICAgIFJhbmdlU2V0LmgKICAgICBSYXdIZXguaApAQCAtMzMwLDcgKzMz
Miw2IEBAIHNldChXVEZfUFVCTElDX0hFQURFUlMKICAgICBXZWFrSGFzaFNldC5oCiAgICAgV2Vh
a1B0ci5oCiAgICAgV2Vha1JhbmRvbS5oCi0gICAgV2Vha1JhbmRvbU51bWJlci5oCiAgICAgV2lu
ZG93c0V4dHJhcy5oCiAgICAgV29yZExvY2suaAogICAgIFdvcmtRdWV1ZS5oCkBAIC00NjksNiAr
NDcwLDcgQEAgc2V0KFdURl9TT1VSQ0VTCiAgICAgUHJvY2Vzc1ByaXZpbGVnZS5jcHAKICAgICBS
QU1TaXplLmNwcAogICAgIFJhbmRvbURldmljZS5jcHAKKyAgICBSYW5kb21OdW1iZXIuY3BwCiAg
ICAgUmVhZFdyaXRlTG9jay5jcHAKICAgICBSZWZDb3VudGVkLmNwcAogICAgIFJlZkNvdW50ZWRM
ZWFrQ291bnRlci5jcHAKQEAgLTUwMCw3ICs1MDIsNiBAQCBzZXQoV1RGX1NPVVJDRVMKICAgICBX
VEZBc3NlcnRpb25zLmNwcAogICAgIFdURkNvbmZpZy5jcHAKICAgICBXYWxsVGltZS5jcHAKLSAg
ICBXZWFrUmFuZG9tTnVtYmVyLmNwcAogICAgIFdvcmRMb2NrLmNwcAogICAgIFdvcmtRdWV1ZS5j
cHAKICAgICBXb3JrZXJQb29sLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ3J5cHRv
Z3JhcGhpY2FsbHlSYW5kb21OdW1iZXIuY3BwIGIvU291cmNlL1dURi93dGYvQ3J5cHRvZ3JhcGhp
Y2FsbHlSYW5kb21OdW1iZXIuY3BwCmluZGV4IDFmZDhlODJkMzllYy4uZGY4MjU4NDI1ZDkzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9DcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlci5j
cHAKKysrIGIvU291cmNlL1dURi93dGYvQ3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIuY3Bw
CkBAIC0xLDcgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoYykgMTk5NiwgRGF2aWQgTWF6aWVy
ZXMgPGRtQHV1bi5vcmc+CiAgKiBDb3B5cmlnaHQgKGMpIDIwMDgsIERhbWllbiBNaWxsZXIgPGRq
bUBvcGVuYnNkLm9yZz4KLSAqIENvcHlyaWdodCAoQykgMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5k
IGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55CiAgKiBwdXJwb3NlIHdpdGggb3Igd2l0
aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQsIHByb3ZpZGVkIHRoYXQgdGhlIGFib3ZlCkBAIC0x
NzQsNyArMTczLDcgQEAgQVJDNFJhbmRvbU51bWJlckdlbmVyYXRvciYgc2hhcmVkUmFuZG9tTnVt
YmVyR2VuZXJhdG9yKCkKIAogfQogCi10ZW1wbGF0ZTw+IHVuc2lnbmVkIGNyeXB0b2dyYXBoaWNh
bGx5UmFuZG9tTnVtYmVyPHVuc2lnbmVkPigpCit1aW50MzJfdCBjcnlwdG9ncmFwaGljYWxseVJh
bmRvbU51bWJlcigpCiB7CiAgICAgcmV0dXJuIHNoYXJlZFJhbmRvbU51bWJlckdlbmVyYXRvcigp
LnJhbmRvbU51bWJlcigpOwogfQpAQCAtMTg0LDE1ICsxODMsNCBAQCB2b2lkIGNyeXB0b2dyYXBo
aWNhbGx5UmFuZG9tVmFsdWVzKHZvaWQqIGJ1ZmZlciwgc2l6ZV90IGxlbmd0aCkKICAgICBzaGFy
ZWRSYW5kb21OdW1iZXJHZW5lcmF0b3IoKS5yYW5kb21WYWx1ZXMoYnVmZmVyLCBsZW5ndGgpOwog
fQogCi10ZW1wbGF0ZTw+IHVpbnQ2NF90IGNyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyPHVp
bnQ2NF90PigpCi17Ci0gICAgdWludDY0X3QgaGlnaCA9IGNyeXB0b2dyYXBoaWNhbGx5UmFuZG9t
TnVtYmVyPHVuc2lnbmVkPigpOwotICAgIHJldHVybiAoaGlnaCA8PCAzMikgfCBjcnlwdG9ncmFw
aGljYWxseVJhbmRvbU51bWJlcjx1bnNpZ25lZD4oKTsKLX0KLQotZG91YmxlIGNyeXB0b2dyYXBo
aWNhbGx5UmFuZG9tVW5pdEludGVydmFsKCkKLXsKLSAgICByZXR1cm4gY3J5cHRvZ3JhcGhpY2Fs
bHlSYW5kb21OdW1iZXI8dW5zaWduZWQ+KCkgLyAoc3RkOjpudW1lcmljX2xpbWl0czx1bnNpZ25l
ZD46Om1heCgpICsgMS4wKTsKLX0KLQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ3J5
cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIuaCBiL1NvdXJjZS9XVEYvd3RmL0NyeXB0b2dyYXBo
aWNhbGx5UmFuZG9tTnVtYmVyLmgKaW5kZXggNzZiZDI1MDU0ODQ0Li4zNmNhOTZhZDBjZTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0NyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyLmgK
KysrIGIvU291cmNlL1dURi93dGYvQ3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIuaApAQCAt
MSw2ICsxLDUgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggVG9yY2ggTW9iaWxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLykKLSAqIENv
cHlyaWdodCAoQykgMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMwLDIxICsyOSwxMCBAQAogCiBuYW1lc3BhY2Ug
V1RGIHsKIAotdGVtcGxhdGU8dHlwZW5hbWUgSW50ZWdlclR5cGU+IEludGVnZXJUeXBlIGNyeXB0
b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyKCkgPSBkZWxldGU7Ci0KLS8vIFJldHVybnMgYSBjcnlw
dG9ncmFwaGljYWxseSBzZWN1cmUgcHNldWRvLXJhbmRvbSBudW1iZXIgaW4gdGhlIHJhbmdlIFsw
LCBVSU5UX01BWF0uCi10ZW1wbGF0ZTw+IFdURl9FWFBPUlRfUFJJVkFURSB1bnNpZ25lZCBjcnlw
dG9ncmFwaGljYWxseVJhbmRvbU51bWJlcjx1bnNpZ25lZD4oKTsKLQotLy8gUmV0dXJucyBhIGNy
eXB0b2dyYXBoaWNhbGx5IHNlY3VyZSBwc2V1ZG8tcmFuZG9tIG51bWJlciBpbiB0aGUgcmFuZ2Ug
WzAsIFVJTlQ2NF9NQVhdLgotdGVtcGxhdGU8PiBXVEZfRVhQT1JUX1BSSVZBVEUgdWludDY0X3Qg
Y3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXI8dWludDY0X3Q+KCk7Ci0KK1dURl9FWFBPUlRf
UFJJVkFURSB1aW50MzJfdCBjcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlcigpOwogV1RGX0VY
UE9SVF9QUklWQVRFIHZvaWQgY3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21WYWx1ZXModm9pZCogYnVm
ZmVyLCBzaXplX3QgbGVuZ3RoKTsKIAotLy8gUmV0dXJucyBhIGNyeXB0b2dyYXBoaWNhbGx5IHNl
Y3VyZSBwc2V1ZG8tcmFuZG9tIG51bWJlciBpbiB0aGUgcmFuZ2UgWzAsIDEpLCB3aXRoIDMyIGJp
dHMgb2YgcmFuZG9tbmVzcy4KLVdURl9FWFBPUlRfUFJJVkFURSBkb3VibGUgY3J5cHRvZ3JhcGhp
Y2FsbHlSYW5kb21Vbml0SW50ZXJ2YWwoKTsKLQogfQogCiB1c2luZyBXVEY6OmNyeXB0b2dyYXBo
aWNhbGx5UmFuZG9tTnVtYmVyOwotdXNpbmcgV1RGOjpjcnlwdG9ncmFwaGljYWxseVJhbmRvbVVu
aXRJbnRlcnZhbDsKIHVzaW5nIFdURjo6Y3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21WYWx1ZXM7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9GaWxlU3lzdGVtLmNwcCBiL1NvdXJjZS9XVEYvd3Rm
L0ZpbGVTeXN0ZW0uY3BwCmluZGV4IDllYWMwZmJjNzMyMC4uYTg2NDZiZjYwMDA0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi9GaWxlU3lzdGVtLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9G
aWxlU3lzdGVtLmNwcApAQCAtNTA1LDcgKzUwNSw5IEBAIE1hcHBlZEZpbGVEYXRhIG1hcFRvRmls
ZShjb25zdCBTdHJpbmcmIHBhdGgsIHNpemVfdCBieXRlc1NpemUsIEZ1bmN0aW9uPHZvaWQoY29u
CiBzdGF0aWMgU2FsdCBtYWtlU2FsdCgpCiB7CiAgICAgU2FsdCBzYWx0OwotICAgIGNyeXB0b2dy
YXBoaWNhbGx5UmFuZG9tVmFsdWVzKCZzYWx0LCBzaXplb2YoU2FsdCkpOworICAgIHN0YXRpY19h
c3NlcnQoc2FsdC5zaXplKCkgPT0gOCwgIlNhbHQgc2l6ZSIpOworICAgICpyZWludGVycHJldF9j
YXN0X3B0cjx1aW50MzJfdCo+KCZzYWx0WzBdKSA9IGNyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVt
YmVyKCk7CisgICAgKnJlaW50ZXJwcmV0X2Nhc3RfcHRyPHVpbnQzMl90Kj4oJnNhbHRbNF0pID0g
Y3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIoKTsKICAgICByZXR1cm4gc2FsdDsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvSGFzaFRhYmxlLmggYi9Tb3VyY2UvV1RGL3d0Zi9I
YXNoVGFibGUuaAppbmRleCBiMzgyYjg1ZDRiMzIuLjRiODAwNWM4N2JlMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi93dGYvSGFzaFRhYmxlLmgKKysrIGIvU291cmNlL1dURi93dGYvSGFzaFRhYmxl
LmgKQEAgLTMzLDkgKzMzLDkgQEAKICNpbmNsdWRlIDx3dGYvSGFzaFRyYWl0cy5oPgogI2luY2x1
ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KKyNpbmNsdWRlIDx3
dGYvUmFuZG9tTnVtYmVyLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1
ZGUgPHd0Zi9WYWx1ZUNoZWNrLmg+Ci0jaW5jbHVkZSA8d3RmL1dlYWtSYW5kb21OdW1iZXIuaD4K
IAogLy8gQ29uZmlndXJhdGlvbiBvZiBXVEY6Okhhc2hUYWJsZS4KIC8vICAtIDc1JSBsb2FkIGZh
Y3RvciBmb3Igc21hbGwgdGFibGVzLgpAQCAtNDU5LDcgKzQ1OSw3IEBAIERFQ0xBUkVfQUxMT0NB
VE9SX1dJVEhfSEVBUF9JREVOVElGSUVSKEhhc2hUYWJsZSk7CiAgICAgICAgICAgICAgICAgcmV0
dXJuIGVuZCgpOwogCiAgICAgICAgICAgICB3aGlsZSAodHJ1ZSkgewotICAgICAgICAgICAgICAg
IGF1dG8mIGJ1Y2tldCA9IG1fdGFibGVbd2Vha1JhbmRvbU51bWJlcjx1aW50MzJfdD4oKSAmIHRh
YmxlU2l6ZU1hc2soKV07CisgICAgICAgICAgICAgICAgYXV0byYgYnVja2V0ID0gbV90YWJsZVt3
ZWFrUmFuZG9tVWludDMyKCkgJiB0YWJsZVNpemVNYXNrKCldOwogICAgICAgICAgICAgICAgIGlm
ICghaXNFbXB0eU9yRGVsZXRlZEJ1Y2tldChidWNrZXQpKQogICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gbWFrZUtub3duR29vZEl0ZXJhdG9yKCZidWNrZXQpOwogICAgICAgICAgICAgfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0xvZ2dlckhlbHBlci5oIGIvU291cmNlL1dURi93dGYv
TG9nZ2VySGVscGVyLmgKaW5kZXggZTE0MjZmMGRlMzNiLi5iYTEwM2Y4ZTBhNzcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvd3RmL0xvZ2dlckhlbHBlci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0xv
Z2dlckhlbHBlci5oCkBAIC04MSw5ICs4MSwxMCBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgY29u
c3Qgdm9pZCogdW5pcXVlTG9nSWRlbnRpZmllcigpCiAgICAgewotICAgICAgICByZXR1cm4gcmVp
bnRlcnByZXRfY2FzdDxjb25zdCB2b2lkKj4oY3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXI8
dWludDY0X3Q+KCkpOworICAgICAgICB1aW50NjRfdCBoaWdoV29yZCA9IGNyeXB0b2dyYXBoaWNh
bGx5UmFuZG9tTnVtYmVyKCk7CisgICAgICAgIHVpbnQ2NF90IGxvd1dvcmQgPSBjcnlwdG9ncmFw
aGljYWxseVJhbmRvbU51bWJlcigpOworICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxj
b25zdCB2b2lkKj4oKGhpZ2hXb3JkIDw8IDMyKSArIGxvd1dvcmQpOwogICAgIH0KLQogI2Vsc2Ug
Ly8gUkVMRUFTRV9MT0dfRElTQUJMRUQKIAogI2RlZmluZSBMT0dJREVOVElGSUVSIChzdGQ6Om51
bGxvcHQpCkBAIC0xMTYsMyArMTE3LDQgQEAgcHVibGljOgogfSAvLyBuYW1lc3BhY2UgV1RGCiAK
IHVzaW5nIFdURjo6TG9nZ2VySGVscGVyOworCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9X
ZWFrUmFuZG9tTnVtYmVyLmNwcCBiL1NvdXJjZS9XVEYvd3RmL1JhbmRvbU51bWJlci5jcHAKc2lt
aWxhcml0eSBpbmRleCA3MSUKcmVuYW1lIGZyb20gU291cmNlL1dURi93dGYvV2Vha1JhbmRvbU51
bWJlci5jcHAKcmVuYW1lIHRvIFNvdXJjZS9XVEYvd3RmL1JhbmRvbU51bWJlci5jcHAKaW5kZXgg
OWJlODg3ZjY5YzlhLi5iOWE2OWIzMjAxNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1dl
YWtSYW5kb21OdW1iZXIuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL1JhbmRvbU51bWJlci5jcHAK
QEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2LTIwMjIgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqICAgICAgICAgICAoQykgMjAwOCwg
MjAwOSBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50
b3JjaG1vYmlsZS5jb20vKQogICogQ29weXJpZ2h0IChDKSAyMDEzIEFuZHJldyBCb3J0ei4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCkBAIC0yNiwxMyArMjYsMzIgQEAKICAqLwogCiAjaW5jbHVk
ZSAiY29uZmlnLmgiCi0jaW5jbHVkZSA8d3RmL1dlYWtSYW5kb21OdW1iZXIuaD4KKyNpbmNsdWRl
IDx3dGYvUmFuZG9tTnVtYmVyLmg+CiAKKyNpbmNsdWRlIDxsaW1pdHM+CisjaW5jbHVkZSA8d3Rm
L0NyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyLmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtSYW5k
b20uaD4KIAogbmFtZXNwYWNlIFdURiB7CiAKLXRlbXBsYXRlPD4gdW5zaWduZWQgd2Vha1JhbmRv
bU51bWJlcjx1bnNpZ25lZD4oKQorZG91YmxlIGNyeXB0b2dyYXBoaWNhbGx5UmFuZG9tVW5pdElu
dGVydmFsKCkKK3sKKyAgICB1aW50MzJfdCBiaXRzID0gY3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21O
dW1iZXIoKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8ZG91YmxlPihiaXRzKSAvIChzdGF0aWNf
Y2FzdDxkb3VibGU+KHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDMyX3Q+OjptYXgoKSkgKyAxLjAp
OworfQorCit1bnNpZ25lZCBjcnlwdG9ncmFwaGljYWxseVJhbmRvbVVpbnQzMigpCit7CisgICAg
cmV0dXJuIGNyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyKCk7Cit9CisKK3VpbnQ2NF90IGNy
eXB0b2dyYXBoaWNhbGx5UmFuZG9tVWludDY0KCkKK3sKKyAgICBhdXRvIGhpZ2ggPSBzdGF0aWNf
Y2FzdDx1aW50NjRfdD4oY3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIoKSk7CisgICAgcmV0
dXJuIChoaWdoIDw8IDMyKSB8IGNyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyKCk7Cit9CisK
K3Vuc2lnbmVkIHdlYWtSYW5kb21VaW50MzIoKQogewogICAgIC8vIFdlIGRvbid0IGNhcmUgYWJv
dXQgdGhyZWFkIHNhZmV0eS4gV2Vha1JhbmRvbSBqdXN0IHVzZXMgUE9EIHR5cGVzLAogICAgIC8v
IGFuZCByYWN5IGFjY2VzcyBqdXN0IGluY3JlYXNlcyByYW5kb21uZXNzLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvUmFuZG9tTnVtYmVyLmggYi9Tb3VyY2UvV1RGL3d0Zi9SYW5kb21OdW1i
ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmQzYTY3ZDQ1NmFi
NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL1JhbmRvbU51bWJlci5oCkBAIC0w
LDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggVG9yY2ggTW9iaWxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLykKKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNwcmFnbWEgb25jZQorCisj
aW5jbHVkZSA8Y3N0ZGludD4KKworbmFtZXNwYWNlIFdURiB7CisKKy8vIFJldHVybnMgYSBjcnlw
dG9ncmFwaGljYWxseSBzZWN1cmUgcHNldWRvLXJhbmRvbSBudW1iZXIgaW4gdGhlIHJhbmdlIFsw
LCAxKS4KK1dURl9FWFBPUlRfUFJJVkFURSBkb3VibGUgY3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21V
bml0SW50ZXJ2YWwoKTsKKworLy8gUmV0dXJucyBhIGNyeXB0b2dyYXBoaWNhbGx5IHNlY3VyZSBw
c2V1ZG8tcmFuZG9tIG51bWJlciBpbiB0aGUgcmFuZ2UgKDAsIFVJTlRfTUFYXS4KK1dURl9FWFBP
UlRfUFJJVkFURSB1bnNpZ25lZCBjcnlwdG9ncmFwaGljYWxseVJhbmRvbVVpbnQzMigpOworCisv
LyBSZXR1cm5zIGEgY3J5cHRvZ3JhcGhpY2FsbHkgc2VjdXJlIHBzZXVkby1yYW5kb20gbnVtYmVy
IGluIHRoZSByYW5nZSAoMCwgVUlOVDY0X01BWF0uCitXVEZfRVhQT1JUX1BSSVZBVEUgdWludDY0
X3QgY3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21VaW50NjQoKTsKKworLy8gUmV0dXJucyBhIGNoZWFw
IHBzZXVkby1yYW5kb20gbnVtYmVyIGluIHRoZSByYW5nZSAoMCwgVUlOVF9NQVhdLgorV1RGX0VY
UE9SVF9QUklWQVRFIHVuc2lnbmVkIHdlYWtSYW5kb21VaW50MzIoKTsKKworfQorCit1c2luZyBX
VEY6OmNyeXB0b2dyYXBoaWNhbGx5UmFuZG9tVW5pdEludGVydmFsOwordXNpbmcgV1RGOjpjcnlw
dG9ncmFwaGljYWxseVJhbmRvbVVpbnQzMjsKK3VzaW5nIFdURjo6Y3J5cHRvZ3JhcGhpY2FsbHlS
YW5kb21VaW50NjQ7Cit1c2luZyBXVEY6OndlYWtSYW5kb21VaW50MzI7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL3d0Zi9XZWFrUmFuZG9tTnVtYmVyLmggYi9Tb3VyY2UvV1RGL3d0Zi9SYW5kb21O
dW1iZXJTZWVkLmgKc2ltaWxhcml0eSBpbmRleCA2NyUKcmVuYW1lIGZyb20gU291cmNlL1dURi93
dGYvV2Vha1JhbmRvbU51bWJlci5oCnJlbmFtZSB0byBTb3VyY2UvV1RGL3d0Zi9SYW5kb21OdW1i
ZXJTZWVkLmgKaW5kZXggMzQ5ODk0YzMxMjY4Li44NDM0ZmNjOTFmZDEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvd3RmL1dlYWtSYW5kb21OdW1iZXIuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9SYW5k
b21OdW1iZXJTZWVkLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIy
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOCBU
b3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1v
YmlsZS5jb20vKQogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNSwxMyArMjUs
MzMgQEAKIAogI3ByYWdtYSBvbmNlCiAKLW5hbWVzcGFjZSBXVEYgeworI2luY2x1ZGUgPHN0ZGxp
Yi5oPgorI2luY2x1ZGUgPHRpbWUuaD4KKyNpbmNsdWRlIDx3dGYvQ3J5cHRvZ3JhcGhpY2FsbHlS
YW5kb21OdW1iZXIuaD4KKworI2lmIEhBVkUoU1lTX1RJTUVfSCkKKyNpbmNsdWRlIDxzeXMvdGlt
ZS5oPgorI2VuZGlmCiAKLXRlbXBsYXRlPHR5cGVuYW1lIEludGVnZXJUeXBlPiBJbnRlZ2VyVHlw
ZSB3ZWFrUmFuZG9tTnVtYmVyKCkgPSBkZWxldGU7CisjaWYgT1MoVU5JWCkKKyNpbmNsdWRlIDxz
eXMvdHlwZXMuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNlbmRpZgogCi0vLyBSZXR1cm5zIGEg
Y2hlYXAgcHNldWRvLXJhbmRvbSBudW1iZXIgaW4gdGhlIHJhbmdlIFswLCBVSU5UX01BWF0uCi10
ZW1wbGF0ZTw+IFdURl9FWFBPUlRfUFJJVkFURSB1bnNpZ25lZCB3ZWFrUmFuZG9tTnVtYmVyPHVu
c2lnbmVkPigpOworbmFtZXNwYWNlIFdURiB7CisKK2lubGluZSB2b2lkIGluaXRpYWxpemVSYW5k
b21OdW1iZXJHZW5lcmF0b3IoKQoreworI2lmIE9TKERBUldJTikKKyAgICAvLyBPbiBEYXJ3aW4g
d2UgdXNlIGFyYzRyYW5kb20gd2hpY2ggaW5pdGlhbGlzZXMgaXRzZWxmLgorI2VsaWYgQ09NUElM
RVIoTVNWQykgJiYgZGVmaW5lZChfQ1JUX1JBTkRfUykKKyAgICAvLyBPbiBXaW5kb3dzIHdlIHVz
ZSByYW5kX3Mgd2hpY2ggaW5pdGlhbGlzZXMgaXRzZWxmCisjZWxpZiBPUyhVTklYKQorICAgIHNy
YW5kb20oY3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIoKSk7CisjZWxzZQorICAgIHNyYW5k
KGNyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyKCkpOworI2VuZGlmCiAKIH0KIAotdXNpbmcg
V1RGOjp3ZWFrUmFuZG9tTnVtYmVyOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUm9i
aW5Ib29kSGFzaFRhYmxlLmggYi9Tb3VyY2UvV1RGL3d0Zi9Sb2Jpbkhvb2RIYXNoVGFibGUuaApp
bmRleCA4ZDk4OTY2NjliNDQuLjNhODlmOGUxNDM3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvUm9iaW5Ib29kSGFzaFRhYmxlLmgKKysrIGIvU291cmNlL1dURi93dGYvUm9iaW5Ib29kSGFz
aFRhYmxlLmgKQEAgLTE0Nyw3ICsxNDcsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICByZXR1cm4g
ZW5kKCk7CiAKICAgICAgICAgd2hpbGUgKHRydWUpIHsKLSAgICAgICAgICAgIGF1dG8mIGJ1Y2tl
dCA9IG1fdGFibGVbd2Vha1JhbmRvbU51bWJlcjx1aW50MzJfdD4oKSAmIHRhYmxlU2l6ZU1hc2so
KV07CisgICAgICAgICAgICBhdXRvJiBidWNrZXQgPSBtX3RhYmxlW3dlYWtSYW5kb21VaW50MzIo
KSAmIHRhYmxlU2l6ZU1hc2soKV07CiAgICAgICAgICAgICBpZiAoIWlzRW1wdHlCdWNrZXQoYnVj
a2V0KSkKICAgICAgICAgICAgICAgICByZXR1cm4gbWFrZUtub3duR29vZEl0ZXJhdG9yKCZidWNr
ZXQpOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuY3Bw
IGIvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmNwcAppbmRleCBmNTYxYWFiMzc2MWMuLmJjZGEw
NTUwNDhiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmNwcAorKysgYi9T
b3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSA8
d3RmL0dpZ2FjYWdlLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVk
ZSA8d3RmL1ByaW50U3RyZWFtLmg+CisjaW5jbHVkZSA8d3RmL1JhbmRvbU51bWJlclNlZWQuaD4K
ICNpbmNsdWRlIDx3dGYvVGhyZWFkR3JvdXAuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nUHJp
bWl0aXZlcy5oPgogI2luY2x1ZGUgPHd0Zi9XVEZDb25maWcuaD4KQEAgLTQ4NSw2ICs0ODYsNyBA
QCB2b2lkIGluaXRpYWxpemUoKQogICAgICAgICBzZXRQZXJtaXNzaW9uc09mQ29uZmlnUGFnZSgp
OwogICAgICAgICBHaWdhY2FnZTo6ZW5zdXJlR2lnYWNhZ2UoKTsKICAgICAgICAgQ29uZmlnOjpB
c3NlcnROb3RGcm96ZW5TY29wZSBhc3NlcnRTY29wZTsKKyAgICAgICAgaW5pdGlhbGl6ZVJhbmRv
bU51bWJlckdlbmVyYXRvcigpOwogI2lmICFIQVZFKEZBU1RfVExTKSAmJiAhT1MoV0lORE9XUykK
ICAgICAgICAgVGhyZWFkOjppbml0aWFsaXplVExTS2V5KCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL1dlYWtSYW5kb20uaCBiL1NvdXJjZS9XVEYvd3RmL1dlYWtSYW5kb20u
aAppbmRleCBlMmJiNDljZmM2Y2QuLjQ5Nzk3YjUxOWFhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dU
Ri93dGYvV2Vha1JhbmRvbS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1dlYWtSYW5kb20uaApAQCAt
NDEsNyArNDEsNyBAQCBuYW1lc3BhY2UgV1RGIHsKIGNsYXNzIFdlYWtSYW5kb20gZmluYWwgewog
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIFdlYWtSYW5kb20odW5z
aWduZWQgc2VlZCA9IGNyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyPHVuc2lnbmVkPigpKQor
ICAgIFdlYWtSYW5kb20odW5zaWduZWQgc2VlZCA9IGNyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVt
YmVyKCkpCiAgICAgewogICAgICAgICBzZXRTZWVkKHNlZWQpOwogICAgIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3Bw
CmluZGV4IDdlYWQ1NTgxZDkwNS4uYTAzOTQ3ZTQ2ZTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAKQEAgLTI3
LDEwICsyNyw5IEBACiAjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oIgogCiAjaW5j
bHVkZSAiRmV0Y2hSZXNwb25zZS5oIgotI2luY2x1ZGUgPHd0Zi9DcnlwdG9ncmFwaGljYWxseVJh
bmRvbU51bWJlci5oPgorI2luY2x1ZGUgPHd0Zi9SYW5kb21OdW1iZXIuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewotCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU7CiAK
IHN0YXRpYyBpbmxpbmUgdWludDY0X3QgZm9ybURhdGFTaXplKGNvbnN0IEZvcm1EYXRhJiBmb3Jt
RGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01l
ZGlhU2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRp
YVNlc3Npb24uY3BwCmluZGV4IDQwMWIxYTU3YjMyNi4uODQ2YWI5NzEzOTZiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb24uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbi5jcHAK
QEAgLTQxLDcgKzQxLDYgQEAKICNpbmNsdWRlICJOYXZpZ2F0b3IuaCIKICNpbmNsdWRlICJQYWdl
LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgiCi0jaW5jbHVkZSA8
d3RmL0NyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyLmg+CiAjaW5jbHVkZSA8d3RmL0pTT05W
YWx1ZXMuaD4KICNpbmNsdWRlIDx3dGYvU29ydGVkQXJyYXlNYXAuaD4KIApAQCAtNDksNyArNDgs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBjb25zdCB2b2lkKiBuZXh0TG9nSWRl
bnRpZmllcigpCiB7Ci0gICAgc3RhdGljIHVpbnQ2NF90IGxvZ0lkZW50aWZpZXIgPSBjcnlwdG9n
cmFwaGljYWxseVJhbmRvbU51bWJlcjx1aW50MzJfdD4oKTsKKyAgICBzdGF0aWMgdWludDY0X3Qg
bG9nSWRlbnRpZmllciA9IGNyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyKCk7CiAgICAgcmV0
dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3Qgdm9pZCo+KCsrbG9nSWRlbnRpZmllcik7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vz
c2lvbkNvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9u
L01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmNwcAppbmRleCAyMzIwZTllNjcxZDYuLmJiMjYwNjAy
NzM5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVk
aWFTZXNzaW9uQ29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzZXNzaW9uL01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmNwcApAQCAtMzcsNyArMzcsNiBAQAog
I2luY2x1ZGUgIk1lZGlhU2Vzc2lvbi5oIgogI2luY2x1ZGUgIk1lZGlhU2Vzc2lvbkNvb3JkaW5h
dG9yUHJpdmF0ZS5oIgogI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgotI2luY2x1
ZGUgPHd0Zi9DcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlci5oPgogI2luY2x1ZGUgPHd0Zi9M
b2dnZXIuaD4KICNpbmNsdWRlIDx3dGYvTG9nZ2VySGVscGVyLmg+CiAjaW5jbHVkZSA8d3RmL1Nl
Y29uZHMuaD4KQEAgLTQ4LDcgKzQ3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMg
Y29uc3Qgdm9pZCogbmV4dENvb3JkaW5hdG9yTG9nSWRlbnRpZmllcigpCiB7Ci0gICAgc3RhdGlj
IHVpbnQ2NF90IGxvZ0lkZW50aWZpZXIgPSBjcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlcjx1
aW50MzJfdD4oKTsKKyAgICBzdGF0aWMgdWludDY0X3QgbG9nSWRlbnRpZmllciA9IGNyeXB0b2dy
YXBoaWNhbGx5UmFuZG9tTnVtYmVyKCk7CiAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8Y29u
c3Qgdm9pZCo+KCsrbG9nSWRlbnRpZmllcik7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmNwcAppbmRleCA4ZWE5NjAwMjU2ZDIu
LjgwNTZmZWEwMjliZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYURldmljZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vTWVkaWFEZXZpY2VzLmNwcApAQCAtNDgsOCArNDgsOCBAQAogI2luY2x1ZGUgIlVzZXJH
ZXN0dXJlSW5kaWNhdG9yLmgiCiAjaW5jbHVkZSAiVXNlck1lZGlhQ29udHJvbGxlci5oIgogI2lu
Y2x1ZGUgIlVzZXJNZWRpYVJlcXVlc3QuaCIKLSNpbmNsdWRlIDx3dGYvQ3J5cHRvZ3JhcGhpY2Fs
bHlSYW5kb21OdW1iZXIuaD4KICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorI2lu
Y2x1ZGUgPHd0Zi9SYW5kb21OdW1iZXIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5l
Y3Rpb24uY3BwCmluZGV4IGJkZDI4OWFhNTcxYy4uMDljNmM2MzVlYWNkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9u
LmNwcApAQCAtNjYsNiArNjYsNyBAQAogI2luY2x1ZGUgIlJUQ1Nlc3Npb25EZXNjcmlwdGlvbi5o
IgogI2luY2x1ZGUgIlJUQ1Nlc3Npb25EZXNjcmlwdGlvbkluaXQuaCIKICNpbmNsdWRlICJTZXR0
aW5ncy5oIgorI2luY2x1ZGUgPHd0Zi9DcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlci5oPgog
I2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJl
YWQuaD4KICNpbmNsdWRlIDx3dGYvVVVJRC5oPgpAQCAtMTA4LDcgKzEwOSw3IEBAIFJUQ1BlZXJD
b25uZWN0aW9uOjpSVENQZWVyQ29ubmVjdGlvbihEb2N1bWVudCYgZG9jdW1lbnQpCiAgICAgOiBB
Y3RpdmVET01PYmplY3QoZG9jdW1lbnQpCiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiAgICAg
LCBtX2xvZ2dlcihkb2N1bWVudC5sb2dnZXIoKSkKLSAgICAsIG1fbG9nSWRlbnRpZmllcihMb2dn
ZXJIZWxwZXI6OnVuaXF1ZUxvZ0lkZW50aWZpZXIoKSkKKyAgICAsIG1fbG9nSWRlbnRpZmllcihy
ZWludGVycHJldF9jYXN0PGNvbnN0IHZvaWQqPihjcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJl
cigpKSkKICNlbmRpZgogICAgICwgbV9iYWNrZW5kKFBlZXJDb25uZWN0aW9uQmFja2VuZDo6Y3Jl
YXRlKCp0aGlzKSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNo
L1NwZWVjaFJlY29nbml0aW9uQ2FwdHVyZVNvdXJjZUltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25DYXB0dXJlU291cmNlSW1wbC5jcHAKaW5k
ZXggYzE3OTlhNTg3NzM1Li5hNmI3NDA2OGFjZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uQ2FwdHVyZVNvdXJjZUltcGwuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uQ2FwdHVy
ZVNvdXJjZUltcGwuY3BwCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKE1FRElBX1NUUkVB
TSkKIAogI2luY2x1ZGUgIlNwZWVjaFJlY29nbml0aW9uVXBkYXRlLmgiCi0jaW5jbHVkZSA8d3Rm
L0NyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyLmg+CiAKICNpZiBQTEFURk9STShDT0NPQSkK
ICNpbmNsdWRlICJDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24uaCIKQEAgLTQxLDcgKzQwLDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAogc3RhdGljIGNv
bnN0IHZvaWQqIG5leHRMb2dJZGVudGlmaWVyKCkKIHsKLSAgICBzdGF0aWMgdWludDY0X3QgbG9n
SWRlbnRpZmllciA9IGNyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyPHVpbnQzMl90PigpOwor
ICAgIHN0YXRpYyB1aW50NjRfdCBsb2dJZGVudGlmaWVyID0gY3J5cHRvZ3JhcGhpY2FsbHlSYW5k
b21OdW1iZXIoKTsKICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxjb25zdCB2b2lkKj4oKyts
b2dJZGVudGlmaWVyKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggYjExYjMwYzQ0
Zjc0Li4xMzdmZWYzODE3YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMjgxLDcgKzI4
MSw2IEBACiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU2NyaXB0Q2FsbFN0YWNrLmg+CiAjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvVk0uaD4KICNpbmNsdWRlIDxjdGltZT4KLSNpbmNsdWRlIDx3
dGYvQ3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIuaD4KICNpbmNsdWRlIDx3dGYvSGV4TnVt
YmVyLmg+CiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KICNpbmNsdWRlIDx3dGYv
TGFuZ3VhZ2UuaD4KQEAgLTQ2MSw3ICs0NjAsNyBAQCB1aW50NjRfdCBEb2N1bWVudDo6c19nbG9i
YWxUcmVlVmVyc2lvbiA9IDA7CiAKIHN0YXRpYyBjb25zdCB2b2lkKiBzaGFyZWRMb2dnZXJPd25l
cigpCiB7Ci0gICAgc3RhdGljIHVpbnQ2NF90IG93bmVyID0gY3J5cHRvZ3JhcGhpY2FsbHlSYW5k
b21OdW1iZXI8dWludDMyX3Q+KCk7CisgICAgc3RhdGljIHVpbnQ2NF90IG93bmVyID0gY3J5cHRv
Z3JhcGhpY2FsbHlSYW5kb21OdW1iZXIoKTsKICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxj
b25zdCB2b2lkKj4ob3duZXIpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1By
aXZhdGVDbGlja01lYXN1cmVtZW50LmNwcAppbmRleCA1ZjZjYmU2YWYzNDIuLjA0MmEwZDc3NGUw
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1ByaXZhdGVDbGlja01lYXN1cmVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQuY3BwCkBAIC0yOSw4ICsyOSw4IEBACiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUg
PHd0Zi9Dcm9zc1RocmVhZENvcGllci5oPgogI2luY2x1ZGUgPHd0Zi9Dcm9zc1RocmVhZENvcGll
ci5oPgotI2luY2x1ZGUgPHd0Zi9DcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlci5oPgogI2lu
Y2x1ZGUgPHd0Zi9FeHBlY3RlZC5oPgorI2luY2x1ZGUgPHd0Zi9SYW5kb21OdW1iZXIuaD4KICNp
bmNsdWRlIDx3dGYvVVJMLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5hdGVO
dW1iZXJzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nVG9JbnRlZ2VyQ29udmVyc2lvbi5o
PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVRpbWVyLmNwcAppbmRleCA1ZDAwMzRhMjZlZjUuLmJhNzc5YzQyYzI5
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5jcHAKQEAgLTM0LDEwICszNCwxMCBAQAogI2luY2x1
ZGUgIlNjaGVkdWxlZEFjdGlvbi5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
aCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgotI2luY2x1ZGUgPHd0Zi9DcnlwdG9ncmFwaGljYWxs
eVJhbmRvbU51bWJlci5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3Rm
L01hdGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KKyNpbmNsdWRl
IDx3dGYvUmFuZG9tTnVtYmVyLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCiAj
aWYgRU5BQkxFKENPTlRFTlRfQ0hBTkdFX09CU0VSVkVSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9EaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oCmluZGV4IDM2NjUyN2RkODhmNC4uOTNkYjlkM2My
ZmUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0aWNMb2dnaW5nQ2xp
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5o
CkBAIC0yOCw5ICsyOCw5IEBACiAjaW5jbHVkZSAiRGlhZ25vc3RpY0xvZ2dpbmdEb21haW4uaCIK
ICNpbmNsdWRlICJEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUuaCIKICNpbmNsdWRlIDx2YXJp
YW50PgotI2luY2x1ZGUgPHd0Zi9DcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlci5oPgogI2lu
Y2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNs
dWRlIDx3dGYvUmFuZG9tTnVtYmVyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1RyYWNrQnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1RyYWNrQnVmZmVyLmNwcAppbmRleCBkZWZiYzY0MWVjNDYuLmEwOTZkYjBiODNkMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVHJhY2tCdWZmZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RyYWNrQnVmZmVyLmNw
cApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAKICNpbmNsdWRl
ICJMb2dnaW5nLmgiCi0jaW5jbHVkZSA8d3RmL0NyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVy
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzUwLDcgKzM0OSw3IEBAIHZvaWQgVHJh
Y2tCdWZmZXI6OnNldFJvdW5kZWRUaW1lc3RhbXBPZmZzZXQoY29uc3QgTWVkaWFUaW1lJiB0aW1l
LCB1aW50MzJfdCB0aW1lCiB2b2lkIFRyYWNrQnVmZmVyOjpzZXRMb2dnZXIoY29uc3QgTG9nZ2Vy
JiBuZXdMb2dnZXIsIGNvbnN0IHZvaWQqIG5ld0xvZ0lkZW50aWZpZXIpCiB7CiAgICAgbV9sb2dn
ZXIgPSAmbmV3TG9nZ2VyOwotICAgIG1fbG9nSWRlbnRpZmllciA9IGNoaWxkTG9nSWRlbnRpZmll
cihuZXdMb2dJZGVudGlmaWVyLCBjcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlcjx1aW50MzJf
dD4oKSk7CisgICAgbV9sb2dJZGVudGlmaWVyID0gY2hpbGRMb2dJZGVudGlmaWVyKG5ld0xvZ0lk
ZW50aWZpZXIsIGNyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyKCkpOwogICAgIEFMV0FZU19M
T0coTE9HSURFTlRJRklFUik7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHAK
aW5kZXggM2E3MDA5ZjBiNTMwLi4yOGQ5OWY2OTJlMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3Vy
Y2VDZW50ZXIuY3BwCkBAIC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSAiTWVkaWFEZXZpY2VIYXNo
U2FsdHMuaCIKICNpbmNsdWRlICJNZWRpYVN0cmVhbVByaXZhdGUuaCIKICNpbmNsdWRlIDx3dGYv
Q2FsbGJhY2tBZ2dyZWdhdG9yLmg+CisjaW5jbHVkZSA8d3RmL0NyeXB0b2dyYXBoaWNhbGx5UmFu
ZG9tTnVtYmVyLmg+CiAjaW5jbHVkZSA8d3RmL0hleE51bWJlci5oPgogI2luY2x1ZGUgPHd0Zi9T
SEExLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L1JlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9SZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UuY3BwCmluZGV4IDQ0ZWIz
NTFhMTg5Ny4uNDAzN2Y1MTNmMmM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9SZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJj
ZS5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJMaWJXZWJSVENBdWRpb0Zvcm1hdC5o
IgogI2luY2x1ZGUgIkxpYldlYlJUQ1Byb3ZpZGVyLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgor
I2luY2x1ZGUgPHd0Zi9DcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlci5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL2dzdHJlYW1lci9HU3RyZWFtZXJEaXNwbGF5Q2FwdHVyZURldmljZU1hbmFnZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0dTdHJlYW1l
ckRpc3BsYXlDYXB0dXJlRGV2aWNlTWFuYWdlci5jcHAKaW5kZXggMTFlNmY2OTFmY2Y3Li44YTQ5
MjI4MDM1ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L2dzdHJlYW1lci9HU3RyZWFtZXJEaXNwbGF5Q2FwdHVyZURldmljZU1hbmFnZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9HU3RyZWFtZXJE
aXNwbGF5Q2FwdHVyZURldmljZU1hbmFnZXIuY3BwCkBAIC03Niw4ICs3Niw4IEBAIENhcHR1cmVT
b3VyY2VPckVycm9yIEdTdHJlYW1lckRpc3BsYXlDYXB0dXJlRGV2aWNlTWFuYWdlcjo6Y3JlYXRl
RGlzcGxheUNhcHR1cmVTCiAgICAgICAgIHJldHVybiB7IH07CiAgICAgfQogCi0gICAgYXV0byB0
b2tlbiA9IG1ha2VTdHJpbmcoIldlYktpdCIsIHdlYWtSYW5kb21OdW1iZXI8dWludDMyX3Q+KCkp
OwotICAgIGF1dG8gc2Vzc2lvblRva2VuID0gbWFrZVN0cmluZygiV2ViS2l0Iiwgd2Vha1JhbmRv
bU51bWJlcjx1aW50MzJfdD4oKSk7CisgICAgYXV0byB0b2tlbiA9IG1ha2VTdHJpbmcoIldlYktp
dCIsIHdlYWtSYW5kb21VaW50MzIoKSk7CisgICAgYXV0byBzZXNzaW9uVG9rZW4gPSBtYWtlU3Ry
aW5nKCJXZWJLaXQiLCB3ZWFrUmFuZG9tVWludDMyKCkpOwogICAgIEdWYXJpYW50QnVpbGRlciBv
cHRpb25zOwogICAgIGdfdmFyaWFudF9idWlsZGVyX2luaXQoJm9wdGlvbnMsIEdfVkFSSUFOVF9U
WVBFX1ZBUkRJQ1QpOwogICAgIGdfdmFyaWFudF9idWlsZGVyX2FkZCgmb3B0aW9ucywgIntzdn0i
LCAiaGFuZGxlX3Rva2VuIiwgZ192YXJpYW50X25ld19zdHJpbmcodG9rZW4uYXNjaWkoKS5kYXRh
KCkpKTsKQEAgLTEwMSw3ICsxMDEsNyBAQCBDYXB0dXJlU291cmNlT3JFcnJvciBHU3RyZWFtZXJE
aXNwbGF5Q2FwdHVyZURldmljZU1hbmFnZXI6OmNyZWF0ZURpc3BsYXlDYXB0dXJlUwogICAgIC8v
IEZJWE1FOiBNYXliZSBjaGVjayB0aGlzIGRlcGVuZGluZyBvbiBkZXZpY2UudHlwZSgpLgogICAg
IGF1dG8gb3V0cHV0VHlwZSA9IEdTdHJlYW1lckRpc3BsYXlDYXB0dXJlRGV2aWNlTWFuYWdlcjo6
UGlwZVdpcmVPdXRwdXRUeXBlOjpNb25pdG9yIHwgR1N0cmVhbWVyRGlzcGxheUNhcHR1cmVEZXZp
Y2VNYW5hZ2VyOjpQaXBlV2lyZU91dHB1dFR5cGU6OldpbmRvdzsKIAotICAgIHRva2VuID0gbWFr
ZVN0cmluZygiV2ViS2l0Iiwgd2Vha1JhbmRvbU51bWJlcjx1aW50MzJfdD4oKSk7CisgICAgdG9r
ZW4gPSBtYWtlU3RyaW5nKCJXZWJLaXQiLCB3ZWFrUmFuZG9tVWludDMyKCkpOwogICAgIGdfdmFy
aWFudF9idWlsZGVyX2luaXQoJm9wdGlvbnMsIEdfVkFSSUFOVF9UWVBFX1ZBUkRJQ1QpOwogICAg
IGdfdmFyaWFudF9idWlsZGVyX2FkZCgmb3B0aW9ucywgIntzdn0iLCAiaGFuZGxlX3Rva2VuIiwg
Z192YXJpYW50X25ld19zdHJpbmcodG9rZW4uYXNjaWkoKS5kYXRhKCkpKTsKICAgICBnX3Zhcmlh
bnRfYnVpbGRlcl9hZGQoJm9wdGlvbnMsICJ7c3Z9IiwgInR5cGVzIiwgZ192YXJpYW50X25ld191
aW50MzIoc3RhdGljX2Nhc3Q8dWludDMyX3Q+KG91dHB1dFR5cGUpKSk7CkBAIC0xMjgsNyArMTI4
LDcgQEAgQ2FwdHVyZVNvdXJjZU9yRXJyb3IgR1N0cmVhbWVyRGlzcGxheUNhcHR1cmVEZXZpY2VN
YW5hZ2VyOjpjcmVhdGVEaXNwbGF5Q2FwdHVyZVMKICAgICBnX3ZhcmlhbnRfZ2V0KHJlc3VsdC5n
ZXQoKSwgIihvKSIsICZvYmplY3RQYXRoLm91dFB0cigpKTsKICAgICB3YWl0UmVzcG9uc2VTaWdu
YWwob2JqZWN0UGF0aC5nZXQoKSk7CiAKLSAgICB0b2tlbiA9IG1ha2VTdHJpbmcoIldlYktpdCIs
IHdlYWtSYW5kb21OdW1iZXI8dWludDMyX3Q+KCkpOworICAgIHRva2VuID0gbWFrZVN0cmluZygi
V2ViS2l0Iiwgd2Vha1JhbmRvbVVpbnQzMigpKTsKICAgICBnX3ZhcmlhbnRfYnVpbGRlcl9pbml0
KCZvcHRpb25zLCBHX1ZBUklBTlRfVFlQRV9WQVJESUNUKTsKICAgICBnX3ZhcmlhbnRfYnVpbGRl
cl9hZGQoJm9wdGlvbnMsICJ7c3Z9IiwgImhhbmRsZV90b2tlbiIsIGdfdmFyaWFudF9uZXdfc3Ry
aW5nKHRva2VuLmFzY2lpKCkuZGF0YSgpKSk7CiAgICAgcmVzdWx0ID0gYWRvcHRHUmVmKGdfZGJ1
c19wcm94eV9jYWxsX3N5bmMobV9wcm94eS5nZXQoKSwgIlN0YXJ0IiwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmNwcAppbmRleCBhMzc1
NjIzMjg2MzkuLjQzYzY1YTMzYTQ5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmNwcApAQCAtMjksOCArMjksOCBAQAogI2luY2x1
ZGUgPGxpbWl0cz4KICNpbmNsdWRlIDxwYWwvdGV4dC9UZXh0RW5jb2RpbmcuaD4KICNpbmNsdWRl
IDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9DcnlwdG9ncmFwaGljYWxseVJhbmRv
bU51bWJlci5oPgogI2luY2x1ZGUgPHd0Zi9IZXhOdW1iZXIuaD4KKyNpbmNsdWRlIDx3dGYvUmFu
ZG9tTnVtYmVyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0
Zi90ZXh0L1N0cmluZ1ZpZXcuaD4KIApAQCAtMTM2LDE1ICsxMzYsMTggQEAgVmVjdG9yPGNoYXI+
IGdlbmVyYXRlVW5pcXVlQm91bmRhcnlTdHJpbmcoKQogICAgIC8vIFN0YXJ0IHdpdGggYW4gaW5m
b3JtYXRpdmUgcHJlZml4LgogICAgIGFwcGVuZChib3VuZGFyeSwgIi0tLS1XZWJLaXRGb3JtQm91
bmRhcnkiKTsKIAotICAgIC8vIEFwcGVuZCAxNiByYW5kb20gNy1iaXQgQVNDSUkgYWxwaGFudW1l
cmljIGNoYXJhY3RlcnMuCisgICAgLy8gQXBwZW5kIDE2IHJhbmRvbSA3Yml0IGFzY2lpIEFscGhh
TnVtZXJpYyBjaGFyYWN0ZXJzLgorICAgIFZlY3RvcjxjaGFyPiByYW5kb21CeXRlczsKKwogICAg
IGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCA0OyArK2kpIHsKLSAgICAgICAgdW5zaWduZWQgcmFu
ZG9tbmVzcyA9IGNyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyPHVuc2lnbmVkPigpOwotICAg
ICAgICBib3VuZGFyeS5hcHBlbmQoYWxwaGFOdW1lcmljRW5jb2RpbmdNYXBbKHJhbmRvbW5lc3Mg
Pj4gMjQpICYgMHgzRl0pOwotICAgICAgICBib3VuZGFyeS5hcHBlbmQoYWxwaGFOdW1lcmljRW5j
b2RpbmdNYXBbKHJhbmRvbW5lc3MgPj4gMTYpICYgMHgzRl0pOwotICAgICAgICBib3VuZGFyeS5h
cHBlbmQoYWxwaGFOdW1lcmljRW5jb2RpbmdNYXBbKHJhbmRvbW5lc3MgPj4gOCkgJiAweDNGXSk7
Ci0gICAgICAgIGJvdW5kYXJ5LmFwcGVuZChhbHBoYU51bWVyaWNFbmNvZGluZ01hcFtyYW5kb21u
ZXNzICYgMHgzRl0pOworICAgICAgICB1bnNpZ25lZCByYW5kb21uZXNzID0gY3J5cHRvZ3JhcGhp
Y2FsbHlSYW5kb21VaW50MzIoKTsKKyAgICAgICAgcmFuZG9tQnl0ZXMuYXBwZW5kKGFscGhhTnVt
ZXJpY0VuY29kaW5nTWFwWyhyYW5kb21uZXNzID4+IDI0KSAmIDB4M0ZdKTsKKyAgICAgICAgcmFu
ZG9tQnl0ZXMuYXBwZW5kKGFscGhhTnVtZXJpY0VuY29kaW5nTWFwWyhyYW5kb21uZXNzID4+IDE2
KSAmIDB4M0ZdKTsKKyAgICAgICAgcmFuZG9tQnl0ZXMuYXBwZW5kKGFscGhhTnVtZXJpY0VuY29k
aW5nTWFwWyhyYW5kb21uZXNzID4+IDgpICYgMHgzRl0pOworICAgICAgICByYW5kb21CeXRlcy5h
cHBlbmQoYWxwaGFOdW1lcmljRW5jb2RpbmdNYXBbcmFuZG9tbmVzcyAmIDB4M0ZdKTsKICAgICB9
CiAKKyAgICBib3VuZGFyeS5hcHBlbmRWZWN0b3IocmFuZG9tQnl0ZXMpOwogICAgIGJvdW5kYXJ5
LmFwcGVuZCgwKTsgLy8gQWRkIGEgMCBhdCB0aGUgZW5kIHNvIHdlIGNhbiB1c2UgdGhpcyBhcyBh
IEMtc3R5bGUgc3RyaW5nLgogICAgIHJldHVybiBib3VuZGFyeTsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXRCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0
eWxlL1J1bGVTZXRCdWlsZGVyLmNwcAppbmRleCBlODZlY2UyZDU0YjguLmYxY2YzYWNmZWJlZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldEJ1aWxkZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXRCdWlsZGVyLmNwcApAQCAtMzUsNyArMzUsNiBA
QAogI2luY2x1ZGUgIlN0eWxlUmVzb2x2ZXIuaCIKICNpbmNsdWRlICJTdHlsZVJ1bGVJbXBvcnQu
aCIKICNpbmNsdWRlICJTdHlsZVNoZWV0Q29udGVudHMuaCIKLSNpbmNsdWRlIDx3dGYvQ3J5cHRv
Z3JhcGhpY2FsbHlSYW5kb21OdW1iZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdDb25j
YXRlbmF0ZU51bWJlcnMuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMjI1LDcgKzIyNCw3
IEBAIHZvaWQgUnVsZVNldEJ1aWxkZXI6OnB1c2hDYXNjYWRlTGF5ZXIoY29uc3QgQ2FzY2FkZUxh
eWVyTmFtZSYgbmFtZSkKICAgICBhdXRvIG5hbWVSZXNvbHZpbmdBbm9ueW1vdXMgPSBbJl0gewog
ICAgICAgICBpZiAobmFtZS5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgIC8vIE1ha2UgdW5pcXVl
IG5hbWUgZm9yIGFuIGFub255bW91cyBsYXllci4KLSAgICAgICAgICAgIHJldHVybiBDYXNjYWRl
TGF5ZXJOYW1lIHsgbWFrZUF0b21TdHJpbmcoImFub25fIl9zLCBjcnlwdG9ncmFwaGljYWxseVJh
bmRvbU51bWJlcjx1aW50NjRfdD4oKSkgfTsKKyAgICAgICAgICAgIHJldHVybiBDYXNjYWRlTGF5
ZXJOYW1lIHsgbWFrZUF0b21TdHJpbmcoImFub25fIl9zLCBjcnlwdG9ncmFwaGljYWxseVJhbmRv
bVVpbnQ2NCgpKSB9OwogICAgICAgICB9CiAgICAgICAgIHJldHVybiBuYW1lOwogICAgIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNw
cCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCmluZGV4
IDBmNzhmZDI4OWZlYS4uNGJlYjkxMzNiMzVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcApAQCAtMjc0MCwxMCArMjc0MCwxMSBAQCB2b2lk
IE5ldHdvcmtQcm9jZXNzOjpyZXNldFNlcnZpY2VXb3JrZXJGZXRjaFRpbWVvdXRGb3JUZXN0aW5n
KENvbXBsZXRpb25IYW5kbGVyPAogICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiB9CiAKK3N0YXRp
YyBjb25zdGV4cHIgYXV0byBkZWxheU1heCA9IDEwMF9tczsKK3N0YXRpYyBjb25zdGV4cHIgYXV0
byBkZWxheU1pbiA9IDEwX21zOwogU2Vjb25kcyBOZXR3b3JrUHJvY2Vzczo6cmFuZG9tQ2xvc2Vk
UG9ydERlbGF5KCkKIHsKLSAgICAvLyBSYW5kb20gZGVsYXkgaW4gdGhlIHJhbmdlIFsxMG1zLCAx
MTBtcykuCi0gICAgcmV0dXJuIDEwX21zICsgU2Vjb25kcyB7IGNyeXB0b2dyYXBoaWNhbGx5UmFu
ZG9tVW5pdEludGVydmFsKCkgKiAoMTAwX21zKS52YWx1ZSgpIH07CisgICAgcmV0dXJuIGRlbGF5
TWluICsgU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhzdGF0aWNfY2FzdDxkb3VibGU+KGNyeXB0
b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyKCkpKSAlIGRlbGF5TWF4OwogfQogCiAjaWYgRU5BQkxF
KEFQUF9CT1VORF9ET01BSU5TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrU29ja2V0U3RyZWFtLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1NvY2tldFN0cmVhbS5jcHAKaW5kZXggYzNlYzFjOWJkMTM2Li4yMDI2MjBkOTFk
NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1NvY2tl
dFN0cmVhbS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU29j
a2V0U3RyZWFtLmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIldlYlNvY2tldFN0cmVh
bU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9Db29raWVSZXF1ZXN0SGVhZGVyRmllbGRQ
cm94eS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU29ja2V0U3RyZWFtRXJyb3IuaD4KKyNpbmNsdWRl
IDx3dGYvQ3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIuaD4KIAogbmFtZXNwYWNlIFdlYktp
dCB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmNwcAppbmRleCBi
Zjc5NWU1NGRmNjUuLmZmYmM1NGMyMGMwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dE1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmNwcApAQCAtNTkz
LDcgKzU5Myw3IEBAIFNlY29uZHMgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpyYW5k
b21seUJldHdlZW5GaWZ0ZWVuQW5kVGhpcnR5TWludXRlcygpCiAgICAgaWYgKG1faXNSdW5uaW5n
VGVzdCkKICAgICAgICAgcmV0dXJuIDBfczsKIAotICAgIHJldHVybiBkZWJ1Z01vZGVFbmFibGVk
KCkgPyBkZWJ1Z01vZGVTZWNvbmRzVW50aWxTZW5kIDogMTVfbWluICsgU2Vjb25kcyhjcnlwdG9n
cmFwaGljYWxseVJhbmRvbU51bWJlcjx1aW50MzJfdD4oKSAlIDkwMCk7CisgICAgcmV0dXJuIGRl
YnVnTW9kZUVuYWJsZWQoKSA/IGRlYnVnTW9kZVNlY29uZHNVbnRpbFNlbmQgOiAxNV9taW4gKyBT
ZWNvbmRzKGNyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyKCkgJSA5MDApOwogfQogCiB2b2lk
IFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6ZmlyZVBlbmRpbmdBdHRyaWJ1dGlvblJl
cXVlc3RzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUv
TmV0d29ya0NhY2hlRGF0YS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hl
L05ldHdvcmtDYWNoZURhdGEuY3BwCmluZGV4IGEwNjYyMTRkMzYxOC4uYTkxNjk4ZDVkYzQyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNo
ZURhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29y
a0NhY2hlRGF0YS5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJOZXR3b3JrQ2FjaGVE
YXRhLmgiCiAKICNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHd0Zi9DcnlwdG9ncmFwaGlj
YWxseVJhbmRvbU51bWJlci5oPgogI2luY2x1ZGUgPHd0Zi9GaWxlU3lzdGVtLmg+CiAKICNpZiAh
T1MoV0lORE9XUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuY3BwCmluZGV4IDBmYTI4YjlkYTNlNy4uMzY1OGU5
OTY0MmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05l
dHdvcmtDYWNoZVN0b3JhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAKQEAgLTMzLDEwICszMywxMCBAQAogI2luY2x1
ZGUgIk5ldHdvcmtDYWNoZUlPQ2hhbm5lbC5oIgogI2luY2x1ZGUgPG11dGV4PgogI2luY2x1ZGUg
PHd0Zi9Db25kaXRpb24uaD4KLSNpbmNsdWRlIDx3dGYvQ3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21O
dW1iZXIuaD4KICNpbmNsdWRlIDx3dGYvRmlsZVN5c3RlbS5oPgogI2luY2x1ZGUgPHd0Zi9Mb2Nr
Lmg+CiAjaW5jbHVkZSA8d3RmL1BhZ2VCbG9jay5oPgorI2luY2x1ZGUgPHd0Zi9SYW5kb21OdW1i
ZXIuaD4KICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgogI2luY2x1ZGUgPHd0Zi9wZXJzaXN0ZW5j
ZS9QZXJzaXN0ZW50Q29kZXJzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvd2luL0Nvbm5lY3Rpb25XaW4uY3Bw
IGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvd2luL0Nvbm5lY3Rpb25XaW4uY3BwCmluZGV4
IDY4MjlhNmE2YjE2Zi4uOWZkYmRjMzkyZmM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL0lQQy93aW4vQ29ubmVjdGlvbldpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9JUEMvd2luL0Nvbm5lY3Rpb25XaW4uY3BwCkBAIC0zMSw4ICszMSw4IEBACiAjaW5jbHVk
ZSAiRW5jb2Rlci5oIgogI2luY2x1ZGUgIklQQ1V0aWxpdGllcy5oIgogI2luY2x1ZGUgPHd0Zi9B
cmd1bWVudENvZGVyLmg+Ci0jaW5jbHVkZSA8d3RmL0NyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVt
YmVyLmg+CiAjaW5jbHVkZSA8d3RmL0hleE51bWJlci5oPgorI2luY2x1ZGUgPHd0Zi9SYW5kb21O
dW1iZXIuaD4KIAogbmFtZXNwYWNlIElQQyB7CiAKQEAgLTQ0LDcgKzQ0LDggQEAgYm9vbCBjcmVh
dGVTZXJ2ZXJBbmRDbGllbnRJZGVudGlmaWVycyhIQU5ETEUmIHNlcnZlcklkZW50aWZpZXIsIEhB
TkRMRSYgY2xpZW50SWQKICAgICBTdHJpbmcgcGlwZU5hbWU7CiAKICAgICBkbyB7Ci0gICAgICAg
IHBpcGVOYW1lID0gbWFrZVN0cmluZygiXFxcXC5cXHBpcGVcXGNvbS5hcHBsZS5XZWJLaXQuIiwg
aGV4KGNyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyPHVuc2lnbmVkPigpKSk7CisgICAgICAg
IHVuc2lnbmVkIHVuaXF1ZUlEID0gY3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21VaW50MzIoKTsKKyAg
ICAgICAgcGlwZU5hbWUgPSBtYWtlU3RyaW5nKCJcXFxcLlxccGlwZVxcY29tLmFwcGxlLldlYktp
dC4iLCBoZXgodW5pcXVlSUQpKTsKIAogICAgICAgICBzZXJ2ZXJJZGVudGlmaWVyID0gOjpDcmVh
dGVOYW1lZFBpcGUocGlwZU5hbWUud2lkZUNoYXJhY3RlcnMoKS5kYXRhKCksCiAgICAgICAgICAg
ICBQSVBFX0FDQ0VTU19EVVBMRVggfCBGSUxFX0ZMQUdfRklSU1RfUElQRV9JTlNUQU5DRSB8IEZJ
TEVfRkxBR19PVkVSTEFQUEVELApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS91
bml4L1NoYXJlZE1lbW9yeVVuaXguY3BwIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS91bml4L1No
YXJlZE1lbW9yeVVuaXguY3BwCmluZGV4IDRhMDkyYmRhZmI3MS4uNDFlYWUyMmU5MDc0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3VuaXgvU2hhcmVkTWVtb3J5VW5peC5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS91bml4L1NoYXJlZE1lbW9yeVVuaXguY3BwCkBA
IC0zOCw3ICszOCw3IEBACiAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiAjaW5jbHVkZSA8dW5pc3Rk
Lmg+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvQ3J5cHRvZ3Jh
cGhpY2FsbHlSYW5kb21OdW1iZXIuaD4KKyNpbmNsdWRlIDx3dGYvUmFuZG9tTnVtYmVyLmg+CiAj
aW5jbHVkZSA8d3RmL1NhZmVTdHJlcnJvci5oPgogI2luY2x1ZGUgPHd0Zi9VbmlTdGRFeHRyYXMu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CkBAIC0xMjksNyArMTI5LDcgQEAgc3Rh
dGljIFVuaXhGaWxlRGVzY3JpcHRvciBjcmVhdGVTaGFyZWRNZW1vcnkoKQogI2Vsc2UKICAgICBD
U3RyaW5nIHRlbXBOYW1lOwogICAgIGZvciAoaW50IHRyaWVzID0gMDsgZmlsZURlc2NyaXB0b3Ig
PT0gLTEgJiYgdHJpZXMgPCAxMDsgKyt0cmllcykgewotICAgICAgICBhdXRvIG5hbWUgPSBtYWtl
U3RyaW5nKCIvV0syU2hhcmVkTWVtb3J5LiIsIGNyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVy
PHVuc2lnbmVkPigpKTsKKyAgICAgICAgYXV0byBuYW1lID0gbWFrZVN0cmluZygiL1dLMlNoYXJl
ZE1lbW9yeS4iLCBXVEY6OmNyeXB0b2dyYXBoaWNhbGx5UmFuZG9tVWludDMyKCkpOwogICAgICAg
ICB0ZW1wTmFtZSA9IG5hbWUudXRmOCgpOwogCiAgICAgICAgIGRvIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL21hYy9BdXhpbGlhcnlQcm9jZXNzTWFjLm1tIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvbWFjL0F1eGlsaWFyeVByb2Nlc3NNYWMubW0KaW5kZXggNzAxYThjNWYzMjZi
Li5lYjZmMjY3YjAxNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9BdXhp
bGlhcnlQcm9jZXNzTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9BdXhpbGlh
cnlQcm9jZXNzTWFjLm1tCkBAIC01MCw2ICs1MCw3IEBACiAjaW1wb3J0IDxzeXNleGl0cy5oPgog
I2ltcG9ydCA8d3RmL0RhdGFMb2cuaD4KICNpbXBvcnQgPHd0Zi9GaWxlU3lzdGVtLmg+CisjaW1w
b3J0IDx3dGYvUmFuZG9tTnVtYmVyLmg+CiAjaW1wb3J0IDx3dGYvU2FmZVN0cmVycm9yLmg+CiAj
aW1wb3J0IDx3dGYvU2NvcGUuaD4KICNpbXBvcnQgPHd0Zi9Tb2Z0TGlua2luZy5oPgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL01lZGlhRm9ybWF0UmVhZGVyL01lZGlhRm9y
bWF0UmVhZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9NZWRpYUZvcm1hdFJlYWRl
ci9NZWRpYUZvcm1hdFJlYWRlci5jcHAKaW5kZXggNmE2YmRmMmY3MWNhLi4xMjc3Yjk2MzYzMDMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9NZWRpYUZvcm1hdFJlYWRlci9N
ZWRpYUZvcm1hdFJlYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL01lZGlh
Rm9ybWF0UmVhZGVyL01lZGlhRm9ybWF0UmVhZGVyLmNwcApAQCAtNDAsMTIgKzQwLDExIEBACiAj
aW5jbHVkZSA8V2ViQ29yZS9Tb3VyY2VCdWZmZXJQYXJzZXJXZWJNLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9WaWRlb1RyYWNrUHJpdmF0ZS5oPgogI2luY2x1ZGUgPHBhbC9hdmZvdW5kYXRpb24vTWVk
aWFUaW1lQVZGb3VuZGF0aW9uLmg+Ci0jaW5jbHVkZSA8d3RmL0NyeXB0b2dyYXBoaWNhbGx5UmFu
ZG9tTnVtYmVyLmg+CisjaW5jbHVkZSA8cGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg+CiAjaW5j
bHVkZSA8d3RmL0xvZ2dlckhlbHBlci5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5o
PgogI2luY2x1ZGUgPHd0Zi9Xb3JrUXVldWUuaD4KIAotI2luY2x1ZGUgPHBhbC9jZi9Db3JlTWVk
aWFTb2Z0TGluay5oPgogI2luY2x1ZGUgPHBhbC9jb2NvYS9NZWRpYVRvb2xib3hTb2Z0TGluay5o
PgogCiBXVEZfREVDTEFSRV9DRl9UWVBFX1RSQUlUKE1UUGx1Z2luRm9ybWF0UmVhZGVyKTsKQEAg
LTI5Nyw3ICsyOTYsNyBAQCBjb25zdCB2b2lkKiBNZWRpYUZvcm1hdFJlYWRlcjo6bmV4dFRyYWNr
UmVhZGVyTG9nSWRlbnRpZmllcih1aW50NjRfdCB0cmFja0lEKSBjbwogCiBjb25zdCB2b2lkKiBN
ZWRpYUZvcm1hdFJlYWRlcjo6bmV4dExvZ0lkZW50aWZpZXIoKQogewotICAgIHN0YXRpYyB1aW50
NjRfdCBsb2dJZGVudGlmaWVyID0gY3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXI8dWludDMy
X3Q+KCk7CisgICAgc3RhdGljIHVpbnQ2NF90IGxvZ0lkZW50aWZpZXIgPSBjcnlwdG9ncmFwaGlj
YWxseVJhbmRvbU51bWJlcigpOwogICAgIHJldHVybiByZWludGVycHJldF9jYXN0PGNvbnN0IHZv
aWQqPigrK2xvZ0lkZW50aWZpZXIpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9EZXZpY2VJZEhhc2hTYWx0U3RvcmFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9EZXZpY2VJZEhhc2hTYWx0U3RvcmFnZS5jcHAKaW5kZXggOWFmNzY2NDBhYzM0Li4xNjlm
MTk5MjE4YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0RldmljZUlkSGFz
aFNhbHRTdG9yYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9EZXZpY2VJZEhh
c2hTYWx0U3RvcmFnZS5jcHAKQEAgLTIwNyw3ICsyMDcsNyBAQCB2b2lkIERldmljZUlkSGFzaFNh
bHRTdG9yYWdlOjpjb21wbGV0ZURldmljZUlkSGFzaFNhbHRGb3JPcmlnaW5DYWxsKFNlY3VyaXR5
T3JpZwogICAgIGF1dG8gb3JpZ2lucyA9IG1ha2VTdHJpbmcoZG9jdW1lbnRPcmlnaW4udG9TdHJp
bmcoKSwgcGFyZW50T3JpZ2luLnRvU3RyaW5nKCkpOwogICAgIGF1dG8mIGRldmljZUlkSGFzaFNh
bHQgPSBtX2RldmljZUlkSGFzaFNhbHRGb3JPcmlnaW5zLmVuc3VyZShvcmlnaW5zLCBbZG9jdW1l
bnRPcmlnaW4gPSBXVEZNb3ZlKGRvY3VtZW50T3JpZ2luKSwgcGFyZW50T3JpZ2luID0gV1RGTW92
ZShwYXJlbnRPcmlnaW4pXSAoKSBtdXRhYmxlIHsKICAgICAgICAgdWludDY0X3QgcmFuZG9tRGF0
YVtyYW5kb21EYXRhU2l6ZV07Ci0gICAgICAgIGNyeXB0b2dyYXBoaWNhbGx5UmFuZG9tVmFsdWVz
KHJhbmRvbURhdGEsIHNpemVvZihyYW5kb21EYXRhKSk7CisgICAgICAgIGNyeXB0b2dyYXBoaWNh
bGx5UmFuZG9tVmFsdWVzKHJlaW50ZXJwcmV0X2Nhc3Q8dW5zaWduZWQgY2hhcio+KHJhbmRvbURh
dGEpLCBzaXplb2YocmFuZG9tRGF0YSkpOwogCiAgICAgICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRl
cjsKICAgICAgICAgYnVpbGRlci5yZXNlcnZlQ2FwYWNpdHkoaGFzaFNhbHRTaXplKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL2ZpZG8vQ3Rh
cEhpZERyaXZlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlv
bi9maWRvL0N0YXBIaWREcml2ZXIuY3BwCmluZGV4IDI4ODM1MDA0Nzg5NS4uMWJlMzNkMGU3Yjc4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9m
aWRvL0N0YXBIaWREcml2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1
dGhlbnRpY2F0aW9uL2ZpZG8vQ3RhcEhpZERyaXZlci5jcHAKQEAgLTI5LDkgKzI5LDkgQEAKICNp
ZiBFTkFCTEUoV0VCX0FVVEhOKQogCiAjaW5jbHVkZSA8V2ViQ29yZS9GaWRvQ29uc3RhbnRzLmg+
CisjaW5jbHVkZSA8d3RmL1JhbmRvbU51bWJlci5oPgogI2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+
CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgotI2luY2x1ZGUgPHd0Zi9XZWFrUmFuZG9tTnVtYmVy
Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQmFzZTY0Lmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpA
QCAtMTc3LDcgKzE3Nyw3IEBAIHZvaWQgQ3RhcEhpZERyaXZlcjo6dHJhbnNhY3QoVmVjdG9yPHVp
bnQ4X3Q+JiYgZGF0YSwgUmVzcG9uc2VDYWxsYmFjayYmIGNhbGxiYWNrCiAgICAgc2l6ZV90IHN0
ZXBzID0ga0hpZEluaXROb25jZUxlbmd0aCAvIHNpemVvZih1aW50MzJfdCk7CiAgICAgQVNTRVJU
KCEoa0hpZEluaXROb25jZUxlbmd0aCAlIHNpemVvZih1aW50MzJfdCkpICYmIHN0ZXBzID49IDEp
OwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc3RlcHM7ICsraSkgewotICAgICAgICB1aW50
MzJfdCB3ZWFrUmFuZG9tID0gd2Vha1JhbmRvbU51bWJlcjx1aW50MzJfdD4oKTsKKyAgICAgICAg
dWludDMyX3Qgd2Vha1JhbmRvbSA9IHdlYWtSYW5kb21VaW50MzIoKTsKICAgICAgICAgbWVtY3B5
KG1fbm9uY2UuZGF0YSgpICsgaSAqIHNpemVvZih1aW50MzJfdCksICZ3ZWFrUmFuZG9tLCBzaXpl
b2YodWludDMyX3QpKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvZG8td2Vi
Y29yZS1yZW5hbWUgYi9Ub29scy9TY3JpcHRzL2RvLXdlYmNvcmUtcmVuYW1lCmluZGV4IDA2OGM0
NDBhZmYzNC4uMjM3NjIzZWQyM2NmIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL2RvLXdlYmNv
cmUtcmVuYW1lCisrKyBiL1Rvb2xzL1NjcmlwdHMvZG8td2ViY29yZS1yZW5hbWUKQEAgLTEwNyw4
ICsxMDcsOSBAQCBzdWIgd2FudGVkCiBteSAkaXNET01UeXBlUmVuYW1lID0gMDsKIG15ICVyZW5h
bWVzID0gKAogICAgICMgUmVuYW1lcyBnbyBoZXJlIGluIHRoZSBmb3JtIG9mOgotICAgICJSYW5k
b21OdW1iZXIuaCIgPT4gIldlYWtSYW5kb21OdW1iZXIuaCIsCi0gICAgIlJhbmRvbU51bWJlci5j
cHAiID0+ICJXZWFrUmFuZG9tTnVtYmVyLmNwcCIsCisgICAgIkNTU0ZvbnRTdHlsZVZhbHVlIiA9
PiAiQ1NTRm9udFN0eWxlV2l0aEFuZ2xlVmFsdWUiLAorICAgICJpc0ZvbnRTdHlsZVZhbHVlIiA9
PiAiaXNGb250U3R5bGVXaXRoQW5nbGVWYWx1ZSIsCisgICAgIkZvbnRTdHlsZUNsYXNzIiA9PiAi
Rm9udFN0eWxlV2l0aEFuZ2xlQ2xhc3MiLAogKTsKIAogbXkgJXJlbmFtZXNDb250ZW1wbGF0ZWRG
b3JUaGVGdXR1cmUgPSAoCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dU
Ri9CbG9vbUZpbHRlci5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9CbG9vbUZp
bHRlci5jcHAKaW5kZXggMzM3NTI1OGY2MmJjLi5hNmEwMDg0YzJjMTYgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0Jsb29tRmlsdGVyLmNwcAorKysgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9CbG9vbUZpbHRlci5jcHAKQEAgLTI2LDcgKzI2LDcgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKIAogI2luY2x1ZGUgPHd0Zi9CbG9vbUZpbHRlci5oPgotI2lu
Y2x1ZGUgPHd0Zi9DcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlci5oPgorI2luY2x1ZGUgPHd0
Zi9SYW5kb21OdW1iZXIuaD4KICNpbmNsdWRlIDx3dGYvU0hBMS5oPgogCiBuYW1lc3BhY2UgVGVz
dFdlYktpdEFQSSB7CkBAIC0zNSw3ICszNSw3IEBAIHN0YXRpYyBWZWN0b3I8dW5zaWduZWQ+IGdl
bmVyYXRlUmFuZG9tSGFzaGVzKHNpemVfdCBoYXNoQ291bnQpCiB7CiAgICAgVmVjdG9yPHVuc2ln
bmVkPiBoYXNoZXM7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGhhc2hDb3VudDsgKytp
KQotICAgICAgICBoYXNoZXMuYXBwZW5kKGNyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyPHVp
bnQzMl90PigpKTsKKyAgICAgICAgaGFzaGVzLmFwcGVuZChjcnlwdG9ncmFwaGljYWxseVJhbmRv
bVVpbnQzMigpKTsKICAgICByZXR1cm4gaGFzaGVzOwogfQogCmRpZmYgLS1naXQgYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9TdGRMaWJFeHRyYXMuY3BwIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XVEYvU3RkTGliRXh0cmFzLmNwcAppbmRleCA2NWM3YWFlZWMzNWYuLjJhZDQ1
NjNkYzAyMCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvU3RkTGli
RXh0cmFzLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9TdGRMaWJFeHRy
YXMuY3BwCkBAIC0yNiw4ICsyNiw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSA8
d3RmL1N0ZExpYkV4dHJhcy5oPgogCi0jaW5jbHVkZSA8d3RmL0NyeXB0b2dyYXBoaWNhbGx5UmFu
ZG9tTnVtYmVyLmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KKyNpbmNsdWRlIDx3dGYv
UmFuZG9tTnVtYmVyLmg+CiAKIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKIApkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50aWNh
dGlvblBhbmVsLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9fV0tX
ZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCmluZGV4IGQ4YTllN2RhNjAzNC4uY2EyMjA2M2VhYTEz
IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dl
YkF1dGhlbnRpY2F0aW9uUGFuZWwubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCkBAIC01Niw3ICs1Niw3IEBA
CiAjaW1wb3J0IDxXZWJLaXQvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5oPgogI2ltcG9ydCA8
V2ViS2l0L19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWxGb3JUZXN0aW5nLmg+CiAjaW1wb3J0IDx3
dGYvQmxvY2tQdHIuaD4KLSNpbXBvcnQgPHd0Zi9XZWFrUmFuZG9tTnVtYmVyLmg+CisjaW1wb3J0
IDx3dGYvUmFuZG9tTnVtYmVyLmg+CiAjaW1wb3J0IDx3dGYvc3BpL2NvY29hL1NlY3VyaXR5U1BJ
Lmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9TdHJpbmdDb25jYXRlbmF0ZU51bWJlcnMuaD4KIApAQCAt
MTkwLDcgKzE5MCw3IEBAIC0gKHZvaWQpcGFuZWw6KF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwg
KilwYW5lbCBzZWxlY3RBc3NlcnRpb25SZXNwb25zZTooTlNBcnJhCiAgICAgICAgIEVYUEVDVF9U
UlVFKFtbcmVzcG9uc2UudXNlckhhbmRsZSBiYXNlNjRFbmNvZGVkU3RyaW5nV2l0aE9wdGlvbnM6
MF0gaXNFcXVhbDpAIk1JSUJrekNDQVRpZ0F3SUJBakNDQVpNd2dnRTRvQU1DQVFJd2dnR1RNSUk9
Il0gfHwgIXJlc3BvbnNlLnVzZXJIYW5kbGUpOwogICAgIH0KIAotICAgIGF1dG8gaW5kZXggPSB3
ZWFrUmFuZG9tTnVtYmVyPHVpbnQzMl90PigpICUgMjsKKyAgICBhdXRvIGluZGV4ID0gd2Vha1Jh
bmRvbVVpbnQzMigpICUgMjsKICAgICB3ZWJBdXRoZW50aWNhdGlvblBhbmVsTnVsbFVzZXJIYW5k
bGUgPSByZXNwb25zZXNbaW5kZXhdLnVzZXJIYW5kbGUgPyBOTyA6IFlFUzsKICAgICBjb21wbGV0
aW9uSGFuZGxlcihyZXNwb25zZXNbaW5kZXhdKTsKIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9U
ZXN0Q29udHJvbGxlci5jcHAKaW5kZXggNGQzYzAzZDQ5YmM3Li5hNTlhMWFkZWM5MmUgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCkBAIC02NzMsNyArNjczLDcg
QEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6Y29uZmlndXJlV2Vic2l0ZURhdGFTdG9yZVRlbXBvcmFy
eURpcmVjdG9yaWVzKFdLV2Vic2l0ZURhdGEKIHsKICAgICBpZiAoY29uc3QgY2hhciogZHVtcFJl
bmRlclRyZWVUZW1wID0gbGlicmFyeVBhdGhGb3JUZXN0aW5nKCkpIHsKICAgICAgICAgU3RyaW5n
IHRlbXBvcmFyeUZvbGRlciA9IFN0cmluZzo6ZnJvbVVURjgoZHVtcFJlbmRlclRyZWVUZW1wKTsK
LSAgICAgICAgYXV0byByYW5kb21OdW1iZXIgPSBjcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJl
cjx1aW50MzJfdD4oKTsKKyAgICAgICAgYXV0byByYW5kb21OdW1iZXIgPSBjcnlwdG9ncmFwaGlj
YWxseVJhbmRvbU51bWJlcigpOwogCiAgICAgICAgIFdLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3Vy
YXRpb25TZXRBcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KGNvbmZpZ3VyYXRpb24sIHRvV0sobWFr
ZVN0cmluZyh0ZW1wb3JhcnlGb2xkZXIsIHBhdGhTZXBhcmF0b3IsICJBcHBsaWNhdGlvbkNhY2hl
IiwgcGF0aFNlcGFyYXRvciwgcmFuZG9tTnVtYmVyKSkuZ2V0KCkpOwogICAgICAgICBXS1dlYnNp
dGVEYXRhU3RvcmVDb25maWd1cmF0aW9uU2V0TmV0d29ya0NhY2hlRGlyZWN0b3J5KGNvbmZpZ3Vy
YXRpb24sIHRvV0sobWFrZVN0cmluZyh0ZW1wb3JhcnlGb2xkZXIsIHBhdGhTZXBhcmF0b3IsICJD
YWNoZSIsIHBhdGhTZXBhcmF0b3IsIHJhbmRvbU51bWJlcikpLmdldCgpKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>