<?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>233631</bug_id>
          
          <creation_ts>2021-11-30 04:10:33 -0800</creation_ts>
          <short_desc>[:has() pseudo-class] Cache :has() failures for subtrees</short_desc>
          <delta_ts>2021-11-30 10:04:26 -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>CSS</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>
          
          <blocked>227702</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Antti Koivisto">koivisto</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1818686</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-11-30 04:10:33 -0800</bug_when>
    <thetext>Add a temporary (style resolution/invalidation scoped) cache that remembers whether a given :has() argument has any matches in a subtree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818696</commentid>
    <comment_count>1</comment_count>
      <attachid>445410</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-11-30 05:58:02 -0800</bug_when>
    <thetext>Created attachment 445410
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818763</commentid>
    <comment_count>2</comment_count>
      <attachid>445410</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-11-30 08:48:48 -0800</bug_when>
    <thetext>Comment on attachment 445410
Patch

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

&gt; Source/WebCore/css/SelectorChecker.cpp:1252
&gt; -    // FIXME: This is almost the worst possible implementation in terms of performance.
&gt; +    // FIXME: This could be better in terms of performance.

NIce.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818764</commentid>
    <comment_count>3</comment_count>
      <attachid>445422</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-11-30 08:51:39 -0800</bug_when>
    <thetext>Created attachment 445422
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818793</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-30 10:03:35 -0800</bug_when>
    <thetext>Committed r286302 (244661@main): &lt;https://commits.webkit.org/244661@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 445422.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818795</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-11-30 10:04:26 -0800</bug_when>
    <thetext>&lt;rdar://problem/85871354&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445410</attachid>
            <date>2021-11-30 05:58:02 -0800</date>
            <delta_ts>2021-11-30 08:51:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233631-20211130155801.patch</filename>
            <type>text/plain</type>
            <size>9205</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MjI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWI2MGY4NWM3NGFjY2Iy
