<?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>227186</bug_id>
          
          <creation_ts>2021-06-19 15:51:11 -0700</creation_ts>
          <short_desc>Remove redundant HitTestLocation(const LayoutPoint&amp; centerPoint, unsigned topPadding, unsigned rightPadding, unsigned bottomPadding, unsigned leftPadding)</short_desc>
          <delta_ts>2021-06-21 08:09:46 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>227182</dependson>
    
    <dependson>227185</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1771130</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-06-19 15:51:11 -0700</bug_when>
    <thetext>Let&apos;s replace the _one_ caller (Internals) with the LayoutRect version.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771131</commentid>
    <comment_count>1</comment_count>
      <attachid>431807</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-06-19 15:57:21 -0700</bug_when>
    <thetext>Created attachment 431807
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771164</commentid>
    <comment_count>2</comment_count>
      <attachid>431819</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-06-20 06:26:41 -0700</bug_when>
    <thetext>Created attachment 431819
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771185</commentid>
    <comment_count>3</comment_count>
      <attachid>431819</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-06-20 13:15:14 -0700</bug_when>
    <thetext>Comment on attachment 431819
Patch

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

&gt; Source/WebCore/testing/Internals.cpp:2323
&gt; +    auto hitTestResult = HitTestResult { };
&gt; +    auto size = LayoutSize { leftPadding + rightPadding, topPadding + bottomPadding };
&gt; +    if (size.isEmpty())
&gt; +        hitTestResult = HitTestResult { point };
&gt; +    else {
&gt; +        auto adjustedPosition = LayoutPoint { flooredIntPoint(point) };
&gt; +        adjustedPosition -= LayoutSize  { leftPadding, topPadding };
&gt; +        hitTestResult = HitTestResult { LayoutRect { adjustedPosition, size } };
&gt; +    }

I would usually do this using a lambda so that hitTestResult is not assigned twice.

Can the two adjustedPosition lines be written as one line? 

auto adjustedPosition = LayoutPoint { flooredIntPoint(point) } - LayoutSize { leftPadding, topPadding };

?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771211</commentid>
    <comment_count>4</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-06-20 21:12:14 -0700</bug_when>
    <thetext>(In reply to Sam Weinig from comment #3)
&gt; Comment on attachment 431819 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=431819&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/testing/Internals.cpp:2323
&gt; &gt; +    auto hitTestResult = HitTestResult { };
&gt; &gt; +    auto size = LayoutSize { leftPadding + rightPadding, topPadding + bottomPadding };
&gt; &gt; +    if (size.isEmpty())
&gt; &gt; +        hitTestResult = HitTestResult { point };
&gt; &gt; +    else {
&gt; &gt; +        auto adjustedPosition = LayoutPoint { flooredIntPoint(point) };
&gt; &gt; +        adjustedPosition -= LayoutSize  { leftPadding, topPadding };
&gt; &gt; +        hitTestResult = HitTestResult { LayoutRect { adjustedPosition, size } };
&gt; &gt; +    }
&gt; 
&gt; I would usually do this using a lambda so that hitTestResult is not assigned
&gt; twice.
I normally go overboard with lambdas, not sure what happened here. :)

&gt; 
&gt; Can the two adjustedPosition lines be written as one line? 
&gt; 
&gt; auto adjustedPosition = LayoutPoint { flooredIntPoint(point) } - LayoutSize
&gt; { leftPadding, topPadding };
&gt; 
&gt; ?
Yup

Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771212</commentid>
    <comment_count>5</comment_count>
      <attachid>431830</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-06-20 21:13:14 -0700</bug_when>
    <thetext>Created attachment 431830
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771261</commentid>
    <comment_count>6</comment_count>
      <attachid>431850</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-06-21 05:48:26 -0700</bug_when>
    <thetext>Created attachment 431850
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771283</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-21 08:08:52 -0700</bug_when>
    <thetext>Committed r279066 (238986@main): &lt;https://commits.webkit.org/238986@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 431850.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771284</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-21 08:09:46 -0700</bug_when>
    <thetext>&lt;rdar://problem/79562100&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431807</attachid>
            <date>2021-06-19 15:57:21 -0700</date>
            <delta_ts>2021-06-20 06:26:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227186-20210619155720.patch</filename>
            <type>text/plain</type>
            <size>9887</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4OTE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMThlODAzZWEyN2IzMTYy
