<?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>235695</bug_id>
          
          <creation_ts>2022-01-27 00:32:26 -0800</creation_ts>
          <short_desc>DocumentContext gives empty rects for blank lines.</short_desc>
          <delta_ts>2022-01-27 21:15:37 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Megan Gardner">megan_gardner</reporter>
          <assigned_to name="Megan Gardner">megan_gardner</assigned_to>
          <cc>akeerthi</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1834436</commentid>
    <comment_count>0</comment_count>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2022-01-27 00:32:26 -0800</bug_when>
    <thetext>DocumentContext gives empty rects for blank lines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834440</commentid>
    <comment_count>1</comment_count>
      <attachid>450110</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2022-01-27 00:38:50 -0800</bug_when>
    <thetext>Created attachment 450110
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834553</commentid>
    <comment_count>2</comment_count>
      <attachid>450110</attachid>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2022-01-27 09:10:24 -0800</bug_when>
    <thetext>Comment on attachment 450110
Patch

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

&gt; Source/WebCore/platform/graphics/GeometryUtilities.cpp:108
&gt; +FloatRect unionRectIfNonZero(const Vector&lt;FloatRect&gt;&amp; rects)

This looks the same as `unionRectIgnoringZeroRects`!

Maybe just add a new method for `const Vector&lt;IntRect&gt;&amp;` and give it the same name as the existing method?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834556</commentid>
    <comment_count>3</comment_count>
      <attachid>450110</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-01-27 09:22:25 -0800</bug_when>
    <thetext>Comment on attachment 450110
Patch

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

This should be API-testable (there are existing examples in DocumentEditingContext.mm)

&gt;&gt; Source/WebCore/platform/graphics/GeometryUtilities.cpp:108
&gt;&gt; +FloatRect unionRectIfNonZero(const Vector&lt;FloatRect&gt;&amp; rects)
&gt; 
&gt; This looks the same as `unionRectIgnoringZeroRects`!
&gt; 
&gt; Maybe just add a new method for `const Vector&lt;IntRect&gt;&amp;` and give it the same name as the existing method?

Indeed!

Could also consider consolidating both into a template function and letting type deduction do it&apos;s thing:

```
template &lt;typename RectType&gt;
RectType unionRectIgnoringZeroRects(const Vector&lt;RectType&gt;&amp; rects)
{
    RectType result;
    for (auto&amp; rect : rects)
        result.uniteIfNonZero(rect);
    return result;
}
```</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834700</commentid>
    <comment_count>4</comment_count>
      <attachid>450178</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2022-01-27 14:21:38 -0800</bug_when>
    <thetext>Created attachment 450178
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834716</commentid>
    <comment_count>5</comment_count>
      <attachid>450178</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2022-01-27 14:47:17 -0800</bug_when>
    <thetext>Comment on attachment 450178
Patch

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

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:489
&gt; +    auto documentRect = CGRectFromJSONEncodedDOMRectJSValue([webView objectByEvaluatingJavaScript:@&quot;text.getBoundingClientRect().toJSON()&quot;]);
&gt; +    documentRect.origin.x += (documentRect.size.width / 2) - (glyphWidth * 2);
&gt; +    documentRect.origin.y += (documentRect.size.height / 2) - (glyphWidth * 2);
&gt; +    documentRect.size.width = glyphWidth;
&gt; +    documentRect.size.height = glyphWidth;

You never use documentRect so you can delete all of this</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834733</commentid>
    <comment_count>6</comment_count>
      <attachid>450188</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2022-01-27 15:19:15 -0800</bug_when>
    <thetext>Created attachment 450188
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834808</commentid>
    <comment_count>7</comment_count>
      <attachid>450201</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2022-01-27 20:03:16 -0800</bug_when>
    <thetext>Created attachment 450201
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834810</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-27 21:14:38 -0800</bug_when>
    <thetext>Committed r288721 (246514@main): &lt;https://commits.webkit.org/246514@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 450201.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834811</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-27 21:15:37 -0800</bug_when>
    <thetext>&lt;rdar://problem/88169210&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450110</attachid>
            <date>2022-01-27 00:38:50 -0800</date>
            <delta_ts>2022-01-27 20:03:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235695-20220127003850.patch</filename>
            <type>text/plain</type>
            <size>7608</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4NDU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDQ2Mjc3YjQxNjNmN2Q3
