<?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>211895</bug_id>
          
          <creation_ts>2020-05-14 07:47:08 -0700</creation_ts>
          <short_desc>[Wheel event region] Invalidation when changing listeners on elements</short_desc>
          <delta_ts>2020-05-15 07:00:18 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Compositing</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="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1652622</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-05-14 07:47:08 -0700</bug_when>
    <thetext>Listener changes should update the region.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652648</commentid>
    <comment_count>1</comment_count>
      <attachid>399362</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-05-14 08:48:18 -0700</bug_when>
    <thetext>Created attachment 399362
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652695</commentid>
    <comment_count>2</comment_count>
      <attachid>399362</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-14 10:57:39 -0700</bug_when>
    <thetext>Comment on attachment 399362
patch

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

&gt; LayoutTests/fast/scrolling/mac/wheel-event-listener-region-element-invalidation.html:20
&gt; +

extra line

&gt; LayoutTests/fast/scrolling/mac/wheel-event-listener-region-element-invalidation.html:29
&gt; +    function listener() {
&gt; +        results.textContent += &apos;wheel\n&apos;;
&gt; +    }

This is never called, right? It could be an empty function.

&gt; LayoutTests/fast/scrolling/mac/wheel-event-listener-region-element-invalidation.html:33
&gt; +    if (window.internals)
&gt; +        results.textContent += internals.layerTreeAsText(document, internals.LAYER_TREE_INCLUDES_EVENT_REGION | internals.LAYER_TREE_INCLUDES_ROOT_LAYER_PROPERTIES);

Beware of setting element contents here then fetching layers again later; layout will change making the two trees hard to compare.

I prefer to store the first layer tree in a variable then set textContent once at the end.

&gt; LayoutTests/fast/scrolling/mac/wheel-event-listener-region-element-invalidation.html:36
&gt; +    passive.addEventListener(&apos;wheel&apos;, () =&gt; { results.textContent += &apos;passive wheel\n&apos; }, { passive: true });

Ditto

&gt; Source/WebCore/rendering/RenderLayer.cpp:-6973
&gt; -    // FIXME: This should not be conditioned on PLATFORM(IOS_FAMILY). See &lt;https://webkit.org/b/210216&gt;.

Can https://webkit.org/b/210216 be closed after this?

&gt; Source/WebCore/rendering/RenderLayer.cpp:6973
&gt; +#if ENABLE(ASYNC_SCROLLING)

This doesn&apos;t feel like quite the right #ifdef; isn&apos;t it also if we have touch events or editable regions?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653013</commentid>
    <comment_count>3</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-05-15 04:23:57 -0700</bug_when>
    <thetext>&gt; This doesn&apos;t feel like quite the right #ifdef; isn&apos;t it also if we have
&gt; touch events or editable regions?

It doesn&apos;t, but it is the #ifdef currently used for RenderLayerBacking::updateEventRegion and this should match.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653033</commentid>
    <comment_count>4</comment_count>
      <attachid>399474</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-05-15 06:32:09 -0700</bug_when>
    <thetext>Created attachment 399474
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653037</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-15 06:59:20 -0700</bug_when>
    <thetext>Committed r261742: &lt;https://trac.webkit.org/changeset/261742&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 399474.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653038</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-05-15 07:00:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/63270443&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399362</attachid>
            <date>2020-05-14 08:48:18 -0700</date>
            <delta_ts>2020-05-15 06:32:09 -0700</delta_ts>
            <desc>patch</desc>
            <filename>wheel-region-element-invalidation.patch</filename>
            <type>text/plain</type>
            <size>12984</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzZTM0YWNhNWZkOC4uNDk1NjUyNWFmMTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAor
MjAyMC0wNS0xNCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CisKKyAgICAgICAg
W1doZWVsIGV2ZW50IHJlZ2lvbl0gSW52YWxpZGF0aW9uIHdoZW4gY2hhbmdpbmcgbGlzdGVuZXJz
IG9uIGVsZW1lbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMTE4OTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGZhc3Qvc2Nyb2xsaW5nL21hYy93aGVlbC1ldmVudC1saXN0ZW5lci1yZWdpb24tZWxl
bWVudC1pbnZhbGlkYXRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3Nj
cm9sbGluZy9tYWMvd2hlZWwtZXZlbnQtbGlzdGVuZXItcmVnaW9uLWVsZW1lbnQtaW52YWxpZGF0
aW9uLmh0bWw6IEFkZGVkLgorCiAyMDIwLTA1LTEzICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhm
aWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgZmFzdC90ZXh0L211bHRpcGxlLWNvZGV1bml0LXZl
cnRpY2FsLXVwcmlnaHQuaHRtbCBpcyBmYWlsaW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3Njcm9sbGluZy9tYWMvd2hlZWwtZXZlbnQtbGlzdGVuZXItcmVnaW9uLWVsZW1lbnQtaW52
YWxpZGF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy93
aGVlbC1ldmVudC1saXN0ZW5lci1yZWdpb24tZWxlbWVudC1pbnZhbGlkYXRpb24tZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5iMjZmOGE1M2NiMAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy93aGVlbC1l
dmVudC1saXN0ZW5lci1yZWdpb24tZWxlbWVudC1pbnZhbGlkYXRpb24tZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNDMgQEAKKyhHcmFwaGljc0xheWVyCisgIChhbmNob3IgMC4wMCAwLjAwKQorICAo
Ym91bmRzIDgwMC4wMCA2MDAuMDApCisgIChjaGlsZHJlbiAxCisgICAgKEdyYXBoaWNzTGF5ZXIK
KyAgICAgIChib3VuZHMgODAwLjAwIDYwMC4wMCkKKyAgICAgIChjb250ZW50c09wYXF1ZSAxKQor
ICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgKGJhY2tncm91bmRDb2xvciAjRkZGRkZGKQor
ICAgICAgKGV2ZW50IHJlZ2lvbgorICAgICAgICAocmVjdCAoMCwwKSB3aWR0aD04MDAgaGVpZ2h0
PTYwMCkKKyAgICAgICh3aGVlbCBldmVudCBsaXN0ZW5lciByZWdpb24KKyAgICAgICAgKHJlY3Qg
KDgsOCkgd2lkdGg9MjUwIGhlaWdodD01MCkKKyAgICAgICAgKHJlY3QgKDgsNTgpIHdpZHRoPTIw
MCBoZWlnaHQ9MTUwKQorICAgICAgICAobm9uLXBhc3NpdmUKKyAgICAgICAgICAocmVjdCAoOCw4
KSB3aWR0aD0yNTAgaGVpZ2h0PTUwKQorICAgICAgICAgIChyZWN0ICg4LDU4KSB3aWR0aD0yMDAg
aGVpZ2h0PTE1MCkKKyAgICAgICAgKQorICAgICAgKQorICAgICAgKQorICAgICkKKyAgKQorKQor
KEdyYXBoaWNzTGF5ZXIKKyAgKGFuY2hvciAwLjAwIDAuMDApCisgIChib3VuZHMgNzg1LjAwIDc3
OS4wMCkKKyAgKGNoaWxkcmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJvdW5kcyA3
ODUuMDAgNzc5LjAwKQorICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAoZHJhd3NDb250
ZW50IDEpCisgICAgICAoYmFja2dyb3VuZENvbG9yICNGRkZGRkYpCisgICAgICAoZXZlbnQgcmVn
aW9uCisgICAgICAgIChyZWN0ICgwLDApIHdpZHRoPTc4NSBoZWlnaHQ9Nzc5KQorICAgICAgKHdo
ZWVsIGV2ZW50IGxpc3RlbmVyIHJlZ2lvbgorICAgICAgICAocmVjdCAoMjA4LDIwOCkgd2lkdGg9
MjUwIGhlaWdodD01MCkKKyAgICAgICAgKHJlY3QgKDIwOCwyNTgpIHdpZHRoPTIwMCBoZWlnaHQ9
MTUwKQorICAgICAgKQorICAgICAgKQorICAgICkKKyAgKQorKQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvd2hlZWwtZXZlbnQtbGlzdGVuZXItcmVnaW9uLWVs
ZW1lbnQtaW52YWxpZGF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMv
d2hlZWwtZXZlbnQtbGlzdGVuZXItcmVnaW9uLWVsZW1lbnQtaW52YWxpZGF0aW9uLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmRhZGQwOGJiZGEyCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL3doZWVsLWV2ZW50LWxp
c3RlbmVyLXJlZ2lvbi1lbGVtZW50LWludmFsaWRhdGlvbi5odG1sCkBAIC0wLDAgKzEsNTEgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGludGVybmFsOkFzeW5j
T3ZlcmZsb3dTY3JvbGxpbmdFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorPHN0eWxlPgorLmV2
ZW50IHsKKyAgICBwb3NpdGlvbjpyZWxhdGl2ZTsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOmJsdWU7
CisgICAgd2lkdGg6MjAwcHg7CisgICAgaGVpZ2h0OjIwMHB4OworfQorLmNoaWxkIHsKKyAgICBw
b3NpdGlvbjpyZWxhdGl2ZTsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOmJsdWU7CisgICAgbGVmdDoy
MDBweDsKKyAgICB3aWR0aDo1MHB4OworICAgIGhlaWdodDo1MHB4OworfQorLm9mZnNldCB7Cisg
ICAgbGVmdDogMjAwcHg7Cit9CisKKzwvc3R5bGU+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0
UnVubmVyKQorICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworCit3aW5kb3cub25sb2FkID0g
KCkgPT4geworICAgIGZ1bmN0aW9uIGxpc3RlbmVyKCkgeworICAgICAgICByZXN1bHRzLnRleHRD
b250ZW50ICs9ICd3aGVlbFxuJzsKKyAgICB9CisgICAgYWN0aXZlLmFkZEV2ZW50TGlzdGVuZXIo
IndoZWVsIiwgbGlzdGVuZXIpOworCisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAg
IHJlc3VsdHMudGV4dENvbnRlbnQgKz0gaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVu
dCwgaW50ZXJuYWxzLkxBWUVSX1RSRUVfSU5DTFVERVNfRVZFTlRfUkVHSU9OIHwgaW50ZXJuYWxz
LkxBWUVSX1RSRUVfSU5DTFVERVNfUk9PVF9MQVlFUl9QUk9QRVJUSUVTKTsKKworICAgIGFjdGl2
ZS5yZW1vdmVFdmVudExpc3RlbmVyKCd3aGVlbCcsIGxpc3RlbmVyKTsKKyAgICBwYXNzaXZlLmFk
ZEV2ZW50TGlzdGVuZXIoJ3doZWVsJywgKCkgPT4geyByZXN1bHRzLnRleHRDb250ZW50ICs9ICdw
YXNzaXZlIHdoZWVsXG4nIH0sIHsgcGFzc2l2ZTogdHJ1ZSB9KTsKKworICAgIGlmICh3aW5kb3cu
aW50ZXJuYWxzKQorICAgICAgICByZXN1bHRzLnRleHRDb250ZW50ICs9IGludGVybmFscy5sYXll
clRyZWVBc1RleHQoZG9jdW1lbnQsIGludGVybmFscy5MQVlFUl9UUkVFX0lOQ0xVREVTX0VWRU5U
X1JFR0lPTiB8IGludGVybmFscy5MQVlFUl9UUkVFX0lOQ0xVREVTX1JPT1RfTEFZRVJfUFJPUEVS
VElFUyk7Cit9Cis8L3NjcmlwdD4KKzxib2R5PgorPGRpdiBjbGFzcz0iZXZlbnQiIGlkPSJhY3Rp
dmUiPgorICAgIDxkaXYgY2xhc3M9ImNoaWxkIj48L2Rpdj4KKzwvZGl2PgorPGRpdiBjbGFzcz0i
ZXZlbnQgb2Zmc2V0IiBpZD0icGFzc2l2ZSI+CisgICAgPGRpdiBjbGFzcz0iY2hpbGQiPjwvZGl2
PgorPC9kaXY+Cis8cHJlIGlkPSJyZXN1bHRzIj48L3ByZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCA1M2FjZTRjNGE4OS4uOTZlMmFmNDZjNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzNiBAQAorMjAyMC0wNS0xNCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CisK
KyAgICAgICAgW1doZWVsIGV2ZW50IHJlZ2lvbl0gSW52YWxpZGF0aW9uIHdoZW4gY2hhbmdpbmcg
bGlzdGVuZXJzIG9uIGVsZW1lbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTE4OTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBEb2Vzbid0IGhhbmRsZSByb290ICh3aW5kb3cvZG9jdW1lbnQpIGludmFs
aWRhdGlvbiB5ZXQuCisKKyAgICAgICAgVGVzdDogZmFzdC9zY3JvbGxpbmcvbWFjL3doZWVsLWV2
ZW50LWxpc3RlbmVyLXJlZ2lvbi1lbGVtZW50LWludmFsaWRhdGlvbi5odG1sCisKKyAgICAgICAg
KiBkb20vRXZlbnRUYXJnZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRUYXJnZXQ6OmFk
ZEV2ZW50TGlzdGVuZXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRUYXJnZXQ6OnJlbW92ZUV2
ZW50TGlzdGVuZXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRUYXJnZXQ6OnJlbW92ZUFsbEV2
ZW50TGlzdGVuZXJzKToKKworICAgICAgICBJbnZhbGlkYXRlIGVsZW1lbnQgc3R5bGUgb24gd2hl
ZWwgZXZlbnQgY2hhbmdlcy4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnN0eWxlV2lsbENoYW5nZSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyOjppbnZhbGlkYXRlRXZlbnRSZWdpb24pOgorCisgICAgICAgIEJ1aWxkIG9uIG5v
bi1pT1MgcGxhdGZvcm1zLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2lu
Zy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6Om1haW50YWluc0V2
ZW50UmVnaW9uIGNvbnN0KToKKworICAgICAgICBGYWN0b3IgaW50byBmdW5jdGlvbiBzbyBpdCBj
YW4gYmUgc2hhcmVkIHdpdGggUmVuZGVyTGF5ZXI6OmludmFsaWRhdGVFdmVudFJlZ2lvbi4KKwor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVFdmVudFJlZ2lvbik6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oOgorCiAyMDIwLTA1LTE0
ICBBZHJpYW4gUGVyZXogZGUgQ2FzdHJvICA8YXBlcmV6QGlnYWxpYS5jb20+CiAKICAgICAgICAg
Tm9uLXVuaWZpZWQgYnVpbGQgZml4ZWQsIG1pZCBNYXkgMjAyMCBlZGl0aW9uCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50VGFyZ2V0LmNwcAppbmRleCBiNDBmMmIwMmJiNy4uZTU2ZWQ0ZGYwNTUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50VGFyZ2V0LmNwcApAQCAtOTUsNiArOTUsMTEgQEAgYm9vbCBFdmVudFRhcmdl
dDo6YWRkRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIFJlZjxFdmVu
dExpc3RlbmUKICAgICBpZiAobGlzdGVuZXJDcmVhdGVkRnJvbVNjcmlwdCkKICAgICAgICAgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRBZGRFdmVudExpc3RlbmVyKCp0aGlzLCBldmVudFR5
cGUsIGxpc3RlbmVyUmVmLmdldCgpLCBvcHRpb25zLmNhcHR1cmUpOwogCisgICAgaWYgKGV2ZW50
TmFtZXMoKS5pc1doZWVsRXZlbnRUeXBlKGV2ZW50VHlwZSkpIHsKKyAgICAgICAgaWYgKGlzPEVs
ZW1lbnQ+KCp0aGlzKSkKKyAgICAgICAgICAgIGRvd25jYXN0PEVsZW1lbnQ+KCp0aGlzKS5pbnZh
bGlkYXRlU3R5bGVJbnRlcm5hbCgpOworICAgIH0KKwogICAgIGV2ZW50TGlzdGVuZXJzRGlkQ2hh
bmdlKCk7CiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC0xMzYsNiArMTQxLDExIEBAIGJvb2wgRXZl
bnRUYXJnZXQ6OnJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBl
LCBFdmVudExpc3RlbmVyCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsUmVtb3Zl
RXZlbnRMaXN0ZW5lcigqdGhpcywgZXZlbnRUeXBlLCBsaXN0ZW5lciwgb3B0aW9ucy5jYXB0dXJl
KTsKIAogICAgIGlmIChkYXRhLT5ldmVudExpc3RlbmVyTWFwLnJlbW92ZShldmVudFR5cGUsIGxp
c3RlbmVyLCBvcHRpb25zLmNhcHR1cmUpKSB7CisgICAgICAgIGlmIChldmVudE5hbWVzKCkuaXNX
aGVlbEV2ZW50VHlwZShldmVudFR5cGUpKSB7CisgICAgICAgICAgICBpZiAoaXM8RWxlbWVudD4o
KnRoaXMpKQorICAgICAgICAgICAgICAgIGRvd25jYXN0PEVsZW1lbnQ+KCp0aGlzKS5pbnZhbGlk
YXRlU3R5bGVJbnRlcm5hbCgpOworICAgICAgICB9CisKICAgICAgICAgZXZlbnRMaXN0ZW5lcnNE
aWRDaGFuZ2UoKTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQpAQCAtMzY3LDYgKzM3Nywx
MSBAQCB2b2lkIEV2ZW50VGFyZ2V0OjpyZW1vdmVBbGxFdmVudExpc3RlbmVycygpCiAKICAgICBh
dXRvKiBkYXRhID0gZXZlbnRUYXJnZXREYXRhKCk7CiAgICAgaWYgKGRhdGEgJiYgIWRhdGEtPmV2
ZW50TGlzdGVuZXJNYXAuaXNFbXB0eSgpKSB7CisgICAgICAgIGlmIChkYXRhLT5ldmVudExpc3Rl
bmVyTWFwLmNvbnRhaW5zKGV2ZW50TmFtZXMoKS53aGVlbEV2ZW50KSB8fCBkYXRhLT5ldmVudExp
c3RlbmVyTWFwLmNvbnRhaW5zKGV2ZW50TmFtZXMoKS5tb3VzZXdoZWVsRXZlbnQpKSB7CisgICAg
ICAgICAgICBpZiAoaXM8RWxlbWVudD4oKnRoaXMpKQorICAgICAgICAgICAgICAgIGRvd25jYXN0
PEVsZW1lbnQ+KCp0aGlzKS5pbnZhbGlkYXRlU3R5bGVJbnRlcm5hbCgpOworICAgICAgICB9CisK
ICAgICAgICAgZGF0YS0+ZXZlbnRMaXN0ZW5lck1hcC5jbGVhcigpOwogICAgICAgICBldmVudExp
c3RlbmVyc0RpZENoYW5nZSgpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJFbGVtZW50LmNwcAppbmRleCA0Mzc2MDkxM2JkNS4uZGY5NTIxMWE5YjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKQEAgLTc0MSw2ICs3NDEsOCBAQCB2
b2lkIFJlbmRlckVsZW1lbnQ6OnN0eWxlV2lsbENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwg
Y29uc3QgUmVuZGVyU3R5bGUmIG5ldwogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAg
ICAgICAgICAgaWYgKG1fc3R5bGUuZWZmZWN0aXZlVG91Y2hBY3Rpb25zKCkgIT0gbmV3U3R5bGUu
ZWZmZWN0aXZlVG91Y2hBY3Rpb25zKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgICAgICAgICBpZiAobV9zdHlsZS5ldmVudExpc3RlbmVyUmVnaW9uVHlwZXMoKSAhPSBuZXdT
dHlsZS5ldmVudExpc3RlbmVyUmVnaW9uVHlwZXMoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKICNpZiBFTkFCTEUoRURJVEFCTEVfUkVHSU9OKQogICAgICAgICAgICAgYm9vbCB3YXNF
ZGl0YWJsZSA9IG1fc3R5bGUudXNlck1vZGlmeSgpICE9IFVzZXJNb2RpZnk6OlJlYWRPbmx5Owog
ICAgICAgICAgICAgYm9vbCBpc0VkaXRhYmxlID0gbmV3U3R5bGUudXNlck1vZGlmeSgpICE9IFVz
ZXJNb2RpZnk6OlJlYWRPbmx5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5j
cHAKaW5kZXggNmQ5ZGI1NDRmNzcuLjkwYzI3ZGVkZjA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTY5NzAsMjggKzY5NzAsMjAgQEAgYm9vbCBSZW5kZXJM
YXllcjo6aXNUcmFuc3BhcmVudFJlc3BlY3RpbmdQYXJlbnRGcmFtZXMoKSBjb25zdAogCiBib29s
IFJlbmRlckxheWVyOjppbnZhbGlkYXRlRXZlbnRSZWdpb24oRXZlbnRSZWdpb25JbnZhbGlkYXRp
b25SZWFzb24gcmVhc29uKQogewotICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBub3QgYmUgY29u
ZGl0aW9uZWQgb24gUExBVEZPUk0oSU9TX0ZBTUlMWSkuIFNlZSA8aHR0cHM6Ly93ZWJraXQub3Jn
L2IvMjEwMjE2Pi4KLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorI2lmIEVOQUJMRShBU1lOQ19T
Q1JPTExJTkcpCiAgICAgYXV0byogY29tcG9zaXRpbmdMYXllciA9IGVuY2xvc2luZ0NvbXBvc2l0
aW5nTGF5ZXJGb3JSZXBhaW50KCk7Ci0gICAgaWYgKCFjb21wb3NpdGluZ0xheWVyKQotICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKLSAgICBhdXRvIG1haW50YWluc0V2ZW50UmVnaW9uID0gWyZdIHsK
LSAgICAgICAgLy8gVUkgc2lkZSBzY3JvbGwgb3ZlcmxhcCB0ZXN0aW5nLgotICAgICAgICBpZiAo
IWNvbXBvc2l0aW5nTGF5ZXItPmlzUmVuZGVyVmlld0xheWVyKCkpCi0gICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKLSAgICAgICAgLy8gVUkgc2lkZSB0b3VjaC1hY3Rpb24gcmVzb2x1dGlvbi4KLSAg
ICAgICAgaWYgKHJlbmRlcmVyKCkuZG9jdW1lbnQoKS5tYXlIYXZlRWxlbWVudHNXaXRoTm9uQXV0
b1RvdWNoQWN0aW9uKCkpCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSNpZiBFTkFCTEUoRURJ
VEFCTEVfUkVHSU9OKQotICAgICAgICAvLyBVSSBzaWRlIGVkaXRhYmxlIGVsZW1lbnRzIHJlc29s
dXRpb24uCi0gICAgICAgIGlmIChyZW5kZXJlcigpLmRvY3VtZW50KCkubWF5SGF2ZUVkaXRhYmxl
RWxlbWVudHMoKSkKKyAgICBhdXRvIHNob3VsZEludmFsaWRhdGUgPSBbJl0geworICAgICAgICBp
ZiAoIWNvbXBvc2l0aW5nTGF5ZXIpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAg
ICAgaWYgKHJlYXNvbiA9PSBFdmVudFJlZ2lvbkludmFsaWRhdGlvblJlYXNvbjo6Tm9uQ29tcG9z
aXRlZEZyYW1lKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0jZW5kaWYKLSAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgICAgIHJldHVybiBjb21wb3NpdGluZ0xheWVyLT5iYWNraW5nKCkt
Pm1haW50YWluc0V2ZW50UmVnaW9uKCk7CiAgICAgfTsKIAotICAgIGlmIChyZWFzb24gIT0gRXZl
bnRSZWdpb25JbnZhbGlkYXRpb25SZWFzb246Ok5vbkNvbXBvc2l0ZWRGcmFtZSAmJiAhbWFpbnRh
aW5zRXZlbnRSZWdpb24oKSkKKyAgICBpZiAoIXNob3VsZEludmFsaWRhdGUoKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCiAgICAgY29tcG9zaXRpbmdMYXllci0+c2V0TmVlZHNDb21wb3NpdGlu
Z0NvbmZpZ3VyYXRpb25VcGRhdGUoKTsKQEAgLTY5OTksNyArNjk5MSw3IEBAIGJvb2wgUmVuZGVy
TGF5ZXI6OmludmFsaWRhdGVFdmVudFJlZ2lvbihFdmVudFJlZ2lvbkludmFsaWRhdGlvblJlYXNv
biByZWFzb24pCiAgICAgaWYgKHJlYXNvbiA9PSBFdmVudFJlZ2lvbkludmFsaWRhdGlvblJlYXNv
bjo6Tm9uQ29tcG9zaXRlZEZyYW1lKSB7CiAgICAgICAgIGF1dG8mIHZpZXcgPSByZW5kZXJlcigp
LnZpZXcoKTsKICAgICAgICAgdmlldy5zZXROZWVkc0V2ZW50UmVnaW9uVXBkYXRlRm9yTm9uQ29t
cG9zaXRlZEZyYW1lKCk7Ci0gICAgICAgIGlmIChyZW5kZXJlcigpLnNldHRpbmdzKCkudmlzaWJs
ZURlYnVnT3ZlcmxheVJlZ2lvbnMoKSAmIChUb3VjaEFjdGlvblJlZ2lvbiB8IEVkaXRhYmxlRWxl
bWVudFJlZ2lvbikpCisgICAgICAgIGlmIChyZW5kZXJlcigpLnNldHRpbmdzKCkudmlzaWJsZURl
YnVnT3ZlcmxheVJlZ2lvbnMoKSAmIChUb3VjaEFjdGlvblJlZ2lvbiB8IEVkaXRhYmxlRWxlbWVu
dFJlZ2lvbiB8IFdoZWVsRXZlbnRIYW5kbGVyUmVnaW9uKSkKICAgICAgICAgICAgIHZpZXcuc2V0
TmVlZHNSZXBhaW50SGFja0FmdGVyQ29tcG9zaXRpbmdMYXllclVwZGF0ZUZvckRlYnVnT3Zlcmxh
eXNPbmx5KCk7CiAgICAgICAgIHZpZXcuY29tcG9zaXRvcigpLnNjaGVkdWxlQ29tcG9zaXRpbmdM
YXllclVwZGF0ZSgpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllckJhY2tpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQmFja2luZy5jcHAKaW5kZXggNGEzZDUwMjI4NDguLjVlZjM4MjI3MzhkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcApAQCAtMTY4
OCw0MSArMTY4OCw0MiBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlRHJhd3NDb250
ZW50KFBhaW50ZWRDb250ZW50c0luZm8mIGNvbnRlbnRzSW5mbykKIH0KIAogI2lmIEVOQUJMRShB
U1lOQ19TQ1JPTExJTkcpCi12b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlRXZlbnRSZWdp
b24oKQorYm9vbCBSZW5kZXJMYXllckJhY2tpbmc6Om1haW50YWluc0V2ZW50UmVnaW9uKCkgY29u
c3QKIHsKLSAgICBhdXRvIG5lZWRzVXBkYXRlID0gWyZdIHsKLSAgICAgICAgaWYgKCFtX293bmlu
Z0xheWVyLnBhZ2UoKS5zY3JvbGxpbmdDb29yZGluYXRvcigpKQotICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgIGlmICghbV9vd25pbmdMYXllci5wYWdlKCkuc2Nyb2xsaW5nQ29vcmRpbmF0
b3IoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgICAgIGlmIChwYWludHNJbnRvQ29t
cG9zaXRlZEFuY2VzdG9yKCkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKHBh
aW50c0ludG9Db21wb3NpdGVkQW5jZXN0b3IoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgaWYgKHJlbmRlcmVyKCkudmlldygpLm5lZWRzRXZlbnRSZWdpb25VcGRhdGVGb3JOb25Db21w
b3NpdGVkRnJhbWUoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICAgICAgaWYgKHJlbmRl
cmVyKCkudmlldygpLm5lZWRzRXZlbnRSZWdpb25VcGRhdGVGb3JOb25Db21wb3NpdGVkRnJhbWUo
KSkKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAKICNpZiBQTEFURk9STShJT1Nf
RkFNSUxZKQotICAgICAgICBpZiAocmVuZGVyZXIoKS5kb2N1bWVudCgpLm1heUhhdmVFbGVtZW50
c1dpdGhOb25BdXRvVG91Y2hBY3Rpb24oKSkKLSAgICAgICAgICAgIHJldHVybiB0cnVlOworICAg
IGlmIChyZW5kZXJlcigpLmRvY3VtZW50KCkubWF5SGF2ZUVsZW1lbnRzV2l0aE5vbkF1dG9Ub3Vj
aEFjdGlvbigpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKICNlbmRpZgogI2lmIEVOQUJMRShFRElU
QUJMRV9SRUdJT04pCi0gICAgICAgIGlmIChyZW5kZXJlcigpLmRvY3VtZW50KCkubWF5SGF2ZUVk
aXRhYmxlRWxlbWVudHMoKSkKLSAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIGlmIChyZW5k
ZXJlcigpLmRvY3VtZW50KCkubWF5SGF2ZUVkaXRhYmxlRWxlbWVudHMoKSkKKyAgICAgICAgcmV0
dXJuIHRydWU7CiAjZW5kaWYKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICAgICAgaWYg
KHJlbmRlcmVyKCkuZG9jdW1lbnQoKS53aGVlbEV2ZW50VGFyZ2V0cygpKQotICAgICAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgaWYgKHJlbmRlcmVyKCkuZG9jdW1lbnQoKS53aGVlbEV2ZW50VGFy
Z2V0cygpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKICNlbmRpZgotICAgICAgICBpZiAobV9vd25p
bmdMYXllci5pc1JlbmRlclZpZXdMYXllcigpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIGlmIChtX293bmluZ0xheWVyLmlzUmVuZGVyVmlld0xheWVyKCkpCisgICAgICAgIHJldHVy
biBmYWxzZTsKIAotICAgICAgICBhdXRvJiBzZXR0aW5ncyA9IHJlbmRlcmVyKCkuc2V0dGluZ3Mo
KTsKLSAgICAgICAgaWYgKCFzZXR0aW5ncy5hc3luY0ZyYW1lU2Nyb2xsaW5nRW5hYmxlZCgpICYm
ICFzZXR0aW5ncy5hc3luY092ZXJmbG93U2Nyb2xsaW5nRW5hYmxlZCgpKQotICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIGF1dG8mIHNldHRpbmdzID0gcmVuZGVyZXIoKS5zZXR0aW5ncygp
OworICAgIGlmICghc2V0dGluZ3MuYXN5bmNGcmFtZVNjcm9sbGluZ0VuYWJsZWQoKSAmJiAhc2V0
dGluZ3MuYXN5bmNPdmVyZmxvd1Njcm9sbGluZ0VuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOwogCi0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH07CisgICAgcmV0dXJuIHRydWU7Cit9
CiAKLSAgICBpZiAoIW5lZWRzVXBkYXRlKCkpCit2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBk
YXRlRXZlbnRSZWdpb24oKQoreworICAgIGlmICghbWFpbnRhaW5zRXZlbnRSZWdpb24oKSkKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgYXV0byB1cGRhdGVFdmVudFJlZ2lvbkZvckxheWVyID0gWyZd
KEdyYXBoaWNzTGF5ZXImIGdyYXBoaWNzTGF5ZXIpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllckJhY2tpbmcuaAppbmRleCBmNTRhODhiMzhhZi4uZDA2NTFjYmQ3NjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKQEAg
LTIwMiw2ICsyMDIsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCB1cGRhdGVBbGxvd3NCYWNraW5nU3Rv
cmVEZXRhY2hpbmcoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVCb3VuZHMpOwogCiAjaWYgRU5B
QkxFKEFTWU5DX1NDUk9MTElORykKKyAgICBib29sIG1haW50YWluc0V2ZW50UmVnaW9uKCkgY29u
c3Q7CiAgICAgdm9pZCB1cGRhdGVFdmVudFJlZ2lvbigpOwogI2VuZGlmCiAK
</data>
<flag name="review"
          id="414795"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399474</attachid>
            <date>2020-05-15 06:32:09 -0700</date>
            <delta_ts>2020-05-15 06:59:20 -0700</delta_ts>
            <desc>patch</desc>
            <filename>wheel-region-element-invalidation-2.patch</filename>
            <type>text/plain</type>
            <size>13749</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzZTM0YWNhNWZkOC4uZTQ1N2FjOGI0MDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAor
MjAyMC0wNS0xNCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CisKKyAgICAgICAg
W1doZWVsIGV2ZW50IHJlZ2lvbl0gSW52YWxpZGF0aW9uIHdoZW4gY2hhbmdpbmcgbGlzdGVuZXJz
IG9uIGVsZW1lbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMTE4OTUKKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAg
ICAgKiBmYXN0L3Njcm9sbGluZy9tYWMvd2hlZWwtZXZlbnQtbGlzdGVuZXItcmVnaW9uLWVsZW1l
bnQtaW52YWxpZGF0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9zY3Jv
bGxpbmcvbWFjL3doZWVsLWV2ZW50LWxpc3RlbmVyLXJlZ2lvbi1lbGVtZW50LWludmFsaWRhdGlv
bi5odG1sOiBBZGRlZC4KKwogMjAyMC0wNS0xMyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4Zmll
bGRAYXBwbGUuY29tPgogCiAgICAgICAgIGZhc3QvdGV4dC9tdWx0aXBsZS1jb2RldW5pdC12ZXJ0
aWNhbC11cHJpZ2h0Lmh0bWwgaXMgZmFpbGluZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9zY3JvbGxpbmcvbWFjL3doZWVsLWV2ZW50LWxpc3RlbmVyLXJlZ2lvbi1lbGVtZW50LWludmFs
aWRhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvd2hl
ZWwtZXZlbnQtbGlzdGVuZXItcmVnaW9uLWVsZW1lbnQtaW52YWxpZGF0aW9uLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMzdiOTZiOGQ5YzkKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvd2hlZWwtZXZl
bnQtbGlzdGVuZXItcmVnaW9uLWVsZW1lbnQtaW52YWxpZGF0aW9uLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDQzIEBACisoR3JhcGhpY3NMYXllcgorICAoYW5jaG9yIDAuMDAgMC4wMCkKKyAgKGJv
dW5kcyA4MDAuMDAgNjAwLjAwKQorICAoY2hpbGRyZW4gMQorICAgIChHcmFwaGljc0xheWVyCisg
ICAgICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgICAgICAoY29udGVudHNPcGFxdWUgMSkKKyAg
ICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgIChiYWNrZ3JvdW5kQ29sb3IgI0ZGRkZGRikKKyAg
ICAgIChldmVudCByZWdpb24KKyAgICAgICAgKHJlY3QgKDAsMCkgd2lkdGg9ODAwIGhlaWdodD02
MDApCisgICAgICAod2hlZWwgZXZlbnQgbGlzdGVuZXIgcmVnaW9uCisgICAgICAgIChyZWN0ICg4
LDgpIHdpZHRoPTI1MCBoZWlnaHQ9NTApCisgICAgICAgIChyZWN0ICg4LDU4KSB3aWR0aD0yMDAg
aGVpZ2h0PTE1MCkKKyAgICAgICAgKG5vbi1wYXNzaXZlCisgICAgICAgICAgKHJlY3QgKDgsOCkg
d2lkdGg9MjUwIGhlaWdodD01MCkKKyAgICAgICAgICAocmVjdCAoOCw1OCkgd2lkdGg9MjAwIGhl
aWdodD0xNTApCisgICAgICAgICkKKyAgICAgICkKKyAgICAgICkKKyAgICApCisgICkKKykKKyhH
cmFwaGljc0xheWVyCisgIChhbmNob3IgMC4wMCAwLjAwKQorICAoYm91bmRzIDgwMC4wMCA2MDAu
MDApCisgIChjaGlsZHJlbiAxCisgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgIChib3VuZHMgODAw
LjAwIDYwMC4wMCkKKyAgICAgIChjb250ZW50c09wYXF1ZSAxKQorICAgICAgKGRyYXdzQ29udGVu
dCAxKQorICAgICAgKGJhY2tncm91bmRDb2xvciAjRkZGRkZGKQorICAgICAgKGV2ZW50IHJlZ2lv
bgorICAgICAgICAocmVjdCAoMCwwKSB3aWR0aD04MDAgaGVpZ2h0PTYwMCkKKyAgICAgICh3aGVl
bCBldmVudCBsaXN0ZW5lciByZWdpb24KKyAgICAgICAgKHJlY3QgKDIwOCwyMDgpIHdpZHRoPTI1
MCBoZWlnaHQ9NTApCisgICAgICAgIChyZWN0ICgyMDgsMjU4KSB3aWR0aD0yMDAgaGVpZ2h0PTE1
MCkKKyAgICAgICkKKyAgICAgICkKKyAgICApCisgICkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL3doZWVsLWV2ZW50LWxpc3RlbmVyLXJlZ2lvbi1lbGVt
ZW50LWludmFsaWRhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL3do
ZWVsLWV2ZW50LWxpc3RlbmVyLXJlZ2lvbi1lbGVtZW50LWludmFsaWRhdGlvbi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi42NzQxYTFhMTRlYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy93aGVlbC1ldmVudC1saXN0
ZW5lci1yZWdpb24tZWxlbWVudC1pbnZhbGlkYXRpb24uaHRtbApAQCAtMCwwICsxLDU2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBpbnRlcm5hbDpBc3luY092
ZXJmbG93U2Nyb2xsaW5nRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKzxzdHlsZT4KKy5ldmVu
dCB7CisgICAgcG9zaXRpb246cmVsYXRpdmU7CisgICAgYmFja2dyb3VuZC1jb2xvcjpibHVlOwor
ICAgIHdpZHRoOjIwMHB4OworICAgIGhlaWdodDoyMDBweDsKK30KKy5jaGlsZCB7CisgICAgcG9z
aXRpb246cmVsYXRpdmU7CisgICAgYmFja2dyb3VuZC1jb2xvcjpibHVlOworICAgIGxlZnQ6MjAw
cHg7CisgICAgd2lkdGg6NTBweDsKKyAgICBoZWlnaHQ6NTBweDsKK30KKy5vZmZzZXQgeworICAg
IGxlZnQ6IDIwMHB4OworfQorCis8L3N0eWxlPgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKword2luZG93Lm9ubG9hZCA9ICgp
ID0+IHsKKyAgICBkb2N1bWVudC5ib2R5Lm9mZnNldExlZnQ7CisKKyAgICBmdW5jdGlvbiBsaXN0
ZW5lcigpIHsKKyAgICAgICAgcmVzdWx0cy50ZXh0Q29udGVudCArPSAnd2hlZWxcbic7CisgICAg
fQorICAgIGFjdGl2ZS5hZGRFdmVudExpc3RlbmVyKCJ3aGVlbCIsIGxpc3RlbmVyKTsKKworICAg
IGxldCBsb2cgPSAiIjsKKyAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgbG9nICs9
IGludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQsIGludGVybmFscy5MQVlFUl9UUkVF
X0lOQ0xVREVTX0VWRU5UX1JFR0lPTiB8IGludGVybmFscy5MQVlFUl9UUkVFX0lOQ0xVREVTX1JP
T1RfTEFZRVJfUFJPUEVSVElFUyk7CisKKyAgICBhY3RpdmUucmVtb3ZlRXZlbnRMaXN0ZW5lcign
d2hlZWwnLCBsaXN0ZW5lcik7CisgICAgcGFzc2l2ZS5hZGRFdmVudExpc3RlbmVyKCd3aGVlbCcs
ICgpID0+IHsgcmVzdWx0cy50ZXh0Q29udGVudCArPSAncGFzc2l2ZSB3aGVlbFxuJyB9LCB7IHBh
c3NpdmU6IHRydWUgfSk7CisKKyAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgbG9n
ICs9IGludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQsIGludGVybmFscy5MQVlFUl9U
UkVFX0lOQ0xVREVTX0VWRU5UX1JFR0lPTiB8IGludGVybmFscy5MQVlFUl9UUkVFX0lOQ0xVREVT
X1JPT1RfTEFZRVJfUFJPUEVSVElFUyk7CisKKyAgICByZXN1bHRzLnRleHRDb250ZW50ID0gbG9n
OworfQorPC9zY3JpcHQ+Cis8Ym9keT4KKzxkaXYgY2xhc3M9ImV2ZW50IiBpZD0iYWN0aXZlIj4K
KyAgICA8ZGl2IGNsYXNzPSJjaGlsZCI+PC9kaXY+Cis8L2Rpdj4KKzxkaXYgY2xhc3M9ImV2ZW50
IG9mZnNldCIgaWQ9InBhc3NpdmUiPgorICAgIDxkaXYgY2xhc3M9ImNoaWxkIj48L2Rpdj4KKzwv
ZGl2PgorPHByZSBpZD0icmVzdWx0cyI+PC9wcmU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
aW5kZXggNTNhY2U0YzRhODkuLjY5YzE0ZDY3MzUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYg
QEAKKzIwMjAtMDUtMTQgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgorCisgICAg
ICAgIFtXaGVlbCBldmVudCByZWdpb25dIEludmFsaWRhdGlvbiB3aGVuIGNoYW5naW5nIGxpc3Rl
bmVycyBvbiBlbGVtZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjExODk1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisg
ICAgICAgIERvZXNuJ3QgaGFuZGxlIHJvb3QgKHdpbmRvdy9kb2N1bWVudCkgaW52YWxpZGF0aW9u
IHlldC4KKworICAgICAgICBUZXN0OiBmYXN0L3Njcm9sbGluZy9tYWMvd2hlZWwtZXZlbnQtbGlz
dGVuZXItcmVnaW9uLWVsZW1lbnQtaW52YWxpZGF0aW9uLmh0bWwKKworICAgICAgICAqIGRvbS9F
dmVudFRhcmdldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFRhcmdldDo6YWRkRXZlbnRM
aXN0ZW5lcik6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFRhcmdldDo6cmVtb3ZlRXZlbnRMaXN0
ZW5lcik6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFRhcmdldDo6cmVtb3ZlQWxsRXZlbnRMaXN0
ZW5lcnMpOgorCisgICAgICAgIEludmFsaWRhdGUgZWxlbWVudCBzdHlsZSBvbiB3aGVlbCBldmVu
dCBjaGFuZ2VzLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6c3R5bGVXaWxsQ2hhbmdlKToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5
ZXI6OmludmFsaWRhdGVFdmVudFJlZ2lvbik6CisKKyAgICAgICAgQnVpbGQgb24gbm9uLWlPUyBw
bGF0Zm9ybXMuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6bWFpbnRhaW5zRXZlbnRSZWdp
b24gY29uc3QpOgorCisgICAgICAgIEZhY3RvciBpbnRvIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSBz
aGFyZWQgd2l0aCBSZW5kZXJMYXllcjo6aW52YWxpZGF0ZUV2ZW50UmVnaW9uLgorCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUV2ZW50UmVnaW9uKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmg6CisKIDIwMjAtMDUtMTQgIEFkcmlh
biBQZXJleiBkZSBDYXN0cm8gIDxhcGVyZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBOb24tdW5p
ZmllZCBidWlsZCBmaXhlZCwgbWlkIE1heSAyMDIwIGVkaXRpb24KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRU
YXJnZXQuY3BwCmluZGV4IGI0MGYyYjAyYmI3Li5lNTZlZDRkZjA1NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnRUYXJnZXQuY3BwCkBAIC05NSw2ICs5NSwxMSBAQCBib29sIEV2ZW50VGFyZ2V0OjphZGRF
dmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgUmVmPEV2ZW50TGlzdGVu
ZQogICAgIGlmIChsaXN0ZW5lckNyZWF0ZWRGcm9tU2NyaXB0KQogICAgICAgICBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmRpZEFkZEV2ZW50TGlzdGVuZXIoKnRoaXMsIGV2ZW50VHlwZSwgbGlz
dGVuZXJSZWYuZ2V0KCksIG9wdGlvbnMuY2FwdHVyZSk7CiAKKyAgICBpZiAoZXZlbnROYW1lcygp
LmlzV2hlZWxFdmVudFR5cGUoZXZlbnRUeXBlKSkgeworICAgICAgICBpZiAoaXM8RWxlbWVudD4o
KnRoaXMpKQorICAgICAgICAgICAgZG93bmNhc3Q8RWxlbWVudD4oKnRoaXMpLmludmFsaWRhdGVT
dHlsZUludGVybmFsKCk7CisgICAgfQorCiAgICAgZXZlbnRMaXN0ZW5lcnNEaWRDaGFuZ2UoKTsK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KQEAgLTEzNiw2ICsxNDEsMTEgQEAgYm9vbCBFdmVudFRhcmdl
dDo6cmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50
TGlzdGVuZXIKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxSZW1vdmVFdmVudExp
c3RlbmVyKCp0aGlzLCBldmVudFR5cGUsIGxpc3RlbmVyLCBvcHRpb25zLmNhcHR1cmUpOwogCiAg
ICAgaWYgKGRhdGEtPmV2ZW50TGlzdGVuZXJNYXAucmVtb3ZlKGV2ZW50VHlwZSwgbGlzdGVuZXIs
IG9wdGlvbnMuY2FwdHVyZSkpIHsKKyAgICAgICAgaWYgKGV2ZW50TmFtZXMoKS5pc1doZWVsRXZl
bnRUeXBlKGV2ZW50VHlwZSkpIHsKKyAgICAgICAgICAgIGlmIChpczxFbGVtZW50PigqdGhpcykp
CisgICAgICAgICAgICAgICAgZG93bmNhc3Q8RWxlbWVudD4oKnRoaXMpLmludmFsaWRhdGVTdHls
ZUludGVybmFsKCk7CisgICAgICAgIH0KKwogICAgICAgICBldmVudExpc3RlbmVyc0RpZENoYW5n
ZSgpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CkBAIC0zNjcsNiArMzc3LDExIEBAIHZv
aWQgRXZlbnRUYXJnZXQ6OnJlbW92ZUFsbEV2ZW50TGlzdGVuZXJzKCkKIAogICAgIGF1dG8qIGRh
dGEgPSBldmVudFRhcmdldERhdGEoKTsKICAgICBpZiAoZGF0YSAmJiAhZGF0YS0+ZXZlbnRMaXN0
ZW5lck1hcC5pc0VtcHR5KCkpIHsKKyAgICAgICAgaWYgKGRhdGEtPmV2ZW50TGlzdGVuZXJNYXAu
Y29udGFpbnMoZXZlbnROYW1lcygpLndoZWVsRXZlbnQpIHx8IGRhdGEtPmV2ZW50TGlzdGVuZXJN
YXAuY29udGFpbnMoZXZlbnROYW1lcygpLm1vdXNld2hlZWxFdmVudCkpIHsKKyAgICAgICAgICAg
IGlmIChpczxFbGVtZW50PigqdGhpcykpCisgICAgICAgICAgICAgICAgZG93bmNhc3Q8RWxlbWVu
dD4oKnRoaXMpLmludmFsaWRhdGVTdHlsZUludGVybmFsKCk7CisgICAgICAgIH0KKwogICAgICAg
ICBkYXRhLT5ldmVudExpc3RlbmVyTWFwLmNsZWFyKCk7CiAgICAgICAgIGV2ZW50TGlzdGVuZXJz
RGlkQ2hhbmdlKCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0V2ZW50UmVnaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FdmVudFJlZ2lvbi5j
cHAKaW5kZXggMjI4YzFjMGUzYzMuLjk0NGRiYTkwMTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvRXZlbnRSZWdpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9FdmVudFJlZ2lvbi5jcHAKQEAgLTEwMCw2ICsxMDAsMTAgQEAgYm9vbCBFdmVudFJlZ2lv
bjo6b3BlcmF0b3I9PShjb25zdCBFdmVudFJlZ2lvbiYgb3RoZXIpIGNvbnN0CiB7CiAgICAgaWYg
KG1fdG91Y2hBY3Rpb25SZWdpb25zICE9IG90aGVyLm1fdG91Y2hBY3Rpb25SZWdpb25zKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKG1fd2hlZWxFdmVudExpc3RlbmVyUmVnaW9uICE9
IG90aGVyLm1fd2hlZWxFdmVudExpc3RlbmVyUmVnaW9uKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgaWYgKG1fbm9uUGFzc2l2ZVdoZWVsRXZlbnRMaXN0ZW5lclJlZ2lvbiAhPSBvdGhlci5t
X25vblBhc3NpdmVXaGVlbEV2ZW50TGlzdGVuZXJSZWdpb24pCisgICAgICAgIHJldHVybiBmYWxz
ZTsKICNpZiBFTkFCTEUoRURJVEFCTEVfUkVHSU9OKQogICAgIGlmIChtX2VkaXRhYmxlUmVnaW9u
ICE9IG90aGVyLm1fZWRpdGFibGVSZWdpb24pCiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAppbmRleCA0Mzc2MDkxM2JkNS4u
ZGY5NTIxMWE5YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5j
cHAKQEAgLTc0MSw2ICs3NDEsOCBAQCB2b2lkIFJlbmRlckVsZW1lbnQ6OnN0eWxlV2lsbENoYW5n
ZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVuZGVyU3R5bGUmIG5ldwogICAgICAgICAg
ICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgaWYgKG1fc3R5bGUuZWZmZWN0aXZlVG91
Y2hBY3Rpb25zKCkgIT0gbmV3U3R5bGUuZWZmZWN0aXZlVG91Y2hBY3Rpb25zKCkpCiAgICAgICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICBpZiAobV9zdHlsZS5ldmVudExpc3Rl
bmVyUmVnaW9uVHlwZXMoKSAhPSBuZXdTdHlsZS5ldmVudExpc3RlbmVyUmVnaW9uVHlwZXMoKSkK
KyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICNpZiBFTkFCTEUoRURJVEFCTEVfUkVHSU9O
KQogICAgICAgICAgICAgYm9vbCB3YXNFZGl0YWJsZSA9IG1fc3R5bGUudXNlck1vZGlmeSgpICE9
IFVzZXJNb2RpZnk6OlJlYWRPbmx5OwogICAgICAgICAgICAgYm9vbCBpc0VkaXRhYmxlID0gbmV3
U3R5bGUudXNlck1vZGlmeSgpICE9IFVzZXJNb2RpZnk6OlJlYWRPbmx5OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggNmQ5ZGI1NDRmNzcuLjkwYzI3ZGVkZjA4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTY5NzAsMjgg
KzY5NzAsMjAgQEAgYm9vbCBSZW5kZXJMYXllcjo6aXNUcmFuc3BhcmVudFJlc3BlY3RpbmdQYXJl
bnRGcmFtZXMoKSBjb25zdAogCiBib29sIFJlbmRlckxheWVyOjppbnZhbGlkYXRlRXZlbnRSZWdp
b24oRXZlbnRSZWdpb25JbnZhbGlkYXRpb25SZWFzb24gcmVhc29uKQogewotICAgIC8vIEZJWE1F
OiBUaGlzIHNob3VsZCBub3QgYmUgY29uZGl0aW9uZWQgb24gUExBVEZPUk0oSU9TX0ZBTUlMWSku
IFNlZSA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMjEwMjE2Pi4KLSNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQorI2lmIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpCiAgICAgYXV0byogY29tcG9zaXRpbmdM
YXllciA9IGVuY2xvc2luZ0NvbXBvc2l0aW5nTGF5ZXJGb3JSZXBhaW50KCk7Ci0gICAgaWYgKCFj
b21wb3NpdGluZ0xheWVyKQotICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBhdXRvIG1haW50
YWluc0V2ZW50UmVnaW9uID0gWyZdIHsKLSAgICAgICAgLy8gVUkgc2lkZSBzY3JvbGwgb3Zlcmxh
cCB0ZXN0aW5nLgotICAgICAgICBpZiAoIWNvbXBvc2l0aW5nTGF5ZXItPmlzUmVuZGVyVmlld0xh
eWVyKCkpCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgLy8gVUkgc2lkZSB0b3Vj
aC1hY3Rpb24gcmVzb2x1dGlvbi4KLSAgICAgICAgaWYgKHJlbmRlcmVyKCkuZG9jdW1lbnQoKS5t
YXlIYXZlRWxlbWVudHNXaXRoTm9uQXV0b1RvdWNoQWN0aW9uKCkpCi0gICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKLSNpZiBFTkFCTEUoRURJVEFCTEVfUkVHSU9OKQotICAgICAgICAvLyBVSSBzaWRl
IGVkaXRhYmxlIGVsZW1lbnRzIHJlc29sdXRpb24uCi0gICAgICAgIGlmIChyZW5kZXJlcigpLmRv
Y3VtZW50KCkubWF5SGF2ZUVkaXRhYmxlRWxlbWVudHMoKSkKKyAgICBhdXRvIHNob3VsZEludmFs
aWRhdGUgPSBbJl0geworICAgICAgICBpZiAoIWNvbXBvc2l0aW5nTGF5ZXIpCisgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgaWYgKHJlYXNvbiA9PSBFdmVudFJlZ2lvbkludmFs
aWRhdGlvblJlYXNvbjo6Tm9uQ29tcG9zaXRlZEZyYW1lKQogICAgICAgICAgICAgcmV0dXJuIHRy
dWU7Ci0jZW5kaWYKLSAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIHJldHVybiBjb21w
b3NpdGluZ0xheWVyLT5iYWNraW5nKCktPm1haW50YWluc0V2ZW50UmVnaW9uKCk7CiAgICAgfTsK
IAotICAgIGlmIChyZWFzb24gIT0gRXZlbnRSZWdpb25JbnZhbGlkYXRpb25SZWFzb246Ok5vbkNv
bXBvc2l0ZWRGcmFtZSAmJiAhbWFpbnRhaW5zRXZlbnRSZWdpb24oKSkKKyAgICBpZiAoIXNob3Vs
ZEludmFsaWRhdGUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgY29tcG9zaXRpbmdM
YXllci0+c2V0TmVlZHNDb21wb3NpdGluZ0NvbmZpZ3VyYXRpb25VcGRhdGUoKTsKQEAgLTY5OTks
NyArNjk5MSw3IEBAIGJvb2wgUmVuZGVyTGF5ZXI6OmludmFsaWRhdGVFdmVudFJlZ2lvbihFdmVu
dFJlZ2lvbkludmFsaWRhdGlvblJlYXNvbiByZWFzb24pCiAgICAgaWYgKHJlYXNvbiA9PSBFdmVu
dFJlZ2lvbkludmFsaWRhdGlvblJlYXNvbjo6Tm9uQ29tcG9zaXRlZEZyYW1lKSB7CiAgICAgICAg
IGF1dG8mIHZpZXcgPSByZW5kZXJlcigpLnZpZXcoKTsKICAgICAgICAgdmlldy5zZXROZWVkc0V2
ZW50UmVnaW9uVXBkYXRlRm9yTm9uQ29tcG9zaXRlZEZyYW1lKCk7Ci0gICAgICAgIGlmIChyZW5k
ZXJlcigpLnNldHRpbmdzKCkudmlzaWJsZURlYnVnT3ZlcmxheVJlZ2lvbnMoKSAmIChUb3VjaEFj
dGlvblJlZ2lvbiB8IEVkaXRhYmxlRWxlbWVudFJlZ2lvbikpCisgICAgICAgIGlmIChyZW5kZXJl
cigpLnNldHRpbmdzKCkudmlzaWJsZURlYnVnT3ZlcmxheVJlZ2lvbnMoKSAmIChUb3VjaEFjdGlv
blJlZ2lvbiB8IEVkaXRhYmxlRWxlbWVudFJlZ2lvbiB8IFdoZWVsRXZlbnRIYW5kbGVyUmVnaW9u
KSkKICAgICAgICAgICAgIHZpZXcuc2V0TmVlZHNSZXBhaW50SGFja0FmdGVyQ29tcG9zaXRpbmdM
YXllclVwZGF0ZUZvckRlYnVnT3ZlcmxheXNPbmx5KCk7CiAgICAgICAgIHZpZXcuY29tcG9zaXRv
cigpLnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllclVwZGF0ZSgpOwogICAgIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKaW5kZXggNGEzZDUwMjI4
NDguLjVlZjM4MjI3MzhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJCYWNraW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJCYWNraW5nLmNwcApAQCAtMTY4OCw0MSArMTY4OCw0MiBAQCB2b2lkIFJlbmRlckxheWVy
QmFja2luZzo6dXBkYXRlRHJhd3NDb250ZW50KFBhaW50ZWRDb250ZW50c0luZm8mIGNvbnRlbnRz
SW5mbykKIH0KIAogI2lmIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpCi12b2lkIFJlbmRlckxheWVy
QmFja2luZzo6dXBkYXRlRXZlbnRSZWdpb24oKQorYm9vbCBSZW5kZXJMYXllckJhY2tpbmc6Om1h
aW50YWluc0V2ZW50UmVnaW9uKCkgY29uc3QKIHsKLSAgICBhdXRvIG5lZWRzVXBkYXRlID0gWyZd
IHsKLSAgICAgICAgaWYgKCFtX293bmluZ0xheWVyLnBhZ2UoKS5zY3JvbGxpbmdDb29yZGluYXRv
cigpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghbV9vd25pbmdMYXllci5w
YWdlKCkuc2Nyb2xsaW5nQ29vcmRpbmF0b3IoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0g
ICAgICAgIGlmIChwYWludHNJbnRvQ29tcG9zaXRlZEFuY2VzdG9yKCkpCi0gICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgaWYgKHBhaW50c0ludG9Db21wb3NpdGVkQW5jZXN0b3IoKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKHJlbmRlcmVyKCkudmlldygpLm5lZWRzRXZl
bnRSZWdpb25VcGRhdGVGb3JOb25Db21wb3NpdGVkRnJhbWUoKSkKKyAgICAgICAgcmV0dXJuIHRy
dWU7CiAKLSAgICAgICAgaWYgKHJlbmRlcmVyKCkudmlldygpLm5lZWRzRXZlbnRSZWdpb25VcGRh
dGVGb3JOb25Db21wb3NpdGVkRnJhbWUoKSkKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAg
ICAgICAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgICAgICBpZiAocmVuZGVyZXIoKS5k
b2N1bWVudCgpLm1heUhhdmVFbGVtZW50c1dpdGhOb25BdXRvVG91Y2hBY3Rpb24oKSkKLSAgICAg
ICAgICAgIHJldHVybiB0cnVlOworICAgIGlmIChyZW5kZXJlcigpLmRvY3VtZW50KCkubWF5SGF2
ZUVsZW1lbnRzV2l0aE5vbkF1dG9Ub3VjaEFjdGlvbigpKQorICAgICAgICByZXR1cm4gdHJ1ZTsK
ICNlbmRpZgogI2lmIEVOQUJMRShFRElUQUJMRV9SRUdJT04pCi0gICAgICAgIGlmIChyZW5kZXJl
cigpLmRvY3VtZW50KCkubWF5SGF2ZUVkaXRhYmxlRWxlbWVudHMoKSkKLSAgICAgICAgICAgIHJl
dHVybiB0cnVlOworICAgIGlmIChyZW5kZXJlcigpLmRvY3VtZW50KCkubWF5SGF2ZUVkaXRhYmxl
RWxlbWVudHMoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CiAjZW5kaWYKICNpZiAhUExBVEZPUk0o
SU9TX0ZBTUlMWSkKLSAgICAgICAgaWYgKHJlbmRlcmVyKCkuZG9jdW1lbnQoKS53aGVlbEV2ZW50
VGFyZ2V0cygpKQotICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgaWYgKHJlbmRlcmVyKCku
ZG9jdW1lbnQoKS53aGVlbEV2ZW50VGFyZ2V0cygpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKICNl
bmRpZgotICAgICAgICBpZiAobV9vd25pbmdMYXllci5pc1JlbmRlclZpZXdMYXllcigpKQotICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChtX293bmluZ0xheWVyLmlzUmVuZGVyVmll
d0xheWVyKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgICAgICBhdXRvJiBzZXR0aW5n
cyA9IHJlbmRlcmVyKCkuc2V0dGluZ3MoKTsKLSAgICAgICAgaWYgKCFzZXR0aW5ncy5hc3luY0Zy
YW1lU2Nyb2xsaW5nRW5hYmxlZCgpICYmICFzZXR0aW5ncy5hc3luY092ZXJmbG93U2Nyb2xsaW5n
RW5hYmxlZCgpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGF1dG8mIHNldHRpbmdz
ID0gcmVuZGVyZXIoKS5zZXR0aW5ncygpOworICAgIGlmICghc2V0dGluZ3MuYXN5bmNGcmFtZVNj
cm9sbGluZ0VuYWJsZWQoKSAmJiAhc2V0dGluZ3MuYXN5bmNPdmVyZmxvd1Njcm9sbGluZ0VuYWJs
ZWQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgICAgIHJldHVybiB0cnVlOwotICAg
IH07CisgICAgcmV0dXJuIHRydWU7Cit9CiAKLSAgICBpZiAoIW5lZWRzVXBkYXRlKCkpCit2b2lk
IFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlRXZlbnRSZWdpb24oKQoreworICAgIGlmICghbWFp
bnRhaW5zRXZlbnRSZWdpb24oKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgYXV0byB1cGRhdGVF
dmVudFJlZ2lvbkZvckxheWVyID0gWyZdKEdyYXBoaWNzTGF5ZXImIGdyYXBoaWNzTGF5ZXIpIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaAppbmRleCBm
NTRhODhiMzhhZi4uZDA2NTFjYmQ3NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllckJhY2tpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJCYWNraW5nLmgKQEAgLTIwMiw2ICsyMDIsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCB1cGRhdGVBbGxvd3NCYWNraW5nU3RvcmVEZXRhY2hpbmcoY29uc3QgTGF5b3V0UmVjdCYgYWJz
b2x1dGVCb3VuZHMpOwogCiAjaWYgRU5BQkxFKEFTWU5DX1NDUk9MTElORykKKyAgICBib29sIG1h
aW50YWluc0V2ZW50UmVnaW9uKCkgY29uc3Q7CiAgICAgdm9pZCB1cGRhdGVFdmVudFJlZ2lvbigp
OwogI2VuZGlmCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>