ZjlhMWY1ZjdhOTExZTlmOTFlNjM4ZGNkYi4uZmVjZTY5N2VkNWY0M2E3YmM2NTE3NjUxN2NiOThk
MmFjM2Y5ZGE5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIxLTA2LTE5ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgcmVkdW5kYW50IEhp
dFRlc3RMb2NhdGlvbihjb25zdCBMYXlvdXRQb2ludCYgY2VudGVyUG9pbnQsIHVuc2lnbmVkIHRv
cFBhZGRpbmcsIHVuc2lnbmVkIHJpZ2h0UGFkZGluZywgdW5zaWduZWQgYm90dG9tUGFkZGluZywg
dW5zaWduZWQgbGVmdFBhZGRpbmcpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjcxODYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBMZXQncyB1c2UgdGhlIExheW91dFJlY3QgYmFzZWQgYyd0b3IgYXQgdGhl
IG9ubHkgY2FsbHNpdGUgKEludGVybmFscykuCisKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmhpdFRlc3RSZXN1bHRBdFBv
aW50IGNvbnN0KToKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5oOgorICAgICAgICAqIHJl
bmRlcmluZy9IaXRUZXN0TG9jYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SGl0VGVzdExv
Y2F0aW9uOjpIaXRUZXN0TG9jYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6cmVjdEZvclBvaW50
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Om1faXNSZWN0QmFzZWQpOiBEZWxldGVkLgor
ICAgICAgICAqIHJlbmRlcmluZy9IaXRUZXN0TG9jYXRpb24uaDoKKyAgICAgICAgKiByZW5kZXJp
bmcvSGl0VGVzdFJlc3VsdC5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQu
aDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6IHRoZSAoMSwgMSkgaW5mbGF0ZSBp
cyBvbmx5IHJlbGV2YW50IGZvciB0aGUgcG9pbnQgYmFzZWQgaGl0IHRlc3QuCisgICAgICAgIChX
ZWJDb3JlOjpJbnRlcm5hbHM6Om5vZGVzRnJvbVJlY3QgY29uc3QpOgorCiAyMDIxLTA2LTE5ICBB
bGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBIaXRUZXN0TG9jYXRpb246
Om1fYm91bmRpbmdCb3ggc2hvdWxkIGJlIGFibGUgaG9sZCBzdWJwaXhlbCB2YWx1ZXMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCA5Njk4NmI1MzA5MWJjNjkwZTZmY2Q0Y2Iw
NjdhYmEwMjFhMzU2MDcyLi5iNTU2ZGM3NjNlODQwNDFjNTg1MzYyNjMxNDlkMTBiM2VjOTU4Yzhi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0xMTU1LDkgKzExNTUsOSBA
QCBPcHRpb25TZXQ8RHJhZ1NvdXJjZUFjdGlvbj4gRXZlbnRIYW5kbGVyOjp1cGRhdGVEcmFnU291
cmNlQWN0aW9uc0FsbG93ZWQoKSBjb25zdAogfQogI2VuZGlmIC8vIEVOQUJMRShEUkFHX1NVUFBP
UlQpCiAKLUhpdFRlc3RSZXN1bHQgRXZlbnRIYW5kbGVyOjpoaXRUZXN0UmVzdWx0QXRQb2ludChj
b25zdCBMYXlvdXRQb2ludCYgcG9pbnQsIE9wdGlvblNldDxIaXRUZXN0UmVxdWVzdDo6VHlwZT4g
aGl0VHlwZSwgY29uc3QgTGF5b3V0U2l6ZSYgcGFkZGluZykgY29uc3QKK0hpdFRlc3RSZXN1bHQg
RXZlbnRIYW5kbGVyOjpoaXRUZXN0UmVzdWx0QXRQb2ludChjb25zdCBMYXlvdXRQb2ludCYgcG9p
bnQsIE9wdGlvblNldDxIaXRUZXN0UmVxdWVzdDo6VHlwZT4gaGl0VHlwZSkgY29uc3QKIHsKLSAg
ICBBU1NFUlQoKGhpdFR5cGUgJiBIaXRUZXN0UmVxdWVzdDo6VHlwZTo6Q29sbGVjdE11bHRpcGxl
RWxlbWVudHMpIHx8IHBhZGRpbmcuaXNFbXB0eSgpKTsKKyAgICBBU1NFUlQoKGhpdFR5cGUgJiBI
aXRUZXN0UmVxdWVzdDo6VHlwZTo6Q29sbGVjdE11bHRpcGxlRWxlbWVudHMpKTsKIAogICAgIFJl
ZjxGcmFtZT4gcHJvdGVjdGVkRnJhbWUobV9mcmFtZSk7CiAKQEAgLTExNjksMTggKzExNjksMTUg
QEAgSGl0VGVzdFJlc3VsdCBFdmVudEhhbmRsZXI6OmhpdFRlc3RSZXN1bHRBdFBvaW50KGNvbnN0
IExheW91dFBvaW50JiBwb2ludCwgT3B0aW8KICAgICAgICAgRnJhbWVWaWV3KiBtYWluVmlldyA9
IG1haW5GcmFtZS52aWV3KCk7CiAgICAgICAgIGlmIChmcmFtZVZpZXcgJiYgbWFpblZpZXcpIHsK
ICAgICAgICAgICAgIEludFBvaW50IG1haW5GcmFtZVBvaW50ID0gbWFpblZpZXctPnJvb3RWaWV3
VG9Db250ZW50cyhmcmFtZVZpZXctPmNvbnRlbnRzVG9Sb290Vmlldyhyb3VuZGVkSW50UG9pbnQo
cG9pbnQpKSk7Ci0gICAgICAgICAgICByZXR1cm4gbWFpbkZyYW1lLmV2ZW50SGFuZGxlcigpLmhp
dFRlc3RSZXN1bHRBdFBvaW50KG1haW5GcmFtZVBvaW50LCBoaXRUeXBlLCBwYWRkaW5nKTsKKyAg
ICAgICAgICAgIHJldHVybiBtYWluRnJhbWUuZXZlbnRIYW5kbGVyKCkuaGl0VGVzdFJlc3VsdEF0
UG9pbnQobWFpbkZyYW1lUG9pbnQsIGhpdFR5cGUpOwogICAgICAgICB9CiAgICAgfQogCi0gICAg
dW5zaWduZWQgbm9uTmVnYXRpdmVQYWRkaW5nV2lkdGggPSBzdGQ6Om1heDxMYXlvdXRVbml0Pigw
LCBwYWRkaW5nLndpZHRoKCkpLnRvVW5zaWduZWQoKTsKLSAgICB1bnNpZ25lZCBub25OZWdhdGl2
ZVBhZGRpbmdIZWlnaHQgPSBzdGQ6Om1heDxMYXlvdXRVbml0PigwLCBwYWRkaW5nLmhlaWdodCgp
KS50b1Vuc2lnbmVkKCk7Ci0KICAgICAvLyBXZSBzaG91bGQgYWx3YXlzIHN0YXJ0IGhpdCB0ZXN0
aW5nIGEgY2xlYW4gdHJlZS4KICAgICBpZiAoYXV0byogZnJhbWVWaWV3ID0gbV9mcmFtZS52aWV3
KCkpCiAgICAgICAgIGZyYW1lVmlldy0+dXBkYXRlTGF5b3V0QW5kU3R5bGVJZk5lZWRlZFJlY3Vy
c2l2ZSgpOwogCi0gICAgSGl0VGVzdFJlc3VsdCByZXN1bHQocG9pbnQsIG5vbk5lZ2F0aXZlUGFk
ZGluZ0hlaWdodCwgbm9uTmVnYXRpdmVQYWRkaW5nV2lkdGgsIG5vbk5lZ2F0aXZlUGFkZGluZ0hl
aWdodCwgbm9uTmVnYXRpdmVQYWRkaW5nV2lkdGgpOworICAgIGF1dG8gcmVzdWx0ID0gSGl0VGVz
dFJlc3VsdCB7IHBvaW50IH07CiAgICAgYXV0byogZG9jdW1lbnQgPSBtX2ZyYW1lLmRvY3VtZW50
KCk7CiAgICAgaWYgKCFkb2N1bWVudCkKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0V2ZW50SGFuZGxlci5oCmluZGV4IDlmYjUyYjJlOWZiZDg1NzMxNTM0YTZiMjhhOTFhMzY5
YzM3ODc3ZDIuLjJiNjM1ODk2NDg3NmQxNTFjMDk3MThiZGVmODlkOGVkNDJkMTRhZWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApAQCAtMTU1LDcgKzE1NSw3IEBAIHB1YmxpYzoKICAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRpc3BhdGNoRmFrZU1vdXNlTW92ZUV2ZW50U29vbigpOwog
ICAgIHZvaWQgZGlzcGF0Y2hGYWtlTW91c2VNb3ZlRXZlbnRTb29uSW5RdWFkKGNvbnN0IEZsb2F0
UXVhZCYpOwogCi0gICAgV0VCQ09SRV9FWFBPUlQgSGl0VGVzdFJlc3VsdCBoaXRUZXN0UmVzdWx0
QXRQb2ludChjb25zdCBMYXlvdXRQb2ludCYsIE9wdGlvblNldDxIaXRUZXN0UmVxdWVzdDo6VHlw
ZT4sIGNvbnN0IExheW91dFNpemUmIHBhZGRpbmcgPSBMYXlvdXRTaXplKCkpIGNvbnN0OworICAg
IFdFQkNPUkVfRVhQT1JUIEhpdFRlc3RSZXN1bHQgaGl0VGVzdFJlc3VsdEF0UG9pbnQoY29uc3Qg
TGF5b3V0UG9pbnQmLCBPcHRpb25TZXQ8SGl0VGVzdFJlcXVlc3Q6OlR5cGU+KSBjb25zdDsKIAog
ICAgIGJvb2wgbW91c2VQcmVzc2VkKCkgY29uc3QgeyByZXR1cm4gbV9tb3VzZVByZXNzZWQ7IH0K
ICAgICBOb2RlKiBtb3VzZVByZXNzTm9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fbW91c2VQcmVzc05v
ZGUuZ2V0KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0
TG9jYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RMb2NhdGlvbi5j
cHAKaW5kZXggYzFlNGYzYTU5MGQ0OWRlZGQwOGJiZWNjYmQ5YzRkZjIwNDk3OGE2ZC4uMmI1MWE0
ZTc2YTE0ODU2MzNlOTc5ZTg0Mjc1NjgwOTY2MTAxOTg3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RMb2NhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0hpdFRlc3RMb2NhdGlvbi5jcHAKQEAgLTI0LDIzICsyNCwxMSBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBMYXlvdXRSZWN0IHJlY3RGb3JQb2ludChjb25zdCBM
YXlvdXRQb2ludCYgcG9pbnQsIHVuc2lnbmVkIHRvcFBhZGRpbmcsIHVuc2lnbmVkIHJpZ2h0UGFk
ZGluZywgdW5zaWduZWQgYm90dG9tUGFkZGluZywgdW5zaWduZWQgbGVmdFBhZGRpbmcpCi17Ci0g
ICAgYXV0byBhZGp1c3RlZFBvc2l0aW9uID0gTGF5b3V0UG9pbnQgeyBmbG9vcmVkSW50UG9pbnQo
cG9pbnQpIH07Ci0gICAgYWRqdXN0ZWRQb3NpdGlvbiAtPSBMYXlvdXRTaXplICB7IGxlZnRQYWRk
aW5nLCB0b3BQYWRkaW5nIH07Ci0KLSAgICBhdXRvIHdpZHRoID0gTGF5b3V0VW5pdCB7IGxlZnRQ
YWRkaW5nICsgcmlnaHRQYWRkaW5nIH07Ci0gICAgYXV0byBoZWlnaHQgPSBMYXlvdXRVbml0IHsg
dG9wUGFkZGluZyArIGJvdHRvbVBhZGRpbmcgfTsKLSAgICAvLyBBcyBJbnRSZWN0IGlzIGxlZnQg
aW5jbHVzaXZlIGFuZCByaWdodCBleGNsdXNpdmUgKHNlZWluZyBJbnRSZWN0Ojpjb250YWlucyh4
LCB5KSksIGFkZGluZyAiMSIuCi0gICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIG9uY2Ugbm9uLXJl
Y3QgYmFzZWQgaGl0LWRldGVjdGlvbiBzdG9wcyB1c2luZyBJbnRSZWN0OmludGVyc2VjdHMuCi0g
ICAgcmV0dXJuIHsgYWRqdXN0ZWRQb3NpdGlvbiwgTGF5b3V0U2l6ZSB7IHdpZHRoICsgMSwgaGVp
Z2h0ICsgMSB9IH07Ci19Ci0KIEhpdFRlc3RMb2NhdGlvbjo6SGl0VGVzdExvY2F0aW9uKCkgPSBk
ZWZhdWx0OwogCiBIaXRUZXN0TG9jYXRpb246OkhpdFRlc3RMb2NhdGlvbihjb25zdCBMYXlvdXRQ
b2ludCYgcG9pbnQpCiAgICAgOiBtX3BvaW50KHBvaW50KQotICAgICwgbV9ib3VuZGluZ0JveChy
ZWN0Rm9yUG9pbnQocG9pbnQsIDAsIDAsIDAsIDApKQorICAgICwgbV9ib3VuZGluZ0JveChMYXlv
dXRSZWN0IHsgZmxvb3JlZEludFBvaW50KHBvaW50KSwgTGF5b3V0U2l6ZSB7IDEsIDEgfSB9KQog
ICAgICwgbV90cmFuc2Zvcm1lZFBvaW50KHBvaW50KQogICAgICwgbV90cmFuc2Zvcm1lZFJlY3Qo
bV9ib3VuZGluZ0JveCkKIHsKQEAgLTY1LDE1ICs1Myw2IEBAIEhpdFRlc3RMb2NhdGlvbjo6SGl0
VGVzdExvY2F0aW9uKGNvbnN0IExheW91dFJlY3QmIHJlY3QpCiB7CiB9CiAKLUhpdFRlc3RMb2Nh
dGlvbjo6SGl0VGVzdExvY2F0aW9uKGNvbnN0IExheW91dFBvaW50JiBjZW50ZXJQb2ludCwgdW5z
aWduZWQgdG9wUGFkZGluZywgdW5zaWduZWQgcmlnaHRQYWRkaW5nLCB1bnNpZ25lZCBib3R0b21Q
YWRkaW5nLCB1bnNpZ25lZCBsZWZ0UGFkZGluZykKLSAgICA6IG1fcG9pbnQoY2VudGVyUG9pbnQp
Ci0gICAgLCBtX2JvdW5kaW5nQm94KHJlY3RGb3JQb2ludChjZW50ZXJQb2ludCwgdG9wUGFkZGlu
ZywgcmlnaHRQYWRkaW5nLCBib3R0b21QYWRkaW5nLCBsZWZ0UGFkZGluZykpCi0gICAgLCBtX3Ry
YW5zZm9ybWVkUG9pbnQoY2VudGVyUG9pbnQpCi0gICAgLCBtX3RyYW5zZm9ybWVkUmVjdChGbG9h
dFF1YWQgeyBtX2JvdW5kaW5nQm94IH0pCi0gICAgLCBtX2lzUmVjdEJhc2VkKHRvcFBhZGRpbmcg
fHwgcmlnaHRQYWRkaW5nIHx8IGJvdHRvbVBhZGRpbmcgfHwgbGVmdFBhZGRpbmcpCi17Ci19Ci0K
IEhpdFRlc3RMb2NhdGlvbjo6SGl0VGVzdExvY2F0aW9uKGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYg
b3RoZXIsIGNvbnN0IExheW91dFNpemUmIG9mZnNldCkKICAgICA6IG1fcG9pbnQob3RoZXIubV9w
b2ludCkKICAgICAsIG1fYm91bmRpbmdCb3gob3RoZXIubV9ib3VuZGluZ0JveCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0TG9jYXRpb24uaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0TG9jYXRpb24uaAppbmRleCBlMDYxZGU2ODk4NWY3MmFi
Y2FjY2UyZjM0YjljMGVlMTNmM2EwN2ZmLi44MzZmZjc0ZjMwNDBhNDA1ZmI1MzgyZGY0YjQ1MDI3
ZTExNDUwM2UxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdExv
Y2F0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RMb2NhdGlvbi5o
CkBAIC0zMiw3ICszMiw2IEBAIHB1YmxpYzoKICAgICBIaXRUZXN0TG9jYXRpb24oY29uc3QgRmxv
YXRQb2ludCYsIGNvbnN0IEZsb2F0UXVhZCYpOwogCiAgICAgSGl0VGVzdExvY2F0aW9uKGNvbnN0
IExheW91dFJlY3QmKTsKLSAgICBIaXRUZXN0TG9jYXRpb24oY29uc3QgTGF5b3V0UG9pbnQmIGNl
bnRlclBvaW50LCB1bnNpZ25lZCB0b3BQYWRkaW5nLCB1bnNpZ25lZCByaWdodFBhZGRpbmcsIHVu
c2lnbmVkIGJvdHRvbVBhZGRpbmcsIHVuc2lnbmVkIGxlZnRQYWRkaW5nKTsKIAogICAgIC8vIE1h
a2UgYSBjb3B5IHRoZSBIaXRUZXN0TG9jYXRpb24gaW4gYSBuZXcgcmVnaW9uIGJ5IGFwcGx5aW5n
IGdpdmVuIG9mZnNldCB0byBpbnRlcm5hbCBwb2ludCBhbmQgYXJlYS4KICAgICBIaXRUZXN0TG9j
YXRpb24oY29uc3QgSGl0VGVzdExvY2F0aW9uJiwgY29uc3QgTGF5b3V0U2l6ZSYgb2Zmc2V0KTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcAppbmRleCBjNmRkMzY4
Y2MyMGM0ODYyMzRmZDk1N2MwMTgzNDlkYWYyNmQ5MjcxLi42YzFkOGVkNGJmMjM4YTQ5YjQxZjJm
YjZkZWM1ODA3OWFlYzljNWMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
SGl0VGVzdFJlc3VsdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RS
ZXN1bHQuY3BwCkBAIC03NSwxMiArNzUsNiBAQCBIaXRUZXN0UmVzdWx0OjpIaXRUZXN0UmVzdWx0
KGNvbnN0IExheW91dFJlY3QmIHJlY3QpCiB7CiB9CiAKLUhpdFRlc3RSZXN1bHQ6OkhpdFRlc3RS
ZXN1bHQoY29uc3QgTGF5b3V0UG9pbnQmIGNlbnRlclBvaW50LCB1bnNpZ25lZCB0b3BQYWRkaW5n
LCB1bnNpZ25lZCByaWdodFBhZGRpbmcsIHVuc2lnbmVkIGJvdHRvbVBhZGRpbmcsIHVuc2lnbmVk
IGxlZnRQYWRkaW5nKQotICAgIDogbV9oaXRUZXN0TG9jYXRpb24oY2VudGVyUG9pbnQsIHRvcFBh
ZGRpbmcsIHJpZ2h0UGFkZGluZywgYm90dG9tUGFkZGluZywgbGVmdFBhZGRpbmcpCi0gICAgLCBt
X3BvaW50SW5Jbm5lck5vZGVGcmFtZShjZW50ZXJQb2ludCkKLXsKLX0KLQogSGl0VGVzdFJlc3Vs
dDo6SGl0VGVzdFJlc3VsdChjb25zdCBIaXRUZXN0TG9jYXRpb24mIG90aGVyKQogICAgIDogbV9o
aXRUZXN0TG9jYXRpb24ob3RoZXIpCiAgICAgLCBtX3BvaW50SW5Jbm5lck5vZGVGcmFtZShtX2hp
dFRlc3RMb2NhdGlvbi5wb2ludCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0hpdFRlc3RSZXN1bHQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVz
dWx0LmgKaW5kZXggNWVjOTJiZjExZDBjOTJkMjEwNjI5N2JjZjQ4ZGUzN2RjODYzNDBmOS4uMzVh
YTgwYjc0NDA4YjMwMDQyZmNiMzQ1ZjJlNGQxOTQyZTIyNTkxNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oCkBAIC00Niw4ICs0Niw2IEBAIHB1YmxpYzoKICAgICBX
RUJDT1JFX0VYUE9SVCBleHBsaWNpdCBIaXRUZXN0UmVzdWx0KGNvbnN0IExheW91dFBvaW50Jik7
CiAKICAgICBXRUJDT1JFX0VYUE9SVCBleHBsaWNpdCBIaXRUZXN0UmVzdWx0KGNvbnN0IExheW91
dFJlY3QmKTsKLSAgICBXRUJDT1JFX0VYUE9SVCBIaXRUZXN0UmVzdWx0KGNvbnN0IExheW91dFBv
aW50JiBjZW50ZXJQb2ludCwgdW5zaWduZWQgdG9wUGFkZGluZywgdW5zaWduZWQgcmlnaHRQYWRk
aW5nLCB1bnNpZ25lZCBib3R0b21QYWRkaW5nLCB1bnNpZ25lZCBsZWZ0UGFkZGluZyk7Ci0KICAg
ICBXRUJDT1JFX0VYUE9SVCBleHBsaWNpdCBIaXRUZXN0UmVzdWx0KGNvbnN0IEhpdFRlc3RMb2Nh
dGlvbiYpOwogICAgIFdFQkNPUkVfRVhQT1JUIEhpdFRlc3RSZXN1bHQoY29uc3QgSGl0VGVzdFJl
c3VsdCYpOwogICAgIFdFQkNPUkVfRVhQT1JUIH5IaXRUZXN0UmVzdWx0KCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggNzU2ZDAzYzU5NzEyYmExYzAzMjUyZjhmOTg3YjY0
NWY5ZTQwNTQ0NC4uNTlhNDQ0NzFjOWY2MjllMTUxYjg3MjQ0ZmQ1M2MzNjIxNzliZjc3ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMjMxMiw3ICsyMzEyLDE1IEBAIEV4
Y2VwdGlvbk9yPFJlZlB0cjxOb2RlTGlzdD4+IEludGVybmFsczo6bm9kZXNGcm9tUmVjdChEb2N1
bWVudCYgZG9jdW1lbnQsIGludCBjCiAKICAgICBIaXRUZXN0UmVxdWVzdCByZXF1ZXN0KGhpdFR5
cGUpOwogCi0gICAgYXV0byBoaXRUZXN0UmVzdWx0ID0gSGl0VGVzdFJlc3VsdCB7IHBvaW50LCB0
b3BQYWRkaW5nLCByaWdodFBhZGRpbmcsIGJvdHRvbVBhZGRpbmcsIGxlZnRQYWRkaW5nIH07Cisg
ICAgYXV0byBoaXRUZXN0UmVzdWx0ID0gSGl0VGVzdFJlc3VsdCB7IH07CisgICAgYXV0byBzaXpl
ID0gTGF5b3V0U2l6ZSB7IGxlZnRQYWRkaW5nICsgcmlnaHRQYWRkaW5nLCB0b3BQYWRkaW5nICsg
Ym90dG9tUGFkZGluZyB9OworICAgIGlmIChzaXplLmlzRW1wdHkoKSkKKyAgICAgICAgaGl0VGVz
dFJlc3VsdCA9IEhpdFRlc3RSZXN1bHQgeyBwb2ludCB9OworICAgIGVsc2UgeworICAgICAgICBh
dXRvIGFkanVzdGVkUG9zaXRpb24gPSBMYXlvdXRQb2ludCB7IGZsb29yZWRJbnRQb2ludChwb2lu
dCkgfTsKKyAgICAgICAgYWRqdXN0ZWRQb3NpdGlvbiAtPSBMYXlvdXRTaXplICB7IGxlZnRQYWRk
aW5nLCB0b3BQYWRkaW5nIH07CisgICAgICAgIGhpdFRlc3RSZXN1bHQgPSBIaXRUZXN0UmVzdWx0
IHsgTGF5b3V0UmVjdCB7IGFkanVzdGVkUG9zaXRpb24sIHNpemUgfSB9OworICAgIH0KICAgICAv
LyBXaGVuIGlnbm9yZUNsaXBwaW5nIGlzIGZhbHNlLCB0aGlzIG1ldGhvZCByZXR1cm5zIG51bGwg
Zm9yIGNvb3JkaW5hdGVzIG91dHNpZGUgb2YgdGhlIHZpZXdwb3J0LgogICAgIGlmICghcmVxdWVz
dC5pZ25vcmVDbGlwcGluZygpICYmICFoaXRUZXN0UmVzdWx0LmhpdFRlc3RMb2NhdGlvbigpLmlu
dGVyc2VjdHMoTGF5b3V0UmVjdCB7IGZyYW1lVmlldy0+dmlzaWJsZUNvbnRlbnRSZWN0KCkgfSkp
CiAgICAgICAgIHJldHVybiBudWxscHRyOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431819</attachid>
            <date>2021-06-20 06:26:41 -0700</date>
            <delta_ts>2021-06-20 21:13:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227186-20210620062640.patch</filename>
            <type>text/plain</type>
            <size>9894</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4OTE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMThlODAzZWEyN2IzMTYy
