<?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>254934</bug_id>
          
          <creation_ts>2023-04-03 12:09:42 -0700</creation_ts>
          <short_desc>AX: Slot elements referenced with aria-labelledby have no label</short_desc>
          <delta_ts>2023-08-26 10:45:21 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Accessibility</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="Carlos Lopez">clshortfuse</reporter>
          <assigned_to name="Tyler Wilcock">tyler_w</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>andresg_22</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>samuel_white</cc>
    
    <cc>tyler_w</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1946266</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Lopez">clshortfuse</who>
    <bug_when>2023-04-03 12:09:42 -0700</bug_when>
    <thetext>When using a ShadowDOM, an HTMLInputElement that references an HTMLSlotElement will not provide a label, unless that HTMLSlotElement has a display property other than &quot;contents&quot; (eg: inline-block).

See ShadowDOM tests 13 &amp; 14 in this codepen: https://codepen.io/shortfuse/pen/PodMYBo

There are other bugs noted on the CodePen, but I&apos;d like to specifically target this one related to HTMLSlotElement.

Sample tree:

&lt;x-button&gt;
  #shadow-root
    &lt;input type=button aria-labelledby=slot&gt;
    &lt;slot id=slot&gt;&lt;/slot&gt;
&lt;/x-button&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1946268</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2023-04-03 12:10:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/107570512&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1952058</commentid>
    <comment_count>2</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2023-04-29 21:11:55 -0700</bug_when>
    <thetext>Here&apos;s a runnable example of #14 stripped down from your complete Codepen:

https://codepen.io/twilco/pen/yLRovwR

We probably need to update AccessibilityNodeObject::accessibleNameForNode (or some other function) to collect accessible text from HTMLSlotElement::assignedNodes when we find a slot. But the fact that it works fine if the slot has something other than display:contents is interesting and maybe suggests that something else is wrong, so we&apos;ll need to investigate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1952065</commentid>
    <comment_count>3</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2023-04-29 22:10:40 -0700</bug_when>
    <thetext>Although I just tried adding:

slot {
  display: inline-block;
}

And Safari still doesn&apos;t provide a label for the button. Do you have a minimal example where giving the slot a non-display-contents display value results in a labelled button?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1952139</commentid>
    <comment_count>4</comment_count>
      <attachid>466154</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2023-04-30 23:47:19 -0700</bug_when>
    <thetext>Created attachment 466154
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1952141</commentid>
    <comment_count>5</comment_count>
      <attachid>466155</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2023-05-01 00:39:54 -0700</bug_when>
    <thetext>Created attachment 466155
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1952142</commentid>
    <comment_count>6</comment_count>
      <attachid>466156</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2023-05-01 00:42:40 -0700</bug_when>
    <thetext>Created attachment 466156
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1952192</commentid>
    <comment_count>7</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2023-05-01 11:19:39 -0700</bug_when>
    <thetext>So it&apos;s labelled by a hidden node, so we instead fallback to text contents?