YWRjZmY3NDMwYjBmMDEwNjI5ZTk3Yzg5Yy4uMzNlYzY0YTRlZjQzNjI5NDhmOTMzMmRlNmQ4N2M4
ZTNjZjM0YjMyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIyLTAxLTI3ICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgRG9jdW1lbnRD
b250ZXh0IGdpdmVzIGVtcHR5IHJlY3RzIGZvciBibGFuayBsaW5lcy4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTY5NQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gcmVxdWVzdGluZyB0aGUgZG9j
dW1lbnQgY29udGV4dCBmb3IgdGhlIGVuZCBvZiBhIGRvY3VtZW50LCB3ZSB3b3VsZCBnaXZlIGVt
cHR5IHJlY3RzIGZvcgorICAgICAgICBibGFuayBsaW5lcy4gVGhpcyB3YXMgYmVjYXVzZSB3aGVu
IGNhbGN1bGF0aW5nIHRoZSBhYnNvbHV0ZUJvdW5kaW5nUmVjdCBmb3IgdGhlIHJhbmdlLCB3ZSAK
KyAgICAgICAgd291bGQgdXNlIGEgbm9ybWFsIHVuaW9uUmVjdCBjYWxsLCB3aGljaCB3b3VsZCB1
c2UgdGhlIGJhc2ljIHVuaXRlIGNhbGwsIHdoaWNoIGRvZXMgbm90IGNvbWJpbmUKKyAgICAgICAg
ZW1wdHkgcmVjdHMuIEFuZCBlbXB0eSByZWN0IGlzIGRlZmluZWQgYXMgYSByZWN0IHRoYXQgZG9l
cyBub3QgaGF2ZSBhIG5vbi16ZXJvIGhpZ2h0IGFuZCB3aWR0aC4KKyAgICAgICAgU2luY2Ugd2Ug
d2VyZSBjYWxjdWxhdGluZyBpbmZvcm1hdGlvbiBhYm91dCA8YnI+IGxpbmVzLCB0aGlzIHdhcyBj
YXVzaW5nIHVzIHRvIHVuaW9uIGEgbGlzdCBvZiAKKyAgICAgICAgYSBzaW5nbGUgcmVjdCwgd2hp
Y2ggd2FzIGFuIGVtcHR5IHJlY3QuIFRoaXMgbGVmdCB1cyB3aXRoIGEgemVybyByZWN0IGFmdGVy
IHVuaW9uaW5nLiBUaGUgc29sdXRpb24gCisgICAgICAgIGlzIHRvIHVuaW9uSWZOb25aZXJvIHdo
ZW4gY2FsY3VsYXRpbmcgdGhlc2UgcmVjdHMgZm9yIERvY3VtZW50Q29udGV4dC4gSSBhbHNvIHRv
b2sgdGhlIG9wcG9ydHVuaXR5IAorICAgICAgICB0byBtYWtlIHNvbWUgb2YgdGhpcyBjb2RlIG1v
cmUgcGFyYWxsZWwgdG8gb3RoZXIgaW1wbGVtZW50YXRpb25zLgorCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dW5p
b25SZWN0SWZOb25aZXJvKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HZW9tZXRyeVV0
aWxpdGllcy5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SW50UmVjdDo6dW5pdGVJZk5vblplcm8pOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL0ludFJlY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OkludFJlY3Q6OmlzWmVy
byBjb25zdCk6CisKIDIwMjItMDEtMjQgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgUGFzcyB0aGUgRG9jdW1lbnQgdGhyb3VnaCBiaW5kaW5ncyB0byBLZXlm
cmFtZUVmZmVjdDo6c2V0S2V5ZnJhbWVzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZjY0MWZhODMwNmM5ZWNhMmYz
ZDNjZjM4MDg3NmNiYmJlN2EwMTc3MC4uYjI2YzQxMjY2MDY5YmY1ZDc0MjA1ZDMwMzZjMDRkNTM2
MWQxZWFmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAyMi0wMS0yNyAgTWVnYW4gR2Fy
ZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisgICAgICAgIERvY3VtZW50Q29udGV4
dCBnaXZlcyBlbXB0eSByZWN0cyBmb3IgYmxhbmsgbGluZXMuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzU2OTUKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIHJlcXVlc3RpbmcgdGhlIGRvY3VtZW50
IGNvbnRleHQgZm9yIHRoZSBlbmQgb2YgYSBkb2N1bWVudCwgd2Ugd291bGQgZ2l2ZSBlbXB0eSBy
ZWN0cyBmb3IKKyAgICAgICAgYmxhbmsgbGluZXMuIFRoaXMgd2FzIGJlY2F1c2Ugd2hlbiBjYWxj
dWxhdGluZyB0aGUgYWJzb2x1dGVCb3VuZGluZ1JlY3QgZm9yIHRoZSByYW5nZSwgd2UgCisgICAg
ICAgIHdvdWxkIHVzZSBhIG5vcm1hbCB1bmlvblJlY3QgY2FsbCwgd2hpY2ggd291bGQgdXNlIHRo
ZSBiYXNpYyB1bml0ZSBjYWxsLCB3aGljaCBkb2VzIG5vdCBjb21iaW5lCisgICAgICAgIGVtcHR5
IHJlY3RzLiBBbmQgZW1wdHkgcmVjdCBpcyBkZWZpbmVkIGFzIGEgcmVjdCB0aGF0IGRvZXMgbm90
IGhhdmUgYSBub24temVybyBoaWdodCBhbmQgd2lkdGguCisgICAgICAgIFNpbmNlIHdlIHdlcmUg
Y2FsY3VsYXRpbmcgaW5mb3JtYXRpb24gYWJvdXQgPGJyPiBsaW5lcywgdGhpcyB3YXMgY2F1c2lu
ZyB1cyB0byB1bmlvbiBhIGxpc3Qgb2YgCisgICAgICAgIGEgc2luZ2xlIHJlY3QsIHdoaWNoIHdh
cyBhbiBlbXB0eSByZWN0LiBUaGlzIGxlZnQgdXMgd2l0aCBhIHplcm8gcmVjdCBhZnRlciB1bmlv
bmluZy4gVGhlIHNvbHV0aW9uIAorICAgICAgICBpcyB0byB1bmlvbklmTm9uWmVybyB3aGVuIGNh
bGN1bGF0aW5nIHRoZXNlIHJlY3RzIGZvciBEb2N1bWVudENvbnRleHQuIEkgYWxzbyB0b29rIHRo
ZSBvcHBvcnR1bml0eSAKKyAgICAgICAgdG8gbWFrZSBzb21lIG9mIHRoaXMgY29kZSBtb3JlIHBh
cmFsbGVsIHRvIG90aGVyIGltcGxlbWVudGF0aW9ucy4KKworICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cmVx
dWVzdERvY3VtZW50RWRpdGluZ0NvbnRleHQpOgorCiAyMDIyLTAxLTI0ICBEYXZpZCBRdWVzYWRh
ICA8ZGF2aWRfcXVlc2FkYUBhcHBsZS5jb20+CiAKICAgICAgICAgU2ltcGxpZnkgYWNjZXNzZXMg
dG8gU3lzdGVtVmVyc2lvbi5wbGlzdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuY3BwCmluZGV4IGQxODFjODRhODQ4OWZmMGNl
ZjI0MDVhOGRkYmEwMmQwZGFiNjQ0NTMuLmFiMTZmNGI3Mjc3M2RiZWUxYzFjMmNlY2JmMjE0ZGRk
YWQwZWNmMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dl
b21ldHJ5VXRpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HZW9tZXRyeVV0aWxpdGllcy5jcHAKQEAgLTg5LDYgKzg5LDE0IEBAIEludFJlY3QgdW5pb25S
ZWN0KGNvbnN0IFZlY3RvcjxJbnRSZWN0PiYgcmVjdHMpCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IAorSW50UmVjdCB1bmlvblJlY3RJZk5vblplcm8oY29uc3QgVmVjdG9yPEludFJlY3Q+JiByZWN0
cykKK3sKKyAgICBJbnRSZWN0IHJlc3VsdDsKKyAgICBmb3IgKGF1dG8mIHJlY3QgOiByZWN0cykK
KyAgICAgICAgcmVzdWx0LnVuaXRlSWZOb25aZXJvKHJlY3QpOworICAgIHJldHVybiByZXN1bHQ7
Cit9CisKIEZsb2F0UmVjdCB1bmlvblJlY3QoY29uc3QgVmVjdG9yPEZsb2F0UmVjdD4mIHJlY3Rz
KQogewogICAgIEZsb2F0UmVjdCByZXN1bHQ7CkBAIC05Nyw2ICsxMDUsMTQgQEAgRmxvYXRSZWN0
IHVuaW9uUmVjdChjb25zdCBWZWN0b3I8RmxvYXRSZWN0PiYgcmVjdHMpCiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIAorRmxvYXRSZWN0IHVuaW9uUmVjdElmTm9uWmVybyhjb25zdCBWZWN0b3I8Rmxv
YXRSZWN0PiYgcmVjdHMpCit7CisgICAgRmxvYXRSZWN0IHJlc3VsdDsKKyAgICBmb3IgKGF1dG8m
IHJlY3QgOiByZWN0cykKKyAgICAgICAgcmVzdWx0LnVuaXRlSWZOb25aZXJvKHJlY3QpOworICAg
IHJldHVybiByZXN1bHQ7Cit9CisKIEZsb2F0UmVjdCB1bmlvblJlY3RJZ25vcmluZ1plcm9SZWN0
cyhjb25zdCBWZWN0b3I8RmxvYXRSZWN0PiYgcmVjdHMpCiB7CiAgICAgRmxvYXRSZWN0IHJlc3Vs
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlb21ldHJ5
VXRpbGl0aWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW9tZXRyeVV0
aWxpdGllcy5oCmluZGV4IGJiNjUzZjE0MGFkYWZlMTUxODgwYTI5NzJiOGE1NTkxYWE3ODBlOTIu
LjBiODRlMzJkMjgyY2JjMWQ4ZWQyY2I0M2E5MTYwZjUzYzIyNWE1NTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlb21ldHJ5VXRpbGl0aWVzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuaApAQCAt
NDIsNyArNDIsOSBAQCBmbG9hdCBmaW5kU2xvcGUoY29uc3QgRmxvYXRQb2ludCYgcDEsIGNvbnN0
IEZsb2F0UG9pbnQmIHAyLCBmbG9hdCYgYyk7CiBXRUJDT1JFX0VYUE9SVCBib29sIGZpbmRJbnRl
cnNlY3Rpb24oY29uc3QgRmxvYXRQb2ludCYgcDEsIGNvbnN0IEZsb2F0UG9pbnQmIHAyLCBjb25z
dCBGbG9hdFBvaW50JiBkMSwgY29uc3QgRmxvYXRQb2ludCYgZDIsIEZsb2F0UG9pbnQmIGludGVy
c2VjdGlvbik7CiAKIFdFQkNPUkVfRVhQT1JUIEludFJlY3QgdW5pb25SZWN0KGNvbnN0IFZlY3Rv
cjxJbnRSZWN0PiYpOworV0VCQ09SRV9FWFBPUlQgSW50UmVjdCB1bmlvblJlY3RJZk5vblplcm8o
Y29uc3QgVmVjdG9yPEludFJlY3Q+Jik7CiBXRUJDT1JFX0VYUE9SVCBGbG9hdFJlY3QgdW5pb25S
ZWN0KGNvbnN0IFZlY3RvcjxGbG9hdFJlY3Q+Jik7CitXRUJDT1JFX0VYUE9SVCBGbG9hdFJlY3Qg
dW5pb25SZWN0SWZOb25aZXJvKGNvbnN0IFZlY3RvcjxGbG9hdFJlY3Q+Jik7CiBXRUJDT1JFX0VY
UE9SVCBGbG9hdFJlY3QgdW5pb25SZWN0SWdub3JpbmdaZXJvUmVjdHMoY29uc3QgVmVjdG9yPEZs
b2F0UmVjdD4mKTsKIAogLy8gTWFwIHBvaW50IGZyb20gc3JjUmVjdCB0byBhbiBlcXVpdmFsZW50
IHBvaW50IGluIGRlc3RSZWN0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvSW50UmVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9J
bnRSZWN0LmNwcAppbmRleCAxNDFiMTk4ZDYzZTg5N2U1NjBlOTQ3ODA4Yjg0ZTYxOGEzODFlYjE4
Li5kMTU3M2VlNmJlMDViYTZmYTM3ZGMwNTM1N2ZhYjBkMjA1MjdlODJjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmNwcApAQCAtMTA1LDkgKzEwNSw5IEBA
IHZvaWQgSW50UmVjdDo6dW5pdGUoY29uc3QgSW50UmVjdCYgb3RoZXIpCiB2b2lkIEludFJlY3Q6
OnVuaXRlSWZOb25aZXJvKGNvbnN0IEludFJlY3QmIG90aGVyKQogewogICAgIC8vIEhhbmRsZSBl
bXB0eSBzcGVjaWFsIGNhc2VzIGZpcnN0LgotICAgIGlmICghb3RoZXIud2lkdGgoKSAmJiAhb3Ro
ZXIuaGVpZ2h0KCkpCisgICAgaWYgKG90aGVyLmlzWmVybygpKQogICAgICAgICByZXR1cm47Ci0g
ICAgaWYgKCF3aWR0aCgpICYmICFoZWlnaHQoKSkgeworICAgIGlmIChpc1plcm8oKSkgewogICAg
ICAgICAqdGhpcyA9IG90aGVyOwogICAgICAgICByZXR1cm47CiAgICAgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5oCmluZGV4IDQ2OGUwMTk2OGQzZTI2ZmJjOWFl
Mjg1NzU5NzM1ZDFkNTFmMWI1YTcuLmI5ZjBiNmQ0YmExODhmNDYyM2YyZDI4YTM1NTkzODY5MDY3
NzZhZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJl
Y3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmgKQEAg
LTk3LDYgKzk3LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SGVpZ2h0KGludCBoZWlnaHQpIHsg
bV9zaXplLnNldEhlaWdodChoZWlnaHQpOyB9CiAKICAgICBib29sIGlzRW1wdHkoKSBjb25zdCB7
IHJldHVybiBtX3NpemUuaXNFbXB0eSgpOyB9CisgICAgYm9vbCBpc1plcm8oKSBjb25zdCB7IHJl
dHVybiBtX3NpemUuaXNaZXJvKCk7IH0KIAogICAgIC8vIE5PVEU6IFRoZSByZXN1bHQgaXMgcm91
bmRlZCB0byBpbnRlZ2VyIHZhbHVlcywgYW5kIHRodXMgbWF5IGJlIG5vdCB0aGUgZXhhY3QKICAg
ICAvLyBjZW50ZXIgcG9pbnQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4IDYxZjUxYjM2YTc1OTFmM2Q0YTZiYTM0MzUyNTNh
M2IxNDhmNTgwYmYuLmFiMzQyNDNhYjI4M2NlN2U1MmYxZDI3MTg4YzVhMTRiMzE2ODhmZjIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9T
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9T
Lm1tCkBAIC00NTYxLDcgKzQ1NjEsNyBAQCB2b2lkIFdlYlBhZ2U6OnJlcXVlc3REb2N1bWVudEVk
aXRpbmdDb250ZXh0KERvY3VtZW50RWRpdGluZ0NvbnRleHRSZXF1ZXN0IHJlcXVlcwogICAgICAg
ICBjb25zdCBpbnQgc3RyaWRlID0gMTsKICAgICAgICAgd2hpbGUgKCFpdGVyYXRvci5hdEVuZCgp
KSB7CiAgICAgICAgICAgICBpZiAoIWl0ZXJhdG9yLnRleHQoKS5pc0VtcHR5KCkpIHsKLSAgICAg
ICAgICAgICAgICBhdXRvIGFic29sdXRlQm91bmRpbmdCb3ggPSB1bmlvblJlY3QoUmVuZGVyT2Jq
ZWN0OjphYnNvbHV0ZVRleHRSZWN0cyhpdGVyYXRvci5yYW5nZSgpLCBSZW5kZXJPYmplY3Q6OkJv
dW5kaW5nUmVjdEJlaGF2aW9yOjpJZ25vcmVFbXB0eVRleHRTZWxlY3Rpb25zKSk7CisgICAgICAg
ICAgICAgICAgYXV0byBhYnNvbHV0ZUJvdW5kaW5nQm94ID0gdW5pb25SZWN0SWZOb25aZXJvKFJl
bmRlck9iamVjdDo6YWJzb2x1dGVUZXh0UmVjdHMoaXRlcmF0b3IucmFuZ2UoKSwgUmVuZGVyT2Jq
ZWN0OjpCb3VuZGluZ1JlY3RCZWhhdmlvcjo6SWdub3JlRW1wdHlUZXh0U2VsZWN0aW9ucykpOwog
ICAgICAgICAgICAgICAgIHJlY3RzLmFwcGVuZCh7IGl0ZXJhdG9yLnJhbmdlKCkuc3RhcnQuZG9j
dW1lbnQoKS52aWV3KCktPmNvbnRlbnRzVG9Sb290VmlldyhhYnNvbHV0ZUJvdW5kaW5nQm94KSwg
eyBvZmZzZXRTb0ZhcisrLCBzdHJpZGUgfSB9KTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAg
IGl0ZXJhdG9yLmFkdmFuY2Uoc3RyaWRlKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450178</attachid>
            <date>2022-01-27 14:21:38 -0800</date>
            <delta_ts>2022-01-27 20:03:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235695-20220127142137.patch</filename>
            <type>text/plain</type>
            <size>11127</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4NDU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDQ2Mjc3YjQxNjNmN2Q3