YjY0OTMzNTc3N2Y2OTdiZGZlNzFjZTQxOC4uMDk1OTY5NmEyOGEwZjM5MjE0ZjI0NGQ1ZjkzNjc2
YjI2NTA3NzQzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIxLTExLTMwICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbOmhhcygpIHBzZXVkby1j
bGFzc10gQ2FjaGUgOmhhcygpIGZhaWx1cmVzIGZvciBzdWJ0cmVlcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzNjMxCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgdGVtcG9yYXJ5IChzaW5nbGUg
c3R5bGUgcmVzb2x1dGlvbi9pbnZhbGlkYXRpb24gc2NvcGVkKSBjYWNoZSB0aGF0IHJlbWVtYmVy
cyB3aGV0aGVyCisgICAgICAgIGEgZ2l2ZW4gOmhhcygpIGFyZ3VtZW50IGhhcyBhbnkgbWF0Y2hl
cyBpbiBhIHN1YnRyZWUuIFRoaXMgYXZvaWRzIHJlcGVhdGVkIHRyZWUgd2Fsa3MgaW4KKyAgICAg
ICAgcHJlc2VuY2Ugb2YgdmVyeSBnZW5lcmljIGRlc2NlbmRhbnQgbWF0Y2hpbmcgOmhhcygpIHNl
bGVjdG9ycy4KKworICAgICAgICAqIGNzcy9TZWxlY3RvckNoZWNrZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U2VsZWN0b3JDaGVja2VyOjpjaGVja09uZSBjb25zdCk6CisKKyAgICAgICAgVGhp
cyBvcHRpbWl6YXRpb24gY2FuIGJlIHVzZWQgaWYgdGhlIDpoYXMoKSBub3QgbWF0Y2hpbmcgd2Fz
bid0IGFib3V0IHRoZSBzY29wZS4KKworICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JDaGVja2Vy
OjptYXRjaEhhc1BzZXVkb0NsYXNzIGNvbnN0KToKKworICAgICAgICBXaGVuIHdlIHRyYXZlcnNl
IGEgc3VidHJlZSBhbmQgZmluZCBubyBtYXRjaGVzIGZvciBhIGhhcyBzZWxlY3RvciBhZGQgYSBj
YWNoZSBlbnRyeSBzYXlpbmcgc28uCisgICAgICAgIEJlZm9yZSB0cmF2ZXJzaW5nIHRlc3QgaWYg
YW55IG9mIHRoZSBhbmNlc3RvcnMgZWxlbWVudHMgYWxyZWFkeSBoYXZlIGEgY2FjaGUgZW50cnkg
c2F5aW5nIHRoZXJlCisgICAgICAgIGFyZSBubyBtYXRjaGVzIGluIHRoaXMgc3VidHJlZSBmb3Ig
dGhpcyBzZWxlY3Rvci4KKworICAgICAgICAqIGNzcy9TZWxlY3RvckNoZWNrZXIuaDoKKyAgICAg
ICAgKiBzdHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
dHlsZTo6RWxlbWVudFJ1bGVDb2xsZWN0b3I6OnJ1bGVNYXRjaGVzKToKKyAgICAgICAgKiBzdHls
ZS9TZWxlY3Rvck1hdGNoaW5nU3RhdGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjptYWtl
SGFzUHNldWRvQ2xhc3NDYWNoZUtleSk6CisKKyAgICAgICAgQWRkIHRoZSBjYWNoZSB0byBTZWxl
Y3Rvck1hdGNoaW5nU3RhdGUuIEl0IGlzIGF2YWlsYWJsZSB3aGVuIHNlbGVjdG9yIGZpbHRlciBp
cy4KKwogMjAyMS0xMS0yNCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBbTW9kZWxdIGNsZWFuIHVwIGNvbXBpbGUtdGltZSBmbGFncyBhbmQgY29uZGl0aW9u
IElETCBtZXRob2RzIGJlaGluZCB0aGVtCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U2VsZWN0b3JDaGVja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIu
Y3BwCmluZGV4IDI5ZWE0MjQwNTllYTdjY2YwMzUzNDRhMmYzODE3ZWM4OGZmNjRiNDAuLmEwNTJi
NGZhMjc5NmY3NzcwM2QyNzIyNjFjM2ZiMjAwYTY0ZDRhNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
ZWxlY3RvckNoZWNrZXIuY3BwCkBAIC0xMDg1LDkgKzEwODUsMTUgQEAgYm9vbCBTZWxlY3RvckNo
ZWNrZXI6OmNoZWNrT25lKENoZWNraW5nQ29udGV4dCYgY2hlY2tpbmdDb250ZXh0LCBjb25zdCBM
b2NhbENvbnQKICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NTY29wZToKICAg
ICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NSZWxhdGl2ZVNjb3BlOiB7CiAgICAg
ICAgICAgICBjb25zdCBOb2RlKiBjb250ZXh0dWFsUmVmZXJlbmNlTm9kZSA9ICFjaGVja2luZ0Nv
bnRleHQuc2NvcGUgPyBlbGVtZW50LmRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCkgOiBjaGVj
a2luZ0NvbnRleHQuc2NvcGU7Ci0gICAgICAgICAgICBpZiAoJmVsZW1lbnQgPT0gY29udGV4dHVh
bFJlZmVyZW5jZU5vZGUpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgICAg
ICBicmVhazsKKworICAgICAgICAgICAgYm9vbCBtYXRjaGVzID0gJmVsZW1lbnQgPT0gY29udGV4
dHVhbFJlZmVyZW5jZU5vZGU7CisKKyAgICAgICAgICAgIGlmICghbWF0Y2hlcyAmJiBjaGVja2lu
Z0NvbnRleHQuc2NvcGUpIHsKKyAgICAgICAgICAgICAgICBpZiAoZWxlbWVudC5pc0Rlc2NlbmRh
bnRPZigqY2hlY2tpbmdDb250ZXh0LnNjb3BlKSkKKyAgICAgICAgICAgICAgICAgICAgY2hlY2tp
bmdDb250ZXh0Lm1hdGNoZWRJbnNpZGVTY29wZSA9IHRydWU7CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIHJldHVybiBtYXRjaGVzOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgQ1NTU2Vs
ZWN0b3I6OlBzZXVkb0NsYXNzSG9zdDogewogICAgICAgICAgICAgaWYgKCFjb250ZXh0Lm11c3RN
YXRjaEhvc3RQc2V1ZG9DbGFzcykKQEAgLTEyNDEsMTYgKzEyNDcsNTQgQEAgYm9vbCBTZWxlY3Rv
ckNoZWNrZXI6Om1hdGNoU2VsZWN0b3JMaXN0KENoZWNraW5nQ29udGV4dCYgY2hlY2tpbmdDb250
ZXh0LCBjb25zdAogICAgIHJldHVybiBoYXNNYXRjaGVkQW55dGhpbmc7CiB9CiAKLWJvb2wgU2Vs
ZWN0b3JDaGVja2VyOjptYXRjaEhhc1BzZXVkb0NsYXNzKENoZWNraW5nQ29udGV4dCYsIGNvbnN0
IEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IENTU1NlbGVjdG9yJiBoYXNTZWxlY3RvcikgY29uc3QK
K2Jvb2wgU2VsZWN0b3JDaGVja2VyOjptYXRjaEhhc1BzZXVkb0NsYXNzKENoZWNraW5nQ29udGV4
dCYgY2hlY2tpbmdDb250ZXh0LCBjb25zdCBFbGVtZW50JiBlbGVtZW50LCBjb25zdCBDU1NTZWxl
Y3RvciYgaGFzU2VsZWN0b3IpIGNvbnN0CiB7Ci0gICAgLy8gRklYTUU6IFRoaXMgaXMgYWxtb3N0
IHRoZSB3b3JzdCBwb3NzaWJsZSBpbXBsZW1lbnRhdGlvbiBpbiB0ZXJtcyBvZiBwZXJmb3JtYW5j
ZS4KKyAgICAvLyBGSVhNRTogVGhpcyBjb3VsZCBiZSBiZXR0ZXIgaW4gdGVybXMgb2YgcGVyZm9y
bWFuY2UuCiAKICAgICBTZWxlY3RvckNoZWNrZXIgaGFzQ2hlY2tlcihlbGVtZW50LmRvY3VtZW50
KCkpOworICAgIGJvb2wgbWF0Y2hlZEluc2lkZVNjb3BlID0gZmFsc2U7CiAKICAgICBhdXRvIGNo
ZWNrUmVsYXRpdmUgPSBbJl0oYXV0byYgZWxlbWVudFRvQ2hlY2spIHsKICAgICAgICAgQ2hlY2tp
bmdDb250ZXh0IGhhc0NoZWNraW5nQ29udGV4dChTZWxlY3RvckNoZWNrZXI6Ok1vZGU6OlJlc29s
dmluZ1N0eWxlKTsKICAgICAgICAgaGFzQ2hlY2tpbmdDb250ZXh0LnNjb3BlID0gJmVsZW1lbnQ7
Ci0gICAgICAgIHJldHVybiBoYXNDaGVja2VyLm1hdGNoKGhhc1NlbGVjdG9yLCBlbGVtZW50VG9D
aGVjaywgaGFzQ2hlY2tpbmdDb250ZXh0KTsKKworICAgICAgICBhdXRvIHJlc3VsdCA9IGhhc0No
ZWNrZXIubWF0Y2goaGFzU2VsZWN0b3IsIGVsZW1lbnRUb0NoZWNrLCBoYXNDaGVja2luZ0NvbnRl
eHQpOworCisgICAgICAgIGlmIChoYXNDaGVja2luZ0NvbnRleHQubWF0Y2hlZEluc2lkZVNjb3Bl
KQorICAgICAgICAgICAgbWF0Y2hlZEluc2lkZVNjb3BlID0gdHJ1ZTsKKworICAgICAgICByZXR1
cm4gcmVzdWx0OworICAgIH07CisKKyAgICBhdXRvIGNoZWNrRGVzY2VuZGFudHMgPSBbJl0oY29u
c3QgRWxlbWVudCYgZGVzY2VuZGFudFJvb3QpIHsKKyAgICAgICAgYXV0byBkZXNjZW5kYW50cyA9
IGRlc2NlbmRhbnRzT2ZUeXBlPEVsZW1lbnQ+KGRlc2NlbmRhbnRSb290KTsKKyAgICAgICAgaWYg
KCFkZXNjZW5kYW50cy5maXJzdCgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAg
ICAgIGlmIChjaGVja2luZ0NvbnRleHQuc2VsZWN0b3JNYXRjaGluZ1N0YXRlKSB7CisgICAgICAg
ICAgICAvLyBTZWUgaWYgd2UgYWxyZWFkeSBrbm93IHRoaXMgOmhhcygpIHNlbGVjdG9yIGRvZXNu
J3QgbWF0Y2ggaW4gdGhpcyBzdWJ0cmVlLgorICAgICAgICAgICAgYXV0byYgZmFpbHVyZUNhY2hl
ID0gY2hlY2tpbmdDb250ZXh0LnNlbGVjdG9yTWF0Y2hpbmdTdGF0ZS0+aGFzUHNldWRvQ2xhc3NE
ZXNjZW5kYW50RmFpbHVyZUNhY2hlOworICAgICAgICAgICAgaWYgKCFmYWlsdXJlQ2FjaGUuaXNF
bXB0eSgpKSB7CisgICAgICAgICAgICAgICAgZm9yIChhdXRvKiBhbmNlc3RvciA9IGRlc2NlbmRh
bnRSb290LnBhcmVudEVsZW1lbnQoKTsgYW5jZXN0b3I7IGFuY2VzdG9yID0gYW5jZXN0b3ItPnBh
cmVudEVsZW1lbnQoKSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoZmFpbHVyZUNhY2hlLmNv
bnRhaW5zKFN0eWxlOjptYWtlSGFzUHNldWRvQ2xhc3NDYWNoZUtleShoYXNTZWxlY3RvciwgKmFu
Y2VzdG9yKSkpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgbWF0Y2hlZElu
c2lkZVNjb3BlID0gZmFsc2U7CisKKyAgICAgICAgZm9yIChhdXRvJiBkZXNjZW5kYW50IDogZGVz
Y2VuZGFudHMpIHsKKyAgICAgICAgICAgIGlmIChjaGVja1JlbGF0aXZlKGRlc2NlbmRhbnQpKQor
ICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGNo
ZWNraW5nQ29udGV4dC5zZWxlY3Rvck1hdGNoaW5nU3RhdGUgJiYgIW1hdGNoZWRJbnNpZGVTY29w
ZSkgeworICAgICAgICAgICAgYXV0byYgZmFpbHVyZUNhY2hlID0gY2hlY2tpbmdDb250ZXh0LnNl
bGVjdG9yTWF0Y2hpbmdTdGF0ZS0+aGFzUHNldWRvQ2xhc3NEZXNjZW5kYW50RmFpbHVyZUNhY2hl
OworICAgICAgICAgICAgZmFpbHVyZUNhY2hlLmFkZChTdHlsZTo6bWFrZUhhc1BzZXVkb0NsYXNz
Q2FjaGVLZXkoaGFzU2VsZWN0b3IsIGRlc2NlbmRhbnRSb290KSk7CisgICAgICAgIH0KKworICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgfTsKIAogICAgIGF1dG8gbWF0Y2hFbGVtZW50ID0gU3R5
bGU6OmNvbXB1dGVIYXNQc2V1ZG9DbGFzc01hdGNoRWxlbWVudChoYXNTZWxlY3Rvcik7CkBAIC0x
MjYyLDIwICsxMzA2LDE3IEBAIGJvb2wgU2VsZWN0b3JDaGVja2VyOjptYXRjaEhhc1BzZXVkb0Ns
YXNzKENoZWNraW5nQ29udGV4dCYsIGNvbnN0IEVsZW1lbnQmIGVsZW1lCiAgICAgICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBTdHls
ZTo6TWF0Y2hFbGVtZW50OjpIYXNEZXNjZW5kYW50OgotICAgICAgICBmb3IgKGF1dG8mIGRlc2Nl
bmRhbnQgOiBkZXNjZW5kYW50c09mVHlwZTxFbGVtZW50PihlbGVtZW50KSkgewotICAgICAgICAg
ICAgaWYgKGNoZWNrUmVsYXRpdmUoZGVzY2VuZGFudCkpCi0gICAgICAgICAgICAgICAgcmV0dXJu
IHRydWU7Ci0gICAgICAgIH0KKyAgICBjYXNlIFN0eWxlOjpNYXRjaEVsZW1lbnQ6Okhhc0Rlc2Nl
bmRhbnQ6IHsKKyAgICAgICAgaWYgKGNoZWNrRGVzY2VuZGFudHMoZWxlbWVudCkpCisgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgYnJlYWs7CisgICAgfQogICAgIGNhc2UgU3R5bGU6
Ok1hdGNoRWxlbWVudDo6SGFzU2libGluZzoKICAgICAgICAgZm9yIChhdXRvKiBzaWJsaW5nID0g
ZWxlbWVudC5uZXh0RWxlbWVudFNpYmxpbmcoKTsgc2libGluZzsgc2libGluZyA9IHNpYmxpbmct
Pm5leHRFbGVtZW50U2libGluZygpKSB7CiAgICAgICAgICAgICBpZiAoY2hlY2tSZWxhdGl2ZSgq
c2libGluZykpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgICAgICBmb3Ig
KGF1dG8mIGRlc2NlbmRhbnQgOiBkZXNjZW5kYW50c09mVHlwZTxFbGVtZW50Pigqc2libGluZykp
IHsKLSAgICAgICAgICAgICAgICBpZiAoY2hlY2tSZWxhdGl2ZShkZXNjZW5kYW50KSkKLSAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICBp
ZiAoY2hlY2tEZXNjZW5kYW50cygqc2libGluZykpCisgICAgICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TZWxlY3RvckNoZWNrZXIuaAppbmRleCAxMDQ1MDgxNTc0MTc4N2Q3MDJjZGZmZTc5OGI3Y2E4
ZGIxYWQzZjY1Li5kODgwYzViYzUzNjYzY2Y3MDE5YjlmNjIwZDU1N2RhNjk5MDUxZDA5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5oCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNs
dWRlICJDU1NTZWxlY3Rvci5oIgogI2luY2x1ZGUgIkVsZW1lbnQuaCIKKyNpbmNsdWRlICJTZWxl
Y3Rvck1hdGNoaW5nU3RhdGUuaCIKICNpbmNsdWRlICJTdHlsZVJlbGF0aW9ucy5oIgogI2luY2x1
ZGUgIlN0eWxlU2NvcGVPcmRpbmFsLmgiCiAKQEAgLTk1LDEwICs5NiwxMiBAQCBwdWJsaWM6CiAg
ICAgICAgIEF0b21TdHJpbmcgbmFtZUZvckhpZ2h0bGlnaHRQc2V1ZG9FbGVtZW50OwogICAgICAg
ICBjb25zdCBDb250YWluZXJOb2RlKiBzY29wZSB7IG51bGxwdHIgfTsKICAgICAgICAgU3R5bGU6
OlNjb3BlT3JkaW5hbCBzdHlsZVNjb3BlT3JkaW5hbCB7IFN0eWxlOjpTY29wZU9yZGluYWw6OkVs
ZW1lbnQgfTsKKyAgICAgICAgU3R5bGU6OlNlbGVjdG9yTWF0Y2hpbmdTdGF0ZSogc2VsZWN0b3JN
YXRjaGluZ1N0YXRlIHsgbnVsbHB0ciB9OwogCiAgICAgICAgIC8vIEZJWE1FOiBJdCB3b3VsZCBi
ZSBuaWNlciB0byBoYXZlIGEgc2VwYXJhdGUgb2JqZWN0IGZvciByZXR1cm4gdmFsdWVzLiBUaGlz
IHJlcXVpcmVzIHNvbWUgbW9yZSB3b3JrIGluIHRoZSBzZWxlY3RvciBjb21waWxlci4KICAgICAg
ICAgU3R5bGU6OlJlbGF0aW9ucyBzdHlsZVJlbGF0aW9uczsKICAgICAgICAgUHNldWRvSWRTZXQg
cHNldWRvSURTZXQ7CisgICAgICAgIGJvb2wgbWF0Y2hlZEluc2lkZVNjb3BlIHsgZmFsc2UgfTsK
ICAgICB9OwogCiAgICAgYm9vbCBtYXRjaChjb25zdCBDU1NTZWxlY3RvciYsIGNvbnN0IEVsZW1l
bnQmLCBDaGVja2luZ0NvbnRleHQmKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0Vs
ZW1lbnRSdWxlQ29sbGVjdG9yLmNwcAppbmRleCBmYjYxZmRkY2FiOWUxZDEzNWI5MjRiZTg0NGVh
Yjk0MTc3NjQyMTRmLi5mMzQ5NTE5Mjg4YWFhMzM3MWIwZTI0NjgxY2EyZjMxYjJmMDZjOWNjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwCkBAIC00
NDEsNyArNDQxLDkgQEAgaW5saW5lIGJvb2wgRWxlbWVudFJ1bGVDb2xsZWN0b3I6OnJ1bGVNYXRj
aGVzKGNvbnN0IFJ1bGVEYXRhJiBydWxlRGF0YSwgdW5zaWduZWQKICAgICBjb250ZXh0LnNjcm9s
bGJhclN0YXRlID0gbV9wc2V1ZG9FbGVtZW50UmVxdWVzdC5zY3JvbGxiYXJTdGF0ZTsKICAgICBj
b250ZXh0Lm5hbWVGb3JIaWdodGxpZ2h0UHNldWRvRWxlbWVudCA9IG1fcHNldWRvRWxlbWVudFJl
cXVlc3QuaGlnaGxpZ2h0TmFtZTsKICAgICBjb250ZXh0LnN0eWxlU2NvcGVPcmRpbmFsID0gc3R5
bGVTY29wZU9yZGluYWw7Ci0KKyAgICBjb250ZXh0LnN0eWxlU2NvcGVPcmRpbmFsID0gc3R5bGVT
Y29wZU9yZGluYWw7CisgICAgY29udGV4dC5zZWxlY3Rvck1hdGNoaW5nU3RhdGUgPSBtX3NlbGVj
dG9yTWF0Y2hpbmdTdGF0ZTsKKyAgICAKICAgICBib29sIHNlbGVjdG9yTWF0Y2hlczsKICNpZiBF
TkFCTEUoQ1NTX1NFTEVDVE9SX0pJVCkKICAgICBpZiAoY29tcGlsZWRTZWxlY3Rvci5zdGF0dXMg
PT0gU2VsZWN0b3JDb21waWxhdGlvblN0YXR1czo6U2VsZWN0b3JDaGVja2VyV2l0aENoZWNraW5n
Q29udGV4dCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU2VsZWN0b3JNYXRj
aGluZ1N0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TZWxlY3Rvck1hdGNoaW5nU3RhdGUu
aAppbmRleCA3MGE0ZTBkODE4MTgxN2E0MmJhNmViZGQzYjA2NDY3N2EzNmMxNmZhLi4xOTRlMWE2
YzNkM2ZlMWFhOTg1NzA0MDcyNTEzMGZiYjZjNGQzZGI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9TZWxlY3Rvck1hdGNoaW5nU3RhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9TZWxlY3Rvck1hdGNoaW5nU3RhdGUuaApAQCAtMjUsMTEgKzI1LDIwIEBACiAjcHJhZ21h
IG9uY2UKIAogI2luY2x1ZGUgIlNlbGVjdG9yRmlsdGVyLmgiCisjaW5jbHVkZSA8d3RmL0hhc2hT
ZXQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmU6OlN0eWxlIHsKIAordXNpbmcgSGFzUHNldWRvQ2xh
c3NDYWNoZUtleSA9IHN0ZDo6cGFpcjxjb25zdCBDU1NTZWxlY3RvciosIGNvbnN0IEVsZW1lbnQq
PjsKKwogc3RydWN0IFNlbGVjdG9yTWF0Y2hpbmdTdGF0ZSB7CiAgICAgU2VsZWN0b3JGaWx0ZXIg
c2VsZWN0b3JGaWx0ZXI7CisgICAgSGFzaFNldDxIYXNQc2V1ZG9DbGFzc0NhY2hlS2V5PiBoYXNQ
c2V1ZG9DbGFzc0Rlc2NlbmRhbnRGYWlsdXJlQ2FjaGU7CiB9OwogCitpbmxpbmUgSGFzUHNldWRv
Q2xhc3NDYWNoZUtleSBtYWtlSGFzUHNldWRvQ2xhc3NDYWNoZUtleShjb25zdCBDU1NTZWxlY3Rv
ciYgc2VsZWN0b3IsIGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpCit7CisgICAgcmV0dXJuIHsgJnNl
bGVjdG9yLCAmZWxlbWVudCB9OworfQorCiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445422</attachid>
            <date>2021-11-30 08:51:39 -0800</date>
            <delta_ts>2021-11-30 10:03:37 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-233631-20211130185138.patch</filename>
            <type>text/plain</type>
            <size>9151</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MjI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWI2MGY4NWM3NGFjY2Iy