ZjlhMWY1ZjdhOTExZTlmOTFlNjM4ZGNkYi4uZmVjZTY5N2VkNWY0M2E3YmM2NTE3NjUxN2NiOThk
MmFjM2Y5ZGE5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIxLTA2LTE5ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgcmVkdW5kYW50IEhp
dFRlc3RMb2NhdGlvbihjb25zdCBMYXlvdXRQb2ludCYgY2VudGVyUG9pbnQsIHVuc2lnbmVkIHRv
cFBhZGRpbmcsIHVuc2lnbmVkIHJpZ2h0UGFkZGluZywgdW5zaWduZWQgYm90dG9tUGFkZGluZywg
dW5zaWduZWQgbGVmdFBhZGRpbmcpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjcxODYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBMZXQncyB1c2UgdGhlIExheW91dFJlY3QgYmFzZWQgYyd0b3IgYXQgdGhl
IG9ubHkgY2FsbHNpdGUgKEludGVybmFscykuCisKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmhpdFRlc3RSZXN1bHRBdFBv
aW50IGNvbnN0KToKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5oOgorICAgICAgICAqIHJl
bmRlcmluZy9IaXRUZXN0TG9jYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SGl0VGVzdExv
Y2F0aW9uOjpIaXRUZXN0TG9jYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6cmVjdEZvclBvaW50
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Om1faXNSZWN0QmFzZWQpOiBEZWxldGVkLgor
ICAgICAgICAqIHJlbmRlcmluZy9IaXRUZXN0TG9jYXRpb24uaDoKKyAgICAgICAgKiByZW5kZXJp
bmcvSGl0VGVzdFJlc3VsdC5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQu
aDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6IHRoZSAoMSwgMSkgaW5mbGF0ZSBp
cyBvbmx5IHJlbGV2YW50IGZvciB0aGUgcG9pbnQgYmFzZWQgaGl0IHRlc3QuCisgICAgICAgIChX
ZWJDb3JlOjpJbnRlcm5hbHM6Om5vZGVzRnJvbVJlY3QgY29uc3QpOgorCiAyMDIxLTA2LTE5ICBB
bGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBIaXRUZXN0TG9jYXRpb246
Om1fYm91bmRpbmdCb3ggc2hvdWxkIGJlIGFibGUgaG9sZCBzdWJwaXhlbCB2YWx1ZXMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCA5Njk4NmI1MzA5MWJjNjkwZTZmY2Q0Y2Iw
NjdhYmEwMjFhMzU2MDcyLi4zYzVmN2JjYmE4ZTI5NjY0ODQzZjE5ZjE0M2VkMDg4MzU3ZmU5ODFk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0xMTU1LDkgKzExNTUsOSBA
QCBPcHRpb25TZXQ8RHJhZ1NvdXJjZUFjdGlvbj4gRXZlbnRIYW5kbGVyOjp1cGRhdGVEcmFnU291
cmNlQWN0aW9uc0FsbG93ZWQoKSBjb25zdAogfQogI2VuZGlmIC8vIEVOQUJMRShEUkFHX1NVUFBP
UlQpCiAKLUhpdFRlc3RSZXN1bHQgRXZlbnRIYW5kbGVyOjpoaXRUZXN0UmVzdWx0QXRQb2ludChj
b25zdCBMYXlvdXRQb2ludCYgcG9pbnQsIE9wdGlvblNldDxIaXRUZXN0UmVxdWVzdDo6VHlwZT4g
aGl0VHlwZSwgY29uc3QgTGF5b3V0U2l6ZSYgcGFkZGluZykgY29uc3QKK0hpdFRlc3RSZXN1bHQg
RXZlbnRIYW5kbGVyOjpoaXRUZXN0UmVzdWx0QXRQb2ludChjb25zdCBMYXlvdXRQb2ludCYgcG9p
bnQsIE9wdGlvblNldDxIaXRUZXN0UmVxdWVzdDo6VHlwZT4gaGl0VHlwZSkgY29uc3QKIHsKLSAg
ICBBU1NFUlQoKGhpdFR5cGUgJiBIaXRUZXN0UmVxdWVzdDo6VHlwZTo6Q29sbGVjdE11bHRpcGxl
RWxlbWVudHMpIHx8IHBhZGRpbmcuaXNFbXB0eSgpKTsKKyAgICBBU1NFUlQoIWhpdFR5cGUuY29u
dGFpbnMoSGl0VGVzdFJlcXVlc3Q6OlR5cGU6OkNvbGxlY3RNdWx0aXBsZUVsZW1lbnRzKSk7CiAK
ICAgICBSZWY8RnJhbWU+IHByb3RlY3RlZEZyYW1lKG1fZnJhbWUpOwogCkBAIC0xMTY5LDE4ICsx
MTY5LDE1IEBAIEhpdFRlc3RSZXN1bHQgRXZlbnRIYW5kbGVyOjpoaXRUZXN0UmVzdWx0QXRQb2lu
dChjb25zdCBMYXlvdXRQb2ludCYgcG9pbnQsIE9wdGlvCiAgICAgICAgIEZyYW1lVmlldyogbWFp
blZpZXcgPSBtYWluRnJhbWUudmlldygpOwogICAgICAgICBpZiAoZnJhbWVWaWV3ICYmIG1haW5W
aWV3KSB7CiAgICAgICAgICAgICBJbnRQb2ludCBtYWluRnJhbWVQb2ludCA9IG1haW5WaWV3LT5y
b290Vmlld1RvQ29udGVudHMoZnJhbWVWaWV3LT5jb250ZW50c1RvUm9vdFZpZXcocm91bmRlZElu
dFBvaW50KHBvaW50KSkpOwotICAgICAgICAgICAgcmV0dXJuIG1haW5GcmFtZS5ldmVudEhhbmRs
ZXIoKS5oaXRUZXN0UmVzdWx0QXRQb2ludChtYWluRnJhbWVQb2ludCwgaGl0VHlwZSwgcGFkZGlu
Zyk7CisgICAgICAgICAgICByZXR1cm4gbWFpbkZyYW1lLmV2ZW50SGFuZGxlcigpLmhpdFRlc3RS
ZXN1bHRBdFBvaW50KG1haW5GcmFtZVBvaW50LCBoaXRUeXBlKTsKICAgICAgICAgfQogICAgIH0K
IAotICAgIHVuc2lnbmVkIG5vbk5lZ2F0aXZlUGFkZGluZ1dpZHRoID0gc3RkOjptYXg8TGF5b3V0
VW5pdD4oMCwgcGFkZGluZy53aWR0aCgpKS50b1Vuc2lnbmVkKCk7Ci0gICAgdW5zaWduZWQgbm9u
TmVnYXRpdmVQYWRkaW5nSGVpZ2h0ID0gc3RkOjptYXg8TGF5b3V0VW5pdD4oMCwgcGFkZGluZy5o
ZWlnaHQoKSkudG9VbnNpZ25lZCgpOwotCiAgICAgLy8gV2Ugc2hvdWxkIGFsd2F5cyBzdGFydCBo
aXQgdGVzdGluZyBhIGNsZWFuIHRyZWUuCiAgICAgaWYgKGF1dG8qIGZyYW1lVmlldyA9IG1fZnJh
bWUudmlldygpKQogICAgICAgICBmcmFtZVZpZXctPnVwZGF0ZUxheW91dEFuZFN0eWxlSWZOZWVk
ZWRSZWN1cnNpdmUoKTsKIAotICAgIEhpdFRlc3RSZXN1bHQgcmVzdWx0KHBvaW50LCBub25OZWdh
dGl2ZVBhZGRpbmdIZWlnaHQsIG5vbk5lZ2F0aXZlUGFkZGluZ1dpZHRoLCBub25OZWdhdGl2ZVBh
ZGRpbmdIZWlnaHQsIG5vbk5lZ2F0aXZlUGFkZGluZ1dpZHRoKTsKKyAgICBhdXRvIHJlc3VsdCA9
IEhpdFRlc3RSZXN1bHQgeyBwb2ludCB9OwogICAgIGF1dG8qIGRvY3VtZW50ID0gbV9mcmFtZS5k
b2N1bWVudCgpOwogICAgIGlmICghZG9jdW1lbnQpCiAgICAgICAgIHJldHVybiByZXN1bHQ7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAppbmRleCA5ZmI1MmIyZTlmYmQ4NTczMTUzNGE2YjI4
YTkxYTM2OWMzNzg3N2QyLi4yYjYzNTg5NjQ4NzZkMTUxYzA5NzE4YmRlZjg5ZDhlZDQyZDE0YWVm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKQEAgLTE1NSw3ICsxNTUsNyBAQCBwdWJs
aWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBkaXNwYXRjaEZha2VNb3VzZU1vdmVFdmVudFNv
b24oKTsKICAgICB2b2lkIGRpc3BhdGNoRmFrZU1vdXNlTW92ZUV2ZW50U29vbkluUXVhZChjb25z
dCBGbG9hdFF1YWQmKTsKIAotICAgIFdFQkNPUkVfRVhQT1JUIEhpdFRlc3RSZXN1bHQgaGl0VGVz
dFJlc3VsdEF0UG9pbnQoY29uc3QgTGF5b3V0UG9pbnQmLCBPcHRpb25TZXQ8SGl0VGVzdFJlcXVl
c3Q6OlR5cGU+LCBjb25zdCBMYXlvdXRTaXplJiBwYWRkaW5nID0gTGF5b3V0U2l6ZSgpKSBjb25z
dDsKKyAgICBXRUJDT1JFX0VYUE9SVCBIaXRUZXN0UmVzdWx0IGhpdFRlc3RSZXN1bHRBdFBvaW50
KGNvbnN0IExheW91dFBvaW50JiwgT3B0aW9uU2V0PEhpdFRlc3RSZXF1ZXN0OjpUeXBlPikgY29u
c3Q7CiAKICAgICBib29sIG1vdXNlUHJlc3NlZCgpIGNvbnN0IHsgcmV0dXJuIG1fbW91c2VQcmVz
c2VkOyB9CiAgICAgTm9kZSogbW91c2VQcmVzc05vZGUoKSBjb25zdCB7IHJldHVybiBtX21vdXNl
UHJlc3NOb2RlLmdldCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
SGl0VGVzdExvY2F0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0TG9j
YXRpb24uY3BwCmluZGV4IGMxZTRmM2E1OTBkNDlkZWRkMDhiYmVjY2JkOWM0ZGYyMDQ5NzhhNmQu
LjJiNTFhNGU3NmExNDg1NjMzZTk3OWU4NDI3NTY4MDk2NjEwMTk4N2QgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0TG9jYXRpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0TG9jYXRpb24uY3BwCkBAIC0yNCwyMyArMjQsMTEgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgTGF5b3V0UmVjdCByZWN0Rm9yUG9pbnQo
Y29uc3QgTGF5b3V0UG9pbnQmIHBvaW50LCB1bnNpZ25lZCB0b3BQYWRkaW5nLCB1bnNpZ25lZCBy
aWdodFBhZGRpbmcsIHVuc2lnbmVkIGJvdHRvbVBhZGRpbmcsIHVuc2lnbmVkIGxlZnRQYWRkaW5n
KQotewotICAgIGF1dG8gYWRqdXN0ZWRQb3NpdGlvbiA9IExheW91dFBvaW50IHsgZmxvb3JlZElu
dFBvaW50KHBvaW50KSB9OwotICAgIGFkanVzdGVkUG9zaXRpb24gLT0gTGF5b3V0U2l6ZSAgeyBs
ZWZ0UGFkZGluZywgdG9wUGFkZGluZyB9OwotCi0gICAgYXV0byB3aWR0aCA9IExheW91dFVuaXQg
eyBsZWZ0UGFkZGluZyArIHJpZ2h0UGFkZGluZyB9OwotICAgIGF1dG8gaGVpZ2h0ID0gTGF5b3V0
VW5pdCB7IHRvcFBhZGRpbmcgKyBib3R0b21QYWRkaW5nIH07Ci0gICAgLy8gQXMgSW50UmVjdCBp
cyBsZWZ0IGluY2x1c2l2ZSBhbmQgcmlnaHQgZXhjbHVzaXZlIChzZWVpbmcgSW50UmVjdDo6Y29u
dGFpbnMoeCwgeSkpLCBhZGRpbmcgIjEiLgotICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhpcyBvbmNl
IG5vbi1yZWN0IGJhc2VkIGhpdC1kZXRlY3Rpb24gc3RvcHMgdXNpbmcgSW50UmVjdDppbnRlcnNl
Y3RzLgotICAgIHJldHVybiB7IGFkanVzdGVkUG9zaXRpb24sIExheW91dFNpemUgeyB3aWR0aCAr
IDEsIGhlaWdodCArIDEgfSB9OwotfQotCiBIaXRUZXN0TG9jYXRpb246OkhpdFRlc3RMb2NhdGlv
bigpID0gZGVmYXVsdDsKIAogSGl0VGVzdExvY2F0aW9uOjpIaXRUZXN0TG9jYXRpb24oY29uc3Qg
TGF5b3V0UG9pbnQmIHBvaW50KQogICAgIDogbV9wb2ludChwb2ludCkKLSAgICAsIG1fYm91bmRp
bmdCb3gocmVjdEZvclBvaW50KHBvaW50LCAwLCAwLCAwLCAwKSkKKyAgICAsIG1fYm91bmRpbmdC
b3goTGF5b3V0UmVjdCB7IGZsb29yZWRJbnRQb2ludChwb2ludCksIExheW91dFNpemUgeyAxLCAx
IH0gfSkKICAgICAsIG1fdHJhbnNmb3JtZWRQb2ludChwb2ludCkKICAgICAsIG1fdHJhbnNmb3Jt
ZWRSZWN0KG1fYm91bmRpbmdCb3gpCiB7CkBAIC02NSwxNSArNTMsNiBAQCBIaXRUZXN0TG9jYXRp
b246OkhpdFRlc3RMb2NhdGlvbihjb25zdCBMYXlvdXRSZWN0JiByZWN0KQogewogfQogCi1IaXRU
ZXN0TG9jYXRpb246OkhpdFRlc3RMb2NhdGlvbihjb25zdCBMYXlvdXRQb2ludCYgY2VudGVyUG9p
bnQsIHVuc2lnbmVkIHRvcFBhZGRpbmcsIHVuc2lnbmVkIHJpZ2h0UGFkZGluZywgdW5zaWduZWQg
Ym90dG9tUGFkZGluZywgdW5zaWduZWQgbGVmdFBhZGRpbmcpCi0gICAgOiBtX3BvaW50KGNlbnRl
clBvaW50KQotICAgICwgbV9ib3VuZGluZ0JveChyZWN0Rm9yUG9pbnQoY2VudGVyUG9pbnQsIHRv
cFBhZGRpbmcsIHJpZ2h0UGFkZGluZywgYm90dG9tUGFkZGluZywgbGVmdFBhZGRpbmcpKQotICAg
ICwgbV90cmFuc2Zvcm1lZFBvaW50KGNlbnRlclBvaW50KQotICAgICwgbV90cmFuc2Zvcm1lZFJl
Y3QoRmxvYXRRdWFkIHsgbV9ib3VuZGluZ0JveCB9KQotICAgICwgbV9pc1JlY3RCYXNlZCh0b3BQ
YWRkaW5nIHx8IHJpZ2h0UGFkZGluZyB8fCBib3R0b21QYWRkaW5nIHx8IGxlZnRQYWRkaW5nKQot
ewotfQotCiBIaXRUZXN0TG9jYXRpb246OkhpdFRlc3RMb2NhdGlvbihjb25zdCBIaXRUZXN0TG9j
YXRpb24mIG90aGVyLCBjb25zdCBMYXlvdXRTaXplJiBvZmZzZXQpCiAgICAgOiBtX3BvaW50KG90
aGVyLm1fcG9pbnQpCiAgICAgLCBtX2JvdW5kaW5nQm94KG90aGVyLm1fYm91bmRpbmdCb3gpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdExvY2F0aW9uLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdExvY2F0aW9uLmgKaW5kZXggZTA2MWRlNjg5
ODVmNzJhYmNhY2NlMmYzNGI5YzBlZTEzZjNhMDdmZi4uODM2ZmY3NGYzMDQwYTQwNWZiNTM4MmRm
NGI0NTAyN2UxMTQ1MDNlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hp
dFRlc3RMb2NhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0TG9j
YXRpb24uaApAQCAtMzIsNyArMzIsNiBAQCBwdWJsaWM6CiAgICAgSGl0VGVzdExvY2F0aW9uKGNv
bnN0IEZsb2F0UG9pbnQmLCBjb25zdCBGbG9hdFF1YWQmKTsKIAogICAgIEhpdFRlc3RMb2NhdGlv
bihjb25zdCBMYXlvdXRSZWN0Jik7Ci0gICAgSGl0VGVzdExvY2F0aW9uKGNvbnN0IExheW91dFBv
aW50JiBjZW50ZXJQb2ludCwgdW5zaWduZWQgdG9wUGFkZGluZywgdW5zaWduZWQgcmlnaHRQYWRk
aW5nLCB1bnNpZ25lZCBib3R0b21QYWRkaW5nLCB1bnNpZ25lZCBsZWZ0UGFkZGluZyk7CiAKICAg
ICAvLyBNYWtlIGEgY29weSB0aGUgSGl0VGVzdExvY2F0aW9uIGluIGEgbmV3IHJlZ2lvbiBieSBh
cHBseWluZyBnaXZlbiBvZmZzZXQgdG8gaW50ZXJuYWwgcG9pbnQgYW5kIGFyZWEuCiAgICAgSGl0
VGVzdExvY2F0aW9uKGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYsIGNvbnN0IExheW91dFNpemUmIG9m
ZnNldCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3Vs
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAKaW5kZXgg
YzZkZDM2OGNjMjBjNDg2MjM0ZmQ5NTdjMDE4MzQ5ZGFmMjZkOTI3MS4uNmMxZDhlZDRiZjIzOGE0
OWI0MWYyZmI2ZGVjNTgwNzlhZWM5YzVjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9I
aXRUZXN0UmVzdWx0LmNwcApAQCAtNzUsMTIgKzc1LDYgQEAgSGl0VGVzdFJlc3VsdDo6SGl0VGVz
dFJlc3VsdChjb25zdCBMYXlvdXRSZWN0JiByZWN0KQogewogfQogCi1IaXRUZXN0UmVzdWx0OjpI
aXRUZXN0UmVzdWx0KGNvbnN0IExheW91dFBvaW50JiBjZW50ZXJQb2ludCwgdW5zaWduZWQgdG9w
UGFkZGluZywgdW5zaWduZWQgcmlnaHRQYWRkaW5nLCB1bnNpZ25lZCBib3R0b21QYWRkaW5nLCB1
bnNpZ25lZCBsZWZ0UGFkZGluZykKLSAgICA6IG1faGl0VGVzdExvY2F0aW9uKGNlbnRlclBvaW50
LCB0b3BQYWRkaW5nLCByaWdodFBhZGRpbmcsIGJvdHRvbVBhZGRpbmcsIGxlZnRQYWRkaW5nKQot
ICAgICwgbV9wb2ludEluSW5uZXJOb2RlRnJhbWUoY2VudGVyUG9pbnQpCi17Ci19Ci0KIEhpdFRl
c3RSZXN1bHQ6OkhpdFRlc3RSZXN1bHQoY29uc3QgSGl0VGVzdExvY2F0aW9uJiBvdGhlcikKICAg
ICA6IG1faGl0VGVzdExvY2F0aW9uKG90aGVyKQogICAgICwgbV9wb2ludEluSW5uZXJOb2RlRnJh
bWUobV9oaXRUZXN0TG9jYXRpb24ucG9pbnQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0
VGVzdFJlc3VsdC5oCmluZGV4IDVlYzkyYmYxMWQwYzkyZDIxMDYyOTdiY2Y0OGRlMzdkYzg2MzQw
ZjkuLjM1YWE4MGI3NDQwOGIzMDA0MmZjYjM0NWYyZTRkMTk0MmUyMjU5MTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuaApAQCAtNDYsOCArNDYsNiBAQCBwdWJsaWM6
CiAgICAgV0VCQ09SRV9FWFBPUlQgZXhwbGljaXQgSGl0VGVzdFJlc3VsdChjb25zdCBMYXlvdXRQ
b2ludCYpOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgZXhwbGljaXQgSGl0VGVzdFJlc3VsdChjb25z
dCBMYXlvdXRSZWN0Jik7Ci0gICAgV0VCQ09SRV9FWFBPUlQgSGl0VGVzdFJlc3VsdChjb25zdCBM
YXlvdXRQb2ludCYgY2VudGVyUG9pbnQsIHVuc2lnbmVkIHRvcFBhZGRpbmcsIHVuc2lnbmVkIHJp
Z2h0UGFkZGluZywgdW5zaWduZWQgYm90dG9tUGFkZGluZywgdW5zaWduZWQgbGVmdFBhZGRpbmcp
OwotCiAgICAgV0VCQ09SRV9FWFBPUlQgZXhwbGljaXQgSGl0VGVzdFJlc3VsdChjb25zdCBIaXRU
ZXN0TG9jYXRpb24mKTsKICAgICBXRUJDT1JFX0VYUE9SVCBIaXRUZXN0UmVzdWx0KGNvbnN0IEhp
dFRlc3RSZXN1bHQmKTsKICAgICBXRUJDT1JFX0VYUE9SVCB+SGl0VGVzdFJlc3VsdCgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDc1NmQwM2M1OTcxMmJhMWMwMzI1MmY4
Zjk4N2I2NDVmOWU0MDU0NDQuLjU5YTQ0NDcxYzlmNjI5ZTE1MWI4NzI0NGZkNTNjMzYyMTc5YmY3
N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTIzMTIsNyArMjMxMiwx
NSBAQCBFeGNlcHRpb25PcjxSZWZQdHI8Tm9kZUxpc3Q+PiBJbnRlcm5hbHM6Om5vZGVzRnJvbVJl
Y3QoRG9jdW1lbnQmIGRvY3VtZW50LCBpbnQgYwogCiAgICAgSGl0VGVzdFJlcXVlc3QgcmVxdWVz
dChoaXRUeXBlKTsKIAotICAgIGF1dG8gaGl0VGVzdFJlc3VsdCA9IEhpdFRlc3RSZXN1bHQgeyBw
b2ludCwgdG9wUGFkZGluZywgcmlnaHRQYWRkaW5nLCBib3R0b21QYWRkaW5nLCBsZWZ0UGFkZGlu
ZyB9OworICAgIGF1dG8gaGl0VGVzdFJlc3VsdCA9IEhpdFRlc3RSZXN1bHQgeyB9OworICAgIGF1
dG8gc2l6ZSA9IExheW91dFNpemUgeyBsZWZ0UGFkZGluZyArIHJpZ2h0UGFkZGluZywgdG9wUGFk
ZGluZyArIGJvdHRvbVBhZGRpbmcgfTsKKyAgICBpZiAoc2l6ZS5pc0VtcHR5KCkpCisgICAgICAg
IGhpdFRlc3RSZXN1bHQgPSBIaXRUZXN0UmVzdWx0IHsgcG9pbnQgfTsKKyAgICBlbHNlIHsKKyAg
ICAgICAgYXV0byBhZGp1c3RlZFBvc2l0aW9uID0gTGF5b3V0UG9pbnQgeyBmbG9vcmVkSW50UG9p
bnQocG9pbnQpIH07CisgICAgICAgIGFkanVzdGVkUG9zaXRpb24gLT0gTGF5b3V0U2l6ZSAgeyBs
ZWZ0UGFkZGluZywgdG9wUGFkZGluZyB9OworICAgICAgICBoaXRUZXN0UmVzdWx0ID0gSGl0VGVz
dFJlc3VsdCB7IExheW91dFJlY3QgeyBhZGp1c3RlZFBvc2l0aW9uLCBzaXplIH0gfTsKKyAgICB9
CiAgICAgLy8gV2hlbiBpZ25vcmVDbGlwcGluZyBpcyBmYWxzZSwgdGhpcyBtZXRob2QgcmV0dXJu
cyBudWxsIGZvciBjb29yZGluYXRlcyBvdXRzaWRlIG9mIHRoZSB2aWV3cG9ydC4KICAgICBpZiAo
IXJlcXVlc3QuaWdub3JlQ2xpcHBpbmcoKSAmJiAhaGl0VGVzdFJlc3VsdC5oaXRUZXN0TG9jYXRp
b24oKS5pbnRlcnNlY3RzKExheW91dFJlY3QgeyBmcmFtZVZpZXctPnZpc2libGVDb250ZW50UmVj
dCgpIH0pKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431830</attachid>
            <date>2021-06-20 21:13:14 -0700</date>
            <delta_ts>2021-06-21 05:48:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227186-20210620211313.patch</filename>
            <type>text/plain</type>
            <size>9834</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MDYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjRlY2VjOTBkZDZjYjQy
