<?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>240311</bug_id>
          
          <creation_ts>2022-05-11 10:12:18 -0700</creation_ts>
          <short_desc>REGRESSION (STP): WebSocket.bufferedAmount does not get updated in some cases</short_desc>
          <delta_ts>2022-05-18 11:40:21 -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>WebCore Misc.</component>
          <version>Safari Technology Preview</version>
          <rep_platform>All</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Roberto D&apos;Auria">roberto</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>achristensen</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>toyoshim</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
    
    <cc>yutak</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1868167</commentid>
    <comment_count>0</comment_count>
    <who name="Roberto D&apos;Auria">roberto</who>
    <bug_when>2022-05-11 10:12:18 -0700</bug_when>
    <thetext>This is probably related to the fix implemented for https://bugs.webkit.org/show_bug.cgi?id=235707.

Context:

The M-Lab team maintains a WebSocket-based network measurement client, https://speed.measurementlab.net/ (and elsewhere) which measures the maximum TCP throughput of the user’s Internet connection. The upload throughput measurement sends repeated messages over a WebSocket connection for 10 seconds. It uses bufferedAmount to monitor the backlog of untransmitted data. The goal is to always have some data ready and waiting to be transmitted but not so much data that the buffer overflows or takes too long to drain at the end of the test.


Overview:

We are testing the patch above, which makes the update of bufferedAmount synchronous, on the latest (version 144) Safari Technology Preview, and it looks like it might have introduced a significant regression. On some machines (more details below) bufferedAmount stops being updated after just a few writes, so our client stops sending data. Is it possible that bufferedAmount is not being decremented correctly in all the possible places in the code, or the data isn&apos;t actually sent over the network anymore for some reason?


Additional details:

The testing was done with the the code at https://github.com/m-lab/ndt7-js/blob/main/src/ndt7-upload-worker.js#L78 with added debugging logs around sock.send():

console.log(&quot;desired buffer: &quot; + desiredBuffer + &quot; - bufferedAmount: &quot; + sock.bufferedAmount);
if (sock.bufferedAmount &lt; desiredBuffer) {
         console.log(&quot;Sending &quot; + data.length + &quot; bytes&quot;);
         sock.send(data);
         console.log(&quot;Sent&quot;);
         total += data.length;
}

The very first calls to send() work normally. After flushing the buffer at least once (I can see bufferedAmount going down to zero), bufferedAmount reaches the desiredBuffer and then it’s never decremented again for the whole duration of the measurement -- 10 seconds. From the logs attached you can also see that NumBytes (total number of bytes sent) stays at 64KB and does not increase anymore.

This code works as intended on Safari stable (except for the sporadic crashes that caused us to report the original bug linked above) and every other major browser.

This new issue affects the speedtest at https://speed.measurementlab.net and Google&apos;s own speedtest client in search pages (OneBox), both based on websockets and the ndt7 protocol. Both of them report extremely low upload rates due to no new data being sent after the initial few milliseconds, matching what we observed in our testing. We believe that including that change as-is in the next Safari release will cause problems to all the integrations of the ndt7 speedtest protocol and everyone else relying on bufferedAmount to measure the backlog.

We have noticed differences in behavior depending on the hardware this was tested on:

2019 iMac 8-Core Intel i9, 64GB ram, MacOS Monterey: Works as intended
2019 MacBook Pro 8-core Intel i9 16GB ram, MacOS Monterey: Works as intended
2018 MacBook Pro 4-core Intel i7 16GB ram, MacOS Big Sur: Never works, stops sending after a few milliseconds as described above
2020 M1 MacBook Air, 16GB ram, MacOS Monterey: Works as intended when the tab running the measurement is in the foreground, stops sending when the tab is in the background. This is the most puzzling finding, but it could be replicated very consistently

Each test was run on a different network connection. Link speed does not seem to make a difference. Running the sender loop on the main thread vs a dedicated Web Worker does not seem to make any difference either.


Console logs, with comments added, collected on the 2018 MacBook Pro running Safari Technology Preview 144:

[Log] Upload started 
[Log] desired buffer: 57344 - bufferedAmount: 0 

First calls to send():

[Log] Sending 8192 bytes 
[Log] Sent 
[Log] desired buffer: 57344 - bufferedAmount: 8192 
[Log] Sending 8192 bytes 
[Log] Sent 
[Log] desired buffer: 57344 - bufferedAmount: 16384 
[Log] Sending 8192 bytes 
[Log] Sent 
[Log] desired buffer: 57344 - bufferedAmount: 24576 
[Log] Sending 8192 bytes 
[Log] Sent 
[Log] desired buffer: 57344 - bufferedAmount: 32768 
[Log] Sending 8192 bytes 
[Log] Sent 
[Log] desired buffer: 57344 - bufferedAmount: 40960 
[Log] Sending 8192 bytes 
[Log] Sent 
[Log] desired buffer: 57344 - bufferedAmount: 49152 
[Log] Sending 8192 bytes 
[Log] Sent 
[Log] desired buffer: 57344 - bufferedAmount: 57344 

bufferedAmount is decremented for the first time here:

[Log] desired buffer: 57344 - bufferedAmount: 24600 
[Log] Sending 8192 bytes 
[Log] Sent 
[Log] desired buffer: 57344 - bufferedAmount: 0 

After this point, bufferedAmount is not decremented anymore, as if no data is being sent over the network:

[Log] Sending 8192 bytes 
[Log] Sent 
[Log] desired buffer: 57344 - bufferedAmount: 8192 
[Log] Sending 8192 bytes 
[Log] Sent 
[Log] desired buffer: 57344 - bufferedAmount: 16384 
[Log] Sending 8192 bytes 
[Log] Sent 
[Log] desired buffer: 57344 - bufferedAmount: 24576 
[Log] Sending 8192 bytes 
[Log] Sent 
[Log] desired buffer: 57344 - bufferedAmount: 32768 
[Log] Sending 8192 bytes 
[Log] Sent 
[Log] desired buffer: 57344 - bufferedAmount: 40960 
[Log] Sending 8192 bytes 
[Log] Sent 
[Log] desired buffer: 57344 - bufferedAmount: 49152 
[Log] Sending 8192 bytes 
[Log] Sent 
[Log] desired buffer: 57344 - bufferedAmount: 57344 

From here on the client stops sending, since bufferedAmount == desiredBuffer. As a result, no new send() happens until the end of the 10-second measurement interval. What follows are just periodic measurement results which continue to decrease since no new data is sent:

[Log] Server-side measurement:  \&apos;96 \{ConnectionInfo: \{Client: &quot;&lt;redacted&gt;:52361&quot;, Server: &quot;149.20.5.88:443&quot;, UUID: &quot;&lt;redacted&gt;&quot;\}, BBRInfo: Object, TCPInfo: Object\} 
\{ConnectionInfo: \{Client: &quot;&lt;redacted&gt;:52361&quot;, Server: &quot;149.20.5.88:443&quot;, UUID: &quot;&lt;redacted&gt;&quot;\}, BBRInfo: Object, TCPInfo: Object\}Object\
[Log] desired buffer: 57344 - bufferedAmount: 57344 
[Log] Client-side measurement:  \&apos;96 \{ElapsedTime: 0.253, NumBytes: 65536, MeanClientMbps: 2.072284584980237\} 
[Log] desired buffer: 57344 - bufferedAmount: 57344 
[Log] Client-side measurement:  \&apos;96 \{ElapsedTime: 0.507, NumBytes: 65536, MeanClientMbps: 1.0340986193293884\} 
[Log] desired buffer: 57344 - bufferedAmount: 57344 
[Log] Server-side measurement:  \&apos;96 \{ConnectionInfo: \{Client: &quot;&lt;redacted&gt;:52361&quot;, Server: &quot;149.20.5.88:443&quot;, UUID: &quot;&lt;redacted&gt;&quot;\}, BBRInfo: Object, TCPInfo: Object\} 
\{ConnectionInfo: \{Client: &quot;&lt;redacted&gt;:52361&quot;, Server: &quot;149.20.5.88:443&quot;, UUID: &quot;&lt;redacted&gt;&quot;\}, BBRInfo: Object, TCPInfo: Object\}Object\
[Log] desired buffer: 57344 - bufferedAmount: 57344 
[Log] Client-side measurement:  \&apos;96 \{ElapsedTime: 0.759, NumBytes: 65536, MeanClientMbps: 0.6907615283267456\} 
[Log] desired buffer: 57344 - bufferedAmount: 57344 
[Log] Server-side measurement:  \&apos;96 \{ConnectionInfo: \{Client: &quot;&lt;redacted&gt;:52361&quot;, Server: &quot;149.20.5.88:443&quot;, UUID: &quot;&lt;redacted&gt;&quot;\}, BBRInfo: Object, TCPInfo: Object\} 

(... snip ...)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1868169</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-05-11 10:16:12 -0700</bug_when>
    <thetext>&lt;rdar://problem/93111593&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1868913</commentid>
    <comment_count>2</comment_count>
      <attachid>459327</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2022-05-13 16:34:23 -0700</bug_when>
    <thetext>Created attachment 459327
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1868914</commentid>
    <comment_count>3</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2022-05-13 16:35:41 -0700</bug_when>
    <thetext>Thanks for the report, Roberto.  Unfortunately, this means I need to restore the status quo on Big Sur, but fortunately newer OSes have been fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1869193</commentid>
    <comment_count>4</comment_count>
    <who name="Roberto D&apos;Auria">roberto</who>
    <bug_when>2022-05-16 05:00:39 -0700</bug_when>
    <thetext>Thank you for looking into this!

Have you had a chance to verify the background vs foreground behavior on MacOS Monterey, too? It behaves the same as on Big Sur, but only when the tab running the send loop does not have focus.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1869289</commentid>
    <comment_count>5</comment_count>
      <attachid>459433</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2022-05-16 09:59:09 -0700</bug_when>
    <thetext>Created attachment 459433
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1869323</commentid>
    <comment_count>6</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2022-05-16 10:56:54 -0700</bug_when>
    <thetext>Roberto, I can&apos;t reproduce the background vs foreground issue on Monterey on my m1 MacBook Air with 16GB of ram.  Maybe I&apos;m misunderstanding something, but I&apos;m going to https://speed.measurementlab.net/#/ then starting the speed test and switching to another tab or minimizing Safari, and I see no difference.  It&apos;s definitely a different issue than the one this bug is fixing, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1869336</commentid>
    <comment_count>7</comment_count>
      <attachid>459439</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2022-05-16 11:21:00 -0700</bug_when>
    <thetext>Created attachment 459439
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1869377</commentid>
    <comment_count>8</comment_count>
    <who name="Roberto D&apos;Auria">roberto</who>
    <bug_when>2022-05-16 12:41:50 -0700</bug_when>
    <thetext>The procedure is the correct one, but we&apos;re having some trouble replicating it ourselves right now. I&apos;ll open a separate issue if it happens again and I can figure out how to replicate it more consistently.

