<?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>233900</bug_id>
          
          <creation_ts>2021-12-06 16:14:08 -0800</creation_ts>
          <short_desc>Reload web views when toggling the captive portal mode at system level</short_desc>
          <delta_ts>2021-12-07 14:29:26 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=233954</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>ggaren</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>pvollan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1820802</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-12-06 16:14:08 -0800</bug_when>
    <thetext>Reload web views when toggling the captive portal mode at system level, so that the views end up being backed by WebProcesses with the proper captive portal mode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820804</commentid>
    <comment_count>1</comment_count>
      <attachid>446091</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-12-06 16:15:46 -0800</bug_when>
    <thetext>Created attachment 446091
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820811</commentid>
    <comment_count>2</comment_count>
      <attachid>446096</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-12-06 16:37:40 -0800</bug_when>
    <thetext>Created attachment 446096
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820815</commentid>
    <comment_count>3</comment_count>
      <attachid>446096</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-12-06 16:42:01 -0800</bug_when>
    <thetext>Comment on attachment 446096
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=446096&amp;action=review

r=me

&gt; Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:979
&gt; +            page-&gt;reload({ });

Is the &apos;reload&apos; process smart enough to handle cases where something is opted-out?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820836</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-12-06 17:16:29 -0800</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #3)
&gt; Comment on attachment 446096 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=446096&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:979
&gt; &gt; +            page-&gt;reload({ });
&gt; 
&gt; Is the &apos;reload&apos; process smart enough to handle cases where something is
&gt; opted-out?

The reload process will trigger a decidePolicyForNavigationAction and it is up to the client app to override via WKWebpagePreferences then. I guess it is not ideal in this case since we&apos;re going to reload unnecessarily in such case.

