<?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>237485</bug_id>
          
          <creation_ts>2022-03-04 13:53:27 -0800</creation_ts>
          <short_desc>Modernize OriginLock</short_desc>
          <delta_ts>2022-03-04 16:50:19 -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>WebCore Misc.</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>darin</cc>
    
    <cc>ggaren</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1848397</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-03-04 13:53:27 -0800</bug_when>
    <thetext>Modernize OriginLock.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848400</commentid>
    <comment_count>1</comment_count>
      <attachid>453870</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-03-04 13:55:38 -0800</bug_when>
    <thetext>Created attachment 453870
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848401</commentid>
    <comment_count>2</comment_count>
      <attachid>453871</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-03-04 14:00:29 -0800</bug_when>
    <thetext>Created attachment 453871
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848412</commentid>
    <comment_count>3</comment_count>
      <attachid>453871</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-03-04 14:34:38 -0800</bug_when>
    <thetext>Comment on attachment 453871
Patch

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

&gt; Source/WebCore/Modules/webdatabase/OriginLock.h:-36
&gt; -    WTF_MAKE_NONCOPYABLE(OriginLock); WTF_MAKE_FAST_ALLOCATED;

Why aren’t these helpful? I don’t understand this change.

&gt; Source/WebCore/Modules/webdatabase/OriginLock.h:40
&gt; +    static Ref&lt;OriginLock&gt; create(const String&amp; originPath)
&gt; +    {
&gt; +        return adoptRef(*new OriginLock(originPath));
&gt; +    }

I don’t think we want to inline this. It would be better to have it in the .cpp file, since we’d rather inline the constructor in the create function rather than inlining the create function in the create call site.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848413</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-03-04 14:38:08 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #3)
&gt; Comment on attachment 453871 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=453871&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/webdatabase/OriginLock.h:-36
&gt; &gt; -    WTF_MAKE_NONCOPYABLE(OriginLock); WTF_MAKE_FAST_ALLOCATED;
&gt; 
&gt; Why aren’t these helpful? I don’t understand this change.

We get them from the base class already.

&gt; 
&gt; &gt; Source/WebCore/Modules/webdatabase/OriginLock.h:40
&gt; &gt; +    static Ref&lt;OriginLock&gt; create(const String&amp; originPath)
&gt; &gt; +    {
&gt; &gt; +        return adoptRef(*new OriginLock(originPath));
&gt; &gt; +    }
&gt; 
&gt; I don’t think we want to inline this. It would be better to have it in the
&gt; .cpp file, since we’d rather inline the constructor in the create function
&gt; rather than inlining the create function in the create call site.

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848415</commentid>
    <comment_count>5</comment_count>
      <attachid>453871</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-03-04 14:40:31 -0800</bug_when>
    <thetext>Comment on attachment 453871
Patch

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

&gt;&gt;&gt; Source/WebCore/Modules/webdatabase/OriginLock.h:-36
&gt;&gt;&gt; -    WTF_MAKE_NONCOPYABLE(OriginLock); WTF_MAKE_FAST_ALLOCATED;
&gt;&gt; 
&gt;&gt; Why aren’t these helpful? I don’t understand this change.
&gt; 
&gt; We get them from the base class already.

Not being copyable or movable is effectively inherited. Is fast allocation inherited? I didn’t realize it was.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848421</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-03-04 14:53:06 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #5)
&gt; Comment on attachment 453871 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=453871&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebCore/Modules/webdatabase/OriginLock.h:-36
&gt; &gt;&gt;&gt; -    WTF_MAKE_NONCOPYABLE(OriginLock); WTF_MAKE_FAST_ALLOCATED;
&gt; &gt;&gt; 
&gt; &gt;&gt; Why aren’t these helpful? I don’t understand this change.
&gt; &gt; 
&gt; &gt; We get them from the base class already.
&gt; 
&gt; Not being copyable or movable is effectively inherited. Is fast allocation
&gt; inherited? I didn’t realize it was.

I am pretty sure it is. As a matter of fact, we almost never explicit mark our classes as FACT_ALLOCATED when they subclass RefCounted.

To be certain, I ran the following code:
```
#include &lt;iostream&gt;

class A {
public:
    void* operator new(size_t size)
    {
        std::cout &lt;&lt; &quot;Uses custom allocator&quot; &lt;&lt; std::endl;
        return malloc(size);
    }
};

class B : public A {
};

int main() {
    auto b = new B;
    return 0;
}
```