It&apos;s also possible that it can happen on Safari stable too, but rarely enough that we never noticed. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1869394</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-05-16 13:50:37 -0700</bug_when>
    <thetext>Found 16 new test failures: imported/w3c/web-platform-tests/websockets/Send-65K-data.any.html, imported/w3c/web-platform-tests/websockets/Send-binary-65K-arraybuffer.any.html, imported/w3c/web-platform-tests/websockets/Send-binary-65K-arraybuffer.any.worker.html, imported/w3c/web-platform-tests/websockets/Send-binary-arraybuffer.any.html, imported/w3c/web-platform-tests/websockets/Send-binary-arraybuffer.any.worker.html, imported/w3c/web-platform-tests/websockets/Send-data.any.html, imported/w3c/web-platform-tests/websockets/Send-data.any.worker.html, imported/w3c/web-platform-tests/websockets/Send-paired-surrogates.any.html, imported/w3c/web-platform-tests/websockets/Send-paired-surrogates.any.worker.html, imported/w3c/web-platform-tests/websockets/Send-unicode-data.any.worker.html ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1869769</commentid>
    <comment_count>10</comment_count>
      <attachid>459512</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2022-05-17 12:55:49 -0700</bug_when>
    <thetext>Created attachment 459512
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1870084</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-05-18 11:40:18 -0700</bug_when>
    <thetext>Committed r294413 (250705@main): &lt;https://commits.webkit.org/250705@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 459512.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>459327</attachid>
            <date>2022-05-13 16:34:23 -0700</date>
            <delta_ts>2022-05-16 09:59:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-240311-20220513163423.patch</filename>
            <type>text/plain</type>
            <size>4242</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjk0MTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjJlM2I4YTI2NGU5N2Ux
M2Y3NzA1NDdiNzVjYjk0YjQ3OTBhNzY2ZS4uZGExNGE1ZmRlYTg2MTIzM2NiMzBiZGEzZjg4M2E3
NGNjNDM4NGFmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIyLTA1LTEzICBBbGV4
IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUkVHUkVT
U0lPTiAoU1RQKTogV2ViU29ja2V0LmJ1ZmZlcmVkQW1vdW50IGRvZXMgbm90IGdldCB1cGRhdGVk
IGluIHNvbWUgY2FzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTI0MDMxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgcmV2ZXJ0cyB0aGUgZnVuY3Rpb25hbCBwYXJ0IG9mIHIyOTA5OTUgZm9yIE9T
ZXMgd2hhdCBkb24ndCBoYXZlIGFuIE5TVVJMU2Vzc2lvbiBXZWJTb2NrZXQgaW1wbGVtZW50YXRp
b24gd2UgY2FuIHVzZS4KKyAgICAgICAgVGhlIHJlc3Qgb2YgcjI5MDk5NSB3YXMganVzdCBtb3Zp
bmcgVVRGLTggZW5jb2RpbmcgdG8gYSBkaWZmZXJlbnQgbG9jYXRpb24gaW4gdGhlIHBpcGVsaW5l
LCB3aGljaCBoYXMgbm8gb2JzZXJ2YWJsZSBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgSXQg
aXMgdW5mb3J0dW5hdGUsIGJ1dCBvdXIgb2xkIGltcGxlbWVudGF0aW9uIG9mIFdlYlNvY2tldHMg
dGhhdCB1c2VzIENGV3JpdGVTdHJlYW1Xcml0ZSB0aGlua3MgaXQgaGFzIHdyaXR0ZW4gaW1tZWRp
YXRlbHksCisgICAgICAgIHNvIGlmIEkgbWFrZSBTb2NrZXRTdHJlYW1IYW5kbGVJbXBsOjpwbGF0
Zm9ybVNlbmQgY2FsbCBtX2NsaWVudC5kaWRVcGRhdGVCdWZmZXJlZEFtb3VudCBldmVuIHdoZW4g
Ynl0ZXNXcml0dGVuID49IGxlbmd0aCwKKyAgICAgICAgSSBkb24ndCBoYXZlIHRoZSBidWZmZXJl
bnQgYW1vdW50IHVwZGF0ZWQgc3luY2hyb25vdXNseSBsaWtlIENocm9tZSwgRmlyZWZveCwgYW5k
IHRoZSBOU1VSTFNlc3Npb24tYmFzZWQgaW1wbGVtZW50YXRpb24gaGF2ZS4KKyAgICAgICAgSWYg
SSBsZWF2ZSBpdCBhcyBpdCBpcyBub3csIHRoZSBidWZmZXJlZCBhbW91bnQgbmV2ZXIgZ29lcyBi
YWNrIGRvd24gdG8gemVybyBzb21ldGltZXMgYWZ0ZXIgd3JpdGluZyB0byB0aGUgc3RyZWFtLgor
CisgICAgICAgIEl0IHdhcyBicm9rZW4gYmVmb3JlLCBpdCBpcyBkaWZmZXJlbnRseSBicm9rZW4g
bm93LCBhbmQgdGhpcyByZXN0b3JlcyB0aGUgc3RhdHVzIHF1byBvbiBCaWcgU3VyLiAgVGhpcyBp
cyB3aHkgd2UgY2FuJ3QgaGF2ZSBuaWNlIHRoaW5ncy4KKworICAgICAgICAqIE1vZHVsZXMvd2Vi
c29ja2V0cy9XZWJTb2NrZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0OjpzZW5k
KToKKwogMjAyMi0wNS0xMiAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KIAogICAg
ICAgICBTdG9yYWdlTWFwOjpyZW1vdmVJdGVtIG1heSBmYWlsIHRvIHJlbW92ZSBpdGVtIGZyb20g
bWFwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29j
a2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3Bw
CmluZGV4IDY5ZDJlNTQ3MzVhMzA2NDYzODRjN2VmYjdlYTY0OTg3ZWMzNDAyY2MuLmE2ODRlNjFl
ZWIwMjE5YWIxNjRhMDE0YWE0MmEwMGJkZmM0OGQzMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCkBAIC0zNTIsNyArMzUyLDggQEAgRXhj
ZXB0aW9uT3I8dm9pZD4gV2ViU29ja2V0OjpzZW5kKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKICAg
ICAgICAgcmV0dXJuIHsgfTsKICAgICB9CiAgICAgLy8gRklYTUU6IFdlYlNvY2tldENoYW5uZWwg
YWxzbyBoYXMgYSBtX2J1ZmZlcmVkQW1vdW50LiBSZW1vdmUgdGhhdCBvbmUuIFRoaXMgb25lIGlz
IHRoZSBjb3JyZWN0IG9uZSBhY2Nlc3NlZCBieSBKUy4KLSAgICBtX2J1ZmZlcmVkQW1vdW50ID0g
c2F0dXJhdGVBZGQobV9idWZmZXJlZEFtb3VudCwgdXRmOC5sZW5ndGgoKSk7CisgICAgaWYgKFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuaXNOU1VSTFNlc3Npb25XZWJT
b2NrZXRFbmFibGVkKCkpCisgICAgICAgIG1fYnVmZmVyZWRBbW91bnQgPSBzYXR1cmF0ZUFkZCht
X2J1ZmZlcmVkQW1vdW50LCB1dGY4Lmxlbmd0aCgpKTsKICAgICBBU1NFUlQobV9jaGFubmVsKTsK
ICAgICBtX2NoYW5uZWwtPnNlbmQoV1RGTW92ZSh1dGY4KSk7CiAgICAgcmV0dXJuIHsgfTsKQEAg
LTM2OSw3ICszNzAsOCBAQCBFeGNlcHRpb25Pcjx2b2lkPiBXZWJTb2NrZXQ6OnNlbmQoQXJyYXlC
dWZmZXImIGJpbmFyeURhdGEpCiAgICAgICAgIG1fYnVmZmVyZWRBbW91bnRBZnRlckNsb3NlID0g
c2F0dXJhdGVBZGQobV9idWZmZXJlZEFtb3VudEFmdGVyQ2xvc2UsIGdldEZyYW1pbmdPdmVyaGVh
ZChwYXlsb2FkU2l6ZSkpOwogICAgICAgICByZXR1cm4geyB9OwogICAgIH0KLSAgICBtX2J1ZmZl
cmVkQW1vdW50ID0gc2F0dXJhdGVBZGQobV9idWZmZXJlZEFtb3VudCwgYmluYXJ5RGF0YS5ieXRl
TGVuZ3RoKCkpOworICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJl
cygpLmlzTlNVUkxTZXNzaW9uV2ViU29ja2V0RW5hYmxlZCgpKQorICAgICAgICBtX2J1ZmZlcmVk
QW1vdW50ID0gc2F0dXJhdGVBZGQobV9idWZmZXJlZEFtb3VudCwgYmluYXJ5RGF0YS5ieXRlTGVu
Z3RoKCkpOwogICAgIEFTU0VSVChtX2NoYW5uZWwpOwogICAgIG1fY2hhbm5lbC0+c2VuZChiaW5h
cnlEYXRhLCAwLCBiaW5hcnlEYXRhLmJ5dGVMZW5ndGgoKSk7CiAgICAgcmV0dXJuIHsgfTsKQEAg
LTM4Nyw3ICszODksOCBAQCBFeGNlcHRpb25Pcjx2b2lkPiBXZWJTb2NrZXQ6OnNlbmQoQXJyYXlC
dWZmZXJWaWV3JiBhcnJheUJ1ZmZlclZpZXcpCiAgICAgICAgIG1fYnVmZmVyZWRBbW91bnRBZnRl
ckNsb3NlID0gc2F0dXJhdGVBZGQobV9idWZmZXJlZEFtb3VudEFmdGVyQ2xvc2UsIGdldEZyYW1p
bmdPdmVyaGVhZChwYXlsb2FkU2l6ZSkpOwogICAgICAgICByZXR1cm4geyB9OwogICAgIH0KLSAg
ICBtX2J1ZmZlcmVkQW1vdW50ID0gc2F0dXJhdGVBZGQobV9idWZmZXJlZEFtb3VudCwgYXJyYXlC
dWZmZXJWaWV3LmJ5dGVMZW5ndGgoKSk7CisgICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNoYXJlZEZlYXR1cmVzKCkuaXNOU1VSTFNlc3Npb25XZWJTb2NrZXRFbmFibGVkKCkpCisgICAg
ICAgIG1fYnVmZmVyZWRBbW91bnQgPSBzYXR1cmF0ZUFkZChtX2J1ZmZlcmVkQW1vdW50LCBhcnJh
eUJ1ZmZlclZpZXcuYnl0ZUxlbmd0aCgpKTsKICAgICBBU1NFUlQobV9jaGFubmVsKTsKICAgICBt
X2NoYW5uZWwtPnNlbmQoKmFycmF5QnVmZmVyVmlldy51bnNoYXJlZEJ1ZmZlcigpLCBhcnJheUJ1
ZmZlclZpZXcuYnl0ZU9mZnNldCgpLCBhcnJheUJ1ZmZlclZpZXcuYnl0ZUxlbmd0aCgpKTsKICAg
ICByZXR1cm4geyB9OwpAQCAtNDA0LDcgKzQwNyw4IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFdlYlNv
Y2tldDo6c2VuZChCbG9iJiBiaW5hcnlEYXRhKQogICAgICAgICBtX2J1ZmZlcmVkQW1vdW50QWZ0
ZXJDbG9zZSA9IHNhdHVyYXRlQWRkKG1fYnVmZmVyZWRBbW91bnRBZnRlckNsb3NlLCBnZXRGcmFt
aW5nT3ZlcmhlYWQocGF5bG9hZFNpemUpKTsKICAgICAgICAgcmV0dXJuIHsgfTsKICAgICB9Ci0g
ICAgbV9idWZmZXJlZEFtb3VudCA9IHNhdHVyYXRlQWRkKG1fYnVmZmVyZWRBbW91bnQsIGJpbmFy
eURhdGEuc2l6ZSgpKTsKKyAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVh
dHVyZXMoKS5pc05TVVJMU2Vzc2lvbldlYlNvY2tldEVuYWJsZWQoKSkKKyAgICAgICAgbV9idWZm
ZXJlZEFtb3VudCA9IHNhdHVyYXRlQWRkKG1fYnVmZmVyZWRBbW91bnQsIGJpbmFyeURhdGEuc2l6
ZSgpKTsKICAgICBBU1NFUlQobV9jaGFubmVsKTsKICAgICBtX2NoYW5uZWwtPnNlbmQoYmluYXJ5
RGF0YSk7CiAgICAgcmV0dXJuIHsgfTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>459433</attachid>
            <date>2022-05-16 09:59:09 -0700</date>
            <delta_ts>2022-05-16 11:20:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-240311-20220516095908.patch</filename>
            <type>text/plain</type>
            <size>4414</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjk0MTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjJlM2I4YTI2NGU5N2Ux
