<?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>230623</bug_id>
          
          <creation_ts>2021-09-22 06:25:51 -0700</creation_ts>
          <short_desc>MediaStream canvas.captureStream() playback to LocalSampleBufferDisplayLayer is flaky</short_desc>
          <delta_ts>2022-01-25 10:42:23 -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>Media</component>
          <version>WebKit Local 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=235597</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>
          <dependson>230613</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kimmo Kinnunen">kkinnunen</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>eric.kwan</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1796043</commentid>
    <comment_count>0</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-09-22 06:25:51 -0700</bug_when>
    <thetext>MediaStream canvas.captureStream() playback to LocalSampleBufferDisplayLayer is flaky

Sometimes the system is not creating the AVSampleBufferDisplayLayer because the samples arrive 
before the media player determines whether accelerated rendering is possible.

The callbacks that update HTMLMediaElement::m_cachedSupportsAcceleratedRendering are run asynchronously and too late.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1796045</commentid>
    <comment_count>1</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-09-22 06:25:58 -0700</bug_when>
    <thetext>
To observe,  bug 230613 should be fixed and load:

https://webrtc.github.io/samples/src/content/capture/canvas-video/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798293</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-29 06:26:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/83668578&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832686</commentid>
    <comment_count>3</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-01-20 23:13:40 -0800</bug_when>
    <thetext>*** Bug 235176 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832709</commentid>
    <comment_count>4</comment_count>
      <attachid>449646</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-01-21 02:09:07 -0800</bug_when>
    <thetext>Created attachment 449646
testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832710</commentid>
    <comment_count>5</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-01-21 02:10:07 -0800</bug_when>
    <thetext>To work around this problem, one might try to assign or re-assign the stream in a different JavaScript callback than the one that creates the video element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832729</commentid>
    <comment_count>6</comment_count>
      <attachid>449649</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-01-21 03:22:22 -0800</bug_when>
    <thetext>Created attachment 449649
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832785</commentid>
    <comment_count>7</comment_count>
      <attachid>449663</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-01-21 09:08:45 -0800</bug_when>
    <thetext>Created attachment 449663
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833235</commentid>
    <comment_count>8</comment_count>
      <attachid>449663</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-01-24 02:24:02 -0800</bug_when>
    <thetext>Comment on attachment 449663
Patch

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

It is a step forward for the users, which is good.
The reenqueue logic is broken in many ways and not very good pattern for correct software and the class has numerous race conditions. We should spend some more time writing tests and fixing those for this class, at some point.

&gt; Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:284
&gt; +    Locker locker { AdoptLock, m_currentVideoSampleLock };

This is like saying  &quot;Try to send the sample. if it&apos;s a bit inconvenient, maybe you can just skip sending it.&quot;
Either the sample is needed for correct operation and send it or it&apos;s not needed and it should not be sent.
This  especially  does not make sense in this &quot;reenqueue&quot; phase. 
So you can consider using unconditional locking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833243</commentid>
    <comment_count>9</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-01-24 03:29:26 -0800</bug_when>
    <thetext>Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:284
&gt; &gt; +    Locker locker { AdoptLock, m_currentVideoSampleLock };
&gt; 
&gt; This is like saying  &quot;Try to send the sample. if it&apos;s a bit inconvenient,
&gt; maybe you can just skip sending it.&quot;

Not really, the idea is more: if it is locked, a new sample is coming, so do not bother enqueuing a sample, since a fresh one will be enqueued very shortly.
It is true that, sometimes, we will reenqueue several times the same sample.

Also we need to lock as m_currentVideoSample is guarded by m_currentVideoSampleLock.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833261</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-24 04:42:57 -0800</bug_when>
    <thetext>Committed r288435 (246324@main): &lt;https://commits.webkit.org/246324@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 449663.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>449646</attachid>
            <date>2022-01-21 02:09:07 -0800</date>
            <delta_ts>2022-01-21 02:09:07 -0800</delta_ts>
            <desc>testcase</desc>
            <filename>webgl-capture.html</filename>
            <type>text/html</type>
            <size>1300</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgo8aHRtbD4KPGJv