It definitely printed my log line so the `operator new` gets inherited just fine and this is essentially what WTF_MAKE_FAST_ALLOCATED defines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848450</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-04 16:49:24 -0800</bug_when>
    <thetext>Committed r290854 (248086@main): &lt;https://commits.webkit.org/248086@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 453871.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848451</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-04 16:50:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/89841503&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>453870</attachid>
            <date>2022-03-04 13:55:38 -0800</date>
            <delta_ts>2022-03-04 14:00:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237485-20220304135537.patch</filename>
            <type>text/plain</type>
            <size>7100</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwODM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjQ2NTU1NWYwNjQyNDdi
YThkNmFlYzRmNjcwMDRiZTQ4ZDZiMDcxYy4uYTM0MjU0ZGQ5NzFlYzVmMGM3YzFhMmY4OGEzZjAw
NTQ1YjRhZWZlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIyLTAzLTA0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW9kZXJuaXplIE9yaWdpbkxv
Y2sKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNzQ4
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE9yaWdp
bkxvY2sgc3ViY2xhc3NlcyBUaHJlYWRTYWZlUmVmQ291bnRlZC4gQXMgYSByZXN1bHQsIGl0IHNo
b3VsZCBoYXZlIGEgY3JlYXRlKCkKKyAgICAgICAgZmFjdG9yeSBmdW5jdGlvbiBpbnN0ZWFkIG9m
IGFuIGVycm9yLXByb25lIHB1YmxpYyBjb25zdHJ1Y3Rvci4gSXRzIGZ1bmN0aW9ucyBzaG91bGQK
KyAgICAgICAgYWxzbyB0YWtlIFN0cmluZyBwYXJhbWV0ZXJzIGJ5IGNvbnN0IHJlZmVyZW5jZSBp
bnN0ZWFkIG9mIGJ5IHZhbHVlLgorCisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRh
YmFzZVRyYWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGF0YWJhc2VUcmFja2VyOjpvcmln
aW5Mb2NrRm9yKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlVHJhY2tl
ci5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvT3JpZ2luTG9jay5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpsb2NrRmlsZU5hbWVGb3JQYXRoKToKKyAgICAgICAgKFdlYkNvcmU6Ok9y
aWdpbkxvY2s6Ok9yaWdpbkxvY2spOgorICAgICAgICAoV2ViQ29yZTo6T3JpZ2luTG9jazo6ZGVs
ZXRlTG9ja0ZpbGUpOgorICAgICAgICAoV2ViQ29yZTo6T3JpZ2luTG9jazo6bG9ja0ZpbGVOYW1l
Rm9yUGF0aCk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9PcmlnaW5M
b2NrLmg6CisgICAgICAgIChXZWJDb3JlOjpPcmlnaW5Mb2NrOjpjcmVhdGUpOgorCiAyMDIyLTAz
LTA0ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgogCiAgICAgICAgIFtHUFUg
UHJvY2Vzc10gQ2FudmFzIGNvbXBvc2l0aW5nIGJ1ZmZlciBzaG91bGQgYmUgY3JlYXRlZCB0aHJv
dWdoIGl0cyBHcmFwaGljc0NvbnRleHQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VUcmFja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VUcmFja2VyLmNwcAppbmRleCBiMTJlMzAwYzQ5ZjE5NDQ2
MWZmOTA4ZDAxMGE1NzQ2NjE3MjcxNGUxLi4wNjdmZDM5MTM5MGM4NWRjMmQ0OWRmNDA4MDE2MmI0
M2M0ZjQyM2NlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNl
L0RhdGFiYXNlVHJhY2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRh
YmFzZS9EYXRhYmFzZVRyYWNrZXIuY3BwCkBAIC01OTYsNyArNTk2LDcgQEAgdm9pZCBEYXRhYmFz
ZVRyYWNrZXI6OnJlbW92ZU9wZW5EYXRhYmFzZShEYXRhYmFzZSYgZGF0YWJhc2UpCiAgICAgZGVs
ZXRlIG5hbWVNYXA7CiB9CiAKLVJlZlB0cjxPcmlnaW5Mb2NrPiBEYXRhYmFzZVRyYWNrZXI6Om9y
aWdpbkxvY2tGb3IoY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiBvcmlnaW4pCitSZWY8T3JpZ2lu
TG9jaz4gRGF0YWJhc2VUcmFja2VyOjpvcmlnaW5Mb2NrRm9yKGNvbnN0IFNlY3VyaXR5T3JpZ2lu
RGF0YSYgb3JpZ2luKQogewogICAgIExvY2tlciBsb2NrRGF0YWJhc2UgeyBtX2RhdGFiYXNlR3Vh
cmQgfTsKIApAQCAtNjA3LDE2ICs2MDcsOSBAQCBSZWZQdHI8T3JpZ2luTG9jaz4gRGF0YWJhc2VU
cmFja2VyOjpvcmlnaW5Mb2NrRm9yKGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgb3JpZwogICAg
IC8vIHRocmVhZC1zYWZlLCBzaW5jZSBvdXIgY29weSBpcyBndWFyZGVkIGJ5IHRoZSBtX2RhdGFi
YXNlR3VhcmQgbXV0ZXguCiAgICAgU3RyaW5nIGRhdGFiYXNlSWRlbnRpZmllciA9IG9yaWdpbi5k
YXRhYmFzZUlkZW50aWZpZXIoKS5pc29sYXRlZENvcHkoKTsKIAotICAgIGF1dG8gYWRkUmVzdWx0
ID0gbV9vcmlnaW5Mb2NrTWFwLmFkZChkYXRhYmFzZUlkZW50aWZpZXIsIFJlZlB0cjxPcmlnaW5M
b2NrPigpKTsKLSAgICBpZiAoIWFkZFJlc3VsdC5pc05ld0VudHJ5KQotICAgICAgICByZXR1cm4g
YWRkUmVzdWx0Lml0ZXJhdG9yLT52YWx1ZTsKLQotICAgIFN0cmluZyBwYXRoID0gb3JpZ2luUGF0
aChvcmlnaW4pOwotICAgIFJlZlB0cjxPcmlnaW5Mb2NrPiBsb2NrID0gYWRvcHRSZWYoKm5ldyBP
cmlnaW5Mb2NrKHBhdGgpKTsKLSAgICBBU1NFUlQobG9jayk7Ci0gICAgYWRkUmVzdWx0Lml0ZXJh
dG9yLT52YWx1ZSA9IGxvY2s7Ci0KLSAgICByZXR1cm4gbG9jazsKKyAgICByZXR1cm4gbV9vcmln
aW5Mb2NrTWFwLmVuc3VyZShkYXRhYmFzZUlkZW50aWZpZXIsIFsmXSB7CisgICAgICAgIHJldHVy
biBPcmlnaW5Mb2NrOjpjcmVhdGUob3JpZ2luUGF0aChvcmlnaW4pKTsKKyAgICB9KS5pdGVyYXRv
ci0+dmFsdWU7CiB9CiAKIHZvaWQgRGF0YWJhc2VUcmFja2VyOjpkZWxldGVPcmlnaW5Mb2NrRm9y
KGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgb3JpZ2luKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVRyYWNrZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VUcmFja2VyLmgKaW5kZXggNzBjYzIyYjY4
ZGRjNTA5NTI1OGY5ZWQwMTBkY2Q2NjM0M2VkNzdhMi4uNTZkYzEzNWUyM2E3MDM2YmUzZjBkOGYy
ODRlYTFmYmJmMjVkMWIzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJk
YXRhYmFzZS9EYXRhYmFzZVRyYWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmRhdGFiYXNlL0RhdGFiYXNlVHJhY2tlci5oCkBAIC05MCw3ICs5MCw3IEBAIHB1YmxpYzoKICAg
ICBXRUJDT1JFX0VYUE9SVCB1aW50NjRfdCB1c2FnZShjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEm
KTsKICAgICBXRUJDT1JFX0VYUE9SVCB1aW50NjRfdCBxdW90YShjb25zdCBTZWN1cml0eU9yaWdp
bkRhdGEmKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFF1b3RhKGNvbnN0IFNlY3VyaXR5
T3JpZ2luRGF0YSYsIHVpbnQ2NF90KTsKLSAgICBSZWZQdHI8T3JpZ2luTG9jaz4gb3JpZ2luTG9j
a0Zvcihjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmKTsKKyAgICBSZWY8T3JpZ2luTG9jaz4gb3Jp
Z2luTG9ja0Zvcihjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmKTsKIAogICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgZGVsZXRlQWxsRGF0YWJhc2VzSW1tZWRpYXRlbHkoKTsKICAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIGRlbGV0ZURhdGFiYXNlc01vZGlmaWVkU2luY2UoV2FsbFRpbWUpOwpAQCAtMTY5
LDcgKzE2OSw3IEBAIHByaXZhdGU6CiAgICAgTG9jayBtX2RhdGFiYXNlR3VhcmQ7CiAgICAgU1FM
aXRlRGF0YWJhc2UgbV9kYXRhYmFzZSBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fZGF0YWJhc2VHdWFy
ZCk7CiAKLSAgICB1c2luZyBPcmlnaW5Mb2NrTWFwID0gSGFzaE1hcDxTdHJpbmcsIFJlZlB0cjxP
cmlnaW5Mb2NrPj47CisgICAgdXNpbmcgT3JpZ2luTG9ja01hcCA9IEhhc2hNYXA8U3RyaW5nLCBS
ZWY8T3JpZ2luTG9jaz4+OwogICAgIE9yaWdpbkxvY2tNYXAgbV9vcmlnaW5Mb2NrTWFwIFdURl9H
VUFSREVEX0JZX0xPQ0sobV9kYXRhYmFzZUd1YXJkKTsKIAogICAgIFN0cmluZyBtX2RhdGFiYXNl
RGlyZWN0b3J5UGF0aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0
YWJhc2UvT3JpZ2luTG9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNl
L09yaWdpbkxvY2suY3BwCmluZGV4IDc1M2U0ZTVhYzg2NjI4M2E0YzczZjQ0YWY5YWE0ZWNkZjVk
MTVhZWMuLjc1NjBjZDA5NWRiNTk5NjMwOGFmZGU2MDgzMjhiNDU0YzIyN2VlZWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvT3JpZ2luTG9jay5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9PcmlnaW5Mb2NrLmNwcApAQCAt
MSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMjIgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOCwx
NiArMjgsMTMgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1TdHJpbmcgT3JpZ2luTG9jazo6
bG9ja0ZpbGVOYW1lRm9yUGF0aChTdHJpbmcgb3JpZ2luUGF0aCkKK3N0YXRpYyBTdHJpbmcgbG9j
a0ZpbGVOYW1lRm9yUGF0aChjb25zdCBTdHJpbmcmIG9yaWdpblBhdGgpCiB7CiAgICAgcmV0dXJu
IEZpbGVTeXN0ZW06OnBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChvcmlnaW5QYXRoLCAiLmxvY2si
X3MpOwogfQogCi1PcmlnaW5Mb2NrOjpPcmlnaW5Mb2NrKFN0cmluZyBvcmlnaW5QYXRoKQorT3Jp
Z2luTG9jazo6T3JpZ2luTG9jayhjb25zdCBTdHJpbmcmIG9yaWdpblBhdGgpCiAgICAgOiBtX2xv
Y2tGaWxlTmFtZShsb2NrRmlsZU5hbWVGb3JQYXRoKG9yaWdpblBhdGgpLmlzb2xhdGVkQ29weSgp
KQotI2lmIFVTRShGSUxFX0xPQ0spCi0gICAgLCBtX2xvY2tIYW5kbGUoRmlsZVN5c3RlbTo6aW52
YWxpZFBsYXRmb3JtRmlsZUhhbmRsZSkKLSNlbmRpZgogewogfQogCkBAIC03NiwxMiArNzMsMTIg
QEAgdm9pZCBPcmlnaW5Mb2NrOjp1bmxvY2soKSBXVEZfSUdOT1JFU19USFJFQURfU0FGRVRZX0FO
QUxZU0lTCiAgICAgbV9tdXRleC51bmxvY2soKTsKIH0KIAotdm9pZCBPcmlnaW5Mb2NrOjpkZWxl
dGVMb2NrRmlsZShTdHJpbmcgb3JpZ2luUGF0aCkKK3ZvaWQgT3JpZ2luTG9jazo6ZGVsZXRlTG9j
a0ZpbGUoY29uc3QgU3RyaW5nJiBvcmlnaW5QYXRoKQogewotICAgIFVOVVNFRF9QQVJBTShvcmln
aW5QYXRoKTsKICNpZiBVU0UoRklMRV9MT0NLKQotICAgIFN0cmluZyBsb2NrRmlsZU5hbWUgPSBP
cmlnaW5Mb2NrOjpsb2NrRmlsZU5hbWVGb3JQYXRoKG9yaWdpblBhdGgpOwotICAgIEZpbGVTeXN0
ZW06OmRlbGV0ZUZpbGUobG9ja0ZpbGVOYW1lKTsKKyAgICBGaWxlU3lzdGVtOjpkZWxldGVGaWxl
KGxvY2tGaWxlTmFtZUZvclBhdGgob3JpZ2luUGF0aCkpOworI2Vsc2UKKyAgICBVTlVTRURfUEFS
QU0ob3JpZ2luUGF0aCk7CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJkYXRhYmFzZS9PcmlnaW5Mb2NrLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmRhdGFiYXNlL09yaWdpbkxvY2suaAppbmRleCAwN2JlOTQxNjFkZmQzMGEyNmY2YjA0Y2Vl
YzlhODlkZjUzMDUyZTdiLi4xZjczMmRmNTVhZTcyNzg3ZjIyOTRhNGM1NmMzZmNlMTdiM2U2ZjA0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL09yaWdpbkxv
Y2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL09yaWdpbkxvY2su
aApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMjIgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBA
IC0zMywyMyArMzMsMjUgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgT3JpZ2luTG9j
ayA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxPcmlnaW5Mb2NrPiB7Ci0gICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoT3JpZ2luTG9jayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgotICAgIGV4cGxpY2l0IE9yaWdpbkxvY2soU3RyaW5nIG9yaWdpblBhdGgpOworICAgIHN0
YXRpYyBSZWY8T3JpZ2luTG9jaz4gY3JlYXRlKGNvbnN0IFN0cmluZyYgb3JpZ2luUGF0aCkKKyAg
ICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE9yaWdpbkxvY2sob3JpZ2luUGF0aCkp
OworICAgIH0KICAgICBXRUJDT1JFX0VYUE9SVCB+T3JpZ2luTG9jaygpOwogCiAgICAgdm9pZCBs
b2NrKCk7CiAgICAgdm9pZCB1bmxvY2soKTsKIAotICAgIHN0YXRpYyB2b2lkIGRlbGV0ZUxvY2tG
aWxlKFN0cmluZyBvcmlnaW5QYXRoKTsKKyAgICBzdGF0aWMgdm9pZCBkZWxldGVMb2NrRmlsZShj
b25zdCBTdHJpbmcmIG9yaWdpblBhdGgpOwogCiBwcml2YXRlOgotICAgIHN0YXRpYyBTdHJpbmcg
bG9ja0ZpbGVOYW1lRm9yUGF0aChTdHJpbmcgb3JpZ2luUGF0aCk7CisgICAgZXhwbGljaXQgT3Jp
Z2luTG9jayhjb25zdCBTdHJpbmcmIG9yaWdpblBhdGgpOwogCiAgICAgU3RyaW5nIG1fbG9ja0Zp
bGVOYW1lOwogICAgIExvY2sgbV9tdXRleDsKICNpZiBVU0UoRklMRV9MT0NLKQotICAgIEZpbGVT
eXN0ZW06OlBsYXRmb3JtRmlsZUhhbmRsZSBtX2xvY2tIYW5kbGU7CisgICAgRmlsZVN5c3RlbTo6
UGxhdGZvcm1GaWxlSGFuZGxlIG1fbG9ja0hhbmRsZSB7IEZpbGVTeXN0ZW06OmludmFsaWRQbGF0
Zm9ybUZpbGVIYW5kbGUgfTsKICNlbmRpZgogfTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>453871</attachid>
            <date>2022-03-04 14:00:29 -0800</date>
            <delta_ts>2022-03-04 16:49:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237485-20220304140028.patch</filename>
            <type>text/plain</type>
            <size>7173</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwODM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjQ2NTU1NWYwNjQyNDdi
