<?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>216555</bug_id>
          
          <creation_ts>2020-09-15 09:07:42 -0700</creation_ts>
          <short_desc>Improve thread-safety in ScriptProcessorNode implementation</short_desc>
          <delta_ts>2020-09-15 11:58:16 -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>Web Audio</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>212611</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1688703</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-09-15 09:07:42 -0700</bug_when>
    <thetext>Improve thread-safety in ScriptProcessorNode implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688705</commentid>
    <comment_count>1</comment_count>
      <attachid>408822</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-09-15 09:10:01 -0700</bug_when>
    <thetext>Created attachment 408822
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688733</commentid>
    <comment_count>2</comment_count>
      <attachid>408822</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-09-15 10:01:41 -0700</bug_when>
    <thetext>Comment on attachment 408822
Patch

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

&gt; Source/WebCore/Modules/webaudio/ScriptProcessorNode.cpp:189
&gt; +            // Reference ourself so we don&apos;t accidentally get deleted before fireProcessEvent() gets called.
&gt; +            ref();

Can this just be a RefPtr?

Also: How is it OK that the main thread can ref/deref at any time? I don&apos;t see anything that would make that reference count correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688735</commentid>
    <comment_count>3</comment_count>
      <attachid>408822</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-09-15 10:04:26 -0700</bug_when>
    <thetext>Comment on attachment 408822
Patch

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

&gt;&gt; Source/WebCore/Modules/webaudio/ScriptProcessorNode.cpp:189
&gt;&gt; +            ref();
&gt; 
&gt; Can this just be a RefPtr?
&gt; 
&gt; Also: How is it OK that the main thread can ref/deref at any time? I don&apos;t see anything that would make that reference count correct.

This is not new code. I will check, we may be able to use RefPtr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688744</commentid>
    <comment_count>4</comment_count>
      <attachid>408830</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-09-15 10:34:00 -0700</bug_when>
    <thetext>Created attachment 408830
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688745</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-09-15 10:34:44 -0700</bug_when>
    <thetext>I switched the code to using a Ref&lt;&gt; instead of explicit ref/deref, as suggested.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688774</commentid>
    <comment_count>6</comment_count>
      <attachid>408830</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-09-15 11:31:08 -0700</bug_when>
    <thetext>Comment on attachment 408830
Patch

r=me

This seems like an improvement; but I&apos;m pretty sure this code is still not thread-safe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688791</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-15 11:57:18 -0700</bug_when>
    <thetext>Committed r267094: &lt;https://trac.webkit.org/changeset/267094&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 408830.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688793</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-15 11:58:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/68934215&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408822</attachid>
            <date>2020-09-15 09:10:01 -0700</date>
            <delta_ts>2020-09-15 10:33:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216555-20200915091001.patch</filename>
            <type>text/plain</type>
            <size>8044</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3MDg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjg4Mzg1NDQ1NjJjZDM3