NGM0YjJjYjY0NDA2NzFlZjI0NDk0ODAxMi4uMWJhZDk5NGUzYmU1Y2I2M2M5N2I5ODE5NTY5Njc0
ZTZlN2JiY2FjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIxLTA2LTIwICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgcmVkdW5kYW50IEhp
dFRlc3RMb2NhdGlvbihjb25zdCBMYXlvdXRQb2ludCYgY2VudGVyUG9pbnQsIHVuc2lnbmVkIHRv
cFBhZGRpbmcsIHVuc2lnbmVkIHJpZ2h0UGFkZGluZywgdW5zaWduZWQgYm90dG9tUGFkZGluZywg
dW5zaWduZWQgbGVmdFBhZGRpbmcpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjcxODYKKworICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgor
CisgICAgICAgIExldCdzIHVzZSB0aGUgTGF5b3V0UmVjdCBiYXNlZCBjJ3RvciBhdCB0aGUgb25s
eSBjYWxsc2l0ZSAoSW50ZXJuYWxzKS4KKworICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6aGl0VGVzdFJlc3VsdEF0UG9pbnQg
Y29uc3QpOgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmg6CisgICAgICAgICogcmVuZGVy
aW5nL0hpdFRlc3RMb2NhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIaXRUZXN0TG9jYXRp
b246OkhpdFRlc3RMb2NhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpyZWN0Rm9yUG9pbnQpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6bV9pc1JlY3RCYXNlZCk6IERlbGV0ZWQuCisgICAg
ICAgICogcmVuZGVyaW5nL0hpdFRlc3RMb2NhdGlvbi5oOgorICAgICAgICAqIHJlbmRlcmluZy9I
aXRUZXN0UmVzdWx0LmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oOgor
ICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDogdGhlICgxLCAxKSBpbmZsYXRlIGlzIG9u
bHkgcmVsZXZhbnQgZm9yIHRoZSBwb2ludCBiYXNlZCBoaXQgdGVzdC4KKyAgICAgICAgKFdlYkNv
cmU6OkludGVybmFsczo6bm9kZXNGcm9tUmVjdCBjb25zdCk6CisKIDIwMjEtMDYtMjAgIEFsYW4g
QnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIEhpdFRlc3RMb2NhdGlvbjo6bV9i
b3VuZGluZ0JveCBzaG91bGQgYmUgYWJsZSBob2xkIHN1YnBpeGVsIHZhbHVlcwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IGMwOWUyZDE5ODM4NDllOGQ4MzNlMDJiNjE4N2Rl
ZTJiZmVmYjg0YWQuLmY1YjFmOTE4MTg0MDVkOWZkZmU1MDNjMzlmOTc1MmZhY2E4MzU5ZTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTExNTUsOSArMTE1NSw5IEBAIE9w
dGlvblNldDxEcmFnU291cmNlQWN0aW9uPiBFdmVudEhhbmRsZXI6OnVwZGF0ZURyYWdTb3VyY2VB
Y3Rpb25zQWxsb3dlZCgpIGNvbnN0CiB9CiAjZW5kaWYgLy8gRU5BQkxFKERSQUdfU1VQUE9SVCkK
IAotSGl0VGVzdFJlc3VsdCBFdmVudEhhbmRsZXI6OmhpdFRlc3RSZXN1bHRBdFBvaW50KGNvbnN0
IExheW91dFBvaW50JiBwb2ludCwgT3B0aW9uU2V0PEhpdFRlc3RSZXF1ZXN0OjpUeXBlPiBoaXRU
eXBlLCBjb25zdCBMYXlvdXRTaXplJiBwYWRkaW5nKSBjb25zdAorSGl0VGVzdFJlc3VsdCBFdmVu
dEhhbmRsZXI6OmhpdFRlc3RSZXN1bHRBdFBvaW50KGNvbnN0IExheW91dFBvaW50JiBwb2ludCwg
T3B0aW9uU2V0PEhpdFRlc3RSZXF1ZXN0OjpUeXBlPiBoaXRUeXBlKSBjb25zdAogewotICAgIEFT
U0VSVCgoaGl0VHlwZSAmIEhpdFRlc3RSZXF1ZXN0OjpUeXBlOjpDb2xsZWN0TXVsdGlwbGVFbGVt
ZW50cykgfHwgcGFkZGluZy5pc0VtcHR5KCkpOworICAgIEFTU0VSVCghaGl0VHlwZS5jb250YWlu
cyhIaXRUZXN0UmVxdWVzdDo6VHlwZTo6Q29sbGVjdE11bHRpcGxlRWxlbWVudHMpKTsKIAogICAg
IFJlZjxGcmFtZT4gcHJvdGVjdGVkRnJhbWUobV9mcmFtZSk7CiAKQEAgLTExNjksMTggKzExNjks
MTUgQEAgSGl0VGVzdFJlc3VsdCBFdmVudEhhbmRsZXI6OmhpdFRlc3RSZXN1bHRBdFBvaW50KGNv
bnN0IExheW91dFBvaW50JiBwb2ludCwgT3B0aW8KICAgICAgICAgRnJhbWVWaWV3KiBtYWluVmll
dyA9IG1haW5GcmFtZS52aWV3KCk7CiAgICAgICAgIGlmIChmcmFtZVZpZXcgJiYgbWFpblZpZXcp
IHsKICAgICAgICAgICAgIEludFBvaW50IG1haW5GcmFtZVBvaW50ID0gbWFpblZpZXctPnJvb3RW
aWV3VG9Db250ZW50cyhmcmFtZVZpZXctPmNvbnRlbnRzVG9Sb290Vmlldyhyb3VuZGVkSW50UG9p
bnQocG9pbnQpKSk7Ci0gICAgICAgICAgICByZXR1cm4gbWFpbkZyYW1lLmV2ZW50SGFuZGxlcigp
LmhpdFRlc3RSZXN1bHRBdFBvaW50KG1haW5GcmFtZVBvaW50LCBoaXRUeXBlLCBwYWRkaW5nKTsK
KyAgICAgICAgICAgIHJldHVybiBtYWluRnJhbWUuZXZlbnRIYW5kbGVyKCkuaGl0VGVzdFJlc3Vs
dEF0UG9pbnQobWFpbkZyYW1lUG9pbnQsIGhpdFR5cGUpOwogICAgICAgICB9CiAgICAgfQogCi0g
ICAgdW5zaWduZWQgbm9uTmVnYXRpdmVQYWRkaW5nV2lkdGggPSBzdGQ6Om1heDxMYXlvdXRVbml0
PigwLCBwYWRkaW5nLndpZHRoKCkpLnRvVW5zaWduZWQoKTsKLSAgICB1bnNpZ25lZCBub25OZWdh
dGl2ZVBhZGRpbmdIZWlnaHQgPSBzdGQ6Om1heDxMYXlvdXRVbml0PigwLCBwYWRkaW5nLmhlaWdo
dCgpKS50b1Vuc2lnbmVkKCk7Ci0KICAgICAvLyBXZSBzaG91bGQgYWx3YXlzIHN0YXJ0IGhpdCB0
ZXN0aW5nIGEgY2xlYW4gdHJlZS4KICAgICBpZiAoYXV0byogZnJhbWVWaWV3ID0gbV9mcmFtZS52
aWV3KCkpCiAgICAgICAgIGZyYW1lVmlldy0+dXBkYXRlTGF5b3V0QW5kU3R5bGVJZk5lZWRlZFJl
Y3Vyc2l2ZSgpOwogCi0gICAgSGl0VGVzdFJlc3VsdCByZXN1bHQocG9pbnQsIG5vbk5lZ2F0aXZl
UGFkZGluZ0hlaWdodCwgbm9uTmVnYXRpdmVQYWRkaW5nV2lkdGgsIG5vbk5lZ2F0aXZlUGFkZGlu
Z0hlaWdodCwgbm9uTmVnYXRpdmVQYWRkaW5nV2lkdGgpOworICAgIGF1dG8gcmVzdWx0ID0gSGl0
VGVzdFJlc3VsdCB7IHBvaW50IH07CiAgICAgYXV0byogZG9jdW1lbnQgPSBtX2ZyYW1lLmRvY3Vt
ZW50KCk7CiAgICAgaWYgKCFkb2N1bWVudCkKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50SGFuZGxlci5oCmluZGV4IDlmYjUyYjJlOWZiZDg1NzMxNTM0YTZiMjhhOTFh
MzY5YzM3ODc3ZDIuLjJiNjM1ODk2NDg3NmQxNTFjMDk3MThiZGVmODlkOGVkNDJkMTRhZWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApAQCAtMTU1LDcgKzE1NSw3IEBAIHB1YmxpYzoK
ICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRpc3BhdGNoRmFrZU1vdXNlTW92ZUV2ZW50U29vbigp
OwogICAgIHZvaWQgZGlzcGF0Y2hGYWtlTW91c2VNb3ZlRXZlbnRTb29uSW5RdWFkKGNvbnN0IEZs
b2F0UXVhZCYpOwogCi0gICAgV0VCQ09SRV9FWFBPUlQgSGl0VGVzdFJlc3VsdCBoaXRUZXN0UmVz
dWx0QXRQb2ludChjb25zdCBMYXlvdXRQb2ludCYsIE9wdGlvblNldDxIaXRUZXN0UmVxdWVzdDo6
VHlwZT4sIGNvbnN0IExheW91dFNpemUmIHBhZGRpbmcgPSBMYXlvdXRTaXplKCkpIGNvbnN0Owor
ICAgIFdFQkNPUkVfRVhQT1JUIEhpdFRlc3RSZXN1bHQgaGl0VGVzdFJlc3VsdEF0UG9pbnQoY29u
c3QgTGF5b3V0UG9pbnQmLCBPcHRpb25TZXQ8SGl0VGVzdFJlcXVlc3Q6OlR5cGU+KSBjb25zdDsK
IAogICAgIGJvb2wgbW91c2VQcmVzc2VkKCkgY29uc3QgeyByZXR1cm4gbV9tb3VzZVByZXNzZWQ7
IH0KICAgICBOb2RlKiBtb3VzZVByZXNzTm9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fbW91c2VQcmVz
c05vZGUuZ2V0KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRU
ZXN0TG9jYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RMb2NhdGlv
bi5jcHAKaW5kZXggYzFlNGYzYTU5MGQ0OWRlZGQwOGJiZWNjYmQ5YzRkZjIwNDk3OGE2ZC4uMmI1
MWE0ZTc2YTE0ODU2MzNlOTc5ZTg0Mjc1NjgwOTY2MTAxOTg3ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RMb2NhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0hpdFRlc3RMb2NhdGlvbi5jcHAKQEAgLTI0LDIzICsyNCwxMSBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBMYXlvdXRSZWN0IHJlY3RGb3JQb2ludChjb25z
dCBMYXlvdXRQb2ludCYgcG9pbnQsIHVuc2lnbmVkIHRvcFBhZGRpbmcsIHVuc2lnbmVkIHJpZ2h0
UGFkZGluZywgdW5zaWduZWQgYm90dG9tUGFkZGluZywgdW5zaWduZWQgbGVmdFBhZGRpbmcpCi17
Ci0gICAgYXV0byBhZGp1c3RlZFBvc2l0aW9uID0gTGF5b3V0UG9pbnQgeyBmbG9vcmVkSW50UG9p
bnQocG9pbnQpIH07Ci0gICAgYWRqdXN0ZWRQb3NpdGlvbiAtPSBMYXlvdXRTaXplICB7IGxlZnRQ
YWRkaW5nLCB0b3BQYWRkaW5nIH07Ci0KLSAgICBhdXRvIHdpZHRoID0gTGF5b3V0VW5pdCB7IGxl
ZnRQYWRkaW5nICsgcmlnaHRQYWRkaW5nIH07Ci0gICAgYXV0byBoZWlnaHQgPSBMYXlvdXRVbml0
IHsgdG9wUGFkZGluZyArIGJvdHRvbVBhZGRpbmcgfTsKLSAgICAvLyBBcyBJbnRSZWN0IGlzIGxl
ZnQgaW5jbHVzaXZlIGFuZCByaWdodCBleGNsdXNpdmUgKHNlZWluZyBJbnRSZWN0Ojpjb250YWlu
cyh4LCB5KSksIGFkZGluZyAiMSIuCi0gICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIG9uY2Ugbm9u
LXJlY3QgYmFzZWQgaGl0LWRldGVjdGlvbiBzdG9wcyB1c2luZyBJbnRSZWN0OmludGVyc2VjdHMu
Ci0gICAgcmV0dXJuIHsgYWRqdXN0ZWRQb3NpdGlvbiwgTGF5b3V0U2l6ZSB7IHdpZHRoICsgMSwg
aGVpZ2h0ICsgMSB9IH07Ci19Ci0KIEhpdFRlc3RMb2NhdGlvbjo6SGl0VGVzdExvY2F0aW9uKCkg
PSBkZWZhdWx0OwogCiBIaXRUZXN0TG9jYXRpb246OkhpdFRlc3RMb2NhdGlvbihjb25zdCBMYXlv
dXRQb2ludCYgcG9pbnQpCiAgICAgOiBtX3BvaW50KHBvaW50KQotICAgICwgbV9ib3VuZGluZ0Jv
eChyZWN0Rm9yUG9pbnQocG9pbnQsIDAsIDAsIDAsIDApKQorICAgICwgbV9ib3VuZGluZ0JveChM
YXlvdXRSZWN0IHsgZmxvb3JlZEludFBvaW50KHBvaW50KSwgTGF5b3V0U2l6ZSB7IDEsIDEgfSB9
KQogICAgICwgbV90cmFuc2Zvcm1lZFBvaW50KHBvaW50KQogICAgICwgbV90cmFuc2Zvcm1lZFJl
Y3QobV9ib3VuZGluZ0JveCkKIHsKQEAgLTY1LDE1ICs1Myw2IEBAIEhpdFRlc3RMb2NhdGlvbjo6
SGl0VGVzdExvY2F0aW9uKGNvbnN0IExheW91dFJlY3QmIHJlY3QpCiB7CiB9CiAKLUhpdFRlc3RM
b2NhdGlvbjo6SGl0VGVzdExvY2F0aW9uKGNvbnN0IExheW91dFBvaW50JiBjZW50ZXJQb2ludCwg
dW5zaWduZWQgdG9wUGFkZGluZywgdW5zaWduZWQgcmlnaHRQYWRkaW5nLCB1bnNpZ25lZCBib3R0
b21QYWRkaW5nLCB1bnNpZ25lZCBsZWZ0UGFkZGluZykKLSAgICA6IG1fcG9pbnQoY2VudGVyUG9p
bnQpCi0gICAgLCBtX2JvdW5kaW5nQm94KHJlY3RGb3JQb2ludChjZW50ZXJQb2ludCwgdG9wUGFk
ZGluZywgcmlnaHRQYWRkaW5nLCBib3R0b21QYWRkaW5nLCBsZWZ0UGFkZGluZykpCi0gICAgLCBt
X3RyYW5zZm9ybWVkUG9pbnQoY2VudGVyUG9pbnQpCi0gICAgLCBtX3RyYW5zZm9ybWVkUmVjdChG
bG9hdFF1YWQgeyBtX2JvdW5kaW5nQm94IH0pCi0gICAgLCBtX2lzUmVjdEJhc2VkKHRvcFBhZGRp
bmcgfHwgcmlnaHRQYWRkaW5nIHx8IGJvdHRvbVBhZGRpbmcgfHwgbGVmdFBhZGRpbmcpCi17Ci19
Ci0KIEhpdFRlc3RMb2NhdGlvbjo6SGl0VGVzdExvY2F0aW9uKGNvbnN0IEhpdFRlc3RMb2NhdGlv
biYgb3RoZXIsIGNvbnN0IExheW91dFNpemUmIG9mZnNldCkKICAgICA6IG1fcG9pbnQob3RoZXIu
bV9wb2ludCkKICAgICAsIG1fYm91bmRpbmdCb3gob3RoZXIubV9ib3VuZGluZ0JveCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0TG9jYXRpb24uaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0TG9jYXRpb24uaAppbmRleCBlMDYxZGU2ODk4NWY3
MmFiY2FjY2UyZjM0YjljMGVlMTNmM2EwN2ZmLi44MzZmZjc0ZjMwNDBhNDA1ZmI1MzgyZGY0YjQ1
MDI3ZTExNDUwM2UxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVz
dExvY2F0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RMb2NhdGlv
bi5oCkBAIC0zMiw3ICszMiw2IEBAIHB1YmxpYzoKICAgICBIaXRUZXN0TG9jYXRpb24oY29uc3Qg
RmxvYXRQb2ludCYsIGNvbnN0IEZsb2F0UXVhZCYpOwogCiAgICAgSGl0VGVzdExvY2F0aW9uKGNv
bnN0IExheW91dFJlY3QmKTsKLSAgICBIaXRUZXN0TG9jYXRpb24oY29uc3QgTGF5b3V0UG9pbnQm
IGNlbnRlclBvaW50LCB1bnNpZ25lZCB0b3BQYWRkaW5nLCB1bnNpZ25lZCByaWdodFBhZGRpbmcs
IHVuc2lnbmVkIGJvdHRvbVBhZGRpbmcsIHVuc2lnbmVkIGxlZnRQYWRkaW5nKTsKIAogICAgIC8v
IE1ha2UgYSBjb3B5IHRoZSBIaXRUZXN0TG9jYXRpb24gaW4gYSBuZXcgcmVnaW9uIGJ5IGFwcGx5
aW5nIGdpdmVuIG9mZnNldCB0byBpbnRlcm5hbCBwb2ludCBhbmQgYXJlYS4KICAgICBIaXRUZXN0
TG9jYXRpb24oY29uc3QgSGl0VGVzdExvY2F0aW9uJiwgY29uc3QgTGF5b3V0U2l6ZSYgb2Zmc2V0
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcAppbmRleCBjNmRk
MzY4Y2MyMGM0ODYyMzRmZDk1N2MwMTgzNDlkYWYyNmQ5MjcxLi42YzFkOGVkNGJmMjM4YTQ5YjQx
ZjJmYjZkZWM1ODA3OWFlYzljNWMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvSGl0VGVzdFJlc3VsdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRl
c3RSZXN1bHQuY3BwCkBAIC03NSwxMiArNzUsNiBAQCBIaXRUZXN0UmVzdWx0OjpIaXRUZXN0UmVz
dWx0KGNvbnN0IExheW91dFJlY3QmIHJlY3QpCiB7CiB9CiAKLUhpdFRlc3RSZXN1bHQ6OkhpdFRl
c3RSZXN1bHQoY29uc3QgTGF5b3V0UG9pbnQmIGNlbnRlclBvaW50LCB1bnNpZ25lZCB0b3BQYWRk
aW5nLCB1bnNpZ25lZCByaWdodFBhZGRpbmcsIHVuc2lnbmVkIGJvdHRvbVBhZGRpbmcsIHVuc2ln
bmVkIGxlZnRQYWRkaW5nKQotICAgIDogbV9oaXRUZXN0TG9jYXRpb24oY2VudGVyUG9pbnQsIHRv
cFBhZGRpbmcsIHJpZ2h0UGFkZGluZywgYm90dG9tUGFkZGluZywgbGVmdFBhZGRpbmcpCi0gICAg
LCBtX3BvaW50SW5Jbm5lck5vZGVGcmFtZShjZW50ZXJQb2ludCkKLXsKLX0KLQogSGl0VGVzdFJl
c3VsdDo6SGl0VGVzdFJlc3VsdChjb25zdCBIaXRUZXN0TG9jYXRpb24mIG90aGVyKQogICAgIDog
bV9oaXRUZXN0TG9jYXRpb24ob3RoZXIpCiAgICAgLCBtX3BvaW50SW5Jbm5lck5vZGVGcmFtZSht
X2hpdFRlc3RMb2NhdGlvbi5wb2ludCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0hpdFRlc3RSZXN1bHQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0
UmVzdWx0LmgKaW5kZXggNWVjOTJiZjExZDBjOTJkMjEwNjI5N2JjZjQ4ZGUzN2RjODYzNDBmOS4u
MzVhYTgwYjc0NDA4YjMwMDQyZmNiMzQ1ZjJlNGQxOTQyZTIyNTkxNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oCkBAIC00Niw4ICs0Niw2IEBAIHB1YmxpYzoKICAg
ICBXRUJDT1JFX0VYUE9SVCBleHBsaWNpdCBIaXRUZXN0UmVzdWx0KGNvbnN0IExheW91dFBvaW50
Jik7CiAKICAgICBXRUJDT1JFX0VYUE9SVCBleHBsaWNpdCBIaXRUZXN0UmVzdWx0KGNvbnN0IExh
eW91dFJlY3QmKTsKLSAgICBXRUJDT1JFX0VYUE9SVCBIaXRUZXN0UmVzdWx0KGNvbnN0IExheW91
dFBvaW50JiBjZW50ZXJQb2ludCwgdW5zaWduZWQgdG9wUGFkZGluZywgdW5zaWduZWQgcmlnaHRQ
YWRkaW5nLCB1bnNpZ25lZCBib3R0b21QYWRkaW5nLCB1bnNpZ25lZCBsZWZ0UGFkZGluZyk7Ci0K
ICAgICBXRUJDT1JFX0VYUE9SVCBleHBsaWNpdCBIaXRUZXN0UmVzdWx0KGNvbnN0IEhpdFRlc3RM
b2NhdGlvbiYpOwogICAgIFdFQkNPUkVfRVhQT1JUIEhpdFRlc3RSZXN1bHQoY29uc3QgSGl0VGVz
dFJlc3VsdCYpOwogICAgIFdFQkNPUkVfRVhQT1JUIH5IaXRUZXN0UmVzdWx0KCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggNzU2ZDAzYzU5NzEyYmExYzAzMjUyZjhmOTg3
YjY0NWY5ZTQwNTQ0NC4uMmRjMTAwOTkxYTE4OTE1Y2EzYzRkMWIxN2RhYjk3YTgwYTBjZGFlZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMjMxMiw3ICsyMzEyLDEzIEBA
IEV4Y2VwdGlvbk9yPFJlZlB0cjxOb2RlTGlzdD4+IEludGVybmFsczo6bm9kZXNGcm9tUmVjdChE
b2N1bWVudCYgZG9jdW1lbnQsIGludCBjCiAKICAgICBIaXRUZXN0UmVxdWVzdCByZXF1ZXN0KGhp
dFR5cGUpOwogCi0gICAgYXV0byBoaXRUZXN0UmVzdWx0ID0gSGl0VGVzdFJlc3VsdCB7IHBvaW50
LCB0b3BQYWRkaW5nLCByaWdodFBhZGRpbmcsIGJvdHRvbVBhZGRpbmcsIGxlZnRQYWRkaW5nIH07
CisgICAgYXV0byBoaXRUZXN0UmVzdWx0ID0gWyZdIHsKKyAgICAgICAgYXV0byBzaXplID0gTGF5
b3V0U2l6ZSB7IGxlZnRQYWRkaW5nICsgcmlnaHRQYWRkaW5nLCB0b3BQYWRkaW5nICsgYm90dG9t
UGFkZGluZyB9OworICAgICAgICBpZiAoc2l6ZS5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXR1
cm4gSGl0VGVzdFJlc3VsdCB7IHBvaW50IH07CisgICAgICAgIGF1dG8gYWRqdXN0ZWRQb3NpdGlv
biA9IExheW91dFBvaW50IHsgZmxvb3JlZEludFBvaW50KHBvaW50KSB9IC0gTGF5b3V0U2l6ZSAg
eyBsZWZ0UGFkZGluZywgdG9wUGFkZGluZyB9OworICAgICAgICByZXR1cm4gSGl0VGVzdFJlc3Vs
dCB7IExheW91dFJlY3QgeyBhZGp1c3RlZFBvc2l0aW9uLCBzaXplIH0gfTsKKyAgICB9KCk7CiAg
ICAgLy8gV2hlbiBpZ25vcmVDbGlwcGluZyBpcyBmYWxzZSwgdGhpcyBtZXRob2QgcmV0dXJucyBu
dWxsIGZvciBjb29yZGluYXRlcyBvdXRzaWRlIG9mIHRoZSB2aWV3cG9ydC4KICAgICBpZiAoIXJl
cXVlc3QuaWdub3JlQ2xpcHBpbmcoKSAmJiAhaGl0VGVzdFJlc3VsdC5oaXRUZXN0TG9jYXRpb24o
KS5pbnRlcnNlY3RzKExheW91dFJlY3QgeyBmcmFtZVZpZXctPnZpc2libGVDb250ZW50UmVjdCgp
IH0pKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431850</attachid>
            <date>2021-06-21 05:48:26 -0700</date>
            <delta_ts>2021-06-21 08:08:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227186-20210621054824.patch</filename>
            <type>text/plain</type>
            <size>9776</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MDYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjRlY2VjOTBkZDZjYjQy