M2Y3NzA1NDdiNzVjYjk0YjQ3OTBhNzY2ZS4uZGExNGE1ZmRlYTg2MTIzM2NiMzBiZGEzZjg4M2E3
NGNjNDM4NGFmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIyLTA1LTEzICBBbGV4
IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUkVHUkVT
U0lPTiAoU1RQKTogV2ViU29ja2V0LmJ1ZmZlcmVkQW1vdW50IGRvZXMgbm90IGdldCB1cGRhdGVk
IGluIHNvbWUgY2FzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTI0MDMxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgcmV2ZXJ0cyB0aGUgZnVuY3Rpb25hbCBwYXJ0IG9mIHIyOTA5OTUgZm9yIE9T
ZXMgd2hhdCBkb24ndCBoYXZlIGFuIE5TVVJMU2Vzc2lvbiBXZWJTb2NrZXQgaW1wbGVtZW50YXRp
b24gd2UgY2FuIHVzZS4KKyAgICAgICAgVGhlIHJlc3Qgb2YgcjI5MDk5NSB3YXMganVzdCBtb3Zp
bmcgVVRGLTggZW5jb2RpbmcgdG8gYSBkaWZmZXJlbnQgbG9jYXRpb24gaW4gdGhlIHBpcGVsaW5l
LCB3aGljaCBoYXMgbm8gb2JzZXJ2YWJsZSBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgSXQg
aXMgdW5mb3J0dW5hdGUsIGJ1dCBvdXIgb2xkIGltcGxlbWVudGF0aW9uIG9mIFdlYlNvY2tldHMg
dGhhdCB1c2VzIENGV3JpdGVTdHJlYW1Xcml0ZSB0aGlua3MgaXQgaGFzIHdyaXR0ZW4gaW1tZWRp
YXRlbHksCisgICAgICAgIHNvIGlmIEkgbWFrZSBTb2NrZXRTdHJlYW1IYW5kbGVJbXBsOjpwbGF0
Zm9ybVNlbmQgY2FsbCBtX2NsaWVudC5kaWRVcGRhdGVCdWZmZXJlZEFtb3VudCBldmVuIHdoZW4g
Ynl0ZXNXcml0dGVuID49IGxlbmd0aCwKKyAgICAgICAgSSBkb24ndCBoYXZlIHRoZSBidWZmZXJl
bnQgYW1vdW50IHVwZGF0ZWQgc3luY2hyb25vdXNseSBsaWtlIENocm9tZSwgRmlyZWZveCwgYW5k
IHRoZSBOU1VSTFNlc3Npb24tYmFzZWQgaW1wbGVtZW50YXRpb24gaGF2ZS4KKyAgICAgICAgSWYg
SSBsZWF2ZSBpdCBhcyBpdCBpcyBub3csIHRoZSBidWZmZXJlZCBhbW91bnQgbmV2ZXIgZ29lcyBi
YWNrIGRvd24gdG8gemVybyBzb21ldGltZXMgYWZ0ZXIgd3JpdGluZyB0byB0aGUgc3RyZWFtLgor
CisgICAgICAgIEl0IHdhcyBicm9rZW4gYmVmb3JlLCBpdCBpcyBkaWZmZXJlbnRseSBicm9rZW4g
bm93LCBhbmQgdGhpcyByZXN0b3JlcyB0aGUgc3RhdHVzIHF1byBvbiBCaWcgU3VyLiAgVGhpcyBp
cyB3aHkgd2UgY2FuJ3QgaGF2ZSBuaWNlIHRoaW5ncy4KKworICAgICAgICAqIE1vZHVsZXMvd2Vi
c29ja2V0cy9XZWJTb2NrZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0OjpzZW5k
KToKKwogMjAyMi0wNS0xMiAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KIAogICAg
ICAgICBTdG9yYWdlTWFwOjpyZW1vdmVJdGVtIG1heSBmYWlsIHRvIHJlbW92ZSBpdGVtIGZyb20g
bWFwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29j
a2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3Bw
CmluZGV4IDY5ZDJlNTQ3MzVhMzA2NDYzODRjN2VmYjdlYTY0OTg3ZWMzNDAyY2MuLmQ4ODZlNDE1
YmU1MjhjMzI1Zjk0M2Q2NzJjYjBiMzg1ZjE3YWJiMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCkBAIC0zNTIsNyArMzUyLDEwIEBAIEV4
Y2VwdGlvbk9yPHZvaWQ+IFdlYlNvY2tldDo6c2VuZChjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiAg
ICAgICAgIHJldHVybiB7IH07CiAgICAgfQogICAgIC8vIEZJWE1FOiBXZWJTb2NrZXRDaGFubmVs
IGFsc28gaGFzIGEgbV9idWZmZXJlZEFtb3VudC4gUmVtb3ZlIHRoYXQgb25lLiBUaGlzIG9uZSBp
cyB0aGUgY29ycmVjdCBvbmUgYWNjZXNzZWQgYnkgSlMuCi0gICAgbV9idWZmZXJlZEFtb3VudCA9
IHNhdHVyYXRlQWRkKG1fYnVmZmVyZWRBbW91bnQsIHV0ZjgubGVuZ3RoKCkpOworI2lmIEhBVkUo
TlNVUkxTRVNTSU9OX1dFQlNPQ0tFVCkKKyAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5pc05TVVJMU2Vzc2lvbldlYlNvY2tldEVuYWJsZWQoKSkKKyAgICAg
ICAgbV9idWZmZXJlZEFtb3VudCA9IHNhdHVyYXRlQWRkKG1fYnVmZmVyZWRBbW91bnQsIHV0Zjgu
bGVuZ3RoKCkpOworI2VuZGlmCiAgICAgQVNTRVJUKG1fY2hhbm5lbCk7CiAgICAgbV9jaGFubmVs
LT5zZW5kKFdURk1vdmUodXRmOCkpOwogICAgIHJldHVybiB7IH07CkBAIC0zNjksNyArMzcyLDEw
IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFdlYlNvY2tldDo6c2VuZChBcnJheUJ1ZmZlciYgYmluYXJ5
RGF0YSkKICAgICAgICAgbV9idWZmZXJlZEFtb3VudEFmdGVyQ2xvc2UgPSBzYXR1cmF0ZUFkZCht
X2J1ZmZlcmVkQW1vdW50QWZ0ZXJDbG9zZSwgZ2V0RnJhbWluZ092ZXJoZWFkKHBheWxvYWRTaXpl
KSk7CiAgICAgICAgIHJldHVybiB7IH07CiAgICAgfQotICAgIG1fYnVmZmVyZWRBbW91bnQgPSBz
YXR1cmF0ZUFkZChtX2J1ZmZlcmVkQW1vdW50LCBiaW5hcnlEYXRhLmJ5dGVMZW5ndGgoKSk7Cisj
aWYgSEFWRShOU1VSTFNFU1NJT05fV0VCU09DS0VUKQorICAgIGlmIChSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmlzTlNVUkxTZXNzaW9uV2ViU29ja2V0RW5hYmxlZCgp
KQorICAgICAgICBtX2J1ZmZlcmVkQW1vdW50ID0gc2F0dXJhdGVBZGQobV9idWZmZXJlZEFtb3Vu
dCwgYmluYXJ5RGF0YS5ieXRlTGVuZ3RoKCkpOworI2VuZGlmCiAgICAgQVNTRVJUKG1fY2hhbm5l
bCk7CiAgICAgbV9jaGFubmVsLT5zZW5kKGJpbmFyeURhdGEsIDAsIGJpbmFyeURhdGEuYnl0ZUxl
bmd0aCgpKTsKICAgICByZXR1cm4geyB9OwpAQCAtMzg3LDcgKzM5MywxMCBAQCBFeGNlcHRpb25P
cjx2b2lkPiBXZWJTb2NrZXQ6OnNlbmQoQXJyYXlCdWZmZXJWaWV3JiBhcnJheUJ1ZmZlclZpZXcp
CiAgICAgICAgIG1fYnVmZmVyZWRBbW91bnRBZnRlckNsb3NlID0gc2F0dXJhdGVBZGQobV9idWZm
ZXJlZEFtb3VudEFmdGVyQ2xvc2UsIGdldEZyYW1pbmdPdmVyaGVhZChwYXlsb2FkU2l6ZSkpOwog
ICAgICAgICByZXR1cm4geyB9OwogICAgIH0KLSAgICBtX2J1ZmZlcmVkQW1vdW50ID0gc2F0dXJh
dGVBZGQobV9idWZmZXJlZEFtb3VudCwgYXJyYXlCdWZmZXJWaWV3LmJ5dGVMZW5ndGgoKSk7Cisj
aWYgSEFWRShOU1VSTFNFU1NJT05fV0VCU09DS0VUKQorICAgIGlmIChSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmlzTlNVUkxTZXNzaW9uV2ViU29ja2V0RW5hYmxlZCgp
KQorICAgICAgICBtX2J1ZmZlcmVkQW1vdW50ID0gc2F0dXJhdGVBZGQobV9idWZmZXJlZEFtb3Vu
dCwgYXJyYXlCdWZmZXJWaWV3LmJ5dGVMZW5ndGgoKSk7CisjZW5kaWYKICAgICBBU1NFUlQobV9j
aGFubmVsKTsKICAgICBtX2NoYW5uZWwtPnNlbmQoKmFycmF5QnVmZmVyVmlldy51bnNoYXJlZEJ1
ZmZlcigpLCBhcnJheUJ1ZmZlclZpZXcuYnl0ZU9mZnNldCgpLCBhcnJheUJ1ZmZlclZpZXcuYnl0
ZUxlbmd0aCgpKTsKICAgICByZXR1cm4geyB9OwpAQCAtNDA0LDcgKzQxMywxMCBAQCBFeGNlcHRp
b25Pcjx2b2lkPiBXZWJTb2NrZXQ6OnNlbmQoQmxvYiYgYmluYXJ5RGF0YSkKICAgICAgICAgbV9i
dWZmZXJlZEFtb3VudEFmdGVyQ2xvc2UgPSBzYXR1cmF0ZUFkZChtX2J1ZmZlcmVkQW1vdW50QWZ0
ZXJDbG9zZSwgZ2V0RnJhbWluZ092ZXJoZWFkKHBheWxvYWRTaXplKSk7CiAgICAgICAgIHJldHVy
biB7IH07CiAgICAgfQotICAgIG1fYnVmZmVyZWRBbW91bnQgPSBzYXR1cmF0ZUFkZChtX2J1ZmZl
cmVkQW1vdW50LCBiaW5hcnlEYXRhLnNpemUoKSk7CisjaWYgSEFWRShOU1VSTFNFU1NJT05fV0VC
U09DS0VUKQorICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygp
LmlzTlNVUkxTZXNzaW9uV2ViU29ja2V0RW5hYmxlZCgpKQorICAgICAgICBtX2J1ZmZlcmVkQW1v
dW50ID0gc2F0dXJhdGVBZGQobV9idWZmZXJlZEFtb3VudCwgYmluYXJ5RGF0YS5zaXplKCkpOwor
I2VuZGlmCiAgICAgQVNTRVJUKG1fY2hhbm5lbCk7CiAgICAgbV9jaGFubmVsLT5zZW5kKGJpbmFy
eURhdGEpOwogICAgIHJldHVybiB7IH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>459439</attachid>
            <date>2022-05-16 11:21:00 -0700</date>
            <delta_ts>2022-05-17 12:55:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-240311-20220516112059.patch</filename>
            <type>text/plain</type>
            <size>5365</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjk0MTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjJlM2I4YTI2NGU5N2Ux