Zjc2MTQzZWUxOGNkY2I0NGVkN2NhZGYzNC4uMjAwMmMyY2E1MDBhMjcwYTMwOGYwOTE4ZDk3ZDZi
OTdiYTgyNmFmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTA5LTE1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wcm92ZSB0aHJlYWQtc2Fm
ZXR5IGluIFNjcmlwdFByb2Nlc3Nvck5vZGUgaW1wbGVtZW50YXRpb24KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNjU1NQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcHJvdmUgdGhyZWFkLXNhZmV0eSBp
biBTY3JpcHRQcm9jZXNzb3JOb2RlIGltcGxlbWVudGF0aW9uOgorICAgICAgICAtIFVzZSBhIExv
Y2sgaW5zdGVhZCBvZiBhIHZvbGF0aWxlIGJvb2wgdG8gZGV0ZXJtaW5lIGlmIHRoZSBtYWluIHRo
cmVhZAorICAgICAgICAgIGlzIHN0aWxsIGJ1c3kgZmlyaW5nIHRoZSBldmVudC4KKyAgICAgICAg
LSBQYXNzIHRoZSBkb3VibGVCdWZmZXJJbmRleCB0byB0aGUgbWFpbiB0aHJlYWQgYnkgY2FwdHVy
aW5nIGl0IGluIHRoZQorICAgICAgICAgIGxhbWJkYSBpbnN0ZWFkIG9mIHJlbHlpbmcgb24gYSBk
YXRhIG1lbWJlci4KKworICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29y
Tm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRQcm9jZXNzb3JOb2RlOjpTY3JpcHRQ
cm9jZXNzb3JOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFByb2Nlc3Nvck5vZGU6OnBy
b2Nlc3MpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0UHJvY2Vzc29yTm9kZTo6ZmlyZVByb2Nl
c3NFdmVudCk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2Rl
Lmg6CisKIDIwMjAtMDktMTQgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxpYS5j
b20+CiAKICAgICAgICAgW2Nzcy1mbGV4Ym94XSBJbmRlZmluaXRlIGZsZXgtYmFzaXMgcGVyY2Vu
dGFnZSBzaG91bGQgY2F1c2UgaGVpZ2h0IHRvIGJlIGlnbm9yZWQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuY3BwCmluZGV4
IGIxZjcxNmE0ZWRmYWI2YzEzOGRjN2NkN2M5OTdlMmEwMTZjZWVjZjYuLjQ4ZTBjNWNjZGNhNWYy
ZWMzMWJiOTg3ODY2MTZiNzJjOTY2NjA1ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmNwcApAQCAtNTQsMTAgKzU0
LDggQEAgU2NyaXB0UHJvY2Vzc29yTm9kZTo6U2NyaXB0UHJvY2Vzc29yTm9kZShCYXNlQXVkaW9D
b250ZXh0JiBjb250ZXh0LCBzaXplX3QgYnVmZmUKICAgICA6IEF1ZGlvTm9kZShjb250ZXh0KQog
ICAgICwgQWN0aXZlRE9NT2JqZWN0KGNvbnRleHQuc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKQog
ICAgICwgbV9kb3VibGVCdWZmZXJJbmRleCgwKQotICAgICwgbV9kb3VibGVCdWZmZXJJbmRleEZv
ckV2ZW50KDApCiAgICAgLCBtX2J1ZmZlclNpemUoYnVmZmVyU2l6ZSkKICAgICAsIG1fYnVmZmVy
UmVhZFdyaXRlSW5kZXgoMCkKLSAgICAsIG1faXNSZXF1ZXN0T3V0c3RhbmRpbmcoZmFsc2UpCiAg
ICAgLCBtX251bWJlck9mSW5wdXRDaGFubmVscyhudW1iZXJPZklucHV0Q2hhbm5lbHMpCiAgICAg
LCBtX251bWJlck9mT3V0cHV0Q2hhbm5lbHMobnVtYmVyT2ZPdXRwdXRDaGFubmVscykKICAgICAs
IG1faW50ZXJuYWxJbnB1dEJ1cyhBdWRpb0J1czo6Y3JlYXRlKG51bWJlck9mSW5wdXRDaGFubmVs
cywgQXVkaW9Ob2RlOjpQcm9jZXNzaW5nU2l6ZUluRnJhbWVzLCBmYWxzZSkpCkBAIC0xODUsNjMg
KzE4Myw2MCBAQCB2b2lkIFNjcmlwdFByb2Nlc3Nvck5vZGU6OnByb2Nlc3Moc2l6ZV90IGZyYW1l
c1RvUHJvY2VzcykKICAgICAvLyBtX2J1ZmZlclJlYWRXcml0ZUluZGV4IHdpbGwgd3JhcCBiYWNr
IGFyb3VuZCB0byAwIHdoZW4gdGhlIGN1cnJlbnQgaW5wdXQgYW5kIG91dHB1dCBidWZmZXJzIGFy
ZSBmdWxsLgogICAgIC8vIFdoZW4gdGhpcyBoYXBwZW5zLCBmaXJlIGFuIGV2ZW50IGFuZCBzd2Fw
IGJ1ZmZlcnMuCiAgICAgaWYgKCFtX2J1ZmZlclJlYWRXcml0ZUluZGV4KSB7Ci0gICAgICAgIC8v
IEF2b2lkIGJ1aWxkaW5nIHVwIHJlcXVlc3RzIG9uIHRoZSBtYWluIHRocmVhZCB0byBmaXJlIHBy
b2Nlc3MgZXZlbnRzIHdoZW4gdGhleSdyZSBub3QgYmVpbmcgaGFuZGxlZC4KLSAgICAgICAgLy8g
VGhpcyBjb3VsZCBiZSBhIHByb2JsZW0gaWYgdGhlIG1haW4gdGhyZWFkIGlzIHZlcnkgYnVzeSBk
b2luZyBvdGhlciB0aGluZ3MgYW5kIGlzIGJlaW5nIGhlbGQgdXAgaGFuZGxpbmcgcHJldmlvdXMg
cmVxdWVzdHMuCi0gICAgICAgIGlmIChtX2lzUmVxdWVzdE91dHN0YW5kaW5nKSB7Ci0gICAgICAg
ICAgICAvLyBXZSdyZSBsYXRlIGluIGhhbmRsaW5nIHRoZSBwcmV2aW91cyByZXF1ZXN0LiBUaGUg
bWFpbiB0aHJlYWQgbXVzdCBiZSB2ZXJ5IGJ1c3kuCi0gICAgICAgICAgICAvLyBUaGUgYmVzdCB3
ZSBjYW4gZG8gaXMgY2xlYXIgb3V0IHRoZSBidWZmZXIgb3Vyc2VsZiBoZXJlLgotICAgICAgICAg
ICAgb3V0cHV0QnVmZmVyLT56ZXJvKCk7ICAgICAgICAgICAgCisgICAgICAgIC8vIFdlIG9ubHkg
d2FpdCBmb3Igc2NyaXB0IGNvZGUgZXhlY3V0aW9uIHdoZW4gdGhlIGNvbnRleHQgaXMgYW4gb2Zm
bGluZSBvbmUgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMuCisgICAgICAgIGlmIChjb250ZXh0KCku
aXNPZmZsaW5lQ29udGV4dCgpKSB7CisgICAgICAgICAgICAvLyBSZWZlcmVuY2Ugb3Vyc2VsZiBz
byB3ZSBkb24ndCBhY2NpZGVudGFsbHkgZ2V0IGRlbGV0ZWQgYmVmb3JlIGZpcmVQcm9jZXNzRXZl
bnQoKSBnZXRzIGNhbGxlZC4KKyAgICAgICAgICAgIHJlZigpOworCisgICAgICAgICAgICBCaW5h
cnlTZW1hcGhvcmUgc2VtYXBob3JlOworICAgICAgICAgICAgY2FsbE9uTWFpblRocmVhZChbdGhp
cywgJnNlbWFwaG9yZSwgZG91YmxlQnVmZmVySW5kZXggPSBtX2RvdWJsZUJ1ZmZlckluZGV4XSB7
CisgICAgICAgICAgICAgICAgZmlyZVByb2Nlc3NFdmVudChkb3VibGVCdWZmZXJJbmRleCk7Cisg
ICAgICAgICAgICAgICAgc2VtYXBob3JlLnNpZ25hbCgpOworICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICBzZW1hcGhvcmUud2FpdCgpOworICAgICAgICAgICAgLy8gRGUtcmVmZXJlbmNlIHRv
IG1hdGNoIHRoZSByZWYoKSBjYWxsIGluIHByb2Nlc3MoKS4KKyAgICAgICAgICAgIGRlcmVmKCk7
CiAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBzdGQ6OnVuaXF1ZV9sb2NrPExvY2s+IGxv
Y2sobV9wcm9jZXNzTG9jaywgc3RkOjp0cnlfdG9fbG9jayk7CisgICAgICAgICAgICBpZiAoIWxv
Y2sub3duc19sb2NrKCkpIHsKKyAgICAgICAgICAgICAgICAvLyBXZSdyZSBsYXRlIGluIGhhbmRs
aW5nIHRoZSBwcmV2aW91cyByZXF1ZXN0LiBUaGUgbWFpbiB0aHJlYWQgbXVzdCBiZQorICAgICAg
ICAgICAgICAgIC8vIHZlcnkgYnVzeS4gVGhlIGJlc3Qgd2UgY2FuIGRvIGlzIGNsZWFyIG91dCB0
aGUgYnVmZmVyIG91cnNlbGYgaGVyZS4KKyAgICAgICAgICAgICAgICBvdXRwdXRCdWZmZXItPnpl
cm8oKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisKICAgICAgICAg
ICAgIC8vIFJlZmVyZW5jZSBvdXJzZWxmIHNvIHdlIGRvbid0IGFjY2lkZW50YWxseSBnZXQgZGVs
ZXRlZCBiZWZvcmUgZmlyZVByb2Nlc3NFdmVudCgpIGdldHMgY2FsbGVkLgogICAgICAgICAgICAg
cmVmKCk7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIC8vIEZpcmUgdGhlIGV2ZW50IG9uIHRo
ZSBtYWluIHRocmVhZCwgbm90IHRoaXMgb25lICh3aGljaCBpcyB0aGUgcmVhbHRpbWUgYXVkaW8g
dGhyZWFkKS4KLSAgICAgICAgICAgIG1fZG91YmxlQnVmZmVySW5kZXhGb3JFdmVudCA9IG1fZG91
YmxlQnVmZmVySW5kZXg7Ci0gICAgICAgICAgICBtX2lzUmVxdWVzdE91dHN0YW5kaW5nID0gdHJ1
ZTsKLQotICAgICAgICAgICAgLy8gV2Ugb25seSB3YWl0IGZvciBzY3JpcHQgY29kZSBleGVjdXRp
b24gd2hlbiB0aGUgY29udGV4dCBpcyBhbiBvZmZsaW5lIG9uZSBmb3IgcGVyZm9ybWFuY2UgcmVh
c29ucy4KLSAgICAgICAgICAgIGlmIChjb250ZXh0KCkuaXNPZmZsaW5lQ29udGV4dCgpKSB7Ci0g
ICAgICAgICAgICAgICAgQmluYXJ5U2VtYXBob3JlIHNlbWFwaG9yZTsKLSAgICAgICAgICAgICAg
ICBjYWxsT25NYWluVGhyZWFkKFt0aGlzLCAmc2VtYXBob3JlXSB7Ci0gICAgICAgICAgICAgICAg
ICAgIGZpcmVQcm9jZXNzRXZlbnQoKTsKLSAgICAgICAgICAgICAgICAgICAgc2VtYXBob3JlLnNp
Z25hbCgpOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIHNlbWFwaG9yZS53
YWl0KCk7CisKKyAgICAgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3RoaXMsIGRvdWJsZUJ1ZmZl
ckluZGV4ID0gbV9kb3VibGVCdWZmZXJJbmRleF0geworICAgICAgICAgICAgICAgIGF1dG8gbG9j
a2VyID0gaG9sZExvY2sobV9wcm9jZXNzTG9jayk7CisgICAgICAgICAgICAgICAgZmlyZVByb2Nl
c3NFdmVudChkb3VibGVCdWZmZXJJbmRleCk7CiAgICAgICAgICAgICAgICAgLy8gRGUtcmVmZXJl
bmNlIHRvIG1hdGNoIHRoZSByZWYoKSBjYWxsIGluIHByb2Nlc3MoKS4KICAgICAgICAgICAgICAg
ICBkZXJlZigpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBjYWxsT25N
YWluVGhyZWFkKFt0aGlzXSB7Ci0gICAgICAgICAgICAgICAgICAgIGZpcmVQcm9jZXNzRXZlbnQo
KTsKLSAgICAgICAgICAgICAgICAgICAgLy8gRGUtcmVmZXJlbmNlIHRvIG1hdGNoIHRoZSByZWYo
KSBjYWxsIGluIHByb2Nlc3MoKS4KLSAgICAgICAgICAgICAgICAgICAgZGVyZWYoKTsKLSAgICAg
ICAgICAgICAgICB9KTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0pOwogICAgICAgICB9
CiAKICAgICAgICAgc3dhcEJ1ZmZlcnMoKTsKICAgICB9CiB9CiAKLXZvaWQgU2NyaXB0UHJvY2Vz
c29yTm9kZTo6ZmlyZVByb2Nlc3NFdmVudCgpCit2b2lkIFNjcmlwdFByb2Nlc3Nvck5vZGU6OmZp
cmVQcm9jZXNzRXZlbnQodW5zaWduZWQgZG91YmxlQnVmZmVySW5kZXgpCiB7Ci0gICAgQVNTRVJU
KGlzTWFpblRocmVhZCgpICYmIG1faXNSZXF1ZXN0T3V0c3RhbmRpbmcpOworICAgIEFTU0VSVChp
c01haW5UaHJlYWQoKSk7CiAgICAgCi0gICAgYm9vbCBpc0luZGV4R29vZCA9IG1fZG91YmxlQnVm
ZmVySW5kZXhGb3JFdmVudCA8IDI7CisgICAgYm9vbCBpc0luZGV4R29vZCA9IGRvdWJsZUJ1ZmZl
ckluZGV4IDwgMjsKICAgICBBU1NFUlQoaXNJbmRleEdvb2QpOwogICAgIGlmICghaXNJbmRleEdv
b2QpCiAgICAgICAgIHJldHVybjsKICAgICAgICAgCi0gICAgQXVkaW9CdWZmZXIqIGlucHV0QnVm
ZmVyID0gbV9pbnB1dEJ1ZmZlcnNbbV9kb3VibGVCdWZmZXJJbmRleEZvckV2ZW50XS5nZXQoKTsK
LSAgICBBdWRpb0J1ZmZlciogb3V0cHV0QnVmZmVyID0gbV9vdXRwdXRCdWZmZXJzW21fZG91Ymxl
QnVmZmVySW5kZXhGb3JFdmVudF0uZ2V0KCk7CisgICAgQXVkaW9CdWZmZXIqIGlucHV0QnVmZmVy
ID0gbV9pbnB1dEJ1ZmZlcnNbZG91YmxlQnVmZmVySW5kZXhdLmdldCgpOworICAgIEF1ZGlvQnVm
ZmVyKiBvdXRwdXRCdWZmZXIgPSBtX291dHB1dEJ1ZmZlcnNbZG91YmxlQnVmZmVySW5kZXhdLmdl
dCgpOwogICAgIEFTU0VSVChvdXRwdXRCdWZmZXIpOwogICAgIGlmICghb3V0cHV0QnVmZmVyKQog
ICAgICAgICByZXR1cm47CiAKICAgICAvLyBBdm9pZCBmaXJpbmcgdGhlIGV2ZW50IGlmIHRoZSBk
b2N1bWVudCBoYXMgYWxyZWFkeSBnb25lIGF3YXkuCiAgICAgaWYgKCFjb250ZXh0KCkuaXNTdG9w
cGVkKCkpIHsKLSAgICAgICAgLy8gTGV0IHRoZSBhdWRpbyB0aHJlYWQga25vdyB3ZSd2ZSBnb3R0
ZW4gdG8gdGhlIHBvaW50IHdoZXJlIGl0J3MgT0sgZm9yIGl0IHRvIG1ha2UgYW5vdGhlciByZXF1
ZXN0LgotICAgICAgICBtX2lzUmVxdWVzdE91dHN0YW5kaW5nID0gZmFsc2U7Ci0KICAgICAgICAg
Ly8gQ2FsY3VsYXRlIHBsYXliYWNrVGltZSB3aXRoIHRoZSBidWZmZXJzaXplIHdoaWNoIG5lZWRz
IHRvIGJlIHByb2Nlc3NlZCBlYWNoIHRpbWUgd2hlbiBvbmF1ZGlvcHJvY2VzcyBpcyBjYWxsZWQu
CiAgICAgICAgIC8vIFRoZSBvdXRwdXRCdWZmZXIgYmVpbmcgcGFzc2VkIHRvIEpTIHdpbGwgYmUg
cGxheWVkIGFmdGVyIGV4aGF1c3RpbmcgcHJldmlvdXMgb3V0cHV0QnVmZmVyIGJ5IGRvdWJsZS1i
dWZmZXJpbmcuCiAgICAgICAgIGRvdWJsZSBwbGF5YmFja1RpbWUgPSAoY29udGV4dCgpLmN1cnJl
bnRTYW1wbGVGcmFtZSgpICsgbV9idWZmZXJTaXplKSAvIHN0YXRpY19jYXN0PGRvdWJsZT4oY29u
dGV4dCgpLnNhbXBsZVJhdGUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5oCmluZGV4IDYyNTZlNzRmZjVhMzQ3MjQ2NzA3
NjZmNTJmMzlkM2QwNTg2MzMwMGMuLjU1ZmJhYmNhY2I2NTNlNWUxZTk1MmMwYzdkYzg2MjY2YzQx
NTA3N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0
UHJvY2Vzc29yTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2Ny
aXB0UHJvY2Vzc29yTm9kZS5oCkBAIC03NCwyNSArNzQsMjQgQEAgcHJpdmF0ZToKIAogICAgIFNj
cmlwdFByb2Nlc3Nvck5vZGUoQmFzZUF1ZGlvQ29udGV4dCYsIHNpemVfdCBidWZmZXJTaXplLCB1
bnNpZ25lZCBudW1iZXJPZklucHV0Q2hhbm5lbHMsIHVuc2lnbmVkIG51bWJlck9mT3V0cHV0Q2hh
bm5lbHMpOwogCi0gICAgdm9pZCBmaXJlUHJvY2Vzc0V2ZW50KCk7CisgICAgdm9pZCBmaXJlUHJv
Y2Vzc0V2ZW50KHVuc2lnbmVkIGRvdWJsZUJ1ZmZlckluZGV4KTsKIAogICAgIC8vIERvdWJsZSBi
dWZmZXJpbmcKICAgICB1bnNpZ25lZCBkb3VibGVCdWZmZXJJbmRleCgpIGNvbnN0IHsgcmV0dXJu
IG1fZG91YmxlQnVmZmVySW5kZXg7IH0KICAgICB2b2lkIHN3YXBCdWZmZXJzKCkgeyBtX2RvdWJs
ZUJ1ZmZlckluZGV4ID0gMSAtIG1fZG91YmxlQnVmZmVySW5kZXg7IH0KICAgICB1bnNpZ25lZCBt
X2RvdWJsZUJ1ZmZlckluZGV4OwotICAgIHVuc2lnbmVkIG1fZG91YmxlQnVmZmVySW5kZXhGb3JF
dmVudDsKICAgICBWZWN0b3I8UmVmUHRyPEF1ZGlvQnVmZmVyPj4gbV9pbnB1dEJ1ZmZlcnM7CiAg
ICAgVmVjdG9yPFJlZlB0cjxBdWRpb0J1ZmZlcj4+IG1fb3V0cHV0QnVmZmVyczsKIAogICAgIHNp
emVfdCBtX2J1ZmZlclNpemU7CiAgICAgdW5zaWduZWQgbV9idWZmZXJSZWFkV3JpdGVJbmRleDsK
LSAgICB2b2xhdGlsZSBib29sIG1faXNSZXF1ZXN0T3V0c3RhbmRpbmc7CiAKICAgICB1bnNpZ25l
ZCBtX251bWJlck9mSW5wdXRDaGFubmVsczsKICAgICB1bnNpZ25lZCBtX251bWJlck9mT3V0cHV0
Q2hhbm5lbHM7CiAKICAgICBSZWZQdHI8QXVkaW9CdXM+IG1faW50ZXJuYWxJbnB1dEJ1czsKICAg
ICBSZWZQdHI8UGVuZGluZ0FjdGl2aXR5PFNjcmlwdFByb2Nlc3Nvck5vZGU+PiBtX3BlbmRpbmdB
Y3Rpdml0eTsKKyAgICBMb2NrIG1fcHJvY2Vzc0xvY2s7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408830</attachid>
            <date>2020-09-15 10:34:00 -0700</date>
            <delta_ts>2020-09-15 11:57:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216555-20200915103400.patch</filename>
            <type>text/plain</type>
            <size>7941</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3MDg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjNmY2ZmYTcyNTkxMTQy
