<?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>104757</bug_id>
          
          <creation_ts>2012-12-11 18:33:10 -0800</creation_ts>
          <short_desc>Fix build warning when ENABLE_INSPECTOR is disabled</short_desc>
          <delta_ts>2012-12-12 16:30:52 -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>WebCore Misc.</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Seokju Kwon">seokju</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>pfeldman</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>789095</commentid>
    <comment_count>0</comment_count>
    <who name="Seokju Kwon">seokju</who>
    <bug_when>2012-12-11 18:33:10 -0800</bug_when>
    <thetext>Use UNUSED_PARAM macro to fix build warning -Wunused-parameter.
Patch is coming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789494</commentid>
    <comment_count>1</comment_count>
      <attachid>179028</attachid>
    <who name="Seokju Kwon">seokju</who>
    <bug_when>2012-12-12 06:22:26 -0800</bug_when>
    <thetext>Created attachment 179028
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790009</commentid>
    <comment_count>2</comment_count>
      <attachid>179028</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-12-12 15:55:51 -0800</bug_when>
    <thetext>Comment on attachment 179028
Patch

Looks OK</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790049</commentid>
    <comment_count>3</comment_count>
      <attachid>179028</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-12 16:30:49 -0800</bug_when>
    <thetext>Comment on attachment 179028
Patch

Clearing flags on attachment: 179028

Committed r137534: &lt;http://trac.webkit.org/changeset/137534&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790050</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-12 16:30:52 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179028</attachid>
            <date>2012-12-12 06:22:26 -0800</date>
            <delta_ts>2012-12-12 16:30:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104757-20121212231945.patch</filename>
            <type>text/plain</type>
            <size>67221</size>
            <attacher name="Seokju Kwon">seokju</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3NDU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGE0YWJlYThhNWVlN2Jm
