<?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>206139</bug_id>
          
          <creation_ts>2020-01-11 22:16:57 -0800</creation_ts>
          <short_desc>Platform.h is out of control Part 3: Move all ENABLE_* macros definitions in FeatureDefines.h</short_desc>
          <delta_ts>2020-01-13 13:50:16 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>andersca</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>mitz</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1605611</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-01-11 22:16:57 -0800</bug_when>
    <thetext>Platform.h is out of control Part 3: Move all ENABLE_* macros definitions in FeatureDefines.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605612</commentid>
    <comment_count>1</comment_count>
      <attachid>387455</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-01-11 22:28:10 -0800</bug_when>
    <thetext>Created attachment 387455
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605681</commentid>
    <comment_count>2</comment_count>
      <attachid>387483</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-01-12 11:38:29 -0800</bug_when>
    <thetext>Created attachment 387483
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606039</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-01-13 13:49:26 -0800</bug_when>
    <thetext>Committed r254452: &lt;https://trac.webkit.org/changeset/254452&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606040</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-13 13:50:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/58542243&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387455</attachid>
            <date>2020-01-11 22:28:10 -0800</date>
            <delta_ts>2020-01-12 11:38:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206139-20200111222809.patch</filename>
            <type>text/plain</type>
            <size>46811</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyNTQ0MTApCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBACisyMDIwLTAxLTExICBTYW0gV2VpbmlnICA8d2Vpbmln