&lt;input id=&apos;button&apos; aria-labelledby=&apos;slot&apos; type=button&gt;&lt;slot id=&apos;slot&apos; aria-hidden=&apos;true&apos;&gt;&lt;/slot&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1952193</commentid>
    <comment_count>8</comment_count>
      <attachid>466159</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2023-05-01 11:26:18 -0700</bug_when>
    <thetext>Created attachment 466159
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1952194</commentid>
    <comment_count>9</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2023-05-01 11:30:47 -0700</bug_when>
    <thetext>(In reply to chris fleizach from comment #7)
&gt; So it&apos;s labelled by a hidden node, so we instead fallback to text contents?
&gt; 
&gt; &lt;input id=&apos;button&apos; aria-labelledby=&apos;slot&apos; type=button&gt;&lt;slot id=&apos;slot&apos;
&gt; aria-hidden=&apos;true&apos;&gt;&lt;/slot&gt;
Hmm, not exactly. The goal with this patch is that when a slot is the target of aria-labelledby, the accessible name of that slot is that of its assigned contents. So perhaps someone is making a button web component, and they have a slot that represents the label for that button, and thus the button claims it is aria-labelledby whatever ends up in that slot.

I uploaded a new patch with aria-hidden removed from the testcase to prevent ambiguity  about the intentions here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1952205</commentid>
    <comment_count>10</comment_count>
    <who name="Carlos Lopez">clshortfuse</who>
    <bug_when>2023-05-01 13:11:24 -0700</bug_when>
    <thetext>It&apos;s going to be a a couple days until I build the other reproducible. The codepen is my attempt at building a solution, so apologies for not including a smaller reproducible.

There are other bugs at play, like `&lt;label&gt;` reading it&apos;s own children, and how Safari concatenates nodes instead of using rendered style (as if using `textContent` instead of `innerText`), and `display: contents` can mess up the parsing, even on light DOM.

The point of `aria-hidden` is that the text node is just there to serve as a label for the input. The screen reader shouldn&apos;t announce the input with it&apos;s label (via the slot) and then continue to read the slot as if it were text.  See: https://www.tpgi.com/short-note-on-aria-labelledby-and-aria-describedby/

There might be more bugs we can file, though I&apos;d like for slot to be able used as an `aria-labelledby` target with it&apos;s `display:contents` intact. Fixing `&lt;label&gt;` and the text concatenation isn&apos;t as important, though I&apos;d understand if that needs to be fixed first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1952253</commentid>
    <comment_count>11</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2023-05-01 16:52:22 -0700</bug_when>
    <thetext>(In reply to Carlos Lopez from comment #10)
&gt; It&apos;s going to be a a couple days until I build the other reproducible. The
&gt; codepen is my attempt at building a solution, so apologies for not including
&gt; a smaller reproducible.
&gt; 
&gt; There are other bugs at play, like `&lt;label&gt;` reading it&apos;s own children, and
&gt; how Safari concatenates nodes instead of using rendered style (as if using
&gt; `textContent` instead of `innerText`), and `display: contents` can mess up
&gt; the parsing, even on light DOM.
&gt; 
&gt; The point of `aria-hidden` is that the text node is just there to serve as a
&gt; label for the input. The screen reader shouldn&apos;t announce the input with
&gt; it&apos;s label (via the slot) and then continue to read the slot as if it were
&gt; text.  See:
&gt; https://www.tpgi.com/short-note-on-aria-labelledby-and-aria-describedby/
&gt; 
&gt; There might be more bugs we can file, though I&apos;d like for slot to be able
&gt; used as an `aria-labelledby` target with it&apos;s `display:contents` intact.
&gt; Fixing `&lt;label&gt;` and the text concatenation isn&apos;t as important, though I&apos;d
&gt; understand if that needs to be fixed first.
I filed:

https://bugs.webkit.org/show_bug.cgi?id=256186 (AX: Setting aria-hidden on a slot does not hide the slots assigned nodes)

Please file the other bugs you mentioned when you get some time. Thank you!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1952706</commentid>
    <comment_count>12</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2023-05-03 12:48:52 -0700</bug_when>
    <thetext>Committed 263644@main (daa59c39a53b): &lt;https://commits.webkit.org/263644@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 466159.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1973786</commentid>
    <comment_count>13</comment_count>
    <who name="Carlos Lopez">clshortfuse</who>
    <bug_when>2023-08-26 10:45:21 -0700</bug_when>
    <thetext>I&apos;m testing on V17 now and found a new bug. Essentially we tested:

#shadowroot
  &lt;input type=button aria-labelledby=slot&gt;&lt;slot&gt;&lt;/slot&gt;

&lt;x-button&gt;Slotted&lt;/x-button&gt;  =&gt; AXLabel: Slotted (Good)

----

But when using fallback content for unfilled slots, Safari will always read the innerText (not textContent) of the slot.

LightDOM: 
&lt;x-button&gt;Slotted &lt;span style=&quot;display:none&quot;&gt;Hidden&lt;/span&gt;&lt;/x-button&gt;  =&gt; AXLabel: Slotted Hidden (Bad)

#shadowroot
  &lt;input type=button aria-labelledby=slot&gt;&lt;slot&gt;&lt;span&gt;Fallback&lt;span&gt;&lt;/slot&gt;

#shadowroot
  &lt;input type=button aria-labelledby=slot&gt;&lt;slot&gt;&lt;span style=&quot;display:none&quot;&gt;Hidden&lt;span&gt;&lt;/slot&gt;


To note, *visually* this works as expected. But the AXLabel is wrong when using fallback slotted nodes or hidden nodes in light DOM.

Filed over at https://bugs.webkit.org/show_bug.cgi?id=260772</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>466154</attachid>
            <date>2023-04-30 23:47:19 -0700</date>
            <delta_ts>2023-05-01 00:39:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-254934-20230430234719.patch</filename>
            <type>text/plain</type>
            <size>7788</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">RnJvbSA0OTQyOTllOTU1ZDE3MTE4YWUxOWJhMTg5MmQ3YWUwOGFkODBmMzlmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUeWxlciBXaWxjb2NrIDx0eWxlcl93QGFwcGxlLmNvbT4KRGF0
ZTogU3VuLCAzMCBBcHIgMjAyMyAyMzozOTowMyAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIEFYOiBT
bG90IGVsZW1lbnRzIHJlZmVyZW5jZWQgd2l0aCBhcmlhLWxhYmVsbGVkYnkgaGF2ZSBubwogbGFi
ZWwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1NDkzNCByZGFyOi8v
cHJvYmxlbS8xMDc1NzA1MTIKClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKV2l0aCB0aGlz
IHBhdGNoLCB3aGVuIGEgc2xvdCBpcyB0aGUgdGFyZ2V0IG9mIGFyaWEtbGFiZWxsZWRieSwgd2Ug
c2hvdWxkIChhbmQgbm93IGRvKQpnYXRoZXIgdGhlIGFjY2Vzc2libGUgdGV4dCBvZiB0aGUgbm9k
ZXMgYXNzaWduZWQgdG8gdGhlIHNsb3QuCgpUaGlzIHBhdGNoIGFsc28gZml4ZXMgYSBidWcgaW4g
b3VyIGFjY2Vzc2libGUgbmFtZSBjb21wdXRhdGlvbiB3aGVyZQpBY2Nlc3NpYmlsaXR5Tm9kZU9i
amVjdDo6YWNjZXNzaWJsZU5hbWVGb3JOb2RlIGRpZG4ndCBjb2xsZWN0IHRoZSB0ZXh0IGZyb20g
YSBUZXh0Tm9kZQphcyBzdGF0ZWQgaGVyZToKCmh0dHBzOi8vd3d3LnczLm9yZy9UUi9hY2NuYW1l
LTEuMi8jbWFwcGluZ19hZGRpdGlvbmFsX25kX3RlCgo+IEcuIE90aGVyd2lzZSwgaWYgdGhlIGN1
cnJlbnQgbm9kZSBpcyBhIFRleHQgbm9kZSwgcmV0dXJuIGl0cyB0ZXh0dWFsIGNvbnRlbnRzLgoK
UHJpb3IgdG8gdGhpcyBwYXRjaCwgQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OmFjY2Vzc2libGVO
YW1lRm9yTm9kZSB3b3VsZCBiYWlsIGVhcmx5CmlmIHRoZSBnaXZlbiBub2RlIHdhcyBub3QgYW4g
ZWxlbWVudCAoYW5kIHRleHQgbm9kZXMgYXJlIG5vdCBlbGVtZW50cykuCgpXaXRob3V0IGFsc28g
Zml4aW5nIHRoaXMgYnVnLCB3ZSB3b3VsZCBub3QgYmVoYXZlIGNvcnJlY3RseSBpbiB0aGUgYmFz
aWMgYWRkZWQgdGVzdGNhc2UuCgoqIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1sYWJl
bGxlZGJ5LXRhcmdldGluZy1zbG90LWV4cGVjdGVkLnR4dDogQWRkZWQuCiogTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9hcmlhLWxhYmVsbGVkYnktdGFyZ2V0aW5nLXNsb3QuaHRtbDogQWRkZWQu
CiogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnM6IEVuYWJsZSBuZXcg
dGVzdC4KKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2Jq
ZWN0LmNwcDoKKFdlYkNvcmU6OmFjY2Vzc2libGVOYW1lRm9yTm9kZSk6Ci0tLQogLi4uL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwIHwgMjkgKysrKysrKysrKystLS0t
LQogLi4ucmlhLWxhYmVsbGVkYnktdGFyZ2V0aW5nLXNsb3QtZXhwZWN0ZWQudHh0IHwgIDcgKysr
KwogLi4uL2FyaWEtbGFiZWxsZWRieS10YXJnZXRpbmctc2xvdC5odG1sICAgICAgIHwgMzQgKysr
KysrKysrKysrKysrKysrKwogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlv
bnMgICAgIHwgIDEgKwogNCBmaWxlcyBjaGFuZ2VkLCA2MiBpbnNlcnRpb25zKCspLCA5IGRlbGV0
aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJp
YS1sYWJlbGxlZGJ5LXRhcmdldGluZy1zbG90LWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAw
NjQ0IExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1sYWJlbGxlZGJ5LXRhcmdldGluZy1z
bG90Lmh0bWwKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlOb2RlT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwCmluZGV4IDM3YjMwNDFiZTljZC4uNmNkNTFiODQ0ZjRl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlO
b2RlT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlOb2RlT2JqZWN0LmNwcApAQCAtNTksNiArNTksNyBAQAogI2luY2x1ZGUgIkhUTUxPcHRp
b25FbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUgIkhU
TUxTZWxlY3RFbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTFNsb3RFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiSFRNTFN1bW1hcnlFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTFRleHRBcmVhRWxlbWVudC5o
IgogI2luY2x1ZGUgIkhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmgiCkBAIC0yMzgxLDIxICsy
MzgyLDE5IEBAIFNSR0JBPHVpbnQ4X3Q+IEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0Ojpjb2xvclZh
bHVlKCkgY29uc3QKIHN0YXRpYyBTdHJpbmcgYWNjZXNzaWJsZU5hbWVGb3JOb2RlKE5vZGUqIG5v
ZGUsIE5vZGUqIGxhYmVsbGVkYnlOb2RlKQogewogICAgIEFTU0VSVChub2RlKTsKLSAgICBpZiAo
IWlzPEVsZW1lbnQ+KG5vZGUpKQotICAgICAgICByZXR1cm4gU3RyaW5nKCk7Ci0gICAgCi0gICAg
RWxlbWVudCYgZWxlbWVudCA9IGRvd25jYXN0PEVsZW1lbnQ+KCpub2RlKTsKLSAgICBjb25zdCBB
dG9tU3RyaW5nJiBhcmlhTGFiZWwgPSBlbGVtZW50LmF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6
YXRpb24oYXJpYV9sYWJlbEF0dHIpOworCisgICAgYXV0byogZWxlbWVudCA9IGR5bmFtaWNEb3du
Y2FzdDxFbGVtZW50Pihub2RlKTsKKyAgICBjb25zdCBBdG9tU3RyaW5nJiBhcmlhTGFiZWwgPSBl
bGVtZW50ID8gZWxlbWVudC0+YXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihhcmlhX2xh
YmVsQXR0cikgOiBudWxsQXRvbSgpOwogICAgIGlmICghYXJpYUxhYmVsLmlzRW1wdHkoKSkKICAg
ICAgICAgcmV0dXJuIGFyaWFMYWJlbDsKICAgICAKLSAgICBjb25zdCBBdG9tU3RyaW5nJiBhbHQg
PSBlbGVtZW50LmF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oYWx0QXR0cik7CisgICAg
Y29uc3QgQXRvbVN0cmluZyYgYWx0ID0gZWxlbWVudCA/IGVsZW1lbnQtPmF0dHJpYnV0ZVdpdGhv
dXRTeW5jaHJvbml6YXRpb24oYWx0QXR0cikgOiBudWxsQXRvbSgpOwogICAgIGlmICghYWx0Lmlz
RW1wdHkoKSkKICAgICAgICAgcmV0dXJuIGFsdDsKIAogICAgIC8vIElmIHRoZSBub2RlIGNhbiBi
ZSB0dXJuZWQgaW50byBhbiBBWCBvYmplY3QsIHdlIGNhbiB1c2Ugc3RhbmRhcmQgbmFtZSBjb21w
dXRhdGlvbiBydWxlcy4KICAgICAvLyBJZiBob3dldmVyLCB0aGUgbm9kZSBjYW5ub3QgKGJlY2F1
c2UgdGhlcmUncyBubyByZW5kZXJlciBlLmcuKSBmYWxsYmFjayB0byB1c2luZyB0aGUgYmFzaWMg
dGV4dCB1bmRlcm5lYXRoLgotICAgIGF1dG8gYXhPYmplY3QgPSBlbGVtZW50LmRvY3VtZW50KCku
YXhPYmplY3RDYWNoZSgpLT5nZXRPckNyZWF0ZSgmZWxlbWVudCk7CisgICAgYXV0byogYXhPYmpl
Y3QgPSBub2RlLT5kb2N1bWVudCgpLmF4T2JqZWN0Q2FjaGUoKS0+Z2V0T3JDcmVhdGUobm9kZSk7
CiAgICAgaWYgKGF4T2JqZWN0KSB7CiAgICAgICAgIFN0cmluZyB2YWx1ZURlc2NyaXB0aW9uID0g
YXhPYmplY3QtPnZhbHVlRGVzY3JpcHRpb24oKTsKICAgICAgICAgaWYgKCF2YWx1ZURlc2NyaXB0
aW9uLmlzRW1wdHkoKSkKQEAgLTI0NDQsMTQgKzI0NDMsMjYgQEAgc3RhdGljIFN0cmluZyBhY2Nl
c3NpYmxlTmFtZUZvck5vZGUoTm9kZSogbm9kZSwgTm9kZSogbGFiZWxsZWRieU5vZGUpCiAgICAg
ICAgIGlmIChheE9iamVjdC0+YWNjZXNzaWJsZU5hbWVEZXJpdmVzRnJvbUNvbnRlbnQoKSkKICAg
ICAgICAgICAgIHRleHQgPSBheE9iamVjdC0+dGV4dFVuZGVyRWxlbWVudChBY2Nlc3NpYmlsaXR5
VGV4dFVuZGVyRWxlbWVudE1vZGUoQWNjZXNzaWJpbGl0eVRleHRVbmRlckVsZW1lbnRNb2RlOjpU
ZXh0VW5kZXJFbGVtZW50TW9kZUluY2x1ZGVOYW1lRnJvbUNvbnRlbnRzQ2hpbGRyZW4sIHRydWUs
IGxhYmVsbGVkYnlOb2RlKSk7CiAgICAgfSBlbHNlCi0gICAgICAgIHRleHQgPSBlbGVtZW50Lmlu
bmVyVGV4dCgpLnNpbXBsaWZ5V2hpdGVTcGFjZSgpOworICAgICAgICB0ZXh0ID0gKGVsZW1lbnQg
PyBlbGVtZW50LT5pbm5lclRleHQoKSA6IG5vZGUtPnRleHRDb250ZW50KCkpLnNpbXBsaWZ5V2hp
dGVTcGFjZSgpOwogCiAgICAgaWYgKCF0ZXh0LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIHRl
eHQ7CiAgICAgCi0gICAgY29uc3QgQXRvbVN0cmluZyYgdGl0bGUgPSBlbGVtZW50LmF0dHJpYnV0
ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24odGl0bGVBdHRyKTsKKyAgICBjb25zdCBBdG9tU3RyaW5n
JiB0aXRsZSA9IGVsZW1lbnQgPyBlbGVtZW50LT5hdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0
aW9uKHRpdGxlQXR0cikgOiBudWxsQXRvbSgpOwogICAgIGlmICghdGl0bGUuaXNFbXB0eSgpKQog
ICAgICAgICByZXR1cm4gdGl0bGU7CisKKyAgICBhdXRvKiBzbG90RWxlbWVudCA9IGR5bmFtaWNE
b3duY2FzdDxIVE1MU2xvdEVsZW1lbnQ+KG5vZGUpOworICAgIC8vIENvbXB1dGUgdGhlIGFjY2Vz
c2libGUgbmFtZSBmb3IgYSBzbG90J3MgY29udGVudHMgb25seSBpZiBpdCdzIGJlaW5nIHVzZWQg
dG8gbGFiZWwgYW5vdGhlciBub2RlLgorICAgIGlmIChhdXRvKiBhc3NpZ2VkTm9kZXMgPSAoc2xv
dEVsZW1lbnQgJiYgbGFiZWxsZWRieU5vZGUpID8gc2xvdEVsZW1lbnQtPmFzc2lnbmVkTm9kZXMo
KSA6IG51bGxwdHIpIHsKKyAgICAgICAgU3RyaW5nQnVpbGRlciBidWlsZGVyOworICAgICAgICBm
b3IgKGNvbnN0IGF1dG8mIGFzc2lnbmVkTm9kZSA6ICpzbG90RWxlbWVudC0+YXNzaWduZWROb2Rl
cygpKQorICAgICAgICAgICAgYXBwZW5kTmFtZVRvU3RyaW5nQnVpbGRlcihidWlsZGVyLCBhY2Nl
c3NpYmxlTmFtZUZvck5vZGUoYXNzaWduZWROb2RlLmdldCgpKSk7CisKKyAgICAgICAgU3RyaW5n
IGFzc2lnbmVkTm9kZXNUZXh0ID0gYnVpbGRlci50b1N0cmluZygpOworICAgICAgICBpZiAoIWFz
c2lnbmVkTm9kZXNUZXh0LmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldHVybiBhc3NpZ25lZE5v
ZGVzVGV4dDsKKyAgICB9CiAgICAgCiAgICAgcmV0dXJuIFN0cmluZygpOwogfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWxhYmVsbGVkYnktdGFyZ2V0aW5nLXNs
b3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWxhYmVsbGVk
YnktdGFyZ2V0aW5nLXNsb3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMC4uZDViNzU3MmYzYWM0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9hcmlhLWxhYmVsbGVkYnktdGFyZ2V0aW5nLXNsb3QtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNyBAQAorVGhpcyB0ZXN0IGVuc3VyZXMgd2UgY29tcHV0ZSB0aGUgY29y
cmVjdCBhY2Nlc3NpYmxlIG5hbWUgd2hlbiBhcmlhLWxhYmVsbGVkYnkgdGFyZ2V0cyBhIHNsb3Qg
ZWxlbWVudC4KKworI2J1dHRvbiBhY2Nlc3NpYmxlIG5hbWU6IHNsb3Qgd2l0aCBjaGlsZAorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCitzbG90d2l0aCBj
aGlsZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWxhYmVsbGVk
YnktdGFyZ2V0aW5nLXNsb3QuaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1s
YWJlbGxlZGJ5LXRhcmdldGluZy1zbG90Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwLi44NjI0NmY2NGQxYWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9hY2Nlc3NpYmlsaXR5L2FyaWEtbGFiZWxsZWRieS10YXJnZXRpbmctc2xvdC5odG1sCkBAIC0w
LDAgKzEsMzQgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2FjY2Vzc2liaWxp
dHktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKworPHgtYnV0dG9uPnNsb3Q8c3Bhbj53
aXRoIGNoaWxkPC9zcGFuPjwveC1idXR0b24+CisKKzxzY3JpcHQ+CisoZnVuY3Rpb24gaW5pdFhC
dXR0b24oKSB7CisgICAgY2xhc3MgWEJ1dHRvbiBleHRlbmRzIEhUTUxFbGVtZW50IHsKKyAgICAg
ICAgY29uc3RydWN0b3IoKSB7CisgICAgICAgICAgICBzdXBlcigpOworICAgICAgICAgICAgdGhp
cy5hdHRhY2hTaGFkb3coeyBtb2RlOiAib3BlbiIsIGRlbGVnYXRlc0ZvY3VzOiB0cnVlIH0pOwor
ICAgICAgICAgICAgY29uc3QgZnJhZ21lbnQgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpLmNyZWF0
ZUNvbnRleHR1YWxGcmFnbWVudCgiPGlucHV0IGlkPSdidXR0b24nIGFyaWEtbGFiZWxsZWRieT0n
c2xvdCcgdHlwZT1idXR0b24+PHNsb3QgaWQ9J3Nsb3QnIGFyaWEtaGlkZGVuPSd0cnVlJz48L3Ns
b3Q+Iik7CisgICAgICAgICAgICB0aGlzLnNoYWRvd1Jvb3QuYXBwZW5kKGZyYWdtZW50LmNsb25l
Tm9kZSh0cnVlKSk7CisgICAgICAgIH0KKyAgICAgfQorICBjdXN0b21FbGVtZW50cy5kZWZpbmUo
IngtYnV0dG9uIiwgWEJ1dHRvbik7Cit9KSgpOworCit2YXIgb3V0cHV0ID0gIlRoaXMgdGVzdCBl
bnN1cmVzIHdlIGNvbXB1dGUgdGhlIGNvcnJlY3QgYWNjZXNzaWJsZSBuYW1lIHdoZW4gYXJpYS1s
YWJlbGxlZGJ5IHRhcmdldHMgYSBzbG90IGVsZW1lbnQuXG5cbiI7CisKK2lmICh3aW5kb3cuYWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKKyAgICBvdXRwdXQgKz0gYCNidXR0b24gYWNjZXNzaWJs
ZSBuYW1lOiAke3BsYXRmb3JtVmFsdWVGb3JXM0NOYW1lKGFjY2Vzc2liaWxpdHlDb250cm9sbGVy
LmFjY2Vzc2libGVFbGVtZW50QnlJZCgiYnV0dG9uIikpfWA7CisgICAgZGVidWcob3V0cHV0KTsK
K30KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMTRkYWQxNzI2NjYyLi5kZGJkYmVmMGRhYzggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCkBAIC0yMjE5LDYgKzIy
MTksNyBAQCBhY2Nlc3NpYmlsaXR5L2FyaWEtc29ydC1jaGFuZ2VkLW5vdGlmaWNhdGlvbi5odG1s
IFsgUGFzcyBdCiB3ZWJraXQub3JnL2IvMTUwMzY2IGFjY2Vzc2liaWxpdHkvYXJpYS10YWJsZS1h
dHRyaWJ1dGVzLmh0bWwgWyBQYXNzIF0KIAogYWNjZXNzaWJpbGl0eS9hcmlhLW1vZGFsLXdpdGgt
dGV4dC1jcmFzaC5odG1sIFsgUGFzcyBdCithY2Nlc3NpYmlsaXR5L2FyaWEtbGFiZWxsZWRieS10
YXJnZXRpbmctc2xvdC5odG1sIFsgUGFzcyBdCiBhY2Nlc3NpYmlsaXR5L2Rpc3BsYXktY29udGVu
dHMtc2VhcmNoLXRyYXZlcnNhbC5odG1sIFsgUGFzcyBdCiBhY2Nlc3NpYmlsaXR5L3NlYXJjaC10
cmF2ZXJzYWwtYWZ0ZXItcm9sZS1jaGFuZ2UuaHRtbCBbIFBhc3MgXQogYWNjZXNzaWJpbGl0eS90
YWJsZS1zZWFyY2gtdHJhdmVyc2FsLmh0bWwgWyBQYXNzIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>466155</attachid>
            <date>2023-05-01 00:39:54 -0700</date>
            <delta_ts>2023-05-01 00:42:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-254934-20230501003954.patch</filename>
            <type>text/plain</type>
            <size>7772</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">RnJvbSBmNTNjZGIzOGY0N2MyMjRiNWRjNTNkYjVjNjE3NjE3MDY4ZTMzNDgzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUeWxlciBXaWxjb2NrIDx0eWxlcl93QGFwcGxlLmNvbT4KRGF0
ZTogU3VuLCAzMCBBcHIgMjAyMyAyMzozOTowMyAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIEFYOiBT
bG90IGVsZW1lbnRzIHJlZmVyZW5jZWQgd2l0aCBhcmlhLWxhYmVsbGVkYnkgaGF2ZSBubwogbGFi
ZWwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1NDkzNCByZGFyOi8v
cHJvYmxlbS8xMDc1NzA1MTIKClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKV2l0aCB0aGlz
IHBhdGNoLCB3aGVuIGEgc2xvdCBpcyB0aGUgdGFyZ2V0IG9mIGFyaWEtbGFiZWxsZWRieSwgd2Ug
c2hvdWxkIChhbmQgbm93IGRvKQpnYXRoZXIgdGhlIGFjY2Vzc2libGUgdGV4dCBvZiB0aGUgbm9k
ZXMgYXNzaWduZWQgdG8gdGhlIHNsb3QuCgpUaGlzIHBhdGNoIGFsc28gZml4ZXMgYSBidWcgaW4g
b3VyIGFjY2Vzc2libGUgbmFtZSBjb21wdXRhdGlvbiB3aGVyZQpBY2Nlc3NpYmlsaXR5Tm9kZU9i
amVjdDo6YWNjZXNzaWJsZU5hbWVGb3JOb2RlIGRpZG4ndCBjb2xsZWN0IHRoZSB0ZXh0IGZyb20g
YSBUZXh0Tm9kZQphcyBzdGF0ZWQgaGVyZToKCmh0dHBzOi8vd3d3LnczLm9yZy9UUi9hY2NuYW1l
LTEuMi8jbWFwcGluZ19hZGRpdGlvbmFsX25kX3RlCgo+IEcuIE90aGVyd2lzZSwgaWYgdGhlIGN1
cnJlbnQgbm9kZSBpcyBhIFRleHQgbm9kZSwgcmV0dXJuIGl0cyB0ZXh0dWFsIGNvbnRlbnRzLgoK
UHJpb3IgdG8gdGhpcyBwYXRjaCwgQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OmFjY2Vzc2libGVO
YW1lRm9yTm9kZSB3b3VsZCBiYWlsIGVhcmx5CmlmIHRoZSBnaXZlbiBub2RlIHdhcyBub3QgYW4g
ZWxlbWVudCAoYW5kIHRleHQgbm9kZXMgYXJlIG5vdCBlbGVtZW50cykuCgpXaXRob3V0IGFsc28g
Zml4aW5nIHRoaXMgYnVnLCB3ZSB3b3VsZCBub3QgYmVoYXZlIGNvcnJlY3RseSBpbiB0aGUgYmFz
aWMgYWRkZWQgdGVzdGNhc2UuCgoqIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1sYWJl
bGxlZGJ5LXRhcmdldGluZy1zbG90LWV4cGVjdGVkLnR4dDogQWRkZWQuCiogTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9hcmlhLWxhYmVsbGVkYnktdGFyZ2V0aW5nLXNsb3QuaHRtbDogQWRkZWQu
CiogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnM6IEVuYWJsZSBuZXcg
dGVzdC4KKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2Jq
ZWN0LmNwcDoKKFdlYkNvcmU6OmFjY2Vzc2libGVOYW1lRm9yTm9kZSk6Ci0tLQogLi4uL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwIHwgMjkgKysrKysrKysrKystLS0t
LQogLi4ucmlhLWxhYmVsbGVkYnktdGFyZ2V0aW5nLXNsb3QtZXhwZWN0ZWQudHh0IHwgIDcgKysr
KwogLi4uL2FyaWEtbGFiZWxsZWRieS10YXJnZXRpbmctc2xvdC5odG1sICAgICAgIHwgMzQgKysr
KysrKysrKysrKysrKysrKwogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlv
bnMgICAgIHwgIDEgKwogNCBmaWxlcyBjaGFuZ2VkLCA2MiBpbnNlcnRpb25zKCspLCA5IGRlbGV0
aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJp
YS1sYWJlbGxlZGJ5LXRhcmdldGluZy1zbG90LWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAw
NjQ0IExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1sYWJlbGxlZGJ5LXRhcmdldGluZy1z
bG90Lmh0bWwKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlOb2RlT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwCmluZGV4IDM3YjMwNDFiZTljZC4uNjQ2YTAyYWQ3NWNi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlO
b2RlT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlOb2RlT2JqZWN0LmNwcApAQCAtNTksNiArNTksNyBAQAogI2luY2x1ZGUgIkhUTUxPcHRp
b25FbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUgIkhU
TUxTZWxlY3RFbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTFNsb3RFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiSFRNTFN1bW1hcnlFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTFRleHRBcmVhRWxlbWVudC5o
IgogI2luY2x1ZGUgIkhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmgiCkBAIC0yMzgxLDIxICsy
MzgyLDE5IEBAIFNSR0JBPHVpbnQ4X3Q+IEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0Ojpjb2xvclZh
bHVlKCkgY29uc3QKIHN0YXRpYyBTdHJpbmcgYWNjZXNzaWJsZU5hbWVGb3JOb2RlKE5vZGUqIG5v
ZGUsIE5vZGUqIGxhYmVsbGVkYnlOb2RlKQogewogICAgIEFTU0VSVChub2RlKTsKLSAgICBpZiAo
IWlzPEVsZW1lbnQ+KG5vZGUpKQotICAgICAgICByZXR1cm4gU3RyaW5nKCk7Ci0gICAgCi0gICAg
RWxlbWVudCYgZWxlbWVudCA9IGRvd25jYXN0PEVsZW1lbnQ+KCpub2RlKTsKLSAgICBjb25zdCBB
dG9tU3RyaW5nJiBhcmlhTGFiZWwgPSBlbGVtZW50LmF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6
YXRpb24oYXJpYV9sYWJlbEF0dHIpOworCisgICAgYXV0byogZWxlbWVudCA9IGR5bmFtaWNEb3du
Y2FzdDxFbGVtZW50Pihub2RlKTsKKyAgICBjb25zdCBBdG9tU3RyaW5nJiBhcmlhTGFiZWwgPSBl
bGVtZW50ID8gZWxlbWVudC0+YXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihhcmlhX2xh
YmVsQXR0cikgOiBudWxsQXRvbSgpOwogICAgIGlmICghYXJpYUxhYmVsLmlzRW1wdHkoKSkKICAg
ICAgICAgcmV0dXJuIGFyaWFMYWJlbDsKICAgICAKLSAgICBjb25zdCBBdG9tU3RyaW5nJiBhbHQg
PSBlbGVtZW50LmF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oYWx0QXR0cik7CisgICAg
Y29uc3QgQXRvbVN0cmluZyYgYWx0ID0gZWxlbWVudCA/IGVsZW1lbnQtPmF0dHJpYnV0ZVdpdGhv
dXRTeW5jaHJvbml6YXRpb24oYWx0QXR0cikgOiBudWxsQXRvbSgpOwogICAgIGlmICghYWx0Lmlz
RW1wdHkoKSkKICAgICAgICAgcmV0dXJuIGFsdDsKIAogICAgIC8vIElmIHRoZSBub2RlIGNhbiBi
ZSB0dXJuZWQgaW50byBhbiBBWCBvYmplY3QsIHdlIGNhbiB1c2Ugc3RhbmRhcmQgbmFtZSBjb21w
dXRhdGlvbiBydWxlcy4KICAgICAvLyBJZiBob3dldmVyLCB0aGUgbm9kZSBjYW5ub3QgKGJlY2F1
c2UgdGhlcmUncyBubyByZW5kZXJlciBlLmcuKSBmYWxsYmFjayB0byB1c2luZyB0aGUgYmFzaWMg
dGV4dCB1bmRlcm5lYXRoLgotICAgIGF1dG8gYXhPYmplY3QgPSBlbGVtZW50LmRvY3VtZW50KCku
YXhPYmplY3RDYWNoZSgpLT5nZXRPckNyZWF0ZSgmZWxlbWVudCk7CisgICAgYXV0byogYXhPYmpl
Y3QgPSBub2RlLT5kb2N1bWVudCgpLmF4T2JqZWN0Q2FjaGUoKS0+Z2V0T3JDcmVhdGUobm9kZSk7
CiAgICAgaWYgKGF4T2JqZWN0KSB7CiAgICAgICAgIFN0cmluZyB2YWx1ZURlc2NyaXB0aW9uID0g
YXhPYmplY3QtPnZhbHVlRGVzY3JpcHRpb24oKTsKICAgICAgICAgaWYgKCF2YWx1ZURlc2NyaXB0
aW9uLmlzRW1wdHkoKSkKQEAgLTI0NDQsMTQgKzI0NDMsMjYgQEAgc3RhdGljIFN0cmluZyBhY2Nl
c3NpYmxlTmFtZUZvck5vZGUoTm9kZSogbm9kZSwgTm9kZSogbGFiZWxsZWRieU5vZGUpCiAgICAg
ICAgIGlmIChheE9iamVjdC0+YWNjZXNzaWJsZU5hbWVEZXJpdmVzRnJvbUNvbnRlbnQoKSkKICAg
ICAgICAgICAgIHRleHQgPSBheE9iamVjdC0+dGV4dFVuZGVyRWxlbWVudChBY2Nlc3NpYmlsaXR5
VGV4dFVuZGVyRWxlbWVudE1vZGUoQWNjZXNzaWJpbGl0eVRleHRVbmRlckVsZW1lbnRNb2RlOjpU
ZXh0VW5kZXJFbGVtZW50TW9kZUluY2x1ZGVOYW1lRnJvbUNvbnRlbnRzQ2hpbGRyZW4sIHRydWUs
IGxhYmVsbGVkYnlOb2RlKSk7CiAgICAgfSBlbHNlCi0gICAgICAgIHRleHQgPSBlbGVtZW50Lmlu
bmVyVGV4dCgpLnNpbXBsaWZ5V2hpdGVTcGFjZSgpOworICAgICAgICB0ZXh0ID0gKGVsZW1lbnQg
PyBlbGVtZW50LT5pbm5lclRleHQoKSA6IG5vZGUtPnRleHRDb250ZW50KCkpLnNpbXBsaWZ5V2hp
dGVTcGFjZSgpOwogCiAgICAgaWYgKCF0ZXh0LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIHRl
eHQ7CiAgICAgCi0gICAgY29uc3QgQXRvbVN0cmluZyYgdGl0bGUgPSBlbGVtZW50LmF0dHJpYnV0
ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24odGl0bGVBdHRyKTsKKyAgICBjb25zdCBBdG9tU3RyaW5n
JiB0aXRsZSA9IGVsZW1lbnQgPyBlbGVtZW50LT5hdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0
aW9uKHRpdGxlQXR0cikgOiBudWxsQXRvbSgpOwogICAgIGlmICghdGl0bGUuaXNFbXB0eSgpKQog
ICAgICAgICByZXR1cm4gdGl0bGU7CisKKyAgICBhdXRvKiBzbG90RWxlbWVudCA9IGR5bmFtaWNE
b3duY2FzdDxIVE1MU2xvdEVsZW1lbnQ+KG5vZGUpOworICAgIC8vIENvbXB1dGUgdGhlIGFjY2Vz
c2libGUgbmFtZSBmb3IgYSBzbG90J3MgY29udGVudHMgb25seSBpZiBpdCdzIGJlaW5nIHVzZWQg
dG8gbGFiZWwgYW5vdGhlciBub2RlLgorICAgIGlmIChhdXRvKiBhc3NpZ25lZE5vZGVzID0gKHNs
b3RFbGVtZW50ICYmIGxhYmVsbGVkYnlOb2RlKSA/IHNsb3RFbGVtZW50LT5hc3NpZ25lZE5vZGVz
KCkgOiBudWxscHRyKSB7CisgICAgICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRlcjsKKyAgICAgICAg
Zm9yIChjb25zdCBhdXRvJiBhc3NpZ25lZE5vZGUgOiAqYXNzaWduZWROb2RlcykKKyAgICAgICAg
ICAgIGFwcGVuZE5hbWVUb1N0cmluZ0J1aWxkZXIoYnVpbGRlciwgYWNjZXNzaWJsZU5hbWVGb3JO
b2RlKGFzc2lnbmVkTm9kZS5nZXQoKSkpOworCisgICAgICAgIGF1dG8gYXNzaWduZWROb2Rlc1Rl
eHQgPSBidWlsZGVyLnRvU3RyaW5nKCk7CisgICAgICAgIGlmICghYXNzaWduZWROb2Rlc1RleHQu
aXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuIGFzc2lnbmVkTm9kZXNUZXh0OworICAgIH0K
ICAgICAKICAgICByZXR1cm4gU3RyaW5nKCk7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L2FyaWEtbGFiZWxsZWRieS10YXJnZXRpbmctc2xvdC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtbGFiZWxsZWRieS10YXJnZXRpbmctc2xv
dC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5k
NWI3NTcyZjNhYzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L2FyaWEtbGFiZWxsZWRieS10YXJnZXRpbmctc2xvdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3
IEBACitUaGlzIHRlc3QgZW5zdXJlcyB3ZSBjb21wdXRlIHRoZSBjb3JyZWN0IGFjY2Vzc2libGUg
bmFtZSB3aGVuIGFyaWEtbGFiZWxsZWRieSB0YXJnZXRzIGEgc2xvdCBlbGVtZW50LgorCisjYnV0
dG9uIGFjY2Vzc2libGUgbmFtZTogc2xvdCB3aXRoIGNoaWxkCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKK3Nsb3R3aXRoIGNoaWxkCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtbGFiZWxsZWRieS10YXJnZXRpbmctc2xv
dC5odG1sIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWxhYmVsbGVkYnktdGFyZ2V0
aW5nLXNsb3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjg2
MjQ2ZjY0ZDFhZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
YXJpYS1sYWJlbGxlZGJ5LXRhcmdldGluZy1zbG90Lmh0bWwKQEAgLTAsMCArMSwzNCBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvYWNjZXNzaWJpbGl0eS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorCis8eC1idXR0b24+c2xvdDxzcGFuPndpdGggY2hpbGQ8L3NwYW4+
PC94LWJ1dHRvbj4KKworPHNjcmlwdD4KKyhmdW5jdGlvbiBpbml0WEJ1dHRvbigpIHsKKyAgICBj
bGFzcyBYQnV0dG9uIGV4dGVuZHMgSFRNTEVsZW1lbnQgeworICAgICAgICBjb25zdHJ1Y3Rvcigp
IHsKKyAgICAgICAgICAgIHN1cGVyKCk7CisgICAgICAgICAgICB0aGlzLmF0dGFjaFNoYWRvdyh7
IG1vZGU6ICJvcGVuIiwgZGVsZWdhdGVzRm9jdXM6IHRydWUgfSk7CisgICAgICAgICAgICBjb25z
dCBmcmFnbWVudCA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCkuY3JlYXRlQ29udGV4dHVhbEZyYWdt
ZW50KCI8aW5wdXQgaWQ9J2J1dHRvbicgYXJpYS1sYWJlbGxlZGJ5PSdzbG90JyB0eXBlPWJ1dHRv
bj48c2xvdCBpZD0nc2xvdCcgYXJpYS1oaWRkZW49J3RydWUnPjwvc2xvdD4iKTsKKyAgICAgICAg
ICAgIHRoaXMuc2hhZG93Um9vdC5hcHBlbmQoZnJhZ21lbnQuY2xvbmVOb2RlKHRydWUpKTsKKyAg
ICAgICAgfQorICAgICB9CisgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSgieC1idXR0b24iLCBYQnV0
dG9uKTsKK30pKCk7CisKK3ZhciBvdXRwdXQgPSAiVGhpcyB0ZXN0IGVuc3VyZXMgd2UgY29tcHV0
ZSB0aGUgY29ycmVjdCBhY2Nlc3NpYmxlIG5hbWUgd2hlbiBhcmlhLWxhYmVsbGVkYnkgdGFyZ2V0
cyBhIHNsb3QgZWxlbWVudC5cblxuIjsKKworaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJv
bGxlcikgeworICAgIG91dHB1dCArPSBgI2J1dHRvbiBhY2Nlc3NpYmxlIG5hbWU6ICR7cGxhdGZv
cm1WYWx1ZUZvclczQ05hbWUoYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1l
bnRCeUlkKCJidXR0b24iKSl9YDsKKyAgICBkZWJ1ZyhvdXRwdXQpOworfQorPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9z
L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0
aW9ucwppbmRleCAxNGRhZDE3MjY2NjIuLmRkYmRiZWYwZGFjOCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTIyMTksNiArMjIxOSw3IEBAIGFjY2Vzc2li
aWxpdHkvYXJpYS1zb3J0LWNoYW5nZWQtbm90aWZpY2F0aW9uLmh0bWwgWyBQYXNzIF0KIHdlYmtp
dC5vcmcvYi8xNTAzNjYgYWNjZXNzaWJpbGl0eS9hcmlhLXRhYmxlLWF0dHJpYnV0ZXMuaHRtbCBb
IFBhc3MgXQogCiBhY2Nlc3NpYmlsaXR5L2FyaWEtbW9kYWwtd2l0aC10ZXh0LWNyYXNoLmh0bWwg
WyBQYXNzIF0KK2FjY2Vzc2liaWxpdHkvYXJpYS1sYWJlbGxlZGJ5LXRhcmdldGluZy1zbG90Lmh0
bWwgWyBQYXNzIF0KIGFjY2Vzc2liaWxpdHkvZGlzcGxheS1jb250ZW50cy1zZWFyY2gtdHJhdmVy
c2FsLmh0bWwgWyBQYXNzIF0KIGFjY2Vzc2liaWxpdHkvc2VhcmNoLXRyYXZlcnNhbC1hZnRlci1y
b2xlLWNoYW5nZS5odG1sIFsgUGFzcyBdCiBhY2Nlc3NpYmlsaXR5L3RhYmxlLXNlYXJjaC10cmF2
ZXJzYWwuaHRtbCBbIFBhc3MgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>466156</attachid>
            <date>2023-05-01 00:42:40 -0700</date>
            <delta_ts>2023-05-01 11:26:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-254934-20230501004239.patch</filename>
            <type>text/plain</type>
            <size>7704</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">RnJvbSA5NTIwMGMyZjEwNjVhN2Q3Y2NlOWQ3NWM4OGRkNDg1YmI5NjM2OWY2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUeWxlciBXaWxjb2NrIDx0eWxlcl93QGFwcGxlLmNvbT4KRGF0
ZTogU3VuLCAzMCBBcHIgMjAyMyAyMzozOTowMyAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIEFYOiBT
bG90IGVsZW1lbnRzIHJlZmVyZW5jZWQgd2l0aCBhcmlhLWxhYmVsbGVkYnkgaGF2ZSBubwogbGFi
ZWwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1NDkzNCByZGFyOi8v
cHJvYmxlbS8xMDc1NzA1MTIKClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKV2l0aCB0aGlz
IHBhdGNoLCB3aGVuIGEgc2xvdCBpcyB0aGUgdGFyZ2V0IG9mIGFyaWEtbGFiZWxsZWRieSwgd2Ug
c2hvdWxkIChhbmQgbm93IGRvKQpnYXRoZXIgdGhlIGFjY2Vzc2libGUgdGV4dCBvZiB0aGUgbm9k
ZXMgYXNzaWduZWQgdG8gdGhlIHNsb3QuCgpUaGlzIHBhdGNoIGFsc28gZml4ZXMgYSBidWcgaW4g
b3VyIGFjY2Vzc2libGUgbmFtZSBjb21wdXRhdGlvbiB3aGVyZQpBY2Nlc3NpYmlsaXR5Tm9kZU9i
amVjdDo6YWNjZXNzaWJsZU5hbWVGb3JOb2RlIGRpZG4ndCBjb2xsZWN0IHRoZSB0ZXh0IGZyb20g
YSBUZXh0Tm9kZQphcyBzdGF0ZWQgaGVyZToKCmh0dHBzOi8vd3d3LnczLm9yZy9UUi9hY2NuYW1l
LTEuMi8jbWFwcGluZ19hZGRpdGlvbmFsX25kX3RlCgo+IEcuIE90aGVyd2lzZSwgaWYgdGhlIGN1
cnJlbnQgbm9kZSBpcyBhIFRleHQgbm9kZSwgcmV0dXJuIGl0cyB0ZXh0dWFsIGNvbnRlbnRzLgoK
UHJpb3IgdG8gdGhpcyBwYXRjaCwgQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OmFjY2Vzc2libGVO
YW1lRm9yTm9kZSB3b3VsZCBiYWlsIGVhcmx5CmlmIHRoZSBnaXZlbiBub2RlIHdhcyBub3QgYW4g
ZWxlbWVudCAoYW5kIHRleHQgbm9kZXMgYXJlIG5vdCBlbGVtZW50cykuCgpXaXRob3V0IGFsc28g
Zml4aW5nIHRoaXMgYnVnLCB3ZSB3b3VsZCBub3QgYmVoYXZlIGNvcnJlY3RseSBpbiB0aGUgYmFz
aWMgYWRkZWQgdGVzdGNhc2UuCgoqIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1sYWJl
bGxlZGJ5LXRhcmdldGluZy1zbG90LWV4cGVjdGVkLnR4dDogQWRkZWQuCiogTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9hcmlhLWxhYmVsbGVkYnktdGFyZ2V0aW5nLXNsb3QuaHRtbDogQWRkZWQu
CiogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnM6IEVuYWJsZSBuZXcg
dGVzdC4KKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2Jq
ZWN0LmNwcDoKKFdlYkNvcmU6OmFjY2Vzc2libGVOYW1lRm9yTm9kZSk6Ci0tLQogLi4uL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwIHwgMjkgKysrKysrKysrKystLS0t
LS0KIC4uLnJpYS1sYWJlbGxlZGJ5LXRhcmdldGluZy1zbG90LWV4cGVjdGVkLnR4dCB8ICA3ICsr
KysKIC4uLi9hcmlhLWxhYmVsbGVkYnktdGFyZ2V0aW5nLXNsb3QuaHRtbCAgICAgICB8IDMyICsr
KysrKysrKysrKysrKysrKysKIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRp
b25zICAgICB8ICAxICsKIDQgZmlsZXMgY2hhbmdlZCwgNjAgaW5zZXJ0aW9ucygrKSwgOSBkZWxl
dGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2Fy
aWEtbGFiZWxsZWRieS10YXJnZXRpbmctc2xvdC1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEw
MDY0NCBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtbGFiZWxsZWRieS10YXJnZXRpbmct
c2xvdC5odG1sCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcAppbmRleCAzN2IzMDQxYmU5Y2QuLjY0NmEwMmFkNzVj
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
Tm9kZU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5Tm9kZU9iamVjdC5jcHAKQEAgLTU5LDYgKzU5LDcgQEAKICNpbmNsdWRlICJIVE1MT3B0
aW9uRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKICNpbmNsdWRlICJI
VE1MU2VsZWN0RWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxTbG90RWxlbWVudC5oIgogI2luY2x1
ZGUgIkhUTUxTdW1tYXJ5RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxUZXh0QXJlYUVsZW1lbnQu
aCIKICNpbmNsdWRlICJIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5oIgpAQCAtMjM4MSwyMSAr
MjM4MiwxOSBAQCBTUkdCQTx1aW50OF90PiBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6Y29sb3JW
YWx1ZSgpIGNvbnN0CiBzdGF0aWMgU3RyaW5nIGFjY2Vzc2libGVOYW1lRm9yTm9kZShOb2RlKiBu
b2RlLCBOb2RlKiBsYWJlbGxlZGJ5Tm9kZSkKIHsKICAgICBBU1NFUlQobm9kZSk7Ci0gICAgaWYg
KCFpczxFbGVtZW50Pihub2RlKSkKLSAgICAgICAgcmV0dXJuIFN0cmluZygpOwotICAgIAotICAg
IEVsZW1lbnQmIGVsZW1lbnQgPSBkb3duY2FzdDxFbGVtZW50Pigqbm9kZSk7Ci0gICAgY29uc3Qg
QXRvbVN0cmluZyYgYXJpYUxhYmVsID0gZWxlbWVudC5hdHRyaWJ1dGVXaXRob3V0U3luY2hyb25p
emF0aW9uKGFyaWFfbGFiZWxBdHRyKTsKKworICAgIGF1dG8qIGVsZW1lbnQgPSBkeW5hbWljRG93
bmNhc3Q8RWxlbWVudD4obm9kZSk7CisgICAgY29uc3QgQXRvbVN0cmluZyYgYXJpYUxhYmVsID0g
ZWxlbWVudCA/IGVsZW1lbnQtPmF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oYXJpYV9s
YWJlbEF0dHIpIDogbnVsbEF0b20oKTsKICAgICBpZiAoIWFyaWFMYWJlbC5pc0VtcHR5KCkpCiAg
ICAgICAgIHJldHVybiBhcmlhTGFiZWw7CiAgICAgCi0gICAgY29uc3QgQXRvbVN0cmluZyYgYWx0
ID0gZWxlbWVudC5hdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKGFsdEF0dHIpOworICAg
IGNvbnN0IEF0b21TdHJpbmcmIGFsdCA9IGVsZW1lbnQgPyBlbGVtZW50LT5hdHRyaWJ1dGVXaXRo
b3V0U3luY2hyb25pemF0aW9uKGFsdEF0dHIpIDogbnVsbEF0b20oKTsKICAgICBpZiAoIWFsdC5p
c0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBhbHQ7CiAKICAgICAvLyBJZiB0aGUgbm9kZSBjYW4g
YmUgdHVybmVkIGludG8gYW4gQVggb2JqZWN0LCB3ZSBjYW4gdXNlIHN0YW5kYXJkIG5hbWUgY29t
cHV0YXRpb24gcnVsZXMuCiAgICAgLy8gSWYgaG93ZXZlciwgdGhlIG5vZGUgY2Fubm90IChiZWNh
dXNlIHRoZXJlJ3Mgbm8gcmVuZGVyZXIgZS5nLikgZmFsbGJhY2sgdG8gdXNpbmcgdGhlIGJhc2lj
IHRleHQgdW5kZXJuZWF0aC4KLSAgICBhdXRvIGF4T2JqZWN0ID0gZWxlbWVudC5kb2N1bWVudCgp
LmF4T2JqZWN0Q2FjaGUoKS0+Z2V0T3JDcmVhdGUoJmVsZW1lbnQpOworICAgIGF1dG8qIGF4T2Jq
ZWN0ID0gbm9kZS0+ZG9jdW1lbnQoKS5heE9iamVjdENhY2hlKCktPmdldE9yQ3JlYXRlKG5vZGUp
OwogICAgIGlmIChheE9iamVjdCkgewogICAgICAgICBTdHJpbmcgdmFsdWVEZXNjcmlwdGlvbiA9
IGF4T2JqZWN0LT52YWx1ZURlc2NyaXB0aW9uKCk7CiAgICAgICAgIGlmICghdmFsdWVEZXNjcmlw
dGlvbi5pc0VtcHR5KCkpCkBAIC0yNDQ0LDE0ICsyNDQzLDI2IEBAIHN0YXRpYyBTdHJpbmcgYWNj
ZXNzaWJsZU5hbWVGb3JOb2RlKE5vZGUqIG5vZGUsIE5vZGUqIGxhYmVsbGVkYnlOb2RlKQogICAg
ICAgICBpZiAoYXhPYmplY3QtPmFjY2Vzc2libGVOYW1lRGVyaXZlc0Zyb21Db250ZW50KCkpCiAg
ICAgICAgICAgICB0ZXh0ID0gYXhPYmplY3QtPnRleHRVbmRlckVsZW1lbnQoQWNjZXNzaWJpbGl0
eVRleHRVbmRlckVsZW1lbnRNb2RlKEFjY2Vzc2liaWxpdHlUZXh0VW5kZXJFbGVtZW50TW9kZTo6
VGV4dFVuZGVyRWxlbWVudE1vZGVJbmNsdWRlTmFtZUZyb21Db250ZW50c0NoaWxkcmVuLCB0cnVl
LCBsYWJlbGxlZGJ5Tm9kZSkpOwogICAgIH0gZWxzZQotICAgICAgICB0ZXh0ID0gZWxlbWVudC5p
bm5lclRleHQoKS5zaW1wbGlmeVdoaXRlU3BhY2UoKTsKKyAgICAgICAgdGV4dCA9IChlbGVtZW50
ID8gZWxlbWVudC0+aW5uZXJUZXh0KCkgOiBub2RlLT50ZXh0Q29udGVudCgpKS5zaW1wbGlmeVdo
aXRlU3BhY2UoKTsKIAogICAgIGlmICghdGV4dC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiB0
ZXh0OwogICAgIAotICAgIGNvbnN0IEF0b21TdHJpbmcmIHRpdGxlID0gZWxlbWVudC5hdHRyaWJ1
dGVXaXRob3V0U3luY2hyb25pemF0aW9uKHRpdGxlQXR0cik7CisgICAgY29uc3QgQXRvbVN0cmlu
ZyYgdGl0bGUgPSBlbGVtZW50ID8gZWxlbWVudC0+YXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXph
dGlvbih0aXRsZUF0dHIpIDogbnVsbEF0b20oKTsKICAgICBpZiAoIXRpdGxlLmlzRW1wdHkoKSkK
ICAgICAgICAgcmV0dXJuIHRpdGxlOworCisgICAgYXV0byogc2xvdEVsZW1lbnQgPSBkeW5hbWlj
RG93bmNhc3Q8SFRNTFNsb3RFbGVtZW50Pihub2RlKTsKKyAgICAvLyBDb21wdXRlIHRoZSBhY2Nl
c3NpYmxlIG5hbWUgZm9yIGEgc2xvdCdzIGNvbnRlbnRzIG9ubHkgaWYgaXQncyBiZWluZyB1c2Vk
IHRvIGxhYmVsIGFub3RoZXIgbm9kZS4KKyAgICBpZiAoYXV0byogYXNzaWduZWROb2RlcyA9IChz
bG90RWxlbWVudCAmJiBsYWJlbGxlZGJ5Tm9kZSkgPyBzbG90RWxlbWVudC0+YXNzaWduZWROb2Rl
cygpIDogbnVsbHB0cikgeworICAgICAgICBTdHJpbmdCdWlsZGVyIGJ1aWxkZXI7CisgICAgICAg
IGZvciAoY29uc3QgYXV0byYgYXNzaWduZWROb2RlIDogKmFzc2lnbmVkTm9kZXMpCisgICAgICAg
ICAgICBhcHBlbmROYW1lVG9TdHJpbmdCdWlsZGVyKGJ1aWxkZXIsIGFjY2Vzc2libGVOYW1lRm9y
Tm9kZShhc3NpZ25lZE5vZGUuZ2V0KCkpKTsKKworICAgICAgICBhdXRvIGFzc2lnbmVkTm9kZXNU
ZXh0ID0gYnVpbGRlci50b1N0cmluZygpOworICAgICAgICBpZiAoIWFzc2lnbmVkTm9kZXNUZXh0
LmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldHVybiBhc3NpZ25lZE5vZGVzVGV4dDsKKyAgICB9
CiAgICAgCiAgICAgcmV0dXJuIFN0cmluZygpOwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9hcmlhLWxhYmVsbGVkYnktdGFyZ2V0aW5nLXNsb3QtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWxhYmVsbGVkYnktdGFyZ2V0aW5nLXNs
b3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4u
ZDViNzU3MmYzYWM0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9hcmlhLWxhYmVsbGVkYnktdGFyZ2V0aW5nLXNsb3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NyBAQAorVGhpcyB0ZXN0IGVuc3VyZXMgd2UgY29tcHV0ZSB0aGUgY29ycmVjdCBhY2Nlc3NpYmxl
IG5hbWUgd2hlbiBhcmlhLWxhYmVsbGVkYnkgdGFyZ2V0cyBhIHNsb3QgZWxlbWVudC4KKworI2J1
dHRvbiBhY2Nlc3NpYmxlIG5hbWU6IHNsb3Qgd2l0aCBjaGlsZAorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCitzbG90d2l0aCBjaGlsZApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWxhYmVsbGVkYnktdGFyZ2V0aW5nLXNs
b3QuaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1sYWJlbGxlZGJ5LXRhcmdl
dGluZy1zbG90Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi42
YzE5OTk3MDE1NzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L2FyaWEtbGFiZWxsZWRieS10YXJnZXRpbmctc2xvdC5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2FjY2Vzc2liaWxpdHktaGVscGVyLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKworPHgtYnV0dG9uPnNsb3Q8c3Bhbj53aXRoIGNoaWxkPC9zcGFu
PjwveC1idXR0b24+CisKKzxzY3JpcHQ+CitjbGFzcyBYQnV0dG9uIGV4dGVuZHMgSFRNTEVsZW1l
bnQgeworICAgIGNvbnN0cnVjdG9yKCkgeworICAgICAgICBzdXBlcigpOworICAgICAgICB0aGlz
LmF0dGFjaFNoYWRvdyh7IG1vZGU6ICJvcGVuIiwgZGVsZWdhdGVzRm9jdXM6IHRydWUgfSk7Cisg
ICAgICAgIGNvbnN0IGZyYWdtZW50ID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKS5jcmVhdGVDb250
ZXh0dWFsRnJhZ21lbnQoIjxpbnB1dCBpZD0nYnV0dG9uJyBhcmlhLWxhYmVsbGVkYnk9J3Nsb3Qn
IHR5cGU9YnV0dG9uPjxzbG90IGlkPSdzbG90JyBhcmlhLWhpZGRlbj0ndHJ1ZSc+PC9zbG90PiIp
OworICAgICAgICB0aGlzLnNoYWRvd1Jvb3QuYXBwZW5kKGZyYWdtZW50LmNsb25lTm9kZSh0cnVl
KSk7CisgICAgfQorfQorY3VzdG9tRWxlbWVudHMuZGVmaW5lKCJ4LWJ1dHRvbiIsIFhCdXR0b24p
OworCit2YXIgb3V0cHV0ID0gIlRoaXMgdGVzdCBlbnN1cmVzIHdlIGNvbXB1dGUgdGhlIGNvcnJl
Y3QgYWNjZXNzaWJsZSBuYW1lIHdoZW4gYXJpYS1sYWJlbGxlZGJ5IHRhcmdldHMgYSBzbG90IGVs
ZW1lbnQuXG5cbiI7CisKK2lmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKKyAg
ICBvdXRwdXQgKz0gYCNidXR0b24gYWNjZXNzaWJsZSBuYW1lOiAke3BsYXRmb3JtVmFsdWVGb3JX
M0NOYW1lKGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgiYnV0
dG9uIikpfWA7CisgICAgZGVidWcob3V0cHV0KTsKK30KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0
YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXgg
MTRkYWQxNzI2NjYyLi5kZGJkYmVmMGRhYzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9U
ZXN0RXhwZWN0YXRpb25zCkBAIC0yMjE5LDYgKzIyMTksNyBAQCBhY2Nlc3NpYmlsaXR5L2FyaWEt
c29ydC1jaGFuZ2VkLW5vdGlmaWNhdGlvbi5odG1sIFsgUGFzcyBdCiB3ZWJraXQub3JnL2IvMTUw
MzY2IGFjY2Vzc2liaWxpdHkvYXJpYS10YWJsZS1hdHRyaWJ1dGVzLmh0bWwgWyBQYXNzIF0KIAog
YWNjZXNzaWJpbGl0eS9hcmlhLW1vZGFsLXdpdGgtdGV4dC1jcmFzaC5odG1sIFsgUGFzcyBdCith
Y2Nlc3NpYmlsaXR5L2FyaWEtbGFiZWxsZWRieS10YXJnZXRpbmctc2xvdC5odG1sIFsgUGFzcyBd
CiBhY2Nlc3NpYmlsaXR5L2Rpc3BsYXktY29udGVudHMtc2VhcmNoLXRyYXZlcnNhbC5odG1sIFsg
UGFzcyBdCiBhY2Nlc3NpYmlsaXR5L3NlYXJjaC10cmF2ZXJzYWwtYWZ0ZXItcm9sZS1jaGFuZ2Uu
aHRtbCBbIFBhc3MgXQogYWNjZXNzaWJpbGl0eS90YWJsZS1zZWFyY2gtdHJhdmVyc2FsLmh0bWwg
WyBQYXNzIF0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>466159</attachid>
            <date>2023-05-01 11:26:18 -0700</date>
            <delta_ts>2023-05-03 12:48:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-254934-20230501112618.patch</filename>
            <type>text/plain</type>
            <size>7684</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">RnJvbSA4OWY2YjVhZmM4ZDg5YmQzOGJiODBkY2UyNDMxMTM3ZTA4N2ZmMTJkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUeWxlciBXaWxjb2NrIDx0eWxlcl93QGFwcGxlLmNvbT4KRGF0
ZTogU3VuLCAzMCBBcHIgMjAyMyAyMzozOTowMyAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIEFYOiBT
bG90IGVsZW1lbnRzIHJlZmVyZW5jZWQgd2l0aCBhcmlhLWxhYmVsbGVkYnkgaGF2ZSBubwogbGFi
ZWwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1NDkzNCByZGFyOi8v
cHJvYmxlbS8xMDc1NzA1MTIKClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKV2l0aCB0aGlz
IHBhdGNoLCB3aGVuIGEgc2xvdCBpcyB0aGUgdGFyZ2V0IG9mIGFyaWEtbGFiZWxsZWRieSwgd2Ug
c2hvdWxkIChhbmQgbm93IGRvKQpnYXRoZXIgdGhlIGFjY2Vzc2libGUgdGV4dCBvZiB0aGUgbm9k
ZXMgYXNzaWduZWQgdG8gdGhlIHNsb3QuCgpUaGlzIHBhdGNoIGFsc28gZml4ZXMgYSBidWcgaW4g
b3VyIGFjY2Vzc2libGUgbmFtZSBjb21wdXRhdGlvbiB3aGVyZQpBY2Nlc3NpYmlsaXR5Tm9kZU9i
amVjdDo6YWNjZXNzaWJsZU5hbWVGb3JOb2RlIGRpZG4ndCBjb2xsZWN0IHRoZSB0ZXh0IGZyb20g
YSBUZXh0Tm9kZQphcyBzdGF0ZWQgaGVyZToKCmh0dHBzOi8vd3d3LnczLm9yZy9UUi9hY2NuYW1l
LTEuMi8jbWFwcGluZ19hZGRpdGlvbmFsX25kX3RlCgo+IEcuIE90aGVyd2lzZSwgaWYgdGhlIGN1
cnJlbnQgbm9kZSBpcyBhIFRleHQgbm9kZSwgcmV0dXJuIGl0cyB0ZXh0dWFsIGNvbnRlbnRzLgoK
UHJpb3IgdG8gdGhpcyBwYXRjaCwgQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OmFjY2Vzc2libGVO
YW1lRm9yTm9kZSB3b3VsZCBiYWlsIGVhcmx5CmlmIHRoZSBnaXZlbiBub2RlIHdhcyBub3QgYW4g
ZWxlbWVudCAoYW5kIHRleHQgbm9kZXMgYXJlIG5vdCBlbGVtZW50cykuCgpXaXRob3V0IGFsc28g
Zml4aW5nIHRoaXMgYnVnLCB3ZSB3b3VsZCBub3QgYmVoYXZlIGNvcnJlY3RseSBpbiB0aGUgYmFz
aWMgYWRkZWQgdGVzdGNhc2UuCgoqIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1sYWJl
bGxlZGJ5LXRhcmdldGluZy1zbG90LWV4cGVjdGVkLnR4dDogQWRkZWQuCiogTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9hcmlhLWxhYmVsbGVkYnktdGFyZ2V0aW5nLXNsb3QuaHRtbDogQWRkZWQu
CiogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnM6IEVuYWJsZSBuZXcg
dGVzdC4KKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2Jq
ZWN0LmNwcDoKKFdlYkNvcmU6OmFjY2Vzc2libGVOYW1lRm9yTm9kZSk6Ci0tLQogLi4uL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwIHwgMjkgKysrKysrKysrKystLS0t
LS0KIC4uLnJpYS1sYWJlbGxlZGJ5LXRhcmdldGluZy1zbG90LWV4cGVjdGVkLnR4dCB8ICA3ICsr
KysrCiAuLi4vYXJpYS1sYWJlbGxlZGJ5LXRhcmdldGluZy1zbG90Lmh0bWwgICAgICAgfCAzMSAr
KysrKysrKysrKysrKysrKysrCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0
aW9ucyAgICAgfCAgMSArCiA0IGZpbGVzIGNoYW5nZWQsIDU5IGluc2VydGlvbnMoKyksIDkgZGVs
ZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9h
cmlhLWxhYmVsbGVkYnktdGFyZ2V0aW5nLXNsb3QtZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAx
MDA2NDQgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWxhYmVsbGVkYnktdGFyZ2V0aW5n
LXNsb3QuaHRtbAoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAKaW5kZXggMzdiMzA0MWJlOWNkLi42NDZhMDJhZDc1
Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eU5vZGVPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eU5vZGVPYmplY3QuY3BwCkBAIC01OSw2ICs1OSw3IEBACiAjaW5jbHVkZSAiSFRNTE9w
dGlvbkVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCiAjaW5jbHVkZSAi
SFRNTFNlbGVjdEVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MU2xvdEVsZW1lbnQuaCIKICNpbmNs
dWRlICJIVE1MU3VtbWFyeUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MVGV4dEFyZWFFbGVtZW50
LmgiCiAjaW5jbHVkZSAiSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuaCIKQEAgLTIzODEsMjEg
KzIzODIsMTkgQEAgU1JHQkE8dWludDhfdD4gQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OmNvbG9y
VmFsdWUoKSBjb25zdAogc3RhdGljIFN0cmluZyBhY2Nlc3NpYmxlTmFtZUZvck5vZGUoTm9kZSog
bm9kZSwgTm9kZSogbGFiZWxsZWRieU5vZGUpCiB7CiAgICAgQVNTRVJUKG5vZGUpOwotICAgIGlm
ICghaXM8RWxlbWVudD4obm9kZSkpCi0gICAgICAgIHJldHVybiBTdHJpbmcoKTsKLSAgICAKLSAg
ICBFbGVtZW50JiBlbGVtZW50ID0gZG93bmNhc3Q8RWxlbWVudD4oKm5vZGUpOwotICAgIGNvbnN0
IEF0b21TdHJpbmcmIGFyaWFMYWJlbCA9IGVsZW1lbnQuYXR0cmlidXRlV2l0aG91dFN5bmNocm9u
aXphdGlvbihhcmlhX2xhYmVsQXR0cik7CisKKyAgICBhdXRvKiBlbGVtZW50ID0gZHluYW1pY0Rv
d25jYXN0PEVsZW1lbnQ+KG5vZGUpOworICAgIGNvbnN0IEF0b21TdHJpbmcmIGFyaWFMYWJlbCA9
IGVsZW1lbnQgPyBlbGVtZW50LT5hdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKGFyaWFf
bGFiZWxBdHRyKSA6IG51bGxBdG9tKCk7CiAgICAgaWYgKCFhcmlhTGFiZWwuaXNFbXB0eSgpKQog
ICAgICAgICByZXR1cm4gYXJpYUxhYmVsOwogICAgIAotICAgIGNvbnN0IEF0b21TdHJpbmcmIGFs
dCA9IGVsZW1lbnQuYXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihhbHRBdHRyKTsKKyAg
ICBjb25zdCBBdG9tU3RyaW5nJiBhbHQgPSBlbGVtZW50ID8gZWxlbWVudC0+YXR0cmlidXRlV2l0
aG91dFN5bmNocm9uaXphdGlvbihhbHRBdHRyKSA6IG51bGxBdG9tKCk7CiAgICAgaWYgKCFhbHQu
aXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gYWx0OwogCiAgICAgLy8gSWYgdGhlIG5vZGUgY2Fu
IGJlIHR1cm5lZCBpbnRvIGFuIEFYIG9iamVjdCwgd2UgY2FuIHVzZSBzdGFuZGFyZCBuYW1lIGNv
bXB1dGF0aW9uIHJ1bGVzLgogICAgIC8vIElmIGhvd2V2ZXIsIHRoZSBub2RlIGNhbm5vdCAoYmVj
YXVzZSB0aGVyZSdzIG5vIHJlbmRlcmVyIGUuZy4pIGZhbGxiYWNrIHRvIHVzaW5nIHRoZSBiYXNp
YyB0ZXh0IHVuZGVybmVhdGguCi0gICAgYXV0byBheE9iamVjdCA9IGVsZW1lbnQuZG9jdW1lbnQo
KS5heE9iamVjdENhY2hlKCktPmdldE9yQ3JlYXRlKCZlbGVtZW50KTsKKyAgICBhdXRvKiBheE9i
amVjdCA9IG5vZGUtPmRvY3VtZW50KCkuYXhPYmplY3RDYWNoZSgpLT5nZXRPckNyZWF0ZShub2Rl
KTsKICAgICBpZiAoYXhPYmplY3QpIHsKICAgICAgICAgU3RyaW5nIHZhbHVlRGVzY3JpcHRpb24g
PSBheE9iamVjdC0+dmFsdWVEZXNjcmlwdGlvbigpOwogICAgICAgICBpZiAoIXZhbHVlRGVzY3Jp
cHRpb24uaXNFbXB0eSgpKQpAQCAtMjQ0NCwxNCArMjQ0MywyNiBAQCBzdGF0aWMgU3RyaW5nIGFj
Y2Vzc2libGVOYW1lRm9yTm9kZShOb2RlKiBub2RlLCBOb2RlKiBsYWJlbGxlZGJ5Tm9kZSkKICAg
ICAgICAgaWYgKGF4T2JqZWN0LT5hY2Nlc3NpYmxlTmFtZURlcml2ZXNGcm9tQ29udGVudCgpKQog
ICAgICAgICAgICAgdGV4dCA9IGF4T2JqZWN0LT50ZXh0VW5kZXJFbGVtZW50KEFjY2Vzc2liaWxp
dHlUZXh0VW5kZXJFbGVtZW50TW9kZShBY2Nlc3NpYmlsaXR5VGV4dFVuZGVyRWxlbWVudE1vZGU6
OlRleHRVbmRlckVsZW1lbnRNb2RlSW5jbHVkZU5hbWVGcm9tQ29udGVudHNDaGlsZHJlbiwgdHJ1
ZSwgbGFiZWxsZWRieU5vZGUpKTsKICAgICB9IGVsc2UKLSAgICAgICAgdGV4dCA9IGVsZW1lbnQu
aW5uZXJUZXh0KCkuc2ltcGxpZnlXaGl0ZVNwYWNlKCk7CisgICAgICAgIHRleHQgPSAoZWxlbWVu
dCA/IGVsZW1lbnQtPmlubmVyVGV4dCgpIDogbm9kZS0+dGV4dENvbnRlbnQoKSkuc2ltcGxpZnlX
aGl0ZVNwYWNlKCk7CiAKICAgICBpZiAoIXRleHQuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4g
dGV4dDsKICAgICAKLSAgICBjb25zdCBBdG9tU3RyaW5nJiB0aXRsZSA9IGVsZW1lbnQuYXR0cmli
dXRlV2l0aG91dFN5bmNocm9uaXphdGlvbih0aXRsZUF0dHIpOworICAgIGNvbnN0IEF0b21TdHJp
bmcmIHRpdGxlID0gZWxlbWVudCA/IGVsZW1lbnQtPmF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6
YXRpb24odGl0bGVBdHRyKSA6IG51bGxBdG9tKCk7CiAgICAgaWYgKCF0aXRsZS5pc0VtcHR5KCkp
CiAgICAgICAgIHJldHVybiB0aXRsZTsKKworICAgIGF1dG8qIHNsb3RFbGVtZW50ID0gZHluYW1p
Y0Rvd25jYXN0PEhUTUxTbG90RWxlbWVudD4obm9kZSk7CisgICAgLy8gQ29tcHV0ZSB0aGUgYWNj
ZXNzaWJsZSBuYW1lIGZvciBhIHNsb3QncyBjb250ZW50cyBvbmx5IGlmIGl0J3MgYmVpbmcgdXNl
ZCB0byBsYWJlbCBhbm90aGVyIG5vZGUuCisgICAgaWYgKGF1dG8qIGFzc2lnbmVkTm9kZXMgPSAo
c2xvdEVsZW1lbnQgJiYgbGFiZWxsZWRieU5vZGUpID8gc2xvdEVsZW1lbnQtPmFzc2lnbmVkTm9k
ZXMoKSA6IG51bGxwdHIpIHsKKyAgICAgICAgU3RyaW5nQnVpbGRlciBidWlsZGVyOworICAgICAg
ICBmb3IgKGNvbnN0IGF1dG8mIGFzc2lnbmVkTm9kZSA6ICphc3NpZ25lZE5vZGVzKQorICAgICAg
ICAgICAgYXBwZW5kTmFtZVRvU3RyaW5nQnVpbGRlcihidWlsZGVyLCBhY2Nlc3NpYmxlTmFtZUZv
ck5vZGUoYXNzaWduZWROb2RlLmdldCgpKSk7CisKKyAgICAgICAgYXV0byBhc3NpZ25lZE5vZGVz
VGV4dCA9IGJ1aWxkZXIudG9TdHJpbmcoKTsKKyAgICAgICAgaWYgKCFhc3NpZ25lZE5vZGVzVGV4
dC5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXR1cm4gYXNzaWduZWROb2Rlc1RleHQ7CisgICAg
fQogICAgIAogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvYXJpYS1sYWJlbGxlZGJ5LXRhcmdldGluZy1zbG90LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1sYWJlbGxlZGJ5LXRhcmdldGluZy1z
bG90LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAu
LmQ1Yjc1NzJmM2FjNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxp
dHkvYXJpYS1sYWJlbGxlZGJ5LXRhcmdldGluZy1zbG90LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDcgQEAKK1RoaXMgdGVzdCBlbnN1cmVzIHdlIGNvbXB1dGUgdGhlIGNvcnJlY3QgYWNjZXNzaWJs
ZSBuYW1lIHdoZW4gYXJpYS1sYWJlbGxlZGJ5IHRhcmdldHMgYSBzbG90IGVsZW1lbnQuCisKKyNi
dXR0b24gYWNjZXNzaWJsZSBuYW1lOiBzbG90IHdpdGggY2hpbGQKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorc2xvdHdpdGggY2hpbGQKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1sYWJlbGxlZGJ5LXRhcmdldGluZy1z
bG90Lmh0bWwgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtbGFiZWxsZWRieS10YXJn
ZXRpbmctc2xvdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4u
MjJiZGZjZDdlNmZjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9hcmlhLWxhYmVsbGVkYnktdGFyZ2V0aW5nLXNsb3QuaHRtbApAQCAtMCwwICsxLDMxIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9hY2Nlc3NpYmlsaXR5LWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+CisKKzx4LWJ1dHRvbj5zbG90PHNwYW4+d2l0aCBjaGlsZDwvc3Bh
bj48L3gtYnV0dG9uPgorCis8c2NyaXB0PgorY2xhc3MgWEJ1dHRvbiBleHRlbmRzIEhUTUxFbGVt
ZW50IHsKKyAgICBjb25zdHJ1Y3RvcigpIHsKKyAgICAgICAgc3VwZXIoKTsKKyAgICAgICAgdGhp
cy5hdHRhY2hTaGFkb3coeyBtb2RlOiAib3BlbiIsIGRlbGVnYXRlc0ZvY3VzOiB0cnVlIH0pOwor
ICAgICAgICBjb25zdCBmcmFnbWVudCA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCkuY3JlYXRlQ29u
dGV4dHVhbEZyYWdtZW50KCI8aW5wdXQgaWQ9J2J1dHRvbicgYXJpYS1sYWJlbGxlZGJ5PSdzbG90
JyB0eXBlPWJ1dHRvbj48c2xvdCBpZD0nc2xvdCc+PC9zbG90PiIpOworICAgICAgICB0aGlzLnNo
YWRvd1Jvb3QuYXBwZW5kKGZyYWdtZW50LmNsb25lTm9kZSh0cnVlKSk7CisgICAgfQorfQorY3Vz
dG9tRWxlbWVudHMuZGVmaW5lKCJ4LWJ1dHRvbiIsIFhCdXR0b24pOworCit2YXIgb3V0cHV0ID0g
IlRoaXMgdGVzdCBlbnN1cmVzIHdlIGNvbXB1dGUgdGhlIGNvcnJlY3QgYWNjZXNzaWJsZSBuYW1l
IHdoZW4gYXJpYS1sYWJlbGxlZGJ5IHRhcmdldHMgYSBzbG90IGVsZW1lbnQuXG5cbiI7CitpZiAo
d2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CisgICAgb3V0cHV0ICs9IGAjYnV0dG9u
IGFjY2Vzc2libGUgbmFtZTogJHtwbGF0Zm9ybVZhbHVlRm9yVzNDTmFtZShhY2Nlc3NpYmlsaXR5
Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoImJ1dHRvbiIpKX1gOworICAgIGRlYnVn
KG91dHB1dCk7Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKworCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDE0ZGFkMTcyNjY2Mi4uZGRiZGJl
ZjBkYWM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0
aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucwpAQCAt
MjIxOSw2ICsyMjE5LDcgQEAgYWNjZXNzaWJpbGl0eS9hcmlhLXNvcnQtY2hhbmdlZC1ub3RpZmlj
YXRpb24uaHRtbCBbIFBhc3MgXQogd2Via2l0Lm9yZy9iLzE1MDM2NiBhY2Nlc3NpYmlsaXR5L2Fy
aWEtdGFibGUtYXR0cmlidXRlcy5odG1sIFsgUGFzcyBdCiAKIGFjY2Vzc2liaWxpdHkvYXJpYS1t
b2RhbC13aXRoLXRleHQtY3Jhc2guaHRtbCBbIFBhc3MgXQorYWNjZXNzaWJpbGl0eS9hcmlhLWxh
YmVsbGVkYnktdGFyZ2V0aW5nLXNsb3QuaHRtbCBbIFBhc3MgXQogYWNjZXNzaWJpbGl0eS9kaXNw
bGF5LWNvbnRlbnRzLXNlYXJjaC10cmF2ZXJzYWwuaHRtbCBbIFBhc3MgXQogYWNjZXNzaWJpbGl0
eS9zZWFyY2gtdHJhdmVyc2FsLWFmdGVyLXJvbGUtY2hhbmdlLmh0bWwgWyBQYXNzIF0KIGFjY2Vz
c2liaWxpdHkvdGFibGUtc2VhcmNoLXRyYXZlcnNhbC5odG1sIFsgUGFzcyBdCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>