<?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>150044</bug_id>
          
          <creation_ts>2015-10-12 13:32:08 -0700</creation_ts>
          <short_desc>Web Inspector: Rebaseline Inspector generator tests and make better use of RWIProtocol constant</short_desc>
          <delta_ts>2015-10-12 16:38:30 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>DoNotImportToRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>bburg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1132460</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-10-12 13:32:08 -0700</bug_when>
    <thetext>Rebaseline Inspector generator tests and make better use of RWIProtocol constant.

1. Tests were not rebaselined since the last changes to codegen.
2. The &quot;RWIProtocol&quot; OBJC_PREFIX can be used in more places instead of hard coding it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1132461</commentid>
    <comment_count>1</comment_count>
      <attachid>262915</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-10-12 13:32:48 -0700</bug_when>
    <thetext>Created attachment 262915
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1132462</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-12 13:33:54 -0700</bug_when>
    <thetext>This patch modifies the inspector protocol generator. Please ensure that you have rebaselined any generator test results (i.e., by running `Tools/Scripts/run-inspector-generator-tests --reset-results`)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1132559</commentid>
    <comment_count>3</comment_count>
      <attachid>262915</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2015-10-12 16:15:56 -0700</bug_when>
    <thetext>Comment on attachment 262915
[PATCH] Proposed Fix

oops... r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1132567</commentid>
    <comment_count>4</comment_count>
      <attachid>262915</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-12 16:38:27 -0700</bug_when>
    <thetext>Comment on attachment 262915
[PATCH] Proposed Fix

Clearing flags on attachment: 262915

Committed r190905: &lt;http://trac.webkit.org/changeset/190905&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1132568</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-12 16:38:30 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262915</attachid>
            <date>2015-10-12 13:32:48 -0700</date>
            <delta_ts>2015-10-12 16:38:27 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>codegen.patch</filename>
            <type>text/plain</type>
            <size>58438</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGU1NmQyNzEuLjE2ZjE0YTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE1LTEwLTEyICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogUmViYXNl
bGluZSBJbnNwZWN0b3IgZ2VuZXJhdG9yIHRlc3RzIGFuZCBtYWtlIGJldHRlciB1c2Ugb2YgUldJ
UHJvdG9jb2wgY29uc3RhbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE1MDA0NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9vYmpjX2NvbmZp
Z3VyYXRpb25faGVhZGVyLnB5OgorICAgICAgICAoT2JqQ0NvbmZpZ3VyYXRpb25IZWFkZXJHZW5l
cmF0b3IuZ2VuZXJhdGVfb3V0cHV0KToKKyAgICAgICAgKE9iakNDb25maWd1cmF0aW9uSGVhZGVy
R2VuZXJhdG9yLl9nZW5lcmF0ZV9jb25maWd1cmF0aW9uX2ludGVyZmFjZV9mb3JfZG9tYWlucyk6
CisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9vYmpjX2NvbmZp
Z3VyYXRpb25faW1wbGVtZW50YXRpb24ucHk6CisgICAgICAgIChPYmpDQmFja2VuZERpc3BhdGNo
ZXJJbXBsZW1lbnRhdGlvbkdlbmVyYXRvci5fZ2VuZXJhdGVfY29uZmlndXJhdGlvbl9pbXBsZW1l
bnRhdGlvbl9mb3JfZG9tYWlucyk6CisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdl
bi9nZW5lcmF0ZV9vYmpjX2hlYWRlci5weToKKyAgICAgICAgKE9iakNIZWFkZXJHZW5lcmF0b3Iu
Z2VuZXJhdGVfb3V0cHV0KToKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dl
bmVyYXRlX29iamNfaW50ZXJuYWxfaGVhZGVyLnB5OgorICAgICAgICAoT2JqQ0ludGVybmFsSGVh
ZGVyR2VuZXJhdG9yLmdlbmVyYXRlX291dHB1dCk6CisgICAgICAgICogaW5zcGVjdG9yL3Njcmlw
dHMvdGVzdHMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1hc3luYy1hdHRyaWJ1dGUuanNvbi1yZXN1
bHQ6CisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvY29tbWFuZHMt
d2l0aC1vcHRpb25hbC1jYWxsLXJldHVybi1wYXJhbWV0ZXJzLmpzb24tcmVzdWx0OgorICAgICAg
ICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2RvbWFpbnMtd2l0aC12YXJ5aW5n
LWNvbW1hbmQtc2l6ZXMuanNvbi1yZXN1bHQ6CisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMv
dGVzdHMvZXhwZWN0ZWQvZW51bS12YWx1ZXMuanNvbi1yZXN1bHQ6CisgICAgICAgICogaW5zcGVj
dG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvZXZlbnRzLXdpdGgtb3B0aW9uYWwtcGFyYW1ldGVy
cy5qc29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3Rl
ZC9nZW5lcmF0ZS1kb21haW5zLXdpdGgtZmVhdHVyZS1ndWFyZHMuanNvbi1yZXN1bHQ6CisgICAg
ICAgICogaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvc2FtZS10eXBlLWlkLWRpZmZl
cmVudC1kb21haW4uanNvbi1yZXN1bHQ6CisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvdGVz
dHMvZXhwZWN0ZWQvc2hhZG93ZWQtb3B0aW9uYWwtdHlwZS1zZXR0ZXJzLmpzb24tcmVzdWx0Ogor
ICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRp
b24tYWxpYXNlZC1wcmltaXRpdmUtdHlwZS5qc29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0
b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWFycmF5LXR5cGUuanNv
bi1yZXN1bHQ6CisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlw
ZS1kZWNsYXJhdGlvbi1lbnVtLXR5cGUuanNvbi1yZXN1bHQ6CisgICAgICAgICogaW5zcGVjdG9y
L3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1vYmplY3QtdHlwZS5qc29u
LXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBl
LXJlcXVpcmluZy1ydW50aW1lLWNhc3RzLmpzb24tcmVzdWx0OgorCiAyMDE1LTEwLTA5ICBKb3Nl
cGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgQ2xlYW51cCBIZWFw
LmggYW5kIHNvbWUgcmVsYXRlZCBoZWFkZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9vYmpjX2NvbmZpZ3VyYXRp
b25faGVhZGVyLnB5IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2Nv
ZGVnZW4vZ2VuZXJhdGVfb2JqY19jb25maWd1cmF0aW9uX2hlYWRlci5weQppbmRleCAyMDAyMjI3
Li45YjkzZjM3IDEwMDc1NQotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Nj
cmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9vYmpjX2NvbmZpZ3VyYXRpb25faGVhZGVyLnB5CisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRl
X29iamNfY29uZmlndXJhdGlvbl9oZWFkZXIucHkKQEAgLTQ1LDcgKzQ1LDcgQEAgY2xhc3MgT2Jq
Q0NvbmZpZ3VyYXRpb25IZWFkZXJHZW5lcmF0b3IoR2VuZXJhdG9yKToKIAogICAgIGRlZiBnZW5l
cmF0ZV9vdXRwdXQoc2VsZik6CiAgICAgICAgIGhlYWRlcnMgPSBbCi0gICAgICAgICAgICAnIiVz
LmgiJyAlIE9iakNHZW5lcmF0b3IuT0JKQ19QUkVGSVgsCisgICAgICAgICAgICAnPFdlYkluc3Bl
Y3Rvci8lcy5oPicgJSBPYmpDR2VuZXJhdG9yLk9CSkNfUFJFRklYLAogICAgICAgICBdCiAKICAg
ICAgICAgaGVhZGVyX2FyZ3MgPSB7CkBAIC02Niw3ICs2Niw3IEBAIGNsYXNzIE9iakNDb25maWd1
cmF0aW9uSGVhZGVyR2VuZXJhdG9yKEdlbmVyYXRvcik6CiAgICAgZGVmIF9nZW5lcmF0ZV9jb25m
aWd1cmF0aW9uX2ludGVyZmFjZV9mb3JfZG9tYWlucyhzZWxmLCBkb21haW5zKToKICAgICAgICAg
bGluZXMgPSBbXQogICAgICAgICBsaW5lcy5hcHBlbmQoJ19fYXR0cmlidXRlX18oKHZpc2liaWxp
dHkgKCJkZWZhdWx0IikpKScpCi0gICAgICAgIGxpbmVzLmFwcGVuZCgnQGludGVyZmFjZSBSV0lQ
cm90b2NvbENvbmZpZ3VyYXRpb24gOiBOU09iamVjdCcpCisgICAgICAgIGxpbmVzLmFwcGVuZCgn
QGludGVyZmFjZSAlc0NvbmZpZ3VyYXRpb24gOiBOU09iamVjdCcgJSBPYmpDR2VuZXJhdG9yLk9C
SkNfUFJFRklYKQogICAgICAgICBmb3IgZG9tYWluIGluIGRvbWFpbnM6CiAgICAgICAgICAgICBs
aW5lcy5leHRlbmQoc2VsZi5fZ2VuZXJhdGVfcHJvcGVydGllc19mb3JfZG9tYWluKGRvbWFpbikp
CiAgICAgICAgIGxpbmVzLmFwcGVuZCgnQGVuZCcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9vYmpjX2NvbmZpZ3Vy
YXRpb25faW1wbGVtZW50YXRpb24ucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9vYmpjX2NvbmZpZ3VyYXRpb25faW1wbGVtZW50YXRp
b24ucHkKaW5kZXggNTMyMDVjYi4uNzM1YWJiYyAxMDA3NTUKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfb2JqY19jb25maWd1cmF0
aW9uX2ltcGxlbWVudGF0aW9uLnB5CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX29iamNfY29uZmlndXJhdGlvbl9pbXBsZW1lbnRh
dGlvbi5weQpAQCAtNzEsNyArNzEsNyBAQCBjbGFzcyBPYmpDQmFja2VuZERpc3BhdGNoZXJJbXBs
ZW1lbnRhdGlvbkdlbmVyYXRvcihHZW5lcmF0b3IpOgogCiAgICAgZGVmIF9nZW5lcmF0ZV9jb25m
aWd1cmF0aW9uX2ltcGxlbWVudGF0aW9uX2Zvcl9kb21haW5zKHNlbGYsIGRvbWFpbnMpOgogICAg
ICAgICBsaW5lcyA9IFtdCi0gICAgICAgIGxpbmVzLmFwcGVuZCgnQGltcGxlbWVudGF0aW9uIFJX
SVByb3RvY29sQ29uZmlndXJhdGlvbicpCisgICAgICAgIGxpbmVzLmFwcGVuZCgnQGltcGxlbWVu
dGF0aW9uICVzQ29uZmlndXJhdGlvbicgJSBPYmpDR2VuZXJhdG9yLk9CSkNfUFJFRklYKQogICAg
ICAgICBsaW5lcy5hcHBlbmQoJ3snKQogICAgICAgICBsaW5lcy5hcHBlbmQoJyAgICBBdWdtZW50
YWJsZUluc3BlY3RvckNvbnRyb2xsZXIqIF9jb250cm9sbGVyOycpCiAgICAgICAgIGxpbmVzLmV4
dGVuZChzZWxmLl9nZW5lcmF0ZV9pdmFycyhkb21haW5zKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX29iamNfaGVh
ZGVyLnB5IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4v
Z2VuZXJhdGVfb2JqY19oZWFkZXIucHkKaW5kZXggMWQzNzUxZi4uN2U4ZTYxMCAxMDA3NTUKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJh
dGVfb2JqY19oZWFkZXIucHkKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9z
Y3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfb2JqY19oZWFkZXIucHkKQEAgLTUyLDcgKzUyLDcgQEAg
Y2xhc3MgT2JqQ0hlYWRlckdlbmVyYXRvcihHZW5lcmF0b3IpOgogCiAgICAgZGVmIGdlbmVyYXRl
X291dHB1dChzZWxmKToKICAgICAgICAgaGVhZGVycyA9IHNldChbCi0gICAgICAgICAgICAnPFdl
Ykluc3BlY3Rvci9SV0lQcm90b2NvbEpTT05PYmplY3QuaD4nLAorICAgICAgICAgICAgJzxXZWJJ
bnNwZWN0b3IvJXNKU09OT2JqZWN0Lmg+JyAlIE9iakNHZW5lcmF0b3IuT0JKQ19QUkVGSVgsCiAg
ICAgICAgIF0pCiAKICAgICAgICAgaGVhZGVyX2FyZ3MgPSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9vYmpjX2lu
dGVybmFsX2hlYWRlci5weSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0
cy9jb2RlZ2VuL2dlbmVyYXRlX29iamNfaW50ZXJuYWxfaGVhZGVyLnB5CmluZGV4IDI1MDFhZDMu
LjQwODAyZmYgMTAwNzU1Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2Ny
aXB0cy9jb2RlZ2VuL2dlbmVyYXRlX29iamNfaW50ZXJuYWxfaGVhZGVyLnB5CisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX29iamNf
aW50ZXJuYWxfaGVhZGVyLnB5CkBAIC00Niw3ICs0Niw3IEBAIGNsYXNzIE9iakNJbnRlcm5hbEhl
YWRlckdlbmVyYXRvcihHZW5lcmF0b3IpOgogICAgIGRlZiBnZW5lcmF0ZV9vdXRwdXQoc2VsZik6
CiAgICAgICAgIGhlYWRlcnMgPSBzZXQoWwogICAgICAgICAgICAgJyIlcy5oIicgJSBPYmpDR2Vu
ZXJhdG9yLk9CSkNfUFJFRklYLAotICAgICAgICAgICAgJyJSV0lQcm90b2NvbEpTT05PYmplY3RJ
bnRlcm5hbC5oIicsCisgICAgICAgICAgICAnIiVzSlNPTk9iamVjdEludGVybmFsLmgiJyAlIE9i
akNHZW5lcmF0b3IuT0JKQ19QUkVGSVgsCiAgICAgICAgICAgICAnPEphdmFTY3JpcHRDb3JlL0lu
c3BlY3RvclZhbHVlcy5oPicsCiAgICAgICAgICAgICAnPEphdmFTY3JpcHRDb3JlL0F1Z21lbnRh
YmxlSW5zcGVjdG9yQ29udHJvbGxlci5oPicsCiAgICAgICAgIF0pCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvY29tbWFu
ZHMtd2l0aC1hc3luYy1hdHRyaWJ1dGUuanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1hc3luYy1h
dHRyaWJ1dGUuanNvbi1yZXN1bHQKaW5kZXggZTM3ZjljNS4uNWM2YTFjZCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2Nv
bW1hbmRzLXdpdGgtYXN5bmMtYXR0cmlidXRlLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9jb21tYW5kcy13aXRo
LWFzeW5jLWF0dHJpYnV0ZS5qc29uLXJlc3VsdApAQCAtMzUsNiArMzUsNyBAQAogI2lmIEVOQUJM
RShJTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKQogCiAjaW5jbHVkZSAiSW5zcGVjdG9y
UHJvdG9jb2xUeXBlcy5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZFJv
dXRlci5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0luc3BlY3RvckJhY2tlbmREaXNwYXRj
aGVyLmg+CiAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewpAQCAtMTg2LDcgKzE4Nyw3IEBAIHByb3Rl
Y3RlZDoKIAogY2xhc3MgRGF0YWJhc2VCYWNrZW5kRGlzcGF0Y2hlciBmaW5hbCA6IHB1YmxpYyBT
dXBwbGVtZW50YWxCYWNrZW5kRGlzcGF0Y2hlciB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxE
YXRhYmFzZUJhY2tlbmREaXNwYXRjaGVyPiBjcmVhdGUoQmFja2VuZERpc3BhdGNoZXIqLCBEYXRh
YmFzZUJhY2tlbmREaXNwYXRjaGVySGFuZGxlciopOworICAgIHN0YXRpYyBSZWY8RGF0YWJhc2VC
YWNrZW5kRGlzcGF0Y2hlcj4gY3JlYXRlKEJhY2tlbmREaXNwYXRjaGVyJiwgRGF0YWJhc2VCYWNr
ZW5kRGlzcGF0Y2hlckhhbmRsZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2gobG9uZyBy
ZXF1ZXN0SWQsIGNvbnN0IFN0cmluZyYgbWV0aG9kLCBSZWY8SW5zcGVjdG9yT2JqZWN0PiYmIG1l
c3NhZ2UpIG92ZXJyaWRlOwogcHJpdmF0ZToKICAgICB2b2lkIGV4ZWN1dGVTUUxTeW5jT3B0aW9u
YWxSZXR1cm5WYWx1ZXMobG9uZyByZXF1ZXN0SWQsIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+JiYg
cGFyYW1ldGVycyk7CkBAIC0yNDMsNyArMjQ0LDcgQEAgcHJpdmF0ZToKICNpbmNsdWRlICJjb25m
aWcuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaCIKIAotI2luY2x1
ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaD4KKyNpbmNsdWRlIDxpbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRSb3V0ZXIuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5z
cGVjdG9yVmFsdWVzLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvQ1N0cmluZy5oPgpAQCAtMjU2LDkgKzI1Nyw5IEBAIG5hbWVzcGFjZSBJbnNw
ZWN0b3IgewogCiBEYXRhYmFzZUJhY2tlbmREaXNwYXRjaGVySGFuZGxlcjo6fkRhdGFiYXNlQmFj
a2VuZERpc3BhdGNoZXJIYW5kbGVyKCkgeyB9CiAKLVJlZjxEYXRhYmFzZUJhY2tlbmREaXNwYXRj
aGVyPiBEYXRhYmFzZUJhY2tlbmREaXNwYXRjaGVyOjpjcmVhdGUoQmFja2VuZERpc3BhdGNoZXIq
IGJhY2tlbmREaXNwYXRjaGVyLCBEYXRhYmFzZUJhY2tlbmREaXNwYXRjaGVySGFuZGxlciogYWdl
bnQpCitSZWY8RGF0YWJhc2VCYWNrZW5kRGlzcGF0Y2hlcj4gRGF0YWJhc2VCYWNrZW5kRGlzcGF0
Y2hlcjo6Y3JlYXRlKEJhY2tlbmREaXNwYXRjaGVyJiBiYWNrZW5kRGlzcGF0Y2hlciwgRGF0YWJh
c2VCYWNrZW5kRGlzcGF0Y2hlckhhbmRsZXIqIGFnZW50KQogewotICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IERhdGFiYXNlQmFja2VuZERpc3BhdGNoZXIoKmJhY2tlbmREaXNwYXRjaGVyLCBhZ2Vu
dCkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IERhdGFiYXNlQmFja2VuZERpc3BhdGNoZXIo
YmFja2VuZERpc3BhdGNoZXIsIGFnZW50KSk7CiB9CiAKIERhdGFiYXNlQmFja2VuZERpc3BhdGNo
ZXI6OkRhdGFiYXNlQmFja2VuZERpc3BhdGNoZXIoQmFja2VuZERpc3BhdGNoZXImIGJhY2tlbmRE
aXNwYXRjaGVyLCBEYXRhYmFzZUJhY2tlbmREaXNwYXRjaGVySGFuZGxlciogYWdlbnQpCkBAIC01
MzcsMTMgKzUzOCwxMiBAQCB2b2lkIERhdGFiYXNlQmFja2VuZERpc3BhdGNoZXI6OmV4ZWN1dGVT
UUxBc3luYyhsb25nIHJlcXVlc3RJZCwgUmVmUHRyPEluc3BlY3RvcgogI2RlZmluZSBJbnNwZWN0
b3JGcm9udGVuZERpc3BhdGNoZXJzX2gKIAogI2luY2x1ZGUgIkluc3BlY3RvclByb3RvY29sT2Jq
ZWN0cy5oIgotI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaD4K
ICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCi0KK2NsYXNzIEZyb250
ZW5kUm91dGVyOwogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIApAQCAtNTg0LDYgKzU4NCw3
IEBAIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
Ikluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaCIKIAorI2luY2x1ZGUgIkluc3BlY3RvckZy
b250ZW5kUm91dGVyLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCiBuYW1lc3Bh
Y2UgSW5zcGVjdG9yIHsKQEAgLTkzMSw3ICs5MzIsNyBAQCB1c2luZyBuYW1lc3BhY2UgSW5zcGVj
dG9yOwogICAgIF9kYXRhYmFzZUhhbmRsZXIgPSBbaGFuZGxlciByZXRhaW5dOwogCiAgICAgYXV0
byBhbHRlcm5hdGVEaXNwYXRjaGVyID0gc3RkOjptYWtlX3VuaXF1ZTxPYmpDSW5zcGVjdG9yRGF0
YWJhc2VCYWNrZW5kRGlzcGF0Y2hlcj4oaGFuZGxlcik7Ci0gICAgYXV0byBhbHRlcm5hdGVBZ2Vu
dCA9IHN0ZDo6bWFrZV91bmlxdWU8QWx0ZXJuYXRlRGlzcGF0Y2hhYmxlQWdlbnQ8RGF0YWJhc2VC
YWNrZW5kRGlzcGF0Y2hlciwgQWx0ZXJuYXRlRGF0YWJhc2VCYWNrZW5kRGlzcGF0Y2hlcj4+KEFT
Q0lJTGl0ZXJhbCgiRGF0YWJhc2UiKSwgV1RGOjptb3ZlKGFsdGVybmF0ZURpc3BhdGNoZXIpKTsK
KyAgICBhdXRvIGFsdGVybmF0ZUFnZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxBbHRlcm5hdGVEaXNw
YXRjaGFibGVBZ2VudDxEYXRhYmFzZUJhY2tlbmREaXNwYXRjaGVyLCBBbHRlcm5hdGVEYXRhYmFz
ZUJhY2tlbmREaXNwYXRjaGVyPj4oQVNDSUlMaXRlcmFsKCJEYXRhYmFzZSIpLCAqX2NvbnRyb2xs
ZXIsIFdURjo6bW92ZShhbHRlcm5hdGVEaXNwYXRjaGVyKSk7CiAgICAgX2NvbnRyb2xsZXItPmFw
cGVuZEV4dHJhQWdlbnQoV1RGOjptb3ZlKGFsdGVybmF0ZUFnZW50KSk7CiB9CiAKQEAgLTk3Niw3
ICs5NzcsNyBAQCB1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwogLy8gRE8gTk9UIEVESVQgVEhJ
UyBGSUxFLiBJdCBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmcm9tIGNvbW1hbmRzLXdpdGgt
YXN5bmMtYXR0cmlidXRlLmpzb24KIC8vIGJ5IHRoZSBzY3JpcHQ6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGlu
Z3MucHkKIAotI2ltcG9ydCAiUldJUHJvdG9jb2wuaCIKKyNpbXBvcnQgPFdlYkluc3BlY3Rvci9S
V0lQcm90b2NvbC5oPgogCiBfX2F0dHJpYnV0ZV9fKCh2aXNpYmlsaXR5ICgiZGVmYXVsdCIpKSkK
IEBpbnRlcmZhY2UgUldJUHJvdG9jb2xDb25maWd1cmF0aW9uIDogTlNPYmplY3QKQEAgLTEwMjIs
NyArMTAyMyw2IEBAIF9fYXR0cmlidXRlX18oKHZpc2liaWxpdHkgKCJkZWZhdWx0IikpKQogCiAj
aW5jbHVkZSAiUldJUHJvdG9jb2xJbnRlcm5hbC5oIgogI2luY2x1ZGUgIlJXSVByb3RvY29sRW51
bUNvbnZlcnNpb25IZWxwZXJzLmgiCi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSW5zcGVjdG9y
RnJvbnRlbmRDaGFubmVsLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSW5zcGVjdG9yVmFs
dWVzLmg+CiAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewpAQCAtMTQwNyw3ICsxNDA3LDYgQEAgaW5s
aW5lIFJXSVByb3RvY29sRGF0YWJhc2VFeGVjdXRlU1FMQXN5bmNQcmludENvbG9yIGZyb21Qcm90
b2NvbFN0cmluZyhjb25zdCBTdHIKICNpbXBvcnQgIlJXSVByb3RvY29sSW50ZXJuYWwuaCIKIAog
I2ltcG9ydCAiUldJUHJvdG9jb2xFbnVtQ29udmVyc2lvbkhlbHBlcnMuaCIKLSNpbXBvcnQgPEph
dmFTY3JpcHRDb3JlL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oPgogI2ltcG9ydCA8SmF2YVNj
cmlwdENvcmUvSW5zcGVjdG9yVmFsdWVzLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVz
dHMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1vcHRpb25hbC1jYWxsLXJldHVybi1wYXJhbWV0ZXJz
Lmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rl
c3RzL2V4cGVjdGVkL2NvbW1hbmRzLXdpdGgtb3B0aW9uYWwtY2FsbC1yZXR1cm4tcGFyYW1ldGVy
cy5qc29uLXJlc3VsdAppbmRleCBiY2E3NDMzLi5mYjdhYjc1ODEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9jb21tYW5k
cy13aXRoLW9wdGlvbmFsLWNhbGwtcmV0dXJuLXBhcmFtZXRlcnMuanNvbi1yZXN1bHQKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2Nv
bW1hbmRzLXdpdGgtb3B0aW9uYWwtY2FsbC1yZXR1cm4tcGFyYW1ldGVycy5qc29uLXJlc3VsdApA
QCAtMzUsNiArMzUsNyBAQAogI2lmIEVOQUJMRShJTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENI
RVJTKQogCiAjaW5jbHVkZSAiSW5zcGVjdG9yUHJvdG9jb2xUeXBlcy5oIgorI2luY2x1ZGUgPGlu
c3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZFJvdXRlci5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRD
b3JlL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyLmg+CiAKIG5hbWVzcGFjZSBJbnNwZWN0b3Ig
ewpAQCAtMTY5LDcgKzE3MCw3IEBAIHByb3RlY3RlZDoKIAogY2xhc3MgRGF0YWJhc2VCYWNrZW5k
RGlzcGF0Y2hlciBmaW5hbCA6IHB1YmxpYyBTdXBwbGVtZW50YWxCYWNrZW5kRGlzcGF0Y2hlciB7
CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxEYXRhYmFzZUJhY2tlbmREaXNwYXRjaGVyPiBjcmVh
dGUoQmFja2VuZERpc3BhdGNoZXIqLCBEYXRhYmFzZUJhY2tlbmREaXNwYXRjaGVySGFuZGxlciop
OworICAgIHN0YXRpYyBSZWY8RGF0YWJhc2VCYWNrZW5kRGlzcGF0Y2hlcj4gY3JlYXRlKEJhY2tl
bmREaXNwYXRjaGVyJiwgRGF0YWJhc2VCYWNrZW5kRGlzcGF0Y2hlckhhbmRsZXIqKTsKICAgICB2
aXJ0dWFsIHZvaWQgZGlzcGF0Y2gobG9uZyByZXF1ZXN0SWQsIGNvbnN0IFN0cmluZyYgbWV0aG9k
LCBSZWY8SW5zcGVjdG9yT2JqZWN0PiYmIG1lc3NhZ2UpIG92ZXJyaWRlOwogcHJpdmF0ZToKICAg
ICB2b2lkIGV4ZWN1dGVBbGxPcHRpb25hbFBhcmFtZXRlcnMobG9uZyByZXF1ZXN0SWQsIFJlZlB0
cjxJbnNwZWN0b3JPYmplY3Q+JiYgcGFyYW1ldGVycyk7CkBAIC0yMjQsNyArMjI1LDcgQEAgcHJp
dmF0ZToKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JCYWNrZW5kRGlz
cGF0Y2hlcnMuaCIKIAotI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENoYW5u
ZWwuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRSb3V0ZXIuaD4KICNp
bmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVy
RGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgpAQCAtMjM3LDkgKzIz
OCw5IEBAIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCiBEYXRhYmFzZUJhY2tlbmREaXNwYXRjaGVy
SGFuZGxlcjo6fkRhdGFiYXNlQmFja2VuZERpc3BhdGNoZXJIYW5kbGVyKCkgeyB9CiAKLVJlZjxE
YXRhYmFzZUJhY2tlbmREaXNwYXRjaGVyPiBEYXRhYmFzZUJhY2tlbmREaXNwYXRjaGVyOjpjcmVh
dGUoQmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyLCBEYXRhYmFzZUJhY2tlbmRE
aXNwYXRjaGVySGFuZGxlciogYWdlbnQpCitSZWY8RGF0YWJhc2VCYWNrZW5kRGlzcGF0Y2hlcj4g
RGF0YWJhc2VCYWNrZW5kRGlzcGF0Y2hlcjo6Y3JlYXRlKEJhY2tlbmREaXNwYXRjaGVyJiBiYWNr
ZW5kRGlzcGF0Y2hlciwgRGF0YWJhc2VCYWNrZW5kRGlzcGF0Y2hlckhhbmRsZXIqIGFnZW50KQog
ewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IERhdGFiYXNlQmFja2VuZERpc3BhdGNoZXIoKmJh
Y2tlbmREaXNwYXRjaGVyLCBhZ2VudCkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IERhdGFi
YXNlQmFja2VuZERpc3BhdGNoZXIoYmFja2VuZERpc3BhdGNoZXIsIGFnZW50KSk7CiB9CiAKIERh
dGFiYXNlQmFja2VuZERpc3BhdGNoZXI6OkRhdGFiYXNlQmFja2VuZERpc3BhdGNoZXIoQmFja2Vu
ZERpc3BhdGNoZXImIGJhY2tlbmREaXNwYXRjaGVyLCBEYXRhYmFzZUJhY2tlbmREaXNwYXRjaGVy
SGFuZGxlciogYWdlbnQpCkBAIC00MzgsMTMgKzQzOSwxMiBAQCB2b2lkIERhdGFiYXNlQmFja2Vu
ZERpc3BhdGNoZXI6OmV4ZWN1dGVOb09wdGlvbmFsUGFyYW1ldGVycyhsb25nIHJlcXVlc3RJZCwg
UmVmUAogI2RlZmluZSBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzX2gKIAogI2luY2x1ZGUg
Ikluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oIgotI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZENoYW5uZWwuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVz
Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBJbnNwZWN0
b3IgewogCi0KK2NsYXNzIEZyb250ZW5kUm91dGVyOwogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0
b3IKIApAQCAtNDg1LDYgKzQ4NSw3IEBAIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaCIKIAor
I2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kUm91dGVyLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQv
Q1N0cmluZy5oPgogCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKQEAgLTgzMCw3ICs4MzEsNyBAQCB1
c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwogICAgIF9kYXRhYmFzZUhhbmRsZXIgPSBbaGFuZGxl
ciByZXRhaW5dOwogCiAgICAgYXV0byBhbHRlcm5hdGVEaXNwYXRjaGVyID0gc3RkOjptYWtlX3Vu
aXF1ZTxPYmpDSW5zcGVjdG9yRGF0YWJhc2VCYWNrZW5kRGlzcGF0Y2hlcj4oaGFuZGxlcik7Ci0g
ICAgYXV0byBhbHRlcm5hdGVBZ2VudCA9IHN0ZDo6bWFrZV91bmlxdWU8QWx0ZXJuYXRlRGlzcGF0
Y2hhYmxlQWdlbnQ8RGF0YWJhc2VCYWNrZW5kRGlzcGF0Y2hlciwgQWx0ZXJuYXRlRGF0YWJhc2VC
YWNrZW5kRGlzcGF0Y2hlcj4+KEFTQ0lJTGl0ZXJhbCgiRGF0YWJhc2UiKSwgV1RGOjptb3ZlKGFs
dGVybmF0ZURpc3BhdGNoZXIpKTsKKyAgICBhdXRvIGFsdGVybmF0ZUFnZW50ID0gc3RkOjptYWtl
X3VuaXF1ZTxBbHRlcm5hdGVEaXNwYXRjaGFibGVBZ2VudDxEYXRhYmFzZUJhY2tlbmREaXNwYXRj
aGVyLCBBbHRlcm5hdGVEYXRhYmFzZUJhY2tlbmREaXNwYXRjaGVyPj4oQVNDSUlMaXRlcmFsKCJE
YXRhYmFzZSIpLCAqX2NvbnRyb2xsZXIsIFdURjo6bW92ZShhbHRlcm5hdGVEaXNwYXRjaGVyKSk7
CiAgICAgX2NvbnRyb2xsZXItPmFwcGVuZEV4dHJhQWdlbnQoV1RGOjptb3ZlKGFsdGVybmF0ZUFn
ZW50KSk7CiB9CiAKQEAgLTg3NSw3ICs4NzYsNyBAQCB1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9y
OwogLy8gRE8gTk9UIEVESVQgVEhJUyBGSUxFLiBJdCBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRl
ZCBmcm9tIGNvbW1hbmRzLXdpdGgtb3B0aW9uYWwtY2FsbC1yZXR1cm4tcGFyYW1ldGVycy5qc29u
CiAvLyBieSB0aGUgc2NyaXB0OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Njcmlw
dHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5CiAKLSNpbXBvcnQgIlJX
SVByb3RvY29sLmgiCisjaW1wb3J0IDxXZWJJbnNwZWN0b3IvUldJUHJvdG9jb2wuaD4KIAogX19h
dHRyaWJ1dGVfXygodmlzaWJpbGl0eSAoImRlZmF1bHQiKSkpCiBAaW50ZXJmYWNlIFJXSVByb3Rv
Y29sQ29uZmlndXJhdGlvbiA6IE5TT2JqZWN0CkBAIC05MjEsNyArOTIyLDYgQEAgX19hdHRyaWJ1
dGVfXygodmlzaWJpbGl0eSAoImRlZmF1bHQiKSkpCiAKICNpbmNsdWRlICJSV0lQcm90b2NvbElu
dGVybmFsLmgiCiAjaW5jbHVkZSAiUldJUHJvdG9jb2xFbnVtQ29udmVyc2lvbkhlbHBlcnMuaCIK
LSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaD4KICNp
bmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JbnNwZWN0b3JWYWx1ZXMuaD4KIAogbmFtZXNwYWNlIElu
c3BlY3RvciB7CkBAIC0xMjY0LDcgKzEyNjQsNiBAQCBpbmxpbmUgUldJUHJvdG9jb2xEYXRhYmFz
ZUV4ZWN1dGVOb09wdGlvbmFsUGFyYW1ldGVyc1ByaW50Q29sb3IgZnJvbVByb3RvY29sU3RyaQog
I2ltcG9ydCAiUldJUHJvdG9jb2xJbnRlcm5hbC5oIgogCiAjaW1wb3J0ICJSV0lQcm90b2NvbEVu
dW1Db252ZXJzaW9uSGVscGVycy5oIgotI2ltcG9ydCA8SmF2YVNjcmlwdENvcmUvSW5zcGVjdG9y
RnJvbnRlbmRDaGFubmVsLmg+CiAjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9JbnNwZWN0b3JWYWx1
ZXMuaD4KIAogdXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9kb21haW5zLXdp
dGgtdmFyeWluZy1jb21tYW5kLXNpemVzLmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2RvbWFpbnMtd2l0aC12YXJ5aW5n
LWNvbW1hbmQtc2l6ZXMuanNvbi1yZXN1bHQKaW5kZXggYzRjZjZiMS4uMzAyNDMyYyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVj
dGVkL2RvbWFpbnMtd2l0aC12YXJ5aW5nLWNvbW1hbmQtc2l6ZXMuanNvbi1yZXN1bHQKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2Rv
bWFpbnMtd2l0aC12YXJ5aW5nLWNvbW1hbmQtc2l6ZXMuanNvbi1yZXN1bHQKQEAgLTM1LDYgKzM1
LDcgQEAKICNpZiBFTkFCTEUoSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykKIAogI2lu
Y2x1ZGUgIkluc3BlY3RvclByb3RvY29sVHlwZXMuaCIKKyNpbmNsdWRlIDxpbnNwZWN0b3IvSW5z
cGVjdG9yRnJvbnRlbmRSb3V0ZXIuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JbnNwZWN0
b3JCYWNrZW5kRGlzcGF0Y2hlci5oPgogCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKQEAgLTE4Nyw3
ICsxODgsNyBAQCBwcm90ZWN0ZWQ6CiAKIGNsYXNzIE5ldHdvcmsxQmFja2VuZERpc3BhdGNoZXIg
ZmluYWwgOiBwdWJsaWMgU3VwcGxlbWVudGFsQmFja2VuZERpc3BhdGNoZXIgewogcHVibGljOgot
ICAgIHN0YXRpYyBSZWY8TmV0d29yazFCYWNrZW5kRGlzcGF0Y2hlcj4gY3JlYXRlKEJhY2tlbmRE
aXNwYXRjaGVyKiwgTmV0d29yazFCYWNrZW5kRGlzcGF0Y2hlckhhbmRsZXIqKTsKKyAgICBzdGF0
aWMgUmVmPE5ldHdvcmsxQmFja2VuZERpc3BhdGNoZXI+IGNyZWF0ZShCYWNrZW5kRGlzcGF0Y2hl
ciYsIE5ldHdvcmsxQmFja2VuZERpc3BhdGNoZXJIYW5kbGVyKik7CiAgICAgdmlydHVhbCB2b2lk
IGRpc3BhdGNoKGxvbmcgcmVxdWVzdElkLCBjb25zdCBTdHJpbmcmIG1ldGhvZCwgUmVmPEluc3Bl
Y3Rvck9iamVjdD4mJiBtZXNzYWdlKSBvdmVycmlkZTsKIHByaXZhdGU6CiAgICAgdm9pZCBsb2Fk
UmVzb3VyY2UxKGxvbmcgcmVxdWVzdElkLCBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiYmIHBhcmFt
ZXRlcnMpOwpAQCAtMjA0LDcgKzIwNSw3IEBAIHByaXZhdGU6CiAKIGNsYXNzIE5ldHdvcmszQmFj
a2VuZERpc3BhdGNoZXIgZmluYWwgOiBwdWJsaWMgU3VwcGxlbWVudGFsQmFja2VuZERpc3BhdGNo
ZXIgewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8TmV0d29yazNCYWNrZW5kRGlzcGF0Y2hlcj4g
Y3JlYXRlKEJhY2tlbmREaXNwYXRjaGVyKiwgTmV0d29yazNCYWNrZW5kRGlzcGF0Y2hlckhhbmRs
ZXIqKTsKKyAgICBzdGF0aWMgUmVmPE5ldHdvcmszQmFja2VuZERpc3BhdGNoZXI+IGNyZWF0ZShC
YWNrZW5kRGlzcGF0Y2hlciYsIE5ldHdvcmszQmFja2VuZERpc3BhdGNoZXJIYW5kbGVyKik7CiAg
ICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoKGxvbmcgcmVxdWVzdElkLCBjb25zdCBTdHJpbmcmIG1l
dGhvZCwgUmVmPEluc3BlY3Rvck9iamVjdD4mJiBtZXNzYWdlKSBvdmVycmlkZTsKIHByaXZhdGU6
CiAgICAgdm9pZCBsb2FkUmVzb3VyY2UxKGxvbmcgcmVxdWVzdElkLCBSZWZQdHI8SW5zcGVjdG9y
T2JqZWN0PiYmIHBhcmFtZXRlcnMpOwpAQCAtMjY0LDcgKzI2NSw3IEBAIHByaXZhdGU6CiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmgi
CiAKLSNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmg+CisjaW5j
bHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kUm91dGVyLmg+CiAjaW5jbHVkZSA8aW5z
cGVjdG9yL0luc3BlY3RvclZhbHVlcy5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5o
PgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KQEAgLTI3OCw5ICsyNzksOSBAQCBuYW1l
c3BhY2UgSW5zcGVjdG9yIHsKIE5ldHdvcmsxQmFja2VuZERpc3BhdGNoZXJIYW5kbGVyOjp+TmV0
d29yazFCYWNrZW5kRGlzcGF0Y2hlckhhbmRsZXIoKSB7IH0KIE5ldHdvcmszQmFja2VuZERpc3Bh
dGNoZXJIYW5kbGVyOjp+TmV0d29yazNCYWNrZW5kRGlzcGF0Y2hlckhhbmRsZXIoKSB7IH0KIAot
UmVmPE5ldHdvcmsxQmFja2VuZERpc3BhdGNoZXI+IE5ldHdvcmsxQmFja2VuZERpc3BhdGNoZXI6
OmNyZWF0ZShCYWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIsIE5ldHdvcmsxQmFj
a2VuZERpc3BhdGNoZXJIYW5kbGVyKiBhZ2VudCkKK1JlZjxOZXR3b3JrMUJhY2tlbmREaXNwYXRj
aGVyPiBOZXR3b3JrMUJhY2tlbmREaXNwYXRjaGVyOjpjcmVhdGUoQmFja2VuZERpc3BhdGNoZXIm
IGJhY2tlbmREaXNwYXRjaGVyLCBOZXR3b3JrMUJhY2tlbmREaXNwYXRjaGVySGFuZGxlciogYWdl
bnQpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTmV0d29yazFCYWNrZW5kRGlzcGF0Y2hl
cigqYmFja2VuZERpc3BhdGNoZXIsIGFnZW50KSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
TmV0d29yazFCYWNrZW5kRGlzcGF0Y2hlcihiYWNrZW5kRGlzcGF0Y2hlciwgYWdlbnQpKTsKIH0K
IAogTmV0d29yazFCYWNrZW5kRGlzcGF0Y2hlcjo6TmV0d29yazFCYWNrZW5kRGlzcGF0Y2hlcihC
YWNrZW5kRGlzcGF0Y2hlciYgYmFja2VuZERpc3BhdGNoZXIsIE5ldHdvcmsxQmFja2VuZERpc3Bh
dGNoZXJIYW5kbGVyKiBhZ2VudCkKQEAgLTMyNSw5ICszMjYsOSBAQCB2b2lkIE5ldHdvcmsxQmFj
a2VuZERpc3BhdGNoZXI6OmxvYWRSZXNvdXJjZTEobG9uZyByZXF1ZXN0SWQsIFJlZlB0cjxJbnNw
ZWN0b3JPYgogICAgICAgICBtX2JhY2tlbmREaXNwYXRjaGVyLT5yZXBvcnRQcm90b2NvbEVycm9y
KEJhY2tlbmREaXNwYXRjaGVyOjpTZXJ2ZXJFcnJvciwgV1RGOjptb3ZlKGVycm9yKSk7CiB9CiAK
LVJlZjxOZXR3b3JrM0JhY2tlbmREaXNwYXRjaGVyPiBOZXR3b3JrM0JhY2tlbmREaXNwYXRjaGVy
OjpjcmVhdGUoQmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyLCBOZXR3b3JrM0Jh
Y2tlbmREaXNwYXRjaGVySGFuZGxlciogYWdlbnQpCitSZWY8TmV0d29yazNCYWNrZW5kRGlzcGF0
Y2hlcj4gTmV0d29yazNCYWNrZW5kRGlzcGF0Y2hlcjo6Y3JlYXRlKEJhY2tlbmREaXNwYXRjaGVy
JiBiYWNrZW5kRGlzcGF0Y2hlciwgTmV0d29yazNCYWNrZW5kRGlzcGF0Y2hlckhhbmRsZXIqIGFn
ZW50KQogewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE5ldHdvcmszQmFja2VuZERpc3BhdGNo
ZXIoKmJhY2tlbmREaXNwYXRjaGVyLCBhZ2VudCkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IE5ldHdvcmszQmFja2VuZERpc3BhdGNoZXIoYmFja2VuZERpc3BhdGNoZXIsIGFnZW50KSk7CiB9
CiAKIE5ldHdvcmszQmFja2VuZERpc3BhdGNoZXI6Ok5ldHdvcmszQmFja2VuZERpc3BhdGNoZXIo
QmFja2VuZERpc3BhdGNoZXImIGJhY2tlbmREaXNwYXRjaGVyLCBOZXR3b3JrM0JhY2tlbmREaXNw
YXRjaGVySGFuZGxlciogYWdlbnQpCkBAIC01NDksMTMgKzU1MCwxMiBAQCB2b2lkIE5ldHdvcmsz
QmFja2VuZERpc3BhdGNoZXI6OmxvYWRSZXNvdXJjZTcobG9uZyByZXF1ZXN0SWQsIFJlZlB0cjxJ
bnNwZWN0b3JPYgogI2RlZmluZSBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzX2gKIAogI2lu
Y2x1ZGUgIkluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oIgotI2luY2x1ZGUgPGluc3BlY3Rvci9J
bnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9y
VmFsdWVzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBJ
bnNwZWN0b3IgewogCi0KK2NsYXNzIEZyb250ZW5kUm91dGVyOwogCiB9IC8vIG5hbWVzcGFjZSBJ
bnNwZWN0b3IKIApAQCAtNTk2LDYgKzU5Niw3IEBAIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMu
aCIKIAorI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kUm91dGVyLmgiCiAjaW5jbHVkZSA8d3Rm
L3RleHQvQ1N0cmluZy5oPgogCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKQEAgLTg3MSw3ICs4NzIs
NyBAQCB1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwogICAgIF9uZXR3b3JrMUhhbmRsZXIgPSBb
aGFuZGxlciByZXRhaW5dOwogCiAgICAgYXV0byBhbHRlcm5hdGVEaXNwYXRjaGVyID0gc3RkOjpt
YWtlX3VuaXF1ZTxPYmpDSW5zcGVjdG9yTmV0d29yazFCYWNrZW5kRGlzcGF0Y2hlcj4oaGFuZGxl
cik7Ci0gICAgYXV0byBhbHRlcm5hdGVBZ2VudCA9IHN0ZDo6bWFrZV91bmlxdWU8QWx0ZXJuYXRl
RGlzcGF0Y2hhYmxlQWdlbnQ8TmV0d29yazFCYWNrZW5kRGlzcGF0Y2hlciwgQWx0ZXJuYXRlTmV0
d29yazFCYWNrZW5kRGlzcGF0Y2hlcj4+KEFTQ0lJTGl0ZXJhbCgiTmV0d29yazEiKSwgV1RGOjpt
b3ZlKGFsdGVybmF0ZURpc3BhdGNoZXIpKTsKKyAgICBhdXRvIGFsdGVybmF0ZUFnZW50ID0gc3Rk
OjptYWtlX3VuaXF1ZTxBbHRlcm5hdGVEaXNwYXRjaGFibGVBZ2VudDxOZXR3b3JrMUJhY2tlbmRE
aXNwYXRjaGVyLCBBbHRlcm5hdGVOZXR3b3JrMUJhY2tlbmREaXNwYXRjaGVyPj4oQVNDSUlMaXRl
cmFsKCJOZXR3b3JrMSIpLCAqX2NvbnRyb2xsZXIsIFdURjo6bW92ZShhbHRlcm5hdGVEaXNwYXRj
aGVyKSk7CiAgICAgX2NvbnRyb2xsZXItPmFwcGVuZEV4dHJhQWdlbnQoV1RGOjptb3ZlKGFsdGVy
bmF0ZUFnZW50KSk7CiB9CiAKQEAgLTg4OSw3ICs4OTAsNyBAQCB1c2luZyBuYW1lc3BhY2UgSW5z
cGVjdG9yOwogICAgIF9uZXR3b3JrM0hhbmRsZXIgPSBbaGFuZGxlciByZXRhaW5dOwogCiAgICAg
YXV0byBhbHRlcm5hdGVEaXNwYXRjaGVyID0gc3RkOjptYWtlX3VuaXF1ZTxPYmpDSW5zcGVjdG9y
TmV0d29yazNCYWNrZW5kRGlzcGF0Y2hlcj4oaGFuZGxlcik7Ci0gICAgYXV0byBhbHRlcm5hdGVB
Z2VudCA9IHN0ZDo6bWFrZV91bmlxdWU8QWx0ZXJuYXRlRGlzcGF0Y2hhYmxlQWdlbnQ8TmV0d29y
azNCYWNrZW5kRGlzcGF0Y2hlciwgQWx0ZXJuYXRlTmV0d29yazNCYWNrZW5kRGlzcGF0Y2hlcj4+
KEFTQ0lJTGl0ZXJhbCgiTmV0d29yazMiKSwgV1RGOjptb3ZlKGFsdGVybmF0ZURpc3BhdGNoZXIp
KTsKKyAgICBhdXRvIGFsdGVybmF0ZUFnZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxBbHRlcm5hdGVE
aXNwYXRjaGFibGVBZ2VudDxOZXR3b3JrM0JhY2tlbmREaXNwYXRjaGVyLCBBbHRlcm5hdGVOZXR3
b3JrM0JhY2tlbmREaXNwYXRjaGVyPj4oQVNDSUlMaXRlcmFsKCJOZXR3b3JrMyIpLCAqX2NvbnRy
b2xsZXIsIFdURjo6bW92ZShhbHRlcm5hdGVEaXNwYXRjaGVyKSk7CiAgICAgX2NvbnRyb2xsZXIt
PmFwcGVuZEV4dHJhQWdlbnQoV1RGOjptb3ZlKGFsdGVybmF0ZUFnZW50KSk7CiB9CiAKQEAgLTkz
NCw3ICs5MzUsNyBAQCB1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwogLy8gRE8gTk9UIEVESVQg
VEhJUyBGSUxFLiBJdCBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmcm9tIGRvbWFpbnMtd2l0
aC12YXJ5aW5nLWNvbW1hbmQtc2l6ZXMuanNvbgogLy8gYnkgdGhlIHNjcmlwdDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2Nv
bC1iaW5kaW5ncy5weQogCi0jaW1wb3J0ICJSV0lQcm90b2NvbC5oIgorI2ltcG9ydCA8V2ViSW5z
cGVjdG9yL1JXSVByb3RvY29sLmg+CiAKIF9fYXR0cmlidXRlX18oKHZpc2liaWxpdHkgKCJkZWZh
dWx0IikpKQogQGludGVyZmFjZSBSV0lQcm90b2NvbENvbmZpZ3VyYXRpb24gOiBOU09iamVjdApA
QCAtOTgxLDcgKzk4Miw2IEBAIF9fYXR0cmlidXRlX18oKHZpc2liaWxpdHkgKCJkZWZhdWx0Iikp
KQogCiAjaW5jbHVkZSAiUldJUHJvdG9jb2xJbnRlcm5hbC5oIgogI2luY2x1ZGUgIlJXSVByb3Rv
Y29sRW51bUNvbnZlcnNpb25IZWxwZXJzLmgiCi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSW5z
cGVjdG9yRnJvbnRlbmRDaGFubmVsLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSW5zcGVj
dG9yVmFsdWVzLmg+CiAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewpAQCAtMTE4OSw3ICsxMTg5LDYg
QEAgT2JqQ0VudW1UeXBlIGZyb21Qcm90b2NvbFN0cmluZyhjb25zdCBTdHJpbmcmIHZhbHVlKTsK
ICNpbXBvcnQgIlJXSVByb3RvY29sSW50ZXJuYWwuaCIKIAogI2ltcG9ydCAiUldJUHJvdG9jb2xF
bnVtQ29udmVyc2lvbkhlbHBlcnMuaCIKLSNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL0luc3BlY3Rv
ckZyb250ZW5kQ2hhbm5lbC5oPgogI2ltcG9ydCA8SmF2YVNjcmlwdENvcmUvSW5zcGVjdG9yVmFs
dWVzLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvZW51bS12YWx1
ZXMuanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMv
dGVzdHMvZXhwZWN0ZWQvZW51bS12YWx1ZXMuanNvbi1yZXN1bHQKaW5kZXggZDFmMWZmMS4uMWFk
N2U2MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRz
L3Rlc3RzL2V4cGVjdGVkL2VudW0tdmFsdWVzLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9lbnVtLXZhbHVlcy5q
c29uLXJlc3VsdApAQCAtMzUsNiArMzUsNyBAQAogI2lmIEVOQUJMRShJTlNQRUNUT1JfQUxURVJO
QVRFX0RJU1BBVENIRVJTKQogCiAjaW5jbHVkZSAiSW5zcGVjdG9yUHJvdG9jb2xUeXBlcy5oIgor
I2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZFJvdXRlci5oPgogI2luY2x1ZGUg
PEphdmFTY3JpcHRDb3JlL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyLmg+CiAKIG5hbWVzcGFj
ZSBJbnNwZWN0b3IgewpAQCAtMTY4LDcgKzE2OSw3IEBAIHByb3RlY3RlZDoKIAogY2xhc3MgQ29t
bWFuZERvbWFpbkJhY2tlbmREaXNwYXRjaGVyIGZpbmFsIDogcHVibGljIFN1cHBsZW1lbnRhbEJh
Y2tlbmREaXNwYXRjaGVyIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPENvbW1hbmREb21haW5C
YWNrZW5kRGlzcGF0Y2hlcj4gY3JlYXRlKEJhY2tlbmREaXNwYXRjaGVyKiwgQ29tbWFuZERvbWFp
bkJhY2tlbmREaXNwYXRjaGVySGFuZGxlciopOworICAgIHN0YXRpYyBSZWY8Q29tbWFuZERvbWFp
bkJhY2tlbmREaXNwYXRjaGVyPiBjcmVhdGUoQmFja2VuZERpc3BhdGNoZXImLCBDb21tYW5kRG9t
YWluQmFja2VuZERpc3BhdGNoZXJIYW5kbGVyKik7CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNo
KGxvbmcgcmVxdWVzdElkLCBjb25zdCBTdHJpbmcmIG1ldGhvZCwgUmVmPEluc3BlY3Rvck9iamVj
dD4mJiBtZXNzYWdlKSBvdmVycmlkZTsKIHByaXZhdGU6CiAgICAgdm9pZCBjb21tYW5kV2l0aEVu
dW1SZXR1cm5WYWx1ZShsb25nIHJlcXVlc3RJZCwgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4mJiBw
YXJhbWV0ZXJzKTsKQEAgLTIyMiw3ICsyMjMsNyBAQCBwcml2YXRlOgogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIkluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oIgogCi0jaW5jbHVk
ZSA8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oPgorI2luY2x1ZGUgPGluc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZFJvdXRlci5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNw
ZWN0b3JWYWx1ZXMuaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9DU3RyaW5nLmg+CkBAIC0yMzUsOSArMjM2LDkgQEAgbmFtZXNwYWNlIEluc3Bl
Y3RvciB7CiAKIENvbW1hbmREb21haW5CYWNrZW5kRGlzcGF0Y2hlckhhbmRsZXI6On5Db21tYW5k
RG9tYWluQmFja2VuZERpc3BhdGNoZXJIYW5kbGVyKCkgeyB9CiAKLVJlZjxDb21tYW5kRG9tYWlu
QmFja2VuZERpc3BhdGNoZXI+IENvbW1hbmREb21haW5CYWNrZW5kRGlzcGF0Y2hlcjo6Y3JlYXRl
KEJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlciwgQ29tbWFuZERvbWFpbkJhY2tl
bmREaXNwYXRjaGVySGFuZGxlciogYWdlbnQpCitSZWY8Q29tbWFuZERvbWFpbkJhY2tlbmREaXNw
YXRjaGVyPiBDb21tYW5kRG9tYWluQmFja2VuZERpc3BhdGNoZXI6OmNyZWF0ZShCYWNrZW5kRGlz
cGF0Y2hlciYgYmFja2VuZERpc3BhdGNoZXIsIENvbW1hbmREb21haW5CYWNrZW5kRGlzcGF0Y2hl
ckhhbmRsZXIqIGFnZW50KQogewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENvbW1hbmREb21h
aW5CYWNrZW5kRGlzcGF0Y2hlcigqYmFja2VuZERpc3BhdGNoZXIsIGFnZW50KSk7CisgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgQ29tbWFuZERvbWFpbkJhY2tlbmREaXNwYXRjaGVyKGJhY2tlbmRE
aXNwYXRjaGVyLCBhZ2VudCkpOwogfQogCiBDb21tYW5kRG9tYWluQmFja2VuZERpc3BhdGNoZXI6
OkNvbW1hbmREb21haW5CYWNrZW5kRGlzcGF0Y2hlcihCYWNrZW5kRGlzcGF0Y2hlciYgYmFja2Vu
ZERpc3BhdGNoZXIsIENvbW1hbmREb21haW5CYWNrZW5kRGlzcGF0Y2hlckhhbmRsZXIqIGFnZW50
KQpAQCAtMzI1LDE3ICszMjYsMTYgQEAgdm9pZCBDb21tYW5kRG9tYWluQmFja2VuZERpc3BhdGNo
ZXI6OmNvbW1hbmRXaXRoRW51bVJldHVyblZhbHVlKGxvbmcgcmVxdWVzdElkLAogI2RlZmluZSBJ
bnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzX2gKIAogI2luY2x1ZGUgIkluc3BlY3RvclByb3Rv
Y29sT2JqZWN0cy5oIgotI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENoYW5u
ZWwuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmg+CiAjaW5jbHVkZSA8
d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCi0KK2NsYXNz
IEZyb250ZW5kUm91dGVyOwogCiBjbGFzcyBFdmVudERvbWFpbkZyb250ZW5kRGlzcGF0Y2hlciB7
CiBwdWJsaWM6Ci0gICAgRXZlbnREb21haW5Gcm9udGVuZERpc3BhdGNoZXIoRnJvbnRlbmRDaGFu
bmVsKiBmcm9udGVuZENoYW5uZWwpIDogbV9mcm9udGVuZENoYW5uZWwoZnJvbnRlbmRDaGFubmVs
KSB7IH0KKyAgICBFdmVudERvbWFpbkZyb250ZW5kRGlzcGF0Y2hlcihGcm9udGVuZFJvdXRlciYg
ZnJvbnRlbmRSb3V0ZXIpIDogbV9mcm9udGVuZFJvdXRlcihmcm9udGVuZFJvdXRlcikgeyB9CiAg
ICAgICAgIC8vIE5hbWVkIGFmdGVyIHBhcmFtZXRlciAncGFyYW1ldGVyJyB3aGlsZSBnZW5lcmF0
aW5nIGNvbW1hbmQvZXZlbnQgZXZlbnRXaXRoRW51bVBhcmFtZXRlci4KICAgICAgICAgZW51bSBj
bGFzcyBQYXJhbWV0ZXIgewogICAgICAgICAgICAgU2hhcmVkID0gMCwKQEAgLTM0NCw3ICszNDQs
NyBAQCBwdWJsaWM6CiAgICAgICAgIH07IC8vIGVudW0gY2xhc3MgUGFyYW1ldGVyCiAgICAgdm9p
ZCBldmVudFdpdGhFbnVtUGFyYW1ldGVyKFBhcmFtZXRlciBwYXJhbWV0ZXIpOwogcHJpdmF0ZToK
LSAgICBGcm9udGVuZENoYW5uZWwqIG1fZnJvbnRlbmRDaGFubmVsOworICAgIEZyb250ZW5kUm91
dGVyJiBtX2Zyb250ZW5kUm91dGVyOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCkBA
IC0zODYsNiArMzg2LDcgQEAgcHJpdmF0ZToKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmgiCiAKKyNpbmNsdWRlICJJbnNwZWN0b3JG
cm9udGVuZFJvdXRlci5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogbmFtZXNw
YWNlIEluc3BlY3RvciB7CkBAIC0zOTgsNyArMzk5LDcgQEAgdm9pZCBFdmVudERvbWFpbkZyb250
ZW5kRGlzcGF0Y2hlcjo6ZXZlbnRXaXRoRW51bVBhcmFtZXRlcihQYXJhbWV0ZXIgcGFyYW1ldGVy
KQogICAgIHBhcmFtc09iamVjdC0+c2V0U3RyaW5nKEFTQ0lJTGl0ZXJhbCgicGFyYW1ldGVyIiks
IEluc3BlY3Rvcjo6UHJvdG9jb2w6OmdldEVudW1Db25zdGFudFZhbHVlKHBhcmFtZXRlcikpOwog
ICAgIGpzb25NZXNzYWdlLT5zZXRPYmplY3QoQVNDSUlMaXRlcmFsKCJwYXJhbXMiKSwgV1RGOjpt
b3ZlKHBhcmFtc09iamVjdCkpOwogCi0gICAgbV9mcm9udGVuZENoYW5uZWwtPnNlbmRNZXNzYWdl
VG9Gcm9udGVuZChqc29uTWVzc2FnZS0+dG9KU09OU3RyaW5nKCkpOworICAgIG1fZnJvbnRlbmRS
b3V0ZXIuc2VuZEV2ZW50KGpzb25NZXNzYWdlLT50b0pTT05TdHJpbmcoKSk7CiB9CiAKIH0gLy8g
bmFtZXNwYWNlIEluc3BlY3RvcgpAQCAtNjc4LDcgKzY3OSw3IEBAIHVzaW5nIG5hbWVzcGFjZSBJ
bnNwZWN0b3I7CiAgICAgX2NvbW1hbmREb21haW5IYW5kbGVyID0gW2hhbmRsZXIgcmV0YWluXTsK
IAogICAgIGF1dG8gYWx0ZXJuYXRlRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8T2JqQ0lu
c3BlY3RvckNvbW1hbmREb21haW5CYWNrZW5kRGlzcGF0Y2hlcj4oaGFuZGxlcik7Ci0gICAgYXV0
byBhbHRlcm5hdGVBZ2VudCA9IHN0ZDo6bWFrZV91bmlxdWU8QWx0ZXJuYXRlRGlzcGF0Y2hhYmxl
QWdlbnQ8Q29tbWFuZERvbWFpbkJhY2tlbmREaXNwYXRjaGVyLCBBbHRlcm5hdGVDb21tYW5kRG9t
YWluQmFja2VuZERpc3BhdGNoZXI+PihBU0NJSUxpdGVyYWwoIkNvbW1hbmREb21haW4iKSwgV1RG
Ojptb3ZlKGFsdGVybmF0ZURpc3BhdGNoZXIpKTsKKyAgICBhdXRvIGFsdGVybmF0ZUFnZW50ID0g
c3RkOjptYWtlX3VuaXF1ZTxBbHRlcm5hdGVEaXNwYXRjaGFibGVBZ2VudDxDb21tYW5kRG9tYWlu
QmFja2VuZERpc3BhdGNoZXIsIEFsdGVybmF0ZUNvbW1hbmREb21haW5CYWNrZW5kRGlzcGF0Y2hl
cj4+KEFTQ0lJTGl0ZXJhbCgiQ29tbWFuZERvbWFpbiIpLCAqX2NvbnRyb2xsZXIsIFdURjo6bW92
ZShhbHRlcm5hdGVEaXNwYXRjaGVyKSk7CiAgICAgX2NvbnRyb2xsZXItPmFwcGVuZEV4dHJhQWdl
bnQoV1RGOjptb3ZlKGFsdGVybmF0ZUFnZW50KSk7CiB9CiAKQEAgLTczMCw3ICs3MzEsNyBAQCB1
c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwogLy8gRE8gTk9UIEVESVQgVEhJUyBGSUxFLiBJdCBp
cyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmcm9tIGVudW0tdmFsdWVzLmpzb24KIC8vIGJ5IHRo
ZSBzY3JpcHQ6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0
ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkKIAotI2ltcG9ydCAiUldJUHJvdG9jb2wu
aCIKKyNpbXBvcnQgPFdlYkluc3BlY3Rvci9SV0lQcm90b2NvbC5oPgogCiBfX2F0dHJpYnV0ZV9f
KCh2aXNpYmlsaXR5ICgiZGVmYXVsdCIpKSkKIEBpbnRlcmZhY2UgUldJUHJvdG9jb2xDb25maWd1
cmF0aW9uIDogTlNPYmplY3QKQEAgLTc3Nyw3ICs3NzgsNiBAQCBfX2F0dHJpYnV0ZV9fKCh2aXNp
YmlsaXR5ICgiZGVmYXVsdCIpKSkKIAogI2luY2x1ZGUgIlJXSVByb3RvY29sSW50ZXJuYWwuaCIK
ICNpbmNsdWRlICJSV0lQcm90b2NvbEVudW1Db252ZXJzaW9uSGVscGVycy5oIgotI2luY2x1ZGUg
PEphdmFTY3JpcHRDb3JlL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oPgogI2luY2x1ZGUgPEph
dmFTY3JpcHRDb3JlL0luc3BlY3RvclZhbHVlcy5oPgogCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsK
QEAgLTk3MCw3ICs5NzAsNiBAQCBpbmxpbmUgUldJUHJvdG9jb2xFdmVudERvbWFpbkV2ZW50V2l0
aEVudW1QYXJhbWV0ZXJQYXJhbWV0ZXIgZnJvbVByb3RvY29sU3RyaW5nKAogI2ltcG9ydCAiUldJ
UHJvdG9jb2xJbnRlcm5hbC5oIgogCiAjaW1wb3J0ICJSV0lQcm90b2NvbEVudW1Db252ZXJzaW9u
SGVscGVycy5oIgotI2ltcG9ydCA8SmF2YVNjcmlwdENvcmUvSW5zcGVjdG9yRnJvbnRlbmRDaGFu
bmVsLmg+CiAjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9JbnNwZWN0b3JWYWx1ZXMuaD4KIAogdXNp
bmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKQEAgLTk5NiwxNiArOTk1LDE0IEBAIHVzaW5nIG5hbWVz
cGFjZSBJbnNwZWN0b3I7CiAKIC0gKHZvaWQpZXZlbnRXaXRoRW51bVBhcmFtZXRlcldpdGhQYXJh
bWV0ZXI6KFJXSVByb3RvY29sRXZlbnREb21haW5FdmVudFdpdGhFbnVtUGFyYW1ldGVyUGFyYW1l
dGVyKXBhcmFtZXRlcgogewotICAgIEZyb250ZW5kQ2hhbm5lbCogZnJvbnRlbmRDaGFubmVsID0g
X2NvbnRyb2xsZXItPmZyb250ZW5kQ2hhbm5lbCgpOwotICAgIGlmICghZnJvbnRlbmRDaGFubmVs
KQotICAgICAgICByZXR1cm47CisgICAgY29uc3QgRnJvbnRlbmRSb3V0ZXImIHJvdXRlciA9IF9j
b250cm9sbGVyLT5mcm9udGVuZFJvdXRlcigpOwogCiAgICAgUmVmPEluc3BlY3Rvck9iamVjdD4g
anNvbk1lc3NhZ2UgPSBJbnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpOwogICAgIGpzb25NZXNzYWdl
LT5zZXRTdHJpbmcoQVNDSUlMaXRlcmFsKCJtZXRob2QiKSwgQVNDSUlMaXRlcmFsKCJFdmVudERv
bWFpbi5ldmVudFdpdGhFbnVtUGFyYW1ldGVyIikpOwogICAgIFJlZjxJbnNwZWN0b3JPYmplY3Q+
IHBhcmFtc09iamVjdCA9IEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7CiAgICAgcGFyYW1zT2Jq
ZWN0LT5zZXRTdHJpbmcoQVNDSUlMaXRlcmFsKCJwYXJhbWV0ZXIiKSwgdG9Qcm90b2NvbFN0cmlu
ZyhwYXJhbWV0ZXIpKTsKICAgICBqc29uTWVzc2FnZS0+c2V0T2JqZWN0KEFTQ0lJTGl0ZXJhbCgi
cGFyYW1zIiksIFdURjo6bW92ZShwYXJhbXNPYmplY3QpKTsKLSAgICBmcm9udGVuZENoYW5uZWwt
PnNlbmRNZXNzYWdlVG9Gcm9udGVuZChqc29uTWVzc2FnZS0+dG9KU09OU3RyaW5nKCkpOworICAg
IHJvdXRlci5zZW5kRXZlbnQoanNvbk1lc3NhZ2UtPnRvSlNPTlN0cmluZygpKTsKIH0KIAogQGVu
ZApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rl
c3RzL2V4cGVjdGVkL2V2ZW50cy13aXRoLW9wdGlvbmFsLXBhcmFtZXRlcnMuanNvbi1yZXN1bHQg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQv
ZXZlbnRzLXdpdGgtb3B0aW9uYWwtcGFyYW1ldGVycy5qc29uLXJlc3VsdAppbmRleCBhZDUyNmQz
Li5mYzdlY2VhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Nj
cmlwdHMvdGVzdHMvZXhwZWN0ZWQvZXZlbnRzLXdpdGgtb3B0aW9uYWwtcGFyYW1ldGVycy5qc29u
LXJlc3VsdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVz
dHMvZXhwZWN0ZWQvZXZlbnRzLXdpdGgtb3B0aW9uYWwtcGFyYW1ldGVycy5qc29uLXJlc3VsdApA
QCAtMzUsNiArMzUsNyBAQAogI2lmIEVOQUJMRShJTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENI
RVJTKQogCiAjaW5jbHVkZSAiSW5zcGVjdG9yUHJvdG9jb2xUeXBlcy5oIgorI2luY2x1ZGUgPGlu
c3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZFJvdXRlci5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRD
b3JlL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyLmg+CiAKIG5hbWVzcGFjZSBJbnNwZWN0b3Ig
ewpAQCAtMTc4LDcgKzE3OSw3IEBAIHR5cGVkZWYgU3RyaW5nIEVycm9yU3RyaW5nOwogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oIgog
Ci0jaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oPgorI2luY2x1
ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZFJvdXRlci5oPgogI2luY2x1ZGUgPGluc3Bl
Y3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CkBAIC0yMzAsMjEgKzIzMSwyMCBAQCBuYW1l
c3BhY2UgSW5zcGVjdG9yIHsKICNkZWZpbmUgSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVyc19o
CiAKICNpbmNsdWRlICJJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCIKLSNpbmNsdWRlIDxpbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0lu
c3BlY3RvclZhbHVlcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1l
c3BhY2UgSW5zcGVjdG9yIHsKIAotCitjbGFzcyBGcm9udGVuZFJvdXRlcjsKIAogY2xhc3MgRGF0
YWJhc2VGcm9udGVuZERpc3BhdGNoZXIgewogcHVibGljOgotICAgIERhdGFiYXNlRnJvbnRlbmRE
aXNwYXRjaGVyKEZyb250ZW5kQ2hhbm5lbCogZnJvbnRlbmRDaGFubmVsKSA6IG1fZnJvbnRlbmRD
aGFubmVsKGZyb250ZW5kQ2hhbm5lbCkgeyB9CisgICAgRGF0YWJhc2VGcm9udGVuZERpc3BhdGNo
ZXIoRnJvbnRlbmRSb3V0ZXImIGZyb250ZW5kUm91dGVyKSA6IG1fZnJvbnRlbmRSb3V0ZXIoZnJv
bnRlbmRSb3V0ZXIpIHsgfQogICAgIHZvaWQgZGlkRXhlY3V0ZU9wdGlvbmFsUGFyYW1ldGVycyhS
ZWZQdHI8SW5zcGVjdG9yOjpQcm90b2NvbDo6QXJyYXk8U3RyaW5nPj4gY29sdW1uTmFtZXMsIGNv
bnN0IFN0cmluZyogY29uc3Qgbm90ZXMsIGNvbnN0IGRvdWJsZSogY29uc3QgdGltZXN0YW1wLCBS
ZWZQdHI8SW5zcGVjdG9yOjpJbnNwZWN0b3JPYmplY3Q+IHZhbHVlcywgUmVmUHRyPEluc3BlY3Rv
cjo6SW5zcGVjdG9yVmFsdWU+IHBheWxvYWQsIFJlZlB0cjxJbnNwZWN0b3I6OlByb3RvY29sOjpE
YXRhYmFzZTo6RXJyb3I+IHNxbEVycm9yLCBjb25zdCBJbnNwZWN0b3I6OlByb3RvY29sOjpEYXRh
YmFzZTo6UHJpbWFyeUNvbG9ycyogY29uc3Qgc2NyZWVuQ29sb3IsIFJlZlB0cjxJbnNwZWN0b3I6
OlByb3RvY29sOjpEYXRhYmFzZTo6Q29sb3JMaXN0PiBhbHRlcm5hdGVDb2xvcnMsIGNvbnN0IFN0
cmluZyogY29uc3QgcHJpbnRDb2xvcik7CiAgICAgdm9pZCBkaWRFeGVjdXRlTm9PcHRpb25hbFBh
cmFtZXRlcnMoUmVmUHRyPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkFycmF5PFN0cmluZz4+IGNvbHVt
bk5hbWVzLCBjb25zdCBTdHJpbmcmIG5vdGVzLCBkb3VibGUgdGltZXN0YW1wLCBSZWZQdHI8SW5z
cGVjdG9yOjpJbnNwZWN0b3JPYmplY3Q+IHZhbHVlcywgUmVmUHRyPEluc3BlY3Rvcjo6SW5zcGVj
dG9yVmFsdWU+IHBheWxvYWQsIFJlZlB0cjxJbnNwZWN0b3I6OlByb3RvY29sOjpEYXRhYmFzZTo6
RXJyb3I+IHNxbEVycm9yLCBjb25zdCBJbnNwZWN0b3I6OlByb3RvY29sOjpEYXRhYmFzZTo6UHJp
bWFyeUNvbG9ycyYgc2NyZWVuQ29sb3IsIFJlZlB0cjxJbnNwZWN0b3I6OlByb3RvY29sOjpEYXRh
YmFzZTo6Q29sb3JMaXN0PiBhbHRlcm5hdGVDb2xvcnMsIGNvbnN0IFN0cmluZyYgcHJpbnRDb2xv
cik7CiBwcml2YXRlOgotICAgIEZyb250ZW5kQ2hhbm5lbCogbV9mcm9udGVuZENoYW5uZWw7Cisg
ICAgRnJvbnRlbmRSb3V0ZXImIG1fZnJvbnRlbmRSb3V0ZXI7CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBJbnNwZWN0b3IKQEAgLTI4Niw2ICsyODYsNyBAQCBwcml2YXRlOgogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaCIKIAorI2luY2x1
ZGUgIkluc3BlY3RvckZyb250ZW5kUm91dGVyLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmlu
Zy5oPgogCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKQEAgLTMxNSw3ICszMTYsNyBAQCB2b2lkIERh
dGFiYXNlRnJvbnRlbmREaXNwYXRjaGVyOjpkaWRFeGVjdXRlT3B0aW9uYWxQYXJhbWV0ZXJzKFJl
ZlB0cjxJbnNwZWN0b3I6OgogICAgICAgICBwYXJhbXNPYmplY3QtPnNldFN0cmluZyhBU0NJSUxp
dGVyYWwoInByaW50Q29sb3IiKSwgKnByaW50Q29sb3IpOwogICAgIGpzb25NZXNzYWdlLT5zZXRP
YmplY3QoQVNDSUlMaXRlcmFsKCJwYXJhbXMiKSwgV1RGOjptb3ZlKHBhcmFtc09iamVjdCkpOwog
Ci0gICAgbV9mcm9udGVuZENoYW5uZWwtPnNlbmRNZXNzYWdlVG9Gcm9udGVuZChqc29uTWVzc2Fn
ZS0+dG9KU09OU3RyaW5nKCkpOworICAgIG1fZnJvbnRlbmRSb3V0ZXIuc2VuZEV2ZW50KGpzb25N
ZXNzYWdlLT50b0pTT05TdHJpbmcoKSk7CiB9CiAKIHZvaWQgRGF0YWJhc2VGcm9udGVuZERpc3Bh
dGNoZXI6OmRpZEV4ZWN1dGVOb09wdGlvbmFsUGFyYW1ldGVycyhSZWZQdHI8SW5zcGVjdG9yOjpQ
cm90b2NvbDo6QXJyYXk8U3RyaW5nPj4gY29sdW1uTmFtZXMsIGNvbnN0IFN0cmluZyYgbm90ZXMs
IGRvdWJsZSB0aW1lc3RhbXAsIFJlZlB0cjxJbnNwZWN0b3I6Okluc3BlY3Rvck9iamVjdD4gdmFs
dWVzLCBSZWZQdHI8SW5zcGVjdG9yOjpJbnNwZWN0b3JWYWx1ZT4gcGF5bG9hZCwgUmVmUHRyPElu
c3BlY3Rvcjo6UHJvdG9jb2w6OkRhdGFiYXNlOjpFcnJvcj4gc3FsRXJyb3IsIGNvbnN0IEluc3Bl
Y3Rvcjo6UHJvdG9jb2w6OkRhdGFiYXNlOjpQcmltYXJ5Q29sb3JzJiBzY3JlZW5Db2xvciwgUmVm
UHRyPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRhdGFiYXNlOjpDb2xvckxpc3Q+IGFsdGVybmF0ZUNv
bG9ycywgY29uc3QgU3RyaW5nJiBwcmludENvbG9yKQpAQCAtMzM0LDcgKzMzNSw3IEBAIHZvaWQg
RGF0YWJhc2VGcm9udGVuZERpc3BhdGNoZXI6OmRpZEV4ZWN1dGVOb09wdGlvbmFsUGFyYW1ldGVy
cyhSZWZQdHI8SW5zcGVjdG9yCiAgICAgcGFyYW1zT2JqZWN0LT5zZXRTdHJpbmcoQVNDSUlMaXRl
cmFsKCJwcmludENvbG9yIiksIHByaW50Q29sb3IpOwogICAgIGpzb25NZXNzYWdlLT5zZXRPYmpl
Y3QoQVNDSUlMaXRlcmFsKCJwYXJhbXMiKSwgV1RGOjptb3ZlKHBhcmFtc09iamVjdCkpOwogCi0g
ICAgbV9mcm9udGVuZENoYW5uZWwtPnNlbmRNZXNzYWdlVG9Gcm9udGVuZChqc29uTWVzc2FnZS0+
dG9KU09OU3RyaW5nKCkpOworICAgIG1fZnJvbnRlbmRSb3V0ZXIuc2VuZEV2ZW50KGpzb25NZXNz
YWdlLT50b0pTT05TdHJpbmcoKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgpAQCAt
NjkyLDcgKzY5Myw3IEBAIHVzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7CiAvLyBETyBOT1QgRURJ
VCBUSElTIEZJTEUuIEl0IGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZyb20gZXZlbnRzLXdp
dGgtb3B0aW9uYWwtcGFyYW1ldGVycy5qc29uCiAvLyBieSB0aGUgc2NyaXB0OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29s
LWJpbmRpbmdzLnB5CiAKLSNpbXBvcnQgIlJXSVByb3RvY29sLmgiCisjaW1wb3J0IDxXZWJJbnNw
ZWN0b3IvUldJUHJvdG9jb2wuaD4KIAogX19hdHRyaWJ1dGVfXygodmlzaWJpbGl0eSAoImRlZmF1
bHQiKSkpCiBAaW50ZXJmYWNlIFJXSVByb3RvY29sQ29uZmlndXJhdGlvbiA6IE5TT2JqZWN0CkBA
IC03MzgsNyArNzM5LDYgQEAgX19hdHRyaWJ1dGVfXygodmlzaWJpbGl0eSAoImRlZmF1bHQiKSkp
CiAKICNpbmNsdWRlICJSV0lQcm90b2NvbEludGVybmFsLmgiCiAjaW5jbHVkZSAiUldJUHJvdG9j
b2xFbnVtQ29udmVyc2lvbkhlbHBlcnMuaCIKLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JbnNw
ZWN0b3JGcm9udGVuZENoYW5uZWwuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JbnNwZWN0
b3JWYWx1ZXMuaD4KIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CkBAIC04MjgsNyArODI4LDYgQEAg
T2JqQ0VudW1UeXBlIGZyb21Qcm90b2NvbFN0cmluZyhjb25zdCBTdHJpbmcmIHZhbHVlKTsKICNp
bXBvcnQgIlJXSVByb3RvY29sSW50ZXJuYWwuaCIKIAogI2ltcG9ydCAiUldJUHJvdG9jb2xFbnVt
Q29udmVyc2lvbkhlbHBlcnMuaCIKLSNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL0luc3BlY3RvckZy
b250ZW5kQ2hhbm5lbC5oPgogI2ltcG9ydCA8SmF2YVNjcmlwdENvcmUvSW5zcGVjdG9yVmFsdWVz
Lmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7CkBAIC04NTAsOSArODQ5LDcgQEAgdXNp
bmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKIAogLSAodm9pZClkaWRFeGVjdXRlT3B0aW9uYWxQYXJh
bWV0ZXJzV2l0aENvbHVtbk5hbWVzOihOU0FycmF5Lyo8TlNTdHJpbmc+Ki8gKiopY29sdW1uTmFt
ZXMgbm90ZXM6KE5TU3RyaW5nICoqKW5vdGVzIHRpbWVzdGFtcDooZG91YmxlICopdGltZXN0YW1w
IHZhbHVlczooUldJUHJvdG9jb2xKU09OT2JqZWN0ICoqKXZhbHVlcyBwYXlsb2FkOihSV0lQcm90
b2NvbEpTT05PYmplY3QgKiopcGF5bG9hZCBzcWxFcnJvcjooUldJUHJvdG9jb2xEYXRhYmFzZUVy
cm9yICoqKXNxbEVycm9yIHNjcmVlbkNvbG9yOihOU1N0cmluZyAqKilzY3JlZW5Db2xvciBhbHRl
cm5hdGVDb2xvcnM6KE5TQXJyYXkvKjxOU1N0cmluZz4qLyAqKilhbHRlcm5hdGVDb2xvcnMgcHJp
bnRDb2xvcjooTlNTdHJpbmcgKiopcHJpbnRDb2xvcgogewotICAgIEZyb250ZW5kQ2hhbm5lbCog
ZnJvbnRlbmRDaGFubmVsID0gX2NvbnRyb2xsZXItPmZyb250ZW5kQ2hhbm5lbCgpOwotICAgIGlm
ICghZnJvbnRlbmRDaGFubmVsKQotICAgICAgICByZXR1cm47CisgICAgY29uc3QgRnJvbnRlbmRS
b3V0ZXImIHJvdXRlciA9IF9jb250cm9sbGVyLT5mcm9udGVuZFJvdXRlcigpOwogCiAgICAgVEhS
T1dfRVhDRVBUSU9OX0ZPUl9CQURfT1BUSU9OQUxfUEFSQU1FVEVSKGNvbHVtbk5hbWVzLCBAImNv
bHVtbk5hbWVzIik7CiAgICAgVEhST1dfRVhDRVBUSU9OX0ZPUl9CQURfT1BUSU9OQUxfUEFSQU1F
VEVSKG5vdGVzLCBAIm5vdGVzIik7CkBAIC04ODUsMTQgKzg4MiwxMiBAQCB1c2luZyBuYW1lc3Bh
Y2UgSW5zcGVjdG9yOwogICAgIGlmIChwcmludENvbG9yKQogICAgICAgICBwYXJhbXNPYmplY3Qt
PnNldFN0cmluZyhBU0NJSUxpdGVyYWwoInByaW50Q29sb3IiKSwgKCpwcmludENvbG9yKSk7CiAg
ICAganNvbk1lc3NhZ2UtPnNldE9iamVjdChBU0NJSUxpdGVyYWwoInBhcmFtcyIpLCBXVEY6Om1v
dmUocGFyYW1zT2JqZWN0KSk7Ci0gICAgZnJvbnRlbmRDaGFubmVsLT5zZW5kTWVzc2FnZVRvRnJv
bnRlbmQoanNvbk1lc3NhZ2UtPnRvSlNPTlN0cmluZygpKTsKKyAgICByb3V0ZXIuc2VuZEV2ZW50
KGpzb25NZXNzYWdlLT50b0pTT05TdHJpbmcoKSk7CiB9CiAKIC0gKHZvaWQpZGlkRXhlY3V0ZU5v
T3B0aW9uYWxQYXJhbWV0ZXJzV2l0aENvbHVtbk5hbWVzOihOU0FycmF5Lyo8TlNTdHJpbmc+Ki8g
Kiljb2x1bW5OYW1lcyBub3RlczooTlNTdHJpbmcgKilub3RlcyB0aW1lc3RhbXA6KGRvdWJsZSl0
aW1lc3RhbXAgdmFsdWVzOihSV0lQcm90b2NvbEpTT05PYmplY3QgKil2YWx1ZXMgcGF5bG9hZDoo
UldJUHJvdG9jb2xKU09OT2JqZWN0ICopcGF5bG9hZCBzcWxFcnJvcjooUldJUHJvdG9jb2xEYXRh
YmFzZUVycm9yICopc3FsRXJyb3Igc2NyZWVuQ29sb3I6KE5TU3RyaW5nICopc2NyZWVuQ29sb3Ig
YWx0ZXJuYXRlQ29sb3JzOihOU0FycmF5Lyo8TlNTdHJpbmc+Ki8gKilhbHRlcm5hdGVDb2xvcnMg
cHJpbnRDb2xvcjooTlNTdHJpbmcgKilwcmludENvbG9yCiB7Ci0gICAgRnJvbnRlbmRDaGFubmVs
KiBmcm9udGVuZENoYW5uZWwgPSBfY29udHJvbGxlci0+ZnJvbnRlbmRDaGFubmVsKCk7Ci0gICAg
aWYgKCFmcm9udGVuZENoYW5uZWwpCi0gICAgICAgIHJldHVybjsKKyAgICBjb25zdCBGcm9udGVu
ZFJvdXRlciYgcm91dGVyID0gX2NvbnRyb2xsZXItPmZyb250ZW5kUm91dGVyKCk7CiAKICAgICBU
SFJPV19FWENFUFRJT05fRk9SX1JFUVVJUkVEX1BBUkFNRVRFUihjb2x1bW5OYW1lcywgQCJjb2x1
bW5OYW1lcyIpOwogICAgIFRIUk9XX0VYQ0VQVElPTl9GT1JfUkVRVUlSRURfUEFSQU1FVEVSKG5v
dGVzLCBAIm5vdGVzIik7CkBAIC05MTYsNyArOTExLDcgQEAgdXNpbmcgbmFtZXNwYWNlIEluc3Bl
Y3RvcjsKICAgICBwYXJhbXNPYmplY3QtPnNldEFycmF5KEFTQ0lJTGl0ZXJhbCgiYWx0ZXJuYXRl
Q29sb3JzIiksIGluc3BlY3RvclN0cmluZ0FycmF5KGFsdGVybmF0ZUNvbG9ycykpOwogICAgIHBh
cmFtc09iamVjdC0+c2V0U3RyaW5nKEFTQ0lJTGl0ZXJhbCgicHJpbnRDb2xvciIpLCBwcmludENv
bG9yKTsKICAgICBqc29uTWVzc2FnZS0+c2V0T2JqZWN0KEFTQ0lJTGl0ZXJhbCgicGFyYW1zIiks
IFdURjo6bW92ZShwYXJhbXNPYmplY3QpKTsKLSAgICBmcm9udGVuZENoYW5uZWwtPnNlbmRNZXNz
YWdlVG9Gcm9udGVuZChqc29uTWVzc2FnZS0+dG9KU09OU3RyaW5nKCkpOworICAgIHJvdXRlci5z
ZW5kRXZlbnQoanNvbk1lc3NhZ2UtPnRvSlNPTlN0cmluZygpKTsKIH0KIAogQGVuZApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVj
dGVkL2dlbmVyYXRlLWRvbWFpbnMtd2l0aC1mZWF0dXJlLWd1YXJkcy5qc29uLXJlc3VsdCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9nZW5l
cmF0ZS1kb21haW5zLXdpdGgtZmVhdHVyZS1ndWFyZHMuanNvbi1yZXN1bHQKaW5kZXggODcwMDVm
NS4uMTZmYTkxYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9z
Y3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2dlbmVyYXRlLWRvbWFpbnMtd2l0aC1mZWF0dXJlLWd1YXJk
cy5qc29uLXJlc3VsdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Njcmlw
dHMvdGVzdHMvZXhwZWN0ZWQvZ2VuZXJhdGUtZG9tYWlucy13aXRoLWZlYXR1cmUtZ3VhcmRzLmpz
b24tcmVzdWx0CkBAIC0zNSw2ICszNSw3IEBACiAjaWYgRU5BQkxFKElOU1BFQ1RPUl9BTFRFUk5B
VEVfRElTUEFUQ0hFUlMpCiAKICNpbmNsdWRlICJJbnNwZWN0b3JQcm90b2NvbFR5cGVzLmgiCisj
aW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kUm91dGVyLmg+CiAjaW5jbHVkZSA8
SmF2YVNjcmlwdENvcmUvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaD4KIAogbmFtZXNwYWNl
IEluc3BlY3RvciB7CkBAIC0xNjQsNyArMTY1LDcgQEAgcHJvdGVjdGVkOgogI2lmIFBMQVRGT1JN
KFdFQl9DT01NQU5EUykKIGNsYXNzIE5ldHdvcmsxQmFja2VuZERpc3BhdGNoZXIgZmluYWwgOiBw
dWJsaWMgU3VwcGxlbWVudGFsQmFja2VuZERpc3BhdGNoZXIgewogcHVibGljOgotICAgIHN0YXRp
YyBSZWY8TmV0d29yazFCYWNrZW5kRGlzcGF0Y2hlcj4gY3JlYXRlKEJhY2tlbmREaXNwYXRjaGVy
KiwgTmV0d29yazFCYWNrZW5kRGlzcGF0Y2hlckhhbmRsZXIqKTsKKyAgICBzdGF0aWMgUmVmPE5l
dHdvcmsxQmFja2VuZERpc3BhdGNoZXI+IGNyZWF0ZShCYWNrZW5kRGlzcGF0Y2hlciYsIE5ldHdv
cmsxQmFja2VuZERpc3BhdGNoZXJIYW5kbGVyKik7CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNo
KGxvbmcgcmVxdWVzdElkLCBjb25zdCBTdHJpbmcmIG1ldGhvZCwgUmVmPEluc3BlY3Rvck9iamVj
dD4mJiBtZXNzYWdlKSBvdmVycmlkZTsKIHByaXZhdGU6CiAgICAgdm9pZCBsb2FkUmVzb3VyY2Uo
bG9uZyByZXF1ZXN0SWQsIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+JiYgcGFyYW1ldGVycyk7CkBA
IC0yMTksNyArMjIwLDcgQEAgcHJpdmF0ZToKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaCIKIAotI2luY2x1ZGUgPGluc3BlY3Rvci9J
bnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9y
RnJvbnRlbmRSb3V0ZXIuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmg+
CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0
cmluZy5oPgpAQCAtMjM1LDkgKzIzNiw5IEBAIE5ldHdvcmsxQmFja2VuZERpc3BhdGNoZXJIYW5k
bGVyOjp+TmV0d29yazFCYWNrZW5kRGlzcGF0Y2hlckhhbmRsZXIoKSB7IH0KICNlbmRpZiAvLyBQ
TEFURk9STShXRUJfQ09NTUFORFMpCiAKICNpZiBQTEFURk9STShXRUJfQ09NTUFORFMpCi1SZWY8
TmV0d29yazFCYWNrZW5kRGlzcGF0Y2hlcj4gTmV0d29yazFCYWNrZW5kRGlzcGF0Y2hlcjo6Y3Jl
YXRlKEJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlciwgTmV0d29yazFCYWNrZW5k
RGlzcGF0Y2hlckhhbmRsZXIqIGFnZW50KQorUmVmPE5ldHdvcmsxQmFja2VuZERpc3BhdGNoZXI+
IE5ldHdvcmsxQmFja2VuZERpc3BhdGNoZXI6OmNyZWF0ZShCYWNrZW5kRGlzcGF0Y2hlciYgYmFj
a2VuZERpc3BhdGNoZXIsIE5ldHdvcmsxQmFja2VuZERpc3BhdGNoZXJIYW5kbGVyKiBhZ2VudCkK
IHsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBOZXR3b3JrMUJhY2tlbmREaXNwYXRjaGVyKCpi
YWNrZW5kRGlzcGF0Y2hlciwgYWdlbnQpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBOZXR3
b3JrMUJhY2tlbmREaXNwYXRjaGVyKGJhY2tlbmREaXNwYXRjaGVyLCBhZ2VudCkpOwogfQogCiBO
ZXR3b3JrMUJhY2tlbmREaXNwYXRjaGVyOjpOZXR3b3JrMUJhY2tlbmREaXNwYXRjaGVyKEJhY2tl
bmREaXNwYXRjaGVyJiBiYWNrZW5kRGlzcGF0Y2hlciwgTmV0d29yazFCYWNrZW5kRGlzcGF0Y2hl
ckhhbmRsZXIqIGFnZW50KQpAQCAtMzIyLDIxICszMjMsMjAgQEAgdm9pZCBOZXR3b3JrMUJhY2tl
bmREaXNwYXRjaGVyOjpsb2FkUmVzb3VyY2UobG9uZyByZXF1ZXN0SWQsIFJlZlB0cjxJbnNwZWN0
b3JPYmoKICNkZWZpbmUgSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVyc19oCiAKICNpbmNsdWRl
ICJJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCIKLSNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVj
dG9yRnJvbnRlbmRDaGFubmVsLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvclZhbHVl
cy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgSW5zcGVj
dG9yIHsKIAotCitjbGFzcyBGcm9udGVuZFJvdXRlcjsKIAogI2lmIFBMQVRGT1JNKFdFQl9FVkVO
VFMpCiBjbGFzcyBOZXR3b3JrM0Zyb250ZW5kRGlzcGF0Y2hlciB7CiBwdWJsaWM6Ci0gICAgTmV0
d29yazNGcm9udGVuZERpc3BhdGNoZXIoRnJvbnRlbmRDaGFubmVsKiBmcm9udGVuZENoYW5uZWwp
IDogbV9mcm9udGVuZENoYW5uZWwoZnJvbnRlbmRDaGFubmVsKSB7IH0KKyAgICBOZXR3b3JrM0Zy
b250ZW5kRGlzcGF0Y2hlcihGcm9udGVuZFJvdXRlciYgZnJvbnRlbmRSb3V0ZXIpIDogbV9mcm9u
dGVuZFJvdXRlcihmcm9udGVuZFJvdXRlcikgeyB9CiAgICAgdm9pZCByZXNvdXJjZUxvYWRlZCgp
OwogcHJpdmF0ZToKLSAgICBGcm9udGVuZENoYW5uZWwqIG1fZnJvbnRlbmRDaGFubmVsOworICAg
IEZyb250ZW5kUm91dGVyJiBtX2Zyb250ZW5kUm91dGVyOwogfTsKICNlbmRpZiAvLyBQTEFURk9S
TShXRUJfRVZFTlRTKQogCkBAIC0zNzksNiArMzc5LDcgQEAgcHJpdmF0ZToKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmgiCiAKKyNp
bmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZFJvdXRlci5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NT
dHJpbmcuaD4KIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CkBAIC0zODksNyArMzkwLDcgQEAgdm9p
ZCBOZXR3b3JrM0Zyb250ZW5kRGlzcGF0Y2hlcjo6cmVzb3VyY2VMb2FkZWQoKQogICAgIFJlZjxJ
bnNwZWN0b3JPYmplY3Q+IGpzb25NZXNzYWdlID0gSW5zcGVjdG9yT2JqZWN0OjpjcmVhdGUoKTsK
ICAgICBqc29uTWVzc2FnZS0+c2V0U3RyaW5nKEFTQ0lJTGl0ZXJhbCgibWV0aG9kIiksIEFTQ0lJ
TGl0ZXJhbCgiTmV0d29yazMucmVzb3VyY2VMb2FkZWQiKSk7CiAKLSAgICBtX2Zyb250ZW5kQ2hh
bm5lbC0+c2VuZE1lc3NhZ2VUb0Zyb250ZW5kKGpzb25NZXNzYWdlLT50b0pTT05TdHJpbmcoKSk7
CisgICAgbV9mcm9udGVuZFJvdXRlci5zZW5kRXZlbnQoanNvbk1lc3NhZ2UtPnRvSlNPTlN0cmlu
ZygpKTsKIH0KICNlbmRpZiAvLyBQTEFURk9STShXRUJfRVZFTlRTKQogCkBAIC03MjQsNyArNzI1
LDcgQEAgdXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKICAgICBfbmV0d29yazFIYW5kbGVyID0g
W2hhbmRsZXIgcmV0YWluXTsKIAogICAgIGF1dG8gYWx0ZXJuYXRlRGlzcGF0Y2hlciA9IHN0ZDo6
bWFrZV91bmlxdWU8T2JqQ0luc3BlY3Rvck5ldHdvcmsxQmFja2VuZERpc3BhdGNoZXI+KGhhbmRs
ZXIpOwotICAgIGF1dG8gYWx0ZXJuYXRlQWdlbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPEFsdGVybmF0
ZURpc3BhdGNoYWJsZUFnZW50PE5ldHdvcmsxQmFja2VuZERpc3BhdGNoZXIsIEFsdGVybmF0ZU5l
dHdvcmsxQmFja2VuZERpc3BhdGNoZXI+PihBU0NJSUxpdGVyYWwoIk5ldHdvcmsxIiksIFdURjo6
bW92ZShhbHRlcm5hdGVEaXNwYXRjaGVyKSk7CisgICAgYXV0byBhbHRlcm5hdGVBZ2VudCA9IHN0
ZDo6bWFrZV91bmlxdWU8QWx0ZXJuYXRlRGlzcGF0Y2hhYmxlQWdlbnQ8TmV0d29yazFCYWNrZW5k
RGlzcGF0Y2hlciwgQWx0ZXJuYXRlTmV0d29yazFCYWNrZW5kRGlzcGF0Y2hlcj4+KEFTQ0lJTGl0
ZXJhbCgiTmV0d29yazEiKSwgKl9jb250cm9sbGVyLCBXVEY6Om1vdmUoYWx0ZXJuYXRlRGlzcGF0
Y2hlcikpOwogICAgIF9jb250cm9sbGVyLT5hcHBlbmRFeHRyYUFnZW50KFdURjo6bW92ZShhbHRl
cm5hdGVBZ2VudCkpOwogfQogCkBAIC03NzYsNyArNzc3LDcgQEAgdXNpbmcgbmFtZXNwYWNlIElu
c3BlY3RvcjsKIC8vIERPIE5PVCBFRElUIFRISVMgRklMRS4gSXQgaXMgYXV0b21hdGljYWxseSBn
ZW5lcmF0ZWQgZnJvbSBnZW5lcmF0ZS1kb21haW5zLXdpdGgtZmVhdHVyZS1ndWFyZHMuanNvbgog
Ly8gYnkgdGhlIHNjcmlwdDogU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRz
L2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weQogCi0jaW1wb3J0ICJSV0lQ
cm90b2NvbC5oIgorI2ltcG9ydCA8V2ViSW5zcGVjdG9yL1JXSVByb3RvY29sLmg+CiAKIF9fYXR0
cmlidXRlX18oKHZpc2liaWxpdHkgKCJkZWZhdWx0IikpKQogQGludGVyZmFjZSBSV0lQcm90b2Nv
bENvbmZpZ3VyYXRpb24gOiBOU09iamVjdApAQCAtODIzLDcgKzgyNCw2IEBAIF9fYXR0cmlidXRl
X18oKHZpc2liaWxpdHkgKCJkZWZhdWx0IikpKQogCiAjaW5jbHVkZSAiUldJUHJvdG9jb2xJbnRl
cm5hbC5oIgogI2luY2x1ZGUgIlJXSVByb3RvY29sRW51bUNvbnZlcnNpb25IZWxwZXJzLmgiCi0j
aW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmg+CiAjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvSW5zcGVjdG9yVmFsdWVzLmg+CiAKIG5hbWVzcGFjZSBJbnNw
ZWN0b3IgewpAQCAtOTM2LDcgKzkzNiw2IEBAIE9iakNFbnVtVHlwZSBmcm9tUHJvdG9jb2xTdHJp
bmcoY29uc3QgU3RyaW5nJiB2YWx1ZSk7CiAjaW1wb3J0ICJSV0lQcm90b2NvbEludGVybmFsLmgi
CiAKICNpbXBvcnQgIlJXSVByb3RvY29sRW51bUNvbnZlcnNpb25IZWxwZXJzLmgiCi0jaW1wb3J0
IDxKYXZhU2NyaXB0Q29yZS9JbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaD4KICNpbXBvcnQgPEph
dmFTY3JpcHRDb3JlL0luc3BlY3RvclZhbHVlcy5oPgogCiB1c2luZyBuYW1lc3BhY2UgSW5zcGVj
dG9yOwpAQCAtOTYyLDEzICs5NjEsMTEgQEAgdXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKIAog
LSAodm9pZClyZXNvdXJjZUxvYWRlZAogewotICAgIEZyb250ZW5kQ2hhbm5lbCogZnJvbnRlbmRD
aGFubmVsID0gX2NvbnRyb2xsZXItPmZyb250ZW5kQ2hhbm5lbCgpOwotICAgIGlmICghZnJvbnRl
bmRDaGFubmVsKQotICAgICAgICByZXR1cm47CisgICAgY29uc3QgRnJvbnRlbmRSb3V0ZXImIHJv
dXRlciA9IF9jb250cm9sbGVyLT5mcm9udGVuZFJvdXRlcigpOwogCiAgICAgUmVmPEluc3BlY3Rv
ck9iamVjdD4ganNvbk1lc3NhZ2UgPSBJbnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpOwogICAgIGpz
b25NZXNzYWdlLT5zZXRTdHJpbmcoQVNDSUlMaXRlcmFsKCJtZXRob2QiKSwgQVNDSUlMaXRlcmFs
KCJOZXR3b3JrMy5yZXNvdXJjZUxvYWRlZCIpKTsKLSAgICBmcm9udGVuZENoYW5uZWwtPnNlbmRN
ZXNzYWdlVG9Gcm9udGVuZChqc29uTWVzc2FnZS0+dG9KU09OU3RyaW5nKCkpOworICAgIHJvdXRl
ci5zZW5kRXZlbnQoanNvbk1lc3NhZ2UtPnRvSlNPTlN0cmluZygpKTsKIH0KIAogQGVuZApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4
cGVjdGVkL3NhbWUtdHlwZS1pZC1kaWZmZXJlbnQtZG9tYWluLmpzb24tcmVzdWx0IGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3NhbWUtdHlw
ZS1pZC1kaWZmZXJlbnQtZG9tYWluLmpzb24tcmVzdWx0CmluZGV4IDMwY2NlMTguLjY2ZmJhNGUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0
cy9leHBlY3RlZC9zYW1lLXR5cGUtaWQtZGlmZmVyZW50LWRvbWFpbi5qc29uLXJlc3VsdAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQv
c2FtZS10eXBlLWlkLWRpZmZlcmVudC1kb21haW4uanNvbi1yZXN1bHQKQEAgLTM1LDYgKzM1LDcg
QEAKICNpZiBFTkFCTEUoSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykKIAogI2luY2x1
ZGUgIkluc3BlY3RvclByb3RvY29sVHlwZXMuaCIKKyNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVj
dG9yRnJvbnRlbmRSb3V0ZXIuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JbnNwZWN0b3JC
YWNrZW5kRGlzcGF0Y2hlci5oPgogCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKQEAgLTE3Miw3ICsx
NzMsNyBAQCB0eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaCIKIAotI2luY2x1ZGUgPGlu
c3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRSb3V0ZXIuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9y
VmFsdWVzLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvQ1N0cmluZy5oPgpAQCAtMjI0LDEzICsyMjUsMTIgQEAgbmFtZXNwYWNlIEluc3BlY3Rv
ciB7CiAjZGVmaW5lIEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnNfaAogCiAjaW5jbHVkZSAi
SW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmgiCi0jaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3Rv
ckZyb250ZW5kQ2hhbm5lbC5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIEluc3BlY3Rv
ciB7CiAKLQorY2xhc3MgRnJvbnRlbmRSb3V0ZXI7CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3Rv
cgogCkBAIC0yNzEsNiArMjcxLDcgQEAgbmFtZXNwYWNlIEluc3BlY3RvciB7CiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5oIgogCisj
aW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmRSb3V0ZXIuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9D
U3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewpAQCAtNTUzLDcgKzU1NCw3IEBAIHVz
aW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7CiAvLyBETyBOT1QgRURJVCBUSElTIEZJTEUuIEl0IGlz
IGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZyb20gc2FtZS10eXBlLWlkLWRpZmZlcmVudC1kb21h
aW4uanNvbgogLy8gYnkgdGhlIHNjcmlwdDogU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weQogCi0jaW1w
b3J0ICJSV0lQcm90b2NvbC5oIgorI2ltcG9ydCA8V2ViSW5zcGVjdG9yL1JXSVByb3RvY29sLmg+
CiAKIF9fYXR0cmlidXRlX18oKHZpc2liaWxpdHkgKCJkZWZhdWx0IikpKQogQGludGVyZmFjZSBS
V0lQcm90b2NvbENvbmZpZ3VyYXRpb24gOiBOU09iamVjdApAQCAtNTk4LDcgKzU5OSw2IEBAIF9f
YXR0cmlidXRlX18oKHZpc2liaWxpdHkgKCJkZWZhdWx0IikpKQogCiAjaW5jbHVkZSAiUldJUHJv
dG9jb2xJbnRlcm5hbC5oIgogI2luY2x1ZGUgIlJXSVByb3RvY29sRW51bUNvbnZlcnNpb25IZWxw
ZXJzLmgiCi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVs
Lmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSW5zcGVjdG9yVmFsdWVzLmg+CiAKIG5hbWVz
cGFjZSBJbnNwZWN0b3IgewpAQCAtNjkyLDcgKzY5Miw2IEBAIE9iakNFbnVtVHlwZSBmcm9tUHJv
dG9jb2xTdHJpbmcoY29uc3QgU3RyaW5nJiB2YWx1ZSk7CiAjaW1wb3J0ICJSV0lQcm90b2NvbElu
dGVybmFsLmgiCiAKICNpbXBvcnQgIlJXSVByb3RvY29sRW51bUNvbnZlcnNpb25IZWxwZXJzLmgi
Ci0jaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9JbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaD4KICNp
bXBvcnQgPEphdmFTY3JpcHRDb3JlL0luc3BlY3RvclZhbHVlcy5oPgogCiB1c2luZyBuYW1lc3Bh
Y2UgSW5zcGVjdG9yOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3NoYWRvd2VkLW9wdGlvbmFsLXR5cGUtc2V0dGVycy5q
c29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0
cy9leHBlY3RlZC9zaGFkb3dlZC1vcHRpb25hbC10eXBlLXNldHRlcnMuanNvbi1yZXN1bHQKaW5k
ZXggMjhlMTQ1Ni4uMjYxZDlhOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3NoYWRvd2VkLW9wdGlvbmFsLXR5cGUtc2V0
dGVycy5qc29uLXJlc3VsdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Nj
cmlwdHMvdGVzdHMvZXhwZWN0ZWQvc2hhZG93ZWQtb3B0aW9uYWwtdHlwZS1zZXR0ZXJzLmpzb24t
cmVzdWx0CkBAIC0zNSw2ICszNSw3IEBACiAjaWYgRU5BQkxFKElOU1BFQ1RPUl9BTFRFUk5BVEVf
RElTUEFUQ0hFUlMpCiAKICNpbmNsdWRlICJJbnNwZWN0b3JQcm90b2NvbFR5cGVzLmgiCisjaW5j
bHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kUm91dGVyLmg+CiAjaW5jbHVkZSA8SmF2
YVNjcmlwdENvcmUvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaD4KIAogbmFtZXNwYWNlIElu
c3BlY3RvciB7CkBAIC0xNzIsNyArMTczLDcgQEAgdHlwZWRlZiBTdHJpbmcgRXJyb3JTdHJpbmc7
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQmFja2VuZERpc3BhdGNo
ZXJzLmgiCiAKLSNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmg+
CisjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kUm91dGVyLmg+CiAjaW5jbHVk
ZSA8aW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ry
b3llZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KQEAgLTIyNCwxMyArMjI1LDEy
IEBAIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogI2RlZmluZSBJbnNwZWN0b3JGcm9udGVuZERpc3Bh
dGNoZXJzX2gKIAogI2luY2x1ZGUgIkluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oIgotI2luY2x1
ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaD4KICNpbmNsdWRlIDxpbnNw
ZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
CiAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCi0KK2NsYXNzIEZyb250ZW5kUm91dGVyOwogCiB9
IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIApAQCAtMjcxLDYgKzI3MSw3IEBAIG5hbWVzcGFjZSBJ
bnNwZWN0b3IgewogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkluc3BlY3RvckZyb250
ZW5kRGlzcGF0Y2hlcnMuaCIKIAorI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kUm91dGVyLmgi
CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsK
QEAgLTYyNCw3ICs2MjUsNyBAQCB1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwogLy8gRE8gTk9U
IEVESVQgVEhJUyBGSUxFLiBJdCBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmcm9tIHNoYWRv
d2VkLW9wdGlvbmFsLXR5cGUtc2V0dGVycy5qc29uCiAvLyBieSB0aGUgc2NyaXB0OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3Rv
Y29sLWJpbmRpbmdzLnB5CiAKLSNpbXBvcnQgIlJXSVByb3RvY29sLmgiCisjaW1wb3J0IDxXZWJJ
bnNwZWN0b3IvUldJUHJvdG9jb2wuaD4KIAogX19hdHRyaWJ1dGVfXygodmlzaWJpbGl0eSAoImRl
ZmF1bHQiKSkpCiBAaW50ZXJmYWNlIFJXSVByb3RvY29sQ29uZmlndXJhdGlvbiA6IE5TT2JqZWN0
CkBAIC02NjksNyArNjcwLDYgQEAgX19hdHRyaWJ1dGVfXygodmlzaWJpbGl0eSAoImRlZmF1bHQi
KSkpCiAKICNpbmNsdWRlICJSV0lQcm90b2NvbEludGVybmFsLmgiCiAjaW5jbHVkZSAiUldJUHJv
dG9jb2xFbnVtQ29udmVyc2lvbkhlbHBlcnMuaCIKLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9J
bnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JbnNw
ZWN0b3JWYWx1ZXMuaD4KIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CkBAIC03ODMsNyArNzgzLDYg
QEAgaW5saW5lIFJXSVByb3RvY29sUnVudGltZUtleVBhdGhUeXBlIGZyb21Qcm90b2NvbFN0cmlu
Zyhjb25zdCBTdHJpbmcmIHZhbHVlKQogI2ltcG9ydCAiUldJUHJvdG9jb2xJbnRlcm5hbC5oIgog
CiAjaW1wb3J0ICJSV0lQcm90b2NvbEVudW1Db252ZXJzaW9uSGVscGVycy5oIgotI2ltcG9ydCA8
SmF2YVNjcmlwdENvcmUvSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmg+CiAjaW1wb3J0IDxKYXZh
U2NyaXB0Q29yZS9JbnNwZWN0b3JWYWx1ZXMuaD4KIAogdXNpbmcgbmFtZXNwYWNlIEluc3BlY3Rv
cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90
ZXN0cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWFsaWFzZWQtcHJpbWl0aXZlLXR5cGUuanNv
bi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMv
ZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1hbGlhc2VkLXByaW1pdGl2ZS10eXBlLmpzb24tcmVz
dWx0CmluZGV4IDhiYmZjMjkuLmEzMGNmMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWFs
aWFzZWQtcHJpbWl0aXZlLXR5cGUuanNvbi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tYWxp
YXNlZC1wcmltaXRpdmUtdHlwZS5qc29uLXJlc3VsdApAQCAtMzUsNiArMzUsNyBAQAogI2lmIEVO
QUJMRShJTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKQogCiAjaW5jbHVkZSAiSW5zcGVj
dG9yUHJvdG9jb2xUeXBlcy5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVu
ZFJvdXRlci5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0luc3BlY3RvckJhY2tlbmREaXNw
YXRjaGVyLmg+CiAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewpAQCAtMTcyLDcgKzE3Myw3IEBAIHR5
cGVkZWYgU3RyaW5nIEVycm9yU3RyaW5nOwogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
Ikluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oIgogCi0jaW5jbHVkZSA8aW5zcGVjdG9yL0lu
c3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JG
cm9udGVuZFJvdXRlci5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4K
ICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3Ry
aW5nLmg+CkBAIC0yMjQsMTMgKzIyNSwxMiBAQCBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKICNkZWZp
bmUgSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVyc19oCiAKICNpbmNsdWRlICJJbnNwZWN0b3JQ
cm90b2NvbE9iamVjdHMuaCIKLSNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRD
aGFubmVsLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAotCitj
bGFzcyBGcm9udGVuZFJvdXRlcjsKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKQEAgLTI3
MSw2ICsyNzEsNyBAQCBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmgiCiAKKyNpbmNsdWRlICJJ
bnNwZWN0b3JGcm9udGVuZFJvdXRlci5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4K
IAogbmFtZXNwYWNlIEluc3BlY3RvciB7CkBAIC01NDYsNyArNTQ3LDcgQEAgdXNpbmcgbmFtZXNw
YWNlIEluc3BlY3RvcjsKIC8vIERPIE5PVCBFRElUIFRISVMgRklMRS4gSXQgaXMgYXV0b21hdGlj
YWxseSBnZW5lcmF0ZWQgZnJvbSB0eXBlLWRlY2xhcmF0aW9uLWFsaWFzZWQtcHJpbWl0aXZlLXR5
cGUuanNvbgogLy8gYnkgdGhlIHNjcmlwdDogU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weQogCi0jaW1w
b3J0ICJSV0lQcm90b2NvbC5oIgorI2ltcG9ydCA8V2ViSW5zcGVjdG9yL1JXSVByb3RvY29sLmg+
CiAKIF9fYXR0cmlidXRlX18oKHZpc2liaWxpdHkgKCJkZWZhdWx0IikpKQogQGludGVyZmFjZSBS
V0lQcm90b2NvbENvbmZpZ3VyYXRpb24gOiBOU09iamVjdApAQCAtNTkxLDcgKzU5Miw2IEBAIF9f
YXR0cmlidXRlX18oKHZpc2liaWxpdHkgKCJkZWZhdWx0IikpKQogCiAjaW5jbHVkZSAiUldJUHJv
dG9jb2xJbnRlcm5hbC5oIgogI2luY2x1ZGUgIlJXSVByb3RvY29sRW51bUNvbnZlcnNpb25IZWxw
ZXJzLmgiCi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVs
Lmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSW5zcGVjdG9yVmFsdWVzLmg+CiAKIG5hbWVz
cGFjZSBJbnNwZWN0b3IgewpAQCAtNjgxLDcgKzY4MSw2IEBAIE9iakNFbnVtVHlwZSBmcm9tUHJv
dG9jb2xTdHJpbmcoY29uc3QgU3RyaW5nJiB2YWx1ZSk7CiAjaW1wb3J0ICJSV0lQcm90b2NvbElu
dGVybmFsLmgiCiAKICNpbXBvcnQgIlJXSVByb3RvY29sRW51bUNvbnZlcnNpb25IZWxwZXJzLmgi
Ci0jaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9JbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaD4KICNp
bXBvcnQgPEphdmFTY3JpcHRDb3JlL0luc3BlY3RvclZhbHVlcy5oPgogCiB1c2luZyBuYW1lc3Bh
Y2UgSW5zcGVjdG9yOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tYXJyYXktdHlwZS5qc29u
LXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9l
eHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWFycmF5LXR5cGUuanNvbi1yZXN1bHQKaW5kZXggZDBm
NGFmMS4uYWYyZmQyNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tYXJyYXktdHlwZS5qc29u
LXJlc3VsdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVz
dHMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1hcnJheS10eXBlLmpzb24tcmVzdWx0CkBAIC0z
NSw2ICszNSw3IEBACiAjaWYgRU5BQkxFKElOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMp
CiAKICNpbmNsdWRlICJJbnNwZWN0b3JQcm90b2NvbFR5cGVzLmgiCisjaW5jbHVkZSA8aW5zcGVj
dG9yL0luc3BlY3RvckZyb250ZW5kUm91dGVyLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaD4KIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CkBA
IC0xNzUsNyArMTc2LDcgQEAgdHlwZWRlZiBTdHJpbmcgRXJyb3JTdHJpbmc7CiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmgiCiAKLSNp
bmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmg+CisjaW5jbHVkZSA8
aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kUm91dGVyLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9y
L0luc3BlY3RvclZhbHVlcy5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KQEAgLTIyNywxMyArMjI4LDEyIEBAIG5hbWVzcGFj
ZSBJbnNwZWN0b3IgewogI2RlZmluZSBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzX2gKIAog
I2luY2x1ZGUgIkluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oIgotI2luY2x1ZGUgPGluc3BlY3Rv
ci9JbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVj
dG9yVmFsdWVzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFj
ZSBJbnNwZWN0b3IgewogCi0KK2NsYXNzIEZyb250ZW5kUm91dGVyOwogCiB9IC8vIG5hbWVzcGFj
ZSBJbnNwZWN0b3IKIApAQCAtMjc0LDYgKzI3NCw3IEBAIG5hbWVzcGFjZSBJbnNwZWN0b3Igewog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hl
cnMuaCIKIAorI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kUm91dGVyLmgiCiAjaW5jbHVkZSA8
d3RmL3RleHQvQ1N0cmluZy5oPgogCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKQEAgLTU3Niw3ICs1
NzcsNyBAQCB1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwogLy8gRE8gTk9UIEVESVQgVEhJUyBG
SUxFLiBJdCBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmcm9tIHR5cGUtZGVjbGFyYXRpb24t
YXJyYXktdHlwZS5qc29uCiAvLyBieSB0aGUgc2NyaXB0OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5
CiAKLSNpbXBvcnQgIlJXSVByb3RvY29sLmgiCisjaW1wb3J0IDxXZWJJbnNwZWN0b3IvUldJUHJv
dG9jb2wuaD4KIAogX19hdHRyaWJ1dGVfXygodmlzaWJpbGl0eSAoImRlZmF1bHQiKSkpCiBAaW50
ZXJmYWNlIFJXSVByb3RvY29sQ29uZmlndXJhdGlvbiA6IE5TT2JqZWN0CkBAIC02MjEsNyArNjIy
LDYgQEAgX19hdHRyaWJ1dGVfXygodmlzaWJpbGl0eSAoImRlZmF1bHQiKSkpCiAKICNpbmNsdWRl
ICJSV0lQcm90b2NvbEludGVybmFsLmgiCiAjaW5jbHVkZSAiUldJUHJvdG9jb2xFbnVtQ29udmVy
c2lvbkhlbHBlcnMuaCIKLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JbnNwZWN0b3JGcm9udGVu
ZENoYW5uZWwuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JbnNwZWN0b3JWYWx1ZXMuaD4K
IAogbmFtZXNwYWNlIEluc3BlY3RvciB7CkBAIC03MzksNyArNzM5LDYgQEAgaW5saW5lIFJXSVBy
b3RvY29sRGVidWdnZXJSZWFzb24gZnJvbVByb3RvY29sU3RyaW5nKGNvbnN0IFN0cmluZyYgdmFs
dWUpCiAjaW1wb3J0ICJSV0lQcm90b2NvbEludGVybmFsLmgiCiAKICNpbXBvcnQgIlJXSVByb3Rv
Y29sRW51bUNvbnZlcnNpb25IZWxwZXJzLmgiCi0jaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9JbnNw
ZWN0b3JGcm9udGVuZENoYW5uZWwuaD4KICNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL0luc3BlY3Rv
clZhbHVlcy5oPgogCiB1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUt
ZGVjbGFyYXRpb24tZW51bS10eXBlLmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tZW51bS10
eXBlLmpzb24tcmVzdWx0CmluZGV4IDM0YzI4NWMuLjIyZTJiMjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLWRl
Y2xhcmF0aW9uLWVudW0tdHlwZS5qc29uLXJlc3VsdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1lbnVt
LXR5cGUuanNvbi1yZXN1bHQKQEAgLTM1LDYgKzM1LDcgQEAKICNpZiBFTkFCTEUoSU5TUEVDVE9S
X0FMVEVSTkFURV9ESVNQQVRDSEVSUykKIAogI2luY2x1ZGUgIkluc3BlY3RvclByb3RvY29sVHlw
ZXMuaCIKKyNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRSb3V0ZXIuaD4KICNp
bmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5oPgogCiBu
YW1lc3BhY2UgSW5zcGVjdG9yIHsKQEAgLTE3Niw3ICsxNzcsNyBAQCB0eXBlZGVmIFN0cmluZyBF
cnJvclN0cmluZzsKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JCYWNr
ZW5kRGlzcGF0Y2hlcnMuaCIKIAotI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVu
ZENoYW5uZWwuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRSb3V0ZXIu
aD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmg+CiAjaW5jbHVkZSA8d3Rm
L05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgpAQCAtMjI4
LDEzICsyMjksMTIgQEAgbmFtZXNwYWNlIEluc3BlY3RvciB7CiAjZGVmaW5lIEluc3BlY3RvckZy
b250ZW5kRGlzcGF0Y2hlcnNfaAogCiAjaW5jbHVkZSAiSW5zcGVjdG9yUHJvdG9jb2xPYmplY3Rz
LmgiCi0jaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oPgogI2lu
Y2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9X
VEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKLQorY2xhc3MgRnJvbnRlbmRS
b3V0ZXI7CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCkBAIC0yNzUsNiArMjc1LDcgQEAg
bmFtZXNwYWNlIEluc3BlY3RvciB7CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW5z
cGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5oIgogCisjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRl
bmRSb3V0ZXIuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBJ
bnNwZWN0b3IgewpAQCAtNTc1LDcgKzU3Niw3IEBAIHVzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7
CiAvLyBETyBOT1QgRURJVCBUSElTIEZJTEUuIEl0IGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVk
IGZyb20gdHlwZS1kZWNsYXJhdGlvbi1lbnVtLXR5cGUuanNvbgogLy8gYnkgdGhlIHNjcmlwdDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rv
ci1wcm90b2NvbC1iaW5kaW5ncy5weQogCi0jaW1wb3J0ICJSV0lQcm90b2NvbC5oIgorI2ltcG9y
dCA8V2ViSW5zcGVjdG9yL1JXSVByb3RvY29sLmg+CiAKIF9fYXR0cmlidXRlX18oKHZpc2liaWxp
dHkgKCJkZWZhdWx0IikpKQogQGludGVyZmFjZSBSV0lQcm90b2NvbENvbmZpZ3VyYXRpb24gOiBO
U09iamVjdApAQCAtNjIwLDcgKzYyMSw2IEBAIF9fYXR0cmlidXRlX18oKHZpc2liaWxpdHkgKCJk
ZWZhdWx0IikpKQogCiAjaW5jbHVkZSAiUldJUHJvdG9jb2xJbnRlcm5hbC5oIgogI2luY2x1ZGUg
IlJXSVByb3RvY29sRW51bUNvbnZlcnNpb25IZWxwZXJzLmgiCi0jaW5jbHVkZSA8SmF2YVNjcmlw
dENvcmUvSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvSW5zcGVjdG9yVmFsdWVzLmg+CiAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewpAQCAtNzY3LDcg
Kzc2Nyw2IEBAIGlubGluZSBSV0lQcm90b2NvbFJ1bnRpbWVUd29MZWdnZWRBbmltYWxzIGZyb21Q
cm90b2NvbFN0cmluZyhjb25zdCBTdHJpbmcmIHZhbHVlCiAjaW1wb3J0ICJSV0lQcm90b2NvbElu
dGVybmFsLmgiCiAKICNpbXBvcnQgIlJXSVByb3RvY29sRW51bUNvbnZlcnNpb25IZWxwZXJzLmgi
Ci0jaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9JbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaD4KICNp
bXBvcnQgPEphdmFTY3JpcHRDb3JlL0luc3BlY3RvclZhbHVlcy5oPgogCiB1c2luZyBuYW1lc3Bh
Y2UgSW5zcGVjdG9yOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tb2JqZWN0LXR5cGUuanNv
bi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMv
ZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1vYmplY3QtdHlwZS5qc29uLXJlc3VsdAppbmRleCA2
MGRiNWVjLi4xNjVjNTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1vYmplY3QtdHlwZS5q
c29uLXJlc3VsdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMv
dGVzdHMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1vYmplY3QtdHlwZS5qc29uLXJlc3VsdApA
QCAtMzUsNiArMzUsNyBAQAogI2lmIEVOQUJMRShJTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENI
RVJTKQogCiAjaW5jbHVkZSAiSW5zcGVjdG9yUHJvdG9jb2xUeXBlcy5oIgorI2luY2x1ZGUgPGlu
c3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZFJvdXRlci5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRD
b3JlL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyLmg+CiAKIG5hbWVzcGFjZSBJbnNwZWN0b3Ig
ewpAQCAtMTcyLDcgKzE3Myw3IEBAIHR5cGVkZWYgU3RyaW5nIEVycm9yU3RyaW5nOwogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oIgog
Ci0jaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oPgorI2luY2x1
ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZFJvdXRlci5oPgogI2luY2x1ZGUgPGluc3Bl
Y3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CkBAIC0yMjQsMTMgKzIyNSwxMiBAQCBuYW1l
c3BhY2UgSW5zcGVjdG9yIHsKICNkZWZpbmUgSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVyc19o
CiAKICNpbmNsdWRlICJJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCIKLSNpbmNsdWRlIDxpbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0lu
c3BlY3RvclZhbHVlcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1l
c3BhY2UgSW5zcGVjdG9yIHsKIAotCitjbGFzcyBGcm9udGVuZFJvdXRlcjsKIAogfSAvLyBuYW1l
c3BhY2UgSW5zcGVjdG9yCiAKQEAgLTI3MSw2ICsyNzEsNyBAQCBuYW1lc3BhY2UgSW5zcGVjdG9y
IHsKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZERpc3Bh
dGNoZXJzLmgiCiAKKyNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZFJvdXRlci5oIgogI2luY2x1
ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CkBAIC0xMDEz
LDcgKzEwMTQsNyBAQCB1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwogLy8gRE8gTk9UIEVESVQg
VEhJUyBGSUxFLiBJdCBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmcm9tIHR5cGUtZGVjbGFy
YXRpb24tb2JqZWN0LXR5cGUuanNvbgogLy8gYnkgdGhlIHNjcmlwdDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5k
aW5ncy5weQogCi0jaW1wb3J0ICJSV0lQcm90b2NvbC5oIgorI2ltcG9ydCA8V2ViSW5zcGVjdG9y
L1JXSVByb3RvY29sLmg+CiAKIF9fYXR0cmlidXRlX18oKHZpc2liaWxpdHkgKCJkZWZhdWx0Iikp
KQogQGludGVyZmFjZSBSV0lQcm90b2NvbENvbmZpZ3VyYXRpb24gOiBOU09iamVjdApAQCAtMTA1
OCw3ICsxMDU5LDYgQEAgX19hdHRyaWJ1dGVfXygodmlzaWJpbGl0eSAoImRlZmF1bHQiKSkpCiAK
ICNpbmNsdWRlICJSV0lQcm90b2NvbEludGVybmFsLmgiCiAjaW5jbHVkZSAiUldJUHJvdG9jb2xF
bnVtQ29udmVyc2lvbkhlbHBlcnMuaCIKLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JbnNwZWN0
b3JGcm9udGVuZENoYW5uZWwuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JbnNwZWN0b3JW
YWx1ZXMuaD4KIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CkBAIC0xMTUyLDcgKzExNTIsNiBAQCBP
YmpDRW51bVR5cGUgZnJvbVByb3RvY29sU3RyaW5nKGNvbnN0IFN0cmluZyYgdmFsdWUpOwogI2lt
cG9ydCAiUldJUHJvdG9jb2xJbnRlcm5hbC5oIgogCiAjaW1wb3J0ICJSV0lQcm90b2NvbEVudW1D
b252ZXJzaW9uSGVscGVycy5oIgotI2ltcG9ydCA8SmF2YVNjcmlwdENvcmUvSW5zcGVjdG9yRnJv
bnRlbmRDaGFubmVsLmg+CiAjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9JbnNwZWN0b3JWYWx1ZXMu
aD4KIAogdXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLXJlcXVpcmlu
Zy1ydW50aW1lLWNhc3RzLmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtcmVxdWlyaW5nLXJ1bnRpbWUtY2FzdHMu
anNvbi1yZXN1bHQKaW5kZXggM2MxNzZmNS4uZTMzZmNjNiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtcmVxdWly
aW5nLXJ1bnRpbWUtY2FzdHMuanNvbi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtcmVxdWlyaW5nLXJ1bnRpbWUt
Y2FzdHMuanNvbi1yZXN1bHQKQEAgLTM1LDYgKzM1LDcgQEAKICNpZiBFTkFCTEUoSU5TUEVDVE9S
X0FMVEVSTkFURV9ESVNQQVRDSEVSUykKIAogI2luY2x1ZGUgIkluc3BlY3RvclByb3RvY29sVHlw
ZXMuaCIKKyNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRSb3V0ZXIuaD4KICNp
bmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5oPgogCiBu
YW1lc3BhY2UgSW5zcGVjdG9yIHsKQEAgLTE3Niw3ICsxNzcsNyBAQCB0eXBlZGVmIFN0cmluZyBF
cnJvclN0cmluZzsKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JCYWNr
ZW5kRGlzcGF0Y2hlcnMuaCIKIAotI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVu
ZENoYW5uZWwuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRSb3V0ZXIu
aD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmg+CiAjaW5jbHVkZSA8d3Rm
L05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgpAQCAtMjI4
LDEzICsyMjksMTIgQEAgbmFtZXNwYWNlIEluc3BlY3RvciB7CiAjZGVmaW5lIEluc3BlY3RvckZy
b250ZW5kRGlzcGF0Y2hlcnNfaAogCiAjaW5jbHVkZSAiSW5zcGVjdG9yUHJvdG9jb2xPYmplY3Rz
LmgiCi0jaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oPgogI2lu
Y2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9X
VEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKLQorY2xhc3MgRnJvbnRlbmRS
b3V0ZXI7CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCkBAIC0yNzUsNiArMjc1LDcgQEAg
bmFtZXNwYWNlIEluc3BlY3RvciB7CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW5z
cGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5oIgogCisjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRl
bmRSb3V0ZXIuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBJ
bnNwZWN0b3IgewpAQCAtOTAyLDcgKzkwMyw3IEBAIHVzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7
CiAvLyBETyBOT1QgRURJVCBUSElTIEZJTEUuIEl0IGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVk
IGZyb20gdHlwZS1yZXF1aXJpbmctcnVudGltZS1jYXN0cy5qc29uCiAvLyBieSB0aGUgc2NyaXB0
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVj
dG9yLXByb3RvY29sLWJpbmRpbmdzLnB5CiAKLSNpbXBvcnQgIlJXSVByb3RvY29sLmgiCisjaW1w
b3J0IDxXZWJJbnNwZWN0b3IvUldJUHJvdG9jb2wuaD4KIAogX19hdHRyaWJ1dGVfXygodmlzaWJp
bGl0eSAoImRlZmF1bHQiKSkpCiBAaW50ZXJmYWNlIFJXSVByb3RvY29sQ29uZmlndXJhdGlvbiA6
IE5TT2JqZWN0CkBAIC05NDcsNyArOTQ4LDYgQEAgX19hdHRyaWJ1dGVfXygodmlzaWJpbGl0eSAo
ImRlZmF1bHQiKSkpCiAKICNpbmNsdWRlICJSV0lQcm90b2NvbEludGVybmFsLmgiCiAjaW5jbHVk
ZSAiUldJUHJvdG9jb2xFbnVtQ29udmVyc2lvbkhlbHBlcnMuaCIKLSNpbmNsdWRlIDxKYXZhU2Ny
aXB0Q29yZS9JbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0
Q29yZS9JbnNwZWN0b3JWYWx1ZXMuaD4KIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CkBAIC0xMDk0
LDcgKzEwOTQsNiBAQCBpbmxpbmUgUldJUHJvdG9jb2xUZXN0Q2FzdGVkQW5pbWFscyBmcm9tUHJv
dG9jb2xTdHJpbmcoY29uc3QgU3RyaW5nJiB2YWx1ZSkKICNpbXBvcnQgIlJXSVByb3RvY29sSW50
ZXJuYWwuaCIKIAogI2ltcG9ydCAiUldJUHJvdG9jb2xFbnVtQ29udmVyc2lvbkhlbHBlcnMuaCIK
LSNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oPgogI2lt
cG9ydCA8SmF2YVNjcmlwdENvcmUvSW5zcGVjdG9yVmFsdWVzLmg+CiAKIHVzaW5nIG5hbWVzcGFj
ZSBJbnNwZWN0b3I7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>