ZHk+CjxwPlNob3VsZCBzaG93IGNhbnZhcyBhbHRlcm5hdGluZyBncmVlbiwgcmVkIG9uIGxlZnQg
YW5kIHRoZSBzYW1lIGFuaW1hdGlvbgpvbiB0aGUgcmlnaHQgd2l0aCB2aWRlbyBlbGVtZW50LgoK
PHA+RGVtb25zdHJhdGVzIGEgYnVnIG9mIGZsYWt5IGJlaGF2aW9yIGluIFdlYktpdCBjYW52YXMg
Y2FwdHVyZS4KQ2FwdHVyZWQgY2FudmFzIGlzIG5vdCBwbGF5ZWQgYmFjayBpbiB2aWRlbyBlbGVt
ZW50IGFsd2F5cy4KCjxwPlRoaXMgY2FzZSBkZW1vbnN0cmF0ZXMgdGhlIGNhc2Ugd2hlcmUgY2Fw
dHVyZSBkb25lIGR1cmluZyBsb2FkCmlzIG5vdCB3b3JraW5nLiBOZWVkcyB0byByZWFzc2lnbiB0
aGUgc3RyZWFtIHRvIHdvcmsuCgo8cD5Tb21lIGNhc2VzIG5lZWQgbW91c2UgaG92ZXIgb3ZlciB0
aGUgdmlkZW8gZWxlbWVudC4KPGRpdiBpZD0iYXJlYSI+CjxjYW52YXMgaWQ9ImNhbnZhczEiIHdp
ZHRoPTQwMHB4IGhlaWdodD00MDBweD48L2NhbnZhcz4KPHZpZGVvIGF1dG9wbGF5PjwvdmlkZW8+
CjwvZGl2Pgo8YnI+CjxpbnB1dCB0eXBlPSJidXR0b24iIG9uY2xpY2s9ImphdmFzY3JpcHQ6cmVh
c3NpZ24oKSIgdmFsdWU9InJlYXNzaWduIj4KPGlucHV0IHR5cGU9ImJ1dHRvbiIgb25jbGljaz0i
amF2YXNjcmlwdDpkcmF3KCkiIHZhbHVlPSJkcmF3Ij4KPHNjcmlwdD4KdmFyIGNhbnZhczEgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzMSIpOwp2YXIgZ2wgPSBjYW52YXMxLmdldENv
bnRleHQoJ3dlYmdsJywgeyBwcmVzZXJ2ZURyYXdpbmdCdWZmZXI6IGZhbHNlIH0gKTsKdmFyIHN0
cmVhbSA9IGNhbnZhczEuY2FwdHVyZVN0cmVhbSgpOwp2YXIgdmlkZW8xID0gZG9jdW1lbnQucXVl
cnlTZWxlY3RvcigidmlkZW8iKTsKdmlkZW8xLnNyY09iamVjdCA9IHN0cmVhbTsKdmFyIGdyZWVu
ID0gMTsKdmFyIHJlZCA9IDA7CnZhciB0OwpmdW5jdGlvbiBkcmF3KCkgewogICAgZ2wuY2xlYXJD
b2xvcihyZWQsIGdyZWVuLCAwLCAxKTsKICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQp
OwogICAgW2dyZWVuLCByZWRdID0gW3JlZCwgZ3JlZW5dOwogICAgaWYgKHQpCiAgICBjbGVhclRp
bWVvdXQodCk7CiAgICB0ID0gc2V0VGltZW91dChkcmF3LCA1MDApOwp9CmZ1bmN0aW9uIHJlYXNz
aWduKCkgewogICAgdmlkZW8xLnNyY09iamVjdCA9IHN0cmVhbTsKfQpkcmF3KCk7Ci8vIHNldFRp
bWVvdXQocmVhc3NpZ24sIDApOwo8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449649</attachid>
            <date>2022-01-21 03:22:22 -0800</date>
            <delta_ts>2022-01-21 09:08:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230623-20220121122220.patch</filename>
            <type>text/plain</type>
            <size>5633</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjc2YzI5ZTNiZGRjMTQx
