<?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>235851</bug_id>
          
          <creation_ts>2022-01-28 19:08:02 -0800</creation_ts>
          <short_desc>Allow history swipe in scroller with overscroll-behavior</short_desc>
          <delta_ts>2022-05-06 19:14:25 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=240183</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>235847</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Nikos Mouchtaris">nmouchtaris</reporter>
          <assigned_to name="Nikos Mouchtaris">nmouchtaris</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>jamesr</cc>
    
    <cc>luiz</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1835224</commentid>
    <comment_count>0</comment_count>
    <who name="Nikos Mouchtaris">nmouchtaris</who>
    <bug_when>2022-01-28 19:08:02 -0800</bug_when>
    <thetext>Test that scroller with overscroll-behavior-x doesn&apos;t allow swipe gestures to trigger navigation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837688</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-04 19:08:14 -0800</bug_when>
    <thetext>&lt;rdar://problem/88518462&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1845823</commentid>
    <comment_count>2</comment_count>
      <attachid>453149</attachid>
    <who name="Nikos Mouchtaris">nmouchtaris</who>
    <bug_when>2022-02-24 16:19:24 -0800</bug_when>
    <thetext>Created attachment 453149
wip</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1850667</commentid>
    <comment_count>3</comment_count>
      <attachid>454525</attachid>
    <who name="Nikos Mouchtaris">nmouchtaris</who>
    <bug_when>2022-03-11 19:19:11 -0800</bug_when>
    <thetext>Created attachment 454525
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1852071</commentid>
    <comment_count>4</comment_count>
      <attachid>454525</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-03-16 17:03:01 -0700</bug_when>
    <thetext>Comment on attachment 454525
Patch

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        Add test for swipe navigation with overscroll-behavior

The title should be about the code change, not about adding the test.

&gt; Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp:439
&gt; +    ScrollPropagationInfo propagation;
&gt; +    if (horizontalOverscrollBehaviorPreventsPropagation() || verticalOverscrollBehaviorPreventsPropagation()) {
&gt; +        if (horizontalOverscrollBehaviorPreventsPropagation() &amp;&amp; !delta.height() &amp;&amp; delta.width()) {
&gt; +            propagation.shouldBlockScrollPropagation = true;
&gt; +            propagation.isHandled = false;
&gt; +            return propagation;
&gt; +        }
&gt; +
&gt; +        if ((horizontalOverscrollBehaviorPreventsPropagation() &amp;&amp; verticalOverscrollBehaviorPreventsPropagation())
&gt; +            || (horizontalOverscrollBehaviorPreventsPropagation() &amp;&amp; !delta.height())
&gt; +            || (verticalOverscrollBehaviorPreventsPropagation() &amp;&amp; !delta.width())) {
&gt; +            propagation.shouldBlockScrollPropagation = true;
&gt; +            propagation.isHandled = true;
&gt; +        }
&gt; +    }
&gt; +    return propagation;

This is a little hard to follow. Maybe an early return if neither access prevents propagation?

&gt; Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h:44
&gt; +    bool shouldBlockScrollPropagation = false;
&gt; +    bool isHandled = false;

Normally we use C++ initializer style: bool shouldBlockScrollPropagation { false };

&gt; LayoutTests/scrollingcoordinator/mac/latching/horizontal-overflow-back-swipe-overscroll-behavior.html:56
&gt; +            eventSender.monitorWheelEvents();
&gt; +            eventSender.mouseMoveTo(x, y);
&gt; +            eventSender.mouseScrollByWithWheelAndMomentumPhases(1, 0, &quot;began&quot;, &quot;none&quot;);
&gt; +            eventSender.mouseScrollByWithWheelAndMomentumPhases(10, 0, &quot;changed&quot;, &quot;none&quot;);
&gt; +            eventSender.mouseScrollByWithWheelAndMomentumPhases(10, 0, &quot;changed&quot;, &quot;none&quot;);
&gt; +            await UIHelper.animationFrame();
&gt; +            eventSender.mouseScrollByWithWheelAndMomentumPhases(10, 0, &quot;changed&quot;, &quot;none&quot;);
&gt; +            eventSender.mouseScrollByWithWheelAndMomentumPhases(0, 0, &quot;ended&quot;, &quot;none&quot;);
&gt; +            return UIHelper.waitForScrollCompletion();

I prefer the await UIHelper.mouseWheelSequence(wheelEventSquence); technique; see if that works without the intermediate UIHelper.animationFrame().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1852469</commentid>
    <comment_count>5</comment_count>
      <attachid>455022</attachid>
    <who name="Nikos Mouchtaris">nmouchtaris</who>
    <bug_when>2022-03-17 13:50:20 -0700</bug_when>
    <thetext>Created attachment 455022
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1852846</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-18 15:00:28 -0700</bug_when>
    <thetext>Committed r291497 (248609@main): &lt;https://commits.webkit.org/248609@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 455022.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>453149</attachid>
            <date>2022-02-24 16:19:24 -0800</date>
            <delta_ts>2022-03-11 19:19:08 -0800</delta_ts>
            <desc>wip</desc>
            <filename>bug-235851-20220224161923.patch</filename>
            <type>text/plain</type>
            <size>7146</size>
            <attacher name="Nikos Mouchtaris">nmouchtaris</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwMjYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDllNzVlNjI3OTI0ZDFl
