<?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>246611</bug_id>
          
          <creation_ts>2022-10-17 02:50:58 -0700</creation_ts>
          <short_desc>[MQ4] Rename MediaQueryEvaluator to LegacyMediaQueryEvaluator</short_desc>
          <delta_ts>2022-10-17 08:10:19 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>180234</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Antti Koivisto">koivisto</assigned_to>
          <cc>annulen</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kangil.han</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>philipj</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youssefdevelops</cc>
    
    <cc>y_soliman</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1906059</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-10-17 02:50:58 -0700</bug_when>
    <thetext>In preparation for a modern evaluator.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1906060</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-10-17 02:51:50 -0700</bug_when>
    <thetext>&lt;rdar://problem/101239718&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1906061</commentid>
    <comment_count>2</comment_count>
      <attachid>463025</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-10-17 02:54:33 -0700</bug_when>
    <thetext>Created attachment 463025
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1906065</commentid>
    <comment_count>3</comment_count>
      <attachid>463026</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-10-17 03:09:23 -0700</bug_when>
    <thetext>Created attachment 463026
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1906069</commentid>
    <comment_count>4</comment_count>
      <attachid>463027</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-10-17 03:56:25 -0700</bug_when>
    <thetext>Created attachment 463027
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1906111</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-10-17 06:41:34 -0700</bug_when>
    <thetext>Committed 255622@main (6cfcd648cf58): &lt;https://commits.webkit.org/255622@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 463027.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>463025</attachid>
            <date>2022-10-17 02:54:33 -0700</date>
            <delta_ts>2022-10-17 03:18:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-246611-20221017125430.patch</filename>
            <type>text/plain</type>
            <size>54219</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">RnJvbSAzM2RiNGFjYzAxMjk2NzgxYjZkMDhkN2YxMjUxNWE1NWEzMjAyZThkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnR0aSBLb2l2aXN0byA8YW50dGlAYXBwbGUuY29tPgpEYXRl
OiBNb24sIDE3IE9jdCAyMDIyIDEyOjUxOjU5ICswMzAwClN1YmplY3Q6IFtQQVRDSF0gW01RNF0g
UmVuYW1lIE1lZGlhUXVlcnlFdmFsdWF0b3IgdG8gTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvcgog
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0NjYxMSByZGFyOi8vMTAx
MjM5NzE4CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCkluIHByZXBhcmF0aW9uIGZvciBh
IG1vZGVybiBldmFsdWF0b3IuCgoqIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0OgoqIFNvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKiBTb3VyY2UvV2Vi
Q29yZS9jc3MvTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvci5jcHA6IFJlbmFtZWQgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5jcHAuCihXZWJDb3JlOjpvcGVyYXRv
cjw8KToKKFdlYkNvcmU6OmlzQWNjZXNzaWJpbGl0eVNldHRpbmdzRGVwZW5kZW50KToKKFdlYkNv
cmU6OmlzQXBwZWFyYW5jZURlcGVuZGVudCk6CihXZWJDb3JlOjptZWRpYVF1ZXJ5Vmlld3BvcnRT
dGF0ZUZvckRvY3VtZW50KToKKFdlYkNvcmU6OkxlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3I6Okxl
Z2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IpOgooV2ViQ29yZTo6TGVnYWN5TWVkaWFRdWVyeUV2YWx1
YXRvcjo6bWVkaWFUeXBlTWF0Y2ggY29uc3QpOgooV2ViQ29yZTo6TGVnYWN5TWVkaWFRdWVyeUV2
YWx1YXRvcjo6bWVkaWFUeXBlTWF0Y2hTcGVjaWZpYyBjb25zdCk6CihXZWJDb3JlOjphcHBseVJl
c3RyaWN0b3IpOgooV2ViQ29yZTo6TGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvcjo6ZXZhbHVhdGUg
Y29uc3QpOgooV2ViQ29yZTo6TGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvcjo6ZXZhbHVhdGVGb3JD
aGFuZ2VzIGNvbnN0KToKKFdlYkNvcmU6OmNvbXBhcmVWYWx1ZSk6CihXZWJDb3JlOjphc3BlY3RS
YXRpb1ZhbHVlQXNTdHJpbmcpOgooV2ViQ29yZTo6Y29tcGFyZUFzcGVjdFJhdGlvVmFsdWUpOgoo
V2ViQ29yZTo6ZG91YmxlVmFsdWUpOgooV2ViQ29yZTo6emVyb0V2YWx1YXRlKToKKFdlYkNvcmU6
Om9uZUV2YWx1YXRlKToKKFdlYkNvcmU6OmNvbG9yRXZhbHVhdGUpOgooV2ViQ29yZTo6Y29sb3JJ
bmRleEV2YWx1YXRlKToKKFdlYkNvcmU6OmNvbG9yR2FtdXRFdmFsdWF0ZSk6CihXZWJDb3JlOjpt
b25vY2hyb21lRXZhbHVhdGUpOgooV2ViQ29yZTo6aW52ZXJ0ZWRDb2xvcnNFdmFsdWF0ZSk6CihX
ZWJDb3JlOjpvcmllbnRhdGlvbkV2YWx1YXRlKToKKFdlYkNvcmU6OmFzcGVjdFJhdGlvRXZhbHVh
dGUpOgooV2ViQ29yZTo6ZGV2aWNlQXNwZWN0UmF0aW9FdmFsdWF0ZSk6CihXZWJDb3JlOjpldmFs
dWF0ZVJlc29sdXRpb24pOgooV2ViQ29yZTo6ZGV2aWNlUGl4ZWxSYXRpb0V2YWx1YXRlKToKKFdl
YkNvcmU6OnJlc29sdXRpb25FdmFsdWF0ZSk6CihXZWJDb3JlOjpkeW5hbWljUmFuZ2VFdmFsdWF0
ZSk6CihXZWJDb3JlOjpzY2FuRXZhbHVhdGUpOgooV2ViQ29yZTo6Zm9yY2VkQ29sb3JzRXZhbHVh
dGUpOgooV2ViQ29yZTo6Z3JpZEV2YWx1YXRlKToKKFdlYkNvcmU6OmNvbXB1dGVMZW5ndGgpOgoo
V2ViQ29yZTo6ZGV2aWNlSGVpZ2h0RXZhbHVhdGUpOgooV2ViQ29yZTo6ZGV2aWNlV2lkdGhFdmFs
dWF0ZSk6CihXZWJDb3JlOjpoZWlnaHRFdmFsdWF0ZSk6CihXZWJDb3JlOjp3aWR0aEV2YWx1YXRl
KToKKFdlYkNvcmU6Om1pbkNvbG9yRXZhbHVhdGUpOgooV2ViQ29yZTo6bWF4Q29sb3JFdmFsdWF0
ZSk6CihXZWJDb3JlOjptaW5Db2xvckluZGV4RXZhbHVhdGUpOgooV2ViQ29yZTo6bWF4Q29sb3JJ
bmRleEV2YWx1YXRlKToKKFdlYkNvcmU6Om1pbk1vbm9jaHJvbWVFdmFsdWF0ZSk6CihXZWJDb3Jl
OjptYXhNb25vY2hyb21lRXZhbHVhdGUpOgooV2ViQ29yZTo6bWluQXNwZWN0UmF0aW9FdmFsdWF0
ZSk6CihXZWJDb3JlOjptYXhBc3BlY3RSYXRpb0V2YWx1YXRlKToKKFdlYkNvcmU6Om1pbkRldmlj
ZUFzcGVjdFJhdGlvRXZhbHVhdGUpOgooV2ViQ29yZTo6bWF4RGV2aWNlQXNwZWN0UmF0aW9FdmFs
dWF0ZSk6CihXZWJDb3JlOjptaW5EZXZpY2VQaXhlbFJhdGlvRXZhbHVhdGUpOgooV2ViQ29yZTo6
bWF4RGV2aWNlUGl4ZWxSYXRpb0V2YWx1YXRlKToKKFdlYkNvcmU6Om1pbkhlaWdodEV2YWx1YXRl
KToKKFdlYkNvcmU6Om1heEhlaWdodEV2YWx1YXRlKToKKFdlYkNvcmU6Om1pbldpZHRoRXZhbHVh
dGUpOgooV2ViQ29yZTo6bWF4V2lkdGhFdmFsdWF0ZSk6CihXZWJDb3JlOjptaW5EZXZpY2VIZWln
aHRFdmFsdWF0ZSk6CihXZWJDb3JlOjptYXhEZXZpY2VIZWlnaHRFdmFsdWF0ZSk6CihXZWJDb3Jl
OjptaW5EZXZpY2VXaWR0aEV2YWx1YXRlKToKKFdlYkNvcmU6Om1heERldmljZVdpZHRoRXZhbHVh
dGUpOgooV2ViQ29yZTo6bWluUmVzb2x1dGlvbkV2YWx1YXRlKToKKFdlYkNvcmU6Om1heFJlc29s
dXRpb25FdmFsdWF0ZSk6CihXZWJDb3JlOjphbmltYXRpb25FdmFsdWF0ZSk6CihXZWJDb3JlOjp0
cmFuc2l0aW9uRXZhbHVhdGUpOgooV2ViQ29yZTo6dHJhbnNmb3JtMmRFdmFsdWF0ZSk6CihXZWJD
b3JlOjp0cmFuc2Zvcm0zZEV2YWx1YXRlKToKKFdlYkNvcmU6OnZpZGVvUGxheWFibGVJbmxpbmVF
dmFsdWF0ZSk6CihXZWJDb3JlOjpob3ZlckV2YWx1YXRlKToKKFdlYkNvcmU6OmFueUhvdmVyRXZh
bHVhdGUpOgooV2ViQ29yZTo6cG9pbnRlckV2YWx1YXRlKToKKFdlYkNvcmU6OmFueVBvaW50ZXJF
dmFsdWF0ZSk6CihXZWJDb3JlOjpwcmVmZXJzRGFya0ludGVyZmFjZUV2YWx1YXRlKToKKFdlYkNv
cmU6OnByZWZlcnNDb2xvclNjaGVtZUV2YWx1YXRlKToKKFdlYkNvcmU6OnByZWZlcnNDb250cmFz
dEV2YWx1YXRlKToKKFdlYkNvcmU6OnByZWZlcnNSZWR1Y2VkTW90aW9uRXZhbHVhdGUpOgooV2Vi
Q29yZTo6ZGlzcGxheU1vZGVFdmFsdWF0ZSk6CihXZWJDb3JlOjphZGQpOgooV2ViQ29yZTo6TGVn
YWN5TWVkaWFRdWVyeUV2YWx1YXRvcjo6bWVkaWFBdHRyaWJ1dGVNYXRjaGVzKToKKiBTb3VyY2Uv
V2ViQ29yZS9jc3MvTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvci5oOiBSZW5hbWVkIGZyb20gU291
cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuaC4KKFdlYkNvcmU6Ok1lZGlhUXVl
cnlEeW5hbWljUmVzdWx0czo6YXBwZW5kKToKKFdlYkNvcmU6Ok1lZGlhUXVlcnlEeW5hbWljUmVz
dWx0czo6aXNFbXB0eSBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0
LmNwcDoKKFdlYkNvcmU6Ok1lZGlhUXVlcnlMaXN0OjpldmFsdWF0ZSk6CiogU291cmNlL1dlYkNv
cmUvY3NzL01lZGlhUXVlcnlMaXN0Lmg6CiogU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlN
YXRjaGVyLmNwcDoKKFdlYkNvcmU6Ok1lZGlhUXVlcnlNYXRjaGVyOjpldmFsdWF0ZSk6CihXZWJD
b3JlOjpNZWRpYVF1ZXJ5TWF0Y2hlcjo6ZXZhbHVhdGVBbGwpOgoqIFNvdXJjZS9XZWJDb3JlL2Nz
cy9NZWRpYVF1ZXJ5TWF0Y2hlci5oOgoqIFNvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvU2l6ZXNB
dHRyaWJ1dGVQYXJzZXIuY3BwOgooV2ViQ29yZTo6U2l6ZXNBdHRyaWJ1dGVQYXJzZXI6Om1lZGlh
Q29uZGl0aW9uTWF0Y2hlcyk6CiogU291cmNlL1dlYkNvcmUvZG9tL0lubGluZVN0eWxlU2hlZXRP
d25lci5jcHA6CiogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcDoKKFdl
YkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OmJlc3RGaXRTb3VyY2VGcm9tUGljdHVyZUVsZW1lbnQp
OgooV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6ZXZhbHVhdGVEeW5hbWljTWVkaWFRdWVyeURl
cGVuZGVuY2llcyk6CiogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50Lmg6Ciog
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwOgooV2ViQ29yZTo6SFRNTExp
bmtFbGVtZW50OjptZWRpYUF0dHJpYnV0ZU1hdGNoZXMgY29uc3QpOgoqIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CihXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpz
ZWxlY3ROZXh0U291cmNlQ2hpbGQpOgoqIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1ldGFFbGVt
ZW50LmNwcDoKKFdlYkNvcmU6OkhUTUxNZXRhRWxlbWVudDo6bWVkaWFBdHRyaWJ1dGVNYXRjaGVz
KToKKiBTb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwOgoo
V2ViQ29yZTo6VG9rZW5QcmVsb2FkU2Nhbm5lcjo6U3RhcnRUYWdTY2FubmVyOjpwcm9jZXNzQXR0
cmlidXRlKToKKiBTb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUmVzb3VyY2VQcmVsb2Fk
ZXIuY3BwOgooV2ViQ29yZTo6SFRNTFJlc291cmNlUHJlbG9hZGVyOjpwcmVsb2FkKToKKiBTb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlci5jcHA6CihXZWJDb3JlOjpMaW5rTG9hZGVyOjpw
cmVsb2FkSWZOZWVkZWQpOgoqIFNvdXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVj
dG9yLmg6CihXZWJDb3JlOjpTdHlsZTo6RWxlbWVudFJ1bGVDb2xsZWN0b3I6OnNldE1lZGl1bSk6
CiogU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZURhdGEuY3BwOgoqIFNvdXJjZS9XZWJDb3JlL3N0
eWxlL1J1bGVTZXQuY3BwOgooV2ViQ29yZTo6U3R5bGU6OlJ1bGVTZXQ6OmV2YWx1YXRlRHluYW1p
Y01lZGlhUXVlcnlSdWxlcyk6CiogU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldC5oOgoqIFNv
dXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXRCdWlsZGVyLmNwcDoKKFdlYkNvcmU6OlN0eWxlOjpS
dWxlU2V0QnVpbGRlcjo6UnVsZVNldEJ1aWxkZXIpOgooV2ViQ29yZTo6U3R5bGU6OlJ1bGVTZXRC
dWlsZGVyOjpNZWRpYVF1ZXJ5Q29sbGVjdG9yOjpwdXNoQW5kRXZhbHVhdGUpOgoqIFNvdXJjZS9X
ZWJDb3JlL3N0eWxlL1J1bGVTZXRCdWlsZGVyLmg6CiogU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5
bGVJbnZhbGlkYXRvci5jcHA6CihXZWJDb3JlOjpTdHlsZTo6SW52YWxpZGF0b3I6OkludmFsaWRh
dG9yKToKKiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUludmFsaWRhdG9yLmg6CiogU291cmNl
L1dlYkNvcmUvc3R5bGUvU3R5bGVSZXNvbHZlci5jcHA6CihXZWJDb3JlOjpTdHlsZTo6UmVzb2x2
ZXI6OlJlc29sdmVyKToKKiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVJlc29sdmVyLmg6CihX
ZWJDb3JlOjpTdHlsZTo6UmVzb2x2ZXI6Om1lZGlhUXVlcnlFdmFsdWF0b3IgY29uc3QpOgoqIFNv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGUuaDoKKiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9T
dHlsZVNjb3BlUnVsZVNldHMuY3BwOgooV2ViQ29yZTo6U3R5bGU6OlNjb3BlUnVsZVNldHM6OmNv
bGxlY3RSdWxlc0Zyb21Vc2VyU3R5bGVTaGVldHMpOgooV2ViQ29yZTo6U3R5bGU6OlNjb3BlUnVs
ZVNldHM6OmV2YWx1YXRlRHluYW1pY01lZGlhUXVlcnlSdWxlcyk6CihXZWJDb3JlOjpTdHlsZTo6
U2NvcGVSdWxlU2V0czo6YXBwZW5kQXV0aG9yU3R5bGVTaGVldHMpOgoqIFNvdXJjZS9XZWJDb3Jl
L3N0eWxlL1N0eWxlU2NvcGVSdWxlU2V0cy5oOgoqIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJB
Z2VudFN0eWxlLmNwcDoKKFdlYkNvcmU6OlN0eWxlOjpzY3JlZW5FdmFsKToKKFdlYkNvcmU6OlN0
eWxlOjpwcmludEV2YWwpOgotLS0KIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0ICAgICAgICAg
ICAgICAgICAgICB8ICAyICstCiAuLi4vV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogfCAxNCArKysrKy0tLS0tCiAuLi5hdG9yLmNwcCA9PiBMZWdhY3lNZWRpYVF1ZXJ5
RXZhbHVhdG9yLmNwcH0gfCAyOCArKysrKysrKystLS0tLS0tLS0tCiAuLi52YWx1YXRvci5oID0+
IExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IuaH0gfCAgOCArKystLS0KIFNvdXJjZS9XZWJDb3Jl
L2Nzcy9NZWRpYVF1ZXJ5TGlzdC5jcHAgICAgICAgICB8ICAyICstCiBTb3VyY2UvV2ViQ29yZS9j
c3MvTWVkaWFRdWVyeUxpc3QuaCAgICAgICAgICAgfCAgNCArLS0KIFNvdXJjZS9XZWJDb3JlL2Nz
cy9NZWRpYVF1ZXJ5TWF0Y2hlci5jcHAgICAgICB8ICA2ICsrLS0KIFNvdXJjZS9XZWJDb3JlL2Nz
cy9NZWRpYVF1ZXJ5TWF0Y2hlci5oICAgICAgICB8ICAyICstCiAuLi4vY3NzL3BhcnNlci9TaXpl
c0F0dHJpYnV0ZVBhcnNlci5jcHAgICAgICAgfCAgNCArLS0KIFNvdXJjZS9XZWJDb3JlL2RvbS9J
bmxpbmVTdHlsZVNoZWV0T3duZXIuY3BwICB8ICAyICstCiBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxJbWFnZUVsZW1lbnQuY3BwICAgICAgfCAgNiArKy0tCiBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxJbWFnZUVsZW1lbnQuaCAgICAgICAgfCAgMiArLQogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
TGlua0VsZW1lbnQuY3BwICAgICAgIHwgIDQgKy0tCiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxN
ZWRpYUVsZW1lbnQuY3BwICAgICAgfCAgNCArLS0KIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
dGFFbGVtZW50LmNwcCAgICAgICB8ICA0ICstLQogLi4uL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2Fk
U2Nhbm5lci5jcHAgICAgICAgIHwgIDQgKy0tCiAuLi4vaHRtbC9wYXJzZXIvSFRNTFJlc291cmNl
UHJlbG9hZGVyLmNwcCAgICAgfCAgNyArKy0tLQogU291cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtM
b2FkZXIuY3BwICAgICAgICAgIHwgIDQgKy0tCiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9FbGVtZW50
UnVsZUNvbGxlY3Rvci5oICAgfCAgNCArLS0KIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVEYXRh
LmNwcCAgICAgICAgICAgICB8ICAxIC0KIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuY3Bw
ICAgICAgICAgICAgICB8ICA4ICsrKy0tLQogU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldC5o
ICAgICAgICAgICAgICAgIHwgIDYgKystLQogU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldEJ1
aWxkZXIuY3BwICAgICAgIHwgIDggKysrLS0tCiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0
QnVpbGRlci5oICAgICAgICAgfCAgNiArKy0tCiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUlu
dmFsaWRhdG9yLmNwcCAgICAgfCAgMiArLQogU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVJbnZh
bGlkYXRvci5oICAgICAgIHwgIDQgKy0tCiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVJlc29s
dmVyLmNwcCAgICAgICAgfCAgOCArKystLS0KIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlUmVz
b2x2ZXIuaCAgICAgICAgICB8ICA2ICsrLS0KIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2Nv
cGUuaCAgICAgICAgICAgICB8ICAyICstCiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3Bl
UnVsZVNldHMuY3BwICAgfCAgOCArKystLS0KIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2Nv
cGVSdWxlU2V0cy5oICAgICB8ICA4ICsrKy0tLQogU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFn
ZW50U3R5bGUuY3BwICAgICAgIHwgMTAgKysrLS0tLQogMzIgZmlsZXMgY2hhbmdlZCwgOTMgaW5z
ZXJ0aW9ucygrKSwgOTUgZGVsZXRpb25zKC0pCiByZW5hbWUgU291cmNlL1dlYkNvcmUvY3NzL3tN
ZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcCA9PiBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcH0g
KDk2JSkKIHJlbmFtZSBTb3VyY2UvV2ViQ29yZS9jc3Mve01lZGlhUXVlcnlFdmFsdWF0b3IuaCA9
PiBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yLmh9ICg5MiUpCgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCA4
NWQ5NjQyNjcwZDAuLjQzYTUwOTU1ZTI2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291
cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTgyNywxMCArODI3
LDEwIEBAIGNzcy9EZXByZWNhdGVkQ1NTT01WYWx1ZUxpc3QuY3BwCiBjc3MvRm9udEZhY2UuY3Bw
CiBjc3MvRm9udEZhY2VTZXQuY3BwCiBjc3MvRm9udFZhcmlhbnRCdWlsZGVyLmNwcAorY3NzL0xl
Z2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IuY3BwCiBjc3MvTWVkaWFGZWF0dXJlTmFtZXMuY3BwCiBj
c3MvTWVkaWFMaXN0LmNwcAogY3NzL01lZGlhUXVlcnkuY3BwCi1jc3MvTWVkaWFRdWVyeUV2YWx1
YXRvci5jcHAKIGNzcy9NZWRpYVF1ZXJ5RXhwcmVzc2lvbi5jcHAKIGNzcy9NZWRpYVF1ZXJ5TGlz
dC5jcHAKIGNzcy9NZWRpYVF1ZXJ5TGlzdEV2ZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGVjODcxYjNjMzRlOC4uZWMx
NDUzMWZhMzEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0xNjA0LDcgKzE2MDQsNyBAQAogCQk0REI3MTMwRDIxNkVDQjREMDA5
NkE0REQgLyogTWVkaWFSZWNvcmRlckVycm9yRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDREQjcxMzBDMjE2RUMyQkQwMDk2QTRERCAvKiBNZWRp
YVJlY29yZGVyRXJyb3JFdmVudC5oICovOyB9OwogCQk0RTE5NTkyMjBBMzlEQUJBMDAyMjBGRTUg
LyogTWVkaWFGZWF0dXJlTmFtZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDRFMTk1OTIwMEEzOURBQkEwMDIyMEZFNSAvKiBNZWRpYUZlYXR1cmVOYW1l
cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTRF
MTk1OTJBMEEzOURBQ0MwMDIyMEZFNSAvKiBNZWRpYVF1ZXJ5LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0RTE5NTkyNDBBMzlEQUNDMDAyMjBGRTUgLyog
TWVkaWFRdWVyeS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07Ci0JCTRFMTk1OTJDMEEzOURBQ0MwMDIyMEZFNSAvKiBNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0RTE5NTkyNjBB
MzlEQUNDMDAyMjBGRTUgLyogTWVkaWFRdWVyeUV2YWx1YXRvci5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTRFMTk1OTJDMEEzOURBQ0MwMDIyMEZF
NSAvKiBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0RTE5NTkyNjBBMzlEQUNDMDAyMjBGRTUgLyogTGVnYWN5
TWVkaWFRdWVyeUV2YWx1YXRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTRGMTUzNERFMTFCNTMyRUMwMDIxRkQ4NiAvKiBFZGl0aW5nQmVoYXZp
b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRGMTUz
NEREMTFCNTMyRUMwMDIxRkQ4NiAvKiBFZGl0aW5nQmVoYXZpb3IuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0RjE1MzRFMDExQjUzMzAyMDAyMUZE
ODYgLyogRWRpdGluZ0JlaGF2aW9yVHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNEYxNTM0REYxMUI1MzMwMjAwMjFGRDg2IC8qIEVkaXRpbmdCZWhh
dmlvclR5cGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk0RkE2NUE2QzExMDhBQkVEMDAyNjE1RTAgLyogTWF0aE1MU3BhY2VFbGVtZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0RkE2NUE2QTExMDhB
QkVEMDAyNjE1RTAgLyogTWF0aE1MU3BhY2VFbGVtZW50LmggKi87IH07CkBAIC05OTgyLDggKzk5
ODIsOCBAQAogCQk0RTE5NTkyMDBBMzlEQUJBMDAyMjBGRTUgLyogTWVkaWFGZWF0dXJlTmFtZXMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhRmVhdHVyZU5hbWVzLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRFMTk1OTIzMEEzOURBQ0MwMDIyMEZFNSAv
KiBNZWRpYVF1ZXJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBN
ZWRpYVF1ZXJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEUxOTU5MjQwQTM5
REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVlcnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IE1lZGlhUXVlcnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNEUxOTU5
MjUwQTM5REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVlcnlFdmFsdWF0b3IuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhUXVlcnlFdmFsdWF0b3IuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0RTE5NTkyNjBBMzlEQUNDMDAyMjBGRTUgLyogTWVk
aWFRdWVyeUV2YWx1YXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVk
aWFRdWVyeUV2YWx1YXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0RTE5NTky
NTBBMzlEQUNDMDAyMjBGRTUgLyogTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvci5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRv
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTRFMTk1OTI2MEEzOURBQ0MwMDIy
MEZFNSAvKiBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTRGMTUzNEREMTFCNTMyRUMwMDIxRkQ4NiAvKiBFZGl0aW5nQmVoYXZp
b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRWRpdGluZ0JlaGF2aW9yLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRGMTUzNERGMTFCNTMzMDIwMDIxRkQ4NiAv
KiBFZGl0aW5nQmVoYXZpb3JUeXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEVkaXRpbmdCZWhhdmlvclR5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEZB
NjVBNjkxMTA4QUJFRDAwMjYxNUUwIC8qIE1hdGhNTFNwYWNlRWxlbWVudC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXRoTUxTcGFjZUVsZW1lbnQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzAxODEsOCArMzAxODEsOCBAQAogCQlCNTMyMEQ2
ODEyMkEyNEU5MDAyRDE0NDAgLyogY29jb2EgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJ
CWNoaWxkcmVuID0gKAotCQkJCTdCQ0Q0MkRBMjcwNUM5NDkwMEVCMjEyNyAvKiBBTkdMRVV0aWxp
dGllc0NvY29hLm1tICovLAogCQkJCTdCQ0Q0MkRDMjcwNUM5NDkwMEVCMjEyNyAvKiBBTkdMRVV0
aWxpdGllc0NvY29hLmggKi8sCisJCQkJN0JDRDQyREEyNzA1Qzk0OTAwRUIyMTI3IC8qIEFOR0xF
VXRpbGl0aWVzQ29jb2EubW0gKi8sCiAJCQkJQ0RGOTk1MDEyNEMyODE0OTAwMkVBMDYyIC8qIEF1
ZGlvVHJhY2tQcml2YXRlV2ViTS5jcHAgKi8sCiAJCQkJQ0RGOTk1MDAyNEMyODE0OTAwMkVBMDYy
IC8qIEF1ZGlvVHJhY2tQcml2YXRlV2ViTS5oICovLAogCQkJCTUxNTBCNURDMjdDREYyRTAwMDRG
QzgxRSAvKiBDTVV0aWxpdGllcy5oICovLApAQCAtMzI5ODIsNiArMzI5ODIsOCBAQAogCQkJCUNE
NEUwQUZBMTFGN0JDMjcwMDlEMzgxMSAvKiBmdWxsc2NyZWVuLmNzcyAqLywKIAkJCQk5M0NBNEM5
OTA5REY5M0ZBMDBERjg2NzcgLyogaHRtbC5jc3MgKi8sCiAJCQkJRTU0Q0E2REQyNTVERTJENTAw
RjkwMUEzIC8qIGxlZ2FjeUZvcm1Db250cm9sc0lPUy5jc3MgKi8sCisJCQkJNEUxOTU5MjUwQTM5
REFDQzAwMjIwRkU1IC8qIExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IuY3BwICovLAorCQkJCTRF
MTk1OTI2MEEzOURBQ0MwMDIyMEZFNSAvKiBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yLmggKi8s
CiAJCQkJOUJFNTQ2OEUyODgwRDcyMjAwRjYzNUE0IC8qIExpbmtTdHlsZS5pZGwgKi8sCiAJCQkJ
OTNDQTRDOUEwOURGOTNGQTAwREY4Njc3IC8qIG1ha2UtY3NzLWZpbGUtYXJyYXlzLnBsICovLAog
CQkJCTkzQ0E0QzlCMDlERjkzRkEwMERGODY3NyAvKiBtYWtlcHJvcC5wbCAqLywKQEAgLTMyOTk3
LDggKzMyOTk5LDYgQEAKIAkJCQk4NUM1NkM1QjBBQTg3QUZEMDBEOTU3NTUgLyogTWVkaWFMaXN0
LmlkbCAqLywKIAkJCQk0RTE5NTkyMzBBMzlEQUNDMDAyMjBGRTUgLyogTWVkaWFRdWVyeS5jcHAg
Ki8sCiAJCQkJNEUxOTU5MjQwQTM5REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVlcnkuaCAqLywKLQkJ
CQk0RTE5NTkyNTBBMzlEQUNDMDAyMjBGRTUgLyogTWVkaWFRdWVyeUV2YWx1YXRvci5jcHAgKi8s
Ci0JCQkJNEUxOTU5MjYwQTM5REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVlcnlFdmFsdWF0b3IuaCAq
LywKIAkJCQk3Q0I1Q0EzRDFFNTI1QzZDMDBGQUVGMTMgLyogTWVkaWFRdWVyeUV4cHJlc3Npb24u
Y3BwICovLAogCQkJCTdDQjVDQTNFMUU1MjVDNkMwMEZBRUYxMyAvKiBNZWRpYVF1ZXJ5RXhwcmVz
c2lvbi5oICovLAogCQkJCUQzQTk0QTMxMTIyREFCQUMwMEEzN0JCQyAvKiBNZWRpYVF1ZXJ5TGlz
dC5jcHAgKi8sCkBAIC0zNzMwMSw2ICszNzMwMSw3IEBACiAJCQkJQkNFNzg5MTYxMTIwRDYwODAw
NjBFQ0U1IC8qIExlZ2FjeUlubGluZUl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0VB
NDg1QTA5N0Q5MzAyMDA5NEM5RTQgLyogTGVnYWN5SW5saW5lVGV4dEJveC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRTRFOTRENjEyMkZGMTU4QTAwREQxOTFGIC8qIExlZ2FjeUxpbmVMYXlvdXQuaCBp
biBIZWFkZXJzICovLAorCQkJCTRFMTk1OTJDMEEzOURBQ0MwMDIyMEZFNSAvKiBMZWdhY3lNZWRp
YVF1ZXJ5RXZhbHVhdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQk5NDkzQjZDMTFENzRCNDEyMDA4
OEU3ODAgLyogTGVnYWN5TWVkaWFRdWVyeVBhcnNlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjQ0
QTVGNTkxRkVEMzhGMjAwN0Y1OTQ0IC8qIExlZ2FjeU5TUGFzdGVib2FyZFR5cGVzLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBMTg1QjQyQTFFODIxMUExMDBEQzkxMTggLyogTGVnYWN5UHJldmlld0xv
YWRlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNzQ3OCw3ICszNzQ3OSw2IEBACiAJCQkJNTJFMkNB
RkMxOUZGMDIwNzAwMUVFQjRGIC8qIE1lZGlhUHJvZHVjZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTRFMTk1OTJBMEEzOURBQ0MwMDIyMEZFNSAvKiBNZWRpYVF1ZXJ5LmggaW4gSGVhZGVycyAqLywK
IAkJCQk5NDkzQjZCRjFENzRCNDEyMDA4OEU3ODAgLyogTWVkaWFRdWVyeUJsb2NrV2F0Y2hlci5o
IGluIEhlYWRlcnMgKi8sCi0JCQkJNEUxOTU5MkMwQTM5REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVl
cnlFdmFsdWF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDQjVDQTQwMUU1MjVDNzMwMEZBRUYx
MyAvKiBNZWRpYVF1ZXJ5RXhwcmVzc2lvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDNBOTRBMzkx
MjJEQUJBQzAwQTM3QkJDIC8qIE1lZGlhUXVlcnlMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk4
NDY1MEU3RTIzODdBRDdEMDA2MjY2RTIgLyogTWVkaWFRdWVyeUxpc3RFdmVudC5oIGluIEhlYWRl
cnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRv
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvci5jcHAK
c2ltaWxhcml0eSBpbmRleCA5NiUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNvcmUvY3NzL01lZGlh
UXVlcnlFdmFsdWF0b3IuY3BwCnJlbmFtZSB0byBTb3VyY2UvV2ViQ29yZS9jc3MvTGVnYWN5TWVk
aWFRdWVyeUV2YWx1YXRvci5jcHAKaW5kZXggODcxZWI3Y2M5MzMzLi5kMmE5ZGQ4NjJjZDUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvci5jcHAKQEAgLTI3
LDcgKzI3LDcgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiTWVkaWFR
dWVyeUV2YWx1YXRvci5oIgorI2luY2x1ZGUgIkxlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IuaCIK
IAogI2luY2x1ZGUgIkNTU0FzcGVjdFJhdGlvVmFsdWUuaCIKICNpbmNsdWRlICJDU1NQcmltaXRp
dmVWYWx1ZS5oIgpAQCAtMTA0LDMyICsxMDQsMzIgQEAgTWVkaWFRdWVyeVZpZXdwb3J0U3RhdGUg
bWVkaWFRdWVyeVZpZXdwb3J0U3RhdGVGb3JEb2N1bWVudChjb25zdCBEb2N1bWVudCYgZG9jdW0K
ICAgICByZXR1cm4geyBkb2N1bWVudC52aWV3KCktPmxheW91dFNpemUoKSwgZG9jdW1lbnQuZnJh
bWUoKS0+cGFnZVpvb21GYWN0b3IoKSwgZG9jdW1lbnQucHJpbnRpbmcoKSB9OwogfQogCi1NZWRp
YVF1ZXJ5RXZhbHVhdG9yOjpNZWRpYVF1ZXJ5RXZhbHVhdG9yKGJvb2wgbWVkaWFGZWF0dXJlUmVz
dWx0KQorTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvcjo6TGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRv
cihib29sIG1lZGlhRmVhdHVyZVJlc3VsdCkKICAgICA6IG1fZmFsbGJhY2tSZXN1bHQobWVkaWFG
ZWF0dXJlUmVzdWx0KQogewogfQogCi1NZWRpYVF1ZXJ5RXZhbHVhdG9yOjpNZWRpYVF1ZXJ5RXZh
bHVhdG9yKGNvbnN0IFN0cmluZyYgYWNjZXB0ZWRNZWRpYVR5cGUsIGJvb2wgbWVkaWFGZWF0dXJl
UmVzdWx0KQorTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvcjo6TGVnYWN5TWVkaWFRdWVyeUV2YWx1
YXRvcihjb25zdCBTdHJpbmcmIGFjY2VwdGVkTWVkaWFUeXBlLCBib29sIG1lZGlhRmVhdHVyZVJl
c3VsdCkKICAgICA6IG1fbWVkaWFUeXBlKGFjY2VwdGVkTWVkaWFUeXBlKQogICAgICwgbV9mYWxs
YmFja1Jlc3VsdChtZWRpYUZlYXR1cmVSZXN1bHQpCiB7CiB9CiAKLU1lZGlhUXVlcnlFdmFsdWF0
b3I6Ok1lZGlhUXVlcnlFdmFsdWF0b3IoY29uc3QgU3RyaW5nJiBhY2NlcHRlZE1lZGlhVHlwZSwg
Y29uc3QgRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUpCitMZWdh
Y3lNZWRpYVF1ZXJ5RXZhbHVhdG9yOjpMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yKGNvbnN0IFN0
cmluZyYgYWNjZXB0ZWRNZWRpYVR5cGUsIGNvbnN0IERvY3VtZW50JiBkb2N1bWVudCwgY29uc3Qg
UmVuZGVyU3R5bGUqIHN0eWxlKQogICAgIDogbV9tZWRpYVR5cGUoYWNjZXB0ZWRNZWRpYVR5cGUp
CiAgICAgLCBtX2RvY3VtZW50KGRvY3VtZW50KQogICAgICwgbV9zdHlsZShzdHlsZSkKIHsKIH0K
IAotYm9vbCBNZWRpYVF1ZXJ5RXZhbHVhdG9yOjptZWRpYVR5cGVNYXRjaChjb25zdCBTdHJpbmcm
IG1lZGlhVHlwZVRvTWF0Y2gpIGNvbnN0Citib29sIExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3I6
Om1lZGlhVHlwZU1hdGNoKGNvbnN0IFN0cmluZyYgbWVkaWFUeXBlVG9NYXRjaCkgY29uc3QKIHsK
ICAgICByZXR1cm4gbWVkaWFUeXBlVG9NYXRjaC5pc0VtcHR5KCkKICAgICAgICAgfHwgZXF1YWxM
ZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UobWVkaWFUeXBlVG9NYXRjaCwgImFsbCJfcykKICAgICAg
ICAgfHwgZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShtZWRpYVR5cGVUb01hdGNoLCBtX21lZGlhVHlw
ZSk7CiB9CiAKLWJvb2wgTWVkaWFRdWVyeUV2YWx1YXRvcjo6bWVkaWFUeXBlTWF0Y2hTcGVjaWZp
YyhBU0NJSUxpdGVyYWwgbWVkaWFUeXBlVG9NYXRjaCkgY29uc3QKK2Jvb2wgTGVnYWN5TWVkaWFR
dWVyeUV2YWx1YXRvcjo6bWVkaWFUeXBlTWF0Y2hTcGVjaWZpYyhBU0NJSUxpdGVyYWwgbWVkaWFU
eXBlVG9NYXRjaCkgY29uc3QKIHsKICAgICAvLyBMaWtlIG1lZGlhVHlwZU1hdGNoLCBidXQgd2l0
aG91dCB0aGUgc3BlY2lhbCBjYXNlcyBmb3IgIiIgYW5kICJhbGwiLgogICAgIEFTU0VSVCghbWVk
aWFUeXBlVG9NYXRjaC5pc051bGwoKSk7CkBAIC0xNDMsMTMgKzE0MywxMyBAQCBzdGF0aWMgYm9v
bCBhcHBseVJlc3RyaWN0b3IoTWVkaWFRdWVyeTo6UmVzdHJpY3RvciByLCBib29sIHZhbHVlKQog
ICAgIHJldHVybiByID09IE1lZGlhUXVlcnk6Ok5vdCA/ICF2YWx1ZSA6IHZhbHVlOwogfQogCi1i
b29sIE1lZGlhUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlKGNvbnN0IE1lZGlhUXVlcnlTZXQmIHF1
ZXJ5U2V0LCBNZWRpYVF1ZXJ5RHluYW1pY1Jlc3VsdHMqIGR5bmFtaWNSZXN1bHRzLCBNb2RlIG1v
ZGUpIGNvbnN0Citib29sIExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlKGNvbnN0
IE1lZGlhUXVlcnlTZXQmIHF1ZXJ5U2V0LCBNZWRpYVF1ZXJ5RHluYW1pY1Jlc3VsdHMqIGR5bmFt
aWNSZXN1bHRzLCBNb2RlIG1vZGUpIGNvbnN0CiB7Ci0gICAgTE9HX1dJVEhfU1RSRUFNKE1lZGlh
UXVlcmllcywgc3RyZWFtIDw8ICJNZWRpYVF1ZXJ5RXZhbHVhdG9yOjpldmFsdWF0ZSBvbiAiIDw8
IChtX2RvY3VtZW50ID8gbV9kb2N1bWVudC0+dXJsKCkuc3RyaW5nKCkgOiBlbXB0eVN0cmluZygp
KSk7CisgICAgTE9HX1dJVEhfU1RSRUFNKE1lZGlhUXVlcmllcywgc3RyZWFtIDw8ICJMZWdhY3lN
ZWRpYVF1ZXJ5RXZhbHVhdG9yOjpldmFsdWF0ZSBvbiAiIDw8IChtX2RvY3VtZW50ID8gbV9kb2N1
bWVudC0+dXJsKCkuc3RyaW5nKCkgOiBlbXB0eVN0cmluZygpKSk7CiAKICAgICBhdXRvJiBxdWVy
aWVzID0gcXVlcnlTZXQucXVlcnlWZWN0b3IoKTsKICAgICBpZiAoIXF1ZXJpZXMuc2l6ZSgpKSB7
Ci0gICAgICAgIExPR19XSVRIX1NUUkVBTShNZWRpYVF1ZXJpZXMsIHN0cmVhbSA8PCAiTWVkaWFR
dWVyeUV2YWx1YXRvcjo6ZXZhbHVhdGUgIiA8PCBxdWVyeVNldCA8PCAiIHJldHVybmluZyB0cnVl
Iik7CisgICAgICAgIExPR19XSVRIX1NUUkVBTShNZWRpYVF1ZXJpZXMsIHN0cmVhbSA8PCAiTGVn
YWN5TWVkaWFRdWVyeUV2YWx1YXRvcjo6ZXZhbHVhdGUgIiA8PCBxdWVyeVNldCA8PCAiIHJldHVy
bmluZyB0cnVlIik7CiAgICAgICAgIHJldHVybiB0cnVlOyAvLyBFbXB0eSBxdWVyeSBsaXN0IGV2
YWx1YXRlcyB0byB0cnVlLgogICAgIH0KIApAQCAtMjAwLDExICsyMDAsMTEgQEAgYm9vbCBNZWRp
YVF1ZXJ5RXZhbHVhdG9yOjpldmFsdWF0ZShjb25zdCBNZWRpYVF1ZXJ5U2V0JiBxdWVyeVNldCwg
TWVkaWFRdWVyeUR5bmEKICAgICAgICAgICAgIHJlc3VsdCA9IGFwcGx5UmVzdHJpY3RvcihxdWVy
eS5yZXN0cmljdG9yKCksIGZhbHNlKTsKICAgICB9CiAKLSAgICBMT0dfV0lUSF9TVFJFQU0oTWVk
aWFRdWVyaWVzLCBzdHJlYW0gPDwgIk1lZGlhUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlICIgPDwg
cXVlcnlTZXQgPDwgIiByZXR1cm5pbmcgIiA8PCByZXN1bHQpOworICAgIExPR19XSVRIX1NUUkVB
TShNZWRpYVF1ZXJpZXMsIHN0cmVhbSA8PCAiTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvcjo6ZXZh
bHVhdGUgIiA8PCBxdWVyeVNldCA8PCAiIHJldHVybmluZyAiIDw8IHJlc3VsdCk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIAotYm9vbCBNZWRpYVF1ZXJ5RXZhbHVhdG9yOjpldmFsdWF0ZUZvckNo
YW5nZXMoY29uc3QgTWVkaWFRdWVyeUR5bmFtaWNSZXN1bHRzJiBkeW5hbWljUmVzdWx0cykgY29u
c3QKK2Jvb2wgTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvcjo6ZXZhbHVhdGVGb3JDaGFuZ2VzKGNv
bnN0IE1lZGlhUXVlcnlEeW5hbWljUmVzdWx0cyYgZHluYW1pY1Jlc3VsdHMpIGNvbnN0CiB7CiAg
ICAgYXV0byBoYXNDaGFuZ2VzID0gWyZdKGF1dG8mIGR5bmFtaWNSZXN1bHRzVmVjdG9yKSB7CiAg
ICAgICAgIGZvciAoYXV0byYgZHluYW1pY1Jlc3VsdCA6IGR5bmFtaWNSZXN1bHRzVmVjdG9yKSB7
CkBAIC05MjcsNyArOTI3LDcgQEAgc3RhdGljIHZvaWQgYWRkKE1lZGlhUXVlcnlGdW5jdGlvbk1h
cCYgbWFwLCBBdG9tU3RyaW5nSW1wbCoga2V5LCBNZWRpYVF1ZXJ5RnVuY3QKICAgICBtYXAuYWRk
KGtleSwgdmFsdWUpOwogfQogCi1ib29sIE1lZGlhUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlKGNv
bnN0IE1lZGlhUXVlcnlFeHByZXNzaW9uJiBleHByZXNzaW9uKSBjb25zdAorYm9vbCBMZWdhY3lN
ZWRpYVF1ZXJ5RXZhbHVhdG9yOjpldmFsdWF0ZShjb25zdCBNZWRpYVF1ZXJ5RXhwcmVzc2lvbiYg
ZXhwcmVzc2lvbikgY29uc3QKIHsKICAgICBpZiAoIW1fZG9jdW1lbnQpCiAgICAgICAgIHJldHVy
biBtX2ZhbGxiYWNrUmVzdWx0OwpAQCAtOTY3LDExICs5NjcsMTEgQEAgYm9vbCBNZWRpYVF1ZXJ5
RXZhbHVhdG9yOjpldmFsdWF0ZShjb25zdCBNZWRpYVF1ZXJ5RXhwcmVzc2lvbiYgZXhwcmVzc2lv
bikgY29uc3QKICAgICByZXR1cm4gZnVuY3Rpb24oZXhwcmVzc2lvbi52YWx1ZSgpLCB7ICptX3N0
eWxlLCAmZGVmYXVsdFN0eWxlLCBudWxscHRyLCBkb2N1bWVudC5yZW5kZXJWaWV3KCkgfSwgKmZy
YW1lLCBOb1ByZWZpeCk7CiB9CiAKLWJvb2wgTWVkaWFRdWVyeUV2YWx1YXRvcjo6bWVkaWFBdHRy
aWJ1dGVNYXRjaGVzKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU3RyaW5nJiBhdHRyaWJ1dGVW
YWx1ZSkKK2Jvb2wgTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvcjo6bWVkaWFBdHRyaWJ1dGVNYXRj
aGVzKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU3RyaW5nJiBhdHRyaWJ1dGVWYWx1ZSkKIHsK
ICAgICBBU1NFUlQoZG9jdW1lbnQucmVuZGVyVmlldygpKTsKICAgICBhdXRvIG1lZGlhUXVlcmll
cyA9IE1lZGlhUXVlcnlTZXQ6OmNyZWF0ZShhdHRyaWJ1dGVWYWx1ZSwgTWVkaWFRdWVyeVBhcnNl
ckNvbnRleHQoZG9jdW1lbnQpKTsKLSAgICByZXR1cm4gTWVkaWFRdWVyeUV2YWx1YXRvciB7ICJz
Y3JlZW4iX3MsIGRvY3VtZW50LCAmZG9jdW1lbnQucmVuZGVyVmlldygpLT5zdHlsZSgpIH0uZXZh
bHVhdGUobWVkaWFRdWVyaWVzLmdldCgpKTsKKyAgICByZXR1cm4gTGVnYWN5TWVkaWFRdWVyeUV2
YWx1YXRvciB7ICJzY3JlZW4iX3MsIGRvY3VtZW50LCAmZG9jdW1lbnQucmVuZGVyVmlldygpLT5z
dHlsZSgpIH0uZXZhbHVhdGUobWVkaWFRdWVyaWVzLmdldCgpKTsKIH0KIAogfSAvLyBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5oIGIv
U291cmNlL1dlYkNvcmUvY3NzL0xlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IuaApzaW1pbGFyaXR5
IGluZGV4IDkyJQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1
YXRvci5oCnJlbmFtZSB0byBTb3VyY2UvV2ViQ29yZS9jc3MvTGVnYWN5TWVkaWFRdWVyeUV2YWx1
YXRvci5oCmluZGV4IGVjMTI1ZjFjOWJmMi4uODJmNjE2YjdhNjE5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9MZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgKQEAgLTY0LDE4ICs2NCwxOCBAQCBNZWRp
YVF1ZXJ5Vmlld3BvcnRTdGF0ZSBtZWRpYVF1ZXJ5Vmlld3BvcnRTdGF0ZUZvckRvY3VtZW50KGNv
bnN0IERvY3VtZW50Jik7CiAvLyBTb21lIG9mIHRoZSBjb25zdHJ1Y3RvcnMgYXJlIHVzZWQgZm9y
IGNhc2VzIHdoZXJlIHRoZSBkZXZpY2UgY2hhcmFjdGVyaXN0aWNzIGFyZSBub3Qga25vd24uCiAv
LyBUaGVzZSAgY2FuIGJlIHVzZWQgdG8gcHJ1bmUgdGhlIGxvYWRpbmcgb2Ygc3R5bGVzaGVldHMg
dG8gb25seSB0aG9zZSB3aGljaCBhcmUgbm90IGFscmVhZHkga25vd24gdG8gbm90IG1hdGNoLgog
Ci1jbGFzcyBNZWRpYVF1ZXJ5RXZhbHVhdG9yIHsKK2NsYXNzIExlZ2FjeU1lZGlhUXVlcnlFdmFs
dWF0b3IgewogcHVibGljOgogICAgIC8vIENyZWF0ZXMgZXZhbHVhdG9yIHdoaWNoIGV2YWx1YXRl
cyBvbmx5IHNpbXBsZSBtZWRpYSBxdWVyaWVzLgogICAgIC8vIEV2YWx1YXRvciByZXR1cm5zIHRy
dWUgZm9yICJhbGwiLCBhbmQgcmV0dXJucyB2YWx1ZSBvZiBcbWVkaWFGZWF0dXJlUmVzdWx0IGZv
ciBhbnkgbWVkaWEgZmVhdHVyZXMuCi0gICAgZXhwbGljaXQgTWVkaWFRdWVyeUV2YWx1YXRvcihi
b29sIG1lZGlhRmVhdHVyZVJlc3VsdCA9IGZhbHNlKTsKKyAgICBleHBsaWNpdCBMZWdhY3lNZWRp
YVF1ZXJ5RXZhbHVhdG9yKGJvb2wgbWVkaWFGZWF0dXJlUmVzdWx0ID0gZmFsc2UpOwogCiAgICAg
Ly8gQ3JlYXRlcyBldmFsdWF0b3Igd2hpY2ggZXZhbHVhdGVzIG9ubHkgc2ltcGxlIG1lZGlhIHF1
ZXJpZXMuCiAgICAgLy8gRXZhbHVhdG9yIHJldHVybnMgdHJ1ZSBmb3IgYWNjZXB0ZWRNZWRpYVR5
cGUgYW5kIHJldHVybnMgdmFsdWUgb2YgXG1lZGlhRmVhdHVyZVJlc3VsdCBmb3IgYW55IG1lZGlh
IGZlYXR1cmVzLgotICAgIE1lZGlhUXVlcnlFdmFsdWF0b3IoY29uc3QgU3RyaW5nJiBhY2NlcHRl
ZE1lZGlhVHlwZSwgYm9vbCBtZWRpYUZlYXR1cmVSZXN1bHQgPSBmYWxzZSk7CisgICAgTGVnYWN5
TWVkaWFRdWVyeUV2YWx1YXRvcihjb25zdCBTdHJpbmcmIGFjY2VwdGVkTWVkaWFUeXBlLCBib29s
IG1lZGlhRmVhdHVyZVJlc3VsdCA9IGZhbHNlKTsKIAogICAgIC8vIENyZWF0ZXMgZXZhbHVhdG9y
IHdoaWNoIGV2YWx1YXRlcyBmdWxsIG1lZGlhIHF1ZXJpZXMuCi0gICAgV0VCQ09SRV9FWFBPUlQg
TWVkaWFRdWVyeUV2YWx1YXRvcihjb25zdCBTdHJpbmcmIGFjY2VwdGVkTWVkaWFUeXBlLCBjb25z
dCBEb2N1bWVudCYsIGNvbnN0IFJlbmRlclN0eWxlKik7CisgICAgV0VCQ09SRV9FWFBPUlQgTGVn
YWN5TWVkaWFRdWVyeUV2YWx1YXRvcihjb25zdCBTdHJpbmcmIGFjY2VwdGVkTWVkaWFUeXBlLCBj
b25zdCBEb2N1bWVudCYsIGNvbnN0IFJlbmRlclN0eWxlKik7CiAKICAgICBib29sIG1lZGlhVHlw
ZU1hdGNoKGNvbnN0IFN0cmluZyYgbWVkaWFUeXBlVG9NYXRjaCkgY29uc3Q7CiAgICAgYm9vbCBt
ZWRpYVR5cGVNYXRjaFNwZWNpZmljKEFTQ0lJTGl0ZXJhbCBtZWRpYVR5cGVUb01hdGNoKSBjb25z
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3QuY3BwCmluZGV4IDdkOWNmM2RlNTM1Ny4u
MjRiMmVmZGRmYmRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxp
c3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5jcHAKQEAgLTgx
LDcgKzgxLDcgQEAgdm9pZCBNZWRpYVF1ZXJ5TGlzdDo6cmVtb3ZlTGlzdGVuZXIoUmVmUHRyPEV2
ZW50TGlzdGVuZXI+JiYgbGlzdGVuZXIpCiAgICAgcmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudE5h
bWVzKCkuY2hhbmdlRXZlbnQsICpsaXN0ZW5lciwgeyB9KTsKIH0KIAotdm9pZCBNZWRpYVF1ZXJ5
TGlzdDo6ZXZhbHVhdGUoTWVkaWFRdWVyeUV2YWx1YXRvciYgZXZhbHVhdG9yLCBNZWRpYVF1ZXJ5
TWF0Y2hlcjo6RXZlbnRNb2RlIGV2ZW50TW9kZSkKK3ZvaWQgTWVkaWFRdWVyeUxpc3Q6OmV2YWx1
YXRlKExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3ImIGV2YWx1YXRvciwgTWVkaWFRdWVyeU1hdGNo
ZXI6OkV2ZW50TW9kZSBldmVudE1vZGUpCiB7CiAgICAgUkVMRUFTRV9BU1NFUlQobV9tYXRjaGVy
KTsKICAgICBpZiAobV9ldmFsdWF0aW9uUm91bmQgIT0gbV9tYXRjaGVyLT5ldmFsdWF0aW9uUm91
bmQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5oIGIv
U291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0LmgKaW5kZXggNWE2M2U3Y2JmN2ZiLi5h
ZGZiYjYwNTg4YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlz
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5oCkBAIC0yMSw4ICsy
MSw4IEBACiAKICNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKICNpbmNsdWRlICJFdmVudFRh
cmdldC5oIgorI2luY2x1ZGUgIkxlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKICNpbmNsdWRl
ICJNZWRpYUxpc3QuaCIKLSNpbmNsdWRlICJNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCiAjaW5jbHVk
ZSAiTWVkaWFRdWVyeU1hdGNoZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDQsNyAr
NDQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBhZGRMaXN0ZW5lcihSZWZQdHI8RXZlbnRMaXN0ZW5l
cj4mJik7CiAgICAgdm9pZCByZW1vdmVMaXN0ZW5lcihSZWZQdHI8RXZlbnRMaXN0ZW5lcj4mJik7
CiAKLSAgICB2b2lkIGV2YWx1YXRlKE1lZGlhUXVlcnlFdmFsdWF0b3ImLCBNZWRpYVF1ZXJ5TWF0
Y2hlcjo6RXZlbnRNb2RlKTsKKyAgICB2b2lkIGV2YWx1YXRlKExlZ2FjeU1lZGlhUXVlcnlFdmFs
dWF0b3ImLCBNZWRpYVF1ZXJ5TWF0Y2hlcjo6RXZlbnRNb2RlKTsKIAogICAgIHZvaWQgZGV0YWNo
RnJvbU1hdGNoZXIoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVl
cnlNYXRjaGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TWF0Y2hlci5jcHAK
aW5kZXggODg2NzkyZWQ5M2QyLi41OTMwZWI4MzU0ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9NZWRpYVF1ZXJ5TWF0Y2hlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01l
ZGlhUXVlcnlNYXRjaGVyLmNwcApAQCAtMjQsOSArMjQsOSBAQAogI2luY2x1ZGUgIkV2ZW50TmFt
ZXMuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgorI2luY2x1
ZGUgIkxlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAj
aW5jbHVkZSAiTWVkaWFMaXN0LmgiCi0jaW5jbHVkZSAiTWVkaWFRdWVyeUV2YWx1YXRvci5oIgog
I2luY2x1ZGUgIk1lZGlhUXVlcnlMaXN0LmgiCiAjaW5jbHVkZSAiTWVkaWFRdWVyeVBhcnNlckNv
bnRleHQuaCIKICNpbmNsdWRlICJOb2RlUmVuZGVyU3R5bGUuaCIKQEAgLTc5LDcgKzc5LDcgQEAg
Ym9vbCBNZWRpYVF1ZXJ5TWF0Y2hlcjo6ZXZhbHVhdGUoY29uc3QgTWVkaWFRdWVyeVNldCYgbWVk
aWEpCiAgICAgYXV0byBzdHlsZSA9IGRvY3VtZW50RWxlbWVudFVzZXJBZ2VudFN0eWxlKCk7CiAg
ICAgaWYgKCFzdHlsZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJldHVybiBNZWRpYVF1
ZXJ5RXZhbHVhdG9yIHsgbWVkaWFUeXBlKCksICptX2RvY3VtZW50LCBzdHlsZS5nZXQoKSB9LmV2
YWx1YXRlKG1lZGlhKTsKKyAgICByZXR1cm4gTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvciB7IG1l
ZGlhVHlwZSgpLCAqbV9kb2N1bWVudCwgc3R5bGUuZ2V0KCkgfS5ldmFsdWF0ZShtZWRpYSk7CiB9
CiAKIHZvaWQgTWVkaWFRdWVyeU1hdGNoZXI6OmFkZE1lZGlhUXVlcnlMaXN0KE1lZGlhUXVlcnlM
aXN0JiBsaXN0KQpAQCAtMTE1LDcgKzExNSw3IEBAIHZvaWQgTWVkaWFRdWVyeU1hdGNoZXI6OmV2
YWx1YXRlQWxsKEV2ZW50TW9kZSBldmVudE1vZGUpCiAKICAgICBMT0dfV0lUSF9TVFJFQU0oTWVk
aWFRdWVyaWVzLCBzdHJlYW0gPDwgIk1lZGlhUXVlcnlNYXRjaGVyOjpzdHlsZVJlc29sdmVyQ2hh
bmdlZCAiIDw8IG1fZG9jdW1lbnQtPnVybCgpKTsKIAotICAgIE1lZGlhUXVlcnlFdmFsdWF0b3Ig
ZXZhbHVhdG9yIHsgbWVkaWFUeXBlKCksICptX2RvY3VtZW50LCBzdHlsZS5nZXQoKSB9OworICAg
IExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IgZXZhbHVhdG9yIHsgbWVkaWFUeXBlKCksICptX2Rv
Y3VtZW50LCBzdHlsZS5nZXQoKSB9OwogCiAgICAgYXV0byBtZWRpYVF1ZXJ5TGlzdHMgPSBtX21l
ZGlhUXVlcnlMaXN0czsKICAgICBmb3IgKGF1dG8mIGxpc3QgOiBtZWRpYVF1ZXJ5TGlzdHMpIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TWF0Y2hlci5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlNYXRjaGVyLmgKaW5kZXggMGM5Y2NhNzE4MGUyLi44
MzQ0OGZmZmJhNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TWF0
Y2hlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TWF0Y2hlci5oCkBAIC0y
OSw3ICsyOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7CiBjbGFz
cyBNZWRpYVF1ZXJ5TGlzdDsKLWNsYXNzIE1lZGlhUXVlcnlFdmFsdWF0b3I7CitjbGFzcyBMZWdh
Y3lNZWRpYVF1ZXJ5RXZhbHVhdG9yOwogY2xhc3MgTWVkaWFRdWVyeVNldDsKIGNsYXNzIFJlbmRl
clN0eWxlOwogY2xhc3MgV2Vha1B0ckltcGxXaXRoRXZlbnRUYXJnZXREYXRhOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9TaXplc0F0dHJpYnV0ZVBhcnNlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL1NpemVzQXR0cmlidXRlUGFyc2VyLmNwcAppbmRleCA1
YjY4MzQ2YzVjMDIuLjI1YTE5OTc5YTdlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L3BhcnNlci9TaXplc0F0dHJpYnV0ZVBhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L3BhcnNlci9TaXplc0F0dHJpYnV0ZVBhcnNlci5jcHAKQEAgLTM0LDkgKzM0LDkgQEAKICNpbmNs
dWRlICJDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhLmgiCiAjaW5jbHVkZSAiQ1NTVG9rZW5pemVy
LmgiCiAjaW5jbHVkZSAiRm9udENhc2NhZGUuaCIKKyNpbmNsdWRlICJMZWdhY3lNZWRpYVF1ZXJ5
RXZhbHVhdG9yLmgiCiAjaW5jbHVkZSAiTGVnYWN5TWVkaWFRdWVyeVBhcnNlci5oIgogI2luY2x1
ZGUgIk1lZGlhTGlzdC5oIgotI2luY2x1ZGUgIk1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKICNpbmNs
dWRlICJNZWRpYVF1ZXJ5UGFyc2VyQ29udGV4dC5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIK
ICNpbmNsdWRlICJTaXplc0NhbGNQYXJzZXIuaCIKQEAgLTExMiw3ICsxMTIsNyBAQCBib29sIFNp
emVzQXR0cmlidXRlUGFyc2VyOjptZWRpYUNvbmRpdGlvbk1hdGNoZXMoY29uc3QgTWVkaWFRdWVy
eVNldCYgbWVkaWFDb25kaQogICAgIGlmICghcmVuZGVyZXIpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICBhdXRvJiBzdHlsZSA9IHJlbmRlcmVyLT5zdHlsZSgpOwotICAgIHJldHVybiBNZWRp
YVF1ZXJ5RXZhbHVhdG9yIHsgInNjcmVlbiJfcywgbV9kb2N1bWVudCwgJnN0eWxlIH0uZXZhbHVh
dGUobWVkaWFDb25kaXRpb24sIG1fbWVkaWFRdWVyeUR5bmFtaWNSZXN1bHRzKTsKKyAgICByZXR1
cm4gTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvciB7ICJzY3JlZW4iX3MsIG1fZG9jdW1lbnQsICZz
dHlsZSB9LmV2YWx1YXRlKG1lZGlhQ29uZGl0aW9uLCBtX21lZGlhUXVlcnlEeW5hbWljUmVzdWx0
cyk7CiB9CiAKIGJvb2wgU2l6ZXNBdHRyaWJ1dGVQYXJzZXI6OnBhcnNlKENTU1BhcnNlclRva2Vu
UmFuZ2UgcmFuZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vSW5saW5lU3R5bGVT
aGVldE93bmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9JbmxpbmVTdHlsZVNoZWV0T3duZXIu
Y3BwCmluZGV4IGQ3OTU5OTViZmE2OS4uNWI3OWMxN2JjNzc0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vSW5saW5lU3R5bGVTaGVldE93bmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vSW5saW5lU3R5bGVTaGVldE93bmVyLmNwcApAQCAtMjQsOSArMjQsOSBAQAogI2luY2x1
ZGUgIkNvbW1vbkF0b21TdHJpbmdzLmgiCiAjaW5jbHVkZSAiQ29udGVudFNlY3VyaXR5UG9saWN5
LmgiCiAjaW5jbHVkZSAiRWxlbWVudElubGluZXMuaCIKKyNpbmNsdWRlICJMZWdhY3lNZWRpYVF1
ZXJ5RXZhbHVhdG9yLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk1lZGlhTGlz
dC5oIgotI2luY2x1ZGUgIk1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKICNpbmNsdWRlICJNZWRpYVF1
ZXJ5UGFyc2VyQ29udGV4dC5oIgogI2luY2x1ZGUgIlNjcmlwdGFibGVEb2N1bWVudFBhcnNlci5o
IgogI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEltYWdlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVs
ZW1lbnQuY3BwCmluZGV4IDliMTc0NDA0Yzc2Mi4uNjM4YTdlODhhYjczIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKQEAgLTQ2LDEwICs0NiwxMCBAQAogI2luY2x1
ZGUgIkhUTUxTb3VyY2VFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTFNyY3NldFBhcnNlci5oIgog
I2luY2x1ZGUgIkxhenlMb2FkSW1hZ2VPYnNlcnZlci5oIgorI2luY2x1ZGUgIkxlZ2FjeU1lZGlh
UXVlcnlFdmFsdWF0b3IuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTUlNRVR5
cGVSZWdpc3RyeS5oIgogI2luY2x1ZGUgIk1lZGlhTGlzdC5oIgotI2luY2x1ZGUgIk1lZGlhUXVl
cnlFdmFsdWF0b3IuaCIKICNpbmNsdWRlICJNb3VzZUV2ZW50LmgiCiAjaW5jbHVkZSAiTm9kZVRy
YXZlcnNhbC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTW91c2VFdmVudC5oIgpAQCAtMjI1LDcgKzIy
NSw3IEBAIEltYWdlQ2FuZGlkYXRlIEhUTUxJbWFnZUVsZW1lbnQ6OmJlc3RGaXRTb3VyY2VGcm9t
UGljdHVyZUVsZW1lbnQoKQogICAgICAgICB9CiAKICAgICAgICAgUmVmUHRyIGRvY3VtZW50RWxl
bWVudCA9IGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCk7Ci0gICAgICAgIE1lZGlhUXVlcnlF
dmFsdWF0b3IgZXZhbHVhdG9yIHsgZG9jdW1lbnQoKS5wcmludGluZygpID8gInByaW50Il9zIDog
InNjcmVlbiJfcywgZG9jdW1lbnQoKSwgZG9jdW1lbnRFbGVtZW50ID8gZG9jdW1lbnRFbGVtZW50
LT5jb21wdXRlZFN0eWxlKCkgOiBudWxscHRyIH07CisgICAgICAgIExlZ2FjeU1lZGlhUXVlcnlF
dmFsdWF0b3IgZXZhbHVhdG9yIHsgZG9jdW1lbnQoKS5wcmludGluZygpID8gInByaW50Il9zIDog
InNjcmVlbiJfcywgZG9jdW1lbnQoKSwgZG9jdW1lbnRFbGVtZW50ID8gZG9jdW1lbnRFbGVtZW50
LT5jb21wdXRlZFN0eWxlKCkgOiBudWxscHRyIH07CiAgICAgICAgIGF1dG8qIHF1ZXJpZXMgPSBz
b3VyY2UucGFyc2VkTWVkaWFBdHRyaWJ1dGUoZG9jdW1lbnQoKSk7CiAgICAgICAgIExPRyhNZWRp
YVF1ZXJpZXMsICJIVE1MSW1hZ2VFbGVtZW50ICVwIGJlc3RGaXRTb3VyY2VGcm9tUGljdHVyZUVs
ZW1lbnQgZXZhbHVhdGluZyBtZWRpYSBxdWVyaWVzIiwgdGhpcyk7CiAKQEAgLTI0OSw3ICsyNDks
NyBAQCBJbWFnZUNhbmRpZGF0ZSBIVE1MSW1hZ2VFbGVtZW50OjpiZXN0Rml0U291cmNlRnJvbVBp
Y3R1cmVFbGVtZW50KCkKIHZvaWQgSFRNTEltYWdlRWxlbWVudDo6ZXZhbHVhdGVEeW5hbWljTWVk
aWFRdWVyeURlcGVuZGVuY2llcygpCiB7CiAgICAgUmVmUHRyIGRvY3VtZW50RWxlbWVudCA9IGRv
Y3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCk7Ci0gICAgTWVkaWFRdWVyeUV2YWx1YXRvciBldmFs
dWF0b3IgeyBkb2N1bWVudCgpLnByaW50aW5nKCkgPyAicHJpbnQiX3MgOiAic2NyZWVuIl9zLCBk
b2N1bWVudCgpLCBkb2N1bWVudEVsZW1lbnQgPyBkb2N1bWVudEVsZW1lbnQtPmNvbXB1dGVkU3R5
bGUoKSA6IG51bGxwdHIgfTsKKyAgICBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yIGV2YWx1YXRv
ciB7IGRvY3VtZW50KCkucHJpbnRpbmcoKSA/ICJwcmludCJfcyA6ICJzY3JlZW4iX3MsIGRvY3Vt
ZW50KCksIGRvY3VtZW50RWxlbWVudCA/IGRvY3VtZW50RWxlbWVudC0+Y29tcHV0ZWRTdHlsZSgp
IDogbnVsbHB0ciB9OwogCiAgICAgaWYgKCFldmFsdWF0b3IuZXZhbHVhdGVGb3JDaGFuZ2VzKG1f
bWVkaWFRdWVyeUR5bmFtaWNSZXN1bHRzKSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxJbWFnZUVsZW1lbnQuaAppbmRleCAxMjYwOTk0MmFlYzguLjNmOTJmMTE0ZTU4YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKQEAgLTI5LDcgKzI5LDcgQEAK
ICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NUeXBlcy5oIgog
I2luY2x1ZGUgIkhUTUxFbGVtZW50LmgiCi0jaW5jbHVkZSAiTWVkaWFRdWVyeUV2YWx1YXRvci5o
IgorI2luY2x1ZGUgIkxlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKICNpbmNsdWRlIDx3dGYv
V2Vha1B0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxM
aW5rRWxlbWVudC5jcHAKaW5kZXggNGU5OGY0ZmZlZDZmLi5kNjJiZDU5ZmRjNjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAKQEAgLTQ4LDkgKzQ4LDkgQEAKICNpbmNs
dWRlICJIVE1MQW5jaG9yRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1
ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKKyNpbmNsdWRlICJMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVh
dG9yLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk1lZGlhTGlzdC5oIgotI2lu
Y2x1ZGUgIk1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKICNpbmNsdWRlICJNZWRpYVF1ZXJ5UGFyc2Vy
Q29udGV4dC5oIgogI2luY2x1ZGUgIk1vdXNlRXZlbnQuaCIKICNpbmNsdWRlICJQYXJzZWRDb250
ZW50VHlwZS5oIgpAQCAtNTE5LDcgKzUxOSw3IEBAIGJvb2wgSFRNTExpbmtFbGVtZW50OjptZWRp
YUF0dHJpYnV0ZU1hdGNoZXMoKSBjb25zdAogICAgICAgICBkb2N1bWVudFN0eWxlID0gU3R5bGU6
OnJlc29sdmVGb3JEb2N1bWVudChkb2N1bWVudCgpKTsKICAgICBhdXRvIG1lZGlhID0gTWVkaWFR
dWVyeVNldDo6Y3JlYXRlKG1fbWVkaWEsIE1lZGlhUXVlcnlQYXJzZXJDb250ZXh0KGRvY3VtZW50
KCkpKTsKICAgICBMT0coTWVkaWFRdWVyaWVzLCAiSFRNTExpbmtFbGVtZW50OjptZWRpYUF0dHJp
YnV0ZU1hdGNoZXMiKTsKLSAgICByZXR1cm4gTWVkaWFRdWVyeUV2YWx1YXRvcihkb2N1bWVudCgp
LmZyYW1lKCktPnZpZXcoKS0+bWVkaWFUeXBlKCksIGRvY3VtZW50KCksIGRvY3VtZW50U3R5bGUg
PyAmKmRvY3VtZW50U3R5bGUgOiBudWxscHRyKS5ldmFsdWF0ZShtZWRpYS5nZXQoKSk7CisgICAg
cmV0dXJuIExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IoZG9jdW1lbnQoKS5mcmFtZSgpLT52aWV3
KCktPm1lZGlhVHlwZSgpLCBkb2N1bWVudCgpLCBkb2N1bWVudFN0eWxlID8gJipkb2N1bWVudFN0
eWxlIDogbnVsbHB0cikuZXZhbHVhdGUobWVkaWEuZ2V0KCkpOwogfQogCiB2b2lkIEhUTUxMaW5r
RWxlbWVudDo6bGlua0xvYWRlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcAppbmRleCAyMjk5MTFiMjZlMzcuLjc4OTc1ZWQzOTU1MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC03Miw2ICs3Miw3IEBACiAjaW5jbHVkZSAiSlNE
T01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU0hUTUxNZWRpYUVsZW1lbnQuaCIKICNp
bmNsdWRlICJKU01lZGlhQ29udHJvbHNIb3N0LmgiCisjaW5jbHVkZSAiTGVnYWN5TWVkaWFRdWVy
eUV2YWx1YXRvci5oIgogI2luY2x1ZGUgIkxvYWRhYmxlVGV4dFRyYWNrLmgiCiAjaW5jbHVkZSAi
TG9nZ2luZy5oIgogI2luY2x1ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIKQEAgLTgzLDcgKzg0LDYg
QEAKICNpbmNsdWRlICJNZWRpYUZyYWdtZW50VVJJUGFyc2VyLmgiCiAjaW5jbHVkZSAiTWVkaWFM
aXN0LmgiCiAjaW5jbHVkZSAiTWVkaWFQbGF5ZXIuaCIKLSNpbmNsdWRlICJNZWRpYVF1ZXJ5RXZh
bHVhdG9yLmgiCiAjaW5jbHVkZSAiTWVkaWFSZXNvdXJjZUxvYWRlci5oIgogI2luY2x1ZGUgIk5h
dmlnYXRvck1lZGlhRGV2aWNlcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtpbmdDb250ZXh0LmgiCkBA
IC01MTMzLDcgKzUxMzMsNyBAQCBVUkwgSFRNTE1lZGlhRWxlbWVudDo6c2VsZWN0TmV4dFNvdXJj
ZUNoaWxkKENvbnRlbnRUeXBlKiBjb250ZW50VHlwZSwgU3RyaW5nKiBrZQogICAgICAgICAgICAg
ICAgIElORk9fTE9HKExPR0lERU5USUZJRVIsICInbWVkaWEnIGlzICIsIHNvdXJjZS0+YXR0cmli
dXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihtZWRpYUF0dHIpKTsKICAgICAgICAgICAgIGF1dG8q
IHJlbmRlcmVyID0gdGhpcy0+cmVuZGVyZXIoKTsKICAgICAgICAgICAgIExPRyhNZWRpYVF1ZXJp
ZXMsICJIVE1MTWVkaWFFbGVtZW50ICVwIHNlbGVjdE5leHRTb3VyY2VDaGlsZCBldmFsdWF0aW5n
IG1lZGlhIHF1ZXJpZXMiLCB0aGlzKTsKLSAgICAgICAgICAgIGlmICghTWVkaWFRdWVyeUV2YWx1
YXRvciB7ICJzY3JlZW4iX3MsIGRvY3VtZW50KCksIHJlbmRlcmVyID8gJnJlbmRlcmVyLT5zdHls
ZSgpIDogbnVsbHB0ciB9LmV2YWx1YXRlKCptZWRpYSkpCisgICAgICAgICAgICBpZiAoIUxlZ2Fj
eU1lZGlhUXVlcnlFdmFsdWF0b3IgeyAic2NyZWVuIl9zLCBkb2N1bWVudCgpLCByZW5kZXJlciA/
ICZyZW5kZXJlci0+c3R5bGUoKSA6IG51bGxwdHIgfS5ldmFsdWF0ZSgqbWVkaWEpKQogICAgICAg
ICAgICAgICAgIGdvdG8gQ2hlY2tBZ2FpbjsKICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZXRhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxNZXRhRWxlbWVudC5jcHAKaW5kZXggOTIxNTc0ZDhlZDk4Li5kOWIxNTQ0ODczNzcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1ldGFFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZXRhRWxlbWVudC5jcHAKQEAgLTMyLDggKzMyLDggQEAK
ICNpbmNsdWRlICJIVE1MSGVhZEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNp
bmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCisjaW5jbHVkZSAiTGVnYWN5TWVkaWFRdWVyeUV2
YWx1YXRvci5oIgogI2luY2x1ZGUgIk1lZGlhTGlzdC5oIgotI2luY2x1ZGUgIk1lZGlhUXVlcnlF
dmFsdWF0b3IuaCIKICNpbmNsdWRlICJNZWRpYVF1ZXJ5UGFyc2VyQ29udGV4dC5oIgogI2luY2x1
ZGUgIlJlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKQEAgLTc5LDcgKzc5LDcg
QEAgYm9vbCBIVE1MTWV0YUVsZW1lbnQ6Om1lZGlhQXR0cmlidXRlTWF0Y2hlcygpCiAgICAgICAg
ICAgICBtZWRpYVR5cGUgPSBmcmFtZVZpZXctPm1lZGlhVHlwZSgpOwogICAgIH0KIAotICAgIHJl
dHVybiBNZWRpYVF1ZXJ5RXZhbHVhdG9yKG1lZGlhVHlwZSwgZG9jdW1lbnQsIGRvY3VtZW50U3R5
bGUgPyAmKmRvY3VtZW50U3R5bGUgOiBudWxscHRyKS5ldmFsdWF0ZSgqbV9tZWRpYSk7CisgICAg
cmV0dXJuIExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IobWVkaWFUeXBlLCBkb2N1bWVudCwgZG9j
dW1lbnRTdHlsZSA/ICYqZG9jdW1lbnRTdHlsZSA6IG51bGxwdHIpLmV2YWx1YXRlKCptX21lZGlh
KTsKIH0KIAogY29uc3QgQ29sb3ImIEhUTUxNZXRhRWxlbWVudDo6Y29udGVudENvbG9yKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwCmlu
ZGV4IGU0YzBjN2ZmYjllMi4uNzQ2MjFkZDJhNzJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5jcHAKQEAgLTM0LDEyICszNCwxMiBAQAog
I2luY2x1ZGUgIkhUTUxTcmNzZXRQYXJzZXIuaCIKICNpbmNsdWRlICJIVE1MVG9rZW5pemVyLmgi
CiAjaW5jbHVkZSAiSW5wdXRUeXBlTmFtZXMuaCIKKyNpbmNsdWRlICJMZWdhY3lNZWRpYVF1ZXJ5
RXZhbHVhdG9yLmgiCiAjaW5jbHVkZSAiTGlua0xvYWRlci5oIgogI2luY2x1ZGUgIkxpbmtSZWxB
dHRyaWJ1dGUuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTUlNRVR5cGVSZWdp
c3RyeS5oIgogI2luY2x1ZGUgIk1lZGlhTGlzdC5oIgotI2luY2x1ZGUgIk1lZGlhUXVlcnlFdmFs
dWF0b3IuaCIKICNpbmNsdWRlICJNZWRpYVF1ZXJ5UGFyc2VyQ29udGV4dC5oIgogI2luY2x1ZGUg
IlJlbmRlclZpZXcuaCIKICNpbmNsdWRlICJTZWN1cml0eVBvbGljeS5oIgpAQCAtMjMwLDcgKzIz
MCw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgYXV0byBtZWRpYVNldCA9IE1lZGlhUXVl
cnlTZXQ6OmNyZWF0ZShtX21lZGlhQXR0cmlidXRlLCBNZWRpYVF1ZXJ5UGFyc2VyQ29udGV4dCht
X2RvY3VtZW50KSk7CiAgICAgICAgICAgICAgICAgUmVmUHRyIGRvY3VtZW50RWxlbWVudCA9IG1f
ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KCk7CiAgICAgICAgICAgICAgICAgTE9HKE1lZGlhUXVl
cmllcywgIkhUTUxQcmVsb2FkU2Nhbm5lciAlcCBwcm9jZXNzQXR0cmlidXRlIGV2YWx1YXRpbmcg
bWVkaWEgcXVlcmllcyIsIHRoaXMpOwotICAgICAgICAgICAgICAgIG1fbWVkaWFNYXRjaGVkID0g
TWVkaWFRdWVyeUV2YWx1YXRvciB7IG1fZG9jdW1lbnQucHJpbnRpbmcoKSA/ICJwcmludCJfcyA6
ICJzY3JlZW4iX3MsIG1fZG9jdW1lbnQsIGRvY3VtZW50RWxlbWVudCA/IGRvY3VtZW50RWxlbWVu
dC0+Y29tcHV0ZWRTdHlsZSgpIDogbnVsbHB0ciB9LmV2YWx1YXRlKG1lZGlhU2V0LmdldCgpKTsK
KyAgICAgICAgICAgICAgICBtX21lZGlhTWF0Y2hlZCA9IExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0
b3IgeyBtX2RvY3VtZW50LnByaW50aW5nKCkgPyAicHJpbnQiX3MgOiAic2NyZWVuIl9zLCBtX2Rv
Y3VtZW50LCBkb2N1bWVudEVsZW1lbnQgPyBkb2N1bWVudEVsZW1lbnQtPmNvbXB1dGVkU3R5bGUo
KSA6IG51bGxwdHIgfS5ldmFsdWF0ZShtZWRpYVNldC5nZXQoKSk7CiAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICBpZiAobWF0Y2goYXR0cmlidXRlTmFtZSwgdHlwZUF0dHIpICYmIG1fdHlwZUF0
dHJpYnV0ZS5pc051bGwoKSkgewogICAgICAgICAgICAgICAgIC8vIHdoZW4gbXVsdGlwbGUgdHlw
ZSBhdHRyaWJ1dGVzIHByZXNlbnQ6IGZpcnN0IHZhbHVlIHdpbnMsIGlnbm9yZSBzdWJzZXF1ZW50
ICh0byBtYXRjaCBJbWFnZUVsZW1lbnQgcGFyc2VyIGFuZCBCbGluayBiZWhhdmlvdXJzKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFJlc291cmNlUHJlbG9hZGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxSZXNvdXJjZVByZWxvYWRlci5j
cHAKaW5kZXggYzM4ODVjZjI0MGI1Li44ZDNlMWJiODhhNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxSZXNvdXJjZVByZWxvYWRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFJlc291cmNlUHJlbG9hZGVyLmNwcApAQCAtMzAsMTAg
KzMwLDkgQEAKICNpbmNsdWRlICJDcm9zc09yaWdpbkFjY2Vzc0NvbnRyb2wuaCIKICNpbmNsdWRl
ICJEZWZhdWx0UmVzb3VyY2VMb2FkUHJpb3JpdHkuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgot
I2luY2x1ZGUgIlNjcmlwdEVsZW1lbnRDYWNoZWRTY3JpcHRGZXRjaGVyLmgiCi0KLSNpbmNsdWRl
ICJNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCisjaW5jbHVkZSAiTGVnYWN5TWVkaWFRdWVyeUV2YWx1
YXRvci5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKKyNpbmNsdWRlICJTY3JpcHRFbGVtZW50
Q2FjaGVkU2NyaXB0RmV0Y2hlci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTgyLDcg
KzgxLDcgQEAgdm9pZCBIVE1MUmVzb3VyY2VQcmVsb2FkZXI6OnByZWxvYWQoc3RkOjp1bmlxdWVf
cHRyPFByZWxvYWRSZXF1ZXN0PiBwcmVsb2FkKQogewogICAgIEFTU0VSVChtX2RvY3VtZW50LmZy
YW1lKCkpOwogICAgIEFTU0VSVChtX2RvY3VtZW50LnJlbmRlclZpZXcoKSk7Ci0gICAgaWYgKCFw
cmVsb2FkLT5tZWRpYSgpLmlzRW1wdHkoKSAmJiAhTWVkaWFRdWVyeUV2YWx1YXRvcjo6bWVkaWFB
dHRyaWJ1dGVNYXRjaGVzKG1fZG9jdW1lbnQsIHByZWxvYWQtPm1lZGlhKCkpKQorICAgIGlmICgh
cHJlbG9hZC0+bWVkaWEoKS5pc0VtcHR5KCkgJiYgIUxlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3I6
Om1lZGlhQXR0cmlidXRlTWF0Y2hlcyhtX2RvY3VtZW50LCBwcmVsb2FkLT5tZWRpYSgpKSkKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgbV9kb2N1bWVudC5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLnBy
ZWxvYWQocHJlbG9hZC0+cmVzb3VyY2VUeXBlKCksIHByZWxvYWQtPnJlc291cmNlUmVxdWVzdCht
X2RvY3VtZW50KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlci5jcHAKaW5kZXggMjkwODhh
ZWQxMDgyLi43OTI0NzRiZmJlZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9M
aW5rTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlci5jcHAK
QEAgLTQ2LDEzICs0NiwxMyBAQAogI2luY2x1ZGUgIkZyYW1lTG9hZGVyQ2xpZW50LmgiCiAjaW5j
bHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiSFRNTFNyY3NldFBhcnNlci5oIgorI2luY2x1
ZGUgIkxlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKICNpbmNsdWRlICJMaW5rSGVhZGVyLmgi
CiAjaW5jbHVkZSAiTGlua1ByZWxvYWRSZXNvdXJjZUNsaWVudHMuaCIKICNpbmNsdWRlICJMaW5r
UmVsQXR0cmlidXRlLmgiCiAjaW5jbHVkZSAiTG9hZGVyU3RyYXRlZ3kuaCIKICNpbmNsdWRlICJN
SU1FVHlwZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiTWVkaWFMaXN0LmgiCi0jaW5jbHVkZSAiTWVk
aWFRdWVyeUV2YWx1YXRvci5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyYXRlZ2llcy5oIgogI2lu
Y2x1ZGUgIlJlc291cmNlRXJyb3IuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgpAQCAtMjU1LDcg
KzI1NSw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxMaW5rUHJlbG9hZFJlc291cmNlQ2xpZW50PiBMaW5r
TG9hZGVyOjpwcmVsb2FkSWZOZWVkZWQoY29uc3QgTGluCiAgICAgICAgICAgICBkb2N1bWVudC5h
ZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpPdGhlciwgTWVzc2FnZUxldmVsOjpFcnJv
ciwgIjxsaW5rIHJlbD1wcmVsb2FkPiBoYXMgYW4gaW52YWxpZCBgaW1hZ2VzcmNzZXRgIHZhbHVl
Il9zKTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQotICAgIGlmICghTWVkaWFRdWVy
eUV2YWx1YXRvcjo6bWVkaWFBdHRyaWJ1dGVNYXRjaGVzKGRvY3VtZW50LCBwYXJhbXMubWVkaWEp
KQorICAgIGlmICghTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvcjo6bWVkaWFBdHRyaWJ1dGVNYXRj
aGVzKGRvY3VtZW50LCBwYXJhbXMubWVkaWEpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAg
ICBpZiAoIWlzU3VwcG9ydGVkVHlwZSh0eXBlLnZhbHVlKCksIHBhcmFtcy5taW1lVHlwZSwgZG9j
dW1lbnQpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9F
bGVtZW50UnVsZUNvbGxlY3Rvci5oCmluZGV4IGY0Y2NhZmFlNzBjMS4uODRlY2VmY2M0NzZhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVjdG9yLmgKQEAgLTIxLDgg
KzIxLDggQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJMZWdhY3lNZWRpYVF1ZXJ5RXZh
bHVhdG9yLmgiCiAjaW5jbHVkZSAiTWF0Y2hSZXN1bHQuaCIKLSNpbmNsdWRlICJNZWRpYVF1ZXJ5
RXZhbHVhdG9yLmgiCiAjaW5jbHVkZSAiUHJvcGVydHlBbGxvd2xpc3QuaCIKICNpbmNsdWRlICJS
dWxlU2V0LmgiCiAjaW5jbHVkZSAiU2VsZWN0b3JDaGVja2VyLmgiCkBAIC04MSw3ICs4MSw3IEBA
IHB1YmxpYzoKIAogICAgIHZvaWQgc2V0TW9kZShTZWxlY3RvckNoZWNrZXI6Ok1vZGUgbW9kZSkg
eyBtX21vZGUgPSBtb2RlOyB9CiAgICAgdm9pZCBzZXRQc2V1ZG9FbGVtZW50UmVxdWVzdChjb25z
dCBQc2V1ZG9FbGVtZW50UmVxdWVzdCYgcmVxdWVzdCkgeyBtX3BzZXVkb0VsZW1lbnRSZXF1ZXN0
ID0gcmVxdWVzdDsgfQotICAgIHZvaWQgc2V0TWVkaXVtKGNvbnN0IE1lZGlhUXVlcnlFdmFsdWF0
b3IqIG1lZGl1bSkgeyBtX2lzUHJpbnRTdHlsZSA9IG1lZGl1bS0+bWVkaWFUeXBlTWF0Y2hTcGVj
aWZpYygicHJpbnQiX3MpOyB9CisgICAgdm9pZCBzZXRNZWRpdW0oY29uc3QgTGVnYWN5TWVkaWFR
dWVyeUV2YWx1YXRvciogbWVkaXVtKSB7IG1faXNQcmludFN0eWxlID0gbWVkaXVtLT5tZWRpYVR5
cGVNYXRjaFNwZWNpZmljKCJwcmludCJfcyk7IH0KIAogICAgIGJvb2wgaGFzQW55TWF0Y2hpbmdS
dWxlcyhjb25zdCBSdWxlU2V0Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1J1bGVEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVEYXRhLmNwcAppbmRleCAz
YTBlZmM3YWFlMzQuLjA4ZGQyMGQwZWIwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5
bGUvUnVsZURhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVEYXRhLmNwcApA
QCAtMzUsNyArMzUsNiBAQAogI2luY2x1ZGUgIkNTU1NlbGVjdG9yTGlzdC5oIgogI2luY2x1ZGUg
IkNvbW1vbkF0b21TdHJpbmdzLmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCi0jaW5jbHVkZSAi
TWVkaWFRdWVyeUV2YWx1YXRvci5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5j
bHVkZSAiU2VsZWN0b3JDaGVja2VyLmgiCiAjaW5jbHVkZSAiU2VsZWN0b3JGaWx0ZXIuaCIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuY3BwIGIvU291cmNlL1dlYkNv
cmUvc3R5bGUvUnVsZVNldC5jcHAKaW5kZXggYjM4ZTc0MjNjNzNlLi5hNWNkNmQ3YjRlMzAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N0eWxlL1J1bGVTZXQuY3BwCkBAIC0zNSw3ICszNSw3IEBACiAjaW5jbHVkZSAiQ1NT
U2VsZWN0b3JMaXN0LmgiCiAjaW5jbHVkZSAiQ29tbW9uQXRvbVN0cmluZ3MuaCIKICNpbmNsdWRl
ICJIVE1MTmFtZXMuaCIKLSNpbmNsdWRlICJNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCisjaW5jbHVk
ZSAiTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvci5oIgogI2luY2x1ZGUgIlJ1bGVTZXRCdWlsZGVy
LmgiCiAjaW5jbHVkZSAiU1ZHRWxlbWVudC5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgi
CkBAIC0zMzgsNyArMzM4LDcgQEAgdm9pZCBSdWxlU2V0Ojp0cmF2ZXJzZVJ1bGVEYXRhcyhGdW5j
dGlvbiYmIGZ1bmN0aW9uKQogICAgIHRyYXZlcnNlVmVjdG9yKG1fdW5pdmVyc2FsUnVsZXMpOwog
fQogCi1zdGQ6Om9wdGlvbmFsPER5bmFtaWNNZWRpYVF1ZXJ5RXZhbHVhdGlvbkNoYW5nZXM+IFJ1
bGVTZXQ6OmV2YWx1YXRlRHluYW1pY01lZGlhUXVlcnlSdWxlcyhjb25zdCBNZWRpYVF1ZXJ5RXZh
bHVhdG9yJiBldmFsdWF0b3IpCitzdGQ6Om9wdGlvbmFsPER5bmFtaWNNZWRpYVF1ZXJ5RXZhbHVh
dGlvbkNoYW5nZXM+IFJ1bGVTZXQ6OmV2YWx1YXRlRHluYW1pY01lZGlhUXVlcnlSdWxlcyhjb25z
dCBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yJiBldmFsdWF0b3IpCiB7CiAgICAgYXV0byBjb2xs
ZWN0ZWRDaGFuZ2VzID0gZXZhbHVhdGVEeW5hbWljTWVkaWFRdWVyeVJ1bGVzKGV2YWx1YXRvciwg
MCk7CiAKQEAgLTM1MCw3ICszNTAsNyBAQCBzdGQ6Om9wdGlvbmFsPER5bmFtaWNNZWRpYVF1ZXJ5
RXZhbHVhdGlvbkNoYW5nZXM+IFJ1bGVTZXQ6OmV2YWx1YXRlRHluYW1pY01lZGlhUQogCiAgICAg
YXV0byYgcnVsZVNldCA9IG1fbWVkaWFRdWVyeUludmFsaWRhdGlvblJ1bGVTZXRDYWNoZS5lbnN1
cmUoY29sbGVjdGVkQ2hhbmdlcy5jaGFuZ2VkUXVlcnlJbmRleGVzLCBbJl0gewogICAgICAgICBh
dXRvIHJ1bGVTZXQgPSBSdWxlU2V0OjpjcmVhdGUoKTsKLSAgICAgICAgUnVsZVNldEJ1aWxkZXIg
YnVpbGRlcihydWxlU2V0LCBNZWRpYVF1ZXJ5RXZhbHVhdG9yKHRydWUpKTsKKyAgICAgICAgUnVs
ZVNldEJ1aWxkZXIgYnVpbGRlcihydWxlU2V0LCBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yKHRy
dWUpKTsKICAgICAgICAgZm9yIChhdXRvKiBydWxlcyA6IGNvbGxlY3RlZENoYW5nZXMuYWZmZWN0
ZWRSdWxlcykgewogICAgICAgICAgICAgZm9yIChhdXRvJiBydWxlIDogKnJ1bGVzKQogICAgICAg
ICAgICAgICAgIGJ1aWxkZXIuYWRkU3R5bGVSdWxlKHJ1bGUpOwpAQCAtMzYxLDcgKzM2MSw3IEBA
IHN0ZDo6b3B0aW9uYWw8RHluYW1pY01lZGlhUXVlcnlFdmFsdWF0aW9uQ2hhbmdlcz4gUnVsZVNl
dDo6ZXZhbHVhdGVEeW5hbWljTWVkaWFRCiAgICAgcmV0dXJuIHsgeyBEeW5hbWljTWVkaWFRdWVy
eUV2YWx1YXRpb25DaGFuZ2VzOjpUeXBlOjpJbnZhbGlkYXRlU3R5bGUsIHsgcnVsZVNldC5jb3B5
UmVmKCkgfSB9IH07CiB9CiAKLVJ1bGVTZXQ6OkNvbGxlY3RlZE1lZGlhUXVlcnlDaGFuZ2VzIFJ1
bGVTZXQ6OmV2YWx1YXRlRHluYW1pY01lZGlhUXVlcnlSdWxlcyhjb25zdCBNZWRpYVF1ZXJ5RXZh
bHVhdG9yJiBldmFsdWF0b3IsIHNpemVfdCBzdGFydEluZGV4KQorUnVsZVNldDo6Q29sbGVjdGVk
TWVkaWFRdWVyeUNoYW5nZXMgUnVsZVNldDo6ZXZhbHVhdGVEeW5hbWljTWVkaWFRdWVyeVJ1bGVz
KGNvbnN0IExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3ImIGV2YWx1YXRvciwgc2l6ZV90IHN0YXJ0
SW5kZXgpCiB7CiAgICAgQ29sbGVjdGVkTWVkaWFRdWVyeUNoYW5nZXMgY29sbGVjdGVkQ2hhbmdl
czsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldC5oIGIvU291cmNl
L1dlYkNvcmUvc3R5bGUvUnVsZVNldC5oCmluZGV4IGZlNzExNTcwYzQ1Mi4uODM5YjA1ODc2ZDM1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvc3R5bGUvUnVsZVNldC5oCkBAIC0zNSw3ICszNSw3IEBACiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIENTU1NlbGVjdG9yOwotY2xhc3MgTWVkaWFRdWVyeUV2YWx1YXRvcjsK
K2NsYXNzIExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3I7CiBjbGFzcyBTdHlsZVNoZWV0Q29udGVu
dHM7CiAKIG5hbWVzcGFjZSBTdHlsZSB7CkBAIC04MCw3ICs4MCw3IEBAIHB1YmxpYzoKIAogICAg
IGJvb2wgaGFzVmlld3BvcnREZXBlbmRlbnRNZWRpYVF1ZXJpZXMoKSBjb25zdCB7IHJldHVybiBt
X2hhc1ZpZXdwb3J0RGVwZW5kZW50TWVkaWFRdWVyaWVzOyB9CiAKLSAgICBzdGQ6Om9wdGlvbmFs
PER5bmFtaWNNZWRpYVF1ZXJ5RXZhbHVhdGlvbkNoYW5nZXM+IGV2YWx1YXRlRHluYW1pY01lZGlh
UXVlcnlSdWxlcyhjb25zdCBNZWRpYVF1ZXJ5RXZhbHVhdG9yJik7CisgICAgc3RkOjpvcHRpb25h
bDxEeW5hbWljTWVkaWFRdWVyeUV2YWx1YXRpb25DaGFuZ2VzPiBldmFsdWF0ZUR5bmFtaWNNZWRp
YVF1ZXJ5UnVsZXMoY29uc3QgTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvciYpOwogCiAgICAgY29u
c3QgUnVsZUZlYXR1cmVTZXQmIGZlYXR1cmVzKCkgY29uc3QgeyByZXR1cm4gbV9mZWF0dXJlczsg
fQogCkBAIC0xMzUsNyArMTM1LDcgQEAgcHJpdmF0ZToKICAgICAgICAgVmVjdG9yPHNpemVfdD4g
Y2hhbmdlZFF1ZXJ5SW5kZXhlcyB7IH07CiAgICAgICAgIFZlY3RvcjxWZWN0b3I8UmVmPGNvbnN0
IFN0eWxlUnVsZT4+Kj4gYWZmZWN0ZWRSdWxlcyB7IH07CiAgICAgfTsKLSAgICBDb2xsZWN0ZWRN
ZWRpYVF1ZXJ5Q2hhbmdlcyBldmFsdWF0ZUR5bmFtaWNNZWRpYVF1ZXJ5UnVsZXMoY29uc3QgTWVk
aWFRdWVyeUV2YWx1YXRvciYsIHNpemVfdCBzdGFydEluZGV4KTsKKyAgICBDb2xsZWN0ZWRNZWRp
YVF1ZXJ5Q2hhbmdlcyBldmFsdWF0ZUR5bmFtaWNNZWRpYVF1ZXJ5UnVsZXMoY29uc3QgTGVnYWN5
TWVkaWFRdWVyeUV2YWx1YXRvciYsIHNpemVfdCBzdGFydEluZGV4KTsKIAogICAgIHRlbXBsYXRl
PHR5cGVuYW1lIEZ1bmN0aW9uPiB2b2lkIHRyYXZlcnNlUnVsZURhdGFzKEZ1bmN0aW9uJiYpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0QnVpbGRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0QnVpbGRlci5jcHAKaW5kZXggMDQ2Yzg1ZWNiOGNm
Li41ZjgzMThmYjM0MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXRC
dWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0QnVpbGRlci5jcHAK
QEAgLTMxLDcgKzMxLDcgQEAKIAogI2luY2x1ZGUgIkNTU0ZvbnRTZWxlY3Rvci5oIgogI2luY2x1
ZGUgIkNTU0tleWZyYW1lc1J1bGUuaCIKLSNpbmNsdWRlICJNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgi
CisjaW5jbHVkZSAiTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvci5oIgogI2luY2x1ZGUgIlN0eWxl
UmVzb2x2ZXIuaCIKICNpbmNsdWRlICJTdHlsZVJ1bGVJbXBvcnQuaCIKICNpbmNsdWRlICJTdHls
ZVNoZWV0Q29udGVudHMuaCIKQEAgLTQwLDcgKzQwLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IG5hbWVzcGFjZSBTdHlsZSB7CiAKLVJ1bGVTZXRCdWlsZGVyOjpSdWxlU2V0QnVpbGRlcihSdWxl
U2V0JiBydWxlU2V0LCBjb25zdCBNZWRpYVF1ZXJ5RXZhbHVhdG9yJiBldmFsdWF0b3IsIFJlc29s
dmVyKiByZXNvbHZlciwgU2hyaW5rVG9GaXQgc2hyaW5rVG9GaXQpCitSdWxlU2V0QnVpbGRlcjo6
UnVsZVNldEJ1aWxkZXIoUnVsZVNldCYgcnVsZVNldCwgY29uc3QgTGVnYWN5TWVkaWFRdWVyeUV2
YWx1YXRvciYgZXZhbHVhdG9yLCBSZXNvbHZlciogcmVzb2x2ZXIsIFNocmlua1RvRml0IHNocmlu
a1RvRml0KQogICAgIDogbV9ydWxlU2V0KCZydWxlU2V0KQogICAgICwgbV9tZWRpYVF1ZXJ5Q29s
bGVjdG9yKHsgZXZhbHVhdG9yIH0pCiAgICAgLCBtX3Jlc29sdmVyKHJlc29sdmVyKQpAQCAtNDgs
NyArNDgsNyBAQCBSdWxlU2V0QnVpbGRlcjo6UnVsZVNldEJ1aWxkZXIoUnVsZVNldCYgcnVsZVNl
dCwgY29uc3QgTWVkaWFRdWVyeUV2YWx1YXRvciYgZXZhbAogewogfQogCi1SdWxlU2V0QnVpbGRl
cjo6UnVsZVNldEJ1aWxkZXIoY29uc3QgTWVkaWFRdWVyeUV2YWx1YXRvciYgZXZhbHVhdG9yKQor
UnVsZVNldEJ1aWxkZXI6OlJ1bGVTZXRCdWlsZGVyKGNvbnN0IExlZ2FjeU1lZGlhUXVlcnlFdmFs
dWF0b3ImIGV2YWx1YXRvcikKICAgICA6IG1fbWVkaWFRdWVyeUNvbGxlY3Rvcih7IGV2YWx1YXRv
ciwgdHJ1ZSB9KQogewogfQpAQCAtMzY1LDcgKzM2NSw3IEBAIGJvb2wgUnVsZVNldEJ1aWxkZXI6
Ok1lZGlhUXVlcnlDb2xsZWN0b3I6OnB1c2hBbmRFdmFsdWF0ZShjb25zdCBNZWRpYVF1ZXJ5U2V0
KiBzCiAKICAgICAvLyBPbmx5IGV2YWx1YXRlIHN0YXRpYyBleHByZXNzaW9ucyB0aGF0IHJlcXVp
cmUgc3R5bGUgcmVidWlsZC4KICAgICBNZWRpYVF1ZXJ5RHluYW1pY1Jlc3VsdHMgZHluYW1pY1Jl
c3VsdHM7Ci0gICAgYXV0byBtb2RlID0gY29sbGVjdER5bmFtaWMgPyBNZWRpYVF1ZXJ5RXZhbHVh
dG9yOjpNb2RlOjpBbHdheXNNYXRjaER5bmFtaWMgOiBNZWRpYVF1ZXJ5RXZhbHVhdG9yOjpNb2Rl
OjpOb3JtYWw7CisgICAgYXV0byBtb2RlID0gY29sbGVjdER5bmFtaWMgPyBMZWdhY3lNZWRpYVF1
ZXJ5RXZhbHVhdG9yOjpNb2RlOjpBbHdheXNNYXRjaER5bmFtaWMgOiBMZWdhY3lNZWRpYVF1ZXJ5
RXZhbHVhdG9yOjpNb2RlOjpOb3JtYWw7CiAKICAgICBib29sIHJlc3VsdCA9IGV2YWx1YXRvci5l
dmFsdWF0ZSgqc2V0LCAmZHluYW1pY1Jlc3VsdHMsIG1vZGUpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0QnVpbGRlci5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUv
UnVsZVNldEJ1aWxkZXIuaAppbmRleCBkMzU0MzM0ZDVkOTkuLjYyYTYwZTcxZWY0NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldEJ1aWxkZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9SdWxlU2V0QnVpbGRlci5oCkBAIC0yOSwxNCArMjksMTQgQEAgbmFtZXNw
YWNlIFN0eWxlIHsKIGNsYXNzIFJ1bGVTZXRCdWlsZGVyIHsKIHB1YmxpYzoKICAgICBlbnVtIGNs
YXNzIFNocmlua1RvRml0IHsgRW5hYmxlLCBEaXNhYmxlIH07Ci0gICAgUnVsZVNldEJ1aWxkZXIo
UnVsZVNldCYsIGNvbnN0IE1lZGlhUXVlcnlFdmFsdWF0b3ImLCBSZXNvbHZlciogPSBudWxscHRy
LCBTaHJpbmtUb0ZpdCA9IFNocmlua1RvRml0OjpFbmFibGUpOworICAgIFJ1bGVTZXRCdWlsZGVy
KFJ1bGVTZXQmLCBjb25zdCBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yJiwgUmVzb2x2ZXIqID0g
bnVsbHB0ciwgU2hyaW5rVG9GaXQgPSBTaHJpbmtUb0ZpdDo6RW5hYmxlKTsKICAgICB+UnVsZVNl
dEJ1aWxkZXIoKTsKIAogICAgIHZvaWQgYWRkUnVsZXNGcm9tU2hlZXQoY29uc3QgU3R5bGVTaGVl
dENvbnRlbnRzJiwgY29uc3QgTWVkaWFRdWVyeVNldCogc2hlZXRRdWVyeSA9IG51bGxwdHIpOwog
ICAgIHZvaWQgYWRkU3R5bGVSdWxlKGNvbnN0IFN0eWxlUnVsZSYpOwogCiBwcml2YXRlOgotICAg
IFJ1bGVTZXRCdWlsZGVyKGNvbnN0IE1lZGlhUXVlcnlFdmFsdWF0b3ImKTsKKyAgICBSdWxlU2V0
QnVpbGRlcihjb25zdCBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yJik7CiAKICAgICB2b2lkIGFk
ZFJ1bGVzRnJvbVNoZWV0Q29udGVudHMoY29uc3QgU3R5bGVTaGVldENvbnRlbnRzJik7CiAgICAg
dm9pZCBhZGRDaGlsZFJ1bGVzKGNvbnN0IFZlY3RvcjxSZWZQdHI8U3R5bGVSdWxlQmFzZT4+Jik7
CkBAIC01Miw3ICs1Miw3IEBAIHByaXZhdGU6CiAgICAgc3RydWN0IE1lZGlhUXVlcnlDb2xsZWN0
b3IgewogICAgICAgICB+TWVkaWFRdWVyeUNvbGxlY3RvcigpOwogCi0gICAgICAgIGNvbnN0IE1l
ZGlhUXVlcnlFdmFsdWF0b3ImIGV2YWx1YXRvcjsKKyAgICAgICAgY29uc3QgTGVnYWN5TWVkaWFR
dWVyeUV2YWx1YXRvciYgZXZhbHVhdG9yOwogICAgICAgICBib29sIGNvbGxlY3REeW5hbWljIHsg
ZmFsc2UgfTsKIAogICAgICAgICBzdHJ1Y3QgRHluYW1pY0NvbnRleHQgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVJbnZhbGlkYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9zdHlsZS9TdHlsZUludmFsaWRhdG9yLmNwcAppbmRleCAwMDQ0ZWI2NjFjMmIuLmFkMDU3ZGRh
NTIwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVJbnZhbGlkYXRvci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVJbnZhbGlkYXRvci5jcHAKQEAgLTgy
LDcgKzgyLDcgQEAgc3RhdGljIGJvb2wgc2hvdWxkRGlydHlBbGxTdHlsZShjb25zdCBWZWN0b3I8
U3R5bGVTaGVldENvbnRlbnRzKj4mIHNoZWV0cykKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLUlu
dmFsaWRhdG9yOjpJbnZhbGlkYXRvcihjb25zdCBWZWN0b3I8U3R5bGVTaGVldENvbnRlbnRzKj4m
IHNoZWV0cywgY29uc3QgTWVkaWFRdWVyeUV2YWx1YXRvciYgbWVkaWFRdWVyeUV2YWx1YXRvcikK
K0ludmFsaWRhdG9yOjpJbnZhbGlkYXRvcihjb25zdCBWZWN0b3I8U3R5bGVTaGVldENvbnRlbnRz
Kj4mIHNoZWV0cywgY29uc3QgTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvciYgbWVkaWFRdWVyeUV2
YWx1YXRvcikKICAgICA6IG1fb3duZWRSdWxlU2V0KFJ1bGVTZXQ6OmNyZWF0ZSgpKQogICAgICwg
bV9ydWxlU2V0cyh7IG1fb3duZWRSdWxlU2V0IH0pCiAgICAgLCBtX2RpcnRpZXNBbGxTdHlsZShz
aG91bGREaXJ0eUFsbFN0eWxlKHNoZWV0cykpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9TdHlsZUludmFsaWRhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUludmFs
aWRhdG9yLmgKaW5kZXggNGQ2ZThlM2EzMzA1Li5hNWM1OWE0ZmQxMWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlSW52YWxpZGF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdHlsZS9TdHlsZUludmFsaWRhdG9yLmgKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIEVsZW1lbnQ7Ci1jbGFzcyBNZWRpYVF1
ZXJ5RXZhbHVhdG9yOworY2xhc3MgTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvcjsKIGNsYXNzIFNo
YWRvd1Jvb3Q7CiBjbGFzcyBTdHlsZVNoZWV0Q29udGVudHM7CiAKQEAgLTQ3LDcgKzQ3LDcgQEAg
c3RydWN0IFNlbGVjdG9yTWF0Y2hpbmdTdGF0ZTsKIAogY2xhc3MgSW52YWxpZGF0b3IgewogcHVi
bGljOgotICAgIEludmFsaWRhdG9yKGNvbnN0IFZlY3RvcjxTdHlsZVNoZWV0Q29udGVudHMqPiYs
IGNvbnN0IE1lZGlhUXVlcnlFdmFsdWF0b3ImKTsKKyAgICBJbnZhbGlkYXRvcihjb25zdCBWZWN0
b3I8U3R5bGVTaGVldENvbnRlbnRzKj4mLCBjb25zdCBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9y
Jik7CiAgICAgSW52YWxpZGF0b3IoY29uc3QgSW52YWxpZGF0aW9uUnVsZVNldFZlY3RvciYpOwog
CiAgICAgfkludmFsaWRhdG9yKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9T
dHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlUmVzb2x2ZXIuY3Bw
CmluZGV4IDcyNGI4YWIzN2JjZi4uMjMwMzdiYjk1YTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9T
dHlsZVJlc29sdmVyLmNwcApAQCAtNDcsOSArNDcsOSBAQAogI2luY2x1ZGUgIkZyYW1lVmlldy5o
IgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIktleWZy
YW1lTGlzdC5oIgorI2luY2x1ZGUgIkxlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKICNpbmNs
dWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTWVkaWFMaXN0LmgiCi0jaW5jbHVkZSAiTWVkaWFR
dWVyeUV2YWx1YXRvci5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJTdHlsZS5oIgogI2luY2x1ZGUg
IlBhZ2VSdWxlQ29sbGVjdG9yLmgiCiAjaW5jbHVkZSAiUGFpci5oIgpAQCAtMTU0LDkgKzE1NCw5
IEBAIFJlc29sdmVyOjpSZXNvbHZlcihEb2N1bWVudCYgZG9jdW1lbnQpCiAgICAgLy8gaXMgYWx3
YXlzIGZyb20gdGhlIGRvY3VtZW50IHRoYXQgb3ducyB0aGUgc3R5bGUgc2VsZWN0b3IKICAgICBG
cmFtZVZpZXcqIHZpZXcgPSBtX2RvY3VtZW50LnZpZXcoKTsKICAgICBpZiAodmlldykKLSAgICAg
ICAgbV9tZWRpYVF1ZXJ5RXZhbHVhdG9yID0gTWVkaWFRdWVyeUV2YWx1YXRvciB7IHZpZXctPm1l
ZGlhVHlwZSgpIH07CisgICAgICAgIG1fbWVkaWFRdWVyeUV2YWx1YXRvciA9IExlZ2FjeU1lZGlh
UXVlcnlFdmFsdWF0b3IgeyB2aWV3LT5tZWRpYVR5cGUoKSB9OwogICAgIGVsc2UKLSAgICAgICAg
bV9tZWRpYVF1ZXJ5RXZhbHVhdG9yID0gTWVkaWFRdWVyeUV2YWx1YXRvciB7IH07CisgICAgICAg
IG1fbWVkaWFRdWVyeUV2YWx1YXRvciA9IExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IgeyB9Owog
CiAgICAgaWYgKGF1dG8qIGRvY3VtZW50RWxlbWVudCA9IG1fZG9jdW1lbnQuZG9jdW1lbnRFbGVt
ZW50KCkpIHsKICAgICAgICAgbV9yb290RGVmYXVsdFN0eWxlID0gc3R5bGVGb3JFbGVtZW50KCpk
b2N1bWVudEVsZW1lbnQsIHsgbV9kb2N1bWVudC5yZW5kZXJTdHlsZSgpIH0sIFJ1bGVNYXRjaGlu
Z0JlaGF2aW9yOjpNYXRjaE9ubHlVc2VyQWdlbnRSdWxlcykucmVuZGVyU3R5bGU7CkBAIC0xNjgs
NyArMTY4LDcgQEAgUmVzb2x2ZXI6OlJlc29sdmVyKERvY3VtZW50JiBkb2N1bWVudCkKICAgICB9
CiAKICAgICBpZiAobV9yb290RGVmYXVsdFN0eWxlICYmIHZpZXcpCi0gICAgICAgIG1fbWVkaWFR
dWVyeUV2YWx1YXRvciA9IE1lZGlhUXVlcnlFdmFsdWF0b3IgeyB2aWV3LT5tZWRpYVR5cGUoKSwg
bV9kb2N1bWVudCwgbV9yb290RGVmYXVsdFN0eWxlLmdldCgpIH07CisgICAgICAgIG1fbWVkaWFR
dWVyeUV2YWx1YXRvciA9IExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IgeyB2aWV3LT5tZWRpYVR5
cGUoKSwgbV9kb2N1bWVudCwgbV9yb290RGVmYXVsdFN0eWxlLmdldCgpIH07CiAKICAgICBtX3J1
bGVTZXRzLnJlc2V0QXV0aG9yU3R5bGUoKTsKICAgICBtX3J1bGVTZXRzLnJlc2V0VXNlckFnZW50
TWVkaWFRdWVyeVN0eWxlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHls
ZVJlc29sdmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVJlc29sdmVyLmgKaW5kZXgg
ZTJiZjY4NzI4ZDY0Li42NjBiNWM4NDk1MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0
eWxlL1N0eWxlUmVzb2x2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVJlc29s
dmVyLmgKQEAgLTI1LDggKzI1LDggQEAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUg
IkVsZW1lbnRSdWxlQ29sbGVjdG9yLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ1NTT01XcmFwcGVy
cy5oIgorI2luY2x1ZGUgIkxlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKICNpbmNsdWRlICJN
YXRjaGVkRGVjbGFyYXRpb25zQ2FjaGUuaCIKLSNpbmNsdWRlICJNZWRpYVF1ZXJ5RXZhbHVhdG9y
LmgiCiAjaW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlICJSdWxlU2V0LmgiCiAjaW5j
bHVkZSAiU3R5bGVCdWlsZGVyU3RhdGUuaCIKQEAgLTExNCw3ICsxMTQsNyBAQCBwdWJsaWM6CiAg
ICAgU2NvcGVSdWxlU2V0cyYgcnVsZVNldHMoKSB7IHJldHVybiBtX3J1bGVTZXRzOyB9CiAgICAg
Y29uc3QgU2NvcGVSdWxlU2V0cyYgcnVsZVNldHMoKSBjb25zdCB7IHJldHVybiBtX3J1bGVTZXRz
OyB9CiAKLSAgICBjb25zdCBNZWRpYVF1ZXJ5RXZhbHVhdG9yJiBtZWRpYVF1ZXJ5RXZhbHVhdG9y
KCkgY29uc3QgeyByZXR1cm4gbV9tZWRpYVF1ZXJ5RXZhbHVhdG9yOyB9CisgICAgY29uc3QgTGVn
YWN5TWVkaWFRdWVyeUV2YWx1YXRvciYgbWVkaWFRdWVyeUV2YWx1YXRvcigpIGNvbnN0IHsgcmV0
dXJuIG1fbWVkaWFRdWVyeUV2YWx1YXRvcjsgfQogCiAgICAgdm9pZCBhZGRDdXJyZW50U1ZHRm9u
dEZhY2VSdWxlcygpOwogCkBAIC0xNjYsNyArMTY2LDcgQEAgcHJpdmF0ZToKICAgICB0eXBlZGVm
IEhhc2hNYXA8QXRvbVN0cmluZywgUmVmUHRyPFN0eWxlUnVsZUtleWZyYW1lcz4+IEtleWZyYW1l
c1J1bGVNYXA7CiAgICAgS2V5ZnJhbWVzUnVsZU1hcCBtX2tleWZyYW1lc1J1bGVNYXA7CiAKLSAg
ICBNZWRpYVF1ZXJ5RXZhbHVhdG9yIG1fbWVkaWFRdWVyeUV2YWx1YXRvcjsKKyAgICBMZWdhY3lN
ZWRpYVF1ZXJ5RXZhbHVhdG9yIG1fbWVkaWFRdWVyeUV2YWx1YXRvcjsKICAgICBzdGQ6OnVuaXF1
ZV9wdHI8UmVuZGVyU3R5bGU+IG1fcm9vdERlZmF1bHRTdHlsZTsKIAogICAgIERvY3VtZW50JiBt
X2RvY3VtZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZS5o
IGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZS5oCmluZGV4IDY1Njg2YTY4NGM0My4u
ZDM2MTVjNTdmMGY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3Bl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZS5oCkBAIC0yOCw3ICsyOCw3
IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIkxheW91dFNpemUuaCIKLSNpbmNsdWRlICJN
ZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCisjaW5jbHVkZSAiTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRv
ci5oIgogI2luY2x1ZGUgIlN0eWxlU2NvcGVPcmRpbmFsLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIK
ICNpbmNsdWRlIDxtZW1vcnk+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHls
ZVNjb3BlUnVsZVNldHMuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZVJ1bGVT
ZXRzLmNwcAppbmRleCA3OWQzZDg5OGVlNmUuLjliZTAzNTAyMTE4NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZVJ1bGVTZXRzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9TdHlsZVNjb3BlUnVsZVNldHMuY3BwCkBAIC0zNiw3ICszNiw3IEBACiAjaW5j
bHVkZSAiRnJhbWVMb2FkZXIuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudC5oIgogI2lu
Y2x1ZGUgIkhUTUxOYW1lcy5oIgotI2luY2x1ZGUgIk1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKKyNp
bmNsdWRlICJMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgog
I2luY2x1ZGUgIlJ1bGVTZXRCdWlsZGVyLmgiCiAjaW5jbHVkZSAiU3R5bGVSZXNvbHZlci5oIgpA
QCAtMTM2LDcgKzEzNiw3IEBAIHZvaWQgU2NvcGVSdWxlU2V0czo6aW5pdGlhbGl6ZVVzZXJTdHls
ZSgpCiAgICAgICAgIG1fdXNlclN0eWxlID0gV1RGTW92ZSh1c2VyU3R5bGUpOwogfQogCi12b2lk
IFNjb3BlUnVsZVNldHM6OmNvbGxlY3RSdWxlc0Zyb21Vc2VyU3R5bGVTaGVldHMoY29uc3QgVmVj
dG9yPFJlZlB0cjxDU1NTdHlsZVNoZWV0Pj4mIHVzZXJTaGVldHMsIFJ1bGVTZXQmIHVzZXJTdHls
ZSwgY29uc3QgTWVkaWFRdWVyeUV2YWx1YXRvciYgbWVkaWFRdWVyeUV2YWx1YXRvcikKK3ZvaWQg
U2NvcGVSdWxlU2V0czo6Y29sbGVjdFJ1bGVzRnJvbVVzZXJTdHlsZVNoZWV0cyhjb25zdCBWZWN0
b3I8UmVmUHRyPENTU1N0eWxlU2hlZXQ+PiYgdXNlclNoZWV0cywgUnVsZVNldCYgdXNlclN0eWxl
LCBjb25zdCBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yJiBtZWRpYVF1ZXJ5RXZhbHVhdG9yKQog
ewogICAgIFJ1bGVTZXRCdWlsZGVyIGJ1aWxkZXIodXNlclN0eWxlLCBtZWRpYVF1ZXJ5RXZhbHVh
dG9yLCAmbV9zdHlsZVJlc29sdmVyKTsKICAgICBmb3IgKGF1dG8mIHNoZWV0IDogdXNlclNoZWV0
cykgewpAQCAtMTkzLDcgKzE5Myw3IEBAIGJvb2wgU2NvcGVSdWxlU2V0czo6aGFzQ29udGFpbmVy
UXVlcmllcygpIGNvbnN0CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1zdGQ6Om9wdGlvbmFsPER5
bmFtaWNNZWRpYVF1ZXJ5RXZhbHVhdGlvbkNoYW5nZXM+IFNjb3BlUnVsZVNldHM6OmV2YWx1YXRl
RHluYW1pY01lZGlhUXVlcnlSdWxlcyhjb25zdCBNZWRpYVF1ZXJ5RXZhbHVhdG9yJiBldmFsdWF0
b3IpCitzdGQ6Om9wdGlvbmFsPER5bmFtaWNNZWRpYVF1ZXJ5RXZhbHVhdGlvbkNoYW5nZXM+IFNj
b3BlUnVsZVNldHM6OmV2YWx1YXRlRHluYW1pY01lZGlhUXVlcnlSdWxlcyhjb25zdCBMZWdhY3lN
ZWRpYVF1ZXJ5RXZhbHVhdG9yJiBldmFsdWF0b3IpCiB7CiAgICAgc3RkOjpvcHRpb25hbDxEeW5h
bWljTWVkaWFRdWVyeUV2YWx1YXRpb25DaGFuZ2VzPiBldmFsdWF0aW9uQ2hhbmdlczsKIApAQCAt
MjE1LDcgKzIxNSw3IEBAIHN0ZDo6b3B0aW9uYWw8RHluYW1pY01lZGlhUXVlcnlFdmFsdWF0aW9u
Q2hhbmdlcz4gU2NvcGVSdWxlU2V0czo6ZXZhbHVhdGVEeW5hbWljCiAgICAgcmV0dXJuIGV2YWx1
YXRpb25DaGFuZ2VzOwogfQogCi12b2lkIFNjb3BlUnVsZVNldHM6OmFwcGVuZEF1dGhvclN0eWxl
U2hlZXRzKGNvbnN0IFZlY3RvcjxSZWZQdHI8Q1NTU3R5bGVTaGVldD4+JiBzdHlsZVNoZWV0cywg
TWVkaWFRdWVyeUV2YWx1YXRvciogbWVkaWFRdWVyeUV2YWx1YXRvciwgSW5zcGVjdG9yQ1NTT01X
cmFwcGVycyYgaW5zcGVjdG9yQ1NTT01XcmFwcGVycykKK3ZvaWQgU2NvcGVSdWxlU2V0czo6YXBw
ZW5kQXV0aG9yU3R5bGVTaGVldHMoY29uc3QgVmVjdG9yPFJlZlB0cjxDU1NTdHlsZVNoZWV0Pj4m
IHN0eWxlU2hlZXRzLCBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yKiBtZWRpYVF1ZXJ5RXZhbHVh
dG9yLCBJbnNwZWN0b3JDU1NPTVdyYXBwZXJzJiBpbnNwZWN0b3JDU1NPTVdyYXBwZXJzKQogewog
ICAgIFJ1bGVTZXRCdWlsZGVyIGJ1aWxkZXIoKm1fYXV0aG9yU3R5bGUsICptZWRpYVF1ZXJ5RXZh
bHVhdG9yLCAmbV9zdHlsZVJlc29sdmVyKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3R5bGUvU3R5bGVTY29wZVJ1bGVTZXRzLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNj
b3BlUnVsZVNldHMuaAppbmRleCBlOWVlYTJmYzUxZTEuLjY1MTIzNjE3MWM1ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZVJ1bGVTZXRzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZVJ1bGVTZXRzLmgKQEAgLTM1LDcgKzM1LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQ1NTU3R5bGVSdWxlOwogY2xhc3MgQ1NTU3R5bGVTaGVl
dDsKIGNsYXNzIEV4dGVuc2lvblN0eWxlU2hlZXRzOwotY2xhc3MgTWVkaWFRdWVyeUV2YWx1YXRv
cjsKK2NsYXNzIExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3I7CiAKIG5hbWVzcGFjZSBTdHlsZSB7
CiAKQEAgLTc3LDE0ICs3NywxNCBAQCBwdWJsaWM6CiAgICAgdm9pZCBpbml0aWFsaXplVXNlclN0
eWxlKCk7CiAKICAgICB2b2lkIHJlc2V0QXV0aG9yU3R5bGUoKTsKLSAgICB2b2lkIGFwcGVuZEF1
dGhvclN0eWxlU2hlZXRzKGNvbnN0IFZlY3RvcjxSZWZQdHI8Q1NTU3R5bGVTaGVldD4+JiwgTWVk
aWFRdWVyeUV2YWx1YXRvciosIFN0eWxlOjpJbnNwZWN0b3JDU1NPTVdyYXBwZXJzJik7CisgICAg
dm9pZCBhcHBlbmRBdXRob3JTdHlsZVNoZWV0cyhjb25zdCBWZWN0b3I8UmVmUHRyPENTU1N0eWxl
U2hlZXQ+PiYsIExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IqLCBTdHlsZTo6SW5zcGVjdG9yQ1NT
T01XcmFwcGVycyYpOwogCiAgICAgdm9pZCByZXNldFVzZXJBZ2VudE1lZGlhUXVlcnlTdHlsZSgp
OwogCiAgICAgYm9vbCBoYXNWaWV3cG9ydERlcGVuZGVudE1lZGlhUXVlcmllcygpIGNvbnN0Owog
ICAgIGJvb2wgaGFzQ29udGFpbmVyUXVlcmllcygpIGNvbnN0OwogCi0gICAgc3RkOjpvcHRpb25h
bDxEeW5hbWljTWVkaWFRdWVyeUV2YWx1YXRpb25DaGFuZ2VzPiBldmFsdWF0ZUR5bmFtaWNNZWRp
YVF1ZXJ5UnVsZXMoY29uc3QgTWVkaWFRdWVyeUV2YWx1YXRvciYpOworICAgIHN0ZDo6b3B0aW9u
YWw8RHluYW1pY01lZGlhUXVlcnlFdmFsdWF0aW9uQ2hhbmdlcz4gZXZhbHVhdGVEeW5hbWljTWVk
aWFRdWVyeVJ1bGVzKGNvbnN0IExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3ImKTsKIAogICAgIFJ1
bGVGZWF0dXJlU2V0JiBtdXRhYmxlRmVhdHVyZXMoKTsKIApAQCAtOTQsNyArOTQsNyBAQCBwdWJs
aWM6CiAKIHByaXZhdGU6CiAgICAgdm9pZCBjb2xsZWN0RmVhdHVyZXMoKSBjb25zdDsKLSAgICB2
b2lkIGNvbGxlY3RSdWxlc0Zyb21Vc2VyU3R5bGVTaGVldHMoY29uc3QgVmVjdG9yPFJlZlB0cjxD
U1NTdHlsZVNoZWV0Pj4mLCBSdWxlU2V0JiB1c2VyU3R5bGUsIGNvbnN0IE1lZGlhUXVlcnlFdmFs
dWF0b3ImKTsKKyAgICB2b2lkIGNvbGxlY3RSdWxlc0Zyb21Vc2VyU3R5bGVTaGVldHMoY29uc3Qg
VmVjdG9yPFJlZlB0cjxDU1NTdHlsZVNoZWV0Pj4mLCBSdWxlU2V0JiB1c2VyU3R5bGUsIGNvbnN0
IExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3ImKTsKICAgICB2b2lkIHVwZGF0ZVVzZXJBZ2VudE1l
ZGlhUXVlcnlTdHlsZUlmTmVlZGVkKCkgY29uc3Q7CiAKICAgICBSZWZQdHI8UnVsZVNldD4gbV9h
dXRob3JTdHlsZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0
eWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcAppbmRleCAw
YTMyNzU3ZDhjN2EuLmIxNzg4ODRlZDExMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5
bGUvVXNlckFnZW50U3R5bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2Vu
dFN0eWxlLmNwcApAQCAtNDYsOCArNDYsOCBAQAogI2luY2x1ZGUgIkhUTUxNZWRpYUVsZW1lbnQu
aCIKICNpbmNsdWRlICJIVE1MT2JqZWN0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxTcGFuRWxl
bWVudC5oIgorI2luY2x1ZGUgIkxlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKICNpbmNsdWRl
ICJNYXRoTUxFbGVtZW50LmgiCi0jaW5jbHVkZSAiTWVkaWFRdWVyeUV2YWx1YXRvci5oIgogI2lu
Y2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJRdWlya3MuaCIKICNpbmNsdWRlICJSZW5kZXJUaGVt
ZS5oIgpAQCAtOTUsMTUgKzk1LDE1IEBAIFN0eWxlU2hlZXRDb250ZW50cyogVXNlckFnZW50U3R5
bGU6OmxlZ2FjeUZvcm1Db250cm9sc0lPU1N0eWxlU2hlZXQ7CiBTdHlsZVNoZWV0Q29udGVudHMq
IFVzZXJBZ2VudFN0eWxlOjphbHRlcm5hdGVGb3JtQ29udHJvbERlc2lnblN0eWxlU2hlZXQ7CiAj
ZW5kaWYKIAotc3RhdGljIGNvbnN0IE1lZGlhUXVlcnlFdmFsdWF0b3ImIHNjcmVlbkV2YWwoKQor
c3RhdGljIGNvbnN0IExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3ImIHNjcmVlbkV2YWwoKQogewot
ICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxjb25zdCBNZWRpYVF1ZXJ5RXZhbHVhdG9yPiBzdGF0
aWNTY3JlZW5FdmFsKFN0cmluZyhNQUtFX1NUQVRJQ19TVFJJTkdfSU1QTCgic2NyZWVuIikpKTsK
KyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Y29uc3QgTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRv
cj4gc3RhdGljU2NyZWVuRXZhbChTdHJpbmcoTUFLRV9TVEFUSUNfU1RSSU5HX0lNUEwoInNjcmVl
biIpKSk7CiAgICAgcmV0dXJuIHN0YXRpY1NjcmVlbkV2YWw7CiB9CiAKLXN0YXRpYyBjb25zdCBN
ZWRpYVF1ZXJ5RXZhbHVhdG9yJiBwcmludEV2YWwoKQorc3RhdGljIGNvbnN0IExlZ2FjeU1lZGlh
UXVlcnlFdmFsdWF0b3ImIHByaW50RXZhbCgpCiB7Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVk
PGNvbnN0IE1lZGlhUXVlcnlFdmFsdWF0b3I+IHN0YXRpY1ByaW50RXZhbChTdHJpbmcoTUFLRV9T
VEFUSUNfU1RSSU5HX0lNUEwoInByaW50IikpKTsKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8
Y29uc3QgTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvcj4gc3RhdGljUHJpbnRFdmFsKFN0cmluZyhN
QUtFX1NUQVRJQ19TVFJJTkdfSU1QTCgicHJpbnQiKSkpOwogICAgIHJldHVybiBzdGF0aWNQcmlu
dEV2YWw7CiB9CiAK
</data>
<flag name="commit-queue"
          id="491585"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>463026</attachid>
            <date>2022-10-17 03:09:23 -0700</date>
            <delta_ts>2022-10-17 03:57:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-246611-20221017130921.patch</filename>
            <type>text/plain</type>
            <size>55370</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">RnJvbSA1ZmRhY2NkMGMxMTM0ZWY3NzVhMDBkNGQ2MWUwZDM2M2IyN2NmNWRjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnR0aSBLb2l2aXN0byA8YW50dGlAYXBwbGUuY29tPgpEYXRl
OiBNb24sIDE3IE9jdCAyMDIyIDEyOjUxOjU5ICswMzAwClN1YmplY3Q6IFtQQVRDSF0gW01RNF0g
UmVuYW1lIE1lZGlhUXVlcnlFdmFsdWF0b3IgdG8gTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvcgog
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0NjYxMSByZGFyOi8vMTAx
MjM5NzE4CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCkluIHByZXBhcmF0aW9uIGZvciBh
IG1vZGVybiBldmFsdWF0b3IuCgoqIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0OgoqIFNvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKiBTb3VyY2UvV2Vi
Q29yZS9jc3MvTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvci5jcHA6IFJlbmFtZWQgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5jcHAuCihXZWJDb3JlOjpvcGVyYXRv
cjw8KToKKFdlYkNvcmU6OmlzQWNjZXNzaWJpbGl0eVNldHRpbmdzRGVwZW5kZW50KToKKFdlYkNv
cmU6OmlzQXBwZWFyYW5jZURlcGVuZGVudCk6CihXZWJDb3JlOjptZWRpYVF1ZXJ5Vmlld3BvcnRT
dGF0ZUZvckRvY3VtZW50KToKKFdlYkNvcmU6OkxlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3I6Okxl
Z2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IpOgooV2ViQ29yZTo6TGVnYWN5TWVkaWFRdWVyeUV2YWx1
YXRvcjo6bWVkaWFUeXBlTWF0Y2ggY29uc3QpOgooV2ViQ29yZTo6TGVnYWN5TWVkaWFRdWVyeUV2
YWx1YXRvcjo6bWVkaWFUeXBlTWF0Y2hTcGVjaWZpYyBjb25zdCk6CihXZWJDb3JlOjphcHBseVJl
c3RyaWN0b3IpOgooV2ViQ29yZTo6TGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvcjo6ZXZhbHVhdGUg
Y29uc3QpOgooV2ViQ29yZTo6TGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvcjo6ZXZhbHVhdGVGb3JD
aGFuZ2VzIGNvbnN0KToKKFdlYkNvcmU6OmNvbXBhcmVWYWx1ZSk6CihXZWJDb3JlOjphc3BlY3RS
YXRpb1ZhbHVlQXNTdHJpbmcpOgooV2ViQ29yZTo6Y29tcGFyZUFzcGVjdFJhdGlvVmFsdWUpOgoo
V2ViQ29yZTo6ZG91YmxlVmFsdWUpOgooV2ViQ29yZTo6emVyb0V2YWx1YXRlKToKKFdlYkNvcmU6
Om9uZUV2YWx1YXRlKToKKFdlYkNvcmU6OmNvbG9yRXZhbHVhdGUpOgooV2ViQ29yZTo6Y29sb3JJ
bmRleEV2YWx1YXRlKToKKFdlYkNvcmU6OmNvbG9yR2FtdXRFdmFsdWF0ZSk6CihXZWJDb3JlOjpt
b25vY2hyb21lRXZhbHVhdGUpOgooV2ViQ29yZTo6aW52ZXJ0ZWRDb2xvcnNFdmFsdWF0ZSk6CihX
ZWJDb3JlOjpvcmllbnRhdGlvbkV2YWx1YXRlKToKKFdlYkNvcmU6OmFzcGVjdFJhdGlvRXZhbHVh
dGUpOgooV2ViQ29yZTo6ZGV2aWNlQXNwZWN0UmF0aW9FdmFsdWF0ZSk6CihXZWJDb3JlOjpldmFs
dWF0ZVJlc29sdXRpb24pOgooV2ViQ29yZTo6ZGV2aWNlUGl4ZWxSYXRpb0V2YWx1YXRlKToKKFdl
YkNvcmU6OnJlc29sdXRpb25FdmFsdWF0ZSk6CihXZWJDb3JlOjpkeW5hbWljUmFuZ2VFdmFsdWF0
ZSk6CihXZWJDb3JlOjpzY2FuRXZhbHVhdGUpOgooV2ViQ29yZTo6Zm9yY2VkQ29sb3JzRXZhbHVh
dGUpOgooV2ViQ29yZTo6Z3JpZEV2YWx1YXRlKToKKFdlYkNvcmU6OmNvbXB1dGVMZW5ndGgpOgoo
V2ViQ29yZTo6ZGV2aWNlSGVpZ2h0RXZhbHVhdGUpOgooV2ViQ29yZTo6ZGV2aWNlV2lkdGhFdmFs
dWF0ZSk6CihXZWJDb3JlOjpoZWlnaHRFdmFsdWF0ZSk6CihXZWJDb3JlOjp3aWR0aEV2YWx1YXRl
KToKKFdlYkNvcmU6Om1pbkNvbG9yRXZhbHVhdGUpOgooV2ViQ29yZTo6bWF4Q29sb3JFdmFsdWF0
ZSk6CihXZWJDb3JlOjptaW5Db2xvckluZGV4RXZhbHVhdGUpOgooV2ViQ29yZTo6bWF4Q29sb3JJ
bmRleEV2YWx1YXRlKToKKFdlYkNvcmU6Om1pbk1vbm9jaHJvbWVFdmFsdWF0ZSk6CihXZWJDb3Jl
OjptYXhNb25vY2hyb21lRXZhbHVhdGUpOgooV2ViQ29yZTo6bWluQXNwZWN0UmF0aW9FdmFsdWF0
ZSk6CihXZWJDb3JlOjptYXhBc3BlY3RSYXRpb0V2YWx1YXRlKToKKFdlYkNvcmU6Om1pbkRldmlj
ZUFzcGVjdFJhdGlvRXZhbHVhdGUpOgooV2ViQ29yZTo6bWF4RGV2aWNlQXNwZWN0UmF0aW9FdmFs
dWF0ZSk6CihXZWJDb3JlOjptaW5EZXZpY2VQaXhlbFJhdGlvRXZhbHVhdGUpOgooV2ViQ29yZTo6
bWF4RGV2aWNlUGl4ZWxSYXRpb0V2YWx1YXRlKToKKFdlYkNvcmU6Om1pbkhlaWdodEV2YWx1YXRl
KToKKFdlYkNvcmU6Om1heEhlaWdodEV2YWx1YXRlKToKKFdlYkNvcmU6Om1pbldpZHRoRXZhbHVh
dGUpOgooV2ViQ29yZTo6bWF4V2lkdGhFdmFsdWF0ZSk6CihXZWJDb3JlOjptaW5EZXZpY2VIZWln
aHRFdmFsdWF0ZSk6CihXZWJDb3JlOjptYXhEZXZpY2VIZWlnaHRFdmFsdWF0ZSk6CihXZWJDb3Jl
OjptaW5EZXZpY2VXaWR0aEV2YWx1YXRlKToKKFdlYkNvcmU6Om1heERldmljZVdpZHRoRXZhbHVh
dGUpOgooV2ViQ29yZTo6bWluUmVzb2x1dGlvbkV2YWx1YXRlKToKKFdlYkNvcmU6Om1heFJlc29s
dXRpb25FdmFsdWF0ZSk6CihXZWJDb3JlOjphbmltYXRpb25FdmFsdWF0ZSk6CihXZWJDb3JlOjp0
cmFuc2l0aW9uRXZhbHVhdGUpOgooV2ViQ29yZTo6dHJhbnNmb3JtMmRFdmFsdWF0ZSk6CihXZWJD
b3JlOjp0cmFuc2Zvcm0zZEV2YWx1YXRlKToKKFdlYkNvcmU6OnZpZGVvUGxheWFibGVJbmxpbmVF
dmFsdWF0ZSk6CihXZWJDb3JlOjpob3ZlckV2YWx1YXRlKToKKFdlYkNvcmU6OmFueUhvdmVyRXZh
bHVhdGUpOgooV2ViQ29yZTo6cG9pbnRlckV2YWx1YXRlKToKKFdlYkNvcmU6OmFueVBvaW50ZXJF
dmFsdWF0ZSk6CihXZWJDb3JlOjpwcmVmZXJzRGFya0ludGVyZmFjZUV2YWx1YXRlKToKKFdlYkNv
cmU6OnByZWZlcnNDb2xvclNjaGVtZUV2YWx1YXRlKToKKFdlYkNvcmU6OnByZWZlcnNDb250cmFz
dEV2YWx1YXRlKToKKFdlYkNvcmU6OnByZWZlcnNSZWR1Y2VkTW90aW9uRXZhbHVhdGUpOgooV2Vi
Q29yZTo6ZGlzcGxheU1vZGVFdmFsdWF0ZSk6CihXZWJDb3JlOjphZGQpOgooV2ViQ29yZTo6TGVn
YWN5TWVkaWFRdWVyeUV2YWx1YXRvcjo6bWVkaWFBdHRyaWJ1dGVNYXRjaGVzKToKKiBTb3VyY2Uv
V2ViQ29yZS9jc3MvTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvci5oOiBSZW5hbWVkIGZyb20gU291
cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuaC4KKFdlYkNvcmU6Ok1lZGlhUXVl
cnlEeW5hbWljUmVzdWx0czo6YXBwZW5kKToKKFdlYkNvcmU6Ok1lZGlhUXVlcnlEeW5hbWljUmVz
dWx0czo6aXNFbXB0eSBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0
LmNwcDoKKFdlYkNvcmU6Ok1lZGlhUXVlcnlMaXN0OjpldmFsdWF0ZSk6CiogU291cmNlL1dlYkNv
cmUvY3NzL01lZGlhUXVlcnlMaXN0Lmg6CiogU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlN
YXRjaGVyLmNwcDoKKFdlYkNvcmU6Ok1lZGlhUXVlcnlNYXRjaGVyOjpldmFsdWF0ZSk6CihXZWJD
b3JlOjpNZWRpYVF1ZXJ5TWF0Y2hlcjo6ZXZhbHVhdGVBbGwpOgoqIFNvdXJjZS9XZWJDb3JlL2Nz
cy9NZWRpYVF1ZXJ5TWF0Y2hlci5oOgoqIFNvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvU2l6ZXNB
dHRyaWJ1dGVQYXJzZXIuY3BwOgooV2ViQ29yZTo6U2l6ZXNBdHRyaWJ1dGVQYXJzZXI6Om1lZGlh
Q29uZGl0aW9uTWF0Y2hlcyk6CiogU291cmNlL1dlYkNvcmUvZG9tL0lubGluZVN0eWxlU2hlZXRP
d25lci5jcHA6CiogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcDoKKFdl
YkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OmJlc3RGaXRTb3VyY2VGcm9tUGljdHVyZUVsZW1lbnQp
OgooV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6ZXZhbHVhdGVEeW5hbWljTWVkaWFRdWVyeURl
cGVuZGVuY2llcyk6CiogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50Lmg6Ciog
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwOgooV2ViQ29yZTo6SFRNTExp
bmtFbGVtZW50OjptZWRpYUF0dHJpYnV0ZU1hdGNoZXMgY29uc3QpOgoqIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CihXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpz
ZWxlY3ROZXh0U291cmNlQ2hpbGQpOgoqIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1ldGFFbGVt
ZW50LmNwcDoKKFdlYkNvcmU6OkhUTUxNZXRhRWxlbWVudDo6bWVkaWFBdHRyaWJ1dGVNYXRjaGVz
KToKKiBTb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwOgoo
V2ViQ29yZTo6VG9rZW5QcmVsb2FkU2Nhbm5lcjo6U3RhcnRUYWdTY2FubmVyOjpwcm9jZXNzQXR0
cmlidXRlKToKKiBTb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUmVzb3VyY2VQcmVsb2Fk
ZXIuY3BwOgooV2ViQ29yZTo6SFRNTFJlc291cmNlUHJlbG9hZGVyOjpwcmVsb2FkKToKKiBTb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlci5jcHA6CihXZWJDb3JlOjpMaW5rTG9hZGVyOjpw
cmVsb2FkSWZOZWVkZWQpOgoqIFNvdXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVj
dG9yLmg6CihXZWJDb3JlOjpTdHlsZTo6RWxlbWVudFJ1bGVDb2xsZWN0b3I6OnNldE1lZGl1bSk6
CiogU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZURhdGEuY3BwOgoqIFNvdXJjZS9XZWJDb3JlL3N0
eWxlL1J1bGVTZXQuY3BwOgooV2ViQ29yZTo6U3R5bGU6OlJ1bGVTZXQ6OmV2YWx1YXRlRHluYW1p
Y01lZGlhUXVlcnlSdWxlcyk6CiogU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldC5oOgoqIFNv
dXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXRCdWlsZGVyLmNwcDoKKFdlYkNvcmU6OlN0eWxlOjpS
dWxlU2V0QnVpbGRlcjo6UnVsZVNldEJ1aWxkZXIpOgooV2ViQ29yZTo6U3R5bGU6OlJ1bGVTZXRC
dWlsZGVyOjpNZWRpYVF1ZXJ5Q29sbGVjdG9yOjpwdXNoQW5kRXZhbHVhdGUpOgoqIFNvdXJjZS9X
ZWJDb3JlL3N0eWxlL1J1bGVTZXRCdWlsZGVyLmg6CiogU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5
bGVJbnZhbGlkYXRvci5jcHA6CihXZWJDb3JlOjpTdHlsZTo6SW52YWxpZGF0b3I6OkludmFsaWRh
dG9yKToKKiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUludmFsaWRhdG9yLmg6CiogU291cmNl
L1dlYkNvcmUvc3R5bGUvU3R5bGVSZXNvbHZlci5jcHA6CihXZWJDb3JlOjpTdHlsZTo6UmVzb2x2
ZXI6OlJlc29sdmVyKToKKiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVJlc29sdmVyLmg6CihX
ZWJDb3JlOjpTdHlsZTo6UmVzb2x2ZXI6Om1lZGlhUXVlcnlFdmFsdWF0b3IgY29uc3QpOgoqIFNv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGUuaDoKKiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9T
dHlsZVNjb3BlUnVsZVNldHMuY3BwOgooV2ViQ29yZTo6U3R5bGU6OlNjb3BlUnVsZVNldHM6OmNv
bGxlY3RSdWxlc0Zyb21Vc2VyU3R5bGVTaGVldHMpOgooV2ViQ29yZTo6U3R5bGU6OlNjb3BlUnVs
ZVNldHM6OmV2YWx1YXRlRHluYW1pY01lZGlhUXVlcnlSdWxlcyk6CihXZWJDb3JlOjpTdHlsZTo6
U2NvcGVSdWxlU2V0czo6YXBwZW5kQXV0aG9yU3R5bGVTaGVldHMpOgoqIFNvdXJjZS9XZWJDb3Jl
L3N0eWxlL1N0eWxlU2NvcGVSdWxlU2V0cy5oOgoqIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJB
Z2VudFN0eWxlLmNwcDoKKFdlYkNvcmU6OlN0eWxlOjpzY3JlZW5FdmFsKToKKFdlYkNvcmU6OlN0
eWxlOjpwcmludEV2YWwpOgotLS0KIFNvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UgICAgICAg
ICAgICAgICAgICB8ICAyICstCiBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCAgICAgICAgICAg
ICAgICAgICAgfCAgMiArLQogLi4uL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIHwgMTQgKysrKy0tLS0KIC4uLmF0b3IuY3BwID0+IExlZ2FjeU1lZGlhUXVlcnlFdmFs
dWF0b3IuY3BwfSB8IDM0ICsrKysrKysrKy0tLS0tLS0tLS0KIC4uLnZhbHVhdG9yLmggPT4gTGVn
YWN5TWVkaWFRdWVyeUV2YWx1YXRvci5ofSB8ICA4ICsrLS0tCiBTb3VyY2UvV2ViQ29yZS9jc3Mv
TWVkaWFRdWVyeUxpc3QuY3BwICAgICAgICAgfCAgMiArLQogU291cmNlL1dlYkNvcmUvY3NzL01l
ZGlhUXVlcnlMaXN0LmggICAgICAgICAgIHwgIDQgKy0tCiBTb3VyY2UvV2ViQ29yZS9jc3MvTWVk
aWFRdWVyeU1hdGNoZXIuY3BwICAgICAgfCAgNiArKy0tCiBTb3VyY2UvV2ViQ29yZS9jc3MvTWVk
aWFRdWVyeU1hdGNoZXIuaCAgICAgICAgfCAgMiArLQogLi4uL2Nzcy9wYXJzZXIvU2l6ZXNBdHRy
aWJ1dGVQYXJzZXIuY3BwICAgICAgIHwgIDQgKy0tCiBTb3VyY2UvV2ViQ29yZS9kb20vSW5saW5l
U3R5bGVTaGVldE93bmVyLmNwcCAgfCAgMiArLQogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1h
Z2VFbGVtZW50LmNwcCAgICAgIHwgIDYgKystLQogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1h
Z2VFbGVtZW50LmggICAgICAgIHwgIDIgKy0KIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtF
bGVtZW50LmNwcCAgICAgICB8ICA0ICstLQogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmNwcCAgICAgIHwgIDQgKy0tCiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZXRhRWxl
bWVudC5jcHAgICAgICAgfCAgNCArLS0KIC4uLi9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5u
ZXIuY3BwICAgICAgICB8ICA0ICstLQogLi4uL2h0bWwvcGFyc2VyL0hUTUxSZXNvdXJjZVByZWxv
YWRlci5jcHAgICAgIHwgIDcgKystLQogU291cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIu
Y3BwICAgICAgICAgIHwgIDQgKy0tCiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9FbGVtZW50UnVsZUNv
bGxlY3Rvci5oICAgfCAgNCArLS0KIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVEYXRhLmNwcCAg
ICAgICAgICAgICB8ICAxIC0KIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuY3BwICAgICAg
ICAgICAgICB8ICA4ICsrLS0tCiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmggICAgICAg
ICAgICAgICAgfCAgNiArKy0tCiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0QnVpbGRlci5j
cHAgICAgICAgfCAgOCArKy0tLQogU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldEJ1aWxkZXIu
aCAgICAgICAgIHwgIDYgKystLQogU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVJbnZhbGlkYXRv
ci5jcHAgICAgIHwgIDIgKy0KIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlSW52YWxpZGF0b3Iu
aCAgICAgICB8ICA0ICstLQogU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVSZXNvbHZlci5jcHAg
ICAgICAgIHwgIDggKystLS0KIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlUmVzb2x2ZXIuaCAg
ICAgICAgICB8ICA2ICsrLS0KIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGUuaCAgICAg
ICAgICAgICB8ICAyICstCiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlUnVsZVNldHMu
Y3BwICAgfCAgOCArKy0tLQogU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZVJ1bGVTZXRz
LmggICAgIHwgIDggKystLS0KIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxlLmNw
cCAgICAgICB8IDEwICsrKy0tLQogMzMgZmlsZXMgY2hhbmdlZCwgOTcgaW5zZXJ0aW9ucygrKSwg
OTkgZGVsZXRpb25zKC0pCiByZW5hbWUgU291cmNlL1dlYkNvcmUvY3NzL3tNZWRpYVF1ZXJ5RXZh
bHVhdG9yLmNwcCA9PiBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcH0gKDk1JSkKIHJlbmFt
ZSBTb3VyY2UvV2ViQ29yZS9jc3Mve01lZGlhUXVlcnlFdmFsdWF0b3IuaCA9PiBMZWdhY3lNZWRp
YVF1ZXJ5RXZhbHVhdG9yLmh9ICg5MiUpCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVh
ZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggOTlhZGY1NzE2
OWM1Li4zN2Y0YzI4MWFmNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21h
a2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpAQCAtNjE2LDggKzYxNiw4IEBA
IHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICBjc3MvRGVwcmVjYXRl
ZENTU09NVmFsdWUuaAogICAgIGNzcy9EZXByZWNhdGVkQ1NTT01WYWx1ZUxpc3QuaAogICAgIGNz
cy9Gb250TG9hZFRpbWluZ092ZXJyaWRlLmgKKyAgICBjc3MvTGVnYWN5TWVkaWFRdWVyeUV2YWx1
YXRvci5oCiAgICAgY3NzL01lZGlhTGlzdC5oCi0gICAgY3NzL01lZGlhUXVlcnlFdmFsdWF0b3Iu
aAogICAgIGNzcy9NZWRpYVF1ZXJ5RXhwcmVzc2lvbi5oCiAgICAgY3NzL01lZGlhUXVlcnlQYXJz
ZXJDb250ZXh0LmgKICAgICBjc3MvUmVjdC5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9T
b3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDg1ZDk2NDI2NzBk
MC4uNDNhNTA5NTVlMjYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtODI3LDEwICs4MjcsMTAgQEAgY3Nz
L0RlcHJlY2F0ZWRDU1NPTVZhbHVlTGlzdC5jcHAKIGNzcy9Gb250RmFjZS5jcHAKIGNzcy9Gb250
RmFjZVNldC5jcHAKIGNzcy9Gb250VmFyaWFudEJ1aWxkZXIuY3BwCitjc3MvTGVnYWN5TWVkaWFR
dWVyeUV2YWx1YXRvci5jcHAKIGNzcy9NZWRpYUZlYXR1cmVOYW1lcy5jcHAKIGNzcy9NZWRpYUxp
c3QuY3BwCiBjc3MvTWVkaWFRdWVyeS5jcHAKLWNzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcAog
Y3NzL01lZGlhUXVlcnlFeHByZXNzaW9uLmNwcAogY3NzL01lZGlhUXVlcnlMaXN0LmNwcAogY3Nz
L01lZGlhUXVlcnlMaXN0RXZlbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZWM4NzFiM2MzNGU4Li5lYzE0NTMxZmEzMTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTE2MDQsNyArMTYwNCw3IEBACiAJCTREQjcxMzBEMjE2RUNCNEQwMDk2QTRERCAvKiBN
ZWRpYVJlY29yZGVyRXJyb3JFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNERCNzEzMEMyMTZFQzJCRDAwOTZBNEREIC8qIE1lZGlhUmVjb3JkZXJF
cnJvckV2ZW50LmggKi87IH07CiAJCTRFMTk1OTIyMEEzOURBQkEwMDIyMEZFNSAvKiBNZWRpYUZl
YXR1cmVOYW1lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNEUxOTU5MjAwQTM5REFCQTAwMjIwRkU1IC8qIE1lZGlhRmVhdHVyZU5hbWVzLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNEUxOTU5MkEwQTM5
REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVlcnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDRFMTk1OTI0MEEzOURBQ0MwMDIyMEZFNSAvKiBNZWRpYVF1ZXJ5
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNEUx
OTU5MkMwQTM5REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVlcnlFdmFsdWF0b3IuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRFMTk1OTI2MEEzOURBQ0MwMDIy
MEZFNSAvKiBNZWRpYVF1ZXJ5RXZhbHVhdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNEUxOTU5MkMwQTM5REFDQzAwMjIwRkU1IC8qIExlZ2Fj
eU1lZGlhUXVlcnlFdmFsdWF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDRFMTk1OTI2MEEzOURBQ0MwMDIyMEZFNSAvKiBMZWdhY3lNZWRpYVF1ZXJ5
RXZhbHVhdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJNEYxNTM0REUxMUI1MzJFQzAwMjFGRDg2IC8qIEVkaXRpbmdCZWhhdmlvci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEYxNTM0REQxMUI1MzJF
QzAwMjFGRDg2IC8qIEVkaXRpbmdCZWhhdmlvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTRGMTUzNEUwMTFCNTMzMDIwMDIxRkQ4NiAvKiBFZGl0
aW5nQmVoYXZpb3JUeXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0RjE1MzRERjExQjUzMzAyMDAyMUZEODYgLyogRWRpdGluZ0JlaGF2aW9yVHlwZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTRGQTY1
QTZDMTEwOEFCRUQwMDI2MTVFMCAvKiBNYXRoTUxTcGFjZUVsZW1lbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRGQTY1QTZBMTEwOEFCRUQwMDI2MTVF
MCAvKiBNYXRoTUxTcGFjZUVsZW1lbnQuaCAqLzsgfTsKQEAgLTk5ODIsOCArOTk4Miw4IEBACiAJ
CTRFMTk1OTIwMEEzOURBQkEwMDIyMEZFNSAvKiBNZWRpYUZlYXR1cmVOYW1lcy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFGZWF0dXJlTmFtZXMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEUxOTU5MjMwQTM5REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVl
cnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhUXVlcnku
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0RTE5NTkyNDBBMzlEQUNDMDAyMjBG
RTUgLyogTWVkaWFRdWVyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVk
aWFRdWVyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0RTE5NTkyNTBBMzlEQUND
MDAyMjBGRTUgLyogTWVkaWFRdWVyeUV2YWx1YXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFRdWVyeUV2YWx1YXRvci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCTRFMTk1OTI2MEEzOURBQ0MwMDIyMEZFNSAvKiBNZWRpYVF1ZXJ5RXZh
bHVhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVF1ZXJ5RXZh
bHVhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTRFMTk1OTI1MEEzOURBQ0Mw
MDIyMEZFNSAvKiBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNEUxOTU5MjYwQTM5REFDQzAwMjIwRkU1IC8qIExl
Z2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNEYxNTM0REQxMUI1MzJFQzAwMjFGRDg2IC8qIEVkaXRpbmdCZWhhdmlvci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFZGl0aW5nQmVoYXZpb3IuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEYxNTM0REYxMUI1MzMwMjAwMjFGRDg2IC8qIEVkaXRpbmdC
ZWhhdmlvclR5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRWRpdGluZ0Jl
aGF2aW9yVHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0RkE2NUE2OTExMDhB
QkVEMDAyNjE1RTAgLyogTWF0aE1MU3BhY2VFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IE1hdGhNTFNwYWNlRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0zMDE4MSw4ICszMDE4MSw4IEBACiAJCUI1MzIwRDY4MTIyQTI0RTkw
MDJEMTQ0MCAvKiBjb2NvYSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4g
PSAoCi0JCQkJN0JDRDQyREEyNzA1Qzk0OTAwRUIyMTI3IC8qIEFOR0xFVXRpbGl0aWVzQ29jb2Eu
bW0gKi8sCiAJCQkJN0JDRDQyREMyNzA1Qzk0OTAwRUIyMTI3IC8qIEFOR0xFVXRpbGl0aWVzQ29j
b2EuaCAqLywKKwkJCQk3QkNENDJEQTI3MDVDOTQ5MDBFQjIxMjcgLyogQU5HTEVVdGlsaXRpZXND
b2NvYS5tbSAqLywKIAkJCQlDREY5OTUwMTI0QzI4MTQ5MDAyRUEwNjIgLyogQXVkaW9UcmFja1By
aXZhdGVXZWJNLmNwcCAqLywKIAkJCQlDREY5OTUwMDI0QzI4MTQ5MDAyRUEwNjIgLyogQXVkaW9U
cmFja1ByaXZhdGVXZWJNLmggKi8sCiAJCQkJNTE1MEI1REMyN0NERjJFMDAwNEZDODFFIC8qIENN
VXRpbGl0aWVzLmggKi8sCkBAIC0zMjk4Miw2ICszMjk4Miw4IEBACiAJCQkJQ0Q0RTBBRkExMUY3
QkMyNzAwOUQzODExIC8qIGZ1bGxzY3JlZW4uY3NzICovLAogCQkJCTkzQ0E0Qzk5MDlERjkzRkEw
MERGODY3NyAvKiBodG1sLmNzcyAqLywKIAkJCQlFNTRDQTZERDI1NURFMkQ1MDBGOTAxQTMgLyog
bGVnYWN5Rm9ybUNvbnRyb2xzSU9TLmNzcyAqLywKKwkJCQk0RTE5NTkyNTBBMzlEQUNDMDAyMjBG
RTUgLyogTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvci5jcHAgKi8sCisJCQkJNEUxOTU5MjYwQTM5
REFDQzAwMjIwRkU1IC8qIExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IuaCAqLywKIAkJCQk5QkU1
NDY4RTI4ODBENzIyMDBGNjM1QTQgLyogTGlua1N0eWxlLmlkbCAqLywKIAkJCQk5M0NBNEM5QTA5
REY5M0ZBMDBERjg2NzcgLyogbWFrZS1jc3MtZmlsZS1hcnJheXMucGwgKi8sCiAJCQkJOTNDQTRD
OUIwOURGOTNGQTAwREY4Njc3IC8qIG1ha2Vwcm9wLnBsICovLApAQCAtMzI5OTcsOCArMzI5OTks
NiBAQAogCQkJCTg1QzU2QzVCMEFBODdBRkQwMEQ5NTc1NSAvKiBNZWRpYUxpc3QuaWRsICovLAog
CQkJCTRFMTk1OTIzMEEzOURBQ0MwMDIyMEZFNSAvKiBNZWRpYVF1ZXJ5LmNwcCAqLywKIAkJCQk0
RTE5NTkyNDBBMzlEQUNDMDAyMjBGRTUgLyogTWVkaWFRdWVyeS5oICovLAotCQkJCTRFMTk1OTI1
MEEzOURBQ0MwMDIyMEZFNSAvKiBNZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcCAqLywKLQkJCQk0RTE5
NTkyNjBBMzlEQUNDMDAyMjBGRTUgLyogTWVkaWFRdWVyeUV2YWx1YXRvci5oICovLAogCQkJCTdD
QjVDQTNEMUU1MjVDNkMwMEZBRUYxMyAvKiBNZWRpYVF1ZXJ5RXhwcmVzc2lvbi5jcHAgKi8sCiAJ
CQkJN0NCNUNBM0UxRTUyNUM2QzAwRkFFRjEzIC8qIE1lZGlhUXVlcnlFeHByZXNzaW9uLmggKi8s
CiAJCQkJRDNBOTRBMzExMjJEQUJBQzAwQTM3QkJDIC8qIE1lZGlhUXVlcnlMaXN0LmNwcCAqLywK
QEAgLTM3MzAxLDYgKzM3MzAxLDcgQEAKIAkJCQlCQ0U3ODkxNjExMjBENjA4MDA2MEVDRTUgLyog
TGVnYWN5SW5saW5lSXRlcmF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRUE0ODVBMDk3RDkz
MDIwMDk0QzlFNCAvKiBMZWdhY3lJbmxpbmVUZXh0Qm94LmggaW4gSGVhZGVycyAqLywKIAkJCQlF
NEU5NEQ2MTIyRkYxNThBMDBERDE5MUYgLyogTGVnYWN5TGluZUxheW91dC5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJNEUxOTU5MkMwQTM5REFDQzAwMjIwRkU1IC8qIExlZ2FjeU1lZGlhUXVlcnlFdmFs
dWF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTk0OTNCNkMxMUQ3NEI0MTIwMDg4RTc4MCAvKiBM
ZWdhY3lNZWRpYVF1ZXJ5UGFyc2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQlGNDRBNUY1OTFGRUQz
OEYyMDA3RjU5NDQgLyogTGVnYWN5TlNQYXN0ZWJvYXJkVHlwZXMuaCBpbiBIZWFkZXJzICovLAog
CQkJCUExODVCNDJBMUU4MjExQTEwMERDOTExOCAvKiBMZWdhY3lQcmV2aWV3TG9hZGVyLmggaW4g
SGVhZGVycyAqLywKQEAgLTM3NDc4LDcgKzM3NDc5LDYgQEAKIAkJCQk1MkUyQ0FGQzE5RkYwMjA3
MDAxRUVCNEYgLyogTWVkaWFQcm9kdWNlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEUxOTU5MkEw
QTM5REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVlcnkuaCBpbiBIZWFkZXJzICovLAogCQkJCTk0OTNC
NkJGMUQ3NEI0MTIwMDg4RTc4MCAvKiBNZWRpYVF1ZXJ5QmxvY2tXYXRjaGVyLmggaW4gSGVhZGVy
cyAqLywKLQkJCQk0RTE5NTkyQzBBMzlEQUNDMDAyMjBGRTUgLyogTWVkaWFRdWVyeUV2YWx1YXRv
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0NCNUNBNDAxRTUyNUM3MzAwRkFFRjEzIC8qIE1lZGlh
UXVlcnlFeHByZXNzaW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlEM0E5NEEzOTEyMkRBQkFDMDBB
MzdCQkMgLyogTWVkaWFRdWVyeUxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTg0NjUwRTdFMjM4
N0FEN0QwMDYyNjZFMiAvKiBNZWRpYVF1ZXJ5TGlzdEV2ZW50LmggaW4gSGVhZGVycyAqLywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9MZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcApzaW1pbGFyaXR5
IGluZGV4IDk1JQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1
YXRvci5jcHAKcmVuYW1lIHRvIFNvdXJjZS9XZWJDb3JlL2Nzcy9MZWdhY3lNZWRpYVF1ZXJ5RXZh
bHVhdG9yLmNwcAppbmRleCA4NzFlYjdjYzkzMzMuLmRhMzZmMmYxZjNmOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9MZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcApAQCAtMjcsNyArMjcsNyBA
QAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJNZWRpYVF1ZXJ5RXZhbHVh
dG9yLmgiCisjaW5jbHVkZSAiTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvci5oIgogCiAjaW5jbHVk
ZSAiQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1ByaW1pdGl2ZVZhbHVlLmgi
CkBAIC05MSwxMSArOTEsMTEgQEAgc3RhdGljIGJvb2wgaXNBY2Nlc3NpYmlsaXR5U2V0dGluZ3NE
ZXBlbmRlbnQoY29uc3QgQXRvbVN0cmluZyYgbWVkaWFGZWF0dXJlKQogCiBzdGF0aWMgYm9vbCBp
c0FwcGVhcmFuY2VEZXBlbmRlbnQoY29uc3QgQXRvbVN0cmluZyYgbWVkaWFGZWF0dXJlKQogewot
ICAgIHJldHVybiBtZWRpYUZlYXR1cmUgPT0gTWVkaWFGZWF0dXJlTmFtZXM6OnByZWZlcnNEYXJr
SW50ZXJmYWNlCiAjaWYgRU5BQkxFKERBUktfTU9ERV9DU1MpCi0gICAgICAgIHx8IG1lZGlhRmVh
dHVyZSA9PSBNZWRpYUZlYXR1cmVOYW1lczo6cHJlZmVyc0NvbG9yU2NoZW1lCisgICAgaWYgKG1l
ZGlhRmVhdHVyZSA9PSBNZWRpYUZlYXR1cmVOYW1lczo6cHJlZmVyc0NvbG9yU2NoZW1lKQorICAg
ICAgICByZXR1cm4gdHJ1ZTsKICNlbmRpZgotICAgIDsKKyAgICByZXR1cm4gbWVkaWFGZWF0dXJl
ID09IE1lZGlhRmVhdHVyZU5hbWVzOjpwcmVmZXJzRGFya0ludGVyZmFjZTsKIH0KIAogTWVkaWFR
dWVyeVZpZXdwb3J0U3RhdGUgbWVkaWFRdWVyeVZpZXdwb3J0U3RhdGVGb3JEb2N1bWVudChjb25z
dCBEb2N1bWVudCYgZG9jdW1lbnQpCkBAIC0xMDQsMzIgKzEwNCwzMiBAQCBNZWRpYVF1ZXJ5Vmll
d3BvcnRTdGF0ZSBtZWRpYVF1ZXJ5Vmlld3BvcnRTdGF0ZUZvckRvY3VtZW50KGNvbnN0IERvY3Vt
ZW50JiBkb2N1bQogICAgIHJldHVybiB7IGRvY3VtZW50LnZpZXcoKS0+bGF5b3V0U2l6ZSgpLCBk
b2N1bWVudC5mcmFtZSgpLT5wYWdlWm9vbUZhY3RvcigpLCBkb2N1bWVudC5wcmludGluZygpIH07
CiB9CiAKLU1lZGlhUXVlcnlFdmFsdWF0b3I6Ok1lZGlhUXVlcnlFdmFsdWF0b3IoYm9vbCBtZWRp
YUZlYXR1cmVSZXN1bHQpCitMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yOjpMZWdhY3lNZWRpYVF1
ZXJ5RXZhbHVhdG9yKGJvb2wgbWVkaWFGZWF0dXJlUmVzdWx0KQogICAgIDogbV9mYWxsYmFja1Jl
c3VsdChtZWRpYUZlYXR1cmVSZXN1bHQpCiB7CiB9CiAKLU1lZGlhUXVlcnlFdmFsdWF0b3I6Ok1l
ZGlhUXVlcnlFdmFsdWF0b3IoY29uc3QgU3RyaW5nJiBhY2NlcHRlZE1lZGlhVHlwZSwgYm9vbCBt
ZWRpYUZlYXR1cmVSZXN1bHQpCitMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yOjpMZWdhY3lNZWRp
YVF1ZXJ5RXZhbHVhdG9yKGNvbnN0IFN0cmluZyYgYWNjZXB0ZWRNZWRpYVR5cGUsIGJvb2wgbWVk
aWFGZWF0dXJlUmVzdWx0KQogICAgIDogbV9tZWRpYVR5cGUoYWNjZXB0ZWRNZWRpYVR5cGUpCiAg
ICAgLCBtX2ZhbGxiYWNrUmVzdWx0KG1lZGlhRmVhdHVyZVJlc3VsdCkKIHsKIH0KIAotTWVkaWFR
dWVyeUV2YWx1YXRvcjo6TWVkaWFRdWVyeUV2YWx1YXRvcihjb25zdCBTdHJpbmcmIGFjY2VwdGVk
TWVkaWFUeXBlLCBjb25zdCBEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFJlbmRlclN0eWxlKiBz
dHlsZSkKK0xlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3I6OkxlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0
b3IoY29uc3QgU3RyaW5nJiBhY2NlcHRlZE1lZGlhVHlwZSwgY29uc3QgRG9jdW1lbnQmIGRvY3Vt
ZW50LCBjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUpCiAgICAgOiBtX21lZGlhVHlwZShhY2NlcHRl
ZE1lZGlhVHlwZSkKICAgICAsIG1fZG9jdW1lbnQoZG9jdW1lbnQpCiAgICAgLCBtX3N0eWxlKHN0
eWxlKQogewogfQogCi1ib29sIE1lZGlhUXVlcnlFdmFsdWF0b3I6Om1lZGlhVHlwZU1hdGNoKGNv
bnN0IFN0cmluZyYgbWVkaWFUeXBlVG9NYXRjaCkgY29uc3QKK2Jvb2wgTGVnYWN5TWVkaWFRdWVy
eUV2YWx1YXRvcjo6bWVkaWFUeXBlTWF0Y2goY29uc3QgU3RyaW5nJiBtZWRpYVR5cGVUb01hdGNo
KSBjb25zdAogewogICAgIHJldHVybiBtZWRpYVR5cGVUb01hdGNoLmlzRW1wdHkoKQogICAgICAg
ICB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShtZWRpYVR5cGVUb01hdGNoLCAiYWxs
Il9zKQogICAgICAgICB8fCBlcXVhbElnbm9yaW5nQVNDSUlDYXNlKG1lZGlhVHlwZVRvTWF0Y2gs
IG1fbWVkaWFUeXBlKTsKIH0KIAotYm9vbCBNZWRpYVF1ZXJ5RXZhbHVhdG9yOjptZWRpYVR5cGVN
YXRjaFNwZWNpZmljKEFTQ0lJTGl0ZXJhbCBtZWRpYVR5cGVUb01hdGNoKSBjb25zdAorYm9vbCBM
ZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yOjptZWRpYVR5cGVNYXRjaFNwZWNpZmljKEFTQ0lJTGl0
ZXJhbCBtZWRpYVR5cGVUb01hdGNoKSBjb25zdAogewogICAgIC8vIExpa2UgbWVkaWFUeXBlTWF0
Y2gsIGJ1dCB3aXRob3V0IHRoZSBzcGVjaWFsIGNhc2VzIGZvciAiIiBhbmQgImFsbCIuCiAgICAg
QVNTRVJUKCFtZWRpYVR5cGVUb01hdGNoLmlzTnVsbCgpKTsKQEAgLTE0MywxMyArMTQzLDEzIEBA
IHN0YXRpYyBib29sIGFwcGx5UmVzdHJpY3RvcihNZWRpYVF1ZXJ5OjpSZXN0cmljdG9yIHIsIGJv
b2wgdmFsdWUpCiAgICAgcmV0dXJuIHIgPT0gTWVkaWFRdWVyeTo6Tm90ID8gIXZhbHVlIDogdmFs
dWU7CiB9CiAKLWJvb2wgTWVkaWFRdWVyeUV2YWx1YXRvcjo6ZXZhbHVhdGUoY29uc3QgTWVkaWFR
dWVyeVNldCYgcXVlcnlTZXQsIE1lZGlhUXVlcnlEeW5hbWljUmVzdWx0cyogZHluYW1pY1Jlc3Vs
dHMsIE1vZGUgbW9kZSkgY29uc3QKK2Jvb2wgTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvcjo6ZXZh
bHVhdGUoY29uc3QgTWVkaWFRdWVyeVNldCYgcXVlcnlTZXQsIE1lZGlhUXVlcnlEeW5hbWljUmVz
dWx0cyogZHluYW1pY1Jlc3VsdHMsIE1vZGUgbW9kZSkgY29uc3QKIHsKLSAgICBMT0dfV0lUSF9T
VFJFQU0oTWVkaWFRdWVyaWVzLCBzdHJlYW0gPDwgIk1lZGlhUXVlcnlFdmFsdWF0b3I6OmV2YWx1
YXRlIG9uICIgPDwgKG1fZG9jdW1lbnQgPyBtX2RvY3VtZW50LT51cmwoKS5zdHJpbmcoKSA6IGVt
cHR5U3RyaW5nKCkpKTsKKyAgICBMT0dfV0lUSF9TVFJFQU0oTWVkaWFRdWVyaWVzLCBzdHJlYW0g
PDwgIkxlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlIG9uICIgPDwgKG1fZG9jdW1l
bnQgPyBtX2RvY3VtZW50LT51cmwoKS5zdHJpbmcoKSA6IGVtcHR5U3RyaW5nKCkpKTsKIAogICAg
IGF1dG8mIHF1ZXJpZXMgPSBxdWVyeVNldC5xdWVyeVZlY3RvcigpOwogICAgIGlmICghcXVlcmll
cy5zaXplKCkpIHsKLSAgICAgICAgTE9HX1dJVEhfU1RSRUFNKE1lZGlhUXVlcmllcywgc3RyZWFt
IDw8ICJNZWRpYVF1ZXJ5RXZhbHVhdG9yOjpldmFsdWF0ZSAiIDw8IHF1ZXJ5U2V0IDw8ICIgcmV0
dXJuaW5nIHRydWUiKTsKKyAgICAgICAgTE9HX1dJVEhfU1RSRUFNKE1lZGlhUXVlcmllcywgc3Ry
ZWFtIDw8ICJMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yOjpldmFsdWF0ZSAiIDw8IHF1ZXJ5U2V0
IDw8ICIgcmV0dXJuaW5nIHRydWUiKTsKICAgICAgICAgcmV0dXJuIHRydWU7IC8vIEVtcHR5IHF1
ZXJ5IGxpc3QgZXZhbHVhdGVzIHRvIHRydWUuCiAgICAgfQogCkBAIC0yMDAsMTEgKzIwMCwxMSBA
QCBib29sIE1lZGlhUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlKGNvbnN0IE1lZGlhUXVlcnlTZXQm
IHF1ZXJ5U2V0LCBNZWRpYVF1ZXJ5RHluYQogICAgICAgICAgICAgcmVzdWx0ID0gYXBwbHlSZXN0
cmljdG9yKHF1ZXJ5LnJlc3RyaWN0b3IoKSwgZmFsc2UpOwogICAgIH0KIAotICAgIExPR19XSVRI
X1NUUkVBTShNZWRpYVF1ZXJpZXMsIHN0cmVhbSA8PCAiTWVkaWFRdWVyeUV2YWx1YXRvcjo6ZXZh
bHVhdGUgIiA8PCBxdWVyeVNldCA8PCAiIHJldHVybmluZyAiIDw8IHJlc3VsdCk7CisgICAgTE9H
X1dJVEhfU1RSRUFNKE1lZGlhUXVlcmllcywgc3RyZWFtIDw8ICJMZWdhY3lNZWRpYVF1ZXJ5RXZh
bHVhdG9yOjpldmFsdWF0ZSAiIDw8IHF1ZXJ5U2V0IDw8ICIgcmV0dXJuaW5nICIgPDwgcmVzdWx0
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi1ib29sIE1lZGlhUXVlcnlFdmFsdWF0b3I6OmV2
YWx1YXRlRm9yQ2hhbmdlcyhjb25zdCBNZWRpYVF1ZXJ5RHluYW1pY1Jlc3VsdHMmIGR5bmFtaWNS
ZXN1bHRzKSBjb25zdAorYm9vbCBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yOjpldmFsdWF0ZUZv
ckNoYW5nZXMoY29uc3QgTWVkaWFRdWVyeUR5bmFtaWNSZXN1bHRzJiBkeW5hbWljUmVzdWx0cykg
Y29uc3QKIHsKICAgICBhdXRvIGhhc0NoYW5nZXMgPSBbJl0oYXV0byYgZHluYW1pY1Jlc3VsdHNW
ZWN0b3IpIHsKICAgICAgICAgZm9yIChhdXRvJiBkeW5hbWljUmVzdWx0IDogZHluYW1pY1Jlc3Vs
dHNWZWN0b3IpIHsKQEAgLTkyNyw3ICs5MjcsNyBAQCBzdGF0aWMgdm9pZCBhZGQoTWVkaWFRdWVy
eUZ1bmN0aW9uTWFwJiBtYXAsIEF0b21TdHJpbmdJbXBsKiBrZXksIE1lZGlhUXVlcnlGdW5jdAog
ICAgIG1hcC5hZGQoa2V5LCB2YWx1ZSk7CiB9CiAKLWJvb2wgTWVkaWFRdWVyeUV2YWx1YXRvcjo6
ZXZhbHVhdGUoY29uc3QgTWVkaWFRdWVyeUV4cHJlc3Npb24mIGV4cHJlc3Npb24pIGNvbnN0Citi
b29sIExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlKGNvbnN0IE1lZGlhUXVlcnlF
eHByZXNzaW9uJiBleHByZXNzaW9uKSBjb25zdAogewogICAgIGlmICghbV9kb2N1bWVudCkKICAg
ICAgICAgcmV0dXJuIG1fZmFsbGJhY2tSZXN1bHQ7CkBAIC05NjcsMTEgKzk2NywxMSBAQCBib29s
IE1lZGlhUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlKGNvbnN0IE1lZGlhUXVlcnlFeHByZXNzaW9u
JiBleHByZXNzaW9uKSBjb25zdAogICAgIHJldHVybiBmdW5jdGlvbihleHByZXNzaW9uLnZhbHVl
KCksIHsgKm1fc3R5bGUsICZkZWZhdWx0U3R5bGUsIG51bGxwdHIsIGRvY3VtZW50LnJlbmRlclZp
ZXcoKSB9LCAqZnJhbWUsIE5vUHJlZml4KTsKIH0KIAotYm9vbCBNZWRpYVF1ZXJ5RXZhbHVhdG9y
OjptZWRpYUF0dHJpYnV0ZU1hdGNoZXMoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTdHJpbmcm
IGF0dHJpYnV0ZVZhbHVlKQorYm9vbCBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yOjptZWRpYUF0
dHJpYnV0ZU1hdGNoZXMoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIGF0dHJpYnV0
ZVZhbHVlKQogewogICAgIEFTU0VSVChkb2N1bWVudC5yZW5kZXJWaWV3KCkpOwogICAgIGF1dG8g
bWVkaWFRdWVyaWVzID0gTWVkaWFRdWVyeVNldDo6Y3JlYXRlKGF0dHJpYnV0ZVZhbHVlLCBNZWRp
YVF1ZXJ5UGFyc2VyQ29udGV4dChkb2N1bWVudCkpOwotICAgIHJldHVybiBNZWRpYVF1ZXJ5RXZh
bHVhdG9yIHsgInNjcmVlbiJfcywgZG9jdW1lbnQsICZkb2N1bWVudC5yZW5kZXJWaWV3KCktPnN0
eWxlKCkgfS5ldmFsdWF0ZShtZWRpYVF1ZXJpZXMuZ2V0KCkpOworICAgIHJldHVybiBMZWdhY3lN
ZWRpYVF1ZXJ5RXZhbHVhdG9yIHsgInNjcmVlbiJfcywgZG9jdW1lbnQsICZkb2N1bWVudC5yZW5k
ZXJWaWV3KCktPnN0eWxlKCkgfS5ldmFsdWF0ZShtZWRpYVF1ZXJpZXMuZ2V0KCkpOwogfQogCiB9
IC8vIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZh
bHVhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvci5o
CnNpbWlsYXJpdHkgaW5kZXggOTIlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2Nzcy9NZWRp
YVF1ZXJ5RXZhbHVhdG9yLmgKcmVuYW1lIHRvIFNvdXJjZS9XZWJDb3JlL2Nzcy9MZWdhY3lNZWRp
YVF1ZXJ5RXZhbHVhdG9yLmgKaW5kZXggZWMxMjVmMWM5YmYyLi44MmY2MTZiN2E2MTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0xlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IuaApAQCAtNjQsMTggKzY0
LDE4IEBAIE1lZGlhUXVlcnlWaWV3cG9ydFN0YXRlIG1lZGlhUXVlcnlWaWV3cG9ydFN0YXRlRm9y
RG9jdW1lbnQoY29uc3QgRG9jdW1lbnQmKTsKIC8vIFNvbWUgb2YgdGhlIGNvbnN0cnVjdG9ycyBh
cmUgdXNlZCBmb3IgY2FzZXMgd2hlcmUgdGhlIGRldmljZSBjaGFyYWN0ZXJpc3RpY3MgYXJlIG5v
dCBrbm93bi4KIC8vIFRoZXNlICBjYW4gYmUgdXNlZCB0byBwcnVuZSB0aGUgbG9hZGluZyBvZiBz
dHlsZXNoZWV0cyB0byBvbmx5IHRob3NlIHdoaWNoIGFyZSBub3QgYWxyZWFkeSBrbm93biB0byBu
b3QgbWF0Y2guCiAKLWNsYXNzIE1lZGlhUXVlcnlFdmFsdWF0b3IgeworY2xhc3MgTGVnYWN5TWVk
aWFRdWVyeUV2YWx1YXRvciB7CiBwdWJsaWM6CiAgICAgLy8gQ3JlYXRlcyBldmFsdWF0b3Igd2hp
Y2ggZXZhbHVhdGVzIG9ubHkgc2ltcGxlIG1lZGlhIHF1ZXJpZXMuCiAgICAgLy8gRXZhbHVhdG9y
IHJldHVybnMgdHJ1ZSBmb3IgImFsbCIsIGFuZCByZXR1cm5zIHZhbHVlIG9mIFxtZWRpYUZlYXR1
cmVSZXN1bHQgZm9yIGFueSBtZWRpYSBmZWF0dXJlcy4KLSAgICBleHBsaWNpdCBNZWRpYVF1ZXJ5
RXZhbHVhdG9yKGJvb2wgbWVkaWFGZWF0dXJlUmVzdWx0ID0gZmFsc2UpOworICAgIGV4cGxpY2l0
IExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IoYm9vbCBtZWRpYUZlYXR1cmVSZXN1bHQgPSBmYWxz
ZSk7CiAKICAgICAvLyBDcmVhdGVzIGV2YWx1YXRvciB3aGljaCBldmFsdWF0ZXMgb25seSBzaW1w
bGUgbWVkaWEgcXVlcmllcy4KICAgICAvLyBFdmFsdWF0b3IgcmV0dXJucyB0cnVlIGZvciBhY2Nl
cHRlZE1lZGlhVHlwZSBhbmQgcmV0dXJucyB2YWx1ZSBvZiBcbWVkaWFGZWF0dXJlUmVzdWx0IGZv
ciBhbnkgbWVkaWEgZmVhdHVyZXMuCi0gICAgTWVkaWFRdWVyeUV2YWx1YXRvcihjb25zdCBTdHJp
bmcmIGFjY2VwdGVkTWVkaWFUeXBlLCBib29sIG1lZGlhRmVhdHVyZVJlc3VsdCA9IGZhbHNlKTsK
KyAgICBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yKGNvbnN0IFN0cmluZyYgYWNjZXB0ZWRNZWRp
YVR5cGUsIGJvb2wgbWVkaWFGZWF0dXJlUmVzdWx0ID0gZmFsc2UpOwogCiAgICAgLy8gQ3JlYXRl
cyBldmFsdWF0b3Igd2hpY2ggZXZhbHVhdGVzIGZ1bGwgbWVkaWEgcXVlcmllcy4KLSAgICBXRUJD
T1JFX0VYUE9SVCBNZWRpYVF1ZXJ5RXZhbHVhdG9yKGNvbnN0IFN0cmluZyYgYWNjZXB0ZWRNZWRp
YVR5cGUsIGNvbnN0IERvY3VtZW50JiwgY29uc3QgUmVuZGVyU3R5bGUqKTsKKyAgICBXRUJDT1JF
X0VYUE9SVCBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yKGNvbnN0IFN0cmluZyYgYWNjZXB0ZWRN
ZWRpYVR5cGUsIGNvbnN0IERvY3VtZW50JiwgY29uc3QgUmVuZGVyU3R5bGUqKTsKIAogICAgIGJv
b2wgbWVkaWFUeXBlTWF0Y2goY29uc3QgU3RyaW5nJiBtZWRpYVR5cGVUb01hdGNoKSBjb25zdDsK
ICAgICBib29sIG1lZGlhVHlwZU1hdGNoU3BlY2lmaWMoQVNDSUlMaXRlcmFsIG1lZGlhVHlwZVRv
TWF0Y2gpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlM
aXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5jcHAKaW5kZXggN2Q5
Y2YzZGU1MzU3Li4yNGIyZWZkZGZiZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9N
ZWRpYVF1ZXJ5TGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0
LmNwcApAQCAtODEsNyArODEsNyBAQCB2b2lkIE1lZGlhUXVlcnlMaXN0OjpyZW1vdmVMaXN0ZW5l
cihSZWZQdHI8RXZlbnRMaXN0ZW5lcj4mJiBsaXN0ZW5lcikKICAgICByZW1vdmVFdmVudExpc3Rl
bmVyKGV2ZW50TmFtZXMoKS5jaGFuZ2VFdmVudCwgKmxpc3RlbmVyLCB7IH0pOwogfQogCi12b2lk
IE1lZGlhUXVlcnlMaXN0OjpldmFsdWF0ZShNZWRpYVF1ZXJ5RXZhbHVhdG9yJiBldmFsdWF0b3Is
IE1lZGlhUXVlcnlNYXRjaGVyOjpFdmVudE1vZGUgZXZlbnRNb2RlKQordm9pZCBNZWRpYVF1ZXJ5
TGlzdDo6ZXZhbHVhdGUoTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvciYgZXZhbHVhdG9yLCBNZWRp
YVF1ZXJ5TWF0Y2hlcjo6RXZlbnRNb2RlIGV2ZW50TW9kZSkKIHsKICAgICBSRUxFQVNFX0FTU0VS
VChtX21hdGNoZXIpOwogICAgIGlmIChtX2V2YWx1YXRpb25Sb3VuZCAhPSBtX21hdGNoZXItPmV2
YWx1YXRpb25Sb3VuZCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVl
cnlMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3QuaAppbmRleCA1YTYz
ZTdjYmY3ZmIuLmFkZmJiNjA1ODhhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL01l
ZGlhUXVlcnlMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0LmgK
QEAgLTIxLDggKzIxLDggQEAKIAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgogI2luY2x1
ZGUgIkV2ZW50VGFyZ2V0LmgiCisjaW5jbHVkZSAiTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvci5o
IgogI2luY2x1ZGUgIk1lZGlhTGlzdC5oIgotI2luY2x1ZGUgIk1lZGlhUXVlcnlFdmFsdWF0b3Iu
aCIKICNpbmNsdWRlICJNZWRpYVF1ZXJ5TWF0Y2hlci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CkBAIC00NCw3ICs0NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGFkZExpc3RlbmVyKFJlZlB0cjxF
dmVudExpc3RlbmVyPiYmKTsKICAgICB2b2lkIHJlbW92ZUxpc3RlbmVyKFJlZlB0cjxFdmVudExp
c3RlbmVyPiYmKTsKIAotICAgIHZvaWQgZXZhbHVhdGUoTWVkaWFRdWVyeUV2YWx1YXRvciYsIE1l
ZGlhUXVlcnlNYXRjaGVyOjpFdmVudE1vZGUpOworICAgIHZvaWQgZXZhbHVhdGUoTGVnYWN5TWVk
aWFRdWVyeUV2YWx1YXRvciYsIE1lZGlhUXVlcnlNYXRjaGVyOjpFdmVudE1vZGUpOwogCiAgICAg
dm9pZCBkZXRhY2hGcm9tTWF0Y2hlcigpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvTWVkaWFRdWVyeU1hdGNoZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlN
YXRjaGVyLmNwcAppbmRleCA4ODY3OTJlZDkzZDIuLjU5MzBlYjgzNTRlNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlNYXRjaGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvTWVkaWFRdWVyeU1hdGNoZXIuY3BwCkBAIC0yNCw5ICsyNCw5IEBACiAjaW5jbHVk
ZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3
LmgiCisjaW5jbHVkZSAiTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvci5oIgogI2luY2x1ZGUgIkxv
Z2dpbmcuaCIKICNpbmNsdWRlICJNZWRpYUxpc3QuaCIKLSNpbmNsdWRlICJNZWRpYVF1ZXJ5RXZh
bHVhdG9yLmgiCiAjaW5jbHVkZSAiTWVkaWFRdWVyeUxpc3QuaCIKICNpbmNsdWRlICJNZWRpYVF1
ZXJ5UGFyc2VyQ29udGV4dC5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJTdHlsZS5oIgpAQCAtNzks
NyArNzksNyBAQCBib29sIE1lZGlhUXVlcnlNYXRjaGVyOjpldmFsdWF0ZShjb25zdCBNZWRpYVF1
ZXJ5U2V0JiBtZWRpYSkKICAgICBhdXRvIHN0eWxlID0gZG9jdW1lbnRFbGVtZW50VXNlckFnZW50
U3R5bGUoKTsKICAgICBpZiAoIXN0eWxlKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0
dXJuIE1lZGlhUXVlcnlFdmFsdWF0b3IgeyBtZWRpYVR5cGUoKSwgKm1fZG9jdW1lbnQsIHN0eWxl
LmdldCgpIH0uZXZhbHVhdGUobWVkaWEpOworICAgIHJldHVybiBMZWdhY3lNZWRpYVF1ZXJ5RXZh
bHVhdG9yIHsgbWVkaWFUeXBlKCksICptX2RvY3VtZW50LCBzdHlsZS5nZXQoKSB9LmV2YWx1YXRl
KG1lZGlhKTsKIH0KIAogdm9pZCBNZWRpYVF1ZXJ5TWF0Y2hlcjo6YWRkTWVkaWFRdWVyeUxpc3Qo
TWVkaWFRdWVyeUxpc3QmIGxpc3QpCkBAIC0xMTUsNyArMTE1LDcgQEAgdm9pZCBNZWRpYVF1ZXJ5
TWF0Y2hlcjo6ZXZhbHVhdGVBbGwoRXZlbnRNb2RlIGV2ZW50TW9kZSkKIAogICAgIExPR19XSVRI
X1NUUkVBTShNZWRpYVF1ZXJpZXMsIHN0cmVhbSA8PCAiTWVkaWFRdWVyeU1hdGNoZXI6OnN0eWxl
UmVzb2x2ZXJDaGFuZ2VkICIgPDwgbV9kb2N1bWVudC0+dXJsKCkpOwogCi0gICAgTWVkaWFRdWVy
eUV2YWx1YXRvciBldmFsdWF0b3IgeyBtZWRpYVR5cGUoKSwgKm1fZG9jdW1lbnQsIHN0eWxlLmdl
dCgpIH07CisgICAgTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvciBldmFsdWF0b3IgeyBtZWRpYVR5
cGUoKSwgKm1fZG9jdW1lbnQsIHN0eWxlLmdldCgpIH07CiAKICAgICBhdXRvIG1lZGlhUXVlcnlM
aXN0cyA9IG1fbWVkaWFRdWVyeUxpc3RzOwogICAgIGZvciAoYXV0byYgbGlzdCA6IG1lZGlhUXVl
cnlMaXN0cykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlNYXRj
aGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeU1hdGNoZXIuaAppbmRleCAwYzlj
Y2E3MTgwZTIuLjgzNDQ4ZmZmYmE3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL01l
ZGlhUXVlcnlNYXRjaGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlNYXRj
aGVyLmgKQEAgLTI5LDcgKzI5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBEb2N1
bWVudDsKIGNsYXNzIE1lZGlhUXVlcnlMaXN0OwotY2xhc3MgTWVkaWFRdWVyeUV2YWx1YXRvcjsK
K2NsYXNzIExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3I7CiBjbGFzcyBNZWRpYVF1ZXJ5U2V0Owog
Y2xhc3MgUmVuZGVyU3R5bGU7CiBjbGFzcyBXZWFrUHRySW1wbFdpdGhFdmVudFRhcmdldERhdGE7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL1NpemVzQXR0cmlidXRlUGFy
c2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvU2l6ZXNBdHRyaWJ1dGVQYXJzZXIu
Y3BwCmluZGV4IDViNjgzNDZjNWMwMi4uMjVhMTk5NzlhN2UyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvcGFyc2VyL1NpemVzQXR0cmlidXRlUGFyc2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvcGFyc2VyL1NpemVzQXR0cmlidXRlUGFyc2VyLmNwcApAQCAtMzQsOSArMzQs
OSBAQAogI2luY2x1ZGUgIkNTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEuaCIKICNpbmNsdWRlICJD
U1NUb2tlbml6ZXIuaCIKICNpbmNsdWRlICJGb250Q2FzY2FkZS5oIgorI2luY2x1ZGUgIkxlZ2Fj
eU1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKICNpbmNsdWRlICJMZWdhY3lNZWRpYVF1ZXJ5UGFyc2Vy
LmgiCiAjaW5jbHVkZSAiTWVkaWFMaXN0LmgiCi0jaW5jbHVkZSAiTWVkaWFRdWVyeUV2YWx1YXRv
ci5oIgogI2luY2x1ZGUgIk1lZGlhUXVlcnlQYXJzZXJDb250ZXh0LmgiCiAjaW5jbHVkZSAiUmVu
ZGVyVmlldy5oIgogI2luY2x1ZGUgIlNpemVzQ2FsY1BhcnNlci5oIgpAQCAtMTEyLDcgKzExMiw3
IEBAIGJvb2wgU2l6ZXNBdHRyaWJ1dGVQYXJzZXI6Om1lZGlhQ29uZGl0aW9uTWF0Y2hlcyhjb25z
dCBNZWRpYVF1ZXJ5U2V0JiBtZWRpYUNvbmRpCiAgICAgaWYgKCFyZW5kZXJlcikKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIGF1dG8mIHN0eWxlID0gcmVuZGVyZXItPnN0eWxlKCk7Ci0gICAg
cmV0dXJuIE1lZGlhUXVlcnlFdmFsdWF0b3IgeyAic2NyZWVuIl9zLCBtX2RvY3VtZW50LCAmc3R5
bGUgfS5ldmFsdWF0ZShtZWRpYUNvbmRpdGlvbiwgbV9tZWRpYVF1ZXJ5RHluYW1pY1Jlc3VsdHMp
OworICAgIHJldHVybiBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yIHsgInNjcmVlbiJfcywgbV9k
b2N1bWVudCwgJnN0eWxlIH0uZXZhbHVhdGUobWVkaWFDb25kaXRpb24sIG1fbWVkaWFRdWVyeUR5
bmFtaWNSZXN1bHRzKTsKIH0KIAogYm9vbCBTaXplc0F0dHJpYnV0ZVBhcnNlcjo6cGFyc2UoQ1NT
UGFyc2VyVG9rZW5SYW5nZSByYW5nZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9J
bmxpbmVTdHlsZVNoZWV0T3duZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0lubGluZVN0eWxl
U2hlZXRPd25lci5jcHAKaW5kZXggZDc5NTk5NWJmYTY5Li41Yjc5YzE3YmM3NzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9JbmxpbmVTdHlsZVNoZWV0T3duZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9JbmxpbmVTdHlsZVNoZWV0T3duZXIuY3BwCkBAIC0yNCw5ICsyNCw5
IEBACiAjaW5jbHVkZSAiQ29tbW9uQXRvbVN0cmluZ3MuaCIKICNpbmNsdWRlICJDb250ZW50U2Vj
dXJpdHlQb2xpY3kuaCIKICNpbmNsdWRlICJFbGVtZW50SW5saW5lcy5oIgorI2luY2x1ZGUgIkxl
Z2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVk
ZSAiTWVkaWFMaXN0LmgiCi0jaW5jbHVkZSAiTWVkaWFRdWVyeUV2YWx1YXRvci5oIgogI2luY2x1
ZGUgIk1lZGlhUXVlcnlQYXJzZXJDb250ZXh0LmgiCiAjaW5jbHVkZSAiU2NyaXB0YWJsZURvY3Vt
ZW50UGFyc2VyLmgiCiAjaW5jbHVkZSAiU2hhZG93Um9vdC5oIgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEltYWdlRWxlbWVudC5jcHAKaW5kZXggOWIxNzQ0MDRjNzYyLi42MzhhN2U4OGFiNzMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcApAQCAtNDYsMTAgKzQ2LDEw
IEBACiAjaW5jbHVkZSAiSFRNTFNvdXJjZUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MU3Jjc2V0
UGFyc2VyLmgiCiAjaW5jbHVkZSAiTGF6eUxvYWRJbWFnZU9ic2VydmVyLmgiCisjaW5jbHVkZSAi
TGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvci5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNs
dWRlICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiTWVkaWFMaXN0LmgiCi0jaW5jbHVk
ZSAiTWVkaWFRdWVyeUV2YWx1YXRvci5oIgogI2luY2x1ZGUgIk1vdXNlRXZlbnQuaCIKICNpbmNs
dWRlICJOb2RlVHJhdmVyc2FsLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1Nb3VzZUV2ZW50LmgiCkBA
IC0yMjUsNyArMjI1LDcgQEAgSW1hZ2VDYW5kaWRhdGUgSFRNTEltYWdlRWxlbWVudDo6YmVzdEZp
dFNvdXJjZUZyb21QaWN0dXJlRWxlbWVudCgpCiAgICAgICAgIH0KIAogICAgICAgICBSZWZQdHIg
ZG9jdW1lbnRFbGVtZW50ID0gZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKTsKLSAgICAgICAg
TWVkaWFRdWVyeUV2YWx1YXRvciBldmFsdWF0b3IgeyBkb2N1bWVudCgpLnByaW50aW5nKCkgPyAi
cHJpbnQiX3MgOiAic2NyZWVuIl9zLCBkb2N1bWVudCgpLCBkb2N1bWVudEVsZW1lbnQgPyBkb2N1
bWVudEVsZW1lbnQtPmNvbXB1dGVkU3R5bGUoKSA6IG51bGxwdHIgfTsKKyAgICAgICAgTGVnYWN5
TWVkaWFRdWVyeUV2YWx1YXRvciBldmFsdWF0b3IgeyBkb2N1bWVudCgpLnByaW50aW5nKCkgPyAi
cHJpbnQiX3MgOiAic2NyZWVuIl9zLCBkb2N1bWVudCgpLCBkb2N1bWVudEVsZW1lbnQgPyBkb2N1
bWVudEVsZW1lbnQtPmNvbXB1dGVkU3R5bGUoKSA6IG51bGxwdHIgfTsKICAgICAgICAgYXV0byog
cXVlcmllcyA9IHNvdXJjZS5wYXJzZWRNZWRpYUF0dHJpYnV0ZShkb2N1bWVudCgpKTsKICAgICAg
ICAgTE9HKE1lZGlhUXVlcmllcywgIkhUTUxJbWFnZUVsZW1lbnQgJXAgYmVzdEZpdFNvdXJjZUZy
b21QaWN0dXJlRWxlbWVudCBldmFsdWF0aW5nIG1lZGlhIHF1ZXJpZXMiLCB0aGlzKTsKIApAQCAt
MjQ5LDcgKzI0OSw3IEBAIEltYWdlQ2FuZGlkYXRlIEhUTUxJbWFnZUVsZW1lbnQ6OmJlc3RGaXRT
b3VyY2VGcm9tUGljdHVyZUVsZW1lbnQoKQogdm9pZCBIVE1MSW1hZ2VFbGVtZW50OjpldmFsdWF0
ZUR5bmFtaWNNZWRpYVF1ZXJ5RGVwZW5kZW5jaWVzKCkKIHsKICAgICBSZWZQdHIgZG9jdW1lbnRF
bGVtZW50ID0gZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKTsKLSAgICBNZWRpYVF1ZXJ5RXZh
bHVhdG9yIGV2YWx1YXRvciB7IGRvY3VtZW50KCkucHJpbnRpbmcoKSA/ICJwcmludCJfcyA6ICJz
Y3JlZW4iX3MsIGRvY3VtZW50KCksIGRvY3VtZW50RWxlbWVudCA/IGRvY3VtZW50RWxlbWVudC0+
Y29tcHV0ZWRTdHlsZSgpIDogbnVsbHB0ciB9OworICAgIExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0
b3IgZXZhbHVhdG9yIHsgZG9jdW1lbnQoKS5wcmludGluZygpID8gInByaW50Il9zIDogInNjcmVl
biJfcywgZG9jdW1lbnQoKSwgZG9jdW1lbnRFbGVtZW50ID8gZG9jdW1lbnRFbGVtZW50LT5jb21w
dXRlZFN0eWxlKCkgOiBudWxscHRyIH07CiAKICAgICBpZiAoIWV2YWx1YXRvci5ldmFsdWF0ZUZv
ckNoYW5nZXMobV9tZWRpYVF1ZXJ5RHluYW1pY1Jlc3VsdHMpKQogICAgICAgICByZXR1cm47CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oCmluZGV4IDEyNjA5OTQyYWVjOC4uM2Y5
MmYxMTRlNThiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaApAQCAtMjks
NyArMjksNyBAQAogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIKICNpbmNsdWRlICJHcmFwaGlj
c1R5cGVzLmgiCiAjaW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIKLSNpbmNsdWRlICJNZWRpYVF1ZXJ5
RXZhbHVhdG9yLmgiCisjaW5jbHVkZSAiTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvci5oIgogI2lu
Y2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcAppbmRleCA0ZTk4ZjRmZmVkNmYuLmQ2MmJkNTlmZGM2
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcApAQCAtNDgsOSArNDgs
OSBAQAogI2luY2x1ZGUgIkhUTUxBbmNob3JFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVz
LmgiCiAjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgorI2luY2x1ZGUgIkxlZ2FjeU1lZGlh
UXVlcnlFdmFsdWF0b3IuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTWVkaWFM
aXN0LmgiCi0jaW5jbHVkZSAiTWVkaWFRdWVyeUV2YWx1YXRvci5oIgogI2luY2x1ZGUgIk1lZGlh
UXVlcnlQYXJzZXJDb250ZXh0LmgiCiAjaW5jbHVkZSAiTW91c2VFdmVudC5oIgogI2luY2x1ZGUg
IlBhcnNlZENvbnRlbnRUeXBlLmgiCkBAIC01MTksNyArNTE5LDcgQEAgYm9vbCBIVE1MTGlua0Vs
ZW1lbnQ6Om1lZGlhQXR0cmlidXRlTWF0Y2hlcygpIGNvbnN0CiAgICAgICAgIGRvY3VtZW50U3R5
bGUgPSBTdHlsZTo6cmVzb2x2ZUZvckRvY3VtZW50KGRvY3VtZW50KCkpOwogICAgIGF1dG8gbWVk
aWEgPSBNZWRpYVF1ZXJ5U2V0OjpjcmVhdGUobV9tZWRpYSwgTWVkaWFRdWVyeVBhcnNlckNvbnRl
eHQoZG9jdW1lbnQoKSkpOwogICAgIExPRyhNZWRpYVF1ZXJpZXMsICJIVE1MTGlua0VsZW1lbnQ6
Om1lZGlhQXR0cmlidXRlTWF0Y2hlcyIpOwotICAgIHJldHVybiBNZWRpYVF1ZXJ5RXZhbHVhdG9y
KGRvY3VtZW50KCkuZnJhbWUoKS0+dmlldygpLT5tZWRpYVR5cGUoKSwgZG9jdW1lbnQoKSwgZG9j
dW1lbnRTdHlsZSA/ICYqZG9jdW1lbnRTdHlsZSA6IG51bGxwdHIpLmV2YWx1YXRlKG1lZGlhLmdl
dCgpKTsKKyAgICByZXR1cm4gTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvcihkb2N1bWVudCgpLmZy
YW1lKCktPnZpZXcoKS0+bWVkaWFUeXBlKCksIGRvY3VtZW50KCksIGRvY3VtZW50U3R5bGUgPyAm
KmRvY3VtZW50U3R5bGUgOiBudWxscHRyKS5ldmFsdWF0ZShtZWRpYS5nZXQoKSk7CiB9CiAKIHZv
aWQgSFRNTExpbmtFbGVtZW50OjpsaW5rTG9hZGVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxN
ZWRpYUVsZW1lbnQuY3BwCmluZGV4IDIyOTkxMWIyNmUzNy4uNzg5NzVlZDM5NTUwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTcyLDYgKzcyLDcgQEAKICNp
bmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIkpTSFRNTE1lZGlhRWxl
bWVudC5oIgogI2luY2x1ZGUgIkpTTWVkaWFDb250cm9sc0hvc3QuaCIKKyNpbmNsdWRlICJMZWdh
Y3lNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCiAjaW5jbHVkZSAiTG9hZGFibGVUZXh0VHJhY2suaCIK
ICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTUlNRVR5cGVSZWdpc3RyeS5oIgpAQCAt
ODMsNyArODQsNiBAQAogI2luY2x1ZGUgIk1lZGlhRnJhZ21lbnRVUklQYXJzZXIuaCIKICNpbmNs
dWRlICJNZWRpYUxpc3QuaCIKICNpbmNsdWRlICJNZWRpYVBsYXllci5oIgotI2luY2x1ZGUgIk1l
ZGlhUXVlcnlFdmFsdWF0b3IuaCIKICNpbmNsdWRlICJNZWRpYVJlc291cmNlTG9hZGVyLmgiCiAj
aW5jbHVkZSAiTmF2aWdhdG9yTWVkaWFEZXZpY2VzLmgiCiAjaW5jbHVkZSAiTmV0d29ya2luZ0Nv
bnRleHQuaCIKQEAgLTUxMzMsNyArNTEzMyw3IEBAIFVSTCBIVE1MTWVkaWFFbGVtZW50OjpzZWxl
Y3ROZXh0U291cmNlQ2hpbGQoQ29udGVudFR5cGUqIGNvbnRlbnRUeXBlLCBTdHJpbmcqIGtlCiAg
ICAgICAgICAgICAgICAgSU5GT19MT0coTE9HSURFTlRJRklFUiwgIidtZWRpYScgaXMgIiwgc291
cmNlLT5hdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKG1lZGlhQXR0cikpOwogICAgICAg
ICAgICAgYXV0byogcmVuZGVyZXIgPSB0aGlzLT5yZW5kZXJlcigpOwogICAgICAgICAgICAgTE9H
KE1lZGlhUXVlcmllcywgIkhUTUxNZWRpYUVsZW1lbnQgJXAgc2VsZWN0TmV4dFNvdXJjZUNoaWxk
IGV2YWx1YXRpbmcgbWVkaWEgcXVlcmllcyIsIHRoaXMpOwotICAgICAgICAgICAgaWYgKCFNZWRp
YVF1ZXJ5RXZhbHVhdG9yIHsgInNjcmVlbiJfcywgZG9jdW1lbnQoKSwgcmVuZGVyZXIgPyAmcmVu
ZGVyZXItPnN0eWxlKCkgOiBudWxscHRyIH0uZXZhbHVhdGUoKm1lZGlhKSkKKyAgICAgICAgICAg
IGlmICghTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvciB7ICJzY3JlZW4iX3MsIGRvY3VtZW50KCks
IHJlbmRlcmVyID8gJnJlbmRlcmVyLT5zdHlsZSgpIDogbnVsbHB0ciB9LmV2YWx1YXRlKCptZWRp
YSkpCiAgICAgICAgICAgICAgICAgZ290byBDaGVja0FnYWluOwogICAgICAgICB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1ldGFFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1ldGFFbGVtZW50LmNwcAppbmRleCA5MjE1NzRkOGVkOTguLmQ5YjE1
NDQ4NzM3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWV0YUVsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1ldGFFbGVtZW50LmNwcApAQCAtMzIs
OCArMzIsOCBAQAogI2luY2x1ZGUgIkhUTUxIZWFkRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxO
YW1lcy5oIgogI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKKyNpbmNsdWRlICJMZWdhY3lN
ZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCiAjaW5jbHVkZSAiTWVkaWFMaXN0LmgiCi0jaW5jbHVkZSAi
TWVkaWFRdWVyeUV2YWx1YXRvci5oIgogI2luY2x1ZGUgIk1lZGlhUXVlcnlQYXJzZXJDb250ZXh0
LmgiCiAjaW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgpAQCAt
NzksNyArNzksNyBAQCBib29sIEhUTUxNZXRhRWxlbWVudDo6bWVkaWFBdHRyaWJ1dGVNYXRjaGVz
KCkKICAgICAgICAgICAgIG1lZGlhVHlwZSA9IGZyYW1lVmlldy0+bWVkaWFUeXBlKCk7CiAgICAg
fQogCi0gICAgcmV0dXJuIE1lZGlhUXVlcnlFdmFsdWF0b3IobWVkaWFUeXBlLCBkb2N1bWVudCwg
ZG9jdW1lbnRTdHlsZSA/ICYqZG9jdW1lbnRTdHlsZSA6IG51bGxwdHIpLmV2YWx1YXRlKCptX21l
ZGlhKTsKKyAgICByZXR1cm4gTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvcihtZWRpYVR5cGUsIGRv
Y3VtZW50LCBkb2N1bWVudFN0eWxlID8gJipkb2N1bWVudFN0eWxlIDogbnVsbHB0cikuZXZhbHVh
dGUoKm1fbWVkaWEpOwogfQogCiBjb25zdCBDb2xvciYgSFRNTE1ldGFFbGVtZW50Ojpjb250ZW50
Q29sb3IoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxv
YWRTY2FubmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nh
bm5lci5jcHAKaW5kZXggZTRjMGM3ZmZiOWUyLi43NDYyMWRkMmE3MmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmNwcApAQCAtMzQsMTIg
KzM0LDEyIEBACiAjaW5jbHVkZSAiSFRNTFNyY3NldFBhcnNlci5oIgogI2luY2x1ZGUgIkhUTUxU
b2tlbml6ZXIuaCIKICNpbmNsdWRlICJJbnB1dFR5cGVOYW1lcy5oIgorI2luY2x1ZGUgIkxlZ2Fj
eU1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKICNpbmNsdWRlICJMaW5rTG9hZGVyLmgiCiAjaW5jbHVk
ZSAiTGlua1JlbEF0dHJpYnV0ZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJN
SU1FVHlwZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiTWVkaWFMaXN0LmgiCi0jaW5jbHVkZSAiTWVk
aWFRdWVyeUV2YWx1YXRvci5oIgogI2luY2x1ZGUgIk1lZGlhUXVlcnlQYXJzZXJDb250ZXh0Lmgi
CiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlNlY3VyaXR5UG9saWN5LmgiCkBA
IC0yMzAsNyArMjMwLDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICBhdXRvIG1lZGlhU2V0
ID0gTWVkaWFRdWVyeVNldDo6Y3JlYXRlKG1fbWVkaWFBdHRyaWJ1dGUsIE1lZGlhUXVlcnlQYXJz
ZXJDb250ZXh0KG1fZG9jdW1lbnQpKTsKICAgICAgICAgICAgICAgICBSZWZQdHIgZG9jdW1lbnRF
bGVtZW50ID0gbV9kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQoKTsKICAgICAgICAgICAgICAgICBM
T0coTWVkaWFRdWVyaWVzLCAiSFRNTFByZWxvYWRTY2FubmVyICVwIHByb2Nlc3NBdHRyaWJ1dGUg
ZXZhbHVhdGluZyBtZWRpYSBxdWVyaWVzIiwgdGhpcyk7Ci0gICAgICAgICAgICAgICAgbV9tZWRp
YU1hdGNoZWQgPSBNZWRpYVF1ZXJ5RXZhbHVhdG9yIHsgbV9kb2N1bWVudC5wcmludGluZygpID8g
InByaW50Il9zIDogInNjcmVlbiJfcywgbV9kb2N1bWVudCwgZG9jdW1lbnRFbGVtZW50ID8gZG9j
dW1lbnRFbGVtZW50LT5jb21wdXRlZFN0eWxlKCkgOiBudWxscHRyIH0uZXZhbHVhdGUobWVkaWFT
ZXQuZ2V0KCkpOworICAgICAgICAgICAgICAgIG1fbWVkaWFNYXRjaGVkID0gTGVnYWN5TWVkaWFR
dWVyeUV2YWx1YXRvciB7IG1fZG9jdW1lbnQucHJpbnRpbmcoKSA/ICJwcmludCJfcyA6ICJzY3Jl
ZW4iX3MsIG1fZG9jdW1lbnQsIGRvY3VtZW50RWxlbWVudCA/IGRvY3VtZW50RWxlbWVudC0+Y29t
cHV0ZWRTdHlsZSgpIDogbnVsbHB0ciB9LmV2YWx1YXRlKG1lZGlhU2V0LmdldCgpKTsKICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIGlmIChtYXRjaChhdHRyaWJ1dGVOYW1lLCB0eXBlQXR0cikg
JiYgbV90eXBlQXR0cmlidXRlLmlzTnVsbCgpKSB7CiAgICAgICAgICAgICAgICAgLy8gd2hlbiBt
dWx0aXBsZSB0eXBlIGF0dHJpYnV0ZXMgcHJlc2VudDogZmlyc3QgdmFsdWUgd2lucywgaWdub3Jl
IHN1YnNlcXVlbnQgKHRvIG1hdGNoIEltYWdlRWxlbWVudCBwYXJzZXIgYW5kIEJsaW5rIGJlaGF2
aW91cnMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUmVzb3Vy
Y2VQcmVsb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFJlc291cmNl
UHJlbG9hZGVyLmNwcAppbmRleCBjMzg4NWNmMjQwYjUuLjhkM2UxYmI4OGE0NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFJlc291cmNlUHJlbG9hZGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUmVzb3VyY2VQcmVsb2FkZXIuY3Bw
CkBAIC0zMCwxMCArMzAsOSBAQAogI2luY2x1ZGUgIkNyb3NzT3JpZ2luQWNjZXNzQ29udHJvbC5o
IgogI2luY2x1ZGUgIkRlZmF1bHRSZXNvdXJjZUxvYWRQcmlvcml0eS5oIgogI2luY2x1ZGUgIkRv
Y3VtZW50LmgiCi0jaW5jbHVkZSAiU2NyaXB0RWxlbWVudENhY2hlZFNjcmlwdEZldGNoZXIuaCIK
LQotI2luY2x1ZGUgIk1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKKyNpbmNsdWRlICJMZWdhY3lNZWRp
YVF1ZXJ5RXZhbHVhdG9yLmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgorI2luY2x1ZGUgIlNj
cmlwdEVsZW1lbnRDYWNoZWRTY3JpcHRGZXRjaGVyLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IApAQCAtODIsNyArODEsNyBAQCB2b2lkIEhUTUxSZXNvdXJjZVByZWxvYWRlcjo6cHJlbG9hZChz
dGQ6OnVuaXF1ZV9wdHI8UHJlbG9hZFJlcXVlc3Q+IHByZWxvYWQpCiB7CiAgICAgQVNTRVJUKG1f
ZG9jdW1lbnQuZnJhbWUoKSk7CiAgICAgQVNTRVJUKG1fZG9jdW1lbnQucmVuZGVyVmlldygpKTsK
LSAgICBpZiAoIXByZWxvYWQtPm1lZGlhKCkuaXNFbXB0eSgpICYmICFNZWRpYVF1ZXJ5RXZhbHVh
dG9yOjptZWRpYUF0dHJpYnV0ZU1hdGNoZXMobV9kb2N1bWVudCwgcHJlbG9hZC0+bWVkaWEoKSkp
CisgICAgaWYgKCFwcmVsb2FkLT5tZWRpYSgpLmlzRW1wdHkoKSAmJiAhTGVnYWN5TWVkaWFRdWVy
eUV2YWx1YXRvcjo6bWVkaWFBdHRyaWJ1dGVNYXRjaGVzKG1fZG9jdW1lbnQsIHByZWxvYWQtPm1l
ZGlhKCkpKQogICAgICAgICByZXR1cm47CiAKICAgICBtX2RvY3VtZW50LmNhY2hlZFJlc291cmNl
TG9hZGVyKCkucHJlbG9hZChwcmVsb2FkLT5yZXNvdXJjZVR5cGUoKSwgcHJlbG9hZC0+cmVzb3Vy
Y2VSZXF1ZXN0KG1fZG9jdW1lbnQpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9MaW5rTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmNwcApp
bmRleCAyOTA4OGFlZDEwODIuLjc5MjQ3NGJmYmVmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0xpbmtMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5r
TG9hZGVyLmNwcApAQCAtNDYsMTMgKzQ2LDEzIEBACiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJDbGll
bnQuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJIVE1MU3Jjc2V0UGFyc2Vy
LmgiCisjaW5jbHVkZSAiTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvci5oIgogI2luY2x1ZGUgIkxp
bmtIZWFkZXIuaCIKICNpbmNsdWRlICJMaW5rUHJlbG9hZFJlc291cmNlQ2xpZW50cy5oIgogI2lu
Y2x1ZGUgIkxpbmtSZWxBdHRyaWJ1dGUuaCIKICNpbmNsdWRlICJMb2FkZXJTdHJhdGVneS5oIgog
I2luY2x1ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIKICNpbmNsdWRlICJNZWRpYUxpc3QuaCIKLSNp
bmNsdWRlICJNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJhdGVn
aWVzLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VFcnJvci5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgi
CkBAIC0yNTUsNyArMjU1LDcgQEAgc3RkOjp1bmlxdWVfcHRyPExpbmtQcmVsb2FkUmVzb3VyY2VD
bGllbnQ+IExpbmtMb2FkZXI6OnByZWxvYWRJZk5lZWRlZChjb25zdCBMaW4KICAgICAgICAgICAg
IGRvY3VtZW50LmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6Ok90aGVyLCBNZXNzYWdl
TGV2ZWw6OkVycm9yLCAiPGxpbmsgcmVsPXByZWxvYWQ+IGhhcyBhbiBpbnZhbGlkIGBpbWFnZXNy
Y3NldGAgdmFsdWUiX3MpOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9Ci0gICAgaWYg
KCFNZWRpYVF1ZXJ5RXZhbHVhdG9yOjptZWRpYUF0dHJpYnV0ZU1hdGNoZXMoZG9jdW1lbnQsIHBh
cmFtcy5tZWRpYSkpCisgICAgaWYgKCFMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yOjptZWRpYUF0
dHJpYnV0ZU1hdGNoZXMoZG9jdW1lbnQsIHBhcmFtcy5tZWRpYSkpCiAgICAgICAgIHJldHVybiBu
dWxscHRyOwogICAgIGlmICghaXNTdXBwb3J0ZWRUeXBlKHR5cGUudmFsdWUoKSwgcGFyYW1zLm1p
bWVUeXBlLCBkb2N1bWVudCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuaCBiL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVjdG9yLmgKaW5kZXggZjRjY2FmYWU3MGMxLi44NGVj
ZWZjYzQ3NmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRSdWxlQ29s
bGVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3Iu
aApAQCAtMjEsOCArMjEsOCBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIkxlZ2FjeU1l
ZGlhUXVlcnlFdmFsdWF0b3IuaCIKICNpbmNsdWRlICJNYXRjaFJlc3VsdC5oIgotI2luY2x1ZGUg
Ik1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKICNpbmNsdWRlICJQcm9wZXJ0eUFsbG93bGlzdC5oIgog
I2luY2x1ZGUgIlJ1bGVTZXQuaCIKICNpbmNsdWRlICJTZWxlY3RvckNoZWNrZXIuaCIKQEAgLTgx
LDcgKzgxLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRNb2RlKFNlbGVjdG9yQ2hlY2tlcjo6
TW9kZSBtb2RlKSB7IG1fbW9kZSA9IG1vZGU7IH0KICAgICB2b2lkIHNldFBzZXVkb0VsZW1lbnRS
ZXF1ZXN0KGNvbnN0IFBzZXVkb0VsZW1lbnRSZXF1ZXN0JiByZXF1ZXN0KSB7IG1fcHNldWRvRWxl
bWVudFJlcXVlc3QgPSByZXF1ZXN0OyB9Ci0gICAgdm9pZCBzZXRNZWRpdW0oY29uc3QgTWVkaWFR
dWVyeUV2YWx1YXRvciogbWVkaXVtKSB7IG1faXNQcmludFN0eWxlID0gbWVkaXVtLT5tZWRpYVR5
cGVNYXRjaFNwZWNpZmljKCJwcmludCJfcyk7IH0KKyAgICB2b2lkIHNldE1lZGl1bShjb25zdCBM
ZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yKiBtZWRpdW0pIHsgbV9pc1ByaW50U3R5bGUgPSBtZWRp
dW0tPm1lZGlhVHlwZU1hdGNoU3BlY2lmaWMoInByaW50Il9zKTsgfQogCiAgICAgYm9vbCBoYXNB
bnlNYXRjaGluZ1J1bGVzKGNvbnN0IFJ1bGVTZXQmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3R5bGUvUnVsZURhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZURhdGEu
Y3BwCmluZGV4IDNhMGVmYzdhYWUzNC4uMDhkZDIwZDBlYjBlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9SdWxlRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVs
ZURhdGEuY3BwCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAiQ1NTU2VsZWN0b3JMaXN0Lmgi
CiAjaW5jbHVkZSAiQ29tbW9uQXRvbVN0cmluZ3MuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIK
LSNpbmNsdWRlICJNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmln
aW4uaCIKICNpbmNsdWRlICJTZWxlY3RvckNoZWNrZXIuaCIKICNpbmNsdWRlICJTZWxlY3RvckZp
bHRlci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmNwcAppbmRleCBiMzhlNzQyM2M3M2UuLmE1Y2Q2
ZDdiNGUzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldC5jcHAKQEAgLTM1LDcgKzM1LDcgQEAKICNp
bmNsdWRlICJDU1NTZWxlY3Rvckxpc3QuaCIKICNpbmNsdWRlICJDb21tb25BdG9tU3RyaW5ncy5o
IgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgotI2luY2x1ZGUgIk1lZGlhUXVlcnlFdmFsdWF0b3Iu
aCIKKyNpbmNsdWRlICJMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCiAjaW5jbHVkZSAiUnVs
ZVNldEJ1aWxkZXIuaCIKICNpbmNsdWRlICJTVkdFbGVtZW50LmgiCiAjaW5jbHVkZSAiU2VjdXJp
dHlPcmlnaW4uaCIKQEAgLTMzOCw3ICszMzgsNyBAQCB2b2lkIFJ1bGVTZXQ6OnRyYXZlcnNlUnVs
ZURhdGFzKEZ1bmN0aW9uJiYgZnVuY3Rpb24pCiAgICAgdHJhdmVyc2VWZWN0b3IobV91bml2ZXJz
YWxSdWxlcyk7CiB9CiAKLXN0ZDo6b3B0aW9uYWw8RHluYW1pY01lZGlhUXVlcnlFdmFsdWF0aW9u
Q2hhbmdlcz4gUnVsZVNldDo6ZXZhbHVhdGVEeW5hbWljTWVkaWFRdWVyeVJ1bGVzKGNvbnN0IE1l
ZGlhUXVlcnlFdmFsdWF0b3ImIGV2YWx1YXRvcikKK3N0ZDo6b3B0aW9uYWw8RHluYW1pY01lZGlh
UXVlcnlFdmFsdWF0aW9uQ2hhbmdlcz4gUnVsZVNldDo6ZXZhbHVhdGVEeW5hbWljTWVkaWFRdWVy
eVJ1bGVzKGNvbnN0IExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3ImIGV2YWx1YXRvcikKIHsKICAg
ICBhdXRvIGNvbGxlY3RlZENoYW5nZXMgPSBldmFsdWF0ZUR5bmFtaWNNZWRpYVF1ZXJ5UnVsZXMo
ZXZhbHVhdG9yLCAwKTsKIApAQCAtMzUwLDcgKzM1MCw3IEBAIHN0ZDo6b3B0aW9uYWw8RHluYW1p
Y01lZGlhUXVlcnlFdmFsdWF0aW9uQ2hhbmdlcz4gUnVsZVNldDo6ZXZhbHVhdGVEeW5hbWljTWVk
aWFRCiAKICAgICBhdXRvJiBydWxlU2V0ID0gbV9tZWRpYVF1ZXJ5SW52YWxpZGF0aW9uUnVsZVNl
dENhY2hlLmVuc3VyZShjb2xsZWN0ZWRDaGFuZ2VzLmNoYW5nZWRRdWVyeUluZGV4ZXMsIFsmXSB7
CiAgICAgICAgIGF1dG8gcnVsZVNldCA9IFJ1bGVTZXQ6OmNyZWF0ZSgpOwotICAgICAgICBSdWxl
U2V0QnVpbGRlciBidWlsZGVyKHJ1bGVTZXQsIE1lZGlhUXVlcnlFdmFsdWF0b3IodHJ1ZSkpOwor
ICAgICAgICBSdWxlU2V0QnVpbGRlciBidWlsZGVyKHJ1bGVTZXQsIExlZ2FjeU1lZGlhUXVlcnlF
dmFsdWF0b3IodHJ1ZSkpOwogICAgICAgICBmb3IgKGF1dG8qIHJ1bGVzIDogY29sbGVjdGVkQ2hh
bmdlcy5hZmZlY3RlZFJ1bGVzKSB7CiAgICAgICAgICAgICBmb3IgKGF1dG8mIHJ1bGUgOiAqcnVs
ZXMpCiAgICAgICAgICAgICAgICAgYnVpbGRlci5hZGRTdHlsZVJ1bGUocnVsZSk7CkBAIC0zNjEs
NyArMzYxLDcgQEAgc3RkOjpvcHRpb25hbDxEeW5hbWljTWVkaWFRdWVyeUV2YWx1YXRpb25DaGFu
Z2VzPiBSdWxlU2V0OjpldmFsdWF0ZUR5bmFtaWNNZWRpYVEKICAgICByZXR1cm4geyB7IER5bmFt
aWNNZWRpYVF1ZXJ5RXZhbHVhdGlvbkNoYW5nZXM6OlR5cGU6OkludmFsaWRhdGVTdHlsZSwgeyBy
dWxlU2V0LmNvcHlSZWYoKSB9IH0gfTsKIH0KIAotUnVsZVNldDo6Q29sbGVjdGVkTWVkaWFRdWVy
eUNoYW5nZXMgUnVsZVNldDo6ZXZhbHVhdGVEeW5hbWljTWVkaWFRdWVyeVJ1bGVzKGNvbnN0IE1l
ZGlhUXVlcnlFdmFsdWF0b3ImIGV2YWx1YXRvciwgc2l6ZV90IHN0YXJ0SW5kZXgpCitSdWxlU2V0
OjpDb2xsZWN0ZWRNZWRpYVF1ZXJ5Q2hhbmdlcyBSdWxlU2V0OjpldmFsdWF0ZUR5bmFtaWNNZWRp
YVF1ZXJ5UnVsZXMoY29uc3QgTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvciYgZXZhbHVhdG9yLCBz
aXplX3Qgc3RhcnRJbmRleCkKIHsKICAgICBDb2xsZWN0ZWRNZWRpYVF1ZXJ5Q2hhbmdlcyBjb2xs
ZWN0ZWRDaGFuZ2VzOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0
LmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmgKaW5kZXggZmU3MTE1NzBjNDUyLi44
MzliMDU4NzZkMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmgKQEAgLTM1LDcgKzM1LDcgQEAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ1NTU2VsZWN0b3I7Ci1jbGFzcyBNZWRpYVF1ZXJ5
RXZhbHVhdG9yOworY2xhc3MgTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvcjsKIGNsYXNzIFN0eWxl
U2hlZXRDb250ZW50czsKIAogbmFtZXNwYWNlIFN0eWxlIHsKQEAgLTgwLDcgKzgwLDcgQEAgcHVi
bGljOgogCiAgICAgYm9vbCBoYXNWaWV3cG9ydERlcGVuZGVudE1lZGlhUXVlcmllcygpIGNvbnN0
IHsgcmV0dXJuIG1faGFzVmlld3BvcnREZXBlbmRlbnRNZWRpYVF1ZXJpZXM7IH0KIAotICAgIHN0
ZDo6b3B0aW9uYWw8RHluYW1pY01lZGlhUXVlcnlFdmFsdWF0aW9uQ2hhbmdlcz4gZXZhbHVhdGVE
eW5hbWljTWVkaWFRdWVyeVJ1bGVzKGNvbnN0IE1lZGlhUXVlcnlFdmFsdWF0b3ImKTsKKyAgICBz
dGQ6Om9wdGlvbmFsPER5bmFtaWNNZWRpYVF1ZXJ5RXZhbHVhdGlvbkNoYW5nZXM+IGV2YWx1YXRl
RHluYW1pY01lZGlhUXVlcnlSdWxlcyhjb25zdCBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yJik7
CiAKICAgICBjb25zdCBSdWxlRmVhdHVyZVNldCYgZmVhdHVyZXMoKSBjb25zdCB7IHJldHVybiBt
X2ZlYXR1cmVzOyB9CiAKQEAgLTEzNSw3ICsxMzUsNyBAQCBwcml2YXRlOgogICAgICAgICBWZWN0
b3I8c2l6ZV90PiBjaGFuZ2VkUXVlcnlJbmRleGVzIHsgfTsKICAgICAgICAgVmVjdG9yPFZlY3Rv
cjxSZWY8Y29uc3QgU3R5bGVSdWxlPj4qPiBhZmZlY3RlZFJ1bGVzIHsgfTsKICAgICB9OwotICAg
IENvbGxlY3RlZE1lZGlhUXVlcnlDaGFuZ2VzIGV2YWx1YXRlRHluYW1pY01lZGlhUXVlcnlSdWxl
cyhjb25zdCBNZWRpYVF1ZXJ5RXZhbHVhdG9yJiwgc2l6ZV90IHN0YXJ0SW5kZXgpOworICAgIENv
bGxlY3RlZE1lZGlhUXVlcnlDaGFuZ2VzIGV2YWx1YXRlRHluYW1pY01lZGlhUXVlcnlSdWxlcyhj
b25zdCBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yJiwgc2l6ZV90IHN0YXJ0SW5kZXgpOwogCiAg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgRnVuY3Rpb24+IHZvaWQgdHJhdmVyc2VSdWxlRGF0YXMoRnVu
Y3Rpb24mJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXRCdWls
ZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXRCdWlsZGVyLmNwcAppbmRleCAw
NDZjODVlY2I4Y2YuLjVmODMxOGZiMzQxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5
bGUvUnVsZVNldEJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXRC
dWlsZGVyLmNwcApAQCAtMzEsNyArMzEsNyBAQAogCiAjaW5jbHVkZSAiQ1NTRm9udFNlbGVjdG9y
LmgiCiAjaW5jbHVkZSAiQ1NTS2V5ZnJhbWVzUnVsZS5oIgotI2luY2x1ZGUgIk1lZGlhUXVlcnlF
dmFsdWF0b3IuaCIKKyNpbmNsdWRlICJMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCiAjaW5j
bHVkZSAiU3R5bGVSZXNvbHZlci5oIgogI2luY2x1ZGUgIlN0eWxlUnVsZUltcG9ydC5oIgogI2lu
Y2x1ZGUgIlN0eWxlU2hlZXRDb250ZW50cy5oIgpAQCAtNDAsNyArNDAsNyBAQAogbmFtZXNwYWNl
IFdlYkNvcmUgewogbmFtZXNwYWNlIFN0eWxlIHsKIAotUnVsZVNldEJ1aWxkZXI6OlJ1bGVTZXRC
dWlsZGVyKFJ1bGVTZXQmIHJ1bGVTZXQsIGNvbnN0IE1lZGlhUXVlcnlFdmFsdWF0b3ImIGV2YWx1
YXRvciwgUmVzb2x2ZXIqIHJlc29sdmVyLCBTaHJpbmtUb0ZpdCBzaHJpbmtUb0ZpdCkKK1J1bGVT
ZXRCdWlsZGVyOjpSdWxlU2V0QnVpbGRlcihSdWxlU2V0JiBydWxlU2V0LCBjb25zdCBMZWdhY3lN
ZWRpYVF1ZXJ5RXZhbHVhdG9yJiBldmFsdWF0b3IsIFJlc29sdmVyKiByZXNvbHZlciwgU2hyaW5r
VG9GaXQgc2hyaW5rVG9GaXQpCiAgICAgOiBtX3J1bGVTZXQoJnJ1bGVTZXQpCiAgICAgLCBtX21l
ZGlhUXVlcnlDb2xsZWN0b3IoeyBldmFsdWF0b3IgfSkKICAgICAsIG1fcmVzb2x2ZXIocmVzb2x2
ZXIpCkBAIC00OCw3ICs0OCw3IEBAIFJ1bGVTZXRCdWlsZGVyOjpSdWxlU2V0QnVpbGRlcihSdWxl
U2V0JiBydWxlU2V0LCBjb25zdCBNZWRpYVF1ZXJ5RXZhbHVhdG9yJiBldmFsCiB7CiB9CiAKLVJ1
bGVTZXRCdWlsZGVyOjpSdWxlU2V0QnVpbGRlcihjb25zdCBNZWRpYVF1ZXJ5RXZhbHVhdG9yJiBl
dmFsdWF0b3IpCitSdWxlU2V0QnVpbGRlcjo6UnVsZVNldEJ1aWxkZXIoY29uc3QgTGVnYWN5TWVk
aWFRdWVyeUV2YWx1YXRvciYgZXZhbHVhdG9yKQogICAgIDogbV9tZWRpYVF1ZXJ5Q29sbGVjdG9y
KHsgZXZhbHVhdG9yLCB0cnVlIH0pCiB7CiB9CkBAIC0zNjUsNyArMzY1LDcgQEAgYm9vbCBSdWxl
U2V0QnVpbGRlcjo6TWVkaWFRdWVyeUNvbGxlY3Rvcjo6cHVzaEFuZEV2YWx1YXRlKGNvbnN0IE1l
ZGlhUXVlcnlTZXQqIHMKIAogICAgIC8vIE9ubHkgZXZhbHVhdGUgc3RhdGljIGV4cHJlc3Npb25z
IHRoYXQgcmVxdWlyZSBzdHlsZSByZWJ1aWxkLgogICAgIE1lZGlhUXVlcnlEeW5hbWljUmVzdWx0
cyBkeW5hbWljUmVzdWx0czsKLSAgICBhdXRvIG1vZGUgPSBjb2xsZWN0RHluYW1pYyA/IE1lZGlh
UXVlcnlFdmFsdWF0b3I6Ok1vZGU6OkFsd2F5c01hdGNoRHluYW1pYyA6IE1lZGlhUXVlcnlFdmFs
dWF0b3I6Ok1vZGU6Ok5vcm1hbDsKKyAgICBhdXRvIG1vZGUgPSBjb2xsZWN0RHluYW1pYyA/IExl
Z2FjeU1lZGlhUXVlcnlFdmFsdWF0b3I6Ok1vZGU6OkFsd2F5c01hdGNoRHluYW1pYyA6IExlZ2Fj
eU1lZGlhUXVlcnlFdmFsdWF0b3I6Ok1vZGU6Ok5vcm1hbDsKIAogICAgIGJvb2wgcmVzdWx0ID0g
ZXZhbHVhdG9yLmV2YWx1YXRlKCpzZXQsICZkeW5hbWljUmVzdWx0cywgbW9kZSk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXRCdWlsZGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9SdWxlU2V0QnVpbGRlci5oCmluZGV4IGQzNTQzMzRkNWQ5OS4uNjJhNjBlNzFl
ZjQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0QnVpbGRlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXRCdWlsZGVyLmgKQEAgLTI5LDE0ICsyOSwx
NCBAQCBuYW1lc3BhY2UgU3R5bGUgewogY2xhc3MgUnVsZVNldEJ1aWxkZXIgewogcHVibGljOgog
ICAgIGVudW0gY2xhc3MgU2hyaW5rVG9GaXQgeyBFbmFibGUsIERpc2FibGUgfTsKLSAgICBSdWxl
U2V0QnVpbGRlcihSdWxlU2V0JiwgY29uc3QgTWVkaWFRdWVyeUV2YWx1YXRvciYsIFJlc29sdmVy
KiA9IG51bGxwdHIsIFNocmlua1RvRml0ID0gU2hyaW5rVG9GaXQ6OkVuYWJsZSk7CisgICAgUnVs
ZVNldEJ1aWxkZXIoUnVsZVNldCYsIGNvbnN0IExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3ImLCBS
ZXNvbHZlciogPSBudWxscHRyLCBTaHJpbmtUb0ZpdCA9IFNocmlua1RvRml0OjpFbmFibGUpOwog
ICAgIH5SdWxlU2V0QnVpbGRlcigpOwogCiAgICAgdm9pZCBhZGRSdWxlc0Zyb21TaGVldChjb25z
dCBTdHlsZVNoZWV0Q29udGVudHMmLCBjb25zdCBNZWRpYVF1ZXJ5U2V0KiBzaGVldFF1ZXJ5ID0g
bnVsbHB0cik7CiAgICAgdm9pZCBhZGRTdHlsZVJ1bGUoY29uc3QgU3R5bGVSdWxlJik7CiAKIHBy
aXZhdGU6Ci0gICAgUnVsZVNldEJ1aWxkZXIoY29uc3QgTWVkaWFRdWVyeUV2YWx1YXRvciYpOwor
ICAgIFJ1bGVTZXRCdWlsZGVyKGNvbnN0IExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3ImKTsKIAog
ICAgIHZvaWQgYWRkUnVsZXNGcm9tU2hlZXRDb250ZW50cyhjb25zdCBTdHlsZVNoZWV0Q29udGVu
dHMmKTsKICAgICB2b2lkIGFkZENoaWxkUnVsZXMoY29uc3QgVmVjdG9yPFJlZlB0cjxTdHlsZVJ1
bGVCYXNlPj4mKTsKQEAgLTUyLDcgKzUyLDcgQEAgcHJpdmF0ZToKICAgICBzdHJ1Y3QgTWVkaWFR
dWVyeUNvbGxlY3RvciB7CiAgICAgICAgIH5NZWRpYVF1ZXJ5Q29sbGVjdG9yKCk7CiAKLSAgICAg
ICAgY29uc3QgTWVkaWFRdWVyeUV2YWx1YXRvciYgZXZhbHVhdG9yOworICAgICAgICBjb25zdCBM
ZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yJiBldmFsdWF0b3I7CiAgICAgICAgIGJvb2wgY29sbGVj
dER5bmFtaWMgeyBmYWxzZSB9OwogCiAgICAgICAgIHN0cnVjdCBEeW5hbWljQ29udGV4dCB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUludmFsaWRhdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlSW52YWxpZGF0b3IuY3BwCmluZGV4IDAwNDRlYjY2MWMy
Yi4uYWQwNTdkZGE1MjBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUlu
dmFsaWRhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUludmFsaWRhdG9y
LmNwcApAQCAtODIsNyArODIsNyBAQCBzdGF0aWMgYm9vbCBzaG91bGREaXJ0eUFsbFN0eWxlKGNv
bnN0IFZlY3RvcjxTdHlsZVNoZWV0Q29udGVudHMqPiYgc2hlZXRzKQogICAgIHJldHVybiBmYWxz
ZTsKIH0KIAotSW52YWxpZGF0b3I6OkludmFsaWRhdG9yKGNvbnN0IFZlY3RvcjxTdHlsZVNoZWV0
Q29udGVudHMqPiYgc2hlZXRzLCBjb25zdCBNZWRpYVF1ZXJ5RXZhbHVhdG9yJiBtZWRpYVF1ZXJ5
RXZhbHVhdG9yKQorSW52YWxpZGF0b3I6OkludmFsaWRhdG9yKGNvbnN0IFZlY3RvcjxTdHlsZVNo
ZWV0Q29udGVudHMqPiYgc2hlZXRzLCBjb25zdCBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yJiBt
ZWRpYVF1ZXJ5RXZhbHVhdG9yKQogICAgIDogbV9vd25lZFJ1bGVTZXQoUnVsZVNldDo6Y3JlYXRl
KCkpCiAgICAgLCBtX3J1bGVTZXRzKHsgbV9vd25lZFJ1bGVTZXQgfSkKICAgICAsIG1fZGlydGll
c0FsbFN0eWxlKHNob3VsZERpcnR5QWxsU3R5bGUoc2hlZXRzKSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N0eWxlL1N0eWxlSW52YWxpZGF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlSW52YWxpZGF0b3IuaAppbmRleCA0ZDZlOGUzYTMzMDUuLmE1YzU5YTRmZDExZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVJbnZhbGlkYXRvci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlSW52YWxpZGF0b3IuaApAQCAtMzQsNyArMzQsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgRWxlbWVudDsKLWNs
YXNzIE1lZGlhUXVlcnlFdmFsdWF0b3I7CitjbGFzcyBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9y
OwogY2xhc3MgU2hhZG93Um9vdDsKIGNsYXNzIFN0eWxlU2hlZXRDb250ZW50czsKIApAQCAtNDcs
NyArNDcsNyBAQCBzdHJ1Y3QgU2VsZWN0b3JNYXRjaGluZ1N0YXRlOwogCiBjbGFzcyBJbnZhbGlk
YXRvciB7CiBwdWJsaWM6Ci0gICAgSW52YWxpZGF0b3IoY29uc3QgVmVjdG9yPFN0eWxlU2hlZXRD
b250ZW50cyo+JiwgY29uc3QgTWVkaWFRdWVyeUV2YWx1YXRvciYpOworICAgIEludmFsaWRhdG9y
KGNvbnN0IFZlY3RvcjxTdHlsZVNoZWV0Q29udGVudHMqPiYsIGNvbnN0IExlZ2FjeU1lZGlhUXVl
cnlFdmFsdWF0b3ImKTsKICAgICBJbnZhbGlkYXRvcihjb25zdCBJbnZhbGlkYXRpb25SdWxlU2V0
VmVjdG9yJik7CiAKICAgICB+SW52YWxpZGF0b3IoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVS
ZXNvbHZlci5jcHAKaW5kZXggNzI0YjhhYjM3YmNmLi4yMzAzN2JiOTVhNzAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC00Nyw5ICs0Nyw5IEBACiAjaW5jbHVkZSAi
RnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5j
bHVkZSAiS2V5ZnJhbWVMaXN0LmgiCisjaW5jbHVkZSAiTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRv
ci5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJNZWRpYUxpc3QuaCIKLSNpbmNs
dWRlICJNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCiAjaW5jbHVkZSAiTm9kZVJlbmRlclN0eWxlLmgi
CiAjaW5jbHVkZSAiUGFnZVJ1bGVDb2xsZWN0b3IuaCIKICNpbmNsdWRlICJQYWlyLmgiCkBAIC0x
NTQsOSArMTU0LDkgQEAgUmVzb2x2ZXI6OlJlc29sdmVyKERvY3VtZW50JiBkb2N1bWVudCkKICAg
ICAvLyBpcyBhbHdheXMgZnJvbSB0aGUgZG9jdW1lbnQgdGhhdCBvd25zIHRoZSBzdHlsZSBzZWxl
Y3RvcgogICAgIEZyYW1lVmlldyogdmlldyA9IG1fZG9jdW1lbnQudmlldygpOwogICAgIGlmICh2
aWV3KQotICAgICAgICBtX21lZGlhUXVlcnlFdmFsdWF0b3IgPSBNZWRpYVF1ZXJ5RXZhbHVhdG9y
IHsgdmlldy0+bWVkaWFUeXBlKCkgfTsKKyAgICAgICAgbV9tZWRpYVF1ZXJ5RXZhbHVhdG9yID0g
TGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvciB7IHZpZXctPm1lZGlhVHlwZSgpIH07CiAgICAgZWxz
ZQotICAgICAgICBtX21lZGlhUXVlcnlFdmFsdWF0b3IgPSBNZWRpYVF1ZXJ5RXZhbHVhdG9yIHsg
fTsKKyAgICAgICAgbV9tZWRpYVF1ZXJ5RXZhbHVhdG9yID0gTGVnYWN5TWVkaWFRdWVyeUV2YWx1
YXRvciB7IH07CiAKICAgICBpZiAoYXV0byogZG9jdW1lbnRFbGVtZW50ID0gbV9kb2N1bWVudC5k
b2N1bWVudEVsZW1lbnQoKSkgewogICAgICAgICBtX3Jvb3REZWZhdWx0U3R5bGUgPSBzdHlsZUZv
ckVsZW1lbnQoKmRvY3VtZW50RWxlbWVudCwgeyBtX2RvY3VtZW50LnJlbmRlclN0eWxlKCkgfSwg
UnVsZU1hdGNoaW5nQmVoYXZpb3I6Ok1hdGNoT25seVVzZXJBZ2VudFJ1bGVzKS5yZW5kZXJTdHls
ZTsKQEAgLTE2OCw3ICsxNjgsNyBAQCBSZXNvbHZlcjo6UmVzb2x2ZXIoRG9jdW1lbnQmIGRvY3Vt
ZW50KQogICAgIH0KIAogICAgIGlmIChtX3Jvb3REZWZhdWx0U3R5bGUgJiYgdmlldykKLSAgICAg
ICAgbV9tZWRpYVF1ZXJ5RXZhbHVhdG9yID0gTWVkaWFRdWVyeUV2YWx1YXRvciB7IHZpZXctPm1l
ZGlhVHlwZSgpLCBtX2RvY3VtZW50LCBtX3Jvb3REZWZhdWx0U3R5bGUuZ2V0KCkgfTsKKyAgICAg
ICAgbV9tZWRpYVF1ZXJ5RXZhbHVhdG9yID0gTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvciB7IHZp
ZXctPm1lZGlhVHlwZSgpLCBtX2RvY3VtZW50LCBtX3Jvb3REZWZhdWx0U3R5bGUuZ2V0KCkgfTsK
IAogICAgIG1fcnVsZVNldHMucmVzZXRBdXRob3JTdHlsZSgpOwogICAgIG1fcnVsZVNldHMucmVz
ZXRVc2VyQWdlbnRNZWRpYVF1ZXJ5U3R5bGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N0eWxlL1N0eWxlUmVzb2x2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlUmVzb2x2
ZXIuaAppbmRleCBlMmJmNjg3MjhkNjQuLjY2MGI1Yzg0OTUyZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3R5bGUvU3R5bGVSZXNvbHZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlUmVzb2x2ZXIuaApAQCAtMjUsOCArMjUsOCBAQAogI2luY2x1ZGUgIkRvY3VtZW50Lmgi
CiAjaW5jbHVkZSAiRWxlbWVudFJ1bGVDb2xsZWN0b3IuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JD
U1NPTVdyYXBwZXJzLmgiCisjaW5jbHVkZSAiTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvci5oIgog
I2luY2x1ZGUgIk1hdGNoZWREZWNsYXJhdGlvbnNDYWNoZS5oIgotI2luY2x1ZGUgIk1lZGlhUXVl
cnlFdmFsdWF0b3IuaCIKICNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgogI2luY2x1ZGUgIlJ1bGVT
ZXQuaCIKICNpbmNsdWRlICJTdHlsZUJ1aWxkZXJTdGF0ZS5oIgpAQCAtMTE0LDcgKzExNCw3IEBA
IHB1YmxpYzoKICAgICBTY29wZVJ1bGVTZXRzJiBydWxlU2V0cygpIHsgcmV0dXJuIG1fcnVsZVNl
dHM7IH0KICAgICBjb25zdCBTY29wZVJ1bGVTZXRzJiBydWxlU2V0cygpIGNvbnN0IHsgcmV0dXJu
IG1fcnVsZVNldHM7IH0KIAotICAgIGNvbnN0IE1lZGlhUXVlcnlFdmFsdWF0b3ImIG1lZGlhUXVl
cnlFdmFsdWF0b3IoKSBjb25zdCB7IHJldHVybiBtX21lZGlhUXVlcnlFdmFsdWF0b3I7IH0KKyAg
ICBjb25zdCBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yJiBtZWRpYVF1ZXJ5RXZhbHVhdG9yKCkg
Y29uc3QgeyByZXR1cm4gbV9tZWRpYVF1ZXJ5RXZhbHVhdG9yOyB9CiAKICAgICB2b2lkIGFkZEN1
cnJlbnRTVkdGb250RmFjZVJ1bGVzKCk7CiAKQEAgLTE2Niw3ICsxNjYsNyBAQCBwcml2YXRlOgog
ICAgIHR5cGVkZWYgSGFzaE1hcDxBdG9tU3RyaW5nLCBSZWZQdHI8U3R5bGVSdWxlS2V5ZnJhbWVz
Pj4gS2V5ZnJhbWVzUnVsZU1hcDsKICAgICBLZXlmcmFtZXNSdWxlTWFwIG1fa2V5ZnJhbWVzUnVs
ZU1hcDsKIAotICAgIE1lZGlhUXVlcnlFdmFsdWF0b3IgbV9tZWRpYVF1ZXJ5RXZhbHVhdG9yOwor
ICAgIExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IgbV9tZWRpYVF1ZXJ5RXZhbHVhdG9yOwogICAg
IHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4gbV9yb290RGVmYXVsdFN0eWxlOwogCiAgICAg
RG9jdW1lbnQmIG1fZG9jdW1lbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9T
dHlsZVNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmgKaW5kZXggNjU2
ODZhNjg0YzQzLi5kMzYxNWM1N2YwZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmgKQEAg
LTI4LDcgKzI4LDcgQEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiTGF5b3V0U2l6ZS5oIgot
I2luY2x1ZGUgIk1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKKyNpbmNsdWRlICJMZWdhY3lNZWRpYVF1
ZXJ5RXZhbHVhdG9yLmgiCiAjaW5jbHVkZSAiU3R5bGVTY29wZU9yZGluYWwuaCIKICNpbmNsdWRl
ICJUaW1lci5oIgogI2luY2x1ZGUgPG1lbW9yeT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N0eWxlL1N0eWxlU2NvcGVSdWxlU2V0cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHls
ZVNjb3BlUnVsZVNldHMuY3BwCmluZGV4IDc5ZDNkODk4ZWU2ZS4uOWJlMDM1MDIxMTg1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlUnVsZVNldHMuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGVSdWxlU2V0cy5jcHAKQEAgLTM2LDcgKzM2
LDcgQEAKICNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyQ2xp
ZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCi0jaW5jbHVkZSAiTWVkaWFRdWVyeUV2YWx1
YXRvci5oIgorI2luY2x1ZGUgIkxlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKICNpbmNsdWRl
ICJQYWdlLmgiCiAjaW5jbHVkZSAiUnVsZVNldEJ1aWxkZXIuaCIKICNpbmNsdWRlICJTdHlsZVJl
c29sdmVyLmgiCkBAIC0xMzYsNyArMTM2LDcgQEAgdm9pZCBTY29wZVJ1bGVTZXRzOjppbml0aWFs
aXplVXNlclN0eWxlKCkKICAgICAgICAgbV91c2VyU3R5bGUgPSBXVEZNb3ZlKHVzZXJTdHlsZSk7
CiB9CiAKLXZvaWQgU2NvcGVSdWxlU2V0czo6Y29sbGVjdFJ1bGVzRnJvbVVzZXJTdHlsZVNoZWV0
cyhjb25zdCBWZWN0b3I8UmVmUHRyPENTU1N0eWxlU2hlZXQ+PiYgdXNlclNoZWV0cywgUnVsZVNl
dCYgdXNlclN0eWxlLCBjb25zdCBNZWRpYVF1ZXJ5RXZhbHVhdG9yJiBtZWRpYVF1ZXJ5RXZhbHVh
dG9yKQordm9pZCBTY29wZVJ1bGVTZXRzOjpjb2xsZWN0UnVsZXNGcm9tVXNlclN0eWxlU2hlZXRz
KGNvbnN0IFZlY3RvcjxSZWZQdHI8Q1NTU3R5bGVTaGVldD4+JiB1c2VyU2hlZXRzLCBSdWxlU2V0
JiB1c2VyU3R5bGUsIGNvbnN0IExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3ImIG1lZGlhUXVlcnlF
dmFsdWF0b3IpCiB7CiAgICAgUnVsZVNldEJ1aWxkZXIgYnVpbGRlcih1c2VyU3R5bGUsIG1lZGlh
UXVlcnlFdmFsdWF0b3IsICZtX3N0eWxlUmVzb2x2ZXIpOwogICAgIGZvciAoYXV0byYgc2hlZXQg
OiB1c2VyU2hlZXRzKSB7CkBAIC0xOTMsNyArMTkzLDcgQEAgYm9vbCBTY29wZVJ1bGVTZXRzOjpo
YXNDb250YWluZXJRdWVyaWVzKCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXN0ZDo6
b3B0aW9uYWw8RHluYW1pY01lZGlhUXVlcnlFdmFsdWF0aW9uQ2hhbmdlcz4gU2NvcGVSdWxlU2V0
czo6ZXZhbHVhdGVEeW5hbWljTWVkaWFRdWVyeVJ1bGVzKGNvbnN0IE1lZGlhUXVlcnlFdmFsdWF0
b3ImIGV2YWx1YXRvcikKK3N0ZDo6b3B0aW9uYWw8RHluYW1pY01lZGlhUXVlcnlFdmFsdWF0aW9u
Q2hhbmdlcz4gU2NvcGVSdWxlU2V0czo6ZXZhbHVhdGVEeW5hbWljTWVkaWFRdWVyeVJ1bGVzKGNv
bnN0IExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3ImIGV2YWx1YXRvcikKIHsKICAgICBzdGQ6Om9w
dGlvbmFsPER5bmFtaWNNZWRpYVF1ZXJ5RXZhbHVhdGlvbkNoYW5nZXM+IGV2YWx1YXRpb25DaGFu
Z2VzOwogCkBAIC0yMTUsNyArMjE1LDcgQEAgc3RkOjpvcHRpb25hbDxEeW5hbWljTWVkaWFRdWVy
eUV2YWx1YXRpb25DaGFuZ2VzPiBTY29wZVJ1bGVTZXRzOjpldmFsdWF0ZUR5bmFtaWMKICAgICBy
ZXR1cm4gZXZhbHVhdGlvbkNoYW5nZXM7CiB9CiAKLXZvaWQgU2NvcGVSdWxlU2V0czo6YXBwZW5k
QXV0aG9yU3R5bGVTaGVldHMoY29uc3QgVmVjdG9yPFJlZlB0cjxDU1NTdHlsZVNoZWV0Pj4mIHN0
eWxlU2hlZXRzLCBNZWRpYVF1ZXJ5RXZhbHVhdG9yKiBtZWRpYVF1ZXJ5RXZhbHVhdG9yLCBJbnNw
ZWN0b3JDU1NPTVdyYXBwZXJzJiBpbnNwZWN0b3JDU1NPTVdyYXBwZXJzKQordm9pZCBTY29wZVJ1
bGVTZXRzOjphcHBlbmRBdXRob3JTdHlsZVNoZWV0cyhjb25zdCBWZWN0b3I8UmVmUHRyPENTU1N0
eWxlU2hlZXQ+PiYgc3R5bGVTaGVldHMsIExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IqIG1lZGlh
UXVlcnlFdmFsdWF0b3IsIEluc3BlY3RvckNTU09NV3JhcHBlcnMmIGluc3BlY3RvckNTU09NV3Jh
cHBlcnMpCiB7CiAgICAgUnVsZVNldEJ1aWxkZXIgYnVpbGRlcigqbV9hdXRob3JTdHlsZSwgKm1l
ZGlhUXVlcnlFdmFsdWF0b3IsICZtX3N0eWxlUmVzb2x2ZXIpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlUnVsZVNldHMuaCBiL1NvdXJjZS9XZWJDb3JlL3N0
eWxlL1N0eWxlU2NvcGVSdWxlU2V0cy5oCmluZGV4IGU5ZWVhMmZjNTFlMS4uNjUxMjM2MTcxYzVk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlUnVsZVNldHMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlUnVsZVNldHMuaApAQCAtMzUsNyAr
MzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDU1NTdHlsZVJ1bGU7CiBjbGFzcyBD
U1NTdHlsZVNoZWV0OwogY2xhc3MgRXh0ZW5zaW9uU3R5bGVTaGVldHM7Ci1jbGFzcyBNZWRpYVF1
ZXJ5RXZhbHVhdG9yOworY2xhc3MgTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvcjsKIAogbmFtZXNw
YWNlIFN0eWxlIHsKIApAQCAtNzcsMTQgKzc3LDE0IEBAIHB1YmxpYzoKICAgICB2b2lkIGluaXRp
YWxpemVVc2VyU3R5bGUoKTsKIAogICAgIHZvaWQgcmVzZXRBdXRob3JTdHlsZSgpOwotICAgIHZv
aWQgYXBwZW5kQXV0aG9yU3R5bGVTaGVldHMoY29uc3QgVmVjdG9yPFJlZlB0cjxDU1NTdHlsZVNo
ZWV0Pj4mLCBNZWRpYVF1ZXJ5RXZhbHVhdG9yKiwgU3R5bGU6Okluc3BlY3RvckNTU09NV3JhcHBl
cnMmKTsKKyAgICB2b2lkIGFwcGVuZEF1dGhvclN0eWxlU2hlZXRzKGNvbnN0IFZlY3RvcjxSZWZQ
dHI8Q1NTU3R5bGVTaGVldD4+JiwgTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvciosIFN0eWxlOjpJ
bnNwZWN0b3JDU1NPTVdyYXBwZXJzJik7CiAKICAgICB2b2lkIHJlc2V0VXNlckFnZW50TWVkaWFR
dWVyeVN0eWxlKCk7CiAKICAgICBib29sIGhhc1ZpZXdwb3J0RGVwZW5kZW50TWVkaWFRdWVyaWVz
KCkgY29uc3Q7CiAgICAgYm9vbCBoYXNDb250YWluZXJRdWVyaWVzKCkgY29uc3Q7CiAKLSAgICBz
dGQ6Om9wdGlvbmFsPER5bmFtaWNNZWRpYVF1ZXJ5RXZhbHVhdGlvbkNoYW5nZXM+IGV2YWx1YXRl
RHluYW1pY01lZGlhUXVlcnlSdWxlcyhjb25zdCBNZWRpYVF1ZXJ5RXZhbHVhdG9yJik7CisgICAg
c3RkOjpvcHRpb25hbDxEeW5hbWljTWVkaWFRdWVyeUV2YWx1YXRpb25DaGFuZ2VzPiBldmFsdWF0
ZUR5bmFtaWNNZWRpYVF1ZXJ5UnVsZXMoY29uc3QgTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvciYp
OwogCiAgICAgUnVsZUZlYXR1cmVTZXQmIG11dGFibGVGZWF0dXJlcygpOwogCkBAIC05NCw3ICs5
NCw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICB2b2lkIGNvbGxlY3RGZWF0dXJlcygpIGNv
bnN0OwotICAgIHZvaWQgY29sbGVjdFJ1bGVzRnJvbVVzZXJTdHlsZVNoZWV0cyhjb25zdCBWZWN0
b3I8UmVmUHRyPENTU1N0eWxlU2hlZXQ+PiYsIFJ1bGVTZXQmIHVzZXJTdHlsZSwgY29uc3QgTWVk
aWFRdWVyeUV2YWx1YXRvciYpOworICAgIHZvaWQgY29sbGVjdFJ1bGVzRnJvbVVzZXJTdHlsZVNo
ZWV0cyhjb25zdCBWZWN0b3I8UmVmUHRyPENTU1N0eWxlU2hlZXQ+PiYsIFJ1bGVTZXQmIHVzZXJT
dHlsZSwgY29uc3QgTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvciYpOwogICAgIHZvaWQgdXBkYXRl
VXNlckFnZW50TWVkaWFRdWVyeVN0eWxlSWZOZWVkZWQoKSBjb25zdDsKIAogICAgIFJlZlB0cjxS
dWxlU2V0PiBtX2F1dGhvclN0eWxlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUv
VXNlckFnZW50U3R5bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUu
Y3BwCmluZGV4IDBhMzI3NTdkOGM3YS4uYjE3ODg4NGVkMTExIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5
bGUvVXNlckFnZW50U3R5bGUuY3BwCkBAIC00Niw4ICs0Niw4IEBACiAjaW5jbHVkZSAiSFRNTE1l
ZGlhRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxPYmplY3RFbGVtZW50LmgiCiAjaW5jbHVkZSAi
SFRNTFNwYW5FbGVtZW50LmgiCisjaW5jbHVkZSAiTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvci5o
IgogI2luY2x1ZGUgIk1hdGhNTEVsZW1lbnQuaCIKLSNpbmNsdWRlICJNZWRpYVF1ZXJ5RXZhbHVh
dG9yLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlF1aXJrcy5oIgogI2luY2x1ZGUg
IlJlbmRlclRoZW1lLmgiCkBAIC05NSwxNSArOTUsMTUgQEAgU3R5bGVTaGVldENvbnRlbnRzKiBV
c2VyQWdlbnRTdHlsZTo6bGVnYWN5Rm9ybUNvbnRyb2xzSU9TU3R5bGVTaGVldDsKIFN0eWxlU2hl
ZXRDb250ZW50cyogVXNlckFnZW50U3R5bGU6OmFsdGVybmF0ZUZvcm1Db250cm9sRGVzaWduU3R5
bGVTaGVldDsKICNlbmRpZgogCi1zdGF0aWMgY29uc3QgTWVkaWFRdWVyeUV2YWx1YXRvciYgc2Ny
ZWVuRXZhbCgpCitzdGF0aWMgY29uc3QgTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvciYgc2NyZWVu
RXZhbCgpCiB7Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPGNvbnN0IE1lZGlhUXVlcnlFdmFs
dWF0b3I+IHN0YXRpY1NjcmVlbkV2YWwoU3RyaW5nKE1BS0VfU1RBVElDX1NUUklOR19JTVBMKCJz
Y3JlZW4iKSkpOworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxjb25zdCBMZWdhY3lNZWRpYVF1
ZXJ5RXZhbHVhdG9yPiBzdGF0aWNTY3JlZW5FdmFsKFN0cmluZyhNQUtFX1NUQVRJQ19TVFJJTkdf
SU1QTCgic2NyZWVuIikpKTsKICAgICByZXR1cm4gc3RhdGljU2NyZWVuRXZhbDsKIH0KIAotc3Rh
dGljIGNvbnN0IE1lZGlhUXVlcnlFdmFsdWF0b3ImIHByaW50RXZhbCgpCitzdGF0aWMgY29uc3Qg
TGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvciYgcHJpbnRFdmFsKCkKIHsKLSAgICBzdGF0aWMgTmV2
ZXJEZXN0cm95ZWQ8Y29uc3QgTWVkaWFRdWVyeUV2YWx1YXRvcj4gc3RhdGljUHJpbnRFdmFsKFN0
cmluZyhNQUtFX1NUQVRJQ19TVFJJTkdfSU1QTCgicHJpbnQiKSkpOworICAgIHN0YXRpYyBOZXZl
ckRlc3Ryb3llZDxjb25zdCBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yPiBzdGF0aWNQcmludEV2
YWwoU3RyaW5nKE1BS0VfU1RBVElDX1NUUklOR19JTVBMKCJwcmludCIpKSk7CiAgICAgcmV0dXJu
IHN0YXRpY1ByaW50RXZhbDsKIH0KIAo=
</data>
<flag name="commit-queue"
          id="491588"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>463027</attachid>
            <date>2022-10-17 03:56:25 -0700</date>
            <delta_ts>2022-10-17 06:41:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-246611-20221017135622.patch</filename>
            <type>text/plain</type>
            <size>56466</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">RnJvbSBlNmFiZmI2ODJkZGIwZTViMmVlNmQxZmU0YjRjNGY4M2UxYzVmZjgxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnR0aSBLb2l2aXN0byA8YW50dGlAYXBwbGUuY29tPgpEYXRl
OiBNb24sIDE3IE9jdCAyMDIyIDEyOjUxOjU5ICswMzAwClN1YmplY3Q6IFtQQVRDSF0gW01RNF0g
UmVuYW1lIE1lZGlhUXVlcnlFdmFsdWF0b3IgdG8gTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvcgog
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0NjYxMSByZGFyOi8vMTAx
MjM5NzE4CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCkluIHByZXBhcmF0aW9uIGZvciBh
IG1vZGVybiBldmFsdWF0b3IuCgoqIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0OgoqIFNvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKiBTb3VyY2UvV2Vi
Q29yZS9jc3MvTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvci5jcHA6IFJlbmFtZWQgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5jcHAuCihXZWJDb3JlOjpvcGVyYXRv
cjw8KToKKFdlYkNvcmU6OmlzQWNjZXNzaWJpbGl0eVNldHRpbmdzRGVwZW5kZW50KToKKFdlYkNv
cmU6OmlzQXBwZWFyYW5jZURlcGVuZGVudCk6CihXZWJDb3JlOjptZWRpYVF1ZXJ5Vmlld3BvcnRT
dGF0ZUZvckRvY3VtZW50KToKKFdlYkNvcmU6OkxlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3I6Okxl
Z2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IpOgooV2ViQ29yZTo6TGVnYWN5TWVkaWFRdWVyeUV2YWx1
YXRvcjo6bWVkaWFUeXBlTWF0Y2ggY29uc3QpOgooV2ViQ29yZTo6TGVnYWN5TWVkaWFRdWVyeUV2
YWx1YXRvcjo6bWVkaWFUeXBlTWF0Y2hTcGVjaWZpYyBjb25zdCk6CihXZWJDb3JlOjphcHBseVJl
c3RyaWN0b3IpOgooV2ViQ29yZTo6TGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvcjo6ZXZhbHVhdGUg
Y29uc3QpOgooV2ViQ29yZTo6TGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvcjo6ZXZhbHVhdGVGb3JD
aGFuZ2VzIGNvbnN0KToKKFdlYkNvcmU6OmNvbXBhcmVWYWx1ZSk6CihXZWJDb3JlOjphc3BlY3RS
YXRpb1ZhbHVlQXNTdHJpbmcpOgooV2ViQ29yZTo6Y29tcGFyZUFzcGVjdFJhdGlvVmFsdWUpOgoo
V2ViQ29yZTo6ZG91YmxlVmFsdWUpOgooV2ViQ29yZTo6emVyb0V2YWx1YXRlKToKKFdlYkNvcmU6
Om9uZUV2YWx1YXRlKToKKFdlYkNvcmU6OmNvbG9yRXZhbHVhdGUpOgooV2ViQ29yZTo6Y29sb3JJ
bmRleEV2YWx1YXRlKToKKFdlYkNvcmU6OmNvbG9yR2FtdXRFdmFsdWF0ZSk6CihXZWJDb3JlOjpt
b25vY2hyb21lRXZhbHVhdGUpOgooV2ViQ29yZTo6aW52ZXJ0ZWRDb2xvcnNFdmFsdWF0ZSk6CihX
ZWJDb3JlOjpvcmllbnRhdGlvbkV2YWx1YXRlKToKKFdlYkNvcmU6OmFzcGVjdFJhdGlvRXZhbHVh
dGUpOgooV2ViQ29yZTo6ZGV2aWNlQXNwZWN0UmF0aW9FdmFsdWF0ZSk6CihXZWJDb3JlOjpldmFs
dWF0ZVJlc29sdXRpb24pOgooV2ViQ29yZTo6ZGV2aWNlUGl4ZWxSYXRpb0V2YWx1YXRlKToKKFdl
YkNvcmU6OnJlc29sdXRpb25FdmFsdWF0ZSk6CihXZWJDb3JlOjpkeW5hbWljUmFuZ2VFdmFsdWF0
ZSk6CihXZWJDb3JlOjpzY2FuRXZhbHVhdGUpOgooV2ViQ29yZTo6Zm9yY2VkQ29sb3JzRXZhbHVh
dGUpOgooV2ViQ29yZTo6Z3JpZEV2YWx1YXRlKToKKFdlYkNvcmU6OmNvbXB1dGVMZW5ndGgpOgoo
V2ViQ29yZTo6ZGV2aWNlSGVpZ2h0RXZhbHVhdGUpOgooV2ViQ29yZTo6ZGV2aWNlV2lkdGhFdmFs
dWF0ZSk6CihXZWJDb3JlOjpoZWlnaHRFdmFsdWF0ZSk6CihXZWJDb3JlOjp3aWR0aEV2YWx1YXRl
KToKKFdlYkNvcmU6Om1pbkNvbG9yRXZhbHVhdGUpOgooV2ViQ29yZTo6bWF4Q29sb3JFdmFsdWF0
ZSk6CihXZWJDb3JlOjptaW5Db2xvckluZGV4RXZhbHVhdGUpOgooV2ViQ29yZTo6bWF4Q29sb3JJ
bmRleEV2YWx1YXRlKToKKFdlYkNvcmU6Om1pbk1vbm9jaHJvbWVFdmFsdWF0ZSk6CihXZWJDb3Jl
OjptYXhNb25vY2hyb21lRXZhbHVhdGUpOgooV2ViQ29yZTo6bWluQXNwZWN0UmF0aW9FdmFsdWF0
ZSk6CihXZWJDb3JlOjptYXhBc3BlY3RSYXRpb0V2YWx1YXRlKToKKFdlYkNvcmU6Om1pbkRldmlj
ZUFzcGVjdFJhdGlvRXZhbHVhdGUpOgooV2ViQ29yZTo6bWF4RGV2aWNlQXNwZWN0UmF0aW9FdmFs
dWF0ZSk6CihXZWJDb3JlOjptaW5EZXZpY2VQaXhlbFJhdGlvRXZhbHVhdGUpOgooV2ViQ29yZTo6
bWF4RGV2aWNlUGl4ZWxSYXRpb0V2YWx1YXRlKToKKFdlYkNvcmU6Om1pbkhlaWdodEV2YWx1YXRl
KToKKFdlYkNvcmU6Om1heEhlaWdodEV2YWx1YXRlKToKKFdlYkNvcmU6Om1pbldpZHRoRXZhbHVh
dGUpOgooV2ViQ29yZTo6bWF4V2lkdGhFdmFsdWF0ZSk6CihXZWJDb3JlOjptaW5EZXZpY2VIZWln
aHRFdmFsdWF0ZSk6CihXZWJDb3JlOjptYXhEZXZpY2VIZWlnaHRFdmFsdWF0ZSk6CihXZWJDb3Jl
OjptaW5EZXZpY2VXaWR0aEV2YWx1YXRlKToKKFdlYkNvcmU6Om1heERldmljZVdpZHRoRXZhbHVh
dGUpOgooV2ViQ29yZTo6bWluUmVzb2x1dGlvbkV2YWx1YXRlKToKKFdlYkNvcmU6Om1heFJlc29s
dXRpb25FdmFsdWF0ZSk6CihXZWJDb3JlOjphbmltYXRpb25FdmFsdWF0ZSk6CihXZWJDb3JlOjp0
cmFuc2l0aW9uRXZhbHVhdGUpOgooV2ViQ29yZTo6dHJhbnNmb3JtMmRFdmFsdWF0ZSk6CihXZWJD
b3JlOjp0cmFuc2Zvcm0zZEV2YWx1YXRlKToKKFdlYkNvcmU6OnZpZGVvUGxheWFibGVJbmxpbmVF
dmFsdWF0ZSk6CihXZWJDb3JlOjpob3ZlckV2YWx1YXRlKToKKFdlYkNvcmU6OmFueUhvdmVyRXZh
bHVhdGUpOgooV2ViQ29yZTo6cG9pbnRlckV2YWx1YXRlKToKKFdlYkNvcmU6OmFueVBvaW50ZXJF
dmFsdWF0ZSk6CihXZWJDb3JlOjpwcmVmZXJzRGFya0ludGVyZmFjZUV2YWx1YXRlKToKKFdlYkNv
cmU6OnByZWZlcnNDb2xvclNjaGVtZUV2YWx1YXRlKToKKFdlYkNvcmU6OnByZWZlcnNDb250cmFz
dEV2YWx1YXRlKToKKFdlYkNvcmU6OnByZWZlcnNSZWR1Y2VkTW90aW9uRXZhbHVhdGUpOgooV2Vi
Q29yZTo6ZGlzcGxheU1vZGVFdmFsdWF0ZSk6CihXZWJDb3JlOjphZGQpOgooV2ViQ29yZTo6TGVn
YWN5TWVkaWFRdWVyeUV2YWx1YXRvcjo6bWVkaWFBdHRyaWJ1dGVNYXRjaGVzKToKKiBTb3VyY2Uv
V2ViQ29yZS9jc3MvTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvci5oOiBSZW5hbWVkIGZyb20gU291
cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuaC4KKFdlYkNvcmU6Ok1lZGlhUXVl
cnlEeW5hbWljUmVzdWx0czo6YXBwZW5kKToKKFdlYkNvcmU6Ok1lZGlhUXVlcnlEeW5hbWljUmVz
dWx0czo6aXNFbXB0eSBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0
LmNwcDoKKFdlYkNvcmU6Ok1lZGlhUXVlcnlMaXN0OjpldmFsdWF0ZSk6CiogU291cmNlL1dlYkNv
cmUvY3NzL01lZGlhUXVlcnlMaXN0Lmg6CiogU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlN
YXRjaGVyLmNwcDoKKFdlYkNvcmU6Ok1lZGlhUXVlcnlNYXRjaGVyOjpldmFsdWF0ZSk6CihXZWJD
b3JlOjpNZWRpYVF1ZXJ5TWF0Y2hlcjo6ZXZhbHVhdGVBbGwpOgoqIFNvdXJjZS9XZWJDb3JlL2Nz
cy9NZWRpYVF1ZXJ5TWF0Y2hlci5oOgoqIFNvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvU2l6ZXNB
dHRyaWJ1dGVQYXJzZXIuY3BwOgooV2ViQ29yZTo6U2l6ZXNBdHRyaWJ1dGVQYXJzZXI6Om1lZGlh
Q29uZGl0aW9uTWF0Y2hlcyk6CiogU291cmNlL1dlYkNvcmUvZG9tL0lubGluZVN0eWxlU2hlZXRP
d25lci5jcHA6CiogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcDoKKFdl
YkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OmJlc3RGaXRTb3VyY2VGcm9tUGljdHVyZUVsZW1lbnQp
OgooV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6ZXZhbHVhdGVEeW5hbWljTWVkaWFRdWVyeURl
cGVuZGVuY2llcyk6CiogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50Lmg6Ciog
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwOgooV2ViQ29yZTo6SFRNTExp
bmtFbGVtZW50OjptZWRpYUF0dHJpYnV0ZU1hdGNoZXMgY29uc3QpOgoqIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CihXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpz
ZWxlY3ROZXh0U291cmNlQ2hpbGQpOgoqIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1ldGFFbGVt
ZW50LmNwcDoKKFdlYkNvcmU6OkhUTUxNZXRhRWxlbWVudDo6bWVkaWFBdHRyaWJ1dGVNYXRjaGVz
KToKKiBTb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwOgoo
V2ViQ29yZTo6VG9rZW5QcmVsb2FkU2Nhbm5lcjo6U3RhcnRUYWdTY2FubmVyOjpwcm9jZXNzQXR0
cmlidXRlKToKKiBTb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUmVzb3VyY2VQcmVsb2Fk
ZXIuY3BwOgooV2ViQ29yZTo6SFRNTFJlc291cmNlUHJlbG9hZGVyOjpwcmVsb2FkKToKKiBTb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlci5jcHA6CihXZWJDb3JlOjpMaW5rTG9hZGVyOjpw
cmVsb2FkSWZOZWVkZWQpOgoqIFNvdXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVj
dG9yLmg6CihXZWJDb3JlOjpTdHlsZTo6RWxlbWVudFJ1bGVDb2xsZWN0b3I6OnNldE1lZGl1bSk6
CiogU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZURhdGEuY3BwOgoqIFNvdXJjZS9XZWJDb3JlL3N0
eWxlL1J1bGVTZXQuY3BwOgooV2ViQ29yZTo6U3R5bGU6OlJ1bGVTZXQ6OmV2YWx1YXRlRHluYW1p
Y01lZGlhUXVlcnlSdWxlcyk6CiogU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldC5oOgoqIFNv
dXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXRCdWlsZGVyLmNwcDoKKFdlYkNvcmU6OlN0eWxlOjpS
dWxlU2V0QnVpbGRlcjo6UnVsZVNldEJ1aWxkZXIpOgooV2ViQ29yZTo6U3R5bGU6OlJ1bGVTZXRC
dWlsZGVyOjpNZWRpYVF1ZXJ5Q29sbGVjdG9yOjpwdXNoQW5kRXZhbHVhdGUpOgoqIFNvdXJjZS9X
ZWJDb3JlL3N0eWxlL1J1bGVTZXRCdWlsZGVyLmg6CiogU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5
bGVJbnZhbGlkYXRvci5jcHA6CihXZWJDb3JlOjpTdHlsZTo6SW52YWxpZGF0b3I6OkludmFsaWRh
dG9yKToKKiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUludmFsaWRhdG9yLmg6CiogU291cmNl
L1dlYkNvcmUvc3R5bGUvU3R5bGVSZXNvbHZlci5jcHA6CihXZWJDb3JlOjpTdHlsZTo6UmVzb2x2
ZXI6OlJlc29sdmVyKToKKiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVJlc29sdmVyLmg6CihX
ZWJDb3JlOjpTdHlsZTo6UmVzb2x2ZXI6Om1lZGlhUXVlcnlFdmFsdWF0b3IgY29uc3QpOgoqIFNv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGUuaDoKKiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9T
dHlsZVNjb3BlUnVsZVNldHMuY3BwOgooV2ViQ29yZTo6U3R5bGU6OlNjb3BlUnVsZVNldHM6OmNv
bGxlY3RSdWxlc0Zyb21Vc2VyU3R5bGVTaGVldHMpOgooV2ViQ29yZTo6U3R5bGU6OlNjb3BlUnVs
ZVNldHM6OmV2YWx1YXRlRHluYW1pY01lZGlhUXVlcnlSdWxlcyk6CihXZWJDb3JlOjpTdHlsZTo6
U2NvcGVSdWxlU2V0czo6YXBwZW5kQXV0aG9yU3R5bGVTaGVldHMpOgoqIFNvdXJjZS9XZWJDb3Jl
L3N0eWxlL1N0eWxlU2NvcGVSdWxlU2V0cy5oOgoqIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJB
Z2VudFN0eWxlLmNwcDoKKFdlYkNvcmU6OlN0eWxlOjpzY3JlZW5FdmFsKToKKFdlYkNvcmU6OlN0
eWxlOjpwcmludEV2YWwpOgotLS0KIFNvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UgICAgICAg
ICAgICAgICAgICB8ICAyICstCiBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCAgICAgICAgICAg
ICAgICAgICAgfCAgMiArLQogLi4uL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIHwgMTQgKysrKy0tLS0KIC4uLmF0b3IuY3BwID0+IExlZ2FjeU1lZGlhUXVlcnlFdmFs
dWF0b3IuY3BwfSB8IDM0ICsrKysrKysrKy0tLS0tLS0tLS0KIC4uLnZhbHVhdG9yLmggPT4gTGVn
YWN5TWVkaWFRdWVyeUV2YWx1YXRvci5ofSB8ICA4ICsrLS0tCiBTb3VyY2UvV2ViQ29yZS9jc3Mv
TWVkaWFRdWVyeUxpc3QuY3BwICAgICAgICAgfCAgMiArLQogU291cmNlL1dlYkNvcmUvY3NzL01l
ZGlhUXVlcnlMaXN0LmggICAgICAgICAgIHwgIDQgKy0tCiBTb3VyY2UvV2ViQ29yZS9jc3MvTWVk
aWFRdWVyeU1hdGNoZXIuY3BwICAgICAgfCAgNiArKy0tCiBTb3VyY2UvV2ViQ29yZS9jc3MvTWVk
aWFRdWVyeU1hdGNoZXIuaCAgICAgICAgfCAgMiArLQogLi4uL2Nzcy9wYXJzZXIvU2l6ZXNBdHRy
aWJ1dGVQYXJzZXIuY3BwICAgICAgIHwgIDQgKy0tCiBTb3VyY2UvV2ViQ29yZS9kb20vSW5saW5l
U3R5bGVTaGVldE93bmVyLmNwcCAgfCAgMiArLQogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1h
Z2VFbGVtZW50LmNwcCAgICAgIHwgIDYgKystLQogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1h
Z2VFbGVtZW50LmggICAgICAgIHwgIDIgKy0KIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtF
bGVtZW50LmNwcCAgICAgICB8ICA0ICstLQogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmNwcCAgICAgIHwgIDQgKy0tCiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZXRhRWxl
bWVudC5jcHAgICAgICAgfCAgNCArLS0KIC4uLi9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5u
ZXIuY3BwICAgICAgICB8ICA0ICstLQogLi4uL2h0bWwvcGFyc2VyL0hUTUxSZXNvdXJjZVByZWxv
YWRlci5jcHAgICAgIHwgIDcgKystLQogU291cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIu
Y3BwICAgICAgICAgIHwgIDQgKy0tCiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9FbGVtZW50UnVsZUNv
bGxlY3Rvci5oICAgfCAgNCArLS0KIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVEYXRhLmNwcCAg
ICAgICAgICAgICB8ICAxIC0KIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuY3BwICAgICAg
ICAgICAgICB8ICA4ICsrLS0tCiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmggICAgICAg
ICAgICAgICAgfCAgNiArKy0tCiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0QnVpbGRlci5j
cHAgICAgICAgfCAgOCArKy0tLQogU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldEJ1aWxkZXIu
aCAgICAgICAgIHwgIDYgKystLQogU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVJbnZhbGlkYXRv
ci5jcHAgICAgIHwgIDIgKy0KIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlSW52YWxpZGF0b3Iu
aCAgICAgICB8ICA0ICstLQogU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVSZXNvbHZlci5jcHAg
ICAgICAgIHwgIDggKystLS0KIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlUmVzb2x2ZXIuaCAg
ICAgICAgICB8ICA2ICsrLS0KIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGUuaCAgICAg
ICAgICAgICB8ICAyICstCiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlUnVsZVNldHMu
Y3BwICAgfCAgOCArKy0tLQogU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZVJ1bGVTZXRz
LmggICAgIHwgIDggKystLS0KIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxlLmNw
cCAgICAgICB8IDEwICsrKy0tLQogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvRE9NL0RPTS5tbSAg
ICAgICAgICAgIHwgIDQgKy0tCiAzNCBmaWxlcyBjaGFuZ2VkLCA5OSBpbnNlcnRpb25zKCspLCAx
MDEgZGVsZXRpb25zKC0pCiByZW5hbWUgU291cmNlL1dlYkNvcmUvY3NzL3tNZWRpYVF1ZXJ5RXZh
bHVhdG9yLmNwcCA9PiBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcH0gKDk1JSkKIHJlbmFt
ZSBTb3VyY2UvV2ViQ29yZS9jc3Mve01lZGlhUXVlcnlFdmFsdWF0b3IuaCA9PiBMZWdhY3lNZWRp
YVF1ZXJ5RXZhbHVhdG9yLmh9ICg5MiUpCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVh
ZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggOTlhZGY1NzE2
OWM1Li4zN2Y0YzI4MWFmNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21h
a2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpAQCAtNjE2LDggKzYxNiw4IEBA
IHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICBjc3MvRGVwcmVjYXRl
ZENTU09NVmFsdWUuaAogICAgIGNzcy9EZXByZWNhdGVkQ1NTT01WYWx1ZUxpc3QuaAogICAgIGNz
cy9Gb250TG9hZFRpbWluZ092ZXJyaWRlLmgKKyAgICBjc3MvTGVnYWN5TWVkaWFRdWVyeUV2YWx1
YXRvci5oCiAgICAgY3NzL01lZGlhTGlzdC5oCi0gICAgY3NzL01lZGlhUXVlcnlFdmFsdWF0b3Iu
aAogICAgIGNzcy9NZWRpYVF1ZXJ5RXhwcmVzc2lvbi5oCiAgICAgY3NzL01lZGlhUXVlcnlQYXJz
ZXJDb250ZXh0LmgKICAgICBjc3MvUmVjdC5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9T
b3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDg1ZDk2NDI2NzBk
MC4uNDNhNTA5NTVlMjYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtODI3LDEwICs4MjcsMTAgQEAgY3Nz
L0RlcHJlY2F0ZWRDU1NPTVZhbHVlTGlzdC5jcHAKIGNzcy9Gb250RmFjZS5jcHAKIGNzcy9Gb250
RmFjZVNldC5jcHAKIGNzcy9Gb250VmFyaWFudEJ1aWxkZXIuY3BwCitjc3MvTGVnYWN5TWVkaWFR
dWVyeUV2YWx1YXRvci5jcHAKIGNzcy9NZWRpYUZlYXR1cmVOYW1lcy5jcHAKIGNzcy9NZWRpYUxp
c3QuY3BwCiBjc3MvTWVkaWFRdWVyeS5jcHAKLWNzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcAog
Y3NzL01lZGlhUXVlcnlFeHByZXNzaW9uLmNwcAogY3NzL01lZGlhUXVlcnlMaXN0LmNwcAogY3Nz
L01lZGlhUXVlcnlMaXN0RXZlbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZWM4NzFiM2MzNGU4Li5lYzE0NTMxZmEzMTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTE2MDQsNyArMTYwNCw3IEBACiAJCTREQjcxMzBEMjE2RUNCNEQwMDk2QTRERCAvKiBN
ZWRpYVJlY29yZGVyRXJyb3JFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNERCNzEzMEMyMTZFQzJCRDAwOTZBNEREIC8qIE1lZGlhUmVjb3JkZXJF
cnJvckV2ZW50LmggKi87IH07CiAJCTRFMTk1OTIyMEEzOURBQkEwMDIyMEZFNSAvKiBNZWRpYUZl
YXR1cmVOYW1lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNEUxOTU5MjAwQTM5REFCQTAwMjIwRkU1IC8qIE1lZGlhRmVhdHVyZU5hbWVzLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNEUxOTU5MkEwQTM5
REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVlcnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDRFMTk1OTI0MEEzOURBQ0MwMDIyMEZFNSAvKiBNZWRpYVF1ZXJ5
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNEUx
OTU5MkMwQTM5REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVlcnlFdmFsdWF0b3IuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRFMTk1OTI2MEEzOURBQ0MwMDIy
MEZFNSAvKiBNZWRpYVF1ZXJ5RXZhbHVhdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNEUxOTU5MkMwQTM5REFDQzAwMjIwRkU1IC8qIExlZ2Fj
eU1lZGlhUXVlcnlFdmFsdWF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDRFMTk1OTI2MEEzOURBQ0MwMDIyMEZFNSAvKiBMZWdhY3lNZWRpYVF1ZXJ5
RXZhbHVhdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJNEYxNTM0REUxMUI1MzJFQzAwMjFGRDg2IC8qIEVkaXRpbmdCZWhhdmlvci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEYxNTM0REQxMUI1MzJF
QzAwMjFGRDg2IC8qIEVkaXRpbmdCZWhhdmlvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTRGMTUzNEUwMTFCNTMzMDIwMDIxRkQ4NiAvKiBFZGl0
aW5nQmVoYXZpb3JUeXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0RjE1MzRERjExQjUzMzAyMDAyMUZEODYgLyogRWRpdGluZ0JlaGF2aW9yVHlwZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTRGQTY1
QTZDMTEwOEFCRUQwMDI2MTVFMCAvKiBNYXRoTUxTcGFjZUVsZW1lbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRGQTY1QTZBMTEwOEFCRUQwMDI2MTVF
MCAvKiBNYXRoTUxTcGFjZUVsZW1lbnQuaCAqLzsgfTsKQEAgLTk5ODIsOCArOTk4Miw4IEBACiAJ
CTRFMTk1OTIwMEEzOURBQkEwMDIyMEZFNSAvKiBNZWRpYUZlYXR1cmVOYW1lcy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFGZWF0dXJlTmFtZXMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEUxOTU5MjMwQTM5REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVl
cnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhUXVlcnku
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0RTE5NTkyNDBBMzlEQUNDMDAyMjBG
RTUgLyogTWVkaWFRdWVyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVk
aWFRdWVyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0RTE5NTkyNTBBMzlEQUND
MDAyMjBGRTUgLyogTWVkaWFRdWVyeUV2YWx1YXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFRdWVyeUV2YWx1YXRvci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCTRFMTk1OTI2MEEzOURBQ0MwMDIyMEZFNSAvKiBNZWRpYVF1ZXJ5RXZh
bHVhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVF1ZXJ5RXZh
bHVhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTRFMTk1OTI1MEEzOURBQ0Mw
MDIyMEZFNSAvKiBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNEUxOTU5MjYwQTM5REFDQzAwMjIwRkU1IC8qIExl
Z2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNEYxNTM0REQxMUI1MzJFQzAwMjFGRDg2IC8qIEVkaXRpbmdCZWhhdmlvci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFZGl0aW5nQmVoYXZpb3IuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEYxNTM0REYxMUI1MzMwMjAwMjFGRDg2IC8qIEVkaXRpbmdC
ZWhhdmlvclR5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRWRpdGluZ0Jl
aGF2aW9yVHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0RkE2NUE2OTExMDhB
QkVEMDAyNjE1RTAgLyogTWF0aE1MU3BhY2VFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IE1hdGhNTFNwYWNlRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0zMDE4MSw4ICszMDE4MSw4IEBACiAJCUI1MzIwRDY4MTIyQTI0RTkw
MDJEMTQ0MCAvKiBjb2NvYSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4g
PSAoCi0JCQkJN0JDRDQyREEyNzA1Qzk0OTAwRUIyMTI3IC8qIEFOR0xFVXRpbGl0aWVzQ29jb2Eu
bW0gKi8sCiAJCQkJN0JDRDQyREMyNzA1Qzk0OTAwRUIyMTI3IC8qIEFOR0xFVXRpbGl0aWVzQ29j
b2EuaCAqLywKKwkJCQk3QkNENDJEQTI3MDVDOTQ5MDBFQjIxMjcgLyogQU5HTEVVdGlsaXRpZXND
b2NvYS5tbSAqLywKIAkJCQlDREY5OTUwMTI0QzI4MTQ5MDAyRUEwNjIgLyogQXVkaW9UcmFja1By
aXZhdGVXZWJNLmNwcCAqLywKIAkJCQlDREY5OTUwMDI0QzI4MTQ5MDAyRUEwNjIgLyogQXVkaW9U
cmFja1ByaXZhdGVXZWJNLmggKi8sCiAJCQkJNTE1MEI1REMyN0NERjJFMDAwNEZDODFFIC8qIENN
VXRpbGl0aWVzLmggKi8sCkBAIC0zMjk4Miw2ICszMjk4Miw4IEBACiAJCQkJQ0Q0RTBBRkExMUY3
QkMyNzAwOUQzODExIC8qIGZ1bGxzY3JlZW4uY3NzICovLAogCQkJCTkzQ0E0Qzk5MDlERjkzRkEw
MERGODY3NyAvKiBodG1sLmNzcyAqLywKIAkJCQlFNTRDQTZERDI1NURFMkQ1MDBGOTAxQTMgLyog
bGVnYWN5Rm9ybUNvbnRyb2xzSU9TLmNzcyAqLywKKwkJCQk0RTE5NTkyNTBBMzlEQUNDMDAyMjBG
RTUgLyogTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvci5jcHAgKi8sCisJCQkJNEUxOTU5MjYwQTM5
REFDQzAwMjIwRkU1IC8qIExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IuaCAqLywKIAkJCQk5QkU1
NDY4RTI4ODBENzIyMDBGNjM1QTQgLyogTGlua1N0eWxlLmlkbCAqLywKIAkJCQk5M0NBNEM5QTA5
REY5M0ZBMDBERjg2NzcgLyogbWFrZS1jc3MtZmlsZS1hcnJheXMucGwgKi8sCiAJCQkJOTNDQTRD
OUIwOURGOTNGQTAwREY4Njc3IC8qIG1ha2Vwcm9wLnBsICovLApAQCAtMzI5OTcsOCArMzI5OTks
NiBAQAogCQkJCTg1QzU2QzVCMEFBODdBRkQwMEQ5NTc1NSAvKiBNZWRpYUxpc3QuaWRsICovLAog
CQkJCTRFMTk1OTIzMEEzOURBQ0MwMDIyMEZFNSAvKiBNZWRpYVF1ZXJ5LmNwcCAqLywKIAkJCQk0
RTE5NTkyNDBBMzlEQUNDMDAyMjBGRTUgLyogTWVkaWFRdWVyeS5oICovLAotCQkJCTRFMTk1OTI1
MEEzOURBQ0MwMDIyMEZFNSAvKiBNZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcCAqLywKLQkJCQk0RTE5
NTkyNjBBMzlEQUNDMDAyMjBGRTUgLyogTWVkaWFRdWVyeUV2YWx1YXRvci5oICovLAogCQkJCTdD
QjVDQTNEMUU1MjVDNkMwMEZBRUYxMyAvKiBNZWRpYVF1ZXJ5RXhwcmVzc2lvbi5jcHAgKi8sCiAJ
CQkJN0NCNUNBM0UxRTUyNUM2QzAwRkFFRjEzIC8qIE1lZGlhUXVlcnlFeHByZXNzaW9uLmggKi8s
CiAJCQkJRDNBOTRBMzExMjJEQUJBQzAwQTM3QkJDIC8qIE1lZGlhUXVlcnlMaXN0LmNwcCAqLywK
QEAgLTM3MzAxLDYgKzM3MzAxLDcgQEAKIAkJCQlCQ0U3ODkxNjExMjBENjA4MDA2MEVDRTUgLyog
TGVnYWN5SW5saW5lSXRlcmF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRUE0ODVBMDk3RDkz
MDIwMDk0QzlFNCAvKiBMZWdhY3lJbmxpbmVUZXh0Qm94LmggaW4gSGVhZGVycyAqLywKIAkJCQlF
NEU5NEQ2MTIyRkYxNThBMDBERDE5MUYgLyogTGVnYWN5TGluZUxheW91dC5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJNEUxOTU5MkMwQTM5REFDQzAwMjIwRkU1IC8qIExlZ2FjeU1lZGlhUXVlcnlFdmFs
dWF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTk0OTNCNkMxMUQ3NEI0MTIwMDg4RTc4MCAvKiBM
ZWdhY3lNZWRpYVF1ZXJ5UGFyc2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQlGNDRBNUY1OTFGRUQz
OEYyMDA3RjU5NDQgLyogTGVnYWN5TlNQYXN0ZWJvYXJkVHlwZXMuaCBpbiBIZWFkZXJzICovLAog
CQkJCUExODVCNDJBMUU4MjExQTEwMERDOTExOCAvKiBMZWdhY3lQcmV2aWV3TG9hZGVyLmggaW4g
SGVhZGVycyAqLywKQEAgLTM3NDc4LDcgKzM3NDc5LDYgQEAKIAkJCQk1MkUyQ0FGQzE5RkYwMjA3
MDAxRUVCNEYgLyogTWVkaWFQcm9kdWNlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEUxOTU5MkEw
QTM5REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVlcnkuaCBpbiBIZWFkZXJzICovLAogCQkJCTk0OTNC
NkJGMUQ3NEI0MTIwMDg4RTc4MCAvKiBNZWRpYVF1ZXJ5QmxvY2tXYXRjaGVyLmggaW4gSGVhZGVy
cyAqLywKLQkJCQk0RTE5NTkyQzBBMzlEQUNDMDAyMjBGRTUgLyogTWVkaWFRdWVyeUV2YWx1YXRv
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0NCNUNBNDAxRTUyNUM3MzAwRkFFRjEzIC8qIE1lZGlh
UXVlcnlFeHByZXNzaW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlEM0E5NEEzOTEyMkRBQkFDMDBB
MzdCQkMgLyogTWVkaWFRdWVyeUxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTg0NjUwRTdFMjM4
N0FEN0QwMDYyNjZFMiAvKiBNZWRpYVF1ZXJ5TGlzdEV2ZW50LmggaW4gSGVhZGVycyAqLywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9MZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcApzaW1pbGFyaXR5
IGluZGV4IDk1JQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1
YXRvci5jcHAKcmVuYW1lIHRvIFNvdXJjZS9XZWJDb3JlL2Nzcy9MZWdhY3lNZWRpYVF1ZXJ5RXZh
bHVhdG9yLmNwcAppbmRleCA4NzFlYjdjYzkzMzMuLmRhMzZmMmYxZjNmOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9MZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcApAQCAtMjcsNyArMjcsNyBA
QAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJNZWRpYVF1ZXJ5RXZhbHVh
dG9yLmgiCisjaW5jbHVkZSAiTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvci5oIgogCiAjaW5jbHVk
ZSAiQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1ByaW1pdGl2ZVZhbHVlLmgi
CkBAIC05MSwxMSArOTEsMTEgQEAgc3RhdGljIGJvb2wgaXNBY2Nlc3NpYmlsaXR5U2V0dGluZ3NE
ZXBlbmRlbnQoY29uc3QgQXRvbVN0cmluZyYgbWVkaWFGZWF0dXJlKQogCiBzdGF0aWMgYm9vbCBp
c0FwcGVhcmFuY2VEZXBlbmRlbnQoY29uc3QgQXRvbVN0cmluZyYgbWVkaWFGZWF0dXJlKQogewot
ICAgIHJldHVybiBtZWRpYUZlYXR1cmUgPT0gTWVkaWFGZWF0dXJlTmFtZXM6OnByZWZlcnNEYXJr
SW50ZXJmYWNlCiAjaWYgRU5BQkxFKERBUktfTU9ERV9DU1MpCi0gICAgICAgIHx8IG1lZGlhRmVh
dHVyZSA9PSBNZWRpYUZlYXR1cmVOYW1lczo6cHJlZmVyc0NvbG9yU2NoZW1lCisgICAgaWYgKG1l
ZGlhRmVhdHVyZSA9PSBNZWRpYUZlYXR1cmVOYW1lczo6cHJlZmVyc0NvbG9yU2NoZW1lKQorICAg
ICAgICByZXR1cm4gdHJ1ZTsKICNlbmRpZgotICAgIDsKKyAgICByZXR1cm4gbWVkaWFGZWF0dXJl
ID09IE1lZGlhRmVhdHVyZU5hbWVzOjpwcmVmZXJzRGFya0ludGVyZmFjZTsKIH0KIAogTWVkaWFR
dWVyeVZpZXdwb3J0U3RhdGUgbWVkaWFRdWVyeVZpZXdwb3J0U3RhdGVGb3JEb2N1bWVudChjb25z
dCBEb2N1bWVudCYgZG9jdW1lbnQpCkBAIC0xMDQsMzIgKzEwNCwzMiBAQCBNZWRpYVF1ZXJ5Vmll
d3BvcnRTdGF0ZSBtZWRpYVF1ZXJ5Vmlld3BvcnRTdGF0ZUZvckRvY3VtZW50KGNvbnN0IERvY3Vt
ZW50JiBkb2N1bQogICAgIHJldHVybiB7IGRvY3VtZW50LnZpZXcoKS0+bGF5b3V0U2l6ZSgpLCBk
b2N1bWVudC5mcmFtZSgpLT5wYWdlWm9vbUZhY3RvcigpLCBkb2N1bWVudC5wcmludGluZygpIH07
CiB9CiAKLU1lZGlhUXVlcnlFdmFsdWF0b3I6Ok1lZGlhUXVlcnlFdmFsdWF0b3IoYm9vbCBtZWRp
YUZlYXR1cmVSZXN1bHQpCitMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yOjpMZWdhY3lNZWRpYVF1
ZXJ5RXZhbHVhdG9yKGJvb2wgbWVkaWFGZWF0dXJlUmVzdWx0KQogICAgIDogbV9mYWxsYmFja1Jl
c3VsdChtZWRpYUZlYXR1cmVSZXN1bHQpCiB7CiB9CiAKLU1lZGlhUXVlcnlFdmFsdWF0b3I6Ok1l
ZGlhUXVlcnlFdmFsdWF0b3IoY29uc3QgU3RyaW5nJiBhY2NlcHRlZE1lZGlhVHlwZSwgYm9vbCBt
ZWRpYUZlYXR1cmVSZXN1bHQpCitMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yOjpMZWdhY3lNZWRp
YVF1ZXJ5RXZhbHVhdG9yKGNvbnN0IFN0cmluZyYgYWNjZXB0ZWRNZWRpYVR5cGUsIGJvb2wgbWVk
aWFGZWF0dXJlUmVzdWx0KQogICAgIDogbV9tZWRpYVR5cGUoYWNjZXB0ZWRNZWRpYVR5cGUpCiAg
ICAgLCBtX2ZhbGxiYWNrUmVzdWx0KG1lZGlhRmVhdHVyZVJlc3VsdCkKIHsKIH0KIAotTWVkaWFR
dWVyeUV2YWx1YXRvcjo6TWVkaWFRdWVyeUV2YWx1YXRvcihjb25zdCBTdHJpbmcmIGFjY2VwdGVk
TWVkaWFUeXBlLCBjb25zdCBEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFJlbmRlclN0eWxlKiBz
dHlsZSkKK0xlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3I6OkxlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0
b3IoY29uc3QgU3RyaW5nJiBhY2NlcHRlZE1lZGlhVHlwZSwgY29uc3QgRG9jdW1lbnQmIGRvY3Vt
ZW50LCBjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUpCiAgICAgOiBtX21lZGlhVHlwZShhY2NlcHRl
ZE1lZGlhVHlwZSkKICAgICAsIG1fZG9jdW1lbnQoZG9jdW1lbnQpCiAgICAgLCBtX3N0eWxlKHN0
eWxlKQogewogfQogCi1ib29sIE1lZGlhUXVlcnlFdmFsdWF0b3I6Om1lZGlhVHlwZU1hdGNoKGNv
bnN0IFN0cmluZyYgbWVkaWFUeXBlVG9NYXRjaCkgY29uc3QKK2Jvb2wgTGVnYWN5TWVkaWFRdWVy
eUV2YWx1YXRvcjo6bWVkaWFUeXBlTWF0Y2goY29uc3QgU3RyaW5nJiBtZWRpYVR5cGVUb01hdGNo
KSBjb25zdAogewogICAgIHJldHVybiBtZWRpYVR5cGVUb01hdGNoLmlzRW1wdHkoKQogICAgICAg
ICB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShtZWRpYVR5cGVUb01hdGNoLCAiYWxs
Il9zKQogICAgICAgICB8fCBlcXVhbElnbm9yaW5nQVNDSUlDYXNlKG1lZGlhVHlwZVRvTWF0Y2gs
IG1fbWVkaWFUeXBlKTsKIH0KIAotYm9vbCBNZWRpYVF1ZXJ5RXZhbHVhdG9yOjptZWRpYVR5cGVN
YXRjaFNwZWNpZmljKEFTQ0lJTGl0ZXJhbCBtZWRpYVR5cGVUb01hdGNoKSBjb25zdAorYm9vbCBM
ZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yOjptZWRpYVR5cGVNYXRjaFNwZWNpZmljKEFTQ0lJTGl0
ZXJhbCBtZWRpYVR5cGVUb01hdGNoKSBjb25zdAogewogICAgIC8vIExpa2UgbWVkaWFUeXBlTWF0
Y2gsIGJ1dCB3aXRob3V0IHRoZSBzcGVjaWFsIGNhc2VzIGZvciAiIiBhbmQgImFsbCIuCiAgICAg
QVNTRVJUKCFtZWRpYVR5cGVUb01hdGNoLmlzTnVsbCgpKTsKQEAgLTE0MywxMyArMTQzLDEzIEBA
IHN0YXRpYyBib29sIGFwcGx5UmVzdHJpY3RvcihNZWRpYVF1ZXJ5OjpSZXN0cmljdG9yIHIsIGJv
b2wgdmFsdWUpCiAgICAgcmV0dXJuIHIgPT0gTWVkaWFRdWVyeTo6Tm90ID8gIXZhbHVlIDogdmFs
dWU7CiB9CiAKLWJvb2wgTWVkaWFRdWVyeUV2YWx1YXRvcjo6ZXZhbHVhdGUoY29uc3QgTWVkaWFR
dWVyeVNldCYgcXVlcnlTZXQsIE1lZGlhUXVlcnlEeW5hbWljUmVzdWx0cyogZHluYW1pY1Jlc3Vs
dHMsIE1vZGUgbW9kZSkgY29uc3QKK2Jvb2wgTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvcjo6ZXZh
bHVhdGUoY29uc3QgTWVkaWFRdWVyeVNldCYgcXVlcnlTZXQsIE1lZGlhUXVlcnlEeW5hbWljUmVz
dWx0cyogZHluYW1pY1Jlc3VsdHMsIE1vZGUgbW9kZSkgY29uc3QKIHsKLSAgICBMT0dfV0lUSF9T
VFJFQU0oTWVkaWFRdWVyaWVzLCBzdHJlYW0gPDwgIk1lZGlhUXVlcnlFdmFsdWF0b3I6OmV2YWx1
YXRlIG9uICIgPDwgKG1fZG9jdW1lbnQgPyBtX2RvY3VtZW50LT51cmwoKS5zdHJpbmcoKSA6IGVt
cHR5U3RyaW5nKCkpKTsKKyAgICBMT0dfV0lUSF9TVFJFQU0oTWVkaWFRdWVyaWVzLCBzdHJlYW0g
PDwgIkxlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlIG9uICIgPDwgKG1fZG9jdW1l
bnQgPyBtX2RvY3VtZW50LT51cmwoKS5zdHJpbmcoKSA6IGVtcHR5U3RyaW5nKCkpKTsKIAogICAg
IGF1dG8mIHF1ZXJpZXMgPSBxdWVyeVNldC5xdWVyeVZlY3RvcigpOwogICAgIGlmICghcXVlcmll
cy5zaXplKCkpIHsKLSAgICAgICAgTE9HX1dJVEhfU1RSRUFNKE1lZGlhUXVlcmllcywgc3RyZWFt
IDw8ICJNZWRpYVF1ZXJ5RXZhbHVhdG9yOjpldmFsdWF0ZSAiIDw8IHF1ZXJ5U2V0IDw8ICIgcmV0
dXJuaW5nIHRydWUiKTsKKyAgICAgICAgTE9HX1dJVEhfU1RSRUFNKE1lZGlhUXVlcmllcywgc3Ry
ZWFtIDw8ICJMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yOjpldmFsdWF0ZSAiIDw8IHF1ZXJ5U2V0
IDw8ICIgcmV0dXJuaW5nIHRydWUiKTsKICAgICAgICAgcmV0dXJuIHRydWU7IC8vIEVtcHR5IHF1
ZXJ5IGxpc3QgZXZhbHVhdGVzIHRvIHRydWUuCiAgICAgfQogCkBAIC0yMDAsMTEgKzIwMCwxMSBA
QCBib29sIE1lZGlhUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlKGNvbnN0IE1lZGlhUXVlcnlTZXQm
IHF1ZXJ5U2V0LCBNZWRpYVF1ZXJ5RHluYQogICAgICAgICAgICAgcmVzdWx0ID0gYXBwbHlSZXN0
cmljdG9yKHF1ZXJ5LnJlc3RyaWN0b3IoKSwgZmFsc2UpOwogICAgIH0KIAotICAgIExPR19XSVRI
X1NUUkVBTShNZWRpYVF1ZXJpZXMsIHN0cmVhbSA8PCAiTWVkaWFRdWVyeUV2YWx1YXRvcjo6ZXZh
bHVhdGUgIiA8PCBxdWVyeVNldCA8PCAiIHJldHVybmluZyAiIDw8IHJlc3VsdCk7CisgICAgTE9H
X1dJVEhfU1RSRUFNKE1lZGlhUXVlcmllcywgc3RyZWFtIDw8ICJMZWdhY3lNZWRpYVF1ZXJ5RXZh
bHVhdG9yOjpldmFsdWF0ZSAiIDw8IHF1ZXJ5U2V0IDw8ICIgcmV0dXJuaW5nICIgPDwgcmVzdWx0
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi1ib29sIE1lZGlhUXVlcnlFdmFsdWF0b3I6OmV2
YWx1YXRlRm9yQ2hhbmdlcyhjb25zdCBNZWRpYVF1ZXJ5RHluYW1pY1Jlc3VsdHMmIGR5bmFtaWNS
ZXN1bHRzKSBjb25zdAorYm9vbCBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yOjpldmFsdWF0ZUZv
ckNoYW5nZXMoY29uc3QgTWVkaWFRdWVyeUR5bmFtaWNSZXN1bHRzJiBkeW5hbWljUmVzdWx0cykg
Y29uc3QKIHsKICAgICBhdXRvIGhhc0NoYW5nZXMgPSBbJl0oYXV0byYgZHluYW1pY1Jlc3VsdHNW
ZWN0b3IpIHsKICAgICAgICAgZm9yIChhdXRvJiBkeW5hbWljUmVzdWx0IDogZHluYW1pY1Jlc3Vs
dHNWZWN0b3IpIHsKQEAgLTkyNyw3ICs5MjcsNyBAQCBzdGF0aWMgdm9pZCBhZGQoTWVkaWFRdWVy
eUZ1bmN0aW9uTWFwJiBtYXAsIEF0b21TdHJpbmdJbXBsKiBrZXksIE1lZGlhUXVlcnlGdW5jdAog
ICAgIG1hcC5hZGQoa2V5LCB2YWx1ZSk7CiB9CiAKLWJvb2wgTWVkaWFRdWVyeUV2YWx1YXRvcjo6
ZXZhbHVhdGUoY29uc3QgTWVkaWFRdWVyeUV4cHJlc3Npb24mIGV4cHJlc3Npb24pIGNvbnN0Citi
b29sIExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlKGNvbnN0IE1lZGlhUXVlcnlF
eHByZXNzaW9uJiBleHByZXNzaW9uKSBjb25zdAogewogICAgIGlmICghbV9kb2N1bWVudCkKICAg
ICAgICAgcmV0dXJuIG1fZmFsbGJhY2tSZXN1bHQ7CkBAIC05NjcsMTEgKzk2NywxMSBAQCBib29s
IE1lZGlhUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlKGNvbnN0IE1lZGlhUXVlcnlFeHByZXNzaW9u
JiBleHByZXNzaW9uKSBjb25zdAogICAgIHJldHVybiBmdW5jdGlvbihleHByZXNzaW9uLnZhbHVl
KCksIHsgKm1fc3R5bGUsICZkZWZhdWx0U3R5bGUsIG51bGxwdHIsIGRvY3VtZW50LnJlbmRlclZp
ZXcoKSB9LCAqZnJhbWUsIE5vUHJlZml4KTsKIH0KIAotYm9vbCBNZWRpYVF1ZXJ5RXZhbHVhdG9y
OjptZWRpYUF0dHJpYnV0ZU1hdGNoZXMoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTdHJpbmcm
IGF0dHJpYnV0ZVZhbHVlKQorYm9vbCBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yOjptZWRpYUF0
dHJpYnV0ZU1hdGNoZXMoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIGF0dHJpYnV0
ZVZhbHVlKQogewogICAgIEFTU0VSVChkb2N1bWVudC5yZW5kZXJWaWV3KCkpOwogICAgIGF1dG8g
bWVkaWFRdWVyaWVzID0gTWVkaWFRdWVyeVNldDo6Y3JlYXRlKGF0dHJpYnV0ZVZhbHVlLCBNZWRp
YVF1ZXJ5UGFyc2VyQ29udGV4dChkb2N1bWVudCkpOwotICAgIHJldHVybiBNZWRpYVF1ZXJ5RXZh
bHVhdG9yIHsgInNjcmVlbiJfcywgZG9jdW1lbnQsICZkb2N1bWVudC5yZW5kZXJWaWV3KCktPnN0
eWxlKCkgfS5ldmFsdWF0ZShtZWRpYVF1ZXJpZXMuZ2V0KCkpOworICAgIHJldHVybiBMZWdhY3lN
ZWRpYVF1ZXJ5RXZhbHVhdG9yIHsgInNjcmVlbiJfcywgZG9jdW1lbnQsICZkb2N1bWVudC5yZW5k
ZXJWaWV3KCktPnN0eWxlKCkgfS5ldmFsdWF0ZShtZWRpYVF1ZXJpZXMuZ2V0KCkpOwogfQogCiB9
IC8vIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZh
bHVhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvci5o
CnNpbWlsYXJpdHkgaW5kZXggOTIlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2Nzcy9NZWRp
YVF1ZXJ5RXZhbHVhdG9yLmgKcmVuYW1lIHRvIFNvdXJjZS9XZWJDb3JlL2Nzcy9MZWdhY3lNZWRp
YVF1ZXJ5RXZhbHVhdG9yLmgKaW5kZXggZWMxMjVmMWM5YmYyLi44MmY2MTZiN2E2MTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0xlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IuaApAQCAtNjQsMTggKzY0
LDE4IEBAIE1lZGlhUXVlcnlWaWV3cG9ydFN0YXRlIG1lZGlhUXVlcnlWaWV3cG9ydFN0YXRlRm9y
RG9jdW1lbnQoY29uc3QgRG9jdW1lbnQmKTsKIC8vIFNvbWUgb2YgdGhlIGNvbnN0cnVjdG9ycyBh
cmUgdXNlZCBmb3IgY2FzZXMgd2hlcmUgdGhlIGRldmljZSBjaGFyYWN0ZXJpc3RpY3MgYXJlIG5v
dCBrbm93bi4KIC8vIFRoZXNlICBjYW4gYmUgdXNlZCB0byBwcnVuZSB0aGUgbG9hZGluZyBvZiBz
dHlsZXNoZWV0cyB0byBvbmx5IHRob3NlIHdoaWNoIGFyZSBub3QgYWxyZWFkeSBrbm93biB0byBu
b3QgbWF0Y2guCiAKLWNsYXNzIE1lZGlhUXVlcnlFdmFsdWF0b3IgeworY2xhc3MgTGVnYWN5TWVk
aWFRdWVyeUV2YWx1YXRvciB7CiBwdWJsaWM6CiAgICAgLy8gQ3JlYXRlcyBldmFsdWF0b3Igd2hp
Y2ggZXZhbHVhdGVzIG9ubHkgc2ltcGxlIG1lZGlhIHF1ZXJpZXMuCiAgICAgLy8gRXZhbHVhdG9y
IHJldHVybnMgdHJ1ZSBmb3IgImFsbCIsIGFuZCByZXR1cm5zIHZhbHVlIG9mIFxtZWRpYUZlYXR1
cmVSZXN1bHQgZm9yIGFueSBtZWRpYSBmZWF0dXJlcy4KLSAgICBleHBsaWNpdCBNZWRpYVF1ZXJ5
RXZhbHVhdG9yKGJvb2wgbWVkaWFGZWF0dXJlUmVzdWx0ID0gZmFsc2UpOworICAgIGV4cGxpY2l0
IExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IoYm9vbCBtZWRpYUZlYXR1cmVSZXN1bHQgPSBmYWxz
ZSk7CiAKICAgICAvLyBDcmVhdGVzIGV2YWx1YXRvciB3aGljaCBldmFsdWF0ZXMgb25seSBzaW1w
bGUgbWVkaWEgcXVlcmllcy4KICAgICAvLyBFdmFsdWF0b3IgcmV0dXJucyB0cnVlIGZvciBhY2Nl
cHRlZE1lZGlhVHlwZSBhbmQgcmV0dXJucyB2YWx1ZSBvZiBcbWVkaWFGZWF0dXJlUmVzdWx0IGZv
ciBhbnkgbWVkaWEgZmVhdHVyZXMuCi0gICAgTWVkaWFRdWVyeUV2YWx1YXRvcihjb25zdCBTdHJp
bmcmIGFjY2VwdGVkTWVkaWFUeXBlLCBib29sIG1lZGlhRmVhdHVyZVJlc3VsdCA9IGZhbHNlKTsK
KyAgICBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yKGNvbnN0IFN0cmluZyYgYWNjZXB0ZWRNZWRp
YVR5cGUsIGJvb2wgbWVkaWFGZWF0dXJlUmVzdWx0ID0gZmFsc2UpOwogCiAgICAgLy8gQ3JlYXRl
cyBldmFsdWF0b3Igd2hpY2ggZXZhbHVhdGVzIGZ1bGwgbWVkaWEgcXVlcmllcy4KLSAgICBXRUJD
T1JFX0VYUE9SVCBNZWRpYVF1ZXJ5RXZhbHVhdG9yKGNvbnN0IFN0cmluZyYgYWNjZXB0ZWRNZWRp
YVR5cGUsIGNvbnN0IERvY3VtZW50JiwgY29uc3QgUmVuZGVyU3R5bGUqKTsKKyAgICBXRUJDT1JF
X0VYUE9SVCBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yKGNvbnN0IFN0cmluZyYgYWNjZXB0ZWRN
ZWRpYVR5cGUsIGNvbnN0IERvY3VtZW50JiwgY29uc3QgUmVuZGVyU3R5bGUqKTsKIAogICAgIGJv
b2wgbWVkaWFUeXBlTWF0Y2goY29uc3QgU3RyaW5nJiBtZWRpYVR5cGVUb01hdGNoKSBjb25zdDsK
ICAgICBib29sIG1lZGlhVHlwZU1hdGNoU3BlY2lmaWMoQVNDSUlMaXRlcmFsIG1lZGlhVHlwZVRv
TWF0Y2gpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlM
aXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5jcHAKaW5kZXggN2Q5
Y2YzZGU1MzU3Li4yNGIyZWZkZGZiZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9N
ZWRpYVF1ZXJ5TGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0
LmNwcApAQCAtODEsNyArODEsNyBAQCB2b2lkIE1lZGlhUXVlcnlMaXN0OjpyZW1vdmVMaXN0ZW5l
cihSZWZQdHI8RXZlbnRMaXN0ZW5lcj4mJiBsaXN0ZW5lcikKICAgICByZW1vdmVFdmVudExpc3Rl
bmVyKGV2ZW50TmFtZXMoKS5jaGFuZ2VFdmVudCwgKmxpc3RlbmVyLCB7IH0pOwogfQogCi12b2lk
IE1lZGlhUXVlcnlMaXN0OjpldmFsdWF0ZShNZWRpYVF1ZXJ5RXZhbHVhdG9yJiBldmFsdWF0b3Is
IE1lZGlhUXVlcnlNYXRjaGVyOjpFdmVudE1vZGUgZXZlbnRNb2RlKQordm9pZCBNZWRpYVF1ZXJ5
TGlzdDo6ZXZhbHVhdGUoTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvciYgZXZhbHVhdG9yLCBNZWRp
YVF1ZXJ5TWF0Y2hlcjo6RXZlbnRNb2RlIGV2ZW50TW9kZSkKIHsKICAgICBSRUxFQVNFX0FTU0VS
VChtX21hdGNoZXIpOwogICAgIGlmIChtX2V2YWx1YXRpb25Sb3VuZCAhPSBtX21hdGNoZXItPmV2
YWx1YXRpb25Sb3VuZCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVl
cnlMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3QuaAppbmRleCA1YTYz
ZTdjYmY3ZmIuLmFkZmJiNjA1ODhhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL01l
ZGlhUXVlcnlMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0LmgK
QEAgLTIxLDggKzIxLDggQEAKIAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgogI2luY2x1
ZGUgIkV2ZW50VGFyZ2V0LmgiCisjaW5jbHVkZSAiTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvci5o
IgogI2luY2x1ZGUgIk1lZGlhTGlzdC5oIgotI2luY2x1ZGUgIk1lZGlhUXVlcnlFdmFsdWF0b3Iu
aCIKICNpbmNsdWRlICJNZWRpYVF1ZXJ5TWF0Y2hlci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CkBAIC00NCw3ICs0NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGFkZExpc3RlbmVyKFJlZlB0cjxF
dmVudExpc3RlbmVyPiYmKTsKICAgICB2b2lkIHJlbW92ZUxpc3RlbmVyKFJlZlB0cjxFdmVudExp
c3RlbmVyPiYmKTsKIAotICAgIHZvaWQgZXZhbHVhdGUoTWVkaWFRdWVyeUV2YWx1YXRvciYsIE1l
ZGlhUXVlcnlNYXRjaGVyOjpFdmVudE1vZGUpOworICAgIHZvaWQgZXZhbHVhdGUoTGVnYWN5TWVk
aWFRdWVyeUV2YWx1YXRvciYsIE1lZGlhUXVlcnlNYXRjaGVyOjpFdmVudE1vZGUpOwogCiAgICAg
dm9pZCBkZXRhY2hGcm9tTWF0Y2hlcigpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvTWVkaWFRdWVyeU1hdGNoZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlN
YXRjaGVyLmNwcAppbmRleCA4ODY3OTJlZDkzZDIuLjU5MzBlYjgzNTRlNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlNYXRjaGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvTWVkaWFRdWVyeU1hdGNoZXIuY3BwCkBAIC0yNCw5ICsyNCw5IEBACiAjaW5jbHVk
ZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3
LmgiCisjaW5jbHVkZSAiTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvci5oIgogI2luY2x1ZGUgIkxv
Z2dpbmcuaCIKICNpbmNsdWRlICJNZWRpYUxpc3QuaCIKLSNpbmNsdWRlICJNZWRpYVF1ZXJ5RXZh
bHVhdG9yLmgiCiAjaW5jbHVkZSAiTWVkaWFRdWVyeUxpc3QuaCIKICNpbmNsdWRlICJNZWRpYVF1
ZXJ5UGFyc2VyQ29udGV4dC5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJTdHlsZS5oIgpAQCAtNzks
NyArNzksNyBAQCBib29sIE1lZGlhUXVlcnlNYXRjaGVyOjpldmFsdWF0ZShjb25zdCBNZWRpYVF1
ZXJ5U2V0JiBtZWRpYSkKICAgICBhdXRvIHN0eWxlID0gZG9jdW1lbnRFbGVtZW50VXNlckFnZW50
U3R5bGUoKTsKICAgICBpZiAoIXN0eWxlKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0
dXJuIE1lZGlhUXVlcnlFdmFsdWF0b3IgeyBtZWRpYVR5cGUoKSwgKm1fZG9jdW1lbnQsIHN0eWxl
LmdldCgpIH0uZXZhbHVhdGUobWVkaWEpOworICAgIHJldHVybiBMZWdhY3lNZWRpYVF1ZXJ5RXZh
bHVhdG9yIHsgbWVkaWFUeXBlKCksICptX2RvY3VtZW50LCBzdHlsZS5nZXQoKSB9LmV2YWx1YXRl
KG1lZGlhKTsKIH0KIAogdm9pZCBNZWRpYVF1ZXJ5TWF0Y2hlcjo6YWRkTWVkaWFRdWVyeUxpc3Qo
TWVkaWFRdWVyeUxpc3QmIGxpc3QpCkBAIC0xMTUsNyArMTE1LDcgQEAgdm9pZCBNZWRpYVF1ZXJ5
TWF0Y2hlcjo6ZXZhbHVhdGVBbGwoRXZlbnRNb2RlIGV2ZW50TW9kZSkKIAogICAgIExPR19XSVRI
X1NUUkVBTShNZWRpYVF1ZXJpZXMsIHN0cmVhbSA8PCAiTWVkaWFRdWVyeU1hdGNoZXI6OnN0eWxl
UmVzb2x2ZXJDaGFuZ2VkICIgPDwgbV9kb2N1bWVudC0+dXJsKCkpOwogCi0gICAgTWVkaWFRdWVy
eUV2YWx1YXRvciBldmFsdWF0b3IgeyBtZWRpYVR5cGUoKSwgKm1fZG9jdW1lbnQsIHN0eWxlLmdl
dCgpIH07CisgICAgTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvciBldmFsdWF0b3IgeyBtZWRpYVR5
cGUoKSwgKm1fZG9jdW1lbnQsIHN0eWxlLmdldCgpIH07CiAKICAgICBhdXRvIG1lZGlhUXVlcnlM
aXN0cyA9IG1fbWVkaWFRdWVyeUxpc3RzOwogICAgIGZvciAoYXV0byYgbGlzdCA6IG1lZGlhUXVl
cnlMaXN0cykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlNYXRj
aGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeU1hdGNoZXIuaAppbmRleCAwYzlj
Y2E3MTgwZTIuLjgzNDQ4ZmZmYmE3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL01l
ZGlhUXVlcnlNYXRjaGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlNYXRj
aGVyLmgKQEAgLTI5LDcgKzI5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBEb2N1
bWVudDsKIGNsYXNzIE1lZGlhUXVlcnlMaXN0OwotY2xhc3MgTWVkaWFRdWVyeUV2YWx1YXRvcjsK
K2NsYXNzIExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3I7CiBjbGFzcyBNZWRpYVF1ZXJ5U2V0Owog
Y2xhc3MgUmVuZGVyU3R5bGU7CiBjbGFzcyBXZWFrUHRySW1wbFdpdGhFdmVudFRhcmdldERhdGE7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL1NpemVzQXR0cmlidXRlUGFy
c2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvU2l6ZXNBdHRyaWJ1dGVQYXJzZXIu
Y3BwCmluZGV4IDViNjgzNDZjNWMwMi4uMjVhMTk5NzlhN2UyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvcGFyc2VyL1NpemVzQXR0cmlidXRlUGFyc2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvcGFyc2VyL1NpemVzQXR0cmlidXRlUGFyc2VyLmNwcApAQCAtMzQsOSArMzQs
OSBAQAogI2luY2x1ZGUgIkNTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEuaCIKICNpbmNsdWRlICJD
U1NUb2tlbml6ZXIuaCIKICNpbmNsdWRlICJGb250Q2FzY2FkZS5oIgorI2luY2x1ZGUgIkxlZ2Fj
eU1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKICNpbmNsdWRlICJMZWdhY3lNZWRpYVF1ZXJ5UGFyc2Vy
LmgiCiAjaW5jbHVkZSAiTWVkaWFMaXN0LmgiCi0jaW5jbHVkZSAiTWVkaWFRdWVyeUV2YWx1YXRv
ci5oIgogI2luY2x1ZGUgIk1lZGlhUXVlcnlQYXJzZXJDb250ZXh0LmgiCiAjaW5jbHVkZSAiUmVu
ZGVyVmlldy5oIgogI2luY2x1ZGUgIlNpemVzQ2FsY1BhcnNlci5oIgpAQCAtMTEyLDcgKzExMiw3
IEBAIGJvb2wgU2l6ZXNBdHRyaWJ1dGVQYXJzZXI6Om1lZGlhQ29uZGl0aW9uTWF0Y2hlcyhjb25z
dCBNZWRpYVF1ZXJ5U2V0JiBtZWRpYUNvbmRpCiAgICAgaWYgKCFyZW5kZXJlcikKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIGF1dG8mIHN0eWxlID0gcmVuZGVyZXItPnN0eWxlKCk7Ci0gICAg
cmV0dXJuIE1lZGlhUXVlcnlFdmFsdWF0b3IgeyAic2NyZWVuIl9zLCBtX2RvY3VtZW50LCAmc3R5
bGUgfS5ldmFsdWF0ZShtZWRpYUNvbmRpdGlvbiwgbV9tZWRpYVF1ZXJ5RHluYW1pY1Jlc3VsdHMp
OworICAgIHJldHVybiBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yIHsgInNjcmVlbiJfcywgbV9k
b2N1bWVudCwgJnN0eWxlIH0uZXZhbHVhdGUobWVkaWFDb25kaXRpb24sIG1fbWVkaWFRdWVyeUR5
bmFtaWNSZXN1bHRzKTsKIH0KIAogYm9vbCBTaXplc0F0dHJpYnV0ZVBhcnNlcjo6cGFyc2UoQ1NT
UGFyc2VyVG9rZW5SYW5nZSByYW5nZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9J
bmxpbmVTdHlsZVNoZWV0T3duZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0lubGluZVN0eWxl
U2hlZXRPd25lci5jcHAKaW5kZXggZDc5NTk5NWJmYTY5Li41Yjc5YzE3YmM3NzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9JbmxpbmVTdHlsZVNoZWV0T3duZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9JbmxpbmVTdHlsZVNoZWV0T3duZXIuY3BwCkBAIC0yNCw5ICsyNCw5
IEBACiAjaW5jbHVkZSAiQ29tbW9uQXRvbVN0cmluZ3MuaCIKICNpbmNsdWRlICJDb250ZW50U2Vj
dXJpdHlQb2xpY3kuaCIKICNpbmNsdWRlICJFbGVtZW50SW5saW5lcy5oIgorI2luY2x1ZGUgIkxl
Z2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVk
ZSAiTWVkaWFMaXN0LmgiCi0jaW5jbHVkZSAiTWVkaWFRdWVyeUV2YWx1YXRvci5oIgogI2luY2x1
ZGUgIk1lZGlhUXVlcnlQYXJzZXJDb250ZXh0LmgiCiAjaW5jbHVkZSAiU2NyaXB0YWJsZURvY3Vt
ZW50UGFyc2VyLmgiCiAjaW5jbHVkZSAiU2hhZG93Um9vdC5oIgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEltYWdlRWxlbWVudC5jcHAKaW5kZXggOWIxNzQ0MDRjNzYyLi42MzhhN2U4OGFiNzMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcApAQCAtNDYsMTAgKzQ2LDEw
IEBACiAjaW5jbHVkZSAiSFRNTFNvdXJjZUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MU3Jjc2V0
UGFyc2VyLmgiCiAjaW5jbHVkZSAiTGF6eUxvYWRJbWFnZU9ic2VydmVyLmgiCisjaW5jbHVkZSAi
TGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvci5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNs
dWRlICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiTWVkaWFMaXN0LmgiCi0jaW5jbHVk
ZSAiTWVkaWFRdWVyeUV2YWx1YXRvci5oIgogI2luY2x1ZGUgIk1vdXNlRXZlbnQuaCIKICNpbmNs
dWRlICJOb2RlVHJhdmVyc2FsLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1Nb3VzZUV2ZW50LmgiCkBA
IC0yMjUsNyArMjI1LDcgQEAgSW1hZ2VDYW5kaWRhdGUgSFRNTEltYWdlRWxlbWVudDo6YmVzdEZp
dFNvdXJjZUZyb21QaWN0dXJlRWxlbWVudCgpCiAgICAgICAgIH0KIAogICAgICAgICBSZWZQdHIg
ZG9jdW1lbnRFbGVtZW50ID0gZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKTsKLSAgICAgICAg
TWVkaWFRdWVyeUV2YWx1YXRvciBldmFsdWF0b3IgeyBkb2N1bWVudCgpLnByaW50aW5nKCkgPyAi
cHJpbnQiX3MgOiAic2NyZWVuIl9zLCBkb2N1bWVudCgpLCBkb2N1bWVudEVsZW1lbnQgPyBkb2N1
bWVudEVsZW1lbnQtPmNvbXB1dGVkU3R5bGUoKSA6IG51bGxwdHIgfTsKKyAgICAgICAgTGVnYWN5
TWVkaWFRdWVyeUV2YWx1YXRvciBldmFsdWF0b3IgeyBkb2N1bWVudCgpLnByaW50aW5nKCkgPyAi
cHJpbnQiX3MgOiAic2NyZWVuIl9zLCBkb2N1bWVudCgpLCBkb2N1bWVudEVsZW1lbnQgPyBkb2N1
bWVudEVsZW1lbnQtPmNvbXB1dGVkU3R5bGUoKSA6IG51bGxwdHIgfTsKICAgICAgICAgYXV0byog
cXVlcmllcyA9IHNvdXJjZS5wYXJzZWRNZWRpYUF0dHJpYnV0ZShkb2N1bWVudCgpKTsKICAgICAg
ICAgTE9HKE1lZGlhUXVlcmllcywgIkhUTUxJbWFnZUVsZW1lbnQgJXAgYmVzdEZpdFNvdXJjZUZy
b21QaWN0dXJlRWxlbWVudCBldmFsdWF0aW5nIG1lZGlhIHF1ZXJpZXMiLCB0aGlzKTsKIApAQCAt
MjQ5LDcgKzI0OSw3IEBAIEltYWdlQ2FuZGlkYXRlIEhUTUxJbWFnZUVsZW1lbnQ6OmJlc3RGaXRT
b3VyY2VGcm9tUGljdHVyZUVsZW1lbnQoKQogdm9pZCBIVE1MSW1hZ2VFbGVtZW50OjpldmFsdWF0
ZUR5bmFtaWNNZWRpYVF1ZXJ5RGVwZW5kZW5jaWVzKCkKIHsKICAgICBSZWZQdHIgZG9jdW1lbnRF
bGVtZW50ID0gZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKTsKLSAgICBNZWRpYVF1ZXJ5RXZh
bHVhdG9yIGV2YWx1YXRvciB7IGRvY3VtZW50KCkucHJpbnRpbmcoKSA/ICJwcmludCJfcyA6ICJz
Y3JlZW4iX3MsIGRvY3VtZW50KCksIGRvY3VtZW50RWxlbWVudCA/IGRvY3VtZW50RWxlbWVudC0+
Y29tcHV0ZWRTdHlsZSgpIDogbnVsbHB0ciB9OworICAgIExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0
b3IgZXZhbHVhdG9yIHsgZG9jdW1lbnQoKS5wcmludGluZygpID8gInByaW50Il9zIDogInNjcmVl
biJfcywgZG9jdW1lbnQoKSwgZG9jdW1lbnRFbGVtZW50ID8gZG9jdW1lbnRFbGVtZW50LT5jb21w
dXRlZFN0eWxlKCkgOiBudWxscHRyIH07CiAKICAgICBpZiAoIWV2YWx1YXRvci5ldmFsdWF0ZUZv
ckNoYW5nZXMobV9tZWRpYVF1ZXJ5RHluYW1pY1Jlc3VsdHMpKQogICAgICAgICByZXR1cm47CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oCmluZGV4IDEyNjA5OTQyYWVjOC4uM2Y5
MmYxMTRlNThiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaApAQCAtMjks
NyArMjksNyBAQAogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIKICNpbmNsdWRlICJHcmFwaGlj
c1R5cGVzLmgiCiAjaW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIKLSNpbmNsdWRlICJNZWRpYVF1ZXJ5
RXZhbHVhdG9yLmgiCisjaW5jbHVkZSAiTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvci5oIgogI2lu
Y2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcAppbmRleCA0ZTk4ZjRmZmVkNmYuLmQ2MmJkNTlmZGM2
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcApAQCAtNDgsOSArNDgs
OSBAQAogI2luY2x1ZGUgIkhUTUxBbmNob3JFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVz
LmgiCiAjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgorI2luY2x1ZGUgIkxlZ2FjeU1lZGlh
UXVlcnlFdmFsdWF0b3IuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTWVkaWFM
aXN0LmgiCi0jaW5jbHVkZSAiTWVkaWFRdWVyeUV2YWx1YXRvci5oIgogI2luY2x1ZGUgIk1lZGlh
UXVlcnlQYXJzZXJDb250ZXh0LmgiCiAjaW5jbHVkZSAiTW91c2VFdmVudC5oIgogI2luY2x1ZGUg
IlBhcnNlZENvbnRlbnRUeXBlLmgiCkBAIC01MTksNyArNTE5LDcgQEAgYm9vbCBIVE1MTGlua0Vs
ZW1lbnQ6Om1lZGlhQXR0cmlidXRlTWF0Y2hlcygpIGNvbnN0CiAgICAgICAgIGRvY3VtZW50U3R5
bGUgPSBTdHlsZTo6cmVzb2x2ZUZvckRvY3VtZW50KGRvY3VtZW50KCkpOwogICAgIGF1dG8gbWVk
aWEgPSBNZWRpYVF1ZXJ5U2V0OjpjcmVhdGUobV9tZWRpYSwgTWVkaWFRdWVyeVBhcnNlckNvbnRl
eHQoZG9jdW1lbnQoKSkpOwogICAgIExPRyhNZWRpYVF1ZXJpZXMsICJIVE1MTGlua0VsZW1lbnQ6
Om1lZGlhQXR0cmlidXRlTWF0Y2hlcyIpOwotICAgIHJldHVybiBNZWRpYVF1ZXJ5RXZhbHVhdG9y
KGRvY3VtZW50KCkuZnJhbWUoKS0+dmlldygpLT5tZWRpYVR5cGUoKSwgZG9jdW1lbnQoKSwgZG9j
dW1lbnRTdHlsZSA/ICYqZG9jdW1lbnRTdHlsZSA6IG51bGxwdHIpLmV2YWx1YXRlKG1lZGlhLmdl
dCgpKTsKKyAgICByZXR1cm4gTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvcihkb2N1bWVudCgpLmZy
YW1lKCktPnZpZXcoKS0+bWVkaWFUeXBlKCksIGRvY3VtZW50KCksIGRvY3VtZW50U3R5bGUgPyAm
KmRvY3VtZW50U3R5bGUgOiBudWxscHRyKS5ldmFsdWF0ZShtZWRpYS5nZXQoKSk7CiB9CiAKIHZv
aWQgSFRNTExpbmtFbGVtZW50OjpsaW5rTG9hZGVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxN
ZWRpYUVsZW1lbnQuY3BwCmluZGV4IDIyOTkxMWIyNmUzNy4uNzg5NzVlZDM5NTUwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTcyLDYgKzcyLDcgQEAKICNp
bmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIkpTSFRNTE1lZGlhRWxl
bWVudC5oIgogI2luY2x1ZGUgIkpTTWVkaWFDb250cm9sc0hvc3QuaCIKKyNpbmNsdWRlICJMZWdh
Y3lNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCiAjaW5jbHVkZSAiTG9hZGFibGVUZXh0VHJhY2suaCIK
ICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTUlNRVR5cGVSZWdpc3RyeS5oIgpAQCAt
ODMsNyArODQsNiBAQAogI2luY2x1ZGUgIk1lZGlhRnJhZ21lbnRVUklQYXJzZXIuaCIKICNpbmNs
dWRlICJNZWRpYUxpc3QuaCIKICNpbmNsdWRlICJNZWRpYVBsYXllci5oIgotI2luY2x1ZGUgIk1l
ZGlhUXVlcnlFdmFsdWF0b3IuaCIKICNpbmNsdWRlICJNZWRpYVJlc291cmNlTG9hZGVyLmgiCiAj
aW5jbHVkZSAiTmF2aWdhdG9yTWVkaWFEZXZpY2VzLmgiCiAjaW5jbHVkZSAiTmV0d29ya2luZ0Nv
bnRleHQuaCIKQEAgLTUxMzMsNyArNTEzMyw3IEBAIFVSTCBIVE1MTWVkaWFFbGVtZW50OjpzZWxl
Y3ROZXh0U291cmNlQ2hpbGQoQ29udGVudFR5cGUqIGNvbnRlbnRUeXBlLCBTdHJpbmcqIGtlCiAg
ICAgICAgICAgICAgICAgSU5GT19MT0coTE9HSURFTlRJRklFUiwgIidtZWRpYScgaXMgIiwgc291
cmNlLT5hdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKG1lZGlhQXR0cikpOwogICAgICAg
ICAgICAgYXV0byogcmVuZGVyZXIgPSB0aGlzLT5yZW5kZXJlcigpOwogICAgICAgICAgICAgTE9H
KE1lZGlhUXVlcmllcywgIkhUTUxNZWRpYUVsZW1lbnQgJXAgc2VsZWN0TmV4dFNvdXJjZUNoaWxk
IGV2YWx1YXRpbmcgbWVkaWEgcXVlcmllcyIsIHRoaXMpOwotICAgICAgICAgICAgaWYgKCFNZWRp
YVF1ZXJ5RXZhbHVhdG9yIHsgInNjcmVlbiJfcywgZG9jdW1lbnQoKSwgcmVuZGVyZXIgPyAmcmVu
ZGVyZXItPnN0eWxlKCkgOiBudWxscHRyIH0uZXZhbHVhdGUoKm1lZGlhKSkKKyAgICAgICAgICAg
IGlmICghTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvciB7ICJzY3JlZW4iX3MsIGRvY3VtZW50KCks
IHJlbmRlcmVyID8gJnJlbmRlcmVyLT5zdHlsZSgpIDogbnVsbHB0ciB9LmV2YWx1YXRlKCptZWRp
YSkpCiAgICAgICAgICAgICAgICAgZ290byBDaGVja0FnYWluOwogICAgICAgICB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1ldGFFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1ldGFFbGVtZW50LmNwcAppbmRleCA5MjE1NzRkOGVkOTguLmQ5YjE1
NDQ4NzM3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWV0YUVsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1ldGFFbGVtZW50LmNwcApAQCAtMzIs
OCArMzIsOCBAQAogI2luY2x1ZGUgIkhUTUxIZWFkRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxO
YW1lcy5oIgogI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKKyNpbmNsdWRlICJMZWdhY3lN
ZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCiAjaW5jbHVkZSAiTWVkaWFMaXN0LmgiCi0jaW5jbHVkZSAi
TWVkaWFRdWVyeUV2YWx1YXRvci5oIgogI2luY2x1ZGUgIk1lZGlhUXVlcnlQYXJzZXJDb250ZXh0
LmgiCiAjaW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgpAQCAt
NzksNyArNzksNyBAQCBib29sIEhUTUxNZXRhRWxlbWVudDo6bWVkaWFBdHRyaWJ1dGVNYXRjaGVz
KCkKICAgICAgICAgICAgIG1lZGlhVHlwZSA9IGZyYW1lVmlldy0+bWVkaWFUeXBlKCk7CiAgICAg
fQogCi0gICAgcmV0dXJuIE1lZGlhUXVlcnlFdmFsdWF0b3IobWVkaWFUeXBlLCBkb2N1bWVudCwg
ZG9jdW1lbnRTdHlsZSA/ICYqZG9jdW1lbnRTdHlsZSA6IG51bGxwdHIpLmV2YWx1YXRlKCptX21l
ZGlhKTsKKyAgICByZXR1cm4gTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvcihtZWRpYVR5cGUsIGRv
Y3VtZW50LCBkb2N1bWVudFN0eWxlID8gJipkb2N1bWVudFN0eWxlIDogbnVsbHB0cikuZXZhbHVh
dGUoKm1fbWVkaWEpOwogfQogCiBjb25zdCBDb2xvciYgSFRNTE1ldGFFbGVtZW50Ojpjb250ZW50
Q29sb3IoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxv
YWRTY2FubmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nh
bm5lci5jcHAKaW5kZXggZTRjMGM3ZmZiOWUyLi43NDYyMWRkMmE3MmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmNwcApAQCAtMzQsMTIg
KzM0LDEyIEBACiAjaW5jbHVkZSAiSFRNTFNyY3NldFBhcnNlci5oIgogI2luY2x1ZGUgIkhUTUxU
b2tlbml6ZXIuaCIKICNpbmNsdWRlICJJbnB1dFR5cGVOYW1lcy5oIgorI2luY2x1ZGUgIkxlZ2Fj
eU1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKICNpbmNsdWRlICJMaW5rTG9hZGVyLmgiCiAjaW5jbHVk
ZSAiTGlua1JlbEF0dHJpYnV0ZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJN
SU1FVHlwZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiTWVkaWFMaXN0LmgiCi0jaW5jbHVkZSAiTWVk
aWFRdWVyeUV2YWx1YXRvci5oIgogI2luY2x1ZGUgIk1lZGlhUXVlcnlQYXJzZXJDb250ZXh0Lmgi
CiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlNlY3VyaXR5UG9saWN5LmgiCkBA
IC0yMzAsNyArMjMwLDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICBhdXRvIG1lZGlhU2V0
ID0gTWVkaWFRdWVyeVNldDo6Y3JlYXRlKG1fbWVkaWFBdHRyaWJ1dGUsIE1lZGlhUXVlcnlQYXJz
ZXJDb250ZXh0KG1fZG9jdW1lbnQpKTsKICAgICAgICAgICAgICAgICBSZWZQdHIgZG9jdW1lbnRF
bGVtZW50ID0gbV9kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQoKTsKICAgICAgICAgICAgICAgICBM
T0coTWVkaWFRdWVyaWVzLCAiSFRNTFByZWxvYWRTY2FubmVyICVwIHByb2Nlc3NBdHRyaWJ1dGUg
ZXZhbHVhdGluZyBtZWRpYSBxdWVyaWVzIiwgdGhpcyk7Ci0gICAgICAgICAgICAgICAgbV9tZWRp
YU1hdGNoZWQgPSBNZWRpYVF1ZXJ5RXZhbHVhdG9yIHsgbV9kb2N1bWVudC5wcmludGluZygpID8g
InByaW50Il9zIDogInNjcmVlbiJfcywgbV9kb2N1bWVudCwgZG9jdW1lbnRFbGVtZW50ID8gZG9j
dW1lbnRFbGVtZW50LT5jb21wdXRlZFN0eWxlKCkgOiBudWxscHRyIH0uZXZhbHVhdGUobWVkaWFT
ZXQuZ2V0KCkpOworICAgICAgICAgICAgICAgIG1fbWVkaWFNYXRjaGVkID0gTGVnYWN5TWVkaWFR
dWVyeUV2YWx1YXRvciB7IG1fZG9jdW1lbnQucHJpbnRpbmcoKSA/ICJwcmludCJfcyA6ICJzY3Jl
ZW4iX3MsIG1fZG9jdW1lbnQsIGRvY3VtZW50RWxlbWVudCA/IGRvY3VtZW50RWxlbWVudC0+Y29t
cHV0ZWRTdHlsZSgpIDogbnVsbHB0ciB9LmV2YWx1YXRlKG1lZGlhU2V0LmdldCgpKTsKICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIGlmIChtYXRjaChhdHRyaWJ1dGVOYW1lLCB0eXBlQXR0cikg
JiYgbV90eXBlQXR0cmlidXRlLmlzTnVsbCgpKSB7CiAgICAgICAgICAgICAgICAgLy8gd2hlbiBt
dWx0aXBsZSB0eXBlIGF0dHJpYnV0ZXMgcHJlc2VudDogZmlyc3QgdmFsdWUgd2lucywgaWdub3Jl
IHN1YnNlcXVlbnQgKHRvIG1hdGNoIEltYWdlRWxlbWVudCBwYXJzZXIgYW5kIEJsaW5rIGJlaGF2
aW91cnMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUmVzb3Vy
Y2VQcmVsb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFJlc291cmNl
UHJlbG9hZGVyLmNwcAppbmRleCBjMzg4NWNmMjQwYjUuLjhkM2UxYmI4OGE0NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFJlc291cmNlUHJlbG9hZGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUmVzb3VyY2VQcmVsb2FkZXIuY3Bw
CkBAIC0zMCwxMCArMzAsOSBAQAogI2luY2x1ZGUgIkNyb3NzT3JpZ2luQWNjZXNzQ29udHJvbC5o
IgogI2luY2x1ZGUgIkRlZmF1bHRSZXNvdXJjZUxvYWRQcmlvcml0eS5oIgogI2luY2x1ZGUgIkRv
Y3VtZW50LmgiCi0jaW5jbHVkZSAiU2NyaXB0RWxlbWVudENhY2hlZFNjcmlwdEZldGNoZXIuaCIK
LQotI2luY2x1ZGUgIk1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKKyNpbmNsdWRlICJMZWdhY3lNZWRp
YVF1ZXJ5RXZhbHVhdG9yLmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgorI2luY2x1ZGUgIlNj
cmlwdEVsZW1lbnRDYWNoZWRTY3JpcHRGZXRjaGVyLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IApAQCAtODIsNyArODEsNyBAQCB2b2lkIEhUTUxSZXNvdXJjZVByZWxvYWRlcjo6cHJlbG9hZChz
dGQ6OnVuaXF1ZV9wdHI8UHJlbG9hZFJlcXVlc3Q+IHByZWxvYWQpCiB7CiAgICAgQVNTRVJUKG1f
ZG9jdW1lbnQuZnJhbWUoKSk7CiAgICAgQVNTRVJUKG1fZG9jdW1lbnQucmVuZGVyVmlldygpKTsK
LSAgICBpZiAoIXByZWxvYWQtPm1lZGlhKCkuaXNFbXB0eSgpICYmICFNZWRpYVF1ZXJ5RXZhbHVh
dG9yOjptZWRpYUF0dHJpYnV0ZU1hdGNoZXMobV9kb2N1bWVudCwgcHJlbG9hZC0+bWVkaWEoKSkp
CisgICAgaWYgKCFwcmVsb2FkLT5tZWRpYSgpLmlzRW1wdHkoKSAmJiAhTGVnYWN5TWVkaWFRdWVy
eUV2YWx1YXRvcjo6bWVkaWFBdHRyaWJ1dGVNYXRjaGVzKG1fZG9jdW1lbnQsIHByZWxvYWQtPm1l
ZGlhKCkpKQogICAgICAgICByZXR1cm47CiAKICAgICBtX2RvY3VtZW50LmNhY2hlZFJlc291cmNl
TG9hZGVyKCkucHJlbG9hZChwcmVsb2FkLT5yZXNvdXJjZVR5cGUoKSwgcHJlbG9hZC0+cmVzb3Vy
Y2VSZXF1ZXN0KG1fZG9jdW1lbnQpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9MaW5rTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmNwcApp
bmRleCAyOTA4OGFlZDEwODIuLjc5MjQ3NGJmYmVmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0xpbmtMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5r
TG9hZGVyLmNwcApAQCAtNDYsMTMgKzQ2LDEzIEBACiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJDbGll
bnQuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJIVE1MU3Jjc2V0UGFyc2Vy
LmgiCisjaW5jbHVkZSAiTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvci5oIgogI2luY2x1ZGUgIkxp
bmtIZWFkZXIuaCIKICNpbmNsdWRlICJMaW5rUHJlbG9hZFJlc291cmNlQ2xpZW50cy5oIgogI2lu
Y2x1ZGUgIkxpbmtSZWxBdHRyaWJ1dGUuaCIKICNpbmNsdWRlICJMb2FkZXJTdHJhdGVneS5oIgog
I2luY2x1ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIKICNpbmNsdWRlICJNZWRpYUxpc3QuaCIKLSNp
bmNsdWRlICJNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJhdGVn
aWVzLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VFcnJvci5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgi
CkBAIC0yNTUsNyArMjU1LDcgQEAgc3RkOjp1bmlxdWVfcHRyPExpbmtQcmVsb2FkUmVzb3VyY2VD
bGllbnQ+IExpbmtMb2FkZXI6OnByZWxvYWRJZk5lZWRlZChjb25zdCBMaW4KICAgICAgICAgICAg
IGRvY3VtZW50LmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6Ok90aGVyLCBNZXNzYWdl
TGV2ZWw6OkVycm9yLCAiPGxpbmsgcmVsPXByZWxvYWQ+IGhhcyBhbiBpbnZhbGlkIGBpbWFnZXNy
Y3NldGAgdmFsdWUiX3MpOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9Ci0gICAgaWYg
KCFNZWRpYVF1ZXJ5RXZhbHVhdG9yOjptZWRpYUF0dHJpYnV0ZU1hdGNoZXMoZG9jdW1lbnQsIHBh
cmFtcy5tZWRpYSkpCisgICAgaWYgKCFMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yOjptZWRpYUF0
dHJpYnV0ZU1hdGNoZXMoZG9jdW1lbnQsIHBhcmFtcy5tZWRpYSkpCiAgICAgICAgIHJldHVybiBu
dWxscHRyOwogICAgIGlmICghaXNTdXBwb3J0ZWRUeXBlKHR5cGUudmFsdWUoKSwgcGFyYW1zLm1p
bWVUeXBlLCBkb2N1bWVudCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuaCBiL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVjdG9yLmgKaW5kZXggZjRjY2FmYWU3MGMxLi44NGVj
ZWZjYzQ3NmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRSdWxlQ29s
bGVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3Iu
aApAQCAtMjEsOCArMjEsOCBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIkxlZ2FjeU1l
ZGlhUXVlcnlFdmFsdWF0b3IuaCIKICNpbmNsdWRlICJNYXRjaFJlc3VsdC5oIgotI2luY2x1ZGUg
Ik1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKICNpbmNsdWRlICJQcm9wZXJ0eUFsbG93bGlzdC5oIgog
I2luY2x1ZGUgIlJ1bGVTZXQuaCIKICNpbmNsdWRlICJTZWxlY3RvckNoZWNrZXIuaCIKQEAgLTgx
LDcgKzgxLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRNb2RlKFNlbGVjdG9yQ2hlY2tlcjo6
TW9kZSBtb2RlKSB7IG1fbW9kZSA9IG1vZGU7IH0KICAgICB2b2lkIHNldFBzZXVkb0VsZW1lbnRS
ZXF1ZXN0KGNvbnN0IFBzZXVkb0VsZW1lbnRSZXF1ZXN0JiByZXF1ZXN0KSB7IG1fcHNldWRvRWxl
bWVudFJlcXVlc3QgPSByZXF1ZXN0OyB9Ci0gICAgdm9pZCBzZXRNZWRpdW0oY29uc3QgTWVkaWFR
dWVyeUV2YWx1YXRvciogbWVkaXVtKSB7IG1faXNQcmludFN0eWxlID0gbWVkaXVtLT5tZWRpYVR5
cGVNYXRjaFNwZWNpZmljKCJwcmludCJfcyk7IH0KKyAgICB2b2lkIHNldE1lZGl1bShjb25zdCBM
ZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yKiBtZWRpdW0pIHsgbV9pc1ByaW50U3R5bGUgPSBtZWRp
dW0tPm1lZGlhVHlwZU1hdGNoU3BlY2lmaWMoInByaW50Il9zKTsgfQogCiAgICAgYm9vbCBoYXNB
bnlNYXRjaGluZ1J1bGVzKGNvbnN0IFJ1bGVTZXQmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3R5bGUvUnVsZURhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZURhdGEu
Y3BwCmluZGV4IDNhMGVmYzdhYWUzNC4uMDhkZDIwZDBlYjBlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9SdWxlRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVs
ZURhdGEuY3BwCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAiQ1NTU2VsZWN0b3JMaXN0Lmgi
CiAjaW5jbHVkZSAiQ29tbW9uQXRvbVN0cmluZ3MuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIK
LSNpbmNsdWRlICJNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmln
aW4uaCIKICNpbmNsdWRlICJTZWxlY3RvckNoZWNrZXIuaCIKICNpbmNsdWRlICJTZWxlY3RvckZp
bHRlci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmNwcAppbmRleCBiMzhlNzQyM2M3M2UuLmE1Y2Q2
ZDdiNGUzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldC5jcHAKQEAgLTM1LDcgKzM1LDcgQEAKICNp
bmNsdWRlICJDU1NTZWxlY3Rvckxpc3QuaCIKICNpbmNsdWRlICJDb21tb25BdG9tU3RyaW5ncy5o
IgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgotI2luY2x1ZGUgIk1lZGlhUXVlcnlFdmFsdWF0b3Iu
aCIKKyNpbmNsdWRlICJMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCiAjaW5jbHVkZSAiUnVs
ZVNldEJ1aWxkZXIuaCIKICNpbmNsdWRlICJTVkdFbGVtZW50LmgiCiAjaW5jbHVkZSAiU2VjdXJp
dHlPcmlnaW4uaCIKQEAgLTMzOCw3ICszMzgsNyBAQCB2b2lkIFJ1bGVTZXQ6OnRyYXZlcnNlUnVs
ZURhdGFzKEZ1bmN0aW9uJiYgZnVuY3Rpb24pCiAgICAgdHJhdmVyc2VWZWN0b3IobV91bml2ZXJz
YWxSdWxlcyk7CiB9CiAKLXN0ZDo6b3B0aW9uYWw8RHluYW1pY01lZGlhUXVlcnlFdmFsdWF0aW9u
Q2hhbmdlcz4gUnVsZVNldDo6ZXZhbHVhdGVEeW5hbWljTWVkaWFRdWVyeVJ1bGVzKGNvbnN0IE1l
ZGlhUXVlcnlFdmFsdWF0b3ImIGV2YWx1YXRvcikKK3N0ZDo6b3B0aW9uYWw8RHluYW1pY01lZGlh
UXVlcnlFdmFsdWF0aW9uQ2hhbmdlcz4gUnVsZVNldDo6ZXZhbHVhdGVEeW5hbWljTWVkaWFRdWVy
eVJ1bGVzKGNvbnN0IExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3ImIGV2YWx1YXRvcikKIHsKICAg
ICBhdXRvIGNvbGxlY3RlZENoYW5nZXMgPSBldmFsdWF0ZUR5bmFtaWNNZWRpYVF1ZXJ5UnVsZXMo
ZXZhbHVhdG9yLCAwKTsKIApAQCAtMzUwLDcgKzM1MCw3IEBAIHN0ZDo6b3B0aW9uYWw8RHluYW1p
Y01lZGlhUXVlcnlFdmFsdWF0aW9uQ2hhbmdlcz4gUnVsZVNldDo6ZXZhbHVhdGVEeW5hbWljTWVk
aWFRCiAKICAgICBhdXRvJiBydWxlU2V0ID0gbV9tZWRpYVF1ZXJ5SW52YWxpZGF0aW9uUnVsZVNl
dENhY2hlLmVuc3VyZShjb2xsZWN0ZWRDaGFuZ2VzLmNoYW5nZWRRdWVyeUluZGV4ZXMsIFsmXSB7
CiAgICAgICAgIGF1dG8gcnVsZVNldCA9IFJ1bGVTZXQ6OmNyZWF0ZSgpOwotICAgICAgICBSdWxl
U2V0QnVpbGRlciBidWlsZGVyKHJ1bGVTZXQsIE1lZGlhUXVlcnlFdmFsdWF0b3IodHJ1ZSkpOwor
ICAgICAgICBSdWxlU2V0QnVpbGRlciBidWlsZGVyKHJ1bGVTZXQsIExlZ2FjeU1lZGlhUXVlcnlF
dmFsdWF0b3IodHJ1ZSkpOwogICAgICAgICBmb3IgKGF1dG8qIHJ1bGVzIDogY29sbGVjdGVkQ2hh
bmdlcy5hZmZlY3RlZFJ1bGVzKSB7CiAgICAgICAgICAgICBmb3IgKGF1dG8mIHJ1bGUgOiAqcnVs
ZXMpCiAgICAgICAgICAgICAgICAgYnVpbGRlci5hZGRTdHlsZVJ1bGUocnVsZSk7CkBAIC0zNjEs
NyArMzYxLDcgQEAgc3RkOjpvcHRpb25hbDxEeW5hbWljTWVkaWFRdWVyeUV2YWx1YXRpb25DaGFu
Z2VzPiBSdWxlU2V0OjpldmFsdWF0ZUR5bmFtaWNNZWRpYVEKICAgICByZXR1cm4geyB7IER5bmFt
aWNNZWRpYVF1ZXJ5RXZhbHVhdGlvbkNoYW5nZXM6OlR5cGU6OkludmFsaWRhdGVTdHlsZSwgeyBy
dWxlU2V0LmNvcHlSZWYoKSB9IH0gfTsKIH0KIAotUnVsZVNldDo6Q29sbGVjdGVkTWVkaWFRdWVy
eUNoYW5nZXMgUnVsZVNldDo6ZXZhbHVhdGVEeW5hbWljTWVkaWFRdWVyeVJ1bGVzKGNvbnN0IE1l
ZGlhUXVlcnlFdmFsdWF0b3ImIGV2YWx1YXRvciwgc2l6ZV90IHN0YXJ0SW5kZXgpCitSdWxlU2V0
OjpDb2xsZWN0ZWRNZWRpYVF1ZXJ5Q2hhbmdlcyBSdWxlU2V0OjpldmFsdWF0ZUR5bmFtaWNNZWRp
YVF1ZXJ5UnVsZXMoY29uc3QgTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvciYgZXZhbHVhdG9yLCBz
aXplX3Qgc3RhcnRJbmRleCkKIHsKICAgICBDb2xsZWN0ZWRNZWRpYVF1ZXJ5Q2hhbmdlcyBjb2xs
ZWN0ZWRDaGFuZ2VzOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0
LmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmgKaW5kZXggZmU3MTE1NzBjNDUyLi44
MzliMDU4NzZkMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmgKQEAgLTM1LDcgKzM1LDcgQEAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ1NTU2VsZWN0b3I7Ci1jbGFzcyBNZWRpYVF1ZXJ5
RXZhbHVhdG9yOworY2xhc3MgTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvcjsKIGNsYXNzIFN0eWxl
U2hlZXRDb250ZW50czsKIAogbmFtZXNwYWNlIFN0eWxlIHsKQEAgLTgwLDcgKzgwLDcgQEAgcHVi
bGljOgogCiAgICAgYm9vbCBoYXNWaWV3cG9ydERlcGVuZGVudE1lZGlhUXVlcmllcygpIGNvbnN0
IHsgcmV0dXJuIG1faGFzVmlld3BvcnREZXBlbmRlbnRNZWRpYVF1ZXJpZXM7IH0KIAotICAgIHN0
ZDo6b3B0aW9uYWw8RHluYW1pY01lZGlhUXVlcnlFdmFsdWF0aW9uQ2hhbmdlcz4gZXZhbHVhdGVE
eW5hbWljTWVkaWFRdWVyeVJ1bGVzKGNvbnN0IE1lZGlhUXVlcnlFdmFsdWF0b3ImKTsKKyAgICBz
dGQ6Om9wdGlvbmFsPER5bmFtaWNNZWRpYVF1ZXJ5RXZhbHVhdGlvbkNoYW5nZXM+IGV2YWx1YXRl
RHluYW1pY01lZGlhUXVlcnlSdWxlcyhjb25zdCBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yJik7
CiAKICAgICBjb25zdCBSdWxlRmVhdHVyZVNldCYgZmVhdHVyZXMoKSBjb25zdCB7IHJldHVybiBt
X2ZlYXR1cmVzOyB9CiAKQEAgLTEzNSw3ICsxMzUsNyBAQCBwcml2YXRlOgogICAgICAgICBWZWN0
b3I8c2l6ZV90PiBjaGFuZ2VkUXVlcnlJbmRleGVzIHsgfTsKICAgICAgICAgVmVjdG9yPFZlY3Rv
cjxSZWY8Y29uc3QgU3R5bGVSdWxlPj4qPiBhZmZlY3RlZFJ1bGVzIHsgfTsKICAgICB9OwotICAg
IENvbGxlY3RlZE1lZGlhUXVlcnlDaGFuZ2VzIGV2YWx1YXRlRHluYW1pY01lZGlhUXVlcnlSdWxl
cyhjb25zdCBNZWRpYVF1ZXJ5RXZhbHVhdG9yJiwgc2l6ZV90IHN0YXJ0SW5kZXgpOworICAgIENv
bGxlY3RlZE1lZGlhUXVlcnlDaGFuZ2VzIGV2YWx1YXRlRHluYW1pY01lZGlhUXVlcnlSdWxlcyhj
b25zdCBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yJiwgc2l6ZV90IHN0YXJ0SW5kZXgpOwogCiAg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgRnVuY3Rpb24+IHZvaWQgdHJhdmVyc2VSdWxlRGF0YXMoRnVu
Y3Rpb24mJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXRCdWls
ZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXRCdWlsZGVyLmNwcAppbmRleCAw
NDZjODVlY2I4Y2YuLjVmODMxOGZiMzQxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5
bGUvUnVsZVNldEJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXRC
dWlsZGVyLmNwcApAQCAtMzEsNyArMzEsNyBAQAogCiAjaW5jbHVkZSAiQ1NTRm9udFNlbGVjdG9y
LmgiCiAjaW5jbHVkZSAiQ1NTS2V5ZnJhbWVzUnVsZS5oIgotI2luY2x1ZGUgIk1lZGlhUXVlcnlF
dmFsdWF0b3IuaCIKKyNpbmNsdWRlICJMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCiAjaW5j
bHVkZSAiU3R5bGVSZXNvbHZlci5oIgogI2luY2x1ZGUgIlN0eWxlUnVsZUltcG9ydC5oIgogI2lu
Y2x1ZGUgIlN0eWxlU2hlZXRDb250ZW50cy5oIgpAQCAtNDAsNyArNDAsNyBAQAogbmFtZXNwYWNl
IFdlYkNvcmUgewogbmFtZXNwYWNlIFN0eWxlIHsKIAotUnVsZVNldEJ1aWxkZXI6OlJ1bGVTZXRC
dWlsZGVyKFJ1bGVTZXQmIHJ1bGVTZXQsIGNvbnN0IE1lZGlhUXVlcnlFdmFsdWF0b3ImIGV2YWx1
YXRvciwgUmVzb2x2ZXIqIHJlc29sdmVyLCBTaHJpbmtUb0ZpdCBzaHJpbmtUb0ZpdCkKK1J1bGVT
ZXRCdWlsZGVyOjpSdWxlU2V0QnVpbGRlcihSdWxlU2V0JiBydWxlU2V0LCBjb25zdCBMZWdhY3lN
ZWRpYVF1ZXJ5RXZhbHVhdG9yJiBldmFsdWF0b3IsIFJlc29sdmVyKiByZXNvbHZlciwgU2hyaW5r
VG9GaXQgc2hyaW5rVG9GaXQpCiAgICAgOiBtX3J1bGVTZXQoJnJ1bGVTZXQpCiAgICAgLCBtX21l
ZGlhUXVlcnlDb2xsZWN0b3IoeyBldmFsdWF0b3IgfSkKICAgICAsIG1fcmVzb2x2ZXIocmVzb2x2
ZXIpCkBAIC00OCw3ICs0OCw3IEBAIFJ1bGVTZXRCdWlsZGVyOjpSdWxlU2V0QnVpbGRlcihSdWxl
U2V0JiBydWxlU2V0LCBjb25zdCBNZWRpYVF1ZXJ5RXZhbHVhdG9yJiBldmFsCiB7CiB9CiAKLVJ1
bGVTZXRCdWlsZGVyOjpSdWxlU2V0QnVpbGRlcihjb25zdCBNZWRpYVF1ZXJ5RXZhbHVhdG9yJiBl
dmFsdWF0b3IpCitSdWxlU2V0QnVpbGRlcjo6UnVsZVNldEJ1aWxkZXIoY29uc3QgTGVnYWN5TWVk
aWFRdWVyeUV2YWx1YXRvciYgZXZhbHVhdG9yKQogICAgIDogbV9tZWRpYVF1ZXJ5Q29sbGVjdG9y
KHsgZXZhbHVhdG9yLCB0cnVlIH0pCiB7CiB9CkBAIC0zNjUsNyArMzY1LDcgQEAgYm9vbCBSdWxl
U2V0QnVpbGRlcjo6TWVkaWFRdWVyeUNvbGxlY3Rvcjo6cHVzaEFuZEV2YWx1YXRlKGNvbnN0IE1l
ZGlhUXVlcnlTZXQqIHMKIAogICAgIC8vIE9ubHkgZXZhbHVhdGUgc3RhdGljIGV4cHJlc3Npb25z
IHRoYXQgcmVxdWlyZSBzdHlsZSByZWJ1aWxkLgogICAgIE1lZGlhUXVlcnlEeW5hbWljUmVzdWx0
cyBkeW5hbWljUmVzdWx0czsKLSAgICBhdXRvIG1vZGUgPSBjb2xsZWN0RHluYW1pYyA/IE1lZGlh
UXVlcnlFdmFsdWF0b3I6Ok1vZGU6OkFsd2F5c01hdGNoRHluYW1pYyA6IE1lZGlhUXVlcnlFdmFs
dWF0b3I6Ok1vZGU6Ok5vcm1hbDsKKyAgICBhdXRvIG1vZGUgPSBjb2xsZWN0RHluYW1pYyA/IExl
Z2FjeU1lZGlhUXVlcnlFdmFsdWF0b3I6Ok1vZGU6OkFsd2F5c01hdGNoRHluYW1pYyA6IExlZ2Fj
eU1lZGlhUXVlcnlFdmFsdWF0b3I6Ok1vZGU6Ok5vcm1hbDsKIAogICAgIGJvb2wgcmVzdWx0ID0g
ZXZhbHVhdG9yLmV2YWx1YXRlKCpzZXQsICZkeW5hbWljUmVzdWx0cywgbW9kZSk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXRCdWlsZGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9SdWxlU2V0QnVpbGRlci5oCmluZGV4IGQzNTQzMzRkNWQ5OS4uNjJhNjBlNzFl
ZjQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0QnVpbGRlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXRCdWlsZGVyLmgKQEAgLTI5LDE0ICsyOSwx
NCBAQCBuYW1lc3BhY2UgU3R5bGUgewogY2xhc3MgUnVsZVNldEJ1aWxkZXIgewogcHVibGljOgog
ICAgIGVudW0gY2xhc3MgU2hyaW5rVG9GaXQgeyBFbmFibGUsIERpc2FibGUgfTsKLSAgICBSdWxl
U2V0QnVpbGRlcihSdWxlU2V0JiwgY29uc3QgTWVkaWFRdWVyeUV2YWx1YXRvciYsIFJlc29sdmVy
KiA9IG51bGxwdHIsIFNocmlua1RvRml0ID0gU2hyaW5rVG9GaXQ6OkVuYWJsZSk7CisgICAgUnVs
ZVNldEJ1aWxkZXIoUnVsZVNldCYsIGNvbnN0IExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3ImLCBS
ZXNvbHZlciogPSBudWxscHRyLCBTaHJpbmtUb0ZpdCA9IFNocmlua1RvRml0OjpFbmFibGUpOwog
ICAgIH5SdWxlU2V0QnVpbGRlcigpOwogCiAgICAgdm9pZCBhZGRSdWxlc0Zyb21TaGVldChjb25z
dCBTdHlsZVNoZWV0Q29udGVudHMmLCBjb25zdCBNZWRpYVF1ZXJ5U2V0KiBzaGVldFF1ZXJ5ID0g
bnVsbHB0cik7CiAgICAgdm9pZCBhZGRTdHlsZVJ1bGUoY29uc3QgU3R5bGVSdWxlJik7CiAKIHBy
aXZhdGU6Ci0gICAgUnVsZVNldEJ1aWxkZXIoY29uc3QgTWVkaWFRdWVyeUV2YWx1YXRvciYpOwor
ICAgIFJ1bGVTZXRCdWlsZGVyKGNvbnN0IExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3ImKTsKIAog
ICAgIHZvaWQgYWRkUnVsZXNGcm9tU2hlZXRDb250ZW50cyhjb25zdCBTdHlsZVNoZWV0Q29udGVu
dHMmKTsKICAgICB2b2lkIGFkZENoaWxkUnVsZXMoY29uc3QgVmVjdG9yPFJlZlB0cjxTdHlsZVJ1
bGVCYXNlPj4mKTsKQEAgLTUyLDcgKzUyLDcgQEAgcHJpdmF0ZToKICAgICBzdHJ1Y3QgTWVkaWFR
dWVyeUNvbGxlY3RvciB7CiAgICAgICAgIH5NZWRpYVF1ZXJ5Q29sbGVjdG9yKCk7CiAKLSAgICAg
ICAgY29uc3QgTWVkaWFRdWVyeUV2YWx1YXRvciYgZXZhbHVhdG9yOworICAgICAgICBjb25zdCBM
ZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yJiBldmFsdWF0b3I7CiAgICAgICAgIGJvb2wgY29sbGVj
dER5bmFtaWMgeyBmYWxzZSB9OwogCiAgICAgICAgIHN0cnVjdCBEeW5hbWljQ29udGV4dCB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUludmFsaWRhdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlSW52YWxpZGF0b3IuY3BwCmluZGV4IDAwNDRlYjY2MWMy
Yi4uYWQwNTdkZGE1MjBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUlu
dmFsaWRhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUludmFsaWRhdG9y
LmNwcApAQCAtODIsNyArODIsNyBAQCBzdGF0aWMgYm9vbCBzaG91bGREaXJ0eUFsbFN0eWxlKGNv
bnN0IFZlY3RvcjxTdHlsZVNoZWV0Q29udGVudHMqPiYgc2hlZXRzKQogICAgIHJldHVybiBmYWxz
ZTsKIH0KIAotSW52YWxpZGF0b3I6OkludmFsaWRhdG9yKGNvbnN0IFZlY3RvcjxTdHlsZVNoZWV0
Q29udGVudHMqPiYgc2hlZXRzLCBjb25zdCBNZWRpYVF1ZXJ5RXZhbHVhdG9yJiBtZWRpYVF1ZXJ5
RXZhbHVhdG9yKQorSW52YWxpZGF0b3I6OkludmFsaWRhdG9yKGNvbnN0IFZlY3RvcjxTdHlsZVNo
ZWV0Q29udGVudHMqPiYgc2hlZXRzLCBjb25zdCBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yJiBt
ZWRpYVF1ZXJ5RXZhbHVhdG9yKQogICAgIDogbV9vd25lZFJ1bGVTZXQoUnVsZVNldDo6Y3JlYXRl
KCkpCiAgICAgLCBtX3J1bGVTZXRzKHsgbV9vd25lZFJ1bGVTZXQgfSkKICAgICAsIG1fZGlydGll
c0FsbFN0eWxlKHNob3VsZERpcnR5QWxsU3R5bGUoc2hlZXRzKSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N0eWxlL1N0eWxlSW52YWxpZGF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlSW52YWxpZGF0b3IuaAppbmRleCA0ZDZlOGUzYTMzMDUuLmE1YzU5YTRmZDExZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVJbnZhbGlkYXRvci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlSW52YWxpZGF0b3IuaApAQCAtMzQsNyArMzQsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgRWxlbWVudDsKLWNs
YXNzIE1lZGlhUXVlcnlFdmFsdWF0b3I7CitjbGFzcyBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9y
OwogY2xhc3MgU2hhZG93Um9vdDsKIGNsYXNzIFN0eWxlU2hlZXRDb250ZW50czsKIApAQCAtNDcs
NyArNDcsNyBAQCBzdHJ1Y3QgU2VsZWN0b3JNYXRjaGluZ1N0YXRlOwogCiBjbGFzcyBJbnZhbGlk
YXRvciB7CiBwdWJsaWM6Ci0gICAgSW52YWxpZGF0b3IoY29uc3QgVmVjdG9yPFN0eWxlU2hlZXRD
b250ZW50cyo+JiwgY29uc3QgTWVkaWFRdWVyeUV2YWx1YXRvciYpOworICAgIEludmFsaWRhdG9y
KGNvbnN0IFZlY3RvcjxTdHlsZVNoZWV0Q29udGVudHMqPiYsIGNvbnN0IExlZ2FjeU1lZGlhUXVl
cnlFdmFsdWF0b3ImKTsKICAgICBJbnZhbGlkYXRvcihjb25zdCBJbnZhbGlkYXRpb25SdWxlU2V0
VmVjdG9yJik7CiAKICAgICB+SW52YWxpZGF0b3IoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVS
ZXNvbHZlci5jcHAKaW5kZXggNzI0YjhhYjM3YmNmLi4yMzAzN2JiOTVhNzAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC00Nyw5ICs0Nyw5IEBACiAjaW5jbHVkZSAi
RnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5j
bHVkZSAiS2V5ZnJhbWVMaXN0LmgiCisjaW5jbHVkZSAiTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRv
ci5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJNZWRpYUxpc3QuaCIKLSNpbmNs
dWRlICJNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCiAjaW5jbHVkZSAiTm9kZVJlbmRlclN0eWxlLmgi
CiAjaW5jbHVkZSAiUGFnZVJ1bGVDb2xsZWN0b3IuaCIKICNpbmNsdWRlICJQYWlyLmgiCkBAIC0x
NTQsOSArMTU0LDkgQEAgUmVzb2x2ZXI6OlJlc29sdmVyKERvY3VtZW50JiBkb2N1bWVudCkKICAg
ICAvLyBpcyBhbHdheXMgZnJvbSB0aGUgZG9jdW1lbnQgdGhhdCBvd25zIHRoZSBzdHlsZSBzZWxl
Y3RvcgogICAgIEZyYW1lVmlldyogdmlldyA9IG1fZG9jdW1lbnQudmlldygpOwogICAgIGlmICh2
aWV3KQotICAgICAgICBtX21lZGlhUXVlcnlFdmFsdWF0b3IgPSBNZWRpYVF1ZXJ5RXZhbHVhdG9y
IHsgdmlldy0+bWVkaWFUeXBlKCkgfTsKKyAgICAgICAgbV9tZWRpYVF1ZXJ5RXZhbHVhdG9yID0g
TGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvciB7IHZpZXctPm1lZGlhVHlwZSgpIH07CiAgICAgZWxz
ZQotICAgICAgICBtX21lZGlhUXVlcnlFdmFsdWF0b3IgPSBNZWRpYVF1ZXJ5RXZhbHVhdG9yIHsg
fTsKKyAgICAgICAgbV9tZWRpYVF1ZXJ5RXZhbHVhdG9yID0gTGVnYWN5TWVkaWFRdWVyeUV2YWx1
YXRvciB7IH07CiAKICAgICBpZiAoYXV0byogZG9jdW1lbnRFbGVtZW50ID0gbV9kb2N1bWVudC5k
b2N1bWVudEVsZW1lbnQoKSkgewogICAgICAgICBtX3Jvb3REZWZhdWx0U3R5bGUgPSBzdHlsZUZv
ckVsZW1lbnQoKmRvY3VtZW50RWxlbWVudCwgeyBtX2RvY3VtZW50LnJlbmRlclN0eWxlKCkgfSwg
UnVsZU1hdGNoaW5nQmVoYXZpb3I6Ok1hdGNoT25seVVzZXJBZ2VudFJ1bGVzKS5yZW5kZXJTdHls
ZTsKQEAgLTE2OCw3ICsxNjgsNyBAQCBSZXNvbHZlcjo6UmVzb2x2ZXIoRG9jdW1lbnQmIGRvY3Vt
ZW50KQogICAgIH0KIAogICAgIGlmIChtX3Jvb3REZWZhdWx0U3R5bGUgJiYgdmlldykKLSAgICAg
ICAgbV9tZWRpYVF1ZXJ5RXZhbHVhdG9yID0gTWVkaWFRdWVyeUV2YWx1YXRvciB7IHZpZXctPm1l
ZGlhVHlwZSgpLCBtX2RvY3VtZW50LCBtX3Jvb3REZWZhdWx0U3R5bGUuZ2V0KCkgfTsKKyAgICAg
ICAgbV9tZWRpYVF1ZXJ5RXZhbHVhdG9yID0gTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvciB7IHZp
ZXctPm1lZGlhVHlwZSgpLCBtX2RvY3VtZW50LCBtX3Jvb3REZWZhdWx0U3R5bGUuZ2V0KCkgfTsK
IAogICAgIG1fcnVsZVNldHMucmVzZXRBdXRob3JTdHlsZSgpOwogICAgIG1fcnVsZVNldHMucmVz
ZXRVc2VyQWdlbnRNZWRpYVF1ZXJ5U3R5bGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N0eWxlL1N0eWxlUmVzb2x2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlUmVzb2x2
ZXIuaAppbmRleCBlMmJmNjg3MjhkNjQuLjY2MGI1Yzg0OTUyZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3R5bGUvU3R5bGVSZXNvbHZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlUmVzb2x2ZXIuaApAQCAtMjUsOCArMjUsOCBAQAogI2luY2x1ZGUgIkRvY3VtZW50Lmgi
CiAjaW5jbHVkZSAiRWxlbWVudFJ1bGVDb2xsZWN0b3IuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JD
U1NPTVdyYXBwZXJzLmgiCisjaW5jbHVkZSAiTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvci5oIgog
I2luY2x1ZGUgIk1hdGNoZWREZWNsYXJhdGlvbnNDYWNoZS5oIgotI2luY2x1ZGUgIk1lZGlhUXVl
cnlFdmFsdWF0b3IuaCIKICNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgogI2luY2x1ZGUgIlJ1bGVT
ZXQuaCIKICNpbmNsdWRlICJTdHlsZUJ1aWxkZXJTdGF0ZS5oIgpAQCAtMTE0LDcgKzExNCw3IEBA
IHB1YmxpYzoKICAgICBTY29wZVJ1bGVTZXRzJiBydWxlU2V0cygpIHsgcmV0dXJuIG1fcnVsZVNl
dHM7IH0KICAgICBjb25zdCBTY29wZVJ1bGVTZXRzJiBydWxlU2V0cygpIGNvbnN0IHsgcmV0dXJu
IG1fcnVsZVNldHM7IH0KIAotICAgIGNvbnN0IE1lZGlhUXVlcnlFdmFsdWF0b3ImIG1lZGlhUXVl
cnlFdmFsdWF0b3IoKSBjb25zdCB7IHJldHVybiBtX21lZGlhUXVlcnlFdmFsdWF0b3I7IH0KKyAg
ICBjb25zdCBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yJiBtZWRpYVF1ZXJ5RXZhbHVhdG9yKCkg
Y29uc3QgeyByZXR1cm4gbV9tZWRpYVF1ZXJ5RXZhbHVhdG9yOyB9CiAKICAgICB2b2lkIGFkZEN1
cnJlbnRTVkdGb250RmFjZVJ1bGVzKCk7CiAKQEAgLTE2Niw3ICsxNjYsNyBAQCBwcml2YXRlOgog
ICAgIHR5cGVkZWYgSGFzaE1hcDxBdG9tU3RyaW5nLCBSZWZQdHI8U3R5bGVSdWxlS2V5ZnJhbWVz
Pj4gS2V5ZnJhbWVzUnVsZU1hcDsKICAgICBLZXlmcmFtZXNSdWxlTWFwIG1fa2V5ZnJhbWVzUnVs
ZU1hcDsKIAotICAgIE1lZGlhUXVlcnlFdmFsdWF0b3IgbV9tZWRpYVF1ZXJ5RXZhbHVhdG9yOwor
ICAgIExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IgbV9tZWRpYVF1ZXJ5RXZhbHVhdG9yOwogICAg
IHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4gbV9yb290RGVmYXVsdFN0eWxlOwogCiAgICAg
RG9jdW1lbnQmIG1fZG9jdW1lbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9T
dHlsZVNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmgKaW5kZXggNjU2
ODZhNjg0YzQzLi5kMzYxNWM1N2YwZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmgKQEAg
LTI4LDcgKzI4LDcgQEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiTGF5b3V0U2l6ZS5oIgot
I2luY2x1ZGUgIk1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKKyNpbmNsdWRlICJMZWdhY3lNZWRpYVF1
ZXJ5RXZhbHVhdG9yLmgiCiAjaW5jbHVkZSAiU3R5bGVTY29wZU9yZGluYWwuaCIKICNpbmNsdWRl
ICJUaW1lci5oIgogI2luY2x1ZGUgPG1lbW9yeT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N0eWxlL1N0eWxlU2NvcGVSdWxlU2V0cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHls
ZVNjb3BlUnVsZVNldHMuY3BwCmluZGV4IDc5ZDNkODk4ZWU2ZS4uOWJlMDM1MDIxMTg1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlUnVsZVNldHMuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGVSdWxlU2V0cy5jcHAKQEAgLTM2LDcgKzM2
LDcgQEAKICNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyQ2xp
ZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCi0jaW5jbHVkZSAiTWVkaWFRdWVyeUV2YWx1
YXRvci5oIgorI2luY2x1ZGUgIkxlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKICNpbmNsdWRl
ICJQYWdlLmgiCiAjaW5jbHVkZSAiUnVsZVNldEJ1aWxkZXIuaCIKICNpbmNsdWRlICJTdHlsZVJl
c29sdmVyLmgiCkBAIC0xMzYsNyArMTM2LDcgQEAgdm9pZCBTY29wZVJ1bGVTZXRzOjppbml0aWFs
aXplVXNlclN0eWxlKCkKICAgICAgICAgbV91c2VyU3R5bGUgPSBXVEZNb3ZlKHVzZXJTdHlsZSk7
CiB9CiAKLXZvaWQgU2NvcGVSdWxlU2V0czo6Y29sbGVjdFJ1bGVzRnJvbVVzZXJTdHlsZVNoZWV0
cyhjb25zdCBWZWN0b3I8UmVmUHRyPENTU1N0eWxlU2hlZXQ+PiYgdXNlclNoZWV0cywgUnVsZVNl
dCYgdXNlclN0eWxlLCBjb25zdCBNZWRpYVF1ZXJ5RXZhbHVhdG9yJiBtZWRpYVF1ZXJ5RXZhbHVh
dG9yKQordm9pZCBTY29wZVJ1bGVTZXRzOjpjb2xsZWN0UnVsZXNGcm9tVXNlclN0eWxlU2hlZXRz
KGNvbnN0IFZlY3RvcjxSZWZQdHI8Q1NTU3R5bGVTaGVldD4+JiB1c2VyU2hlZXRzLCBSdWxlU2V0
JiB1c2VyU3R5bGUsIGNvbnN0IExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3ImIG1lZGlhUXVlcnlF
dmFsdWF0b3IpCiB7CiAgICAgUnVsZVNldEJ1aWxkZXIgYnVpbGRlcih1c2VyU3R5bGUsIG1lZGlh
UXVlcnlFdmFsdWF0b3IsICZtX3N0eWxlUmVzb2x2ZXIpOwogICAgIGZvciAoYXV0byYgc2hlZXQg
OiB1c2VyU2hlZXRzKSB7CkBAIC0xOTMsNyArMTkzLDcgQEAgYm9vbCBTY29wZVJ1bGVTZXRzOjpo
YXNDb250YWluZXJRdWVyaWVzKCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXN0ZDo6
b3B0aW9uYWw8RHluYW1pY01lZGlhUXVlcnlFdmFsdWF0aW9uQ2hhbmdlcz4gU2NvcGVSdWxlU2V0
czo6ZXZhbHVhdGVEeW5hbWljTWVkaWFRdWVyeVJ1bGVzKGNvbnN0IE1lZGlhUXVlcnlFdmFsdWF0
b3ImIGV2YWx1YXRvcikKK3N0ZDo6b3B0aW9uYWw8RHluYW1pY01lZGlhUXVlcnlFdmFsdWF0aW9u
Q2hhbmdlcz4gU2NvcGVSdWxlU2V0czo6ZXZhbHVhdGVEeW5hbWljTWVkaWFRdWVyeVJ1bGVzKGNv
bnN0IExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3ImIGV2YWx1YXRvcikKIHsKICAgICBzdGQ6Om9w
dGlvbmFsPER5bmFtaWNNZWRpYVF1ZXJ5RXZhbHVhdGlvbkNoYW5nZXM+IGV2YWx1YXRpb25DaGFu
Z2VzOwogCkBAIC0yMTUsNyArMjE1LDcgQEAgc3RkOjpvcHRpb25hbDxEeW5hbWljTWVkaWFRdWVy
eUV2YWx1YXRpb25DaGFuZ2VzPiBTY29wZVJ1bGVTZXRzOjpldmFsdWF0ZUR5bmFtaWMKICAgICBy
ZXR1cm4gZXZhbHVhdGlvbkNoYW5nZXM7CiB9CiAKLXZvaWQgU2NvcGVSdWxlU2V0czo6YXBwZW5k
QXV0aG9yU3R5bGVTaGVldHMoY29uc3QgVmVjdG9yPFJlZlB0cjxDU1NTdHlsZVNoZWV0Pj4mIHN0
eWxlU2hlZXRzLCBNZWRpYVF1ZXJ5RXZhbHVhdG9yKiBtZWRpYVF1ZXJ5RXZhbHVhdG9yLCBJbnNw
ZWN0b3JDU1NPTVdyYXBwZXJzJiBpbnNwZWN0b3JDU1NPTVdyYXBwZXJzKQordm9pZCBTY29wZVJ1
bGVTZXRzOjphcHBlbmRBdXRob3JTdHlsZVNoZWV0cyhjb25zdCBWZWN0b3I8UmVmUHRyPENTU1N0
eWxlU2hlZXQ+PiYgc3R5bGVTaGVldHMsIExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IqIG1lZGlh
UXVlcnlFdmFsdWF0b3IsIEluc3BlY3RvckNTU09NV3JhcHBlcnMmIGluc3BlY3RvckNTU09NV3Jh
cHBlcnMpCiB7CiAgICAgUnVsZVNldEJ1aWxkZXIgYnVpbGRlcigqbV9hdXRob3JTdHlsZSwgKm1l
ZGlhUXVlcnlFdmFsdWF0b3IsICZtX3N0eWxlUmVzb2x2ZXIpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlUnVsZVNldHMuaCBiL1NvdXJjZS9XZWJDb3JlL3N0
eWxlL1N0eWxlU2NvcGVSdWxlU2V0cy5oCmluZGV4IGU5ZWVhMmZjNTFlMS4uNjUxMjM2MTcxYzVk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlUnVsZVNldHMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlUnVsZVNldHMuaApAQCAtMzUsNyAr
MzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDU1NTdHlsZVJ1bGU7CiBjbGFzcyBD
U1NTdHlsZVNoZWV0OwogY2xhc3MgRXh0ZW5zaW9uU3R5bGVTaGVldHM7Ci1jbGFzcyBNZWRpYVF1
ZXJ5RXZhbHVhdG9yOworY2xhc3MgTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvcjsKIAogbmFtZXNw
YWNlIFN0eWxlIHsKIApAQCAtNzcsMTQgKzc3LDE0IEBAIHB1YmxpYzoKICAgICB2b2lkIGluaXRp
YWxpemVVc2VyU3R5bGUoKTsKIAogICAgIHZvaWQgcmVzZXRBdXRob3JTdHlsZSgpOwotICAgIHZv
aWQgYXBwZW5kQXV0aG9yU3R5bGVTaGVldHMoY29uc3QgVmVjdG9yPFJlZlB0cjxDU1NTdHlsZVNo
ZWV0Pj4mLCBNZWRpYVF1ZXJ5RXZhbHVhdG9yKiwgU3R5bGU6Okluc3BlY3RvckNTU09NV3JhcHBl
cnMmKTsKKyAgICB2b2lkIGFwcGVuZEF1dGhvclN0eWxlU2hlZXRzKGNvbnN0IFZlY3RvcjxSZWZQ
dHI8Q1NTU3R5bGVTaGVldD4+JiwgTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvciosIFN0eWxlOjpJ
bnNwZWN0b3JDU1NPTVdyYXBwZXJzJik7CiAKICAgICB2b2lkIHJlc2V0VXNlckFnZW50TWVkaWFR
dWVyeVN0eWxlKCk7CiAKICAgICBib29sIGhhc1ZpZXdwb3J0RGVwZW5kZW50TWVkaWFRdWVyaWVz
KCkgY29uc3Q7CiAgICAgYm9vbCBoYXNDb250YWluZXJRdWVyaWVzKCkgY29uc3Q7CiAKLSAgICBz
dGQ6Om9wdGlvbmFsPER5bmFtaWNNZWRpYVF1ZXJ5RXZhbHVhdGlvbkNoYW5nZXM+IGV2YWx1YXRl
RHluYW1pY01lZGlhUXVlcnlSdWxlcyhjb25zdCBNZWRpYVF1ZXJ5RXZhbHVhdG9yJik7CisgICAg
c3RkOjpvcHRpb25hbDxEeW5hbWljTWVkaWFRdWVyeUV2YWx1YXRpb25DaGFuZ2VzPiBldmFsdWF0
ZUR5bmFtaWNNZWRpYVF1ZXJ5UnVsZXMoY29uc3QgTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvciYp
OwogCiAgICAgUnVsZUZlYXR1cmVTZXQmIG11dGFibGVGZWF0dXJlcygpOwogCkBAIC05NCw3ICs5
NCw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICB2b2lkIGNvbGxlY3RGZWF0dXJlcygpIGNv
bnN0OwotICAgIHZvaWQgY29sbGVjdFJ1bGVzRnJvbVVzZXJTdHlsZVNoZWV0cyhjb25zdCBWZWN0
b3I8UmVmUHRyPENTU1N0eWxlU2hlZXQ+PiYsIFJ1bGVTZXQmIHVzZXJTdHlsZSwgY29uc3QgTWVk
aWFRdWVyeUV2YWx1YXRvciYpOworICAgIHZvaWQgY29sbGVjdFJ1bGVzRnJvbVVzZXJTdHlsZVNo
ZWV0cyhjb25zdCBWZWN0b3I8UmVmUHRyPENTU1N0eWxlU2hlZXQ+PiYsIFJ1bGVTZXQmIHVzZXJT
dHlsZSwgY29uc3QgTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvciYpOwogICAgIHZvaWQgdXBkYXRl
VXNlckFnZW50TWVkaWFRdWVyeVN0eWxlSWZOZWVkZWQoKSBjb25zdDsKIAogICAgIFJlZlB0cjxS
dWxlU2V0PiBtX2F1dGhvclN0eWxlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUv
VXNlckFnZW50U3R5bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUu
Y3BwCmluZGV4IDBhMzI3NTdkOGM3YS4uYjE3ODg4NGVkMTExIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5
bGUvVXNlckFnZW50U3R5bGUuY3BwCkBAIC00Niw4ICs0Niw4IEBACiAjaW5jbHVkZSAiSFRNTE1l
ZGlhRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxPYmplY3RFbGVtZW50LmgiCiAjaW5jbHVkZSAi
SFRNTFNwYW5FbGVtZW50LmgiCisjaW5jbHVkZSAiTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvci5o
IgogI2luY2x1ZGUgIk1hdGhNTEVsZW1lbnQuaCIKLSNpbmNsdWRlICJNZWRpYVF1ZXJ5RXZhbHVh
dG9yLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlF1aXJrcy5oIgogI2luY2x1ZGUg
IlJlbmRlclRoZW1lLmgiCkBAIC05NSwxNSArOTUsMTUgQEAgU3R5bGVTaGVldENvbnRlbnRzKiBV
c2VyQWdlbnRTdHlsZTo6bGVnYWN5Rm9ybUNvbnRyb2xzSU9TU3R5bGVTaGVldDsKIFN0eWxlU2hl
ZXRDb250ZW50cyogVXNlckFnZW50U3R5bGU6OmFsdGVybmF0ZUZvcm1Db250cm9sRGVzaWduU3R5
bGVTaGVldDsKICNlbmRpZgogCi1zdGF0aWMgY29uc3QgTWVkaWFRdWVyeUV2YWx1YXRvciYgc2Ny
ZWVuRXZhbCgpCitzdGF0aWMgY29uc3QgTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvciYgc2NyZWVu
RXZhbCgpCiB7Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPGNvbnN0IE1lZGlhUXVlcnlFdmFs
dWF0b3I+IHN0YXRpY1NjcmVlbkV2YWwoU3RyaW5nKE1BS0VfU1RBVElDX1NUUklOR19JTVBMKCJz
Y3JlZW4iKSkpOworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxjb25zdCBMZWdhY3lNZWRpYVF1
ZXJ5RXZhbHVhdG9yPiBzdGF0aWNTY3JlZW5FdmFsKFN0cmluZyhNQUtFX1NUQVRJQ19TVFJJTkdf
SU1QTCgic2NyZWVuIikpKTsKICAgICByZXR1cm4gc3RhdGljU2NyZWVuRXZhbDsKIH0KIAotc3Rh
dGljIGNvbnN0IE1lZGlhUXVlcnlFdmFsdWF0b3ImIHByaW50RXZhbCgpCitzdGF0aWMgY29uc3Qg
TGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvciYgcHJpbnRFdmFsKCkKIHsKLSAgICBzdGF0aWMgTmV2
ZXJEZXN0cm95ZWQ8Y29uc3QgTWVkaWFRdWVyeUV2YWx1YXRvcj4gc3RhdGljUHJpbnRFdmFsKFN0
cmluZyhNQUtFX1NUQVRJQ19TVFJJTkdfSU1QTCgicHJpbnQiKSkpOworICAgIHN0YXRpYyBOZXZl
ckRlc3Ryb3llZDxjb25zdCBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yPiBzdGF0aWNQcmludEV2
YWwoU3RyaW5nKE1BS0VfU1RBVElDX1NUUklOR19JTVBMKCJwcmludCIpKSk7CiAgICAgcmV0dXJu
IHN0YXRpY1ByaW50RXZhbDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvRE9NL0RPTS5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0RPTS9ET00ubW0KaW5kZXgg
ZmFlYzgxM2U1NGVlLi5lNTEzOTMwNDQ1YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0RPTS9ET00ubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvRE9NL0RPTS5t
bQpAQCAtNTAsOCArNTAsOCBAQAogI2ltcG9ydCA8V2ViQ29yZS9JbWFnZS5oPgogI2ltcG9ydCA8
V2ViQ29yZS9KU05vZGUuaD4KICNpbXBvcnQgPFdlYkNvcmUvS2V5Ym9hcmRFdmVudC5oPgorI2lt
cG9ydCA8V2ViQ29yZS9MZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yLmg+CiAjaW1wb3J0IDxXZWJD
b3JlL01lZGlhTGlzdC5oPgotI2ltcG9ydCA8V2ViQ29yZS9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmg+
CiAjaW1wb3J0IDxXZWJDb3JlL05vZGVGaWx0ZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvTm9kZVJl
bmRlclN0eWxlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BhZ2UuaD4KQEAgLTcxNiw3ICs3MTYsNyBA
QCAtIChCT09MKV9tZWRpYVF1ZXJ5TWF0Y2hlcwogCiAgICAgRG9jdW1lbnQmIGRvY3VtZW50ID0g
bGluay5kb2N1bWVudCgpOwogICAgIGF1dG8gbWVkaWFRdWVyeVNldCA9IE1lZGlhUXVlcnlTZXQ6
OmNyZWF0ZShtZWRpYSwgTWVkaWFRdWVyeVBhcnNlckNvbnRleHQoZG9jdW1lbnQpKTsKLSAgICBy
ZXR1cm4gTWVkaWFRdWVyeUV2YWx1YXRvciB7ICJzY3JlZW4iX3MsIGRvY3VtZW50LCBkb2N1bWVu
dC5yZW5kZXJWaWV3KCkgPyAmZG9jdW1lbnQucmVuZGVyVmlldygpLT5zdHlsZSgpIDogbnVsbHB0
ciB9LmV2YWx1YXRlKG1lZGlhUXVlcnlTZXQuZ2V0KCkpOworICAgIHJldHVybiBMZWdhY3lNZWRp
YVF1ZXJ5RXZhbHVhdG9yIHsgInNjcmVlbiJfcywgZG9jdW1lbnQsIGRvY3VtZW50LnJlbmRlclZp
ZXcoKSA/ICZkb2N1bWVudC5yZW5kZXJWaWV3KCktPnN0eWxlKCkgOiBudWxscHRyIH0uZXZhbHVh
dGUobWVkaWFRdWVyeVNldC5nZXQoKSk7CiB9CiAKIEBlbmQK
</data>

          </attachment>
      

    </bug>

</bugzilla>