<?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>202456</bug_id>
          
          <creation_ts>2019-10-02 05:55:43 -0700</creation_ts>
          <short_desc>[CSS Shadow Parts] Basic ::part() pseudo element support</short_desc>
          <delta_ts>2019-10-02 14:16:20 -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>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>149443</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kangil.han</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1575954</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-10-02 05:55:43 -0700</bug_when>
    <thetext>Basic parsing and selector matching for ::part()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1575958</commentid>
    <comment_count>1</comment_count>
      <attachid>380013</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-10-02 06:06:44 -0700</bug_when>
    <thetext>Created attachment 380013
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1575963</commentid>
    <comment_count>2</comment_count>
      <attachid>380015</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-10-02 06:33:21 -0700</bug_when>
    <thetext>Created attachment 380015
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576055</commentid>
    <comment_count>3</comment_count>
      <attachid>380035</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-10-02 10:48:12 -0700</bug_when>
    <thetext>Created attachment 380035
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576182</commentid>
    <comment_count>4</comment_count>
      <attachid>380035</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-02 14:15:59 -0700</bug_when>
    <thetext>Comment on attachment 380035
patch

Clearing flags on attachment: 380035

Committed r250628: &lt;https://trac.webkit.org/changeset/250628&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576183</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-02 14:16:01 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576184</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-10-02 14:16:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/55924141&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380013</attachid>
            <date>2019-10-02 06:06:44 -0700</date>
            <delta_ts>2019-10-02 06:33:21 -0700</delta_ts>
            <desc>patch</desc>
            <filename>css-shadow-parts-pseudo.patch</filename>
            <type>text/plain</type>
            <size>24710</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGFlMTVjMzMzMjI0Li4zY2M4NGIyZGM2
OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTkt
MTAtMDIgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgorCisgICAgICAgIFtDU1Mg
U2hhZG93IFBhcnRzXSBCYXNpYyA6OnBhcnQoKSBwc2V1ZG8gZWxlbWVudCBzdXBwb3J0CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI0NTYKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9hbGwtaG9zdHMtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9jb21wbGV4LW1h
dGNoaW5nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1zaGFkb3ctcGFydHMvaW5uZXItaG9zdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2hhZG93LXBhcnRzL2ludmFsaWRhdGlvbi1jaGFuZ2UtcGFy
dC1uYW1lLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1zaGFkb3ctcGFydHMvaW52YWxpZGF0aW9uLWNoYW5nZS1wYXJ0LW5hbWUtaWRsLWRvbXRva2Vu
bGlzdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
c2hhZG93LXBhcnRzL2ludmFsaWRhdGlvbi1jaGFuZ2UtcGFydC1uYW1lLWlkbC1zZXR0ZXItZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1w
YXJ0cy9pbnZhbGlkYXRpb24tY29tcGxleC1zZWxlY3Rvci1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2hhZG93LXBhcnRzL3ByZWNlZGVuY2UtcGFy
dC12cy1wYXJ0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1zaGFkb3ctcGFydHMvc2ltcGxlLWV4cGVjdGVkLnR4dDoKKwogMjAxOS0xMC0wMSAgQW50
dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgW0NTUyBTaGFkb3cgUGFy
dHNdIFBhcnNlICdwYXJ0JyBhdHRyaWJ1dGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaGFkb3ctcGFydHMvYWxsLWhvc3Rz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1zaGFkb3ctcGFydHMvYWxsLWhvc3RzLWV4cGVjdGVkLnR4dAppbmRleCBjYjg1
ZTc5OWUzOS4uMDk2ZDZiODcwMzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaGFkb3ctcGFydHMvYWxsLWhvc3RzLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3Mtc2hhZG93LXBhcnRzL2FsbC1ob3N0cy1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1
IEBACiBUaGUgZm9sbG93aW5nIHRleHQgc2hvdWxkIGJlIGdyZWVuOiBUaGUgZm9sbG93aW5nIHRl
eHQgc2hvdWxkIGJlIGdyZWVuOiAKIAotRkFJTCA6OnBhcnQgd2l0aCBob3N0IHNlbGVjdG9yIHN0
eWxlcyBpbiBmaXJzdCBob3N0IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMCwgMTI4LCAw
KSIgYnV0IGdvdCAicmdiKDI1NSwgMCwgMCkiCi1GQUlMIDo6cGFydCB3aXRoIGhvc3Qgc2VsZWN0
b3Igc3R5bGVzIGluIHNlY29uZCBob3N0IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMCwg
MTI4LCAwKSIgYnV0IGdvdCAicmdiKDI1NSwgMCwgMCkiCitQQVNTIDo6cGFydCB3aXRoIGhvc3Qg
c2VsZWN0b3Igc3R5bGVzIGluIGZpcnN0IGhvc3QgCitQQVNTIDo6cGFydCB3aXRoIGhvc3Qgc2Vs
ZWN0b3Igc3R5bGVzIGluIHNlY29uZCBob3N0IAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2hhZG93LXBhcnRzL2NvbXBs
ZXgtbWF0Y2hpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9jb21wbGV4LW1hdGNoaW5nLWV4cGVj
dGVkLnR4dAppbmRleCA5MDE5NDdjODZlZS4uM2Y2ZTFjZWY2ZGEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaGFkb3ctcGFy
dHMvY29tcGxleC1tYXRjaGluZy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9jb21wbGV4LW1h
dGNoaW5nLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIFRoZSBmb2xsb3dpbmcgdGV4dCBz
aG91bGQgYmUgZ3JlZW46CiAKLUZBSUwgQ29tcGxleCBzZWxlY3RvciBmb3IgaG9zdCB3b3JrcyBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDAsIDEyOCwgMCkiIGJ1dCBnb3QgInJnYigyNTUs
IDAsIDApIgorUEFTUyBDb21wbGV4IHNlbGVjdG9yIGZvciBob3N0IHdvcmtzIAogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
c2hhZG93LXBhcnRzL2lubmVyLWhvc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9pbm5lci1ob3N0
LWV4cGVjdGVkLnR4dAppbmRleCAwZmQyZGE0MjlhNC4uMTI1OTFjNWZlY2QgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaGFk
b3ctcGFydHMvaW5uZXItaG9zdC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9pbm5lci1ob3N0
LWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUgQEAKIFRoZSBmb2xsb3dpbmcgdGV4dCBzaG91bGQg
YmUgZ3JlZW46IAogCi1GQUlMIFBhcnQgaW4gb3V0ZXIgaG9zdCBpcyBzdHlsZWQgYnkgZG9jdW1l
bnQgc3R5bGUgc2hlZXQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigwLCAxMjgsIDApIiBi
dXQgZ290ICJyZ2IoMjU1LCAwLCAwKSIKK1BBU1MgUGFydCBpbiBvdXRlciBob3N0IGlzIHN0eWxl
ZCBieSBkb2N1bWVudCBzdHlsZSBzaGVldCAKIFBBU1MgUGFydCBpbiBpbm5lciBob3N0IGlzIG5v
dCBzdHlsZWQgYnkgZG9jdW1lbnQgc3R5bGUgc2hlZXQgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaGFkb3ctcGFydHMv
aW52YWxpZGF0aW9uLWNoYW5nZS1wYXJ0LW5hbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9pbnZh
bGlkYXRpb24tY2hhbmdlLXBhcnQtbmFtZS1leHBlY3RlZC50eHQKaW5kZXggMmE2NGQ3MWFlNGEu
LjNiYjdiZDhmZWQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2hhZG93LXBhcnRzL2ludmFsaWRhdGlvbi1jaGFuZ2UtcGFy
dC1uYW1lLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2hhZG93LXBhcnRzL2ludmFsaWRhdGlvbi1jaGFuZ2UtcGFy
dC1uYW1lLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIFRoZSBmb2xsb3dpbmcgdGV4dCBz
aG91bGQgYmUgZ3JlZW46CiAKLUZBSUwgUGFydCBpbiBzZWxlY3RlZCBob3N0IGNoYW5nZWQgY29s
b3IgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlICJyZ2IoMCwgMTI4LCAw
KSIKK0ZBSUwgUGFydCBpbiBzZWxlY3RlZCBob3N0IGNoYW5nZWQgY29sb3IgYXNzZXJ0X25vdF9l
cXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlICJyZ2IoMjU1LCAwLCAwKSIKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNo
YWRvdy1wYXJ0cy9pbnZhbGlkYXRpb24tY2hhbmdlLXBhcnQtbmFtZS1pZGwtZG9tdG9rZW5saXN0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1zaGFkb3ctcGFydHMvaW52YWxpZGF0aW9uLWNoYW5nZS1wYXJ0LW5hbWUtaWRs
LWRvbXRva2VubGlzdC1leHBlY3RlZC50eHQKaW5kZXggNmZmN2M2MGZiYjguLjNmMDRhYjcyMWIw
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3Mtc2hhZG93LXBhcnRzL2ludmFsaWRhdGlvbi1jaGFuZ2UtcGFydC1uYW1lLWlkbC1k
b210b2tlbmxpc3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaGFkb3ctcGFydHMvaW52YWxpZGF0aW9uLWNoYW5n
ZS1wYXJ0LW5hbWUtaWRsLWRvbXRva2VubGlzdC1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBA
CiBUaGUgZm9sbG93aW5nIHRleHQgc2hvdWxkIGJlIGdyZWVuOgogCi1GQUlMIFBhcnQgaW4gc2Vs
ZWN0ZWQgaG9zdCBjaGFuZ2VkIGNvbG9yIHZpYSBwYXJ0IElETCBET01Ub2tlbkxpc3QgYXR0cmli
dXRlLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDAsIDEyOCwgMCkiIGJ1dCBnb3QgInJn
YigwLCAwLCAyNTUpIgorUEFTUyBQYXJ0IGluIHNlbGVjdGVkIGhvc3QgY2hhbmdlZCBjb2xvciB2
aWEgcGFydCBJREwgRE9NVG9rZW5MaXN0IGF0dHJpYnV0ZS4gCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaGFkb3ctcGFy
dHMvaW52YWxpZGF0aW9uLWNoYW5nZS1wYXJ0LW5hbWUtaWRsLXNldHRlci1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2hh
ZG93LXBhcnRzL2ludmFsaWRhdGlvbi1jaGFuZ2UtcGFydC1uYW1lLWlkbC1zZXR0ZXItZXhwZWN0
ZWQudHh0CmluZGV4IGFiNWEwODAxYzNjLi5kM2YzMTkyNmZjMyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0
cy9pbnZhbGlkYXRpb24tY2hhbmdlLXBhcnQtbmFtZS1pZGwtc2V0dGVyLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
c2hhZG93LXBhcnRzL2ludmFsaWRhdGlvbi1jaGFuZ2UtcGFydC1uYW1lLWlkbC1zZXR0ZXItZXhw
ZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogVGhlIGZvbGxvd2luZyB0ZXh0IHNob3VsZCBiZSBn
cmVlbjoKIAotRkFJTCBQYXJ0IGluIHNlbGVjdGVkIGhvc3QgY2hhbmdlZCBjb2xvciB2aWEgcGFy
dCBJREwgYXR0cmlidXRlIHNldHRlci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigwLCAx
MjgsIDApIiBidXQgZ290ICJyZ2IoMCwgMCwgMjU1KSIKK1BBU1MgUGFydCBpbiBzZWxlY3RlZCBo
b3N0IGNoYW5nZWQgY29sb3IgdmlhIHBhcnQgSURMIGF0dHJpYnV0ZSBzZXR0ZXIuIAogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3Mtc2hhZG93LXBhcnRzL2ludmFsaWRhdGlvbi1jb21wbGV4LXNlbGVjdG9yLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1z
aGFkb3ctcGFydHMvaW52YWxpZGF0aW9uLWNvbXBsZXgtc2VsZWN0b3ItZXhwZWN0ZWQudHh0Cmlu
ZGV4IDJhNjRkNzFhZTRhLi5jNGJjYzI0ZTgxOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9pbnZhbGlk
YXRpb24tY29tcGxleC1zZWxlY3Rvci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9pbnZhbGlk
YXRpb24tY29tcGxleC1zZWxlY3Rvci1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiBUaGUg
Zm9sbG93aW5nIHRleHQgc2hvdWxkIGJlIGdyZWVuOgogCi1GQUlMIFBhcnQgaW4gc2VsZWN0ZWQg
aG9zdCBjaGFuZ2VkIGNvbG9yIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1
ZSAicmdiKDAsIDEyOCwgMCkiCitQQVNTIFBhcnQgaW4gc2VsZWN0ZWQgaG9zdCBjaGFuZ2VkIGNv
bG9yIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3Mtc2hhZG93LXBhcnRzL3ByZWNlZGVuY2UtcGFydC12cy1wYXJ0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1zaGFkb3ctcGFydHMvcHJlY2VkZW5jZS1wYXJ0LXZzLXBhcnQtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDdlZWViNDQ3ZDAyLi5jN2Y4NzE2MGZkYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9wcmVjZWRl
bmNlLXBhcnQtdnMtcGFydC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9wcmVjZWRlbmNlLXBh
cnQtdnMtcGFydC1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiBUaGUgZm9sbG93aW5nIHRl
eHQgc2hvdWxkIGJlIGdyZWVuOiAKIAotRkFJTCBTdHlsZSBmcm9tIGRvY3VtZW50IG92ZXJyaWRl
cyBzdHlsZSBmcm9tIG91dGVyIENFIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMCwgMTI4
LCAwKSIgYnV0IGdvdCAicmdiKDAsIDAsIDI1NSkiCitGQUlMIFN0eWxlIGZyb20gZG9jdW1lbnQg
b3ZlcnJpZGVzIHN0eWxlIGZyb20gb3V0ZXIgQ0UgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJn
YigwLCAxMjgsIDApIiBidXQgZ290ICJyZ2IoMjU1LCAwLCAwKSIKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1w
YXJ0cy9zaW1wbGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9zaW1wbGUtZXhwZWN0ZWQudHh0Cmlu
ZGV4IGY5NzA0YTc3MTRjLi5jNTcxMGM3NDU1NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9zaW1wbGUt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1zaGFkb3ctcGFydHMvc2ltcGxlLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsx
LDQgQEAKIFRoZSBmb2xsb3dpbmcgdGV4dCBzaG91bGQgYmUgZ3JlZW46IAogCi1GQUlMIFBhcnQg
aW4gc2VsZWN0ZWQgaG9zdCBpcyBzdHlsZWQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigw
LCAxMjgsIDApIiBidXQgZ290ICJyZ2IoMjU1LCAwLCAwKSIKK1BBU1MgUGFydCBpbiBzZWxlY3Rl
ZCBob3N0IGlzIHN0eWxlZCAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDFkNmNkMmY0NzljLi41NmNlMWVjMWEz
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDE5LTEwLTAyICBBbnR0aSBLb2l2aXN0
byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbQ1NTIFNoYWRvdyBQYXJ0c10gQmFzaWMg
OjpwYXJ0KCkgcHNldWRvIGVsZW1lbnQgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyNDU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IGJhc2ljIHBhcnNpbmcgYW5kIHNlbGVj
dG9yIG1hdGNoaW5nIGZvciA6OnBhcnQoKSBwc2V1ZG8gZWxlbWVudC4KKworICAgICAgICAqIGNz
cy9DU1NTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTZWxlY3Rvcjo6cHNldWRv
SWQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU2VsZWN0b3I6OnBhcnNlUHNldWRvRWxlbWVudFR5
cGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU2VsZWN0b3I6OnNlbGVjdG9yVGV4dCBjb25zdCk6
CisgICAgICAgICogY3NzL0NTU1NlbGVjdG9yLmg6CisgICAgICAgICogY3NzL0VsZW1lbnRSdWxl
Q29sbGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRSdWxlQ29sbGVjdG9yOjpt
YXRjaEF1dGhvclJ1bGVzKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRSdWxlQ29sbGVjdG9y
OjptYXRjaFBhcnRQc2V1ZG9FbGVtZW50UnVsZXMpOgorICAgICAgICAqIGNzcy9FbGVtZW50UnVs
ZUNvbGxlY3Rvci5oOgorICAgICAgICAqIGNzcy9SdWxlU2V0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJ1bGVTZXQ6OmFkZFJ1bGUpOgorICAgICAgICAqIGNzcy9SdWxlU2V0Lmg6CisgICAgICAg
IChXZWJDb3JlOjpSdWxlU2V0OjpwYXJ0UHNldWRvRWxlbWVudFJ1bGVzIGNvbnN0KToKKyAgICAg
ICAgKiBjc3MvU2VsZWN0b3JDaGVja2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9y
Q2hlY2tlcjo6Y2hlY2tPbmUgY29uc3QpOgorICAgICAgICAqIGNzcy9TZWxlY3RvclBzZXVkb0Vs
ZW1lbnRUeXBlTWFwLmluOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUGFyc2VyU2VsZWN0b3Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyU2VsZWN0b3I6OnBhcnNlUHNldWRvRWxl
bWVudFNlbGVjdG9yKToKKworICAgICAgICBBbHNvIGFkZGVkIDo6c2xvdHRlZCB0byBTZWxlY3Rv
clBzZXVkb0VsZW1lbnRUeXBlTWFwLmluIHRvIHJlc29sdmUgYSBGSVhNRSBoZXJlLgorCisgICAg
ICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJTZWxlY3Rvci5oOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTUGFyc2VyU2VsZWN0b3I6Om5lZWRzSW1wbGljaXRTaGFkb3dDb21iaW5hdG9yRm9yTWF0Y2hp
bmcgY29uc3QpOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTU2VsZWN0b3JQYXJzZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6aXNPbmx5UHNldWRvRWxlbWVudEZ1bmN0aW9uKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1NlbGVjdG9yUGFyc2VyOjpjb25zdW1lUHNldWRvKToKKworICAgICAgICBQ
YXJzZSBzaW5nbGUgdmFsdWVzIG9ubHksIG11bHRpcGFydCA6OnBhcnQoZm9vIGJhcikgY2FzZSBp
cyBub3QgeWV0IGhhbmRsZWQuCisKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50OjpwYXJ0TmFtZXMgY29uc3QpOgorCiAyMDE5LTEwLTAxICBBbGV4
IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUHJvZ3Jl
c3MgdG93YXJkcyBhIGZ1bmN0aW9uaW5nIENNYWtlIGJ1aWxkIG9uIE1hYwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NTZWxlY3Rvci5jcHAKaW5kZXggNDc1NDJhZjczYjMuLjNkYjVlMzJhODYyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NTZWxlY3Rvci5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJDU1NNYXJr
dXAuaCIKICNpbmNsdWRlICJDU1NTZWxlY3Rvckxpc3QuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMu
aCIKKyNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCiAjaW5jbHVkZSAiU2VsZWN0
b3JQc2V1ZG9UeXBlTWFwLmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRl
IDx3dGYvU3RkTGliRXh0cmFzLmg+CkBAIC0yOTgsNiArMjk5LDcgQEAgUHNldWRvSWQgQ1NTU2Vs
ZWN0b3I6OnBzZXVkb0lkKFBzZXVkb0VsZW1lbnRUeXBlIHR5cGUpCiAgICAgY2FzZSBQc2V1ZG9F
bGVtZW50Q3VlOgogI2VuZGlmCiAgICAgY2FzZSBQc2V1ZG9FbGVtZW50U2xvdHRlZDoKKyAgICBj
YXNlIFBzZXVkb0VsZW1lbnRQYXJ0OgogICAgIGNhc2UgUHNldWRvRWxlbWVudFVua25vd246CiAg
ICAgY2FzZSBQc2V1ZG9FbGVtZW50V2ViS2l0Q3VzdG9tOgogICAgIGNhc2UgUHNldWRvRWxlbWVu
dFdlYktpdEN1c3RvbUxlZ2FjeVByZWZpeGVkOgpAQCAtMzE3LDYgKzMxOSw5IEBAIENTU1NlbGVj
dG9yOjpQc2V1ZG9FbGVtZW50VHlwZSBDU1NTZWxlY3Rvcjo6cGFyc2VQc2V1ZG9FbGVtZW50VHlw
ZShTdHJpbmdWaWV3IG5hCiAgICAgICAgIGlmIChuYW1lLnN0YXJ0c1dpdGgoIi13ZWJraXQtIikp
CiAgICAgICAgICAgICB0eXBlID0gUHNldWRvRWxlbWVudFdlYktpdEN1c3RvbTsKICAgICB9Cisg
ICAgaWYgKHR5cGUgPT0gUHNldWRvRWxlbWVudFBhcnQgJiYgIVJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnNoYXJlZEZlYXR1cmVzKCkuY3NzU2hhZG93UGFydHNFbmFibGVkKCkpCisgICAgICAgIHJl
dHVybiBQc2V1ZG9FbGVtZW50VW5rbm93bjsKKwogICAgIHJldHVybiB0eXBlOwogfQogCkBAIC02
NjIsNiArNjY3LDExIEBAIFN0cmluZyBDU1NTZWxlY3Rvcjo6c2VsZWN0b3JUZXh0KGNvbnN0IFN0
cmluZyYgcmlnaHRTaWRlKSBjb25zdAogICAgICAgICAgICAgICAgIGNzLT5zZWxlY3Rvckxpc3Qo
KS0+YnVpbGRTZWxlY3RvcnNUZXh0KHN0cik7CiAgICAgICAgICAgICAgICAgc3RyLmFwcGVuZCgn
KScpOwogICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBDU1NTZWxlY3Rv
cjo6UHNldWRvRWxlbWVudFBhcnQ6CisgICAgICAgICAgICAgICAgc3RyLmFwcGVuZExpdGVyYWwo
Ijo6cGFydCgiKTsKKyAgICAgICAgICAgICAgICBzdHIuYXBwZW5kKGNzLT5hcmd1bWVudCgpKTsK
KyAgICAgICAgICAgICAgICBzdHIuYXBwZW5kKCcpJyk7CisgICAgICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50V2ViS2l0Q3VzdG9t
TGVnYWN5UHJlZml4ZWQ6CiAgICAgICAgICAgICAgICAgaWYgKGNzLT52YWx1ZSgpID09ICJwbGFj
ZWhvbGRlciIpCiAgICAgICAgICAgICAgICAgICAgIHN0ci5hcHBlbmRMaXRlcmFsKCI6Oi13ZWJr
aXQtaW5wdXQtcGxhY2Vob2xkZXIiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NTZWxlY3Rvci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgKaW5kZXggNmJl
OTBjYzkxMGQuLmZkMzljMzVhZmNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
U2VsZWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaApAQCAtMTc4
LDYgKzE3OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIFBzZXVkb0VsZW1l
bnRGaXJzdExldHRlciwKICAgICAgICAgICAgIFBzZXVkb0VsZW1lbnRGaXJzdExpbmUsCiAgICAg
ICAgICAgICBQc2V1ZG9FbGVtZW50TWFya2VyLAorICAgICAgICAgICAgUHNldWRvRWxlbWVudFBh
cnQsCiAgICAgICAgICAgICBQc2V1ZG9FbGVtZW50UmVzaXplciwKICAgICAgICAgICAgIFBzZXVk
b0VsZW1lbnRTY3JvbGxiYXIsCiAgICAgICAgICAgICBQc2V1ZG9FbGVtZW50U2Nyb2xsYmFyQnV0
dG9uLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0VsZW1lbnRSdWxlQ29sbGVjdG9y
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHAKaW5kZXgg
MDViNDU3ZmQ2ODIuLmU2ODNhOTdlMWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
RWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9FbGVtZW50
UnVsZUNvbGxlY3Rvci5jcHAKQEAgLTIwMSw5ICsyMDEsMTMgQEAgdm9pZCBFbGVtZW50UnVsZUNv
bGxlY3Rvcjo6bWF0Y2hBdXRob3JSdWxlcyhib29sIGluY2x1ZGVFbXB0eVJ1bGVzKQogICAgIGlm
IChtX2VsZW1lbnQuc2hhZG93Um9vdCgpKQogICAgICAgICBtYXRjaEhvc3RQc2V1ZG9DbGFzc1J1
bGVzKGluY2x1ZGVFbXB0eVJ1bGVzLCBydWxlUmFuZ2UpOwogCi0gICAgaWYgKG1fZWxlbWVudC5p
c0luU2hhZG93VHJlZSgpKQorICAgIGlmIChtX2VsZW1lbnQuaXNJblNoYWRvd1RyZWUoKSkgewog
ICAgICAgICBtYXRjaEF1dGhvclNoYWRvd1BzZXVkb0VsZW1lbnRSdWxlcyhpbmNsdWRlRW1wdHlS
dWxlcywgcnVsZVJhbmdlKTsKIAorICAgICAgICBpZiAoIW1fZWxlbWVudC5wYXJ0TmFtZXMoKS5p
c0VtcHR5KCkpCisgICAgICAgICAgICBtYXRjaFBhcnRQc2V1ZG9FbGVtZW50UnVsZXMoaW5jbHVk
ZUVtcHR5UnVsZXMsIHJ1bGVSYW5nZSk7CisgICAgfQorCiAgICAgc29ydEFuZFRyYW5zZmVyTWF0
Y2hlZFJ1bGVzKCk7CiB9CiAKQEAgLTI1OSw2ICsyNjMsMTYgQEAgdm9pZCBFbGVtZW50UnVsZUNv
bGxlY3Rvcjo6bWF0Y2hTbG90dGVkUHNldWRvRWxlbWVudFJ1bGVzKGJvb2wgaW5jbHVkZUVtcHR5
UnVsZXMKICAgICB9CiB9CiAKK3ZvaWQgRWxlbWVudFJ1bGVDb2xsZWN0b3I6Om1hdGNoUGFydFBz
ZXVkb0VsZW1lbnRSdWxlcyhib29sIGluY2x1ZGVFbXB0eVJ1bGVzLCBTdHlsZVJlc29sdmVyOjpS
dWxlUmFuZ2UmIHJ1bGVSYW5nZSkKK3sKKyAgICBBU1NFUlQobV9lbGVtZW50LmlzSW5TaGFkb3dU
cmVlKCkpOworICAgIGF1dG8mIHNoYWRvd1Jvb3QgPSAqbV9lbGVtZW50LmNvbnRhaW5pbmdTaGFk
b3dSb290KCk7CisgICAgYXV0byYgaG9zdEF1dGhvclJ1bGVzID0gU3R5bGU6OlNjb3BlOjpmb3JO
b2RlKCpzaGFkb3dSb290Lmhvc3QoKSkucmVzb2x2ZXIoKS5ydWxlU2V0cygpLmF1dGhvclN0eWxl
KCk7CisKKyAgICBNYXRjaFJlcXVlc3QgaG9zdEF1dGhvclJlcXVlc3QgeyAmaG9zdEF1dGhvclJ1
bGVzLCBpbmNsdWRlRW1wdHlSdWxlcywgU3R5bGU6OlNjb3BlT3JkaW5hbDo6Q29udGFpbmluZ0hv
c3QgfTsKKyAgICBjb2xsZWN0TWF0Y2hpbmdSdWxlc0Zvckxpc3QoJmhvc3RBdXRob3JSdWxlcy5w
YXJ0UHNldWRvRWxlbWVudFJ1bGVzKCksIGhvc3RBdXRob3JSZXF1ZXN0LCBydWxlUmFuZ2UpOwor
fQorCiB2b2lkIEVsZW1lbnRSdWxlQ29sbGVjdG9yOjpjb2xsZWN0TWF0Y2hpbmdTaGFkb3dQc2V1
ZG9FbGVtZW50UnVsZXMoY29uc3QgTWF0Y2hSZXF1ZXN0JiBtYXRjaFJlcXVlc3QsIFN0eWxlUmVz
b2x2ZXI6OlJ1bGVSYW5nZSYgcnVsZVJhbmdlKQogewogICAgIEFTU0VSVChtYXRjaFJlcXVlc3Qu
cnVsZVNldCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRWxlbWVudFJ1bGVDb2xs
ZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9FbGVtZW50UnVsZUNvbGxlY3Rvci5oCmluZGV4
IDJmNjM1ODVmMTU1Li5hMDYyMzc4YTk3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0VsZW1lbnRSdWxlQ29sbGVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0VsZW1lbnRS
dWxlQ29sbGVjdG9yLmgKQEAgLTc1LDYgKzc1LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIG1hdGNo
QXV0aG9yU2hhZG93UHNldWRvRWxlbWVudFJ1bGVzKGJvb2wgaW5jbHVkZUVtcHR5UnVsZXMsIFN0
eWxlUmVzb2x2ZXI6OlJ1bGVSYW5nZSYpOwogICAgIHZvaWQgbWF0Y2hIb3N0UHNldWRvQ2xhc3NS
dWxlcyhib29sIGluY2x1ZGVFbXB0eVJ1bGVzLCBTdHlsZVJlc29sdmVyOjpSdWxlUmFuZ2UmKTsK
ICAgICB2b2lkIG1hdGNoU2xvdHRlZFBzZXVkb0VsZW1lbnRSdWxlcyhib29sIGluY2x1ZGVFbXB0
eVJ1bGVzLCBTdHlsZVJlc29sdmVyOjpSdWxlUmFuZ2UmKTsKKyAgICB2b2lkIG1hdGNoUGFydFBz
ZXVkb0VsZW1lbnRSdWxlcyhib29sIGluY2x1ZGVFbXB0eVJ1bGVzLCBTdHlsZVJlc29sdmVyOjpS
dWxlUmFuZ2UmKTsKIAogICAgIHZvaWQgY29sbGVjdE1hdGNoaW5nU2hhZG93UHNldWRvRWxlbWVu
dFJ1bGVzKGNvbnN0IE1hdGNoUmVxdWVzdCYsIFN0eWxlUmVzb2x2ZXI6OlJ1bGVSYW5nZSYpOwog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxSdWxlU2V0OjpSdWxlRGF0YVZlY3Rvcj4gY29sbGVjdFNsb3R0
ZWRQc2V1ZG9FbGVtZW50UnVsZXNGb3JTbG90KGJvb2wgaW5jbHVkZUVtcHR5UnVsZXMpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1J1bGVTZXQuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL1J1bGVTZXQuY3BwCmluZGV4IDNiYmJiZmViY2EwLi5kY2QwZTBkZTFiMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL1J1bGVTZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9SdWxlU2V0LmNwcApAQCAtMjIxLDYgKzIyMSw3IEBAIHZvaWQgUnVsZVNldDo6YWRkUnVsZShT
dHlsZVJ1bGUqIHJ1bGUsIHVuc2lnbmVkIHNlbGVjdG9ySW5kZXgsIHVuc2lnbmVkIHNlbGVjdG9y
CiAgICAgY29uc3QgQ1NTU2VsZWN0b3IqIGhvc3RQc2V1ZG9DbGFzc1NlbGVjdG9yID0gbnVsbHB0
cjsKICAgICBjb25zdCBDU1NTZWxlY3RvciogY3VzdG9tUHNldWRvRWxlbWVudFNlbGVjdG9yID0g
bnVsbHB0cjsKICAgICBjb25zdCBDU1NTZWxlY3Rvciogc2xvdHRlZFBzZXVkb0VsZW1lbnRTZWxl
Y3RvciA9IG51bGxwdHI7CisgICAgY29uc3QgQ1NTU2VsZWN0b3IqIHBhcnRQc2V1ZG9FbGVtZW50
U2VsZWN0b3IgPSBudWxscHRyOwogI2lmIEVOQUJMRShWSURFT19UUkFDSykKICAgICBjb25zdCBD
U1NTZWxlY3RvciogY3VlUHNldWRvRWxlbWVudFNlbGVjdG9yID0gbnVsbHB0cjsKICNlbmRpZgpA
QCAtMjU3LDYgKzI1OCw5IEBAIHZvaWQgUnVsZVNldDo6YWRkUnVsZShTdHlsZVJ1bGUqIHJ1bGUs
IHVuc2lnbmVkIHNlbGVjdG9ySW5kZXgsIHVuc2lnbmVkIHNlbGVjdG9yCiAgICAgICAgICAgICBj
YXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50U2xvdHRlZDoKICAgICAgICAgICAgICAgICBz
bG90dGVkUHNldWRvRWxlbWVudFNlbGVjdG9yID0gc2VsZWN0b3I7CiAgICAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50UGFydDoK
KyAgICAgICAgICAgICAgICBwYXJ0UHNldWRvRWxlbWVudFNlbGVjdG9yID0gc2VsZWN0b3I7Cisg
ICAgICAgICAgICAgICAgYnJlYWs7CiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQogICAgICAgICAg
ICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudEN1ZToKICAgICAgICAgICAgICAgICBj
dWVQc2V1ZG9FbGVtZW50U2VsZWN0b3IgPSBzZWxlY3RvcjsKQEAgLTMxNCw2ICszMTgsMTMgQEAg
dm9pZCBSdWxlU2V0OjphZGRSdWxlKFN0eWxlUnVsZSogcnVsZSwgdW5zaWduZWQgc2VsZWN0b3JJ
bmRleCwgdW5zaWduZWQgc2VsZWN0b3IKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIGlm
IChwYXJ0UHNldWRvRWxlbWVudFNlbGVjdG9yKSB7CisgICAgICAgIC8vIEZpbHRlcmluZyBkb2Vz
bid0IHdvcmsgYWNjcm9zcyBzaGFkb3cgYm91bmRhcmllcy4KKyAgICAgICAgcnVsZURhdGEuZGlz
YWJsZVNlbGVjdG9yRmlsdGVyaW5nKCk7CisgICAgICAgIG1fcGFydFBzZXVkb0VsZW1lbnRSdWxl
cy5hcHBlbmQocnVsZURhdGEpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgaWYgKGN1
c3RvbVBzZXVkb0VsZW1lbnRTZWxlY3RvcikgewogICAgICAgICAvLyBGSVhNRTogQ3VzdG9tIHBz
ZXVkbyBlbGVtZW50cyBhcmUgaGFuZGxlZCBieSB0aGUgc2hhZG93IHRyZWUncyBzZWxlY3RvciBm
aWx0ZXIuIEl0IGRvZXNuJ3Qga25vdyBhYm91dCB0aGUgbWFpbiBET00uCiAgICAgICAgIHJ1bGVE
YXRhLmRpc2FibGVTZWxlY3RvckZpbHRlcmluZygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL1J1bGVTZXQuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9SdWxlU2V0LmgKaW5kZXggMjM4
MGZlNzBjYTguLjYzNTVlOTM2NGZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvUnVs
ZVNldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9SdWxlU2V0LmgKQEAgLTEzOCw2ICsxMzgs
NyBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICBjb25zdCBSdWxlRGF0YVZlY3RvciYgaG9zdFBzZXVk
b0NsYXNzUnVsZXMoKSBjb25zdCB7IHJldHVybiBtX2hvc3RQc2V1ZG9DbGFzc1J1bGVzOyB9CiAg
ICAgY29uc3QgUnVsZURhdGFWZWN0b3ImIHNsb3R0ZWRQc2V1ZG9FbGVtZW50UnVsZXMoKSBjb25z
dCB7IHJldHVybiBtX3Nsb3R0ZWRQc2V1ZG9FbGVtZW50UnVsZXM7IH0KKyAgICBjb25zdCBSdWxl
RGF0YVZlY3RvciYgcGFydFBzZXVkb0VsZW1lbnRSdWxlcygpIGNvbnN0IHsgcmV0dXJuIG1fcGFy
dFBzZXVkb0VsZW1lbnRSdWxlczsgfQogICAgIGNvbnN0IFJ1bGVEYXRhVmVjdG9yKiBmb2N1c1Bz
ZXVkb0NsYXNzUnVsZXMoKSBjb25zdCB7IHJldHVybiAmbV9mb2N1c1BzZXVkb0NsYXNzUnVsZXM7
IH0KICAgICBjb25zdCBSdWxlRGF0YVZlY3RvciogdW5pdmVyc2FsUnVsZXMoKSBjb25zdCB7IHJl
dHVybiAmbV91bml2ZXJzYWxSdWxlczsgfQogCkBAIC0xNjIsNiArMTYzLDcgQEAgcHJpdmF0ZToK
ICNlbmRpZgogICAgIFJ1bGVEYXRhVmVjdG9yIG1faG9zdFBzZXVkb0NsYXNzUnVsZXM7CiAgICAg
UnVsZURhdGFWZWN0b3IgbV9zbG90dGVkUHNldWRvRWxlbWVudFJ1bGVzOworICAgIFJ1bGVEYXRh
VmVjdG9yIG1fcGFydFBzZXVkb0VsZW1lbnRSdWxlczsKICAgICBSdWxlRGF0YVZlY3RvciBtX2Zv
Y3VzUHNldWRvQ2xhc3NSdWxlczsKICAgICBSdWxlRGF0YVZlY3RvciBtX3VuaXZlcnNhbFJ1bGVz
OwogICAgIFZlY3RvcjxTdHlsZVJ1bGVQYWdlKj4gbV9wYWdlUnVsZXM7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TZWxlY3RvckNoZWNrZXIuY3BwCmluZGV4IGUxODNjYjg0MTc1Li4yMmExYWI2NmMzNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAKQEAgLTExMjQsMjcgKzExMjQsMzgg
QEAgYm9vbCBTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25lKENoZWNraW5nQ29udGV4dCYgY2hlY2tp
bmdDb250ZXh0LCBjb25zdCBMb2NhbENvbnQKICAgICAgICAgfQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgfQorCisgICAgaWYgKHNlbGVjdG9yLm1hdGNoKCkgPT0gQ1NTU2VsZWN0b3I6OlBz
ZXVkb0VsZW1lbnQpIHsKKyAgICAgICAgc3dpdGNoIChzZWxlY3Rvci5wc2V1ZG9FbGVtZW50VHlw
ZSgpKSB7CiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQotICAgIGlmIChzZWxlY3Rvci5tYXRjaCgp
ID09IENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50ICYmIHNlbGVjdG9yLnBzZXVkb0VsZW1lbnRU
eXBlKCkgPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnRDdWUpIHsKLSAgICAgICAgTG9jYWxD
b250ZXh0IHN1YmNvbnRleHQoY29udGV4dCk7CisgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBz
ZXVkb0VsZW1lbnRDdWU6IHsKKyAgICAgICAgICAgIExvY2FsQ29udGV4dCBzdWJjb250ZXh0KGNv
bnRleHQpOwogCi0gICAgICAgIGNvbnN0IENTU1NlbGVjdG9yKiBjb25zdCAmIHNlbGVjdG9yID0g
Y29udGV4dC5zZWxlY3RvcjsKLSAgICAgICAgZm9yIChzdWJjb250ZXh0LnNlbGVjdG9yID0gc2Vs
ZWN0b3ItPnNlbGVjdG9yTGlzdCgpLT5maXJzdCgpOyBzdWJjb250ZXh0LnNlbGVjdG9yOyBzdWJj
b250ZXh0LnNlbGVjdG9yID0gQ1NTU2VsZWN0b3JMaXN0OjpuZXh0KHN1YmNvbnRleHQuc2VsZWN0
b3IpKSB7Ci0gICAgICAgICAgICBzdWJjb250ZXh0LmZpcnN0U2VsZWN0b3JPZlRoZUZyYWdtZW50
ID0gc3ViY29udGV4dC5zZWxlY3RvcjsKLSAgICAgICAgICAgIHN1YmNvbnRleHQuaW5GdW5jdGlv
bmFsUHNldWRvQ2xhc3MgPSB0cnVlOwotICAgICAgICAgICAgc3ViY29udGV4dC5wc2V1ZG9FbGVt
ZW50RWZmZWN0aXZlID0gZmFsc2U7Ci0gICAgICAgICAgICBQc2V1ZG9JZFNldCBpZ25vcmVkRHlu
YW1pY1BzZXVkbzsKLSAgICAgICAgICAgIHVuc2lnbmVkIGlnbm9yZWRTcGVjaWZpY2l0eSA9IDA7
Ci0gICAgICAgICAgICBpZiAobWF0Y2hSZWN1cnNpdmVseShjaGVja2luZ0NvbnRleHQsIHN1YmNv
bnRleHQsIGlnbm9yZWREeW5hbWljUHNldWRvLCBpZ25vcmVkU3BlY2lmaWNpdHkpLm1hdGNoID09
IE1hdGNoOjpTZWxlY3Rvck1hdGNoZXMpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgICAgICAgICBjb25zdCBDU1NTZWxlY3RvciogY29uc3QgJiBzZWxlY3RvciA9IGNvbnRleHQu
c2VsZWN0b3I7CisgICAgICAgICAgICBmb3IgKHN1YmNvbnRleHQuc2VsZWN0b3IgPSBzZWxlY3Rv
ci0+c2VsZWN0b3JMaXN0KCktPmZpcnN0KCk7IHN1YmNvbnRleHQuc2VsZWN0b3I7IHN1YmNvbnRl
eHQuc2VsZWN0b3IgPSBDU1NTZWxlY3Rvckxpc3Q6Om5leHQoc3ViY29udGV4dC5zZWxlY3Rvcikp
IHsKKyAgICAgICAgICAgICAgICBzdWJjb250ZXh0LmZpcnN0U2VsZWN0b3JPZlRoZUZyYWdtZW50
ID0gc3ViY29udGV4dC5zZWxlY3RvcjsKKyAgICAgICAgICAgICAgICBzdWJjb250ZXh0LmluRnVu
Y3Rpb25hbFBzZXVkb0NsYXNzID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBzdWJjb250ZXh0LnBz
ZXVkb0VsZW1lbnRFZmZlY3RpdmUgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBQc2V1ZG9JZFNl
dCBpZ25vcmVkRHluYW1pY1BzZXVkbzsKKyAgICAgICAgICAgICAgICB1bnNpZ25lZCBpZ25vcmVk
U3BlY2lmaWNpdHkgPSAwOworICAgICAgICAgICAgICAgIGlmIChtYXRjaFJlY3Vyc2l2ZWx5KGNo
ZWNraW5nQ29udGV4dCwgc3ViY29udGV4dCwgaWdub3JlZER5bmFtaWNQc2V1ZG8sIGlnbm9yZWRT
cGVjaWZpY2l0eSkubWF0Y2ggPT0gTWF0Y2g6OlNlbGVjdG9yTWF0Y2hlcykKKyAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KICNlbmRpZgot
ICAgIGlmIChzZWxlY3Rvci5tYXRjaCgpID09IENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50ICYm
IHNlbGVjdG9yLnBzZXVkb0VsZW1lbnRUeXBlKCkgPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1l
bnRTbG90dGVkKSB7Ci0gICAgICAgIC8vIFdlIHNlZSA6OnNsb3R0ZWQoKSBwc2V1ZG8gZWxlbWVu
dHMgd2hlbiBjb2xsZWN0aW5nIHNsb3R0ZWQgcnVsZXMgZnJvbSB0aGUgc2xvdCBzaGFkb3cgdHJl
ZSBvbmx5LgotICAgICAgICBBU1NFUlQoY2hlY2tpbmdDb250ZXh0LnJlc29sdmluZ01vZGUgPT0g
TW9kZTo6Q29sbGVjdGluZ1J1bGVzKTsKLSAgICAgICAgcmV0dXJuIGlzPEhUTUxTbG90RWxlbWVu
dD4oZWxlbWVudCk7CisgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnRTbG90
dGVkOgorICAgICAgICAgICAgLy8gV2Ugc2VlIDo6c2xvdHRlZCgpIHBzZXVkbyBlbGVtZW50cyB3
aGVuIGNvbGxlY3Rpbmcgc2xvdHRlZCBydWxlcyBmcm9tIHRoZSBzbG90IHNoYWRvdyB0cmVlIG9u
bHkuCisgICAgICAgICAgICBBU1NFUlQoY2hlY2tpbmdDb250ZXh0LnJlc29sdmluZ01vZGUgPT0g
TW9kZTo6Q29sbGVjdGluZ1J1bGVzKTsKKyAgICAgICAgICAgIHJldHVybiBpczxIVE1MU2xvdEVs
ZW1lbnQ+KGVsZW1lbnQpOworCisgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1l
bnRQYXJ0OgorICAgICAgICAgICAgLy8gRklYTUU6IFN1cHBvcnQgOjpwYXJ0KCkgd2l0aCBtdWx0
aXBsZSBwYXJ0cy4KKyAgICAgICAgICAgIHJldHVybiBlbGVtZW50LnBhcnROYW1lcygpLmNvbnRh
aW5zKHNlbGVjdG9yLmFyZ3VtZW50KCkpOworCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQogICAgIH0KICAgICByZXR1cm4gdHJ1ZTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvclBzZXVkb0VsZW1lbnRUeXBlTWFw
LmluIGIvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yUHNldWRvRWxlbWVudFR5cGVNYXAuaW4K
aW5kZXggMjQzMzQ1ZmFiMWUuLmMwN2RiODM1YzdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU2VsZWN0b3JQc2V1ZG9FbGVtZW50VHlwZU1hcC5pbgorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU2VsZWN0b3JQc2V1ZG9FbGVtZW50VHlwZU1hcC5pbgpAQCAtNiw2ICs2LDcgQEAgY3Vl
CiBmaXJzdC1sZXR0ZXIKIGZpcnN0LWxpbmUKIG1hcmtlcgorcGFydAogcGxhY2Vob2xkZXIsIFBz
ZXVkb0VsZW1lbnRXZWJLaXRDdXN0b20KIC13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIFBzZXVk
b0VsZW1lbnRXZWJLaXRDdXN0b21MZWdhY3lQcmVmaXhlZAogLXdlYmtpdC1yZXNpemVyCkBAIC0x
NiwzICsxNyw0IEBAIHBsYWNlaG9sZGVyLCBQc2V1ZG9FbGVtZW50V2ViS2l0Q3VzdG9tCiAtd2Vi
a2l0LXNjcm9sbGJhci10cmFjawogLXdlYmtpdC1zY3JvbGxiYXItdHJhY2stcGllY2UKIHNlbGVj
dGlvbgorc2xvdHRlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQ
YXJzZXJTZWxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlclNl
bGVjdG9yLmNwcAppbmRleCBhMDg3MGQzNzYyYy4uM2EyOTcyOTlkZGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyU2VsZWN0b3IuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyU2VsZWN0b3IuY3BwCkBAIC01MywxNSArNTMs
OCBAQCBzdGQ6OnVuaXF1ZV9wdHI8Q1NTUGFyc2VyU2VsZWN0b3I+IENTU1BhcnNlclNlbGVjdG9y
OjpwYXJzZVBhZ2VQc2V1ZG9TZWxlY3RvcihTdAogc3RkOjp1bmlxdWVfcHRyPENTU1BhcnNlclNl
bGVjdG9yPiBDU1NQYXJzZXJTZWxlY3Rvcjo6cGFyc2VQc2V1ZG9FbGVtZW50U2VsZWN0b3IoU3Ry
aW5nVmlldyBwc2V1ZG9UeXBlU3RyaW5nKQogewogICAgIGF1dG8gcHNldWRvVHlwZSA9IENTU1Nl
bGVjdG9yOjpwYXJzZVBzZXVkb0VsZW1lbnRUeXBlKHBzZXVkb1R5cGVTdHJpbmcpOwotICAgIGlm
IChwc2V1ZG9UeXBlID09IENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50VW5rbm93bikgewotICAg
ICAgICAvLyBGSVhNRS1ORVdQQVJTRVI6IFdlIGNhbid0IGFkZCAic2xvdHRlZCIgdG8gdGhlIG1h
cCB3aXRob3V0IGJyZWFraW5nIHRoZSBvbGQKLSAgICAgICAgLy8gcGFyc2VyLCBzbyB0aGlzIGhh
Y2sgZW5zdXJlcyB0aGUgbmV3IHBhcnNlciBzdGlsbCByZWNvZ25pemVzIGl0LiBXaGVuIHRoZSBu
ZXcKLSAgICAgICAgLy8gcGFyc2VyIHR1cm5zIG9uLCB3ZSBjYW4gYWRkICJzbG90dGVkIiB0byB0
aGUgbWFwIGFuZCByZW1vdmUgdGhpcyBjb2RlLgotICAgICAgICBpZiAocHNldWRvVHlwZVN0cmlu
Zy5zdGFydHNXaXRoSWdub3JpbmdBU0NJSUNhc2UoInNsb3R0ZWQiKSkKLSAgICAgICAgICAgIHBz
ZXVkb1R5cGUgPSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudFNsb3R0ZWQ7Ci0gICAgICAgIGVs
c2UKLSAgICAgICAgICAgIHJldHVybiBudWxscHRyOwotICAgIH0KKyAgICBpZiAocHNldWRvVHlw
ZSA9PSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudFVua25vd24pCisgICAgICAgIHJldHVybiBu
dWxscHRyOwogCiAgICAgYXV0byBzZWxlY3RvciA9IG1ha2VVbmlxdWU8Q1NTUGFyc2VyU2VsZWN0
b3I+KCk7CiAgICAgc2VsZWN0b3ItPm1fc2VsZWN0b3ItPnNldE1hdGNoKENTU1NlbGVjdG9yOjpQ
c2V1ZG9FbGVtZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NT
UGFyc2VyU2VsZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyU2Vs
ZWN0b3IuaAppbmRleCBkOGUwNzRiYjc5ZC4uN2M0NmE3YjVlNjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyU2VsZWN0b3IuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlclNlbGVjdG9yLmgKQEAgLTEwNyw2ICsxMDcsNyBAQCBp
bmxpbmUgYm9vbCBDU1NQYXJzZXJTZWxlY3Rvcjo6bmVlZHNJbXBsaWNpdFNoYWRvd0NvbWJpbmF0
b3JGb3JNYXRjaGluZygpIGNvbnN0CiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQogICAgICAgICAg
ICAgfHwgcHNldWRvRWxlbWVudFR5cGUoKSA9PSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudEN1
ZQogI2VuZGlmCisgICAgICAgICAgICB8fCBwc2V1ZG9FbGVtZW50VHlwZSgpID09IENTU1NlbGVj
dG9yOjpQc2V1ZG9FbGVtZW50UGFydAogICAgICAgICAgICAgfHwgcHNldWRvRWxlbWVudFR5cGUo
KSA9PSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudFdlYktpdEN1c3RvbUxlZ2FjeVByZWZpeGVk
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NTZWxlY3Rv
clBhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1NlbGVjdG9yUGFyc2Vy
LmNwcAppbmRleCBmMzMyM2IyMjZiNC4uN2QwZDc3N2MyMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTU2VsZWN0b3JQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9wYXJzZXIvQ1NTU2VsZWN0b3JQYXJzZXIuY3BwCkBAIC00NjIsNiArNDYyLDcgQEAg
c3RhdGljIGJvb2wgaXNPbmx5UHNldWRvRWxlbWVudEZ1bmN0aW9uKENTU1NlbGVjdG9yOjpQc2V1
ZG9FbGVtZW50VHlwZSBwc2V1ZG9FbGUKIHsKICAgICAvLyBOb3RlIHRoYXQgd2Ugb21pdCBjdWUg
c2luY2UgaXQgY2FuIGJlIGJvdGggYW4gaWRlbnQgb3IgYSBmdW5jdGlvbi4KICAgICBzd2l0Y2gg
KHBzZXVkb0VsZW1lbnRUeXBlKSB7CisgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVu
dFBhcnQ6CiAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudFNsb3R0ZWQ6CiAgICAg
ICAgIHJldHVybiB0cnVlOwogICAgIGRlZmF1bHQ6CkBAIC02MTYsNiArNjE3LDE2IEBAIHN0ZDo6
dW5pcXVlX3B0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gQ1NTU2VsZWN0b3JQYXJzZXI6OmNvbnN1bWVQ
c2V1ZG8oQ1NTUGFyc2VyVG9rCiAgICAgICAgICAgICByZXR1cm4gc2VsZWN0b3I7CiAgICAgICAg
IH0KICNlbmRpZgorICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50UGFydDog
eworICAgICAgICAgICAgRGlzYWxsb3dQc2V1ZG9FbGVtZW50c1Njb3BlIHNjb3BlKHRoaXMpOwor
CisgICAgICAgICAgICAvLyBGSVhNRTogUGFyc2UgYSBsaXN0IG9mIHBhcnRzLgorICAgICAgICAg
ICAgY29uc3QgQ1NTUGFyc2VyVG9rZW4mIGlkZW50ID0gYmxvY2suY29uc3VtZUluY2x1ZGluZ1do
aXRlc3BhY2UoKTsKKyAgICAgICAgICAgIGlmIChpZGVudC50eXBlKCkgIT0gSWRlbnRUb2tlbiB8
fCAhYmxvY2suYXRFbmQoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAg
ICAgICAgIHNlbGVjdG9yLT5zZXRBcmd1bWVudChpZGVudC52YWx1ZSgpLnRvQXRvbVN0cmluZygp
KTsKKyAgICAgICAgICAgIHJldHVybiBzZWxlY3RvcjsKKyAgICAgICAgfQogICAgICAgICBjYXNl
IENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50U2xvdHRlZDogewogICAgICAgICAgICAgRGlzYWxs
b3dQc2V1ZG9FbGVtZW50c1Njb3BlIHNjb3BlKHRoaXMpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAK
aW5kZXggNTAxNDRhOTBmZmMuLjEyZjZlM2NkM2RmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBA
IC0zNDM1LDcgKzM0MzUsNyBAQCBET01Ub2tlbkxpc3QmIEVsZW1lbnQ6OmNsYXNzTGlzdCgpCiAK
IGlubGluZSBTcGFjZVNwbGl0U3RyaW5nIEVsZW1lbnQ6OnBhcnROYW1lcygpIGNvbnN0CiB7Ci0g
ICAgcmV0dXJuIGVsZW1lbnRSYXJlRGF0YSgpID8gZWxlbWVudFJhcmVEYXRhKCktPnBhcnROYW1l
cygpIDogU3BhY2VTcGxpdFN0cmluZygpOworICAgIHJldHVybiBoYXNSYXJlRGF0YSgpID8gZWxl
bWVudFJhcmVEYXRhKCktPnBhcnROYW1lcygpIDogU3BhY2VTcGxpdFN0cmluZygpOwogfQogCiBE
T01Ub2tlbkxpc3QmIEVsZW1lbnQ6OnBhcnQoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380015</attachid>
            <date>2019-10-02 06:33:21 -0700</date>
            <delta_ts>2019-10-02 10:48:12 -0700</delta_ts>
            <desc>patch</desc>
            <filename>css-shadow-parts-pseudo-2.patch</filename>
            <type>text/plain</type>
            <size>24789</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGFlMTVjMzMzMjI0Li4zY2M4NGIyZGM2
OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTkt
MTAtMDIgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgorCisgICAgICAgIFtDU1Mg
U2hhZG93IFBhcnRzXSBCYXNpYyA6OnBhcnQoKSBwc2V1ZG8gZWxlbWVudCBzdXBwb3J0CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI0NTYKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9hbGwtaG9zdHMtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9jb21wbGV4LW1h
dGNoaW5nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1zaGFkb3ctcGFydHMvaW5uZXItaG9zdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2hhZG93LXBhcnRzL2ludmFsaWRhdGlvbi1jaGFuZ2UtcGFy
dC1uYW1lLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1zaGFkb3ctcGFydHMvaW52YWxpZGF0aW9uLWNoYW5nZS1wYXJ0LW5hbWUtaWRsLWRvbXRva2Vu
bGlzdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
c2hhZG93LXBhcnRzL2ludmFsaWRhdGlvbi1jaGFuZ2UtcGFydC1uYW1lLWlkbC1zZXR0ZXItZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1w
YXJ0cy9pbnZhbGlkYXRpb24tY29tcGxleC1zZWxlY3Rvci1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2hhZG93LXBhcnRzL3ByZWNlZGVuY2UtcGFy
dC12cy1wYXJ0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1zaGFkb3ctcGFydHMvc2ltcGxlLWV4cGVjdGVkLnR4dDoKKwogMjAxOS0xMC0wMSAgQW50
dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgW0NTUyBTaGFkb3cgUGFy
dHNdIFBhcnNlICdwYXJ0JyBhdHRyaWJ1dGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaGFkb3ctcGFydHMvYWxsLWhvc3Rz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1zaGFkb3ctcGFydHMvYWxsLWhvc3RzLWV4cGVjdGVkLnR4dAppbmRleCBjYjg1
ZTc5OWUzOS4uMDk2ZDZiODcwMzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaGFkb3ctcGFydHMvYWxsLWhvc3RzLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3Mtc2hhZG93LXBhcnRzL2FsbC1ob3N0cy1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1
IEBACiBUaGUgZm9sbG93aW5nIHRleHQgc2hvdWxkIGJlIGdyZWVuOiBUaGUgZm9sbG93aW5nIHRl
eHQgc2hvdWxkIGJlIGdyZWVuOiAKIAotRkFJTCA6OnBhcnQgd2l0aCBob3N0IHNlbGVjdG9yIHN0
eWxlcyBpbiBmaXJzdCBob3N0IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMCwgMTI4LCAw
KSIgYnV0IGdvdCAicmdiKDI1NSwgMCwgMCkiCi1GQUlMIDo6cGFydCB3aXRoIGhvc3Qgc2VsZWN0
b3Igc3R5bGVzIGluIHNlY29uZCBob3N0IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMCwg
MTI4LCAwKSIgYnV0IGdvdCAicmdiKDI1NSwgMCwgMCkiCitQQVNTIDo6cGFydCB3aXRoIGhvc3Qg
c2VsZWN0b3Igc3R5bGVzIGluIGZpcnN0IGhvc3QgCitQQVNTIDo6cGFydCB3aXRoIGhvc3Qgc2Vs
ZWN0b3Igc3R5bGVzIGluIHNlY29uZCBob3N0IAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2hhZG93LXBhcnRzL2NvbXBs
ZXgtbWF0Y2hpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9jb21wbGV4LW1hdGNoaW5nLWV4cGVj
dGVkLnR4dAppbmRleCA5MDE5NDdjODZlZS4uM2Y2ZTFjZWY2ZGEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaGFkb3ctcGFy
dHMvY29tcGxleC1tYXRjaGluZy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9jb21wbGV4LW1h
dGNoaW5nLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIFRoZSBmb2xsb3dpbmcgdGV4dCBz
aG91bGQgYmUgZ3JlZW46CiAKLUZBSUwgQ29tcGxleCBzZWxlY3RvciBmb3IgaG9zdCB3b3JrcyBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDAsIDEyOCwgMCkiIGJ1dCBnb3QgInJnYigyNTUs
IDAsIDApIgorUEFTUyBDb21wbGV4IHNlbGVjdG9yIGZvciBob3N0IHdvcmtzIAogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
c2hhZG93LXBhcnRzL2lubmVyLWhvc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9pbm5lci1ob3N0
LWV4cGVjdGVkLnR4dAppbmRleCAwZmQyZGE0MjlhNC4uMTI1OTFjNWZlY2QgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaGFk
b3ctcGFydHMvaW5uZXItaG9zdC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9pbm5lci1ob3N0
LWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUgQEAKIFRoZSBmb2xsb3dpbmcgdGV4dCBzaG91bGQg
YmUgZ3JlZW46IAogCi1GQUlMIFBhcnQgaW4gb3V0ZXIgaG9zdCBpcyBzdHlsZWQgYnkgZG9jdW1l
bnQgc3R5bGUgc2hlZXQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigwLCAxMjgsIDApIiBi
dXQgZ290ICJyZ2IoMjU1LCAwLCAwKSIKK1BBU1MgUGFydCBpbiBvdXRlciBob3N0IGlzIHN0eWxl
ZCBieSBkb2N1bWVudCBzdHlsZSBzaGVldCAKIFBBU1MgUGFydCBpbiBpbm5lciBob3N0IGlzIG5v
dCBzdHlsZWQgYnkgZG9jdW1lbnQgc3R5bGUgc2hlZXQgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaGFkb3ctcGFydHMv
aW52YWxpZGF0aW9uLWNoYW5nZS1wYXJ0LW5hbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9pbnZh
bGlkYXRpb24tY2hhbmdlLXBhcnQtbmFtZS1leHBlY3RlZC50eHQKaW5kZXggMmE2NGQ3MWFlNGEu
LjNiYjdiZDhmZWQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2hhZG93LXBhcnRzL2ludmFsaWRhdGlvbi1jaGFuZ2UtcGFy
dC1uYW1lLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2hhZG93LXBhcnRzL2ludmFsaWRhdGlvbi1jaGFuZ2UtcGFy
dC1uYW1lLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIFRoZSBmb2xsb3dpbmcgdGV4dCBz
aG91bGQgYmUgZ3JlZW46CiAKLUZBSUwgUGFydCBpbiBzZWxlY3RlZCBob3N0IGNoYW5nZWQgY29s
b3IgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlICJyZ2IoMCwgMTI4LCAw
KSIKK0ZBSUwgUGFydCBpbiBzZWxlY3RlZCBob3N0IGNoYW5nZWQgY29sb3IgYXNzZXJ0X25vdF9l
cXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlICJyZ2IoMjU1LCAwLCAwKSIKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNo
YWRvdy1wYXJ0cy9pbnZhbGlkYXRpb24tY2hhbmdlLXBhcnQtbmFtZS1pZGwtZG9tdG9rZW5saXN0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1zaGFkb3ctcGFydHMvaW52YWxpZGF0aW9uLWNoYW5nZS1wYXJ0LW5hbWUtaWRs
LWRvbXRva2VubGlzdC1leHBlY3RlZC50eHQKaW5kZXggNmZmN2M2MGZiYjguLjNmMDRhYjcyMWIw
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3Mtc2hhZG93LXBhcnRzL2ludmFsaWRhdGlvbi1jaGFuZ2UtcGFydC1uYW1lLWlkbC1k
b210b2tlbmxpc3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaGFkb3ctcGFydHMvaW52YWxpZGF0aW9uLWNoYW5n
ZS1wYXJ0LW5hbWUtaWRsLWRvbXRva2VubGlzdC1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBA
CiBUaGUgZm9sbG93aW5nIHRleHQgc2hvdWxkIGJlIGdyZWVuOgogCi1GQUlMIFBhcnQgaW4gc2Vs
ZWN0ZWQgaG9zdCBjaGFuZ2VkIGNvbG9yIHZpYSBwYXJ0IElETCBET01Ub2tlbkxpc3QgYXR0cmli
dXRlLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDAsIDEyOCwgMCkiIGJ1dCBnb3QgInJn
YigwLCAwLCAyNTUpIgorUEFTUyBQYXJ0IGluIHNlbGVjdGVkIGhvc3QgY2hhbmdlZCBjb2xvciB2
aWEgcGFydCBJREwgRE9NVG9rZW5MaXN0IGF0dHJpYnV0ZS4gCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaGFkb3ctcGFy
dHMvaW52YWxpZGF0aW9uLWNoYW5nZS1wYXJ0LW5hbWUtaWRsLXNldHRlci1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2hh
ZG93LXBhcnRzL2ludmFsaWRhdGlvbi1jaGFuZ2UtcGFydC1uYW1lLWlkbC1zZXR0ZXItZXhwZWN0
ZWQudHh0CmluZGV4IGFiNWEwODAxYzNjLi5kM2YzMTkyNmZjMyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0
cy9pbnZhbGlkYXRpb24tY2hhbmdlLXBhcnQtbmFtZS1pZGwtc2V0dGVyLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
c2hhZG93LXBhcnRzL2ludmFsaWRhdGlvbi1jaGFuZ2UtcGFydC1uYW1lLWlkbC1zZXR0ZXItZXhw
ZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogVGhlIGZvbGxvd2luZyB0ZXh0IHNob3VsZCBiZSBn
cmVlbjoKIAotRkFJTCBQYXJ0IGluIHNlbGVjdGVkIGhvc3QgY2hhbmdlZCBjb2xvciB2aWEgcGFy
dCBJREwgYXR0cmlidXRlIHNldHRlci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigwLCAx
MjgsIDApIiBidXQgZ290ICJyZ2IoMCwgMCwgMjU1KSIKK1BBU1MgUGFydCBpbiBzZWxlY3RlZCBo
b3N0IGNoYW5nZWQgY29sb3IgdmlhIHBhcnQgSURMIGF0dHJpYnV0ZSBzZXR0ZXIuIAogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3Mtc2hhZG93LXBhcnRzL2ludmFsaWRhdGlvbi1jb21wbGV4LXNlbGVjdG9yLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1z
aGFkb3ctcGFydHMvaW52YWxpZGF0aW9uLWNvbXBsZXgtc2VsZWN0b3ItZXhwZWN0ZWQudHh0Cmlu
ZGV4IDJhNjRkNzFhZTRhLi5jNGJjYzI0ZTgxOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9pbnZhbGlk
YXRpb24tY29tcGxleC1zZWxlY3Rvci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9pbnZhbGlk
YXRpb24tY29tcGxleC1zZWxlY3Rvci1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiBUaGUg
Zm9sbG93aW5nIHRleHQgc2hvdWxkIGJlIGdyZWVuOgogCi1GQUlMIFBhcnQgaW4gc2VsZWN0ZWQg
aG9zdCBjaGFuZ2VkIGNvbG9yIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1
ZSAicmdiKDAsIDEyOCwgMCkiCitQQVNTIFBhcnQgaW4gc2VsZWN0ZWQgaG9zdCBjaGFuZ2VkIGNv
bG9yIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3Mtc2hhZG93LXBhcnRzL3ByZWNlZGVuY2UtcGFydC12cy1wYXJ0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1zaGFkb3ctcGFydHMvcHJlY2VkZW5jZS1wYXJ0LXZzLXBhcnQtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDdlZWViNDQ3ZDAyLi5jN2Y4NzE2MGZkYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9wcmVjZWRl
bmNlLXBhcnQtdnMtcGFydC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9wcmVjZWRlbmNlLXBh
cnQtdnMtcGFydC1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiBUaGUgZm9sbG93aW5nIHRl
eHQgc2hvdWxkIGJlIGdyZWVuOiAKIAotRkFJTCBTdHlsZSBmcm9tIGRvY3VtZW50IG92ZXJyaWRl
cyBzdHlsZSBmcm9tIG91dGVyIENFIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMCwgMTI4
LCAwKSIgYnV0IGdvdCAicmdiKDAsIDAsIDI1NSkiCitGQUlMIFN0eWxlIGZyb20gZG9jdW1lbnQg
b3ZlcnJpZGVzIHN0eWxlIGZyb20gb3V0ZXIgQ0UgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJn
YigwLCAxMjgsIDApIiBidXQgZ290ICJyZ2IoMjU1LCAwLCAwKSIKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1w
YXJ0cy9zaW1wbGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9zaW1wbGUtZXhwZWN0ZWQudHh0Cmlu
ZGV4IGY5NzA0YTc3MTRjLi5jNTcxMGM3NDU1NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9zaW1wbGUt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1zaGFkb3ctcGFydHMvc2ltcGxlLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsx
LDQgQEAKIFRoZSBmb2xsb3dpbmcgdGV4dCBzaG91bGQgYmUgZ3JlZW46IAogCi1GQUlMIFBhcnQg
aW4gc2VsZWN0ZWQgaG9zdCBpcyBzdHlsZWQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigw
LCAxMjgsIDApIiBidXQgZ290ICJyZ2IoMjU1LCAwLCAwKSIKK1BBU1MgUGFydCBpbiBzZWxlY3Rl
ZCBob3N0IGlzIHN0eWxlZCAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDFkNmNkMmY0NzljLi41NmNlMWVjMWEz
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDE5LTEwLTAyICBBbnR0aSBLb2l2aXN0
byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbQ1NTIFNoYWRvdyBQYXJ0c10gQmFzaWMg
OjpwYXJ0KCkgcHNldWRvIGVsZW1lbnQgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyNDU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IGJhc2ljIHBhcnNpbmcgYW5kIHNlbGVj
dG9yIG1hdGNoaW5nIGZvciA6OnBhcnQoKSBwc2V1ZG8gZWxlbWVudC4KKworICAgICAgICAqIGNz
cy9DU1NTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTZWxlY3Rvcjo6cHNldWRv
SWQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU2VsZWN0b3I6OnBhcnNlUHNldWRvRWxlbWVudFR5
cGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU2VsZWN0b3I6OnNlbGVjdG9yVGV4dCBjb25zdCk6
CisgICAgICAgICogY3NzL0NTU1NlbGVjdG9yLmg6CisgICAgICAgICogY3NzL0VsZW1lbnRSdWxl
Q29sbGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRSdWxlQ29sbGVjdG9yOjpt
YXRjaEF1dGhvclJ1bGVzKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRSdWxlQ29sbGVjdG9y
OjptYXRjaFBhcnRQc2V1ZG9FbGVtZW50UnVsZXMpOgorICAgICAgICAqIGNzcy9FbGVtZW50UnVs
ZUNvbGxlY3Rvci5oOgorICAgICAgICAqIGNzcy9SdWxlU2V0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJ1bGVTZXQ6OmFkZFJ1bGUpOgorICAgICAgICAqIGNzcy9SdWxlU2V0Lmg6CisgICAgICAg
IChXZWJDb3JlOjpSdWxlU2V0OjpwYXJ0UHNldWRvRWxlbWVudFJ1bGVzIGNvbnN0KToKKyAgICAg
ICAgKiBjc3MvU2VsZWN0b3JDaGVja2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9y
Q2hlY2tlcjo6Y2hlY2tPbmUgY29uc3QpOgorICAgICAgICAqIGNzcy9TZWxlY3RvclBzZXVkb0Vs
ZW1lbnRUeXBlTWFwLmluOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUGFyc2VyU2VsZWN0b3Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyU2VsZWN0b3I6OnBhcnNlUHNldWRvRWxl
bWVudFNlbGVjdG9yKToKKworICAgICAgICBBbHNvIGFkZGVkIDo6c2xvdHRlZCB0byBTZWxlY3Rv
clBzZXVkb0VsZW1lbnRUeXBlTWFwLmluIHRvIHJlc29sdmUgYSBGSVhNRSBoZXJlLgorCisgICAg
ICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJTZWxlY3Rvci5oOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTUGFyc2VyU2VsZWN0b3I6Om5lZWRzSW1wbGljaXRTaGFkb3dDb21iaW5hdG9yRm9yTWF0Y2hp
bmcgY29uc3QpOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTU2VsZWN0b3JQYXJzZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6aXNPbmx5UHNldWRvRWxlbWVudEZ1bmN0aW9uKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1NlbGVjdG9yUGFyc2VyOjpjb25zdW1lUHNldWRvKToKKworICAgICAgICBQ
YXJzZSBzaW5nbGUgdmFsdWVzIG9ubHksIG11bHRpcGFydCA6OnBhcnQoZm9vIGJhcikgY2FzZSBp
cyBub3QgeWV0IGhhbmRsZWQuCisKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50OjpwYXJ0TmFtZXMgY29uc3QpOgorCiAyMDE5LTEwLTAxICBBbGV4
IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUHJvZ3Jl
c3MgdG93YXJkcyBhIGZ1bmN0aW9uaW5nIENNYWtlIGJ1aWxkIG9uIE1hYwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NTZWxlY3Rvci5jcHAKaW5kZXggNDc1NDJhZjczYjMuLjNkYjVlMzJhODYyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NTZWxlY3Rvci5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJDU1NNYXJr
dXAuaCIKICNpbmNsdWRlICJDU1NTZWxlY3Rvckxpc3QuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMu
aCIKKyNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCiAjaW5jbHVkZSAiU2VsZWN0
b3JQc2V1ZG9UeXBlTWFwLmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRl
IDx3dGYvU3RkTGliRXh0cmFzLmg+CkBAIC0yOTgsNiArMjk5LDcgQEAgUHNldWRvSWQgQ1NTU2Vs
ZWN0b3I6OnBzZXVkb0lkKFBzZXVkb0VsZW1lbnRUeXBlIHR5cGUpCiAgICAgY2FzZSBQc2V1ZG9F
bGVtZW50Q3VlOgogI2VuZGlmCiAgICAgY2FzZSBQc2V1ZG9FbGVtZW50U2xvdHRlZDoKKyAgICBj
YXNlIFBzZXVkb0VsZW1lbnRQYXJ0OgogICAgIGNhc2UgUHNldWRvRWxlbWVudFVua25vd246CiAg
ICAgY2FzZSBQc2V1ZG9FbGVtZW50V2ViS2l0Q3VzdG9tOgogICAgIGNhc2UgUHNldWRvRWxlbWVu
dFdlYktpdEN1c3RvbUxlZ2FjeVByZWZpeGVkOgpAQCAtMzE3LDYgKzMxOSw5IEBAIENTU1NlbGVj
dG9yOjpQc2V1ZG9FbGVtZW50VHlwZSBDU1NTZWxlY3Rvcjo6cGFyc2VQc2V1ZG9FbGVtZW50VHlw
ZShTdHJpbmdWaWV3IG5hCiAgICAgICAgIGlmIChuYW1lLnN0YXJ0c1dpdGgoIi13ZWJraXQtIikp
CiAgICAgICAgICAgICB0eXBlID0gUHNldWRvRWxlbWVudFdlYktpdEN1c3RvbTsKICAgICB9Cisg
ICAgaWYgKHR5cGUgPT0gUHNldWRvRWxlbWVudFBhcnQgJiYgIVJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnNoYXJlZEZlYXR1cmVzKCkuY3NzU2hhZG93UGFydHNFbmFibGVkKCkpCisgICAgICAgIHJl
dHVybiBQc2V1ZG9FbGVtZW50VW5rbm93bjsKKwogICAgIHJldHVybiB0eXBlOwogfQogCkBAIC02
NjIsNiArNjY3LDExIEBAIFN0cmluZyBDU1NTZWxlY3Rvcjo6c2VsZWN0b3JUZXh0KGNvbnN0IFN0
cmluZyYgcmlnaHRTaWRlKSBjb25zdAogICAgICAgICAgICAgICAgIGNzLT5zZWxlY3Rvckxpc3Qo
KS0+YnVpbGRTZWxlY3RvcnNUZXh0KHN0cik7CiAgICAgICAgICAgICAgICAgc3RyLmFwcGVuZCgn
KScpOwogICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBDU1NTZWxlY3Rv
cjo6UHNldWRvRWxlbWVudFBhcnQ6CisgICAgICAgICAgICAgICAgc3RyLmFwcGVuZExpdGVyYWwo
Ijo6cGFydCgiKTsKKyAgICAgICAgICAgICAgICBzdHIuYXBwZW5kKGNzLT5hcmd1bWVudCgpKTsK
KyAgICAgICAgICAgICAgICBzdHIuYXBwZW5kKCcpJyk7CisgICAgICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50V2ViS2l0Q3VzdG9t
TGVnYWN5UHJlZml4ZWQ6CiAgICAgICAgICAgICAgICAgaWYgKGNzLT52YWx1ZSgpID09ICJwbGFj
ZWhvbGRlciIpCiAgICAgICAgICAgICAgICAgICAgIHN0ci5hcHBlbmRMaXRlcmFsKCI6Oi13ZWJr
aXQtaW5wdXQtcGxhY2Vob2xkZXIiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NTZWxlY3Rvci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgKaW5kZXggNmJl
OTBjYzkxMGQuLmZkMzljMzVhZmNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
U2VsZWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaApAQCAtMTc4
LDYgKzE3OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIFBzZXVkb0VsZW1l
bnRGaXJzdExldHRlciwKICAgICAgICAgICAgIFBzZXVkb0VsZW1lbnRGaXJzdExpbmUsCiAgICAg
ICAgICAgICBQc2V1ZG9FbGVtZW50TWFya2VyLAorICAgICAgICAgICAgUHNldWRvRWxlbWVudFBh
cnQsCiAgICAgICAgICAgICBQc2V1ZG9FbGVtZW50UmVzaXplciwKICAgICAgICAgICAgIFBzZXVk
b0VsZW1lbnRTY3JvbGxiYXIsCiAgICAgICAgICAgICBQc2V1ZG9FbGVtZW50U2Nyb2xsYmFyQnV0
dG9uLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0VsZW1lbnRSdWxlQ29sbGVjdG9y
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHAKaW5kZXgg
MDViNDU3ZmQ2ODIuLmU2ODNhOTdlMWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
RWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9FbGVtZW50
UnVsZUNvbGxlY3Rvci5jcHAKQEAgLTIwMSw5ICsyMDEsMTMgQEAgdm9pZCBFbGVtZW50UnVsZUNv
bGxlY3Rvcjo6bWF0Y2hBdXRob3JSdWxlcyhib29sIGluY2x1ZGVFbXB0eVJ1bGVzKQogICAgIGlm
IChtX2VsZW1lbnQuc2hhZG93Um9vdCgpKQogICAgICAgICBtYXRjaEhvc3RQc2V1ZG9DbGFzc1J1
bGVzKGluY2x1ZGVFbXB0eVJ1bGVzLCBydWxlUmFuZ2UpOwogCi0gICAgaWYgKG1fZWxlbWVudC5p
c0luU2hhZG93VHJlZSgpKQorICAgIGlmIChtX2VsZW1lbnQuaXNJblNoYWRvd1RyZWUoKSkgewog
ICAgICAgICBtYXRjaEF1dGhvclNoYWRvd1BzZXVkb0VsZW1lbnRSdWxlcyhpbmNsdWRlRW1wdHlS
dWxlcywgcnVsZVJhbmdlKTsKIAorICAgICAgICBpZiAoIW1fZWxlbWVudC5wYXJ0TmFtZXMoKS5p
c0VtcHR5KCkpCisgICAgICAgICAgICBtYXRjaFBhcnRQc2V1ZG9FbGVtZW50UnVsZXMoaW5jbHVk
ZUVtcHR5UnVsZXMsIHJ1bGVSYW5nZSk7CisgICAgfQorCiAgICAgc29ydEFuZFRyYW5zZmVyTWF0
Y2hlZFJ1bGVzKCk7CiB9CiAKQEAgLTI1OSw2ICsyNjMsMTYgQEAgdm9pZCBFbGVtZW50UnVsZUNv
bGxlY3Rvcjo6bWF0Y2hTbG90dGVkUHNldWRvRWxlbWVudFJ1bGVzKGJvb2wgaW5jbHVkZUVtcHR5
UnVsZXMKICAgICB9CiB9CiAKK3ZvaWQgRWxlbWVudFJ1bGVDb2xsZWN0b3I6Om1hdGNoUGFydFBz
ZXVkb0VsZW1lbnRSdWxlcyhib29sIGluY2x1ZGVFbXB0eVJ1bGVzLCBTdHlsZVJlc29sdmVyOjpS
dWxlUmFuZ2UmIHJ1bGVSYW5nZSkKK3sKKyAgICBBU1NFUlQobV9lbGVtZW50LmlzSW5TaGFkb3dU
cmVlKCkpOworICAgIGF1dG8mIHNoYWRvd1Jvb3QgPSAqbV9lbGVtZW50LmNvbnRhaW5pbmdTaGFk
b3dSb290KCk7CisgICAgYXV0byYgaG9zdEF1dGhvclJ1bGVzID0gU3R5bGU6OlNjb3BlOjpmb3JO
b2RlKCpzaGFkb3dSb290Lmhvc3QoKSkucmVzb2x2ZXIoKS5ydWxlU2V0cygpLmF1dGhvclN0eWxl
KCk7CisKKyAgICBNYXRjaFJlcXVlc3QgaG9zdEF1dGhvclJlcXVlc3QgeyAmaG9zdEF1dGhvclJ1
bGVzLCBpbmNsdWRlRW1wdHlSdWxlcywgU3R5bGU6OlNjb3BlT3JkaW5hbDo6Q29udGFpbmluZ0hv
c3QgfTsKKyAgICBjb2xsZWN0TWF0Y2hpbmdSdWxlc0Zvckxpc3QoJmhvc3RBdXRob3JSdWxlcy5w
YXJ0UHNldWRvRWxlbWVudFJ1bGVzKCksIGhvc3RBdXRob3JSZXF1ZXN0LCBydWxlUmFuZ2UpOwor
fQorCiB2b2lkIEVsZW1lbnRSdWxlQ29sbGVjdG9yOjpjb2xsZWN0TWF0Y2hpbmdTaGFkb3dQc2V1
ZG9FbGVtZW50UnVsZXMoY29uc3QgTWF0Y2hSZXF1ZXN0JiBtYXRjaFJlcXVlc3QsIFN0eWxlUmVz
b2x2ZXI6OlJ1bGVSYW5nZSYgcnVsZVJhbmdlKQogewogICAgIEFTU0VSVChtYXRjaFJlcXVlc3Qu
cnVsZVNldCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRWxlbWVudFJ1bGVDb2xs
ZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9FbGVtZW50UnVsZUNvbGxlY3Rvci5oCmluZGV4
IDJmNjM1ODVmMTU1Li5hMDYyMzc4YTk3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0VsZW1lbnRSdWxlQ29sbGVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0VsZW1lbnRS
dWxlQ29sbGVjdG9yLmgKQEAgLTc1LDYgKzc1LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIG1hdGNo
QXV0aG9yU2hhZG93UHNldWRvRWxlbWVudFJ1bGVzKGJvb2wgaW5jbHVkZUVtcHR5UnVsZXMsIFN0
eWxlUmVzb2x2ZXI6OlJ1bGVSYW5nZSYpOwogICAgIHZvaWQgbWF0Y2hIb3N0UHNldWRvQ2xhc3NS
dWxlcyhib29sIGluY2x1ZGVFbXB0eVJ1bGVzLCBTdHlsZVJlc29sdmVyOjpSdWxlUmFuZ2UmKTsK
ICAgICB2b2lkIG1hdGNoU2xvdHRlZFBzZXVkb0VsZW1lbnRSdWxlcyhib29sIGluY2x1ZGVFbXB0
eVJ1bGVzLCBTdHlsZVJlc29sdmVyOjpSdWxlUmFuZ2UmKTsKKyAgICB2b2lkIG1hdGNoUGFydFBz
ZXVkb0VsZW1lbnRSdWxlcyhib29sIGluY2x1ZGVFbXB0eVJ1bGVzLCBTdHlsZVJlc29sdmVyOjpS
dWxlUmFuZ2UmKTsKIAogICAgIHZvaWQgY29sbGVjdE1hdGNoaW5nU2hhZG93UHNldWRvRWxlbWVu
dFJ1bGVzKGNvbnN0IE1hdGNoUmVxdWVzdCYsIFN0eWxlUmVzb2x2ZXI6OlJ1bGVSYW5nZSYpOwog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxSdWxlU2V0OjpSdWxlRGF0YVZlY3Rvcj4gY29sbGVjdFNsb3R0
ZWRQc2V1ZG9FbGVtZW50UnVsZXNGb3JTbG90KGJvb2wgaW5jbHVkZUVtcHR5UnVsZXMpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1J1bGVTZXQuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL1J1bGVTZXQuY3BwCmluZGV4IDNiYmJiZmViY2EwLi5kY2QwZTBkZTFiMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL1J1bGVTZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9SdWxlU2V0LmNwcApAQCAtMjIxLDYgKzIyMSw3IEBAIHZvaWQgUnVsZVNldDo6YWRkUnVsZShT
dHlsZVJ1bGUqIHJ1bGUsIHVuc2lnbmVkIHNlbGVjdG9ySW5kZXgsIHVuc2lnbmVkIHNlbGVjdG9y
CiAgICAgY29uc3QgQ1NTU2VsZWN0b3IqIGhvc3RQc2V1ZG9DbGFzc1NlbGVjdG9yID0gbnVsbHB0
cjsKICAgICBjb25zdCBDU1NTZWxlY3RvciogY3VzdG9tUHNldWRvRWxlbWVudFNlbGVjdG9yID0g
bnVsbHB0cjsKICAgICBjb25zdCBDU1NTZWxlY3Rvciogc2xvdHRlZFBzZXVkb0VsZW1lbnRTZWxl
Y3RvciA9IG51bGxwdHI7CisgICAgY29uc3QgQ1NTU2VsZWN0b3IqIHBhcnRQc2V1ZG9FbGVtZW50
U2VsZWN0b3IgPSBudWxscHRyOwogI2lmIEVOQUJMRShWSURFT19UUkFDSykKICAgICBjb25zdCBD
U1NTZWxlY3RvciogY3VlUHNldWRvRWxlbWVudFNlbGVjdG9yID0gbnVsbHB0cjsKICNlbmRpZgpA
QCAtMjU3LDYgKzI1OCw5IEBAIHZvaWQgUnVsZVNldDo6YWRkUnVsZShTdHlsZVJ1bGUqIHJ1bGUs
IHVuc2lnbmVkIHNlbGVjdG9ySW5kZXgsIHVuc2lnbmVkIHNlbGVjdG9yCiAgICAgICAgICAgICBj
YXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50U2xvdHRlZDoKICAgICAgICAgICAgICAgICBz
bG90dGVkUHNldWRvRWxlbWVudFNlbGVjdG9yID0gc2VsZWN0b3I7CiAgICAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50UGFydDoK
KyAgICAgICAgICAgICAgICBwYXJ0UHNldWRvRWxlbWVudFNlbGVjdG9yID0gc2VsZWN0b3I7Cisg
ICAgICAgICAgICAgICAgYnJlYWs7CiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQogICAgICAgICAg
ICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudEN1ZToKICAgICAgICAgICAgICAgICBj
dWVQc2V1ZG9FbGVtZW50U2VsZWN0b3IgPSBzZWxlY3RvcjsKQEAgLTMxNCw2ICszMTgsMTMgQEAg
dm9pZCBSdWxlU2V0OjphZGRSdWxlKFN0eWxlUnVsZSogcnVsZSwgdW5zaWduZWQgc2VsZWN0b3JJ
bmRleCwgdW5zaWduZWQgc2VsZWN0b3IKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIGlm
IChwYXJ0UHNldWRvRWxlbWVudFNlbGVjdG9yKSB7CisgICAgICAgIC8vIEZpbHRlcmluZyBkb2Vz
bid0IHdvcmsgYWNjcm9zcyBzaGFkb3cgYm91bmRhcmllcy4KKyAgICAgICAgcnVsZURhdGEuZGlz
YWJsZVNlbGVjdG9yRmlsdGVyaW5nKCk7CisgICAgICAgIG1fcGFydFBzZXVkb0VsZW1lbnRSdWxl
cy5hcHBlbmQocnVsZURhdGEpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgaWYgKGN1
c3RvbVBzZXVkb0VsZW1lbnRTZWxlY3RvcikgewogICAgICAgICAvLyBGSVhNRTogQ3VzdG9tIHBz
ZXVkbyBlbGVtZW50cyBhcmUgaGFuZGxlZCBieSB0aGUgc2hhZG93IHRyZWUncyBzZWxlY3RvciBm
aWx0ZXIuIEl0IGRvZXNuJ3Qga25vdyBhYm91dCB0aGUgbWFpbiBET00uCiAgICAgICAgIHJ1bGVE
YXRhLmRpc2FibGVTZWxlY3RvckZpbHRlcmluZygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL1J1bGVTZXQuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9SdWxlU2V0LmgKaW5kZXggMjM4
MGZlNzBjYTguLjYzNTVlOTM2NGZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvUnVs
ZVNldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9SdWxlU2V0LmgKQEAgLTEzOCw2ICsxMzgs
NyBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICBjb25zdCBSdWxlRGF0YVZlY3RvciYgaG9zdFBzZXVk
b0NsYXNzUnVsZXMoKSBjb25zdCB7IHJldHVybiBtX2hvc3RQc2V1ZG9DbGFzc1J1bGVzOyB9CiAg
ICAgY29uc3QgUnVsZURhdGFWZWN0b3ImIHNsb3R0ZWRQc2V1ZG9FbGVtZW50UnVsZXMoKSBjb25z
dCB7IHJldHVybiBtX3Nsb3R0ZWRQc2V1ZG9FbGVtZW50UnVsZXM7IH0KKyAgICBjb25zdCBSdWxl
RGF0YVZlY3RvciYgcGFydFBzZXVkb0VsZW1lbnRSdWxlcygpIGNvbnN0IHsgcmV0dXJuIG1fcGFy
dFBzZXVkb0VsZW1lbnRSdWxlczsgfQogICAgIGNvbnN0IFJ1bGVEYXRhVmVjdG9yKiBmb2N1c1Bz
ZXVkb0NsYXNzUnVsZXMoKSBjb25zdCB7IHJldHVybiAmbV9mb2N1c1BzZXVkb0NsYXNzUnVsZXM7
IH0KICAgICBjb25zdCBSdWxlRGF0YVZlY3RvciogdW5pdmVyc2FsUnVsZXMoKSBjb25zdCB7IHJl
dHVybiAmbV91bml2ZXJzYWxSdWxlczsgfQogCkBAIC0xNjIsNiArMTYzLDcgQEAgcHJpdmF0ZToK
ICNlbmRpZgogICAgIFJ1bGVEYXRhVmVjdG9yIG1faG9zdFBzZXVkb0NsYXNzUnVsZXM7CiAgICAg
UnVsZURhdGFWZWN0b3IgbV9zbG90dGVkUHNldWRvRWxlbWVudFJ1bGVzOworICAgIFJ1bGVEYXRh
VmVjdG9yIG1fcGFydFBzZXVkb0VsZW1lbnRSdWxlczsKICAgICBSdWxlRGF0YVZlY3RvciBtX2Zv
Y3VzUHNldWRvQ2xhc3NSdWxlczsKICAgICBSdWxlRGF0YVZlY3RvciBtX3VuaXZlcnNhbFJ1bGVz
OwogICAgIFZlY3RvcjxTdHlsZVJ1bGVQYWdlKj4gbV9wYWdlUnVsZXM7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TZWxlY3RvckNoZWNrZXIuY3BwCmluZGV4IGUxODNjYjg0MTc1Li4yMmExYWI2NmMzNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAKQEAgLTExMjQsMjcgKzExMjQsMzgg
QEAgYm9vbCBTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25lKENoZWNraW5nQ29udGV4dCYgY2hlY2tp
bmdDb250ZXh0LCBjb25zdCBMb2NhbENvbnQKICAgICAgICAgfQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgfQorCisgICAgaWYgKHNlbGVjdG9yLm1hdGNoKCkgPT0gQ1NTU2VsZWN0b3I6OlBz
ZXVkb0VsZW1lbnQpIHsKKyAgICAgICAgc3dpdGNoIChzZWxlY3Rvci5wc2V1ZG9FbGVtZW50VHlw
ZSgpKSB7CiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQotICAgIGlmIChzZWxlY3Rvci5tYXRjaCgp
ID09IENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50ICYmIHNlbGVjdG9yLnBzZXVkb0VsZW1lbnRU
eXBlKCkgPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnRDdWUpIHsKLSAgICAgICAgTG9jYWxD
b250ZXh0IHN1YmNvbnRleHQoY29udGV4dCk7CisgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBz
ZXVkb0VsZW1lbnRDdWU6IHsKKyAgICAgICAgICAgIExvY2FsQ29udGV4dCBzdWJjb250ZXh0KGNv
bnRleHQpOwogCi0gICAgICAgIGNvbnN0IENTU1NlbGVjdG9yKiBjb25zdCAmIHNlbGVjdG9yID0g
Y29udGV4dC5zZWxlY3RvcjsKLSAgICAgICAgZm9yIChzdWJjb250ZXh0LnNlbGVjdG9yID0gc2Vs
ZWN0b3ItPnNlbGVjdG9yTGlzdCgpLT5maXJzdCgpOyBzdWJjb250ZXh0LnNlbGVjdG9yOyBzdWJj
b250ZXh0LnNlbGVjdG9yID0gQ1NTU2VsZWN0b3JMaXN0OjpuZXh0KHN1YmNvbnRleHQuc2VsZWN0
b3IpKSB7Ci0gICAgICAgICAgICBzdWJjb250ZXh0LmZpcnN0U2VsZWN0b3JPZlRoZUZyYWdtZW50
ID0gc3ViY29udGV4dC5zZWxlY3RvcjsKLSAgICAgICAgICAgIHN1YmNvbnRleHQuaW5GdW5jdGlv
bmFsUHNldWRvQ2xhc3MgPSB0cnVlOwotICAgICAgICAgICAgc3ViY29udGV4dC5wc2V1ZG9FbGVt
ZW50RWZmZWN0aXZlID0gZmFsc2U7Ci0gICAgICAgICAgICBQc2V1ZG9JZFNldCBpZ25vcmVkRHlu
YW1pY1BzZXVkbzsKLSAgICAgICAgICAgIHVuc2lnbmVkIGlnbm9yZWRTcGVjaWZpY2l0eSA9IDA7
Ci0gICAgICAgICAgICBpZiAobWF0Y2hSZWN1cnNpdmVseShjaGVja2luZ0NvbnRleHQsIHN1YmNv
bnRleHQsIGlnbm9yZWREeW5hbWljUHNldWRvLCBpZ25vcmVkU3BlY2lmaWNpdHkpLm1hdGNoID09
IE1hdGNoOjpTZWxlY3Rvck1hdGNoZXMpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgICAgICAgICBjb25zdCBDU1NTZWxlY3RvciogY29uc3QgJiBzZWxlY3RvciA9IGNvbnRleHQu
c2VsZWN0b3I7CisgICAgICAgICAgICBmb3IgKHN1YmNvbnRleHQuc2VsZWN0b3IgPSBzZWxlY3Rv
ci0+c2VsZWN0b3JMaXN0KCktPmZpcnN0KCk7IHN1YmNvbnRleHQuc2VsZWN0b3I7IHN1YmNvbnRl
eHQuc2VsZWN0b3IgPSBDU1NTZWxlY3Rvckxpc3Q6Om5leHQoc3ViY29udGV4dC5zZWxlY3Rvcikp
IHsKKyAgICAgICAgICAgICAgICBzdWJjb250ZXh0LmZpcnN0U2VsZWN0b3JPZlRoZUZyYWdtZW50
ID0gc3ViY29udGV4dC5zZWxlY3RvcjsKKyAgICAgICAgICAgICAgICBzdWJjb250ZXh0LmluRnVu
Y3Rpb25hbFBzZXVkb0NsYXNzID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBzdWJjb250ZXh0LnBz
ZXVkb0VsZW1lbnRFZmZlY3RpdmUgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBQc2V1ZG9JZFNl
dCBpZ25vcmVkRHluYW1pY1BzZXVkbzsKKyAgICAgICAgICAgICAgICB1bnNpZ25lZCBpZ25vcmVk
U3BlY2lmaWNpdHkgPSAwOworICAgICAgICAgICAgICAgIGlmIChtYXRjaFJlY3Vyc2l2ZWx5KGNo
ZWNraW5nQ29udGV4dCwgc3ViY29udGV4dCwgaWdub3JlZER5bmFtaWNQc2V1ZG8sIGlnbm9yZWRT
cGVjaWZpY2l0eSkubWF0Y2ggPT0gTWF0Y2g6OlNlbGVjdG9yTWF0Y2hlcykKKyAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KICNlbmRpZgot
ICAgIGlmIChzZWxlY3Rvci5tYXRjaCgpID09IENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50ICYm
IHNlbGVjdG9yLnBzZXVkb0VsZW1lbnRUeXBlKCkgPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1l
bnRTbG90dGVkKSB7Ci0gICAgICAgIC8vIFdlIHNlZSA6OnNsb3R0ZWQoKSBwc2V1ZG8gZWxlbWVu
dHMgd2hlbiBjb2xsZWN0aW5nIHNsb3R0ZWQgcnVsZXMgZnJvbSB0aGUgc2xvdCBzaGFkb3cgdHJl
ZSBvbmx5LgotICAgICAgICBBU1NFUlQoY2hlY2tpbmdDb250ZXh0LnJlc29sdmluZ01vZGUgPT0g
TW9kZTo6Q29sbGVjdGluZ1J1bGVzKTsKLSAgICAgICAgcmV0dXJuIGlzPEhUTUxTbG90RWxlbWVu
dD4oZWxlbWVudCk7CisgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnRTbG90
dGVkOgorICAgICAgICAgICAgLy8gV2Ugc2VlIDo6c2xvdHRlZCgpIHBzZXVkbyBlbGVtZW50cyB3
aGVuIGNvbGxlY3Rpbmcgc2xvdHRlZCBydWxlcyBmcm9tIHRoZSBzbG90IHNoYWRvdyB0cmVlIG9u
bHkuCisgICAgICAgICAgICBBU1NFUlQoY2hlY2tpbmdDb250ZXh0LnJlc29sdmluZ01vZGUgPT0g
TW9kZTo6Q29sbGVjdGluZ1J1bGVzKTsKKyAgICAgICAgICAgIHJldHVybiBpczxIVE1MU2xvdEVs
ZW1lbnQ+KGVsZW1lbnQpOworCisgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1l
bnRQYXJ0OgorICAgICAgICAgICAgLy8gRklYTUU6IFN1cHBvcnQgOjpwYXJ0KCkgd2l0aCBtdWx0
aXBsZSBwYXJ0cy4KKyAgICAgICAgICAgIHJldHVybiBlbGVtZW50LnBhcnROYW1lcygpLmNvbnRh
aW5zKHNlbGVjdG9yLmFyZ3VtZW50KCkpOworCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQogICAgIH0KICAgICByZXR1cm4gdHJ1ZTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvclBzZXVkb0VsZW1lbnRUeXBlTWFw
LmluIGIvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yUHNldWRvRWxlbWVudFR5cGVNYXAuaW4K
aW5kZXggMjQzMzQ1ZmFiMWUuLmMwN2RiODM1YzdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU2VsZWN0b3JQc2V1ZG9FbGVtZW50VHlwZU1hcC5pbgorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU2VsZWN0b3JQc2V1ZG9FbGVtZW50VHlwZU1hcC5pbgpAQCAtNiw2ICs2LDcgQEAgY3Vl
CiBmaXJzdC1sZXR0ZXIKIGZpcnN0LWxpbmUKIG1hcmtlcgorcGFydAogcGxhY2Vob2xkZXIsIFBz
ZXVkb0VsZW1lbnRXZWJLaXRDdXN0b20KIC13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIFBzZXVk
b0VsZW1lbnRXZWJLaXRDdXN0b21MZWdhY3lQcmVmaXhlZAogLXdlYmtpdC1yZXNpemVyCkBAIC0x
NiwzICsxNyw0IEBAIHBsYWNlaG9sZGVyLCBQc2V1ZG9FbGVtZW50V2ViS2l0Q3VzdG9tCiAtd2Vi
a2l0LXNjcm9sbGJhci10cmFjawogLXdlYmtpdC1zY3JvbGxiYXItdHJhY2stcGllY2UKIHNlbGVj
dGlvbgorc2xvdHRlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQ
YXJzZXJTZWxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlclNl
bGVjdG9yLmNwcAppbmRleCBhMDg3MGQzNzYyYy4uM2EyOTcyOTlkZGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyU2VsZWN0b3IuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyU2VsZWN0b3IuY3BwCkBAIC01MywxNSArNTMs
OCBAQCBzdGQ6OnVuaXF1ZV9wdHI8Q1NTUGFyc2VyU2VsZWN0b3I+IENTU1BhcnNlclNlbGVjdG9y
OjpwYXJzZVBhZ2VQc2V1ZG9TZWxlY3RvcihTdAogc3RkOjp1bmlxdWVfcHRyPENTU1BhcnNlclNl
bGVjdG9yPiBDU1NQYXJzZXJTZWxlY3Rvcjo6cGFyc2VQc2V1ZG9FbGVtZW50U2VsZWN0b3IoU3Ry
aW5nVmlldyBwc2V1ZG9UeXBlU3RyaW5nKQogewogICAgIGF1dG8gcHNldWRvVHlwZSA9IENTU1Nl
bGVjdG9yOjpwYXJzZVBzZXVkb0VsZW1lbnRUeXBlKHBzZXVkb1R5cGVTdHJpbmcpOwotICAgIGlm
IChwc2V1ZG9UeXBlID09IENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50VW5rbm93bikgewotICAg
ICAgICAvLyBGSVhNRS1ORVdQQVJTRVI6IFdlIGNhbid0IGFkZCAic2xvdHRlZCIgdG8gdGhlIG1h
cCB3aXRob3V0IGJyZWFraW5nIHRoZSBvbGQKLSAgICAgICAgLy8gcGFyc2VyLCBzbyB0aGlzIGhh
Y2sgZW5zdXJlcyB0aGUgbmV3IHBhcnNlciBzdGlsbCByZWNvZ25pemVzIGl0LiBXaGVuIHRoZSBu
ZXcKLSAgICAgICAgLy8gcGFyc2VyIHR1cm5zIG9uLCB3ZSBjYW4gYWRkICJzbG90dGVkIiB0byB0
aGUgbWFwIGFuZCByZW1vdmUgdGhpcyBjb2RlLgotICAgICAgICBpZiAocHNldWRvVHlwZVN0cmlu
Zy5zdGFydHNXaXRoSWdub3JpbmdBU0NJSUNhc2UoInNsb3R0ZWQiKSkKLSAgICAgICAgICAgIHBz
ZXVkb1R5cGUgPSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudFNsb3R0ZWQ7Ci0gICAgICAgIGVs
c2UKLSAgICAgICAgICAgIHJldHVybiBudWxscHRyOwotICAgIH0KKyAgICBpZiAocHNldWRvVHlw
ZSA9PSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudFVua25vd24pCisgICAgICAgIHJldHVybiBu
dWxscHRyOwogCiAgICAgYXV0byBzZWxlY3RvciA9IG1ha2VVbmlxdWU8Q1NTUGFyc2VyU2VsZWN0
b3I+KCk7CiAgICAgc2VsZWN0b3ItPm1fc2VsZWN0b3ItPnNldE1hdGNoKENTU1NlbGVjdG9yOjpQ
c2V1ZG9FbGVtZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NT
UGFyc2VyU2VsZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyU2Vs
ZWN0b3IuaAppbmRleCBkOGUwNzRiYjc5ZC4uN2M0NmE3YjVlNjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyU2VsZWN0b3IuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlclNlbGVjdG9yLmgKQEAgLTEwNyw2ICsxMDcsNyBAQCBp
bmxpbmUgYm9vbCBDU1NQYXJzZXJTZWxlY3Rvcjo6bmVlZHNJbXBsaWNpdFNoYWRvd0NvbWJpbmF0
b3JGb3JNYXRjaGluZygpIGNvbnN0CiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQogICAgICAgICAg
ICAgfHwgcHNldWRvRWxlbWVudFR5cGUoKSA9PSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudEN1
ZQogI2VuZGlmCisgICAgICAgICAgICB8fCBwc2V1ZG9FbGVtZW50VHlwZSgpID09IENTU1NlbGVj
dG9yOjpQc2V1ZG9FbGVtZW50UGFydAogICAgICAgICAgICAgfHwgcHNldWRvRWxlbWVudFR5cGUo
KSA9PSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudFdlYktpdEN1c3RvbUxlZ2FjeVByZWZpeGVk
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NTZWxlY3Rv
clBhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1NlbGVjdG9yUGFyc2Vy
LmNwcAppbmRleCBmMzMyM2IyMjZiNC4uN2QwZDc3N2MyMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTU2VsZWN0b3JQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9wYXJzZXIvQ1NTU2VsZWN0b3JQYXJzZXIuY3BwCkBAIC00NjIsNiArNDYyLDcgQEAg
c3RhdGljIGJvb2wgaXNPbmx5UHNldWRvRWxlbWVudEZ1bmN0aW9uKENTU1NlbGVjdG9yOjpQc2V1
ZG9FbGVtZW50VHlwZSBwc2V1ZG9FbGUKIHsKICAgICAvLyBOb3RlIHRoYXQgd2Ugb21pdCBjdWUg
c2luY2UgaXQgY2FuIGJlIGJvdGggYW4gaWRlbnQgb3IgYSBmdW5jdGlvbi4KICAgICBzd2l0Y2gg
KHBzZXVkb0VsZW1lbnRUeXBlKSB7CisgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVu
dFBhcnQ6CiAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudFNsb3R0ZWQ6CiAgICAg
ICAgIHJldHVybiB0cnVlOwogICAgIGRlZmF1bHQ6CkBAIC02MTYsNiArNjE3LDE2IEBAIHN0ZDo6
dW5pcXVlX3B0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gQ1NTU2VsZWN0b3JQYXJzZXI6OmNvbnN1bWVQ
c2V1ZG8oQ1NTUGFyc2VyVG9rCiAgICAgICAgICAgICByZXR1cm4gc2VsZWN0b3I7CiAgICAgICAg
IH0KICNlbmRpZgorICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50UGFydDog
eworICAgICAgICAgICAgRGlzYWxsb3dQc2V1ZG9FbGVtZW50c1Njb3BlIHNjb3BlKHRoaXMpOwor
CisgICAgICAgICAgICAvLyBGSVhNRTogUGFyc2UgYSBsaXN0IG9mIHBhcnRzLgorICAgICAgICAg
ICAgY29uc3QgQ1NTUGFyc2VyVG9rZW4mIGlkZW50ID0gYmxvY2suY29uc3VtZUluY2x1ZGluZ1do
aXRlc3BhY2UoKTsKKyAgICAgICAgICAgIGlmIChpZGVudC50eXBlKCkgIT0gSWRlbnRUb2tlbiB8
fCAhYmxvY2suYXRFbmQoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAg
ICAgICAgIHNlbGVjdG9yLT5zZXRBcmd1bWVudChpZGVudC52YWx1ZSgpLnRvQXRvbVN0cmluZygp
KTsKKyAgICAgICAgICAgIHJldHVybiBzZWxlY3RvcjsKKyAgICAgICAgfQogICAgICAgICBjYXNl
IENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50U2xvdHRlZDogewogICAgICAgICAgICAgRGlzYWxs
b3dQc2V1ZG9FbGVtZW50c1Njb3BlIHNjb3BlKHRoaXMpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAK
aW5kZXggNTAxNDRhOTBmZmMuLjBiOWMxMzhhYWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBA
IC0zNDMzLDkgKzM0MzMsOSBAQCBET01Ub2tlbkxpc3QmIEVsZW1lbnQ6OmNsYXNzTGlzdCgpCiAg
ICAgcmV0dXJuICpkYXRhLmNsYXNzTGlzdCgpOwogfQogCi1pbmxpbmUgU3BhY2VTcGxpdFN0cmlu
ZyBFbGVtZW50OjpwYXJ0TmFtZXMoKSBjb25zdAorU3BhY2VTcGxpdFN0cmluZyBFbGVtZW50Ojpw
YXJ0TmFtZXMoKSBjb25zdAogewotICAgIHJldHVybiBlbGVtZW50UmFyZURhdGEoKSA/IGVsZW1l
bnRSYXJlRGF0YSgpLT5wYXJ0TmFtZXMoKSA6IFNwYWNlU3BsaXRTdHJpbmcoKTsKKyAgICByZXR1
cm4gaGFzUmFyZURhdGEoKSA/IGVsZW1lbnRSYXJlRGF0YSgpLT5wYXJ0TmFtZXMoKSA6IFNwYWNl
U3BsaXRTdHJpbmcoKTsKIH0KIAogRE9NVG9rZW5MaXN0JiBFbGVtZW50OjpwYXJ0KCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380035</attachid>
            <date>2019-10-02 10:48:12 -0700</date>
            <delta_ts>2019-10-02 14:15:59 -0700</delta_ts>
            <desc>patch</desc>
            <filename>css-shadow-parts-pseudo-2.patch</filename>
            <type>text/plain</type>
            <size>24789</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGFlMTVjMzMzMjI0Li4zY2M4NGIyZGM2
OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTkt
MTAtMDIgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgorCisgICAgICAgIFtDU1Mg
U2hhZG93IFBhcnRzXSBCYXNpYyA6OnBhcnQoKSBwc2V1ZG8gZWxlbWVudCBzdXBwb3J0CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI0NTYKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9hbGwtaG9zdHMtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9jb21wbGV4LW1h
dGNoaW5nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1zaGFkb3ctcGFydHMvaW5uZXItaG9zdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2hhZG93LXBhcnRzL2ludmFsaWRhdGlvbi1jaGFuZ2UtcGFy
dC1uYW1lLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1zaGFkb3ctcGFydHMvaW52YWxpZGF0aW9uLWNoYW5nZS1wYXJ0LW5hbWUtaWRsLWRvbXRva2Vu
bGlzdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
c2hhZG93LXBhcnRzL2ludmFsaWRhdGlvbi1jaGFuZ2UtcGFydC1uYW1lLWlkbC1zZXR0ZXItZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1w
YXJ0cy9pbnZhbGlkYXRpb24tY29tcGxleC1zZWxlY3Rvci1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2hhZG93LXBhcnRzL3ByZWNlZGVuY2UtcGFy
dC12cy1wYXJ0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1zaGFkb3ctcGFydHMvc2ltcGxlLWV4cGVjdGVkLnR4dDoKKwogMjAxOS0xMC0wMSAgQW50
dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgW0NTUyBTaGFkb3cgUGFy
dHNdIFBhcnNlICdwYXJ0JyBhdHRyaWJ1dGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaGFkb3ctcGFydHMvYWxsLWhvc3Rz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1zaGFkb3ctcGFydHMvYWxsLWhvc3RzLWV4cGVjdGVkLnR4dAppbmRleCBjYjg1
ZTc5OWUzOS4uMDk2ZDZiODcwMzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaGFkb3ctcGFydHMvYWxsLWhvc3RzLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3Mtc2hhZG93LXBhcnRzL2FsbC1ob3N0cy1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1
IEBACiBUaGUgZm9sbG93aW5nIHRleHQgc2hvdWxkIGJlIGdyZWVuOiBUaGUgZm9sbG93aW5nIHRl
eHQgc2hvdWxkIGJlIGdyZWVuOiAKIAotRkFJTCA6OnBhcnQgd2l0aCBob3N0IHNlbGVjdG9yIHN0
eWxlcyBpbiBmaXJzdCBob3N0IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMCwgMTI4LCAw
KSIgYnV0IGdvdCAicmdiKDI1NSwgMCwgMCkiCi1GQUlMIDo6cGFydCB3aXRoIGhvc3Qgc2VsZWN0
b3Igc3R5bGVzIGluIHNlY29uZCBob3N0IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMCwg
MTI4LCAwKSIgYnV0IGdvdCAicmdiKDI1NSwgMCwgMCkiCitQQVNTIDo6cGFydCB3aXRoIGhvc3Qg
c2VsZWN0b3Igc3R5bGVzIGluIGZpcnN0IGhvc3QgCitQQVNTIDo6cGFydCB3aXRoIGhvc3Qgc2Vs
ZWN0b3Igc3R5bGVzIGluIHNlY29uZCBob3N0IAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2hhZG93LXBhcnRzL2NvbXBs
ZXgtbWF0Y2hpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9jb21wbGV4LW1hdGNoaW5nLWV4cGVj
dGVkLnR4dAppbmRleCA5MDE5NDdjODZlZS4uM2Y2ZTFjZWY2ZGEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaGFkb3ctcGFy
dHMvY29tcGxleC1tYXRjaGluZy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9jb21wbGV4LW1h
dGNoaW5nLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIFRoZSBmb2xsb3dpbmcgdGV4dCBz
aG91bGQgYmUgZ3JlZW46CiAKLUZBSUwgQ29tcGxleCBzZWxlY3RvciBmb3IgaG9zdCB3b3JrcyBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDAsIDEyOCwgMCkiIGJ1dCBnb3QgInJnYigyNTUs
IDAsIDApIgorUEFTUyBDb21wbGV4IHNlbGVjdG9yIGZvciBob3N0IHdvcmtzIAogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
c2hhZG93LXBhcnRzL2lubmVyLWhvc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9pbm5lci1ob3N0
LWV4cGVjdGVkLnR4dAppbmRleCAwZmQyZGE0MjlhNC4uMTI1OTFjNWZlY2QgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaGFk
b3ctcGFydHMvaW5uZXItaG9zdC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9pbm5lci1ob3N0
LWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUgQEAKIFRoZSBmb2xsb3dpbmcgdGV4dCBzaG91bGQg
YmUgZ3JlZW46IAogCi1GQUlMIFBhcnQgaW4gb3V0ZXIgaG9zdCBpcyBzdHlsZWQgYnkgZG9jdW1l
bnQgc3R5bGUgc2hlZXQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigwLCAxMjgsIDApIiBi
dXQgZ290ICJyZ2IoMjU1LCAwLCAwKSIKK1BBU1MgUGFydCBpbiBvdXRlciBob3N0IGlzIHN0eWxl
ZCBieSBkb2N1bWVudCBzdHlsZSBzaGVldCAKIFBBU1MgUGFydCBpbiBpbm5lciBob3N0IGlzIG5v
dCBzdHlsZWQgYnkgZG9jdW1lbnQgc3R5bGUgc2hlZXQgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaGFkb3ctcGFydHMv
aW52YWxpZGF0aW9uLWNoYW5nZS1wYXJ0LW5hbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9pbnZh
bGlkYXRpb24tY2hhbmdlLXBhcnQtbmFtZS1leHBlY3RlZC50eHQKaW5kZXggMmE2NGQ3MWFlNGEu
LjNiYjdiZDhmZWQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2hhZG93LXBhcnRzL2ludmFsaWRhdGlvbi1jaGFuZ2UtcGFy
dC1uYW1lLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2hhZG93LXBhcnRzL2ludmFsaWRhdGlvbi1jaGFuZ2UtcGFy
dC1uYW1lLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIFRoZSBmb2xsb3dpbmcgdGV4dCBz
aG91bGQgYmUgZ3JlZW46CiAKLUZBSUwgUGFydCBpbiBzZWxlY3RlZCBob3N0IGNoYW5nZWQgY29s
b3IgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlICJyZ2IoMCwgMTI4LCAw
KSIKK0ZBSUwgUGFydCBpbiBzZWxlY3RlZCBob3N0IGNoYW5nZWQgY29sb3IgYXNzZXJ0X25vdF9l
cXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlICJyZ2IoMjU1LCAwLCAwKSIKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNo
YWRvdy1wYXJ0cy9pbnZhbGlkYXRpb24tY2hhbmdlLXBhcnQtbmFtZS1pZGwtZG9tdG9rZW5saXN0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1zaGFkb3ctcGFydHMvaW52YWxpZGF0aW9uLWNoYW5nZS1wYXJ0LW5hbWUtaWRs
LWRvbXRva2VubGlzdC1leHBlY3RlZC50eHQKaW5kZXggNmZmN2M2MGZiYjguLjNmMDRhYjcyMWIw
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3Mtc2hhZG93LXBhcnRzL2ludmFsaWRhdGlvbi1jaGFuZ2UtcGFydC1uYW1lLWlkbC1k
b210b2tlbmxpc3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaGFkb3ctcGFydHMvaW52YWxpZGF0aW9uLWNoYW5n
ZS1wYXJ0LW5hbWUtaWRsLWRvbXRva2VubGlzdC1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBA
CiBUaGUgZm9sbG93aW5nIHRleHQgc2hvdWxkIGJlIGdyZWVuOgogCi1GQUlMIFBhcnQgaW4gc2Vs
ZWN0ZWQgaG9zdCBjaGFuZ2VkIGNvbG9yIHZpYSBwYXJ0IElETCBET01Ub2tlbkxpc3QgYXR0cmli
dXRlLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDAsIDEyOCwgMCkiIGJ1dCBnb3QgInJn
YigwLCAwLCAyNTUpIgorUEFTUyBQYXJ0IGluIHNlbGVjdGVkIGhvc3QgY2hhbmdlZCBjb2xvciB2
aWEgcGFydCBJREwgRE9NVG9rZW5MaXN0IGF0dHJpYnV0ZS4gCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaGFkb3ctcGFy
dHMvaW52YWxpZGF0aW9uLWNoYW5nZS1wYXJ0LW5hbWUtaWRsLXNldHRlci1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2hh
ZG93LXBhcnRzL2ludmFsaWRhdGlvbi1jaGFuZ2UtcGFydC1uYW1lLWlkbC1zZXR0ZXItZXhwZWN0
ZWQudHh0CmluZGV4IGFiNWEwODAxYzNjLi5kM2YzMTkyNmZjMyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0
cy9pbnZhbGlkYXRpb24tY2hhbmdlLXBhcnQtbmFtZS1pZGwtc2V0dGVyLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
c2hhZG93LXBhcnRzL2ludmFsaWRhdGlvbi1jaGFuZ2UtcGFydC1uYW1lLWlkbC1zZXR0ZXItZXhw
ZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogVGhlIGZvbGxvd2luZyB0ZXh0IHNob3VsZCBiZSBn
cmVlbjoKIAotRkFJTCBQYXJ0IGluIHNlbGVjdGVkIGhvc3QgY2hhbmdlZCBjb2xvciB2aWEgcGFy
dCBJREwgYXR0cmlidXRlIHNldHRlci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigwLCAx
MjgsIDApIiBidXQgZ290ICJyZ2IoMCwgMCwgMjU1KSIKK1BBU1MgUGFydCBpbiBzZWxlY3RlZCBo
b3N0IGNoYW5nZWQgY29sb3IgdmlhIHBhcnQgSURMIGF0dHJpYnV0ZSBzZXR0ZXIuIAogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3Mtc2hhZG93LXBhcnRzL2ludmFsaWRhdGlvbi1jb21wbGV4LXNlbGVjdG9yLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1z
aGFkb3ctcGFydHMvaW52YWxpZGF0aW9uLWNvbXBsZXgtc2VsZWN0b3ItZXhwZWN0ZWQudHh0Cmlu
ZGV4IDJhNjRkNzFhZTRhLi5jNGJjYzI0ZTgxOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9pbnZhbGlk
YXRpb24tY29tcGxleC1zZWxlY3Rvci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9pbnZhbGlk
YXRpb24tY29tcGxleC1zZWxlY3Rvci1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiBUaGUg
Zm9sbG93aW5nIHRleHQgc2hvdWxkIGJlIGdyZWVuOgogCi1GQUlMIFBhcnQgaW4gc2VsZWN0ZWQg
aG9zdCBjaGFuZ2VkIGNvbG9yIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1
ZSAicmdiKDAsIDEyOCwgMCkiCitQQVNTIFBhcnQgaW4gc2VsZWN0ZWQgaG9zdCBjaGFuZ2VkIGNv
bG9yIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3Mtc2hhZG93LXBhcnRzL3ByZWNlZGVuY2UtcGFydC12cy1wYXJ0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1zaGFkb3ctcGFydHMvcHJlY2VkZW5jZS1wYXJ0LXZzLXBhcnQtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDdlZWViNDQ3ZDAyLi5jN2Y4NzE2MGZkYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9wcmVjZWRl
bmNlLXBhcnQtdnMtcGFydC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9wcmVjZWRlbmNlLXBh
cnQtdnMtcGFydC1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiBUaGUgZm9sbG93aW5nIHRl
eHQgc2hvdWxkIGJlIGdyZWVuOiAKIAotRkFJTCBTdHlsZSBmcm9tIGRvY3VtZW50IG92ZXJyaWRl
cyBzdHlsZSBmcm9tIG91dGVyIENFIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMCwgMTI4
LCAwKSIgYnV0IGdvdCAicmdiKDAsIDAsIDI1NSkiCitGQUlMIFN0eWxlIGZyb20gZG9jdW1lbnQg
b3ZlcnJpZGVzIHN0eWxlIGZyb20gb3V0ZXIgQ0UgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJn
YigwLCAxMjgsIDApIiBidXQgZ290ICJyZ2IoMjU1LCAwLCAwKSIKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1w
YXJ0cy9zaW1wbGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9zaW1wbGUtZXhwZWN0ZWQudHh0Cmlu
ZGV4IGY5NzA0YTc3MTRjLi5jNTcxMGM3NDU1NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNoYWRvdy1wYXJ0cy9zaW1wbGUt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1zaGFkb3ctcGFydHMvc2ltcGxlLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsx
LDQgQEAKIFRoZSBmb2xsb3dpbmcgdGV4dCBzaG91bGQgYmUgZ3JlZW46IAogCi1GQUlMIFBhcnQg
aW4gc2VsZWN0ZWQgaG9zdCBpcyBzdHlsZWQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigw
LCAxMjgsIDApIiBidXQgZ290ICJyZ2IoMjU1LCAwLCAwKSIKK1BBU1MgUGFydCBpbiBzZWxlY3Rl
ZCBob3N0IGlzIHN0eWxlZCAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDFkNmNkMmY0NzljLi41NmNlMWVjMWEz
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDE5LTEwLTAyICBBbnR0aSBLb2l2aXN0
byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbQ1NTIFNoYWRvdyBQYXJ0c10gQmFzaWMg
OjpwYXJ0KCkgcHNldWRvIGVsZW1lbnQgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyNDU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IGJhc2ljIHBhcnNpbmcgYW5kIHNlbGVj
dG9yIG1hdGNoaW5nIGZvciA6OnBhcnQoKSBwc2V1ZG8gZWxlbWVudC4KKworICAgICAgICAqIGNz
cy9DU1NTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTZWxlY3Rvcjo6cHNldWRv
SWQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU2VsZWN0b3I6OnBhcnNlUHNldWRvRWxlbWVudFR5
cGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU2VsZWN0b3I6OnNlbGVjdG9yVGV4dCBjb25zdCk6
CisgICAgICAgICogY3NzL0NTU1NlbGVjdG9yLmg6CisgICAgICAgICogY3NzL0VsZW1lbnRSdWxl
Q29sbGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRSdWxlQ29sbGVjdG9yOjpt
YXRjaEF1dGhvclJ1bGVzKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRSdWxlQ29sbGVjdG9y
OjptYXRjaFBhcnRQc2V1ZG9FbGVtZW50UnVsZXMpOgorICAgICAgICAqIGNzcy9FbGVtZW50UnVs
ZUNvbGxlY3Rvci5oOgorICAgICAgICAqIGNzcy9SdWxlU2V0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJ1bGVTZXQ6OmFkZFJ1bGUpOgorICAgICAgICAqIGNzcy9SdWxlU2V0Lmg6CisgICAgICAg
IChXZWJDb3JlOjpSdWxlU2V0OjpwYXJ0UHNldWRvRWxlbWVudFJ1bGVzIGNvbnN0KToKKyAgICAg
ICAgKiBjc3MvU2VsZWN0b3JDaGVja2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9y
Q2hlY2tlcjo6Y2hlY2tPbmUgY29uc3QpOgorICAgICAgICAqIGNzcy9TZWxlY3RvclBzZXVkb0Vs
ZW1lbnRUeXBlTWFwLmluOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUGFyc2VyU2VsZWN0b3Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyU2VsZWN0b3I6OnBhcnNlUHNldWRvRWxl
bWVudFNlbGVjdG9yKToKKworICAgICAgICBBbHNvIGFkZGVkIDo6c2xvdHRlZCB0byBTZWxlY3Rv
clBzZXVkb0VsZW1lbnRUeXBlTWFwLmluIHRvIHJlc29sdmUgYSBGSVhNRSBoZXJlLgorCisgICAg
ICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJTZWxlY3Rvci5oOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTUGFyc2VyU2VsZWN0b3I6Om5lZWRzSW1wbGljaXRTaGFkb3dDb21iaW5hdG9yRm9yTWF0Y2hp
bmcgY29uc3QpOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTU2VsZWN0b3JQYXJzZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6aXNPbmx5UHNldWRvRWxlbWVudEZ1bmN0aW9uKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1NlbGVjdG9yUGFyc2VyOjpjb25zdW1lUHNldWRvKToKKworICAgICAgICBQ
YXJzZSBzaW5nbGUgdmFsdWVzIG9ubHksIG11bHRpcGFydCA6OnBhcnQoZm9vIGJhcikgY2FzZSBp
cyBub3QgeWV0IGhhbmRsZWQuCisKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50OjpwYXJ0TmFtZXMgY29uc3QpOgorCiAyMDE5LTEwLTAxICBBbGV4
IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUHJvZ3Jl
c3MgdG93YXJkcyBhIGZ1bmN0aW9uaW5nIENNYWtlIGJ1aWxkIG9uIE1hYwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NTZWxlY3Rvci5jcHAKaW5kZXggNDc1NDJhZjczYjMuLjNkYjVlMzJhODYyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NTZWxlY3Rvci5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJDU1NNYXJr
dXAuaCIKICNpbmNsdWRlICJDU1NTZWxlY3Rvckxpc3QuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMu
aCIKKyNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCiAjaW5jbHVkZSAiU2VsZWN0
b3JQc2V1ZG9UeXBlTWFwLmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRl
IDx3dGYvU3RkTGliRXh0cmFzLmg+CkBAIC0yOTgsNiArMjk5LDcgQEAgUHNldWRvSWQgQ1NTU2Vs
ZWN0b3I6OnBzZXVkb0lkKFBzZXVkb0VsZW1lbnRUeXBlIHR5cGUpCiAgICAgY2FzZSBQc2V1ZG9F
bGVtZW50Q3VlOgogI2VuZGlmCiAgICAgY2FzZSBQc2V1ZG9FbGVtZW50U2xvdHRlZDoKKyAgICBj
YXNlIFBzZXVkb0VsZW1lbnRQYXJ0OgogICAgIGNhc2UgUHNldWRvRWxlbWVudFVua25vd246CiAg
ICAgY2FzZSBQc2V1ZG9FbGVtZW50V2ViS2l0Q3VzdG9tOgogICAgIGNhc2UgUHNldWRvRWxlbWVu
dFdlYktpdEN1c3RvbUxlZ2FjeVByZWZpeGVkOgpAQCAtMzE3LDYgKzMxOSw5IEBAIENTU1NlbGVj
dG9yOjpQc2V1ZG9FbGVtZW50VHlwZSBDU1NTZWxlY3Rvcjo6cGFyc2VQc2V1ZG9FbGVtZW50VHlw
ZShTdHJpbmdWaWV3IG5hCiAgICAgICAgIGlmIChuYW1lLnN0YXJ0c1dpdGgoIi13ZWJraXQtIikp
CiAgICAgICAgICAgICB0eXBlID0gUHNldWRvRWxlbWVudFdlYktpdEN1c3RvbTsKICAgICB9Cisg
ICAgaWYgKHR5cGUgPT0gUHNldWRvRWxlbWVudFBhcnQgJiYgIVJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnNoYXJlZEZlYXR1cmVzKCkuY3NzU2hhZG93UGFydHNFbmFibGVkKCkpCisgICAgICAgIHJl
dHVybiBQc2V1ZG9FbGVtZW50VW5rbm93bjsKKwogICAgIHJldHVybiB0eXBlOwogfQogCkBAIC02
NjIsNiArNjY3LDExIEBAIFN0cmluZyBDU1NTZWxlY3Rvcjo6c2VsZWN0b3JUZXh0KGNvbnN0IFN0
cmluZyYgcmlnaHRTaWRlKSBjb25zdAogICAgICAgICAgICAgICAgIGNzLT5zZWxlY3Rvckxpc3Qo
KS0+YnVpbGRTZWxlY3RvcnNUZXh0KHN0cik7CiAgICAgICAgICAgICAgICAgc3RyLmFwcGVuZCgn
KScpOwogICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBDU1NTZWxlY3Rv
cjo6UHNldWRvRWxlbWVudFBhcnQ6CisgICAgICAgICAgICAgICAgc3RyLmFwcGVuZExpdGVyYWwo
Ijo6cGFydCgiKTsKKyAgICAgICAgICAgICAgICBzdHIuYXBwZW5kKGNzLT5hcmd1bWVudCgpKTsK
KyAgICAgICAgICAgICAgICBzdHIuYXBwZW5kKCcpJyk7CisgICAgICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50V2ViS2l0Q3VzdG9t
TGVnYWN5UHJlZml4ZWQ6CiAgICAgICAgICAgICAgICAgaWYgKGNzLT52YWx1ZSgpID09ICJwbGFj
ZWhvbGRlciIpCiAgICAgICAgICAgICAgICAgICAgIHN0ci5hcHBlbmRMaXRlcmFsKCI6Oi13ZWJr
aXQtaW5wdXQtcGxhY2Vob2xkZXIiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NTZWxlY3Rvci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgKaW5kZXggNmJl
OTBjYzkxMGQuLmZkMzljMzVhZmNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
U2VsZWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaApAQCAtMTc4
LDYgKzE3OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIFBzZXVkb0VsZW1l
bnRGaXJzdExldHRlciwKICAgICAgICAgICAgIFBzZXVkb0VsZW1lbnRGaXJzdExpbmUsCiAgICAg
ICAgICAgICBQc2V1ZG9FbGVtZW50TWFya2VyLAorICAgICAgICAgICAgUHNldWRvRWxlbWVudFBh
cnQsCiAgICAgICAgICAgICBQc2V1ZG9FbGVtZW50UmVzaXplciwKICAgICAgICAgICAgIFBzZXVk
b0VsZW1lbnRTY3JvbGxiYXIsCiAgICAgICAgICAgICBQc2V1ZG9FbGVtZW50U2Nyb2xsYmFyQnV0
dG9uLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0VsZW1lbnRSdWxlQ29sbGVjdG9y
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHAKaW5kZXgg
MDViNDU3ZmQ2ODIuLmU2ODNhOTdlMWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
RWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9FbGVtZW50
UnVsZUNvbGxlY3Rvci5jcHAKQEAgLTIwMSw5ICsyMDEsMTMgQEAgdm9pZCBFbGVtZW50UnVsZUNv
bGxlY3Rvcjo6bWF0Y2hBdXRob3JSdWxlcyhib29sIGluY2x1ZGVFbXB0eVJ1bGVzKQogICAgIGlm
IChtX2VsZW1lbnQuc2hhZG93Um9vdCgpKQogICAgICAgICBtYXRjaEhvc3RQc2V1ZG9DbGFzc1J1
bGVzKGluY2x1ZGVFbXB0eVJ1bGVzLCBydWxlUmFuZ2UpOwogCi0gICAgaWYgKG1fZWxlbWVudC5p
c0luU2hhZG93VHJlZSgpKQorICAgIGlmIChtX2VsZW1lbnQuaXNJblNoYWRvd1RyZWUoKSkgewog
ICAgICAgICBtYXRjaEF1dGhvclNoYWRvd1BzZXVkb0VsZW1lbnRSdWxlcyhpbmNsdWRlRW1wdHlS
dWxlcywgcnVsZVJhbmdlKTsKIAorICAgICAgICBpZiAoIW1fZWxlbWVudC5wYXJ0TmFtZXMoKS5p
c0VtcHR5KCkpCisgICAgICAgICAgICBtYXRjaFBhcnRQc2V1ZG9FbGVtZW50UnVsZXMoaW5jbHVk
ZUVtcHR5UnVsZXMsIHJ1bGVSYW5nZSk7CisgICAgfQorCiAgICAgc29ydEFuZFRyYW5zZmVyTWF0
Y2hlZFJ1bGVzKCk7CiB9CiAKQEAgLTI1OSw2ICsyNjMsMTYgQEAgdm9pZCBFbGVtZW50UnVsZUNv
bGxlY3Rvcjo6bWF0Y2hTbG90dGVkUHNldWRvRWxlbWVudFJ1bGVzKGJvb2wgaW5jbHVkZUVtcHR5
UnVsZXMKICAgICB9CiB9CiAKK3ZvaWQgRWxlbWVudFJ1bGVDb2xsZWN0b3I6Om1hdGNoUGFydFBz
ZXVkb0VsZW1lbnRSdWxlcyhib29sIGluY2x1ZGVFbXB0eVJ1bGVzLCBTdHlsZVJlc29sdmVyOjpS
dWxlUmFuZ2UmIHJ1bGVSYW5nZSkKK3sKKyAgICBBU1NFUlQobV9lbGVtZW50LmlzSW5TaGFkb3dU
cmVlKCkpOworICAgIGF1dG8mIHNoYWRvd1Jvb3QgPSAqbV9lbGVtZW50LmNvbnRhaW5pbmdTaGFk
b3dSb290KCk7CisgICAgYXV0byYgaG9zdEF1dGhvclJ1bGVzID0gU3R5bGU6OlNjb3BlOjpmb3JO
b2RlKCpzaGFkb3dSb290Lmhvc3QoKSkucmVzb2x2ZXIoKS5ydWxlU2V0cygpLmF1dGhvclN0eWxl
KCk7CisKKyAgICBNYXRjaFJlcXVlc3QgaG9zdEF1dGhvclJlcXVlc3QgeyAmaG9zdEF1dGhvclJ1
bGVzLCBpbmNsdWRlRW1wdHlSdWxlcywgU3R5bGU6OlNjb3BlT3JkaW5hbDo6Q29udGFpbmluZ0hv
c3QgfTsKKyAgICBjb2xsZWN0TWF0Y2hpbmdSdWxlc0Zvckxpc3QoJmhvc3RBdXRob3JSdWxlcy5w
YXJ0UHNldWRvRWxlbWVudFJ1bGVzKCksIGhvc3RBdXRob3JSZXF1ZXN0LCBydWxlUmFuZ2UpOwor
fQorCiB2b2lkIEVsZW1lbnRSdWxlQ29sbGVjdG9yOjpjb2xsZWN0TWF0Y2hpbmdTaGFkb3dQc2V1
ZG9FbGVtZW50UnVsZXMoY29uc3QgTWF0Y2hSZXF1ZXN0JiBtYXRjaFJlcXVlc3QsIFN0eWxlUmVz
b2x2ZXI6OlJ1bGVSYW5nZSYgcnVsZVJhbmdlKQogewogICAgIEFTU0VSVChtYXRjaFJlcXVlc3Qu
cnVsZVNldCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRWxlbWVudFJ1bGVDb2xs
ZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9FbGVtZW50UnVsZUNvbGxlY3Rvci5oCmluZGV4
IDJmNjM1ODVmMTU1Li5hMDYyMzc4YTk3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0VsZW1lbnRSdWxlQ29sbGVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0VsZW1lbnRS
dWxlQ29sbGVjdG9yLmgKQEAgLTc1LDYgKzc1LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIG1hdGNo
QXV0aG9yU2hhZG93UHNldWRvRWxlbWVudFJ1bGVzKGJvb2wgaW5jbHVkZUVtcHR5UnVsZXMsIFN0
eWxlUmVzb2x2ZXI6OlJ1bGVSYW5nZSYpOwogICAgIHZvaWQgbWF0Y2hIb3N0UHNldWRvQ2xhc3NS
dWxlcyhib29sIGluY2x1ZGVFbXB0eVJ1bGVzLCBTdHlsZVJlc29sdmVyOjpSdWxlUmFuZ2UmKTsK
ICAgICB2b2lkIG1hdGNoU2xvdHRlZFBzZXVkb0VsZW1lbnRSdWxlcyhib29sIGluY2x1ZGVFbXB0
eVJ1bGVzLCBTdHlsZVJlc29sdmVyOjpSdWxlUmFuZ2UmKTsKKyAgICB2b2lkIG1hdGNoUGFydFBz
ZXVkb0VsZW1lbnRSdWxlcyhib29sIGluY2x1ZGVFbXB0eVJ1bGVzLCBTdHlsZVJlc29sdmVyOjpS
dWxlUmFuZ2UmKTsKIAogICAgIHZvaWQgY29sbGVjdE1hdGNoaW5nU2hhZG93UHNldWRvRWxlbWVu
dFJ1bGVzKGNvbnN0IE1hdGNoUmVxdWVzdCYsIFN0eWxlUmVzb2x2ZXI6OlJ1bGVSYW5nZSYpOwog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxSdWxlU2V0OjpSdWxlRGF0YVZlY3Rvcj4gY29sbGVjdFNsb3R0
ZWRQc2V1ZG9FbGVtZW50UnVsZXNGb3JTbG90KGJvb2wgaW5jbHVkZUVtcHR5UnVsZXMpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1J1bGVTZXQuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL1J1bGVTZXQuY3BwCmluZGV4IDNiYmJiZmViY2EwLi5kY2QwZTBkZTFiMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL1J1bGVTZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9SdWxlU2V0LmNwcApAQCAtMjIxLDYgKzIyMSw3IEBAIHZvaWQgUnVsZVNldDo6YWRkUnVsZShT
dHlsZVJ1bGUqIHJ1bGUsIHVuc2lnbmVkIHNlbGVjdG9ySW5kZXgsIHVuc2lnbmVkIHNlbGVjdG9y
CiAgICAgY29uc3QgQ1NTU2VsZWN0b3IqIGhvc3RQc2V1ZG9DbGFzc1NlbGVjdG9yID0gbnVsbHB0
cjsKICAgICBjb25zdCBDU1NTZWxlY3RvciogY3VzdG9tUHNldWRvRWxlbWVudFNlbGVjdG9yID0g
bnVsbHB0cjsKICAgICBjb25zdCBDU1NTZWxlY3Rvciogc2xvdHRlZFBzZXVkb0VsZW1lbnRTZWxl
Y3RvciA9IG51bGxwdHI7CisgICAgY29uc3QgQ1NTU2VsZWN0b3IqIHBhcnRQc2V1ZG9FbGVtZW50
U2VsZWN0b3IgPSBudWxscHRyOwogI2lmIEVOQUJMRShWSURFT19UUkFDSykKICAgICBjb25zdCBD
U1NTZWxlY3RvciogY3VlUHNldWRvRWxlbWVudFNlbGVjdG9yID0gbnVsbHB0cjsKICNlbmRpZgpA
QCAtMjU3LDYgKzI1OCw5IEBAIHZvaWQgUnVsZVNldDo6YWRkUnVsZShTdHlsZVJ1bGUqIHJ1bGUs
IHVuc2lnbmVkIHNlbGVjdG9ySW5kZXgsIHVuc2lnbmVkIHNlbGVjdG9yCiAgICAgICAgICAgICBj
YXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50U2xvdHRlZDoKICAgICAgICAgICAgICAgICBz
bG90dGVkUHNldWRvRWxlbWVudFNlbGVjdG9yID0gc2VsZWN0b3I7CiAgICAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50UGFydDoK
KyAgICAgICAgICAgICAgICBwYXJ0UHNldWRvRWxlbWVudFNlbGVjdG9yID0gc2VsZWN0b3I7Cisg
ICAgICAgICAgICAgICAgYnJlYWs7CiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQogICAgICAgICAg
ICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudEN1ZToKICAgICAgICAgICAgICAgICBj
dWVQc2V1ZG9FbGVtZW50U2VsZWN0b3IgPSBzZWxlY3RvcjsKQEAgLTMxNCw2ICszMTgsMTMgQEAg
dm9pZCBSdWxlU2V0OjphZGRSdWxlKFN0eWxlUnVsZSogcnVsZSwgdW5zaWduZWQgc2VsZWN0b3JJ
bmRleCwgdW5zaWduZWQgc2VsZWN0b3IKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIGlm
IChwYXJ0UHNldWRvRWxlbWVudFNlbGVjdG9yKSB7CisgICAgICAgIC8vIEZpbHRlcmluZyBkb2Vz
bid0IHdvcmsgYWNjcm9zcyBzaGFkb3cgYm91bmRhcmllcy4KKyAgICAgICAgcnVsZURhdGEuZGlz
YWJsZVNlbGVjdG9yRmlsdGVyaW5nKCk7CisgICAgICAgIG1fcGFydFBzZXVkb0VsZW1lbnRSdWxl
cy5hcHBlbmQocnVsZURhdGEpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgaWYgKGN1
c3RvbVBzZXVkb0VsZW1lbnRTZWxlY3RvcikgewogICAgICAgICAvLyBGSVhNRTogQ3VzdG9tIHBz
ZXVkbyBlbGVtZW50cyBhcmUgaGFuZGxlZCBieSB0aGUgc2hhZG93IHRyZWUncyBzZWxlY3RvciBm
aWx0ZXIuIEl0IGRvZXNuJ3Qga25vdyBhYm91dCB0aGUgbWFpbiBET00uCiAgICAgICAgIHJ1bGVE
YXRhLmRpc2FibGVTZWxlY3RvckZpbHRlcmluZygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL1J1bGVTZXQuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9SdWxlU2V0LmgKaW5kZXggMjM4
MGZlNzBjYTguLjYzNTVlOTM2NGZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvUnVs
ZVNldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9SdWxlU2V0LmgKQEAgLTEzOCw2ICsxMzgs
NyBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICBjb25zdCBSdWxlRGF0YVZlY3RvciYgaG9zdFBzZXVk
b0NsYXNzUnVsZXMoKSBjb25zdCB7IHJldHVybiBtX2hvc3RQc2V1ZG9DbGFzc1J1bGVzOyB9CiAg
ICAgY29uc3QgUnVsZURhdGFWZWN0b3ImIHNsb3R0ZWRQc2V1ZG9FbGVtZW50UnVsZXMoKSBjb25z
dCB7IHJldHVybiBtX3Nsb3R0ZWRQc2V1ZG9FbGVtZW50UnVsZXM7IH0KKyAgICBjb25zdCBSdWxl
RGF0YVZlY3RvciYgcGFydFBzZXVkb0VsZW1lbnRSdWxlcygpIGNvbnN0IHsgcmV0dXJuIG1fcGFy
dFBzZXVkb0VsZW1lbnRSdWxlczsgfQogICAgIGNvbnN0IFJ1bGVEYXRhVmVjdG9yKiBmb2N1c1Bz
ZXVkb0NsYXNzUnVsZXMoKSBjb25zdCB7IHJldHVybiAmbV9mb2N1c1BzZXVkb0NsYXNzUnVsZXM7
IH0KICAgICBjb25zdCBSdWxlRGF0YVZlY3RvciogdW5pdmVyc2FsUnVsZXMoKSBjb25zdCB7IHJl
dHVybiAmbV91bml2ZXJzYWxSdWxlczsgfQogCkBAIC0xNjIsNiArMTYzLDcgQEAgcHJpdmF0ZToK
ICNlbmRpZgogICAgIFJ1bGVEYXRhVmVjdG9yIG1faG9zdFBzZXVkb0NsYXNzUnVsZXM7CiAgICAg
UnVsZURhdGFWZWN0b3IgbV9zbG90dGVkUHNldWRvRWxlbWVudFJ1bGVzOworICAgIFJ1bGVEYXRh
VmVjdG9yIG1fcGFydFBzZXVkb0VsZW1lbnRSdWxlczsKICAgICBSdWxlRGF0YVZlY3RvciBtX2Zv
Y3VzUHNldWRvQ2xhc3NSdWxlczsKICAgICBSdWxlRGF0YVZlY3RvciBtX3VuaXZlcnNhbFJ1bGVz
OwogICAgIFZlY3RvcjxTdHlsZVJ1bGVQYWdlKj4gbV9wYWdlUnVsZXM7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TZWxlY3RvckNoZWNrZXIuY3BwCmluZGV4IGUxODNjYjg0MTc1Li4yMmExYWI2NmMzNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAKQEAgLTExMjQsMjcgKzExMjQsMzgg
QEAgYm9vbCBTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25lKENoZWNraW5nQ29udGV4dCYgY2hlY2tp
bmdDb250ZXh0LCBjb25zdCBMb2NhbENvbnQKICAgICAgICAgfQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgfQorCisgICAgaWYgKHNlbGVjdG9yLm1hdGNoKCkgPT0gQ1NTU2VsZWN0b3I6OlBz
ZXVkb0VsZW1lbnQpIHsKKyAgICAgICAgc3dpdGNoIChzZWxlY3Rvci5wc2V1ZG9FbGVtZW50VHlw
ZSgpKSB7CiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQotICAgIGlmIChzZWxlY3Rvci5tYXRjaCgp
ID09IENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50ICYmIHNlbGVjdG9yLnBzZXVkb0VsZW1lbnRU
eXBlKCkgPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnRDdWUpIHsKLSAgICAgICAgTG9jYWxD
b250ZXh0IHN1YmNvbnRleHQoY29udGV4dCk7CisgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBz
ZXVkb0VsZW1lbnRDdWU6IHsKKyAgICAgICAgICAgIExvY2FsQ29udGV4dCBzdWJjb250ZXh0KGNv
bnRleHQpOwogCi0gICAgICAgIGNvbnN0IENTU1NlbGVjdG9yKiBjb25zdCAmIHNlbGVjdG9yID0g
Y29udGV4dC5zZWxlY3RvcjsKLSAgICAgICAgZm9yIChzdWJjb250ZXh0LnNlbGVjdG9yID0gc2Vs
ZWN0b3ItPnNlbGVjdG9yTGlzdCgpLT5maXJzdCgpOyBzdWJjb250ZXh0LnNlbGVjdG9yOyBzdWJj
b250ZXh0LnNlbGVjdG9yID0gQ1NTU2VsZWN0b3JMaXN0OjpuZXh0KHN1YmNvbnRleHQuc2VsZWN0
b3IpKSB7Ci0gICAgICAgICAgICBzdWJjb250ZXh0LmZpcnN0U2VsZWN0b3JPZlRoZUZyYWdtZW50
ID0gc3ViY29udGV4dC5zZWxlY3RvcjsKLSAgICAgICAgICAgIHN1YmNvbnRleHQuaW5GdW5jdGlv
bmFsUHNldWRvQ2xhc3MgPSB0cnVlOwotICAgICAgICAgICAgc3ViY29udGV4dC5wc2V1ZG9FbGVt
ZW50RWZmZWN0aXZlID0gZmFsc2U7Ci0gICAgICAgICAgICBQc2V1ZG9JZFNldCBpZ25vcmVkRHlu
YW1pY1BzZXVkbzsKLSAgICAgICAgICAgIHVuc2lnbmVkIGlnbm9yZWRTcGVjaWZpY2l0eSA9IDA7
Ci0gICAgICAgICAgICBpZiAobWF0Y2hSZWN1cnNpdmVseShjaGVja2luZ0NvbnRleHQsIHN1YmNv
bnRleHQsIGlnbm9yZWREeW5hbWljUHNldWRvLCBpZ25vcmVkU3BlY2lmaWNpdHkpLm1hdGNoID09
IE1hdGNoOjpTZWxlY3Rvck1hdGNoZXMpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgICAgICAgICBjb25zdCBDU1NTZWxlY3RvciogY29uc3QgJiBzZWxlY3RvciA9IGNvbnRleHQu
c2VsZWN0b3I7CisgICAgICAgICAgICBmb3IgKHN1YmNvbnRleHQuc2VsZWN0b3IgPSBzZWxlY3Rv
ci0+c2VsZWN0b3JMaXN0KCktPmZpcnN0KCk7IHN1YmNvbnRleHQuc2VsZWN0b3I7IHN1YmNvbnRl
eHQuc2VsZWN0b3IgPSBDU1NTZWxlY3Rvckxpc3Q6Om5leHQoc3ViY29udGV4dC5zZWxlY3Rvcikp
IHsKKyAgICAgICAgICAgICAgICBzdWJjb250ZXh0LmZpcnN0U2VsZWN0b3JPZlRoZUZyYWdtZW50
ID0gc3ViY29udGV4dC5zZWxlY3RvcjsKKyAgICAgICAgICAgICAgICBzdWJjb250ZXh0LmluRnVu
Y3Rpb25hbFBzZXVkb0NsYXNzID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBzdWJjb250ZXh0LnBz
ZXVkb0VsZW1lbnRFZmZlY3RpdmUgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBQc2V1ZG9JZFNl
dCBpZ25vcmVkRHluYW1pY1BzZXVkbzsKKyAgICAgICAgICAgICAgICB1bnNpZ25lZCBpZ25vcmVk
U3BlY2lmaWNpdHkgPSAwOworICAgICAgICAgICAgICAgIGlmIChtYXRjaFJlY3Vyc2l2ZWx5KGNo
ZWNraW5nQ29udGV4dCwgc3ViY29udGV4dCwgaWdub3JlZER5bmFtaWNQc2V1ZG8sIGlnbm9yZWRT
cGVjaWZpY2l0eSkubWF0Y2ggPT0gTWF0Y2g6OlNlbGVjdG9yTWF0Y2hlcykKKyAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KICNlbmRpZgot
ICAgIGlmIChzZWxlY3Rvci5tYXRjaCgpID09IENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50ICYm
IHNlbGVjdG9yLnBzZXVkb0VsZW1lbnRUeXBlKCkgPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1l
bnRTbG90dGVkKSB7Ci0gICAgICAgIC8vIFdlIHNlZSA6OnNsb3R0ZWQoKSBwc2V1ZG8gZWxlbWVu
dHMgd2hlbiBjb2xsZWN0aW5nIHNsb3R0ZWQgcnVsZXMgZnJvbSB0aGUgc2xvdCBzaGFkb3cgdHJl
ZSBvbmx5LgotICAgICAgICBBU1NFUlQoY2hlY2tpbmdDb250ZXh0LnJlc29sdmluZ01vZGUgPT0g
TW9kZTo6Q29sbGVjdGluZ1J1bGVzKTsKLSAgICAgICAgcmV0dXJuIGlzPEhUTUxTbG90RWxlbWVu
dD4oZWxlbWVudCk7CisgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnRTbG90
dGVkOgorICAgICAgICAgICAgLy8gV2Ugc2VlIDo6c2xvdHRlZCgpIHBzZXVkbyBlbGVtZW50cyB3
aGVuIGNvbGxlY3Rpbmcgc2xvdHRlZCBydWxlcyBmcm9tIHRoZSBzbG90IHNoYWRvdyB0cmVlIG9u
bHkuCisgICAgICAgICAgICBBU1NFUlQoY2hlY2tpbmdDb250ZXh0LnJlc29sdmluZ01vZGUgPT0g
TW9kZTo6Q29sbGVjdGluZ1J1bGVzKTsKKyAgICAgICAgICAgIHJldHVybiBpczxIVE1MU2xvdEVs
ZW1lbnQ+KGVsZW1lbnQpOworCisgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1l
bnRQYXJ0OgorICAgICAgICAgICAgLy8gRklYTUU6IFN1cHBvcnQgOjpwYXJ0KCkgd2l0aCBtdWx0
aXBsZSBwYXJ0cy4KKyAgICAgICAgICAgIHJldHVybiBlbGVtZW50LnBhcnROYW1lcygpLmNvbnRh
aW5zKHNlbGVjdG9yLmFyZ3VtZW50KCkpOworCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQogICAgIH0KICAgICByZXR1cm4gdHJ1ZTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvclBzZXVkb0VsZW1lbnRUeXBlTWFw
LmluIGIvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yUHNldWRvRWxlbWVudFR5cGVNYXAuaW4K
aW5kZXggMjQzMzQ1ZmFiMWUuLmMwN2RiODM1YzdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU2VsZWN0b3JQc2V1ZG9FbGVtZW50VHlwZU1hcC5pbgorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU2VsZWN0b3JQc2V1ZG9FbGVtZW50VHlwZU1hcC5pbgpAQCAtNiw2ICs2LDcgQEAgY3Vl
CiBmaXJzdC1sZXR0ZXIKIGZpcnN0LWxpbmUKIG1hcmtlcgorcGFydAogcGxhY2Vob2xkZXIsIFBz
ZXVkb0VsZW1lbnRXZWJLaXRDdXN0b20KIC13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIFBzZXVk
b0VsZW1lbnRXZWJLaXRDdXN0b21MZWdhY3lQcmVmaXhlZAogLXdlYmtpdC1yZXNpemVyCkBAIC0x
NiwzICsxNyw0IEBAIHBsYWNlaG9sZGVyLCBQc2V1ZG9FbGVtZW50V2ViS2l0Q3VzdG9tCiAtd2Vi
a2l0LXNjcm9sbGJhci10cmFjawogLXdlYmtpdC1zY3JvbGxiYXItdHJhY2stcGllY2UKIHNlbGVj
dGlvbgorc2xvdHRlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQ
YXJzZXJTZWxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlclNl
bGVjdG9yLmNwcAppbmRleCBhMDg3MGQzNzYyYy4uM2EyOTcyOTlkZGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyU2VsZWN0b3IuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyU2VsZWN0b3IuY3BwCkBAIC01MywxNSArNTMs
OCBAQCBzdGQ6OnVuaXF1ZV9wdHI8Q1NTUGFyc2VyU2VsZWN0b3I+IENTU1BhcnNlclNlbGVjdG9y
OjpwYXJzZVBhZ2VQc2V1ZG9TZWxlY3RvcihTdAogc3RkOjp1bmlxdWVfcHRyPENTU1BhcnNlclNl
bGVjdG9yPiBDU1NQYXJzZXJTZWxlY3Rvcjo6cGFyc2VQc2V1ZG9FbGVtZW50U2VsZWN0b3IoU3Ry
aW5nVmlldyBwc2V1ZG9UeXBlU3RyaW5nKQogewogICAgIGF1dG8gcHNldWRvVHlwZSA9IENTU1Nl
bGVjdG9yOjpwYXJzZVBzZXVkb0VsZW1lbnRUeXBlKHBzZXVkb1R5cGVTdHJpbmcpOwotICAgIGlm
IChwc2V1ZG9UeXBlID09IENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50VW5rbm93bikgewotICAg
ICAgICAvLyBGSVhNRS1ORVdQQVJTRVI6IFdlIGNhbid0IGFkZCAic2xvdHRlZCIgdG8gdGhlIG1h
cCB3aXRob3V0IGJyZWFraW5nIHRoZSBvbGQKLSAgICAgICAgLy8gcGFyc2VyLCBzbyB0aGlzIGhh
Y2sgZW5zdXJlcyB0aGUgbmV3IHBhcnNlciBzdGlsbCByZWNvZ25pemVzIGl0LiBXaGVuIHRoZSBu
ZXcKLSAgICAgICAgLy8gcGFyc2VyIHR1cm5zIG9uLCB3ZSBjYW4gYWRkICJzbG90dGVkIiB0byB0
aGUgbWFwIGFuZCByZW1vdmUgdGhpcyBjb2RlLgotICAgICAgICBpZiAocHNldWRvVHlwZVN0cmlu
Zy5zdGFydHNXaXRoSWdub3JpbmdBU0NJSUNhc2UoInNsb3R0ZWQiKSkKLSAgICAgICAgICAgIHBz
ZXVkb1R5cGUgPSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudFNsb3R0ZWQ7Ci0gICAgICAgIGVs
c2UKLSAgICAgICAgICAgIHJldHVybiBudWxscHRyOwotICAgIH0KKyAgICBpZiAocHNldWRvVHlw
ZSA9PSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudFVua25vd24pCisgICAgICAgIHJldHVybiBu
dWxscHRyOwogCiAgICAgYXV0byBzZWxlY3RvciA9IG1ha2VVbmlxdWU8Q1NTUGFyc2VyU2VsZWN0
b3I+KCk7CiAgICAgc2VsZWN0b3ItPm1fc2VsZWN0b3ItPnNldE1hdGNoKENTU1NlbGVjdG9yOjpQ
c2V1ZG9FbGVtZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NT
UGFyc2VyU2VsZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyU2Vs
ZWN0b3IuaAppbmRleCBkOGUwNzRiYjc5ZC4uN2M0NmE3YjVlNjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyU2VsZWN0b3IuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlclNlbGVjdG9yLmgKQEAgLTEwNyw2ICsxMDcsNyBAQCBp
bmxpbmUgYm9vbCBDU1NQYXJzZXJTZWxlY3Rvcjo6bmVlZHNJbXBsaWNpdFNoYWRvd0NvbWJpbmF0
b3JGb3JNYXRjaGluZygpIGNvbnN0CiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQogICAgICAgICAg
ICAgfHwgcHNldWRvRWxlbWVudFR5cGUoKSA9PSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudEN1
ZQogI2VuZGlmCisgICAgICAgICAgICB8fCBwc2V1ZG9FbGVtZW50VHlwZSgpID09IENTU1NlbGVj
dG9yOjpQc2V1ZG9FbGVtZW50UGFydAogICAgICAgICAgICAgfHwgcHNldWRvRWxlbWVudFR5cGUo
KSA9PSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudFdlYktpdEN1c3RvbUxlZ2FjeVByZWZpeGVk
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NTZWxlY3Rv
clBhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1NlbGVjdG9yUGFyc2Vy
LmNwcAppbmRleCBmMzMyM2IyMjZiNC4uN2QwZDc3N2MyMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTU2VsZWN0b3JQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9wYXJzZXIvQ1NTU2VsZWN0b3JQYXJzZXIuY3BwCkBAIC00NjIsNiArNDYyLDcgQEAg
c3RhdGljIGJvb2wgaXNPbmx5UHNldWRvRWxlbWVudEZ1bmN0aW9uKENTU1NlbGVjdG9yOjpQc2V1
ZG9FbGVtZW50VHlwZSBwc2V1ZG9FbGUKIHsKICAgICAvLyBOb3RlIHRoYXQgd2Ugb21pdCBjdWUg
c2luY2UgaXQgY2FuIGJlIGJvdGggYW4gaWRlbnQgb3IgYSBmdW5jdGlvbi4KICAgICBzd2l0Y2gg
KHBzZXVkb0VsZW1lbnRUeXBlKSB7CisgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVu
dFBhcnQ6CiAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudFNsb3R0ZWQ6CiAgICAg
ICAgIHJldHVybiB0cnVlOwogICAgIGRlZmF1bHQ6CkBAIC02MTYsNiArNjE3LDE2IEBAIHN0ZDo6
dW5pcXVlX3B0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gQ1NTU2VsZWN0b3JQYXJzZXI6OmNvbnN1bWVQ
c2V1ZG8oQ1NTUGFyc2VyVG9rCiAgICAgICAgICAgICByZXR1cm4gc2VsZWN0b3I7CiAgICAgICAg
IH0KICNlbmRpZgorICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50UGFydDog
eworICAgICAgICAgICAgRGlzYWxsb3dQc2V1ZG9FbGVtZW50c1Njb3BlIHNjb3BlKHRoaXMpOwor
CisgICAgICAgICAgICAvLyBGSVhNRTogUGFyc2UgYSBsaXN0IG9mIHBhcnRzLgorICAgICAgICAg
ICAgY29uc3QgQ1NTUGFyc2VyVG9rZW4mIGlkZW50ID0gYmxvY2suY29uc3VtZUluY2x1ZGluZ1do
aXRlc3BhY2UoKTsKKyAgICAgICAgICAgIGlmIChpZGVudC50eXBlKCkgIT0gSWRlbnRUb2tlbiB8
fCAhYmxvY2suYXRFbmQoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAg
ICAgICAgIHNlbGVjdG9yLT5zZXRBcmd1bWVudChpZGVudC52YWx1ZSgpLnRvQXRvbVN0cmluZygp
KTsKKyAgICAgICAgICAgIHJldHVybiBzZWxlY3RvcjsKKyAgICAgICAgfQogICAgICAgICBjYXNl
IENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50U2xvdHRlZDogewogICAgICAgICAgICAgRGlzYWxs
b3dQc2V1ZG9FbGVtZW50c1Njb3BlIHNjb3BlKHRoaXMpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAK
aW5kZXggNTAxNDRhOTBmZmMuLjBiOWMxMzhhYWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBA
IC0zNDMzLDkgKzM0MzMsOSBAQCBET01Ub2tlbkxpc3QmIEVsZW1lbnQ6OmNsYXNzTGlzdCgpCiAg
ICAgcmV0dXJuICpkYXRhLmNsYXNzTGlzdCgpOwogfQogCi1pbmxpbmUgU3BhY2VTcGxpdFN0cmlu
ZyBFbGVtZW50OjpwYXJ0TmFtZXMoKSBjb25zdAorU3BhY2VTcGxpdFN0cmluZyBFbGVtZW50Ojpw
YXJ0TmFtZXMoKSBjb25zdAogewotICAgIHJldHVybiBlbGVtZW50UmFyZURhdGEoKSA/IGVsZW1l
bnRSYXJlRGF0YSgpLT5wYXJ0TmFtZXMoKSA6IFNwYWNlU3BsaXRTdHJpbmcoKTsKKyAgICByZXR1
cm4gaGFzUmFyZURhdGEoKSA/IGVsZW1lbnRSYXJlRGF0YSgpLT5wYXJ0TmFtZXMoKSA6IFNwYWNl
U3BsaXRTdHJpbmcoKTsKIH0KIAogRE9NVG9rZW5MaXN0JiBFbGVtZW50OjpwYXJ0KCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>