NGM0YjJjYjY0NDA2NzFlZjI0NDk0ODAxMi4uYzQyNDg1OGM4YWFhMGI5MzQxYmQ4MDZlYjQ2YTI1
NTBjODI0YTY3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIxLTA2LTIwICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgcmVkdW5kYW50IEhp
dFRlc3RMb2NhdGlvbihjb25zdCBMYXlvdXRQb2ludCYgY2VudGVyUG9pbnQsIHVuc2lnbmVkIHRv
cFBhZGRpbmcsIHVuc2lnbmVkIHJpZ2h0UGFkZGluZywgdW5zaWduZWQgYm90dG9tUGFkZGluZywg
dW5zaWduZWQgbGVmdFBhZGRpbmcpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjcxODYKKworICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgor
CisgICAgICAgIExldCdzIHVzZSB0aGUgTGF5b3V0UmVjdCBiYXNlZCBjJ3RvciBhdCB0aGUgb25s
eSBjYWxsc2l0ZSAoSW50ZXJuYWxzKS4KKworICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6aGl0VGVzdFJlc3VsdEF0UG9pbnQg
Y29uc3QpOgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmg6CisgICAgICAgICogcmVuZGVy
aW5nL0hpdFRlc3RMb2NhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIaXRUZXN0TG9jYXRp
b246OkhpdFRlc3RMb2NhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpyZWN0Rm9yUG9pbnQpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6bV9pc1JlY3RCYXNlZCk6IERlbGV0ZWQuCisgICAg
ICAgICogcmVuZGVyaW5nL0hpdFRlc3RMb2NhdGlvbi5oOgorICAgICAgICAqIHJlbmRlcmluZy9I
aXRUZXN0UmVzdWx0LmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oOgor
ICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVy
bmFsczo6bm9kZXNGcm9tUmVjdCBjb25zdCk6CisKIDIwMjEtMDYtMjAgIEFsYW4gQnVqdGFzICA8
emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIEhpdFRlc3RMb2NhdGlvbjo6bV9ib3VuZGluZ0Jv
eCBzaG91bGQgYmUgYWJsZSBob2xkIHN1YnBpeGVsIHZhbHVlcwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVu
dEhhbmRsZXIuY3BwCmluZGV4IGMwOWUyZDE5ODM4NDllOGQ4MzNlMDJiNjE4N2RlZTJiZmVmYjg0
YWQuLmY1YjFmOTE4MTg0MDVkOWZkZmU1MDNjMzlmOTc1MmZhY2E4MzU5ZTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTExNTUsOSArMTE1NSw5IEBAIE9wdGlvblNldDxE
cmFnU291cmNlQWN0aW9uPiBFdmVudEhhbmRsZXI6OnVwZGF0ZURyYWdTb3VyY2VBY3Rpb25zQWxs
b3dlZCgpIGNvbnN0CiB9CiAjZW5kaWYgLy8gRU5BQkxFKERSQUdfU1VQUE9SVCkKIAotSGl0VGVz
dFJlc3VsdCBFdmVudEhhbmRsZXI6OmhpdFRlc3RSZXN1bHRBdFBvaW50KGNvbnN0IExheW91dFBv
aW50JiBwb2ludCwgT3B0aW9uU2V0PEhpdFRlc3RSZXF1ZXN0OjpUeXBlPiBoaXRUeXBlLCBjb25z
dCBMYXlvdXRTaXplJiBwYWRkaW5nKSBjb25zdAorSGl0VGVzdFJlc3VsdCBFdmVudEhhbmRsZXI6
OmhpdFRlc3RSZXN1bHRBdFBvaW50KGNvbnN0IExheW91dFBvaW50JiBwb2ludCwgT3B0aW9uU2V0
PEhpdFRlc3RSZXF1ZXN0OjpUeXBlPiBoaXRUeXBlKSBjb25zdAogewotICAgIEFTU0VSVCgoaGl0
VHlwZSAmIEhpdFRlc3RSZXF1ZXN0OjpUeXBlOjpDb2xsZWN0TXVsdGlwbGVFbGVtZW50cykgfHwg
cGFkZGluZy5pc0VtcHR5KCkpOworICAgIEFTU0VSVCghaGl0VHlwZS5jb250YWlucyhIaXRUZXN0
UmVxdWVzdDo6VHlwZTo6Q29sbGVjdE11bHRpcGxlRWxlbWVudHMpKTsKIAogICAgIFJlZjxGcmFt
ZT4gcHJvdGVjdGVkRnJhbWUobV9mcmFtZSk7CiAKQEAgLTExNjksMTggKzExNjksMTUgQEAgSGl0
VGVzdFJlc3VsdCBFdmVudEhhbmRsZXI6OmhpdFRlc3RSZXN1bHRBdFBvaW50KGNvbnN0IExheW91
dFBvaW50JiBwb2ludCwgT3B0aW8KICAgICAgICAgRnJhbWVWaWV3KiBtYWluVmlldyA9IG1haW5G
cmFtZS52aWV3KCk7CiAgICAgICAgIGlmIChmcmFtZVZpZXcgJiYgbWFpblZpZXcpIHsKICAgICAg
ICAgICAgIEludFBvaW50IG1haW5GcmFtZVBvaW50ID0gbWFpblZpZXctPnJvb3RWaWV3VG9Db250
ZW50cyhmcmFtZVZpZXctPmNvbnRlbnRzVG9Sb290Vmlldyhyb3VuZGVkSW50UG9pbnQocG9pbnQp
KSk7Ci0gICAgICAgICAgICByZXR1cm4gbWFpbkZyYW1lLmV2ZW50SGFuZGxlcigpLmhpdFRlc3RS
ZXN1bHRBdFBvaW50KG1haW5GcmFtZVBvaW50LCBoaXRUeXBlLCBwYWRkaW5nKTsKKyAgICAgICAg
ICAgIHJldHVybiBtYWluRnJhbWUuZXZlbnRIYW5kbGVyKCkuaGl0VGVzdFJlc3VsdEF0UG9pbnQo
bWFpbkZyYW1lUG9pbnQsIGhpdFR5cGUpOwogICAgICAgICB9CiAgICAgfQogCi0gICAgdW5zaWdu
ZWQgbm9uTmVnYXRpdmVQYWRkaW5nV2lkdGggPSBzdGQ6Om1heDxMYXlvdXRVbml0PigwLCBwYWRk
aW5nLndpZHRoKCkpLnRvVW5zaWduZWQoKTsKLSAgICB1bnNpZ25lZCBub25OZWdhdGl2ZVBhZGRp
bmdIZWlnaHQgPSBzdGQ6Om1heDxMYXlvdXRVbml0PigwLCBwYWRkaW5nLmhlaWdodCgpKS50b1Vu
c2lnbmVkKCk7Ci0KICAgICAvLyBXZSBzaG91bGQgYWx3YXlzIHN0YXJ0IGhpdCB0ZXN0aW5nIGEg
Y2xlYW4gdHJlZS4KICAgICBpZiAoYXV0byogZnJhbWVWaWV3ID0gbV9mcmFtZS52aWV3KCkpCiAg
ICAgICAgIGZyYW1lVmlldy0+dXBkYXRlTGF5b3V0QW5kU3R5bGVJZk5lZWRlZFJlY3Vyc2l2ZSgp
OwogCi0gICAgSGl0VGVzdFJlc3VsdCByZXN1bHQocG9pbnQsIG5vbk5lZ2F0aXZlUGFkZGluZ0hl
aWdodCwgbm9uTmVnYXRpdmVQYWRkaW5nV2lkdGgsIG5vbk5lZ2F0aXZlUGFkZGluZ0hlaWdodCwg
bm9uTmVnYXRpdmVQYWRkaW5nV2lkdGgpOworICAgIGF1dG8gcmVzdWx0ID0gSGl0VGVzdFJlc3Vs
dCB7IHBvaW50IH07CiAgICAgYXV0byogZG9jdW1lbnQgPSBtX2ZyYW1lLmRvY3VtZW50KCk7CiAg
ICAgaWYgKCFkb2N1bWVudCkKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2
ZW50SGFuZGxlci5oCmluZGV4IDlmYjUyYjJlOWZiZDg1NzMxNTM0YTZiMjhhOTFhMzY5YzM3ODc3
ZDIuLjJiNjM1ODk2NDg3NmQxNTFjMDk3MThiZGVmODlkOGVkNDJkMTRhZWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9FdmVudEhhbmRsZXIuaApAQCAtMTU1LDcgKzE1NSw3IEBAIHB1YmxpYzoKICAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIGRpc3BhdGNoRmFrZU1vdXNlTW92ZUV2ZW50U29vbigpOwogICAgIHZv
aWQgZGlzcGF0Y2hGYWtlTW91c2VNb3ZlRXZlbnRTb29uSW5RdWFkKGNvbnN0IEZsb2F0UXVhZCYp
OwogCi0gICAgV0VCQ09SRV9FWFBPUlQgSGl0VGVzdFJlc3VsdCBoaXRUZXN0UmVzdWx0QXRQb2lu
dChjb25zdCBMYXlvdXRQb2ludCYsIE9wdGlvblNldDxIaXRUZXN0UmVxdWVzdDo6VHlwZT4sIGNv
bnN0IExheW91dFNpemUmIHBhZGRpbmcgPSBMYXlvdXRTaXplKCkpIGNvbnN0OworICAgIFdFQkNP
UkVfRVhQT1JUIEhpdFRlc3RSZXN1bHQgaGl0VGVzdFJlc3VsdEF0UG9pbnQoY29uc3QgTGF5b3V0
UG9pbnQmLCBPcHRpb25TZXQ8SGl0VGVzdFJlcXVlc3Q6OlR5cGU+KSBjb25zdDsKIAogICAgIGJv
b2wgbW91c2VQcmVzc2VkKCkgY29uc3QgeyByZXR1cm4gbV9tb3VzZVByZXNzZWQ7IH0KICAgICBO
b2RlKiBtb3VzZVByZXNzTm9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fbW91c2VQcmVzc05vZGUuZ2V0
KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0TG9jYXRp
b24uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RMb2NhdGlvbi5jcHAKaW5k
ZXggYzFlNGYzYTU5MGQ0OWRlZGQwOGJiZWNjYmQ5YzRkZjIwNDk3OGE2ZC4uMmI1MWE0ZTc2YTE0
ODU2MzNlOTc5ZTg0Mjc1NjgwOTY2MTAxOTg3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0hpdFRlc3RMb2NhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0hpdFRlc3RMb2NhdGlvbi5jcHAKQEAgLTI0LDIzICsyNCwxMSBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLXN0YXRpYyBMYXlvdXRSZWN0IHJlY3RGb3JQb2ludChjb25zdCBMYXlvdXRQ
b2ludCYgcG9pbnQsIHVuc2lnbmVkIHRvcFBhZGRpbmcsIHVuc2lnbmVkIHJpZ2h0UGFkZGluZywg
dW5zaWduZWQgYm90dG9tUGFkZGluZywgdW5zaWduZWQgbGVmdFBhZGRpbmcpCi17Ci0gICAgYXV0
byBhZGp1c3RlZFBvc2l0aW9uID0gTGF5b3V0UG9pbnQgeyBmbG9vcmVkSW50UG9pbnQocG9pbnQp
IH07Ci0gICAgYWRqdXN0ZWRQb3NpdGlvbiAtPSBMYXlvdXRTaXplICB7IGxlZnRQYWRkaW5nLCB0
b3BQYWRkaW5nIH07Ci0KLSAgICBhdXRvIHdpZHRoID0gTGF5b3V0VW5pdCB7IGxlZnRQYWRkaW5n
ICsgcmlnaHRQYWRkaW5nIH07Ci0gICAgYXV0byBoZWlnaHQgPSBMYXlvdXRVbml0IHsgdG9wUGFk
ZGluZyArIGJvdHRvbVBhZGRpbmcgfTsKLSAgICAvLyBBcyBJbnRSZWN0IGlzIGxlZnQgaW5jbHVz
aXZlIGFuZCByaWdodCBleGNsdXNpdmUgKHNlZWluZyBJbnRSZWN0Ojpjb250YWlucyh4LCB5KSks
IGFkZGluZyAiMSIuCi0gICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIG9uY2Ugbm9uLXJlY3QgYmFz
ZWQgaGl0LWRldGVjdGlvbiBzdG9wcyB1c2luZyBJbnRSZWN0OmludGVyc2VjdHMuCi0gICAgcmV0
dXJuIHsgYWRqdXN0ZWRQb3NpdGlvbiwgTGF5b3V0U2l6ZSB7IHdpZHRoICsgMSwgaGVpZ2h0ICsg
MSB9IH07Ci19Ci0KIEhpdFRlc3RMb2NhdGlvbjo6SGl0VGVzdExvY2F0aW9uKCkgPSBkZWZhdWx0
OwogCiBIaXRUZXN0TG9jYXRpb246OkhpdFRlc3RMb2NhdGlvbihjb25zdCBMYXlvdXRQb2ludCYg
cG9pbnQpCiAgICAgOiBtX3BvaW50KHBvaW50KQotICAgICwgbV9ib3VuZGluZ0JveChyZWN0Rm9y
UG9pbnQocG9pbnQsIDAsIDAsIDAsIDApKQorICAgICwgbV9ib3VuZGluZ0JveChMYXlvdXRSZWN0
IHsgZmxvb3JlZEludFBvaW50KHBvaW50KSwgTGF5b3V0U2l6ZSB7IDEsIDEgfSB9KQogICAgICwg
bV90cmFuc2Zvcm1lZFBvaW50KHBvaW50KQogICAgICwgbV90cmFuc2Zvcm1lZFJlY3QobV9ib3Vu
ZGluZ0JveCkKIHsKQEAgLTY1LDE1ICs1Myw2IEBAIEhpdFRlc3RMb2NhdGlvbjo6SGl0VGVzdExv
Y2F0aW9uKGNvbnN0IExheW91dFJlY3QmIHJlY3QpCiB7CiB9CiAKLUhpdFRlc3RMb2NhdGlvbjo6
SGl0VGVzdExvY2F0aW9uKGNvbnN0IExheW91dFBvaW50JiBjZW50ZXJQb2ludCwgdW5zaWduZWQg
dG9wUGFkZGluZywgdW5zaWduZWQgcmlnaHRQYWRkaW5nLCB1bnNpZ25lZCBib3R0b21QYWRkaW5n
LCB1bnNpZ25lZCBsZWZ0UGFkZGluZykKLSAgICA6IG1fcG9pbnQoY2VudGVyUG9pbnQpCi0gICAg
LCBtX2JvdW5kaW5nQm94KHJlY3RGb3JQb2ludChjZW50ZXJQb2ludCwgdG9wUGFkZGluZywgcmln
aHRQYWRkaW5nLCBib3R0b21QYWRkaW5nLCBsZWZ0UGFkZGluZykpCi0gICAgLCBtX3RyYW5zZm9y
bWVkUG9pbnQoY2VudGVyUG9pbnQpCi0gICAgLCBtX3RyYW5zZm9ybWVkUmVjdChGbG9hdFF1YWQg
eyBtX2JvdW5kaW5nQm94IH0pCi0gICAgLCBtX2lzUmVjdEJhc2VkKHRvcFBhZGRpbmcgfHwgcmln
aHRQYWRkaW5nIHx8IGJvdHRvbVBhZGRpbmcgfHwgbGVmdFBhZGRpbmcpCi17Ci19Ci0KIEhpdFRl
c3RMb2NhdGlvbjo6SGl0VGVzdExvY2F0aW9uKGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYgb3RoZXIs
IGNvbnN0IExheW91dFNpemUmIG9mZnNldCkKICAgICA6IG1fcG9pbnQob3RoZXIubV9wb2ludCkK
ICAgICAsIG1fYm91bmRpbmdCb3gob3RoZXIubV9ib3VuZGluZ0JveCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0TG9jYXRpb24uaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9IaXRUZXN0TG9jYXRpb24uaAppbmRleCBlMDYxZGU2ODk4NWY3MmFiY2FjY2Uy
ZjM0YjljMGVlMTNmM2EwN2ZmLi44MzZmZjc0ZjMwNDBhNDA1ZmI1MzgyZGY0YjQ1MDI3ZTExNDUw
M2UxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdExvY2F0aW9u
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RMb2NhdGlvbi5oCkBAIC0z
Miw3ICszMiw2IEBAIHB1YmxpYzoKICAgICBIaXRUZXN0TG9jYXRpb24oY29uc3QgRmxvYXRQb2lu
dCYsIGNvbnN0IEZsb2F0UXVhZCYpOwogCiAgICAgSGl0VGVzdExvY2F0aW9uKGNvbnN0IExheW91
dFJlY3QmKTsKLSAgICBIaXRUZXN0TG9jYXRpb24oY29uc3QgTGF5b3V0UG9pbnQmIGNlbnRlclBv
aW50LCB1bnNpZ25lZCB0b3BQYWRkaW5nLCB1bnNpZ25lZCByaWdodFBhZGRpbmcsIHVuc2lnbmVk
IGJvdHRvbVBhZGRpbmcsIHVuc2lnbmVkIGxlZnRQYWRkaW5nKTsKIAogICAgIC8vIE1ha2UgYSBj
b3B5IHRoZSBIaXRUZXN0TG9jYXRpb24gaW4gYSBuZXcgcmVnaW9uIGJ5IGFwcGx5aW5nIGdpdmVu
IG9mZnNldCB0byBpbnRlcm5hbCBwb2ludCBhbmQgYXJlYS4KICAgICBIaXRUZXN0TG9jYXRpb24o
Y29uc3QgSGl0VGVzdExvY2F0aW9uJiwgY29uc3QgTGF5b3V0U2l6ZSYgb2Zmc2V0KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcAppbmRleCBjNmRkMzY4Y2MyMGM0
ODYyMzRmZDk1N2MwMTgzNDlkYWYyNmQ5MjcxLi42YzFkOGVkNGJmMjM4YTQ5YjQxZjJmYjZkZWM1
ODA3OWFlYzljNWMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVz
dFJlc3VsdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQu
Y3BwCkBAIC03NSwxMiArNzUsNiBAQCBIaXRUZXN0UmVzdWx0OjpIaXRUZXN0UmVzdWx0KGNvbnN0
IExheW91dFJlY3QmIHJlY3QpCiB7CiB9CiAKLUhpdFRlc3RSZXN1bHQ6OkhpdFRlc3RSZXN1bHQo
Y29uc3QgTGF5b3V0UG9pbnQmIGNlbnRlclBvaW50LCB1bnNpZ25lZCB0b3BQYWRkaW5nLCB1bnNp
Z25lZCByaWdodFBhZGRpbmcsIHVuc2lnbmVkIGJvdHRvbVBhZGRpbmcsIHVuc2lnbmVkIGxlZnRQ
YWRkaW5nKQotICAgIDogbV9oaXRUZXN0TG9jYXRpb24oY2VudGVyUG9pbnQsIHRvcFBhZGRpbmcs
IHJpZ2h0UGFkZGluZywgYm90dG9tUGFkZGluZywgbGVmdFBhZGRpbmcpCi0gICAgLCBtX3BvaW50
SW5Jbm5lck5vZGVGcmFtZShjZW50ZXJQb2ludCkKLXsKLX0KLQogSGl0VGVzdFJlc3VsdDo6SGl0
VGVzdFJlc3VsdChjb25zdCBIaXRUZXN0TG9jYXRpb24mIG90aGVyKQogICAgIDogbV9oaXRUZXN0
TG9jYXRpb24ob3RoZXIpCiAgICAgLCBtX3BvaW50SW5Jbm5lck5vZGVGcmFtZShtX2hpdFRlc3RM
b2NhdGlvbi5wb2ludCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hp
dFRlc3RSZXN1bHQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmgK
aW5kZXggNWVjOTJiZjExZDBjOTJkMjEwNjI5N2JjZjQ4ZGUzN2RjODYzNDBmOS4uMzVhYTgwYjc0
NDA4YjMwMDQyZmNiMzQ1ZjJlNGQxOTQyZTIyNTkxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvSGl0VGVzdFJlc3VsdC5oCkBAIC00Niw4ICs0Niw2IEBAIHB1YmxpYzoKICAgICBXRUJDT1JF
X0VYUE9SVCBleHBsaWNpdCBIaXRUZXN0UmVzdWx0KGNvbnN0IExheW91dFBvaW50Jik7CiAKICAg
ICBXRUJDT1JFX0VYUE9SVCBleHBsaWNpdCBIaXRUZXN0UmVzdWx0KGNvbnN0IExheW91dFJlY3Qm
KTsKLSAgICBXRUJDT1JFX0VYUE9SVCBIaXRUZXN0UmVzdWx0KGNvbnN0IExheW91dFBvaW50JiBj
ZW50ZXJQb2ludCwgdW5zaWduZWQgdG9wUGFkZGluZywgdW5zaWduZWQgcmlnaHRQYWRkaW5nLCB1
bnNpZ25lZCBib3R0b21QYWRkaW5nLCB1bnNpZ25lZCBsZWZ0UGFkZGluZyk7Ci0KICAgICBXRUJD
T1JFX0VYUE9SVCBleHBsaWNpdCBIaXRUZXN0UmVzdWx0KGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYp
OwogICAgIFdFQkNPUkVfRVhQT1JUIEhpdFRlc3RSZXN1bHQoY29uc3QgSGl0VGVzdFJlc3VsdCYp
OwogICAgIFdFQkNPUkVfRVhQT1JUIH5IaXRUZXN0UmVzdWx0KCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5jcHAKaW5kZXggNzU2ZDAzYzU5NzEyYmExYzAzMjUyZjhmOTg3YjY0NWY5ZTQw
NTQ0NC4uMDE1M2E2ZTRmM2MxZGY3NTU2MmM2M2M4ZjdiNjA2YWJhMmI2MzA5OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMjMxMiw3ICsyMzEyLDEzIEBAIEV4Y2VwdGlv
bk9yPFJlZlB0cjxOb2RlTGlzdD4+IEludGVybmFsczo6bm9kZXNGcm9tUmVjdChEb2N1bWVudCYg
ZG9jdW1lbnQsIGludCBjCiAKICAgICBIaXRUZXN0UmVxdWVzdCByZXF1ZXN0KGhpdFR5cGUpOwog
Ci0gICAgYXV0byBoaXRUZXN0UmVzdWx0ID0gSGl0VGVzdFJlc3VsdCB7IHBvaW50LCB0b3BQYWRk
aW5nLCByaWdodFBhZGRpbmcsIGJvdHRvbVBhZGRpbmcsIGxlZnRQYWRkaW5nIH07CisgICAgYXV0
byBoaXRUZXN0UmVzdWx0ID0gWyZdIHsKKyAgICAgICAgYXV0byBzaXplID0gTGF5b3V0U2l6ZSB7
IGxlZnRQYWRkaW5nICsgcmlnaHRQYWRkaW5nICsgMSwgdG9wUGFkZGluZyArIGJvdHRvbVBhZGRp
bmcgKyAxIH07CisgICAgICAgIGlmIChzaXplLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldHVy
biBIaXRUZXN0UmVzdWx0IHsgcG9pbnQgfTsKKyAgICAgICAgYXV0byBhZGp1c3RlZFBvc2l0aW9u
ID0gTGF5b3V0UG9pbnQgeyBmbG9vcmVkSW50UG9pbnQocG9pbnQpIH0gLSBMYXlvdXRTaXplICB7
IGxlZnRQYWRkaW5nLCB0b3BQYWRkaW5nIH07CisgICAgICAgIHJldHVybiBIaXRUZXN0UmVzdWx0
IHsgTGF5b3V0UmVjdCB7IGFkanVzdGVkUG9zaXRpb24sIHNpemUgfSB9OworICAgIH0oKTsKICAg
ICAvLyBXaGVuIGlnbm9yZUNsaXBwaW5nIGlzIGZhbHNlLCB0aGlzIG1ldGhvZCByZXR1cm5zIG51
bGwgZm9yIGNvb3JkaW5hdGVzIG91dHNpZGUgb2YgdGhlIHZpZXdwb3J0LgogICAgIGlmICghcmVx
dWVzdC5pZ25vcmVDbGlwcGluZygpICYmICFoaXRUZXN0UmVzdWx0LmhpdFRlc3RMb2NhdGlvbigp
LmludGVyc2VjdHMoTGF5b3V0UmVjdCB7IGZyYW1lVmlldy0+dmlzaWJsZUNvbnRlbnRSZWN0KCkg
fSkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>