QGFwcGxlLmNvbT4KKworICAgICAgICBQbGF0Zm9ybS5oIGlzIG91dCBvZiBjb250cm9sIFBhcnQg
MzogTW92ZSBhbGwgRU5BQkxFXyogbWFjcm9zIGRlZmluaXRpb25zIGluIEZlYXR1cmVEZWZpbmVz
LmgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjEz
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIC0gTW92
ZXMgYWxsIHJlbWFpbmluZyBFTkFCTEVfKiBkZWZpbmVzIG91dCBvZiBQbGF0Zm9ybS5oIGFuZCBp
bnRvIEZlYXR1cmVEZWZpbmVzLmgKKyAgICAgICAgLSBNb3ZlcyBtb3N0LCBVU0VfVURJUzg2IGFu
ZCBVU0VfQVJNNjRfRElTQVNTRU1CTEVSIGFyZSB0YW5nbGVkIHVwIGluIHRoZSBKSVQgZGVmaW5p
dGlvbnMKKyAgICAgICAgICBzdGlsbCwgSEFWRV8qIGFuZCBVU0VfKiBkZWZpbmVzIG91dCBvZiBG
ZWF0dXJlRGVmaW5lcy5oIGFuZCBpbnRvIFBsYXRmb3JtLmgKKyAgICAgICAgLSBXaGVyZSBzdHJh
aWd0aGZvcndhcmQsIGNvbnZlcnQgbWFjcm8gZGVmaW5pdGlvbnMgaW50byBhIGNhbm9uaWNhbCAz
IGxpbmUgZW50cnkgb2YgdGhlIAorICAgICAgICAgIGZvcm06CisgICAgICAgICAgCisgICAgICAg
ICAgICAgICNpZiAhZGVmaW5lZChNQUNST19OQU1FKSAmJiAoPENPTkRJVElPTlMgSEVSRT4pCisg
ICAgICAgICAgICAgICNkZWZpbmUgTUFDUk9fTkFNRSAxCisgICAgICAgICAgICAgICNlbmRpZgor
CisgICAgICAgICAgVGhlcmUgaXMgcmFyZWx5IChpZiBldmVyKSBhIHJlc29uZSB0byB1bmRlZmlu
ZSBvciBkZWZpbmUgb25lIG9mIHRoZXNlIHBsYXRmb3JtIHJlbGF0ZWQKKyAgICAgICAgICBtYWNy
b3MgdG8gMCBhcyB0aGUgdXNhZ2UgbWFjcm9zIChlLmcuIEhBVkUoLi4uKSwgRU5BQkxFKC4uLiks
IGV0Yy4pIGhhbmRsZSB1bmRlZmluZWQgYXMgMC4KKyAgICAgICAgLSBBZGRlZCBhIGd1YXJkIHNv
IHRoYXQgRmVhdHVyZURlZmluZXMuaCBjYW4ndCBiZSBpbmNsdWRlZCBkaXJlY3RseSwgYW5kIG11
c3QgYmUgaW5jbHVkZWQgdmlhCisgICAgICAgICAgUGxhdGZvcm0uaC4gVGhpcyBpcyBuZWNlc3Nh
cnkgYXMgaXQgZGVwZW5kcyBoZWF2aWx5IG9uIG1hY3JvcyBkZWZpbmVkIGluIFBsYXRmb3JtLmgK
KyAgICAgICAgLSBBZGRlZCBudW1lcm91cyBGSVhNRXMgZGV0YWlsaW5nIGZvbGxvdyB1cCBjbGVh
bmluZy4KKworICAgICAgICAqIHd0Zi9GZWF0dXJlRGVmaW5lcy5oOgorICAgICAgICAqIHd0Zi9Q
bGF0Zm9ybS5oOgorCiAyMDIwLTAxLTExICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4K
IAogICAgICAgICBQbGF0Zm9ybS5oIGlzIG91dCBvZiBjb250cm9sIFBhcnQgMTogU3BsaXQgV1RG
X0NQVV8qIG1hY3JvIGRlZmluaXRpb25zIG91dCBvZiBQbGF0Zm9ybS5oIGFuZCBpbnRvIGEgbmV3
IENQVS5oCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgJKHJldmlzaW9uIDI1NDQwOSkKKysr
IFNvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTI4LDYg
KzI4LDEwIEBACiAKICNwcmFnbWEgb25jZQogCisjaWZuZGVmIF9fUExBVEZPUk1fSU5ESVJFQ1Rf
XworI2Vycm9yICJQbGVhc2UgI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPiBpbnN0ZWFkIG9mIHRo
aXMgZmlsZSBkaXJlY3RseS4iCisjZW5kaWYKKwogLyogVXNlIHRoaXMgZmlsZSB0byBsaXN0IF9h
bGxfIEVOQUJMRSgpIG1hY3Jvcy4gRGVmaW5lIHRoZSBtYWNyb3MgdG8gYmUgb25lIG9mIHRoZSBm
b2xsb3dpbmcgdmFsdWVzOgogICogIC0gIjAiIGRpc2FibGVzIHRoZSBmZWF0dXJlIGJ5IGRlZmF1
bHQuIFRoZSBmZWF0dXJlIGNhbiBzdGlsbCBiZSBlbmFibGVkIGZvciBhIHNwZWNpZmljIHBvcnQg
b3IgZW52aXJvbm1lbnQuCiAgKiAgLSAiMSIgZW5hYmxlcyB0aGUgZmVhdHVyZSBieSBkZWZhdWx0
LiBUaGUgZmVhdHVyZSBjYW4gc3RpbGwgYmUgZGlzYWJsZWQgZm9yIGEgc3BlY2lmaWMgcG9ydCBv
ciBlbnZpcm9ubWVudC4KQEAgLTE4Myw0NCArMTg3LDEwIEBAIHRoZSBwdWJsaWMgaU9TIFNESy4g
U2VlIDxodHRwczovL3dlYmtpdC4KICNlbmRpZgogI2VuZGlmCiAKLSNpZiAhZGVmaW5lZChIQVZF
X1BERkhPU1RWSUVXQ09OVFJPTExFUl9TTkFQU0hPVFRJTkcpCi0jaWYgUExBVEZPUk0oSU9TKQot
I2RlZmluZSBIQVZFX1BERkhPU1RWSUVXQ09OVFJPTExFUl9TTkFQU0hPVFRJTkcgMQotI2VuZGlm
Ci0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQ0NBVEFMWVNUKSB8fCBQTEFURk9STShJT1MpCi0j
aWYgIWRlZmluZWQoVVNFX1VJS0lUX0tFWUJPQVJEX0FERElUSU9OUykKLSNkZWZpbmUgVVNFX1VJ
S0lUX0tFWUJPQVJEX0FERElUSU9OUyAxCi0jZW5kaWYKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQo
SEFWRV9WSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCi0jZGVmaW5lIEhBVkVfVklTSUJJTElU
WV9QUk9QQUdBVElPTl9WSUVXIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoSEFWRV9VSVNDRU5F
KQotI2RlZmluZSBIQVZFX1VJU0NFTkUgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChIQVZFX0FW
U1RSRUFNU0VTU0lPTikKLSNkZWZpbmUgSEFWRV9BVlNUUkVBTVNFU1NJT04gMAotI2VuZGlmCi0K
ICNpZiAhZGVmaW5lZChFTkFCTEVfTUVESUFfU09VUkNFKQogI2RlZmluZSBFTkFCTEVfTUVESUFf
U09VUkNFIDAKICNlbmRpZgogCi0jaWYgIWRlZmluZWQoSEFWRV9QQVNTS0lUX0FQSV9UWVBFKQot
I2RlZmluZSBIQVZFX1BBU1NLSVRfQVBJX1RZUEUgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChI
QVZFX1BBU1NLSVRfQk9VTkRfSU5URVJGQUNFX0lERU5USUZJRVIpCi0jaWYgUExBVEZPUk0oSU9T
KQotI2RlZmluZSBIQVZFX1BBU1NLSVRfQk9VTkRfSU5URVJGQUNFX0lERU5USUZJRVIgMQotI2Vu
ZGlmCi0jZW5kaWYKLQogI2lmICFkZWZpbmVkKEVOQUJMRV9QUkVWSUVXX0NPTlZFUlRFUikKICNp
ZiBQTEFURk9STShJT1MpCiAjZGVmaW5lIEVOQUJMRV9QUkVWSUVXX0NPTlZFUlRFUiAxCkBAIC0y
MzEsNiArMjAxLDExIEBAIHRoZSBwdWJsaWMgaU9TIFNESy4gU2VlIDxodHRwczovL3dlYmtpdC4K
ICNkZWZpbmUgRU5BQkxFX01FVEFfVklFV1BPUlQgMQogI2VuZGlmCiAKKy8qIEZJWE1FOiBUaGlz
IHNlZW1zIHVudXNlZC4gSWYgc28sIGl0IHNob3VsZCBiZSByZW1vdmVkLiAqLworI2lmIENQVShB
Uk02NCkKKyNkZWZpbmUgRU5BQkxFX0pJVF9DT05TVEFOVF9CTElORElORyAwCisjZW5kaWYKKwog
I2VuZGlmIC8qIFBMQVRGT1JNKElPU19GQU1JTFkpICovCiAKIC8qIC0tLS0tLS0tLSBBcHBsZSB3
YXRjaE9TIHBvcnQgLS0tLS0tLS0tICovCkBAIC0yOTksMjQgKzI3NCwxMCBAQCB0aGUgcHVibGlj
IGlPUyBTREsuIFNlZSA8aHR0cHM6Ly93ZWJraXQuCiAjZGVmaW5lIEVOQUJMRV9XRUJQUk9DRVNT
X1dJTkRPV1NFUlZFUl9CTE9DS0lORyBFTkFCTEVfV0VCUFJPQ0VTU19OU1JVTkxPT1AKICNlbmRp
ZgogCi0jaWYgIWRlZmluZWQoSEFWRV9BVlNUUkVBTVNFU1NJT04pCi0jZGVmaW5lIEhBVkVfQVZT
VFJFQU1TRVNTSU9OIDEKLSNlbmRpZgotCiAjaWYgIWRlZmluZWQoRU5BQkxFX01FRElBX1NPVVJD
RSkKICNkZWZpbmUgRU5BQkxFX01FRElBX1NPVVJDRSAxCiAjZW5kaWYKIAotI2lmICFkZWZpbmVk
KEhBVkVfUEFTU0tJVF9BUElfVFlQRSkKLSNkZWZpbmUgSEFWRV9QQVNTS0lUX0FQSV9UWVBFIDEK
LSNlbmRpZgotCi0jaWYgIWRlZmluZWQoSEFWRV9QQVNTS0lUX0JPVU5EX0lOVEVSRkFDRV9JREVO
VElGSUVSKQotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwCi0j
ZGVmaW5lIEhBVkVfUEFTU0tJVF9CT1VORF9JTlRFUkZBQ0VfSURFTlRJRklFUiAxCi0jZW5kaWYK
LSNlbmRpZgotCiAjZW5kaWYgLyogUExBVEZPUk0oTUFDKSAqLwogCiAvKiAtLS0tLS0tLS0gQXBw
bGUgQ29jb2EgcGxhdGZvcm1zIC0tLS0tLS0tLSAqLwpAQCAtNzUyLDYgKzcxMywzMTMgQEAgdGhl
IHB1YmxpYyBpT1MgU0RLLiBTZWUgPGh0dHBzOi8vd2Via2l0LgogI2RlZmluZSBFTkFCTEVfU0VS
VklDRV9XT1JLRVIgMQogI2VuZGlmCiAKKworLyogSklUIEZlYXR1cmVzICovCisKKy8qIFRoZSBK
SVQgaXMgZW5hYmxlZCBieSBkZWZhdWx0IG9uIGFsbCB4ODYtNjQgJiBBUk02NCBwbGF0Zm9ybXMu
ICovCisjaWYgIWRlZmluZWQoRU5BQkxFX0pJVCkgJiYgIChDUFUoWDg2XzY0KSB8fCBDUFUoQVJN
NjQpKSAmJiAhQ1BVKEFQUExFX0FSTVY3SykKKyNkZWZpbmUgRU5BQkxFX0pJVCAxCisjZW5kaWYK
KworI2lmIFVTRShKU1ZBTFVFMzJfNjQpCisjaWYgKENQVShBUk1fVEhVTUIyKSB8fCBDUFUoTUlQ
UykpICYmIE9TKExJTlVYKQorLyogT24gQVJNdjcgYW5kIE1JUFMgb24gTGludXggdGhlIEpJVCBp
cyBlbmFibGVkIHVubGVzcyBleHBsaWNpdGx5IGRpc2FibGVkLiAqLworI2lmICFkZWZpbmVkKEVO
QUJMRV9KSVQpCisjZGVmaW5lIEVOQUJMRV9KSVQgMQorI2VuZGlmCisjZWxzZQorLyogRGlzYWJs
ZSBKSVQgYW5kIGZvcmNlIENfTE9PUCBvbiBhbGwgb3RoZXIgMzJiaXQgYXJjaGl0ZWN0dXJlcy4g
Ki8KKyN1bmRlZiBFTkFCTEVfSklUCisjZGVmaW5lIEVOQUJMRV9KSVQgMAorI3VuZGVmIEVOQUJM
RV9DX0xPT1AKKyNkZWZpbmUgRU5BQkxFX0NfTE9PUCAxCisjZW5kaWYKKyNlbmRpZgorCisjaWYg
IWRlZmluZWQoRU5BQkxFX0NfTE9PUCkKKyNpZiBFTkFCTEUoSklUKSB8fCBDUFUoWDg2XzY0KSB8
fCAoQ1BVKEFSTTY0KSAmJiAhZGVmaW5lZChfX0lMUDMyX18pKQorI2RlZmluZSBFTkFCTEVfQ19M
T09QIDAKKyNlbHNlCisjZGVmaW5lIEVOQUJMRV9DX0xPT1AgMQorI2VuZGlmCisjZW5kaWYKKwor
LyogRklYTUU6IFRoaXMgc2hvdWxkIGJlIHR1cm5lZCBpbnRvIGFuICNlcnJvciBpbnZhcmlhbnQg
Ki8KKy8qIFRoZSBGVEwgKmRvZXMgbm90KiB3b3JrIG9uIDMyLWJpdCBwbGF0Zm9ybXMuIERpc2Fi
bGUgaXQgZXZlbiBpZiBzb21lb25lIGFza2VkIHVzIHRvIGVuYWJsZSBpdC4gKi8KKyNpZiBVU0Uo
SlNWQUxVRTMyXzY0KQorI3VuZGVmIEVOQUJMRV9GVExfSklUCisjZGVmaW5lIEVOQUJMRV9GVExf
SklUIDAKKyNlbmRpZgorCisvKiBGSVhNRTogVGhpcyBzaG91bGQgYmUgdHVybmVkIGludG8gYW4g
I2Vycm9yIGludmFyaWFudCAqLworLyogVGhlIEZUTCBpcyBkaXNhYmxlZCBvbiB0aGUgaU9TIHNp
bXVsYXRvciwgbW9zdGx5IGZvciBzaW1wbGljaXR5LiAqLworI2lmIFBMQVRGT1JNKElPU19GQU1J
TFlfU0lNVUxBVE9SKQorI3VuZGVmIEVOQUJMRV9GVExfSklUCisjZGVmaW5lIEVOQUJMRV9GVExf
SklUIDAKKyNlbmRpZgorCisvKiBGSVhNRTogVGhpcyBpcyB1c2VkIHRvICJ0dXJuIG9uIGEgc3Bl
Y2lmaWMgZmVhdHVyZSBvZiBXZWJLaXQiLCBzbyBzaG91bGQgYmUgY29udmVydGVkIHRvIGFuIEVO
QUJMRSBtYWNyby4gKi8KKy8qIElmIHBvc3NpYmxlLCB0cnkgdG8gZW5hYmxlIGEgZGlzYXNzZW1i
bGVyLiBUaGlzIGlzIG9wdGlvbmFsLiBXZSBwcm9jZWVkIGluIHR3bworICAgc3RlcHM6IGZpcnN0
IHdlIHRyeSB0byBmaW5kIHNvbWUgZGlzYXNzZW1ibGVyIHRoYXQgd2UgY2FuIHVzZSwgYW5kIHRo
ZW4gd2UKKyAgIGRlY2lkZSBpZiB0aGUgaGlnaC1sZXZlbCBkaXNhc3NlbWJsZXIgQVBJIGNhbiBi
ZSBlbmFibGVkLiAqLworI2lmICFkZWZpbmVkKFVTRV9VRElTODYpICYmIEVOQUJMRShKSVQpICYm
IENQVShYODZfNjQpICYmICFVU0UoQ0FQU1RPTkUpCisjZGVmaW5lIFVTRV9VRElTODYgMQorI2Vu
ZGlmCisKKy8qIEZJWE1FOiBUaGlzIGlzIHVzZWQgdG8gInR1cm4gb24gYSBzcGVjaWZpYyBmZWF0
dXJlIG9mIFdlYktpdCIsIHNvIHNob3VsZCBiZSBjb252ZXJ0ZWQgdG8gYW4gRU5BQkxFIG1hY3Jv
LiAqLworI2lmICFkZWZpbmVkKFVTRV9BUk02NF9ESVNBU1NFTUJMRVIpICYmIEVOQUJMRShKSVQp
ICYmIENQVShBUk02NCkgJiYgIVVTRShDQVBTVE9ORSkKKyNkZWZpbmUgVVNFX0FSTTY0X0RJU0FT
U0VNQkxFUiAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9ESVNBU1NFTUJMRVIpICYm
IChVU0UoVURJUzg2KSB8fCBVU0UoQVJNNjRfRElTQVNTRU1CTEVSKSB8fCAoRU5BQkxFKEpJVCkg
JiYgVVNFKENBUFNUT05FKSkpCisjZGVmaW5lIEVOQUJMRV9ESVNBU1NFTUJMRVIgMQorI2VuZGlm
CisKKyNpZiAhZGVmaW5lZChFTkFCTEVfREZHX0pJVCkgJiYgRU5BQkxFKEpJVCkKKworLyogRW5h
YmxlIHRoZSBERkcgSklUIG9uIFg4NiBhbmQgWDg2XzY0LiAqLworI2lmIENQVShYODZfNjQpICYm
IChPUyhEQVJXSU4pIHx8IE9TKExJTlVYKSB8fCBPUyhGUkVFQlNEKSB8fCBPUyhIVVJEKSB8fCBP
UyhXSU5ET1dTKSkKKyNkZWZpbmUgRU5BQkxFX0RGR19KSVQgMQorI2VuZGlmCisKKy8qIEVuYWJs
ZSB0aGUgREZHIEpJVCBvbiBBUk12Ny4gIE9ubHkgdGVzdGVkIG9uIGlPUywgTGludXgsIGFuZCBG
cmVlQlNELiAqLworI2lmIChDUFUoQVJNX1RIVU1CMikgfHwgQ1BVKEFSTTY0KSkgJiYgKFBMQVRG
T1JNKElPU19GQU1JTFkpIHx8IE9TKExJTlVYKSB8fCBPUyhGUkVFQlNEKSkKKyNkZWZpbmUgRU5B
QkxFX0RGR19KSVQgMQorI2VuZGlmCisvKiBFbmFibGUgdGhlIERGRyBKSVQgb24gTUlQUy4gKi8K
KyNpZiBDUFUoTUlQUykKKyNkZWZpbmUgRU5BQkxFX0RGR19KSVQgMQorI2VuZGlmCisKKyNlbmRp
ZiAvKiAhZGVmaW5lZChFTkFCTEVfREZHX0pJVCkgJiYgRU5BQkxFKEpJVCkgKi8KKworLyogQ29u
Y3VycmVudCBKUyBvbmx5IHdvcmtzIG9uIDY0LWJpdCBwbGF0Zm9ybXMgYmVjYXVzZSBpdCByZXF1
aXJlcyB0aGF0CisgICB2YWx1ZXMgZ2V0IHN0b3JlZCB0byBhdG9taWNhbGx5LiBUaGlzIGlzIHRy
aXZpYWxseSB0cnVlIG9uIDY0LWJpdCBwbGF0Zm9ybXMsCisgICBidXQgbm90IHRydWUgYXQgYWxs
IG9uIDMyLWJpdCBwbGF0Zm9ybXMgd2hlcmUgdmFsdWVzIGFyZSBjb21wb3NlZCBvZiB0d28KKyAg
IHNlcGFyYXRlIHN1Yi12YWx1ZXMuICovCisjaWYgRU5BQkxFKEpJVCkgJiYgVVNFKEpTVkFMVUU2
NCkKKyNkZWZpbmUgRU5BQkxFX0NPTkNVUlJFTlRfSlMgMQorI2VuZGlmCisKKyNpZiAoQ1BVKFg4
Nl82NCkgfHwgQ1BVKEFSTTY0KSkgJiYgSEFWRShGQVNUX1RMUykKKyNkZWZpbmUgRU5BQkxFX0ZB
U1RfVExTX0pJVCAxCisjZW5kaWYKKworI2lmIEVOQUJMRShKSVQpICYmIChDUFUoWDg2KSB8fCBD
UFUoWDg2XzY0KSB8fCBDUFUoQVJNX1RIVU1CMikgfHwgQ1BVKEFSTTY0KSB8fCBDUFUoTUlQUykp
CisjZGVmaW5lIEVOQUJMRV9NQVNNX1BST0JFIDEKKyNlbmRpZgorCisvKiBGSVhNRTogVGhpcyBz
aG91bGQgYmUgdHVybmVkIGludG8gYW4gI2Vycm9yIGludmFyaWFudCAqLworLyogSWYgdGhlIGJh
c2VsaW5lIGppdCBpcyBub3QgYXZhaWxhYmxlLCB0aGVuIGRpc2FibGUgdXBwZXIgdGllcnMgYXMg
d2VsbC4KKyAgIFRoZSBNYWNyb0Fzc2VtYmxlcjo6cHJvYmUoKSBpcyBhbHNvIHJlcXVpcmVkIGZv
ciBzdXBwb3J0aW5nIHRoZSB1cHBlciB0aWVycy4gKi8KKyNpZiAhRU5BQkxFKEpJVCkgfHwgIUVO
QUJMRShNQVNNX1BST0JFKQorI3VuZGVmIEVOQUJMRV9ERkdfSklUCisjdW5kZWYgRU5BQkxFX0ZU
TF9KSVQKKyNkZWZpbmUgRU5BQkxFX0RGR19KSVQgMAorI2RlZmluZSBFTkFCTEVfRlRMX0pJVCAw
CisjZW5kaWYKKworLyogRklYTUU6IFRoaXMgc2hvdWxkIGJlIHR1cm5lZCBpbnRvIGFuICNlcnJv
ciBpbnZhcmlhbnQgKi8KKy8qIElmIHRoZSBERkcgaml0IGlzIG5vdCBhdmFpbGFibGUsIHRoZW4g
ZGlzYWJsZSB1cHBlciB0aWVycyBhcyB3ZWxsOiAqLworI2lmICFFTkFCTEUoREZHX0pJVCkKKyN1
bmRlZiBFTkFCTEVfRlRMX0pJVAorI2RlZmluZSBFTkFCTEVfRlRMX0pJVCAwCisjZW5kaWYKKwor
LyogVGhpcyBjb250cm9scyB3aGV0aGVyIEIzIGlzIGJ1aWx0LiBCMyBpcyBuZWVkZWQgZm9yIEZU
TCBKSVQgYW5kIFdlYkFzc2VtYmx5ICovCisjaWYgRU5BQkxFKEZUTF9KSVQpCisjZGVmaW5lIEVO
QUJMRV9CM19KSVQgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfV0VCQVNTRU1CTFkp
ICYmIChFTkFCTEUoQjNfSklUKSAmJiBQTEFURk9STShDT0NPQSkgJiYgQ1BVKEFERFJFU1M2NCkp
CisjZGVmaW5lIEVOQUJMRV9XRUJBU1NFTUJMWSAxCisjZW5kaWYKKworLyogVGhlIFNhbXBsaW5n
UHJvZmlsZXIgaXMgdGhlIHByb2JhYmlsaXN0aWMgYW5kIGxvdy1vdmVyaGVhZCBwcm9maWxlciB1
c2VkIGJ5CisgKiBKU0MgdG8gbWVhc3VyZSB3aGVyZSB0aW1lIGlzIHNwZW50IGluc2lkZSBhIEph
dmFTY3JpcHQgcHJvZ3JhbS4KKyAqIEluIGNvbmZpZ3VyYXRpb25zIG90aGVyIHRoYW4gV2luZG93
cyBhbmQgRGFyd2luLCBiZWNhdXNlIGxheW91dCBvZiBtY29udGV4dF90IGRlcGVuZHMgb24gc3Rh
bmRhcmQgbGlicmFyaWVzIChsaWtlIGdsaWJjKSwKKyAqIHNhbXBsaW5nIHByb2ZpbGVyIGlzIGVu
YWJsZWQgaWYgV2ViS2l0IHVzZXMgcHRocmVhZHMgYW5kIGdsaWJjLiAqLworI2lmICFkZWZpbmVk
KEVOQUJMRV9TQU1QTElOR19QUk9GSUxFUikgJiYgKCFFTkFCTEUoQ19MT09QKSAmJiAoT1MoV0lO
RE9XUykgfHwgSEFWRShNQUNISU5FX0NPTlRFWFQpKSkKKyNkZWZpbmUgRU5BQkxFX1NBTVBMSU5H
X1BST0ZJTEVSIDEKKyNlbmRpZgorCisjaWYgRU5BQkxFKFdFQkFTU0VNQkxZKSAmJiBIQVZFKE1B
Q0hJTkVfQ09OVEVYVCkKKyNkZWZpbmUgRU5BQkxFX1dFQkFTU0VNQkxZX0ZBU1RfTUVNT1JZIDEK
KyNlbmRpZgorCisvKiBDb3VudHMgdXNlcyBvZiB3cml0ZSBiYXJyaWVycyB1c2luZyBzYW1wbGlu
ZyBjb3VudGVycy4gQmUgc3VyZSB0byBhbHNvCisgICBzZXQgRU5BQkxFX1NBTVBMSU5HX0NPVU5U
RVJTIHRvIDEuICovCisjaWYgIWRlZmluZWQoRU5BQkxFX1dSSVRFX0JBUlJJRVJfUFJPRklMSU5H
KQorI2RlZmluZSBFTkFCTEVfV1JJVEVfQkFSUklFUl9QUk9GSUxJTkcgMAorI2VuZGlmCisKKy8q
IExvZ3MgYWxsIGFsbG9jYXRpb24tcmVsYXRlZCBhY3Rpdml0eSB0aGF0IGdvZXMgdGhyb3VnaCBm
YXN0TWFsbG9jIG9yIHRoZQorICAgSlNDIEdDIChib3RoIGNlbGxzIGFuZCBidXR0ZXJmbGllcyku
IEFsc28gbG9ncyBtYXJraW5nLiBOb3RlIHRoYXQgdGhpcworICAgaXNuJ3QgYSBjb21wbGV0ZWx5
IGFjY3VyYXRlIHZpZXcgb2YgdGhlIGhlYXAgc2luY2UgaXQgZG9lc24ndCBpbmNsdWRlIGFsbAor
ICAgYnV0dGVyZmx5IHJlc2l6ZSBvcGVyYXRpb25zLCBkb2Vzbid0IHRlbGwgeW91IHdoYXQgaXMg
Z29pbmcgb24gd2l0aCB3ZWFrCisgICByZWZlcmVuY2VzIChvdGhlciB0aGFuIHRvIHRlbGwgeW91
IHdoZW4gdGhleSdyZSBtYXJrZWQpLCBhbmQgZG9lc24ndAorICAgdHJhY2sgZGlyZWN0IG1tYXAo
KSBhbGxvY2F0aW9ucyBvciB0aGluZ3MgbGlrZSBKSVQgYWxsb2NhdGlvbi4gKi8KKyNpZiAhZGVm
aW5lZChFTkFCTEVfQUxMT0NBVElPTl9MT0dHSU5HKQorI2RlZmluZSBFTkFCTEVfQUxMT0NBVElP
Tl9MT0dHSU5HIDAKKyNlbmRpZgorCisvKiBFbmFibGUgdmVyaWZpY2F0aW9uIHRoYXQgdGhhdCBy
ZWdpc3RlciBhbGxvY2F0aW9ucyBhcmUgbm90IG1hZGUgd2l0aGluIGdlbmVyYXRlZCBjb250cm9s
IGZsb3cuCisgICBUdXJuZWQgb24gZm9yIGRlYnVnIGJ1aWxkcy4gKi8KKyNpZiAhZGVmaW5lZChF
TkFCTEVfREZHX1JFR0lTVEVSX0FMTE9DQVRJT05fVkFMSURBVElPTikgJiYgRU5BQkxFKERGR19K
SVQpICYmICFkZWZpbmVkKE5ERUJVRykKKyNkZWZpbmUgRU5BQkxFX0RGR19SRUdJU1RFUl9BTExP
Q0FUSU9OX1ZBTElEQVRJT04gMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfU0VQQVJB
VEVEX1dYX0hFQVApICYmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmIENQVShBUk02NCkgJiYgKCFF
TkFCTEUoRkFTVF9KSVRfUEVSTUlTU0lPTlMpIHx8ICFDUFUoQVJNNjRFKSkKKyNkZWZpbmUgRU5B
QkxFX1NFUEFSQVRFRF9XWF9IRUFQIDEKKyNlbmRpZgorCisvKiBEZXRlcm1pbmUgaWYgd2UgbmVl
ZCB0byBlbmFibGUgQ29tcHV0ZWQgR290byBPcGNvZGVzIG9yIG5vdDogKi8KKyNpZiBIQVZFKENP
TVBVVEVEX0dPVE8pIHx8ICFFTkFCTEUoQ19MT09QKQorI2RlZmluZSBFTkFCTEVfQ09NUFVURURf
R09UT19PUENPREVTIDEKKyNlbmRpZgorCisvKiBSZWd1bGFyIEV4cHJlc3Npb24gVHJhY2luZyAt
IFNldCB0byAxIHRvIHRyYWNlIFJlZ0V4cCdzIGluIGpzYy4gIFJlc3VsdHMgZHVtcGVkIGF0IGV4
aXQgKi8KKyNpZiAhZGVmaW5lZChFTkFCTEVfUkVHRVhQX1RSQUNJTkcpCisjZGVmaW5lIEVOQUJM
RV9SRUdFWFBfVFJBQ0lORyAwCisjZW5kaWYKKworLyogWWV0IEFub3RoZXIgUmVnZXggUnVudGlt
ZSAtIHR1cm5lZCBvbiBieSBkZWZhdWx0IGZvciBKSVQgZW5hYmxlZCBwb3J0cy4gKi8KKyNpZiAh
ZGVmaW5lZChFTkFCTEVfWUFSUl9KSVQpICYmIEVOQUJMRShKSVQpCisjZGVmaW5lIEVOQUJMRV9Z
QVJSX0pJVCAxCisjZW5kaWYKKworLyogU2V0dGluZyB0aGlzIGZsYWcgY29tcGFyZXMgSklUIHJl
c3VsdHMgd2l0aCBpbnRlcnByZXRlciByZXN1bHRzLiAqLworI2lmICFkZWZpbmVkKEVOQUJMRV9Z
QVJSX0pJVCkgJiYgRU5BQkxFKEpJVCkKKyNkZWZpbmUgRU5BQkxFX1lBUlJfSklUX0RFQlVHIDAK
KyNlbmRpZgorCisvKiBFbmFibGUgSklUJ2luZyBSZWd1bGFyIEV4cHJlc3Npb25zIHRoYXQgaGF2
ZSBuZXN0ZWQgcGFyZW50aGVzaXMgLiAqLworI2lmIEVOQUJMRShZQVJSX0pJVCkgJiYgKENQVShB
Uk02NCkgfHwgKENQVShYODZfNjQpICYmICFPUyhXSU5ET1dTKSkpCisjZGVmaW5lIEVOQUJMRV9Z
QVJSX0pJVF9BTExfUEFSRU5TX0VYUFJFU1NJT05TIDEKKyNlbmRpZgorCisvKiBFbmFibGUgSklU
J2luZyBSZWd1bGFyIEV4cHJlc3Npb25zIHRoYXQgaGF2ZSBuZXN0ZWQgYmFjayByZWZlcmVuY2Vz
LiAqLworI2lmIEVOQUJMRShZQVJSX0pJVCkgJiYgKENQVShBUk02NCkgfHwgKENQVShYODZfNjQp
ICYmICFPUyhXSU5ET1dTKSkpCisjZGVmaW5lIEVOQUJMRV9ZQVJSX0pJVF9CQUNLUkVGRVJFTkNF
UyAxCisjZW5kaWYKKworLyogSWYgZWl0aGVyIHRoZSBKSVQgb3IgdGhlIFJlZ0V4cCBKSVQgaXMg
ZW5hYmxlZCwgdGhlbiB0aGUgQXNzZW1ibGVyIG11c3QgYmUKKyAgIGVuYWJsZWQgYXMgd2VsbDog
Ki8KKyNpZiBFTkFCTEUoSklUKSB8fCBFTkFCTEUoWUFSUl9KSVQpIHx8ICFFTkFCTEUoQ19MT09Q
KQorI2lmIGRlZmluZWQoRU5BQkxFX0FTU0VNQkxFUikgJiYgIUVOQUJMRV9BU1NFTUJMRVIKKyNl
cnJvciAiQ2Fubm90IGVuYWJsZSB0aGUgSklUIG9yIFJlZ0V4cCBKSVQgd2l0aG91dCBlbmFibGlu
ZyB0aGUgQXNzZW1ibGVyIgorI2Vsc2UKKyN1bmRlZiBFTkFCTEVfQVNTRU1CTEVSCisjZGVmaW5l
IEVOQUJMRV9BU1NFTUJMRVIgMQorI2VuZGlmCisjZW5kaWYKKworLyogSWYgdGhlIERpc2Fzc2Vt
YmxlciBpcyBlbmFibGVkLCB0aGVuIHRoZSBBc3NlbWJsZXIgbXVzdCBiZSBlbmFibGVkIGFzIHdl
bGw6ICovCisjaWYgRU5BQkxFKERJU0FTU0VNQkxFUikKKyNpZiBkZWZpbmVkKEVOQUJMRV9BU1NF
TUJMRVIpICYmICFFTkFCTEVfQVNTRU1CTEVSCisjZXJyb3IgIkNhbm5vdCBlbmFibGUgdGhlIERp
c2Fzc2VtYmxlciB3aXRob3V0IGVuYWJsaW5nIHRoZSBBc3NlbWJsZXIiCisjZWxzZQorI3VuZGVm
IEVOQUJMRV9BU1NFTUJMRVIKKyNkZWZpbmUgRU5BQkxFX0FTU0VNQkxFUiAxCisjZW5kaWYKKyNl
bmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0VYQ0VQVElPTl9TQ09QRV9WRVJJRklDQVRJT04p
CisjZGVmaW5lIEVOQUJMRV9FWENFUFRJT05fU0NPUEVfVkVSSUZJQ0FUSU9OIEFTU0VSVF9FTkFC
TEVECisjZW5kaWYKKworI2lmIEVOQUJMRShERkdfSklUKSAmJiBIQVZFKE1BQ0hJTkVfQ09OVEVY
VCkgJiYgKENQVShYODZfNjQpIHx8IENQVShBUk02NCkpCisjZGVmaW5lIEVOQUJMRV9TSUdOQUxf
QkFTRURfVk1fVFJBUFMgMQorI2VuZGlmCisKKy8qIENTUyBTZWxlY3RvciBKSVQgQ29tcGlsZXIg
Ki8KKyNpZiAhZGVmaW5lZChFTkFCTEVfQ1NTX1NFTEVDVE9SX0pJVCkgJiYgKChDUFUoWDg2XzY0
KSB8fCBDUFUoQVJNNjQpIHx8IChDUFUoQVJNX1RIVU1CMikgJiYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkpKSAmJiBFTkFCTEUoSklUKSAmJiAoT1MoREFSV0lOKSB8fCBQTEFURk9STShHVEspIHx8IFBM
QVRGT1JNKFdQRSkpKQorI2RlZmluZSBFTkFCTEVfQ1NTX1NFTEVDVE9SX0pJVCAxCisjZW5kaWYK
KworI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhUExBVEZPUk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JN
KEFQUExFVFYpICYmICFQTEFURk9STShNQUNDQVRBTFlTVCkKKyNkZWZpbmUgRU5BQkxFX0RBVEFf
REVURUNUSU9OIDEKKyNlbmRpZgorCisjaWYgQ1BVKEFSTV9USFVNQjIpIHx8IENQVShBUk02NCkK
KyNkZWZpbmUgRU5BQkxFX0JSQU5DSF9DT01QQUNUSU9OIDEKKyNlbmRpZgorCisjaWYgIWRlZmlu
ZWQoRU5BQkxFX1RIUkVBRElOR19MSUJESVNQQVRDSCkgJiYgSEFWRShESVNQQVRDSF9IKQorI2Rl
ZmluZSBFTkFCTEVfVEhSRUFESU5HX0xJQkRJU1BBVENIIDEKKyNlbGlmICFkZWZpbmVkKEVOQUJM
RV9USFJFQURJTkdfT1BFTk1QKSAmJiBkZWZpbmVkKF9PUEVOTVApCisjZGVmaW5lIEVOQUJMRV9U
SFJFQURJTkdfT1BFTk1QIDEKKyNlbGlmICFkZWZpbmVkKFRIUkVBRElOR19HRU5FUklDKQorI2Rl
ZmluZSBFTkFCTEVfVEhSRUFESU5HX0dFTkVSSUMgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChF
TkFCTEVfR0NfVkFMSURBVElPTikgJiYgIWRlZmluZWQoTkRFQlVHKQorI2RlZmluZSBFTkFCTEVf
R0NfVkFMSURBVElPTiAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9CSU5ESU5HX0lO
VEVHUklUWSkgJiYgIU9TKFdJTkRPV1MpCisjZGVmaW5lIEVOQUJMRV9CSU5ESU5HX0lOVEVHUklU
WSAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9UUkVFX0RFQlVHR0lORykgJiYgIWRl
ZmluZWQoTkRFQlVHKQorI2RlZmluZSBFTkFCTEVfVFJFRV9ERUJVR0dJTkcgMQorI2VuZGlmCisK
KyNpZiBQTEFURk9STShDT0NPQSkKKyNkZWZpbmUgRU5BQkxFX1JFU09VUkNFX1VTQUdFIDEKKyNl
bmRpZgorCisvKiBGSVhNRTogRG9jdW1lbnQgb3IgcmVtb3ZlIGV4cGxpY2l0IHVuZGVmLiAqLwor
I2lmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKQorI3VuZGVmIEVOQUJMRV9PUEVOVFlQ
RV9WRVJUSUNBTAorI2RlZmluZSBFTkFCTEVfT1BFTlRZUEVfVkVSVElDQUwgMQorI2VuZGlmCisK
Ky8qIEZJWE1FOiBEb2N1bWVudCBvciByZW1vdmUgZXhwbGljaXQgdW5kZWYuICovCisjaWYgKE9T
KERBUldJTikgJiYgVVNFKENHKSkgfHwgKFVTRShGUkVFVFlQRSkgJiYgIVBMQVRGT1JNKEdUSykp
IHx8IChQTEFURk9STShXSU4pICYmIChVU0UoQ0cpIHx8IFVTRShDQUlSTykpKQorI3VuZGVmIEVO
QUJMRV9PUEVOVFlQRV9NQVRICisjZGVmaW5lIEVOQUJMRV9PUEVOVFlQRV9NQVRIIDEKKyNlbmRp
ZgorCisvKgorICogRW5hYmxlIHRoaXMgdG8gcHV0IGVhY2ggSXNvSGVhcCBhbmQgb3RoZXIgYWxs
b2NhdGlvbiBjYXRlZ29yaWVzIGludG8gdGhlaXIgb3duIG1hbGxvYyBoZWFwcywgc28gdGhhdCB0
b29scyBsaWtlIHZtbWFwIGNhbiBzaG93IGhvdyBiaWcgZWFjaCBoZWFwIGlzLgorICogVHVybiBC
RU5BQkxFX01BTExPQ19IRUFQX0JSRUFLRE9XTiBvbiBpbiBibWFsbG9jIHRvZ2V0aGVyIHdoZW4g
dXNpbmcgdGhpcy4KKyAqLworI2lmICFkZWZpbmVkKEVOQUJMRV9NQUxMT0NfSEVBUF9CUkVBS0RP
V04pCisjZGVmaW5lIEVOQUJMRV9NQUxMT0NfSEVBUF9CUkVBS0RPV04gMAorI2VuZGlmCisKKy8q
IERpc2FibGUgU2hhcmVkQXJyYXlCdWZmZXJzIHVudGlsIFNwZWN0cmUgc2VjdXJpdHkgY29uY2Vy
bnMgYXJlIG1pdGlnYXRlZC4gKi8KKyNkZWZpbmUgRU5BQkxFX1NIQVJFRF9BUlJBWV9CVUZGRVIg
MAorCisvKiBGSVhNRTogX19MUDY0X18gY2FuIHByb2JhYmx5IGJlIHJlbW92ZWQgbm93IHRoYXQg
MzItYml0IG1hY09TIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQuICovCisjaWYgUExBVEZPUk0oTUFD
KSAmJiBkZWZpbmVkKF9fTFA2NF9fKQorI2RlZmluZSBFTkFCTEVfV0VCX1BMQVlCQUNLX0NPTlRS
T0xTX01BTkFHRVIgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShDT0NPQSkKKy8qIEZJWE1FOiBU
aGlzIGlzIGEgVVNFIHN0eWxlIG1hY3JvLCBhcyBpdCB0cmlnZ2VycyB0aGUgdXNlIG9mIENGVVJM
Q29ubmVjdGlvbiBmcmFtZXdvcmsgc3R1YnMuICovCisvKiBGSVhNRTogSXMgdGhpcyBzdGlsbCBu
ZWNlc3Nhcnk/IENGVVJMQ29ubmVjdGlvbiBpc24ndCB1c2VkIG9uIENvY29hIHBsYXRmb3JtcyBh
bnkgbW9yZS4gKi8KKyNkZWZpbmUgRU5BQkxFX1NFQ19JVEVNX1NISU0gMQorI2VuZGlmCisKKyNp
ZiBQTEFURk9STShNQUMpCisjZGVmaW5lIEVOQUJMRV9GVUxMX0tFWUJPQVJEX0FDQ0VTUyAxCisj
ZW5kaWYKKworI2lmICgoUExBVEZPUk0oQ09DT0EpIHx8IFBMQVRGT1JNKFBMQVlTVEFUSU9OKSB8
fCBQTEFURk9STShXUEUpKSAmJiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKSkgfHwgUExBVEZPUk0o
R1RLKQorI2RlZmluZSBFTkFCTEVfS0lORVRJQ19TQ1JPTExJTkcgMQorI2VuZGlmCisKKyNpZiAh
ZGVmaW5lZChFTkFCTEVfTU9OT1NQQUNFX0ZPTlRfRVhDRVBUSU9OKSAmJiAoKFBMQVRGT1JNKE1B
QykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTUwMCkgfHwgKFBMQVRG
T1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTMw
MDAwKSkKKyNkZWZpbmUgRU5BQkxFX01PTk9TUEFDRV9GT05UX0VYQ0VQVElPTiAxCisjZW5kaWYK
KworI2lmICFkZWZpbmVkKEVOQUJMRV9QTEFURk9STV9EUklWRU5fVEVYVF9DSEVDS0lORykgJiYg
UExBVEZPUk0oTUFDQ0FUQUxZU1QpCisjZGVmaW5lIEVOQUJMRV9QTEFURk9STV9EUklWRU5fVEVY
VF9DSEVDS0lORyAxCisjZW5kaWYKKworCiAvKiBBc3NlcnRzLCBpbnZhcmlhbnRzIGZvciBtYWNy
byBkZWZpbml0aW9ucyAqLwogCiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKSAmJiAhRU5BQkxFKFZJ
REVPKQpJbmRleDogU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCShyZXZpc2lvbiAyNTQ0MDkpCisrKyBTb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNTgsMjEgKzI1OCw0NyBAQAogI2RlZmlu
ZSBXVEZfUExBVEZPUk1fV0FUQ0hPUyAxCiAjZW5kaWYKIAotLyogR3JhcGhpY3MgZW5naW5lcyAq
LworLyogRklYTUU6IEFTU0VSVF9FTkFCTEVEIHNob3VsZCBkZWZpbmVkIGluIGRpZmZlcmVudCwg
cGVyaGFwcyBpdHMgb3duLCBmaWxlLiAqLworLyogQVNTRVJUX0VOQUJMRUQgc2hvdWxkIGJlIHRy
dWUgaWYgd2Ugd2FudCB0aGUgY3VycmVudCBjb21waWxhdGlvbiB1bml0IHRvCisgICBkbyBkZWJ1
ZyBhc3NlcnRpb24gY2hlY2tzIHVuY29uZGl0aW9uYWxseSAoZS5nLiB0cmVhdCBhIGRlYnVnIEFT
U0VSVAorICAgbGlrZSBhIFJFTEVBU0VfQVNTRVJULgorKi8KKyNpZm5kZWYgQVNTRVJUX0VOQUJM
RUQKKyNpZmRlZiBOREVCVUcKKyNkZWZpbmUgQVNTRVJUX0VOQUJMRUQgMAorI2Vsc2UKKyNkZWZp
bmUgQVNTRVJUX0VOQUJMRUQgMQorI2VuZGlmCisjZW5kaWYKKworCiAKLS8qIFVTRShDRykgYW5k
IFBMQVRGT1JNKENJKSAqLwogI2lmIFBMQVRGT1JNKENPQ09BKQogI2RlZmluZSBVU0VfQ0cgMQor
I2VuZGlmCisKKyNpZiBQTEFURk9STShDT0NPQSkKICNkZWZpbmUgVVNFX0NBIDEKICNlbmRpZgog
CiAjaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXUEUpCiAjZGVmaW5lIFVTRV9HTElCIDEK
KyNlbmRpZgorCisjaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXUEUpCiAjZGVmaW5lIFVT
RV9GUkVFVFlQRSAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BF
KQogI2RlZmluZSBVU0VfSEFSRkJVWlogMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShHVEspIHx8
IFBMQVRGT1JNKFdQRSkKICNkZWZpbmUgVVNFX1NPVVAgMQorI2VuZGlmCisKKyNpZiBQTEFURk9S
TShHVEspIHx8IFBMQVRGT1JNKFdQRSkKICNkZWZpbmUgVVNFX1dFQlAgMQotI2RlZmluZSBVU0Vf
RklMRV9MT0NLIDEKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oR1RLKQpAQCAtMjk0LDQ2OSArMzIw
LDI4NCBAQAogI2VuZGlmCiAKICNpZiBQTEFURk9STShDT0NPQSkKLQogI2RlZmluZSBIQVZFX09V
VF9PRl9QUk9DRVNTX0xBWUVSX0hPU1RJTkcgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShDT0NP
QSkKICNkZWZpbmUgVVNFX0NGIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0EpIHx8IChQ
TEFURk9STShHVEspIHx8IFBMQVRGT1JNKFdQRSkpCiAjZGVmaW5lIFVTRV9GSUxFX0xPQ0sgMQor
I2VuZGlmCisKKyNpZiBQTEFURk9STShDT0NPQSkKICNkZWZpbmUgVVNFX0ZPVU5EQVRJT04gMQor
I2VuZGlmCisKKyNpZiBQTEFURk9STShDT0NPQSkKICNkZWZpbmUgVVNFX05FVFdPUktfQ0ZEQVRB
X0FSUkFZX0NBTExCQUNLIDEKKyNlbmRpZgogCisKKyNpZiBQTEFURk9STShDT0NPQSkKIC8qIENv
Y29hIGRlZmluZXMgYSBzZXJpZXMgb2YgcGxhdGZvcm0gbWFjcm9zIGZvciBkZWJ1Z2dpbmcuICov
CiAvKiBTb21lIG9mIHRoZW0gYXJlIHJlYWxseSBhbm5veWluZyBiZWNhdXNlIHRoZXkgdXNlIGNv
bW1vbiBuYW1lcyAoZS5nLiBjaGVjaygpKS4gKi8KIC8qIERpc2FibGUgdGhvc2UgbWFjcm9zIHNv
IHRoYXQgd2UgYXJlIG5vdCBsaW1pdGVkIGluIGhvdyB3ZSBuYW1lIG1ldGhvZHMgYW5kIGZ1bmN0
aW9ucy4gKi8KICN1bmRlZiBfX0FTU0VSVF9NQUNST1NfREVGSU5FX1ZFUlNJT05TX1dJVEhPVVRf
VU5ERVJTQ09SRVMKICNkZWZpbmUgX19BU1NFUlRfTUFDUk9TX0RFRklORV9WRVJTSU9OU19XSVRI
T1VUX1VOREVSU0NPUkVTIDAKLQogI2VuZGlmCiAKICNpZiBQTEFURk9STShNQUMpCi0KICNkZWZp
bmUgSEFWRV9SVU5MT09QX1RJTUVSIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKQogI2Rl
ZmluZSBIQVZFX1NFQ19LRVlDSEFJTiAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykKICNk
ZWZpbmUgSEFWRV9ISVNFUlZJQ0VTIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKQogI2Rl
ZmluZSBVU0VfQVBQS0lUIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKQogI2RlZmluZSBV
U0VfUEFTU0tJVCAxCisjZW5kaWYKIAotI2lmIENQVShYODZfNjQpCisjaWYgUExBVEZPUk0oTUFD
KQogI2RlZmluZSBIQVZFX05FVFdPUktfRVhURU5TSU9OIDEKKyNlbmRpZgorCisjaWYgUExBVEZP
Uk0oTUFDKQogI2RlZmluZSBVU0VfUExVR0lOX0hPU1RfUFJPQ0VTUyAxCiAjZW5kaWYKLSNlbmRp
ZiAvKiBQTEFURk9STShNQUMpICovCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotCiAjZGVm
aW5lIEhBVkVfTkVUV09SS19FWFRFTlNJT04gMQotI2RlZmluZSBIQVZFX1JFQURMSU5FIDEKLSNk
ZWZpbmUgVVNFX1VJS0lUX0VESVRJTkcgMQotI2RlZmluZSBVU0VfV0VCX1RIUkVBRCAxCi0KLSNp
ZiBDUFUoQVJNNjQpCi0jZGVmaW5lIEVOQUJMRV9KSVRfQ09OU1RBTlRfQkxJTkRJTkcgMAogI2Vu
ZGlmCiAKLSNpZiBDUFUoQVJNX05FT04pCi0jdW5kZWYgSEFWRV9BUk1fTkVPTl9JTlRSSU5TSUNT
Ci0jZGVmaW5lIEhBVkVfQVJNX05FT05fSU5UUklOU0lDUyAwCisjaWYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKKyNkZWZpbmUgSEFWRV9SRUFETElORSAxCiAjZW5kaWYKIAotI2VuZGlmIC8qIFBMQVRG
T1JNKElPU19GQU1JTFkpICovCi0KLSNpZiAhZGVmaW5lZChIQVZFX0FDQ0VTU0lCSUxJVFkpCi0j
aWYgUExBVEZPUk0oQ09DT0EpIHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oR1RLKSB8fCBQ
TEFURk9STShXUEUpCi0jZGVmaW5lIEhBVkVfQUNDRVNTSUJJTElUWSAxCisjaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkKKyNkZWZpbmUgVVNFX1VJS0lUX0VESVRJTkcgMQogI2VuZGlmCi0jZW5kaWYg
LyogIWRlZmluZWQoSEFWRV9BQ0NFU1NJQklMSVRZKSAqLwogCi0vKiBGSVhNRTogUmVtb3ZlIGFm
dGVyIENNYWtlIGJ1aWxkIGVuYWJsZWQgb24gRGFyd2luICovCi0jaWYgT1MoREFSV0lOKQotI2Rl
ZmluZSBIQVZFX0VSUk5PX0ggMQotI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQotI2RlZmluZSBI
QVZFX0xPQ0FMVElNRV9SIDEKLSNkZWZpbmUgSEFWRV9NTUFQIDEKLSNkZWZpbmUgSEFWRV9SRUdF
WF9IIDEKLSNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCi0jZGVmaW5lIEhBVkVfU1RBVF9CSVJUSFRJ
TUUgMQotI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCi0jZGVmaW5lIEhBVkVfU1RSTlNUUiAxCi0j
ZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQotI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMSAKLSNk
ZWZpbmUgSEFWRV9UTV9HTVRPRkYgMQotI2RlZmluZSBIQVZFX1RNX1pPTkUgMQotI2RlZmluZSBI
QVZFX1RJTUVHTSAxCi0jZGVmaW5lIEhBVkVfUFRIUkVBRF9NQUlOX05QIDEKLQotI2lmIENQVShY
ODZfNjQpIHx8IENQVShBUk02NCkKLSNkZWZpbmUgSEFWRV9JTlQxMjhfVCAxCisjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKKyNkZWZpbmUgVVNFX1dFQl9USFJFQUQgMQogI2VuZGlmCi0jZW5kaWYg
LyogT1MoREFSV0lOKSAqLwogCi0jaWYgT1MoVU5JWCkKLSNkZWZpbmUgVVNFX1BUSFJFQURTIDEK
LSNlbmRpZiAvKiBPUyhVTklYKSAqLwotCi0jaWYgT1MoVU5JWCkgJiYgIU9TKEZVQ0hTSUEpCi0j
ZGVmaW5lIEhBVkVfUkVTT1VSQ0VfSCAxCi0jZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVRTQ0hFRFBB
UkFNIDEKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiBDUFUoQVJNX05FT04pCisjdW5kZWYg
SEFWRV9BUk1fTkVPTl9JTlRSSU5TSUNTCisjZGVmaW5lIEhBVkVfQVJNX05FT05fSU5UUklOU0lD
UyAwCiAjZW5kaWYKIAotI2lmIE9TKERBUldJTikKLSNkZWZpbmUgSEFWRV9ESVNQQVRDSF9IIDEK
LSNkZWZpbmUgSEFWRV9NQURWX0ZSRUUgMQotI2RlZmluZSBIQVZFX01BRFZfRlJFRV9SRVVTRSAx
Ci0jZGVmaW5lIEhBVkVfTUFEVl9ET05UTkVFRCAxCi0jZGVmaW5lIEhBVkVfTUVSR0VTT1JUIDEK
LSNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQotI2RlZmluZSBIQVZFX1JFQURMSU5F
IDEKLSNkZWZpbmUgSEFWRV9TWVNfVElNRUJfSCAxCi0jZGVmaW5lIEhBVkVfQVVESVRfVE9LRU4g
MQotCi0jaWYgX19oYXNfaW5jbHVkZSg8bWFjaC9tYWNoX2V4Yy5kZWZzPikgJiYgIVBMQVRGT1JN
KEdUSykKLSNkZWZpbmUgSEFWRV9NQUNIX0VYQ0VQVElPTlMgMQorI2lmICFkZWZpbmVkKEhBVkVf
UERGSE9TVFZJRVdDT05UUk9MTEVSX1NOQVBTSE9UVElORykgJiYgUExBVEZPUk0oSU9TKQorI2Rl
ZmluZSBIQVZFX1BERkhPU1RWSUVXQ09OVFJPTExFUl9TTkFQU0hPVFRJTkcgMQogI2VuZGlmCiAK
LSNpZiAhUExBVEZPUk0oR1RLKQotI2RlZmluZSBVU0VfQUNDRUxFUkFURSAxCisjaWYgIWRlZmlu
ZWQoSEFWRV9WSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpICYmIFBMQVRGT1JNKElPU19GQU1J
TFkpCisjZGVmaW5lIEhBVkVfVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVXIDEKICNlbmRpZgot
I2lmICFQTEFURk9STShJT1NfRkFNSUxZKQotI2RlZmluZSBIQVZFX0hPU1RFRF9DT1JFX0FOSU1B
VElPTiAxCi0jZW5kaWYKLQotI2VuZGlmIC8qIE9TKERBUldJTikgKi8KIAotI2lmIE9TKERBUldJ
TikgfHwgT1MoRlVDSFNJQSkgfHwgKChPUyhGUkVFQlNEKSB8fCBkZWZpbmVkKF9fR0xJQkNfXykg
fHwgZGVmaW5lZChfX0JJT05JQ19fKSkgJiYgKENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQ
VShBUk0pIHx8IENQVShBUk02NCkgfHwgQ1BVKE1JUFMpKSkKLSNkZWZpbmUgSEFWRV9NQUNISU5F
X0NPTlRFWFQgMQorI2lmICFkZWZpbmVkKEhBVkVfVUlTQ0VORSkgJiYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKKyNkZWZpbmUgSEFWRV9VSVNDRU5FIDEKICNlbmRpZgogCi0jaWYgT1MoREFSV0lOKSB8
fCAoT1MoTElOVVgpICYmIGRlZmluZWQoX19HTElCQ19fKSAmJiAhZGVmaW5lZChfX1VDTElCQ19f
KSAmJiAhQ1BVKE1JUFMpKQotI2RlZmluZSBIQVZFX0JBQ0tUUkFDRSAxCisjaWYgIWRlZmluZWQo
SEFWRV9BVlNUUkVBTVNFU1NJT04pICYmIFBMQVRGT1JNKE1BQykKKyNkZWZpbmUgSEFWRV9BVlNU
UkVBTVNFU1NJT04gMQogI2VuZGlmCiAKLSNpZiBPUyhEQVJXSU4pIHx8IE9TKExJTlVYKQotI2lm
IFBMQVRGT1JNKEdUSykKLSNpZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmluZWQoX19VQ0xJ
QkNfXykgJiYgIUNQVShNSVBTKQotI2RlZmluZSBIQVZFX0JBQ0tUUkFDRV9TWU1CT0xTIDEKKyNp
ZiAhZGVmaW5lZChIQVZFX1BBU1NLSVRfQVBJX1RZUEUpICYmIChQTEFURk9STShJT1NfRkFNSUxZ
KSB8fCBQTEFURk9STShNQUMpKQorI2RlZmluZSBIQVZFX1BBU1NLSVRfQVBJX1RZUEUgMQogI2Vu
ZGlmCi0jZW5kaWYgLyogUExBVEZPUk0oR1RLKSAqLwotI2RlZmluZSBIQVZFX0RMQUREUiAxCi0j
ZW5kaWYgLyogT1MoREFSV0lOKSB8fCBPUyhMSU5VWCkgKi8KLQotCi0vKiBFTkFCTEUgbWFjcm8g
ZGVmYXVsdHMgKi8KLQotLyogRklYTUU6IG1vdmUgb3V0IGFsbCBFTkFCTEUoKSBkZWZpbmVzIGZy
b20gaGVyZSB0byBGZWF0dXJlRGVmaW5lcy5oICovCiAKLSNpZiBVU0UoQVBQTEVfSU5URVJOQUxf
U0RLKSAmJiBfX2hhc19pbmNsdWRlKDxXZWJLaXRBZGRpdGlvbnMvQWRkaXRpb25hbFBsYXRmb3Jt
Lmg+KQotI2luY2x1ZGUgPFdlYktpdEFkZGl0aW9ucy9BZGRpdGlvbmFsUGxhdGZvcm0uaD4KKyNp
ZiAhZGVmaW5lZChIQVZFX1BBU1NLSVRfQk9VTkRfSU5URVJGQUNFX0lERU5USUZJRVIpICYmIChQ
TEFURk9STShJT1MpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPj0gMTAxNDAwKSkKKyNkZWZpbmUgSEFWRV9QQVNTS0lUX0JPVU5EX0lOVEVSRkFD
RV9JREVOVElGSUVSIDEKICNlbmRpZgogCi0jaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykgJiYg
X19oYXNfaW5jbHVkZSg8V2ViS2l0QWRkaXRpb25zL0FkZGl0aW9uYWxGZWF0dXJlRGVmaW5lcy5o
PikKLSNpbmNsdWRlIDxXZWJLaXRBZGRpdGlvbnMvQWRkaXRpb25hbEZlYXR1cmVEZWZpbmVzLmg+
CisjaWYgIWRlZmluZWQoVVNFX1VJS0lUX0tFWUJPQVJEX0FERElUSU9OUykgJiYgKFBMQVRGT1JN
KElPUykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpKQorI2RlZmluZSBVU0VfVUlLSVRfS0VZQk9B
UkRfQURESVRJT05TIDEKICNlbmRpZgogCi0vKiBJbmNsdWRlIGZlYXR1cmUgbWFjcm9zICovCi0j
aW5jbHVkZSA8d3RmL0ZlYXR1cmVEZWZpbmVzLmg+CiAKLSNpZiBPUyhXSU5ET1dTKQotI2RlZmlu
ZSBVU0VfU1lTVEVNX01BTExPQyAxCisjaWYgIWRlZmluZWQoSEFWRV9BQ0NFU1NJQklMSVRZKSAm
JiAoUExBVEZPUk0oQ09DT0EpIHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oR1RLKSB8fCBQ
TEFURk9STShXUEUpKQorI2RlZmluZSBIQVZFX0FDQ0VTU0lCSUxJVFkgMQogI2VuZGlmCiAKLQot
I2lmICFkZWZpbmVkKFVTRV9KU1ZBTFVFNjQpICYmICFkZWZpbmVkKFVTRV9KU1ZBTFVFMzJfNjQp
Ci0jaWYgQ1BVKEFERFJFU1M2NCkgfHwgQ1BVKEFSTTY0KQotI2RlZmluZSBVU0VfSlNWQUxVRTY0
IDEKLSNlbHNlCi0jZGVmaW5lIFVTRV9KU1ZBTFVFMzJfNjQgMQorLyogRklYTUU6IFJlbW92ZSBh
ZnRlciBDTWFrZSBidWlsZCBlbmFibGVkIG9uIERhcndpbiAqLworI2lmIE9TKERBUldJTikKKyNk
ZWZpbmUgSEFWRV9FUlJOT19IIDEKICNlbmRpZgotI2VuZGlmIC8qICFkZWZpbmVkKFVTRV9KU1ZB
TFVFNjQpICYmICFkZWZpbmVkKFVTRV9KU1ZBTFVFMzJfNjQpICovCiAKLS8qIFRoZSBKSVQgaXMg
ZW5hYmxlZCBieSBkZWZhdWx0IG9uIGFsbCB4ODYtNjQgJiBBUk02NCBwbGF0Zm9ybXMuICovCi0j
aWYgIWRlZmluZWQoRU5BQkxFX0pJVCkgXAotICAgICYmIChDUFUoWDg2XzY0KSB8fCBDUFUoQVJN
NjQpKSBcCi0gICAgJiYgIUNQVShBUFBMRV9BUk1WN0spCi0jZGVmaW5lIEVOQUJMRV9KSVQgMQor
I2lmIE9TKERBUldJTikKKyNkZWZpbmUgSEFWRV9MQU5HSU5GT19IIDEKICNlbmRpZgogCi0jaWYg
VVNFKEpTVkFMVUUzMl82NCkKLSNpZiAoQ1BVKEFSTV9USFVNQjIpIHx8IENQVShNSVBTKSkgJiYg
T1MoTElOVVgpCi0vKiBPbiBBUk12NyBhbmQgTUlQUyBvbiBMaW51eCB0aGUgSklUIGlzIGVuYWJs
ZWQgdW5sZXNzIGV4cGxpY2l0bHkgZGlzYWJsZWQuICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX0pJ
VCkKLSNkZWZpbmUgRU5BQkxFX0pJVCAxCi0jZW5kaWYKLSNlbHNlCi0vKiBEaXNhYmxlIEpJVCBh
bmQgZm9yY2UgQ19MT09QIG9uIGFsbCBvdGhlciAzMmJpdCBhcmNoaXRlY3R1cmVzLiAqLwotI3Vu
ZGVmIEVOQUJMRV9KSVQKLSNkZWZpbmUgRU5BQkxFX0pJVCAwCi0jdW5kZWYgRU5BQkxFX0NfTE9P
UAotI2RlZmluZSBFTkFCTEVfQ19MT09QIDEKLSNlbmRpZgorI2lmIE9TKERBUldJTikKKyNkZWZp
bmUgSEFWRV9MT0NBTFRJTUVfUiAxCiAjZW5kaWYKIAotI2lmICFkZWZpbmVkKEVOQUJMRV9DX0xP
T1ApCi0jaWYgRU5BQkxFKEpJVCkgXAotICAgIHx8IENQVShYODZfNjQpIHx8IChDUFUoQVJNNjQp
ICYmICFkZWZpbmVkKF9fSUxQMzJfXykpCi0jZGVmaW5lIEVOQUJMRV9DX0xPT1AgMAotI2Vsc2UK
LSNkZWZpbmUgRU5BQkxFX0NfTE9PUCAxCi0jZW5kaWYKKyNpZiBPUyhEQVJXSU4pCisjZGVmaW5l
IEhBVkVfTU1BUCAxCiAjZW5kaWYKIAotLyogVGhlIEZUTCAqZG9lcyBub3QqIHdvcmsgb24gMzIt
Yml0IHBsYXRmb3Jtcy4gRGlzYWJsZSBpdCBldmVuIGlmIHNvbWVvbmUgYXNrZWQgdXMgdG8gZW5h
YmxlIGl0LiAqLwotI2lmIFVTRShKU1ZBTFVFMzJfNjQpCi0jdW5kZWYgRU5BQkxFX0ZUTF9KSVQK
LSNkZWZpbmUgRU5BQkxFX0ZUTF9KSVQgMAorI2lmIE9TKERBUldJTikKKyNkZWZpbmUgSEFWRV9S
RUdFWF9IIDEKICNlbmRpZgogCi0vKiBUaGUgRlRMIGlzIGRpc2FibGVkIG9uIHRoZSBpT1Mgc2lt
dWxhdG9yLCBtb3N0bHkgZm9yIHNpbXBsaWNpdHkuICovCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlM
WV9TSU1VTEFUT1IpCi0jdW5kZWYgRU5BQkxFX0ZUTF9KSVQKLSNkZWZpbmUgRU5BQkxFX0ZUTF9K
SVQgMAorI2lmIE9TKERBUldJTikKKyNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCiAjZW5kaWYKIAot
LyogSWYgcG9zc2libGUsIHRyeSB0byBlbmFibGUgYSBkaXNhc3NlbWJsZXIuIFRoaXMgaXMgb3B0
aW9uYWwuIFdlIHByb2NlZWQgaW4gdHdvCi0gICBzdGVwczogZmlyc3Qgd2UgdHJ5IHRvIGZpbmQg
c29tZSBkaXNhc3NlbWJsZXIgdGhhdCB3ZSBjYW4gdXNlLCBhbmQgdGhlbiB3ZQotICAgZGVjaWRl
IGlmIHRoZSBoaWdoLWxldmVsIGRpc2Fzc2VtYmxlciBBUEkgY2FuIGJlIGVuYWJsZWQuICovCi0j
aWYgIWRlZmluZWQoVVNFX1VESVM4NikgJiYgRU5BQkxFKEpJVCkgJiYgQ1BVKFg4Nl82NCkgJiYg
IVVTRShDQVBTVE9ORSkKLSNkZWZpbmUgVVNFX1VESVM4NiAxCisjaWYgT1MoREFSV0lOKQorI2Rl
ZmluZSBIQVZFX1NUQVRfQklSVEhUSU1FIDEKICNlbmRpZgogCi0jaWYgIWRlZmluZWQoVVNFX0FS
TTY0X0RJU0FTU0VNQkxFUikgJiYgRU5BQkxFKEpJVCkgJiYgQ1BVKEFSTTY0KSAmJiAhVVNFKENB
UFNUT05FKQotI2RlZmluZSBVU0VfQVJNNjRfRElTQVNTRU1CTEVSIDEKKyNpZiBPUyhEQVJXSU4p
CisjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKICNlbmRpZgogCi0jaWYgIWRlZmluZWQoRU5BQkxF
X0RJU0FTU0VNQkxFUikgJiYgKFVTRShVRElTODYpIHx8IFVTRShBUk02NF9ESVNBU1NFTUJMRVIp
IHx8IChFTkFCTEUoSklUKSAmJiBVU0UoQ0FQU1RPTkUpKSkKLSNkZWZpbmUgRU5BQkxFX0RJU0FT
U0VNQkxFUiAxCisjaWYgT1MoREFSV0lOKQorI2RlZmluZSBIQVZFX1NUUk5TVFIgMQogI2VuZGlm
CiAKLSNpZiAhZGVmaW5lZChFTkFCTEVfREZHX0pJVCkgJiYgRU5BQkxFKEpJVCkKLS8qIEVuYWJs
ZSB0aGUgREZHIEpJVCBvbiBYODYgYW5kIFg4Nl82NC4gKi8KLSNpZiBDUFUoWDg2XzY0KSAmJiAo
T1MoREFSV0lOKSB8fCBPUyhMSU5VWCkgfHwgT1MoRlJFRUJTRCkgfHwgT1MoSFVSRCkgfHwgT1Mo
V0lORE9XUykpCi0jZGVmaW5lIEVOQUJMRV9ERkdfSklUIDEKLSNlbmRpZgotLyogRW5hYmxlIHRo
ZSBERkcgSklUIG9uIEFSTXY3LiAgT25seSB0ZXN0ZWQgb24gaU9TLCBMaW51eCwgYW5kIEZyZWVC
U0QuICovCi0jaWYgKENQVShBUk1fVEhVTUIyKSB8fCBDUFUoQVJNNjQpKSAmJiAoUExBVEZPUk0o
SU9TX0ZBTUlMWSkgfHwgT1MoTElOVVgpIHx8IE9TKEZSRUVCU0QpKQotI2RlZmluZSBFTkFCTEVf
REZHX0pJVCAxCi0jZW5kaWYKLS8qIEVuYWJsZSB0aGUgREZHIEpJVCBvbiBNSVBTLiAqLwotI2lm
IENQVShNSVBTKQotI2RlZmluZSBFTkFCTEVfREZHX0pJVCAxCi0jZW5kaWYKKyNpZiBPUyhEQVJX
SU4pCisjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQogI2VuZGlmCiAKLS8qIENvbmN1cnJlbnQg
SlMgb25seSB3b3JrcyBvbiA2NC1iaXQgcGxhdGZvcm1zIGJlY2F1c2UgaXQgcmVxdWlyZXMgdGhh
dAotICAgdmFsdWVzIGdldCBzdG9yZWQgdG8gYXRvbWljYWxseS4gVGhpcyBpcyB0cml2aWFsbHkg
dHJ1ZSBvbiA2NC1iaXQgcGxhdGZvcm1zLAotICAgYnV0IG5vdCB0cnVlIGF0IGFsbCBvbiAzMi1i
aXQgcGxhdGZvcm1zIHdoZXJlIHZhbHVlcyBhcmUgY29tcG9zZWQgb2YgdHdvCi0gICBzZXBhcmF0
ZSBzdWItdmFsdWVzLiAqLwotI2lmIEVOQUJMRShKSVQpICYmIFVTRShKU1ZBTFVFNjQpCi0jZGVm
aW5lIEVOQUJMRV9DT05DVVJSRU5UX0pTIDEKKyNpZiBPUyhEQVJXSU4pCisjZGVmaW5lIEhBVkVf
U1lTX1RJTUVfSCAxCiAjZW5kaWYKIAotI2lmIF9faGFzX2luY2x1ZGUoPFN5c3RlbS9wdGhyZWFk
X21hY2hkZXAuaD4pCi0jZGVmaW5lIEhBVkVfRkFTVF9UTFMgMQorI2lmIE9TKERBUldJTikKKyNk
ZWZpbmUgSEFWRV9UTV9HTVRPRkYgMQogI2VuZGlmCiAKLSNpZiAoQ1BVKFg4Nl82NCkgfHwgQ1BV
KEFSTTY0KSkgJiYgSEFWRShGQVNUX1RMUykKLSNkZWZpbmUgRU5BQkxFX0ZBU1RfVExTX0pJVCAx
CisjaWYgT1MoREFSV0lOKQorI2RlZmluZSBIQVZFX1RNX1pPTkUgMQogI2VuZGlmCiAKLSNpZiBD
UFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNX1RIVU1CMikgfHwgQ1BVKEFSTTY0KSB8
fCBDUFUoTUlQUykKLSNkZWZpbmUgRU5BQkxFX01BU01fUFJPQkUgMQotI2Vsc2UKLSNkZWZpbmUg
RU5BQkxFX01BU01fUFJPQkUgMAorI2lmIE9TKERBUldJTikKKyNkZWZpbmUgSEFWRV9USU1FR00g
MQogI2VuZGlmCiAKLSNpZiAhRU5BQkxFKEpJVCkKLSN1bmRlZiBFTkFCTEVfTUFTTV9QUk9CRQot
I2RlZmluZSBFTkFCTEVfTUFTTV9QUk9CRSAwCisjaWYgT1MoREFSV0lOKQorI2RlZmluZSBIQVZF
X1BUSFJFQURfTUFJTl9OUCAxCiAjZW5kaWYKIAotLyogSWYgdGhlIGJhc2VsaW5lIGppdCBpcyBu
b3QgYXZhaWxhYmxlLCB0aGVuIGRpc2FibGUgdXBwZXIgdGllcnMgYXMgd2VsbC4KLSAgIFRoZSBN
YWNyb0Fzc2VtYmxlcjo6cHJvYmUoKSBpcyBhbHNvIHJlcXVpcmVkIGZvciBzdXBwb3J0aW5nIHRo
ZSB1cHBlciB0aWVycy4gKi8KLSNpZiAhRU5BQkxFKEpJVCkgfHwgIUVOQUJMRShNQVNNX1BST0JF
KQotI3VuZGVmIEVOQUJMRV9ERkdfSklUCi0jdW5kZWYgRU5BQkxFX0ZUTF9KSVQKLSNkZWZpbmUg
RU5BQkxFX0RGR19KSVQgMAotI2RlZmluZSBFTkFCTEVfRlRMX0pJVCAwCisjaWYgT1MoREFSV0lO
KSAmJiAoQ1BVKFg4Nl82NCkgfHwgQ1BVKEFSTTY0KSkKKyNkZWZpbmUgSEFWRV9JTlQxMjhfVCAx
CiAjZW5kaWYKIAotLyogSWYgdGhlIERGRyBqaXQgaXMgbm90IGF2YWlsYWJsZSwgdGhlbiBkaXNh
YmxlIHVwcGVyIHRpZXJzIGFzIHdlbGw6ICovCi0jaWYgIUVOQUJMRShERkdfSklUKQotI3VuZGVm
IEVOQUJMRV9GVExfSklUCi0jZGVmaW5lIEVOQUJMRV9GVExfSklUIDAKKyNpZiBPUyhVTklYKQor
I2RlZmluZSBVU0VfUFRIUkVBRFMgMQogI2VuZGlmCiAKLS8qIFRoaXMgY29udHJvbHMgd2hldGhl
ciBCMyBpcyBidWlsdC4gQjMgaXMgbmVlZGVkIGZvciBGVEwgSklUIGFuZCBXZWJBc3NlbWJseSAq
LwotI2lmIEVOQUJMRShGVExfSklUKQotI2RlZmluZSBFTkFCTEVfQjNfSklUIDEKKyNpZiBPUyhV
TklYKSAmJiAhT1MoRlVDSFNJQSkKKyNkZWZpbmUgSEFWRV9SRVNPVVJDRV9IIDEKICNlbmRpZgog
Ci0jaWYgIWRlZmluZWQoRU5BQkxFX1dFQkFTU0VNQkxZKQotI2lmIEVOQUJMRShCM19KSVQpICYm
IFBMQVRGT1JNKENPQ09BKSAmJiBDUFUoQUREUkVTUzY0KQotI2RlZmluZSBFTkFCTEVfV0VCQVNT
RU1CTFkgMQotI2Vsc2UKLSNkZWZpbmUgRU5BQkxFX1dFQkFTU0VNQkxZIDAKLSNlbmRpZgorI2lm
IE9TKFVOSVgpICYmICFPUyhGVUNIU0lBKQorI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUU0NIRURQ
QVJBTSAxCiAjZW5kaWYKIAotLyogVGhlIFNhbXBsaW5nUHJvZmlsZXIgaXMgdGhlIHByb2JhYmls
aXN0aWMgYW5kIGxvdy1vdmVyaGVhZCBwcm9maWxlciB1c2VkIGJ5Ci0gKiBKU0MgdG8gbWVhc3Vy
ZSB3aGVyZSB0aW1lIGlzIHNwZW50IGluc2lkZSBhIEphdmFTY3JpcHQgcHJvZ3JhbS4KLSAqIElu
IGNvbmZpZ3VyYXRpb25zIG90aGVyIHRoYW4gV2luZG93cyBhbmQgRGFyd2luLCBiZWNhdXNlIGxh
eW91dCBvZiBtY29udGV4dF90IGRlcGVuZHMgb24gc3RhbmRhcmQgbGlicmFyaWVzIChsaWtlIGds
aWJjKSwKLSAqIHNhbXBsaW5nIHByb2ZpbGVyIGlzIGVuYWJsZWQgaWYgV2ViS2l0IHVzZXMgcHRo
cmVhZHMgYW5kIGdsaWJjLiAqLwotI2lmICFkZWZpbmVkKEVOQUJMRV9TQU1QTElOR19QUk9GSUxF
UikKLSNpZiAhRU5BQkxFKENfTE9PUCkgJiYgKE9TKFdJTkRPV1MpIHx8IEhBVkUoTUFDSElORV9D
T05URVhUKSkKLSNkZWZpbmUgRU5BQkxFX1NBTVBMSU5HX1BST0ZJTEVSIDEKLSNlbHNlCi0jZGVm
aW5lIEVOQUJMRV9TQU1QTElOR19QUk9GSUxFUiAwCi0jZW5kaWYKKyNpZiBPUyhEQVJXSU4pCisj
ZGVmaW5lIEhBVkVfRElTUEFUQ0hfSCAxCiAjZW5kaWYKIAotI2lmIEVOQUJMRShXRUJBU1NFTUJM
WSkgJiYgSEFWRShNQUNISU5FX0NPTlRFWFQpCi0jZGVmaW5lIEVOQUJMRV9XRUJBU1NFTUJMWV9G
QVNUX01FTU9SWSAxCisjaWYgT1MoREFSV0lOKQorI2RlZmluZSBIQVZFX01BRFZfRlJFRSAxCiAj
ZW5kaWYKIAotLyogQ291bnRzIHVzZXMgb2Ygd3JpdGUgYmFycmllcnMgdXNpbmcgc2FtcGxpbmcg
Y291bnRlcnMuIEJlIHN1cmUgdG8gYWxzbwotICAgc2V0IEVOQUJMRV9TQU1QTElOR19DT1VOVEVS
UyB0byAxLiAqLwotI2lmICFkZWZpbmVkKEVOQUJMRV9XUklURV9CQVJSSUVSX1BST0ZJTElORykK
LSNkZWZpbmUgRU5BQkxFX1dSSVRFX0JBUlJJRVJfUFJPRklMSU5HIDAKKyNpZiBPUyhEQVJXSU4p
CisjZGVmaW5lIEhBVkVfTUFEVl9GUkVFX1JFVVNFIDEKICNlbmRpZgogCi0vKiBMb2dzIGFsbCBh
bGxvY2F0aW9uLXJlbGF0ZWQgYWN0aXZpdHkgdGhhdCBnb2VzIHRocm91Z2ggZmFzdE1hbGxvYyBv
ciB0aGUKLSAgIEpTQyBHQyAoYm90aCBjZWxscyBhbmQgYnV0dGVyZmxpZXMpLiBBbHNvIGxvZ3Mg
bWFya2luZy4gTm90ZSB0aGF0IHRoaXMKLSAgIGlzbid0IGEgY29tcGxldGVseSBhY2N1cmF0ZSB2
aWV3IG9mIHRoZSBoZWFwIHNpbmNlIGl0IGRvZXNuJ3QgaW5jbHVkZSBhbGwKLSAgIGJ1dHRlcmZs
eSByZXNpemUgb3BlcmF0aW9ucywgZG9lc24ndCB0ZWxsIHlvdSB3aGF0IGlzIGdvaW5nIG9uIHdp
dGggd2VhawotICAgcmVmZXJlbmNlcyAob3RoZXIgdGhhbiB0byB0ZWxsIHlvdSB3aGVuIHRoZXkn
cmUgbWFya2VkKSwgYW5kIGRvZXNuJ3QKLSAgIHRyYWNrIGRpcmVjdCBtbWFwKCkgYWxsb2NhdGlv
bnMgb3IgdGhpbmdzIGxpa2UgSklUIGFsbG9jYXRpb24uICovCi0jaWYgIWRlZmluZWQoRU5BQkxF
X0FMTE9DQVRJT05fTE9HR0lORykKLSNkZWZpbmUgRU5BQkxFX0FMTE9DQVRJT05fTE9HR0lORyAw
CisjaWYgT1MoREFSV0lOKQorI2RlZmluZSBIQVZFX01BRFZfRE9OVE5FRUQgMQogI2VuZGlmCiAK
LS8qIEVuYWJsZSB2ZXJpZmljYXRpb24gdGhhdCB0aGF0IHJlZ2lzdGVyIGFsbG9jYXRpb25zIGFy
ZSBub3QgbWFkZSB3aXRoaW4gZ2VuZXJhdGVkIGNvbnRyb2wgZmxvdy4KLSAgIFR1cm5lZCBvbiBm
b3IgZGVidWcgYnVpbGRzLiAqLwotI2lmICFkZWZpbmVkKEVOQUJMRV9ERkdfUkVHSVNURVJfQUxM
T0NBVElPTl9WQUxJREFUSU9OKSAmJiBFTkFCTEUoREZHX0pJVCkKLSNpZiAhZGVmaW5lZChOREVC
VUcpCi0jZGVmaW5lIEVOQUJMRV9ERkdfUkVHSVNURVJfQUxMT0NBVElPTl9WQUxJREFUSU9OIDEK
LSNlbHNlCi0jZGVmaW5lIEVOQUJMRV9ERkdfUkVHSVNURVJfQUxMT0NBVElPTl9WQUxJREFUSU9O
IDAKLSNlbmRpZgorI2lmIE9TKERBUldJTikKKyNkZWZpbmUgSEFWRV9NRVJHRVNPUlQgMQogI2Vu
ZGlmCiAKLS8qIENvbmZpZ3VyZSB0aGUgSklUICovCi0jaWYgQ1BVKFg4NikgJiYgQ09NUElMRVIo
TVNWQykKLSNkZWZpbmUgSlNDX0hPU1RfQ0FMTCBfX2Zhc3RjYWxsCi0jZWxpZiBDUFUoWDg2KSAm
JiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKLSNkZWZpbmUgSlNDX0hPU1RfQ0FMTCBfX2F0dHJp
YnV0ZV9fICgoZmFzdGNhbGwpKQotI2Vsc2UKLSNkZWZpbmUgSlNDX0hPU1RfQ0FMTAorI2lmIE9T
KERBUldJTikKKyNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQogI2VuZGlmCiAKLSNp
ZiBDUFUoWDg2KSAmJiBPUyhXSU5ET1dTKQotI2RlZmluZSBDQUxMSU5HX0NPTlZFTlRJT05fSVNf
U1REQ0FMTCAxCi0jaWZuZGVmIENERUNMCi0jaWYgQ09NUElMRVIoTVNWQykKLSNkZWZpbmUgQ0RF
Q0wgX19jZGVjbAotI2Vsc2UKLSNkZWZpbmUgQ0RFQ0wgX19hdHRyaWJ1dGVfXyAoKF9fY2RlY2wp
KQotI2VuZGlmCi0jZW5kaWYKLSNlbHNlCi0jZGVmaW5lIENBTExJTkdfQ09OVkVOVElPTl9JU19T
VERDQUxMIDAKKyNpZiBPUyhEQVJXSU4pCisjZGVmaW5lIEhBVkVfUkVBRExJTkUgMQogI2VuZGlm
CiAKLSNpZiBDUFUoWDg2KQotI2RlZmluZSBXVEZfQ09NUElMRVJfU1VQUE9SVFNfRkFTVENBTExf
Q0FMTElOR19DT05WRU5USU9OIDEKLSNpZm5kZWYgRkFTVENBTEwKLSNpZiBDT01QSUxFUihNU1ZD
KQotI2RlZmluZSBGQVNUQ0FMTCBfX2Zhc3RjYWxsCi0jZWxzZQotI2RlZmluZSBGQVNUQ0FMTCAg
X19hdHRyaWJ1dGVfXyAoKGZhc3RjYWxsKSkKLSNlbmRpZgotI2VuZGlmCi0jZWxzZQotI2RlZmlu
ZSBXVEZfQ09NUElMRVJfU1VQUE9SVFNfRkFTVENBTExfQ0FMTElOR19DT05WRU5USU9OIDAKKyNp
ZiBPUyhEQVJXSU4pCisjZGVmaW5lIEhBVkVfU1lTX1RJTUVCX0ggMQogI2VuZGlmCiAKLSNpZiBF
TkFCTEUoSklUKSAmJiBDQUxMSU5HX0NPTlZFTlRJT05fSVNfU1REQ0FMTAotI2RlZmluZSBKSVRf
T1BFUkFUSU9OIENERUNMCi0jZWxzZQotI2RlZmluZSBKSVRfT1BFUkFUSU9OCisjaWYgT1MoREFS
V0lOKQorI2RlZmluZSBIQVZFX0FVRElUX1RPS0VOIDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkgJiYgQ1BVKEFSTTY0KSAmJiAoIUVOQUJMRShGQVNUX0pJVF9QRVJNSVNTSU9O
UykgfHwgIUNQVShBUk02NEUpKQotI2RlZmluZSBFTkFCTEVfU0VQQVJBVEVEX1dYX0hFQVAgMQot
I2Vsc2UKLSNkZWZpbmUgRU5BQkxFX1NFUEFSQVRFRF9XWF9IRUFQIDAKKyNpZiBPUyhEQVJXSU4p
ICYmIF9faGFzX2luY2x1ZGUoPG1hY2gvbWFjaF9leGMuZGVmcz4pICYmICFQTEFURk9STShHVEsp
CisjZGVmaW5lIEhBVkVfTUFDSF9FWENFUFRJT05TIDEKICNlbmRpZgogCi0vKiBDb25maWd1cmUg
dGhlIGludGVycHJldGVyICovCi0jaWYgQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpCi0jZGVmaW5l
IEhBVkVfQ09NUFVURURfR09UTyAxCisjaWYgT1MoREFSV0lOKSAmJiAhUExBVEZPUk0oR1RLKQor
I2RlZmluZSBVU0VfQUNDRUxFUkFURSAxCiAjZW5kaWYKIAotLyogRGV0ZXJtaW5lIGlmIHdlIG5l
ZWQgdG8gZW5hYmxlIENvbXB1dGVkIEdvdG8gT3Bjb2RlcyBvciBub3Q6ICovCi0jaWYgSEFWRShD
T01QVVRFRF9HT1RPKSB8fCAhRU5BQkxFKENfTE9PUCkKLSNkZWZpbmUgRU5BQkxFX0NPTVBVVEVE
X0dPVE9fT1BDT0RFUyAxCisjaWYgT1MoREFSV0lOKSAmJiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkK
KyNkZWZpbmUgSEFWRV9IT1NURURfQ09SRV9BTklNQVRJT04gMQogI2VuZGlmCiAKLSNpZiAhZGVm
aW5lZChVU0VfTExJTlRfRU1CRURERURfT1BDT0RFX0lEKSAmJiAhRU5BQkxFKENfTE9PUCkgJiYg
IUNPTVBJTEVSKE1TVkMpICYmIFwKLSAgICAoQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkgfHwgQ1BV
KEFSTTY0KSB8fCAoQ1BVKEFSTV9USFVNQjIpICYmIE9TKERBUldJTikpKQotLyogVGhpcyBmZWF0
dXJlIHdvcmtzIGJ5IGVtYmVkZGluZyB0aGUgT3Bjb2RlSUQgaW4gdGhlIDMyIGJpdCBqdXN0IGJl
Zm9yZSB0aGUgZ2VuZXJhdGVkIExMaW50IGNvZGUKLSAgIHRoYXQgZXhlY3V0ZXMgZWFjaCBvcGNv
ZGUuIEl0IGNhbm5vdCBiZSBzdXBwb3J0ZWQgYnkgdGhlIENMb29wIHNpbmNlIHRoZXJlJ3Mgbm8g
d2F5IHRvIGVtYmVkIHRoZQotICAgT3Bjb2RlSUQgd29yZCBpbiB0aGUgQ0xvb3AncyBzd2l0Y2gg
c3RhdGVtZW50IGNhc2VzLiBJdCBpcyBhbHNvIGN1cnJlbnRseSBub3QgaW1wbGVtZW50ZWQgZm9y
IE1TVkMuCi0qLwotI2RlZmluZSBVU0VfTExJTlRfRU1CRURERURfT1BDT0RFX0lEIDEKLSNlbmRp
ZgogCi0vKiBVc2UgX19idWlsdGluX2ZyYW1lX2FkZHJlc3MoMSkgdG8gZ2V0IENhbGxGcmFtZSog
Ki8KLSNpZiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkgJiYgKENQVShBUk02NCkgfHwgQ1BVKFg4
Nl82NCkpCi0jZGVmaW5lIFVTRV9CVUlMVElOX0ZSQU1FX0FERFJFU1MgMQorI2lmIE9TKERBUldJ
TikgfHwgT1MoRlVDSFNJQSkgfHwgKChPUyhGUkVFQlNEKSB8fCBkZWZpbmVkKF9fR0xJQkNfXykg
fHwgZGVmaW5lZChfX0JJT05JQ19fKSkgJiYgKENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQ
VShBUk0pIHx8IENQVShBUk02NCkgfHwgQ1BVKE1JUFMpKSkKKyNkZWZpbmUgSEFWRV9NQUNISU5F
X0NPTlRFWFQgMQogI2VuZGlmCiAKLS8qIFJlZ3VsYXIgRXhwcmVzc2lvbiBUcmFjaW5nIC0gU2V0
IHRvIDEgdG8gdHJhY2UgUmVnRXhwJ3MgaW4ganNjLiAgUmVzdWx0cyBkdW1wZWQgYXQgZXhpdCAq
LwotI2RlZmluZSBFTkFCTEVfUkVHRVhQX1RSQUNJTkcgMAotCi0vKiBZZXQgQW5vdGhlciBSZWdl
eCBSdW50aW1lIC0gdHVybmVkIG9uIGJ5IGRlZmF1bHQgZm9yIEpJVCBlbmFibGVkIHBvcnRzLiAq
LwotI2lmICFkZWZpbmVkKEVOQUJMRV9ZQVJSX0pJVCkgJiYgRU5BQkxFKEpJVCkKLSNkZWZpbmUg
RU5BQkxFX1lBUlJfSklUIDEKLQotLyogU2V0dGluZyB0aGlzIGZsYWcgY29tcGFyZXMgSklUIHJl
c3VsdHMgd2l0aCBpbnRlcnByZXRlciByZXN1bHRzLiAqLwotI2RlZmluZSBFTkFCTEVfWUFSUl9K
SVRfREVCVUcgMAorI2lmIE9TKERBUldJTikgfHwgKE9TKExJTlVYKSAmJiBkZWZpbmVkKF9fR0xJ
QkNfXykgJiYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIUNQVShNSVBTKSkKKyNkZWZpbmUgSEFW
RV9CQUNLVFJBQ0UgMQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoWUFSUl9KSVQpCi0jaWYgQ1BVKEFS
TTY0KSB8fCAoQ1BVKFg4Nl82NCkgJiYgIU9TKFdJTkRPV1MpKQotLyogRW5hYmxlIEpJVCdpbmcg
UmVndWxhciBFeHByZXNzaW9ucyB0aGF0IGhhdmUgbmVzdGVkIHBhcmVudGhlc2lzIGFuZCBiYWNr
IHJlZmVyZW5jZXMuICovCi0jZGVmaW5lIEVOQUJMRV9ZQVJSX0pJVF9BTExfUEFSRU5TX0VYUFJF
U1NJT05TIDEKLSNkZWZpbmUgRU5BQkxFX1lBUlJfSklUX0JBQ0tSRUZFUkVOQ0VTIDEKLSNlbmRp
ZgorI2lmIE9TKERBUldJTikgfHwgT1MoTElOVVgpCisjaWYgUExBVEZPUk0oR1RLKQorI2lmIGRl
ZmluZWQoX19HTElCQ19fKSAmJiAhZGVmaW5lZChfX1VDTElCQ19fKSAmJiAhQ1BVKE1JUFMpCisj
ZGVmaW5lIEhBVkVfQkFDS1RSQUNFX1NZTUJPTFMgMQogI2VuZGlmCisjZW5kaWYgLyogUExBVEZP
Uk0oR1RLKSAqLworI2RlZmluZSBIQVZFX0RMQUREUiAxCisjZW5kaWYgLyogT1MoREFSV0lOKSB8
fCBPUyhMSU5VWCkgKi8KIAotLyogSWYgZWl0aGVyIHRoZSBKSVQgb3IgdGhlIFJlZ0V4cCBKSVQg
aXMgZW5hYmxlZCwgdGhlbiB0aGUgQXNzZW1ibGVyIG11c3QgYmUKLSAgIGVuYWJsZWQgYXMgd2Vs
bDogKi8KLSNpZiBFTkFCTEUoSklUKSB8fCBFTkFCTEUoWUFSUl9KSVQpIHx8ICFFTkFCTEUoQ19M
T09QKQotI2lmIGRlZmluZWQoRU5BQkxFX0FTU0VNQkxFUikgJiYgIUVOQUJMRV9BU1NFTUJMRVIK
LSNlcnJvciAiQ2Fubm90IGVuYWJsZSB0aGUgSklUIG9yIFJlZ0V4cCBKSVQgd2l0aG91dCBlbmFi
bGluZyB0aGUgQXNzZW1ibGVyIgotI2Vsc2UKLSN1bmRlZiBFTkFCTEVfQVNTRU1CTEVSCi0jZGVm
aW5lIEVOQUJMRV9BU1NFTUJMRVIgMQotI2VuZGlmCi0jZW5kaWYKIAotLyogSWYgdGhlIERpc2Fz
c2VtYmxlciBpcyBlbmFibGVkLCB0aGVuIHRoZSBBc3NlbWJsZXIgbXVzdCBiZSBlbmFibGVkIGFz
IHdlbGw6ICovCi0jaWYgRU5BQkxFKERJU0FTU0VNQkxFUikKLSNpZiBkZWZpbmVkKEVOQUJMRV9B
U1NFTUJMRVIpICYmICFFTkFCTEVfQVNTRU1CTEVSCi0jZXJyb3IgIkNhbm5vdCBlbmFibGUgdGhl
IERpc2Fzc2VtYmxlciB3aXRob3V0IGVuYWJsaW5nIHRoZSBBc3NlbWJsZXIiCi0jZWxzZQotI3Vu
ZGVmIEVOQUJMRV9BU1NFTUJMRVIKLSNkZWZpbmUgRU5BQkxFX0FTU0VNQkxFUiAxCi0jZW5kaWYK
KyNpZiBPUyhXSU5ET1dTKQorI2RlZmluZSBVU0VfU1lTVEVNX01BTExPQyAxCiAjZW5kaWYKIAot
LyogQVNTRVJUX0VOQUJMRUQgc2hvdWxkIGJlIHRydWUgaWYgd2Ugd2FudCB0aGUgY3VycmVudCBj
b21waWxhdGlvbiB1bml0IHRvCi0gICBkbyBkZWJ1ZyBhc3NlcnRpb24gY2hlY2tzIHVuY29uZGl0
aW9uYWxseSAoZS5nLiB0cmVhdCBhIGRlYnVnIEFTU0VSVAotICAgbGlrZSBhIFJFTEVBU0VfQVNT
RVJULgotKi8KLSNpZm5kZWYgQVNTRVJUX0VOQUJMRUQKLSNpZmRlZiBOREVCVUcKLSNkZWZpbmUg
QVNTRVJUX0VOQUJMRUQgMAorI2lmICFkZWZpbmVkKFVTRV9KU1ZBTFVFNjQpICYmICFkZWZpbmVk
KFVTRV9KU1ZBTFVFMzJfNjQpCisjaWYgQ1BVKEFERFJFU1M2NCkgfHwgQ1BVKEFSTTY0KQorI2Rl
ZmluZSBVU0VfSlNWQUxVRTY0IDEKICNlbHNlCi0jZGVmaW5lIEFTU0VSVF9FTkFCTEVEIDEKLSNl
bmRpZgorI2RlZmluZSBVU0VfSlNWQUxVRTMyXzY0IDEKICNlbmRpZgorI2VuZGlmIC8qICFkZWZp
bmVkKFVTRV9KU1ZBTFVFNjQpICYmICFkZWZpbmVkKFVTRV9KU1ZBTFVFMzJfNjQpICovCiAKLSNp
Zm5kZWYgRU5BQkxFX0VYQ0VQVElPTl9TQ09QRV9WRVJJRklDQVRJT04KLSNkZWZpbmUgRU5BQkxF
X0VYQ0VQVElPTl9TQ09QRV9WRVJJRklDQVRJT04gQVNTRVJUX0VOQUJMRUQKKyNpZiBfX2hhc19p
bmNsdWRlKDxTeXN0ZW0vcHRocmVhZF9tYWNoZGVwLmg+KQorI2RlZmluZSBIQVZFX0ZBU1RfVExT
IDEKICNlbmRpZgogCi0jaWYgRU5BQkxFKERGR19KSVQpICYmIEhBVkUoTUFDSElORV9DT05URVhU
KSAmJiAoQ1BVKFg4Nl82NCkgfHwgQ1BVKEFSTTY0KSkKLSNkZWZpbmUgRU5BQkxFX1NJR05BTF9C
QVNFRF9WTV9UUkFQUyAxCisjaWYgQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpCisjZGVmaW5lIEhB
VkVfQ09NUFVURURfR09UTyAxCiAjZW5kaWYKIAotLyogQ1NTIFNlbGVjdG9yIEpJVCBDb21waWxl
ciAqLwotI2lmICFkZWZpbmVkKEVOQUJMRV9DU1NfU0VMRUNUT1JfSklUKQotI2lmIChDUFUoWDg2
XzY0KSB8fCBDUFUoQVJNNjQpIHx8IChDUFUoQVJNX1RIVU1CMikgJiYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkpKSAmJiBFTkFCTEUoSklUKSAmJiAoT1MoREFSV0lOKSB8fCBQTEFURk9STShHVEspIHx8
IFBMQVRGT1JNKFdQRSkpCi0jZGVmaW5lIEVOQUJMRV9DU1NfU0VMRUNUT1JfSklUIDEKLSNlbHNl
Ci0jZGVmaW5lIEVOQUJMRV9DU1NfU0VMRUNUT1JfSklUIDAKLSNlbmRpZgorLyogRklYTUU6IFRo
aXMgbmFtZSBzaG91bGQgYmUgbW9yZSBzcGVjaWZpYyBpZiBpdCBpcyBvbmx5IGZvciB1c2Ugd2l0
aCBDYWxsRnJhbWUqICovCisvKiBVc2UgX19idWlsdGluX2ZyYW1lX2FkZHJlc3MoMSkgdG8gZ2V0
IENhbGxGcmFtZSogKi8KKyNpZiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkgJiYgKENQVShBUk02
NCkgfHwgQ1BVKFg4Nl82NCkpCisjZGVmaW5lIFVTRV9CVUlMVElOX0ZSQU1FX0FERFJFU1MgMQog
I2VuZGlmCiAKICNpZiBDUFUoQVJNNjRFKSAmJiBPUyhEQVJXSU4pCkBAIC03NjUsMTMgKzYwNiwy
NSBAQAogCiAjaWYgUExBVEZPUk0oSU9TKQogI2RlZmluZSBIQVZFX0FQUF9MSU5LUyAxCisjZW5k
aWYKKworI2lmIFBMQVRGT1JNKElPUykKICNkZWZpbmUgVVNFX1BBU1NLSVQgMQorI2VuZGlmCisK
KyNpZiBQTEFURk9STShJT1MpCiAjZGVmaW5lIFVTRV9RVUlDS19MT09LIDEKKyNlbmRpZgorCisj
aWYgUExBVEZPUk0oSU9TKQogI2RlZmluZSBVU0VfU1lTVEVNX1BSRVZJRVcgMQogI2VuZGlmCiAK
ICNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAjZGVm
aW5lIEhBVkVfQ0VMRVNUSUFMIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkg
JiYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogI2RlZmluZSBIQVZFX0NPUkVfQU5JTUFUSU9OX1JF
TkRFUl9TRVJWRVIgMQogI2VuZGlmCiAKQEAgLTc4MCw4NCArNjMzLDI2IEBACiAjZW5kaWYKIAog
I2lmIFBMQVRGT1JNKENPQ09BKQotCiAjZGVmaW5lIFVTRV9BVkZPVU5EQVRJT04gMQotI2RlZmlu
ZSBVU0VfUFJPVEVDVElPTl9TUEFDRV9BVVRIX0NBTExCQUNLIDEKKyNlbmRpZgogCi0jaWYgIVBM
QVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKSAmJiAhUExBVEZPUk0oTUFDQ0FU
QUxZU1QpCi0jZGVmaW5lIEVOQUJMRV9EQVRBX0RFVEVDVElPTiAxCisjaWYgUExBVEZPUk0oQ09D
T0EpCisjZGVmaW5lIFVTRV9QUk9URUNUSU9OX1NQQUNFX0FVVEhfQ0FMTEJBQ0sgMQogI2VuZGlm
CiAKIC8qIEZJWE1FOiBFbmFibGUgSEFWRV9QQVJFTlRBTF9DT05UUk9MUyBmb3Igd2F0Y2hPUyBT
aW11bGF0b3Igb25jZSByZGFyOi8vcHJvYmxlbS81NDYwODM4NiBpcyByZXNvbHZlZCAqLwotI2lm
ICFQTEFURk9STShBUFBMRVRWKSAmJiAoIVBMQVRGT1JNKFdBVENIT1MpIHx8ICFQTEFURk9STShJ
T1NfRkFNSUxZX1NJTVVMQVRPUikpCisjaWYgUExBVEZPUk0oQ09DT0EpICYmICghUExBVEZPUk0o
QVBQTEVUVikgJiYgKCFQTEFURk9STShXQVRDSE9TKSB8fCAhUExBVEZPUk0oSU9TX0ZBTUlMWV9T
SU1VTEFUT1IpKSkKICNkZWZpbmUgSEFWRV9QQVJFTlRBTF9DT05UUk9MUyAxCiAjZW5kaWYKIAot
I2lmICFQTEFURk9STShBUFBMRVRWKQorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhUExBVEZPUk0o
QVBQTEVUVikKICNkZWZpbmUgSEFWRV9BVktJVCAxCiAjZW5kaWYKIAotI2lmIEVOQUJMRShXRUJH
TCkKLS8qIFVTRV9BTkdMRT0xIHVzZXMgQU5HTEUgZm9yIHRoZSBXZWJHTCBiYWNrZW5kLgotICAg
SXQgcmVwbGFjZXMgVVNFX09QRU5HTCwgVVNFX09QRU5HTF9FUyBhbmQgVVNFX0VHTC4gKi8KLSNp
ZiBQTEFURk9STShNQUMpIHx8IChQTEFURk9STShNQUNDQVRBTFlTVCkgJiYgX19oYXNfaW5jbHVk
ZSg8T3BlbkdML09wZW5HTC5oPikpCi0jZGVmaW5lIFVTRV9PUEVOR0wgMQotI2RlZmluZSBVU0Vf
T1BFTkdMX0VTIDAKLSNkZWZpbmUgVVNFX0FOR0xFIDAKLSNlbHNlCi0jZGVmaW5lIFVTRV9PUEVO
R0wgMAotI2RlZmluZSBVU0VfT1BFTkdMX0VTIDEKLSNkZWZpbmUgVVNFX0FOR0xFIDAKLSNlbmRp
ZgogI2lmIFBMQVRGT1JNKENPQ09BKQotI2lmbmRlZiBHTF9TSUxFTkNFX0RFUFJFQ0FUSU9OCi0j
ZGVmaW5lIEdMX1NJTEVOQ0VfREVQUkVDQVRJT04gMQotI2VuZGlmCi0jaWYgVVNFKE9QRU5HTCkg
JiYgIWRlZmluZWQoSEFWRV9PUEVOR0xfNCkKLSNkZWZpbmUgSEFWRV9PUEVOR0xfNCAxCi0jZW5k
aWYKLSNpZiBVU0UoT1BFTkdMX0VTKSAmJiAhZGVmaW5lZChIQVZFX09QRU5HTF9FU18zKQotI2Rl
ZmluZSBIQVZFX09QRU5HTF9FU18zIDEKLSNlbmRpZgotI2VuZGlmCi0jaWYgVVNFX0FOR0xFICYm
IChVU0VfT1BFTkdMIHx8IFVTRV9PUEVOR0xfRVMpCi0jZXJyb3IgVVNFX0FOR0xFIGlzIGluY29t
cGF0aWJsZSB3aXRoIFVTRV9PUEVOR0wgYW5kIFVTRV9PUEVOR0xfRVMKLSNlbmRpZgotI2VuZGlm
Ci0KICNkZWZpbmUgVVNFX01FVEFMIDEKLQotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQotI2Rl
ZmluZSBVU0VfQUNDRVNTSUJJTElUWV9DT05URVhUX01FTlVTIDEKLSNlbmRpZgotCi0jZW5kaWYK
LQotI2lmIEVOQUJMRShXRUJHTCkKLSNpZiAhZGVmaW5lZChVU0VfQU5HTEUpCi0jZGVmaW5lIFVT
RV9BTkdMRSAwCi0jZW5kaWYKLQotI2lmIChVU0VfQU5HTEUgJiYgKFVTRV9PUEVOR0wgfHwgVVNF
X09QRU5HTF9FUyB8fCAoZGVmaW5lZChVU0VfRUdMKSAmJiBVU0VfRUdMKSkpICYmICFVU0UoVEVY
VFVSRV9NQVBQRVIpCi0jZXJyb3IgVVNFX0FOR0xFIGlzIGluY29tcGF0aWJsZSB3aXRoIFVTRV9P
UEVOR0wsIFVTRV9PUEVOR0xfRVMgYW5kIFVTRV9FR0wKLSNlbmRpZgotI2VuZGlmCi0KLSNpZiBV
U0UoVEVYVFVSRV9NQVBQRVIpICYmIEVOQUJMRShHUkFQSElDU19DT05URVhUX0dMKSAmJiAhZGVm
aW5lZChVU0VfVEVYVFVSRV9NQVBQRVJfR0wpCi0jZGVmaW5lIFVTRV9URVhUVVJFX01BUFBFUl9H
TCAxCiAjZW5kaWYKIAotI2lmIENQVShBUk1fVEhVTUIyKSB8fCBDUFUoQVJNNjQpCi0jZGVmaW5l
IEVOQUJMRV9CUkFOQ0hfQ09NUEFDVElPTiAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJM
RV9USFJFQURJTkdfTElCRElTUEFUQ0gpICYmIEhBVkUoRElTUEFUQ0hfSCkKLSNkZWZpbmUgRU5B
QkxFX1RIUkVBRElOR19MSUJESVNQQVRDSCAxCi0jZWxpZiAhZGVmaW5lZChFTkFCTEVfVEhSRUFE
SU5HX09QRU5NUCkgJiYgZGVmaW5lZChfT1BFTk1QKQotI2RlZmluZSBFTkFCTEVfVEhSRUFESU5H
X09QRU5NUCAxCi0jZWxpZiAhZGVmaW5lZChUSFJFQURJTkdfR0VORVJJQykKLSNkZWZpbmUgRU5B
QkxFX1RIUkVBRElOR19HRU5FUklDIDEKLSNlbmRpZgogCiAjaWYgVVNFKEdMSUIpCiAjaW5jbHVk
ZSA8d3RmL2dsaWIvR1R5cGVkZWZzLmg+CkBAIC04NzUsMzUgKzY3MCwyMyBAQAogI2RlZmluZSBV
U0VfSU1MQU5HX0ZPTlRfTElOSzIgMQogI2VuZGlmCiAKLSNpZiAhZGVmaW5lZChFTkFCTEVfR0Nf
VkFMSURBVElPTikgJiYgIWRlZmluZWQoTkRFQlVHKQotI2RlZmluZSBFTkFCTEVfR0NfVkFMSURB
VElPTiAxCisjaWYgUExBVEZPUk0oQ09DT0EpCisjZGVmaW5lIFVTRV9DT1JFTUVESUEgMQogI2Vu
ZGlmCiAKLSNpZiAhZGVmaW5lZChFTkFCTEVfQklORElOR19JTlRFR1JJVFkpICYmICFPUyhXSU5E
T1dTKQotI2RlZmluZSBFTkFCTEVfQklORElOR19JTlRFR1JJVFkgMQorI2lmIFBMQVRGT1JNKENP
Q09BKQorI2RlZmluZSBVU0VfVklERU9UT09MQk9YIDEKICNlbmRpZgogCi0jaWYgIWRlZmluZWQo
RU5BQkxFX1RSRUVfREVCVUdHSU5HKQotI2lmICFkZWZpbmVkKE5ERUJVRykKLSNkZWZpbmUgRU5B
QkxFX1RSRUVfREVCVUdHSU5HIDEKLSNlbHNlCi0jZGVmaW5lIEVOQUJMRV9UUkVFX0RFQlVHR0lO
RyAwCi0jZW5kaWYKKyNpZiBQTEFURk9STShDT0NPQSkKKyNkZWZpbmUgSEFWRV9BVkZPVU5EQVRJ
T05fVklERU9fT1VUUFVUIDEKICNlbmRpZgogCi0vKgotICogRW5hYmxlIHRoaXMgdG8gcHV0IGVh
Y2ggSXNvSGVhcCBhbmQgb3RoZXIgYWxsb2NhdGlvbiBjYXRlZ29yaWVzIGludG8gdGhlaXIgb3du
IG1hbGxvYyBoZWFwcywgc28gdGhhdCB0b29scyBsaWtlIHZtbWFwIGNhbiBzaG93IGhvdyBiaWcg
ZWFjaCBoZWFwIGlzLgotICogVHVybiBCRU5BQkxFX01BTExPQ19IRUFQX0JSRUFLRE9XTiBvbiBp
biBibWFsbG9jIHRvZ2V0aGVyIHdoZW4gdXNpbmcgdGhpcy4KLSAqLwotI2lmICFkZWZpbmVkKEVO
QUJMRV9NQUxMT0NfSEVBUF9CUkVBS0RPV04pCi0jZGVmaW5lIEVOQUJMRV9NQUxMT0NfSEVBUF9C
UkVBS0RPV04gMAorI2lmIFBMQVRGT1JNKENPQ09BKQorI2RlZmluZSBIQVZFX0NPUkVfVklERU8g
MQogI2VuZGlmCiAKICNpZiBQTEFURk9STShDT0NPQSkKLSNkZWZpbmUgVVNFX0NPUkVNRURJQSAx
Ci0jZGVmaW5lIFVTRV9WSURFT1RPT0xCT1ggMQotI2RlZmluZSBIQVZFX0FWRk9VTkRBVElPTl9W
SURFT19PVVRQVVQgMQotI2RlZmluZSBIQVZFX0NPUkVfVklERU8gMQogI2RlZmluZSBIQVZFX01F
RElBX1BMQVlFUiAxCiAjZW5kaWYKIApAQCAtOTEzLDYgKzY5Niw5IEBACiAKICNpZiBQTEFURk9S
TShDT0NPQSkKICNkZWZpbmUgSEFWRV9BVkZPVU5EQVRJT05fTEVHSUJMRV9PVVRQVVRfU1VQUE9S
VCAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKENPQ09BKQogI2RlZmluZSBIQVZFX01FRElBX0FD
Q0VTU0lCSUxJVFlfRlJBTUVXT1JLIDEKICNlbmRpZgogCkBAIC05MjYsNiArNzEyLDkgQEAKIAog
I2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAjZGVmaW5lIEhBVkVf
QVBQTEVfR1JBUEhJQ1NfQ09OVFJPTCAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykgfHwg
UExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAjZGVmaW5lIEhBVkVfTlNDVVJTT1IgMQogI2VuZGlmCiAK
QEAgLTkzNywyMyArNzI2LDIwIEBACiAjZGVmaW5lIFVTRV9aTElCIDEKICNlbmRpZgogCi0jaWZu
ZGVmIEhBVkVfUU9TX0NMQVNTRVMKLSNpZiBQTEFURk9STShDT0NPQSkKKyNpZiAhZGVmaW5lZChI
QVZFX1FPU19DTEFTU0VTKSAmJiBQTEFURk9STShDT0NPQSkKICNkZWZpbmUgSEFWRV9RT1NfQ0xB
U1NFUyAxCiAjZW5kaWYKLSNlbmRpZgogCi0jaWZuZGVmIEhBVkVfVk9VQ0hFUlMKLSNpZiBQTEFU
Rk9STShDT0NPQSkKKyNpZiAhZGVmaW5lZChIQVZFX1ZPVUNIRVJTKSAmJiBQTEFURk9STShDT0NP
QSkKICNkZWZpbmUgSEFWRV9WT1VDSEVSUyAxCiAjZW5kaWYKLSNlbmRpZgogCiAjZGVmaW5lIFVT
RV9HUkFNTUFSX0NIRUNLSU5HIDEKIAogI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBQTEFURk9STShH
VEspCiAjZGVmaW5lIFVTRV9VTklGSUVEX1RFWFRfQ0hFQ0tJTkcgMQogI2VuZGlmCisKICNpZiBQ
TEFURk9STShNQUMpCiAjZGVmaW5lIFVTRV9BVVRPTUFUSUNfVEVYVF9SRVBMQUNFTUVOVCAxCiAj
ZW5kaWYKQEAgLTk5MiwxNSArNzc4LDYgQEAKICNkZWZpbmUgSEFWRV9JT1NVUkZBQ0VfQUNDRUxF
UkFUT1IgMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkKLSNkZWZpbmUgRU5BQkxFX1JF
U09VUkNFX1VTQUdFIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShX
UEUpCi0jdW5kZWYgRU5BQkxFX09QRU5UWVBFX1ZFUlRJQ0FMCi0jZGVmaW5lIEVOQUJMRV9PUEVO
VFlQRV9WRVJUSUNBTCAxCi0jZW5kaWYKLQogI2lmIENPTVBJTEVSKE1TVkMpCiAjdW5kZWYgX19T
VERDX0ZPUk1BVF9NQUNST1MKICNkZWZpbmUgX19TVERDX0ZPUk1BVF9NQUNST1MKQEAgLTEwMTIs
MTMgKzc4OSw2IEBACiAjZGVmaW5lIEhBVkVfTlNfQUNUSVZJVFkgMQogI2VuZGlmCiAKLS8qIERp
c2FibGUgU2hhcmVkQXJyYXlCdWZmZXJzIHVudGlsIFNwZWN0cmUgc2VjdXJpdHkgY29uY2VybnMg
YXJlIG1pdGlnYXRlZC4gKi8KLSNkZWZpbmUgRU5BQkxFX1NIQVJFRF9BUlJBWV9CVUZGRVIgMAot
Ci0jaWYgKE9TKERBUldJTikgJiYgVVNFKENHKSkgfHwgKFVTRShGUkVFVFlQRSkgJiYgIVBMQVRG
T1JNKEdUSykpIHx8IChQTEFURk9STShXSU4pICYmIChVU0UoQ0cpIHx8IFVTRShDQUlSTykpKQot
I3VuZGVmIEVOQUJMRV9PUEVOVFlQRV9NQVRICi0jZGVmaW5lIEVOQUJMRV9PUEVOVFlQRV9NQVRI
IDEKLSNlbmRpZgogCiAvKiBTZXQgVEFSR0VUX09TX0lQSE9ORSB0byAwIGJ5IGRlZmF1bHQgdG8g
YWxsb3cgdXNpbmcgaXQgYXMgYSBndWFyZCAKICAqIGluIGNyb3NzLXBsYXRmb3JtIHRoZSBzYW1l
IHdheSBhcyBpdCBpcyB1c2VkIGluIE9TKERBUldJTikgY29kZS4gKi8gCkBAIC0xMDMyLDkgKzgw
MiwxMCBAQAogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjZGVmaW5lIFVTRV9PU19MT0cgMQotI2lm
IFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0jZGVmaW5lIFVTRV9PU19TVEFURSAxCiAjZW5kaWYK
KworI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2RlZmlu
ZSBVU0VfT1NfU1RBVEUgMQogI2VuZGlmCiAKICNpZiBQTEFURk9STShDT0NPQSkKQEAgLTEwNzYs
MTcgKzg0NywxMyBAQAogCiAjaWYgUExBVEZPUk0oTUFDKQogI2RlZmluZSBIQVZFX1RPVUNIX0JB
UiAxCi0jZGVmaW5lIFVTRV9ESUNUQVRJT05fQUxURVJOQVRJVkVTIDEKLQotI2lmIGRlZmluZWQo
X19MUDY0X18pCi0jZGVmaW5lIEVOQUJMRV9XRUJfUExBWUJBQ0tfQ09OVFJPTFNfTUFOQUdFUiAx
CiAjZW5kaWYKLSNlbmRpZiAvKiBQTEFURk9STShNQUMpICovCiAKLSNpZiBQTEFURk9STShDT0NP
QSkgJiYgRU5BQkxFKFdFQl9SVEMpCi0jZGVmaW5lIFVTRV9MSUJXRUJSVEMgMQorI2lmIFBMQVRG
T1JNKE1BQykKKyNkZWZpbmUgVVNFX0RJQ1RBVElPTl9BTFRFUk5BVElWRVMgMQogI2VuZGlmCiAK
KwogI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUNDQVRB
TFlTVCkgfHwgVVNFKEdDUllQVCkKICNkZWZpbmUgSEFWRV9SU0FfUFNTIDEKICNlbmRpZgpAQCAt
MTE4NCwxMiArOTUxLDYgQEAKICNkZWZpbmUgSEFWRV9MSU5LX1BSRVZJRVcgMQogI2VuZGlmCiAK
LSNpZiBQTEFURk9STShDT0NPQSkKLS8qIEZJWE1FOiBUaGlzIGlzIGEgVVNFIHN0eWxlIG1hY3Jv
LCBhcyBpdCB0cmlnZ2VycyB0aGUgdXNlIG9mIENGVVJMQ29ubmVjdGlvbiBmcmFtZXdvcmsgc3R1
YnMuICovCi0vKiBGSVhNRTogSXMgdGhpcyBzdGlsbCBuZWNlc3Nhcnk/IENGVVJMQ29ubmVjdGlv
biBpc24ndCB1c2VkIG9uIENvY29hIHBsYXRmb3JtcyBhbnkgbW9yZS4gKi8KLSNkZWZpbmUgRU5B
QkxFX1NFQ19JVEVNX1NISU0gMQotI2VuZGlmCi0KICNpZiAoUExBVEZPUk0oSU9TX0ZBTUlMWSkg
fHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDE0MDApKQogI2RlZmluZSBIQVZFX0FDQ0VTU0lCSUxJVFlfU1VQUE9SVCAxCiAjZW5kaWYKQEAg
LTExOTgsMTQgKzk1OSw2IEBACiAjZGVmaW5lIEhBVkVfQUNDRVNTSUJJTElUWV9CVU5ETEVTX1BB
VEggMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShNQUMpCi0jZGVmaW5lIEVOQUJMRV9GVUxMX0tF
WUJPQVJEX0FDQ0VTUyAxCi0jZW5kaWYKLQotI2lmICgoUExBVEZPUk0oQ09DT0EpIHx8IFBMQVRG
T1JNKFBMQVlTVEFUSU9OKSB8fCBQTEFURk9STShXUEUpKSAmJiBFTkFCTEUoQVNZTkNfU0NST0xM
SU5HKSkgfHwgUExBVEZPUk0oR1RLKQotI2RlZmluZSBFTkFCTEVfS0lORVRJQ19TQ1JPTExJTkcg
MQotI2VuZGlmCi0KICNpZiBQTEFURk9STShJT1NfRkFNSUxZKSB8fCAoUExBVEZPUk0oTUFDKSAm
JiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCkKICNkZWZpbmUgSEFW
RV9BVVRIT1JJWkFUSU9OX1NUQVRVU19GT1JfTUVESUFfVFlQRSAxCiAjZW5kaWYKQEAgLTEyNDIs
MTIgKzk5NSw2IEBACiAjZGVmaW5lIEhBVkVfTUROU19GQVNUX1JFR0lTVFJBVElPTiAxCiAjZW5k
aWYKIAotI2lmIFBMQVRGT1JNKE1BQykKLSNkZWZpbmUgRU5BQkxFX01PTk9TUEFDRV9GT05UX0VY
Q0VQVElPTiAoX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTUwMCkKLSNlbGlm
IFBMQVRGT1JNKElPU19GQU1JTFkpCi0jZGVmaW5lIEVOQUJMRV9NT05PU1BBQ0VfRk9OVF9FWENF
UFRJT04gKF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTMwMDAwKQotI2VuZGlm
Ci0KICNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDEwMTQwMCkgfHwgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICNkZWZpbmUgSEFWRV9ESVNBTExP
V0FCTEVfVVNFUl9JTlNUQUxMRURfRk9OVFMgMQogI2VuZGlmCkBAIC0xMjY1LDggKzEwMTIsMTAg
QEAKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCi0jZGVmaW5lIEVOQUJMRV9Q
TEFURk9STV9EUklWRU5fVEVYVF9DSEVDS0lORyAxCiAjZGVmaW5lIEhBVkVfSE9WRVJfR0VTVFVS
RV9SRUNPR05JWkVSIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAjZGVm
aW5lIEhBVkVfVUlfUEFSQUxMQVhfVFJBTlNJVElPTl9HRVNUVVJFX1JFQ09HTklaRVIgMQogI2Vu
ZGlmCiAKQEAgLTEzNjksMyArMTExOCwxMzcgQEAKICNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01B
Q19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCkgfHwgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKICNkZWZpbmUgSEFWRV9PU19TSUdOUE9TVCAxCiAjZW5kaWYKKworCisKKyNpZiBVU0Uo
QVBQTEVfSU5URVJOQUxfU0RLKSAmJiBfX2hhc19pbmNsdWRlKDxXZWJLaXRBZGRpdGlvbnMvQWRk
aXRpb25hbFBsYXRmb3JtLmg+KQorI2luY2x1ZGUgPFdlYktpdEFkZGl0aW9ucy9BZGRpdGlvbmFs
UGxhdGZvcm0uaD4KKyNlbmRpZgorCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykgJiYgX19o
YXNfaW5jbHVkZSg8V2ViS2l0QWRkaXRpb25zL0FkZGl0aW9uYWxGZWF0dXJlRGVmaW5lcy5oPikK
KyNpbmNsdWRlIDxXZWJLaXRBZGRpdGlvbnMvQWRkaXRpb25hbEZlYXR1cmVEZWZpbmVzLmg+Cisj
ZW5kaWYKKworLyogX19QTEFURk9STV9JTkRJUkVDVF9fIGVuc3VyZXMgdGhhdCB1c2VycyAjaW5j
bHVkZSA8d3RmL1BsYXRmb3JtLmg+IHJhdGhlciB0aGFuIHd0Zi9GZWF0dXJlRGVmaW5lcy5oIGRp
cmVjdGx5LiAqLworI2RlZmluZSBfX1BMQVRGT1JNX0lORElSRUNUX18KKworLyogSW5jbHVkZSBm
ZWF0dXJlIG1hY3JvcyAqLworI2luY2x1ZGUgPHd0Zi9GZWF0dXJlRGVmaW5lcy5oPgorCisjdW5k
ZWYgX19QTEFURk9STV9JTkRJUkVDVF9fCisKKworCisvKiBGSVhNRTogVGhlIGZvbGxvd2luZyBh
cmUgY3VycmVubHkgcG9zaXRpb25lZCBhdCB0aGUgYm90dG9tIG9mIHRoaXMgZmlsZSBhcyB0aGV5
IGFyZSBjdXJyZW50bHkgZGVwZW5kZW50IG9uIEVOQUJMRSBtYWNyb3MuICovCisKKy8qIEZJWE1F
OiBSZW1vdmUgZGVwZW5kZW5jZSBvbiBFTkFCTEUoV0VCX1JUQykuICovCisjaWYgUExBVEZPUk0o
Q09DT0EpICYmIEVOQUJMRShXRUJfUlRDKQorI2RlZmluZSBVU0VfTElCV0VCUlRDIDEKKyNlbmRp
ZgorCisvKiBGSVhNRTogVGhpcyBpcyB1c2VkIHRvICJ0dXJuIG9uIGEgc3BlY2lmaWMgZmVhdHVy
ZSBvZiBXZWJLaXQiLCBzbyBzaG91bGQgYmUgY29udmVydGVkIHRvIGFuIEVOQUJMRSBtYWNyby4g
Ki8KKy8qIFRoaXMgZmVhdHVyZSB3b3JrcyBieSBlbWJlZGRpbmcgdGhlIE9wY29kZUlEIGluIHRo
ZSAzMiBiaXQganVzdCBiZWZvcmUgdGhlIGdlbmVyYXRlZCBMTGludCBjb2RlCisgICB0aGF0IGV4
ZWN1dGVzIGVhY2ggb3Bjb2RlLiBJdCBjYW5ub3QgYmUgc3VwcG9ydGVkIGJ5IHRoZSBDTG9vcCBz
aW5jZSB0aGVyZSdzIG5vIHdheSB0byBlbWJlZCB0aGUKKyAgIE9wY29kZUlEIHdvcmQgaW4gdGhl
IENMb29wJ3Mgc3dpdGNoIHN0YXRlbWVudCBjYXNlcy4gSXQgaXMgYWxzbyBjdXJyZW50bHkgbm90
IGltcGxlbWVudGVkIGZvciBNU1ZDLgorKi8KKyNpZiAhZGVmaW5lZChVU0VfTExJTlRfRU1CRURE
RURfT1BDT0RFX0lEKSAmJiAhRU5BQkxFKENfTE9PUCkgJiYgIUNPTVBJTEVSKE1TVkMpICYmIFwK
KyAgICAoQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkgfHwgQ1BVKEFSTTY0KSB8fCAoQ1BVKEFSTV9U
SFVNQjIpICYmIE9TKERBUldJTikpKQorI2RlZmluZSBVU0VfTExJTlRfRU1CRURERURfT1BDT0RF
X0lEIDEKKyNlbmRpZgorCisKKyNpZiBQTEFURk9STShDT0NPQSkKKyNpZiBFTkFCTEUoV0VCR0wp
CisKKy8qIFVTRV9BTkdMRT0xIHVzZXMgQU5HTEUgZm9yIHRoZSBXZWJHTCBiYWNrZW5kLgorICAg
SXQgcmVwbGFjZXMgVVNFX09QRU5HTCwgVVNFX09QRU5HTF9FUyBhbmQgVVNFX0VHTC4gKi8KKyNp
ZiBQTEFURk9STShNQUMpIHx8IChQTEFURk9STShNQUNDQVRBTFlTVCkgJiYgX19oYXNfaW5jbHVk
ZSg8T3BlbkdML09wZW5HTC5oPikpCisjZGVmaW5lIFVTRV9PUEVOR0wgMQorI2RlZmluZSBVU0Vf
T1BFTkdMX0VTIDAKKyNkZWZpbmUgVVNFX0FOR0xFIDAKKyNlbHNlCisjZGVmaW5lIFVTRV9PUEVO
R0wgMAorI2RlZmluZSBVU0VfT1BFTkdMX0VTIDEKKyNkZWZpbmUgVVNFX0FOR0xFIDAKKyNlbmRp
ZgorCisjaWZuZGVmIEdMX1NJTEVOQ0VfREVQUkVDQVRJT04KKyNkZWZpbmUgR0xfU0lMRU5DRV9E
RVBSRUNBVElPTiAxCisjZW5kaWYKKworI2lmIFVTRShPUEVOR0wpICYmICFkZWZpbmVkKEhBVkVf
T1BFTkdMXzQpCisjZGVmaW5lIEhBVkVfT1BFTkdMXzQgMQorI2VuZGlmCisKKyNpZiBVU0UoT1BF
TkdMX0VTKSAmJiAhZGVmaW5lZChIQVZFX09QRU5HTF9FU18zKQorI2RlZmluZSBIQVZFX09QRU5H
TF9FU18zIDEKKyNlbmRpZgorCisjaWYgVVNFX0FOR0xFICYmIChVU0VfT1BFTkdMIHx8IFVTRV9P
UEVOR0xfRVMpCisjZXJyb3IgVVNFX0FOR0xFIGlzIGluY29tcGF0aWJsZSB3aXRoIFVTRV9PUEVO
R0wgYW5kIFVTRV9PUEVOR0xfRVMKKyNlbmRpZgorCisjZW5kaWYgLyogRU5BQkxFKFdFQkdMKSAq
LworI2VuZGlmIC8qIFBMQVRGT1JNKENPQ09BKSAqLworCisjaWYgRU5BQkxFKFdFQkdMKQorI2lm
ICFkZWZpbmVkKFVTRV9BTkdMRSkKKyNkZWZpbmUgVVNFX0FOR0xFIDAKKyNlbmRpZgorCisjaWYg
KFVTRV9BTkdMRSAmJiAoVVNFX09QRU5HTCB8fCBVU0VfT1BFTkdMX0VTIHx8IChkZWZpbmVkKFVT
RV9FR0wpICYmIFVTRV9FR0wpKSkgJiYgIVVTRShURVhUVVJFX01BUFBFUikKKyNlcnJvciBVU0Vf
QU5HTEUgaXMgaW5jb21wYXRpYmxlIHdpdGggVVNFX09QRU5HTCwgVVNFX09QRU5HTF9FUyBhbmQg
VVNFX0VHTAorI2VuZGlmCisjZW5kaWYKKworI2lmIFVTRShURVhUVVJFX01BUFBFUikgJiYgRU5B
QkxFKEdSQVBISUNTX0NPTlRFWFRfR0wpICYmICFkZWZpbmVkKFVTRV9URVhUVVJFX01BUFBFUl9H
TCkKKyNkZWZpbmUgVVNFX1RFWFRVUkVfTUFQUEVSX0dMIDEKKyNlbmRpZgorCisvKiBGSVhNRTog
VGhpcyBpcyB1c2VkIHRvICJ0dXJuIG9uIGEgc3BlY2lmaWMgZmVhdHVyZSBvZiBXZWJLaXQiLCBz
byBzaG91bGQgYmUgY29udmVydGVkIHRvIGFuIEVOQUJMRSBtYWNyby4gKi8KKyNpZiBQTEFURk9S
TShDT0NPQSkgJiYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZGVmaW5lIFVTRV9BQ0NFU1NJQklM
SVRZX0NPTlRFWFRfTUVOVVMgMQorI2VuZGlmCisKKworLyogRklYTUU6IFRoZXNlIGNhbGxpbmcg
Y29udmVudGlvbiBtYWNyb3Mgc2hvdWxkIG1vdmUgdG8gdGhlaXIgb3duIGZpbGUuIFRoZXkgYXJl
IGF0IHRoZSBib3R0b20gY3VycmVudGx5IGJlY2F1c2UgdGhleSBkZXBlbmQgb24gRmVhdHVyZURl
ZmluZXMuaCAqLworCisjaWYgQ1BVKFg4NikgJiYgQ09NUElMRVIoTVNWQykKKyNkZWZpbmUgSlND
X0hPU1RfQ0FMTCBfX2Zhc3RjYWxsCisjZWxpZiBDUFUoWDg2KSAmJiBDT01QSUxFUihHQ0NfQ09N
UEFUSUJMRSkKKyNkZWZpbmUgSlNDX0hPU1RfQ0FMTCBfX2F0dHJpYnV0ZV9fICgoZmFzdGNhbGwp
KQorI2Vsc2UKKyNkZWZpbmUgSlNDX0hPU1RfQ0FMTAorI2VuZGlmCisKKyNpZiBDUFUoWDg2KSAm
JiBPUyhXSU5ET1dTKQorI2RlZmluZSBDQUxMSU5HX0NPTlZFTlRJT05fSVNfU1REQ0FMTCAxCisj
aWZuZGVmIENERUNMCisjaWYgQ09NUElMRVIoTVNWQykKKyNkZWZpbmUgQ0RFQ0wgX19jZGVjbAor
I2Vsc2UKKyNkZWZpbmUgQ0RFQ0wgX19hdHRyaWJ1dGVfXyAoKF9fY2RlY2wpKQorI2VuZGlmCisj
ZW5kaWYKKyNlbHNlCisjZGVmaW5lIENBTExJTkdfQ09OVkVOVElPTl9JU19TVERDQUxMIDAKKyNl
bmRpZgorCisjaWYgQ1BVKFg4NikKKyNkZWZpbmUgV1RGX0NPTVBJTEVSX1NVUFBPUlRTX0ZBU1RD
QUxMX0NBTExJTkdfQ09OVkVOVElPTiAxCisjaWZuZGVmIEZBU1RDQUxMCisjaWYgQ09NUElMRVIo
TVNWQykKKyNkZWZpbmUgRkFTVENBTEwgX19mYXN0Y2FsbAorI2Vsc2UKKyNkZWZpbmUgRkFTVENB
TEwgIF9fYXR0cmlidXRlX18gKChmYXN0Y2FsbCkpCisjZW5kaWYKKyNlbmRpZgorI2Vsc2UKKyNk
ZWZpbmUgV1RGX0NPTVBJTEVSX1NVUFBPUlRTX0ZBU1RDQUxMX0NBTExJTkdfQ09OVkVOVElPTiAw
CisjZW5kaWYKKworI2lmIEVOQUJMRShKSVQpICYmIENBTExJTkdfQ09OVkVOVElPTl9JU19TVERD
QUxMCisjZGVmaW5lIEpJVF9PUEVSQVRJT04gQ0RFQ0wKKyNlbHNlCisjZGVmaW5lIEpJVF9PUEVS
QVRJT04KKyNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387483</attachid>
            <date>2020-01-12 11:38:29 -0800</date>
            <delta_ts>2020-01-13 13:49:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206139-20200112113828.patch</filename>
            <type>text/plain</type>
            <size>46810</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyNTQ0MTQpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBACisyMDIwLTAxLTExICBTYW0gV2VpbmlnICA8d2Vpbmln