NmRmMDRiZmRiZWMzZTlhYTJkZmQwYjhmNS4uZmNlN2QyNzkyMjhiMzRiNTExMWJlNGNhNmY1YTM1
ZjdmOGJkZTQ4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIyLTAyLTI0ICBOaWtv
bGFvcyBNb3VjaHRhcmlzICA8bm1vdWNodGFyaXNAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCB0
ZXN0IGZvciBzd2lwZSBuYXZpZ2F0aW9uIHdpdGggb3ZlcnNjcm9sbC1iZWhhdmlvcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1ODUxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmUtYWRkIGNvZGUgdG8g
YWxsb3cgaGlzdG9yeSBzd2lwZS4gRG9lcyBzbyBieSByZXR1cm5pbmcgdW5oYW5kbGVkIGlmIGEg
aG9yaXpvbnRhbAorICAgICAgICBzd2lwZSBpcyB1c2VkLiBUZXN0IGZvciB0aGlzIHRvIGNvbWUu
CisKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbGluZ1RyZWU6OmhhbmRsZVdoZWVsRXZlbnRXaXRoTm9kZSk6CisgICAg
ICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6OnNob3VsZFJ1YmJlckJh
bmQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6
OmNvbXB1dGVTY3JvbGxQcm9wYWdhdGlvbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6c2hvdWxkQmxvY2tTY3JvbGxQcm9wYWdhdGlvbiBjb25z
dCk6IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9s
bGluZ05vZGUuaDoKKwogMjAyMi0wMi0yMSAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5j
b20+CiAKICAgICAgICAgW0NTUyBDb250YWluZXIgUXVlcmllc10gU3VwcG9ydCBuZXN0ZWQgY29u
dGFpbmVyIHF1ZXJpZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ1RyZWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nVHJlZS5jcHAKaW5kZXggMzM5YTEwZGE2ZTk5OWI2Yzg3NjQyMWMyNzViN2UxN2Y1MWQ3ZDRi
Ni4uOGQ5MzQyMDZhOTVmYmVkNTdiZjg1NzM2MTU4MjhmMzVlODAyNzg0YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5jcHAKQEAgLTIxNyw3ICsy
MTcsMTAgQEAgV2hlZWxFdmVudEhhbmRsaW5nUmVzdWx0IFNjcm9sbGluZ1RyZWU6OmhhbmRsZVdo
ZWVsRXZlbnRXaXRoTm9kZShjb25zdCBQbGF0Zm9ybVcKICAgICAgICAgICAgIGlmIChyZXN1bHQu
bmVlZHNNYWluVGhyZWFkUHJvY2Vzc2luZygpIHx8IGV2ZW50VGFyZ2V0aW5nICE9IEV2ZW50VGFy
Z2V0aW5nOjpQcm9wYWdhdGUpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICAg
ICAgICAgIAotICAgICAgICAgICAgaWYgKHNjcm9sbGluZ05vZGUuc2hvdWxkQmxvY2tTY3JvbGxQ
cm9wYWdhdGlvbihhZGp1c3RlZFdoZWVsRXZlbnQuZGVsdGEoKSkpIHsKKyAgICAgICAgICAgIGF1
dG8gc2Nyb2xsUHJvcGFnYXRpb25JbmZvID0gc2Nyb2xsaW5nTm9kZS5jb21wdXRlU2Nyb2xsUHJv
cGFnYXRpb24oYWRqdXN0ZWRXaGVlbEV2ZW50LmRlbHRhKCkpOworICAgICAgICAgICAgaWYgKHNj
cm9sbFByb3BhZ2F0aW9uSW5mby5zaG91bGRCbG9ja1Njcm9sbFByb3BhZ2F0aW9uKSB7CisgICAg
ICAgICAgICAgICAgaWYgKCFzY3JvbGxQcm9wYWdhdGlvbkluZm8uaXNIYW5kbGVkKQorICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gV2hlZWxFdmVudEhhbmRsaW5nUmVzdWx0Ojp1bmhhbmRsZWQo
KTsKICAgICAgICAgICAgICAgICBtX2xhdGNoaW5nQ29udHJvbGxlci5ub2RlRGlkSGFuZGxlRXZl
bnQoc2Nyb2xsaW5nTm9kZS5zY3JvbGxpbmdOb2RlSUQoKSwgcHJvY2Vzc2luZ1N0ZXBzLCBhZGp1
c3RlZFdoZWVsRXZlbnQsIG1fYWxsb3dMYXRjaGluZyk7CiAgICAgICAgICAgICAgICAgbV9nZXN0
dXJlU3RhdGUubm9kZURpZEhhbmRsZUV2ZW50KHNjcm9sbGluZ05vZGUuc2Nyb2xsaW5nTm9kZUlE
KCksIGFkanVzdGVkV2hlZWxFdmVudCk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIFdoZWVsRXZl
bnRIYW5kbGluZ1Jlc3VsdDo6aGFuZGxlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuY3BwCmluZGV4
IGJmZWY5OWFlNjZjYTAwZWFiMGI0MGE4NGM4YmMwZjYzZjllYTg0ZGUuLjBlMjQ3NjRlYzI4NDZi
ODgxNjQ3NGY0MzAxYjE4MTMxODcwNTQyYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHAKQEAg
LTEyOCw3ICsxMjgsOCBAQCBib29sIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlOjpzaG91bGRS
dWJiZXJCYW5kKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hlZQogICAgIC8vIFRoZSBzdGF0
ZWxlc3Mgd2hlZWwgZXZlbnQgZG9lc24ndCB0cmlnZ2VyIHJ1YmJlci1iYW5kLgogICAgIC8vIEFs
c28gcnViYmVyYmFuZCB3aGVuIHdlIHNob3VsZCBibG9jayBzY3JvbGwgcHJvcGFnYXRpb24KICAg
ICAvLyBhdCB0aGlzIG5vZGUsIHdoaWNoIGhhcyBvdmVyc2Nyb2xsIGJlaGF2aW9yIHRoYXQgaXMg
bm90IG5vbmUuCi0gICAgcmV0dXJuIChpc0xhdGNoZWROb2RlKCkgfHwgZXZlbnRUYXJnZXRpbmcg
PT0gRXZlbnRUYXJnZXRpbmc6Ok5vZGVPbmx5IHx8IChpc1Jvb3ROb2RlKCkgJiYgIXdoZWVsRXZl
bnQuaXNOb25HZXN0dXJlRXZlbnQoKSkgfHwgKHNob3VsZEJsb2NrU2Nyb2xsUHJvcGFnYXRpb24o
d2hlZWxFdmVudC5kZWx0YSgpKSAmJiBvdmVyc2Nyb2xsQmVoYXZpb3JBbGxvd3NSdWJiZXJCYW5k
KCkpKTsKKyAgICBhdXRvIHNjcm9sbFByb3BhZ2F0aW9uSW5mbyA9IGNvbXB1dGVTY3JvbGxQcm9w
YWdhdGlvbih3aGVlbEV2ZW50LmRlbHRhKCkpOworICAgIHJldHVybiAoaXNMYXRjaGVkTm9kZSgp
IHx8IGV2ZW50VGFyZ2V0aW5nID09IEV2ZW50VGFyZ2V0aW5nOjpOb2RlT25seSB8fCAoaXNSb290
Tm9kZSgpICYmICF3aGVlbEV2ZW50LmlzTm9uR2VzdHVyZUV2ZW50KCkpIHx8ICggc2Nyb2xsUHJv
cGFnYXRpb25JbmZvLnNob3VsZEJsb2NrU2Nyb2xsUHJvcGFnYXRpb24gJiYgc2Nyb2xsUHJvcGFn
YXRpb25JbmZvLmlzSGFuZGxlZCAmJiBvdmVyc2Nyb2xsQmVoYXZpb3JBbGxvd3NSdWJiZXJCYW5k
KCkpKTsKIH0KIAogYm9vbCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6Y2FuSGFuZGxlV2hl
ZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHdoZWVsRXZlbnQsIEV2ZW50VGFyZ2V0
aW5nIGV2ZW50VGFyZ2V0aW5nKSBjb25zdApAQCAtNDE4LDkgKzQxOSwyNCBAQCBQbGF0Zm9ybVdo
ZWVsRXZlbnQgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6OmV2ZW50Rm9yUHJvcGFnYXRpb24o
Y29uc3QgUGxhdGZvcgogICAgIHJldHVybiB3aGVlbEV2ZW50OwogfQogCi1ib29sIFNjcm9sbGlu
Z1RyZWVTY3JvbGxpbmdOb2RlOjpzaG91bGRCbG9ja1Njcm9sbFByb3BhZ2F0aW9uKGNvbnN0IEZs
b2F0U2l6ZSYgZGVsdGEpIGNvbnN0CitTY3JvbGxQcm9wYWdhdGlvbkluZm8gU2Nyb2xsaW5nVHJl
ZVNjcm9sbGluZ05vZGU6OmNvbXB1dGVTY3JvbGxQcm9wYWdhdGlvbihjb25zdCBGbG9hdFNpemUm
IGRlbHRhKSBjb25zdAogewotICAgIHJldHVybiAoKGhvcml6b250YWxPdmVyc2Nyb2xsQmVoYXZp
b3JQcmV2ZW50c1Byb3BhZ2F0aW9uKCkgfHwgdmVydGljYWxPdmVyc2Nyb2xsQmVoYXZpb3JQcmV2
ZW50c1Byb3BhZ2F0aW9uKCkpICYmICgoaG9yaXpvbnRhbE92ZXJzY3JvbGxCZWhhdmlvclByZXZl
bnRzUHJvcGFnYXRpb24oKSAmJiB2ZXJ0aWNhbE92ZXJzY3JvbGxCZWhhdmlvclByZXZlbnRzUHJv
cGFnYXRpb24oKSkgfHwgKGhvcml6b250YWxPdmVyc2Nyb2xsQmVoYXZpb3JQcmV2ZW50c1Byb3Bh
Z2F0aW9uKCkgJiYgIWRlbHRhLmhlaWdodCgpKSB8fCAodmVydGljYWxPdmVyc2Nyb2xsQmVoYXZp
b3JQcmV2ZW50c1Byb3BhZ2F0aW9uKCkgJiYgIWRlbHRhLndpZHRoKCkpKSk7CisgICAgU2Nyb2xs
UHJvcGFnYXRpb25JbmZvIHByb3BhZ2F0aW9uOworICAgIGlmIChob3Jpem9udGFsT3ZlcnNjcm9s
bEJlaGF2aW9yUHJldmVudHNQcm9wYWdhdGlvbigpIHx8IHZlcnRpY2FsT3ZlcnNjcm9sbEJlaGF2
aW9yUHJldmVudHNQcm9wYWdhdGlvbigpKSB7CisgICAgICAgIGlmIChob3Jpem9udGFsT3ZlcnNj
cm9sbEJlaGF2aW9yUHJldmVudHNQcm9wYWdhdGlvbigpICYmICFkZWx0YS5oZWlnaHQoKSAmJiBk
ZWx0YS53aWR0aCgpKSB7CisgICAgICAgICAgICBwcm9wYWdhdGlvbi5zaG91bGRCbG9ja1Njcm9s
bFByb3BhZ2F0aW9uID0gdHJ1ZTsKKyAgICAgICAgICAgIHByb3BhZ2F0aW9uLmlzSGFuZGxlZCA9
IGZhbHNlOworICAgICAgICAgICAgcmV0dXJuIHByb3BhZ2F0aW9uOworICAgICAgICB9CisKKyAg
ICAgICAgaWYgKChob3Jpem9udGFsT3ZlcnNjcm9sbEJlaGF2aW9yUHJldmVudHNQcm9wYWdhdGlv
bigpICYmIHZlcnRpY2FsT3ZlcnNjcm9sbEJlaGF2aW9yUHJldmVudHNQcm9wYWdhdGlvbigpKQor
ICAgICAgICAgICAgfHwgKGhvcml6b250YWxPdmVyc2Nyb2xsQmVoYXZpb3JQcmV2ZW50c1Byb3Bh
Z2F0aW9uKCkgJiYgIWRlbHRhLmhlaWdodCgpKQorICAgICAgICAgICAgfHwgKHZlcnRpY2FsT3Zl
cnNjcm9sbEJlaGF2aW9yUHJldmVudHNQcm9wYWdhdGlvbigpICYmICFkZWx0YS53aWR0aCgpKSkg
eworICAgICAgICAgICAgcHJvcGFnYXRpb24uc2hvdWxkQmxvY2tTY3JvbGxQcm9wYWdhdGlvbiA9
IHRydWU7CisgICAgICAgICAgICBwcm9wYWdhdGlvbi5pc0hhbmRsZWQgPSB0cnVlOworICAgICAg
ICB9CisgICAgfQorICAgIHJldHVybiBwcm9wYWdhdGlvbjsKIH0KIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nVHJlZVNjcm9sbGluZ05vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Nj
cm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmgKaW5kZXggZDE2ZGNjNGYzM2MxNTM0ZTUwODkzMmM0
ZDU1ZDVmNjI2NmVjZWY4NC4uMDAzMjU3MWRhNjVmZmMyYWViMDhmZThkOWE3NjEwYjkxODBiOWQ2
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJl
ZVNjcm9sbGluZ05vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5oCkBAIC0zOSw2ICszOSwxMSBAQCBjbGFzcyBTY3JvbGxp
bmdUcmVlOwogY2xhc3MgU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOwogc3RydWN0IFdoZWVs
RXZlbnRIYW5kbGluZ1Jlc3VsdDsKIAorc3RydWN0IFNjcm9sbFByb3BhZ2F0aW9uSW5mbyB7Cisg
ICAgYm9vbCBzaG91bGRCbG9ja1Njcm9sbFByb3BhZ2F0aW9uID0gZmFsc2U7CisgICAgYm9vbCBp
c0hhbmRsZWQgPSBmYWxzZTsKK307CisKIGNsYXNzIFdFQkNPUkVfRVhQT1JUIFNjcm9sbGluZ1Ry
ZWVTY3JvbGxpbmdOb2RlIDogcHVibGljIFNjcm9sbGluZ1RyZWVOb2RlIHsKICAgICBmcmllbmQg
Y2xhc3MgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZTsKICNpZiBQTEFURk9STShN
QUMpCkBAIC0xNjQsNyArMTY5LDcgQEAgcHJvdGVjdGVkOgogICAgIGJvb2wgaG9yaXpvbnRhbE92
ZXJzY3JvbGxCZWhhdmlvclByZXZlbnRzUHJvcGFnYXRpb24oKSBjb25zdCB7IHJldHVybiBtX3Nj
cm9sbGFibGVBcmVhUGFyYW1ldGVycy5ob3Jpem9udGFsT3ZlcnNjcm9sbEJlaGF2aW9yICE9IE92
ZXJzY3JvbGxCZWhhdmlvcjo6QXV0bzsgfQogICAgIGJvb2wgdmVydGljYWxPdmVyc2Nyb2xsQmVo
YXZpb3JQcmV2ZW50c1Byb3BhZ2F0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxhYmxlQXJl
YVBhcmFtZXRlcnMudmVydGljYWxPdmVyc2Nyb2xsQmVoYXZpb3IgIT0gT3ZlcnNjcm9sbEJlaGF2
aW9yOjpBdXRvOyB9CiAgICAgUGxhdGZvcm1XaGVlbEV2ZW50IGV2ZW50Rm9yUHJvcGFnYXRpb24o
Y29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JikgY29uc3Q7Ci0gICAgYm9vbCBzaG91bGRCbG9ja1Nj
cm9sbFByb3BhZ2F0aW9uKGNvbnN0IEZsb2F0U2l6ZSYpIGNvbnN0OworICAgIFNjcm9sbFByb3Bh
Z2F0aW9uSW5mbyBjb21wdXRlU2Nyb2xsUHJvcGFnYXRpb24oY29uc3QgRmxvYXRTaXplJikgY29u
c3Q7CiAgICAgYm9vbCBvdmVyc2Nyb2xsQmVoYXZpb3JBbGxvd3NSdWJiZXJCYW5kKCkgY29uc3Qg
eyByZXR1cm4gbV9zY3JvbGxhYmxlQXJlYVBhcmFtZXRlcnMuaG9yaXpvbnRhbE92ZXJzY3JvbGxC
ZWhhdmlvciAhPSBPdmVyc2Nyb2xsQmVoYXZpb3I6Ok5vbmUgfHwgIG1fc2Nyb2xsYWJsZUFyZWFQ
YXJhbWV0ZXJzLnZlcnRpY2FsT3ZlcnNjcm9sbEJlaGF2aW9yICE9IE92ZXJzY3JvbGxCZWhhdmlv
cjo6Tm9uZTsgfQogICAgIGJvb2wgc2hvdWxkUnViYmVyQmFuZChjb25zdCBQbGF0Zm9ybVdoZWVs
RXZlbnQmLCBFdmVudFRhcmdldGluZykgY29uc3Q7CiAgICAgdm9pZCBkdW1wUHJvcGVydGllcyhX
VEY6OlRleHRTdHJlYW0mLCBPcHRpb25TZXQ8U2Nyb2xsaW5nU3RhdGVUcmVlQXNUZXh0QmVoYXZp
b3I+KSBjb25zdCBvdmVycmlkZTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>454525</attachid>
            <date>2022-03-11 19:19:11 -0800</date>
            <delta_ts>2022-03-16 17:03:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235851-20220311191910.patch</filename>
            <type>text/plain</type>
            <size>13132</size>
            <attacher name="Nikos Mouchtaris">nmouchtaris</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwODA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmQ0ZjBlZDEwZjRhOTg4
