<?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>212029</bug_id>
          
          <creation_ts>2020-05-18 09:39:15 -0700</creation_ts>
          <short_desc>[Wheel event region] Invalidation for root style</short_desc>
          <delta_ts>2020-05-18 10:51:15 -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>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kangil.han</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1653638</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-05-18 09:39:15 -0700</bug_when>
    <thetext>We should invalidate when event listeners change on Document or Window.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653640</commentid>
    <comment_count>1</comment_count>
      <attachid>399651</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-05-18 09:48:26 -0700</bug_when>
    <thetext>Created attachment 399651
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653643</commentid>
    <comment_count>2</comment_count>
      <attachid>399652</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-05-18 09:57:56 -0700</bug_when>
    <thetext>Created attachment 399652
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653651</commentid>
    <comment_count>3</comment_count>
      <attachid>399652</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-18 10:20:48 -0700</bug_when>
    <thetext>Comment on attachment 399652
patch

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

&gt; LayoutTests/fast/scrolling/mac/wheel-event-listener-region-root-invalidation.html:27
&gt; +    document.body.offsetLeft;

internals.layerTreeAsText triggers layout so I don&apos;t think this should be needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653667</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-18 10:50:16 -0700</bug_when>
    <thetext>Committed r261820: &lt;https://trac.webkit.org/changeset/261820&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 399652.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653668</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-05-18 10:51:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/63349119&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399651</attachid>
            <date>2020-05-18 09:48:26 -0700</date>
            <delta_ts>2020-05-18 09:57:56 -0700</delta_ts>
            <desc>patch</desc>
            <filename>wheel-region-root-invalidation.patch</filename>
            <type>text/plain</type>
            <size>14797</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyNmI5MTQzYzE5MC4uNGZjYjU1ZDQzYjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAor
MjAyMC0wNS0xOCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CisKKyAgICAgICAg
W1doZWVsIGV2ZW50IHJlZ2lvbl0gSW52YWxpZGF0aW9uIGZvciByb290IHN0eWxlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIwMjkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5n
L21hYy93aGVlbC1ldmVudC1saXN0ZW5lci1yZWdpb24tcm9vdC1pbnZhbGlkYXRpb24tZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9tYWMvd2hlZWwtZXZlbnQt
bGlzdGVuZXItcmVnaW9uLXJvb3QtaW52YWxpZGF0aW9uLmh0bWw6IEFkZGVkLgorCiAyMDIwLTA1
LTE4ICBBbGljaWEgQm95YSBHYXJjw61hICA8YWJveWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBb
R1N0cmVhbWVyXSBSZW1vdmUgb3JwaGFuZWQgdHJhY2tzIGluIHVwZGF0ZVRyYWNrcygpCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvd2hlZWwtZXZlbnQtbGlzdGVu
ZXItcmVnaW9uLXJvb3QtaW52YWxpZGF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL21hYy93aGVlbC1ldmVudC1saXN0ZW5lci1yZWdpb24tcm9vdC1pbnZhbGlk
YXRpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
Li4yYTRlM2EwMGE5ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL21hYy93aGVlbC1ldmVudC1saXN0ZW5lci1yZWdpb24tcm9vdC1pbnZhbGlkYXRpb24tZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDAgQEAKKyhHcmFwaGljc0xheWVyCisgIChhbmNob3IgMC4w
MCAwLjAwKQorICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgIChjaGlsZHJlbiAxCisgICAgKEdy
YXBoaWNzTGF5ZXIKKyAgICAgIChib3VuZHMgODAwLjAwIDYwMC4wMCkKKyAgICAgIChjb250ZW50
c09wYXF1ZSAxKQorICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgKGJhY2tncm91bmRDb2xv
ciAjRkZGRkZGKQorICAgICAgKGV2ZW50IHJlZ2lvbgorICAgICAgICAocmVjdCAoMCwwKSB3aWR0
aD04MDAgaGVpZ2h0PTYwMCkKKyAgICAgICh3aGVlbCBldmVudCBsaXN0ZW5lciByZWdpb24KKyAg
ICAgICAgKHJlY3QgKDAsMCkgd2lkdGg9ODAwIGhlaWdodD02MDApCisgICAgICAgIChub24tcGFz
c2l2ZQorICAgICAgICAgIChyZWN0ICgwLDApIHdpZHRoPTgwMCBoZWlnaHQ9NjAwKQorICAgICAg
ICApCisgICAgICApCisgICAgICApCisgICAgKQorICApCispCisoR3JhcGhpY3NMYXllcgorICAo
YW5jaG9yIDAuMDAgMC4wMCkKKyAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAoY2hpbGRyZW4g
MQorICAgIChHcmFwaGljc0xheWVyCisgICAgICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgICAg
ICAoY29udGVudHNPcGFxdWUgMSkKKyAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgIChiYWNr
Z3JvdW5kQ29sb3IgI0ZGRkZGRikKKyAgICAgIChldmVudCByZWdpb24KKyAgICAgICAgKHJlY3Qg
KDAsMCkgd2lkdGg9ODAwIGhlaWdodD02MDApCisgICAgICAod2hlZWwgZXZlbnQgbGlzdGVuZXIg
cmVnaW9uCisgICAgICAgIChyZWN0ICgwLDApIHdpZHRoPTgwMCBoZWlnaHQ9NjAwKQorICAgICAg
KQorICAgICAgKQorICAgICkKKyAgKQorKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9tYWMvd2hlZWwtZXZlbnQtbGlzdGVuZXItcmVnaW9uLXJvb3QtaW52YWxpZGF0
aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvd2hlZWwtZXZlbnQtbGlz
dGVuZXItcmVnaW9uLXJvb3QtaW52YWxpZGF0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAuLmEyYzUyNWEyNzQxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL3doZWVsLWV2ZW50LWxpc3RlbmVyLXJlZ2lvbi1yb290
LWludmFsaWRhdGlvbi5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIGludGVybmFsOkFzeW5jT3ZlcmZsb3dTY3JvbGxpbmdFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorPHN0eWxlPgorLmV2ZW50IHsKKyAgICBwb3NpdGlvbjpy
ZWxhdGl2ZTsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOmJsdWU7CisgICAgd2lkdGg6MjAwcHg7Cisg
ICAgaGVpZ2h0OjIwMHB4OworfQorLmNoaWxkIHsKKyAgICBwb3NpdGlvbjpyZWxhdGl2ZTsKKyAg
ICBiYWNrZ3JvdW5kLWNvbG9yOmJsdWU7CisgICAgbGVmdDoyMDBweDsKKyAgICB3aWR0aDo1MHB4
OworICAgIGhlaWdodDo1MHB4OworfQorLm9mZnNldCB7CisgICAgbGVmdDogMjAwcHg7Cit9CisK
Kzwvc3R5bGU+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOworCit3aW5kb3cub25sb2FkID0gKCkgPT4geworICAgIGRvY3VtZW50
LmJvZHkub2Zmc2V0TGVmdDsKKworICAgIGZ1bmN0aW9uIGxpc3RlbmVyKCkgeworICAgICAgICBy
ZXN1bHRzLnRleHRDb250ZW50ICs9ICd3aGVlbFxuJzsKKyAgICB9CisgICAgd2luZG93LmFkZEV2
ZW50TGlzdGVuZXIoIndoZWVsIiwgbGlzdGVuZXIpOworCisgICAgbGV0IGxvZyA9ICIiOworICAg
IGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICBsb2cgKz0gaW50ZXJuYWxzLmxheWVyVHJl
ZUFzVGV4dChkb2N1bWVudCwgaW50ZXJuYWxzLkxBWUVSX1RSRUVfSU5DTFVERVNfRVZFTlRfUkVH
SU9OIHwgaW50ZXJuYWxzLkxBWUVSX1RSRUVfSU5DTFVERVNfUk9PVF9MQVlFUl9QUk9QRVJUSUVT
KTsKKworICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCd3aGVlbCcsIGxpc3RlbmVyKTsK
KyAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd3aGVlbCcsICgpID0+IHsgcmVzdWx0cy50
ZXh0Q29udGVudCArPSAncGFzc2l2ZSB3aGVlbFxuJyB9LCB7IHBhc3NpdmU6IHRydWUgfSk7CisK
KyAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgbG9nICs9IGludGVybmFscy5sYXll
clRyZWVBc1RleHQoZG9jdW1lbnQsIGludGVybmFscy5MQVlFUl9UUkVFX0lOQ0xVREVTX0VWRU5U
X1JFR0lPTiB8IGludGVybmFscy5MQVlFUl9UUkVFX0lOQ0xVREVTX1JPT1RfTEFZRVJfUFJPUEVS
VElFUyk7CisKKyAgICByZXN1bHRzLnRleHRDb250ZW50ID0gbG9nOworfQorPC9zY3JpcHQ+Cis8
Ym9keT4KKzxkaXYgY2xhc3M9ImV2ZW50IiBpZD0iYWN0aXZlIj4KKyAgICA8ZGl2IGNsYXNzPSJj
aGlsZCI+PC9kaXY+Cis8L2Rpdj4KKzxkaXYgY2xhc3M9ImV2ZW50IG9mZnNldCIgaWQ9InBhc3Np
dmUiPgorICAgIDxkaXYgY2xhc3M9ImNoaWxkIj48L2Rpdj4KKzwvZGl2PgorPHByZSBpZD0icmVz
dWx0cyI+PC9wcmU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTU3ZjRhM2Y2Nzgu
LjQ3ZGM0ZmNlNzIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMjAtMDUtMTggIEFu
dHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgorCisgICAgICAgIFtXaGVlbCBldmVudCBy
ZWdpb25dIEludmFsaWRhdGlvbiBmb3Igcm9vdCBzdHlsZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEyMDI5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9zY3JvbGxpbmcvbWFjL3doZWVs
LWV2ZW50LWxpc3RlbmVyLXJlZ2lvbi1yb290LWludmFsaWRhdGlvbi5odG1sCisKKyAgICAgICAg
SW52YWxpZGF0ZSB0aGUgcmVnaW9uIHdoZW4gZXZlbnQgbGlzdGVuZXJzIGNoYW5nZSBvbiBEb2N1
bWVudCBvciBXaW5kb3cuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnQ6OmludmFsaWRhdGVFdmVudExpc3RlbmVyUmVnaW9ucyk6CisgICAg
ICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgIChpc1R5cGUpOgorICAgICAgICAqIGRvbS9F
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmludmFsaWRhdGVFdmVudExp
c3RlbmVyUmVnaW9ucyk6CisgICAgICAgICogZG9tL0VsZW1lbnQuaDoKKyAgICAgICAgKiBkb20v
RXZlbnRUYXJnZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRUYXJnZXQ6OmFkZEV2ZW50
TGlzdGVuZXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRUYXJnZXQ6OnJlbW92ZUV2ZW50TGlz
dGVuZXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRUYXJnZXQ6OnJlbW92ZUFsbEV2ZW50TGlz
dGVuZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50VGFyZ2V0OjppbnZhbGlkYXRlRXZlbnRM
aXN0ZW5lclJlZ2lvbnMpOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldC5oOgorICAgICAgICAq
IHN0eWxlL1N0eWxlQWRqdXN0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkFkanVz
dGVyOjphZGp1c3RFdmVudExpc3RlbmVyUmVnaW9uVHlwZXNGb3JSb290U3R5bGUpOgorICAgICAg
ICAqIHN0eWxlL1N0eWxlQWRqdXN0ZXIuaDoKKyAgICAgICAgKiBzdHlsZS9TdHlsZVJlc29sdmVG
b3JEb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6cmVzb2x2ZUZvckRvY3Vt
ZW50KToKKwogMjAyMC0wNS0xOCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgog
CiAgICAgICAgIENsZWFuIHVwIG1lZGlhIGNvbnRyb2xzIGNvbnRlbnQgZm9yIEFwcGxlIHBsYXRm
b3JtcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggYmVmNDg2OTQwMzkuLjhiNDljNzM2YjFh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTIxMCw2ICsyMTAsNyBAQAogI2luY2x1ZGUg
IlNvY2tldFByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiU3RvcmFnZUV2ZW50LmgiCiAjaW5jbHVkZSAi
U3RyaW5nQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJTdHlsZUFkanVzdGVyLmgiCiAjaW5jbHVkZSAi
U3R5bGVDb2xvci5oIgogI2luY2x1ZGUgIlN0eWxlUHJvcGVydGllcy5oIgogI2luY2x1ZGUgIlN0
eWxlUmVzb2x2ZUZvckRvY3VtZW50LmgiCkBAIC00MjcyLDYgKzQyNzMsMTkgQEAgdm9pZCBEb2N1
bWVudDo6aW52YWxpZGF0ZUV2ZW50UmVnaW9uc0ZvckZyYW1lKEhUTUxGcmFtZU93bmVyRWxlbWVu
dCYgZWxlbWVudCkKICAgICAgICAgb3duZXJFbGVtZW50LT5kb2N1bWVudCgpLmludmFsaWRhdGVF
dmVudFJlZ2lvbnNGb3JGcmFtZSgqb3duZXJFbGVtZW50KTsKIH0KIAordm9pZCBEb2N1bWVudDo6
aW52YWxpZGF0ZUV2ZW50TGlzdGVuZXJSZWdpb25zKCkKK3sKKyAgICBpZiAoIXJlbmRlclZpZXco
KSB8fCAhZG9jdW1lbnRFbGVtZW50KCkpCisgICAgICAgIHJldHVybjsKKworICAgIC8vIFdlIGRv
bid0IHRyYWNrIHN0eWxlIHZhbGlkaXR5IGZvciBEb2N1bWVudCBhbmQgZnVsbCByZWJ1aWxkIGlz
IHRvbyBiaWcgb2YgYSBoYW1tZXIuCisgICAgLy8gSW5zdGVhZCBqdXN0IG11dGF0ZSB0aGUgc3R5
bGUgZGlyZWN0bHkgYW5kIHRyaWdnZXIgYSBtaW5pbWFsIHN0eWxlIHVwZGF0ZS4KKyAgICBhdXRv
JiByb290U3R5bGUgPSByZW5kZXJWaWV3KCktPm11dGFibGVTdHlsZSgpOworICAgIFN0eWxlOjpB
ZGp1c3Rlcjo6YWRqdXN0RXZlbnRMaXN0ZW5lclJlZ2lvblR5cGVzRm9yUm9vdFN0eWxlKGRvY3Vt
ZW50U3R5bGUsICp0aGlzKTsKKworICAgIGRvY3VtZW50RWxlbWVudCgpLT5pbnZhbGlkYXRlU3R5
bGVJbnRlcm5hbCgpOworfQorCiB2b2lkIERvY3VtZW50OjppbnZhbGlkYXRlUmVuZGVyaW5nRGVw
ZW5kZW50UmVnaW9ucygpCiB7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgRU5BQkxFKFRP
VUNIX0VWRU5UUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggNzdlY2I3YTAzMTMuLjlmYzM3ZDFh
YTZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMTE0OCw2ICsxMTQ4LDggQEAgcHVibGljOgog
ICAgIHZvaWQgaW52YWxpZGF0ZVJlbmRlcmluZ0RlcGVuZGVudFJlZ2lvbnMoKTsKICAgICB2b2lk
IGludmFsaWRhdGVFdmVudFJlZ2lvbnNGb3JGcmFtZShIVE1MRnJhbWVPd25lckVsZW1lbnQmKTsK
IAorICAgIHZvaWQgaW52YWxpZGF0ZUV2ZW50TGlzdGVuZXJSZWdpb25zKCk7CisKICAgICB2b2lk
IHJlbW92ZUFsbEV2ZW50TGlzdGVuZXJzKCkgZmluYWw7CiAKICAgICBXRUJDT1JFX0VYUE9SVCBj
b25zdCBTVkdEb2N1bWVudEV4dGVuc2lvbnMqIHN2Z0V4dGVuc2lvbnMoKTsKQEAgLTIxNzUsNCAr
MjE3Nyw1IEBAIGlubGluZSBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBOb2RlOjpzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCkgY29uc3QKIFNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2ViQ29y
ZTo6RG9jdW1lbnQpCiAgICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OlNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpIHsgcmV0dXJuIGNvbnRleHQuaXNEb2N1bWVudCgp
OyB9CiAgICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6Ok5vZGUmIG5vZGUpIHsg
cmV0dXJuIG5vZGUuaXNEb2N1bWVudE5vZGUoKTsgfQorICAgIHN0YXRpYyBib29sIGlzVHlwZShj
b25zdCBXZWJDb3JlOjpFdmVudFRhcmdldCYgdGFyZ2V0KSB7IHJldHVybiBpczxXZWJDb3JlOjpO
b2RlPih0YXJnZXQpICYmIGlzVHlwZShkb3duY2FzdDxXZWJDb3JlOjpOb2RlPih0YXJnZXQpKTsg
fQogU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FTkQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4
IDBiNWFmMmY3NDY3Li5kOWY4Mzc4MzdmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMTk2
Niw2ICsxOTY2LDEyIEBAIHZvaWQgRWxlbWVudDo6aW52YWxpZGF0ZVN0eWxlRm9yU3VidHJlZUlu
dGVybmFsKCkKICAgICBOb2RlOjppbnZhbGlkYXRlU3R5bGUoU3R5bGU6OlZhbGlkaXR5OjpTdWJ0
cmVlSW52YWxpZCk7CiB9CiAKK3ZvaWQgRWxlbWVudDo6aW52YWxpZGF0ZUV2ZW50TGlzdGVuZXJS
ZWdpb25zKCkKK3sKKyAgICAvLyBFdmVudCBsaXN0ZW5lciByZWdpb24gaXMgdXBkYXRlZCB2aWEg
c3R5bGUgdXBkYXRlLgorICAgIGludmFsaWRhdGVTdHlsZUludGVybmFsKCk7Cit9CisKIGJvb2wg
RWxlbWVudDo6aGFzRGlzcGxheUNvbnRlbnRzKCkgY29uc3QKIHsKICAgICBpZiAoIWhhc1JhcmVE
YXRhKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCAwZGJmODk4MzUyOS4uMzFkMDIyOGVlNGUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuaApAQCAtNTkxLDYgKzU5MSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGlu
dmFsaWRhdGVTdHlsZUludGVybmFsKCk7CiAgICAgdm9pZCBpbnZhbGlkYXRlU3R5bGVGb3JTdWJ0
cmVlSW50ZXJuYWwoKTsKIAorICAgIHZvaWQgaW52YWxpZGF0ZUV2ZW50TGlzdGVuZXJSZWdpb25z
KCk7CisKICAgICBib29sIGhhc0Rpc3BsYXlDb250ZW50cygpIGNvbnN0OwogICAgIHZvaWQgc3Rv
cmVEaXNwbGF5Q29udGVudHNTdHlsZShzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+KTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudFRhcmdldC5jcHAKaW5kZXggZTU2ZWQ0ZGYwNTUuLjBjY2ZjYzFlMzYw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5jcHAKQEAgLTk1LDEwICs5NSw4IEBAIGJvb2wg
RXZlbnRUYXJnZXQ6OmFkZEV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBl
LCBSZWY8RXZlbnRMaXN0ZW5lCiAgICAgaWYgKGxpc3RlbmVyQ3JlYXRlZEZyb21TY3JpcHQpCiAg
ICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQWRkRXZlbnRMaXN0ZW5lcigqdGhp
cywgZXZlbnRUeXBlLCBsaXN0ZW5lclJlZi5nZXQoKSwgb3B0aW9ucy5jYXB0dXJlKTsKIAotICAg
IGlmIChldmVudE5hbWVzKCkuaXNXaGVlbEV2ZW50VHlwZShldmVudFR5cGUpKSB7Ci0gICAgICAg
IGlmIChpczxFbGVtZW50PigqdGhpcykpCi0gICAgICAgICAgICBkb3duY2FzdDxFbGVtZW50Pigq
dGhpcykuaW52YWxpZGF0ZVN0eWxlSW50ZXJuYWwoKTsKLSAgICB9CisgICAgaWYgKGV2ZW50TmFt
ZXMoKS5pc1doZWVsRXZlbnRUeXBlKGV2ZW50VHlwZSkpCisgICAgICAgIGludmFsaWRhdGVFdmVu
dExpc3RlbmVyUmVnaW9ucygpOwogCiAgICAgZXZlbnRMaXN0ZW5lcnNEaWRDaGFuZ2UoKTsKICAg
ICByZXR1cm4gdHJ1ZTsKQEAgLTE0MSwxMCArMTM5LDggQEAgYm9vbCBFdmVudFRhcmdldDo6cmVt
b3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50TGlzdGVu
ZXIKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxSZW1vdmVFdmVudExpc3RlbmVy
KCp0aGlzLCBldmVudFR5cGUsIGxpc3RlbmVyLCBvcHRpb25zLmNhcHR1cmUpOwogCiAgICAgaWYg
KGRhdGEtPmV2ZW50TGlzdGVuZXJNYXAucmVtb3ZlKGV2ZW50VHlwZSwgbGlzdGVuZXIsIG9wdGlv
bnMuY2FwdHVyZSkpIHsKLSAgICAgICAgaWYgKGV2ZW50TmFtZXMoKS5pc1doZWVsRXZlbnRUeXBl
KGV2ZW50VHlwZSkpIHsKLSAgICAgICAgICAgIGlmIChpczxFbGVtZW50PigqdGhpcykpCi0gICAg
ICAgICAgICAgICAgZG93bmNhc3Q8RWxlbWVudD4oKnRoaXMpLmludmFsaWRhdGVTdHlsZUludGVy
bmFsKCk7Ci0gICAgICAgIH0KKyAgICAgICAgaWYgKGV2ZW50TmFtZXMoKS5pc1doZWVsRXZlbnRU
eXBlKGV2ZW50VHlwZSkpCisgICAgICAgICAgICBpbnZhbGlkYXRlRXZlbnRMaXN0ZW5lclJlZ2lv
bnMoKTsKIAogICAgICAgICBldmVudExpc3RlbmVyc0RpZENoYW5nZSgpOwogICAgICAgICByZXR1
cm4gdHJ1ZTsKQEAgLTM3NywxMCArMzczLDggQEAgdm9pZCBFdmVudFRhcmdldDo6cmVtb3ZlQWxs
RXZlbnRMaXN0ZW5lcnMoKQogCiAgICAgYXV0byogZGF0YSA9IGV2ZW50VGFyZ2V0RGF0YSgpOwog
ICAgIGlmIChkYXRhICYmICFkYXRhLT5ldmVudExpc3RlbmVyTWFwLmlzRW1wdHkoKSkgewotICAg
ICAgICBpZiAoZGF0YS0+ZXZlbnRMaXN0ZW5lck1hcC5jb250YWlucyhldmVudE5hbWVzKCkud2hl
ZWxFdmVudCkgfHwgZGF0YS0+ZXZlbnRMaXN0ZW5lck1hcC5jb250YWlucyhldmVudE5hbWVzKCku
bW91c2V3aGVlbEV2ZW50KSkgewotICAgICAgICAgICAgaWYgKGlzPEVsZW1lbnQ+KCp0aGlzKSkK
LSAgICAgICAgICAgICAgICBkb3duY2FzdDxFbGVtZW50PigqdGhpcykuaW52YWxpZGF0ZVN0eWxl
SW50ZXJuYWwoKTsKLSAgICAgICAgfQorICAgICAgICBpZiAoZGF0YS0+ZXZlbnRMaXN0ZW5lck1h
cC5jb250YWlucyhldmVudE5hbWVzKCkud2hlZWxFdmVudCkgfHwgZGF0YS0+ZXZlbnRMaXN0ZW5l
ck1hcC5jb250YWlucyhldmVudE5hbWVzKCkubW91c2V3aGVlbEV2ZW50KSkKKyAgICAgICAgICAg
IGludmFsaWRhdGVFdmVudExpc3RlbmVyUmVnaW9ucygpOwogCiAgICAgICAgIGRhdGEtPmV2ZW50
TGlzdGVuZXJNYXAuY2xlYXIoKTsKICAgICAgICAgZXZlbnRMaXN0ZW5lcnNEaWRDaGFuZ2UoKTsK
QEAgLTQwMSw0ICszOTUsMjMgQEAgdm9pZCBFdmVudFRhcmdldDo6dmlzaXRKU0V2ZW50TGlzdGVu
ZXJzKEpTQzo6U2xvdFZpc2l0b3ImIHZpc2l0b3IpCiAgICAgICAgIGxpc3RlbmVyLT52aXNpdEpT
RnVuY3Rpb24odmlzaXRvcik7CiB9CiAKK3ZvaWQgRXZlbnRUYXJnZXQ6OmludmFsaWRhdGVFdmVu
dExpc3RlbmVyUmVnaW9ucygpCit7CisgICAgaWYgKGlzPEVsZW1lbnQ+KCp0aGlzKSkgeworICAg
ICAgICBkb3duY2FzdDxFbGVtZW50PigqdGhpcykuaW52YWxpZGF0ZUV2ZW50TGlzdGVuZXJSZWdp
b25zKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvKiBkb2N1bWVudCA9IFsm
XSgpIC0+IERvY3VtZW50KiB7CisgICAgICAgIGlmIChpczxEb2N1bWVudD4oKnRoaXMpKQorICAg
ICAgICAgICAgcmV0dXJuICZkb3duY2FzdDxEb2N1bWVudD4oKnRoaXMpOworICAgICAgICBpZiAo
aXM8RE9NV2luZG93PigqdGhpcykpCisgICAgICAgICAgICByZXR1cm4gZG93bmNhc3Q8RE9NV2lu
ZG93PigqdGhpcykuZG9jdW1lbnQoKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfSgp
OworCisgICAgaWYgKGRvY3VtZW50KQorICAgICAgICBkb2N1bWVudC0+aW52YWxpZGF0ZUV2ZW50
TGlzdGVuZXJSZWdpb25zKCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oIGIvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50VGFyZ2V0LmgKaW5kZXggNDgwMTIzNDVmOTMuLmNmY2IyY2IzNTQwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRXZlbnRUYXJnZXQuaApAQCAtMTMyLDYgKzEzMiw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVh
bCB2b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSA9IDA7CiAgICAgCiAgICAgdm9pZCBpbm5lckludm9r
ZUV2ZW50TGlzdGVuZXJzKEV2ZW50JiwgRXZlbnRMaXN0ZW5lclZlY3RvciwgRXZlbnRJbnZva2VQ
aGFzZSk7CisgICAgdm9pZCBpbnZhbGlkYXRlRXZlbnRMaXN0ZW5lclJlZ2lvbnMoKTsKIAogICAg
IGZyaWVuZCBjbGFzcyBFdmVudExpc3RlbmVySXRlcmF0b3I7CiB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVBZGp1c3Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHls
ZS9TdHlsZUFkanVzdGVyLmNwcAppbmRleCA0ZjRlODVlNTcyYy4uN2ZiNGQyYmFkY2YgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQWRqdXN0ZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N0eWxlL1N0eWxlQWRqdXN0ZXIuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAKICNp
bmNsdWRlICJBbmltYXRpb25CYXNlLmgiCiAjaW5jbHVkZSAiQ1NTRm9udFNlbGVjdG9yLmgiCisj
aW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1ZGUgIkV2
ZW50TmFtZXMuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKQEAgLTE5Myw2ICsxOTQsMTUgQEAg
c3RhdGljIE9wdGlvblNldDxUb3VjaEFjdGlvbj4gY29tcHV0ZUVmZmVjdGl2ZVRvdWNoQWN0aW9u
cyhjb25zdCBSZW5kZXJTdHlsZSYgc3QKICAgICByZXR1cm4gc2hhcmVkVG91Y2hBY3Rpb25zOwog
fQogCit2b2lkIEFkanVzdGVyOjphZGp1c3RFdmVudExpc3RlbmVyUmVnaW9uVHlwZXNGb3JSb290
U3R5bGUoUmVuZGVyU3R5bGUmIHJvb3RTdHlsZSwgY29uc3QgRG9jdW1lbnQmIGRvY3VtZW50KQor
eworICAgIGF1dG8gcmVnaW9uVHlwZXMgPSBjb21wdXRlRXZlbnRMaXN0ZW5lclJlZ2lvblR5cGVz
KGRvY3VtZW50LCB7IH0pOworICAgIGlmIChhdXRvKiB3aW5kb3cgPSBkb2N1bWVudC5kb21XaW5k
b3coKSkKKyAgICAgICAgcmVnaW9uVHlwZXMuYWRkKGNvbXB1dGVFdmVudExpc3RlbmVyUmVnaW9u
VHlwZXMoKndpbmRvdywgeyB9KSk7CisKKyAgICByb290U3R5bGUuc2V0RXZlbnRMaXN0ZW5lclJl
Z2lvblR5cGVzKHJlZ2lvblR5cGVzKTsKK30KKwogT3B0aW9uU2V0PEV2ZW50TGlzdGVuZXJSZWdp
b25UeXBlPiBBZGp1c3Rlcjo6Y29tcHV0ZUV2ZW50TGlzdGVuZXJSZWdpb25UeXBlcyhjb25zdCBF
dmVudFRhcmdldCYgZXZlbnRUYXJnZXQsIE9wdGlvblNldDxFdmVudExpc3RlbmVyUmVnaW9uVHlw
ZT4gcGFyZW50VHlwZXMpCiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUFkanVzdGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9TdHlsZUFkanVzdGVyLmgKaW5kZXggNTk5MGM3ZDA5MDIuLjlkZGI4YzY1ZjBiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUFkanVzdGVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvc3R5bGUvU3R5bGVBZGp1c3Rlci5oCkBAIC01MCw3ICs1MCw3IEBAIHB1YmxpYzoK
ICAgICBzdGF0aWMgdm9pZCBhZGp1c3RTVkdFbGVtZW50U3R5bGUoUmVuZGVyU3R5bGUmLCBjb25z
dCBTVkdFbGVtZW50Jik7CiAgICAgc3RhdGljIHZvaWQgYWRqdXN0QW5pbWF0ZWRTdHlsZShSZW5k
ZXJTdHlsZSYsIGNvbnN0IFJlbmRlclN0eWxlKiBwYXJlbnRCb3hTdHlsZSwgT3B0aW9uU2V0PEFu
aW1hdGlvbkltcGFjdD4pOwogICAgIAotICAgIHN0YXRpYyBPcHRpb25TZXQ8RXZlbnRMaXN0ZW5l
clJlZ2lvblR5cGU+IGNvbXB1dGVFdmVudExpc3RlbmVyUmVnaW9uVHlwZXMoY29uc3QgRXZlbnRU
YXJnZXQmLCBPcHRpb25TZXQ8RXZlbnRMaXN0ZW5lclJlZ2lvblR5cGU+KTsKKyAgICBzdGF0aWMg
dm9pZCBhZGp1c3RFdmVudExpc3RlbmVyUmVnaW9uVHlwZXNGb3JSb290U3R5bGUoUmVuZGVyU3R5
bGUmLCBjb25zdCBEb2N1bWVudCYpOwogCiAjaWYgRU5BQkxFKFRFWFRfQVVUT1NJWklORykKICAg
ICBzdHJ1Y3QgQWRqdXN0bWVudEZvclRleHRBdXRvc2l6aW5nIHsKQEAgLTY3LDYgKzY3LDcgQEAg
cHVibGljOgogcHJpdmF0ZToKICAgICB2b2lkIGFkanVzdERpc3BsYXlDb250ZW50c1N0eWxlKFJl
bmRlclN0eWxlJikgY29uc3Q7CiAgICAgdm9pZCBhZGp1c3RGb3JTaXRlU3BlY2lmaWNRdWlya3Mo
UmVuZGVyU3R5bGUmKSBjb25zdDsKKyAgICBzdGF0aWMgT3B0aW9uU2V0PEV2ZW50TGlzdGVuZXJS
ZWdpb25UeXBlPiBjb21wdXRlRXZlbnRMaXN0ZW5lclJlZ2lvblR5cGVzKGNvbnN0IEV2ZW50VGFy
Z2V0JiwgT3B0aW9uU2V0PEV2ZW50TGlzdGVuZXJSZWdpb25UeXBlPik7CiAKICAgICBjb25zdCBE
b2N1bWVudCYgbV9kb2N1bWVudDsKICAgICBjb25zdCBSZW5kZXJTdHlsZSYgbV9wYXJlbnRTdHls
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlUmVzb2x2ZUZvckRvY3Vt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlUmVzb2x2ZUZvckRvY3VtZW50LmNw
cAppbmRleCBhZGYzYzcyNDJhYi4uY2VlZWZkZjYyZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL1N0eWxlUmVzb2x2ZUZvckRvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdHlsZS9TdHlsZVJlc29sdmVGb3JEb2N1bWVudC5jcHAKQEAgLTMwLDcgKzMwLDYgQEAKICNp
bmNsdWRlICJTdHlsZVJlc29sdmVGb3JEb2N1bWVudC5oIgogCiAjaW5jbHVkZSAiQ1NTRm9udFNl
bGVjdG9yLmgiCi0jaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIK
ICNpbmNsdWRlICJGb250Q2FzY2FkZS5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCkBAIC03NCwxMSAr
NzMsNyBAQCBSZW5kZXJTdHlsZSByZXNvbHZlRm9yRG9jdW1lbnQoY29uc3QgRG9jdW1lbnQmIGRv
Y3VtZW50KQogICAgICAgICBkb2N1bWVudFN0eWxlLnNldFRleHRTaXplQWRqdXN0KFRleHRTaXpl
QWRqdXN0bWVudChOb1RleHRTaXplQWRqdXN0bWVudCkpOwogI2VuZGlmCiAKLSAgICBhdXRvIHJl
Z2lvblR5cGVzID0gQWRqdXN0ZXI6OmNvbXB1dGVFdmVudExpc3RlbmVyUmVnaW9uVHlwZXMoZG9j
dW1lbnQsIHsgfSk7Ci0gICAgaWYgKGF1dG8qIHdpbmRvdyA9IGRvY3VtZW50LmRvbVdpbmRvdygp
KQotICAgICAgICByZWdpb25UeXBlcy5hZGQoQWRqdXN0ZXI6OmNvbXB1dGVFdmVudExpc3RlbmVy
UmVnaW9uVHlwZXMoKndpbmRvdywgeyB9KSk7Ci0KLSAgICBkb2N1bWVudFN0eWxlLnNldEV2ZW50
TGlzdGVuZXJSZWdpb25UeXBlcyhyZWdpb25UeXBlcyk7CisgICAgQWRqdXN0ZXI6OmFkanVzdEV2
ZW50TGlzdGVuZXJSZWdpb25UeXBlc0ZvclJvb3RTdHlsZShkb2N1bWVudFN0eWxlLCBkb2N1bWVu
dCk7CiAKICAgICBFbGVtZW50KiBkb2NFbGVtZW50ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50
KCk7CiAgICAgUmVuZGVyT2JqZWN0KiBkb2NFbGVtZW50UmVuZGVyZXIgPSBkb2NFbGVtZW50ID8g
ZG9jRWxlbWVudC0+cmVuZGVyZXIoKSA6IG51bGxwdHI7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399652</attachid>
            <date>2020-05-18 09:57:56 -0700</date>
            <delta_ts>2020-05-18 10:50:16 -0700</delta_ts>
            <desc>patch</desc>
            <filename>wheel-region-root-invalidation-2.patch</filename>
            <type>text/plain</type>
            <size>14793</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyNmI5MTQzYzE5MC4uNGZjYjU1ZDQzYjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAor
MjAyMC0wNS0xOCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CisKKyAgICAgICAg
W1doZWVsIGV2ZW50IHJlZ2lvbl0gSW52YWxpZGF0aW9uIGZvciByb290IHN0eWxlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIwMjkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5n
L21hYy93aGVlbC1ldmVudC1saXN0ZW5lci1yZWdpb24tcm9vdC1pbnZhbGlkYXRpb24tZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9tYWMvd2hlZWwtZXZlbnQt
bGlzdGVuZXItcmVnaW9uLXJvb3QtaW52YWxpZGF0aW9uLmh0bWw6IEFkZGVkLgorCiAyMDIwLTA1
LTE4ICBBbGljaWEgQm95YSBHYXJjw61hICA8YWJveWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBb
R1N0cmVhbWVyXSBSZW1vdmUgb3JwaGFuZWQgdHJhY2tzIGluIHVwZGF0ZVRyYWNrcygpCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvd2hlZWwtZXZlbnQtbGlzdGVu
ZXItcmVnaW9uLXJvb3QtaW52YWxpZGF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL21hYy93aGVlbC1ldmVudC1saXN0ZW5lci1yZWdpb24tcm9vdC1pbnZhbGlk
YXRpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
Li4yYTRlM2EwMGE5ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL21hYy93aGVlbC1ldmVudC1saXN0ZW5lci1yZWdpb24tcm9vdC1pbnZhbGlkYXRpb24tZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDAgQEAKKyhHcmFwaGljc0xheWVyCisgIChhbmNob3IgMC4w
MCAwLjAwKQorICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgIChjaGlsZHJlbiAxCisgICAgKEdy
YXBoaWNzTGF5ZXIKKyAgICAgIChib3VuZHMgODAwLjAwIDYwMC4wMCkKKyAgICAgIChjb250ZW50
c09wYXF1ZSAxKQorICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgKGJhY2tncm91bmRDb2xv
ciAjRkZGRkZGKQorICAgICAgKGV2ZW50IHJlZ2lvbgorICAgICAgICAocmVjdCAoMCwwKSB3aWR0
aD04MDAgaGVpZ2h0PTYwMCkKKyAgICAgICh3aGVlbCBldmVudCBsaXN0ZW5lciByZWdpb24KKyAg
ICAgICAgKHJlY3QgKDAsMCkgd2lkdGg9ODAwIGhlaWdodD02MDApCisgICAgICAgIChub24tcGFz
c2l2ZQorICAgICAgICAgIChyZWN0ICgwLDApIHdpZHRoPTgwMCBoZWlnaHQ9NjAwKQorICAgICAg
ICApCisgICAgICApCisgICAgICApCisgICAgKQorICApCispCisoR3JhcGhpY3NMYXllcgorICAo
YW5jaG9yIDAuMDAgMC4wMCkKKyAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAoY2hpbGRyZW4g
MQorICAgIChHcmFwaGljc0xheWVyCisgICAgICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgICAg
ICAoY29udGVudHNPcGFxdWUgMSkKKyAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgIChiYWNr
Z3JvdW5kQ29sb3IgI0ZGRkZGRikKKyAgICAgIChldmVudCByZWdpb24KKyAgICAgICAgKHJlY3Qg
KDAsMCkgd2lkdGg9ODAwIGhlaWdodD02MDApCisgICAgICAod2hlZWwgZXZlbnQgbGlzdGVuZXIg
cmVnaW9uCisgICAgICAgIChyZWN0ICgwLDApIHdpZHRoPTgwMCBoZWlnaHQ9NjAwKQorICAgICAg
KQorICAgICAgKQorICAgICkKKyAgKQorKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9tYWMvd2hlZWwtZXZlbnQtbGlzdGVuZXItcmVnaW9uLXJvb3QtaW52YWxpZGF0
aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvd2hlZWwtZXZlbnQtbGlz
dGVuZXItcmVnaW9uLXJvb3QtaW52YWxpZGF0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAuLmEyYzUyNWEyNzQxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL3doZWVsLWV2ZW50LWxpc3RlbmVyLXJlZ2lvbi1yb290
LWludmFsaWRhdGlvbi5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIGludGVybmFsOkFzeW5jT3ZlcmZsb3dTY3JvbGxpbmdFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorPHN0eWxlPgorLmV2ZW50IHsKKyAgICBwb3NpdGlvbjpy
ZWxhdGl2ZTsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOmJsdWU7CisgICAgd2lkdGg6MjAwcHg7Cisg
ICAgaGVpZ2h0OjIwMHB4OworfQorLmNoaWxkIHsKKyAgICBwb3NpdGlvbjpyZWxhdGl2ZTsKKyAg
ICBiYWNrZ3JvdW5kLWNvbG9yOmJsdWU7CisgICAgbGVmdDoyMDBweDsKKyAgICB3aWR0aDo1MHB4
OworICAgIGhlaWdodDo1MHB4OworfQorLm9mZnNldCB7CisgICAgbGVmdDogMjAwcHg7Cit9CisK
Kzwvc3R5bGU+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOworCit3aW5kb3cub25sb2FkID0gKCkgPT4geworICAgIGRvY3VtZW50
LmJvZHkub2Zmc2V0TGVmdDsKKworICAgIGZ1bmN0aW9uIGxpc3RlbmVyKCkgeworICAgICAgICBy
ZXN1bHRzLnRleHRDb250ZW50ICs9ICd3aGVlbFxuJzsKKyAgICB9CisgICAgd2luZG93LmFkZEV2
ZW50TGlzdGVuZXIoIndoZWVsIiwgbGlzdGVuZXIpOworCisgICAgbGV0IGxvZyA9ICIiOworICAg
IGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICBsb2cgKz0gaW50ZXJuYWxzLmxheWVyVHJl
ZUFzVGV4dChkb2N1bWVudCwgaW50ZXJuYWxzLkxBWUVSX1RSRUVfSU5DTFVERVNfRVZFTlRfUkVH
SU9OIHwgaW50ZXJuYWxzLkxBWUVSX1RSRUVfSU5DTFVERVNfUk9PVF9MQVlFUl9QUk9QRVJUSUVT
KTsKKworICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCd3aGVlbCcsIGxpc3RlbmVyKTsK
KyAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd3aGVlbCcsICgpID0+IHsgcmVzdWx0cy50
ZXh0Q29udGVudCArPSAncGFzc2l2ZSB3aGVlbFxuJyB9LCB7IHBhc3NpdmU6IHRydWUgfSk7CisK
KyAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgbG9nICs9IGludGVybmFscy5sYXll
clRyZWVBc1RleHQoZG9jdW1lbnQsIGludGVybmFscy5MQVlFUl9UUkVFX0lOQ0xVREVTX0VWRU5U
X1JFR0lPTiB8IGludGVybmFscy5MQVlFUl9UUkVFX0lOQ0xVREVTX1JPT1RfTEFZRVJfUFJPUEVS
VElFUyk7CisKKyAgICByZXN1bHRzLnRleHRDb250ZW50ID0gbG9nOworfQorPC9zY3JpcHQ+Cis8
Ym9keT4KKzxkaXYgY2xhc3M9ImV2ZW50IiBpZD0iYWN0aXZlIj4KKyAgICA8ZGl2IGNsYXNzPSJj
aGlsZCI+PC9kaXY+Cis8L2Rpdj4KKzxkaXYgY2xhc3M9ImV2ZW50IG9mZnNldCIgaWQ9InBhc3Np
dmUiPgorICAgIDxkaXYgY2xhc3M9ImNoaWxkIj48L2Rpdj4KKzwvZGl2PgorPHByZSBpZD0icmVz
dWx0cyI+PC9wcmU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTU3ZjRhM2Y2Nzgu
LjQ3ZGM0ZmNlNzIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMjAtMDUtMTggIEFu
dHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgorCisgICAgICAgIFtXaGVlbCBldmVudCBy
ZWdpb25dIEludmFsaWRhdGlvbiBmb3Igcm9vdCBzdHlsZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEyMDI5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9zY3JvbGxpbmcvbWFjL3doZWVs
LWV2ZW50LWxpc3RlbmVyLXJlZ2lvbi1yb290LWludmFsaWRhdGlvbi5odG1sCisKKyAgICAgICAg
SW52YWxpZGF0ZSB0aGUgcmVnaW9uIHdoZW4gZXZlbnQgbGlzdGVuZXJzIGNoYW5nZSBvbiBEb2N1
bWVudCBvciBXaW5kb3cuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnQ6OmludmFsaWRhdGVFdmVudExpc3RlbmVyUmVnaW9ucyk6CisgICAg
ICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgIChpc1R5cGUpOgorICAgICAgICAqIGRvbS9F
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmludmFsaWRhdGVFdmVudExp
c3RlbmVyUmVnaW9ucyk6CisgICAgICAgICogZG9tL0VsZW1lbnQuaDoKKyAgICAgICAgKiBkb20v
RXZlbnRUYXJnZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRUYXJnZXQ6OmFkZEV2ZW50
TGlzdGVuZXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRUYXJnZXQ6OnJlbW92ZUV2ZW50TGlz
dGVuZXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRUYXJnZXQ6OnJlbW92ZUFsbEV2ZW50TGlz
dGVuZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50VGFyZ2V0OjppbnZhbGlkYXRlRXZlbnRM
aXN0ZW5lclJlZ2lvbnMpOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldC5oOgorICAgICAgICAq
IHN0eWxlL1N0eWxlQWRqdXN0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkFkanVz
dGVyOjphZGp1c3RFdmVudExpc3RlbmVyUmVnaW9uVHlwZXNGb3JSb290U3R5bGUpOgorICAgICAg
ICAqIHN0eWxlL1N0eWxlQWRqdXN0ZXIuaDoKKyAgICAgICAgKiBzdHlsZS9TdHlsZVJlc29sdmVG
b3JEb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6cmVzb2x2ZUZvckRvY3Vt
ZW50KToKKwogMjAyMC0wNS0xOCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgog
CiAgICAgICAgIENsZWFuIHVwIG1lZGlhIGNvbnRyb2xzIGNvbnRlbnQgZm9yIEFwcGxlIHBsYXRm
b3JtcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggYmVmNDg2OTQwMzkuLmNiMzhkYjIxNzlm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTIxMCw2ICsyMTAsNyBAQAogI2luY2x1ZGUg
IlNvY2tldFByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiU3RvcmFnZUV2ZW50LmgiCiAjaW5jbHVkZSAi
U3RyaW5nQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJTdHlsZUFkanVzdGVyLmgiCiAjaW5jbHVkZSAi
U3R5bGVDb2xvci5oIgogI2luY2x1ZGUgIlN0eWxlUHJvcGVydGllcy5oIgogI2luY2x1ZGUgIlN0
eWxlUmVzb2x2ZUZvckRvY3VtZW50LmgiCkBAIC00MjcyLDYgKzQyNzMsMTkgQEAgdm9pZCBEb2N1
bWVudDo6aW52YWxpZGF0ZUV2ZW50UmVnaW9uc0ZvckZyYW1lKEhUTUxGcmFtZU93bmVyRWxlbWVu
dCYgZWxlbWVudCkKICAgICAgICAgb3duZXJFbGVtZW50LT5kb2N1bWVudCgpLmludmFsaWRhdGVF
dmVudFJlZ2lvbnNGb3JGcmFtZSgqb3duZXJFbGVtZW50KTsKIH0KIAordm9pZCBEb2N1bWVudDo6
aW52YWxpZGF0ZUV2ZW50TGlzdGVuZXJSZWdpb25zKCkKK3sKKyAgICBpZiAoIXJlbmRlclZpZXco
KSB8fCAhZG9jdW1lbnRFbGVtZW50KCkpCisgICAgICAgIHJldHVybjsKKworICAgIC8vIFdlIGRv
bid0IHRyYWNrIHN0eWxlIHZhbGlkaXR5IGZvciBEb2N1bWVudCBhbmQgZnVsbCByZWJ1aWxkIGlz
IHRvbyBiaWcgb2YgYSBoYW1tZXIuCisgICAgLy8gSW5zdGVhZCBqdXN0IG11dGF0ZSB0aGUgc3R5
bGUgZGlyZWN0bHkgYW5kIHRyaWdnZXIgYSBtaW5pbWFsIHN0eWxlIHVwZGF0ZS4KKyAgICBhdXRv
JiByb290U3R5bGUgPSByZW5kZXJWaWV3KCktPm11dGFibGVTdHlsZSgpOworICAgIFN0eWxlOjpB
ZGp1c3Rlcjo6YWRqdXN0RXZlbnRMaXN0ZW5lclJlZ2lvblR5cGVzRm9yUm9vdFN0eWxlKHJvb3RT
dHlsZSwgKnRoaXMpOworCisgICAgZG9jdW1lbnRFbGVtZW50KCktPmludmFsaWRhdGVTdHlsZUlu
dGVybmFsKCk7Cit9CisKIHZvaWQgRG9jdW1lbnQ6OmludmFsaWRhdGVSZW5kZXJpbmdEZXBlbmRl
bnRSZWdpb25zKCkKIHsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiBFTkFCTEUoVE9VQ0hf
RVZFTlRTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCA3N2VjYjdhMDMxMy4uOWZjMzdkMWFhNmIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMTQ4LDYgKzExNDgsOCBAQCBwdWJsaWM6CiAgICAg
dm9pZCBpbnZhbGlkYXRlUmVuZGVyaW5nRGVwZW5kZW50UmVnaW9ucygpOwogICAgIHZvaWQgaW52
YWxpZGF0ZUV2ZW50UmVnaW9uc0ZvckZyYW1lKEhUTUxGcmFtZU93bmVyRWxlbWVudCYpOwogCisg
ICAgdm9pZCBpbnZhbGlkYXRlRXZlbnRMaXN0ZW5lclJlZ2lvbnMoKTsKKwogICAgIHZvaWQgcmVt
b3ZlQWxsRXZlbnRMaXN0ZW5lcnMoKSBmaW5hbDsKIAogICAgIFdFQkNPUkVfRVhQT1JUIGNvbnN0
IFNWR0RvY3VtZW50RXh0ZW5zaW9ucyogc3ZnRXh0ZW5zaW9ucygpOwpAQCAtMjE3NSw0ICsyMTc3
LDUgQEAgaW5saW5lIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIE5vZGU6OnNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKSBjb25zdAogU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpE
b2N1bWVudCkKICAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6U2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCYgY29udGV4dCkgeyByZXR1cm4gY29udGV4dC5pc0RvY3VtZW50KCk7IH0K
ICAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6Tm9kZSYgbm9kZSkgeyByZXR1
cm4gbm9kZS5pc0RvY3VtZW50Tm9kZSgpOyB9CisgICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0
IFdlYkNvcmU6OkV2ZW50VGFyZ2V0JiB0YXJnZXQpIHsgcmV0dXJuIGlzPFdlYkNvcmU6Ok5vZGU+
KHRhcmdldCkgJiYgaXNUeXBlKGRvd25jYXN0PFdlYkNvcmU6Ok5vZGU+KHRhcmdldCkpOyB9CiBT
UEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggMGI1
YWYyZjc0NjcuLmQ5ZjgzNzgzN2ZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0xOTY2LDYg
KzE5NjYsMTIgQEAgdm9pZCBFbGVtZW50OjppbnZhbGlkYXRlU3R5bGVGb3JTdWJ0cmVlSW50ZXJu
YWwoKQogICAgIE5vZGU6OmludmFsaWRhdGVTdHlsZShTdHlsZTo6VmFsaWRpdHk6OlN1YnRyZWVJ
bnZhbGlkKTsKIH0KIAordm9pZCBFbGVtZW50OjppbnZhbGlkYXRlRXZlbnRMaXN0ZW5lclJlZ2lv
bnMoKQoreworICAgIC8vIEV2ZW50IGxpc3RlbmVyIHJlZ2lvbiBpcyB1cGRhdGVkIHZpYSBzdHls
ZSB1cGRhdGUuCisgICAgaW52YWxpZGF0ZVN0eWxlSW50ZXJuYWwoKTsKK30KKwogYm9vbCBFbGVt
ZW50OjpoYXNEaXNwbGF5Q29udGVudHMoKSBjb25zdAogewogICAgIGlmICghaGFzUmFyZURhdGEo
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5oCmluZGV4IDBkYmY4OTgzNTI5Li4zMWQwMjI4ZWU0ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5oCkBAIC01OTEsNiArNTkxLDggQEAgcHVibGljOgogICAgIHZvaWQgaW52YWxp
ZGF0ZVN0eWxlSW50ZXJuYWwoKTsKICAgICB2b2lkIGludmFsaWRhdGVTdHlsZUZvclN1YnRyZWVJ
bnRlcm5hbCgpOwogCisgICAgdm9pZCBpbnZhbGlkYXRlRXZlbnRMaXN0ZW5lclJlZ2lvbnMoKTsK
KwogICAgIGJvb2wgaGFzRGlzcGxheUNvbnRlbnRzKCkgY29uc3Q7CiAgICAgdm9pZCBzdG9yZURp
c3BsYXlDb250ZW50c1N0eWxlKHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4pOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuY3BwIGIvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50VGFyZ2V0LmNwcAppbmRleCBlNTZlZDRkZjA1NS4uMGNjZmNjMWUzNjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcApAQCAtOTUsMTAgKzk1LDggQEAgYm9vbCBFdmVu
dFRhcmdldDo6YWRkRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIFJl
ZjxFdmVudExpc3RlbmUKICAgICBpZiAobGlzdGVuZXJDcmVhdGVkRnJvbVNjcmlwdCkKICAgICAg
ICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRBZGRFdmVudExpc3RlbmVyKCp0aGlzLCBl
dmVudFR5cGUsIGxpc3RlbmVyUmVmLmdldCgpLCBvcHRpb25zLmNhcHR1cmUpOwogCi0gICAgaWYg
KGV2ZW50TmFtZXMoKS5pc1doZWVsRXZlbnRUeXBlKGV2ZW50VHlwZSkpIHsKLSAgICAgICAgaWYg
KGlzPEVsZW1lbnQ+KCp0aGlzKSkKLSAgICAgICAgICAgIGRvd25jYXN0PEVsZW1lbnQ+KCp0aGlz
KS5pbnZhbGlkYXRlU3R5bGVJbnRlcm5hbCgpOwotICAgIH0KKyAgICBpZiAoZXZlbnROYW1lcygp
LmlzV2hlZWxFdmVudFR5cGUoZXZlbnRUeXBlKSkKKyAgICAgICAgaW52YWxpZGF0ZUV2ZW50TGlz
dGVuZXJSZWdpb25zKCk7CiAKICAgICBldmVudExpc3RlbmVyc0RpZENoYW5nZSgpOwogICAgIHJl
dHVybiB0cnVlOwpAQCAtMTQxLDEwICsxMzksOCBAQCBib29sIEV2ZW50VGFyZ2V0OjpyZW1vdmVF
dmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lcgog
ICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFJlbW92ZUV2ZW50TGlzdGVuZXIoKnRo
aXMsIGV2ZW50VHlwZSwgbGlzdGVuZXIsIG9wdGlvbnMuY2FwdHVyZSk7CiAKICAgICBpZiAoZGF0
YS0+ZXZlbnRMaXN0ZW5lck1hcC5yZW1vdmUoZXZlbnRUeXBlLCBsaXN0ZW5lciwgb3B0aW9ucy5j
YXB0dXJlKSkgewotICAgICAgICBpZiAoZXZlbnROYW1lcygpLmlzV2hlZWxFdmVudFR5cGUoZXZl
bnRUeXBlKSkgewotICAgICAgICAgICAgaWYgKGlzPEVsZW1lbnQ+KCp0aGlzKSkKLSAgICAgICAg
ICAgICAgICBkb3duY2FzdDxFbGVtZW50PigqdGhpcykuaW52YWxpZGF0ZVN0eWxlSW50ZXJuYWwo
KTsKLSAgICAgICAgfQorICAgICAgICBpZiAoZXZlbnROYW1lcygpLmlzV2hlZWxFdmVudFR5cGUo
ZXZlbnRUeXBlKSkKKyAgICAgICAgICAgIGludmFsaWRhdGVFdmVudExpc3RlbmVyUmVnaW9ucygp
OwogCiAgICAgICAgIGV2ZW50TGlzdGVuZXJzRGlkQ2hhbmdlKCk7CiAgICAgICAgIHJldHVybiB0
cnVlOwpAQCAtMzc3LDEwICszNzMsOCBAQCB2b2lkIEV2ZW50VGFyZ2V0OjpyZW1vdmVBbGxFdmVu
dExpc3RlbmVycygpCiAKICAgICBhdXRvKiBkYXRhID0gZXZlbnRUYXJnZXREYXRhKCk7CiAgICAg
aWYgKGRhdGEgJiYgIWRhdGEtPmV2ZW50TGlzdGVuZXJNYXAuaXNFbXB0eSgpKSB7Ci0gICAgICAg
IGlmIChkYXRhLT5ldmVudExpc3RlbmVyTWFwLmNvbnRhaW5zKGV2ZW50TmFtZXMoKS53aGVlbEV2
ZW50KSB8fCBkYXRhLT5ldmVudExpc3RlbmVyTWFwLmNvbnRhaW5zKGV2ZW50TmFtZXMoKS5tb3Vz
ZXdoZWVsRXZlbnQpKSB7Ci0gICAgICAgICAgICBpZiAoaXM8RWxlbWVudD4oKnRoaXMpKQotICAg
ICAgICAgICAgICAgIGRvd25jYXN0PEVsZW1lbnQ+KCp0aGlzKS5pbnZhbGlkYXRlU3R5bGVJbnRl
cm5hbCgpOwotICAgICAgICB9CisgICAgICAgIGlmIChkYXRhLT5ldmVudExpc3RlbmVyTWFwLmNv
bnRhaW5zKGV2ZW50TmFtZXMoKS53aGVlbEV2ZW50KSB8fCBkYXRhLT5ldmVudExpc3RlbmVyTWFw
LmNvbnRhaW5zKGV2ZW50TmFtZXMoKS5tb3VzZXdoZWVsRXZlbnQpKQorICAgICAgICAgICAgaW52
YWxpZGF0ZUV2ZW50TGlzdGVuZXJSZWdpb25zKCk7CiAKICAgICAgICAgZGF0YS0+ZXZlbnRMaXN0
ZW5lck1hcC5jbGVhcigpOwogICAgICAgICBldmVudExpc3RlbmVyc0RpZENoYW5nZSgpOwpAQCAt
NDAxLDQgKzM5NSwyMyBAQCB2b2lkIEV2ZW50VGFyZ2V0Ojp2aXNpdEpTRXZlbnRMaXN0ZW5lcnMo
SlNDOjpTbG90VmlzaXRvciYgdmlzaXRvcikKICAgICAgICAgbGlzdGVuZXItPnZpc2l0SlNGdW5j
dGlvbih2aXNpdG9yKTsKIH0KIAordm9pZCBFdmVudFRhcmdldDo6aW52YWxpZGF0ZUV2ZW50TGlz
dGVuZXJSZWdpb25zKCkKK3sKKyAgICBpZiAoaXM8RWxlbWVudD4oKnRoaXMpKSB7CisgICAgICAg
IGRvd25jYXN0PEVsZW1lbnQ+KCp0aGlzKS5pbnZhbGlkYXRlRXZlbnRMaXN0ZW5lclJlZ2lvbnMo
KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8qIGRvY3VtZW50ID0gWyZdKCkg
LT4gRG9jdW1lbnQqIHsKKyAgICAgICAgaWYgKGlzPERvY3VtZW50PigqdGhpcykpCisgICAgICAg
ICAgICByZXR1cm4gJmRvd25jYXN0PERvY3VtZW50PigqdGhpcyk7CisgICAgICAgIGlmIChpczxE
T01XaW5kb3c+KCp0aGlzKSkKKyAgICAgICAgICAgIHJldHVybiBkb3duY2FzdDxET01XaW5kb3c+
KCp0aGlzKS5kb2N1bWVudCgpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9KCk7CisK
KyAgICBpZiAoZG9jdW1lbnQpCisgICAgICAgIGRvY3VtZW50LT5pbnZhbGlkYXRlRXZlbnRMaXN0
ZW5lclJlZ2lvbnMoKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnRUYXJnZXQuaAppbmRleCA0ODAxMjM0NWY5My4uY2ZjYjJjYjM1NDAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudFRhcmdldC5oCkBAIC0xMzIsNiArMTMyLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZv
aWQgZGVyZWZFdmVudFRhcmdldCgpID0gMDsKICAgICAKICAgICB2b2lkIGlubmVySW52b2tlRXZl
bnRMaXN0ZW5lcnMoRXZlbnQmLCBFdmVudExpc3RlbmVyVmVjdG9yLCBFdmVudEludm9rZVBoYXNl
KTsKKyAgICB2b2lkIGludmFsaWRhdGVFdmVudExpc3RlbmVyUmVnaW9ucygpOwogCiAgICAgZnJp
ZW5kIGNsYXNzIEV2ZW50TGlzdGVuZXJJdGVyYXRvcjsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9TdHlsZUFkanVzdGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0
eWxlQWRqdXN0ZXIuY3BwCmluZGV4IDRmNGU4NWU1NzJjLi43ZmI0ZDJiYWRjZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVBZGp1c3Rlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvc3R5bGUvU3R5bGVBZGp1c3Rlci5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKIAogI2luY2x1
ZGUgIkFuaW1hdGlvbkJhc2UuaCIKICNpbmNsdWRlICJDU1NGb250U2VsZWN0b3IuaCIKKyNpbmNs
dWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJFbGVtZW50LmgiCiAjaW5jbHVkZSAiRXZlbnRO
YW1lcy5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgpAQCAtMTkzLDYgKzE5NCwxNSBAQCBzdGF0
aWMgT3B0aW9uU2V0PFRvdWNoQWN0aW9uPiBjb21wdXRlRWZmZWN0aXZlVG91Y2hBY3Rpb25zKGNv
bnN0IFJlbmRlclN0eWxlJiBzdAogICAgIHJldHVybiBzaGFyZWRUb3VjaEFjdGlvbnM7CiB9CiAK
K3ZvaWQgQWRqdXN0ZXI6OmFkanVzdEV2ZW50TGlzdGVuZXJSZWdpb25UeXBlc0ZvclJvb3RTdHls
ZShSZW5kZXJTdHlsZSYgcm9vdFN0eWxlLCBjb25zdCBEb2N1bWVudCYgZG9jdW1lbnQpCit7Cisg
ICAgYXV0byByZWdpb25UeXBlcyA9IGNvbXB1dGVFdmVudExpc3RlbmVyUmVnaW9uVHlwZXMoZG9j
dW1lbnQsIHsgfSk7CisgICAgaWYgKGF1dG8qIHdpbmRvdyA9IGRvY3VtZW50LmRvbVdpbmRvdygp
KQorICAgICAgICByZWdpb25UeXBlcy5hZGQoY29tcHV0ZUV2ZW50TGlzdGVuZXJSZWdpb25UeXBl
cygqd2luZG93LCB7IH0pKTsKKworICAgIHJvb3RTdHlsZS5zZXRFdmVudExpc3RlbmVyUmVnaW9u
VHlwZXMocmVnaW9uVHlwZXMpOworfQorCiBPcHRpb25TZXQ8RXZlbnRMaXN0ZW5lclJlZ2lvblR5
cGU+IEFkanVzdGVyOjpjb21wdXRlRXZlbnRMaXN0ZW5lclJlZ2lvblR5cGVzKGNvbnN0IEV2ZW50
VGFyZ2V0JiBldmVudFRhcmdldCwgT3B0aW9uU2V0PEV2ZW50TGlzdGVuZXJSZWdpb25UeXBlPiBw
YXJlbnRUeXBlcykKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQWRqdXN0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlQWRqdXN0ZXIuaAppbmRleCA1OTkwYzdkMDkwMi4uOWRkYjhjNjVmMGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQWRqdXN0ZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9TdHlsZUFkanVzdGVyLmgKQEAgLTUwLDcgKzUwLDcgQEAgcHVibGljOgogICAg
IHN0YXRpYyB2b2lkIGFkanVzdFNWR0VsZW1lbnRTdHlsZShSZW5kZXJTdHlsZSYsIGNvbnN0IFNW
R0VsZW1lbnQmKTsKICAgICBzdGF0aWMgdm9pZCBhZGp1c3RBbmltYXRlZFN0eWxlKFJlbmRlclN0
eWxlJiwgY29uc3QgUmVuZGVyU3R5bGUqIHBhcmVudEJveFN0eWxlLCBPcHRpb25TZXQ8QW5pbWF0
aW9uSW1wYWN0Pik7CiAgICAgCi0gICAgc3RhdGljIE9wdGlvblNldDxFdmVudExpc3RlbmVyUmVn
aW9uVHlwZT4gY29tcHV0ZUV2ZW50TGlzdGVuZXJSZWdpb25UeXBlcyhjb25zdCBFdmVudFRhcmdl
dCYsIE9wdGlvblNldDxFdmVudExpc3RlbmVyUmVnaW9uVHlwZT4pOworICAgIHN0YXRpYyB2b2lk
IGFkanVzdEV2ZW50TGlzdGVuZXJSZWdpb25UeXBlc0ZvclJvb3RTdHlsZShSZW5kZXJTdHlsZSYs
IGNvbnN0IERvY3VtZW50Jik7CiAKICNpZiBFTkFCTEUoVEVYVF9BVVRPU0laSU5HKQogICAgIHN0
cnVjdCBBZGp1c3RtZW50Rm9yVGV4dEF1dG9zaXppbmcgewpAQCAtNjcsNiArNjcsNyBAQCBwdWJs
aWM6CiBwcml2YXRlOgogICAgIHZvaWQgYWRqdXN0RGlzcGxheUNvbnRlbnRzU3R5bGUoUmVuZGVy
U3R5bGUmKSBjb25zdDsKICAgICB2b2lkIGFkanVzdEZvclNpdGVTcGVjaWZpY1F1aXJrcyhSZW5k
ZXJTdHlsZSYpIGNvbnN0OworICAgIHN0YXRpYyBPcHRpb25TZXQ8RXZlbnRMaXN0ZW5lclJlZ2lv
blR5cGU+IGNvbXB1dGVFdmVudExpc3RlbmVyUmVnaW9uVHlwZXMoY29uc3QgRXZlbnRUYXJnZXQm
LCBPcHRpb25TZXQ8RXZlbnRMaXN0ZW5lclJlZ2lvblR5cGU+KTsKIAogICAgIGNvbnN0IERvY3Vt
ZW50JiBtX2RvY3VtZW50OwogICAgIGNvbnN0IFJlbmRlclN0eWxlJiBtX3BhcmVudFN0eWxlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVSZXNvbHZlRm9yRG9jdW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVSZXNvbHZlRm9yRG9jdW1lbnQuY3BwCmlu
ZGV4IGFkZjNjNzI0MmFiLi5jZWVlZmRmNjJkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3R5bGUvU3R5bGVSZXNvbHZlRm9yRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0
eWxlL1N0eWxlUmVzb2x2ZUZvckRvY3VtZW50LmNwcApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1
ZGUgIlN0eWxlUmVzb2x2ZUZvckRvY3VtZW50LmgiCiAKICNpbmNsdWRlICJDU1NGb250U2VsZWN0
b3IuaCIKLSNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2lu
Y2x1ZGUgIkZvbnRDYXNjYWRlLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKQEAgLTc0LDExICs3Myw3
IEBAIFJlbmRlclN0eWxlIHJlc29sdmVGb3JEb2N1bWVudChjb25zdCBEb2N1bWVudCYgZG9jdW1l
bnQpCiAgICAgICAgIGRvY3VtZW50U3R5bGUuc2V0VGV4dFNpemVBZGp1c3QoVGV4dFNpemVBZGp1
c3RtZW50KE5vVGV4dFNpemVBZGp1c3RtZW50KSk7CiAjZW5kaWYKIAotICAgIGF1dG8gcmVnaW9u
VHlwZXMgPSBBZGp1c3Rlcjo6Y29tcHV0ZUV2ZW50TGlzdGVuZXJSZWdpb25UeXBlcyhkb2N1bWVu
dCwgeyB9KTsKLSAgICBpZiAoYXV0byogd2luZG93ID0gZG9jdW1lbnQuZG9tV2luZG93KCkpCi0g
ICAgICAgIHJlZ2lvblR5cGVzLmFkZChBZGp1c3Rlcjo6Y29tcHV0ZUV2ZW50TGlzdGVuZXJSZWdp
b25UeXBlcygqd2luZG93LCB7IH0pKTsKLQotICAgIGRvY3VtZW50U3R5bGUuc2V0RXZlbnRMaXN0
ZW5lclJlZ2lvblR5cGVzKHJlZ2lvblR5cGVzKTsKKyAgICBBZGp1c3Rlcjo6YWRqdXN0RXZlbnRM
aXN0ZW5lclJlZ2lvblR5cGVzRm9yUm9vdFN0eWxlKGRvY3VtZW50U3R5bGUsIGRvY3VtZW50KTsK
IAogICAgIEVsZW1lbnQqIGRvY0VsZW1lbnQgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQoKTsK
ICAgICBSZW5kZXJPYmplY3QqIGRvY0VsZW1lbnRSZW5kZXJlciA9IGRvY0VsZW1lbnQgPyBkb2NF
bGVtZW50LT5yZW5kZXJlcigpIDogbnVsbHB0cjsK
</data>

          </attachment>
      

    </bug>

</bugzilla>