<?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>206870</bug_id>
          
          <creation_ts>2020-01-28 06:05:56 -0800</creation_ts>
          <short_desc>Send WebsiteDataStore media parameters to GPUProcess when needed</short_desc>
          <delta_ts>2020-01-29 02:15: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>Media</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="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1611883</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-01-28 06:05:56 -0800</bug_when>
    <thetext>Send WebsiteDataStore media parameters to GPUProcess when needed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611885</commentid>
    <comment_count>1</comment_count>
      <attachid>388985</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-01-28 06:20:17 -0800</bug_when>
    <thetext>Created attachment 388985
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611898</commentid>
    <comment_count>2</comment_count>
      <attachid>388988</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-01-28 06:46:37 -0800</bug_when>
    <thetext>Created attachment 388988
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611922</commentid>
    <comment_count>3</comment_count>
      <attachid>388995</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-01-28 08:02:47 -0800</bug_when>
    <thetext>Created attachment 388995
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611936</commentid>
    <comment_count>4</comment_count>
      <attachid>389000</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-01-28 08:32:50 -0800</bug_when>
    <thetext>Created attachment 389000
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612369</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-29 02:13:30 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 389000:

editing/spelling/spellcheck-async-remove-frame.html bug 158401 (authors: morrita@google.com, rniwa@webkit.org, and tony@chromium.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612370</commentid>
    <comment_count>6</comment_count>
      <attachid>389000</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-29 02:14:12 -0800</bug_when>
    <thetext>Comment on attachment 389000
Patch

Clearing flags on attachment: 389000

Committed r255346: &lt;https://trac.webkit.org/changeset/255346&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612371</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-29 02:14:14 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612372</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-29 02:15:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/58985545&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388985</attachid>
            <date>2020-01-28 06:20:17 -0800</date>
            <delta_ts>2020-01-28 06:46:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206870-20200128152015.patch</filename>
            <type>text/plain</type>
            <size>24426</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MjI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGZjNjE4NTRkNDdkNGM0YTAw
ZjY5YTQ0ZDI0YjY1NDYzM2YxOWE4MzIuLjVmNGYzZmM1ZDc5ODRjYjIyNWU5YmU0NmIzNWU1ODJh
OWMwZmM1MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDggQEAKKzIwMjAtMDEtMjggIHlvdWVubiBm
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFNlbmQgV2Vic2l0ZURhdGFTdG9y
ZSBtZWRpYSBwYXJhbWV0ZXJzIHRvIEdQVVByb2Nlc3Mgd2hlbiBuZWVkZWQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjg3MAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW5ldmVyIG9wZW5pbmcgYSBu
ZXcgV2ViUHJvY2Vzcy9HUFVQcm9jZXNzIGNvbm5lY3Rpb24sIG1ha2Ugc3VyZSBHUFVQcm9jZXNz
IGtub3dzIFdlYlByb2Nlc3Mgc2Vzc2lvbiBwYXJhbWV0ZXJzLgorICAgICAgICBNYWtlIHN1cmUg
dG8gcmVtb3ZlIHNlc3Npb24gcGFyYW1ldGVycyB3aGVuIGRhdGEgc3RvcmUgaXMgZGVzdHJveWVk
LgorICAgICAgICBVcGRhdGUgbWVkaWEgY29kZSB0byBubyBsb25nZXIgc2VuZCB0aGUgY29ycmVz
cG9uZGluZyBwYXJhbWV0ZXJzIGZvciBlYWNoIG1lZGlhIGxvYWQuCisKKyAgICAgICAgQ292ZXJl
ZCBieSBleGlzdGluZyB0ZXN0cyBubyBsb25nZXIgdHJpZ2dlcmluZyBzYW5kYm94IHZpb2xhdGlv
bnMuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjptZWRpYUNhY2hl
RGlyZWN0b3J5IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6R1BVQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzczo6bWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSBjb25zdCk6CisgICAgICAgICogR1BVUHJv
Y2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9H
UFVQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vzczo6YWRkU2Vzc2lvbik6
CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3M6OnJlbW92ZVNlc3Npb24pOgorICAgICAgICAo
V2ViS2l0OjpHUFVQcm9jZXNzOjptZWRpYUNhY2hlRGlyZWN0b3J5IGNvbnN0KToKKyAgICAgICAg
KFdlYktpdDo6R1BVUHJvY2Vzczo6bWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSBjb25zdCk6Cisg
ICAgICAgICogR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9H
UFVQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVy
UHJveHk6OmxvYWQpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5Ojpt
ZWRpYVBsYXllck1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkgY29uc3QpOgorICAgICAgICAoV2Vi
S2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllck1lZGlhQ2FjaGVEaXJlY3Rv
cnkgY29uc3QpOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eS5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eUNvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94
eUNvbmZpZ3VyYXRpb246OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1l
ZGlhUGxheWVyUHJveHlDb25maWd1cmF0aW9uOjpkZWNvZGUpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vzc1By
b3h5OjpzaW5nbGV0b24pOgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzUHJveHk6Om9wZW5H
UFVQcm9jZXNzQ29ubmVjdGlvbik6CisgICAgICAgIChXZWJLaXQ6OmdwdVByb2Nlc3NTZXNzaW9u
UGFyYW1ldGVycyk6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6YWRkU2Vzc2lv
bik6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6cmVtb3ZlU2Vzc2lvbik6Cisg
ICAgICAgICogVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYnNpdGVEYXRhU3RvcmU6On5XZWJzaXRlRGF0YVN0b3JlKToKKyAgICAgICAgKiBXZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRp
YS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVN
ZWRpYVBsYXllck1hbmFnZXI6OmNyZWF0ZVJlbW90ZU1lZGlhUGxheWVyKToKKwogMjAyMC0wMS0y
NyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdS
RVNTSU9OIChyMjUzNjM0KTogY3JpY2J1enouY29tIG1lZGlhIGNvbnRyb2xzIHZhbmlzaCBkZXBl
bmRpbmcgb24gcGFnZSBzY2FsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCmluZGV4IGMwOTQ4ZDA5OTViOTZjYjUzZTUz
ZjRhN2FjZTNmMzg2Y2I1MTM4ZWMuLmE2Y2VlNTRjOTdjOTIxNWE2ODczZjRkY2IxMmJkZTQ3YzFk
YzQwZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9u
VG9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVj
dGlvblRvV2ViUHJvY2Vzcy5jcHAKQEAgLTI2MSw2ICsyNjEsMTggQEAgdm9pZCBHUFVDb25uZWN0
aW9uVG9XZWJQcm9jZXNzOjpkaWRSZWNlaXZlU3luY01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBj
b25uZWN0aW8KICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAorY29uc3QgU3RyaW5nJiBH
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjptZWRpYUNhY2hlRGlyZWN0b3J5KCkgY29uc3QKK3sK
KyAgICByZXR1cm4gbV9ncHVQcm9jZXNzLT5tZWRpYUNhY2hlRGlyZWN0b3J5KG1fc2Vzc2lvbklE
KTsKK30KKworI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQorY29uc3QgU3RyaW5n
JiBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjptZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gbV9ncHVQcm9jZXNzLT5tZWRpYUtleXNTdG9yYWdlRGlyZWN0
b3J5KG1fc2Vzc2lvbklEKTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAog
I2VuZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VTUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCmluZGV4IGI5OGQ2MmYwNjIxNDk2
ODZhYWI0ZjAwNWM4NTNkY2M2NGNmN2YyYzkuLjJiOWJkMWY4ODdiYWRhZmE0ZWE1YzRiYTM0MTY5
ZDhiOTc4ZmQ2MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MuaApAQCAtNjUsNiArNjUsMTEgQEAgcHVibGljOgogCiAgICAg
TG9nZ2VyJiBsb2dnZXIoKTsKIAorICAgIGNvbnN0IFN0cmluZyYgbWVkaWFDYWNoZURpcmVjdG9y
eSgpIGNvbnN0OworI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQorICAgIGNvbnN0
IFN0cmluZyYgbWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSgpIGNvbnN0OworI2VuZGlmCisKIHBy
aXZhdGU6CiAgICAgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhHUFVQcm9jZXNzJiwgV2ViQ29y
ZTo6UHJvY2Vzc0lkZW50aWZpZXIsIElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciwgUEFMOjpT
ZXNzaW9uSUQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJv
Y2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAKaW5kZXgg
ODYxNjJlMWM4YjEyOWU4YTBmYjAwYWU4NjRkMjNiMzczMDkxZTZjOC4uOGZiZTdjMjcyOTY1YTk0
ZWE0YjU5ZmViMzJlZTNjZTFlMGE2MzQ5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL0dQVVByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQ
cm9jZXNzLmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIK
ICNpbmNsdWRlICJHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCiAjaW5jbHVkZSAiR1BVUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgorI2luY2x1ZGUgIkdQVVByb2Nlc3NTZXNzaW9uUGFy
YW1ldGVycy5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJTYW5kYm94RXh0ZW5z
aW9uLmgiCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5TWVzc2FnZXMuaCIKQEAgLTE1Niw2ICsxNTcs
NDIgQEAgdm9pZCBHUFVQcm9jZXNzOjpzZXRNb2NrQ2FwdHVyZURldmljZXNFbmFibGVkKGJvb2wg
aXNFbmFibGVkKQogI2VuZGlmCiB9CiAKK3ZvaWQgR1BVUHJvY2Vzczo6YWRkU2Vzc2lvbihQQUw6
OlNlc3Npb25JRCBzZXNzaW9uSUQsIEdQVVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVycyYmIHBhcmFt
ZXRlcnMpCit7CisgICAgQVNTRVJUKCFtX3Nlc3Npb25zLmNvbnRhaW5zKHNlc3Npb25JRCkpOwor
ICAgIFNhbmRib3hFeHRlbnNpb246OmNvbnN1bWVQZXJtYW5lbnRseShwYXJhbWV0ZXJzLm1lZGlh
Q2FjaGVEaXJlY3RvcnlTYW5kYm94RXh0ZW5zaW9uSGFuZGxlKTsKKyNpZiBFTkFCTEUoTEVHQUNZ
X0VOQ1JZUFRFRF9NRURJQSkKKyAgICBTYW5kYm94RXh0ZW5zaW9uOjpjb25zdW1lUGVybWFuZW50
bHkocGFyYW1ldGVycy5tZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5U2FuZGJveEV4dGVuc2lvbkhh
bmRsZSk7CisjZW5kaWYKKworICAgIG1fc2Vzc2lvbnMuYWRkKHNlc3Npb25JRCwgR1BVU2Vzc2lv
biB7CisgICAgICAgIFdURk1vdmUocGFyYW1ldGVycy5tZWRpYUNhY2hlRGlyZWN0b3J5KQorI2lm
IEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQorICAgICAgICAsIFdURk1vdmUocGFyYW1l
dGVycy5tZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KQorI2VuZGlmCisgICAgfSk7Cit9CisKK3Zv
aWQgR1BVUHJvY2Vzczo6cmVtb3ZlU2Vzc2lvbihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCit7
CisgICAgQVNTRVJUKG1fc2Vzc2lvbnMuY29udGFpbnMoc2Vzc2lvbklEKSk7CisgICAgbV9zZXNz
aW9ucy5yZW1vdmUoc2Vzc2lvbklEKTsKK30KKworY29uc3QgU3RyaW5nJiBHUFVQcm9jZXNzOjpt
ZWRpYUNhY2hlRGlyZWN0b3J5KFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkgY29uc3QKK3sKKyAg
ICBBU1NFUlQobV9zZXNzaW9ucy5jb250YWlucyhzZXNzaW9uSUQpKTsKKyAgICByZXR1cm4gbV9z
ZXNzaW9ucy5maW5kKHNlc3Npb25JRCktPnZhbHVlLm1lZGlhQ2FjaGVEaXJlY3Rvcnk7Cit9CisK
KyNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKK2NvbnN0IFN0cmluZyYgR1BVUHJv
Y2Vzczo6bWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQp
IGNvbnN0Cit7CisgICAgQVNTRVJUKG1fc2Vzc2lvbnMuY29udGFpbnMoc2Vzc2lvbklEKSk7Cisg
ICAgcmV0dXJuIG1fc2Vzc2lvbnMuZmluZChzZXNzaW9uSUQpLT52YWx1ZS5tZWRpYUtleXNTdG9y
YWdlRGlyZWN0b3J5OworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5k
aWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL0dQVVByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNz
LmgKaW5kZXggYWUyMGJmOTRhMTE1MzU4ZGE1MWVkYjVhYzMxOWM0MTNhNTlkNTQ4NC4uZmEyMWFl
MDIxZDMwNWI2MzQ5Njg4ZTdlNGFjOTliNGUzMzM4YjJkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvR1BVUHJvY2Vzcy5oCkBAIC0zOCw2ICszOCw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBj
bGFzcyBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOwogc3RydWN0IEdQVVByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnM7CitzdHJ1Y3QgR1BVUHJvY2Vzc1Nlc3Npb25QYXJhbWV0ZXJzOwogCiBjbGFz
cyBHUFVQcm9jZXNzIDogcHVibGljIEF1eGlsaWFyeVByb2Nlc3MsIHB1YmxpYyBUaHJlYWRTYWZl
UmVmQ291bnRlZDxHUFVQcm9jZXNzPiwgcHVibGljIENhbk1ha2VXZWFrUHRyPEdQVVByb2Nlc3M+
IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHUFVQcm9jZXNzKTsKQEAgLTU2LDYgKzU3LDEx
IEBAIHB1YmxpYzoKIAogICAgIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MqIHdlYlByb2Nlc3ND
b25uZWN0aW9uKFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyKSBjb25zdDsKIAorICAgIGNvbnN0
IFN0cmluZyYgbWVkaWFDYWNoZURpcmVjdG9yeShQQUw6OlNlc3Npb25JRCkgY29uc3Q7CisjaWYg
RU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpCisgICAgY29uc3QgU3RyaW5nJiBtZWRpYUtl
eXNTdG9yYWdlRGlyZWN0b3J5KFBBTDo6U2Vzc2lvbklEKSBjb25zdDsKKyNlbmRpZgorCiBwcml2
YXRlOgogICAgIHZvaWQgbG93TWVtb3J5SGFuZGxlcihDcml0aWNhbCk7CiAKQEAgLTcyLDYgKzc4
LDggQEAgcHJpdmF0ZToKICAgICAvLyBNZXNzYWdlIEhhbmRsZXJzCiAgICAgdm9pZCBpbml0aWFs
aXplR1BVUHJvY2VzcyhHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiYpOwogICAgIHZvaWQg
Y3JlYXRlR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmll
ciwgUEFMOjpTZXNzaW9uSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8SVBDOjpB
dHRhY2htZW50PiYmKT4mJik7CisgICAgdm9pZCBhZGRTZXNzaW9uKFBBTDo6U2Vzc2lvbklELCBH
UFVQcm9jZXNzU2Vzc2lvblBhcmFtZXRlcnMmJik7CisgICAgdm9pZCByZW1vdmVTZXNzaW9uKFBB
TDo6U2Vzc2lvbklEKTsKIAogICAgIHZvaWQgcHJvY2Vzc0RpZFRyYW5zaXRpb25Ub0ZvcmVncm91
bmQoKTsKICAgICB2b2lkIHByb2Nlc3NEaWRUcmFuc2l0aW9uVG9CYWNrZ3JvdW5kKCk7CkBAIC03
OSw2ICs4NywxNCBAQCBwcml2YXRlOgogCiAgICAgLy8gQ29ubmVjdGlvbnMgdG8gV2ViUHJvY2Vz
c2VzLgogICAgIEhhc2hNYXA8V2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIsIFJlZjxHUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzPj4gbV93ZWJQcm9jZXNzQ29ubmVjdGlvbnM7CisKKyAgICBzdHJ1
Y3QgR1BVU2Vzc2lvbiB7CisgICAgICAgIFN0cmluZyBtZWRpYUNhY2hlRGlyZWN0b3J5OworI2lm
IEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQorICAgICAgICBTdHJpbmcgbWVkaWFLZXlz
U3RvcmFnZURpcmVjdG9yeTsKKyNlbmRpZgorICAgIH07CisgICAgSGFzaE1hcDxQQUw6OlNlc3Np
b25JRCwgR1BVU2Vzc2lvbj4gbV9zZXNzaW9uczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MubWVzc2Fn
ZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgpp
bmRleCBmYmE2N2VkM2IyZmE2MGRlNTQyODAwM2M0YzExZThiYmFlODk2ODZhLi40ZDc3OTliZmM0
NDk5NDE4YmFkYWQ2YTcwNjI2ODI3ODlkYzllYTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtMzIsNiArMzIsOSBAQCBtZXNzYWdl
cyAtPiBHUFVQcm9jZXNzIHsKICAgICBQcm9jZXNzRGlkVHJhbnNpdGlvblRvRm9yZWdyb3VuZCgp
CiAgICAgUHJvY2Vzc0RpZFRyYW5zaXRpb25Ub0JhY2tncm91bmQoKQogCisgICAgQWRkU2Vzc2lv
bihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIHN0cnVjdCBXZWJLaXQ6OkdQVVByb2Nlc3NTZXNz
aW9uUGFyYW1ldGVycyBwYXJhbWV0ZXJzKQorICAgIFJlbW92ZVNlc3Npb24oUEFMOjpTZXNzaW9u
SUQgc2Vzc2lvbklEKQorCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICBTZXRNb2NrQ2Fw
dHVyZURldmljZXNFbmFibGVkKGJvb2wgaXNFbmFibGVkKQogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5j
cHAKaW5kZXggMzBlN2EwODVhNmU3MmY0ZjM1ZjMyYzExZmJlNGU3ZWMzMWIzYTVmNy4uYzMzYTQ5
NDI4MzE3OTVjMzhlMDdjNmJiOGQ2ZGE1ZTgwYjU3N2M0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcApA
QCAtODksMTAgKzg5LDkgQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjpnZXRDb25maWd1
cmF0aW9uKFJlbW90ZU1lZGlhUGxheWVyQ29uZmlndXJhdGlvbiYgY28KICAgICBjb25maWd1cmF0
aW9uLnNob3VsZElnbm9yZUludHJpbnNpY1NpemUgPSBtX3BsYXllci0+c2hvdWxkSWdub3JlSW50
cmluc2ljU2l6ZSgpOwogfQogCi12b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OmxvYWQoY29u
c3QgVVJMJiB1cmwsIE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4mJiBzYW5kYm94
RXh0ZW5zaW9uSGFuZGxlLCBjb25zdCBDb250ZW50VHlwZSYgY29udGVudFR5cGUsIGNvbnN0IFN0
cmluZyYga2V5U3lzdGVtLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlbW90ZU1lZGlhUGxheWVy
Q29uZmlndXJhdGlvbiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eTo6bG9hZChVUkwmJiB1cmwsIE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246Okhh
bmRsZT4mJiBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlLCBjb25zdCBDb250ZW50VHlwZSYgY29udGVu
dFR5cGUsIGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJl
bW90ZU1lZGlhUGxheWVyQ29uZmlndXJhdGlvbiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsK
ICAgICBSZW1vdGVNZWRpYVBsYXllckNvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlvbjsKLQogICAg
IGlmIChzYW5kYm94RXh0ZW5zaW9uSGFuZGxlKSB7CiAgICAgICAgIG1fc2FuZGJveEV4dGVuc2lv
biA9IFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZShXVEZNb3ZlKHNhbmRib3hFeHRlbnNpb25IYW5k
bGUudmFsdWUoKSkpOwogICAgICAgICBpZiAobV9zYW5kYm94RXh0ZW5zaW9uKQpAQCAtMjg5LDcg
KzI4OCw3IEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJFbmdpbmVG
YWlsZWRUb0xvYWQoKSBjb25zdAogI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQog
U3RyaW5nIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVyTWVkaWFLZXlzU3RvcmFn
ZURpcmVjdG9yeSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fY29uZmlndXJhdGlvbi5tZWRpYUtl
eXNTdG9yYWdlRGlyZWN0b3J5OworICAgIHJldHVybiBtX21hbmFnZXIuZ3B1Q29ubmVjdGlvblRv
V2ViUHJvY2VzcygpLm1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKTsKIH0KICNlbmRpZgogCkBA
IC0zMTcsNyArMzE2LDcgQEAgU3RyaW5nIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxh
eWVyTmV0d29ya0ludGVyZmFjZU5hbWUoKSBjb25zdAogCiBjb25zdCBTdHJpbmcmIFJlbW90ZU1l
ZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVyTWVkaWFDYWNoZURpcmVjdG9yeSgpIGNvbnN0CiB7
Ci0gICAgcmV0dXJuIG1fY29uZmlndXJhdGlvbi5tZWRpYUNhY2hlRGlyZWN0b3J5OworICAgIHJl
dHVybiBtX21hbmFnZXIuZ3B1Q29ubmVjdGlvblRvV2ViUHJvY2VzcygpLm1lZGlhQ2FjaGVEaXJl
Y3RvcnkoKTsKIH0KIAogY29uc3QgVmVjdG9yPFdlYkNvcmU6OkNvbnRlbnRUeXBlPiYgUmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFDb250ZW50VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBv
cnQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZU1lZGlhUGxheWVyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVNZWRpYVBsYXllclByb3h5LmgKaW5kZXggY2FhOTZhMzQyNjgzOWY4MTBkMTQyY2MyYTNm
NzU3NjA4OTQxNjMwZS4uYWFjMzZkMDRhOTFkZTFiZjdlZjA1NWQ0MDYzNDY5NDgzMTVkYzlkOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxh
eWVyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVk
aWFQbGF5ZXJQcm94eS5oCkBAIC03Nyw3ICs3Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHByZXBh
cmVGb3JQbGF5YmFjayhib29sIHByaXZhdGVNb2RlLCBXZWJDb3JlOjpNZWRpYVBsYXllckVudW1z
OjpQcmVsb2FkLCBib29sIHByZXNlcnZlc1BpdGNoLCBib29sIHByZXBhcmVGb3JSZW5kZXJpbmcs
IFdlYkNvcmU6OkxheW91dFJlY3QsIGZsb2F0IHZpZGVvQ29udGVudFNjYWxlLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKE9wdGlvbmFsPExheWVySG9zdGluZ0NvbnRleHRJRD4mJik+JiYpOwogICAg
IHZvaWQgcHJlcGFyZUZvclJlbmRlcmluZygpOwogCi0gICAgdm9pZCBsb2FkKGNvbnN0IFVSTCYs
IE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4mJiwgY29uc3QgV2ViQ29yZTo6Q29u
dGVudFR5cGUmLCBjb25zdCBTdHJpbmcmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlbW90ZU1l
ZGlhUGxheWVyQ29uZmlndXJhdGlvbiYmKT4mJik7CisgICAgdm9pZCBsb2FkKFVSTCYmLCBPcHRp
b25hbDxTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+JiYsIGNvbnN0IFdlYkNvcmU6OkNvbnRlbnRU
eXBlJiwgY29uc3QgU3RyaW5nJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZW1vdGVNZWRpYVBs
YXllckNvbmZpZ3VyYXRpb24mJik+JiYpOwogICAgIHZvaWQgY2FuY2VsTG9hZCgpOwogCiAgICAg
dm9pZCBwcmVwYXJlVG9QbGF5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eUNvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Q29uZmlndXJhdGlv
bi5oCmluZGV4IGVjMjZlYjhmZjQ4ZmRjMzgzNGE2MmExN2QwMDViZWY0YzkwMWVkNzUuLmU4Yzc1
YWNmMWQ4NjhmMDUxNTAxN2ZkNzJhY2FlZDA5M2ZiN2EyMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Q29uZmlndXJhdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXll
clByb3h5Q29uZmlndXJhdGlvbi5oCkBAIC0zMywxMiArMzMsMTAgQEAKIG5hbWVzcGFjZSBXZWJL
aXQgewogCiBzdHJ1Y3QgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eUNvbmZpZ3VyYXRpb24gewotICAg
IFN0cmluZyBtZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5OwogICAgIFN0cmluZyByZWZlcnJlcjsK
ICAgICBTdHJpbmcgdXNlckFnZW50OwogICAgIFN0cmluZyBzb3VyY2VBcHBsaWNhdGlvbklkZW50
aWZpZXI7CiAgICAgU3RyaW5nIG5ldHdvcmtJbnRlcmZhY2VOYW1lOwotICAgIFN0cmluZyBtZWRp
YUNhY2hlRGlyZWN0b3J5OwogICAgIFZlY3RvcjxXZWJDb3JlOjpDb250ZW50VHlwZT4gbWVkaWFD
b250ZW50VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnQ7CiAgICAgVmVjdG9yPFN0cmluZz4g
cHJlZmVycmVkQXVkaW9DaGFyYWN0ZXJpc3RpY3M7CiAgICAgdWludDY0X3QgbG9nSWRlbnRpZmll
ciB7IDAgfTsKQEAgLTQ4LDEyICs0NiwxMCBAQCBzdHJ1Y3QgUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eUNvbmZpZ3VyYXRpb24gewogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+CiAgICAgdm9pZCBl
bmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAgICB7Ci0gICAgICAgIGVuY29kZXIgPDwg
bWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeTsKICAgICAgICAgZW5jb2RlciA8PCByZWZlcnJlcjsK
ICAgICAgICAgZW5jb2RlciA8PCB1c2VyQWdlbnQ7CiAgICAgICAgIGVuY29kZXIgPDwgc291cmNl
QXBwbGljYXRpb25JZGVudGlmaWVyOwogICAgICAgICBlbmNvZGVyIDw8IG5ldHdvcmtJbnRlcmZh
Y2VOYW1lOwotICAgICAgICBlbmNvZGVyIDw8IG1lZGlhQ2FjaGVEaXJlY3Rvcnk7CiAgICAgICAg
IGVuY29kZXIgPDwgbWVkaWFDb250ZW50VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnQ7CiAg
ICAgICAgIGVuY29kZXIgPDwgcHJlZmVycmVkQXVkaW9DaGFyYWN0ZXJpc3RpY3M7CiAgICAgICAg
IGVuY29kZXIgPDwgbG9nSWRlbnRpZmllcjsKQEAgLTY0LDExICs2MCw2IEBAIHN0cnVjdCBSZW1v
dGVNZWRpYVBsYXllclByb3h5Q29uZmlndXJhdGlvbiB7CiAgICAgdGVtcGxhdGUgPGNsYXNzIERl
Y29kZXI+CiAgICAgc3RhdGljIE9wdGlvbmFsPFJlbW90ZU1lZGlhUGxheWVyUHJveHlDb25maWd1
cmF0aW9uPiBkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKICAgICB7Ci0gICAgICAgIE9wdGlvbmFs
PFN0cmluZz4gbWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeTsKLSAgICAgICAgZGVjb2RlciA+PiBt
ZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5OwotICAgICAgICBpZiAoIW1lZGlhS2V5c1N0b3JhZ2VE
aXJlY3RvcnkpCi0gICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotCiAgICAgICAgIE9w
dGlvbmFsPFN0cmluZz4gcmVmZXJyZXI7CiAgICAgICAgIGRlY29kZXIgPj4gcmVmZXJyZXI7CiAg
ICAgICAgIGlmICghcmVmZXJyZXIpCkBAIC04OSwxMSArODAsNiBAQCBzdHJ1Y3QgUmVtb3RlTWVk
aWFQbGF5ZXJQcm94eUNvbmZpZ3VyYXRpb24gewogICAgICAgICBpZiAoIW5ldHdvcmtJbnRlcmZh
Y2VOYW1lKQogICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIAotICAgICAgICBPcHRp
b25hbDxTdHJpbmc+IG1lZGlhQ2FjaGVEaXJlY3Rvcnk7Ci0gICAgICAgIGRlY29kZXIgPj4gbWVk
aWFDYWNoZURpcmVjdG9yeTsKLSAgICAgICAgaWYgKCFtZWRpYUNhY2hlRGlyZWN0b3J5KQotICAg
ICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLQogICAgICAgICBPcHRpb25hbDxWZWN0b3I8
V2ViQ29yZTo6Q29udGVudFR5cGU+PiBtZWRpYUNvbnRlbnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJl
U3VwcG9ydDsKICAgICAgICAgZGVjb2RlciA+PiBtZWRpYUNvbnRlbnRUeXBlc1JlcXVpcmluZ0hh
cmR3YXJlU3VwcG9ydDsKICAgICAgICAgaWYgKCFtZWRpYUNvbnRlbnRUeXBlc1JlcXVpcmluZ0hh
cmR3YXJlU3VwcG9ydCkKQEAgLTEyMCwxMiArMTA2LDEwIEBAIHN0cnVjdCBSZW1vdGVNZWRpYVBs
YXllclByb3h5Q29uZmlndXJhdGlvbiB7CiAgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0
OwogCiAgICAgICAgIHJldHVybiB7ewotICAgICAgICAgICAgV1RGTW92ZSgqbWVkaWFLZXlzU3Rv
cmFnZURpcmVjdG9yeSksCiAgICAgICAgICAgICBXVEZNb3ZlKCpyZWZlcnJlciksCiAgICAgICAg
ICAgICBXVEZNb3ZlKCp1c2VyQWdlbnQpLAogICAgICAgICAgICAgV1RGTW92ZSgqc291cmNlQXBw
bGljYXRpb25JZGVudGlmaWVyKSwKICAgICAgICAgICAgIFdURk1vdmUoKm5ldHdvcmtJbnRlcmZh
Y2VOYW1lKSwKLSAgICAgICAgICAgIFdURk1vdmUoKm1lZGlhQ2FjaGVEaXJlY3RvcnkpLAogICAg
ICAgICAgICAgV1RGTW92ZSgqbWVkaWFDb250ZW50VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBv
cnQpLAogICAgICAgICAgICAgV1RGTW92ZSgqcHJlZmVycmVkQXVkaW9DaGFyYWN0ZXJpc3RpY3Mp
LAogICAgICAgICAgICAgKmxvZ0lkZW50aWZpZXIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3BwCmluZGV4IGI5Zjg3MThmYzcxYjBjNzkwN2Q4ODIw
ODc1ZDdiNWY4ZGI4ZmFhN2YuLjRmZWM0ZWU5NGE3NDIyZGU2NDJlZWE5ZTQzOGI2ZTE2YTA3Y2U2
ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJv
eHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHku
Y3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5oIgogI2luY2x1ZGUgIkdQVVByb2Nlc3NNZXNzYWdlcy5oIgogI2luY2x1ZGUgIkdQVVBy
b2Nlc3NQcm94eU1lc3NhZ2VzLmgiCisjaW5jbHVkZSAiR1BVUHJvY2Vzc1Nlc3Npb25QYXJhbWV0
ZXJzLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIldlYlBhZ2VNZXNzYWdlcy5o
IgogI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgpAQCAtODIsNiArODMsOCBAQCBzdGF0aWMgaW5s
aW5lIGJvb2wgc2hvdWxkQ3JlYXRlTWljcm9waG9uZVNhbmRib3hFeHRlbnNpb24oKQogICAgIHJl
dHVybiB0cnVlOwogfQogCitHUFVQcm9jZXNzUHJveHkqIEdQVVByb2Nlc3NQcm94eTo6bV9zaW5n
bGV0b24gPSBudWxscHRyOworCiBHUFVQcm9jZXNzUHJveHkmIEdQVVByb2Nlc3NQcm94eTo6c2lu
Z2xldG9uKCkKIHsKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwpAQCAtMTEwLDYgKzEx
Myw4IEBAIEdQVVByb2Nlc3NQcm94eSYgR1BVUHJvY2Vzc1Byb3h5OjpzaW5nbGV0b24oKQogICAg
ICAgICAvLyBJbml0aWFsaXplIHRoZSBHUFUgcHJvY2Vzcy4KICAgICAgICAgZ3B1UHJvY2Vzcy0+
c2VuZChNZXNzYWdlczo6R1BVUHJvY2Vzczo6SW5pdGlhbGl6ZUdQVVByb2Nlc3MocGFyYW1ldGVy
cyksIDApOwogICAgICAgICBncHVQcm9jZXNzLT51cGRhdGVQcm9jZXNzQXNzZXJ0aW9uKCk7CisK
KyAgICAgICAgbV9zaW5nbGV0b24gPSAmZ3B1UHJvY2Vzcy5nZXQoKTsKICAgICB9KTsKIAogICAg
IHJldHVybiBncHVQcm9jZXNzLmdldCgpOwpAQCAtMTY2LDYgKzE3MSw4IEBAIHZvaWQgR1BVUHJv
Y2Vzc1Byb3h5OjpnZXRHUFVQcm9jZXNzQ29ubmVjdGlvbihXZWJQcm9jZXNzUHJveHkmIHdlYlBy
b2Nlc3NQcm94eSwKIAogdm9pZCBHUFVQcm9jZXNzUHJveHk6Om9wZW5HUFVQcm9jZXNzQ29ubmVj
dGlvbihDb25uZWN0aW9uUmVxdWVzdElkZW50aWZpZXIgY29ubmVjdGlvblJlcXVlc3RJZGVudGlm
aWVyLCBXZWJQcm9jZXNzUHJveHkmIHdlYlByb2Nlc3NQcm94eSkKIHsKKyAgICBhZGRTZXNzaW9u
KHdlYlByb2Nlc3NQcm94eS53ZWJzaXRlRGF0YVN0b3JlKCkpOworCiAgICAgYXV0byYgY29ubmVj
dGlvbiA9ICp0aGlzLT5jb25uZWN0aW9uKCk7CiAKICAgICBjb25uZWN0aW9uLnNlbmRXaXRoQXN5
bmNSZXBseShNZXNzYWdlczo6R1BVUHJvY2Vzczo6Q3JlYXRlR1BVQ29ubmVjdGlvblRvV2ViUHJv
Y2VzcyB7IHdlYlByb2Nlc3NQcm94eS5jb3JlUHJvY2Vzc0lkZW50aWZpZXIoKSwgd2ViUHJvY2Vz
c1Byb3h5LnNlc3Npb25JRCgpIH0sIFt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKHRoaXMp
LCB3ZWJQcm9jZXNzUHJveHkgPSBtYWtlV2Vha1B0cih3ZWJQcm9jZXNzUHJveHkpLCBjb25uZWN0
aW9uUmVxdWVzdElkZW50aWZpZXJdKGF1dG8mJiBjb25uZWN0aW9uSWRlbnRpZmllcikgbXV0YWJs
ZSB7CkBAIC0yNjgsNiArMjc1LDQ2IEBAIHZvaWQgR1BVUHJvY2Vzc1Byb3h5Ojp1cGRhdGVQcm9j
ZXNzQXNzZXJ0aW9uKCkKICAgICBtX2FjdGl2aXR5RnJvbVdlYlByb2Nlc3NlcyA9IG51bGxwdHI7
CiB9CiAKK3N0YXRpYyBpbmxpbmUgR1BVUHJvY2Vzc1Nlc3Npb25QYXJhbWV0ZXJzIGdwdVByb2Nl
c3NTZXNzaW9uUGFyYW1ldGVycyhjb25zdCBXZWJzaXRlRGF0YVN0b3JlJiBzdG9yZSkKK3sKKyAg
ICBHUFVQcm9jZXNzU2Vzc2lvblBhcmFtZXRlcnMgcGFyYW1ldGVyczsKKworICAgIHBhcmFtZXRl
cnMubWVkaWFDYWNoZURpcmVjdG9yeSA9IHN0b3JlLnJlc29sdmVkTWVkaWFDYWNoZURpcmVjdG9y
eSgpOworICAgIFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBtZWRpYUNhY2hlRGlyZWN0b3J5RXh0
ZW5zaW9uSGFuZGxlOworICAgIGlmICghcGFyYW1ldGVycy5tZWRpYUNhY2hlRGlyZWN0b3J5Lmlz
RW1wdHkoKSkKKyAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlV2l0aG91dFJl
c29sdmluZ1BhdGgocGFyYW1ldGVycy5tZWRpYUNhY2hlRGlyZWN0b3J5LCBTYW5kYm94RXh0ZW5z
aW9uOjpUeXBlOjpSZWFkV3JpdGUsIHBhcmFtZXRlcnMubWVkaWFDYWNoZURpcmVjdG9yeVNhbmRi
b3hFeHRlbnNpb25IYW5kbGUpOworCisjaWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEp
CisgICAgcGFyYW1ldGVycy5tZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5ID0gc3RvcmUucmVzb2x2
ZWRNZWRpYUtleXNEaXJlY3RvcnkoKTsKKyAgICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgbWVk
aWFLZXlzU3RvcmFnZURpcmVjdG9yeVNhbmRib3hFeHRlbnNpb25IYW5kbGU7CisgICAgaWYgKCFw
YXJhbWV0ZXJzLm1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkuaXNFbXB0eSgpKQorICAgICAgICBT
YW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVXaXRob3V0UmVzb2x2aW5nUGF0aChwYXJhbWV0
ZXJzLm1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnksIFNhbmRib3hFeHRlbnNpb246OlR5cGU6OlJl
YWRXcml0ZSwgcGFyYW1ldGVycy5tZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5U2FuZGJveEV4dGVu
c2lvbkhhbmRsZSk7CisjZW5kaWYKKworICAgIHJldHVybiBwYXJhbWV0ZXJzOworfQorCit2b2lk
IEdQVVByb2Nlc3NQcm94eTo6YWRkU2Vzc2lvbihjb25zdCBXZWJzaXRlRGF0YVN0b3JlJiBzdG9y
ZSkKK3sKKyAgICBpZiAoIWNhblNlbmRNZXNzYWdlKCkpCisgICAgICAgIHJldHVybjsKKworICAg
IGlmIChtX3Nlc3Npb25JRHMuY29udGFpbnMoc3RvcmUuc2Vzc2lvbklEKCkpKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBzZW5kKE1lc3NhZ2VzOjpHUFVQcm9jZXNzOjpBZGRTZXNzaW9uIHsgc3Rv
cmUuc2Vzc2lvbklEKCksIGdwdVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVycyhzdG9yZSkgfSwgMCk7
CisgICAgbV9zZXNzaW9uSURzLmFkZChzdG9yZS5zZXNzaW9uSUQoKSk7Cit9CisKK3ZvaWQgR1BV
UHJvY2Vzc1Byb3h5OjpyZW1vdmVTZXNzaW9uKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkKK3sK
KyAgICBpZiAoIWNhblNlbmRNZXNzYWdlKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICht
X3Nlc3Npb25JRHMucmVtb3ZlKHNlc3Npb25JRCkpCisgICAgICAgIHNlbmQoTWVzc2FnZXM6OkdQ
VVByb2Nlc3M6OlJlbW92ZVNlc3Npb24geyBzZXNzaW9uSUQgfSwgMCk7Cit9CisKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdAogCiAjdW5kZWYgTUVTU0FHRV9DSEVDSwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5oCmluZGV4IDBjMjQxOWQ4MWM5YzQ3NzYyNGJk
Njg4NGVhMzFiMDVmZTVmNjUzODAuLmJjNTc2MmNmZjc1NWJiNzhiZTRjNWFkOTE1MTdhNTNlNGVm
NzAzM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNz
UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5
LmgKQEAgLTM1LDEwICszNSwxMiBAQAogI2luY2x1ZGUgIldlYlBhZ2VQcm94eUlkZW50aWZpZXIu
aCIKICNpbmNsdWRlICJXZWJQcm9jZXNzUHJveHlNZXNzYWdlc1JlcGxpZXMuaCIKICNpbmNsdWRl
IDxtZW1vcnk+CisjaW5jbHVkZSA8cGFsL1Nlc3Npb25JRC5oPgogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKIAogY2xhc3MgV2ViUHJvY2Vzc1Byb3h5OworY2xhc3MgV2Vic2l0ZURhdGFTdG9yZTsKIHN0
cnVjdCBHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOwogCiBjbGFzcyBHUFVQcm9jZXNzUHJv
eHkgZmluYWwgOiBwdWJsaWMgQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5LCBwcml2YXRlIFByb2Nlc3NU
aHJvdHRsZXJDbGllbnQsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxHUFVQcm9jZXNzUHJveHk+IHsK
QEAgLTQ3LDYgKzQ5LDcgQEAgY2xhc3MgR1BVUHJvY2Vzc1Byb3h5IGZpbmFsIDogcHVibGljIEF1
eGlsaWFyeVByb2Nlc3NQcm94eSwgcHJpdmF0ZSBQcm9jZXNzVGhyb3QKICAgICBmcmllbmQgTGF6
eU5ldmVyRGVzdHJveWVkPEdQVVByb2Nlc3NQcm94eT47CiBwdWJsaWM6CiAgICAgc3RhdGljIEdQ
VVByb2Nlc3NQcm94eSYgc2luZ2xldG9uKCk7CisgICAgc3RhdGljIEdQVVByb2Nlc3NQcm94eSog
c2luZ2xldG9uSWZDcmVhdGVkKCkgeyByZXR1cm4gbV9zaW5nbGV0b247IH0KIAogICAgIHZvaWQg
Z2V0R1BVUHJvY2Vzc0Nvbm5lY3Rpb24oV2ViUHJvY2Vzc1Byb3h5JiwgTWVzc2FnZXM6OldlYlBy
b2Nlc3NQcm94eTo6R2V0R1BVUHJvY2Vzc0Nvbm5lY3Rpb25EZWxheWVkUmVwbHkmJik7CiAKQEAg
LTYwLDEwICs2MywxNCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRVc2VNb2NrQ2FwdHVyZURldmlj
ZXMoYm9vbCk7CiAjZW5kaWYKIAorICAgIHZvaWQgcmVtb3ZlU2Vzc2lvbihQQUw6OlNlc3Npb25J
RCk7CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgR1BVUHJvY2Vzc1Byb3h5KCk7CiAgICAgfkdQ
VVByb2Nlc3NQcm94eSgpOwogCisgICAgdm9pZCBhZGRTZXNzaW9uKGNvbnN0IFdlYnNpdGVEYXRh
U3RvcmUmKTsKKwogICAgIC8vIEF1eGlsaWFyeVByb2Nlc3NQcm94eQogICAgIEFTQ0lJTGl0ZXJh
bCBwcm9jZXNzTmFtZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICJHUFUiX3M7IH0KIApAQCAtODcs
NiArOTQsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9uJikg
b3ZlcnJpZGU7CiAgICAgdm9pZCBkaWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UoSVBDOjpDb25uZWN0
aW9uJiwgSVBDOjpTdHJpbmdSZWZlcmVuY2UgbWVzc2FnZVJlY2VpdmVyTmFtZSwgSVBDOjpTdHJp
bmdSZWZlcmVuY2UgbWVzc2FnZU5hbWUpIG92ZXJyaWRlOwogCisgICAgc3RhdGljIEdQVVByb2Nl
c3NQcm94eSogbV9zaW5nbGV0b247CisKICAgICBzdHJ1Y3QgQ29ubmVjdGlvblJlcXVlc3Qgewog
ICAgICAgICBXZWFrUHRyPFdlYlByb2Nlc3NQcm94eT4gd2ViUHJvY2VzczsKICAgICAgICAgTWVz
c2FnZXM6OldlYlByb2Nlc3NQcm94eTo6R2V0R1BVUHJvY2Vzc0Nvbm5lY3Rpb25EZWxheWVkUmVw
bHkgcmVwbHk7CkBAIC05OSw2ICsxMDgsNyBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pCiAgICAgYm9vbCBtX3VzZU1vY2tDYXB0dXJlRGV2aWNlcyB7IGZhbHNlIH07CiAjZW5k
aWYKKyAgICBIYXNoU2V0PFBBTDo6U2Vzc2lvbklEPiBtX3Nlc3Npb25JRHM7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKaW5kZXggNGU4NTJhMWFiMGQ0NWEwYzcy
YzBjMjc3OGViMDZlMDU5YjhjNjQwNi4uZTYwYzI2NTdkOGY4MTViYWNiOTY2NzE2MmQ3MDQyZTdi
YzczMWIyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEv
V2Vic2l0ZURhdGFTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0
ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKQEAgLTEzNCw2ICsxMzQsOCBAQCBXZWJzaXRlRGF0
YVN0b3JlOjp+V2Vic2l0ZURhdGFTdG9yZSgpCiAgICAgICAgICAgICBpZiAoYXV0byogbmV0d29y
a1Byb2Nlc3MgPSBwcm9jZXNzUG9vbC0+bmV0d29ya1Byb2Nlc3MoKSkKICAgICAgICAgICAgICAg
ICBuZXR3b3JrUHJvY2Vzcy0+cmVtb3ZlU2Vzc2lvbihtX3Nlc3Npb25JRCk7CiAgICAgICAgIH0K
KyAgICAgICAgaWYgKGF1dG8qIGdwdVByb2Nlc3NQcm94eSA9IEdQVVByb2Nlc3NQcm94eTo6c2lu
Z2xldG9uSWZDcmVhdGVkKCkpCisgICAgICAgICAgICBncHVQcm9jZXNzUHJveHktPnJlbW92ZVNl
c3Npb24obV9zZXNzaW9uSUQpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNzY5N2M0YzU4ZDQ3MmM2NGM2YmI5MGM0
Y2RkZTZjZDVjNmU1OWJjYS4uYmU2NDIyMDQ3NzVlMjU1NWNjYmE1ZmRlOWY4ZTRhZTgzNTVlZGRk
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC0zMzQ5LDYgKzMzNDksNyBAQAogCQk0MTNDQ0Q0RjIwREVCQzJGMDA2NUEyMUEgLyogY29t
Lmdvb2dsZS5nb29nbGV0YWxrYnJvd3NlcnBsdWdpbi5zYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBjb20uZ29vZ2xlLmdvb2dsZXRhbGticm93c2VycGx1Z2luLnNiOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0MTQzNzUxQjIwRUFFQTFFMDBGQUQwNkMgLyogY24ubWljcm9kb25lLmNt
Yi5zYWZhcmkuc2IgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gY24ubWljcm9kb25lLmNtYi5zYWZh
cmkuc2I7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNEREMzc4MjBCRjQzRUEwMDY5
NTlGQiAvKiBjb20uY2lzY28ud2ViZXgucGx1Z2luLmdwYzY0LnNiICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IGNvbS5jaXNjby53ZWJleC5wbHVnaW4uZ3BjNjQuc2I7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTQxNTBBNUEwMjNFMDZDOTEwMDUxMjY0QSAvKiBHUFVQcm9jZXNzU2Vzc2lv
blBhcmFtZXRlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVUHJvY2Vz
c1Nlc3Npb25QYXJhbWV0ZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNTE4
NTM1MjIyNzA0RjUwMDU0MzBDNiAvKiBTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNlcnZpY2VXb3JrZXJGZXRjaFRhc2suaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE1MTg1MzYyMjI3MDRGNjAwNTQzMEM2IC8qIFNlcnZp
Y2VXb3JrZXJGZXRjaFRhc2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gU2VydmljZVdvcmtlckZldGNoVGFzay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQxNTE4NTM4MjIyNzBGNTMwMDU0MzBDNiAvKiBTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrLm1l
c3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFNlcnZpY2VXb3JrZXJGZXRjaFRhc2su
bWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02NTA2LDYgKzY1MDcs
NyBAQAogCQkJCTJEOUZCMjAyMjM3NTIwOUQwMDQ5RjkzNiAvKiBHUFVQcm9jZXNzLm1lc3NhZ2Vz
LmluICovLAogCQkJCTJEOUZCMjE0MjM3NTIwOUQwMDQ5RjkzNiAvKiBHUFVQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzLmNwcCAqLywKIAkJCQkyRDlGQjIwMzIzNzUyMDlEMDA0OUY5MzYgLyogR1BV
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oICovLAorCQkJCTQxNTBBNUEwMjNFMDZDOTEwMDUx
MjY0QSAvKiBHUFVQcm9jZXNzU2Vzc2lvblBhcmFtZXRlcnMuaCAqLywKIAkJCSk7CiAJCQlwYXRo
ID0gR1BVUHJvY2VzczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxh
eWVyTWFuYWdlci5jcHAKaW5kZXggZWQ4ZmQwMjA4ZDZjOWJhNjYyY2Y5N2Q1ZGZlZDQzNzAxNjMw
ZmNmNS4uOGYwNTM3NjgzNzhlYjA1Y2VkMzIxZmZjZjExOTIzYjU5ZWVmYzMyYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1h
bmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3Rl
TWVkaWFQbGF5ZXJNYW5hZ2VyLmNwcApAQCAtMTQ3LDE2ICsxNDcsMTIgQEAgc3RkOjp1bmlxdWVf
cHRyPE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZT4gUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2Vy
OjpjcmVhdGVSZW0KICAgICBhdXRvIGlkID0gTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRp
Zmllcjo6Z2VuZXJhdGUoKTsKIAogICAgIFJlbW90ZU1lZGlhUGxheWVyUHJveHlDb25maWd1cmF0
aW9uIHByb3h5Q29uZmlndXJhdGlvbjsKLSNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJ
QSkKLSAgICBwcm94eUNvbmZpZ3VyYXRpb24ubWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSA9IHBs
YXllci0+bWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSgpOwotI2VuZGlmCiAgICAgcHJveHlDb25m
aWd1cmF0aW9uLnJlZmVycmVyID0gcGxheWVyLT5yZWZlcnJlcigpOwogICAgIHByb3h5Q29uZmln
dXJhdGlvbi51c2VyQWdlbnQgPSBwbGF5ZXItPnVzZXJBZ2VudCgpOwogICAgIHByb3h5Q29uZmln
dXJhdGlvbi5zb3VyY2VBcHBsaWNhdGlvbklkZW50aWZpZXIgPSBwbGF5ZXItPnNvdXJjZUFwcGxp
Y2F0aW9uSWRlbnRpZmllcigpOwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgcHJveHlD
b25maWd1cmF0aW9uLm5ldHdvcmtJbnRlcmZhY2VOYW1lID0gcGxheWVyLT5tZWRpYVBsYXllck5l
dHdvcmtJbnRlcmZhY2VOYW1lKCk7CiAjZW5kaWYKLSAgICBwcm94eUNvbmZpZ3VyYXRpb24ubWVk
aWFDYWNoZURpcmVjdG9yeSA9IHBsYXllci0+bWVkaWFDYWNoZURpcmVjdG9yeSgpOwogICAgIHBy
b3h5Q29uZmlndXJhdGlvbi5tZWRpYUNvbnRlbnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJlU3VwcG9y
dCA9IHBsYXllci0+bWVkaWFDb250ZW50VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnQoKTsK
ICAgICBwcm94eUNvbmZpZ3VyYXRpb24ucHJlZmVycmVkQXVkaW9DaGFyYWN0ZXJpc3RpY3MgPSBw
bGF5ZXItPnByZWZlcnJlZEF1ZGlvQ2hhcmFjdGVyaXN0aWNzKCk7CiAgICAgcHJveHlDb25maWd1
cmF0aW9uLmxvZ0lkZW50aWZpZXIgPSByZWludGVycHJldF9jYXN0PHVpbnQ2NF90PihwbGF5ZXIt
Pm1lZGlhUGxheWVyTG9nSWRlbnRpZmllcigpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388988</attachid>
            <date>2020-01-28 06:46:37 -0800</date>
            <delta_ts>2020-01-28 08:02:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206870-20200128154636.patch</filename>
            <type>text/plain</type>
            <size>28299</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MjI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGZjNjE4NTRkNDdkNGM0YTAw
ZjY5YTQ0ZDI0YjY1NDYzM2YxOWE4MzIuLjVmNGYzZmM1ZDc5ODRjYjIyNWU5YmU0NmIzNWU1ODJh
OWMwZmM1MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDggQEAKKzIwMjAtMDEtMjggIHlvdWVubiBm
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFNlbmQgV2Vic2l0ZURhdGFTdG9y
ZSBtZWRpYSBwYXJhbWV0ZXJzIHRvIEdQVVByb2Nlc3Mgd2hlbiBuZWVkZWQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjg3MAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW5ldmVyIG9wZW5pbmcgYSBu
ZXcgV2ViUHJvY2Vzcy9HUFVQcm9jZXNzIGNvbm5lY3Rpb24sIG1ha2Ugc3VyZSBHUFVQcm9jZXNz
IGtub3dzIFdlYlByb2Nlc3Mgc2Vzc2lvbiBwYXJhbWV0ZXJzLgorICAgICAgICBNYWtlIHN1cmUg
dG8gcmVtb3ZlIHNlc3Npb24gcGFyYW1ldGVycyB3aGVuIGRhdGEgc3RvcmUgaXMgZGVzdHJveWVk
LgorICAgICAgICBVcGRhdGUgbWVkaWEgY29kZSB0byBubyBsb25nZXIgc2VuZCB0aGUgY29ycmVz
cG9uZGluZyBwYXJhbWV0ZXJzIGZvciBlYWNoIG1lZGlhIGxvYWQuCisKKyAgICAgICAgQ292ZXJl
ZCBieSBleGlzdGluZyB0ZXN0cyBubyBsb25nZXIgdHJpZ2dlcmluZyBzYW5kYm94IHZpb2xhdGlv
bnMuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjptZWRpYUNhY2hl
RGlyZWN0b3J5IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6R1BVQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzczo6bWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSBjb25zdCk6CisgICAgICAgICogR1BVUHJv
Y2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9H
UFVQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vzczo6YWRkU2Vzc2lvbik6
CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3M6OnJlbW92ZVNlc3Npb24pOgorICAgICAgICAo
V2ViS2l0OjpHUFVQcm9jZXNzOjptZWRpYUNhY2hlRGlyZWN0b3J5IGNvbnN0KToKKyAgICAgICAg
KFdlYktpdDo6R1BVUHJvY2Vzczo6bWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSBjb25zdCk6Cisg
ICAgICAgICogR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9H
UFVQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVy
UHJveHk6OmxvYWQpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5Ojpt
ZWRpYVBsYXllck1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkgY29uc3QpOgorICAgICAgICAoV2Vi
S2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllck1lZGlhQ2FjaGVEaXJlY3Rv
cnkgY29uc3QpOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eS5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eUNvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94
eUNvbmZpZ3VyYXRpb246OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1l
ZGlhUGxheWVyUHJveHlDb25maWd1cmF0aW9uOjpkZWNvZGUpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vzc1By
b3h5OjpzaW5nbGV0b24pOgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzUHJveHk6Om9wZW5H
UFVQcm9jZXNzQ29ubmVjdGlvbik6CisgICAgICAgIChXZWJLaXQ6OmdwdVByb2Nlc3NTZXNzaW9u
UGFyYW1ldGVycyk6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6YWRkU2Vzc2lv
bik6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6cmVtb3ZlU2Vzc2lvbik6Cisg
ICAgICAgICogVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYnNpdGVEYXRhU3RvcmU6On5XZWJzaXRlRGF0YVN0b3JlKToKKyAgICAgICAgKiBXZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRp
YS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVN
ZWRpYVBsYXllck1hbmFnZXI6OmNyZWF0ZVJlbW90ZU1lZGlhUGxheWVyKToKKwogMjAyMC0wMS0y
NyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdS
RVNTSU9OIChyMjUzNjM0KTogY3JpY2J1enouY29tIG1lZGlhIGNvbnRyb2xzIHZhbmlzaCBkZXBl
bmRpbmcgb24gcGFnZSBzY2FsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCmluZGV4IGMwOTQ4ZDA5OTViOTZjYjUzZTUz
ZjRhN2FjZTNmMzg2Y2I1MTM4ZWMuLmE2Y2VlNTRjOTdjOTIxNWE2ODczZjRkY2IxMmJkZTQ3YzFk
YzQwZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9u
VG9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVj
dGlvblRvV2ViUHJvY2Vzcy5jcHAKQEAgLTI2MSw2ICsyNjEsMTggQEAgdm9pZCBHUFVDb25uZWN0
aW9uVG9XZWJQcm9jZXNzOjpkaWRSZWNlaXZlU3luY01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBj
b25uZWN0aW8KICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAorY29uc3QgU3RyaW5nJiBH
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjptZWRpYUNhY2hlRGlyZWN0b3J5KCkgY29uc3QKK3sK
KyAgICByZXR1cm4gbV9ncHVQcm9jZXNzLT5tZWRpYUNhY2hlRGlyZWN0b3J5KG1fc2Vzc2lvbklE
KTsKK30KKworI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQorY29uc3QgU3RyaW5n
JiBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjptZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gbV9ncHVQcm9jZXNzLT5tZWRpYUtleXNTdG9yYWdlRGlyZWN0
b3J5KG1fc2Vzc2lvbklEKTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAog
I2VuZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VTUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCmluZGV4IGI5OGQ2MmYwNjIxNDk2
ODZhYWI0ZjAwNWM4NTNkY2M2NGNmN2YyYzkuLjJiOWJkMWY4ODdiYWRhZmE0ZWE1YzRiYTM0MTY5
ZDhiOTc4ZmQ2MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MuaApAQCAtNjUsNiArNjUsMTEgQEAgcHVibGljOgogCiAgICAg
TG9nZ2VyJiBsb2dnZXIoKTsKIAorICAgIGNvbnN0IFN0cmluZyYgbWVkaWFDYWNoZURpcmVjdG9y
eSgpIGNvbnN0OworI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQorICAgIGNvbnN0
IFN0cmluZyYgbWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSgpIGNvbnN0OworI2VuZGlmCisKIHBy
aXZhdGU6CiAgICAgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhHUFVQcm9jZXNzJiwgV2ViQ29y
ZTo6UHJvY2Vzc0lkZW50aWZpZXIsIElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciwgUEFMOjpT
ZXNzaW9uSUQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJv
Y2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAKaW5kZXgg
ODYxNjJlMWM4YjEyOWU4YTBmYjAwYWU4NjRkMjNiMzczMDkxZTZjOC4uOGZiZTdjMjcyOTY1YTk0
ZWE0YjU5ZmViMzJlZTNjZTFlMGE2MzQ5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL0dQVVByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQ
cm9jZXNzLmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIK
ICNpbmNsdWRlICJHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCiAjaW5jbHVkZSAiR1BVUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgorI2luY2x1ZGUgIkdQVVByb2Nlc3NTZXNzaW9uUGFy
YW1ldGVycy5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJTYW5kYm94RXh0ZW5z
aW9uLmgiCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5TWVzc2FnZXMuaCIKQEAgLTE1Niw2ICsxNTcs
NDIgQEAgdm9pZCBHUFVQcm9jZXNzOjpzZXRNb2NrQ2FwdHVyZURldmljZXNFbmFibGVkKGJvb2wg
aXNFbmFibGVkKQogI2VuZGlmCiB9CiAKK3ZvaWQgR1BVUHJvY2Vzczo6YWRkU2Vzc2lvbihQQUw6
OlNlc3Npb25JRCBzZXNzaW9uSUQsIEdQVVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVycyYmIHBhcmFt
ZXRlcnMpCit7CisgICAgQVNTRVJUKCFtX3Nlc3Npb25zLmNvbnRhaW5zKHNlc3Npb25JRCkpOwor
ICAgIFNhbmRib3hFeHRlbnNpb246OmNvbnN1bWVQZXJtYW5lbnRseShwYXJhbWV0ZXJzLm1lZGlh
Q2FjaGVEaXJlY3RvcnlTYW5kYm94RXh0ZW5zaW9uSGFuZGxlKTsKKyNpZiBFTkFCTEUoTEVHQUNZ
X0VOQ1JZUFRFRF9NRURJQSkKKyAgICBTYW5kYm94RXh0ZW5zaW9uOjpjb25zdW1lUGVybWFuZW50
bHkocGFyYW1ldGVycy5tZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5U2FuZGJveEV4dGVuc2lvbkhh
bmRsZSk7CisjZW5kaWYKKworICAgIG1fc2Vzc2lvbnMuYWRkKHNlc3Npb25JRCwgR1BVU2Vzc2lv
biB7CisgICAgICAgIFdURk1vdmUocGFyYW1ldGVycy5tZWRpYUNhY2hlRGlyZWN0b3J5KQorI2lm
IEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQorICAgICAgICAsIFdURk1vdmUocGFyYW1l
dGVycy5tZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KQorI2VuZGlmCisgICAgfSk7Cit9CisKK3Zv
aWQgR1BVUHJvY2Vzczo6cmVtb3ZlU2Vzc2lvbihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCit7
CisgICAgQVNTRVJUKG1fc2Vzc2lvbnMuY29udGFpbnMoc2Vzc2lvbklEKSk7CisgICAgbV9zZXNz
aW9ucy5yZW1vdmUoc2Vzc2lvbklEKTsKK30KKworY29uc3QgU3RyaW5nJiBHUFVQcm9jZXNzOjpt
ZWRpYUNhY2hlRGlyZWN0b3J5KFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkgY29uc3QKK3sKKyAg
ICBBU1NFUlQobV9zZXNzaW9ucy5jb250YWlucyhzZXNzaW9uSUQpKTsKKyAgICByZXR1cm4gbV9z
ZXNzaW9ucy5maW5kKHNlc3Npb25JRCktPnZhbHVlLm1lZGlhQ2FjaGVEaXJlY3Rvcnk7Cit9CisK
KyNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKK2NvbnN0IFN0cmluZyYgR1BVUHJv
Y2Vzczo6bWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQp
IGNvbnN0Cit7CisgICAgQVNTRVJUKG1fc2Vzc2lvbnMuY29udGFpbnMoc2Vzc2lvbklEKSk7Cisg
ICAgcmV0dXJuIG1fc2Vzc2lvbnMuZmluZChzZXNzaW9uSUQpLT52YWx1ZS5tZWRpYUtleXNTdG9y
YWdlRGlyZWN0b3J5OworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5k
aWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL0dQVVByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNz
LmgKaW5kZXggYWUyMGJmOTRhMTE1MzU4ZGE1MWVkYjVhYzMxOWM0MTNhNTlkNTQ4NC4uZmEyMWFl
MDIxZDMwNWI2MzQ5Njg4ZTdlNGFjOTliNGUzMzM4YjJkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvR1BVUHJvY2Vzcy5oCkBAIC0zOCw2ICszOCw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBj
bGFzcyBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOwogc3RydWN0IEdQVVByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnM7CitzdHJ1Y3QgR1BVUHJvY2Vzc1Nlc3Npb25QYXJhbWV0ZXJzOwogCiBjbGFz
cyBHUFVQcm9jZXNzIDogcHVibGljIEF1eGlsaWFyeVByb2Nlc3MsIHB1YmxpYyBUaHJlYWRTYWZl
UmVmQ291bnRlZDxHUFVQcm9jZXNzPiwgcHVibGljIENhbk1ha2VXZWFrUHRyPEdQVVByb2Nlc3M+
IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHUFVQcm9jZXNzKTsKQEAgLTU2LDYgKzU3LDEx
IEBAIHB1YmxpYzoKIAogICAgIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MqIHdlYlByb2Nlc3ND
b25uZWN0aW9uKFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyKSBjb25zdDsKIAorICAgIGNvbnN0
IFN0cmluZyYgbWVkaWFDYWNoZURpcmVjdG9yeShQQUw6OlNlc3Npb25JRCkgY29uc3Q7CisjaWYg
RU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpCisgICAgY29uc3QgU3RyaW5nJiBtZWRpYUtl
eXNTdG9yYWdlRGlyZWN0b3J5KFBBTDo6U2Vzc2lvbklEKSBjb25zdDsKKyNlbmRpZgorCiBwcml2
YXRlOgogICAgIHZvaWQgbG93TWVtb3J5SGFuZGxlcihDcml0aWNhbCk7CiAKQEAgLTcyLDYgKzc4
LDggQEAgcHJpdmF0ZToKICAgICAvLyBNZXNzYWdlIEhhbmRsZXJzCiAgICAgdm9pZCBpbml0aWFs
aXplR1BVUHJvY2VzcyhHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiYpOwogICAgIHZvaWQg
Y3JlYXRlR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmll
ciwgUEFMOjpTZXNzaW9uSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8SVBDOjpB
dHRhY2htZW50PiYmKT4mJik7CisgICAgdm9pZCBhZGRTZXNzaW9uKFBBTDo6U2Vzc2lvbklELCBH
UFVQcm9jZXNzU2Vzc2lvblBhcmFtZXRlcnMmJik7CisgICAgdm9pZCByZW1vdmVTZXNzaW9uKFBB
TDo6U2Vzc2lvbklEKTsKIAogICAgIHZvaWQgcHJvY2Vzc0RpZFRyYW5zaXRpb25Ub0ZvcmVncm91
bmQoKTsKICAgICB2b2lkIHByb2Nlc3NEaWRUcmFuc2l0aW9uVG9CYWNrZ3JvdW5kKCk7CkBAIC03
OSw2ICs4NywxNCBAQCBwcml2YXRlOgogCiAgICAgLy8gQ29ubmVjdGlvbnMgdG8gV2ViUHJvY2Vz
c2VzLgogICAgIEhhc2hNYXA8V2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIsIFJlZjxHUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzPj4gbV93ZWJQcm9jZXNzQ29ubmVjdGlvbnM7CisKKyAgICBzdHJ1
Y3QgR1BVU2Vzc2lvbiB7CisgICAgICAgIFN0cmluZyBtZWRpYUNhY2hlRGlyZWN0b3J5OworI2lm
IEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQorICAgICAgICBTdHJpbmcgbWVkaWFLZXlz
U3RvcmFnZURpcmVjdG9yeTsKKyNlbmRpZgorICAgIH07CisgICAgSGFzaE1hcDxQQUw6OlNlc3Np
b25JRCwgR1BVU2Vzc2lvbj4gbV9zZXNzaW9uczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MubWVzc2Fn
ZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgpp
bmRleCBmYmE2N2VkM2IyZmE2MGRlNTQyODAwM2M0YzExZThiYmFlODk2ODZhLi40ZDc3OTliZmM0
NDk5NDE4YmFkYWQ2YTcwNjI2ODI3ODlkYzllYTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtMzIsNiArMzIsOSBAQCBtZXNzYWdl
cyAtPiBHUFVQcm9jZXNzIHsKICAgICBQcm9jZXNzRGlkVHJhbnNpdGlvblRvRm9yZWdyb3VuZCgp
CiAgICAgUHJvY2Vzc0RpZFRyYW5zaXRpb25Ub0JhY2tncm91bmQoKQogCisgICAgQWRkU2Vzc2lv
bihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIHN0cnVjdCBXZWJLaXQ6OkdQVVByb2Nlc3NTZXNz
aW9uUGFyYW1ldGVycyBwYXJhbWV0ZXJzKQorICAgIFJlbW92ZVNlc3Npb24oUEFMOjpTZXNzaW9u
SUQgc2Vzc2lvbklEKQorCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICBTZXRNb2NrQ2Fw
dHVyZURldmljZXNFbmFibGVkKGJvb2wgaXNFbmFibGVkKQogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc1Nlc3Npb25QYXJhbWV0ZXJzLmggYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc1Nlc3Npb25QYXJhbWV0ZXJzLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYzYzNmNlMWM0ODM5Mjc0Y2ZiZDAwNDFiODBjMWMwYmNmMjM1YTFhYwotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzU2Vzc2lvblBh
cmFtZXRlcnMuaApAQCAtMCwwICsxLDkyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCisKKyNpbmNsdWRlICJTYW5kYm94RXh0ZW5zaW9uLmgi
CisjaW5jbHVkZSA8V2ViQ29yZS9Db250ZW50VHlwZS5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworc3RydWN0IEdQVVByb2Nlc3NTZXNz
aW9uUGFyYW1ldGVycyB7CisgICAgU3RyaW5nIG1lZGlhQ2FjaGVEaXJlY3Rvcnk7CisgICAgU2Fu
ZGJveEV4dGVuc2lvbjo6SGFuZGxlIG1lZGlhQ2FjaGVEaXJlY3RvcnlTYW5kYm94RXh0ZW5zaW9u
SGFuZGxlOworCisjaWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpCisgICAgU3RyaW5n
IG1lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rvcnk7CisgICAgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxl
IG1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnlTYW5kYm94RXh0ZW5zaW9uSGFuZGxlOworI2VuZGlm
CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgorICAgIHZvaWQgZW5jb2RlKEVuY29kZXIm
IGVuY29kZXIpIGNvbnN0CisgICAgeworICAgICAgICBlbmNvZGVyIDw8IG1lZGlhQ2FjaGVEaXJl
Y3RvcnkgPDwgbWVkaWFDYWNoZURpcmVjdG9yeVNhbmRib3hFeHRlbnNpb25IYW5kbGU7CisjaWYg
RU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpCisgICAgICAgIGVuY29kZXIgPDwgbWVkaWFL
ZXlzU3RvcmFnZURpcmVjdG9yeSA8PCBtZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5U2FuZGJveEV4
dGVuc2lvbkhhbmRsZTsKKyNlbmRpZgorICAgIH0KKworICAgIHRlbXBsYXRlIDxjbGFzcyBEZWNv
ZGVyPgorICAgIHN0YXRpYyBPcHRpb25hbDxHUFVQcm9jZXNzU2Vzc2lvblBhcmFtZXRlcnM+IGRl
Y29kZShEZWNvZGVyJiBkZWNvZGVyKQorICAgIHsKKyAgICAgICAgT3B0aW9uYWw8U3RyaW5nPiBt
ZWRpYUNhY2hlRGlyZWN0b3J5OworICAgICAgICBkZWNvZGVyID4+IG1lZGlhQ2FjaGVEaXJlY3Rv
cnk7CisgICAgICAgIGlmICghbWVkaWFDYWNoZURpcmVjdG9yeSkKKyAgICAgICAgICAgIHJldHVy
biBXVEY6Om51bGxvcHQ7CisKKyAgICAgICAgT3B0aW9uYWw8U2FuZGJveEV4dGVuc2lvbjo6SGFu
ZGxlPiBtZWRpYUNhY2hlRGlyZWN0b3J5U2FuZGJveEV4dGVuc2lvbkhhbmRsZTsKKyAgICAgICAg
ZGVjb2RlciA+PiBtZWRpYUNhY2hlRGlyZWN0b3J5U2FuZGJveEV4dGVuc2lvbkhhbmRsZTsKKyAg
ICAgICAgaWYgKCFtZWRpYUNhY2hlRGlyZWN0b3J5U2FuZGJveEV4dGVuc2lvbkhhbmRsZSkKKyAg
ICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZ
UFRFRF9NRURJQSkKKyAgICAgICAgT3B0aW9uYWw8U3RyaW5nPiBtZWRpYUtleXNTdG9yYWdlRGly
ZWN0b3J5OworICAgICAgICBkZWNvZGVyID4+IG1lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rvcnk7Cisg
ICAgICAgIGlmICghbWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSkKKyAgICAgICAgICAgIHJldHVy
biBXVEY6Om51bGxvcHQ7CisKKyAgICAgICAgT3B0aW9uYWw8U2FuZGJveEV4dGVuc2lvbjo6SGFu
ZGxlPiBtZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5U2FuZGJveEV4dGVuc2lvbkhhbmRsZTsKKyAg
ICAgICAgZGVjb2RlciA+PiBtZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5U2FuZGJveEV4dGVuc2lv
bkhhbmRsZTsKKyAgICAgICAgaWYgKCFtZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5U2FuZGJveEV4
dGVuc2lvbkhhbmRsZSkKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisjZW5kaWYK
KworICAgICAgICByZXR1cm4gR1BVUHJvY2Vzc1Nlc3Npb25QYXJhbWV0ZXJzIHsKKyAgICAgICAg
ICAgIFdURk1vdmUoKm1lZGlhQ2FjaGVEaXJlY3RvcnkpLAorICAgICAgICAgICAgV1RGTW92ZSgq
bWVkaWFDYWNoZURpcmVjdG9yeVNhbmRib3hFeHRlbnNpb25IYW5kbGUpLAorI2lmIEVOQUJMRShM
RUdBQ1lfRU5DUllQVEVEX01FRElBKQorICAgICAgICAgICAgV1RGTW92ZSgqbWVkaWFLZXlzU3Rv
cmFnZURpcmVjdG9yeSksCisgICAgICAgICAgICBXVEZNb3ZlKCptZWRpYUtleXNTdG9yYWdlRGly
ZWN0b3J5U2FuZGJveEV4dGVuc2lvbkhhbmRsZSksCisjZW5kaWYKKyAgICAgICAgfTsKKyAgICB9
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAgYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAK
aW5kZXggMzBlN2EwODVhNmU3MmY0ZjM1ZjMyYzExZmJlNGU3ZWMzMWIzYTVmNy4uYzMzYTQ5NDI4
MzE3OTVjMzhlMDdjNmJiOGQ2ZGE1ZTgwYjU3N2M0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcApAQCAt
ODksMTAgKzg5LDkgQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjpnZXRDb25maWd1cmF0
aW9uKFJlbW90ZU1lZGlhUGxheWVyQ29uZmlndXJhdGlvbiYgY28KICAgICBjb25maWd1cmF0aW9u
LnNob3VsZElnbm9yZUludHJpbnNpY1NpemUgPSBtX3BsYXllci0+c2hvdWxkSWdub3JlSW50cmlu
c2ljU2l6ZSgpOwogfQogCi12b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OmxvYWQoY29uc3Qg
VVJMJiB1cmwsIE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4mJiBzYW5kYm94RXh0
ZW5zaW9uSGFuZGxlLCBjb25zdCBDb250ZW50VHlwZSYgY29udGVudFR5cGUsIGNvbnN0IFN0cmlu
ZyYga2V5U3lzdGVtLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlbW90ZU1lZGlhUGxheWVyQ29u
ZmlndXJhdGlvbiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5
ZXJQcm94eTo6bG9hZChVUkwmJiB1cmwsIE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRs
ZT4mJiBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlLCBjb25zdCBDb250ZW50VHlwZSYgY29udGVudFR5
cGUsIGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlbW90
ZU1lZGlhUGxheWVyQ29uZmlndXJhdGlvbiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAg
ICBSZW1vdGVNZWRpYVBsYXllckNvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlvbjsKLQogICAgIGlm
IChzYW5kYm94RXh0ZW5zaW9uSGFuZGxlKSB7CiAgICAgICAgIG1fc2FuZGJveEV4dGVuc2lvbiA9
IFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZShXVEZNb3ZlKHNhbmRib3hFeHRlbnNpb25IYW5kbGUu
dmFsdWUoKSkpOwogICAgICAgICBpZiAobV9zYW5kYm94RXh0ZW5zaW9uKQpAQCAtMjg5LDcgKzI4
OCw3IEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJFbmdpbmVGYWls
ZWRUb0xvYWQoKSBjb25zdAogI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQogU3Ry
aW5nIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVyTWVkaWFLZXlzU3RvcmFnZURp
cmVjdG9yeSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fY29uZmlndXJhdGlvbi5tZWRpYUtleXNT
dG9yYWdlRGlyZWN0b3J5OworICAgIHJldHVybiBtX21hbmFnZXIuZ3B1Q29ubmVjdGlvblRvV2Vi
UHJvY2VzcygpLm1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKTsKIH0KICNlbmRpZgogCkBAIC0z
MTcsNyArMzE2LDcgQEAgU3RyaW5nIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVy
TmV0d29ya0ludGVyZmFjZU5hbWUoKSBjb25zdAogCiBjb25zdCBTdHJpbmcmIFJlbW90ZU1lZGlh
UGxheWVyUHJveHk6Om1lZGlhUGxheWVyTWVkaWFDYWNoZURpcmVjdG9yeSgpIGNvbnN0CiB7Ci0g
ICAgcmV0dXJuIG1fY29uZmlndXJhdGlvbi5tZWRpYUNhY2hlRGlyZWN0b3J5OworICAgIHJldHVy
biBtX21hbmFnZXIuZ3B1Q29ubmVjdGlvblRvV2ViUHJvY2VzcygpLm1lZGlhQ2FjaGVEaXJlY3Rv
cnkoKTsKIH0KIAogY29uc3QgVmVjdG9yPFdlYkNvcmU6OkNvbnRlbnRUeXBlPiYgUmVtb3RlTWVk
aWFQbGF5ZXJQcm94eTo6bWVkaWFDb250ZW50VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnQo
KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90
ZU1lZGlhUGxheWVyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVNZWRpYVBsYXllclByb3h5LmgKaW5kZXggY2FhOTZhMzQyNjgzOWY4MTBkMTQyY2MyYTNmNzU3
NjA4OTQxNjMwZS4uYWFjMzZkMDRhOTFkZTFiZjdlZjA1NWQ0MDYzNDY5NDgzMTVkYzlkOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVy
UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eS5oCkBAIC03Nyw3ICs3Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHByZXBhcmVG
b3JQbGF5YmFjayhib29sIHByaXZhdGVNb2RlLCBXZWJDb3JlOjpNZWRpYVBsYXllckVudW1zOjpQ
cmVsb2FkLCBib29sIHByZXNlcnZlc1BpdGNoLCBib29sIHByZXBhcmVGb3JSZW5kZXJpbmcsIFdl
YkNvcmU6OkxheW91dFJlY3QsIGZsb2F0IHZpZGVvQ29udGVudFNjYWxlLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKE9wdGlvbmFsPExheWVySG9zdGluZ0NvbnRleHRJRD4mJik+JiYpOwogICAgIHZv
aWQgcHJlcGFyZUZvclJlbmRlcmluZygpOwogCi0gICAgdm9pZCBsb2FkKGNvbnN0IFVSTCYsIE9w
dGlvbmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4mJiwgY29uc3QgV2ViQ29yZTo6Q29udGVu
dFR5cGUmLCBjb25zdCBTdHJpbmcmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlbW90ZU1lZGlh
UGxheWVyQ29uZmlndXJhdGlvbiYmKT4mJik7CisgICAgdm9pZCBsb2FkKFVSTCYmLCBPcHRpb25h
bDxTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+JiYsIGNvbnN0IFdlYkNvcmU6OkNvbnRlbnRUeXBl
JiwgY29uc3QgU3RyaW5nJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZW1vdGVNZWRpYVBsYXll
ckNvbmZpZ3VyYXRpb24mJik+JiYpOwogICAgIHZvaWQgY2FuY2VsTG9hZCgpOwogCiAgICAgdm9p
ZCBwcmVwYXJlVG9QbGF5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
bWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eUNvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Q29uZmlndXJhdGlvbi5o
CmluZGV4IGVjMjZlYjhmZjQ4ZmRjMzgzNGE2MmExN2QwMDViZWY0YzkwMWVkNzUuLmU4Yzc1YWNm
MWQ4NjhmMDUxNTAxN2ZkNzJhY2FlZDA5M2ZiN2EyMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Q29uZmlndXJhdGlvbi5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclBy
b3h5Q29uZmlndXJhdGlvbi5oCkBAIC0zMywxMiArMzMsMTAgQEAKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCiBzdHJ1Y3QgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eUNvbmZpZ3VyYXRpb24gewotICAgIFN0
cmluZyBtZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5OwogICAgIFN0cmluZyByZWZlcnJlcjsKICAg
ICBTdHJpbmcgdXNlckFnZW50OwogICAgIFN0cmluZyBzb3VyY2VBcHBsaWNhdGlvbklkZW50aWZp
ZXI7CiAgICAgU3RyaW5nIG5ldHdvcmtJbnRlcmZhY2VOYW1lOwotICAgIFN0cmluZyBtZWRpYUNh
Y2hlRGlyZWN0b3J5OwogICAgIFZlY3RvcjxXZWJDb3JlOjpDb250ZW50VHlwZT4gbWVkaWFDb250
ZW50VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnQ7CiAgICAgVmVjdG9yPFN0cmluZz4gcHJl
ZmVycmVkQXVkaW9DaGFyYWN0ZXJpc3RpY3M7CiAgICAgdWludDY0X3QgbG9nSWRlbnRpZmllciB7
IDAgfTsKQEAgLTQ4LDEyICs0NiwxMCBAQCBzdHJ1Y3QgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eUNv
bmZpZ3VyYXRpb24gewogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+CiAgICAgdm9pZCBlbmNv
ZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAgICB7Ci0gICAgICAgIGVuY29kZXIgPDwgbWVk
aWFLZXlzU3RvcmFnZURpcmVjdG9yeTsKICAgICAgICAgZW5jb2RlciA8PCByZWZlcnJlcjsKICAg
ICAgICAgZW5jb2RlciA8PCB1c2VyQWdlbnQ7CiAgICAgICAgIGVuY29kZXIgPDwgc291cmNlQXBw
bGljYXRpb25JZGVudGlmaWVyOwogICAgICAgICBlbmNvZGVyIDw8IG5ldHdvcmtJbnRlcmZhY2VO
YW1lOwotICAgICAgICBlbmNvZGVyIDw8IG1lZGlhQ2FjaGVEaXJlY3Rvcnk7CiAgICAgICAgIGVu
Y29kZXIgPDwgbWVkaWFDb250ZW50VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnQ7CiAgICAg
ICAgIGVuY29kZXIgPDwgcHJlZmVycmVkQXVkaW9DaGFyYWN0ZXJpc3RpY3M7CiAgICAgICAgIGVu
Y29kZXIgPDwgbG9nSWRlbnRpZmllcjsKQEAgLTY0LDExICs2MCw2IEBAIHN0cnVjdCBSZW1vdGVN
ZWRpYVBsYXllclByb3h5Q29uZmlndXJhdGlvbiB7CiAgICAgdGVtcGxhdGUgPGNsYXNzIERlY29k
ZXI+CiAgICAgc3RhdGljIE9wdGlvbmFsPFJlbW90ZU1lZGlhUGxheWVyUHJveHlDb25maWd1cmF0
aW9uPiBkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKICAgICB7Ci0gICAgICAgIE9wdGlvbmFsPFN0
cmluZz4gbWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeTsKLSAgICAgICAgZGVjb2RlciA+PiBtZWRp
YUtleXNTdG9yYWdlRGlyZWN0b3J5OwotICAgICAgICBpZiAoIW1lZGlhS2V5c1N0b3JhZ2VEaXJl
Y3RvcnkpCi0gICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotCiAgICAgICAgIE9wdGlv
bmFsPFN0cmluZz4gcmVmZXJyZXI7CiAgICAgICAgIGRlY29kZXIgPj4gcmVmZXJyZXI7CiAgICAg
ICAgIGlmICghcmVmZXJyZXIpCkBAIC04OSwxMSArODAsNiBAQCBzdHJ1Y3QgUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eUNvbmZpZ3VyYXRpb24gewogICAgICAgICBpZiAoIW5ldHdvcmtJbnRlcmZhY2VO
YW1lKQogICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIAotICAgICAgICBPcHRpb25h
bDxTdHJpbmc+IG1lZGlhQ2FjaGVEaXJlY3Rvcnk7Ci0gICAgICAgIGRlY29kZXIgPj4gbWVkaWFD
YWNoZURpcmVjdG9yeTsKLSAgICAgICAgaWYgKCFtZWRpYUNhY2hlRGlyZWN0b3J5KQotICAgICAg
ICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLQogICAgICAgICBPcHRpb25hbDxWZWN0b3I8V2Vi
Q29yZTo6Q29udGVudFR5cGU+PiBtZWRpYUNvbnRlbnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJlU3Vw
cG9ydDsKICAgICAgICAgZGVjb2RlciA+PiBtZWRpYUNvbnRlbnRUeXBlc1JlcXVpcmluZ0hhcmR3
YXJlU3VwcG9ydDsKICAgICAgICAgaWYgKCFtZWRpYUNvbnRlbnRUeXBlc1JlcXVpcmluZ0hhcmR3
YXJlU3VwcG9ydCkKQEAgLTEyMCwxMiArMTA2LDEwIEBAIHN0cnVjdCBSZW1vdGVNZWRpYVBsYXll
clByb3h5Q29uZmlndXJhdGlvbiB7CiAgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0Owog
CiAgICAgICAgIHJldHVybiB7ewotICAgICAgICAgICAgV1RGTW92ZSgqbWVkaWFLZXlzU3RvcmFn
ZURpcmVjdG9yeSksCiAgICAgICAgICAgICBXVEZNb3ZlKCpyZWZlcnJlciksCiAgICAgICAgICAg
ICBXVEZNb3ZlKCp1c2VyQWdlbnQpLAogICAgICAgICAgICAgV1RGTW92ZSgqc291cmNlQXBwbGlj
YXRpb25JZGVudGlmaWVyKSwKICAgICAgICAgICAgIFdURk1vdmUoKm5ldHdvcmtJbnRlcmZhY2VO
YW1lKSwKLSAgICAgICAgICAgIFdURk1vdmUoKm1lZGlhQ2FjaGVEaXJlY3RvcnkpLAogICAgICAg
ICAgICAgV1RGTW92ZSgqbWVkaWFDb250ZW50VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnQp
LAogICAgICAgICAgICAgV1RGTW92ZSgqcHJlZmVycmVkQXVkaW9DaGFyYWN0ZXJpc3RpY3MpLAog
ICAgICAgICAgICAgKmxvZ0lkZW50aWZpZXIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0dQVS9HUFVQcm9jZXNzUHJveHkuY3BwCmluZGV4IGI5Zjg3MThmYzcxYjBjNzkwN2Q4ODIwODc1
ZDdiNWY4ZGI4ZmFhN2YuLjRmZWM0ZWU5NGE3NDIyZGU2NDJlZWE5ZTQzOGI2ZTE2YTA3Y2U2ZjUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHku
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3Bw
CkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5oIgogI2luY2x1ZGUgIkdQVVByb2Nlc3NNZXNzYWdlcy5oIgogI2luY2x1ZGUgIkdQVVByb2Nl
c3NQcm94eU1lc3NhZ2VzLmgiCisjaW5jbHVkZSAiR1BVUHJvY2Vzc1Nlc3Npb25QYXJhbWV0ZXJz
LmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIldlYlBhZ2VNZXNzYWdlcy5oIgog
I2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgpAQCAtODIsNiArODMsOCBAQCBzdGF0aWMgaW5saW5l
IGJvb2wgc2hvdWxkQ3JlYXRlTWljcm9waG9uZVNhbmRib3hFeHRlbnNpb24oKQogICAgIHJldHVy
biB0cnVlOwogfQogCitHUFVQcm9jZXNzUHJveHkqIEdQVVByb2Nlc3NQcm94eTo6bV9zaW5nbGV0
b24gPSBudWxscHRyOworCiBHUFVQcm9jZXNzUHJveHkmIEdQVVByb2Nlc3NQcm94eTo6c2luZ2xl
dG9uKCkKIHsKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwpAQCAtMTEwLDYgKzExMyw4
IEBAIEdQVVByb2Nlc3NQcm94eSYgR1BVUHJvY2Vzc1Byb3h5OjpzaW5nbGV0b24oKQogICAgICAg
ICAvLyBJbml0aWFsaXplIHRoZSBHUFUgcHJvY2Vzcy4KICAgICAgICAgZ3B1UHJvY2Vzcy0+c2Vu
ZChNZXNzYWdlczo6R1BVUHJvY2Vzczo6SW5pdGlhbGl6ZUdQVVByb2Nlc3MocGFyYW1ldGVycyks
IDApOwogICAgICAgICBncHVQcm9jZXNzLT51cGRhdGVQcm9jZXNzQXNzZXJ0aW9uKCk7CisKKyAg
ICAgICAgbV9zaW5nbGV0b24gPSAmZ3B1UHJvY2Vzcy5nZXQoKTsKICAgICB9KTsKIAogICAgIHJl
dHVybiBncHVQcm9jZXNzLmdldCgpOwpAQCAtMTY2LDYgKzE3MSw4IEBAIHZvaWQgR1BVUHJvY2Vz
c1Byb3h5OjpnZXRHUFVQcm9jZXNzQ29ubmVjdGlvbihXZWJQcm9jZXNzUHJveHkmIHdlYlByb2Nl
c3NQcm94eSwKIAogdm9pZCBHUFVQcm9jZXNzUHJveHk6Om9wZW5HUFVQcm9jZXNzQ29ubmVjdGlv
bihDb25uZWN0aW9uUmVxdWVzdElkZW50aWZpZXIgY29ubmVjdGlvblJlcXVlc3RJZGVudGlmaWVy
LCBXZWJQcm9jZXNzUHJveHkmIHdlYlByb2Nlc3NQcm94eSkKIHsKKyAgICBhZGRTZXNzaW9uKHdl
YlByb2Nlc3NQcm94eS53ZWJzaXRlRGF0YVN0b3JlKCkpOworCiAgICAgYXV0byYgY29ubmVjdGlv
biA9ICp0aGlzLT5jb25uZWN0aW9uKCk7CiAKICAgICBjb25uZWN0aW9uLnNlbmRXaXRoQXN5bmNS
ZXBseShNZXNzYWdlczo6R1BVUHJvY2Vzczo6Q3JlYXRlR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cyB7IHdlYlByb2Nlc3NQcm94eS5jb3JlUHJvY2Vzc0lkZW50aWZpZXIoKSwgd2ViUHJvY2Vzc1By
b3h5LnNlc3Npb25JRCgpIH0sIFt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKHRoaXMpLCB3
ZWJQcm9jZXNzUHJveHkgPSBtYWtlV2Vha1B0cih3ZWJQcm9jZXNzUHJveHkpLCBjb25uZWN0aW9u
UmVxdWVzdElkZW50aWZpZXJdKGF1dG8mJiBjb25uZWN0aW9uSWRlbnRpZmllcikgbXV0YWJsZSB7
CkBAIC0yNjgsNiArMjc1LDQ2IEBAIHZvaWQgR1BVUHJvY2Vzc1Byb3h5Ojp1cGRhdGVQcm9jZXNz
QXNzZXJ0aW9uKCkKICAgICBtX2FjdGl2aXR5RnJvbVdlYlByb2Nlc3NlcyA9IG51bGxwdHI7CiB9
CiAKK3N0YXRpYyBpbmxpbmUgR1BVUHJvY2Vzc1Nlc3Npb25QYXJhbWV0ZXJzIGdwdVByb2Nlc3NT
ZXNzaW9uUGFyYW1ldGVycyhjb25zdCBXZWJzaXRlRGF0YVN0b3JlJiBzdG9yZSkKK3sKKyAgICBH
UFVQcm9jZXNzU2Vzc2lvblBhcmFtZXRlcnMgcGFyYW1ldGVyczsKKworICAgIHBhcmFtZXRlcnMu
bWVkaWFDYWNoZURpcmVjdG9yeSA9IHN0b3JlLnJlc29sdmVkTWVkaWFDYWNoZURpcmVjdG9yeSgp
OworICAgIFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBtZWRpYUNhY2hlRGlyZWN0b3J5RXh0ZW5z
aW9uSGFuZGxlOworICAgIGlmICghcGFyYW1ldGVycy5tZWRpYUNhY2hlRGlyZWN0b3J5LmlzRW1w
dHkoKSkKKyAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlV2l0aG91dFJlc29s
dmluZ1BhdGgocGFyYW1ldGVycy5tZWRpYUNhY2hlRGlyZWN0b3J5LCBTYW5kYm94RXh0ZW5zaW9u
OjpUeXBlOjpSZWFkV3JpdGUsIHBhcmFtZXRlcnMubWVkaWFDYWNoZURpcmVjdG9yeVNhbmRib3hF
eHRlbnNpb25IYW5kbGUpOworCisjaWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpCisg
ICAgcGFyYW1ldGVycy5tZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5ID0gc3RvcmUucmVzb2x2ZWRN
ZWRpYUtleXNEaXJlY3RvcnkoKTsKKyAgICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgbWVkaWFL
ZXlzU3RvcmFnZURpcmVjdG9yeVNhbmRib3hFeHRlbnNpb25IYW5kbGU7CisgICAgaWYgKCFwYXJh
bWV0ZXJzLm1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkuaXNFbXB0eSgpKQorICAgICAgICBTYW5k
Ym94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVXaXRob3V0UmVzb2x2aW5nUGF0aChwYXJhbWV0ZXJz
Lm1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnksIFNhbmRib3hFeHRlbnNpb246OlR5cGU6OlJlYWRX
cml0ZSwgcGFyYW1ldGVycy5tZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5U2FuZGJveEV4dGVuc2lv
bkhhbmRsZSk7CisjZW5kaWYKKworICAgIHJldHVybiBwYXJhbWV0ZXJzOworfQorCit2b2lkIEdQ
VVByb2Nlc3NQcm94eTo6YWRkU2Vzc2lvbihjb25zdCBXZWJzaXRlRGF0YVN0b3JlJiBzdG9yZSkK
K3sKKyAgICBpZiAoIWNhblNlbmRNZXNzYWdlKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlm
IChtX3Nlc3Npb25JRHMuY29udGFpbnMoc3RvcmUuc2Vzc2lvbklEKCkpKQorICAgICAgICByZXR1
cm47CisKKyAgICBzZW5kKE1lc3NhZ2VzOjpHUFVQcm9jZXNzOjpBZGRTZXNzaW9uIHsgc3RvcmUu
c2Vzc2lvbklEKCksIGdwdVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVycyhzdG9yZSkgfSwgMCk7Cisg
ICAgbV9zZXNzaW9uSURzLmFkZChzdG9yZS5zZXNzaW9uSUQoKSk7Cit9CisKK3ZvaWQgR1BVUHJv
Y2Vzc1Byb3h5OjpyZW1vdmVTZXNzaW9uKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkKK3sKKyAg
ICBpZiAoIWNhblNlbmRNZXNzYWdlKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChtX3Nl
c3Npb25JRHMucmVtb3ZlKHNlc3Npb25JRCkpCisgICAgICAgIHNlbmQoTWVzc2FnZXM6OkdQVVBy
b2Nlc3M6OlJlbW92ZVNlc3Npb24geyBzZXNzaW9uSUQgfSwgMCk7Cit9CisKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdAogCiAjdW5kZWYgTUVTU0FHRV9DSEVDSwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5oCmluZGV4IDBjMjQxOWQ4MWM5YzQ3NzYyNGJkNjg4
NGVhMzFiMDVmZTVmNjUzODAuLmJjNTc2MmNmZjc1NWJiNzhiZTRjNWFkOTE1MTdhNTNlNGVmNzAz
M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJv
eHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmgK
QEAgLTM1LDEwICszNSwxMiBAQAogI2luY2x1ZGUgIldlYlBhZ2VQcm94eUlkZW50aWZpZXIuaCIK
ICNpbmNsdWRlICJXZWJQcm9jZXNzUHJveHlNZXNzYWdlc1JlcGxpZXMuaCIKICNpbmNsdWRlIDxt
ZW1vcnk+CisjaW5jbHVkZSA8cGFsL1Nlc3Npb25JRC5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsK
IAogY2xhc3MgV2ViUHJvY2Vzc1Byb3h5OworY2xhc3MgV2Vic2l0ZURhdGFTdG9yZTsKIHN0cnVj
dCBHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOwogCiBjbGFzcyBHUFVQcm9jZXNzUHJveHkg
ZmluYWwgOiBwdWJsaWMgQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5LCBwcml2YXRlIFByb2Nlc3NUaHJv
dHRsZXJDbGllbnQsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxHUFVQcm9jZXNzUHJveHk+IHsKQEAg
LTQ3LDYgKzQ5LDcgQEAgY2xhc3MgR1BVUHJvY2Vzc1Byb3h5IGZpbmFsIDogcHVibGljIEF1eGls
aWFyeVByb2Nlc3NQcm94eSwgcHJpdmF0ZSBQcm9jZXNzVGhyb3QKICAgICBmcmllbmQgTGF6eU5l
dmVyRGVzdHJveWVkPEdQVVByb2Nlc3NQcm94eT47CiBwdWJsaWM6CiAgICAgc3RhdGljIEdQVVBy
b2Nlc3NQcm94eSYgc2luZ2xldG9uKCk7CisgICAgc3RhdGljIEdQVVByb2Nlc3NQcm94eSogc2lu
Z2xldG9uSWZDcmVhdGVkKCkgeyByZXR1cm4gbV9zaW5nbGV0b247IH0KIAogICAgIHZvaWQgZ2V0
R1BVUHJvY2Vzc0Nvbm5lY3Rpb24oV2ViUHJvY2Vzc1Byb3h5JiwgTWVzc2FnZXM6OldlYlByb2Nl
c3NQcm94eTo6R2V0R1BVUHJvY2Vzc0Nvbm5lY3Rpb25EZWxheWVkUmVwbHkmJik7CiAKQEAgLTYw
LDEwICs2MywxNCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRVc2VNb2NrQ2FwdHVyZURldmljZXMo
Ym9vbCk7CiAjZW5kaWYKIAorICAgIHZvaWQgcmVtb3ZlU2Vzc2lvbihQQUw6OlNlc3Npb25JRCk7
CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgR1BVUHJvY2Vzc1Byb3h5KCk7CiAgICAgfkdQVVBy
b2Nlc3NQcm94eSgpOwogCisgICAgdm9pZCBhZGRTZXNzaW9uKGNvbnN0IFdlYnNpdGVEYXRhU3Rv
cmUmKTsKKwogICAgIC8vIEF1eGlsaWFyeVByb2Nlc3NQcm94eQogICAgIEFTQ0lJTGl0ZXJhbCBw
cm9jZXNzTmFtZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICJHUFUiX3M7IH0KIApAQCAtODcsNiAr
OTQsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9uJikgb3Zl
cnJpZGU7CiAgICAgdm9pZCBkaWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9u
JiwgSVBDOjpTdHJpbmdSZWZlcmVuY2UgbWVzc2FnZVJlY2VpdmVyTmFtZSwgSVBDOjpTdHJpbmdS
ZWZlcmVuY2UgbWVzc2FnZU5hbWUpIG92ZXJyaWRlOwogCisgICAgc3RhdGljIEdQVVByb2Nlc3NQ
cm94eSogbV9zaW5nbGV0b247CisKICAgICBzdHJ1Y3QgQ29ubmVjdGlvblJlcXVlc3QgewogICAg
ICAgICBXZWFrUHRyPFdlYlByb2Nlc3NQcm94eT4gd2ViUHJvY2VzczsKICAgICAgICAgTWVzc2Fn
ZXM6OldlYlByb2Nlc3NQcm94eTo6R2V0R1BVUHJvY2Vzc0Nvbm5lY3Rpb25EZWxheWVkUmVwbHkg
cmVwbHk7CkBAIC05OSw2ICsxMDgsNyBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShNRURJQV9TVFJF
QU0pCiAgICAgYm9vbCBtX3VzZU1vY2tDYXB0dXJlRGV2aWNlcyB7IGZhbHNlIH07CiAjZW5kaWYK
KyAgICBIYXNoU2V0PFBBTDo6U2Vzc2lvbklEPiBtX3Nlc3Npb25JRHM7CiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNp
dGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
c2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKaW5kZXggNGU4NTJhMWFiMGQ0NWEwYzcyYzBj
Mjc3OGViMDZlMDU5YjhjNjQwNi4uZTYwYzI2NTdkOGY4MTViYWNiOTY2NzE2MmQ3MDQyZTdiYzcz
MWIyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vi
c2l0ZURhdGFTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURh
dGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKQEAgLTEzNCw2ICsxMzQsOCBAQCBXZWJzaXRlRGF0YVN0
b3JlOjp+V2Vic2l0ZURhdGFTdG9yZSgpCiAgICAgICAgICAgICBpZiAoYXV0byogbmV0d29ya1By
b2Nlc3MgPSBwcm9jZXNzUG9vbC0+bmV0d29ya1Byb2Nlc3MoKSkKICAgICAgICAgICAgICAgICBu
ZXR3b3JrUHJvY2Vzcy0+cmVtb3ZlU2Vzc2lvbihtX3Nlc3Npb25JRCk7CiAgICAgICAgIH0KKyAg
ICAgICAgaWYgKGF1dG8qIGdwdVByb2Nlc3NQcm94eSA9IEdQVVByb2Nlc3NQcm94eTo6c2luZ2xl
dG9uSWZDcmVhdGVkKCkpCisgICAgICAgICAgICBncHVQcm9jZXNzUHJveHktPnJlbW92ZVNlc3Np
b24obV9zZXNzaW9uSUQpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNzY5N2M0YzU4ZDQ3MmM2NGM2YmI5MGM0Y2Rk
ZTZjZDVjNmU1OWJjYS4uYmU2NDIyMDQ3NzVlMjU1NWNjYmE1ZmRlOWY4ZTRhZTgzNTVlZGRkNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC0zMzQ5LDYgKzMzNDksNyBAQAogCQk0MTNDQ0Q0RjIwREVCQzJGMDA2NUEyMUEgLyogY29tLmdv
b2dsZS5nb29nbGV0YWxrYnJvd3NlcnBsdWdpbi5zYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBj
b20uZ29vZ2xlLmdvb2dsZXRhbGticm93c2VycGx1Z2luLnNiOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0MTQzNzUxQjIwRUFFQTFFMDBGQUQwNkMgLyogY24ubWljcm9kb25lLmNtYi5z
YWZhcmkuc2IgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gY24ubWljcm9kb25lLmNtYi5zYWZhcmku
c2I7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNEREMzc4MjBCRjQzRUEwMDY5NTlG
QiAvKiBjb20uY2lzY28ud2ViZXgucGx1Z2luLmdwYzY0LnNiICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IGNvbS5jaXNjby53ZWJleC5wbHVnaW4uZ3BjNjQuc2I7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTQxNTBBNUEwMjNFMDZDOTEwMDUxMjY0QSAvKiBHUFVQcm9jZXNzU2Vzc2lvblBh
cmFtZXRlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVUHJvY2Vzc1Nl
c3Npb25QYXJhbWV0ZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNTE4NTM1
MjIyNzA0RjUwMDU0MzBDNiAvKiBTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNlcnZpY2VXb3JrZXJGZXRjaFRhc2suaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE1MTg1MzYyMjI3MDRGNjAwNTQzMEM2IC8qIFNlcnZpY2VX
b3JrZXJGZXRjaFRhc2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
U2VydmljZVdvcmtlckZldGNoVGFzay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTQxNTE4NTM4MjIyNzBGNTMwMDU0MzBDNiAvKiBTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrLm1lc3Nh
Z2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFNlcnZpY2VXb3JrZXJGZXRjaFRhc2subWVz
c2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02NTA2LDYgKzY1MDcsNyBA
QAogCQkJCTJEOUZCMjAyMjM3NTIwOUQwMDQ5RjkzNiAvKiBHUFVQcm9jZXNzLm1lc3NhZ2VzLmlu
ICovLAogCQkJCTJEOUZCMjE0MjM3NTIwOUQwMDQ5RjkzNiAvKiBHUFVQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmNwcCAqLywKIAkJCQkyRDlGQjIwMzIzNzUyMDlEMDA0OUY5MzYgLyogR1BVUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oICovLAorCQkJCTQxNTBBNUEwMjNFMDZDOTEwMDUxMjY0
QSAvKiBHUFVQcm9jZXNzU2Vzc2lvblBhcmFtZXRlcnMuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0g
R1BVUHJvY2VzczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVy
TWFuYWdlci5jcHAKaW5kZXggZWQ4ZmQwMjA4ZDZjOWJhNjYyY2Y5N2Q1ZGZlZDQzNzAxNjMwZmNm
NS4uOGYwNTM3NjgzNzhlYjA1Y2VkMzIxZmZjZjExOTIzYjU5ZWVmYzMyYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFn
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVk
aWFQbGF5ZXJNYW5hZ2VyLmNwcApAQCAtMTQ3LDE2ICsxNDcsMTIgQEAgc3RkOjp1bmlxdWVfcHRy
PE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZT4gUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyOjpj
cmVhdGVSZW0KICAgICBhdXRvIGlkID0gTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmll
cjo6Z2VuZXJhdGUoKTsKIAogICAgIFJlbW90ZU1lZGlhUGxheWVyUHJveHlDb25maWd1cmF0aW9u
IHByb3h5Q29uZmlndXJhdGlvbjsKLSNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkK
LSAgICBwcm94eUNvbmZpZ3VyYXRpb24ubWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSA9IHBsYXll
ci0+bWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSgpOwotI2VuZGlmCiAgICAgcHJveHlDb25maWd1
cmF0aW9uLnJlZmVycmVyID0gcGxheWVyLT5yZWZlcnJlcigpOwogICAgIHByb3h5Q29uZmlndXJh
dGlvbi51c2VyQWdlbnQgPSBwbGF5ZXItPnVzZXJBZ2VudCgpOwogICAgIHByb3h5Q29uZmlndXJh
dGlvbi5zb3VyY2VBcHBsaWNhdGlvbklkZW50aWZpZXIgPSBwbGF5ZXItPnNvdXJjZUFwcGxpY2F0
aW9uSWRlbnRpZmllcigpOwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgcHJveHlDb25m
aWd1cmF0aW9uLm5ldHdvcmtJbnRlcmZhY2VOYW1lID0gcGxheWVyLT5tZWRpYVBsYXllck5ldHdv
cmtJbnRlcmZhY2VOYW1lKCk7CiAjZW5kaWYKLSAgICBwcm94eUNvbmZpZ3VyYXRpb24ubWVkaWFD
YWNoZURpcmVjdG9yeSA9IHBsYXllci0+bWVkaWFDYWNoZURpcmVjdG9yeSgpOwogICAgIHByb3h5
Q29uZmlndXJhdGlvbi5tZWRpYUNvbnRlbnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJlU3VwcG9ydCA9
IHBsYXllci0+bWVkaWFDb250ZW50VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnQoKTsKICAg
ICBwcm94eUNvbmZpZ3VyYXRpb24ucHJlZmVycmVkQXVkaW9DaGFyYWN0ZXJpc3RpY3MgPSBwbGF5
ZXItPnByZWZlcnJlZEF1ZGlvQ2hhcmFjdGVyaXN0aWNzKCk7CiAgICAgcHJveHlDb25maWd1cmF0
aW9uLmxvZ0lkZW50aWZpZXIgPSByZWludGVycHJldF9jYXN0PHVpbnQ2NF90PihwbGF5ZXItPm1l
ZGlhUGxheWVyTG9nSWRlbnRpZmllcigpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388995</attachid>
            <date>2020-01-28 08:02:47 -0800</date>
            <delta_ts>2020-01-28 08:32:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206870-20200128170245.patch</filename>
            <type>text/plain</type>
            <size>28367</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MjM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGIzYTBiOWYxODBlOThjNWQ0
ZDJiNTU2MjUxMWIxNDRlNDRmYmEyZjQuLmEyZTY4YjAwMWNjNjJlNjI4N2YyYzM2M2FmYzZmYmEx
ZDVlOWY1N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDggQEAKKzIwMjAtMDEtMjggIHlvdWVubiBm
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFNlbmQgV2Vic2l0ZURhdGFTdG9y
ZSBtZWRpYSBwYXJhbWV0ZXJzIHRvIEdQVVByb2Nlc3Mgd2hlbiBuZWVkZWQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjg3MAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW5ldmVyIG9wZW5pbmcgYSBu
ZXcgV2ViUHJvY2Vzcy9HUFVQcm9jZXNzIGNvbm5lY3Rpb24sIG1ha2Ugc3VyZSBHUFVQcm9jZXNz
IGtub3dzIFdlYlByb2Nlc3Mgc2Vzc2lvbiBwYXJhbWV0ZXJzLgorICAgICAgICBNYWtlIHN1cmUg
dG8gcmVtb3ZlIHNlc3Npb24gcGFyYW1ldGVycyB3aGVuIGRhdGEgc3RvcmUgaXMgZGVzdHJveWVk
LgorICAgICAgICBVcGRhdGUgbWVkaWEgY29kZSB0byBubyBsb25nZXIgc2VuZCB0aGUgY29ycmVz
cG9uZGluZyBwYXJhbWV0ZXJzIGZvciBlYWNoIG1lZGlhIGxvYWQuCisKKyAgICAgICAgQ292ZXJl
ZCBieSBleGlzdGluZyB0ZXN0cyBubyBsb25nZXIgdHJpZ2dlcmluZyBzYW5kYm94IHZpb2xhdGlv
bnMuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjptZWRpYUNhY2hl
RGlyZWN0b3J5IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6R1BVQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzczo6bWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSBjb25zdCk6CisgICAgICAgICogR1BVUHJv
Y2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9H
UFVQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vzczo6YWRkU2Vzc2lvbik6
CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3M6OnJlbW92ZVNlc3Npb24pOgorICAgICAgICAo
V2ViS2l0OjpHUFVQcm9jZXNzOjptZWRpYUNhY2hlRGlyZWN0b3J5IGNvbnN0KToKKyAgICAgICAg
KFdlYktpdDo6R1BVUHJvY2Vzczo6bWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSBjb25zdCk6Cisg
ICAgICAgICogR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9H
UFVQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVy
UHJveHk6OmxvYWQpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5Ojpt
ZWRpYVBsYXllck1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkgY29uc3QpOgorICAgICAgICAoV2Vi
S2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllck1lZGlhQ2FjaGVEaXJlY3Rv
cnkgY29uc3QpOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eS5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eUNvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94
eUNvbmZpZ3VyYXRpb246OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1l
ZGlhUGxheWVyUHJveHlDb25maWd1cmF0aW9uOjpkZWNvZGUpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vzc1By
b3h5OjpzaW5nbGV0b24pOgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzUHJveHk6Om9wZW5H
UFVQcm9jZXNzQ29ubmVjdGlvbik6CisgICAgICAgIChXZWJLaXQ6OmdwdVByb2Nlc3NTZXNzaW9u
UGFyYW1ldGVycyk6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6YWRkU2Vzc2lv
bik6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6cmVtb3ZlU2Vzc2lvbik6Cisg
ICAgICAgICogVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYnNpdGVEYXRhU3RvcmU6On5XZWJzaXRlRGF0YVN0b3JlKToKKyAgICAgICAgKiBXZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRp
YS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVN
ZWRpYVBsYXllck1hbmFnZXI6OmNyZWF0ZVJlbW90ZU1lZGlhUGxheWVyKToKKwogMjAyMC0wMS0y
OCAgeW91ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBV
c2UgQVZBc3NldFdyaXRlckRlbGVnYXRlIHRvIGltcGxlbWVudCBNZWRpYVJlY29yZGVyCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cy5jcHAKaW5kZXggYzA5NDhkMDk5NWI5NmNiNTNlNTNmNGE3YWNlM2YzODZjYjUxMzhlYy4uYTZj
ZWU1NGM5N2M5MjE1YTY4NzNmNGRjYjEyYmRlNDdjMWRjNDBlYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcApAQCAt
MjYxLDYgKzI2MSwxOCBAQCB2b2lkIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZFJlY2Vp
dmVTeW5jTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3RpbwogICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwogfQogCitjb25zdCBTdHJpbmcmIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6
Om1lZGlhQ2FjaGVEaXJlY3RvcnkoKSBjb25zdAoreworICAgIHJldHVybiBtX2dwdVByb2Nlc3Mt
Pm1lZGlhQ2FjaGVEaXJlY3RvcnkobV9zZXNzaW9uSUQpOworfQorCisjaWYgRU5BQkxFKExFR0FD
WV9FTkNSWVBURURfTUVESUEpCitjb25zdCBTdHJpbmcmIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3M6Om1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKSBjb25zdAoreworICAgIHJldHVybiBtX2dw
dVByb2Nlc3MtPm1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkobV9zZXNzaW9uSUQpOworfQorI2Vu
ZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9D
RVNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25U
b1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzLmgKaW5kZXggYjk4ZDYyZjA2MjE0OTY4NmFhYjRmMDA1Yzg1M2RjYzY0Y2Y3ZjJj
OS4uMmI5YmQxZjg4N2JhZGFmYTRlYTVjNGJhMzQxNjlkOGI5NzhmZDYyZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCkBA
IC02NSw2ICs2NSwxMSBAQCBwdWJsaWM6CiAKICAgICBMb2dnZXImIGxvZ2dlcigpOwogCisgICAg
Y29uc3QgU3RyaW5nJiBtZWRpYUNhY2hlRGlyZWN0b3J5KCkgY29uc3Q7CisjaWYgRU5BQkxFKExF
R0FDWV9FTkNSWVBURURfTUVESUEpCisgICAgY29uc3QgU3RyaW5nJiBtZWRpYUtleXNTdG9yYWdl
RGlyZWN0b3J5KCkgY29uc3Q7CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBHUFVDb25uZWN0aW9u
VG9XZWJQcm9jZXNzKEdQVVByb2Nlc3MmLCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciwgSVBD
OjpDb25uZWN0aW9uOjpJZGVudGlmaWVyLCBQQUw6OlNlc3Npb25JRCk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcAppbmRleCA4NjE2MmUxYzhiMTI5ZThhMGZiMDBhZTg2
NGQyM2IzNzMwOTFlNmM4Li44ZmJlN2MyNzI5NjVhOTRlYTRiNTlmZWIzMmVlM2NlMWUwYTYzNDlm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwCkBAIC0zNCw2ICszNCw3
IEBACiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkdQVUNvbm5lY3Rpb25U
b1dlYlByb2Nlc3MuaCIKICNpbmNsdWRlICJHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgi
CisjaW5jbHVkZSAiR1BVUHJvY2Vzc1Nlc3Npb25QYXJhbWV0ZXJzLmgiCiAjaW5jbHVkZSAiTG9n
Z2luZy5oIgogI2luY2x1ZGUgIlNhbmRib3hFeHRlbnNpb24uaCIKICNpbmNsdWRlICJXZWJQYWdl
UHJveHlNZXNzYWdlcy5oIgpAQCAtMTU2LDYgKzE1Nyw0MiBAQCB2b2lkIEdQVVByb2Nlc3M6OnNl
dE1vY2tDYXB0dXJlRGV2aWNlc0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpCiAjZW5kaWYKIH0KIAor
dm9pZCBHUFVQcm9jZXNzOjphZGRTZXNzaW9uKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgR1BV
UHJvY2Vzc1Nlc3Npb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKK3sKKyAgICBBU1NFUlQoIW1f
c2Vzc2lvbnMuY29udGFpbnMoc2Vzc2lvbklEKSk7CisgICAgU2FuZGJveEV4dGVuc2lvbjo6Y29u
c3VtZVBlcm1hbmVudGx5KHBhcmFtZXRlcnMubWVkaWFDYWNoZURpcmVjdG9yeVNhbmRib3hFeHRl
bnNpb25IYW5kbGUpOworI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQorICAgIFNh
bmRib3hFeHRlbnNpb246OmNvbnN1bWVQZXJtYW5lbnRseShwYXJhbWV0ZXJzLm1lZGlhS2V5c1N0
b3JhZ2VEaXJlY3RvcnlTYW5kYm94RXh0ZW5zaW9uSGFuZGxlKTsKKyNlbmRpZgorCisgICAgbV9z
ZXNzaW9ucy5hZGQoc2Vzc2lvbklELCBHUFVTZXNzaW9uIHsKKyAgICAgICAgV1RGTW92ZShwYXJh
bWV0ZXJzLm1lZGlhQ2FjaGVEaXJlY3RvcnkpCisjaWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURf
TUVESUEpCisgICAgICAgICwgV1RGTW92ZShwYXJhbWV0ZXJzLm1lZGlhS2V5c1N0b3JhZ2VEaXJl
Y3RvcnkpCisjZW5kaWYKKyAgICB9KTsKK30KKwordm9pZCBHUFVQcm9jZXNzOjpyZW1vdmVTZXNz
aW9uKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkKK3sKKyAgICBBU1NFUlQobV9zZXNzaW9ucy5j
b250YWlucyhzZXNzaW9uSUQpKTsKKyAgICBtX3Nlc3Npb25zLnJlbW92ZShzZXNzaW9uSUQpOwor
fQorCitjb25zdCBTdHJpbmcmIEdQVVByb2Nlc3M6Om1lZGlhQ2FjaGVEaXJlY3RvcnkoUEFMOjpT
ZXNzaW9uSUQgc2Vzc2lvbklEKSBjb25zdAoreworICAgIEFTU0VSVChtX3Nlc3Npb25zLmNvbnRh
aW5zKHNlc3Npb25JRCkpOworICAgIHJldHVybiBtX3Nlc3Npb25zLmZpbmQoc2Vzc2lvbklEKS0+
dmFsdWUubWVkaWFDYWNoZURpcmVjdG9yeTsKK30KKworI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQ
VEVEX01FRElBKQorY29uc3QgU3RyaW5nJiBHUFVQcm9jZXNzOjptZWRpYUtleXNTdG9yYWdlRGly
ZWN0b3J5KFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkgY29uc3QKK3sKKyAgICBBU1NFUlQobV9z
ZXNzaW9ucy5jb250YWlucyhzZXNzaW9uSUQpKTsKKyAgICByZXR1cm4gbV9zZXNzaW9ucy5maW5k
KHNlc3Npb25JRCktPnZhbHVlLm1lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rvcnk7Cit9CisjZW5kaWYK
KwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NFU1Mp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuaAppbmRleCBhZTIwYmY5NGExMTUzNThk
YTUxZWRiNWFjMzE5YzQxM2E1OWQ1NDg0Li5mYTIxYWUwMjFkMzA1YjYzNDk2ODhlN2U0YWM5OWI0
ZTMzMzhiMmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vz
cy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgKQEAgLTM4LDYg
KzM4LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIEdQVUNvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3M7CiBzdHJ1Y3QgR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczsKK3N0cnVjdCBHUFVQ
cm9jZXNzU2Vzc2lvblBhcmFtZXRlcnM7CiAKIGNsYXNzIEdQVVByb2Nlc3MgOiBwdWJsaWMgQXV4
aWxpYXJ5UHJvY2VzcywgcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPEdQVVByb2Nlc3M+LCBw
dWJsaWMgQ2FuTWFrZVdlYWtQdHI8R1BVUHJvY2Vzcz4gewogICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEdQVVByb2Nlc3MpOwpAQCAtNTYsNiArNTcsMTEgQEAgcHVibGljOgogCiAgICAgR1BVQ29u
bmVjdGlvblRvV2ViUHJvY2Vzcyogd2ViUHJvY2Vzc0Nvbm5lY3Rpb24oV2ViQ29yZTo6UHJvY2Vz
c0lkZW50aWZpZXIpIGNvbnN0OwogCisgICAgY29uc3QgU3RyaW5nJiBtZWRpYUNhY2hlRGlyZWN0
b3J5KFBBTDo6U2Vzc2lvbklEKSBjb25zdDsKKyNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9N
RURJQSkKKyAgICBjb25zdCBTdHJpbmcmIG1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoUEFMOjpT
ZXNzaW9uSUQpIGNvbnN0OworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgdm9pZCBsb3dNZW1vcnlI
YW5kbGVyKENyaXRpY2FsKTsKIApAQCAtNzIsNiArNzgsOCBAQCBwcml2YXRlOgogICAgIC8vIE1l
c3NhZ2UgSGFuZGxlcnMKICAgICB2b2lkIGluaXRpYWxpemVHUFVQcm9jZXNzKEdQVVByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMmJik7CiAgICAgdm9pZCBjcmVhdGVHUFVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzKFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyLCBQQUw6OlNlc3Npb25JRCwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxJUEM6OkF0dGFjaG1lbnQ+JiYpPiYmKTsKKyAgICB2
b2lkIGFkZFNlc3Npb24oUEFMOjpTZXNzaW9uSUQsIEdQVVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVy
cyYmKTsKKyAgICB2b2lkIHJlbW92ZVNlc3Npb24oUEFMOjpTZXNzaW9uSUQpOwogCiAgICAgdm9p
ZCBwcm9jZXNzRGlkVHJhbnNpdGlvblRvRm9yZWdyb3VuZCgpOwogICAgIHZvaWQgcHJvY2Vzc0Rp
ZFRyYW5zaXRpb25Ub0JhY2tncm91bmQoKTsKQEAgLTc5LDYgKzg3LDE0IEBAIHByaXZhdGU6CiAK
ICAgICAvLyBDb25uZWN0aW9ucyB0byBXZWJQcm9jZXNzZXMuCiAgICAgSGFzaE1hcDxXZWJDb3Jl
OjpQcm9jZXNzSWRlbnRpZmllciwgUmVmPEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M+PiBtX3dl
YlByb2Nlc3NDb25uZWN0aW9uczsKKworICAgIHN0cnVjdCBHUFVTZXNzaW9uIHsKKyAgICAgICAg
U3RyaW5nIG1lZGlhQ2FjaGVEaXJlY3Rvcnk7CisjaWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURf
TUVESUEpCisgICAgICAgIFN0cmluZyBtZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5OworI2VuZGlm
CisgICAgfTsKKyAgICBIYXNoTWFwPFBBTDo6U2Vzc2lvbklELCBHUFVTZXNzaW9uPiBtX3Nlc3Np
b25zOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IGZiYTY3ZWQzYjJmYTYwZGU1NDI4
MDAzYzRjMTFlOGJiYWU4OTY4NmEuLjRkNzc5OWJmYzQ0OTk0MThiYWRhZDZhNzA2MjY4Mjc4OWRj
OWVhMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLm1l
c3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLm1lc3Nh
Z2VzLmluCkBAIC0zMiw2ICszMiw5IEBAIG1lc3NhZ2VzIC0+IEdQVVByb2Nlc3MgewogICAgIFBy
b2Nlc3NEaWRUcmFuc2l0aW9uVG9Gb3JlZ3JvdW5kKCkKICAgICBQcm9jZXNzRGlkVHJhbnNpdGlv
blRvQmFja2dyb3VuZCgpCiAKKyAgICBBZGRTZXNzaW9uKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25J
RCwgc3RydWN0IFdlYktpdDo6R1BVUHJvY2Vzc1Nlc3Npb25QYXJhbWV0ZXJzIHBhcmFtZXRlcnMp
CisgICAgUmVtb3ZlU2Vzc2lvbihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCisKICNpZiBFTkFC
TEUoTUVESUFfU1RSRUFNKQogICAgIFNldE1vY2tDYXB0dXJlRGV2aWNlc0VuYWJsZWQoYm9vbCBp
c0VuYWJsZWQpCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9H
UFVQcm9jZXNzU2Vzc2lvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9H
UFVQcm9jZXNzU2Vzc2lvblBhcmFtZXRlcnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNjM2Y2UxYzQ4MzkyNzRj
ZmJkMDA0MWI4MGMxYzBiY2YyMzVhMWFjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVycy5oCkBAIC0wLDAgKzEsOTIg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykK
KworI2luY2x1ZGUgIlNhbmRib3hFeHRlbnNpb24uaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0NvbnRl
bnRUeXBlLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBX
ZWJLaXQgeworCitzdHJ1Y3QgR1BVUHJvY2Vzc1Nlc3Npb25QYXJhbWV0ZXJzIHsKKyAgICBTdHJp
bmcgbWVkaWFDYWNoZURpcmVjdG9yeTsKKyAgICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgbWVk
aWFDYWNoZURpcmVjdG9yeVNhbmRib3hFeHRlbnNpb25IYW5kbGU7CisKKyNpZiBFTkFCTEUoTEVH
QUNZX0VOQ1JZUFRFRF9NRURJQSkKKyAgICBTdHJpbmcgbWVkaWFLZXlzU3RvcmFnZURpcmVjdG9y
eTsKKyAgICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgbWVkaWFLZXlzU3RvcmFnZURpcmVjdG9y
eVNhbmRib3hFeHRlbnNpb25IYW5kbGU7CisjZW5kaWYKKworICAgIHRlbXBsYXRlPGNsYXNzIEVu
Y29kZXI+CisgICAgdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKKyAgICB7Cisg
ICAgICAgIGVuY29kZXIgPDwgbWVkaWFDYWNoZURpcmVjdG9yeSA8PCBtZWRpYUNhY2hlRGlyZWN0
b3J5U2FuZGJveEV4dGVuc2lvbkhhbmRsZTsKKyNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9N
RURJQSkKKyAgICAgICAgZW5jb2RlciA8PCBtZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5IDw8IG1l
ZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnlTYW5kYm94RXh0ZW5zaW9uSGFuZGxlOworI2VuZGlmCisg
ICAgfQorCisgICAgdGVtcGxhdGUgPGNsYXNzIERlY29kZXI+CisgICAgc3RhdGljIE9wdGlvbmFs
PEdQVVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVycz4gZGVjb2RlKERlY29kZXImIGRlY29kZXIpCisg
ICAgeworICAgICAgICBPcHRpb25hbDxTdHJpbmc+IG1lZGlhQ2FjaGVEaXJlY3Rvcnk7CisgICAg
ICAgIGRlY29kZXIgPj4gbWVkaWFDYWNoZURpcmVjdG9yeTsKKyAgICAgICAgaWYgKCFtZWRpYUNh
Y2hlRGlyZWN0b3J5KQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgICAg
ICBPcHRpb25hbDxTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+IG1lZGlhQ2FjaGVEaXJlY3RvcnlT
YW5kYm94RXh0ZW5zaW9uSGFuZGxlOworICAgICAgICBkZWNvZGVyID4+IG1lZGlhQ2FjaGVEaXJl
Y3RvcnlTYW5kYm94RXh0ZW5zaW9uSGFuZGxlOworICAgICAgICBpZiAoIW1lZGlhQ2FjaGVEaXJl
Y3RvcnlTYW5kYm94RXh0ZW5zaW9uSGFuZGxlKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVs
bG9wdDsKKworI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQorICAgICAgICBPcHRp
b25hbDxTdHJpbmc+IG1lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rvcnk7CisgICAgICAgIGRlY29kZXIg
Pj4gbWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeTsKKyAgICAgICAgaWYgKCFtZWRpYUtleXNTdG9y
YWdlRGlyZWN0b3J5KQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgICAg
ICBPcHRpb25hbDxTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+IG1lZGlhS2V5c1N0b3JhZ2VEaXJl
Y3RvcnlTYW5kYm94RXh0ZW5zaW9uSGFuZGxlOworICAgICAgICBkZWNvZGVyID4+IG1lZGlhS2V5
c1N0b3JhZ2VEaXJlY3RvcnlTYW5kYm94RXh0ZW5zaW9uSGFuZGxlOworICAgICAgICBpZiAoIW1l
ZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnlTYW5kYm94RXh0ZW5zaW9uSGFuZGxlKQorICAgICAgICAg
ICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyNlbmRpZgorCisgICAgICAgIHJldHVybiBHUFVQcm9j
ZXNzU2Vzc2lvblBhcmFtZXRlcnMgeworICAgICAgICAgICAgV1RGTW92ZSgqbWVkaWFDYWNoZURp
cmVjdG9yeSksCisgICAgICAgICAgICBXVEZNb3ZlKCptZWRpYUNhY2hlRGlyZWN0b3J5U2FuZGJv
eEV4dGVuc2lvbkhhbmRsZSksCisjaWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpCisg
ICAgICAgICAgICBXVEZNb3ZlKCptZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KSwKKyAgICAgICAg
ICAgIFdURk1vdmUoKm1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnlTYW5kYm94RXh0ZW5zaW9uSGFu
ZGxlKSwKKyNlbmRpZgorICAgICAgICB9OworICAgIH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YktpdAorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcAppbmRleCBlMTU0NWU1YTBmNDhiYTM3Njgz
N2IwNzMzYzVhMWYyNDJlMWFhMTZlLi5jMGJiODQ2Yjk5NDY5ZDYzNjllY2Y4OTAzY2M5ODg5ZDYy
OGRmMDFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlh
L1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCkBAIC04OSwxMCArODksOSBAQCB2b2lkIFJlbW90
ZU1lZGlhUGxheWVyUHJveHk6OmdldENvbmZpZ3VyYXRpb24oUmVtb3RlTWVkaWFQbGF5ZXJDb25m
aWd1cmF0aW9uJiBjbwogICAgIGNvbmZpZ3VyYXRpb24uc2hvdWxkSWdub3JlSW50cmluc2ljU2l6
ZSA9IG1fcGxheWVyLT5zaG91bGRJZ25vcmVJbnRyaW5zaWNTaXplKCk7CiB9CiAKLXZvaWQgUmVt
b3RlTWVkaWFQbGF5ZXJQcm94eTo6bG9hZChjb25zdCBVUkwmIHVybCwgT3B0aW9uYWw8U2FuZGJv
eEV4dGVuc2lvbjo6SGFuZGxlPiYmIHNhbmRib3hFeHRlbnNpb25IYW5kbGUsIGNvbnN0IENvbnRl
bnRUeXBlJiBjb250ZW50VHlwZSwgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoUmVtb3RlTWVkaWFQbGF5ZXJDb25maWd1cmF0aW9uJiYpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKQordm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5Ojpsb2FkKFVSTCYmIHVybCwg
T3B0aW9uYWw8U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlPiYmIHNhbmRib3hFeHRlbnNpb25IYW5k
bGUsIGNvbnN0IENvbnRlbnRUeXBlJiBjb250ZW50VHlwZSwgY29uc3QgU3RyaW5nJiBrZXlTeXN0
ZW0sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVtb3RlTWVkaWFQbGF5ZXJDb25maWd1cmF0aW9u
JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIFJlbW90ZU1lZGlhUGxheWVyQ29uZmln
dXJhdGlvbiBjb25maWd1cmF0aW9uOwotCiAgICAgaWYgKHNhbmRib3hFeHRlbnNpb25IYW5kbGUp
IHsKICAgICAgICAgbV9zYW5kYm94RXh0ZW5zaW9uID0gU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRl
KFdURk1vdmUoc2FuZGJveEV4dGVuc2lvbkhhbmRsZS52YWx1ZSgpKSk7CiAgICAgICAgIGlmICht
X3NhbmRib3hFeHRlbnNpb24pCkBAIC0yODksNyArMjg4LDcgQEAgdm9pZCBSZW1vdGVNZWRpYVBs
YXllclByb3h5OjptZWRpYVBsYXllckVuZ2luZUZhaWxlZFRvTG9hZCgpIGNvbnN0CiAjaWYgRU5B
QkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpCiBTdHJpbmcgUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eTo6bWVkaWFQbGF5ZXJNZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KCkgY29uc3QKIHsKLSAgICBy
ZXR1cm4gbV9jb25maWd1cmF0aW9uLm1lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rvcnk7CisgICAgcmV0
dXJuIG1fbWFuYWdlci5ncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKCkubWVkaWFLZXlzU3RvcmFn
ZURpcmVjdG9yeSgpOwogfQogI2VuZGlmCiAKQEAgLTMxNyw3ICszMTYsNyBAQCBTdHJpbmcgUmVt
b3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJOZXR3b3JrSW50ZXJmYWNlTmFtZSgpIGNv
bnN0CiAKIGNvbnN0IFN0cmluZyYgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJN
ZWRpYUNhY2hlRGlyZWN0b3J5KCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9jb25maWd1cmF0aW9u
Lm1lZGlhQ2FjaGVEaXJlY3Rvcnk7CisgICAgcmV0dXJuIG1fbWFuYWdlci5ncHVDb25uZWN0aW9u
VG9XZWJQcm9jZXNzKCkubWVkaWFDYWNoZURpcmVjdG9yeSgpOwogfQogCiBjb25zdCBWZWN0b3I8
V2ViQ29yZTo6Q29udGVudFR5cGU+JiBSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYUNvbnRl
bnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJlU3VwcG9ydCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaAppbmRl
eCBjYWE5NmEzNDI2ODM5ZjgxMGQxNDJjYzJhM2Y3NTc2MDg5NDE2MzBlLi5hYWMzNmQwNGE5MWRl
MWJmN2VmMDU1ZDQwNjM0Njk0ODMxNWRjOWQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmgKQEAgLTc3LDcgKzc3
LDcgQEAgcHVibGljOgogICAgIHZvaWQgcHJlcGFyZUZvclBsYXliYWNrKGJvb2wgcHJpdmF0ZU1v
ZGUsIFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6OlByZWxvYWQsIGJvb2wgcHJlc2VydmVzUGl0
Y2gsIGJvb2wgcHJlcGFyZUZvclJlbmRlcmluZywgV2ViQ29yZTo6TGF5b3V0UmVjdCwgZmxvYXQg
dmlkZW9Db250ZW50U2NhbGUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8TGF5ZXJI
b3N0aW5nQ29udGV4dElEPiYmKT4mJik7CiAgICAgdm9pZCBwcmVwYXJlRm9yUmVuZGVyaW5nKCk7
CiAKLSAgICB2b2lkIGxvYWQoY29uc3QgVVJMJiwgT3B0aW9uYWw8U2FuZGJveEV4dGVuc2lvbjo6
SGFuZGxlPiYmLCBjb25zdCBXZWJDb3JlOjpDb250ZW50VHlwZSYsIGNvbnN0IFN0cmluZyYsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoUmVtb3RlTWVkaWFQbGF5ZXJDb25maWd1cmF0aW9uJiYpPiYm
KTsKKyAgICB2b2lkIGxvYWQoVVJMJiYsIE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRs
ZT4mJiwgY29uc3QgV2ViQ29yZTo6Q29udGVudFR5cGUmLCBjb25zdCBTdHJpbmcmLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKFJlbW90ZU1lZGlhUGxheWVyQ29uZmlndXJhdGlvbiYmKT4mJik7CiAg
ICAgdm9pZCBjYW5jZWxMb2FkKCk7CiAKICAgICB2b2lkIHByZXBhcmVUb1BsYXkoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclBy
b3h5Q29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90
ZU1lZGlhUGxheWVyUHJveHlDb25maWd1cmF0aW9uLmgKaW5kZXggZWMyNmViOGZmNDhmZGMzODM0
YTYyYTE3ZDAwNWJlZjRjOTAxZWQ3NS4uZThjNzVhY2YxZDg2OGYwNTE1MDE3ZmQ3MmFjYWVkMDkz
ZmI3YTIzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90
ZU1lZGlhUGxheWVyUHJveHlDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHlDb25maWd1cmF0aW9uLmgKQEAgLTMz
LDEyICszMywxMCBAQAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIHN0cnVjdCBSZW1vdGVNZWRpYVBs
YXllclByb3h5Q29uZmlndXJhdGlvbiB7Ci0gICAgU3RyaW5nIG1lZGlhS2V5c1N0b3JhZ2VEaXJl
Y3Rvcnk7CiAgICAgU3RyaW5nIHJlZmVycmVyOwogICAgIFN0cmluZyB1c2VyQWdlbnQ7CiAgICAg
U3RyaW5nIHNvdXJjZUFwcGxpY2F0aW9uSWRlbnRpZmllcjsKICAgICBTdHJpbmcgbmV0d29ya0lu
dGVyZmFjZU5hbWU7Ci0gICAgU3RyaW5nIG1lZGlhQ2FjaGVEaXJlY3Rvcnk7CiAgICAgVmVjdG9y
PFdlYkNvcmU6OkNvbnRlbnRUeXBlPiBtZWRpYUNvbnRlbnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJl
U3VwcG9ydDsKICAgICBWZWN0b3I8U3RyaW5nPiBwcmVmZXJyZWRBdWRpb0NoYXJhY3RlcmlzdGlj
czsKICAgICB1aW50NjRfdCBsb2dJZGVudGlmaWVyIHsgMCB9OwpAQCAtNDgsMTIgKzQ2LDEwIEBA
IHN0cnVjdCBSZW1vdGVNZWRpYVBsYXllclByb3h5Q29uZmlndXJhdGlvbiB7CiAgICAgdGVtcGxh
dGU8Y2xhc3MgRW5jb2Rlcj4KICAgICB2b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25z
dAogICAgIHsKLSAgICAgICAgZW5jb2RlciA8PCBtZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5Owog
ICAgICAgICBlbmNvZGVyIDw8IHJlZmVycmVyOwogICAgICAgICBlbmNvZGVyIDw8IHVzZXJBZ2Vu
dDsKICAgICAgICAgZW5jb2RlciA8PCBzb3VyY2VBcHBsaWNhdGlvbklkZW50aWZpZXI7CiAgICAg
ICAgIGVuY29kZXIgPDwgbmV0d29ya0ludGVyZmFjZU5hbWU7Ci0gICAgICAgIGVuY29kZXIgPDwg
bWVkaWFDYWNoZURpcmVjdG9yeTsKICAgICAgICAgZW5jb2RlciA8PCBtZWRpYUNvbnRlbnRUeXBl
c1JlcXVpcmluZ0hhcmR3YXJlU3VwcG9ydDsKICAgICAgICAgZW5jb2RlciA8PCBwcmVmZXJyZWRB
dWRpb0NoYXJhY3RlcmlzdGljczsKICAgICAgICAgZW5jb2RlciA8PCBsb2dJZGVudGlmaWVyOwpA
QCAtNjQsMTEgKzYwLDYgQEAgc3RydWN0IFJlbW90ZU1lZGlhUGxheWVyUHJveHlDb25maWd1cmF0
aW9uIHsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgRGVjb2Rlcj4KICAgICBzdGF0aWMgT3B0aW9uYWw8
UmVtb3RlTWVkaWFQbGF5ZXJQcm94eUNvbmZpZ3VyYXRpb24+IGRlY29kZShEZWNvZGVyJiBkZWNv
ZGVyKQogICAgIHsKLSAgICAgICAgT3B0aW9uYWw8U3RyaW5nPiBtZWRpYUtleXNTdG9yYWdlRGly
ZWN0b3J5OwotICAgICAgICBkZWNvZGVyID4+IG1lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rvcnk7Ci0g
ICAgICAgIGlmICghbWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSkKLSAgICAgICAgICAgIHJldHVy
biBXVEY6Om51bGxvcHQ7Ci0KICAgICAgICAgT3B0aW9uYWw8U3RyaW5nPiByZWZlcnJlcjsKICAg
ICAgICAgZGVjb2RlciA+PiByZWZlcnJlcjsKICAgICAgICAgaWYgKCFyZWZlcnJlcikKQEAgLTg5
LDExICs4MCw2IEBAIHN0cnVjdCBSZW1vdGVNZWRpYVBsYXllclByb3h5Q29uZmlndXJhdGlvbiB7
CiAgICAgICAgIGlmICghbmV0d29ya0ludGVyZmFjZU5hbWUpCiAgICAgICAgICAgICByZXR1cm4g
V1RGOjpudWxsb3B0OwogCi0gICAgICAgIE9wdGlvbmFsPFN0cmluZz4gbWVkaWFDYWNoZURpcmVj
dG9yeTsKLSAgICAgICAgZGVjb2RlciA+PiBtZWRpYUNhY2hlRGlyZWN0b3J5OwotICAgICAgICBp
ZiAoIW1lZGlhQ2FjaGVEaXJlY3RvcnkpCi0gICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0
OwotCiAgICAgICAgIE9wdGlvbmFsPFZlY3RvcjxXZWJDb3JlOjpDb250ZW50VHlwZT4+IG1lZGlh
Q29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0OwogICAgICAgICBkZWNvZGVyID4+
IG1lZGlhQ29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0OwogICAgICAgICBpZiAo
IW1lZGlhQ29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0KQpAQCAtMTIwLDEyICsx
MDYsMTAgQEAgc3RydWN0IFJlbW90ZU1lZGlhUGxheWVyUHJveHlDb25maWd1cmF0aW9uIHsKICAg
ICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKICAgICAgICAgcmV0dXJuIHt7Ci0gICAg
ICAgICAgICBXVEZNb3ZlKCptZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KSwKICAgICAgICAgICAg
IFdURk1vdmUoKnJlZmVycmVyKSwKICAgICAgICAgICAgIFdURk1vdmUoKnVzZXJBZ2VudCksCiAg
ICAgICAgICAgICBXVEZNb3ZlKCpzb3VyY2VBcHBsaWNhdGlvbklkZW50aWZpZXIpLAogICAgICAg
ICAgICAgV1RGTW92ZSgqbmV0d29ya0ludGVyZmFjZU5hbWUpLAotICAgICAgICAgICAgV1RGTW92
ZSgqbWVkaWFDYWNoZURpcmVjdG9yeSksCiAgICAgICAgICAgICBXVEZNb3ZlKCptZWRpYUNvbnRl
bnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJlU3VwcG9ydCksCiAgICAgICAgICAgICBXVEZNb3ZlKCpw
cmVmZXJyZWRBdWRpb0NoYXJhY3RlcmlzdGljcyksCiAgICAgICAgICAgICAqbG9nSWRlbnRpZmll
ciwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJv
eHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHAK
aW5kZXggYjlmODcxOGZjNzFiMGM3OTA3ZDg4MjA4NzVkN2I1ZjhkYjhmYWE3Zi4uNGZlYzRlZTk0
YTc0MjJkZTY0MmVlYTllNDM4YjZlMTZhMDdjZTZmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNs
dWRlICJHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgiCiAjaW5jbHVkZSAiR1BVUHJvY2Vz
c01lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiR1BVUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCIKKyNpbmNs
dWRlICJHUFVQcm9jZXNzU2Vzc2lvblBhcmFtZXRlcnMuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgi
CiAjaW5jbHVkZSAiV2ViUGFnZU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5Lmgi
CkBAIC04Miw2ICs4Myw4IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzaG91bGRDcmVhdGVNaWNyb3Bo
b25lU2FuZGJveEV4dGVuc2lvbigpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK0dQVVByb2Nlc3NQ
cm94eSogR1BVUHJvY2Vzc1Byb3h5OjptX3NpbmdsZXRvbiA9IG51bGxwdHI7CisKIEdQVVByb2Nl
c3NQcm94eSYgR1BVUHJvY2Vzc1Byb3h5OjpzaW5nbGV0b24oKQogewogICAgIEFTU0VSVChSdW5M
b29wOjppc01haW4oKSk7CkBAIC0xMTAsNiArMTEzLDggQEAgR1BVUHJvY2Vzc1Byb3h5JiBHUFVQ
cm9jZXNzUHJveHk6OnNpbmdsZXRvbigpCiAgICAgICAgIC8vIEluaXRpYWxpemUgdGhlIEdQVSBw
cm9jZXNzLgogICAgICAgICBncHVQcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpHUFVQcm9jZXNzOjpJ
bml0aWFsaXplR1BVUHJvY2VzcyhwYXJhbWV0ZXJzKSwgMCk7CiAgICAgICAgIGdwdVByb2Nlc3Mt
PnVwZGF0ZVByb2Nlc3NBc3NlcnRpb24oKTsKKworICAgICAgICBtX3NpbmdsZXRvbiA9ICZncHVQ
cm9jZXNzLmdldCgpOwogICAgIH0pOwogCiAgICAgcmV0dXJuIGdwdVByb2Nlc3MuZ2V0KCk7CkBA
IC0xNjYsNiArMTcxLDggQEAgdm9pZCBHUFVQcm9jZXNzUHJveHk6OmdldEdQVVByb2Nlc3NDb25u
ZWN0aW9uKFdlYlByb2Nlc3NQcm94eSYgd2ViUHJvY2Vzc1Byb3h5LAogCiB2b2lkIEdQVVByb2Nl
c3NQcm94eTo6b3BlbkdQVVByb2Nlc3NDb25uZWN0aW9uKENvbm5lY3Rpb25SZXF1ZXN0SWRlbnRp
ZmllciBjb25uZWN0aW9uUmVxdWVzdElkZW50aWZpZXIsIFdlYlByb2Nlc3NQcm94eSYgd2ViUHJv
Y2Vzc1Byb3h5KQogeworICAgIGFkZFNlc3Npb24od2ViUHJvY2Vzc1Byb3h5LndlYnNpdGVEYXRh
U3RvcmUoKSk7CisKICAgICBhdXRvJiBjb25uZWN0aW9uID0gKnRoaXMtPmNvbm5lY3Rpb24oKTsK
IAogICAgIGNvbm5lY3Rpb24uc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpHUFVQcm9jZXNz
OjpDcmVhdGVHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzIHsgd2ViUHJvY2Vzc1Byb3h5LmNvcmVQ
cm9jZXNzSWRlbnRpZmllcigpLCB3ZWJQcm9jZXNzUHJveHkuc2Vzc2lvbklEKCkgfSwgW3RoaXMs
IHdlYWtUaGlzID0gbWFrZVdlYWtQdHIodGhpcyksIHdlYlByb2Nlc3NQcm94eSA9IG1ha2VXZWFr
UHRyKHdlYlByb2Nlc3NQcm94eSksIGNvbm5lY3Rpb25SZXF1ZXN0SWRlbnRpZmllcl0oYXV0byYm
IGNvbm5lY3Rpb25JZGVudGlmaWVyKSBtdXRhYmxlIHsKQEAgLTI2OCw2ICsyNzUsNDYgQEAgdm9p
ZCBHUFVQcm9jZXNzUHJveHk6OnVwZGF0ZVByb2Nlc3NBc3NlcnRpb24oKQogICAgIG1fYWN0aXZp
dHlGcm9tV2ViUHJvY2Vzc2VzID0gbnVsbHB0cjsKIH0KIAorc3RhdGljIGlubGluZSBHUFVQcm9j
ZXNzU2Vzc2lvblBhcmFtZXRlcnMgZ3B1UHJvY2Vzc1Nlc3Npb25QYXJhbWV0ZXJzKGNvbnN0IFdl
YnNpdGVEYXRhU3RvcmUmIHN0b3JlKQoreworICAgIEdQVVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVy
cyBwYXJhbWV0ZXJzOworCisgICAgcGFyYW1ldGVycy5tZWRpYUNhY2hlRGlyZWN0b3J5ID0gc3Rv
cmUucmVzb2x2ZWRNZWRpYUNhY2hlRGlyZWN0b3J5KCk7CisgICAgU2FuZGJveEV4dGVuc2lvbjo6
SGFuZGxlIG1lZGlhQ2FjaGVEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGU7CisgICAgaWYgKCFwYXJh
bWV0ZXJzLm1lZGlhQ2FjaGVEaXJlY3RvcnkuaXNFbXB0eSgpKQorICAgICAgICBTYW5kYm94RXh0
ZW5zaW9uOjpjcmVhdGVIYW5kbGVXaXRob3V0UmVzb2x2aW5nUGF0aChwYXJhbWV0ZXJzLm1lZGlh
Q2FjaGVEaXJlY3RvcnksIFNhbmRib3hFeHRlbnNpb246OlR5cGU6OlJlYWRXcml0ZSwgcGFyYW1l
dGVycy5tZWRpYUNhY2hlRGlyZWN0b3J5U2FuZGJveEV4dGVuc2lvbkhhbmRsZSk7CisKKyNpZiBF
TkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKKyAgICBwYXJhbWV0ZXJzLm1lZGlhS2V5c1N0
b3JhZ2VEaXJlY3RvcnkgPSBzdG9yZS5yZXNvbHZlZE1lZGlhS2V5c0RpcmVjdG9yeSgpOworICAg
IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBtZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5U2FuZGJv
eEV4dGVuc2lvbkhhbmRsZTsKKyAgICBpZiAoIXBhcmFtZXRlcnMubWVkaWFLZXlzU3RvcmFnZURp
cmVjdG9yeS5pc0VtcHR5KCkpCisgICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRs
ZVdpdGhvdXRSZXNvbHZpbmdQYXRoKHBhcmFtZXRlcnMubWVkaWFLZXlzU3RvcmFnZURpcmVjdG9y
eSwgU2FuZGJveEV4dGVuc2lvbjo6VHlwZTo6UmVhZFdyaXRlLCBwYXJhbWV0ZXJzLm1lZGlhS2V5
c1N0b3JhZ2VEaXJlY3RvcnlTYW5kYm94RXh0ZW5zaW9uSGFuZGxlKTsKKyNlbmRpZgorCisgICAg
cmV0dXJuIHBhcmFtZXRlcnM7Cit9CisKK3ZvaWQgR1BVUHJvY2Vzc1Byb3h5OjphZGRTZXNzaW9u
KGNvbnN0IFdlYnNpdGVEYXRhU3RvcmUmIHN0b3JlKQoreworICAgIGlmICghY2FuU2VuZE1lc3Nh
Z2UoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKG1fc2Vzc2lvbklEcy5jb250YWlucyhz
dG9yZS5zZXNzaW9uSUQoKSkpCisgICAgICAgIHJldHVybjsKKworICAgIHNlbmQoTWVzc2FnZXM6
OkdQVVByb2Nlc3M6OkFkZFNlc3Npb24geyBzdG9yZS5zZXNzaW9uSUQoKSwgZ3B1UHJvY2Vzc1Nl
c3Npb25QYXJhbWV0ZXJzKHN0b3JlKSB9LCAwKTsKKyAgICBtX3Nlc3Npb25JRHMuYWRkKHN0b3Jl
LnNlc3Npb25JRCgpKTsKK30KKwordm9pZCBHUFVQcm9jZXNzUHJveHk6OnJlbW92ZVNlc3Npb24o
UEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKQoreworICAgIGlmICghY2FuU2VuZE1lc3NhZ2UoKSkK
KyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKG1fc2Vzc2lvbklEcy5yZW1vdmUoc2Vzc2lvbklE
KSkKKyAgICAgICAgc2VuZChNZXNzYWdlczo6R1BVUHJvY2Vzczo6UmVtb3ZlU2Vzc2lvbiB7IHNl
c3Npb25JRCB9LCAwKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICN1bmRlZiBNRVNT
QUdFX0NIRUNLCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJv
Y2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5
LmgKaW5kZXggMGMyNDE5ZDgxYzljNDc3NjI0YmQ2ODg0ZWEzMWIwNWZlNWY2NTM4MC4uYmM1NzYy
Y2ZmNzU1YmI3OGJlNGM1YWQ5MTUxN2E1M2U0ZWY3MDMzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuaApAQCAtMzUsMTAgKzM1LDEyIEBACiAjaW5j
bHVkZSAiV2ViUGFnZVByb3h5SWRlbnRpZmllci5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94
eU1lc3NhZ2VzUmVwbGllcy5oIgogI2luY2x1ZGUgPG1lbW9yeT4KKyNpbmNsdWRlIDxwYWwvU2Vz
c2lvbklELmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJQcm9jZXNzUHJveHk7
CitjbGFzcyBXZWJzaXRlRGF0YVN0b3JlOwogc3RydWN0IEdQVVByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnM7CiAKIGNsYXNzIEdQVVByb2Nlc3NQcm94eSBmaW5hbCA6IHB1YmxpYyBBdXhpbGlhcnlQ
cm9jZXNzUHJveHksIHByaXZhdGUgUHJvY2Vzc1Rocm90dGxlckNsaWVudCwgcHVibGljIENhbk1h
a2VXZWFrUHRyPEdQVVByb2Nlc3NQcm94eT4gewpAQCAtNDcsNiArNDksNyBAQCBjbGFzcyBHUFVQ
cm9jZXNzUHJveHkgZmluYWwgOiBwdWJsaWMgQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5LCBwcml2YXRl
IFByb2Nlc3NUaHJvdAogICAgIGZyaWVuZCBMYXp5TmV2ZXJEZXN0cm95ZWQ8R1BVUHJvY2Vzc1By
b3h5PjsKIHB1YmxpYzoKICAgICBzdGF0aWMgR1BVUHJvY2Vzc1Byb3h5JiBzaW5nbGV0b24oKTsK
KyAgICBzdGF0aWMgR1BVUHJvY2Vzc1Byb3h5KiBzaW5nbGV0b25JZkNyZWF0ZWQoKSB7IHJldHVy
biBtX3NpbmdsZXRvbjsgfQogCiAgICAgdm9pZCBnZXRHUFVQcm9jZXNzQ29ubmVjdGlvbihXZWJQ
cm9jZXNzUHJveHkmLCBNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRHUFVQcm9jZXNzQ29u
bmVjdGlvbkRlbGF5ZWRSZXBseSYmKTsKIApAQCAtNjAsMTAgKzYzLDE0IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNldFVzZU1vY2tDYXB0dXJlRGV2aWNlcyhib29sKTsKICNlbmRpZgogCisgICAgdm9p
ZCByZW1vdmVTZXNzaW9uKFBBTDo6U2Vzc2lvbklEKTsKKwogcHJpdmF0ZToKICAgICBleHBsaWNp
dCBHUFVQcm9jZXNzUHJveHkoKTsKICAgICB+R1BVUHJvY2Vzc1Byb3h5KCk7CiAKKyAgICB2b2lk
IGFkZFNlc3Npb24oY29uc3QgV2Vic2l0ZURhdGFTdG9yZSYpOworCiAgICAgLy8gQXV4aWxpYXJ5
UHJvY2Vzc1Byb3h5CiAgICAgQVNDSUlMaXRlcmFsIHByb2Nlc3NOYW1lKCkgY29uc3QgZmluYWwg
eyByZXR1cm4gIkdQVSJfczsgfQogCkBAIC04Nyw2ICs5NCw4IEBAIHByaXZhdGU6CiAgICAgdm9p
ZCBkaWRDbG9zZShJUEM6OkNvbm5lY3Rpb24mKSBvdmVycmlkZTsKICAgICB2b2lkIGRpZFJlY2Vp
dmVJbnZhbGlkTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OlN0cmluZ1JlZmVyZW5jZSBt
ZXNzYWdlUmVjZWl2ZXJOYW1lLCBJUEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlTmFtZSkgb3Zl
cnJpZGU7CiAKKyAgICBzdGF0aWMgR1BVUHJvY2Vzc1Byb3h5KiBtX3NpbmdsZXRvbjsKKwogICAg
IHN0cnVjdCBDb25uZWN0aW9uUmVxdWVzdCB7CiAgICAgICAgIFdlYWtQdHI8V2ViUHJvY2Vzc1By
b3h5PiB3ZWJQcm9jZXNzOwogICAgICAgICBNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRH
UFVQcm9jZXNzQ29ubmVjdGlvbkRlbGF5ZWRSZXBseSByZXBseTsKQEAgLTk5LDYgKzEwOCw3IEBA
IHByaXZhdGU6CiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICBib29sIG1fdXNlTW9ja0Nh
cHR1cmVEZXZpY2VzIHsgZmFsc2UgfTsKICNlbmRpZgorICAgIEhhc2hTZXQ8UEFMOjpTZXNzaW9u
SUQ+IG1fc2Vzc2lvbklEczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3Jl
LmNwcAppbmRleCA0ZTg1MmExYWIwZDQ1YTBjNzJjMGMyNzc4ZWIwNmUwNTliOGM2NDA2Li43NDA0
ZTg4NTRlYzEzM2NmZDAwZmQ5OTc4NzRiMzc1NjY5ZmY1ODAyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcApA
QCAtMTM0LDcgKzEzNCwxMSBAQCBXZWJzaXRlRGF0YVN0b3JlOjp+V2Vic2l0ZURhdGFTdG9yZSgp
CiAgICAgICAgICAgICBpZiAoYXV0byogbmV0d29ya1Byb2Nlc3MgPSBwcm9jZXNzUG9vbC0+bmV0
d29ya1Byb2Nlc3MoKSkKICAgICAgICAgICAgICAgICBuZXR3b3JrUHJvY2Vzcy0+cmVtb3ZlU2Vz
c2lvbihtX3Nlc3Npb25JRCk7CiAgICAgICAgIH0KKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCisg
ICAgICAgIGlmIChhdXRvKiBncHVQcm9jZXNzUHJveHkgPSBHUFVQcm9jZXNzUHJveHk6OnNpbmds
ZXRvbklmQ3JlYXRlZCgpKQorICAgICAgICAgICAgZ3B1UHJvY2Vzc1Byb3h5LT5yZW1vdmVTZXNz
aW9uKG1fc2Vzc2lvbklEKTsKICAgICB9CisjZW5kaWYKIH0KIAogc3RhdGljIFJlZlB0cjxXZWJz
aXRlRGF0YVN0b3JlPiYgZ2xvYmFsRGVmYXVsdERhdGFTdG9yZSgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA3Njk3YzRjNThkNDcyYzY0
YzZiYjkwYzRjZGRlNmNkNWM2ZTU5YmNhLi5iZTY0MjIwNDc3NWUyNTU1Y2NiYTVmZGU5ZjhlNGFl
ODM1NWVkZGQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTMzNDksNiArMzM0OSw3IEBACiAJCTQxM0NDRDRGMjBERUJDMkYwMDY1QTIx
QSAvKiBjb20uZ29vZ2xlLmdvb2dsZXRhbGticm93c2VycGx1Z2luLnNiICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IGNvbS5nb29nbGUuZ29vZ2xldGFsa2Jyb3dzZXJwbHVnaW4uc2I7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNDM3NTFCMjBFQUVBMUUwMEZBRDA2QyAvKiBjbi5taWNy
b2RvbmUuY21iLnNhZmFyaS5zYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBjbi5taWNyb2RvbmUu
Y21iLnNhZmFyaS5zYjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE0REQzNzgyMEJG
NDNFQTAwNjk1OUZCIC8qIGNvbS5jaXNjby53ZWJleC5wbHVnaW4uZ3BjNjQuc2IgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gY29tLmNpc2NvLndlYmV4LnBsdWdpbi5ncGM2NC5zYjsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE1MEE1QTAyM0UwNkM5MTAwNTEyNjRBIC8qIEdQVVByb2Nl
c3NTZXNzaW9uUGFyYW1ldGVycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBH
UFVQcm9jZXNzU2Vzc2lvblBhcmFtZXRlcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDE1MTg1MzUyMjI3MDRGNTAwNTQzMEM2IC8qIFNlcnZpY2VXb3JrZXJGZXRjaFRhc2suaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2VydmljZVdvcmtlckZldGNoVGFzay5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTUxODUzNjIyMjcwNEY2MDA1NDMwQzYg
LyogU2VydmljZVdvcmtlckZldGNoVGFzay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNDE1MTg1MzgyMjI3MEY1MzAwNTQzMEM2IC8qIFNlcnZpY2VXb3JrZXJGZXRj
aFRhc2subWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU2VydmljZVdvcmtlckZl
dGNoVGFzay5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTY1MDYs
NiArNjUwNyw3IEBACiAJCQkJMkQ5RkIyMDIyMzc1MjA5RDAwNDlGOTM2IC8qIEdQVVByb2Nlc3Mu
bWVzc2FnZXMuaW4gKi8sCiAJCQkJMkQ5RkIyMTQyMzc1MjA5RDAwNDlGOTM2IC8qIEdQVVByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwICovLAogCQkJCTJEOUZCMjAzMjM3NTIwOUQwMDQ5Rjkz
NiAvKiBHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggKi8sCisJCQkJNDE1MEE1QTAyM0Uw
NkM5MTAwNTEyNjRBIC8qIEdQVVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVycy5oICovLAogCQkJKTsK
IAkJCXBhdGggPSBHUFVQcm9jZXNzOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5
ZXJNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3Rl
TWVkaWFQbGF5ZXJNYW5hZ2VyLmNwcAppbmRleCBlZDhmZDAyMDhkNmM5YmE2NjJjZjk3ZDVkZmVk
NDM3MDE2MzBmY2Y1Li44ZjA1Mzc2ODM3OGViMDVjZWQzMjFmZmNmMTE5MjNiNTllZWZjMzJiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlh
UGxheWVyTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRp
YS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuY3BwCkBAIC0xNDcsMTYgKzE0NywxMiBAQCBzdGQ6
OnVuaXF1ZV9wdHI8TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlPiBSZW1vdGVNZWRpYVBsYXll
ck1hbmFnZXI6OmNyZWF0ZVJlbQogICAgIGF1dG8gaWQgPSBNZWRpYVBsYXllclByaXZhdGVSZW1v
dGVJZGVudGlmaWVyOjpnZW5lcmF0ZSgpOwogCiAgICAgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eUNv
bmZpZ3VyYXRpb24gcHJveHlDb25maWd1cmF0aW9uOwotI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQ
VEVEX01FRElBKQotICAgIHByb3h5Q29uZmlndXJhdGlvbi5tZWRpYUtleXNTdG9yYWdlRGlyZWN0
b3J5ID0gcGxheWVyLT5tZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KCk7Ci0jZW5kaWYKICAgICBw
cm94eUNvbmZpZ3VyYXRpb24ucmVmZXJyZXIgPSBwbGF5ZXItPnJlZmVycmVyKCk7CiAgICAgcHJv
eHlDb25maWd1cmF0aW9uLnVzZXJBZ2VudCA9IHBsYXllci0+dXNlckFnZW50KCk7CiAgICAgcHJv
eHlDb25maWd1cmF0aW9uLnNvdXJjZUFwcGxpY2F0aW9uSWRlbnRpZmllciA9IHBsYXllci0+c291
cmNlQXBwbGljYXRpb25JZGVudGlmaWVyKCk7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAg
ICBwcm94eUNvbmZpZ3VyYXRpb24ubmV0d29ya0ludGVyZmFjZU5hbWUgPSBwbGF5ZXItPm1lZGlh
UGxheWVyTmV0d29ya0ludGVyZmFjZU5hbWUoKTsKICNlbmRpZgotICAgIHByb3h5Q29uZmlndXJh
dGlvbi5tZWRpYUNhY2hlRGlyZWN0b3J5ID0gcGxheWVyLT5tZWRpYUNhY2hlRGlyZWN0b3J5KCk7
CiAgICAgcHJveHlDb25maWd1cmF0aW9uLm1lZGlhQ29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdh
cmVTdXBwb3J0ID0gcGxheWVyLT5tZWRpYUNvbnRlbnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJlU3Vw
cG9ydCgpOwogICAgIHByb3h5Q29uZmlndXJhdGlvbi5wcmVmZXJyZWRBdWRpb0NoYXJhY3Rlcmlz
dGljcyA9IHBsYXllci0+cHJlZmVycmVkQXVkaW9DaGFyYWN0ZXJpc3RpY3MoKTsKICAgICBwcm94
eUNvbmZpZ3VyYXRpb24ubG9nSWRlbnRpZmllciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3Q+
KHBsYXllci0+bWVkaWFQbGF5ZXJMb2dJZGVudGlmaWVyKCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389000</attachid>
            <date>2020-01-28 08:32:50 -0800</date>
            <delta_ts>2020-01-29 02:14:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206870-20200128173248.patch</filename>
            <type>text/plain</type>
            <size>28296</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MjM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGIzYTBiOWYxODBlOThjNWQ0
ZDJiNTU2MjUxMWIxNDRlNDRmYmEyZjQuLmEyZTY4YjAwMWNjNjJlNjI4N2YyYzM2M2FmYzZmYmEx
ZDVlOWY1N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDggQEAKKzIwMjAtMDEtMjggIHlvdWVubiBm
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFNlbmQgV2Vic2l0ZURhdGFTdG9y
ZSBtZWRpYSBwYXJhbWV0ZXJzIHRvIEdQVVByb2Nlc3Mgd2hlbiBuZWVkZWQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjg3MAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW5ldmVyIG9wZW5pbmcgYSBu
ZXcgV2ViUHJvY2Vzcy9HUFVQcm9jZXNzIGNvbm5lY3Rpb24sIG1ha2Ugc3VyZSBHUFVQcm9jZXNz
IGtub3dzIFdlYlByb2Nlc3Mgc2Vzc2lvbiBwYXJhbWV0ZXJzLgorICAgICAgICBNYWtlIHN1cmUg
dG8gcmVtb3ZlIHNlc3Npb24gcGFyYW1ldGVycyB3aGVuIGRhdGEgc3RvcmUgaXMgZGVzdHJveWVk
LgorICAgICAgICBVcGRhdGUgbWVkaWEgY29kZSB0byBubyBsb25nZXIgc2VuZCB0aGUgY29ycmVz
cG9uZGluZyBwYXJhbWV0ZXJzIGZvciBlYWNoIG1lZGlhIGxvYWQuCisKKyAgICAgICAgQ292ZXJl
ZCBieSBleGlzdGluZyB0ZXN0cyBubyBsb25nZXIgdHJpZ2dlcmluZyBzYW5kYm94IHZpb2xhdGlv
bnMuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjptZWRpYUNhY2hl
RGlyZWN0b3J5IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6R1BVQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzczo6bWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSBjb25zdCk6CisgICAgICAgICogR1BVUHJv
Y2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9H
UFVQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vzczo6YWRkU2Vzc2lvbik6
CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3M6OnJlbW92ZVNlc3Npb24pOgorICAgICAgICAo
V2ViS2l0OjpHUFVQcm9jZXNzOjptZWRpYUNhY2hlRGlyZWN0b3J5IGNvbnN0KToKKyAgICAgICAg
KFdlYktpdDo6R1BVUHJvY2Vzczo6bWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSBjb25zdCk6Cisg
ICAgICAgICogR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9H
UFVQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVy
UHJveHk6OmxvYWQpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5Ojpt
ZWRpYVBsYXllck1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkgY29uc3QpOgorICAgICAgICAoV2Vi
S2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllck1lZGlhQ2FjaGVEaXJlY3Rv
cnkgY29uc3QpOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eS5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eUNvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94
eUNvbmZpZ3VyYXRpb246OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1l
ZGlhUGxheWVyUHJveHlDb25maWd1cmF0aW9uOjpkZWNvZGUpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vzc1By
b3h5OjpzaW5nbGV0b24pOgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzUHJveHk6Om9wZW5H
UFVQcm9jZXNzQ29ubmVjdGlvbik6CisgICAgICAgIChXZWJLaXQ6OmdwdVByb2Nlc3NTZXNzaW9u
UGFyYW1ldGVycyk6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6YWRkU2Vzc2lv
bik6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6cmVtb3ZlU2Vzc2lvbik6Cisg
ICAgICAgICogVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYnNpdGVEYXRhU3RvcmU6On5XZWJzaXRlRGF0YVN0b3JlKToKKyAgICAgICAgKiBXZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRp
YS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVN
ZWRpYVBsYXllck1hbmFnZXI6OmNyZWF0ZVJlbW90ZU1lZGlhUGxheWVyKToKKwogMjAyMC0wMS0y
OCAgeW91ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBV
c2UgQVZBc3NldFdyaXRlckRlbGVnYXRlIHRvIGltcGxlbWVudCBNZWRpYVJlY29yZGVyCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cy5jcHAKaW5kZXggYzA5NDhkMDk5NWI5NmNiNTNlNTNmNGE3YWNlM2YzODZjYjUxMzhlYy4uYTZj
ZWU1NGM5N2M5MjE1YTY4NzNmNGRjYjEyYmRlNDdjMWRjNDBlYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcApAQCAt
MjYxLDYgKzI2MSwxOCBAQCB2b2lkIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZFJlY2Vp
dmVTeW5jTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3RpbwogICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwogfQogCitjb25zdCBTdHJpbmcmIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6
Om1lZGlhQ2FjaGVEaXJlY3RvcnkoKSBjb25zdAoreworICAgIHJldHVybiBtX2dwdVByb2Nlc3Mt
Pm1lZGlhQ2FjaGVEaXJlY3RvcnkobV9zZXNzaW9uSUQpOworfQorCisjaWYgRU5BQkxFKExFR0FD
WV9FTkNSWVBURURfTUVESUEpCitjb25zdCBTdHJpbmcmIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3M6Om1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKSBjb25zdAoreworICAgIHJldHVybiBtX2dw
dVByb2Nlc3MtPm1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkobV9zZXNzaW9uSUQpOworfQorI2Vu
ZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9D
RVNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25U
b1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzLmgKaW5kZXggYjk4ZDYyZjA2MjE0OTY4NmFhYjRmMDA1Yzg1M2RjYzY0Y2Y3ZjJj
OS4uMmI5YmQxZjg4N2JhZGFmYTRlYTVjNGJhMzQxNjlkOGI5NzhmZDYyZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCkBA
IC02NSw2ICs2NSwxMSBAQCBwdWJsaWM6CiAKICAgICBMb2dnZXImIGxvZ2dlcigpOwogCisgICAg
Y29uc3QgU3RyaW5nJiBtZWRpYUNhY2hlRGlyZWN0b3J5KCkgY29uc3Q7CisjaWYgRU5BQkxFKExF
R0FDWV9FTkNSWVBURURfTUVESUEpCisgICAgY29uc3QgU3RyaW5nJiBtZWRpYUtleXNTdG9yYWdl
RGlyZWN0b3J5KCkgY29uc3Q7CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBHUFVDb25uZWN0aW9u
VG9XZWJQcm9jZXNzKEdQVVByb2Nlc3MmLCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciwgSVBD
OjpDb25uZWN0aW9uOjpJZGVudGlmaWVyLCBQQUw6OlNlc3Npb25JRCk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcAppbmRleCA4NjE2MmUxYzhiMTI5ZThhMGZiMDBhZTg2
NGQyM2IzNzMwOTFlNmM4Li44ZmJlN2MyNzI5NjVhOTRlYTRiNTlmZWIzMmVlM2NlMWUwYTYzNDlm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwCkBAIC0zNCw2ICszNCw3
IEBACiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkdQVUNvbm5lY3Rpb25U
b1dlYlByb2Nlc3MuaCIKICNpbmNsdWRlICJHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgi
CisjaW5jbHVkZSAiR1BVUHJvY2Vzc1Nlc3Npb25QYXJhbWV0ZXJzLmgiCiAjaW5jbHVkZSAiTG9n
Z2luZy5oIgogI2luY2x1ZGUgIlNhbmRib3hFeHRlbnNpb24uaCIKICNpbmNsdWRlICJXZWJQYWdl
UHJveHlNZXNzYWdlcy5oIgpAQCAtMTU2LDYgKzE1Nyw0MiBAQCB2b2lkIEdQVVByb2Nlc3M6OnNl
dE1vY2tDYXB0dXJlRGV2aWNlc0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpCiAjZW5kaWYKIH0KIAor
dm9pZCBHUFVQcm9jZXNzOjphZGRTZXNzaW9uKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgR1BV
UHJvY2Vzc1Nlc3Npb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKK3sKKyAgICBBU1NFUlQoIW1f
c2Vzc2lvbnMuY29udGFpbnMoc2Vzc2lvbklEKSk7CisgICAgU2FuZGJveEV4dGVuc2lvbjo6Y29u
c3VtZVBlcm1hbmVudGx5KHBhcmFtZXRlcnMubWVkaWFDYWNoZURpcmVjdG9yeVNhbmRib3hFeHRl
bnNpb25IYW5kbGUpOworI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQorICAgIFNh
bmRib3hFeHRlbnNpb246OmNvbnN1bWVQZXJtYW5lbnRseShwYXJhbWV0ZXJzLm1lZGlhS2V5c1N0
b3JhZ2VEaXJlY3RvcnlTYW5kYm94RXh0ZW5zaW9uSGFuZGxlKTsKKyNlbmRpZgorCisgICAgbV9z
ZXNzaW9ucy5hZGQoc2Vzc2lvbklELCBHUFVTZXNzaW9uIHsKKyAgICAgICAgV1RGTW92ZShwYXJh
bWV0ZXJzLm1lZGlhQ2FjaGVEaXJlY3RvcnkpCisjaWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURf
TUVESUEpCisgICAgICAgICwgV1RGTW92ZShwYXJhbWV0ZXJzLm1lZGlhS2V5c1N0b3JhZ2VEaXJl
Y3RvcnkpCisjZW5kaWYKKyAgICB9KTsKK30KKwordm9pZCBHUFVQcm9jZXNzOjpyZW1vdmVTZXNz
aW9uKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkKK3sKKyAgICBBU1NFUlQobV9zZXNzaW9ucy5j
b250YWlucyhzZXNzaW9uSUQpKTsKKyAgICBtX3Nlc3Npb25zLnJlbW92ZShzZXNzaW9uSUQpOwor
fQorCitjb25zdCBTdHJpbmcmIEdQVVByb2Nlc3M6Om1lZGlhQ2FjaGVEaXJlY3RvcnkoUEFMOjpT
ZXNzaW9uSUQgc2Vzc2lvbklEKSBjb25zdAoreworICAgIEFTU0VSVChtX3Nlc3Npb25zLmNvbnRh
aW5zKHNlc3Npb25JRCkpOworICAgIHJldHVybiBtX3Nlc3Npb25zLmZpbmQoc2Vzc2lvbklEKS0+
dmFsdWUubWVkaWFDYWNoZURpcmVjdG9yeTsKK30KKworI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQ
VEVEX01FRElBKQorY29uc3QgU3RyaW5nJiBHUFVQcm9jZXNzOjptZWRpYUtleXNTdG9yYWdlRGly
ZWN0b3J5KFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkgY29uc3QKK3sKKyAgICBBU1NFUlQobV9z
ZXNzaW9ucy5jb250YWlucyhzZXNzaW9uSUQpKTsKKyAgICByZXR1cm4gbV9zZXNzaW9ucy5maW5k
KHNlc3Npb25JRCktPnZhbHVlLm1lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rvcnk7Cit9CisjZW5kaWYK
KwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NFU1Mp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuaAppbmRleCBhZTIwYmY5NGExMTUzNThk
YTUxZWRiNWFjMzE5YzQxM2E1OWQ1NDg0Li5mYTIxYWUwMjFkMzA1YjYzNDk2ODhlN2U0YWM5OWI0
ZTMzMzhiMmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vz
cy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgKQEAgLTM4LDYg
KzM4LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIEdQVUNvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3M7CiBzdHJ1Y3QgR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczsKK3N0cnVjdCBHUFVQ
cm9jZXNzU2Vzc2lvblBhcmFtZXRlcnM7CiAKIGNsYXNzIEdQVVByb2Nlc3MgOiBwdWJsaWMgQXV4
aWxpYXJ5UHJvY2VzcywgcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPEdQVVByb2Nlc3M+LCBw
dWJsaWMgQ2FuTWFrZVdlYWtQdHI8R1BVUHJvY2Vzcz4gewogICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEdQVVByb2Nlc3MpOwpAQCAtNTYsNiArNTcsMTEgQEAgcHVibGljOgogCiAgICAgR1BVQ29u
bmVjdGlvblRvV2ViUHJvY2Vzcyogd2ViUHJvY2Vzc0Nvbm5lY3Rpb24oV2ViQ29yZTo6UHJvY2Vz
c0lkZW50aWZpZXIpIGNvbnN0OwogCisgICAgY29uc3QgU3RyaW5nJiBtZWRpYUNhY2hlRGlyZWN0
b3J5KFBBTDo6U2Vzc2lvbklEKSBjb25zdDsKKyNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9N
RURJQSkKKyAgICBjb25zdCBTdHJpbmcmIG1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoUEFMOjpT
ZXNzaW9uSUQpIGNvbnN0OworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgdm9pZCBsb3dNZW1vcnlI
YW5kbGVyKENyaXRpY2FsKTsKIApAQCAtNzIsNiArNzgsOCBAQCBwcml2YXRlOgogICAgIC8vIE1l
c3NhZ2UgSGFuZGxlcnMKICAgICB2b2lkIGluaXRpYWxpemVHUFVQcm9jZXNzKEdQVVByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMmJik7CiAgICAgdm9pZCBjcmVhdGVHUFVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzKFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyLCBQQUw6OlNlc3Npb25JRCwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxJUEM6OkF0dGFjaG1lbnQ+JiYpPiYmKTsKKyAgICB2
b2lkIGFkZFNlc3Npb24oUEFMOjpTZXNzaW9uSUQsIEdQVVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVy
cyYmKTsKKyAgICB2b2lkIHJlbW92ZVNlc3Npb24oUEFMOjpTZXNzaW9uSUQpOwogCiAgICAgdm9p
ZCBwcm9jZXNzRGlkVHJhbnNpdGlvblRvRm9yZWdyb3VuZCgpOwogICAgIHZvaWQgcHJvY2Vzc0Rp
ZFRyYW5zaXRpb25Ub0JhY2tncm91bmQoKTsKQEAgLTc5LDYgKzg3LDE0IEBAIHByaXZhdGU6CiAK
ICAgICAvLyBDb25uZWN0aW9ucyB0byBXZWJQcm9jZXNzZXMuCiAgICAgSGFzaE1hcDxXZWJDb3Jl
OjpQcm9jZXNzSWRlbnRpZmllciwgUmVmPEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M+PiBtX3dl
YlByb2Nlc3NDb25uZWN0aW9uczsKKworICAgIHN0cnVjdCBHUFVTZXNzaW9uIHsKKyAgICAgICAg
U3RyaW5nIG1lZGlhQ2FjaGVEaXJlY3Rvcnk7CisjaWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURf
TUVESUEpCisgICAgICAgIFN0cmluZyBtZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5OworI2VuZGlm
CisgICAgfTsKKyAgICBIYXNoTWFwPFBBTDo6U2Vzc2lvbklELCBHUFVTZXNzaW9uPiBtX3Nlc3Np
b25zOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IGZiYTY3ZWQzYjJmYTYwZGU1NDI4
MDAzYzRjMTFlOGJiYWU4OTY4NmEuLjRkNzc5OWJmYzQ0OTk0MThiYWRhZDZhNzA2MjY4Mjc4OWRj
OWVhMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLm1l
c3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLm1lc3Nh
Z2VzLmluCkBAIC0zMiw2ICszMiw5IEBAIG1lc3NhZ2VzIC0+IEdQVVByb2Nlc3MgewogICAgIFBy
b2Nlc3NEaWRUcmFuc2l0aW9uVG9Gb3JlZ3JvdW5kKCkKICAgICBQcm9jZXNzRGlkVHJhbnNpdGlv
blRvQmFja2dyb3VuZCgpCiAKKyAgICBBZGRTZXNzaW9uKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25J
RCwgc3RydWN0IFdlYktpdDo6R1BVUHJvY2Vzc1Nlc3Npb25QYXJhbWV0ZXJzIHBhcmFtZXRlcnMp
CisgICAgUmVtb3ZlU2Vzc2lvbihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCisKICNpZiBFTkFC
TEUoTUVESUFfU1RSRUFNKQogICAgIFNldE1vY2tDYXB0dXJlRGV2aWNlc0VuYWJsZWQoYm9vbCBp
c0VuYWJsZWQpCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9H
UFVQcm9jZXNzU2Vzc2lvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9H
UFVQcm9jZXNzU2Vzc2lvblBhcmFtZXRlcnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNjM2Y2UxYzQ4MzkyNzRj
ZmJkMDA0MWI4MGMxYzBiY2YyMzVhMWFjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVycy5oCkBAIC0wLDAgKzEsOTIg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykK
KworI2luY2x1ZGUgIlNhbmRib3hFeHRlbnNpb24uaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0NvbnRl
bnRUeXBlLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBX
ZWJLaXQgeworCitzdHJ1Y3QgR1BVUHJvY2Vzc1Nlc3Npb25QYXJhbWV0ZXJzIHsKKyAgICBTdHJp
bmcgbWVkaWFDYWNoZURpcmVjdG9yeTsKKyAgICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgbWVk
aWFDYWNoZURpcmVjdG9yeVNhbmRib3hFeHRlbnNpb25IYW5kbGU7CisKKyNpZiBFTkFCTEUoTEVH
QUNZX0VOQ1JZUFRFRF9NRURJQSkKKyAgICBTdHJpbmcgbWVkaWFLZXlzU3RvcmFnZURpcmVjdG9y
eTsKKyAgICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgbWVkaWFLZXlzU3RvcmFnZURpcmVjdG9y
eVNhbmRib3hFeHRlbnNpb25IYW5kbGU7CisjZW5kaWYKKworICAgIHRlbXBsYXRlPGNsYXNzIEVu
Y29kZXI+CisgICAgdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKKyAgICB7Cisg
ICAgICAgIGVuY29kZXIgPDwgbWVkaWFDYWNoZURpcmVjdG9yeSA8PCBtZWRpYUNhY2hlRGlyZWN0
b3J5U2FuZGJveEV4dGVuc2lvbkhhbmRsZTsKKyNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9N
RURJQSkKKyAgICAgICAgZW5jb2RlciA8PCBtZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5IDw8IG1l
ZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnlTYW5kYm94RXh0ZW5zaW9uSGFuZGxlOworI2VuZGlmCisg
ICAgfQorCisgICAgdGVtcGxhdGUgPGNsYXNzIERlY29kZXI+CisgICAgc3RhdGljIE9wdGlvbmFs
PEdQVVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVycz4gZGVjb2RlKERlY29kZXImIGRlY29kZXIpCisg
ICAgeworICAgICAgICBPcHRpb25hbDxTdHJpbmc+IG1lZGlhQ2FjaGVEaXJlY3Rvcnk7CisgICAg
ICAgIGRlY29kZXIgPj4gbWVkaWFDYWNoZURpcmVjdG9yeTsKKyAgICAgICAgaWYgKCFtZWRpYUNh
Y2hlRGlyZWN0b3J5KQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgICAg
ICBPcHRpb25hbDxTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+IG1lZGlhQ2FjaGVEaXJlY3RvcnlT
YW5kYm94RXh0ZW5zaW9uSGFuZGxlOworICAgICAgICBkZWNvZGVyID4+IG1lZGlhQ2FjaGVEaXJl
Y3RvcnlTYW5kYm94RXh0ZW5zaW9uSGFuZGxlOworICAgICAgICBpZiAoIW1lZGlhQ2FjaGVEaXJl
Y3RvcnlTYW5kYm94RXh0ZW5zaW9uSGFuZGxlKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVs
bG9wdDsKKworI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQorICAgICAgICBPcHRp
b25hbDxTdHJpbmc+IG1lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rvcnk7CisgICAgICAgIGRlY29kZXIg
Pj4gbWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeTsKKyAgICAgICAgaWYgKCFtZWRpYUtleXNTdG9y
YWdlRGlyZWN0b3J5KQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgICAg
ICBPcHRpb25hbDxTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+IG1lZGlhS2V5c1N0b3JhZ2VEaXJl
Y3RvcnlTYW5kYm94RXh0ZW5zaW9uSGFuZGxlOworICAgICAgICBkZWNvZGVyID4+IG1lZGlhS2V5
c1N0b3JhZ2VEaXJlY3RvcnlTYW5kYm94RXh0ZW5zaW9uSGFuZGxlOworICAgICAgICBpZiAoIW1l
ZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnlTYW5kYm94RXh0ZW5zaW9uSGFuZGxlKQorICAgICAgICAg
ICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyNlbmRpZgorCisgICAgICAgIHJldHVybiBHUFVQcm9j
ZXNzU2Vzc2lvblBhcmFtZXRlcnMgeworICAgICAgICAgICAgV1RGTW92ZSgqbWVkaWFDYWNoZURp
cmVjdG9yeSksCisgICAgICAgICAgICBXVEZNb3ZlKCptZWRpYUNhY2hlRGlyZWN0b3J5U2FuZGJv
eEV4dGVuc2lvbkhhbmRsZSksCisjaWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpCisg
ICAgICAgICAgICBXVEZNb3ZlKCptZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KSwKKyAgICAgICAg
ICAgIFdURk1vdmUoKm1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnlTYW5kYm94RXh0ZW5zaW9uSGFu
ZGxlKSwKKyNlbmRpZgorICAgICAgICB9OworICAgIH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YktpdAorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcAppbmRleCBlMTU0NWU1YTBmNDhiYTM3Njgz
N2IwNzMzYzVhMWYyNDJlMWFhMTZlLi5jMGJiODQ2Yjk5NDY5ZDYzNjllY2Y4OTAzY2M5ODg5ZDYy
OGRmMDFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlh
L1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCkBAIC04OSwxMCArODksOSBAQCB2b2lkIFJlbW90
ZU1lZGlhUGxheWVyUHJveHk6OmdldENvbmZpZ3VyYXRpb24oUmVtb3RlTWVkaWFQbGF5ZXJDb25m
aWd1cmF0aW9uJiBjbwogICAgIGNvbmZpZ3VyYXRpb24uc2hvdWxkSWdub3JlSW50cmluc2ljU2l6
ZSA9IG1fcGxheWVyLT5zaG91bGRJZ25vcmVJbnRyaW5zaWNTaXplKCk7CiB9CiAKLXZvaWQgUmVt
b3RlTWVkaWFQbGF5ZXJQcm94eTo6bG9hZChjb25zdCBVUkwmIHVybCwgT3B0aW9uYWw8U2FuZGJv
eEV4dGVuc2lvbjo6SGFuZGxlPiYmIHNhbmRib3hFeHRlbnNpb25IYW5kbGUsIGNvbnN0IENvbnRl
bnRUeXBlJiBjb250ZW50VHlwZSwgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoUmVtb3RlTWVkaWFQbGF5ZXJDb25maWd1cmF0aW9uJiYpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKQordm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5Ojpsb2FkKFVSTCYmIHVybCwg
T3B0aW9uYWw8U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlPiYmIHNhbmRib3hFeHRlbnNpb25IYW5k
bGUsIGNvbnN0IENvbnRlbnRUeXBlJiBjb250ZW50VHlwZSwgY29uc3QgU3RyaW5nJiBrZXlTeXN0
ZW0sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVtb3RlTWVkaWFQbGF5ZXJDb25maWd1cmF0aW9u
JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIFJlbW90ZU1lZGlhUGxheWVyQ29uZmln
dXJhdGlvbiBjb25maWd1cmF0aW9uOwotCiAgICAgaWYgKHNhbmRib3hFeHRlbnNpb25IYW5kbGUp
IHsKICAgICAgICAgbV9zYW5kYm94RXh0ZW5zaW9uID0gU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRl
KFdURk1vdmUoc2FuZGJveEV4dGVuc2lvbkhhbmRsZS52YWx1ZSgpKSk7CiAgICAgICAgIGlmICht
X3NhbmRib3hFeHRlbnNpb24pCkBAIC0yODksNyArMjg4LDcgQEAgdm9pZCBSZW1vdGVNZWRpYVBs
YXllclByb3h5OjptZWRpYVBsYXllckVuZ2luZUZhaWxlZFRvTG9hZCgpIGNvbnN0CiAjaWYgRU5B
QkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpCiBTdHJpbmcgUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eTo6bWVkaWFQbGF5ZXJNZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KCkgY29uc3QKIHsKLSAgICBy
ZXR1cm4gbV9jb25maWd1cmF0aW9uLm1lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rvcnk7CisgICAgcmV0
dXJuIG1fbWFuYWdlci5ncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKCkubWVkaWFLZXlzU3RvcmFn
ZURpcmVjdG9yeSgpOwogfQogI2VuZGlmCiAKQEAgLTMxNyw3ICszMTYsNyBAQCBTdHJpbmcgUmVt
b3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJOZXR3b3JrSW50ZXJmYWNlTmFtZSgpIGNv
bnN0CiAKIGNvbnN0IFN0cmluZyYgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJN
ZWRpYUNhY2hlRGlyZWN0b3J5KCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9jb25maWd1cmF0aW9u
Lm1lZGlhQ2FjaGVEaXJlY3Rvcnk7CisgICAgcmV0dXJuIG1fbWFuYWdlci5ncHVDb25uZWN0aW9u
VG9XZWJQcm9jZXNzKCkubWVkaWFDYWNoZURpcmVjdG9yeSgpOwogfQogCiBjb25zdCBWZWN0b3I8
V2ViQ29yZTo6Q29udGVudFR5cGU+JiBSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYUNvbnRl
bnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJlU3VwcG9ydCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaAppbmRl
eCBjYWE5NmEzNDI2ODM5ZjgxMGQxNDJjYzJhM2Y3NTc2MDg5NDE2MzBlLi5hYWMzNmQwNGE5MWRl
MWJmN2VmMDU1ZDQwNjM0Njk0ODMxNWRjOWQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmgKQEAgLTc3LDcgKzc3
LDcgQEAgcHVibGljOgogICAgIHZvaWQgcHJlcGFyZUZvclBsYXliYWNrKGJvb2wgcHJpdmF0ZU1v
ZGUsIFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6OlByZWxvYWQsIGJvb2wgcHJlc2VydmVzUGl0
Y2gsIGJvb2wgcHJlcGFyZUZvclJlbmRlcmluZywgV2ViQ29yZTo6TGF5b3V0UmVjdCwgZmxvYXQg
dmlkZW9Db250ZW50U2NhbGUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8TGF5ZXJI
b3N0aW5nQ29udGV4dElEPiYmKT4mJik7CiAgICAgdm9pZCBwcmVwYXJlRm9yUmVuZGVyaW5nKCk7
CiAKLSAgICB2b2lkIGxvYWQoY29uc3QgVVJMJiwgT3B0aW9uYWw8U2FuZGJveEV4dGVuc2lvbjo6
SGFuZGxlPiYmLCBjb25zdCBXZWJDb3JlOjpDb250ZW50VHlwZSYsIGNvbnN0IFN0cmluZyYsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoUmVtb3RlTWVkaWFQbGF5ZXJDb25maWd1cmF0aW9uJiYpPiYm
KTsKKyAgICB2b2lkIGxvYWQoVVJMJiYsIE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRs
ZT4mJiwgY29uc3QgV2ViQ29yZTo6Q29udGVudFR5cGUmLCBjb25zdCBTdHJpbmcmLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKFJlbW90ZU1lZGlhUGxheWVyQ29uZmlndXJhdGlvbiYmKT4mJik7CiAg
ICAgdm9pZCBjYW5jZWxMb2FkKCk7CiAKICAgICB2b2lkIHByZXBhcmVUb1BsYXkoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclBy
b3h5Q29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90
ZU1lZGlhUGxheWVyUHJveHlDb25maWd1cmF0aW9uLmgKaW5kZXggZWMyNmViOGZmNDhmZGMzODM0
YTYyYTE3ZDAwNWJlZjRjOTAxZWQ3NS4uZThjNzVhY2YxZDg2OGYwNTE1MDE3ZmQ3MmFjYWVkMDkz
ZmI3YTIzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90
ZU1lZGlhUGxheWVyUHJveHlDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHlDb25maWd1cmF0aW9uLmgKQEAgLTMz
LDEyICszMywxMCBAQAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIHN0cnVjdCBSZW1vdGVNZWRpYVBs
YXllclByb3h5Q29uZmlndXJhdGlvbiB7Ci0gICAgU3RyaW5nIG1lZGlhS2V5c1N0b3JhZ2VEaXJl
Y3Rvcnk7CiAgICAgU3RyaW5nIHJlZmVycmVyOwogICAgIFN0cmluZyB1c2VyQWdlbnQ7CiAgICAg
U3RyaW5nIHNvdXJjZUFwcGxpY2F0aW9uSWRlbnRpZmllcjsKICAgICBTdHJpbmcgbmV0d29ya0lu
dGVyZmFjZU5hbWU7Ci0gICAgU3RyaW5nIG1lZGlhQ2FjaGVEaXJlY3Rvcnk7CiAgICAgVmVjdG9y
PFdlYkNvcmU6OkNvbnRlbnRUeXBlPiBtZWRpYUNvbnRlbnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJl
U3VwcG9ydDsKICAgICBWZWN0b3I8U3RyaW5nPiBwcmVmZXJyZWRBdWRpb0NoYXJhY3RlcmlzdGlj
czsKICAgICB1aW50NjRfdCBsb2dJZGVudGlmaWVyIHsgMCB9OwpAQCAtNDgsMTIgKzQ2LDEwIEBA
IHN0cnVjdCBSZW1vdGVNZWRpYVBsYXllclByb3h5Q29uZmlndXJhdGlvbiB7CiAgICAgdGVtcGxh
dGU8Y2xhc3MgRW5jb2Rlcj4KICAgICB2b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25z
dAogICAgIHsKLSAgICAgICAgZW5jb2RlciA8PCBtZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5Owog
ICAgICAgICBlbmNvZGVyIDw8IHJlZmVycmVyOwogICAgICAgICBlbmNvZGVyIDw8IHVzZXJBZ2Vu
dDsKICAgICAgICAgZW5jb2RlciA8PCBzb3VyY2VBcHBsaWNhdGlvbklkZW50aWZpZXI7CiAgICAg
ICAgIGVuY29kZXIgPDwgbmV0d29ya0ludGVyZmFjZU5hbWU7Ci0gICAgICAgIGVuY29kZXIgPDwg
bWVkaWFDYWNoZURpcmVjdG9yeTsKICAgICAgICAgZW5jb2RlciA8PCBtZWRpYUNvbnRlbnRUeXBl
c1JlcXVpcmluZ0hhcmR3YXJlU3VwcG9ydDsKICAgICAgICAgZW5jb2RlciA8PCBwcmVmZXJyZWRB
dWRpb0NoYXJhY3RlcmlzdGljczsKICAgICAgICAgZW5jb2RlciA8PCBsb2dJZGVudGlmaWVyOwpA
QCAtNjQsMTEgKzYwLDYgQEAgc3RydWN0IFJlbW90ZU1lZGlhUGxheWVyUHJveHlDb25maWd1cmF0
aW9uIHsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgRGVjb2Rlcj4KICAgICBzdGF0aWMgT3B0aW9uYWw8
UmVtb3RlTWVkaWFQbGF5ZXJQcm94eUNvbmZpZ3VyYXRpb24+IGRlY29kZShEZWNvZGVyJiBkZWNv
ZGVyKQogICAgIHsKLSAgICAgICAgT3B0aW9uYWw8U3RyaW5nPiBtZWRpYUtleXNTdG9yYWdlRGly
ZWN0b3J5OwotICAgICAgICBkZWNvZGVyID4+IG1lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rvcnk7Ci0g
ICAgICAgIGlmICghbWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSkKLSAgICAgICAgICAgIHJldHVy
biBXVEY6Om51bGxvcHQ7Ci0KICAgICAgICAgT3B0aW9uYWw8U3RyaW5nPiByZWZlcnJlcjsKICAg
ICAgICAgZGVjb2RlciA+PiByZWZlcnJlcjsKICAgICAgICAgaWYgKCFyZWZlcnJlcikKQEAgLTg5
LDExICs4MCw2IEBAIHN0cnVjdCBSZW1vdGVNZWRpYVBsYXllclByb3h5Q29uZmlndXJhdGlvbiB7
CiAgICAgICAgIGlmICghbmV0d29ya0ludGVyZmFjZU5hbWUpCiAgICAgICAgICAgICByZXR1cm4g
V1RGOjpudWxsb3B0OwogCi0gICAgICAgIE9wdGlvbmFsPFN0cmluZz4gbWVkaWFDYWNoZURpcmVj
dG9yeTsKLSAgICAgICAgZGVjb2RlciA+PiBtZWRpYUNhY2hlRGlyZWN0b3J5OwotICAgICAgICBp
ZiAoIW1lZGlhQ2FjaGVEaXJlY3RvcnkpCi0gICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0
OwotCiAgICAgICAgIE9wdGlvbmFsPFZlY3RvcjxXZWJDb3JlOjpDb250ZW50VHlwZT4+IG1lZGlh
Q29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0OwogICAgICAgICBkZWNvZGVyID4+
IG1lZGlhQ29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0OwogICAgICAgICBpZiAo
IW1lZGlhQ29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0KQpAQCAtMTIwLDEyICsx
MDYsMTAgQEAgc3RydWN0IFJlbW90ZU1lZGlhUGxheWVyUHJveHlDb25maWd1cmF0aW9uIHsKICAg
ICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKICAgICAgICAgcmV0dXJuIHt7Ci0gICAg
ICAgICAgICBXVEZNb3ZlKCptZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KSwKICAgICAgICAgICAg
IFdURk1vdmUoKnJlZmVycmVyKSwKICAgICAgICAgICAgIFdURk1vdmUoKnVzZXJBZ2VudCksCiAg
ICAgICAgICAgICBXVEZNb3ZlKCpzb3VyY2VBcHBsaWNhdGlvbklkZW50aWZpZXIpLAogICAgICAg
ICAgICAgV1RGTW92ZSgqbmV0d29ya0ludGVyZmFjZU5hbWUpLAotICAgICAgICAgICAgV1RGTW92
ZSgqbWVkaWFDYWNoZURpcmVjdG9yeSksCiAgICAgICAgICAgICBXVEZNb3ZlKCptZWRpYUNvbnRl
bnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJlU3VwcG9ydCksCiAgICAgICAgICAgICBXVEZNb3ZlKCpw
cmVmZXJyZWRBdWRpb0NoYXJhY3RlcmlzdGljcyksCiAgICAgICAgICAgICAqbG9nSWRlbnRpZmll
ciwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJv
eHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHAK
aW5kZXggYjlmODcxOGZjNzFiMGM3OTA3ZDg4MjA4NzVkN2I1ZjhkYjhmYWE3Zi4uNGZlYzRlZTk0
YTc0MjJkZTY0MmVlYTllNDM4YjZlMTZhMDdjZTZmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNs
dWRlICJHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgiCiAjaW5jbHVkZSAiR1BVUHJvY2Vz
c01lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiR1BVUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCIKKyNpbmNs
dWRlICJHUFVQcm9jZXNzU2Vzc2lvblBhcmFtZXRlcnMuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgi
CiAjaW5jbHVkZSAiV2ViUGFnZU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5Lmgi
CkBAIC04Miw2ICs4Myw4IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzaG91bGRDcmVhdGVNaWNyb3Bo
b25lU2FuZGJveEV4dGVuc2lvbigpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK0dQVVByb2Nlc3NQ
cm94eSogR1BVUHJvY2Vzc1Byb3h5OjptX3NpbmdsZXRvbiA9IG51bGxwdHI7CisKIEdQVVByb2Nl
c3NQcm94eSYgR1BVUHJvY2Vzc1Byb3h5OjpzaW5nbGV0b24oKQogewogICAgIEFTU0VSVChSdW5M
b29wOjppc01haW4oKSk7CkBAIC0xMTAsNiArMTEzLDggQEAgR1BVUHJvY2Vzc1Byb3h5JiBHUFVQ
cm9jZXNzUHJveHk6OnNpbmdsZXRvbigpCiAgICAgICAgIC8vIEluaXRpYWxpemUgdGhlIEdQVSBw
cm9jZXNzLgogICAgICAgICBncHVQcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpHUFVQcm9jZXNzOjpJ
bml0aWFsaXplR1BVUHJvY2VzcyhwYXJhbWV0ZXJzKSwgMCk7CiAgICAgICAgIGdwdVByb2Nlc3Mt
PnVwZGF0ZVByb2Nlc3NBc3NlcnRpb24oKTsKKworICAgICAgICBtX3NpbmdsZXRvbiA9ICZncHVQ
cm9jZXNzLmdldCgpOwogICAgIH0pOwogCiAgICAgcmV0dXJuIGdwdVByb2Nlc3MuZ2V0KCk7CkBA
IC0xNjYsNiArMTcxLDggQEAgdm9pZCBHUFVQcm9jZXNzUHJveHk6OmdldEdQVVByb2Nlc3NDb25u
ZWN0aW9uKFdlYlByb2Nlc3NQcm94eSYgd2ViUHJvY2Vzc1Byb3h5LAogCiB2b2lkIEdQVVByb2Nl
c3NQcm94eTo6b3BlbkdQVVByb2Nlc3NDb25uZWN0aW9uKENvbm5lY3Rpb25SZXF1ZXN0SWRlbnRp
ZmllciBjb25uZWN0aW9uUmVxdWVzdElkZW50aWZpZXIsIFdlYlByb2Nlc3NQcm94eSYgd2ViUHJv
Y2Vzc1Byb3h5KQogeworICAgIGFkZFNlc3Npb24od2ViUHJvY2Vzc1Byb3h5LndlYnNpdGVEYXRh
U3RvcmUoKSk7CisKICAgICBhdXRvJiBjb25uZWN0aW9uID0gKnRoaXMtPmNvbm5lY3Rpb24oKTsK
IAogICAgIGNvbm5lY3Rpb24uc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpHUFVQcm9jZXNz
OjpDcmVhdGVHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzIHsgd2ViUHJvY2Vzc1Byb3h5LmNvcmVQ
cm9jZXNzSWRlbnRpZmllcigpLCB3ZWJQcm9jZXNzUHJveHkuc2Vzc2lvbklEKCkgfSwgW3RoaXMs
IHdlYWtUaGlzID0gbWFrZVdlYWtQdHIodGhpcyksIHdlYlByb2Nlc3NQcm94eSA9IG1ha2VXZWFr
UHRyKHdlYlByb2Nlc3NQcm94eSksIGNvbm5lY3Rpb25SZXF1ZXN0SWRlbnRpZmllcl0oYXV0byYm
IGNvbm5lY3Rpb25JZGVudGlmaWVyKSBtdXRhYmxlIHsKQEAgLTI2OCw2ICsyNzUsNDYgQEAgdm9p
ZCBHUFVQcm9jZXNzUHJveHk6OnVwZGF0ZVByb2Nlc3NBc3NlcnRpb24oKQogICAgIG1fYWN0aXZp
dHlGcm9tV2ViUHJvY2Vzc2VzID0gbnVsbHB0cjsKIH0KIAorc3RhdGljIGlubGluZSBHUFVQcm9j
ZXNzU2Vzc2lvblBhcmFtZXRlcnMgZ3B1UHJvY2Vzc1Nlc3Npb25QYXJhbWV0ZXJzKGNvbnN0IFdl
YnNpdGVEYXRhU3RvcmUmIHN0b3JlKQoreworICAgIEdQVVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVy
cyBwYXJhbWV0ZXJzOworCisgICAgcGFyYW1ldGVycy5tZWRpYUNhY2hlRGlyZWN0b3J5ID0gc3Rv
cmUucmVzb2x2ZWRNZWRpYUNhY2hlRGlyZWN0b3J5KCk7CisgICAgU2FuZGJveEV4dGVuc2lvbjo6
SGFuZGxlIG1lZGlhQ2FjaGVEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGU7CisgICAgaWYgKCFwYXJh
bWV0ZXJzLm1lZGlhQ2FjaGVEaXJlY3RvcnkuaXNFbXB0eSgpKQorICAgICAgICBTYW5kYm94RXh0
ZW5zaW9uOjpjcmVhdGVIYW5kbGVXaXRob3V0UmVzb2x2aW5nUGF0aChwYXJhbWV0ZXJzLm1lZGlh
Q2FjaGVEaXJlY3RvcnksIFNhbmRib3hFeHRlbnNpb246OlR5cGU6OlJlYWRXcml0ZSwgcGFyYW1l
dGVycy5tZWRpYUNhY2hlRGlyZWN0b3J5U2FuZGJveEV4dGVuc2lvbkhhbmRsZSk7CisKKyNpZiBF
TkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKKyAgICBwYXJhbWV0ZXJzLm1lZGlhS2V5c1N0
b3JhZ2VEaXJlY3RvcnkgPSBzdG9yZS5yZXNvbHZlZE1lZGlhS2V5c0RpcmVjdG9yeSgpOworICAg
IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBtZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5U2FuZGJv
eEV4dGVuc2lvbkhhbmRsZTsKKyAgICBpZiAoIXBhcmFtZXRlcnMubWVkaWFLZXlzU3RvcmFnZURp
cmVjdG9yeS5pc0VtcHR5KCkpCisgICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRs
ZVdpdGhvdXRSZXNvbHZpbmdQYXRoKHBhcmFtZXRlcnMubWVkaWFLZXlzU3RvcmFnZURpcmVjdG9y
eSwgU2FuZGJveEV4dGVuc2lvbjo6VHlwZTo6UmVhZFdyaXRlLCBwYXJhbWV0ZXJzLm1lZGlhS2V5
c1N0b3JhZ2VEaXJlY3RvcnlTYW5kYm94RXh0ZW5zaW9uSGFuZGxlKTsKKyNlbmRpZgorCisgICAg
cmV0dXJuIHBhcmFtZXRlcnM7Cit9CisKK3ZvaWQgR1BVUHJvY2Vzc1Byb3h5OjphZGRTZXNzaW9u
KGNvbnN0IFdlYnNpdGVEYXRhU3RvcmUmIHN0b3JlKQoreworICAgIGlmICghY2FuU2VuZE1lc3Nh
Z2UoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKG1fc2Vzc2lvbklEcy5jb250YWlucyhz
dG9yZS5zZXNzaW9uSUQoKSkpCisgICAgICAgIHJldHVybjsKKworICAgIHNlbmQoTWVzc2FnZXM6
OkdQVVByb2Nlc3M6OkFkZFNlc3Npb24geyBzdG9yZS5zZXNzaW9uSUQoKSwgZ3B1UHJvY2Vzc1Nl
c3Npb25QYXJhbWV0ZXJzKHN0b3JlKSB9LCAwKTsKKyAgICBtX3Nlc3Npb25JRHMuYWRkKHN0b3Jl
LnNlc3Npb25JRCgpKTsKK30KKwordm9pZCBHUFVQcm9jZXNzUHJveHk6OnJlbW92ZVNlc3Npb24o
UEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKQoreworICAgIGlmICghY2FuU2VuZE1lc3NhZ2UoKSkK
KyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKG1fc2Vzc2lvbklEcy5yZW1vdmUoc2Vzc2lvbklE
KSkKKyAgICAgICAgc2VuZChNZXNzYWdlczo6R1BVUHJvY2Vzczo6UmVtb3ZlU2Vzc2lvbiB7IHNl
c3Npb25JRCB9LCAwKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICN1bmRlZiBNRVNT
QUdFX0NIRUNLCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJv
Y2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5
LmgKaW5kZXggMGMyNDE5ZDgxYzljNDc3NjI0YmQ2ODg0ZWEzMWIwNWZlNWY2NTM4MC4uYmM1NzYy
Y2ZmNzU1YmI3OGJlNGM1YWQ5MTUxN2E1M2U0ZWY3MDMzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuaApAQCAtMzUsMTAgKzM1LDEyIEBACiAjaW5j
bHVkZSAiV2ViUGFnZVByb3h5SWRlbnRpZmllci5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94
eU1lc3NhZ2VzUmVwbGllcy5oIgogI2luY2x1ZGUgPG1lbW9yeT4KKyNpbmNsdWRlIDxwYWwvU2Vz
c2lvbklELmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJQcm9jZXNzUHJveHk7
CitjbGFzcyBXZWJzaXRlRGF0YVN0b3JlOwogc3RydWN0IEdQVVByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnM7CiAKIGNsYXNzIEdQVVByb2Nlc3NQcm94eSBmaW5hbCA6IHB1YmxpYyBBdXhpbGlhcnlQ
cm9jZXNzUHJveHksIHByaXZhdGUgUHJvY2Vzc1Rocm90dGxlckNsaWVudCwgcHVibGljIENhbk1h
a2VXZWFrUHRyPEdQVVByb2Nlc3NQcm94eT4gewpAQCAtNDcsNiArNDksNyBAQCBjbGFzcyBHUFVQ
cm9jZXNzUHJveHkgZmluYWwgOiBwdWJsaWMgQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5LCBwcml2YXRl
IFByb2Nlc3NUaHJvdAogICAgIGZyaWVuZCBMYXp5TmV2ZXJEZXN0cm95ZWQ8R1BVUHJvY2Vzc1By
b3h5PjsKIHB1YmxpYzoKICAgICBzdGF0aWMgR1BVUHJvY2Vzc1Byb3h5JiBzaW5nbGV0b24oKTsK
KyAgICBzdGF0aWMgR1BVUHJvY2Vzc1Byb3h5KiBzaW5nbGV0b25JZkNyZWF0ZWQoKSB7IHJldHVy
biBtX3NpbmdsZXRvbjsgfQogCiAgICAgdm9pZCBnZXRHUFVQcm9jZXNzQ29ubmVjdGlvbihXZWJQ
cm9jZXNzUHJveHkmLCBNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRHUFVQcm9jZXNzQ29u
bmVjdGlvbkRlbGF5ZWRSZXBseSYmKTsKIApAQCAtNjAsMTAgKzYzLDE0IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNldFVzZU1vY2tDYXB0dXJlRGV2aWNlcyhib29sKTsKICNlbmRpZgogCisgICAgdm9p
ZCByZW1vdmVTZXNzaW9uKFBBTDo6U2Vzc2lvbklEKTsKKwogcHJpdmF0ZToKICAgICBleHBsaWNp
dCBHUFVQcm9jZXNzUHJveHkoKTsKICAgICB+R1BVUHJvY2Vzc1Byb3h5KCk7CiAKKyAgICB2b2lk
IGFkZFNlc3Npb24oY29uc3QgV2Vic2l0ZURhdGFTdG9yZSYpOworCiAgICAgLy8gQXV4aWxpYXJ5
UHJvY2Vzc1Byb3h5CiAgICAgQVNDSUlMaXRlcmFsIHByb2Nlc3NOYW1lKCkgY29uc3QgZmluYWwg
eyByZXR1cm4gIkdQVSJfczsgfQogCkBAIC04Nyw2ICs5NCw4IEBAIHByaXZhdGU6CiAgICAgdm9p
ZCBkaWRDbG9zZShJUEM6OkNvbm5lY3Rpb24mKSBvdmVycmlkZTsKICAgICB2b2lkIGRpZFJlY2Vp
dmVJbnZhbGlkTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OlN0cmluZ1JlZmVyZW5jZSBt
ZXNzYWdlUmVjZWl2ZXJOYW1lLCBJUEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlTmFtZSkgb3Zl
cnJpZGU7CiAKKyAgICBzdGF0aWMgR1BVUHJvY2Vzc1Byb3h5KiBtX3NpbmdsZXRvbjsKKwogICAg
IHN0cnVjdCBDb25uZWN0aW9uUmVxdWVzdCB7CiAgICAgICAgIFdlYWtQdHI8V2ViUHJvY2Vzc1By
b3h5PiB3ZWJQcm9jZXNzOwogICAgICAgICBNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRH
UFVQcm9jZXNzQ29ubmVjdGlvbkRlbGF5ZWRSZXBseSByZXBseTsKQEAgLTk5LDYgKzEwOCw3IEBA
IHByaXZhdGU6CiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICBib29sIG1fdXNlTW9ja0Nh
cHR1cmVEZXZpY2VzIHsgZmFsc2UgfTsKICNlbmRpZgorICAgIEhhc2hTZXQ8UEFMOjpTZXNzaW9u
SUQ+IG1fc2Vzc2lvbklEczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3Jl
LmNwcAppbmRleCA0ZTg1MmExYWIwZDQ1YTBjNzJjMGMyNzc4ZWIwNmUwNTliOGM2NDA2Li5iZGI3
MjAwMWIyYTczNGM5NWIyZjVmNGVmMzI3YWIxNWJjZjNjNmEyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcApA
QCAtMTM1LDYgKzEzNSwxMCBAQCBXZWJzaXRlRGF0YVN0b3JlOjp+V2Vic2l0ZURhdGFTdG9yZSgp
CiAgICAgICAgICAgICAgICAgbmV0d29ya1Byb2Nlc3MtPnJlbW92ZVNlc3Npb24obV9zZXNzaW9u
SUQpOwogICAgICAgICB9CiAgICAgfQorI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKKyAgICAgICAg
aWYgKGF1dG8qIGdwdVByb2Nlc3NQcm94eSA9IEdQVVByb2Nlc3NQcm94eTo6c2luZ2xldG9uSWZD
cmVhdGVkKCkpCisgICAgICAgICAgICBncHVQcm9jZXNzUHJveHktPnJlbW92ZVNlc3Npb24obV9z
ZXNzaW9uSUQpOworI2VuZGlmCiB9CiAKIHN0YXRpYyBSZWZQdHI8V2Vic2l0ZURhdGFTdG9yZT4m
IGdsb2JhbERlZmF1bHREYXRhU3RvcmUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNzY5N2M0YzU4ZDQ3MmM2NGM2YmI5MGM0Y2RkZTZj
ZDVjNmU1OWJjYS4uYmU2NDIyMDQ3NzVlMjU1NWNjYmE1ZmRlOWY4ZTRhZTgzNTVlZGRkNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0z
MzQ5LDYgKzMzNDksNyBAQAogCQk0MTNDQ0Q0RjIwREVCQzJGMDA2NUEyMUEgLyogY29tLmdvb2ds
ZS5nb29nbGV0YWxrYnJvd3NlcnBsdWdpbi5zYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBjb20u
Z29vZ2xlLmdvb2dsZXRhbGticm93c2VycGx1Z2luLnNiOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk0MTQzNzUxQjIwRUFFQTFFMDBGQUQwNkMgLyogY24ubWljcm9kb25lLmNtYi5zYWZh
cmkuc2IgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gY24ubWljcm9kb25lLmNtYi5zYWZhcmkuc2I7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNEREMzc4MjBCRjQzRUEwMDY5NTlGQiAv
KiBjb20uY2lzY28ud2ViZXgucGx1Z2luLmdwYzY0LnNiICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IGNvbS5jaXNjby53ZWJleC5wbHVnaW4uZ3BjNjQuc2I7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTQxNTBBNUEwMjNFMDZDOTEwMDUxMjY0QSAvKiBHUFVQcm9jZXNzU2Vzc2lvblBhcmFt
ZXRlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVUHJvY2Vzc1Nlc3Np
b25QYXJhbWV0ZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNTE4NTM1MjIy
NzA0RjUwMDU0MzBDNiAvKiBTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFNlcnZpY2VXb3JrZXJGZXRjaFRhc2suaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDE1MTg1MzYyMjI3MDRGNjAwNTQzMEM2IC8qIFNlcnZpY2VXb3Jr
ZXJGZXRjaFRhc2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2Vy
dmljZVdvcmtlckZldGNoVGFzay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQx
NTE4NTM4MjIyNzBGNTMwMDU0MzBDNiAvKiBTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrLm1lc3NhZ2Vz
LmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFNlcnZpY2VXb3JrZXJGZXRjaFRhc2subWVzc2Fn
ZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02NTA2LDYgKzY1MDcsNyBAQAog
CQkJCTJEOUZCMjAyMjM3NTIwOUQwMDQ5RjkzNiAvKiBHUFVQcm9jZXNzLm1lc3NhZ2VzLmluICov
LAogCQkJCTJEOUZCMjE0MjM3NTIwOUQwMDQ5RjkzNiAvKiBHUFVQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmNwcCAqLywKIAkJCQkyRDlGQjIwMzIzNzUyMDlEMDA0OUY5MzYgLyogR1BVUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5oICovLAorCQkJCTQxNTBBNUEwMjNFMDZDOTEwMDUxMjY0QSAv
KiBHUFVQcm9jZXNzU2Vzc2lvblBhcmFtZXRlcnMuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gR1BV
UHJvY2VzczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFu
YWdlci5jcHAKaW5kZXggZWQ4ZmQwMjA4ZDZjOWJhNjYyY2Y5N2Q1ZGZlZDQzNzAxNjMwZmNmNS4u
OGYwNTM3NjgzNzhlYjA1Y2VkMzIxZmZjZjExOTIzYjU5ZWVmYzMyYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFQ
bGF5ZXJNYW5hZ2VyLmNwcApAQCAtMTQ3LDE2ICsxNDcsMTIgQEAgc3RkOjp1bmlxdWVfcHRyPE1l
ZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZT4gUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyOjpjcmVh
dGVSZW0KICAgICBhdXRvIGlkID0gTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllcjo6
Z2VuZXJhdGUoKTsKIAogICAgIFJlbW90ZU1lZGlhUGxheWVyUHJveHlDb25maWd1cmF0aW9uIHBy
b3h5Q29uZmlndXJhdGlvbjsKLSNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKLSAg
ICBwcm94eUNvbmZpZ3VyYXRpb24ubWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSA9IHBsYXllci0+
bWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSgpOwotI2VuZGlmCiAgICAgcHJveHlDb25maWd1cmF0
aW9uLnJlZmVycmVyID0gcGxheWVyLT5yZWZlcnJlcigpOwogICAgIHByb3h5Q29uZmlndXJhdGlv
bi51c2VyQWdlbnQgPSBwbGF5ZXItPnVzZXJBZ2VudCgpOwogICAgIHByb3h5Q29uZmlndXJhdGlv
bi5zb3VyY2VBcHBsaWNhdGlvbklkZW50aWZpZXIgPSBwbGF5ZXItPnNvdXJjZUFwcGxpY2F0aW9u
SWRlbnRpZmllcigpOwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgcHJveHlDb25maWd1
cmF0aW9uLm5ldHdvcmtJbnRlcmZhY2VOYW1lID0gcGxheWVyLT5tZWRpYVBsYXllck5ldHdvcmtJ
bnRlcmZhY2VOYW1lKCk7CiAjZW5kaWYKLSAgICBwcm94eUNvbmZpZ3VyYXRpb24ubWVkaWFDYWNo
ZURpcmVjdG9yeSA9IHBsYXllci0+bWVkaWFDYWNoZURpcmVjdG9yeSgpOwogICAgIHByb3h5Q29u
ZmlndXJhdGlvbi5tZWRpYUNvbnRlbnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJlU3VwcG9ydCA9IHBs
YXllci0+bWVkaWFDb250ZW50VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnQoKTsKICAgICBw
cm94eUNvbmZpZ3VyYXRpb24ucHJlZmVycmVkQXVkaW9DaGFyYWN0ZXJpc3RpY3MgPSBwbGF5ZXIt
PnByZWZlcnJlZEF1ZGlvQ2hhcmFjdGVyaXN0aWNzKCk7CiAgICAgcHJveHlDb25maWd1cmF0aW9u
LmxvZ0lkZW50aWZpZXIgPSByZWludGVycHJldF9jYXN0PHVpbnQ2NF90PihwbGF5ZXItPm1lZGlh
UGxheWVyTG9nSWRlbnRpZmllcigpKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>