<?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>206425</bug_id>
          
          <creation_ts>2020-01-17 09:42:07 -0800</creation_ts>
          <short_desc>Platform.h is out of control Part 8: Macros are used inconsistently</short_desc>
          <delta_ts>2020-01-20 20:02: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>ap</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1608043</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-01-17 09:42:07 -0800</bug_when>
    <thetext>Platform.h is out of control Part 8: Macros are used inconsistently</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608891</commentid>
    <comment_count>1</comment_count>
      <attachid>388268</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-01-20 17:13:09 -0800</bug_when>
    <thetext>Created attachment 388268
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608892</commentid>
    <comment_count>2</comment_count>
      <attachid>388268</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-01-20 17:16:42 -0800</bug_when>
    <thetext>Comment on attachment 388268
Patch

Looks great, r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608893</commentid>
    <comment_count>3</comment_count>
      <attachid>388269</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-01-20 17:29:27 -0800</bug_when>
    <thetext>Created attachment 388269
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608919</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-01-20 20:01:54 -0800</bug_when>
    <thetext>Committed r254843: &lt;https://trac.webkit.org/changeset/254843&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608920</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-20 20:02:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/58748161&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388268</attachid>
            <date>2020-01-20 17:13:09 -0800</date>
            <delta_ts>2020-01-20 17:29:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206425-20200120171309.patch</filename>
            <type>text/plain</type>
            <size>33718</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjU0ODM4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUwIEBA
CisyMDIwLTAxLTE3ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBQ
bGF0Zm9ybS5oIGlzIG91dCBvZiBjb250cm9sIFBhcnQgODogTWFjcm9zIGFyZSB1c2VkIGluY29u
c2lzdGVudGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDY0MjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIGFzc2VtYmxlci9BUk02NEFzc2VtYmxlci5oOgorICAgICAgICAoSlNDOjpBUk02NEFzc2Vt
Ymxlcjo6Y2FjaGVGbHVzaCk6CisgICAgICAgIChKU0M6OkFSTTY0QXNzZW1ibGVyOjp4T3JTcCk6
CisgICAgICAgIChKU0M6OkFSTTY0QXNzZW1ibGVyOjp4T3Jacik6CisgICAgICAgICogYXNzZW1i
bGVyL0FSTTY0UmVnaXN0ZXJzLmg6CisgICAgICAgICogYXNzZW1ibGVyL0FSTXY3QXNzZW1ibGVy
Lmg6CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1ibGVyOjpjYWNoZUZsdXNoKToKKyAgICAgICAg
KiBhc3NlbWJsZXIvQVJNdjdSZWdpc3RlcnMuaDoKKyAgICAgICAgKiBhc3NlbWJsZXIvQXNzZW1i
bGVyQ29tbW9uLmg6CisgICAgICAgIChKU0M6OmlzRGFyd2luKToKKyAgICAgICAgKiBiMy9haXIv
QWlyQ0NhbGxpbmdDb252ZW50aW9uLmNwcDoKKyAgICAgICAgKiBqaXQvRXhlY3V0YWJsZUFsbG9j
YXRvci5oOgorICAgICAgICAqIGppdC9UaHVua0dlbmVyYXRvcnMuY3BwOgorICAgICAgICAqIGpz
Yy5jcHA6CisgICAgICAgICogcnVudGltZS9NYXRoQ29tbW9uLmNwcDoKKyAgICAgICAgVXNlIE9T
KERBUldJTikgbW9yZSBjb25zaXN0ZW50bHkgZm9yIGRhcndpbiBsZXZlbCBmdW5jdGlvbmFsaXR5
LgorCisgICAgICAgICogYnl0ZWNvZGUvQ29kZU9yaWdpbi5oOgorICAgICAgICAqIHJ1bnRpbWUv
SlNTdHJpbmcuaDoKKyAgICAgICAgVXBkYXRlIHRvIHVzZSBPU19DT05TVEFOVC4KKworICAgICAg
ICAqIGRpc2Fzc2VtYmxlci9BUk02NC9BNjRET3Bjb2RlLmNwcDoKKyAgICAgICAgKiBkaXNhc3Nl
bWJsZXIvQVJNNjREaXNhc3NlbWJsZXIuY3BwOgorICAgICAgICAqIGRpc2Fzc2VtYmxlci9VRGlz
ODZEaXNhc3NlbWJsZXIuY3BwOgorICAgICAgICAqIGRpc2Fzc2VtYmxlci9VRGlzODZEaXNhc3Nl
bWJsZXIuaDoKKyAgICAgICAgKiBkaXNhc3NlbWJsZXIvWDg2RGlzYXNzZW1ibGVyLmNwcDoKKyAg
ICAgICAgKiBkaXNhc3NlbWJsZXIvdWRpczg2L3VkaXM4Ni5jOgorICAgICAgICAqIGRpc2Fzc2Vt
Ymxlci91ZGlzODYvdWRpczg2X2RlY29kZS5jOgorICAgICAgICAqIGRpc2Fzc2VtYmxlci91ZGlz
ODYvdWRpczg2X2l0YWJfaG9sZGVyLmM6CisgICAgICAgICogZGlzYXNzZW1ibGVyL3VkaXM4Ni91
ZGlzODZfc3luLWF0dC5jOgorICAgICAgICAqIGRpc2Fzc2VtYmxlci91ZGlzODYvdWRpczg2X3N5
bi1pbnRlbC5jOgorICAgICAgICAqIGRpc2Fzc2VtYmxlci91ZGlzODYvdWRpczg2X3N5bi5jOgor
ICAgICAgICAqIGludGVycHJldGVyL0ludGVycHJldGVyLmNwcDoKKyAgICAgICAgKiBpbnRlcnBy
ZXRlci9JbnRlcnByZXRlci5oOgorICAgICAgICAqIGludGVycHJldGVyL0ludGVycHJldGVySW5s
aW5lcy5oOgorICAgICAgICAoSlNDOjpJbnRlcnByZXRlcjo6Z2V0T3Bjb2RlSUQpOgorICAgICAg
ICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuY3BwOgorICAgICAgICAqIHRvb2xzL1NpZ2ls
bENyYXNoQW5hbHl6ZXIuY3BwOgorICAgICAgICBTd2l0Y2ggdG8gdXNpbmcgRU5BQkxFIHJhdGhl
ciB0aGFuIFVTRSBmb3IgZmVhdHVyZXMgaW50ZXJuYWwgdG8gV2ViS2l0IAorCiAyMDIwLTAxLTIw
ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IG1pc3Np
bmcgaGVhZGVyIGd1YXJkcyBhbmQgY2xlYW4gdXAgZW1wdHkgZmlsZXMgaW4gYm1hbGxvYywgV1RG
LCBKYXZhU2NyaXB0Q29yZQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAJKHJldmlzaW9uIDI1NDgz
OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
MzUsNyArMTM1LDcgQEAKICNpbmNsdWRlIDx3aW5kb3dzLmg+CiAjZW5kaWYKIAotI2lmIFBMQVRG
T1JNKElPU19GQU1JTFkpICYmIENQVShBUk1fVEhVTUIyKQorI2lmIE9TKERBUldJTikgJiYgQ1BV
KEFSTV9USFVNQjIpCiAjaW5jbHVkZSA8ZmVudi5oPgogI2luY2x1ZGUgPGFybS9hcmNoLmg+CiAj
ZW5kaWYKQEAgLTI0ODQsNyArMjQ4NCw3IEBAIHN0YXRpYyB2b2lkIHN0YXJ0VGltZW91dFRocmVh
ZElmTmVlZGVkKFYKIAogaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogewotI2lmIFBM
QVRGT1JNKElPU19GQU1JTFkpICYmIENQVShBUk1fVEhVTUIyKQorI2lmIE9TKERBUldJTikgJiYg
Q1BVKEFSTV9USFVNQjIpCiAgICAgLy8gRW5hYmxlZCBJRUVFNzU0IGRlbm9ybWFsIHN1cHBvcnQu
CiAgICAgZmVudl90IGVudjsKICAgICBmZWdldGVudiggJmVudiApOwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk02NEFzc2VtYmxlci5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNNjRBc3NlbWJsZXIuaAkocmV2aXNpb24g
MjU0ODM4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk02NEFzc2VtYmxl
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yODA3LDcgKzI4MDcsNyBAQCBwdWJsaWM6CiAKICAgICBz
dGF0aWMgdm9pZCBjYWNoZUZsdXNoKHZvaWQqIGNvZGUsIHNpemVfdCBzaXplKQogICAgIHsKLSNp
ZiBPUyhJT1NfRkFNSUxZKQorI2lmIE9TKERBUldJTikKICAgICAgICAgc3lzX2NhY2hlX2NvbnRy
b2woa0NhY2hlRnVuY3Rpb25QcmVwYXJlRm9yRXhlY3V0aW9uLCBjb2RlLCBzaXplKTsKICNlbGlm
IE9TKEZVQ0hTSUEpCiAgICAgICAgIHp4X2NhY2hlX2ZsdXNoKGNvZGUsIHNpemUsIFpYX0NBQ0hF
X0ZMVVNIX0lOU04pOwpAQCAtMzIzMCwxMyArMzIzMCwxMyBAQCBwcm90ZWN0ZWQ6CiAgICAgc3Rh
dGljIGludCB4T3JTcChSZWdpc3RlcklEIHJlZykKICAgICB7CiAgICAgICAgIEFTU0VSVCghaXNa
cihyZWcpKTsKLSAgICAgICAgQVNTRVJUKCFpc0lPUygpIHx8IHJlZyAhPSBBUk02NFJlZ2lzdGVy
czo6eDE4KTsKKyAgICAgICAgQVNTRVJUKCFpc0RhcndpbigpIHx8IHJlZyAhPSBBUk02NFJlZ2lz
dGVyczo6eDE4KTsKICAgICAgICAgcmV0dXJuIHJlZzsKICAgICB9CiAgICAgc3RhdGljIGludCB4
T3JacihSZWdpc3RlcklEIHJlZykKICAgICB7CiAgICAgICAgIEFTU0VSVCghaXNTcChyZWcpKTsK
LSAgICAgICAgQVNTRVJUKCFpc0lPUygpIHx8IHJlZyAhPSBBUk02NFJlZ2lzdGVyczo6eDE4KTsK
KyAgICAgICAgQVNTRVJUKCFpc0RhcndpbigpIHx8IHJlZyAhPSBBUk02NFJlZ2lzdGVyczo6eDE4
KTsKICAgICAgICAgcmV0dXJuIHJlZyAmIDMxOwogICAgIH0KICAgICBzdGF0aWMgRlBSZWdpc3Rl
cklEIHhPclpyQXNGUFIoUmVnaXN0ZXJJRCByZWcpIHsgcmV0dXJuIHN0YXRpY19jYXN0PEZQUmVn
aXN0ZXJJRD4oeE9yWnIocmVnKSk7IH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3Nl
bWJsZXIvQVJNNjRSZWdpc3RlcnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL0FSTTY0UmVnaXN0ZXJzLmgJKHJldmlzaW9uIDI1NDgzOCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNNjRSZWdpc3RlcnMuaAkod29ya2luZyBjb3B5
KQpAQCAtMzksNyArMzksNyBAQAogLy8gYmV5b25kIHdoYXQgeW91IHdvdWxkIHNhdmUgYnkgdGhl
IHBsYXRmb3JtLWFnbm9zdGljICJwcmVzZXJ2ZSByZXR1cm4gYWRkcmVzcyIgYW5kICJyZXN0b3Jl
CiAvLyByZXR1cm4gYWRkcmVzcyIgb3BlcmF0aW9ucyBpbiBDQ2FsbEhlbHBlcnMuCiAKLSNpZiAh
UExBVEZPUk0oSU9TX0ZBTUlMWSkKKyNpZiAhT1MoREFSV0lOKQogI2RlZmluZSBGT1JfRUFDSF9H
UF9SRUdJU1RFUihtYWNybykgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAvKiBQ
YXJhbWV0ZXIvcmVzdWx0IHJlZ2lzdGVycy4gKi8gICAgICAgICAgICAgICAgICAgICAgICAgICBc
CiAgICAgbWFjcm8oeDAsICAieDAiLCAgMCwgMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk12N0Fz
c2VtYmxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIv
QVJNdjdBc3NlbWJsZXIuaAkocmV2aXNpb24gMjU0ODM4KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2Fzc2VtYmxlci9BUk12N0Fzc2VtYmxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMzc2LDcg
KzIzNzYsNyBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgdm9pZCBjYWNoZUZsdXNoKHZvaWQqIGNv
ZGUsIHNpemVfdCBzaXplKQogICAgIHsKLSNpZiBPUyhJT1NfRkFNSUxZKQorI2lmIE9TKERBUldJ
TikKICAgICAgICAgc3lzX2NhY2hlX2NvbnRyb2woa0NhY2hlRnVuY3Rpb25QcmVwYXJlRm9yRXhl
Y3V0aW9uLCBjb2RlLCBzaXplKTsKICNlbGlmIE9TKExJTlVYKQogICAgICAgICBzaXplX3QgcGFn
ZSA9IHBhZ2VTaXplKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FS
TXY3UmVnaXN0ZXJzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9BUk12N1JlZ2lzdGVycy5oCShyZXZpc2lvbiAyNTQ4MzgpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYXNzZW1ibGVyL0FSTXY3UmVnaXN0ZXJzLmgJKHdvcmtpbmcgY29weSkKQEAgLTM2
LDcgKzM2LDcgQEAKICNkZWZpbmUgRk9SX0VBQ0hfRlBfUkVHSVNURVIobWFjcm8pICAgICAgICAg
ICAgIFwKICAgICBGT1JfRUFDSF9GUF9ET1VCTEVfUkVHSVNURVIobWFjcm8pCiAKLSNpZiAhUExB
VEZPUk0oSU9TX0ZBTUlMWSkKKyNpZiAhT1MoREFSV0lOKQogI2RlZmluZSBGT1JfRUFDSF9HUF9S
RUdJU1RFUihtYWNybykgICAgICAgICAgICAgXAogICAgIG1hY3JvKHIwLCAgInIwIiwgIDAsIDAp
ICAgICAgICAgICAgICAgICAgICAgXAogICAgIG1hY3JvKHIxLCAgInIxIiwgIDAsIDApICAgICAg
ICAgICAgICAgICAgICAgXApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9B
c3NlbWJsZXJDb21tb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNz
ZW1ibGVyL0Fzc2VtYmxlckNvbW1vbi5oCShyZXZpc2lvbiAyNTQ4MzgpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fzc2VtYmxlckNvbW1vbi5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yNyw2ICsyNywxNSBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAorQUxXQVlTX0lOTElORSBjb25z
dGV4cHIgYm9vbCBpc0RhcndpbigpCit7CisjaWYgT1MoREFSV0lOKQorICAgIHJldHVybiB0cnVl
OworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKwogQUxXQVlTX0lOTElORSBj
b25zdGV4cHIgYm9vbCBpc0lPUygpCiB7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyQ0NhbGxpbmdDb252ZW50aW9uLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckNDYWxsaW5nQ29u
dmVudGlvbi5jcHAJKHJldmlzaW9uIDI1NDgzOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9haXIvQWlyQ0NhbGxpbmdDb252ZW50aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDUsNyAr
NDUsNyBAQCBBcmcgbWFyc2hhbGxDQ2FsbEFyZ3VtZW50SW1wbCh1bnNpZ25lZCYgCiAgICAgICAg
IHJldHVybiBUbXAoQmFua0luZm86OnRvQXJndW1lbnRSZWdpc3Rlcihhcmd1bWVudEluZGV4KSk7
CiAKICAgICB1bnNpZ25lZCBzbG90U2l6ZTsKLSAgICBpZiAoaXNBUk02NCgpICYmIGlzSU9TKCkp
IHsKKyAgICBpZiAoaXNBUk02NCgpICYmIGlzRGFyd2luKCkpIHsKICAgICAgICAgLy8gQXJndW1l
bnRzIGFyZSBwYWNrZWQuCiAgICAgICAgIHNsb3RTaXplID0gc2l6ZW9mVHlwZShjaGlsZC0+dHlw
ZSgpKTsKICAgICB9IGVsc2UgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0NvZGVPcmlnaW4uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQ29kZU9yaWdpbi5oCShyZXZpc2lvbiAyNTQ4MzgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvQ29kZU9yaWdpbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMzQsOCArMjM0LDgg
QEAgcHJpdmF0ZToKICAgICB9CiAKICNpZiBDUFUoQUREUkVTUzY0KQotICAgIHN0YXRpYyBjb25z
dGV4cHIgdW5zaWduZWQgc19mcmVlQml0c0F0VG9wID0gNjQgLSBXVEZfQ1BVX0VGRkVDVElWRV9B
RERSRVNTX1dJRFRIOwotICAgIHN0YXRpYyBjb25zdGV4cHIgdWludHB0cl90IHNfbWFza0NvbXBv
c2l0ZVZhbHVlRm9yUG9pbnRlciA9ICgoMVVMTCA8PCBXVEZfQ1BVX0VGRkVDVElWRV9BRERSRVNT
X1dJRFRIKSAtIDEpICYgfig4VUxMIC0gMSk7CisgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25l
ZCBzX2ZyZWVCaXRzQXRUb3AgPSA2NCAtIE9TX0NPTlNUQU5UKEVGRkVDVElWRV9BRERSRVNTX1dJ
RFRIKTsKKyAgICBzdGF0aWMgY29uc3RleHByIHVpbnRwdHJfdCBzX21hc2tDb21wb3NpdGVWYWx1
ZUZvclBvaW50ZXIgPSAoKDFVTEwgPDwgT1NfQ09OU1RBTlQoRUZGRUNUSVZFX0FERFJFU1NfV0lE
VEgpKSAtIDEpICYgfig4VUxMIC0gMSk7CiAgICAgc3RhdGljIHVpbnRwdHJfdCBidWlsZENvbXBv
c2l0ZVZhbHVlKElubGluZUNhbGxGcmFtZSogaW5saW5lQ2FsbEZyYW1lLCBCeXRlY29kZUluZGV4
IGJ5dGVjb2RlSW5kZXgpCiAgICAgewogICAgICAgICBpZiAoIWJ5dGVjb2RlSW5kZXgpCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGlzYXNzZW1ibGVyL0FSTTY0RGlzYXNzZW1ibGVyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGlzYXNzZW1ibGVyL0FSTTY0
RGlzYXNzZW1ibGVyLmNwcAkocmV2aXNpb24gMjU0ODM4KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2Rpc2Fzc2VtYmxlci9BUk02NERpc2Fzc2VtYmxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJEaXNhc3NlbWJs
ZXIuaCIKIAotI2lmIFVTRShBUk02NF9ESVNBU1NFTUJMRVIpCisjaWYgRU5BQkxFKEFSTTY0X0RJ
U0FTU0VNQkxFUikKIAogI2luY2x1ZGUgIkE2NERPcGNvZGUuaCIKICNpbmNsdWRlICJNYWNyb0Fz
c2VtYmxlckNvZGVSZWYuaCIKQEAgLTUzLDUgKzUzLDUgQEAgYm9vbCB0cnlUb0Rpc2Fzc2VtYmxl
KGNvbnN0IE1hY3JvQXNzZW1ibAogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vIFVT
RShBUk02NF9ESVNBU1NFTUJMRVIpCisjZW5kaWYgLy8gRU5BQkxFKEFSTTY0X0RJU0FTU0VNQkxF
UikKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Rpc2Fzc2VtYmxlci9VRGlzODZEaXNh
c3NlbWJsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kaXNhc3Nl
bWJsZXIvVURpczg2RGlzYXNzZW1ibGVyLmNwcAkocmV2aXNpb24gMjU0ODM4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2Rpc2Fzc2VtYmxlci9VRGlzODZEaXNhc3NlbWJsZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVk
ZSAiVURpczg2RGlzYXNzZW1ibGVyLmgiCiAKLSNpZiBVU0UoVURJUzg2KQorI2lmIEVOQUJMRShV
RElTODYpCiAKICNpbmNsdWRlICJNYWNyb0Fzc2VtYmxlckNvZGVSZWYuaCIKICNpbmNsdWRlICJ1
ZGlzODYuaCIKQEAgLTU5LDUgKzU5LDUgQEAgYm9vbCB0cnlUb0Rpc2Fzc2VtYmxlV2l0aFVEaXM4
Nihjb25zdCBNYQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vIFVTRShVRElTODYp
CisjZW5kaWYgLy8gRU5BQkxFKFVESVM4NikKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Rpc2Fzc2VtYmxlci9VRGlzODZEaXNhc3NlbWJsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGlzYXNzZW1ibGVyL1VEaXM4NkRpc2Fzc2VtYmxlci5oCShyZXZpc2lv
biAyNTQ4MzgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGlzYXNzZW1ibGVyL1VEaXM4NkRp
c2Fzc2VtYmxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSwxNCArMjksMTQgQEAKIAogbmFtZXNw
YWNlIEpTQyB7CiAKLSNpZiBVU0UoVURJUzg2KQorI2lmIEVOQUJMRShVRElTODYpCiAKIGJvb2wg
dHJ5VG9EaXNhc3NlbWJsZVdpdGhVRGlzODYoY29uc3QgTWFjcm9Bc3NlbWJsZXJDb2RlUHRyPERp
c2Fzc2VtYmx5UHRyVGFnPiYsIHNpemVfdCwgY29uc3QgY2hhciogcHJlZml4LCBQcmludFN0cmVh
bSYgb3V0KTsKIAotI2Vsc2UgLy8gVVNFKFVESVM4NikKKyNlbHNlIC8vIEVOQUJMRShVRElTODYp
CiAKIGlubGluZSBib29sIHRyeVRvRGlzYXNzZW1ibGVXaXRoVURpczg2KGNvbnN0IE1hY3JvQXNz
ZW1ibGVyQ29kZVB0cjxEaXNhc3NlbWJseVB0clRhZz4mLCBzaXplX3QsIGNvbnN0IGNoYXIqLCBQ
cmludFN0cmVhbSYpIHsgcmV0dXJuIGZhbHNlOyB9CiAKLSNlbmRpZiAvLyBVU0UoVURJUzg2KQor
I2VuZGlmIC8vIEVOQUJMRShVRElTODYpCiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2Rpc2Fzc2VtYmxlci9YODZEaXNhc3NlbWJsZXIuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kaXNhc3NlbWJsZXIvWDg2RGlzYXNzZW1i
bGVyLmNwcAkocmV2aXNpb24gMjU0ODM4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Rpc2Fz
c2VtYmxlci9YODZEaXNhc3NlbWJsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRGlzYXNzZW1ibGVyLmgiCiAKLSNp
ZiBVU0UoVURJUzg2KQorI2lmIEVOQUJMRShVRElTODYpCiAKICNpbmNsdWRlICJNYWNyb0Fzc2Vt
YmxlckNvZGVSZWYuaCIKICNpbmNsdWRlICJPcHRpb25zLmgiCkBAIC00MSw0ICs0MSw0IEBAIGJv
b2wgdHJ5VG9EaXNhc3NlbWJsZShjb25zdCBNYWNyb0Fzc2VtYmwKIAogfSAvLyBuYW1lc3BhY2Ug
SlNDCiAKLSNlbmRpZiAvLyBVU0UoVURJUzg2KQorI2VuZGlmIC8vIEVOQUJMRShVRElTODYpCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGlzYXNzZW1ibGVyL0FSTTY0L0E2NERPcGNvZGUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kaXNhc3NlbWJsZXIvQVJN
NjQvQTY0RE9wY29kZS5jcHAJKHJldmlzaW9uIDI1NDgzOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kaXNhc3NlbWJsZXIvQVJNNjQvQTY0RE9wY29kZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTI1LDcgKzI1LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgVVNFKEFSTTY0X0RJ
U0FTU0VNQkxFUikKKyNpZiBFTkFCTEUoQVJNNjRfRElTQVNTRU1CTEVSKQogCiAjaW5jbHVkZSAi
QTY0RE9wY29kZS5oIgogCkBAIC0xNTYwLDQgKzE1NjAsNCBAQCBjb25zdCBjaGFyKiBBNjRET3Bj
b2RlVW5jb25kaXRpb25hbEJyYW5jCiAKIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpBUk02NERpc2Fz
c2VtYmxlcgogCi0jZW5kaWYgLy8gVVNFKEFSTTY0X0RJU0FTU0VNQkxFUikKKyNlbmRpZiAvLyBF
TkFCTEUoQVJNNjRfRElTQVNTRU1CTEVSKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Rp
c2Fzc2VtYmxlci91ZGlzODYvdWRpczg2LmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Rpc2Fzc2VtYmxlci91ZGlzODYvdWRpczg2LmMJKHJldmlzaW9uIDI1NDgzOCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kaXNhc3NlbWJsZXIvdWRpczg2L3VkaXM4Ni5jCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lm
IFVTRShVRElTODYpCisjaWYgRU5BQkxFKFVESVM4NikKIAogI2luY2x1ZGUgInVkaXM4Nl91ZGlu
dC5oIgogI2luY2x1ZGUgInVkaXM4Nl9leHRlcm4uaCIKQEAgLTQ1Nyw2ICs0NTcsNiBAQCB1ZF9p
bnB1dF9lbmQoY29uc3Qgc3RydWN0IHVkICp1KQogICByZXR1cm4gdS0+aW5wX2VuZDsKIH0KIAot
I2VuZGlmIC8vIFVTRShVRElTODYpCisjZW5kaWYgLy8gRU5BQkxFKFVESVM4NikKIAogLyogdmlt
OnNldCB0cz0yIHN3PTIgZXhwYW5kdGFiICovCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGlzYXNzZW1ibGVyL3VkaXM4Ni91ZGlzODZfZGVjb2RlLmMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2Rpc2Fzc2VtYmxlci91ZGlzODYvdWRpczg2X2RlY29kZS5jCShyZXZp
c2lvbiAyNTQ4MzgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGlzYXNzZW1ibGVyL3VkaXM4
Ni91ZGlzODZfZGVjb2RlLmMJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKIAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgVVNFKFVESVM4NikKKyNpZiBFTkFCTEUoVURJUzg2KQog
CiAjaW5jbHVkZSAidWRpczg2X3VkaW50LmgiCiAjaW5jbHVkZSAidWRpczg2X3R5cGVzLmgiCkBA
IC0xMjY2LDcgKzEyNjYsNyBAQCB1ZF9kZWNvZGUoc3RydWN0IHVkICp1KQogICByZXR1cm4gdS0+
aW5wX2N0cjsKIH0KIAotI2VuZGlmIC8vIFVTRShVRElTODYpCisjZW5kaWYgLy8gRU5BQkxFKFVE
SVM4NikKIAogLyoKIHZpbTogc2V0IHRzPTIgc3c9MiBleHBhbmR0YWIKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kaXNhc3NlbWJsZXIvdWRpczg2L3VkaXM4Nl9pdGFiX2hvbGRlci5jCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kaXNhc3NlbWJsZXIvdWRpczg2L3Vk
aXM4Nl9pdGFiX2hvbGRlci5jCShyZXZpc2lvbiAyNTQ4MzgpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGlzYXNzZW1ibGVyL3VkaXM4Ni91ZGlzODZfaXRhYl9ob2xkZXIuYwkod29ya2luZyBj
b3B5KQpAQCAtMjUsNyArMjUsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBVU0Uo
VURJUzg2KQorI2lmIEVOQUJMRShVRElTODYpCiAKICNpbmNsdWRlICJ1ZGlzODZfaXRhYi5jIgog
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGlzYXNzZW1ibGVyL3VkaXM4Ni91ZGlzODZf
c3luLWF0dC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kaXNhc3NlbWJs
ZXIvdWRpczg2L3VkaXM4Nl9zeW4tYXR0LmMJKHJldmlzaW9uIDI1NDgzOCkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kaXNhc3NlbWJsZXIvdWRpczg2L3VkaXM4Nl9zeW4tYXR0LmMJKHdvcmtp
bmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYg
VVNFKFVESVM4NikKKyNpZiBFTkFCTEUoVURJUzg2KQogCiAjaW5jbHVkZSAidWRpczg2X3R5cGVz
LmgiCiAjaW5jbHVkZSAidWRpczg2X2V4dGVybi5oIgpAQCAtMjI4LDcgKzIyOCw3IEBAIHVkX3Ry
YW5zbGF0ZV9hdHQoc3RydWN0IHVkICp1KQogICB9CiB9CiAKLSNlbmRpZiAvLyBVU0UoVURJUzg2
KQorI2VuZGlmIC8vIEVOQUJMRShVRElTODYpCiAKIC8qCiB2aW06IHNldCB0cz0yIHN3PTIgZXhw
YW5kdGFiCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGlzYXNzZW1ibGVyL3VkaXM4Ni91
ZGlzODZfc3luLWludGVsLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Rp
c2Fzc2VtYmxlci91ZGlzODYvdWRpczg2X3N5bi1pbnRlbC5jCShyZXZpc2lvbiAyNTQ4MzgpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGlzYXNzZW1ibGVyL3VkaXM4Ni91ZGlzODZfc3luLWlu
dGVsLmMJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKIAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogCi0jaWYgVVNFKFVESVM4NikKKyNpZiBFTkFCTEUoVURJUzg2KQogCiAjaW5jbHVkZSAi
dWRpczg2X3R5cGVzLmgiCiAjaW5jbHVkZSAidWRpczg2X2V4dGVybi5oIgpAQCAtMjI0LDcgKzIy
NCw3IEBAIHVkX3RyYW5zbGF0ZV9pbnRlbChzdHJ1Y3QgdWQqIHUpCiAgIH0KIH0KIAotI2VuZGlm
IC8vIFVTRShVRElTODYpCisjZW5kaWYgLy8gRU5BQkxFKFVESVM4NikKIAogLyoKIHZpbTogc2V0
IHRzPTIgc3c9MiBleHBhbmR0YWIKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kaXNhc3Nl
bWJsZXIvdWRpczg2L3VkaXM4Nl9zeW4uYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGlzYXNzZW1ibGVyL3VkaXM4Ni91ZGlzODZfc3luLmMJKHJldmlzaW9uIDI1NDgzOCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kaXNhc3NlbWJsZXIvdWRpczg2L3VkaXM4Nl9zeW4u
Ywkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAKLSNpZiBVU0UoVURJUzg2KQorI2lmIEVOQUJMRShVRElTODYpCiAKICNpbmNsdWRlICJ1ZGlz
ODZfdHlwZXMuaCIKICNpbmNsdWRlICJ1ZGlzODZfZGVjb2RlLmgiCkBAIC0yMTIsNyArMjEyLDcg
QEAgdWRfc3luX3ByaW50X21lbV9kaXNwKHN0cnVjdCB1ZCogdSwgY29ucwogICB9CiB9CiAKLSNl
bmRpZiAvLyBVU0UoVURJUzg2KQorI2VuZGlmIC8vIEVOQUJMRShVRElTODYpCiAKIC8qCiB2aW06
IHNldCB0cz0yIHN3PTIgZXhwYW5kdGFiCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50
ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAJKHJldmlzaW9uIDI1NDgzOCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTM1Myw3ICszNTMsNyBAQCBJbnRlcnByZXRlcjo6fkludGVycHJldGVyKCkKIH0K
IAogI2lmIEVOQUJMRShDT01QVVRFRF9HT1RPX09QQ09ERVMpCi0jaWYgIVVTRShMTElOVF9FTUJF
RERFRF9PUENPREVfSUQpIHx8IEFTU0VSVF9FTkFCTEVECisjaWYgIUVOQUJMRShMTElOVF9FTUJF
RERFRF9PUENPREVfSUQpIHx8IEFTU0VSVF9FTkFCTEVECiBIYXNoTWFwPE9wY29kZSwgT3Bjb2Rl
SUQ+JiBJbnRlcnByZXRlcjo6b3Bjb2RlSURUYWJsZSgpCiB7CiAgICAgc3RhdGljIE5ldmVyRGVz
dHJveWVkPEhhc2hNYXA8T3Bjb2RlLCBPcGNvZGVJRD4+IG9wY29kZUlEVGFibGU7CkBAIC0zNjcs
NyArMzY3LDcgQEAgSGFzaE1hcDxPcGNvZGUsIE9wY29kZUlEPiYgSW50ZXJwcmV0ZXI6OgogCiAg
ICAgcmV0dXJuIG9wY29kZUlEVGFibGU7CiB9Ci0jZW5kaWYgLy8gIVVTRShMTElOVF9FTUJFRERF
RF9PUENPREVfSUQpIHx8IEFTU0VSVF9FTkFCTEVECisjZW5kaWYgLy8gIUVOQUJMRShMTElOVF9F
TUJFRERFRF9PUENPREVfSUQpIHx8IEFTU0VSVF9FTkFCTEVECiAjZW5kaWYgLy8gRU5BQkxFKENP
TVBVVEVEX0dPVE9fT1BDT0RFUykKIAogI2lmIEFTU0VSVF9FTkFCTEVECkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaAkocmV2aXNpb24g
MjU0ODM4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVy
LmgJKHdvcmtpbmcgY29weSkKQEAgLTE0NCw5ICsxNDQsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICNl
bmRpZgogICAgICAgICAKICNpZiBFTkFCTEUoQ09NUFVURURfR09UT19PUENPREVTKQotI2lmICFV
U0UoTExJTlRfRU1CRURERURfT1BDT0RFX0lEKSB8fCBBU1NFUlRfRU5BQkxFRAorI2lmICFFTkFC
TEUoTExJTlRfRU1CRURERURfT1BDT0RFX0lEKSB8fCBBU1NFUlRfRU5BQkxFRAogICAgICAgICBz
dGF0aWMgSGFzaE1hcDxPcGNvZGUsIE9wY29kZUlEPiYgb3Bjb2RlSURUYWJsZSgpOyAvLyBNYXBz
IE9wY29kZSA9PiBPcGNvZGVJRC4KLSNlbmRpZiAvLyAhVVNFKExMSU5UX0VNQkVEREVEX09QQ09E
RV9JRCkgfHwgQVNTRVJUX0VOQUJMRUQKKyNlbmRpZiAvLyAhRU5BQkxFKExMSU5UX0VNQkVEREVE
X09QQ09ERV9JRCkgfHwgQVNTRVJUX0VOQUJMRUQKICNlbmRpZiAvLyBFTkFCTEUoQ09NUFVURURf
R09UT19PUENPREVTKQogICAgIH07CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9JbnRlcnByZXRlcklubGluZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXJJbmxpbmVzLmgJKHJldmlzaW9uIDI1NDgz
OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlcklubGlu
ZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNDYsNyArNDYsNyBAQCBpbmxpbmUgT3Bjb2RlSUQgSW50
ZXJwcmV0ZXI6OmdldE9wY29kZUlECiB7CiAjaWYgRU5BQkxFKENPTVBVVEVEX0dPVE9fT1BDT0RF
UykKICAgICBBU1NFUlQoaXNPcGNvZGUob3Bjb2RlKSk7Ci0jaWYgVVNFKExMSU5UX0VNQkVEREVE
X09QQ09ERV9JRCkKKyNpZiBFTkFCTEUoTExJTlRfRU1CRURERURfT1BDT0RFX0lEKQogICAgIC8v
IFRoZSBPcGNvZGVJRCBpcyBlbWJlZGRlZCBpbiB0aGUgaW50MzJfdCB3b3JkIHByZWNlZGluZyB0
aGUgbG9jYXRpb24gb2YKICAgICAvLyB0aGUgTExJbnQgY29kZSBmb3IgdGhlIG9wY29kZSAoc2Vl
IHRoZSBFTUJFRF9PUENPREVfSURfSUZfTkVFREVEIG1hY3JvCiAgICAgLy8gaW4gTG93TGV2ZWxJ
bnRlcnByZXRlci5jcHApLgpAQCAtNTcsNyArNTcsNyBAQCBpbmxpbmUgT3Bjb2RlSUQgSW50ZXJw
cmV0ZXI6OmdldE9wY29kZUlECiAgICAgcmV0dXJuIG9wY29kZUlEOwogI2Vsc2UKICAgICByZXR1
cm4gb3Bjb2RlSURUYWJsZSgpLmdldChvcGNvZGUpOwotI2VuZGlmIC8vIFVTRShMTElOVF9FTUJF
RERFRF9PUENPREVfSUQpCisjZW5kaWYgLy8gRU5BQkxFKExMSU5UX0VNQkVEREVEX09QQ09ERV9J
RCkKICAgICAKICNlbHNlIC8vIG5vdCBFTkFCTEUoQ09NUFVURURfR09UT19PUENPREVTKQogICAg
IHJldHVybiBvcGNvZGU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFi
bGVBbGxvY2F0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0V4
ZWN1dGFibGVBbGxvY2F0b3IuaAkocmV2aXNpb24gMjU0ODM4KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3LDEx
ICszNyw4IEBACiAjaW5jbHVkZSA8d3RmL01ldGFBbGxvY2F0b3JIYW5kbGUuaD4KICNpbmNsdWRl
IDx3dGYvTWV0YUFsbG9jYXRvci5oPgogCi0jaWYgT1MoSU9TX0ZBTUlMWSkKKyNpZiBPUyhEQVJX
SU4pCiAjaW5jbHVkZSA8bGlia2Vybi9PU0NhY2hlQ29udHJvbC5oPgotI2VuZGlmCi0KLSNpZiBP
UyhJT1NfRkFNSUxZKQogI2luY2x1ZGUgPHN5cy9tbWFuLmg+CiAjZW5kaWYKIApJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9UaHVua0dlbmVyYXRvcnMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmNwcAkocmV2aXNpb24g
MjU0ODM4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9UaHVua0dlbmVyYXRvcnMuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC03OTYsNyArNzk2LDcgQEAgdHlwZWRlZiBNYXRoVGh1bmtDYWxs
aW5nQ29udmVudGlvbigqTWF0aAogICAgIH0gXAogICAgIHN0YXRpYyBNYXRoVGh1bmsgVW5hcnlE
b3VibGVPcFdyYXBwZXIoZnVuY3Rpb24pID0gJmZ1bmN0aW9uIyNUaHVuazsKIAotI2VsaWYgQ1BV
KEFSTV9USFVNQjIpICYmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKSAmJiBQTEFURk9STShJT1Nf
RkFNSUxZKQorI2VsaWYgQ1BVKEFSTV9USFVNQjIpICYmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxF
KSAmJiBPUyhEQVJXSU4pCiAKICNkZWZpbmUgZGVmaW5lVW5hcnlEb3VibGVPcFdyYXBwZXIoZnVu
Y3Rpb24pIFwKICAgICBhc20oIFwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5jcHAJKHJldmlzaW9uIDI1NDgzOCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNTA1LDcgKzUwNSw3IEBAIEpTVmFsdWUgQ0xvb3A6OmV4ZWN1dGUoT3Bjb2Rl
SUQgZW50cnlPcGMKICNkZWZpbmUgT0ZGTElORV9BU01fQkVHSU4gICBhc20gKAogI2RlZmluZSBP
RkZMSU5FX0FTTV9FTkQgICAgICk7CiAKLSNpZiBVU0UoTExJTlRfRU1CRURERURfT1BDT0RFX0lE
KQorI2lmIEVOQUJMRShMTElOVF9FTUJFRERFRF9PUENPREVfSUQpCiAjZGVmaW5lIEVNQkVEX09Q
Q09ERV9JRF9JRl9ORUVERUQoX19vcGNvZGUpICIuaW50ICIgX19vcGNvZGUjI192YWx1ZV9zdHJp
bmcgIlxuIgogI2Vsc2UKICNkZWZpbmUgRU1CRURfT1BDT0RFX0lEX0lGX05FRURFRChfX29wY29k
ZSkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3RyaW5nLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJpbmcuaAkocmV2aXNp
b24gMjU0ODM4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJpbmcuaAko
d29ya2luZyBjb3B5KQpAQCAtMjc2LDcgKzI3Niw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWNfYXNz
ZXJ0KHNpemVvZih1aW50cHRyX3QpID09IHNpemVvZih1aW50NjRfdCksICIiKTsKICAgICBjbGFz
cyBDb21wYWN0RmliZXJzIHsKICAgICBwdWJsaWM6Ci0gICAgICAgIHN0YXRpYyBjb25zdGV4cHIg
dWludHB0cl90IGFkZHJlc3NNYXNrID0gKDFVTEwgPDwgV1RGX0NQVV9FRkZFQ1RJVkVfQUREUkVT
U19XSURUSCkgLSAxOworICAgICAgICBzdGF0aWMgY29uc3RleHByIHVpbnRwdHJfdCBhZGRyZXNz
TWFzayA9ICgxVUxMIDw8IE9TX0NPTlNUQU5UKEVGRkVDVElWRV9BRERSRVNTX1dJRFRIKSkgLSAx
OwogICAgICAgICBKU1N0cmluZyogZmliZXIxKCkgY29uc3QKICAgICAgICAgewogI2lmIENQVShM
SVRUTEVfRU5ESUFOKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aENv
bW1vbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0
aENvbW1vbi5jcHAJKHJldmlzaW9uIDI1NDgzOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL01hdGhDb21tb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBACiAK
IG5hbWVzcGFjZSBKU0MgewogCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgQ1BVKEFSTV9U
SFVNQjIpCisjaWYgT1MoREFSV0lOKSAmJiBDUFUoQVJNX1RIVU1CMikKIAogLy8gVGhlIGZvbGxv
d2luZyBjb2RlIGlzIHRha2VuIGZyb20gbmV0bGliLm9yZzoKIC8vICAgaHR0cDovL3d3dy5uZXRs
aWIub3JnL2ZkbGlibS9mZGxpYm0uaApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xz
L1NpZ2lsbENyYXNoQW5hbHl6ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS90b29scy9TaWdpbGxDcmFzaEFuYWx5emVyLmNwcAkocmV2aXNpb24gMjU0ODM4KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL1NpZ2lsbENyYXNoQW5hbHl6ZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMyw3ICszMyw3IEBACiAjaW5jbHVkZSA8bXV0ZXg+CiAjaW5jbHVkZSA8
d3RmL1N0ZExpYkV4dHJhcy5oPgogCi0jaWYgVVNFKEFSTTY0X0RJU0FTU0VNQkxFUikKKyNpZiBF
TkFCTEUoQVJNNjRfRElTQVNTRU1CTEVSKQogI2luY2x1ZGUgIkE2NERPcGNvZGUuaCIKICNlbmRp
ZgogCkBAIC02MCw3ICs2MCw3IEBAIHByaXZhdGU6CiAgICAgU2lnaWxsQ3Jhc2hBbmFseXplcigp
IHsgfQogICAgIHZvaWQgZHVtcENvZGVCbG9jayhDb2RlQmxvY2sqLCB2b2lkKiBtYWNoaW5lUEMp
OwogCi0jaWYgVVNFKEFSTTY0X0RJU0FTU0VNQkxFUikKKyNpZiBFTkFCTEUoQVJNNjRfRElTQVNT
RU1CTEVSKQogICAgIEE2NERPcGNvZGUgbV9hcm02NE9wY29kZTsKICNlbmRpZgogfTsKSW5kZXg6
IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNTQ4MzgpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDMyIEBACisyMDIwLTAxLTE3ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxl
LmNvbT4KKworICAgICAgICBQbGF0Zm9ybS5oIGlzIG91dCBvZiBjb250cm9sIFBhcnQgODogTWFj
cm9zIGFyZSB1c2VkIGluY29uc2lzdGVudGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMDY0MjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBTdGFydCBhZGRyZXNzaW5nIEZJWE1FcyBhZGRlZCB0byBQbGF0
Zm9ybS5oIChhbmQgaGVscGVyIGZpbGVzKSBkdXJpbmcgcHJldmlvdXMKKyAgICAgICAgY2xlYW51
cCB3b3JrLgorICAgICAgICAKKyAgICAgICAgLSBSZW5hbWVzIFdURl9DUFVfRUZGRUNUSVZFX0FE
RFJFU1NfV0lEVEggdG8gV1RGX09TX0NPTlNUQU5UX0VGRkVDVElWRV9BRERSRVNTX1dJRFRILAor
ICAgICAgICAgIG1ha2luZyBpdCBhdmFpbGFibGUgdmlhIG5ldyBtYWNybyBPU19DT05TVEFOVCgu
Li4pLCBhbmQgc3luY3MgYm1hbGxvYyByZWRlZmluaXRpb24uCisgICAgICAgIC0gUmVuYW1lczoK
KyAgICAgICAgICAgICBVU0VfTExJTlRfRU1CRURERURfT1BDT0RFX0lEIHRvIEVOQUJMRV9MTElO
VF9FTUJFRERFRF9PUENPREVfSUQKKyAgICAgICAgICAgICBVU0VfVURJUzg2IHRvIEVOQUJMRV9V
RElTODYgCisgICAgICAgICAgICAgVVNFX0FSTTY0X0RJU0FTU0VNQkxFUiB0byBFTkFCTEVfQVJN
NjRfRElTQVNTRU1CTEVSCisgICAgICAgICAgRW5hYmxlIGlzIG1vcmUgYXBwcm9wcmlhdGUgaGVy
ZSBhcyB0aGVzZSBlbmFibGUgZnVuY3Rpb25hbGl0eSB3aXRoaW4gd2Via2l0LgorICAgICAgICAt
IFJlbW92ZXMgdW5kZWZzIHRoYXQgYXJlIG5vIGxvbmdlciBuZWVkZWQgZHVlIHRvIG9ubHkgZGVm
aW5pbmcgdGhlIG1hY3JvIG9uY2Ugbm93LgorICAgICAgICAtIFJlbW92ZXMgZGVhZCBkZWZpbmVk
KF9fTFA2NF9fKSBjaGVjayBhZnRlciBQTEFURk9STShNQUMpIG1hY09TIGlzIGFsd2F5cyA2NC1i
aXQgdGhlc2UKKyAgICAgICAgICBkYXlzLgorCisgICAgICAgICogd3RmL1BhY2tlZC5oOgorICAg
ICAgICAoV1RGOjphbGlnbm9mKToKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDoKKyAgICAgICAg
KiB3dGYvUGxhdGZvcm1FbmFibGUuaDoKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1PUy5oOgorICAg
ICAgICAqIHd0Zi9XVEZBc3NlcnRpb25zLmNwcDoKKyAgICAgICAgKiB3dGYvdGV4dC9TdHJpbmdD
b21tb24uaDoKKwogMjAyMC0wMS0yMCAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29t
PgogCiAgICAgICAgIEZpeCBtaXNzaW5nIGhlYWRlciBndWFyZHMgYW5kIGNsZWFuIHVwIGVtcHR5
IGZpbGVzIGluIGJtYWxsb2MsIFdURiwgSmF2YVNjcmlwdENvcmUKSW5kZXg6IFNvdXJjZS9XVEYv
d3RmL1BhY2tlZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL1BhY2tlZC5oCShyZXZp
c2lvbiAyNTQ4MzgpCisrKyBTb3VyY2UvV1RGL3d0Zi9QYWNrZWQuaAkod29ya2luZyBjb3B5KQpA
QCAtMTA3LDggKzEwNyw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWNfYXNzZXJ0KGhhc09uZUJpdFNl
dChhbGlnbm1lbnQpLCAiQWxpZ25tZW50IG5lZWRzIHRvIGJlIHBvd2VyLW9mLXR3byIpOwogICAg
IHN0YXRpYyBjb25zdGV4cHIgYm9vbCBpc1BhY2tlZFR5cGUgPSB0cnVlOwogICAgIHN0YXRpYyBj
b25zdGV4cHIgdW5zaWduZWQgYWxpZ25tZW50U2hpZnRTaXplSWZQcm9maXRhYmxlID0gZ2V0TFNC
U2V0Q29uc3RleHByKGFsaWdubWVudCk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBz
dG9yYWdlU2l6ZVdpdGhvdXRBbGlnbm1lbnRTaGlmdCA9IHJvdW5kVXBUb011bHRpcGxlT2Y8OD4o
V1RGX0NQVV9FRkZFQ1RJVkVfQUREUkVTU19XSURUSCkgLyA4OwotICAgIHN0YXRpYyBjb25zdGV4
cHIgdW5zaWduZWQgc3RvcmFnZVNpemVXaXRoQWxpZ25tZW50U2hpZnQgPSByb3VuZFVwVG9NdWx0
aXBsZU9mPDg+KFdURl9DUFVfRUZGRUNUSVZFX0FERFJFU1NfV0lEVEggLSBhbGlnbm1lbnRTaGlm
dFNpemVJZlByb2ZpdGFibGUpIC8gODsKKyAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIHN0
b3JhZ2VTaXplV2l0aG91dEFsaWdubWVudFNoaWZ0ID0gcm91bmRVcFRvTXVsdGlwbGVPZjw4PihP
U19DT05TVEFOVChFRkZFQ1RJVkVfQUREUkVTU19XSURUSCkpIC8gODsKKyAgICBzdGF0aWMgY29u
c3RleHByIHVuc2lnbmVkIHN0b3JhZ2VTaXplV2l0aEFsaWdubWVudFNoaWZ0ID0gcm91bmRVcFRv
TXVsdGlwbGVPZjw4PihPU19DT05TVEFOVChFRkZFQ1RJVkVfQUREUkVTU19XSURUSCkgLSBhbGln
bm1lbnRTaGlmdFNpemVJZlByb2ZpdGFibGUpIC8gODsKICAgICBzdGF0aWMgY29uc3RleHByIGJv
b2wgaXNBbGlnbm1lbnRTaGlmdFByb2ZpdGFibGUgPSBzdG9yYWdlU2l6ZVdpdGhvdXRBbGlnbm1l
bnRTaGlmdCA+IHN0b3JhZ2VTaXplV2l0aEFsaWdubWVudFNoaWZ0OwogICAgIHN0YXRpYyBjb25z
dGV4cHIgdW5zaWduZWQgYWxpZ25tZW50U2hpZnRTaXplID0gaXNBbGlnbm1lbnRTaGlmdFByb2Zp
dGFibGUgPyBhbGlnbm1lbnRTaGlmdFNpemVJZlByb2ZpdGFibGUgOiAwOwogICAgIHN0YXRpYyBj
b25zdGV4cHIgdW5zaWduZWQgc3RvcmFnZVNpemUgPSBzdG9yYWdlU2l6ZVdpdGhBbGlnbm1lbnRT
aGlmdDsKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dURi93dGYvUGxhdGZvcm0uaAkocmV2aXNpb24gMjU0ODM4KQorKysgU291cmNlL1dURi93
dGYvUGxhdGZvcm0uaAkod29ya2luZyBjb3B5KQpAQCAtODIsMTkgKzgyLDYgQEAKICAgIGJlbG9u
ZyBhcyBwYXJ0IG9mIFBsYXRmb3JtLmggYXQgYWxsLiAqLwogCiAKLQotLyogRklYTUU6IFJlbmFt
ZSBXVEZfQ1BVX0VGRkVDVElWRV9BRERSRVNTX1dJRFRIIHRvIFdURl9PU19FRkZFQ1RJVkVfQURE
UkVTU19XSURUSCwgYXMgaXQgaXMgYW4gT1MgZmVhdHVyZSwgbm90IGEgQ1BVIGZlYXR1cmUuICov
Ci0jaWYgQ1BVKEFERFJFU1M2NCkKLSNpZiAoT1MoSU9TKSB8fCBPUyhUVk9TKSB8fCBPUyhXQVRD
SE9TKSkgJiYgQ1BVKEFSTTY0KQotI2RlZmluZSBXVEZfQ1BVX0VGRkVDVElWRV9BRERSRVNTX1dJ
RFRIIDM2Ci0jZWxzZQotLyogV2Ugc3Ryb25nbHkgYXNzdW1lIHRoYXQgZWZmZWN0aXZlIGFkZHJl
c3Mgd2lkdGggaXMgPD0gNDggaW4gNjRiaXQgYXJjaGl0ZWN0dXJlcyAoZS5nLiBOYU4gYm94aW5n
KS4gKi8KLSNkZWZpbmUgV1RGX0NQVV9FRkZFQ1RJVkVfQUREUkVTU19XSURUSCA0OAotI2VuZGlm
Ci0jZWxzZQotI2RlZmluZSBXVEZfQ1BVX0VGRkVDVElWRV9BRERSRVNTX1dJRFRIIDMyCi0jZW5k
aWYKLQogI2lmIFBMQVRGT1JNKEdUSykKICNkZWZpbmUgR0xJQl9WRVJTSU9OX01JTl9SRVFVSVJF
RCBHTElCX1ZFUlNJT05fMl8zNgogI2RlZmluZSBHREtfVkVSU0lPTl9NSU5fUkVRVUlSRUQgR0RL
X1ZFUlNJT05fM182CkBAIC0xNTEsMTYgKzEzOCw2IEBACiAjZGVmaW5lIFVTRV9MSUJXRUJSVEMg
MQogI2VuZGlmCiAKLS8qIEZJWE1FOiBUaGlzIGlzIHVzZWQgdG8gInR1cm4gb24gYSBzcGVjaWZp
YyBmZWF0dXJlIG9mIFdlYktpdCIsIHNvIHNob3VsZCBiZSBjb252ZXJ0ZWQgdG8gYW4gRU5BQkxF
IG1hY3JvLiAqLwotLyogVGhpcyBmZWF0dXJlIHdvcmtzIGJ5IGVtYmVkZGluZyB0aGUgT3Bjb2Rl
SUQgaW4gdGhlIDMyIGJpdCBqdXN0IGJlZm9yZSB0aGUgZ2VuZXJhdGVkIExMaW50IGNvZGUKLSAg
IHRoYXQgZXhlY3V0ZXMgZWFjaCBvcGNvZGUuIEl0IGNhbm5vdCBiZSBzdXBwb3J0ZWQgYnkgdGhl
IENMb29wIHNpbmNlIHRoZXJlJ3Mgbm8gd2F5IHRvIGVtYmVkIHRoZQotICAgT3Bjb2RlSUQgd29y
ZCBpbiB0aGUgQ0xvb3AncyBzd2l0Y2ggc3RhdGVtZW50IGNhc2VzLiBJdCBpcyBhbHNvIGN1cnJl
bnRseSBub3QgaW1wbGVtZW50ZWQgZm9yIE1TVkMuCi0qLwotI2lmICFkZWZpbmVkKFVTRV9MTElO
VF9FTUJFRERFRF9PUENPREVfSUQpICYmICFFTkFCTEUoQ19MT09QKSAmJiAhQ09NUElMRVIoTVNW
QykgJiYgXAotICAgIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNNjQpIHx8IChD
UFUoQVJNX1RIVU1CMikgJiYgT1MoREFSV0lOKSkpCi0jZGVmaW5lIFVTRV9MTElOVF9FTUJFRERF
RF9PUENPREVfSUQgMQotI2VuZGlmCi0KIAogI2lmIFBMQVRGT1JNKENPQ09BKQogI2lmIEVOQUJM
RShXRUJHTCkKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGUuaAkocmV2aXNpb24gMjU0ODM4KQor
KysgU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGUuaAkod29ya2luZyBjb3B5KQpAQCAtNjE5
LDEwICs2MTksNiBAQCB0aGUgcHVibGljIGlPUyBTREsuIFNlZSA8aHR0cHM6Ly93ZWJraXQuCiAj
ZGVmaW5lIEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTIDAKICNlbmRpZgogCi0jaWYgIWRlZmluZWQo
RU5BQkxFX09QRU5UWVBFX1ZFUlRJQ0FMKQotI2RlZmluZSBFTkFCTEVfT1BFTlRZUEVfVkVSVElD
QUwgMAotI2VuZGlmCi0KICNpZiAhZGVmaW5lZChFTkFCTEVfT1JJRU5UQVRJT05fRVZFTlRTKQog
I2RlZmluZSBFTkFCTEVfT1JJRU5UQVRJT05fRVZFTlRTIDAKICNlbmRpZgpAQCAtNzQwLDcgKzcz
Niw3IEBAIHRoZSBwdWJsaWMgaU9TIFNESy4gU2VlIDxodHRwczovL3dlYmtpdC4KIC8qIEpJVCBG
ZWF0dXJlcyAqLwogCiAvKiBUaGUgSklUIGlzIGVuYWJsZWQgYnkgZGVmYXVsdCBvbiBhbGwgeDg2
LTY0ICYgQVJNNjQgcGxhdGZvcm1zLiAqLwotI2lmICFkZWZpbmVkKEVOQUJMRV9KSVQpICYmICAo
Q1BVKFg4Nl82NCkgfHwgQ1BVKEFSTTY0KSkgJiYgIUNQVShBUFBMRV9BUk1WN0spCisjaWYgIWRl
ZmluZWQoRU5BQkxFX0pJVCkgJiYgKENQVShYODZfNjQpIHx8IENQVShBUk02NCkpICYmICFDUFUo
QVBQTEVfQVJNVjdLKQogI2RlZmluZSBFTkFCTEVfSklUIDEKICNlbmRpZgogCkBAIC03ODEsMjAg
Kzc3NywxOCBAQCB0aGUgcHVibGljIGlPUyBTREsuIFNlZSA8aHR0cHM6Ly93ZWJraXQuCiAjZGVm
aW5lIEVOQUJMRV9GVExfSklUIDAKICNlbmRpZgogCi0vKiBGSVhNRTogVGhpcyBpcyB1c2VkIHRv
ICJ0dXJuIG9uIGEgc3BlY2lmaWMgZmVhdHVyZSBvZiBXZWJLaXQiLCBzbyBzaG91bGQgYmUgY29u
dmVydGVkIHRvIGFuIEVOQUJMRSBtYWNyby4gKi8KIC8qIElmIHBvc3NpYmxlLCB0cnkgdG8gZW5h
YmxlIGEgZGlzYXNzZW1ibGVyLiBUaGlzIGlzIG9wdGlvbmFsLiBXZSBwcm9jZWVkIGluIHR3bwog
ICAgc3RlcHM6IGZpcnN0IHdlIHRyeSB0byBmaW5kIHNvbWUgZGlzYXNzZW1ibGVyIHRoYXQgd2Ug
Y2FuIHVzZSwgYW5kIHRoZW4gd2UKICAgIGRlY2lkZSBpZiB0aGUgaGlnaC1sZXZlbCBkaXNhc3Nl
bWJsZXIgQVBJIGNhbiBiZSBlbmFibGVkLiAqLwotI2lmICFkZWZpbmVkKFVTRV9VRElTODYpICYm
IEVOQUJMRShKSVQpICYmIENQVShYODZfNjQpICYmICFVU0UoQ0FQU1RPTkUpCi0jZGVmaW5lIFVT
RV9VRElTODYgMQorI2lmICFkZWZpbmVkKEVOQUJMRV9VRElTODYpICYmIEVOQUJMRShKSVQpICYm
IENQVShYODZfNjQpICYmICFVU0UoQ0FQU1RPTkUpCisjZGVmaW5lIEVOQUJMRV9VRElTODYgMQog
I2VuZGlmCiAKLS8qIEZJWE1FOiBUaGlzIGlzIHVzZWQgdG8gInR1cm4gb24gYSBzcGVjaWZpYyBm
ZWF0dXJlIG9mIFdlYktpdCIsIHNvIHNob3VsZCBiZSBjb252ZXJ0ZWQgdG8gYW4gRU5BQkxFIG1h
Y3JvLiAqLwotI2lmICFkZWZpbmVkKFVTRV9BUk02NF9ESVNBU1NFTUJMRVIpICYmIEVOQUJMRShK
SVQpICYmIENQVShBUk02NCkgJiYgIVVTRShDQVBTVE9ORSkKLSNkZWZpbmUgVVNFX0FSTTY0X0RJ
U0FTU0VNQkxFUiAxCisjaWYgIWRlZmluZWQoRU5BQkxFX0FSTTY0X0RJU0FTU0VNQkxFUikgJiYg
RU5BQkxFKEpJVCkgJiYgQ1BVKEFSTTY0KSAmJiAhVVNFKENBUFNUT05FKQorI2RlZmluZSBFTkFC
TEVfQVJNNjRfRElTQVNTRU1CTEVSIDEKICNlbmRpZgogCi0jaWYgIWRlZmluZWQoRU5BQkxFX0RJ
U0FTU0VNQkxFUikgJiYgKFVTRShVRElTODYpIHx8IFVTRShBUk02NF9ESVNBU1NFTUJMRVIpIHx8
IChFTkFCTEUoSklUKSAmJiBVU0UoQ0FQU1RPTkUpKSkKKyNpZiAhZGVmaW5lZChFTkFCTEVfRElT
QVNTRU1CTEVSKSAmJiAoRU5BQkxFKFVESVM4NikgfHwgRU5BQkxFKEFSTTY0X0RJU0FTU0VNQkxF
UikgfHwgKEVOQUJMRShKSVQpICYmIFVTRShDQVBTVE9ORSkpKQogI2RlZmluZSBFTkFCTEVfRElT
QVNTRU1CTEVSIDEKICNlbmRpZgogCkBAIC04MDYsOSArODAwLDEwIEBAIHRoZSBwdWJsaWMgaU9T
IFNESy4gU2VlIDxodHRwczovL3dlYmtpdC4KICNlbmRpZgogCiAvKiBFbmFibGUgdGhlIERGRyBK
SVQgb24gQVJNdjcuICBPbmx5IHRlc3RlZCBvbiBpT1MsIExpbnV4LCBhbmQgRnJlZUJTRC4gKi8K
LSNpZiAoQ1BVKEFSTV9USFVNQjIpIHx8IENQVShBUk02NCkpICYmIChQTEFURk9STShJT1NfRkFN
SUxZKSB8fCBPUyhMSU5VWCkgfHwgT1MoRlJFRUJTRCkpCisjaWYgKENQVShBUk1fVEhVTUIyKSB8
fCBDUFUoQVJNNjQpKSAmJiAoT1MoREFSV0lOKSB8fCBPUyhMSU5VWCkgfHwgT1MoRlJFRUJTRCkp
CiAjZGVmaW5lIEVOQUJMRV9ERkdfSklUIDEKICNlbmRpZgorCiAvKiBFbmFibGUgdGhlIERGRyBK
SVQgb24gTUlQUy4gKi8KICNpZiBDUFUoTUlQUykKICNkZWZpbmUgRU5BQkxFX0RGR19KSVQgMQpA
QCAtOTU2LDcgKzk1MSw3IEBAIHRoZSBwdWJsaWMgaU9TIFNESy4gU2VlIDxodHRwczovL3dlYmtp
dC4KICNlbmRpZgogCiAvKiBDU1MgU2VsZWN0b3IgSklUIENvbXBpbGVyICovCi0jaWYgIWRlZmlu
ZWQoRU5BQkxFX0NTU19TRUxFQ1RPUl9KSVQpICYmICgoQ1BVKFg4Nl82NCkgfHwgQ1BVKEFSTTY0
KSB8fCAoQ1BVKEFSTV9USFVNQjIpICYmIFBMQVRGT1JNKElPU19GQU1JTFkpKSkgJiYgRU5BQkxF
KEpJVCkgJiYgKE9TKERBUldJTikgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXUEUpKSkK
KyNpZiAhZGVmaW5lZChFTkFCTEVfQ1NTX1NFTEVDVE9SX0pJVCkgJiYgKChDUFUoWDg2XzY0KSB8
fCBDUFUoQVJNNjQpIHx8IChDUFUoQVJNX1RIVU1CMikgJiYgT1MoREFSV0lOKSkpICYmIEVOQUJM
RShKSVQpICYmIChPUyhEQVJXSU4pIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKSkp
CiAjZGVmaW5lIEVOQUJMRV9DU1NfU0VMRUNUT1JfSklUIDEKICNlbmRpZgogCkBAIC05OTIsMTUg
Kzk4NywxMSBAQCB0aGUgcHVibGljIGlPUyBTREsuIFNlZSA8aHR0cHM6Ly93ZWJraXQuCiAjZGVm
aW5lIEVOQUJMRV9SRVNPVVJDRV9VU0FHRSAxCiAjZW5kaWYKIAotLyogRklYTUU6IERvY3VtZW50
IG9yIHJlbW92ZSBleHBsaWNpdCB1bmRlZi4gKi8KLSNpZiBQTEFURk9STShHVEspIHx8IFBMQVRG
T1JNKFdQRSkKLSN1bmRlZiBFTkFCTEVfT1BFTlRZUEVfVkVSVElDQUwKKyNpZiAhZGVmaW5lZChF
TkFCTEVfT1BFTlRZUEVfVkVSVElDQUwpICYmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BF
KQogI2RlZmluZSBFTkFCTEVfT1BFTlRZUEVfVkVSVElDQUwgMQogI2VuZGlmCiAKLS8qIEZJWE1F
OiBEb2N1bWVudCBvciByZW1vdmUgZXhwbGljaXQgdW5kZWYuICovCi0jaWYgKE9TKERBUldJTikg
JiYgVVNFKENHKSkgfHwgKFVTRShGUkVFVFlQRSkgJiYgIVBMQVRGT1JNKEdUSykpIHx8IChQTEFU
Rk9STShXSU4pICYmIChVU0UoQ0cpIHx8IFVTRShDQUlSTykpKQotI3VuZGVmIEVOQUJMRV9PUEVO
VFlQRV9NQVRICisjaWYgIWRlZmluZWQoRU5BQkxFX09QRU5UWVBFX01BVEgpICYmIChPUyhEQVJX
SU4pICYmIFVTRShDRykpIHx8IChVU0UoRlJFRVRZUEUpICYmICFQTEFURk9STShHVEspKSB8fCAo
UExBVEZPUk0oV0lOKSAmJiAoVVNFKENHKSB8fCBVU0UoQ0FJUk8pKSkKICNkZWZpbmUgRU5BQkxF
X09QRU5UWVBFX01BVEggMQogI2VuZGlmCiAKQEAgLTEwMTUsOCArMTAwNiw3IEBAIHRoZSBwdWJs
aWMgaU9TIFNESy4gU2VlIDxodHRwczovL3dlYmtpdC4KIC8qIERpc2FibGUgU2hhcmVkQXJyYXlC
dWZmZXJzIHVudGlsIFNwZWN0cmUgc2VjdXJpdHkgY29uY2VybnMgYXJlIG1pdGlnYXRlZC4gKi8K
ICNkZWZpbmUgRU5BQkxFX1NIQVJFRF9BUlJBWV9CVUZGRVIgMAogCi0vKiBGSVhNRTogX19MUDY0
X18gY2FuIHByb2JhYmx5IGJlIHJlbW92ZWQgbm93IHRoYXQgMzItYml0IG1hY09TIGlzIG5vIGxv
bmdlciBzdXBwb3J0ZWQuICovCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBkZWZpbmVkKF9fTFA2NF9f
KQorI2lmIFBMQVRGT1JNKE1BQykKICNkZWZpbmUgRU5BQkxFX1dFQl9QTEFZQkFDS19DT05UUk9M
U19NQU5BR0VSIDEKICNlbmRpZgogCkBAIC0xMDQyLDYgKzEwMzIsMTQgQEAgdGhlIHB1YmxpYyBp
T1MgU0RLLiBTZWUgPGh0dHBzOi8vd2Via2l0LgogI2RlZmluZSBFTkFCTEVfUExBVEZPUk1fRFJJ
VkVOX1RFWFRfQ0hFQ0tJTkcgMQogI2VuZGlmCiAKKy8qIFRoaXMgZmVhdHVyZSB3b3JrcyBieSBl
bWJlZGRpbmcgdGhlIE9wY29kZUlEIGluIHRoZSAzMiBiaXQganVzdCBiZWZvcmUgdGhlIGdlbmVy
YXRlZCBMTGludCBjb2RlCisgICB0aGF0IGV4ZWN1dGVzIGVhY2ggb3Bjb2RlLiBJdCBjYW5ub3Qg
YmUgc3VwcG9ydGVkIGJ5IHRoZSBDTG9vcCBzaW5jZSB0aGVyZSdzIG5vIHdheSB0byBlbWJlZCB0
aGUKKyAgIE9wY29kZUlEIHdvcmQgaW4gdGhlIENMb29wJ3Mgc3dpdGNoIHN0YXRlbWVudCBjYXNl
cy4gSXQgaXMgYWxzbyBjdXJyZW50bHkgbm90IGltcGxlbWVudGVkIGZvciBNU1ZDLgorKi8KKyNp
ZiAhZGVmaW5lZChFTkFCTEVfTExJTlRfRU1CRURERURfT1BDT0RFX0lEKSAmJiAhRU5BQkxFKENf
TE9PUCkgJiYgIUNPTVBJTEVSKE1TVkMpICYmIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBD
UFUoQVJNNjQpIHx8IChDUFUoQVJNX1RIVU1CMikgJiYgT1MoREFSV0lOKSkpCisjZGVmaW5lIEVO
QUJMRV9MTElOVF9FTUJFRERFRF9PUENPREVfSUQgMQorI2VuZGlmCisKIAogLyogQXNzZXJ0cywg
aW52YXJpYW50cyBmb3IgbWFjcm8gZGVmaW5pdGlvbnMgKi8KIApJbmRleDogU291cmNlL1dURi93
dGYvUGxhdGZvcm1PUy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtT1Mu
aAkocmV2aXNpb24gMjU0ODM4KQorKysgU291cmNlL1dURi93dGYvUGxhdGZvcm1PUy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MSw3ICs0MSw4IEBACiAKIC8qIE9TKCkgLSB1bmRlcmx5aW5nIG9wZXJh
dGluZyBzeXN0ZW07IG9ubHkgdG8gYmUgdXNlZCBmb3IgbWFuZGF0ZWQgbG93LWxldmVsIHNlcnZp
Y2VzIGxpa2UKICAgIHZpcnR1YWwgbWVtb3J5LCBub3QgdG8gY2hvb3NlIGEgR1VJIHRvb2xraXQg
Ki8KLSNkZWZpbmUgT1MoV1RGX0ZFQVRVUkUpIChkZWZpbmVkIFdURl9PU18jI1dURl9GRUFUVVJF
ICAmJiBXVEZfT1NfIyNXVEZfRkVBVFVSRSkKKyNkZWZpbmUgT1MoV1RGX0ZFQVRVUkUpIChkZWZp
bmVkIFdURl9PU18jI1dURl9GRUFUVVJFICYmIFdURl9PU18jI1dURl9GRUFUVVJFKQorI2RlZmlu
ZSBPU19DT05TVEFOVChXVEZfRkVBVFVSRSkgKFdURl9PU19DT05TVEFOVF8jI1dURl9GRUFUVVJF
KQogCiAKIC8qID09PT0gT1MoKSAtIHVuZGVybHlpbmcgb3BlcmF0aW5nIHN5c3RlbTsgb25seSB0
byBiZSB1c2VkIGZvciBtYW5kYXRlZCBsb3ctbGV2ZWwgc2VydmljZXMgbGlrZQpAQCAtMTM1LDYg
KzEzNiwxOCBAQAogI2VuZGlmCiAKIAorI2lmIENQVShBRERSRVNTNjQpCisjaWYgKE9TKElPUykg
fHwgT1MoVFZPUykgfHwgT1MoV0FUQ0hPUykpICYmIENQVShBUk02NCkKKyNkZWZpbmUgV1RGX09T
X0NPTlNUQU5UX0VGRkVDVElWRV9BRERSRVNTX1dJRFRIIDM2CisjZWxzZQorLyogV2Ugc3Ryb25n
bHkgYXNzdW1lIHRoYXQgZWZmZWN0aXZlIGFkZHJlc3Mgd2lkdGggaXMgPD0gNDggaW4gNjRiaXQg
YXJjaGl0ZWN0dXJlcyAoZS5nLiBOYU4gYm94aW5nKS4gKi8KKyNkZWZpbmUgV1RGX09TX0NPTlNU
QU5UX0VGRkVDVElWRV9BRERSRVNTX1dJRFRIIDQ4CisjZW5kaWYKKyNlbHNlCisjZGVmaW5lIFdU
Rl9PU19DT05TVEFOVF9FRkZFQ1RJVkVfQUREUkVTU19XSURUSCAzMgorI2VuZGlmCisKKwogLyog
QXNzZXJ0cywgaW52YXJpYW50cyBmb3IgbWFjcm8gZGVmaW5pdGlvbnMgKi8KIAogI2RlZmluZSBX
VEZfT1NfV0lOIEVSUk9SICJVU0UgV0lORE9XUyBXSVRIIE9TIE5PVCBXSU4iCkluZGV4OiBTb3Vy
Y2UvV1RGL3d0Zi9XVEZBc3NlcnRpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0
Zi9XVEZBc3NlcnRpb25zLmNwcAkocmV2aXNpb24gMjU0ODM4KQorKysgU291cmNlL1dURi93dGYv
V1RGQXNzZXJ0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUwLDggKzUwLDggQEAgc3RhdGlj
X2Fzc2VydChzaXplb2YoUmVmUHRyPER1bW15U3RydWN0Pgogc3RhdGljX2Fzc2VydChzaXplb2Yo
UmVmQ291bnRlZEFycmF5PER1bW15U3RydWN0PikgPT0gc2l6ZW9mKHZvaWQqKSwgIiIpOwogCiAj
aWYgT1MoREFSV0lOKSAmJiBDUFUoQUREUkVTUzY0KQotc3RhdGljX2Fzc2VydChNQUNIX1ZNX01B
WF9BRERSRVNTIDw9ICgoMVVMTCA8PCBXVEZfQ1BVX0VGRkVDVElWRV9BRERSRVNTX1dJRFRIKSAt
IDEpKTsKK3N0YXRpY19hc3NlcnQoTUFDSF9WTV9NQVhfQUREUkVTUyA8PSAoKDFVTEwgPDwgT1Nf
Q09OU1RBTlQoRUZGRUNUSVZFX0FERFJFU1NfV0lEVEgpKSAtIDEpKTsKICNlbmRpZgotICAgIAor
CiB9IC8vIG5hbWVzcGFjZSBXVEYKIApJbmRleDogU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdD
b21tb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0NvbW1vbi5o
CShyZXZpc2lvbiAyNTQ4MzgpCisrKyBTb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0NvbW1vbi5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xNzIsNyArMTcyLDcgQEAgQUxXQVlTX0lOTElORSBib29sIGVx
dWFsKGNvbnN0IFVDaGFyKiBhVQogCiAgICAgcmV0dXJuIHRydWU7CiB9Ci0jZWxpZiBQTEFURk9S
TShJT1NfRkFNSUxZKSAmJiBXVEZfQVJNX0FSQ0hfQVRfTEVBU1QoNykgJiYgIUFTQU5fRU5BQkxF
RAorI2VsaWYgT1MoREFSV0lOKSAmJiBXVEZfQVJNX0FSQ0hfQVRfTEVBU1QoNykgJiYgIUFTQU5f
RU5BQkxFRAogQUxXQVlTX0lOTElORSBib29sIGVxdWFsKGNvbnN0IExDaGFyKiBhLCBjb25zdCBM
Q2hhciogYiwgdW5zaWduZWQgbGVuZ3RoKQogewogICAgIGJvb2wgaXNFcXVhbCA9IGZhbHNlOwpJ
bmRleDogU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFs
bG9jL0NoYW5nZUxvZwkocmV2aXNpb24gMjU0ODM4KQorKysgU291cmNlL2JtYWxsb2MvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDEtMTcgIFNhbSBXZWlu
aWcgIDx3ZWluaWdAYXBwbGUuY29tPgorCisgICAgICAgIFBsYXRmb3JtLmggaXMgb3V0IG9mIGNv
bnRyb2wgUGFydCA4OiBNYWNyb3MgYXJlIHVzZWQgaW5jb25zaXN0ZW50bHkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjQyNQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogYm1hbGxvYy9CUGxhdGZvcm0u
aDoKKyAgICAgICAgVXBkYXRlIE9TX0VGRkVDVElWRV9BRERSRVNTX1dJRFRIIHRvIG1hdGNoIFdU
RiBkZWZpbml0aW9uLCBhZGQgbmVlZGVkIE9TIG1hY3Jvcy4KKwogMjAyMC0wMS0yMCAgRGF2aWQg
S2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBtaXNzaW5nIGhlYWRl
ciBndWFyZHMgYW5kIGNsZWFuIHVwIGVtcHR5IGZpbGVzIGluIGJtYWxsb2MsIFdURiwgSmF2YVNj
cmlwdENvcmUKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQlBsYXRmb3JtLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL2JtYWxsb2MvYm1hbGxvYy9CUGxhdGZvcm0uaAkocmV2aXNpb24gMjU0
ODM4KQorKysgU291cmNlL2JtYWxsb2MvYm1hbGxvYy9CUGxhdGZvcm0uaAkod29ya2luZyBjb3B5
KQpAQCAtNTgsNiArNTgsNyBAQAogCiAjaWYgQk9TKERBUldJTikgJiYgIWRlZmluZWQoQlVJTERJ
TkdfV0lUSF9DTUFLRSkKICNpZiBUQVJHRVRfT1NfSU9TCisjZGVmaW5lIEJPU19JT1MgMQogI2Rl
ZmluZSBCUExBVEZPUk1fSU9TIDEKICNpZiBUQVJHRVRfT1NfU0lNVUxBVE9SCiAjZGVmaW5lIEJQ
TEFURk9STV9JT1NfU0lNVUxBVE9SIDEKQEAgLTY5LDYgKzcwLDcgQEAKICNkZWZpbmUgQlBMQVRG
T1JNX0lPU19GQU1JTFlfU0lNVUxBVE9SIDEKICNlbmRpZgogI2VsaWYgVEFSR0VUX09TX01BQwor
I2RlZmluZSBCT1NfTUFDIDEKICNkZWZpbmUgQlBMQVRGT1JNX01BQyAxCiAjZW5kaWYKICNlbmRp
ZgpAQCAtNzgsMTAgKzgwLDEyIEBACiAjZW5kaWYKIAogI2lmIGRlZmluZWQoVEFSR0VUX09TX1dB
VENIKSAmJiBUQVJHRVRfT1NfV0FUQ0gKKyNkZWZpbmUgQk9TX1dBVENIT1MgMQogI2RlZmluZSBC
UExBVEZPUk1fV0FUQ0hPUyAxCiAjZW5kaWYKIAogI2lmIGRlZmluZWQoVEFSR0VUX09TX1RWKSAm
JiBUQVJHRVRfT1NfVFYKKyNkZWZpbmUgQk9TX0FQUExFVFYgMQogI2RlZmluZSBCUExBVEZPUk1f
QVBQTEVUViAxCiAjZW5kaWYKIApAQCAtMjU5LDcgKzI2Myw3IEBACiAjZW5kaWYKIAogI2lmIEJD
UFUoQUREUkVTUzY0KQotI2lmIEJPUyhEQVJXSU4pICYmIEJDUFUoQVJNNjQpCisjaWYgKEJPUyhJ
T1MpIHx8IEJPUyhUVk9TKSB8fCBCT1MoV0FUQ0hPUykpICYmIEJDUFUoQVJNNjQpCiAjZGVmaW5l
IEJPU19FRkZFQ1RJVkVfQUREUkVTU19XSURUSCAzNgogI2Vsc2UKIC8qIFdlIHN0cm9uZ2x5IGFz
c3VtZSB0aGF0IGVmZmVjdGl2ZSBhZGRyZXNzIHdpZHRoIGlzIDw9IDQ4IGluIDY0Yml0IGFyY2hp
dGVjdHVyZXMgKGUuZy4gTmFOIGJveGluZykuICovCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388269</attachid>
            <date>2020-01-20 17:29:27 -0800</date>
            <delta_ts>2020-01-20 17:29:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206425-20200120172927.patch</filename>
            <type>text/plain</type>
            <size>35159</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjU0ODM4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUwIEBA
CisyMDIwLTAxLTE3ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBQ
bGF0Zm9ybS5oIGlzIG91dCBvZiBjb250cm9sIFBhcnQgODogTWFjcm9zIGFyZSB1c2VkIGluY29u
c2lzdGVudGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDY0MjUKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAq
IGFzc2VtYmxlci9BUk02NEFzc2VtYmxlci5oOgorICAgICAgICAoSlNDOjpBUk02NEFzc2VtYmxl
cjo6Y2FjaGVGbHVzaCk6CisgICAgICAgIChKU0M6OkFSTTY0QXNzZW1ibGVyOjp4T3JTcCk6Cisg
ICAgICAgIChKU0M6OkFSTTY0QXNzZW1ibGVyOjp4T3Jacik6CisgICAgICAgICogYXNzZW1ibGVy
L0FSTTY0UmVnaXN0ZXJzLmg6CisgICAgICAgICogYXNzZW1ibGVyL0FSTXY3QXNzZW1ibGVyLmg6
CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1ibGVyOjpjYWNoZUZsdXNoKToKKyAgICAgICAgKiBh
c3NlbWJsZXIvQVJNdjdSZWdpc3RlcnMuaDoKKyAgICAgICAgKiBhc3NlbWJsZXIvQXNzZW1ibGVy
Q29tbW9uLmg6CisgICAgICAgIChKU0M6OmlzRGFyd2luKToKKyAgICAgICAgKiBiMy9haXIvQWly
Q0NhbGxpbmdDb252ZW50aW9uLmNwcDoKKyAgICAgICAgKiBqaXQvRXhlY3V0YWJsZUFsbG9jYXRv
ci5oOgorICAgICAgICAqIGppdC9UaHVua0dlbmVyYXRvcnMuY3BwOgorICAgICAgICAqIGpzYy5j
cHA6CisgICAgICAgICogcnVudGltZS9NYXRoQ29tbW9uLmNwcDoKKyAgICAgICAgVXNlIE9TKERB
UldJTikgbW9yZSBjb25zaXN0ZW50bHkgZm9yIGRhcndpbiBsZXZlbCBmdW5jdGlvbmFsaXR5Lgor
CisgICAgICAgICogYnl0ZWNvZGUvQ29kZU9yaWdpbi5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNT
dHJpbmcuaDoKKyAgICAgICAgVXBkYXRlIHRvIHVzZSBPU19DT05TVEFOVC4KKworICAgICAgICAq
IGRpc2Fzc2VtYmxlci9BUk02NC9BNjRET3Bjb2RlLmNwcDoKKyAgICAgICAgKiBkaXNhc3NlbWJs
ZXIvQVJNNjREaXNhc3NlbWJsZXIuY3BwOgorICAgICAgICAqIGRpc2Fzc2VtYmxlci9VRGlzODZE
aXNhc3NlbWJsZXIuY3BwOgorICAgICAgICAqIGRpc2Fzc2VtYmxlci9VRGlzODZEaXNhc3NlbWJs
ZXIuaDoKKyAgICAgICAgKiBkaXNhc3NlbWJsZXIvWDg2RGlzYXNzZW1ibGVyLmNwcDoKKyAgICAg
ICAgKiBkaXNhc3NlbWJsZXIvdWRpczg2L3VkaXM4Ni5jOgorICAgICAgICAqIGRpc2Fzc2VtYmxl
ci91ZGlzODYvdWRpczg2X2RlY29kZS5jOgorICAgICAgICAqIGRpc2Fzc2VtYmxlci91ZGlzODYv
dWRpczg2X2l0YWJfaG9sZGVyLmM6CisgICAgICAgICogZGlzYXNzZW1ibGVyL3VkaXM4Ni91ZGlz
ODZfc3luLWF0dC5jOgorICAgICAgICAqIGRpc2Fzc2VtYmxlci91ZGlzODYvdWRpczg2X3N5bi1p
bnRlbC5jOgorICAgICAgICAqIGRpc2Fzc2VtYmxlci91ZGlzODYvdWRpczg2X3N5bi5jOgorICAg
ICAgICAqIGludGVycHJldGVyL0ludGVycHJldGVyLmNwcDoKKyAgICAgICAgKiBpbnRlcnByZXRl
ci9JbnRlcnByZXRlci5oOgorICAgICAgICAqIGludGVycHJldGVyL0ludGVycHJldGVySW5saW5l
cy5oOgorICAgICAgICAoSlNDOjpJbnRlcnByZXRlcjo6Z2V0T3Bjb2RlSUQpOgorICAgICAgICAq
IGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuY3BwOgorICAgICAgICAqIHRvb2xzL1NpZ2lsbENy
YXNoQW5hbHl6ZXIuY3BwOgorICAgICAgICBTd2l0Y2ggdG8gdXNpbmcgRU5BQkxFIHJhdGhlciB0
aGFuIFVTRSBmb3IgZmVhdHVyZXMgaW50ZXJuYWwgdG8gV2ViS2l0IAorCiAyMDIwLTAxLTIwICBE
YXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IG1pc3Npbmcg
aGVhZGVyIGd1YXJkcyBhbmQgY2xlYW4gdXAgZW1wdHkgZmlsZXMgaW4gYm1hbGxvYywgV1RGLCBK
YXZhU2NyaXB0Q29yZQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAJKHJldmlzaW9uIDI1NDgzOCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzUs
NyArMTM1LDcgQEAKICNpbmNsdWRlIDx3aW5kb3dzLmg+CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JN
KElPU19GQU1JTFkpICYmIENQVShBUk1fVEhVTUIyKQorI2lmIE9TKERBUldJTikgJiYgQ1BVKEFS
TV9USFVNQjIpCiAjaW5jbHVkZSA8ZmVudi5oPgogI2luY2x1ZGUgPGFybS9hcmNoLmg+CiAjZW5k
aWYKQEAgLTI0ODQsNyArMjQ4NCw3IEBAIHN0YXRpYyB2b2lkIHN0YXJ0VGltZW91dFRocmVhZElm
TmVlZGVkKFYKIAogaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogewotI2lmIFBMQVRG
T1JNKElPU19GQU1JTFkpICYmIENQVShBUk1fVEhVTUIyKQorI2lmIE9TKERBUldJTikgJiYgQ1BV
KEFSTV9USFVNQjIpCiAgICAgLy8gRW5hYmxlZCBJRUVFNzU0IGRlbm9ybWFsIHN1cHBvcnQuCiAg
ICAgZmVudl90IGVudjsKICAgICBmZWdldGVudiggJmVudiApOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Fzc2VtYmxlci9BUk02NEFzc2VtYmxlci5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNNjRBc3NlbWJsZXIuaAkocmV2aXNpb24gMjU0
ODM4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk02NEFzc2VtYmxlci5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yODA3LDcgKzI4MDcsNyBAQCBwdWJsaWM6CiAKICAgICBzdGF0
aWMgdm9pZCBjYWNoZUZsdXNoKHZvaWQqIGNvZGUsIHNpemVfdCBzaXplKQogICAgIHsKLSNpZiBP
UyhJT1NfRkFNSUxZKQorI2lmIE9TKERBUldJTikKICAgICAgICAgc3lzX2NhY2hlX2NvbnRyb2wo
a0NhY2hlRnVuY3Rpb25QcmVwYXJlRm9yRXhlY3V0aW9uLCBjb2RlLCBzaXplKTsKICNlbGlmIE9T
KEZVQ0hTSUEpCiAgICAgICAgIHp4X2NhY2hlX2ZsdXNoKGNvZGUsIHNpemUsIFpYX0NBQ0hFX0ZM
VVNIX0lOU04pOwpAQCAtMzIzMCwxMyArMzIzMCwxMyBAQCBwcm90ZWN0ZWQ6CiAgICAgc3RhdGlj
IGludCB4T3JTcChSZWdpc3RlcklEIHJlZykKICAgICB7CiAgICAgICAgIEFTU0VSVCghaXNacihy
ZWcpKTsKLSAgICAgICAgQVNTRVJUKCFpc0lPUygpIHx8IHJlZyAhPSBBUk02NFJlZ2lzdGVyczo6
eDE4KTsKKyAgICAgICAgQVNTRVJUKCFpc0RhcndpbigpIHx8IHJlZyAhPSBBUk02NFJlZ2lzdGVy
czo6eDE4KTsKICAgICAgICAgcmV0dXJuIHJlZzsKICAgICB9CiAgICAgc3RhdGljIGludCB4T3Ja
cihSZWdpc3RlcklEIHJlZykKICAgICB7CiAgICAgICAgIEFTU0VSVCghaXNTcChyZWcpKTsKLSAg
ICAgICAgQVNTRVJUKCFpc0lPUygpIHx8IHJlZyAhPSBBUk02NFJlZ2lzdGVyczo6eDE4KTsKKyAg
ICAgICAgQVNTRVJUKCFpc0RhcndpbigpIHx8IHJlZyAhPSBBUk02NFJlZ2lzdGVyczo6eDE4KTsK
ICAgICAgICAgcmV0dXJuIHJlZyAmIDMxOwogICAgIH0KICAgICBzdGF0aWMgRlBSZWdpc3RlcklE
IHhPclpyQXNGUFIoUmVnaXN0ZXJJRCByZWcpIHsgcmV0dXJuIHN0YXRpY19jYXN0PEZQUmVnaXN0
ZXJJRD4oeE9yWnIocmVnKSk7IH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvQVJNNjRSZWdpc3RlcnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YXNzZW1ibGVyL0FSTTY0UmVnaXN0ZXJzLmgJKHJldmlzaW9uIDI1NDgzOCkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNNjRSZWdpc3RlcnMuaAkod29ya2luZyBjb3B5KQpA
QCAtMzksNyArMzksNyBAQAogLy8gYmV5b25kIHdoYXQgeW91IHdvdWxkIHNhdmUgYnkgdGhlIHBs
YXRmb3JtLWFnbm9zdGljICJwcmVzZXJ2ZSByZXR1cm4gYWRkcmVzcyIgYW5kICJyZXN0b3JlCiAv
LyByZXR1cm4gYWRkcmVzcyIgb3BlcmF0aW9ucyBpbiBDQ2FsbEhlbHBlcnMuCiAKLSNpZiAhUExB
VEZPUk0oSU9TX0ZBTUlMWSkKKyNpZiAhT1MoREFSV0lOKQogI2RlZmluZSBGT1JfRUFDSF9HUF9S
RUdJU1RFUihtYWNybykgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAvKiBQYXJh
bWV0ZXIvcmVzdWx0IHJlZ2lzdGVycy4gKi8gICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAg
ICAgbWFjcm8oeDAsICAieDAiLCAgMCwgMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk12N0Fzc2Vt
Ymxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJN
djdBc3NlbWJsZXIuaAkocmV2aXNpb24gMjU0ODM4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9BUk12N0Fzc2VtYmxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMzc2LDcgKzIz
NzYsNyBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgdm9pZCBjYWNoZUZsdXNoKHZvaWQqIGNvZGUs
IHNpemVfdCBzaXplKQogICAgIHsKLSNpZiBPUyhJT1NfRkFNSUxZKQorI2lmIE9TKERBUldJTikK
ICAgICAgICAgc3lzX2NhY2hlX2NvbnRyb2woa0NhY2hlRnVuY3Rpb25QcmVwYXJlRm9yRXhlY3V0
aW9uLCBjb2RlLCBzaXplKTsKICNlbGlmIE9TKExJTlVYKQogICAgICAgICBzaXplX3QgcGFnZSA9
IHBhZ2VTaXplKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTXY3
UmVnaXN0ZXJzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9BUk12N1JlZ2lzdGVycy5oCShyZXZpc2lvbiAyNTQ4MzgpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL0FSTXY3UmVnaXN0ZXJzLmgJKHdvcmtpbmcgY29weSkKQEAgLTM2LDcg
KzM2LDcgQEAKICNkZWZpbmUgRk9SX0VBQ0hfRlBfUkVHSVNURVIobWFjcm8pICAgICAgICAgICAg
IFwKICAgICBGT1JfRUFDSF9GUF9ET1VCTEVfUkVHSVNURVIobWFjcm8pCiAKLSNpZiAhUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKKyNpZiAhT1MoREFSV0lOKQogI2RlZmluZSBGT1JfRUFDSF9HUF9SRUdJ
U1RFUihtYWNybykgICAgICAgICAgICAgXAogICAgIG1hY3JvKHIwLCAgInIwIiwgIDAsIDApICAg
ICAgICAgICAgICAgICAgICAgXAogICAgIG1hY3JvKHIxLCAgInIxIiwgIDAsIDApICAgICAgICAg
ICAgICAgICAgICAgXApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9Bc3Nl
bWJsZXJDb21tb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1i
bGVyL0Fzc2VtYmxlckNvbW1vbi5oCShyZXZpc2lvbiAyNTQ4MzgpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYXNzZW1ibGVyL0Fzc2VtYmxlckNvbW1vbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
Nyw2ICsyNywxNSBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAorQUxXQVlTX0lOTElORSBjb25zdGV4
cHIgYm9vbCBpc0RhcndpbigpCit7CisjaWYgT1MoREFSV0lOKQorICAgIHJldHVybiB0cnVlOwor
I2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKwogQUxXQVlTX0lOTElORSBjb25z
dGV4cHIgYm9vbCBpc0lPUygpCiB7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyQ0NhbGxpbmdDb252ZW50aW9uLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckNDYWxsaW5nQ29udmVu
dGlvbi5jcHAJKHJldmlzaW9uIDI1NDgzOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9h
aXIvQWlyQ0NhbGxpbmdDb252ZW50aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDUsNyArNDUs
NyBAQCBBcmcgbWFyc2hhbGxDQ2FsbEFyZ3VtZW50SW1wbCh1bnNpZ25lZCYgCiAgICAgICAgIHJl
dHVybiBUbXAoQmFua0luZm86OnRvQXJndW1lbnRSZWdpc3Rlcihhcmd1bWVudEluZGV4KSk7CiAK
ICAgICB1bnNpZ25lZCBzbG90U2l6ZTsKLSAgICBpZiAoaXNBUk02NCgpICYmIGlzSU9TKCkpIHsK
KyAgICBpZiAoaXNBUk02NCgpICYmIGlzRGFyd2luKCkpIHsKICAgICAgICAgLy8gQXJndW1lbnRz
IGFyZSBwYWNrZWQuCiAgICAgICAgIHNsb3RTaXplID0gc2l6ZW9mVHlwZShjaGlsZC0+dHlwZSgp
KTsKICAgICB9IGVsc2UgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0Nv
ZGVPcmlnaW4uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
Q29kZU9yaWdpbi5oCShyZXZpc2lvbiAyNTQ4MzgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvQ29kZU9yaWdpbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMzQsOCArMjM0LDggQEAg
cHJpdmF0ZToKICAgICB9CiAKICNpZiBDUFUoQUREUkVTUzY0KQotICAgIHN0YXRpYyBjb25zdGV4
cHIgdW5zaWduZWQgc19mcmVlQml0c0F0VG9wID0gNjQgLSBXVEZfQ1BVX0VGRkVDVElWRV9BRERS
RVNTX1dJRFRIOwotICAgIHN0YXRpYyBjb25zdGV4cHIgdWludHB0cl90IHNfbWFza0NvbXBvc2l0
ZVZhbHVlRm9yUG9pbnRlciA9ICgoMVVMTCA8PCBXVEZfQ1BVX0VGRkVDVElWRV9BRERSRVNTX1dJ
RFRIKSAtIDEpICYgfig4VUxMIC0gMSk7CisgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBz
X2ZyZWVCaXRzQXRUb3AgPSA2NCAtIE9TX0NPTlNUQU5UKEVGRkVDVElWRV9BRERSRVNTX1dJRFRI
KTsKKyAgICBzdGF0aWMgY29uc3RleHByIHVpbnRwdHJfdCBzX21hc2tDb21wb3NpdGVWYWx1ZUZv
clBvaW50ZXIgPSAoKDFVTEwgPDwgT1NfQ09OU1RBTlQoRUZGRUNUSVZFX0FERFJFU1NfV0lEVEgp
KSAtIDEpICYgfig4VUxMIC0gMSk7CiAgICAgc3RhdGljIHVpbnRwdHJfdCBidWlsZENvbXBvc2l0
ZVZhbHVlKElubGluZUNhbGxGcmFtZSogaW5saW5lQ2FsbEZyYW1lLCBCeXRlY29kZUluZGV4IGJ5
dGVjb2RlSW5kZXgpCiAgICAgewogICAgICAgICBpZiAoIWJ5dGVjb2RlSW5kZXgpCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGlzYXNzZW1ibGVyL0FSTTY0RGlzYXNzZW1ibGVyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGlzYXNzZW1ibGVyL0FSTTY0RGlz
YXNzZW1ibGVyLmNwcAkocmV2aXNpb24gMjU0ODM4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Rpc2Fzc2VtYmxlci9BUk02NERpc2Fzc2VtYmxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2
LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJEaXNhc3NlbWJsZXIu
aCIKIAotI2lmIFVTRShBUk02NF9ESVNBU1NFTUJMRVIpCisjaWYgRU5BQkxFKEFSTTY0X0RJU0FT
U0VNQkxFUikKIAogI2luY2x1ZGUgIkE2NERPcGNvZGUuaCIKICNpbmNsdWRlICJNYWNyb0Fzc2Vt
YmxlckNvZGVSZWYuaCIKQEAgLTUzLDUgKzUzLDUgQEAgYm9vbCB0cnlUb0Rpc2Fzc2VtYmxlKGNv
bnN0IE1hY3JvQXNzZW1ibAogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vIFVTRShB
Uk02NF9ESVNBU1NFTUJMRVIpCisjZW5kaWYgLy8gRU5BQkxFKEFSTTY0X0RJU0FTU0VNQkxFUikK
IApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Rpc2Fzc2VtYmxlci9VRGlzODZEaXNhc3Nl
bWJsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kaXNhc3NlbWJs
ZXIvVURpczg2RGlzYXNzZW1ibGVyLmNwcAkocmV2aXNpb24gMjU0ODM4KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Rpc2Fzc2VtYmxlci9VRGlzODZEaXNhc3NlbWJsZXIuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
VURpczg2RGlzYXNzZW1ibGVyLmgiCiAKLSNpZiBVU0UoVURJUzg2KQorI2lmIEVOQUJMRShVRElT
ODYpCiAKICNpbmNsdWRlICJNYWNyb0Fzc2VtYmxlckNvZGVSZWYuaCIKICNpbmNsdWRlICJ1ZGlz
ODYuaCIKQEAgLTU5LDUgKzU5LDUgQEAgYm9vbCB0cnlUb0Rpc2Fzc2VtYmxlV2l0aFVEaXM4Nihj
b25zdCBNYQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vIFVTRShVRElTODYpCisj
ZW5kaWYgLy8gRU5BQkxFKFVESVM4NikKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Rp
c2Fzc2VtYmxlci9VRGlzODZEaXNhc3NlbWJsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGlzYXNzZW1ibGVyL1VEaXM4NkRpc2Fzc2VtYmxlci5oCShyZXZpc2lvbiAy
NTQ4MzgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGlzYXNzZW1ibGVyL1VEaXM4NkRpc2Fz
c2VtYmxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSwxNCArMjksMTQgQEAKIAogbmFtZXNwYWNl
IEpTQyB7CiAKLSNpZiBVU0UoVURJUzg2KQorI2lmIEVOQUJMRShVRElTODYpCiAKIGJvb2wgdHJ5
VG9EaXNhc3NlbWJsZVdpdGhVRGlzODYoY29uc3QgTWFjcm9Bc3NlbWJsZXJDb2RlUHRyPERpc2Fz
c2VtYmx5UHRyVGFnPiYsIHNpemVfdCwgY29uc3QgY2hhciogcHJlZml4LCBQcmludFN0cmVhbSYg
b3V0KTsKIAotI2Vsc2UgLy8gVVNFKFVESVM4NikKKyNlbHNlIC8vIEVOQUJMRShVRElTODYpCiAK
IGlubGluZSBib29sIHRyeVRvRGlzYXNzZW1ibGVXaXRoVURpczg2KGNvbnN0IE1hY3JvQXNzZW1i
bGVyQ29kZVB0cjxEaXNhc3NlbWJseVB0clRhZz4mLCBzaXplX3QsIGNvbnN0IGNoYXIqLCBQcmlu
dFN0cmVhbSYpIHsgcmV0dXJuIGZhbHNlOyB9CiAKLSNlbmRpZiAvLyBVU0UoVURJUzg2KQorI2Vu
ZGlmIC8vIEVOQUJMRShVRElTODYpCiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2Rpc2Fzc2VtYmxlci9YODZEaXNhc3NlbWJsZXIuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kaXNhc3NlbWJsZXIvWDg2RGlzYXNzZW1ibGVy
LmNwcAkocmV2aXNpb24gMjU0ODM4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Rpc2Fzc2Vt
Ymxlci9YODZEaXNhc3NlbWJsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBA
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRGlzYXNzZW1ibGVyLmgiCiAKLSNpZiBV
U0UoVURJUzg2KQorI2lmIEVOQUJMRShVRElTODYpCiAKICNpbmNsdWRlICJNYWNyb0Fzc2VtYmxl
ckNvZGVSZWYuaCIKICNpbmNsdWRlICJPcHRpb25zLmgiCkBAIC00MSw0ICs0MSw0IEBAIGJvb2wg
dHJ5VG9EaXNhc3NlbWJsZShjb25zdCBNYWNyb0Fzc2VtYmwKIAogfSAvLyBuYW1lc3BhY2UgSlND
CiAKLSNlbmRpZiAvLyBVU0UoVURJUzg2KQorI2VuZGlmIC8vIEVOQUJMRShVRElTODYpCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGlzYXNzZW1ibGVyL0FSTTY0L0E2NERPcGNvZGUuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kaXNhc3NlbWJsZXIvQVJNNjQv
QTY0RE9wY29kZS5jcHAJKHJldmlzaW9uIDI1NDgzOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kaXNhc3NlbWJsZXIvQVJNNjQvQTY0RE9wY29kZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1
LDcgKzI1LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgVVNFKEFSTTY0X0RJU0FT
U0VNQkxFUikKKyNpZiBFTkFCTEUoQVJNNjRfRElTQVNTRU1CTEVSKQogCiAjaW5jbHVkZSAiQTY0
RE9wY29kZS5oIgogCkBAIC0xNTYwLDQgKzE1NjAsNCBAQCBjb25zdCBjaGFyKiBBNjRET3Bjb2Rl
VW5jb25kaXRpb25hbEJyYW5jCiAKIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpBUk02NERpc2Fzc2Vt
YmxlcgogCi0jZW5kaWYgLy8gVVNFKEFSTTY0X0RJU0FTU0VNQkxFUikKKyNlbmRpZiAvLyBFTkFC
TEUoQVJNNjRfRElTQVNTRU1CTEVSKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Rpc2Fz
c2VtYmxlci91ZGlzODYvdWRpczg2LmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2Rpc2Fzc2VtYmxlci91ZGlzODYvdWRpczg2LmMJKHJldmlzaW9uIDI1NDgzOCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kaXNhc3NlbWJsZXIvdWRpczg2L3VkaXM4Ni5jCSh3b3JraW5n
IGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lmIFVT
RShVRElTODYpCisjaWYgRU5BQkxFKFVESVM4NikKIAogI2luY2x1ZGUgInVkaXM4Nl91ZGludC5o
IgogI2luY2x1ZGUgInVkaXM4Nl9leHRlcm4uaCIKQEAgLTQ1Nyw2ICs0NTcsNiBAQCB1ZF9pbnB1
dF9lbmQoY29uc3Qgc3RydWN0IHVkICp1KQogICByZXR1cm4gdS0+aW5wX2VuZDsKIH0KIAotI2Vu
ZGlmIC8vIFVTRShVRElTODYpCisjZW5kaWYgLy8gRU5BQkxFKFVESVM4NikKIAogLyogdmltOnNl
dCB0cz0yIHN3PTIgZXhwYW5kdGFiICovCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGlz
YXNzZW1ibGVyL3VkaXM4Ni91ZGlzODZfZGVjb2RlLmMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Rpc2Fzc2VtYmxlci91ZGlzODYvdWRpczg2X2RlY29kZS5jCShyZXZpc2lv
biAyNTQ4MzgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGlzYXNzZW1ibGVyL3VkaXM4Ni91
ZGlzODZfZGVjb2RlLmMJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKIAogI2luY2x1
ZGUgImNvbmZpZy5oIgogCi0jaWYgVVNFKFVESVM4NikKKyNpZiBFTkFCTEUoVURJUzg2KQogCiAj
aW5jbHVkZSAidWRpczg2X3VkaW50LmgiCiAjaW5jbHVkZSAidWRpczg2X3R5cGVzLmgiCkBAIC0x
MjY2LDcgKzEyNjYsNyBAQCB1ZF9kZWNvZGUoc3RydWN0IHVkICp1KQogICByZXR1cm4gdS0+aW5w
X2N0cjsKIH0KIAotI2VuZGlmIC8vIFVTRShVRElTODYpCisjZW5kaWYgLy8gRU5BQkxFKFVESVM4
NikKIAogLyoKIHZpbTogc2V0IHRzPTIgc3c9MiBleHBhbmR0YWIKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kaXNhc3NlbWJsZXIvdWRpczg2L3VkaXM4Nl9pdGFiX2hvbGRlci5jCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kaXNhc3NlbWJsZXIvdWRpczg2L3VkaXM4
Nl9pdGFiX2hvbGRlci5jCShyZXZpc2lvbiAyNTQ4MzgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGlzYXNzZW1ibGVyL3VkaXM4Ni91ZGlzODZfaXRhYl9ob2xkZXIuYwkod29ya2luZyBjb3B5
KQpAQCAtMjUsNyArMjUsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBVU0UoVURJ
Uzg2KQorI2lmIEVOQUJMRShVRElTODYpCiAKICNpbmNsdWRlICJ1ZGlzODZfaXRhYi5jIgogCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGlzYXNzZW1ibGVyL3VkaXM4Ni91ZGlzODZfc3lu
LWF0dC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kaXNhc3NlbWJsZXIv
dWRpczg2L3VkaXM4Nl9zeW4tYXR0LmMJKHJldmlzaW9uIDI1NDgzOCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kaXNhc3NlbWJsZXIvdWRpczg2L3VkaXM4Nl9zeW4tYXR0LmMJKHdvcmtpbmcg
Y29weSkKQEAgLTI2LDcgKzI2LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgVVNF
KFVESVM4NikKKyNpZiBFTkFCTEUoVURJUzg2KQogCiAjaW5jbHVkZSAidWRpczg2X3R5cGVzLmgi
CiAjaW5jbHVkZSAidWRpczg2X2V4dGVybi5oIgpAQCAtMjI4LDcgKzIyOCw3IEBAIHVkX3RyYW5z
bGF0ZV9hdHQoc3RydWN0IHVkICp1KQogICB9CiB9CiAKLSNlbmRpZiAvLyBVU0UoVURJUzg2KQor
I2VuZGlmIC8vIEVOQUJMRShVRElTODYpCiAKIC8qCiB2aW06IHNldCB0cz0yIHN3PTIgZXhwYW5k
dGFiCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGlzYXNzZW1ibGVyL3VkaXM4Ni91ZGlz
ODZfc3luLWludGVsLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Rpc2Fz
c2VtYmxlci91ZGlzODYvdWRpczg2X3N5bi1pbnRlbC5jCShyZXZpc2lvbiAyNTQ4MzgpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGlzYXNzZW1ibGVyL3VkaXM4Ni91ZGlzODZfc3luLWludGVs
LmMJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5o
IgogCi0jaWYgVVNFKFVESVM4NikKKyNpZiBFTkFCTEUoVURJUzg2KQogCiAjaW5jbHVkZSAidWRp
czg2X3R5cGVzLmgiCiAjaW5jbHVkZSAidWRpczg2X2V4dGVybi5oIgpAQCAtMjI0LDcgKzIyNCw3
IEBAIHVkX3RyYW5zbGF0ZV9pbnRlbChzdHJ1Y3QgdWQqIHUpCiAgIH0KIH0KIAotI2VuZGlmIC8v
IFVTRShVRElTODYpCisjZW5kaWYgLy8gRU5BQkxFKFVESVM4NikKIAogLyoKIHZpbTogc2V0IHRz
PTIgc3c9MiBleHBhbmR0YWIKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kaXNhc3NlbWJs
ZXIvdWRpczg2L3VkaXM4Nl9zeW4uYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGlzYXNzZW1ibGVyL3VkaXM4Ni91ZGlzODZfc3luLmMJKHJldmlzaW9uIDI1NDgzOCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kaXNhc3NlbWJsZXIvdWRpczg2L3VkaXM4Nl9zeW4uYwko
d29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAK
LSNpZiBVU0UoVURJUzg2KQorI2lmIEVOQUJMRShVRElTODYpCiAKICNpbmNsdWRlICJ1ZGlzODZf
dHlwZXMuaCIKICNpbmNsdWRlICJ1ZGlzODZfZGVjb2RlLmgiCkBAIC0yMTIsNyArMjEyLDcgQEAg
dWRfc3luX3ByaW50X21lbV9kaXNwKHN0cnVjdCB1ZCogdSwgY29ucwogICB9CiB9CiAKLSNlbmRp
ZiAvLyBVU0UoVURJUzg2KQorI2VuZGlmIC8vIEVOQUJMRShVRElTODYpCiAKIC8qCiB2aW06IHNl
dCB0cz0yIHN3PTIgZXhwYW5kdGFiCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAJKHJldmlzaW9uIDI1NDgzOCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTM1Myw3ICszNTMsNyBAQCBJbnRlcnByZXRlcjo6fkludGVycHJldGVyKCkKIH0KIAog
I2lmIEVOQUJMRShDT01QVVRFRF9HT1RPX09QQ09ERVMpCi0jaWYgIVVTRShMTElOVF9FTUJFRERF
RF9PUENPREVfSUQpIHx8IEFTU0VSVF9FTkFCTEVECisjaWYgIUVOQUJMRShMTElOVF9FTUJFRERF
RF9PUENPREVfSUQpIHx8IEFTU0VSVF9FTkFCTEVECiBIYXNoTWFwPE9wY29kZSwgT3Bjb2RlSUQ+
JiBJbnRlcnByZXRlcjo6b3Bjb2RlSURUYWJsZSgpCiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJv
eWVkPEhhc2hNYXA8T3Bjb2RlLCBPcGNvZGVJRD4+IG9wY29kZUlEVGFibGU7CkBAIC0zNjcsNyAr
MzY3LDcgQEAgSGFzaE1hcDxPcGNvZGUsIE9wY29kZUlEPiYgSW50ZXJwcmV0ZXI6OgogCiAgICAg
cmV0dXJuIG9wY29kZUlEVGFibGU7CiB9Ci0jZW5kaWYgLy8gIVVTRShMTElOVF9FTUJFRERFRF9P
UENPREVfSUQpIHx8IEFTU0VSVF9FTkFCTEVECisjZW5kaWYgLy8gIUVOQUJMRShMTElOVF9FTUJF
RERFRF9PUENPREVfSUQpIHx8IEFTU0VSVF9FTkFCTEVECiAjZW5kaWYgLy8gRU5BQkxFKENPTVBV
VEVEX0dPVE9fT1BDT0RFUykKIAogI2lmIEFTU0VSVF9FTkFCTEVECkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaAkocmV2aXNpb24gMjU0
ODM4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTE0NCw5ICsxNDQsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICNlbmRp
ZgogICAgICAgICAKICNpZiBFTkFCTEUoQ09NUFVURURfR09UT19PUENPREVTKQotI2lmICFVU0Uo
TExJTlRfRU1CRURERURfT1BDT0RFX0lEKSB8fCBBU1NFUlRfRU5BQkxFRAorI2lmICFFTkFCTEUo
TExJTlRfRU1CRURERURfT1BDT0RFX0lEKSB8fCBBU1NFUlRfRU5BQkxFRAogICAgICAgICBzdGF0
aWMgSGFzaE1hcDxPcGNvZGUsIE9wY29kZUlEPiYgb3Bjb2RlSURUYWJsZSgpOyAvLyBNYXBzIE9w
Y29kZSA9PiBPcGNvZGVJRC4KLSNlbmRpZiAvLyAhVVNFKExMSU5UX0VNQkVEREVEX09QQ09ERV9J
RCkgfHwgQVNTRVJUX0VOQUJMRUQKKyNlbmRpZiAvLyAhRU5BQkxFKExMSU5UX0VNQkVEREVEX09Q
Q09ERV9JRCkgfHwgQVNTRVJUX0VOQUJMRUQKICNlbmRpZiAvLyBFTkFCTEUoQ09NUFVURURfR09U
T19PUENPREVTKQogICAgIH07CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnBy
ZXRlci9JbnRlcnByZXRlcklubGluZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXJJbmxpbmVzLmgJKHJldmlzaW9uIDI1NDgzOCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlcklubGluZXMu
aAkod29ya2luZyBjb3B5KQpAQCAtNDYsNyArNDYsNyBAQCBpbmxpbmUgT3Bjb2RlSUQgSW50ZXJw
cmV0ZXI6OmdldE9wY29kZUlECiB7CiAjaWYgRU5BQkxFKENPTVBVVEVEX0dPVE9fT1BDT0RFUykK
ICAgICBBU1NFUlQoaXNPcGNvZGUob3Bjb2RlKSk7Ci0jaWYgVVNFKExMSU5UX0VNQkVEREVEX09Q
Q09ERV9JRCkKKyNpZiBFTkFCTEUoTExJTlRfRU1CRURERURfT1BDT0RFX0lEKQogICAgIC8vIFRo
ZSBPcGNvZGVJRCBpcyBlbWJlZGRlZCBpbiB0aGUgaW50MzJfdCB3b3JkIHByZWNlZGluZyB0aGUg
bG9jYXRpb24gb2YKICAgICAvLyB0aGUgTExJbnQgY29kZSBmb3IgdGhlIG9wY29kZSAoc2VlIHRo
ZSBFTUJFRF9PUENPREVfSURfSUZfTkVFREVEIG1hY3JvCiAgICAgLy8gaW4gTG93TGV2ZWxJbnRl
cnByZXRlci5jcHApLgpAQCAtNTcsNyArNTcsNyBAQCBpbmxpbmUgT3Bjb2RlSUQgSW50ZXJwcmV0
ZXI6OmdldE9wY29kZUlECiAgICAgcmV0dXJuIG9wY29kZUlEOwogI2Vsc2UKICAgICByZXR1cm4g
b3Bjb2RlSURUYWJsZSgpLmdldChvcGNvZGUpOwotI2VuZGlmIC8vIFVTRShMTElOVF9FTUJFRERF
RF9PUENPREVfSUQpCisjZW5kaWYgLy8gRU5BQkxFKExMSU5UX0VNQkVEREVEX09QQ09ERV9JRCkK
ICAgICAKICNlbHNlIC8vIG5vdCBFTkFCTEUoQ09NUFVURURfR09UT19PUENPREVTKQogICAgIHJl
dHVybiBvcGNvZGU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVB
bGxvY2F0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1
dGFibGVBbGxvY2F0b3IuaAkocmV2aXNpb24gMjU0ODM4KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3LDExICsz
Nyw4IEBACiAjaW5jbHVkZSA8d3RmL01ldGFBbGxvY2F0b3JIYW5kbGUuaD4KICNpbmNsdWRlIDx3
dGYvTWV0YUFsbG9jYXRvci5oPgogCi0jaWYgT1MoSU9TX0ZBTUlMWSkKKyNpZiBPUyhEQVJXSU4p
CiAjaW5jbHVkZSA8bGlia2Vybi9PU0NhY2hlQ29udHJvbC5oPgotI2VuZGlmCi0KLSNpZiBPUyhJ
T1NfRkFNSUxZKQogI2luY2x1ZGUgPHN5cy9tbWFuLmg+CiAjZW5kaWYKIApJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9UaHVua0dlbmVyYXRvcnMuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmNwcAkocmV2aXNpb24gMjU0
ODM4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9UaHVua0dlbmVyYXRvcnMuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC03OTYsNyArNzk2LDcgQEAgdHlwZWRlZiBNYXRoVGh1bmtDYWxsaW5n
Q29udmVudGlvbigqTWF0aAogICAgIH0gXAogICAgIHN0YXRpYyBNYXRoVGh1bmsgVW5hcnlEb3Vi
bGVPcFdyYXBwZXIoZnVuY3Rpb24pID0gJmZ1bmN0aW9uIyNUaHVuazsKIAotI2VsaWYgQ1BVKEFS
TV9USFVNQjIpICYmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKSAmJiBQTEFURk9STShJT1NfRkFN
SUxZKQorI2VsaWYgQ1BVKEFSTV9USFVNQjIpICYmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKSAm
JiBPUyhEQVJXSU4pCiAKICNkZWZpbmUgZGVmaW5lVW5hcnlEb3VibGVPcFdyYXBwZXIoZnVuY3Rp
b24pIFwKICAgICBhc20oIFwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5jcHAJKHJldmlzaW9uIDI1NDgzOCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNTA1LDcgKzUwNSw3IEBAIEpTVmFsdWUgQ0xvb3A6OmV4ZWN1dGUoT3Bjb2RlSUQg
ZW50cnlPcGMKICNkZWZpbmUgT0ZGTElORV9BU01fQkVHSU4gICBhc20gKAogI2RlZmluZSBPRkZM
SU5FX0FTTV9FTkQgICAgICk7CiAKLSNpZiBVU0UoTExJTlRfRU1CRURERURfT1BDT0RFX0lEKQor
I2lmIEVOQUJMRShMTElOVF9FTUJFRERFRF9PUENPREVfSUQpCiAjZGVmaW5lIEVNQkVEX09QQ09E
RV9JRF9JRl9ORUVERUQoX19vcGNvZGUpICIuaW50ICIgX19vcGNvZGUjI192YWx1ZV9zdHJpbmcg
IlxuIgogI2Vsc2UKICNkZWZpbmUgRU1CRURfT1BDT0RFX0lEX0lGX05FRURFRChfX29wY29kZSkK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3RyaW5nLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJpbmcuaAkocmV2aXNpb24g
MjU0ODM4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJpbmcuaAkod29y
a2luZyBjb3B5KQpAQCAtMjc2LDcgKzI3Niw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWNfYXNzZXJ0
KHNpemVvZih1aW50cHRyX3QpID09IHNpemVvZih1aW50NjRfdCksICIiKTsKICAgICBjbGFzcyBD
b21wYWN0RmliZXJzIHsKICAgICBwdWJsaWM6Ci0gICAgICAgIHN0YXRpYyBjb25zdGV4cHIgdWlu
dHB0cl90IGFkZHJlc3NNYXNrID0gKDFVTEwgPDwgV1RGX0NQVV9FRkZFQ1RJVkVfQUREUkVTU19X
SURUSCkgLSAxOworICAgICAgICBzdGF0aWMgY29uc3RleHByIHVpbnRwdHJfdCBhZGRyZXNzTWFz
ayA9ICgxVUxMIDw8IE9TX0NPTlNUQU5UKEVGRkVDVElWRV9BRERSRVNTX1dJRFRIKSkgLSAxOwog
ICAgICAgICBKU1N0cmluZyogZmliZXIxKCkgY29uc3QKICAgICAgICAgewogI2lmIENQVShMSVRU
TEVfRU5ESUFOKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aENvbW1v
bi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aENv
bW1vbi5jcHAJKHJldmlzaW9uIDI1NDgzOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL01hdGhDb21tb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBACiAKIG5h
bWVzcGFjZSBKU0MgewogCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgQ1BVKEFSTV9USFVN
QjIpCisjaWYgT1MoREFSV0lOKSAmJiBDUFUoQVJNX1RIVU1CMikKIAogLy8gVGhlIGZvbGxvd2lu
ZyBjb2RlIGlzIHRha2VuIGZyb20gbmV0bGliLm9yZzoKIC8vICAgaHR0cDovL3d3dy5uZXRsaWIu
b3JnL2ZkbGlibS9mZGxpYm0uaApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL1Np
Z2lsbENyYXNoQW5hbHl6ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90b29scy9TaWdpbGxDcmFzaEFuYWx5emVyLmNwcAkocmV2aXNpb24gMjU0ODM4KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL1NpZ2lsbENyYXNoQW5hbHl6ZXIuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zMyw3ICszMyw3IEBACiAjaW5jbHVkZSA8bXV0ZXg+CiAjaW5jbHVkZSA8d3Rm
L1N0ZExpYkV4dHJhcy5oPgogCi0jaWYgVVNFKEFSTTY0X0RJU0FTU0VNQkxFUikKKyNpZiBFTkFC
TEUoQVJNNjRfRElTQVNTRU1CTEVSKQogI2luY2x1ZGUgIkE2NERPcGNvZGUuaCIKICNlbmRpZgog
CkBAIC02MCw3ICs2MCw3IEBAIHByaXZhdGU6CiAgICAgU2lnaWxsQ3Jhc2hBbmFseXplcigpIHsg
fQogICAgIHZvaWQgZHVtcENvZGVCbG9jayhDb2RlQmxvY2sqLCB2b2lkKiBtYWNoaW5lUEMpOwog
Ci0jaWYgVVNFKEFSTTY0X0RJU0FTU0VNQkxFUikKKyNpZiBFTkFCTEUoQVJNNjRfRElTQVNTRU1C
TEVSKQogICAgIEE2NERPcGNvZGUgbV9hcm02NE9wY29kZTsKICNlbmRpZgogfTsKSW5kZXg6IFNv
dXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAyNTQ4MzgpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDMyIEBACisyMDIwLTAxLTE3ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNv
bT4KKworICAgICAgICBQbGF0Zm9ybS5oIGlzIG91dCBvZiBjb250cm9sIFBhcnQgODogTWFjcm9z
IGFyZSB1c2VkIGluY29uc2lzdGVudGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDY0MjUKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxl
ci4KKworICAgICAgICBTdGFydCBhZGRyZXNzaW5nIEZJWE1FcyBhZGRlZCB0byBQbGF0Zm9ybS5o
IChhbmQgaGVscGVyIGZpbGVzKSBkdXJpbmcgcHJldmlvdXMKKyAgICAgICAgY2xlYW51cCB3b3Jr
LgorICAgICAgICAKKyAgICAgICAgLSBSZW5hbWVzIFdURl9DUFVfRUZGRUNUSVZFX0FERFJFU1Nf
V0lEVEggdG8gV1RGX09TX0NPTlNUQU5UX0VGRkVDVElWRV9BRERSRVNTX1dJRFRILAorICAgICAg
ICAgIG1ha2luZyBpdCBhdmFpbGFibGUgdmlhIG5ldyBtYWNybyBPU19DT05TVEFOVCguLi4pLCBh
bmQgc3luY3MgYm1hbGxvYyByZWRlZmluaXRpb24uCisgICAgICAgIC0gUmVuYW1lczoKKyAgICAg
ICAgICAgICBVU0VfTExJTlRfRU1CRURERURfT1BDT0RFX0lEIHRvIEVOQUJMRV9MTElOVF9FTUJF
RERFRF9PUENPREVfSUQKKyAgICAgICAgICAgICBVU0VfVURJUzg2IHRvIEVOQUJMRV9VRElTODYg
CisgICAgICAgICAgICAgVVNFX0FSTTY0X0RJU0FTU0VNQkxFUiB0byBFTkFCTEVfQVJNNjRfRElT
QVNTRU1CTEVSCisgICAgICAgICAgRW5hYmxlIGlzIG1vcmUgYXBwcm9wcmlhdGUgaGVyZSBhcyB0
aGVzZSBlbmFibGUgZnVuY3Rpb25hbGl0eSB3aXRoaW4gd2Via2l0LgorICAgICAgICAtIFJlbW92
ZXMgdW5kZWZzIHRoYXQgYXJlIG5vIGxvbmdlciBuZWVkZWQgZHVlIHRvIG9ubHkgZGVmaW5pbmcg
dGhlIG1hY3JvIG9uY2Ugbm93LgorICAgICAgICAtIFJlbW92ZXMgZGVhZCBkZWZpbmVkKF9fTFA2
NF9fKSBjaGVjayBhZnRlciBQTEFURk9STShNQUMpIG1hY09TIGlzIGFsd2F5cyA2NC1iaXQgdGhl
c2UKKyAgICAgICAgICBkYXlzLgorCisgICAgICAgICogd3RmL1BhY2tlZC5oOgorICAgICAgICAo
V1RGOjphbGlnbm9mKToKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDoKKyAgICAgICAgKiB3dGYv
UGxhdGZvcm1FbmFibGUuaDoKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1PUy5oOgorICAgICAgICAq
IHd0Zi9XVEZBc3NlcnRpb25zLmNwcDoKKyAgICAgICAgKiB3dGYvdGV4dC9TdHJpbmdDb21tb24u
aDoKKwogMjAyMC0wMS0yMCAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29tPgogCiAg
ICAgICAgIEZpeCBtaXNzaW5nIGhlYWRlciBndWFyZHMgYW5kIGNsZWFuIHVwIGVtcHR5IGZpbGVz
IGluIGJtYWxsb2MsIFdURiwgSmF2YVNjcmlwdENvcmUKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL1Bh
Y2tlZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL1BhY2tlZC5oCShyZXZpc2lvbiAy
NTQ4MzgpCisrKyBTb3VyY2UvV1RGL3d0Zi9QYWNrZWQuaAkod29ya2luZyBjb3B5KQpAQCAtMTA3
LDggKzEwNyw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWNfYXNzZXJ0KGhhc09uZUJpdFNldChhbGln
bm1lbnQpLCAiQWxpZ25tZW50IG5lZWRzIHRvIGJlIHBvd2VyLW9mLXR3byIpOwogICAgIHN0YXRp
YyBjb25zdGV4cHIgYm9vbCBpc1BhY2tlZFR5cGUgPSB0cnVlOwogICAgIHN0YXRpYyBjb25zdGV4
cHIgdW5zaWduZWQgYWxpZ25tZW50U2hpZnRTaXplSWZQcm9maXRhYmxlID0gZ2V0TFNCU2V0Q29u
c3RleHByKGFsaWdubWVudCk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBzdG9yYWdl
U2l6ZVdpdGhvdXRBbGlnbm1lbnRTaGlmdCA9IHJvdW5kVXBUb011bHRpcGxlT2Y8OD4oV1RGX0NQ
VV9FRkZFQ1RJVkVfQUREUkVTU19XSURUSCkgLyA4OwotICAgIHN0YXRpYyBjb25zdGV4cHIgdW5z
aWduZWQgc3RvcmFnZVNpemVXaXRoQWxpZ25tZW50U2hpZnQgPSByb3VuZFVwVG9NdWx0aXBsZU9m
PDg+KFdURl9DUFVfRUZGRUNUSVZFX0FERFJFU1NfV0lEVEggLSBhbGlnbm1lbnRTaGlmdFNpemVJ
ZlByb2ZpdGFibGUpIC8gODsKKyAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIHN0b3JhZ2VT
aXplV2l0aG91dEFsaWdubWVudFNoaWZ0ID0gcm91bmRVcFRvTXVsdGlwbGVPZjw4PihPU19DT05T
VEFOVChFRkZFQ1RJVkVfQUREUkVTU19XSURUSCkpIC8gODsKKyAgICBzdGF0aWMgY29uc3RleHBy
IHVuc2lnbmVkIHN0b3JhZ2VTaXplV2l0aEFsaWdubWVudFNoaWZ0ID0gcm91bmRVcFRvTXVsdGlw
bGVPZjw4PihPU19DT05TVEFOVChFRkZFQ1RJVkVfQUREUkVTU19XSURUSCkgLSBhbGlnbm1lbnRT
aGlmdFNpemVJZlByb2ZpdGFibGUpIC8gODsKICAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgaXNB
bGlnbm1lbnRTaGlmdFByb2ZpdGFibGUgPSBzdG9yYWdlU2l6ZVdpdGhvdXRBbGlnbm1lbnRTaGlm
dCA+IHN0b3JhZ2VTaXplV2l0aEFsaWdubWVudFNoaWZ0OwogICAgIHN0YXRpYyBjb25zdGV4cHIg
dW5zaWduZWQgYWxpZ25tZW50U2hpZnRTaXplID0gaXNBbGlnbm1lbnRTaGlmdFByb2ZpdGFibGUg
PyBhbGlnbm1lbnRTaGlmdFNpemVJZlByb2ZpdGFibGUgOiAwOwogICAgIHN0YXRpYyBjb25zdGV4
cHIgdW5zaWduZWQgc3RvcmFnZVNpemUgPSBzdG9yYWdlU2l6ZVdpdGhBbGlnbm1lbnRTaGlmdDsK
SW5kZXg6IFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dU
Ri93dGYvUGxhdGZvcm0uaAkocmV2aXNpb24gMjU0ODM4KQorKysgU291cmNlL1dURi93dGYvUGxh
dGZvcm0uaAkod29ya2luZyBjb3B5KQpAQCAtODIsMTkgKzgyLDYgQEAKICAgIGJlbG9uZyBhcyBw
YXJ0IG9mIFBsYXRmb3JtLmggYXQgYWxsLiAqLwogCiAKLQotLyogRklYTUU6IFJlbmFtZSBXVEZf
Q1BVX0VGRkVDVElWRV9BRERSRVNTX1dJRFRIIHRvIFdURl9PU19FRkZFQ1RJVkVfQUREUkVTU19X
SURUSCwgYXMgaXQgaXMgYW4gT1MgZmVhdHVyZSwgbm90IGEgQ1BVIGZlYXR1cmUuICovCi0jaWYg
Q1BVKEFERFJFU1M2NCkKLSNpZiAoT1MoSU9TKSB8fCBPUyhUVk9TKSB8fCBPUyhXQVRDSE9TKSkg
JiYgQ1BVKEFSTTY0KQotI2RlZmluZSBXVEZfQ1BVX0VGRkVDVElWRV9BRERSRVNTX1dJRFRIIDM2
Ci0jZWxzZQotLyogV2Ugc3Ryb25nbHkgYXNzdW1lIHRoYXQgZWZmZWN0aXZlIGFkZHJlc3Mgd2lk
dGggaXMgPD0gNDggaW4gNjRiaXQgYXJjaGl0ZWN0dXJlcyAoZS5nLiBOYU4gYm94aW5nKS4gKi8K
LSNkZWZpbmUgV1RGX0NQVV9FRkZFQ1RJVkVfQUREUkVTU19XSURUSCA0OAotI2VuZGlmCi0jZWxz
ZQotI2RlZmluZSBXVEZfQ1BVX0VGRkVDVElWRV9BRERSRVNTX1dJRFRIIDMyCi0jZW5kaWYKLQog
I2lmIFBMQVRGT1JNKEdUSykKICNkZWZpbmUgR0xJQl9WRVJTSU9OX01JTl9SRVFVSVJFRCBHTElC
X1ZFUlNJT05fMl8zNgogI2RlZmluZSBHREtfVkVSU0lPTl9NSU5fUkVRVUlSRUQgR0RLX1ZFUlNJ
T05fM182CkBAIC0xNTEsMTYgKzEzOCw2IEBACiAjZGVmaW5lIFVTRV9MSUJXRUJSVEMgMQogI2Vu
ZGlmCiAKLS8qIEZJWE1FOiBUaGlzIGlzIHVzZWQgdG8gInR1cm4gb24gYSBzcGVjaWZpYyBmZWF0
dXJlIG9mIFdlYktpdCIsIHNvIHNob3VsZCBiZSBjb252ZXJ0ZWQgdG8gYW4gRU5BQkxFIG1hY3Jv
LiAqLwotLyogVGhpcyBmZWF0dXJlIHdvcmtzIGJ5IGVtYmVkZGluZyB0aGUgT3Bjb2RlSUQgaW4g
dGhlIDMyIGJpdCBqdXN0IGJlZm9yZSB0aGUgZ2VuZXJhdGVkIExMaW50IGNvZGUKLSAgIHRoYXQg
ZXhlY3V0ZXMgZWFjaCBvcGNvZGUuIEl0IGNhbm5vdCBiZSBzdXBwb3J0ZWQgYnkgdGhlIENMb29w
IHNpbmNlIHRoZXJlJ3Mgbm8gd2F5IHRvIGVtYmVkIHRoZQotICAgT3Bjb2RlSUQgd29yZCBpbiB0
aGUgQ0xvb3AncyBzd2l0Y2ggc3RhdGVtZW50IGNhc2VzLiBJdCBpcyBhbHNvIGN1cnJlbnRseSBu
b3QgaW1wbGVtZW50ZWQgZm9yIE1TVkMuCi0qLwotI2lmICFkZWZpbmVkKFVTRV9MTElOVF9FTUJF
RERFRF9PUENPREVfSUQpICYmICFFTkFCTEUoQ19MT09QKSAmJiAhQ09NUElMRVIoTVNWQykgJiYg
XAotICAgIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNNjQpIHx8IChDUFUoQVJN
X1RIVU1CMikgJiYgT1MoREFSV0lOKSkpCi0jZGVmaW5lIFVTRV9MTElOVF9FTUJFRERFRF9PUENP
REVfSUQgMQotI2VuZGlmCi0KIAogI2lmIFBMQVRGT1JNKENPQ09BKQogI2lmIEVOQUJMRShXRUJH
TCkKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGUuaAkocmV2aXNpb24gMjU0ODM4KQorKysgU291
cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGUuaAkod29ya2luZyBjb3B5KQpAQCAtNjE5LDEwICs2
MTksNiBAQCB0aGUgcHVibGljIGlPUyBTREsuIFNlZSA8aHR0cHM6Ly93ZWJraXQuCiAjZGVmaW5l
IEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTIDAKICNlbmRpZgogCi0jaWYgIWRlZmluZWQoRU5BQkxF
X09QRU5UWVBFX1ZFUlRJQ0FMKQotI2RlZmluZSBFTkFCTEVfT1BFTlRZUEVfVkVSVElDQUwgMAot
I2VuZGlmCi0KICNpZiAhZGVmaW5lZChFTkFCTEVfT1JJRU5UQVRJT05fRVZFTlRTKQogI2RlZmlu
ZSBFTkFCTEVfT1JJRU5UQVRJT05fRVZFTlRTIDAKICNlbmRpZgpAQCAtNzQwLDcgKzczNiw3IEBA
IHRoZSBwdWJsaWMgaU9TIFNESy4gU2VlIDxodHRwczovL3dlYmtpdC4KIC8qIEpJVCBGZWF0dXJl
cyAqLwogCiAvKiBUaGUgSklUIGlzIGVuYWJsZWQgYnkgZGVmYXVsdCBvbiBhbGwgeDg2LTY0ICYg
QVJNNjQgcGxhdGZvcm1zLiAqLwotI2lmICFkZWZpbmVkKEVOQUJMRV9KSVQpICYmICAoQ1BVKFg4
Nl82NCkgfHwgQ1BVKEFSTTY0KSkgJiYgIUNQVShBUFBMRV9BUk1WN0spCisjaWYgIWRlZmluZWQo
RU5BQkxFX0pJVCkgJiYgKENQVShYODZfNjQpIHx8IENQVShBUk02NCkpICYmICFDUFUoQVBQTEVf
QVJNVjdLKQogI2RlZmluZSBFTkFCTEVfSklUIDEKICNlbmRpZgogCkBAIC03ODEsMjAgKzc3Nywx
OCBAQCB0aGUgcHVibGljIGlPUyBTREsuIFNlZSA8aHR0cHM6Ly93ZWJraXQuCiAjZGVmaW5lIEVO
QUJMRV9GVExfSklUIDAKICNlbmRpZgogCi0vKiBGSVhNRTogVGhpcyBpcyB1c2VkIHRvICJ0dXJu
IG9uIGEgc3BlY2lmaWMgZmVhdHVyZSBvZiBXZWJLaXQiLCBzbyBzaG91bGQgYmUgY29udmVydGVk
IHRvIGFuIEVOQUJMRSBtYWNyby4gKi8KIC8qIElmIHBvc3NpYmxlLCB0cnkgdG8gZW5hYmxlIGEg
ZGlzYXNzZW1ibGVyLiBUaGlzIGlzIG9wdGlvbmFsLiBXZSBwcm9jZWVkIGluIHR3bwogICAgc3Rl
cHM6IGZpcnN0IHdlIHRyeSB0byBmaW5kIHNvbWUgZGlzYXNzZW1ibGVyIHRoYXQgd2UgY2FuIHVz
ZSwgYW5kIHRoZW4gd2UKICAgIGRlY2lkZSBpZiB0aGUgaGlnaC1sZXZlbCBkaXNhc3NlbWJsZXIg
QVBJIGNhbiBiZSBlbmFibGVkLiAqLwotI2lmICFkZWZpbmVkKFVTRV9VRElTODYpICYmIEVOQUJM
RShKSVQpICYmIENQVShYODZfNjQpICYmICFVU0UoQ0FQU1RPTkUpCi0jZGVmaW5lIFVTRV9VRElT
ODYgMQorI2lmICFkZWZpbmVkKEVOQUJMRV9VRElTODYpICYmIEVOQUJMRShKSVQpICYmIENQVShY
ODZfNjQpICYmICFVU0UoQ0FQU1RPTkUpCisjZGVmaW5lIEVOQUJMRV9VRElTODYgMQogI2VuZGlm
CiAKLS8qIEZJWE1FOiBUaGlzIGlzIHVzZWQgdG8gInR1cm4gb24gYSBzcGVjaWZpYyBmZWF0dXJl
IG9mIFdlYktpdCIsIHNvIHNob3VsZCBiZSBjb252ZXJ0ZWQgdG8gYW4gRU5BQkxFIG1hY3JvLiAq
LwotI2lmICFkZWZpbmVkKFVTRV9BUk02NF9ESVNBU1NFTUJMRVIpICYmIEVOQUJMRShKSVQpICYm
IENQVShBUk02NCkgJiYgIVVTRShDQVBTVE9ORSkKLSNkZWZpbmUgVVNFX0FSTTY0X0RJU0FTU0VN
QkxFUiAxCisjaWYgIWRlZmluZWQoRU5BQkxFX0FSTTY0X0RJU0FTU0VNQkxFUikgJiYgRU5BQkxF
KEpJVCkgJiYgQ1BVKEFSTTY0KSAmJiAhVVNFKENBUFNUT05FKQorI2RlZmluZSBFTkFCTEVfQVJN
NjRfRElTQVNTRU1CTEVSIDEKICNlbmRpZgogCi0jaWYgIWRlZmluZWQoRU5BQkxFX0RJU0FTU0VN
QkxFUikgJiYgKFVTRShVRElTODYpIHx8IFVTRShBUk02NF9ESVNBU1NFTUJMRVIpIHx8IChFTkFC
TEUoSklUKSAmJiBVU0UoQ0FQU1RPTkUpKSkKKyNpZiAhZGVmaW5lZChFTkFCTEVfRElTQVNTRU1C
TEVSKSAmJiAoRU5BQkxFKFVESVM4NikgfHwgRU5BQkxFKEFSTTY0X0RJU0FTU0VNQkxFUikgfHwg
KEVOQUJMRShKSVQpICYmIFVTRShDQVBTVE9ORSkpKQogI2RlZmluZSBFTkFCTEVfRElTQVNTRU1C
TEVSIDEKICNlbmRpZgogCkBAIC04MDYsOSArODAwLDEwIEBAIHRoZSBwdWJsaWMgaU9TIFNESy4g
U2VlIDxodHRwczovL3dlYmtpdC4KICNlbmRpZgogCiAvKiBFbmFibGUgdGhlIERGRyBKSVQgb24g
QVJNdjcuICBPbmx5IHRlc3RlZCBvbiBpT1MsIExpbnV4LCBhbmQgRnJlZUJTRC4gKi8KLSNpZiAo
Q1BVKEFSTV9USFVNQjIpIHx8IENQVShBUk02NCkpICYmIChQTEFURk9STShJT1NfRkFNSUxZKSB8
fCBPUyhMSU5VWCkgfHwgT1MoRlJFRUJTRCkpCisjaWYgKENQVShBUk1fVEhVTUIyKSB8fCBDUFUo
QVJNNjQpKSAmJiAoT1MoREFSV0lOKSB8fCBPUyhMSU5VWCkgfHwgT1MoRlJFRUJTRCkpCiAjZGVm
aW5lIEVOQUJMRV9ERkdfSklUIDEKICNlbmRpZgorCiAvKiBFbmFibGUgdGhlIERGRyBKSVQgb24g
TUlQUy4gKi8KICNpZiBDUFUoTUlQUykKICNkZWZpbmUgRU5BQkxFX0RGR19KSVQgMQpAQCAtOTU2
LDcgKzk1MSw3IEBAIHRoZSBwdWJsaWMgaU9TIFNESy4gU2VlIDxodHRwczovL3dlYmtpdC4KICNl
bmRpZgogCiAvKiBDU1MgU2VsZWN0b3IgSklUIENvbXBpbGVyICovCi0jaWYgIWRlZmluZWQoRU5B
QkxFX0NTU19TRUxFQ1RPUl9KSVQpICYmICgoQ1BVKFg4Nl82NCkgfHwgQ1BVKEFSTTY0KSB8fCAo
Q1BVKEFSTV9USFVNQjIpICYmIFBMQVRGT1JNKElPU19GQU1JTFkpKSkgJiYgRU5BQkxFKEpJVCkg
JiYgKE9TKERBUldJTikgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXUEUpKSkKKyNpZiAh
ZGVmaW5lZChFTkFCTEVfQ1NTX1NFTEVDVE9SX0pJVCkgJiYgKChDUFUoWDg2XzY0KSB8fCBDUFUo
QVJNNjQpIHx8IChDUFUoQVJNX1RIVU1CMikgJiYgT1MoREFSV0lOKSkpICYmIEVOQUJMRShKSVQp
ICYmIChPUyhEQVJXSU4pIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKSkpCiAjZGVm
aW5lIEVOQUJMRV9DU1NfU0VMRUNUT1JfSklUIDEKICNlbmRpZgogCkBAIC05OTIsMTUgKzk4Nywx
MSBAQCB0aGUgcHVibGljIGlPUyBTREsuIFNlZSA8aHR0cHM6Ly93ZWJraXQuCiAjZGVmaW5lIEVO
QUJMRV9SRVNPVVJDRV9VU0FHRSAxCiAjZW5kaWYKIAotLyogRklYTUU6IERvY3VtZW50IG9yIHJl
bW92ZSBleHBsaWNpdCB1bmRlZi4gKi8KLSNpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFdQ
RSkKLSN1bmRlZiBFTkFCTEVfT1BFTlRZUEVfVkVSVElDQUwKKyNpZiAhZGVmaW5lZChFTkFCTEVf
T1BFTlRZUEVfVkVSVElDQUwpICYmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKQogI2Rl
ZmluZSBFTkFCTEVfT1BFTlRZUEVfVkVSVElDQUwgMQogI2VuZGlmCiAKLS8qIEZJWE1FOiBEb2N1
bWVudCBvciByZW1vdmUgZXhwbGljaXQgdW5kZWYuICovCi0jaWYgKE9TKERBUldJTikgJiYgVVNF
KENHKSkgfHwgKFVTRShGUkVFVFlQRSkgJiYgIVBMQVRGT1JNKEdUSykpIHx8IChQTEFURk9STShX
SU4pICYmIChVU0UoQ0cpIHx8IFVTRShDQUlSTykpKQotI3VuZGVmIEVOQUJMRV9PUEVOVFlQRV9N
QVRICisjaWYgIWRlZmluZWQoRU5BQkxFX09QRU5UWVBFX01BVEgpICYmIChPUyhEQVJXSU4pICYm
IFVTRShDRykpIHx8IChVU0UoRlJFRVRZUEUpICYmICFQTEFURk9STShHVEspKSB8fCAoUExBVEZP
Uk0oV0lOKSAmJiAoVVNFKENHKSB8fCBVU0UoQ0FJUk8pKSkKICNkZWZpbmUgRU5BQkxFX09QRU5U
WVBFX01BVEggMQogI2VuZGlmCiAKQEAgLTEwMTUsOCArMTAwNiw3IEBAIHRoZSBwdWJsaWMgaU9T
IFNESy4gU2VlIDxodHRwczovL3dlYmtpdC4KIC8qIERpc2FibGUgU2hhcmVkQXJyYXlCdWZmZXJz
IHVudGlsIFNwZWN0cmUgc2VjdXJpdHkgY29uY2VybnMgYXJlIG1pdGlnYXRlZC4gKi8KICNkZWZp
bmUgRU5BQkxFX1NIQVJFRF9BUlJBWV9CVUZGRVIgMAogCi0vKiBGSVhNRTogX19MUDY0X18gY2Fu
IHByb2JhYmx5IGJlIHJlbW92ZWQgbm93IHRoYXQgMzItYml0IG1hY09TIGlzIG5vIGxvbmdlciBz
dXBwb3J0ZWQuICovCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBkZWZpbmVkKF9fTFA2NF9fKQorI2lm
IFBMQVRGT1JNKE1BQykKICNkZWZpbmUgRU5BQkxFX1dFQl9QTEFZQkFDS19DT05UUk9MU19NQU5B
R0VSIDEKICNlbmRpZgogCkBAIC0xMDQyLDYgKzEwMzIsMTQgQEAgdGhlIHB1YmxpYyBpT1MgU0RL
LiBTZWUgPGh0dHBzOi8vd2Via2l0LgogI2RlZmluZSBFTkFCTEVfUExBVEZPUk1fRFJJVkVOX1RF
WFRfQ0hFQ0tJTkcgMQogI2VuZGlmCiAKKy8qIFRoaXMgZmVhdHVyZSB3b3JrcyBieSBlbWJlZGRp
bmcgdGhlIE9wY29kZUlEIGluIHRoZSAzMiBiaXQganVzdCBiZWZvcmUgdGhlIGdlbmVyYXRlZCBM
TGludCBjb2RlCisgICB0aGF0IGV4ZWN1dGVzIGVhY2ggb3Bjb2RlLiBJdCBjYW5ub3QgYmUgc3Vw
cG9ydGVkIGJ5IHRoZSBDTG9vcCBzaW5jZSB0aGVyZSdzIG5vIHdheSB0byBlbWJlZCB0aGUKKyAg
IE9wY29kZUlEIHdvcmQgaW4gdGhlIENMb29wJ3Mgc3dpdGNoIHN0YXRlbWVudCBjYXNlcy4gSXQg
aXMgYWxzbyBjdXJyZW50bHkgbm90IGltcGxlbWVudGVkIGZvciBNU1ZDLgorKi8KKyNpZiAhZGVm
aW5lZChFTkFCTEVfTExJTlRfRU1CRURERURfT1BDT0RFX0lEKSAmJiAhRU5BQkxFKENfTE9PUCkg
JiYgIUNPTVBJTEVSKE1TVkMpICYmIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJN
NjQpIHx8IChDUFUoQVJNX1RIVU1CMikgJiYgT1MoREFSV0lOKSkpCisjZGVmaW5lIEVOQUJMRV9M
TElOVF9FTUJFRERFRF9PUENPREVfSUQgMQorI2VuZGlmCisKIAogLyogQXNzZXJ0cywgaW52YXJp
YW50cyBmb3IgbWFjcm8gZGVmaW5pdGlvbnMgKi8KIApJbmRleDogU291cmNlL1dURi93dGYvUGxh
dGZvcm1PUy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtT1MuaAkocmV2
aXNpb24gMjU0ODM4KQorKysgU291cmNlL1dURi93dGYvUGxhdGZvcm1PUy5oCSh3b3JraW5nIGNv
cHkpCkBAIC00MSw3ICs0MSw4IEBACiAKIC8qIE9TKCkgLSB1bmRlcmx5aW5nIG9wZXJhdGluZyBz
eXN0ZW07IG9ubHkgdG8gYmUgdXNlZCBmb3IgbWFuZGF0ZWQgbG93LWxldmVsIHNlcnZpY2VzIGxp
a2UKICAgIHZpcnR1YWwgbWVtb3J5LCBub3QgdG8gY2hvb3NlIGEgR1VJIHRvb2xraXQgKi8KLSNk
ZWZpbmUgT1MoV1RGX0ZFQVRVUkUpIChkZWZpbmVkIFdURl9PU18jI1dURl9GRUFUVVJFICAmJiBX
VEZfT1NfIyNXVEZfRkVBVFVSRSkKKyNkZWZpbmUgT1MoV1RGX0ZFQVRVUkUpIChkZWZpbmVkIFdU
Rl9PU18jI1dURl9GRUFUVVJFICYmIFdURl9PU18jI1dURl9GRUFUVVJFKQorI2RlZmluZSBPU19D
T05TVEFOVChXVEZfRkVBVFVSRSkgKFdURl9PU19DT05TVEFOVF8jI1dURl9GRUFUVVJFKQogCiAK
IC8qID09PT0gT1MoKSAtIHVuZGVybHlpbmcgb3BlcmF0aW5nIHN5c3RlbTsgb25seSB0byBiZSB1
c2VkIGZvciBtYW5kYXRlZCBsb3ctbGV2ZWwgc2VydmljZXMgbGlrZQpAQCAtMTM1LDYgKzEzNiwx
OCBAQAogI2VuZGlmCiAKIAorI2lmIENQVShBRERSRVNTNjQpCisjaWYgKE9TKElPUykgfHwgT1Mo
VFZPUykgfHwgT1MoV0FUQ0hPUykpICYmIENQVShBUk02NCkKKyNkZWZpbmUgV1RGX09TX0NPTlNU
QU5UX0VGRkVDVElWRV9BRERSRVNTX1dJRFRIIDM2CisjZWxzZQorLyogV2Ugc3Ryb25nbHkgYXNz
dW1lIHRoYXQgZWZmZWN0aXZlIGFkZHJlc3Mgd2lkdGggaXMgPD0gNDggaW4gNjRiaXQgYXJjaGl0
ZWN0dXJlcyAoZS5nLiBOYU4gYm94aW5nKS4gKi8KKyNkZWZpbmUgV1RGX09TX0NPTlNUQU5UX0VG
RkVDVElWRV9BRERSRVNTX1dJRFRIIDQ4CisjZW5kaWYKKyNlbHNlCisjZGVmaW5lIFdURl9PU19D
T05TVEFOVF9FRkZFQ1RJVkVfQUREUkVTU19XSURUSCAzMgorI2VuZGlmCisKKwogLyogQXNzZXJ0
cywgaW52YXJpYW50cyBmb3IgbWFjcm8gZGVmaW5pdGlvbnMgKi8KIAogI2RlZmluZSBXVEZfT1Nf
V0lOIEVSUk9SICJVU0UgV0lORE9XUyBXSVRIIE9TIE5PVCBXSU4iCkluZGV4OiBTb3VyY2UvV1RG
L3d0Zi9XVEZBc3NlcnRpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9XVEZB
c3NlcnRpb25zLmNwcAkocmV2aXNpb24gMjU0ODM4KQorKysgU291cmNlL1dURi93dGYvV1RGQXNz
ZXJ0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUwLDggKzUwLDggQEAgc3RhdGljX2Fzc2Vy
dChzaXplb2YoUmVmUHRyPER1bW15U3RydWN0Pgogc3RhdGljX2Fzc2VydChzaXplb2YoUmVmQ291
bnRlZEFycmF5PER1bW15U3RydWN0PikgPT0gc2l6ZW9mKHZvaWQqKSwgIiIpOwogCiAjaWYgT1Mo
REFSV0lOKSAmJiBDUFUoQUREUkVTUzY0KQotc3RhdGljX2Fzc2VydChNQUNIX1ZNX01BWF9BRERS
RVNTIDw9ICgoMVVMTCA8PCBXVEZfQ1BVX0VGRkVDVElWRV9BRERSRVNTX1dJRFRIKSAtIDEpKTsK
K3N0YXRpY19hc3NlcnQoTUFDSF9WTV9NQVhfQUREUkVTUyA8PSAoKDFVTEwgPDwgT1NfQ09OU1RB
TlQoRUZGRUNUSVZFX0FERFJFU1NfV0lEVEgpKSAtIDEpKTsKICNlbmRpZgotICAgIAorCiB9IC8v
IG5hbWVzcGFjZSBXVEYKIApJbmRleDogU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdDb21tb24u
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0NvbW1vbi5oCShyZXZp
c2lvbiAyNTQ4MzgpCisrKyBTb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0NvbW1vbi5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNzIsNyArMTcyLDcgQEAgQUxXQVlTX0lOTElORSBib29sIGVxdWFsKGNv
bnN0IFVDaGFyKiBhVQogCiAgICAgcmV0dXJuIHRydWU7CiB9Ci0jZWxpZiBQTEFURk9STShJT1Nf
RkFNSUxZKSAmJiBXVEZfQVJNX0FSQ0hfQVRfTEVBU1QoNykgJiYgIUFTQU5fRU5BQkxFRAorI2Vs
aWYgT1MoREFSV0lOKSAmJiBXVEZfQVJNX0FSQ0hfQVRfTEVBU1QoNykgJiYgIUFTQU5fRU5BQkxF
RAogQUxXQVlTX0lOTElORSBib29sIGVxdWFsKGNvbnN0IExDaGFyKiBhLCBjb25zdCBMQ2hhciog
YiwgdW5zaWduZWQgbGVuZ3RoKQogewogICAgIGJvb2wgaXNFcXVhbCA9IGZhbHNlOwpJbmRleDog
U291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL0No
YW5nZUxvZwkocmV2aXNpb24gMjU0ODM4KQorKysgU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDEtMTcgIFNhbSBXZWluaWcgIDx3
ZWluaWdAYXBwbGUuY29tPgorCisgICAgICAgIFBsYXRmb3JtLmggaXMgb3V0IG9mIGNvbnRyb2wg
UGFydCA4OiBNYWNyb3MgYXJlIHVzZWQgaW5jb25zaXN0ZW50bHkKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjQyNQorCisgICAgICAgIFJldmlld2Vk
IGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgICogYm1hbGxvYy9CUGxhdGZvcm0uaDoKKyAgICAg
ICAgVXBkYXRlIE9TX0VGRkVDVElWRV9BRERSRVNTX1dJRFRIIHRvIG1hdGNoIFdURiBkZWZpbml0
aW9uLCBhZGQgbmVlZGVkIE9TIG1hY3Jvcy4KKwogMjAyMC0wMS0yMCAgRGF2aWQgS2lsemVyICA8
ZGRraWx6ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBtaXNzaW5nIGhlYWRlciBndWFyZHMg
YW5kIGNsZWFuIHVwIGVtcHR5IGZpbGVzIGluIGJtYWxsb2MsIFdURiwgSmF2YVNjcmlwdENvcmUK
SW5kZXg6IFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQlBsYXRmb3JtLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL2JtYWxsb2MvYm1hbGxvYy9CUGxhdGZvcm0uaAkocmV2aXNpb24gMjU0ODM4KQorKysg
U291cmNlL2JtYWxsb2MvYm1hbGxvYy9CUGxhdGZvcm0uaAkod29ya2luZyBjb3B5KQpAQCAtNTgs
NiArNTgsNyBAQAogCiAjaWYgQk9TKERBUldJTikgJiYgIWRlZmluZWQoQlVJTERJTkdfV0lUSF9D
TUFLRSkKICNpZiBUQVJHRVRfT1NfSU9TCisjZGVmaW5lIEJPU19JT1MgMQogI2RlZmluZSBCUExB
VEZPUk1fSU9TIDEKICNpZiBUQVJHRVRfT1NfU0lNVUxBVE9SCiAjZGVmaW5lIEJQTEFURk9STV9J
T1NfU0lNVUxBVE9SIDEKQEAgLTY5LDYgKzcwLDcgQEAKICNkZWZpbmUgQlBMQVRGT1JNX0lPU19G
QU1JTFlfU0lNVUxBVE9SIDEKICNlbmRpZgogI2VsaWYgVEFSR0VUX09TX01BQworI2RlZmluZSBC
T1NfTUFDIDEKICNkZWZpbmUgQlBMQVRGT1JNX01BQyAxCiAjZW5kaWYKICNlbmRpZgpAQCAtNzgs
MTAgKzgwLDEyIEBACiAjZW5kaWYKIAogI2lmIGRlZmluZWQoVEFSR0VUX09TX1dBVENIKSAmJiBU
QVJHRVRfT1NfV0FUQ0gKKyNkZWZpbmUgQk9TX1dBVENIT1MgMQogI2RlZmluZSBCUExBVEZPUk1f
V0FUQ0hPUyAxCiAjZW5kaWYKIAogI2lmIGRlZmluZWQoVEFSR0VUX09TX1RWKSAmJiBUQVJHRVRf
T1NfVFYKKyNkZWZpbmUgQk9TX0FQUExFVFYgMQogI2RlZmluZSBCUExBVEZPUk1fQVBQTEVUViAx
CiAjZW5kaWYKIApAQCAtMjU5LDcgKzI2Myw3IEBACiAjZW5kaWYKIAogI2lmIEJDUFUoQUREUkVT
UzY0KQotI2lmIEJPUyhEQVJXSU4pICYmIEJDUFUoQVJNNjQpCisjaWYgKEJPUyhJT1MpIHx8IEJP
UyhUVk9TKSB8fCBCT1MoV0FUQ0hPUykpICYmIEJDUFUoQVJNNjQpCiAjZGVmaW5lIEJPU19FRkZF
Q1RJVkVfQUREUkVTU19XSURUSCAzNgogI2Vsc2UKIC8qIFdlIHN0cm9uZ2x5IGFzc3VtZSB0aGF0
IGVmZmVjdGl2ZSBhZGRyZXNzIHdpZHRoIGlzIDw9IDQ4IGluIDY0Yml0IGFyY2hpdGVjdHVyZXMg
KGUuZy4gTmFOIGJveGluZykuICovCkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTQ4MzgpCisrKyBUb29scy9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0wMS0yMCAgU2FtIFdlaW5pZyAg
PHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgUGxhdGZvcm0uaCBpcyBvdXQgb2YgY29udHJv
bCBQYXJ0IDg6IE1hY3JvcyBhcmUgdXNlZCBpbmNvbnNpc3RlbnRseQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2NDI1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9Q
YWNrZWQuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgIFVwZGF0
ZSB0byB1c2UgT1NfQ09OU1RBTlQuCisKIDIwMjAtMDEtMjAgIFNhYW0gQmFyYXRpICA8c2JhcmF0
aUBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjU0Nzg4KTogbW96aWxsYS10ZXN0
cy55YW1sL2pzMV81L1JlZ3Jlc3MvcmVncmVzcy0xOTE2MzMuanMubW96aWxsYSBmYWlscwpJbmRl
eDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUGFja2VkLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9QYWNrZWQuY3BwCShyZXZpc2lvbiAyNTQ3
OTkpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9QYWNrZWQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC01OSw4ICs1OSw4IEBAIFRFU1QoV1RGX1BhY2tlZCwgQXNzaWduQW5kR2V0KQog
ewogICAgIHsKICAgICAgICAgUGFja2VkUHRyPHVpbnQ4X3Q+IGtleSB7IG51bGxwdHIgfTsKLSAg
ICAgICAgc3RhdGljX2Fzc2VydChXVEZfQ1BVX0VGRkVDVElWRV9BRERSRVNTX1dJRFRIICE9IDY0
LCAiIik7Ci0gICAgICAgIHVpbnQ4X3QqIG1heCA9IGJpdHdpc2VfY2FzdDx1aW50OF90Kj4oc3Rh
dGljX2Nhc3Q8dWludHB0cl90PigoKDFVTEwpIDw8IFdURl9DUFVfRUZGRUNUSVZFX0FERFJFU1Nf
V0lEVEgpIC0gMSkpOworICAgICAgICBzdGF0aWNfYXNzZXJ0KE9TX0NPTlNUQU5UKEVGRkVDVElW
RV9BRERSRVNTX1dJRFRIKSAhPSA2NCwgIiIpOworICAgICAgICB1aW50OF90KiBtYXggPSBiaXR3
aXNlX2Nhc3Q8dWludDhfdCo+KHN0YXRpY19jYXN0PHVpbnRwdHJfdD4oKCgxVUxMKSA8PCBPU19D
T05TVEFOVChFRkZFQ1RJVkVfQUREUkVTU19XSURUSCkpIC0gMSkpOwogICAgICAgICBrZXkgPSBt
YXg7CiAgICAgICAgIEVYUEVDVF9FUShrZXkuZ2V0KCksIG1heCk7CiAgICAgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>