OGQxNTgyNmM5ODUzNzRhNGYyYjBmNDQ4My4uYzZjM2FjY2FjMjkyYmZiYjUxYzhiODU4OTljZDUw
ZTBlNjM0MjUwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIyLTAxLTIxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVN0cmVhbSBjYW52
YXMuY2FwdHVyZVN0cmVhbSgpIHBsYXliYWNrIHRvIExvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxh
eWVyIGlzIGZsYWt5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzA2MjMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgzNjY4NTc4PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXJlIGFyZSBhIGZldyBp
c3N1ZXMgd2hlbiBjcmVhdGluZyB0aGUgdmlkZW8gZWxlbWVudCwgc2V0dGluZyB0aGUgc3JjT2Jq
ZWN0IGFuZCBwbGF5aW5nIGl0IHJpZ2h0IGF3YXkuCisgICAgICAgIFRoZSBmaXJzdCB0aGluZyBp
cyB0aGF0IHdlIHRyeSB0byByZW5kZXIgdGhlIHZpZGVvIGVsZW1lbnQgd2hpbGUgdGhpbmtpbmcg
dGhhdCBpdCBtaWdodCBiZSB2aWRlbyBhY2NlbGVyYXRlZAorICAgICAgICAoaXQgaXMgYWx3YXlz
IHRoZSBjYXNlIGZvciBNZWRpYVN0cmVhbVRyYWNrIGJhc2VkIHRyYWNrcyksIGJ1dCB0aGUgdmlk
ZW8gZWxlbWVudCBpcyBhc3luY2hyb25vdXNseSB1cGRhdGluZyB3aGV0aGVyIGl0IGlzIGFjY2Vs
ZXJhdGVkLgorICAgICAgICBGb2xsb3dpbmcgd2hhdCBvdGhlciBNZWRpYVBsYXllclByaXZhdGUg
YXJlIGRvaW5nLCB3aGVuIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQyBoYXMg
c2V0IHVwIGl0cyB2aWRlbyBsYXllcnMsCisgICAgICAgIHdlIHNjaGVkdWxlIGEgY2FsbCB0byBy
ZW5kZXJpbmdNb2RlQ2hhbmdlZCB3aGljaCB3aWxsIHRyaWdnZXIgYSByZWxheW91dC4KKworICAg
ICAgICBUaGUgYWRkaXRpb25hbCBpc3N1ZSBpcyBpbiB0aGUgY2FzZSB0aGUgTWVkaWFTdHJlYW1U
cmFjayBzb3VyY2Ugb25seSBnZW5lcmF0ZXMgb25lIGZyYW1lIGZvciBzb21lIHRpbWUuCisgICAg
ICAgIEluIHRoYXQgY2FzZSwgYW5kIGlmIHRoZSBmcmFtZSBpcyBlbnF1ZXVldWQgd2hpbGUgc2V0
dGluZyB1cCB0aGUgdmlkZW8gbGF5ZXJzLCB3ZSB3ZXJlIG5vdCByZW5kZXJpbmcgdGhpcyBmcmFt
ZS4KKyAgICAgICAgVG8gZml4IHRoaXMsIHdoZW4gdGhlIHZpZGVvIGxheWVycyBhcmUgcmVhZHks
IHdlIHJlZW5xdWV1ZSB0aGUgbGFzdCB2aWRlbyBmcmFtZSBhcyBuZWVlZGVkLgorCisgICAgICAg
IE1hbnVhbGx5IHRlc3RlZC4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbToKKwogMjAyMi0wMS0yMCAgWW91ZW5uIEZhYmxldCAgPHlv
dWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQ2xhcmlmeSB0aGF0IHNvbWUgVVVJRCByb3V0aW5l
cyBhcmUgZGVkaWNhdGVkIHRvIFVVSUQgdjQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlh
U3RyZWFtQVZGT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLmgKaW5kZXgg
NmQ5NTU2NzRkMDYyNzVhZTQzM2U1YTU0YTM3YzM0ZTZiZjM3ZjlhMi4uMWUxMDE2OTM2NDlmMmVk
MDkxNTMyY2EwNmRkODkyZjQ4NWRmYmE5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFT
dHJlYW1BVkZPYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLmgKQEAg
LTEzOCw2ICsxMzgsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBwcm9jZXNzTmV3VmlkZW9TYW1w
bGUoTWVkaWFTYW1wbGUmLCBWaWRlb1NhbXBsZU1ldGFkYXRhLCBTZWNvbmRzKTsKICAgICB2b2lk
IGVucXVldWVWaWRlb1NhbXBsZShNZWRpYVNhbXBsZSYpOworICAgIHZvaWQgcmVlbnF1ZXVlQ3Vy
cmVudFZpZGVvU2FtcGxlSWZBdmFpbGFibGUoKTsKICAgICB2b2lkIHJlcXVlc3ROb3RpZmljYXRp
b25XaGVuUmVhZHlGb3JWaWRlb0RhdGEoKTsKIAogICAgIHZvaWQgcGFpbnQoR3JhcGhpY3NDb250
ZXh0JiwgY29uc3QgRmxvYXRSZWN0Jikgb3ZlcnJpZGU7CkBAIC0xNjcsNiArMTY4LDcgQEAgcHJp
dmF0ZToKIAogICAgIHZvaWQgdXBkYXRlVHJhY2tzKCk7CiAgICAgdm9pZCB1cGRhdGVSZW5kZXJp
bmdNb2RlKCk7CisgICAgdm9pZCBzY2hlZHVsZVJlbmRlcmluZ01vZGVDaGFuZ2VkKCk7CiAgICAg
dm9pZCBjaGVja1NlbGVjdGVkVmlkZW9UcmFjaygpOwogICAgIHZvaWQgdXBkYXRlRGlzcGxheUxh
eWVyKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbQppbmRleCA0OWY0MmY5YzAyYjgyOTUz
MjU3NzM4YzM0NDA0M2RlYjQxMDg1MWMyLi40ZThhYzMwOWVjN2VlZjBkMWM5OWYzMTFkODljYjEx
ZDEyNTM0YWY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tCkBAIC0yNzcsNiArMjc3LDE4
IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjplbnF1ZXVlVmlk
ZW9TYW1wbGUoTWVkaWFTYW1wbGUmIHNhbXBsCiAgICAgbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5
ZXItPmVucXVldWVTYW1wbGUoc2FtcGxlKTsKIH0KIAordm9pZCBNZWRpYVBsYXllclByaXZhdGVN
ZWRpYVN0cmVhbUFWRk9iakM6OnJlZW5xdWV1ZUN1cnJlbnRWaWRlb1NhbXBsZUlmQXZhaWxhYmxl
KCkKK3sKKyAgICBpZiAoIW1fY3VycmVudFZpZGVvU2FtcGxlTG9jay50cnlMb2NrKCkpCisgICAg
ICAgIHJldHVybjsKKyAgICBMb2NrZXIgbG9ja2VyIHsgQWRvcHRMb2NrLCBtX2N1cnJlbnRWaWRl
b1NhbXBsZUxvY2sgfTsKKworICAgIGlmICghbV9jdXJyZW50VmlkZW9TYW1wbGUgJiYgIW1faW1h
Z2VQYWludGVyLm1lZGlhU2FtcGxlKQorICAgICAgICByZXR1cm47CisKKyAgICBlbnF1ZXVlVmlk
ZW9TYW1wbGUobV9jdXJyZW50VmlkZW9TYW1wbGUgPyAqbV9jdXJyZW50VmlkZW9TYW1wbGUgOiAq
bV9pbWFnZVBhaW50ZXIubWVkaWFTYW1wbGUpOworfQorCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhU3RyZWFtQVZGT2JqQzo6cHJvY2Vzc05ld1ZpZGVvU2FtcGxlKE1lZGlhU2FtcGxlJiBz
YW1wbGUsIFZpZGVvU2FtcGxlTWV0YWRhdGEgbWV0YWRhdGEsIFNlY29uZHMgcHJlc2VudGF0aW9u
VGltZSkKIHsKICAgICBpZiAoIWlzTWFpblRocmVhZCgpKSB7CkBAIC0zOTgsMTQgKzQxMCwxNiBA
QCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6bGF5ZXJzQXJlSW5p
dGlhbGl6ZWQoSW50U2l6ZSBzaXplLCBibwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAg
dXBkYXRlUmVuZGVyaW5nTW9kZSgpOworICAgIHNjaGVkdWxlUmVuZGVyaW5nTW9kZUNoYW5nZWQo
KTsKKworICAgIG1fY2FuRW5xdWV1ZURpc3BsYXlMYXllciA9IHRydWU7CisKKyAgICBtX3NhbXBs
ZUJ1ZmZlckRpc3BsYXlMYXllci0+dXBkYXRlQm91bmRzQW5kUG9zaXRpb24obV9zYW1wbGVCdWZm
ZXJEaXNwbGF5TGF5ZXItPnJvb3RMYXllcigpLmJvdW5kcywgbV92aWRlb1JvdGF0aW9uKTsKICAg
ICBtX3Nob3VsZFVwZGF0ZURpc3BsYXlMYXllciA9IHRydWU7CiAKICAgICBtX3ZpZGVvTGF5ZXJN
YW5hZ2VyLT5zZXRWaWRlb0xheWVyKG1fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLT5yb290TGF5
ZXIoKSwgc2l6ZSk7CiAKICAgICBbbV9ib3VuZHNDaGFuZ2VMaXN0ZW5lciBiZWdpbjptX3NhbXBs
ZUJ1ZmZlckRpc3BsYXlMYXllci0+cm9vdExheWVyKCldOwotCi0gICAgbV9jYW5FbnF1ZXVlRGlz
cGxheUxheWVyID0gdHJ1ZTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVh
bUFWRk9iakM6OmRlc3Ryb3lMYXllcnMoKQpAQCAtNDE2LDcgKzQzMCw3IEBAIHZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjpkZXN0cm95TGF5ZXJzKCkKICAgICBpZiAo
bV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIpCiAgICAgICAgIG1fc2FtcGxlQnVmZmVyRGlzcGxh
eUxheWVyID0gbnVsbHB0cjsKIAotICAgIHVwZGF0ZVJlbmRlcmluZ01vZGUoKTsKKyAgICBzY2hl
ZHVsZVJlbmRlcmluZ01vZGVDaGFuZ2VkKCk7CiAgICAgCiAgICAgbV92aWRlb0xheWVyTWFuYWdl
ci0+ZGlkRGVzdHJveVZpZGVvTGF5ZXIoKTsKIH0KQEAgLTcxMSwxNCArNzI1LDE4IEBAIHZvaWQg
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjphY3RpdmVTdGF0dXNDaGFuZ2Vk
KCkKIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OnVwZGF0ZVJl
bmRlcmluZ01vZGUoKQogewotICAgIGlmICghdXBkYXRlRGlzcGxheU1vZGUoKSkKLSAgICAgICAg
cmV0dXJuOworICAgIGlmICh1cGRhdGVEaXNwbGF5TW9kZSgpKQorICAgICAgICBzY2hlZHVsZVJl
bmRlcmluZ01vZGVDaGFuZ2VkKCk7Cit9CiAKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFT
dHJlYW1BVkZPYmpDOjpzY2hlZHVsZVJlbmRlcmluZ01vZGVDaGFuZ2VkKCkKK3sKICAgICBzY2hl
ZHVsZURlZmVycmVkVGFzayhbdGhpc10gewogICAgICAgICBpZiAobV9wbGF5ZXIpCiAgICAgICAg
ICAgICBtX3BsYXllci0+cmVuZGVyaW5nTW9kZUNoYW5nZWQoKTsKKyAgICAgICAgaWYgKG1fY2Fu
RW5xdWV1ZURpc3BsYXlMYXllcikKKyAgICAgICAgICAgIHJlZW5xdWV1ZUN1cnJlbnRWaWRlb1Nh
bXBsZUlmQXZhaWxhYmxlKCk7CiAgICAgfSk7Ci0KIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZh
dGVNZWRpYVN0cmVhbUFWRk9iakM6OmNoYXJhY3RlcmlzdGljc0NoYW5nZWQoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449663</attachid>
            <date>2022-01-21 09:08:45 -0800</date>
            <delta_ts>2022-01-24 04:42:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230623-20220121180843.patch</filename>
            <type>text/plain</type>
            <size>6297</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjc2YzI5ZTNiZGRjMTQx