QGFwcGxlLmNvbT4KKworICAgICAgICBQbGF0Zm9ybS5oIGlzIG91dCBvZiBjb250cm9sIFBhcnQg
MzogTW92ZSBhbGwgRU5BQkxFXyogbWFjcm9zIGRlZmluaXRpb25zIGluIEZlYXR1cmVEZWZpbmVz
LmgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjEz
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIC0gTW92
ZXMgYWxsIHJlbWFpbmluZyBFTkFCTEVfKiBkZWZpbmVzIG91dCBvZiBQbGF0Zm9ybS5oIGFuZCBp
bnRvIEZlYXR1cmVEZWZpbmVzLmgKKyAgICAgICAgLSBNb3ZlcyBtb3N0LCBVU0VfVURJUzg2IGFu
ZCBVU0VfQVJNNjRfRElTQVNTRU1CTEVSIGFyZSB0YW5nbGVkIHVwIGluIHRoZSBKSVQgZGVmaW5p
dGlvbnMKKyAgICAgICAgICBzdGlsbCwgSEFWRV8qIGFuZCBVU0VfKiBkZWZpbmVzIG91dCBvZiBG
ZWF0dXJlRGVmaW5lcy5oIGFuZCBpbnRvIFBsYXRmb3JtLmgKKyAgICAgICAgLSBXaGVyZSBzdHJh
aWd0aGZvcndhcmQsIGNvbnZlcnQgbWFjcm8gZGVmaW5pdGlvbnMgaW50byBhIGNhbm9uaWNhbCAz
IGxpbmUgZW50cnkgb2YgdGhlIAorICAgICAgICAgIGZvcm06CisgICAgICAgICAgCisgICAgICAg
ICAgICAgICNpZiAhZGVmaW5lZChNQUNST19OQU1FKSAmJiAoPENPTkRJVElPTlMgSEVSRT4pCisg
ICAgICAgICAgICAgICNkZWZpbmUgTUFDUk9fTkFNRSAxCisgICAgICAgICAgICAgICNlbmRpZgor
CisgICAgICAgICAgVGhlcmUgaXMgcmFyZWx5IChpZiBldmVyKSBhIHJlc29uZSB0byB1bmRlZmlu
ZSBvciBkZWZpbmUgb25lIG9mIHRoZXNlIHBsYXRmb3JtIHJlbGF0ZWQKKyAgICAgICAgICBtYWNy
b3MgdG8gMCBhcyB0aGUgdXNhZ2UgbWFjcm9zIChlLmcuIEhBVkUoLi4uKSwgRU5BQkxFKC4uLiks
IGV0Yy4pIGhhbmRsZSB1bmRlZmluZWQgYXMgMC4KKyAgICAgICAgLSBBZGRlZCBhIGd1YXJkIHNv
IHRoYXQgRmVhdHVyZURlZmluZXMuaCBjYW4ndCBiZSBpbmNsdWRlZCBkaXJlY3RseSwgYW5kIG11
c3QgYmUgaW5jbHVkZWQgdmlhCisgICAgICAgICAgUGxhdGZvcm0uaC4gVGhpcyBpcyBuZWNlc3Nh
cnkgYXMgaXQgZGVwZW5kcyBoZWF2aWx5IG9uIG1hY3JvcyBkZWZpbmVkIGluIFBsYXRmb3JtLmgK
KyAgICAgICAgLSBBZGRlZCBudW1lcm91cyBGSVhNRXMgZGV0YWlsaW5nIGZvbGxvdyB1cCBjbGVh
bmluZy4KKworICAgICAgICAqIHd0Zi9GZWF0dXJlRGVmaW5lcy5oOgorICAgICAgICAqIHd0Zi9Q
bGF0Zm9ybS5oOgorCiAyMDIwLTAxLTExICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBh
cHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMTg1ODE2KTogSW4gdGhlIEhvbmcgS29u
ZyBsb2NhbGUsIG5hdmlnYXRvci5sYW5ndWFnZSByZXBvcnRzIGl0J3MgaW4gdGhlIFRhaXdhbiBs
b2NhbGUKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaAkocmV2aXNpb24gMjU0NDE0KQorKysg
U291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsNiAr
MjgsMTAgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpZm5kZWYgX19QTEFURk9STV9JTkRJUkVDVF9f
CisjZXJyb3IgIlBsZWFzZSAjaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+IGluc3RlYWQgb2YgdGhp
cyBmaWxlIGRpcmVjdGx5LiIKKyNlbmRpZgorCiAvKiBVc2UgdGhpcyBmaWxlIHRvIGxpc3QgX2Fs
bF8gRU5BQkxFKCkgbWFjcm9zLiBEZWZpbmUgdGhlIG1hY3JvcyB0byBiZSBvbmUgb2YgdGhlIGZv
bGxvd2luZyB2YWx1ZXM6CiAgKiAgLSAiMCIgZGlzYWJsZXMgdGhlIGZlYXR1cmUgYnkgZGVmYXVs
dC4gVGhlIGZlYXR1cmUgY2FuIHN0aWxsIGJlIGVuYWJsZWQgZm9yIGEgc3BlY2lmaWMgcG9ydCBv
ciBlbnZpcm9ubWVudC4KICAqICAtICIxIiBlbmFibGVzIHRoZSBmZWF0dXJlIGJ5IGRlZmF1bHQu
IFRoZSBmZWF0dXJlIGNhbiBzdGlsbCBiZSBkaXNhYmxlZCBmb3IgYSBzcGVjaWZpYyBwb3J0IG9y
IGVudmlyb25tZW50LgpAQCAtMTgzLDQ0ICsxODcsMTAgQEAgdGhlIHB1YmxpYyBpT1MgU0RLLiBT
ZWUgPGh0dHBzOi8vd2Via2l0LgogI2VuZGlmCiAjZW5kaWYKIAotI2lmICFkZWZpbmVkKEhBVkVf
UERGSE9TVFZJRVdDT05UUk9MTEVSX1NOQVBTSE9UVElORykKLSNpZiBQTEFURk9STShJT1MpCi0j
ZGVmaW5lIEhBVkVfUERGSE9TVFZJRVdDT05UUk9MTEVSX1NOQVBTSE9UVElORyAxCi0jZW5kaWYK
LSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDQ0FUQUxZU1QpIHx8IFBMQVRGT1JNKElPUykKLSNp
ZiAhZGVmaW5lZChVU0VfVUlLSVRfS0VZQk9BUkRfQURESVRJT05TKQotI2RlZmluZSBVU0VfVUlL
SVRfS0VZQk9BUkRfQURESVRJT05TIDEKLSNlbmRpZgotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChI
QVZFX1ZJU0lCSUxJVFlfUFJPUEFHQVRJT05fVklFVykKLSNkZWZpbmUgSEFWRV9WSVNJQklMSVRZ
X1BST1BBR0FUSU9OX1ZJRVcgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChIQVZFX1VJU0NFTkUp
Ci0jZGVmaW5lIEhBVkVfVUlTQ0VORSAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEhBVkVfQVZT
VFJFQU1TRVNTSU9OKQotI2RlZmluZSBIQVZFX0FWU1RSRUFNU0VTU0lPTiAwCi0jZW5kaWYKLQog
I2lmICFkZWZpbmVkKEVOQUJMRV9NRURJQV9TT1VSQ0UpCiAjZGVmaW5lIEVOQUJMRV9NRURJQV9T
T1VSQ0UgMAogI2VuZGlmCiAKLSNpZiAhZGVmaW5lZChIQVZFX1BBU1NLSVRfQVBJX1RZUEUpCi0j
ZGVmaW5lIEhBVkVfUEFTU0tJVF9BUElfVFlQRSAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEhB
VkVfUEFTU0tJVF9CT1VORF9JTlRFUkZBQ0VfSURFTlRJRklFUikKLSNpZiBQTEFURk9STShJT1Mp
Ci0jZGVmaW5lIEhBVkVfUEFTU0tJVF9CT1VORF9JTlRFUkZBQ0VfSURFTlRJRklFUiAxCi0jZW5k
aWYKLSNlbmRpZgotCiAjaWYgIWRlZmluZWQoRU5BQkxFX1BSRVZJRVdfQ09OVkVSVEVSKQogI2lm
IFBMQVRGT1JNKElPUykKICNkZWZpbmUgRU5BQkxFX1BSRVZJRVdfQ09OVkVSVEVSIDEKQEAgLTIz
MSw2ICsyMDEsMTEgQEAgdGhlIHB1YmxpYyBpT1MgU0RLLiBTZWUgPGh0dHBzOi8vd2Via2l0Lgog
I2RlZmluZSBFTkFCTEVfTUVUQV9WSUVXUE9SVCAxCiAjZW5kaWYKIAorLyogRklYTUU6IFRoaXMg
c2VlbXMgdW51c2VkLiBJZiBzbywgaXQgc2hvdWxkIGJlIHJlbW92ZWQuICovCisjaWYgQ1BVKEFS
TTY0KQorI2RlZmluZSBFTkFCTEVfSklUX0NPTlNUQU5UX0JMSU5ESU5HIDAKKyNlbmRpZgorCiAj
ZW5kaWYgLyogUExBVEZPUk0oSU9TX0ZBTUlMWSkgKi8KIAogLyogLS0tLS0tLS0tIEFwcGxlIHdh
dGNoT1MgcG9ydCAtLS0tLS0tLS0gKi8KQEAgLTI5OSwyNCArMjc0LDEwIEBAIHRoZSBwdWJsaWMg
aU9TIFNESy4gU2VlIDxodHRwczovL3dlYmtpdC4KICNkZWZpbmUgRU5BQkxFX1dFQlBST0NFU1Nf
V0lORE9XU0VSVkVSX0JMT0NLSU5HIEVOQUJMRV9XRUJQUk9DRVNTX05TUlVOTE9PUAogI2VuZGlm
CiAKLSNpZiAhZGVmaW5lZChIQVZFX0FWU1RSRUFNU0VTU0lPTikKLSNkZWZpbmUgSEFWRV9BVlNU
UkVBTVNFU1NJT04gMQotI2VuZGlmCi0KICNpZiAhZGVmaW5lZChFTkFCTEVfTUVESUFfU09VUkNF
KQogI2RlZmluZSBFTkFCTEVfTUVESUFfU09VUkNFIDEKICNlbmRpZgogCi0jaWYgIWRlZmluZWQo
SEFWRV9QQVNTS0lUX0FQSV9UWVBFKQotI2RlZmluZSBIQVZFX1BBU1NLSVRfQVBJX1RZUEUgMQot
I2VuZGlmCi0KLSNpZiAhZGVmaW5lZChIQVZFX1BBU1NLSVRfQk9VTkRfSU5URVJGQUNFX0lERU5U
SUZJRVIpCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDAKLSNk
ZWZpbmUgSEFWRV9QQVNTS0lUX0JPVU5EX0lOVEVSRkFDRV9JREVOVElGSUVSIDEKLSNlbmRpZgot
I2VuZGlmCi0KICNlbmRpZiAvKiBQTEFURk9STShNQUMpICovCiAKIC8qIC0tLS0tLS0tLSBBcHBs
ZSBDb2NvYSBwbGF0Zm9ybXMgLS0tLS0tLS0tICovCkBAIC03NTIsNiArNzEzLDMxMyBAQCB0aGUg
cHVibGljIGlPUyBTREsuIFNlZSA8aHR0cHM6Ly93ZWJraXQuCiAjZGVmaW5lIEVOQUJMRV9TRVJW
SUNFX1dPUktFUiAxCiAjZW5kaWYKIAorCisvKiBKSVQgRmVhdHVyZXMgKi8KKworLyogVGhlIEpJ
VCBpcyBlbmFibGVkIGJ5IGRlZmF1bHQgb24gYWxsIHg4Ni02NCAmIEFSTTY0IHBsYXRmb3Jtcy4g
Ki8KKyNpZiAhZGVmaW5lZChFTkFCTEVfSklUKSAmJiAgKENQVShYODZfNjQpIHx8IENQVShBUk02
NCkpICYmICFDUFUoQVBQTEVfQVJNVjdLKQorI2RlZmluZSBFTkFCTEVfSklUIDEKKyNlbmRpZgor
CisjaWYgVVNFKEpTVkFMVUUzMl82NCkKKyNpZiAoQ1BVKEFSTV9USFVNQjIpIHx8IENQVShNSVBT
KSkgJiYgT1MoTElOVVgpCisvKiBPbiBBUk12NyBhbmQgTUlQUyBvbiBMaW51eCB0aGUgSklUIGlz
IGVuYWJsZWQgdW5sZXNzIGV4cGxpY2l0bHkgZGlzYWJsZWQuICovCisjaWYgIWRlZmluZWQoRU5B
QkxFX0pJVCkKKyNkZWZpbmUgRU5BQkxFX0pJVCAxCisjZW5kaWYKKyNlbHNlCisvKiBEaXNhYmxl
IEpJVCBhbmQgZm9yY2UgQ19MT09QIG9uIGFsbCBvdGhlciAzMmJpdCBhcmNoaXRlY3R1cmVzLiAq
LworI3VuZGVmIEVOQUJMRV9KSVQKKyNkZWZpbmUgRU5BQkxFX0pJVCAwCisjdW5kZWYgRU5BQkxF
X0NfTE9PUAorI2RlZmluZSBFTkFCTEVfQ19MT09QIDEKKyNlbmRpZgorI2VuZGlmCisKKyNpZiAh
ZGVmaW5lZChFTkFCTEVfQ19MT09QKQorI2lmIEVOQUJMRShKSVQpIHx8IENQVShYODZfNjQpIHx8
IChDUFUoQVJNNjQpICYmICFkZWZpbmVkKF9fSUxQMzJfXykpCisjZGVmaW5lIEVOQUJMRV9DX0xP
T1AgMAorI2Vsc2UKKyNkZWZpbmUgRU5BQkxFX0NfTE9PUCAxCisjZW5kaWYKKyNlbmRpZgorCisv
KiBGSVhNRTogVGhpcyBzaG91bGQgYmUgdHVybmVkIGludG8gYW4gI2Vycm9yIGludmFyaWFudCAq
LworLyogVGhlIEZUTCAqZG9lcyBub3QqIHdvcmsgb24gMzItYml0IHBsYXRmb3Jtcy4gRGlzYWJs
ZSBpdCBldmVuIGlmIHNvbWVvbmUgYXNrZWQgdXMgdG8gZW5hYmxlIGl0LiAqLworI2lmIFVTRShK
U1ZBTFVFMzJfNjQpCisjdW5kZWYgRU5BQkxFX0ZUTF9KSVQKKyNkZWZpbmUgRU5BQkxFX0ZUTF9K
SVQgMAorI2VuZGlmCisKKy8qIEZJWE1FOiBUaGlzIHNob3VsZCBiZSB0dXJuZWQgaW50byBhbiAj
ZXJyb3IgaW52YXJpYW50ICovCisvKiBUaGUgRlRMIGlzIGRpc2FibGVkIG9uIHRoZSBpT1Mgc2lt
dWxhdG9yLCBtb3N0bHkgZm9yIHNpbXBsaWNpdHkuICovCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlM
WV9TSU1VTEFUT1IpCisjdW5kZWYgRU5BQkxFX0ZUTF9KSVQKKyNkZWZpbmUgRU5BQkxFX0ZUTF9K
SVQgMAorI2VuZGlmCisKKy8qIEZJWE1FOiBUaGlzIGlzIHVzZWQgdG8gInR1cm4gb24gYSBzcGVj
aWZpYyBmZWF0dXJlIG9mIFdlYktpdCIsIHNvIHNob3VsZCBiZSBjb252ZXJ0ZWQgdG8gYW4gRU5B
QkxFIG1hY3JvLiAqLworLyogSWYgcG9zc2libGUsIHRyeSB0byBlbmFibGUgYSBkaXNhc3NlbWJs
ZXIuIFRoaXMgaXMgb3B0aW9uYWwuIFdlIHByb2NlZWQgaW4gdHdvCisgICBzdGVwczogZmlyc3Qg
d2UgdHJ5IHRvIGZpbmQgc29tZSBkaXNhc3NlbWJsZXIgdGhhdCB3ZSBjYW4gdXNlLCBhbmQgdGhl
biB3ZQorICAgZGVjaWRlIGlmIHRoZSBoaWdoLWxldmVsIGRpc2Fzc2VtYmxlciBBUEkgY2FuIGJl
IGVuYWJsZWQuICovCisjaWYgIWRlZmluZWQoVVNFX1VESVM4NikgJiYgRU5BQkxFKEpJVCkgJiYg
Q1BVKFg4Nl82NCkgJiYgIVVTRShDQVBTVE9ORSkKKyNkZWZpbmUgVVNFX1VESVM4NiAxCisjZW5k
aWYKKworLyogRklYTUU6IFRoaXMgaXMgdXNlZCB0byAidHVybiBvbiBhIHNwZWNpZmljIGZlYXR1
cmUgb2YgV2ViS2l0Iiwgc28gc2hvdWxkIGJlIGNvbnZlcnRlZCB0byBhbiBFTkFCTEUgbWFjcm8u
ICovCisjaWYgIWRlZmluZWQoVVNFX0FSTTY0X0RJU0FTU0VNQkxFUikgJiYgRU5BQkxFKEpJVCkg
JiYgQ1BVKEFSTTY0KSAmJiAhVVNFKENBUFNUT05FKQorI2RlZmluZSBVU0VfQVJNNjRfRElTQVNT
RU1CTEVSIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0RJU0FTU0VNQkxFUikgJiYg
KFVTRShVRElTODYpIHx8IFVTRShBUk02NF9ESVNBU1NFTUJMRVIpIHx8IChFTkFCTEUoSklUKSAm
JiBVU0UoQ0FQU1RPTkUpKSkKKyNkZWZpbmUgRU5BQkxFX0RJU0FTU0VNQkxFUiAxCisjZW5kaWYK
KworI2lmICFkZWZpbmVkKEVOQUJMRV9ERkdfSklUKSAmJiBFTkFCTEUoSklUKQorCisvKiBFbmFi
bGUgdGhlIERGRyBKSVQgb24gWDg2IGFuZCBYODZfNjQuICovCisjaWYgQ1BVKFg4Nl82NCkgJiYg
KE9TKERBUldJTikgfHwgT1MoTElOVVgpIHx8IE9TKEZSRUVCU0QpIHx8IE9TKEhVUkQpIHx8IE9T
KFdJTkRPV1MpKQorI2RlZmluZSBFTkFCTEVfREZHX0pJVCAxCisjZW5kaWYKKworLyogRW5hYmxl
IHRoZSBERkcgSklUIG9uIEFSTXY3LiAgT25seSB0ZXN0ZWQgb24gaU9TLCBMaW51eCwgYW5kIEZy
ZWVCU0QuICovCisjaWYgKENQVShBUk1fVEhVTUIyKSB8fCBDUFUoQVJNNjQpKSAmJiAoUExBVEZP
Uk0oSU9TX0ZBTUlMWSkgfHwgT1MoTElOVVgpIHx8IE9TKEZSRUVCU0QpKQorI2RlZmluZSBFTkFC
TEVfREZHX0pJVCAxCisjZW5kaWYKKy8qIEVuYWJsZSB0aGUgREZHIEpJVCBvbiBNSVBTLiAqLwor
I2lmIENQVShNSVBTKQorI2RlZmluZSBFTkFCTEVfREZHX0pJVCAxCisjZW5kaWYKKworI2VuZGlm
IC8qICFkZWZpbmVkKEVOQUJMRV9ERkdfSklUKSAmJiBFTkFCTEUoSklUKSAqLworCisvKiBDb25j
dXJyZW50IEpTIG9ubHkgd29ya3Mgb24gNjQtYml0IHBsYXRmb3JtcyBiZWNhdXNlIGl0IHJlcXVp
cmVzIHRoYXQKKyAgIHZhbHVlcyBnZXQgc3RvcmVkIHRvIGF0b21pY2FsbHkuIFRoaXMgaXMgdHJp
dmlhbGx5IHRydWUgb24gNjQtYml0IHBsYXRmb3JtcywKKyAgIGJ1dCBub3QgdHJ1ZSBhdCBhbGwg
b24gMzItYml0IHBsYXRmb3JtcyB3aGVyZSB2YWx1ZXMgYXJlIGNvbXBvc2VkIG9mIHR3bworICAg
c2VwYXJhdGUgc3ViLXZhbHVlcy4gKi8KKyNpZiBFTkFCTEUoSklUKSAmJiBVU0UoSlNWQUxVRTY0
KQorI2RlZmluZSBFTkFCTEVfQ09OQ1VSUkVOVF9KUyAxCisjZW5kaWYKKworI2lmIChDUFUoWDg2
XzY0KSB8fCBDUFUoQVJNNjQpKSAmJiBIQVZFKEZBU1RfVExTKQorI2RlZmluZSBFTkFCTEVfRkFT
VF9UTFNfSklUIDEKKyNlbmRpZgorCisjaWYgRU5BQkxFKEpJVCkgJiYgKENQVShYODYpIHx8IENQ
VShYODZfNjQpIHx8IENQVShBUk1fVEhVTUIyKSB8fCBDUFUoQVJNNjQpIHx8IENQVShNSVBTKSkK
KyNkZWZpbmUgRU5BQkxFX01BU01fUFJPQkUgMQorI2VuZGlmCisKKy8qIEZJWE1FOiBUaGlzIHNo
b3VsZCBiZSB0dXJuZWQgaW50byBhbiAjZXJyb3IgaW52YXJpYW50ICovCisvKiBJZiB0aGUgYmFz
ZWxpbmUgaml0IGlzIG5vdCBhdmFpbGFibGUsIHRoZW4gZGlzYWJsZSB1cHBlciB0aWVycyBhcyB3
ZWxsLgorICAgVGhlIE1hY3JvQXNzZW1ibGVyOjpwcm9iZSgpIGlzIGFsc28gcmVxdWlyZWQgZm9y
IHN1cHBvcnRpbmcgdGhlIHVwcGVyIHRpZXJzLiAqLworI2lmICFFTkFCTEUoSklUKSB8fCAhRU5B
QkxFKE1BU01fUFJPQkUpCisjdW5kZWYgRU5BQkxFX0RGR19KSVQKKyN1bmRlZiBFTkFCTEVfRlRM
X0pJVAorI2RlZmluZSBFTkFCTEVfREZHX0pJVCAwCisjZGVmaW5lIEVOQUJMRV9GVExfSklUIDAK
KyNlbmRpZgorCisvKiBGSVhNRTogVGhpcyBzaG91bGQgYmUgdHVybmVkIGludG8gYW4gI2Vycm9y
IGludmFyaWFudCAqLworLyogSWYgdGhlIERGRyBqaXQgaXMgbm90IGF2YWlsYWJsZSwgdGhlbiBk
aXNhYmxlIHVwcGVyIHRpZXJzIGFzIHdlbGw6ICovCisjaWYgIUVOQUJMRShERkdfSklUKQorI3Vu
ZGVmIEVOQUJMRV9GVExfSklUCisjZGVmaW5lIEVOQUJMRV9GVExfSklUIDAKKyNlbmRpZgorCisv
KiBUaGlzIGNvbnRyb2xzIHdoZXRoZXIgQjMgaXMgYnVpbHQuIEIzIGlzIG5lZWRlZCBmb3IgRlRM
IEpJVCBhbmQgV2ViQXNzZW1ibHkgKi8KKyNpZiBFTkFCTEUoRlRMX0pJVCkKKyNkZWZpbmUgRU5B
QkxFX0IzX0pJVCAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9XRUJBU1NFTUJMWSkg
JiYgKEVOQUJMRShCM19KSVQpICYmIFBMQVRGT1JNKENPQ09BKSAmJiBDUFUoQUREUkVTUzY0KSkK
KyNkZWZpbmUgRU5BQkxFX1dFQkFTU0VNQkxZIDEKKyNlbmRpZgorCisvKiBUaGUgU2FtcGxpbmdQ
cm9maWxlciBpcyB0aGUgcHJvYmFiaWxpc3RpYyBhbmQgbG93LW92ZXJoZWFkIHByb2ZpbGVyIHVz
ZWQgYnkKKyAqIEpTQyB0byBtZWFzdXJlIHdoZXJlIHRpbWUgaXMgc3BlbnQgaW5zaWRlIGEgSmF2
YVNjcmlwdCBwcm9ncmFtLgorICogSW4gY29uZmlndXJhdGlvbnMgb3RoZXIgdGhhbiBXaW5kb3dz
IGFuZCBEYXJ3aW4sIGJlY2F1c2UgbGF5b3V0IG9mIG1jb250ZXh0X3QgZGVwZW5kcyBvbiBzdGFu
ZGFyZCBsaWJyYXJpZXMgKGxpa2UgZ2xpYmMpLAorICogc2FtcGxpbmcgcHJvZmlsZXIgaXMgZW5h
YmxlZCBpZiBXZWJLaXQgdXNlcyBwdGhyZWFkcyBhbmQgZ2xpYmMuICovCisjaWYgIWRlZmluZWQo
RU5BQkxFX1NBTVBMSU5HX1BST0ZJTEVSKSAmJiAoIUVOQUJMRShDX0xPT1ApICYmIChPUyhXSU5E
T1dTKSB8fCBIQVZFKE1BQ0hJTkVfQ09OVEVYVCkpKQorI2RlZmluZSBFTkFCTEVfU0FNUExJTkdf
UFJPRklMRVIgMQorI2VuZGlmCisKKyNpZiBFTkFCTEUoV0VCQVNTRU1CTFkpICYmIEhBVkUoTUFD
SElORV9DT05URVhUKQorI2RlZmluZSBFTkFCTEVfV0VCQVNTRU1CTFlfRkFTVF9NRU1PUlkgMQor
I2VuZGlmCisKKy8qIENvdW50cyB1c2VzIG9mIHdyaXRlIGJhcnJpZXJzIHVzaW5nIHNhbXBsaW5n
IGNvdW50ZXJzLiBCZSBzdXJlIHRvIGFsc28KKyAgIHNldCBFTkFCTEVfU0FNUExJTkdfQ09VTlRF
UlMgdG8gMS4gKi8KKyNpZiAhZGVmaW5lZChFTkFCTEVfV1JJVEVfQkFSUklFUl9QUk9GSUxJTkcp
CisjZGVmaW5lIEVOQUJMRV9XUklURV9CQVJSSUVSX1BST0ZJTElORyAwCisjZW5kaWYKKworLyog
TG9ncyBhbGwgYWxsb2NhdGlvbi1yZWxhdGVkIGFjdGl2aXR5IHRoYXQgZ29lcyB0aHJvdWdoIGZh
c3RNYWxsb2Mgb3IgdGhlCisgICBKU0MgR0MgKGJvdGggY2VsbHMgYW5kIGJ1dHRlcmZsaWVzKS4g
QWxzbyBsb2dzIG1hcmtpbmcuIE5vdGUgdGhhdCB0aGlzCisgICBpc24ndCBhIGNvbXBsZXRlbHkg
YWNjdXJhdGUgdmlldyBvZiB0aGUgaGVhcCBzaW5jZSBpdCBkb2Vzbid0IGluY2x1ZGUgYWxsCisg
ICBidXR0ZXJmbHkgcmVzaXplIG9wZXJhdGlvbnMsIGRvZXNuJ3QgdGVsbCB5b3Ugd2hhdCBpcyBn
b2luZyBvbiB3aXRoIHdlYWsKKyAgIHJlZmVyZW5jZXMgKG90aGVyIHRoYW4gdG8gdGVsbCB5b3Ug
d2hlbiB0aGV5J3JlIG1hcmtlZCksIGFuZCBkb2Vzbid0CisgICB0cmFjayBkaXJlY3QgbW1hcCgp
IGFsbG9jYXRpb25zIG9yIHRoaW5ncyBsaWtlIEpJVCBhbGxvY2F0aW9uLiAqLworI2lmICFkZWZp
bmVkKEVOQUJMRV9BTExPQ0FUSU9OX0xPR0dJTkcpCisjZGVmaW5lIEVOQUJMRV9BTExPQ0FUSU9O
X0xPR0dJTkcgMAorI2VuZGlmCisKKy8qIEVuYWJsZSB2ZXJpZmljYXRpb24gdGhhdCB0aGF0IHJl
Z2lzdGVyIGFsbG9jYXRpb25zIGFyZSBub3QgbWFkZSB3aXRoaW4gZ2VuZXJhdGVkIGNvbnRyb2wg
Zmxvdy4KKyAgIFR1cm5lZCBvbiBmb3IgZGVidWcgYnVpbGRzLiAqLworI2lmICFkZWZpbmVkKEVO
QUJMRV9ERkdfUkVHSVNURVJfQUxMT0NBVElPTl9WQUxJREFUSU9OKSAmJiBFTkFCTEUoREZHX0pJ
VCkgJiYgIWRlZmluZWQoTkRFQlVHKQorI2RlZmluZSBFTkFCTEVfREZHX1JFR0lTVEVSX0FMTE9D
QVRJT05fVkFMSURBVElPTiAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9TRVBBUkFU
RURfV1hfSEVBUCkgJiYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgQ1BVKEFSTTY0KSAmJiAoIUVO
QUJMRShGQVNUX0pJVF9QRVJNSVNTSU9OUykgfHwgIUNQVShBUk02NEUpKQorI2RlZmluZSBFTkFC
TEVfU0VQQVJBVEVEX1dYX0hFQVAgMQorI2VuZGlmCisKKy8qIERldGVybWluZSBpZiB3ZSBuZWVk
IHRvIGVuYWJsZSBDb21wdXRlZCBHb3RvIE9wY29kZXMgb3Igbm90OiAqLworI2lmIEhBVkUoQ09N
UFVURURfR09UTykgfHwgIUVOQUJMRShDX0xPT1ApCisjZGVmaW5lIEVOQUJMRV9DT01QVVRFRF9H
T1RPX09QQ09ERVMgMQorI2VuZGlmCisKKy8qIFJlZ3VsYXIgRXhwcmVzc2lvbiBUcmFjaW5nIC0g
U2V0IHRvIDEgdG8gdHJhY2UgUmVnRXhwJ3MgaW4ganNjLiAgUmVzdWx0cyBkdW1wZWQgYXQgZXhp
dCAqLworI2lmICFkZWZpbmVkKEVOQUJMRV9SRUdFWFBfVFJBQ0lORykKKyNkZWZpbmUgRU5BQkxF
X1JFR0VYUF9UUkFDSU5HIDAKKyNlbmRpZgorCisvKiBZZXQgQW5vdGhlciBSZWdleCBSdW50aW1l
IC0gdHVybmVkIG9uIGJ5IGRlZmF1bHQgZm9yIEpJVCBlbmFibGVkIHBvcnRzLiAqLworI2lmICFk
ZWZpbmVkKEVOQUJMRV9ZQVJSX0pJVCkgJiYgRU5BQkxFKEpJVCkKKyNkZWZpbmUgRU5BQkxFX1lB
UlJfSklUIDEKKyNlbmRpZgorCisvKiBTZXR0aW5nIHRoaXMgZmxhZyBjb21wYXJlcyBKSVQgcmVz
dWx0cyB3aXRoIGludGVycHJldGVyIHJlc3VsdHMuICovCisjaWYgIWRlZmluZWQoRU5BQkxFX1lB
UlJfSklUKSAmJiBFTkFCTEUoSklUKQorI2RlZmluZSBFTkFCTEVfWUFSUl9KSVRfREVCVUcgMAor
I2VuZGlmCisKKy8qIEVuYWJsZSBKSVQnaW5nIFJlZ3VsYXIgRXhwcmVzc2lvbnMgdGhhdCBoYXZl
IG5lc3RlZCBwYXJlbnRoZXNpcyAuICovCisjaWYgRU5BQkxFKFlBUlJfSklUKSAmJiAoQ1BVKEFS
TTY0KSB8fCAoQ1BVKFg4Nl82NCkgJiYgIU9TKFdJTkRPV1MpKSkKKyNkZWZpbmUgRU5BQkxFX1lB
UlJfSklUX0FMTF9QQVJFTlNfRVhQUkVTU0lPTlMgMQorI2VuZGlmCisKKy8qIEVuYWJsZSBKSVQn
aW5nIFJlZ3VsYXIgRXhwcmVzc2lvbnMgdGhhdCBoYXZlIG5lc3RlZCBiYWNrIHJlZmVyZW5jZXMu
ICovCisjaWYgRU5BQkxFKFlBUlJfSklUKSAmJiAoQ1BVKEFSTTY0KSB8fCAoQ1BVKFg4Nl82NCkg
JiYgIU9TKFdJTkRPV1MpKSkKKyNkZWZpbmUgRU5BQkxFX1lBUlJfSklUX0JBQ0tSRUZFUkVOQ0VT
IDEKKyNlbmRpZgorCisvKiBJZiBlaXRoZXIgdGhlIEpJVCBvciB0aGUgUmVnRXhwIEpJVCBpcyBl
bmFibGVkLCB0aGVuIHRoZSBBc3NlbWJsZXIgbXVzdCBiZQorICAgZW5hYmxlZCBhcyB3ZWxsOiAq
LworI2lmIEVOQUJMRShKSVQpIHx8IEVOQUJMRShZQVJSX0pJVCkgfHwgIUVOQUJMRShDX0xPT1Ap
CisjaWYgZGVmaW5lZChFTkFCTEVfQVNTRU1CTEVSKSAmJiAhRU5BQkxFX0FTU0VNQkxFUgorI2Vy
cm9yICJDYW5ub3QgZW5hYmxlIHRoZSBKSVQgb3IgUmVnRXhwIEpJVCB3aXRob3V0IGVuYWJsaW5n
IHRoZSBBc3NlbWJsZXIiCisjZWxzZQorI3VuZGVmIEVOQUJMRV9BU1NFTUJMRVIKKyNkZWZpbmUg
RU5BQkxFX0FTU0VNQkxFUiAxCisjZW5kaWYKKyNlbmRpZgorCisvKiBJZiB0aGUgRGlzYXNzZW1i
bGVyIGlzIGVuYWJsZWQsIHRoZW4gdGhlIEFzc2VtYmxlciBtdXN0IGJlIGVuYWJsZWQgYXMgd2Vs
bDogKi8KKyNpZiBFTkFCTEUoRElTQVNTRU1CTEVSKQorI2lmIGRlZmluZWQoRU5BQkxFX0FTU0VN
QkxFUikgJiYgIUVOQUJMRV9BU1NFTUJMRVIKKyNlcnJvciAiQ2Fubm90IGVuYWJsZSB0aGUgRGlz
YXNzZW1ibGVyIHdpdGhvdXQgZW5hYmxpbmcgdGhlIEFzc2VtYmxlciIKKyNlbHNlCisjdW5kZWYg
RU5BQkxFX0FTU0VNQkxFUgorI2RlZmluZSBFTkFCTEVfQVNTRU1CTEVSIDEKKyNlbmRpZgorI2Vu
ZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfRVhDRVBUSU9OX1NDT1BFX1ZFUklGSUNBVElPTikK
KyNkZWZpbmUgRU5BQkxFX0VYQ0VQVElPTl9TQ09QRV9WRVJJRklDQVRJT04gQVNTRVJUX0VOQUJM
RUQKKyNlbmRpZgorCisjaWYgRU5BQkxFKERGR19KSVQpICYmIEhBVkUoTUFDSElORV9DT05URVhU
KSAmJiAoQ1BVKFg4Nl82NCkgfHwgQ1BVKEFSTTY0KSkKKyNkZWZpbmUgRU5BQkxFX1NJR05BTF9C
QVNFRF9WTV9UUkFQUyAxCisjZW5kaWYKKworLyogQ1NTIFNlbGVjdG9yIEpJVCBDb21waWxlciAq
LworI2lmICFkZWZpbmVkKEVOQUJMRV9DU1NfU0VMRUNUT1JfSklUKSAmJiAoKENQVShYODZfNjQp
IHx8IENQVShBUk02NCkgfHwgKENQVShBUk1fVEhVTUIyKSAmJiBQTEFURk9STShJT1NfRkFNSUxZ
KSkpICYmIEVOQUJMRShKSVQpICYmIChPUyhEQVJXSU4pIHx8IFBMQVRGT1JNKEdUSykgfHwgUExB
VEZPUk0oV1BFKSkpCisjZGVmaW5lIEVOQUJMRV9DU1NfU0VMRUNUT1JfSklUIDEKKyNlbmRpZgor
CisjaWYgUExBVEZPUk0oQ09DT0EpICYmICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0o
QVBQTEVUVikgJiYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQorI2RlZmluZSBFTkFCTEVfREFUQV9E
RVRFQ1RJT04gMQorI2VuZGlmCisKKyNpZiBDUFUoQVJNX1RIVU1CMikgfHwgQ1BVKEFSTTY0KQor
I2RlZmluZSBFTkFCTEVfQlJBTkNIX0NPTVBBQ1RJT04gMQorI2VuZGlmCisKKyNpZiAhZGVmaW5l
ZChFTkFCTEVfVEhSRUFESU5HX0xJQkRJU1BBVENIKSAmJiBIQVZFKERJU1BBVENIX0gpCisjZGVm
aW5lIEVOQUJMRV9USFJFQURJTkdfTElCRElTUEFUQ0ggMQorI2VsaWYgIWRlZmluZWQoRU5BQkxF
X1RIUkVBRElOR19PUEVOTVApICYmIGRlZmluZWQoX09QRU5NUCkKKyNkZWZpbmUgRU5BQkxFX1RI
UkVBRElOR19PUEVOTVAgMQorI2VsaWYgIWRlZmluZWQoVEhSRUFESU5HX0dFTkVSSUMpCisjZGVm
aW5lIEVOQUJMRV9USFJFQURJTkdfR0VORVJJQyAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVO
QUJMRV9HQ19WQUxJREFUSU9OKSAmJiAhZGVmaW5lZChOREVCVUcpCisjZGVmaW5lIEVOQUJMRV9H
Q19WQUxJREFUSU9OIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0JJTkRJTkdfSU5U
RUdSSVRZKSAmJiAhT1MoV0lORE9XUykKKyNkZWZpbmUgRU5BQkxFX0JJTkRJTkdfSU5URUdSSVRZ
IDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1RSRUVfREVCVUdHSU5HKSAmJiAhZGVm
aW5lZChOREVCVUcpCisjZGVmaW5lIEVOQUJMRV9UUkVFX0RFQlVHR0lORyAxCisjZW5kaWYKKwor
I2lmIFBMQVRGT1JNKENPQ09BKQorI2RlZmluZSBFTkFCTEVfUkVTT1VSQ0VfVVNBR0UgMQorI2Vu
ZGlmCisKKy8qIEZJWE1FOiBEb2N1bWVudCBvciByZW1vdmUgZXhwbGljaXQgdW5kZWYuICovCisj
aWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXUEUpCisjdW5kZWYgRU5BQkxFX09QRU5UWVBF
X1ZFUlRJQ0FMCisjZGVmaW5lIEVOQUJMRV9PUEVOVFlQRV9WRVJUSUNBTCAxCisjZW5kaWYKKwor
LyogRklYTUU6IERvY3VtZW50IG9yIHJlbW92ZSBleHBsaWNpdCB1bmRlZi4gKi8KKyNpZiAoT1Mo
REFSV0lOKSAmJiBVU0UoQ0cpKSB8fCAoVVNFKEZSRUVUWVBFKSAmJiAhUExBVEZPUk0oR1RLKSkg
fHwgKFBMQVRGT1JNKFdJTikgJiYgKFVTRShDRykgfHwgVVNFKENBSVJPKSkpCisjdW5kZWYgRU5B
QkxFX09QRU5UWVBFX01BVEgKKyNkZWZpbmUgRU5BQkxFX09QRU5UWVBFX01BVEggMQorI2VuZGlm
CisKKy8qCisgKiBFbmFibGUgdGhpcyB0byBwdXQgZWFjaCBJc29IZWFwIGFuZCBvdGhlciBhbGxv
Y2F0aW9uIGNhdGVnb3JpZXMgaW50byB0aGVpciBvd24gbWFsbG9jIGhlYXBzLCBzbyB0aGF0IHRv
b2xzIGxpa2Ugdm1tYXAgY2FuIHNob3cgaG93IGJpZyBlYWNoIGhlYXAgaXMuCisgKiBUdXJuIEJF
TkFCTEVfTUFMTE9DX0hFQVBfQlJFQUtET1dOIG9uIGluIGJtYWxsb2MgdG9nZXRoZXIgd2hlbiB1
c2luZyB0aGlzLgorICovCisjaWYgIWRlZmluZWQoRU5BQkxFX01BTExPQ19IRUFQX0JSRUFLRE9X
TikKKyNkZWZpbmUgRU5BQkxFX01BTExPQ19IRUFQX0JSRUFLRE9XTiAwCisjZW5kaWYKKworLyog
RGlzYWJsZSBTaGFyZWRBcnJheUJ1ZmZlcnMgdW50aWwgU3BlY3RyZSBzZWN1cml0eSBjb25jZXJu
cyBhcmUgbWl0aWdhdGVkLiAqLworI2RlZmluZSBFTkFCTEVfU0hBUkVEX0FSUkFZX0JVRkZFUiAw
CisKKy8qIEZJWE1FOiBfX0xQNjRfXyBjYW4gcHJvYmFibHkgYmUgcmVtb3ZlZCBub3cgdGhhdCAz
Mi1iaXQgbWFjT1MgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZC4gKi8KKyNpZiBQTEFURk9STShNQUMp
ICYmIGRlZmluZWQoX19MUDY0X18pCisjZGVmaW5lIEVOQUJMRV9XRUJfUExBWUJBQ0tfQ09OVFJP
TFNfTUFOQUdFUiAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKENPQ09BKQorLyogRklYTUU6IFRo
aXMgaXMgYSBVU0Ugc3R5bGUgbWFjcm8sIGFzIGl0IHRyaWdnZXJzIHRoZSB1c2Ugb2YgQ0ZVUkxD
b25uZWN0aW9uIGZyYW1ld29yayBzdHVicy4gKi8KKy8qIEZJWE1FOiBJcyB0aGlzIHN0aWxsIG5l
Y2Vzc2FyeT8gQ0ZVUkxDb25uZWN0aW9uIGlzbid0IHVzZWQgb24gQ29jb2EgcGxhdGZvcm1zIGFu
eSBtb3JlLiAqLworI2RlZmluZSBFTkFCTEVfU0VDX0lURU1fU0hJTSAxCisjZW5kaWYKKworI2lm
IFBMQVRGT1JNKE1BQykKKyNkZWZpbmUgRU5BQkxFX0ZVTExfS0VZQk9BUkRfQUNDRVNTIDEKKyNl
bmRpZgorCisjaWYgKChQTEFURk9STShDT0NPQSkgfHwgUExBVEZPUk0oUExBWVNUQVRJT04pIHx8
IFBMQVRGT1JNKFdQRSkpICYmIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpKSB8fCBQTEFURk9STShH
VEspCisjZGVmaW5lIEVOQUJMRV9LSU5FVElDX1NDUk9MTElORyAxCisjZW5kaWYKKworI2lmICFk
ZWZpbmVkKEVOQUJMRV9NT05PU1BBQ0VfRk9OVF9FWENFUFRJT04pICYmICgoUExBVEZPUk0oTUFD
KSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNTAwKSB8fCAoUExBVEZP
Uk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMzAw
MDApKQorI2RlZmluZSBFTkFCTEVfTU9OT1NQQUNFX0ZPTlRfRVhDRVBUSU9OIDEKKyNlbmRpZgor
CisjaWYgIWRlZmluZWQoRU5BQkxFX1BMQVRGT1JNX0RSSVZFTl9URVhUX0NIRUNLSU5HKSAmJiBQ
TEFURk9STShNQUNDQVRBTFlTVCkKKyNkZWZpbmUgRU5BQkxFX1BMQVRGT1JNX0RSSVZFTl9URVhU
X0NIRUNLSU5HIDEKKyNlbmRpZgorCisKIC8qIEFzc2VydHMsIGludmFyaWFudHMgZm9yIG1hY3Jv
IGRlZmluaXRpb25zICovCiAKICNpZiBFTkFCTEUoVklERU9fVFJBQ0spICYmICFFTkFCTEUoVklE
RU8pCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XVEYvd3RmL1BsYXRmb3JtLmgJKHJldmlzaW9uIDI1NDQxNCkKKysrIFNvdXJjZS9XVEYvd3Rm
L1BsYXRmb3JtLmgJKHdvcmtpbmcgY29weSkKQEAgLTI1OCwyMSArMjU4LDQ3IEBACiAjZGVmaW5l
IFdURl9QTEFURk9STV9XQVRDSE9TIDEKICNlbmRpZgogCi0vKiBHcmFwaGljcyBlbmdpbmVzICov
CisvKiBGSVhNRTogQVNTRVJUX0VOQUJMRUQgc2hvdWxkIGRlZmluZWQgaW4gZGlmZmVyZW50LCBw
ZXJoYXBzIGl0cyBvd24sIGZpbGUuICovCisvKiBBU1NFUlRfRU5BQkxFRCBzaG91bGQgYmUgdHJ1
ZSBpZiB3ZSB3YW50IHRoZSBjdXJyZW50IGNvbXBpbGF0aW9uIHVuaXQgdG8KKyAgIGRvIGRlYnVn
IGFzc2VydGlvbiBjaGVja3MgdW5jb25kaXRpb25hbGx5IChlLmcuIHRyZWF0IGEgZGVidWcgQVNT
RVJUCisgICBsaWtlIGEgUkVMRUFTRV9BU1NFUlQuCisqLworI2lmbmRlZiBBU1NFUlRfRU5BQkxF
RAorI2lmZGVmIE5ERUJVRworI2RlZmluZSBBU1NFUlRfRU5BQkxFRCAwCisjZWxzZQorI2RlZmlu
ZSBBU1NFUlRfRU5BQkxFRCAxCisjZW5kaWYKKyNlbmRpZgorCisKIAotLyogVVNFKENHKSBhbmQg
UExBVEZPUk0oQ0kpICovCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjZGVmaW5lIFVTRV9DRyAxCisj
ZW5kaWYKKworI2lmIFBMQVRGT1JNKENPQ09BKQogI2RlZmluZSBVU0VfQ0EgMQogI2VuZGlmCiAK
ICNpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFdQRSkKICNkZWZpbmUgVVNFX0dMSUIgMQor
I2VuZGlmCisKKyNpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFdQRSkKICNkZWZpbmUgVVNF
X0ZSRUVUWVBFIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXUEUp
CiAjZGVmaW5lIFVTRV9IQVJGQlVaWiAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKEdUSykgfHwg
UExBVEZPUk0oV1BFKQogI2RlZmluZSBVU0VfU09VUCAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JN
KEdUSykgfHwgUExBVEZPUk0oV1BFKQogI2RlZmluZSBVU0VfV0VCUCAxCi0jZGVmaW5lIFVTRV9G
SUxFX0xPQ0sgMQogI2VuZGlmCiAKICNpZiBQTEFURk9STShHVEspCkBAIC0yOTQsNDY5ICszMjAs
Mjg0IEBACiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENPQ09BKQotCiAjZGVmaW5lIEhBVkVfT1VU
X09GX1BST0NFU1NfTEFZRVJfSE9TVElORyAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKENPQ09B
KQogI2RlZmluZSBVU0VfQ0YgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShDT0NPQSkgfHwgKFBM
QVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKSkKICNkZWZpbmUgVVNFX0ZJTEVfTE9DSyAxCisj
ZW5kaWYKKworI2lmIFBMQVRGT1JNKENPQ09BKQogI2RlZmluZSBVU0VfRk9VTkRBVElPTiAxCisj
ZW5kaWYKKworI2lmIFBMQVRGT1JNKENPQ09BKQogI2RlZmluZSBVU0VfTkVUV09SS19DRkRBVEFf
QVJSQVlfQ0FMTEJBQ0sgMQorI2VuZGlmCiAKKworI2lmIFBMQVRGT1JNKENPQ09BKQogLyogQ29j
b2EgZGVmaW5lcyBhIHNlcmllcyBvZiBwbGF0Zm9ybSBtYWNyb3MgZm9yIGRlYnVnZ2luZy4gKi8K
IC8qIFNvbWUgb2YgdGhlbSBhcmUgcmVhbGx5IGFubm95aW5nIGJlY2F1c2UgdGhleSB1c2UgY29t
bW9uIG5hbWVzIChlLmcuIGNoZWNrKCkpLiAqLwogLyogRGlzYWJsZSB0aG9zZSBtYWNyb3Mgc28g
dGhhdCB3ZSBhcmUgbm90IGxpbWl0ZWQgaW4gaG93IHdlIG5hbWUgbWV0aG9kcyBhbmQgZnVuY3Rp
b25zLiAqLwogI3VuZGVmIF9fQVNTRVJUX01BQ1JPU19ERUZJTkVfVkVSU0lPTlNfV0lUSE9VVF9V
TkRFUlNDT1JFUwogI2RlZmluZSBfX0FTU0VSVF9NQUNST1NfREVGSU5FX1ZFUlNJT05TX1dJVEhP
VVRfVU5ERVJTQ09SRVMgMAotCiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKE1BQykKLQogI2RlZmlu
ZSBIQVZFX1JVTkxPT1BfVElNRVIgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpCiAjZGVm
aW5lIEhBVkVfU0VDX0tFWUNIQUlOIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKQogI2Rl
ZmluZSBIQVZFX0hJU0VSVklDRVMgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpCiAjZGVm
aW5lIFVTRV9BUFBLSVQgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpCiAjZGVmaW5lIFVT
RV9QQVNTS0lUIDEKKyNlbmRpZgogCi0jaWYgQ1BVKFg4Nl82NCkKKyNpZiBQTEFURk9STShNQUMp
CiAjZGVmaW5lIEhBVkVfTkVUV09SS19FWFRFTlNJT04gMQorI2VuZGlmCisKKyNpZiBQTEFURk9S
TShNQUMpCiAjZGVmaW5lIFVTRV9QTFVHSU5fSE9TVF9QUk9DRVNTIDEKICNlbmRpZgotI2VuZGlm
IC8qIFBMQVRGT1JNKE1BQykgKi8KIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0KICNkZWZp
bmUgSEFWRV9ORVRXT1JLX0VYVEVOU0lPTiAxCi0jZGVmaW5lIEhBVkVfUkVBRExJTkUgMQotI2Rl
ZmluZSBVU0VfVUlLSVRfRURJVElORyAxCi0jZGVmaW5lIFVTRV9XRUJfVEhSRUFEIDEKLQotI2lm
IENQVShBUk02NCkKLSNkZWZpbmUgRU5BQkxFX0pJVF9DT05TVEFOVF9CTElORElORyAwCiAjZW5k
aWYKIAotI2lmIENQVShBUk1fTkVPTikKLSN1bmRlZiBIQVZFX0FSTV9ORU9OX0lOVFJJTlNJQ1MK
LSNkZWZpbmUgSEFWRV9BUk1fTkVPTl9JTlRSSU5TSUNTIDAKKyNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQorI2RlZmluZSBIQVZFX1JFQURMSU5FIDEKICNlbmRpZgogCi0jZW5kaWYgLyogUExBVEZP
Uk0oSU9TX0ZBTUlMWSkgKi8KLQotI2lmICFkZWZpbmVkKEhBVkVfQUNDRVNTSUJJTElUWSkKLSNp
ZiBQTEFURk9STShDT0NPQSkgfHwgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShHVEspIHx8IFBM
QVRGT1JNKFdQRSkKLSNkZWZpbmUgSEFWRV9BQ0NFU1NJQklMSVRZIDEKKyNpZiBQTEFURk9STShJ
T1NfRkFNSUxZKQorI2RlZmluZSBVU0VfVUlLSVRfRURJVElORyAxCiAjZW5kaWYKLSNlbmRpZiAv
KiAhZGVmaW5lZChIQVZFX0FDQ0VTU0lCSUxJVFkpICovCiAKLS8qIEZJWE1FOiBSZW1vdmUgYWZ0
ZXIgQ01ha2UgYnVpbGQgZW5hYmxlZCBvbiBEYXJ3aW4gKi8KLSNpZiBPUyhEQVJXSU4pCi0jZGVm
aW5lIEhBVkVfRVJSTk9fSCAxCi0jZGVmaW5lIEhBVkVfTEFOR0lORk9fSCAxCi0jZGVmaW5lIEhB
VkVfTE9DQUxUSU1FX1IgMQotI2RlZmluZSBIQVZFX01NQVAgMQotI2RlZmluZSBIQVZFX1JFR0VY
X0ggMQotI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKLSNkZWZpbmUgSEFWRV9TVEFUX0JJUlRIVElN
RSAxCi0jZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKLSNkZWZpbmUgSEFWRV9TVFJOU1RSIDEKLSNk
ZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCi0jZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxIAotI2Rl
ZmluZSBIQVZFX1RNX0dNVE9GRiAxCi0jZGVmaW5lIEhBVkVfVE1fWk9ORSAxCi0jZGVmaW5lIEhB
VkVfVElNRUdNIDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFEX01BSU5fTlAgMQotCi0jaWYgQ1BVKFg4
Nl82NCkgfHwgQ1BVKEFSTTY0KQotI2RlZmluZSBIQVZFX0lOVDEyOF9UIDEKKyNpZiBQTEFURk9S
TShJT1NfRkFNSUxZKQorI2RlZmluZSBVU0VfV0VCX1RIUkVBRCAxCiAjZW5kaWYKLSNlbmRpZiAv
KiBPUyhEQVJXSU4pICovCiAKLSNpZiBPUyhVTklYKQotI2RlZmluZSBVU0VfUFRIUkVBRFMgMQot
I2VuZGlmIC8qIE9TKFVOSVgpICovCi0KLSNpZiBPUyhVTklYKSAmJiAhT1MoRlVDSFNJQSkKLSNk
ZWZpbmUgSEFWRV9SRVNPVVJDRV9IIDEKLSNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVFNDSEVEUEFS
QU0gMQorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmIENQVShBUk1fTkVPTikKKyN1bmRlZiBI
QVZFX0FSTV9ORU9OX0lOVFJJTlNJQ1MKKyNkZWZpbmUgSEFWRV9BUk1fTkVPTl9JTlRSSU5TSUNT
IDAKICNlbmRpZgogCi0jaWYgT1MoREFSV0lOKQotI2RlZmluZSBIQVZFX0RJU1BBVENIX0ggMQot
I2RlZmluZSBIQVZFX01BRFZfRlJFRSAxCi0jZGVmaW5lIEhBVkVfTUFEVl9GUkVFX1JFVVNFIDEK
LSNkZWZpbmUgSEFWRV9NQURWX0RPTlRORUVEIDEKLSNkZWZpbmUgSEFWRV9NRVJHRVNPUlQgMQot
I2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCi0jZGVmaW5lIEhBVkVfUkVBRExJTkUg
MQotI2RlZmluZSBIQVZFX1NZU19USU1FQl9IIDEKLSNkZWZpbmUgSEFWRV9BVURJVF9UT0tFTiAx
Ci0KLSNpZiBfX2hhc19pbmNsdWRlKDxtYWNoL21hY2hfZXhjLmRlZnM+KSAmJiAhUExBVEZPUk0o
R1RLKQotI2RlZmluZSBIQVZFX01BQ0hfRVhDRVBUSU9OUyAxCisjaWYgIWRlZmluZWQoSEFWRV9Q
REZIT1NUVklFV0NPTlRST0xMRVJfU05BUFNIT1RUSU5HKSAmJiBQTEFURk9STShJT1MpCisjZGVm
aW5lIEhBVkVfUERGSE9TVFZJRVdDT05UUk9MTEVSX1NOQVBTSE9UVElORyAxCiAjZW5kaWYKIAot
I2lmICFQTEFURk9STShHVEspCi0jZGVmaW5lIFVTRV9BQ0NFTEVSQVRFIDEKKyNpZiAhZGVmaW5l
ZChIQVZFX1ZJU0lCSUxJVFlfUFJPUEFHQVRJT05fVklFVykgJiYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkKKyNkZWZpbmUgSEFWRV9WSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcgMQogI2VuZGlmCi0j
aWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCi0jZGVmaW5lIEhBVkVfSE9TVEVEX0NPUkVfQU5JTUFU
SU9OIDEKLSNlbmRpZgotCi0jZW5kaWYgLyogT1MoREFSV0lOKSAqLwogCi0jaWYgT1MoREFSV0lO
KSB8fCBPUyhGVUNIU0lBKSB8fCAoKE9TKEZSRUVCU0QpIHx8IGRlZmluZWQoX19HTElCQ19fKSB8
fCBkZWZpbmVkKF9fQklPTklDX18pKSAmJiAoQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkgfHwgQ1BV
KEFSTSkgfHwgQ1BVKEFSTTY0KSB8fCBDUFUoTUlQUykpKQotI2RlZmluZSBIQVZFX01BQ0hJTkVf
Q09OVEVYVCAxCisjaWYgIWRlZmluZWQoSEFWRV9VSVNDRU5FKSAmJiBQTEFURk9STShJT1NfRkFN
SUxZKQorI2RlZmluZSBIQVZFX1VJU0NFTkUgMQogI2VuZGlmCiAKLSNpZiBPUyhEQVJXSU4pIHx8
IChPUyhMSU5VWCkgJiYgZGVmaW5lZChfX0dMSUJDX18pICYmICFkZWZpbmVkKF9fVUNMSUJDX18p
ICYmICFDUFUoTUlQUykpCi0jZGVmaW5lIEhBVkVfQkFDS1RSQUNFIDEKKyNpZiAhZGVmaW5lZChI
QVZFX0FWU1RSRUFNU0VTU0lPTikgJiYgUExBVEZPUk0oTUFDKQorI2RlZmluZSBIQVZFX0FWU1RS
RUFNU0VTU0lPTiAxCiAjZW5kaWYKIAotI2lmIE9TKERBUldJTikgfHwgT1MoTElOVVgpCi0jaWYg
UExBVEZPUk0oR1RLKQotI2lmIGRlZmluZWQoX19HTElCQ19fKSAmJiAhZGVmaW5lZChfX1VDTElC
Q19fKSAmJiAhQ1BVKE1JUFMpCi0jZGVmaW5lIEhBVkVfQkFDS1RSQUNFX1NZTUJPTFMgMQorI2lm
ICFkZWZpbmVkKEhBVkVfUEFTU0tJVF9BUElfVFlQRSkgJiYgKFBMQVRGT1JNKElPU19GQU1JTFkp
IHx8IFBMQVRGT1JNKE1BQykpCisjZGVmaW5lIEhBVkVfUEFTU0tJVF9BUElfVFlQRSAxCiAjZW5k
aWYKLSNlbmRpZiAvKiBQTEFURk9STShHVEspICovCi0jZGVmaW5lIEhBVkVfRExBRERSIDEKLSNl
bmRpZiAvKiBPUyhEQVJXSU4pIHx8IE9TKExJTlVYKSAqLwotCi0KLS8qIEVOQUJMRSBtYWNybyBk
ZWZhdWx0cyAqLwotCi0vKiBGSVhNRTogbW92ZSBvdXQgYWxsIEVOQUJMRSgpIGRlZmluZXMgZnJv
bSBoZXJlIHRvIEZlYXR1cmVEZWZpbmVzLmggKi8KIAotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9T
REspICYmIF9faGFzX2luY2x1ZGUoPFdlYktpdEFkZGl0aW9ucy9BZGRpdGlvbmFsUGxhdGZvcm0u
aD4pCi0jaW5jbHVkZSA8V2ViS2l0QWRkaXRpb25zL0FkZGl0aW9uYWxQbGF0Zm9ybS5oPgorI2lm
ICFkZWZpbmVkKEhBVkVfUEFTU0tJVF9CT1VORF9JTlRFUkZBQ0VfSURFTlRJRklFUikgJiYgKFBM
QVRGT1JNKElPUykgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDE0MDApKQorI2RlZmluZSBIQVZFX1BBU1NLSVRfQk9VTkRfSU5URVJGQUNF
X0lERU5USUZJRVIgMQogI2VuZGlmCiAKLSNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKSAmJiBf
X2hhc19pbmNsdWRlKDxXZWJLaXRBZGRpdGlvbnMvQWRkaXRpb25hbEZlYXR1cmVEZWZpbmVzLmg+
KQotI2luY2x1ZGUgPFdlYktpdEFkZGl0aW9ucy9BZGRpdGlvbmFsRmVhdHVyZURlZmluZXMuaD4K
KyNpZiAhZGVmaW5lZChVU0VfVUlLSVRfS0VZQk9BUkRfQURESVRJT05TKSAmJiAoUExBVEZPUk0o
SU9TKSB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkpCisjZGVmaW5lIFVTRV9VSUtJVF9LRVlCT0FS
RF9BRERJVElPTlMgMQogI2VuZGlmCiAKLS8qIEluY2x1ZGUgZmVhdHVyZSBtYWNyb3MgKi8KLSNp
bmNsdWRlIDx3dGYvRmVhdHVyZURlZmluZXMuaD4KIAotI2lmIE9TKFdJTkRPV1MpCi0jZGVmaW5l
IFVTRV9TWVNURU1fTUFMTE9DIDEKKyNpZiAhZGVmaW5lZChIQVZFX0FDQ0VTU0lCSUxJVFkpICYm
IChQTEFURk9STShDT0NPQSkgfHwgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShHVEspIHx8IFBM
QVRGT1JNKFdQRSkpCisjZGVmaW5lIEhBVkVfQUNDRVNTSUJJTElUWSAxCiAjZW5kaWYKIAotCi0j
aWYgIWRlZmluZWQoVVNFX0pTVkFMVUU2NCkgJiYgIWRlZmluZWQoVVNFX0pTVkFMVUUzMl82NCkK
LSNpZiBDUFUoQUREUkVTUzY0KSB8fCBDUFUoQVJNNjQpCi0jZGVmaW5lIFVTRV9KU1ZBTFVFNjQg
MQotI2Vsc2UKLSNkZWZpbmUgVVNFX0pTVkFMVUUzMl82NCAxCisvKiBGSVhNRTogUmVtb3ZlIGFm
dGVyIENNYWtlIGJ1aWxkIGVuYWJsZWQgb24gRGFyd2luICovCisjaWYgT1MoREFSV0lOKQorI2Rl
ZmluZSBIQVZFX0VSUk5PX0ggMQogI2VuZGlmCi0jZW5kaWYgLyogIWRlZmluZWQoVVNFX0pTVkFM
VUU2NCkgJiYgIWRlZmluZWQoVVNFX0pTVkFMVUUzMl82NCkgKi8KIAotLyogVGhlIEpJVCBpcyBl
bmFibGVkIGJ5IGRlZmF1bHQgb24gYWxsIHg4Ni02NCAmIEFSTTY0IHBsYXRmb3Jtcy4gKi8KLSNp
ZiAhZGVmaW5lZChFTkFCTEVfSklUKSBcCi0gICAgJiYgKENQVShYODZfNjQpIHx8IENQVShBUk02
NCkpIFwKLSAgICAmJiAhQ1BVKEFQUExFX0FSTVY3SykKLSNkZWZpbmUgRU5BQkxFX0pJVCAxCisj
aWYgT1MoREFSV0lOKQorI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQogI2VuZGlmCiAKLSNpZiBV
U0UoSlNWQUxVRTMyXzY0KQotI2lmIChDUFUoQVJNX1RIVU1CMikgfHwgQ1BVKE1JUFMpKSAmJiBP
UyhMSU5VWCkKLS8qIE9uIEFSTXY3IGFuZCBNSVBTIG9uIExpbnV4IHRoZSBKSVQgaXMgZW5hYmxl
ZCB1bmxlc3MgZXhwbGljaXRseSBkaXNhYmxlZC4gKi8KLSNpZiAhZGVmaW5lZChFTkFCTEVfSklU
KQotI2RlZmluZSBFTkFCTEVfSklUIDEKLSNlbmRpZgotI2Vsc2UKLS8qIERpc2FibGUgSklUIGFu
ZCBmb3JjZSBDX0xPT1Agb24gYWxsIG90aGVyIDMyYml0IGFyY2hpdGVjdHVyZXMuICovCi0jdW5k
ZWYgRU5BQkxFX0pJVAotI2RlZmluZSBFTkFCTEVfSklUIDAKLSN1bmRlZiBFTkFCTEVfQ19MT09Q
Ci0jZGVmaW5lIEVOQUJMRV9DX0xPT1AgMQotI2VuZGlmCisjaWYgT1MoREFSV0lOKQorI2RlZmlu
ZSBIQVZFX0xPQ0FMVElNRV9SIDEKICNlbmRpZgogCi0jaWYgIWRlZmluZWQoRU5BQkxFX0NfTE9P
UCkKLSNpZiBFTkFCTEUoSklUKSBcCi0gICAgfHwgQ1BVKFg4Nl82NCkgfHwgKENQVShBUk02NCkg
JiYgIWRlZmluZWQoX19JTFAzMl9fKSkKLSNkZWZpbmUgRU5BQkxFX0NfTE9PUCAwCi0jZWxzZQot
I2RlZmluZSBFTkFCTEVfQ19MT09QIDEKLSNlbmRpZgorI2lmIE9TKERBUldJTikKKyNkZWZpbmUg
SEFWRV9NTUFQIDEKICNlbmRpZgogCi0vKiBUaGUgRlRMICpkb2VzIG5vdCogd29yayBvbiAzMi1i
aXQgcGxhdGZvcm1zLiBEaXNhYmxlIGl0IGV2ZW4gaWYgc29tZW9uZSBhc2tlZCB1cyB0byBlbmFi
bGUgaXQuICovCi0jaWYgVVNFKEpTVkFMVUUzMl82NCkKLSN1bmRlZiBFTkFCTEVfRlRMX0pJVAot
I2RlZmluZSBFTkFCTEVfRlRMX0pJVCAwCisjaWYgT1MoREFSV0lOKQorI2RlZmluZSBIQVZFX1JF
R0VYX0ggMQogI2VuZGlmCiAKLS8qIFRoZSBGVEwgaXMgZGlzYWJsZWQgb24gdGhlIGlPUyBzaW11
bGF0b3IsIG1vc3RseSBmb3Igc2ltcGxpY2l0eS4gKi8KLSNpZiBQTEFURk9STShJT1NfRkFNSUxZ
X1NJTVVMQVRPUikKLSN1bmRlZiBFTkFCTEVfRlRMX0pJVAotI2RlZmluZSBFTkFCTEVfRlRMX0pJ
VCAwCisjaWYgT1MoREFSV0lOKQorI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKICNlbmRpZgogCi0v
KiBJZiBwb3NzaWJsZSwgdHJ5IHRvIGVuYWJsZSBhIGRpc2Fzc2VtYmxlci4gVGhpcyBpcyBvcHRp
b25hbC4gV2UgcHJvY2VlZCBpbiB0d28KLSAgIHN0ZXBzOiBmaXJzdCB3ZSB0cnkgdG8gZmluZCBz
b21lIGRpc2Fzc2VtYmxlciB0aGF0IHdlIGNhbiB1c2UsIGFuZCB0aGVuIHdlCi0gICBkZWNpZGUg
aWYgdGhlIGhpZ2gtbGV2ZWwgZGlzYXNzZW1ibGVyIEFQSSBjYW4gYmUgZW5hYmxlZC4gKi8KLSNp
ZiAhZGVmaW5lZChVU0VfVURJUzg2KSAmJiBFTkFCTEUoSklUKSAmJiBDUFUoWDg2XzY0KSAmJiAh
VVNFKENBUFNUT05FKQotI2RlZmluZSBVU0VfVURJUzg2IDEKKyNpZiBPUyhEQVJXSU4pCisjZGVm
aW5lIEhBVkVfU1RBVF9CSVJUSFRJTUUgMQogI2VuZGlmCiAKLSNpZiAhZGVmaW5lZChVU0VfQVJN
NjRfRElTQVNTRU1CTEVSKSAmJiBFTkFCTEUoSklUKSAmJiBDUFUoQVJNNjQpICYmICFVU0UoQ0FQ
U1RPTkUpCi0jZGVmaW5lIFVTRV9BUk02NF9ESVNBU1NFTUJMRVIgMQorI2lmIE9TKERBUldJTikK
KyNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQogI2VuZGlmCiAKLSNpZiAhZGVmaW5lZChFTkFCTEVf
RElTQVNTRU1CTEVSKSAmJiAoVVNFKFVESVM4NikgfHwgVVNFKEFSTTY0X0RJU0FTU0VNQkxFUikg
fHwgKEVOQUJMRShKSVQpICYmIFVTRShDQVBTVE9ORSkpKQotI2RlZmluZSBFTkFCTEVfRElTQVNT
RU1CTEVSIDEKKyNpZiBPUyhEQVJXSU4pCisjZGVmaW5lIEhBVkVfU1RSTlNUUiAxCiAjZW5kaWYK
IAotI2lmICFkZWZpbmVkKEVOQUJMRV9ERkdfSklUKSAmJiBFTkFCTEUoSklUKQotLyogRW5hYmxl
IHRoZSBERkcgSklUIG9uIFg4NiBhbmQgWDg2XzY0LiAqLwotI2lmIENQVShYODZfNjQpICYmIChP
UyhEQVJXSU4pIHx8IE9TKExJTlVYKSB8fCBPUyhGUkVFQlNEKSB8fCBPUyhIVVJEKSB8fCBPUyhX
SU5ET1dTKSkKLSNkZWZpbmUgRU5BQkxFX0RGR19KSVQgMQotI2VuZGlmCi0vKiBFbmFibGUgdGhl
IERGRyBKSVQgb24gQVJNdjcuICBPbmx5IHRlc3RlZCBvbiBpT1MsIExpbnV4LCBhbmQgRnJlZUJT
RC4gKi8KLSNpZiAoQ1BVKEFSTV9USFVNQjIpIHx8IENQVShBUk02NCkpICYmIChQTEFURk9STShJ
T1NfRkFNSUxZKSB8fCBPUyhMSU5VWCkgfHwgT1MoRlJFRUJTRCkpCi0jZGVmaW5lIEVOQUJMRV9E
RkdfSklUIDEKLSNlbmRpZgotLyogRW5hYmxlIHRoZSBERkcgSklUIG9uIE1JUFMuICovCi0jaWYg
Q1BVKE1JUFMpCi0jZGVmaW5lIEVOQUJMRV9ERkdfSklUIDEKLSNlbmRpZgorI2lmIE9TKERBUldJ
TikKKyNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCiAjZW5kaWYKIAotLyogQ29uY3VycmVudCBK
UyBvbmx5IHdvcmtzIG9uIDY0LWJpdCBwbGF0Zm9ybXMgYmVjYXVzZSBpdCByZXF1aXJlcyB0aGF0
Ci0gICB2YWx1ZXMgZ2V0IHN0b3JlZCB0byBhdG9taWNhbGx5LiBUaGlzIGlzIHRyaXZpYWxseSB0
cnVlIG9uIDY0LWJpdCBwbGF0Zm9ybXMsCi0gICBidXQgbm90IHRydWUgYXQgYWxsIG9uIDMyLWJp
dCBwbGF0Zm9ybXMgd2hlcmUgdmFsdWVzIGFyZSBjb21wb3NlZCBvZiB0d28KLSAgIHNlcGFyYXRl
IHN1Yi12YWx1ZXMuICovCi0jaWYgRU5BQkxFKEpJVCkgJiYgVVNFKEpTVkFMVUU2NCkKLSNkZWZp
bmUgRU5BQkxFX0NPTkNVUlJFTlRfSlMgMQorI2lmIE9TKERBUldJTikKKyNkZWZpbmUgSEFWRV9T
WVNfVElNRV9IIDEKICNlbmRpZgogCi0jaWYgX19oYXNfaW5jbHVkZSg8U3lzdGVtL3B0aHJlYWRf
bWFjaGRlcC5oPikKLSNkZWZpbmUgSEFWRV9GQVNUX1RMUyAxCisjaWYgT1MoREFSV0lOKQorI2Rl
ZmluZSBIQVZFX1RNX0dNVE9GRiAxCiAjZW5kaWYKIAotI2lmIChDUFUoWDg2XzY0KSB8fCBDUFUo
QVJNNjQpKSAmJiBIQVZFKEZBU1RfVExTKQotI2RlZmluZSBFTkFCTEVfRkFTVF9UTFNfSklUIDEK
KyNpZiBPUyhEQVJXSU4pCisjZGVmaW5lIEhBVkVfVE1fWk9ORSAxCiAjZW5kaWYKIAotI2lmIENQ
VShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShBUk1fVEhVTUIyKSB8fCBDUFUoQVJNNjQpIHx8
IENQVShNSVBTKQotI2RlZmluZSBFTkFCTEVfTUFTTV9QUk9CRSAxCi0jZWxzZQotI2RlZmluZSBF
TkFCTEVfTUFTTV9QUk9CRSAwCisjaWYgT1MoREFSV0lOKQorI2RlZmluZSBIQVZFX1RJTUVHTSAx
CiAjZW5kaWYKIAotI2lmICFFTkFCTEUoSklUKQotI3VuZGVmIEVOQUJMRV9NQVNNX1BST0JFCi0j
ZGVmaW5lIEVOQUJMRV9NQVNNX1BST0JFIDAKKyNpZiBPUyhEQVJXSU4pCisjZGVmaW5lIEhBVkVf
UFRIUkVBRF9NQUlOX05QIDEKICNlbmRpZgogCi0vKiBJZiB0aGUgYmFzZWxpbmUgaml0IGlzIG5v
dCBhdmFpbGFibGUsIHRoZW4gZGlzYWJsZSB1cHBlciB0aWVycyBhcyB3ZWxsLgotICAgVGhlIE1h
Y3JvQXNzZW1ibGVyOjpwcm9iZSgpIGlzIGFsc28gcmVxdWlyZWQgZm9yIHN1cHBvcnRpbmcgdGhl
IHVwcGVyIHRpZXJzLiAqLwotI2lmICFFTkFCTEUoSklUKSB8fCAhRU5BQkxFKE1BU01fUFJPQkUp
Ci0jdW5kZWYgRU5BQkxFX0RGR19KSVQKLSN1bmRlZiBFTkFCTEVfRlRMX0pJVAotI2RlZmluZSBF
TkFCTEVfREZHX0pJVCAwCi0jZGVmaW5lIEVOQUJMRV9GVExfSklUIDAKKyNpZiBPUyhEQVJXSU4p
ICYmIChDUFUoWDg2XzY0KSB8fCBDUFUoQVJNNjQpKQorI2RlZmluZSBIQVZFX0lOVDEyOF9UIDEK
ICNlbmRpZgogCi0vKiBJZiB0aGUgREZHIGppdCBpcyBub3QgYXZhaWxhYmxlLCB0aGVuIGRpc2Fi
bGUgdXBwZXIgdGllcnMgYXMgd2VsbDogKi8KLSNpZiAhRU5BQkxFKERGR19KSVQpCi0jdW5kZWYg
RU5BQkxFX0ZUTF9KSVQKLSNkZWZpbmUgRU5BQkxFX0ZUTF9KSVQgMAorI2lmIE9TKFVOSVgpCisj
ZGVmaW5lIFVTRV9QVEhSRUFEUyAxCiAjZW5kaWYKIAotLyogVGhpcyBjb250cm9scyB3aGV0aGVy
IEIzIGlzIGJ1aWx0LiBCMyBpcyBuZWVkZWQgZm9yIEZUTCBKSVQgYW5kIFdlYkFzc2VtYmx5ICov
Ci0jaWYgRU5BQkxFKEZUTF9KSVQpCi0jZGVmaW5lIEVOQUJMRV9CM19KSVQgMQorI2lmIE9TKFVO
SVgpICYmICFPUyhGVUNIU0lBKQorI2RlZmluZSBIQVZFX1JFU09VUkNFX0ggMQogI2VuZGlmCiAK
LSNpZiAhZGVmaW5lZChFTkFCTEVfV0VCQVNTRU1CTFkpCi0jaWYgRU5BQkxFKEIzX0pJVCkgJiYg
UExBVEZPUk0oQ09DT0EpICYmIENQVShBRERSRVNTNjQpCi0jZGVmaW5lIEVOQUJMRV9XRUJBU1NF
TUJMWSAxCi0jZWxzZQotI2RlZmluZSBFTkFCTEVfV0VCQVNTRU1CTFkgMAotI2VuZGlmCisjaWYg
T1MoVU5JWCkgJiYgIU9TKEZVQ0hTSUEpCisjZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVRTQ0hFRFBB
UkFNIDEKICNlbmRpZgogCi0vKiBUaGUgU2FtcGxpbmdQcm9maWxlciBpcyB0aGUgcHJvYmFiaWxp
c3RpYyBhbmQgbG93LW92ZXJoZWFkIHByb2ZpbGVyIHVzZWQgYnkKLSAqIEpTQyB0byBtZWFzdXJl
IHdoZXJlIHRpbWUgaXMgc3BlbnQgaW5zaWRlIGEgSmF2YVNjcmlwdCBwcm9ncmFtLgotICogSW4g
Y29uZmlndXJhdGlvbnMgb3RoZXIgdGhhbiBXaW5kb3dzIGFuZCBEYXJ3aW4sIGJlY2F1c2UgbGF5
b3V0IG9mIG1jb250ZXh0X3QgZGVwZW5kcyBvbiBzdGFuZGFyZCBsaWJyYXJpZXMgKGxpa2UgZ2xp
YmMpLAotICogc2FtcGxpbmcgcHJvZmlsZXIgaXMgZW5hYmxlZCBpZiBXZWJLaXQgdXNlcyBwdGhy
ZWFkcyBhbmQgZ2xpYmMuICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX1NBTVBMSU5HX1BST0ZJTEVS
KQotI2lmICFFTkFCTEUoQ19MT09QKSAmJiAoT1MoV0lORE9XUykgfHwgSEFWRShNQUNISU5FX0NP
TlRFWFQpKQotI2RlZmluZSBFTkFCTEVfU0FNUExJTkdfUFJPRklMRVIgMQotI2Vsc2UKLSNkZWZp
bmUgRU5BQkxFX1NBTVBMSU5HX1BST0ZJTEVSIDAKLSNlbmRpZgorI2lmIE9TKERBUldJTikKKyNk
ZWZpbmUgSEFWRV9ESVNQQVRDSF9IIDEKICNlbmRpZgogCi0jaWYgRU5BQkxFKFdFQkFTU0VNQkxZ
KSAmJiBIQVZFKE1BQ0hJTkVfQ09OVEVYVCkKLSNkZWZpbmUgRU5BQkxFX1dFQkFTU0VNQkxZX0ZB
U1RfTUVNT1JZIDEKKyNpZiBPUyhEQVJXSU4pCisjZGVmaW5lIEhBVkVfTUFEVl9GUkVFIDEKICNl
bmRpZgogCi0vKiBDb3VudHMgdXNlcyBvZiB3cml0ZSBiYXJyaWVycyB1c2luZyBzYW1wbGluZyBj
b3VudGVycy4gQmUgc3VyZSB0byBhbHNvCi0gICBzZXQgRU5BQkxFX1NBTVBMSU5HX0NPVU5URVJT
IHRvIDEuICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX1dSSVRFX0JBUlJJRVJfUFJPRklMSU5HKQot
I2RlZmluZSBFTkFCTEVfV1JJVEVfQkFSUklFUl9QUk9GSUxJTkcgMAorI2lmIE9TKERBUldJTikK
KyNkZWZpbmUgSEFWRV9NQURWX0ZSRUVfUkVVU0UgMQogI2VuZGlmCiAKLS8qIExvZ3MgYWxsIGFs
bG9jYXRpb24tcmVsYXRlZCBhY3Rpdml0eSB0aGF0IGdvZXMgdGhyb3VnaCBmYXN0TWFsbG9jIG9y
IHRoZQotICAgSlNDIEdDIChib3RoIGNlbGxzIGFuZCBidXR0ZXJmbGllcykuIEFsc28gbG9ncyBt
YXJraW5nLiBOb3RlIHRoYXQgdGhpcwotICAgaXNuJ3QgYSBjb21wbGV0ZWx5IGFjY3VyYXRlIHZp
ZXcgb2YgdGhlIGhlYXAgc2luY2UgaXQgZG9lc24ndCBpbmNsdWRlIGFsbAotICAgYnV0dGVyZmx5
IHJlc2l6ZSBvcGVyYXRpb25zLCBkb2Vzbid0IHRlbGwgeW91IHdoYXQgaXMgZ29pbmcgb24gd2l0
aCB3ZWFrCi0gICByZWZlcmVuY2VzIChvdGhlciB0aGFuIHRvIHRlbGwgeW91IHdoZW4gdGhleSdy
ZSBtYXJrZWQpLCBhbmQgZG9lc24ndAotICAgdHJhY2sgZGlyZWN0IG1tYXAoKSBhbGxvY2F0aW9u
cyBvciB0aGluZ3MgbGlrZSBKSVQgYWxsb2NhdGlvbi4gKi8KLSNpZiAhZGVmaW5lZChFTkFCTEVf
QUxMT0NBVElPTl9MT0dHSU5HKQotI2RlZmluZSBFTkFCTEVfQUxMT0NBVElPTl9MT0dHSU5HIDAK
KyNpZiBPUyhEQVJXSU4pCisjZGVmaW5lIEhBVkVfTUFEVl9ET05UTkVFRCAxCiAjZW5kaWYKIAot
LyogRW5hYmxlIHZlcmlmaWNhdGlvbiB0aGF0IHRoYXQgcmVnaXN0ZXIgYWxsb2NhdGlvbnMgYXJl
IG5vdCBtYWRlIHdpdGhpbiBnZW5lcmF0ZWQgY29udHJvbCBmbG93LgotICAgVHVybmVkIG9uIGZv
ciBkZWJ1ZyBidWlsZHMuICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX0RGR19SRUdJU1RFUl9BTExP
Q0FUSU9OX1ZBTElEQVRJT04pICYmIEVOQUJMRShERkdfSklUKQotI2lmICFkZWZpbmVkKE5ERUJV
RykKLSNkZWZpbmUgRU5BQkxFX0RGR19SRUdJU1RFUl9BTExPQ0FUSU9OX1ZBTElEQVRJT04gMQot
I2Vsc2UKLSNkZWZpbmUgRU5BQkxFX0RGR19SRUdJU1RFUl9BTExPQ0FUSU9OX1ZBTElEQVRJT04g
MAotI2VuZGlmCisjaWYgT1MoREFSV0lOKQorI2RlZmluZSBIQVZFX01FUkdFU09SVCAxCiAjZW5k
aWYKIAotLyogQ29uZmlndXJlIHRoZSBKSVQgKi8KLSNpZiBDUFUoWDg2KSAmJiBDT01QSUxFUihN
U1ZDKQotI2RlZmluZSBKU0NfSE9TVF9DQUxMIF9fZmFzdGNhbGwKLSNlbGlmIENQVShYODYpICYm
IENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKQotI2RlZmluZSBKU0NfSE9TVF9DQUxMIF9fYXR0cmli
dXRlX18gKChmYXN0Y2FsbCkpCi0jZWxzZQotI2RlZmluZSBKU0NfSE9TVF9DQUxMCisjaWYgT1Mo
REFSV0lOKQorI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCiAjZW5kaWYKIAotI2lm
IENQVShYODYpICYmIE9TKFdJTkRPV1MpCi0jZGVmaW5lIENBTExJTkdfQ09OVkVOVElPTl9JU19T
VERDQUxMIDEKLSNpZm5kZWYgQ0RFQ0wKLSNpZiBDT01QSUxFUihNU1ZDKQotI2RlZmluZSBDREVD
TCBfX2NkZWNsCi0jZWxzZQotI2RlZmluZSBDREVDTCBfX2F0dHJpYnV0ZV9fICgoX19jZGVjbCkp
Ci0jZW5kaWYKLSNlbmRpZgotI2Vsc2UKLSNkZWZpbmUgQ0FMTElOR19DT05WRU5USU9OX0lTX1NU
RENBTEwgMAorI2lmIE9TKERBUldJTikKKyNkZWZpbmUgSEFWRV9SRUFETElORSAxCiAjZW5kaWYK
IAotI2lmIENQVShYODYpCi0jZGVmaW5lIFdURl9DT01QSUxFUl9TVVBQT1JUU19GQVNUQ0FMTF9D
QUxMSU5HX0NPTlZFTlRJT04gMQotI2lmbmRlZiBGQVNUQ0FMTAotI2lmIENPTVBJTEVSKE1TVkMp
Ci0jZGVmaW5lIEZBU1RDQUxMIF9fZmFzdGNhbGwKLSNlbHNlCi0jZGVmaW5lIEZBU1RDQUxMICBf
X2F0dHJpYnV0ZV9fICgoZmFzdGNhbGwpKQotI2VuZGlmCi0jZW5kaWYKLSNlbHNlCi0jZGVmaW5l
IFdURl9DT01QSUxFUl9TVVBQT1JUU19GQVNUQ0FMTF9DQUxMSU5HX0NPTlZFTlRJT04gMAorI2lm
IE9TKERBUldJTikKKyNkZWZpbmUgSEFWRV9TWVNfVElNRUJfSCAxCiAjZW5kaWYKIAotI2lmIEVO
QUJMRShKSVQpICYmIENBTExJTkdfQ09OVkVOVElPTl9JU19TVERDQUxMCi0jZGVmaW5lIEpJVF9P
UEVSQVRJT04gQ0RFQ0wKLSNlbHNlCi0jZGVmaW5lIEpJVF9PUEVSQVRJT04KKyNpZiBPUyhEQVJX
SU4pCisjZGVmaW5lIEhBVkVfQVVESVRfVE9LRU4gMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShJ
T1NfRkFNSUxZKSAmJiBDUFUoQVJNNjQpICYmICghRU5BQkxFKEZBU1RfSklUX1BFUk1JU1NJT05T
KSB8fCAhQ1BVKEFSTTY0RSkpCi0jZGVmaW5lIEVOQUJMRV9TRVBBUkFURURfV1hfSEVBUCAxCi0j
ZWxzZQotI2RlZmluZSBFTkFCTEVfU0VQQVJBVEVEX1dYX0hFQVAgMAorI2lmIE9TKERBUldJTikg
JiYgX19oYXNfaW5jbHVkZSg8bWFjaC9tYWNoX2V4Yy5kZWZzPikgJiYgIVBMQVRGT1JNKEdUSykK
KyNkZWZpbmUgSEFWRV9NQUNIX0VYQ0VQVElPTlMgMQogI2VuZGlmCiAKLS8qIENvbmZpZ3VyZSB0
aGUgaW50ZXJwcmV0ZXIgKi8KLSNpZiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKLSNkZWZpbmUg
SEFWRV9DT01QVVRFRF9HT1RPIDEKKyNpZiBPUyhEQVJXSU4pICYmICFQTEFURk9STShHVEspCisj
ZGVmaW5lIFVTRV9BQ0NFTEVSQVRFIDEKICNlbmRpZgogCi0vKiBEZXRlcm1pbmUgaWYgd2UgbmVl
ZCB0byBlbmFibGUgQ29tcHV0ZWQgR290byBPcGNvZGVzIG9yIG5vdDogKi8KLSNpZiBIQVZFKENP
TVBVVEVEX0dPVE8pIHx8ICFFTkFCTEUoQ19MT09QKQotI2RlZmluZSBFTkFCTEVfQ09NUFVURURf
R09UT19PUENPREVTIDEKKyNpZiBPUyhEQVJXSU4pICYmICFQTEFURk9STShJT1NfRkFNSUxZKQor
I2RlZmluZSBIQVZFX0hPU1RFRF9DT1JFX0FOSU1BVElPTiAxCiAjZW5kaWYKIAotI2lmICFkZWZp
bmVkKFVTRV9MTElOVF9FTUJFRERFRF9PUENPREVfSUQpICYmICFFTkFCTEUoQ19MT09QKSAmJiAh
Q09NUElMRVIoTVNWQykgJiYgXAotICAgIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUo
QVJNNjQpIHx8IChDUFUoQVJNX1RIVU1CMikgJiYgT1MoREFSV0lOKSkpCi0vKiBUaGlzIGZlYXR1
cmUgd29ya3MgYnkgZW1iZWRkaW5nIHRoZSBPcGNvZGVJRCBpbiB0aGUgMzIgYml0IGp1c3QgYmVm
b3JlIHRoZSBnZW5lcmF0ZWQgTExpbnQgY29kZQotICAgdGhhdCBleGVjdXRlcyBlYWNoIG9wY29k
ZS4gSXQgY2Fubm90IGJlIHN1cHBvcnRlZCBieSB0aGUgQ0xvb3Agc2luY2UgdGhlcmUncyBubyB3
YXkgdG8gZW1iZWQgdGhlCi0gICBPcGNvZGVJRCB3b3JkIGluIHRoZSBDTG9vcCdzIHN3aXRjaCBz
dGF0ZW1lbnQgY2FzZXMuIEl0IGlzIGFsc28gY3VycmVudGx5IG5vdCBpbXBsZW1lbnRlZCBmb3Ig
TVNWQy4KLSovCi0jZGVmaW5lIFVTRV9MTElOVF9FTUJFRERFRF9PUENPREVfSUQgMQotI2VuZGlm
CiAKLS8qIFVzZSBfX2J1aWx0aW5fZnJhbWVfYWRkcmVzcygxKSB0byBnZXQgQ2FsbEZyYW1lKiAq
LwotI2lmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKSAmJiAoQ1BVKEFSTTY0KSB8fCBDUFUoWDg2
XzY0KSkKLSNkZWZpbmUgVVNFX0JVSUxUSU5fRlJBTUVfQUREUkVTUyAxCisjaWYgT1MoREFSV0lO
KSB8fCBPUyhGVUNIU0lBKSB8fCAoKE9TKEZSRUVCU0QpIHx8IGRlZmluZWQoX19HTElCQ19fKSB8
fCBkZWZpbmVkKF9fQklPTklDX18pKSAmJiAoQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkgfHwgQ1BV
KEFSTSkgfHwgQ1BVKEFSTTY0KSB8fCBDUFUoTUlQUykpKQorI2RlZmluZSBIQVZFX01BQ0hJTkVf
Q09OVEVYVCAxCiAjZW5kaWYKIAotLyogUmVndWxhciBFeHByZXNzaW9uIFRyYWNpbmcgLSBTZXQg
dG8gMSB0byB0cmFjZSBSZWdFeHAncyBpbiBqc2MuICBSZXN1bHRzIGR1bXBlZCBhdCBleGl0ICov
Ci0jZGVmaW5lIEVOQUJMRV9SRUdFWFBfVFJBQ0lORyAwCi0KLS8qIFlldCBBbm90aGVyIFJlZ2V4
IFJ1bnRpbWUgLSB0dXJuZWQgb24gYnkgZGVmYXVsdCBmb3IgSklUIGVuYWJsZWQgcG9ydHMuICov
Ci0jaWYgIWRlZmluZWQoRU5BQkxFX1lBUlJfSklUKSAmJiBFTkFCTEUoSklUKQotI2RlZmluZSBF
TkFCTEVfWUFSUl9KSVQgMQotCi0vKiBTZXR0aW5nIHRoaXMgZmxhZyBjb21wYXJlcyBKSVQgcmVz
dWx0cyB3aXRoIGludGVycHJldGVyIHJlc3VsdHMuICovCi0jZGVmaW5lIEVOQUJMRV9ZQVJSX0pJ
VF9ERUJVRyAwCisjaWYgT1MoREFSV0lOKSB8fCAoT1MoTElOVVgpICYmIGRlZmluZWQoX19HTElC
Q19fKSAmJiAhZGVmaW5lZChfX1VDTElCQ19fKSAmJiAhQ1BVKE1JUFMpKQorI2RlZmluZSBIQVZF
X0JBQ0tUUkFDRSAxCiAjZW5kaWYKIAotI2lmIEVOQUJMRShZQVJSX0pJVCkKLSNpZiBDUFUoQVJN
NjQpIHx8IChDUFUoWDg2XzY0KSAmJiAhT1MoV0lORE9XUykpCi0vKiBFbmFibGUgSklUJ2luZyBS
ZWd1bGFyIEV4cHJlc3Npb25zIHRoYXQgaGF2ZSBuZXN0ZWQgcGFyZW50aGVzaXMgYW5kIGJhY2sg
cmVmZXJlbmNlcy4gKi8KLSNkZWZpbmUgRU5BQkxFX1lBUlJfSklUX0FMTF9QQVJFTlNfRVhQUkVT
U0lPTlMgMQotI2RlZmluZSBFTkFCTEVfWUFSUl9KSVRfQkFDS1JFRkVSRU5DRVMgMQotI2VuZGlm
CisjaWYgT1MoREFSV0lOKSB8fCBPUyhMSU5VWCkKKyNpZiBQTEFURk9STShHVEspCisjaWYgZGVm
aW5lZChfX0dMSUJDX18pICYmICFkZWZpbmVkKF9fVUNMSUJDX18pICYmICFDUFUoTUlQUykKKyNk
ZWZpbmUgSEFWRV9CQUNLVFJBQ0VfU1lNQk9MUyAxCiAjZW5kaWYKKyNlbmRpZiAvKiBQTEFURk9S
TShHVEspICovCisjZGVmaW5lIEhBVkVfRExBRERSIDEKKyNlbmRpZiAvKiBPUyhEQVJXSU4pIHx8
IE9TKExJTlVYKSAqLwogCi0vKiBJZiBlaXRoZXIgdGhlIEpJVCBvciB0aGUgUmVnRXhwIEpJVCBp
cyBlbmFibGVkLCB0aGVuIHRoZSBBc3NlbWJsZXIgbXVzdCBiZQotICAgZW5hYmxlZCBhcyB3ZWxs
OiAqLwotI2lmIEVOQUJMRShKSVQpIHx8IEVOQUJMRShZQVJSX0pJVCkgfHwgIUVOQUJMRShDX0xP
T1ApCi0jaWYgZGVmaW5lZChFTkFCTEVfQVNTRU1CTEVSKSAmJiAhRU5BQkxFX0FTU0VNQkxFUgot
I2Vycm9yICJDYW5ub3QgZW5hYmxlIHRoZSBKSVQgb3IgUmVnRXhwIEpJVCB3aXRob3V0IGVuYWJs
aW5nIHRoZSBBc3NlbWJsZXIiCi0jZWxzZQotI3VuZGVmIEVOQUJMRV9BU1NFTUJMRVIKLSNkZWZp
bmUgRU5BQkxFX0FTU0VNQkxFUiAxCi0jZW5kaWYKLSNlbmRpZgogCi0vKiBJZiB0aGUgRGlzYXNz
ZW1ibGVyIGlzIGVuYWJsZWQsIHRoZW4gdGhlIEFzc2VtYmxlciBtdXN0IGJlIGVuYWJsZWQgYXMg
d2VsbDogKi8KLSNpZiBFTkFCTEUoRElTQVNTRU1CTEVSKQotI2lmIGRlZmluZWQoRU5BQkxFX0FT
U0VNQkxFUikgJiYgIUVOQUJMRV9BU1NFTUJMRVIKLSNlcnJvciAiQ2Fubm90IGVuYWJsZSB0aGUg
RGlzYXNzZW1ibGVyIHdpdGhvdXQgZW5hYmxpbmcgdGhlIEFzc2VtYmxlciIKLSNlbHNlCi0jdW5k
ZWYgRU5BQkxFX0FTU0VNQkxFUgotI2RlZmluZSBFTkFCTEVfQVNTRU1CTEVSIDEKLSNlbmRpZgor
I2lmIE9TKFdJTkRPV1MpCisjZGVmaW5lIFVTRV9TWVNURU1fTUFMTE9DIDEKICNlbmRpZgogCi0v
KiBBU1NFUlRfRU5BQkxFRCBzaG91bGQgYmUgdHJ1ZSBpZiB3ZSB3YW50IHRoZSBjdXJyZW50IGNv
bXBpbGF0aW9uIHVuaXQgdG8KLSAgIGRvIGRlYnVnIGFzc2VydGlvbiBjaGVja3MgdW5jb25kaXRp
b25hbGx5IChlLmcuIHRyZWF0IGEgZGVidWcgQVNTRVJUCi0gICBsaWtlIGEgUkVMRUFTRV9BU1NF
UlQuCi0qLwotI2lmbmRlZiBBU1NFUlRfRU5BQkxFRAotI2lmZGVmIE5ERUJVRwotI2RlZmluZSBB
U1NFUlRfRU5BQkxFRCAwCisjaWYgIWRlZmluZWQoVVNFX0pTVkFMVUU2NCkgJiYgIWRlZmluZWQo
VVNFX0pTVkFMVUUzMl82NCkKKyNpZiBDUFUoQUREUkVTUzY0KSB8fCBDUFUoQVJNNjQpCisjZGVm
aW5lIFVTRV9KU1ZBTFVFNjQgMQogI2Vsc2UKLSNkZWZpbmUgQVNTRVJUX0VOQUJMRUQgMQotI2Vu
ZGlmCisjZGVmaW5lIFVTRV9KU1ZBTFVFMzJfNjQgMQogI2VuZGlmCisjZW5kaWYgLyogIWRlZmlu
ZWQoVVNFX0pTVkFMVUU2NCkgJiYgIWRlZmluZWQoVVNFX0pTVkFMVUUzMl82NCkgKi8KIAotI2lm
bmRlZiBFTkFCTEVfRVhDRVBUSU9OX1NDT1BFX1ZFUklGSUNBVElPTgotI2RlZmluZSBFTkFCTEVf
RVhDRVBUSU9OX1NDT1BFX1ZFUklGSUNBVElPTiBBU1NFUlRfRU5BQkxFRAorI2lmIF9faGFzX2lu
Y2x1ZGUoPFN5c3RlbS9wdGhyZWFkX21hY2hkZXAuaD4pCisjZGVmaW5lIEhBVkVfRkFTVF9UTFMg
MQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoREZHX0pJVCkgJiYgSEFWRShNQUNISU5FX0NPTlRFWFQp
ICYmIChDUFUoWDg2XzY0KSB8fCBDUFUoQVJNNjQpKQotI2RlZmluZSBFTkFCTEVfU0lHTkFMX0JB
U0VEX1ZNX1RSQVBTIDEKKyNpZiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKKyNkZWZpbmUgSEFW
RV9DT01QVVRFRF9HT1RPIDEKICNlbmRpZgogCi0vKiBDU1MgU2VsZWN0b3IgSklUIENvbXBpbGVy
ICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX0NTU19TRUxFQ1RPUl9KSVQpCi0jaWYgKENQVShYODZf
NjQpIHx8IENQVShBUk02NCkgfHwgKENQVShBUk1fVEhVTUIyKSAmJiBQTEFURk9STShJT1NfRkFN
SUxZKSkpICYmIEVOQUJMRShKSVQpICYmIChPUyhEQVJXSU4pIHx8IFBMQVRGT1JNKEdUSykgfHwg
UExBVEZPUk0oV1BFKSkKLSNkZWZpbmUgRU5BQkxFX0NTU19TRUxFQ1RPUl9KSVQgMQotI2Vsc2UK
LSNkZWZpbmUgRU5BQkxFX0NTU19TRUxFQ1RPUl9KSVQgMAotI2VuZGlmCisvKiBGSVhNRTogVGhp
cyBuYW1lIHNob3VsZCBiZSBtb3JlIHNwZWNpZmljIGlmIGl0IGlzIG9ubHkgZm9yIHVzZSB3aXRo
IENhbGxGcmFtZSogKi8KKy8qIFVzZSBfX2J1aWx0aW5fZnJhbWVfYWRkcmVzcygxKSB0byBnZXQg
Q2FsbEZyYW1lKiAqLworI2lmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKSAmJiAoQ1BVKEFSTTY0
KSB8fCBDUFUoWDg2XzY0KSkKKyNkZWZpbmUgVVNFX0JVSUxUSU5fRlJBTUVfQUREUkVTUyAxCiAj
ZW5kaWYKIAogI2lmIENQVShBUk02NEUpICYmIE9TKERBUldJTikKQEAgLTc2NSwxMyArNjA2LDI1
IEBACiAKICNpZiBQTEFURk9STShJT1MpCiAjZGVmaW5lIEhBVkVfQVBQX0xJTktTIDEKKyNlbmRp
ZgorCisjaWYgUExBVEZPUk0oSU9TKQogI2RlZmluZSBVU0VfUEFTU0tJVCAxCisjZW5kaWYKKwor
I2lmIFBMQVRGT1JNKElPUykKICNkZWZpbmUgVVNFX1FVSUNLX0xPT0sgMQorI2VuZGlmCisKKyNp
ZiBQTEFURk9STShJT1MpCiAjZGVmaW5lIFVTRV9TWVNURU1fUFJFVklFVyAxCiAjZW5kaWYKIAog
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmICFQTEFURk9STShNQUNDQVRBTFlTVCkKICNkZWZp
bmUgSEFWRV9DRUxFU1RJQUwgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAm
JiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAjZGVmaW5lIEhBVkVfQ09SRV9BTklNQVRJT05fUkVO
REVSX1NFUlZFUiAxCiAjZW5kaWYKIApAQCAtNzgwLDg0ICs2MzMsMjYgQEAKICNlbmRpZgogCiAj
aWYgUExBVEZPUk0oQ09DT0EpCi0KICNkZWZpbmUgVVNFX0FWRk9VTkRBVElPTiAxCi0jZGVmaW5l
IFVTRV9QUk9URUNUSU9OX1NQQUNFX0FVVEhfQ0FMTEJBQ0sgMQorI2VuZGlmCiAKLSNpZiAhUExB
VEZPUk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpICYmICFQTEFURk9STShNQUNDQVRB
TFlTVCkKLSNkZWZpbmUgRU5BQkxFX0RBVEFfREVURUNUSU9OIDEKKyNpZiBQTEFURk9STShDT0NP
QSkKKyNkZWZpbmUgVVNFX1BST1RFQ1RJT05fU1BBQ0VfQVVUSF9DQUxMQkFDSyAxCiAjZW5kaWYK
IAogLyogRklYTUU6IEVuYWJsZSBIQVZFX1BBUkVOVEFMX0NPTlRST0xTIGZvciB3YXRjaE9TIFNp
bXVsYXRvciBvbmNlIHJkYXI6Ly9wcm9ibGVtLzU0NjA4Mzg2IGlzIHJlc29sdmVkICovCi0jaWYg
IVBMQVRGT1JNKEFQUExFVFYpICYmICghUExBVEZPUk0oV0FUQ0hPUykgfHwgIVBMQVRGT1JNKElP
U19GQU1JTFlfU0lNVUxBVE9SKSkKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgKCFQTEFURk9STShB
UFBMRVRWKSAmJiAoIVBMQVRGT1JNKFdBVENIT1MpIHx8ICFQTEFURk9STShJT1NfRkFNSUxZX1NJ
TVVMQVRPUikpKQogI2RlZmluZSBIQVZFX1BBUkVOVEFMX0NPTlRST0xTIDEKICNlbmRpZgogCi0j
aWYgIVBMQVRGT1JNKEFQUExFVFYpCisjaWYgUExBVEZPUk0oQ09DT0EpICYmICFQTEFURk9STShB
UFBMRVRWKQogI2RlZmluZSBIQVZFX0FWS0lUIDEKICNlbmRpZgogCi0jaWYgRU5BQkxFKFdFQkdM
KQotLyogVVNFX0FOR0xFPTEgdXNlcyBBTkdMRSBmb3IgdGhlIFdlYkdMIGJhY2tlbmQuCi0gICBJ
dCByZXBsYWNlcyBVU0VfT1BFTkdMLCBVU0VfT1BFTkdMX0VTIGFuZCBVU0VfRUdMLiAqLwotI2lm
IFBMQVRGT1JNKE1BQykgfHwgKFBMQVRGT1JNKE1BQ0NBVEFMWVNUKSAmJiBfX2hhc19pbmNsdWRl
KDxPcGVuR0wvT3BlbkdMLmg+KSkKLSNkZWZpbmUgVVNFX09QRU5HTCAxCi0jZGVmaW5lIFVTRV9P
UEVOR0xfRVMgMAotI2RlZmluZSBVU0VfQU5HTEUgMAotI2Vsc2UKLSNkZWZpbmUgVVNFX09QRU5H
TCAwCi0jZGVmaW5lIFVTRV9PUEVOR0xfRVMgMQotI2RlZmluZSBVU0VfQU5HTEUgMAotI2VuZGlm
CiAjaWYgUExBVEZPUk0oQ09DT0EpCi0jaWZuZGVmIEdMX1NJTEVOQ0VfREVQUkVDQVRJT04KLSNk
ZWZpbmUgR0xfU0lMRU5DRV9ERVBSRUNBVElPTiAxCi0jZW5kaWYKLSNpZiBVU0UoT1BFTkdMKSAm
JiAhZGVmaW5lZChIQVZFX09QRU5HTF80KQotI2RlZmluZSBIQVZFX09QRU5HTF80IDEKLSNlbmRp
ZgotI2lmIFVTRShPUEVOR0xfRVMpICYmICFkZWZpbmVkKEhBVkVfT1BFTkdMX0VTXzMpCi0jZGVm
aW5lIEhBVkVfT1BFTkdMX0VTXzMgMQotI2VuZGlmCi0jZW5kaWYKLSNpZiBVU0VfQU5HTEUgJiYg
KFVTRV9PUEVOR0wgfHwgVVNFX09QRU5HTF9FUykKLSNlcnJvciBVU0VfQU5HTEUgaXMgaW5jb21w
YXRpYmxlIHdpdGggVVNFX09QRU5HTCBhbmQgVVNFX09QRU5HTF9FUwotI2VuZGlmCi0jZW5kaWYK
LQogI2RlZmluZSBVU0VfTUVUQUwgMQotCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCi0jZGVm
aW5lIFVTRV9BQ0NFU1NJQklMSVRZX0NPTlRFWFRfTUVOVVMgMQotI2VuZGlmCi0KLSNlbmRpZgot
Ci0jaWYgRU5BQkxFKFdFQkdMKQotI2lmICFkZWZpbmVkKFVTRV9BTkdMRSkKLSNkZWZpbmUgVVNF
X0FOR0xFIDAKLSNlbmRpZgotCi0jaWYgKFVTRV9BTkdMRSAmJiAoVVNFX09QRU5HTCB8fCBVU0Vf
T1BFTkdMX0VTIHx8IChkZWZpbmVkKFVTRV9FR0wpICYmIFVTRV9FR0wpKSkgJiYgIVVTRShURVhU
VVJFX01BUFBFUikKLSNlcnJvciBVU0VfQU5HTEUgaXMgaW5jb21wYXRpYmxlIHdpdGggVVNFX09Q
RU5HTCwgVVNFX09QRU5HTF9FUyBhbmQgVVNFX0VHTAotI2VuZGlmCi0jZW5kaWYKLQotI2lmIFVT
RShURVhUVVJFX01BUFBFUikgJiYgRU5BQkxFKEdSQVBISUNTX0NPTlRFWFRfR0wpICYmICFkZWZp
bmVkKFVTRV9URVhUVVJFX01BUFBFUl9HTCkKLSNkZWZpbmUgVVNFX1RFWFRVUkVfTUFQUEVSX0dM
IDEKICNlbmRpZgogCi0jaWYgQ1BVKEFSTV9USFVNQjIpIHx8IENQVShBUk02NCkKLSNkZWZpbmUg
RU5BQkxFX0JSQU5DSF9DT01QQUNUSU9OIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxF
X1RIUkVBRElOR19MSUJESVNQQVRDSCkgJiYgSEFWRShESVNQQVRDSF9IKQotI2RlZmluZSBFTkFC
TEVfVEhSRUFESU5HX0xJQkRJU1BBVENIIDEKLSNlbGlmICFkZWZpbmVkKEVOQUJMRV9USFJFQURJ
TkdfT1BFTk1QKSAmJiBkZWZpbmVkKF9PUEVOTVApCi0jZGVmaW5lIEVOQUJMRV9USFJFQURJTkdf
T1BFTk1QIDEKLSNlbGlmICFkZWZpbmVkKFRIUkVBRElOR19HRU5FUklDKQotI2RlZmluZSBFTkFC
TEVfVEhSRUFESU5HX0dFTkVSSUMgMQotI2VuZGlmCiAKICNpZiBVU0UoR0xJQikKICNpbmNsdWRl
IDx3dGYvZ2xpYi9HVHlwZWRlZnMuaD4KQEAgLTg3NSwzNSArNjcwLDIzIEBACiAjZGVmaW5lIFVT
RV9JTUxBTkdfRk9OVF9MSU5LMiAxCiAjZW5kaWYKIAotI2lmICFkZWZpbmVkKEVOQUJMRV9HQ19W
QUxJREFUSU9OKSAmJiAhZGVmaW5lZChOREVCVUcpCi0jZGVmaW5lIEVOQUJMRV9HQ19WQUxJREFU
SU9OIDEKKyNpZiBQTEFURk9STShDT0NPQSkKKyNkZWZpbmUgVVNFX0NPUkVNRURJQSAxCiAjZW5k
aWYKIAotI2lmICFkZWZpbmVkKEVOQUJMRV9CSU5ESU5HX0lOVEVHUklUWSkgJiYgIU9TKFdJTkRP
V1MpCi0jZGVmaW5lIEVOQUJMRV9CSU5ESU5HX0lOVEVHUklUWSAxCisjaWYgUExBVEZPUk0oQ09D
T0EpCisjZGVmaW5lIFVTRV9WSURFT1RPT0xCT1ggMQogI2VuZGlmCiAKLSNpZiAhZGVmaW5lZChF
TkFCTEVfVFJFRV9ERUJVR0dJTkcpCi0jaWYgIWRlZmluZWQoTkRFQlVHKQotI2RlZmluZSBFTkFC
TEVfVFJFRV9ERUJVR0dJTkcgMQotI2Vsc2UKLSNkZWZpbmUgRU5BQkxFX1RSRUVfREVCVUdHSU5H
IDAKLSNlbmRpZgorI2lmIFBMQVRGT1JNKENPQ09BKQorI2RlZmluZSBIQVZFX0FWRk9VTkRBVElP
Tl9WSURFT19PVVRQVVQgMQogI2VuZGlmCiAKLS8qCi0gKiBFbmFibGUgdGhpcyB0byBwdXQgZWFj
aCBJc29IZWFwIGFuZCBvdGhlciBhbGxvY2F0aW9uIGNhdGVnb3JpZXMgaW50byB0aGVpciBvd24g
bWFsbG9jIGhlYXBzLCBzbyB0aGF0IHRvb2xzIGxpa2Ugdm1tYXAgY2FuIHNob3cgaG93IGJpZyBl
YWNoIGhlYXAgaXMuCi0gKiBUdXJuIEJFTkFCTEVfTUFMTE9DX0hFQVBfQlJFQUtET1dOIG9uIGlu
IGJtYWxsb2MgdG9nZXRoZXIgd2hlbiB1c2luZyB0aGlzLgotICovCi0jaWYgIWRlZmluZWQoRU5B
QkxFX01BTExPQ19IRUFQX0JSRUFLRE9XTikKLSNkZWZpbmUgRU5BQkxFX01BTExPQ19IRUFQX0JS
RUFLRE9XTiAwCisjaWYgUExBVEZPUk0oQ09DT0EpCisjZGVmaW5lIEhBVkVfQ09SRV9WSURFTyAx
CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENPQ09BKQotI2RlZmluZSBVU0VfQ09SRU1FRElBIDEK
LSNkZWZpbmUgVVNFX1ZJREVPVE9PTEJPWCAxCi0jZGVmaW5lIEhBVkVfQVZGT1VOREFUSU9OX1ZJ
REVPX09VVFBVVCAxCi0jZGVmaW5lIEhBVkVfQ09SRV9WSURFTyAxCiAjZGVmaW5lIEhBVkVfTUVE
SUFfUExBWUVSIDEKICNlbmRpZgogCkBAIC05MTMsNiArNjk2LDkgQEAKIAogI2lmIFBMQVRGT1JN
KENPQ09BKQogI2RlZmluZSBIQVZFX0FWRk9VTkRBVElPTl9MRUdJQkxFX09VVFBVVF9TVVBQT1JU
IDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0EpCiAjZGVmaW5lIEhBVkVfTUVESUFfQUND
RVNTSUJJTElUWV9GUkFNRVdPUksgMQogI2VuZGlmCiAKQEAgLTkyNiw2ICs3MTIsOSBAQAogCiAj
aWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKICNkZWZpbmUgSEFWRV9B
UFBMRV9HUkFQSElDU19DT05UUk9MIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQ
TEFURk9STShNQUNDQVRBTFlTVCkKICNkZWZpbmUgSEFWRV9OU0NVUlNPUiAxCiAjZW5kaWYKIApA
QCAtOTM3LDIzICs3MjYsMjAgQEAKICNkZWZpbmUgVVNFX1pMSUIgMQogI2VuZGlmCiAKLSNpZm5k
ZWYgSEFWRV9RT1NfQ0xBU1NFUwotI2lmIFBMQVRGT1JNKENPQ09BKQorI2lmICFkZWZpbmVkKEhB
VkVfUU9TX0NMQVNTRVMpICYmIFBMQVRGT1JNKENPQ09BKQogI2RlZmluZSBIQVZFX1FPU19DTEFT
U0VTIDEKICNlbmRpZgotI2VuZGlmCiAKLSNpZm5kZWYgSEFWRV9WT1VDSEVSUwotI2lmIFBMQVRG
T1JNKENPQ09BKQorI2lmICFkZWZpbmVkKEhBVkVfVk9VQ0hFUlMpICYmIFBMQVRGT1JNKENPQ09B
KQogI2RlZmluZSBIQVZFX1ZPVUNIRVJTIDEKICNlbmRpZgotI2VuZGlmCiAKICNkZWZpbmUgVVNF
X0dSQU1NQVJfQ0hFQ0tJTkcgMQogCiAjaWYgUExBVEZPUk0oQ09DT0EpIHx8IFBMQVRGT1JNKEdU
SykKICNkZWZpbmUgVVNFX1VOSUZJRURfVEVYVF9DSEVDS0lORyAxCiAjZW5kaWYKKwogI2lmIFBM
QVRGT1JNKE1BQykKICNkZWZpbmUgVVNFX0FVVE9NQVRJQ19URVhUX1JFUExBQ0VNRU5UIDEKICNl
bmRpZgpAQCAtOTkyLDE1ICs3NzgsNiBAQAogI2RlZmluZSBIQVZFX0lPU1VSRkFDRV9BQ0NFTEVS
QVRPUiAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKENPQ09BKQotI2RlZmluZSBFTkFCTEVfUkVT
T1VSQ0VfVVNBR0UgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFdQ
RSkKLSN1bmRlZiBFTkFCTEVfT1BFTlRZUEVfVkVSVElDQUwKLSNkZWZpbmUgRU5BQkxFX09QRU5U
WVBFX1ZFUlRJQ0FMIDEKLSNlbmRpZgotCiAjaWYgQ09NUElMRVIoTVNWQykKICN1bmRlZiBfX1NU
RENfRk9STUFUX01BQ1JPUwogI2RlZmluZSBfX1NURENfRk9STUFUX01BQ1JPUwpAQCAtMTAxMiwx
MyArNzg5LDYgQEAKICNkZWZpbmUgSEFWRV9OU19BQ1RJVklUWSAxCiAjZW5kaWYKIAotLyogRGlz
YWJsZSBTaGFyZWRBcnJheUJ1ZmZlcnMgdW50aWwgU3BlY3RyZSBzZWN1cml0eSBjb25jZXJucyBh
cmUgbWl0aWdhdGVkLiAqLwotI2RlZmluZSBFTkFCTEVfU0hBUkVEX0FSUkFZX0JVRkZFUiAwCi0K
LSNpZiAoT1MoREFSV0lOKSAmJiBVU0UoQ0cpKSB8fCAoVVNFKEZSRUVUWVBFKSAmJiAhUExBVEZP
Uk0oR1RLKSkgfHwgKFBMQVRGT1JNKFdJTikgJiYgKFVTRShDRykgfHwgVVNFKENBSVJPKSkpCi0j
dW5kZWYgRU5BQkxFX09QRU5UWVBFX01BVEgKLSNkZWZpbmUgRU5BQkxFX09QRU5UWVBFX01BVEgg
MQotI2VuZGlmCiAKIC8qIFNldCBUQVJHRVRfT1NfSVBIT05FIHRvIDAgYnkgZGVmYXVsdCB0byBh
bGxvdyB1c2luZyBpdCBhcyBhIGd1YXJkIAogICogaW4gY3Jvc3MtcGxhdGZvcm0gdGhlIHNhbWUg
d2F5IGFzIGl0IGlzIHVzZWQgaW4gT1MoREFSV0lOKSBjb2RlLiAqLyAKQEAgLTEwMzIsOSArODAy
LDEwIEBACiAKICNpZiBQTEFURk9STShDT0NPQSkKICNkZWZpbmUgVVNFX09TX0xPRyAxCi0jaWYg
VVNFKEFQUExFX0lOVEVSTkFMX1NESykKLSNkZWZpbmUgVVNFX09TX1NUQVRFIDEKICNlbmRpZgor
CisjaWYgUExBVEZPUk0oQ09DT0EpICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjZGVmaW5l
IFVTRV9PU19TVEFURSAxCiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENPQ09BKQpAQCAtMTA3Niwx
NyArODQ3LDEzIEBACiAKICNpZiBQTEFURk9STShNQUMpCiAjZGVmaW5lIEhBVkVfVE9VQ0hfQkFS
IDEKLSNkZWZpbmUgVVNFX0RJQ1RBVElPTl9BTFRFUk5BVElWRVMgMQotCi0jaWYgZGVmaW5lZChf
X0xQNjRfXykKLSNkZWZpbmUgRU5BQkxFX1dFQl9QTEFZQkFDS19DT05UUk9MU19NQU5BR0VSIDEK
ICNlbmRpZgotI2VuZGlmIC8qIFBMQVRGT1JNKE1BQykgKi8KIAotI2lmIFBMQVRGT1JNKENPQ09B
KSAmJiBFTkFCTEUoV0VCX1JUQykKLSNkZWZpbmUgVVNFX0xJQldFQlJUQyAxCisjaWYgUExBVEZP
Uk0oTUFDKQorI2RlZmluZSBVU0VfRElDVEFUSU9OX0FMVEVSTkFUSVZFUyAxCiAjZW5kaWYKIAor
CiAjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQ0NBVEFM
WVNUKSB8fCBVU0UoR0NSWVBUKQogI2RlZmluZSBIQVZFX1JTQV9QU1MgMQogI2VuZGlmCkBAIC0x
MTg0LDEyICs5NTEsNiBAQAogI2RlZmluZSBIQVZFX0xJTktfUFJFVklFVyAxCiAjZW5kaWYKIAot
I2lmIFBMQVRGT1JNKENPQ09BKQotLyogRklYTUU6IFRoaXMgaXMgYSBVU0Ugc3R5bGUgbWFjcm8s
IGFzIGl0IHRyaWdnZXJzIHRoZSB1c2Ugb2YgQ0ZVUkxDb25uZWN0aW9uIGZyYW1ld29yayBzdHVi
cy4gKi8KLS8qIEZJWE1FOiBJcyB0aGlzIHN0aWxsIG5lY2Vzc2FyeT8gQ0ZVUkxDb25uZWN0aW9u
IGlzbid0IHVzZWQgb24gQ29jb2EgcGxhdGZvcm1zIGFueSBtb3JlLiAqLwotI2RlZmluZSBFTkFC
TEVfU0VDX0lURU1fU0hJTSAxCi0jZW5kaWYKLQogI2lmIChQTEFURk9STShJT1NfRkFNSUxZKSB8
fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
MTQwMCkpCiAjZGVmaW5lIEhBVkVfQUNDRVNTSUJJTElUWV9TVVBQT1JUIDEKICNlbmRpZgpAQCAt
MTE5OCwxNCArOTU5LDYgQEAKICNkZWZpbmUgSEFWRV9BQ0NFU1NJQklMSVRZX0JVTkRMRVNfUEFU
SCAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKE1BQykKLSNkZWZpbmUgRU5BQkxFX0ZVTExfS0VZ
Qk9BUkRfQUNDRVNTIDEKLSNlbmRpZgotCi0jaWYgKChQTEFURk9STShDT0NPQSkgfHwgUExBVEZP
Uk0oUExBWVNUQVRJT04pIHx8IFBMQVRGT1JNKFdQRSkpICYmIEVOQUJMRShBU1lOQ19TQ1JPTExJ
TkcpKSB8fCBQTEFURk9STShHVEspCi0jZGVmaW5lIEVOQUJMRV9LSU5FVElDX1NDUk9MTElORyAx
Ci0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpIHx8IChQTEFURk9STShNQUMpICYm
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwKQogI2RlZmluZSBIQVZF
X0FVVEhPUklaQVRJT05fU1RBVFVTX0ZPUl9NRURJQV9UWVBFIDEKICNlbmRpZgpAQCAtMTI0Miwx
MiArOTk1LDYgQEAKICNkZWZpbmUgSEFWRV9NRE5TX0ZBU1RfUkVHSVNUUkFUSU9OIDEKICNlbmRp
ZgogCi0jaWYgUExBVEZPUk0oTUFDKQotI2RlZmluZSBFTkFCTEVfTU9OT1NQQUNFX0ZPTlRfRVhD
RVBUSU9OIChfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNTAwKQotI2VsaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKLSNkZWZpbmUgRU5BQkxFX01PTk9TUEFDRV9GT05UX0VYQ0VQ
VElPTiAoX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMzAwMDApCi0jZW5kaWYK
LQogI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTAxNDAwKSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQogI2RlZmluZSBIQVZFX0RJU0FMTE9X
QUJMRV9VU0VSX0lOU1RBTExFRF9GT05UUyAxCiAjZW5kaWYKQEAgLTEyNjUsOCArMTAxMiwxMCBA
QAogI2VuZGlmCiAKICNpZiBQTEFURk9STShNQUNDQVRBTFlTVCkKLSNkZWZpbmUgRU5BQkxFX1BM
QVRGT1JNX0RSSVZFTl9URVhUX0NIRUNLSU5HIDEKICNkZWZpbmUgSEFWRV9IT1ZFUl9HRVNUVVJF
X1JFQ09HTklaRVIgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUNDQVRBTFlTVCkKICNkZWZp
bmUgSEFWRV9VSV9QQVJBTExBWF9UUkFOU0lUSU9OX0dFU1RVUkVfUkVDT0dOSVpFUiAxCiAjZW5k
aWYKIApAQCAtMTM2OSwzICsxMTE4LDEzNyBAQAogI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwKSB8fCBQTEFURk9STShJT1NfRkFN
SUxZKQogI2RlZmluZSBIQVZFX09TX1NJR05QT1NUIDEKICNlbmRpZgorCisKKworI2lmIFVTRShB
UFBMRV9JTlRFUk5BTF9TREspICYmIF9faGFzX2luY2x1ZGUoPFdlYktpdEFkZGl0aW9ucy9BZGRp
dGlvbmFsUGxhdGZvcm0uaD4pCisjaW5jbHVkZSA8V2ViS2l0QWRkaXRpb25zL0FkZGl0aW9uYWxQ
bGF0Zm9ybS5oPgorI2VuZGlmCisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKSAmJiBfX2hh
c19pbmNsdWRlKDxXZWJLaXRBZGRpdGlvbnMvQWRkaXRpb25hbEZlYXR1cmVEZWZpbmVzLmg+KQor
I2luY2x1ZGUgPFdlYktpdEFkZGl0aW9ucy9BZGRpdGlvbmFsRmVhdHVyZURlZmluZXMuaD4KKyNl
bmRpZgorCisvKiBfX1BMQVRGT1JNX0lORElSRUNUX18gZW5zdXJlcyB0aGF0IHVzZXJzICNpbmNs
dWRlIDx3dGYvUGxhdGZvcm0uaD4gcmF0aGVyIHRoYW4gd3RmL0ZlYXR1cmVEZWZpbmVzLmggZGly
ZWN0bHkuICovCisjZGVmaW5lIF9fUExBVEZPUk1fSU5ESVJFQ1RfXworCisvKiBJbmNsdWRlIGZl
YXR1cmUgbWFjcm9zICovCisjaW5jbHVkZSA8d3RmL0ZlYXR1cmVEZWZpbmVzLmg+CisKKyN1bmRl
ZiBfX1BMQVRGT1JNX0lORElSRUNUX18KKworCisKKy8qIEZJWE1FOiBUaGUgZm9sbG93aW5nIGFy
ZSBjdXJyZW5seSBwb3NpdGlvbmVkIGF0IHRoZSBib3R0b20gb2YgdGhpcyBmaWxlIGFzIHRoZXkg
YXJlIGN1cnJlbnRseSBkZXBlbmRlbnQgb24gRU5BQkxFIG1hY3Jvcy4gKi8KKworLyogRklYTUU6
IFJlbW92ZSBkZXBlbmRlbmNlIG9uIEVOQUJMRShXRUJfUlRDKS4gKi8KKyNpZiBQTEFURk9STShD
T0NPQSkgJiYgRU5BQkxFKFdFQl9SVEMpCisjZGVmaW5lIFVTRV9MSUJXRUJSVEMgMQorI2VuZGlm
CisKKy8qIEZJWE1FOiBUaGlzIGlzIHVzZWQgdG8gInR1cm4gb24gYSBzcGVjaWZpYyBmZWF0dXJl
IG9mIFdlYktpdCIsIHNvIHNob3VsZCBiZSBjb252ZXJ0ZWQgdG8gYW4gRU5BQkxFIG1hY3JvLiAq
LworLyogVGhpcyBmZWF0dXJlIHdvcmtzIGJ5IGVtYmVkZGluZyB0aGUgT3Bjb2RlSUQgaW4gdGhl
IDMyIGJpdCBqdXN0IGJlZm9yZSB0aGUgZ2VuZXJhdGVkIExMaW50IGNvZGUKKyAgIHRoYXQgZXhl
Y3V0ZXMgZWFjaCBvcGNvZGUuIEl0IGNhbm5vdCBiZSBzdXBwb3J0ZWQgYnkgdGhlIENMb29wIHNp
bmNlIHRoZXJlJ3Mgbm8gd2F5IHRvIGVtYmVkIHRoZQorICAgT3Bjb2RlSUQgd29yZCBpbiB0aGUg
Q0xvb3AncyBzd2l0Y2ggc3RhdGVtZW50IGNhc2VzLiBJdCBpcyBhbHNvIGN1cnJlbnRseSBub3Qg
aW1wbGVtZW50ZWQgZm9yIE1TVkMuCisqLworI2lmICFkZWZpbmVkKFVTRV9MTElOVF9FTUJFRERF
RF9PUENPREVfSUQpICYmICFFTkFCTEUoQ19MT09QKSAmJiAhQ09NUElMRVIoTVNWQykgJiYgXAor
ICAgIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNNjQpIHx8IChDUFUoQVJNX1RI
VU1CMikgJiYgT1MoREFSV0lOKSkpCisjZGVmaW5lIFVTRV9MTElOVF9FTUJFRERFRF9PUENPREVf
SUQgMQorI2VuZGlmCisKKworI2lmIFBMQVRGT1JNKENPQ09BKQorI2lmIEVOQUJMRShXRUJHTCkK
KworLyogVVNFX0FOR0xFPTEgdXNlcyBBTkdMRSBmb3IgdGhlIFdlYkdMIGJhY2tlbmQuCisgICBJ
dCByZXBsYWNlcyBVU0VfT1BFTkdMLCBVU0VfT1BFTkdMX0VTIGFuZCBVU0VfRUdMLiAqLworI2lm
IFBMQVRGT1JNKE1BQykgfHwgKFBMQVRGT1JNKE1BQ0NBVEFMWVNUKSAmJiBfX2hhc19pbmNsdWRl
KDxPcGVuR0wvT3BlbkdMLmg+KSkKKyNkZWZpbmUgVVNFX09QRU5HTCAxCisjZGVmaW5lIFVTRV9P
UEVOR0xfRVMgMAorI2RlZmluZSBVU0VfQU5HTEUgMAorI2Vsc2UKKyNkZWZpbmUgVVNFX09QRU5H
TCAwCisjZGVmaW5lIFVTRV9PUEVOR0xfRVMgMQorI2RlZmluZSBVU0VfQU5HTEUgMAorI2VuZGlm
CisKKyNpZm5kZWYgR0xfU0lMRU5DRV9ERVBSRUNBVElPTgorI2RlZmluZSBHTF9TSUxFTkNFX0RF
UFJFQ0FUSU9OIDEKKyNlbmRpZgorCisjaWYgVVNFKE9QRU5HTCkgJiYgIWRlZmluZWQoSEFWRV9P
UEVOR0xfNCkKKyNkZWZpbmUgSEFWRV9PUEVOR0xfNCAxCisjZW5kaWYKKworI2lmIFVTRShPUEVO
R0xfRVMpICYmICFkZWZpbmVkKEhBVkVfT1BFTkdMX0VTXzMpCisjZGVmaW5lIEhBVkVfT1BFTkdM
X0VTXzMgMQorI2VuZGlmCisKKyNpZiBVU0VfQU5HTEUgJiYgKFVTRV9PUEVOR0wgfHwgVVNFX09Q
RU5HTF9FUykKKyNlcnJvciBVU0VfQU5HTEUgaXMgaW5jb21wYXRpYmxlIHdpdGggVVNFX09QRU5H
TCBhbmQgVVNFX09QRU5HTF9FUworI2VuZGlmCisKKyNlbmRpZiAvKiBFTkFCTEUoV0VCR0wpICov
CisjZW5kaWYgLyogUExBVEZPUk0oQ09DT0EpICovCisKKyNpZiBFTkFCTEUoV0VCR0wpCisjaWYg
IWRlZmluZWQoVVNFX0FOR0xFKQorI2RlZmluZSBVU0VfQU5HTEUgMAorI2VuZGlmCisKKyNpZiAo
VVNFX0FOR0xFICYmIChVU0VfT1BFTkdMIHx8IFVTRV9PUEVOR0xfRVMgfHwgKGRlZmluZWQoVVNF
X0VHTCkgJiYgVVNFX0VHTCkpKSAmJiAhVVNFKFRFWFRVUkVfTUFQUEVSKQorI2Vycm9yIFVTRV9B
TkdMRSBpcyBpbmNvbXBhdGlibGUgd2l0aCBVU0VfT1BFTkdMLCBVU0VfT1BFTkdMX0VTIGFuZCBV
U0VfRUdMCisjZW5kaWYKKyNlbmRpZgorCisjaWYgVVNFKFRFWFRVUkVfTUFQUEVSKSAmJiBFTkFC
TEUoR1JBUEhJQ1NfQ09OVEVYVF9HTCkgJiYgIWRlZmluZWQoVVNFX1RFWFRVUkVfTUFQUEVSX0dM
KQorI2RlZmluZSBVU0VfVEVYVFVSRV9NQVBQRVJfR0wgMQorI2VuZGlmCisKKy8qIEZJWE1FOiBU
aGlzIGlzIHVzZWQgdG8gInR1cm4gb24gYSBzcGVjaWZpYyBmZWF0dXJlIG9mIFdlYktpdCIsIHNv
IHNob3VsZCBiZSBjb252ZXJ0ZWQgdG8gYW4gRU5BQkxFIG1hY3JvLiAqLworI2lmIFBMQVRGT1JN
KENPQ09BKSAmJiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNkZWZpbmUgVVNFX0FDQ0VTU0lCSUxJ
VFlfQ09OVEVYVF9NRU5VUyAxCisjZW5kaWYKKworCisvKiBGSVhNRTogVGhlc2UgY2FsbGluZyBj
b252ZW50aW9uIG1hY3JvcyBzaG91bGQgbW92ZSB0byB0aGVpciBvd24gZmlsZS4gVGhleSBhcmUg
YXQgdGhlIGJvdHRvbSBjdXJyZW50bHkgYmVjYXVzZSB0aGV5IGRlcGVuZCBvbiBGZWF0dXJlRGVm
aW5lcy5oICovCisKKyNpZiBDUFUoWDg2KSAmJiBDT01QSUxFUihNU1ZDKQorI2RlZmluZSBKU0Nf
SE9TVF9DQUxMIF9fZmFzdGNhbGwKKyNlbGlmIENQVShYODYpICYmIENPTVBJTEVSKEdDQ19DT01Q
QVRJQkxFKQorI2RlZmluZSBKU0NfSE9TVF9DQUxMIF9fYXR0cmlidXRlX18gKChmYXN0Y2FsbCkp
CisjZWxzZQorI2RlZmluZSBKU0NfSE9TVF9DQUxMCisjZW5kaWYKKworI2lmIENQVShYODYpICYm
IE9TKFdJTkRPV1MpCisjZGVmaW5lIENBTExJTkdfQ09OVkVOVElPTl9JU19TVERDQUxMIDEKKyNp
Zm5kZWYgQ0RFQ0wKKyNpZiBDT01QSUxFUihNU1ZDKQorI2RlZmluZSBDREVDTCBfX2NkZWNsCisj
ZWxzZQorI2RlZmluZSBDREVDTCBfX2F0dHJpYnV0ZV9fICgoX19jZGVjbCkpCisjZW5kaWYKKyNl
bmRpZgorI2Vsc2UKKyNkZWZpbmUgQ0FMTElOR19DT05WRU5USU9OX0lTX1NURENBTEwgMAorI2Vu
ZGlmCisKKyNpZiBDUFUoWDg2KQorI2RlZmluZSBXVEZfQ09NUElMRVJfU1VQUE9SVFNfRkFTVENB
TExfQ0FMTElOR19DT05WRU5USU9OIDEKKyNpZm5kZWYgRkFTVENBTEwKKyNpZiBDT01QSUxFUihN
U1ZDKQorI2RlZmluZSBGQVNUQ0FMTCBfX2Zhc3RjYWxsCisjZWxzZQorI2RlZmluZSBGQVNUQ0FM
TCAgX19hdHRyaWJ1dGVfXyAoKGZhc3RjYWxsKSkKKyNlbmRpZgorI2VuZGlmCisjZWxzZQorI2Rl
ZmluZSBXVEZfQ09NUElMRVJfU1VQUE9SVFNfRkFTVENBTExfQ0FMTElOR19DT05WRU5USU9OIDAK
KyNlbmRpZgorCisjaWYgRU5BQkxFKEpJVCkgJiYgQ0FMTElOR19DT05WRU5USU9OX0lTX1NURENB
TEwKKyNkZWZpbmUgSklUX09QRVJBVElPTiBDREVDTAorI2Vsc2UKKyNkZWZpbmUgSklUX09QRVJB
VElPTgorI2VuZGlmCg==
</data>
<flag name="review"
          id="403283"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>