M2Y3NzA1NDdiNzVjYjk0YjQ3OTBhNzY2ZS4uMWI2YWU4NWI4ZGY1MjM2NTkwZmU5NjFiODQzZDcy
NDIxNDZiY2YxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIyLTA1LTEzICBBbGV4
IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUkVHUkVT
U0lPTiAoU1RQKTogV2ViU29ja2V0LmJ1ZmZlcmVkQW1vdW50IGRvZXMgbm90IGdldCB1cGRhdGVk
IGluIHNvbWUgY2FzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTI0MDMxMQorCisgICAgICAgIFJldmlld2VkIGJ5IFlvdWVubiBGYWJsZXQuCisKKyAg
ICAgICAgVGhpcyByZXZlcnRzIHRoZSBmdW5jdGlvbmFsIHBhcnQgb2YgcjI5MDk5NSBmb3IgT1Nl
cyB3aGF0IGRvbid0IGhhdmUgYW4gTlNVUkxTZXNzaW9uIFdlYlNvY2tldCBpbXBsZW1lbnRhdGlv
biB3ZSBjYW4gdXNlLgorICAgICAgICBUaGUgcmVzdCBvZiByMjkwOTk1IHdhcyBqdXN0IG1vdmlu
ZyBVVEYtOCBlbmNvZGluZyB0byBhIGRpZmZlcmVudCBsb2NhdGlvbiBpbiB0aGUgcGlwZWxpbmUs
IHdoaWNoIGhhcyBubyBvYnNlcnZhYmxlIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICBJdCBp
cyB1bmZvcnR1bmF0ZSwgYnV0IG91ciBvbGQgaW1wbGVtZW50YXRpb24gb2YgV2ViU29ja2V0cyB0
aGF0IHVzZXMgQ0ZXcml0ZVN0cmVhbVdyaXRlIHRoaW5rcyBpdCBoYXMgd3JpdHRlbiBpbW1lZGlh
dGVseSwKKyAgICAgICAgc28gaWYgSSBtYWtlIFNvY2tldFN0cmVhbUhhbmRsZUltcGw6OnBsYXRm
b3JtU2VuZCBjYWxsIG1fY2xpZW50LmRpZFVwZGF0ZUJ1ZmZlcmVkQW1vdW50IGV2ZW4gd2hlbiBi
eXRlc1dyaXR0ZW4gPj0gbGVuZ3RoLAorICAgICAgICBJIGRvbid0IGhhdmUgdGhlIGJ1ZmZlcmVu
dCBhbW91bnQgdXBkYXRlZCBzeW5jaHJvbm91c2x5IGxpa2UgQ2hyb21lLCBGaXJlZm94LCBhbmQg
dGhlIE5TVVJMU2Vzc2lvbi1iYXNlZCBpbXBsZW1lbnRhdGlvbiBoYXZlLgorICAgICAgICBJZiBJ
IGxlYXZlIGl0IGFzIGl0IGlzIG5vdywgdGhlIGJ1ZmZlcmVkIGFtb3VudCBuZXZlciBnb2VzIGJh
Y2sgZG93biB0byB6ZXJvIHNvbWV0aW1lcyBhZnRlciB3cml0aW5nIHRvIHRoZSBzdHJlYW0uCisK
KyAgICAgICAgSXQgd2FzIGJyb2tlbiBiZWZvcmUsIGl0IGlzIGRpZmZlcmVudGx5IGJyb2tlbiBu
b3csIGFuZCB0aGlzIHJlc3RvcmVzIHRoZSBzdGF0dXMgcXVvIG9uIEJpZyBTdXIuICBUaGlzIGlz
IHdoeSB3ZSBjYW4ndCBoYXZlIG5pY2UgdGhpbmdzLgorCisgICAgICAgICogTW9kdWxlcy93ZWJz
b2NrZXRzL1dlYlNvY2tldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXQ6OnNlbmQp
OgorCiAyMDIyLTA1LTEyICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgogCiAgICAg
ICAgIFN0b3JhZ2VNYXA6OnJlbW92ZUl0ZW0gbWF5IGZhaWwgdG8gcmVtb3ZlIGl0ZW0gZnJvbSBt
YXAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2Nr
ZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAK
aW5kZXggNjlkMmU1NDczNWEzMDY0NjM4NGM3ZWZiN2VhNjQ5ODdlYzM0MDJjYy4uNWFiZjhmOTU3
ZjFjOWI4NmYyNDc0MjY3OTdiNmRiNTllNDI4ZDdlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAKQEAgLTM1Miw3ICszNTIsMTUgQEAgRXhj
ZXB0aW9uT3I8dm9pZD4gV2ViU29ja2V0OjpzZW5kKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKICAg
ICAgICAgcmV0dXJuIHsgfTsKICAgICB9CiAgICAgLy8gRklYTUU6IFdlYlNvY2tldENoYW5uZWwg
YWxzbyBoYXMgYSBtX2J1ZmZlcmVkQW1vdW50LiBSZW1vdmUgdGhhdCBvbmUuIFRoaXMgb25lIGlz
IHRoZSBjb3JyZWN0IG9uZSBhY2Nlc3NlZCBieSBKUy4KLSAgICBtX2J1ZmZlcmVkQW1vdW50ID0g
c2F0dXJhdGVBZGQobV9idWZmZXJlZEFtb3VudCwgdXRmOC5sZW5ndGgoKSk7CisjaWYgSEFWRShO
U1VSTFNFU1NJT05fV0VCU09DS0VUKQorICAgIGJvb2wgc2hvdWxkU3luY2hyb25vdXNseVVwZGF0
ZUJ1ZmZlcmVkQW1vdW50ID0gUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMo
KS5pc05TVVJMU2Vzc2lvbldlYlNvY2tldEVuYWJsZWQoKTsKKyNlbGlmIFBMQVRGT1JNKE1BQykK
KyAgICBib29sIHNob3VsZFN5bmNocm9ub3VzbHlVcGRhdGVCdWZmZXJlZEFtb3VudCA9IGZhbHNl
OworI2Vsc2UKKyAgICBib29sIHNob3VsZFN5bmNocm9ub3VzbHlVcGRhdGVCdWZmZXJlZEFtb3Vu
dCA9IHRydWU7CisjZW5kaWYKKyAgICBpZiAoc2hvdWxkU3luY2hyb25vdXNseVVwZGF0ZUJ1ZmZl
cmVkQW1vdW50KQorICAgICAgICBtX2J1ZmZlcmVkQW1vdW50ID0gc2F0dXJhdGVBZGQobV9idWZm
ZXJlZEFtb3VudCwgdXRmOC5sZW5ndGgoKSk7CiAgICAgQVNTRVJUKG1fY2hhbm5lbCk7CiAgICAg
bV9jaGFubmVsLT5zZW5kKFdURk1vdmUodXRmOCkpOwogICAgIHJldHVybiB7IH07CkBAIC0zNjks
NyArMzc3LDE1IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFdlYlNvY2tldDo6c2VuZChBcnJheUJ1ZmZl
ciYgYmluYXJ5RGF0YSkKICAgICAgICAgbV9idWZmZXJlZEFtb3VudEFmdGVyQ2xvc2UgPSBzYXR1
cmF0ZUFkZChtX2J1ZmZlcmVkQW1vdW50QWZ0ZXJDbG9zZSwgZ2V0RnJhbWluZ092ZXJoZWFkKHBh
eWxvYWRTaXplKSk7CiAgICAgICAgIHJldHVybiB7IH07CiAgICAgfQotICAgIG1fYnVmZmVyZWRB
bW91bnQgPSBzYXR1cmF0ZUFkZChtX2J1ZmZlcmVkQW1vdW50LCBiaW5hcnlEYXRhLmJ5dGVMZW5n
dGgoKSk7CisjaWYgSEFWRShOU1VSTFNFU1NJT05fV0VCU09DS0VUKQorICAgIGJvb2wgc2hvdWxk
U3luY2hyb25vdXNseVVwZGF0ZUJ1ZmZlcmVkQW1vdW50ID0gUnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2hhcmVkRmVhdHVyZXMoKS5pc05TVVJMU2Vzc2lvbldlYlNvY2tldEVuYWJsZWQoKTsKKyNl
bGlmIFBMQVRGT1JNKE1BQykKKyAgICBib29sIHNob3VsZFN5bmNocm9ub3VzbHlVcGRhdGVCdWZm
ZXJlZEFtb3VudCA9IGZhbHNlOworI2Vsc2UKKyAgICBib29sIHNob3VsZFN5bmNocm9ub3VzbHlV
cGRhdGVCdWZmZXJlZEFtb3VudCA9IHRydWU7CisjZW5kaWYKKyAgICBpZiAoc2hvdWxkU3luY2hy
b25vdXNseVVwZGF0ZUJ1ZmZlcmVkQW1vdW50KQorICAgICAgICBtX2J1ZmZlcmVkQW1vdW50ID0g
c2F0dXJhdGVBZGQobV9idWZmZXJlZEFtb3VudCwgYmluYXJ5RGF0YS5ieXRlTGVuZ3RoKCkpOwog
ICAgIEFTU0VSVChtX2NoYW5uZWwpOwogICAgIG1fY2hhbm5lbC0+c2VuZChiaW5hcnlEYXRhLCAw
LCBiaW5hcnlEYXRhLmJ5dGVMZW5ndGgoKSk7CiAgICAgcmV0dXJuIHsgfTsKQEAgLTM4Nyw3ICs0
MDMsMTUgQEAgRXhjZXB0aW9uT3I8dm9pZD4gV2ViU29ja2V0OjpzZW5kKEFycmF5QnVmZmVyVmll
dyYgYXJyYXlCdWZmZXJWaWV3KQogICAgICAgICBtX2J1ZmZlcmVkQW1vdW50QWZ0ZXJDbG9zZSA9
IHNhdHVyYXRlQWRkKG1fYnVmZmVyZWRBbW91bnRBZnRlckNsb3NlLCBnZXRGcmFtaW5nT3Zlcmhl
YWQocGF5bG9hZFNpemUpKTsKICAgICAgICAgcmV0dXJuIHsgfTsKICAgICB9Ci0gICAgbV9idWZm
ZXJlZEFtb3VudCA9IHNhdHVyYXRlQWRkKG1fYnVmZmVyZWRBbW91bnQsIGFycmF5QnVmZmVyVmll
dy5ieXRlTGVuZ3RoKCkpOworI2lmIEhBVkUoTlNVUkxTRVNTSU9OX1dFQlNPQ0tFVCkKKyAgICBi
b29sIHNob3VsZFN5bmNocm9ub3VzbHlVcGRhdGVCdWZmZXJlZEFtb3VudCA9IFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuaXNOU1VSTFNlc3Npb25XZWJTb2NrZXRFbmFi
bGVkKCk7CisjZWxpZiBQTEFURk9STShNQUMpCisgICAgYm9vbCBzaG91bGRTeW5jaHJvbm91c2x5
VXBkYXRlQnVmZmVyZWRBbW91bnQgPSBmYWxzZTsKKyNlbHNlCisgICAgYm9vbCBzaG91bGRTeW5j
aHJvbm91c2x5VXBkYXRlQnVmZmVyZWRBbW91bnQgPSB0cnVlOworI2VuZGlmCisgICAgaWYgKHNo
b3VsZFN5bmNocm9ub3VzbHlVcGRhdGVCdWZmZXJlZEFtb3VudCkKKyAgICAgICAgbV9idWZmZXJl
ZEFtb3VudCA9IHNhdHVyYXRlQWRkKG1fYnVmZmVyZWRBbW91bnQsIGFycmF5QnVmZmVyVmlldy5i
eXRlTGVuZ3RoKCkpOwogICAgIEFTU0VSVChtX2NoYW5uZWwpOwogICAgIG1fY2hhbm5lbC0+c2Vu
ZCgqYXJyYXlCdWZmZXJWaWV3LnVuc2hhcmVkQnVmZmVyKCksIGFycmF5QnVmZmVyVmlldy5ieXRl
T2Zmc2V0KCksIGFycmF5QnVmZmVyVmlldy5ieXRlTGVuZ3RoKCkpOwogICAgIHJldHVybiB7IH07
CkBAIC00MDQsNyArNDI4LDE1IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFdlYlNvY2tldDo6c2VuZChC
bG9iJiBiaW5hcnlEYXRhKQogICAgICAgICBtX2J1ZmZlcmVkQW1vdW50QWZ0ZXJDbG9zZSA9IHNh
dHVyYXRlQWRkKG1fYnVmZmVyZWRBbW91bnRBZnRlckNsb3NlLCBnZXRGcmFtaW5nT3ZlcmhlYWQo
cGF5bG9hZFNpemUpKTsKICAgICAgICAgcmV0dXJuIHsgfTsKICAgICB9Ci0gICAgbV9idWZmZXJl
ZEFtb3VudCA9IHNhdHVyYXRlQWRkKG1fYnVmZmVyZWRBbW91bnQsIGJpbmFyeURhdGEuc2l6ZSgp
KTsKKyNpZiBIQVZFKE5TVVJMU0VTU0lPTl9XRUJTT0NLRVQpCisgICAgYm9vbCBzaG91bGRTeW5j
aHJvbm91c2x5VXBkYXRlQnVmZmVyZWRBbW91bnQgPSBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpz
aGFyZWRGZWF0dXJlcygpLmlzTlNVUkxTZXNzaW9uV2ViU29ja2V0RW5hYmxlZCgpOworI2VsaWYg
UExBVEZPUk0oTUFDKQorICAgIGJvb2wgc2hvdWxkU3luY2hyb25vdXNseVVwZGF0ZUJ1ZmZlcmVk
QW1vdW50ID0gZmFsc2U7CisjZWxzZQorICAgIGJvb2wgc2hvdWxkU3luY2hyb25vdXNseVVwZGF0
ZUJ1ZmZlcmVkQW1vdW50ID0gdHJ1ZTsKKyNlbmRpZgorICAgIGlmIChzaG91bGRTeW5jaHJvbm91
c2x5VXBkYXRlQnVmZmVyZWRBbW91bnQpCisgICAgICAgIG1fYnVmZmVyZWRBbW91bnQgPSBzYXR1
cmF0ZUFkZChtX2J1ZmZlcmVkQW1vdW50LCBiaW5hcnlEYXRhLnNpemUoKSk7CiAgICAgQVNTRVJU
KG1fY2hhbm5lbCk7CiAgICAgbV9jaGFubmVsLT5zZW5kKGJpbmFyeURhdGEpOwogICAgIHJldHVy
biB7IH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>459512</attachid>
            <date>2022-05-17 12:55:49 -0700</date>
            <delta_ts>2022-05-18 11:40:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-240311-20220517125549.patch</filename>
            <type>text/plain</type>
            <size>17893</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">RnJvbSBmZjQ5YTJhNzViMzFmZTY3OWQ3NTIzOWQ5ZDI4YjY5NGI4NzFmY2NjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGV4IENocmlzdGVuc2VuIDxhY2hyaXN0ZW5zZW5AYXBwbGUu