YWRjZmY3NDMwYjBmMDEwNjI5ZTk3Yzg5Yy4uNzY2YjFkYWYwMjhjYmU3MzYwMTFiYTk0YTdiZGFm
NzQ1ZmI4YjgyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIyLTAxLTI3ICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgRG9jdW1lbnRD
b250ZXh0IGdpdmVzIGVtcHR5IHJlY3RzIGZvciBibGFuayBsaW5lcy4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTY5NQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IERvY3VtZW50RWRpdGluZ0Nv
bnRleHQ6OlJlY3RzUmVxdWVzdEluQ29udGVudEVkaXRhYmxlCisKKyAgICAgICAgV2hlbiByZXF1
ZXN0aW5nIHRoZSBkb2N1bWVudCBjb250ZXh0IGZvciB0aGUgZW5kIG9mIGEgZG9jdW1lbnQsIHdl
IHdvdWxkIGdpdmUgZW1wdHkgcmVjdHMgZm9yCisgICAgICAgIGJsYW5rIGxpbmVzLiBUaGlzIHdh
cyBiZWNhdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGFic29sdXRlQm91bmRpbmdSZWN0IGZvciB0
aGUgcmFuZ2UsIHdlIAorICAgICAgICB3b3VsZCB1c2UgYSBub3JtYWwgdW5pb25SZWN0IGNhbGws
IHdoaWNoIHdvdWxkIHVzZSB0aGUgYmFzaWMgdW5pdGUgY2FsbCwgd2hpY2ggZG9lcyBub3QgY29t
YmluZQorICAgICAgICBlbXB0eSByZWN0cy4gQW5kIGVtcHR5IHJlY3QgaXMgZGVmaW5lZCBhcyBh
IHJlY3QgdGhhdCBkb2VzIG5vdCBoYXZlIGEgbm9uLXplcm8gaGlnaHQgYW5kIHdpZHRoLgorICAg
ICAgICBTaW5jZSB3ZSB3ZXJlIGNhbGN1bGF0aW5nIGluZm9ybWF0aW9uIGFib3V0IDxicj4gbGlu
ZXMsIHRoaXMgd2FzIGNhdXNpbmcgdXMgdG8gdW5pb24gYSBsaXN0IG9mIAorICAgICAgICBhIHNp
bmdsZSByZWN0LCB3aGljaCB3YXMgYW4gZW1wdHkgcmVjdC4gVGhpcyBsZWZ0IHVzIHdpdGggYSB6
ZXJvIHJlY3QgYWZ0ZXIgdW5pb25pbmcuIFRoZSBzb2x1dGlvbiAKKyAgICAgICAgaXMgdG8gdW5p
b25JZk5vblplcm8gd2hlbiBjYWxjdWxhdGluZyB0aGVzZSByZWN0cyBmb3IgRG9jdW1lbnRDb250
ZXh0LiBJIGFsc28gdG9vayB0aGUgb3Bwb3J0dW5pdHkgCisgICAgICAgIHRvIG1ha2Ugc29tZSBv
ZiB0aGlzIGNvZGUgbW9yZSBwYXJhbGxlbCB0byBvdGhlciBpbXBsZW1lbnRhdGlvbnMuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HZW9tZXRyeVV0aWxpdGllcy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjp1bmlvblJlY3RJZk5vblplcm8pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL0dlb21ldHJ5VXRpbGl0aWVzLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50
UmVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRSZWN0Ojp1bml0ZUlmTm9uWmVybyk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5oOgorICAgICAgICAoV2ViQ29yZTo6
SW50UmVjdDo6aXNaZXJvIGNvbnN0KToKKwogMjAyMi0wMS0yNCAgQW50b2luZSBRdWludCAgPGdy
YW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBQYXNzIHRoZSBEb2N1bWVudCB0aHJvdWdoIGJp
bmRpbmdzIHRvIEtleWZyYW1lRWZmZWN0OjpzZXRLZXlmcmFtZXMoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBmNjQx
ZmE4MzA2YzllY2EyZjNkM2NmMzgwODc2Y2JiYmU3YTAxNzcwLi5iMjZjNDEyNjYwNjliZjVkNzQy
MDVkMzAzNmMwNGQ1MzYxZDFlYWY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIyLTAx
LTI3ICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAg
RG9jdW1lbnRDb250ZXh0IGdpdmVzIGVtcHR5IHJlY3RzIGZvciBibGFuayBsaW5lcy4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTY5NQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gcmVxdWVzdGlu
ZyB0aGUgZG9jdW1lbnQgY29udGV4dCBmb3IgdGhlIGVuZCBvZiBhIGRvY3VtZW50LCB3ZSB3b3Vs
ZCBnaXZlIGVtcHR5IHJlY3RzIGZvcgorICAgICAgICBibGFuayBsaW5lcy4gVGhpcyB3YXMgYmVj
YXVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBhYnNvbHV0ZUJvdW5kaW5nUmVjdCBmb3IgdGhlIHJh
bmdlLCB3ZSAKKyAgICAgICAgd291bGQgdXNlIGEgbm9ybWFsIHVuaW9uUmVjdCBjYWxsLCB3aGlj
aCB3b3VsZCB1c2UgdGhlIGJhc2ljIHVuaXRlIGNhbGwsIHdoaWNoIGRvZXMgbm90IGNvbWJpbmUK
KyAgICAgICAgZW1wdHkgcmVjdHMuIEFuZCBlbXB0eSByZWN0IGlzIGRlZmluZWQgYXMgYSByZWN0
IHRoYXQgZG9lcyBub3QgaGF2ZSBhIG5vbi16ZXJvIGhpZ2h0IGFuZCB3aWR0aC4KKyAgICAgICAg
U2luY2Ugd2Ugd2VyZSBjYWxjdWxhdGluZyBpbmZvcm1hdGlvbiBhYm91dCA8YnI+IGxpbmVzLCB0
aGlzIHdhcyBjYXVzaW5nIHVzIHRvIHVuaW9uIGEgbGlzdCBvZiAKKyAgICAgICAgYSBzaW5nbGUg
cmVjdCwgd2hpY2ggd2FzIGFuIGVtcHR5IHJlY3QuIFRoaXMgbGVmdCB1cyB3aXRoIGEgemVybyBy
ZWN0IGFmdGVyIHVuaW9uaW5nLiBUaGUgc29sdXRpb24gCisgICAgICAgIGlzIHRvIHVuaW9uSWZO
b25aZXJvIHdoZW4gY2FsY3VsYXRpbmcgdGhlc2UgcmVjdHMgZm9yIERvY3VtZW50Q29udGV4dC4g
SSBhbHNvIHRvb2sgdGhlIG9wcG9ydHVuaXR5IAorICAgICAgICB0byBtYWtlIHNvbWUgb2YgdGhp
cyBjb2RlIG1vcmUgcGFyYWxsZWwgdG8gb3RoZXIgaW1wbGVtZW50YXRpb25zLgorCisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlOjpyZXF1ZXN0RG9jdW1lbnRFZGl0aW5nQ29udGV4dCk6CisKIDIwMjItMDEtMjQg
IERhdmlkIFF1ZXNhZGEgIDxkYXZpZF9xdWVzYWRhQGFwcGxlLmNvbT4KIAogICAgICAgICBTaW1w
bGlmeSBhY2Nlc3NlcyB0byBTeXN0ZW1WZXJzaW9uLnBsaXN0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW9tZXRyeVV0aWxpdGllcy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW9tZXRyeVV0aWxpdGllcy5jcHAKaW5kZXggZDE4
MWM4NGE4NDg5ZmYwY2VmMjQwNWE4ZGRiYTAyZDBkYWI2NDQ1My4uYWIxNmY0YjcyNzczZGJlZTFj
MWMyY2VjYmYyMTRkZGRhZDBlY2YyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dlb21ldHJ5VXRpbGl0aWVzLmNwcApAQCAtODksNiArODksMTQgQEAg
SW50UmVjdCB1bmlvblJlY3QoY29uc3QgVmVjdG9yPEludFJlY3Q+JiByZWN0cykKICAgICByZXR1
cm4gcmVzdWx0OwogfQogCitJbnRSZWN0IHVuaW9uUmVjdElmTm9uWmVybyhjb25zdCBWZWN0b3I8
SW50UmVjdD4mIHJlY3RzKQoreworICAgIEludFJlY3QgcmVzdWx0OworICAgIGZvciAoYXV0byYg
cmVjdCA6IHJlY3RzKQorICAgICAgICByZXN1bHQudW5pdGVJZk5vblplcm8ocmVjdCk7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KKwogRmxvYXRSZWN0IHVuaW9uUmVjdChjb25zdCBWZWN0b3I8Rmxv
YXRSZWN0PiYgcmVjdHMpCiB7CiAgICAgRmxvYXRSZWN0IHJlc3VsdDsKQEAgLTk3LDYgKzEwNSwx
NCBAQCBGbG9hdFJlY3QgdW5pb25SZWN0KGNvbnN0IFZlY3RvcjxGbG9hdFJlY3Q+JiByZWN0cykK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogCitGbG9hdFJlY3QgdW5pb25SZWN0SWZOb25aZXJvKGNv
bnN0IFZlY3RvcjxGbG9hdFJlY3Q+JiByZWN0cykKK3sKKyAgICBGbG9hdFJlY3QgcmVzdWx0Owor
ICAgIGZvciAoYXV0byYgcmVjdCA6IHJlY3RzKQorICAgICAgICByZXN1bHQudW5pdGVJZk5vblpl
cm8ocmVjdCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwogRmxvYXRSZWN0IHVuaW9uUmVjdEln
bm9yaW5nWmVyb1JlY3RzKGNvbnN0IFZlY3RvcjxGbG9hdFJlY3Q+JiByZWN0cykKIHsKICAgICBG
bG9hdFJlY3QgcmVzdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dlb21ldHJ5VXRpbGl0aWVzLmgKaW5kZXggYmI2NTNmMTQwYWRhZmUxNTE4ODBhMjk3MmI4
YTU1OTFhYTc4MGU5Mi4uMGI4NGUzMmQyODJjYmMxZDhlZDJjYjQzYTkxNjBmNTNjMjI1YTU1OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGls
aXRpZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW9tZXRyeVV0
aWxpdGllcy5oCkBAIC00Miw3ICs0Miw5IEBAIGZsb2F0IGZpbmRTbG9wZShjb25zdCBGbG9hdFBv
aW50JiBwMSwgY29uc3QgRmxvYXRQb2ludCYgcDIsIGZsb2F0JiBjKTsKIFdFQkNPUkVfRVhQT1JU
IGJvb2wgZmluZEludGVyc2VjdGlvbihjb25zdCBGbG9hdFBvaW50JiBwMSwgY29uc3QgRmxvYXRQ
b2ludCYgcDIsIGNvbnN0IEZsb2F0UG9pbnQmIGQxLCBjb25zdCBGbG9hdFBvaW50JiBkMiwgRmxv
YXRQb2ludCYgaW50ZXJzZWN0aW9uKTsKIAogV0VCQ09SRV9FWFBPUlQgSW50UmVjdCB1bmlvblJl
Y3QoY29uc3QgVmVjdG9yPEludFJlY3Q+Jik7CitXRUJDT1JFX0VYUE9SVCBJbnRSZWN0IHVuaW9u
UmVjdElmTm9uWmVybyhjb25zdCBWZWN0b3I8SW50UmVjdD4mKTsKIFdFQkNPUkVfRVhQT1JUIEZs
b2F0UmVjdCB1bmlvblJlY3QoY29uc3QgVmVjdG9yPEZsb2F0UmVjdD4mKTsKK1dFQkNPUkVfRVhQ
T1JUIEZsb2F0UmVjdCB1bmlvblJlY3RJZk5vblplcm8oY29uc3QgVmVjdG9yPEZsb2F0UmVjdD4m
KTsKIFdFQkNPUkVfRVhQT1JUIEZsb2F0UmVjdCB1bmlvblJlY3RJZ25vcmluZ1plcm9SZWN0cyhj
b25zdCBWZWN0b3I8RmxvYXRSZWN0PiYpOwogCiAvLyBNYXAgcG9pbnQgZnJvbSBzcmNSZWN0IHRv
IGFuIGVxdWl2YWxlbnQgcG9pbnQgaW4gZGVzdFJlY3QuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ludFJlY3QuY3BwCmluZGV4IDE0MWIxOThkNjNlODk3ZTU2MGU5NDc4MDhi
ODRlNjE4YTM4MWViMTguLmQxNTczZWU2YmUwNWJhNmZhMzdkYzA1MzU3ZmFiMGQyMDUyN2U4MmMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuY3BwCkBAIC0x
MDUsOSArMTA1LDkgQEAgdm9pZCBJbnRSZWN0Ojp1bml0ZShjb25zdCBJbnRSZWN0JiBvdGhlcikK
IHZvaWQgSW50UmVjdDo6dW5pdGVJZk5vblplcm8oY29uc3QgSW50UmVjdCYgb3RoZXIpCiB7CiAg
ICAgLy8gSGFuZGxlIGVtcHR5IHNwZWNpYWwgY2FzZXMgZmlyc3QuCi0gICAgaWYgKCFvdGhlci53
aWR0aCgpICYmICFvdGhlci5oZWlnaHQoKSkKKyAgICBpZiAob3RoZXIuaXNaZXJvKCkpCiAgICAg
ICAgIHJldHVybjsKLSAgICBpZiAoIXdpZHRoKCkgJiYgIWhlaWdodCgpKSB7CisgICAgaWYgKGlz
WmVybygpKSB7CiAgICAgICAgICp0aGlzID0gb3RoZXI7CiAgICAgICAgIHJldHVybjsKICAgICB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmgKaW5kZXggNDY4ZTAx
OTY4ZDNlMjZmYmM5YWUyODU3NTk3MzVkMWQ1MWYxYjVhNy4uYjlmMGI2ZDRiYTE4OGY0NjIzZjJk
MjhhMzU1OTM4NjkwNjc3NmFmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvSW50UmVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ludFJlY3QuaApAQCAtOTcsNiArOTcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRIZWlnaHQo
aW50IGhlaWdodCkgeyBtX3NpemUuc2V0SGVpZ2h0KGhlaWdodCk7IH0KIAogICAgIGJvb2wgaXNF
bXB0eSgpIGNvbnN0IHsgcmV0dXJuIG1fc2l6ZS5pc0VtcHR5KCk7IH0KKyAgICBib29sIGlzWmVy
bygpIGNvbnN0IHsgcmV0dXJuIG1fc2l6ZS5pc1plcm8oKTsgfQogCiAgICAgLy8gTk9URTogVGhl
IHJlc3VsdCBpcyByb3VuZGVkIHRvIGludGVnZXIgdmFsdWVzLCBhbmQgdGh1cyBtYXkgYmUgbm90
IHRoZSBleGFjdAogICAgIC8vIGNlbnRlciBwb2ludC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KaW5kZXggNjFmNTFiMzZhNzU5MWYz
ZDRhNmJhMzQzNTI1M2EzYjE0OGY1ODBiZi4uYWIzNDI0M2FiMjgzY2U3ZTUyZjFkMjcxODhjNWEx
NGIzMTY4OGZmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
aW9zL1dlYlBhZ2VJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
aW9zL1dlYlBhZ2VJT1MubW0KQEAgLTQ1NjEsNyArNDU2MSw3IEBAIHZvaWQgV2ViUGFnZTo6cmVx
dWVzdERvY3VtZW50RWRpdGluZ0NvbnRleHQoRG9jdW1lbnRFZGl0aW5nQ29udGV4dFJlcXVlc3Qg
cmVxdWVzCiAgICAgICAgIGNvbnN0IGludCBzdHJpZGUgPSAxOwogICAgICAgICB3aGlsZSAoIWl0
ZXJhdG9yLmF0RW5kKCkpIHsKICAgICAgICAgICAgIGlmICghaXRlcmF0b3IudGV4dCgpLmlzRW1w
dHkoKSkgewotICAgICAgICAgICAgICAgIGF1dG8gYWJzb2x1dGVCb3VuZGluZ0JveCA9IHVuaW9u
UmVjdChSZW5kZXJPYmplY3Q6OmFic29sdXRlVGV4dFJlY3RzKGl0ZXJhdG9yLnJhbmdlKCksIFJl
bmRlck9iamVjdDo6Qm91bmRpbmdSZWN0QmVoYXZpb3I6Oklnbm9yZUVtcHR5VGV4dFNlbGVjdGlv
bnMpKTsKKyAgICAgICAgICAgICAgICBhdXRvIGFic29sdXRlQm91bmRpbmdCb3ggPSB1bmlvblJl
Y3RJZk5vblplcm8oUmVuZGVyT2JqZWN0OjphYnNvbHV0ZVRleHRSZWN0cyhpdGVyYXRvci5yYW5n
ZSgpLCBSZW5kZXJPYmplY3Q6OkJvdW5kaW5nUmVjdEJlaGF2aW9yOjpJZ25vcmVFbXB0eVRleHRT
ZWxlY3Rpb25zKSk7CiAgICAgICAgICAgICAgICAgcmVjdHMuYXBwZW5kKHsgaXRlcmF0b3IucmFu
Z2UoKS5zdGFydC5kb2N1bWVudCgpLnZpZXcoKS0+Y29udGVudHNUb1Jvb3RWaWV3KGFic29sdXRl
Qm91bmRpbmdCb3gpLCB7IG9mZnNldFNvRmFyKyssIHN0cmlkZSB9IH0pOwogICAgICAgICAgICAg
fQogICAgICAgICAgICAgaXRlcmF0b3IuYWR2YW5jZShzdHJpZGUpOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDhiYTZmM2U4ZjZhNDEwMjIyNTYx
N2I5YWMzYjNhMDhlMzQyOWM1NGQuLjZhMTQyOWFjOGQ0ZjkwMmNmYzc2ZmUwZDE1ODVmYTlmMzk0
OTBmMDMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMyBAQAorMjAyMi0wMS0yNyAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRu
ZXJAYXBwbGUuY29tPgorCisgICAgICAgIERvY3VtZW50Q29udGV4dCBnaXZlcyBlbXB0eSByZWN0
cyBmb3IgYmxhbmsgbGluZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzU2OTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvRG9jdW1lbnRFZGl0
aW5nQ29udGV4dC5tbToKKyAgICAgICAgKFRFU1QpOiBEb2N1bWVudEVkaXRpbmdDb250ZXh0OjpS
ZWN0c1JlcXVlc3RJbkNvbnRlbnRFZGl0YWJsZQorCiAyMDIyLTAxLTI0ICBDYXJsb3MgR2FyY2lh
IENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXVthMTF5XSBUZXN0
IGFjY2Vzc2liaWxpdHkvdXJsLXRlc3QuaHRtbCBmYWlscyB3aXRoIEFUU1BJCmRpZmYgLS1naXQg
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0RvY3VtZW50RWRpdGluZ0Nv
bnRleHQubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0RvY3VtZW50
RWRpdGluZ0NvbnRleHQubW0KaW5kZXggYWQ0ZTcxMGZlYjQxNGRkODUzYWY4ZGJlYjRlOWY3Yjg4
ODdhNjE1Mi4uYWVmMjFiYjk0MjY2YzdmZWQwZTIxMWU2NjM2MjZhNWU3ZDdiNTU5NyAxMDA2NDQK
LS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Eb2N1bWVudEVkaXRp
bmdDb250ZXh0Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
RG9jdW1lbnRFZGl0aW5nQ29udGV4dC5tbQpAQCAtNDc1LDYgKzQ3NSwzNyBAQCBzdGF0aWMgQ0dS
ZWN0IENHUmVjdEZyb21KU09ORW5jb2RlZERPTVJlY3RKU1ZhbHVlKGlkIGpzVmFsdWUpCiAgICAg
cmV0dXJuIENHUmVjdE1ha2UoW2RvbVJlY3RbQCJsZWZ0Il0gZmxvYXRWYWx1ZV0sIFtkb21SZWN0
W0AidG9wIl0gZmxvYXRWYWx1ZV0sIFtkb21SZWN0W0Aid2lkdGgiXSBmbG9hdFZhbHVlXSwgW2Rv
bVJlY3RbQCJoZWlnaHQiXSBmbG9hdFZhbHVlXSk7CiB9CiAKK1RFU1QoRG9jdW1lbnRFZGl0aW5n
Q29udGV4dCwgUmVjdHNSZXF1ZXN0SW5Db250ZW50RWRpdGFibGUpCit7CisgICAgYXV0byB3ZWJW
aWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtl
UmVjdCgwLCAwLCA4MDAsIDYwMCldKTsKKworICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2Fk
SFRNTFN0cmluZzphcHBseUFoZW1TdHlsZShAIjxwIGlkPSd0ZXh0JyBjb250ZW50ZWRpdGFibGU+
VGVzdDxicj48YnI+PGJyPjxicj48L3A+IildOworICAgIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVh
dGluZ0phdmFTY3JpcHQ6QCJnZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KHRleHQubGFz
dENoaWxkLCB0ZXh0Lmxhc3RDaGlsZC5sZW5ndGgsIHRleHQubGFzdENoaWxkLCB0ZXh0Lmxhc3RD
aGlsZC5sZW5ndGgpIl07IC8vIFdpbGwgZm9jdXMgPHA+LgorICAgIAorICAgIGF1dG8gZG9jdW1l
bnRSZWN0ID0gQ0dSZWN0RnJvbUpTT05FbmNvZGVkRE9NUmVjdEpTVmFsdWUoW3dlYlZpZXcgb2Jq
ZWN0QnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAInRleHQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCku
dG9KU09OKCkiXSk7CisgICAgZG9jdW1lbnRSZWN0Lm9yaWdpbi54ICs9IChkb2N1bWVudFJlY3Qu
c2l6ZS53aWR0aCAvIDIpIC0gKGdseXBoV2lkdGggKiAyKTsKKyAgICBkb2N1bWVudFJlY3Qub3Jp
Z2luLnkgKz0gKGRvY3VtZW50UmVjdC5zaXplLmhlaWdodCAvIDIpIC0gKGdseXBoV2lkdGggKiAy
KTsKKyAgICBkb2N1bWVudFJlY3Quc2l6ZS53aWR0aCA9IGdseXBoV2lkdGg7CisgICAgZG9jdW1l
bnRSZWN0LnNpemUuaGVpZ2h0ID0gZ2x5cGhXaWR0aDsKKyAgICAKKyAgICBOU0FycmF5PF9XS1Rl
eHRJbnB1dENvbnRleHQgKj4gKnRleHRJbnB1dENvbnRleHRzID0gW3dlYlZpZXcgc3luY2hyb25v
dXNseVJlcXVlc3RUZXh0SW5wdXRDb250ZXh0c0luUmVjdDpbd2ViVmlldyBmcmFtZV1dOworICAg
IEVYUEVDVF9FUSgxVUwsIHRleHRJbnB1dENvbnRleHRzLmNvdW50KTsKKworICAgIGF1dG8gcmVx
dWVzdCA9IHJldGFpblB0cihtYWtlUmVxdWVzdChVSVdLRG9jdW1lbnRSZXF1ZXN0VGV4dCB8IFVJ
V0tEb2N1bWVudFJlcXVlc3RSZWN0cyB8IFVJV0tEb2N1bWVudFJlcXVlc3RTcGF0aWFsQW5kQ3Vy
cmVudFNlbGVjdGlvbiwgVUlUZXh0R3JhbnVsYXJpdHlDaGFyYWN0ZXIsIDIwMCwgW3dlYlZpZXcg
ZnJhbWVdLCB0ZXh0SW5wdXRDb250ZXh0c1swXSkpOworICAgIGF1dG8gY29udGV4dCA9IHJldGFp
blB0cihbd2ViVmlldyBzeW5jaHJvbm91c2x5UmVxdWVzdERvY3VtZW50Q29udGV4dDpyZXF1ZXN0
LmdldCgpXSk7CisgICAgYXV0byAqdGV4dFJlY3RzID0gW2NvbnRleHQgdGV4dFJlY3RzXTsKKyAg
ICBFWFBFQ1RfRVEoN1UsIHRleHRSZWN0cy5jb3VudCk7CisgICAgaWYgKHRleHRSZWN0cy5jb3Vu
dCA+PSA3KSB7CisgICAgICAgIEVYUEVDVF9FUShDR1JlY3RNYWtlKDAsIDAsIDI1LCAyNSksIHRl
eHRSZWN0c1swXS5DR1JlY3RWYWx1ZSk7CisgICAgICAgIEVYUEVDVF9FUShDR1JlY3RNYWtlKDI1
LCAwLCAyNSwgMjUpLCB0ZXh0UmVjdHNbMV0uQ0dSZWN0VmFsdWUpOworICAgICAgICBFWFBFQ1Rf
RVEoQ0dSZWN0TWFrZSg1MCwgMCwgMjUsIDI1KSwgdGV4dFJlY3RzWzJdLkNHUmVjdFZhbHVlKTsK
KyAgICAgICAgRVhQRUNUX0VRKENHUmVjdE1ha2UoNzUsIDAsIDI1LCAyNSksIHRleHRSZWN0c1sz
XS5DR1JlY3RWYWx1ZSk7CisgICAgICAgIEVYUEVDVF9FUShDR1JlY3RNYWtlKDEwMCwgMCwgMCwg
MjUpLCB0ZXh0UmVjdHNbNF0uQ0dSZWN0VmFsdWUpOworICAgICAgICBFWFBFQ1RfRVEoQ0dSZWN0
TWFrZSgwLCAyNSwgMCwgMjUpLCB0ZXh0UmVjdHNbNV0uQ0dSZWN0VmFsdWUpOworICAgICAgICBF
WFBFQ1RfRVEoQ0dSZWN0TWFrZSgwLCA1MCwgMCwgMjUpLCB0ZXh0UmVjdHNbNl0uQ0dSZWN0VmFs
dWUpOworICAgIH0KK30KKwogVEVTVChEb2N1bWVudEVkaXRpbmdDb250ZXh0LCBTcGF0aWFsUmVx
dWVzdF9SZWN0RW5jb21wYXNzaW5nSW5wdXQpCiB7CiAgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHRO
UyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA5
ODAsIDYwMCldKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450188</attachid>
            <date>2022-01-27 15:19:15 -0800</date>
            <delta_ts>2022-01-27 20:03:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235695-20220127151914.patch</filename>
            <type>text/plain</type>
            <size>10245</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4NDU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDQ2Mjc3YjQxNjNmN2Q3