YThkNmFlYzRmNjcwMDRiZTQ4ZDZiMDcxYy4uYTM0MjU0ZGQ5NzFlYzVmMGM3YzFhMmY4OGEzZjAw
NTQ1YjRhZWZlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIyLTAzLTA0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW9kZXJuaXplIE9yaWdpbkxv
Y2sKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNzQ4
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE9yaWdp
bkxvY2sgc3ViY2xhc3NlcyBUaHJlYWRTYWZlUmVmQ291bnRlZC4gQXMgYSByZXN1bHQsIGl0IHNo
b3VsZCBoYXZlIGEgY3JlYXRlKCkKKyAgICAgICAgZmFjdG9yeSBmdW5jdGlvbiBpbnN0ZWFkIG9m
IGFuIGVycm9yLXByb25lIHB1YmxpYyBjb25zdHJ1Y3Rvci4gSXRzIGZ1bmN0aW9ucyBzaG91bGQK
KyAgICAgICAgYWxzbyB0YWtlIFN0cmluZyBwYXJhbWV0ZXJzIGJ5IGNvbnN0IHJlZmVyZW5jZSBp
bnN0ZWFkIG9mIGJ5IHZhbHVlLgorCisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRh
YmFzZVRyYWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGF0YWJhc2VUcmFja2VyOjpvcmln
aW5Mb2NrRm9yKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlVHJhY2tl
ci5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvT3JpZ2luTG9jay5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpsb2NrRmlsZU5hbWVGb3JQYXRoKToKKyAgICAgICAgKFdlYkNvcmU6Ok9y
aWdpbkxvY2s6Ok9yaWdpbkxvY2spOgorICAgICAgICAoV2ViQ29yZTo6T3JpZ2luTG9jazo6ZGVs
ZXRlTG9ja0ZpbGUpOgorICAgICAgICAoV2ViQ29yZTo6T3JpZ2luTG9jazo6bG9ja0ZpbGVOYW1l
Rm9yUGF0aCk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9PcmlnaW5M
b2NrLmg6CisgICAgICAgIChXZWJDb3JlOjpPcmlnaW5Mb2NrOjpjcmVhdGUpOgorCiAyMDIyLTAz
LTA0ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgogCiAgICAgICAgIFtHUFUg
UHJvY2Vzc10gQ2FudmFzIGNvbXBvc2l0aW5nIGJ1ZmZlciBzaG91bGQgYmUgY3JlYXRlZCB0aHJv
dWdoIGl0cyBHcmFwaGljc0NvbnRleHQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VUcmFja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VUcmFja2VyLmNwcAppbmRleCAxMTlmM2UyZDMzYjA3Njdl
MGQ1MTFlYjlmZDQ3NjBkZTk3NjUzODYzLi5hZTY2MGMwMjFmN2E4ZDIwZDRjMTFiYTRiZDlhMzQy
ZWZmZjczNjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNl
L0RhdGFiYXNlVHJhY2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRh
YmFzZS9EYXRhYmFzZVRyYWNrZXIuY3BwCkBAIC01OTUsNyArNTk1LDcgQEAgdm9pZCBEYXRhYmFz
ZVRyYWNrZXI6OnJlbW92ZU9wZW5EYXRhYmFzZShEYXRhYmFzZSYgZGF0YWJhc2UpCiAgICAgZGVs
ZXRlIG5hbWVNYXA7CiB9CiAKLVJlZlB0cjxPcmlnaW5Mb2NrPiBEYXRhYmFzZVRyYWNrZXI6Om9y
aWdpbkxvY2tGb3IoY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiBvcmlnaW4pCitSZWY8T3JpZ2lu
TG9jaz4gRGF0YWJhc2VUcmFja2VyOjpvcmlnaW5Mb2NrRm9yKGNvbnN0IFNlY3VyaXR5T3JpZ2lu
RGF0YSYgb3JpZ2luKQogewogICAgIExvY2tlciBsb2NrRGF0YWJhc2UgeyBtX2RhdGFiYXNlR3Vh
cmQgfTsKICAgICBTdHJpbmcgZGF0YWJhc2VJZGVudGlmaWVyID0gb3JpZ2luLmRhdGFiYXNlSWRl
bnRpZmllcigpOwpAQCAtNjA3LDE3ICs2MDcsOSBAQCBSZWZQdHI8T3JpZ2luTG9jaz4gRGF0YWJh
c2VUcmFja2VyOjpvcmlnaW5Mb2NrRm9yKGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgb3JpZwog
ICAgIC8vIHRocmVhZC1zYWZlLCBzaW5jZSBvdXIgY29weSBpcyBndWFyZGVkIGJ5IHRoZSBtX2Rh
dGFiYXNlR3VhcmQgbXV0ZXguCiAgICAgZGF0YWJhc2VJZGVudGlmaWVyID0gZGF0YWJhc2VJZGVu
dGlmaWVyLmlzb2xhdGVkQ29weSgpOwogCi0gICAgT3JpZ2luTG9ja01hcDo6QWRkUmVzdWx0IGFk
ZFJlc3VsdCA9Ci0gICAgICAgIG1fb3JpZ2luTG9ja01hcC5hZGQoZGF0YWJhc2VJZGVudGlmaWVy
LCBSZWZQdHI8T3JpZ2luTG9jaz4oKSk7Ci0gICAgaWYgKCFhZGRSZXN1bHQuaXNOZXdFbnRyeSkK
LSAgICAgICAgcmV0dXJuIGFkZFJlc3VsdC5pdGVyYXRvci0+dmFsdWU7Ci0KLSAgICBTdHJpbmcg
cGF0aCA9IG9yaWdpblBhdGgob3JpZ2luKTsKLSAgICBSZWZQdHI8T3JpZ2luTG9jaz4gbG9jayA9
IGFkb3B0UmVmKCpuZXcgT3JpZ2luTG9jayhwYXRoKSk7Ci0gICAgQVNTRVJUKGxvY2spOwotICAg
IGFkZFJlc3VsdC5pdGVyYXRvci0+dmFsdWUgPSBsb2NrOwotCi0gICAgcmV0dXJuIGxvY2s7Cisg
ICAgcmV0dXJuIG1fb3JpZ2luTG9ja01hcC5lbnN1cmUoZGF0YWJhc2VJZGVudGlmaWVyLCBbJl0g
eworICAgICAgICByZXR1cm4gT3JpZ2luTG9jazo6Y3JlYXRlKG9yaWdpblBhdGgob3JpZ2luKSk7
CisgICAgfSkuaXRlcmF0b3ItPnZhbHVlOwogfQogCiB2b2lkIERhdGFiYXNlVHJhY2tlcjo6ZGVs
ZXRlT3JpZ2luTG9ja0Zvcihjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmIG9yaWdpbikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VUcmFja2Vy
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlVHJhY2tlci5o
CmluZGV4IDcwY2MyMmI2OGRkYzUwOTUyNThmOWVkMDEwZGNkNjYzNDNlZDc3YTIuLjU2ZGMxMzVl
MjNhNzAzNmJlM2YwZDhmMjg0ZWExZmJiZjI1ZDFiMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VUcmFja2VyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVRyYWNrZXIuaApAQCAtOTAsNyArOTAs
NyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdWludDY0X3QgdXNhZ2UoY29uc3QgU2Vj
dXJpdHlPcmlnaW5EYXRhJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdWludDY0X3QgcXVvdGEoY29u
c3QgU2VjdXJpdHlPcmlnaW5EYXRhJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRRdW90
YShjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmLCB1aW50NjRfdCk7Ci0gICAgUmVmUHRyPE9yaWdp
bkxvY2s+IG9yaWdpbkxvY2tGb3IoY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJik7CisgICAgUmVm
PE9yaWdpbkxvY2s+IG9yaWdpbkxvY2tGb3IoY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJik7CiAK
ICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRlbGV0ZUFsbERhdGFiYXNlc0ltbWVkaWF0ZWx5KCk7
CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBkZWxldGVEYXRhYmFzZXNNb2RpZmllZFNpbmNlKFdh
bGxUaW1lKTsKQEAgLTE2OSw3ICsxNjksNyBAQCBwcml2YXRlOgogICAgIExvY2sgbV9kYXRhYmFz
ZUd1YXJkOwogICAgIFNRTGl0ZURhdGFiYXNlIG1fZGF0YWJhc2UgV1RGX0dVQVJERURfQllfTE9D
SyhtX2RhdGFiYXNlR3VhcmQpOwogCi0gICAgdXNpbmcgT3JpZ2luTG9ja01hcCA9IEhhc2hNYXA8
U3RyaW5nLCBSZWZQdHI8T3JpZ2luTG9jaz4+OworICAgIHVzaW5nIE9yaWdpbkxvY2tNYXAgPSBI
YXNoTWFwPFN0cmluZywgUmVmPE9yaWdpbkxvY2s+PjsKICAgICBPcmlnaW5Mb2NrTWFwIG1fb3Jp
Z2luTG9ja01hcCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fZGF0YWJhc2VHdWFyZCk7CiAKICAgICBT
dHJpbmcgbV9kYXRhYmFzZURpcmVjdG9yeVBhdGg7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL09yaWdpbkxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJkYXRhYmFzZS9PcmlnaW5Mb2NrLmNwcAppbmRleCA3NTNlNGU1YWM4NjYyODNhNGM3
M2Y0NGFmOWFhNGVjZGY1ZDE1YWVjLi43NTYwY2QwOTVkYjU5OTYzMDhhZmRlNjA4MzI4YjQ1NGMy
MjdlZWVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL09y
aWdpbkxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvT3Jp
Z2luTG9jay5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDIy
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtMjgsMTYgKzI4LDEzIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotU3Ry
aW5nIE9yaWdpbkxvY2s6OmxvY2tGaWxlTmFtZUZvclBhdGgoU3RyaW5nIG9yaWdpblBhdGgpCitz
dGF0aWMgU3RyaW5nIGxvY2tGaWxlTmFtZUZvclBhdGgoY29uc3QgU3RyaW5nJiBvcmlnaW5QYXRo
KQogewogICAgIHJldHVybiBGaWxlU3lzdGVtOjpwYXRoQnlBcHBlbmRpbmdDb21wb25lbnQob3Jp
Z2luUGF0aCwgIi5sb2NrIl9zKTsKIH0KIAotT3JpZ2luTG9jazo6T3JpZ2luTG9jayhTdHJpbmcg
b3JpZ2luUGF0aCkKK09yaWdpbkxvY2s6Ok9yaWdpbkxvY2soY29uc3QgU3RyaW5nJiBvcmlnaW5Q
YXRoKQogICAgIDogbV9sb2NrRmlsZU5hbWUobG9ja0ZpbGVOYW1lRm9yUGF0aChvcmlnaW5QYXRo
KS5pc29sYXRlZENvcHkoKSkKLSNpZiBVU0UoRklMRV9MT0NLKQotICAgICwgbV9sb2NrSGFuZGxl
KEZpbGVTeXN0ZW06OmludmFsaWRQbGF0Zm9ybUZpbGVIYW5kbGUpCi0jZW5kaWYKIHsKIH0KIApA
QCAtNzYsMTIgKzczLDEyIEBAIHZvaWQgT3JpZ2luTG9jazo6dW5sb2NrKCkgV1RGX0lHTk9SRVNf
VEhSRUFEX1NBRkVUWV9BTkFMWVNJUwogICAgIG1fbXV0ZXgudW5sb2NrKCk7CiB9CiAKLXZvaWQg
T3JpZ2luTG9jazo6ZGVsZXRlTG9ja0ZpbGUoU3RyaW5nIG9yaWdpblBhdGgpCit2b2lkIE9yaWdp
bkxvY2s6OmRlbGV0ZUxvY2tGaWxlKGNvbnN0IFN0cmluZyYgb3JpZ2luUGF0aCkKIHsKLSAgICBV
TlVTRURfUEFSQU0ob3JpZ2luUGF0aCk7CiAjaWYgVVNFKEZJTEVfTE9DSykKLSAgICBTdHJpbmcg
bG9ja0ZpbGVOYW1lID0gT3JpZ2luTG9jazo6bG9ja0ZpbGVOYW1lRm9yUGF0aChvcmlnaW5QYXRo
KTsKLSAgICBGaWxlU3lzdGVtOjpkZWxldGVGaWxlKGxvY2tGaWxlTmFtZSk7CisgICAgRmlsZVN5
c3RlbTo6ZGVsZXRlRmlsZShsb2NrRmlsZU5hbWVGb3JQYXRoKG9yaWdpblBhdGgpKTsKKyNlbHNl
CisgICAgVU5VU0VEX1BBUkFNKG9yaWdpblBhdGgpOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvT3JpZ2luTG9jay5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9PcmlnaW5Mb2NrLmgKaW5kZXggMDdiZTk0MTYx
ZGZkMzBhMjZmNmIwNGNlZWM5YTg5ZGY1MzA1MmU3Yi4uMWY3MzJkZjU1YWU3Mjc4N2YyMjk0YTRj
NTZjM2ZjZTE3YjNlNmYwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJk
YXRhYmFzZS9PcmlnaW5Mb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRh
YmFzZS9PcmlnaW5Mb2NrLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
My0yMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwpAQCAtMzMsMjMgKzMzLDI1IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIE9yaWdpbkxvY2sgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8T3JpZ2luTG9j
az4gewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE9yaWdpbkxvY2spOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBleHBsaWNpdCBPcmlnaW5Mb2NrKFN0cmluZyBvcmln
aW5QYXRoKTsKKyAgICBzdGF0aWMgUmVmPE9yaWdpbkxvY2s+IGNyZWF0ZShjb25zdCBTdHJpbmcm
IG9yaWdpblBhdGgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBPcmlnaW5M
b2NrKG9yaWdpblBhdGgpKTsKKyAgICB9CiAgICAgV0VCQ09SRV9FWFBPUlQgfk9yaWdpbkxvY2so
KTsKIAogICAgIHZvaWQgbG9jaygpOwogICAgIHZvaWQgdW5sb2NrKCk7CiAKLSAgICBzdGF0aWMg
dm9pZCBkZWxldGVMb2NrRmlsZShTdHJpbmcgb3JpZ2luUGF0aCk7CisgICAgc3RhdGljIHZvaWQg
ZGVsZXRlTG9ja0ZpbGUoY29uc3QgU3RyaW5nJiBvcmlnaW5QYXRoKTsKIAogcHJpdmF0ZToKLSAg
ICBzdGF0aWMgU3RyaW5nIGxvY2tGaWxlTmFtZUZvclBhdGgoU3RyaW5nIG9yaWdpblBhdGgpOwor
ICAgIGV4cGxpY2l0IE9yaWdpbkxvY2soY29uc3QgU3RyaW5nJiBvcmlnaW5QYXRoKTsKIAogICAg
IFN0cmluZyBtX2xvY2tGaWxlTmFtZTsKICAgICBMb2NrIG1fbXV0ZXg7CiAjaWYgVVNFKEZJTEVf
TE9DSykKLSAgICBGaWxlU3lzdGVtOjpQbGF0Zm9ybUZpbGVIYW5kbGUgbV9sb2NrSGFuZGxlOwor
ICAgIEZpbGVTeXN0ZW06OlBsYXRmb3JtRmlsZUhhbmRsZSBtX2xvY2tIYW5kbGUgeyBGaWxlU3lz
dGVtOjppbnZhbGlkUGxhdGZvcm1GaWxlSGFuZGxlIH07CiAjZW5kaWYKIH07CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>