Y29tPgpEYXRlOiBUdWUsIDE3IE1heSAyMDIyIDEyOjUzOjI2IC0wNzAwClN1YmplY3Q6IFtQQVRD
SF0gUkVHUkVTU0lPTiAoU1RQKTogV2ViU29ja2V0LmJ1ZmZlcmVkQW1vdW50IGRvZXMgbm90IGdl
dAogdXBkYXRlZCBpbiBzb21lIGNhc2VzIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yNDAzMTEKClJldmlld2VkIGJ5IFlvdWVubiBGYWJsZXQuCgpUaGlzIHJldmVydHMg
dGhlIGZ1bmN0aW9uYWwgcGFydCBvZiByMjkwOTk1IGZvciBPU2VzIHdoYXQgZG9uJ3QgaGF2ZSBh
biBOU1VSTFNlc3Npb24gV2ViU29ja2V0IGltcGxlbWVudGF0aW9uIHdlIGNhbiB1c2UuClRoZSBy
ZXN0IG9mIHIyOTA5OTUgd2FzIGp1c3QgbW92aW5nIFVURi04IGVuY29kaW5nIHRvIGEgZGlmZmVy
ZW50IGxvY2F0aW9uIGluIHRoZSBwaXBlbGluZSwgd2hpY2ggaGFzIG5vIG9ic2VydmFibGUgYmVo
YXZpb3IgY2hhbmdlLgoKSXQgaXMgdW5mb3J0dW5hdGUsIGJ1dCBvdXIgb2xkIGltcGxlbWVudGF0
aW9uIG9mIFdlYlNvY2tldHMgdGhhdCB1c2VzIENGV3JpdGVTdHJlYW1Xcml0ZSB0aGlua3MgaXQg
aGFzIHdyaXR0ZW4gaW1tZWRpYXRlbHksCnNvIGlmIEkgbWFrZSBTb2NrZXRTdHJlYW1IYW5kbGVJ
bXBsOjpwbGF0Zm9ybVNlbmQgY2FsbCBtX2NsaWVudC5kaWRVcGRhdGVCdWZmZXJlZEFtb3VudCBl
dmVuIHdoZW4gYnl0ZXNXcml0dGVuID49IGxlbmd0aCwKSSBkb24ndCBoYXZlIHRoZSBidWZmZXJl
bnQgYW1vdW50IHVwZGF0ZWQgc3luY2hyb25vdXNseSBsaWtlIENocm9tZSwgRmlyZWZveCwgYW5k
IHRoZSBOU1VSTFNlc3Npb24tYmFzZWQgaW1wbGVtZW50YXRpb24gaGF2ZS4KSWYgSSBsZWF2ZSBp
dCBhcyBpdCBpcyBub3csIHRoZSBidWZmZXJlZCBhbW91bnQgbmV2ZXIgZ29lcyBiYWNrIGRvd24g
dG8gemVybyBzb21ldGltZXMgYWZ0ZXIgd3JpdGluZyB0byB0aGUgc3RyZWFtLgoKSXQgd2FzIGJy
b2tlbiBiZWZvcmUsIGl0IGlzIGRpZmZlcmVudGx5IGJyb2tlbiBub3csIGFuZCB0aGlzIHJlc3Rv
cmVzIHRoZSBzdGF0dXMgcXVvIG9uIEJpZyBTdXIuICBUaGlzIGlzIHdoeSB3ZSBjYW4ndCBoYXZl
IG5pY2UgdGhpbmdzLgoKKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcDoKKFdlYkNv
cmU6OldlYlNvY2tldDo6c2VuZCk6Ci0tLQogLi4uL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRz
L1dlYlNvY2tldC5jcHAgIHwgNDAgKysrKysrKysrKysrKysrKystLQogLi4uL3dlYnNvY2tldHMv
U2VuZC02NUstZGF0YS5hbnktZXhwZWN0ZWQudHh0IHwgIDMgKysKIC4uLm5kLWJpbmFyeS02NUst
YXJyYXlidWZmZXIuYW55LWV4cGVjdGVkLnR4dCB8ICAzICsrCiAuLi5yeS02NUstYXJyYXlidWZm
ZXIuYW55Lndvcmtlci1leHBlY3RlZC50eHQgfCAgMyArKwogLi4uL1NlbmQtYmluYXJ5LWFycmF5
YnVmZmVyLmFueS1leHBlY3RlZC50eHQgIHwgIDMgKysKIC4uLmJpbmFyeS1hcnJheWJ1ZmZlci5h
bnkud29ya2VyLWV4cGVjdGVkLnR4dCB8ICAzICsrCiAuLi4vd2Vic29ja2V0cy9TZW5kLWRhdGEu
YW55LWV4cGVjdGVkLnR4dCAgICAgfCAgMyArKwogLi4uL1NlbmQtZGF0YS5hbnkud29ya2VyLWV4
cGVjdGVkLnR4dCAgICAgICAgIHwgIDMgKysKIC4uLi9TZW5kLXBhaXJlZC1zdXJyb2dhdGVzLmFu
eS1leHBlY3RlZC50eHQgICB8ICAzICsrCiAuLi4tcGFpcmVkLXN1cnJvZ2F0ZXMuYW55Lndvcmtl
ci1leHBlY3RlZC50eHQgfCAgMyArKwogLi4uL1NlbmQtdW5pY29kZS1kYXRhLmFueS53b3JrZXIt
ZXhwZWN0ZWQudHh0IHwgIDMgKysKIC4uLmhhbmdlZC1ieS1zeW5jLXhoci5hbnkud29ya2VyLWV4
cGVjdGVkLnR4dCB8ICAzICsrCiAuLi4vYnVmZmVyZWRBbW91bnQtYXJyYXlidWZmZXItZXhwZWN0
ZWQudHh0ICAgfCAgMyArKwogLi4uL2J1ZmZlcmVkQW1vdW50LWJsb2ItZXhwZWN0ZWQudHh0ICAg
ICAgICAgIHwgIDMgKysKIC4uLi9idWZmZXJlZEFtb3VudC1nZXR0aW5nLWV4cGVjdGVkLnR4dCAg
ICAgICB8ICAyICstCiAuLi4vYnVmZmVyZWRBbW91bnQtbGFyZ2UtZXhwZWN0ZWQudHh0ICAgICAg
ICAgfCAgMyArKwogLi4uL2J1ZmZlcmVkQW1vdW50LXVuaWNvZGUtZXhwZWN0ZWQudHh0ICAgICAg
IHwgIDMgKysKIDE3IGZpbGVzIGNoYW5nZWQsIDgyIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25z
KC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWJpZ3N1ci9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnNvY2tldHMvU2VuZC02NUstZGF0YS5h
bnktZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLWJpZ3N1ci9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnNvY2tldHMvU2Vu
ZC1iaW5hcnktNjVLLWFycmF5YnVmZmVyLmFueS1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEw
MDY0NCBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtYmlnc3VyL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2Vic29ja2V0cy9TZW5kLWJpbmFyeS02NUstYXJyYXlidWZmZXIuYW55Lndv
cmtlci1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtYmlnc3VyL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Vic29ja2V0cy9T
ZW5kLWJpbmFyeS1hcnJheWJ1ZmZlci5hbnktZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2
NDQgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWJpZ3N1ci9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dlYnNvY2tldHMvU2VuZC1iaW5hcnktYXJyYXlidWZmZXIuYW55Lndvcmtlci1l
eHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMt
Ymlnc3VyL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Vic29ja2V0cy9TZW5kLWRh
dGEuYW55LWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy1iaWdzdXIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJzb2NrZXRz
L1NlbmQtZGF0YS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy1iaWdzdXIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93ZWJzb2NrZXRzL1NlbmQtcGFpcmVkLXN1cnJvZ2F0ZXMuYW55LWV4cGVjdGVkLnR4dAog
Y3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1iaWdzdXIvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJzb2NrZXRzL1NlbmQtcGFpcmVkLXN1cnJvZ2F0
ZXMuYW55Lndvcmtlci1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtYmlnc3VyL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Vi
c29ja2V0cy9TZW5kLXVuaWNvZGUtZGF0YS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAogY3JlYXRl
IG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1iaWdzdXIvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJzb2NrZXRzL2J1ZmZlcmVkQW1vdW50LXVuY2hhbmdlZC1i
eS1zeW5jLXhoci5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy1iaWdzdXIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93ZWJzb2NrZXRzL2ludGVyZmFjZXMvV2ViU29ja2V0L2J1ZmZlcmVkQW1vdW50L2J1ZmZl
cmVkQW1vdW50LWFycmF5YnVmZmVyLWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy1iaWdzdXIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93ZWJzb2NrZXRzL2ludGVyZmFjZXMvV2ViU29ja2V0L2J1ZmZlcmVkQW1vdW50L2J1ZmZl
cmVkQW1vdW50LWJsb2ItZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLWJpZ3N1ci9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dl
YnNvY2tldHMvaW50ZXJmYWNlcy9XZWJTb2NrZXQvYnVmZmVyZWRBbW91bnQvYnVmZmVyZWRBbW91
bnQtbGFyZ2UtZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLWJpZ3N1ci9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnNvY2tl
dHMvaW50ZXJmYWNlcy9XZWJTb2NrZXQvYnVmZmVyZWRBbW91bnQvYnVmZmVyZWRBbW91bnQtdW5p
Y29kZS1leHBlY3RlZC50eHQKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnNvY2tldHMvV2ViU29ja2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0
cy9XZWJTb2NrZXQuY3BwCmluZGV4IDY5ZDJlNTQ3MzVhMy4uNWFiZjhmOTU3ZjFjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcApAQCAtMzUy
LDcgKzM1MiwxNSBAQCBFeGNlcHRpb25Pcjx2b2lkPiBXZWJTb2NrZXQ6OnNlbmQoY29uc3QgU3Ry
aW5nJiBtZXNzYWdlKQogICAgICAgICByZXR1cm4geyB9OwogICAgIH0KICAgICAvLyBGSVhNRTog
V2ViU29ja2V0Q2hhbm5lbCBhbHNvIGhhcyBhIG1fYnVmZmVyZWRBbW91bnQuIFJlbW92ZSB0aGF0
IG9uZS4gVGhpcyBvbmUgaXMgdGhlIGNvcnJlY3Qgb25lIGFjY2Vzc2VkIGJ5IEpTLgotICAgIG1f
YnVmZmVyZWRBbW91bnQgPSBzYXR1cmF0ZUFkZChtX2J1ZmZlcmVkQW1vdW50LCB1dGY4Lmxlbmd0
aCgpKTsKKyNpZiBIQVZFKE5TVVJMU0VTU0lPTl9XRUJTT0NLRVQpCisgICAgYm9vbCBzaG91bGRT
eW5jaHJvbm91c2x5VXBkYXRlQnVmZmVyZWRBbW91bnQgPSBSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpzaGFyZWRGZWF0dXJlcygpLmlzTlNVUkxTZXNzaW9uV2ViU29ja2V0RW5hYmxlZCgpOworI2Vs
aWYgUExBVEZPUk0oTUFDKQorICAgIGJvb2wgc2hvdWxkU3luY2hyb25vdXNseVVwZGF0ZUJ1ZmZl
cmVkQW1vdW50ID0gZmFsc2U7CisjZWxzZQorICAgIGJvb2wgc2hvdWxkU3luY2hyb25vdXNseVVw
ZGF0ZUJ1ZmZlcmVkQW1vdW50ID0gdHJ1ZTsKKyNlbmRpZgorICAgIGlmIChzaG91bGRTeW5jaHJv
bm91c2x5VXBkYXRlQnVmZmVyZWRBbW91bnQpCisgICAgICAgIG1fYnVmZmVyZWRBbW91bnQgPSBz
YXR1cmF0ZUFkZChtX2J1ZmZlcmVkQW1vdW50LCB1dGY4Lmxlbmd0aCgpKTsKICAgICBBU1NFUlQo
bV9jaGFubmVsKTsKICAgICBtX2NoYW5uZWwtPnNlbmQoV1RGTW92ZSh1dGY4KSk7CiAgICAgcmV0
dXJuIHsgfTsKQEAgLTM2OSw3ICszNzcsMTUgQEAgRXhjZXB0aW9uT3I8dm9pZD4gV2ViU29ja2V0
OjpzZW5kKEFycmF5QnVmZmVyJiBiaW5hcnlEYXRhKQogICAgICAgICBtX2J1ZmZlcmVkQW1vdW50
QWZ0ZXJDbG9zZSA9IHNhdHVyYXRlQWRkKG1fYnVmZmVyZWRBbW91bnRBZnRlckNsb3NlLCBnZXRG
cmFtaW5nT3ZlcmhlYWQocGF5bG9hZFNpemUpKTsKICAgICAgICAgcmV0dXJuIHsgfTsKICAgICB9
Ci0gICAgbV9idWZmZXJlZEFtb3VudCA9IHNhdHVyYXRlQWRkKG1fYnVmZmVyZWRBbW91bnQsIGJp
bmFyeURhdGEuYnl0ZUxlbmd0aCgpKTsKKyNpZiBIQVZFKE5TVVJMU0VTU0lPTl9XRUJTT0NLRVQp
CisgICAgYm9vbCBzaG91bGRTeW5jaHJvbm91c2x5VXBkYXRlQnVmZmVyZWRBbW91bnQgPSBSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmlzTlNVUkxTZXNzaW9uV2ViU29j
a2V0RW5hYmxlZCgpOworI2VsaWYgUExBVEZPUk0oTUFDKQorICAgIGJvb2wgc2hvdWxkU3luY2hy
b25vdXNseVVwZGF0ZUJ1ZmZlcmVkQW1vdW50ID0gZmFsc2U7CisjZWxzZQorICAgIGJvb2wgc2hv
dWxkU3luY2hyb25vdXNseVVwZGF0ZUJ1ZmZlcmVkQW1vdW50ID0gdHJ1ZTsKKyNlbmRpZgorICAg
IGlmIChzaG91bGRTeW5jaHJvbm91c2x5VXBkYXRlQnVmZmVyZWRBbW91bnQpCisgICAgICAgIG1f
YnVmZmVyZWRBbW91bnQgPSBzYXR1cmF0ZUFkZChtX2J1ZmZlcmVkQW1vdW50LCBiaW5hcnlEYXRh
LmJ5dGVMZW5ndGgoKSk7CiAgICAgQVNTRVJUKG1fY2hhbm5lbCk7CiAgICAgbV9jaGFubmVsLT5z
ZW5kKGJpbmFyeURhdGEsIDAsIGJpbmFyeURhdGEuYnl0ZUxlbmd0aCgpKTsKICAgICByZXR1cm4g
eyB9OwpAQCAtMzg3LDcgKzQwMywxNSBAQCBFeGNlcHRpb25Pcjx2b2lkPiBXZWJTb2NrZXQ6OnNl
bmQoQXJyYXlCdWZmZXJWaWV3JiBhcnJheUJ1ZmZlclZpZXcpCiAgICAgICAgIG1fYnVmZmVyZWRB
bW91bnRBZnRlckNsb3NlID0gc2F0dXJhdGVBZGQobV9idWZmZXJlZEFtb3VudEFmdGVyQ2xvc2Us
IGdldEZyYW1pbmdPdmVyaGVhZChwYXlsb2FkU2l6ZSkpOwogICAgICAgICByZXR1cm4geyB9Owog
ICAgIH0KLSAgICBtX2J1ZmZlcmVkQW1vdW50ID0gc2F0dXJhdGVBZGQobV9idWZmZXJlZEFtb3Vu
dCwgYXJyYXlCdWZmZXJWaWV3LmJ5dGVMZW5ndGgoKSk7CisjaWYgSEFWRShOU1VSTFNFU1NJT05f
V0VCU09DS0VUKQorICAgIGJvb2wgc2hvdWxkU3luY2hyb25vdXNseVVwZGF0ZUJ1ZmZlcmVkQW1v
dW50ID0gUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5pc05TVVJMU2Vz
c2lvbldlYlNvY2tldEVuYWJsZWQoKTsKKyNlbGlmIFBMQVRGT1JNKE1BQykKKyAgICBib29sIHNo
b3VsZFN5bmNocm9ub3VzbHlVcGRhdGVCdWZmZXJlZEFtb3VudCA9IGZhbHNlOworI2Vsc2UKKyAg
ICBib29sIHNob3VsZFN5bmNocm9ub3VzbHlVcGRhdGVCdWZmZXJlZEFtb3VudCA9IHRydWU7Cisj
ZW5kaWYKKyAgICBpZiAoc2hvdWxkU3luY2hyb25vdXNseVVwZGF0ZUJ1ZmZlcmVkQW1vdW50KQor
ICAgICAgICBtX2J1ZmZlcmVkQW1vdW50ID0gc2F0dXJhdGVBZGQobV9idWZmZXJlZEFtb3VudCwg
YXJyYXlCdWZmZXJWaWV3LmJ5dGVMZW5ndGgoKSk7CiAgICAgQVNTRVJUKG1fY2hhbm5lbCk7CiAg
ICAgbV9jaGFubmVsLT5zZW5kKCphcnJheUJ1ZmZlclZpZXcudW5zaGFyZWRCdWZmZXIoKSwgYXJy
YXlCdWZmZXJWaWV3LmJ5dGVPZmZzZXQoKSwgYXJyYXlCdWZmZXJWaWV3LmJ5dGVMZW5ndGgoKSk7
CiAgICAgcmV0dXJuIHsgfTsKQEAgLTQwNCw3ICs0MjgsMTUgQEAgRXhjZXB0aW9uT3I8dm9pZD4g
V2ViU29ja2V0OjpzZW5kKEJsb2ImIGJpbmFyeURhdGEpCiAgICAgICAgIG1fYnVmZmVyZWRBbW91
bnRBZnRlckNsb3NlID0gc2F0dXJhdGVBZGQobV9idWZmZXJlZEFtb3VudEFmdGVyQ2xvc2UsIGdl
dEZyYW1pbmdPdmVyaGVhZChwYXlsb2FkU2l6ZSkpOwogICAgICAgICByZXR1cm4geyB9OwogICAg
IH0KLSAgICBtX2J1ZmZlcmVkQW1vdW50ID0gc2F0dXJhdGVBZGQobV9idWZmZXJlZEFtb3VudCwg
YmluYXJ5RGF0YS5zaXplKCkpOworI2lmIEhBVkUoTlNVUkxTRVNTSU9OX1dFQlNPQ0tFVCkKKyAg
ICBib29sIHNob3VsZFN5bmNocm9ub3VzbHlVcGRhdGVCdWZmZXJlZEFtb3VudCA9IFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuaXNOU1VSTFNlc3Npb25XZWJTb2NrZXRF
bmFibGVkKCk7CisjZWxpZiBQTEFURk9STShNQUMpCisgICAgYm9vbCBzaG91bGRTeW5jaHJvbm91
c2x5VXBkYXRlQnVmZmVyZWRBbW91bnQgPSBmYWxzZTsKKyNlbHNlCisgICAgYm9vbCBzaG91bGRT
eW5jaHJvbm91c2x5VXBkYXRlQnVmZmVyZWRBbW91bnQgPSB0cnVlOworI2VuZGlmCisgICAgaWYg
KHNob3VsZFN5bmNocm9ub3VzbHlVcGRhdGVCdWZmZXJlZEFtb3VudCkKKyAgICAgICAgbV9idWZm
ZXJlZEFtb3VudCA9IHNhdHVyYXRlQWRkKG1fYnVmZmVyZWRBbW91bnQsIGJpbmFyeURhdGEuc2l6
ZSgpKTsKICAgICBBU1NFUlQobV9jaGFubmVsKTsKICAgICBtX2NoYW5uZWwtPnNlbmQoYmluYXJ5
RGF0YSk7CiAgICAgcmV0dXJuIHsgfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy1iaWdzdXIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJzb2NrZXRzL1Nl
bmQtNjVLLWRhdGEuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1i
aWdzdXIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJzb2NrZXRzL1NlbmQtNjVL
LWRhdGEuYW55LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAuLjA5ZDkwYmU0Nzc3ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy1iaWdzdXIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJzb2NrZXRz
L1NlbmQtNjVLLWRhdGEuYW55LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworRkFJTCBT
ZW5kIDY1SyBkYXRhIG9uIGEgV2ViU29ja2V0IC0gQ29ubmVjdGlvbiBzaG91bGQgYmUgY2xvc2Vk
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDAgYnV0IGdvdCA2NTAwMAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtYmlnc3VyL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2Vic29ja2V0cy9TZW5kLWJpbmFyeS02NUstYXJyYXlidWZmZXIuYW55LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1iaWdzdXIvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93ZWJzb2NrZXRzL1NlbmQtYmluYXJ5LTY1Sy1hcnJheWJ1ZmZlci5hbnkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uODI4
MzgyZmQyOTJkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWJp
Z3N1ci9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnNvY2tldHMvU2VuZC1iaW5h
cnktNjVLLWFycmF5YnVmZmVyLmFueS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK0ZB
SUwgU2VuZCA2NUsgYmluYXJ5IGRhdGEgb24gYSBXZWJTb2NrZXQgLSBBcnJheUJ1ZmZlciAtIENv
bm5lY3Rpb24gc2hvdWxkIGJlIGNsb3NlZCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAwIGJ1dCBn
b3QgNjUwMDAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWJpZ3N1ci9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnNvY2tldHMvU2VuZC1iaW5hcnktNjVL
LWFycmF5YnVmZmVyLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLWJpZ3N1ci9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnNvY2tldHMv
U2VuZC1iaW5hcnktNjVLLWFycmF5YnVmZmVyLmFueS53b3JrZXItZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uODI4MzgyZmQyOTJkCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWJpZ3N1ci9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dlYnNvY2tldHMvU2VuZC1iaW5hcnktNjVLLWFycmF5YnVmZmVy
LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitGQUlMIFNlbmQgNjVL
IGJpbmFyeSBkYXRhIG9uIGEgV2ViU29ja2V0IC0gQXJyYXlCdWZmZXIgLSBDb25uZWN0aW9uIHNo
b3VsZCBiZSBjbG9zZWQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMCBidXQgZ290IDY1MDAwCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1iaWdzdXIvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJzb2NrZXRzL1NlbmQtYmluYXJ5LWFycmF5YnVmZmVyLmFu
eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtYmlnc3VyL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Vic29ja2V0cy9TZW5kLWJpbmFyeS1hcnJheWJ1ZmZl
ci5hbnktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MC4uM2I2NzhmMmFhYTJkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLWJpZ3N1ci9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnNvY2tldHMvU2Vu
ZC1iaW5hcnktYXJyYXlidWZmZXIuYW55LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKwor
RkFJTCBTZW5kIGJpbmFyeSBkYXRhIG9uIGEgV2ViU29ja2V0IC0gQXJyYXlCdWZmZXIgLSBDb25u
ZWN0aW9uIHNob3VsZCBiZSBjbG9zZWQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMCBidXQgZ290
IDE1CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1iaWdzdXIvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJzb2NrZXRzL1NlbmQtYmluYXJ5LWFycmF5YnVm
ZmVyLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWJp
Z3N1ci9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnNvY2tldHMvU2VuZC1iaW5h
cnktYXJyYXlidWZmZXIuYW55Lndvcmtlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4zYjY3OGYyYWFhMmQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtYmlnc3VyL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2Vic29ja2V0cy9TZW5kLWJpbmFyeS1hcnJheWJ1ZmZlci5hbnkud29ya2VyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworRkFJTCBTZW5kIGJpbmFyeSBkYXRhIG9uIGEgV2Vi
U29ja2V0IC0gQXJyYXlCdWZmZXIgLSBDb25uZWN0aW9uIHNob3VsZCBiZSBjbG9zZWQgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgMCBidXQgZ290IDE1CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy1iaWdzdXIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJz
b2NrZXRzL1NlbmQtZGF0YS5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLWJpZ3N1ci9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnNvY2tldHMvU2Vu
ZC1kYXRhLmFueS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwLi5lZmZhNmFhNDljZDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtYmlnc3VyL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Vic29ja2V0
cy9TZW5kLWRhdGEuYW55LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworRkFJTCBTZW5k
IGRhdGEgb24gYSBXZWJTb2NrZXQgLSBDb25uZWN0aW9uIHNob3VsZCBiZSBjbG9zZWQgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgMCBidXQgZ290IDE1CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy1iaWdzdXIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJz
b2NrZXRzL1NlbmQtZGF0YS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy1iaWdzdXIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJzb2Nr
ZXRzL1NlbmQtZGF0YS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAuLmVmZmE2YWE0OWNkNgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy1iaWdzdXIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93ZWJzb2NrZXRzL1NlbmQtZGF0YS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDMgQEAKKworRkFJTCBTZW5kIGRhdGEgb24gYSBXZWJTb2NrZXQgLSBDb25uZWN0aW9uIHNo
b3VsZCBiZSBjbG9zZWQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMCBidXQgZ290IDE1CisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1iaWdzdXIvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93ZWJzb2NrZXRzL1NlbmQtcGFpcmVkLXN1cnJvZ2F0ZXMuYW55LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1iaWdzdXIvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJzb2NrZXRzL1NlbmQtcGFpcmVkLXN1cnJvZ2F0ZXMuYW55
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjBm
Y2QzMzBjYzZkZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1i
aWdzdXIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJzb2NrZXRzL1NlbmQtcGFp
cmVkLXN1cnJvZ2F0ZXMuYW55LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworRkFJTCBT
ZW5kIHBhaXJlZCBzdXJyb2dhdGVzIGRhdGEgb24gYSBXZWJTb2NrZXQgLSBDb25uZWN0aW9uIHNo
b3VsZCBiZSBjbG9zZWQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMCBidXQgZ290IDQKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWJpZ3N1ci9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dlYnNvY2tldHMvU2VuZC1wYWlyZWQtc3Vycm9nYXRlcy5hbnkud29y
a2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1iaWdzdXIvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJzb2NrZXRzL1NlbmQtcGFpcmVkLXN1cnJvZ2F0
ZXMuYW55Lndvcmtlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwLi4wZmNkMzMwY2M2ZGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtYmlnc3VyL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Vic29j
a2V0cy9TZW5kLXBhaXJlZC1zdXJyb2dhdGVzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMyBAQAorCitGQUlMIFNlbmQgcGFpcmVkIHN1cnJvZ2F0ZXMgZGF0YSBvbiBhIFdlYlNv
Y2tldCAtIENvbm5lY3Rpb24gc2hvdWxkIGJlIGNsb3NlZCBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAwIGJ1dCBnb3QgNAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtYmln
c3VyL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Vic29ja2V0cy9TZW5kLXVuaWNv
ZGUtZGF0YS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy1iaWdzdXIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJzb2NrZXRzL1NlbmQt
dW5pY29kZS1kYXRhLmFueS53b3JrZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMC4uMTRmNTUzYjcwNDQ1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWJpZ3N1ci9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dlYnNvY2tldHMvU2VuZC11bmljb2RlLWRhdGEuYW55Lndvcmtlci1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzIEBACisKK0ZBSUwgU2VuZCB1bmljb2RlIGRhdGEgb24gYSBXZWJTb2NrZXQg
LSBDb25uZWN0aW9uIHNob3VsZCBiZSBjbG9zZWQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMCBi
dXQgZ290IDEyCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1iaWdzdXIv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJzb2NrZXRzL2J1ZmZlcmVkQW1vdW50
LXVuY2hhbmdlZC1ieS1zeW5jLXhoci5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy1iaWdzdXIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
ZWJzb2NrZXRzL2J1ZmZlcmVkQW1vdW50LXVuY2hhbmdlZC1ieS1zeW5jLXhoci5hbnkud29ya2Vy
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmM1
ZTU5NDZhNjcwNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1i
aWdzdXIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJzb2NrZXRzL2J1ZmZlcmVk
QW1vdW50LXVuY2hhbmdlZC1ieS1zeW5jLXhoci5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDMgQEAKKworRkFJTCBidWZmZXJlZEFtb3VudCBzaG91bGQgbm90IGJlIHVwZGF0ZWQg
ZHVyaW5nIGEgc3luYyBYSFIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgNSBidXQgZ290IDAKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWJpZ3N1ci9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dlYnNvY2tldHMvaW50ZXJmYWNlcy9XZWJTb2NrZXQvYnVmZmVy
ZWRBbW91bnQvYnVmZmVyZWRBbW91bnQtYXJyYXlidWZmZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjLWJpZ3N1ci9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dlYnNvY2tldHMvaW50ZXJmYWNlcy9XZWJTb2NrZXQvYnVmZmVyZWRBbW91bnQvYnVmZmVyZWRB
bW91bnQtYXJyYXlidWZmZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMC4uNDVjMTExNTJlMDgzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLWJpZ3N1ci9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dl
YnNvY2tldHMvaW50ZXJmYWNlcy9XZWJTb2NrZXQvYnVmZmVyZWRBbW91bnQvYnVmZmVyZWRBbW91
bnQtYXJyYXlidWZmZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitGQUlMIFdlYlNv
Y2tldHM6IGJ1ZmZlcmVkQW1vdW50IGZvciBBcnJheUJ1ZmZlciBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAxMCBidXQgZ290IDAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LWJpZ3N1ci9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnNvY2tldHMvaW50ZXJm
YWNlcy9XZWJTb2NrZXQvYnVmZmVyZWRBbW91bnQvYnVmZmVyZWRBbW91bnQtYmxvYi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtYmlnc3VyL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2Vic29ja2V0cy9pbnRlcmZhY2VzL1dlYlNvY2tldC9idWZmZXJlZEFt
b3VudC9idWZmZXJlZEFtb3VudC1ibG9iLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAuLmU4ZDA4MjUzNDJlMAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy1iaWdzdXIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93ZWJzb2NrZXRzL2ludGVyZmFjZXMvV2ViU29ja2V0L2J1ZmZlcmVkQW1vdW50L2J1ZmZl
cmVkQW1vdW50LWJsb2ItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitGQUlMIFdlYlNv
Y2tldHM6IGJ1ZmZlcmVkQW1vdW50IGZvciBibG9iIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEw
IGJ1dCBnb3QgMAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtYmlnc3Vy
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Vic29ja2V0cy9pbnRlcmZhY2VzL1dl
YlNvY2tldC9idWZmZXJlZEFtb3VudC9idWZmZXJlZEFtb3VudC1nZXR0aW5nLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1iaWdzdXIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93ZWJzb2NrZXRzL2ludGVyZmFjZXMvV2ViU29ja2V0L2J1ZmZlcmVkQW1vdW50
L2J1ZmZlcmVkQW1vdW50LWdldHRpbmctZXhwZWN0ZWQudHh0CmluZGV4IDRmNjA3YTY5YTNmMi4u
ODY4MjYyODY0YWY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtYmlnc3Vy
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Vic29ja2V0cy9pbnRlcmZhY2VzL1dl
YlNvY2tldC9idWZmZXJlZEFtb3VudC9idWZmZXJlZEFtb3VudC1nZXR0aW5nLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtYmlnc3VyL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2Vic29ja2V0cy9pbnRlcmZhY2VzL1dlYlNvY2tldC9idWZmZXJlZEFt
b3VudC9idWZmZXJlZEFtb3VudC1nZXR0aW5nLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAK
IAotRkFJTCBXZWJTb2NrZXRzOiBidWZmZXJlZEFtb3VudCBhZnRlciBzZW5kKClpbmcgYXNzZXJ0
X3RydWU6IGJ1ZmZlcmVkQW1vdW50IGFmdGVyIHJlY2VpdmVkICJ4IiBleHBlY3RlZCB0cnVlIGdv
dCBmYWxzZQorRkFJTCBXZWJTb2NrZXRzOiBidWZmZXJlZEFtb3VudCBhZnRlciBzZW5kKClpbmcg
YXNzZXJ0X2VxdWFsczogYnVmZmVyZWRBbW91bnQgYWZ0ZXIgc2VudCAieCIgZXhwZWN0ZWQgMSBi
dXQgZ290IDAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWJpZ3N1ci9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnNvY2tldHMvaW50ZXJmYWNlcy9XZWJT
b2NrZXQvYnVmZmVyZWRBbW91bnQvYnVmZmVyZWRBbW91bnQtbGFyZ2UtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWJpZ3N1ci9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dlYnNvY2tldHMvaW50ZXJmYWNlcy9XZWJTb2NrZXQvYnVmZmVyZWRBbW91bnQvYnVm
ZmVyZWRBbW91bnQtbGFyZ2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMC4uNDUzMWEzMGEyNWVkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLWJpZ3N1ci9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dl
YnNvY2tldHMvaW50ZXJmYWNlcy9XZWJTb2NrZXQvYnVmZmVyZWRBbW91bnQvYnVmZmVyZWRBbW91
bnQtbGFyZ2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitGQUlMIFdlYlNvY2tldHM6
IGJ1ZmZlcmVkQW1vdW50IGZvciA2NUsgZGF0YSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAwIGJ1
dCBnb3QgNjUwMDAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWJpZ3N1
ci9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnNvY2tldHMvaW50ZXJmYWNlcy9X
ZWJTb2NrZXQvYnVmZmVyZWRBbW91bnQvYnVmZmVyZWRBbW91bnQtdW5pY29kZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtYmlnc3VyL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2Vic29ja2V0cy9pbnRlcmZhY2VzL1dlYlNvY2tldC9idWZmZXJlZEFtb3Vu
dC9idWZmZXJlZEFtb3VudC11bmljb2RlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAuLmFjNTg5NDBjMDQ5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy1iaWdzdXIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93ZWJzb2NrZXRzL2ludGVyZmFjZXMvV2ViU29ja2V0L2J1ZmZlcmVkQW1vdW50L2J1ZmZl
cmVkQW1vdW50LXVuaWNvZGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitGQUlMIFdl
YlNvY2tldHM6IGJ1ZmZlcmVkQW1vdW50IGZvciB1bmljb2RlIGRhdGEgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgMCBidXQgZ290IDEyCisKLS0gCjIuMzAuMSAoQXBwbGUgR2l0LTEzMCkKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>