YWRjZmY3NDMwYjBmMDEwNjI5ZTk3Yzg5Yy4uNzY2YjFkYWYwMjhjYmU3MzYwMTFiYTk0YTdiZGFm
NzQ1ZmI4YjgyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIyLTAxLTI3ICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgRG9jdW1lbnRD
b250ZXh0IGdpdmVzIGVtcHR5IHJlY3RzIGZvciBibGFuayBsaW5lcy4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTY5NQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IERvY3VtZW50RWRpdGluZ0Nv
bnRleHQ6OlJlY3RzUmVxdWVzdEluQ29udGVudEVkaXRhYmxlCisKKyAgICAgICAgV2hlbiByZXF1
ZXN0aW5nIHRoZSBkb2N1bWVudCBjb250ZXh0IGZvciB0aGUgZW5kIG9mIGEgZG9jdW1lbnQsIHdl
IHdvdWxkIGdpdmUgZW1wdHkgcmVjdHMgZm9yCisgICAgICAgIGJsYW5rIGxpbmVzLiBUaGlzIHdh
cyBiZWNhdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGFic29sdXRlQm91bmRpbmdSZWN0IGZvciB0
aGUgcmFuZ2UsIHdlIAorICAgICAgICB3b3VsZCB1c2UgYSBub3JtYWwgdW5pb25SZWN0IGNhbGws
IHdoaWNoIHdvdWxkIHVzZSB0aGUgYmFzaWMgdW5pdGUgY2FsbCwgd2hpY2ggZG9lcyBub3QgY29t
YmluZQorICAgICAgICBlbXB0eSByZWN0cy4gQW5kIGVtcHR5IHJlY3QgaXMgZGVmaW5lZCBhcyBh
IHJlY3QgdGhhdCBkb2VzIG5vdCBoYXZlIGEgbm9uLXplcm8gaGlnaHQgYW5kIHdpZHRoLgorICAg
ICAgICBTaW5jZSB3ZSB3ZXJlIGNhbGN1bGF0aW5nIGluZm9ybWF0aW9uIGFib3V0IDxicj4gbGlu
ZXMsIHRoaXMgd2FzIGNhdXNpbmcgdXMgdG8gdW5pb24gYSBsaXN0IG9mIAorICAgICAgICBhIHNp
bmdsZSByZWN0LCB3aGljaCB3YXMgYW4gZW1wdHkgcmVjdC4gVGhpcyBsZWZ0IHVzIHdpdGggYSB6
ZXJvIHJlY3QgYWZ0ZXIgdW5pb25pbmcuIFRoZSBzb2x1dGlvbiAKKyAgICAgICAgaXMgdG8gdW5p
b25JZk5vblplcm8gd2hlbiBjYWxjdWxhdGluZyB0aGVzZSByZWN0cyBmb3IgRG9jdW1lbnRDb250
ZXh0LiBJIGFsc28gdG9vayB0aGUgb3Bwb3J0dW5pdHkgCisgICAgICAgIHRvIG1ha2Ugc29tZSBv
ZiB0aGlzIGNvZGUgbW9yZSBwYXJhbGxlbCB0byBvdGhlciBpbXBsZW1lbnRhdGlvbnMuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HZW9tZXRyeVV0aWxpdGllcy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjp1bmlvblJlY3RJZk5vblplcm8pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL0dlb21ldHJ5VXRpbGl0aWVzLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50
UmVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRSZWN0Ojp1bml0ZUlmTm9uWmVybyk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5oOgorICAgICAgICAoV2ViQ29yZTo6
SW50UmVjdDo6aXNaZXJvIGNvbnN0KToKKwogMjAyMi0wMS0yNCAgQW50b2luZSBRdWludCAgPGdy
YW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBQYXNzIHRoZSBEb2N1bWVudCB0aHJvdWdoIGJp
bmRpbmdzIHRvIEtleWZyYW1lRWZmZWN0OjpzZXRLZXlmcmFtZXMoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBmNjQx
ZmE4MzA2YzllY2EyZjNkM2NmMzgwODc2Y2JiYmU3YTAxNzcwLi5iMjZjNDEyNjYwNjliZjVkNzQy
MDVkMzAzNmMwNGQ1MzYxZDFlYWY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIyLTAx
LTI3ICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAg
RG9jdW1lbnRDb250ZXh0IGdpdmVzIGVtcHR5IHJlY3RzIGZvciBibGFuayBsaW5lcy4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTY5NQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gcmVxdWVzdGlu
ZyB0aGUgZG9jdW1lbnQgY29udGV4dCBmb3IgdGhlIGVuZCBvZiBhIGRvY3VtZW50LCB3ZSB3b3Vs
ZCBnaXZlIGVtcHR5IHJlY3RzIGZvcgorICAgICAgICBibGFuayBsaW5lcy4gVGhpcyB3YXMgYmVj
YXVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBhYnNvbHV0ZUJvdW5kaW5nUmVjdCBmb3IgdGhlIHJh
bmdlLCB3ZSAKKyAgICAgICAgd291bGQgdXNlIGEgbm9ybWFsIHVuaW9uUmVjdCBjYWxsLCB3aGlj
aCB3b3VsZCB1c2UgdGhlIGJhc2ljIHVuaXRlIGNhbGwsIHdoaWNoIGRvZXMgbm90IGNvbWJpbmUK
KyAgICAgICAgZW1wdHkgcmVjdHMuIEFuZCBlbXB0eSByZWN0IGlzIGRlZmluZWQgYXMgYSByZWN0
IHRoYXQgZG9lcyBub3QgaGF2ZSBhIG5vbi16ZXJvIGhpZ2h0IGFuZCB3aWR0aC4KKyAgICAgICAg
U2luY2Ugd2Ugd2VyZSBjYWxjdWxhdGluZyBpbmZvcm1hdGlvbiBhYm91dCA8YnI+IGxpbmVzLCB0
aGlzIHdhcyBjYXVzaW5nIHVzIHRvIHVuaW9uIGEgbGlzdCBvZiAKKyAgICAgICAgYSBzaW5nbGUg
cmVjdCwgd2hpY2ggd2FzIGFuIGVtcHR5IHJlY3QuIFRoaXMgbGVmdCB1cyB3aXRoIGEgemVybyBy
ZWN0IGFmdGVyIHVuaW9uaW5nLiBUaGUgc29sdXRpb24gCisgICAgICAgIGlzIHRvIHVuaW9uSWZO
b25aZXJvIHdoZW4gY2FsY3VsYXRpbmcgdGhlc2UgcmVjdHMgZm9yIERvY3VtZW50Q29udGV4dC4g
SSBhbHNvIHRvb2sgdGhlIG9wcG9ydHVuaXR5IAorICAgICAgICB0byBtYWtlIHNvbWUgb2YgdGhp
cyBjb2RlIG1vcmUgcGFyYWxsZWwgdG8gb3RoZXIgaW1wbGVtZW50YXRpb25zLgorCisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlOjpyZXF1ZXN0RG9jdW1lbnRFZGl0aW5nQ29udGV4dCk6CisKIDIwMjItMDEtMjQg
IERhdmlkIFF1ZXNhZGEgIDxkYXZpZF9xdWVzYWRhQGFwcGxlLmNvbT4KIAogICAgICAgICBTaW1w
bGlmeSBhY2Nlc3NlcyB0byBTeXN0ZW1WZXJzaW9uLnBsaXN0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW9tZXRyeVV0aWxpdGllcy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW9tZXRyeVV0aWxpdGllcy5jcHAKaW5kZXggZDE4
MWM4NGE4NDg5ZmYwY2VmMjQwNWE4ZGRiYTAyZDBkYWI2NDQ1My4uNzRiNGMzNWE1NGM1NjRhOWQw
YjY3NzliYjZmODRkN2VmYjBkZGM2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dlb21ldHJ5VXRpbGl0aWVzLmNwcApAQCAtODksNiArODksMTQgQEAg
SW50UmVjdCB1bmlvblJlY3QoY29uc3QgVmVjdG9yPEludFJlY3Q+JiByZWN0cykKICAgICByZXR1
cm4gcmVzdWx0OwogfQogCitJbnRSZWN0IHVuaW9uUmVjdElnbm9yaW5nWmVyb1JlY3RzKGNvbnN0
IFZlY3RvcjxJbnRSZWN0PiYgcmVjdHMpCit7CisgICAgSW50UmVjdCByZXN1bHQ7CisgICAgZm9y
IChhdXRvJiByZWN0IDogcmVjdHMpCisgICAgICAgIHJlc3VsdC51bml0ZUlmTm9uWmVybyhyZWN0
KTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCiBGbG9hdFJlY3QgdW5pb25SZWN0KGNvbnN0IFZl
Y3RvcjxGbG9hdFJlY3Q+JiByZWN0cykKIHsKICAgICBGbG9hdFJlY3QgcmVzdWx0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlb21ldHJ5VXRpbGl0aWVzLmgK
aW5kZXggYmI2NTNmMTQwYWRhZmUxNTE4ODBhMjk3MmI4YTU1OTFhYTc4MGU5Mi4uYzhkNjYzOTg4
MTA1YTc2ZWQ5ZjUzZWRiZTZiMzNlNzE5YzViYjM2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW9tZXRyeVV0aWxpdGllcy5oCkBAIC00Miw2ICs0Miw3
IEBAIGZsb2F0IGZpbmRTbG9wZShjb25zdCBGbG9hdFBvaW50JiBwMSwgY29uc3QgRmxvYXRQb2lu
dCYgcDIsIGZsb2F0JiBjKTsKIFdFQkNPUkVfRVhQT1JUIGJvb2wgZmluZEludGVyc2VjdGlvbihj
b25zdCBGbG9hdFBvaW50JiBwMSwgY29uc3QgRmxvYXRQb2ludCYgcDIsIGNvbnN0IEZsb2F0UG9p
bnQmIGQxLCBjb25zdCBGbG9hdFBvaW50JiBkMiwgRmxvYXRQb2ludCYgaW50ZXJzZWN0aW9uKTsK
IAogV0VCQ09SRV9FWFBPUlQgSW50UmVjdCB1bmlvblJlY3QoY29uc3QgVmVjdG9yPEludFJlY3Q+
Jik7CitXRUJDT1JFX0VYUE9SVCBJbnRSZWN0IHVuaW9uUmVjdElnbm9yaW5nWmVyb1JlY3RzKGNv
bnN0IFZlY3RvcjxJbnRSZWN0PiYpOwogV0VCQ09SRV9FWFBPUlQgRmxvYXRSZWN0IHVuaW9uUmVj
dChjb25zdCBWZWN0b3I8RmxvYXRSZWN0PiYpOwogV0VCQ09SRV9FWFBPUlQgRmxvYXRSZWN0IHVu
aW9uUmVjdElnbm9yaW5nWmVyb1JlY3RzKGNvbnN0IFZlY3RvcjxGbG9hdFJlY3Q+Jik7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5jcHAKaW5kZXggMTQxYjE5
OGQ2M2U4OTdlNTYwZTk0NzgwOGI4NGU2MThhMzgxZWIxOC4uZDE1NzNlZTZiZTA1YmE2ZmEzN2Rj
MDUzNTdmYWIwZDIwNTI3ZTgyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvSW50UmVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvSW50UmVjdC5jcHAKQEAgLTEwNSw5ICsxMDUsOSBAQCB2b2lkIEludFJlY3Q6OnVuaXRlKGNv
bnN0IEludFJlY3QmIG90aGVyKQogdm9pZCBJbnRSZWN0Ojp1bml0ZUlmTm9uWmVybyhjb25zdCBJ
bnRSZWN0JiBvdGhlcikKIHsKICAgICAvLyBIYW5kbGUgZW1wdHkgc3BlY2lhbCBjYXNlcyBmaXJz
dC4KLSAgICBpZiAoIW90aGVyLndpZHRoKCkgJiYgIW90aGVyLmhlaWdodCgpKQorICAgIGlmIChv
dGhlci5pc1plcm8oKSkKICAgICAgICAgcmV0dXJuOwotICAgIGlmICghd2lkdGgoKSAmJiAhaGVp
Z2h0KCkpIHsKKyAgICBpZiAoaXNaZXJvKCkpIHsKICAgICAgICAgKnRoaXMgPSBvdGhlcjsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ludFJlY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0lu
dFJlY3QuaAppbmRleCA0NjhlMDE5NjhkM2UyNmZiYzlhZTI4NTc1OTczNWQxZDUxZjFiNWE3Li5i
OWYwYjZkNGJhMTg4ZjQ2MjNmMmQyOGEzNTU5Mzg2OTA2Nzc2YWY0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5oCkBAIC05Nyw2ICs5Nyw3IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHNldEhlaWdodChpbnQgaGVpZ2h0KSB7IG1fc2l6ZS5zZXRIZWlnaHQoaGVpZ2h0
KTsgfQogCiAgICAgYm9vbCBpc0VtcHR5KCkgY29uc3QgeyByZXR1cm4gbV9zaXplLmlzRW1wdHko
KTsgfQorICAgIGJvb2wgaXNaZXJvKCkgY29uc3QgeyByZXR1cm4gbV9zaXplLmlzWmVybygpOyB9
CiAKICAgICAvLyBOT1RFOiBUaGUgcmVzdWx0IGlzIHJvdW5kZWQgdG8gaW50ZWdlciB2YWx1ZXMs
IGFuZCB0aHVzIG1heSBiZSBub3QgdGhlIGV4YWN0CiAgICAgLy8gY2VudGVyIHBvaW50LgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1Mu
bW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQpp
bmRleCA2MWY1MWIzNmE3NTkxZjNkNGE2YmEzNDM1MjUzYTNiMTQ4ZjU4MGJmLi43ODdjNTgwZmZl
Nzg5YjE5MzgxZTA5NDU2MzI5NjZkM2NhMzBiMDA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQpAQCAtNDU2MSw3ICs0NTYxLDcg
QEAgdm9pZCBXZWJQYWdlOjpyZXF1ZXN0RG9jdW1lbnRFZGl0aW5nQ29udGV4dChEb2N1bWVudEVk
aXRpbmdDb250ZXh0UmVxdWVzdCByZXF1ZXMKICAgICAgICAgY29uc3QgaW50IHN0cmlkZSA9IDE7
CiAgICAgICAgIHdoaWxlICghaXRlcmF0b3IuYXRFbmQoKSkgewogICAgICAgICAgICAgaWYgKCFp
dGVyYXRvci50ZXh0KCkuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICAgICAgYXV0byBhYnNvbHV0
ZUJvdW5kaW5nQm94ID0gdW5pb25SZWN0KFJlbmRlck9iamVjdDo6YWJzb2x1dGVUZXh0UmVjdHMo
aXRlcmF0b3IucmFuZ2UoKSwgUmVuZGVyT2JqZWN0OjpCb3VuZGluZ1JlY3RCZWhhdmlvcjo6SWdu
b3JlRW1wdHlUZXh0U2VsZWN0aW9ucykpOworICAgICAgICAgICAgICAgIGF1dG8gYWJzb2x1dGVC
b3VuZGluZ0JveCA9IHVuaW9uUmVjdElnbm9yaW5nWmVyb1JlY3RzKFJlbmRlck9iamVjdDo6YWJz
b2x1dGVUZXh0UmVjdHMoaXRlcmF0b3IucmFuZ2UoKSwgUmVuZGVyT2JqZWN0OjpCb3VuZGluZ1Jl
Y3RCZWhhdmlvcjo6SWdub3JlRW1wdHlUZXh0U2VsZWN0aW9ucykpOwogICAgICAgICAgICAgICAg
IHJlY3RzLmFwcGVuZCh7IGl0ZXJhdG9yLnJhbmdlKCkuc3RhcnQuZG9jdW1lbnQoKS52aWV3KCkt
PmNvbnRlbnRzVG9Sb290VmlldyhhYnNvbHV0ZUJvdW5kaW5nQm94KSwgeyBvZmZzZXRTb0Zhcisr
LCBzdHJpZGUgfSB9KTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGl0ZXJhdG9yLmFkdmFu
Y2Uoc3RyaWRlKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxv
ZwppbmRleCA4YmE2ZjNlOGY2YTQxMDIyMjU2MTdiOWFjM2IzYTA4ZTM0MjljNTRkLi42YTE0Mjlh
YzhkNGY5MDJjZmM3NmZlMGQxNTg1ZmE5ZjM5NDkwZjAzIDEwMDY0NAotLS0gYS9Ub29scy9DaGFu
Z2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjItMDEtMjcg
IE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBEb2N1
bWVudENvbnRleHQgZ2l2ZXMgZW1wdHkgcmVjdHMgZm9yIGJsYW5rIGxpbmVzLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1Njk1CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdENvY29hL0RvY3VtZW50RWRpdGluZ0NvbnRleHQubW06CisgICAgICAgIChURVNU
KTogRG9jdW1lbnRFZGl0aW5nQ29udGV4dDo6UmVjdHNSZXF1ZXN0SW5Db250ZW50RWRpdGFibGUK
KwogMjAyMi0wMS0yNCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+
CiAKICAgICAgICAgW0dUS11bYTExeV0gVGVzdCBhY2Nlc3NpYmlsaXR5L3VybC10ZXN0Lmh0bWwg
ZmFpbHMgd2l0aCBBVFNQSQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRDb2NvYS9Eb2N1bWVudEVkaXRpbmdDb250ZXh0Lm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRDb2NvYS9Eb2N1bWVudEVkaXRpbmdDb250ZXh0Lm1tCmluZGV4IGFkNGU3
MTBmZWI0MTRkZDg1M2FmOGRiZWI0ZTlmN2I4ODg3YTYxNTIuLjFkYTZkNDUyOWJiODNjNWVjMTM4
NjUzZDkzY2Y4OGU2OThkN2U5MmUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvRG9jdW1lbnRFZGl0aW5nQ29udGV4dC5tbQorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0RvY3VtZW50RWRpdGluZ0NvbnRleHQubW0KQEAg
LTQ3NSw2ICs0NzUsMzEgQEAgc3RhdGljIENHUmVjdCBDR1JlY3RGcm9tSlNPTkVuY29kZWRET01S
ZWN0SlNWYWx1ZShpZCBqc1ZhbHVlKQogICAgIHJldHVybiBDR1JlY3RNYWtlKFtkb21SZWN0W0Ai
bGVmdCJdIGZsb2F0VmFsdWVdLCBbZG9tUmVjdFtAInRvcCJdIGZsb2F0VmFsdWVdLCBbZG9tUmVj
dFtAIndpZHRoIl0gZmxvYXRWYWx1ZV0sIFtkb21SZWN0W0AiaGVpZ2h0Il0gZmxvYXRWYWx1ZV0p
OwogfQogCitURVNUKERvY3VtZW50RWRpdGluZ0NvbnRleHQsIFJlY3RzUmVxdWVzdEluQ29udGVu
dEVkaXRhYmxlKQoreworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3
IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApXSk7CisKKyAg
ICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZEhUTUxTdHJpbmc6YXBwbHlBaGVtU3R5bGUoQCI8
cCBpZD0ndGV4dCcgY29udGVudGVkaXRhYmxlPlRlc3Q8YnI+PGJyPjxicj48YnI+PC9wPiIpXTsK
KyAgICBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiZ2V0U2VsZWN0aW9u
KCkuc2V0QmFzZUFuZEV4dGVudCh0ZXh0Lmxhc3RDaGlsZCwgdGV4dC5sYXN0Q2hpbGQubGVuZ3Ro
LCB0ZXh0Lmxhc3RDaGlsZCwgdGV4dC5sYXN0Q2hpbGQubGVuZ3RoKSJdOyAvLyBXaWxsIGZvY3Vz
IDxwPi4KKyAgICAKKyAgICBOU0FycmF5PF9XS1RleHRJbnB1dENvbnRleHQgKj4gKnRleHRJbnB1
dENvbnRleHRzID0gW3dlYlZpZXcgc3luY2hyb25vdXNseVJlcXVlc3RUZXh0SW5wdXRDb250ZXh0
c0luUmVjdDpbd2ViVmlldyBmcmFtZV1dOworICAgIEVYUEVDVF9FUSgxVUwsIHRleHRJbnB1dENv
bnRleHRzLmNvdW50KTsKKworICAgIGF1dG8gcmVxdWVzdCA9IHJldGFpblB0cihtYWtlUmVxdWVz
dChVSVdLRG9jdW1lbnRSZXF1ZXN0VGV4dCB8IFVJV0tEb2N1bWVudFJlcXVlc3RSZWN0cyB8IFVJ
V0tEb2N1bWVudFJlcXVlc3RTcGF0aWFsQW5kQ3VycmVudFNlbGVjdGlvbiwgVUlUZXh0R3JhbnVs
YXJpdHlDaGFyYWN0ZXIsIDIwMCwgW3dlYlZpZXcgZnJhbWVdLCB0ZXh0SW5wdXRDb250ZXh0c1sw
XSkpOworICAgIGF1dG8gY29udGV4dCA9IHJldGFpblB0cihbd2ViVmlldyBzeW5jaHJvbm91c2x5
UmVxdWVzdERvY3VtZW50Q29udGV4dDpyZXF1ZXN0LmdldCgpXSk7CisgICAgYXV0byAqdGV4dFJl
Y3RzID0gW2NvbnRleHQgdGV4dFJlY3RzXTsKKyAgICBFWFBFQ1RfRVEoN1UsIHRleHRSZWN0cy5j
b3VudCk7CisgICAgaWYgKHRleHRSZWN0cy5jb3VudCA+PSA3KSB7CisgICAgICAgIEVYUEVDVF9F
UShDR1JlY3RNYWtlKDAsIDAsIDI1LCAyNSksIHRleHRSZWN0c1swXS5DR1JlY3RWYWx1ZSk7Cisg
ICAgICAgIEVYUEVDVF9FUShDR1JlY3RNYWtlKDI1LCAwLCAyNSwgMjUpLCB0ZXh0UmVjdHNbMV0u
Q0dSZWN0VmFsdWUpOworICAgICAgICBFWFBFQ1RfRVEoQ0dSZWN0TWFrZSg1MCwgMCwgMjUsIDI1
KSwgdGV4dFJlY3RzWzJdLkNHUmVjdFZhbHVlKTsKKyAgICAgICAgRVhQRUNUX0VRKENHUmVjdE1h
a2UoNzUsIDAsIDI1LCAyNSksIHRleHRSZWN0c1szXS5DR1JlY3RWYWx1ZSk7CisgICAgICAgIEVY
UEVDVF9FUShDR1JlY3RNYWtlKDEwMCwgMCwgMCwgMjUpLCB0ZXh0UmVjdHNbNF0uQ0dSZWN0VmFs
dWUpOworICAgICAgICBFWFBFQ1RfRVEoQ0dSZWN0TWFrZSgwLCAyNSwgMCwgMjUpLCB0ZXh0UmVj
dHNbNV0uQ0dSZWN0VmFsdWUpOworICAgICAgICBFWFBFQ1RfRVEoQ0dSZWN0TWFrZSgwLCA1MCwg
MCwgMjUpLCB0ZXh0UmVjdHNbNl0uQ0dSZWN0VmFsdWUpOworICAgIH0KK30KKwogVEVTVChEb2N1
bWVudEVkaXRpbmdDb250ZXh0LCBTcGF0aWFsUmVxdWVzdF9SZWN0RW5jb21wYXNzaW5nSW5wdXQp
CiB7CiAgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGlu
aXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA5ODAsIDYwMCldKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450201</attachid>
            <date>2022-01-27 20:03:16 -0800</date>
            <delta_ts>2022-01-27 21:14:39 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-235695-20220127200315.patch</filename>
            <type>text/plain</type>
            <size>10239</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4NDU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDQ2Mjc3YjQxNjNmN2Q3