MzIxMzU5ZDczMmZkNTA5YjNjNTU4NGRjNC4uZGY1MmUzNDJlMDdlMDU1NTFhODljZTVkNDk0YzMw
OWVjOGExMmVjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1NiBAQAorMjAxMi0xMi0xMiAgU2Vv
a2p1IEt3b24gIDxzZW9ranUua3dvbkBnbWFpbC5jb20+CisKKyAgICAgICAgRml4IGJ1aWxkIHdh
cm5pbmcgd2hlbiBFTkFCTEVfSU5TUEVDVE9SIGlzIGRpc2FibGVkCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ3NTcKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgVU5VU0VEX1BBUkFNIG1hY3JvIHRv
IGZpeCBidWlsZCB3YXJuaW5nIC1XdW51c2VkLXBhcmFtZXRlci4KKworICAgICAgICBObyBuZXcg
dGVzdHMsIG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0
b3JDYW52YXNJbnN0cnVtZW50YXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6d3JhcENhbnZhczJEUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRh
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndyYXBX
ZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24pOgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JDb25zb2xlSW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjb25zb2xlQ291bnQpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzdGFydENvbnNvbGVUaW1p
bmcpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzdG9wQ29u
c29sZVRpbWluZyk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmNvbnNvbGVUaW1lU3RhbXApOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjphZGRTdGFydFByb2ZpbGluZ01lc3NhZ2VUb0NvbnNvbGUpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRQcm9maWxlKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6cHJvZmlsZXJFbmFibGVkKToKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Z2V0Q3VycmVudFVzZXJJbml0
aWF0ZWRQcm9maWxlTmFtZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvdW50ZXJz
Lmg6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb3VudGVyczo6aW5jcmVtZW50Q291bnRl
cik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb3VudGVyczo6ZGVjcmVtZW50Q291bnRl
cik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlSW5zdHJ1bWVudGF0aW9u
Lmg6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZE9wZW5E
YXRhYmFzZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5o
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDbGVhcldp
bmRvd09iamVjdEluV29ybGQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjppc0RlYnVnZ2VyUGF1c2VkKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6d2lsbEluc2VydERPTU5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRJbnNlcnRET01Ob2RlKToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFJlbW92ZURPTU5vZGUpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsTW9kaWZ5RE9NQXR0cik6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZE1vZGlmeURP
TUF0dHIpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRS
ZW1vdmVET01BdHRyKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6ZGlkSW52YWxpZGF0ZVN0eWxlQXR0cik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmZyYW1lV2luZG93RGlzY2FyZGVkKToKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6bWVkaWFRdWVyeVJlc3VsdENoYW5nZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRQdXNoU2hhZG93Um9v
dCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxQb3BT
aGFkb3dSb290KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
ZGlkQ3JlYXRlTmFtZWRGbG93KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6d2lsbFJlbW92ZU5hbWVkRmxvdyk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OmRpZFVwZGF0ZVJlZ2lvbkxheW91dCk6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Om1vdXNlRGlkTW92ZU92ZXJFbGVtZW50KToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aGFuZGxlVG91Y2hF
dmVudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmhhbmRs
ZU1vdXNlUHJlc3MpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
Ojpmb3JjZVBzZXVkb1N0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6Y2hhcmFjdGVyRGF0YU1vZGlmaWVkKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFNlbmRYTUxIdHRwUmVxdWVzdCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFNjaGVkdWxlUmVzb3VyY2VSZXF1
ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkSW5z
dGFsbFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
ZGlkUmVtb3ZlVGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjp3aWxsQ2FsbEZ1bmN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6ZGlkQ2FsbEZ1bmN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6d2lsbERpc3BhdGNoWEhSUmVhZHlTdGF0ZUNoYW5nZUV2ZW50KToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hY
SFJSZWFkeVN0YXRlQ2hhbmdlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjp3aWxsRGlzcGF0Y2hFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZERpc3BhdGNoRXZlbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsSGFuZGxlRXZlbnQpOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRIYW5kbGVFdmVudCk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxEaXNwYXRjaEV2ZW50
T25XaW5kb3cpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpk
aWREaXNwYXRjaEV2ZW50T25XaW5kb3cpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjp3aWxsRXZhbHVhdGVTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRFdmFsdWF0ZVNjcmlwdCk6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENyZWF0ZUlzb2xhdGVkQ29udGV4dCk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxGaXJlVGlt
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRGaXJl
VGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRC
ZWdpbkZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
ZGlkQ2FuY2VsRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpkaWRJbnZhbGlkYXRlTGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6d2lsbExheW91dCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmRpZExheW91dCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmRpZFNjcm9sbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OndpbGxEaXNwYXRjaFhIUkxvYWRFdmVudCk6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZERpc3BhdGNoWEhSTG9hZEV2ZW50KToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFBhaW50KToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUGFpbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsU2Nyb2xsTGF5
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRTY3Jv
bGxMYXllcik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Ondp
bGxDb21wb3NpdGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpkaWRDb21wb3NpdGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjp3aWxsUmVjYWxjdWxhdGVTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmRpZFJlY2FsY3VsYXRlU3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRTY2hlZHVsZVN0eWxlUmVjYWxjdWxhdGlvbik6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxNYXRjaFJ1
bGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRNYXRj
aFJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxs
UHJvY2Vzc1J1bGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpkaWRQcm9jZXNzUnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmFwcGx5VXNlckFnZW50T3ZlcnJpZGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjphcHBseVNjcmVlbldpZHRoT3ZlcnJpZGUpOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphcHBseVNjcmVlbkhlaWdodE92ZXJy
aWRlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c2hvdWxk
QXBwbHlTY3JlZW5XaWR0aE92ZXJyaWRlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6YXBwbHlFbXVsYXRlZE1lZGlhKToKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c2hvdWxkQXBwbHlTY3JlZW5IZWlnaHRPdmVycmlkZSk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxTZW5kUmVx
dWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNvbnRp
bnVlQWZ0ZXJQaW5nTG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6bWFya1Jlc291cmNlQXNDYWNoZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRMb2FkUmVzb3VyY2VGcm9tTWVtb3J5Q2FjaGUpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsUmVjZWl2ZVJlc291
cmNlRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRp
ZFJlY2VpdmVSZXNvdXJjZURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjp3aWxsUmVjZWl2ZVJlc291cmNlUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZlUmVzb3VyY2VSZXNwb25zZSk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNvbnRpbnVlQWZ0
ZXJYRnJhbWVPcHRpb25zRGVuaWVkKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6Y29udGludWVXaXRoUG9saWN5RG93bmxvYWQpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjb250aW51ZVdpdGhQb2xpY3lJZ25vcmUpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZlRGF0
YSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZpbmlz
aExvYWRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpk
aWRGYWlsTG9hZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OmRvY3VtZW50VGhyZWFkYWJsZUxvYWRlclN0YXJ0ZWRMb2FkaW5nRm9yQ2xpZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbExvYWRYSFIpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRGYWlsWEhSTG9h
ZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZp
bmlzaFhIUkxvYWRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpkaWRSZWNlaXZlWEhSUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjp3aWxsTG9hZFhIUlN5bmNocm9ub3VzbHkpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRMb2FkWEhSU3luY2hyb25vdXNseSk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNjcmlwdEltcG9y
dGVkKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c2NyaXB0
RXhlY3V0aW9uQmxvY2tlZEJ5Q1NQKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6ZGlkUmVjZWl2ZVNjcmlwdFJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZG9tQ29udGVudExvYWRlZEV2ZW50RmlyZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpsb2FkRXZlbnRGaXJl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmZyYW1lRGV0
YWNoZWRGcm9tUGFyZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6ZGlkQ29tbWl0TG9hZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmxvYWRlckRldGFjaGVkRnJvbUZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbERlc3Ryb3lDYWNoZWRSZXNvdXJjZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxXcml0ZUhUTUwpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRXcml0ZUhUTUwp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRVc2VET01T
dG9yYWdlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlk
RGlzcGF0Y2hET01TdG9yYWdlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpzaG91bGRQYXVzZURlZGljYXRlZFdvcmtlck9uU3RhcnQpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRTdGFydFdvcmtlckNvbnRl
eHQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3b3JrZXJD
b250ZXh0VGVybWluYXRlZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmRpZENyZWF0ZVdlYlNvY2tldCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OndpbGxTZW5kV2ViU29ja2V0SGFuZHNoYWtlUmVxdWVzdCk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVXZWJTb2Nr
ZXRIYW5kc2hha2VSZXNwb25zZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmRpZENsb3NlV2ViU29ja2V0KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZGlkUmVjZWl2ZVdlYlNvY2tldEZyYW1lKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUmVjZWl2ZVdlYlNvY2tldEZyYW1l
RXJyb3IpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRT
ZW5kV2ViU29ja2V0RnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpuZXR3b3JrU3RhdGVDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6dXBkYXRlQXBwbGljYXRpb25DYWNoZVN0YXR1cyk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlcXVlc3RBbmltYXRpb25G
cmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENh
bmNlbEFuaW1hdGlvbkZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6d2lsbEZpcmVBbmltYXRpb25GcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZpcmVBbmltYXRpb25GcmFtZSk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Om92ZXJyaWRlR2VvbG9jYXRpb25Qb3Np
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Om92ZXJy
aWRlRGV2aWNlT3JpZW50YXRpb24pOgorICAgICAgICAqIGxvYWRlci9hcHBjYWNoZS9BcHBsaWNh
dGlvbkNhY2hlR3JvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRpb25DYWNoZUdy
b3VwOjpkaWRGaW5pc2hMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9uQ2Fj
aGVHcm91cDo6ZGlkRmFpbCk6CisKIDIwMTItMTItMTIgIEFsZXhlaSBGaWxpcHBvdiAgPGFscGhA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGFkZCBtZW1vcnkgdXNlZCBi
eSBtZW1vcnkgYWxsb2NhdG9yIGl0c2VsZiB0byBOTUkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDYW52YXNJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDYW52YXNJbnN0cnVtZW50YXRpb24uaAppbmRleCAy
YzJiZWE5ZDA3ZWJlNjAxMzA2Mjg4OWEwMTQzNjlhYjg0MjE4M2EyLi5hZWUxYTgyMmE3NzA0MTU2
NjY4NGE2ODkyNjE3YzdhMzYyNTFlYmJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ2FudmFzSW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckNhbnZhc0luc3RydW1lbnRhdGlvbi5oCkBAIC0zNSw2ICsz
NSw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAi
SW5zdHJ1bWVudGluZ0FnZW50cy5oIgogI2luY2x1ZGUgIlNjcmlwdE9iamVjdC5oIgorI2luY2x1
ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ1LDYg
KzQ2LDkgQEAgU2NyaXB0T2JqZWN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d3JhcENhbnZh
czJEUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnQKICAgICAgICAgaWYgKEluc3BlY3RvckNh
bnZhc0FnZW50KiBjYW52YXNBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvckNh
bnZhc0FnZW50KCkpCiAgICAgICAgICAgICByZXR1cm4gY2FudmFzQWdlbnQtPndyYXBDYW52YXMy
RFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oY29udGV4dCk7CiAgICAgfQorI2Vs
c2UKKyAgICBVTlVTRURfUEFSQU0oZG9jdW1lbnQpOworICAgIFVOVVNFRF9QQVJBTShjb250ZXh0
KTsKICNlbmRpZgogICAgIHJldHVybiBTY3JpcHRPYmplY3QoKTsKIH0KQEAgLTU3LDYgKzYxLDkg
QEAgU2NyaXB0T2JqZWN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d3JhcFdlYkdMUmVuZGVy
aW5nQ29udGV4dEZvckluc3RydW1lbnRhdGkKICAgICAgICAgaWYgKEluc3BlY3RvckNhbnZhc0Fn
ZW50KiBjYW52YXNBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvckNhbnZhc0Fn
ZW50KCkpCiAgICAgICAgICAgICByZXR1cm4gY2FudmFzQWdlbnQtPndyYXBXZWJHTFJlbmRlcmlu
Z0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oZ2xDb250ZXh0KTsKICAgICB9CisjZWxzZQorICAg
IFVOVVNFRF9QQVJBTShkb2N1bWVudCk7CisgICAgVU5VU0VEX1BBUkFNKGdsQ29udGV4dCk7CiAj
ZW5kaWYKICAgICByZXR1cm4gU2NyaXB0T2JqZWN0KCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUluc3RydW1lbnRhdGlvbi5oIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVJbnN0cnVtZW50YXRpb24uaApp
bmRleCA1ZmZjNDhhYWI1YjA3MzdhYWVhN2VkYTdkYzFiOGQ2ZTc2ZjYwMjA4Li45YTY1ZGUyNDI0
MzlkY2Q3YTliNmUxZTk2ZGRjYzc3NzhkYzlkNmQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUluc3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlSW5zdHJ1bWVudGF0aW9uLmgKQEAg
LTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJT
Y3JpcHRQcm9maWxlLmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3
dGYvVW51c2VkUGFyYW0uaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00NCw2ICs0NSwx
NCBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0Nv
bnNvbGUoUGFnZSogcGFnZSwgTWVzc2FnZVNvdQogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAg
aWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50
aW5nQWdlbnRzRm9yUGFnZShwYWdlKSkKICAgICAgICAgYWRkTWVzc2FnZVRvQ29uc29sZUltcGwo
aW5zdHJ1bWVudGluZ0FnZW50cywgc291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgY2FsbFN0
YWNrLCByZXF1ZXN0SWRlbnRpZmllcik7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShwYWdlKTsK
KyAgICBVTlVTRURfUEFSQU0oc291cmNlKTsKKyAgICBVTlVTRURfUEFSQU0odHlwZSk7CisgICAg
VU5VU0VEX1BBUkFNKGxldmVsKTsKKyAgICBVTlVTRURfUEFSQU0obWVzc2FnZSk7CisgICAgVU5V
U0VEX1BBUkFNKGNhbGxTdGFjayk7CisgICAgVU5VU0VEX1BBUkFNKHJlcXVlc3RJZGVudGlmaWVy
KTsKICNlbmRpZgogfQogCkBAIC01Miw2ICs2MSwxNSBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUoUGFnZSogcGFnZSwgTWVzc2FnZVNv
dQogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGlu
c3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZShwYWdlKSkKICAg
ICAgICAgYWRkTWVzc2FnZVRvQ29uc29sZUltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgc291cmNl
LCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgc3RhdGUsIGFyZ3VtZW50cywgcmVxdWVzdElkZW50aWZp
ZXIpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0ocGFnZSk7CisgICAgVU5VU0VEX1BBUkFNKHNv
dXJjZSk7CisgICAgVU5VU0VEX1BBUkFNKHR5cGUpOworICAgIFVOVVNFRF9QQVJBTShsZXZlbCk7
CisgICAgVU5VU0VEX1BBUkFNKG1lc3NhZ2UpOworICAgIFVOVVNFRF9QQVJBTShzdGF0ZSk7Cisg
ICAgVU5VU0VEX1BBUkFNKGFyZ3VtZW50cyk7CisgICAgVU5VU0VEX1BBUkFNKHJlcXVlc3RJZGVu
dGlmaWVyKTsKICNlbmRpZgogfQogCkBAIC02MCw2ICs3OCwxNiBAQCBpbmxpbmUgdm9pZCBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUoUGFnZSogcGFnZSwgTWVz
c2FnZVNvdQogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2Vu
dHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZShwYWdl
KSkKICAgICAgICAgYWRkTWVzc2FnZVRvQ29uc29sZUltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywg
c291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgc2NyaXB0SWQsIGxpbmVOdW1iZXIsIHN0YXRl
LCByZXF1ZXN0SWRlbnRpZmllcik7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShwYWdlKTsKKyAg
ICBVTlVTRURfUEFSQU0oc291cmNlKTsKKyAgICBVTlVTRURfUEFSQU0odHlwZSk7CisgICAgVU5V
U0VEX1BBUkFNKGxldmVsKTsKKyAgICBVTlVTRURfUEFSQU0obWVzc2FnZSk7CisgICAgVU5VU0VE
X1BBUkFNKHNjcmlwdElkKTsKKyAgICBVTlVTRURfUEFSQU0obGluZU51bWJlcik7CisgICAgVU5V
U0VEX1BBUkFNKHN0YXRlKTsKKyAgICBVTlVTRURfUEFSQU0ocmVxdWVzdElkZW50aWZpZXIpOwog
I2VuZGlmCiB9CiAKQEAgLTY5LDYgKzk3LDE0IEBAIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZShXb3JrZXJDb250ZXh0KiB3b3JrZXJDCiAj
aWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1
bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JXb3JrZXJDb250ZXh0KHdvcmtl
ckNvbnRleHQpKQogICAgICAgICBhZGRNZXNzYWdlVG9Db25zb2xlSW1wbChpbnN0cnVtZW50aW5n
QWdlbnRzLCBzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBjYWxsU3RhY2ssIHJlcXVlc3RJ
ZGVudGlmaWVyKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHdvcmtlckNvbnRleHQpOworICAg
IFVOVVNFRF9QQVJBTShzb3VyY2UpOworICAgIFVOVVNFRF9QQVJBTSh0eXBlKTsKKyAgICBVTlVT
RURfUEFSQU0obGV2ZWwpOworICAgIFVOVVNFRF9QQVJBTShtZXNzYWdlKTsKKyAgICBVTlVTRURf
UEFSQU0oY2FsbFN0YWNrKTsKKyAgICBVTlVTRURfUEFSQU0ocmVxdWVzdElkZW50aWZpZXIpOwog
I2VuZGlmCiB9CiAKQEAgLTc3LDYgKzExMywxNiBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUoV29ya2VyQ29udGV4dCogd29ya2VyQwog
I2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3Ry
dW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yV29ya2VyQ29udGV4dCh3b3Jr
ZXJDb250ZXh0KSkKICAgICAgICAgYWRkTWVzc2FnZVRvQ29uc29sZUltcGwoaW5zdHJ1bWVudGlu
Z0FnZW50cywgc291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgc2NyaXB0SWQsIGxpbmVOdW1i
ZXIsIHN0YXRlLCByZXF1ZXN0SWRlbnRpZmllcik7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTSh3
b3JrZXJDb250ZXh0KTsKKyAgICBVTlVTRURfUEFSQU0oc291cmNlKTsKKyAgICBVTlVTRURfUEFS
QU0odHlwZSk7CisgICAgVU5VU0VEX1BBUkFNKGxldmVsKTsKKyAgICBVTlVTRURfUEFSQU0obWVz
c2FnZSk7CisgICAgVU5VU0VEX1BBUkFNKHNjcmlwdElkKTsKKyAgICBVTlVTRURfUEFSQU0obGlu
ZU51bWJlcik7CisgICAgVU5VU0VEX1BBUkFNKHN0YXRlKTsKKyAgICBVTlVTRURfUEFSQU0ocmVx
dWVzdElkZW50aWZpZXIpOwogI2VuZGlmCiB9CiAjZW5kaWYKQEAgLTg2LDYgKzEzMiwxMCBAQCBp
bmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNvbnNvbGVDb3VudChQYWdlKiBw
YWdlLCBTY3JpcHRTdGF0ZSogc3RhdAogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKElu
c3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdl
bnRzRm9yUGFnZShwYWdlKSkKICAgICAgICAgY29uc29sZUNvdW50SW1wbChpbnN0cnVtZW50aW5n
QWdlbnRzLCBzdGF0ZSwgYXJndW1lbnRzKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHBhZ2Up
OworICAgIFVOVVNFRF9QQVJBTShzdGF0ZSk7CisgICAgVU5VU0VEX1BBUkFNKGFyZ3VtZW50cyk7
CiAjZW5kaWYKIH0KIApAQCAtOTQsNiArMTQ0LDkgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpzdGFydENvbnNvbGVUaW1pbmcoRnJhbWUqIGZyYW1lLCBjb25zdCBTdHIK
ICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0
cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckZyYW1lKGZyYW1lKSkKICAg
ICAgICAgc3RhcnRDb25zb2xlVGltaW5nSW1wbChpbnN0cnVtZW50aW5nQWdlbnRzLCBmcmFtZSwg
dGl0bGUpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZnJhbWUpOworICAgIFVOVVNFRF9QQVJB
TSh0aXRsZSk7CiAjZW5kaWYKIH0KIApAQCAtMTAyLDYgKzE1NSwxMCBAQCBpbmxpbmUgdm9pZCBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnN0b3BDb25zb2xlVGltaW5nKEZyYW1lKiBmcmFtZSwg
Y29uc3QgU3RyaQogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdB
Z2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRnJhbWUo
ZnJhbWUpKQogICAgICAgICBzdG9wQ29uc29sZVRpbWluZ0ltcGwoaW5zdHJ1bWVudGluZ0FnZW50
cywgZnJhbWUsIHRpdGxlLCBzdGFjayk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShmcmFtZSk7
CisgICAgVU5VU0VEX1BBUkFNKHRpdGxlKTsKKyAgICBVTlVTRURfUEFSQU0oc3RhY2spOwogI2Vu
ZGlmCiB9CiAKQEAgLTExMSw2ICsxNjgsOSBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmNvbnNvbGVUaW1lU3RhbXAoRnJhbWUqIGZyYW1lLCBQYXNzUmVmUHRyPAogICAg
IEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIGlmIChJbnN0cnVtZW50
aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckZy
YW1lKGZyYW1lKSkKICAgICAgICAgY29uc29sZVRpbWVTdGFtcEltcGwoaW5zdHJ1bWVudGluZ0Fn
ZW50cywgZnJhbWUsIGFyZ3VtZW50cyk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShmcmFtZSk7
CisgICAgVU5VU0VEX1BBUkFNKGFyZ3VtZW50cyk7CiAjZW5kaWYKIH0KIApAQCAtMTIwLDYgKzE4
MCwxMSBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZFN0YXJ0UHJv
ZmlsaW5nTWVzc2FnZVRvQ29uc29sZShQYWdlKiBwYQogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAg
ICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVt
ZW50aW5nQWdlbnRzRm9yUGFnZShwYWdlKSkKICAgICAgICAgYWRkU3RhcnRQcm9maWxpbmdNZXNz
YWdlVG9Db25zb2xlSW1wbChpbnN0cnVtZW50aW5nQWdlbnRzLCB0aXRsZSwgbGluZU51bWJlciwg
c291cmNlVVJMKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHBhZ2UpOworICAgIFVOVVNFRF9Q
QVJBTSh0aXRsZSk7CisgICAgVU5VU0VEX1BBUkFNKGxpbmVOdW1iZXIpOworICAgIFVOVVNFRF9Q
QVJBTShzb3VyY2VVUkwpOwogI2VuZGlmCiB9CiAKQEAgLTEyOCw2ICsxOTMsMTAgQEAgaW5saW5l
IHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRQcm9maWxlKFBhZ2UqIHBhZ2UsIFJl
ZlB0cjxTY3JpcHRQcm9maWwKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVt
ZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0Zv
clBhZ2UocGFnZSkpCiAgICAgICAgIGFkZFByb2ZpbGVJbXBsKGluc3RydW1lbnRpbmdBZ2VudHMs
IHByb2ZpbGUsIGNhbGxTdGFjayk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShwYWdlKTsKKyAg
ICBVTlVTRURfUEFSQU0ocHJvZmlsZSk7CisgICAgVU5VU0VEX1BBUkFNKGNhbGxTdGFjayk7CiAj
ZW5kaWYKIH0KIApAQCAtMTM2LDYgKzIwNSw4IEBAIGlubGluZSBib29sIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6cHJvZmlsZXJFbmFibGVkKFBhZ2UqIHBhZ2UpCiAjaWYgRU5BQkxFKElOU1BF
Q1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9
IGluc3RydW1lbnRpbmdBZ2VudHNGb3JQYWdlKHBhZ2UpKQogICAgICAgICByZXR1cm4gcHJvZmls
ZXJFbmFibGVkSW1wbChpbnN0cnVtZW50aW5nQWdlbnRzKTsKKyNlbHNlCisgICAgVU5VU0VEX1BB
UkFNKHBhZ2UpOwogI2VuZGlmCiAgICAgcmV0dXJuIGZhbHNlOwogfQpAQCAtMTQ1LDYgKzIxNiw5
IEBAIGlubGluZSBTdHJpbmcgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpnZXRDdXJyZW50VXNl
ckluaXRpYXRlZFByb2ZpbGVOYW1lKFBhZ2UqCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBp
ZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRp
bmdBZ2VudHNGb3JQYWdlKHBhZ2UpKQogICAgICAgICByZXR1cm4gSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpnZXRDdXJyZW50VXNlckluaXRpYXRlZFByb2ZpbGVOYW1lSW1wbChpbnN0cnVtZW50
aW5nQWdlbnRzLCBpbmNyZW1lbnRQcm9maWxlTnVtYmVyKTsKKyNlbHNlCisgICAgVU5VU0VEX1BB
UkFNKHBhZ2UpOworICAgIFVOVVNFRF9QQVJBTShpbmNyZW1lbnRQcm9maWxlTnVtYmVyKTsKICNl
bmRpZgogICAgIHJldHVybiAiIjsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JDb3VudGVycy5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckNvdW50ZXJzLmgKaW5kZXggODJlMWI1Y2VhODRiMzY3YjdmYWQ5ZGZlY2RmYzZmZTQxODM3
YjYwNi4uMThlOWU4MGI5ZmU2ZDJhNWU4YzY3Y2M3YjU5ZDFjMzY2N2M5NjcxYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvdW50ZXJzLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvdW50ZXJzLmgKQEAgLTMyLDYgKzMyLDcg
QEAKICNkZWZpbmUgSW5zcGVjdG9yQ291bnRlcnNfaAogCiAjaW5jbHVkZSA8d3RmL0Zhc3RBbGxv
Y0Jhc2UuaD4KKyNpbmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4KIAogI2lmICFBU1NFUlRfRElT
QUJMRUQKICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgpAQCAtNTMsNiArNTQsOCBAQCBwdWJs
aWM6CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgp
KTsKICAgICAgICAgKytzX2NvdW50ZXJzW3R5cGVdOworI2Vsc2UKKyAgICAgICAgVU5VU0VEX1BB
UkFNKHR5cGUpOwogI2VuZGlmCiAgICAgfQogCkBAIC02MSw2ICs2NCw4IEBAIHB1YmxpYzoKICNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogICAg
ICAgICAtLXNfY291bnRlcnNbdHlwZV07CisjZWxzZQorICAgICAgICBVTlVTRURfUEFSQU0odHlw
ZSk7CiAjZW5kaWYKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JEYXRhYmFzZUluc3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckRhdGFiYXNlSW5zdHJ1bWVudGF0aW9uLmgKaW5kZXggZmQ2NDkwYjMy
ZGYyYTA0OGY3YjBlN2NkNGM2NjYxMzYzZDllZTUxOC4uMTk5MzNiODA5YTIwOTk4NDc2NDUwY2Fk
ZTA5ZDExODVkYTdlNmI5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckRhdGFiYXNlSW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckRhdGFiYXNlSW5zdHJ1bWVudGF0aW9uLmgKQEAgLTM0LDYgKzM0LDcg
QEAKICNpbmNsdWRlICJEYXRhYmFzZS5oIgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRh
dGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1VudXNl
ZFBhcmFtLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDMsNiArNDQsMTIgQEAgaW5s
aW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRPcGVuRGF0YWJhc2UoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCogY28KICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0
cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50
c0ZvckNvbnRleHQoY29udGV4dCkpCiAgICAgICAgIGRpZE9wZW5EYXRhYmFzZUltcGwoaW5zdHJ1
bWVudGluZ0FnZW50cywgZGF0YWJhc2UsIGRvbWFpbiwgbmFtZSwgdmVyc2lvbik7CisjZWxzZQor
ICAgIFVOVVNFRF9QQVJBTShjb250ZXh0KTsKKyAgICBVTlVTRURfUEFSQU0oZGF0YWJhc2UpOwor
ICAgIFVOVVNFRF9QQVJBTShkb21haW4pOworICAgIFVOVVNFRF9QQVJBTShuYW1lKTsKKyAgICBV
TlVTRURfUEFSQU0odmVyc2lvbik7CiAjZW5kaWYKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCmluZGV4IGIxN2Jk
MGM0YWM5ZmQzN2Y1YzkxNzIyNzNmODViZjNiYmM5OWY4MWUuLjExNmNjNDJlMGRlMGQ0ZWMxYzFi
YTQzMDczOTBhMDVjNDUzNTZmOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKQEAgLTQwLDYgKzQwLDcgQEAKICNpbmNsdWRl
ICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKICNp
bmNsdWRlICJTdG9yYWdlQXJlYS5oIgorI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ4MCw2ICs0ODEsOSBAQCBpbmxpbmUgdm9pZCBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENsZWFyV2luZG93T2JqZWN0SW5Xb3JsZChGcmFtZSog
ZnJhbWUsCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50
cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JGcmFtZShmcmFt
ZSkpCiAgICAgICAgIGRpZENsZWFyV2luZG93T2JqZWN0SW5Xb3JsZEltcGwoaW5zdHJ1bWVudGlu
Z0FnZW50cywgZnJhbWUsIHdvcmxkKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGZyYW1lKTsK
KyAgICBVTlVTRURfUEFSQU0od29ybGQpOwogI2VuZGlmCiB9CiAKQEAgLTQ4OSw2ICs0OTMsOCBA
QCBpbmxpbmUgYm9vbCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmlzRGVidWdnZXJQYXVzZWQo
RnJhbWUqIGZyYW1lKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyhmYWxzZSk7CiAg
ICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVt
ZW50aW5nQWdlbnRzRm9yRnJhbWUoZnJhbWUpKQogICAgICAgICByZXR1cm4gaXNEZWJ1Z2dlclBh
dXNlZEltcGwoaW5zdHJ1bWVudGluZ0FnZW50cyk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShm
cmFtZSk7CiAjZW5kaWYKICAgICByZXR1cm4gZmFsc2U7CiB9CkBAIC00OTksNiArNTA1LDkgQEAg
aW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsSW5zZXJ0RE9NTm9kZShE
b2N1bWVudCogZG9jdW1lbnQsIE5vZGUKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFMo
dm9pZCgpKTsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50
cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JEb2N1bWVudChkb2N1bWVudCkpCiAgICAgICAgIHdp
bGxJbnNlcnRET01Ob2RlSW1wbChpbnN0cnVtZW50aW5nQWdlbnRzLCBwYXJlbnQpOworI2Vsc2UK
KyAgICBVTlVTRURfUEFSQU0oZG9jdW1lbnQpOworICAgIFVOVVNFRF9QQVJBTShwYXJlbnQpOwog
I2VuZGlmCiB9CiAKQEAgLTUwOCw2ICs1MTcsOSBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OmRpZEluc2VydERPTU5vZGUoRG9jdW1lbnQqIGRvY3VtZW50LCBOb2RlKgog
ICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIGlmIChJbnN0cnVt
ZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0Zv
ckRvY3VtZW50KGRvY3VtZW50KSkKICAgICAgICAgZGlkSW5zZXJ0RE9NTm9kZUltcGwoaW5zdHJ1
bWVudGluZ0FnZW50cywgbm9kZSk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShkb2N1bWVudCk7
CisgICAgVU5VU0VEX1BBUkFNKG5vZGUpOwogI2VuZGlmCiB9CiAKQEAgLTUxOSw2ICs1MzEsOSBA
QCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxSZW1vdmVET01Ob2Rl
KERvY3VtZW50KiBkb2N1bWVudCwgTm9kZQogICAgICAgICB3aWxsUmVtb3ZlRE9NTm9kZUltcGwo
aW5zdHJ1bWVudGluZ0FnZW50cywgbm9kZSk7CiAgICAgICAgIGRpZFJlbW92ZURPTU5vZGVJbXBs
KGluc3RydW1lbnRpbmdBZ2VudHMsIG5vZGUpOwogICAgIH0KKyNlbHNlCisgICAgVU5VU0VEX1BB
UkFNKGRvY3VtZW50KTsKKyAgICBVTlVTRURfUEFSQU0obm9kZSk7CiAjZW5kaWYKIH0KIApAQCAt
NTI4LDYgKzU0MywxMSBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Ondp
bGxNb2RpZnlET01BdHRyKERvY3VtZW50KiBkb2N1bWVudCwgRWxlbQogICAgIEZBU1RfUkVUVVJO
X0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBp
bnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3VtZW50KGRvY3Vt
ZW50KSkKICAgICAgICAgd2lsbE1vZGlmeURPTUF0dHJJbXBsKGluc3RydW1lbnRpbmdBZ2VudHMs
IGVsZW1lbnQsIG9sZFZhbHVlLCBuZXdWYWx1ZSk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShk
b2N1bWVudCk7CisgICAgVU5VU0VEX1BBUkFNKGVsZW1lbnQpOworICAgIFVOVVNFRF9QQVJBTShv
bGRWYWx1ZSk7CisgICAgVU5VU0VEX1BBUkFNKG5ld1ZhbHVlKTsKICNlbmRpZgogfQogCkBAIC01
MzcsNiArNTU3LDExIEBAIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlk
TW9kaWZ5RE9NQXR0cihEb2N1bWVudCogZG9jdW1lbnQsIEVsZW1lCiAgICAgRkFTVF9SRVRVUk5f
SUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGlu
c3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRG9jdW1lbnQoZG9jdW1l
bnQpKQogICAgICAgICBkaWRNb2RpZnlET01BdHRySW1wbChpbnN0cnVtZW50aW5nQWdlbnRzLCBl
bGVtZW50LCBuYW1lLCB2YWx1ZSk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShkb2N1bWVudCk7
CisgICAgVU5VU0VEX1BBUkFNKGVsZW1lbnQpOworICAgIFVOVVNFRF9QQVJBTShuYW1lKTsKKyAg
ICBVTlVTRURfUEFSQU0odmFsdWUpOwogI2VuZGlmCiB9CiAKQEAgLTU0Niw2ICs1NzEsMTAgQEAg
aW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZW1vdmVET01BdHRyKERv
Y3VtZW50KiBkb2N1bWVudCwgRWxlbWUKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFMo
dm9pZCgpKTsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50
cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JEb2N1bWVudChkb2N1bWVudCkpCiAgICAgICAgIGRp
ZFJlbW92ZURPTUF0dHJJbXBsKGluc3RydW1lbnRpbmdBZ2VudHMsIGVsZW1lbnQsIG5hbWUpOwor
I2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZG9jdW1lbnQpOworICAgIFVOVVNFRF9QQVJBTShlbGVt
ZW50KTsKKyAgICBVTlVTRURfUEFSQU0obmFtZSk7CiAjZW5kaWYKIH0KIApAQCAtNTU1LDYgKzU4
NCw5IEBAIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkSW52YWxpZGF0
ZVN0eWxlQXR0cihEb2N1bWVudCogZG9jdW1lbnQsCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJP
TlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRp
bmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRG9jdW1lbnQoZG9jdW1lbnQpKQogICAg
ICAgICBkaWRJbnZhbGlkYXRlU3R5bGVBdHRySW1wbChpbnN0cnVtZW50aW5nQWdlbnRzLCBub2Rl
KTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGRvY3VtZW50KTsKKyAgICBVTlVTRURfUEFSQU0o
bm9kZSk7CiAjZW5kaWYKIH0KIApAQCAtNTYzLDYgKzU5NSw5IEBAIGlubGluZSB2b2lkIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6ZnJhbWVXaW5kb3dEaXNjYXJkZWQoRnJhbWUqIGZyYW1lLCBE
T01XaW5kCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50
cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JGcmFtZShmcmFt
ZSkpCiAgICAgICAgIGZyYW1lV2luZG93RGlzY2FyZGVkSW1wbChpbnN0cnVtZW50aW5nQWdlbnRz
LCBkb21XaW5kb3cpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZnJhbWUpOworICAgIFVOVVNF
RF9QQVJBTShkb21XaW5kb3cpOwogI2VuZGlmCiB9CiAKQEAgLTU3Miw2ICs2MDcsOCBAQCBpbmxp
bmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Om1lZGlhUXVlcnlSZXN1bHRDaGFuZ2Vk
KERvY3VtZW50KiBkb2N1bWVudAogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lk
KCkpOwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0g
aW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3VtZW50KGRvY3VtZW50KSkKICAgICAgICAgbWVkaWFR
dWVyeVJlc3VsdENoYW5nZWRJbXBsKGluc3RydW1lbnRpbmdBZ2VudHMpOworI2Vsc2UKKyAgICBV
TlVTRURfUEFSQU0oZG9jdW1lbnQpOwogI2VuZGlmCiB9CiAKQEAgLTU4MSw2ICs2MTgsOSBAQCBp
bmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFB1c2hTaGFkb3dSb290KEVs
ZW1lbnQqIGhvc3QsIFNoYWRvd1JvbwogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2
b2lkKCkpOwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRz
ID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3VtZW50KGhvc3QtPm93bmVyRG9jdW1lbnQoKSkp
CiAgICAgICAgIGRpZFB1c2hTaGFkb3dSb290SW1wbChpbnN0cnVtZW50aW5nQWdlbnRzLCBob3N0
LCByb290KTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGhvc3QpOworICAgIFVOVVNFRF9QQVJB
TShyb290KTsKICNlbmRpZgogfQogCkBAIC01OTAsNiArNjMwLDkgQEAgaW5saW5lIHZvaWQgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsUG9wU2hhZG93Um9vdChFbGVtZW50KiBob3N0LCBT
aGFkb3dSb28KICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKICAgICBp
ZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRp
bmdBZ2VudHNGb3JEb2N1bWVudChob3N0LT5vd25lckRvY3VtZW50KCkpKQogICAgICAgICB3aWxs
UG9wU2hhZG93Um9vdEltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgaG9zdCwgcm9vdCk7CisjZWxz
ZQorICAgIFVOVVNFRF9QQVJBTShob3N0KTsKKyAgICBVTlVTRURfUEFSQU0ocm9vdCk7CiAjZW5k
aWYKIH0KIApAQCAtNTk5LDYgKzY0Miw5IEBAIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6ZGlkQ3JlYXRlTmFtZWRGbG93KERvY3VtZW50KiBkb2N1bWVudCwgV2ViCiAgICAg
RkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKEluc3RydW1lbnRp
bmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRG9j
dW1lbnQoZG9jdW1lbnQpKQogICAgICAgICBkaWRDcmVhdGVOYW1lZEZsb3dJbXBsKGluc3RydW1l
bnRpbmdBZ2VudHMsIGRvY3VtZW50LCBuYW1lZEZsb3cpOworI2Vsc2UKKyAgICBVTlVTRURfUEFS
QU0oZG9jdW1lbnQpOworICAgIFVOVVNFRF9QQVJBTShuYW1lZEZsb3cpOwogI2VuZGlmCiB9CiAK
QEAgLTYwOCw2ICs2NTQsOSBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OndpbGxSZW1vdmVOYW1lZEZsb3coRG9jdW1lbnQqIGRvY3VtZW50LCBXZQogICAgIEZBU1RfUkVU
VVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRz
KiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3VtZW50KGRv
Y3VtZW50KSkKICAgICAgICAgd2lsbFJlbW92ZU5hbWVkRmxvd0ltcGwoaW5zdHJ1bWVudGluZ0Fn
ZW50cywgZG9jdW1lbnQsIG5hbWVkRmxvdyk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShkb2N1
bWVudCk7CisgICAgVU5VU0VEX1BBUkFNKG5hbWVkRmxvdyk7CiAjZW5kaWYKIH0KIApAQCAtNjE3
LDYgKzY2Niw5IEBAIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkVXBk
YXRlUmVnaW9uTGF5b3V0KERvY3VtZW50KiBkb2N1bWVudCwKICAgICBGQVNUX1JFVFVSTl9JRl9O
T19GUk9OVEVORFModm9pZCgpKTsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1
bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JEb2N1bWVudChkb2N1bWVudCkp
CiAgICAgICAgIGRpZFVwZGF0ZVJlZ2lvbkxheW91dEltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywg
ZG9jdW1lbnQsIG5hbWVkRmxvdyk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShkb2N1bWVudCk7
CisgICAgVU5VU0VEX1BBUkFNKG5hbWVkRmxvdyk7CiAjZW5kaWYKIH0KIApAQCAtNjI2LDYgKzY3
OCwxMCBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Om1vdXNlRGlkTW92
ZU92ZXJFbGVtZW50KFBhZ2UqIHBhZ2UsIGNvbnN0CiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJP
TlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRp
bmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZShwYWdlKSkKICAgICAgICAgbW91
c2VEaWRNb3ZlT3ZlckVsZW1lbnRJbXBsKGluc3RydW1lbnRpbmdBZ2VudHMsIHJlc3VsdCwgbW9k
aWZpZXJGbGFncyk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShwYWdlKTsKKyAgICBVTlVTRURf
UEFSQU0ocmVzdWx0KTsKKyAgICBVTlVTRURfUEFSQU0obW9kaWZpZXJGbGFncyk7CiAjZW5kaWYK
IH0KIApAQCAtNjM1LDYgKzY5MSw5IEBAIGlubGluZSBib29sIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6aGFuZGxlVG91Y2hFdmVudChQYWdlKiBwYWdlLCBOb2RlKiBub2RlKQogICAgIEZBU1Rf
UkVUVVJOX0lGX05PX0ZST05URU5EUyhmYWxzZSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2Vu
dHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZShwYWdl
KSkKICAgICAgICAgcmV0dXJuIGhhbmRsZVRvdWNoRXZlbnRJbXBsKGluc3RydW1lbnRpbmdBZ2Vu
dHMsIG5vZGUpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0ocGFnZSk7CisgICAgVU5VU0VEX1BB
UkFNKG5vZGUpOwogI2VuZGlmCiAgICAgcmV0dXJuIGZhbHNlOwogfQpAQCAtNjQ1LDYgKzcwNCw4
IEBAIGlubGluZSBib29sIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aGFuZGxlTW91c2VQcmVz
cyhQYWdlKiBwYWdlKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyhmYWxzZSk7CiAg
ICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVt
ZW50aW5nQWdlbnRzRm9yUGFnZShwYWdlKSkKICAgICAgICAgcmV0dXJuIGhhbmRsZU1vdXNlUHJl
c3NJbXBsKGluc3RydW1lbnRpbmdBZ2VudHMpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0ocGFn
ZSk7CiAjZW5kaWYKICAgICByZXR1cm4gZmFsc2U7CiB9CkBAIC02NTUsNiArNzE2LDkgQEAgaW5s
aW5lIGJvb2wgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmb3JjZVBzZXVkb1N0YXRlKEVsZW1l
bnQqIGVsZW1lbnQsIENTU1NlbGUKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFMoZmFs
c2UpOwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0g
aW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3VtZW50KGVsZW1lbnQtPmRvY3VtZW50KCkpKQogICAg
ICAgICByZXR1cm4gZm9yY2VQc2V1ZG9TdGF0ZUltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgZWxl
bWVudCwgcHNldWRvU3RhdGUpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZWxlbWVudCk7Cisg
ICAgVU5VU0VEX1BBUkFNKHBzZXVkb1N0YXRlKTsKICNlbmRpZgogICAgIHJldHVybiBmYWxzZTsK
IH0KQEAgLTY2NSw2ICs3MjksOSBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OmNoYXJhY3RlckRhdGFNb2RpZmllZChEb2N1bWVudCogZG9jdW1lbnQsCiAgICAgRkFTVF9S
RVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2Vu
dHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRG9jdW1lbnQo
ZG9jdW1lbnQpKQogICAgICAgICBjaGFyYWN0ZXJEYXRhTW9kaWZpZWRJbXBsKGluc3RydW1lbnRp
bmdBZ2VudHMsIGNoYXJhY3RlckRhdGEpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZG9jdW1l
bnQpOworICAgIFVOVVNFRF9QQVJBTShjaGFyYWN0ZXJEYXRhKTsKICNlbmRpZgogfQogCkBAIC02
NzQsNiArNzQxLDkgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxs
U2VuZFhNTEh0dHBSZXF1ZXN0KFNjcmlwdEV4ZWN1dGlvbkNvbnQKICAgICBGQVNUX1JFVFVSTl9J
Rl9OT19GUk9OVEVORFModm9pZCgpKTsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5z
dHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JDb250ZXh0KGNvbnRleHQp
KQogICAgICAgICB3aWxsU2VuZFhNTEh0dHBSZXF1ZXN0SW1wbChpbnN0cnVtZW50aW5nQWdlbnRz
LCB1cmwpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oY29udGV4dCk7CisgICAgVU5VU0VEX1BB
UkFNKHVybCk7CiAjZW5kaWYKIH0KIApAQCAtNjgzLDYgKzc1Myw5IEBAIGlubGluZSB2b2lkIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkU2NoZWR1bGVSZXNvdXJjZVJlcXVlc3QoRG9jdW1l
bnQqIGRvY3VtCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAg
aWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50
aW5nQWdlbnRzRm9yRG9jdW1lbnQoZG9jdW1lbnQpKQogICAgICAgICBkaWRTY2hlZHVsZVJlc291
cmNlUmVxdWVzdEltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgdXJsLCBkb2N1bWVudC0+ZnJhbWUo
KSk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShkb2N1bWVudCk7CisgICAgVU5VU0VEX1BBUkFN
KHVybCk7CiAjZW5kaWYKIH0KIApAQCAtNjkyLDYgKzc2NSwxMSBAQCBpbmxpbmUgdm9pZCBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEluc3RhbGxUaW1lcihTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBjbwogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIGlm
IChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGlu
Z0FnZW50c0ZvckNvbnRleHQoY29udGV4dCkpCiAgICAgICAgIGRpZEluc3RhbGxUaW1lckltcGwo
aW5zdHJ1bWVudGluZ0FnZW50cywgdGltZXJJZCwgdGltZW91dCwgc2luZ2xlU2hvdCwgY29udGV4
dCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShjb250ZXh0KTsKKyAgICBVTlVTRURfUEFSQU0o
dGltZXJJZCk7CisgICAgVU5VU0VEX1BBUkFNKHRpbWVvdXQpOworICAgIFVOVVNFRF9QQVJBTShz
aW5nbGVTaG90KTsKICNlbmRpZgogfQogCkBAIC03MDEsNiArNzc5LDkgQEAgaW5saW5lIHZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZW1vdmVUaW1lcihTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBjb24KICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKICAg
ICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1l
bnRpbmdBZ2VudHNGb3JDb250ZXh0KGNvbnRleHQpKQogICAgICAgICBkaWRSZW1vdmVUaW1lcklt
cGwoaW5zdHJ1bWVudGluZ0FnZW50cywgdGltZXJJZCwgY29udGV4dCk7CisjZWxzZQorICAgIFVO
VVNFRF9QQVJBTShjb250ZXh0KTsKKyAgICBVTlVTRURfUEFSQU0odGltZXJJZCk7CiAjZW5kaWYK
IH0KIApAQCAtNzEwLDYgKzc5MSwxMCBAQCBpbmxpbmUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
Q29va2llIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbENhbGxGdW5jdGlvbgogICAgIEZB
U1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyhJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUo
KSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBp
bnN0cnVtZW50aW5nQWdlbnRzRm9yQ29udGV4dChjb250ZXh0KSkKICAgICAgICAgcmV0dXJuIHdp
bGxDYWxsRnVuY3Rpb25JbXBsKGluc3RydW1lbnRpbmdBZ2VudHMsIHNjcmlwdE5hbWUsIHNjcmlw
dExpbmUsIGNvbnRleHQpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oY29udGV4dCk7CisgICAg
VU5VU0VEX1BBUkFNKHNjcmlwdE5hbWUpOworICAgIFVOVVNFRF9QQVJBTShzY3JpcHRMaW5lKTsK
ICNlbmRpZgogICAgIHJldHVybiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUoKTsKIH0K
QEAgLTcyMSw2ICs4MDYsOCBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmRpZENhbGxGdW5jdGlvbihjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YQogICAgIEZBU1RfUkVU
VVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIGlmIChjb29raWUuZmlyc3QpCiAgICAg
ICAgIGRpZENhbGxGdW5jdGlvbkltcGwoY29va2llKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFN
KGNvb2tpZSk7CiAjZW5kaWYKIH0KIApAQCAtNzMwLDYgKzgxNyw5IEBAIGlubGluZSBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb25Db29raWUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsRGlz
cGF0Y2hYSFJSCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbkNvb2tpZSgpKTsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1
bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JDb250ZXh0KGNvbnRleHQpKQog
ICAgICAgICByZXR1cm4gd2lsbERpc3BhdGNoWEhSUmVhZHlTdGF0ZUNoYW5nZUV2ZW50SW1wbChp
bnN0cnVtZW50aW5nQWdlbnRzLCByZXF1ZXN0LCBjb250ZXh0KTsKKyNlbHNlCisgICAgVU5VU0VE
X1BBUkFNKGNvbnRleHQpOworICAgIFVOVVNFRF9QQVJBTShyZXF1ZXN0KTsKICNlbmRpZgogICAg
IHJldHVybiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUoKTsKIH0KQEAgLTc0MCw2ICs4
MzAsOCBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZERpc3BhdGNo
WEhSUmVhZHlTdGF0ZUNoYW5nZUV2ZW50KGNvbnN0CiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJP
TlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKGNvb2tpZS5maXJzdCkKICAgICAgICAgZGlkRGlzcGF0
Y2hYSFJSZWFkeVN0YXRlQ2hhbmdlRXZlbnRJbXBsKGNvb2tpZSk7CisjZWxzZQorICAgIFVOVVNF
RF9QQVJBTShjb29raWUpOwogI2VuZGlmCiB9CiAKQEAgLTc0OSw2ICs4NDEsMTIgQEAgaW5saW5l
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OndpbGxEaXNwYXRjaEV2ZW4KICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFMoSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uQ29va2llKCkpOwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRz
KiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3VtZW50KGRv
Y3VtZW50KSkKICAgICAgICAgcmV0dXJuIHdpbGxEaXNwYXRjaEV2ZW50SW1wbChpbnN0cnVtZW50
aW5nQWdlbnRzLCBldmVudCwgd2luZG93LCBub2RlLCBhbmNlc3RvcnMsIGRvY3VtZW50KTsKKyNl
bHNlCisgICAgVU5VU0VEX1BBUkFNKGRvY3VtZW50KTsKKyAgICBVTlVTRURfUEFSQU0oZXZlbnQp
OworICAgIFVOVVNFRF9QQVJBTSh3aW5kb3cpOworICAgIFVOVVNFRF9QQVJBTShub2RlKTsKKyAg
ICBVTlVTRURfUEFSQU0oYW5jZXN0b3JzKTsKICNlbmRpZgogICAgIHJldHVybiBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb25Db29raWUoKTsKIH0KQEAgLTc1OSw2ICs4NTcsOCBAQCBpbmxpbmUgdm9p
ZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZERpc3BhdGNoRXZlbnQoY29uc3QgSW5zcGVj
dG9ySW5zdHJ1bWVudAogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwog
ICAgIGlmIChjb29raWUuZmlyc3QpCiAgICAgICAgIGRpZERpc3BhdGNoRXZlbnRJbXBsKGNvb2tp
ZSk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShjb29raWUpOwogI2VuZGlmCiB9CiAKQEAgLTc2
OCw2ICs4NjgsOSBAQCBpbmxpbmUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbEhhbmRsZUV2ZW50KAogICAgIEZBU1RfUkVUVVJOX0lG
X05PX0ZST05URU5EUyhJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUoKSk7CiAgICAgaWYg
KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5n
QWdlbnRzRm9yQ29udGV4dChjb250ZXh0KSkKICAgICAgICAgcmV0dXJuIHdpbGxIYW5kbGVFdmVu
dEltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgZXZlbnQpOworI2Vsc2UKKyAgICBVTlVTRURfUEFS
QU0oY29udGV4dCk7CisgICAgVU5VU0VEX1BBUkFNKGV2ZW50KTsKICNlbmRpZgogICAgIHJldHVy
biBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUoKTsKIH0KQEAgLTc3OCw2ICs4ODEsOCBA
QCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEhhbmRsZUV2ZW50KGNv
bnN0IEluc3BlY3Rvckluc3RydW1lbnRhdAogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5E
Uyh2b2lkKCkpOwogICAgIGlmIChjb29raWUuZmlyc3QpCiAgICAgICAgIGRpZEhhbmRsZUV2ZW50
SW1wbChjb29raWUpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oY29va2llKTsKICNlbmRpZgog
fQogCkBAIC03ODcsNiArODkyLDEwIEBAIGlubGluZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25D
b29raWUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsRGlzcGF0Y2hFdmVuCiAgICAgRkFT
VF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSgp
KTsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGlu
c3RydW1lbnRpbmdBZ2VudHNGb3JGcmFtZShmcmFtZSkpCiAgICAgICAgIHJldHVybiB3aWxsRGlz
cGF0Y2hFdmVudE9uV2luZG93SW1wbChpbnN0cnVtZW50aW5nQWdlbnRzLCBldmVudCwgd2luZG93
KTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGZyYW1lKTsKKyAgICBVTlVTRURfUEFSQU0oZXZl
bnQpOworICAgIFVOVVNFRF9QQVJBTSh3aW5kb3cpOwogI2VuZGlmCiAgICAgcmV0dXJuIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSgpOwogfQpAQCAtNzk3LDYgKzkwNiw4IEBAIGlubGlu
ZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hFdmVudE9uV2luZG93
KGNvbnN0IEluc3BlY3RvckluCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQo
KSk7CiAgICAgaWYgKGNvb2tpZS5maXJzdCkKICAgICAgICAgZGlkRGlzcGF0Y2hFdmVudE9uV2lu
ZG93SW1wbChjb29raWUpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oY29va2llKTsKICNlbmRp
ZgogfQogCkBAIC04MDYsNiArOTE3LDEwIEBAIGlubGluZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b25Db29raWUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsRXZhbHVhdGVTY3JpCiAgICAg
RkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tp
ZSgpKTsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9
IGluc3RydW1lbnRpbmdBZ2VudHNGb3JGcmFtZShmcmFtZSkpCiAgICAgICAgIHJldHVybiB3aWxs
RXZhbHVhdGVTY3JpcHRJbXBsKGluc3RydW1lbnRpbmdBZ2VudHMsIHVybCwgbGluZU51bWJlciwg
ZnJhbWUpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZnJhbWUpOworICAgIFVOVVNFRF9QQVJB
TSh1cmwpOworICAgIFVOVVNFRF9QQVJBTShsaW5lTnVtYmVyKTsKICNlbmRpZgogICAgIHJldHVy
biBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUoKTsKIH0KQEAgLTgxNiw2ICs5MzEsOCBA
QCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEV2YWx1YXRlU2NyaXB0
KGNvbnN0IEluc3BlY3Rvckluc3RydW1lbgogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5E
Uyh2b2lkKCkpOwogICAgIGlmIChjb29raWUuZmlyc3QpCiAgICAgICAgIGRpZEV2YWx1YXRlU2Ny
aXB0SW1wbChjb29raWUpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oY29va2llKTsKICNlbmRp
ZgogfQogCkBAIC04MjUsNiArOTQyLDEwIEBAIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6ZGlkQ3JlYXRlSXNvbGF0ZWRDb250ZXh0KEZyYW1lKiBmcmFtZSwgU2NyCiAgICAg
RkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKEluc3RydW1lbnRp
bmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRnJh
bWUoZnJhbWUpKQogICAgICAgICByZXR1cm4gZGlkQ3JlYXRlSXNvbGF0ZWRDb250ZXh0SW1wbChp
bnN0cnVtZW50aW5nQWdlbnRzLCBmcmFtZSwgc2NyaXB0U3RhdGUsIG9yaWdpbik7CisjZWxzZQor
ICAgIFVOVVNFRF9QQVJBTShmcmFtZSk7CisgICAgVU5VU0VEX1BBUkFNKHNjcmlwdFN0YXRlKTsK
KyAgICBVTlVTRURfUEFSQU0ob3JpZ2luKTsKICNlbmRpZgogfQogCkBAIC04MzQsNiArOTU1LDkg
QEAgaW5saW5lIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OndpbGxGaXJlVGltZXIoU2MKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVO
RFMoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llKCkpOwogICAgIGlmIChJbnN0cnVtZW50
aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckNv
bnRleHQoY29udGV4dCkpCiAgICAgICAgIHJldHVybiB3aWxsRmlyZVRpbWVySW1wbChpbnN0cnVt
ZW50aW5nQWdlbnRzLCB0aW1lcklkLCBjb250ZXh0KTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFN
KGNvbnRleHQpOworICAgIFVOVVNFRF9QQVJBTSh0aW1lcklkKTsKICNlbmRpZgogICAgIHJldHVy
biBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUoKTsKIH0KQEAgLTg0NCw2ICs5NjgsOCBA
QCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZpcmVUaW1lcihjb25z
dCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpbwogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5E
Uyh2b2lkKCkpOwogICAgIGlmIChjb29raWUuZmlyc3QpCiAgICAgICAgIGRpZEZpcmVUaW1lcklt
cGwoY29va2llKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGNvb2tpZSk7CiAjZW5kaWYKIH0K
IApAQCAtODUzLDYgKzk3OSw4IEBAIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6ZGlkQmVnaW5GcmFtZShQYWdlKiBwYWdlKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05U
RU5EUyh2b2lkKCkpOwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5n
QWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2UocGFnZSkpCiAgICAgICAgIGRpZEJl
Z2luRnJhbWVJbXBsKGluc3RydW1lbnRpbmdBZ2VudHMpOworI2Vsc2UKKyAgICBVTlVTRURfUEFS
QU0ocGFnZSk7CiAjZW5kaWYKIH0KIApAQCAtODYyLDYgKzk5MCw4IEBAIGlubGluZSB2b2lkIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ2FuY2VsRnJhbWUoUGFnZSogcGFnZSkKICAgICBG
QVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKICAgICBpZiAoSW5zdHJ1bWVudGlu
Z0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JQYWdl
KHBhZ2UpKQogICAgICAgICBkaWRDYW5jZWxGcmFtZUltcGwoaW5zdHJ1bWVudGluZ0FnZW50cyk7
CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShwYWdlKTsKICNlbmRpZgogfQogCkBAIC04NzEsNiAr
MTAwMSw4IEBAIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkSW52YWxp
ZGF0ZUxheW91dChGcmFtZSogZnJhbWUpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRT
KHZvaWQoKSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2Vu
dHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRnJhbWUoZnJhbWUpKQogICAgICAgICBkaWRJbnZh
bGlkYXRlTGF5b3V0SW1wbChpbnN0cnVtZW50aW5nQWdlbnRzLCBmcmFtZSk7CisjZWxzZQorICAg
IFVOVVNFRF9QQVJBTShmcmFtZSk7CiAjZW5kaWYKIH0KIApAQCAtODgwLDYgKzEwMTIsOCBAQCBp
bmxpbmUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6d2lsbExheW91dChGcmFtZQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyhJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUoKSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdB
Z2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRnJhbWUo
ZnJhbWUpKQogICAgICAgICByZXR1cm4gd2lsbExheW91dEltcGwoaW5zdHJ1bWVudGluZ0FnZW50
cywgZnJhbWUpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZnJhbWUpOwogI2VuZGlmCiAgICAg
cmV0dXJuIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSgpOwogfQpAQCAtODkwLDYgKzEw
MjQsOSBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZExheW91dChj
b25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25DbwogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZS
T05URU5EUyh2b2lkKCkpOwogICAgIGlmIChjb29raWUuZmlyc3QpCiAgICAgICAgIGRpZExheW91
dEltcGwoY29va2llLCByb290KTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGNvb2tpZSk7Cisg
ICAgVU5VU0VEX1BBUkFNKHJvb3QpOwogI2VuZGlmCiB9CiAKQEAgLTg5OSw2ICsxMDM2LDggQEAg
aW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRTY3JvbGwoUGFnZSogcGFn
ZSkKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKICAgICBpZiAoSW5z
dHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2Vu
dHNGb3JQYWdlKHBhZ2UpKQogICAgICAgICBkaWRTY3JvbGxJbXBsKGluc3RydW1lbnRpbmdBZ2Vu
dHMpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0ocGFnZSk7CiAjZW5kaWYKIH0KIApAQCAtOTA4
LDYgKzEwNDcsOSBAQCBpbmxpbmUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbERpc3BhdGNoWEhSTAogICAgIEZBU1RfUkVUVVJOX0lG
X05PX0ZST05URU5EUyhJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUoKSk7CiAgICAgaWYg
KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5n
QWdlbnRzRm9yQ29udGV4dChjb250ZXh0KSkKICAgICAgICAgcmV0dXJuIHdpbGxEaXNwYXRjaFhI
UkxvYWRFdmVudEltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgcmVxdWVzdCwgY29udGV4dCk7Cisj
ZWxzZQorICAgIFVOVVNFRF9QQVJBTShjb250ZXh0KTsKKyAgICBVTlVTRURfUEFSQU0ocmVxdWVz
dCk7CiAjZW5kaWYKICAgICByZXR1cm4gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llKCk7
CiB9CkBAIC05MTgsNiArMTA2MCw4IEBAIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6ZGlkRGlzcGF0Y2hYSFJMb2FkRXZlbnQoY29uc3QgSW5zcGVjdG9ySW5zCiAgICAgRkFT
VF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKGNvb2tpZS5maXJzdCkK
ICAgICAgICAgZGlkRGlzcGF0Y2hYSFJMb2FkRXZlbnRJbXBsKGNvb2tpZSk7CisjZWxzZQorICAg
IFVOVVNFRF9QQVJBTShjb29raWUpOwogI2VuZGlmCiB9CiAKQEAgLTkyNyw2ICsxMDcxLDggQEAg
aW5saW5lIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OndpbGxQYWludChGcmFtZSoKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFMo
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llKCkpOwogICAgIGlmIChJbnN0cnVtZW50aW5n
QWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckZyYW1l
KGZyYW1lKSkKICAgICAgICAgcmV0dXJuIHdpbGxQYWludEltcGwoaW5zdHJ1bWVudGluZ0FnZW50
cywgZnJhbWUpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZnJhbWUpOwogI2VuZGlmCiAgICAg
cmV0dXJuIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSgpOwogfQpAQCAtOTM3LDYgKzEw
ODMsMTAgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRQYWludChj
b25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db28KICAgICBGQVNUX1JFVFVSTl9JRl9OT19G
Uk9OVEVORFModm9pZCgpKTsKICAgICBpZiAoY29va2llLmZpcnN0KQogICAgICAgICBkaWRQYWlu
dEltcGwoY29va2llLCBjb250ZXh0LCByZWN0KTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGNv
b2tpZSk7CisgICAgVU5VU0VEX1BBUkFNKGNvbnRleHQpOworICAgIFVOVVNFRF9QQVJBTShyZWN0
KTsKICNlbmRpZgogfQogCkBAIC05NDYsNiArMTA5Niw4IEBAIGlubGluZSB2b2lkIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6d2lsbFNjcm9sbExheWVyKEZyYW1lKiBmcmFtZSkKICAgICBGQVNU
X1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0Fn
ZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JGcmFtZShm
cmFtZSkpCiAgICAgICAgIHdpbGxTY3JvbGxMYXllckltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywg
ZnJhbWUpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZnJhbWUpOwogI2VuZGlmCiB9CiAKQEAg
LTk1NSw2ICsxMTA3LDggQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpk
aWRTY3JvbGxMYXllcihGcmFtZSogZnJhbWUpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRF
TkRTKHZvaWQoKSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdB
Z2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRnJhbWUoZnJhbWUpKQogICAgICAgICBkaWRT
Y3JvbGxMYXllckltcGwoaW5zdHJ1bWVudGluZ0FnZW50cyk7CisjZWxzZQorICAgIFVOVVNFRF9Q
QVJBTShmcmFtZSk7CiAjZW5kaWYKIH0KIApAQCAtOTY0LDYgKzExMTgsOCBAQCBpbmxpbmUgdm9p
ZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxDb21wb3NpdGUoUGFnZSogcGFnZSkKICAg
ICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKICAgICBpZiAoSW5zdHJ1bWVu
dGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JQ
YWdlKHBhZ2UpKQogICAgICAgICB3aWxsQ29tcG9zaXRlSW1wbChpbnN0cnVtZW50aW5nQWdlbnRz
KTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHBhZ2UpOwogI2VuZGlmCiB9CiAKQEAgLTk3Myw2
ICsxMTI5LDggQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDb21w
b3NpdGUoUGFnZSogcGFnZSkKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgp
KTsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGlu
c3RydW1lbnRpbmdBZ2VudHNGb3JQYWdlKHBhZ2UpKQogICAgICAgICBkaWRDb21wb3NpdGVJbXBs
KGluc3RydW1lbnRpbmdBZ2VudHMpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0ocGFnZSk7CiAj
ZW5kaWYKIH0KIApAQCAtOTgyLDYgKzExNDAsOCBAQCBpbmxpbmUgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uQ29va2llIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFJlY2FsY3VsYXRlUwog
ICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyhJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25D
b29raWUoKSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2Vu
dHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRG9jdW1lbnQoZG9jdW1lbnQpKQogICAgICAgICBy
ZXR1cm4gd2lsbFJlY2FsY3VsYXRlU3R5bGVJbXBsKGluc3RydW1lbnRpbmdBZ2VudHMsIGRvY3Vt
ZW50LT5mcmFtZSgpKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGRvY3VtZW50KTsKICNlbmRp
ZgogICAgIHJldHVybiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUoKTsKIH0KQEAgLTk5
Miw2ICsxMTUyLDggQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRS
ZWNhbGN1bGF0ZVN0eWxlKGNvbnN0IEluc3BlY3Rvckluc3RydW0KICAgICBGQVNUX1JFVFVSTl9J
Rl9OT19GUk9OVEVORFModm9pZCgpKTsKICAgICBpZiAoY29va2llLmZpcnN0KQogICAgICAgICBk
aWRSZWNhbGN1bGF0ZVN0eWxlSW1wbChjb29raWUpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0o
Y29va2llKTsKICNlbmRpZgogfQogCkBAIC0xMDAxLDYgKzExNjMsOCBAQCBpbmxpbmUgdm9pZCBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFNjaGVkdWxlU3R5bGVSZWNhbGN1bGF0aW9uKERv
Y3VtZW50KiBkbwogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAg
IGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVu
dGluZ0FnZW50c0ZvckRvY3VtZW50KGRvY3VtZW50KSkKICAgICAgICAgZGlkU2NoZWR1bGVTdHls
ZVJlY2FsY3VsYXRpb25JbXBsKGluc3RydW1lbnRpbmdBZ2VudHMsIGRvY3VtZW50KTsKKyNlbHNl
CisgICAgVU5VU0VEX1BBUkFNKGRvY3VtZW50KTsKICNlbmRpZgogfQogCkBAIC0xMDEwLDYgKzEx
NzQsMTAgQEAgaW5saW5lIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OndpbGxNYXRjaFJ1bGUoRG8KICAgICBGQVNUX1JFVFVSTl9JRl9OT19G
Uk9OVEVORFMoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llKCkpOwogICAgIGlmIChJbnN0
cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50
c0ZvckRvY3VtZW50KGRvY3VtZW50KSkKICAgICAgICAgcmV0dXJuIHdpbGxNYXRjaFJ1bGVJbXBs
KGluc3RydW1lbnRpbmdBZ2VudHMsIHJ1bGUsIHN0eWxlUmVzb2x2ZXIpOworI2Vsc2UKKyAgICBV
TlVTRURfUEFSQU0oZG9jdW1lbnQpOworICAgIFVOVVNFRF9QQVJBTShydWxlKTsKKyAgICBVTlVT
RURfUEFSQU0oc3R5bGVSZXNvbHZlcik7CiAjZW5kaWYKICAgICByZXR1cm4gSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uQ29va2llKCk7CiB9CkBAIC0xMDIwLDYgKzExODgsOSBAQCBpbmxpbmUgdm9p
ZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZE1hdGNoUnVsZShjb25zdCBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpbwogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwog
ICAgIGlmIChjb29raWUuZmlyc3QpCiAgICAgICAgIGRpZE1hdGNoUnVsZUltcGwoY29va2llLCBt
YXRjaGVkKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGNvb2tpZSk7CisgICAgVU5VU0VEX1BB
UkFNKG1hdGNoZWQpOwogI2VuZGlmCiB9CiAKQEAgLTEwMzEsNiArMTIwMiwxMCBAQCBpbmxpbmUg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
d2lsbFByb2Nlc3NSdWxlKAogICAgICAgICByZXR1cm4gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
Q29va2llKCk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2Vu
dHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRG9jdW1lbnQoZG9jdW1lbnQpKQogICAgICAgICBy
ZXR1cm4gd2lsbFByb2Nlc3NSdWxlSW1wbChpbnN0cnVtZW50aW5nQWdlbnRzLCBydWxlLCBzdHls
ZVJlc29sdmVyKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGRvY3VtZW50KTsKKyAgICBVTlVT
RURfUEFSQU0ocnVsZSk7CisgICAgVU5VU0VEX1BBUkFNKHN0eWxlUmVzb2x2ZXIpOwogI2VuZGlm
CiAgICAgcmV0dXJuIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSgpOwogfQpAQCAtMTA0
MSw2ICsxMjE2LDggQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRQ
cm9jZXNzUnVsZShjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXQKICAgICBGQVNUX1JFVFVSTl9J
Rl9OT19GUk9OVEVORFModm9pZCgpKTsKICAgICBpZiAoY29va2llLmZpcnN0KQogICAgICAgICBk
aWRQcm9jZXNzUnVsZUltcGwoY29va2llKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGNvb2tp
ZSk7CiAjZW5kaWYKIH0KIApAQCAtMTA1MCw2ICsxMjI3LDkgQEAgaW5saW5lIHZvaWQgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjphcHBseVVzZXJBZ2VudE92ZXJyaWRlKEZyYW1lKiBmcmFtZSwg
U3RyaW4KICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKICAgICBpZiAo
SW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdB
Z2VudHNGb3JGcmFtZShmcmFtZSkpCiAgICAgICAgIGFwcGx5VXNlckFnZW50T3ZlcnJpZGVJbXBs
KGluc3RydW1lbnRpbmdBZ2VudHMsIHVzZXJBZ2VudCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJB
TShmcmFtZSk7CisgICAgVU5VU0VEX1BBUkFNKHVzZXJBZ2VudCk7CiAjZW5kaWYKIH0KIApAQCAt
MTA1OSw2ICsxMjM5LDkgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjph
cHBseVNjcmVlbldpZHRoT3ZlcnJpZGUoRnJhbWUqIGZyYW1lLCBsb24KICAgICBGQVNUX1JFVFVS
Tl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyog
aW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JGcmFtZShmcmFtZSkp
CiAgICAgICAgIGFwcGx5U2NyZWVuV2lkdGhPdmVycmlkZUltcGwoaW5zdHJ1bWVudGluZ0FnZW50
cywgd2lkdGgpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZnJhbWUpOworICAgIFVOVVNFRF9Q
QVJBTSh3aWR0aCk7CiAjZW5kaWYKIH0KIApAQCAtMTA2OCw2ICsxMjUxLDkgQEAgaW5saW5lIHZv
aWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphcHBseVNjcmVlbkhlaWdodE92ZXJyaWRlKEZy
YW1lKiBmcmFtZSwgbG8KICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsK
ICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3Ry
dW1lbnRpbmdBZ2VudHNGb3JGcmFtZShmcmFtZSkpCiAgICAgICAgIGFwcGx5U2NyZWVuSGVpZ2h0
T3ZlcnJpZGVJbXBsKGluc3RydW1lbnRpbmdBZ2VudHMsIGhlaWdodCk7CisjZWxzZQorICAgIFVO
VVNFRF9QQVJBTShmcmFtZSk7CisgICAgVU5VU0VEX1BBUkFNKGhlaWdodCk7CiAjZW5kaWYKIH0K
IApAQCAtMTA3Nyw2ICsxMjYzLDggQEAgaW5saW5lIGJvb2wgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpzaG91bGRBcHBseVNjcmVlbldpZHRoT3ZlcnJpZGUoRnJhbWUqIGZyYW0KICAgICBGQVNU
X1JFVFVSTl9JRl9OT19GUk9OVEVORFMoZmFsc2UpOwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdl
bnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckZyYW1lKGZy
YW1lKSkKICAgICAgICAgcmV0dXJuIHNob3VsZEFwcGx5U2NyZWVuV2lkdGhPdmVycmlkZUltcGwo
aW5zdHJ1bWVudGluZ0FnZW50cyk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShmcmFtZSk7CiAj
ZW5kaWYKICAgICByZXR1cm4gZmFsc2U7CiB9CkBAIC0xMDg3LDYgKzEyNzUsOSBAQCBpbmxpbmUg
dm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFwcGx5RW11bGF0ZWRNZWRpYShGcmFtZSog
ZnJhbWUsIFN0cmluZyogbQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkp
OwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5z
dHJ1bWVudGluZ0FnZW50c0ZvckZyYW1lKGZyYW1lKSkKICAgICAgICAgYXBwbHlFbXVsYXRlZE1l
ZGlhSW1wbChpbnN0cnVtZW50aW5nQWdlbnRzLCBtZWRpYSk7CisjZWxzZQorICAgIFVOVVNFRF9Q
QVJBTShmcmFtZSk7CisgICAgVU5VU0VEX1BBUkFNKG1lZGlhKTsKICNlbmRpZgogfQogCkBAIC0x
MDk2LDYgKzEyODcsOCBAQCBpbmxpbmUgYm9vbCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNo
b3VsZEFwcGx5U2NyZWVuSGVpZ2h0T3ZlcnJpZGUoRnJhbWUqIGZyYQogICAgIEZBU1RfUkVUVVJO
X0lGX05PX0ZST05URU5EUyhmYWxzZSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGlu
c3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRnJhbWUoZnJhbWUpKQog
ICAgICAgICByZXR1cm4gc2hvdWxkQXBwbHlTY3JlZW5IZWlnaHRPdmVycmlkZUltcGwoaW5zdHJ1
bWVudGluZ0FnZW50cyk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShmcmFtZSk7CiAjZW5kaWYK
ICAgICByZXR1cm4gZmFsc2U7CiB9CkBAIC0xMTA1LDYgKzEyOTgsMTIgQEAgaW5saW5lIHZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsU2VuZFJlcXVlc3QoRnJhbWUqIGZyYW1lLCB1
bnNpZ25lZCBsb24KICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5n
QWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckZyYW1l
KGZyYW1lKSkKICAgICAgICAgd2lsbFNlbmRSZXF1ZXN0SW1wbChpbnN0cnVtZW50aW5nQWdlbnRz
LCBpZGVudGlmaWVyLCBsb2FkZXIsIHJlcXVlc3QsIHJlZGlyZWN0UmVzcG9uc2UpOworI2Vsc2UK
KyAgICBVTlVTRURfUEFSQU0oZnJhbWUpOworICAgIFVOVVNFRF9QQVJBTShpZGVudGlmaWVyKTsK
KyAgICBVTlVTRURfUEFSQU0obG9hZGVyKTsKKyAgICBVTlVTRURfUEFSQU0ocmVxdWVzdCk7Cisg
ICAgVU5VU0VEX1BBUkFNKHJlZGlyZWN0UmVzcG9uc2UpOwogI2VuZGlmCiB9CiAKQEAgLTExMTMs
NiArMTMxMiwxMiBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNvbnRp
bnVlQWZ0ZXJQaW5nTG9hZGVyKEZyYW1lKiBmcmFtZSwgdW5zaQogI2lmIEVOQUJMRShJTlNQRUNU
T1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBp
bnN0cnVtZW50aW5nQWdlbnRzRm9yRnJhbWUoZnJhbWUpKQogICAgICAgICBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OmNvbnRpbnVlQWZ0ZXJQaW5nTG9hZGVySW1wbChpbnN0cnVtZW50aW5nQWdl
bnRzLCBpZGVudGlmaWVyLCBsb2FkZXIsIHJlcXVlc3QsIHJlc3BvbnNlKTsKKyNlbHNlCisgICAg
VU5VU0VEX1BBUkFNKGZyYW1lKTsKKyAgICBVTlVTRURfUEFSQU0oaWRlbnRpZmllcik7CisgICAg
VU5VU0VEX1BBUkFNKGxvYWRlcik7CisgICAgVU5VU0VEX1BBUkFNKHJlcXVlc3QpOworICAgIFVO
VVNFRF9QQVJBTShyZXNwb25zZSk7CiAjZW5kaWYKIH0KIApAQCAtMTEyMSw2ICsxMzI2LDkgQEAg
aW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjptYXJrUmVzb3VyY2VBc0NhY2hl
ZChQYWdlKiBwYWdlLCB1bnNpZ25lZAogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKElu
c3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdl
bnRzRm9yUGFnZShwYWdlKSkKICAgICAgICAgbWFya1Jlc291cmNlQXNDYWNoZWRJbXBsKGluc3Ry
dW1lbnRpbmdBZ2VudHMsIGlkZW50aWZpZXIpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0ocGFn
ZSk7CisgICAgVU5VU0VEX1BBUkFNKGlkZW50aWZpZXIpOwogI2VuZGlmCiB9CiAKQEAgLTExMjks
NiArMTMzNywxMCBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZExv
YWRSZXNvdXJjZUZyb21NZW1vcnlDYWNoZShQYWdlKiBwYWdlLAogI2lmIEVOQUJMRShJTlNQRUNU
T1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBp
bnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZShwYWdlKSkKICAgICAgICAgZGlkTG9hZFJlc291cmNl
RnJvbU1lbW9yeUNhY2hlSW1wbChpbnN0cnVtZW50aW5nQWdlbnRzLCBsb2FkZXIsIHJlc291cmNl
KTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHBhZ2UpOworICAgIFVOVVNFRF9QQVJBTShsb2Fk
ZXIpOworICAgIFVOVVNFRF9QQVJBTShyZXNvdXJjZSk7CiAjZW5kaWYKIH0KIApAQCAtMTEzOCw2
ICsxMzUwLDEwIEBAIGlubGluZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsUmVjZWl2ZVJlc291CiAgICAgRkFTVF9SRVRVUk5fSUZf
Tk9fRlJPTlRFTkRTKEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSgpKTsKICAgICBpZiAo
SW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdB
Z2VudHNGb3JGcmFtZShmcmFtZSkpCiAgICAgICAgIHJldHVybiB3aWxsUmVjZWl2ZVJlc291cmNl
RGF0YUltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgaWRlbnRpZmllciwgZnJhbWUsIGxlbmd0aCk7
CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShmcmFtZSk7CisgICAgVU5VU0VEX1BBUkFNKGlkZW50
aWZpZXIpOworICAgIFVOVVNFRF9QQVJBTShsZW5ndGgpOwogI2VuZGlmCiAgICAgcmV0dXJuIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSgpOwogfQpAQCAtMTE0OCw2ICsxMzY0LDggQEAg
aW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZlUmVzb3VyY2VE
YXRhKGNvbnN0IEluc3BlY3Rvckluc3QKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFMo
dm9pZCgpKTsKICAgICBpZiAoY29va2llLmZpcnN0KQogICAgICAgICBkaWRSZWNlaXZlUmVzb3Vy
Y2VEYXRhSW1wbChjb29raWUpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oY29va2llKTsKICNl
bmRpZgogfQogCkBAIC0xMTU2LDYgKzEzNzQsMTAgQEAgaW5saW5lIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbkNvb2tpZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxSZWNlaXZlUmVzb3UK
ICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0
cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckZyYW1lKGZyYW1lKSkKICAg
ICAgICAgcmV0dXJuIHdpbGxSZWNlaXZlUmVzb3VyY2VSZXNwb25zZUltcGwoaW5zdHJ1bWVudGlu
Z0FnZW50cywgaWRlbnRpZmllciwgcmVzcG9uc2UsIGZyYW1lKTsKKyNlbHNlCisgICAgVU5VU0VE
X1BBUkFNKGZyYW1lKTsKKyAgICBVTlVTRURfUEFSQU0oaWRlbnRpZmllcik7CisgICAgVU5VU0VE
X1BBUkFNKHJlc3BvbnNlKTsKICNlbmRpZgogICAgIHJldHVybiBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb25Db29raWUoKTsKIH0KQEAgLTExNjUsNiArMTM4NywxMiBAQCBpbmxpbmUgdm9pZCBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVSZXNvdXJjZVJlc3BvbnNlKGNvbnN0IElu
c3BlY3RvcgogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgLy8gQ2FsbCB0aGlzIHVuY29uZGl0
aW9uYWxseSBzbyB0aGF0IHdlJ3JlIGFibGUgdG8gbG9nIHRvIGNvbnNvbGUgd2l0aCBubyBmcm9u
dC1lbmQgYXR0YWNoZWQuCiAgICAgZGlkUmVjZWl2ZVJlc291cmNlUmVzcG9uc2VJbXBsKGNvb2tp
ZSwgaWRlbnRpZmllciwgbG9hZGVyLCByZXNwb25zZSwgcmVzb3VyY2VMb2FkZXIpOworI2Vsc2UK
KyAgICBVTlVTRURfUEFSQU0oY29va2llKTsKKyAgICBVTlVTRURfUEFSQU0oaWRlbnRpZmllcik7
CisgICAgVU5VU0VEX1BBUkFNKGxvYWRlcik7CisgICAgVU5VU0VEX1BBUkFNKHJlc3BvbnNlKTsK
KyAgICBVTlVTRURfUEFSQU0ocmVzb3VyY2VMb2FkZXIpOwogI2VuZGlmCiB9CiAKQEAgLTExNzMs
NiArMTQwMSwxMSBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNvbnRp
bnVlQWZ0ZXJYRnJhbWVPcHRpb25zRGVuaWVkKEZyYW1lKiBmcgogI2lmIEVOQUJMRShJTlNQRUNU
T1IpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjpjb250aW51ZUFmdGVyWEZyYW1lT3B0aW9uc0RlbmllZEltcGwo
ZnJhbWUsIGxvYWRlciwgaWRlbnRpZmllciwgcik7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShm
cmFtZSk7CisgICAgVU5VU0VEX1BBUkFNKGxvYWRlcik7CisgICAgVU5VU0VEX1BBUkFNKGlkZW50
aWZpZXIpOworICAgIFVOVVNFRF9QQVJBTShyKTsKICNlbmRpZgogfQogCkBAIC0xMTgxLDYgKzE0
MTQsMTEgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjb250aW51ZVdp
dGhQb2xpY3lEb3dubG9hZChGcmFtZSogZnJhbWUsIEQKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQog
ICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6Y29udGludWVXaXRoUG9saWN5RG93bmxvYWRJbXBsKGZyYW1lLCBsb2Fk
ZXIsIGlkZW50aWZpZXIsIHIpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZnJhbWUpOworICAg
IFVOVVNFRF9QQVJBTShsb2FkZXIpOworICAgIFVOVVNFRF9QQVJBTShpZGVudGlmaWVyKTsKKyAg
ICBVTlVTRURfUEFSQU0ocik7CiAjZW5kaWYKIH0KIApAQCAtMTE4OSw2ICsxNDI3LDExIEBAIGlu
bGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y29udGludWVXaXRoUG9saWN5SWdu
b3JlKEZyYW1lKiBmcmFtZSwgRG9jCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBGQVNUX1JF
VFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OmNvbnRpbnVlV2l0aFBvbGljeUlnbm9yZUltcGwoZnJhbWUsIGxvYWRlciwgaWRlbnRpZmll
ciwgcik7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShmcmFtZSk7CisgICAgVU5VU0VEX1BBUkFN
KGxvYWRlcik7CisgICAgVU5VU0VEX1BBUkFNKGlkZW50aWZpZXIpOworICAgIFVOVVNFRF9QQVJB
TShyKTsKICNlbmRpZgogfQogCkBAIC0xMTk3LDYgKzE0NDAsMTIgQEAgaW5saW5lIHZvaWQgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZlRGF0YShGcmFtZSogZnJhbWUsIHVuc2ln
bmVkIGxvbmcKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdl
bnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckZyYW1lKGZy
YW1lKSkKICAgICAgICAgZGlkUmVjZWl2ZURhdGFJbXBsKGluc3RydW1lbnRpbmdBZ2VudHMsIGlk
ZW50aWZpZXIsIGRhdGEsIGRhdGFMZW5ndGgsIGVuY29kZWREYXRhTGVuZ3RoKTsKKyNlbHNlCisg
ICAgVU5VU0VEX1BBUkFNKGZyYW1lKTsKKyAgICBVTlVTRURfUEFSQU0oaWRlbnRpZmllcik7Cisg
ICAgVU5VU0VEX1BBUkFNKGRhdGEpOworICAgIFVOVVNFRF9QQVJBTShkYXRhTGVuZ3RoKTsKKyAg
ICBVTlVTRURfUEFSQU0oZW5jb2RlZERhdGFMZW5ndGgpOwogI2VuZGlmCiB9CiAKQEAgLTEyMDUs
NiArMTQ1NCwxMSBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZp
bmlzaExvYWRpbmcoRnJhbWUqIGZyYW1lLCBEb2N1bWVudExvYQogI2lmIEVOQUJMRShJTlNQRUNU
T1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBp
bnN0cnVtZW50aW5nQWdlbnRzRm9yRnJhbWUoZnJhbWUpKQogICAgICAgICBkaWRGaW5pc2hMb2Fk
aW5nSW1wbChpbnN0cnVtZW50aW5nQWdlbnRzLCBpZGVudGlmaWVyLCBsb2FkZXIsIGZpbmlzaFRp
bWUpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZnJhbWUpOworICAgIFVOVVNFRF9QQVJBTShs
b2FkZXIpOworICAgIFVOVVNFRF9QQVJBTShpZGVudGlmaWVyKTsKKyAgICBVTlVTRURfUEFSQU0o
ZmluaXNoVGltZSk7CiAjZW5kaWYKIH0KIApAQCAtMTIxMyw2ICsxNDY3LDExIEBAIGlubGluZSB2
b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRmFpbExvYWRpbmcoRnJhbWUqIGZyYW1l
LCBEb2N1bWVudExvYWRlCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVu
dGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JG
cmFtZShmcmFtZSkpCiAgICAgICAgIGRpZEZhaWxMb2FkaW5nSW1wbChpbnN0cnVtZW50aW5nQWdl
bnRzLCBpZGVudGlmaWVyLCBsb2FkZXIsIGVycm9yKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFN
KGZyYW1lKTsKKyAgICBVTlVTRURfUEFSQU0obG9hZGVyKTsKKyAgICBVTlVTRURfUEFSQU0oaWRl
bnRpZmllcik7CisgICAgVU5VU0VEX1BBUkFNKGVycm9yKTsKICNlbmRpZgogfQogCkBAIC0xMjIx
LDYgKzE0ODAsMTAgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkb2N1
bWVudFRocmVhZGFibGVMb2FkZXJTdGFydGVkTG9hZGluZ0ZvckMKICNpZiBFTkFCTEUoSU5TUEVD
VE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0g
aW5zdHJ1bWVudGluZ0FnZW50c0ZvckNvbnRleHQoY29udGV4dCkpCiAgICAgICAgIGRvY3VtZW50
VGhyZWFkYWJsZUxvYWRlclN0YXJ0ZWRMb2FkaW5nRm9yQ2xpZW50SW1wbChpbnN0cnVtZW50aW5n
QWdlbnRzLCBpZGVudGlmaWVyLCBjbGllbnQpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oY29u
dGV4dCk7CisgICAgVU5VU0VEX1BBUkFNKGlkZW50aWZpZXIpOworICAgIFVOVVNFRF9QQVJBTShj
bGllbnQpOwogI2VuZGlmCiB9CiAKQEAgLTEyMjksNiArMTQ5MiwxNSBAQCBpbmxpbmUgdm9pZCBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxMb2FkWEhSKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIGNvbnRleAogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdB
Z2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yQ29udGV4
dChjb250ZXh0KSkKICAgICAgICAgd2lsbExvYWRYSFJJbXBsKGluc3RydW1lbnRpbmdBZ2VudHMs
IGNsaWVudCwgbWV0aG9kLCB1cmwsIGFzeW5jLCBmb3JtRGF0YSwgaGVhZGVycywgaW5jbHVkZUNy
ZWRlbnRpYWxzKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGNvbnRleHQpOworICAgIFVOVVNF
RF9QQVJBTShjbGllbnQpOworICAgIFVOVVNFRF9QQVJBTShtZXRob2QpOworICAgIFVOVVNFRF9Q
QVJBTSh1cmwpOworICAgIFVOVVNFRF9QQVJBTShhc3luYyk7CisgICAgVU5VU0VEX1BBUkFNKGZv
cm1EYXRhKTsKKyAgICBVTlVTRURfUEFSQU0oaGVhZGVycyk7CisgICAgVU5VU0VEX1BBUkFNKGlu
Y2x1ZGVDcmVkZW50aWFscyk7CiAjZW5kaWYKIH0KIApAQCAtMTIzNyw2ICsxNTA5LDkgQEAgaW5s
aW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRGYWlsWEhSTG9hZGluZyhTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KgogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3Ry
dW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRz
Rm9yQ29udGV4dChjb250ZXh0KSkKICAgICAgICAgZGlkRmFpbFhIUkxvYWRpbmdJbXBsKGluc3Ry
dW1lbnRpbmdBZ2VudHMsIGNsaWVudCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShjb250ZXh0
KTsKKyAgICBVTlVTRURfUEFSQU0oY2xpZW50KTsKICNlbmRpZgogfQogCkBAIC0xMjQ2LDYgKzE1
MjEsMTQgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRGaW5pc2hY
SFJMb2FkaW5nKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQog
ICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1
bWVudGluZ0FnZW50c0ZvckNvbnRleHQoY29udGV4dCkpCiAgICAgICAgIGRpZEZpbmlzaFhIUkxv
YWRpbmdJbXBsKGluc3RydW1lbnRpbmdBZ2VudHMsIGNsaWVudCwgaWRlbnRpZmllciwgc291cmNl
U3RyaW5nLCB1cmwsIHNlbmRVUkwsIHNlbmRMaW5lTnVtYmVyKTsKKyNlbHNlCisgICAgVU5VU0VE
X1BBUkFNKGNvbnRleHQpOworICAgIFVOVVNFRF9QQVJBTShjbGllbnQpOworICAgIFVOVVNFRF9Q
QVJBTShpZGVudGlmaWVyKTsKKyAgICBVTlVTRURfUEFSQU0oc291cmNlU3RyaW5nKTsKKyAgICBV
TlVTRURfUEFSQU0odXJsKTsKKyAgICBVTlVTRURfUEFSQU0oc2VuZFVSTCk7CisgICAgVU5VU0VE
X1BBUkFNKHNlbmRMaW5lTnVtYmVyKTsKICNlbmRpZgogfQogCkBAIC0xMjU0LDYgKzE1MzcsOSBA
QCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVYSFJSZXNw
b25zZShTY3JpcHRFeGVjdXRpb25Db250ZQogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYg
KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5n
QWdlbnRzRm9yQ29udGV4dChjb250ZXh0KSkKICAgICAgICAgZGlkUmVjZWl2ZVhIUlJlc3BvbnNl
SW1wbChpbnN0cnVtZW50aW5nQWdlbnRzLCBpZGVudGlmaWVyKTsKKyNlbHNlCisgICAgVU5VU0VE
X1BBUkFNKGNvbnRleHQpOworICAgIFVOVVNFRF9QQVJBTShpZGVudGlmaWVyKTsKICNlbmRpZgog
fQogCkBAIC0xMjYyLDYgKzE1NDgsOCBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OndpbGxMb2FkWEhSU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25DbwogI2lmIEVO
QUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRp
bmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yQ29udGV4dChjb250ZXh0KSkKICAgICAg
ICAgd2lsbExvYWRYSFJTeW5jaHJvbm91c2x5SW1wbChpbnN0cnVtZW50aW5nQWdlbnRzKTsKKyNl
bHNlCisgICAgVU5VU0VEX1BBUkFNKGNvbnRleHQpOwogI2VuZGlmCiB9CiAKQEAgLTEyNzAsNiAr
MTU1OCw4IEBAIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkTG9hZFhI
UlN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29uCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikK
ICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3Ry
dW1lbnRpbmdBZ2VudHNGb3JDb250ZXh0KGNvbnRleHQpKQogICAgICAgICBkaWRMb2FkWEhSU3lu
Y2hyb25vdXNseUltcGwoaW5zdHJ1bWVudGluZ0FnZW50cyk7CisjZWxzZQorICAgIFVOVVNFRF9Q
QVJBTShjb250ZXh0KTsKICNlbmRpZgogfQogCkBAIC0xMjc4LDYgKzE1NjgsMTAgQEAgaW5saW5l
IHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzY3JpcHRJbXBvcnRlZChTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBjb24KICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVt
ZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0Zv
ckNvbnRleHQoY29udGV4dCkpCiAgICAgICAgIHNjcmlwdEltcG9ydGVkSW1wbChpbnN0cnVtZW50
aW5nQWdlbnRzLCBpZGVudGlmaWVyLCBzb3VyY2VTdHJpbmcpOworI2Vsc2UKKyAgICBVTlVTRURf
UEFSQU0oY29udGV4dCk7CisgICAgVU5VU0VEX1BBUkFNKGlkZW50aWZpZXIpOworICAgIFVOVVNF
RF9QQVJBTShzb3VyY2VTdHJpbmcpOwogI2VuZGlmCiB9CiAKQEAgLTEyODYsNiArMTU4MCw5IEBA
IGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c2NyaXB0RXhlY3V0aW9uQmxv
Y2tlZEJ5Q1NQKFNjcmlwdEV4ZWN1dGlvCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAo
SW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdB
Z2VudHNGb3JDb250ZXh0KGNvbnRleHQpKQogICAgICAgICBzY3JpcHRFeGVjdXRpb25CbG9ja2Vk
QnlDU1BJbXBsKGluc3RydW1lbnRpbmdBZ2VudHMsIGRpcmVjdGl2ZVRleHQpOworI2Vsc2UKKyAg
ICBVTlVTRURfUEFSQU0oY29udGV4dCk7CisgICAgVU5VU0VEX1BBUkFNKGRpcmVjdGl2ZVRleHQp
OwogI2VuZGlmCiB9CiAKQEAgLTEyOTQsNiArMTU5MSw5IEBAIGlubGluZSB2b2lkIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZGlkUmVjZWl2ZVNjcmlwdFJlc3BvbnNlKFNjcmlwdEV4ZWN1dGlv
bkNvCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyog
aW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JDb250ZXh0KGNvbnRl
eHQpKQogICAgICAgICBkaWRSZWNlaXZlU2NyaXB0UmVzcG9uc2VJbXBsKGluc3RydW1lbnRpbmdB
Z2VudHMsIGlkZW50aWZpZXIpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oY29udGV4dCk7Cisg
ICAgVU5VU0VEX1BBUkFNKGlkZW50aWZpZXIpOwogI2VuZGlmCiB9CiAKQEAgLTEzMDIsNiArMTYw
Miw4IEBAIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZG9tQ29udGVudExv
YWRlZEV2ZW50RmlyZWQoRnJhbWUqIGZyYW1lKQogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAg
aWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50
aW5nQWdlbnRzRm9yRnJhbWUoZnJhbWUpKQogICAgICAgICBkb21Db250ZW50TG9hZGVkRXZlbnRG
aXJlZEltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgZnJhbWUpOworI2Vsc2UKKyAgICBVTlVTRURf
UEFSQU0oZnJhbWUpOwogI2VuZGlmCiB9CiAKQEAgLTEzMTAsNiArMTYxMiw4IEBAIGlubGluZSB2
b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6bG9hZEV2ZW50RmlyZWQoRnJhbWUqIGZyYW1l
KQogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGlu
c3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRnJhbWUoZnJhbWUpKQog
ICAgICAgICBsb2FkRXZlbnRGaXJlZEltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgZnJhbWUpOwor
I2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZnJhbWUpOwogI2VuZGlmCiB9CiAKQEAgLTEzMTgsNiAr
MTYyMiw4IEBAIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZnJhbWVEZXRh
Y2hlZEZyb21QYXJlbnQoRnJhbWUqIGZyYW1lKQogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAg
aWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50
aW5nQWdlbnRzRm9yRnJhbWUoZnJhbWUpKQogICAgICAgICBmcmFtZURldGFjaGVkRnJvbVBhcmVu
dEltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgZnJhbWUpOworI2Vsc2UKKyAgICBVTlVTRURfUEFS
QU0oZnJhbWUpOwogI2VuZGlmCiB9CiAKQEAgLTEzMzEsNiArMTYzNyw5IEBAIGlubGluZSB2b2lk
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ29tbWl0TG9hZChGcmFtZSogZnJhbWUsIERv
Y3VtZW50TG9hZGVyCiAgICAgICAgIHJldHVybjsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50
cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JQYWdlKHBhZ2Up
KQogICAgICAgICBkaWRDb21taXRMb2FkSW1wbChpbnN0cnVtZW50aW5nQWdlbnRzLCBwYWdlLCBs
b2FkZXIpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZnJhbWUpOworICAgIFVOVVNFRF9QQVJB
TShsb2FkZXIpOwogI2VuZGlmCiB9CiAKQEAgLTEzMzksNiArMTY0OCw5IEBAIGlubGluZSB2b2lk
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6bG9hZGVyRGV0YWNoZWRGcm9tRnJhbWUoRnJhbWUq
IGZyYW1lLCBEb2N1CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGlu
Z0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JGcmFt
ZShmcmFtZSkpCiAgICAgICAgIGxvYWRlckRldGFjaGVkRnJvbUZyYW1lSW1wbChpbnN0cnVtZW50
aW5nQWdlbnRzLCBsb2FkZXIpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZnJhbWUpOworICAg
IFVOVVNFRF9QQVJBTShsb2FkZXIpOwogI2VuZGlmCiB9CiAKQEAgLTEzNDcsNiArMTY1OSw4IEBA
IGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbERlc3Ryb3lDYWNoZWRS
ZXNvdXJjZShDYWNoZWRSZXNvdXJjZSoKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1Rf
UkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIHdpbGxEZXN0cm95Q2FjaGVkUmVz
b3VyY2VJbXBsKGNhY2hlZFJlc291cmNlKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGNhY2hl
ZFJlc291cmNlKTsKICNlbmRpZgogfQogCkBAIC0xMzU2LDYgKzE2NzAsMTAgQEAgaW5saW5lIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Ondp
bGxXcml0ZUhUTUwoRG8KICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFMoSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uQ29va2llKCkpOwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBp
bnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3VtZW50KGRvY3Vt
ZW50KSkKICAgICAgICAgcmV0dXJuIHdpbGxXcml0ZUhUTUxJbXBsKGluc3RydW1lbnRpbmdBZ2Vu
dHMsIGxlbmd0aCwgc3RhcnRMaW5lLCBkb2N1bWVudC0+ZnJhbWUoKSk7CisjZWxzZQorICAgIFVO
VVNFRF9QQVJBTShkb2N1bWVudCk7CisgICAgVU5VU0VEX1BBUkFNKGxlbmd0aCk7CisgICAgVU5V
U0VEX1BBUkFNKHN0YXJ0TGluZSk7CiAjZW5kaWYKICAgICByZXR1cm4gSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uQ29va2llKCk7CiB9CkBAIC0xMzY2LDYgKzE2ODQsOSBAQCBpbmxpbmUgdm9pZCBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFdyaXRlSFRNTChjb25zdCBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpbwogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAg
IGlmIChjb29raWUuZmlyc3QpCiAgICAgICAgIGRpZFdyaXRlSFRNTEltcGwoY29va2llLCBlbmRM
aW5lKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGNvb2tpZSk7CisgICAgVU5VU0VEX1BBUkFN
KGVuZExpbmUpOwogI2VuZGlmCiB9CiAKQEAgLTEzNzQsNiArMTY5NSwxMSBAQCBpbmxpbmUgdm9p
ZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFVzZURPTVN0b3JhZ2UoUGFnZSogcGFnZSwg
U3RvcmFnZUFyZWEqCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGlu
Z0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JQYWdl
KHBhZ2UpKQogICAgICAgICBkaWRVc2VET01TdG9yYWdlSW1wbChpbnN0cnVtZW50aW5nQWdlbnRz
LCBzdG9yYWdlQXJlYSwgaXNMb2NhbFN0b3JhZ2UsIGZyYW1lKTsKKyNlbHNlCisgICAgVU5VU0VE
X1BBUkFNKHBhZ2UpOworICAgIFVOVVNFRF9QQVJBTShzdG9yYWdlQXJlYSk7CisgICAgVU5VU0VE
X1BBUkFNKGlzTG9jYWxTdG9yYWdlKTsKKyAgICBVTlVTRURfUEFSQU0oZnJhbWUpOwogI2VuZGlm
CiB9CiAKQEAgLTEzODMsNiArMTcwOSwxMyBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmRpZERpc3BhdGNoRE9NU3RvcmFnZUV2ZW50KGNvbnN0IFN0cmluZyYgawogICAg
IEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIGlmIChJbnN0cnVtZW50
aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvclBh
Z2UocGFnZSkpCiAgICAgICAgIGRpZERpc3BhdGNoRE9NU3RvcmFnZUV2ZW50SW1wbChpbnN0cnVt
ZW50aW5nQWdlbnRzLCBrZXksIG9sZFZhbHVlLCBuZXdWYWx1ZSwgc3RvcmFnZVR5cGUsIHNlY3Vy
aXR5T3JpZ2luLCBwYWdlKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGtleSk7CisgICAgVU5V
U0VEX1BBUkFNKG9sZFZhbHVlKTsKKyAgICBVTlVTRURfUEFSQU0obmV3VmFsdWUpOworICAgIFVO
VVNFRF9QQVJBTShzdG9yYWdlVHlwZSk7CisgICAgVU5VU0VEX1BBUkFNKHNlY3VyaXR5T3JpZ2lu
KTsKKyAgICBVTlVTRURfUEFSQU0ocGFnZSk7CiAjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikK
IH0KIApAQCAtMTM5Myw2ICsxNzI2LDggQEAgaW5saW5lIGJvb2wgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpzaG91bGRQYXVzZURlZGljYXRlZFdvcmtlck9uU3RhcnQoU2NyaXB0RXgKICAgICBG
QVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFMoZmFsc2UpOwogICAgIGlmIChJbnN0cnVtZW50aW5n
QWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckNvbnRl
eHQoY29udGV4dCkpCiAgICAgICAgIHJldHVybiBzaG91bGRQYXVzZURlZGljYXRlZFdvcmtlck9u
U3RhcnRJbXBsKGluc3RydW1lbnRpbmdBZ2VudHMpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0o
Y29udGV4dCk7CiAjZW5kaWYKICAgICByZXR1cm4gZmFsc2U7CiB9CkBAIC0xNDAyLDYgKzE3Mzcs
MTAgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRTdGFydFdvcmtl
ckNvbnRleHQoU2NyaXB0RXhlY3V0aW9uQ29udGUKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAg
IGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVu
dGluZ0FnZW50c0ZvckNvbnRleHQoY29udGV4dCkpCiAgICAgICAgIGRpZFN0YXJ0V29ya2VyQ29u
dGV4dEltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgcHJveHksIHVybCk7CisjZWxzZQorICAgIFVO
VVNFRF9QQVJBTShjb250ZXh0KTsKKyAgICBVTlVTRURfUEFSQU0ocHJveHkpOworICAgIFVOVVNF
RF9QQVJBTSh1cmwpOwogI2VuZGlmCiB9CiAKQEAgLTE0MTAsNiArMTc0OSw5IEBAIGlubGluZSB2
b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d29ya2VyQ29udGV4dFRlcm1pbmF0ZWQoU2Ny
aXB0RXhlY3V0aW9uQ29uCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVu
dGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JD
b250ZXh0KGNvbnRleHQpKQogICAgICAgICB3b3JrZXJDb250ZXh0VGVybWluYXRlZEltcGwoaW5z
dHJ1bWVudGluZ0FnZW50cywgcHJveHkpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oY29udGV4
dCk7CisgICAgVU5VU0VEX1BBUkFNKHByb3h5KTsKICNlbmRpZgogfQogCkBAIC0xNDIyLDYgKzE3
NjQsMTEgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDcmVhdGVX
ZWJTb2NrZXQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCoKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQog
ICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1
bWVudGluZ0FnZW50c0ZvckNvbnRleHQoY29udGV4dCkpCiAgICAgICAgIGRpZENyZWF0ZVdlYlNv
Y2tldEltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgaWRlbnRpZmllciwgcmVxdWVzdFVSTCwgZG9j
dW1lbnRVUkwpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oY29udGV4dCk7CisgICAgVU5VU0VE
X1BBUkFNKGlkZW50aWZpZXIpOworICAgIFVOVVNFRF9QQVJBTShyZXF1ZXN0VVJMKTsKKyAgICBV
TlVTRURfUEFSQU0oZG9jdW1lbnRVUkwpOwogI2VuZGlmCiB9CiAKQEAgLTE0MzAsNiArMTc3Nywx
MCBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxTZW5kV2ViU29j
a2V0SGFuZHNoYWtlUmVxdWVzdChTY3JpcHRFeAogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAg
aWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50
aW5nQWdlbnRzRm9yQ29udGV4dChjb250ZXh0KSkKICAgICAgICAgd2lsbFNlbmRXZWJTb2NrZXRI
YW5kc2hha2VSZXF1ZXN0SW1wbChpbnN0cnVtZW50aW5nQWdlbnRzLCBpZGVudGlmaWVyLCByZXF1
ZXN0KTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGNvbnRleHQpOworICAgIFVOVVNFRF9QQVJB
TShpZGVudGlmaWVyKTsKKyAgICBVTlVTRURfUEFSQU0ocmVxdWVzdCk7CiAjZW5kaWYKIH0KIApA
QCAtMTQzOCw2ICsxNzg5LDEwIEBAIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6ZGlkUmVjZWl2ZVdlYlNvY2tldEhhbmRzaGFrZVJlc3BvbnNlKFNjcmlwCiAjaWYgRU5BQkxF
KElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0Fn
ZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JDb250ZXh0KGNvbnRleHQpKQogICAgICAgICBk
aWRSZWNlaXZlV2ViU29ja2V0SGFuZHNoYWtlUmVzcG9uc2VJbXBsKGluc3RydW1lbnRpbmdBZ2Vu
dHMsIGlkZW50aWZpZXIsIHJlc3BvbnNlKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGNvbnRl
eHQpOworICAgIFVOVVNFRF9QQVJBTShpZGVudGlmaWVyKTsKKyAgICBVTlVTRURfUEFSQU0ocmVz
cG9uc2UpOwogI2VuZGlmCiB9CiAKQEAgLTE0NDYsNiArMTgwMSw5IEBAIGlubGluZSB2b2lkIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ2xvc2VXZWJTb2NrZXQoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCoKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdl
bnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckNvbnRleHQo
Y29udGV4dCkpCiAgICAgICAgIGRpZENsb3NlV2ViU29ja2V0SW1wbChpbnN0cnVtZW50aW5nQWdl
bnRzLCBpZGVudGlmaWVyKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGNvbnRleHQpOworICAg
IFVOVVNFRF9QQVJBTShpZGVudGlmaWVyKTsKICNlbmRpZgogfQogaW5saW5lIHZvaWQgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZlV2ViU29ja2V0RnJhbWUoRG9jdW1lbnQqIGRv
Y3VtZW50LCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFdlYlNvY2tldEZyYW1lJiBm
cmFtZSkKQEAgLTE0NTMsNiArMTgxMSwxMCBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmRpZFJlY2VpdmVXZWJTb2NrZXRGcmFtZShEb2N1bWVudCogZG9jdW1lbgogI2lm
IEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1l
bnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRG9jdW1lbnQoZG9jdW1lbnQpKQog
ICAgICAgICBkaWRSZWNlaXZlV2ViU29ja2V0RnJhbWVJbXBsKGluc3RydW1lbnRpbmdBZ2VudHMs
IGlkZW50aWZpZXIsIGZyYW1lKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGRvY3VtZW50KTsK
KyAgICBVTlVTRURfUEFSQU0oaWRlbnRpZmllcik7CisgICAgVU5VU0VEX1BBUkFNKGZyYW1lKTsK
ICNlbmRpZgogfQogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNl
aXZlV2ViU29ja2V0RnJhbWVFcnJvcihEb2N1bWVudCogZG9jdW1lbnQsIHVuc2lnbmVkIGxvbmcg
aWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpCkBAIC0xNDYwLDYgKzE4MjIs
MTAgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZlV2Vi
U29ja2V0RnJhbWVFcnJvcihEb2N1bWVudCogZG8KICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAg
IGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVu
dGluZ0FnZW50c0ZvckRvY3VtZW50KGRvY3VtZW50KSkKICAgICAgICAgZGlkUmVjZWl2ZVdlYlNv
Y2tldEZyYW1lRXJyb3JJbXBsKGluc3RydW1lbnRpbmdBZ2VudHMsIGlkZW50aWZpZXIsIGVycm9y
TWVzc2FnZSk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShkb2N1bWVudCk7CisgICAgVU5VU0VE
X1BBUkFNKGlkZW50aWZpZXIpOworICAgIFVOVVNFRF9QQVJBTShlcnJvck1lc3NhZ2UpOwogI2Vu
ZGlmCiB9CiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFNlbmRXZWJT
b2NrZXRGcmFtZShEb2N1bWVudCogZG9jdW1lbnQsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwg
Y29uc3QgV2ViU29ja2V0RnJhbWUmIGZyYW1lKQpAQCAtMTQ2Nyw2ICsxODMzLDEwIEBAIGlubGlu
ZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkU2VuZFdlYlNvY2tldEZyYW1lKERv
Y3VtZW50KiBkb2N1bWVudCwKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVt
ZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0Zv
ckRvY3VtZW50KGRvY3VtZW50KSkKICAgICAgICAgZGlkU2VuZFdlYlNvY2tldEZyYW1lSW1wbChp
bnN0cnVtZW50aW5nQWdlbnRzLCBpZGVudGlmaWVyLCBmcmFtZSk7CisjZWxzZQorICAgIFVOVVNF
RF9QQVJBTShkb2N1bWVudCk7CisgICAgVU5VU0VEX1BBUkFNKGlkZW50aWZpZXIpOworICAgIFVO
VVNFRF9QQVJBTShmcmFtZSk7CiAjZW5kaWYKIH0KICNlbmRpZgpAQCAtMTQ3Nyw2ICsxODQ3LDgg
QEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpuZXR3b3JrU3RhdGVDaGFu
Z2VkKFBhZ2UqIHBhZ2UpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7
CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0
cnVtZW50aW5nQWdlbnRzRm9yUGFnZShwYWdlKSkKICAgICAgICAgbmV0d29ya1N0YXRlQ2hhbmdl
ZEltcGwoaW5zdHJ1bWVudGluZ0FnZW50cyk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShwYWdl
KTsKICNlbmRpZgogfQogCkBAIC0xNDg2LDYgKzE4NTgsOCBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OnVwZGF0ZUFwcGxpY2F0aW9uQ2FjaGVTdGF0dXMoRnJhbWUqIGZy
YW1lKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIGlmIChJ
bnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0Fn
ZW50c0ZvckZyYW1lKGZyYW1lKSkKICAgICAgICAgdXBkYXRlQXBwbGljYXRpb25DYWNoZVN0YXR1
c0ltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgZnJhbWUpOworI2Vsc2UKKyAgICBVTlVTRURfUEFS
QU0oZnJhbWUpOwogI2VuZGlmCiB9CiAKQEAgLTE0OTQsNiArMTg2OCw5IEBAIGlubGluZSB2b2lk
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUmVxdWVzdEFuaW1hdGlvbkZyYW1lKERvY3Vt
ZW50KiBkb2N1bWVuCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGlu
Z0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JEb2N1
bWVudChkb2N1bWVudCkpCiAgICAgICAgIGRpZFJlcXVlc3RBbmltYXRpb25GcmFtZUltcGwoaW5z
dHJ1bWVudGluZ0FnZW50cywgY2FsbGJhY2tJZCwgZG9jdW1lbnQtPmZyYW1lKCkpOworI2Vsc2UK
KyAgICBVTlVTRURfUEFSQU0oZG9jdW1lbnQpOworICAgIFVOVVNFRF9QQVJBTShjYWxsYmFja0lk
KTsKICNlbmRpZgogfQogCkBAIC0xNTAyLDYgKzE4NzksOSBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OmRpZENhbmNlbEFuaW1hdGlvbkZyYW1lKERvY3VtZW50KiBkb2N1
bWVudAogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMq
IGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRG9jdW1lbnQoZG9j
dW1lbnQpKQogICAgICAgICBkaWRDYW5jZWxBbmltYXRpb25GcmFtZUltcGwoaW5zdHJ1bWVudGlu
Z0FnZW50cywgY2FsbGJhY2tJZCwgZG9jdW1lbnQtPmZyYW1lKCkpOworI2Vsc2UKKyAgICBVTlVT
RURfUEFSQU0oZG9jdW1lbnQpOworICAgIFVOVVNFRF9QQVJBTShjYWxsYmFja0lkKTsKICNlbmRp
ZgogfQogCkBAIC0xNTEwLDYgKzE4OTAsOSBAQCBpbmxpbmUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uQ29va2llIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbEZpcmVBbmltYXRpbwogI2lm
IEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1l
bnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRG9jdW1lbnQoZG9jdW1lbnQpKQog
ICAgICAgICByZXR1cm4gd2lsbEZpcmVBbmltYXRpb25GcmFtZUltcGwoaW5zdHJ1bWVudGluZ0Fn
ZW50cywgY2FsbGJhY2tJZCwgZG9jdW1lbnQtPmZyYW1lKCkpOworI2Vsc2UKKyAgICBVTlVTRURf
UEFSQU0oZG9jdW1lbnQpOworICAgIFVOVVNFRF9QQVJBTShjYWxsYmFja0lkKTsKICNlbmRpZgog
ICAgIHJldHVybiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUoKTsKIH0KQEAgLTE1MjAs
NiArMTkwMyw4IEBAIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRmly
ZUFuaW1hdGlvbkZyYW1lKGNvbnN0IEluc3BlY3Rvckluc3RyCiAgICAgRkFTVF9SRVRVUk5fSUZf
Tk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKGNvb2tpZS5maXJzdCkKICAgICAgICAgZGlk
RmlyZUFuaW1hdGlvbkZyYW1lSW1wbChjb29raWUpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0o
Y29va2llKTsKICNlbmRpZgogfQogCkBAIC0xNTMwLDYgKzE5MTUsOCBAQCBpbmxpbmUgR2VvbG9j
YXRpb25Qb3NpdGlvbiogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpvdmVycmlkZUdlb2xvY2F0
aW9uUG9zaXRpbwogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyhwb3NpdGlvbik7CiAg
ICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVt
ZW50aW5nQWdlbnRzRm9yUGFnZShwYWdlKSkKICAgICAgICAgcmV0dXJuIG92ZXJyaWRlR2VvbG9j
YXRpb25Qb3NpdGlvbkltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgcG9zaXRpb24pOworI2Vsc2UK
KyAgICBVTlVTRURfUEFSQU0ocGFnZSk7CiAjZW5kaWYKICAgICByZXR1cm4gcG9zaXRpb247CiB9
CkBAIC0xNTQxLDYgKzE5MjgsOCBAQCBpbmxpbmUgRGV2aWNlT3JpZW50YXRpb25EYXRhKiBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246Om92ZXJyaWRlRGV2aWNlT3JpZW50YXRpbwogICAgIEZBU1Rf
UkVUVVJOX0lGX05PX0ZST05URU5EUyhkZXZpY2VPcmllbnRhdGlvbik7CiAgICAgaWYgKEluc3Ry
dW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRz
Rm9yUGFnZShwYWdlKSkKICAgICAgICAgcmV0dXJuIG92ZXJyaWRlRGV2aWNlT3JpZW50YXRpb25J
bXBsKGluc3RydW1lbnRpbmdBZ2VudHMsIGRldmljZU9yaWVudGF0aW9uKTsKKyNlbHNlCisgICAg
VU5VU0VEX1BBUkFNKHBhZ2UpOwogI2VuZGlmCiAgICAgcmV0dXJuIGRldmljZU9yaWVudGF0aW9u
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0
aW9uQ2FjaGVHcm91cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGlj
YXRpb25DYWNoZUdyb3VwLmNwcAppbmRleCBhZjJjOTUyZGE4ZGRiYTAzOWY5NDY2NDczMTJhMmY5
ZjIzZDg3MzcyLi4yZWU5ZGU4YmRjY2Y3YmQxMDFmMTllMWQxMWU2MDUzMzVlNzc0MDliIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdy
b3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25D
YWNoZUdyb3VwLmNwcApAQCAtNjIxLDYgKzYyMSw4IEBAIHZvaWQgQXBwbGljYXRpb25DYWNoZUdy
b3VwOjpkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlSGFuZGxlKiBoYW5kbGUsIGRvdWJsZSBmaW5p
CiB7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmRpZEZpbmlzaExvYWRpbmcobV9mcmFtZSwgbV9mcmFtZS0+bG9hZGVyKCktPmRvY3VtZW50TG9h
ZGVyKCksIG1fY3VycmVudFJlc291cmNlSWRlbnRpZmllciwgZmluaXNoVGltZSk7CisjZWxzZQor
ICAgIFVOVVNFRF9QQVJBTShmaW5pc2hUaW1lKTsKICNlbmRpZgogCiAgICAgaWYgKGhhbmRsZSA9
PSBtX21hbmlmZXN0SGFuZGxlKSB7CkBAIC02NTgsNiArNjYwLDggQEAgdm9pZCBBcHBsaWNhdGlv
bkNhY2hlR3JvdXA6OmRpZEZhaWwoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgY29uc3QgUmVzb3Vy
Y2VFcnJvciYKIHsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6ZGlkRmFpbExvYWRpbmcobV9mcmFtZSwgbV9mcmFtZS0+bG9hZGVyKCktPmRvY3Vt
ZW50TG9hZGVyKCksIG1fY3VycmVudFJlc291cmNlSWRlbnRpZmllciwgZXJyb3IpOworI2Vsc2UK
KyAgICBVTlVTRURfUEFSQU0oZXJyb3IpOwogI2VuZGlmCiAKICAgICBpZiAoaGFuZGxlID09IG1f
bWFuaWZlc3RIYW5kbGUpIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>