<?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>149002</bug_id>
          
          <creation_ts>2015-09-09 08:39:43 -0700</creation_ts>
          <short_desc>REGRESSION(r189536): broke tests on mac (Requested by alexchristensen on #webkit).</short_desc>
          <delta_ts>2015-09-09 08:43:16 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>146020</blocked>
    
    <blocked>148978</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>hyatt</cc>
    
    <cc>svillar</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1124620</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-09 08:39:43 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/189536 broke the build:
broke tests on mac (Requested by alexchristensen on #webkit).

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1124623</commentid>
    <comment_count>1</comment_count>
      <attachid>260860</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-09 08:40:18 -0700</bug_when>
    <thetext>Created attachment 260860
ROLLOUT of r189536

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1124625</commentid>
    <comment_count>2</comment_count>
      <attachid>260860</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-09 08:43:12 -0700</bug_when>
    <thetext>Comment on attachment 260860
ROLLOUT of r189536

Clearing flags on attachment: 260860

Committed r189541: &lt;http://trac.webkit.org/changeset/189541&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1124626</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-09 08:43:16 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>260860</attachid>
            <date>2015-09-09 08:40:18 -0700</date>
            <delta_ts>2015-09-09 08:43:12 -0700</delta_ts>
            <desc>ROLLOUT of r189536</desc>
            <filename>bug-149002-20150909084012.patch</filename>
            <type>text/plain</type>
            <size>61872</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5NTQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmZhNWUxZjViM2Q3ODg0
M2IyZGQyYWQxOTc2NTRiNThjMTU0ZTc4Yi4uM2ZiNGVmMGY2N2IyOGNiYTFhNjA3ZDdlZTExOGRk
YjAzZWExMzg2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE1LTA5LTA5ICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMTg5NTM2IGFuZCByMTg5NTM4LgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5MDAyCisKKyAgICAgICAgYnJva2UgdGVzdHMg
b24gbWFjIChSZXF1ZXN0ZWQgYnkgYWxleGNocmlzdGVuc2VuIG9uICN3ZWJraXQpLgorCisgICAg
ICAgIFJldmVydGVkIGNoYW5nZXNldHM6CisKKyAgICAgICAgIm1pbi13aWR0aC9oZWlnaHQgc2hv
dWxkIGRlZmF1bHQgdG8gYXV0byBmb3IgZmxleGJveCBpdGVtcyIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjAyMAorICAgICAgICBodHRwOi8vdHJh
Yy53ZWJraXQub3JnL2NoYW5nZXNldC8xODk1MzYKKworICAgICAgICAiW2Nzcy1ncmlkXSBQZXJj
ZW50YWdlIGNvbHVtbnMgc2hvdWxkbid0IGluY2x1ZGUgYm9yZGVyIGFuZAorICAgICAgICBwYWRk
aW5nIgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ4
OTc4CisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzE4OTUzOAorCiAy
MDE1LTA5LTA4ICBEYXZpZCBIeWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdS
RVNTSU9OOiBJbmxpbmUtYmxvY2sgYmFzZWxpbmUgaXMgd3Jvbmcgd2hlbiB6ZXJvLXdpZHRoIHJl
cGxhY2VkIGNoaWxkIGlzIHByZXNlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Nv
bXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggMzAzYjVlMTRjOTY4MDBiN2RjMTA4YTQ4
M2I4OWExOWUyZDI1NTY5NC4uZDk1YzFiYzk3NzMwMTVlMDhhOGIxZmJmMjUwZjZlNGYyYTY4ZjRm
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJh
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJh
dGlvbi5jcHAKQEAgLTE4OTksMTEgKzE4OTksNiBAQCBzdGF0aWMgUmVmUHRyPENTU1ZhbHVlTGlz
dD4gdmFsdWVGb3JDb250ZW50UG9zaXRpb25BbmREaXN0cmlidXRpb25XaXRoT3ZlcmZsb3dBbAog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLWlubGluZSBzdGF0aWMgYm9vbCBpc0ZsZXhPckdyaWQo
Q29udGFpbmVyTm9kZSogZWxlbWVudCkKLXsKLSAgICByZXR1cm4gZWxlbWVudCAmJiBlbGVtZW50
LT5jb21wdXRlZFN0eWxlKCkgJiYgZWxlbWVudC0+Y29tcHV0ZWRTdHlsZSgpLT5pc0Rpc3BsYXlG
bGV4aWJsZU9yR3JpZEJveCgpOwotfQotCiBSZWZQdHI8Q1NTVmFsdWU+IENvbXB1dGVkU3R5bGVF
eHRyYWN0b3I6OnByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlELCBFVXBkYXRl
TGF5b3V0IHVwZGF0ZUxheW91dCkgY29uc3QKIHsKICAgICBOb2RlKiBzdHlsZWROb2RlID0gdGhp
cy0+c3R5bGVkTm9kZSgpOwpAQCAtMjQ5NywxOCArMjQ5MiwxNCBAQCBSZWZQdHI8Q1NTVmFsdWU+
IENvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9w
ZXJ0eUlELAogICAgICAgICAgICAgcmV0dXJuIHpvb21BZGp1c3RlZFBpeGVsVmFsdWVGb3JMZW5n
dGgobWF4V2lkdGgsICpzdHlsZSk7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0
eU1pbkhlaWdodDoKLSAgICAgICAgICAgIGlmIChzdHlsZS0+bWluSGVpZ2h0KCkuaXNBdXRvKCkp
IHsKLSAgICAgICAgICAgICAgICBpZiAoaXNGbGV4T3JHcmlkKHN0eWxlZE5vZGUtPnBhcmVudE5v
ZGUoKSkpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2wuY3JlYXRlSWRl
bnRpZmllclZhbHVlKENTU1ZhbHVlQXV0byk7CisgICAgICAgICAgICAvLyBGSVhNRTogRm9yIGZs
ZXgtaXRlbXMsIG1pbi1oZWlnaHQ6YXV0byBzaG91bGQgY29tcHV0ZSB0byBtaW4tY29udGVudC4K
KyAgICAgICAgICAgIGlmIChzdHlsZS0+bWluSGVpZ2h0KCkuaXNBdXRvKCkpCiAgICAgICAgICAg
ICAgICAgcmV0dXJuIHpvb21BZGp1c3RlZFBpeGVsVmFsdWUoMCwgKnN0eWxlKTsKLSAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIHJldHVybiB6b29tQWRqdXN0ZWRQaXhlbFZhbHVlRm9yTGVuZ3Ro
KHN0eWxlLT5taW5IZWlnaHQoKSwgKnN0eWxlKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eU1p
bldpZHRoOgotICAgICAgICAgICAgaWYgKHN0eWxlLT5taW5XaWR0aCgpLmlzQXV0bygpKSB7Ci0g
ICAgICAgICAgICAgICAgaWYgKGlzRmxleE9yR3JpZChzdHlsZWROb2RlLT5wYXJlbnROb2RlKCkp
KQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3NzVmFsdWVQb29sLmNyZWF0ZUlkZW50aWZp
ZXJWYWx1ZShDU1NWYWx1ZUF1dG8pOworICAgICAgICAgICAgLy8gRklYTUU6IEZvciBmbGV4LWl0
ZW1zLCBtaW4td2lkdGg6YXV0byBzaG91bGQgY29tcHV0ZSB0byBtaW4tY29udGVudC4KKyAgICAg
ICAgICAgIGlmIChzdHlsZS0+bWluV2lkdGgoKS5pc0F1dG8oKSkKICAgICAgICAgICAgICAgICBy
ZXR1cm4gem9vbUFkanVzdGVkUGl4ZWxWYWx1ZSgwLCAqc3R5bGUpOwotICAgICAgICAgICAgfQog
ICAgICAgICAgICAgcmV0dXJuIHpvb21BZGp1c3RlZFBpeGVsVmFsdWVGb3JMZW5ndGgoc3R5bGUt
Pm1pbldpZHRoKCksICpzdHlsZSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlPYmplY3RGaXQ6
CiAgICAgICAgICAgICByZXR1cm4gY3NzVmFsdWVQb29sLmNyZWF0ZVZhbHVlKHN0eWxlLT5vYmpl
Y3RGaXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCmluZGV4IDRjZGI0Y2EwNTJkMDRiYzE0
NzFjMjM5YzQxYzlmN2Y1Y2ZmNzEwOGIuLjcwMjcxZmM4ZDI3YzY1ODkzYzU3YjAxNzI3MTQyZTUy
ZjhjMjA2MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC0yMjU0LDcgKzIyNTQsNyBA
QCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BJZCwgYm9vbCBp
bXBvcnRhbnQpCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdE1pbkxvZ2ljYWxXaWR0aDoKICAg
ICBjYXNlIENTU1Byb3BlcnR5TWluSGVpZ2h0OgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRN
aW5Mb2dpY2FsSGVpZ2h0OgotICAgICAgICB2YWxpZFByaW1pdGl2ZSA9IGlkID09IENTU1ZhbHVl
QXV0byB8fCBpc1ZhbGlkU2l6ZSh2YWx1ZVdpdGhDYWxjdWxhdGlvbik7CisgICAgICAgIHZhbGlk
UHJpbWl0aXZlID0gaXNWYWxpZFNpemUodmFsdWVXaXRoQ2FsY3VsYXRpb24pOwogICAgICAgICBi
cmVhazsKIAogICAgIGNhc2UgQ1NTUHJvcGVydHlXaWR0aDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L1NsaWRlclRodW1iRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQuY3BwCmluZGV4IDUyY2FjMDUwYzk0NjI5
NmMyNmYxYWMzNTZjYTY5ZWY3NTFiMTIxYzguLjBhMWJiODNmYjE5Yzc1NTZkYWNkMTZjZmRkYzc4
Njk4NGJkNTE3ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1NsaWRl
clRodW1iRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvU2xpZGVy
VGh1bWJFbGVtZW50LmNwcApAQCAtMTIxLDcgKzEyMSw2IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToK
ICAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0KCkgb3ZlcnJpZGU7Ci0gICAgYm9vbCBpc0ZsZXhpYmxl
Qm94SW1wbCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KIH07CiAKIHZvaWQgUmVu
ZGVyU2xpZGVyQ29udGFpbmVyOjpjb21wdXRlTG9naWNhbEhlaWdodChMYXlvdXRVbml0IGxvZ2lj
YWxIZWlnaHQsIExheW91dFVuaXQgbG9naWNhbFRvcCwgTG9naWNhbEV4dGVudENvbXB1dGVkVmFs
dWVzJiBjb21wdXRlZFZhbHVlcykgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eC5jcHAKaW5kZXggNzU1MDFiMzBjNmU2Njk0NWRlN2VhNmI3YzVlY2Q4MTYxNmViN2FmMC4uODBl
NjFmMmMyNTY4NDIxN2NiM2VkN2YzZWJmNzczNTljYzU4ZjRhYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTY0NiwxMCArNjQ2LDEwIEBAIExheW91dFVuaXQgUmVu
ZGVyQm94Ojpjb25zdHJhaW5Mb2dpY2FsSGVpZ2h0QnlNaW5NYXgoTGF5b3V0VW5pdCBsb2dpY2Fs
SGVpZ2h0LCBPCiB7CiAgICAgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlVG9Vc2UgPSBzdHlsZSgp
OwogICAgIGlmICghc3R5bGVUb1VzZS5sb2dpY2FsTWF4SGVpZ2h0KCkuaXNVbmRlZmluZWQoKSkg
ewotICAgICAgICBpZiAoT3B0aW9uYWw8TGF5b3V0VW5pdD4gbWF4SCA9IGNvbXB1dGVMb2dpY2Fs
SGVpZ2h0VXNpbmcoTWF4U2l6ZSwgc3R5bGVUb1VzZS5sb2dpY2FsTWF4SGVpZ2h0KCksIGludHJp
bnNpY0NvbnRlbnRIZWlnaHQpKQorICAgICAgICBpZiAoT3B0aW9uYWw8TGF5b3V0VW5pdD4gbWF4
SCA9IGNvbXB1dGVMb2dpY2FsSGVpZ2h0VXNpbmcoc3R5bGVUb1VzZS5sb2dpY2FsTWF4SGVpZ2h0
KCksIGludHJpbnNpY0NvbnRlbnRIZWlnaHQpKQogICAgICAgICAgICAgbG9naWNhbEhlaWdodCA9
IHN0ZDo6bWluKGxvZ2ljYWxIZWlnaHQsIG1heEgudmFsdWUoKSk7CiAgICAgfQotICAgIGlmIChP
cHRpb25hbDxMYXlvdXRVbml0PiBjb21wdXRlZExvZ2ljYWxIZWlnaHQgPSBjb21wdXRlTG9naWNh
bEhlaWdodFVzaW5nKE1pblNpemUsIHN0eWxlVG9Vc2UubG9naWNhbE1pbkhlaWdodCgpLCBpbnRy
aW5zaWNDb250ZW50SGVpZ2h0KSkKKyAgICBpZiAoT3B0aW9uYWw8TGF5b3V0VW5pdD4gY29tcHV0
ZWRMb2dpY2FsSGVpZ2h0ID0gY29tcHV0ZUxvZ2ljYWxIZWlnaHRVc2luZyhzdHlsZVRvVXNlLmxv
Z2ljYWxNaW5IZWlnaHQoKSwgaW50cmluc2ljQ29udGVudEhlaWdodCkpCiAgICAgICAgIHJldHVy
biBzdGQ6Om1heChsb2dpY2FsSGVpZ2h0LCBjb21wdXRlZExvZ2ljYWxIZWlnaHQudmFsdWUoKSk7
CiAgICAgcmV0dXJuIGxvZ2ljYWxIZWlnaHQ7CiB9CkBAIC02NTgsMTAgKzY1OCwxMCBAQCBMYXlv
dXRVbml0IFJlbmRlckJveDo6Y29uc3RyYWluQ29udGVudEJveExvZ2ljYWxIZWlnaHRCeU1pbk1h
eChMYXlvdXRVbml0IGxvZ2ljYQogewogICAgIGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZVRvVXNl
ID0gc3R5bGUoKTsKICAgICBpZiAoIXN0eWxlVG9Vc2UubG9naWNhbE1heEhlaWdodCgpLmlzVW5k
ZWZpbmVkKCkpIHsKLSAgICAgICAgaWYgKE9wdGlvbmFsPExheW91dFVuaXQ+IG1heEggPSBjb21w
dXRlQ29udGVudExvZ2ljYWxIZWlnaHQoTWF4U2l6ZSwgc3R5bGVUb1VzZS5sb2dpY2FsTWF4SGVp
Z2h0KCksIGludHJpbnNpY0NvbnRlbnRIZWlnaHQpKQorICAgICAgICBpZiAoT3B0aW9uYWw8TGF5
b3V0VW5pdD4gbWF4SCA9IGNvbXB1dGVDb250ZW50TG9naWNhbEhlaWdodChzdHlsZVRvVXNlLmxv
Z2ljYWxNYXhIZWlnaHQoKSwgaW50cmluc2ljQ29udGVudEhlaWdodCkpCiAgICAgICAgICAgICBs
b2dpY2FsSGVpZ2h0ID0gc3RkOjptaW4obG9naWNhbEhlaWdodCwgbWF4SC52YWx1ZSgpKTsKICAg
ICB9Ci0gICAgaWYgKE9wdGlvbmFsPExheW91dFVuaXQ+IGNvbXB1dGVkQ29udGVudExvZ2ljYWxI
ZWlnaHQgPSBjb21wdXRlQ29udGVudExvZ2ljYWxIZWlnaHQoTWluU2l6ZSwgc3R5bGVUb1VzZS5s
b2dpY2FsTWluSGVpZ2h0KCksIGludHJpbnNpY0NvbnRlbnRIZWlnaHQpKQorICAgIGlmIChPcHRp
b25hbDxMYXlvdXRVbml0PiBjb21wdXRlZENvbnRlbnRMb2dpY2FsSGVpZ2h0ID0gY29tcHV0ZUNv
bnRlbnRMb2dpY2FsSGVpZ2h0KHN0eWxlVG9Vc2UubG9naWNhbE1pbkhlaWdodCgpLCBpbnRyaW5z
aWNDb250ZW50SGVpZ2h0KSkKICAgICAgICAgcmV0dXJuIHN0ZDo6bWF4KGxvZ2ljYWxIZWlnaHQs
IGNvbXB1dGVkQ29udGVudExvZ2ljYWxIZWlnaHQudmFsdWUoKSk7CiAgICAgcmV0dXJuIGxvZ2lj
YWxIZWlnaHQ7CiB9CkBAIC0yNDM5LDEwICsyNDM5LDYgQEAgTGF5b3V0VW5pdCBSZW5kZXJCb3g6
OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhVc2luZyhMZW5ndGggbG9naWNhbFdpZHRoTGVu
Z3QKIExheW91dFVuaXQgUmVuZGVyQm94Ojpjb21wdXRlTG9naWNhbFdpZHRoSW5SZWdpb25Vc2lu
ZyhTaXplVHlwZSB3aWR0aFR5cGUsIExlbmd0aCBsb2dpY2FsV2lkdGgsIExheW91dFVuaXQgYXZh
aWxhYmxlTG9naWNhbFdpZHRoLAogICAgIGNvbnN0IFJlbmRlckJsb2NrKiBjYiwgUmVuZGVyUmVn
aW9uKiByZWdpb24pIGNvbnN0CiB7Ci0gICAgQVNTRVJUKHdpZHRoVHlwZSA9PSBNaW5TaXplIHx8
IHdpZHRoVHlwZSA9PSBNYWluT3JQcmVmZXJyZWRTaXplIHx8ICFsb2dpY2FsV2lkdGguaXNBdXRv
KCkpOwotICAgIGlmICh3aWR0aFR5cGUgPT0gTWluU2l6ZSAmJiBsb2dpY2FsV2lkdGguaXNBdXRv
KCkpCi0gICAgICAgIHJldHVybiBhZGp1c3RCb3JkZXJCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXpp
bmcoMCk7Ci0KICAgICBpZiAoIWxvZ2ljYWxXaWR0aC5pc0ludHJpbnNpY09yQXV0bygpKSB7CiAg
ICAgICAgIC8vIEZJWE1FOiBJZiB0aGUgY29udGFpbmluZyBibG9jayBmbG93IGlzIHBlcnBlbmRp
Y3VsYXIgdG8gb3VyIGRpcmVjdGlvbiB3ZSBuZWVkIHRvIHVzZSB0aGUgYXZhaWxhYmxlIGxvZ2lj
YWwgaGVpZ2h0IGluc3RlYWQuCiAgICAgICAgIHJldHVybiBhZGp1c3RCb3JkZXJCb3hMb2dpY2Fs
V2lkdGhGb3JCb3hTaXppbmcodmFsdWVGb3JMZW5ndGgobG9naWNhbFdpZHRoLCBhdmFpbGFibGVM
b2dpY2FsV2lkdGgpKTsKQEAgLTI3NTksNyArMjc1NSw3IEBAIHZvaWQgUmVuZGVyQm94Ojpjb21w
dXRlTG9naWNhbEhlaWdodChMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQsIExheW91dFVuaXQgbG9n
aWNhCiAgICAgICAgIExheW91dFVuaXQgaGVpZ2h0UmVzdWx0OwogICAgICAgICBpZiAoY2hlY2tN
aW5NYXhIZWlnaHQpIHsKICAgICAgICAgICAgIExheW91dFVuaXQgaW50cmluc2ljSGVpZ2h0ID0g
Y29tcHV0ZWRWYWx1ZXMubV9leHRlbnQgLSBib3JkZXJBbmRQYWRkaW5nTG9naWNhbEhlaWdodCgp
OwotICAgICAgICAgICAgaGVpZ2h0UmVzdWx0ID0gY29tcHV0ZUxvZ2ljYWxIZWlnaHRVc2luZyhN
YWluT3JQcmVmZXJyZWRTaXplLCBzdHlsZSgpLmxvZ2ljYWxIZWlnaHQoKSwgaW50cmluc2ljSGVp
Z2h0KS52YWx1ZU9yKGNvbXB1dGVkVmFsdWVzLm1fZXh0ZW50KTsKKyAgICAgICAgICAgIGhlaWdo
dFJlc3VsdCA9IGNvbXB1dGVMb2dpY2FsSGVpZ2h0VXNpbmcoc3R5bGUoKS5sb2dpY2FsSGVpZ2h0
KCksIGludHJpbnNpY0hlaWdodCkudmFsdWVPcihjb21wdXRlZFZhbHVlcy5tX2V4dGVudCk7CiAg
ICAgICAgICAgICBoZWlnaHRSZXN1bHQgPSBjb25zdHJhaW5Mb2dpY2FsSGVpZ2h0QnlNaW5NYXgo
aGVpZ2h0UmVzdWx0LCBpbnRyaW5zaWNIZWlnaHQpOwogICAgICAgICB9IGVsc2UgewogICAgICAg
ICAgICAgLy8gVGhlIG9ubHkgdGltZXMgd2UgZG9uJ3QgY2hlY2sgbWluL21heCBoZWlnaHQgYXJl
IHdoZW4gYSBmaXhlZCBsZW5ndGggaGFzCkBAIC0yNzk4LDE2ICsyNzk0LDE2IEBAIHZvaWQgUmVu
ZGVyQm94Ojpjb21wdXRlTG9naWNhbEhlaWdodChMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQsIExh
eW91dFVuaXQgbG9naWNhCiAgICAgfQogfQogCi1PcHRpb25hbDxMYXlvdXRVbml0PiBSZW5kZXJC
b3g6OmNvbXB1dGVMb2dpY2FsSGVpZ2h0VXNpbmcoU2l6ZVR5cGUgaGVpZ2h0VHlwZSwgY29uc3Qg
TGVuZ3RoJiBoZWlnaHQsIE9wdGlvbmFsPExheW91dFVuaXQ+IGludHJpbnNpY0NvbnRlbnRIZWln
aHQpIGNvbnN0CitPcHRpb25hbDxMYXlvdXRVbml0PiBSZW5kZXJCb3g6OmNvbXB1dGVMb2dpY2Fs
SGVpZ2h0VXNpbmcoY29uc3QgTGVuZ3RoJiBoZWlnaHQsIE9wdGlvbmFsPExheW91dFVuaXQ+IGlu
dHJpbnNpY0NvbnRlbnRIZWlnaHQpIGNvbnN0CiB7Ci0gICAgaWYgKE9wdGlvbmFsPExheW91dFVu
aXQ+IGxvZ2ljYWxIZWlnaHQgPSBjb21wdXRlQ29udGVudEFuZFNjcm9sbGJhckxvZ2ljYWxIZWln
aHRVc2luZyhoZWlnaHRUeXBlLCBoZWlnaHQsIGludHJpbnNpY0NvbnRlbnRIZWlnaHQpKQorICAg
IGlmIChPcHRpb25hbDxMYXlvdXRVbml0PiBsb2dpY2FsSGVpZ2h0ID0gY29tcHV0ZUNvbnRlbnRB
bmRTY3JvbGxiYXJMb2dpY2FsSGVpZ2h0VXNpbmcoaGVpZ2h0LCBpbnRyaW5zaWNDb250ZW50SGVp
Z2h0KSkKICAgICAgICAgcmV0dXJuIGFkanVzdEJvcmRlckJveExvZ2ljYWxIZWlnaHRGb3JCb3hT
aXppbmcobG9naWNhbEhlaWdodC52YWx1ZSgpKTsKICAgICByZXR1cm4gTnVsbG9wdDsKIH0KIAot
T3B0aW9uYWw8TGF5b3V0VW5pdD4gUmVuZGVyQm94Ojpjb21wdXRlQ29udGVudExvZ2ljYWxIZWln
aHQoU2l6ZVR5cGUgaGVpZ2h0VHlwZSwgY29uc3QgTGVuZ3RoJiBoZWlnaHQsIE9wdGlvbmFsPExh
eW91dFVuaXQ+IGludHJpbnNpY0NvbnRlbnRIZWlnaHQpIGNvbnN0CitPcHRpb25hbDxMYXlvdXRV
bml0PiBSZW5kZXJCb3g6OmNvbXB1dGVDb250ZW50TG9naWNhbEhlaWdodChjb25zdCBMZW5ndGgm
IGhlaWdodCwgT3B0aW9uYWw8TGF5b3V0VW5pdD4gaW50cmluc2ljQ29udGVudEhlaWdodCkgY29u
c3QKIHsKLSAgICBpZiAoT3B0aW9uYWw8TGF5b3V0VW5pdD4gaGVpZ2h0SW5jbHVkaW5nU2Nyb2xs
YmFyID0gY29tcHV0ZUNvbnRlbnRBbmRTY3JvbGxiYXJMb2dpY2FsSGVpZ2h0VXNpbmcoaGVpZ2h0
VHlwZSwgaGVpZ2h0LCBpbnRyaW5zaWNDb250ZW50SGVpZ2h0KSkKKyAgICBpZiAoT3B0aW9uYWw8
TGF5b3V0VW5pdD4gaGVpZ2h0SW5jbHVkaW5nU2Nyb2xsYmFyID0gY29tcHV0ZUNvbnRlbnRBbmRT
Y3JvbGxiYXJMb2dpY2FsSGVpZ2h0VXNpbmcoaGVpZ2h0LCBpbnRyaW5zaWNDb250ZW50SGVpZ2h0
KSkKICAgICAgICAgcmV0dXJuIHN0ZDo6bWF4PExheW91dFVuaXQ+KDAsIGFkanVzdENvbnRlbnRC
b3hMb2dpY2FsSGVpZ2h0Rm9yQm94U2l6aW5nKGhlaWdodEluY2x1ZGluZ1Njcm9sbGJhcikgLSBz
Y3JvbGxiYXJMb2dpY2FsSGVpZ2h0KCkpOwogICAgIHJldHVybiBOdWxsb3B0OwogfQpAQCAtMjgy
NCwxMCArMjgyMCw4IEBAIE9wdGlvbmFsPExheW91dFVuaXQ+IFJlbmRlckJveDo6Y29tcHV0ZUlu
dHJpbnNpY0xvZ2ljYWxDb250ZW50SGVpZ2h0VXNpbmcoTGVuZ3RoCiAgICAgcmV0dXJuIExheW91
dFVuaXQoMCk7CiB9CiAKLU9wdGlvbmFsPExheW91dFVuaXQ+IFJlbmRlckJveDo6Y29tcHV0ZUNv
bnRlbnRBbmRTY3JvbGxiYXJMb2dpY2FsSGVpZ2h0VXNpbmcoU2l6ZVR5cGUgaGVpZ2h0VHlwZSwg
Y29uc3QgTGVuZ3RoJiBoZWlnaHQsIE9wdGlvbmFsPExheW91dFVuaXQ+IGludHJpbnNpY0NvbnRl
bnRIZWlnaHQpIGNvbnN0CitPcHRpb25hbDxMYXlvdXRVbml0PiBSZW5kZXJCb3g6OmNvbXB1dGVD
b250ZW50QW5kU2Nyb2xsYmFyTG9naWNhbEhlaWdodFVzaW5nKGNvbnN0IExlbmd0aCYgaGVpZ2h0
LCBPcHRpb25hbDxMYXlvdXRVbml0PiBpbnRyaW5zaWNDb250ZW50SGVpZ2h0KSBjb25zdAogewot
ICAgIGlmIChoZWlnaHQuaXNBdXRvKCkpCi0gICAgICAgIHJldHVybiBoZWlnaHRUeXBlID09IE1p
blNpemUgPyBPcHRpb25hbDxMYXlvdXRVbml0PigwKSA6IE51bGxvcHQ7CiAgICAgLy8gRklYTUU6
IFRoZSBDU1Mgc2l6aW5nIHNwZWMgaXMgY29uc2lkZXJpbmcgY2hhbmdpbmcgd2hhdCBtaW4tY29u
dGVudC9tYXgtY29udGVudCBzaG91bGQgcmVzb2x2ZSB0by4KICAgICAvLyBJZiB0aGF0IGhhcHBl
bnMsIHRoaXMgY29kZSB3aWxsIGhhdmUgdG8gY2hhbmdlLgogICAgIGlmIChoZWlnaHQuaXNJbnRy
aW5zaWMoKSkKQEAgLTI5NDYsMjIgKzI5NDAsMTggQEAgT3B0aW9uYWw8TGF5b3V0VW5pdD4gUmVu
ZGVyQm94Ojpjb21wdXRlUGVyY2VudGFnZUxvZ2ljYWxIZWlnaHQoY29uc3QgTGVuZ3RoJiBoZWkK
IAogTGF5b3V0VW5pdCBSZW5kZXJCb3g6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aChTaG91
bGRDb21wdXRlUHJlZmVycmVkIHNob3VsZENvbXB1dGVQcmVmZXJyZWQpIGNvbnN0CiB7Ci0gICAg
cmV0dXJuIGNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aFJlc3BlY3RpbmdNaW5NYXhXaWR0aChj
b21wdXRlUmVwbGFjZWRMb2dpY2FsV2lkdGhVc2luZyhNYWluT3JQcmVmZXJyZWRTaXplLCBzdHls
ZSgpLmxvZ2ljYWxXaWR0aCgpKSwgc2hvdWxkQ29tcHV0ZVByZWZlcnJlZCk7CisgICAgcmV0dXJu
IGNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aFJlc3BlY3RpbmdNaW5NYXhXaWR0aChjb21wdXRl
UmVwbGFjZWRMb2dpY2FsV2lkdGhVc2luZyhzdHlsZSgpLmxvZ2ljYWxXaWR0aCgpKSwgc2hvdWxk
Q29tcHV0ZVByZWZlcnJlZCk7CiB9CiAKIExheW91dFVuaXQgUmVuZGVyQm94Ojpjb21wdXRlUmVw
bGFjZWRMb2dpY2FsV2lkdGhSZXNwZWN0aW5nTWluTWF4V2lkdGgoTGF5b3V0VW5pdCBsb2dpY2Fs
V2lkdGgsIFNob3VsZENvbXB1dGVQcmVmZXJyZWQgc2hvdWxkQ29tcHV0ZVByZWZlcnJlZCkgY29u
c3QKIHsKLSAgICBMYXlvdXRVbml0IG1pbkxvZ2ljYWxXaWR0aCA9IChzaG91bGRDb21wdXRlUHJl
ZmVycmVkID09IENvbXB1dGVQcmVmZXJyZWQgJiYgc3R5bGUoKS5sb2dpY2FsTWluV2lkdGgoKS5p
c1BlcmNlbnRPckNhbGN1bGF0ZWQoKSkgfHwgc3R5bGUoKS5sb2dpY2FsTWluV2lkdGgoKS5pc1Vu
ZGVmaW5lZCgpID8gbG9naWNhbFdpZHRoIDogY29tcHV0ZVJlcGxhY2VkTG9naWNhbFdpZHRoVXNp
bmcoTWluU2l6ZSwgc3R5bGUoKS5sb2dpY2FsTWluV2lkdGgoKSk7Ci0gICAgTGF5b3V0VW5pdCBt
YXhMb2dpY2FsV2lkdGggPSAoc2hvdWxkQ29tcHV0ZVByZWZlcnJlZCA9PSBDb21wdXRlUHJlZmVy
cmVkICYmIHN0eWxlKCkubG9naWNhbE1heFdpZHRoKCkuaXNQZXJjZW50T3JDYWxjdWxhdGVkKCkp
IHx8IHN0eWxlKCkubG9naWNhbE1heFdpZHRoKCkuaXNVbmRlZmluZWQoKSA/IGxvZ2ljYWxXaWR0
aCA6IGNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aFVzaW5nKE1heFNpemUsIHN0eWxlKCkubG9n
aWNhbE1heFdpZHRoKCkpOworICAgIExheW91dFVuaXQgbWluTG9naWNhbFdpZHRoID0gKHNob3Vs
ZENvbXB1dGVQcmVmZXJyZWQgPT0gQ29tcHV0ZVByZWZlcnJlZCAmJiBzdHlsZSgpLmxvZ2ljYWxN
aW5XaWR0aCgpLmlzUGVyY2VudE9yQ2FsY3VsYXRlZCgpKSB8fCBzdHlsZSgpLmxvZ2ljYWxNaW5X
aWR0aCgpLmlzVW5kZWZpbmVkKCkgPyBsb2dpY2FsV2lkdGggOiBjb21wdXRlUmVwbGFjZWRMb2dp
Y2FsV2lkdGhVc2luZyhzdHlsZSgpLmxvZ2ljYWxNaW5XaWR0aCgpKTsKKyAgICBMYXlvdXRVbml0
IG1heExvZ2ljYWxXaWR0aCA9IChzaG91bGRDb21wdXRlUHJlZmVycmVkID09IENvbXB1dGVQcmVm
ZXJyZWQgJiYgc3R5bGUoKS5sb2dpY2FsTWF4V2lkdGgoKS5pc1BlcmNlbnRPckNhbGN1bGF0ZWQo
KSkgfHwgc3R5bGUoKS5sb2dpY2FsTWF4V2lkdGgoKS5pc1VuZGVmaW5lZCgpID8gbG9naWNhbFdp
ZHRoIDogY29tcHV0ZVJlcGxhY2VkTG9naWNhbFdpZHRoVXNpbmcoc3R5bGUoKS5sb2dpY2FsTWF4
V2lkdGgoKSk7CiAgICAgcmV0dXJuIHN0ZDo6bWF4KG1pbkxvZ2ljYWxXaWR0aCwgc3RkOjptaW4o
bG9naWNhbFdpZHRoLCBtYXhMb2dpY2FsV2lkdGgpKTsKIH0KIAotTGF5b3V0VW5pdCBSZW5kZXJC
b3g6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aFVzaW5nKFNpemVUeXBlIHdpZHRoVHlwZSwg
TGVuZ3RoIGxvZ2ljYWxXaWR0aCkgY29uc3QKK0xheW91dFVuaXQgUmVuZGVyQm94Ojpjb21wdXRl
UmVwbGFjZWRMb2dpY2FsV2lkdGhVc2luZyhMZW5ndGggbG9naWNhbFdpZHRoKSBjb25zdAogewot
ICAgIEFTU0VSVCh3aWR0aFR5cGUgPT0gTWluU2l6ZSB8fCB3aWR0aFR5cGUgPT0gTWFpbk9yUHJl
ZmVycmVkU2l6ZSB8fCAhbG9naWNhbFdpZHRoLmlzQXV0bygpKTsKLSAgICBpZiAod2lkdGhUeXBl
ID09IE1pblNpemUgJiYgbG9naWNhbFdpZHRoLmlzQXV0bygpKQotICAgICAgICByZXR1cm4gYWRq
dXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZygwKTsKLQogICAgIHN3aXRjaCAo
bG9naWNhbFdpZHRoLnR5cGUoKSkgewogICAgICAgICBjYXNlIEZpeGVkOgogICAgICAgICAgICAg
cmV0dXJuIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcobG9naWNhbFdp
ZHRoLnZhbHVlKCkpOwpAQCAtMzAwMiwyMiArMjk5MiwxOCBAQCBMYXlvdXRVbml0IFJlbmRlckJv
eDo6Y29tcHV0ZVJlcGxhY2VkTG9naWNhbFdpZHRoVXNpbmcoU2l6ZVR5cGUgd2lkdGhUeXBlLCBM
ZW5ndAogCiBMYXlvdXRVbml0IFJlbmRlckJveDo6Y29tcHV0ZVJlcGxhY2VkTG9naWNhbEhlaWdo
dCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGNvbXB1dGVSZXBsYWNlZExvZ2ljYWxIZWlnaHRSZXNw
ZWN0aW5nTWluTWF4SGVpZ2h0KGNvbXB1dGVSZXBsYWNlZExvZ2ljYWxIZWlnaHRVc2luZyhNYWlu
T3JQcmVmZXJyZWRTaXplLCBzdHlsZSgpLmxvZ2ljYWxIZWlnaHQoKSkpOworICAgIHJldHVybiBj
b21wdXRlUmVwbGFjZWRMb2dpY2FsSGVpZ2h0UmVzcGVjdGluZ01pbk1heEhlaWdodChjb21wdXRl
UmVwbGFjZWRMb2dpY2FsSGVpZ2h0VXNpbmcoc3R5bGUoKS5sb2dpY2FsSGVpZ2h0KCkpKTsKIH0K
IAogTGF5b3V0VW5pdCBSZW5kZXJCb3g6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxIZWlnaHRSZXNw
ZWN0aW5nTWluTWF4SGVpZ2h0KExheW91dFVuaXQgbG9naWNhbEhlaWdodCkgY29uc3QKIHsKLSAg
ICBMYXlvdXRVbml0IG1pbkxvZ2ljYWxIZWlnaHQgPSBjb21wdXRlUmVwbGFjZWRMb2dpY2FsSGVp
Z2h0VXNpbmcoTWluU2l6ZSwgc3R5bGUoKS5sb2dpY2FsTWluSGVpZ2h0KCkpOwotICAgIExheW91
dFVuaXQgbWF4TG9naWNhbEhlaWdodCA9IHN0eWxlKCkubG9naWNhbE1heEhlaWdodCgpLmlzVW5k
ZWZpbmVkKCkgPyBsb2dpY2FsSGVpZ2h0IDogY29tcHV0ZVJlcGxhY2VkTG9naWNhbEhlaWdodFVz
aW5nKE1heFNpemUsIHN0eWxlKCkubG9naWNhbE1heEhlaWdodCgpKTsKKyAgICBMYXlvdXRVbml0
IG1pbkxvZ2ljYWxIZWlnaHQgPSBjb21wdXRlUmVwbGFjZWRMb2dpY2FsSGVpZ2h0VXNpbmcoc3R5
bGUoKS5sb2dpY2FsTWluSGVpZ2h0KCkpOworICAgIExheW91dFVuaXQgbWF4TG9naWNhbEhlaWdo
dCA9IHN0eWxlKCkubG9naWNhbE1heEhlaWdodCgpLmlzVW5kZWZpbmVkKCkgPyBsb2dpY2FsSGVp
Z2h0IDogY29tcHV0ZVJlcGxhY2VkTG9naWNhbEhlaWdodFVzaW5nKHN0eWxlKCkubG9naWNhbE1h
eEhlaWdodCgpKTsKICAgICByZXR1cm4gc3RkOjptYXgobWluTG9naWNhbEhlaWdodCwgc3RkOjpt
aW4obG9naWNhbEhlaWdodCwgbWF4TG9naWNhbEhlaWdodCkpOwogfQogCi1MYXlvdXRVbml0IFJl
bmRlckJveDo6Y29tcHV0ZVJlcGxhY2VkTG9naWNhbEhlaWdodFVzaW5nKFNpemVUeXBlIGhlaWdo
dFR5cGUsIExlbmd0aCBsb2dpY2FsSGVpZ2h0KSBjb25zdAorTGF5b3V0VW5pdCBSZW5kZXJCb3g6
OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxIZWlnaHRVc2luZyhMZW5ndGggbG9naWNhbEhlaWdodCkg
Y29uc3QKIHsKLSAgICBBU1NFUlQoaGVpZ2h0VHlwZSA9PSBNaW5TaXplIHx8IGhlaWdodFR5cGUg
PT0gTWFpbk9yUHJlZmVycmVkU2l6ZSB8fCAhbG9naWNhbEhlaWdodC5pc0F1dG8oKSk7Ci0gICAg
aWYgKGhlaWdodFR5cGUgPT0gTWluU2l6ZSAmJiBsb2dpY2FsSGVpZ2h0LmlzQXV0bygpKQotICAg
ICAgICByZXR1cm4gYWRqdXN0Q29udGVudEJveExvZ2ljYWxIZWlnaHRGb3JCb3hTaXppbmcoT3B0
aW9uYWw8TGF5b3V0VW5pdD4oMCkpOwotCiAgICAgc3dpdGNoIChsb2dpY2FsSGVpZ2h0LnR5cGUo
KSkgewogICAgICAgICBjYXNlIEZpeGVkOgogICAgICAgICAgICAgcmV0dXJuIGFkanVzdENvbnRl
bnRCb3hMb2dpY2FsSGVpZ2h0Rm9yQm94U2l6aW5nKExheW91dFVuaXQobG9naWNhbEhlaWdodC52
YWx1ZSgpKSk7CkBAIC0zMTAwLDcgKzMwODYsNyBAQCBMYXlvdXRVbml0IFJlbmRlckJveDo6YXZh
aWxhYmxlTG9naWNhbEhlaWdodFVzaW5nKGNvbnN0IExlbmd0aCYgaCwgQXZhaWxhYmxlTG9naQog
ICAgICAgICByZXR1cm4gYWRqdXN0Q29udGVudEJveExvZ2ljYWxIZWlnaHRGb3JCb3hTaXppbmco
dmFsdWVGb3JMZW5ndGgoaCwgYXZhaWxhYmxlSGVpZ2h0KSk7CiAgICAgfQogCi0gICAgaWYgKE9w
dGlvbmFsPExheW91dFVuaXQ+IGhlaWdodEluY2x1ZGluZ1Njcm9sbGJhciA9IGNvbXB1dGVDb250
ZW50QW5kU2Nyb2xsYmFyTG9naWNhbEhlaWdodFVzaW5nKE1haW5PclByZWZlcnJlZFNpemUsIGgs
IE51bGxvcHQpKQorICAgIGlmIChPcHRpb25hbDxMYXlvdXRVbml0PiBoZWlnaHRJbmNsdWRpbmdT
Y3JvbGxiYXIgPSBjb21wdXRlQ29udGVudEFuZFNjcm9sbGJhckxvZ2ljYWxIZWlnaHRVc2luZyho
LCBOdWxsb3B0KSkKICAgICAgICAgcmV0dXJuIHN0ZDo6bWF4PExheW91dFVuaXQ+KDAsIGFkanVz
dENvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0Rm9yQm94U2l6aW5nKGhlaWdodEluY2x1ZGluZ1Njcm9s
bGJhcikgLSBzY3JvbGxiYXJMb2dpY2FsSGVpZ2h0KCkpOwogCiAgICAgLy8gRklYTUU6IENoZWNr
IGxvZ2ljYWxUb3AvbG9naWNhbEJvdHRvbSBoZXJlIHRvIGNvcnJlY3RseSBoYW5kbGUgdmVydGlj
YWwgd3JpdGluZy1tb2RlLgpAQCAtMzM3Niw3ICszMzYyLDcgQEAgdm9pZCBSZW5kZXJCb3g6OmNv
bXB1dGVQb3NpdGlvbmVkTG9naWNhbFdpZHRoKExvZ2ljYWxFeHRlbnRDb21wdXRlZFZhbHVlcyYg
Y29tcHUKICAgICBjb21wdXRlSW5saW5lU3RhdGljRGlzdGFuY2UobG9naWNhbExlZnRMZW5ndGgs
IGxvZ2ljYWxSaWdodExlbmd0aCwgdGhpcywgY29udGFpbmVyQmxvY2ssIGNvbnRhaW5lckxvZ2lj
YWxXaWR0aCwgcmVnaW9uKTsKICAgICAKICAgICAvLyBDYWxjdWxhdGUgY29uc3RyYWludCBlcXVh
dGlvbiB2YWx1ZXMgZm9yICd3aWR0aCcgY2FzZS4KLSAgICBjb21wdXRlUG9zaXRpb25lZExvZ2lj
YWxXaWR0aFVzaW5nKE1haW5PclByZWZlcnJlZFNpemUsIHN0eWxlKCkubG9naWNhbFdpZHRoKCks
IGNvbnRhaW5lckJsb2NrLCBjb250YWluZXJEaXJlY3Rpb24sCisgICAgY29tcHV0ZVBvc2l0aW9u
ZWRMb2dpY2FsV2lkdGhVc2luZyhzdHlsZSgpLmxvZ2ljYWxXaWR0aCgpLCBjb250YWluZXJCbG9j
aywgY29udGFpbmVyRGlyZWN0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29udGFpbmVyTG9naWNhbFdpZHRoLCBib3JkZXJzUGx1c1BhZGRpbmcsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dpY2FsTGVmdExlbmd0aCwgbG9naWNh
bFJpZ2h0TGVuZ3RoLCBtYXJnaW5Mb2dpY2FsTGVmdCwgbWFyZ2luTG9naWNhbFJpZ2h0LAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcHV0ZWRWYWx1ZXMpOwpAQCAt
MzM4NSw3ICszMzcxLDcgQEAgdm9pZCBSZW5kZXJCb3g6OmNvbXB1dGVQb3NpdGlvbmVkTG9naWNh
bFdpZHRoKExvZ2ljYWxFeHRlbnRDb21wdXRlZFZhbHVlcyYgY29tcHUKICAgICBpZiAoIXN0eWxl
KCkubG9naWNhbE1heFdpZHRoKCkuaXNVbmRlZmluZWQoKSkgewogICAgICAgICBMb2dpY2FsRXh0
ZW50Q29tcHV0ZWRWYWx1ZXMgbWF4VmFsdWVzOwogCi0gICAgICAgIGNvbXB1dGVQb3NpdGlvbmVk
TG9naWNhbFdpZHRoVXNpbmcoTWF4U2l6ZSwgc3R5bGUoKS5sb2dpY2FsTWF4V2lkdGgoKSwgY29u
dGFpbmVyQmxvY2ssIGNvbnRhaW5lckRpcmVjdGlvbiwKKyAgICAgICAgY29tcHV0ZVBvc2l0aW9u
ZWRMb2dpY2FsV2lkdGhVc2luZyhzdHlsZSgpLmxvZ2ljYWxNYXhXaWR0aCgpLCBjb250YWluZXJC
bG9jaywgY29udGFpbmVyRGlyZWN0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnRhaW5lckxvZ2ljYWxXaWR0aCwgYm9yZGVyc1BsdXNQYWRkaW5nLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2ljYWxMZWZ0TGVu
Z3RoLCBsb2dpY2FsUmlnaHRMZW5ndGgsIG1hcmdpbkxvZ2ljYWxMZWZ0LCBtYXJnaW5Mb2dpY2Fs
UmlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4VmFs
dWVzKTsKQEAgLTM0MDIsNyArMzM4OCw3IEBAIHZvaWQgUmVuZGVyQm94Ojpjb21wdXRlUG9zaXRp
b25lZExvZ2ljYWxXaWR0aChMb2dpY2FsRXh0ZW50Q29tcHV0ZWRWYWx1ZXMmIGNvbXB1CiAgICAg
aWYgKCFzdHlsZSgpLmxvZ2ljYWxNaW5XaWR0aCgpLmlzWmVybygpIHx8IHN0eWxlKCkubG9naWNh
bE1pbldpZHRoKCkuaXNJbnRyaW5zaWMoKSkgewogICAgICAgICBMb2dpY2FsRXh0ZW50Q29tcHV0
ZWRWYWx1ZXMgbWluVmFsdWVzOwogCi0gICAgICAgIGNvbXB1dGVQb3NpdGlvbmVkTG9naWNhbFdp
ZHRoVXNpbmcoTWluU2l6ZSwgc3R5bGUoKS5sb2dpY2FsTWluV2lkdGgoKSwgY29udGFpbmVyQmxv
Y2ssIGNvbnRhaW5lckRpcmVjdGlvbiwKKyAgICAgICAgY29tcHV0ZVBvc2l0aW9uZWRMb2dpY2Fs
V2lkdGhVc2luZyhzdHlsZSgpLmxvZ2ljYWxNaW5XaWR0aCgpLCBjb250YWluZXJCbG9jaywgY29u
dGFpbmVyRGlyZWN0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnRhaW5lckxvZ2ljYWxXaWR0aCwgYm9yZGVyc1BsdXNQYWRkaW5nLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2ljYWxMZWZ0TGVuZ3RoLCBsb2dp
Y2FsUmlnaHRMZW5ndGgsIG1hcmdpbkxvZ2ljYWxMZWZ0LCBtYXJnaW5Mb2dpY2FsUmlnaHQsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluVmFsdWVzKTsKQEAg
LTM0NDcsMTUgKzM0MzMsMTIgQEAgc3RhdGljIHZvaWQgY29tcHV0ZUxvZ2ljYWxMZWZ0UG9zaXRp
b25lZE9mZnNldChMYXlvdXRVbml0JiBsb2dpY2FsTGVmdFBvcywgY29uc3QKICAgICAgICAgbG9n
aWNhbExlZnRQb3MgKz0gKGNoaWxkLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gY29udGFp
bmVyQmxvY2stPmJvcmRlckxlZnQoKSA6IGNvbnRhaW5lckJsb2NrLT5ib3JkZXJUb3AoKSk7CiB9
CiAKLXZvaWQgUmVuZGVyQm94Ojpjb21wdXRlUG9zaXRpb25lZExvZ2ljYWxXaWR0aFVzaW5nKFNp
emVUeXBlIHdpZHRoVHlwZSwgTGVuZ3RoIGxvZ2ljYWxXaWR0aCwgY29uc3QgUmVuZGVyQm94TW9k
ZWxPYmplY3QqIGNvbnRhaW5lckJsb2NrLCBUZXh0RGlyZWN0aW9uIGNvbnRhaW5lckRpcmVjdGlv
biwKK3ZvaWQgUmVuZGVyQm94Ojpjb21wdXRlUG9zaXRpb25lZExvZ2ljYWxXaWR0aFVzaW5nKExl
bmd0aCBsb2dpY2FsV2lkdGgsIGNvbnN0IFJlbmRlckJveE1vZGVsT2JqZWN0KiBjb250YWluZXJC
bG9jaywgVGV4dERpcmVjdGlvbiBjb250YWluZXJEaXJlY3Rpb24sCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYXlvdXRVbml0IGNvbnRhaW5lckxv
Z2ljYWxXaWR0aCwgTGF5b3V0VW5pdCBib3JkZXJzUGx1c1BhZGRpbmcsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMZW5ndGggbG9naWNhbExlZnQs
IExlbmd0aCBsb2dpY2FsUmlnaHQsIExlbmd0aCBtYXJnaW5Mb2dpY2FsTGVmdCwgTGVuZ3RoIG1h
cmdpbkxvZ2ljYWxSaWdodCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIExvZ2ljYWxFeHRlbnRDb21wdXRlZFZhbHVlcyYgY29tcHV0ZWRWYWx1ZXMp
IGNvbnN0CiB7Ci0gICAgQVNTRVJUKHdpZHRoVHlwZSA9PSBNaW5TaXplIHx8IHdpZHRoVHlwZSA9
PSBNYWluT3JQcmVmZXJyZWRTaXplIHx8ICFsb2dpY2FsV2lkdGguaXNBdXRvKCkpOwotICAgIGlm
ICh3aWR0aFR5cGUgPT0gTWluU2l6ZSAmJiBsb2dpY2FsV2lkdGguaXNBdXRvKCkpCi0gICAgICAg
IGxvZ2ljYWxXaWR0aCA9IExlbmd0aCgwLCBGaXhlZCk7Ci0gICAgZWxzZSBpZiAobG9naWNhbFdp
ZHRoLmlzSW50cmluc2ljKCkpCisgICAgaWYgKGxvZ2ljYWxXaWR0aC5pc0ludHJpbnNpYygpKQog
ICAgICAgICBsb2dpY2FsV2lkdGggPSBMZW5ndGgoY29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0
aFVzaW5nKGxvZ2ljYWxXaWR0aCwgY29udGFpbmVyTG9naWNhbFdpZHRoLCBib3JkZXJzUGx1c1Bh
ZGRpbmcpIC0gYm9yZGVyc1BsdXNQYWRkaW5nLCBGaXhlZCk7CiAKICAgICAvLyAnbGVmdCcgYW5k
ICdyaWdodCcgY2Fubm90IGJvdGggYmUgJ2F1dG8nIGJlY2F1c2Ugb25lIHdvdWxkIG9mIGJlZW4K
QEAgLTM2OTUsNyArMzY3OCw3IEBAIHZvaWQgUmVuZGVyQm94Ojpjb21wdXRlUG9zaXRpb25lZExv
Z2ljYWxIZWlnaHQoTG9naWNhbEV4dGVudENvbXB1dGVkVmFsdWVzJiBjb21wCiAKICAgICAvLyBD
YWxjdWxhdGUgY29uc3RyYWludCBlcXVhdGlvbiB2YWx1ZXMgZm9yICdoZWlnaHQnIGNhc2UuCiAg
ICAgTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0ID0gY29tcHV0ZWRWYWx1ZXMubV9leHRlbnQ7Ci0g
ICAgY29tcHV0ZVBvc2l0aW9uZWRMb2dpY2FsSGVpZ2h0VXNpbmcoTWFpbk9yUHJlZmVycmVkU2l6
ZSwgc3R5bGVUb1VzZS5sb2dpY2FsSGVpZ2h0KCksIGNvbnRhaW5lckJsb2NrLCBjb250YWluZXJM
b2dpY2FsSGVpZ2h0LCBib3JkZXJzUGx1c1BhZGRpbmcsIGxvZ2ljYWxIZWlnaHQsCisgICAgY29t
cHV0ZVBvc2l0aW9uZWRMb2dpY2FsSGVpZ2h0VXNpbmcoc3R5bGVUb1VzZS5sb2dpY2FsSGVpZ2h0
KCksIGNvbnRhaW5lckJsb2NrLCBjb250YWluZXJMb2dpY2FsSGVpZ2h0LCBib3JkZXJzUGx1c1Bh
ZGRpbmcsIGxvZ2ljYWxIZWlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbG9naWNhbFRvcExlbmd0aCwgbG9naWNhbEJvdHRvbUxlbmd0aCwgbWFyZ2luQmVmb3Jl
LCBtYXJnaW5BZnRlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b21wdXRlZFZhbHVlcyk7CiAKQEAgLTM3MDYsNyArMzY4OSw3IEBAIHZvaWQgUmVuZGVyQm94Ojpj
b21wdXRlUG9zaXRpb25lZExvZ2ljYWxIZWlnaHQoTG9naWNhbEV4dGVudENvbXB1dGVkVmFsdWVz
JiBjb21wCiAgICAgaWYgKCFzdHlsZVRvVXNlLmxvZ2ljYWxNYXhIZWlnaHQoKS5pc1VuZGVmaW5l
ZCgpKSB7CiAgICAgICAgIExvZ2ljYWxFeHRlbnRDb21wdXRlZFZhbHVlcyBtYXhWYWx1ZXM7CiAK
LSAgICAgICAgY29tcHV0ZVBvc2l0aW9uZWRMb2dpY2FsSGVpZ2h0VXNpbmcoTWF4U2l6ZSwgc3R5
bGVUb1VzZS5sb2dpY2FsTWF4SGVpZ2h0KCksIGNvbnRhaW5lckJsb2NrLCBjb250YWluZXJMb2dp
Y2FsSGVpZ2h0LCBib3JkZXJzUGx1c1BhZGRpbmcsIGxvZ2ljYWxIZWlnaHQsCisgICAgICAgIGNv
bXB1dGVQb3NpdGlvbmVkTG9naWNhbEhlaWdodFVzaW5nKHN0eWxlVG9Vc2UubG9naWNhbE1heEhl
aWdodCgpLCBjb250YWluZXJCbG9jaywgY29udGFpbmVyTG9naWNhbEhlaWdodCwgYm9yZGVyc1Bs
dXNQYWRkaW5nLCBsb2dpY2FsSGVpZ2h0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBsb2dpY2FsVG9wTGVuZ3RoLCBsb2dpY2FsQm90dG9tTGVuZ3RoLCBtYXJn
aW5CZWZvcmUsIG1hcmdpbkFmdGVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBtYXhWYWx1ZXMpOwogCkBAIC0zNzIyLDcgKzM3MDUsNyBAQCB2b2lkIFJlbmRl
ckJveDo6Y29tcHV0ZVBvc2l0aW9uZWRMb2dpY2FsSGVpZ2h0KExvZ2ljYWxFeHRlbnRDb21wdXRl
ZFZhbHVlcyYgY29tcAogICAgIGlmICghc3R5bGVUb1VzZS5sb2dpY2FsTWluSGVpZ2h0KCkuaXNa
ZXJvKCkgfHwgc3R5bGVUb1VzZS5sb2dpY2FsTWluSGVpZ2h0KCkuaXNJbnRyaW5zaWMoKSkgewog
ICAgICAgICBMb2dpY2FsRXh0ZW50Q29tcHV0ZWRWYWx1ZXMgbWluVmFsdWVzOwogCi0gICAgICAg
IGNvbXB1dGVQb3NpdGlvbmVkTG9naWNhbEhlaWdodFVzaW5nKE1pblNpemUsIHN0eWxlVG9Vc2Uu
bG9naWNhbE1pbkhlaWdodCgpLCBjb250YWluZXJCbG9jaywgY29udGFpbmVyTG9naWNhbEhlaWdo
dCwgYm9yZGVyc1BsdXNQYWRkaW5nLCBsb2dpY2FsSGVpZ2h0LAorICAgICAgICBjb21wdXRlUG9z
aXRpb25lZExvZ2ljYWxIZWlnaHRVc2luZyhzdHlsZVRvVXNlLmxvZ2ljYWxNaW5IZWlnaHQoKSwg
Y29udGFpbmVyQmxvY2ssIGNvbnRhaW5lckxvZ2ljYWxIZWlnaHQsIGJvcmRlcnNQbHVzUGFkZGlu
ZywgbG9naWNhbEhlaWdodCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbG9naWNhbFRvcExlbmd0aCwgbG9naWNhbEJvdHRvbUxlbmd0aCwgbWFyZ2luQmVmb3Jl
LCBtYXJnaW5BZnRlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbWluVmFsdWVzKTsKIApAQCAtMzc3OCwxNSArMzc2MSwxMSBAQCBzdGF0aWMgdm9pZCBjb21w
dXRlTG9naWNhbFRvcFBvc2l0aW9uZWRPZmZzZXQoTGF5b3V0VW5pdCYgbG9naWNhbFRvcFBvcywg
Y29uc3QgUgogICAgIH0KIH0KIAotdm9pZCBSZW5kZXJCb3g6OmNvbXB1dGVQb3NpdGlvbmVkTG9n
aWNhbEhlaWdodFVzaW5nKFNpemVUeXBlIGhlaWdodFR5cGUsIExlbmd0aCBsb2dpY2FsSGVpZ2h0
TGVuZ3RoLCBjb25zdCBSZW5kZXJCb3hNb2RlbE9iamVjdCogY29udGFpbmVyQmxvY2ssCit2b2lk
IFJlbmRlckJveDo6Y29tcHV0ZVBvc2l0aW9uZWRMb2dpY2FsSGVpZ2h0VXNpbmcoTGVuZ3RoIGxv
Z2ljYWxIZWlnaHRMZW5ndGgsIGNvbnN0IFJlbmRlckJveE1vZGVsT2JqZWN0KiBjb250YWluZXJC
bG9jaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBMYXlvdXRVbml0IGNvbnRhaW5lckxvZ2ljYWxIZWlnaHQsIExheW91dFVuaXQgYm9yZGVyc1Bs
dXNQYWRkaW5nLCBMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGVuZ3RoIGxvZ2ljYWxUb3AsIExlbmd0
aCBsb2dpY2FsQm90dG9tLCBMZW5ndGggbWFyZ2luQmVmb3JlLCBMZW5ndGggbWFyZ2luQWZ0ZXIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9n
aWNhbEV4dGVudENvbXB1dGVkVmFsdWVzJiBjb21wdXRlZFZhbHVlcykgY29uc3QKIHsKLSAgICBB
U1NFUlQoaGVpZ2h0VHlwZSA9PSBNaW5TaXplIHx8IGhlaWdodFR5cGUgPT0gTWFpbk9yUHJlZmVy
cmVkU2l6ZSB8fCAhbG9naWNhbEhlaWdodExlbmd0aC5pc0F1dG8oKSk7Ci0gICAgaWYgKGhlaWdo
dFR5cGUgPT0gTWluU2l6ZSAmJiBsb2dpY2FsSGVpZ2h0TGVuZ3RoLmlzQXV0bygpKQotICAgICAg
ICBsb2dpY2FsSGVpZ2h0TGVuZ3RoID0gTGVuZ3RoKDAsIEZpeGVkKTsKLQogICAgIC8vICd0b3An
IGFuZCAnYm90dG9tJyBjYW5ub3QgYm90aCBiZSAnYXV0bycgYmVjYXVzZSAndG9wIHdvdWxkIG9m
IGJlZW4KICAgICAvLyBjb252ZXJ0ZWQgdG8gdGhlIHN0YXRpYyBwb3NpdGlvbiBpbiBjb21wdXRl
UG9zaXRpb25lZExvZ2ljYWxIZWlnaHQoKQogICAgIEFTU0VSVCghKGxvZ2ljYWxUb3AuaXNBdXRv
KCkgJiYgbG9naWNhbEJvdHRvbS5pc0F1dG8oKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveC5oCmluZGV4IGU1YzdhMWViNTk4OWViYjNiMWRjZTczNmFhN2FkMTA4ODBlYTA5ZGMuLjE1
NTE4YTA2OWMyZTYwMzMyZWY0OWJiNTBjZTlhZDllOGZiYzA1ODUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94LmgKQEAgLTQyMSwxMiArNDIxLDEyIEBAIHB1YmxpYzoKICAgICBMYXlv
dXRVbml0IHNocmlua0xvZ2ljYWxXaWR0aFRvQXZvaWRGbG9hdHMoTGF5b3V0VW5pdCBjaGlsZE1h
cmdpblN0YXJ0LCBMYXlvdXRVbml0IGNoaWxkTWFyZ2luRW5kLCBjb25zdCBSZW5kZXJCbG9jayog
Y2IsIFJlbmRlclJlZ2lvbiopIGNvbnN0OwogCiAgICAgTGF5b3V0VW5pdCBjb21wdXRlTG9naWNh
bFdpZHRoSW5SZWdpb25Vc2luZyhTaXplVHlwZSwgTGVuZ3RoIGxvZ2ljYWxXaWR0aCwgTGF5b3V0
VW5pdCBhdmFpbGFibGVMb2dpY2FsV2lkdGgsIGNvbnN0IFJlbmRlckJsb2NrKiBjb250YWluaW5n
QmxvY2ssIFJlbmRlclJlZ2lvbiopIGNvbnN0OwotICAgIE9wdGlvbmFsPExheW91dFVuaXQ+IGNv
bXB1dGVMb2dpY2FsSGVpZ2h0VXNpbmcoU2l6ZVR5cGUsIGNvbnN0IExlbmd0aCYgaGVpZ2h0LCBP
cHRpb25hbDxMYXlvdXRVbml0PiBpbnRyaW5zaWNDb250ZW50SGVpZ2h0KSBjb25zdDsKLSAgICBP
cHRpb25hbDxMYXlvdXRVbml0PiBjb21wdXRlQ29udGVudExvZ2ljYWxIZWlnaHQoU2l6ZVR5cGUs
IGNvbnN0IExlbmd0aCYgaGVpZ2h0LCBPcHRpb25hbDxMYXlvdXRVbml0PiBpbnRyaW5zaWNDb250
ZW50SGVpZ2h0KSBjb25zdDsKLSAgICBPcHRpb25hbDxMYXlvdXRVbml0PiBjb21wdXRlQ29udGVu
dEFuZFNjcm9sbGJhckxvZ2ljYWxIZWlnaHRVc2luZyhTaXplVHlwZSwgY29uc3QgTGVuZ3RoJiBo
ZWlnaHQsIE9wdGlvbmFsPExheW91dFVuaXQ+IGludHJpbnNpY0NvbnRlbnRIZWlnaHQpIGNvbnN0
OwotICAgIExheW91dFVuaXQgY29tcHV0ZVJlcGxhY2VkTG9naWNhbFdpZHRoVXNpbmcoU2l6ZVR5
cGUsIExlbmd0aCB3aWR0aCkgY29uc3Q7CisgICAgT3B0aW9uYWw8TGF5b3V0VW5pdD4gY29tcHV0
ZUxvZ2ljYWxIZWlnaHRVc2luZyhjb25zdCBMZW5ndGgmIGhlaWdodCwgT3B0aW9uYWw8TGF5b3V0
VW5pdD4gaW50cmluc2ljQ29udGVudEhlaWdodCkgY29uc3Q7CisgICAgT3B0aW9uYWw8TGF5b3V0
VW5pdD4gY29tcHV0ZUNvbnRlbnRMb2dpY2FsSGVpZ2h0KGNvbnN0IExlbmd0aCYgaGVpZ2h0LCBP
cHRpb25hbDxMYXlvdXRVbml0PiBpbnRyaW5zaWNDb250ZW50SGVpZ2h0KSBjb25zdDsKKyAgICBP
cHRpb25hbDxMYXlvdXRVbml0PiBjb21wdXRlQ29udGVudEFuZFNjcm9sbGJhckxvZ2ljYWxIZWln
aHRVc2luZyhjb25zdCBMZW5ndGgmIGhlaWdodCwgT3B0aW9uYWw8TGF5b3V0VW5pdD4gaW50cmlu
c2ljQ29udGVudEhlaWdodCkgY29uc3Q7CisgICAgTGF5b3V0VW5pdCBjb21wdXRlUmVwbGFjZWRM
b2dpY2FsV2lkdGhVc2luZyhMZW5ndGggd2lkdGgpIGNvbnN0OwogICAgIExheW91dFVuaXQgY29t
cHV0ZVJlcGxhY2VkTG9naWNhbFdpZHRoUmVzcGVjdGluZ01pbk1heFdpZHRoKExheW91dFVuaXQg
bG9naWNhbFdpZHRoLCBTaG91bGRDb21wdXRlUHJlZmVycmVkICA9IENvbXB1dGVBY3R1YWwpIGNv
bnN0OwotICAgIExheW91dFVuaXQgY29tcHV0ZVJlcGxhY2VkTG9naWNhbEhlaWdodFVzaW5nKFNp
emVUeXBlLCBMZW5ndGggaGVpZ2h0KSBjb25zdDsKKyAgICBMYXlvdXRVbml0IGNvbXB1dGVSZXBs
YWNlZExvZ2ljYWxIZWlnaHRVc2luZyhMZW5ndGggaGVpZ2h0KSBjb25zdDsKICAgICBMYXlvdXRV
bml0IGNvbXB1dGVSZXBsYWNlZExvZ2ljYWxIZWlnaHRSZXNwZWN0aW5nTWluTWF4SGVpZ2h0KExh
eW91dFVuaXQgbG9naWNhbEhlaWdodCkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIExheW91dFVuaXQg
Y29tcHV0ZVJlcGxhY2VkTG9naWNhbFdpZHRoKFNob3VsZENvbXB1dGVQcmVmZXJyZWQgID0gQ29t
cHV0ZUFjdHVhbCkgY29uc3Q7CkBAIC02ODcsMTEgKzY4NywxMSBAQCBwcml2YXRlOgogICAgIExh
eW91dFVuaXQgdmlld0xvZ2ljYWxIZWlnaHRGb3JQZXJjZW50YWdlcygpIGNvbnN0OwogCiAgICAg
dm9pZCBjb21wdXRlUG9zaXRpb25lZExvZ2ljYWxIZWlnaHQoTG9naWNhbEV4dGVudENvbXB1dGVk
VmFsdWVzJikgY29uc3Q7Ci0gICAgdm9pZCBjb21wdXRlUG9zaXRpb25lZExvZ2ljYWxXaWR0aFVz
aW5nKFNpemVUeXBlLCBMZW5ndGggbG9naWNhbFdpZHRoLCBjb25zdCBSZW5kZXJCb3hNb2RlbE9i
amVjdCogY29udGFpbmVyQmxvY2ssIFRleHREaXJlY3Rpb24gY29udGFpbmVyRGlyZWN0aW9uLAor
ICAgIHZvaWQgY29tcHV0ZVBvc2l0aW9uZWRMb2dpY2FsV2lkdGhVc2luZyhMZW5ndGggbG9naWNh
bFdpZHRoLCBjb25zdCBSZW5kZXJCb3hNb2RlbE9iamVjdCogY29udGFpbmVyQmxvY2ssIFRleHRE
aXJlY3Rpb24gY29udGFpbmVyRGlyZWN0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBMYXlvdXRVbml0IGNvbnRhaW5lckxvZ2ljYWxXaWR0aCwgTGF5b3V0
VW5pdCBib3JkZXJzUGx1c1BhZGRpbmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIExlbmd0aCBsb2dpY2FsTGVmdCwgTGVuZ3RoIGxvZ2ljYWxSaWdodCwgTGVu
Z3RoIG1hcmdpbkxvZ2ljYWxMZWZ0LCBMZW5ndGggbWFyZ2luTG9naWNhbFJpZ2h0LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2dpY2FsRXh0ZW50Q29tcHV0
ZWRWYWx1ZXMmKSBjb25zdDsKLSAgICB2b2lkIGNvbXB1dGVQb3NpdGlvbmVkTG9naWNhbEhlaWdo
dFVzaW5nKFNpemVUeXBlLCBMZW5ndGggbG9naWNhbEhlaWdodExlbmd0aCwgY29uc3QgUmVuZGVy
Qm94TW9kZWxPYmplY3QqIGNvbnRhaW5lckJsb2NrLAorICAgIHZvaWQgY29tcHV0ZVBvc2l0aW9u
ZWRMb2dpY2FsSGVpZ2h0VXNpbmcoTGVuZ3RoIGxvZ2ljYWxIZWlnaHRMZW5ndGgsIGNvbnN0IFJl
bmRlckJveE1vZGVsT2JqZWN0KiBjb250YWluZXJCbG9jaywKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIExheW91dFVuaXQgY29udGFpbmVyTG9naWNhbEhlaWdo
dCwgTGF5b3V0VW5pdCBib3JkZXJzUGx1c1BhZGRpbmcsIExheW91dFVuaXQgbG9naWNhbEhlaWdo
dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExlbmd0aCBs
b2dpY2FsVG9wLCBMZW5ndGggbG9naWNhbEJvdHRvbSwgTGVuZ3RoIG1hcmdpbkxvZ2ljYWxUb3As
IExlbmd0aCBtYXJnaW5Mb2dpY2FsQm90dG9tLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgTG9naWNhbEV4dGVudENvbXB1dGVkVmFsdWVzJikgY29uc3Q7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQnV0dG9uLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQnV0dG9uLmgKaW5kZXggOGNjOGJkYWExNjdhOGYz
YjQ0Y2Q2ZWY5MTZhNWU0YzU0MTRhMmJmMS4uZmQ3ODIwNmYwZWM0NDUyYWUyNDU4YmM1NGI4YWU0
NDM3YmJmMWU5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJ1
dHRvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCdXR0b24uaApAQCAt
NzYsOCArNzYsNiBAQCBwcml2YXRlOgogCiAgICAgdm9pZCB0aW1lckZpcmVkKCk7CiAKLSAgICBi
b29sIGlzRmxleGlibGVCb3hJbXBsKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQot
CiAgICAgUmVuZGVyVGV4dEZyYWdtZW50KiBtX2J1dHRvblRleHQ7CiAgICAgUmVuZGVyQmxvY2sq
IG1faW5uZXI7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJG
bGV4aWJsZUJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVC
b3guY3BwCmluZGV4IGExY2MwNWFkYWM2YWJjMGE5MWVmZDE0MGJiYWFhYjJhNjFkOGU1ZTcuLmZj
ZDkwNTY5NTI1MDhjNTViNzczMGJmZmYxNDg1YzY3ZDZmMGZhNTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcApAQCAtNDU1LDcgKzQ1NSw3IEBA
IE9wdGlvbmFsPExheW91dFVuaXQ+IFJlbmRlckZsZXhpYmxlQm94Ojpjb21wdXRlTWFpbkF4aXNF
eHRlbnRGb3JDaGlsZChSZW5kZXJCb3gmCiAgICAgICAgIC8vIFdlIGRvbid0IGhhdmUgdG8gY2hl
Y2sgZm9yICJhdXRvIiBoZXJlIC0gY29tcHV0ZUNvbnRlbnRMb2dpY2FsSGVpZ2h0IHdpbGwganVz
dCByZXR1cm4gTnVsbG9wdCBmb3IgdGhhdCBjYXNlIGFueXdheS4KICAgICAgICAgaWYgKHNpemUu
aXNJbnRyaW5zaWMoKSkKICAgICAgICAgICAgIGNoaWxkLmxheW91dElmTmVlZGVkKCk7Ci0gICAg
ICAgIHJldHVybiBjaGlsZC5jb21wdXRlQ29udGVudExvZ2ljYWxIZWlnaHQoc2l6ZVR5cGUsIHNp
emUsIGNoaWxkLmxvZ2ljYWxIZWlnaHQoKSAtIGNoaWxkLmJvcmRlckFuZFBhZGRpbmdMb2dpY2Fs
SGVpZ2h0KCkpOworICAgICAgICByZXR1cm4gY2hpbGQuY29tcHV0ZUNvbnRlbnRMb2dpY2FsSGVp
Z2h0KHNpemUsIGNoaWxkLmxvZ2ljYWxIZWlnaHQoKSAtIGNoaWxkLmJvcmRlckFuZFBhZGRpbmdM
b2dpY2FsSGVpZ2h0KCkpOwogICAgIH0KICAgICAvLyBGSVhNRTogRmlndXJlIG91dCBob3cgdGhp
cyBzaG91bGQgd29yayBmb3IgcmVnaW9ucyBhbmQgcGFzcyBpbiB0aGUgYXBwcm9wcmlhdGUgdmFs
dWVzLgogICAgIFJlbmRlclJlZ2lvbiogcmVnaW9uID0gbnVsbHB0cjsKQEAgLTY0NiwxNiArNjQ2
LDYgQEAgTGF5b3V0VW5pdCBSZW5kZXJGbGV4aWJsZUJveDo6bWFpbkF4aXNCb3JkZXJBbmRQYWRk
aW5nRXh0ZW50Rm9yQ2hpbGQoUmVuZGVyQm94JgogICAgIHJldHVybiBpc0hvcml6b250YWxGbG93
KCkgPyBjaGlsZC5ob3Jpem9udGFsQm9yZGVyQW5kUGFkZGluZ0V4dGVudCgpIDogY2hpbGQudmVy
dGljYWxCb3JkZXJBbmRQYWRkaW5nRXh0ZW50KCk7CiB9CiAKLWJvb2wgUmVuZGVyRmxleGlibGVC
b3g6Om1haW5BeGlzRXh0ZW50SXNEZWZpbml0ZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGlzQ29s
dW1uRmxvdygpID8gaGFzRGVmaW5pdGVMb2dpY2FsSGVpZ2h0KCkgOiBoYXNEZWZpbml0ZUxvZ2lj
YWxXaWR0aCgpOwotfQotCi1ib29sIFJlbmRlckZsZXhpYmxlQm94OjptYWluQXhpc0xlbmd0aElz
SW5kZWZpbml0ZShjb25zdCBMZW5ndGgmIGZsZXhCYXNpcykgY29uc3QKLXsKLSAgICByZXR1cm4g
ZmxleEJhc2lzLmlzQXV0bygpIHx8IChmbGV4QmFzaXMuaXNQZXJjZW50T3JDYWxjdWxhdGVkKCkg
JiYgIW1haW5BeGlzRXh0ZW50SXNEZWZpbml0ZSgpKTsKLX0KLQogTGF5b3V0VW5pdCBSZW5kZXJG
bGV4aWJsZUJveDo6bWFpbkF4aXNTY3JvbGxiYXJFeHRlbnRGb3JDaGlsZChSZW5kZXJCb3gmIGNo
aWxkKSBjb25zdAogewogICAgIHJldHVybiBpc0hvcml6b250YWxGbG93KCkgPyBjaGlsZC52ZXJ0
aWNhbFNjcm9sbGJhcldpZHRoKCkgOiBjaGlsZC5ob3Jpem9udGFsU2Nyb2xsYmFySGVpZ2h0KCk7
CkBAIC04NTUsMzQgKzg0NSwxMiBAQCB2b2lkIFJlbmRlckZsZXhpYmxlQm94OjpwcmVwYXJlT3Jk
ZXJJdGVyYXRvckFuZE1hcmdpbnMoKQogTGF5b3V0VW5pdCBSZW5kZXJGbGV4aWJsZUJveDo6YWRq
dXN0Q2hpbGRTaXplRm9yTWluQW5kTWF4KFJlbmRlckJveCYgY2hpbGQsIExheW91dFVuaXQgY2hp
bGRTaXplKQogewogICAgIExlbmd0aCBtYXggPSBpc0hvcml6b250YWxGbG93KCkgPyBjaGlsZC5z
dHlsZSgpLm1heFdpZHRoKCkgOiBjaGlsZC5zdHlsZSgpLm1heEhlaWdodCgpOwotICAgIE9wdGlv
bmFsPExheW91dFVuaXQ+IG1heEV4dGVudCA9IE51bGxvcHQ7Ci0gICAgaWYgKG1heC5pc1NwZWNp
ZmllZE9ySW50cmluc2ljKCkpIHsKLSAgICAgICAgbWF4RXh0ZW50ID0gY29tcHV0ZU1haW5BeGlz
RXh0ZW50Rm9yQ2hpbGQoY2hpbGQsIE1heFNpemUsIG1heCk7Ci0gICAgICAgIGNoaWxkU2l6ZSA9
IHN0ZDo6bWluKGNoaWxkU2l6ZSwgbWF4RXh0ZW50LnZhbHVlT3IoY2hpbGRTaXplKSk7Ci0gICAg
fQorICAgIGlmIChtYXguaXNTcGVjaWZpZWRPckludHJpbnNpYygpKQorICAgICAgICBjaGlsZFNp
emUgPSBzdGQ6Om1pbihjaGlsZFNpemUsIGNvbXB1dGVNYWluQXhpc0V4dGVudEZvckNoaWxkKGNo
aWxkLCBNYXhTaXplLCBtYXgpLnZhbHVlT3IoY2hpbGRTaXplKSk7CiAKICAgICBMZW5ndGggbWlu
ID0gaXNIb3Jpem9udGFsRmxvdygpID8gY2hpbGQuc3R5bGUoKS5taW5XaWR0aCgpIDogY2hpbGQu
c3R5bGUoKS5taW5IZWlnaHQoKTsKICAgICBpZiAobWluLmlzU3BlY2lmaWVkT3JJbnRyaW5zaWMo
KSkKICAgICAgICAgcmV0dXJuIHN0ZDo6bWF4KGNoaWxkU2l6ZSwgY29tcHV0ZU1haW5BeGlzRXh0
ZW50Rm9yQ2hpbGQoY2hpbGQsIE1pblNpemUsIG1pbikudmFsdWVPcihjaGlsZFNpemUpKTsKLQot
ICAgIGlmICghaXNGbGV4aWJsZUJveEltcGwoKSAmJiBtaW4uaXNBdXRvKCkgJiYgbWFpbkF4aXNP
dmVyZmxvd0ZvckNoaWxkKGNoaWxkKSA9PSBPVklTSUJMRSkgewotICAgICAgICAvLyBUaGlzIGlz
IHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBDU1MgZmxleGJveCBzZWN0aW9uIDQuNSB3aGljaCBkZWZp
bmVzIHRoZSBtaW5pbXVtIHNpemUgb2YgInB1cmUiIGZsZXgKLSAgICAgICAgLy8gaXRlbXMuIEZv
ciBhbnkgb3RoZXIgaXRlbSB0aGUgdmFsdWUgc2hvdWxkIGJlIDAsIHRoaXMgYWxzbyBpbmNsdWRl
cyBSZW5kZXJGbGV4aWJsZUJveCdzIGRlcml2ZWQgY2xhc2VzCi0gICAgICAgIC8vIChSZW5kZXJC
dXR0b24sIFJlbmRlckZ1bGxTY3JlZW4uLi4pIGJlY2F1c2UgdGhhdCdzIGp1c3QgYW4gaW1wbGVt
ZW50YXRpb24gZGV0YWlsLgotICAgICAgICBMYXlvdXRVbml0IGNvbnRlbnRTaXplID0gY29tcHV0
ZU1haW5BeGlzRXh0ZW50Rm9yQ2hpbGQoY2hpbGQsIE1pblNpemUsIExlbmd0aChNaW5Db250ZW50
KSkudmFsdWVPcigwKTsKLSAgICAgICAgQVNTRVJUKGNvbXB1dGVNYWluQXhpc0V4dGVudEZvckNo
aWxkKGNoaWxkLCBNaW5TaXplLCBMZW5ndGgoTWluQ29udGVudCkpKTsKLSAgICAgICAgY29udGVu
dFNpemUgPSBzdGQ6Om1pbihjb250ZW50U2l6ZSwgbWF4RXh0ZW50LnZhbHVlT3IoY29udGVudFNp
emUpKTsKLQotICAgICAgICBMZW5ndGggbWFpblNpemUgPSBpc0hvcml6b250YWxGbG93KCkgPyBj
aGlsZC5zdHlsZSgpLndpZHRoKCkgOiBjaGlsZC5zdHlsZSgpLmhlaWdodCgpOwotICAgICAgICBp
ZiAoIW1haW5BeGlzTGVuZ3RoSXNJbmRlZmluaXRlKG1haW5TaXplKSkgewotICAgICAgICAgICAg
TGF5b3V0VW5pdCByZXNvbHZlZE1haW5TaXplID0gY29tcHV0ZU1haW5BeGlzRXh0ZW50Rm9yQ2hp
bGQoY2hpbGQsIE1haW5PclByZWZlcnJlZFNpemUsIG1haW5TaXplKS52YWx1ZU9yKDApOwotICAg
ICAgICAgICAgQVNTRVJUKGNvbXB1dGVNYWluQXhpc0V4dGVudEZvckNoaWxkKGNoaWxkLCBNYWlu
T3JQcmVmZXJyZWRTaXplLCBtYWluU2l6ZSkpOwotICAgICAgICAgICAgTGF5b3V0VW5pdCBzcGVj
aWZpZWRTaXplID0gc3RkOjptaW4ocmVzb2x2ZWRNYWluU2l6ZSwgbWF4RXh0ZW50LnZhbHVlT3Io
cmVzb2x2ZWRNYWluU2l6ZSkpOwotCi0gICAgICAgICAgICByZXR1cm4gc3RkOjptYXgoY2hpbGRT
aXplLCBzdGQ6Om1pbihzcGVjaWZpZWRTaXplLCBjb250ZW50U2l6ZSkpOwotICAgICAgICB9Ci0g
ICAgICAgIHJldHVybiBzdGQ6Om1heChjaGlsZFNpemUsIGNvbnRlbnRTaXplKTsKLSAgICB9CiAg
ICAgcmV0dXJuIGNoaWxkU2l6ZTsKIH0KIApAQCAtMTA4MiwxMyArMTA1MCw2IEBAIHZvaWQgUmVu
ZGVyRmxleGlibGVCb3g6OnJlc2V0QXV0b01hcmdpbnNBbmRMb2dpY2FsVG9wSW5Dcm9zc0F4aXMo
UmVuZGVyQm94JiBjaGlsCiAgICAgICAgIGNoaWxkLnVwZGF0ZUxvZ2ljYWxIZWlnaHQoKTsKIH0K
IAotRU92ZXJmbG93IFJlbmRlckZsZXhpYmxlQm94OjptYWluQXhpc092ZXJmbG93Rm9yQ2hpbGQo
UmVuZGVyQm94JiBjaGlsZCkgY29uc3QKLXsKLSAgICBpZiAoaXNIb3Jpem9udGFsRmxvdygpKQot
ICAgICAgICByZXR1cm4gY2hpbGQuc3R5bGUoKS5vdmVyZmxvd1goKTsKLSAgICByZXR1cm4gY2hp
bGQuc3R5bGUoKS5vdmVyZmxvd1koKTsKLX0KLQogdm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6bGF5
b3V0QW5kUGxhY2VDaGlsZHJlbihMYXlvdXRVbml0JiBjcm9zc0F4aXNPZmZzZXQsIGNvbnN0IE9y
ZGVyZWRGbGV4SXRlbUxpc3QmIGNoaWxkcmVuLCBjb25zdCBWZWN0b3I8TGF5b3V0VW5pdD4mIGNo
aWxkU2l6ZXMsIExheW91dFVuaXQgYXZhaWxhYmxlRnJlZVNwYWNlLCBib29sIHJlbGF5b3V0Q2hp
bGRyZW4sIFZlY3RvcjxMaW5lQ29udGV4dD4mIGxpbmVDb250ZXh0cykKIHsKICAgICBBU1NFUlQo
Y2hpbGRTaXplcy5zaXplKCkgPT0gY2hpbGRyZW4uc2l6ZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmgKaW5kZXggMzY0ZmI4YzgzOWQ3ZGVlODU2ODA2
MGQ1ZTExYTgyOWMyNDgxY2E0YS4uNmI1YmYyODc4MmJiZTk1OGI5OWVkNDNkY2UxZTE5NWExNmFk
M2U3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxl
Qm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmgK
QEAgLTEyMiw3ICsxMjIsNiBAQCBwcml2YXRlOgogICAgIExheW91dFVuaXQgbWFpbkF4aXNCb3Jk
ZXJBbmRQYWRkaW5nRXh0ZW50Rm9yQ2hpbGQoUmVuZGVyQm94JiBjaGlsZCkgY29uc3Q7CiAgICAg
TGF5b3V0VW5pdCBtYWluQXhpc1Njcm9sbGJhckV4dGVudEZvckNoaWxkKFJlbmRlckJveCYgY2hp
bGQpIGNvbnN0OwogICAgIExheW91dFVuaXQgcHJlZmVycmVkTWFpbkF4aXNDb250ZW50RXh0ZW50
Rm9yQ2hpbGQoUmVuZGVyQm94JiBjaGlsZCwgYm9vbCBoYXNJbmZpbml0ZUxpbmVMZW5ndGgpOwot
ICAgIEVPdmVyZmxvdyBtYWluQXhpc092ZXJmbG93Rm9yQ2hpbGQoUmVuZGVyQm94JikgY29uc3Q7
CiAKICAgICB2b2lkIGxheW91dEZsZXhJdGVtcyhib29sIHJlbGF5b3V0Q2hpbGRyZW4sIFZlY3Rv
cjxMaW5lQ29udGV4dD4mKTsKICAgICBMYXlvdXRVbml0IGF1dG9NYXJnaW5PZmZzZXRJbk1haW5B
eGlzKGNvbnN0IE9yZGVyZWRGbGV4SXRlbUxpc3QmLCBMYXlvdXRVbml0JiBhdmFpbGFibGVGcmVl
U3BhY2UpOwpAQCAtMTU4LDExICsxNTcsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgZmxpcEZvclJp
Z2h0VG9MZWZ0Q29sdW1uKCk7CiAgICAgdm9pZCBmbGlwRm9yV3JhcFJldmVyc2UoY29uc3QgVmVj
dG9yPExpbmVDb250ZXh0PiYsIExheW91dFVuaXQgY3Jvc3NBeGlzU3RhcnRFZGdlKTsKIAotICAg
IGJvb2wgbWFpbkF4aXNFeHRlbnRJc0RlZmluaXRlKCkgY29uc3Q7Ci0gICAgYm9vbCBtYWluQXhp
c0xlbmd0aElzSW5kZWZpbml0ZShjb25zdCBMZW5ndGgmIGZsZXhCYXNpcykgY29uc3Q7Ci0KLSAg
ICB2aXJ0dWFsIGJvb2wgaXNGbGV4aWJsZUJveEltcGwoKSBjb25zdCB7IHJldHVybiBmYWxzZTsg
fTsKLQogICAgIG11dGFibGUgT3JkZXJJdGVyYXRvciBtX29yZGVySXRlcmF0b3I7CiAgICAgaW50
IG1fbnVtYmVyT2ZJbkZsb3dDaGlsZHJlbk9uRmlyc3RMaW5lOwogfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGdWxsU2NyZWVuLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRnVsbFNjcmVlbi5oCmluZGV4IGJiNmY4MzY5ZTRlZGE4MDRlYmQ1
YjJjNWUyNjUwMDM3OGM2NzI3ZGIuLjcyOGZkOWMwYWUxMjgyYzU4MjYxOTM2ZGJlOGY2MDA0MTY5
MTI1ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGdWxsU2Ny
ZWVuLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZ1bGxTY3JlZW4uaApA
QCAtNDgsNyArNDgsNiBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBpc1Jl
bmRlckZ1bGxTY3JlZW4oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAgICAgdmly
dHVhbCB2b2lkIHdpbGxCZURlc3Ryb3llZCgpIG92ZXJyaWRlOwotICAgIGJvb2wgaXNGbGV4aWJs
ZUJveEltcGwoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAKIHByb3RlY3RlZDoK
ICAgICBSZW5kZXJCbG9jayogbV9wbGFjZWhvbGRlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJHcmlkLmNwcAppbmRleCBlYmFkMTMxOTRhNTFiNDRlMThjMmYzNzQ0NWM3MDA4ZTdhZWY4
ZjhjLi5jN2FiMDFlMGM3NmJiNjExYjkxZDI4OTg2ODBjOTllNGMyMWI2MDk5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCkBAIC00NTEsOCArNDUxLDggQEAgTGF5b3V0
VW5pdCBSZW5kZXJHcmlkOjpjb21wdXRlVXNlZEJyZWFkdGhPZlNwZWNpZmllZExlbmd0aChHcmlk
VHJhY2tTaXppbmdEaXJlY3QKIHsKICAgICBBU1NFUlQodHJhY2tMZW5ndGguaXNTcGVjaWZpZWQo
KSk7CiAgICAgaWYgKGRpcmVjdGlvbiA9PSBGb3JDb2x1bW5zKQotICAgICAgICByZXR1cm4gdmFs
dWVGb3JMZW5ndGgodHJhY2tMZW5ndGgsIGxvZ2ljYWxXaWR0aCgpIC0gYm9yZGVyQW5kUGFkZGlu
Z0xvZ2ljYWxXaWR0aCgpKTsKLSAgICByZXR1cm4gdmFsdWVGb3JMZW5ndGgodHJhY2tMZW5ndGgs
IGNvbXB1dGVDb250ZW50TG9naWNhbEhlaWdodChNYWluT3JQcmVmZXJyZWRTaXplLCBzdHlsZSgp
LmxvZ2ljYWxIZWlnaHQoKSwgTnVsbG9wdCkudmFsdWVPcigwKSk7CisgICAgICAgIHJldHVybiB2
YWx1ZUZvckxlbmd0aCh0cmFja0xlbmd0aCwgbG9naWNhbFdpZHRoKCkpOworICAgIHJldHVybiB2
YWx1ZUZvckxlbmd0aCh0cmFja0xlbmd0aCwgY29tcHV0ZUNvbnRlbnRMb2dpY2FsSGVpZ2h0KHN0
eWxlKCkubG9naWNhbEhlaWdodCgpLCBOdWxsb3B0KS52YWx1ZU9yKDApKTsKIH0KIAogZG91Ymxl
IFJlbmRlckdyaWQ6OmNvbXB1dGVOb3JtYWxpemVkRnJhY3Rpb25CcmVhZHRoKFZlY3RvcjxHcmlk
VHJhY2s+JiB0cmFja3MsIGNvbnN0IEdyaWRTcGFuJiB0cmFja3NTcGFuLCBHcmlkVHJhY2tTaXpp
bmdEaXJlY3Rpb24gZGlyZWN0aW9uLCBMYXlvdXRVbml0IHNwYWNlVG9GaWxsKSBjb25zdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbEVsZW1l
bnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sRWxlbWVu
dHMuaAppbmRleCA1NjgwYjZjNTNjZjVhNzlkMTFmNGM4MjYwNTBkMjc1NjVkOWE1M2RiLi5hZjNh
OGU4MDZhMmFmNTQyZmVkM2Q2NWViNDUyOTJhNTE4ZWVkMmRkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sRWxlbWVudHMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sRWxlbWVudHMuaApAQCAtNTIs
NyArNTIsNiBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGxheW91dCgp
IG92ZXJyaWRlOwotICAgIGJvb2wgaXNGbGV4aWJsZUJveEltcGwoKSBjb25zdCBvdmVycmlkZSB7
IHJldHVybiB0cnVlOyB9CiB9OwogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcAppbmRleCA2YjcwYzkz
OWI2MGM2YjYzNzcyNWExY2NhMGI3NzhmZGE1NDk5NGY4Li5kYjk5NDk5Y2JkZmYwM2E1NTEwMWQy
YWQ4NmUxODM3NmNmYWZhMjhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTWVudUxpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJN
ZW51TGlzdC5jcHAKQEAgLTExMiw2ICsxMTIsOSBAQCB2b2lkIFJlbmRlck1lbnVMaXN0OjphZGp1
c3RJbm5lclN0eWxlKCkKICAgICBSZW5kZXJTdHlsZSYgaW5uZXJTdHlsZSA9IG1faW5uZXJCbG9j
ay0+c3R5bGUoKTsKICAgICBpbm5lclN0eWxlLnNldEZsZXhHcm93KDEpOwogICAgIGlubmVyU3R5
bGUuc2V0RmxleFNocmluaygxKTsKKyAgICAvLyBtaW4td2lkdGg6IDA7IGlzIG5lZWRlZCBmb3Ig
Y29ycmVjdCBzaHJpbmtpbmcuCisgICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIGxpbmUgd2hlbiBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExNzkwIGlzIGZpeGVkLgor
ICAgIGlubmVyU3R5bGUuc2V0TWluV2lkdGgoTGVuZ3RoKDAsIEZpeGVkKSk7CiAgICAgLy8gVXNl
IG1hcmdpbjphdXRvIGluc3RlYWQgb2YgYWxpZ24taXRlbXM6Y2VudGVyIHRvIGdldCBzYWZlIGNl
bnRlcmluZywgaS5lLgogICAgIC8vIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzLCB0cmVhdCBp
dCB0aGUgc2FtZSBhcyBhbGlnbi1pdGVtczogZmxleC1zdGFydC4KICAgICAvLyBCdXQgd2Ugb25s
eSBkbyB0aGF0IGZvciB0aGUgY2FzZXMgd2hlcmUgaHRtbC5jc3Mgd291bGQgb3RoZXJ3aXNlIHVz
ZSBjZW50ZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVu
dUxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5oCmluZGV4
IGNhM2E2N2Q0YTNhN2U2YjEwYzMzODUwMTEzYWFlODMzZmI4YjQ5OTguLjcxM2RjMmQ2OTIwMTcw
ZTQ4Mzk0ZTMwOTc3YzZiNmI4MTA5Mzg2YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJNZW51TGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJNZW51TGlzdC5oCkBAIC0xMzYsOCArMTM2LDYgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQg
ZGlkVXBkYXRlQWN0aXZlT3B0aW9uKGludCBvcHRpb25JbmRleCk7CiAKLSAgICBib29sIGlzRmxl
eGlibGVCb3hJbXBsKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQotCiAgICAgUmVu
ZGVyVGV4dCogbV9idXR0b25UZXh0OwogICAgIFJlbmRlckJsb2NrKiBtX2lubmVyQmxvY2s7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNl
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuY3Bw
CmluZGV4IDQwZGNiMmU0MmMzYjIzMmFiMWRiZTU5ZThhOGJjMjM3MWVmNzZhZDAuLjU5YzYzYzBh
MGJjMmY1ZDEyYmYxYzI0YTI1Yzc2NDhmNjU4ZDI1MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0LmNwcApAQCAtNDE1LDcgKzQxNSw3IEBA
IExheW91dFVuaXQgUmVuZGVyTXVsdGlDb2x1bW5TZXQ6OmNhbGN1bGF0ZU1heENvbHVtbkhlaWdo
dCgpIGNvbnN0CiAgICAgTGF5b3V0VW5pdCBhdmFpbGFibGVIZWlnaHQgPSBtdWx0aUNvbHVtbkZs
b3dUaHJlYWQoKS0+Y29sdW1uSGVpZ2h0QXZhaWxhYmxlKCk7CiAgICAgTGF5b3V0VW5pdCBtYXhD
b2x1bW5IZWlnaHQgPSBhdmFpbGFibGVIZWlnaHQgPyBhdmFpbGFibGVIZWlnaHQgOiBSZW5kZXJG
bG93VGhyZWFkOjptYXhMb2dpY2FsSGVpZ2h0KCk7CiAgICAgaWYgKCFtdWx0aWNvbFN0eWxlLmxv
Z2ljYWxNYXhIZWlnaHQoKS5pc1VuZGVmaW5lZCgpKQotICAgICAgICBtYXhDb2x1bW5IZWlnaHQg
PSBzdGQ6Om1pbihtYXhDb2x1bW5IZWlnaHQsIG11bHRpY29sQmxvY2stPmNvbXB1dGVDb250ZW50
TG9naWNhbEhlaWdodChNYXhTaXplLCBtdWx0aWNvbFN0eWxlLmxvZ2ljYWxNYXhIZWlnaHQoKSwg
TnVsbG9wdCkudmFsdWVPcihtYXhDb2x1bW5IZWlnaHQpKTsKKyAgICAgICAgbWF4Q29sdW1uSGVp
Z2h0ID0gc3RkOjptaW4obWF4Q29sdW1uSGVpZ2h0LCBtdWx0aWNvbEJsb2NrLT5jb21wdXRlQ29u
dGVudExvZ2ljYWxIZWlnaHQobXVsdGljb2xTdHlsZS5sb2dpY2FsTWF4SGVpZ2h0KCksIE51bGxv
cHQpLnZhbHVlT3IobWF4Q29sdW1uSGVpZ2h0KSk7CiAgICAgcmV0dXJuIGhlaWdodEFkanVzdGVk
Rm9yU2V0T2Zmc2V0KG1heENvbHVtbkhlaWdodCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dGcmFnbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQuY3BwCmluZGV4IDRkYWMyMzUz
NDg3ZmJjZDY2NjBjODkzNWUyZmNkZmE1YmM1MWFjZjQuLmU5YWUwMWVmMGM0YWUzODMwYjhmNjU1
YjEyMTcxMzhlNWVlYzdiNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJOYW1lZEZsb3dGcmFnbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck5hbWVkRmxvd0ZyYWdtZW50LmNwcApAQCAtMTg1LDcgKzE4NSw3IEBAIExheW91dFVu
aXQgUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQ6Om1heFBhZ2VMb2dpY2FsSGVpZ2h0KCkgY29uc3QK
ICAgICBBU1NFUlQocGFyZW50KCkpOwogCiAgICAgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlVG9V
c2UgPSBwYXJlbnQoKS0+c3R5bGUoKTsKLSAgICByZXR1cm4gc3R5bGVUb1VzZS5sb2dpY2FsTWF4
SGVpZ2h0KCkuaXNVbmRlZmluZWQoKSA/IFJlbmRlckZsb3dUaHJlYWQ6Om1heExvZ2ljYWxIZWln
aHQoKSA6IGRvd25jYXN0PFJlbmRlckJsb2NrPigqcGFyZW50KCkpLmNvbXB1dGVSZXBsYWNlZExv
Z2ljYWxIZWlnaHRVc2luZyhNYXhTaXplLCBzdHlsZVRvVXNlLmxvZ2ljYWxNYXhIZWlnaHQoKSk7
CisgICAgcmV0dXJuIHN0eWxlVG9Vc2UubG9naWNhbE1heEhlaWdodCgpLmlzVW5kZWZpbmVkKCkg
PyBSZW5kZXJGbG93VGhyZWFkOjptYXhMb2dpY2FsSGVpZ2h0KCkgOiBkb3duY2FzdDxSZW5kZXJC
bG9jaz4oKnBhcmVudCgpKS5jb21wdXRlUmVwbGFjZWRMb2dpY2FsSGVpZ2h0VXNpbmcoc3R5bGVU
b1VzZS5sb2dpY2FsTWF4SGVpZ2h0KCkpOwogfQogCiBMYXlvdXRSZWN0IFJlbmRlck5hbWVkRmxv
d0ZyYWdtZW50OjpmbG93VGhyZWFkUG9ydGlvblJlY3RGb3JDbGlwcGluZyhib29sIGlzRmlyc3RS
ZWdpb25JblJhbmdlLCBib29sIGlzTGFzdFJlZ2lvbkluUmFuZ2UpIGNvbnN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAppbmRleCA2NWZjZGJjOTc0Y2YwMzFh
Yzc2NjRmYzlkMDdiNzdiNzBhM2RjNTVlLi5mZDIwNTA0ZWMzZDVjY2U4MWFiNjE0YWE2MmQ1NWJk
NzA3MTQzNDRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVw
bGFjZWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5j
cHAKQEAgLTM4Myw3ICszODMsNyBAQCB2b2lkIFJlbmRlclJlcGxhY2VkOjpjb21wdXRlSW50cmlu
c2ljUmF0aW9JbmZvcm1hdGlvbihGbG9hdFNpemUmIGludHJpbnNpY1NpemUsCiBMYXlvdXRVbml0
IFJlbmRlclJlcGxhY2VkOjpjb21wdXRlUmVwbGFjZWRMb2dpY2FsV2lkdGgoU2hvdWxkQ29tcHV0
ZVByZWZlcnJlZCBzaG91bGRDb21wdXRlUHJlZmVycmVkKSBjb25zdAogewogICAgIGlmIChzdHls
ZSgpLmxvZ2ljYWxXaWR0aCgpLmlzU3BlY2lmaWVkKCkgfHwgc3R5bGUoKS5sb2dpY2FsV2lkdGgo
KS5pc0ludHJpbnNpYygpKQotICAgICAgICByZXR1cm4gY29tcHV0ZVJlcGxhY2VkTG9naWNhbFdp
ZHRoUmVzcGVjdGluZ01pbk1heFdpZHRoKGNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aFVzaW5n
KE1haW5PclByZWZlcnJlZFNpemUsIHN0eWxlKCkubG9naWNhbFdpZHRoKCkpLCBzaG91bGRDb21w
dXRlUHJlZmVycmVkKTsKKyAgICAgICAgcmV0dXJuIGNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0
aFJlc3BlY3RpbmdNaW5NYXhXaWR0aChjb21wdXRlUmVwbGFjZWRMb2dpY2FsV2lkdGhVc2luZyhz
dHlsZSgpLmxvZ2ljYWxXaWR0aCgpKSwgc2hvdWxkQ29tcHV0ZVByZWZlcnJlZCk7CiAKICAgICBS
ZW5kZXJCb3gqIGNvbnRlbnRSZW5kZXJlciA9IGVtYmVkZGVkQ29udGVudEJveCgpOwogCkBAIC00
MTgsNyArNDE4LDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZVJlcGxhY2Vk
TG9naWNhbFdpZHRoKFNob3VsZENvbXB1dGVQcmVmZXJyZWQgc2gKICAgICAgICAgICAgICAgICAv
LyAnbWFyZ2luLWxlZnQnICsgJ2JvcmRlci1sZWZ0LXdpZHRoJyArICdwYWRkaW5nLWxlZnQnICsg
J3dpZHRoJyArICdwYWRkaW5nLXJpZ2h0JyArICdib3JkZXItcmlnaHQtd2lkdGgnICsgJ21hcmdp
bi1yaWdodCcgPSB3aWR0aCBvZiBjb250YWluaW5nIGJsb2NrCiAgICAgICAgICAgICAgICAgTGF5
b3V0VW5pdCBsb2dpY2FsV2lkdGg7CiAgICAgICAgICAgICAgICAgaWYgKFJlbmRlckJsb2NrKiBi
bG9ja1dpdGhXaWR0aCA9IGZpcnN0Q29udGFpbmluZ0Jsb2NrV2l0aExvZ2ljYWxXaWR0aCh0aGlz
KSkKLSAgICAgICAgICAgICAgICAgICAgbG9naWNhbFdpZHRoID0gYmxvY2tXaXRoV2lkdGgtPmNv
bXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aFJlc3BlY3RpbmdNaW5NYXhXaWR0aChibG9ja1dpdGhX
aWR0aC0+Y29tcHV0ZVJlcGxhY2VkTG9naWNhbFdpZHRoVXNpbmcoTWFpbk9yUHJlZmVycmVkU2l6
ZSwgYmxvY2tXaXRoV2lkdGgtPnN0eWxlKCkubG9naWNhbFdpZHRoKCkpLCBzaG91bGRDb21wdXRl
UHJlZmVycmVkKTsKKyAgICAgICAgICAgICAgICAgICAgbG9naWNhbFdpZHRoID0gYmxvY2tXaXRo
V2lkdGgtPmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aFJlc3BlY3RpbmdNaW5NYXhXaWR0aChi
bG9ja1dpdGhXaWR0aC0+Y29tcHV0ZVJlcGxhY2VkTG9naWNhbFdpZHRoVXNpbmcoYmxvY2tXaXRo
V2lkdGgtPnN0eWxlKCkubG9naWNhbFdpZHRoKCkpLCBzaG91bGRDb21wdXRlUHJlZmVycmVkKTsK
ICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgIGxvZ2ljYWxXaWR0aCA9
IGNvbnRhaW5pbmdCbG9jaygpLT5hdmFpbGFibGVMb2dpY2FsV2lkdGgoKTsKIApAQCAtNDQ4LDcg
KzQ0OCw3IEBAIExheW91dFVuaXQgUmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVSZXBsYWNlZExvZ2lj
YWxIZWlnaHQoKSBjb25zdAogewogICAgIC8vIDEwLjUgQ29udGVudCBoZWlnaHQ6IHRoZSAnaGVp
Z2h0JyBwcm9wZXJ0eTogaHR0cDovL3d3dy53My5vcmcvVFIvQ1NTMjEvdmlzdWRldC5odG1sI3By
b3BkZWYtaGVpZ2h0CiAgICAgaWYgKGhhc1JlcGxhY2VkTG9naWNhbEhlaWdodCgpKQotICAgICAg
ICByZXR1cm4gY29tcHV0ZVJlcGxhY2VkTG9naWNhbEhlaWdodFJlc3BlY3RpbmdNaW5NYXhIZWln
aHQoY29tcHV0ZVJlcGxhY2VkTG9naWNhbEhlaWdodFVzaW5nKE1haW5PclByZWZlcnJlZFNpemUs
IHN0eWxlKCkubG9naWNhbEhlaWdodCgpKSk7CisgICAgICAgIHJldHVybiBjb21wdXRlUmVwbGFj
ZWRMb2dpY2FsSGVpZ2h0UmVzcGVjdGluZ01pbk1heEhlaWdodChjb21wdXRlUmVwbGFjZWRMb2dp
Y2FsSGVpZ2h0VXNpbmcoc3R5bGUoKS5sb2dpY2FsSGVpZ2h0KCkpKTsKIAogICAgIFJlbmRlckJv
eCogY29udGVudFJlbmRlcmVyID0gZW1iZWRkZWRDb250ZW50Qm94KCk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbGlkZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJTbGlkZXIuaAppbmRleCA2YjczMWIzZTcxYWZmZWQyOTFjZWUyOGZm
YTNlYzNhYzdhYjZiOWRhLi4yODMxOTI5MGNiZTliNzYzNzdiYjY5NDg1NmNhNGNkNjdlY2I5ODA1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2xpZGVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNsaWRlci5oCkBAIC00OSw4ICs0OSw2
IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lk
dGhzKCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBib29sIHJlcXVpcmVzRm9yY2VkU3R5bGVSZWNh
bGNQcm9wYWdhdGlvbigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0
dWFsIHZvaWQgbGF5b3V0KCkgb3ZlcnJpZGU7Ci0KLSAgICBib29sIGlzRmxleGlibGVCb3hJbXBs
KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRD
b250cm9sLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuaApp
bmRleCAzMjM0ZTczOTU4NWRjZDJiNDU4OGY3ZmZiODJlODhlYjhjNmFhOWNmLi40YmQxOTMwZWM1
YWE4ZjhjZGI4OGY4Mzg5MDM0M2MwNDI4ZGY1MzQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuaApAQCAtMTA1LDggKzEwNSw2IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIE9wdGlvbmFsPGludD4gZmlyc3RMaW5lQmFzZWxpbmUoKSBjb25zdCBvdmVycmlk
ZSB7IHJldHVybiBSZW5kZXJCbG9jazo6Zmlyc3RMaW5lQmFzZWxpbmUoKTsgfQogICAgIHZpcnR1
YWwgT3B0aW9uYWw8aW50PiBpbmxpbmVCbG9ja0Jhc2VsaW5lKExpbmVEaXJlY3Rpb25Nb2RlIGRp
cmVjdGlvbikgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gUmVuZGVyQmxvY2s6OmlubGluZUJsb2Nr
QmFzZWxpbmUoZGlyZWN0aW9uKTsgfQogCi1wcml2YXRlOgotICAgIGJvb2wgaXNGbGV4aWJsZUJv
eEltcGwoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwCmluZGV4IDE2MTZkMjYwNzlmNWIzMmU4OWZiYzZk
YjlkZTdmMjEyMjMyYWUxOTguLmY0ZTNkMmZhMGJlODE3N2RhOWZjMDA4YTgzMTNlYjMxZGUyYmRm
ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJv
bFNpbmdsZUxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0
Q29udHJvbFNpbmdsZUxpbmUuY3BwCkBAIC0zNTQsNiArMzU0LDkgQEAgUmVmPFJlbmRlclN0eWxl
PiBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6OmNyZWF0ZUlubmVyQmxvY2tTdHlsZShjb25z
dCBSZW5kZXIKICAgICBpbm5lckJsb2NrU3R5bGUuZ2V0KCkuaW5oZXJpdEZyb20oc3RhcnRTdHls
ZSk7CiAKICAgICBpbm5lckJsb2NrU3R5bGUuZ2V0KCkuc2V0RmxleEdyb3coMSk7CisgICAgLy8g
bWluLXdpZHRoOiAwOyBpcyBuZWVkZWQgZm9yIGNvcnJlY3Qgc2hyaW5raW5nLgorICAgIC8vIEZJ
WE1FOiBSZW1vdmUgdGhpcyBsaW5lIHdoZW4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTExMTc5MCBpcyBmaXhlZC4KKyAgICBpbm5lckJsb2NrU3R5bGUuZ2V0KCkuc2V0
TWluV2lkdGgoTGVuZ3RoKDAsIEZpeGVkKSk7CiAgICAgaW5uZXJCbG9ja1N0eWxlLmdldCgpLnNl
dERpc3BsYXkoQkxPQ0spOwogICAgIGlubmVyQmxvY2tTdHlsZS5nZXQoKS5zZXREaXJlY3Rpb24o
TFRSKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5k
ZXJNYXRoTUxCbG9jay5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJN
YXRoTUxCbG9jay5oCmluZGV4IGNhOTZkMzkwNTQzYWVlZDUwNDM2NDRlN2NiYTE5MzNiZGQwYTY0
MGUuLmYyY2VmZTYyZDJlM2FlZGQwM2VmZTk1ODU3YjE2NDdiNzc0MTUxZGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MQmxvY2suaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEJsb2NrLmgKQEAg
LTY3LDcgKzY3LDYgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgaXNSZW5k
ZXJNYXRoTUxCbG9jaygpIGNvbnN0IG92ZXJyaWRlIGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KICAg
ICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCBvdmVycmlkZTsKLSAgICBi
b29sIGlzRmxleGlibGVCb3hJbXBsKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQog
fTsKIAogY2xhc3MgUmVuZGVyTWF0aE1MVGFibGUgZmluYWwgOiBwdWJsaWMgUmVuZGVyVGFibGUg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAppbmRleCAz
NjNjZjU5MWFjMGYwYzU0ZjdjMGQ5NTUwNTkxMDY5NjZmM2MyYTJhLi5iMTBkOWY5Zjg1NjYyYzc5
OWZiZTUzM2QyMGNmZGQzMGI1YzMyNGE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvUmVuZGVyU3R5bGUuaApAQCAtMTkwMyw3ICsxOTAzLDcgQEAgcHVibGljOgogICAgIHN0
YXRpYyBmbG9hdCBpbml0aWFsTGV0dGVyU3BhY2luZygpIHsgcmV0dXJuIDA7IH0KICAgICBzdGF0
aWMgTGVuZ3RoIGluaXRpYWxXb3JkU3BhY2luZygpIHsgcmV0dXJuIExlbmd0aChGaXhlZCk7IH0K
ICAgICBzdGF0aWMgTGVuZ3RoIGluaXRpYWxTaXplKCkgeyByZXR1cm4gTGVuZ3RoKCk7IH0KLSAg
ICBzdGF0aWMgTGVuZ3RoIGluaXRpYWxNaW5TaXplKCkgeyByZXR1cm4gTGVuZ3RoKCk7IH0KKyAg
ICBzdGF0aWMgTGVuZ3RoIGluaXRpYWxNaW5TaXplKCkgeyByZXR1cm4gTGVuZ3RoKEZpeGVkKTsg
fQogICAgIHN0YXRpYyBMZW5ndGggaW5pdGlhbE1heFNpemUoKSB7IHJldHVybiBMZW5ndGgoVW5k
ZWZpbmVkKTsgfQogICAgIHN0YXRpYyBMZW5ndGggaW5pdGlhbE9mZnNldCgpIHsgcmV0dXJuIExl
bmd0aCgpOyB9CiAgICAgc3RhdGljIExlbmd0aCBpbml0aWFsTWFyZ2luKCkgeyByZXR1cm4gTGVu
Z3RoKEZpeGVkKTsgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDY0MTY4ZWVhNTg4N2E3ODYwNjA3NDRhNGNhMDVmMmE4OTYw
ZmEyMmEuLjlmYzYwYzY3YjM5NGY3ZjIxNTMxM2IwYTY3YTVhMzJhYzYzYzU2MWYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyMSBAQAorMjAxNS0wOS0wOSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdl
YmtpdC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE4OTUzNiBhbmQg
cjE4OTUzOC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE0OTAwMgorCisgICAgICAgIGJyb2tlIHRlc3RzIG9uIG1hYyAoUmVxdWVzdGVkIGJ5IGFsZXhj
aHJpc3RlbnNlbiBvbiAjd2Via2l0KS4KKworICAgICAgICBSZXZlcnRlZCBjaGFuZ2VzZXRzOgor
CisgICAgICAgICJtaW4td2lkdGgvaGVpZ2h0IHNob3VsZCBkZWZhdWx0IHRvIGF1dG8gZm9yIGZs
ZXhib3ggaXRlbXMiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNDYwMjAKKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTg5
NTM2CisKKyAgICAgICAgIltjc3MtZ3JpZF0gUGVyY2VudGFnZSBjb2x1bW5zIHNob3VsZG4ndCBp
bmNsdWRlIGJvcmRlciBhbmQKKyAgICAgICAgcGFkZGluZyIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0ODk3OAorICAgICAgICBodHRwOi8vdHJhYy53
ZWJraXQub3JnL2NoYW5nZXNldC8xODk1MzgKKwogMjAxNS0wOS0wOSAgRGF2aWQgSHlhdHQgIDxo
eWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTjogSW5saW5lLWJsb2NrIGJhc2Vs
aW5lIGlzIHdyb25nIHdoZW4gemVyby13aWR0aCByZXBsYWNlZCBjaGlsZCBpcyBwcmVzZW50CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVz
dEV4cGVjdGF0aW9ucwppbmRleCA4ZGQwMzYxMWZlYWEzZDYyM2I5MDIxYmU0OTM0MjQwYjA0MGFm
N2RhLi40Y2Q4ZDZkMjM0OWYzNzhlODQ1NDFkMDAyOWJiMjJmY2ZlZGM2OTE4IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBl
Y3RhdGlvbnMKQEAgLTIwMCw3ICsyMDAsMTEgQEAgd2Via2l0Lm9yZy9iLzEzNjc1NCBjc3MzL2Zs
ZXhib3gvY3Nzd2cvZmxleC1mbGV4aXRlbS1wZXJjZW50YWdlLXByZXNjYXRpb24uaHRtbAogd2Vi
a2l0Lm9yZy9iLzEzNjc1NCBjc3MzL2ZsZXhib3gvY3Nzd2cvZmxleC1pdGVtcy1mbGV4aWJpbGl0
eS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTM2NzU0IGNzczMvZmxl
eGJveC9jc3N3Zy9mbGV4LWxpbmVzL211bHRpLWxpbmUtd3JhcC1yZXZlcnNlLWNvbHVtbi1yZXZl
cnNlLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMzY3NTQgY3NzMy9m
bGV4Ym94L2Nzc3dnL2ZsZXgtbGluZXMvbXVsdGktbGluZS13cmFwLXdpdGgtY29sdW1uLXJldmVy
c2UuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzEzNjc1NCBjc3MzL2Zs
ZXhib3gvY3Nzd2cvZmxleC1tYXJnaW4tbm8tY29sbGFwc2UuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQogd2Via2l0Lm9yZy9iLzEzNjc1NCBjc3MzL2ZsZXhib3gvY3Nzd2cvZmxleGJveC1mbGV4
LXdyYXAtZmxleGluZy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJraXQub3JnL2IvMTM2
NzU0IGNzczMvZmxleGJveC9jc3N3Zy9mbGV4Ym94X2ZsZXgtMC0wLTAuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzEzNjc1NCBjc3MzL2ZsZXhib3gvY3Nzd2cvZmxleGJv
eF9mbGV4LTAtMS0wLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi8xMzY3
NTQgY3NzMy9mbGV4Ym94L2Nzc3dnL2ZsZXhib3hfZmxleC0wLU4tMC5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTM2NzU0IGNzczMvZmxleGJveC9jc3N3Zy9mbGV4Ym94
X2ZsZXgtbmF0dXJhbC1taXhlZC1iYXNpcy1hdXRvLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
IHdlYmtpdC5vcmcvYi8xMzY3NTQgY3NzMy9mbGV4Ym94L2Nzc3dnL2ZsZXhib3hfZ2VuZXJhdGVk
LWNvbnRhaW5lci5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTM2NzU0
IGNzczMvZmxleGJveC9jc3N3Zy9mbGV4Ym94X2p1c3RpZnljb250ZW50LWNlbnRlci1vdmVyZmxv
dy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3Mz
L2ZsZXhib3gvY3Nzd2cvZmxleC1mbG93LTAwNy5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9mbGV4
Ym94L2Nzc3dnL2ZsZXgtZmxvdy0wMDcuaHRtbAppbmRleCAzNjZlZTE0ZmU1MGFhM2Q1OThlYjM4
ZDcwM2RhMTA1OWRhNTZlZTBmLi42OTllNzE0ZjFhZmM1MWVhMThkZjgyYTFjMzMyMDNlOTcwZDYy
NDk2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvY3Nzd2cvZmxleC1mbG93
LTAwNy5odG1sCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmxleGJveC9jc3N3Zy9mbGV4LWZsb3ct
MDA3Lmh0bWwKQEAgLTIyLDkgKzIyLDYgQEAgYnV0IHRoZSBtYWluIGF4aXMgaXMgdmVydGljYWwi
PgogICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOwogICAgIGhlaWdodDogNTBweDsKICAgfQot
ICA6bm90KCN0ZXN0KSBkaXYgewotICAgIG1pbi1oZWlnaHQ6IDBweDsKLSAgfQogPC9zdHlsZT4K
IDxib2R5PgogICA8cD5UZXN0IHBhc3NlcyBpZiB0aGVyZSBpcyBhIGZpbGxlZCBncmVlbiBzcXVh
cmUgYW5kIG5vIHJlZCwgdGhlIG51bWJlciB3aXRoaW4gc3F1YXJlIGlzICcxIDIgMyA0JyBmcm9t
IHRvcCB0byBib3R0b20uPC9wPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94
L2ZsZXhib3gtYmFzZWxpbmUuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvZmxleGJveC9mbGV4Ym94
LWJhc2VsaW5lLmh0bWwKaW5kZXggY2I0OGE5MjkyNjg2MDJmYzExMmJlNzk1N2M3NzRlMWFmODBm
NzdlMS4uMWMwMTcwZDAwOWVlYWVhMGM3NGNmNWU0NTI0ZTk5ZWQ5YzJjMzNlMiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2ZsZXhib3gtYmFzZWxpbmUuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvZmxleGJveC1iYXNlbGluZS5odG1sCkBAIC03Myw3ICs3
Myw3IEBAIGJhc2VsaW5lIChib3R0b20gb2YgdGhlIGNvbnRlbnQgYm94IG9mIHRoZSBmaXJzdCBp
dGVtKS4gLS0+CiA8ZGl2Pgogc2hvdWxkIGFsaWduIHdpdGggdGhlIG1pZGRsZQogPGRpdiBjbGFz
cz0iaW5saW5lLWZsZXhib3giIHN0eWxlPSJ3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4Ij4KLSAg
ICA8ZGl2IHN0eWxlPSItd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7IGhlaWdodDog
MjBweDsgd2lkdGg6IDQwcHg7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBibGFjazsgbWluLWhl
aWdodDogMHB4OyI+PC9kaXY+CisgICAgPGRpdiBzdHlsZT0iLXdlYmtpdC13cml0aW5nLW1vZGU6
IHZlcnRpY2FsLXJsOyBoZWlnaHQ6IDIwcHg7IHdpZHRoOiA0MHB4OyBib3JkZXItYm90dG9tOiAx
cHggc29saWQgYmxhY2siPjwvZGl2PgogPC9kaXY+CiBvZiB0aGUgZ3JleSBmbGV4Ym94CiA8L2Rp
dj4KQEAgLTExMSw4ICsxMTEsOCBAQCBiYXNlbGluZSAoYm90dG9tIG9mIHRoZSBjb250ZW50IGJv
eCBvZiB0aGUgZmlyc3QgaXRlbSkuIC0tPgogPGRpdj4KIHNob3VsZCBhbGlnbiB3aXRoIHRoZSBt
aWRkbGUKIDxkaXYgY2xhc3M9ImlubGluZS1mbGV4Ym94IGNvbHVtbiIgc3R5bGU9IndpZHRoOiA0
MHB4OyBoZWlnaHQ6IDQwcHg7Ij4KLSAgICA8ZGl2IHN0eWxlPSItd2Via2l0LXdyaXRpbmctbW9k
ZTogdmVydGljYWwtcmw7IHdpZHRoOiA0MHB4OyBoZWlnaHQ6IDIwcHg7IGJvcmRlci1ib3R0b206
IDFweCBzb2xpZCBibGFjazsgbWluLWhlaWdodDogMHB4OyI+PC9kaXY+Ci0gICAgPGRpdiBzdHls
ZT0iLXdlYmtpdC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsOyB3aWR0aDogNDBweDsgaGVpZ2h0
OiAyMHB4OyBtaW4taGVpZ2h0OiAwcHg7Ij48L2Rpdj4KKyAgICA8ZGl2IHN0eWxlPSItd2Via2l0
LXdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7IHdpZHRoOiA0MHB4OyBoZWlnaHQ6IDIwcHg7IGJv
cmRlci1ib3R0b206IDFweCBzb2xpZCBibGFjayI+PC9kaXY+CisgICAgPGRpdiBzdHlsZT0iLXdl
YmtpdC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsOyB3aWR0aDogNDBweDsgaGVpZ2h0OiAyMHB4
Ij48L2Rpdj4KIDwvZGl2Pgogb2YgdGhlIGdyZXkgZmxleGJveAogPC9kaXY+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvbWluLXNpemUtYXV0by1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvbWluLXNpemUtYXV0by1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI5MTY1NDM5M2UwMjU4YmFlMjBhZWMxMWVmN2NlZTdl
NTM1OGYxMmMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L21pbi1zaXplLWF1dG8tZXhwZWN0ZWQudHh0CisrKyAv
ZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
Ci0KLVRFU1QgQ09NUExFVEUKLVBBU1MKLVBBU1MKLVBBU1MKLVBBU1MKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2NzczMvZmxleGJveC9taW4tc2l6ZS1hdXRvLmh0bWwgYi9MYXlvdXRUZXN0cy9j
c3MzL2ZsZXhib3gvbWluLXNpemUtYXV0by5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBhMzA3NDdmMzdmODhmYzk3Y2U2ZjJkMDQwYWM5ZTUxNGFlNmRlN2QyLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2NzczMvZmxl
eGJveC9taW4tc2l6ZS1hdXRvLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2MSArMCwwIEBACi08
IURPQ1RZUEUgaHRtbD4KLTxsaW5rIGhyZWY9InJlc291cmNlcy9mbGV4Ym94LmNzcyIgcmVsPSJz
dHlsZXNoZWV0Ij4KLQotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvY2hlY2stbGF5b3V0LmpzIj48
L3NjcmlwdD4KLQotPHN0eWxlPgotLmZsZXhib3ggewotICAgIHdpZHRoOiAxMHB4OwotICAgIGhl
aWdodDogMTBweDsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmV5OwotfQotCi0uaXRlbSB7Ci0g
ICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOwotICAgIG1hcmdpbjogNXB4OwotfQotCi0uY2hpbGQg
ewotICAgIGhlaWdodDogMTAwcHg7Ci0gICAgd2lkdGg6IDEwMHB4OwotICAgIGJhY2tncm91bmQt
Y29sb3I6IGdyZWVuOwotfQotCi0ud2lkdGgtMjAgewotICAgIHdpZHRoOiAyMHB4OwotfQotCi0u
ZmxleC1iYXNpcy0yMCB7Ci0gICAgZmxleC1iYXNpczogMjBweDsKLX0KLQotPC9zdHlsZT4KLQot
PGJvZHkgb25sb2FkPSJjaGVja0xheW91dCgnLmZsZXhib3gnKSI+Ci0KLTxkaXYgY2xhc3M9ImZs
ZXhib3giIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjEwIj4KLSAgICA8ZGl2IGNsYXNzPSJpdGVtIiBk
YXRhLWV4cGVjdGVkLXdpZHRoPSIxMDAiPgotICAgICAgICA8ZGl2IGNsYXNzPSJjaGlsZCIgZGF0
YS1leHBlY3RlZC13aWR0aD0iMTAwIj48L2Rpdj4KLSAgICA8L2Rpdj4KLTwvZGl2PgotCi08ZGl2
IGNsYXNzPSJmbGV4Ym94IGNvbHVtbiIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwIj4KLSAgICA8
ZGl2IGNsYXNzPSJpdGVtIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAwIj4KLSAgICAgICAgPGRp
diBjbGFzcz0iY2hpbGQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMDAiPjwvZGl2PgotICAgIDwv
ZGl2PgotPC9kaXY+Ci0KLTxkaXYgY2xhc3M9ImZsZXhib3giIGRhdGEtZXhwZWN0ZWQtd2lkdGg9
IjEwIj4KLSAgICA8ZGl2IGNsYXNzPSJpdGVtIHdpZHRoLTIwIiBkYXRhLWV4cGVjdGVkLXdpZHRo
PSIyMCI+Ci0gICAgICAgIDxkaXYgY2xhc3M9ImNoaWxkIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIx
MDAiPjwvZGl2PgotICAgIDwvZGl2PgotPC9kaXY+Ci0KLTxkaXYgY2xhc3M9ImZsZXhib3giIGRh
dGEtZXhwZWN0ZWQtd2lkdGg9IjEwIj4KLSAgICA8ZGl2IGNsYXNzPSJpdGVtIGZsZXgtYmFzaXMt
MjAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjEwMCI+Ci0gICAgICAgIDxkaXYgY2xhc3M9ImNoaWxk
IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxMDAiPjwvZGl2PgotICAgIDwvZGl2PgotPC9kaXY+Ci0K
LTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmxleGJveC9wcmVmZXJyZWQt
d2lkdGhzLW9ydGhvZ29uYWwuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvZmxleGJveC9wcmVmZXJy
ZWQtd2lkdGhzLW9ydGhvZ29uYWwuaHRtbAppbmRleCA5OTQ4NjYwNDg3MDcyMGVmOTFhYWI4YjJh
NTc3MzFlZjM1Mjg1YjZmLi41NzFiN2U5Zjc1OGYxOThiNzhhMmY1NDhjN2Q0ZTMxOGY4NDg4NDRk
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvcHJlZmVycmVkLXdpZHRocy1v
cnRob2dvbmFsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L3ByZWZlcnJlZC13
aWR0aHMtb3J0aG9nb25hbC5odG1sCkBAIC03Miw3ICs3Miw3IEBACiA8YnIgY2xhc3M9Y2xlYXI+
CiAKIDxkaXYgY2xhc3M9ImZsZXhib3ggdmVydGljYWwtbHIiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0
PTExNSAgZGF0YS1leHBlY3Qtd2lkdGg9ODA+Ci0gICAgPGRpdiBjbGFzcz0iaG9yaXpvbnRhbC10
YiBuZXN0ZWQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTgwICBkYXRhLWV4cGVjdC13aWR0aD01MCBz
dHlsZT0ibWluLWhlaWdodDogMHB4OyI+CisgICAgPGRpdiBjbGFzcz0iaG9yaXpvbnRhbC10YiBu
ZXN0ZWQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTgwICBkYXRhLWV4cGVjdC13aWR0aD01MD4KICAg
ICAgICAgPGRpdiBjbGFzcz0idmVydGljYWwtbHIgbmVzdGVkIiBkYXRhLWV4cGVjdGVkLWhlaWdo
dD04MCAgZGF0YS1leHBlY3Qtd2lkdGg9MzA+CiAgICAgICAgICAgICA8ZGl2PjwvZGl2PgogICAg
ICAgICAgICAgPGRpdj48L2Rpdj4KQEAgLTkzLDcgKzkzLDcgQEAKIDxiciBjbGFzcz1jbGVhcj4K
IAogPGRpdiBjbGFzcz0iZmxleGJveCB2ZXJ0aWNhbC1sciIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9
NjUgIGRhdGEtZXhwZWN0LXdpZHRoPTcwPgotICAgIDxkaXYgY2xhc3M9Im5lc3RlZCBob3Jpem9u
dGFsLXRiIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0zMCAgZGF0YS1leHBlY3Qtd2lkdGg9NDAgc3R5
bGU9Im1pbi1oZWlnaHQ6IDBweDsiPgorICAgIDxkaXYgY2xhc3M9Im5lc3RlZCBob3Jpem9udGFs
LXRiIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0zMCAgZGF0YS1leHBlY3Qtd2lkdGg9NDA+CiAgICAg
ICAgIDxkaXY+PC9kaXY+CiAgICAgICAgIDxkaXY+PC9kaXY+CiAgICAgPC9kaXY+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLXBlcmNlbnQtdHJhY2st
bWFyZ2luLWJvcmRlci1wYWRkaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3Nz
LWdyaWQtbGF5b3V0L2dyaWQtcGVyY2VudC10cmFjay1tYXJnaW4tYm9yZGVyLXBhZGRpbmctZXhw
ZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YTU3NDRlYzUxZDI4YTA4
NDk0ODNmZWM3OTc1NjA5NmZiM2FmNjQ1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtcGVy
Y2VudC10cmFjay1tYXJnaW4tYm9yZGVyLXBhZGRpbmctZXhwZWN0ZWQudHh0CisrKyAvZGV2L251
bGwKQEAgLTEsMTAgKzAsMCBAQAotVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHBlcmNlbnRhZ2UgdHJh
Y2tzIGlnbm9yZSBncmlkIGNvbnRhaW5lcidzIG1hcmdpbiwgYm9yZGVyIGFuZCBwYWRkaW5nIGlu
IG9yZGVyIHRvIGNhbGN1bGF0ZSB0aGVpciBicmVhZHRocy4KLQotUEFTUwotUEFTUwotUEFTUwot
UEFTUwotUEFTUwotUEFTUwotUEFTUwotUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1wZXJjZW50LXRyYWNrLW1hcmdpbi1ib3JkZXItcGFkZGlu
Zy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1wZXJjZW50LXRy
YWNrLW1hcmdpbi1ib3JkZXItcGFkZGluZy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA0MjgzMmMxOGE1OGI3NWQ5YTYyMGMzZGJhZmM0MDg3NjM5ZWMzOTI0Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3Nz
LWdyaWQtbGF5b3V0L2dyaWQtcGVyY2VudC10cmFjay1tYXJnaW4tYm9yZGVyLXBhZGRpbmcuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDEwMiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1s
PgotPGhlYWQ+Ci08bGluayBocmVmPSJyZXNvdXJjZXMvZ3JpZC5jc3MiIHJlbD0ic3R5bGVzaGVl
dCI+Ci08c3R5bGU+Ci0uZ3JpZCB7Ci0gICAgd2lkdGg6IDEwMHB4OwotICAgIGhlaWdodDogMTAw
cHg7Ci0gICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDIwJSA1MCUgMzAlOwotICAg
IC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiA0MCUgNjAlOwotfQotCi0ubWFyZ2luIHsKLSAg
ICBtYXJnaW46IDEwcHg7Ci19Ci0KLS5ib3JkZXIgewotICAgIGJvcmRlcjogNXB4IHNvbGlkIGJs
YWNrOwotfQotCi0ucGFkZGluZyB7Ci0gICAgcGFkZGluZzogMjBweDsKLX0KLTwvc3R5bGU+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2NoZWNrLWxheW91dC5qcyI+PC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9ImNoZWNrTGF5b3V0KCcuZ3JpZCcpOyI+Ci0gICAgPHA+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IHBlcmNlbnRhZ2UgdHJhY2tzIGlnbm9yZSBncmlkIGNvbnRhaW5l
cidzIG1hcmdpbiwgYm9yZGVyIGFuZCBwYWRkaW5nIGluIG9yZGVyIHRvIGNhbGN1bGF0ZSB0aGVp
ciBicmVhZHRocy48L3A+Ci0KLSAgICA8ZGl2IGNsYXNzPSJncmlkIj4KLSAgICAgICAgPGRpdiBk
YXRhLWV4cGVjdGVkLXdpZHRoPSIyMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjQwIj48L2Rpdj4K
LSAgICAgICAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWln
aHQ9IjQwIj48L2Rpdj4KLSAgICAgICAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIzMCIgZGF0
YS1leHBlY3RlZC1oZWlnaHQ9IjQwIj48L2Rpdj4KLSAgICAgICAgPGRpdiBkYXRhLWV4cGVjdGVk
LXdpZHRoPSIyMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjYwIj48L2Rpdj4KLSAgICAgICAgPGRp
diBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjYwIj48L2Rp
dj4KLSAgICAgICAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIzMCIgZGF0YS1leHBlY3RlZC1o
ZWlnaHQ9IjYwIj48L2Rpdj4KLSAgICA8L2Rpdj4KLQotICAgIDxkaXYgY2xhc3M9ImdyaWQgbWFy
Z2luIj4KLSAgICAgICAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIyMCIgZGF0YS1leHBlY3Rl
ZC1oZWlnaHQ9IjQwIj48L2Rpdj4KLSAgICAgICAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1
MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjQwIj48L2Rpdj4KLSAgICAgICAgPGRpdiBkYXRhLWV4
cGVjdGVkLXdpZHRoPSIzMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjQwIj48L2Rpdj4KLSAgICAg
ICAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIyMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjYw
Ij48L2Rpdj4KLSAgICAgICAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBl
Y3RlZC1oZWlnaHQ9IjYwIj48L2Rpdj4KLSAgICAgICAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRo
PSIzMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjYwIj48L2Rpdj4KLSAgICA8L2Rpdj4KLQotICAg
IDxkaXYgY2xhc3M9ImdyaWQgYm9yZGVyIj4KLSAgICAgICAgPGRpdiBkYXRhLWV4cGVjdGVkLXdp
ZHRoPSIyMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjQwIj48L2Rpdj4KLSAgICAgICAgPGRpdiBk
YXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjQwIj48L2Rpdj4K
LSAgICAgICAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIzMCIgZGF0YS1leHBlY3RlZC1oZWln
aHQ9IjQwIj48L2Rpdj4KLSAgICAgICAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIyMCIgZGF0
YS1leHBlY3RlZC1oZWlnaHQ9IjYwIj48L2Rpdj4KLSAgICAgICAgPGRpdiBkYXRhLWV4cGVjdGVk
LXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjYwIj48L2Rpdj4KLSAgICAgICAgPGRp
diBkYXRhLWV4cGVjdGVkLXdpZHRoPSIzMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjYwIj48L2Rp
dj4KLSAgICA8L2Rpdj4KLQotICAgIDxkaXYgY2xhc3M9ImdyaWQgcGFkZGluZyI+Ci0gICAgICAg
IDxkaXYgZGF0YS1leHBlY3RlZC13aWR0aD0iMjAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI0MCI+
PC9kaXY+Ci0gICAgICAgIDxkaXYgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0
ZWQtaGVpZ2h0PSI0MCI+PC9kaXY+Ci0gICAgICAgIDxkaXYgZGF0YS1leHBlY3RlZC13aWR0aD0i
MzAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI0MCI+PC9kaXY+Ci0gICAgICAgIDxkaXYgZGF0YS1l
eHBlY3RlZC13aWR0aD0iMjAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI2MCI+PC9kaXY+Ci0gICAg
ICAgIDxkaXYgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI2
MCI+PC9kaXY+Ci0gICAgICAgIDxkaXYgZGF0YS1leHBlY3RlZC13aWR0aD0iMzAiIGRhdGEtZXhw
ZWN0ZWQtaGVpZ2h0PSI2MCI+PC9kaXY+Ci0gICAgPC9kaXY+Ci0KLSAgICA8ZGl2IGNsYXNzPSJn
cmlkIG1hcmdpbiBib3JkZXIiPgotICAgICAgICA8ZGl2IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjIw
IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNDAiPjwvZGl2PgotICAgICAgICA8ZGl2IGRhdGEtZXhw
ZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNDAiPjwvZGl2PgotICAgICAg
ICA8ZGl2IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjMwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNDAi
PjwvZGl2PgotICAgICAgICA8ZGl2IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjIwIiBkYXRhLWV4cGVj
dGVkLWhlaWdodD0iNjAiPjwvZGl2PgotICAgICAgICA8ZGl2IGRhdGEtZXhwZWN0ZWQtd2lkdGg9
IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNjAiPjwvZGl2PgotICAgICAgICA8ZGl2IGRhdGEt
ZXhwZWN0ZWQtd2lkdGg9IjMwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNjAiPjwvZGl2PgotICAg
IDwvZGl2PgotCi0gICAgPGRpdiBjbGFzcz0iZ3JpZCBtYXJnaW4gcGFkZGluZyI+Ci0gICAgICAg
IDxkaXYgZGF0YS1leHBlY3RlZC13aWR0aD0iMjAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI0MCI+
PC9kaXY+Ci0gICAgICAgIDxkaXYgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0
ZWQtaGVpZ2h0PSI0MCI+PC9kaXY+Ci0gICAgICAgIDxkaXYgZGF0YS1leHBlY3RlZC13aWR0aD0i
MzAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI0MCI+PC9kaXY+Ci0gICAgICAgIDxkaXYgZGF0YS1l
eHBlY3RlZC13aWR0aD0iMjAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI2MCI+PC9kaXY+Ci0gICAg
ICAgIDxkaXYgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI2
MCI+PC9kaXY+Ci0gICAgICAgIDxkaXYgZGF0YS1leHBlY3RlZC13aWR0aD0iMzAiIGRhdGEtZXhw
ZWN0ZWQtaGVpZ2h0PSI2MCI+PC9kaXY+Ci0gICAgPC9kaXY+Ci0KLSAgICA8ZGl2IGNsYXNzPSJn
cmlkIGJvcmRlciBwYWRkaW5nIj4KLSAgICAgICAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIy
MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjQwIj48L2Rpdj4KLSAgICAgICAgPGRpdiBkYXRhLWV4
cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjQwIj48L2Rpdj4KLSAgICAg
ICAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIzMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjQw
Ij48L2Rpdj4KLSAgICAgICAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIyMCIgZGF0YS1leHBl
Y3RlZC1oZWlnaHQ9IjYwIj48L2Rpdj4KLSAgICAgICAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRo
PSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjYwIj48L2Rpdj4KLSAgICAgICAgPGRpdiBkYXRh
LWV4cGVjdGVkLXdpZHRoPSIzMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjYwIj48L2Rpdj4KLSAg
ICA8L2Rpdj4KLQotICAgIDxkaXYgY2xhc3M9ImdyaWQgbWFyZ2luIGJvcmRlciBwYWRkaW5nIj4K
LSAgICAgICAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIyMCIgZGF0YS1leHBlY3RlZC1oZWln
aHQ9IjQwIj48L2Rpdj4KLSAgICAgICAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0
YS1leHBlY3RlZC1oZWlnaHQ9IjQwIj48L2Rpdj4KLSAgICAgICAgPGRpdiBkYXRhLWV4cGVjdGVk
LXdpZHRoPSIzMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjQwIj48L2Rpdj4KLSAgICAgICAgPGRp
diBkYXRhLWV4cGVjdGVkLXdpZHRoPSIyMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjYwIj48L2Rp
dj4KLSAgICAgICAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBlY3RlZC1o
ZWlnaHQ9IjYwIj48L2Rpdj4KLSAgICAgICAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIzMCIg
ZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjYwIj48L2Rpdj4KLSAgICA8L2Rpdj4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2F1dG8tbWluLXNpemUtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvYXV0by1taW4tc2l6ZS1leHBlY3RlZC50
eHQKaW5kZXggYmVhM2E5YTY2YjgwMDJmMTg5ZDYyNzRlZWViYWNmY2ZjYjYxZTNkYy4uNDM5ZDVj
YzA3YTMzNzFhMGM5NmU5NmRiZTQ0MDhiOTViZGE4YjRkMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9jc3MvYXV0by1taW4tc2l6ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvYXV0by1taW4tc2l6ZS1leHBlY3RlZC50eHQKQEAgLTEsMzkgKzEsMTcgQEAKIFBB
U1MgZGl2LnN0eWxlLm1pbldpZHRoIGlzICIiCiBQQVNTIGdldENvbXB1dGVkU3R5bGUoZGl2KVsi
bWluLXdpZHRoIl0gaXMgIjBweCIKLVBBU1MgZGl2LnN0eWxlLm1pbldpZHRoIGlzICJhdXRvIgor
UEFTUyBkaXYuc3R5bGUubWluV2lkdGggaXMgIiIKIFBBU1MgZGl2LnN0eWxlLm1heFdpZHRoIGlz
ICIiCiBQQVNTIGdldENvbXB1dGVkU3R5bGUoZGl2KS5taW5XaWR0aCBpcyAiMHB4IgogUEFTUyBk
aXYuc3R5bGUubWluV2lkdGggaXMgIjBweCIKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkaXYpWyJt
aW4td2lkdGgiXSBpcyAiMHB4IgogUEFTUyBkaXYuc3R5bGUubWluSGVpZ2h0IGlzICIiCiBQQVNT
IGdldENvbXB1dGVkU3R5bGUoZGl2KVsibWluLWhlaWdodCJdIGlzICIwcHgiCi1QQVNTIGRpdi5z
dHlsZS5taW5IZWlnaHQgaXMgImF1dG8iCitQQVNTIGRpdi5zdHlsZS5taW5IZWlnaHQgaXMgIiIK
IFBBU1MgZGl2LnN0eWxlLm1heEhlaWdodCBpcyAiIgogUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRp
dikubWluSGVpZ2h0IGlzICIwcHgiCiBQQVNTIGRpdi5zdHlsZS5taW5IZWlnaHQgaXMgIjBweCIK
IFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkaXYpWyJtaW4taGVpZ2h0Il0gaXMgIjBweCIKLVBBU1Mg
ZmxleGl0ZW0uc3R5bGUubWluV2lkdGggaXMgIiIKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShmbGV4
aXRlbSlbIm1pbi13aWR0aCJdIGlzICJhdXRvIgotUEFTUyBmbGV4aXRlbS5zdHlsZS5taW5XaWR0
aCBpcyAiYXV0byIKLVBBU1MgZmxleGl0ZW0uc3R5bGUubWF4V2lkdGggaXMgIiIKLVBBU1MgZ2V0
Q29tcHV0ZWRTdHlsZShmbGV4aXRlbSkubWluV2lkdGggaXMgImF1dG8iCi1QQVNTIGZsZXhpdGVt
LnN0eWxlLm1pbldpZHRoIGlzICIwcHgiCi1QQVNTIGdldENvbXB1dGVkU3R5bGUoZmxleGl0ZW0p
WyJtaW4td2lkdGgiXSBpcyAiMHB4IgotUEFTUyBmbGV4aXRlbS5zdHlsZS5taW5IZWlnaHQgaXMg
IiIKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShmbGV4aXRlbSlbIm1pbi1oZWlnaHQiXSBpcyAiYXV0
byIKLVBBU1MgZmxleGl0ZW0uc3R5bGUubWluSGVpZ2h0IGlzICJhdXRvIgotUEFTUyBmbGV4aXRl
bS5zdHlsZS5tYXhIZWlnaHQgaXMgIiIKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShmbGV4aXRlbSku
bWluSGVpZ2h0IGlzICJhdXRvIgotUEFTUyBmbGV4aXRlbS5zdHlsZS5taW5IZWlnaHQgaXMgIjBw
eCIKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShmbGV4aXRlbSlbIm1pbi1oZWlnaHQiXSBpcyAiMHB4
IgotUEFTUyBidXR0b24uc3R5bGUubWluV2lkdGggaXMgIiIKLVBBU1MgZ2V0Q29tcHV0ZWRTdHls
ZShidXR0b24pWyJtaW4td2lkdGgiXSBpcyAiMHB4IgotUEFTUyBidXR0b24uc3R5bGUubWluSGVp
Z2h0IGlzICIiCi1QQVNTIGdldENvbXB1dGVkU3R5bGUoYnV0dG9uKVsibWluLWhlaWdodCJdIGlz
ICIwcHgiCi1QQVNTIGJ1dHRvbi5zdHlsZS5taW5IZWlnaHQgaXMgImF1dG8iCi1QQVNTIGdldENv
bXB1dGVkU3R5bGUoYnV0dG9uKS5taW5IZWlnaHQgaXMgIjBweCIKLVBBU1MgYnV0dG9uLnN0eWxl
Lm1pbldpZHRoIGlzICJhdXRvIgotUEFTUyBnZXRDb21wdXRlZFN0eWxlKGJ1dHRvbikubWluV2lk
dGggaXMgIjBweCIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01Q
TEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvYXV0by1taW4tc2l6ZS5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvYXV0by1taW4tc2l6ZS5odG1sCmluZGV4IGQ0YzhjNGNi
Y2MxOGNlZTdlYmZkMDQ4NWFiZmUyNGVjNjhjZTg1ODYuLmQ4ODk2MDQ5MTRjMDNlM2Q4ZjczZjdj
NWViZmM2NzgxYTJmOWJkNjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2F1dG8t
bWluLXNpemUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9hdXRvLW1pbi1zaXplLmh0
bWwKQEAgLTEsOCArMSw2IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxzY3JpcHQgc3JjPScuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMnPjwvc2NyaXB0PgogPGRpdiBpZD1mb28+PC9kaXY+Ci08
ZGl2IGlkPSJmbGV4Ym94IiBzdHlsZT0iZGlzcGxheTogZmxleDsiPjxkaXYgaWQ9ImZsZXhpdGVt
Ij48L2Rpdj48L2Rpdj4KLTxidXR0b24gaWQ9ImJ1dHRvbiI+PC9idXR0b24+CiA8c2NyaXB0Pgog
ZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZvbycpOwogc2hvdWxkQmUoJ2Rpdi5zdHls
ZS5taW5XaWR0aCcsICciIicpOwpAQCAtMTAsNyArOCw3IEBAIHNob3VsZEJlKCdnZXRDb21wdXRl
ZFN0eWxlKGRpdilbIm1pbi13aWR0aCJdJywgJyIwcHgiJyk7CiAKIGRpdi5zdHlsZS5taW5XaWR0
aCA9ICdhdXRvJzsKIGRpdi5zdHlsZS5tYXhXaWR0aCA9ICdhdXRvJzsKLXNob3VsZEJlKCdkaXYu
c3R5bGUubWluV2lkdGgnLCAnImF1dG8iJyk7CitzaG91bGRCZSgnZGl2LnN0eWxlLm1pbldpZHRo
JywgJyIiJyk7CiBzaG91bGRCZSgnZGl2LnN0eWxlLm1heFdpZHRoJywgJyIiJyk7CiBzaG91bGRC
ZSgnZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLm1pbldpZHRoJywgJyIwcHgiJyk7CiAKQEAgLTIzLDcg
KzIxLDcgQEAgc2hvdWxkQmUoJ2dldENvbXB1dGVkU3R5bGUoZGl2KVsibWluLWhlaWdodCJdJywg
JyIwcHgiJyk7CiAKIGRpdi5zdHlsZS5taW5IZWlnaHQgPSAnYXV0byc7CiBkaXYuc3R5bGUubWF4
SGVpZ2h0ID0gJ2F1dG8nOwotc2hvdWxkQmUoJ2Rpdi5zdHlsZS5taW5IZWlnaHQnLCAnImF1dG8i
Jyk7CitzaG91bGRCZSgnZGl2LnN0eWxlLm1pbkhlaWdodCcsICciIicpOwogc2hvdWxkQmUoJ2Rp
di5zdHlsZS5tYXhIZWlnaHQnLCAnIiInKTsKIHNob3VsZEJlKCdnZXRDb21wdXRlZFN0eWxlKGRp
dikubWluSGVpZ2h0JywgJyIwcHgiJyk7CiAKQEAgLTMxLDQ1ICsyOSw1IEBAIGRpdi5zdHlsZS5t
aW5IZWlnaHQgPSAwOwogc2hvdWxkQmUoJ2Rpdi5zdHlsZS5taW5IZWlnaHQnLCAnIjBweCInKTsK
IHNob3VsZEJlKCdnZXRDb21wdXRlZFN0eWxlKGRpdilbIm1pbi1oZWlnaHQiXScsICciMHB4Iicp
OwogCi12YXIgZmxleGl0ZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmxleGl0ZW0iKTsK
LXNob3VsZEJlKCdmbGV4aXRlbS5zdHlsZS5taW5XaWR0aCcsICciIicpOwotc2hvdWxkQmUoJ2dl
dENvbXB1dGVkU3R5bGUoZmxleGl0ZW0pWyJtaW4td2lkdGgiXScsICciYXV0byInKTsKLQotZmxl
eGl0ZW0uc3R5bGUubWluV2lkdGggPSAnYXV0byc7Ci1mbGV4aXRlbS5zdHlsZS5tYXhXaWR0aCA9
ICdhdXRvJzsKLXNob3VsZEJlKCdmbGV4aXRlbS5zdHlsZS5taW5XaWR0aCcsICciYXV0byInKTsK
LXNob3VsZEJlKCdmbGV4aXRlbS5zdHlsZS5tYXhXaWR0aCcsICciIicpOwotc2hvdWxkQmUoJ2dl
dENvbXB1dGVkU3R5bGUoZmxleGl0ZW0pLm1pbldpZHRoJywgJyJhdXRvIicpOwotCi1mbGV4aXRl
bS5zdHlsZS5taW5XaWR0aCA9IDA7Ci1zaG91bGRCZSgnZmxleGl0ZW0uc3R5bGUubWluV2lkdGgn
LCAnIjBweCInKTsKLXNob3VsZEJlKCdnZXRDb21wdXRlZFN0eWxlKGZsZXhpdGVtKVsibWluLXdp
ZHRoIl0nLCAnIjBweCInKTsKLQotc2hvdWxkQmUoJ2ZsZXhpdGVtLnN0eWxlLm1pbkhlaWdodCcs
ICciIicpOwotc2hvdWxkQmUoJ2dldENvbXB1dGVkU3R5bGUoZmxleGl0ZW0pWyJtaW4taGVpZ2h0
Il0nLCAnImF1dG8iJyk7Ci0KLWZsZXhpdGVtLnN0eWxlLm1pbkhlaWdodCA9ICdhdXRvJzsKLWZs
ZXhpdGVtLnN0eWxlLm1heEhlaWdodCA9ICdhdXRvJzsKLXNob3VsZEJlKCdmbGV4aXRlbS5zdHls
ZS5taW5IZWlnaHQnLCAnImF1dG8iJyk7Ci1zaG91bGRCZSgnZmxleGl0ZW0uc3R5bGUubWF4SGVp
Z2h0JywgJyIiJyk7Ci1zaG91bGRCZSgnZ2V0Q29tcHV0ZWRTdHlsZShmbGV4aXRlbSkubWluSGVp
Z2h0JywgJyJhdXRvIicpOwotCi1mbGV4aXRlbS5zdHlsZS5taW5IZWlnaHQgPSAwOwotc2hvdWxk
QmUoJ2ZsZXhpdGVtLnN0eWxlLm1pbkhlaWdodCcsICciMHB4IicpOwotc2hvdWxkQmUoJ2dldENv
bXB1dGVkU3R5bGUoZmxleGl0ZW0pWyJtaW4taGVpZ2h0Il0nLCAnIjBweCInKTsKLQotdmFyIGJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJidXR0b24iKTsKLXNob3VsZEJlKCdidXR0
b24uc3R5bGUubWluV2lkdGgnLCAnIiInKTsKLXNob3VsZEJlKCdnZXRDb21wdXRlZFN0eWxlKGJ1
dHRvbilbIm1pbi13aWR0aCJdJywgJyIwcHgiJyk7Ci1zaG91bGRCZSgnYnV0dG9uLnN0eWxlLm1p
bkhlaWdodCcsICciIicpOwotc2hvdWxkQmUoJ2dldENvbXB1dGVkU3R5bGUoYnV0dG9uKVsibWlu
LWhlaWdodCJdJywgJyIwcHgiJyk7Ci0KLWJ1dHRvbi5zdHlsZS5taW5IZWlnaHQgPSAnYXV0byc7
Ci1idXR0b24uc3R5bGUubWluV2lkdGggPSAnYXV0byc7Ci1zaG91bGRCZSgnYnV0dG9uLnN0eWxl
Lm1pbkhlaWdodCcsICciYXV0byInKTsKLXNob3VsZEJlKCdnZXRDb21wdXRlZFN0eWxlKGJ1dHRv
bikubWluSGVpZ2h0JywgJyIwcHgiJyk7Ci1zaG91bGRCZSgnYnV0dG9uLnN0eWxlLm1pbldpZHRo
JywgJyJhdXRvIicpOwotc2hvdWxkQmUoJ2dldENvbXB1dGVkU3R5bGUoYnV0dG9uKS5taW5XaWR0
aCcsICciMHB4IicpOwotCiA8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPScuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzJz48L3NjcmlwdD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>