YjY0OTMzNTc3N2Y2OTdiZGZlNzFjZTQxOC4uZTFlNWM4ZGMyYmQ3OGFkOTM0MTRlYzhiMzIyZmY2
NDhlZTRjMDMyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIxLTExLTMwICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbOmhhcygpIHBzZXVkby1j
bGFzc10gQ2FjaGUgOmhhcygpIGZhaWx1cmVzIGZvciBzdWJ0cmVlcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzNjMxCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIEFkZCBhIHRlbXBvcmFyeSAoc2luZ2xlIHN0
eWxlIHJlc29sdXRpb24vaW52YWxpZGF0aW9uIHNjb3BlZCkgY2FjaGUgdGhhdCByZW1lbWJlcnMg
d2hldGhlcgorICAgICAgICBhIGdpdmVuIDpoYXMoKSBhcmd1bWVudCBoYXMgYW55IG1hdGNoZXMg
aW4gYSBzdWJ0cmVlLiBUaGlzIGF2b2lkcyByZXBlYXRlZCB0cmVlIHdhbGtzIGluCisgICAgICAg
IHByZXNlbmNlIG9mIHZlcnkgZ2VuZXJpYyBkZXNjZW5kYW50IG1hdGNoaW5nIDpoYXMoKSBzZWxl
Y3RvcnMuCisKKyAgICAgICAgKiBjc3MvU2VsZWN0b3JDaGVja2VyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmUgY29uc3QpOgorCisgICAgICAgIFRoaXMg
b3B0aW1pemF0aW9uIGNhbiBiZSB1c2VkIGlmIHRoZSA6aGFzKCkgbm90IG1hdGNoaW5nIHdhc24n
dCBhYm91dCB0aGUgc2NvcGUuCisKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ2hlY2tlcjo6
bWF0Y2hIYXNQc2V1ZG9DbGFzcyBjb25zdCk6CisKKyAgICAgICAgV2hlbiB3ZSB0cmF2ZXJzZSBh
IHN1YnRyZWUgYW5kIGZpbmQgbm8gbWF0Y2hlcyBmb3IgYSBoYXMgc2VsZWN0b3IgYWRkIGEgY2Fj
aGUgZW50cnkgc2F5aW5nIHNvLgorICAgICAgICBCZWZvcmUgdHJhdmVyc2luZyB0ZXN0IGlmIGFu
eSBvZiB0aGUgYW5jZXN0b3JzIGVsZW1lbnRzIGFscmVhZHkgaGF2ZSBhIGNhY2hlIGVudHJ5IHNh
eWluZyB0aGVyZQorICAgICAgICBhcmUgbm8gbWF0Y2hlcyBpbiB0aGlzIHN1YnRyZWUgZm9yIHRo
aXMgc2VsZWN0b3IuCisKKyAgICAgICAgKiBjc3MvU2VsZWN0b3JDaGVja2VyLmg6CisgICAgICAg
ICogc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5
bGU6OkVsZW1lbnRSdWxlQ29sbGVjdG9yOjpydWxlTWF0Y2hlcyk6CisgICAgICAgICogc3R5bGUv
U2VsZWN0b3JNYXRjaGluZ1N0YXRlLmg6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6bWFrZUhh
c1BzZXVkb0NsYXNzQ2FjaGVLZXkpOgorCisgICAgICAgIEFkZCB0aGUgY2FjaGUgdG8gU2VsZWN0
b3JNYXRjaGluZ1N0YXRlLiBJdCBpcyBhdmFpbGFibGUgd2hlbiBzZWxlY3RvciBmaWx0ZXIgaXMu
CisKIDIwMjEtMTEtMjQgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgW01vZGVsXSBjbGVhbiB1cCBjb21waWxlLXRpbWUgZmxhZ3MgYW5kIGNvbmRpdGlvbiBJ
REwgbWV0aG9kcyBiZWhpbmQgdGhlbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1Nl
bGVjdG9yQ2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNw
cAppbmRleCAyOWVhNDI0MDU5ZWE3Y2NmMDM1MzQ0YTJmMzgxN2VjODhmZjY0YjQwLi5hMDUyYjRm
YTI3OTZmNzc3MDNkMjcyMjYxYzNmYjIwMGE2NGQ0YTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2Vs
ZWN0b3JDaGVja2VyLmNwcApAQCAtMTA4NSw5ICsxMDg1LDE1IEBAIGJvb2wgU2VsZWN0b3JDaGVj
a2VyOjpjaGVja09uZShDaGVja2luZ0NvbnRleHQmIGNoZWNraW5nQ29udGV4dCwgY29uc3QgTG9j
YWxDb250CiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzU2NvcGU6CiAgICAg
ICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzUmVsYXRpdmVTY29wZTogewogICAgICAg
ICAgICAgY29uc3QgTm9kZSogY29udGV4dHVhbFJlZmVyZW5jZU5vZGUgPSAhY2hlY2tpbmdDb250
ZXh0LnNjb3BlID8gZWxlbWVudC5kb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpIDogY2hlY2tp
bmdDb250ZXh0LnNjb3BlOwotICAgICAgICAgICAgaWYgKCZlbGVtZW50ID09IGNvbnRleHR1YWxS
ZWZlcmVuY2VOb2RlKQotICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAgICAg
YnJlYWs7CisKKyAgICAgICAgICAgIGJvb2wgbWF0Y2hlcyA9ICZlbGVtZW50ID09IGNvbnRleHR1
YWxSZWZlcmVuY2VOb2RlOworCisgICAgICAgICAgICBpZiAoIW1hdGNoZXMgJiYgY2hlY2tpbmdD
b250ZXh0LnNjb3BlKSB7CisgICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQuaXNEZXNjZW5kYW50
T2YoKmNoZWNraW5nQ29udGV4dC5zY29wZSkpCisgICAgICAgICAgICAgICAgICAgIGNoZWNraW5n
Q29udGV4dC5tYXRjaGVkSW5zaWRlU2NvcGUgPSB0cnVlOworICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICByZXR1cm4gbWF0Y2hlczsKICAgICAgICAgfQogICAgICAgICBjYXNlIENTU1NlbGVj
dG9yOjpQc2V1ZG9DbGFzc0hvc3Q6IHsKICAgICAgICAgICAgIGlmICghY29udGV4dC5tdXN0TWF0
Y2hIb3N0UHNldWRvQ2xhc3MpCkBAIC0xMjQxLDE2ICsxMjQ3LDU0IEBAIGJvb2wgU2VsZWN0b3JD
aGVja2VyOjptYXRjaFNlbGVjdG9yTGlzdChDaGVja2luZ0NvbnRleHQmIGNoZWNraW5nQ29udGV4
dCwgY29uc3QKICAgICByZXR1cm4gaGFzTWF0Y2hlZEFueXRoaW5nOwogfQogCi1ib29sIFNlbGVj
dG9yQ2hlY2tlcjo6bWF0Y2hIYXNQc2V1ZG9DbGFzcyhDaGVja2luZ0NvbnRleHQmLCBjb25zdCBF
bGVtZW50JiBlbGVtZW50LCBjb25zdCBDU1NTZWxlY3RvciYgaGFzU2VsZWN0b3IpIGNvbnN0Citi
b29sIFNlbGVjdG9yQ2hlY2tlcjo6bWF0Y2hIYXNQc2V1ZG9DbGFzcyhDaGVja2luZ0NvbnRleHQm
IGNoZWNraW5nQ29udGV4dCwgY29uc3QgRWxlbWVudCYgZWxlbWVudCwgY29uc3QgQ1NTU2VsZWN0
b3ImIGhhc1NlbGVjdG9yKSBjb25zdAogewotICAgIC8vIEZJWE1FOiBUaGlzIGlzIGFsbW9zdCB0
aGUgd29yc3QgcG9zc2libGUgaW1wbGVtZW50YXRpb24gaW4gdGVybXMgb2YgcGVyZm9ybWFuY2Uu
CisgICAgLy8gRklYTUU6IFRoaXMgY291bGQgYmUgYmV0dGVyIGluIHRlcm1zIG9mIHBlcmZvcm1h
bmNlLgogCiAgICAgU2VsZWN0b3JDaGVja2VyIGhhc0NoZWNrZXIoZWxlbWVudC5kb2N1bWVudCgp
KTsKKyAgICBib29sIG1hdGNoZWRJbnNpZGVTY29wZSA9IGZhbHNlOwogCiAgICAgYXV0byBjaGVj
a1JlbGF0aXZlID0gWyZdKGF1dG8mIGVsZW1lbnRUb0NoZWNrKSB7CiAgICAgICAgIENoZWNraW5n
Q29udGV4dCBoYXNDaGVja2luZ0NvbnRleHQoU2VsZWN0b3JDaGVja2VyOjpNb2RlOjpSZXNvbHZp
bmdTdHlsZSk7CiAgICAgICAgIGhhc0NoZWNraW5nQ29udGV4dC5zY29wZSA9ICZlbGVtZW50Owot
ICAgICAgICByZXR1cm4gaGFzQ2hlY2tlci5tYXRjaChoYXNTZWxlY3RvciwgZWxlbWVudFRvQ2hl
Y2ssIGhhc0NoZWNraW5nQ29udGV4dCk7CisKKyAgICAgICAgYXV0byByZXN1bHQgPSBoYXNDaGVj
a2VyLm1hdGNoKGhhc1NlbGVjdG9yLCBlbGVtZW50VG9DaGVjaywgaGFzQ2hlY2tpbmdDb250ZXh0
KTsKKworICAgICAgICBpZiAoaGFzQ2hlY2tpbmdDb250ZXh0Lm1hdGNoZWRJbnNpZGVTY29wZSkK
KyAgICAgICAgICAgIG1hdGNoZWRJbnNpZGVTY29wZSA9IHRydWU7CisKKyAgICAgICAgcmV0dXJu
IHJlc3VsdDsKKyAgICB9OworCisgICAgYXV0byBjaGVja0Rlc2NlbmRhbnRzID0gWyZdKGNvbnN0
IEVsZW1lbnQmIGRlc2NlbmRhbnRSb290KSB7CisgICAgICAgIGF1dG8gZGVzY2VuZGFudHMgPSBk
ZXNjZW5kYW50c09mVHlwZTxFbGVtZW50PihkZXNjZW5kYW50Um9vdCk7CisgICAgICAgIGlmICgh
ZGVzY2VuZGFudHMuZmlyc3QoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAg
ICBpZiAoY2hlY2tpbmdDb250ZXh0LnNlbGVjdG9yTWF0Y2hpbmdTdGF0ZSkgeworICAgICAgICAg
ICAgLy8gU2VlIGlmIHdlIGFscmVhZHkga25vdyB0aGlzIDpoYXMoKSBzZWxlY3RvciBkb2Vzbid0
IG1hdGNoIGluIHRoaXMgc3VidHJlZS4KKyAgICAgICAgICAgIGF1dG8mIGZhaWx1cmVDYWNoZSA9
IGNoZWNraW5nQ29udGV4dC5zZWxlY3Rvck1hdGNoaW5nU3RhdGUtPmhhc1BzZXVkb0NsYXNzRGVz
Y2VuZGFudEZhaWx1cmVDYWNoZTsKKyAgICAgICAgICAgIGlmICghZmFpbHVyZUNhY2hlLmlzRW1w
dHkoKSkgeworICAgICAgICAgICAgICAgIGZvciAoYXV0byogYW5jZXN0b3IgPSBkZXNjZW5kYW50
Um9vdC5wYXJlbnRFbGVtZW50KCk7IGFuY2VzdG9yOyBhbmNlc3RvciA9IGFuY2VzdG9yLT5wYXJl
bnRFbGVtZW50KCkpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGZhaWx1cmVDYWNoZS5jb250
YWlucyhTdHlsZTo6bWFrZUhhc1BzZXVkb0NsYXNzQ2FjaGVLZXkoaGFzU2VsZWN0b3IsICphbmNl
c3RvcikpKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIG1hdGNoZWRJbnNp
ZGVTY29wZSA9IGZhbHNlOworCisgICAgICAgIGZvciAoYXV0byYgZGVzY2VuZGFudCA6IGRlc2Nl
bmRhbnRzKSB7CisgICAgICAgICAgICBpZiAoY2hlY2tSZWxhdGl2ZShkZXNjZW5kYW50KSkKKyAg
ICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChjaGVj
a2luZ0NvbnRleHQuc2VsZWN0b3JNYXRjaGluZ1N0YXRlICYmICFtYXRjaGVkSW5zaWRlU2NvcGUp
IHsKKyAgICAgICAgICAgIGF1dG8mIGZhaWx1cmVDYWNoZSA9IGNoZWNraW5nQ29udGV4dC5zZWxl
Y3Rvck1hdGNoaW5nU3RhdGUtPmhhc1BzZXVkb0NsYXNzRGVzY2VuZGFudEZhaWx1cmVDYWNoZTsK
KyAgICAgICAgICAgIGZhaWx1cmVDYWNoZS5hZGQoU3R5bGU6Om1ha2VIYXNQc2V1ZG9DbGFzc0Nh
Y2hlS2V5KGhhc1NlbGVjdG9yLCBkZXNjZW5kYW50Um9vdCkpOworICAgICAgICB9CisKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgIH07CiAKICAgICBhdXRvIG1hdGNoRWxlbWVudCA9IFN0eWxl
Ojpjb21wdXRlSGFzUHNldWRvQ2xhc3NNYXRjaEVsZW1lbnQoaGFzU2VsZWN0b3IpOwpAQCAtMTI2
MiwyMCArMTMwNiwxNyBAQCBib29sIFNlbGVjdG9yQ2hlY2tlcjo6bWF0Y2hIYXNQc2V1ZG9DbGFz
cyhDaGVja2luZ0NvbnRleHQmLCBjb25zdCBFbGVtZW50JiBlbGVtZQogICAgICAgICAgICAgICAg
IHJldHVybiB0cnVlOwogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgU3R5bGU6
Ok1hdGNoRWxlbWVudDo6SGFzRGVzY2VuZGFudDoKLSAgICAgICAgZm9yIChhdXRvJiBkZXNjZW5k
YW50IDogZGVzY2VuZGFudHNPZlR5cGU8RWxlbWVudD4oZWxlbWVudCkpIHsKLSAgICAgICAgICAg
IGlmIChjaGVja1JlbGF0aXZlKGRlc2NlbmRhbnQpKQotICAgICAgICAgICAgICAgIHJldHVybiB0
cnVlOwotICAgICAgICB9CisgICAgY2FzZSBTdHlsZTo6TWF0Y2hFbGVtZW50OjpIYXNEZXNjZW5k
YW50OiB7CisgICAgICAgIGlmIChjaGVja0Rlc2NlbmRhbnRzKGVsZW1lbnQpKQorICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGJyZWFrOworICAgIH0KICAgICBjYXNlIFN0eWxlOjpN
YXRjaEVsZW1lbnQ6Okhhc1NpYmxpbmc6CiAgICAgICAgIGZvciAoYXV0byogc2libGluZyA9IGVs
ZW1lbnQubmV4dEVsZW1lbnRTaWJsaW5nKCk7IHNpYmxpbmc7IHNpYmxpbmcgPSBzaWJsaW5nLT5u
ZXh0RWxlbWVudFNpYmxpbmcoKSkgewogICAgICAgICAgICAgaWYgKGNoZWNrUmVsYXRpdmUoKnNp
YmxpbmcpKQogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAgICAgZm9yIChh
dXRvJiBkZXNjZW5kYW50IDogZGVzY2VuZGFudHNPZlR5cGU8RWxlbWVudD4oKnNpYmxpbmcpKSB7
Ci0gICAgICAgICAgICAgICAgaWYgKGNoZWNrUmVsYXRpdmUoZGVzY2VuZGFudCkpCi0gICAgICAg
ICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYg
KGNoZWNrRGVzY2VuZGFudHMoKnNpYmxpbmcpKQorICAgICAgICAgICAgICAgIHJldHVybiB0cnVl
OwogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U2VsZWN0b3JDaGVja2VyLmgKaW5kZXggMTA0NTA4MTU3NDE3ODdkNzAyY2RmZmU3OThiN2NhOGRi
MWFkM2Y2NS4uZDg4MGM1YmM1MzY2M2NmNzAxOWI5ZjYyMGQ1NTdkYTY5OTA1MWQwOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuaApAQCAtMjksNiArMjksNyBAQAogCiAjaW5jbHVk
ZSAiQ1NTU2VsZWN0b3IuaCIKICNpbmNsdWRlICJFbGVtZW50LmgiCisjaW5jbHVkZSAiU2VsZWN0
b3JNYXRjaGluZ1N0YXRlLmgiCiAjaW5jbHVkZSAiU3R5bGVSZWxhdGlvbnMuaCIKICNpbmNsdWRl
ICJTdHlsZVNjb3BlT3JkaW5hbC5oIgogCkBAIC05NSwxMCArOTYsMTIgQEAgcHVibGljOgogICAg
ICAgICBBdG9tU3RyaW5nIG5hbWVGb3JIaWdodGxpZ2h0UHNldWRvRWxlbWVudDsKICAgICAgICAg
Y29uc3QgQ29udGFpbmVyTm9kZSogc2NvcGUgeyBudWxscHRyIH07CiAgICAgICAgIFN0eWxlOjpT
Y29wZU9yZGluYWwgc3R5bGVTY29wZU9yZGluYWwgeyBTdHlsZTo6U2NvcGVPcmRpbmFsOjpFbGVt
ZW50IH07CisgICAgICAgIFN0eWxlOjpTZWxlY3Rvck1hdGNoaW5nU3RhdGUqIHNlbGVjdG9yTWF0
Y2hpbmdTdGF0ZSB7IG51bGxwdHIgfTsKIAogICAgICAgICAvLyBGSVhNRTogSXQgd291bGQgYmUg
bmljZXIgdG8gaGF2ZSBhIHNlcGFyYXRlIG9iamVjdCBmb3IgcmV0dXJuIHZhbHVlcy4gVGhpcyBy
ZXF1aXJlcyBzb21lIG1vcmUgd29yayBpbiB0aGUgc2VsZWN0b3IgY29tcGlsZXIuCiAgICAgICAg
IFN0eWxlOjpSZWxhdGlvbnMgc3R5bGVSZWxhdGlvbnM7CiAgICAgICAgIFBzZXVkb0lkU2V0IHBz
ZXVkb0lEU2V0OworICAgICAgICBib29sIG1hdGNoZWRJbnNpZGVTY29wZSB7IGZhbHNlIH07CiAg
ICAgfTsKIAogICAgIGJvb2wgbWF0Y2goY29uc3QgQ1NTU2VsZWN0b3ImLCBjb25zdCBFbGVtZW50
JiwgQ2hlY2tpbmdDb250ZXh0JikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9FbGVt
ZW50UnVsZUNvbGxlY3Rvci5jcHAKaW5kZXggZmI2MWZkZGNhYjllMWQxMzViOTI0YmU4NDRlYWI5
NDE3NzY0MjE0Zi4uZmVmYTQ4NWNhZmJmNGJiYzg0YmU5NWY0NTlhNzk5ZTI3NjhkNjVmNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVjdG9yLmNwcApAQCAtNDQx
LDcgKzQ0MSw4IEBAIGlubGluZSBib29sIEVsZW1lbnRSdWxlQ29sbGVjdG9yOjpydWxlTWF0Y2hl
cyhjb25zdCBSdWxlRGF0YSYgcnVsZURhdGEsIHVuc2lnbmVkCiAgICAgY29udGV4dC5zY3JvbGxi
YXJTdGF0ZSA9IG1fcHNldWRvRWxlbWVudFJlcXVlc3Quc2Nyb2xsYmFyU3RhdGU7CiAgICAgY29u
dGV4dC5uYW1lRm9ySGlnaHRsaWdodFBzZXVkb0VsZW1lbnQgPSBtX3BzZXVkb0VsZW1lbnRSZXF1
ZXN0LmhpZ2hsaWdodE5hbWU7CiAgICAgY29udGV4dC5zdHlsZVNjb3BlT3JkaW5hbCA9IHN0eWxl
U2NvcGVPcmRpbmFsOwotCisgICAgY29udGV4dC5zZWxlY3Rvck1hdGNoaW5nU3RhdGUgPSBtX3Nl
bGVjdG9yTWF0Y2hpbmdTdGF0ZTsKKyAgICAKICAgICBib29sIHNlbGVjdG9yTWF0Y2hlczsKICNp
ZiBFTkFCTEUoQ1NTX1NFTEVDVE9SX0pJVCkKICAgICBpZiAoY29tcGlsZWRTZWxlY3Rvci5zdGF0
dXMgPT0gU2VsZWN0b3JDb21waWxhdGlvblN0YXR1czo6U2VsZWN0b3JDaGVja2VyV2l0aENoZWNr
aW5nQ29udGV4dCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU2VsZWN0b3JN
YXRjaGluZ1N0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TZWxlY3Rvck1hdGNoaW5nU3Rh
dGUuaAppbmRleCA3MGE0ZTBkODE4MTgxN2E0MmJhNmViZGQzYjA2NDY3N2EzNmMxNmZhLi4xOTRl
MWE2YzNkM2ZlMWFhOTg1NzA0MDcyNTEzMGZiYjZjNGQzZGI4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9TZWxlY3Rvck1hdGNoaW5nU3RhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdHlsZS9TZWxlY3Rvck1hdGNoaW5nU3RhdGUuaApAQCAtMjUsMTEgKzI1LDIwIEBACiAjcHJh
Z21hIG9uY2UKIAogI2luY2x1ZGUgIlNlbGVjdG9yRmlsdGVyLmgiCisjaW5jbHVkZSA8d3RmL0hh
c2hTZXQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmU6OlN0eWxlIHsKIAordXNpbmcgSGFzUHNldWRv
Q2xhc3NDYWNoZUtleSA9IHN0ZDo6cGFpcjxjb25zdCBDU1NTZWxlY3RvciosIGNvbnN0IEVsZW1l
bnQqPjsKKwogc3RydWN0IFNlbGVjdG9yTWF0Y2hpbmdTdGF0ZSB7CiAgICAgU2VsZWN0b3JGaWx0
ZXIgc2VsZWN0b3JGaWx0ZXI7CisgICAgSGFzaFNldDxIYXNQc2V1ZG9DbGFzc0NhY2hlS2V5PiBo
YXNQc2V1ZG9DbGFzc0Rlc2NlbmRhbnRGYWlsdXJlQ2FjaGU7CiB9OwogCitpbmxpbmUgSGFzUHNl
dWRvQ2xhc3NDYWNoZUtleSBtYWtlSGFzUHNldWRvQ2xhc3NDYWNoZUtleShjb25zdCBDU1NTZWxl
Y3RvciYgc2VsZWN0b3IsIGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpCit7CisgICAgcmV0dXJuIHsg
JnNlbGVjdG9yLCAmZWxlbWVudCB9OworfQorCiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>