NzE2ZmU0MTRmNTBhYjYwZjYwNTFhZjA1OS4uMDVmMzM2ZWFlMDhlOWVjNDFiNDFhNzQ0MjYzYjBi
OWYxNDNmOGIxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTA5LTE1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wcm92ZSB0aHJlYWQtc2Fm
ZXR5IGluIFNjcmlwdFByb2Nlc3Nvck5vZGUgaW1wbGVtZW50YXRpb24KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNjU1NQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcHJvdmUgdGhyZWFkLXNhZmV0eSBp
biBTY3JpcHRQcm9jZXNzb3JOb2RlIGltcGxlbWVudGF0aW9uOgorICAgICAgICAtIFVzZSBhIExv
Y2sgaW5zdGVhZCBvZiBhIHZvbGF0aWxlIGJvb2wgdG8gZGV0ZXJtaW5lIGlmIHRoZSBtYWluIHRo
cmVhZAorICAgICAgICAgIGlzIHN0aWxsIGJ1c3kgZmlyaW5nIHRoZSBldmVudC4KKyAgICAgICAg
LSBQYXNzIHRoZSBkb3VibGVCdWZmZXJJbmRleCB0byB0aGUgbWFpbiB0aHJlYWQgYnkgY2FwdHVy
aW5nIGl0IGluIHRoZQorICAgICAgICAgIGxhbWJkYSBpbnN0ZWFkIG9mIHJlbHlpbmcgb24gYSBk
YXRhIG1lbWJlci4KKworICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29y
Tm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRQcm9jZXNzb3JOb2RlOjpTY3JpcHRQ
cm9jZXNzb3JOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFByb2Nlc3Nvck5vZGU6OnBy
b2Nlc3MpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0UHJvY2Vzc29yTm9kZTo6ZmlyZVByb2Nl
c3NFdmVudCk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2Rl
Lmg6CisKIDIwMjAtMDktMTUgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbTEZDXSBNb3ZlIExheW91dDo6UmVjdCB0byBhIGRlZGljYXRlZCBmaWxlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2Rl
LmNwcAppbmRleCBiMWY3MTZhNGVkZmFiNmMxMzhkYzdjZDdjOTk3ZTJhMDE2Y2VlY2Y2Li4xNjc0
YWFjNzRiMTU2NTg1YTU5NDQxODJlMTMyMmNkMmVhYmUxZDg0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5jcHAKQEAg
LTU0LDEwICs1NCw4IEBAIFNjcmlwdFByb2Nlc3Nvck5vZGU6OlNjcmlwdFByb2Nlc3Nvck5vZGUo
QmFzZUF1ZGlvQ29udGV4dCYgY29udGV4dCwgc2l6ZV90IGJ1ZmZlCiAgICAgOiBBdWRpb05vZGUo
Y29udGV4dCkKICAgICAsIEFjdGl2ZURPTU9iamVjdChjb250ZXh0LnNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKSkKICAgICAsIG1fZG91YmxlQnVmZmVySW5kZXgoMCkKLSAgICAsIG1fZG91YmxlQnVm
ZmVySW5kZXhGb3JFdmVudCgwKQogICAgICwgbV9idWZmZXJTaXplKGJ1ZmZlclNpemUpCiAgICAg
LCBtX2J1ZmZlclJlYWRXcml0ZUluZGV4KDApCi0gICAgLCBtX2lzUmVxdWVzdE91dHN0YW5kaW5n
KGZhbHNlKQogICAgICwgbV9udW1iZXJPZklucHV0Q2hhbm5lbHMobnVtYmVyT2ZJbnB1dENoYW5u
ZWxzKQogICAgICwgbV9udW1iZXJPZk91dHB1dENoYW5uZWxzKG51bWJlck9mT3V0cHV0Q2hhbm5l
bHMpCiAgICAgLCBtX2ludGVybmFsSW5wdXRCdXMoQXVkaW9CdXM6OmNyZWF0ZShudW1iZXJPZklu
cHV0Q2hhbm5lbHMsIEF1ZGlvTm9kZTo6UHJvY2Vzc2luZ1NpemVJbkZyYW1lcywgZmFsc2UpKQpA
QCAtMTg1LDYzICsxODMsNTMgQEAgdm9pZCBTY3JpcHRQcm9jZXNzb3JOb2RlOjpwcm9jZXNzKHNp
emVfdCBmcmFtZXNUb1Byb2Nlc3MpCiAgICAgLy8gbV9idWZmZXJSZWFkV3JpdGVJbmRleCB3aWxs
IHdyYXAgYmFjayBhcm91bmQgdG8gMCB3aGVuIHRoZSBjdXJyZW50IGlucHV0IGFuZCBvdXRwdXQg
YnVmZmVycyBhcmUgZnVsbC4KICAgICAvLyBXaGVuIHRoaXMgaGFwcGVucywgZmlyZSBhbiBldmVu
dCBhbmQgc3dhcCBidWZmZXJzLgogICAgIGlmICghbV9idWZmZXJSZWFkV3JpdGVJbmRleCkgewot
ICAgICAgICAvLyBBdm9pZCBidWlsZGluZyB1cCByZXF1ZXN0cyBvbiB0aGUgbWFpbiB0aHJlYWQg
dG8gZmlyZSBwcm9jZXNzIGV2ZW50cyB3aGVuIHRoZXkncmUgbm90IGJlaW5nIGhhbmRsZWQuCi0g
ICAgICAgIC8vIFRoaXMgY291bGQgYmUgYSBwcm9ibGVtIGlmIHRoZSBtYWluIHRocmVhZCBpcyB2
ZXJ5IGJ1c3kgZG9pbmcgb3RoZXIgdGhpbmdzIGFuZCBpcyBiZWluZyBoZWxkIHVwIGhhbmRsaW5n
IHByZXZpb3VzIHJlcXVlc3RzLgotICAgICAgICBpZiAobV9pc1JlcXVlc3RPdXRzdGFuZGluZykg
ewotICAgICAgICAgICAgLy8gV2UncmUgbGF0ZSBpbiBoYW5kbGluZyB0aGUgcHJldmlvdXMgcmVx
dWVzdC4gVGhlIG1haW4gdGhyZWFkIG11c3QgYmUgdmVyeSBidXN5LgotICAgICAgICAgICAgLy8g
VGhlIGJlc3Qgd2UgY2FuIGRvIGlzIGNsZWFyIG91dCB0aGUgYnVmZmVyIG91cnNlbGYgaGVyZS4K
LSAgICAgICAgICAgIG91dHB1dEJ1ZmZlci0+emVybygpOyAgICAgICAgICAgIAorICAgICAgICAv
LyBSZWZlcmVuY2Ugb3Vyc2VsZiBzbyB3ZSBkb24ndCBhY2NpZGVudGFsbHkgZ2V0IGRlbGV0ZWQg
YmVmb3JlIGZpcmVQcm9jZXNzRXZlbnQoKSBnZXRzIGNhbGxlZC4KKyAgICAgICAgYXV0byBwcm90
ZWN0b3IgPSBtYWtlUmVmKCp0aGlzKTsKKworICAgICAgICAvLyBXZSBvbmx5IHdhaXQgZm9yIHNj
cmlwdCBjb2RlIGV4ZWN1dGlvbiB3aGVuIHRoZSBjb250ZXh0IGlzIGFuIG9mZmxpbmUgb25lIGZv
ciBwZXJmb3JtYW5jZSByZWFzb25zLgorICAgICAgICBpZiAoY29udGV4dCgpLmlzT2ZmbGluZUNv
bnRleHQoKSkgeworICAgICAgICAgICAgQmluYXJ5U2VtYXBob3JlIHNlbWFwaG9yZTsKKyAgICAg
ICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3RoaXMsICZzZW1hcGhvcmUsIGRvdWJsZUJ1ZmZlcklu
ZGV4ID0gbV9kb3VibGVCdWZmZXJJbmRleF0geworICAgICAgICAgICAgICAgIGZpcmVQcm9jZXNz
RXZlbnQoZG91YmxlQnVmZmVySW5kZXgpOworICAgICAgICAgICAgICAgIHNlbWFwaG9yZS5zaWdu
YWwoKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICAgICAgc2VtYXBob3JlLndhaXQoKTsKICAg
ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIC8vIFJlZmVyZW5jZSBvdXJzZWxmIHNvIHdlIGRv
bid0IGFjY2lkZW50YWxseSBnZXQgZGVsZXRlZCBiZWZvcmUgZmlyZVByb2Nlc3NFdmVudCgpIGdl
dHMgY2FsbGVkLgotICAgICAgICAgICAgcmVmKCk7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAg
IC8vIEZpcmUgdGhlIGV2ZW50IG9uIHRoZSBtYWluIHRocmVhZCwgbm90IHRoaXMgb25lICh3aGlj
aCBpcyB0aGUgcmVhbHRpbWUgYXVkaW8gdGhyZWFkKS4KLSAgICAgICAgICAgIG1fZG91YmxlQnVm
ZmVySW5kZXhGb3JFdmVudCA9IG1fZG91YmxlQnVmZmVySW5kZXg7Ci0gICAgICAgICAgICBtX2lz
UmVxdWVzdE91dHN0YW5kaW5nID0gdHJ1ZTsKLQotICAgICAgICAgICAgLy8gV2Ugb25seSB3YWl0
IGZvciBzY3JpcHQgY29kZSBleGVjdXRpb24gd2hlbiB0aGUgY29udGV4dCBpcyBhbiBvZmZsaW5l
IG9uZSBmb3IgcGVyZm9ybWFuY2UgcmVhc29ucy4KLSAgICAgICAgICAgIGlmIChjb250ZXh0KCku
aXNPZmZsaW5lQ29udGV4dCgpKSB7Ci0gICAgICAgICAgICAgICAgQmluYXJ5U2VtYXBob3JlIHNl
bWFwaG9yZTsKLSAgICAgICAgICAgICAgICBjYWxsT25NYWluVGhyZWFkKFt0aGlzLCAmc2VtYXBo
b3JlXSB7Ci0gICAgICAgICAgICAgICAgICAgIGZpcmVQcm9jZXNzRXZlbnQoKTsKLSAgICAgICAg
ICAgICAgICAgICAgc2VtYXBob3JlLnNpZ25hbCgpOwotICAgICAgICAgICAgICAgIH0pOwotICAg
ICAgICAgICAgICAgIHNlbWFwaG9yZS53YWl0KCk7Ci0gICAgICAgICAgICAgICAgLy8gRGUtcmVm
ZXJlbmNlIHRvIG1hdGNoIHRoZSByZWYoKSBjYWxsIGluIHByb2Nlc3MoKS4KLSAgICAgICAgICAg
ICAgICBkZXJlZigpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBjYWxs
T25NYWluVGhyZWFkKFt0aGlzXSB7Ci0gICAgICAgICAgICAgICAgICAgIGZpcmVQcm9jZXNzRXZl
bnQoKTsKLSAgICAgICAgICAgICAgICAgICAgLy8gRGUtcmVmZXJlbmNlIHRvIG1hdGNoIHRoZSBy
ZWYoKSBjYWxsIGluIHByb2Nlc3MoKS4KLSAgICAgICAgICAgICAgICAgICAgZGVyZWYoKTsKLSAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIHN0ZDo6dW5pcXVlX2xvY2s8TG9jaz4gbG9j
ayhtX3Byb2Nlc3NMb2NrLCBzdGQ6OnRyeV90b19sb2NrKTsKKyAgICAgICAgICAgIGlmICghbG9j
ay5vd25zX2xvY2soKSkgeworICAgICAgICAgICAgICAgIC8vIFdlJ3JlIGxhdGUgaW4gaGFuZGxp
bmcgdGhlIHByZXZpb3VzIHJlcXVlc3QuIFRoZSBtYWluIHRocmVhZCBtdXN0IGJlCisgICAgICAg
ICAgICAgICAgLy8gdmVyeSBidXN5LiBUaGUgYmVzdCB3ZSBjYW4gZG8gaXMgY2xlYXIgb3V0IHRo
ZSBidWZmZXIgb3Vyc2VsZiBoZXJlLgorICAgICAgICAgICAgICAgIG91dHB1dEJ1ZmZlci0+emVy
bygpOworICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KKworICAgICAgICAg
ICAgY2FsbE9uTWFpblRocmVhZChbdGhpcywgZG91YmxlQnVmZmVySW5kZXggPSBtX2RvdWJsZUJ1
ZmZlckluZGV4LCBwcm90ZWN0b3IgPSBXVEZNb3ZlKHByb3RlY3RvcildIHsKKyAgICAgICAgICAg
ICAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2NrKG1fcHJvY2Vzc0xvY2spOworICAgICAgICAgICAg
ICAgIGZpcmVQcm9jZXNzRXZlbnQoZG91YmxlQnVmZmVySW5kZXgpOworICAgICAgICAgICAgfSk7
CiAgICAgICAgIH0KIAogICAgICAgICBzd2FwQnVmZmVycygpOwogICAgIH0KIH0KIAotdm9pZCBT
Y3JpcHRQcm9jZXNzb3JOb2RlOjpmaXJlUHJvY2Vzc0V2ZW50KCkKK3ZvaWQgU2NyaXB0UHJvY2Vz
c29yTm9kZTo6ZmlyZVByb2Nlc3NFdmVudCh1bnNpZ25lZCBkb3VibGVCdWZmZXJJbmRleCkKIHsK
LSAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkgJiYgbV9pc1JlcXVlc3RPdXRzdGFuZGluZyk7Cisg
ICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKICAgICAKLSAgICBib29sIGlzSW5kZXhHb29kID0g
bV9kb3VibGVCdWZmZXJJbmRleEZvckV2ZW50IDwgMjsKKyAgICBib29sIGlzSW5kZXhHb29kID0g
ZG91YmxlQnVmZmVySW5kZXggPCAyOwogICAgIEFTU0VSVChpc0luZGV4R29vZCk7CiAgICAgaWYg
KCFpc0luZGV4R29vZCkKICAgICAgICAgcmV0dXJuOwogICAgICAgICAKLSAgICBBdWRpb0J1ZmZl
ciogaW5wdXRCdWZmZXIgPSBtX2lucHV0QnVmZmVyc1ttX2RvdWJsZUJ1ZmZlckluZGV4Rm9yRXZl
bnRdLmdldCgpOwotICAgIEF1ZGlvQnVmZmVyKiBvdXRwdXRCdWZmZXIgPSBtX291dHB1dEJ1ZmZl
cnNbbV9kb3VibGVCdWZmZXJJbmRleEZvckV2ZW50XS5nZXQoKTsKKyAgICBBdWRpb0J1ZmZlciog
aW5wdXRCdWZmZXIgPSBtX2lucHV0QnVmZmVyc1tkb3VibGVCdWZmZXJJbmRleF0uZ2V0KCk7Cisg
ICAgQXVkaW9CdWZmZXIqIG91dHB1dEJ1ZmZlciA9IG1fb3V0cHV0QnVmZmVyc1tkb3VibGVCdWZm
ZXJJbmRleF0uZ2V0KCk7CiAgICAgQVNTRVJUKG91dHB1dEJ1ZmZlcik7CiAgICAgaWYgKCFvdXRw
dXRCdWZmZXIpCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIEF2b2lkIGZpcmluZyB0aGUgZXZl
bnQgaWYgdGhlIGRvY3VtZW50IGhhcyBhbHJlYWR5IGdvbmUgYXdheS4KICAgICBpZiAoIWNvbnRl
eHQoKS5pc1N0b3BwZWQoKSkgewotICAgICAgICAvLyBMZXQgdGhlIGF1ZGlvIHRocmVhZCBrbm93
IHdlJ3ZlIGdvdHRlbiB0byB0aGUgcG9pbnQgd2hlcmUgaXQncyBPSyBmb3IgaXQgdG8gbWFrZSBh
bm90aGVyIHJlcXVlc3QuCi0gICAgICAgIG1faXNSZXF1ZXN0T3V0c3RhbmRpbmcgPSBmYWxzZTsK
LQogICAgICAgICAvLyBDYWxjdWxhdGUgcGxheWJhY2tUaW1lIHdpdGggdGhlIGJ1ZmZlcnNpemUg
d2hpY2ggbmVlZHMgdG8gYmUgcHJvY2Vzc2VkIGVhY2ggdGltZSB3aGVuIG9uYXVkaW9wcm9jZXNz
IGlzIGNhbGxlZC4KICAgICAgICAgLy8gVGhlIG91dHB1dEJ1ZmZlciBiZWluZyBwYXNzZWQgdG8g
SlMgd2lsbCBiZSBwbGF5ZWQgYWZ0ZXIgZXhoYXVzdGluZyBwcmV2aW91cyBvdXRwdXRCdWZmZXIg
YnkgZG91YmxlLWJ1ZmZlcmluZy4KICAgICAgICAgZG91YmxlIHBsYXliYWNrVGltZSA9IChjb250
ZXh0KCkuY3VycmVudFNhbXBsZUZyYW1lKCkgKyBtX2J1ZmZlclNpemUpIC8gc3RhdGljX2Nhc3Q8
ZG91YmxlPihjb250ZXh0KCkuc2FtcGxlUmF0ZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmgKaW5kZXggNjI1NmU3NGZm
NWEzNDcyNDY3MDc2NmY1MmYzOWQzZDA1ODYzMzAwYy4uNTVmYmFiY2FjYjY1M2U1ZTFlOTUyYzBj
N2RjODYyNjZjNDE1MDc3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmgKQEAgLTc0LDI1ICs3NCwyNCBAQCBwcml2YXRl
OgogCiAgICAgU2NyaXB0UHJvY2Vzc29yTm9kZShCYXNlQXVkaW9Db250ZXh0Jiwgc2l6ZV90IGJ1
ZmZlclNpemUsIHVuc2lnbmVkIG51bWJlck9mSW5wdXRDaGFubmVscywgdW5zaWduZWQgbnVtYmVy
T2ZPdXRwdXRDaGFubmVscyk7CiAKLSAgICB2b2lkIGZpcmVQcm9jZXNzRXZlbnQoKTsKKyAgICB2
b2lkIGZpcmVQcm9jZXNzRXZlbnQodW5zaWduZWQgZG91YmxlQnVmZmVySW5kZXgpOwogCiAgICAg
Ly8gRG91YmxlIGJ1ZmZlcmluZwogICAgIHVuc2lnbmVkIGRvdWJsZUJ1ZmZlckluZGV4KCkgY29u
c3QgeyByZXR1cm4gbV9kb3VibGVCdWZmZXJJbmRleDsgfQogICAgIHZvaWQgc3dhcEJ1ZmZlcnMo
KSB7IG1fZG91YmxlQnVmZmVySW5kZXggPSAxIC0gbV9kb3VibGVCdWZmZXJJbmRleDsgfQogICAg
IHVuc2lnbmVkIG1fZG91YmxlQnVmZmVySW5kZXg7Ci0gICAgdW5zaWduZWQgbV9kb3VibGVCdWZm
ZXJJbmRleEZvckV2ZW50OwogICAgIFZlY3RvcjxSZWZQdHI8QXVkaW9CdWZmZXI+PiBtX2lucHV0
QnVmZmVyczsKICAgICBWZWN0b3I8UmVmUHRyPEF1ZGlvQnVmZmVyPj4gbV9vdXRwdXRCdWZmZXJz
OwogCiAgICAgc2l6ZV90IG1fYnVmZmVyU2l6ZTsKICAgICB1bnNpZ25lZCBtX2J1ZmZlclJlYWRX
cml0ZUluZGV4OwotICAgIHZvbGF0aWxlIGJvb2wgbV9pc1JlcXVlc3RPdXRzdGFuZGluZzsKIAog
ICAgIHVuc2lnbmVkIG1fbnVtYmVyT2ZJbnB1dENoYW5uZWxzOwogICAgIHVuc2lnbmVkIG1fbnVt
YmVyT2ZPdXRwdXRDaGFubmVsczsKIAogICAgIFJlZlB0cjxBdWRpb0J1cz4gbV9pbnRlcm5hbElu
cHV0QnVzOwogICAgIFJlZlB0cjxQZW5kaW5nQWN0aXZpdHk8U2NyaXB0UHJvY2Vzc29yTm9kZT4+
IG1fcGVuZGluZ0FjdGl2aXR5OworICAgIExvY2sgbV9wcm9jZXNzTG9jazsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
      

    </bug>

</bugzilla>