YWRjZmY3NDMwYjBmMDEwNjI5ZTk3Yzg5Yy4uZmU1NDExNTg4MzExM2FiOTU2YTBhYjY5NzgxOTNk
NmQyNWFhN2ViNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIyLTAxLTI3ICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgRG9jdW1lbnRD
b250ZXh0IGdpdmVzIGVtcHR5IHJlY3RzIGZvciBibGFuayBsaW5lcy4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTY5NQorCisgICAgICAgIFJldmll
d2VkIGJ5IFdlbnNvbiBIc2llaC4KKworICAgICAgICBUZXN0OiBEb2N1bWVudEVkaXRpbmdDb250
ZXh0OjpSZWN0c1JlcXVlc3RJbkNvbnRlbnRFZGl0YWJsZQorCisgICAgICAgIFdoZW4gcmVxdWVz
dGluZyB0aGUgZG9jdW1lbnQgY29udGV4dCBmb3IgdGhlIGVuZCBvZiBhIGRvY3VtZW50LCB3ZSB3
b3VsZCBnaXZlIGVtcHR5IHJlY3RzIGZvcgorICAgICAgICBibGFuayBsaW5lcy4gVGhpcyB3YXMg
YmVjYXVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBhYnNvbHV0ZUJvdW5kaW5nUmVjdCBmb3IgdGhl
IHJhbmdlLCB3ZSAKKyAgICAgICAgd291bGQgdXNlIGEgbm9ybWFsIHVuaW9uUmVjdCBjYWxsLCB3
aGljaCB3b3VsZCB1c2UgdGhlIGJhc2ljIHVuaXRlIGNhbGwsIHdoaWNoIGRvZXMgbm90IGNvbWJp
bmUKKyAgICAgICAgZW1wdHkgcmVjdHMuIEFuZCBlbXB0eSByZWN0IGlzIGRlZmluZWQgYXMgYSBy
ZWN0IHRoYXQgZG9lcyBub3QgaGF2ZSBhIG5vbi16ZXJvIGhpZ2h0IGFuZCB3aWR0aC4KKyAgICAg
ICAgU2luY2Ugd2Ugd2VyZSBjYWxjdWxhdGluZyBpbmZvcm1hdGlvbiBhYm91dCA8YnI+IGxpbmVz
LCB0aGlzIHdhcyBjYXVzaW5nIHVzIHRvIHVuaW9uIGEgbGlzdCBvZiAKKyAgICAgICAgYSBzaW5n
bGUgcmVjdCwgd2hpY2ggd2FzIGFuIGVtcHR5IHJlY3QuIFRoaXMgbGVmdCB1cyB3aXRoIGEgemVy
byByZWN0IGFmdGVyIHVuaW9uaW5nLiBUaGUgc29sdXRpb24gCisgICAgICAgIGlzIHRvIHVuaW9u
SWZOb25aZXJvIHdoZW4gY2FsY3VsYXRpbmcgdGhlc2UgcmVjdHMgZm9yIERvY3VtZW50Q29udGV4
dC4gSSBhbHNvIHRvb2sgdGhlIG9wcG9ydHVuaXR5IAorICAgICAgICB0byBtYWtlIHNvbWUgb2Yg
dGhpcyBjb2RlIG1vcmUgcGFyYWxsZWwgdG8gb3RoZXIgaW1wbGVtZW50YXRpb25zLgorCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6dW5pb25SZWN0SWZOb25aZXJvKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9HZW9tZXRyeVV0aWxpdGllcy5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ludFJl
Y3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50UmVjdDo6dW5pdGVJZk5vblplcm8pOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6Oklu
dFJlY3Q6OmlzWmVybyBjb25zdCk6CisKIDIwMjItMDEtMjQgIEFudG9pbmUgUXVpbnQgIDxncmFv
dXRzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUGFzcyB0aGUgRG9jdW1lbnQgdGhyb3VnaCBiaW5k
aW5ncyB0byBLZXlmcmFtZUVmZmVjdDo6c2V0S2V5ZnJhbWVzKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZjY0MWZh
ODMwNmM5ZWNhMmYzZDNjZjM4MDg3NmNiYmJlN2EwMTc3MC4uMDAxNWNlNGE3NzFlZjFlYjg4Mjgx
ZDMzZjYzMGRlZDhmYmM0ZmYwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAyMi0wMS0y
NyAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisgICAgICAgIERv
Y3VtZW50Q29udGV4dCBnaXZlcyBlbXB0eSByZWN0cyBmb3IgYmxhbmsgbGluZXMuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzU2OTUKKworICAgICAg
ICBSZXZpZXdlZCBieSBXZW5zb24gSHNpZWguCisKKyAgICAgICAgV2hlbiByZXF1ZXN0aW5nIHRo
ZSBkb2N1bWVudCBjb250ZXh0IGZvciB0aGUgZW5kIG9mIGEgZG9jdW1lbnQsIHdlIHdvdWxkIGdp
dmUgZW1wdHkgcmVjdHMgZm9yCisgICAgICAgIGJsYW5rIGxpbmVzLiBUaGlzIHdhcyBiZWNhdXNl
IHdoZW4gY2FsY3VsYXRpbmcgdGhlIGFic29sdXRlQm91bmRpbmdSZWN0IGZvciB0aGUgcmFuZ2Us
IHdlIAorICAgICAgICB3b3VsZCB1c2UgYSBub3JtYWwgdW5pb25SZWN0IGNhbGwsIHdoaWNoIHdv
dWxkIHVzZSB0aGUgYmFzaWMgdW5pdGUgY2FsbCwgd2hpY2ggZG9lcyBub3QgY29tYmluZQorICAg
ICAgICBlbXB0eSByZWN0cy4gQW5kIGVtcHR5IHJlY3QgaXMgZGVmaW5lZCBhcyBhIHJlY3QgdGhh
dCBkb2VzIG5vdCBoYXZlIGEgbm9uLXplcm8gaGlnaHQgYW5kIHdpZHRoLgorICAgICAgICBTaW5j
ZSB3ZSB3ZXJlIGNhbGN1bGF0aW5nIGluZm9ybWF0aW9uIGFib3V0IDxicj4gbGluZXMsIHRoaXMg
d2FzIGNhdXNpbmcgdXMgdG8gdW5pb24gYSBsaXN0IG9mIAorICAgICAgICBhIHNpbmdsZSByZWN0
LCB3aGljaCB3YXMgYW4gZW1wdHkgcmVjdC4gVGhpcyBsZWZ0IHVzIHdpdGggYSB6ZXJvIHJlY3Qg
YWZ0ZXIgdW5pb25pbmcuIFRoZSBzb2x1dGlvbiAKKyAgICAgICAgaXMgdG8gdW5pb25JZk5vblpl
cm8gd2hlbiBjYWxjdWxhdGluZyB0aGVzZSByZWN0cyBmb3IgRG9jdW1lbnRDb250ZXh0LiBJIGFs
c28gdG9vayB0aGUgb3Bwb3J0dW5pdHkgCisgICAgICAgIHRvIG1ha2Ugc29tZSBvZiB0aGlzIGNv
ZGUgbW9yZSBwYXJhbGxlbCB0byBvdGhlciBpbXBsZW1lbnRhdGlvbnMuCisKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2U6OnJlcXVlc3REb2N1bWVudEVkaXRpbmdDb250ZXh0KToKKwogMjAyMi0wMS0yNCAgRGF2
aWQgUXVlc2FkYSAgPGRhdmlkX3F1ZXNhZGFAYXBwbGUuY29tPgogCiAgICAgICAgIFNpbXBsaWZ5
IGFjY2Vzc2VzIHRvIFN5c3RlbVZlcnNpb24ucGxpc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlb21ldHJ5VXRpbGl0aWVzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlb21ldHJ5VXRpbGl0aWVzLmNwcAppbmRleCBkMTgxYzg0
YTg0ODlmZjBjZWYyNDA1YThkZGJhMDJkMGRhYjY0NDUzLi43NGI0YzM1YTU0YzU2NGE5ZDBiNjc3
OWJiNmY4NGQ3ZWZiMGRkYzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9HZW9tZXRyeVV0aWxpdGllcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuY3BwCkBAIC04OSw2ICs4OSwxNCBAQCBJbnRS
ZWN0IHVuaW9uUmVjdChjb25zdCBWZWN0b3I8SW50UmVjdD4mIHJlY3RzKQogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiAKK0ludFJlY3QgdW5pb25SZWN0SWdub3JpbmdaZXJvUmVjdHMoY29uc3QgVmVj
dG9yPEludFJlY3Q+JiByZWN0cykKK3sKKyAgICBJbnRSZWN0IHJlc3VsdDsKKyAgICBmb3IgKGF1
dG8mIHJlY3QgOiByZWN0cykKKyAgICAgICAgcmVzdWx0LnVuaXRlSWZOb25aZXJvKHJlY3QpOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CisKIEZsb2F0UmVjdCB1bmlvblJlY3QoY29uc3QgVmVjdG9y
PEZsb2F0UmVjdD4mIHJlY3RzKQogewogICAgIEZsb2F0UmVjdCByZXN1bHQ7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW9tZXRyeVV0aWxpdGllcy5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuaAppbmRl
eCBiYjY1M2YxNDBhZGFmZTE1MTg4MGEyOTcyYjhhNTU5MWFhNzgwZTkyLi5jOGQ2NjM5ODgxMDVh
NzZlZDlmNTNlZGJlNmIzM2U3MTljNWJiMzY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HZW9tZXRyeVV0aWxpdGllcy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0dlb21ldHJ5VXRpbGl0aWVzLmgKQEAgLTQyLDYgKzQyLDcgQEAg
ZmxvYXQgZmluZFNsb3BlKGNvbnN0IEZsb2F0UG9pbnQmIHAxLCBjb25zdCBGbG9hdFBvaW50JiBw
MiwgZmxvYXQmIGMpOwogV0VCQ09SRV9FWFBPUlQgYm9vbCBmaW5kSW50ZXJzZWN0aW9uKGNvbnN0
IEZsb2F0UG9pbnQmIHAxLCBjb25zdCBGbG9hdFBvaW50JiBwMiwgY29uc3QgRmxvYXRQb2ludCYg
ZDEsIGNvbnN0IEZsb2F0UG9pbnQmIGQyLCBGbG9hdFBvaW50JiBpbnRlcnNlY3Rpb24pOwogCiBX
RUJDT1JFX0VYUE9SVCBJbnRSZWN0IHVuaW9uUmVjdChjb25zdCBWZWN0b3I8SW50UmVjdD4mKTsK
K1dFQkNPUkVfRVhQT1JUIEludFJlY3QgdW5pb25SZWN0SWdub3JpbmdaZXJvUmVjdHMoY29uc3Qg
VmVjdG9yPEludFJlY3Q+Jik7CiBXRUJDT1JFX0VYUE9SVCBGbG9hdFJlY3QgdW5pb25SZWN0KGNv
bnN0IFZlY3RvcjxGbG9hdFJlY3Q+Jik7CiBXRUJDT1JFX0VYUE9SVCBGbG9hdFJlY3QgdW5pb25S
ZWN0SWdub3JpbmdaZXJvUmVjdHMoY29uc3QgVmVjdG9yPEZsb2F0UmVjdD4mKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmNwcAppbmRleCAxNDFiMTk4ZDYz
ZTg5N2U1NjBlOTQ3ODA4Yjg0ZTYxOGEzODFlYjE4Li5kMTU3M2VlNmJlMDViYTZmYTM3ZGMwNTM1
N2ZhYjBkMjA1MjdlODJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9JbnRSZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9J
bnRSZWN0LmNwcApAQCAtMTA1LDkgKzEwNSw5IEBAIHZvaWQgSW50UmVjdDo6dW5pdGUoY29uc3Qg
SW50UmVjdCYgb3RoZXIpCiB2b2lkIEludFJlY3Q6OnVuaXRlSWZOb25aZXJvKGNvbnN0IEludFJl
Y3QmIG90aGVyKQogewogICAgIC8vIEhhbmRsZSBlbXB0eSBzcGVjaWFsIGNhc2VzIGZpcnN0Lgot
ICAgIGlmICghb3RoZXIud2lkdGgoKSAmJiAhb3RoZXIuaGVpZ2h0KCkpCisgICAgaWYgKG90aGVy
LmlzWmVybygpKQogICAgICAgICByZXR1cm47Ci0gICAgaWYgKCF3aWR0aCgpICYmICFoZWlnaHQo
KSkgeworICAgIGlmIChpc1plcm8oKSkgewogICAgICAgICAqdGhpcyA9IG90aGVyOwogICAgICAg
ICByZXR1cm47CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvSW50UmVjdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVj
dC5oCmluZGV4IDQ2OGUwMTk2OGQzZTI2ZmJjOWFlMjg1NzU5NzM1ZDFkNTFmMWI1YTcuLmI5ZjBi
NmQ0YmExODhmNDYyM2YyZDI4YTM1NTkzODY5MDY3NzZhZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmgKQEAgLTk3LDYgKzk3LDcgQEAgcHVibGljOgogICAg
IHZvaWQgc2V0SGVpZ2h0KGludCBoZWlnaHQpIHsgbV9zaXplLnNldEhlaWdodChoZWlnaHQpOyB9
CiAKICAgICBib29sIGlzRW1wdHkoKSBjb25zdCB7IHJldHVybiBtX3NpemUuaXNFbXB0eSgpOyB9
CisgICAgYm9vbCBpc1plcm8oKSBjb25zdCB7IHJldHVybiBtX3NpemUuaXNaZXJvKCk7IH0KIAog
ICAgIC8vIE5PVEU6IFRoZSByZXN1bHQgaXMgcm91bmRlZCB0byBpbnRlZ2VyIHZhbHVlcywgYW5k
IHRodXMgbWF5IGJlIG5vdCB0aGUgZXhhY3QKICAgICAvLyBjZW50ZXIgcG9pbnQuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbSBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4
IDYxZjUxYjM2YTc1OTFmM2Q0YTZiYTM0MzUyNTNhM2IxNDhmNTgwYmYuLjc4N2M1ODBmZmU3ODli
MTkzODFlMDk0NTYzMjk2NmQzY2EzMGIwMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCkBAIC00NTYxLDcgKzQ1NjEsNyBAQCB2
b2lkIFdlYlBhZ2U6OnJlcXVlc3REb2N1bWVudEVkaXRpbmdDb250ZXh0KERvY3VtZW50RWRpdGlu
Z0NvbnRleHRSZXF1ZXN0IHJlcXVlcwogICAgICAgICBjb25zdCBpbnQgc3RyaWRlID0gMTsKICAg
ICAgICAgd2hpbGUgKCFpdGVyYXRvci5hdEVuZCgpKSB7CiAgICAgICAgICAgICBpZiAoIWl0ZXJh
dG9yLnRleHQoKS5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgICAgICBhdXRvIGFic29sdXRlQm91
bmRpbmdCb3ggPSB1bmlvblJlY3QoUmVuZGVyT2JqZWN0OjphYnNvbHV0ZVRleHRSZWN0cyhpdGVy
YXRvci5yYW5nZSgpLCBSZW5kZXJPYmplY3Q6OkJvdW5kaW5nUmVjdEJlaGF2aW9yOjpJZ25vcmVF
bXB0eVRleHRTZWxlY3Rpb25zKSk7CisgICAgICAgICAgICAgICAgYXV0byBhYnNvbHV0ZUJvdW5k
aW5nQm94ID0gdW5pb25SZWN0SWdub3JpbmdaZXJvUmVjdHMoUmVuZGVyT2JqZWN0OjphYnNvbHV0
ZVRleHRSZWN0cyhpdGVyYXRvci5yYW5nZSgpLCBSZW5kZXJPYmplY3Q6OkJvdW5kaW5nUmVjdEJl
aGF2aW9yOjpJZ25vcmVFbXB0eVRleHRTZWxlY3Rpb25zKSk7CiAgICAgICAgICAgICAgICAgcmVj
dHMuYXBwZW5kKHsgaXRlcmF0b3IucmFuZ2UoKS5zdGFydC5kb2N1bWVudCgpLnZpZXcoKS0+Y29u
dGVudHNUb1Jvb3RWaWV3KGFic29sdXRlQm91bmRpbmdCb3gpLCB7IG9mZnNldFNvRmFyKyssIHN0
cmlkZSB9IH0pOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaXRlcmF0b3IuYWR2YW5jZShz
dHJpZGUpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmlu
ZGV4IDhiYTZmM2U4ZjZhNDEwMjIyNTYxN2I5YWMzYjNhMDhlMzQyOWM1NGQuLjM5NGJmNTA2NDJk
OTFiYTQ1MjRhYzAxNDdlZDljOWZmNjNjNTBlMDEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxv
ZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMi0wMS0yNyAgTWVn
YW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisgICAgICAgIERvY3VtZW50
Q29udGV4dCBnaXZlcyBlbXB0eSByZWN0cyBmb3IgYmxhbmsgbGluZXMuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzU2OTUKKworICAgICAgICBSZXZp
ZXdlZCBieSBXZW5zb24gSHNpZWguCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL0RvY3VtZW50RWRpdGluZ0NvbnRleHQubW06CisgICAgICAgIChURVNUKTogRG9j
dW1lbnRFZGl0aW5nQ29udGV4dDo6UmVjdHNSZXF1ZXN0SW5Db250ZW50RWRpdGFibGUKKwogMjAy
Mi0wMS0yNCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW0dUS11bYTExeV0gVGVzdCBhY2Nlc3NpYmlsaXR5L3VybC10ZXN0Lmh0bWwgZmFpbHMg
d2l0aCBBVFNQSQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRD
b2NvYS9Eb2N1bWVudEVkaXRpbmdDb250ZXh0Lm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9Eb2N1bWVudEVkaXRpbmdDb250ZXh0Lm1tCmluZGV4IGFkNGU3MTBmZWI0
MTRkZDg1M2FmOGRiZWI0ZTlmN2I4ODg3YTYxNTIuLjFkYTZkNDUyOWJiODNjNWVjMTM4NjUzZDkz
Y2Y4OGU2OThkN2U5MmUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2EvRG9jdW1lbnRFZGl0aW5nQ29udGV4dC5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL0RvY3VtZW50RWRpdGluZ0NvbnRleHQubW0KQEAgLTQ3NSw2
ICs0NzUsMzEgQEAgc3RhdGljIENHUmVjdCBDR1JlY3RGcm9tSlNPTkVuY29kZWRET01SZWN0SlNW
YWx1ZShpZCBqc1ZhbHVlKQogICAgIHJldHVybiBDR1JlY3RNYWtlKFtkb21SZWN0W0AibGVmdCJd
IGZsb2F0VmFsdWVdLCBbZG9tUmVjdFtAInRvcCJdIGZsb2F0VmFsdWVdLCBbZG9tUmVjdFtAIndp
ZHRoIl0gZmxvYXRWYWx1ZV0sIFtkb21SZWN0W0AiaGVpZ2h0Il0gZmxvYXRWYWx1ZV0pOwogfQog
CitURVNUKERvY3VtZW50RWRpdGluZ0NvbnRleHQsIFJlY3RzUmVxdWVzdEluQ29udGVudEVkaXRh
YmxlKQoreworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9j
XSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApXSk7CisKKyAgICBbd2Vi
VmlldyBzeW5jaHJvbm91c2x5TG9hZEhUTUxTdHJpbmc6YXBwbHlBaGVtU3R5bGUoQCI8cCBpZD0n
dGV4dCcgY29udGVudGVkaXRhYmxlPlRlc3Q8YnI+PGJyPjxicj48YnI+PC9wPiIpXTsKKyAgICBb
d2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiZ2V0U2VsZWN0aW9uKCkuc2V0
QmFzZUFuZEV4dGVudCh0ZXh0Lmxhc3RDaGlsZCwgdGV4dC5sYXN0Q2hpbGQubGVuZ3RoLCB0ZXh0
Lmxhc3RDaGlsZCwgdGV4dC5sYXN0Q2hpbGQubGVuZ3RoKSJdOyAvLyBXaWxsIGZvY3VzIDxwPi4K
KyAgICAKKyAgICBOU0FycmF5PF9XS1RleHRJbnB1dENvbnRleHQgKj4gKnRleHRJbnB1dENvbnRl
eHRzID0gW3dlYlZpZXcgc3luY2hyb25vdXNseVJlcXVlc3RUZXh0SW5wdXRDb250ZXh0c0luUmVj
dDpbd2ViVmlldyBmcmFtZV1dOworICAgIEVYUEVDVF9FUSgxVUwsIHRleHRJbnB1dENvbnRleHRz
LmNvdW50KTsKKworICAgIGF1dG8gcmVxdWVzdCA9IHJldGFpblB0cihtYWtlUmVxdWVzdChVSVdL
RG9jdW1lbnRSZXF1ZXN0VGV4dCB8IFVJV0tEb2N1bWVudFJlcXVlc3RSZWN0cyB8IFVJV0tEb2N1
bWVudFJlcXVlc3RTcGF0aWFsQW5kQ3VycmVudFNlbGVjdGlvbiwgVUlUZXh0R3JhbnVsYXJpdHlD
aGFyYWN0ZXIsIDIwMCwgW3dlYlZpZXcgZnJhbWVdLCB0ZXh0SW5wdXRDb250ZXh0c1swXSkpOwor
ICAgIGF1dG8gY29udGV4dCA9IHJldGFpblB0cihbd2ViVmlldyBzeW5jaHJvbm91c2x5UmVxdWVz
dERvY3VtZW50Q29udGV4dDpyZXF1ZXN0LmdldCgpXSk7CisgICAgYXV0byAqdGV4dFJlY3RzID0g
W2NvbnRleHQgdGV4dFJlY3RzXTsKKyAgICBFWFBFQ1RfRVEoN1UsIHRleHRSZWN0cy5jb3VudCk7
CisgICAgaWYgKHRleHRSZWN0cy5jb3VudCA+PSA3KSB7CisgICAgICAgIEVYUEVDVF9FUShDR1Jl
Y3RNYWtlKDAsIDAsIDI1LCAyNSksIHRleHRSZWN0c1swXS5DR1JlY3RWYWx1ZSk7CisgICAgICAg
IEVYUEVDVF9FUShDR1JlY3RNYWtlKDI1LCAwLCAyNSwgMjUpLCB0ZXh0UmVjdHNbMV0uQ0dSZWN0
VmFsdWUpOworICAgICAgICBFWFBFQ1RfRVEoQ0dSZWN0TWFrZSg1MCwgMCwgMjUsIDI1KSwgdGV4
dFJlY3RzWzJdLkNHUmVjdFZhbHVlKTsKKyAgICAgICAgRVhQRUNUX0VRKENHUmVjdE1ha2UoNzUs
IDAsIDI1LCAyNSksIHRleHRSZWN0c1szXS5DR1JlY3RWYWx1ZSk7CisgICAgICAgIEVYUEVDVF9F
UShDR1JlY3RNYWtlKDEwMCwgMCwgMCwgMjUpLCB0ZXh0UmVjdHNbNF0uQ0dSZWN0VmFsdWUpOwor
ICAgICAgICBFWFBFQ1RfRVEoQ0dSZWN0TWFrZSgwLCAyNSwgMCwgMjUpLCB0ZXh0UmVjdHNbNV0u
Q0dSZWN0VmFsdWUpOworICAgICAgICBFWFBFQ1RfRVEoQ0dSZWN0TWFrZSgwLCA1MCwgMCwgMjUp
LCB0ZXh0UmVjdHNbNl0uQ0dSZWN0VmFsdWUpOworICAgIH0KK30KKwogVEVTVChEb2N1bWVudEVk
aXRpbmdDb250ZXh0LCBTcGF0aWFsUmVxdWVzdF9SZWN0RW5jb21wYXNzaW5nSW5wdXQpCiB7CiAg
ICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRo
RnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA5ODAsIDYwMCldKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>