MWZmMTdjZTQ3YTQ2NTU4OWJjNmIzZjQyNi4uZGExNmE2ZDQzN2U0NTI2OWU2MWYzN2NmMzU0NDE5
M2Q1OTlmMmYyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIyLTAzLTExICBOaWtv
bGFvcyBNb3VjaHRhcmlzICA8bm1vdWNodGFyaXNAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCB0
ZXN0IGZvciBzd2lwZSBuYXZpZ2F0aW9uIHdpdGggb3ZlcnNjcm9sbC1iZWhhdmlvcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1ODUxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmUtYWRkIGNvZGUgdG8g
YWxsb3cgaGlzdG9yeSBzd2lwZS4gRG9lcyBzbyBieSByZXR1cm5pbmcgdW5oYW5kbGVkIGlmIGEg
aG9yaXpvbnRhbAorICAgICAgICBzd2lwZSBpcyB1c2VkLiBBbHNvIGFkZCB0ZXN0IHRvIG1ha2Ug
c3VyZSBoaXN0b3J5IHN3aXBlcyBhcmUgYWxsb3dlZCBpbiBzY3JvbGxpbmcgbm9kZXMKKyAgICAg
ICAgd2l0aCBvdmVyc2Nyb2xsLWJlaGF2aW9yLgorCisgICAgICAgIFRlc3Q6IHNjcm9sbGluZ2Nv
b3JkaW5hdG9yL21hYy9sYXRjaGluZy9ob3Jpem9udGFsLW92ZXJmbG93LWJhY2stc3dpcGUtb3Zl
cnNjcm9sbC1iZWhhdmlvci5odG1sCisKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdUcmVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWU6OmhhbmRsZVdoZWVs
RXZlbnRXaXRoTm9kZSk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNj
cm9sbGluZ05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZVNjcm9sbGlu
Z05vZGU6OnNob3VsZFJ1YmJlckJhbmQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
aW5nVHJlZVNjcm9sbGluZ05vZGU6OmNvbXB1dGVTY3JvbGxQcm9wYWdhdGlvbiBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6c2hvdWxkQmxvY2tT
Y3JvbGxQcm9wYWdhdGlvbiBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9zY3JvbGxp
bmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuaDoKKwogMjAyMi0wMy0wMyAgU2lodWkgTGl1
ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KIAogICAgICAgICBUZXh0IG1hbmlwdWxhdGlvbiBkb2Vz
IG5vdCBvYnNlcnZlIHVwZGF0ZWQgdGl0bGUgZWxlbWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcAppbmRleCA1YTUxMjRjNmE4MGFjMzI1ZGY5
OTU5ZDU0YTJiZmExNjJiMjQ4OTk2Li5kOTI2YjdjNjhiODhiM2Q1Njg4OTA2ODhiNzVkOTE3N2Fm
NWQxNzQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdUcmVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdU
cmVlLmNwcApAQCAtMjE3LDcgKzIxNywxMCBAQCBXaGVlbEV2ZW50SGFuZGxpbmdSZXN1bHQgU2Ny
b2xsaW5nVHJlZTo6aGFuZGxlV2hlZWxFdmVudFdpdGhOb2RlKGNvbnN0IFBsYXRmb3JtVwogICAg
ICAgICAgICAgaWYgKHJlc3VsdC5uZWVkc01haW5UaHJlYWRQcm9jZXNzaW5nKCkgfHwgZXZlbnRU
YXJnZXRpbmcgIT0gRXZlbnRUYXJnZXRpbmc6OlByb3BhZ2F0ZSkKICAgICAgICAgICAgICAgICBy
ZXR1cm4gcmVzdWx0OwogICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAoc2Nyb2xsaW5nTm9k
ZS5zaG91bGRCbG9ja1Njcm9sbFByb3BhZ2F0aW9uKGFkanVzdGVkV2hlZWxFdmVudC5kZWx0YSgp
KSkgeworICAgICAgICAgICAgYXV0byBzY3JvbGxQcm9wYWdhdGlvbkluZm8gPSBzY3JvbGxpbmdO
b2RlLmNvbXB1dGVTY3JvbGxQcm9wYWdhdGlvbihhZGp1c3RlZFdoZWVsRXZlbnQuZGVsdGEoKSk7
CisgICAgICAgICAgICBpZiAoc2Nyb2xsUHJvcGFnYXRpb25JbmZvLnNob3VsZEJsb2NrU2Nyb2xs
UHJvcGFnYXRpb24pIHsKKyAgICAgICAgICAgICAgICBpZiAoIXNjcm9sbFByb3BhZ2F0aW9uSW5m
by5pc0hhbmRsZWQpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBXaGVlbEV2ZW50SGFuZGxp
bmdSZXN1bHQ6OnVuaGFuZGxlZCgpOwogICAgICAgICAgICAgICAgIG1fbGF0Y2hpbmdDb250cm9s
bGVyLm5vZGVEaWRIYW5kbGVFdmVudChzY3JvbGxpbmdOb2RlLnNjcm9sbGluZ05vZGVJRCgpLCBw
cm9jZXNzaW5nU3RlcHMsIGFkanVzdGVkV2hlZWxFdmVudCwgbV9hbGxvd0xhdGNoaW5nKTsKICAg
ICAgICAgICAgICAgICBtX2dlc3R1cmVTdGF0ZS5ub2RlRGlkSGFuZGxlRXZlbnQoc2Nyb2xsaW5n
Tm9kZS5zY3JvbGxpbmdOb2RlSUQoKSwgYWRqdXN0ZWRXaGVlbEV2ZW50KTsKICAgICAgICAgICAg
ICAgICByZXR1cm4gV2hlZWxFdmVudEhhbmRsaW5nUmVzdWx0OjpoYW5kbGVkKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5n
Tm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Ny
b2xsaW5nTm9kZS5jcHAKaW5kZXggYmZlZjk5YWU2NmNhMDBlYWIwYjQwYTg0YzhiYzBmNjNmOWVh
ODRkZS4uMGUyNDc2NGVjMjg0NmI4ODE2NDc0ZjQzMDFiMTgxMzE4NzA1NDJiNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05v
ZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVT
Y3JvbGxpbmdOb2RlLmNwcApAQCAtMTI4LDcgKzEyOCw4IEBAIGJvb2wgU2Nyb2xsaW5nVHJlZVNj
cm9sbGluZ05vZGU6OnNob3VsZFJ1YmJlckJhbmQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiB3
aGVlCiAgICAgLy8gVGhlIHN0YXRlbGVzcyB3aGVlbCBldmVudCBkb2Vzbid0IHRyaWdnZXIgcnVi
YmVyLWJhbmQuCiAgICAgLy8gQWxzbyBydWJiZXJiYW5kIHdoZW4gd2Ugc2hvdWxkIGJsb2NrIHNj
cm9sbCBwcm9wYWdhdGlvbgogICAgIC8vIGF0IHRoaXMgbm9kZSwgd2hpY2ggaGFzIG92ZXJzY3Jv
bGwgYmVoYXZpb3IgdGhhdCBpcyBub3Qgbm9uZS4KLSAgICByZXR1cm4gKGlzTGF0Y2hlZE5vZGUo
KSB8fCBldmVudFRhcmdldGluZyA9PSBFdmVudFRhcmdldGluZzo6Tm9kZU9ubHkgfHwgKGlzUm9v
dE5vZGUoKSAmJiAhd2hlZWxFdmVudC5pc05vbkdlc3R1cmVFdmVudCgpKSB8fCAoc2hvdWxkQmxv
Y2tTY3JvbGxQcm9wYWdhdGlvbih3aGVlbEV2ZW50LmRlbHRhKCkpICYmIG92ZXJzY3JvbGxCZWhh
dmlvckFsbG93c1J1YmJlckJhbmQoKSkpOworICAgIGF1dG8gc2Nyb2xsUHJvcGFnYXRpb25JbmZv
ID0gY29tcHV0ZVNjcm9sbFByb3BhZ2F0aW9uKHdoZWVsRXZlbnQuZGVsdGEoKSk7CisgICAgcmV0
dXJuIChpc0xhdGNoZWROb2RlKCkgfHwgZXZlbnRUYXJnZXRpbmcgPT0gRXZlbnRUYXJnZXRpbmc6
Ok5vZGVPbmx5IHx8IChpc1Jvb3ROb2RlKCkgJiYgIXdoZWVsRXZlbnQuaXNOb25HZXN0dXJlRXZl
bnQoKSkgfHwgKCBzY3JvbGxQcm9wYWdhdGlvbkluZm8uc2hvdWxkQmxvY2tTY3JvbGxQcm9wYWdh
dGlvbiAmJiBzY3JvbGxQcm9wYWdhdGlvbkluZm8uaXNIYW5kbGVkICYmIG92ZXJzY3JvbGxCZWhh
dmlvckFsbG93c1J1YmJlckJhbmQoKSkpOwogfQogCiBib29sIFNjcm9sbGluZ1RyZWVTY3JvbGxp
bmdOb2RlOjpjYW5IYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hl
ZWxFdmVudCwgRXZlbnRUYXJnZXRpbmcgZXZlbnRUYXJnZXRpbmcpIGNvbnN0CkBAIC00MTgsOSAr
NDE5LDI0IEBAIFBsYXRmb3JtV2hlZWxFdmVudCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6
ZXZlbnRGb3JQcm9wYWdhdGlvbihjb25zdCBQbGF0Zm9yCiAgICAgcmV0dXJuIHdoZWVsRXZlbnQ7
CiB9CiAKLWJvb2wgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6OnNob3VsZEJsb2NrU2Nyb2xs
UHJvcGFnYXRpb24oY29uc3QgRmxvYXRTaXplJiBkZWx0YSkgY29uc3QKK1Njcm9sbFByb3BhZ2F0
aW9uSW5mbyBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6Y29tcHV0ZVNjcm9sbFByb3BhZ2F0
aW9uKGNvbnN0IEZsb2F0U2l6ZSYgZGVsdGEpIGNvbnN0CiB7Ci0gICAgcmV0dXJuICgoaG9yaXpv
bnRhbE92ZXJzY3JvbGxCZWhhdmlvclByZXZlbnRzUHJvcGFnYXRpb24oKSB8fCB2ZXJ0aWNhbE92
ZXJzY3JvbGxCZWhhdmlvclByZXZlbnRzUHJvcGFnYXRpb24oKSkgJiYgKChob3Jpem9udGFsT3Zl
cnNjcm9sbEJlaGF2aW9yUHJldmVudHNQcm9wYWdhdGlvbigpICYmIHZlcnRpY2FsT3ZlcnNjcm9s
bEJlaGF2aW9yUHJldmVudHNQcm9wYWdhdGlvbigpKSB8fCAoaG9yaXpvbnRhbE92ZXJzY3JvbGxC
ZWhhdmlvclByZXZlbnRzUHJvcGFnYXRpb24oKSAmJiAhZGVsdGEuaGVpZ2h0KCkpIHx8ICh2ZXJ0
aWNhbE92ZXJzY3JvbGxCZWhhdmlvclByZXZlbnRzUHJvcGFnYXRpb24oKSAmJiAhZGVsdGEud2lk
dGgoKSkpKTsKKyAgICBTY3JvbGxQcm9wYWdhdGlvbkluZm8gcHJvcGFnYXRpb247CisgICAgaWYg
KGhvcml6b250YWxPdmVyc2Nyb2xsQmVoYXZpb3JQcmV2ZW50c1Byb3BhZ2F0aW9uKCkgfHwgdmVy
dGljYWxPdmVyc2Nyb2xsQmVoYXZpb3JQcmV2ZW50c1Byb3BhZ2F0aW9uKCkpIHsKKyAgICAgICAg
aWYgKGhvcml6b250YWxPdmVyc2Nyb2xsQmVoYXZpb3JQcmV2ZW50c1Byb3BhZ2F0aW9uKCkgJiYg
IWRlbHRhLmhlaWdodCgpICYmIGRlbHRhLndpZHRoKCkpIHsKKyAgICAgICAgICAgIHByb3BhZ2F0
aW9uLnNob3VsZEJsb2NrU2Nyb2xsUHJvcGFnYXRpb24gPSB0cnVlOworICAgICAgICAgICAgcHJv
cGFnYXRpb24uaXNIYW5kbGVkID0gZmFsc2U7CisgICAgICAgICAgICByZXR1cm4gcHJvcGFnYXRp
b247CisgICAgICAgIH0KKworICAgICAgICBpZiAoKGhvcml6b250YWxPdmVyc2Nyb2xsQmVoYXZp
b3JQcmV2ZW50c1Byb3BhZ2F0aW9uKCkgJiYgdmVydGljYWxPdmVyc2Nyb2xsQmVoYXZpb3JQcmV2
ZW50c1Byb3BhZ2F0aW9uKCkpCisgICAgICAgICAgICB8fCAoaG9yaXpvbnRhbE92ZXJzY3JvbGxC
ZWhhdmlvclByZXZlbnRzUHJvcGFnYXRpb24oKSAmJiAhZGVsdGEuaGVpZ2h0KCkpCisgICAgICAg
ICAgICB8fCAodmVydGljYWxPdmVyc2Nyb2xsQmVoYXZpb3JQcmV2ZW50c1Byb3BhZ2F0aW9uKCkg
JiYgIWRlbHRhLndpZHRoKCkpKSB7CisgICAgICAgICAgICBwcm9wYWdhdGlvbi5zaG91bGRCbG9j
a1Njcm9sbFByb3BhZ2F0aW9uID0gdHJ1ZTsKKyAgICAgICAgICAgIHByb3BhZ2F0aW9uLmlzSGFu
ZGxlZCA9IHRydWU7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIHByb3BhZ2F0aW9uOwog
fQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuaAppbmRleCBkMTZk
Y2M0ZjMzYzE1MzRlNTA4OTMyYzRkNTVkNWY2MjY2ZWNlZjg0Li4wMDMyNTcxZGE2NWZmYzJhZWIw
OGZlOGQ5YTc2MTBiOTE4MGI5ZDYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmgKQEAgLTM5LDYgKzM5
LDExIEBAIGNsYXNzIFNjcm9sbGluZ1RyZWU7CiBjbGFzcyBTY3JvbGxpbmdTdGF0ZVNjcm9sbGlu
Z05vZGU7CiBzdHJ1Y3QgV2hlZWxFdmVudEhhbmRsaW5nUmVzdWx0OwogCitzdHJ1Y3QgU2Nyb2xs
UHJvcGFnYXRpb25JbmZvIHsKKyAgICBib29sIHNob3VsZEJsb2NrU2Nyb2xsUHJvcGFnYXRpb24g
PSBmYWxzZTsKKyAgICBib29sIGlzSGFuZGxlZCA9IGZhbHNlOworfTsKKwogY2xhc3MgV0VCQ09S
RV9FWFBPUlQgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUgOiBwdWJsaWMgU2Nyb2xsaW5nVHJl
ZU5vZGUgewogICAgIGZyaWVuZCBjbGFzcyBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVn
YXRlOwogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTE2NCw3ICsxNjksNyBAQCBwcm90ZWN0ZWQ6CiAg
ICAgYm9vbCBob3Jpem9udGFsT3ZlcnNjcm9sbEJlaGF2aW9yUHJldmVudHNQcm9wYWdhdGlvbigp
IGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsYWJsZUFyZWFQYXJhbWV0ZXJzLmhvcml6b250YWxPdmVy
c2Nyb2xsQmVoYXZpb3IgIT0gT3ZlcnNjcm9sbEJlaGF2aW9yOjpBdXRvOyB9CiAgICAgYm9vbCB2
ZXJ0aWNhbE92ZXJzY3JvbGxCZWhhdmlvclByZXZlbnRzUHJvcGFnYXRpb24oKSBjb25zdCB7IHJl
dHVybiBtX3Njcm9sbGFibGVBcmVhUGFyYW1ldGVycy52ZXJ0aWNhbE92ZXJzY3JvbGxCZWhhdmlv
ciAhPSBPdmVyc2Nyb2xsQmVoYXZpb3I6OkF1dG87IH0KICAgICBQbGF0Zm9ybVdoZWVsRXZlbnQg
ZXZlbnRGb3JQcm9wYWdhdGlvbihjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmKSBjb25zdDsKLSAg
ICBib29sIHNob3VsZEJsb2NrU2Nyb2xsUHJvcGFnYXRpb24oY29uc3QgRmxvYXRTaXplJikgY29u
c3Q7CisgICAgU2Nyb2xsUHJvcGFnYXRpb25JbmZvIGNvbXB1dGVTY3JvbGxQcm9wYWdhdGlvbihj
b25zdCBGbG9hdFNpemUmKSBjb25zdDsKICAgICBib29sIG92ZXJzY3JvbGxCZWhhdmlvckFsbG93
c1J1YmJlckJhbmQoKSBjb25zdCB7IHJldHVybiBtX3Njcm9sbGFibGVBcmVhUGFyYW1ldGVycy5o
b3Jpem9udGFsT3ZlcnNjcm9sbEJlaGF2aW9yICE9IE92ZXJzY3JvbGxCZWhhdmlvcjo6Tm9uZSB8
fCAgbV9zY3JvbGxhYmxlQXJlYVBhcmFtZXRlcnMudmVydGljYWxPdmVyc2Nyb2xsQmVoYXZpb3Ig
IT0gT3ZlcnNjcm9sbEJlaGF2aW9yOjpOb25lOyB9CiAgICAgYm9vbCBzaG91bGRSdWJiZXJCYW5k
KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYsIEV2ZW50VGFyZ2V0aW5nKSBjb25zdDsKICAgICB2
b2lkIGR1bXBQcm9wZXJ0aWVzKFdURjo6VGV4dFN0cmVhbSYsIE9wdGlvblNldDxTY3JvbGxpbmdT
dGF0ZVRyZWVBc1RleHRCZWhhdmlvcj4pIGNvbnN0IG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDRjNzU0OGRl
NTUyZjU4YWUyYjA3YzA5NDY4MjA5OTMxZTI4NmUyODAuLjZhNmVhNTEzMzMxMzViMmU0MWMyYWJi
NzQ0OGE0MjRmNzMzNDNhZTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMi0wMy0xMSAgTmlr
b2xhb3MgTW91Y2h0YXJpcyAgPG5tb3VjaHRhcmlzQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQg
dGVzdCBmb3Igc3dpcGUgbmF2aWdhdGlvbiB3aXRoIG92ZXJzY3JvbGwtYmVoYXZpb3IKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTg1MQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc2Nyb2xsaW5nY29v
cmRpbmF0b3IvbWFjL2xhdGNoaW5nL2hvcml6b250YWwtb3ZlcmZsb3ctYmFjay1zd2lwZS1vdmVy
c2Nyb2xsLWJlaGF2aW9yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc2Nyb2xsaW5n
Y29vcmRpbmF0b3IvbWFjL2xhdGNoaW5nL2hvcml6b250YWwtb3ZlcmZsb3ctYmFjay1zd2lwZS1v
dmVyc2Nyb2xsLWJlaGF2aW9yLmh0bWw6IEFkZGVkLgorCiAyMDIyLTAzLTAzICBTaW1vbiBGcmFz
ZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIG5hc2EuZ292IHBhZ2Ugd2l0
aCBmaXhlZCBiYWNrZ3JvdW5kcyBwYWludHMgaW5jb3JyZWN0bHkgb24gc2Nyb2xsCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zY3JvbGxpbmdjb29yZGluYXRvci9tYWMvbGF0Y2hpbmcvaG9yaXpv
bnRhbC1vdmVyZmxvdy1iYWNrLXN3aXBlLW92ZXJzY3JvbGwtYmVoYXZpb3ItZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvc2Nyb2xsaW5nY29vcmRpbmF0b3IvbWFjL2xhdGNoaW5nL2hvcml6b250
YWwtb3ZlcmZsb3ctYmFjay1zd2lwZS1vdmVyc2Nyb2xsLWJlaGF2aW9yLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43MGRjMzE5YTdmOGE0NDA5ODI2OTUzZDlhYTYwMDcwNDk4MjQ2YTFmCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc2Nyb2xsaW5nY29vcmRpbmF0b3IvbWFjL2xhdGNo
aW5nL2hvcml6b250YWwtb3ZlcmZsb3ctYmFjay1zd2lwZS1vdmVyc2Nyb2xsLWJlaGF2aW9yLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitTY3JvbGxzIHZlcnRpY2FsbHkKK1Njcm9sbHMg
aG9yaXpvbnRhbGx5CitBIGJhY2sgc3dpcGUsIG92ZXIgYSBzY3JvbGxlZC10by1sZWZ0IG92ZXJm
bG93LCBzaG91bGQgc3RhcnQgYSBuYXZpZ2F0aW9uIGdlc3R1cmUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitTd2lwZSB0byB0aGUgbGVmdAorUEFTUyBtaW5YT2Zmc2V0IGlzIDAK
K1BBU1MgbWF4WE9mZnNldCBpcyAtMTAwMAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Njcm9sbGluZ2Nv
b3JkaW5hdG9yL21hYy9sYXRjaGluZy9ob3Jpem9udGFsLW92ZXJmbG93LWJhY2stc3dpcGUtb3Zl
cnNjcm9sbC1iZWhhdmlvci5odG1sIGIvTGF5b3V0VGVzdHMvc2Nyb2xsaW5nY29vcmRpbmF0b3Iv
bWFjL2xhdGNoaW5nL2hvcml6b250YWwtb3ZlcmZsb3ctYmFjay1zd2lwZS1vdmVyc2Nyb2xsLWJl
aGF2aW9yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjVjNDYzMWZhYzJkN2Y0OGE1YjZlZmFkZTUxYzQ3NjAz
OTJhN2UwNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Njcm9sbGluZ2Nvb3JkaW5h
dG9yL21hYy9sYXRjaGluZy9ob3Jpem9udGFsLW92ZXJmbG93LWJhY2stc3dpcGUtb3ZlcnNjcm9s
bC1iZWhhdmlvci5odG1sCkBAIC0wLDAgKzEsMTE2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyBBc3luY092ZXJmbG93U2Nyb2xsaW5nRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAgICAgICAgYm9keSB7CisgICAgICAg
ICAgICBoZWlnaHQ6IDIwMDBweDsKKyAgICAgICAgfQorCisgICAgICAgIC5zY3JvbGxlciB7Cisg
ICAgICAgICAgICBtYXJnaW46IDEwcHg7CisgICAgICAgICAgICB3aWR0aDogNTAwcHg7CisgICAg
ICAgICAgICBoZWlnaHQ6IDQwMHB4OworICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87CisgICAg
ICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBibGFjazsKKyAgICAgICAgfQorICAgICAgICAKKyAg
ICAgICAgLmhvcml6b250YWwgLnNjcm9sbGVyIHsKKyAgICAgICAgICAgIHdpZHRoOiA0MDBweDsK
KyAgICAgICAgICAgIGhlaWdodDogNDAwcHg7CisgICAgICAgICAgICBtYXJnaW46IDEwcHg7Cisg
ICAgICAgICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluOworICAgICAgICB9CisgICAg
ICAgIAorICAgICAgICAuZmlsbGVyIHsKKyAgICAgICAgICAgIGhlaWdodDogMjAwcHg7CisgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgIG1hcmdpbjogMTBweDsKKyAgICAgICAg
ICAgIGJhY2tncm91bmQtY29sb3I6IHNpbHZlcjsKKyAgICAgICAgfQorCisgICAgICAgIC5ob3Jp
em9udGFsIC5maWxsZXIgeworICAgICAgICAgICAgaGVpZ2h0OiA4MCU7CisgICAgICAgICAgICB3
aWR0aDogMjAwJTsKKyAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNpbHZlcjsKKyAgICAg
ICAgfQorICAgIDwvc3R5bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgIAorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIHZhciBtaW5YT2Zmc2V0ID0gMDsKKyAg
ICAgICAgdmFyIG1heFhPZmZzZXQgPSAtMTAwMDsKKyAgICAgICAgCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIG9uU2Nyb2xsQ29tcGxldGlvbih4LCB5KQorICAgICAgICB7CisgICAgICAgICAgICBl
dmVudFNlbmRlci5tb25pdG9yV2hlZWxFdmVudHMoKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVy
Lm1vdXNlTW92ZVRvKHgsIHkpOworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxC
eVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDEsIDAsICJiZWdhbiIsICJub25lIik7CisgICAg
ICAgICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFz
ZXMoMTAsIDAsICJjaGFuZ2VkIiwgIm5vbmUiKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1v
dXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygxMCwgMCwgImNoYW5nZWQiLCAi
bm9uZSIpOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYW5pbWF0aW9uRnJhbWUoKTsKKyAg
ICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBo
YXNlcygxMCwgMCwgImNoYW5nZWQiLCAibm9uZSIpOworICAgICAgICAgICAgZXZlbnRTZW5kZXIu
bW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIDAsICJlbmRlZCIsICJu
b25lIik7CisgICAgICAgICAgICByZXR1cm4gVUlIZWxwZXIud2FpdEZvclNjcm9sbENvbXBsZXRp
b24oKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gb25Td2lw
ZUNhbGxiYWNrKCkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKHJl
c29sdmUgPT4geworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbERpZEJlZ2luU3dp
cGVDYWxsYmFjayhyZXNvbHZlKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gc2Nyb2xsVGVzdCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCdBIGJhY2sgc3dpcGUsIG92ZXIgYSBzY3JvbGxlZC10by1sZWZ0IG92ZXJmbG93
LCBzaG91bGQgc3RhcnQgYSBuYXZpZ2F0aW9uIGdlc3R1cmUuJyk7CisKKyAgICAgICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0TmF2
aWdhdGlvbkdlc3R1cmVzRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAg
ICAgaGlzdG9yeS5wdXNoU3RhdGUoeyBuYW1lOiAnYmFja3N0YXRlJyB9LCAnYmFjaycpOworCisg
ICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgKCkgPT4geworICAg
ICAgICAgICAgICAgIG1pblhPZmZzZXQgPSBNYXRoLm1pbihtaW5YT2Zmc2V0LCB3aW5kb3cucGFn
ZVhPZmZzZXQpOworICAgICAgICAgICAgICAgIG1heFhPZmZzZXQgPSBNYXRoLm1heChtYXhYT2Zm
c2V0LCB3aW5kb3cucGFnZVhPZmZzZXQpOworICAgICAgICAgICAgfSwgZmFsc2UpOworCisgICAg
ICAgICAgICBpZiAoIXdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgY29uc3QgbW91c2VMb2NhdGlvblggPSAxNTA7IC8vIE92ZXIgdGhlIGhvcml6b250
YWxseSBzY3JvbGxhYmxlIG92ZXJmbG93LgorICAgICAgICAgICAgY29uc3QgbW91c2VMb2NhdGlv
blkgPSAzMDA7CisKKyAgICAgICAgICAgIGRlYnVnKCdTd2lwZSB0byB0aGUgbGVmdCcpOworICAg
ICAgICAgICAgCisgICAgICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChbb25Td2lwZUNhbGxiYWNr
KCksIG9uU2Nyb2xsQ29tcGxldGlvbihtb3VzZUxvY2F0aW9uWCwgbW91c2VMb2NhdGlvblkpXSk7
CisKKyAgICAgICAgICAgIC8vIFNob3VsZCBub3QgaGF2ZSByZWNlaXZlZCBhbnkgc2Nyb2xsIGV2
ZW50cy4KKyAgICAgICAgICAgIHNob3VsZEJlKCdtaW5YT2Zmc2V0JywgJzAnKTsKKyAgICAgICAg
ICAgIHNob3VsZEJlKCdtYXhYT2Zmc2V0JywgJy0xMDAwJyk7CisKKyAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICB9CisKKyAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIo
J2xvYWQnLCAoKSA9PiB7CisgICAgICAgICAgICBzY3JvbGxUZXN0KCk7CisgICAgICAgIH0sIGZh
bHNlKTsKKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgaWQ9Im91dGVy
IiBjbGFzcz0ic2Nyb2xsZXIiPgorICAgICAgICA8ZGl2IGNsYXNzPSJmaWxsZXIiPlNjcm9sbHMg
dmVydGljYWxseTwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJpbm5lciIgY2xhc3M9Imhvcml6b250
YWwgc2Nyb2xsZXIiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmlsbGVyIj5TY3JvbGxzIGhv
cml6b250YWxseTwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZmls
bGVyIj48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="482190"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455022</attachid>
            <date>2022-03-17 13:50:20 -0700</date>
            <delta_ts>2022-03-18 15:00:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235851-20220317135019.patch</filename>
            <type>text/plain</type>
            <size>13147</size>
            <attacher name="Nikos Mouchtaris">nmouchtaris</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwODA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmQ0ZjBlZDEwZjRhOTg4