Not sure how to best deal with this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821038</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-12-07 08:07:25 -0800</bug_when>
    <thetext>(In reply to Chris Dumez from comment #4)
&gt; (In reply to Brent Fulgham from comment #3)
&gt; &gt; Comment on attachment 446096 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=446096&amp;action=review
&gt; &gt; 
&gt; &gt; r=me
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:979
&gt; &gt; &gt; +            page-&gt;reload({ });
&gt; &gt; 
&gt; &gt; Is the &apos;reload&apos; process smart enough to handle cases where something is
&gt; &gt; opted-out?
&gt; 
&gt; The reload process will trigger a decidePolicyForNavigationAction and it is
&gt; up to the client app to override via WKWebpagePreferences then. I guess it
&gt; is not ideal in this case since we&apos;re going to reload unnecessarily in such
&gt; case.
&gt; 
&gt; Not sure how to best deal with this.

I *think* I can keep track of which views relied on the system setting and which views were explicitly opted in or out via WKWebpagePreferences. Then I would only reload the ones that relied on the system setting. I am looking into this now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821043</commentid>
    <comment_count>6</comment_count>
      <attachid>446175</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-12-07 08:28:50 -0800</bug_when>
    <thetext>Created attachment 446175
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821063</commentid>
    <comment_count>7</comment_count>
      <attachid>446183</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-12-07 09:10:59 -0800</bug_when>
    <thetext>Created attachment 446183
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821135</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-07 11:36:07 -0800</bug_when>
    <thetext>Committed r286602 (244927@trunk): &lt;https://commits.webkit.org/244927@trunk&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 446183.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821136</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-07 11:37:26 -0800</bug_when>
    <thetext>&lt;rdar://problem/86168069&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446091</attachid>
            <date>2021-12-06 16:15:46 -0800</date>
            <delta_ts>2021-12-06 16:37:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233900-20211206161546.patch</filename>
            <type>text/plain</type>
            <size>5349</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGUyMTFlZjFmNjA4MzQyZWRm
NTAwOTEyMzI0NGQ1ZGMwMzEzZWNhNmIuLmE0YWI3YmMzN2VhNzJiNTAxZDk1YTBmMzkwYjZlMzk0
ODI5NDhjNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMTItMDYgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBSZWxvYWQgd2ViIHZpZXdzIHdoZW4g
dG9nZ2xpbmcgdGhlIGNhcHRpdmUgcG9ydGFsIG1vZGUgYXQgc3lzdGVtIGxldmVsCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM5MDAKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWxvYWQgd2ViIHZpZXdz
IHdoZW4gdG9nZ2xpbmcgdGhlIGNhcHRpdmUgcG9ydGFsIG1vZGUgYXQgc3lzdGVtIGxldmVsLCBz
byB0aGF0IHRoZSB2aWV3cyBlbmQgdXAKKyAgICAgICAgYmVpbmcgYmFja2VkIGJ5IFdlYlByb2Nl
c3NlcyB3aXRoIHRoZSBwcm9wZXIgY2FwdGl2ZSBwb3J0YWwgbW9kZS4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0Ojpj
YWNoZWRDYXB0aXZlUG9ydGFsTW9kZUVuYWJsZWRHbG9iYWxseSk6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3NQb29sOjpjYXB0aXZlUG9ydGFsTW9kZVN0YXRlQ2hhbmdlZCk6CisgICAgICAg
IChXZWJLaXQ6OmNhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZEJ5U3lzdGVtKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUHJvY2Vzc1Bvb2w6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZCk6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmg6CisKIDIwMjEtMTItMDYgIFBlciBBcm5lIFZv
bGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdW1dQXSBCbG9jayBhY2Nl
c3MgdG8gdW51c2VkIElPS2l0IGNsYXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQppbmRleCA2YjA3ZDJmYmJlODM3ZWVlMjBi
MGQ2ZGIyMmU3NzRjM2EyNzcxOWQ1Li5iYjFhMzkxNWY5NTM4ZmM1ODA1YzlmM2Q4ZGQ1YWE4NTMy
NGE1MGIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9j
ZXNzUG9vbENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBy
b2Nlc3NQb29sQ29jb2EubW0KQEAgLTEyNyw2ICsxMjcsNyBAQCBOU1N0cmluZyAqV2ViS2l0SlND
RlRMSklURW5hYmxlZERlZmF1bHRzS2V5ID0gQCJXZWJLaXRKU0NGVExKSVRFbmFibGVkRGVmYXVs
dHNLZQogc3RhdGljIE5TU3RyaW5nICpXZWJLaXRBcHBsaWNhdGlvbkRpZENoYW5nZUFjY2Vzc2li
aWxpdHlFbmhhbmNlZFVzZXJJbnRlcmZhY2VOb3RpZmljYXRpb24gPSBAIk5TQXBwbGljYXRpb25E
aWRDaGFuZ2VBY2Nlc3NpYmlsaXR5RW5oYW5jZWRVc2VySW50ZXJmYWNlTm90aWZpY2F0aW9uIjsK
IHN0YXRpYyBDRlN0cmluZ1JlZiBBcHBsZUNvbG9yUHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0
aW9uID0gQ0ZTVFIoIkFwcGxlQ29sb3JQcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb24iKTsK
ICNlbmRpZgorc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IFdlYktpdENhcHRpdmVQb3J0YWxNb2Rl
Q2hhbmdlZE5vdGlmaWNhdGlvbiA9ICJXZWJLaXRDYXB0aXZlUG9ydGFsTW9kZUVuYWJsZWQiOwog
CiBzdGF0aWMgTlNTdHJpbmcgKiBjb25zdCBXZWJLaXRTdXBwcmVzc01lbW9yeVByZXNzdXJlSGFu
ZGxlckRlZmF1bHRzS2V5ID0gQCJXZWJLaXRTdXBwcmVzc01lbW9yeVByZXNzdXJlSGFuZGxlciI7
CiAKQEAgLTE4Miw2ICsxODMsMTIgQEAgc3RhdGljIHZvaWQgcmVnaXN0ZXJVc2VyRGVmYXVsdHNJ
Zk5lZWRlZCgpCiAgICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gcmVn
aXN0ZXJEZWZhdWx0czpyZWdpc3RyYXRpb25EaWN0aW9uYXJ5XTsKIH0KIAorc3RhdGljIHN0ZDo6
b3B0aW9uYWw8Ym9vbD4mIGNhY2hlZENhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZEdsb2JhbGx5KCkK
K3sKKyAgICBzdGF0aWMgc3RkOjpvcHRpb25hbDxib29sPiBjYWNoZWRDYXB0aXZlUG9ydGFsTW9k
ZUVuYWJsZWRHbG9iYWxseTsKKyAgICByZXR1cm4gY2FjaGVkQ2FwdGl2ZVBvcnRhbE1vZGVFbmFi
bGVkR2xvYmFsbHk7Cit9CisKIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnVwZGF0ZVByb2Nlc3NTdXBw
cmVzc2lvblN0YXRlKCkKIHsKICAgICBXZWJzaXRlRGF0YVN0b3JlOjpmb3JFYWNoV2Vic2l0ZURh
dGFTdG9yZShbZW5hYmxlZCA9IHByb2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWQoKV0gKFdlYnNpdGVE
YXRhU3RvcmUmIGRhdGFTdG9yZSkgewpAQCAtOTU0LDE1ICs5NjEsMzMgQEAgaW50IHdlYlByb2Nl
c3NUaHJvdWdocHV0UU9TKCkKICAgICByZXR1cm4gcW9zOwogfQogCit2b2lkIFdlYlByb2Nlc3NQ
b29sOjpjYXB0aXZlUG9ydGFsTW9kZVN0YXRlQ2hhbmdlZCgpCit7CisgICAgY2FjaGVkQ2FwdGl2
ZVBvcnRhbE1vZGVFbmFibGVkR2xvYmFsbHkoKSA9IHN0ZDo6bnVsbG9wdDsKKyAgICBhdXRvIGlz
Tm93RW5hYmxlZCA9IGNhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZEJ5U3lzdGVtKCk7CisKKyAgICBX
RUJQUk9DRVNTUE9PTF9SRUxFQVNFX0xPRyhMb2FkaW5nLCAiV2ViUHJvY2Vzc1Bvb2w6OmNhcHRp
dmVQb3J0YWxNb2RlU3RhdGVDaGFuZ2VkKCkgaXNOb3dFbmFibGVkPSVkIiwgaXNOb3dFbmFibGVk
KTsKKworICAgIGZvciAoYXV0byYgcHJvY2VzcyA6IG1fcHJvY2Vzc2VzKSB7CisgICAgICAgIGJv
b2wgcHJvY2Vzc0hhc0NhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZCA9IHByb2Nlc3MtPmNhcHRpdmVQ
b3J0YWxNb2RlKCkgPT0gV2ViUHJvY2Vzc1Byb3h5OjpDYXB0aXZlUG9ydGFsTW9kZTo6RW5hYmxl
ZDsKKyAgICAgICAgaWYgKHByb2Nlc3NIYXNDYXB0aXZlUG9ydGFsTW9kZUVuYWJsZWQgPT0gaXNO
b3dFbmFibGVkKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgZm9yIChhdXRvJiBw
YWdlIDogcHJvY2Vzcy0+cGFnZXMoKSkgeworICAgICAgICAgICAgV0VCUFJPQ0VTU1BPT0xfUkVM
RUFTRV9MT0coTG9hZGluZywgIldlYlByb2Nlc3NQb29sOjpjYXB0aXZlUG9ydGFsTW9kZVN0YXRl
Q2hhbmdlZCgpIFJlbG9hZGluZyBwYWdlIHdpdGggcGFnZUlEPSUiIFBSSXU2NCAiIGR1ZSB0byBj
YXB0aXZlIHBvcnRhbCBtb2RlIGNoYW5nZSIsIHBhZ2UtPmlkZW50aWZpZXIoKS50b1VJbnQ2NCgp
KTsKKyAgICAgICAgICAgIHBhZ2UtPnJlbG9hZCh7IH0pOworICAgICAgICB9CisgICAgfQorfQor
CiBib29sIGNhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZEJ5U3lzdGVtKCkKIHsKLSAgICBzdGF0aWMg
c3RkOjpvcHRpb25hbDxib29sPiBjYWNoZWRDYXB0aXZlUG9ydGFsTW9kZUVuYWJsZWRHbG9iYWxs
eTsKLSAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGludmFsaWRhdGUgdGhlIGNhY2hlZCB2YWx1ZSB3
aGVuIHRoZSBOU1VzZXJEZWZhdWx0IGNoYW5nZXMuCi0gICAgaWYgKCFjYWNoZWRDYXB0aXZlUG9y
dGFsTW9kZUVuYWJsZWRHbG9iYWxseSkgeworICAgIGF1dG8mIGNhY2hlZFN0YXRlID0gY2FjaGVk
Q2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkR2xvYmFsbHkoKTsKKyAgICBpZiAoIWNhY2hlZFN0YXRl
KSB7CiAgICAgICAgIC8vIEZJWE1FOiBVc2luZyBOU1VzZXJEZWZhdWx0cyBpcyBhIHRlbXBvcmFy
eSB3b3JrYXJvdW5kLiBUaGlzIHNldHRpbmcgc2hvdWxkIGJlIHN0b3JlZCBlbHNld2hlcmUgKFRD
Qz8pLgotICAgICAgICBjYWNoZWRDYXB0aXZlUG9ydGFsTW9kZUVuYWJsZWRHbG9iYWxseSA9IFtb
TlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIGJvb2xGb3JLZXk6QCJXZWJLaXRD
YXB0aXZlUG9ydGFsTW9kZUVuYWJsZWQiXTsKKyAgICAgICAgY2FjaGVkU3RhdGUgPSBbW05TVXNl
ckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBib29sRm9yS2V5OltOU1N0cmluZyBzdHJp
bmdXaXRoVVRGOFN0cmluZzpXZWJLaXRDYXB0aXZlUG9ydGFsTW9kZUNoYW5nZWROb3RpZmljYXRp
b25dXTsKICAgICB9Ci0gICAgcmV0dXJuICpjYWNoZWRDYXB0aXZlUG9ydGFsTW9kZUVuYWJsZWRH
bG9iYWxseTsKKyAgICByZXR1cm4gKmNhY2hlZFN0YXRlOwogfQogCiAjaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKQEAgLTEwMzIsNiArMTA1Nyw5IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6Om5vdGlm
eVByZWZlcmVuY2VzQ2hhbmdlZChjb25zdCBTdHJpbmcmIGRvbWFpbiwgY29uc3QgU3RyaW5nCiAg
ICAgaWYgKGF1dG8gd2ViQXV0aG5Qcm9jZXNzID0gV2ViQXV0aG5Qcm9jZXNzUHJveHk6OnNpbmds
ZXRvbklmQ3JlYXRlZCgpKQogICAgICAgICB3ZWJBdXRoblByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6
OldlYkF1dGhuUHJvY2Vzczo6Tm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKGRvbWFpbiwga2V5LCBl
bmNvZGVkVmFsdWUpLCAwKTsKICNlbmRpZgorCisgICAgaWYgKGtleSA9PSBXZWJLaXRDYXB0aXZl
UG9ydGFsTW9kZUNoYW5nZWROb3RpZmljYXRpb24pCisgICAgICAgIGNhcHRpdmVQb3J0YWxNb2Rl
U3RhdGVDaGFuZ2VkKCk7CiB9CiAjZW5kaWYgLy8gRU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUp
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCmluZGV4IGE5NDM4YWUz
ZGIxYmFjNDUzNWYxZTkyZmUyMGViYzFmODg5YTcyNDAuLjNiNDMwM2IyMTQ1MmYzNTdjYmY2YzJm
ODU5N2VjNDFlNmMwY2E5MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlByb2Nlc3NQb29sLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bv
b2wuaApAQCAtNTQ4LDYgKzU0OCw4IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHJlZ2lzdGVyTm90
aWZpY2F0aW9uT2JzZXJ2ZXJzKCk7CiAgICAgdm9pZCB1bnJlZ2lzdGVyTm90aWZpY2F0aW9uT2Jz
ZXJ2ZXJzKCk7CisKKyAgICB2b2lkIGNhcHRpdmVQb3J0YWxNb2RlU3RhdGVDaGFuZ2VkKCk7CiAj
ZW5kaWYKIAogICAgIHZvaWQgc2V0QXBwbGljYXRpb25Jc0FjdGl2ZShib29sKTsK
</data>
<flag name="commit-queue"
          id="471426"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446096</attachid>
            <date>2021-12-06 16:37:40 -0800</date>
            <delta_ts>2021-12-07 08:28:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233900-20211206163739.patch</filename>
            <type>text/plain</type>
            <size>5558</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGUyMTFlZjFmNjA4MzQyZWRm
NTAwOTEyMzI0NGQ1ZGMwMzEzZWNhNmIuLmE0YWI3YmMzN2VhNzJiNTAxZDk1YTBmMzkwYjZlMzk0
ODI5NDhjNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMTItMDYgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBSZWxvYWQgd2ViIHZpZXdzIHdoZW4g
dG9nZ2xpbmcgdGhlIGNhcHRpdmUgcG9ydGFsIG1vZGUgYXQgc3lzdGVtIGxldmVsCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM5MDAKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWxvYWQgd2ViIHZpZXdz
IHdoZW4gdG9nZ2xpbmcgdGhlIGNhcHRpdmUgcG9ydGFsIG1vZGUgYXQgc3lzdGVtIGxldmVsLCBz
byB0aGF0IHRoZSB2aWV3cyBlbmQgdXAKKyAgICAgICAgYmVpbmcgYmFja2VkIGJ5IFdlYlByb2Nl
c3NlcyB3aXRoIHRoZSBwcm9wZXIgY2FwdGl2ZSBwb3J0YWwgbW9kZS4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0Ojpj
YWNoZWRDYXB0aXZlUG9ydGFsTW9kZUVuYWJsZWRHbG9iYWxseSk6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3NQb29sOjpjYXB0aXZlUG9ydGFsTW9kZVN0YXRlQ2hhbmdlZCk6CisgICAgICAg
IChXZWJLaXQ6OmNhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZEJ5U3lzdGVtKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUHJvY2Vzc1Bvb2w6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZCk6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmg6CisKIDIwMjEtMTItMDYgIFBlciBBcm5lIFZv
bGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdW1dQXSBCbG9jayBhY2Nl
c3MgdG8gdW51c2VkIElPS2l0IGNsYXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQppbmRleCA2YjA3ZDJmYmJlODM3ZWVlMjBi
MGQ2ZGIyMmU3NzRjM2EyNzcxOWQ1Li45YTJiNGI5NTRjN2E1Nzk2ODE4NTM4Zjk3MDY1ZmM1ZTJh
YmZiYzA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9j
ZXNzUG9vbENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBy
b2Nlc3NQb29sQ29jb2EubW0KQEAgLTI2LDYgKzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgog
I2ltcG9ydCAiV2ViUHJvY2Vzc1Bvb2wuaCIKIAorI2ltcG9ydCAiQVBJTmF2aWdhdGlvbi5oIgog
I2ltcG9ydCAiQWNjZXNzaWJpbGl0eVByZWZlcmVuY2VzLmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmls
aXR5U3VwcG9ydFNQSS5oIgogI2ltcG9ydCAiQ29va2llU3RvcmFnZVV0aWxzQ0YuaCIKQEAgLTEy
Nyw2ICsxMjgsNyBAQCBOU1N0cmluZyAqV2ViS2l0SlNDRlRMSklURW5hYmxlZERlZmF1bHRzS2V5
ID0gQCJXZWJLaXRKU0NGVExKSVRFbmFibGVkRGVmYXVsdHNLZQogc3RhdGljIE5TU3RyaW5nICpX
ZWJLaXRBcHBsaWNhdGlvbkRpZENoYW5nZUFjY2Vzc2liaWxpdHlFbmhhbmNlZFVzZXJJbnRlcmZh
Y2VOb3RpZmljYXRpb24gPSBAIk5TQXBwbGljYXRpb25EaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5RW5o
YW5jZWRVc2VySW50ZXJmYWNlTm90aWZpY2F0aW9uIjsKIHN0YXRpYyBDRlN0cmluZ1JlZiBBcHBs
ZUNvbG9yUHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9uID0gQ0ZTVFIoIkFwcGxlQ29sb3JQ
cmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb24iKTsKICNlbmRpZgorc3RhdGljIGNvbnN0IGNo
YXIqIGNvbnN0IFdlYktpdENhcHRpdmVQb3J0YWxNb2RlQ2hhbmdlZE5vdGlmaWNhdGlvbiA9ICJX
ZWJLaXRDYXB0aXZlUG9ydGFsTW9kZUVuYWJsZWQiOwogCiBzdGF0aWMgTlNTdHJpbmcgKiBjb25z
dCBXZWJLaXRTdXBwcmVzc01lbW9yeVByZXNzdXJlSGFuZGxlckRlZmF1bHRzS2V5ID0gQCJXZWJL
aXRTdXBwcmVzc01lbW9yeVByZXNzdXJlSGFuZGxlciI7CiAKQEAgLTE4Miw2ICsxODQsMTIgQEAg
c3RhdGljIHZvaWQgcmVnaXN0ZXJVc2VyRGVmYXVsdHNJZk5lZWRlZCgpCiAgICAgW1tOU1VzZXJE
ZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gcmVnaXN0ZXJEZWZhdWx0czpyZWdpc3RyYXRp
b25EaWN0aW9uYXJ5XTsKIH0KIAorc3RhdGljIHN0ZDo6b3B0aW9uYWw8Ym9vbD4mIGNhY2hlZENh
cHRpdmVQb3J0YWxNb2RlRW5hYmxlZEdsb2JhbGx5KCkKK3sKKyAgICBzdGF0aWMgc3RkOjpvcHRp
b25hbDxib29sPiBjYWNoZWRDYXB0aXZlUG9ydGFsTW9kZUVuYWJsZWRHbG9iYWxseTsKKyAgICBy
ZXR1cm4gY2FjaGVkQ2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkR2xvYmFsbHk7Cit9CisKIHZvaWQg
V2ViUHJvY2Vzc1Bvb2w6OnVwZGF0ZVByb2Nlc3NTdXBwcmVzc2lvblN0YXRlKCkKIHsKICAgICBX
ZWJzaXRlRGF0YVN0b3JlOjpmb3JFYWNoV2Vic2l0ZURhdGFTdG9yZShbZW5hYmxlZCA9IHByb2Nl
c3NTdXBwcmVzc2lvbkVuYWJsZWQoKV0gKFdlYnNpdGVEYXRhU3RvcmUmIGRhdGFTdG9yZSkgewpA
QCAtOTU0LDE1ICs5NjIsMzMgQEAgaW50IHdlYlByb2Nlc3NUaHJvdWdocHV0UU9TKCkKICAgICBy
ZXR1cm4gcW9zOwogfQogCit2b2lkIFdlYlByb2Nlc3NQb29sOjpjYXB0aXZlUG9ydGFsTW9kZVN0
YXRlQ2hhbmdlZCgpCit7CisgICAgY2FjaGVkQ2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkR2xvYmFs
bHkoKSA9IHN0ZDo6bnVsbG9wdDsKKyAgICBhdXRvIGlzTm93RW5hYmxlZCA9IGNhcHRpdmVQb3J0
YWxNb2RlRW5hYmxlZEJ5U3lzdGVtKCk7CisKKyAgICBXRUJQUk9DRVNTUE9PTF9SRUxFQVNFX0xP
RyhMb2FkaW5nLCAiV2ViUHJvY2Vzc1Bvb2w6OmNhcHRpdmVQb3J0YWxNb2RlU3RhdGVDaGFuZ2Vk
KCkgaXNOb3dFbmFibGVkPSVkIiwgaXNOb3dFbmFibGVkKTsKKworICAgIGZvciAoYXV0byYgcHJv
Y2VzcyA6IG1fcHJvY2Vzc2VzKSB7CisgICAgICAgIGJvb2wgcHJvY2Vzc0hhc0NhcHRpdmVQb3J0
YWxNb2RlRW5hYmxlZCA9IHByb2Nlc3MtPmNhcHRpdmVQb3J0YWxNb2RlKCkgPT0gV2ViUHJvY2Vz
c1Byb3h5OjpDYXB0aXZlUG9ydGFsTW9kZTo6RW5hYmxlZDsKKyAgICAgICAgaWYgKHByb2Nlc3NI
YXNDYXB0aXZlUG9ydGFsTW9kZUVuYWJsZWQgPT0gaXNOb3dFbmFibGVkKQorICAgICAgICAgICAg
Y29udGludWU7CisKKyAgICAgICAgZm9yIChhdXRvJiBwYWdlIDogcHJvY2Vzcy0+cGFnZXMoKSkg
eworICAgICAgICAgICAgV0VCUFJPQ0VTU1BPT0xfUkVMRUFTRV9MT0coTG9hZGluZywgIldlYlBy
b2Nlc3NQb29sOjpjYXB0aXZlUG9ydGFsTW9kZVN0YXRlQ2hhbmdlZCgpIFJlbG9hZGluZyBwYWdl
IHdpdGggcGFnZVByb3h5SUQ9JSIgUFJJdTY0ICIgZHVlIHRvIGNhcHRpdmUgcG9ydGFsIG1vZGUg
Y2hhbmdlIiwgcGFnZS0+aWRlbnRpZmllcigpLnRvVUludDY0KCkpOworICAgICAgICAgICAgcGFn
ZS0+cmVsb2FkKHsgfSk7CisgICAgICAgIH0KKyAgICB9Cit9CisKIGJvb2wgY2FwdGl2ZVBvcnRh
bE1vZGVFbmFibGVkQnlTeXN0ZW0oKQogewotICAgIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPGJvb2w+
IGNhY2hlZENhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZEdsb2JhbGx5OwotICAgIC8vIEZJWE1FOiBX
ZSBzaG91bGQgaW52YWxpZGF0ZSB0aGUgY2FjaGVkIHZhbHVlIHdoZW4gdGhlIE5TVXNlckRlZmF1
bHQgY2hhbmdlcy4KLSAgICBpZiAoIWNhY2hlZENhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZEdsb2Jh
bGx5KSB7CisgICAgYXV0byYgY2FjaGVkU3RhdGUgPSBjYWNoZWRDYXB0aXZlUG9ydGFsTW9kZUVu
YWJsZWRHbG9iYWxseSgpOworICAgIGlmICghY2FjaGVkU3RhdGUpIHsKICAgICAgICAgLy8gRklY
TUU6IFVzaW5nIE5TVXNlckRlZmF1bHRzIGlzIGEgdGVtcG9yYXJ5IHdvcmthcm91bmQuIFRoaXMg
c2V0dGluZyBzaG91bGQgYmUgc3RvcmVkIGVsc2V3aGVyZSAoVENDPykuCi0gICAgICAgIGNhY2hl
ZENhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZEdsb2JhbGx5ID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFu
ZGFyZFVzZXJEZWZhdWx0c10gYm9vbEZvcktleTpAIldlYktpdENhcHRpdmVQb3J0YWxNb2RlRW5h
YmxlZCJdOworICAgICAgICBjYWNoZWRTdGF0ZSA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRV
c2VyRGVmYXVsdHNdIGJvb2xGb3JLZXk6W05TU3RyaW5nIHN0cmluZ1dpdGhVVEY4U3RyaW5nOldl
YktpdENhcHRpdmVQb3J0YWxNb2RlQ2hhbmdlZE5vdGlmaWNhdGlvbl1dOwogICAgIH0KLSAgICBy
ZXR1cm4gKmNhY2hlZENhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZEdsb2JhbGx5OworICAgIHJldHVy
biAqY2FjaGVkU3RhdGU7CiB9CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpAQCAtMTAzMiw2
ICsxMDU4LDkgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2Vk
KGNvbnN0IFN0cmluZyYgZG9tYWluLCBjb25zdCBTdHJpbmcKICAgICBpZiAoYXV0byB3ZWJBdXRo
blByb2Nlc3MgPSBXZWJBdXRoblByb2Nlc3NQcm94eTo6c2luZ2xldG9uSWZDcmVhdGVkKCkpCiAg
ICAgICAgIHdlYkF1dGhuUHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViQXV0aG5Qcm9jZXNzOjpO
b3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQoZG9tYWluLCBrZXksIGVuY29kZWRWYWx1ZSksIDApOwog
I2VuZGlmCisKKyAgICBpZiAoa2V5ID09IFdlYktpdENhcHRpdmVQb3J0YWxNb2RlQ2hhbmdlZE5v
dGlmaWNhdGlvbikKKyAgICAgICAgY2FwdGl2ZVBvcnRhbE1vZGVTdGF0ZUNoYW5nZWQoKTsKIH0K
ICNlbmRpZiAvLyBFTkFCTEUoQ0ZQUkVGU19ESVJFQ1RfTU9ERSkKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKaW5kZXggYTk0MzhhZTNkYjFiYWM0NTM1ZjFlOTJmZTIw
ZWJjMWY4ODlhNzI0MC4uM2I0MzAzYjIxNDUyZjM1N2NiZjZjMmY4NTk3ZWM0MWU2YzBjYTkxOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCkBAIC01NDgsNiArNTQ4
LDggQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMo
KTsKICAgICB2b2lkIHVucmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMoKTsKKworICAgIHZv
aWQgY2FwdGl2ZVBvcnRhbE1vZGVTdGF0ZUNoYW5nZWQoKTsKICNlbmRpZgogCiAgICAgdm9pZCBz
ZXRBcHBsaWNhdGlvbklzQWN0aXZlKGJvb2wpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446175</attachid>
            <date>2021-12-07 08:28:50 -0800</date>
            <delta_ts>2021-12-07 09:10:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233900-20211207082848.patch</filename>
            <type>text/plain</type>
            <size>10926</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NTk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDc1NTA3OWYwMmE2MjlhZTBh
ZDRiN2RjY2M3N2MyNzI1NzZjYjRlNTguLmY0MDgyYzc0MWQ1ZjkyYmJhZDAxM2U0MTdjYzM2Y2Fi
ZWZmM2ZmMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMTItMDcgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBSZWxvYWQgd2ViIHZpZXdzIHdoZW4g
dG9nZ2xpbmcgdGhlIGNhcHRpdmUgcG9ydGFsIG1vZGUgYXQgc3lzdGVtIGxldmVsCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM5MDAKKworICAgICAg
ICBSZXZpZXdlZCBieSBCcmVudCBGdWxnaGFtLgorCisgICAgICAgIFJlbG9hZCB3ZWIgdmlld3Mg
d2hlbiB0b2dnbGluZyB0aGUgY2FwdGl2ZSBwb3J0YWwgbW9kZSBhdCBzeXN0ZW0gbGV2ZWwsIHNv
IHRoYXQgdGhlIHZpZXdzIGVuZCB1cAorICAgICAgICBiZWluZyBiYWNrZWQgYnkgV2ViUHJvY2Vz
c2VzIHdpdGggdGhlIHByb3BlciBjYXB0aXZlIHBvcnRhbCBtb2RlLgorCisgICAgICAgICogVUlQ
cm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OmNh
Y2hlZENhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZEdsb2JhbGx5KToKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJvY2Vzc1Bvb2w6OmNhcHRpdmVQb3J0YWxNb2RlU3RhdGVDaGFuZ2VkKToKKyAgICAgICAg
KFdlYktpdDo6Y2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkQnlTeXN0ZW0pOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzUG9vbDo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaDoKKwogMjAyMS0xMi0wNyAgS2ltbW8gS2lubnVu
ZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgogCiAgICAgICAgIENvY29hIFdlYkdMIHNob3VsZCBz
dXBwb3J0IFVJIHNpZGUgY29tcG9zaXRpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9BUElQYWdlQ29uZmlndXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQVBJUGFnZUNvbmZpZ3VyYXRpb24uY3BwCmluZGV4IDBmZjdlNDBhZTZkYjQ5Njdk
M2RkZGI2NmI2NGM3YWUyMDRhYTIxYzkuLmI2OTI5NjZhM2VmNmE5ODZjYjYwM2QwZjNhMWU4ODAy
NzYxNDlhM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElQYWdl
Q29uZmlndXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVBh
Z2VDb25maWd1cmF0aW9uLmNwcApAQCAtMjA0LDYgKzIwNCwxMSBAQCBib29sIFBhZ2VDb25maWd1
cmF0aW9uOjpjYXB0aXZlUG9ydGFsTW9kZUVuYWJsZWQoKSBjb25zdAogICAgIHJldHVybiBjYXB0
aXZlUG9ydGFsTW9kZUVuYWJsZWRCeVN5c3RlbSgpOwogfQogCitib29sIFBhZ2VDb25maWd1cmF0
aW9uOjppc0NhcHRpdmVQb3J0YWxNb2RlRXhwbGljaXRseVNldCgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIG1fZGVmYXVsdFdlYnNpdGVQb2xpY2llcyAmJiBtX2RlZmF1bHRXZWJzaXRlUG9saWNpZXMt
PmlzQ2FwdGl2ZVBvcnRhbE1vZGVFeHBsaWNpdGx5U2V0KCk7Cit9CisKICNpZiBFTkFCTEUoQVBQ
TElDQVRJT05fTUFOSUZFU1QpCiBBcHBsaWNhdGlvbk1hbmlmZXN0KiBQYWdlQ29uZmlndXJhdGlv
bjo6YXBwbGljYXRpb25NYW5pZmVzdCgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQVBJUGFnZUNvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9BUElQYWdlQ29uZmlndXJhdGlvbi5oCmluZGV4IDI1NzYxNWFjNGNkNTI4
OWFiYmJhM2EwZjQ3Y2RlOGM4NzBlMTA4ZmMuLjQyYjJjYzVkZWZmZWY3YWNmNzMzNDllZjM5NmZm
NWI0ZjQyYmNjYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElQ
YWdlQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElQ
YWdlQ29uZmlndXJhdGlvbi5oCkBAIC0xODksNiArMTg5LDcgQEAgcHVibGljOgogICAgIHZvaWQg
c2V0UmVxdWlyZXNVc2VyQWN0aW9uRm9yRWRpdGluZ0NvbnRyb2xzTWFuYWdlcihib29sIHZhbHVl
KSB7IG1fcmVxdWlyZXNVc2VyQWN0aW9uRm9yRWRpdGluZ0NvbnRyb2xzTWFuYWdlciA9IHZhbHVl
OyB9CiAjZW5kaWYKIAorICAgIGJvb2wgaXNDYXB0aXZlUG9ydGFsTW9kZUV4cGxpY2l0bHlTZXQo
KSBjb25zdDsKICAgICBib29sIGNhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZCgpIGNvbnN0OwogCiBw
cml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNp
dGVQb2xpY2llcy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xp
Y2llcy5oCmluZGV4IDk5ZDAxNWQ1NTE1NjhmZTU2ZTc1ZDlmODY4M2ViNDExZDliZjhkYzEuLjQ5
NzI4MjMwNWU2NGZjOGJlZmQ0YmYyMzAyM2U2ZWE0N2QwNzEyZDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNpZXMuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZVBvbGljaWVzLmgKQEAgLTEzMCw2ICsxMzAs
NyBAQCBwdWJsaWM6CiAKICAgICBib29sIGNhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZCgpIGNvbnN0
OwogICAgIHZvaWQgc2V0Q2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkKHN0ZDo6b3B0aW9uYWw8Ym9v
bD4gY2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkKSB7IG1fY2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVk
ID0gY2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkOyB9CisgICAgYm9vbCBpc0NhcHRpdmVQb3J0YWxN
b2RlRXhwbGljaXRseVNldCgpIGNvbnN0IHsgcmV0dXJuICEhbV9jYXB0aXZlUG9ydGFsTW9kZUVu
YWJsZWQ7IH0KIAogICAgIFdlYkNvcmU6Ok1vdXNlRXZlbnRQb2xpY3kgbW91c2VFdmVudFBvbGlj
eSgpIGNvbnN0IHsgcmV0dXJuIG1fbW91c2VFdmVudFBvbGljeTsgfQogICAgIHZvaWQgc2V0TW91
c2VFdmVudFBvbGljeShXZWJDb3JlOjpNb3VzZUV2ZW50UG9saWN5IHBvbGljeSkgeyBtX21vdXNl
RXZlbnRQb2xpY3kgPSBwb2xpY3k7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCmluZGV4IDczM2E1MTJkYTBiZWI1ZDE0MWVh
MjY4OTNkOTZmYjdkODBmNmFkZGEuLjViNmUzMWRmYmVjNzhiNjEzMDVkYTdiZmNlZjJhYzViYzFh
YzBhZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nl
c3NQb29sQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJv
Y2Vzc1Bvb2xDb2NvYS5tbQpAQCAtMjYsNiArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAj
aW1wb3J0ICJXZWJQcm9jZXNzUG9vbC5oIgogCisjaW1wb3J0ICJBUElOYXZpZ2F0aW9uLmgiCiAj
aW1wb3J0ICJBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZXMuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxp
dHlTdXBwb3J0U1BJLmgiCiAjaW1wb3J0ICJDb29raWVTdG9yYWdlVXRpbHNDRi5oIgpAQCAtMTI3
LDYgKzEyOCw3IEBAIE5TU3RyaW5nICpXZWJLaXRKU0NGVExKSVRFbmFibGVkRGVmYXVsdHNLZXkg
PSBAIldlYktpdEpTQ0ZUTEpJVEVuYWJsZWREZWZhdWx0c0tlCiBzdGF0aWMgTlNTdHJpbmcgKldl
YktpdEFwcGxpY2F0aW9uRGlkQ2hhbmdlQWNjZXNzaWJpbGl0eUVuaGFuY2VkVXNlckludGVyZmFj
ZU5vdGlmaWNhdGlvbiA9IEAiTlNBcHBsaWNhdGlvbkRpZENoYW5nZUFjY2Vzc2liaWxpdHlFbmhh
bmNlZFVzZXJJbnRlcmZhY2VOb3RpZmljYXRpb24iOwogc3RhdGljIENGU3RyaW5nUmVmIEFwcGxl
Q29sb3JQcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb24gPSBDRlNUUigiQXBwbGVDb2xvclBy
ZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbiIpOwogI2VuZGlmCitzdGF0aWMgY29uc3QgY2hh
ciogY29uc3QgV2ViS2l0Q2FwdGl2ZVBvcnRhbE1vZGVDaGFuZ2VkTm90aWZpY2F0aW9uID0gIldl
YktpdENhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZCI7CiAKIHN0YXRpYyBOU1N0cmluZyAqIGNvbnN0
IFdlYktpdFN1cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyRGVmYXVsdHNLZXkgPSBAIldlYktp
dFN1cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyIjsKIApAQCAtMTgyLDYgKzE4NCwxMiBAQCBz
dGF0aWMgdm9pZCByZWdpc3RlclVzZXJEZWZhdWx0c0lmTmVlZGVkKCkKICAgICBbW05TVXNlckRl
ZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSByZWdpc3RlckRlZmF1bHRzOnJlZ2lzdHJhdGlv
bkRpY3Rpb25hcnldOwogfQogCitzdGF0aWMgc3RkOjpvcHRpb25hbDxib29sPiYgY2FjaGVkQ2Fw
dGl2ZVBvcnRhbE1vZGVFbmFibGVkR2xvYmFsbHkoKQoreworICAgIHN0YXRpYyBzdGQ6Om9wdGlv
bmFsPGJvb2w+IGNhY2hlZENhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZEdsb2JhbGx5OworICAgIHJl
dHVybiBjYWNoZWRDYXB0aXZlUG9ydGFsTW9kZUVuYWJsZWRHbG9iYWxseTsKK30KKwogdm9pZCBX
ZWJQcm9jZXNzUG9vbDo6dXBkYXRlUHJvY2Vzc1N1cHByZXNzaW9uU3RhdGUoKQogewogICAgIFdl
YnNpdGVEYXRhU3RvcmU6OmZvckVhY2hXZWJzaXRlRGF0YVN0b3JlKFtlbmFibGVkID0gcHJvY2Vz
c1N1cHByZXNzaW9uRW5hYmxlZCgpXSAoV2Vic2l0ZURhdGFTdG9yZSYgZGF0YVN0b3JlKSB7CkBA
IC05MzcsMTUgKzk0NSwzOCBAQCBpbnQgd2ViUHJvY2Vzc1Rocm91Z2hwdXRRT1MoKQogICAgIHJl
dHVybiBxb3M7CiB9CiAKK3ZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmNhcHRpdmVQb3J0YWxNb2RlU3Rh
dGVDaGFuZ2VkKCkKK3sKKyAgICBjYWNoZWRDYXB0aXZlUG9ydGFsTW9kZUVuYWJsZWRHbG9iYWxs
eSgpID0gc3RkOjpudWxsb3B0OworICAgIGF1dG8gaXNOb3dFbmFibGVkID0gY2FwdGl2ZVBvcnRh
bE1vZGVFbmFibGVkQnlTeXN0ZW0oKTsKKworICAgIFdFQlBST0NFU1NQT09MX1JFTEVBU0VfTE9H
KExvYWRpbmcsICJXZWJQcm9jZXNzUG9vbDo6Y2FwdGl2ZVBvcnRhbE1vZGVTdGF0ZUNoYW5nZWQo
KSBpc05vd0VuYWJsZWQ9JWQiLCBpc05vd0VuYWJsZWQpOworCisgICAgZm9yIChhdXRvJiBwcm9j
ZXNzIDogbV9wcm9jZXNzZXMpIHsKKyAgICAgICAgYm9vbCBwcm9jZXNzSGFzQ2FwdGl2ZVBvcnRh
bE1vZGVFbmFibGVkID0gcHJvY2Vzcy0+Y2FwdGl2ZVBvcnRhbE1vZGUoKSA9PSBXZWJQcm9jZXNz
UHJveHk6OkNhcHRpdmVQb3J0YWxNb2RlOjpFbmFibGVkOworICAgICAgICBpZiAocHJvY2Vzc0hh
c0NhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZCA9PSBpc05vd0VuYWJsZWQpCisgICAgICAgICAgICBj
b250aW51ZTsKKworICAgICAgICBmb3IgKGF1dG8mIHBhZ2UgOiBwcm9jZXNzLT5wYWdlcygpKSB7
CisgICAgICAgICAgICAvLyBXaGVuIHRoZSBjYXB0aXZlIHBvcnRhbCBtb2RlIGNoYW5nZXMgZ2xv
YmFsbHkgYXQgc3lzdGVtIGxldmVsLCB3ZSByZWxvYWQgZXZlcnkgcGFnZSB0aGF0IHJlbGllZCBv
biB0aGUgc3lzdGVtIHNldHRpbmcgKHJhdGhlcgorICAgICAgICAgICAgLy8gdGhhbiBiZWluZyBl
eHBsaWNpdGx5IG9wdGVkIGluL291dCBieSB0aGUgY2xpZW50IGFwcCBhdCBuYXZpZ2F0aW9uIG9y
IFBhZ2VDb25maWd1cmF0aW9uIGxldmVsKS4KKyAgICAgICAgICAgIGlmIChwYWdlLT5pc0NhcHRp
dmVQb3J0YWxNb2RlRXhwbGljaXRseVNldCgpKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOwor
CisgICAgICAgICAgICBXRUJQUk9DRVNTUE9PTF9SRUxFQVNFX0xPRyhMb2FkaW5nLCAiV2ViUHJv
Y2Vzc1Bvb2w6OmNhcHRpdmVQb3J0YWxNb2RlU3RhdGVDaGFuZ2VkKCkgUmVsb2FkaW5nIHBhZ2Ug
d2l0aCBwYWdlUHJveHlJRD0lIiBQUkl1NjQgIiBkdWUgdG8gY2FwdGl2ZSBwb3J0YWwgbW9kZSBj
aGFuZ2UiLCBwYWdlLT5pZGVudGlmaWVyKCkudG9VSW50NjQoKSk7CisgICAgICAgICAgICBwYWdl
LT5yZWxvYWQoeyB9KTsKKyAgICAgICAgfQorICAgIH0KK30KKwogYm9vbCBjYXB0aXZlUG9ydGFs
TW9kZUVuYWJsZWRCeVN5c3RlbSgpCiB7Ci0gICAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8Ym9vbD4g
Y2FjaGVkQ2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkR2xvYmFsbHk7Ci0gICAgLy8gRklYTUU6IFdl
IHNob3VsZCBpbnZhbGlkYXRlIHRoZSBjYWNoZWQgdmFsdWUgd2hlbiB0aGUgTlNVc2VyRGVmYXVs
dCBjaGFuZ2VzLgotICAgIGlmICghY2FjaGVkQ2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkR2xvYmFs
bHkpIHsKKyAgICBhdXRvJiBjYWNoZWRTdGF0ZSA9IGNhY2hlZENhcHRpdmVQb3J0YWxNb2RlRW5h
YmxlZEdsb2JhbGx5KCk7CisgICAgaWYgKCFjYWNoZWRTdGF0ZSkgewogICAgICAgICAvLyBGSVhN
RTogVXNpbmcgTlNVc2VyRGVmYXVsdHMgaXMgYSB0ZW1wb3Jhcnkgd29ya2Fyb3VuZC4gVGhpcyBz
ZXR0aW5nIHNob3VsZCBiZSBzdG9yZWQgZWxzZXdoZXJlIChUQ0M/KS4KLSAgICAgICAgY2FjaGVk
Q2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkR2xvYmFsbHkgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5k
YXJkVXNlckRlZmF1bHRzXSBib29sRm9yS2V5OkAiV2ViS2l0Q2FwdGl2ZVBvcnRhbE1vZGVFbmFi
bGVkIl07CisgICAgICAgIGNhY2hlZFN0YXRlID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVz
ZXJEZWZhdWx0c10gYm9vbEZvcktleTpbTlNTdHJpbmcgc3RyaW5nV2l0aFVURjhTdHJpbmc6V2Vi
S2l0Q2FwdGl2ZVBvcnRhbE1vZGVDaGFuZ2VkTm90aWZpY2F0aW9uXV07CiAgICAgfQotICAgIHJl
dHVybiAqY2FjaGVkQ2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkR2xvYmFsbHk7CisgICAgcmV0dXJu
ICpjYWNoZWRTdGF0ZTsKIH0KIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC0xMDE1LDYg
KzEwNDYsOSBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQo
Y29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZwogICAgIGlmIChhdXRvIHdlYkF1dGhu
UHJvY2VzcyA9IFdlYkF1dGhuUHJvY2Vzc1Byb3h5OjpzaW5nbGV0b25JZkNyZWF0ZWQoKSkKICAg
ICAgICAgd2ViQXV0aG5Qcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJBdXRoblByb2Nlc3M6Ok5v
dGlmeVByZWZlcmVuY2VzQ2hhbmdlZChkb21haW4sIGtleSwgZW5jb2RlZFZhbHVlKSwgMCk7CiAj
ZW5kaWYKKworICAgIGlmIChrZXkgPT0gV2ViS2l0Q2FwdGl2ZVBvcnRhbE1vZGVDaGFuZ2VkTm90
aWZpY2F0aW9uKQorICAgICAgICBjYXB0aXZlUG9ydGFsTW9kZVN0YXRlQ2hhbmdlZCgpOwogfQog
I2VuZGlmIC8vIEVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBhYTQ3YjE3NDJhYjFmYjkxMmE0M2I1Y2IyZjEx
ODVmODkwMTUxNmFjLi5jYzNiMDdhNWM1YzgxMzM5NjlmMDBmMGMzM2Y0Yjg0NjVlYzc2MjRlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTg2Miw3ICs4NjIs
OSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6bGF1bmNoUHJvY2Vzcyhjb25zdCBSZWdpc3RyYWJsZURv
bWFpbiYgcmVnaXN0cmFibGVEb21haW4sIFBybwogICAgICAgICBtX3Byb2Nlc3MgPSByZWxhdGVk
UGFnZS0+ZW5zdXJlUnVubmluZ1Byb2Nlc3MoKTsKICAgICBlbHNlCiAgICAgICAgIG1fcHJvY2Vz
cyA9IHByb2Nlc3NQb29sLnByb2Nlc3NGb3JSZWdpc3RyYWJsZURvbWFpbihtX3dlYnNpdGVEYXRh
U3RvcmUuZ2V0KCksIHJlZ2lzdHJhYmxlRG9tYWluLCBzaG91bGRFbmFibGVDYXB0aXZlUG9ydGFs
TW9kZSgpID8gV2ViUHJvY2Vzc1Byb3h5OjpDYXB0aXZlUG9ydGFsTW9kZTo6RW5hYmxlZCA6IFdl
YlByb2Nlc3NQcm94eTo6Q2FwdGl2ZVBvcnRhbE1vZGU6OkRpc2FibGVkKTsKKwogICAgIG1faGFz
UnVubmluZ1Byb2Nlc3MgPSB0cnVlOworICAgIG1faXNDYXB0aXZlUG9ydGFsTW9kZUV4cGxpY2l0
bHlTZXQgPSBtX2NvbmZpZ3VyYXRpb24tPmlzQ2FwdGl2ZVBvcnRhbE1vZGVFeHBsaWNpdGx5U2V0
KCk7CiAKICAgICBtX3Byb2Nlc3MtPmFkZEV4aXN0aW5nV2ViUGFnZSgqdGhpcywgV2ViUHJvY2Vz
c1Byb3h5OjpCZWdpbnNVc2luZ0RhdGFTdG9yZTo6WWVzKTsKICAgICBhZGRBbGxNZXNzYWdlUmVj
ZWl2ZXJzKCk7CkBAIC0zNDUwLDYgKzM0NTIsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cmVjZWl2
ZWROYXZpZ2F0aW9uUG9saWN5RGVjaXNpb24oUG9saWN5QWN0aW9uIHBvbGljeUFjdGlvbiwgQQog
ICAgICAgICB9CiAgICAgfQogCisgICAgbV9pc0NhcHRpdmVQb3J0YWxNb2RlRXhwbGljaXRseVNl
dCA9IHBvbGljaWVzID8gcG9saWNpZXMtPmlzQ2FwdGl2ZVBvcnRhbE1vZGVFeHBsaWNpdGx5U2V0
KCkgOiBtX2NvbmZpZ3VyYXRpb24tPmlzQ2FwdGl2ZVBvcnRhbE1vZGVFeHBsaWNpdGx5U2V0KCk7
CiAgICAgYXV0byBjYXB0aXZlUG9ydGFsTW9kZSA9IChwb2xpY2llcyA/IHBvbGljaWVzLT5jYXB0
aXZlUG9ydGFsTW9kZUVuYWJsZWQoKSA6IHNob3VsZEVuYWJsZUNhcHRpdmVQb3J0YWxNb2RlKCkp
ID8gV2ViUHJvY2Vzc1Byb3h5OjpDYXB0aXZlUG9ydGFsTW9kZTo6RW5hYmxlZCA6IFdlYlByb2Nl
c3NQcm94eTo6Q2FwdGl2ZVBvcnRhbE1vZGU6OkRpc2FibGVkOwogICAgIHByb2Nlc3MoKS5wcm9j
ZXNzUG9vbCgpLnByb2Nlc3NGb3JOYXZpZ2F0aW9uKCp0aGlzLCAqbmF2aWdhdGlvbiwgc291cmNl
UHJvY2Vzcy5jb3B5UmVmKCksIHNvdXJjZVVSTCwgcHJvY2Vzc1N3YXBSZXF1ZXN0ZWRCeUNsaWVu
dCwgY2FwdGl2ZVBvcnRhbE1vZGUsIGZyYW1lSW5mbywgV1RGTW92ZSh3ZWJzaXRlRGF0YVN0b3Jl
KSwgW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBSZWYgeyAqdGhpcyB9LCBwb2xpY3lBY3Rpb24sIG5h
dmlnYXRpb24gPSBSZWYgeyAqbmF2aWdhdGlvbiB9LCBuYXZpZ2F0aW9uQWN0aW9uID0gV1RGTW92
ZShuYXZpZ2F0aW9uQWN0aW9uKSwgc291cmNlUHJvY2VzcyA9IHNvdXJjZVByb2Nlc3MuY29weVJl
ZigpLAogICAgICAgICBwb2xpY2llcyA9IFdURk1vdmUocG9saWNpZXMpLCBzZW5kZXIgPSBXVEZN
b3ZlKHNlbmRlciksIHByb2Nlc3NTd2FwUmVxdWVzdGVkQnlDbGllbnRdIChSZWY8V2ViUHJvY2Vz
c1Byb3h5PiYmIHByb2Nlc3NGb3JOYXZpZ2F0aW9uLCBTdXNwZW5kZWRQYWdlUHJveHkqIGRlc3Rp
bmF0aW9uU3VzcGVuZGVkUGFnZSwgY29uc3QgU3RyaW5nJiByZWFzb24pIG11dGFibGUgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA1YTgzMmU1NWFjYmExODliMzli
OWU4OTdjYzFjYTE4YjdiNDg0NTU1Li4zNDcwYzhhODMwNzc5ODliNmUyNTQ3N2UwY2Q5MDJlZGQ2
MTg3ZmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtNDk2LDYg
KzQ5Niw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgYWRkUHJldmlvdXNseVZpc2l0ZWRQYXRoKGNv
bnN0IFN0cmluZyYpOwogCisgICAgYm9vbCBpc0NhcHRpdmVQb3J0YWxNb2RlRXhwbGljaXRseVNl
dCgpIGNvbnN0IHsgcmV0dXJuIG1faXNDYXB0aXZlUG9ydGFsTW9kZUV4cGxpY2l0bHlTZXQ7IH0K
ICAgICBib29sIHNob3VsZEVuYWJsZUNhcHRpdmVQb3J0YWxNb2RlKCkgY29uc3Q7CiAKICNpZiBF
TkFCTEUoREFUQV9ERVRFQ1RJT04pCkBAIC0zMTM5LDYgKzMxNDAsNyBAQCBwcml2YXRlOgogICAg
IGJvb2wgbV9sYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZCB7IHRydWUgfTsKICAgICBib29s
IG1faXNSdW5uaW5nTW9kYWxKYXZhU2NyaXB0RGlhbG9nIHsgZmFsc2UgfTsKICAgICBib29sIG1f
aXNTdXNwZW5kZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9pc0NhcHRpdmVQb3J0YWxNb2RlRXhw
bGljaXRseVNldCB7IGZhbHNlIH07CiAKICAgICBzdGQ6Om9wdGlvbmFsPFByaXZhdGVDbGlja01l
YXN1cmVtZW50QW5kTWV0YWRhdGE+IG1fcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCmluZGV4IGE5NDM4YWUzZGIxYmFjNDUz
NWYxZTkyZmUyMGViYzFmODg5YTcyNDAuLjNiNDMwM2IyMTQ1MmYzNTdjYmY2YzJmODU5N2VjNDFl
NmMwY2E5MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
b29sLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaApAQCAt
NTQ4LDYgKzU0OCw4IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHJlZ2lzdGVyTm90aWZpY2F0aW9u
T2JzZXJ2ZXJzKCk7CiAgICAgdm9pZCB1bnJlZ2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKCk7
CisKKyAgICB2b2lkIGNhcHRpdmVQb3J0YWxNb2RlU3RhdGVDaGFuZ2VkKCk7CiAjZW5kaWYKIAog
ICAgIHZvaWQgc2V0QXBwbGljYXRpb25Jc0FjdGl2ZShib29sKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446183</attachid>
            <date>2021-12-07 09:10:59 -0800</date>
            <delta_ts>2021-12-07 11:36:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233900-20211207091058.patch</filename>
            <type>text/plain</type>
            <size>10926</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NTk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDc1NTA3OWYwMmE2MjlhZTBh
ZDRiN2RjY2M3N2MyNzI1NzZjYjRlNTguLmY0MDgyYzc0MWQ1ZjkyYmJhZDAxM2U0MTdjYzM2Y2Fi
ZWZmM2ZmMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMTItMDcgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBSZWxvYWQgd2ViIHZpZXdzIHdoZW4g
dG9nZ2xpbmcgdGhlIGNhcHRpdmUgcG9ydGFsIG1vZGUgYXQgc3lzdGVtIGxldmVsCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM5MDAKKworICAgICAg
ICBSZXZpZXdlZCBieSBCcmVudCBGdWxnaGFtLgorCisgICAgICAgIFJlbG9hZCB3ZWIgdmlld3Mg
d2hlbiB0b2dnbGluZyB0aGUgY2FwdGl2ZSBwb3J0YWwgbW9kZSBhdCBzeXN0ZW0gbGV2ZWwsIHNv
IHRoYXQgdGhlIHZpZXdzIGVuZCB1cAorICAgICAgICBiZWluZyBiYWNrZWQgYnkgV2ViUHJvY2Vz
c2VzIHdpdGggdGhlIHByb3BlciBjYXB0aXZlIHBvcnRhbCBtb2RlLgorCisgICAgICAgICogVUlQ
cm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OmNh
Y2hlZENhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZEdsb2JhbGx5KToKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJvY2Vzc1Bvb2w6OmNhcHRpdmVQb3J0YWxNb2RlU3RhdGVDaGFuZ2VkKToKKyAgICAgICAg
KFdlYktpdDo6Y2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkQnlTeXN0ZW0pOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzUG9vbDo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaDoKKwogMjAyMS0xMi0wNyAgS2ltbW8gS2lubnVu
ZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgogCiAgICAgICAgIENvY29hIFdlYkdMIHNob3VsZCBz
dXBwb3J0IFVJIHNpZGUgY29tcG9zaXRpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9BUElQYWdlQ29uZmlndXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQVBJUGFnZUNvbmZpZ3VyYXRpb24uY3BwCmluZGV4IDBmZjdlNDBhZTZkYjQ5Njdk
M2RkZGI2NmI2NGM3YWUyMDRhYTIxYzkuLmI2OTI5NjZhM2VmNmE5ODZjYjYwM2QwZjNhMWU4ODAy
NzYxNDlhM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElQYWdl
Q29uZmlndXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVBh
Z2VDb25maWd1cmF0aW9uLmNwcApAQCAtMjA0LDYgKzIwNCwxMSBAQCBib29sIFBhZ2VDb25maWd1
cmF0aW9uOjpjYXB0aXZlUG9ydGFsTW9kZUVuYWJsZWQoKSBjb25zdAogICAgIHJldHVybiBjYXB0
aXZlUG9ydGFsTW9kZUVuYWJsZWRCeVN5c3RlbSgpOwogfQogCitib29sIFBhZ2VDb25maWd1cmF0
aW9uOjppc0NhcHRpdmVQb3J0YWxNb2RlRXhwbGljaXRseVNldCgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIG1fZGVmYXVsdFdlYnNpdGVQb2xpY2llcyAmJiBtX2RlZmF1bHRXZWJzaXRlUG9saWNpZXMt
PmlzQ2FwdGl2ZVBvcnRhbE1vZGVFeHBsaWNpdGx5U2V0KCk7Cit9CisKICNpZiBFTkFCTEUoQVBQ
TElDQVRJT05fTUFOSUZFU1QpCiBBcHBsaWNhdGlvbk1hbmlmZXN0KiBQYWdlQ29uZmlndXJhdGlv
bjo6YXBwbGljYXRpb25NYW5pZmVzdCgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQVBJUGFnZUNvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9BUElQYWdlQ29uZmlndXJhdGlvbi5oCmluZGV4IDI1NzYxNWFjNGNkNTI4
OWFiYmJhM2EwZjQ3Y2RlOGM4NzBlMTA4ZmMuLjQyYjJjYzVkZWZmZWY3YWNmNzMzNDllZjM5NmZm
NWI0ZjQyYmNjYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElQ
YWdlQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElQ
YWdlQ29uZmlndXJhdGlvbi5oCkBAIC0xODksNiArMTg5LDcgQEAgcHVibGljOgogICAgIHZvaWQg
c2V0UmVxdWlyZXNVc2VyQWN0aW9uRm9yRWRpdGluZ0NvbnRyb2xzTWFuYWdlcihib29sIHZhbHVl
KSB7IG1fcmVxdWlyZXNVc2VyQWN0aW9uRm9yRWRpdGluZ0NvbnRyb2xzTWFuYWdlciA9IHZhbHVl
OyB9CiAjZW5kaWYKIAorICAgIGJvb2wgaXNDYXB0aXZlUG9ydGFsTW9kZUV4cGxpY2l0bHlTZXQo
KSBjb25zdDsKICAgICBib29sIGNhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZCgpIGNvbnN0OwogCiBw
cml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNp
dGVQb2xpY2llcy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xp
Y2llcy5oCmluZGV4IDk5ZDAxNWQ1NTE1NjhmZTU2ZTc1ZDlmODY4M2ViNDExZDliZjhkYzEuLjQ5
NzI4MjMwNWU2NGZjOGJlZmQ0YmYyMzAyM2U2ZWE0N2QwNzEyZDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNpZXMuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZVBvbGljaWVzLmgKQEAgLTEzMCw2ICsxMzAs
NyBAQCBwdWJsaWM6CiAKICAgICBib29sIGNhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZCgpIGNvbnN0
OwogICAgIHZvaWQgc2V0Q2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkKHN0ZDo6b3B0aW9uYWw8Ym9v
bD4gY2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkKSB7IG1fY2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVk
ID0gY2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkOyB9CisgICAgYm9vbCBpc0NhcHRpdmVQb3J0YWxN
b2RlRXhwbGljaXRseVNldCgpIGNvbnN0IHsgcmV0dXJuICEhbV9jYXB0aXZlUG9ydGFsTW9kZUVu
YWJsZWQ7IH0KIAogICAgIFdlYkNvcmU6Ok1vdXNlRXZlbnRQb2xpY3kgbW91c2VFdmVudFBvbGlj
eSgpIGNvbnN0IHsgcmV0dXJuIG1fbW91c2VFdmVudFBvbGljeTsgfQogICAgIHZvaWQgc2V0TW91
c2VFdmVudFBvbGljeShXZWJDb3JlOjpNb3VzZUV2ZW50UG9saWN5IHBvbGljeSkgeyBtX21vdXNl
RXZlbnRQb2xpY3kgPSBwb2xpY3k7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCmluZGV4IDczM2E1MTJkYTBiZWI1ZDE0MWVh
MjY4OTNkOTZmYjdkODBmNmFkZGEuLjViNmUzMWRmYmVjNzhiNjEzMDVkYTdiZmNlZjJhYzViYzFh
YzBhZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nl
c3NQb29sQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJv
Y2Vzc1Bvb2xDb2NvYS5tbQpAQCAtMjYsNiArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAj
aW1wb3J0ICJXZWJQcm9jZXNzUG9vbC5oIgogCisjaW1wb3J0ICJBUElOYXZpZ2F0aW9uLmgiCiAj
aW1wb3J0ICJBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZXMuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxp
dHlTdXBwb3J0U1BJLmgiCiAjaW1wb3J0ICJDb29raWVTdG9yYWdlVXRpbHNDRi5oIgpAQCAtMTI3
LDYgKzEyOCw3IEBAIE5TU3RyaW5nICpXZWJLaXRKU0NGVExKSVRFbmFibGVkRGVmYXVsdHNLZXkg
PSBAIldlYktpdEpTQ0ZUTEpJVEVuYWJsZWREZWZhdWx0c0tlCiBzdGF0aWMgTlNTdHJpbmcgKldl
YktpdEFwcGxpY2F0aW9uRGlkQ2hhbmdlQWNjZXNzaWJpbGl0eUVuaGFuY2VkVXNlckludGVyZmFj
ZU5vdGlmaWNhdGlvbiA9IEAiTlNBcHBsaWNhdGlvbkRpZENoYW5nZUFjY2Vzc2liaWxpdHlFbmhh
bmNlZFVzZXJJbnRlcmZhY2VOb3RpZmljYXRpb24iOwogc3RhdGljIENGU3RyaW5nUmVmIEFwcGxl
Q29sb3JQcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb24gPSBDRlNUUigiQXBwbGVDb2xvclBy
ZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbiIpOwogI2VuZGlmCitzdGF0aWMgY29uc3QgY2hh
ciogY29uc3QgV2ViS2l0Q2FwdGl2ZVBvcnRhbE1vZGVDaGFuZ2VkTm90aWZpY2F0aW9uID0gIldl
YktpdENhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZCI7CiAKIHN0YXRpYyBOU1N0cmluZyAqIGNvbnN0
IFdlYktpdFN1cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyRGVmYXVsdHNLZXkgPSBAIldlYktp
dFN1cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyIjsKIApAQCAtMTgyLDYgKzE4NCwxMiBAQCBz
dGF0aWMgdm9pZCByZWdpc3RlclVzZXJEZWZhdWx0c0lmTmVlZGVkKCkKICAgICBbW05TVXNlckRl
ZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSByZWdpc3RlckRlZmF1bHRzOnJlZ2lzdHJhdGlv
bkRpY3Rpb25hcnldOwogfQogCitzdGF0aWMgc3RkOjpvcHRpb25hbDxib29sPiYgY2FjaGVkQ2Fw
dGl2ZVBvcnRhbE1vZGVFbmFibGVkR2xvYmFsbHkoKQoreworICAgIHN0YXRpYyBzdGQ6Om9wdGlv
bmFsPGJvb2w+IGNhY2hlZENhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZEdsb2JhbGx5OworICAgIHJl
dHVybiBjYWNoZWRDYXB0aXZlUG9ydGFsTW9kZUVuYWJsZWRHbG9iYWxseTsKK30KKwogdm9pZCBX
ZWJQcm9jZXNzUG9vbDo6dXBkYXRlUHJvY2Vzc1N1cHByZXNzaW9uU3RhdGUoKQogewogICAgIFdl
YnNpdGVEYXRhU3RvcmU6OmZvckVhY2hXZWJzaXRlRGF0YVN0b3JlKFtlbmFibGVkID0gcHJvY2Vz
c1N1cHByZXNzaW9uRW5hYmxlZCgpXSAoV2Vic2l0ZURhdGFTdG9yZSYgZGF0YVN0b3JlKSB7CkBA
IC05MzcsMTUgKzk0NSwzOCBAQCBpbnQgd2ViUHJvY2Vzc1Rocm91Z2hwdXRRT1MoKQogICAgIHJl
dHVybiBxb3M7CiB9CiAKK3ZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmNhcHRpdmVQb3J0YWxNb2RlU3Rh
dGVDaGFuZ2VkKCkKK3sKKyAgICBjYWNoZWRDYXB0aXZlUG9ydGFsTW9kZUVuYWJsZWRHbG9iYWxs
eSgpID0gc3RkOjpudWxsb3B0OworICAgIGF1dG8gaXNOb3dFbmFibGVkID0gY2FwdGl2ZVBvcnRh
bE1vZGVFbmFibGVkQnlTeXN0ZW0oKTsKKworICAgIFdFQlBST0NFU1NQT09MX1JFTEVBU0VfTE9H
KExvYWRpbmcsICJXZWJQcm9jZXNzUG9vbDo6Y2FwdGl2ZVBvcnRhbE1vZGVTdGF0ZUNoYW5nZWQo
KSBpc05vd0VuYWJsZWQ9JWQiLCBpc05vd0VuYWJsZWQpOworCisgICAgZm9yIChhdXRvJiBwcm9j
ZXNzIDogbV9wcm9jZXNzZXMpIHsKKyAgICAgICAgYm9vbCBwcm9jZXNzSGFzQ2FwdGl2ZVBvcnRh
bE1vZGVFbmFibGVkID0gcHJvY2Vzcy0+Y2FwdGl2ZVBvcnRhbE1vZGUoKSA9PSBXZWJQcm9jZXNz
UHJveHk6OkNhcHRpdmVQb3J0YWxNb2RlOjpFbmFibGVkOworICAgICAgICBpZiAocHJvY2Vzc0hh
c0NhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZCA9PSBpc05vd0VuYWJsZWQpCisgICAgICAgICAgICBj
b250aW51ZTsKKworICAgICAgICBmb3IgKGF1dG8mIHBhZ2UgOiBwcm9jZXNzLT5wYWdlcygpKSB7
CisgICAgICAgICAgICAvLyBXaGVuIHRoZSBjYXB0aXZlIHBvcnRhbCBtb2RlIGNoYW5nZXMgZ2xv
YmFsbHkgYXQgc3lzdGVtIGxldmVsLCB3ZSByZWxvYWQgZXZlcnkgcGFnZSB0aGF0IHJlbGllZCBv
biB0aGUgc3lzdGVtIHNldHRpbmcgKHJhdGhlcgorICAgICAgICAgICAgLy8gdGhhbiBiZWluZyBl
eHBsaWNpdGx5IG9wdGVkIGluL291dCBieSB0aGUgY2xpZW50IGFwcCBhdCBuYXZpZ2F0aW9uIG9y
IFBhZ2VDb25maWd1cmF0aW9uIGxldmVsKS4KKyAgICAgICAgICAgIGlmIChwYWdlLT5pc0NhcHRp
dmVQb3J0YWxNb2RlRXhwbGljaXRseVNldCgpKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOwor
CisgICAgICAgICAgICBXRUJQUk9DRVNTUE9PTF9SRUxFQVNFX0xPRyhMb2FkaW5nLCAiV2ViUHJv
Y2Vzc1Bvb2w6OmNhcHRpdmVQb3J0YWxNb2RlU3RhdGVDaGFuZ2VkKCkgUmVsb2FkaW5nIHBhZ2Ug
d2l0aCBwYWdlUHJveHlJRD0lIiBQUkl1NjQgIiBkdWUgdG8gY2FwdGl2ZSBwb3J0YWwgbW9kZSBj
aGFuZ2UiLCBwYWdlLT5pZGVudGlmaWVyKCkudG9VSW50NjQoKSk7CisgICAgICAgICAgICBwYWdl
LT5yZWxvYWQoeyB9KTsKKyAgICAgICAgfQorICAgIH0KK30KKwogYm9vbCBjYXB0aXZlUG9ydGFs
TW9kZUVuYWJsZWRCeVN5c3RlbSgpCiB7Ci0gICAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8Ym9vbD4g
Y2FjaGVkQ2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkR2xvYmFsbHk7Ci0gICAgLy8gRklYTUU6IFdl
IHNob3VsZCBpbnZhbGlkYXRlIHRoZSBjYWNoZWQgdmFsdWUgd2hlbiB0aGUgTlNVc2VyRGVmYXVs
dCBjaGFuZ2VzLgotICAgIGlmICghY2FjaGVkQ2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkR2xvYmFs
bHkpIHsKKyAgICBhdXRvJiBjYWNoZWRTdGF0ZSA9IGNhY2hlZENhcHRpdmVQb3J0YWxNb2RlRW5h
YmxlZEdsb2JhbGx5KCk7CisgICAgaWYgKCFjYWNoZWRTdGF0ZSkgewogICAgICAgICAvLyBGSVhN
RTogVXNpbmcgTlNVc2VyRGVmYXVsdHMgaXMgYSB0ZW1wb3Jhcnkgd29ya2Fyb3VuZC4gVGhpcyBz
ZXR0aW5nIHNob3VsZCBiZSBzdG9yZWQgZWxzZXdoZXJlIChUQ0M/KS4KLSAgICAgICAgY2FjaGVk
Q2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkR2xvYmFsbHkgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5k
YXJkVXNlckRlZmF1bHRzXSBib29sRm9yS2V5OkAiV2ViS2l0Q2FwdGl2ZVBvcnRhbE1vZGVFbmFi
bGVkIl07CisgICAgICAgIGNhY2hlZFN0YXRlID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVz
ZXJEZWZhdWx0c10gYm9vbEZvcktleTpbTlNTdHJpbmcgc3RyaW5nV2l0aFVURjhTdHJpbmc6V2Vi
S2l0Q2FwdGl2ZVBvcnRhbE1vZGVDaGFuZ2VkTm90aWZpY2F0aW9uXV07CiAgICAgfQotICAgIHJl
dHVybiAqY2FjaGVkQ2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkR2xvYmFsbHk7CisgICAgcmV0dXJu
ICpjYWNoZWRTdGF0ZTsKIH0KIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC0xMDE1LDYg
KzEwNDYsOSBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQo
Y29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZwogICAgIGlmIChhdXRvIHdlYkF1dGhu
UHJvY2VzcyA9IFdlYkF1dGhuUHJvY2Vzc1Byb3h5OjpzaW5nbGV0b25JZkNyZWF0ZWQoKSkKICAg
ICAgICAgd2ViQXV0aG5Qcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJBdXRoblByb2Nlc3M6Ok5v
dGlmeVByZWZlcmVuY2VzQ2hhbmdlZChkb21haW4sIGtleSwgZW5jb2RlZFZhbHVlKSwgMCk7CiAj
ZW5kaWYKKworICAgIGlmIChrZXkgPT0gV2ViS2l0Q2FwdGl2ZVBvcnRhbE1vZGVDaGFuZ2VkTm90
aWZpY2F0aW9uKQorICAgICAgICBjYXB0aXZlUG9ydGFsTW9kZVN0YXRlQ2hhbmdlZCgpOwogfQog
I2VuZGlmIC8vIEVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBhYTQ3YjE3NDJhYjFmYjkxMmE0M2I1Y2IyZjEx
ODVmODkwMTUxNmFjLi5jYzNiMDdhNWM1YzgxMzM5NjlmMDBmMGMzM2Y0Yjg0NjVlYzc2MjRlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTg2Miw3ICs4NjIs
OSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6bGF1bmNoUHJvY2Vzcyhjb25zdCBSZWdpc3RyYWJsZURv
bWFpbiYgcmVnaXN0cmFibGVEb21haW4sIFBybwogICAgICAgICBtX3Byb2Nlc3MgPSByZWxhdGVk
UGFnZS0+ZW5zdXJlUnVubmluZ1Byb2Nlc3MoKTsKICAgICBlbHNlCiAgICAgICAgIG1fcHJvY2Vz
cyA9IHByb2Nlc3NQb29sLnByb2Nlc3NGb3JSZWdpc3RyYWJsZURvbWFpbihtX3dlYnNpdGVEYXRh
U3RvcmUuZ2V0KCksIHJlZ2lzdHJhYmxlRG9tYWluLCBzaG91bGRFbmFibGVDYXB0aXZlUG9ydGFs
TW9kZSgpID8gV2ViUHJvY2Vzc1Byb3h5OjpDYXB0aXZlUG9ydGFsTW9kZTo6RW5hYmxlZCA6IFdl
YlByb2Nlc3NQcm94eTo6Q2FwdGl2ZVBvcnRhbE1vZGU6OkRpc2FibGVkKTsKKwogICAgIG1faGFz
UnVubmluZ1Byb2Nlc3MgPSB0cnVlOworICAgIG1faXNDYXB0aXZlUG9ydGFsTW9kZUV4cGxpY2l0
bHlTZXQgPSBtX2NvbmZpZ3VyYXRpb24tPmlzQ2FwdGl2ZVBvcnRhbE1vZGVFeHBsaWNpdGx5U2V0
KCk7CiAKICAgICBtX3Byb2Nlc3MtPmFkZEV4aXN0aW5nV2ViUGFnZSgqdGhpcywgV2ViUHJvY2Vz
c1Byb3h5OjpCZWdpbnNVc2luZ0RhdGFTdG9yZTo6WWVzKTsKICAgICBhZGRBbGxNZXNzYWdlUmVj
ZWl2ZXJzKCk7CkBAIC0zNDUwLDYgKzM0NTIsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cmVjZWl2
ZWROYXZpZ2F0aW9uUG9saWN5RGVjaXNpb24oUG9saWN5QWN0aW9uIHBvbGljeUFjdGlvbiwgQQog
ICAgICAgICB9CiAgICAgfQogCisgICAgbV9pc0NhcHRpdmVQb3J0YWxNb2RlRXhwbGljaXRseVNl
dCA9IHBvbGljaWVzID8gcG9saWNpZXMtPmlzQ2FwdGl2ZVBvcnRhbE1vZGVFeHBsaWNpdGx5U2V0
KCkgOiBtX2NvbmZpZ3VyYXRpb24tPmlzQ2FwdGl2ZVBvcnRhbE1vZGVFeHBsaWNpdGx5U2V0KCk7
CiAgICAgYXV0byBjYXB0aXZlUG9ydGFsTW9kZSA9IChwb2xpY2llcyA/IHBvbGljaWVzLT5jYXB0
aXZlUG9ydGFsTW9kZUVuYWJsZWQoKSA6IHNob3VsZEVuYWJsZUNhcHRpdmVQb3J0YWxNb2RlKCkp
ID8gV2ViUHJvY2Vzc1Byb3h5OjpDYXB0aXZlUG9ydGFsTW9kZTo6RW5hYmxlZCA6IFdlYlByb2Nl
c3NQcm94eTo6Q2FwdGl2ZVBvcnRhbE1vZGU6OkRpc2FibGVkOwogICAgIHByb2Nlc3MoKS5wcm9j
ZXNzUG9vbCgpLnByb2Nlc3NGb3JOYXZpZ2F0aW9uKCp0aGlzLCAqbmF2aWdhdGlvbiwgc291cmNl
UHJvY2Vzcy5jb3B5UmVmKCksIHNvdXJjZVVSTCwgcHJvY2Vzc1N3YXBSZXF1ZXN0ZWRCeUNsaWVu
dCwgY2FwdGl2ZVBvcnRhbE1vZGUsIGZyYW1lSW5mbywgV1RGTW92ZSh3ZWJzaXRlRGF0YVN0b3Jl
KSwgW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBSZWYgeyAqdGhpcyB9LCBwb2xpY3lBY3Rpb24sIG5h
dmlnYXRpb24gPSBSZWYgeyAqbmF2aWdhdGlvbiB9LCBuYXZpZ2F0aW9uQWN0aW9uID0gV1RGTW92
ZShuYXZpZ2F0aW9uQWN0aW9uKSwgc291cmNlUHJvY2VzcyA9IHNvdXJjZVByb2Nlc3MuY29weVJl
ZigpLAogICAgICAgICBwb2xpY2llcyA9IFdURk1vdmUocG9saWNpZXMpLCBzZW5kZXIgPSBXVEZN
b3ZlKHNlbmRlciksIHByb2Nlc3NTd2FwUmVxdWVzdGVkQnlDbGllbnRdIChSZWY8V2ViUHJvY2Vz
c1Byb3h5PiYmIHByb2Nlc3NGb3JOYXZpZ2F0aW9uLCBTdXNwZW5kZWRQYWdlUHJveHkqIGRlc3Rp
bmF0aW9uU3VzcGVuZGVkUGFnZSwgY29uc3QgU3RyaW5nJiByZWFzb24pIG11dGFibGUgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA1YTgzMmU1NWFjYmExODliMzli
OWU4OTdjYzFjYTE4YjdiNDg0NTU1Li4zNDcwYzhhODMwNzc5ODliNmUyNTQ3N2UwY2Q5MDJlZGQ2
MTg3ZmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtNDk2LDYg
KzQ5Niw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgYWRkUHJldmlvdXNseVZpc2l0ZWRQYXRoKGNv
bnN0IFN0cmluZyYpOwogCisgICAgYm9vbCBpc0NhcHRpdmVQb3J0YWxNb2RlRXhwbGljaXRseVNl
dCgpIGNvbnN0IHsgcmV0dXJuIG1faXNDYXB0aXZlUG9ydGFsTW9kZUV4cGxpY2l0bHlTZXQ7IH0K
ICAgICBib29sIHNob3VsZEVuYWJsZUNhcHRpdmVQb3J0YWxNb2RlKCkgY29uc3Q7CiAKICNpZiBF
TkFCTEUoREFUQV9ERVRFQ1RJT04pCkBAIC0zMTM5LDYgKzMxNDAsNyBAQCBwcml2YXRlOgogICAg
IGJvb2wgbV9sYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZCB7IHRydWUgfTsKICAgICBib29s
IG1faXNSdW5uaW5nTW9kYWxKYXZhU2NyaXB0RGlhbG9nIHsgZmFsc2UgfTsKICAgICBib29sIG1f
aXNTdXNwZW5kZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9pc0NhcHRpdmVQb3J0YWxNb2RlRXhw
bGljaXRseVNldCB7IGZhbHNlIH07CiAKICAgICBzdGQ6Om9wdGlvbmFsPFByaXZhdGVDbGlja01l
YXN1cmVtZW50QW5kTWV0YWRhdGE+IG1fcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCmluZGV4IGE5NDM4YWUzZGIxYmFjNDUz
NWYxZTkyZmUyMGViYzFmODg5YTcyNDAuLjNiNDMwM2IyMTQ1MmYzNTdjYmY2YzJmODU5N2VjNDFl
NmMwY2E5MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
b29sLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaApAQCAt
NTQ4LDYgKzU0OCw4IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHJlZ2lzdGVyTm90aWZpY2F0aW9u
T2JzZXJ2ZXJzKCk7CiAgICAgdm9pZCB1bnJlZ2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKCk7
CisKKyAgICB2b2lkIGNhcHRpdmVQb3J0YWxNb2RlU3RhdGVDaGFuZ2VkKCk7CiAjZW5kaWYKIAog
ICAgIHZvaWQgc2V0QXBwbGljYXRpb25Jc0FjdGl2ZShib29sKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>