<?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>299467</bug_id>
          
          <creation_ts>2025-09-24 12:38:42 -0700</creation_ts>
          <short_desc>REGRESSION(300475@main): Build brokerage had been fixed</short_desc>
          <delta_ts>2025-09-24 12:46:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</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>299465</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2145646</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2025-09-24 12:38:42 -0700</bug_when>
    <thetext>https://commits.webkit.org/300475@main introduced a regression:
Build brokerage had been fixed

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>2145648</commentid>
    <comment_count>1</comment_count>
      <attachid>476850</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2025-09-24 12:38:58 -0700</bug_when>
    <thetext>Created attachment 476850
REVERT of 300475@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>2145651</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2025-09-24 12:45:41 -0700</bug_when>
    <thetext>Nope. This doesn&apos;t build:

/Volumes/Data/safari-2/OpenSource/Source/WTF/wtf/WTFConfig.cpp:172:5: error: use of undeclared identifier &apos;pas_mte_ensure_initialized&apos;
  172 |     pas_mte_ensure_initialized();
      |     ^
/Volumes/Data/safari-2/OpenSource/Source/WTF/wtf/WTFConfig.cpp:181:58: error: use of undeclared identifier &apos;PAS_MTE_PROC_FLAG_SEC_ENABLED&apos;
  181 |             if (rc != sizeof(info) || !(info.pbi_flags &amp; PAS_MTE_PROC_FLAG_SEC_ENABLED) || !*enabledByte) {
      |                                                          ^
2 errors generated.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>476850</attachid>
            <date>2025-09-24 12:38:58 -0700</date>
            <delta_ts>2025-09-24 12:38:58 -0700</delta_ts>
            <desc>REVERT of 300475@main</desc>
            <filename>bug-299467-20250924193858.patch</filename>
            <type>text/plain</type>
            <size>153256</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">RnJvbSA3N2Y4MzRlODE5NjhmZDY5MDg2MmIxZjU5ZmQ4YzljN2RmY2IzZDA1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDb21taXQgUXVldWUgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3Jn
PgpEYXRlOiBXZWQsIDI0IFNlcCAyMDI1IDE5OjM4OjU2ICswMDAwClN1YmplY3Q6IFtQQVRDSF0g
VW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIDMwMDQ3NUBtYWluLgogaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTI5OTQ2NwoKQnVpbGQgYnJva2VyYWdlIGhhZCBiZWVuIGZpeGVk
CgpSZXZlcnRlZCBjaGFuZ2VzZXQ6CgoiVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIDMwMDQ2OUBtYWlu
IGFuZCAzMDA0NzRAbWFpbi4iCmh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yOTk0NjUKaHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvMzAwNDc1QG1haW4KLS0tCiBTb3Vy
Y2UvV1RGL3d0Zi9XVEZDb25maWcuY3BwICAgICAgICAgICAgICAgICAgfCAgMzcgKy0KIFNvdXJj
ZS9XVEYvd3RmL1dURkNvbmZpZy5oICAgICAgICAgICAgICAgICAgICB8ICAxNCArLQogU291cmNl
L2JtYWxsb2MvQ01ha2VMaXN0cy50eHQgICAgICAgICAgICAgICAgIHwgICA1ICsKIC4uLi9ibWFs
bG9jL2JtYWxsb2MueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiB8ICAyMCArCiBTb3VyY2UvYm1h
bGxvYy9ibWFsbG9jL0JQbGF0Zm9ybS5oICAgICAgICAgICAgfCAgMjUgKwogU291cmNlL2JtYWxs
b2MvYm1hbGxvYy9HaWdhY2FnZS5jcHAgICAgICAgICAgIHwgIDE1ICsKIFNvdXJjZS9ibWFsbG9j
L2JtYWxsb2MvR2lnYWNhZ2VDb25maWcuaCAgICAgICB8ICAgNCArLQogU291cmNlL2JtYWxsb2Mv
Ym1hbGxvYy9TeXN0ZW1IZWFwLmNwcCAgICAgICAgIHwgICA3ICsKIFNvdXJjZS9ibWFsbG9jL2Jt
YWxsb2MvVk1BbGxvY2F0ZS5jcHAgICAgICAgICB8ICAzNCArCiBTb3VyY2UvYm1hbGxvYy9ibWFs
bG9jL1ZNQWxsb2NhdGUuaCAgICAgICAgICAgfCAgMTAgKwogLi4uL2xpYnBhcy9saWJwYXMueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiAgIHwgIDIwICsKIC4uLi9saWJwYXMvc3JjL2xpYnBhcy9q
aXRfaGVhcF9jb25maWcuYyAgICAgICB8ICAgMSArCiAuLi4vbGlicGFzL3NyYy9saWJwYXMvaml0
X2hlYXBfY29uZmlnLmggICAgICAgfCAgIDIgKwogLi4uL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19h
bGxvY2F0aW9uX3Jlc3VsdC5jIHwgICAzICsKIC4uLi9saWJwYXMvc3JjL2xpYnBhcy9wYXNfYWxs
b2NhdGlvbl9yZXN1bHQuaCB8ICAgMyArCiAuLi4vc3JjL2xpYnBhcy9wYXNfYmFzZWxpbmVfYWxs
b2NhdG9yLmMgICAgICAgfCAgIDEgKwogLi4uL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19iaXRmaXRf
cGFnZS5jICAgICAgIHwgICAxICsKIC4uLi9zcmMvbGlicGFzL3Bhc19iaXRmaXRfcGFnZV9pbmxp
bmVzLmggICAgICB8ICAgMyArCiAuLi4vc3JjL2xpYnBhcy9wYXNfY29tcGFjdF9oZWFwX3Jlc2Vy
dmF0aW9uLmMgfCAgIDEgKwogU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2Nv
bmZpZy5oIHwgIDEyICsKIC4uLmljX2hlYXBfcGFnZV9jYWNoZXNfd2l0aF9yZXNlcnZlZF9tZW1v
cnkuYyB8ICAgMiArCiAuLi4vbGlicGFzL3NyYy9saWJwYXMvcGFzX2VudW1lcmF0b3IuYyAgICAg
ICAgfCAgIDEgKwogLi4uL3NyYy9saWJwYXMvcGFzX2Zhc3RfbGFyZ2VfZnJlZV9oZWFwLmMgICAg
IHwgICAxICsKIC4uLi9zcmMvbGlicGFzL3Bhc19mYXN0X21lZ2FwYWdlX3RhYmxlLmMgICAgICB8
ICAgMSArCiAuLi4vc3JjL2xpYnBhcy9wYXNfZmFzdF9tZWdhcGFnZV90YWJsZS5oICAgICAgfCAg
IDEgKwogLi4uL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19mcmVlX2dyYW51bGVzLmMgICAgIHwgICAx
ICsKIC4uLi9zcmMvbGlicGFzL3Bhc19nZXRfYWxsb2NhdGlvbl9zaXplLmggICAgICB8ICAgMiAr
CiAuLi4vYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfZ2V0X2hlYXAuaCAgfCAgIDIgKwog
Li4uL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2hhc2h0YWJsZS5oIHwgICAxICsKIFNv
dXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19oZWFwLmMgICB8ICAgMSArCiAuLi4v
bGlicGFzL3NyYy9saWJwYXMvcGFzX2hlYXBfY29uZmlnX3V0aWxzLmMgfCAgIDEgKwogLi4uL2xp
YnBhcy9zcmMvbGlicGFzL3Bhc19oZWFwX2NvbmZpZ191dGlscy5oIHwgICA1ICsKIC4uLi9saWJw
YXMvcGFzX2hlYXBfY29uZmlnX3V0aWxzX2lubGluZXMuaCAgICB8ICAgNyArCiAuLi4vYm1hbGxv
Yy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfaGVhcF9yZWYuYyAgfCAgIDEgKwogLi4uL2xpYnBhcy9z
cmMvbGlicGFzL3Bhc19pbW1vcnRhbF9oZWFwLmMgICAgIHwgICAxICsKIC4uLi9saWJwYXMvc3Jj
L2xpYnBhcy9wYXNfaW1tdXRhYmxlX3ZlY3Rvci5oICB8ICAgMSArCiAuLi4vc3JjL2xpYnBhcy9w
YXNfbGFyZ2VfZnJlZV9oZWFwX2hlbHBlcnMuYyAgfCAgIDEgKwogLi4uL2xpYnBhcy9zcmMvbGli
cGFzL3Bhc19sYXJnZV9oZWFwLmMgICAgICAgIHwgICAzICsKIC4uLnNfbGFyZ2VfaGVhcF9waHlz
aWNhbF9wYWdlX3NoYXJpbmdfY2FjaGUuYyB8ICAgMSArCiAuLi4vYm1hbGxvYy9saWJwYXMvc3Jj
L2xpYnBhcy9wYXNfbGFyZ2VfbWFwLmMgfCAgIDQgKwogLi4uL3NyYy9saWJwYXMvcGFzX2xhcmdl
X3NoYXJpbmdfcG9vbC5jICAgICAgIHwgICA2ICsKIC4uLi9saWJwYXMvc3JjL2xpYnBhcy9wYXNf
bG9jYWxfYWxsb2NhdG9yLmMgICB8ICAgMSArCiAuLi4vbGlicGFzL3NyYy9saWJwYXMvcGFzX2xv
Y2FsX2FsbG9jYXRvci5oICAgfCAgIDIgKwogLi4uL3NyYy9saWJwYXMvcGFzX2xvY2FsX2FsbG9j
YXRvcl9pbmxpbmVzLmggIHwgICA5ICsKIFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFz
L3Bhc19sb2NrLmggICB8ICAgMSArCiAuLi4vbGlicGFzL3NyYy9saWJwYXMvcGFzX21lZ2FwYWdl
X2NhY2hlLmMgICAgfCAgIDMgKwogLi4uL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX21p
bl9oZWFwLmggIHwgICAxICsKIFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19t
dGUuYyAgICB8ICA0MiArCiBTb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfbXRl
LmggICAgfCA5NTAgKysrKysrKysrKysrKysrKysrCiAuLi4vbGlicGFzL3NyYy9saWJwYXMvcGFz
X210ZV9jb25maWcuYyAgICAgICAgfCAxNjIgKysrCiAuLi4vbGlicGFzL3NyYy9saWJwYXMvcGFz
X210ZV9jb25maWcuaCAgICAgICAgfCAxNjUgKysrCiAuLi4vc3JjL2xpYnBhcy9wYXNfcGFnZV9i
YXNlX2FuZF9raW5kLmggICAgICAgfCAgIDEgKwogLi4uL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19w
YWdlX2Jhc2VfY29uZmlnLmggIHwgICAzICsKIC4uLi9zcmMvbGlicGFzL3Bhc19wYWdlX2Jhc2Vf
Y29uZmlnX3V0aWxzLmggICB8ICAgNiArCiAuLi4vbGlicGFzL3NyYy9saWJwYXMvcGFzX3BhZ2Vf
aGVhZGVyX3RhYmxlLmMgfCAgIDEgKwogLi4uL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19wYWdlX2hl
YWRlcl90YWJsZS5oIHwgICAyICsKIC4uLi9saWJwYXMvc3JjL2xpYnBhcy9wYXNfcGFnZV9tYWxs
b2MuYyAgICAgICB8ICAxMyArLQogLi4uL2xpYnBhcy9wYXNfcGh5c2ljYWxfbWVtb3J5X3RyYW5z
YWN0aW9uLmMgIHwgICAxICsKIC4uLi9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19wbGF0
Zm9ybS5oICB8ICAxMSArCiAuLi5wYXNfcHJvYmFiaWxpc3RpY19ndWFyZF9tYWxsb2NfYWxsb2Nh
dG9yLmMgfCAgIDMgKwogU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3Jvb3Qu
YyAgIHwgICAxICsKIC4uLi9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zY2F2ZW5nZXIu
YyB8ICAgMiArCiAuLi4vbGlicGFzL3NyYy9saWJwYXMvcGFzX3NlZ21lbnRlZF92ZWN0b3IuaCAg
fCAgIDEgKwogLi4uL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zZWdyZWdhdGVkX2hlYXAuYyAgIHwg
ICAxICsKIC4uLi9saWJwYXMvc3JjL2xpYnBhcy9wYXNfc2VncmVnYXRlZF9wYWdlLmMgICB8ICAg
MSArCiAuLi4vc3JjL2xpYnBhcy9wYXNfc2VncmVnYXRlZF9wYWdlX2lubGluZXMuaCAgfCAgIDMg
KwogLi4uL2xpYnBhcy9wYXNfc2VncmVnYXRlZF9zaXplX2RpcmVjdG9yeS5oICAgIHwgICAxICsK
IC4uLi9zcmMvbGlicGFzL3Bhc19zaW1wbGVfbGFyZ2VfZnJlZV9oZWFwLmMgICB8ICAgMSArCiAu
Li5tYWxsX21lZGl1bV9ib290c3RyYXBfaGVhcF9wYWdlX3Byb3ZpZGVyLmMgfCAgIDEgKwogLi4u
L2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zdGF0dXNfcmVwb3J0ZXIuYyAgIHwgICAxICsKIC4uLi9s
aWJwYXMvc3JjL2xpYnBhcy9wYXNfc3RyaW5nX3N0cmVhbS5jICAgICB8ICAgMSArCiAuLi4vc3Jj
L2xpYnBhcy9wYXNfdGhyZWFkX2xvY2FsX2NhY2hlLmMgICAgICAgfCAgIDEgKwogLi4uL3NyYy9s
aWJwYXMvcGFzX3RocmVhZF9sb2NhbF9jYWNoZS5oICAgICAgIHwgICAxICsKIC4uLi9saWJwYXMv
cGFzX3RocmVhZF9sb2NhbF9jYWNoZV9sYXlvdXQuaCAgICB8ICAgMSArCiAuLi4vc3JjL2xpYnBh
cy9wYXNfdGlueV9sYXJnZV9tYXBfZW50cnkuaCAgICAgfCAgIDEgKwogLi4uL2xpYnBhcy9zcmMv
bGlicGFzL3Bhc190cnlfcmVhbGxvY2F0ZS5oICAgIHwgICAzICsKIC4uLi9zcmMvbGlicGFzL3Bh
c191dGlsaXR5X2hlYXBfY29uZmlnLmggICAgICB8ICAgMSArCiBTb3VyY2UvYm1hbGxvYy9saWJw
YXMvc3JjL2xpYnBhcy9wYXNfdXRpbHMuaCAgfCAgMTIgKy0KIC4uLi9saWJwYXMvc3JjL2xpYnBh
cy9wYXNfemVyb19tZW1vcnkuaCAgICAgICB8ICAzOSArCiBUb29scy9TY3JpcHRzL3dlYmtpdHB5
L3N0eWxlL2NoZWNrZXIucHkgICAgICAgfCAgIDkgKy0KIDgwIGZpbGVzIGNoYW5nZWQsIDE2OTgg
aW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgU291cmNl
L2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX210ZS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQg
U291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX210ZS5oCiBjcmVhdGUgbW9kZSAx
MDA2NDQgU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX210ZV9jb25maWcuYwog
Y3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19t
dGVfY29uZmlnLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvYm1hbGxvYy9saWJwYXMvc3Jj
L2xpYnBhcy9wYXNfemVyb19tZW1vcnkuaAoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1dU
RkNvbmZpZy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9XVEZDb25maWcuY3BwCmluZGV4IDU0N2UwYTAy
ZjcwYS4uYzllZGNmNDhjMTc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9XVEZDb25maWcu
Y3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL1dURkNvbmZpZy5jcHAKQEAgLTI2LDYgKzI2LDggQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlIDx3dGYvV1RGQ29uZmlnLmg+CiAKKyNpbmNs
dWRlIDxjc3RkaW8+CisKICNpbmNsdWRlIDx3dGYvR2lnYWNhZ2UuaD4KICNpbmNsdWRlIDx3dGYv
TG9jay5oPgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CkBAIC0zNyw4ICszOSwxNSBAQAog
I2luY2x1ZGUgPG1hY2gtby9nZXRzZWN0Lmg+CiAjaW5jbHVkZSA8bWFjaC1vL2xkc3ltcy5oPgog
I2luY2x1ZGUgPG1hY2gvdm1fcGFyYW0uaD4KKyNpbmNsdWRlICJ1bmlzdGQuaCIKICNlbmRpZgog
CisjaWYgZGVmaW5lZChfX2hhc19pbmNsdWRlKQorI2lmIF9faGFzX2luY2x1ZGUoPGxpYnByb2Mu
aD4pCisjaW5jbHVkZSA8bGlicHJvYy5oPgorI2VuZGlmIC8vIF9faGFzX2luY2x1ZGUoPGxpYnBy
b2MuaD4pCisjZW5kaWYgLy8gZGVmaW5lZChfX2hhc19pbmNsdWRlKQorCiAjaWYgUExBVEZPUk0o
Q09DT0EpCiAjaW5jbHVkZSA8d3RmL3NwaS9jb2NvYS9NYWNoVk1TUEkuaD4KICNpbmNsdWRlIDxt
YWNoL21hY2guaD4KQEAgLTQ5LDYgKzU4LDkgQEAKICNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RL
KQogI2luY2x1ZGUgPFdlYktpdEFkZGl0aW9ucy9XVEZDb25maWdBZGRpdGlvbnMuaD4KICNlbmRp
ZgorI2lmICFVU0UoU1lTVEVNX01BTExPQykKKyNpbmNsdWRlICJibWFsbG9jL3Bhc19tdGVfY29u
ZmlnLmgiCisjZW5kaWYKIAogI2luY2x1ZGUgPG11dGV4PgogCkBAIC03Miw3ICs4NCw3IEBAIGFs
aWduYXMoV1RGOjpDb25maWdBbGlnbm1lbnQpIFdURl9DT05GSUdfU0VDVElPTiBTbG90IGdfY29u
ZmlnW1dURjo6Q29uZmlnU2l6ZVRvCiB9IC8vIG5hbWVzcGFjZSBXZWJDb25maWcKIAogI2lmICFV
U0UoU1lTVEVNX01BTExPQykKLXN0YXRpY19hc3NlcnQoR2lnYWNhZ2U6OnN0YXJ0U2xvdE9mR2ln
YWNhZ2VDb25maWcgPT0gV2ViQ29uZmlnOjpyZXNlcnZlZFNsb3RzRm9yRXhlY3V0YWJsZUFsbG9j
YXRvciArIFdlYkNvbmZpZzo6YWRkaXRpb25hbFJlc2VydmVkU2xvdHMpOworc3RhdGljX2Fzc2Vy
dChHaWdhY2FnZTo6c3RhcnRTbG90T2ZHaWdhY2FnZUNvbmZpZyA9PSBXZWJDb25maWc6Ok51bWJl
ck9mUmVzZXJ2ZWRDb25maWdCeXRlcyk7CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdURiB7CkBAIC0x
NTQsOCArMTY2LDI2IEBAIHZvaWQgQ29uZmlnOjppbml0aWFsaXplKCkKICAgICBnX3d0ZkNvbmZp
Zy5oaWdoZXN0QWNjZXNzaWJsZUFkZHJlc3MgPSBzdGF0aWNfY2FzdDx1aW50cHRyX3Q+KCgxVUxM
IDw8IE9TX0NPTlNUQU5UKEVGRkVDVElWRV9BRERSRVNTX1dJRFRIKSkgLSAxKTsKICAgICBTaWdu
YWxIYW5kbGVyczo6aW5pdGlhbGl6ZSgpOwogCi0gICAgdWludDhfdCogcmVzZXJ2ZWRDb25maWdC
eXRlcyA9IHJlaW50ZXJwcmV0X2Nhc3RfcHRyPHVpbnQ4X3QqPihXZWJDb25maWc6OmdfY29uZmln
ICsgV2ViQ29uZmlnOjpyZXNlcnZlZFNsb3RzRm9yRXhlY3V0YWJsZUFsbG9jYXRvcik7Ci0KKyAg
ICBbW21heWJlX3VudXNlZF1dIHVpbnQ4X3QqIHJlc2VydmVkQ29uZmlnQnl0ZXMgPSByZWludGVy
cHJldF9jYXN0X3B0cjx1aW50OF90Kj4oV2ViQ29uZmlnOjpnX2NvbmZpZyk7CisKKyNpZiAhVVNF
KFNZU1RFTV9NQUxMT0MpICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisgICAgcGFzX210ZV9l
bnN1cmVfaW5pdGlhbGl6ZWQoKTsKKyAgICBjb25zdCB1aW50OF90KiBlbmFibGVkQnl0ZSA9ICgo
Y29uc3QgdWludDhfdCopKFdlYkNvbmZpZzo6Z19jb25maWcgKyAyKSk7CisgICAgY29uc3QgY2hh
ciogY3Jhc2hJZk1URU5vdEVuYWJsZWQgPSBnZXRlbnYoIk1URV9jcmFzaElmTm90RW5hYmxlZCIp
OworICAgIGlmIChjcmFzaElmTVRFTm90RW5hYmxlZCkgeworICAgICAgICBpZiAoIXN0cmNhc2Vj
bXAoY3Jhc2hJZk1URU5vdEVuYWJsZWQsICJ0cnVlIikKKyAgICAgICAgICAgIHx8ICFzdHJjYXNl
Y21wKGNyYXNoSWZNVEVOb3RFbmFibGVkLCAieWVzIikKKyAgICAgICAgICAgIHx8ICFzdHJjYXNl
Y21wKGNyYXNoSWZNVEVOb3RFbmFibGVkLCAiMSIpKSB7CisgICAgICAgICAgICBzdHJ1Y3QgcHJv
Y19ic2RpbmZvIGluZm87CisgICAgICAgICAgICBpbnQgcmMgPSBwcm9jX3BpZGluZm8oZ2V0cGlk
KCksIFBST0NfUElEVEJTRElORk8sIDAsICZpbmZvLCBzaXplb2YoaW5mbykpOworICAgICAgICAg
ICAgaWYgKHJjICE9IHNpemVvZihpbmZvKSB8fCAhKGluZm8ucGJpX2ZsYWdzICYgUEFTX01URV9Q
Uk9DX0ZMQUdfU0VDX0VOQUJMRUQpIHx8ICEqZW5hYmxlZEJ5dGUpIHsKKyAgICAgICAgICAgICAg
ICBXVEZMb2dBbHdheXMoIk1URSBub3QgZW5hYmxlZCBmb3IgcHJvY2VzczsgY3Jhc2hpbmdcbiIp
OworICAgICAgICAgICAgICAgIFdURlJlcG9ydEJhY2t0cmFjZSgpOworICAgICAgICAgICAgICAg
IENSQVNIKCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisjZW5kaWYgLy8gIVVT
RShTWVNURU1fTUFMTE9DKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogICAgIGNvbnN0IGNo
YXIqIHVzZUFsbG9jYXRpb25Qcm9maWxpbmdSYXcgPSBnZXRlbnYoIkpTQ191c2VBbGxvY2F0aW9u
UHJvZmlsaW5nIik7CiAgICAgaWYgKHVzZUFsbG9jYXRpb25Qcm9maWxpbmdSYXcpIHsKICAgICAg
ICAgYXV0byB1c2VBbGxvY2F0aW9uUHJvZmlsaW5nID0gdW5zYWZlU3Bhbih1c2VBbGxvY2F0aW9u
UHJvZmlsaW5nUmF3KTsKQEAgLTE3Nyw3ICsyMDcsNiBAQCB2b2lkIENvbmZpZzo6aW5pdGlhbGl6
ZSgpCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9Ci0KIH0KIAogdm9pZCBDb25maWc6
OmZpbmFsaXplKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1dURkNvbmZpZy5oIGIvU291
cmNlL1dURi93dGYvV1RGQ29uZmlnLmgKaW5kZXggMmEyMGM2ZjVhOTc0Li5kODQwMThjNGY0NzEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1dURkNvbmZpZy5oCisrKyBiL1NvdXJjZS9XVEYv
d3RmL1dURkNvbmZpZy5oCkBAIC0zOSw4ICszOSw4IEBAIFdURl9BTExPV19VTlNBRkVfQlVGRkVS
X1VTQUdFX0JFR0lOCiAKICNpZiBVU0UoU1lTVEVNX01BTExPQykKIG5hbWVzcGFjZSBHaWdhY2Fn
ZSB7Ci0vLyBUaGUgZmlyc3QgNCBzbG90cyBhcmUgcmVzZXJ2ZWQgZm9yIHRoZSB1c2Ugb2YgdGhl
IEV4ZWN1dGFibGVBbGxvY2F0b3IgYW5kIGFkZGl0aW9uYWxSZXNlcnZlZFNsb3RzLgotY29uc3Rl
eHByIHNpemVfdCByZXNlcnZlZFNsb3RzRm9yR2lnYWNhZ2VDb25maWcgPSA0OworLy8gVGhlIGZp
cnN0IDYgc2xvdHMgYXJlIHJlc2VydmVkIGZvciB1c2UgYnkgc3lzdGVtIGFsbG9jYXRvcnMKK2Nv
bnN0ZXhwciBzaXplX3QgcmVzZXJ2ZWRTbG90c0ZvckdpZ2FjYWdlQ29uZmlnID0gNjsKIGNvbnN0
ZXhwciBzaXplX3QgcmVzZXJ2ZWRCeXRlc0ZvckdpZ2FjYWdlQ29uZmlnID0gcmVzZXJ2ZWRTbG90
c0ZvckdpZ2FjYWdlQ29uZmlnICogc2l6ZW9mKHVpbnQ2NF90KTsKIH0KICNlbHNlCkBAIC01Mywx
NSArNTMsMjEgQEAgdXNpbmcgU2xvdCA9IHVpbnQ2NF90OwogZXh0ZXJuICJDIiBXVEZfRVhQT1JU
X1BSSVZBVEUgU2xvdCBnX2NvbmZpZ1tdOwogCiBjb25zdGV4cHIgc2l6ZV90IHJlc2VydmVkU2xv
dHNGb3JFeGVjdXRhYmxlQWxsb2NhdG9yID0gMjsKLWNvbnN0ZXhwciBzaXplX3QgYWRkaXRpb25h
bFJlc2VydmVkU2xvdHMgPSAyOworY29uc3RleHByIHNpemVfdCByZXNlcnZlZFNsb3RzRm9yTVRF
Q29uZmlndXJhdGlvbiA9IDI7Citjb25zdGV4cHIgc2l6ZV90IHJlc2VydmVkU2xvdHNGb3JBbGxv
Y2F0aW9uUHJvZmlsaW5nID0gMjsKIAogZW51bSBSZXNlcnZlZENvbmZpZ0J5dGVPZmZzZXQgewor
ICAgIFJlc2VydmVkQnl0ZUZvckV4ZWN1dGFibGVBbGxvY2F0b3IwID0gMCwKKyAgICBSZXNlcnZl
ZEJ5dGVGb3JFeGVjdXRhYmxlQWxsb2NhdG9yMSwKKyAgICAvLyBUaGUgTVRFIG9mZnNldHMgbXVz
dCBiZSBrZXB0IGluIHN5bmMgd2l0aCBwYXNfbXRlX2NvbmZpZy5oCisgICAgUmVzZXJ2ZWRCeXRl
Rm9yTVRFRW5hYmxlbWVudCwKKyAgICBSZXNlcnZlZEJ5dGVGb3JNVEVFeHRlbmRlZENvbmZpZ3Vy
YXRpb24sCiAgICAgUmVzZXJ2ZWRCeXRlRm9yQWxsb2NhdGlvblByb2ZpbGluZywKICAgICBSZXNl
cnZlZEJ5dGVGb3JBbGxvY2F0aW9uUHJvZmlsaW5nTW9kZSwKICAgICBOdW1iZXJPZlJlc2VydmVk
Q29uZmlnQnl0ZXMKIH07CiAKLXN0YXRpY19hc3NlcnQoTnVtYmVyT2ZSZXNlcnZlZENvbmZpZ0J5
dGVzIDw9IHNpemVvZihTbG90KSAqIGFkZGl0aW9uYWxSZXNlcnZlZFNsb3RzKTsKK3N0YXRpY19h
c3NlcnQoTnVtYmVyT2ZSZXNlcnZlZENvbmZpZ0J5dGVzIDw9IHNpemVvZihTbG90KSAqIChyZXNl
cnZlZFNsb3RzRm9yRXhlY3V0YWJsZUFsbG9jYXRvciArIHJlc2VydmVkU2xvdHNGb3JNVEVDb25m
aWd1cmF0aW9uICsgcmVzZXJ2ZWRTbG90c0ZvckFsbG9jYXRpb25Qcm9maWxpbmcpKTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29uZmlnCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL2JtYWxsb2MvQ01ha2VMaXN0cy50eHQKaW5kZXggMWU1Yjg4MGRm
M2Y1Li5jNzM5ZmI0OTA4NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL0NNYWtlTGlzdHMu
dHh0CisrKyBiL1NvdXJjZS9ibWFsbG9jL0NNYWtlTGlzdHMudHh0CkBAIC0xNTEsNiArMTUxLDgg
QEAgc2V0KGJtYWxsb2NfQ19TT1VSQ0VTCiAgICAgbGlicGFzL3NyYy9saWJwYXMvcGFzX21lZGl1
bV9tZWdhcGFnZV9jYWNoZS5jCiAgICAgbGlicGFzL3NyYy9saWJwYXMvcGFzX21lZ2FwYWdlX2Nh
Y2hlLmMKICAgICBsaWJwYXMvc3JjL2xpYnBhcy9wYXNfbW9ub3RvbmljX3RpbWUuYworICAgIGxp
YnBhcy9zcmMvbGlicGFzL3Bhc19tdGUuYworICAgIGxpYnBhcy9zcmMvbGlicGFzL3Bhc19tdGVf
Y29uZmlnLmMKICAgICBsaWJwYXMvc3JjL2xpYnBhcy9wYXNfcGFnZV9iYXNlLmMKICAgICBsaWJw
YXMvc3JjL2xpYnBhcy9wYXNfcGFnZV9iYXNlX2NvbmZpZy5jCiAgICAgbGlicGFzL3NyYy9saWJw
YXMvcGFzX3BhZ2VfaGVhZGVyX3RhYmxlLmMKQEAgLTU1MSw2ICs1NTMsOCBAQCBzZXQoYm1hbGxv
Y19QVUJMSUNfSEVBREVSUwogICAgIGxpYnBhcy9zcmMvbGlicGFzL3Bhc19taW5faGVhcC5oCiAg
ICAgbGlicGFzL3NyYy9saWJwYXMvcGFzX21tYXBfY2FwYWJpbGl0eS5oCiAgICAgbGlicGFzL3Ny
Yy9saWJwYXMvcGFzX21vbm90b25pY190aW1lLmgKKyAgICBsaWJwYXMvc3JjL2xpYnBhcy9wYXNf
bXRlLmgKKyAgICBsaWJwYXMvc3JjL2xpYnBhcy9wYXNfbXRlX2NvbmZpZy5oCiAgICAgbGlicGFz
L3NyYy9saWJwYXMvcGFzX211dGF0aW9uX2NvdW50LmgKICAgICBsaWJwYXMvc3JjL2xpYnBhcy9w
YXNfb2JqZWN0X2tpbmQuaAogICAgIGxpYnBhcy9zcmMvbGlicGFzL3Bhc19wYWdlX2Jhc2VfYW5k
X2tpbmQuaApAQCAtNjgzLDYgKzY4Nyw3IEBAIHNldChibWFsbG9jX1BVQkxJQ19IRUFERVJTCiAg
ICAgbGlicGFzL3NyYy9saWJwYXMvcGFzX3ZlcnNpb25lZF9maWVsZC5oCiAgICAgbGlicGFzL3Ny
Yy9saWJwYXMvcGFzX3ZpcnR1YWxfcmFuZ2UuaAogICAgIGxpYnBhcy9zcmMvbGlicGFzL3Bhc192
aXJ0dWFsX3JhbmdlX21pbl9oZWFwLmgKKyAgICBsaWJwYXMvc3JjL2xpYnBhcy9wYXNfemVyb19t
ZW1vcnkuaAogICAgIGxpYnBhcy9zcmMvbGlicGFzL3Bhc196ZXJvX21vZGUuaAogICAgIGxpYnBh
cy9zcmMvbGlicGFzL3RoaW5neV9oZWFwX2NvbmZpZy5oCiAgICAgbGlicGFzL3NyYy9saWJwYXMv
dGhpbmd5X2hlYXAuaApkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IGY3MTRjZDhmMjJmNi4uOTQxYzg4OTc2MGY2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL2JtYWxsb2MvYm1hbGxvYy54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02MDYs
NiArNjA2LDExIEBACiAJCURENEJFREUyMjlDQkE0OTcwMDM5OEUzNSAvKiBtaW5hbGlnbjMyX2hl
YXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMThG
ODQxMjVDMzQ2NzcwMDcyMUMyQSAvKiBtaW5hbGlnbjMyX2hlYXAuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlERDRCRURFMzI5Q0JBNDk3MDAzOThF
MzUgLyogcGFzX2NvbXBhY3RfZXhwZW5kYWJsZV9tZW1vcnkuYyBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJDNDgxMzNDMjc0MDZBM0UwMDZDQUI1NSAvKiBw
YXNfY29tcGFjdF9leHBlbmRhYmxlX21lbW9yeS5jICovOyB9OwogCQlERDRCRURFNDI5Q0JBNDk3
MDAzOThFMzUgLyogcGFzX3N0YXR1c19yZXBvcnRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDNDBBMUIyNDUxNDk4NDAwODc2REEwIC8qIHBhc19z
dGF0dXNfcmVwb3J0ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQkwMTAwMDAwQzM3QkFCQTBBMEE5OTk5OTkgLyogcGFzX210ZS5jIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDEwMDAwMEEzN0JBQkEwQTBB
OTk5OTk5IC8qIHBhc19tdGUuYyAqLzsgfTsKKwkJMDEwMDAwMEQzN0JBQkEwQTBBOTk5OTk5IC8q
IHBhc19tdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDAxMDAwMDBCMzdCQUJBMEEwQTk5OTk5OSAvKiBwYXNfbXRlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTt9OworCQkwMTAwMDAwQzM3QkFCQTBBMEE5OTM5OTkg
LyogcGFzX210ZV9jb25maWcuYyBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDAxMDAwMDBBMzdCQUJBMEEwQTk5Mzk5OSAvKiBwYXNfbXRlX2NvbmZpZy5jICov
OyB9OworCQkwMTAwMDAwRDM3QkFCQTBBMEE5OTM5OTkgLyogcGFzX210ZV9jb25maWcuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDAxMDAwMDBCMzdCQUJB
MEEwQTk5Mzk5OSAvKiBwYXNfbXRlX2NvbmZpZy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07fTsKKwkJMDEwMDAwMEQzN0JBQkEwQTBBOTkxOTk5IC8qIHBhc196
ZXJvX21lbW9yeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMDEwMDAwMEIzN0JBQkEwQTBBOTkxOTk5IC8qIHBhc196ZXJvX21lbW9yeS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07fTsKIAkJREQ0QkVERTUyOUNCQTQ5
NzAwMzk4RTM1IC8qIHBhZ2VzaXplNjRrX2hlYXBfY29uZmlnLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjE4RjgzRjI1QzM0Njc3MDA3MjFDMkEgLyog
cGFnZXNpemU2NGtfaGVhcF9jb25maWcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlERDRCRURFNjI5Q0JBNDk3MDAzOThFMzUgLyogaXNvX2hlYXAu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQzQwOTI5
MjQ1MTQ5NDMwMDg3NkRBMCAvKiBpc29faGVhcC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCURENEJFREU3MjlDQkE0OTcwMDM5OEUzNSAvKiBtaW5h
bGlnbjMyX2hlYXBfY29uZmlnLmMgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRjE4Rjg0NDI1QzM0Njc3MDA3MjFDMkEgLyogbWluYWxpZ24zMl9oZWFwX2Nv
bmZpZy5jICovOyB9OwpAQCAtMTM1MCw2ICsxMzU1LDExIEBACiAJCTJDNDgxMzNCMjc0MDZBM0Uw
MDZDQUI1NSAvKiBwYXNfbGFyZ2VfZXhwZW5kYWJsZV9tZW1vcnkuYyAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5jOyBuYW1lID0gcGFzX2xhcmdlX2V4cGVuZGFibGVfbWVtb3J5LmM7IHBhdGggPSBs
aWJwYXMvc3JjL2xpYnBhcy9wYXNfbGFyZ2VfZXhwZW5kYWJsZV9tZW1vcnkuYzsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkM0ODEzM0MyNzQwNkEzRTAwNkNBQjU1IC8qIHBhc19jb21w
YWN0X2V4cGVuZGFibGVfbWVtb3J5LmMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuYzsgbmFtZSA9
IHBhc19jb21wYWN0X2V4cGVuZGFibGVfbWVtb3J5LmM7IHBhdGggPSBsaWJwYXMvc3JjL2xpYnBh
cy9wYXNfY29tcGFjdF9leHBlbmRhYmxlX21lbW9yeS5jOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkyQzQ4MTMzRDI3NDA2QTNFMDA2Q0FCNTUgLyogcGFzX2NvbXBhY3RfZXhwZW5kYWJs
ZV9tZW1vcnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gcGFzX2NvbXBhY3Rf
ZXhwZW5kYWJsZV9tZW1vcnkuaDsgcGF0aCA9IGxpYnBhcy9zcmMvbGlicGFzL3Bhc19jb21wYWN0
X2V4cGVuZGFibGVfbWVtb3J5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTAxMDAw
MDBBMzdCQUJBMEEwQTk5OTk5OSAvKiBwYXNfbXRlLmMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
YzsgbmFtZSA9IHBhc19tdGUuYzsgcGF0aCA9IGxpYnBhcy9zcmMvbGlicGFzL3Bhc19tdGUuYzsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDEwMDAwMEIzN0JBQkEwQTBBOTk5OTk5IC8q
IHBhc19tdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gcGFzX210ZS5oOyBw
YXRoID0gbGlicGFzL3NyYy9saWJwYXMvcGFzX210ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkwMTAwMDAwQTM3QkFCQTBBMEE5OTM5OTkgLyogcGFzX210ZV9jb25maWcuYyAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5jOyBuYW1lID0gcGFzX210ZV9jb25maWcuYzsgcGF0aCA9IGxp
YnBhcy9zcmMvbGlicGFzL3Bhc19tdGVfY29uZmlnLmM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTAxMDAwMDBCMzdCQUJBMEEwQTk5Mzk5OSAvKiBwYXNfbXRlX2NvbmZpZy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBwYXNfbXRlX2NvbmZpZy5oOyBwYXRoID0gbGli
cGFzL3NyYy9saWJwYXMvcGFzX210ZV9jb25maWcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMDEwMDAwMEIzN0JBQkEwQTBBOTkxOTk5IC8qIHBhc196ZXJvX21lbW9yeS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBwYXNfemVyb19tZW1vcnkuaDsgcGF0aCA9IGxp
YnBhcy9zcmMvbGlicGFzL3Bhc196ZXJvX21lbW9yeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkyQzQ4MTMzRTI3NDA2QTNFMDA2Q0FCNTUgLyogcGFzX2V4cGVuZGFibGVfbWVtb3J5
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IHBhc19leHBlbmRhYmxlX21lbW9y
eS5oOyBwYXRoID0gbGlicGFzL3NyYy9saWJwYXMvcGFzX2V4cGVuZGFibGVfbWVtb3J5Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJDNDgxMzNGMjc0MDZBM0UwMDZDQUI1NSAvKiBw
YXNfbGFyZ2VfZXhwZW5kYWJsZV9tZW1vcnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gcGFzX2xhcmdlX2V4cGVuZGFibGVfbWVtb3J5Lmg7IHBhdGggPSBsaWJwYXMvc3JjL2xp
YnBhcy9wYXNfbGFyZ2VfZXhwZW5kYWJsZV9tZW1vcnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMkM5MUU1NTEyNzFDRTQ3QTAwRDY3RkY5IC8qIHBhc19zaXplX2xvb2t1cF9tb2Rl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IHBhc19zaXplX2xvb2t1cF9tb2Rl
Lmg7IHBhdGggPSBsaWJwYXMvc3JjL2xpYnBhcy9wYXNfc2l6ZV9sb29rdXBfbW9kZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTg2OCw2ICsxODc4LDEwIEBACiAJCQkJMkMwOUQ4
QkUyNzk3QzZFQTAwNUFBMTVDIC8qIHBhc19tbWFwX2NhcGFiaWxpdHkuaCAqLywKIAkJCQkwRkM0
MEE4RjI0NTE0OThDMDA4NzZEQTAgLyogcGFzX21vbm90b25pY190aW1lLmMgKi8sCiAJCQkJMEZD
NDBBNzEyNDUxNDk4QTAwODc2REEwIC8qIHBhc19tb25vdG9uaWNfdGltZS5oICovLAorCQkJCTAx
MDAwMDBBMzdCQUJBMEEwQTk5OTk5OSAvKiBwYXNfbXRlLmMgKi8sCisJCQkJMDEwMDAwMEIzN0JB
QkEwQTBBOTk5OTk5IC8qIHBhc19tdGUuaCAqLywKKwkJCQkwMTAwMDAwQTM3QkFCQTBBMEE5OTM5
OTkgLyogcGFzX210ZV9jb25maWcuYyAqLywKKwkJCQkwMTAwMDAwQjM3QkFCQTBBMEE5OTM5OTkg
LyogcGFzX210ZV9jb25maWcuaCAqLywKIAkJCQkwRkM0MEFEMjI0NTE0OTkxMDA4NzZEQTAgLyog
cGFzX211dGF0aW9uX2NvdW50LmggKi8sCiAJCQkJMEY4NzAwNEUyNUFGOEExOTAwMEUxQUJGIC8q
IHBhc19vYmplY3Rfa2luZC5oICovLAogCQkJCTBGODcwMDUyMjVBRjhBMUEwMDBFMUFCRiAvKiBw
YXNfcGFnZV9iYXNlLmMgKi8sCkBAIC0yMDUyLDYgKzIwNjYsNyBAQAogCQkJCTBGQzQwQUJFMjQ1
MTQ5OTAwMDg3NkRBMCAvKiBwYXNfdmlydHVhbF9yYW5nZS5jICovLAogCQkJCTBGQzQwQUVEMjQ1
MTQ5OTMwMDg3NkRBMCAvKiBwYXNfdmlydHVhbF9yYW5nZS5oICovLAogCQkJCTBGQzQwQUUwMjQ1
MTQ5OTIwMDg3NkRBMCAvKiBwYXNfdmlydHVhbF9yYW5nZV9taW5faGVhcC5oICovLAorCQkJCTAx
MDAwMDBCMzdCQUJBMEEwQTk5MTk5OSAvKiBwYXNfemVyb19tZW1vcnkuaCAqLywKIAkJCQkwRkM0
MEFFQTI0NTE0OTkzMDA4NzZEQTAgLyogcGFzX3plcm9fbW9kZS5oICovLAogCQkJCTBGODcwMENF
MjVCMENCMDMwMDBFMUFCRiAvKiB0aGluZ3lfaGVhcC5jICovLAogCQkJCTBGODcwMENBMjVCMENC
MDIwMDBFMUFCRiAvKiB0aGluZ3lfaGVhcC5oICovLApAQCAtMjYwNyw2ICsyNjIyLDggQEAKIAkJ
CQlERDRCRUNGRjI5Q0JBNDk3MDAzOThFMzUgLyogcGFzX21pbl9oZWFwLmggaW4gSGVhZGVycyAq
LywKIAkJCQlERDRCRUM3MzI5Q0JBNDk3MDAzOThFMzUgLyogcGFzX21tYXBfY2FwYWJpbGl0eS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJREQ0QkVEM0EyOUNCQTQ5NzAwMzk4RTM1IC8qIHBhc19tb25v
dG9uaWNfdGltZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMDEwMDAwMEQzN0JBQkEwQTBBOTk5OTk5
IC8qIHBhc19tdGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTAxMDAwMDBEMzdCQUJBMEEwQTk5Mzk5
OSAvKiBwYXNfbXRlX2NvbmZpZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJREQ0QkVDNUYyOUNCQTQ5
NzAwMzk4RTM1IC8qIHBhc19tdXRhdGlvbl9jb3VudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJREQ0
QkVENDcyOUNCQTQ5NzAwMzk4RTM1IC8qIHBhc19vYmplY3Rfa2luZC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJREQ0QkVERkIyOUNCQTQ5NzAwMzk4RTM1IC8qIHBhc19wYWdlX2Jhc2UuaCBpbiBIZWFk
ZXJzICovLApAQCAtMjc0MCw2ICsyNzU3LDcgQEAKIAkJCQlERDRCRUQzNzI5Q0JBNDk3MDAzOThF
MzUgLyogcGFzX3ZlcnNpb25lZF9maWVsZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJREQ0QkVEM0Iy
OUNCQTQ5NzAwMzk4RTM1IC8qIHBhc192aXJ0dWFsX3JhbmdlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlERDRCRUNGRDI5Q0JBNDk3MDAzOThFMzUgLyogcGFzX3ZpcnR1YWxfcmFuZ2VfbWluX2hlYXAu
aCBpbiBIZWFkZXJzICovLAorCQkJCTAxMDAwMDBEMzdCQUJBMEEwQTk5MTk5OSAvKiBwYXNfemVy
b19tZW1vcnkuaCBpbiBIZWFkZXJzICovLAogCQkJCURENEJFRDY0MjlDQkE0OTcwMDM5OEUzNSAv
KiBwYXNfemVyb19tb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQlERDRCRUUyRTI5Q0JBNEUzMDAz
OThFMzUgLyogUHJvY2Vzc0NoZWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQlERDRCRUUyQTI5Q0JB
NEUzMDAzOThFMzUgLyogU2NvcGVFeGl0LmggaW4gSGVhZGVycyAqLywKQEAgLTMwMjYsNiArMzA0
NCw4IEBACiAJCQkJREQ0QkVDMjcyOUNCQTQ5NzAwMzk4RTM1IC8qIHBhc19tZWRpdW1fbWVnYXBh
Z2VfY2FjaGUuYyBpbiBTb3VyY2VzICovLAogCQkJCURENEJFRDI4MjlDQkE0OTcwMDM5OEUzNSAv
KiBwYXNfbWVnYXBhZ2VfY2FjaGUuYyBpbiBTb3VyY2VzICovLAogCQkJCURENEJFQ0JDMjlDQkE0
OTcwMDM5OEUzNSAvKiBwYXNfbW9ub3RvbmljX3RpbWUuYyBpbiBTb3VyY2VzICovLAorCQkJCTAx
MDAwMDBDMzdCQUJBMEEwQTk5OTk5OSAvKiBwYXNfbXRlLmMgaW4gU291cmNlcyAqLywKKwkJCQkw
MTAwMDAwQzM3QkFCQTBBMEE5OTM5OTkgLyogcGFzX210ZV9jb25maWcuYyBpbiBTb3VyY2VzICov
LAogCQkJCURENEJFQzREMjlDQkE0OTcwMDM5OEUzNSAvKiBwYXNfcGFnZV9iYXNlLmMgaW4gU291
cmNlcyAqLywKIAkJCQlERDRCRUNERTI5Q0JBNDk3MDAzOThFMzUgLyogcGFzX3BhZ2VfYmFzZV9j
b25maWcuYyBpbiBTb3VyY2VzICovLAogCQkJCURENEJFREEwMjlDQkE0OTcwMDM5OEUzNSAvKiBw
YXNfcGFnZV9oZWFkZXJfdGFibGUuYyBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNl
L2JtYWxsb2MvYm1hbGxvYy9CUGxhdGZvcm0uaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQlBs
YXRmb3JtLmgKaW5kZXggYzA2N2M3YWU0OWIxLi5kODUyNjEyNGNkNWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9ibWFsbG9jL2JtYWxsb2MvQlBsYXRmb3JtLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1h
bGxvYy9CUGxhdGZvcm0uaApAQCAtMzMsNiArMzMsMTIgQEAKICNpbmNsdWRlIDxUYXJnZXRDb25k
aXRpb25hbHMuaD4KICNlbmRpZgogCisjaWYgZGVmaW5lZChfX2hhc19pbmNsdWRlKQorI2lmIF9f
aGFzX2luY2x1ZGUoPFdlYktpdEFkZGl0aW9ucy9wYXNfbXRlX2FkZGl0aW9ucy5oPikKKyNpbmNs
dWRlIDxXZWJLaXRBZGRpdGlvbnMvcGFzX210ZV9hZGRpdGlvbnMuaD4KKyNlbmRpZiAvLyBfX2hh
c19pbmNsdWRlKDxXZWJLaXRBZGRpdGlvbnMvcGFzX210ZV9hZGRpdGlvbnMuaD4pCisjZW5kaWYg
Ly8gZGVmaW5lZChfX2hhc19pbmNsdWRlKQorCiAjaWZuZGVmIEJBU1NFUlRfRU5BQkxFRAogI2lm
ZGVmIE5ERUJVRwogI2RlZmluZSBCQVNTRVJUX0VOQUJMRUQgMApAQCAtMzQ0LDYgKzM1MCwxNyBA
QAogI2RlZmluZSBCRU5BQkxFX01BTExPQ19IRUFQX0JSRUFLRE9XTiAwCiAjZW5kaWYKIAorI2lm
IEJQTEFURk9STShDT0NPQSkKKy8qIFNob3VsZCBiZSBhbGlnbmVkIHdpdGggdGhlIGRlZmluaXRp
b24gaW4gV1RGL3d0Zi9QbGF0Zm9ybVVzZS5oICovCisjaWYgZGVmaW5lZCBfX2hhc19pbmNsdWRl
ICYmIF9faGFzX2luY2x1ZGUoPENvcmVGb3VuZGF0aW9uL0NGUHJpdi5oPikKKyNkZWZpbmUgQlVT
RV9BUFBMRV9JTlRFUk5BTF9TREsgMQorI2Vsc2UKKyNkZWZpbmUgQlVTRV9BUFBMRV9JTlRFUk5B
TF9TREsgMAorI2VuZGlmCisjZWxzZSAvLyBCUExBVEZPUk0oQ09DT0EpCisjZGVmaW5lIEJVU0Vf
QVBQTEVfSU5URVJOQUxfU0RLIDAKKyNlbmRpZiAvLyAhQlBMQVRGT1JNKENPQ09BKQorCiAvKiBU
aGlzIGlzIHVzZWQgZm9yIGRlYnVnZ2luZyB3aGVuIGhhY2tpbmcgb24gaG93IGJtYWxsb2MgY2Fs
Y3VsYXRlcyBpdHMgcGh5c2ljYWwgZm9vdHByaW50LiAqLwogI2RlZmluZSBFTkFCTEVfUEhZU0lD
QUxfUEFHRV9NQVAgMAogCkBAIC0zNjgsNiArMzg1LDE0IEBACiAjZW5kaWYKICNlbmRpZgogCisj
aWYgQlVTRV9MSUJQQVMKKyNpZm5kZWYgQkVOQUJMRV9NVEUKKyNkZWZpbmUgQkVOQUJMRV9NVEUg
KEJVU0UoQVBQTEVfSU5URVJOQUxfU0RLKSAmJiBCUExBVEZPUk0oSU9TX0ZBTUlMWSkpCisjZW5k
aWYgLy8gIWRlZmluZWQoQkVOQUJMRV9NVEUpCisjZWxzZSAvLyAhQlVTRV9MSUJQQVMKKyNkZWZp
bmUgQkVOQUJMRV9NVEUgMAorI2VuZGlmIC8vIEJVU0VfTElCUEFTCisKICNpZiAhZGVmaW5lZChC
VVNFX1BSRUNPTVBVVEVEX0NPTlNUQU5UU19WTVBBR0U0SykKICNkZWZpbmUgQlVTRV9QUkVDT01Q
VVRFRF9DT05TVEFOVFNfVk1QQUdFNEsgMQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1h
bGxvYy9ibWFsbG9jL0dpZ2FjYWdlLmNwcCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvR2lnYWNh
Z2UuY3BwCmluZGV4IDFlM2U2MTgyYWE3NS4uMmYyOTFkMTQ1YTM2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvYm1hbGxvYy9ibWFsbG9jL0dpZ2FjYWdlLmNwcAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFs
bG9jL0dpZ2FjYWdlLmNwcApAQCAtNDAsNiArNDAsNyBAQAogI2VuZGlmCiAKICNpZiBCVVNFKExJ
QlBBUykKKyNpbmNsdWRlICJwYXNfbXRlX2NvbmZpZy5oIgogI2luY2x1ZGUgImlzb19oZWFwLmgi
CiAjZW5kaWYKIApAQCAtMTc2LDYgKzE3NywyMCBAQCB2b2lkIGVuc3VyZUdpZ2FjYWdlKCkKICAg
ICAgICAgICAgIGdfZ2lnYWNhZ2VDb25maWcudG90YWxTaXplID0gdG90YWxTaXplOwogICAgICAg
ICAgICAgZ19naWdhY2FnZUNvbmZpZy5pc0VuYWJsZWQgPSB0cnVlOwogICAgICAgICAgICAgQlBS
T0ZJTEVfQUxMT0NBVElPTihJTklUSUFMX0dJR0FDQUdFLCB0b3RhbFNpemUpOworI2lmIEJFTkFC
TEUoTVRFKQorICAgICAgICAgICAgcGFzX210ZV9lbnN1cmVfaW5pdGlhbGl6ZWQoKTsKKyAgICAg
ICAgICAgIGlmIChCTUFMTE9DX1VTRV9NVEUpIHsKKyAgICAgICAgICAgICAgICBmb3IgKEtpbmQg
a2luZCA6IHNodWZmbGVkS2luZHMpIHsKKyAgICAgICAgICAgICAgICAgICAgdm9pZCogYmFzZSA9
IGdfZ2lnYWNhZ2VDb25maWcuYWxsb2NCYXNlUHRyKGtpbmQpOworICAgICAgICAgICAgICAgICAg
ICBzaXplX3Qgc2l6ZSA9IGdfZ2lnYWNhZ2VDb25maWcuYWxsb2NTaXplKGtpbmQpOworICAgICAg
ICAgICAgICAgICAgICBjb25zdCB2bV9pbmhlcml0X3QgY2hpbGRQcm9jZXNzSW5oZXJpdGFuY2Ug
PSBWTV9JTkhFUklUX0RFRkFVTFQ7CisgICAgICAgICAgICAgICAgICAgIGNvbnN0IGJvb2wgY29w
eSA9IGZhbHNlOworICAgICAgICAgICAgICAgICAgICBjb25zdCB2bV9wcm90X3QgcHJvdGVjdGlv
bnMgPSBWTV9QUk9UX1dSSVRFIHwgVk1fUFJPVF9SRUFEOworICAgICAgICAgICAgICAgICAgICBh
dXRvIGtlcm5SZXN1bHQgPSBtYWNoX3ZtX21hcChtYWNoX3Rhc2tfc2VsZigpLCAobWFjaF92bV9h
ZGRyZXNzX3QqKSZiYXNlLCBzaXplLCB2bVBhZ2VTaXplKCkgLSAxLCBWTV9GTEFHU19GSVhFRCB8
IFZNX0ZMQUdTX09WRVJXUklURSB8IChpbnQpVk1UYWc6OkpTR2lnYWNhZ2UsIE1FTU9SWV9PQkpF
Q1RfTlVMTCwgMCwgY29weSwgcHJvdGVjdGlvbnMsIHByb3RlY3Rpb25zLCBjaGlsZFByb2Nlc3NJ
bmhlcml0YW5jZSk7CisgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQkFTU0VSVChrZXJuUmVz
dWx0ID09IEtFUk5fU1VDQ0VTUyk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQor
I2VuZGlmIC8vIEJFTkFCTEUoTVRFKQogICAgICAgICB9KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL2JtYWxsb2MvYm1hbGxvYy9HaWdhY2FnZUNvbmZpZy5oIGIvU291cmNlL2JtYWxsb2MvYm1h
bGxvYy9HaWdhY2FnZUNvbmZpZy5oCmluZGV4IDc1ZmEwOWRjMjhkYy4uNjFkMmNiYWZlNmE4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0dpZ2FjYWdlQ29uZmlnLmgKKysrIGIv
U291cmNlL2JtYWxsb2MvYm1hbGxvYy9HaWdhY2FnZUNvbmZpZy5oCkBAIC05OCw4ICs5OCw4IEBA
IHN0cnVjdCBDb25maWcgewogICAgIHNpemVfdCBhbGxvY1NpemVzW3N0YXRpY19jYXN0PHNpemVf
dD4oTnVtYmVyT2ZLaW5kcyldOwogfTsKIAotLy8gVGhlIGZpcnN0IDQgc2xvdHMgYXJlIHJlc2Vy
dmVkIGZvciB0aGUgdXNlIG9mIHRoZSBFeGVjdXRhYmxlQWxsb2NhdG9yLgotY29uc3RleHByIHNp
emVfdCBzdGFydFNsb3RPZkdpZ2FjYWdlQ29uZmlnID0gNDsKKy8vIFRoZSBmaXJzdCA2IHNsb3Rz
IGFyZSByZXNlcnZlZCBmb3IgdXNlIGJ5IHN5c3RlbSBhbGxvY2F0b3JzCitjb25zdGV4cHIgc2l6
ZV90IHN0YXJ0U2xvdE9mR2lnYWNhZ2VDb25maWcgPSA2OwogY29uc3RleHByIHNpemVfdCBzdGFy
dE9mZnNldE9mR2lnYWNhZ2VDb25maWcgPSBzdGFydFNsb3RPZkdpZ2FjYWdlQ29uZmlnICogc2l6
ZW9mKFdlYkNvbmZpZzo6U2xvdCk7CiAKIGNvbnN0ZXhwciBzaXplX3QgcmVzZXJ2ZWRTbG90c0Zv
ckdpZ2FjYWdlQ29uZmlnID0gMTY7CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9j
L1N5c3RlbUhlYXAuY3BwIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9TeXN0ZW1IZWFwLmNwcApp
bmRleCA5MGUzNWZjNjU2YjEuLmMwMzhkNGZjNTI3NCAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxs
b2MvYm1hbGxvYy9TeXN0ZW1IZWFwLmNwcAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1N5
c3RlbUhlYXAuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSA8dGhyZWFkPgogCiAjaWYg
QkVOQUJMRShMSUJQQVMpCisjaW5jbHVkZSAicGFzX210ZS5oIgogI2luY2x1ZGUgInBhc19zeXN0
ZW1faGVhcC5oIgogI2VuZGlmCiAKQEAgLTI3Myw2ICsyNzQsNyBAQCB2b2lkKiBwYXNfc3lzdGVt
X2hlYXBfbWFsbG9jKHNpemVfdCBzaXplKQogewogICAgIGF1dG8gc3lzdGVtSGVhcCA9IFN5c3Rl
bUhlYXA6OmdldEV4aXN0aW5nKCk7CiAgICAgUEFTX1BST0ZJTEUoU1lTVEVNX0hFQVBfQUxMT0NB
VElPTiwgc3lzdGVtSGVhcCwgc2l6ZSwgMCwgcGFzX25vbl9jb21wYWN0X2FsbG9jYXRpb25fbW9k
ZSk7CisgICAgUEFTX01URV9IQU5ETEUoU1lTVEVNX0hFQVBfQUxMT0NBVElPTiwgc3lzdGVtSGVh
cCwgc2l6ZSwgMCwgcGFzX25vbl9jb21wYWN0X2FsbG9jYXRpb25fbW9kZSk7CiAgICAgcmV0dXJu
IHN5c3RlbUhlYXAtPm1hbGxvYyhzaXplLCBGYWlsdXJlQWN0aW9uOjpSZXR1cm5OdWxsKTsKIH0K
IApAQCAtMjgwLDYgKzI4Miw3IEBAIHZvaWQqIHBhc19zeXN0ZW1faGVhcF9tZW1hbGlnbihzaXpl
X3QgYWxpZ25tZW50LCBzaXplX3Qgc2l6ZSkKIHsKICAgICBhdXRvIHN5c3RlbUhlYXAgPSBTeXN0
ZW1IZWFwOjpnZXRFeGlzdGluZygpOwogICAgIFBBU19QUk9GSUxFKFNZU1RFTV9IRUFQX0FMTE9D
QVRJT04sIHN5c3RlbUhlYXAsIHNpemUsIGFsaWdubWVudCwgcGFzX25vbl9jb21wYWN0X2FsbG9j
YXRpb25fbW9kZSk7CisgICAgUEFTX01URV9IQU5ETEUoU1lTVEVNX0hFQVBfQUxMT0NBVElPTiwg
c3lzdGVtSGVhcCwgc2l6ZSwgYWxpZ25tZW50LCBwYXNfbm9uX2NvbXBhY3RfYWxsb2NhdGlvbl9t
b2RlKTsKICAgICByZXR1cm4gc3lzdGVtSGVhcC0+bWVtYWxpZ24oYWxpZ25tZW50LCBzaXplLCBG
YWlsdXJlQWN0aW9uOjpSZXR1cm5OdWxsKTsKIH0KIApAQCAtMjg3LDYgKzI5MCw3IEBAIHZvaWQq
IHBhc19zeXN0ZW1faGVhcF9yZWFsbG9jKHZvaWQqIHB0ciwgc2l6ZV90IHNpemUpCiB7CiAgICAg
YXV0byBzeXN0ZW1IZWFwID0gU3lzdGVtSGVhcDo6Z2V0RXhpc3RpbmcoKTsKICAgICBQQVNfUFJP
RklMRShTWVNURU1fSEVBUF9SRUFMTE9DQVRJT04sIHN5c3RlbUhlYXAsIHB0ciwgc2l6ZSwgcGFz
X25vbl9jb21wYWN0X2FsbG9jYXRpb25fbW9kZSk7CisgICAgUEFTX01URV9IQU5ETEUoU1lTVEVN
X0hFQVBfUkVBTExPQ0FUSU9OLCBzeXN0ZW1IZWFwLCBwdHIsIHNpemUsIHBhc19ub25fY29tcGFj
dF9hbGxvY2F0aW9uX21vZGUpOwogICAgIHJldHVybiBzeXN0ZW1IZWFwLT5yZWFsbG9jKHB0ciwg
c2l6ZSwgRmFpbHVyZUFjdGlvbjo6UmV0dXJuTnVsbCk7CiB9CiAKQEAgLTI5NCw2ICsyOTgsNyBA
QCB2b2lkKiBwYXNfc3lzdGVtX2hlYXBfbWFsbG9jX2NvbXBhY3Qoc2l6ZV90IHNpemUpCiB7CiAg
ICAgYXV0byBzeXN0ZW1IZWFwID0gU3lzdGVtSGVhcDo6Z2V0RXhpc3RpbmcoKTsKICAgICBQQVNf
UFJPRklMRShTWVNURU1fSEVBUF9BTExPQ0FUSU9OLCBzeXN0ZW1IZWFwLCBzaXplLCAwLCBwYXNf
YWx3YXlzX2NvbXBhY3RfYWxsb2NhdGlvbl9tb2RlKTsKKyAgICBQQVNfTVRFX0hBTkRMRShTWVNU
RU1fSEVBUF9BTExPQ0FUSU9OLCBzeXN0ZW1IZWFwLCBzaXplLCAwLCBwYXNfYWx3YXlzX2NvbXBh
Y3RfYWxsb2NhdGlvbl9tb2RlKTsKICAgICByZXR1cm4gc3lzdGVtSGVhcC0+bWFsbG9jKHNpemUs
IEZhaWx1cmVBY3Rpb246OlJldHVybk51bGwpOwogfQogCkBAIC0zMDEsNiArMzA2LDcgQEAgdm9p
ZCogcGFzX3N5c3RlbV9oZWFwX21lbWFsaWduX2NvbXBhY3Qoc2l6ZV90IGFsaWdubWVudCwgc2l6
ZV90IHNpemUpCiB7CiAgICAgYXV0byBzeXN0ZW1IZWFwID0gU3lzdGVtSGVhcDo6Z2V0RXhpc3Rp
bmcoKTsKICAgICBQQVNfUFJPRklMRShTWVNURU1fSEVBUF9BTExPQ0FUSU9OLCBzeXN0ZW1IZWFw
LCBzaXplLCBhbGlnbm1lbnQsIHBhc19hbHdheXNfY29tcGFjdF9hbGxvY2F0aW9uX21vZGUpOwor
ICAgIFBBU19NVEVfSEFORExFKFNZU1RFTV9IRUFQX0FMTE9DQVRJT04sIHN5c3RlbUhlYXAsIHNp
emUsIGFsaWdubWVudCwgcGFzX2Fsd2F5c19jb21wYWN0X2FsbG9jYXRpb25fbW9kZSk7CiAgICAg
cmV0dXJuIHN5c3RlbUhlYXAtPm1lbWFsaWduKGFsaWdubWVudCwgc2l6ZSwgRmFpbHVyZUFjdGlv
bjo6UmV0dXJuTnVsbCk7CiB9CiAKQEAgLTMwOCw2ICszMTQsNyBAQCB2b2lkKiBwYXNfc3lzdGVt
X2hlYXBfcmVhbGxvY19jb21wYWN0KHZvaWQqIHB0ciwgc2l6ZV90IHNpemUpCiB7CiAgICAgYXV0
byBzeXN0ZW1IZWFwID0gU3lzdGVtSGVhcDo6Z2V0RXhpc3RpbmcoKTsKICAgICBQQVNfUFJPRklM
RShTWVNURU1fSEVBUF9SRUFMTE9DQVRJT04sIHN5c3RlbUhlYXAsIHB0ciwgc2l6ZSwgcGFzX2Fs
d2F5c19jb21wYWN0X2FsbG9jYXRpb25fbW9kZSk7CisgICAgUEFTX01URV9IQU5ETEUoU1lTVEVN
X0hFQVBfUkVBTExPQ0FUSU9OLCBzeXN0ZW1IZWFwLCBwdHIsIHNpemUsIHBhc19hbHdheXNfY29t
cGFjdF9hbGxvY2F0aW9uX21vZGUpOwogICAgIHJldHVybiBzeXN0ZW1IZWFwLT5yZWFsbG9jKHB0
ciwgc2l6ZSwgRmFpbHVyZUFjdGlvbjo6UmV0dXJuTnVsbCk7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9ibWFsbG9jL2JtYWxsb2MvVk1BbGxvY2F0ZS5jcHAgYi9Tb3VyY2UvYm1hbGxvYy9ibWFs
bG9jL1ZNQWxsb2NhdGUuY3BwCmluZGV4IDFiYzY0MWI3MWI4Ni4uZDgzOGVkOWY1MDkxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZNQWxsb2NhdGUuY3BwCisrKyBiL1NvdXJj
ZS9ibWFsbG9jL2JtYWxsb2MvVk1BbGxvY2F0ZS5jcHAKQEAgLTI1LDYgKzI1LDEwIEBACiAKICNp
bmNsdWRlICJWTUFsbG9jYXRlLmgiCiAKKyNpZiBCVVNFKExJQlBBUykKKyNpbmNsdWRlICJwYXNf
bXRlX2NvbmZpZy5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBibWFsbG9jIHsKIAogI2lmIEJNQUxM
T0NfVVNFX01BRFZfWkVSTwpAQCAtNTYsNCArNjAsMzQgQEAgYm9vbCBpc01hZHZaZXJvU3VwcG9y
dGVkKCkKIH0KICNlbmRpZgogCisjaWYgQkVOQUJMRShNVEUpICYmIEJPUyhEQVJXSU4pCitib29s
IHRyeVZtWmVyb0FuZFB1cmdlTVRFQ2FzZSh2b2lkKiBwLCBzaXplX3Qgdm1TaXplLCBWTVRhZyB1
c2FnZSkKK3sKKyAgICBpZiAoIUJNQUxMT0NfVVNFX01URSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIGNvbnN0IHZtX2luaGVyaXRfdCBjaGlsZFByb2Nlc3NJbmhlcml0YW5jZSA9IFZNX0lO
SEVSSVRfREVGQVVMVDsKKyAgICBjb25zdCBib29sIGNvcHkgPSBmYWxzZTsKKyAgICBjb25zdCBp
bnQgdGFnID0gc3RhdGljX2Nhc3Q8aW50Pih1c2FnZSk7CisgICAgLyogV2Ugd291bGQgbXVjaCBw
cmVmZXIgdG8gdXNlIG1hY2hfdm1fYmVoYXZpb3Jfc2V0IGhlcmUsIGFzIGl0CisgICAgICAgYWx3
YXlzIHByZXNlcnZlcyB0aGUgcGFnZSdzIGN1cnJlbnQgVk0gZmxhZ3MuIEhvd2V2ZXIsIGl0J3MK
KyAgICAgICBjdXJyZW50bHkgYmxvY2tlZCBieSBhbiB1bmtub3duIHNlY3VyaXR5IHBvbGljeSwg
c28gdW50aWwgdGhhdAorICAgICAgIGJsb2NrZXIgaXMgcmVzb2x2ZWQgd2UgY2FuIHVzZSB0aGlz
IGluc3RlYWQgd2l0aG91dCBtdWNoIGxvc3MuICovCisgICAga2Vybl9yZXR1cm5fdCB2bU1hcFJl
c3VsdCA9IG1hY2hfdm1fbWFwKG1hY2hfdGFza19zZWxmKCksCisgICAgICAgIChtYWNoX3ZtX2Fk
ZHJlc3NfdCopJnAsCisgICAgICAgIHZtU2l6ZSwKKyAgICAgICAgMCwKKyAgICAgICAgVk1fRkxB
R1NfRklYRUQgfCBWTV9GTEFHU19PVkVSV1JJVEUgfCBCTUFMTE9DX1ZNX01URSB8IHRhZywKKyAg
ICAgICAgTUVNT1JZX09CSkVDVF9OVUxMLAorICAgICAgICAwLAorICAgICAgICBjb3B5LAorICAg
ICAgICBWTV9QUk9UX0RFRkFVTFQsCisgICAgICAgIFZNX1BST1RfQUxMLAorICAgICAgICBjaGls
ZFByb2Nlc3NJbmhlcml0YW5jZSk7CisgICAgaWYgKHZtTWFwUmVzdWx0ICE9IEtFUk5fU1VDQ0VT
UykKKyAgICAgICAgZXJybm8gPSAwOworICAgIFJFTEVBU0VfQkFTU0VSVCh2bU1hcFJlc3VsdCA9
PSBLRVJOX1NVQ0NFU1MpOworICAgIHJldHVybiB0cnVlOworfQorI2VuZGlmIC8vIEJFTkFCTEUo
TVRFKSAmJiBCT1MoREFSV0lOKQorCiB9IC8vIG5hbWVzcGFjZSBibWFsbG9jCmRpZmYgLS1naXQg
YS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZNQWxsb2NhdGUuaCBiL1NvdXJjZS9ibWFsbG9jL2Jt
YWxsb2MvVk1BbGxvY2F0ZS5oCmluZGV4IGVlZTkxMDZkNTZiMC4uZTBlMzZlMjFiZDZmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZNQWxsb2NhdGUuaAorKysgYi9Tb3VyY2Uv
Ym1hbGxvYy9ibWFsbG9jL1ZNQWxsb2NhdGUuaApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUg
IlJhbmdlLmgiCiAjaW5jbHVkZSAiU2l6ZXMuaCIKICNpbmNsdWRlIDxhbGdvcml0aG0+CisjaW5j
bHVkZSA8Y3N0ZGRlZj4KIAogI2lmIEJPUyhXSU5ET1dTKQogI2luY2x1ZGUgPHdpbmRvd3MuaD4K
QEAgLTQzLDYgKzQ0LDcgQEAKICNlbmRpZgogCiAjaWYgQk9TKERBUldJTikKKyNpbmNsdWRlIDxt
YWNoL21hY2guaD4KICNpbmNsdWRlIDxtYWNoL3ZtX3BhZ2Vfc2l6ZS5oPgogI2VuZGlmCiAKQEAg
LTI2Myw2ICsyNjUsMTAgQEAgaW5saW5lIHZvaWQgdm1SZXZva2VQZXJtaXNzaW9ucyh2b2lkKiBw
LCBzaXplX3Qgdm1TaXplKQogICAgIG1wcm90ZWN0KHAsIHZtU2l6ZSwgUFJPVF9OT05FKTsKIH0K
IAorI2lmIEJFTkFCTEUoTVRFKSAmJiBCT1MoREFSV0lOKQorYm9vbCB0cnlWbVplcm9BbmRQdXJn
ZU1URUNhc2Uodm9pZCogcCwgc2l6ZV90IHZtU2l6ZSwgVk1UYWcgdXNhZ2UpOworI2VuZGlmIC8v
IEJFTkFCTEUoTVRFKSAmJiBCT1MoREFSV0lOKQorCiBpbmxpbmUgdm9pZCB2bVplcm9BbmRQdXJn
ZSh2b2lkKiBwLCBzaXplX3Qgdm1TaXplLCBWTVRhZyB1c2FnZSkKIHsKICAgICB2bVZhbGlkYXRl
KHAsIHZtU2l6ZSk7CkBAIC0yNzYsNiArMjgyLDEwIEBAIGlubGluZSB2b2lkIHZtWmVyb0FuZFB1
cmdlKHZvaWQqIHAsIHNpemVfdCB2bVNpemUsIFZNVGFnIHVzYWdlKQogICAgIH0KICNlbmRpZgog
ICAgIEJQUk9GSUxFX1pFUk9fRklMTF9QQUdFKHAsIHZtU2l6ZSwgZmxhZ3MsIHRhZyk7CisjaWYg
QkVOQUJMRShNVEUpICYmIEJPUyhEQVJXSU4pCisgICAgaWYgKHRyeVZtWmVyb0FuZFB1cmdlTVRF
Q2FzZShwLCB2bVNpemUsIHVzYWdlKSkKKyAgICAgICAgcmV0dXJuOworI2VuZGlmIC8vIEJFTkFC
TEUoTVRFKSAmJiBCT1MoREFSV0lOKQogICAgIC8vIE1BUF9BTk9OIGd1YXJhbnRlZXMgdGhlIG1l
bW9yeSBpcyB6ZXJvZWQuIFRoaXMgd2lsbCBhbHNvIGNhdXNlCiAgICAgLy8gcGFnZSBmYXVsdHMg
b24gYWNjZXNzZXMgdG8gdGhpcyByYW5nZSBmb2xsb3dpbmcgdGhpcyBjYWxsLgogICAgIHZvaWQq
IHJlc3VsdCA9IG1tYXAocCwgdm1TaXplLCBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFLCBmbGFncywg
dGFnLCAwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9saWJwYXMueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9saWJwYXMueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBhOTAwZDI5ZjBlMWIuLjdiOGIzZWMwNmExNyAxMDA2
NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvbGlicGFzL2xpYnBhcy54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9saWJwYXMueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtMzYwLDYgKzM2MCwxMSBAQAogCQkwRkM0RUMzQjIzNEE5MUUzMDBCNzEw
QTMgLyogcGFzX3N0YXR1c19yZXBvcnRlci5jIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEZDNEVDMzIyMzRBOTFFMjAwQjcxMEEzIC8qIHBhc19zdGF0dXNf
cmVwb3J0ZXIuYyAqLzsgfTsKIAkJMEZDNEVDM0MyMzRBOTFFMzAwQjcxMEEzIC8qIHBhc19zdHJp
bmdfc3RyZWFtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRkM0RUMzMzIzNEE5MUUyMDBCNzEwQTMgLyogcGFzX3N0cmluZ19zdHJlYW0uaCAqLzsgfTsK
IAkJMEZDNEVDM0QyMzRBOTFFMzAwQjcxMEEzIC8qIHBhc19zdGF0dXNfcmVwb3J0ZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQzRFQzM0MjM0QTkx
RTIwMEI3MTBBMyAvKiBwYXNfc3RhdHVzX3JlcG9ydGVyLmggKi87IH07CisJCTBGOTk5OTlDMjZB
QUFBMDAwMDIxMjEyMSAvKiBwYXNfbXRlLmMgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRjk5OTk5QTI2QUFBQTAwMDAyMTIxMjEgLyogcGFzX210ZS5jICov
OyB9OworCQkwRjk5OTk5RDI2QUFBQTAwMDAyMTIxMjEgLyogcGFzX210ZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY5OTk5OUIyNkFBQUEwMDAwMjEy
MTIxIC8qIHBhc19tdGUuaCAqLzsgfTsKKwkJMEY5OTk5OUMyNkFBQUEwMDAwMjEzMTIxIC8qIHBh
c19tdGVfY29uZmlnLmMgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwRjk5OTk5QTI2QUFBQTAwMDAyMTMxMjEgLyogcGFzX210ZV9jb25maWcuYyAqLzsgfTsK
KwkJMEY5OTk5OUQyNkFBQUEwMDAwMjEzMTIxIC8qIHBhc19tdGVfY29uZmlnLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjk5OTk5QjI2QUFBQTAwMDAy
MTMxMjEgLyogcGFzX210ZV9jb25maWcuaCAqLzsgfTsKKwkJMEY5OTk5OUQyNkFBQUEwMDAwMTEx
MTExIC8qIHBhc19tdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGOTk5OTlCMjZBQUFBMDAwMDExMTExMSAvKiBwYXNfemVyb19tZW1vcnkuaCAqLzsg
fTsKIAkJMEZDNEVDM0UyMzRBOTFFMzAwQjcxMEEzIC8qIHBhc19jb21wdXRlX3N1bW1hcnlfb2Jq
ZWN0X2NhbGxiYWNrcy5jIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEZDNEVDMzUyMzRBOTFFMzAwQjcxMEEzIC8qIHBhc19jb21wdXRlX3N1bW1hcnlfb2Jq
ZWN0X2NhbGxiYWNrcy5jICovOyB9OwogCQkwRkM0RUMzRjIzNEE5MUUzMDBCNzEwQTMgLyogcGFz
X2ZkX3N0cmVhbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZDNEVDMzYyMzRBOTFFMzAwQjcxMEEzIC8qIHBhc19mZF9zdHJlYW0uaCAqLzsgfTsKIAkJ
MEZDNEVDNzkyMzUxNzA3QjAwQjcxMEEzIC8qIHBhc19zZWdyZWdhdGVkX3BhZ2VfZW1wdGluZXNz
X2tpbmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
QzRFQzc4MjM1MTcwN0IwMEI3MTBBMyAvKiBwYXNfc2VncmVnYXRlZF9wYWdlX2VtcHRpbmVzc19r
aW5kLmggKi87IH07CkBAIC0xMDcyLDYgKzEwNzcsMTEgQEAKIAkJMEZDNEVDMzIyMzRBOTFFMjAw
QjcxMEEzIC8qIHBhc19zdGF0dXNfcmVwb3J0ZXIuYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5j
OyBwYXRoID0gcGFzX3N0YXR1c19yZXBvcnRlci5jOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkwRkM0RUMzMzIzNEE5MUUyMDBCNzEwQTMgLyogcGFzX3N0cmluZ19zdHJlYW0uaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gcGFzX3N0cmluZ19zdHJlYW0uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZDNEVDMzQyMzRBOTFFMjAwQjcxMEEzIC8qIHBhc19z
dGF0dXNfcmVwb3J0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gcGFzX3N0
YXR1c19yZXBvcnRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjk5OTk5QTI2
QUFBQTAwMDAyMTIxMjEgLyogcGFzX210ZS5jICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmM7IHBh
dGggPSBwYXNfbXRlLmM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGOTk5OTlCMjZB
QUFBMDAwMDIxMjEyMSAvKiBwYXNfbXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IHBhc19tdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY5OTk5OUEyNkFB
QUEwMDAwMjEzMTIxIC8qIHBhc19tdGVfY29uZmlnLmMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
YzsgcGF0aCA9IHBhc19tdGVfY29uZmlnLmM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGOTk5OTlCMjZBQUFBMDAwMDIxMzEyMSAvKiBwYXNfbXRlX2NvbmZpZy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBwYXNfbXRlX2NvbmZpZy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkwRjk5OTk5QjI2QUFBQTAwMDAxMTExMTEgLyogcGFzX3plcm9fbWVtb3J5
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IHBhc196ZXJvX21lbW9yeS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkM0RUMzNTIzNEE5MUUzMDBCNzEwQTMgLyog
cGFzX2NvbXB1dGVfc3VtbWFyeV9vYmplY3RfY2FsbGJhY2tzLmMgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuYzsgcGF0aCA9IHBhc19jb21wdXRlX3N1bW1hcnlfb2JqZWN0X2NhbGxiYWNrcy5jOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkM0RUMzNjIzNEE5MUUzMDBCNzEwQTMgLyog
cGFzX2ZkX3N0cmVhbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBwYXNfZmRf
c3RyZWFtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQzRFQzc4MjM1MTcwN0Iw
MEI3MTBBMyAvKiBwYXNfc2VncmVnYXRlZF9wYWdlX2VtcHRpbmVzc19raW5kLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IHBhc19zZWdyZWdhdGVkX3BhZ2VfZW1wdGluZXNzX2tp
bmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3ODgsNiArMTc5OCwxMCBAQAog
CQkJCTJDNDczMTRGMjc3QTU0MEYwMEI2MkM0OSAvKiBwYXNfbW1hcF9jYXBhYmlsaXR5LmggKi8s
CiAJCQkJMEZENDhCMTAyM0E5QUJCMTAwMjZDNDZEIC8qIHBhc19tb25vdG9uaWNfdGltZS5jICov
LAogCQkJCTBGRDQ4QUZEMjNBOUFCQjAwMDI2QzQ2RCAvKiBwYXNfbW9ub3RvbmljX3RpbWUuaCAq
LywKKwkJCQkwRjk5OTk5QTI2QUFBQTAwMDAyMTIxMjEgLyogcGFzX210ZS5jICovLAorCQkJCTBG
OTk5OTlCMjZBQUFBMDAwMDIxMjEyMSAvKiBwYXNfbXRlLmggKi8sCisJCQkJMEY5OTk5OUEyNkFB
QUEwMDAwMjEzMTIxIC8qIHBhc19tdGVfY29uZmlnLmMgKi8sCisJCQkJMEY5OTk5OUIyNkFBQUEw
MDAwMjEzMTIxIC8qIHBhc19tdGVfY29uZmlnLmggKi8sCiAJCQkJMEYwOTIyNjkyMkIwN0MyMTAw
N0Q1RDNBIC8qIHBhc19tdXRhdGlvbl9jb3VudC5oICovLAogCQkJCTBGOUExRDRBMjU1RjJDRDcw
MEM4RDExQiAvKiBwYXNfb2JqZWN0X2tpbmQuaCAqLywKIAkJCQkwRjlBMUNCQTI1NTk5NjE0MDBD
OEQxMUIgLyogcGFzX3BhZ2VfYmFzZS5jICovLApAQCAtMTk3MSw2ICsxOTg1LDcgQEAKIAkJCQkw
Rjc4MDg4MzIyRkEyMkQyMDBGMzc0NTEgLyogcGFzX3ZpcnR1YWxfcmFuZ2UuYyAqLywKIAkJCQkw
Rjc4MDg4MjIyRkEyMkQxMDBGMzc0NTEgLyogcGFzX3ZpcnR1YWxfcmFuZ2UuaCAqLywKIAkJCQkw
Rjc4MDg4ODIyRkE1MzQxMDBGMzc0NTEgLyogcGFzX3ZpcnR1YWxfcmFuZ2VfbWluX2hlYXAuaCAq
LywKKwkJCQkwRjk5OTk5QjI2QUFBQTAwMDAxMTExMTEgLyogcGFzX3plcm9fbWVtb3J5LmggKi8s
CiAJCQkJMEZERUE0NkQyMjhCNjU0MzAwODVFMzQwIC8qIHBhc196ZXJvX21vZGUuaCAqLywKIAkJ
CQkwRjg3MDBBMjI1QjBBOEMyMDAwRTFBQkYgLyogdGhpbmd5X2hlYXAuYyAqLywKIAkJCQkwRjg3
MDBBMzI1QjBBOEMyMDAwRTFBQkYgLyogdGhpbmd5X2hlYXAuaCAqLywKQEAgLTIzMDAsNiArMjMx
NSw4IEBACiAJCQkJMEZEMjJDRkMyMkNBRjE2NDAwQjIxODQxIC8qIHBhc19taW5faGVhcC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMkM0NzMxNTIyNzdBNTQwRjAwQjYyQzQ5IC8qIHBhc19tbWFwX2Nh
cGFiaWxpdHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRDQ4QjM4MjNBOUFCQjMwMDI2QzQ2RCAv
KiBwYXNfbW9ub3RvbmljX3RpbWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGOTk5OTlEMjZBQUFB
MDAwMDIxMjEyMSAvKiBwYXNfbXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjk5OTk5RDI2QUFB
QTAwMDAyMTMxMjEgLyogcGFzX210ZV9jb25maWcuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMDky
MjZBMjJCMDdDMjEwMDdENUQzQSAvKiBwYXNfbXV0YXRpb25fY291bnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCTBGOUExRDRDMjU1RjJDRDcwMEM4RDExQiAvKiBwYXNfb2JqZWN0X2tpbmQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTBGOUExRDA1MjU1OTk2MTcwMEM4RDExQiAvKiBwYXNfcGFnZV9iYXNl
LmggaW4gSGVhZGVycyAqLywKQEAgLTI0MjcsNiArMjQ0NCw3IEBACiAJCQkJMEY2ODEyNzAyMkJE
NDE5RTAwMzZBMDJCIC8qIHBhc192ZXJzaW9uZWRfZmllbGQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTBGNzgwODg0MjJGQTIyRDIwMEYzNzQ1MSAvKiBwYXNfdmlydHVhbF9yYW5nZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMEY3ODA4OEUyMkZBNTM0MTAwRjM3NDUxIC8qIHBhc192aXJ0dWFsX3Jhbmdl
X21pbl9oZWFwLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjk5OTk5RDI2QUFBQTAwMDAxMTExMTEg
LyogcGFzX3plcm9fbWVtb3J5LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkU3RUUzQjIyOTYwMTQy
MDA0RjQxNjYgLyogcGFzX3plcm9fbW9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY4NzAwQTgy
NUIwQThDMjAwMEUxQUJGIC8qIHRoaW5neV9oZWFwLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjg3
MDBBQTI1QjBBOEMzMDAwRTFBQkYgLyogdGhpbmd5X2hlYXBfY29uZmlnLmggaW4gSGVhZGVycyAq
LywKQEAgLTI4MjYsNiArMjg0NCw4IEBACiAJCQkJMEYwMzdBRjMyNUFFQTkxQTAwNzlCNTgyIC8q
IHBhc19tZWRpdW1fbWVnYXBhZ2VfY2FjaGUuYyBpbiBTb3VyY2VzICovLAogCQkJCTBGRTdFREM4
MjI5NjAxNDIwMDRGNDE2NiAvKiBwYXNfbWVnYXBhZ2VfY2FjaGUuYyBpbiBTb3VyY2VzICovLAog
CQkJCTBGRDQ4QjRCMjNBOUFCQjMwMDI2QzQ2RCAvKiBwYXNfbW9ub3RvbmljX3RpbWUuYyBpbiBT
b3VyY2VzICovLAorCQkJCTBGOTk5OTlDMjZBQUFBMDAwMDIxMjEyMSAvKiBwYXNfbXRlLmMgaW4g
U291cmNlcyAqLywKKwkJCQkwRjk5OTk5QzI2QUFBQTAwMDAyMTMxMjEgLyogcGFzX210ZV9jb25m
aWcuYyBpbiBTb3VyY2VzICovLAogCQkJCTBGOUExRDA2MjU1OTk2MTcwMEM4RDExQiAvKiBwYXNf
cGFnZV9iYXNlLmMgaW4gU291cmNlcyAqLywKIAkJCQkyQzM0MDAwMjI3NTgxNjg3MDA1NTY1Q0Ig
LyogcGFzX3BhZ2VfYmFzZV9jb25maWcuYyBpbiBTb3VyY2VzICovLAogCQkJCTBGOUExQ0YyMjU1
OTk2MTcwMEM4RDExQiAvKiBwYXNfcGFnZV9oZWFkZXJfdGFibGUuYyBpbiBTb3VyY2VzICovLApk
aWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvaml0X2hlYXBfY29u
ZmlnLmMgYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9qaXRfaGVhcF9jb25maWcu
YwppbmRleCBlNWI3YmUyZjE0OGYuLjQxZDRiNjU2NTQ4NyAxMDA2NDQKLS0tIGEvU291cmNlL2Jt
YWxsb2MvbGlicGFzL3NyYy9saWJwYXMvaml0X2hlYXBfY29uZmlnLmMKKysrIGIvU291cmNlL2Jt
YWxsb2MvbGlicGFzL3NyYy9saWJwYXMvaml0X2hlYXBfY29uZmlnLmMKQEAgLTM5LDYgKzM5LDcg
QEAKICNpbmNsdWRlICJwYXNfcm9vdC5oIgogI2luY2x1ZGUgInBhc19zZWdyZWdhdGVkX3BhZ2Vf
Y29uZmlnX2lubGluZXMuaCIKICNpbmNsdWRlICJwYXNfc3RyZWFtLmgiCisjaW5jbHVkZSAicGFz
X3plcm9fbWVtb3J5LmgiCiAKICNpZiBkZWZpbmVkKFBBU19CTUFMTE9DKQogI2luY2x1ZGUgIkJQ
bGF0Zm9ybS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMv
aml0X2hlYXBfY29uZmlnLmggYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9qaXRf
aGVhcF9jb25maWcuaAppbmRleCAwNjdhNWY2NDQ3MjUuLjI1YjMwNDIzZjM1MyAxMDA2NDQKLS0t
IGEvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvaml0X2hlYXBfY29uZmlnLmgKKysr
IGIvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvaml0X2hlYXBfY29uZmlnLmgKQEAg
LTEzMSw2ICsxMzEsNyBAQCBQQVNfSEVBUF9DT05GSUdfU1BFQ0lBTElaQVRJT05fREVDTEFSQVRJ
T05TKGppdF9oZWFwX2NvbmZpZyk7CiAgICAgICAgIC5iYXNlID0geyBcCiAgICAgICAgICAgICAu
aXNfZW5hYmxlZCA9IHRydWUsIFwKICAgICAgICAgICAgIC5hbGxvd19wcm9maWxpbmcgPSBmYWxz
ZSwgXAorICAgICAgICAgICAgLmFsbG93X210ZV90YWdnaW5nID0gZmFsc2UsIFwKICAgICAgICAg
ICAgIC5oZWFwX2NvbmZpZ19wdHIgPSAmaml0X2hlYXBfY29uZmlnLCBcCiAgICAgICAgICAgICAu
cGFnZV9jb25maWdfcHRyID0gJmppdF9oZWFwX2NvbmZpZy52YXJpYW50X2xvd2VyY2FzZSAjIyBf
Yml0Zml0X2NvbmZpZy5iYXNlLCBcCiAgICAgICAgICAgICAucGFnZV9jb25maWdfa2luZCA9IHBh
c19wYWdlX2NvbmZpZ19raW5kX2JpdGZpdCwgXApAQCAtMTY2LDYgKzE2Nyw3IEBAIFBBU19IRUFQ
X0NPTkZJR19TUEVDSUFMSVpBVElPTl9ERUNMQVJBVElPTlMoaml0X2hlYXBfY29uZmlnKTsKICAg
ICAgICAgICAgIC5iYXNlID0geyBcCiAgICAgICAgICAgICAgICAgLmlzX2VuYWJsZWQgPSB0cnVl
LCBcCiAgICAgICAgICAgICAgICAgLmFsbG93X3Byb2ZpbGluZyA9IGZhbHNlLCBcCisgICAgICAg
ICAgICAgICAgLmFsbG93X210ZV90YWdnaW5nID0gZmFsc2UsIFwKICAgICAgICAgICAgICAgICAu
aGVhcF9jb25maWdfcHRyID0gJmppdF9oZWFwX2NvbmZpZywgXAogICAgICAgICAgICAgICAgIC5w
YWdlX2NvbmZpZ19wdHIgPSAmaml0X2hlYXBfY29uZmlnLnNtYWxsX3NlZ3JlZ2F0ZWRfY29uZmln
LmJhc2UsIFwKICAgICAgICAgICAgICAgICAucGFnZV9jb25maWdfa2luZCA9IHBhc19wYWdlX2Nv
bmZpZ19raW5kX3NlZ3JlZ2F0ZWQsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2xpYnBh
cy9zcmMvbGlicGFzL3Bhc19hbGxvY2F0aW9uX3Jlc3VsdC5jIGIvU291cmNlL2JtYWxsb2MvbGli
cGFzL3NyYy9saWJwYXMvcGFzX2FsbG9jYXRpb25fcmVzdWx0LmMKaW5kZXggM2VkZTk2MjIzZmVh
Li42M2VmYzU4NmEzMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGli
cGFzL3Bhc19hbGxvY2F0aW9uX3Jlc3VsdC5jCisrKyBiL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9z
cmMvbGlicGFzL3Bhc19hbGxvY2F0aW9uX3Jlc3VsdC5jCkBAIC0yOCwxMyArMjgsMTYgQEAKICNp
ZiBMSUJQQVNfRU5BQkxFRAogCiAjaW5jbHVkZSAicGFzX2FsbG9jYXRpb25fcmVzdWx0LmgiCisj
aW5jbHVkZSAicGFzX210ZS5oIgogI2luY2x1ZGUgInBhc19wYWdlX21hbGxvYy5oIgorI2luY2x1
ZGUgInBhc196ZXJvX21lbW9yeS5oIgogCiBwYXNfYWxsb2NhdGlvbl9yZXN1bHQgcGFzX2FsbG9j
YXRpb25fcmVzdWx0X3plcm9fbGFyZ2Vfc2xvdyhwYXNfYWxsb2NhdGlvbl9yZXN1bHQgcmVzdWx0
LCBzaXplX3Qgc2l6ZSkKIHsKICAgICBzaXplX3QgcGFnZV9zaXplOwogCiAgICAgUEFTX1BST0ZJ
TEUoWkVST19BTExPQ0FUSU9OX1JFU1VMVCwgcmVzdWx0LmJlZ2luKTsKKyAgICBQQVNfTVRFX0hB
TkRMRShaRVJPX0FMTE9DQVRJT05fUkVTVUxULCByZXN1bHQuYmVnaW4pOwogCiAgICAgcGFnZV9z
aXplID0gcGFzX3BhZ2VfbWFsbG9jX2FsaWdubWVudCgpOwogICAgIGlmIChwYXNfaXNfYWxpZ25l
ZChzaXplLCBwYWdlX3NpemUpICYmIHBhc19pc19hbGlnbmVkKHJlc3VsdC5iZWdpbiwgcGFnZV9z
aXplKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19h
bGxvY2F0aW9uX3Jlc3VsdC5oIGIvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFz
X2FsbG9jYXRpb25fcmVzdWx0LmgKaW5kZXggMzQ5ZDI2YzhhMzkxLi4zM2YzZTA5MDRkMmQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19hbGxvY2F0aW9u
X3Jlc3VsdC5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19hbGxv
Y2F0aW9uX3Jlc3VsdC5oCkBAIC0yOCw3ICsyOCw5IEBACiAKICNpbmNsdWRlIDxlcnJuby5oPgog
I2luY2x1ZGUgInBhc19pbnRlcm5hbF9jb25maWcuaCIKKyNpbmNsdWRlICJwYXNfbXRlLmgiCiAj
aW5jbHVkZSAicGFzX3V0aWxzLmgiCisjaW5jbHVkZSAicGFzX3plcm9fbWVtb3J5LmgiCiAjaW5j
bHVkZSAicGFzX3plcm9fbW9kZS5oIgogCiBQQVNfQkVHSU5fRVhURVJOX0M7CkBAIC05NSw2ICs5
Nyw3IEBAIHBhc19hbGxvY2F0aW9uX3Jlc3VsdF96ZXJvKHBhc19hbGxvY2F0aW9uX3Jlc3VsdCBy
ZXN1bHQsCiAKICAgICBQQVNfQUxMT1dfVU5TQUZFX0JVRkZFUl9VU0FHRV9CRUdJTgogICAgIFBB
U19QUk9GSUxFKFpFUk9fQUxMT0NBVElPTl9SRVNVTFQsIHJlc3VsdC5iZWdpbik7CisgICAgUEFT
X01URV9IQU5ETEUoWkVST19BTExPQ0FUSU9OX1JFU1VMVCwgcmVzdWx0LmJlZ2luKTsKICAgICBQ
QVNfQUxMT1dfVU5TQUZFX0JVRkZFUl9VU0FHRV9FTkQKIAogICAgIHZvaWQqIG1lbW9yeSA9ICh2
b2lkKilyZXN1bHQuYmVnaW47CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3Jj
L2xpYnBhcy9wYXNfYmFzZWxpbmVfYWxsb2NhdG9yLmMgYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMv
c3JjL2xpYnBhcy9wYXNfYmFzZWxpbmVfYWxsb2NhdG9yLmMKaW5kZXggYzY1NDNmZGI0NzM0Li45
ZGJjNWE1ZDBhZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFz
L3Bhc19iYXNlbGluZV9hbGxvY2F0b3IuYworKysgYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3Jj
L2xpYnBhcy9wYXNfYmFzZWxpbmVfYWxsb2NhdG9yLmMKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNs
dWRlICJwYXNfYmFzZWxpbmVfYWxsb2NhdG9yLmgiCiAKICNpbmNsdWRlICJwYXNfc2VncmVnYXRl
ZF9zaXplX2RpcmVjdG9yeS5oIgorI2luY2x1ZGUgInBhc196ZXJvX21lbW9yeS5oIgogCiB2b2lk
IHBhc19iYXNlbGluZV9hbGxvY2F0b3JfYXR0YWNoX2RpcmVjdG9yeShwYXNfYmFzZWxpbmVfYWxs
b2NhdG9yKiBhbGxvY2F0b3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwYXNfc2VncmVnYXRlZF9zaXplX2RpcmVjdG9yeSogZGlyZWN0b3J5KQpkaWZmIC0t
Z2l0IGEvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2JpdGZpdF9wYWdlLmMg
Yi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfYml0Zml0X3BhZ2UuYwppbmRl
eCAzMDk5NjYwYzcyZjkuLjliZjcwZTRmZDVjNiAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2Mv
bGlicGFzL3NyYy9saWJwYXMvcGFzX2JpdGZpdF9wYWdlLmMKKysrIGIvU291cmNlL2JtYWxsb2Mv
bGlicGFzL3NyYy9saWJwYXMvcGFzX2JpdGZpdF9wYWdlLmMKQEAgLTMzLDYgKzMzLDcgQEAKICNp
bmNsdWRlICJwYXNfYml0Zml0X3ZpZXcuaCIKICNpbmNsdWRlICJwYXNfZXBvY2guaCIKICNpbmNs
dWRlICJwYXNfbG9nLmgiCisjaW5jbHVkZSAicGFzX3plcm9fbWVtb3J5LmgiCiAKIHZvaWQgcGFz
X2JpdGZpdF9wYWdlX2NvbnN0cnVjdChwYXNfYml0Zml0X3BhZ2UqIHBhZ2UsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcGFzX2JpdGZpdF92aWV3KiB2aWV3LApkaWZmIC0tZ2l0IGEv
U291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2JpdGZpdF9wYWdlX2lubGluZXMu
aCBiL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19iaXRmaXRfcGFnZV9pbmxp
bmVzLmgKaW5kZXggMGQyZjQzNTBkNmU5Li5hYjBmYWUwNmEyZDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19iaXRmaXRfcGFnZV9pbmxpbmVzLmgKKysr
IGIvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2JpdGZpdF9wYWdlX2lubGlu
ZXMuaApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgInBhc19iaXRmaXRfdmlldy5oIgogI2lu
Y2x1ZGUgInBhc19jb21taXRfc3Bhbi5oIgogI2luY2x1ZGUgInBhc19oZWFwX2NvbmZpZy5oIgor
I2luY2x1ZGUgInBhc19tdGUuaCIKICNpbmNsdWRlICJwYXNfcGFnZV9iYXNlX2lubGluZXMuaCIK
ICNpbmNsdWRlICJwYXNfcGFnZV9zaGFyaW5nX3Bvb2wuaCIKICNpbmNsdWRlICJwYXNfdGhyZWFk
LmgiCkBAIC0yNDcsNiArMjQ4LDcgQEAgc3RhdGljIFBBU19BTFdBWVNfSU5MSU5FIHBhc19iaXRm
aXRfYWxsb2NhdGlvbl9yZXN1bHQgcGFzX2JpdGZpdF9wYWdlX2ZpbmlzaF9hbGwKICAgICBwYXNf
Yml0Zml0X3BhZ2VfdGVzdGluZ192ZXJpZnkocGFnZSk7CiAKICAgICBQQVNfUFJPRklMRShCSVRG
SVRfQUxMT0NBVElPTiwgJnBhZ2VfY29uZmlnLCBiZWdpbiwgc2l6ZSwgYWxsb2NhdGlvbl9tb2Rl
KTsKKyAgICBQQVNfTVRFX0hBTkRMRShCSVRGSVRfQUxMT0NBVElPTiwgJnBhZ2VfY29uZmlnLCBi
ZWdpbiwgc2l6ZSwgYWxsb2NhdGlvbl9tb2RlKTsKIAogICAgIHJldHVybiBwYXNfYml0Zml0X2Fs
bG9jYXRpb25fcmVzdWx0X2NyZWF0ZV9zdWNjZXNzKGJlZ2luKTsKIH0KQEAgLTkwMCw2ICs5MDIs
NyBAQCBzdGF0aWMgUEFTX0FMV0FZU19JTkxJTkUgdWludHB0cl90IHBhc19iaXRmaXRfcGFnZV9k
ZWFsbG9jYXRlX3dpdGhfcGFnZV9pbXBsKAogICAgIH0gfQogCiAgICAgUEFTX1BST0ZJTEUoQklU
RklUX1BBR0VfREVBTExPQ0FUSU9OLCBwYWdlX2NvbmZpZywgYmVnaW4sIG9yaWdpbmFsX29iamVj
dF9zaXplKTsKKyAgICBQQVNfTVRFX0hBTkRMRShCSVRGSVRfUEFHRV9ERUFMTE9DQVRJT04sIHBh
Z2VfY29uZmlnLCBiZWdpbiwgb3JpZ2luYWxfb2JqZWN0X3NpemUpOwogCiAgICAgcmV0dXJuIG51
bV9iaXRzOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMv
cGFzX2NvbXBhY3RfaGVhcF9yZXNlcnZhdGlvbi5jIGIvU291cmNlL2JtYWxsb2MvbGlicGFzL3Ny
Yy9saWJwYXMvcGFzX2NvbXBhY3RfaGVhcF9yZXNlcnZhdGlvbi5jCmluZGV4IGVjZjBkODNkNjNi
Mi4uMTBlOWFlODA4NmUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xp
YnBhcy9wYXNfY29tcGFjdF9oZWFwX3Jlc2VydmF0aW9uLmMKKysrIGIvU291cmNlL2JtYWxsb2Mv
bGlicGFzL3NyYy9saWJwYXMvcGFzX2NvbXBhY3RfaGVhcF9yZXNlcnZhdGlvbi5jCkBAIC0zMSw2
ICszMSw3IEBACiAKICNpbmNsdWRlICJwYXNfaGVhcF9sb2NrLmgiCiAjaW5jbHVkZSAicGFzX3Bh
Z2VfbWFsbG9jLmgiCisjaW5jbHVkZSAicGFzX3plcm9fbWVtb3J5LmgiCiAKICNpZiBQQVNfUExB
VEZPUk0oUExBWVNUQVRJT04pCiAjaW5jbHVkZSA8bWVtb3J5LWV4dHJhLmg+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfY29uZmlnLmggYi9Tb3VyY2Uv
Ym1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfY29uZmlnLmgKaW5kZXggNWU5NDYwZWZhOGFl
Li4wNjMxOGRmMGYwOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGli
cGFzL3Bhc19jb25maWcuaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9w
YXNfY29uZmlnLmgKQEAgLTMwLDYgKzMwLDE0IEBACiAKICNpbmNsdWRlICJzdGRib29sLmgiCiAK
KyNpZiBkZWZpbmVkKFBBU19CTUFMTE9DKSAmJiBQQVNfQk1BTExPQworI2lmIGRlZmluZWQoX19o
YXNfaW5jbHVkZSkKKyNpZiBfX2hhc19pbmNsdWRlKDxXZWJLaXRBZGRpdGlvbnMvcGFzX210ZV9h
ZGRpdGlvbnMuaD4pCisjaW5jbHVkZSA8V2ViS2l0QWRkaXRpb25zL3Bhc19tdGVfYWRkaXRpb25z
Lmg+CisjZW5kaWYgLy8gX19oYXNfaW5jbHVkZSg8V2ViS2l0QWRkaXRpb25zL3Bhc19tdGVfYWRk
aXRpb25zLmg+KSAmJiAhUEFTX0VOQUJMRV9URVNUSU5HCisjZW5kaWYgLy8gZGVmaW5lZChfX2hh
c19pbmNsdWRlKQorI2VuZGlmIC8vIGRlZmluZWQoUEFTX0JNQUxMT0MpICYmIFBBU19CTUFMTE9D
CisKICNkZWZpbmUgUEFTX0xPR19OT05FICgwKQogI2RlZmluZSBQQVNfTE9HX0hFQVBfSU5GUkFT
VFJVQ1RVUkUgKDEgPDwgMCkKICNkZWZpbmUgUEFTX0xPR19CT09UU1RSQVBfSEVBUFMgKDEgPDwg
MSkKQEAgLTYwLDYgKzY4LDEwIEBACiAjZW5kaWYKICNkZWZpbmUgUEFTX0VOQUJMRV9URVNUSU5H
IF9fUEFTX0VOQUJMRV9URVNUSU5HCiAKKyNpZm5kZWYgUEFTX0VOQUJMRV9NVEUKKyNkZWZpbmUg
UEFTX0VOQUJMRV9NVEUgKFBBU19VU0VfQVBQTEVfSU5URVJOQUxfU0RLICYmIFBBU19QTEFURk9S
TShJT1NfRkFNSUxZKSkKKyNlbmRpZgorCiAjZGVmaW5lIFBBU19BUk02NCBfX1BBU19BUk02NAog
I2RlZmluZSBQQVNfQVJNMzIgX19QQVNfQVJNMzIKIApkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxs
b2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2NyZWF0ZV9iYXNpY19oZWFwX3BhZ2VfY2FjaGVzX3dp
dGhfcmVzZXJ2ZWRfbWVtb3J5LmMgYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9w
YXNfY3JlYXRlX2Jhc2ljX2hlYXBfcGFnZV9jYWNoZXNfd2l0aF9yZXNlcnZlZF9tZW1vcnkuYwpp
bmRleCBkMTBjOWNkMjg0ODQuLmUyYTNiYTg3MjFkNiAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxs
b2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2NyZWF0ZV9iYXNpY19oZWFwX3BhZ2VfY2FjaGVzX3dp
dGhfcmVzZXJ2ZWRfbWVtb3J5LmMKKysrIGIvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJw
YXMvcGFzX2NyZWF0ZV9iYXNpY19oZWFwX3BhZ2VfY2FjaGVzX3dpdGhfcmVzZXJ2ZWRfbWVtb3J5
LmMKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJwYXNfaW1tb3J0YWxfaGVhcC5oIgogI2lu
Y2x1ZGUgInBhc19sYXJnZV9oZWFwX3BoeXNpY2FsX3BhZ2Vfc2hhcmluZ19jYWNoZS5oIgogI2lu
Y2x1ZGUgInBhc19tZWdhcGFnZV9jYWNoZS5oIgorI2luY2x1ZGUgInBhc19tdGUuaCIKICNpbmNs
dWRlICJwYXNfcmVzZXJ2ZWRfbWVtb3J5X3Byb3ZpZGVyLmgiCiAjaW5jbHVkZSAicGFzX3NlZ3Jl
Z2F0ZWRfc2hhcmVkX3BhZ2VfZGlyZWN0b3J5LmgiCiAKQEAgLTc5LDYgKzgwLDcgQEAgc3RhdGlj
IHBhc19hbGxvY2F0aW9uX3Jlc3VsdCBhbGxvY2F0ZV9mcm9tX21lZ2FwYWdlcygKICAgICBoZWFw
X2NvbmZpZyA9IHBhc19oZWFwX2NvbmZpZ19raW5kX2dldF9jb25maWcoaGVhcC0+Y29uZmlnX2tp
bmQpOwogCiAgICAgUEFTX1BST0ZJTEUoTUVHQVBBR0VTX0FMTE9DQVRJT04sIGhlYXAsIHNpemUs
IGFsaWdubWVudC5hbGlnbm1lbnQsIGhlYXBfY29uZmlnLCBjYWNoZV9zaXplKTsKKyAgICBQQVNf
TVRFX0hBTkRMRShNRUdBUEFHRVNfQUxMT0NBVElPTiwgaGVhcCwgc2l6ZSwgYWxpZ25tZW50LmFs
aWdubWVudCwgaGVhcF9jb25maWcpOwogCiAgICAgcmV0dXJuIHBhc19sYXJnZV9oZWFwX3RyeV9h
bGxvY2F0ZV9hbmRfZm9yZ2V0KAogICAgICAgICAmaGVhcC0+bWVnYXBhZ2VfbGFyZ2VfaGVhcCwg
c2l6ZSwgYWxpZ25tZW50LmFsaWdubWVudCwgcGFzX25vbl9jb21wYWN0X2FsbG9jYXRpb25fbW9k
ZSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19lbnVt
ZXJhdG9yLmMgYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfZW51bWVyYXRv
ci5jCmluZGV4IGExZGY3ZDcyMzk3YS4uYzBkMWY0NDcwMzZmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
Ym1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfZW51bWVyYXRvci5jCisrKyBiL1NvdXJjZS9i
bWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19lbnVtZXJhdG9yLmMKQEAgLTM4LDYgKzM4LDcg
QEAKICNpbmNsdWRlICJwYXNfZW51bWVyYXRvcl9yZWdpb24uaCIKICNpbmNsdWRlICJwYXNfcHRy
X2hhc2hfc2V0LmgiCiAjaW5jbHVkZSAicGFzX3Jvb3QuaCIKKyNpbmNsdWRlICJwYXNfemVyb19t
ZW1vcnkuaCIKIAogc3RhdGljIHZvaWQqIGFsbG9jYXRlKHNpemVfdCBzaXplLCBjb25zdCBjaGFy
KiBuYW1lLCBwYXNfYWxsb2NhdGlvbl9raW5kIGFsbG9jYXRpb25fa2luZCwgdm9pZCogYXJnKQog
ewpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2Zhc3Rf
bGFyZ2VfZnJlZV9oZWFwLmMgYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNf
ZmFzdF9sYXJnZV9mcmVlX2hlYXAuYwppbmRleCA0YzBiZDE1ZDNjZmUuLjJmZTBmN2I2NGQxMiAx
MDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2Zhc3RfbGFy
Z2VfZnJlZV9oZWFwLmMKKysrIGIvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFz
X2Zhc3RfbGFyZ2VfZnJlZV9oZWFwLmMKQEAgLTMxLDYgKzMxLDcgQEAKIAogI2luY2x1ZGUgInBh
c19nZW5lcmljX2xhcmdlX2ZyZWVfaGVhcC5oIgogI2luY2x1ZGUgInBhc191dGlsaXR5X2hlYXAu
aCIKKyNpbmNsdWRlICJwYXNfemVyb19tZW1vcnkuaCIKIAogLyogSXQgc28gaGFwcGVucyB0aGF0
IHdlIGNhbiB1c2UgdGhpcyBmb3IgYm90aCB4IChhZGRyZXNzKSBhbmQgeSAoc2l6ZSkuICovCiBz
dGF0aWMgUEFTX0FMV0FZU19JTkxJTkUgaW50IGtleV9jb21wYXJlX2NhbGxiYWNrKHZvaWQqIHJh
d19sZWZ0LApkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFz
X2Zhc3RfbWVnYXBhZ2VfdGFibGUuYyBiL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFz
L3Bhc19mYXN0X21lZ2FwYWdlX3RhYmxlLmMKaW5kZXggYWRmZmRlMzg4NzFjLi42NTNlNDRmOGNi
ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19mYXN0
X21lZ2FwYWdlX3RhYmxlLmMKKysrIGIvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMv
cGFzX2Zhc3RfbWVnYXBhZ2VfdGFibGUuYwpAQCAtMjQsNiArMjQsNyBAQAogICovCiAKICNpbmNs
dWRlICJwYXNfY29uZmlnLmgiCisjaW5jbHVkZSAicGFzX3plcm9fbWVtb3J5LmgiCiAKICNpZiBM
SUJQQVNfRU5BQkxFRAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xp
YnBhcy9wYXNfZmFzdF9tZWdhcGFnZV90YWJsZS5oIGIvU291cmNlL2JtYWxsb2MvbGlicGFzL3Ny
Yy9saWJwYXMvcGFzX2Zhc3RfbWVnYXBhZ2VfdGFibGUuaAppbmRleCAyOTIwOTZmNmUyMDYuLjJh
NTYyNmYzNzcwOSAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMv
cGFzX2Zhc3RfbWVnYXBhZ2VfdGFibGUuaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3Jj
L2xpYnBhcy9wYXNfZmFzdF9tZWdhcGFnZV90YWJsZS5oCkBAIC0xMzMsNiArMTMzLDcgQEAgc3Rh
dGljIGlubGluZSBwYXNfZmFzdF9tZWdhcGFnZV9raW5kIHBhc19mYXN0X21lZ2FwYWdlX3RhYmxl
X2dldCgKICAgICB1aW50cHRyX3QgYmVnaW4pCiB7CiAgICAgUEFTX1BST0ZJTEUoTUVHQVBBR0Vf
R0VULCBiZWdpbik7CisgICAgUEFTX01URV9IQU5ETEUoTUVHQVBBR0VfR0VULCBiZWdpbik7CiAg
ICAgcmV0dXJuIHBhc19mYXN0X21lZ2FwYWdlX3RhYmxlX2dldF9ieV9pbmRleCh0YWJsZSwgYmVn
aW4gPj4gUEFTX0ZBU1RfTUVHQVBBR0VfU0hJRlQpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
Ym1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfZnJlZV9ncmFudWxlcy5jIGIvU291cmNlL2Jt
YWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2ZyZWVfZ3JhbnVsZXMuYwppbmRleCAyOTk2ZWEx
MzAxNWIuLjc5MGZhYzAyZTYyMyAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvbGlicGFzL3Ny
Yy9saWJwYXMvcGFzX2ZyZWVfZ3JhbnVsZXMuYworKysgYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMv
c3JjL2xpYnBhcy9wYXNfZnJlZV9ncmFudWxlcy5jCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVk
ZSAicGFzX2hlYXBfY29uZmlnLmgiCiAjaW5jbHVkZSAicGFzX2xvZy5oIgogI2luY2x1ZGUgInBh
c19wYWdlX2Jhc2VfY29uZmlnLmgiCisjaW5jbHVkZSAicGFzX3plcm9fbWVtb3J5LmgiCiAKIHZv
aWQgcGFzX2ZyZWVfZ3JhbnVsZXNfY29tcHV0ZV9hbmRfbWFya19kZWNvbW1pdHRlZChwYXNfZnJl
ZV9ncmFudWxlcyogZnJlZV9ncmFudWxlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwYXNfcGFnZV9ncmFudWxlX3VzZV9jb3VudCogdXNlX2Nv
dW50cywKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19n
ZXRfYWxsb2NhdGlvbl9zaXplLmggYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9w
YXNfZ2V0X2FsbG9jYXRpb25fc2l6ZS5oCmluZGV4IDRmNDBmODIwYTIwMS4uOGE5OTk4ZjY3MTk3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfZ2V0X2Fs
bG9jYXRpb25fc2l6ZS5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bh
c19nZXRfYWxsb2NhdGlvbl9zaXplLmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJwYXNf
aGVhcF9jb25maWcuaCIKICNpbmNsdWRlICJwYXNfaGVhcF9sb2NrLmgiCiAjaW5jbHVkZSAicGFz
X2xhcmdlX21hcC5oIgorI2luY2x1ZGUgInBhc19tdGUuaCIKICNpbmNsdWRlICJwYXNfc2VncmVn
YXRlZF9wYWdlX2lubGluZXMuaCIKICNpbmNsdWRlICJwYXNfc2VncmVnYXRlZF9zaXplX2RpcmVj
dG9yeS5oIgogCkBAIC0xMjQsNiArMTI1LDcgQEAgc3RhdGljIFBBU19BTFdBWVNfSU5MSU5FIHNp
emVfdCBwYXNfZ2V0X2FsbG9jYXRpb25fc2l6ZSh2b2lkKiBwdHIsCiAgICAgICAgIAogICAgICAg
ICBpZiAoIXBhc19sYXJnZV9tYXBfZW50cnlfaXNfZW1wdHkoZW50cnkpKSB7CiAgICAgICAgICAg
ICBQQVNfUFJPRklMRShMQVJHRV9NQVBfRk9VTkRfRU5UUlksICZjb25maWcsIGVudHJ5LmJlZ2lu
LCBlbnRyeS5lbmQpOworICAgICAgICAgICAgUEFTX01URV9IQU5ETEUoTEFSR0VfTUFQX0ZPVU5E
X0VOVFJZLCAmY29uZmlnLCBlbnRyeS5iZWdpbiwgZW50cnkuZW5kKTsKICAgICAgICAgICAgIFBB
U19BU1NFUlQoZW50cnkuYmVnaW4gPT0gYmVnaW4pOwogICAgICAgICAgICAgUEFTX0FTU0VSVChl
bnRyeS5lbmQgPiBiZWdpbik7CiAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFs
bG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19nZXRfaGVhcC5oIGIvU291cmNlL2JtYWxsb2MvbGli
cGFzL3NyYy9saWJwYXMvcGFzX2dldF9oZWFwLmgKaW5kZXggM2Q4ODdjNmQ2OWM2Li5lODRmZDMw
MThkYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19n
ZXRfaGVhcC5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19nZXRf
aGVhcC5oCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAicGFzX2hlYXAuaCIKICNpbmNsdWRl
ICJwYXNfaGVhcF9jb25maWcuaCIKICNpbmNsdWRlICJwYXNfbGFyZ2VfbWFwLmgiCisjaW5jbHVk
ZSAicGFzX210ZS5oIgogI2luY2x1ZGUgInBhc19zZWdyZWdhdGVkX3BhZ2VfaW5saW5lcy5oIgog
I2luY2x1ZGUgInBhc19zZWdyZWdhdGVkX3NpemVfZGlyZWN0b3J5LmgiCiAKQEAgLTExMCw2ICsx
MTEsNyBAQCBzdGF0aWMgUEFTX0FMV0FZU19JTkxJTkUgcGFzX2hlYXAqIHBhc19nZXRfaGVhcCh2
b2lkKiBwdHIsCiAgICAgICAgIAogICAgICAgICBQQVNfQVNTRVJUKCFwYXNfbGFyZ2VfbWFwX2Vu
dHJ5X2lzX2VtcHR5KGVudHJ5KSk7CiAgICAgICAgIFBBU19QUk9GSUxFKExBUkdFX01BUF9GT1VO
RF9FTlRSWSwgJmNvbmZpZywgZW50cnkuYmVnaW4sIGVudHJ5LmVuZCk7CisgICAgICAgIFBBU19N
VEVfSEFORExFKExBUkdFX01BUF9GT1VORF9FTlRSWSwgJmNvbmZpZywgZW50cnkuYmVnaW4sIGVu
dHJ5LmVuZCk7CiAgICAgICAgIFBBU19BU1NFUlQoZW50cnkuYmVnaW4gPT0gYmVnaW4pOwogICAg
ICAgICBQQVNfQVNTRVJUKGVudHJ5LmVuZCA+IGJlZ2luKTsKICAgICAgICAgCmRpZmYgLS1naXQg
YS9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfaGFzaHRhYmxlLmggYi9Tb3Vy
Y2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfaGFzaHRhYmxlLmgKaW5kZXggNmI2NzI4
YWExMmI3Li5lYTNlMTNiMzA4OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9z
cmMvbGlicGFzL3Bhc19oYXNodGFibGUuaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3Jj
L2xpYnBhcy9wYXNfaGFzaHRhYmxlLmgKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJwYXNf
ZW51bWVyYXRvci5oIgogI2luY2x1ZGUgInBhc19sb2cuaCIKICNpbmNsdWRlICJwYXNfdXRpbHMu
aCIKKyNpbmNsdWRlICJwYXNfemVyb19tZW1vcnkuaCIKIAogUEFTX0JFR0lOX0VYVEVSTl9DOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfaGVhcC5j
IGIvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2hlYXAuYwppbmRleCAxNzcx
OWIyOTdlNTAuLjA1MWY3N2Q0YjM3ZSAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvbGlicGFz
L3NyYy9saWJwYXMvcGFzX2hlYXAuYworKysgYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xp
YnBhcy9wYXNfaGVhcC5jCkBAIC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSAicGFzX3ByaW1pdGl2
ZV9oZWFwX3JlZi5oIgogI2luY2x1ZGUgInBhc19wcm9iYWJpbGlzdGljX2d1YXJkX21hbGxvY19h
bGxvY2F0b3IuaCIKICNpbmNsdWRlICJwYXNfc2VncmVnYXRlZF9zaXplX2RpcmVjdG9yeS5oIgor
I2luY2x1ZGUgInBhc196ZXJvX21lbW9yeS5oIgogCiBwYXNfaGVhcCogcGFzX2hlYXBfY3JlYXRl
KHBhc19oZWFwX3JlZiogaGVhcF9yZWYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhc19o
ZWFwX3JlZl9raW5kIGhlYXBfcmVmX2tpbmQsCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9s
aWJwYXMvc3JjL2xpYnBhcy9wYXNfaGVhcF9jb25maWdfdXRpbHMuYyBiL1NvdXJjZS9ibWFsbG9j
L2xpYnBhcy9zcmMvbGlicGFzL3Bhc19oZWFwX2NvbmZpZ191dGlscy5jCmluZGV4IDM1MjZhODc4
MTJjNi4uNzlmY2VkZTlhZjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3Jj
L2xpYnBhcy9wYXNfaGVhcF9jb25maWdfdXRpbHMuYworKysgYi9Tb3VyY2UvYm1hbGxvYy9saWJw
YXMvc3JjL2xpYnBhcy9wYXNfaGVhcF9jb25maWdfdXRpbHMuYwpAQCAtMzUsNiArMzUsNyBAQAog
I2luY2x1ZGUgInBhc19sYXJnZV9oZWFwX3BoeXNpY2FsX3BhZ2Vfc2hhcmluZ19jYWNoZS5oIgog
I2luY2x1ZGUgInBhc19yb290LmgiCiAjaW5jbHVkZSAicGFzX3NlZ3JlZ2F0ZWRfcGFnZS5oIgor
I2luY2x1ZGUgInBhc196ZXJvX21lbW9yeS5oIgogCiB2b2lkIHBhc19oZWFwX2NvbmZpZ191dGls
c19udWxsX2FjdGl2YXRlKHZvaWQpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9saWJw
YXMvc3JjL2xpYnBhcy9wYXNfaGVhcF9jb25maWdfdXRpbHMuaCBiL1NvdXJjZS9ibWFsbG9jL2xp
YnBhcy9zcmMvbGlicGFzL3Bhc19oZWFwX2NvbmZpZ191dGlscy5oCmluZGV4IDkzNjE5Mjg5ZDRj
Ni4uZTM5YjU4OThkNjFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xp
YnBhcy9wYXNfaGVhcF9jb25maWdfdXRpbHMuaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMv
c3JjL2xpYnBhcy9wYXNfaGVhcF9jb25maWdfdXRpbHMuaApAQCAtMTA0LDYgKzEwNCw3IEBAIHR5
cGVkZWYgc3RydWN0IHsKICAgICAgICAgLmJhc2UgPSB7IFwKICAgICAgICAgICAgIC5pc19lbmFi
bGVkID0gdHJ1ZSwgXAogICAgICAgICAgICAgLmFsbG93X3Byb2ZpbGluZyA9IFBBU19TSE9VTERf
UFJPRklMRV9CQVNJQ19IRUFQX1BBR0UocGFzX3BhZ2VfY29uZmlnX3NpemVfY2F0ZWdvcnlfc21h
bGwpLCBcCisgICAgICAgICAgICAuYWxsb3dfbXRlX3RhZ2dpbmcgPSBQQVNfU0hPVUxEX01URV9U
QUdfQkFTSUNfSEVBUF9QQUdFKHBhc19wYWdlX2NvbmZpZ19zaXplX2NhdGVnb3J5X3NtYWxsKSwg
XAogICAgICAgICAgICAgLmhlYXBfY29uZmlnX3B0ciA9ICZuYW1lICMjIF9oZWFwX2NvbmZpZywg
XAogICAgICAgICAgICAgLnBhZ2VfY29uZmlnX3B0ciA9ICZuYW1lICMjIF9oZWFwX2NvbmZpZy5z
bWFsbF9zZWdyZWdhdGVkX2NvbmZpZy5iYXNlLCBcCiAgICAgICAgICAgICAucGFnZV9jb25maWdf
a2luZCA9IHBhc19wYWdlX2NvbmZpZ19raW5kX3NlZ3JlZ2F0ZWQsIFwKQEAgLTE3NCw2ICsxNzUs
NyBAQCB0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgICAgICAuaXNfZW5hYmxlZCA9IFwKICAgICAg
ICAgICAgICAgICAoKHBhc19iYXNpY19oZWFwX2NvbmZpZ19hcmd1bWVudHMpe19fVkFfQVJHU19f
fSkudXNlX21lZGl1bV9zZWdyZWdhdGVkLCBcCiAgICAgICAgICAgICAuYWxsb3dfcHJvZmlsaW5n
ID0gUEFTX1NIT1VMRF9QUk9GSUxFX0JBU0lDX0hFQVBfUEFHRShwYXNfcGFnZV9jb25maWdfc2l6
ZV9jYXRlZ29yeV9tZWRpdW0pLCBcCisgICAgICAgICAgICAuYWxsb3dfbXRlX3RhZ2dpbmcgPSBQ
QVNfU0hPVUxEX01URV9UQUdfQkFTSUNfSEVBUF9QQUdFKHBhc19wYWdlX2NvbmZpZ19zaXplX2Nh
dGVnb3J5X21lZGl1bSksIFwKICAgICAgICAgICAgIC5oZWFwX2NvbmZpZ19wdHIgPSAmbmFtZSAj
IyBfaGVhcF9jb25maWcsIFwKICAgICAgICAgICAgIC5wYWdlX2NvbmZpZ19wdHIgPSAmbmFtZSAj
IyBfaGVhcF9jb25maWcubWVkaXVtX3NlZ3JlZ2F0ZWRfY29uZmlnLmJhc2UsIFwKICAgICAgICAg
ICAgIC5wYWdlX2NvbmZpZ19raW5kID0gcGFzX3BhZ2VfY29uZmlnX2tpbmRfc2VncmVnYXRlZCwg
XApAQCAtMjMwLDYgKzIzMiw3IEBAIHR5cGVkZWYgc3RydWN0IHsKICAgICAgICAgICAgIC5pc19l
bmFibGVkID0gXAogICAgICAgICAgICAgICAgICgocGFzX2Jhc2ljX2hlYXBfY29uZmlnX2FyZ3Vt
ZW50cyl7X19WQV9BUkdTX199KS51c2Vfc21hbGxfYml0Zml0LCBcCiAgICAgICAgICAgICAuYWxs
b3dfcHJvZmlsaW5nID0gUEFTX1NIT1VMRF9QUk9GSUxFX0JBU0lDX0hFQVBfUEFHRShwYXNfcGFn
ZV9jb25maWdfc2l6ZV9jYXRlZ29yeV9zbWFsbCksIFwKKyAgICAgICAgICAgIC5hbGxvd19tdGVf
dGFnZ2luZyA9IFBBU19TSE9VTERfTVRFX1RBR19CQVNJQ19IRUFQX1BBR0UocGFzX3BhZ2VfY29u
ZmlnX3NpemVfY2F0ZWdvcnlfc21hbGwpLCBcCiAgICAgICAgICAgICAuaGVhcF9jb25maWdfcHRy
ID0gJm5hbWUgIyMgX2hlYXBfY29uZmlnLCBcCiAgICAgICAgICAgICAucGFnZV9jb25maWdfcHRy
ID0gJm5hbWUgIyMgX2hlYXBfY29uZmlnLnNtYWxsX2JpdGZpdF9jb25maWcuYmFzZSwgXAogICAg
ICAgICAgICAgLnBhZ2VfY29uZmlnX2tpbmQgPSBwYXNfcGFnZV9jb25maWdfa2luZF9iaXRmaXQs
IFwKQEAgLTI3Myw2ICsyNzYsNyBAQCB0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgICAgICAuaXNf
ZW5hYmxlZCA9IFwKICAgICAgICAgICAgICAgICAoKHBhc19iYXNpY19oZWFwX2NvbmZpZ19hcmd1
bWVudHMpe19fVkFfQVJHU19ffSkudXNlX21lZGl1bV9iaXRmaXQsIFwKICAgICAgICAgICAgIC5h
bGxvd19wcm9maWxpbmcgPSBQQVNfU0hPVUxEX1BST0ZJTEVfQkFTSUNfSEVBUF9QQUdFKHBhc19w
YWdlX2NvbmZpZ19zaXplX2NhdGVnb3J5X21lZGl1bSksIFwKKyAgICAgICAgICAgIC5hbGxvd19t
dGVfdGFnZ2luZyA9IFBBU19TSE9VTERfTVRFX1RBR19CQVNJQ19IRUFQX1BBR0UocGFzX3BhZ2Vf
Y29uZmlnX3NpemVfY2F0ZWdvcnlfbWVkaXVtKSwgXAogICAgICAgICAgICAgLmhlYXBfY29uZmln
X3B0ciA9ICZuYW1lICMjIF9oZWFwX2NvbmZpZywgXAogICAgICAgICAgICAgLnBhZ2VfY29uZmln
X3B0ciA9ICZuYW1lICMjIF9oZWFwX2NvbmZpZy5tZWRpdW1fYml0Zml0X2NvbmZpZy5iYXNlLCBc
CiAgICAgICAgICAgICAucGFnZV9jb25maWdfa2luZCA9IHBhc19wYWdlX2NvbmZpZ19raW5kX2Jp
dGZpdCwgXApAQCAtMzA2LDYgKzMxMCw3IEBAIHR5cGVkZWYgc3RydWN0IHsKICAgICAgICAgICAg
IC5pc19lbmFibGVkID0gXAogICAgICAgICAgICAgICAgICgocGFzX2Jhc2ljX2hlYXBfY29uZmln
X2FyZ3VtZW50cyl7X19WQV9BUkdTX199KS51c2VfbWFyZ2VfYml0Zml0LCBcCiAgICAgICAgICAg
ICAuYWxsb3dfcHJvZmlsaW5nID0gUEFTX1NIT1VMRF9QUk9GSUxFX0JBU0lDX0hFQVBfUEFHRShw
YXNfcGFnZV9jb25maWdfc2l6ZV9jYXRlZ29yeV9tYXJnZSksIFwKKyAgICAgICAgICAgIC5hbGxv
d19tdGVfdGFnZ2luZyA9IFBBU19TSE9VTERfTVRFX1RBR19CQVNJQ19IRUFQX1BBR0UocGFzX3Bh
Z2VfY29uZmlnX3NpemVfY2F0ZWdvcnlfbWFyZ2UpLCBcCiAgICAgICAgICAgICAuaGVhcF9jb25m
aWdfcHRyID0gJm5hbWUgIyMgX2hlYXBfY29uZmlnLCBcCiAgICAgICAgICAgICAucGFnZV9jb25m
aWdfcHRyID0gJm5hbWUgIyMgX2hlYXBfY29uZmlnLm1hcmdlX2JpdGZpdF9jb25maWcuYmFzZSwg
XAogICAgICAgICAgICAgLnBhZ2VfY29uZmlnX2tpbmQgPSBwYXNfcGFnZV9jb25maWdfa2luZF9i
aXRmaXQsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bh
c19oZWFwX2NvbmZpZ191dGlsc19pbmxpbmVzLmggYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3Jj
L2xpYnBhcy9wYXNfaGVhcF9jb25maWdfdXRpbHNfaW5saW5lcy5oCmluZGV4IGMyZjA3ZGVmMDQz
My4uMzM4MzZhMDlhZTI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xp
YnBhcy9wYXNfaGVhcF9jb25maWdfdXRpbHNfaW5saW5lcy5oCisrKyBiL1NvdXJjZS9ibWFsbG9j
L2xpYnBhcy9zcmMvbGlicGFzL3Bhc19oZWFwX2NvbmZpZ191dGlsc19pbmxpbmVzLmgKQEAgLTMx
LDYgKzMxLDcgQEAKICNpbmNsdWRlICJwYXNfaGVhcF9jb25maWdfdXRpbHMuaCIKICNpbmNsdWRl
ICJwYXNfbGFyZ2VfaGVhcF9waHlzaWNhbF9wYWdlX3NoYXJpbmdfY2FjaGUuaCIKICNpbmNsdWRl
ICJwYXNfbWVkaXVtX21lZ2FwYWdlX2NhY2hlLmgiCisjaW5jbHVkZSAicGFzX210ZS5oIgogI2lu
Y2x1ZGUgInBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX3V0aWxzX2lubGluZXMuaCIKIAogUEFT
X0JFR0lOX0VYVEVSTl9DOwpAQCAtMTY0LDExICsxNjUsMTMgQEAgdHlwZWRlZiBzdHJ1Y3Qgewog
ICAgICAgICAgICAgbWVnYXBhZ2VfY2FjaGUgPSAmcGFnZV9jYWNoZXMtPnNtYWxsX290aGVyX21l
Z2FwYWdlX2NhY2hlOyBcCiAgICAgICAgICAgICBtZWdhcGFnZV9raW5kID0gcGFzX3NtYWxsX290
aGVyX2Zhc3RfbWVnYXBhZ2Vfa2luZDsgXAogICAgICAgICAgICAgUEFTX1BST0ZJTEUoU01BTExf
U0hBUkVEX1NFR1JFR0FURURfUEFHRV9BTExPQ0FUSU9OLCBoZWFwLCBtZWdhcGFnZV9jYWNoZSk7
IFwKKyAgICAgICAgICAgIFBBU19NVEVfSEFORExFKFNNQUxMX1NIQVJFRF9TRUdSRUdBVEVEX1BB
R0VfQUxMT0NBVElPTiwgaGVhcCwgbWVnYXBhZ2VfY2FjaGUpOyBcCiAgICAgICAgICAgICBicmVh
azsgXAogICAgICAgICBjYXNlIHBhc19zZWdyZWdhdGVkX3BhZ2VfZXhjbHVzaXZlX3JvbGU6IFwK
ICAgICAgICAgICAgIG1lZ2FwYWdlX2NhY2hlID0gJnBhZ2VfY2FjaGVzLT5zbWFsbF9leGNsdXNp
dmVfc2VncmVnYXRlZF9tZWdhcGFnZV9jYWNoZTsgXAogICAgICAgICAgICAgbWVnYXBhZ2Vfa2lu
ZCA9IHBhc19zbWFsbF9leGNsdXNpdmVfc2VncmVnYXRlZF9mYXN0X21lZ2FwYWdlX2tpbmQ7IFwK
ICAgICAgICAgICAgIFBBU19QUk9GSUxFKFNNQUxMX0VYQ0xVU0lWRV9TRUdSRUdBVEVEX1BBR0Vf
QUxMT0NBVElPTiwgaGVhcCwgbWVnYXBhZ2VfY2FjaGUpOyBcCisgICAgICAgICAgICBQQVNfTVRF
X0hBTkRMRShTTUFMTF9FWENMVVNJVkVfU0VHUkVHQVRFRF9QQUdFX0FMTE9DQVRJT04sIGhlYXAs
IG1lZ2FwYWdlX2NhY2hlKTsgXAogICAgICAgICAgICAgYnJlYWs7IFwKICAgICAgICAgfSBcCiAg
ICAgICAgIFwKQEAgLTIwMiw2ICsyMDUsNyBAQCB0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgIG1l
Z2FwYWdlX2NhY2hlID0gJnBhZ2VfY2FjaGVzLT5zbWFsbF9vdGhlcl9tZWdhcGFnZV9jYWNoZTsg
XAogICAgICAgICBcCiAgICAgICAgIFBBU19QUk9GSUxFKFNNQUxMX0JJVEZJVF9QQUdFX0FMTE9D
QVRJT04sIGhlYXAsIG1lZ2FwYWdlX2NhY2hlKTsgXAorICAgICAgICBQQVNfTVRFX0hBTkRMRShT
TUFMTF9CSVRGSVRfUEFHRV9BTExPQ0FUSU9OLCBoZWFwLCBtZWdhcGFnZV9jYWNoZSk7IFwKICAg
ICAgICAgYWxsb2NhdGlvbiA9IHBhc19mYXN0X21lZ2FwYWdlX2NhY2hlX3RyeV9hbGxvY2F0ZSgg
XAogICAgICAgICAgICAgbWVnYXBhZ2VfY2FjaGUsIFwKICAgICAgICAgICAgICZuYW1lICMjIF9t
ZWdhcGFnZV90YWJsZSwgXApAQCAtMjM1LDYgKzIzOSw3IEBAIHR5cGVkZWYgc3RydWN0IHsKICAg
ICAgICAgbWVnYXBhZ2VfY2FjaGUgPSAmcGFnZV9jYWNoZXMtPm1lZGl1bV9tZWdhcGFnZV9jYWNo
ZTsgXAogICAgICAgICBcCiAgICAgICAgIFBBU19QUk9GSUxFKE1FRElVTV9TRUdSRUdBVEVEX1BB
R0VfQUxMT0NBVElPTiwgaGVhcCwgbWVnYXBhZ2VfY2FjaGUpOyBcCisgICAgICAgIFBBU19NVEVf
SEFORExFKE1FRElVTV9TRUdSRUdBVEVEX1BBR0VfQUxMT0NBVElPTiwgaGVhcCwgbWVnYXBhZ2Vf
Y2FjaGUpOyBcCiAgICAgICAgIGFsbG9jYXRpb24gPSBwYXNfbWVkaXVtX21lZ2FwYWdlX2NhY2hl
X3RyeV9hbGxvY2F0ZSggXAogICAgICAgICAgICAgbWVnYXBhZ2VfY2FjaGUsIFwKICAgICAgICAg
ICAgIHBhZ2VfY29uZmlnLmJhc2UucGFnZV9jb25maWdfcHRyLCBcCkBAIC0yNjMsNiArMjY4LDcg
QEAgdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgICBtZWdhcGFnZV9jYWNoZSA9ICZwYWdlX2NhY2hl
cy0+bWVkaXVtX21lZ2FwYWdlX2NhY2hlOyBcCiAgICAgICAgIFwKICAgICAgICAgUEFTX1BST0ZJ
TEUoTUVESVVNX0JJVEZJVF9QQUdFX0FMTE9DQVRJT04sIGhlYXAsIG1lZ2FwYWdlX2NhY2hlKTsg
XAorICAgICAgICBQQVNfTVRFX0hBTkRMRShNRURJVU1fQklURklUX1BBR0VfQUxMT0NBVElPTiwg
aGVhcCwgbWVnYXBhZ2VfY2FjaGUpOyBcCiAgICAgICAgIGFsbG9jYXRpb24gPSBwYXNfbWVkaXVt
X21lZ2FwYWdlX2NhY2hlX3RyeV9hbGxvY2F0ZSggXAogICAgICAgICAgICAgbWVnYXBhZ2VfY2Fj
aGUsIFwKICAgICAgICAgICAgIHBhZ2VfY29uZmlnLmJhc2UucGFnZV9jb25maWdfcHRyLCBcCkBA
IC0yOTEsNiArMjk3LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgICBtZWdhcGFnZV9jYWNo
ZSA9ICZwYWdlX2NhY2hlcy0+bWVkaXVtX21lZ2FwYWdlX2NhY2hlOyBcCiAgICAgICAgIFwKICAg
ICAgICAgUEFTX1BST0ZJTEUoTUFSR0VfQklURklUX1BBR0VfQUxMT0NBVElPTiwgaGVhcCwgbWVn
YXBhZ2VfY2FjaGUpOyBcCisgICAgICAgIFBBU19NVEVfSEFORExFKE1BUkdFX0JJVEZJVF9QQUdF
X0FMTE9DQVRJT04sIGhlYXAsIG1lZ2FwYWdlX2NhY2hlKTsgXAogICAgICAgICBhbGxvY2F0aW9u
ID0gcGFzX21lZGl1bV9tZWdhcGFnZV9jYWNoZV90cnlfYWxsb2NhdGUoIFwKICAgICAgICAgICAg
IG1lZ2FwYWdlX2NhY2hlLCBcCiAgICAgICAgICAgICBwYWdlX2NvbmZpZy5iYXNlLnBhZ2VfY29u
ZmlnX3B0ciwgXApkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMv
cGFzX2hlYXBfcmVmLmMgYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfaGVh
cF9yZWYuYwppbmRleCA4N2IyZWE2NTViYmUuLjY0ZGIxY2MyNTVmNiAxMDA2NDQKLS0tIGEvU291
cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2hlYXBfcmVmLmMKKysrIGIvU291cmNl
L2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2hlYXBfcmVmLmMKQEAgLTQzLDYgKzQzLDcg
QEAgcGFzX2hlYXAqIHBhc19lbnN1cmVfaGVhcF9zbG93KHBhc19oZWFwX3JlZiogaGVhcF9yZWYs
CiAKICAgICBQQVNfQVNTRVJUKGhlYXBfcmVmX2tpbmQgIT0gcGFzX2Zha2VfaGVhcF9yZWZfa2lu
ZCk7CiAgICAgUEFTX1BST0ZJTEUoRU5TVVJFX0hFQVBfU0xPVywgaGVhcCwgaGVhcF9yZWYsIGhl
YXBfcmVmX2tpbmQsIGNvbmZpZywgcnVudGltZV9jb25maWcpOworICAgIFBBU19NVEVfSEFORExF
KEVOU1VSRV9IRUFQX1NMT1csIGhlYXAsIGhlYXBfcmVmLCBoZWFwX3JlZl9raW5kLCBjb25maWcs
IHJ1bnRpbWVfY29uZmlnKTsKIAogICAgIHBhc19oZWFwX2xvY2tfbG9jaygpOwogICAgIGhlYXAg
PSBoZWFwX3JlZi0+aGVhcDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMv
bGlicGFzL3Bhc19pbW1vcnRhbF9oZWFwLmMgYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xp
YnBhcy9wYXNfaW1tb3J0YWxfaGVhcC5jCmluZGV4IGVhNDE4NjM0ZWJiZC4uNTYxZDRkNTMxODI5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfaW1tb3J0
YWxfaGVhcC5jCisrKyBiL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19pbW1v
cnRhbF9oZWFwLmMKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJwYXNfYWxsb2NhdGlvbl9j
YWxsYmFja3MuaCIKICNpbmNsdWRlICJwYXNfY29tcGFjdF9oZWFwX3Jlc2VydmF0aW9uLmgiCiAj
aW5jbHVkZSAicGFzX2hlYXBfbG9jay5oIgorI2luY2x1ZGUgInBhc19tdGUuaCIKIAogdWludHB0
cl90IHBhc19pbW1vcnRhbF9oZWFwX2N1cnJlbnQ7CiB1aW50cHRyX3QgcGFzX2ltbW9ydGFsX2hl
YXBfZW5kOwpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFz
X2ltbXV0YWJsZV92ZWN0b3IuaCBiL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bh
c19pbW11dGFibGVfdmVjdG9yLmgKaW5kZXggMDg4NzkzMzU3YWNjLi5mNmU2YWNjNjI5ODEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19pbW11dGFibGVf
dmVjdG9yLmgKKysrIGIvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2ltbXV0
YWJsZV92ZWN0b3IuaApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgInBhc19pbW1vcnRhbF9o
ZWFwLmgiCiAjaW5jbHVkZSAicGFzX2xvZy5oIgogI2luY2x1ZGUgInBhc191dGlscy5oIgorI2lu
Y2x1ZGUgInBhc196ZXJvX21lbW9yeS5oIgogCiBQQVNfQkVHSU5fRVhURVJOX0M7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19sYXJnZV9mcmVlX2hl
YXBfaGVscGVycy5jIGIvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2xhcmdl
X2ZyZWVfaGVhcF9oZWxwZXJzLmMKaW5kZXggNzk3YmY3NGZmN2E4Li5mZGU0YzNkZGMzMjcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19sYXJnZV9mcmVl
X2hlYXBfaGVscGVycy5jCisrKyBiL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bh
c19sYXJnZV9mcmVlX2hlYXBfaGVscGVycy5jCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAi
cGFzX2xhcmdlX3NoYXJpbmdfcG9vbC5oIgogI2luY2x1ZGUgInBhc19wYWdlX21hbGxvYy5oIgog
I2luY2x1ZGUgInBhc19wYWdlX3NoYXJpbmdfcG9vbC5oIgorI2luY2x1ZGUgInBhc196ZXJvX21l
bW9yeS5oIgogCiBib29sIHBhc19sYXJnZV91dGlsaXR5X2ZyZWVfaGVhcF90YWxrc190b19sYXJn
ZV9zaGFyaW5nX3Bvb2wgPSB0cnVlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9saWJw
YXMvc3JjL2xpYnBhcy9wYXNfbGFyZ2VfaGVhcC5jIGIvU291cmNlL2JtYWxsb2MvbGlicGFzL3Ny
Yy9saWJwYXMvcGFzX2xhcmdlX2hlYXAuYwppbmRleCA0MDE5MjczYzIwNGEuLjBlMWE1ZTkzZDVj
MiAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2xhcmdl
X2hlYXAuYworKysgYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfbGFyZ2Vf
aGVhcC5jCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAicGFzX2xhcmdlX2ZyZWVfaGVhcF9j
b25maWcuaCIKICNpbmNsdWRlICJwYXNfbGFyZ2Vfc2hhcmluZ19wb29sLmgiCiAjaW5jbHVkZSAi
cGFzX2xhcmdlX21hcC5oIgorI2luY2x1ZGUgInBhc19tdGUuaCIKICNpbmNsdWRlICJwYXNfcGFn
ZV9tYWxsb2MuaCIKICNpbmNsdWRlICJwYXNfcHJvYmFiaWxpc3RpY19ndWFyZF9tYWxsb2NfYWxs
b2NhdG9yLmgiCiAjaW5jbHVkZSA8c3RkaW8uaD4KQEAgLTIwOSw2ICsyMTAsNyBAQCBib29sIHBh
c19sYXJnZV9oZWFwX3RyeV9kZWFsbG9jYXRlKHVpbnRwdHJfdCBiZWdpbiwKICAgICB9CiAKICAg
ICBQQVNfUFJPRklMRShMQVJHRV9NQVBfVE9PS19FTlRSWSwgaGVhcF9jb25maWcsIG1hcF9lbnRy
eS5iZWdpbiwgbWFwX2VudHJ5LmVuZCk7CisgICAgUEFTX01URV9IQU5ETEUoTEFSR0VfTUFQX1RP
T0tfRU5UUlksIGhlYXBfY29uZmlnLCBtYXBfZW50cnkuYmVnaW4sIG1hcF9lbnRyeS5lbmQpOwog
ICAgIFBBU19BU1NFUlQocGFzX2hlYXBfY29uZmlnX2tpbmRfZ2V0X2NvbmZpZygKICAgICAgICAg
ICAgICAgICAgICBwYXNfaGVhcF9mb3JfbGFyZ2VfaGVhcChtYXBfZW50cnkuaGVhcCktPmNvbmZp
Z19raW5kKQogICAgICAgICAgICAgICAgPT0gaGVhcF9jb25maWcpOwpAQCAtMjUyLDYgKzI1NCw3
IEBAIGJvb2wgcGFzX2xhcmdlX2hlYXBfdHJ5X3Nocmluayh1aW50cHRyX3QgYmVnaW4sCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAogICAgIFBBU19QUk9GSUxFKExBUkdFX01BUF9UT09LX0VOVFJZ
LCBoZWFwX2NvbmZpZywgbWFwX2VudHJ5LmJlZ2luLCBtYXBfZW50cnkuZW5kKTsKKyAgICBQQVNf
TVRFX0hBTkRMRShMQVJHRV9NQVBfVE9PS19FTlRSWSwgaGVhcF9jb25maWcsIG1hcF9lbnRyeS5i
ZWdpbiwgbWFwX2VudHJ5LmVuZCk7CiAgICAgaGVhcCA9IG1hcF9lbnRyeS5oZWFwOwogICAgIHR5
cGUgPSBwYXNfaGVhcF9mb3JfbGFyZ2VfaGVhcChoZWFwKS0+dHlwZTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2xhcmdlX2hlYXBfcGh5c2ljYWxf
cGFnZV9zaGFyaW5nX2NhY2hlLmMgYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9w
YXNfbGFyZ2VfaGVhcF9waHlzaWNhbF9wYWdlX3NoYXJpbmdfY2FjaGUuYwppbmRleCBkMDQzMTZk
ODljZmYuLjFmNDNlZmJiZTJkMyAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvbGlicGFzL3Ny
Yy9saWJwYXMvcGFzX2xhcmdlX2hlYXBfcGh5c2ljYWxfcGFnZV9zaGFyaW5nX2NhY2hlLmMKKysr
IGIvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2xhcmdlX2hlYXBfcGh5c2lj
YWxfcGFnZV9zaGFyaW5nX2NhY2hlLmMKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJwYXNf
bGFyZ2Vfc2hhcmluZ19wb29sLmgiCiAjaW5jbHVkZSAicGFzX3BhZ2VfbWFsbG9jLmgiCiAjaW5j
bHVkZSAicGFzX3BhZ2Vfc2hhcmluZ19wb29sLmgiCisjaW5jbHVkZSAicGFzX3plcm9fbWVtb3J5
LmgiCiAjaW5jbHVkZSA8c3RkaW8uaD4KIAogcGFzX2VudW1lcmFibGVfcmFuZ2VfbGlzdCBwYXNf
bGFyZ2VfaGVhcF9waHlzaWNhbF9wYWdlX3NoYXJpbmdfY2FjaGVfcGFnZV9saXN0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2xhcmdlX21hcC5jIGIv
U291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2xhcmdlX21hcC5jCmluZGV4IGMw
Y2U2NzZlMmU1NC4uM2JjNWQ4NzM4MGU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9saWJw
YXMvc3JjL2xpYnBhcy9wYXNfbGFyZ2VfbWFwLmMKKysrIGIvU291cmNlL2JtYWxsb2MvbGlicGFz
L3NyYy9saWJwYXMvcGFzX2xhcmdlX21hcC5jCkBAIC0zMSw2ICszMSw3IEBACiAKICNpbmNsdWRl
ICJwYXNfbGFyZ2VfaGVhcC5oIgogI2luY2x1ZGUgInBhc19sYXJnZV91dGlsaXR5X2ZyZWVfaGVh
cC5oIgorI2luY2x1ZGUgInBhc19tdGUuaCIKIAogcGFzX2xhcmdlX21hcF9oYXNodGFibGUgcGFz
X2xhcmdlX21hcF9oYXNodGFibGVfaW5zdGFuY2UgPSBQQVNfSEFTSFRBQkxFX0lOSVRJQUxJWkVS
OwogcGFzX2xhcmdlX21hcF9oYXNodGFibGVfaW5fZmx1eF9zdGFzaCBwYXNfbGFyZ2VfbWFwX2hh
c2h0YWJsZV9pbnN0YW5jZV9pbl9mbHV4X3N0YXNoOwpAQCAtNDMsNiArNDQsNyBAQCBwYXNfdGlu
eV9sYXJnZV9tYXBfc2Vjb25kX2xldmVsX2hhc2h0YWJsZV9pbl9mbHV4X3N0YXNoIHBhc190aW55
X2xhcmdlX21hcF9zZWNvbgogcGFzX2xhcmdlX21hcF9lbnRyeSBwYXNfbGFyZ2VfbWFwX2ZpbmQo
dWludHB0cl90IGJlZ2luKQogewogICAgIFBBU19QUk9GSUxFKExBUkdFX01BUF9GSU5ELCBiZWdp
bik7CisgICAgUEFTX01URV9IQU5ETEUoTEFSR0VfTUFQX0ZJTkQsIGJlZ2luKTsKIAogICAgIHVp
bnRwdHJfdCB0aW55X2Jhc2U7CiAgICAgcGFzX2ZpcnN0X2xldmVsX3RpbnlfbGFyZ2VfbWFwX2Vu
dHJ5KiBmaXJzdF9sZXZlbF90aW55X2VudHJ5OwpAQCAtNzksNiArODEsNyBAQCB2b2lkIHBhc19s
YXJnZV9tYXBfYWRkKHBhc19sYXJnZV9tYXBfZW50cnkgZW50cnkpCiAgICAgcGFzX2hlYXBfbG9j
a19hc3NlcnRfaGVsZCgpOwogCiAgICAgUEFTX1BST0ZJTEUoTEFSR0VfTUFQX0FERCwgZW50cnku
YmVnaW4sIGVudHJ5LmVuZCk7CisgICAgUEFTX01URV9IQU5ETEUoTEFSR0VfTUFQX0FERCwgZW50
cnkuYmVnaW4sIGVudHJ5LmVuZCk7CiAKICAgICBpZiAodmVyYm9zZSkKICAgICAgICAgcGFzX2xv
ZygibGFyZ2UgbWFwIGFkZGluZyAlcC4uLiVwLCBoZWFwID0gJXAuXG4iLCAodm9pZCopZW50cnku
YmVnaW4sICh2b2lkKillbnRyeS5lbmQsIGVudHJ5LmhlYXApOwpAQCAtMTU3LDYgKzE2MCw3IEBA
IHBhc19sYXJnZV9tYXBfZW50cnkgcGFzX2xhcmdlX21hcF90YWtlKHVpbnRwdHJfdCBiZWdpbikK
ICAgICBwYXNfc21hbGxfbGFyZ2VfbWFwX2VudHJ5IHNtYWxsX2VudHJ5OwogCiAgICAgUEFTX1BS
T0ZJTEUoTEFSR0VfTUFQX1RBS0UsIGJlZ2luKTsKKyAgICBQQVNfTVRFX0hBTkRMRShMQVJHRV9N
QVBfVEFLRSwgYmVnaW4pOwogCiAgICAgcGFzX2hlYXBfbG9ja19hc3NlcnRfaGVsZCgpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfbGFyZ2Vfc2hh
cmluZ19wb29sLmMgYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfbGFyZ2Vf
c2hhcmluZ19wb29sLmMKaW5kZXggMmZmNWI1NDY1NzNmLi4xNmNhZTY1MGY4OTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19sYXJnZV9zaGFyaW5nX3Bv
b2wuYworKysgYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfbGFyZ2Vfc2hh
cmluZ19wb29sLmMKQEAgLTM2LDExICszNiwxMyBAQAogI2luY2x1ZGUgInBhc19oZWFwX2xvY2su
aCIKICNpbmNsdWRlICJwYXNfbGFyZ2VfZnJlZV9oZWFwX2RlZmVycmVkX2NvbW1pdF9sb2cuaCIK
ICNpbmNsdWRlICJwYXNfbG9nLmgiCisjaW5jbHVkZSAicGFzX210ZS5oIgogI2luY2x1ZGUgInBh
c19wYWdlX21hbGxvYy5oIgogI2luY2x1ZGUgInBhc19wYWdlX3NoYXJpbmdfcG9vbC5oIgogI2lu
Y2x1ZGUgInBhc19waHlzaWNhbF9tZW1vcnlfdHJhbnNhY3Rpb24uaCIKICNpbmNsdWRlICJwYXNf
c3RyZWFtLmgiCiAjaW5jbHVkZSAicGFzX3V0aWxpdHlfaGVhcC5oIgorI2luY2x1ZGUgInBhc196
ZXJvX21lbW9yeS5oIgogCiBib29sIHBhc19sYXJnZV9zaGFyaW5nX3Bvb2xfZW5hYmxlZCA9IHRy
dWU7CiBwYXNfcmVkX2JsYWNrX3RyZWUgcGFzX2xhcmdlX3NoYXJpbmdfdHJlZSA9IFBBU19SRURf
QkxBQ0tfVFJFRV9JTklUSUFMSVpFUjsKQEAgLTEwMzAsNiArMTAzMiw3IEBAIHZvaWQgcGFzX2xh
cmdlX3NoYXJpbmdfcG9vbF9ib290X2ZyZWUoCiAgICAgdWludDY0X3QgZXBvY2g7CiAKICAgICBQ
QVNfUFJPRklMRShMQVJHRV9TSEFSSU5HX1BPT0xfQk9PVF9GUkVFLCByYW5nZS5iZWdpbiwgcmFu
Z2UuZW5kKTsKKyAgICBQQVNfTVRFX0hBTkRMRShMQVJHRV9TSEFSSU5HX1BPT0xfQk9PVF9GUkVF
LCByYW5nZS5iZWdpbiwgcmFuZ2UuZW5kKTsKIAogICAgIGlmICghcGFzX2xhcmdlX3NoYXJpbmdf
cG9vbF9lbmFibGVkKQogICAgICAgICByZXR1cm47CkBAIC0xMDQ1LDYgKzEwNDgsNyBAQCB2b2lk
IHBhc19sYXJnZV9zaGFyaW5nX3Bvb2xfZnJlZShwYXNfcmFuZ2UgcmFuZ2UsCiAgICAgdWludDY0
X3QgZXBvY2g7CiAKICAgICBQQVNfUFJPRklMRShMQVJHRV9TSEFSSU5HX1BPT0xfRlJFRSwgcmFu
Z2UuYmVnaW4sIHJhbmdlLmVuZCk7CisgICAgUEFTX01URV9IQU5ETEUoTEFSR0VfU0hBUklOR19Q
T09MX0ZSRUUsIHJhbmdlLmJlZ2luLCByYW5nZS5lbmQpOwogCiAgICAgaWYgKCFwYXNfbGFyZ2Vf
c2hhcmluZ19wb29sX2VuYWJsZWQpCiAgICAgICAgIHJldHVybjsKQEAgLTEwNjMsNiArMTA2Nyw3
IEBAIGJvb2wgcGFzX2xhcmdlX3NoYXJpbmdfcG9vbF9hbGxvY2F0ZV9hbmRfY29tbWl0KAogICAg
IHN0YXRpYyBjb25zdCBib29sIHZlcmJvc2UgPSBmYWxzZTsKIAogICAgIFBBU19QUk9GSUxFKExB
UkdFX1NIQVJJTkdfUE9PTF9BTExPQ0FURV9BTkRfQ09NTUlULCByYW5nZS5iZWdpbiwgcmFuZ2Uu
ZW5kKTsKKyAgICBQQVNfTVRFX0hBTkRMRShMQVJHRV9TSEFSSU5HX1BPT0xfQUxMT0NBVEVfQU5E
X0NPTU1JVCwgcmFuZ2UuYmVnaW4sIHJhbmdlLmVuZCk7CiAgICAgCiAgICAgcGFzX2xhcmdlX2Zy
ZWVfaGVhcF9kZWZlcnJlZF9jb21taXRfbG9nIGNvbW1pdF9sb2c7CiAgICAgdWludDY0X3QgZXBv
Y2g7CkBAIC0xMjExLDYgKzEyMTYsNyBAQCBwYXNfbGFyZ2Vfc2hhcmluZ19wb29sX2NvbXB1dGVf
c3VtbWFyeSgKICAgICBwYXNfaGVhcF9zdW1tYXJ5IHJlc3VsdDsKIAogICAgIFBBU19QUk9GSUxF
KExBUkdFX1NIQVJJTkdfUE9PTF9DT01QVVRFX1NVTU1BUlksIHJhbmdlLmJlZ2luLCByYW5nZS5l
bmQpOworICAgIFBBU19NVEVfSEFORExFKExBUkdFX1NIQVJJTkdfUE9PTF9DT01QVVRFX1NVTU1B
UlksIHJhbmdlLmJlZ2luLCByYW5nZS5lbmQpOwogCiAgICAgcGFzX3plcm9fbWVtb3J5KCZyZXN1
bHQsIHNpemVvZihyZXN1bHQpKTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2xp
YnBhcy9zcmMvbGlicGFzL3Bhc19sb2NhbF9hbGxvY2F0b3IuYyBiL1NvdXJjZS9ibWFsbG9jL2xp
YnBhcy9zcmMvbGlicGFzL3Bhc19sb2NhbF9hbGxvY2F0b3IuYwppbmRleCBhMGUwZTQ3NDkwM2Eu
LmE3MGNmOTI0Mzk4NSAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJw
YXMvcGFzX2xvY2FsX2FsbG9jYXRvci5jCisrKyBiL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMv
bGlicGFzL3Bhc19sb2NhbF9hbGxvY2F0b3IuYwpAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUg
InBhc19zZWdyZWdhdGVkX3NpemVfZGlyZWN0b3J5LmgiCiAjaW5jbHVkZSAicGFzX3NlZ3JlZ2F0
ZWRfdmlldy5oIgogI2luY2x1ZGUgInBhc191dGlsaXR5X2hlYXAuaCIKKyNpbmNsdWRlICJwYXNf
emVyb19tZW1vcnkuaCIKIAogI2lmIFBBU19MT0NBTF9BTExPQ0FUT1JfTUVBU1VSRV9SRUZJTExf
RUZGSUNJRU5DWQogZG91YmxlIHBhc19sb2NhbF9hbGxvY2F0b3JfcmVmaWxsX2VmZmljaWVuY3lf
c3VtID0gMC47CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9w
YXNfbG9jYWxfYWxsb2NhdG9yLmggYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9w
YXNfbG9jYWxfYWxsb2NhdG9yLmgKaW5kZXggOTA1NDY1ZWM2MWY1Li42ZTJmNDIwMWI1ZDIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19sb2NhbF9hbGxv
Y2F0b3IuaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfbG9jYWxf
YWxsb2NhdG9yLmgKQEAgLTU3LDYgKzU3LDcgQEAgc3RydWN0IHBhc19sb2NhbF9hbGxvY2F0b3Ig
ewogICAgIGJvb2wgY3VycmVudF93b3JkX2lzX3ZhbGlkIDogMTsgLyogVGhpcyBpcyBqdXN0IHVz
ZWQgYnkgZW51bWVyYXRpb24uICovCiAgICAgYm9vbCBpc19zbWFsbCA6IDE7IC8qIE1hcmtzIHRo
YXQgdGhpcyBsb2NhbCBhbGxvY2F0b3IgaXMgdXNlZCB0byBhbGxvY2F0ZSBzbWFsbCBvYmplY3Rz
LiAqLwogICAgIGJvb2wgaXNfcHJvZmlsZWQ7IC8qIE1hcmtzIHRoYXQgYWxsb2NhdGlvbnMgY29t
aW5nIG91dCBvZiB0aGlzIGxvY2FsIGFsbG9jYXRvciBzaG91bGQgYmUgcHJvZmlsZWQuICovCisg
ICAgYm9vbCBpc19tdGVfdGFnZ2VkOyAvKiBNYXJrcyB0aGF0IGFsbG9jYXRpb25zIGNvbWluZyBv
dXQgb2YgdGhpcyBsb2NhbCBhbGxvY2F0b3IgYXJlIE1URS10YWdnZWQuICovCiAKICAgICAvKiBU
aGlzIGhhcyB0byBoYXZlIGEgcG9pbnRlciB0byBvdXIgaW5kZXggd2l0aGluIHRoZSB2aWV3LiBX
ZSBjYW4gZ2V0IHRvIHRoZSB2aWV3IHVzaW5nCiAgICAgICAgcGFnZV9pc2guIE1heWJlIHdvcnRo
IHJlY29uc2lkZXJpbmcgdGhhdCwgYnV0IHRoZW4gYWdhaW4gbWF5YmUgaXQncyBnb29kIGVub3Vn
aC4gCkBAIC05Niw2ICs5Nyw3IEBAIHN0cnVjdCBwYXNfbG9jYWxfYWxsb2NhdG9yIHsKICAgICAg
ICAgLmN1cnJlbnRfd29yZF9pc192YWxpZCA9IGZhbHNlLCBcCiAgICAgICAgIC5pc19zbWFsbCA9
IDAsIFwKICAgICAgICAgLmlzX3Byb2ZpbGVkID0gMCwgXAorICAgICAgICAuaXNfbXRlX3RhZ2dl
ZCA9IDAsIFwKICAgICAgICAgLmN1cnJlbnRfd29yZCA9IDAsIFwKICAgICAgICAgLmNvbmZpZ19r
aW5kID0gcGFzX2xvY2FsX2FsbG9jYXRvcl9jb25maWdfa2luZF9udWxsIFwKICAgICB9KQpkaWZm
IC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2xvY2FsX2FsbG9j
YXRvcl9pbmxpbmVzLmggYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfbG9j
YWxfYWxsb2NhdG9yX2lubGluZXMuaAppbmRleCAwN2VlYzMzOWU2NjQuLjkwMDczNjIxODA4NCAx
MDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2xvY2FsX2Fs
bG9jYXRvcl9pbmxpbmVzLmgKKysrIGIvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMv
cGFzX2xvY2FsX2FsbG9jYXRvcl9pbmxpbmVzLmgKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRl
ICJwYXNfZXBvY2guaCIKICNpbmNsdWRlICJwYXNfZnVsbF9hbGxvY19iaXRzX2lubGluZXMuaCIK
ICNpbmNsdWRlICJwYXNfbWFsbG9jX3N0YWNrX2xvZ2dpbmcuaCIKKyNpbmNsdWRlICJwYXNfbXRl
LmgiCiAjaW5jbHVkZSAicGFzX3NjYXZlbmdlci5oIgogI2luY2x1ZGUgInBhc19zZWdyZWdhdGVk
X2V4Y2x1c2l2ZV92aWV3X2lubGluZXMuaCIKICNpbmNsdWRlICJwYXNfc2VncmVnYXRlZF9zaXpl
X2RpcmVjdG9yeV9pbmxpbmVzLmgiCkBAIC00Nyw2ICs0OCw3IEBACiAjaW5jbHVkZSAicGFzX3N5
c3RlbV9oZWFwLmgiCiAjaW5jbHVkZSAicGFzX3RocmVhZF9sb2NhbF9jYWNoZS5oIgogI2luY2x1
ZGUgInBhc190aHJlYWRfbG9jYWxfY2FjaGVfbm9kZS5oIgorI2luY2x1ZGUgInBhc196ZXJvX21l
bW9yeS5oIgogCiBQQVNfQkVHSU5fRVhURVJOX0M7CiAKQEAgLTExOSw2ICsxMjEsNyBAQCBzdGF0
aWMgaW5saW5lIHZvaWQgcGFzX2xvY2FsX2FsbG9jYXRvcl9zZXRfdXBfYnVtcChwYXNfbG9jYWxf
YWxsb2NhdG9yKiBhbGxvY2F0bwogICAgIGFsbG9jYXRvci0+ZW5kX29mZnNldCA9IDA7CiAgICAg
YWxsb2NhdG9yLT5jdXJyZW50X3dvcmQgPSAwOwogICAgIFBBU19QUk9GSUxFKFNFVF9VUF9MT0NB
TF9BTExPQ0FUT1IsIHBhZ2VfY29uZmlnLCBzZWdyZWdhdGVkX2hlYXAsIGFsbG9jYXRvcik7Cisg
ICAgUEFTX01URV9IQU5ETEUoU0VUX1VQX0xPQ0FMX0FMTE9DQVRPUiwgcGFnZV9jb25maWcsIHNl
Z3JlZ2F0ZWRfaGVhcCwgYWxsb2NhdG9yKTsKICAgICBwYXNfY29tcGlsZXJfZmVuY2UoKTsKICAg
ICBhbGxvY2F0b3ItPnBhZ2VfaXNoID0gcGFnZV9ib3VuZGFyeTsKIH0KQEAgLTI0MCw2ICsyNDMs
NyBAQCBzdGF0aWMgUEFTX0FMV0FZU19JTkxJTkUgdm9pZCBwYXNfbG9jYWxfYWxsb2NhdG9yX3Nj
YW5fYml0c190b19zZXRfdXBfZnJlZV9iaXRzKAogICAgICAgICAgICAgUEFTX0JJVFZFQ1RPUl9C
SVRfSU5ERVg2NChjdXJyZW50X29mZnNldCksCiAgICAgICAgICAgICBwYWdlX2NvbmZpZy5iYXNl
KTsKICAgICBQQVNfUFJPRklMRShTRVRfVVBfTE9DQUxfQUxMT0NBVE9SLCBwYWdlX2NvbmZpZywg
ZGlyZWN0b3J5LT5oZWFwLCBhbGxvY2F0b3IpOworICAgIFBBU19NVEVfSEFORExFKFNFVF9VUF9M
T0NBTF9BTExPQ0FUT1IsIHBhZ2VfY29uZmlnLCBkaXJlY3RvcnktPmhlYXAsIGFsbG9jYXRvcik7
CiAKICAgICBwYXNfY29tcGlsZXJfZmVuY2UoKTsKIApAQCAtNTk5LDYgKzYwMyw3IEBAIHBhc19s
b2NhbF9hbGxvY2F0b3Jfc2V0X3VwX3ByaW1vcmRpYWxfYnVtcCgKICAgICB9CiAKICAgICBQQVNf
UFJPRklMRShQT1BVTEFURV9QUklNT1JESUFMX1BBUlRJQUxfVklFVywgcGFnZV9jb25maWcsIHBh
Z2UsIHZpZXcsIGJ1bXBfcmVzdWx0LCBhbGxvY2F0aW9uX21vZGUpOworICAgIFBBU19NVEVfSEFO
RExFKFBPUFVMQVRFX1BSSU1PUkRJQUxfUEFSVElBTF9WSUVXLCBwYWdlX2NvbmZpZywgcGFnZSwg
dmlldywgYnVtcF9yZXN1bHQsIGFsbG9jYXRpb25fbW9kZSk7CiAKICAgICBzd2l0Y2ggKG1vZGUp
IHsKICAgICBjYXNlIHBhc19sb2NhbF9hbGxvY2F0b3JfcHJpbW9yZGlhbF9idW1wX3JldHVybl9m
aXJzdF9hbGxvY2F0aW9uOgpAQCAtNzA2LDYgKzcxMSw3IEBAIHBhc19sb2NhbF9hbGxvY2F0b3Jf
c3RhcnRfYWxsb2NhdGluZ19pbl9wcmltb3JkaWFsX3BhcnRpYWxfdmlldygKICAgICAgICAgCiAg
ICAgICAgIGFsbG9jYXRvci0+cGFnZV9pc2ggPSAodWludHB0cl90KXBhc19zZWdyZWdhdGVkX3Bh
Z2VfYm91bmRhcnkocGFnZSwgcGFnZV9jb25maWcpOwogICAgICAgICBQQVNfUFJPRklMRShTRVRf
VVBfTE9DQUxfQUxMT0NBVE9SLCBwYWdlX2NvbmZpZywgaGVhcCwgYWxsb2NhdG9yKTsKKyAgICAg
ICAgUEFTX01URV9IQU5ETEUoU0VUX1VQX0xPQ0FMX0FMTE9DQVRPUiwgcGFnZV9jb25maWcsIGhl
YXAsIGFsbG9jYXRvcik7CiAKICAgICAgICAgcGFzX3plcm9fbWVtb3J5KGFsbG9jYXRvci0+Yml0
cywgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfbnVtX2FsbG9jX2J5dGVzKHBhZ2VfY29uZmln
KSk7CiAKQEAgLTkxMSw2ICs5MTcsNyBAQCBwYXNfbG9jYWxfYWxsb2NhdG9yX3RyeV9hbGxvY2F0
ZV9pbl9wcmltb3JkaWFsX3BhcnRpYWxfdmlldygKIAogICAgIGlmIChyZXN1bHQuZGlkX3N1Y2Nl
ZWQpIHsKICAgICAgICAgUEFTX1BST0ZJTEUoUFJJTU9SRElBTF9CVU1QX0FMTE9DQVRJT04sICZw
YWdlX2NvbmZpZywgcmVzdWx0LmJlZ2luLCBhbGxvY2F0b3ItPm9iamVjdF9zaXplLCBhbGxvY2F0
aW9uX21vZGUpOworICAgICAgICBQQVNfTVRFX0hBTkRMRShQUklNT1JESUFMX0JVTVBfQUxMT0NB
VElPTiwgJnBhZ2VfY29uZmlnLCByZXN1bHQuYmVnaW4sIGFsbG9jYXRvci0+b2JqZWN0X3NpemUs
IGFsbG9jYXRpb25fbW9kZSk7CiAgICAgfQogCiAgICAgcGFzX2xvY2tfc3dpdGNoKCZoZWxkX2xv
Y2ssIE5VTEwpOwpAQCAtMTUxMCw2ICsxNTE3LDcgQEAgcGFzX2xvY2FsX2FsbG9jYXRvcl90cnlf
YWxsb2NhdGVfd2l0aF9mcmVlX2JpdHMoCiAgICAgfQogCiAgICAgUEFTX1BST0ZJTEUoTE9DQUxf
RlJFRUJJVFNfQUxMT0NBVElPTiwgJnBhZ2VfY29uZmlnLCByZXN1bHQsIGFsbG9jYXRvciwgYWxs
b2NhdGlvbl9tb2RlKTsKKyAgICBQQVNfTVRFX0hBTkRMRShMT0NBTF9GUkVFQklUU19BTExPQ0FU
SU9OLCAmcGFnZV9jb25maWcsIHJlc3VsdCwgYWxsb2NhdG9yLCBhbGxvY2F0aW9uX21vZGUpOwog
ICAgIAogICAgIHJldHVybiBwYXNfYWxsb2NhdGlvbl9yZXN1bHRfY3JlYXRlX3N1Y2Nlc3MocmVz
dWx0KTsKIH0KQEAgLTE1NTUsNiArMTU2Myw3IEBAIHBhc19sb2NhbF9hbGxvY2F0b3JfdHJ5X2Fs
bG9jYXRlX2lubGluZV9jYXNlcyhwYXNfbG9jYWxfYWxsb2NhdG9yKiBhbGxvY2F0b3IsCiAgICAg
ICAgICAgICBwYXNfbG9nKCJSZXR1cm5pbmcgYnVtcCBhbGxvY2F0aW9uICVwLlxuIiwgKHZvaWQq
KXJlc3VsdCk7CiAKICAgICAgICAgUEFTX1BST0ZJTEUoTE9DQUxfQlVNUF9BTExPQ0FUSU9OLCBj
b25maWcsIGFsbG9jYXRvciwgcmVzdWx0LCBvYmplY3Rfc2l6ZSwgYWxsb2NhdGlvbl9tb2RlKTsK
KyAgICAgICAgUEFTX01URV9IQU5ETEUoTE9DQUxfQlVNUF9BTExPQ0FUSU9OLCBjb25maWcsIGFs
bG9jYXRvciwgcmVzdWx0LCBvYmplY3Rfc2l6ZSwgYWxsb2NhdGlvbl9tb2RlKTsKIAogICAgICAg
ICByZXR1cm4gcGFzX2FsbG9jYXRpb25fcmVzdWx0X2NyZWF0ZV9zdWNjZXNzKHJlc3VsdCk7CiAg
ICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2xv
Y2suaCBiL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19sb2NrLmgKaW5kZXgg
NjY0MzNlYWU3ZjE2Li4xZDJhZTdjM2FmZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2xp
YnBhcy9zcmMvbGlicGFzL3Bhc19sb2NrLmgKKysrIGIvU291cmNlL2JtYWxsb2MvbGlicGFzL3Ny
Yy9saWJwYXMvcGFzX2xvY2suaApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgInBhc19yYWNl
X3Rlc3RfaG9va3MuaCIKICNpbmNsdWRlICJwYXNfdXRpbHMuaCIKICNpbmNsdWRlICJwYXNfdGhy
ZWFkLmgiCisjaW5jbHVkZSAicGFzX3plcm9fbWVtb3J5LmgiCiAKIFBBU19CRUdJTl9FWFRFUk5f
QzsKIApkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX21l
Z2FwYWdlX2NhY2hlLmMgYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfbWVn
YXBhZ2VfY2FjaGUuYwppbmRleCA1MGQ1ZjhiMGJhNjYuLjNjZDNmZWQxMTNhNyAxMDA2NDQKLS0t
IGEvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX21lZ2FwYWdlX2NhY2hlLmMK
KysrIGIvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX21lZ2FwYWdlX2NhY2hl
LmMKQEAgLTMyLDcgKzMyLDkgQEAKICNpbmNsdWRlICJwYXNfYm9vdHN0cmFwX2ZyZWVfaGVhcC5o
IgogI2luY2x1ZGUgInBhc19pbnRlcm5hbF9jb25maWcuaCIKICNpbmNsdWRlICJwYXNfbGFyZ2Vf
ZnJlZV9oZWFwX2NvbmZpZy5oIgorI2luY2x1ZGUgInBhc19tdGUuaCIKICNpbmNsdWRlICJwYXNf
cGF5bG9hZF9yZXNlcnZhdGlvbl9wYWdlX2xpc3QuaCIKKyNpbmNsdWRlICJwYXNfemVyb19tZW1v
cnkuaCIKICNpbmNsdWRlIDxzdGRpby5oPgogCiB0eXBlZGVmIHN0cnVjdCB7CkBAIC0xMjAsNiAr
MTIyLDcgQEAgc3RhdGljIHBhc19hbGlnbmVkX2FsbG9jYXRpb25fcmVzdWx0IG1lZ2FwYWdlX2Nh
Y2hlX2FsbG9jYXRlX2FsaWduZWQoc2l6ZV90IHNpemUKICAgICAKICAgICBiZWdpbiA9ICh1aW50
cHRyX3QpYmFzZV9iZWZvcmVfZXhjbHVzaW9uOwogICAgIFBBU19QUk9GSUxFKE1FR0FQQUdFX1NF
VCwgYmVnaW4pOworICAgIFBBU19NVEVfSEFORExFKE1FR0FQQUdFX1NFVCwgYmVnaW4pOwogCiAg
ICAgZW5kID0gYmVnaW4gKyBuZXdfc2l6ZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2Mv
bGlicGFzL3NyYy9saWJwYXMvcGFzX21pbl9oZWFwLmggYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMv
c3JjL2xpYnBhcy9wYXNfbWluX2hlYXAuaAppbmRleCAzNjI2NzM5NWUxNTkuLjBhYjQ1OTE4YWM2
YiAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX21pbl9o
ZWFwLmgKKysrIGIvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX21pbl9oZWFw
LmgKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgInBhc19hbGxvY2F0aW9uX2NvbmZpZy5o
IgogI2luY2x1ZGUgInBhc191dGlscy5oIgorI2luY2x1ZGUgInBhc196ZXJvX21lbW9yeS5oIgog
I2luY2x1ZGUgPHN0ZGlvLmg+CiAKIFBBU19CRUdJTl9FWFRFUk5fQzsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19tdGUuYyBiL1NvdXJjZS9ibWFsbG9j
L2xpYnBhcy9zcmMvbGlicGFzL3Bhc19tdGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAuLmNhMTI4YzMxMzRkNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9ibWFs
bG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19tdGUuYwpAQCAtMCwwICsxLDQyIEBACisvKgorICog
Q29weXJpZ2h0IChjKSAyMDI1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJwYXNfbXRl
LmgiCisKKyNpZiBQQVNfRU5BQkxFX01URQordm9pZCogcGFzX210ZV9zeXN0ZW1faGVhcF9yZWFs
bG9jX3plcm9fdGFnZ2VkKG1hbGxvY196b25lX3QqIHpvbmUsIHZvaWQqIHB0ciwgc2l6ZV90IHNp
emUpCit7CisgICAgc2l6ZV90IG9sZF9zaXplID0gbWFsbG9jX3NpemUocHRyKTsKKyAgICBzaXpl
X3QgY29weV9zaXplID0gc2l6ZSA8IG9sZF9zaXplID8gc2l6ZSA6IG9sZF9zaXplOworCisgICAg
dm9pZCogcmVzdWx0ID0gcGFzX210ZV9zeXN0ZW1faGVhcF9tYWxsb2NfemVyb190YWdnZWQoem9u
ZSwgMCwgc2l6ZSk7CisgICAgaWYgKCFyZXN1bHQpCisgICAgICAgIHJldHVybiByZXN1bHQ7CisK
KyAgICBtZW1jcHkocmVzdWx0LCBwdHIsIGNvcHlfc2l6ZSk7CisgICAgbWFsbG9jX3pvbmVfZnJl
ZSh6b25lLCBwdHIpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisjZW5kaWYgLy8vIFBBU19FTkFC
TEVfTVRFCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNf
bXRlLmggYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfbXRlLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi44MmNjMWI4Mjc3OGQKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfbXRlLmgKQEAg
LTAsMCArMSw5NTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMjUgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJwYXNfbXRlX2NvbmZpZy5oIgorCisjaWYg
UEFTX09TKERBUldJTikKKyNpbmNsdWRlIDxkaXNwYXRjaC9kaXNwYXRjaC5oPgorI2lmIFBBU19V
U0VfQVBQTEVfSU5URVJOQUxfU0RLCisjaW5jbHVkZSA8bWFjaC9tYWNoX2luaXQuaD4KKyNpbmNs
dWRlIDxtYWNoL21hY2hfdm0uaD4KKyNpbmNsdWRlIDxtYWNoL3ZtX3BhZ2Vfc2l6ZS5oPgorI2lu
Y2x1ZGUgPG1hY2gvdm1fc3RhdGlzdGljcy5oPgorI2VuZGlmIC8vIFBBU19VU0VfQVBQTEVfSU5U
RVJOQUxfU0RLCisjZW5kaWYgLy8gUEFTX09TKERBUldJTikKKyNpbmNsdWRlICJzdGRpbnQuaCIK
KyNpbmNsdWRlICJzdGRpby5oIgorI2luY2x1ZGUgInN0ZGxpYi5oIgorI2lmICFQQVNfT1MoV0lO
RE9XUykKKyNpbmNsdWRlICJ1bmlzdGQuaCIKKyNlbmRpZgorCisjaWYgUEFTX0VOQUJMRV9NVEUK
KworUEFTX0lHTk9SRV9XQVJOSU5HU19CRUdJTigidW5zYWZlLWJ1ZmZlci11c2FnZSIpCisKKyNk
ZWZpbmUgUEFTX01URV9UQUdfTUFTSyAweDBmMDAwMDAwMDAwMDAwMDB1bGwKKyNkZWZpbmUgUEFT
X01URV9DQU5PTklDQUxfTUFTSyAoKDB4MXVsbCA8PCA0OCkgLSAxKQorCisjaWYgX19oYXNfaW5j
bHVkZSg8bWFsbG9jX3ByaXZhdGUuaD4pCisjaW5jbHVkZSA8bWFsbG9jX3ByaXZhdGUuaD4KKyNl
bmRpZgorCisvKgorICogVGhpcyBtdXN0IGJlIGtlcHQgaW4gc3luYyB3aXRoIHRoZSB2YWx1ZSBv
ZiBQQVNfU01BTExfUEFHRV9ERUZBVUxUX1NISUZUCisgKiBmcm9tIE9wZW5Tb3VyY2UncyBwYXNf
aW50ZXJuYWxfY29uZmlnLmggLS0gd2UgY2Fubm90IHVzZSBpdCBkaXJlY3RseSBhcworICogcGFz
X3V0aWxzLmggaXMgdG9vIGhpZ2ggdXAgaW4gdGhlIGluY2x1ZGUgaGllcmFyY2h5LgorICovCisj
ZGVmaW5lIFBBU19NVEVfU01BTExfUEFHRV9ERUZBVUxUX1NISUZUICgxNCkKKyNkZWZpbmUgUEFT
X01URV9TTUFMTF9QQUdFX05PX01BU0sgKDB4MDAwMGZmZmZmZmZmZmZmZnVsbCAmIH4oKDEgPDwg
UEFTX01URV9TTUFMTF9QQUdFX0RFRkFVTFRfU0hJRlQpIC0gMSkpCisjZGVmaW5lIFBBU19NVEVf
U01BTExfUEFHRV9OTyhwdHIpICgoKHVpbnRwdHJfdClwdHIpICYgUEFTX01URV9TTUFMTF9QQUdF
X05PX01BU0spCisKKyNkZWZpbmUgUEFTX01URV9HRVRfVEFHKHB0cikgZG8geyBcCisgICAgICAg
IGFzbSB2b2xhdGlsZSggXAorICAgICAgICAgICAgIi5hcmNoX2V4dGVuc2lvbiBtZW10YWdcblx0
IiBcCisgICAgICAgICAgICAibGRnICUwLCBbJTBdIiBcCisgICAgICAgICAgICA6ICIrciIocHRy
KSBcCisgICAgICAgICAgICA6IFwKKyAgICAgICAgICAgIDogXAorICAgICAgICApOyBcCisgICAg
fSB3aGlsZSAoMCkKKyNkZWZpbmUgUEFTX01URV9TRVRfVEFHKHB0cikgZG8geyBcCisgICAgICAg
IGFzbSB2b2xhdGlsZSggXAorICAgICAgICAgICAgIi5hcmNoX2V4dGVuc2lvbiBtZW10YWdcblx0
IiBcCisgICAgICAgICAgICAic3RnICUwLCBbJTBdIiBcCisgICAgICAgICAgICA6IFwKKyAgICAg
ICAgICAgIDogInIiKHB0cikgXAorICAgICAgICAgICAgOiBcCisgICAgICAgICk7IFwKKyAgICB9
IHdoaWxlICgwKQorI2RlZmluZSBQQVNfTVRFX1NFVF9UQUdfUEFJUihwdHIpIGRvIHsgXAorICAg
ICAgICBhc20gdm9sYXRpbGUoIFwKKyAgICAgICAgICAgICIuYXJjaF9leHRlbnNpb24gbWVtdGFn
XG5cdCIgXAorICAgICAgICAgICAgInN0MmcgJTAsIFslMF0iIFwKKyAgICAgICAgICAgIDogXAor
ICAgICAgICAgICAgOiAiciIocHRyKSBcCisgICAgICAgICAgICA6IFwKKyAgICAgICAgKTsgXAor
ICAgIH0gd2hpbGUgKDApCisjZGVmaW5lIFBBU19NVEVfU0VUX1RBR19XSVRIX09GRlNFVChwdHIs
IG9mZnNldCkgZG8geyBcCisgICAgICAgIGFzbSB2b2xhdGlsZSggXAorICAgICAgICAgICAgIi5h
cmNoX2V4dGVuc2lvbiBtZW10YWdcblx0IiBcCisgICAgICAgICAgICAic3RnICUwLCBbJTAsICMi
ICNvZmZzZXQgIl0iIFwKKyAgICAgICAgICAgIDogXAorICAgICAgICAgICAgOiAiciIocHRyKSBc
CisgICAgICAgICAgICA6IFwKKyAgICAgICAgKTsgXAorICAgIH0gd2hpbGUgKDApCisjZGVmaW5l
IFBBU19NVEVfU0VUX1RBR19QQUlSX1dJVEhfT0ZGU0VUKHB0ciwgb2Zmc2V0KSBkbyB7IFwKKyAg
ICAgICAgYXNtIHZvbGF0aWxlKCBcCisgICAgICAgICAgICAiLmFyY2hfZXh0ZW5zaW9uIG1lbXRh
Z1xuXHQiIFwKKyAgICAgICAgICAgICJzdDJnICUwLCBbJTAsICMiICNvZmZzZXQgIl0iIFwKKyAg
ICAgICAgICAgIDogXAorICAgICAgICAgICAgOiAiciIocHRyKSBcCisgICAgICAgICAgICA6IFwK
KyAgICAgICAgKTsgXAorICAgIH0gd2hpbGUgKDApCisjZGVmaW5lIFBBU19NVEVfU0VUX1RBR19Q
T1NUSU5ERVgocHRyKSBkbyB7IFwKKyAgICAgICAgYXNtIHZvbGF0aWxlKCBcCisgICAgICAgICAg
ICAiLmFyY2hfZXh0ZW5zaW9uIG1lbXRhZ1xuXHQiIFwKKyAgICAgICAgICAgICJzdGcgJTAsIFsl
MF0sICMxNiIgXAorICAgICAgICAgICAgOiAiK3IiKHB0cikgXAorICAgICAgICAgICAgOiBcCisg
ICAgICAgICAgICA6IFwKKyAgICAgICAgKTsgXAorICAgIH0gd2hpbGUgKDApCisjZGVmaW5lIFBB
U19NVEVfU0VUX1RBR19QQUlSX1BPU1RJTkRFWChwdHIpIGRvIHsgXAorICAgICAgICBhc20gdm9s
YXRpbGUoIFwKKyAgICAgICAgICAgICIuYXJjaF9leHRlbnNpb24gbWVtdGFnXG5cdCIgXAorICAg
ICAgICAgICAgInN0MmcgJTAsIFslMF0sICMzMiIgXAorICAgICAgICAgICAgOiAiK3IiKHB0cikg
XAorICAgICAgICAgICAgOiBcCisgICAgICAgICAgICA6IFwKKyAgICAgICAgKTsgXAorICAgIH0g
d2hpbGUgKDApCisjZGVmaW5lIFBBU19NVEVfQ1JFQVRFX1JBTkRPTV9UQUcocHRyLCBtYXNrKSBk
byB7IFwKKyAgICAgICAgaWYgKFBBU19NVEVfRkVBVFVSRV9FTkFCTEVEKFBBU19NVEVfRkVBVFVS
RV9aRVJPX1RBR19BTEwpKSB7IFwKKyAgICAgICAgICAgIHB0ciAmPSAodWludHB0cl90KX5QQVNf
TVRFX1RBR19NQVNLOyBcCisgICAgICAgICAgICBicmVhazsgXAorICAgICAgICB9IFwKKyAgICAg
ICAgYXNtIHZvbGF0aWxlKCBcCisgICAgICAgICAgICAiLmFyY2hfZXh0ZW5zaW9uIG1lbXRhZ1xu
XHQiIFwKKyAgICAgICAgICAgICJpcmcgJTAsICUwLCAlMSIgXAorICAgICAgICAgICAgOiAiK3Ii
KHB0cikgXAorICAgICAgICAgICAgOiAiciIoKHVpbnRwdHJfdCkobWFzaykpIFwKKyAgICAgICAg
ICAgIDogXAorICAgICAgICApOyBcCisgICAgfSB3aGlsZSAoMCkKKyNkZWZpbmUgUEFTX01URV9D
SEVDS19UQUdfQU5EX1NFVF9UQ08ocHRyKSBkbyB7IFwKKyAgICAgICAgLyogV2UncmUgb25seSBj
aGVja2luZyBvbmUgdGFnLWdyYW51bGUsIHNvIGl0J3Mgbm90IHBlcmZlY3QsIFwKKyAgICAgICAg
ICogYnV0IGl0IGRvZXMgbWVhbiB0aGF0IGEgcG90ZW50aWFsIGF0dGFja2VyIHdvdWxkIGF0IGxl
YXN0IFwKKyAgICAgICAgICogbmVlZCB0byBrbm93IHRoZSB0YWcgZm9yIHNvbWUgb2YgdGhlaXIg
dGFyZ2V0IHJhbmdlLiAqLyBcCisgICAgICAgIGFzbSB2b2xhdGlsZSggXAorICAgICAgICAgICAg
Ii5hcmNoX2V4dGVuc2lvbiBtZW10YWdcblx0IiBcCisgICAgICAgICAgICAibGRyIHh6ciwgWyUw
XVxuXHQiIFwKKyAgICAgICAgICAgICJtc3IgdGNvLCAjMSIgXAorICAgICAgICAgICAgOiBcCisg
ICAgICAgICAgICA6ICJyIihwdHIpIFwKKyAgICAgICAgICAgIDogIm1lbW9yeSIgXAorICAgICAg
ICApOyBcCisgICAgfSB3aGlsZSAoMCkKKyNkZWZpbmUgUEFTX01URV9TRVRfVENPX1VOQ0hFQ0tF
RCBkbyB7IFwKKyAgICAgICAgYXNtIHZvbGF0aWxlKCBcCisgICAgICAgICAgICAiLmFyY2hfZXh0
ZW5zaW9uIG1lbXRhZ1xuXHQiIFwKKyAgICAgICAgICAgICJtc3IgdGNvLCAjMSIgXAorICAgICAg
ICAgICAgOiBcCisgICAgICAgICAgICA6IFwKKyAgICAgICAgICAgIDogIm1lbW9yeSIgXAorICAg
ICAgICApOyBcCisgICAgfSB3aGlsZSAoMCkKKyNkZWZpbmUgUEFTX01URV9DTEVBUl9UQ08gZG8g
eyBcCisgICAgICAgIGFzbSB2b2xhdGlsZSggXAorICAgICAgICAgICAgIi5hcmNoX2V4dGVuc2lv
biBtZW10YWdcblx0IiBcCisgICAgICAgICAgICAibXNyIHRjbywgIzAiIFwKKyAgICAgICAgICAg
IDogXAorICAgICAgICAgICAgOiBcCisgICAgICAgICAgICA6ICJtZW1vcnkiIFwKKyAgICAgICAg
KTsgXAorICAgIH0gd2hpbGUgKDApCisKKy8qCisgKiBEQyBHVkEgd3JpdGVzIHRhZ3MgZm9yIGEg
Y29udGlndW91cyByYW5nZSBvZiBhZGRyZXNzZXMgaW4gYnVsay4gVGhlIHNpemUgb2YgdGhpcwor
ICogcmFuZ2UsIGFuZCB3aGV0aGVyIG9yIG5vdCBEQyBHVkEgaXMgZW5hYmxlZCBpbiBoYXJkd2Fy
ZSwgaXMgY29udHJvbGxlZCBieSB0aGUKKyAqIERDWklEX0VMMCByZWdpc3Rlci4gVGVjaG5pY2Fs
bHksIGlmIHdlIHdhbnRlZCB0byBiZSBtYXhpbWFsbHkgcm9idXN0LCB3ZSB3b3VsZAorICogcXVl
cnkgdGhpcyByZWdpc3RlciB0byBkZXRlY3QgaWYgREMgR1ZBIGlzIGVuYWJsZWQgYW5kIGlmIHNv
LCBob3cgbXVjaCBtZW1vcnkgaXQKKyAqIGNhbiB0YWcgYXQgb25jZS4gSW4gcHJhY3RpY2UsIERD
IEdWQSBzaG91bGQgYWx3YXlzIGJlIGVuYWJsZWQgb24gUEFTX01URS1jb21wYXRpYmxlCisgKiBB
cHBsZSBoYXJkd2FyZSwgd2l0aCBhIHNpemUgb2YgNjQgYnl0ZXMuIEJlY2F1c2UgdGFnZ2luZyBj
b2RlIGlzIHNvIGNyaXRpY2FsIHRvCisgKiBQQVNfTVRFIHBlcmZvcm1hbmNlLCB3ZSBhc3N1bWUg
Ym90aCBvZiB0aGVzZSB0aGluZ3MgYXJlIHRydWUsIHNhdmluZyB1cyB0aGUgY29zdCBvZgorICog
bmVlZGluZyB0byByZW1lbWJlciBlbmFibGVtZW50IGFuZCBncmFudWxlIHNpemUgZHluYW1pY2Fs
bHkuCisgKgorICogSW4gYWRkaXRpb24sIERDIEdWQSByZXF1aXJlcyBhdCBsZWFzdCAxNi1ieXRl
IGFsaWdubWVudCwgYW5kIHJlYWxseSBpZGVhbGx5CisgKiA2NC1ieXRlIGFsaWdubWVudCBhcyBm
YXIgYXMgSSBhbSBhd2FyZS4gT3VyIHVzYWdlIG9mIHRoaXMgaW5zdHJ1Y3Rpb24gc2hvdWxkIGJl
CisgKiBjYXJlZnVsIHRvIHJlc3BlY3QgNjQtYnl0ZSBhbGlnbm1lbnQuCisgKi8KKyNkZWZpbmUg
RENfR1ZBX0dSQU5VTEVfU0laRSA2NAorI2RlZmluZSBQQVNfTVRFX1NFVF9UQUdTX1VTSU5HX0RD
X0dWQShwdHIpIGRvIHsgXAorICAgICAgICBhc20gdm9sYXRpbGUoIFwKKyAgICAgICAgICAgICIu
YXJjaF9leHRlbnNpb24gbWVtdGFnXG5cdCIgXAorICAgICAgICAgICAgImRjIGd2YSwgJTAiIFwK
KyAgICAgICAgICAgIDogXAorICAgICAgICAgICAgOiAiciIocHRyKSBcCisgICAgICAgICAgICA6
ICJtZW1vcnkiIFwKKyAgICAgICAgKTsgXAorICAgIH0gd2hpbGUgKDApCisKKy8vIFdlIGNhbGwg
YW4gYWxsb2NhdG9yIG9mIHRhZ2dhYmxlIG9iamVjdHMgImhvbW9nZW5lb3VzIiBpZiBhbGwgdGFn
Z2FibGUKKy8vIG9iamVjdHMgYWxsb2NhdGVkIGJ5IHRoZSBhbGxvY2F0b3IgYXJlIHRoZSBzYW1l
IHNpemUsIGUuZy4gbGlrZSBpcyB0aGUKKy8vIGNhc2Ugd2l0aCBhbnkgc2xhYiBhbGxvY2F0b3Iu
CitlbnVtIHBhc19tdGVfYWxsb2NhdG9yX2hvbW9nZW5laXR5IHsKKyAgcGFzX210ZV9ob21vZ2Vu
ZW91c19hbGxvY2F0b3IsCisgIHBhc19tdGVfbm9uaG9tb2dlbmVvdXNfYWxsb2NhdG9yLAorfTsK
KworZW51bSBwYXNfbXRlX3RhZ19jb25zdHJhaW50IHsKKyAgcGFzX210ZV9hbnlfbm9uemVyb190
YWcgPSAweDAwMDEsCisgIHBhc19tdGVfb2RkX3RhZyA9IDB4NTU1NSwKKyAgcGFzX210ZV9ub256
ZXJvX2V2ZW5fdGFnID0gMHhhYWFiLAorfTsKKworUEFTX0lHTk9SRV9XQVJOSU5HU19CRUdJTigi
aW1wbGljaXQtZmFsbHRocm91Z2giKQorCitpbmxpbmUgX19hdHRyaWJ1dGVfXygoYWx3YXlzX2lu
bGluZSkpIHZvaWQgcGFzX210ZV90YWdfc3QyZ19sb29wKHVpbnQ4X3QqIGJlZ2luLCBzaXplX3Qg
c2l6ZSkKK3sKKyAgICB1aW50OF90KiBlbmQgPSBiZWdpbiArIHNpemU7CisgICAgaWYgKFBBU19N
VEVfRkVBVFVSRV9FTkFCTEVEKFBBU19NVEVfRkVBVFVSRV9MT0dfT05fVEFHKSkKKyAgICAgICAg
cHJpbnRmKCJbTVRFXVx0ICAgIFRhZ2dpbmcgaW5pdGlhbCAxNiBieXRlcyAlcCB0byAlcFxuIiwg
YmVnaW4sIGJlZ2luICsgMTYpOworICAgIFBBU19NVEVfU0VUX1RBRyhiZWdpbik7CisKKyAgICAv
LyBFbnN1cmUgYmVnaW4gaXMgYSBtdWx0aXBsZSBvZiAzMiBieXRlcyBmcm9tIHRoZSBlbmQuCisg
ICAgYmVnaW4gKz0gc2l6ZSAlIDMyOworCisgICAgaWYgKFBBU19NVEVfRkVBVFVSRV9FTkFCTEVE
KFBBU19NVEVfRkVBVFVSRV9MT0dfT05fVEFHKSAmJiBiZWdpbiA8IGVuZCkKKyAgICAgICAgcHJp
bnRmKCJbTVRFXVx0ICAgIERvaW5nIFNUMkcgbG9vcCBmcm9tICVwIHRvICVwXG4iLCBiZWdpbiwg
ZW5kKTsKKyAgICB3aGlsZSAoYmVnaW4gPCBlbmQpCisgICAgICAgIFBBU19NVEVfU0VUX1RBR19Q
QUlSX1BPU1RJTkRFWChiZWdpbik7Cit9CisKK2lubGluZSBfX2F0dHJpYnV0ZV9fKChhbHdheXNf
aW5saW5lKSkgdm9pZCBwYXNfbXRlX3RhZ19zdDJnX3N3aXRjaGluZyh1aW50OF90KiBiZWdpbiwg
c2l6ZV90IHNpemUpCit7CisgICAgdWludDhfdCogZW5kID0gYmVnaW4gKyBzaXplOworICAgIGlm
IChQQVNfTVRFX0ZFQVRVUkVfRU5BQkxFRChQQVNfTVRFX0ZFQVRVUkVfTE9HX09OX1RBRykpCisg
ICAgICAgIHByaW50ZigiW01URV1cdCAgICBUYWdnaW5nIGluaXRpYWwgMTYgYnl0ZXMgJXAgdG8g
JXBcbiIsIGJlZ2luLCBiZWdpbiArIDE2KTsKKyAgICBQQVNfTVRFX1NFVF9UQUcoYmVnaW4pOwor
CisgICAgLy8gRW5zdXJlIGJlZ2luIGlzIGEgbXVsdGlwbGUgb2YgMzIgYnl0ZXMgZnJvbSB0aGUg
ZW5kLgorICAgIGJlZ2luICs9IHNpemUgJSAzMjsKKworICAgIGlmIChQQVNfTVRFX0ZFQVRVUkVf
RU5BQkxFRChQQVNfTVRFX0ZFQVRVUkVfTE9HX09OX1RBRykpCisgICAgICAgIHByaW50ZigiW01U
RV1cdCAgICBEb2luZyBTVDJHIGxvb3AgZnJvbSAlcCB0byAlcFxuIiwgYmVnaW4sIGVuZCk7Cisg
ICAgd2hpbGUgKGJlZ2luIDwgZW5kKSB7CisgICAgICAgIHVpbnRwdHJfdCBudW1fZ3JhbnVsZXNf
dG9fc3QyZyA9ICh1aW50cHRyX3QpKGVuZCAtIGJlZ2luKSAvICh1aW50cHRyX3QpMzIgJiAxNTsK
KyAgICAgICAgaWYgKCFudW1fZ3JhbnVsZXNfdG9fc3QyZykKKyAgICAgICAgICAgIG51bV9ncmFu
dWxlc190b19zdDJnID0gMTY7CisgICAgICAgIGlmIChQQVNfTVRFX0ZFQVRVUkVfRU5BQkxFRChQ
QVNfTVRFX0ZFQVRVUkVfTE9HX09OX1RBRykpIHsKKyAgICAgICAgICAgIHNpemVfdCB0YWdnZWRf
c2l6ZSA9IG51bV9ncmFudWxlc190b19zdDJnICogMzI7CisgICAgICAgICAgICBwcmludGYoIltN
VEVdXHQgICAgICAgIFRhZ2dpbmcgJXp1IGJ5dGVzIGZyb20gJXAgdG8gJXBcbiIsIHRhZ2dlZF9z
aXplLCBiZWdpbiwgYmVnaW4gKyB0YWdnZWRfc2l6ZSk7CisgICAgICAgIH0KKyAgICAgICAgc3dp
dGNoIChudW1fZ3JhbnVsZXNfdG9fc3QyZykgeworICAgICAgICBjYXNlIDE2OiBQQVNfTVRFX1NF
VF9UQUdfUEFJUl9XSVRIX09GRlNFVChiZWdpbiwgNDgwKTsKKyAgICAgICAgY2FzZSAxNTogUEFT
X01URV9TRVRfVEFHX1BBSVJfV0lUSF9PRkZTRVQoYmVnaW4sIDQ0OCk7CisgICAgICAgIGNhc2Ug
MTQ6IFBBU19NVEVfU0VUX1RBR19QQUlSX1dJVEhfT0ZGU0VUKGJlZ2luLCA0MTYpOworICAgICAg
ICBjYXNlIDEzOiBQQVNfTVRFX1NFVF9UQUdfUEFJUl9XSVRIX09GRlNFVChiZWdpbiwgMzg0KTsK
KyAgICAgICAgY2FzZSAxMjogUEFTX01URV9TRVRfVEFHX1BBSVJfV0lUSF9PRkZTRVQoYmVnaW4s
IDM1Mik7CisgICAgICAgIGNhc2UgMTE6IFBBU19NVEVfU0VUX1RBR19QQUlSX1dJVEhfT0ZGU0VU
KGJlZ2luLCAzMjApOworICAgICAgICBjYXNlIDEwOiBQQVNfTVRFX1NFVF9UQUdfUEFJUl9XSVRI
X09GRlNFVChiZWdpbiwgMjg4KTsKKyAgICAgICAgY2FzZSA5OiBQQVNfTVRFX1NFVF9UQUdfUEFJ
Ul9XSVRIX09GRlNFVChiZWdpbiwgMjU2KTsKKyAgICAgICAgY2FzZSA4OiBQQVNfTVRFX1NFVF9U
QUdfUEFJUl9XSVRIX09GRlNFVChiZWdpbiwgMjI0KTsKKyAgICAgICAgY2FzZSA3OiBQQVNfTVRF
X1NFVF9UQUdfUEFJUl9XSVRIX09GRlNFVChiZWdpbiwgMTkyKTsKKyAgICAgICAgY2FzZSA2OiBQ
QVNfTVRFX1NFVF9UQUdfUEFJUl9XSVRIX09GRlNFVChiZWdpbiwgMTYwKTsKKyAgICAgICAgY2Fz
ZSA1OiBQQVNfTVRFX1NFVF9UQUdfUEFJUl9XSVRIX09GRlNFVChiZWdpbiwgMTI4KTsKKyAgICAg
ICAgY2FzZSA0OiBQQVNfTVRFX1NFVF9UQUdfUEFJUl9XSVRIX09GRlNFVChiZWdpbiwgOTYpOwor
ICAgICAgICBjYXNlIDM6IFBBU19NVEVfU0VUX1RBR19QQUlSX1dJVEhfT0ZGU0VUKGJlZ2luLCA2
NCk7CisgICAgICAgIGNhc2UgMjogUEFTX01URV9TRVRfVEFHX1BBSVJfV0lUSF9PRkZTRVQoYmVn
aW4sIDMyKTsKKyAgICAgICAgY2FzZSAxOiBQQVNfTVRFX1NFVF9UQUdfUEFJUihiZWdpbik7IGJy
ZWFrOworICAgICAgICBkZWZhdWx0OiBfX2J1aWx0aW5fdW5yZWFjaGFibGUoKTsKKyAgICAgICAg
fQorICAgICAgICBiZWdpbiArPSBudW1fZ3JhbnVsZXNfdG9fc3QyZyAqIDMyOworICAgIH0KK30K
KworaW5saW5lIF9fYXR0cmlidXRlX18oKGFsd2F5c19pbmxpbmUpKSB2b2lkIHBhc19tdGVfdGFn
X2RjX2d2YV9sb29wKHVpbnQ4X3QqIGJlZ2luLCBzaXplX3Qgc2l6ZSkKK3sKKyAgICAvKiBHZXQg
dGhlIHNtYWxsLW9iamVjdCBjYXNlIG91dCBvZiB0aGUgd2F5LiAqLworICAgIGlmIChzaXplIDw9
IDQ4KSB7CisgICAgICAgIGlmIChQQVNfTVRFX0ZFQVRVUkVfRU5BQkxFRChQQVNfTVRFX0ZFQVRV
UkVfTE9HX09OX1RBRykpCisgICAgICAgICAgICBwcmludGYoIltNVEVdXHQgICAgVGFnZ2luZyBz
bWFsbCBvYmplY3Qgd2l0aCBzaXplICV6dSBmcm9tICVwIHRvICVwXG4iLCBzaXplLCBiZWdpbiwg
YmVnaW4gKyBzaXplKTsKKyAgICAgICAgUEFTX01URV9TRVRfVEFHKGJlZ2luKTsKKyAgICAgICAg
aWYgKHNpemUgPD0gMTYpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIFBBU19NVEVfU0VU
X1RBR19QQUlSKGJlZ2luKTsKKyAgICAgICAgaWYgKHNpemUgPiAzMikKKyAgICAgICAgICAgIFBB
U19NVEVfU0VUX1RBR19XSVRIX09GRlNFVChiZWdpbiwgMzIpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgLyogTm93IHRoYXQgd2Uga25vdyB0aGUgc2l6ZSBpcyBhdCBsZWFzdCA2NCBi
eXRlcywgd2UgY2FuIHVzZSBEQyBHVkEuICovCisgICAgLyogRmlyc3QsIHdlIGhhbmRsZSB0aGUg
Zmlyc3QgNjQgYnl0ZXMsIHdoaWNoIG1heSBub3QgYmUgYWxpZ25lZCB0byA2NCBieXRlcy4gKi8K
KyAgICBpZiAoUEFTX01URV9GRUFUVVJFX0VOQUJMRUQoUEFTX01URV9GRUFUVVJFX0xPR19PTl9U
QUcpKQorICAgICAgICBwcmludGYoIltNVEVdXHQgICAgVGFnZ2luZyBpbml0aWFsIDY0IGJ5dGVz
IGZyb20gJXAgdG8gJXBcbiIsIGJlZ2luLCBiZWdpbiArIDY0KTsKKyAgICBQQVNfTVRFX1NFVF9U
QUdfUEFJUihiZWdpbik7CisgICAgUEFTX01URV9TRVRfVEFHX1BBSVJfV0lUSF9PRkZTRVQoYmVn
aW4sIDMyKTsKKworICAgIHVpbnQ4X3QqIGVuZCA9IGJlZ2luICsgc2l6ZTsKKworICAgIGlmIChz
aXplID4gMTI4KSB7CisgICAgICAgIC8qIE5leHQsIHdlIGFsaWduIG91ciBiZWdpbiBhbmQgZW5k
LCBpbiBwcmVwYXJhdGlvbiBmb3IgZG9pbmcgYSBEQyBHVkEgbG9vcC4gKi8KKyAgICAgICAgYmVn
aW4gPSAodWludDhfdCopKCh1aW50cHRyX3QpYmVnaW4gKyBEQ19HVkFfR1JBTlVMRV9TSVpFIC0g
MSAmIChpbnRwdHJfdCktRENfR1ZBX0dSQU5VTEVfU0laRSk7CisgICAgICAgIHVpbnQ4X3QqIGVu
ZF9hbGlnbmVkID0gKHVpbnQ4X3QqKSgodWludHB0cl90KWVuZCAmIChpbnRwdHJfdCktRENfR1ZB
X0dSQU5VTEVfU0laRSk7CisKKyAgICAgICAgaWYgKFBBU19NVEVfRkVBVFVSRV9FTkFCTEVEKFBB
U19NVEVfRkVBVFVSRV9MT0dfT05fVEFHKSkKKyAgICAgICAgICAgIHByaW50ZigiW01URV1cdCAg
ICBEb2luZyBhbGlnbmVkIERDIEdWQSBsb29wIGZyb20gJXAgdG8gJXBcbiIsIGJlZ2luLCBlbmRf
YWxpZ25lZCk7CisgICAgICAgIHdoaWxlIChiZWdpbiA8IGVuZF9hbGlnbmVkKSB7CisgICAgICAg
ICAgICBQQVNfTVRFX1NFVF9UQUdTX1VTSU5HX0RDX0dWQShiZWdpbik7CisgICAgICAgICAgICBi
ZWdpbiArPSBEQ19HVkFfR1JBTlVMRV9TSVpFOworICAgICAgICB9CisgICAgfQorCisgICAgLyog
SGFuZGxlIHRoZSBsYXN0IDY0IGJ5dGVzLCBjb3ZlcmluZyB0aGUgdW5hbGlnbmVkIHJlbWFpbmRl
ciB3ZSBtYXkgaGF2ZSAqLworICAgIC8qIG1pc3NlZCBpbiBvdXIgREMgR1ZBIGxvb3AuICovCisg
ICAgaWYgKFBBU19NVEVfRkVBVFVSRV9FTkFCTEVEKFBBU19NVEVfRkVBVFVSRV9MT0dfT05fVEFH
KSkKKyAgICAgICAgcHJpbnRmKCJbTVRFXVx0ICAgIFRhZ2dpbmcgZmluYWwgNjQgYnl0ZXMgZnJv
bSAlcCB0byAlcFxuIiwgZW5kIC0gNjQsIGVuZCk7CisgICAgUEFTX01URV9TRVRfVEFHX1BBSVJf
V0lUSF9PRkZTRVQoZW5kLCAtNjQpOworICAgIFBBU19NVEVfU0VUX1RBR19QQUlSX1dJVEhfT0ZG
U0VUKGVuZCwgLTMyKTsKK30KKworaW5saW5lIF9fYXR0cmlidXRlX18oKGFsd2F5c19pbmxpbmUp
KSB2b2lkIHBhc19tdGVfdGFnX2RjX2d2YV9rbm93bl9tZWRpdW0odWludDhfdCogYmVnaW4sIHNp
emVfdCBzaXplKQoreworICAgIHVpbnQ4X3QqIGVuZCA9IGJlZ2luICsgc2l6ZTsKKyAgICB3aGls
ZSAoYmVnaW4gPCBlbmQpIHsKKyAgICAgICAgUEFTX01URV9TRVRfVEFHU19VU0lOR19EQ19HVkEo
YmVnaW4pOworICAgICAgICBQQVNfTVRFX1NFVF9UQUdTX1VTSU5HX0RDX0dWQShiZWdpbiArIERD
X0dWQV9HUkFOVUxFX1NJWkUpOworICAgICAgICBQQVNfTVRFX1NFVF9UQUdTX1VTSU5HX0RDX0dW
QShiZWdpbiArIERDX0dWQV9HUkFOVUxFX1NJWkUgKiAyKTsKKyAgICAgICAgUEFTX01URV9TRVRf
VEFHU19VU0lOR19EQ19HVkEoYmVnaW4gKyBEQ19HVkFfR1JBTlVMRV9TSVpFICogMyk7CisgICAg
ICAgIFBBU19NVEVfU0VUX1RBR1NfVVNJTkdfRENfR1ZBKGJlZ2luICsgRENfR1ZBX0dSQU5VTEVf
U0laRSAqIDQpOworICAgICAgICBQQVNfTVRFX1NFVF9UQUdTX1VTSU5HX0RDX0dWQShiZWdpbiAr
IERDX0dWQV9HUkFOVUxFX1NJWkUgKiA1KTsKKyAgICAgICAgUEFTX01URV9TRVRfVEFHU19VU0lO
R19EQ19HVkEoYmVnaW4gKyBEQ19HVkFfR1JBTlVMRV9TSVpFICogNik7CisgICAgICAgIFBBU19N
VEVfU0VUX1RBR1NfVVNJTkdfRENfR1ZBKGJlZ2luICsgRENfR1ZBX0dSQU5VTEVfU0laRSAqIDcp
OworICAgICAgICBiZWdpbiArPSBEQ19HVkFfR1JBTlVMRV9TSVpFICogODsKKyAgICB9Cit9CisK
K2lubGluZSBfX2F0dHJpYnV0ZV9fKChhbHdheXNfaW5saW5lKSkgdm9pZCBwYXNfbXRlX3RhZ19k
Y19ndmFfc3dpdGNoaW5nKHVpbnQ4X3QqIGJlZ2luLCBzaXplX3Qgc2l6ZSkKK3sKKyAgICAvKiBH
ZXQgdGhlIHNtYWxsLW9iamVjdCBjYXNlIG91dCBvZiB0aGUgd2F5LiAqLworICAgIGlmIChzaXpl
IDw9IDQ4KSB7CisgICAgICAgIGlmIChQQVNfTVRFX0ZFQVRVUkVfRU5BQkxFRChQQVNfTVRFX0ZF
QVRVUkVfTE9HX09OX1RBRykpCisgICAgICAgICAgICBwcmludGYoIltNVEVdXHQgICAgVGFnZ2lu
ZyBzbWFsbCBvYmplY3Qgd2l0aCBzaXplICV6dSBmcm9tICVwIHRvICVwXG4iLCBzaXplLCBiZWdp
biwgYmVnaW4gKyBzaXplKTsKKyAgICAgICAgUEFTX01URV9TRVRfVEFHKGJlZ2luKTsKKyAgICAg
ICAgaWYgKHNpemUgPD0gMTYpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIFBBU19NVEVf
U0VUX1RBR19QQUlSKGJlZ2luKTsKKyAgICAgICAgaWYgKHNpemUgPiAzMikKKyAgICAgICAgICAg
IFBBU19NVEVfU0VUX1RBR19XSVRIX09GRlNFVChiZWdpbiwgMzIpOworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgLyogTm93IHRoYXQgd2Uga25vdyB0aGUgc2l6ZSBpcyBhdCBsZWFzdCA2
NCBieXRlcywgd2UgY2FuIHVzZSBEQyBHVkEuICovCisgICAgLyogRmlyc3QsIHdlIGhhbmRsZSB0
aGUgZmlyc3QgNjQgYnl0ZXMsIHdoaWNoIG1heSBub3QgYmUgYWxpZ25lZCB0byA2NCBieXRlcy4g
Ki8KKyAgICBpZiAoUEFTX01URV9GRUFUVVJFX0VOQUJMRUQoUEFTX01URV9GRUFUVVJFX0xPR19P
Tl9UQUcpKQorICAgICAgICBwcmludGYoIltNVEVdXHQgICAgVGFnZ2luZyBpbml0aWFsIDY0IGJ5
dGVzIGZyb20gJXAgdG8gJXBcbiIsIGJlZ2luLCBiZWdpbiArIDY0KTsKKyAgICBQQVNfTVRFX1NF
VF9UQUdfUEFJUihiZWdpbik7CisgICAgUEFTX01URV9TRVRfVEFHX1BBSVJfV0lUSF9PRkZTRVQo
YmVnaW4sIDMyKTsKKworICAgIHVpbnQ4X3QqIGVuZCA9IGJlZ2luICsgc2l6ZTsKKworICAgIGlm
IChzaXplID4gMTI4KSB7CisgICAgICAgIC8qIE5leHQsIHdlIGFsaWduIG91ciBiZWdpbiBhbmQg
ZW5kLCBpbiBwcmVwYXJhdGlvbiBmb3IgZG9pbmcgYSBEQyBHVkEgbG9vcC4gKi8KKyAgICAgICAg
YmVnaW4gPSAodWludDhfdCopKCh1aW50cHRyX3QpYmVnaW4gKyA2MyAmIChpbnRwdHJfdCktNjQp
OworICAgICAgICB1aW50OF90KiBlbmRfYWxpZ25lZCA9ICh1aW50OF90KikoKHVpbnRwdHJfdCll
bmQgJiAoaW50cHRyX3QpLTY0KTsKKworICAgICAgICBpZiAoUEFTX01URV9GRUFUVVJFX0VOQUJM
RUQoUEFTX01URV9GRUFUVVJFX0xPR19PTl9UQUcpKQorICAgICAgICAgICAgcHJpbnRmKCJbTVRF
XVx0ICAgIERvaW5nIGFsaWduZWQgREMgR1ZBIGxvb3AgZnJvbSAlcCB0byAlcFxuIiwgYmVnaW4s
IGVuZF9hbGlnbmVkKTsKKyAgICAgICAgd2hpbGUgKGJlZ2luIDwgZW5kX2FsaWduZWQpIHsKKyAg
ICAgICAgICAgIHVpbnRwdHJfdCBudW1fZ3JhbnVsZXNfdG9fZ3ZhID0gKHVpbnRwdHJfdCkoZW5k
X2FsaWduZWQgLSBiZWdpbikgLyAodWludHB0cl90KURDX0dWQV9HUkFOVUxFX1NJWkUgJSAxNjsK
KyAgICAgICAgICAgIGlmICghbnVtX2dyYW51bGVzX3RvX2d2YSkKKyAgICAgICAgICAgICAgICBu
dW1fZ3JhbnVsZXNfdG9fZ3ZhID0gMTY7CisgICAgICAgICAgICBpZiAoUEFTX01URV9GRUFUVVJF
X0VOQUJMRUQoUEFTX01URV9GRUFUVVJFX0xPR19PTl9UQUcpKSB7CisgICAgICAgICAgICAgICAg
c2l6ZV90IHRhZ2dlZF9zaXplID0gbnVtX2dyYW51bGVzX3RvX2d2YSAqIERDX0dWQV9HUkFOVUxF
X1NJWkU7CisgICAgICAgICAgICAgICAgcHJpbnRmKCJbTVRFXVx0ICAgICAgICBUYWdnaW5nICV6
dSBieXRlcyBmcm9tICVwIHRvICVwXG4iLCB0YWdnZWRfc2l6ZSwgYmVnaW4sIGJlZ2luICsgdGFn
Z2VkX3NpemUpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgc3dpdGNoIChudW1fZ3JhbnVs
ZXNfdG9fZ3ZhKSB7CisgICAgICAgICAgICBjYXNlIDE2OiBQQVNfTVRFX1NFVF9UQUdTX1VTSU5H
X0RDX0dWQShiZWdpbiArIERDX0dWQV9HUkFOVUxFX1NJWkUgKiAxNSk7CisgICAgICAgICAgICBj
YXNlIDE1OiBQQVNfTVRFX1NFVF9UQUdTX1VTSU5HX0RDX0dWQShiZWdpbiArIERDX0dWQV9HUkFO
VUxFX1NJWkUgKiAxNCk7CisgICAgICAgICAgICBjYXNlIDE0OiBQQVNfTVRFX1NFVF9UQUdTX1VT
SU5HX0RDX0dWQShiZWdpbiArIERDX0dWQV9HUkFOVUxFX1NJWkUgKiAxMyk7CisgICAgICAgICAg
ICBjYXNlIDEzOiBQQVNfTVRFX1NFVF9UQUdTX1VTSU5HX0RDX0dWQShiZWdpbiArIERDX0dWQV9H
UkFOVUxFX1NJWkUgKiAxMik7CisgICAgICAgICAgICBjYXNlIDEyOiBQQVNfTVRFX1NFVF9UQUdT
X1VTSU5HX0RDX0dWQShiZWdpbiArIERDX0dWQV9HUkFOVUxFX1NJWkUgKiAxMSk7CisgICAgICAg
ICAgICBjYXNlIDExOiBQQVNfTVRFX1NFVF9UQUdTX1VTSU5HX0RDX0dWQShiZWdpbiArIERDX0dW
QV9HUkFOVUxFX1NJWkUgKiAxMCk7CisgICAgICAgICAgICBjYXNlIDEwOiBQQVNfTVRFX1NFVF9U
QUdTX1VTSU5HX0RDX0dWQShiZWdpbiArIERDX0dWQV9HUkFOVUxFX1NJWkUgKiA5KTsKKyAgICAg
ICAgICAgIGNhc2UgOTogUEFTX01URV9TRVRfVEFHU19VU0lOR19EQ19HVkEoYmVnaW4gKyBEQ19H
VkFfR1JBTlVMRV9TSVpFICogOCk7CisgICAgICAgICAgICBjYXNlIDg6IFBBU19NVEVfU0VUX1RB
R1NfVVNJTkdfRENfR1ZBKGJlZ2luICsgRENfR1ZBX0dSQU5VTEVfU0laRSAqIDcpOworICAgICAg
ICAgICAgY2FzZSA3OiBQQVNfTVRFX1NFVF9UQUdTX1VTSU5HX0RDX0dWQShiZWdpbiArIERDX0dW
QV9HUkFOVUxFX1NJWkUgKiA2KTsKKyAgICAgICAgICAgIGNhc2UgNjogUEFTX01URV9TRVRfVEFH
U19VU0lOR19EQ19HVkEoYmVnaW4gKyBEQ19HVkFfR1JBTlVMRV9TSVpFICogNSk7CisgICAgICAg
ICAgICBjYXNlIDU6IFBBU19NVEVfU0VUX1RBR1NfVVNJTkdfRENfR1ZBKGJlZ2luICsgRENfR1ZB
X0dSQU5VTEVfU0laRSAqIDQpOworICAgICAgICAgICAgY2FzZSA0OiBQQVNfTVRFX1NFVF9UQUdT
X1VTSU5HX0RDX0dWQShiZWdpbiArIERDX0dWQV9HUkFOVUxFX1NJWkUgKiAzKTsKKyAgICAgICAg
ICAgIGNhc2UgMzogUEFTX01URV9TRVRfVEFHU19VU0lOR19EQ19HVkEoYmVnaW4gKyBEQ19HVkFf
R1JBTlVMRV9TSVpFICogMik7CisgICAgICAgICAgICBjYXNlIDI6IFBBU19NVEVfU0VUX1RBR1Nf
VVNJTkdfRENfR1ZBKGJlZ2luICsgRENfR1ZBX0dSQU5VTEVfU0laRSk7CisgICAgICAgICAgICBj
YXNlIDE6IFBBU19NVEVfU0VUX1RBR1NfVVNJTkdfRENfR1ZBKGJlZ2luKTsgYnJlYWs7CisgICAg
ICAgICAgICBkZWZhdWx0OiBfX2J1aWx0aW5fdW5yZWFjaGFibGUoKTsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIGJlZ2luICs9IG51bV9ncmFudWxlc190b19ndmEgKiBEQ19HVkFfR1JBTlVM
RV9TSVpFOworICAgICAgICB9CisgICAgfQorCisgICAgLyogSGFuZGxlIHRoZSBsYXN0IDY0IGJ5
dGVzLCBjb3ZlcmluZyB0aGUgdW5hbGlnbmVkIHJlbWFpbmRlciB3ZSBtYXkgaGF2ZSAqLworICAg
IC8qIG1pc3NlZCBpbiBvdXIgREMgR1ZBIGxvb3AuICovCisgICAgaWYgKFBBU19NVEVfRkVBVFVS
RV9FTkFCTEVEKFBBU19NVEVfRkVBVFVSRV9MT0dfT05fVEFHKSkKKyAgICAgICAgcHJpbnRmKCJb
TVRFXVx0ICAgIFRhZ2dpbmcgZmluYWwgNjQgYnl0ZXMgZnJvbSAlcCB0byAlcFxuIiwgZW5kIC0g
NjQsIGVuZCk7CisgICAgUEFTX01URV9TRVRfVEFHX1BBSVJfV0lUSF9PRkZTRVQoZW5kLCAtNjQp
OworICAgIFBBU19NVEVfU0VUX1RBR19QQUlSX1dJVEhfT0ZGU0VUKGVuZCwgLTMyKTsKK30KKwor
UEFTX0lHTk9SRV9XQVJOSU5HU19FTkQKKworI2RlZmluZSBBU1NFUlRfUFJJT1JfVEFHX0lTX0RJ
U0pPSU5UKHB0cikgZG8geyBcCisgICAgICAgIHVpbnQ4X3QqIHByZXZfcHRyID0gKHVpbnQ4X3Qq
KSgodWludHB0cl90KXB0ciAtIDE2KTsgXAorICAgICAgICB1aW50OF90KiBjdXJyX3B0ciA9ICh1
aW50OF90KilwdHI7IFwKKyAgICAgICAgaWYgKFBBU19NVEVfU01BTExfUEFHRV9OTyhwcmV2X3B0
cikgPT0gUEFTX01URV9TTUFMTF9QQUdFX05PKGN1cnJfcHRyKSkgeyBcCisgICAgICAgICAgICBQ
QVNfTVRFX0dFVF9UQUcocHJldl9wdHIpOyBcCisgICAgICAgICAgICBQQVNfTVRFX0dFVF9UQUco
Y3Vycl9wdHIpOyBcCisgICAgICAgICAgICB1aW50cHRyX3QgcHJldl90YWcgPSAodWludHB0cl90
KXByZXZfcHRyICYgUEFTX01URV9UQUdfTUFTSzsgXAorICAgICAgICAgICAgdWludHB0cl90IGN1
cnJfdGFnID0gKHVpbnRwdHJfdCljdXJyX3B0ciAmIFBBU19NVEVfVEFHX01BU0s7IFwKKyAgICAg
ICAgICAgIGlmIChwcmV2X3RhZyA9PSBjdXJyX3RhZyAmJiAhY3Vycl90YWcpIFwKKyAgICAgICAg
ICAgICAgICBwcmludGYoIltNVEVdXHRBZGphY2VudCB0YWcgY29sbGlzaW9uIGJldHdlZW4gJXAg
YW5kICVwOiBjcmFzaGluZ1xuIiwgcHJldl9wdHIsIGN1cnJfcHRyKTsgXAorICAgICAgICAgICAg
UEFTX01URV9BU1NFUlQocHJldl90YWcgIT0gY3Vycl90YWcgfHwgIWN1cnJfdGFnKTsgXAorICAg
ICAgICB9IFwKKyAgICB9IHdoaWxlICgwKQorCisjZGVmaW5lIFRBR19SRUdJT05fRlJPTV9QT0lO
VEVSKHB0ciwgc2l6ZSwgaXNfa25vd25fbWVkaXVtKSBkbyB7IFwKKyAgICAgICAgdWludDhfdCog
cGFzX210ZV9iZWdpbiA9ICh1aW50OF90KikocHRyKTsgXAorICAgICAgICBzaXplX3QgcGFzX210
ZV9zaXplID0gKHNpemVfdCkoc2l6ZSk7IFwKKyAgICAgICAgaWYgKFBBU19NVEVfRkVBVFVSRV9F
TkFCTEVEKFBBU19NVEVfRkVBVFVSRV9MT0dfT05fVEFHKSkgeyBcCisgICAgICAgICAgICB2b2lk
KiBwdXJpZmllZF9iZWdpbiA9IHBhc19tdGVfYmVnaW47IFwKKyAgICAgICAgICAgIFBBU19NVEVf
R0VUX1RBRyhwdXJpZmllZF9iZWdpbik7IFwKKyAgICAgICAgICAgIHByaW50ZigiW01URV1cdFRh
Z2dpbmcgJXp1IGJ5dGVzIGZyb20gJXAgdG8gJXAgKG9sZCB0YWcgaXMgJXApXG4iLCBwYXNfbXRl
X3NpemUsIHBhc19tdGVfYmVnaW4sIHBhc19tdGVfYmVnaW4gKyBwYXNfbXRlX3NpemUsIHB1cmlm
aWVkX2JlZ2luKTsgXAorICAgICAgICB9IFwKKyAgICAgICAgaWYgKGlzX2tub3duX21lZGl1bSkg
XAorICAgICAgICAgICAgcGFzX210ZV90YWdfZGNfZ3ZhX2tub3duX21lZGl1bShwYXNfbXRlX2Jl
Z2luLCBwYXNfbXRlX3NpemUpOyBcCisgICAgICAgIGVsc2UgXAorICAgICAgICAgICAgcGFzX210
ZV90YWdfc3QyZ19sb29wKHBhc19tdGVfYmVnaW4sIHBhc19tdGVfc2l6ZSk7IFwKKyAgICB9IHdo
aWxlICgwKQorCisvLyBQdXJpZnkgaXMgdXNlZCB0byByZWxvYWQgdGhlIGNvcnJlY3QgdGFnIGZv
ciBhIHBvaW50ZXIgZnJvbSB0YWcKKy8vIG1lbW9yeS4gV2UgZ2VuZXJhbGx5IHVzZSB0aGlzIHdo
ZW4gd2UgYWRkIHRvIG9yIHJvdW5kIGRvd24gYSBwb2ludGVyLAorLy8gYW5kIG5lZWQgdG8gbW9k
aWZ5IG1lbW9yeSBhdCB0aGF0IG5ldyBhZGRyZXNzLCBzdWNoIGFzIHBhZ2UgaGVhZGVycy4KKwor
I2RlZmluZSBQQVNfTVRFX1BVUklGWShhKSBkbyB7IFwKKyAgICAgICAgaWYgKFBBU19VU0VfTVRF
KSB7IFwKKyAgICAgICAgICAgIGlmIChQQVNfTVRFX0ZFQVRVUkVfRU5BQkxFRChQQVNfTVRFX0ZF
QVRVUkVfTE9HX09OX1BVUklGWSkpIFwKKyAgICAgICAgICAgICAgICBwcmludGYoIltNVEVdXHRQ
dXJpZmllZCAlcCIsICh2b2lkKikoYSkpOyBcCisgICAgICAgICAgICBQQVNfTVRFX0dFVF9UQUco
YSk7IFwKKyAgICAgICAgICAgIGlmIChQQVNfTVRFX0ZFQVRVUkVfRU5BQkxFRChQQVNfTVRFX0ZF
QVRVUkVfTE9HX09OX1BVUklGWSkpIFwKKyAgICAgICAgICAgICAgICBwcmludGYoIiB0byAlcFxu
IiwgKHZvaWQqKShhKSk7IFwKKyAgICAgICAgfSBcCisgICAgfSB3aGlsZSAoMCkKKworLy8gQ2xl
YXIgaXMgdXNlZCB0byBjYW5vbmljYWxpemUgKHplcm8gb3V0KSB0aGUgdGFnIGJpdHMgb2YgYSBw
b2ludGVyLgorLy8gV2UgZ2VuZXJhbGx5IHVzZSB0aGlzIHdoZW4gd2Ugd2FudCB0byB0cmVhdCB0
aGUgYWRkcmVzcyBpdHNlbGYgYXMKKy8vIGFuIGludGVnZXIgb3Iga2V5LCBhbmQgZG9uJ3QgaW50
ZW5kIHRvIGxvYWQgZnJvbSBpdCBkaXJlY3RseS4KKy8vIFdlIGRvbid0IGNoZWNrIGZvciBQQVNf
TVRFIGVuYWJsZW1lbnQgaW4gdGhlc2UgY2FzZXMsIHNpbmNlIG9uIG5vbi1QQVNfTVRFCisvLyBo
YXJkd2FyZSwgdGhlIHRhZyBzaG91bGQgYmUgemVybyBhbnl3YXksIGFuZCBtYXNraW5nIG9mZiB0
aGUgYml0cworLy8gc2hvdWxkIGJlIGZhc3RlciB0aGFuIGJyYW5jaGluZyBvbiBnX2NvbmZpZy4K
KworI2RlZmluZSBQQVNfTVRFX0NMRUFSKGEpIGRvIHsgXAorICAgICAgICBhICY9IH5QQVNfTVRF
X1RBR19NQVNLOyBcCisgICAgfSB3aGlsZSAoMCkKKworI2RlZmluZSBQQVNfTVRFX0NMRUFSX1BB
SVIoYSwgYikgZG8geyBcCisgICAgICAgIGEgJj0gflBBU19NVEVfVEFHX01BU0s7IFwKKyAgICAg
ICAgYiAmPSB+UEFTX01URV9UQUdfTUFTSzsgXAorICAgIH0gd2hpbGUgKDApCisKKy8vIFRhZ2dp
bmcgaXMgd2hhdCBhY3R1YWxseSBhcHBsaWVzIGFuIFBBU19NVEUgdGFnIHRvIGFuIGFsbG9jYXRp
b24uIElmIHRoZQorLy8gcGFzX2FsbG9jYXRpb25fbW9kZSBwYXNzZWQgdG8gdGhpcyBtYWNybyBp
cyBjb21wYWN0LCB3ZSB6ZXJvIHRoZSB1cHBlcgorLy8gYml0cyBvZiB0aGUgcG9pbnRlciBhbmQg
dGFnIHRoZSBvYmplY3Qgd2l0aCBhIHplcm8gdGFnLiBPdGhlcndpc2UsIHdlCisvLyByYW5kb21s
eSBjaG9vc2UgYSBub256ZXJvIHRhZy4gSXQncyBhc3N1bWVkIHRoYXQgdGhpcyBtYWNybyB3aWxs
IGJlCisvLyBpbnZva2VkIHdpdGggYSBzaXplIHRoYXQncyBhIG11bHRpcGxlIG9mIDE2LCBhbmQg
aXQncyByZWFsbHkgaW1wb3J0YW50CisvLyB0aGF0IHRoZSBzaXplIHBhc3NlZCBiZSB0aGUgYWxs
b2NhdGlvbiBzaXplIG9mIHRoZSBvYmplY3QsIG5vdCB0aGUKKy8vIGFjdHVhbCBzaXplLgorI2Rl
ZmluZSBQQVNfTVRFX1RBR19SRUdJT04ocHRyLCBzaXplLCBtb2RlLCBpc19hbGxvY2F0b3JfaG9t
b2dlbmVvdXMsIGlzX2tub3duX21lZGl1bSkgZG8geyBcCisgICAgICAgIGlmIChQQVNfTVRFX1NI
T1VMRF9TVE9SRV9UQUcpIHsgXAorICAgICAgICAgICAgaWYgKG1vZGUgIT0gcGFzX25vbl9jb21w
YWN0X2FsbG9jYXRpb25fbW9kZSkgXAorICAgICAgICAgICAgICAgIHB0ciAmPSB+UEFTX01URV9U
QUdfTUFTSzsgXAorICAgICAgICAgICAgZWxzZSB7IFwKKyAgICAgICAgICAgICAgICBpZiAoUEFT
X01URV9GRUFUVVJFX0VOQUJMRUQoUEFTX01URV9GRUFUVVJFX0FESkFDRU5UX1RBR19FWENMVVNJ
T04pICYmIGlzX2FsbG9jYXRvcl9ob21vZ2VuZW91cyA9PSBwYXNfbXRlX2hvbW9nZW5lb3VzX2Fs
bG9jYXRvcikgeyBcCisgICAgICAgICAgICAgICAgICAgIGlmICgoKCh1aW50cHRyX3QpcHRyICYg
UEFTX01URV9DQU5PTklDQUxfTUFTSykgLyBzaXplKSAmIDB4MSkgXAorICAgICAgICAgICAgICAg
ICAgICAgICAgUEFTX01URV9DUkVBVEVfUkFORE9NX1RBRyhwdHIsIHBhc19tdGVfb2RkX3RhZyk7
IFwKKyAgICAgICAgICAgICAgICAgICAgZWxzZSBcCisgICAgICAgICAgICAgICAgICAgICAgICBQ
QVNfTVRFX0NSRUFURV9SQU5ET01fVEFHKHB0ciwgcGFzX210ZV9ub256ZXJvX2V2ZW5fdGFnKTsg
XAorICAgICAgICAgICAgICAgIH0gZWxzZSBcCisgICAgICAgICAgICAgICAgICAgIFBBU19NVEVf
Q1JFQVRFX1JBTkRPTV9UQUcocHRyLCBwYXNfbXRlX2FueV9ub256ZXJvX3RhZyk7IFwKKyAgICAg
ICAgICAgIH0gXAorICAgICAgICAgICAgaWYgKG1vZGUgIT0gcGFzX2Fsd2F5c19jb21wYWN0X2Fs
bG9jYXRpb25fbW9kZSkgeyBcCisgICAgICAgICAgICAgICAgVEFHX1JFR0lPTl9GUk9NX1BPSU5U
RVIocHRyLCBzaXplLCBpc19rbm93bl9tZWRpdW0pOyBcCisgICAgICAgICAgICAgICAgaWYgKFBB
U19NVEVfRkVBVFVSRV9FTkFCTEVEKFBBU19NVEVfRkVBVFVSRV9BREpBQ0VOVF9UQUdfRVhDTFVT
SU9OKSBcCisgICAgICAgICAgICAgICAgICAgICYmIFBBU19NVEVfRkVBVFVSRV9FTkFCTEVEKFBB
U19NVEVfRkVBVFVSRV9BU1NFUlRfQURKQUNFTlRfVEFHU19BUkVfRElTSk9JTlQpIFwKKyAgICAg
ICAgICAgICAgICAgICAgJiYgaXNfYWxsb2NhdG9yX2hvbW9nZW5lb3VzID09IHBhc19tdGVfaG9t
b2dlbmVvdXNfYWxsb2NhdG9yKSB7IFwKKyAgICAgICAgICAgICAgICAgICAgQVNTRVJUX1BSSU9S
X1RBR19JU19ESVNKT0lOVChwdHIpOyBcCisgICAgICAgICAgICAgICAgICAgIEFTU0VSVF9QUklP
Ul9UQUdfSVNfRElTSk9JTlQocHRyICsgc2l6ZSk7IFwKKyAgICAgICAgICAgICAgICB9IFwKKyAg
ICAgICAgICAgIH0gXAorICAgICAgICB9IFwKKyAgICB9IHdoaWxlICgwKQorCisjZGVmaW5lIFBB
U19NVEVfVEFHX1JFR0lPTl9GUk9NX0lOSVRJQUxfQUxMT0NBVElPTihwdHIsIHNpemUsIG1vZGUs
IGlzX2FsbG9jYXRvcl9ob21vZ2VuZW91cywgaXNfa25vd25fbWVkaXVtKSBkbyB7IFwKKyAgICAg
ICAgUEFTX01URV9UQUdfUkVHSU9OKHB0ciwgc2l6ZSwgbW9kZSwgaXNfYWxsb2NhdG9yX2hvbW9n
ZW5lb3VzLCBpc19rbm93bl9tZWRpdW0pOyBcCisgICAgICAgIGlmIChQQVNfTVRFX0ZFQVRVUkVf
RU5BQkxFRChQQVNfTVRFX0ZFQVRVUkVfTE9HX09OX1RBRykpIHsgXAorICAgICAgICAgICAgdWlu
dDhfdCogcGFzX210ZV9iZWdpbiA9ICh1aW50OF90KikocHRyKTsgXAorICAgICAgICAgICAgc2l6
ZV90IHBhc19tdGVfc2l6ZSA9IChzaXplX3Qpc2l6ZTsgXAorICAgICAgICAgICAgcHJpbnRmKCJb
TVRFXVx0Rmlyc3QgdGltZSB0YWdnaW5nIHJlZ2lvbjogYWxsb2MtdGFnZ2luZyAlenUgYnl0ZXMg
ZnJvbSAlcCB0byAlcFxuIiwgcGFzX210ZV9zaXplLCBwYXNfbXRlX2JlZ2luLCBwYXNfbXRlX2Jl
Z2luICsgcGFzX210ZV9zaXplKTsgXAorICAgICAgICB9IFwKKyAgICB9IHdoaWxlICgwKQorCisv
LyBXZSBsZWF2ZSB0aGUgbWFqb3JpdHkgb2YgdGhlIHZpZXcgdG8gYmUgdGFnZ2VkIGFzIGluZGl2
aWR1YWwgc2VncmVnYXRlZAorLy8gYWxsb2NhdGlvbnMgYXJlIHNsYWItYWxsb2NhdGVkIGZyb20g
d2l0aGluIGl0LiBBbGwgd2UgbmVlZCB0byBkbyBoZXJlIGlzCisvLyB6ZXJvLXRhZyB0aGUgdHJh
aWxpbmctYnVmZmVyIHdoaWNoIHRoZSBzaGFyZWQgdmlldyBzaGFyZWQtYWxsb2NhdG9yIGxlYXZl
cworLy8gYXQgdGhlIGVuZCBvZiB0aGUgbmV3IHBhcnRpYWwgdmlldy4KKyNkZWZpbmUgUEFTX01U
RV9UQUdfQlVNUF9BTExPQ0FUSU9OX0ZPUl9QQVJUSUFMX1ZJRVcocGFnZV9jb25maWcsIHBhZ2Us
IHZpZXcsIGJ1bXAsIG1vZGUpIGRvIHsgXAorICAgICAgICBpZiAobW9kZSAhPSBwYXNfYWx3YXlz
X2NvbXBhY3RfYWxsb2NhdGlvbl9tb2RlKSB7IFwKKyAgICAgICAgICAgIHVpbnRwdHJfdCBwYWdl
X2JvdW5kYXJ5ID0gKHVpbnRwdHJfdClwYXNfcGFnZV9iYXNlX2JvdW5kYXJ5KCZwYWdlLT5iYXNl
LCBwYWdlX2NvbmZpZy5iYXNlKTsgXAorICAgICAgICAgICAgdWludHB0cl90IHB0ciA9IHBhZ2Vf
Ym91bmRhcnkgKyAoYnVtcC5uZXdfYnVtcCAtIDE2KTsgXAorICAgICAgICAgICAgVEFHX1JFR0lP
Tl9GUk9NX1BPSU5URVIocHRyLCAxNiwgUEFTX01URV9JU19LTk9XTl9NRURJVU1fUEFHRSgmcGFn
ZV9jb25maWcpKTsgXAorICAgICAgICAgICAgaWYgKFBBU19NVEVfRkVBVFVSRV9FTkFCTEVEKFBB
U19NVEVfRkVBVFVSRV9MT0dfT05fVEFHKSkgeyBcCisgICAgICAgICAgICAgICAgdWludHB0cl90
IGJ1bXBfYmFzZSA9IHBhZ2VfYm91bmRhcnkgKyBidW1wLm9sZF9idW1wOyBcCisgICAgICAgICAg
ICAgICAgcHJpbnRmKCJbTVRFXVx0VGFnZ2luZyAxNiBieXRlcyBmcm9tICVwIGZvciB0cmFpbGlu
Zy1idWZmZXIgb2YgcGFydGlhbCB2aWV3ICVwLCBidW1wIHN0YXJ0aW5nIGF0ICVwXG4iLCAodm9p
ZCopcHRyLCB2aWV3LCAodm9pZCopYnVtcF9iYXNlKTsgXAorICAgICAgICAgICAgfSBcCisgICAg
ICAgIH0gXAorICAgIH0gd2hpbGUgKDApCisKKyNkZWZpbmUgUEFTX01URV9UQUdfUkVHSU9OX0ZS
T01fT1RIRVJfQUxMT0NBVElPTihwdHIsIHNpemUsIG1vZGUsIGlzX2FsbG9jYXRvcl9ob21vZ2Vu
ZW91cywgaXNfa25vd25fbWVkaXVtKSBkbyB7IFwKKyAgICAgICAgaWYgKCFQQVNfTVRFX0ZFQVRV
UkVfRU5BQkxFRChQQVNfTVRFX0ZFQVRVUkVfUkVUQUdfT05fRlJFRSkpIHsgXAorICAgICAgICAg
ICAgUEFTX01URV9UQUdfUkVHSU9OKHB0ciwgc2l6ZSwgbW9kZSwgaXNfYWxsb2NhdG9yX2hvbW9n
ZW5lb3VzLCBpc19rbm93bl9tZWRpdW0pOyBcCisgICAgICAgICAgICBicmVhazsgXAorICAgICAg
ICB9IFwKKyAgICAgICAgdWludDhfdCogcGFzX210ZV9iZWdpbiA9ICh1aW50OF90KikocHRyKTsg
XAorICAgICAgICBzaXplX3QgcGFzX210ZV9zaXplID0gKHNpemVfdClzaXplOyBcCisgICAgICAg
IGlmIChtb2RlID09IHBhc19ub25fY29tcGFjdF9hbGxvY2F0aW9uX21vZGUpIHsgXAorICAgICAg
ICAgICAgLyogYXNzdW1lOiBzaXplID49IDE2ICYmIHB0ciAlIDE2ID09IDAgKi8gXAorICAgICAg
ICAgICAgaWYgKFBBU19NVEVfRkVBVFVSRV9FTkFCTEVEKFBBU19NVEVfRkVBVFVSRV9MT0dfT05f
VEFHKSkgXAorICAgICAgICAgICAgICAgIHByaW50ZigiW01URV1cdFNraXBwaW5nIGFsbG9jLXRh
Z2dpbmcgJXp1IGJ5dGVzIGZyb20gJXAgdG8gJXBcbiIsIHBhc19tdGVfc2l6ZSwgcGFzX210ZV9i
ZWdpbiwgcGFzX210ZV9iZWdpbiArIHBhc19tdGVfc2l6ZSk7IFwKKyAgICAgICAgICAgIFBBU19N
VEVfUFVSSUZZKHB0cik7IFwKKyAgICAgICAgfSBlbHNlIHsgXAorICAgICAgICAgICAgUEFTX01U
RV9UQUdfUkVHSU9OKHB0ciwgc2l6ZSwgbW9kZSwgaXNfYWxsb2NhdG9yX2hvbW9nZW5lb3VzLCBp
c19rbm93bl9tZWRpdW0pOyBcCisgICAgICAgIH0gXAorICAgIH0gd2hpbGUgKDApCisjZGVmaW5l
IFBBU19NVEVfVEFHX1JFR0lPTl9GUk9NX0RFQUxMT0NBVElPTihwYWdlX2NvbmZpZywgcHRyLCBz
aXplLCBpc19hbGxvY2F0b3JfaG9tb2dlbmVvdXMpIGRvIHsgXAorICAgICAgICBpZiAoIVBBU19N
VEVfRkVBVFVSRV9FTkFCTEVEKFBBU19NVEVfRkVBVFVSRV9SRVRBR19PTl9GUkVFKSkgXAorICAg
ICAgICAgICAgYnJlYWs7IFwKKyAgICAgICAgUEFTX01URV9UQUdfUkVHSU9OKHB0ciwgc2l6ZSwg
cGFzX25vbl9jb21wYWN0X2FsbG9jYXRpb25fbW9kZSwgaXNfYWxsb2NhdG9yX2hvbW9nZW5lb3Vz
LCBQQVNfTVRFX0lTX0tOT1dOX01FRElVTV9QQUdFKCZwYWdlX2NvbmZpZykpOyBcCisgICAgfSB3
aGlsZSAoMCkKKworLy8gV2hlbiB6ZXJvaW5nIG91dCBtZW1vcnkgd2UgbmVlZCB0byBiZSBjYXJl
ZnVsIHRvIG5vdCBjbGVhciBpdHMgdGFnZ2VkIHN0YXR1cy4KKy8vIE5laXRoZXIgbWVtc2V0IG5v
ciBtYWNoX3ZtX2JlaGF2aW9yX3NldCB3aWxsIGRvIHNvLCBidXQgcmUtbWFwcGluZyB0aGUgcGFn
ZQorLy8gd2l0aCBtbWFwIG9yIG1hY2hfdm1fbWFwIHdpbGwgZG8gc28gdW5sZXNzIHdlIGZvcmNl
IGl0IHRvIHVzZSBQQVNfVk1fTVRFLgorLy8gVGhpcyBoYXMgdGhlIHNpZGUgZWZmZWN0IG9mIG1h
a2luZyAqbm9uKi1QQVNfTVRFIHBhZ2VzIGludG8gdGFnZ2VkIG1lbW9yeSwgYnV0CisvLyB0aGUg
b25seSBzaWRlIGVmZmVjdCBvZiB0aGF0IHNob3VsZCBiZSBhIHNtYWxsIGhpdCB0byBwZXJmb3Jt
YW5jZSAtLSB3aGljaAorLy8gd2lsbCBoYXZlIHRvIHN1ZmZpY2UgdW50aWwgd2UgY2FuIHN0YXJ0
IHVzaW5nIG1hY2hfdm1fYmVoYXZpb3Jfc2V0LgorCisjaWYgUEFTX09TKERBUldJTikKKworLy8g
V2UgY2FuJ3QgY2hlY2sgd2hldGhlciBQQVNfQVNTRVJUIGlzIGRlZmluZWQgc2luY2UgdGhpcyBo
ZWFkZXIgaXMgaW5jbHVkZWQgZWFybHkKKy8vIG9uIHdpdGhpbiBwYXNfdXRpbHMuaCwgd2hlcmUg
UEFTX0FTU0VSVCBpcyBkZWZpbmVkLiBTbyBpZiBSRUxFQVNFX0JBU1NFUlQKKy8vIGlzbid0IGF2
YWlsYWJsZSB3ZSBqdXN0IHVzZSBQQVNfQVNTRVJUIGFuZCBsZXQgdGhlIGNvbXBpbGVyIGVycm9y
IGlmIGl0J3Mgbm90CisvLyBhcm91bmQuCisjaWYgZGVmaW5lZChSRUxFQVNFX0JBU1NFUlQpCisj
ZGVmaW5lIFBBU19NVEVfQVNTRVJUKHgpIFJFTEVBU0VfQkFTU0VSVCh4KQorI2Vsc2UKKyNkZWZp
bmUgUEFTX01URV9BU1NFUlQoeCkgUEFTX0FTU0VSVCh4KQorI2VuZGlmCisKKyNkZWZpbmUgUEFT
X01URV9aRVJPX0ZJTExfUEFHRShwdHIsIHNpemUsIGZsYWdzLCB0YWcpIGRvIHsgXAorICAgICAg
ICAodm9pZClmbGFnczsgXAorICAgICAgICBpZiAoUEFTX1VTRV9NVEUpIHsgXAorICAgICAgICAg
ICAgY29uc3Qgdm1faW5oZXJpdF90IGNoaWxkUHJvY2Vzc0luaGVyaXRhbmNlID0gVk1fSU5IRVJJ
VF9ERUZBVUxUOyBcCisgICAgICAgICAgICBjb25zdCBib29sIGNvcHkgPSBmYWxzZTsgXAorICAg
ICAgICAgICAgLyogRklYTUU6IHVzZSBtYWNoX3ZtX2JlaGF2aW9yX3NldCBpbnN0ZWFkIHJkYXI6
Ly8xNjA4MTM1MzIgKi8gXAorICAgICAgICAgICAga2Vybl9yZXR1cm5fdCB2bV9tYXBfcmVzdWx0
ID0gbWFjaF92bV9tYXAobWFjaF90YXNrX3NlbGYoKSwgXAorICAgICAgICAgICAgICAgIChtYWNo
X3ZtX2FkZHJlc3NfdCopJnB0ciwgXAorICAgICAgICAgICAgICAgIChzaXplKSwgXAorICAgICAg
ICAgICAgICAgIDAsIFwKKyAgICAgICAgICAgICAgICBWTV9GTEFHU19GSVhFRCB8IFZNX0ZMQUdT
X09WRVJXUklURSB8IFBBU19WTV9NVEUgfCAodGFnKSwgTUVNT1JZX09CSkVDVF9OVUxMLCBcCisg
ICAgICAgICAgICAgICAgMCwgXAorICAgICAgICAgICAgICAgIGNvcHksIFwKKyAgICAgICAgICAg
ICAgICBWTV9QUk9UX0RFRkFVTFQsIFwKKyAgICAgICAgICAgICAgICBWTV9QUk9UX0FMTCwgXAor
ICAgICAgICAgICAgICAgIGNoaWxkUHJvY2Vzc0luaGVyaXRhbmNlKTsgXAorICAgICAgICAgICAg
aWYgKHZtX21hcF9yZXN1bHQgIT0gS0VSTl9TVUNDRVNTKSBcCisgICAgICAgICAgICAgICAgZXJy
bm8gPSAwOyBcCisgICAgICAgICAgICBQQVNfTVRFX0FTU0VSVCh2bV9tYXBfcmVzdWx0ID09IEtF
Uk5fU1VDQ0VTUyk7IFwKKyAgICAgICAgICAgIC8qIEVhcmx5IGV4aXQgZnJvbSBjYWxsZXIgZnVu
Y3Rpb24gc2luY2Ugd2UndmUgZG9uZSB0aGUgemVyby1maWxsIG91cnNlbHZlcyAqLyBcCisgICAg
ICAgICAgICByZXR1cm47IFwKKyAgICAgICAgfSBcCisgICAgfSB3aGlsZSAoZmFsc2UpIFwKKwor
I2Vsc2UKKyNkZWZpbmUgUEFTX01URV9aRVJPX0ZJTExfUEFHRShwdHIsIHNpemUsIGZsYWdzLCB0
YWcpIGRvIHsgXAorICAgICAgICAgICh2b2lkKXB0cjsgXAorICAgICAgICAgICh2b2lkKXNpemU7
IFwKKyAgICAgICAgICAodm9pZClmbGFnczsgXAorICAgICAgICAgICh2b2lkKXRhZzsgXAorICAg
ICAgfSB3aGlsZSAoZmFsc2UpCisjZW5kaWYgLy8gUEFTX09TKERBUldJTikKKworLy8gVGhpcyBp
cyBubyBsb25nZXIgbmVlZGVkIGFzIHRoZSBwb2ludGVyIGlzIGFscmVhZHkgdGFnZ2VkIGluIHBy
ZXBhcmF0aW9uIGZvcgorLy8gYmVpbmcgcmV0dXJuZWQgdG8gdGhlIGNhbGxlciBvZiB0aGUgYWxs
b2NhdGlvbiBmdW5jdGlvbi4KKyNkZWZpbmUgUEFTX01URV9IQU5ETEVfWkVST19BTExPQ0FUSU9O
X1JFU1VMVChhKSBkbyB7ICh2b2lkKWE7IH0gd2hpbGUgKGZhbHNlKQorCisvLyBVc2VkIHRvIHpl
cm8gYW4gZXhpc3RpbmcgcGFnZSBhbGxvY2F0aW9uIHdpdGhvdXQgY2xlYXJpbmcgdGhlIHRhZ2dl
ZC1tZW1vcnkKKy8vIGJpdCBpbiBpdHMgcGFnZS10YWJsZSBlbnRyaWVzLgorI2RlZmluZSBQQVNf
TVRFX0hBTkRMRV9aRVJPX0ZJTExfUEFHRShwdHIsIHNpemUsIGZsYWdzLCB0YWcpIFBBU19NVEVf
WkVST19GSUxMX1BBR0UocHRyLCBzaXplLCBmbGFncywgdGFnKQorCisvLyBVc2VkIHRvIGFsbG93
IHVzIHRvIHRvZ2dsZSBUQ08gYmVmb3JlIHNldHRpbmcgbGFyZ2UgY2h1bmtzIG9mCisvLyBtZW1v
cnkgdG8gMC4KKyNkZWZpbmUgUEFTX01URV9IQU5ETEVfWkVST19NRU1PUlkocHRyLCBzaXplKSBk
byB7IFwKKyAgICAgICAgaWYgKFBBU19VU0VfTVRFKSB7IFwKKyAgICAgICAgICAgIFBBU19NVEVf
Q0hFQ0tfVEFHX0FORF9TRVRfVENPKHB0cik7IFwKKyAgICAgICAgICAgIG1lbXNldCgodm9pZCop
cHRyLCAwLCBzaXplKTsgXAorICAgICAgICAgICAgUEFTX01URV9DTEVBUl9UQ087IFwKKyAgICAg
ICAgICAgIC8qIEVhcmx5IGV4aXQgZnJvbSBjYWxsZXIgZnVuY3Rpb24gc2luY2UgXAorICAgICAg
ICAgICAgICogd2UndmUgZG9uZSB0aGUgemVyby1maWxsIG91cnNlbHZlcyAqLyBcCisgICAgICAg
ICAgICByZXR1cm47IFwKKyAgICAgICAgfSBcCisgICAgfSB3aGlsZSAoZmFsc2UpCisKKy8vIFVz
ZWQgdG8gY2xlYXIgdGhlIHRhZyBiZWZvcmUgd2UgbG9vayB1cCB0aGUgYWRkcmVzcyBpbiB0aGUg
bWVnYXBhZ2UgdGFibGUgd2hlbiByZWFsbG9jYXRpbmcuCisjZGVmaW5lIFBBU19NVEVfSEFORExF
X1JFQUxMT0NBVEUoYSkgUEFTX01URV9DTEVBUihhKQorCisvLyBVc2VkIHRvIHJlc3RvcmUgdGhl
IGNvcnJlY3QgdGFnIHdoZW4gcmVhbGxvY2F0aW5nIHNvbWV0aGluZyB0byBhIG5ldyBhZGRyZXNz
IGJlZm9yZSBjb3B5aW5nIGl0LgorI2RlZmluZSBQQVNfTVRFX0hBTkRMRV9UUllfUkVBTExPQ0FU
RV9BTkRfQ09QWShwdHIsIG9sZF9wdHIsIHNpemUpIGRvIHsgXAorICAgICAgICBpZiAoUEFTX1VT
RV9NVEUpIHsgXAorICAgICAgICAgICAgUEFTX01URV9DSEVDS19UQUdfQU5EX1NFVF9UQ08ocHRy
KTsgXAorICAgICAgICAgICAgbWVtY3B5KCh2b2lkKilwdHIsIG9sZF9wdHIsIHNpemUpOyBcCisg
ICAgICAgICAgICBQQVNfTVRFX0NMRUFSX1RDTzsgXAorICAgICAgICAgICAgaWYgKHZlcmJvc2Up
IHsgXAorICAgICAgICAgICAgICAgIHBhc19sb2coIlx0Li4uZG9uZSBjb3B5aW5nIHNpemUgJXp1
IGZyb20gJXAgdG8gJXBcbiIsIHNpemUsIG9sZF9wdHIsICh2b2lkKilwdHIpOyBcCisgICAgICAg
ICAgICB9IFwKKyAgICAgICAgICAgIC8qIEVhcmx5IGV4aXQgZnJvbSBjYWxsZXIgZnVuY3Rpb24g
c2luY2UgXAorICAgICAgICAgICAgICogd2UndmUgZG9uZSB0aGUgY29weSBvdXJzZWx2ZXMgKi8g
XAorICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsgXAorICAgICAgICB9IFwKKyAgICB9IHdoaWxl
IChmYWxzZSkKKworLy8gVXNlZCB0byBjbGVhciB0aGUgdGFnIGZyb20gYSBwb2ludGVyIGludG8g
YSBwYWdlLCBzaW5jZSB0aGUgcGFnZSBoZWFkZXIgc2hvdWxkCisvLyBiZSB6ZXJvLXRhZ2dlZC4K
KyNkZWZpbmUgUEFTX01URV9IQU5ETEVfUEFHRV9CQVNFX0ZST01fQk9VTkRBUlkoYSkgUEFTX01U
RV9DTEVBUihhKQorCisvLyBVc2VkIHRvIGNsZWFyIHBvaW50ZXIgdGFnIGJpdHMgYmVmb3JlIGxv
b2tpbmcgaXQgdXAgaW4gdGhlIHBhZ2UgaGVhZGVyIHRhYmxlLgorI2RlZmluZSBQQVNfTVRFX0hB
TkRMRV9QQUdFX0hFQURFUl9UQUJMRV9HRVQoYSkgUEFTX01URV9DTEVBUihhKQorCisvLyBVc2Vk
IHRvIGNsZWFyIHBvaW50ZXIgdGFnIGJpdHMgYmVmb3JlIGFkZGluZyBpdCB0byB0aGUgcGFnZSBo
ZWFkZXIgdGFibGUuCisjZGVmaW5lIFBBU19NVEVfSEFORExFX1BBR0VfSEVBREVSX1RBQkxFX0FE
RChhKSBQQVNfTVRFX0NMRUFSKGEpCisKKy8vIFVzZWQgdG8gY2xlYXIga2V5IHRhZyBiaXRzIGJl
Zm9yZSBsb29raW5nIHVwIGEgcG9pbnRlciBpbiB0aGUgbGFyZ2UgbWFwLgorI2RlZmluZSBQQVNf
TVRFX0hBTkRMRV9MQVJHRV9NQVBfRklORChhKSBQQVNfTVRFX0NMRUFSKGEpCisKKy8vIFVzZWQg
dG8gY2xlYXIga2V5IHRhZyBiaXRzIGJlZm9yZSBpbnNlcnRpbmcgYSBwb2ludGVyIHJhbmdlIGlu
dG8gdGhlIGxhcmdlIG1hcC4KKyNkZWZpbmUgUEFTX01URV9IQU5ETEVfTEFSR0VfTUFQX0FERChh
LCBiKSBQQVNfTVRFX0NMRUFSKGEpCisKKy8vIFVzZWQgdG8gY2xlYXIga2V5IHRhZyBiaXRzIGJl
Zm9yZSB0YWtpbmcgYSBwb2ludGVyIGZyb20gdGhlIGxhcmdlIG1hcC4KKyNkZWZpbmUgUEFTX01U
RV9IQU5ETEVfTEFSR0VfTUFQX1RBS0UoYSkgUEFTX01URV9DTEVBUihhKQorCisvLyBVc2VkIHRv
IHJlc3RvcmUgdGhlIGNvcnJlY3QgdGFnIG9mIGEgbGFyZ2UgbWFwIGVudHJ5IGtleSBhZnRlciBs
b29raW5nIGl0IHVwLgorLy8gVGFrZXMgYSBwYXNfaGVhcF9jb25maWcqCisjZGVmaW5lIFBBU19N
VEVfSEFORExFX0xBUkdFX01BUF9GT1VORF9FTlRSWShjb25maWcsIGEsIGIpIFBBU19NVEVfUFVS
SUZZKGEpCisKKy8vIFVzZWQgdG8gcmVzdG9yZSB0aGUgY29ycmVjdCB0YWcgb2YgYSBsYXJnZSBt
YXAgZW50cnkga2V5IGFmdGVyIHRha2luZyBpdCBmcm9tIHRoZSBtYXAuCisvLyBUYWtlcyBhIHBh
c19oZWFwX2NvbmZpZyoKKyNkZWZpbmUgUEFTX01URV9IQU5ETEVfTEFSR0VfTUFQX1RPT0tfRU5U
UlkoY29uZmlnLCBhLCBiKSBQQVNfTVRFX1BVUklGWShhKQorCisvLyBVc2VkIHRvIGNsZWFyIHBv
aW50ZXIgdGFnIGJpdHMgYmVmb3JlIHRha2luZyBhIHBvaW50ZXIgZnJvbSB0aGUgbGFyZ2UgbWFw
LgorLy8gVGFrZXMgYSBwYXNfaGVhcF9jb25maWcqCisjZGVmaW5lIFBBU19NVEVfSEFORExFX1BH
TV9BTExPQ0FURShjb25maWcsIGEpIFBBU19NVEVfQ0xFQVIoYSkKKworLy8gVXNlZCB0byBjbGVh
ciBwb2ludGVyIHRhZyBiaXRzIGJlZm9yZSB0YWtpbmcgYSBwb2ludGVyIGZyb20gdGhlIGxhcmdl
IG1hcC4KKyNkZWZpbmUgUEFTX01URV9IQU5ETEVfUEdNX0RFQUxMT0NBVEUoYSkgUEFTX01URV9D
TEVBUihhKQorCisvLyBVc2VkIHRvIGNsZWFyIHBvaW50ZXIgdGFnIGJpdHMgYmVmb3JlIHB1dHRp
bmcgYSBwb2ludGVyIHRvIHRoZSBtZWdhcGFnZSB0YWJsZS4KKyNkZWZpbmUgUEFTX01URV9IQU5E
TEVfTUVHQVBBR0VfU0VUKGEpIFBBU19NVEVfQ0xFQVIoYSkKKworLy8gVXNlZCB0byBjbGVhciBw
b2ludGVyIHRhZyBiaXRzIGJlZm9yZSBnZXR0aW5nIGEgcG9pbnRlciBmcm9tIHRoZSBtZWdhcGFn
ZSB0YWJsZS4KKyNkZWZpbmUgUEFTX01URV9IQU5ETEVfTUVHQVBBR0VfR0VUKGEpIFBBU19NVEVf
Q0xFQVIoYSkKKworLy8gVXNlZCB0byBjbGVhciBwb2ludGVyIHRhZyBiaXRzIGZyZWVpbmcgYSBy
YW5nZSBpbiB0aGUgbGFyZ2Ugc2hhcmluZyBwb29sLgorI2RlZmluZSBQQVNfTVRFX0hBTkRMRV9M
QVJHRV9TSEFSSU5HX1BPT0xfQk9PVF9GUkVFKGEsIGIpIFBBU19NVEVfQ0xFQVJfUEFJUihhLCBi
KQorCisvLyBVc2VkIHRvIGNsZWFyIHBvaW50ZXIgdGFnIGJpdHMgZnJlZWluZyBhIHJhbmdlIGlu
IHRoZSBsYXJnZSBzaGFyaW5nIHBvb2wuCisjZGVmaW5lIFBBU19NVEVfSEFORExFX0xBUkdFX1NI
QVJJTkdfUE9PTF9GUkVFKGEsIGIpIFBBU19NVEVfQ0xFQVJfUEFJUihhLCBiKQorCisvLyBVc2Vk
IHRvIGNsZWFyIHBvaW50ZXIgdGFnIGJpdHMgYWxsb2NhdGluZyBhIHJhbmdlIGluIHRoZSBsYXJn
ZSBzaGFyaW5nIHBvb2wuCisjZGVmaW5lIFBBU19NVEVfSEFORExFX0xBUkdFX1NIQVJJTkdfUE9P
TF9BTExPQ0FURV9BTkRfQ09NTUlUKGEsIGIpIFBBU19NVEVfQ0xFQVJfUEFJUihhLCBiKQorCisv
LyBVc2VkIHRvIGNsZWFyIHBvaW50ZXIgdGFnIGJpdHMgd2hlbiBzdW1tYXJpemluZyBhIHJhbmdl
IGluIHRoZSBsYXJnZSBzaGFyaW5nIHBvb2wuCisjZGVmaW5lIFBBU19NVEVfSEFORExFX0xBUkdF
X1NIQVJJTkdfUE9PTF9DT01QVVRFX1NVTU1BUlkoYSwgYikgUEFTX01URV9DTEVBUl9QQUlSKGEs
IGIpCisKKy8vIFVzZSB0aGVzZSB0byBjb25maWd1cmUgdGhlIHRhZ2dpbmcgcG9saWN5IGZvciBk
aWZmZXJlbnQgc2l6ZXMuIEN1cnJlbnRseSB3ZSBvbmx5CisvLyB0YWcgc21hbGwgYW5kIG1lZGl1
bSBhbGxvY2F0aW9ucywgaW4gYm90aCBzZWdyZWdhdGVkIGFuZCBiaXRmaXQgcGFnZXMuIE1lZGl1
bQorLy8gYWxsb2NhdGlvbnMgc2hvdWxkIGJlIGFkZGl0aW9uYWxseSBndWFyZGVkIGF0IHJ1bnRp
bWUgYnkgUEFTX01URV9NRURJVU1fVEFHR0lOR19FTkFCTEVELgorI2RlZmluZSBQQVNfTVRFX0FM
TE9XX1RBR19TTUFMTCAxCisjZGVmaW5lIFBBU19NVEVfQUxMT1dfVEFHX01FRElVTSAxCisKKyNp
ZiBQQVNfTVRFX0FMTE9XX1RBR19TTUFMTCAmJiBQQVNfTVRFX0FMTE9XX1RBR19NRURJVU0KKyNk
ZWZpbmUgUEFTX01URV9TSE9VTERfVEFHX0FMTE9DQVRPUihhbGxvY2F0b3IpIChhbGxvY2F0b3Ip
LT5pc19tdGVfdGFnZ2VkCisjZGVmaW5lIFBBU19NVEVfREVDSURFX1BBR0VfQ09ORklHX1RBR0dF
RE5FU1Moc2l6ZV9jYXRlZ29yeSkgXAorICAgIChzaXplX2NhdGVnb3J5ID09IHBhc19wYWdlX2Nv
bmZpZ19zaXplX2NhdGVnb3J5X3NtYWxsIHx8IHNpemVfY2F0ZWdvcnkgPT0gcGFzX3BhZ2VfY29u
ZmlnX3NpemVfY2F0ZWdvcnlfbWVkaXVtKQorLy8gVE9ETzogb25jZSB3ZSBkcm9wIHN1cHBvcnQg
Zm9yIHJ1bnRpbWUtZGlmZmVyZW50aWF0aW5nIG1lZGl1bSB0YWdnaW5nLCB3ZSBjYW4KKy8vIGRy
b3AgdGhlIHNlY29uZCBoYWxmIG9mIHRoaXMgc3RhdGVtZW50CisjZGVmaW5lIFBBU19NVEVfU0hP
VUxEX1RBR19QQUdFKHBhZ2VfY29uZmlnKSAoKHBhZ2VfY29uZmlnKS0+YmFzZS5hbGxvd19tdGVf
dGFnZ2luZyAmJiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo
UEFTX01URV9NRURJVU1fVEFHR0lOR19FTkFCTEVEIHx8IChwYWdlX2NvbmZpZyktPmJhc2UucGFn
ZV9jb25maWdfc2l6ZV9jYXRlZ29yeSAhPSBwYXNfcGFnZV9jb25maWdfc2l6ZV9jYXRlZ29yeV9t
ZWRpdW0pKQorI2RlZmluZSBQQVNfTVRFX0lTX0tOT1dOX01FRElVTV9CVU1QKGFsbG9jYXRvcikg
IShhbGxvY2F0b3IpLT5pc19zbWFsbAorI2RlZmluZSBQQVNfTVRFX0lTX0tOT1dOX01FRElVTV9Q
QUdFKHBhZ2VfY29uZmlnKSAocGFnZV9jb25maWcpLT5iYXNlLnBhZ2VfY29uZmlnX3NpemVfY2F0
ZWdvcnkgPT0gcGFzX3BhZ2VfY29uZmlnX3NpemVfY2F0ZWdvcnlfbWVkaXVtCisjZGVmaW5lIFBB
U19NVEVfU0hPVUxEX1RBR19TRUdSRUdBVEVEX0hFQVAoc2VncmVnYXRlZF9oZWFwKSAoc2VncmVn
YXRlZF9oZWFwLT5wYXJlbnRfaGVhcCAmJiBzZWdyZWdhdGVkX2hlYXAtPnBhcmVudF9oZWFwLT5p
c19ub25fY29tcGFjdF9oZWFwKQorI2VsaWYgUEFTX01URV9BTExPV19UQUdfU01BTEwKKyNkZWZp
bmUgUEFTX01URV9ERUNJREVfUEFHRV9DT05GSUdfVEFHR0VETkVTUyhzaXplX2NhdGVnb3J5KSAo
c2l6ZV9jYXRlZ29yeSA9PSBwYXNfcGFnZV9jb25maWdfc2l6ZV9jYXRlZ29yeV9zbWFsbCkKKyNk
ZWZpbmUgUEFTX01URV9TSE9VTERfVEFHX0FMTE9DQVRPUihhbGxvY2F0b3IpIChhbGxvY2F0b3Ip
LT5pc19tdGVfdGFnZ2VkCisjZGVmaW5lIFBBU19NVEVfU0hPVUxEX1RBR19QQUdFKHBhZ2VfY29u
ZmlnKSAoKHBhZ2VfY29uZmlnKS0+YmFzZS5hbGxvd19tdGVfdGFnZ2luZykKKyNkZWZpbmUgUEFT
X01URV9JU19LTk9XTl9NRURJVU1fQlVNUChhbGxvY2F0b3IpIDAKKyNkZWZpbmUgUEFTX01URV9J
U19LTk9XTl9NRURJVU1fUEFHRShwYWdlX2NvbmZpZykgMAorI2Vsc2UKKyNkZWZpbmUgUEFTX01U
RV9ERUNJREVfUEFHRV9DT05GSUdfVEFHR0VETkVTUyhzaXplX2NhdGVnb3J5KSAoZmFsc2UpCisK
KyNkZWZpbmUgUEFTX01URV9TSE9VTERfVEFHX0FMTE9DQVRPUihhbGxvY2F0b3IpIDAKKyNkZWZp
bmUgUEFTX01URV9TSE9VTERfVEFHX1BBR0UocGFnZV9jb25maWcpIDAKKyNkZWZpbmUgUEFTX01U
RV9JU19LTk9XTl9NRURJVU1fQlVNUChhbGxvY2F0b3IpIDAKKyNkZWZpbmUgUEFTX01URV9JU19L
Tk9XTl9NRURJVU1fUEFHRShwYWdlX2NvbmZpZykgMAorI2VuZGlmCisKKyNkZWZpbmUgUEFTX1NI
T1VMRF9NVEVfVEFHX0JBU0lDX0hFQVBfUEFHRShzaXplX2NhdGVnb3J5KSBQQVNfTVRFX0RFQ0lE
RV9QQUdFX0NPTkZJR19UQUdHRURORVNTKHNpemVfY2F0ZWdvcnkpCisKK3N0cnVjdCBfX3Bhc19o
ZWFwOworCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCitleHRlcm4g
c3RydWN0IF9fcGFzX2hlYXAgYm1hbGxvY19jb21tb25fcHJpbWl0aXZlX2hlYXA7CisjaWZkZWYg
X19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisvLyBJdCdzIHBvc3NpYmxlIGZvciB1c2VycyB0byBh
bGxvY2F0ZSBtZW1vcnkgZnJvbSBhIHBhc19oZWFwIHByaW9yIHRvIGV2ZXIKKy8vIGluZHVjaW5n
IGxpYnBhcyB0byBnbyBkb3duIHRoZSBwYXNfcGFnZV9tYWxsb2MgcGF0aCAtLSBlLmcuIGlmIHRo
ZXkgb25seSB1c2UKKy8vIHRoZSBzeXN0ZW0gYWxsb2NhdG9yLCBvciBoZWFwcyB3aGljaCB1c2Ug
bWVtb3J5IGFsbG9jYXRlZCBieSB0aGUgdXNlci4KKy8vIEhvd2V2ZXIsIGFsbCBzdWNoIGFsbG9j
YXRpb25zIGhhdmUgdG8gZ28gZG93biB0aGUgcGFzLWhlYXAgaW5pdGlhbGl6YXRpb24KKy8vIHBh
dGggLS0gc28gd2UgY2FuIGludGVyY2VwdCBoZXJlIHRvIGNhdGNoIHRob3NlIGNhc2VzLgorLy8g
VGhpcyBpcyBub3Qgc3VmZmljaWVudCBvbiBpdHMgb3duLCBob3dldmVyLCBhcyBpdCdzIHRoZW9y
ZXRpY2FsbHkgcG9zc2libGUKKy8vIGZvciBsaWJwYXMgdG8gYWxsb2NhdGUgUEFTX01URSBtZW1v
cnkgb24gaXRzIG93biwgZS5nLiB2aWEgdGhlIHV0aWxpdHkgaGVhcC4KKy8vIE4uYi46IGBoZWFw
YCBpcyBlbXB0eSAobnVsbHB0cikgYXQgdGhlIHRpbWUgd2hlbiB0aGlzIG1hY3JvIGlzIHVzZWQs
IHNvIHdlCisvLyBjYW5ub3QgYWN0dWFsbHkgbWFrZSB1c2Ugb2YgaXQuIFdlIHRha2UgaXQgYXMg
YSBwYXJhbWV0ZXIgYXMgYSBiYW5kYWlkIG92ZXIKKy8vIGEgc3B1cmlvdXMgdW51c2VkLXZhcmlh
YmxlIHdhcm5pbmcgdGhhdCBjbGFuZyBzb21ldGltZXMgdGhyb3dzIG90aGVyd2lzZToKKy8vIHNl
ZSByZGFyOi8vMTU3MTU4MDQ1CisjZGVmaW5lIFBBU19NVEVfSEFORExFX0VOU1VSRV9IRUFQX1NM
T1coaGVhcCwgaGVhcF9yZWYsIGhlYXBfcmVmX2tpbmQsIGhlYXBfY29uZmlnLCBydW50aW1lX2Nv
bmZpZykgZG8geyBcCisgICAgICAgICh2b2lkKWhlYXA7IFwKKyAgICAgICAgKHZvaWQpaGVhcF9y
ZWY7IFwKKyAgICAgICAgKHZvaWQpaGVhcF9yZWZfa2luZDsgXAorICAgICAgICAodm9pZCloZWFw
X2NvbmZpZzsgXAorICAgICAgICAodm9pZClydW50aW1lX2NvbmZpZzsgXAorICAgICAgICBwYXNf
bXRlX2Vuc3VyZV9pbml0aWFsaXplZCgpOyBcCisgICAgfSB3aGlsZSAoZmFsc2UpCisKKy8vIFVz
ZWQgdG8gc2V0IHVwIHdoZXRoZXIgYSBsb2NhbCBhbGxvY2F0b3Igc2hvdWxkIHRhZyBpdHMgYWxs
b2NhdGlvbnMuCisjZGVmaW5lIFBBU19NVEVfSEFORExFX1NFVF9VUF9MT0NBTF9BTExPQ0FUT1Io
cGFnZV9jb25maWcsIHNlZ3JlZ2F0ZWRfaGVhcCwgYWxsb2NhdG9yKSBkbyB7IFwKKyAgICAgICAg
aWYgKFBBU19VU0VfTVRFICYmIFBBU19NVEVfU0hPVUxEX1RBR19TRUdSRUdBVEVEX0hFQVAoc2Vn
cmVnYXRlZF9oZWFwKSkgeyBcCisgICAgICAgICAgICBhbGxvY2F0b3ItPmlzX210ZV90YWdnZWQg
PSBQQVNfTVRFX1NIT1VMRF9UQUdfUEFHRSgmcGFnZV9jb25maWcpOyBcCisgICAgICAgICAgICBh
bGxvY2F0b3ItPmlzX3NtYWxsID0gKHBhZ2VfY29uZmlnKS5iYXNlLnBhZ2VfY29uZmlnX3NpemVf
Y2F0ZWdvcnkgPT0gcGFzX3BhZ2VfY29uZmlnX3NpemVfY2F0ZWdvcnlfc21hbGw7IFwKKyAgICAg
ICAgfSBlbHNlIFwKKyAgICAgICAgICAgIGFsbG9jYXRvci0+aXNfbXRlX3RhZ2dlZCA9IGZhbHNl
OyBcCisgICAgfSB3aGlsZSAoZmFsc2UpCisKKy8vIFVzZWQgdG8gdGFnIGJ1bXAgYWxsb2NhdGlv
bnMgZnJvbSBhIGxvY2FsIGFsbG9jYXRvci4KKyNkZWZpbmUgUEFTX01URV9IQU5ETEVfTE9DQUxf
QlVNUF9BTExPQ0FUSU9OKGhlYXBfY29uZmlnLCBhbGxvY2F0b3IsIHB0ciwgc2l6ZSwgbW9kZSkg
ZG8geyBcCisgICAgICAgIGlmIChQQVNfTVRFX1NIT1VMRF9UQUdfQUxMT0NBVE9SKGFsbG9jYXRv
cikpIFwKKyAgICAgICAgICAgIFBBU19NVEVfVEFHX1JFR0lPTl9GUk9NX0lOSVRJQUxfQUxMT0NB
VElPTihwdHIsIHNpemUsIG1vZGUsIHBhc19tdGVfaG9tb2dlbmVvdXNfYWxsb2NhdG9yLCBQQVNf
TVRFX0lTX0tOT1dOX01FRElVTV9CVU1QKGFsbG9jYXRvcikpOyBcCisgICAgfSB3aGlsZSAoZmFs
c2UpCisKKy8vIFVzZWQgdG8gdGFnIGZyZWUtYml0IHNjYW5uaW5nIGFsbG9jYXRpb25zIGZyb20g
YSBsb2NhbCBhbGxvY2F0b3IuCisjZGVmaW5lIFBBU19NVEVfSEFORExFX0xPQ0FMX0ZSRUVCSVRT
X0FMTE9DQVRJT04ocGFnZV9jb25maWcsIHB0ciwgYWxsb2NhdG9yLCBtb2RlKSBkbyB7IFwKKyAg
ICAgICAgaWYgKFBBU19NVEVfU0hPVUxEX1RBR19BTExPQ0FUT1IoYWxsb2NhdG9yKSkgXAorICAg
ICAgICAgICAgUEFTX01URV9UQUdfUkVHSU9OX0ZST01fT1RIRVJfQUxMT0NBVElPTihwdHIsIGFs
bG9jYXRvci0+b2JqZWN0X3NpemUsIG1vZGUsIHBhc19tdGVfaG9tb2dlbmVvdXNfYWxsb2NhdG9y
LCBQQVNfTVRFX0lTX0tOT1dOX01FRElVTV9QQUdFKHBhZ2VfY29uZmlnKSk7IFwKKyAgICB9IHdo
aWxlIChmYWxzZSkKKworLy8gVXNlZCB0byB0YWcgYml0Zml0IGFsbG9jYXRpb25zLgorI2RlZmlu
ZSBQQVNfTVRFX0hBTkRMRV9CSVRGSVRfQUxMT0NBVElPTihwYWdlX2NvbmZpZywgcHRyLCBzaXpl
LCBtb2RlKSBkbyB7IFwKKyAgICAgICAgaWYgKFBBU19VU0VfTVRFICYmIFBBU19NVEVfU0hPVUxE
X1RBR19QQUdFKHBhZ2VfY29uZmlnKSkgXAorICAgICAgICAgICAgUEFTX01URV9UQUdfUkVHSU9O
X0ZST01fT1RIRVJfQUxMT0NBVElPTihwdHIsIHNpemUsIG1vZGUsIHBhc19tdGVfbm9uaG9tb2dl
bmVvdXNfYWxsb2NhdG9yLCBQQVNfTVRFX0lTX0tOT1dOX01FRElVTV9QQUdFKHBhZ2VfY29uZmln
KSk7IFwKKyAgICB9IHdoaWxlIChmYWxzZSkKKworLy8gTG9naWMgZm9yIHRhZ2dpbmcgc3lzdGVt
IGhlYXAgKGFrYSBzeXN0ZW0gbWFsbG9jKSBhbGxvY2F0aW9ucy4gVGhlc2UgYXJlIHVzZWQKKy8v
IGluIHByb2R1Y3Rpb24gaW4gc29tZSBzZXJ2aWNlcy9kYWVtb25zIHRvIGF2b2lkIHVzaW5nIHVw
IG1lbW9yeSBmb3IgYm90aAorLy8gbGlicGFzIGFuZCBzeXN0ZW0gbWFsbG9jIG1ldGFkYXRhLCBi
dXQgc2luY2UgdGhlIHN5c3RlbSBtYWxsb2MgYWxzbyBzdXBwb3J0cworLy8gUEFTX01URSBhbmQg
c29tZSBvZiB0aGVzZSBzZXJ2aWNlcyBoYXZlIFBBU19NVEUgZW5hYmxlZCwgd2UgbmVlZCB0byBl
bnN1cmUKKy8vIGFsbG9jYXRpb25zIHdlIGV4cGVjdCB0byBiZSB6ZXJvLXRhZ2dlZCB1bmRlciBQ
QVNfTVRFIGFyZSB6ZXJvLXRhZ2dlZCBpbiB0aGlzCisvLyBtb2RlIHRvby4KKy8vCisvLyBBdCB0
aGUgdGltZSBvZiB3cml0aW5nLCBtYWxsb2Nfem9uZV9tYWxsb2Nfd2l0aF9vcHRpb25zX25wIHdp
dGgKKy8vIE1BTExPQ19OUF9PUFRJT05fQ0FOT05JQ0FMX1RBRyBpcyB0aGUgcHJlZmVycmVkIG1l
YW5zIG9mIGRvaW5nIHRoaXMuIFNpbmNlCisvLyB3ZSBkb24ndCBoYXZlIGFuIGVxdWl2YWxlbnQg
Zm9yIHJlYWxsb2MgeWV0LCB3ZSBkbyBvdXIgb3duIG1hbGxvYyArIGNvcHkgKworLy8gZnJlZSBz
ZXF1ZW5jZSBpbnN0ZWFkLgorCisvLyBBbGxvd2VkIGFyZ3VtZW50IHZhbHVlcyAoYXMgZGljdGF0
ZWQgYnkgbWFsbG9jX3pvbmVfbWFsbG9jX3dpdGhfb3B0aW9uc19ucCk6CisvLyAgLSBhbGlnbm1l
bnQ6IDAgZm9yIHVuYWxpZ25lZCwgb3IgYSBwb3dlciBvZiAyID49IHNpemVvZih2b2lkKikuCisv
LyAgLSBzaXplOiBhbnkgaWYgYWxpZ25tZW50ID09IDAsIGEgbXVsdGlwbGUgb2YgdGhlIGFsaWdu
bWVudCBvdGhlcndpc2UuCisKK2lubGluZSBfX2F0dHJpYnV0ZV9fKChhbHdheXNfaW5saW5lKSkg
dm9pZCogcGFzX210ZV9zeXN0ZW1faGVhcF9tYWxsb2NfemVyb190YWdnZWQobWFsbG9jX3pvbmVf
dCogem9uZSwgc2l6ZV90IGFsaWdubWVudCwgc2l6ZV90IHNpemUpCit7CitQQVNfSUdOT1JFX1dB
Uk5JTkdTX0JFR0lOKCJkZXByZWNhdGVkLWRlY2xhcmF0aW9ucyIpCisgICAgcmV0dXJuIG1hbGxv
Y196b25lX21hbGxvY193aXRoX29wdGlvbnNfbnAoem9uZSwgYWxpZ25tZW50LCBzaXplLCBNQUxM
T0NfTlBfT1BUSU9OX0NBTk9OSUNBTF9UQUcpOworUEFTX0lHTk9SRV9XQVJOSU5HU19FTkQKK30K
KworaW5saW5lIF9fYXR0cmlidXRlX18oKGFsd2F5c19pbmxpbmUpKSB2b2lkKiBwYXNfbXRlX3N5
c3RlbV9oZWFwX3plcm9lZF9tYWxsb2NfemVyb190YWdnZWQobWFsbG9jX3pvbmVfdCogem9uZSwg
c2l6ZV90IGFsaWdubWVudCwgc2l6ZV90IHNpemUpCit7CitQQVNfSUdOT1JFX1dBUk5JTkdTX0JF
R0lOKCJkZXByZWNhdGVkLWRlY2xhcmF0aW9ucyIpCisgICAgcmV0dXJuIG1hbGxvY196b25lX21h
bGxvY193aXRoX29wdGlvbnNfbnAoem9uZSwgYWxpZ25tZW50LCBzaXplLCAobWFsbG9jX29wdGlv
bnNfbnBfdCkoTUFMTE9DX05QX09QVElPTl9DQU5PTklDQUxfVEFHIHwgTUFMTE9DX05QX09QVElP
Tl9DTEVBUikpOworUEFTX0lHTk9SRV9XQVJOSU5HU19FTkQKK30KKworI2lmZGVmIF9fY3BsdXNw
bHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgordm9pZCogcGFzX210ZV9zeXN0ZW1faGVhcF9yZWFs
bG9jX3plcm9fdGFnZ2VkKG1hbGxvY196b25lX3QqIHpvbmUsIHZvaWQqIHB0ciwgc2l6ZV90IHNp
emUpOworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2RlZmluZSBQQVNfTVRFX0hB
TkRMRV9TWVNURU1fSEVBUF9BTExPQ0FUSU9OKHN5c3RlbUhlYXAsIHNpemUsIGFsaWdubWVudCwg
bW9kZSkgZG8geyBcCisgICAgICAgIGlmICgobW9kZSkgIT0gcGFzX25vbl9jb21wYWN0X2FsbG9j
YXRpb25fbW9kZSkgXAorICAgICAgICAgICAgcmV0dXJuIHBhc19tdGVfc3lzdGVtX2hlYXBfbWFs
bG9jX3plcm9fdGFnZ2VkKHN5c3RlbUhlYXAtPnpvbmUoKSwgKGFsaWdubWVudCksIChzaXplKSk7
IFwKKyAgICB9IHdoaWxlIChmYWxzZSkKKworI2RlZmluZSBQQVNfTVRFX0hBTkRMRV9TWVNURU1f
SEVBUF9SRUFMTE9DQVRJT04oc3lzdGVtSGVhcCwgcHRyLCBzaXplLCBtb2RlKSBkbyB7IFwKKyAg
ICAgICAgaWYgKG1vZGUgIT0gcGFzX25vbl9jb21wYWN0X2FsbG9jYXRpb25fbW9kZSkgXAorICAg
ICAgICAgICAgcmV0dXJuIHBhc19tdGVfc3lzdGVtX2hlYXBfcmVhbGxvY196ZXJvX3RhZ2dlZChz
eXN0ZW1IZWFwLT56b25lKCksIChwdHIpLCAoc2l6ZSkpOyBcCisgICAgfSB3aGlsZSAoZmFsc2Up
CisKKy8vIFVzZWQgdG8gdGFnIGJ1bXAgYWxsb2NhdGlvbnMgaW4gdGhlIHByaW1vcmRpYWwgaGVh
cC4KKy8vIE5vbi1ob21vZ2VuZW91cyBiZWNhdXNlIHRoaXMgY29tZXMgZnJvbSBhIHBhcnRpYWwg
dmlldywgbWVhbmluZyBvdGhlcgorLy8gYWxsb2NhdG9ycyBjYW4gdXNlIHRoZSBzYW1lIHBhZ2Uu
CisvLyBUYWtlcyBhIHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnKgorI2RlZmluZSBQQVNfTVRF
X0hBTkRMRV9QUklNT1JESUFMX0JVTVBfQUxMT0NBVElPTihwYWdlX2NvbmZpZywgcHRyLCBzaXpl
LCBtb2RlKSBkbyB7IFwKKyAgICAgICAgLyogRXZlbiB0aG91Z2ggdGhpcyBpcyBhIGJ1bXAgYWxs
b2NhdGlvbiwgYmVjYXVzZSB3ZSBoYXZlIHRoZSBwYWdlX2NvbmZpZyAqLyBcCisgICAgICAgIC8q
IGhhbmR5LCB3ZSB1c2UgdGhlIHBhZ2UgaW5zdGVhZCBvZiB0aGUgYWxsb2NhdG9yIGZvciBwdXJw
b3NlcyBvZiBjaGVja2luZyAqLyBcCisgICAgICAgIC8qIGlmIHRoaXMgYWxsb2NhdGlvbiBzaG91
bGQgYmUgdGFnZ2VkLiAqLyBcCisgICAgICAgIGlmIChQQVNfVVNFX01URSAmJiBQQVNfTVRFX1NI
T1VMRF9UQUdfUEFHRShwYWdlX2NvbmZpZykpIFwKKyAgICAgICAgICAgIFBBU19NVEVfVEFHX1JF
R0lPTl9GUk9NX09USEVSX0FMTE9DQVRJT04ocHRyLCBzaXplLCBtb2RlLCBwYXNfbXRlX2hvbW9n
ZW5lb3VzX2FsbG9jYXRvciwgUEFTX01URV9JU19LTk9XTl9NRURJVU1fUEFHRShwYWdlX2NvbmZp
ZykpOyBcCisgICAgfSB3aGlsZSAoZmFsc2UpCisKKy8vIFVzZWQgdG8gYmFpbCBmcm9tIGFsbG9j
YXRpbmcgbWVnYXBhZ2VzIGZyb20gdGhlIG1lZ2FwYWdlIGxhcmdlIGhlYXAgaWYgUEFTX01URSBp
cyBkaXNhYmxlZC4KKy8vIFRoZSBub24tTVRFIGRlZmF1bHQgaXMgdG8gdXNlIHRoZSBtZWdhcGFn
ZSBsYXJnZSBoZWFwIGZvciBhbnkgbm9uLWNvbXBhY3QgbWVnYXBhZ2UKKy8vIGFsbG9jYXRpb24s
IHdoaWNoIGlzIHdoYXQgd2Ugd2FudCBpbiBhbiBQQVNfTVRFIHdvcmxkLCBidXQgc3BsaXR0aW5n
IHVwIHRoZSBwYWdlIHNvdXJjZXMgaW5jdXJzCisvLyBhIG1vZGVzdCBidXQgc2lnbmlmaWNhbnQg
cGVyZm9ybWFuY2UvbWVtb3J5IG92ZXJoZWFkIHdoZW4gUEFTX01URSBpcyBkaXNhYmxlZC4gVGhp
cyBpcyBwYXJ0IG9mCisvLyB0aGUgaW5ldml0YWJsZSBvdmVyaGVhZCBvZiBlbmFibGluZyBQQVNf
TVRFLCBidXQgd2UgZG9uJ3Qgd2FudCB0byBidXJkZW4gbm9uLVBBU19NVEUgaGFyZHdhcmUgd2l0
aAorLy8gdGhpcyBjb3N0LCBzbyB3ZSBpbmplY3QgdGhpcyBlYXJseSByZXR1cm4uCisjZGVmaW5l
IFBBU19NVEVfSEFORExFX01FR0FQQUdFU19BTExPQ0FUSU9OKGhlYXAsIHNpemUsIGFsaWdubWVu
dCwgaGVhcF9jb25maWcpIGRvIHsgXAorICAgICAgICBpZiAoIVBBU19VU0VfTVRFKSB7IFwKKyAg
ICAgICAgICAgIHJldHVybiBwYXNfbGFyZ2VfaGVhcF90cnlfYWxsb2NhdGVfYW5kX2ZvcmdldCgg
XAorICAgICAgICAgICAgICAgICZoZWFwLT5sYXJnZV9oZWFwLCBzaXplLCBhbGlnbm1lbnQsIHBh
c19ub25fY29tcGFjdF9hbGxvY2F0aW9uX21vZGUsIFwKKyAgICAgICAgICAgICAgICBoZWFwX2Nv
bmZpZywgdHJhbnNhY3Rpb24pOyBcCisgICAgICAgIH0gXAorICAgIH0gd2hpbGUgKGZhbHNlKQor
CisvLyBVc2VkIHRvIHRhZyB0aGUgdHJhaWxpbmctYnVmZmVyIGJ5dGVzIG9mIGEgcGFydGlhbCB2
aWV3IHdoZW4gaXQgaXMgZmlyc3QKKy8vIGNvbW1pdHRlZCBhbmQgYmVjb21lcyByZWFkeSBmb3Ig
dXNlIGFzIGFuIGFsbG9jYXRvci4KKyNkZWZpbmUgUEFTX01URV9IQU5ETEVfUE9QVUxBVEVfUFJJ
TU9SRElBTF9QQVJUSUFMX1ZJRVcocGFnZV9jb25maWcsIHBhZ2UsIHZpZXcsIGJ1bXBfcmVzdWx0
LCBtb2RlKSBkbyB7IFwKKyAgICAgICAgaWYgKFBBU19VU0VfTVRFKSB7IFwKKyAgICAgICAgICAg
IGlmIChQQVNfTVRFX1NIT1VMRF9UQUdfUEFHRSgmcGFnZV9jb25maWcpKSBcCisgICAgICAgICAg
ICAgICAgUEFTX01URV9UQUdfQlVNUF9BTExPQ0FUSU9OX0ZPUl9QQVJUSUFMX1ZJRVcocGFnZV9j
b25maWcsIHBhZ2UsIHZpZXcsIGJ1bXBfcmVzdWx0LCBtb2RlKTsgXAorICAgICAgICB9IFwKKyAg
ICB9IHdoaWxlIChmYWxzZSkKKworLy8gVXNlZCB0byByZWRpcmVjdCBzbWFsbCBtZWdhcGFnZSBh
bGxvY2F0aW9ucyB3aGVuIFBBU19NVEUgaXMgbm90IGVuYWJsZWQgdG8gdGhlIHJlc3BlY3RpdmUg
dW50YWdnZWQgbWVnYXBhZ2UgY2FjaGUuCisjZGVmaW5lIFBBU19NVEVfSEFORExFX1NNQUxMX1NI
QVJFRF9TRUdSRUdBVEVEX1BBR0VfQUxMT0NBVElPTihoZWFwLCBtZWdhcGFnZV9jYWNoZSkgZG8g
eyBcCisgICAgICAgIGlmICghUEFTX1VTRV9NVEUgfHwgIWhlYXAtPnBhcmVudF9oZWFwLT5pc19u
b25fY29tcGFjdF9oZWFwKSBcCisgICAgICAgICAgICBtZWdhcGFnZV9jYWNoZSA9ICZwYWdlX2Nh
Y2hlcy0+c21hbGxfY29tcGFjdF9vdGhlcl9tZWdhcGFnZV9jYWNoZTsgXAorICAgIH0gd2hpbGUg
KGZhbHNlKQorI2RlZmluZSBQQVNfTVRFX0hBTkRMRV9TTUFMTF9FWENMVVNJVkVfU0VHUkVHQVRF
RF9QQUdFX0FMTE9DQVRJT04oaGVhcCwgbWVnYXBhZ2VfY2FjaGUpIGRvIHsgXAorICAgICAgICBp
ZiAoIVBBU19VU0VfTVRFIHx8ICFoZWFwLT5wYXJlbnRfaGVhcC0+aXNfbm9uX2NvbXBhY3RfaGVh
cCkgXAorICAgICAgICAgICAgbWVnYXBhZ2VfY2FjaGUgPSAmcGFnZV9jYWNoZXMtPnNtYWxsX2Nv
bXBhY3RfZXhjbHVzaXZlX3NlZ3JlZ2F0ZWRfbWVnYXBhZ2VfY2FjaGU7IFwKKyAgICB9IHdoaWxl
IChmYWxzZSkKKyNkZWZpbmUgUEFTX01URV9IQU5ETEVfU01BTExfQklURklUX1BBR0VfQUxMT0NB
VElPTihoZWFwLCBtZWdhcGFnZV9jYWNoZSkgZG8geyBcCisgICAgICAgIGlmICghUEFTX1VTRV9N
VEUgfHwgIWhlYXAtPnBhcmVudF9oZWFwLT5pc19ub25fY29tcGFjdF9oZWFwKSBcCisgICAgICAg
ICAgICBtZWdhcGFnZV9jYWNoZSA9ICZwYWdlX2NhY2hlcy0+c21hbGxfY29tcGFjdF9vdGhlcl9t
ZWdhcGFnZV9jYWNoZTsgXAorICAgIH0gd2hpbGUgKGZhbHNlKQorCisvLyBVc2VkIHRvIHJlZGly
ZWN0IG1lZGl1bSBtZWdhcGFnZSBhbGxvY2F0aW9ucyB3aGVuIG1lZGl1bSBvYmplY3QgdGFnZ2lu
ZyBpcyBub3QgZW5hYmxlZCB0byB0aGUgcmVzcGVjdGl2ZSB1bnRhZ2dlZCBtZWdhcGFnZSBjYWNo
ZS4KKyNkZWZpbmUgUEFTX01URV9IQU5ETEVfTUVESVVNX1NFR1JFR0FURURfUEFHRV9BTExPQ0FU
SU9OKGhlYXAsIG1lZ2FwYWdlX2NhY2hlKSBkbyB7IFwKKyAgICAgICAgaWYgKCFQQVNfTVRFX01F
RElVTV9UQUdHSU5HX0VOQUJMRUQgfHwgIWhlYXAtPnBhcmVudF9oZWFwLT5pc19ub25fY29tcGFj
dF9oZWFwKSBcCisgICAgICAgICAgICBtZWdhcGFnZV9jYWNoZSA9ICZwYWdlX2NhY2hlcy0+bWVk
aXVtX2NvbXBhY3RfbWVnYXBhZ2VfY2FjaGU7IFwKKyAgICB9IHdoaWxlIChmYWxzZSkKKyNkZWZp
bmUgUEFTX01URV9IQU5ETEVfTUVESVVNX0JJVEZJVF9QQUdFX0FMTE9DQVRJT04oaGVhcCwgbWVn
YXBhZ2VfY2FjaGUpIGRvIHsgXAorICAgICAgICBpZiAoIVBBU19NVEVfTUVESVVNX1RBR0dJTkdf
RU5BQkxFRCB8fCAhaGVhcC0+cGFyZW50X2hlYXAtPmlzX25vbl9jb21wYWN0X2hlYXApIFwKKyAg
ICAgICAgICAgIG1lZ2FwYWdlX2NhY2hlID0gJnBhZ2VfY2FjaGVzLT5tZWRpdW1fY29tcGFjdF9t
ZWdhcGFnZV9jYWNoZTsgXAorICAgIH0gd2hpbGUgKGZhbHNlKQorCisvLyBVc2VkIHRvIHRhY2l0
bHkgcmVkaXJlY3QgYWxsIG1hcmdlIG1lZ2FwYWdlIGFsbG9jYXRpb25zIHRvIHRoZSB1bnRhZ2dl
ZCBtZWdhcGFnZSBjYWNoZS4KKyNkZWZpbmUgUEFTX01URV9IQU5ETEVfTUFSR0VfQklURklUX1BB
R0VfQUxMT0NBVElPTihoZWFwLCBtZWdhcGFnZV9jYWNoZSkgZG8geyBcCisgICAgICAgIG1lZ2Fw
YWdlX2NhY2hlID0gJnBhZ2VfY2FjaGVzLT5tZWRpdW1fY29tcGFjdF9tZWdhcGFnZV9jYWNoZTsg
XAorICAgIH0gd2hpbGUgKGZhbHNlKQorCisvLyBVc2VkIHRvIHRhZyB0aGUgbWVtb3J5IGxlZnQg
YmVoaW5kIGJ5IG9iamVjdHMgZnJlZWQgZnJvbSBiaXRmaXQgaGVhcHMuCisjZGVmaW5lIFBBU19N
VEVfSEFORExFX0JJVEZJVF9QQUdFX0RFQUxMT0NBVElPTihwYWdlX2NvbmZpZywgcHRyLCBzaXpl
KSBkbyB7IFwKKyAgICAgICAgKHZvaWQpcGFnZV9jb25maWc7IFwKKyAgICAgICAgKHZvaWQpcHRy
OyBcCisgICAgICAgICh2b2lkKXNpemU7IFwKKyAgICAgICAgaWYgKFBBU19VU0VfTVRFKSB7IFwK
KyAgICAgICAgICAgIGlmIChQQVNfTVRFX1NIT1VMRF9UQUdfUEFHRSgmcGFnZV9jb25maWcpKSBc
CisgICAgICAgICAgICAgICAgUEFTX01URV9UQUdfUkVHSU9OX0ZST01fREVBTExPQ0FUSU9OKHBh
Z2VfY29uZmlnLCBwdHIsIHNpemUsIHBhc19tdGVfbm9uaG9tb2dlbmVvdXNfYWxsb2NhdG9yKTsg
XAorICAgICAgICB9IFwKKyAgICB9IHdoaWxlIChmYWxzZSkKKworLy8gVXNlZCB0byB0YWcgdGhl
IG1lbW9yeSBsZWZ0IGJlaGluZCBieSBvYmplY3RzIGZyZWVkIGZyb20gc2VncmVnYXRlZCBoZWFw
cy4KKyNkZWZpbmUgUEFTX01URV9IQU5ETEVfU0VHUkVHQVRFRF9QQUdFX0RFQUxMT0NBVElPTihw
YWdlX2NvbmZpZywgcHRyLCBzaXplKSBkbyB7IFwKKyAgICAgICAgKHZvaWQpcGFnZV9jb25maWc7
IFwKKyAgICAgICAgKHZvaWQpcHRyOyBcCisgICAgICAgICh2b2lkKXNpemU7IFwKKyAgICAgICAg
aWYgKFBBU19VU0VfTVRFKSB7IFwKKyAgICAgICAgICAgIGlmIChQQVNfTVRFX1NIT1VMRF9UQUdf
UEFHRSgmcGFnZV9jb25maWcpKSBcCisgICAgICAgICAgICAgICAgUEFTX01URV9UQUdfUkVHSU9O
X0ZST01fREVBTExPQ0FUSU9OKHBhZ2VfY29uZmlnLCBwdHIsIHNpemUsIHBhc19tdGVfaG9tb2dl
bmVvdXNfYWxsb2NhdG9yKTsgXAorICAgICAgICB9IFwKKyAgICB9IHdoaWxlIChmYWxzZSkKKwor
I2RlZmluZSBQQVNfTVRFX0hBTkRMRV9TQ0FWRU5HRVJfVEhSRUFEX01BSU4oZGF0YSkgZG8geyBc
CisgICAgICAgIHBhc19tdGVfZW5zdXJlX2luaXRpYWxpemVkKCk7IFwKKyAgICB9IHdoaWxlIChm
YWxzZSkKKworI2lmIFBBU19PUyhEQVJXSU4pCisjZGVmaW5lIFBBU19NVEVfSEFORExFX1BBR0Vf
QUxMT0NBVElPTihzaXplLCBpc19zbWFsbCwgdGFnKSBkbyB7IFwKKyAgICAgICAgcGFzX210ZV9l
bnN1cmVfaW5pdGlhbGl6ZWQoKTsgXAorICAgICAgICBpZiAoUEFTX1VTRV9NVEUgJiYgKGlzX3Nt
YWxsKSkgeyBcCisgICAgICAgICAgICBjb25zdCB2bV9pbmhlcml0X3QgY2hpbGRQcm9jZXNzSW5o
ZXJpdGFuY2UgPSBWTV9JTkhFUklUX0RFRkFVTFQ7IFwKKyAgICAgICAgICAgIGNvbnN0IGJvb2wg
Y29weSA9IGZhbHNlOyBcCisgICAgICAgICAgICBjb25zdCB2bV9wcm90X3QgcHJvdGVjdGlvbnMg
PSBWTV9QUk9UX1dSSVRFIHwgVk1fUFJPVF9SRUFEOyBcCisgICAgICAgICAgICBrZXJuX3JldHVy
bl90IHZtX21hcF9yZXN1bHQgPSBtYWNoX3ZtX21hcChtYWNoX3Rhc2tfc2VsZigpLCAobWFjaF92
bV9hZGRyZXNzX3QqKSZtbWFwX3Jlc3VsdCwgKHNpemUpLCBwYXNfcGFnZV9tYWxsb2NfYWxpZ25t
ZW50KCkgLSAxLCBWTV9GTEFHU19BTllXSEVSRSB8IFBBU19WTV9NVEUgfCAodGFnKSwgTUVNT1JZ
X09CSkVDVF9OVUxMLCAwLCBjb3B5LCBwcm90ZWN0aW9ucywgcHJvdGVjdGlvbnMsIGNoaWxkUHJv
Y2Vzc0luaGVyaXRhbmNlKTsgXAorICAgICAgICAgICAgaWYgKHZtX21hcF9yZXN1bHQgIT0gS0VS
Tl9TVUNDRVNTKSB7IFwKKyAgICAgICAgICAgICAgICBlcnJubyA9IDA7IFwKKyAgICAgICAgICAg
ICAgICBpZiAoUEFTX01URV9GRUFUVVJFX0VOQUJMRUQoUEFTX01URV9GRUFUVVJFX0xPR19QQUdF
X0FMTE9DKSkgXAorICAgICAgICAgICAgICAgICAgICBwcmludGYoIltNVEVdXHRGYWlsZWQgdG8g
bWFwICV6dSBieXRlcyB3aXRoIFZNX0ZMQUdTX01URS5cbiIsIChzaXplX3QpKHNpemUpKTsgXAor
ICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOyBcCisgICAgICAgICAgICB9IFwKKyAgICAgICAg
ICAgIGlmIChQQVNfTVRFX0ZFQVRVUkVfRU5BQkxFRChQQVNfTVRFX0ZFQVRVUkVfTE9HX1BBR0Vf
QUxMT0MpKSBcCisgICAgICAgICAgICAgICAgcHJpbnRmKCJbTVRFXVx0TWFwcGVkICV6dSBieXRl
cyBmcm9tICVwIHRvICVwIHdpdGggVk1fRkxBR1NfTVRFLlxuIiwgKHNpemVfdCkoc2l6ZSksICh2
b2lkKikobW1hcF9yZXN1bHQpLCAodWludDhfdCopKG1tYXBfcmVzdWx0KSArIChzaXplKSk7IFwK
KyAgICAgICAgICAgIHJldHVybiBtbWFwX3Jlc3VsdDsgXAorICAgICAgICB9IFwKKyAgICB9IHdo
aWxlIChmYWxzZSkKKyNlbHNlIC8vIFBBU19PUyhEQVJXSU4pIC0+ICFQQVNfT1MoREFSV0lOKQor
I2RlZmluZSBQQVNfTVRFX0hBTkRMRV9QQUdFX0FMTE9DQVRJT04oYSwgYikgZG8geyBcCisgICAg
ICAgICh2b2lkKShhKTsgXAorICAgICAgICAodm9pZCkoYik7IFwKKyAgICB9IHdoaWxlIChmYWxz
ZSkKKyNlbmRpZiAvLyAhUEFTX09TKERBUldJTikKKworI2RlZmluZSBQQVNfTVRFX0hBTkRMRShr
aW5kLCAuLi4pIFwKKyAgICBQQVNfTVRFX0hBTkRMRV8gIyMga2luZChfX1ZBX0FSR1NfXykKKwor
UEFTX0lHTk9SRV9XQVJOSU5HU19FTkQKKworI2Vsc2UgLy8gIVBBU19FTkFCTEVfTVRFCisjZGVm
aW5lIFBBU19NVEVfSEFORExFKGtpbmQsIC4uLikgUEFTX1VOVVNFRF9WKF9fVkFfQVJHU19fKQor
I2RlZmluZSBQQVNfU0hPVUxEX01URV9UQUdfQkFTSUNfSEVBUF9QQUdFKHNpemVfY2F0ZWdvcnkp
IChmYWxzZSkKKyNlbmRpZiAvLyBQQVNfRU5BQkxFX01URQpkaWZmIC0tZ2l0IGEvU291cmNlL2Jt
YWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX210ZV9jb25maWcuYyBiL1NvdXJjZS9ibWFsbG9j
L2xpYnBhcy9zcmMvbGlicGFzL3Bhc19tdGVfY29uZmlnLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwLi40ZjIxNzA4ZGFmM2QKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfbXRlX2NvbmZpZy5jCkBAIC0wLDAgKzEs
MTYyIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDI1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNp
bmNsdWRlICJwYXNfbXRlLmgiCisKKyNpbmNsdWRlICJzdGRsaWIuaCIKKyNpZiBQQVNfT1MoREFS
V0lOKQorI2luY2x1ZGUgPHN5cy9zeXNjdGwuaD4KKyNlbmRpZgorI2lmICFQQVNfT1MoV0lORE9X
UykKKyNpbmNsdWRlICJ1bmlzdGQuaCIKKyNlbmRpZgorCisjaW5jbHVkZSAicGFzX3V0aWxzLmgi
CisjaW5jbHVkZSAicGFzX2hlYXAuaCIKKyNpbmNsdWRlICJwYXNfemVyb19tZW1vcnkuaCIKKwor
I2lmIFBBU19FTkFCTEVfTVRFCisKK2V4dGVybiBwYXNfaGVhcCBibWFsbG9jX2NvbW1vbl9wcmlt
aXRpdmVfaGVhcDsKKworc3RhdGljIGludCBpc19lbnZfZmFsc2UoY29uc3QgY2hhciogdmFyKQor
eworICAgIGNvbnN0IGNoYXIqIHZhbHVlID0gZ2V0ZW52KHZhcik7CisgICAgaWYgKCF2YWx1ZSkK
KyAgICAgICAgcmV0dXJuIDA7CisgICAgcmV0dXJuICFzdHJjYXNlY21wKHZhbHVlLCAiZmFsc2Ui
KSB8fCAhc3RyY2FzZWNtcCh2YWx1ZSwgIm5vIikgfHwgIXN0cmNhc2VjbXAodmFsdWUsICIwIik7
Cit9CisKK3N0YXRpYyBpbnQgaXNfZW52X3RydWUoY29uc3QgY2hhciogdmFyKQoreworICAgIGNv
bnN0IGNoYXIqIHZhbHVlID0gZ2V0ZW52KHZhcik7CisgICAgaWYgKCF2YWx1ZSkKKyAgICAgICAg
cmV0dXJuIDA7CisgICAgcmV0dXJuICFzdHJjYXNlY21wKHZhbHVlLCAidHJ1ZSIpIHx8ICFzdHJj
YXNlY21wKHZhbHVlLCAieWVzIikgfHwgIXN0cmNhc2VjbXAodmFsdWUsICIxIik7Cit9CisKK3N0
YXRpYyBib29sIGdldF92YWx1ZV9pZl9hdmFpbGFibGUodW5zaWduZWQqIHZhbHVlUHRyLCBjb25z
dCBjaGFyKiB2YXIpCit7CisgICAgY29uc3QgY2hhciogdmFyU3RyID0gZ2V0ZW52KHZhcik7Cisg
ICAgaWYgKHZhclN0cikgeworICAgICAgICB1bnNpZ25lZCB2YWx1ZSA9IDA7CisgICAgICAgIGlm
IChzc2NhbmYodmFyU3RyLCAiJXUiLCAmdmFsdWUpID09IDEpIHsKKyAgICAgICAgICAgICp2YWx1
ZVB0ciA9IHZhbHVlOworICAgICAgICAgICAgcmV0dXJuIHRydWU7IC8vIEZvdW5kLgorICAgICAg
ICB9CisgICAgfQorICAgIHJldHVybiBmYWxzZTsgLy8gTm90IGZvdW5kLgorfQorCitzdGF0aWMg
dm9pZCBwYXNfbXRlX2RvX2luaXRpYWxpemF0aW9uKHZvaWQqIGN0eCkKK3sKKyAgICAodm9pZClj
dHg7CisgICAgdWludDhfdCogZW5hYmxlZF9ieXRlID0gJlBBU19NVEVfQ09ORklHX0JZVEUoUEFT
X01URV9FTkFCTEVfRkxBRyk7CisgICAgdWludDhfdCogbW9kZV9ieXRlID0gJlBBU19NVEVfQ09O
RklHX0JZVEUoUEFTX01URV9NT0RFX0JJVFMpOworICAgIHVpbnQ4X3QqIG1lZGl1bV9ieXRlID0g
JlBBU19NVEVfQ09ORklHX0JZVEUoUEFTX01URV9NRURJVU1fVEFHR0lOR19FTkFCTEVfRkxBRyk7
CisgICAgdWludDhfdCogbG9ja2Rvd25fbW9kZV9ieXRlID0gJlBBU19NVEVfQ09ORklHX0JZVEUo
UEFTX01URV9MT0NLRE9XTl9NT0RFX0ZMQUcpOworICAgIHVpbnQ4X3QqIGlzX3djcF9ieXRlID0g
JlBBU19NVEVfQ09ORklHX0JZVEUoUEFTX01URV9JU19XQ1BfRkxBRyk7CisKKyAgICBzdHJ1Y3Qg
cHJvY19ic2RpbmZvIGluZm87CisgICAgaW50IHJjID0gcHJvY19waWRpbmZvKGdldHBpZCgpLCBQ
Uk9DX1BJRFRCU0RJTkZPLCAwLCAmaW5mbywgc2l6ZW9mKGluZm8pKTsKKyAgICBpZiAocmMgPT0g
c2l6ZW9mKGluZm8pICYmIGluZm8ucGJpX2ZsYWdzICYgUEFTX01URV9QUk9DX0ZMQUdfU0VDX0VO
QUJMRUQpCisgICAgICAgICplbmFibGVkX2J5dGUgPSAxOworCisgICAgaWYgKGlzX2Vudl90cnVl
KCJKU0NfdXNlQWxsb2NhdGlvblByb2ZpbGluZyIpIHx8IGlzX2Vudl90cnVlKCJNVEVfb3ZlcnJp
ZGVFbmFibGVtZW50Rm9ySmF2YVNjcmlwdENvcmUiKSkgeworICAgICAgICBQQVNfQVNTRVJUKCEo
aXNfZW52X2ZhbHNlKCJKU0NfdXNlQWxsb2NhdGlvblByb2ZpbGluZyIpIHx8IGlzX2Vudl9mYWxz
ZSgiTVRFX292ZXJyaWRlRW5hYmxlbWVudEZvckphdmFTY3JpcHRDb3JlIikpKTsKKyAgICAgICAg
KmVuYWJsZWRfYnl0ZSA9IDE7CisgICAgfQorICAgIGlmIChpc19lbnZfZmFsc2UoIkpTQ191c2VB
bGxvY2F0aW9uUHJvZmlsaW5nIikgfHwgaXNfZW52X2ZhbHNlKCJNVEVfb3ZlcnJpZGVFbmFibGVt
ZW50Rm9ySmF2YVNjcmlwdENvcmUiKSkKKyAgICAgICAgKmVuYWJsZWRfYnl0ZSA9IDA7CisKKyAg
ICBpZiAoISplbmFibGVkX2J5dGUpCisgICAgICAgIHJldHVybjsKKworICAgIHVuc2lnbmVkIG1v
ZGUgPSAwOworICAgIGlmIChnZXRfdmFsdWVfaWZfYXZhaWxhYmxlKCZtb2RlLCAiSlNDX2FsbG9j
YXRpb25Qcm9maWxpbmdNb2RlIikpCisgICAgICAgICptb2RlX2J5dGUgPSAodWludDhfdCkobW9k
ZSAmIDB4RkYpOworCisgICAgY29uc3QgY2hhciogbmFtZSA9IGluZm8ucGJpX25hbWVbMF0gPyBp
bmZvLnBiaV9uYW1lIDogaW5mby5wYmlfY29tbTsKKyAgICBib29sIGlzV2ViQ29udGVudFByb2Nl
c3MgPSAhc3RybmNtcChuYW1lLCAiY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50IiwgMjcpIHx8
ICFzdHJuY21wKG5hbWUsICJqc2MiLCAzKTsKKyAgICAqaXNfd2NwX2J5dGUgPSBpc1dlYkNvbnRl
bnRQcm9jZXNzOworCisgICAgdW5zaWduZWQgdGFnZ2luZ1JhdGUgPSAxMDA7CisgICAgaWYgKGlz
V2ViQ29udGVudFByb2Nlc3MpIHsKKyAgICAgICAgY29uc3QgdWludDhfdCBkZWZhdWx0V2ViQ29u
dGVudFRhZ2dpbmdSYXRlID0gMzM7CisgICAgICAgIHRhZ2dpbmdSYXRlID0gZGVmYXVsdFdlYkNv
bnRlbnRUYWdnaW5nUmF0ZTsKKworICAgICAgICAvLyBEZWJ1ZyBvcHRpb24gdG8gb3ZlcnJpZGUg
dGhlIFdDUCB0YWdnaW5nIHJhdGUuCisgICAgICAgIGdldF92YWx1ZV9pZl9hdmFpbGFibGUoJnRh
Z2dpbmdSYXRlLCAiTVRFX3RhZ2dpbmdSYXRlRm9yV2ViQ29udGVudCIpOworICAgIH0KKworICAg
IC8vIERlYnVnIG9wdGlvbiB0byB1bmNvbmRpdGlvbmFsbHkgb3ZlcnJpZGUgdGhlIHRhZ2dpbmcg
cmF0ZS4KKyAgICBnZXRfdmFsdWVfaWZfYXZhaWxhYmxlKCZ0YWdnaW5nUmF0ZSwgIk1URV90YWdn
aW5nUmF0ZSIpOworCisgICAgUEFTX01URV9DT05GSUdfQllURShQQVNfTVRFX1RBR0dJTkdfUkFU
RSkgPSB0YWdnaW5nUmF0ZTsKKworICAgIGlmIChpc1dlYkNvbnRlbnRQcm9jZXNzKSB7CisgICAg
ICAgICptZWRpdW1fYnl0ZSA9IDA7CisjaWYgIVBBU19VU0VfTVRFX0lOX1dFQkNPTlRFTlQKKyAg
ICAgICAgLy8gRGlzYWJsZSB0YWdnaW5nIGluIGxpYnBhcyBieSBkZWZhdWx0IGluIFdlYkNvbnRl
bnQgcHJvY2VzcworICAgICAgICAqZW5hYmxlZF9ieXRlID0gMDsKKyNlbmRpZgorICAgICAgICB1
aW50NjRfdCBsZG1TdGF0ZSA9IDA7CisgICAgICAgIHNpemVfdCBzeXNDdGxMZW4gPSBzaXplb2Yo
bGRtU3RhdGUpOworICAgICAgICBpZiAoc3lzY3RsYnluYW1lKCJzZWN1cml0eS5tYWMubG9ja2Rv
d25fbW9kZV9zdGF0ZSIsICZsZG1TdGF0ZSwgJnN5c0N0bExlbiwgTlVMTCwgMCkgPj0gMCAmJiBs
ZG1TdGF0ZSA9PSAxKSB7CisgICAgICAgICAgICAqZW5hYmxlZF9ieXRlID0gMTsKKyAgICAgICAg
ICAgICptZWRpdW1fYnl0ZSA9IDE7CisgICAgICAgICAgICAqbG9ja2Rvd25fbW9kZV9ieXRlID0g
MTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICpsb2NrZG93bl9tb2RlX2J5dGUgPSAw
OworCisgICAgICAgICAgICAvLyBGSVhNRTogcmRhcjovLzE1OTk3NDE5NQorICAgICAgICAgICAg
Ym1hbGxvY19jb21tb25fcHJpbWl0aXZlX2hlYXAuaXNfbm9uX2NvbXBhY3RfaGVhcCA9IGZhbHNl
OworICAgICAgICB9CisKKyNpZm5kZWYgTkRFQlVHCisgICAgICAgIGlmIChpc19lbnZfdHJ1ZSgi
TVRFX2Rpc2FibGVGb3JXZWJDb250ZW50IikpIHsKKyAgICAgICAgICAgIFBBU19BU1NFUlQoIWlz
X2Vudl90cnVlKCJNVEVfb3ZlcnJpZGVFbmFibGVtZW50Rm9yV2ViQ29udGVudCIpKTsKKyAgICAg
ICAgICAgICplbmFibGVkX2J5dGUgPSAwOworICAgICAgICAgICAgKm1lZGl1bV9ieXRlID0gMDsK
KyAgICAgICAgfQorI2VuZGlmCisgICAgICAgIGlmIChpc19lbnZfdHJ1ZSgiTVRFX292ZXJyaWRl
RW5hYmxlbWVudEZvcldlYkNvbnRlbnQiKSkgeworICAgICAgICAgICAgKmVuYWJsZWRfYnl0ZSA9
IDE7CisgICAgICAgICAgICAqbWVkaXVtX2J5dGUgPSAxOworICAgICAgICB9IGVsc2UgaWYgKGlz
X2Vudl9mYWxzZSgiTVRFX292ZXJyaWRlRW5hYmxlbWVudEZvcldlYkNvbnRlbnQiKSkgeworICAg
ICAgICAgICAgKmVuYWJsZWRfYnl0ZSA9IDA7CisgICAgICAgICAgICAqbWVkaXVtX2J5dGUgPSAw
OworICAgICAgICB9CisgICAgfSBlbHNlCisgICAgICAgICptZWRpdW1fYnl0ZSA9IDE7IC8vIFRh
ZyBsaWJwYXMgbWVkaXVtIG9iamVjdHMgaW4gcHJpdmlsZWdlZCBwcm9jZXNzZXMuCit9CisKK3Zv
aWQgcGFzX210ZV9lbnN1cmVfaW5pdGlhbGl6ZWQodm9pZCkKK3sKKyAgICBzdGF0aWMgZGlzcGF0
Y2hfb25jZV90IHByZWQ7CisgICAgZGlzcGF0Y2hfb25jZV9mKCZwcmVkLCBOVUxMLCBwYXNfbXRl
X2RvX2luaXRpYWxpemF0aW9uKTsKK30KKworI2VuZGlmIC8vIFBBU19FTkFCTEVfTVRFCmRpZmYg
LS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfbXRlX2NvbmZpZy5o
IGIvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX210ZV9jb25maWcuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmI3YWQ2NmY1NTIxNQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19tdGVfY29u
ZmlnLmgKQEAgLTAsMCArMSwxNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMjUgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJwYXNfcGxhdGZvcm0uaCIK
KyNpbmNsdWRlICJwYXNfY29uZmlnLmgiCisjaWYgZGVmaW5lZChQQVNfQk1BTExPQykKKyNpbmNs
dWRlICJCUGxhdGZvcm0uaCIKKyNlbmRpZgorCisjaWYgZGVmaW5lZChfX2hhc19pbmNsdWRlKQor
I2lmIF9faGFzX2luY2x1ZGUoPFdlYktpdEFkZGl0aW9ucy9wYXNfbXRlX2FkZGl0aW9ucy5oPikK
KyNpbmNsdWRlIDxXZWJLaXRBZGRpdGlvbnMvcGFzX210ZV9hZGRpdGlvbnMuaD4KKyNlbmRpZiAv
LyBfX2hhc19pbmNsdWRlKDxXZWJLaXRBZGRpdGlvbnMvcGFzX210ZV9hZGRpdGlvbnMuaD4pCisj
aWYgX19oYXNfaW5jbHVkZSg8bGlicHJvYy5oPikKKyNpbmNsdWRlIDxsaWJwcm9jLmg+CisjZW5k
aWYgLy8gX19oYXNfaW5jbHVkZSg8bGlicHJvYy5oPikKKyNlbmRpZiAvLyBkZWZpbmVkKF9faGFz
X2luY2x1ZGUpCisKKyNpbmNsdWRlIDxzdGRkZWYuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKwor
I2lmZGVmIF9fQVBQTEVfXworI2luY2x1ZGUgPEF2YWlsYWJpbGl0eS5oPgorI2luY2x1ZGUgPEF2
YWlsYWJpbGl0eU1hY3Jvcy5oPgorI2luY2x1ZGUgPFRhcmdldENvbmRpdGlvbmFscy5oPgorI2Vu
ZGlmCisjaWYgUEFTX09TKERBUldJTikKKyNpbmNsdWRlIDxkaXNwYXRjaC9kaXNwYXRjaC5oPgor
I2lmIFBBU19VU0VfQVBQTEVfSU5URVJOQUxfU0RLCisjaW5jbHVkZSA8bWFjaC9tYWNoX2luaXQu
aD4KKyNpbmNsdWRlIDxtYWNoL21hY2hfdm0uaD4KKyNpbmNsdWRlIDxtYWNoL3ZtX3BhZ2Vfc2l6
ZS5oPgorI2luY2x1ZGUgPG1hY2gvdm1fc3RhdGlzdGljcy5oPgorI2VuZGlmIC8vIFBBU19VU0Vf
QVBQTEVfSU5URVJOQUxfU0RLCisjZW5kaWYgLy8gUEFTX09TKERBUldJTikKKworI2lmIFBBU19F
TkFCTEVfTVRFCisKK3R5cGVkZWYgdWludDY0X3QgU2xvdDsKKworI2lmZGVmIF9fY3BsdXNwbHVz
CitleHRlcm4gIkMiIHsKKyNlbmRpZgorZXh0ZXJuIFNsb3QgZ19jb25maWdbXTsKKyNpZmRlZiBf
X2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNkZWZpbmUgUEFTX01URV9FTkFCTEVfRkxBRyAwCisj
ZGVmaW5lIFBBU19NVEVfTU9ERV9CSVRTIDEKKyNkZWZpbmUgUEFTX01URV9UQUdHSU5HX1JBVEUg
MgorI2RlZmluZSBQQVNfTVRFX01FRElVTV9UQUdHSU5HX0VOQUJMRV9GTEFHIDMKKyNkZWZpbmUg
UEFTX01URV9MT0NLRE9XTl9NT0RFX0ZMQUcgNAorI2RlZmluZSBQQVNfTVRFX0lTX1dDUF9GTEFH
IDUKKworLy8gTXVzdCBiZSBrZXB0IGluIHN5bmMgd2l0aCB0aGUgb2Zmc2V0cyBpbiBXVEZDb25m
aWcuaDpSZXNlcnZlZENvbmZpZ0J5dGVPZmZzZXQKKyNkZWZpbmUgUEFTX01URV9DT05GSUdfUkVT
RVJWRURfQllURV9PRkZTRVQgMgorI2RlZmluZSBQQVNfTVRFX0NPTkZJR19CWVRFKGJ5dGUpICgo
KHVpbnQ4X3QqKShnX2NvbmZpZyArIFBBU19NVEVfQ09ORklHX1JFU0VSVkVEX0JZVEVfT0ZGU0VU
KSlbYnl0ZV0pCisKKyNkZWZpbmUgUEFTX1VTRV9NVEUgKFBBU19NVEVfQ09ORklHX0JZVEUoUEFT
X01URV9FTkFCTEVfRkxBRykpCisjaWZuZGVmIFBBU19VU0VfTVRFX0lOX1dFQkNPTlRFTlQKKyNk
ZWZpbmUgUEFTX1VTRV9NVEVfSU5fV0VCQ09OVEVOVCAxCisjZW5kaWYKKworI2RlZmluZSBQQVNf
TVRFX0NPTkZJR19GSUVMRChieXRlLCBiaXQpICgoKFBBU19NVEVfQ09ORklHX0JZVEUoYnl0ZSkp
ICYgKDFVTCA8PCAoYml0KSkpID8gMSA6IDApCisjZGVmaW5lIFBBU19NVEVfTUVESVVNX1RBR0dJ
TkdfRU5BQkxFRCAoUEFTX01URV9DT05GSUdfQllURShQQVNfTVRFX01FRElVTV9UQUdHSU5HX0VO
QUJMRV9GTEFHKSkKKyNkZWZpbmUgUEFTX01URV9JU19MT0NLRE9XTl9NT0RFIChQQVNfTVRFX0NP
TkZJR19CWVRFKFBBU19NVEVfTE9DS0RPV05fTU9ERV9GTEFHKSkKKyNkZWZpbmUgUEFTX01URV9J
U19JTl9XQ1AgKFBBU19NVEVfQ09ORklHX0JZVEUoUEFTX01URV9JU19XQ1BfRkxBRykpCisKKyNk
ZWZpbmUgUEFTX1ZNX01URSAweDIwMDAKKyNkZWZpbmUgUEFTX01URV9QUk9DX0ZMQUdfU0VDX0VO
QUJMRUQgMHg0MDAwMDAwCisKKyNkZWZpbmUgUEFTX01URV9TSE9VTERfU1RPUkVfVEFHIDEKKwor
I2lmbmRlZiBQQVNfVVNFX0NPTVBBQ1RfT05MWV9IRUFQCisvKgorICogVGhlIHJlYXNvbiB3ZSBt
YWtlIFRab25lIGNvbXBhY3Qtb25seSBoZWFwcyByZWxpYW50IG9uIHJ1bnRpbWUgUEFTX01URQor
ICogZW5hYmxlbWVudCwgYW5kIG5vdCB0aGUgZ2VuZXJhbCBjb21wYWN0LW9ubHkgaGVhcCwgaXMg
dGhhdCBsdW1waW5nIGFsbAorICogbm9uLWNvbXBhY3Qgb2JqZWN0cyBpbnRvIHRoZSBzYW1lIGhl
YXAgaXMgYSBzZWN1cml0eSByZWdyZXNzaW9uIGZvciBUWm9uZSwKKyAqIGJ1dCBub3QgYSBzZWN1
cml0eSByZWdyZXNzaW9uIGZvciB0aGUgZ2VuZXJhbCBibWFsbG9jIGhlYXAgd2hlcmUgd2UgYWxy
ZWFkeQorICogZXhwZWN0IGFsbCBhbGxvY2F0aW9ucyB0byBjb21lIG91dCBvZiB0aGUgc2FtZSBz
aW5ndWxhciBpbnRyaW5zaWMgaGVhcC4KKyAqIEJ5IGF2b2lkaW5nIGNoZWNraW5nIFBBU19VU0Vf
TVRFLCB3ZSBzYXZlIGFuIGFkZGl0aW9uYWwgY2hlY2sgaW4gdGhlIG1hbGxvYworICogZmFzdCBw
YXRoIGZvciBvcmRpbmFyeSBhbGxvY2F0aW9ucywgd2hpbGUgdGhlIGNvcnJlc3BvbmRpbmcgY2hl
Y2sgZm9yIFRab25lCisgKiBoZWFwcyBvbmx5IG9jY3VycyBkdXJpbmcgaGVhcCBzZWxlY3Rpb24g
LSBpdCdzIG5vdCBhcyBzaWduaWZpY2FudC4KKyAqLworI2RlZmluZSBQQVNfVVNFX0NPTVBBQ1Rf
T05MWV9IRUFQIDEKKyNkZWZpbmUgUEFTX1VTRV9DT01QQUNUX09OTFlfVFpPTkVfSEVBUCBQQVNf
VVNFX01URQorI2VuZGlmCisKKyNkZWZpbmUgUEFTX01URV9GRUFUVVJFX1JFVEFHX09OX0ZSRUUg
MAorI2RlZmluZSBQQVNfTVRFX0ZFQVRVUkVfTE9HX09OX1RBRyAxCisjZGVmaW5lIFBBU19NVEVf
RkVBVFVSRV9MT0dfT05fUFVSSUZZIDIKKyNkZWZpbmUgUEFTX01URV9GRUFUVVJFX0xPR19QQUdF
X0FMTE9DIDMKKyNkZWZpbmUgUEFTX01URV9GRUFUVVJFX1pFUk9fVEFHX0FMTCA0CisjZGVmaW5l
IFBBU19NVEVfRkVBVFVSRV9BREpBQ0VOVF9UQUdfRVhDTFVTSU9OIDUKKyNkZWZpbmUgUEFTX01U
RV9GRUFUVVJFX0FTU0VSVF9BREpBQ0VOVF9UQUdTX0FSRV9ESVNKT0lOVCA2CisKKyNkZWZpbmUg
UEFTX01URV9GRUFUVVJFX0ZPUkNFRChmZWF0dXJlKSAoMCkKKyNkZWZpbmUgUEFTX01URV9GRUFU
VVJFX1BSSVZJTEVHRURfRk9SQ0VEKGZlYXR1cmUpIChmZWF0dXJlID09IFBBU19NVEVfRkVBVFVS
RV9BREpBQ0VOVF9UQUdfRVhDTFVTSU9OKQorI2RlZmluZSBQQVNfTVRFX0ZFQVRVUkVfV0NQX0ZP
UkNFRChmZWF0dXJlKSAoMCkKKyNkZWZpbmUgUEFTX01URV9GRUFUVVJFX0RFQlVHX0ZPUkNFRChm
ZWF0dXJlKSAoZmVhdHVyZSA9PSBQQVNfTVRFX0ZFQVRVUkVfQVNTRVJUX0FESkFDRU5UX1RBR1Nf
QVJFX0RJU0pPSU5UKQorCisjZGVmaW5lIFBBU19NVEVfRkVBVFVSRV9GT1JDRURfSU5fUkVMRUFT
RV9CVUlMRChmZWF0dXJlKSBcCisgICAgKFBBU19NVEVfRkVBVFVSRV9GT1JDRUQoZmVhdHVyZSkg
fHwgXAorICAgICAoUEFTX01URV9GRUFUVVJFX1BSSVZJTEVHRURfRk9SQ0VEKGZlYXR1cmUpICYm
ICFQQVNfTVRFX0lTX0lOX1dDUCkgfHwgXAorICAgICAoUEFTX01URV9GRUFUVVJFX1dDUF9GT1JD
RUQoZmVhdHVyZSkgJiYgUEFTX01URV9JU19JTl9XQ1ApKQorCisjZGVmaW5lIFBBU19NVEVfRkVB
VFVSRV9GT1JDRURfSU5fREVCVUdfQlVJTEQoZmVhdHVyZSkgXAorICAgIChQQVNfTVRFX0ZFQVRV
UkVfRk9SQ0VEX0lOX1JFTEVBU0VfQlVJTEQoZmVhdHVyZSkgfHwgXAorICAgICBQQVNfTVRFX0ZF
QVRVUkVfREVCVUdfRk9SQ0VEKGZlYXR1cmUpIHx8IFwKKyAgICAgUEFTX01URV9DT05GSUdfRklF
TEQoUEFTX01URV9NT0RFX0JJVFMsIGZlYXR1cmUpKQorCisjaWZuZGVmIE5ERUJVRworI2RlZmlu
ZSBQQVNfTVRFX0ZFQVRVUkVfRU5BQkxFRChmZWF0dXJlKSAoUEFTX1VTRV9NVEUgJiYgUEFTX01U
RV9GRUFUVVJFX0ZPUkNFRF9JTl9ERUJVR19CVUlMRChmZWF0dXJlKSkKKyNlbHNlCisjZGVmaW5l
IFBBU19NVEVfRkVBVFVSRV9FTkFCTEVEKGZlYXR1cmUpIChQQVNfVVNFX01URSAmJiBQQVNfTVRF
X0ZFQVRVUkVfRk9SQ0VEX0lOX1JFTEVBU0VfQlVJTEQoZmVhdHVyZSkpCisjZW5kaWYKKworI2lm
ZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgordm9pZCBwYXNfbXRlX2Vuc3Vy
ZV9pbml0aWFsaXplZCh2b2lkKTsKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNl
bHNlIC8vICFQQVNfRU5BQkxFX01URQorI2RlZmluZSBQQVNfVVNFX01URSAoMCkKKyNkZWZpbmUg
UEFTX1VTRV9NVEVfSU5fV0VCQ09OVEVOVCAoMCkKKyNkZWZpbmUgUEFTX01URV9GRUFUVVJFX0VO
QUJMRUQoZmVhdHVyZSkgKDApCisjZW5kaWYgLy8gUEFTX0VOQUJMRV9NVEUKKworI2lmIGRlZmlu
ZWQoUEFTX0JNQUxMT0MpICYmIEJFTkFCTEUoTElCUEFTKQorI2lmIEJFTkFCTEVfTVRFICE9IFBB
U19FTkFCTEVfTVRFCisjZXJyb3IgImNhbm5vdCBlbmFibGUgTVRFIGluIGxpYnBhcyB3aXRob3V0
IGVuYWJsaW5nIGl0IGluIGJtYWxsb2MsIG9yIHZpY2UgdmVyc2EiCisjZW5kaWYKKworI2RlZmlu
ZSBCTUFMTE9DX1ZNX01URSBQQVNfVk1fTVRFCisjZGVmaW5lIEJNQUxMT0NfVVNFX01URSBQQVNf
VVNFX01URQorCisjZW5kaWYgLy8gZGVmaW5lZChQQVNfQk1BTExPQykgJiYgQkVOQUJMRShMSUJQ
QVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfcGFn
ZV9iYXNlX2FuZF9raW5kLmggYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNf
cGFnZV9iYXNlX2FuZF9raW5kLmgKaW5kZXggN2U5N2VkOTNkNjM5Li5jMmZiNDBkYTQwZTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19wYWdlX2Jhc2Vf
YW5kX2tpbmQuaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfcGFn
ZV9iYXNlX2FuZF9raW5kLmgKQEAgLTI3LDYgKzI3LDcgQEAKICNkZWZpbmUgUEFTX1BBR0VfQkFT
RV9BTkRfS0lORF9ICiAKICNpbmNsdWRlICJwYXNfcGFnZV9iYXNlLmgiCisjaW5jbHVkZSAicGFz
X3plcm9fbWVtb3J5LmgiCiAKIFBBU19CRUdJTl9FWFRFUk5fQzsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3BhZ2VfYmFzZV9jb25maWcuaCBiL1Nv
dXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19wYWdlX2Jhc2VfY29uZmlnLmgKaW5k
ZXggMDg0ZTMwMGE5OThkLi40NDFjMDJiMjY1ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9j
L2xpYnBhcy9zcmMvbGlicGFzL3Bhc19wYWdlX2Jhc2VfY29uZmlnLmgKKysrIGIvU291cmNlL2Jt
YWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3BhZ2VfYmFzZV9jb25maWcuaApAQCAtNjgsNiAr
NjgsOSBAQCBzdHJ1Y3QgcGFzX3BhZ2VfYmFzZV9jb25maWcgewogICAgIC8qIHdoZXRoZXIgcHJv
ZmlsaW5nIG1hY3JvcyBzaG91bGQgaWdub3JlIHBhZ2VzIG9mIHRoaXMga2luZCAqLwogICAgIGJv
b2wgYWxsb3dfcHJvZmlsaW5nOwogCisgICAgLyogV2hldGhlciB0aGlzIHBhZ2UgY2FuIGJlIGFs
bG9jYXRlZCB3aXRoIGJhY2tpbmcgTVRFIHRhZyBtZW1vcnkuICovCisgICAgYm9vbCBhbGxvd19t
dGVfdGFnZ2luZzsKKwogICAgIC8qIFRoaXMgcG9pbnRzIHRvIHRoZSBvd25pbmcgaGVhcCBjb25m
aWcuIEN1cnJlbnRseSB0aGVyZSBpcyBhbHdheXMgYW4gb3duaW5nIGhlYXAgY29uZmlnLiAqLwog
ICAgIGNvbnN0IHBhc19oZWFwX2NvbmZpZyogaGVhcF9jb25maWdfcHRyOwogICAgIApkaWZmIC0t
Z2l0IGEvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3BhZ2VfYmFzZV9jb25m
aWdfdXRpbHMuaCBiL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19wYWdlX2Jh
c2VfY29uZmlnX3V0aWxzLmgKaW5kZXggMGQ2NDQ1OGJkMGQ0Li5iY2U4N2RkZjBiYzMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19wYWdlX2Jhc2VfY29u
ZmlnX3V0aWxzLmgKKysrIGIvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3Bh
Z2VfYmFzZV9jb25maWdfdXRpbHMuaApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAicGFz
X2NvbmZpZy5oIgogI2luY2x1ZGUgInBhc19pbnRlcm5hbF9jb25maWcuaCIKKyNpbmNsdWRlICJw
YXNfbXRlLmgiCiAjaW5jbHVkZSAicGFzX3BhZ2VfYmFzZV9jb25maWcuaCIKICNpbmNsdWRlICJw
YXNfcGFnZV9oZWFkZXJfcGxhY2VtZW50X21vZGUuaCIKICNpbmNsdWRlICJwYXNfcGFnZV9oZWFk
ZXJfdGFibGUuaCIKQEAgLTY5LDE2ICs3MCwyMSBAQCB0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAg
IGNhc2UgcGFzX3BhZ2VfaGVhZGVyX2F0X2hlYWRfb2ZfcGFnZTogeyBcCiAgICAgICAgICAgICB1
aW50cHRyX3QgcHRyID0gKHVpbnRwdHJfdClib3VuZGFyeTsgXAogICAgICAgICAgICAgUEFTX1BS
T0ZJTEUoUEFHRV9CQVNFX0ZST01fQk9VTkRBUlksIHB0cik7IFwKKyAgICAgICAgICAgIFBBU19N
VEVfSEFORExFKFBBR0VfQkFTRV9GUk9NX0JPVU5EQVJZLCBwdHIpOyBcCiAgICAgICAgICAgICBy
ZXR1cm4gKHBhc19wYWdlX2Jhc2UqKXB0cjsgXAogICAgICAgICB9IFwKICAgICAgICAgXAogICAg
ICAgICBjYXNlIHBhc19wYWdlX2hlYWRlcl9pbl90YWJsZTogeyBcCiAgICAgICAgICAgICB1aW50
cHRyX3QgcGFnZV9iYXNlID0gKHVpbnRwdHJfdClib3VuZGFyeTsgXAogICAgICAgICAgICAgUEFT
X1BST0ZJTEUoUEFHRV9CQVNFX0ZST01fQk9VTkRBUlksIHBhZ2VfYmFzZSk7IFwKKyAgICAgICAg
ICAgIFBBU19NVEVfSEFORExFKFBBR0VfQkFTRV9GUk9NX0JPVU5EQVJZLCBwYWdlX2Jhc2UpOyBc
CiAgICAgICAgICAgICBwYWdlX2Jhc2UgPSAodWludHB0cl90KXBhc19wYWdlX2hlYWRlcl90YWJs
ZV9nZXRfZm9yX2JvdW5kYXJ5KCBcCiAgICAgICAgICAgICAgICAgYXJndW1lbnRzLmhlYWRlcl90
YWJsZSwgY29uZmlnLnBhZ2Vfc2l6ZSwgKHBhc19wYWdlX2Jhc2UqKXBhZ2VfYmFzZSk7IFwKICAg
ICAgICAgICAgIFBBU19URVNUSU5HX0FTU0VSVChwYWdlX2Jhc2UpOyBcCiAgICAgICAgICAgICBQ
QVNfUFJPRklMRShQQUdFX0JBU0VfRlJPTV9UQUJMRSwgcGFnZV9iYXNlKTsgXAorICAgICAgICAg
ICAgLyogRG9lcyBub3QgbmVlZCB0byBiZSBNVEUtdGFnZ2VkIHNpbmNlIHBhZ2UtYmFzZXMgc2hv
dWxkIGFsd2F5cyAqLyBcCisgICAgICAgICAgICAvKiBiZSB6ZXJvLXRhZ2dlZCwgYW5kIHRoZSBw
YWdlIGhlYWRlciB0YWJsZSBzaG91bGQgYWxyZWFkeSBoYXZlICovIFwKKyAgICAgICAgICAgIC8q
IGNsZWFyZWQgdGhlIHBvaW50ZXIgaXQgZ2F2ZSB1cy4gKi8gXAogICAgICAgICAgICAgcmV0dXJu
IChwYXNfcGFnZV9iYXNlKilwYWdlX2Jhc2U7IFwKICAgICAgICAgfSB9IFwKICAgICAgICAgXApk
aWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3BhZ2VfaGVh
ZGVyX3RhYmxlLmMgYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfcGFnZV9o
ZWFkZXJfdGFibGUuYwppbmRleCAxMWE2ODgwNDg4ZTEuLmU3ZGVlOTQ2NDcyMiAxMDA2NDQKLS0t
IGEvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3BhZ2VfaGVhZGVyX3RhYmxl
LmMKKysrIGIvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3BhZ2VfaGVhZGVy
X3RhYmxlLmMKQEAgLTQzLDYgKzQzLDcgQEAgcGFzX3BhZ2VfYmFzZSogcGFzX3BhZ2VfaGVhZGVy
X3RhYmxlX2FkZChwYXNfcGFnZV9oZWFkZXJfdGFibGUqIHRhYmxlLAogCiAgICAgdWludHB0cl90
IGJvdW5kYXJ5X2ludCA9ICh1aW50cHRyX3QpYm91bmRhcnk7CiAgICAgUEFTX1BST0ZJTEUoUEFH
RV9IRUFERVJfVEFCTEVfQURELCBib3VuZGFyeV9pbnQpOworICAgIFBBU19NVEVfSEFORExFKFBB
R0VfSEVBREVSX1RBQkxFX0FERCwgYm91bmRhcnlfaW50KTsKICAgICBib3VuZGFyeSA9ICh2b2lk
Kilib3VuZGFyeV9pbnQ7CiAKICAgICBpZiAodmVyYm9zZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9i
bWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19wYWdlX2hlYWRlcl90YWJsZS5oIGIvU291cmNl
L2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3BhZ2VfaGVhZGVyX3RhYmxlLmgKaW5kZXgg
MGM4YzkyMzBlZGU1Li4xMGJmOWMzODkyMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2xp
YnBhcy9zcmMvbGlicGFzL3Bhc19wYWdlX2hlYWRlcl90YWJsZS5oCisrKyBiL1NvdXJjZS9ibWFs
bG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19wYWdlX2hlYWRlcl90YWJsZS5oCkBAIC0yNyw2ICsy
Nyw3IEBACiAjZGVmaW5lIFBBU19QQUdFX0hFQURFUl9UQUJMRV9ICiAKICNpbmNsdWRlICJwYXNf
bG9ja19mcmVlX3JlYWRfcHRyX3B0cl9oYXNodGFibGUuaCIKKyNpbmNsdWRlICJwYXNfbXRlLmgi
CiAKIFBBU19CRUdJTl9FWFRFUk5fQzsKIApAQCAtOTYsNiArOTcsNyBAQCBwYXNfcGFnZV9oZWFk
ZXJfdGFibGVfZ2V0X2Zvcl9ib3VuZGFyeShwYXNfcGFnZV9oZWFkZXJfdGFibGUqIHRhYmxlLAog
ICAgICAgICAgICAgICAgICAgICAgICA9PSBiZWdpbik7CiAKICAgICBQQVNfUFJPRklMRShQQUdF
X0hFQURFUl9UQUJMRV9HRVQsIGJlZ2luKTsKKyAgICBQQVNfTVRFX0hBTkRMRShQQUdFX0hFQURF
Ul9UQUJMRV9HRVQsIGJlZ2luKTsKICAgICBib3VuZGFyeSA9ICh2b2lkKiliZWdpbjsKICAgICBy
ZXR1cm4gKHBhc19wYWdlX2Jhc2UqKXBhc19sb2NrX2ZyZWVfcmVhZF9wdHJfcHRyX2hhc2h0YWJs
ZV9maW5kKAogICAgICAgICAmdGFibGUtPmhhc2h0YWJsZSwgcGFzX3BhZ2VfaGVhZGVyX3RhYmxl
X2hhc2gsICh2b2lkKilwYWdlX3NpemUsIGJvdW5kYXJ5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9i
bWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19wYWdlX21hbGxvYy5jIGIvU291cmNlL2JtYWxs
b2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3BhZ2VfbWFsbG9jLmMKaW5kZXggMWU5MzJmY2Q4ZmEx
Li5jNDMzNjAzYTMzOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGli
cGFzL3Bhc19wYWdlX21hbGxvYy5jCisrKyBiL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGli
cGFzL3Bhc19wYWdlX21hbGxvYy5jCkBAIC0zMSwxMCArMzEsNiBAQAogCiAjaW5jbHVkZSA8ZXJy
bm8uaD4KICNpbmNsdWRlIDxtYXRoLmg+Ci0jaW5jbHVkZSAicGFzX2NvbmZpZy5oIgotI2luY2x1
ZGUgInBhc19pbnRlcm5hbF9jb25maWcuaCIKLSNpbmNsdWRlICJwYXNfbG9nLmgiCi0jaW5jbHVk
ZSAicGFzX3V0aWxzLmgiCiAjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4K
ICNpZiAhUEFTX09TKFdJTkRPV1MpCkBAIC00Niw2ICs0MiwxMiBAQAogI2luY2x1ZGUgPG1hY2gv
dm1fc3RhdGlzdGljcy5oPgogI2VuZGlmCiAKKyNpbmNsdWRlICJwYXNfaW50ZXJuYWxfY29uZmln
LmgiCisjaW5jbHVkZSAicGFzX2xvZy5oIgorI2luY2x1ZGUgInBhc19tdGUuaCIKKyNpbmNsdWRl
ICJwYXNfdXRpbHMuaCIKKyNpbmNsdWRlICJwYXNfemVyb19tZW1vcnkuaCIKKwogc2l6ZV90IHBh
c19wYWdlX21hbGxvY19udW1fYWxsb2NhdGVkX2J5dGVzOwogc2l6ZV90IHBhc19wYWdlX21hbGxv
Y19jYWNoZWRfYWxpZ25tZW50Owogc2l6ZV90IHBhc19wYWdlX21hbGxvY19jYWNoZWRfYWxpZ25t
ZW50X3NoaWZ0OwpAQCAtMTQ1LDEyICsxNDcsMTQgQEAgcGFzX3BhZ2VfbWFsbG9jX3RyeV9tYXBf
cGFnZXMoc2l6ZV90IHNpemUsIGJvb2wgbWF5X2NvbnRhaW5fc21hbGxfb3JfbWVkaXVtKQogewog
I2lmIFBBU19PUyhXSU5ET1dTKQogICAgIFBBU19QUk9GSUxFKFBBR0VfQUxMT0NBVElPTiwgc2l6
ZSwgbWF5X2NvbnRhaW5fc21hbGxfb3JfbWVkaXVtLCBQQVNfVk1fVEFHKTsKKyAgICBQQVNfTVRF
X0hBTkRMRShQQUdFX0FMTE9DQVRJT04sIHNpemUsIG1heV9jb250YWluX3NtYWxsX29yX21lZGl1
bSwgUEFTX1ZNX1RBRyk7CiAKICAgICByZXR1cm4gdmlydHVhbF9hbGxvY193aXRoX3JldHJ5KE5V
TEwsIHNpemUsIE1FTV9DT01NSVQgfCBNRU1fUkVTRVJWRSwgUEFHRV9SRUFEV1JJVEUpOwogI2Vs
c2UKICAgICB2b2lkKiBtbWFwX3Jlc3VsdCA9IE5VTEw7CiAKICAgICBQQVNfUFJPRklMRShQQUdF
X0FMTE9DQVRJT04sIHNpemUsIG1heV9jb250YWluX3NtYWxsX29yX21lZGl1bSwgUEFTX1ZNX1RB
Ryk7CisgICAgUEFTX01URV9IQU5ETEUoUEFHRV9BTExPQ0FUSU9OLCBzaXplLCBtYXlfY29udGFp
bl9zbWFsbF9vcl9tZWRpdW0sIFBBU19WTV9UQUcpOwogCiAgICAgbW1hcF9yZXN1bHQgPSBtbWFw
KE5VTEwsIHNpemUsIFBST1RfUkVBRCB8IFBST1RfV1JJVEUsIE1BUF9QUklWQVRFIHwgTUFQX0FO
T04gfCBQQVNfTk9SRVNFUlZFLCBQQVNfVk1fVEFHLCAwKTsKICAgICBpZiAobW1hcF9yZXN1bHQg
PT0gTUFQX0ZBSUxFRCkgewpAQCAtMzA3LDYgKzMxMSw3IEBAIHZvaWQgcGFzX3BhZ2VfbWFsbG9j
X3plcm9fZmlsbCh2b2lkKiBiYXNlLCBzaXplX3Qgc2l6ZSkKICNlbmRpZiAvKiBQQVNfVVNFX01B
RFZfWkVSTyAqLwogCiAgICAgUEFTX1BST0ZJTEUoWkVST19GSUxMX1BBR0UsIGJhc2UsIHNpemUs
IGZsYWdzLCB0YWcpOworICAgIFBBU19NVEVfSEFORExFKFpFUk9fRklMTF9QQUdFLCBiYXNlLCBz
aXplLCBmbGFncywgdGFnKTsKICAgICByZXN1bHRfcHRyID0gbW1hcChiYXNlLCBzaXplLCBQUk9U
X1JFQUQgfCBQUk9UX1dSSVRFLCBmbGFncywgdGFnLCAwKTsKICAgICBQQVNfQVNTRVJUKHJlc3Vs
dF9wdHIgPT0gYmFzZSk7CiAjZW5kaWYgLyogUEFTX09TKFdJTkRPV1MpICovCmRpZmYgLS1naXQg
YS9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfcGh5c2ljYWxfbWVtb3J5X3Ry
YW5zYWN0aW9uLmMgYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfcGh5c2lj
YWxfbWVtb3J5X3RyYW5zYWN0aW9uLmMKaW5kZXggZjg0MjE5MDNhOThhLi5hNmVjNzk1ZTIxNWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19waHlzaWNh
bF9tZW1vcnlfdHJhbnNhY3Rpb24uYworKysgYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xp
YnBhcy9wYXNfcGh5c2ljYWxfbWVtb3J5X3RyYW5zYWN0aW9uLmMKQEAgLTI4LDYgKzI4LDcgQEAK
ICNpZiBMSUJQQVNfRU5BQkxFRAogCiAjaW5jbHVkZSAicGFzX3BoeXNpY2FsX21lbW9yeV90cmFu
c2FjdGlvbi5oIgorI2luY2x1ZGUgInBhc196ZXJvX21lbW9yeS5oIgogCiB2b2lkIHBhc19waHlz
aWNhbF9tZW1vcnlfdHJhbnNhY3Rpb25fY29uc3RydWN0KHBhc19waHlzaWNhbF9tZW1vcnlfdHJh
bnNhY3Rpb24qIHRyYW5zYWN0aW9uKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvbGli
cGFzL3NyYy9saWJwYXMvcGFzX3BsYXRmb3JtLmggYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3Jj
L2xpYnBhcy9wYXNfcGxhdGZvcm0uaAppbmRleCA3OWU4ZjhiMmE3MDUuLjY1NDYyNTA4ZGI3MyAx
MDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3BsYXRmb3Jt
LmgKKysrIGIvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3BsYXRmb3JtLmgK
QEAgLTIwMyw2ICsyMDMsMTcgQEAKICNlcnJvciAiVW5zdXBwb3J0ZWQgY29tcGlsZXIgZm9yIGxp
YnBhcyIKICNlbmRpZgogCisjaWYgUEFTX1BMQVRGT1JNKENPQ09BKQorLyogU2hvdWxkIGJlIGFs
aWduZWQgd2l0aCB0aGUgZGVmaW5pdGlvbiBpbiBXVEYvd3RmL1BsYXRmb3JtVXNlLmggKi8KKyNp
ZiBkZWZpbmVkIF9faGFzX2luY2x1ZGUgJiYgX19oYXNfaW5jbHVkZSg8Q29yZUZvdW5kYXRpb24v
Q0ZQcml2Lmg+KQorI2RlZmluZSBQQVNfVVNFX0FQUExFX0lOVEVSTkFMX1NESyAxCisjZWxzZQor
I2RlZmluZSBQQVNfVVNFX0FQUExFX0lOVEVSTkFMX1NESyAwCisjZW5kaWYKKyNlbHNlIC8vICFQ
QVNfUExBVEZPUk0oQ09DT0EpCisjZGVmaW5lIFBBU19VU0VfQVBQTEVfSU5URVJOQUxfU0RLIDAK
KyNlbmRpZiAvLyBQQVNfUExBVEZPUk0oQ09DT0EpCisKIC8qIFBBU19BTExPV19VTlNBRkVfQlVG
RkVSX1VTQUdFICovCiAKICNpZiBQQVNfQ09NUElMRVIoQ0xBTkcpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfcHJvYmFiaWxpc3RpY19ndWFyZF9tYWxs
b2NfYWxsb2NhdG9yLmMgYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfcHJv
YmFiaWxpc3RpY19ndWFyZF9tYWxsb2NfYWxsb2NhdG9yLmMKaW5kZXggNTJmMTJjYjYxMWMyLi4z
ZjBjZmIwNzUyNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFz
L3Bhc19wcm9iYWJpbGlzdGljX2d1YXJkX21hbGxvY19hbGxvY2F0b3IuYworKysgYi9Tb3VyY2Uv
Ym1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfcHJvYmFiaWxpc3RpY19ndWFyZF9tYWxsb2Nf
YWxsb2NhdG9yLmMKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJpc29faGVhcF9jb25maWcu
aCIKICNpbmNsdWRlICJwYXNfaGVhcC5oIgogI2luY2x1ZGUgInBhc19sYXJnZV91dGlsaXR5X2Zy
ZWVfaGVhcC5oIgorI2luY2x1ZGUgInBhc19tdGUuaCIKICNpbmNsdWRlICJwYXNfcmFuZG9tLmgi
CiAjaW5jbHVkZSAicGFzX3V0aWxpdHlfaGVhcC5oIgogI2luY2x1ZGUgInBhc191dGlsaXR5X2hl
YXBfc3VwcG9ydC5oIgpAQCAtMjEzLDYgKzIxNCw3IEBAIHBhc19hbGxvY2F0aW9uX3Jlc3VsdCBw
YXNfcHJvYmFiaWxpc3RpY19ndWFyZF9tYWxsb2NfYWxsb2NhdGUocGFzX2xhcmdlX2hlYXAqIGxh
CiAjZW5kaWYKIAogICAgIFBBU19QUk9GSUxFKFBHTV9BTExPQ0FURSwgaGVhcF9jb25maWcsIGtl
eSk7CisgICAgUEFTX01URV9IQU5ETEUoUEdNX0FMTE9DQVRFLCBoZWFwX2NvbmZpZywga2V5KTsK
IAogICAgIC8qIGNyZWF0ZSBzdHJ1Y3QgdG8gaG9sZCBoYXNoIG1hcCB2YWx1ZSAqLwogICAgIHBh
c19wZ21fc3RvcmFnZSogdmFsdWUgPSBwYXNfdXRpbGl0eV9oZWFwX3RyeV9hbGxvY2F0ZShzaXpl
b2YocGFzX3BnbV9zdG9yYWdlKSwgInBhc19wZ21faGFzaF9tYXBfVkFMVUUiKTsKQEAgLTI2Miw2
ICsyNjQsNyBAQCB2b2lkIHBhc19wcm9iYWJpbGlzdGljX2d1YXJkX21hbGxvY19kZWFsbG9jYXRl
KHZvaWQqIG1lbSkKIAogICAgIHVpbnRwdHJfdCBrZXkgPSAodWludHB0cl90KW1lbTsKICAgICBQ
QVNfUFJPRklMRShQR01fREVBTExPQ0FURSwga2V5KTsKKyAgICBQQVNfTVRFX0hBTkRMRShQR01f
REVBTExPQ0FURSwga2V5KTsKIAogICAgIHBhc19wdHJfaGFzaF9tYXBfZW50cnkqIGVudHJ5ID0g
cGFzX3B0cl9oYXNoX21hcF9maW5kKCZwYXNfcGdtX2hhc2hfbWFwLCAodm9pZCopa2V5KTsKICAg
ICBpZiAoIWVudHJ5IHx8ICFlbnRyeS0+dmFsdWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxv
Yy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfcm9vdC5jIGIvU291cmNlL2JtYWxsb2MvbGlicGFzL3Ny
Yy9saWJwYXMvcGFzX3Jvb3QuYwppbmRleCAzN2NjMTgxYTUwMzguLjZhM2RjMDA1NmI2MSAxMDA2
NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3Jvb3QuYworKysg
Yi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfcm9vdC5jCkBAIC0yNCw2ICsy
NCw3IEBACiAgKi8KIAogI2luY2x1ZGUgInBhc19jb25maWcuaCIKKyNpbmNsdWRlICJwYXNfemVy
b19tZW1vcnkuaCIKIAogI2lmIExJQlBBU19FTkFCTEVECiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9i
bWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zY2F2ZW5nZXIuYyBiL1NvdXJjZS9ibWFsbG9j
L2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zY2F2ZW5nZXIuYwppbmRleCA1NDE3NzYxYzliMmIuLjNk
NzQ0NTliYjIyMSAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMv
cGFzX3NjYXZlbmdlci5jCisrKyBiL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bh
c19zY2F2ZW5nZXIuYwpAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgInBhc19pbW1vcnRhbF9o
ZWFwLmgiCiAjaW5jbHVkZSAicGFzX2xhcmdlX2V4cGVuZGFibGVfbWVtb3J5LmgiCiAjaW5jbHVk
ZSAicGFzX2xvY2suaCIKKyNpbmNsdWRlICJwYXNfbXRlLmgiCiAjaW5jbHVkZSAicGFzX3BhZ2Vf
c2hhcmluZ19wb29sLmgiCiAjaW5jbHVkZSAicGFzX3N0YXR1c19yZXBvcnRlci5oIgogI2luY2x1
ZGUgInBhc190aHJlYWRfbG9jYWxfY2FjaGUuaCIKQEAgLTIxNiw2ICsyMTcsNyBAQCBzdGF0aWMg
dm9pZCogc2NhdmVuZ2VyX3RocmVhZF9tYWluKHZvaWQqIGFyZykKICNlbmRpZgogCiAgICAgUEFT
X1BST0ZJTEUoU0NBVkVOR0VSX1RIUkVBRF9NQUlOLCBkYXRhKTsKKyAgICBQQVNfTVRFX0hBTkRM
RShTQ0FWRU5HRVJfVEhSRUFEX01BSU4sIGRhdGEpOwogCiAgICAgZm9yICg7OykgewogICAgICAg
ICBwYXNfcGFnZV9zaGFyaW5nX3Bvb2xfc2NhdmVuZ2VfcmVzdWx0IHNjYXZlbmdlX3Jlc3VsdDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zZWdtZW50
ZWRfdmVjdG9yLmggYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfc2VnbWVu
dGVkX3ZlY3Rvci5oCmluZGV4IDA2ZjVhZGU4MjFkNS4uNzY2NDMyZjg5NjI5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfc2VnbWVudGVkX3ZlY3Rvci5o
CisrKyBiL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zZWdtZW50ZWRfdmVj
dG9yLmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJwYXNfZm91bmRfaW5kZXguaCIKICNp
bmNsdWRlICJwYXNfaW1tb3J0YWxfaGVhcC5oIgogI2luY2x1ZGUgInBhc191dGlscy5oIgorI2lu
Y2x1ZGUgInBhc196ZXJvX21lbW9yeS5oIgogI2luY2x1ZGUgPHN0ZGFsaWduLmg+CiAKIFBBU19C
RUdJTl9FWFRFUk5fQzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGli
cGFzL3Bhc19zZWdyZWdhdGVkX2hlYXAuYyBiL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGli
cGFzL3Bhc19zZWdyZWdhdGVkX2hlYXAuYwppbmRleCBkMDY3NGQzMmQwMjAuLmM0ODkwYWY3Y2E5
NiAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3NlZ3Jl
Z2F0ZWRfaGVhcC5jCisrKyBiL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19z
ZWdyZWdhdGVkX2hlYXAuYwpAQCAtNDQsNiArNDQsNyBAQAogI2luY2x1ZGUgInBhc190aHJlYWRf
bG9jYWxfY2FjaGUuaCIKICNpbmNsdWRlICJwYXNfdGhyZWFkX2xvY2FsX2NhY2hlX2xheW91dC5o
IgogI2luY2x1ZGUgInBhc191dGlsaXR5X2hlYXBfY29uZmlnLmgiCisjaW5jbHVkZSAicGFzX3pl
cm9fbWVtb3J5LmgiCiAKIHVuc2lnbmVkIHBhc19zZWdyZWdhdGVkX2hlYXBfbnVtX3NpemVfbG9v
a3VwX3JlbWF0ZXJpYWxpemF0aW9uczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvbGli
cGFzL3NyYy9saWJwYXMvcGFzX3NlZ3JlZ2F0ZWRfcGFnZS5jIGIvU291cmNlL2JtYWxsb2MvbGli
cGFzL3NyYy9saWJwYXMvcGFzX3NlZ3JlZ2F0ZWRfcGFnZS5jCmluZGV4IGQ0OWUwZTQyOTIxZC4u
NzAxZGRhNjE3OGE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBh
cy9wYXNfc2VncmVnYXRlZF9wYWdlLmMKKysrIGIvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9s
aWJwYXMvcGFzX3NlZ3JlZ2F0ZWRfcGFnZS5jCkBAIC00NSw2ICs0NSw3IEBACiAjaW5jbHVkZSAi
cGFzX3NlZ3JlZ2F0ZWRfcGFnZV9pbmxpbmVzLmgiCiAjaW5jbHVkZSAicGFzX3NlZ3JlZ2F0ZWRf
c2l6ZV9kaXJlY3RvcnkuaCIKICNpbmNsdWRlICJwYXNfdXRpbGl0eV9oZWFwX2NvbmZpZy5oIgor
I2luY2x1ZGUgInBhc196ZXJvX21lbW9yeS5oIgogCiBkb3VibGUgcGFzX3NlZ3JlZ2F0ZWRfcGFn
ZV9leHRyYV93YXN0ZWFnZV9oYW5kaWNhcF9mb3JfY29uZmlnX3ZhcmlhbnRbCiAgICAgUEFTX05V
TV9TRUdSRUdBVEVEX1BBR0VfQ09ORklHX1ZBUklBTlRTXSA9IHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zZWdyZWdhdGVkX3BhZ2VfaW5saW5lcy5o
IGIvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9p
bmxpbmVzLmgKaW5kZXggMDkzYTJhNmFjYjM1Li5jZGZiMGU5YTkyZTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zZWdyZWdhdGVkX3BhZ2VfaW5saW5l
cy5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zZWdyZWdhdGVk
X3BhZ2VfaW5saW5lcy5oCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJwYXNfY29uZmln
LmgiCiAjaW5jbHVkZSAicGFzX2xvZy5oIgorI2luY2x1ZGUgInBhc19tdGUuaCIKICNpbmNsdWRl
ICJwYXNfcGFnZV9iYXNlX2lubGluZXMuaCIKICNpbmNsdWRlICJwYXNfc2VncmVnYXRlZF9kZWFs
bG9jYXRpb25fbW9kZS5oIgogI2luY2x1ZGUgInBhc19zZWdyZWdhdGVkX2V4Y2x1c2l2ZV92aWV3
X2lubGluZXMuaCIKQEAgLTM3LDYgKzM4LDcgQEAKICNpbmNsdWRlICJwYXNfc2VncmVnYXRlZF9z
aGFyZWRfaGFuZGxlLmgiCiAjaW5jbHVkZSAicGFzX3NlZ3JlZ2F0ZWRfc2hhcmVkX2hhbmRsZV9p
bmxpbmVzLmgiCiAjaW5jbHVkZSAicGFzX3RocmVhZF9sb2NhbF9jYWNoZV9ub2RlLmgiCisjaW5j
bHVkZSAicGFzX3plcm9fbWVtb3J5LmgiCiAKIFBBU19CRUdJTl9FWFRFUk5fQzsKIApAQCAtNDY0
LDYgKzQ2Niw3IEBAIHBhc19zZWdyZWdhdGVkX3BhZ2VfZGVhbGxvY2F0ZV93aXRoX3BhZ2UocGFz
X3NlZ3JlZ2F0ZWRfcGFnZSogcGFnZSwKICAgICB9CiAKICAgICBQQVNfUFJPRklMRShTRUdSRUdB
VEVEX1BBR0VfREVBTExPQ0FUSU9OLCBwYWdlX2NvbmZpZywgYmVnaW4sIG9iamVjdF9zaXplKTsK
KyAgICBQQVNfTVRFX0hBTkRMRShTRUdSRUdBVEVEX1BBR0VfREVBTExPQ0FUSU9OLCBwYWdlX2Nv
bmZpZywgYmVnaW4sIG9iamVjdF9zaXplKTsKIAogICAgIGlmIChwYWdlX2NvbmZpZy5iYXNlLnBh
Z2Vfc2l6ZSA+IHBhZ2VfY29uZmlnLmJhc2UuZ3JhbnVsZV9zaXplKSB7CiAgICAgICAgIC8qIFRo
aXMgaXMgdGhlIHBhcnRpYWwgZGVjb21taXQgY2FzZS4gSXQncyBpbnRlbmRlZCBmb3IgbWVkaXVt
IHBhZ2VzLiBJdCByZXF1aXJlcyBkb2luZwpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvbGli
cGFzL3NyYy9saWJwYXMvcGFzX3NlZ3JlZ2F0ZWRfc2l6ZV9kaXJlY3RvcnkuaCBiL1NvdXJjZS9i
bWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zZWdyZWdhdGVkX3NpemVfZGlyZWN0b3J5LmgK
aW5kZXggZmI2YWI3ZWRiZDMxLi44MDY2ZjVjMTI1NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFs
bG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zZWdyZWdhdGVkX3NpemVfZGlyZWN0b3J5LmgKKysr
IGIvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3NlZ3JlZ2F0ZWRfc2l6ZV9k
aXJlY3RvcnkuaApAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgInBhc19wYWdlX2dyYW51bGVf
dXNlX2NvdW50LmgiCiAjaW5jbHVkZSAicGFzX3NlZ3JlZ2F0ZWRfZGlyZWN0b3J5LmgiCiAjaW5j
bHVkZSAicGFzX3NlZ3JlZ2F0ZWRfc2l6ZV9kaXJlY3RvcnlfY3JlYXRpb25fbW9kZS5oIgorI2lu
Y2x1ZGUgInBhc196ZXJvX21lbW9yeS5oIgogCiBQQVNfQkVHSU5fRVhURVJOX0M7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zaW1wbGVfbGFyZ2Vf
ZnJlZV9oZWFwLmMgYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfc2ltcGxl
X2xhcmdlX2ZyZWVfaGVhcC5jCmluZGV4IGU0MWNlYTk0MmZhMS4uMzczZTBiMzBiYzZmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfc2ltcGxlX2xhcmdl
X2ZyZWVfaGVhcC5jCisrKyBiL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19z
aW1wbGVfbGFyZ2VfZnJlZV9oZWFwLmMKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJwYXNf
bGFyZ2VfZnJlZS5oIgogI2luY2x1ZGUgInBhc19sYXJnZV9mcmVlX2hlYXBfY29uZmlnLmgiCiAj
aW5jbHVkZSAicGFzX2xvZy5oIgorI2luY2x1ZGUgInBhc196ZXJvX21lbW9yeS5oIgogI2luY2x1
ZGUgPHN0ZGlvLmg+CiAKIHN0YXRpYyBjb25zdCBib29sIHZlcmJvc2UgPSBQQVNfU0hPVUxEX0xP
RyhQQVNfTE9HX0xBUkdFX0hFQVBTKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2xpYnBh
cy9zcmMvbGlicGFzL3Bhc19zbWFsbF9tZWRpdW1fYm9vdHN0cmFwX2hlYXBfcGFnZV9wcm92aWRl
ci5jIGIvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3NtYWxsX21lZGl1bV9i
b290c3RyYXBfaGVhcF9wYWdlX3Byb3ZpZGVyLmMKaW5kZXggN2QyMjk1ODhkZjY5Li43ZTQ3NWEx
OGNhNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19z
bWFsbF9tZWRpdW1fYm9vdHN0cmFwX2hlYXBfcGFnZV9wcm92aWRlci5jCisrKyBiL1NvdXJjZS9i
bWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zbWFsbF9tZWRpdW1fYm9vdHN0cmFwX2hlYXBf
cGFnZV9wcm92aWRlci5jCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAicGFzX3NtYWxsX21l
ZGl1bV9ib290c3RyYXBfaGVhcF9wYWdlX3Byb3ZpZGVyLmgiCiAKICNpbmNsdWRlICJwYXNfYm9v
dHN0cmFwX2ZyZWVfaGVhcC5oIgorI2luY2x1ZGUgInBhc19tdGUuaCIKICNpbmNsdWRlICJwYXNf
c21hbGxfbWVkaXVtX2Jvb3RzdHJhcF9mcmVlX2hlYXAuaCIKIAogcGFzX2FsbG9jYXRpb25fcmVz
dWx0IHBhc19zbWFsbF9tZWRpdW1fYm9vdHN0cmFwX2hlYXBfcGFnZV9wcm92aWRlcigKZGlmZiAt
LWdpdCBhL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zdGF0dXNfcmVwb3J0
ZXIuYyBiL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zdGF0dXNfcmVwb3J0
ZXIuYwppbmRleCA0YzJhZTc3OTNhZjguLmYzYjhjNzE4ZTA2YyAxMDA2NDQKLS0tIGEvU291cmNl
L2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3N0YXR1c19yZXBvcnRlci5jCisrKyBiL1Nv
dXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zdGF0dXNfcmVwb3J0ZXIuYwpAQCAt
NjIsNiArNjIsNyBAQAogI2luY2x1ZGUgInBhc190aHJlYWRfbG9jYWxfY2FjaGVfbm9kZS5oIgog
I2luY2x1ZGUgInBhc191dGlsaXR5X2hlYXAuaCIKICNpbmNsdWRlICJwYXNfdGhyZWFkLmgiCisj
aW5jbHVkZSAicGFzX3plcm9fbWVtb3J5LmgiCiAjaWYgIVBBU19PUyhXSU5ET1dTKQogI2luY2x1
ZGUgPHVuaXN0ZC5oPgogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9saWJwYXMv
c3JjL2xpYnBhcy9wYXNfc3RyaW5nX3N0cmVhbS5jIGIvU291cmNlL2JtYWxsb2MvbGlicGFzL3Ny
Yy9saWJwYXMvcGFzX3N0cmluZ19zdHJlYW0uYwppbmRleCA0MTJmNTU0NDc5YzcuLjNkZGM3NDFm
NDQzMSAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3N0
cmluZ19zdHJlYW0uYworKysgYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNf
c3RyaW5nX3N0cmVhbS5jCkBAIC0zMSw2ICszMSw3IEBACiAKICNpbmNsdWRlICJwYXNfYm9vdHN0
cmFwX2ZyZWVfaGVhcC5oIgogI2luY2x1ZGUgInBhc19zbnByaW50Zi5oIgorI2luY2x1ZGUgInBh
c196ZXJvX21lbW9yeS5oIgogCiBzdGF0aWMgUEFTX0ZPUk1BVF9QUklOVEYoMiwgMCkgdm9pZCBz
dHJpbmdfc3RyZWFtX3ZwcmludGYocGFzX3N0cmVhbSogc3RyZWFtLCBjb25zdCBjaGFyKiBmb3Jt
YXQsIHZhX2xpc3QgYXJnX2xpc3QpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9saWJw
YXMvc3JjL2xpYnBhcy9wYXNfdGhyZWFkX2xvY2FsX2NhY2hlLmMgYi9Tb3VyY2UvYm1hbGxvYy9s
aWJwYXMvc3JjL2xpYnBhcy9wYXNfdGhyZWFkX2xvY2FsX2NhY2hlLmMKaW5kZXggYTQwZWYyYWMz
ODZlLi5mYTEyYjY3NTQzZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMv
bGlicGFzL3Bhc190aHJlYWRfbG9jYWxfY2FjaGUuYworKysgYi9Tb3VyY2UvYm1hbGxvYy9saWJw
YXMvc3JjL2xpYnBhcy9wYXNfdGhyZWFkX2xvY2FsX2NhY2hlLmMKQEAgLTQzLDYgKzQzLDcgQEAK
ICNpbmNsdWRlICJwYXNfdGhyZWFkX2xvY2FsX2NhY2hlX2xheW91dC5oIgogI2luY2x1ZGUgInBh
c190aHJlYWRfbG9jYWxfY2FjaGVfbm9kZS5oIgogI2luY2x1ZGUgInBhc190aHJlYWRfc3VzcGVu
ZF9sb2NrLmgiCisjaW5jbHVkZSAicGFzX3plcm9fbWVtb3J5LmgiCiAjaWYgIVBBU19PUyhXSU5E
T1dTKQogI2luY2x1ZGUgPHVuaXN0ZC5oPgogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1h
bGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfdGhyZWFkX2xvY2FsX2NhY2hlLmggYi9Tb3VyY2Uv
Ym1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfdGhyZWFkX2xvY2FsX2NhY2hlLmgKaW5kZXgg
NGI2ZmY1MmNhYzlmLi43N2JmYThhNDE3YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2xp
YnBhcy9zcmMvbGlicGFzL3Bhc190aHJlYWRfbG9jYWxfY2FjaGUuaAorKysgYi9Tb3VyY2UvYm1h
bGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfdGhyZWFkX2xvY2FsX2NhY2hlLmgKQEAgLTM4LDYg
KzM4LDcgQEAKICNpbmNsdWRlICJwYXNfbWFsbG9jX3N0YWNrX2xvZ2dpbmcuaCIKICNpbmNsdWRl
ICJwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZ19raW5kX2FuZF9yb2xlLmgiCiAjaW5jbHVkZSAi
cGFzX3V0aWxzLmgiCisjaW5jbHVkZSAicGFzX3plcm9fbWVtb3J5LmgiCiAKICNpbmNsdWRlICJw
YXNfdGhyZWFkLmgiCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGli
cGFzL3Bhc190aHJlYWRfbG9jYWxfY2FjaGVfbGF5b3V0LmggYi9Tb3VyY2UvYm1hbGxvYy9saWJw
YXMvc3JjL2xpYnBhcy9wYXNfdGhyZWFkX2xvY2FsX2NhY2hlX2xheW91dC5oCmluZGV4IGRlYjZm
YWExZTEzOS4uNGY0NWY5NzI3NDAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9saWJwYXMv
c3JjL2xpYnBhcy9wYXNfdGhyZWFkX2xvY2FsX2NhY2hlX2xheW91dC5oCisrKyBiL1NvdXJjZS9i
bWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc190aHJlYWRfbG9jYWxfY2FjaGVfbGF5b3V0LmgK
QEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJwYXNfdGhyZWFkX2xvY2FsX2NhY2hlX2xheW91
dF9lbnRyeS5oIgogI2luY2x1ZGUgInBhc190aHJlYWRfbG9jYWxfY2FjaGVfbGF5b3V0X25vZGUu
aCIKICNpbmNsdWRlICJwYXNfdXRpbHMuaCIKKyNpbmNsdWRlICJwYXNfemVyb19tZW1vcnkuaCIK
IAogUEFTX0JFR0lOX0VYVEVSTl9DOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9saWJw
YXMvc3JjL2xpYnBhcy9wYXNfdGlueV9sYXJnZV9tYXBfZW50cnkuaCBiL1NvdXJjZS9ibWFsbG9j
L2xpYnBhcy9zcmMvbGlicGFzL3Bhc190aW55X2xhcmdlX21hcF9lbnRyeS5oCmluZGV4IGE4NTRk
ZjBiNDU3OC4uYzA4YjFmYzc3NmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9saWJwYXMv
c3JjL2xpYnBhcy9wYXNfdGlueV9sYXJnZV9tYXBfZW50cnkuaAorKysgYi9Tb3VyY2UvYm1hbGxv
Yy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfdGlueV9sYXJnZV9tYXBfZW50cnkuaApAQCAtMjksNiAr
MjksNyBAQAogI2luY2x1ZGUgInBhc19oZWFwX3RhYmxlLmgiCiAjaW5jbHVkZSAicGFzX2xhcmdl
X21hcF9lbnRyeS5oIgogI2luY2x1ZGUgInBhc191dGlscy5oIgorI2luY2x1ZGUgInBhc196ZXJv
X21lbW9yeS5oIgogCiBQQVNfQkVHSU5fRVhURVJOX0M7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9i
bWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc190cnlfcmVhbGxvY2F0ZS5oIGIvU291cmNlL2Jt
YWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3RyeV9yZWFsbG9jYXRlLmgKaW5kZXggNDE4OGNi
ZjQ4ODYzLi4wYWM2YmU0Y2M1NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9z
cmMvbGlicGFzL3Bhc190cnlfcmVhbGxvY2F0ZS5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2xpYnBh
cy9zcmMvbGlicGFzL3Bhc190cnlfcmVhbGxvY2F0ZS5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5j
bHVkZSAicGFzX2RlYWxsb2NhdGUuaCIKICNpbmNsdWRlICJwYXNfbGFyZ2VfbWFwLmgiCiAjaW5j
bHVkZSAicGFzX21hbGxvY19zdGFja19sb2dnaW5nLmgiCisjaW5jbHVkZSAicGFzX210ZS5oIgog
I2luY2x1ZGUgInBhc19yZWFsbG9jYXRlX2ZyZWVfbW9kZS5oIgogI2luY2x1ZGUgInBhc19yZWFs
bG9jYXRlX2hlYXBfdGVsZXBvcnRfcnVsZS5oIgogI2luY2x1ZGUgInBhc190cnlfYWxsb2NhdGUu
aCIKQEAgLTEwMiw2ICsxMDMsNyBAQCBwYXNfdHJ5X2FsbG9jYXRlX2Zvcl9yZWFsbG9jYXRlX2Fu
ZF9jb3B5KAogICAgICAgICBpZiAodmVyYm9zZSkKICAgICAgICAgICAgIHBhc19sb2coImNvcHlp
bmcgc2l6ZSAlenUgZnJvbSAlcCB0byAlcFxuIiwgY29weV9zaXplLCBvbGRfcHRyLCAodm9pZCop
cmVzdWx0LmJlZ2luKTsKICAgICAgICAgUEFTX1BST0ZJTEUoVFJZX1JFQUxMT0NBVEVfQU5EX0NP
UFksIHJlc3VsdC5iZWdpbiwgb2xkX3B0ciwgY29weV9zaXplKTsKKyAgICAgICAgUEFTX01URV9I
QU5ETEUoVFJZX1JFQUxMT0NBVEVfQU5EX0NPUFksIHJlc3VsdC5iZWdpbiwgb2xkX3B0ciwgY29w
eV9zaXplKTsKICAgICAgICAgbWVtY3B5KCh2b2lkKilyZXN1bHQuYmVnaW4sIG9sZF9wdHIsIGNv
cHlfc2l6ZSk7CiAgICAgICAgIGlmICh2ZXJib3NlKQogICAgICAgICAgICAgcGFzX2xvZygiXHQu
Li5kb25lIGNvcHlpbmcgc2l6ZSAlenUgZnJvbSAlcCB0byAlcFxuIiwgY29weV9zaXplLCBvbGRf
cHRyLCAodm9pZCopcmVzdWx0LmJlZ2luKTsKQEAgLTM1Myw2ICszNTUsNyBAQCBwYXNfdHJ5X3Jl
YWxsb2NhdGUodm9pZCogb2xkX3B0ciwKICAgICAgICAgfQogCiAgICAgICAgIFBBU19QUk9GSUxF
KExBUkdFX01BUF9GT1VORF9FTlRSWSwgJmNvbmZpZywgZW50cnkuYmVnaW4sIGVudHJ5LmVuZCk7
CisgICAgICAgIFBBU19NVEVfSEFORExFKExBUkdFX01BUF9GT1VORF9FTlRSWSwgJmNvbmZpZywg
ZW50cnkuYmVnaW4sIGVudHJ5LmVuZCk7CiAgICAgICAgIFBBU19BU1NFUlQoZW50cnkuYmVnaW4g
PT0gYmVnaW4pOwogICAgICAgICBQQVNfQVNTRVJUKGVudHJ5LmVuZCA+IGJlZ2luKTsKICAgICAg
ICAgUEFTX0FTU0VSVChlbnRyeS5oZWFwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2xp
YnBhcy9zcmMvbGlicGFzL3Bhc191dGlsaXR5X2hlYXBfY29uZmlnLmggYi9Tb3VyY2UvYm1hbGxv
Yy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfdXRpbGl0eV9oZWFwX2NvbmZpZy5oCmluZGV4IDViYzc4
M2RjZmFlNC4uZDJkMDQ3MGNhZDlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9saWJwYXMv
c3JjL2xpYnBhcy9wYXNfdXRpbGl0eV9oZWFwX2NvbmZpZy5oCisrKyBiL1NvdXJjZS9ibWFsbG9j
L2xpYnBhcy9zcmMvbGlicGFzL3Bhc191dGlsaXR5X2hlYXBfY29uZmlnLmgKQEAgLTk0LDYgKzk0
LDcgQEAgUEFTX0FQSSB2b2lkIHBhc191dGlsaXR5X2hlYXBfY29uZmlnX2R1bXBfc2hhcmVkX3Bh
Z2VfZGlyZWN0b3J5X2FyZygKICAgICAgICAgICAgIC5iYXNlID0geyBcCiAgICAgICAgICAgICAg
ICAgLmlzX2VuYWJsZWQgPSB0cnVlLCBcCiAgICAgICAgICAgICAgICAgLmFsbG93X3Byb2ZpbGlu
ZyA9IHRydWUsIFwKKyAgICAgICAgICAgICAgICAuYWxsb3dfbXRlX3RhZ2dpbmcgPSB0cnVlLCBc
CiAgICAgICAgICAgICAgICAgLmhlYXBfY29uZmlnX3B0ciA9ICZwYXNfdXRpbGl0eV9oZWFwX2Nv
bmZpZywgXAogICAgICAgICAgICAgICAgIC5wYWdlX2NvbmZpZ19wdHIgPSAmcGFzX3V0aWxpdHlf
aGVhcF9jb25maWcuc21hbGxfc2VncmVnYXRlZF9jb25maWcuYmFzZSwgXAogICAgICAgICAgICAg
ICAgIC5wYWdlX2NvbmZpZ19raW5kID0gcGFzX3BhZ2VfY29uZmlnX2tpbmRfc2VncmVnYXRlZCwg
XApkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3V0aWxz
LmggYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfdXRpbHMuaAppbmRleCA0
ZjIxYWU2MjhjOGEuLmJkN2YzYzFhMDQ5NCAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvbGli
cGFzL3NyYy9saWJwYXMvcGFzX3V0aWxzLmgKKysrIGIvU291cmNlL2JtYWxsb2MvbGlicGFzL3Ny
Yy9saWJwYXMvcGFzX3V0aWxzLmgKQEAgLTU3LDYgKzU3LDEwIEBAIFBBU19JR05PUkVfQ0xBTkdf
V0FSTklOR1NfQkVHSU4oInF1YWxpZmllci1yZXF1aXJlcy1oZWFkZXIiKQogI2RlZmluZSBQQVNf
QkVHSU5fRVhURVJOX0MgX19QQVNfQkVHSU5fRVhURVJOX0MKICNkZWZpbmUgUEFTX0VORF9FWFRF
Uk5fQyBfX1BBU19FTkRfRVhURVJOX0MKIAorI2lmIGRlZmluZWQoUEFTX0JNQUxMT0MpICYmIFBB
U19CTUFMTE9DCisjaW5jbHVkZSAicGFzX210ZV9jb25maWcuaCIKKyNlbmRpZiAvLyBkZWZpbmVk
KFBBU19CTUFMTE9DKSAmJiBQQVNfQk1BTExPQworCiAjaWYgZGVmaW5lZChQQVNfQk1BTExPQykg
JiYgUEFTX0JNQUxMT0MKICNpZiBkZWZpbmVkKF9faGFzX2luY2x1ZGUpCiAjaWYgX19oYXNfaW5j
bHVkZSg8V2ViS2l0QWRkaXRpb25zL3Bhc191dGlsc19hZGRpdGlvbnMuaD4pICYmICFQQVNfRU5B
QkxFX1RFU1RJTkcKQEAgLTIwNiwxNCArMjEwLDYgQEAgUEFTX0JFR0lOX0VYVEVSTl9DOwogI2Rl
ZmluZSBQQVNfU0hPVUxEX1BST0ZJTEVfQkFTSUNfSEVBUF9QQUdFKHNpemVfY2F0ZWdvcnkpIChm
YWxzZSkKICNlbmRpZgogCi1zdGF0aWMgUEFTX0FMV0FZU19JTkxJTkUgdm9pZCBwYXNfemVyb19t
ZW1vcnkodm9pZCogbWVtb3J5LCBzaXplX3Qgc2l6ZSkKLXsKLSAgICBQQVNfQUxMT1dfVU5TQUZF
X0JVRkZFUl9VU0FHRV9CRUdJTgotICAgIFBBU19QUk9GSUxFKFpFUk9fTUVNT1JZLCBtZW1vcnks
IHNpemUpOwotICAgIG1lbXNldChtZW1vcnksIDAsIHNpemUpOwotICAgIFBBU19BTExPV19VTlNB
RkVfQlVGRkVSX1VTQUdFX0VORAotfQotCiAvKiBOT1RFOiBwYW5pYyBmb3JtYXQgc3RyaW5nIG11
c3QgaGF2ZSBcbiBhdCB0aGUgZW5kLiAqLwogUEFTX0FQSSBQQVNfTk9fUkVUVVJOIHZvaWQgcGFz
X3BhbmljKGNvbnN0IGNoYXIqIGZvcm1hdCwgLi4uKSBQQVNfRk9STUFUX1BSSU5URigxLCAyKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3plcm9f
bWVtb3J5LmggYi9Tb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfemVyb19tZW1v
cnkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmUwYWVkYmVmMzRj
MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bh
c196ZXJvX21lbW9yeS5oCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIw
MTgtMjAyNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAicGFz
X210ZS5oIgorI2luY2x1ZGUgInBhc191dGlscy5oIgorI2luY2x1ZGUgPHN0ZGludC5oPgorCitz
dGF0aWMgUEFTX0FMV0FZU19JTkxJTkUgdm9pZCBwYXNfemVyb19tZW1vcnkodm9pZCogbWVtb3J5
LCBzaXplX3Qgc2l6ZSkKK3sKKyAgICBQQVNfQUxMT1dfVU5TQUZFX0JVRkZFUl9VU0FHRV9CRUdJ
TgorICAgIFBBU19QUk9GSUxFKFpFUk9fTUVNT1JZLCBtZW1vcnksIHNpemUpOworICAgIFBBU19N
VEVfSEFORExFKFpFUk9fTUVNT1JZLCBtZW1vcnksIHNpemUpOworICAgIG1lbXNldChtZW1vcnks
IDAsIHNpemUpOworICAgIFBBU19BTExPV19VTlNBRkVfQlVGRkVSX1VTQUdFX0VORAorfQpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2VyLnB5IGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2VyLnB5CmluZGV4IGE0NDZjOTA4ZDQyMS4uNjQw
YmQyMmRmZmFhIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNr
ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2VyLnB5CkBAIC0z
NzMsMTAgKzM3MywxNyBAQCBfUEFUSF9SVUxFU19TUEVDSUZJRVIgPSBbCiAgICAgKFsKICAgICAg
ICMgU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy8gaXMgZmlyc3QtcGFydHkgY29kZSwgYnV0IGxh
cmdlbHkgb3BlcmF0ZXMKICAgICAgICMgYXMgYW4gc2VwYXJhdGUgY29kZWJhc2UsIHdpdGggYSBm
ZXcgZGlmZmVyZW50IHN0eWxlIHJ1bGVzLgorICAgICAgIyBJdCBhbHNvIGRvZXMgbm90IGhhdmUg
YWNjZXNzIHRvIGFueSBvZiBXVEYncyBzYWZlLWNwcCB3cmFwcGVycywKKyAgICAgICMgZS5nLiBt
ZW1zZXRTcGFuLgogICAgICAgb3MucGF0aC5qb2luKCdTb3VyY2UnLCAnYm1hbGxvYycsICdsaWJw
YXMnLCAnc3JjJyldLAogICAgICBbIi1yZWFkYWJpbGl0eS9uYW1pbmcvdW5kZXJzY29yZXMiLAor
ICAgICAgIi1yZWFkYWJpbGl0eS9wYXJhbWV0ZXJfbmFtZSIsCiAgICAgICAiLXdoaXRlc3BhY2Uv
ZGVjbGFyYXRpb24iLAotICAgICAgIi13aGl0ZXNwYWNlL2luZGVudCJdKSwKKyAgICAgICItd2hp
dGVzcGFjZS9pbmRlbnQiLAorICAgICAgIi1zYWZlcmNwcC9wcmludGYiLAorICAgICAgIi1zYWZl
cmNwcC9tZW1zZXQiLAorICAgICAgIi1zYWZlcmNwcC9tZW1jcHkiLAorICAgICAgIi1zYWZlcmNw
cC9zdHJuY21wIixdKSwKIAogICAgIChbCiAgICAgICAjIFRoZXJlIGlzIG5vIHdheSB0byBhdm9p
ZCB0aGUgc3ltYm9scyBfX2ppdF9kZWJ1Z19yZWdpc3Rlcl9jb2RlCg==
</data>
<flag name="commit-queue"
          id="499540"
          type_id="3"
          status="?"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>