MWZmMTdjZTQ3YTQ2NTU4OWJjNmIzZjQyNi4uZDdjZjZjNjAwNzg1MjRjNTc1MzRjNTI0MTFiZmU2
YmMyYmVjY2MwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIyLTAzLTExICBOaWtv
bGFvcyBNb3VjaHRhcmlzICA8bm1vdWNodGFyaXNAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93
IGhpc3Rvcnkgc3dpcGUgaW4gc2Nyb2xsZXIgd2l0aCBvdmVyc2Nyb2xsLWJlaGF2aW9yCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzU4NTEKKworICAg
ICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgUmUtYWRkIGNvZGUgdG8g
YWxsb3cgaGlzdG9yeSBzd2lwZS4gRG9lcyBzbyBieSByZXR1cm5pbmcgdW5oYW5kbGVkIGlmIGEg
aG9yaXpvbnRhbAorICAgICAgICBzd2lwZSBpcyB1c2VkLiBBbHNvIGFkZCB0ZXN0IHRvIG1ha2Ug
c3VyZSBoaXN0b3J5IHN3aXBlcyBhcmUgYWxsb3dlZCBpbiBzY3JvbGxpbmcgbm9kZXMKKyAgICAg
ICAgd2l0aCBvdmVyc2Nyb2xsLWJlaGF2aW9yLgorCisgICAgICAgIFRlc3Q6IHNjcm9sbGluZ2Nv
b3JkaW5hdG9yL21hYy9sYXRjaGluZy9ob3Jpem9udGFsLW92ZXJmbG93LWJhY2stc3dpcGUtb3Zl
cnNjcm9sbC1iZWhhdmlvci5odG1sCisKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdUcmVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWU6OmhhbmRsZVdoZWVs
RXZlbnRXaXRoTm9kZSk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNj
cm9sbGluZ05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZVNjcm9sbGlu
Z05vZGU6OnNob3VsZFJ1YmJlckJhbmQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
aW5nVHJlZVNjcm9sbGluZ05vZGU6OmNvbXB1dGVTY3JvbGxQcm9wYWdhdGlvbiBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6c2hvdWxkQmxvY2tT
Y3JvbGxQcm9wYWdhdGlvbiBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9zY3JvbGxp
bmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuaDoKKwogMjAyMi0wMy0wMyAgU2lodWkgTGl1
ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KIAogICAgICAgICBUZXh0IG1hbmlwdWxhdGlvbiBkb2Vz
IG5vdCBvYnNlcnZlIHVwZGF0ZWQgdGl0bGUgZWxlbWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcAppbmRleCA1YTUxMjRjNmE4MGFjMzI1ZGY5
OTU5ZDU0YTJiZmExNjJiMjQ4OTk2Li5kOTI2YjdjNjhiODhiM2Q1Njg4OTA2ODhiNzVkOTE3N2Fm
NWQxNzQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdUcmVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdU
cmVlLmNwcApAQCAtMjE3LDcgKzIxNywxMCBAQCBXaGVlbEV2ZW50SGFuZGxpbmdSZXN1bHQgU2Ny
b2xsaW5nVHJlZTo6aGFuZGxlV2hlZWxFdmVudFdpdGhOb2RlKGNvbnN0IFBsYXRmb3JtVwogICAg
ICAgICAgICAgaWYgKHJlc3VsdC5uZWVkc01haW5UaHJlYWRQcm9jZXNzaW5nKCkgfHwgZXZlbnRU
YXJnZXRpbmcgIT0gRXZlbnRUYXJnZXRpbmc6OlByb3BhZ2F0ZSkKICAgICAgICAgICAgICAgICBy
ZXR1cm4gcmVzdWx0OwogICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAoc2Nyb2xsaW5nTm9k
ZS5zaG91bGRCbG9ja1Njcm9sbFByb3BhZ2F0aW9uKGFkanVzdGVkV2hlZWxFdmVudC5kZWx0YSgp
KSkgeworICAgICAgICAgICAgYXV0byBzY3JvbGxQcm9wYWdhdGlvbkluZm8gPSBzY3JvbGxpbmdO
b2RlLmNvbXB1dGVTY3JvbGxQcm9wYWdhdGlvbihhZGp1c3RlZFdoZWVsRXZlbnQuZGVsdGEoKSk7
CisgICAgICAgICAgICBpZiAoc2Nyb2xsUHJvcGFnYXRpb25JbmZvLnNob3VsZEJsb2NrU2Nyb2xs
UHJvcGFnYXRpb24pIHsKKyAgICAgICAgICAgICAgICBpZiAoIXNjcm9sbFByb3BhZ2F0aW9uSW5m
by5pc0hhbmRsZWQpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBXaGVlbEV2ZW50SGFuZGxp
bmdSZXN1bHQ6OnVuaGFuZGxlZCgpOwogICAgICAgICAgICAgICAgIG1fbGF0Y2hpbmdDb250cm9s
bGVyLm5vZGVEaWRIYW5kbGVFdmVudChzY3JvbGxpbmdOb2RlLnNjcm9sbGluZ05vZGVJRCgpLCBw
cm9jZXNzaW5nU3RlcHMsIGFkanVzdGVkV2hlZWxFdmVudCwgbV9hbGxvd0xhdGNoaW5nKTsKICAg
ICAgICAgICAgICAgICBtX2dlc3R1cmVTdGF0ZS5ub2RlRGlkSGFuZGxlRXZlbnQoc2Nyb2xsaW5n
Tm9kZS5zY3JvbGxpbmdOb2RlSUQoKSwgYWRqdXN0ZWRXaGVlbEV2ZW50KTsKICAgICAgICAgICAg
ICAgICByZXR1cm4gV2hlZWxFdmVudEhhbmRsaW5nUmVzdWx0OjpoYW5kbGVkKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5n
Tm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Ny
b2xsaW5nTm9kZS5jcHAKaW5kZXggYmZlZjk5YWU2NmNhMDBlYWIwYjQwYTg0YzhiYzBmNjNmOWVh
ODRkZS4uZTI1OTk1N2ZhYmYxMWU2MWU4MGU1ZjllNjEyZTQyODNmNGFjNDhlOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05v
ZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVT
Y3JvbGxpbmdOb2RlLmNwcApAQCAtMTI4LDcgKzEyOCw4IEBAIGJvb2wgU2Nyb2xsaW5nVHJlZVNj
cm9sbGluZ05vZGU6OnNob3VsZFJ1YmJlckJhbmQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiB3
aGVlCiAgICAgLy8gVGhlIHN0YXRlbGVzcyB3aGVlbCBldmVudCBkb2Vzbid0IHRyaWdnZXIgcnVi
YmVyLWJhbmQuCiAgICAgLy8gQWxzbyBydWJiZXJiYW5kIHdoZW4gd2Ugc2hvdWxkIGJsb2NrIHNj
cm9sbCBwcm9wYWdhdGlvbgogICAgIC8vIGF0IHRoaXMgbm9kZSwgd2hpY2ggaGFzIG92ZXJzY3Jv
bGwgYmVoYXZpb3IgdGhhdCBpcyBub3Qgbm9uZS4KLSAgICByZXR1cm4gKGlzTGF0Y2hlZE5vZGUo
KSB8fCBldmVudFRhcmdldGluZyA9PSBFdmVudFRhcmdldGluZzo6Tm9kZU9ubHkgfHwgKGlzUm9v
dE5vZGUoKSAmJiAhd2hlZWxFdmVudC5pc05vbkdlc3R1cmVFdmVudCgpKSB8fCAoc2hvdWxkQmxv
Y2tTY3JvbGxQcm9wYWdhdGlvbih3aGVlbEV2ZW50LmRlbHRhKCkpICYmIG92ZXJzY3JvbGxCZWhh
dmlvckFsbG93c1J1YmJlckJhbmQoKSkpOworICAgIGF1dG8gc2Nyb2xsUHJvcGFnYXRpb25JbmZv
ID0gY29tcHV0ZVNjcm9sbFByb3BhZ2F0aW9uKHdoZWVsRXZlbnQuZGVsdGEoKSk7CisgICAgcmV0
dXJuIChpc0xhdGNoZWROb2RlKCkgfHwgZXZlbnRUYXJnZXRpbmcgPT0gRXZlbnRUYXJnZXRpbmc6
Ok5vZGVPbmx5IHx8IChpc1Jvb3ROb2RlKCkgJiYgIXdoZWVsRXZlbnQuaXNOb25HZXN0dXJlRXZl
bnQoKSkgfHwgKCBzY3JvbGxQcm9wYWdhdGlvbkluZm8uc2hvdWxkQmxvY2tTY3JvbGxQcm9wYWdh
dGlvbiAmJiBzY3JvbGxQcm9wYWdhdGlvbkluZm8uaXNIYW5kbGVkICYmIG92ZXJzY3JvbGxCZWhh
dmlvckFsbG93c1J1YmJlckJhbmQoKSkpOwogfQogCiBib29sIFNjcm9sbGluZ1RyZWVTY3JvbGxp
bmdOb2RlOjpjYW5IYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hl
ZWxFdmVudCwgRXZlbnRUYXJnZXRpbmcgZXZlbnRUYXJnZXRpbmcpIGNvbnN0CkBAIC00MTgsOSAr
NDE5LDI2IEBAIFBsYXRmb3JtV2hlZWxFdmVudCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6
ZXZlbnRGb3JQcm9wYWdhdGlvbihjb25zdCBQbGF0Zm9yCiAgICAgcmV0dXJuIHdoZWVsRXZlbnQ7
CiB9CiAKLWJvb2wgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6OnNob3VsZEJsb2NrU2Nyb2xs
UHJvcGFnYXRpb24oY29uc3QgRmxvYXRTaXplJiBkZWx0YSkgY29uc3QKK1Njcm9sbFByb3BhZ2F0
aW9uSW5mbyBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6Y29tcHV0ZVNjcm9sbFByb3BhZ2F0
aW9uKGNvbnN0IEZsb2F0U2l6ZSYgZGVsdGEpIGNvbnN0CiB7Ci0gICAgcmV0dXJuICgoaG9yaXpv
bnRhbE92ZXJzY3JvbGxCZWhhdmlvclByZXZlbnRzUHJvcGFnYXRpb24oKSB8fCB2ZXJ0aWNhbE92
ZXJzY3JvbGxCZWhhdmlvclByZXZlbnRzUHJvcGFnYXRpb24oKSkgJiYgKChob3Jpem9udGFsT3Zl
cnNjcm9sbEJlaGF2aW9yUHJldmVudHNQcm9wYWdhdGlvbigpICYmIHZlcnRpY2FsT3ZlcnNjcm9s
bEJlaGF2aW9yUHJldmVudHNQcm9wYWdhdGlvbigpKSB8fCAoaG9yaXpvbnRhbE92ZXJzY3JvbGxC
ZWhhdmlvclByZXZlbnRzUHJvcGFnYXRpb24oKSAmJiAhZGVsdGEuaGVpZ2h0KCkpIHx8ICh2ZXJ0
aWNhbE92ZXJzY3JvbGxCZWhhdmlvclByZXZlbnRzUHJvcGFnYXRpb24oKSAmJiAhZGVsdGEud2lk
dGgoKSkpKTsKKyAgICBTY3JvbGxQcm9wYWdhdGlvbkluZm8gcHJvcGFnYXRpb247CisgICAgaWYg
KCFob3Jpem9udGFsT3ZlcnNjcm9sbEJlaGF2aW9yUHJldmVudHNQcm9wYWdhdGlvbigpICYmICF2
ZXJ0aWNhbE92ZXJzY3JvbGxCZWhhdmlvclByZXZlbnRzUHJvcGFnYXRpb24oKSkKKyAgICAgICAg
cmV0dXJuIHByb3BhZ2F0aW9uOworICAgIAorICAgIC8vIEhpc3Rvcnkgc3dpcGUgY2FzZQorICAg
IGlmIChob3Jpem9udGFsT3ZlcnNjcm9sbEJlaGF2aW9yUHJldmVudHNQcm9wYWdhdGlvbigpICYm
ICFkZWx0YS5oZWlnaHQoKSAmJiBkZWx0YS53aWR0aCgpKSB7CisgICAgICAgIHByb3BhZ2F0aW9u
LnNob3VsZEJsb2NrU2Nyb2xsUHJvcGFnYXRpb24gPSB0cnVlOworICAgICAgICBwcm9wYWdhdGlv
bi5pc0hhbmRsZWQgPSBmYWxzZTsKKyAgICAgICAgcmV0dXJuIHByb3BhZ2F0aW9uOworICAgIH0K
KworICAgIGlmICgoaG9yaXpvbnRhbE92ZXJzY3JvbGxCZWhhdmlvclByZXZlbnRzUHJvcGFnYXRp
b24oKSAmJiB2ZXJ0aWNhbE92ZXJzY3JvbGxCZWhhdmlvclByZXZlbnRzUHJvcGFnYXRpb24oKSkK
KyAgICAgICAgfHwgKGhvcml6b250YWxPdmVyc2Nyb2xsQmVoYXZpb3JQcmV2ZW50c1Byb3BhZ2F0
aW9uKCkgJiYgIWRlbHRhLmhlaWdodCgpKQorICAgICAgICB8fCAodmVydGljYWxPdmVyc2Nyb2xs
QmVoYXZpb3JQcmV2ZW50c1Byb3BhZ2F0aW9uKCkgJiYgIWRlbHRhLndpZHRoKCkpKSB7CisgICAg
ICAgIHByb3BhZ2F0aW9uLnNob3VsZEJsb2NrU2Nyb2xsUHJvcGFnYXRpb24gPSB0cnVlOworICAg
ICAgICBwcm9wYWdhdGlvbi5pc0hhbmRsZWQgPSB0cnVlOworICAgIH0KKyAgICByZXR1cm4gcHJv
cGFnYXRpb247CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5o
CmluZGV4IGQxNmRjYzRmMzNjMTUzNGU1MDg5MzJjNGQ1NWQ1ZjYyNjZlY2VmODQuLjViYmM1Yjc1
ZmVkM2JiYzg4YjIwMjA0Y2M0MzY4MGM0YWNkZTkwMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuaApA
QCAtMzksNiArMzksMTEgQEAgY2xhc3MgU2Nyb2xsaW5nVHJlZTsKIGNsYXNzIFNjcm9sbGluZ1N0
YXRlU2Nyb2xsaW5nTm9kZTsKIHN0cnVjdCBXaGVlbEV2ZW50SGFuZGxpbmdSZXN1bHQ7CiAKK3N0
cnVjdCBTY3JvbGxQcm9wYWdhdGlvbkluZm8geworICAgIGJvb2wgc2hvdWxkQmxvY2tTY3JvbGxQ
cm9wYWdhdGlvbiB7IGZhbHNlIH07CisgICAgYm9vbCBpc0hhbmRsZWQgeyBmYWxzZSB9OworfTsK
KwogY2xhc3MgV0VCQ09SRV9FWFBPUlQgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUgOiBwdWJs
aWMgU2Nyb2xsaW5nVHJlZU5vZGUgewogICAgIGZyaWVuZCBjbGFzcyBTY3JvbGxpbmdUcmVlU2Ny
b2xsaW5nTm9kZURlbGVnYXRlOwogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTE2NCw3ICsxNjksNyBA
QCBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBob3Jpem9udGFsT3ZlcnNjcm9sbEJlaGF2aW9yUHJldmVu
dHNQcm9wYWdhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsYWJsZUFyZWFQYXJhbWV0ZXJz
Lmhvcml6b250YWxPdmVyc2Nyb2xsQmVoYXZpb3IgIT0gT3ZlcnNjcm9sbEJlaGF2aW9yOjpBdXRv
OyB9CiAgICAgYm9vbCB2ZXJ0aWNhbE92ZXJzY3JvbGxCZWhhdmlvclByZXZlbnRzUHJvcGFnYXRp
b24oKSBjb25zdCB7IHJldHVybiBtX3Njcm9sbGFibGVBcmVhUGFyYW1ldGVycy52ZXJ0aWNhbE92
ZXJzY3JvbGxCZWhhdmlvciAhPSBPdmVyc2Nyb2xsQmVoYXZpb3I6OkF1dG87IH0KICAgICBQbGF0
Zm9ybVdoZWVsRXZlbnQgZXZlbnRGb3JQcm9wYWdhdGlvbihjb25zdCBQbGF0Zm9ybVdoZWVsRXZl
bnQmKSBjb25zdDsKLSAgICBib29sIHNob3VsZEJsb2NrU2Nyb2xsUHJvcGFnYXRpb24oY29uc3Qg
RmxvYXRTaXplJikgY29uc3Q7CisgICAgU2Nyb2xsUHJvcGFnYXRpb25JbmZvIGNvbXB1dGVTY3Jv
bGxQcm9wYWdhdGlvbihjb25zdCBGbG9hdFNpemUmKSBjb25zdDsKICAgICBib29sIG92ZXJzY3Jv
bGxCZWhhdmlvckFsbG93c1J1YmJlckJhbmQoKSBjb25zdCB7IHJldHVybiBtX3Njcm9sbGFibGVB
cmVhUGFyYW1ldGVycy5ob3Jpem9udGFsT3ZlcnNjcm9sbEJlaGF2aW9yICE9IE92ZXJzY3JvbGxC
ZWhhdmlvcjo6Tm9uZSB8fCAgbV9zY3JvbGxhYmxlQXJlYVBhcmFtZXRlcnMudmVydGljYWxPdmVy
c2Nyb2xsQmVoYXZpb3IgIT0gT3ZlcnNjcm9sbEJlaGF2aW9yOjpOb25lOyB9CiAgICAgYm9vbCBz
aG91bGRSdWJiZXJCYW5kKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYsIEV2ZW50VGFyZ2V0aW5n
KSBjb25zdDsKICAgICB2b2lkIGR1bXBQcm9wZXJ0aWVzKFdURjo6VGV4dFN0cmVhbSYsIE9wdGlv
blNldDxTY3JvbGxpbmdTdGF0ZVRyZWVBc1RleHRCZWhhdmlvcj4pIGNvbnN0IG92ZXJyaWRlOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDRjNzU0OGRlNTUyZjU4YWUyYjA3YzA5NDY4MjA5OTMxZTI4NmUyODAuLjk0OGE4ZTRi
OTdjNWY2MjFiNDdlOTI2NGIyMmI1NGY0OGIxYjcwYTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAor
MjAyMi0wMy0xMSAgTmlrb2xhb3MgTW91Y2h0YXJpcyAgPG5tb3VjaHRhcmlzQGFwcGxlLmNvbT4K
KworICAgICAgICBBbGxvdyBoaXN0b3J5IHN3aXBlIGluIHNjcm9sbGVyIHdpdGggb3ZlcnNjcm9s
bC1iZWhhdmlvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjM1ODUxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAg
ICogc2Nyb2xsaW5nY29vcmRpbmF0b3IvbWFjL2xhdGNoaW5nL2hvcml6b250YWwtb3ZlcmZsb3ct
YmFjay1zd2lwZS1vdmVyc2Nyb2xsLWJlaGF2aW9yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogc2Nyb2xsaW5nY29vcmRpbmF0b3IvbWFjL2xhdGNoaW5nL2hvcml6b250YWwtb3ZlcmZs
b3ctYmFjay1zd2lwZS1vdmVyc2Nyb2xsLWJlaGF2aW9yLmh0bWw6IEFkZGVkLgorCiAyMDIyLTAz
LTAzICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIG5h
c2EuZ292IHBhZ2Ugd2l0aCBmaXhlZCBiYWNrZ3JvdW5kcyBwYWludHMgaW5jb3JyZWN0bHkgb24g
c2Nyb2xsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zY3JvbGxpbmdjb29yZGluYXRvci9tYWMv
bGF0Y2hpbmcvaG9yaXpvbnRhbC1vdmVyZmxvdy1iYWNrLXN3aXBlLW92ZXJzY3JvbGwtYmVoYXZp
b3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc2Nyb2xsaW5nY29vcmRpbmF0b3IvbWFjL2xh
dGNoaW5nL2hvcml6b250YWwtb3ZlcmZsb3ctYmFjay1zd2lwZS1vdmVyc2Nyb2xsLWJlaGF2aW9y
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MGRjMzE5YTdmOGE0NDA5ODI2OTUzZDlhYTYwMDcw
NDk4MjQ2YTFmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc2Nyb2xsaW5nY29vcmRp
bmF0b3IvbWFjL2xhdGNoaW5nL2hvcml6b250YWwtb3ZlcmZsb3ctYmFjay1zd2lwZS1vdmVyc2Ny
b2xsLWJlaGF2aW9yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitTY3JvbGxzIHZlcnRp
Y2FsbHkKK1Njcm9sbHMgaG9yaXpvbnRhbGx5CitBIGJhY2sgc3dpcGUsIG92ZXIgYSBzY3JvbGxl
ZC10by1sZWZ0IG92ZXJmbG93LCBzaG91bGQgc3RhcnQgYSBuYXZpZ2F0aW9uIGdlc3R1cmUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitTd2lwZSB0byB0aGUgbGVmdAorUEFTUyBt
aW5YT2Zmc2V0IGlzIDAKK1BBU1MgbWF4WE9mZnNldCBpcyAtMTAwMAorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3Njcm9sbGluZ2Nvb3JkaW5hdG9yL21hYy9sYXRjaGluZy9ob3Jpem9udGFsLW92ZXJmbG93
LWJhY2stc3dpcGUtb3ZlcnNjcm9sbC1iZWhhdmlvci5odG1sIGIvTGF5b3V0VGVzdHMvc2Nyb2xs
aW5nY29vcmRpbmF0b3IvbWFjL2xhdGNoaW5nL2hvcml6b250YWwtb3ZlcmZsb3ctYmFjay1zd2lw
ZS1vdmVyc2Nyb2xsLWJlaGF2aW9yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjVjNDYzMWZhYzJkN2Y0OGE1
YjZlZmFkZTUxYzQ3NjAzOTJhN2UwNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Nj
cm9sbGluZ2Nvb3JkaW5hdG9yL21hYy9sYXRjaGluZy9ob3Jpem9udGFsLW92ZXJmbG93LWJhY2st
c3dpcGUtb3ZlcnNjcm9sbC1iZWhhdmlvci5odG1sCkBAIC0wLDAgKzEsMTE2IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBBc3luY092ZXJmbG93U2Nyb2xsaW5n
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAgICAgICAg
Ym9keSB7CisgICAgICAgICAgICBoZWlnaHQ6IDIwMDBweDsKKyAgICAgICAgfQorCisgICAgICAg
IC5zY3JvbGxlciB7CisgICAgICAgICAgICBtYXJnaW46IDEwcHg7CisgICAgICAgICAgICB3aWR0
aDogNTAwcHg7CisgICAgICAgICAgICBoZWlnaHQ6IDQwMHB4OworICAgICAgICAgICAgb3ZlcmZs
b3c6IGF1dG87CisgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBibGFjazsKKyAgICAgICAg
fQorICAgICAgICAKKyAgICAgICAgLmhvcml6b250YWwgLnNjcm9sbGVyIHsKKyAgICAgICAgICAg
IHdpZHRoOiA0MDBweDsKKyAgICAgICAgICAgIGhlaWdodDogNDAwcHg7CisgICAgICAgICAgICBt
YXJnaW46IDEwcHg7CisgICAgICAgICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluOwor
ICAgICAgICB9CisgICAgICAgIAorICAgICAgICAuZmlsbGVyIHsKKyAgICAgICAgICAgIGhlaWdo
dDogMjAwcHg7CisgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgIG1hcmdpbjog
MTBweDsKKyAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNpbHZlcjsKKyAgICAgICAgfQor
CisgICAgICAgIC5ob3Jpem9udGFsIC5maWxsZXIgeworICAgICAgICAgICAgaGVpZ2h0OiA4MCU7
CisgICAgICAgICAgICB3aWR0aDogMjAwJTsKKyAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6
IHNpbHZlcjsKKyAgICAgICAgfQorICAgIDwvc3R5bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgIAorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIHZhciBtaW5Y
T2Zmc2V0ID0gMDsKKyAgICAgICAgdmFyIG1heFhPZmZzZXQgPSAtMTAwMDsKKyAgICAgICAgCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIG9uU2Nyb2xsQ29tcGxldGlvbih4LCB5KQorICAgICAgICB7
CisgICAgICAgICAgICBldmVudFNlbmRlci5tb25pdG9yV2hlZWxFdmVudHMoKTsKKyAgICAgICAg
ICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHgsIHkpOworICAgICAgICAgICAgZXZlbnRTZW5k
ZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDEsIDAsICJiZWdhbiIs
ICJub25lIik7CisgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVs
QW5kTW9tZW50dW1QaGFzZXMoMTAsIDAsICJjaGFuZ2VkIiwgIm5vbmUiKTsKKyAgICAgICAgICAg
IGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygxMCwg
MCwgImNoYW5nZWQiLCAibm9uZSIpOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYW5pbWF0
aW9uRnJhbWUoKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hl
ZWxBbmRNb21lbnR1bVBoYXNlcygxMCwgMCwgImNoYW5nZWQiLCAibm9uZSIpOworICAgICAgICAg
ICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAs
IDAsICJlbmRlZCIsICJub25lIik7CisgICAgICAgICAgICByZXR1cm4gVUlIZWxwZXIud2FpdEZv
clNjcm9sbENvbXBsZXRpb24oKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gb25Td2lwZUNhbGxiYWNrKCkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJu
IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5z
dGFsbERpZEJlZ2luU3dpcGVDYWxsYmFjayhyZXNvbHZlKTsKKyAgICAgICAgICAgIH0pOworICAg
ICAgICB9CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gc2Nyb2xsVGVzdCgpCisgICAgICAgIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCdBIGJhY2sgc3dpcGUsIG92ZXIgYSBzY3JvbGxlZC10
by1sZWZ0IG92ZXJmbG93LCBzaG91bGQgc3RhcnQgYSBuYXZpZ2F0aW9uIGdlc3R1cmUuJyk7CisK
KyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIuc2V0TmF2aWdhdGlvbkdlc3R1cmVzRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgaGlzdG9yeS5wdXNoU3RhdGUoeyBuYW1lOiAnYmFja3N0YXRlJyB9
LCAnYmFjaycpOworCisgICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xs
JywgKCkgPT4geworICAgICAgICAgICAgICAgIG1pblhPZmZzZXQgPSBNYXRoLm1pbihtaW5YT2Zm
c2V0LCB3aW5kb3cucGFnZVhPZmZzZXQpOworICAgICAgICAgICAgICAgIG1heFhPZmZzZXQgPSBN
YXRoLm1heChtYXhYT2Zmc2V0LCB3aW5kb3cucGFnZVhPZmZzZXQpOworICAgICAgICAgICAgfSwg
ZmFsc2UpOworCisgICAgICAgICAgICBpZiAoIXdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgY29uc3QgbW91c2VMb2NhdGlvblggPSAxNTA7IC8vIE92
ZXIgdGhlIGhvcml6b250YWxseSBzY3JvbGxhYmxlIG92ZXJmbG93LgorICAgICAgICAgICAgY29u
c3QgbW91c2VMb2NhdGlvblkgPSAzMDA7CisKKyAgICAgICAgICAgIGRlYnVnKCdTd2lwZSB0byB0
aGUgbGVmdCcpOworICAgICAgICAgICAgCisgICAgICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChb
b25Td2lwZUNhbGxiYWNrKCksIG9uU2Nyb2xsQ29tcGxldGlvbihtb3VzZUxvY2F0aW9uWCwgbW91
c2VMb2NhdGlvblkpXSk7CisKKyAgICAgICAgICAgIC8vIFNob3VsZCBub3QgaGF2ZSByZWNlaXZl
ZCBhbnkgc2Nyb2xsIGV2ZW50cy4KKyAgICAgICAgICAgIHNob3VsZEJlKCdtaW5YT2Zmc2V0Jywg
JzAnKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdtYXhYT2Zmc2V0JywgJy0xMDAwJyk7CisKKyAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICB9CisKKyAgICAgICAgd2luZG93LmFk
ZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoKSA9PiB7CisgICAgICAgICAgICBzY3JvbGxUZXN0KCk7
CisgICAgICAgIH0sIGZhbHNlKTsKKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAg
IDxkaXYgaWQ9Im91dGVyIiBjbGFzcz0ic2Nyb2xsZXIiPgorICAgICAgICA8ZGl2IGNsYXNzPSJm
aWxsZXIiPlNjcm9sbHMgdmVydGljYWxseTwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJpbm5lciIg
Y2xhc3M9Imhvcml6b250YWwgc2Nyb2xsZXIiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmls
bGVyIj5TY3JvbGxzIGhvcml6b250YWxseTwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAg
PGRpdiBjbGFzcz0iZmlsbGVyIj48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>