<?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>226156</bug_id>
          
          <creation_ts>2021-05-23 11:11:51 -0700</creation_ts>
          <short_desc>[LFC][TFC] Percent height resolving quirk should stop at the table formatting context root</short_desc>
          <delta_ts>2021-05-25 08:37:17 -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>Layout and Rendering</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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>darin</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1762917</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-05-23 11:11:51 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762918</commentid>
    <comment_count>1</comment_count>
      <attachid>429468</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-05-23 11:15:00 -0700</bug_when>
    <thetext>Created attachment 429468
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762967</commentid>
    <comment_count>2</comment_count>
      <attachid>429468</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-05-23 15:26:50 -0700</bug_when>
    <thetext>Comment on attachment 429468
Patch

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

&gt; Source/WebCore/layout/formattingContexts/table/TableFormattingQuirks.cpp:65
&gt; +        return height.isFixed() ? makeOptional(LayoutUnit { height.value() }) : WTF::nullopt;

Instead of this:

    makeOptional(LayoutUnit { height.value() })

Does this compile?

    Optional&lt;LayoutUnit&gt; { height.value() }

I think I would prefer that.

&gt; Source/WebCore/layout/formattingContexts/table/TableFormattingQuirks.cpp:70
&gt; +    for (auto* ancestor = &amp;layoutBox.containingBlock(); ancestor &amp;&amp; ancestor != &amp;tableBox; ancestor = &amp;ancestor-&gt;containingBlock()) {

seems like we write this idiomatic loop so often; wish there was a cleaner idiom for it, like we have for DOM tree ancestry:</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762976</commentid>
    <comment_count>3</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-05-23 16:23:22 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #2)
&gt; Comment on attachment 429468 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=429468&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/layout/formattingContexts/table/TableFormattingQuirks.cpp:65
&gt; &gt; +        return height.isFixed() ? makeOptional(LayoutUnit { height.value() }) : WTF::nullopt;
&gt; 
&gt; Instead of this:
&gt; 
&gt;     makeOptional(LayoutUnit { height.value() })
&gt; 
&gt; Does this compile?
&gt; 
&gt;     Optional&lt;LayoutUnit&gt; { height.value() }
&gt; 
&gt; I think I would prefer that.
This works: Optional&lt;LayoutUnit&gt; { LayoutUnit { height.value() } }


&gt; 
&gt; &gt; Source/WebCore/layout/formattingContexts/table/TableFormattingQuirks.cpp:70
&gt; &gt; +    for (auto* ancestor = &amp;layoutBox.containingBlock(); ancestor &amp;&amp; ancestor != &amp;tableBox; ancestor = &amp;ancestor-&gt;containingBlock()) {
&gt; 
&gt; seems like we write this idiomatic loop so often; wish there was a cleaner
&gt; idiom for it, like we have for DOM tree ancestry:
We&apos;ve got similar ancestor, descendant iterators in both rendering and layout codebase but you are right, we are missing the containing block iterator (which is a specialized ancestor iterator where we may skip ancestors as climbing up on the tree). I&apos;ll add on.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762977</commentid>
    <comment_count>4</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-05-23 16:23:47 -0700</bug_when>
    <thetext>and thanks for the review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762992</commentid>
    <comment_count>5</comment_count>
      <attachid>429468</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-05-23 18:24:43 -0700</bug_when>
    <thetext>Comment on attachment 429468
Patch

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

&gt;&gt;&gt; Source/WebCore/layout/formattingContexts/table/TableFormattingQuirks.cpp:65
&gt;&gt;&gt; +        return height.isFixed() ? makeOptional(LayoutUnit { height.value() }) : WTF::nullopt;
&gt;&gt; 
&gt;&gt; Instead of this:
&gt;&gt; 
&gt;&gt;     makeOptional(LayoutUnit { height.value() })
&gt;&gt; 
&gt;&gt; Does this compile?
&gt;&gt; 
&gt;&gt;     Optional&lt;LayoutUnit&gt; { height.value() }
&gt;&gt; 
&gt;&gt; I think I would prefer that.
&gt; 
&gt; This works: Optional&lt;LayoutUnit&gt; { LayoutUnit { height.value() } }

Well, that one is too wordy. I think what we need is to make a deduction guide so you can write:

    Optional { LayoutUnit { height.value() } }

For now, makeOptional seems best.

&gt;&gt;&gt; Source/WebCore/layout/formattingContexts/table/TableFormattingQuirks.cpp:70
&gt;&gt;&gt; +    for (auto* ancestor = &amp;layoutBox.containingBlock(); ancestor &amp;&amp; ancestor != &amp;tableBox; ancestor = &amp;ancestor-&gt;containingBlock()) {
&gt;&gt; 
&gt;&gt; seems like we write this idiomatic loop so often; wish there was a cleaner idiom for it, like we have for DOM tree ancestry:
&gt; 
&gt; We&apos;ve got similar ancestor, descendant iterators in both rendering and layout codebase but you are right, we are missing the containing block iterator (which is a specialized ancestor iterator where we may skip ancestors as climbing up on the tree). I&apos;ll add on.

Sounds like it will work. There’s also the other part here: &quot;stop when I hit what I think is my ancestor (tableBox here), but seriously if you hit null then just stop silently even though that should not happen&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762997</commentid>
    <comment_count>6</comment_count>
      <attachid>429496</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-05-23 19:38:27 -0700</bug_when>
    <thetext>Created attachment 429496
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763376</commentid>
    <comment_count>7</comment_count>
      <attachid>429609</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-05-24 18:52:03 -0700</bug_when>
    <thetext>Created attachment 429609
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763520</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-25 08:36:04 -0700</bug_when>
    <thetext>Committed r278010 (238123@main): &lt;https://commits.webkit.org/238123@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 429609.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763523</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-05-25 08:37:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/78457938&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429468</attachid>
            <date>2021-05-23 11:15:00 -0700</date>
            <delta_ts>2021-05-23 19:38:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226156-20210523111500.patch</filename>
            <type>text/plain</type>
            <size>6377</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3NTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzA5MWE2MWU1Y2Y4NjRi
YmY0ZWE2MWY3Y2NiZDUwODc1NjYyOWYzZi4uYjExYzBmMmM3MDA5Mjc5MmJkNWJlODQ3MGYxNWUz
OWI5MDRlZjE3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTA1LTIzICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtURkNdIFBlcmNlbnQg
aGVpZ2h0IHJlc29sdmluZyBxdWlyayBzaG91bGQgc3RvcCBhdCB0aGUgdGFibGUgZm9ybWF0dGlu
ZyBjb250ZXh0IHJvb3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNjE1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRlc3Q6IGZhc3QvbGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvdGFibGUtd2l0aC1wZXJj
ZW50LWhlaWdodC1kZXNjZW5kYW50Lmh0bWwKKworICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5n
Q29udGV4dHMvRm9ybWF0dGluZ1F1aXJrcy5oOgorICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5n
Q29udGV4dHMvdGFibGUvVGFibGVGb3JtYXR0aW5nUXVpcmtzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6VGFibGVGb3JtYXR0aW5nUXVpcmtzOjpoZWlnaHRWYWx1ZU9mTmVhcmVzdENv
bnRhaW5pbmdCbG9ja1dpdGhGaXhlZEhlaWdodCBjb25zdCk6CisgICAgICAgICogbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdRdWlya3MuaDoKKwogMjAyMS0w
NS0yMiAgQWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ10gQWRk
IHN1cHBvcnQgZm9yIGdlb21ldHJ5L3F1aXJrcyB2aXJ0dWFsIGZ1bmN0aW9ucwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9Gb3JtYXR0aW5nUXVp
cmtzLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL0Zvcm1hdHRp
bmdRdWlya3MuaAppbmRleCBkNTc4MjAzYjcwNGI5MDgyNzE0MzdhNTVkZTZkODQ2Nzc4OWU1Njk3
Li42NzIzYjUyYzY4NWVkMThmYzM4YWRjMGZkZGJlMGQ0NzdhNTVhMTU5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL0Zvcm1hdHRpbmdRdWlya3Mu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL0Zvcm1hdHRp
bmdRdWlya3MuaApAQCAtMzUsOCArMzUsOSBAQCBuYW1lc3BhY2UgTGF5b3V0IHsKIGNsYXNzIEZv
cm1hdHRpbmdRdWlya3MgewogcHVibGljOgogICAgIEZvcm1hdHRpbmdRdWlya3MoY29uc3QgRm9y
bWF0dGluZ0NvbnRleHQmKTsKKyAgICB2aXJ0dWFsIH5Gb3JtYXR0aW5nUXVpcmtzKCkgPSBkZWZh
dWx0OwogCi0gICAgTGF5b3V0VW5pdCBoZWlnaHRWYWx1ZU9mTmVhcmVzdENvbnRhaW5pbmdCbG9j
a1dpdGhGaXhlZEhlaWdodChjb25zdCBCb3gmKSBjb25zdDsKKyAgICB2aXJ0dWFsIExheW91dFVu
aXQgaGVpZ2h0VmFsdWVPZk5lYXJlc3RDb250YWluaW5nQmxvY2tXaXRoRml4ZWRIZWlnaHQoY29u
c3QgQm94JikgY29uc3Q7CiAKICAgICBib29sIGlzQmxvY2tGb3JtYXR0aW5nUXVpcmtzKCkgY29u
c3QgeyByZXR1cm4gZm9ybWF0dGluZ0NvbnRleHQoKS5pc0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQo
KTsgfQogICAgIGJvb2wgaXNJbmxpbmVGb3JtYXR0aW5nUXVpcmtzKCkgY29uc3QgeyByZXR1cm4g
Zm9ybWF0dGluZ0NvbnRleHQoKS5pc0lubGluZUZvcm1hdHRpbmdDb250ZXh0KCk7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvdGFibGUvVGFi
bGVGb3JtYXR0aW5nUXVpcmtzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5n
Q29udGV4dHMvdGFibGUvVGFibGVGb3JtYXR0aW5nUXVpcmtzLmNwcAppbmRleCA2MzBlYjgxOGFj
MTBkMDNkZDhlMzZlMDJhOTYzNGQyOTY4ZDI1YjMwLi44NTIxOWRhMjVlNGJkOWU3MDU4YTAxNzNh
MzgxYzY3ODZkMGRhMWQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0
dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlRm9ybWF0dGluZ1F1aXJrcy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdR
dWlya3MuY3BwCkBAIC01NSw2ICs1NSwyNSBAQCBib29sIFRhYmxlRm9ybWF0dGluZ1F1aXJrczo6
c2hvdWxkSWdub3JlQ2hpbGRDb250ZW50VmVydGljYWxNYXJnaW4oY29uc3QgQ29udGFpbgogICAg
IHJldHVybiBjZWxsQm94LmZpcnN0SW5GbG93Q2hpbGQoKS0+c3R5bGUoKS5oYXNNYXJnaW5CZWZv
cmVRdWlyaygpIHx8IGNlbGxCb3gubGFzdEluRmxvd0NoaWxkKCktPnN0eWxlKCkuaGFzTWFyZ2lu
QWZ0ZXJRdWlyaygpOwogfQogCitMYXlvdXRVbml0IFRhYmxlRm9ybWF0dGluZ1F1aXJrczo6aGVp
Z2h0VmFsdWVPZk5lYXJlc3RDb250YWluaW5nQmxvY2tXaXRoRml4ZWRIZWlnaHQoY29uc3QgQm94
JiBsYXlvdXRCb3gpIGNvbnN0Cit7CisgICAgLy8gVGhlICJsZXQncyBmaW5kIHRoZSBuZWFyZXN0
IGFuY2VzdG9yIHdpdGggZml4ZWQgaGVpZ2h0IHRvIHJlc29sdmUgcGVyY2VudCBoZWlnaHQiIHF1
aXJrIGlzIGxpbWl0ZWQgdG8gdGhlIHRhYmxlIGZvcm1hdHRpbmcKKyAgICAvLyBjb250ZXh0LiBJ
ZiB3ZSBjYW4ndCByZXNvbHZlIGl0IHdpdGhpbiB0aGUgdGFibGUgc3VidHJlZSwgd2UgZGVmYXVs
dCBpdCB0byAwLgorICAgIC8vIGUuZyA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDEwMHB4Ij48dGFibGU+
PHRyPjx0ZCBzdHlsZT0iaGVpZ2h0OiAxMDAlIj48L3RkPjwvdHI+PC90YWJsZT48L2Rpdj4gaXMg
cmVzb2x2ZWQgdG8gMHB4LgorICAgIGF1dG8gZml4ZWRMb2dpY2FsSGVpZ2h0ID0gWyZdKGNvbnN0
IGF1dG8mIGFuY2VzdG9yQm94KSB7CisgICAgICAgIGF1dG8gaGVpZ2h0ID0gYW5jZXN0b3JCb3gu
c3R5bGUoKS5sb2dpY2FsSGVpZ2h0KCk7CisgICAgICAgIHJldHVybiBoZWlnaHQuaXNGaXhlZCgp
ID8gbWFrZU9wdGlvbmFsKExheW91dFVuaXQgeyBoZWlnaHQudmFsdWUoKSB9KSA6IFdURjo6bnVs
bG9wdDsKKyAgICB9OworCisgICAgYXV0byYgZm9ybWF0dGluZ0NvbnRleHQgPSB0aGlzLT5mb3Jt
YXR0aW5nQ29udGV4dCgpOworICAgIGF1dG8mIHRhYmxlQm94ID0gZm9ybWF0dGluZ0NvbnRleHQu
cm9vdCgpOworICAgIGZvciAoYXV0byogYW5jZXN0b3IgPSAmbGF5b3V0Qm94LmNvbnRhaW5pbmdC
bG9jaygpOyBhbmNlc3RvciAmJiBhbmNlc3RvciAhPSAmdGFibGVCb3g7IGFuY2VzdG9yID0gJmFu
Y2VzdG9yLT5jb250YWluaW5nQmxvY2soKSkgeworICAgICAgICBpZiAoYXV0byBmaXhlZEhlaWdo
dCA9IGZpeGVkTG9naWNhbEhlaWdodCgqYW5jZXN0b3IpKQorICAgICAgICAgICAgcmV0dXJuICpm
aXhlZEhlaWdodDsKKyAgICB9CisgICAgcmV0dXJuIGZpeGVkTG9naWNhbEhlaWdodCh0YWJsZUJv
eCkudmFsdWVPcihMYXlvdXRVbml0IHsgfSk7Cit9CisKIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRp
bmdRdWlya3MuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvdGFi
bGUvVGFibGVGb3JtYXR0aW5nUXVpcmtzLmgKaW5kZXggODM1OTEwNjc0OTdmMGQ3YmYxNTU2ZTUx
ZTAxNjE4ZDU0YzcxNzVjMS4uZDQ0MDg5NWRlMjQ0MTFjMDU3YjdlYjUzNDgwMmQ4NDIyY2YzOTJk
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90
YWJsZS9UYWJsZUZvcm1hdHRpbmdRdWlya3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlRm9ybWF0dGluZ1F1aXJrcy5oCkBAIC0zNyw2
ICszNyw3IEBAIHB1YmxpYzoKICAgICBUYWJsZUZvcm1hdHRpbmdRdWlya3MoY29uc3QgVGFibGVG
b3JtYXR0aW5nQ29udGV4dCYpOwogCiAgICAgc3RhdGljIGJvb2wgc2hvdWxkSWdub3JlQ2hpbGRD
b250ZW50VmVydGljYWxNYXJnaW4oY29uc3QgQ29udGFpbmVyQm94Jik7CisgICAgTGF5b3V0VW5p
dCBoZWlnaHRWYWx1ZU9mTmVhcmVzdENvbnRhaW5pbmdCbG9ja1dpdGhGaXhlZEhlaWdodChjb25z
dCBCb3gmKSBjb25zdCBmaW5hbDsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2MWJjZjIyMmM0ODIzYWY3ZjY5
ZjhhOGIxZDE4YTAwMDk5ZWExZTM5Li40ZjE5NWI4ODczMzQ2OGIxM2VhZTMwMWUxZWY5MzViZjIw
Njc2Y2ExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDUtMjMgIEFsYW4gQnVqdGFzICA8
emFsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFtMRkNdW1RGQ10gUGVyY2VudCBoZWlnaHQgcmVz
b2x2aW5nIHF1aXJrIHNob3VsZCBzdG9wIGF0IHRoZSB0YWJsZSBmb3JtYXR0aW5nIGNvbnRleHQg
cm9vdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2
MTU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBm
YXN0L2xheW91dGZvcm1hdHRpbmdjb250ZXh0L3RhYmxlLXdpdGgtcGVyY2VudC1oZWlnaHQtZGVz
Y2VuZGFudC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2xheW91dGZvcm1h
dHRpbmdjb250ZXh0L3RhYmxlLXdpdGgtcGVyY2VudC1oZWlnaHQtZGVzY2VuZGFudC5odG1sOiBB
ZGRlZC4KKwogMjAyMS0wNS0yMCAgQWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgW0xGQ11bVEZDXVtRdWlya3NdIFVzZSBib3gtc2l6aW5nOiBib3JkZXItYm94IHdoZW4g
Y29tcHV0aW5nIGNlbGwgaGVpZ2h0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2xheW91
dGZvcm1hdHRpbmdjb250ZXh0L3RhYmxlLXdpdGgtcGVyY2VudC1oZWlnaHQtZGVzY2VuZGFudC1l
eHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9sYXlvdXRmb3JtYXR0aW5nY29udGV4dC90
YWJsZS13aXRoLXBlcmNlbnQtaGVpZ2h0LWRlc2NlbmRhbnQtZXhwZWN0ZWQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4wODgxMjIyN2ZjOTViOTI3OGQ1YTViMjgyNWRkNjgyZTZjYmQ4NjU5Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9sYXlvdXRmb3JtYXR0aW5nY29udGV4dC90YWJsZS13
aXRoLXBlcmNlbnQtaGVpZ2h0LWRlc2NlbmRhbnQtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDgg
QEAKKzxzdHlsZT4KK2RpdiB7CisgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworICBoZWlnaHQ6
IDIwMHB4OworICB3aWR0aDogMjAwcHg7Cit9Cis8L3N0eWxlPgorPGRpdj48L2Rpdj4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvdGFibGUtd2l0
aC1wZXJjZW50LWhlaWdodC1kZXNjZW5kYW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2xheW91
dGZvcm1hdHRpbmdjb250ZXh0L3RhYmxlLXdpdGgtcGVyY2VudC1oZWlnaHQtZGVzY2VuZGFudC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgzM2RkYzc1ZTQxNzViNjhjMGUzNmNjMjk1MDIzMzU4OGQxYzJiYWIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2xheW91dGZvcm1hdHRpbmdjb250
ZXh0L3RhYmxlLXdpdGgtcGVyY2VudC1oZWlnaHQtZGVzY2VuZGFudC5odG1sCkBAIC0wLDAgKzEs
MTAgQEAKKzxzdHlsZT4KK3RhYmxlIHsKKyAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CisgIGJv
cmRlci1zcGFjaW5nOiAwcHg7CisgIGJvcmRlcjogMTAwcHggc29saWQgZ3JlZW47Cit9Cis8L3N0
eWxlPgorPGRpdiBzdHlsZT0iaGVpZ2h0OiA1MDBweDsiPgorPHRhYmxlPjx0cj48dGQgc3R5bGU9
ImhlaWdodDogMTAwJTsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyBwYWRkaW5nOiAwcHgiPjwvdGQ+
PC90cj48L3RhYmxlPgorPC9kaXY+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429496</attachid>
            <date>2021-05-23 19:38:27 -0700</date>
            <delta_ts>2021-05-24 18:52:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226156-20210523193826.patch</filename>
            <type>text/plain</type>
            <size>6371</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3NTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzA5MWE2MWU1Y2Y4NjRi
YmY0ZWE2MWY3Y2NiZDUwODc1NjYyOWYzZi4uYzQzNTQ0NzBmM2Q4YzQxMDI5ZDkwM2VjMGJlMjJl
NGIxOGJkMGZhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTA1LTIzICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtURkNdIFBlcmNlbnQg
aGVpZ2h0IHJlc29sdmluZyBxdWlyayBzaG91bGQgc3RvcCBhdCB0aGUgdGFibGUgZm9ybWF0dGlu
ZyBjb250ZXh0IHJvb3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNjE1NgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAg
ICAgIFRlc3Q6IGZhc3QvbGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvdGFibGUtd2l0aC1wZXJjZW50
LWhlaWdodC1kZXNjZW5kYW50Lmh0bWwKKworICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvRm9ybWF0dGluZ1F1aXJrcy5oOgorICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvdGFibGUvVGFibGVGb3JtYXR0aW5nUXVpcmtzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6VGFibGVGb3JtYXR0aW5nUXVpcmtzOjpoZWlnaHRWYWx1ZU9mTmVhcmVzdENvbnRh
aW5pbmdCbG9ja1dpdGhGaXhlZEhlaWdodCBjb25zdCk6CisgICAgICAgICogbGF5b3V0L2Zvcm1h
dHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdRdWlya3MuaDoKKwogMjAyMS0wNS0y
MiAgQWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ10gQWRkIHN1
cHBvcnQgZm9yIGdlb21ldHJ5L3F1aXJrcyB2aXJ0dWFsIGZ1bmN0aW9ucwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9Gb3JtYXR0aW5nUXVpcmtz
LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL0Zvcm1hdHRpbmdR
dWlya3MuaAppbmRleCBkNTc4MjAzYjcwNGI5MDgyNzE0MzdhNTVkZTZkODQ2Nzc4OWU1Njk3Li42
NzIzYjUyYzY4NWVkMThmYzM4YWRjMGZkZGJlMGQ0NzdhNTVhMTU5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL0Zvcm1hdHRpbmdRdWlya3MuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL0Zvcm1hdHRpbmdR
dWlya3MuaApAQCAtMzUsOCArMzUsOSBAQCBuYW1lc3BhY2UgTGF5b3V0IHsKIGNsYXNzIEZvcm1h
dHRpbmdRdWlya3MgewogcHVibGljOgogICAgIEZvcm1hdHRpbmdRdWlya3MoY29uc3QgRm9ybWF0
dGluZ0NvbnRleHQmKTsKKyAgICB2aXJ0dWFsIH5Gb3JtYXR0aW5nUXVpcmtzKCkgPSBkZWZhdWx0
OwogCi0gICAgTGF5b3V0VW5pdCBoZWlnaHRWYWx1ZU9mTmVhcmVzdENvbnRhaW5pbmdCbG9ja1dp
dGhGaXhlZEhlaWdodChjb25zdCBCb3gmKSBjb25zdDsKKyAgICB2aXJ0dWFsIExheW91dFVuaXQg
aGVpZ2h0VmFsdWVPZk5lYXJlc3RDb250YWluaW5nQmxvY2tXaXRoRml4ZWRIZWlnaHQoY29uc3Qg
Qm94JikgY29uc3Q7CiAKICAgICBib29sIGlzQmxvY2tGb3JtYXR0aW5nUXVpcmtzKCkgY29uc3Qg
eyByZXR1cm4gZm9ybWF0dGluZ0NvbnRleHQoKS5pc0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQoKTsg
fQogICAgIGJvb2wgaXNJbmxpbmVGb3JtYXR0aW5nUXVpcmtzKCkgY29uc3QgeyByZXR1cm4gZm9y
bWF0dGluZ0NvbnRleHQoKS5pc0lubGluZUZvcm1hdHRpbmdDb250ZXh0KCk7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvdGFibGUvVGFibGVG
b3JtYXR0aW5nUXVpcmtzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvdGFibGUvVGFibGVGb3JtYXR0aW5nUXVpcmtzLmNwcAppbmRleCA2MzBlYjgxOGFjMTBk
MDNkZDhlMzZlMDJhOTYzNGQyOTY4ZDI1YjMwLi44NTIxOWRhMjVlNGJkOWU3MDU4YTAxNzNhMzgx
YzY3ODZkMGRhMWQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL3RhYmxlL1RhYmxlRm9ybWF0dGluZ1F1aXJrcy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdRdWly
a3MuY3BwCkBAIC01NSw2ICs1NSwyNSBAQCBib29sIFRhYmxlRm9ybWF0dGluZ1F1aXJrczo6c2hv
dWxkSWdub3JlQ2hpbGRDb250ZW50VmVydGljYWxNYXJnaW4oY29uc3QgQ29udGFpbgogICAgIHJl
dHVybiBjZWxsQm94LmZpcnN0SW5GbG93Q2hpbGQoKS0+c3R5bGUoKS5oYXNNYXJnaW5CZWZvcmVR
dWlyaygpIHx8IGNlbGxCb3gubGFzdEluRmxvd0NoaWxkKCktPnN0eWxlKCkuaGFzTWFyZ2luQWZ0
ZXJRdWlyaygpOwogfQogCitMYXlvdXRVbml0IFRhYmxlRm9ybWF0dGluZ1F1aXJrczo6aGVpZ2h0
VmFsdWVPZk5lYXJlc3RDb250YWluaW5nQmxvY2tXaXRoRml4ZWRIZWlnaHQoY29uc3QgQm94JiBs
YXlvdXRCb3gpIGNvbnN0Cit7CisgICAgLy8gVGhlICJsZXQncyBmaW5kIHRoZSBuZWFyZXN0IGFu
Y2VzdG9yIHdpdGggZml4ZWQgaGVpZ2h0IHRvIHJlc29sdmUgcGVyY2VudCBoZWlnaHQiIHF1aXJr
IGlzIGxpbWl0ZWQgdG8gdGhlIHRhYmxlIGZvcm1hdHRpbmcKKyAgICAvLyBjb250ZXh0LiBJZiB3
ZSBjYW4ndCByZXNvbHZlIGl0IHdpdGhpbiB0aGUgdGFibGUgc3VidHJlZSwgd2UgZGVmYXVsdCBp
dCB0byAwLgorICAgIC8vIGUuZyA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDEwMHB4Ij48dGFibGU+PHRy
Pjx0ZCBzdHlsZT0iaGVpZ2h0OiAxMDAlIj48L3RkPjwvdHI+PC90YWJsZT48L2Rpdj4gaXMgcmVz
b2x2ZWQgdG8gMHB4LgorICAgIGF1dG8gZml4ZWRMb2dpY2FsSGVpZ2h0ID0gWyZdKGNvbnN0IGF1
dG8mIGFuY2VzdG9yQm94KSB7CisgICAgICAgIGF1dG8gaGVpZ2h0ID0gYW5jZXN0b3JCb3guc3R5
bGUoKS5sb2dpY2FsSGVpZ2h0KCk7CisgICAgICAgIHJldHVybiBoZWlnaHQuaXNGaXhlZCgpID8g
bWFrZU9wdGlvbmFsKExheW91dFVuaXQgeyBoZWlnaHQudmFsdWUoKSB9KSA6IFdURjo6bnVsbG9w
dDsKKyAgICB9OworCisgICAgYXV0byYgZm9ybWF0dGluZ0NvbnRleHQgPSB0aGlzLT5mb3JtYXR0
aW5nQ29udGV4dCgpOworICAgIGF1dG8mIHRhYmxlQm94ID0gZm9ybWF0dGluZ0NvbnRleHQucm9v
dCgpOworICAgIGZvciAoYXV0byogYW5jZXN0b3IgPSAmbGF5b3V0Qm94LmNvbnRhaW5pbmdCbG9j
aygpOyBhbmNlc3RvciAmJiBhbmNlc3RvciAhPSAmdGFibGVCb3g7IGFuY2VzdG9yID0gJmFuY2Vz
dG9yLT5jb250YWluaW5nQmxvY2soKSkgeworICAgICAgICBpZiAoYXV0byBmaXhlZEhlaWdodCA9
IGZpeGVkTG9naWNhbEhlaWdodCgqYW5jZXN0b3IpKQorICAgICAgICAgICAgcmV0dXJuICpmaXhl
ZEhlaWdodDsKKyAgICB9CisgICAgcmV0dXJuIGZpeGVkTG9naWNhbEhlaWdodCh0YWJsZUJveCku
dmFsdWVPcihMYXlvdXRVbml0IHsgfSk7Cit9CisKIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdR
dWlya3MuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvdGFibGUv
VGFibGVGb3JtYXR0aW5nUXVpcmtzLmgKaW5kZXggODM1OTEwNjc0OTdmMGQ3YmYxNTU2ZTUxZTAx
NjE4ZDU0YzcxNzVjMS4uZDQ0MDg5NWRlMjQ0MTFjMDU3YjdlYjUzNDgwMmQ4NDIyY2YzOTJkYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJs
ZS9UYWJsZUZvcm1hdHRpbmdRdWlya3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9y
bWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlRm9ybWF0dGluZ1F1aXJrcy5oCkBAIC0zNyw2ICsz
Nyw3IEBAIHB1YmxpYzoKICAgICBUYWJsZUZvcm1hdHRpbmdRdWlya3MoY29uc3QgVGFibGVGb3Jt
YXR0aW5nQ29udGV4dCYpOwogCiAgICAgc3RhdGljIGJvb2wgc2hvdWxkSWdub3JlQ2hpbGRDb250
ZW50VmVydGljYWxNYXJnaW4oY29uc3QgQ29udGFpbmVyQm94Jik7CisgICAgTGF5b3V0VW5pdCBo
ZWlnaHRWYWx1ZU9mTmVhcmVzdENvbnRhaW5pbmdCbG9ja1dpdGhGaXhlZEhlaWdodChjb25zdCBC
b3gmKSBjb25zdCBmaW5hbDsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2MWJjZjIyMmM0ODIzYWY3ZjY5Zjhh
OGIxZDE4YTAwMDk5ZWExZTM5Li5jYjJiYmZkYmVkMWNkZjM5NTlkM2EwZDUzNTU3MWY4ODAxNjVl
NjAzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDUtMjMgIEFsYW4gQnVqdGFzICA8emFs
YW5AYXBwbGUuY29tPgorCisgICAgICAgIFtMRkNdW1RGQ10gUGVyY2VudCBoZWlnaHQgcmVzb2x2
aW5nIHF1aXJrIHNob3VsZCBzdG9wIGF0IHRoZSB0YWJsZSBmb3JtYXR0aW5nIGNvbnRleHQgcm9v
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2MTU2
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiBmYXN0L2xh
eW91dGZvcm1hdHRpbmdjb250ZXh0L3RhYmxlLXdpdGgtcGVyY2VudC1oZWlnaHQtZGVzY2VuZGFu
dC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2xheW91dGZvcm1hdHRpbmdj
b250ZXh0L3RhYmxlLXdpdGgtcGVyY2VudC1oZWlnaHQtZGVzY2VuZGFudC5odG1sOiBBZGRlZC4K
KwogMjAyMS0wNS0yMCAgQWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAg
W0xGQ11bVEZDXVtRdWlya3NdIFVzZSBib3gtc2l6aW5nOiBib3JkZXItYm94IHdoZW4gY29tcHV0
aW5nIGNlbGwgaGVpZ2h0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2xheW91dGZvcm1h
dHRpbmdjb250ZXh0L3RhYmxlLXdpdGgtcGVyY2VudC1oZWlnaHQtZGVzY2VuZGFudC1leHBlY3Rl
ZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9sYXlvdXRmb3JtYXR0aW5nY29udGV4dC90YWJsZS13
aXRoLXBlcmNlbnQtaGVpZ2h0LWRlc2NlbmRhbnQtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4w
ODgxMjIyN2ZjOTViOTI3OGQ1YTViMjgyNWRkNjgyZTZjYmQ4NjU5Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9sYXlvdXRmb3JtYXR0aW5nY29udGV4dC90YWJsZS13aXRoLXBl
cmNlbnQtaGVpZ2h0LWRlc2NlbmRhbnQtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDggQEAKKzxz
dHlsZT4KK2RpdiB7CisgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworICBoZWlnaHQ6IDIwMHB4
OworICB3aWR0aDogMjAwcHg7Cit9Cis8L3N0eWxlPgorPGRpdj48L2Rpdj4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvbGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvdGFibGUtd2l0aC1wZXJj
ZW50LWhlaWdodC1kZXNjZW5kYW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2xheW91dGZvcm1h
dHRpbmdjb250ZXh0L3RhYmxlLXdpdGgtcGVyY2VudC1oZWlnaHQtZGVzY2VuZGFudC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgzM2RkYzc1ZTQxNzViNjhjMGUzNmNjMjk1MDIzMzU4OGQxYzJiYWIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2xheW91dGZvcm1hdHRpbmdjb250ZXh0L3Rh
YmxlLXdpdGgtcGVyY2VudC1oZWlnaHQtZGVzY2VuZGFudC5odG1sCkBAIC0wLDAgKzEsMTAgQEAK
KzxzdHlsZT4KK3RhYmxlIHsKKyAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CisgIGJvcmRlci1z
cGFjaW5nOiAwcHg7CisgIGJvcmRlcjogMTAwcHggc29saWQgZ3JlZW47Cit9Cis8L3N0eWxlPgor
PGRpdiBzdHlsZT0iaGVpZ2h0OiA1MDBweDsiPgorPHRhYmxlPjx0cj48dGQgc3R5bGU9ImhlaWdo
dDogMTAwJTsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyBwYWRkaW5nOiAwcHgiPjwvdGQ+PC90cj48
L3RhYmxlPgorPC9kaXY+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429609</attachid>
            <date>2021-05-24 18:52:03 -0700</date>
            <delta_ts>2021-05-25 08:36:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226156-20210524185202.patch</filename>
            <type>text/plain</type>
            <size>6584</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3OTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjg5ZmZlMGYwYjA5ZTNk
Y2EyOGMzNmQxZTcwYjBiYmQwODcyMDMwMy4uNDZkMTZlMDYzY2I3YmM2NTkyMzQ0MzE4OTk1MjMy
ZDQ0Y2M4NzcxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTA1LTI0ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtURkNdIFBlcmNlbnQg
aGVpZ2h0IHJlc29sdmluZyBxdWlyayBzaG91bGQgc3RvcCBhdCB0aGUgdGFibGUgZm9ybWF0dGlu
ZyBjb250ZXh0IHJvb3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNjE1NgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAg
ICAgIFRlc3Q6IGZhc3QvbGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvdGFibGUtd2l0aC1wZXJjZW50
LWhlaWdodC1kZXNjZW5kYW50Lmh0bWwKKworICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvRm9ybWF0dGluZ1F1aXJrcy5oOgorICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvdGFibGUvVGFibGVGb3JtYXR0aW5nUXVpcmtzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6VGFibGVGb3JtYXR0aW5nUXVpcmtzOjpoZWlnaHRWYWx1ZU9mTmVhcmVzdENvbnRh
aW5pbmdCbG9ja1dpdGhGaXhlZEhlaWdodCBjb25zdCk6CisgICAgICAgICogbGF5b3V0L2Zvcm1h
dHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdRdWlya3MuaDoKKwogMjAyMS0wNS0y
NCAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CiAKICAgICAgICAgQ29udmVydCBEZXN0
aW5hdGlvbkNvbG9yU3BhY2UgZnJvbSBhbiBlbnVtIHRvIGNsYXNzIHdyYXBwaW5nIGEgcGxhdGZv
cm0gY29sb3Igc3BhY2UgKENHQ29sb3JTcGFjZVJlZiBmb3IgQ0cgcG9ydHMsIGV0Yy4pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL0Zvcm1hdHRp
bmdRdWlya3MuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvRm9y
bWF0dGluZ1F1aXJrcy5oCmluZGV4IGQ1NzgyMDNiNzA0YjkwODI3MTQzN2E1NWRlNmQ4NDY3Nzg5
ZTU2OTcuLjY3MjNiNTJjNjg1ZWQxOGZjMzhhZGMwZmRkYmUwZDQ3N2E1NWExNTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvRm9ybWF0dGluZ1F1
aXJrcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvRm9y
bWF0dGluZ1F1aXJrcy5oCkBAIC0zNSw4ICszNSw5IEBAIG5hbWVzcGFjZSBMYXlvdXQgewogY2xh
c3MgRm9ybWF0dGluZ1F1aXJrcyB7CiBwdWJsaWM6CiAgICAgRm9ybWF0dGluZ1F1aXJrcyhjb25z
dCBGb3JtYXR0aW5nQ29udGV4dCYpOworICAgIHZpcnR1YWwgfkZvcm1hdHRpbmdRdWlya3MoKSA9
IGRlZmF1bHQ7CiAKLSAgICBMYXlvdXRVbml0IGhlaWdodFZhbHVlT2ZOZWFyZXN0Q29udGFpbmlu
Z0Jsb2NrV2l0aEZpeGVkSGVpZ2h0KGNvbnN0IEJveCYpIGNvbnN0OworICAgIHZpcnR1YWwgTGF5
b3V0VW5pdCBoZWlnaHRWYWx1ZU9mTmVhcmVzdENvbnRhaW5pbmdCbG9ja1dpdGhGaXhlZEhlaWdo
dChjb25zdCBCb3gmKSBjb25zdDsKIAogICAgIGJvb2wgaXNCbG9ja0Zvcm1hdHRpbmdRdWlya3Mo
KSBjb25zdCB7IHJldHVybiBmb3JtYXR0aW5nQ29udGV4dCgpLmlzQmxvY2tGb3JtYXR0aW5nQ29u
dGV4dCgpOyB9CiAgICAgYm9vbCBpc0lubGluZUZvcm1hdHRpbmdRdWlya3MoKSBjb25zdCB7IHJl
dHVybiBmb3JtYXR0aW5nQ29udGV4dCgpLmlzSW5saW5lRm9ybWF0dGluZ0NvbnRleHQoKTsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJs
ZS9UYWJsZUZvcm1hdHRpbmdRdWlya3MuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1h
dHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdRdWlya3MuY3BwCmluZGV4IDRmODJm
YzIxY2JhOTY1MGU1NjMzN2FmNmEyODUxMWUwOGNjNzMwYWIuLjhhOTE0M2JmMTM5MWRlZDQ5NjEw
MGE1MTVmNzlhMjY4OTYzMzY1M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvdGFibGUvVGFibGVGb3JtYXR0aW5nUXVpcmtzLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlRm9ybWF0
dGluZ1F1aXJrcy5jcHAKQEAgLTU1LDYgKzU1LDI1IEBAIGJvb2wgVGFibGVGb3JtYXR0aW5nUXVp
cmtzOjpzaG91bGRJZ25vcmVDaGlsZENvbnRlbnRWZXJ0aWNhbE1hcmdpbihjb25zdCBDb250YWlu
CiAgICAgcmV0dXJuIGNlbGxCb3guZmlyc3RJbkZsb3dDaGlsZCgpLT5zdHlsZSgpLmhhc01hcmdp
bkJlZm9yZVF1aXJrKCkgfHwgY2VsbEJveC5sYXN0SW5GbG93Q2hpbGQoKS0+c3R5bGUoKS5oYXNN
YXJnaW5BZnRlclF1aXJrKCk7CiB9CiAKK0xheW91dFVuaXQgVGFibGVGb3JtYXR0aW5nUXVpcmtz
OjpoZWlnaHRWYWx1ZU9mTmVhcmVzdENvbnRhaW5pbmdCbG9ja1dpdGhGaXhlZEhlaWdodChjb25z
dCBCb3gmIGxheW91dEJveCkgY29uc3QKK3sKKyAgICAvLyBUaGUgImxldCdzIGZpbmQgdGhlIG5l
YXJlc3QgYW5jZXN0b3Igd2l0aCBmaXhlZCBoZWlnaHQgdG8gcmVzb2x2ZSBwZXJjZW50IGhlaWdo
dCIgcXVpcmsgaXMgbGltaXRlZCB0byB0aGUgdGFibGUgZm9ybWF0dGluZworICAgIC8vIGNvbnRl
eHQuIElmIHdlIGNhbid0IHJlc29sdmUgaXQgd2l0aGluIHRoZSB0YWJsZSBzdWJ0cmVlLCB3ZSBk
ZWZhdWx0IGl0IHRvIDAuCisgICAgLy8gZS5nIDxkaXYgc3R5bGU9ImhlaWdodDogMTAwcHgiPjx0
YWJsZT48dHI+PHRkIHN0eWxlPSJoZWlnaHQ6IDEwMCUiPjwvdGQ+PC90cj48L3RhYmxlPjwvZGl2
PiBpcyByZXNvbHZlZCB0byAwcHguCisgICAgYXV0byBmaXhlZExvZ2ljYWxIZWlnaHQgPSBbJl0o
Y29uc3QgYXV0byYgYW5jZXN0b3JCb3gpIHsKKyAgICAgICAgYXV0byBoZWlnaHQgPSBhbmNlc3Rv
ckJveC5zdHlsZSgpLmxvZ2ljYWxIZWlnaHQoKTsKKyAgICAgICAgcmV0dXJuIGhlaWdodC5pc0Zp
eGVkKCkgPyBtYWtlT3B0aW9uYWwoTGF5b3V0VW5pdCB7IGhlaWdodC52YWx1ZSgpIH0pIDogV1RG
OjpudWxsb3B0OworICAgIH07CisKKyAgICBhdXRvJiBmb3JtYXR0aW5nQ29udGV4dCA9IHRoaXMt
PmZvcm1hdHRpbmdDb250ZXh0KCk7CisgICAgYXV0byYgdGFibGVCb3ggPSBmb3JtYXR0aW5nQ29u
dGV4dC5yb290KCk7CisgICAgZm9yIChhdXRvKiBhbmNlc3RvciA9ICZsYXlvdXRCb3guY29udGFp
bmluZ0Jsb2NrKCk7IGFuY2VzdG9yICYmIGFuY2VzdG9yICE9ICZ0YWJsZUJveDsgYW5jZXN0b3Ig
PSAmYW5jZXN0b3ItPmNvbnRhaW5pbmdCbG9jaygpKSB7CisgICAgICAgIGlmIChhdXRvIGZpeGVk
SGVpZ2h0ID0gZml4ZWRMb2dpY2FsSGVpZ2h0KCphbmNlc3RvcikpCisgICAgICAgICAgICByZXR1
cm4gKmZpeGVkSGVpZ2h0OworICAgIH0KKyAgICByZXR1cm4gZml4ZWRMb2dpY2FsSGVpZ2h0KHRh
YmxlQm94KS52YWx1ZU9yKExheW91dFVuaXQgeyB9KTsKK30KKwogfQogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlRm9y
bWF0dGluZ1F1aXJrcy5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0
cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdRdWlya3MuaAppbmRleCA3Nzk3MDMyNTk5YjE2ZDc5ZDJi
YTVhYTZhMmI4N2E0MzkxNjAyM2ZlLi5lOTRjYTFkMmRiN2ZhZjhkNzc0NTMyNzk1YzBlNzU4MTBj
MTRiYWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL3RhYmxlL1RhYmxlRm9ybWF0dGluZ1F1aXJrcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9mb3JtYXR0aW5nQ29udGV4dHMvdGFibGUvVGFibGVGb3JtYXR0aW5nUXVpcmtzLmgKQEAg
LTM5LDYgKzM5LDcgQEAgcHVibGljOgogICAgIFRhYmxlRm9ybWF0dGluZ1F1aXJrcyhjb25zdCBU
YWJsZUZvcm1hdHRpbmdDb250ZXh0Jik7CiAKICAgICBzdGF0aWMgYm9vbCBzaG91bGRJZ25vcmVD
aGlsZENvbnRlbnRWZXJ0aWNhbE1hcmdpbihjb25zdCBDb250YWluZXJCb3gmKTsKKyAgICBMYXlv
dXRVbml0IGhlaWdodFZhbHVlT2ZOZWFyZXN0Q29udGFpbmluZ0Jsb2NrV2l0aEZpeGVkSGVpZ2h0
KGNvbnN0IEJveCYpIGNvbnN0IGZpbmFsOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGM0NmZjOTlmZWRhNGVm
MThjMGQ4MGVhN2M3ODM4NjFlMzViNWFiOTAuLjg3YmVjNjZkNzRhYjc0MTE5ZmNiNjc0MjNmYWQ2
MGYyZjIwNTRjNjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMS0wNS0yNCAgQWxhbiBCdWp0
YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bVEZDXSBQZXJjZW50IGhlaWdo
dCByZXNvbHZpbmcgcXVpcmsgc2hvdWxkIHN0b3AgYXQgdGhlIHRhYmxlIGZvcm1hdHRpbmcgY29u
dGV4dCByb290CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjYxNTYKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAq
IGZhc3QvbGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvdGFibGUtd2l0aC1wZXJjZW50LWhlaWdodC1k
ZXNjZW5kYW50LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvbGF5b3V0Zm9y
bWF0dGluZ2NvbnRleHQvdGFibGUtd2l0aC1wZXJjZW50LWhlaWdodC1kZXNjZW5kYW50Lmh0bWw6
IEFkZGVkLgorCiAyMDIxLTA1LTI0ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5j
b20+CiAKICAgICAgICAgQVg6IFNldHRpbmdzOiBJbmNyZWFzZSBjb250cmFzdCBpc24ndCBkZXRl
Y3RlZCBpbiBicm93c2VyIHVudGlsIGFuIGFkZGl0aW9uYWwgc2V0dGluZyBpcyBhcHBsaWVkCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2xheW91dGZvcm1hdHRpbmdjb250ZXh0L3RhYmxl
LXdpdGgtcGVyY2VudC1oZWlnaHQtZGVzY2VuZGFudC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9sYXlvdXRmb3JtYXR0aW5nY29udGV4dC90YWJsZS13aXRoLXBlcmNlbnQtaGVpZ2h0
LWRlc2NlbmRhbnQtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wODgxMjIyN2ZjOTViOTI3OGQ1
YTViMjgyNWRkNjgyZTZjYmQ4NjU5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9sYXlvdXRmb3JtYXR0aW5nY29udGV4dC90YWJsZS13aXRoLXBlcmNlbnQtaGVpZ2h0LWRlc2Nl
bmRhbnQtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDggQEAKKzxzdHlsZT4KK2RpdiB7CisgIGJh
Y2tncm91bmQtY29sb3I6IGdyZWVuOworICBoZWlnaHQ6IDIwMHB4OworICB3aWR0aDogMjAwcHg7
Cit9Cis8L3N0eWxlPgorPGRpdj48L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
bGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvdGFibGUtd2l0aC1wZXJjZW50LWhlaWdodC1kZXNjZW5k
YW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2xheW91dGZvcm1hdHRpbmdjb250ZXh0L3RhYmxl
LXdpdGgtcGVyY2VudC1oZWlnaHQtZGVzY2VuZGFudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdhNTcwMWE0
ZTNjMGIzYmMyYTk3YWY4NWZkMDdjZTQ2MzU4ODQ3ZjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2xheW91dGZvcm1hdHRpbmdjb250ZXh0L3RhYmxlLXdpdGgtcGVyY2VudC1o
ZWlnaHQtZGVzY2VuZGFudC5odG1sCkBAIC0wLDAgKzEsMTEgQEAKKzwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgTGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRFbmFibGVkPXRydWUgTGF5b3V0Rm9ybWF0
dGluZ0NvbnRleHRJbnRlZ3JhdGlvbkVuYWJsZWQ9ZmFsc2UgXSAtLT4KKzxzdHlsZT4KK3RhYmxl
IHsKKyAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CisgIGJvcmRlci1zcGFjaW5nOiAwcHg7Cisg
IGJvcmRlcjogMTAwcHggc29saWQgZ3JlZW47Cit9Cis8L3N0eWxlPgorPGRpdiBzdHlsZT0iaGVp
Z2h0OiA1MDBweDsiPgorPHRhYmxlPjx0cj48dGQgc3R5bGU9ImhlaWdodDogMTAwJTsgYmFja2dy
b3VuZC1jb2xvcjogcmVkOyBwYWRkaW5nOiAwcHgiPjwvdGQ+PC90cj48L3RhYmxlPgorPC9kaXY+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>