OGQxNTgyNmM5ODUzNzRhNGYyYjBmNDQ4My4uYjQ2Njg5ZDIzZDcyMTRjOGYwYWYzYjExMzk3Yzg2
ZDdmOTc5YTUwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIyLTAxLTIxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVN0cmVhbSBjYW52
YXMuY2FwdHVyZVN0cmVhbSgpIHBsYXliYWNrIHRvIExvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxh
eWVyIGlzIGZsYWt5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzA2MjMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgzNjY4NTc4PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXJlIGFyZSBhIGZldyBp
c3N1ZXMgd2hlbiBjcmVhdGluZyB0aGUgdmlkZW8gZWxlbWVudCwgc2V0dGluZyB0aGUgc3JjT2Jq
ZWN0IGFuZCBwbGF5aW5nIGl0IHJpZ2h0IGF3YXkuCisgICAgICAgIFRoZSBmaXJzdCB0aGluZyBp
cyB0aGF0IHdlIHRyeSB0byByZW5kZXIgdGhlIHZpZGVvIGVsZW1lbnQgd2hpbGUgdGhpbmtpbmcg
dGhhdCBpdCBtaWdodCBiZSB2aWRlbyBhY2NlbGVyYXRlZAorICAgICAgICAoaXQgaXMgYWx3YXlz
IHRoZSBjYXNlIGZvciBNZWRpYVN0cmVhbVRyYWNrIGJhc2VkIHRyYWNrcyksIGJ1dCB0aGUgdmlk
ZW8gZWxlbWVudCBpcyBhc3luY2hyb25vdXNseSB1cGRhdGluZyB3aGV0aGVyIGl0IGlzIGFjY2Vs
ZXJhdGVkLgorICAgICAgICBGb2xsb3dpbmcgd2hhdCBvdGhlciBNZWRpYVBsYXllclByaXZhdGUg
YXJlIGRvaW5nLCB3aGVuIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQyBoYXMg
c2V0IHVwIGl0cyB2aWRlbyBsYXllcnMsCisgICAgICAgIHdlIHNjaGVkdWxlIGEgY2FsbCB0byBy
ZW5kZXJpbmdNb2RlQ2hhbmdlZCB3aGljaCB3aWxsIHRyaWdnZXIgYSByZWxheW91dC4KKworICAg
ICAgICBXZSBhbHNvIGVuc3VyZSwgd2hlbiB0aGUgbGF5ZXIgaXMgZnVsbHkgaW5pdGlhbGl6ZWQg
dG8gc2V0IGFsbCB2YWx1ZXMgKGJvdW5kcywgaGlkZSBzdGF0ZXMpIGFzIG90aGVyd2lzZSwgdGhp
cyBtaWdodCBiZSBsb3N0IG9uIEdQVVByb2Nlc3MKKyAgICAgICAgd2hpY2ggY3VycmVudGx5IGRv
ZXMgbm90IHJlZ2lzdGVyIGEgUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyIGF0IHRoZSB0
aW1lIHRoZSBjb3JyZXNwb25kaW5nIElQQyBtZXNzYWdlIGlzIHJlY2VpdmVkLgorCisgICAgICAg
IFRoZSBhZGRpdGlvbmFsIGlzc3VlIGlzIGluIHRoZSBjYXNlIHRoZSBNZWRpYVN0cmVhbVRyYWNr
IHNvdXJjZSBvbmx5IGdlbmVyYXRlcyBvbmUgZnJhbWUgZm9yIHNvbWUgdGltZS4KKyAgICAgICAg
SW4gdGhhdCBjYXNlLCBhbmQgaWYgdGhlIGZyYW1lIGlzIGVucXVldWV1ZCB3aGlsZSBzZXR0aW5n
IHVwIHRoZSB2aWRlbyBsYXllcnMsIHdlIHdlcmUgbm90IHJlbmRlcmluZyB0aGlzIGZyYW1lLgor
ICAgICAgICBUbyBmaXggdGhpcywgd2hlbiB0aGUgdmlkZW8gbGF5ZXJzIGFyZSByZWFkeSwgd2Ug
cmVlbnF1ZXVlIHRoZSBsYXN0IHZpZGVvIGZyYW1lIGFzIG5lZWVkZWQuCisKKyAgICAgICAgTWFu
dWFsbHkgdGVzdGVkLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLmg6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTdHJlYW1BVkZPYmpDLm1tOgorCiAyMDIyLTAxLTIwICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5u
QGFwcGxlLmNvbT4KIAogICAgICAgICBDbGFyaWZ5IHRoYXQgc29tZSBVVUlEIHJvdXRpbmVzIGFy
ZSBkZWRpY2F0ZWQgdG8gVVVJRCB2NApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJl
YW1BVkZPYmpDLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaAppbmRleCA2ZDk1
NTY3NGQwNjI3NWFlNDMzZTVhNTRhMzdjMzRlNmJmMzdmOWEyLi5kOGY0MDI4Y2U2Y2Q0NzgzZDlk
NGIwMzAwNTIxMjdjYmEyNDdkOGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVh
bUFWRk9iakMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaApAQCAtMTM4
LDYgKzEzOCw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHByb2Nlc3NOZXdWaWRlb1NhbXBsZShN
ZWRpYVNhbXBsZSYsIFZpZGVvU2FtcGxlTWV0YWRhdGEsIFNlY29uZHMpOwogICAgIHZvaWQgZW5x
dWV1ZVZpZGVvU2FtcGxlKE1lZGlhU2FtcGxlJik7CisgICAgdm9pZCByZWVucXVldWVDdXJyZW50
VmlkZW9TYW1wbGVJZk5lZWRlZCgpOwogICAgIHZvaWQgcmVxdWVzdE5vdGlmaWNhdGlvbldoZW5S
ZWFkeUZvclZpZGVvRGF0YSgpOwogCiAgICAgdm9pZCBwYWludChHcmFwaGljc0NvbnRleHQmLCBj
b25zdCBGbG9hdFJlY3QmKSBvdmVycmlkZTsKQEAgLTE2Nyw2ICsxNjgsNyBAQCBwcml2YXRlOgog
CiAgICAgdm9pZCB1cGRhdGVUcmFja3MoKTsKICAgICB2b2lkIHVwZGF0ZVJlbmRlcmluZ01vZGUo
KTsKKyAgICB2b2lkIHNjaGVkdWxlUmVuZGVyaW5nTW9kZUNoYW5nZWQoKTsKICAgICB2b2lkIGNo
ZWNrU2VsZWN0ZWRWaWRlb1RyYWNrKCk7CiAgICAgdm9pZCB1cGRhdGVEaXNwbGF5TGF5ZXIoKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQ
cml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tCmluZGV4IDQ5ZjQyZjljMDJiODI5NTMyNTc3Mzhj
MzQ0MDQzZGViNDEwODUxYzIuLjA3ZmQ1MWNhNjhlY2Q0ZjM1ZmQ4OGM2Y2ZhMDExODdkNTM5NmRh
ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBs
YXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW0KQEAgLTI3Nyw2ICsyNzcsMTggQEAgdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OmVucXVldWVWaWRlb1NhbXBs
ZShNZWRpYVNhbXBsZSYgc2FtcGwKICAgICBtX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci0+ZW5x
dWV1ZVNhbXBsZShzYW1wbGUpOwogfQogCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3Ry
ZWFtQVZGT2JqQzo6cmVlbnF1ZXVlQ3VycmVudFZpZGVvU2FtcGxlSWZOZWVkZWQoKQoreworICAg
IGlmICghbV9jdXJyZW50VmlkZW9TYW1wbGVMb2NrLnRyeUxvY2soKSkKKyAgICAgICAgcmV0dXJu
OworICAgIExvY2tlciBsb2NrZXIgeyBBZG9wdExvY2ssIG1fY3VycmVudFZpZGVvU2FtcGxlTG9j
ayB9OworCisgICAgaWYgKCFtX2N1cnJlbnRWaWRlb1NhbXBsZSAmJiAhbV9pbWFnZVBhaW50ZXIu
bWVkaWFTYW1wbGUpCisgICAgICAgIHJldHVybjsKKworICAgIGVucXVldWVWaWRlb1NhbXBsZSht
X2N1cnJlbnRWaWRlb1NhbXBsZSA/ICptX2N1cnJlbnRWaWRlb1NhbXBsZSA6ICptX2ltYWdlUGFp
bnRlci5tZWRpYVNhbXBsZSk7Cit9CisKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJl
YW1BVkZPYmpDOjpwcm9jZXNzTmV3VmlkZW9TYW1wbGUoTWVkaWFTYW1wbGUmIHNhbXBsZSwgVmlk
ZW9TYW1wbGVNZXRhZGF0YSBtZXRhZGF0YSwgU2Vjb25kcyBwcmVzZW50YXRpb25UaW1lKQogewog
ICAgIGlmICghaXNNYWluVGhyZWFkKCkpIHsKQEAgLTM5OCw3ICs0MTAsMTAgQEAgdm9pZCBNZWRp
YVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OmxheWVyc0FyZUluaXRpYWxpemVkKElu
dFNpemUgc2l6ZSwgYm8KICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIHVwZGF0ZVJlbmRl
cmluZ01vZGUoKTsKKyAgICBzY2hlZHVsZVJlbmRlcmluZ01vZGVDaGFuZ2VkKCk7CisKKyAgICBt
X3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci0+dXBkYXRlQm91bmRzQW5kUG9zaXRpb24obV9zYW1w
bGVCdWZmZXJEaXNwbGF5TGF5ZXItPnJvb3RMYXllcigpLmJvdW5kcywgbV92aWRlb1JvdGF0aW9u
KTsKKyAgICBtX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci0+dXBkYXRlRGlzcGxheU1vZGUobV9k
aXNwbGF5TW9kZSA8IFBhdXNlZEltYWdlLCBoaWRlUm9vdExheWVyKCkpOwogICAgIG1fc2hvdWxk
VXBkYXRlRGlzcGxheUxheWVyID0gdHJ1ZTsKIAogICAgIG1fdmlkZW9MYXllck1hbmFnZXItPnNl
dFZpZGVvTGF5ZXIobV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXItPnJvb3RMYXllcigpLCBzaXpl
KTsKQEAgLTQxNiw3ICs0MzEsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFt
QVZGT2JqQzo6ZGVzdHJveUxheWVycygpCiAgICAgaWYgKG1fc2FtcGxlQnVmZmVyRGlzcGxheUxh
eWVyKQogICAgICAgICBtX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllciA9IG51bGxwdHI7CiAKLSAg
ICB1cGRhdGVSZW5kZXJpbmdNb2RlKCk7CisgICAgc2NoZWR1bGVSZW5kZXJpbmdNb2RlQ2hhbmdl
ZCgpOwogICAgIAogICAgIG1fdmlkZW9MYXllck1hbmFnZXItPmRpZERlc3Ryb3lWaWRlb0xheWVy
KCk7CiB9CkBAIC01NTEsNiArNTY2LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0
cmVhbUFWRk9iakM6OnBsYXkoKQogICAgIGlmIChtX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcikK
ICAgICAgICAgbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXItPnBsYXkoKTsKICAgICB1cGRhdGVE
aXNwbGF5TW9kZSgpOworICAgIHJlZW5xdWV1ZUN1cnJlbnRWaWRlb1NhbXBsZUlmTmVlZGVkKCk7
CiAKICAgICBzY2hlZHVsZURlZmVycmVkVGFzayhbdGhpc10gewogICAgICAgICB1cGRhdGVSZWFk
eVN0YXRlKCk7CkBAIC02MjIsNiArNjM4LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRp
YVN0cmVhbUFWRk9iakM6OnNldFBhZ2VJc1Zpc2libGUoYm9vbCBpc1Zpc2libGUpCiAKICAgICBt
X2lzUGFnZVZpc2libGUgPSBpc1Zpc2libGU7CiAgICAgZmx1c2hSZW5kZXJlcnMoKTsKKyAgICBy
ZWVucXVldWVDdXJyZW50VmlkZW9TYW1wbGVJZk5lZWRlZCgpOwogfQogCiB2b2lkIE1lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6c2V0VmlzaWJsZUZvckNhbnZhcyhib29sKQpA
QCAtNzExLDE0ICs3MjgsMTcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFW
Rk9iakM6OmFjdGl2ZVN0YXR1c0NoYW5nZWQoKQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU3RyZWFtQVZGT2JqQzo6dXBkYXRlUmVuZGVyaW5nTW9kZSgpCiB7Ci0gICAgaWYgKCF1cGRh
dGVEaXNwbGF5TW9kZSgpKQotICAgICAgICByZXR1cm47CisgICAgaWYgKHVwZGF0ZURpc3BsYXlN
b2RlKCkpCisgICAgICAgIHNjaGVkdWxlUmVuZGVyaW5nTW9kZUNoYW5nZWQoKTsKK30KIAordm9p
ZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OnNjaGVkdWxlUmVuZGVyaW5n
TW9kZUNoYW5nZWQoKQorewogICAgIHNjaGVkdWxlRGVmZXJyZWRUYXNrKFt0aGlzXSB7CiAgICAg
ICAgIGlmIChtX3BsYXllcikKICAgICAgICAgICAgIG1fcGxheWVyLT5yZW5kZXJpbmdNb2RlQ2hh
bmdlZCgpOworICAgICAgICByZWVucXVldWVDdXJyZW50VmlkZW9TYW1wbGVJZk5lZWRlZCgpOwog
ICAgIH0pOwotCiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpD
OjpjaGFyYWN0ZXJpc3RpY3NDaGFuZ2VkKCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>