<?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>230166</bug_id>
          
          <creation_ts>2021-09-10 12:37:15 -0700</creation_ts>
          <short_desc>AX: set insertion point to the end of a native text control does not work when passing a collapsed TextMarkerRange with both start and end equals to the end TextMarker for the element.</short_desc>
          <delta_ts>2021-09-13 15:43:02 -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>Accessibility</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andres Gonzalez">andresg_22</reporter>
          <assigned_to name="Andres Gonzalez">andresg_22</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>andresg_22</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1792489</commentid>
    <comment_count>0</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2021-09-10 12:37:15 -0700</bug_when>
    <thetext>AX: set insertion point to the end of a native text control does not work when passing a collapsed TextMarkerRange with both start and end equals to the end TextMarker for the element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792502</commentid>
    <comment_count>1</comment_count>
      <attachid>437901</attachid>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2021-09-10 13:11:57 -0700</bug_when>
    <thetext>Created attachment 437901
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792503</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-10 13:14:44 -0700</bug_when>
    <thetext>&lt;rdar://problem/82986318&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792682</commentid>
    <comment_count>3</comment_count>
      <attachid>437951</attachid>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2021-09-11 06:50:23 -0700</bug_when>
    <thetext>Created attachment 437951
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792685</commentid>
    <comment_count>4</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2021-09-11 07:39:37 -0700</bug_when>
    <thetext>(In reply to Andres Gonzalez from comment #3)
&gt; Created attachment 437951 [details]
&gt; Patch

Fix for mac-wk1 test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792792</commentid>
    <comment_count>5</comment_count>
      <attachid>437993</attachid>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2021-09-12 11:46:08 -0700</bug_when>
    <thetext>Created attachment 437993
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793019</commentid>
    <comment_count>6</comment_count>
      <attachid>438059</attachid>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2021-09-13 11:21:10 -0700</bug_when>
    <thetext>Created attachment 438059
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793125</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-13 15:43:00 -0700</bug_when>
    <thetext>Committed r282369 (241632@main): &lt;https://commits.webkit.org/241632@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 438059.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437901</attachid>
            <date>2021-09-10 13:11:57 -0700</date>
            <delta_ts>2021-09-11 06:50:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230166-20210910161156.patch</filename>
            <type>text/plain</type>
            <size>22892</size>
            <attacher name="Andres Gonzalez">andresg_22</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxOTIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmU4OTdhMmVmYTQyNWZj
N2UyZGU1OWE4MThmNWRkOGYxOWEwZmFhMS4uMDhlNzQ3N2ZkNTZjOWI4YThlNzcyYzlhMzI2MDhj
MzQzYzY2NDkzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIxLTA5LTEwICBBbmRy
ZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogc2V0IGlu
c2VydGlvbiBwb2ludCB0byB0aGUgZW5kIG9mIGEgbmF0aXZlIHRleHQgY29udHJvbCBkb2VzIG5v
dCB3b3JrIHdoZW4gcGFzc2luZyBhIGNvbGxhcHNlZCBUZXh0TWFya2VyUmFuZ2Ugd2l0aCBib3Ro
IHN0YXJ0IGFuZCBlbmQgZXF1YWxzIHRvIHRoZSBlbmQgVGV4dE1hcmtlciBmb3IgdGhlIGVsZW1l
bnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAx
NjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0
OiBhY2Nlc3NpYmlsaXR5L21hYy9uYXRpdmUtdGV4dC1jb250cm9sLXNldC1zZWxlY3RlZC10ZXh0
bWFya2VyLXJhbmdlLmh0bWwKKworICAgICAgICBBZGRlZCBhIHNwZWNpYWwgY2FzZSB0byBBWCBv
YmplY3QncyBzZXRTZWxlY3RlZFZpc2libGVQb3NpdGlvblJhbmdlIGZvcgorICAgICAgICB3aGVu
IHRoZSBwYXNzZWQgcmFuZ2UgaXMgYSBjb2xsYXBzZWQgcmFuZ2UgdG8gdGhlIGVuZCBvZiBhIG5h
dGl2ZSB0ZXh0CisgICAgICAgIGNvbnRyb2wgZWxlbWVudCdzIHJhbmdlLgorICAgICAgICBUbyBh
Y2NvbXBsaXNoIHRoaXMsIGl0IGlzIG5lY2Vzc2FyeSB0byBjb21wYXJlIGZvciBlcXVhbGl0eSB0
d28KKyAgICAgICAgVmlzaWJsZVBvc2l0aW9ucyBvYnRhaW5lZCBmcm9tIFRleHRNYXJrZXJzLgor
ICAgICAgICBJbiBvcmRlciB0byByZWNvbnN0cnVjdCB0aGUgVmlzaWJsZVBvc2l0aW9ucyBmcm9t
IHRoZSBUZXh0TWFya2VycyBpbiBhCisgICAgICAgIHdheSB0aGF0IGVxdWFsaXR5IGlzIHByZXNl
cnZlZCwgdGhlIEFuY2hvclR5cGUgb2YgdGhlIHVuZGVybHlpbmcKKyAgICAgICAgUG9zaXRpb24g
bmVlZHMgdG8gYmUgYWRkZWQgdG8gdGhlIFRleHRNYXJrZXJEYXRhLgorCisgICAgICAgICogYWNj
ZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcDoKKyAgICAgICAgQWRkZWQgdGhlIEFuY2hvclR5
cGUgdG8gdGhlIFRleHRNYXJrZXJEYXRhIHN0cnVjdC4KKyAgICAgICAgKFdlYkNvcmU6OkFYT2Jq
ZWN0Q2FjaGU6OnZpc2libGVQb3NpdGlvbkZvclRleHRNYXJrZXJEYXRhKToKKyAgICAgICAgKFdl
YkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnRleHRNYXJrZXJEYXRhRm9yVmlzaWJsZVBvc2l0aW9uKToK
KyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6c2V0U2VsZWN0ZWRWaXNpYmxlUG9zaXRpb25S
YW5nZSBjb25zdCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1h
Yy5tbToKKyAgICAgICAgRXhwb3NlZCB0ZXh0TWFya2VyUmFuZ2VGcm9tTWFya2Vycy4KKyAgICAg
ICAgKFdlYkNvcmU6OnRleHRNYXJrZXJSYW5nZUZyb21NYXJrZXJzKToKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5oOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1t
OgorICAgICAgICBBZGRlZCB0aGUgQVhUZXh0TWFya2VyUmFuZ2VGb3JUZXh0TWFya2VycyBhdHRy
aWJ1dGUgd2hpY2gsIHVubGlrZQorICAgICAgICBBWFRleHRNYXJrZXJSYW5nZUZvclVub3JkZXJl
ZFRleHRNYXJrZXJzLCBhc3N1bWVzIHRoYXQgdGhlIHJhbmdlJ3Mgc3RhcnQKKyAgICAgICAgYW5k
IGVuZCBhcmUgb3JkZXJlZCwgYW5kIHRodXMgaXMgbW9yZSBlZmZpY2llbnQuCisgICAgICAgICgt
W1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIEFMTE9XX0RFUFJFQ0FURURfSU1QTEVNRU5U
QVRJT05TX0VORF0pOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBh
Y2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6Zm9yUGFyYW1ldGVyOl0pOgorCiAyMDIxLTA5LTAy
ICBBbmRyZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KIAogICAgICAgICBCcmFp
bGxlIGRpc3BsYXkgaXMgYmxhbmsgaW4gY29udGVudGVkaXRhYmxlIGVsZW1lbnRzIHdoZW4gdGhl
IGZpZWxkIGlzIGZvbGxvd2VkIGJ5IGFub3RoZXIgZWxlbWVudC4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4IGYyNDUxMTAyMDQwMDIzNmFj
MDI3NmE4NTllNmJmZDdhZjA5OGUwYmEuLjJiNTBlYjg4NmYzMDFmZGFiZTlkYmRjYzkzY2U1NWMz
ZWRjNjU3OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENh
Y2hlLmNwcApAQCAtMTkxMSw3ICsxOTExLDcgQEAgVmlzaWJsZVBvc2l0aW9uIEFYT2JqZWN0Q2Fj
aGU6OnZpc2libGVQb3NpdGlvbkZvclRleHRNYXJrZXJEYXRhKFRleHRNYXJrZXJEYXRhJgogICAg
ICAgICB8fCB0ZXh0TWFya2VyRGF0YS5ub2RlLT5pc1BzZXVkb0VsZW1lbnQoKSkKICAgICAgICAg
cmV0dXJuIHsgfTsKIAotICAgIGF1dG8gdmlzaWJsZVBvc2l0aW9uID0gVmlzaWJsZVBvc2l0aW9u
KG1ha2VDb250YWluZXJPZmZzZXRQb3NpdGlvbih0ZXh0TWFya2VyRGF0YS5ub2RlLCB0ZXh0TWFy
a2VyRGF0YS5vZmZzZXQpLCB0ZXh0TWFya2VyRGF0YS5hZmZpbml0eSk7CisgICAgYXV0byB2aXNp
YmxlUG9zaXRpb24gPSBWaXNpYmxlUG9zaXRpb24oeyB0ZXh0TWFya2VyRGF0YS5ub2RlLCB0ZXh0
TWFya2VyRGF0YS5vZmZzZXQsIHRleHRNYXJrZXJEYXRhLmFuY2hvclR5cGUgfSwgdGV4dE1hcmtl
ckRhdGEuYWZmaW5pdHkpOwogICAgIGF1dG8gZGVlcFBvc2l0aW9uID0gdmlzaWJsZVBvc2l0aW9u
LmRlZXBFcXVpdmFsZW50KCk7CiAgICAgaWYgKGRlZXBQb3NpdGlvbi5pc051bGwoKSkKICAgICAg
ICAgcmV0dXJuIHsgfTsKQEAgLTI0OTUsNyArMjQ5NSw3IEBAIHN0ZDo6b3B0aW9uYWw8VGV4dE1h
cmtlckRhdGE+IEFYT2JqZWN0Q2FjaGU6OnRleHRNYXJrZXJEYXRhRm9yVmlzaWJsZVBvc2l0aW9u
KGNvCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKICAgICBQb3NpdGlvbiBkZWVwUG9z
ID0gdmlzaWJsZVBvcy5kZWVwRXF1aXZhbGVudCgpOwotICAgIE5vZGUqIGRvbU5vZGUgPSBkZWVw
UG9zLmRlcHJlY2F0ZWROb2RlKCk7CisgICAgTm9kZSogZG9tTm9kZSA9IGRlZXBQb3MuYW5jaG9y
Tm9kZSgpOwogICAgIEFTU0VSVChkb21Ob2RlKTsKICAgICBpZiAoIWRvbU5vZGUpCiAgICAgICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7CkBAIC0yNTI2LDYgKzI1MjYsNyBAQCBzdGQ6Om9wdGlvbmFs
PFRleHRNYXJrZXJEYXRhPiBBWE9iamVjdENhY2hlOjp0ZXh0TWFya2VyRGF0YUZvclZpc2libGVQ
b3NpdGlvbihjbwogICAgIHRleHRNYXJrZXJEYXRhLmF4SUQgPSBvYmouZ2V0KCktPm9iamVjdElE
KCk7CiAgICAgdGV4dE1hcmtlckRhdGEubm9kZSA9IGRvbU5vZGU7CiAgICAgdGV4dE1hcmtlckRh
dGEub2Zmc2V0ID0gZGVlcFBvcy5kZXByZWNhdGVkRWRpdGluZ09mZnNldCgpOworICAgIHRleHRN
YXJrZXJEYXRhLmFuY2hvclR5cGUgPSBkZWVwUG9zLmFuY2hvclR5cGUoKTsKICAgICB0ZXh0TWFy
a2VyRGF0YS5hZmZpbml0eSA9IHZpc2libGVQb3MuYWZmaW5pdHkoKTsKIAogICAgIHRleHRNYXJr
ZXJEYXRhLmNoYXJhY3Rlck9mZnNldCA9IGNoYXJhY3Rlck9mZnNldC5vZmZzZXQ7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCmluZGV4IDFkY2E0Y2E1ZjZm
NDAwNjdhNmZhZDRhMTFkYjdmOTg0NGM3YWE2ZGIuLjE5OTUzYzNhNDkwYjhkZTU3OTllNzRhZTBh
OGY1ODk0MGE1NGFiZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QVhPYmplY3RDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5oCkBAIC02MCwxMiArNjAsMTUgQEAgY2xhc3MgV2lkZ2V0OwogCiBzdHJ1Y3QgVGV4
dE1hcmtlckRhdGEgewogICAgIEFYSUQgYXhJRCB7IDAgfTsKKwogICAgIE5vZGUqIG5vZGUgeyBu
dWxscHRyIH07Ci0gICAgaW50IG9mZnNldCB7IDAgfTsKKyAgICB1bnNpZ25lZCBvZmZzZXQgeyAw
IH07CisgICAgUG9zaXRpb246OkFuY2hvclR5cGUgYW5jaG9yVHlwZSB7IFBvc2l0aW9uOjpQb3Np
dGlvbklzT2Zmc2V0SW5BbmNob3IgfTsKKyAgICBBZmZpbml0eSBhZmZpbml0eSB7IEFmZmluaXR5
OjpEb3duc3RyZWFtIH07CisKICAgICBpbnQgY2hhcmFjdGVyU3RhcnRJbmRleCB7IDAgfTsKICAg
ICBpbnQgY2hhcmFjdGVyT2Zmc2V0IHsgMCB9OwogICAgIGJvb2wgaWdub3JlZCB7IGZhbHNlIH07
Ci0gICAgQWZmaW5pdHkgYWZmaW5pdHkgeyBBZmZpbml0eTo6RG93bnN0cmVhbSB9OwogfTsKIAog
c3RydWN0IENoYXJhY3Rlck9mZnNldCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAppbmRleCA4M2IwOTZm
MzcwNWE3NzljZjcyZjFmNDhhMGZiMzg5NGJkNTQyNDU1Li44OTc1NWZlNDEzZWI3NzM2ZjYxNThh
YzZhYjZlMGIyYTM4OGFlMWMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKQEAgLTIzMDgsMTAgKzIz
MDgsMTYgQEAgdm9pZCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpzZXRTZWxlY3RlZFZpc2li
bGVQb3NpdGlvblJhbmdlKGNvbnN0IFZpc2libGVQb3MKICAgICAgICAgaWYgKHJhbmdlLnN0YXJ0
LmRlZXBFcXVpdmFsZW50KCkuYW5jaG9yTm9kZSgpID09IHJhbmdlLmVuZC5kZWVwRXF1aXZhbGVu
dCgpLmFuY2hvck5vZGUoKQogICAgICAgICAgICAgJiYgcmFuZ2Uuc3RhcnQuZGVlcEVxdWl2YWxl
bnQoKS5hbmNob3JOb2RlKCkgPT0gdGV4dENvbnRyb2wpIHsKICAgICAgICAgICAgIGlmIChhdXRv
IGlubmVyVGV4dCA9IHRleHRDb250cm9sLT5pbm5lclRleHRFbGVtZW50KCkpIHsKKyAgICAgICAg
ICAgICAgICBhdXRvIHRleHRDb250cm9sUmFuZ2UgPSBtYWtlVmlzaWJsZVBvc2l0aW9uUmFuZ2Uo
QVhPYmplY3RDYWNoZTo6cmFuZ2VGb3JOb2RlQ29udGVudHMoKnRleHRDb250cm9sKSk7CiAgICAg
ICAgICAgICAgICAgYXV0byBpbm5lclJhbmdlID0gbWFrZVZpc2libGVQb3NpdGlvblJhbmdlKEFY
T2JqZWN0Q2FjaGU6OnJhbmdlRm9yTm9kZUNvbnRlbnRzKCppbm5lclRleHQpKTsKLSAgICAgICAg
ICAgICAgICBpZiAocmFuZ2Uuc3RhcnQgPCBpbm5lclJhbmdlLnN0YXJ0KQorCisgICAgICAgICAg
ICAgICAgaWYgKHJhbmdlLnN0YXJ0LmVxdWFscyh0ZXh0Q29udHJvbFJhbmdlLmVuZCkpCisgICAg
ICAgICAgICAgICAgICAgIHN0YXJ0ID0gdGV4dENvbnRyb2wtPnZhbHVlKCkubGVuZ3RoKCk7Cisg
ICAgICAgICAgICAgICAgZWxzZSBpZiAocmFuZ2Uuc3RhcnQgPD0gaW5uZXJSYW5nZS5zdGFydCkK
ICAgICAgICAgICAgICAgICAgICAgc3RhcnQgPSAwOwotICAgICAgICAgICAgICAgIGlmIChyYW5n
ZS5lbmQgPj0gaW5uZXJSYW5nZS5lbmQpCisKKyAgICAgICAgICAgICAgICBpZiAocmFuZ2UuZW5k
ID49IGlubmVyUmFuZ2UuZW5kCisgICAgICAgICAgICAgICAgICAgIHx8IHJhbmdlLmVuZC5lcXVh
bHModGV4dENvbnRyb2xSYW5nZS5lbmQpKQogICAgICAgICAgICAgICAgICAgICBlbmQgPSB0ZXh0
Q29udHJvbC0+dmFsdWUoKS5sZW5ndGgoKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1h
Yy5tbSBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FYT2JqZWN0Q2FjaGVNYWMu
bW0KaW5kZXggMjBlODVjZWU1ZGFkNGNiZmI1YmM3Y2JhMjdiNGVlNmYyODhiNjhmMi4uZTVhNzg2
N2VlNmI2ODllYzk2NDJmNjU2OGY2ODZiNzViYjk0MTVhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENhY2hlTWFjLm1tCkBAIC02MTIsNyAr
NjEyLDcgQEAgc3RhdGljIFJldGFpblB0cjxBWFRleHRNYXJrZXJSYW5nZVJlZj4gQVhUZXh0TWFy
a2VyUmFuZ2UoQVhUZXh0TWFya2VyUmVmIHN0YXJ0TWEKICAgICByZXR1cm4gYWRvcHRDRihBWFRl
eHRNYXJrZXJSYW5nZUNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBzdGFydE1hcmtlciwgZW5k
TWFya2VyKSk7CiB9CiAKLXN0YXRpYyBSZXRhaW5QdHI8QVhUZXh0TWFya2VyUmFuZ2VSZWY+IHRl
eHRNYXJrZXJSYW5nZUZyb21NYXJrZXJzKEFYVGV4dE1hcmtlclJlZiB0ZXh0TWFya2VyMSwgQVhU
ZXh0TWFya2VyUmVmIHRleHRNYXJrZXIyKQorUmV0YWluUHRyPEFYVGV4dE1hcmtlclJhbmdlUmVm
PiB0ZXh0TWFya2VyUmFuZ2VGcm9tTWFya2VycyhBWFRleHRNYXJrZXJSZWYgdGV4dE1hcmtlcjEs
IEFYVGV4dE1hcmtlclJlZiB0ZXh0TWFya2VyMikKIHsKICAgICBpZiAoIXRleHRNYXJrZXIxIHx8
ICF0ZXh0TWFya2VyMikKICAgICAgICAgcmV0dXJuIG5pbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFj
LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2Jq
ZWN0V3JhcHBlck1hYy5oCmluZGV4IDc0MmIzZDAzYTQ4ZjJiOGViNzJhMDlhODUzZjdhMjE5ZmFi
ZTJhMDQuLjA4ZjliZDc1MTYzNDM3YzVjMjk1MTg4NjBhZmJiYzEyNTE4MDMyNTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2Vi
QWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMuaApAQCAtNjUsNiArNjUsNyBAQCBzdHJ1Y3Qg
Q2hhcmFjdGVyT2Zmc2V0OwogLy8gVGV4dE1hcmtlciBhbmQgVGV4dE1hcmtlclJhbmdlIHB1Ymxp
YyBmdW5jc3Rpb25zLgogLy8gRklYTUU6IFRleHRNYXJrZXIgYW5kIFRleHRNYXJrZXJSYW5nZSBz
aG91bGQgYmVjb21lIGNsYXNzZXMgb24gdGhlaXIgb3duIHJpZ2h0LCB3cmFwcGluZyB0aGUgc3lz
dGVtIG9iamVjdHMuCiAKK1JldGFpblB0cjxBWFRleHRNYXJrZXJSYW5nZVJlZj4gdGV4dE1hcmtl
clJhbmdlRnJvbU1hcmtlcnMoQVhUZXh0TWFya2VyUmVmLCBBWFRleHRNYXJrZXJSZWYpOwogQWNj
ZXNzaWJpbGl0eU9iamVjdCogYWNjZXNzaWJpbGl0eU9iamVjdEZvclRleHRNYXJrZXIoQVhPYmpl
Y3RDYWNoZSosIEFYVGV4dE1hcmtlclJlZik7CiAKIC8vIFRleHRNYXJrZXIgPC0+IFZpc2libGVQ
b3NpdGlvbiBjb252ZXJzaW9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5t
bQppbmRleCBhMmNhMTRkNTk0NTVjN2RhZjYwZDQ2NzJhOTJmMjg5OGNiNDUxN2U3Li45ZmNmNjhk
ODUzZjkzZTJmMGU0ZmRiY2QwZDg5ODNhNzUzMjc2ZWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5
T2JqZWN0V3JhcHBlck1hYy5tbQpAQCAtMzA0Myw2ICszMDQzLDcgQEAgQUxMT1dfREVQUkVDQVRF
RF9JTVBMRU1FTlRBVElPTlNfRU5ECiAgICAgICAgICAgICBAIkFYQm91bmRzRm9yVGV4dE1hcmtl
clJhbmdlIiwKICAgICAgICAgICAgIEAiQVhBdHRyaWJ1dGVkU3RyaW5nRm9yVGV4dE1hcmtlclJh
bmdlIiwKICAgICAgICAgICAgIEAiQVhBdHRyaWJ1dGVkU3RyaW5nRm9yVGV4dE1hcmtlclJhbmdl
V2l0aE9wdGlvbnMiLAorICAgICAgICAgICAgQCJBWFRleHRNYXJrZXJSYW5nZUZvclRleHRNYXJr
ZXJzIiwKICAgICAgICAgICAgIEAiQVhUZXh0TWFya2VyUmFuZ2VGb3JVbm9yZGVyZWRUZXh0TWFy
a2VycyIsCiAgICAgICAgICAgICBAIkFYTmV4dFRleHRNYXJrZXJGb3JUZXh0TWFya2VyIiwKICAg
ICAgICAgICAgIEAiQVhQcmV2aW91c1RleHRNYXJrZXJGb3JUZXh0TWFya2VyIiwKQEAgLTQwNDIs
MTEgKzQwNDMsMjAgQEAgQUxMT1dfREVQUkVDQVRFRF9JTVBMRU1FTlRBVElPTlNfRU5ECiAgICAg
ICAgIHJldHVybiBuaWw7CiAgICAgfQogCi0gICAgaWYgKFthdHRyaWJ1dGUgaXNFcXVhbFRvU3Ry
aW5nOkAiQVhUZXh0TWFya2VyUmFuZ2VGb3JVbm9yZGVyZWRUZXh0TWFya2VycyJdKSB7Ci0gICAg
ICAgIGlmIChbYXJyYXkgY291bnRdIDwgMikKKyAgICBpZiAoW2F0dHJpYnV0ZSBpc0VxdWFsVG9T
dHJpbmc6QCJBWFRleHRNYXJrZXJSYW5nZUZvclRleHRNYXJrZXJzIl0pIHsKKyAgICAgICAgaWYg
KGFycmF5LmNvdW50IDwgMgorICAgICAgICAgICAgfHwgIUFYT2JqZWN0SXNUZXh0TWFya2VyKFth
cnJheSBvYmplY3RBdEluZGV4OjBdKQorICAgICAgICAgICAgfHwgIUFYT2JqZWN0SXNUZXh0TWFy
a2VyKFthcnJheSBvYmplY3RBdEluZGV4OjFdKSkKICAgICAgICAgICAgIHJldHVybiBuaWw7Cisg
ICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5OjpyZXRyaWV2ZUF1dG9yZWxlYXNlZFZhbHVlRnJv
bU1haW5UaHJlYWQ8aWQ+KFsmYXJyYXldICgpIC0+IFJldGFpblB0cjxpZD4geworICAgICAgICAg
ICAgcmV0dXJuIChpZCl0ZXh0TWFya2VyUmFuZ2VGcm9tTWFya2VycygoQVhUZXh0TWFya2VyUmVm
KVthcnJheSBvYmplY3RBdEluZGV4OjBdLCAoQVhUZXh0TWFya2VyUmVmKVthcnJheSBvYmplY3RB
dEluZGV4OjFdKS5nZXQoKTsKKyAgICAgICAgfSk7CisgICAgfQogCi0gICAgICAgIGlmICghQVhP
YmplY3RJc1RleHRNYXJrZXIoW2FycmF5IG9iamVjdEF0SW5kZXg6MF0pIHx8ICFBWE9iamVjdElz
VGV4dE1hcmtlcihbYXJyYXkgb2JqZWN0QXRJbmRleDowXSkpCisgICAgaWYgKFthdHRyaWJ1dGUg
aXNFcXVhbFRvU3RyaW5nOkAiQVhUZXh0TWFya2VyUmFuZ2VGb3JVbm9yZGVyZWRUZXh0TWFya2Vy
cyJdKSB7CisgICAgICAgIGlmIChhcnJheS5jb3VudCA8IDIKKyAgICAgICAgICAgIHx8ICFBWE9i
amVjdElzVGV4dE1hcmtlcihbYXJyYXkgb2JqZWN0QXRJbmRleDowXSkKKyAgICAgICAgICAgIHx8
ICFBWE9iamVjdElzVGV4dE1hcmtlcihbYXJyYXkgb2JqZWN0QXRJbmRleDoxXSkpCiAgICAgICAg
ICAgICByZXR1cm4gbmlsOwogCiAgICAgICAgIEFYVGV4dE1hcmtlclJlZiB0ZXh0TWFya2VyMSA9
IChBWFRleHRNYXJrZXJSZWYpW2FycmF5IG9iamVjdEF0SW5kZXg6MF07CmRpZmYgLS1naXQgYS9U
b29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZDZhYzVkMWFiZWFjODA0YTk0
NDM0MDEyN2M1NmMyYWNlYmM1N2Y5ZC4uYzYyYzJlYjg1MjljOGRjZmM4OWRkNmJiNjQ3ZGJjODRi
MWJlNzk3NCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTA5LTEwICBBbmRyZXMgR29uemFsZXogIDxhbmRyZXNn
XzIyQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogc2V0IGluc2VydGlvbiBwb2ludCB0byB0aGUg
ZW5kIG9mIGEgbmF0aXZlIHRleHQgY29udHJvbCBkb2VzIG5vdCB3b3JrIHdoZW4gcGFzc2luZyBh
IGNvbGxhcHNlZCBUZXh0TWFya2VyUmFuZ2Ugd2l0aCBib3RoIHN0YXJ0IGFuZCBlbmQgZXF1YWxz
IHRvIHRoZSBlbmQgVGV4dE1hcmtlciBmb3IgdGhlIGVsZW1lbnQuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAxNjYKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW06CisgICAgICAgIChXVFI6
OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRleHRNYXJrZXJSYW5nZUZvck1hcmtlcnMpOgorICAg
ICAgICBVc2UgQVhUZXh0TWFya2VyUmFuZ2VGb3JUZXh0TWFya2VycyBpbnN0ZWFkIG9mCisgICAg
ICAgIEFYVGV4dE1hcmtlclJhbmdlRm9yVW5vcmRlcmVkVGV4dE1hcmtlcnMuCisKIDIwMjEtMDkt
MDIgIENhcmxvcyBBbGJlcnRvIExvcGV6IFBlcmV6ICA8Y2xvcGV6QGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW0dUS11bV1BFXSBQb3J0IEFQSSB0ZXN0IHJ1bm5lciB0byBweXRob24zCmRpZmYgLS1n
aXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmls
aXR5VUlFbGVtZW50TWFjLm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQppbmRleCBjOTI4NWVkZDRjYTMxYmQy
YjdkYzU4Nzk0NDg0MWJkODA0ZWVhMTk2Li40ZWE3NDkwMGM3OTE4NjQ1ZjkxODE4NjM3ODc5ZjBl
MGY5NzA4NDE4IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tCisrKyBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0K
QEAgLTE4NzYsMTAgKzE4NzYsMTAgQEAgUmVmUHRyPEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFu
Z2U+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRleHRNYXJrZXJSYW5nZUZvck0KICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAKICAgICBOU0FycmF5KiB0ZXh0TWFya2VycyA9IEBbc3RhcnRQbGF0
Zm9ybU1hcmtlciwgZW5kUGxhdGZvcm1NYXJrZXJdOwotICAgIGlkIHRleHRNYXJrZXJSYW5nZSA9
IFttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOkAiQVhUZXh0TWFya2VyUmFu
Z2VGb3JVbm9yZGVyZWRUZXh0TWFya2VycyIgZm9yUGFyYW1ldGVyOnRleHRNYXJrZXJzXTsKKyAg
ICBpZCB0ZXh0TWFya2VyUmFuZ2UgPSBbbV9lbGVtZW50IGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVW
YWx1ZTpAIkFYVGV4dE1hcmtlclJhbmdlRm9yVGV4dE1hcmtlcnMiIGZvclBhcmFtZXRlcjp0ZXh0
TWFya2Vyc107CiAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2U6OmNyZWF0
ZSh0ZXh0TWFya2VyUmFuZ2UpOwogICAgIEVORF9BWF9PQkpDX0VYQ0VQVElPTlMKLSAgICAKKwog
ICAgIHJldHVybiBudWxscHRyOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDhjOTQxZjQyMTIwZDZiMTM4Y2IxNTkw
ZGU5MGU4YWQ3OTE0MGVjZS4uZmJlMjZlZTc5MGExZWQ0NTBkNzYwM2YwZmYxZTkxZTgyOTQ0NWIx
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIxLTA5LTEwICBBbmRyZXMgR29uemFsZXogIDxh
bmRyZXNnXzIyQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogc2V0IGluc2VydGlvbiBwb2ludCB0
byB0aGUgZW5kIG9mIGEgbmF0aXZlIHRleHQgY29udHJvbCBkb2VzIG5vdCB3b3JrIHdoZW4gcGFz
c2luZyBhIGNvbGxhcHNlZCBUZXh0TWFya2VyUmFuZ2Ugd2l0aCBib3RoIHN0YXJ0IGFuZCBlbmQg
ZXF1YWxzIHRvIHRoZSBlbmQgVGV4dE1hcmtlciBmb3IgdGhlIGVsZW1lbnQuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAxNjYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFj
L2JvdW5kcy1mb3ItcmFuZ2UtZXhwZWN0ZWQudHh0OgorICAgICAgICBBZGRlZCBBWFRleHRNYXJr
ZXJSYW5nZUZvclRleHRNYXJrZXJzIGF0dHJpYnV0ZSBuYW1lLgorICAgICAgICAqIGFjY2Vzc2li
aWxpdHkvbWFjL25hdGl2ZS10ZXh0LWNvbnRyb2wtc2V0LXNlbGVjdGVkLXRleHRtYXJrZXItcmFu
Z2UtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL25hdGl2ZS10ZXh0
LWNvbnRyb2wtc2V0LXNlbGVjdGVkLXRleHRtYXJrZXItcmFuZ2UuaHRtbDoKKyAgICAgICAgRXhw
YW5kZWQgdG8gaW5jbHVkZSB0aGUgdGVzdCBjYXNlcyB0byBtb3ZlIHRoZSBpbnNlcnRpb24gcG9p
bnQgdG8gdGhlCisgICAgICAgIGJlZ2lubmluZyBhbmQgZW5kIG9mIHRoZSB0ZXh0IGNvdG5yb2wu
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS90ZXh0LW1hcmtlci90ZXh0LW1hcmtlci1wcmV2aW91
cy1uZXh0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L3RleHQtbWFya2Vy
L3RleHQtbWFya2VyLXByZXZpb3VzLW5leHQuaHRtbDoKKyAgICAgICAgQWRqdXN0ZWQgZXhwZWN0
ZWQgdmFsdWUgdG8gaW5jbHVkZSBsaW5lYnJlYWsgY2hhcmFjdGVyLgorCiAyMDIxLTA5LTAyICBB
bmRyZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KIAogICAgICAgICBCcmFpbGxl
IGRpc3BsYXkgaXMgYmxhbmsgaW4gY29udGVudGVkaXRhYmxlIGVsZW1lbnRzIHdoZW4gdGhlIGZp
ZWxkIGlzIGZvbGxvd2VkIGJ5IGFub3RoZXIgZWxlbWVudC4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvbWFjL2JvdW5kcy1mb3ItcmFuZ2UtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvYm91bmRzLWZvci1yYW5nZS1leHBlY3RlZC50eHQK
aW5kZXggMzkyOGZkZGRhYzA1ZTdiNWEyMDIxNGUxYjU4MTI4ZjhjZmRmYTUwNS4uNTNlZTI1YTg4
OWQ2ZDBiYmMzNmRjNGNjMDA3YzQzYzZiOTFlZDBmNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9tYWMvYm91bmRzLWZvci1yYW5nZS1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvYm91bmRzLWZvci1yYW5nZS1leHBlY3RlZC50eHQK
QEAgLTM5LDYgKzM5LDcgQEAgQVhUZXh0TWFya2VyRm9yUG9zaXRpb24KIEFYQm91bmRzRm9yVGV4
dE1hcmtlclJhbmdlCiBBWEF0dHJpYnV0ZWRTdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2UKIEFYQXR0
cmlidXRlZFN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZVdpdGhPcHRpb25zCitBWFRleHRNYXJrZXJS
YW5nZUZvclRleHRNYXJrZXJzCiBBWFRleHRNYXJrZXJSYW5nZUZvclVub3JkZXJlZFRleHRNYXJr
ZXJzCiBBWE5leHRUZXh0TWFya2VyRm9yVGV4dE1hcmtlcgogQVhQcmV2aW91c1RleHRNYXJrZXJG
b3JUZXh0TWFya2VyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9u
YXRpdmUtdGV4dC1jb250cm9sLXNldC1zZWxlY3RlZC10ZXh0bWFya2VyLXJhbmdlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL25hdGl2ZS10ZXh0LWNvbnRyb2wt
c2V0LXNlbGVjdGVkLXRleHRtYXJrZXItcmFuZ2UtZXhwZWN0ZWQudHh0CmluZGV4IDJhMzVlYTk4
YzI0YjdjY2VkYTBiY2QxZDM5ZjgwMzQzYzMzZGExYmUuLmQ0YzdjNzE5ODg4MjE2MDNiZmRjYzZi
YWZiMGYzMWI0YzlhZWM2ZGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
bWFjL25hdGl2ZS10ZXh0LWNvbnRyb2wtc2V0LXNlbGVjdGVkLXRleHRtYXJrZXItcmFuZ2UtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL25hdGl2ZS10ZXh0
LWNvbnRyb2wtc2V0LXNlbGVjdGVkLXRleHRtYXJrZXItcmFuZ2UtZXhwZWN0ZWQudHh0CkBAIC00
LDEyICs0LDE3IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIAogc2VsZWN0ZWQgdGV4dCAi
VGhpcyBpcyBhIHRleHRhcmVhLiIKK3NlbGVjdGVkIHRleHQgIlQiCiBzZWxlY3RlZCB0ZXh0ICJU
aGlzIGlzIGEgIgogc2VsZWN0ZWQgdGV4dCAiIGlzIGEgIgorUEFTUyBwLnRleHRNYXJrZXJSYW5n
ZUxlbmd0aChzZWxlY3RlZFJhbmdlKSBpcyAwCiBzZWxlY3RlZCB0ZXh0ICJUaGlzIGlzIGEgdGV4
dCBmaWVsZC4iCitzZWxlY3RlZCB0ZXh0ICJUIgogc2VsZWN0ZWQgdGV4dCAiVGhpcyBpcyBhICIK
IHNlbGVjdGVkIHRleHQgIiBpcyBhIHRleHQiCitQQVNTIHAudGV4dE1hcmtlclJhbmdlTGVuZ3Ro
KHNlbGVjdGVkUmFuZ2UpIGlzIDAKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAog
VEVTVCBDT01QTEVURQogCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
bWFjL25hdGl2ZS10ZXh0LWNvbnRyb2wtc2V0LXNlbGVjdGVkLXRleHRtYXJrZXItcmFuZ2UuaHRt
bCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL25hdGl2ZS10ZXh0LWNvbnRyb2wtc2V0
LXNlbGVjdGVkLXRleHRtYXJrZXItcmFuZ2UuaHRtbAppbmRleCBlNzk1NWU4NDI1MTNiYzM3ZDJl
NjBlMDIxZGEzMzQxMzlhNTIyZTU1Li5hZTMzMTI1MzZmYjFlMDMwZTFiNWQxNTk4MWZhNTA0NTk2
YjllMjgyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9uYXRpdmUt
dGV4dC1jb250cm9sLXNldC1zZWxlY3RlZC10ZXh0bWFya2VyLXJhbmdlLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvbmF0aXZlLXRleHQtY29udHJvbC1zZXQtc2VsZWN0
ZWQtdGV4dG1hcmtlci1yYW5nZS5odG1sCkBAIC03LDcgKzcsNyBAQAogPGJvZHk+CiAKIDx0ZXh0
YXJlYSBpZD0idGV4dGFyZWEiPlRoaXMgaXMgYSB0ZXh0YXJlYS48L3RleHRhcmVhPgotCis8YnIv
PgogPGlucHV0IHR5cGU9InRleHQiIGlkPSJ0ZXh0ZmllbGQiIHZhbHVlPSJUaGlzIGlzIGEgdGV4
dCBmaWVsZC4iIC8+CiAKIDxzY3JpcHQ+CkBAIC0xNiwyNCArMTYsMzcgQEAKICAgICBpZiAod2lu
ZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CiAgICAgICAgIHdpbmRvdy5qc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKIAotICAgICAgICBsZXQgZWxlbWVudElEID0gInRleHRhcmVhIjsKLQotICAg
ICAgICBsZXQgcCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJ
ZChlbGVtZW50SUQpOwotICAgICAgICBsZXQgcmFuZ2UgPSBwLnRleHRNYXJrZXJSYW5nZUZvckVs
ZW1lbnQocCk7CisgICAgICAgIC8vIHRleHRhcmVhLgorICAgICAgICB2YXIgZWxlbWVudElEID0g
InRleHRhcmVhIjsKKyAgICAgICAgdmFyIHAgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nl
c3NpYmxlRWxlbWVudEJ5SWQoZWxlbWVudElEKTsKKyAgICAgICAgdmFyIHJhbmdlID0gcC50ZXh0
TWFya2VyUmFuZ2VGb3JFbGVtZW50KHApOwogCiAgICAgICAgIHNldFRpbWVvdXQoYXN5bmMgKCkg
PT4gewogICAgICAgICAgICAgLy8gU2VsZWN0IGFsbCB0ZXh0LgogICAgICAgICAgICAgcC5zZXRT
ZWxlY3RlZFRleHRNYXJrZXJSYW5nZShyYW5nZSk7Ci0gICAgICAgICAgICBsZXQgc2VsZWN0ZWRS
YW5nZSA9IG51bGw7CisgICAgICAgICAgICB3aW5kb3cuc2VsZWN0ZWRSYW5nZSA9IG51bGw7CiAg
ICAgICAgICAgICBhd2FpdCB3YWl0Rm9yKCgpID0+IHsKICAgICAgICAgICAgICAgICBzZWxlY3Rl
ZFJhbmdlID0gcC5zZWxlY3RlZFRleHRNYXJrZXJSYW5nZSgpOwogICAgICAgICAgICAgICAgIHJl
dHVybiBwLnRleHRNYXJrZXJSYW5nZUxlbmd0aChzZWxlY3RlZFJhbmdlKSA9PSAxOTsKICAgICAg
ICAgICAgIH0pOwogICAgICAgICAgICAgZGVidWcoYHNlbGVjdGVkIHRleHQgIiR7cC5zdHJpbmdG
b3JUZXh0TWFya2VyUmFuZ2Uoc2VsZWN0ZWRSYW5nZSl9ImApOwogCi0gICAgICAgICAgICAvLyBT
ZWxlY3QgdGhlIGZpcnN0IDEwIGNoYXJhY3RlcnMuCisgICAgICAgICAgICAvLyBNb3ZlIHRoZSBp
bnNlcnRpb24gcG9pbnQgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgZmllbGQuCiAgICAgICAgICAg
ICBsZXQgc3RhcnQgPSBwLnN0YXJ0VGV4dE1hcmtlckZvclRleHRNYXJrZXJSYW5nZShyYW5nZSk7
Ci0gICAgICAgICAgICBlbmQgPSBzdGFydDsKKyAgICAgICAgICAgIGxldCBlbmQgPSBzdGFydDsK
KyAgICAgICAgICAgIHJhbmdlID0gcC50ZXh0TWFya2VyUmFuZ2VGb3JNYXJrZXJzKHN0YXJ0LCBl
bmQpOworICAgICAgICAgICAgcC5zZXRTZWxlY3RlZFRleHRNYXJrZXJSYW5nZShyYW5nZSk7Cisg
ICAgICAgICAgICBhd2FpdCB3YWl0Rm9yKCgpID0+IHsKKyAgICAgICAgICAgICAgICBzZWxlY3Rl
ZFJhbmdlID0gcC5zZWxlY3RlZFRleHRNYXJrZXJSYW5nZSgpOworICAgICAgICAgICAgICAgIHJl
dHVybiBwLnRleHRNYXJrZXJSYW5nZUxlbmd0aChzZWxlY3RlZFJhbmdlKSA9PSAwOworICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICBsZXQgc2VsZWN0aW9uU3RhcnQgPSBwLnN0YXJ0VGV4dE1h
cmtlckZvclRleHRNYXJrZXJSYW5nZShzZWxlY3RlZFJhbmdlKTsKKyAgICAgICAgICAgIGxldCBz
ZWxlY3Rpb25FbmQgPSBwLmVuZFRleHRNYXJrZXJGb3JUZXh0TWFya2VyUmFuZ2Uoc2VsZWN0ZWRS
YW5nZSk7CisgICAgICAgICAgICAvLyBNb3ZlIHNlbGVjdGlvbkVuZCBvbmUgb3ZlciBzbyB0aGF0
IHdlIGhhdmUgYSBsZW5ndGggMSByYW5nZSBhbmQgd2UgY2FuIGdldCB0aGUgY2hhcmFjdGVyIGF0
IHRoZSBpbnNlcnRpb24gcG9pbnQuCisgICAgICAgICAgICBzZWxlY3Rpb25FbmQgPSBwLm5leHRU
ZXh0TWFya2VyKHNlbGVjdGlvbkVuZCk7CisgICAgICAgICAgICBkZWJ1Zyhgc2VsZWN0ZWQgdGV4
dCAiJHtwLnN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZShwLnRleHRNYXJrZXJSYW5nZUZvck1hcmtl
cnMoc2VsZWN0aW9uU3RhcnQsIHNlbGVjdGlvbkVuZCkpfSJgKTsKKworICAgICAgICAgICAgLy8g
U2VsZWN0IHRoZSBmaXJzdCAxMCBjaGFyYWN0ZXJzLgogICAgICAgICAgICAgZm9yIChsZXQgaSA9
IDA7IGkgPCAxMDsgKytpKQogICAgICAgICAgICAgICAgIGVuZCA9IHAubmV4dFRleHRNYXJrZXIo
ZW5kKTsKICAgICAgICAgICAgIHJhbmdlID0gcC50ZXh0TWFya2VyUmFuZ2VGb3JNYXJrZXJzKHN0
YXJ0LCBlbmQpOwpAQCAtNTUsOCArNjgsMjEgQEAKICAgICAgICAgICAgIH0pOwogICAgICAgICAg
ICAgZGVidWcoYHNlbGVjdGVkIHRleHQgIiR7cC5zdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2Uoc2Vs
ZWN0ZWRSYW5nZSl9ImApOwogCi0gICAgICAgICAgICBlbGVtZW50SUQgPSAidGV4dGZpZWxkIjsK
KyAgICAgICAgICAgIC8vIE1vdmUgdGhlIGluc2VydGlvbiBwb2ludCB0byB0aGUgZW5kIG9mIHRo
ZSBmaWVsZC4KKyAgICAgICAgICAgIHJhbmdlID0gcC50ZXh0TWFya2VyUmFuZ2VGb3JFbGVtZW50
KHApOworICAgICAgICAgICAgZW5kID0gcC5lbmRUZXh0TWFya2VyRm9yVGV4dE1hcmtlclJhbmdl
KHJhbmdlKTsKKyAgICAgICAgICAgIHN0YXJ0ID0gZW5kOworICAgICAgICAgICAgcmFuZ2UgPSBw
LnRleHRNYXJrZXJSYW5nZUZvck1hcmtlcnMoc3RhcnQsIGVuZCk7CisgICAgICAgICAgICBwLnNl
dFNlbGVjdGVkVGV4dE1hcmtlclJhbmdlKHJhbmdlKTsKKyAgICAgICAgICAgIGF3YWl0IHdhaXRG
b3IoKCkgPT4geworICAgICAgICAgICAgICAgIHNlbGVjdGVkUmFuZ2UgPSBwLnNlbGVjdGVkVGV4
dE1hcmtlclJhbmdlKCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHAudGV4dE1hcmtlclJhbmdl
TGVuZ3RoKHNlbGVjdGVkUmFuZ2UpID09IDA7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IHNlbGVjdGVkUmFuZ2UgPSBwLnNlbGVjdGVkVGV4dE1hcmtlclJhbmdlKCk7CisgICAgICAgICAg
ICBzaG91bGRCZSgicC50ZXh0TWFya2VyUmFuZ2VMZW5ndGgoc2VsZWN0ZWRSYW5nZSkiLCAiMCIp
OwogCisgICAgICAgICAgICAvLyBJbnB1dCB0ZXh0IGZpZWxkLgorICAgICAgICAgICAgZWxlbWVu
dElEID0gInRleHRmaWVsZCI7CiAgICAgICAgICAgICBwID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKGVsZW1lbnRJRCk7CiAgICAgICAgICAgICByYW5nZSA9
IHAudGV4dE1hcmtlclJhbmdlRm9yRWxlbWVudChwKTsKIApAQCAtNjksOSArOTUsMjIgQEAKICAg
ICAgICAgICAgIH0pOwogICAgICAgICAgICAgZGVidWcoYHNlbGVjdGVkIHRleHQgIiR7cC5zdHJp
bmdGb3JUZXh0TWFya2VyUmFuZ2Uoc2VsZWN0ZWRSYW5nZSl9ImApOwogCi0gICAgICAgICAgICAv
LyBTZWxlY3QgdGhlIGZpcnN0IDEwIGNoYXJhY3RlcnMuCisgICAgICAgICAgICAvLyBNb3ZlIHRo
ZSBpbnNlcnRpb24gcG9pbnQgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgZmllbGQuCiAgICAgICAg
ICAgICBzdGFydCA9IHAuc3RhcnRUZXh0TWFya2VyRm9yVGV4dE1hcmtlclJhbmdlKHJhbmdlKTsK
ICAgICAgICAgICAgIGVuZCA9IHN0YXJ0OworICAgICAgICAgICAgcmFuZ2UgPSBwLnRleHRNYXJr
ZXJSYW5nZUZvck1hcmtlcnMoc3RhcnQsIGVuZCk7CisgICAgICAgICAgICBwLnNldFNlbGVjdGVk
VGV4dE1hcmtlclJhbmdlKHJhbmdlKTsKKyAgICAgICAgICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4g
eworICAgICAgICAgICAgICAgIHNlbGVjdGVkUmFuZ2UgPSBwLnNlbGVjdGVkVGV4dE1hcmtlclJh
bmdlKCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHAudGV4dE1hcmtlclJhbmdlTGVuZ3RoKHNl
bGVjdGVkUmFuZ2UpID09IDA7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIHNlbGVjdGlv
blN0YXJ0ID0gcC5zdGFydFRleHRNYXJrZXJGb3JUZXh0TWFya2VyUmFuZ2Uoc2VsZWN0ZWRSYW5n
ZSk7CisgICAgICAgICAgICBzZWxlY3Rpb25FbmQgPSBwLmVuZFRleHRNYXJrZXJGb3JUZXh0TWFy
a2VyUmFuZ2Uoc2VsZWN0ZWRSYW5nZSk7CisgICAgICAgICAgICAvLyBNb3ZlIHNlbGVjdGlvbkVu
ZCBvbmUgb3ZlciBzbyB0aGF0IHdlIGhhdmUgYSBsZW5ndGggMSByYW5nZSBhbmQgd2UgY2FuIGdl
dCB0aGUgY2hhcmFjdGVyIGF0IHRoZSBpbnNlcnRpb24gcG9pbnQuCisgICAgICAgICAgICBzZWxl
Y3Rpb25FbmQgPSBwLm5leHRUZXh0TWFya2VyKHNlbGVjdGlvbkVuZCk7CisgICAgICAgICAgICBk
ZWJ1Zyhgc2VsZWN0ZWQgdGV4dCAiJHtwLnN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZShwLnRleHRN
YXJrZXJSYW5nZUZvck1hcmtlcnMoc2VsZWN0aW9uU3RhcnQsIHNlbGVjdGlvbkVuZCkpfSJgKTsK
KworICAgICAgICAgICAgLy8gU2VsZWN0IHRoZSBmaXJzdCAxMCBjaGFyYWN0ZXJzLgogICAgICAg
ICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxMDsgKytpKQogICAgICAgICAgICAgICAgIGVuZCA9
IHAubmV4dFRleHRNYXJrZXIoZW5kKTsKICAgICAgICAgICAgIHJhbmdlID0gcC50ZXh0TWFya2Vy
UmFuZ2VGb3JNYXJrZXJzKHN0YXJ0LCBlbmQpOwpAQCAtOTUsNiArMTM0LDE5IEBACiAgICAgICAg
ICAgICB9KTsKICAgICAgICAgICAgIGRlYnVnKGBzZWxlY3RlZCB0ZXh0ICIke3Auc3RyaW5nRm9y
VGV4dE1hcmtlclJhbmdlKHNlbGVjdGVkUmFuZ2UpfSJgKTsKIAorICAgICAgICAgICAgLy8gTW92
ZSB0aGUgaW5zZXJ0aW9uIHBvaW50IHRvIHRoZSBlbmQgb2YgdGhlIGZpZWxkLgorICAgICAgICAg
ICAgcmFuZ2UgPSBwLnRleHRNYXJrZXJSYW5nZUZvckVsZW1lbnQocCk7CisgICAgICAgICAgICBl
bmQgPSBwLmVuZFRleHRNYXJrZXJGb3JUZXh0TWFya2VyUmFuZ2UocmFuZ2UpOworICAgICAgICAg
ICAgc3RhcnQgPSBlbmQ7CisgICAgICAgICAgICByYW5nZSA9IHAudGV4dE1hcmtlclJhbmdlRm9y
TWFya2VycyhzdGFydCwgZW5kKTsKKyAgICAgICAgICAgIHAuc2V0U2VsZWN0ZWRUZXh0TWFya2Vy
UmFuZ2UocmFuZ2UpOworICAgICAgICAgICAgYXdhaXQgd2FpdEZvcigoKSA9PiB7CisgICAgICAg
ICAgICAgICAgc2VsZWN0ZWRSYW5nZSA9IHAuc2VsZWN0ZWRUZXh0TWFya2VyUmFuZ2UoKTsKKyAg
ICAgICAgICAgICAgICByZXR1cm4gcC50ZXh0TWFya2VyUmFuZ2VMZW5ndGgoc2VsZWN0ZWRSYW5n
ZSkgPT0gMDsKKyAgICAgICAgICAgIH0pOworICAgICAgICAgICAgc2VsZWN0ZWRSYW5nZSA9IHAu
c2VsZWN0ZWRUZXh0TWFya2VyUmFuZ2UoKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJwLnRleHRN
YXJrZXJSYW5nZUxlbmd0aChzZWxlY3RlZFJhbmdlKSIsICIwIik7CisKICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOwogICAgICAgICB9LCAwKTsKICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHQtbWFya2VyL3RleHQtbWFya2VyLXByZXZpb3VzLW5leHQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90ZXh0LW1hcmtlci90ZXh0
LW1hcmtlci1wcmV2aW91cy1uZXh0LWV4cGVjdGVkLnR4dAppbmRleCA4OTQ1NTVlNDlhODI5MGRi
Yzc1OWIxZWRkMTU2ZDRmMTA1MTIyMGQ0Li45YzU5NThhNTIwNmZiZjNiMTMyNWIyYjUxMjk2MGRk
ZDUwOTNmOWRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHQtbWFy
a2VyL3RleHQtbWFya2VyLXByZXZpb3VzLW5leHQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvdGV4dC1tYXJrZXIvdGV4dC1tYXJrZXItcHJldmlvdXMtbmV4dC1l
eHBlY3RlZC50eHQKQEAgLTIwLDcgKzIwLDcgQEAgUEFTUyB0ZXh0LmFjY2Vzc2liaWxpdHlFbGVt
ZW50Rm9yVGV4dE1hcmtlcihlbmRNYXJrZXIpLmlzRXF1YWwodGV4dCkgaXMgdHJ1ZQogUEFTUyB0
ZXh0LnN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZShtYXJrZXJSYW5nZSkgaXMgbmV3bGluZQogUEFT
UyB0ZXh0LnN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZShtYXJrZXJSYW5nZSkgaXMgJ3QnCiBQQVNT
IHRleHQuc3RyaW5nRm9yVGV4dE1hcmtlclJhbmdlKG1hcmtlclJhbmdlKSBpcyBuZXdsaW5lCi1Q
QVNTIHRleHQuc3RyaW5nRm9yVGV4dE1hcmtlclJhbmdlKG1hcmtlclJhbmdlKSBpcyAndCcKK1BB
U1MgdGV4dC5zdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2UobWFya2VyUmFuZ2UpIGlzICd0JyArIG5l
d2xpbmUKIFBBU1MgdGV4dDIudGV4dE1hcmtlclJhbmdlTGVuZ3RoKHRleHRNYXJrZXJSYW5nZTIp
IGlzIDUKIE9iamVjdCBzdHJpbmcgZm9yIHJhbmdlOiBjIFtBVFRBQ0hNRU5UXSBkCiBQQVNTIHRl
eHQyLnN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZShtYXJrZXJSYW5nZSkgaXMgJ2QnCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHQtbWFya2VyL3RleHQtbWFya2VyLXBy
ZXZpb3VzLW5leHQuaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGV4dC1tYXJrZXIv
dGV4dC1tYXJrZXItcHJldmlvdXMtbmV4dC5odG1sCmluZGV4IGYyNzgwOGJhNzE0YzNjOTM4NzYy
YzE0YWZmMzE2ZGIzYzBhY2U3Y2QuLmUyMDNkZDFmMWZiZmNmNzBmNzJmZDAzYTI1MDQ0NGJjZjc1
OGQxMWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGV4dC1tYXJrZXIv
dGV4dC1tYXJrZXItcHJldmlvdXMtbmV4dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvdGV4dC1tYXJrZXIvdGV4dC1tYXJrZXItcHJldmlvdXMtbmV4dC5odG1sCkBAIC04MSw3
ICs4MSw3IEBAIGYKICAgICAgICAgcHJldmlvdXNNYXJrZXIgPSByZXN1bHQucHJldmlvdXM7CiAg
ICAgICAgIGN1cnJlbnRNYXJrZXIgPSByZXN1bHQuY3VycmVudDsKICAgICAgICAgbWFya2VyUmFu
Z2UgPSB0ZXh0LnRleHRNYXJrZXJSYW5nZUZvck1hcmtlcnMocHJldmlvdXNNYXJrZXIsIGN1cnJl
bnRNYXJrZXIpOwotICAgICAgICBzaG91bGRCZSgidGV4dC5zdHJpbmdGb3JUZXh0TWFya2VyUmFu
Z2UobWFya2VyUmFuZ2UpIiwgIid0JyIpOworICAgICAgICBzaG91bGRCZSgidGV4dC5zdHJpbmdG
b3JUZXh0TWFya2VyUmFuZ2UobWFya2VyUmFuZ2UpIiwgIid0JyArIG5ld2xpbmUiKTsKICAgICAg
ICAgCiAgICAgICAgIC8vIENoZWNrIHRoZSBjYXNlIHdpdGggcmVwbGFjZWQgbm9kZQogICAgICAg
ICB2YXIgdGV4dDIgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5
SWQoInRleHQyIik7CkBAIC0yMjIsNCArMjIyLDQgQEAgZgogCiA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+Ci08L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437951</attachid>
            <date>2021-09-11 06:50:23 -0700</date>
            <delta_ts>2021-09-12 11:46:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230166-20210911095022.patch</filename>
            <type>text/plain</type>
            <size>24407</size>
            <attacher name="Andres Gonzalez">andresg_22</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxOTIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmU4OTdhMmVmYTQyNWZj
N2UyZGU1OWE4MThmNWRkOGYxOWEwZmFhMS4uMDhlNzQ3N2ZkNTZjOWI4YThlNzcyYzlhMzI2MDhj
MzQzYzY2NDkzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIxLTA5LTEwICBBbmRy
ZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogc2V0IGlu
c2VydGlvbiBwb2ludCB0byB0aGUgZW5kIG9mIGEgbmF0aXZlIHRleHQgY29udHJvbCBkb2VzIG5v
dCB3b3JrIHdoZW4gcGFzc2luZyBhIGNvbGxhcHNlZCBUZXh0TWFya2VyUmFuZ2Ugd2l0aCBib3Ro
IHN0YXJ0IGFuZCBlbmQgZXF1YWxzIHRvIHRoZSBlbmQgVGV4dE1hcmtlciBmb3IgdGhlIGVsZW1l
bnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAx
NjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0
OiBhY2Nlc3NpYmlsaXR5L21hYy9uYXRpdmUtdGV4dC1jb250cm9sLXNldC1zZWxlY3RlZC10ZXh0
bWFya2VyLXJhbmdlLmh0bWwKKworICAgICAgICBBZGRlZCBhIHNwZWNpYWwgY2FzZSB0byBBWCBv
YmplY3QncyBzZXRTZWxlY3RlZFZpc2libGVQb3NpdGlvblJhbmdlIGZvcgorICAgICAgICB3aGVu
IHRoZSBwYXNzZWQgcmFuZ2UgaXMgYSBjb2xsYXBzZWQgcmFuZ2UgdG8gdGhlIGVuZCBvZiBhIG5h
dGl2ZSB0ZXh0CisgICAgICAgIGNvbnRyb2wgZWxlbWVudCdzIHJhbmdlLgorICAgICAgICBUbyBh
Y2NvbXBsaXNoIHRoaXMsIGl0IGlzIG5lY2Vzc2FyeSB0byBjb21wYXJlIGZvciBlcXVhbGl0eSB0
d28KKyAgICAgICAgVmlzaWJsZVBvc2l0aW9ucyBvYnRhaW5lZCBmcm9tIFRleHRNYXJrZXJzLgor
ICAgICAgICBJbiBvcmRlciB0byByZWNvbnN0cnVjdCB0aGUgVmlzaWJsZVBvc2l0aW9ucyBmcm9t
IHRoZSBUZXh0TWFya2VycyBpbiBhCisgICAgICAgIHdheSB0aGF0IGVxdWFsaXR5IGlzIHByZXNl
cnZlZCwgdGhlIEFuY2hvclR5cGUgb2YgdGhlIHVuZGVybHlpbmcKKyAgICAgICAgUG9zaXRpb24g
bmVlZHMgdG8gYmUgYWRkZWQgdG8gdGhlIFRleHRNYXJrZXJEYXRhLgorCisgICAgICAgICogYWNj
ZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcDoKKyAgICAgICAgQWRkZWQgdGhlIEFuY2hvclR5
cGUgdG8gdGhlIFRleHRNYXJrZXJEYXRhIHN0cnVjdC4KKyAgICAgICAgKFdlYkNvcmU6OkFYT2Jq
ZWN0Q2FjaGU6OnZpc2libGVQb3NpdGlvbkZvclRleHRNYXJrZXJEYXRhKToKKyAgICAgICAgKFdl
YkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnRleHRNYXJrZXJEYXRhRm9yVmlzaWJsZVBvc2l0aW9uKToK
KyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6c2V0U2VsZWN0ZWRWaXNpYmxlUG9zaXRpb25S
YW5nZSBjb25zdCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1h
Yy5tbToKKyAgICAgICAgRXhwb3NlZCB0ZXh0TWFya2VyUmFuZ2VGcm9tTWFya2Vycy4KKyAgICAg
ICAgKFdlYkNvcmU6OnRleHRNYXJrZXJSYW5nZUZyb21NYXJrZXJzKToKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5oOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1t
OgorICAgICAgICBBZGRlZCB0aGUgQVhUZXh0TWFya2VyUmFuZ2VGb3JUZXh0TWFya2VycyBhdHRy
aWJ1dGUgd2hpY2gsIHVubGlrZQorICAgICAgICBBWFRleHRNYXJrZXJSYW5nZUZvclVub3JkZXJl
ZFRleHRNYXJrZXJzLCBhc3N1bWVzIHRoYXQgdGhlIHJhbmdlJ3Mgc3RhcnQKKyAgICAgICAgYW5k
IGVuZCBhcmUgb3JkZXJlZCwgYW5kIHRodXMgaXMgbW9yZSBlZmZpY2llbnQuCisgICAgICAgICgt
W1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIEFMTE9XX0RFUFJFQ0FURURfSU1QTEVNRU5U
QVRJT05TX0VORF0pOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBh
Y2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6Zm9yUGFyYW1ldGVyOl0pOgorCiAyMDIxLTA5LTAy
ICBBbmRyZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KIAogICAgICAgICBCcmFp
bGxlIGRpc3BsYXkgaXMgYmxhbmsgaW4gY29udGVudGVkaXRhYmxlIGVsZW1lbnRzIHdoZW4gdGhl
IGZpZWxkIGlzIGZvbGxvd2VkIGJ5IGFub3RoZXIgZWxlbWVudC4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4IGYyNDUxMTAyMDQwMDIzNmFj
MDI3NmE4NTllNmJmZDdhZjA5OGUwYmEuLjJiNTBlYjg4NmYzMDFmZGFiZTlkYmRjYzkzY2U1NWMz
ZWRjNjU3OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENh
Y2hlLmNwcApAQCAtMTkxMSw3ICsxOTExLDcgQEAgVmlzaWJsZVBvc2l0aW9uIEFYT2JqZWN0Q2Fj
aGU6OnZpc2libGVQb3NpdGlvbkZvclRleHRNYXJrZXJEYXRhKFRleHRNYXJrZXJEYXRhJgogICAg
ICAgICB8fCB0ZXh0TWFya2VyRGF0YS5ub2RlLT5pc1BzZXVkb0VsZW1lbnQoKSkKICAgICAgICAg
cmV0dXJuIHsgfTsKIAotICAgIGF1dG8gdmlzaWJsZVBvc2l0aW9uID0gVmlzaWJsZVBvc2l0aW9u
KG1ha2VDb250YWluZXJPZmZzZXRQb3NpdGlvbih0ZXh0TWFya2VyRGF0YS5ub2RlLCB0ZXh0TWFy
a2VyRGF0YS5vZmZzZXQpLCB0ZXh0TWFya2VyRGF0YS5hZmZpbml0eSk7CisgICAgYXV0byB2aXNp
YmxlUG9zaXRpb24gPSBWaXNpYmxlUG9zaXRpb24oeyB0ZXh0TWFya2VyRGF0YS5ub2RlLCB0ZXh0
TWFya2VyRGF0YS5vZmZzZXQsIHRleHRNYXJrZXJEYXRhLmFuY2hvclR5cGUgfSwgdGV4dE1hcmtl
ckRhdGEuYWZmaW5pdHkpOwogICAgIGF1dG8gZGVlcFBvc2l0aW9uID0gdmlzaWJsZVBvc2l0aW9u
LmRlZXBFcXVpdmFsZW50KCk7CiAgICAgaWYgKGRlZXBQb3NpdGlvbi5pc051bGwoKSkKICAgICAg
ICAgcmV0dXJuIHsgfTsKQEAgLTI0OTUsNyArMjQ5NSw3IEBAIHN0ZDo6b3B0aW9uYWw8VGV4dE1h
cmtlckRhdGE+IEFYT2JqZWN0Q2FjaGU6OnRleHRNYXJrZXJEYXRhRm9yVmlzaWJsZVBvc2l0aW9u
KGNvCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKICAgICBQb3NpdGlvbiBkZWVwUG9z
ID0gdmlzaWJsZVBvcy5kZWVwRXF1aXZhbGVudCgpOwotICAgIE5vZGUqIGRvbU5vZGUgPSBkZWVw
UG9zLmRlcHJlY2F0ZWROb2RlKCk7CisgICAgTm9kZSogZG9tTm9kZSA9IGRlZXBQb3MuYW5jaG9y
Tm9kZSgpOwogICAgIEFTU0VSVChkb21Ob2RlKTsKICAgICBpZiAoIWRvbU5vZGUpCiAgICAgICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7CkBAIC0yNTI2LDYgKzI1MjYsNyBAQCBzdGQ6Om9wdGlvbmFs
PFRleHRNYXJrZXJEYXRhPiBBWE9iamVjdENhY2hlOjp0ZXh0TWFya2VyRGF0YUZvclZpc2libGVQ
b3NpdGlvbihjbwogICAgIHRleHRNYXJrZXJEYXRhLmF4SUQgPSBvYmouZ2V0KCktPm9iamVjdElE
KCk7CiAgICAgdGV4dE1hcmtlckRhdGEubm9kZSA9IGRvbU5vZGU7CiAgICAgdGV4dE1hcmtlckRh
dGEub2Zmc2V0ID0gZGVlcFBvcy5kZXByZWNhdGVkRWRpdGluZ09mZnNldCgpOworICAgIHRleHRN
YXJrZXJEYXRhLmFuY2hvclR5cGUgPSBkZWVwUG9zLmFuY2hvclR5cGUoKTsKICAgICB0ZXh0TWFy
a2VyRGF0YS5hZmZpbml0eSA9IHZpc2libGVQb3MuYWZmaW5pdHkoKTsKIAogICAgIHRleHRNYXJr
ZXJEYXRhLmNoYXJhY3Rlck9mZnNldCA9IGNoYXJhY3Rlck9mZnNldC5vZmZzZXQ7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCmluZGV4IDFkY2E0Y2E1ZjZm
NDAwNjdhNmZhZDRhMTFkYjdmOTg0NGM3YWE2ZGIuLjE5OTUzYzNhNDkwYjhkZTU3OTllNzRhZTBh
OGY1ODk0MGE1NGFiZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QVhPYmplY3RDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5oCkBAIC02MCwxMiArNjAsMTUgQEAgY2xhc3MgV2lkZ2V0OwogCiBzdHJ1Y3QgVGV4
dE1hcmtlckRhdGEgewogICAgIEFYSUQgYXhJRCB7IDAgfTsKKwogICAgIE5vZGUqIG5vZGUgeyBu
dWxscHRyIH07Ci0gICAgaW50IG9mZnNldCB7IDAgfTsKKyAgICB1bnNpZ25lZCBvZmZzZXQgeyAw
IH07CisgICAgUG9zaXRpb246OkFuY2hvclR5cGUgYW5jaG9yVHlwZSB7IFBvc2l0aW9uOjpQb3Np
dGlvbklzT2Zmc2V0SW5BbmNob3IgfTsKKyAgICBBZmZpbml0eSBhZmZpbml0eSB7IEFmZmluaXR5
OjpEb3duc3RyZWFtIH07CisKICAgICBpbnQgY2hhcmFjdGVyU3RhcnRJbmRleCB7IDAgfTsKICAg
ICBpbnQgY2hhcmFjdGVyT2Zmc2V0IHsgMCB9OwogICAgIGJvb2wgaWdub3JlZCB7IGZhbHNlIH07
Ci0gICAgQWZmaW5pdHkgYWZmaW5pdHkgeyBBZmZpbml0eTo6RG93bnN0cmVhbSB9OwogfTsKIAog
c3RydWN0IENoYXJhY3Rlck9mZnNldCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAppbmRleCA4M2IwOTZm
MzcwNWE3NzljZjcyZjFmNDhhMGZiMzg5NGJkNTQyNDU1Li44OTc1NWZlNDEzZWI3NzM2ZjYxNThh
YzZhYjZlMGIyYTM4OGFlMWMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKQEAgLTIzMDgsMTAgKzIz
MDgsMTYgQEAgdm9pZCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpzZXRTZWxlY3RlZFZpc2li
bGVQb3NpdGlvblJhbmdlKGNvbnN0IFZpc2libGVQb3MKICAgICAgICAgaWYgKHJhbmdlLnN0YXJ0
LmRlZXBFcXVpdmFsZW50KCkuYW5jaG9yTm9kZSgpID09IHJhbmdlLmVuZC5kZWVwRXF1aXZhbGVu
dCgpLmFuY2hvck5vZGUoKQogICAgICAgICAgICAgJiYgcmFuZ2Uuc3RhcnQuZGVlcEVxdWl2YWxl
bnQoKS5hbmNob3JOb2RlKCkgPT0gdGV4dENvbnRyb2wpIHsKICAgICAgICAgICAgIGlmIChhdXRv
IGlubmVyVGV4dCA9IHRleHRDb250cm9sLT5pbm5lclRleHRFbGVtZW50KCkpIHsKKyAgICAgICAg
ICAgICAgICBhdXRvIHRleHRDb250cm9sUmFuZ2UgPSBtYWtlVmlzaWJsZVBvc2l0aW9uUmFuZ2Uo
QVhPYmplY3RDYWNoZTo6cmFuZ2VGb3JOb2RlQ29udGVudHMoKnRleHRDb250cm9sKSk7CiAgICAg
ICAgICAgICAgICAgYXV0byBpbm5lclJhbmdlID0gbWFrZVZpc2libGVQb3NpdGlvblJhbmdlKEFY
T2JqZWN0Q2FjaGU6OnJhbmdlRm9yTm9kZUNvbnRlbnRzKCppbm5lclRleHQpKTsKLSAgICAgICAg
ICAgICAgICBpZiAocmFuZ2Uuc3RhcnQgPCBpbm5lclJhbmdlLnN0YXJ0KQorCisgICAgICAgICAg
ICAgICAgaWYgKHJhbmdlLnN0YXJ0LmVxdWFscyh0ZXh0Q29udHJvbFJhbmdlLmVuZCkpCisgICAg
ICAgICAgICAgICAgICAgIHN0YXJ0ID0gdGV4dENvbnRyb2wtPnZhbHVlKCkubGVuZ3RoKCk7Cisg
ICAgICAgICAgICAgICAgZWxzZSBpZiAocmFuZ2Uuc3RhcnQgPD0gaW5uZXJSYW5nZS5zdGFydCkK
ICAgICAgICAgICAgICAgICAgICAgc3RhcnQgPSAwOwotICAgICAgICAgICAgICAgIGlmIChyYW5n
ZS5lbmQgPj0gaW5uZXJSYW5nZS5lbmQpCisKKyAgICAgICAgICAgICAgICBpZiAocmFuZ2UuZW5k
ID49IGlubmVyUmFuZ2UuZW5kCisgICAgICAgICAgICAgICAgICAgIHx8IHJhbmdlLmVuZC5lcXVh
bHModGV4dENvbnRyb2xSYW5nZS5lbmQpKQogICAgICAgICAgICAgICAgICAgICBlbmQgPSB0ZXh0
Q29udHJvbC0+dmFsdWUoKS5sZW5ndGgoKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1h
Yy5tbSBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FYT2JqZWN0Q2FjaGVNYWMu
bW0KaW5kZXggMjBlODVjZWU1ZGFkNGNiZmI1YmM3Y2JhMjdiNGVlNmYyODhiNjhmMi4uZTVhNzg2
N2VlNmI2ODllYzk2NDJmNjU2OGY2ODZiNzViYjk0MTVhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENhY2hlTWFjLm1tCkBAIC02MTIsNyAr
NjEyLDcgQEAgc3RhdGljIFJldGFpblB0cjxBWFRleHRNYXJrZXJSYW5nZVJlZj4gQVhUZXh0TWFy
a2VyUmFuZ2UoQVhUZXh0TWFya2VyUmVmIHN0YXJ0TWEKICAgICByZXR1cm4gYWRvcHRDRihBWFRl
eHRNYXJrZXJSYW5nZUNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBzdGFydE1hcmtlciwgZW5k
TWFya2VyKSk7CiB9CiAKLXN0YXRpYyBSZXRhaW5QdHI8QVhUZXh0TWFya2VyUmFuZ2VSZWY+IHRl
eHRNYXJrZXJSYW5nZUZyb21NYXJrZXJzKEFYVGV4dE1hcmtlclJlZiB0ZXh0TWFya2VyMSwgQVhU
ZXh0TWFya2VyUmVmIHRleHRNYXJrZXIyKQorUmV0YWluUHRyPEFYVGV4dE1hcmtlclJhbmdlUmVm
PiB0ZXh0TWFya2VyUmFuZ2VGcm9tTWFya2VycyhBWFRleHRNYXJrZXJSZWYgdGV4dE1hcmtlcjEs
IEFYVGV4dE1hcmtlclJlZiB0ZXh0TWFya2VyMikKIHsKICAgICBpZiAoIXRleHRNYXJrZXIxIHx8
ICF0ZXh0TWFya2VyMikKICAgICAgICAgcmV0dXJuIG5pbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFj
LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2Jq
ZWN0V3JhcHBlck1hYy5oCmluZGV4IDc0MmIzZDAzYTQ4ZjJiOGViNzJhMDlhODUzZjdhMjE5ZmFi
ZTJhMDQuLjA4ZjliZDc1MTYzNDM3YzVjMjk1MTg4NjBhZmJiYzEyNTE4MDMyNTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2Vi
QWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMuaApAQCAtNjUsNiArNjUsNyBAQCBzdHJ1Y3Qg
Q2hhcmFjdGVyT2Zmc2V0OwogLy8gVGV4dE1hcmtlciBhbmQgVGV4dE1hcmtlclJhbmdlIHB1Ymxp
YyBmdW5jc3Rpb25zLgogLy8gRklYTUU6IFRleHRNYXJrZXIgYW5kIFRleHRNYXJrZXJSYW5nZSBz
aG91bGQgYmVjb21lIGNsYXNzZXMgb24gdGhlaXIgb3duIHJpZ2h0LCB3cmFwcGluZyB0aGUgc3lz
dGVtIG9iamVjdHMuCiAKK1JldGFpblB0cjxBWFRleHRNYXJrZXJSYW5nZVJlZj4gdGV4dE1hcmtl
clJhbmdlRnJvbU1hcmtlcnMoQVhUZXh0TWFya2VyUmVmLCBBWFRleHRNYXJrZXJSZWYpOwogQWNj
ZXNzaWJpbGl0eU9iamVjdCogYWNjZXNzaWJpbGl0eU9iamVjdEZvclRleHRNYXJrZXIoQVhPYmpl
Y3RDYWNoZSosIEFYVGV4dE1hcmtlclJlZik7CiAKIC8vIFRleHRNYXJrZXIgPC0+IFZpc2libGVQ
b3NpdGlvbiBjb252ZXJzaW9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5t
bQppbmRleCBhMmNhMTRkNTk0NTVjN2RhZjYwZDQ2NzJhOTJmMjg5OGNiNDUxN2U3Li45ZmNmNjhk
ODUzZjkzZTJmMGU0ZmRiY2QwZDg5ODNhNzUzMjc2ZWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5
T2JqZWN0V3JhcHBlck1hYy5tbQpAQCAtMzA0Myw2ICszMDQzLDcgQEAgQUxMT1dfREVQUkVDQVRF
RF9JTVBMRU1FTlRBVElPTlNfRU5ECiAgICAgICAgICAgICBAIkFYQm91bmRzRm9yVGV4dE1hcmtl
clJhbmdlIiwKICAgICAgICAgICAgIEAiQVhBdHRyaWJ1dGVkU3RyaW5nRm9yVGV4dE1hcmtlclJh
bmdlIiwKICAgICAgICAgICAgIEAiQVhBdHRyaWJ1dGVkU3RyaW5nRm9yVGV4dE1hcmtlclJhbmdl
V2l0aE9wdGlvbnMiLAorICAgICAgICAgICAgQCJBWFRleHRNYXJrZXJSYW5nZUZvclRleHRNYXJr
ZXJzIiwKICAgICAgICAgICAgIEAiQVhUZXh0TWFya2VyUmFuZ2VGb3JVbm9yZGVyZWRUZXh0TWFy
a2VycyIsCiAgICAgICAgICAgICBAIkFYTmV4dFRleHRNYXJrZXJGb3JUZXh0TWFya2VyIiwKICAg
ICAgICAgICAgIEAiQVhQcmV2aW91c1RleHRNYXJrZXJGb3JUZXh0TWFya2VyIiwKQEAgLTQwNDIs
MTEgKzQwNDMsMjAgQEAgQUxMT1dfREVQUkVDQVRFRF9JTVBMRU1FTlRBVElPTlNfRU5ECiAgICAg
ICAgIHJldHVybiBuaWw7CiAgICAgfQogCi0gICAgaWYgKFthdHRyaWJ1dGUgaXNFcXVhbFRvU3Ry
aW5nOkAiQVhUZXh0TWFya2VyUmFuZ2VGb3JVbm9yZGVyZWRUZXh0TWFya2VycyJdKSB7Ci0gICAg
ICAgIGlmIChbYXJyYXkgY291bnRdIDwgMikKKyAgICBpZiAoW2F0dHJpYnV0ZSBpc0VxdWFsVG9T
dHJpbmc6QCJBWFRleHRNYXJrZXJSYW5nZUZvclRleHRNYXJrZXJzIl0pIHsKKyAgICAgICAgaWYg
KGFycmF5LmNvdW50IDwgMgorICAgICAgICAgICAgfHwgIUFYT2JqZWN0SXNUZXh0TWFya2VyKFth
cnJheSBvYmplY3RBdEluZGV4OjBdKQorICAgICAgICAgICAgfHwgIUFYT2JqZWN0SXNUZXh0TWFy
a2VyKFthcnJheSBvYmplY3RBdEluZGV4OjFdKSkKICAgICAgICAgICAgIHJldHVybiBuaWw7Cisg
ICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5OjpyZXRyaWV2ZUF1dG9yZWxlYXNlZFZhbHVlRnJv
bU1haW5UaHJlYWQ8aWQ+KFsmYXJyYXldICgpIC0+IFJldGFpblB0cjxpZD4geworICAgICAgICAg
ICAgcmV0dXJuIChpZCl0ZXh0TWFya2VyUmFuZ2VGcm9tTWFya2VycygoQVhUZXh0TWFya2VyUmVm
KVthcnJheSBvYmplY3RBdEluZGV4OjBdLCAoQVhUZXh0TWFya2VyUmVmKVthcnJheSBvYmplY3RB
dEluZGV4OjFdKS5nZXQoKTsKKyAgICAgICAgfSk7CisgICAgfQogCi0gICAgICAgIGlmICghQVhP
YmplY3RJc1RleHRNYXJrZXIoW2FycmF5IG9iamVjdEF0SW5kZXg6MF0pIHx8ICFBWE9iamVjdElz
VGV4dE1hcmtlcihbYXJyYXkgb2JqZWN0QXRJbmRleDowXSkpCisgICAgaWYgKFthdHRyaWJ1dGUg
aXNFcXVhbFRvU3RyaW5nOkAiQVhUZXh0TWFya2VyUmFuZ2VGb3JVbm9yZGVyZWRUZXh0TWFya2Vy
cyJdKSB7CisgICAgICAgIGlmIChhcnJheS5jb3VudCA8IDIKKyAgICAgICAgICAgIHx8ICFBWE9i
amVjdElzVGV4dE1hcmtlcihbYXJyYXkgb2JqZWN0QXRJbmRleDowXSkKKyAgICAgICAgICAgIHx8
ICFBWE9iamVjdElzVGV4dE1hcmtlcihbYXJyYXkgb2JqZWN0QXRJbmRleDoxXSkpCiAgICAgICAg
ICAgICByZXR1cm4gbmlsOwogCiAgICAgICAgIEFYVGV4dE1hcmtlclJlZiB0ZXh0TWFya2VyMSA9
IChBWFRleHRNYXJrZXJSZWYpW2FycmF5IG9iamVjdEF0SW5kZXg6MF07CmRpZmYgLS1naXQgYS9U
b29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZDZhYzVkMWFiZWFjODA0YTk0
NDM0MDEyN2M1NmMyYWNlYmM1N2Y5ZC4uYzYyYzJlYjg1MjljOGRjZmM4OWRkNmJiNjQ3ZGJjODRi
MWJlNzk3NCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTA5LTEwICBBbmRyZXMgR29uemFsZXogIDxhbmRyZXNn
XzIyQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogc2V0IGluc2VydGlvbiBwb2ludCB0byB0aGUg
ZW5kIG9mIGEgbmF0aXZlIHRleHQgY29udHJvbCBkb2VzIG5vdCB3b3JrIHdoZW4gcGFzc2luZyBh
IGNvbGxhcHNlZCBUZXh0TWFya2VyUmFuZ2Ugd2l0aCBib3RoIHN0YXJ0IGFuZCBlbmQgZXF1YWxz
IHRvIHRoZSBlbmQgVGV4dE1hcmtlciBmb3IgdGhlIGVsZW1lbnQuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAxNjYKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW06CisgICAgICAgIChXVFI6
OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRleHRNYXJrZXJSYW5nZUZvck1hcmtlcnMpOgorICAg
ICAgICBVc2UgQVhUZXh0TWFya2VyUmFuZ2VGb3JUZXh0TWFya2VycyBpbnN0ZWFkIG9mCisgICAg
ICAgIEFYVGV4dE1hcmtlclJhbmdlRm9yVW5vcmRlcmVkVGV4dE1hcmtlcnMuCisKIDIwMjEtMDkt
MDIgIENhcmxvcyBBbGJlcnRvIExvcGV6IFBlcmV6ICA8Y2xvcGV6QGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW0dUS11bV1BFXSBQb3J0IEFQSSB0ZXN0IHJ1bm5lciB0byBweXRob24zCmRpZmYgLS1n
aXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5t
bSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1t
CmluZGV4IGE5MDNmMjViMGFjZTEyYWM5YmMzNWZiZDUwZjRjMzExNDJkOTc0ODEuLjkwMGViNTIy
OTMyOTEyN2ZmZTAwYzJmM2Q1MzFkZjQ2ODM5ODhmZDggMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tCisrKyBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tCkBAIC0xODUwLDEx
ICsxODUwLDE2IEBAIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjphdHRyaWJ1dGVkU3RyaW5nRm9yVGV4dE1hcmtlclJhCiBBY2Nlc3NpYmlsaXR5VGV4dE1h
cmtlclJhbmdlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRleHRNYXJrZXJSYW5nZUZvck1hcmtl
cnMoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIqIHN0YXJ0TWFya2VyLCBBY2Nlc3NpYmlsaXR5VGV4
dE1hcmtlciogZW5kTWFya2VyKQogewogICAgIEJFR0lOX0FYX09CSkNfRVhDRVBUSU9OUwotICAg
IE5TQXJyYXkqIHRleHRNYXJrZXJzID0gQFtzdGFydE1hcmtlci0+cGxhdGZvcm1UZXh0TWFya2Vy
KCksIGVuZE1hcmtlci0+cGxhdGZvcm1UZXh0TWFya2VyKCldOwotICAgIGlkIHRleHRNYXJrZXJS
YW5nZSA9IFttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOkAiQVhUZXh0TWFy
a2VyUmFuZ2VGb3JVbm9yZGVyZWRUZXh0TWFya2VycyIgZm9yUGFyYW1ldGVyOnRleHRNYXJrZXJz
XTsKKyAgICBpZCBzdGFydFBsYXRmb3JtTWFya2VyID0gc3RhcnRNYXJrZXItPnBsYXRmb3JtVGV4
dE1hcmtlcigpOworICAgIGlkIGVuZFBsYXRmb3JtTWFya2VyID0gZW5kTWFya2VyLT5wbGF0Zm9y
bVRleHRNYXJrZXIoKTsKKyAgICBpZiAoIXN0YXJ0UGxhdGZvcm1NYXJrZXIgfHwgIWVuZFBsYXRm
b3JtTWFya2VyKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIE5TQXJyYXkgKnRleHRN
YXJrZXJzID0gQFtzdGFydFBsYXRmb3JtTWFya2VyLCBlbmRQbGF0Zm9ybU1hcmtlcl07CisgICAg
aWQgdGV4dE1hcmtlclJhbmdlID0gW21fZWxlbWVudCBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFs
dWU6QCJBWFRleHRNYXJrZXJSYW5nZUZvclRleHRNYXJrZXJzIiBmb3JQYXJhbWV0ZXI6dGV4dE1h
cmtlcnNdOwogICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlKHRleHRNYXJr
ZXJSYW5nZSk7CiAgICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUwotICAgIAorCiAgICAgcmV0dXJu
IG51bGxwdHI7CiB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0gYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1t
CmluZGV4IGM5Mjg1ZWRkNGNhMzFiZDJiN2RjNTg3OTQ0ODQxYmQ4MDRlZWExOTYuLjM1MjQ2YmI1
NjkxYzBhNjU3MDQwMGZjMGY5ZGFlMWYyMTdiZWE2OTAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMu
bW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNz
aWJpbGl0eVVJRWxlbWVudE1hYy5tbQpAQCAtMTg3NSwxMSArMTg3NSwxMSBAQCBSZWZQdHI8QWNj
ZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZT4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGV4dE1h
cmtlclJhbmdlRm9yTQogICAgIGlmICghc3RhcnRQbGF0Zm9ybU1hcmtlciB8fCAhZW5kUGxhdGZv
cm1NYXJrZXIpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgTlNBcnJheSogdGV4dE1h
cmtlcnMgPSBAW3N0YXJ0UGxhdGZvcm1NYXJrZXIsIGVuZFBsYXRmb3JtTWFya2VyXTsKLSAgICBp
ZCB0ZXh0TWFya2VyUmFuZ2UgPSBbbV9lbGVtZW50IGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1
ZTpAIkFYVGV4dE1hcmtlclJhbmdlRm9yVW5vcmRlcmVkVGV4dE1hcmtlcnMiIGZvclBhcmFtZXRl
cjp0ZXh0TWFya2Vyc107CisgICAgTlNBcnJheSAqdGV4dE1hcmtlcnMgPSBAW3N0YXJ0UGxhdGZv
cm1NYXJrZXIsIGVuZFBsYXRmb3JtTWFya2VyXTsKKyAgICBpZCB0ZXh0TWFya2VyUmFuZ2UgPSBb
bV9lbGVtZW50IGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpAIkFYVGV4dE1hcmtlclJhbmdl
Rm9yVGV4dE1hcmtlcnMiIGZvclBhcmFtZXRlcjp0ZXh0TWFya2Vyc107CiAgICAgcmV0dXJuIEFj
Y2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2U6OmNyZWF0ZSh0ZXh0TWFya2VyUmFuZ2UpOwogICAg
IEVORF9BWF9PQkpDX0VYQ0VQVElPTlMKLSAgICAKKwogICAgIHJldHVybiBudWxscHRyOwogfQog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggMDhjOTQxZjQyMTIwZDZiMTM4Y2IxNTkwZGU5MGU4YWQ3OTE0MGVjZS4uZmJlMjZl
ZTc5MGExZWQ0NTBkNzYwM2YwZmYxZTkxZTgyOTQ0NWIxYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBA
CisyMDIxLTA5LTEwICBBbmRyZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KKwor
ICAgICAgICBBWDogc2V0IGluc2VydGlvbiBwb2ludCB0byB0aGUgZW5kIG9mIGEgbmF0aXZlIHRl
eHQgY29udHJvbCBkb2VzIG5vdCB3b3JrIHdoZW4gcGFzc2luZyBhIGNvbGxhcHNlZCBUZXh0TWFy
a2VyUmFuZ2Ugd2l0aCBib3RoIHN0YXJ0IGFuZCBlbmQgZXF1YWxzIHRvIHRoZSBlbmQgVGV4dE1h
cmtlciBmb3IgdGhlIGVsZW1lbnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzAxNjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL2JvdW5kcy1mb3ItcmFuZ2UtZXhwZWN0
ZWQudHh0OgorICAgICAgICBBZGRlZCBBWFRleHRNYXJrZXJSYW5nZUZvclRleHRNYXJrZXJzIGF0
dHJpYnV0ZSBuYW1lLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL25hdGl2ZS10ZXh0LWNv
bnRyb2wtc2V0LXNlbGVjdGVkLXRleHRtYXJrZXItcmFuZ2UtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvbWFjL25hdGl2ZS10ZXh0LWNvbnRyb2wtc2V0LXNlbGVjdGVkLXRl
eHRtYXJrZXItcmFuZ2UuaHRtbDoKKyAgICAgICAgRXhwYW5kZWQgdG8gaW5jbHVkZSB0aGUgdGVz
dCBjYXNlcyB0byBtb3ZlIHRoZSBpbnNlcnRpb24gcG9pbnQgdG8gdGhlCisgICAgICAgIGJlZ2lu
bmluZyBhbmQgZW5kIG9mIHRoZSB0ZXh0IGNvdG5yb2wuCisgICAgICAgICogYWNjZXNzaWJpbGl0
eS90ZXh0LW1hcmtlci90ZXh0LW1hcmtlci1wcmV2aW91cy1uZXh0LWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L3RleHQtbWFya2VyL3RleHQtbWFya2VyLXByZXZpb3VzLW5l
eHQuaHRtbDoKKyAgICAgICAgQWRqdXN0ZWQgZXhwZWN0ZWQgdmFsdWUgdG8gaW5jbHVkZSBsaW5l
YnJlYWsgY2hhcmFjdGVyLgorCiAyMDIxLTA5LTAyICBBbmRyZXMgR29uemFsZXogIDxhbmRyZXNn
XzIyQGFwcGxlLmNvbT4KIAogICAgICAgICBCcmFpbGxlIGRpc3BsYXkgaXMgYmxhbmsgaW4gY29u
dGVudGVkaXRhYmxlIGVsZW1lbnRzIHdoZW4gdGhlIGZpZWxkIGlzIGZvbGxvd2VkIGJ5IGFub3Ro
ZXIgZWxlbWVudC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL2Jv
dW5kcy1mb3ItcmFuZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9t
YWMvYm91bmRzLWZvci1yYW5nZS1leHBlY3RlZC50eHQKaW5kZXggMzkyOGZkZGRhYzA1ZTdiNWEy
MDIxNGUxYjU4MTI4ZjhjZmRmYTUwNS4uNTNlZTI1YTg4OWQ2ZDBiYmMzNmRjNGNjMDA3YzQzYzZi
OTFlZDBmNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvYm91bmRz
LWZvci1yYW5nZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9t
YWMvYm91bmRzLWZvci1yYW5nZS1leHBlY3RlZC50eHQKQEAgLTM5LDYgKzM5LDcgQEAgQVhUZXh0
TWFya2VyRm9yUG9zaXRpb24KIEFYQm91bmRzRm9yVGV4dE1hcmtlclJhbmdlCiBBWEF0dHJpYnV0
ZWRTdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2UKIEFYQXR0cmlidXRlZFN0cmluZ0ZvclRleHRNYXJr
ZXJSYW5nZVdpdGhPcHRpb25zCitBWFRleHRNYXJrZXJSYW5nZUZvclRleHRNYXJrZXJzCiBBWFRl
eHRNYXJrZXJSYW5nZUZvclVub3JkZXJlZFRleHRNYXJrZXJzCiBBWE5leHRUZXh0TWFya2VyRm9y
VGV4dE1hcmtlcgogQVhQcmV2aW91c1RleHRNYXJrZXJGb3JUZXh0TWFya2VyCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9uYXRpdmUtdGV4dC1jb250cm9sLXNldC1z
ZWxlY3RlZC10ZXh0bWFya2VyLXJhbmdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2FjY2Vz
c2liaWxpdHkvbWFjL25hdGl2ZS10ZXh0LWNvbnRyb2wtc2V0LXNlbGVjdGVkLXRleHRtYXJrZXIt
cmFuZ2UtZXhwZWN0ZWQudHh0CmluZGV4IDJhMzVlYTk4YzI0YjdjY2VkYTBiY2QxZDM5ZjgwMzQz
YzMzZGExYmUuLmQ0YzdjNzE5ODg4MjE2MDNiZmRjYzZiYWZiMGYzMWI0YzlhZWM2ZGMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL25hdGl2ZS10ZXh0LWNvbnRyb2wt
c2V0LXNlbGVjdGVkLXRleHRtYXJrZXItcmFuZ2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvbWFjL25hdGl2ZS10ZXh0LWNvbnRyb2wtc2V0LXNlbGVjdGVkLXRl
eHRtYXJrZXItcmFuZ2UtZXhwZWN0ZWQudHh0CkBAIC00LDEyICs0LDE3IEBAIE9uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFCiAKIAogc2VsZWN0ZWQgdGV4dCAiVGhpcyBpcyBhIHRleHRhcmVhLiIKK3Nl
bGVjdGVkIHRleHQgIlQiCiBzZWxlY3RlZCB0ZXh0ICJUaGlzIGlzIGEgIgogc2VsZWN0ZWQgdGV4
dCAiIGlzIGEgIgorUEFTUyBwLnRleHRNYXJrZXJSYW5nZUxlbmd0aChzZWxlY3RlZFJhbmdlKSBp
cyAwCiBzZWxlY3RlZCB0ZXh0ICJUaGlzIGlzIGEgdGV4dCBmaWVsZC4iCitzZWxlY3RlZCB0ZXh0
ICJUIgogc2VsZWN0ZWQgdGV4dCAiVGhpcyBpcyBhICIKIHNlbGVjdGVkIHRleHQgIiBpcyBhIHRl
eHQiCitQQVNTIHAudGV4dE1hcmtlclJhbmdlTGVuZ3RoKHNlbGVjdGVkUmFuZ2UpIGlzIDAKIFBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQogCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL25hdGl2ZS10ZXh0LWNvbnRyb2wt
c2V0LXNlbGVjdGVkLXRleHRtYXJrZXItcmFuZ2UuaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvbWFjL25hdGl2ZS10ZXh0LWNvbnRyb2wtc2V0LXNlbGVjdGVkLXRleHRtYXJrZXItcmFu
Z2UuaHRtbAppbmRleCBlNzk1NWU4NDI1MTNiYzM3ZDJlNjBlMDIxZGEzMzQxMzlhNTIyZTU1Li5h
ZTMzMTI1MzZmYjFlMDMwZTFiNWQxNTk4MWZhNTA0NTk2YjllMjgyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9uYXRpdmUtdGV4dC1jb250cm9sLXNldC1zZWxlY3Rl
ZC10ZXh0bWFya2VyLXJhbmdlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9t
YWMvbmF0aXZlLXRleHQtY29udHJvbC1zZXQtc2VsZWN0ZWQtdGV4dG1hcmtlci1yYW5nZS5odG1s
CkBAIC03LDcgKzcsNyBAQAogPGJvZHk+CiAKIDx0ZXh0YXJlYSBpZD0idGV4dGFyZWEiPlRoaXMg
aXMgYSB0ZXh0YXJlYS48L3RleHRhcmVhPgotCis8YnIvPgogPGlucHV0IHR5cGU9InRleHQiIGlk
PSJ0ZXh0ZmllbGQiIHZhbHVlPSJUaGlzIGlzIGEgdGV4dCBmaWVsZC4iIC8+CiAKIDxzY3JpcHQ+
CkBAIC0xNiwyNCArMTYsMzcgQEAKICAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9s
bGVyKSB7CiAgICAgICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAotICAgICAgICBs
ZXQgZWxlbWVudElEID0gInRleHRhcmVhIjsKLQotICAgICAgICBsZXQgcCA9IGFjY2Vzc2liaWxp
dHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZChlbGVtZW50SUQpOwotICAgICAgICBs
ZXQgcmFuZ2UgPSBwLnRleHRNYXJrZXJSYW5nZUZvckVsZW1lbnQocCk7CisgICAgICAgIC8vIHRl
eHRhcmVhLgorICAgICAgICB2YXIgZWxlbWVudElEID0gInRleHRhcmVhIjsKKyAgICAgICAgdmFy
IHAgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoZWxlbWVu
dElEKTsKKyAgICAgICAgdmFyIHJhbmdlID0gcC50ZXh0TWFya2VyUmFuZ2VGb3JFbGVtZW50KHAp
OwogCiAgICAgICAgIHNldFRpbWVvdXQoYXN5bmMgKCkgPT4gewogICAgICAgICAgICAgLy8gU2Vs
ZWN0IGFsbCB0ZXh0LgogICAgICAgICAgICAgcC5zZXRTZWxlY3RlZFRleHRNYXJrZXJSYW5nZShy
YW5nZSk7Ci0gICAgICAgICAgICBsZXQgc2VsZWN0ZWRSYW5nZSA9IG51bGw7CisgICAgICAgICAg
ICB3aW5kb3cuc2VsZWN0ZWRSYW5nZSA9IG51bGw7CiAgICAgICAgICAgICBhd2FpdCB3YWl0Rm9y
KCgpID0+IHsKICAgICAgICAgICAgICAgICBzZWxlY3RlZFJhbmdlID0gcC5zZWxlY3RlZFRleHRN
YXJrZXJSYW5nZSgpOwogICAgICAgICAgICAgICAgIHJldHVybiBwLnRleHRNYXJrZXJSYW5nZUxl
bmd0aChzZWxlY3RlZFJhbmdlKSA9PSAxOTsKICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAg
ZGVidWcoYHNlbGVjdGVkIHRleHQgIiR7cC5zdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2Uoc2VsZWN0
ZWRSYW5nZSl9ImApOwogCi0gICAgICAgICAgICAvLyBTZWxlY3QgdGhlIGZpcnN0IDEwIGNoYXJh
Y3RlcnMuCisgICAgICAgICAgICAvLyBNb3ZlIHRoZSBpbnNlcnRpb24gcG9pbnQgdG8gdGhlIGJl
Z2lubmluZyBvZiB0aGUgZmllbGQuCiAgICAgICAgICAgICBsZXQgc3RhcnQgPSBwLnN0YXJ0VGV4
dE1hcmtlckZvclRleHRNYXJrZXJSYW5nZShyYW5nZSk7Ci0gICAgICAgICAgICBlbmQgPSBzdGFy
dDsKKyAgICAgICAgICAgIGxldCBlbmQgPSBzdGFydDsKKyAgICAgICAgICAgIHJhbmdlID0gcC50
ZXh0TWFya2VyUmFuZ2VGb3JNYXJrZXJzKHN0YXJ0LCBlbmQpOworICAgICAgICAgICAgcC5zZXRT
ZWxlY3RlZFRleHRNYXJrZXJSYW5nZShyYW5nZSk7CisgICAgICAgICAgICBhd2FpdCB3YWl0Rm9y
KCgpID0+IHsKKyAgICAgICAgICAgICAgICBzZWxlY3RlZFJhbmdlID0gcC5zZWxlY3RlZFRleHRN
YXJrZXJSYW5nZSgpOworICAgICAgICAgICAgICAgIHJldHVybiBwLnRleHRNYXJrZXJSYW5nZUxl
bmd0aChzZWxlY3RlZFJhbmdlKSA9PSAwOworICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBs
ZXQgc2VsZWN0aW9uU3RhcnQgPSBwLnN0YXJ0VGV4dE1hcmtlckZvclRleHRNYXJrZXJSYW5nZShz
ZWxlY3RlZFJhbmdlKTsKKyAgICAgICAgICAgIGxldCBzZWxlY3Rpb25FbmQgPSBwLmVuZFRleHRN
YXJrZXJGb3JUZXh0TWFya2VyUmFuZ2Uoc2VsZWN0ZWRSYW5nZSk7CisgICAgICAgICAgICAvLyBN
b3ZlIHNlbGVjdGlvbkVuZCBvbmUgb3ZlciBzbyB0aGF0IHdlIGhhdmUgYSBsZW5ndGggMSByYW5n
ZSBhbmQgd2UgY2FuIGdldCB0aGUgY2hhcmFjdGVyIGF0IHRoZSBpbnNlcnRpb24gcG9pbnQuCisg
ICAgICAgICAgICBzZWxlY3Rpb25FbmQgPSBwLm5leHRUZXh0TWFya2VyKHNlbGVjdGlvbkVuZCk7
CisgICAgICAgICAgICBkZWJ1Zyhgc2VsZWN0ZWQgdGV4dCAiJHtwLnN0cmluZ0ZvclRleHRNYXJr
ZXJSYW5nZShwLnRleHRNYXJrZXJSYW5nZUZvck1hcmtlcnMoc2VsZWN0aW9uU3RhcnQsIHNlbGVj
dGlvbkVuZCkpfSJgKTsKKworICAgICAgICAgICAgLy8gU2VsZWN0IHRoZSBmaXJzdCAxMCBjaGFy
YWN0ZXJzLgogICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxMDsgKytpKQogICAgICAg
ICAgICAgICAgIGVuZCA9IHAubmV4dFRleHRNYXJrZXIoZW5kKTsKICAgICAgICAgICAgIHJhbmdl
ID0gcC50ZXh0TWFya2VyUmFuZ2VGb3JNYXJrZXJzKHN0YXJ0LCBlbmQpOwpAQCAtNTUsOCArNjgs
MjEgQEAKICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgZGVidWcoYHNlbGVjdGVkIHRleHQg
IiR7cC5zdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2Uoc2VsZWN0ZWRSYW5nZSl9ImApOwogCi0gICAg
ICAgICAgICBlbGVtZW50SUQgPSAidGV4dGZpZWxkIjsKKyAgICAgICAgICAgIC8vIE1vdmUgdGhl
IGluc2VydGlvbiBwb2ludCB0byB0aGUgZW5kIG9mIHRoZSBmaWVsZC4KKyAgICAgICAgICAgIHJh
bmdlID0gcC50ZXh0TWFya2VyUmFuZ2VGb3JFbGVtZW50KHApOworICAgICAgICAgICAgZW5kID0g
cC5lbmRUZXh0TWFya2VyRm9yVGV4dE1hcmtlclJhbmdlKHJhbmdlKTsKKyAgICAgICAgICAgIHN0
YXJ0ID0gZW5kOworICAgICAgICAgICAgcmFuZ2UgPSBwLnRleHRNYXJrZXJSYW5nZUZvck1hcmtl
cnMoc3RhcnQsIGVuZCk7CisgICAgICAgICAgICBwLnNldFNlbGVjdGVkVGV4dE1hcmtlclJhbmdl
KHJhbmdlKTsKKyAgICAgICAgICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4geworICAgICAgICAgICAg
ICAgIHNlbGVjdGVkUmFuZ2UgPSBwLnNlbGVjdGVkVGV4dE1hcmtlclJhbmdlKCk7CisgICAgICAg
ICAgICAgICAgcmV0dXJuIHAudGV4dE1hcmtlclJhbmdlTGVuZ3RoKHNlbGVjdGVkUmFuZ2UpID09
IDA7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIHNlbGVjdGVkUmFuZ2UgPSBwLnNlbGVj
dGVkVGV4dE1hcmtlclJhbmdlKCk7CisgICAgICAgICAgICBzaG91bGRCZSgicC50ZXh0TWFya2Vy
UmFuZ2VMZW5ndGgoc2VsZWN0ZWRSYW5nZSkiLCAiMCIpOwogCisgICAgICAgICAgICAvLyBJbnB1
dCB0ZXh0IGZpZWxkLgorICAgICAgICAgICAgZWxlbWVudElEID0gInRleHRmaWVsZCI7CiAgICAg
ICAgICAgICBwID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlk
KGVsZW1lbnRJRCk7CiAgICAgICAgICAgICByYW5nZSA9IHAudGV4dE1hcmtlclJhbmdlRm9yRWxl
bWVudChwKTsKIApAQCAtNjksOSArOTUsMjIgQEAKICAgICAgICAgICAgIH0pOwogICAgICAgICAg
ICAgZGVidWcoYHNlbGVjdGVkIHRleHQgIiR7cC5zdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2Uoc2Vs
ZWN0ZWRSYW5nZSl9ImApOwogCi0gICAgICAgICAgICAvLyBTZWxlY3QgdGhlIGZpcnN0IDEwIGNo
YXJhY3RlcnMuCisgICAgICAgICAgICAvLyBNb3ZlIHRoZSBpbnNlcnRpb24gcG9pbnQgdG8gdGhl
IGJlZ2lubmluZyBvZiB0aGUgZmllbGQuCiAgICAgICAgICAgICBzdGFydCA9IHAuc3RhcnRUZXh0
TWFya2VyRm9yVGV4dE1hcmtlclJhbmdlKHJhbmdlKTsKICAgICAgICAgICAgIGVuZCA9IHN0YXJ0
OworICAgICAgICAgICAgcmFuZ2UgPSBwLnRleHRNYXJrZXJSYW5nZUZvck1hcmtlcnMoc3RhcnQs
IGVuZCk7CisgICAgICAgICAgICBwLnNldFNlbGVjdGVkVGV4dE1hcmtlclJhbmdlKHJhbmdlKTsK
KyAgICAgICAgICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4geworICAgICAgICAgICAgICAgIHNlbGVj
dGVkUmFuZ2UgPSBwLnNlbGVjdGVkVGV4dE1hcmtlclJhbmdlKCk7CisgICAgICAgICAgICAgICAg
cmV0dXJuIHAudGV4dE1hcmtlclJhbmdlTGVuZ3RoKHNlbGVjdGVkUmFuZ2UpID09IDA7CisgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIHNlbGVjdGlvblN0YXJ0ID0gcC5zdGFydFRleHRNYXJr
ZXJGb3JUZXh0TWFya2VyUmFuZ2Uoc2VsZWN0ZWRSYW5nZSk7CisgICAgICAgICAgICBzZWxlY3Rp
b25FbmQgPSBwLmVuZFRleHRNYXJrZXJGb3JUZXh0TWFya2VyUmFuZ2Uoc2VsZWN0ZWRSYW5nZSk7
CisgICAgICAgICAgICAvLyBNb3ZlIHNlbGVjdGlvbkVuZCBvbmUgb3ZlciBzbyB0aGF0IHdlIGhh
dmUgYSBsZW5ndGggMSByYW5nZSBhbmQgd2UgY2FuIGdldCB0aGUgY2hhcmFjdGVyIGF0IHRoZSBp
bnNlcnRpb24gcG9pbnQuCisgICAgICAgICAgICBzZWxlY3Rpb25FbmQgPSBwLm5leHRUZXh0TWFy
a2VyKHNlbGVjdGlvbkVuZCk7CisgICAgICAgICAgICBkZWJ1Zyhgc2VsZWN0ZWQgdGV4dCAiJHtw
LnN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZShwLnRleHRNYXJrZXJSYW5nZUZvck1hcmtlcnMoc2Vs
ZWN0aW9uU3RhcnQsIHNlbGVjdGlvbkVuZCkpfSJgKTsKKworICAgICAgICAgICAgLy8gU2VsZWN0
IHRoZSBmaXJzdCAxMCBjaGFyYWN0ZXJzLgogICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkg
PCAxMDsgKytpKQogICAgICAgICAgICAgICAgIGVuZCA9IHAubmV4dFRleHRNYXJrZXIoZW5kKTsK
ICAgICAgICAgICAgIHJhbmdlID0gcC50ZXh0TWFya2VyUmFuZ2VGb3JNYXJrZXJzKHN0YXJ0LCBl
bmQpOwpAQCAtOTUsNiArMTM0LDE5IEBACiAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIGRl
YnVnKGBzZWxlY3RlZCB0ZXh0ICIke3Auc3RyaW5nRm9yVGV4dE1hcmtlclJhbmdlKHNlbGVjdGVk
UmFuZ2UpfSJgKTsKIAorICAgICAgICAgICAgLy8gTW92ZSB0aGUgaW5zZXJ0aW9uIHBvaW50IHRv
IHRoZSBlbmQgb2YgdGhlIGZpZWxkLgorICAgICAgICAgICAgcmFuZ2UgPSBwLnRleHRNYXJrZXJS
YW5nZUZvckVsZW1lbnQocCk7CisgICAgICAgICAgICBlbmQgPSBwLmVuZFRleHRNYXJrZXJGb3JU
ZXh0TWFya2VyUmFuZ2UocmFuZ2UpOworICAgICAgICAgICAgc3RhcnQgPSBlbmQ7CisgICAgICAg
ICAgICByYW5nZSA9IHAudGV4dE1hcmtlclJhbmdlRm9yTWFya2VycyhzdGFydCwgZW5kKTsKKyAg
ICAgICAgICAgIHAuc2V0U2VsZWN0ZWRUZXh0TWFya2VyUmFuZ2UocmFuZ2UpOworICAgICAgICAg
ICAgYXdhaXQgd2FpdEZvcigoKSA9PiB7CisgICAgICAgICAgICAgICAgc2VsZWN0ZWRSYW5nZSA9
IHAuc2VsZWN0ZWRUZXh0TWFya2VyUmFuZ2UoKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gcC50
ZXh0TWFya2VyUmFuZ2VMZW5ndGgoc2VsZWN0ZWRSYW5nZSkgPT0gMDsKKyAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgc2VsZWN0ZWRSYW5nZSA9IHAuc2VsZWN0ZWRUZXh0TWFya2VyUmFuZ2Uo
KTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJwLnRleHRNYXJrZXJSYW5nZUxlbmd0aChzZWxlY3Rl
ZFJhbmdlKSIsICIwIik7CisKICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwogICAgICAgICB9
LCAwKTsKICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHQt
bWFya2VyL3RleHQtbWFya2VyLXByZXZpb3VzLW5leHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS90ZXh0LW1hcmtlci90ZXh0LW1hcmtlci1wcmV2aW91cy1uZXh0LWV4
cGVjdGVkLnR4dAppbmRleCA4OTQ1NTVlNDlhODI5MGRiYzc1OWIxZWRkMTU2ZDRmMTA1MTIyMGQ0
Li45YzU5NThhNTIwNmZiZjNiMTMyNWIyYjUxMjk2MGRkZDUwOTNmOWRjIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHQtbWFya2VyL3RleHQtbWFya2VyLXByZXZpb3Vz
LW5leHQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGV4dC1t
YXJrZXIvdGV4dC1tYXJrZXItcHJldmlvdXMtbmV4dC1leHBlY3RlZC50eHQKQEAgLTIwLDcgKzIw
LDcgQEAgUEFTUyB0ZXh0LmFjY2Vzc2liaWxpdHlFbGVtZW50Rm9yVGV4dE1hcmtlcihlbmRNYXJr
ZXIpLmlzRXF1YWwodGV4dCkgaXMgdHJ1ZQogUEFTUyB0ZXh0LnN0cmluZ0ZvclRleHRNYXJrZXJS
YW5nZShtYXJrZXJSYW5nZSkgaXMgbmV3bGluZQogUEFTUyB0ZXh0LnN0cmluZ0ZvclRleHRNYXJr
ZXJSYW5nZShtYXJrZXJSYW5nZSkgaXMgJ3QnCiBQQVNTIHRleHQuc3RyaW5nRm9yVGV4dE1hcmtl
clJhbmdlKG1hcmtlclJhbmdlKSBpcyBuZXdsaW5lCi1QQVNTIHRleHQuc3RyaW5nRm9yVGV4dE1h
cmtlclJhbmdlKG1hcmtlclJhbmdlKSBpcyAndCcKK1BBU1MgdGV4dC5zdHJpbmdGb3JUZXh0TWFy
a2VyUmFuZ2UobWFya2VyUmFuZ2UpIGlzICd0JyArIG5ld2xpbmUKIFBBU1MgdGV4dDIudGV4dE1h
cmtlclJhbmdlTGVuZ3RoKHRleHRNYXJrZXJSYW5nZTIpIGlzIDUKIE9iamVjdCBzdHJpbmcgZm9y
IHJhbmdlOiBjIFtBVFRBQ0hNRU5UXSBkCiBQQVNTIHRleHQyLnN0cmluZ0ZvclRleHRNYXJrZXJS
YW5nZShtYXJrZXJSYW5nZSkgaXMgJ2QnCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3Np
YmlsaXR5L3RleHQtbWFya2VyL3RleHQtbWFya2VyLXByZXZpb3VzLW5leHQuaHRtbCBiL0xheW91
dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGV4dC1tYXJrZXIvdGV4dC1tYXJrZXItcHJldmlvdXMtbmV4
dC5odG1sCmluZGV4IGYyNzgwOGJhNzE0YzNjOTM4NzYyYzE0YWZmMzE2ZGIzYzBhY2U3Y2QuLmUy
MDNkZDFmMWZiZmNmNzBmNzJmZDAzYTI1MDQ0NGJjZjc1OGQxMWUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGV4dC1tYXJrZXIvdGV4dC1tYXJrZXItcHJldmlvdXMtbmV4
dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGV4dC1tYXJrZXIvdGV4dC1t
YXJrZXItcHJldmlvdXMtbmV4dC5odG1sCkBAIC04MSw3ICs4MSw3IEBAIGYKICAgICAgICAgcHJl
dmlvdXNNYXJrZXIgPSByZXN1bHQucHJldmlvdXM7CiAgICAgICAgIGN1cnJlbnRNYXJrZXIgPSBy
ZXN1bHQuY3VycmVudDsKICAgICAgICAgbWFya2VyUmFuZ2UgPSB0ZXh0LnRleHRNYXJrZXJSYW5n
ZUZvck1hcmtlcnMocHJldmlvdXNNYXJrZXIsIGN1cnJlbnRNYXJrZXIpOwotICAgICAgICBzaG91
bGRCZSgidGV4dC5zdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2UobWFya2VyUmFuZ2UpIiwgIid0JyIp
OworICAgICAgICBzaG91bGRCZSgidGV4dC5zdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2UobWFya2Vy
UmFuZ2UpIiwgIid0JyArIG5ld2xpbmUiKTsKICAgICAgICAgCiAgICAgICAgIC8vIENoZWNrIHRo
ZSBjYXNlIHdpdGggcmVwbGFjZWQgbm9kZQogICAgICAgICB2YXIgdGV4dDIgPSBhY2Nlc3NpYmls
aXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoInRleHQyIik7CkBAIC0yMjIsNCAr
MjIyLDQgQEAgZgogCiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437993</attachid>
            <date>2021-09-12 11:46:08 -0700</date>
            <delta_ts>2021-09-13 11:21:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230166-20210912144607.patch</filename>
            <type>text/plain</type>
            <size>26580</size>
            <attacher name="Andres Gonzalez">andresg_22</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxOTIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmU4OTdhMmVmYTQyNWZj
N2UyZGU1OWE4MThmNWRkOGYxOWEwZmFhMS4uMDM1MTJjYmRmNWFiMWQyZGJjODUxMDIxMjhmMjcy
MzM0MGU3MDM4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIxLTA5LTEwICBBbmRy
ZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogc2V0IGlu
c2VydGlvbiBwb2ludCB0byB0aGUgZW5kIG9mIGEgbmF0aXZlIHRleHQgY29udHJvbCBkb2VzIG5v
dCB3b3JrIHdoZW4gcGFzc2luZyBhIGNvbGxhcHNlZCBUZXh0TWFya2VyUmFuZ2Ugd2l0aCBib3Ro
IHN0YXJ0IGFuZCBlbmQgZXF1YWxzIHRvIHRoZSBlbmQgVGV4dE1hcmtlciBmb3IgdGhlIGVsZW1l
bnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAx
NjYKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBGbGVpemFjaC4KKworICAgICAgICBUZXN0
OiBhY2Nlc3NpYmlsaXR5L21hYy9uYXRpdmUtdGV4dC1jb250cm9sLXNldC1zZWxlY3RlZC10ZXh0
bWFya2VyLXJhbmdlLmh0bWwKKworICAgICAgICBBZGRlZCBhIHNwZWNpYWwgY2FzZSB0byBBWCBv
YmplY3QncyBzZXRTZWxlY3RlZFZpc2libGVQb3NpdGlvblJhbmdlIGZvcgorICAgICAgICB3aGVu
IHRoZSBwYXNzZWQgcmFuZ2UgaXMgYSBjb2xsYXBzZWQgcmFuZ2UgdG8gdGhlIGVuZCBvZiBhIG5h
dGl2ZSB0ZXh0CisgICAgICAgIGNvbnRyb2wgZWxlbWVudCdzIHJhbmdlLgorICAgICAgICBUbyBh
Y2NvbXBsaXNoIHRoaXMsIGl0IGlzIG5lY2Vzc2FyeSB0byBjb21wYXJlIGZvciBlcXVhbGl0eSB0
d28KKyAgICAgICAgVmlzaWJsZVBvc2l0aW9ucyBvYnRhaW5lZCBmcm9tIFRleHRNYXJrZXJzLgor
ICAgICAgICBJbiBvcmRlciB0byByZWNvbnN0cnVjdCB0aGUgVmlzaWJsZVBvc2l0aW9ucyBmcm9t
IHRoZSBUZXh0TWFya2VycyBpbiBhCisgICAgICAgIHdheSB0aGF0IGVxdWFsaXR5IGlzIHByZXNl
cnZlZCwgdGhlIEFuY2hvclR5cGUgb2YgdGhlIHVuZGVybHlpbmcKKyAgICAgICAgUG9zaXRpb24g
bmVlZHMgdG8gYmUgYWRkZWQgdG8gdGhlIFRleHRNYXJrZXJEYXRhLgorCisgICAgICAgICogYWNj
ZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcDoKKyAgICAgICAgQWRkZWQgdGhlIEFuY2hvclR5
cGUgdG8gdGhlIFRleHRNYXJrZXJEYXRhIHN0cnVjdC4KKyAgICAgICAgKFdlYkNvcmU6OkFYT2Jq
ZWN0Q2FjaGU6OnZpc2libGVQb3NpdGlvbkZvclRleHRNYXJrZXJEYXRhKToKKyAgICAgICAgKFdl
YkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnRleHRNYXJrZXJEYXRhRm9yVmlzaWJsZVBvc2l0aW9uKToK
KyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6c2V0U2VsZWN0ZWRWaXNpYmxlUG9zaXRpb25S
YW5nZSBjb25zdCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1h
Yy5tbToKKyAgICAgICAgRXhwb3NlZCB0ZXh0TWFya2VyUmFuZ2VGcm9tTWFya2Vycy4KKyAgICAg
ICAgKFdlYkNvcmU6OnRleHRNYXJrZXJSYW5nZUZyb21NYXJrZXJzKToKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5oOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1t
OgorICAgICAgICBBZGRlZCB0aGUgQVhUZXh0TWFya2VyUmFuZ2VGb3JUZXh0TWFya2VycyBhdHRy
aWJ1dGUgd2hpY2gsIHVubGlrZQorICAgICAgICBBWFRleHRNYXJrZXJSYW5nZUZvclVub3JkZXJl
ZFRleHRNYXJrZXJzLCBhc3N1bWVzIHRoYXQgdGhlIHJhbmdlJ3Mgc3RhcnQKKyAgICAgICAgYW5k
IGVuZCBhcmUgb3JkZXJlZCwgYW5kIHRodXMgaXMgbW9yZSBlZmZpY2llbnQuCisgICAgICAgICgt
W1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIEFMTE9XX0RFUFJFQ0FURURfSU1QTEVNRU5U
QVRJT05TX0VORF0pOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBh
Y2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6Zm9yUGFyYW1ldGVyOl0pOgorCiAyMDIxLTA5LTAy
ICBBbmRyZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KIAogICAgICAgICBCcmFp
bGxlIGRpc3BsYXkgaXMgYmxhbmsgaW4gY29udGVudGVkaXRhYmxlIGVsZW1lbnRzIHdoZW4gdGhl
IGZpZWxkIGlzIGZvbGxvd2VkIGJ5IGFub3RoZXIgZWxlbWVudC4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4IGYyNDUxMTAyMDQwMDIzNmFj
MDI3NmE4NTllNmJmZDdhZjA5OGUwYmEuLjJiNTBlYjg4NmYzMDFmZGFiZTlkYmRjYzkzY2U1NWMz
ZWRjNjU3OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENh
Y2hlLmNwcApAQCAtMTkxMSw3ICsxOTExLDcgQEAgVmlzaWJsZVBvc2l0aW9uIEFYT2JqZWN0Q2Fj
aGU6OnZpc2libGVQb3NpdGlvbkZvclRleHRNYXJrZXJEYXRhKFRleHRNYXJrZXJEYXRhJgogICAg
ICAgICB8fCB0ZXh0TWFya2VyRGF0YS5ub2RlLT5pc1BzZXVkb0VsZW1lbnQoKSkKICAgICAgICAg
cmV0dXJuIHsgfTsKIAotICAgIGF1dG8gdmlzaWJsZVBvc2l0aW9uID0gVmlzaWJsZVBvc2l0aW9u
KG1ha2VDb250YWluZXJPZmZzZXRQb3NpdGlvbih0ZXh0TWFya2VyRGF0YS5ub2RlLCB0ZXh0TWFy
a2VyRGF0YS5vZmZzZXQpLCB0ZXh0TWFya2VyRGF0YS5hZmZpbml0eSk7CisgICAgYXV0byB2aXNp
YmxlUG9zaXRpb24gPSBWaXNpYmxlUG9zaXRpb24oeyB0ZXh0TWFya2VyRGF0YS5ub2RlLCB0ZXh0
TWFya2VyRGF0YS5vZmZzZXQsIHRleHRNYXJrZXJEYXRhLmFuY2hvclR5cGUgfSwgdGV4dE1hcmtl
ckRhdGEuYWZmaW5pdHkpOwogICAgIGF1dG8gZGVlcFBvc2l0aW9uID0gdmlzaWJsZVBvc2l0aW9u
LmRlZXBFcXVpdmFsZW50KCk7CiAgICAgaWYgKGRlZXBQb3NpdGlvbi5pc051bGwoKSkKICAgICAg
ICAgcmV0dXJuIHsgfTsKQEAgLTI0OTUsNyArMjQ5NSw3IEBAIHN0ZDo6b3B0aW9uYWw8VGV4dE1h
cmtlckRhdGE+IEFYT2JqZWN0Q2FjaGU6OnRleHRNYXJrZXJEYXRhRm9yVmlzaWJsZVBvc2l0aW9u
KGNvCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKICAgICBQb3NpdGlvbiBkZWVwUG9z
ID0gdmlzaWJsZVBvcy5kZWVwRXF1aXZhbGVudCgpOwotICAgIE5vZGUqIGRvbU5vZGUgPSBkZWVw
UG9zLmRlcHJlY2F0ZWROb2RlKCk7CisgICAgTm9kZSogZG9tTm9kZSA9IGRlZXBQb3MuYW5jaG9y
Tm9kZSgpOwogICAgIEFTU0VSVChkb21Ob2RlKTsKICAgICBpZiAoIWRvbU5vZGUpCiAgICAgICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7CkBAIC0yNTI2LDYgKzI1MjYsNyBAQCBzdGQ6Om9wdGlvbmFs
PFRleHRNYXJrZXJEYXRhPiBBWE9iamVjdENhY2hlOjp0ZXh0TWFya2VyRGF0YUZvclZpc2libGVQ
b3NpdGlvbihjbwogICAgIHRleHRNYXJrZXJEYXRhLmF4SUQgPSBvYmouZ2V0KCktPm9iamVjdElE
KCk7CiAgICAgdGV4dE1hcmtlckRhdGEubm9kZSA9IGRvbU5vZGU7CiAgICAgdGV4dE1hcmtlckRh
dGEub2Zmc2V0ID0gZGVlcFBvcy5kZXByZWNhdGVkRWRpdGluZ09mZnNldCgpOworICAgIHRleHRN
YXJrZXJEYXRhLmFuY2hvclR5cGUgPSBkZWVwUG9zLmFuY2hvclR5cGUoKTsKICAgICB0ZXh0TWFy
a2VyRGF0YS5hZmZpbml0eSA9IHZpc2libGVQb3MuYWZmaW5pdHkoKTsKIAogICAgIHRleHRNYXJr
ZXJEYXRhLmNoYXJhY3Rlck9mZnNldCA9IGNoYXJhY3Rlck9mZnNldC5vZmZzZXQ7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCmluZGV4IDFkY2E0Y2E1ZjZm
NDAwNjdhNmZhZDRhMTFkYjdmOTg0NGM3YWE2ZGIuLjE5OTUzYzNhNDkwYjhkZTU3OTllNzRhZTBh
OGY1ODk0MGE1NGFiZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QVhPYmplY3RDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5oCkBAIC02MCwxMiArNjAsMTUgQEAgY2xhc3MgV2lkZ2V0OwogCiBzdHJ1Y3QgVGV4
dE1hcmtlckRhdGEgewogICAgIEFYSUQgYXhJRCB7IDAgfTsKKwogICAgIE5vZGUqIG5vZGUgeyBu
dWxscHRyIH07Ci0gICAgaW50IG9mZnNldCB7IDAgfTsKKyAgICB1bnNpZ25lZCBvZmZzZXQgeyAw
IH07CisgICAgUG9zaXRpb246OkFuY2hvclR5cGUgYW5jaG9yVHlwZSB7IFBvc2l0aW9uOjpQb3Np
dGlvbklzT2Zmc2V0SW5BbmNob3IgfTsKKyAgICBBZmZpbml0eSBhZmZpbml0eSB7IEFmZmluaXR5
OjpEb3duc3RyZWFtIH07CisKICAgICBpbnQgY2hhcmFjdGVyU3RhcnRJbmRleCB7IDAgfTsKICAg
ICBpbnQgY2hhcmFjdGVyT2Zmc2V0IHsgMCB9OwogICAgIGJvb2wgaWdub3JlZCB7IGZhbHNlIH07
Ci0gICAgQWZmaW5pdHkgYWZmaW5pdHkgeyBBZmZpbml0eTo6RG93bnN0cmVhbSB9OwogfTsKIAog
c3RydWN0IENoYXJhY3Rlck9mZnNldCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAppbmRleCA4M2IwOTZm
MzcwNWE3NzljZjcyZjFmNDhhMGZiMzg5NGJkNTQyNDU1Li44OTc1NWZlNDEzZWI3NzM2ZjYxNThh
YzZhYjZlMGIyYTM4OGFlMWMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKQEAgLTIzMDgsMTAgKzIz
MDgsMTYgQEAgdm9pZCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpzZXRTZWxlY3RlZFZpc2li
bGVQb3NpdGlvblJhbmdlKGNvbnN0IFZpc2libGVQb3MKICAgICAgICAgaWYgKHJhbmdlLnN0YXJ0
LmRlZXBFcXVpdmFsZW50KCkuYW5jaG9yTm9kZSgpID09IHJhbmdlLmVuZC5kZWVwRXF1aXZhbGVu
dCgpLmFuY2hvck5vZGUoKQogICAgICAgICAgICAgJiYgcmFuZ2Uuc3RhcnQuZGVlcEVxdWl2YWxl
bnQoKS5hbmNob3JOb2RlKCkgPT0gdGV4dENvbnRyb2wpIHsKICAgICAgICAgICAgIGlmIChhdXRv
IGlubmVyVGV4dCA9IHRleHRDb250cm9sLT5pbm5lclRleHRFbGVtZW50KCkpIHsKKyAgICAgICAg
ICAgICAgICBhdXRvIHRleHRDb250cm9sUmFuZ2UgPSBtYWtlVmlzaWJsZVBvc2l0aW9uUmFuZ2Uo
QVhPYmplY3RDYWNoZTo6cmFuZ2VGb3JOb2RlQ29udGVudHMoKnRleHRDb250cm9sKSk7CiAgICAg
ICAgICAgICAgICAgYXV0byBpbm5lclJhbmdlID0gbWFrZVZpc2libGVQb3NpdGlvblJhbmdlKEFY
T2JqZWN0Q2FjaGU6OnJhbmdlRm9yTm9kZUNvbnRlbnRzKCppbm5lclRleHQpKTsKLSAgICAgICAg
ICAgICAgICBpZiAocmFuZ2Uuc3RhcnQgPCBpbm5lclJhbmdlLnN0YXJ0KQorCisgICAgICAgICAg
ICAgICAgaWYgKHJhbmdlLnN0YXJ0LmVxdWFscyh0ZXh0Q29udHJvbFJhbmdlLmVuZCkpCisgICAg
ICAgICAgICAgICAgICAgIHN0YXJ0ID0gdGV4dENvbnRyb2wtPnZhbHVlKCkubGVuZ3RoKCk7Cisg
ICAgICAgICAgICAgICAgZWxzZSBpZiAocmFuZ2Uuc3RhcnQgPD0gaW5uZXJSYW5nZS5zdGFydCkK
ICAgICAgICAgICAgICAgICAgICAgc3RhcnQgPSAwOwotICAgICAgICAgICAgICAgIGlmIChyYW5n
ZS5lbmQgPj0gaW5uZXJSYW5nZS5lbmQpCisKKyAgICAgICAgICAgICAgICBpZiAocmFuZ2UuZW5k
ID49IGlubmVyUmFuZ2UuZW5kCisgICAgICAgICAgICAgICAgICAgIHx8IHJhbmdlLmVuZC5lcXVh
bHModGV4dENvbnRyb2xSYW5nZS5lbmQpKQogICAgICAgICAgICAgICAgICAgICBlbmQgPSB0ZXh0
Q29udHJvbC0+dmFsdWUoKS5sZW5ndGgoKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1h
Yy5tbSBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FYT2JqZWN0Q2FjaGVNYWMu
bW0KaW5kZXggMjBlODVjZWU1ZGFkNGNiZmI1YmM3Y2JhMjdiNGVlNmYyODhiNjhmMi4uZTVhNzg2
N2VlNmI2ODllYzk2NDJmNjU2OGY2ODZiNzViYjk0MTVhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENhY2hlTWFjLm1tCkBAIC02MTIsNyAr
NjEyLDcgQEAgc3RhdGljIFJldGFpblB0cjxBWFRleHRNYXJrZXJSYW5nZVJlZj4gQVhUZXh0TWFy
a2VyUmFuZ2UoQVhUZXh0TWFya2VyUmVmIHN0YXJ0TWEKICAgICByZXR1cm4gYWRvcHRDRihBWFRl
eHRNYXJrZXJSYW5nZUNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBzdGFydE1hcmtlciwgZW5k
TWFya2VyKSk7CiB9CiAKLXN0YXRpYyBSZXRhaW5QdHI8QVhUZXh0TWFya2VyUmFuZ2VSZWY+IHRl
eHRNYXJrZXJSYW5nZUZyb21NYXJrZXJzKEFYVGV4dE1hcmtlclJlZiB0ZXh0TWFya2VyMSwgQVhU
ZXh0TWFya2VyUmVmIHRleHRNYXJrZXIyKQorUmV0YWluUHRyPEFYVGV4dE1hcmtlclJhbmdlUmVm
PiB0ZXh0TWFya2VyUmFuZ2VGcm9tTWFya2VycyhBWFRleHRNYXJrZXJSZWYgdGV4dE1hcmtlcjEs
IEFYVGV4dE1hcmtlclJlZiB0ZXh0TWFya2VyMikKIHsKICAgICBpZiAoIXRleHRNYXJrZXIxIHx8
ICF0ZXh0TWFya2VyMikKICAgICAgICAgcmV0dXJuIG5pbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFj
LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2Jq
ZWN0V3JhcHBlck1hYy5oCmluZGV4IDc0MmIzZDAzYTQ4ZjJiOGViNzJhMDlhODUzZjdhMjE5ZmFi
ZTJhMDQuLjA4ZjliZDc1MTYzNDM3YzVjMjk1MTg4NjBhZmJiYzEyNTE4MDMyNTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2Vi
QWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMuaApAQCAtNjUsNiArNjUsNyBAQCBzdHJ1Y3Qg
Q2hhcmFjdGVyT2Zmc2V0OwogLy8gVGV4dE1hcmtlciBhbmQgVGV4dE1hcmtlclJhbmdlIHB1Ymxp
YyBmdW5jc3Rpb25zLgogLy8gRklYTUU6IFRleHRNYXJrZXIgYW5kIFRleHRNYXJrZXJSYW5nZSBz
aG91bGQgYmVjb21lIGNsYXNzZXMgb24gdGhlaXIgb3duIHJpZ2h0LCB3cmFwcGluZyB0aGUgc3lz
dGVtIG9iamVjdHMuCiAKK1JldGFpblB0cjxBWFRleHRNYXJrZXJSYW5nZVJlZj4gdGV4dE1hcmtl
clJhbmdlRnJvbU1hcmtlcnMoQVhUZXh0TWFya2VyUmVmLCBBWFRleHRNYXJrZXJSZWYpOwogQWNj
ZXNzaWJpbGl0eU9iamVjdCogYWNjZXNzaWJpbGl0eU9iamVjdEZvclRleHRNYXJrZXIoQVhPYmpl
Y3RDYWNoZSosIEFYVGV4dE1hcmtlclJlZik7CiAKIC8vIFRleHRNYXJrZXIgPC0+IFZpc2libGVQ
b3NpdGlvbiBjb252ZXJzaW9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5t
bQppbmRleCBhMmNhMTRkNTk0NTVjN2RhZjYwZDQ2NzJhOTJmMjg5OGNiNDUxN2U3Li45ZmNmNjhk
ODUzZjkzZTJmMGU0ZmRiY2QwZDg5ODNhNzUzMjc2ZWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5
T2JqZWN0V3JhcHBlck1hYy5tbQpAQCAtMzA0Myw2ICszMDQzLDcgQEAgQUxMT1dfREVQUkVDQVRF
RF9JTVBMRU1FTlRBVElPTlNfRU5ECiAgICAgICAgICAgICBAIkFYQm91bmRzRm9yVGV4dE1hcmtl
clJhbmdlIiwKICAgICAgICAgICAgIEAiQVhBdHRyaWJ1dGVkU3RyaW5nRm9yVGV4dE1hcmtlclJh
bmdlIiwKICAgICAgICAgICAgIEAiQVhBdHRyaWJ1dGVkU3RyaW5nRm9yVGV4dE1hcmtlclJhbmdl
V2l0aE9wdGlvbnMiLAorICAgICAgICAgICAgQCJBWFRleHRNYXJrZXJSYW5nZUZvclRleHRNYXJr
ZXJzIiwKICAgICAgICAgICAgIEAiQVhUZXh0TWFya2VyUmFuZ2VGb3JVbm9yZGVyZWRUZXh0TWFy
a2VycyIsCiAgICAgICAgICAgICBAIkFYTmV4dFRleHRNYXJrZXJGb3JUZXh0TWFya2VyIiwKICAg
ICAgICAgICAgIEAiQVhQcmV2aW91c1RleHRNYXJrZXJGb3JUZXh0TWFya2VyIiwKQEAgLTQwNDIs
MTEgKzQwNDMsMjAgQEAgQUxMT1dfREVQUkVDQVRFRF9JTVBMRU1FTlRBVElPTlNfRU5ECiAgICAg
ICAgIHJldHVybiBuaWw7CiAgICAgfQogCi0gICAgaWYgKFthdHRyaWJ1dGUgaXNFcXVhbFRvU3Ry
aW5nOkAiQVhUZXh0TWFya2VyUmFuZ2VGb3JVbm9yZGVyZWRUZXh0TWFya2VycyJdKSB7Ci0gICAg
ICAgIGlmIChbYXJyYXkgY291bnRdIDwgMikKKyAgICBpZiAoW2F0dHJpYnV0ZSBpc0VxdWFsVG9T
dHJpbmc6QCJBWFRleHRNYXJrZXJSYW5nZUZvclRleHRNYXJrZXJzIl0pIHsKKyAgICAgICAgaWYg
KGFycmF5LmNvdW50IDwgMgorICAgICAgICAgICAgfHwgIUFYT2JqZWN0SXNUZXh0TWFya2VyKFth
cnJheSBvYmplY3RBdEluZGV4OjBdKQorICAgICAgICAgICAgfHwgIUFYT2JqZWN0SXNUZXh0TWFy
a2VyKFthcnJheSBvYmplY3RBdEluZGV4OjFdKSkKICAgICAgICAgICAgIHJldHVybiBuaWw7Cisg
ICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5OjpyZXRyaWV2ZUF1dG9yZWxlYXNlZFZhbHVlRnJv
bU1haW5UaHJlYWQ8aWQ+KFsmYXJyYXldICgpIC0+IFJldGFpblB0cjxpZD4geworICAgICAgICAg
ICAgcmV0dXJuIChpZCl0ZXh0TWFya2VyUmFuZ2VGcm9tTWFya2VycygoQVhUZXh0TWFya2VyUmVm
KVthcnJheSBvYmplY3RBdEluZGV4OjBdLCAoQVhUZXh0TWFya2VyUmVmKVthcnJheSBvYmplY3RB
dEluZGV4OjFdKS5nZXQoKTsKKyAgICAgICAgfSk7CisgICAgfQogCi0gICAgICAgIGlmICghQVhP
YmplY3RJc1RleHRNYXJrZXIoW2FycmF5IG9iamVjdEF0SW5kZXg6MF0pIHx8ICFBWE9iamVjdElz
VGV4dE1hcmtlcihbYXJyYXkgb2JqZWN0QXRJbmRleDowXSkpCisgICAgaWYgKFthdHRyaWJ1dGUg
aXNFcXVhbFRvU3RyaW5nOkAiQVhUZXh0TWFya2VyUmFuZ2VGb3JVbm9yZGVyZWRUZXh0TWFya2Vy
cyJdKSB7CisgICAgICAgIGlmIChhcnJheS5jb3VudCA8IDIKKyAgICAgICAgICAgIHx8ICFBWE9i
amVjdElzVGV4dE1hcmtlcihbYXJyYXkgb2JqZWN0QXRJbmRleDowXSkKKyAgICAgICAgICAgIHx8
ICFBWE9iamVjdElzVGV4dE1hcmtlcihbYXJyYXkgb2JqZWN0QXRJbmRleDoxXSkpCiAgICAgICAg
ICAgICByZXR1cm4gbmlsOwogCiAgICAgICAgIEFYVGV4dE1hcmtlclJlZiB0ZXh0TWFya2VyMSA9
IChBWFRleHRNYXJrZXJSZWYpW2FycmF5IG9iamVjdEF0SW5kZXg6MF07CmRpZmYgLS1naXQgYS9U
b29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZDZhYzVkMWFiZWFjODA0YTk0
NDM0MDEyN2M1NmMyYWNlYmM1N2Y5ZC4uNzQ3MzBkYTZhNmY4NmI5NmY0M2NjM2I0MTdjMjMyNzIy
YWIzNmNjOCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTA5LTEwICBBbmRyZXMgR29uemFsZXogIDxhbmRyZXNn
XzIyQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogc2V0IGluc2VydGlvbiBwb2ludCB0byB0aGUg
ZW5kIG9mIGEgbmF0aXZlIHRleHQgY29udHJvbCBkb2VzIG5vdCB3b3JrIHdoZW4gcGFzc2luZyBh
IGNvbGxhcHNlZCBUZXh0TWFya2VyUmFuZ2Ugd2l0aCBib3RoIHN0YXJ0IGFuZCBlbmQgZXF1YWxz
IHRvIHRoZSBlbmQgVGV4dE1hcmtlciBmb3IgdGhlIGVsZW1lbnQuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAxNjYKKworICAgICAgICBSZXZpZXdl
ZCBieSBDaHJpcyBGbGVpemFjaC4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW06CisgICAgICAgIChXVFI6
OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRleHRNYXJrZXJSYW5nZUZvck1hcmtlcnMpOgorICAg
ICAgICBVc2UgQVhUZXh0TWFya2VyUmFuZ2VGb3JUZXh0TWFya2VycyBpbnN0ZWFkIG9mCisgICAg
ICAgIEFYVGV4dE1hcmtlclJhbmdlRm9yVW5vcmRlcmVkVGV4dE1hcmtlcnMuCisKIDIwMjEtMDkt
MDIgIENhcmxvcyBBbGJlcnRvIExvcGV6IFBlcmV6ICA8Y2xvcGV6QGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW0dUS11bV1BFXSBQb3J0IEFQSSB0ZXN0IHJ1bm5lciB0byBweXRob24zCmRpZmYgLS1n
aXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5t
bSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1t
CmluZGV4IGE5MDNmMjViMGFjZTEyYWM5YmMzNWZiZDUwZjRjMzExNDJkOTc0ODEuLmQ2YThjMmVh
OThhNjZkZmRkMzMyYzkxODY2YmNkNTM0NWE5ODVmNzUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tCisrKyBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tCkBAIC0xODUwLDEx
ICsxODUwLDExIEBAIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjphdHRyaWJ1dGVkU3RyaW5nRm9yVGV4dE1hcmtlclJhCiBBY2Nlc3NpYmlsaXR5VGV4dE1h
cmtlclJhbmdlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRleHRNYXJrZXJSYW5nZUZvck1hcmtl
cnMoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIqIHN0YXJ0TWFya2VyLCBBY2Nlc3NpYmlsaXR5VGV4
dE1hcmtlciogZW5kTWFya2VyKQogewogICAgIEJFR0lOX0FYX09CSkNfRVhDRVBUSU9OUwotICAg
IE5TQXJyYXkqIHRleHRNYXJrZXJzID0gQFtzdGFydE1hcmtlci0+cGxhdGZvcm1UZXh0TWFya2Vy
KCksIGVuZE1hcmtlci0+cGxhdGZvcm1UZXh0TWFya2VyKCldOwotICAgIGlkIHRleHRNYXJrZXJS
YW5nZSA9IFttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOkAiQVhUZXh0TWFy
a2VyUmFuZ2VGb3JVbm9yZGVyZWRUZXh0TWFya2VycyIgZm9yUGFyYW1ldGVyOnRleHRNYXJrZXJz
XTsKKyAgICBOU0FycmF5ICp0ZXh0TWFya2VycyA9IEBbc3RhcnRNYXJrZXItPnBsYXRmb3JtVGV4
dE1hcmtlcigpLCBlbmRNYXJrZXItPnBsYXRmb3JtVGV4dE1hcmtlcigpXTsKKyAgICBpZCB0ZXh0
TWFya2VyUmFuZ2UgPSBbbV9lbGVtZW50IGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpAIkFY
VGV4dE1hcmtlclJhbmdlRm9yVGV4dE1hcmtlcnMiIGZvclBhcmFtZXRlcjp0ZXh0TWFya2Vyc107
CiAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2UodGV4dE1hcmtlclJhbmdl
KTsKICAgICBFTkRfQVhfT0JKQ19FWENFUFRJT05TCi0gICAgCisKICAgICByZXR1cm4gbnVsbHB0
cjsKIH0KIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0KaW5kZXgg
YzkyODVlZGQ0Y2EzMWJkMmI3ZGM1ODc5NDQ4NDFiZDgwNGVlYTE5Ni4uODkxNWNkZTBiZjg0NDAz
MGMyMTcyNDVlNDllNDU0MTgwY2NiYzgwNiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQorKysg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5
VUlFbGVtZW50TWFjLm1tCkBAIC0xODcwLDE2ICsxODcwLDExIEBAIEpTUmV0YWluUHRyPEpTU3Ry
aW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyZWN0c0ZvclRleHRNYXJrZXJSYW5nZShB
Y2Nlc3NpCiBSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZT4gQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6dGV4dE1hcmtlclJhbmdlRm9yTWFya2VycyhBY2Nlc3NpYmlsaXR5VGV4dE1h
cmtlciogc3RhcnRNYXJrZXIsIEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyKiBlbmRNYXJrZXIpCiB7
CiAgICAgQkVHSU5fQVhfT0JKQ19FWENFUFRJT05TCi0gICAgaWQgc3RhcnRQbGF0Zm9ybU1hcmtl
ciA9IHN0YXJ0TWFya2VyLT5wbGF0Zm9ybVRleHRNYXJrZXIoKTsKLSAgICBpZCBlbmRQbGF0Zm9y
bU1hcmtlciA9IGVuZE1hcmtlci0+cGxhdGZvcm1UZXh0TWFya2VyKCk7Ci0gICAgaWYgKCFzdGFy
dFBsYXRmb3JtTWFya2VyIHx8ICFlbmRQbGF0Zm9ybU1hcmtlcikKLSAgICAgICAgcmV0dXJuIG51
bGxwdHI7Ci0KLSAgICBOU0FycmF5KiB0ZXh0TWFya2VycyA9IEBbc3RhcnRQbGF0Zm9ybU1hcmtl
ciwgZW5kUGxhdGZvcm1NYXJrZXJdOwotICAgIGlkIHRleHRNYXJrZXJSYW5nZSA9IFttX2VsZW1l
bnQgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOkAiQVhUZXh0TWFya2VyUmFuZ2VGb3JVbm9y
ZGVyZWRUZXh0TWFya2VycyIgZm9yUGFyYW1ldGVyOnRleHRNYXJrZXJzXTsKKyAgICBOU0FycmF5
ICp0ZXh0TWFya2VycyA9IEBbc3RhcnRNYXJrZXItPnBsYXRmb3JtVGV4dE1hcmtlcigpLCBlbmRN
YXJrZXItPnBsYXRmb3JtVGV4dE1hcmtlcigpXTsKKyAgICBpZCB0ZXh0TWFya2VyUmFuZ2UgPSBb
bV9lbGVtZW50IGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpAIkFYVGV4dE1hcmtlclJhbmdl
Rm9yVGV4dE1hcmtlcnMiIGZvclBhcmFtZXRlcjp0ZXh0TWFya2Vyc107CiAgICAgcmV0dXJuIEFj
Y2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2U6OmNyZWF0ZSh0ZXh0TWFya2VyUmFuZ2UpOwogICAg
IEVORF9BWF9PQkpDX0VYQ0VQVElPTlMKLSAgICAKKwogICAgIHJldHVybiBudWxscHRyOwogfQog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggMDhjOTQxZjQyMTIwZDZiMTM4Y2IxNTkwZGU5MGU4YWQ3OTE0MGVjZS4uODAxNTNk
YmIxN2FlZTJhMDY0NzNkOTEwMzU0ZmZjM2Y0NThiNzU4ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBA
CisyMDIxLTA5LTEwICBBbmRyZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KKwor
ICAgICAgICBBWDogc2V0IGluc2VydGlvbiBwb2ludCB0byB0aGUgZW5kIG9mIGEgbmF0aXZlIHRl
eHQgY29udHJvbCBkb2VzIG5vdCB3b3JrIHdoZW4gcGFzc2luZyBhIGNvbGxhcHNlZCBUZXh0TWFy
a2VyUmFuZ2Ugd2l0aCBib3RoIHN0YXJ0IGFuZCBlbmQgZXF1YWxzIHRvIHRoZSBlbmQgVGV4dE1h
cmtlciBmb3IgdGhlIGVsZW1lbnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzAxNjYKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBGbGVpemFj
aC4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL2JvdW5kcy1mb3ItcmFuZ2UtZXhwZWN0
ZWQudHh0OgorICAgICAgICBBZGRlZCBBWFRleHRNYXJrZXJSYW5nZUZvclRleHRNYXJrZXJzIGF0
dHJpYnV0ZSBuYW1lLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL25hdGl2ZS10ZXh0LWNv
bnRyb2wtc2V0LXNlbGVjdGVkLXRleHRtYXJrZXItcmFuZ2UtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvbWFjL25hdGl2ZS10ZXh0LWNvbnRyb2wtc2V0LXNlbGVjdGVkLXRl
eHRtYXJrZXItcmFuZ2UuaHRtbDoKKyAgICAgICAgRXhwYW5kZWQgdG8gaW5jbHVkZSB0aGUgdGVz
dCBjYXNlcyB0byBtb3ZlIHRoZSBpbnNlcnRpb24gcG9pbnQgdG8gdGhlCisgICAgICAgIGJlZ2lu
bmluZyBhbmQgZW5kIG9mIHRoZSB0ZXh0IGNvdG5yb2wuCisgICAgICAgICogYWNjZXNzaWJpbGl0
eS90ZXh0LW1hcmtlci90ZXh0LW1hcmtlci1wcmV2aW91cy1uZXh0LWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L3RleHQtbWFya2VyL3RleHQtbWFya2VyLXByZXZpb3VzLW5l
eHQuaHRtbDoKKyAgICAgICAgQWRqdXN0ZWQgZXhwZWN0ZWQgdmFsdWUgdG8gaW5jbHVkZSBsaW5l
YnJlYWsgY2hhcmFjdGVyLgorCiAyMDIxLTA5LTAyICBBbmRyZXMgR29uemFsZXogIDxhbmRyZXNn
XzIyQGFwcGxlLmNvbT4KIAogICAgICAgICBCcmFpbGxlIGRpc3BsYXkgaXMgYmxhbmsgaW4gY29u
dGVudGVkaXRhYmxlIGVsZW1lbnRzIHdoZW4gdGhlIGZpZWxkIGlzIGZvbGxvd2VkIGJ5IGFub3Ro
ZXIgZWxlbWVudC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL2Jv
dW5kcy1mb3ItcmFuZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9t
YWMvYm91bmRzLWZvci1yYW5nZS1leHBlY3RlZC50eHQKaW5kZXggMzkyOGZkZGRhYzA1ZTdiNWEy
MDIxNGUxYjU4MTI4ZjhjZmRmYTUwNS4uNTNlZTI1YTg4OWQ2ZDBiYmMzNmRjNGNjMDA3YzQzYzZi
OTFlZDBmNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvYm91bmRz
LWZvci1yYW5nZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9t
YWMvYm91bmRzLWZvci1yYW5nZS1leHBlY3RlZC50eHQKQEAgLTM5LDYgKzM5LDcgQEAgQVhUZXh0
TWFya2VyRm9yUG9zaXRpb24KIEFYQm91bmRzRm9yVGV4dE1hcmtlclJhbmdlCiBBWEF0dHJpYnV0
ZWRTdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2UKIEFYQXR0cmlidXRlZFN0cmluZ0ZvclRleHRNYXJr
ZXJSYW5nZVdpdGhPcHRpb25zCitBWFRleHRNYXJrZXJSYW5nZUZvclRleHRNYXJrZXJzCiBBWFRl
eHRNYXJrZXJSYW5nZUZvclVub3JkZXJlZFRleHRNYXJrZXJzCiBBWE5leHRUZXh0TWFya2VyRm9y
VGV4dE1hcmtlcgogQVhQcmV2aW91c1RleHRNYXJrZXJGb3JUZXh0TWFya2VyCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9uYXRpdmUtdGV4dC1jb250cm9sLXNldC1z
ZWxlY3RlZC10ZXh0bWFya2VyLXJhbmdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2FjY2Vz
c2liaWxpdHkvbWFjL25hdGl2ZS10ZXh0LWNvbnRyb2wtc2V0LXNlbGVjdGVkLXRleHRtYXJrZXIt
cmFuZ2UtZXhwZWN0ZWQudHh0CmluZGV4IDJhMzVlYTk4YzI0YjdjY2VkYTBiY2QxZDM5ZjgwMzQz
YzMzZGExYmUuLmQ0YzdjNzE5ODg4MjE2MDNiZmRjYzZiYWZiMGYzMWI0YzlhZWM2ZGMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL25hdGl2ZS10ZXh0LWNvbnRyb2wt
c2V0LXNlbGVjdGVkLXRleHRtYXJrZXItcmFuZ2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvbWFjL25hdGl2ZS10ZXh0LWNvbnRyb2wtc2V0LXNlbGVjdGVkLXRl
eHRtYXJrZXItcmFuZ2UtZXhwZWN0ZWQudHh0CkBAIC00LDEyICs0LDE3IEBAIE9uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFCiAKIAogc2VsZWN0ZWQgdGV4dCAiVGhpcyBpcyBhIHRleHRhcmVhLiIKK3Nl
bGVjdGVkIHRleHQgIlQiCiBzZWxlY3RlZCB0ZXh0ICJUaGlzIGlzIGEgIgogc2VsZWN0ZWQgdGV4
dCAiIGlzIGEgIgorUEFTUyBwLnRleHRNYXJrZXJSYW5nZUxlbmd0aChzZWxlY3RlZFJhbmdlKSBp
cyAwCiBzZWxlY3RlZCB0ZXh0ICJUaGlzIGlzIGEgdGV4dCBmaWVsZC4iCitzZWxlY3RlZCB0ZXh0
ICJUIgogc2VsZWN0ZWQgdGV4dCAiVGhpcyBpcyBhICIKIHNlbGVjdGVkIHRleHQgIiBpcyBhIHRl
eHQiCitQQVNTIHAudGV4dE1hcmtlclJhbmdlTGVuZ3RoKHNlbGVjdGVkUmFuZ2UpIGlzIDAKIFBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQogCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL25hdGl2ZS10ZXh0LWNvbnRyb2wt
c2V0LXNlbGVjdGVkLXRleHRtYXJrZXItcmFuZ2UuaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvbWFjL25hdGl2ZS10ZXh0LWNvbnRyb2wtc2V0LXNlbGVjdGVkLXRleHRtYXJrZXItcmFu
Z2UuaHRtbAppbmRleCBlNzk1NWU4NDI1MTNiYzM3ZDJlNjBlMDIxZGEzMzQxMzlhNTIyZTU1Li5h
ZTMzMTI1MzZmYjFlMDMwZTFiNWQxNTk4MWZhNTA0NTk2YjllMjgyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9uYXRpdmUtdGV4dC1jb250cm9sLXNldC1zZWxlY3Rl
ZC10ZXh0bWFya2VyLXJhbmdlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9t
YWMvbmF0aXZlLXRleHQtY29udHJvbC1zZXQtc2VsZWN0ZWQtdGV4dG1hcmtlci1yYW5nZS5odG1s
CkBAIC03LDcgKzcsNyBAQAogPGJvZHk+CiAKIDx0ZXh0YXJlYSBpZD0idGV4dGFyZWEiPlRoaXMg
aXMgYSB0ZXh0YXJlYS48L3RleHRhcmVhPgotCis8YnIvPgogPGlucHV0IHR5cGU9InRleHQiIGlk
PSJ0ZXh0ZmllbGQiIHZhbHVlPSJUaGlzIGlzIGEgdGV4dCBmaWVsZC4iIC8+CiAKIDxzY3JpcHQ+
CkBAIC0xNiwyNCArMTYsMzcgQEAKICAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9s
bGVyKSB7CiAgICAgICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAotICAgICAgICBs
ZXQgZWxlbWVudElEID0gInRleHRhcmVhIjsKLQotICAgICAgICBsZXQgcCA9IGFjY2Vzc2liaWxp
dHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZChlbGVtZW50SUQpOwotICAgICAgICBs
ZXQgcmFuZ2UgPSBwLnRleHRNYXJrZXJSYW5nZUZvckVsZW1lbnQocCk7CisgICAgICAgIC8vIHRl
eHRhcmVhLgorICAgICAgICB2YXIgZWxlbWVudElEID0gInRleHRhcmVhIjsKKyAgICAgICAgdmFy
IHAgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoZWxlbWVu
dElEKTsKKyAgICAgICAgdmFyIHJhbmdlID0gcC50ZXh0TWFya2VyUmFuZ2VGb3JFbGVtZW50KHAp
OwogCiAgICAgICAgIHNldFRpbWVvdXQoYXN5bmMgKCkgPT4gewogICAgICAgICAgICAgLy8gU2Vs
ZWN0IGFsbCB0ZXh0LgogICAgICAgICAgICAgcC5zZXRTZWxlY3RlZFRleHRNYXJrZXJSYW5nZShy
YW5nZSk7Ci0gICAgICAgICAgICBsZXQgc2VsZWN0ZWRSYW5nZSA9IG51bGw7CisgICAgICAgICAg
ICB3aW5kb3cuc2VsZWN0ZWRSYW5nZSA9IG51bGw7CiAgICAgICAgICAgICBhd2FpdCB3YWl0Rm9y
KCgpID0+IHsKICAgICAgICAgICAgICAgICBzZWxlY3RlZFJhbmdlID0gcC5zZWxlY3RlZFRleHRN
YXJrZXJSYW5nZSgpOwogICAgICAgICAgICAgICAgIHJldHVybiBwLnRleHRNYXJrZXJSYW5nZUxl
bmd0aChzZWxlY3RlZFJhbmdlKSA9PSAxOTsKICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAg
ZGVidWcoYHNlbGVjdGVkIHRleHQgIiR7cC5zdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2Uoc2VsZWN0
ZWRSYW5nZSl9ImApOwogCi0gICAgICAgICAgICAvLyBTZWxlY3QgdGhlIGZpcnN0IDEwIGNoYXJh
Y3RlcnMuCisgICAgICAgICAgICAvLyBNb3ZlIHRoZSBpbnNlcnRpb24gcG9pbnQgdG8gdGhlIGJl
Z2lubmluZyBvZiB0aGUgZmllbGQuCiAgICAgICAgICAgICBsZXQgc3RhcnQgPSBwLnN0YXJ0VGV4
dE1hcmtlckZvclRleHRNYXJrZXJSYW5nZShyYW5nZSk7Ci0gICAgICAgICAgICBlbmQgPSBzdGFy
dDsKKyAgICAgICAgICAgIGxldCBlbmQgPSBzdGFydDsKKyAgICAgICAgICAgIHJhbmdlID0gcC50
ZXh0TWFya2VyUmFuZ2VGb3JNYXJrZXJzKHN0YXJ0LCBlbmQpOworICAgICAgICAgICAgcC5zZXRT
ZWxlY3RlZFRleHRNYXJrZXJSYW5nZShyYW5nZSk7CisgICAgICAgICAgICBhd2FpdCB3YWl0Rm9y
KCgpID0+IHsKKyAgICAgICAgICAgICAgICBzZWxlY3RlZFJhbmdlID0gcC5zZWxlY3RlZFRleHRN
YXJrZXJSYW5nZSgpOworICAgICAgICAgICAgICAgIHJldHVybiBwLnRleHRNYXJrZXJSYW5nZUxl
bmd0aChzZWxlY3RlZFJhbmdlKSA9PSAwOworICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBs
ZXQgc2VsZWN0aW9uU3RhcnQgPSBwLnN0YXJ0VGV4dE1hcmtlckZvclRleHRNYXJrZXJSYW5nZShz
ZWxlY3RlZFJhbmdlKTsKKyAgICAgICAgICAgIGxldCBzZWxlY3Rpb25FbmQgPSBwLmVuZFRleHRN
YXJrZXJGb3JUZXh0TWFya2VyUmFuZ2Uoc2VsZWN0ZWRSYW5nZSk7CisgICAgICAgICAgICAvLyBN
b3ZlIHNlbGVjdGlvbkVuZCBvbmUgb3ZlciBzbyB0aGF0IHdlIGhhdmUgYSBsZW5ndGggMSByYW5n
ZSBhbmQgd2UgY2FuIGdldCB0aGUgY2hhcmFjdGVyIGF0IHRoZSBpbnNlcnRpb24gcG9pbnQuCisg
ICAgICAgICAgICBzZWxlY3Rpb25FbmQgPSBwLm5leHRUZXh0TWFya2VyKHNlbGVjdGlvbkVuZCk7
CisgICAgICAgICAgICBkZWJ1Zyhgc2VsZWN0ZWQgdGV4dCAiJHtwLnN0cmluZ0ZvclRleHRNYXJr
ZXJSYW5nZShwLnRleHRNYXJrZXJSYW5nZUZvck1hcmtlcnMoc2VsZWN0aW9uU3RhcnQsIHNlbGVj
dGlvbkVuZCkpfSJgKTsKKworICAgICAgICAgICAgLy8gU2VsZWN0IHRoZSBmaXJzdCAxMCBjaGFy
YWN0ZXJzLgogICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxMDsgKytpKQogICAgICAg
ICAgICAgICAgIGVuZCA9IHAubmV4dFRleHRNYXJrZXIoZW5kKTsKICAgICAgICAgICAgIHJhbmdl
ID0gcC50ZXh0TWFya2VyUmFuZ2VGb3JNYXJrZXJzKHN0YXJ0LCBlbmQpOwpAQCAtNTUsOCArNjgs
MjEgQEAKICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgZGVidWcoYHNlbGVjdGVkIHRleHQg
IiR7cC5zdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2Uoc2VsZWN0ZWRSYW5nZSl9ImApOwogCi0gICAg
ICAgICAgICBlbGVtZW50SUQgPSAidGV4dGZpZWxkIjsKKyAgICAgICAgICAgIC8vIE1vdmUgdGhl
IGluc2VydGlvbiBwb2ludCB0byB0aGUgZW5kIG9mIHRoZSBmaWVsZC4KKyAgICAgICAgICAgIHJh
bmdlID0gcC50ZXh0TWFya2VyUmFuZ2VGb3JFbGVtZW50KHApOworICAgICAgICAgICAgZW5kID0g
cC5lbmRUZXh0TWFya2VyRm9yVGV4dE1hcmtlclJhbmdlKHJhbmdlKTsKKyAgICAgICAgICAgIHN0
YXJ0ID0gZW5kOworICAgICAgICAgICAgcmFuZ2UgPSBwLnRleHRNYXJrZXJSYW5nZUZvck1hcmtl
cnMoc3RhcnQsIGVuZCk7CisgICAgICAgICAgICBwLnNldFNlbGVjdGVkVGV4dE1hcmtlclJhbmdl
KHJhbmdlKTsKKyAgICAgICAgICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4geworICAgICAgICAgICAg
ICAgIHNlbGVjdGVkUmFuZ2UgPSBwLnNlbGVjdGVkVGV4dE1hcmtlclJhbmdlKCk7CisgICAgICAg
ICAgICAgICAgcmV0dXJuIHAudGV4dE1hcmtlclJhbmdlTGVuZ3RoKHNlbGVjdGVkUmFuZ2UpID09
IDA7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIHNlbGVjdGVkUmFuZ2UgPSBwLnNlbGVj
dGVkVGV4dE1hcmtlclJhbmdlKCk7CisgICAgICAgICAgICBzaG91bGRCZSgicC50ZXh0TWFya2Vy
UmFuZ2VMZW5ndGgoc2VsZWN0ZWRSYW5nZSkiLCAiMCIpOwogCisgICAgICAgICAgICAvLyBJbnB1
dCB0ZXh0IGZpZWxkLgorICAgICAgICAgICAgZWxlbWVudElEID0gInRleHRmaWVsZCI7CiAgICAg
ICAgICAgICBwID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlk
KGVsZW1lbnRJRCk7CiAgICAgICAgICAgICByYW5nZSA9IHAudGV4dE1hcmtlclJhbmdlRm9yRWxl
bWVudChwKTsKIApAQCAtNjksOSArOTUsMjIgQEAKICAgICAgICAgICAgIH0pOwogICAgICAgICAg
ICAgZGVidWcoYHNlbGVjdGVkIHRleHQgIiR7cC5zdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2Uoc2Vs
ZWN0ZWRSYW5nZSl9ImApOwogCi0gICAgICAgICAgICAvLyBTZWxlY3QgdGhlIGZpcnN0IDEwIGNo
YXJhY3RlcnMuCisgICAgICAgICAgICAvLyBNb3ZlIHRoZSBpbnNlcnRpb24gcG9pbnQgdG8gdGhl
IGJlZ2lubmluZyBvZiB0aGUgZmllbGQuCiAgICAgICAgICAgICBzdGFydCA9IHAuc3RhcnRUZXh0
TWFya2VyRm9yVGV4dE1hcmtlclJhbmdlKHJhbmdlKTsKICAgICAgICAgICAgIGVuZCA9IHN0YXJ0
OworICAgICAgICAgICAgcmFuZ2UgPSBwLnRleHRNYXJrZXJSYW5nZUZvck1hcmtlcnMoc3RhcnQs
IGVuZCk7CisgICAgICAgICAgICBwLnNldFNlbGVjdGVkVGV4dE1hcmtlclJhbmdlKHJhbmdlKTsK
KyAgICAgICAgICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4geworICAgICAgICAgICAgICAgIHNlbGVj
dGVkUmFuZ2UgPSBwLnNlbGVjdGVkVGV4dE1hcmtlclJhbmdlKCk7CisgICAgICAgICAgICAgICAg
cmV0dXJuIHAudGV4dE1hcmtlclJhbmdlTGVuZ3RoKHNlbGVjdGVkUmFuZ2UpID09IDA7CisgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIHNlbGVjdGlvblN0YXJ0ID0gcC5zdGFydFRleHRNYXJr
ZXJGb3JUZXh0TWFya2VyUmFuZ2Uoc2VsZWN0ZWRSYW5nZSk7CisgICAgICAgICAgICBzZWxlY3Rp
b25FbmQgPSBwLmVuZFRleHRNYXJrZXJGb3JUZXh0TWFya2VyUmFuZ2Uoc2VsZWN0ZWRSYW5nZSk7
CisgICAgICAgICAgICAvLyBNb3ZlIHNlbGVjdGlvbkVuZCBvbmUgb3ZlciBzbyB0aGF0IHdlIGhh
dmUgYSBsZW5ndGggMSByYW5nZSBhbmQgd2UgY2FuIGdldCB0aGUgY2hhcmFjdGVyIGF0IHRoZSBp
bnNlcnRpb24gcG9pbnQuCisgICAgICAgICAgICBzZWxlY3Rpb25FbmQgPSBwLm5leHRUZXh0TWFy
a2VyKHNlbGVjdGlvbkVuZCk7CisgICAgICAgICAgICBkZWJ1Zyhgc2VsZWN0ZWQgdGV4dCAiJHtw
LnN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZShwLnRleHRNYXJrZXJSYW5nZUZvck1hcmtlcnMoc2Vs
ZWN0aW9uU3RhcnQsIHNlbGVjdGlvbkVuZCkpfSJgKTsKKworICAgICAgICAgICAgLy8gU2VsZWN0
IHRoZSBmaXJzdCAxMCBjaGFyYWN0ZXJzLgogICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkg
PCAxMDsgKytpKQogICAgICAgICAgICAgICAgIGVuZCA9IHAubmV4dFRleHRNYXJrZXIoZW5kKTsK
ICAgICAgICAgICAgIHJhbmdlID0gcC50ZXh0TWFya2VyUmFuZ2VGb3JNYXJrZXJzKHN0YXJ0LCBl
bmQpOwpAQCAtOTUsNiArMTM0LDE5IEBACiAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIGRl
YnVnKGBzZWxlY3RlZCB0ZXh0ICIke3Auc3RyaW5nRm9yVGV4dE1hcmtlclJhbmdlKHNlbGVjdGVk
UmFuZ2UpfSJgKTsKIAorICAgICAgICAgICAgLy8gTW92ZSB0aGUgaW5zZXJ0aW9uIHBvaW50IHRv
IHRoZSBlbmQgb2YgdGhlIGZpZWxkLgorICAgICAgICAgICAgcmFuZ2UgPSBwLnRleHRNYXJrZXJS
YW5nZUZvckVsZW1lbnQocCk7CisgICAgICAgICAgICBlbmQgPSBwLmVuZFRleHRNYXJrZXJGb3JU
ZXh0TWFya2VyUmFuZ2UocmFuZ2UpOworICAgICAgICAgICAgc3RhcnQgPSBlbmQ7CisgICAgICAg
ICAgICByYW5nZSA9IHAudGV4dE1hcmtlclJhbmdlRm9yTWFya2VycyhzdGFydCwgZW5kKTsKKyAg
ICAgICAgICAgIHAuc2V0U2VsZWN0ZWRUZXh0TWFya2VyUmFuZ2UocmFuZ2UpOworICAgICAgICAg
ICAgYXdhaXQgd2FpdEZvcigoKSA9PiB7CisgICAgICAgICAgICAgICAgc2VsZWN0ZWRSYW5nZSA9
IHAuc2VsZWN0ZWRUZXh0TWFya2VyUmFuZ2UoKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gcC50
ZXh0TWFya2VyUmFuZ2VMZW5ndGgoc2VsZWN0ZWRSYW5nZSkgPT0gMDsKKyAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgc2VsZWN0ZWRSYW5nZSA9IHAuc2VsZWN0ZWRUZXh0TWFya2VyUmFuZ2Uo
KTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJwLnRleHRNYXJrZXJSYW5nZUxlbmd0aChzZWxlY3Rl
ZFJhbmdlKSIsICIwIik7CisKICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwogICAgICAgICB9
LCAwKTsKICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHQt
bWFya2VyL3RleHQtbWFya2VyLXByZXZpb3VzLW5leHQuaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vz
c2liaWxpdHkvdGV4dC1tYXJrZXIvdGV4dC1tYXJrZXItcHJldmlvdXMtbmV4dC5odG1sCmluZGV4
IGYyNzgwOGJhNzE0YzNjOTM4NzYyYzE0YWZmMzE2ZGIzYzBhY2U3Y2QuLjVjZjA3N2Q0NzE1YzFl
YTBiN2I2NjhhYjBlNTVhMDA3OTI5N2YzZjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vz
c2liaWxpdHkvdGV4dC1tYXJrZXIvdGV4dC1tYXJrZXItcHJldmlvdXMtbmV4dC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGV4dC1tYXJrZXIvdGV4dC1tYXJrZXItcHJldmlv
dXMtbmV4dC5odG1sCkBAIC04MSw4ICs4MSwxMSBAQCBmCiAgICAgICAgIHByZXZpb3VzTWFya2Vy
ID0gcmVzdWx0LnByZXZpb3VzOwogICAgICAgICBjdXJyZW50TWFya2VyID0gcmVzdWx0LmN1cnJl
bnQ7CiAgICAgICAgIG1hcmtlclJhbmdlID0gdGV4dC50ZXh0TWFya2VyUmFuZ2VGb3JNYXJrZXJz
KHByZXZpb3VzTWFya2VyLCBjdXJyZW50TWFya2VyKTsKLSAgICAgICAgc2hvdWxkQmUoInRleHQu
c3RyaW5nRm9yVGV4dE1hcmtlclJhbmdlKG1hcmtlclJhbmdlKSIsICIndCciKTsKLSAgICAgICAg
CisgICAgICAgIGlmIChhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5wbGF0Zm9ybU5hbWUgPT0gIm1h
YyIpCisgICAgICAgICAgICBzaG91bGRCZSgidGV4dC5zdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2Uo
bWFya2VyUmFuZ2UpIiwgIid0JyArIG5ld2xpbmUiKTsKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgc2hvdWxkQmUoInRleHQuc3RyaW5nRm9yVGV4dE1hcmtlclJhbmdlKG1hcmtlclJhbmdlKSIs
ICIndCciKTsKKwogICAgICAgICAvLyBDaGVjayB0aGUgY2FzZSB3aXRoIHJlcGxhY2VkIG5vZGUK
ICAgICAgICAgdmFyIHRleHQyID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVs
ZW1lbnRCeUlkKCJ0ZXh0MiIpOwogICAgICAgICB2YXIgdGV4dE1hcmtlclJhbmdlMiA9IHRleHQy
LnRleHRNYXJrZXJSYW5nZUZvckVsZW1lbnQodGV4dDIpOwpAQCAtMjIyLDQgKzIyNSw0IEBAIGYK
IAogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L3RleHQt
bWFya2VyL3RleHQtbWFya2VyLXByZXZpb3VzLW5leHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvdGV4dC1tYXJrZXIvdGV4dC1tYXJrZXItcHJl
dmlvdXMtbmV4dC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWM1OTU4YTUyMDZmYmYzYjEzMjVi
MmI1MTI5NjBkZGQ1MDkzZjlkYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9hY2Nlc3NpYmlsaXR5L3RleHQtbWFya2VyL3RleHQtbWFya2VyLXByZXZpb3VzLW5l
eHQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDcgQEAKK3RleHQKKwordGV4dDEKK2MgIGQKKwor
Y2FuJ3Qgc2VsZWN0CithYmMgZGUgZgor8J+Yg/CfmI8KKworYSBiCisKK1RoaXMgdGVzdHMgdGhl
IG5leHQvcHJldmlvdXMgdGV4dCBtYXJrZXIgZnVuY3Rpb25zIGFyZSBpbXBsZW1lbnRlZCBjb3Jy
ZWN0bHkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHRleHQudGV4dE1h
cmtlclJhbmdlTGVuZ3RoKHRleHRNYXJrZXJSYW5nZSkgaXMgNAorUEFTUyB0ZXh0LmFjY2Vzc2li
aWxpdHlFbGVtZW50Rm9yVGV4dE1hcmtlcihzdGFydE1hcmtlcikuaXNFcXVhbCh0ZXh0KSBpcyB0
cnVlCitQQVNTIHRleHQuYWNjZXNzaWJpbGl0eUVsZW1lbnRGb3JUZXh0TWFya2VyKGVuZE1hcmtl
cikuaXNFcXVhbCh0ZXh0KSBpcyB0cnVlCitQQVNTIHRleHQuc3RyaW5nRm9yVGV4dE1hcmtlclJh
bmdlKG1hcmtlclJhbmdlKSBpcyBuZXdsaW5lCitQQVNTIHRleHQuc3RyaW5nRm9yVGV4dE1hcmtl
clJhbmdlKG1hcmtlclJhbmdlKSBpcyAndCcKK1BBU1MgdGV4dC5zdHJpbmdGb3JUZXh0TWFya2Vy
UmFuZ2UobWFya2VyUmFuZ2UpIGlzIG5ld2xpbmUKK1BBU1MgdGV4dC5zdHJpbmdGb3JUZXh0TWFy
a2VyUmFuZ2UobWFya2VyUmFuZ2UpIGlzICd0JyArIG5ld2xpbmUKK1BBU1MgdGV4dDIudGV4dE1h
cmtlclJhbmdlTGVuZ3RoKHRleHRNYXJrZXJSYW5nZTIpIGlzIDUKK09iamVjdCBzdHJpbmcgZm9y
IHJhbmdlOiBjIFtBVFRBQ0hNRU5UXSBkCitQQVNTIHRleHQyLnN0cmluZ0ZvclRleHRNYXJrZXJS
YW5nZShtYXJrZXJSYW5nZSkgaXMgJ2QnCitQQVNTIHRleHQyLnN0cmluZ0ZvclRleHRNYXJrZXJS
YW5nZShtYXJrZXJSYW5nZSkgaXMgJzEnCitQQVNTIHRleHQzLnN0cmluZ0ZvclRleHRNYXJrZXJS
YW5nZShtYXJrZXJSYW5nZSkgaXMgJ2VjdCcKK1BBU1MgdGV4dDMuc3RyaW5nRm9yVGV4dE1hcmtl
clJhbmdlKG1hcmtlclJhbmdlKSBpcyAnc2VsJworUEFTUyAhcHN3LmFjY2Vzc2liaWxpdHlFbGVt
ZW50Rm9yVGV4dE1hcmtlcihzdGFydCkgaXMgdHJ1ZQorUEFTUyB0ZXh0Mi5hY2Nlc3NpYmlsaXR5
RWxlbWVudEZvclRleHRNYXJrZXIoY3VycmVudE1hcmtlcikuaXNFcXVhbCh0ZXh0MykgaXMgdHJ1
ZQorUEFTUyB0ZXh0Mi5hY2Nlc3NpYmlsaXR5RWxlbWVudEZvclRleHRNYXJrZXIoY3VycmVudE1h
cmtlcikuaXNFcXVhbCh0ZXh0Mi5jaGlsZEF0SW5kZXgoMikpIGlzIHRydWUKK1BBU1MgdGV4dC5z
dHJpbmdGb3JUZXh0TWFya2VyUmFuZ2UobWFya2VyUmFuZ2UpIGlzICdmJworUEFTUyB0ZXh0LnN0
cmluZ0ZvclRleHRNYXJrZXJSYW5nZShtYXJrZXJSYW5nZSkgaXMgJ2EnCitQQVNTIHRleHQudGV4
dE1hcmtlclJhbmdlTGVuZ3RoKGVtb2ppVGV4dE1hcmtlclJhbmdlKSBpcyA0CitQQVNTIHRleHQu
c3RyaW5nRm9yVGV4dE1hcmtlclJhbmdlKHRleHQudGV4dE1hcmtlclJhbmdlRm9yTWFya2Vycyhy
ZXN1bHQucHJldmlvdXMsIHJlc3VsdC5jdXJyZW50KSkgaXMgJ/CfmI8nCitQQVNTIHRleHQuc3Ry
aW5nRm9yVGV4dE1hcmtlclJhbmdlKHRleHQudGV4dE1hcmtlclJhbmdlRm9yTWFya2VycyhyZXN1
bHQucHJldmlvdXMsIHJlc3VsdC5jdXJyZW50KSkgaXMgJ/CfmIMnCitQQVNTIHRleHQudGV4dE1h
cmtlclJhbmdlTGVuZ3RoKGNvbGxhcHNlZFdoaXRlc3BhY2VNYXJrZXJSYW5nZSkgaXMgMworUEFT
UyB0ZXh0LnN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZSh0ZXh0LnRleHRNYXJrZXJSYW5nZUZvck1h
cmtlcnMocmVzdWx0LnByZXZpb3VzLCByZXN1bHQuY3VycmVudCkpIGlzICdhJworUEFTUyB0ZXh0
LnN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZSh0ZXh0LnRleHRNYXJrZXJSYW5nZUZvck1hcmtlcnMo
cmVzdWx0LnByZXZpb3VzLCByZXN1bHQuY3VycmVudCkpIGlzICcgJworUEFTUyB0ZXh0LnN0cmlu
Z0ZvclRleHRNYXJrZXJSYW5nZSh0ZXh0LnRleHRNYXJrZXJSYW5nZUZvck1hcmtlcnMocmVzdWx0
LnByZXZpb3VzLCByZXN1bHQuY3VycmVudCkpIGlzICdiJworUEFTUyB0ZXh0LnN0cmluZ0ZvclRl
eHRNYXJrZXJSYW5nZSh0ZXh0LnRleHRNYXJrZXJSYW5nZUZvck1hcmtlcnMocmVzdWx0LnByZXZp
b3VzLCByZXN1bHQuY3VycmVudCkpIGlzICcgJworUEFTUyB0ZXh0LnN0cmluZ0ZvclRleHRNYXJr
ZXJSYW5nZSh0ZXh0LnRleHRNYXJrZXJSYW5nZUZvck1hcmtlcnMocmVzdWx0LnByZXZpb3VzLCBy
ZXN1bHQuY3VycmVudCkpIGlzICdhJworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438059</attachid>
            <date>2021-09-13 11:21:10 -0700</date>
            <delta_ts>2021-09-13 15:43:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230166-20210913142109.patch</filename>
            <type>text/plain</type>
            <size>26688</size>
            <attacher name="Andres Gonzalez">andresg_22</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMzI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjI0MDNlODNlZTUxMjI0
OTI1ZGVhYzZlYjYwM2QwNGEwZDdkMTJhOS4uNThjOWJhZDA4MDNlZjA2Y2EyODVkMWIzOTAyYmMz
MDE0YTFkZWNkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIxLTA5LTEzICBBbmRy
ZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogc2V0IGlu
c2VydGlvbiBwb2ludCB0byB0aGUgZW5kIG9mIGEgbmF0aXZlIHRleHQgY29udHJvbCBkb2VzIG5v
dCB3b3JrIHdoZW4gcGFzc2luZyBhIGNvbGxhcHNlZCBUZXh0TWFya2VyUmFuZ2Ugd2l0aCBib3Ro
IHN0YXJ0IGFuZCBlbmQgZXF1YWxzIHRvIHRoZSBlbmQgVGV4dE1hcmtlciBmb3IgdGhlIGVsZW1l
bnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAx
NjYKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBGbGVpemFjaC4KKworICAgICAgICBUZXN0
OiBhY2Nlc3NpYmlsaXR5L21hYy9uYXRpdmUtdGV4dC1jb250cm9sLXNldC1zZWxlY3RlZC10ZXh0
bWFya2VyLXJhbmdlLmh0bWwKKworICAgICAgICBBZGRlZCBhIHNwZWNpYWwgY2FzZSB0byBBWCBv
YmplY3QncyBzZXRTZWxlY3RlZFZpc2libGVQb3NpdGlvblJhbmdlIGZvcgorICAgICAgICB3aGVu
IHRoZSBwYXNzZWQgcmFuZ2UgaXMgYSBjb2xsYXBzZWQgcmFuZ2UgdG8gdGhlIGVuZCBvZiBhIG5h
dGl2ZSB0ZXh0CisgICAgICAgIGNvbnRyb2wgZWxlbWVudCdzIHJhbmdlLgorICAgICAgICBUbyBh
Y2NvbXBsaXNoIHRoaXMsIGl0IGlzIG5lY2Vzc2FyeSB0byBjb21wYXJlIGZvciBlcXVhbGl0eSB0
d28KKyAgICAgICAgVmlzaWJsZVBvc2l0aW9ucyBvYnRhaW5lZCBmcm9tIFRleHRNYXJrZXJzLgor
ICAgICAgICBJbiBvcmRlciB0byByZWNvbnN0cnVjdCB0aGUgVmlzaWJsZVBvc2l0aW9ucyBmcm9t
IHRoZSBUZXh0TWFya2VycyBpbiBhCisgICAgICAgIHdheSB0aGF0IGVxdWFsaXR5IGlzIHByZXNl
cnZlZCwgdGhlIEFuY2hvclR5cGUgb2YgdGhlIHVuZGVybHlpbmcKKyAgICAgICAgUG9zaXRpb24g
bmVlZHMgdG8gYmUgYWRkZWQgdG8gdGhlIFRleHRNYXJrZXJEYXRhLgorCisgICAgICAgICogYWNj
ZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcDoKKyAgICAgICAgQWRkZWQgdGhlIEFuY2hvclR5
cGUgdG8gdGhlIFRleHRNYXJrZXJEYXRhIHN0cnVjdC4KKyAgICAgICAgKFdlYkNvcmU6OkFYT2Jq
ZWN0Q2FjaGU6OnZpc2libGVQb3NpdGlvbkZvclRleHRNYXJrZXJEYXRhKToKKyAgICAgICAgKFdl
YkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnRleHRNYXJrZXJEYXRhRm9yVmlzaWJsZVBvc2l0aW9uKToK
KyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6c2V0U2VsZWN0ZWRWaXNpYmxlUG9zaXRpb25S
YW5nZSBjb25zdCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1h
Yy5tbToKKyAgICAgICAgRXhwb3NlZCB0ZXh0TWFya2VyUmFuZ2VGcm9tTWFya2Vycy4KKyAgICAg
ICAgKFdlYkNvcmU6OnRleHRNYXJrZXJSYW5nZUZyb21NYXJrZXJzKToKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5oOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1t
OgorICAgICAgICBBZGRlZCB0aGUgQVhUZXh0TWFya2VyUmFuZ2VGb3JUZXh0TWFya2VycyBhdHRy
aWJ1dGUgd2hpY2gsIHVubGlrZQorICAgICAgICBBWFRleHRNYXJrZXJSYW5nZUZvclVub3JkZXJl
ZFRleHRNYXJrZXJzLCBhc3N1bWVzIHRoYXQgdGhlIHJhbmdlJ3Mgc3RhcnQKKyAgICAgICAgYW5k
IGVuZCBhcmUgb3JkZXJlZCwgYW5kIHRodXMgaXMgbW9yZSBlZmZpY2llbnQuCisgICAgICAgICgt
W1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIEFMTE9XX0RFUFJFQ0FURURfSU1QTEVNRU5U
QVRJT05TX0VORF0pOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBh
Y2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6Zm9yUGFyYW1ldGVyOl0pOgorCiAyMDIxLTA5LTEz
ICBEaWVnbyBQaW5vIEdhcmNpYSAgPGRwaW5vQGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZp
ZXdlZCBidWlsZCBmaXggZm9yIFVidW50dSBMVFMvRGViaWFuIHIyODIyNzAgCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAppbmRleCAwNzI4Y2NkZjAw
YmUzYmRkMGE2OTBkZDViODlhODAwMzljZDcyZGM3Li5iZWEzYTA4NDJhNmQ4YTEzMjE1MDNmOWJi
NTdkZTM3OTA5M2NmOGM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FYT2JqZWN0Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5jcHAKQEAgLTE5MjYsNyArMTkyNiw3IEBAIFZpc2libGVQb3NpdGlvbiBBWE9i
amVjdENhY2hlOjp2aXNpYmxlUG9zaXRpb25Gb3JUZXh0TWFya2VyRGF0YShUZXh0TWFya2VyRGF0
YSYKICAgICAgICAgfHwgdGV4dE1hcmtlckRhdGEubm9kZS0+aXNQc2V1ZG9FbGVtZW50KCkpCiAg
ICAgICAgIHJldHVybiB7IH07CiAKLSAgICBhdXRvIHZpc2libGVQb3NpdGlvbiA9IFZpc2libGVQ
b3NpdGlvbihtYWtlQ29udGFpbmVyT2Zmc2V0UG9zaXRpb24odGV4dE1hcmtlckRhdGEubm9kZSwg
dGV4dE1hcmtlckRhdGEub2Zmc2V0KSwgdGV4dE1hcmtlckRhdGEuYWZmaW5pdHkpOworICAgIGF1
dG8gdmlzaWJsZVBvc2l0aW9uID0gVmlzaWJsZVBvc2l0aW9uKHsgdGV4dE1hcmtlckRhdGEubm9k
ZSwgdGV4dE1hcmtlckRhdGEub2Zmc2V0LCB0ZXh0TWFya2VyRGF0YS5hbmNob3JUeXBlIH0sIHRl
eHRNYXJrZXJEYXRhLmFmZmluaXR5KTsKICAgICBhdXRvIGRlZXBQb3NpdGlvbiA9IHZpc2libGVQ
b3NpdGlvbi5kZWVwRXF1aXZhbGVudCgpOwogICAgIGlmIChkZWVwUG9zaXRpb24uaXNOdWxsKCkp
CiAgICAgICAgIHJldHVybiB7IH07CkBAIC0yNTEwLDcgKzI1MTAsNyBAQCBzdGQ6Om9wdGlvbmFs
PFRleHRNYXJrZXJEYXRhPiBBWE9iamVjdENhY2hlOjp0ZXh0TWFya2VyRGF0YUZvclZpc2libGVQ
b3NpdGlvbihjbwogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCiAgICAgUG9zaXRpb24g
ZGVlcFBvcyA9IHZpc2libGVQb3MuZGVlcEVxdWl2YWxlbnQoKTsKLSAgICBOb2RlKiBkb21Ob2Rl
ID0gZGVlcFBvcy5kZXByZWNhdGVkTm9kZSgpOworICAgIE5vZGUqIGRvbU5vZGUgPSBkZWVwUG9z
LmFuY2hvck5vZGUoKTsKICAgICBBU1NFUlQoZG9tTm9kZSk7CiAgICAgaWYgKCFkb21Ob2RlKQog
ICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwpAQCAtMjU0MSw2ICsyNTQxLDcgQEAgc3RkOjpv
cHRpb25hbDxUZXh0TWFya2VyRGF0YT4gQVhPYmplY3RDYWNoZTo6dGV4dE1hcmtlckRhdGFGb3JW
aXNpYmxlUG9zaXRpb24oY28KICAgICB0ZXh0TWFya2VyRGF0YS5heElEID0gb2JqLmdldCgpLT5v
YmplY3RJRCgpOwogICAgIHRleHRNYXJrZXJEYXRhLm5vZGUgPSBkb21Ob2RlOwogICAgIHRleHRN
YXJrZXJEYXRhLm9mZnNldCA9IGRlZXBQb3MuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKTsKKyAg
ICB0ZXh0TWFya2VyRGF0YS5hbmNob3JUeXBlID0gZGVlcFBvcy5hbmNob3JUeXBlKCk7CiAgICAg
dGV4dE1hcmtlckRhdGEuYWZmaW5pdHkgPSB2aXNpYmxlUG9zLmFmZmluaXR5KCk7CiAKICAgICB0
ZXh0TWFya2VyRGF0YS5jaGFyYWN0ZXJPZmZzZXQgPSBjaGFyYWN0ZXJPZmZzZXQub2Zmc2V0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAppbmRleCA0YjYw
N2JkNTc5ZjY1NWZiYTMyMjhjYjRlYzc0YmM5ODFmMWQ1NzE3Li40MzlmNmI0ZTc5YmQ4ZTM1YzQ3
ZjJiNjhmMzJkMzJhYTZiN2RjYWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FYT2JqZWN0Q2FjaGUuaApAQCAtNjAsMTIgKzYwLDE1IEBAIGNsYXNzIFdpZGdldDsKIAogc3Ry
dWN0IFRleHRNYXJrZXJEYXRhIHsKICAgICBBWElEIGF4SUQgeyAwIH07CisKICAgICBOb2RlKiBu
b2RlIHsgbnVsbHB0ciB9OwotICAgIGludCBvZmZzZXQgeyAwIH07CisgICAgdW5zaWduZWQgb2Zm
c2V0IHsgMCB9OworICAgIFBvc2l0aW9uOjpBbmNob3JUeXBlIGFuY2hvclR5cGUgeyBQb3NpdGlv
bjo6UG9zaXRpb25Jc09mZnNldEluQW5jaG9yIH07CisgICAgQWZmaW5pdHkgYWZmaW5pdHkgeyBB
ZmZpbml0eTo6RG93bnN0cmVhbSB9OworCiAgICAgaW50IGNoYXJhY3RlclN0YXJ0SW5kZXggeyAw
IH07CiAgICAgaW50IGNoYXJhY3Rlck9mZnNldCB7IDAgfTsKICAgICBib29sIGlnbm9yZWQgeyBm
YWxzZSB9OwotICAgIEFmZmluaXR5IGFmZmluaXR5IHsgQWZmaW5pdHk6OkRvd25zdHJlYW0gfTsK
IH07CiAKIHN0cnVjdCBDaGFyYWN0ZXJPZmZzZXQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKaW5kZXgg
ODNiMDk2ZjM3MDVhNzc5Y2Y3MmYxZjQ4YTBmYjM4OTRiZDU0MjQ1NS4uODk3NTVmZTQxM2ViNzcz
NmY2MTU4YWM2YWI2ZTBiMmEzODhhZTFjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCkBAIC0yMzA4
LDEwICsyMzA4LDE2IEBAIHZvaWQgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6c2V0U2VsZWN0
ZWRWaXNpYmxlUG9zaXRpb25SYW5nZShjb25zdCBWaXNpYmxlUG9zCiAgICAgICAgIGlmIChyYW5n
ZS5zdGFydC5kZWVwRXF1aXZhbGVudCgpLmFuY2hvck5vZGUoKSA9PSByYW5nZS5lbmQuZGVlcEVx
dWl2YWxlbnQoKS5hbmNob3JOb2RlKCkKICAgICAgICAgICAgICYmIHJhbmdlLnN0YXJ0LmRlZXBF
cXVpdmFsZW50KCkuYW5jaG9yTm9kZSgpID09IHRleHRDb250cm9sKSB7CiAgICAgICAgICAgICBp
ZiAoYXV0byBpbm5lclRleHQgPSB0ZXh0Q29udHJvbC0+aW5uZXJUZXh0RWxlbWVudCgpKSB7Cisg
ICAgICAgICAgICAgICAgYXV0byB0ZXh0Q29udHJvbFJhbmdlID0gbWFrZVZpc2libGVQb3NpdGlv
blJhbmdlKEFYT2JqZWN0Q2FjaGU6OnJhbmdlRm9yTm9kZUNvbnRlbnRzKCp0ZXh0Q29udHJvbCkp
OwogICAgICAgICAgICAgICAgIGF1dG8gaW5uZXJSYW5nZSA9IG1ha2VWaXNpYmxlUG9zaXRpb25S
YW5nZShBWE9iamVjdENhY2hlOjpyYW5nZUZvck5vZGVDb250ZW50cygqaW5uZXJUZXh0KSk7Ci0g
ICAgICAgICAgICAgICAgaWYgKHJhbmdlLnN0YXJ0IDwgaW5uZXJSYW5nZS5zdGFydCkKKworICAg
ICAgICAgICAgICAgIGlmIChyYW5nZS5zdGFydC5lcXVhbHModGV4dENvbnRyb2xSYW5nZS5lbmQp
KQorICAgICAgICAgICAgICAgICAgICBzdGFydCA9IHRleHRDb250cm9sLT52YWx1ZSgpLmxlbmd0
aCgpOworICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJhbmdlLnN0YXJ0IDw9IGlubmVyUmFuZ2Uu
c3RhcnQpCiAgICAgICAgICAgICAgICAgICAgIHN0YXJ0ID0gMDsKLSAgICAgICAgICAgICAgICBp
ZiAocmFuZ2UuZW5kID49IGlubmVyUmFuZ2UuZW5kKQorCisgICAgICAgICAgICAgICAgaWYgKHJh
bmdlLmVuZCA+PSBpbm5lclJhbmdlLmVuZAorICAgICAgICAgICAgICAgICAgICB8fCByYW5nZS5l
bmQuZXF1YWxzKHRleHRDb250cm9sUmFuZ2UuZW5kKSkKICAgICAgICAgICAgICAgICAgICAgZW5k
ID0gdGV4dENvbnRyb2wtPnZhbHVlKCkubGVuZ3RoKCk7CiAgICAgICAgICAgICB9CiAgICAgICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FYT2JqZWN0
Q2FjaGVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENh
Y2hlTWFjLm1tCmluZGV4IDIwZTg1Y2VlNWRhZDRjYmZiNWJjN2NiYTI3YjRlZTZmMjg4YjY4ZjIu
LmU1YTc4NjdlZTZiNjg5ZWM5NjQyZjY1NjhmNjg2Yjc1YmI5NDE1YTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FYT2JqZWN0Q2FjaGVNYWMubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbQpAQCAt
NjEyLDcgKzYxMiw3IEBAIHN0YXRpYyBSZXRhaW5QdHI8QVhUZXh0TWFya2VyUmFuZ2VSZWY+IEFY
VGV4dE1hcmtlclJhbmdlKEFYVGV4dE1hcmtlclJlZiBzdGFydE1hCiAgICAgcmV0dXJuIGFkb3B0
Q0YoQVhUZXh0TWFya2VyUmFuZ2VDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgc3RhcnRNYXJr
ZXIsIGVuZE1hcmtlcikpOwogfQogCi1zdGF0aWMgUmV0YWluUHRyPEFYVGV4dE1hcmtlclJhbmdl
UmVmPiB0ZXh0TWFya2VyUmFuZ2VGcm9tTWFya2VycyhBWFRleHRNYXJrZXJSZWYgdGV4dE1hcmtl
cjEsIEFYVGV4dE1hcmtlclJlZiB0ZXh0TWFya2VyMikKK1JldGFpblB0cjxBWFRleHRNYXJrZXJS
YW5nZVJlZj4gdGV4dE1hcmtlclJhbmdlRnJvbU1hcmtlcnMoQVhUZXh0TWFya2VyUmVmIHRleHRN
YXJrZXIxLCBBWFRleHRNYXJrZXJSZWYgdGV4dE1hcmtlcjIpCiB7CiAgICAgaWYgKCF0ZXh0TWFy
a2VyMSB8fCAhdGV4dE1hcmtlcjIpCiAgICAgICAgIHJldHVybiBuaWw7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3Jh
cHBlck1hYy5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJp
bGl0eU9iamVjdFdyYXBwZXJNYWMuaAppbmRleCA3NDJiM2QwM2E0OGYyYjhlYjcyYTA5YTg1M2Y3
YTIxOWZhYmUyYTA0Li4wOGY5YmQ3NTE2MzQzN2M1YzI5NTE4ODYwYWZiYmMxMjUxODAzMjUyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmls
aXR5T2JqZWN0V3JhcHBlck1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
bWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLmgKQEAgLTY1LDYgKzY1LDcgQEAg
c3RydWN0IENoYXJhY3Rlck9mZnNldDsKIC8vIFRleHRNYXJrZXIgYW5kIFRleHRNYXJrZXJSYW5n
ZSBwdWJsaWMgZnVuY3N0aW9ucy4KIC8vIEZJWE1FOiBUZXh0TWFya2VyIGFuZCBUZXh0TWFya2Vy
UmFuZ2Ugc2hvdWxkIGJlY29tZSBjbGFzc2VzIG9uIHRoZWlyIG93biByaWdodCwgd3JhcHBpbmcg
dGhlIHN5c3RlbSBvYmplY3RzLgogCitSZXRhaW5QdHI8QVhUZXh0TWFya2VyUmFuZ2VSZWY+IHRl
eHRNYXJrZXJSYW5nZUZyb21NYXJrZXJzKEFYVGV4dE1hcmtlclJlZiwgQVhUZXh0TWFya2VyUmVm
KTsKIEFjY2Vzc2liaWxpdHlPYmplY3QqIGFjY2Vzc2liaWxpdHlPYmplY3RGb3JUZXh0TWFya2Vy
KEFYT2JqZWN0Q2FjaGUqLCBBWFRleHRNYXJrZXJSZWYpOwogCiAvLyBUZXh0TWFya2VyIDwtPiBW
aXNpYmxlUG9zaXRpb24gY29udmVyc2lvbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXJNYWMubW0KaW5kZXggYTJjYTE0ZDU5NDU1YzdkYWY2MGQ0NjcyYTkyZjI4OThjYjQ1MTdlNy4u
OWZjZjY4ZDg1M2Y5M2UyZjBlNGZkYmNkMGQ4OTgzYTc1MzI3NmVhOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXJNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNz
aWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0KQEAgLTMwNDMsNiArMzA0Myw3IEBAIEFMTE9XX0RF
UFJFQ0FURURfSU1QTEVNRU5UQVRJT05TX0VORAogICAgICAgICAgICAgQCJBWEJvdW5kc0ZvclRl
eHRNYXJrZXJSYW5nZSIsCiAgICAgICAgICAgICBAIkFYQXR0cmlidXRlZFN0cmluZ0ZvclRleHRN
YXJrZXJSYW5nZSIsCiAgICAgICAgICAgICBAIkFYQXR0cmlidXRlZFN0cmluZ0ZvclRleHRNYXJr
ZXJSYW5nZVdpdGhPcHRpb25zIiwKKyAgICAgICAgICAgIEAiQVhUZXh0TWFya2VyUmFuZ2VGb3JU
ZXh0TWFya2VycyIsCiAgICAgICAgICAgICBAIkFYVGV4dE1hcmtlclJhbmdlRm9yVW5vcmRlcmVk
VGV4dE1hcmtlcnMiLAogICAgICAgICAgICAgQCJBWE5leHRUZXh0TWFya2VyRm9yVGV4dE1hcmtl
ciIsCiAgICAgICAgICAgICBAIkFYUHJldmlvdXNUZXh0TWFya2VyRm9yVGV4dE1hcmtlciIsCkBA
IC00MDQyLDExICs0MDQzLDIwIEBAIEFMTE9XX0RFUFJFQ0FURURfSU1QTEVNRU5UQVRJT05TX0VO
RAogICAgICAgICByZXR1cm4gbmlsOwogICAgIH0KIAotICAgIGlmIChbYXR0cmlidXRlIGlzRXF1
YWxUb1N0cmluZzpAIkFYVGV4dE1hcmtlclJhbmdlRm9yVW5vcmRlcmVkVGV4dE1hcmtlcnMiXSkg
ewotICAgICAgICBpZiAoW2FycmF5IGNvdW50XSA8IDIpCisgICAgaWYgKFthdHRyaWJ1dGUgaXNF
cXVhbFRvU3RyaW5nOkAiQVhUZXh0TWFya2VyUmFuZ2VGb3JUZXh0TWFya2VycyJdKSB7CisgICAg
ICAgIGlmIChhcnJheS5jb3VudCA8IDIKKyAgICAgICAgICAgIHx8ICFBWE9iamVjdElzVGV4dE1h
cmtlcihbYXJyYXkgb2JqZWN0QXRJbmRleDowXSkKKyAgICAgICAgICAgIHx8ICFBWE9iamVjdElz
VGV4dE1hcmtlcihbYXJyYXkgb2JqZWN0QXRJbmRleDoxXSkpCiAgICAgICAgICAgICByZXR1cm4g
bmlsOworICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eTo6cmV0cmlldmVBdXRvcmVsZWFzZWRW
YWx1ZUZyb21NYWluVGhyZWFkPGlkPihbJmFycmF5XSAoKSAtPiBSZXRhaW5QdHI8aWQ+IHsKKyAg
ICAgICAgICAgIHJldHVybiAoaWQpdGV4dE1hcmtlclJhbmdlRnJvbU1hcmtlcnMoKEFYVGV4dE1h
cmtlclJlZilbYXJyYXkgb2JqZWN0QXRJbmRleDowXSwgKEFYVGV4dE1hcmtlclJlZilbYXJyYXkg
b2JqZWN0QXRJbmRleDoxXSkuZ2V0KCk7CisgICAgICAgIH0pOworICAgIH0KIAotICAgICAgICBp
ZiAoIUFYT2JqZWN0SXNUZXh0TWFya2VyKFthcnJheSBvYmplY3RBdEluZGV4OjBdKSB8fCAhQVhP
YmplY3RJc1RleHRNYXJrZXIoW2FycmF5IG9iamVjdEF0SW5kZXg6MF0pKQorICAgIGlmIChbYXR0
cmlidXRlIGlzRXF1YWxUb1N0cmluZzpAIkFYVGV4dE1hcmtlclJhbmdlRm9yVW5vcmRlcmVkVGV4
dE1hcmtlcnMiXSkgeworICAgICAgICBpZiAoYXJyYXkuY291bnQgPCAyCisgICAgICAgICAgICB8
fCAhQVhPYmplY3RJc1RleHRNYXJrZXIoW2FycmF5IG9iamVjdEF0SW5kZXg6MF0pCisgICAgICAg
ICAgICB8fCAhQVhPYmplY3RJc1RleHRNYXJrZXIoW2FycmF5IG9iamVjdEF0SW5kZXg6MV0pKQog
ICAgICAgICAgICAgcmV0dXJuIG5pbDsKIAogICAgICAgICBBWFRleHRNYXJrZXJSZWYgdGV4dE1h
cmtlcjEgPSAoQVhUZXh0TWFya2VyUmVmKVthcnJheSBvYmplY3RBdEluZGV4OjBdOwpkaWZmIC0t
Z2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDNlYTdiZGZkMTdl
NGU2ZGZjNmIwZjU1YzlmNjdkYzVhZTA2ZGZmNmUuLjE4NmZiYTZjOTViNmJlZWM5YTQ2ZGI5NWY2
OTNiOTFhYjRjZDEyM2QgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0wOS0xMyAgQW5kcmVzIEdvbnphbGV6ICA8
YW5kcmVzZ18yMkBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IHNldCBpbnNlcnRpb24gcG9pbnQg
dG8gdGhlIGVuZCBvZiBhIG5hdGl2ZSB0ZXh0IGNvbnRyb2wgZG9lcyBub3Qgd29yayB3aGVuIHBh
c3NpbmcgYSBjb2xsYXBzZWQgVGV4dE1hcmtlclJhbmdlIHdpdGggYm90aCBzdGFydCBhbmQgZW5k
IGVxdWFscyB0byB0aGUgZW5kIFRleHRNYXJrZXIgZm9yIHRoZSBlbGVtZW50LgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwMTY2CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgQ2hyaXMgRmxlaXphY2guCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tOgorICAgICAg
ICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0ZXh0TWFya2VyUmFuZ2VGb3JNYXJrZXJz
KToKKyAgICAgICAgVXNlIEFYVGV4dE1hcmtlclJhbmdlRm9yVGV4dE1hcmtlcnMgaW5zdGVhZCBv
ZgorICAgICAgICBBWFRleHRNYXJrZXJSYW5nZUZvclVub3JkZXJlZFRleHRNYXJrZXJzLgorCiAy
MDIxLTA5LTEzICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZWR1Y2UgRVdTIGVtYWlsIG5vdGlmaWNhdGlvbnMgdG8gQWFrYXNoCmRpZmYgLS1naXQgYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbSBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tCmluZGV4
IGE5MDNmMjViMGFjZTEyYWM5YmMzNWZiZDUwZjRjMzExNDJkOTc0ODEuLmQ2YThjMmVhOThhNjZk
ZmRkMzMyYzkxODY2YmNkNTM0NWE5ODVmNzUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tCkBAIC0xODUwLDExICsxODUw
LDExIEBAIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojph
dHRyaWJ1dGVkU3RyaW5nRm9yVGV4dE1hcmtlclJhCiBBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJh
bmdlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRleHRNYXJrZXJSYW5nZUZvck1hcmtlcnMoQWNj
ZXNzaWJpbGl0eVRleHRNYXJrZXIqIHN0YXJ0TWFya2VyLCBBY2Nlc3NpYmlsaXR5VGV4dE1hcmtl
ciogZW5kTWFya2VyKQogewogICAgIEJFR0lOX0FYX09CSkNfRVhDRVBUSU9OUwotICAgIE5TQXJy
YXkqIHRleHRNYXJrZXJzID0gQFtzdGFydE1hcmtlci0+cGxhdGZvcm1UZXh0TWFya2VyKCksIGVu
ZE1hcmtlci0+cGxhdGZvcm1UZXh0TWFya2VyKCldOwotICAgIGlkIHRleHRNYXJrZXJSYW5nZSA9
IFttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOkAiQVhUZXh0TWFya2VyUmFu
Z2VGb3JVbm9yZGVyZWRUZXh0TWFya2VycyIgZm9yUGFyYW1ldGVyOnRleHRNYXJrZXJzXTsKKyAg
ICBOU0FycmF5ICp0ZXh0TWFya2VycyA9IEBbc3RhcnRNYXJrZXItPnBsYXRmb3JtVGV4dE1hcmtl
cigpLCBlbmRNYXJrZXItPnBsYXRmb3JtVGV4dE1hcmtlcigpXTsKKyAgICBpZCB0ZXh0TWFya2Vy
UmFuZ2UgPSBbbV9lbGVtZW50IGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpAIkFYVGV4dE1h
cmtlclJhbmdlRm9yVGV4dE1hcmtlcnMiIGZvclBhcmFtZXRlcjp0ZXh0TWFya2Vyc107CiAgICAg
cmV0dXJuIEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2UodGV4dE1hcmtlclJhbmdlKTsKICAg
ICBFTkRfQVhfT0JKQ19FWENFUFRJT05TCi0gICAgCisKICAgICByZXR1cm4gbnVsbHB0cjsKIH0K
IApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMv
QWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0KaW5kZXggYzkyODVl
ZGQ0Y2EzMWJkMmI3ZGM1ODc5NDQ4NDFiZDgwNGVlYTE5Ni4uODkxNWNkZTBiZjg0NDAzMGMyMTcy
NDVlNDllNDU0MTgwY2NiYzgwNiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQorKysgYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50TWFjLm1tCkBAIC0xODcwLDE2ICsxODcwLDExIEBAIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVm
PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyZWN0c0ZvclRleHRNYXJrZXJSYW5nZShBY2Nlc3Np
CiBSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZT4gQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6dGV4dE1hcmtlclJhbmdlRm9yTWFya2VycyhBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlciog
c3RhcnRNYXJrZXIsIEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyKiBlbmRNYXJrZXIpCiB7CiAgICAg
QkVHSU5fQVhfT0JKQ19FWENFUFRJT05TCi0gICAgaWQgc3RhcnRQbGF0Zm9ybU1hcmtlciA9IHN0
YXJ0TWFya2VyLT5wbGF0Zm9ybVRleHRNYXJrZXIoKTsKLSAgICBpZCBlbmRQbGF0Zm9ybU1hcmtl
ciA9IGVuZE1hcmtlci0+cGxhdGZvcm1UZXh0TWFya2VyKCk7Ci0gICAgaWYgKCFzdGFydFBsYXRm
b3JtTWFya2VyIHx8ICFlbmRQbGF0Zm9ybU1hcmtlcikKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7
Ci0KLSAgICBOU0FycmF5KiB0ZXh0TWFya2VycyA9IEBbc3RhcnRQbGF0Zm9ybU1hcmtlciwgZW5k
UGxhdGZvcm1NYXJrZXJdOwotICAgIGlkIHRleHRNYXJrZXJSYW5nZSA9IFttX2VsZW1lbnQgYWNj
ZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOkAiQVhUZXh0TWFya2VyUmFuZ2VGb3JVbm9yZGVyZWRU
ZXh0TWFya2VycyIgZm9yUGFyYW1ldGVyOnRleHRNYXJrZXJzXTsKKyAgICBOU0FycmF5ICp0ZXh0
TWFya2VycyA9IEBbc3RhcnRNYXJrZXItPnBsYXRmb3JtVGV4dE1hcmtlcigpLCBlbmRNYXJrZXIt
PnBsYXRmb3JtVGV4dE1hcmtlcigpXTsKKyAgICBpZCB0ZXh0TWFya2VyUmFuZ2UgPSBbbV9lbGVt
ZW50IGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpAIkFYVGV4dE1hcmtlclJhbmdlRm9yVGV4
dE1hcmtlcnMiIGZvclBhcmFtZXRlcjp0ZXh0TWFya2Vyc107CiAgICAgcmV0dXJuIEFjY2Vzc2li
aWxpdHlUZXh0TWFya2VyUmFuZ2U6OmNyZWF0ZSh0ZXh0TWFya2VyUmFuZ2UpOwogICAgIEVORF9B
WF9PQkpDX0VYQ0VQVElPTlMKLSAgICAKKwogICAgIHJldHVybiBudWxscHRyOwogfQogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggODlkZDYzNDQ0NzNjY2Y3NTliZDJlYWZmNDgwZTViZWMwNThlYjE2Ni4uMzIyNDg0Y2YyMjQy
ZDU5ODdlMGVjYjZmYjUzNzMwYzBlNTYzZjVmMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIx
LTA5LTEzICBBbmRyZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KKworICAgICAg
ICBBWDogc2V0IGluc2VydGlvbiBwb2ludCB0byB0aGUgZW5kIG9mIGEgbmF0aXZlIHRleHQgY29u
dHJvbCBkb2VzIG5vdCB3b3JrIHdoZW4gcGFzc2luZyBhIGNvbGxhcHNlZCBUZXh0TWFya2VyUmFu
Z2Ugd2l0aCBib3RoIHN0YXJ0IGFuZCBlbmQgZXF1YWxzIHRvIHRoZSBlbmQgVGV4dE1hcmtlciBm
b3IgdGhlIGVsZW1lbnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzAxNjYKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBGbGVpemFjaC4KKwor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL2JvdW5kcy1mb3ItcmFuZ2UtZXhwZWN0ZWQudHh0
OgorICAgICAgICBBZGRlZCBBWFRleHRNYXJrZXJSYW5nZUZvclRleHRNYXJrZXJzIGF0dHJpYnV0
ZSBuYW1lLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL25hdGl2ZS10ZXh0LWNvbnRyb2wt
c2V0LXNlbGVjdGVkLXRleHRtYXJrZXItcmFuZ2UtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGFj
Y2Vzc2liaWxpdHkvbWFjL25hdGl2ZS10ZXh0LWNvbnRyb2wtc2V0LXNlbGVjdGVkLXRleHRtYXJr
ZXItcmFuZ2UuaHRtbDoKKyAgICAgICAgRXhwYW5kZWQgdG8gaW5jbHVkZSB0aGUgdGVzdCBjYXNl
cyB0byBtb3ZlIHRoZSBpbnNlcnRpb24gcG9pbnQgdG8gdGhlCisgICAgICAgIGJlZ2lubmluZyBh
bmQgZW5kIG9mIHRoZSB0ZXh0IGNvdG5yb2wuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS90ZXh0
LW1hcmtlci90ZXh0LW1hcmtlci1wcmV2aW91cy1uZXh0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L3RleHQtbWFya2VyL3RleHQtbWFya2VyLXByZXZpb3VzLW5leHQuaHRt
bDoKKyAgICAgICAgQWRqdXN0ZWQgZXhwZWN0ZWQgdmFsdWUgdG8gaW5jbHVkZSBsaW5lYnJlYWsg
Y2hhcmFjdGVyLgorCiAyMDIxLTA5LTEyICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBh
cHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBEcmF3aW5nIHRoZSByb3VuZGVkIHN5c3RlbSB1
aSBmb250IGludG8gY2FudmFzIGNhdXNlcyBhIGNyYXNoCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9hY2Nlc3NpYmlsaXR5L21hYy9ib3VuZHMtZm9yLXJhbmdlLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL2JvdW5kcy1mb3ItcmFuZ2UtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDM5MjhmZGRkYWMwNWU3YjVhMjAyMTRlMWI1ODEyOGY4Y2ZkZmE1MDUuLjUzZWUyNWE4ODlk
NmQwYmJjMzZkYzRjYzAwN2M0M2M2YjkxZWQwZjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Fj
Y2Vzc2liaWxpdHkvbWFjL2JvdW5kcy1mb3ItcmFuZ2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL2JvdW5kcy1mb3ItcmFuZ2UtZXhwZWN0ZWQudHh0CkBA
IC0zOSw2ICszOSw3IEBAIEFYVGV4dE1hcmtlckZvclBvc2l0aW9uCiBBWEJvdW5kc0ZvclRleHRN
YXJrZXJSYW5nZQogQVhBdHRyaWJ1dGVkU3RyaW5nRm9yVGV4dE1hcmtlclJhbmdlCiBBWEF0dHJp
YnV0ZWRTdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2VXaXRoT3B0aW9ucworQVhUZXh0TWFya2VyUmFu
Z2VGb3JUZXh0TWFya2VycwogQVhUZXh0TWFya2VyUmFuZ2VGb3JVbm9yZGVyZWRUZXh0TWFya2Vy
cwogQVhOZXh0VGV4dE1hcmtlckZvclRleHRNYXJrZXIKIEFYUHJldmlvdXNUZXh0TWFya2VyRm9y
VGV4dE1hcmtlcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvbmF0
aXZlLXRleHQtY29udHJvbC1zZXQtc2VsZWN0ZWQtdGV4dG1hcmtlci1yYW5nZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9uYXRpdmUtdGV4dC1jb250cm9sLXNl
dC1zZWxlY3RlZC10ZXh0bWFya2VyLXJhbmdlLWV4cGVjdGVkLnR4dAppbmRleCAyYTM1ZWE5OGMy
NGI3Y2NlZGEwYmNkMWQzOWY4MDM0M2MzM2RhMWJlLi5kNGM3YzcxOTg4ODIxNjAzYmZkY2M2YmFm
YjBmMzFiNGM5YWVjNmRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21h
Yy9uYXRpdmUtdGV4dC1jb250cm9sLXNldC1zZWxlY3RlZC10ZXh0bWFya2VyLXJhbmdlLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9uYXRpdmUtdGV4dC1j
b250cm9sLXNldC1zZWxlY3RlZC10ZXh0bWFya2VyLXJhbmdlLWV4cGVjdGVkLnR4dApAQCAtNCwx
MiArNCwxNyBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiAKIHNlbGVjdGVkIHRleHQgIlRo
aXMgaXMgYSB0ZXh0YXJlYS4iCitzZWxlY3RlZCB0ZXh0ICJUIgogc2VsZWN0ZWQgdGV4dCAiVGhp
cyBpcyBhICIKIHNlbGVjdGVkIHRleHQgIiBpcyBhICIKK1BBU1MgcC50ZXh0TWFya2VyUmFuZ2VM
ZW5ndGgoc2VsZWN0ZWRSYW5nZSkgaXMgMAogc2VsZWN0ZWQgdGV4dCAiVGhpcyBpcyBhIHRleHQg
ZmllbGQuIgorc2VsZWN0ZWQgdGV4dCAiVCIKIHNlbGVjdGVkIHRleHQgIlRoaXMgaXMgYSAiCiBz
ZWxlY3RlZCB0ZXh0ICIgaXMgYSB0ZXh0IgorUEFTUyBwLnRleHRNYXJrZXJSYW5nZUxlbmd0aChz
ZWxlY3RlZFJhbmdlKSBpcyAwCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRF
U1QgQ09NUExFVEUKIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21h
Yy9uYXRpdmUtdGV4dC1jb250cm9sLXNldC1zZWxlY3RlZC10ZXh0bWFya2VyLXJhbmdlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9uYXRpdmUtdGV4dC1jb250cm9sLXNldC1z
ZWxlY3RlZC10ZXh0bWFya2VyLXJhbmdlLmh0bWwKaW5kZXggZTc5NTVlODQyNTEzYmMzN2QyZTYw
ZTAyMWRhMzM0MTM5YTUyMmU1NS4uYWUzMzEyNTM2ZmIxZTAzMGUxYjVkMTU5ODFmYTUwNDU5NmI5
ZTI4MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvbmF0aXZlLXRl
eHQtY29udHJvbC1zZXQtc2VsZWN0ZWQtdGV4dG1hcmtlci1yYW5nZS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL25hdGl2ZS10ZXh0LWNvbnRyb2wtc2V0LXNlbGVjdGVk
LXRleHRtYXJrZXItcmFuZ2UuaHRtbApAQCAtNyw3ICs3LDcgQEAKIDxib2R5PgogCiA8dGV4dGFy
ZWEgaWQ9InRleHRhcmVhIj5UaGlzIGlzIGEgdGV4dGFyZWEuPC90ZXh0YXJlYT4KLQorPGJyLz4K
IDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0idGV4dGZpZWxkIiB2YWx1ZT0iVGhpcyBpcyBhIHRleHQg
ZmllbGQuIiAvPgogCiA8c2NyaXB0PgpAQCAtMTYsMjQgKzE2LDM3IEBACiAgICAgaWYgKHdpbmRv
dy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewogICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3lu
YyA9IHRydWU7CiAKLSAgICAgICAgbGV0IGVsZW1lbnRJRCA9ICJ0ZXh0YXJlYSI7Ci0KLSAgICAg
ICAgbGV0IHAgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQo
ZWxlbWVudElEKTsKLSAgICAgICAgbGV0IHJhbmdlID0gcC50ZXh0TWFya2VyUmFuZ2VGb3JFbGVt
ZW50KHApOworICAgICAgICAvLyB0ZXh0YXJlYS4KKyAgICAgICAgdmFyIGVsZW1lbnRJRCA9ICJ0
ZXh0YXJlYSI7CisgICAgICAgIHZhciBwID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNz
aWJsZUVsZW1lbnRCeUlkKGVsZW1lbnRJRCk7CisgICAgICAgIHZhciByYW5nZSA9IHAudGV4dE1h
cmtlclJhbmdlRm9yRWxlbWVudChwKTsKIAogICAgICAgICBzZXRUaW1lb3V0KGFzeW5jICgpID0+
IHsKICAgICAgICAgICAgIC8vIFNlbGVjdCBhbGwgdGV4dC4KICAgICAgICAgICAgIHAuc2V0U2Vs
ZWN0ZWRUZXh0TWFya2VyUmFuZ2UocmFuZ2UpOwotICAgICAgICAgICAgbGV0IHNlbGVjdGVkUmFu
Z2UgPSBudWxsOworICAgICAgICAgICAgd2luZG93LnNlbGVjdGVkUmFuZ2UgPSBudWxsOwogICAg
ICAgICAgICAgYXdhaXQgd2FpdEZvcigoKSA9PiB7CiAgICAgICAgICAgICAgICAgc2VsZWN0ZWRS
YW5nZSA9IHAuc2VsZWN0ZWRUZXh0TWFya2VyUmFuZ2UoKTsKICAgICAgICAgICAgICAgICByZXR1
cm4gcC50ZXh0TWFya2VyUmFuZ2VMZW5ndGgoc2VsZWN0ZWRSYW5nZSkgPT0gMTk7CiAgICAgICAg
ICAgICB9KTsKICAgICAgICAgICAgIGRlYnVnKGBzZWxlY3RlZCB0ZXh0ICIke3Auc3RyaW5nRm9y
VGV4dE1hcmtlclJhbmdlKHNlbGVjdGVkUmFuZ2UpfSJgKTsKIAotICAgICAgICAgICAgLy8gU2Vs
ZWN0IHRoZSBmaXJzdCAxMCBjaGFyYWN0ZXJzLgorICAgICAgICAgICAgLy8gTW92ZSB0aGUgaW5z
ZXJ0aW9uIHBvaW50IHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpZWxkLgogICAgICAgICAgICAg
bGV0IHN0YXJ0ID0gcC5zdGFydFRleHRNYXJrZXJGb3JUZXh0TWFya2VyUmFuZ2UocmFuZ2UpOwot
ICAgICAgICAgICAgZW5kID0gc3RhcnQ7CisgICAgICAgICAgICBsZXQgZW5kID0gc3RhcnQ7Cisg
ICAgICAgICAgICByYW5nZSA9IHAudGV4dE1hcmtlclJhbmdlRm9yTWFya2VycyhzdGFydCwgZW5k
KTsKKyAgICAgICAgICAgIHAuc2V0U2VsZWN0ZWRUZXh0TWFya2VyUmFuZ2UocmFuZ2UpOworICAg
ICAgICAgICAgYXdhaXQgd2FpdEZvcigoKSA9PiB7CisgICAgICAgICAgICAgICAgc2VsZWN0ZWRS
YW5nZSA9IHAuc2VsZWN0ZWRUZXh0TWFya2VyUmFuZ2UoKTsKKyAgICAgICAgICAgICAgICByZXR1
cm4gcC50ZXh0TWFya2VyUmFuZ2VMZW5ndGgoc2VsZWN0ZWRSYW5nZSkgPT0gMDsKKyAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgbGV0IHNlbGVjdGlvblN0YXJ0ID0gcC5zdGFydFRleHRNYXJr
ZXJGb3JUZXh0TWFya2VyUmFuZ2Uoc2VsZWN0ZWRSYW5nZSk7CisgICAgICAgICAgICBsZXQgc2Vs
ZWN0aW9uRW5kID0gcC5lbmRUZXh0TWFya2VyRm9yVGV4dE1hcmtlclJhbmdlKHNlbGVjdGVkUmFu
Z2UpOworICAgICAgICAgICAgLy8gTW92ZSBzZWxlY3Rpb25FbmQgb25lIG92ZXIgc28gdGhhdCB3
ZSBoYXZlIGEgbGVuZ3RoIDEgcmFuZ2UgYW5kIHdlIGNhbiBnZXQgdGhlIGNoYXJhY3RlciBhdCB0
aGUgaW5zZXJ0aW9uIHBvaW50LgorICAgICAgICAgICAgc2VsZWN0aW9uRW5kID0gcC5uZXh0VGV4
dE1hcmtlcihzZWxlY3Rpb25FbmQpOworICAgICAgICAgICAgZGVidWcoYHNlbGVjdGVkIHRleHQg
IiR7cC5zdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2UocC50ZXh0TWFya2VyUmFuZ2VGb3JNYXJrZXJz
KHNlbGVjdGlvblN0YXJ0LCBzZWxlY3Rpb25FbmQpKX0iYCk7CisKKyAgICAgICAgICAgIC8vIFNl
bGVjdCB0aGUgZmlyc3QgMTAgY2hhcmFjdGVycy4KICAgICAgICAgICAgIGZvciAobGV0IGkgPSAw
OyBpIDwgMTA7ICsraSkKICAgICAgICAgICAgICAgICBlbmQgPSBwLm5leHRUZXh0TWFya2VyKGVu
ZCk7CiAgICAgICAgICAgICByYW5nZSA9IHAudGV4dE1hcmtlclJhbmdlRm9yTWFya2VycyhzdGFy
dCwgZW5kKTsKQEAgLTU1LDggKzY4LDIxIEBACiAgICAgICAgICAgICB9KTsKICAgICAgICAgICAg
IGRlYnVnKGBzZWxlY3RlZCB0ZXh0ICIke3Auc3RyaW5nRm9yVGV4dE1hcmtlclJhbmdlKHNlbGVj
dGVkUmFuZ2UpfSJgKTsKIAotICAgICAgICAgICAgZWxlbWVudElEID0gInRleHRmaWVsZCI7Cisg
ICAgICAgICAgICAvLyBNb3ZlIHRoZSBpbnNlcnRpb24gcG9pbnQgdG8gdGhlIGVuZCBvZiB0aGUg
ZmllbGQuCisgICAgICAgICAgICByYW5nZSA9IHAudGV4dE1hcmtlclJhbmdlRm9yRWxlbWVudChw
KTsKKyAgICAgICAgICAgIGVuZCA9IHAuZW5kVGV4dE1hcmtlckZvclRleHRNYXJrZXJSYW5nZShy
YW5nZSk7CisgICAgICAgICAgICBzdGFydCA9IGVuZDsKKyAgICAgICAgICAgIHJhbmdlID0gcC50
ZXh0TWFya2VyUmFuZ2VGb3JNYXJrZXJzKHN0YXJ0LCBlbmQpOworICAgICAgICAgICAgcC5zZXRT
ZWxlY3RlZFRleHRNYXJrZXJSYW5nZShyYW5nZSk7CisgICAgICAgICAgICBhd2FpdCB3YWl0Rm9y
KCgpID0+IHsKKyAgICAgICAgICAgICAgICBzZWxlY3RlZFJhbmdlID0gcC5zZWxlY3RlZFRleHRN
YXJrZXJSYW5nZSgpOworICAgICAgICAgICAgICAgIHJldHVybiBwLnRleHRNYXJrZXJSYW5nZUxl
bmd0aChzZWxlY3RlZFJhbmdlKSA9PSAwOworICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBz
ZWxlY3RlZFJhbmdlID0gcC5zZWxlY3RlZFRleHRNYXJrZXJSYW5nZSgpOworICAgICAgICAgICAg
c2hvdWxkQmUoInAudGV4dE1hcmtlclJhbmdlTGVuZ3RoKHNlbGVjdGVkUmFuZ2UpIiwgIjAiKTsK
IAorICAgICAgICAgICAgLy8gSW5wdXQgdGV4dCBmaWVsZC4KKyAgICAgICAgICAgIGVsZW1lbnRJ
RCA9ICJ0ZXh0ZmllbGQiOwogICAgICAgICAgICAgcCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVy
LmFjY2Vzc2libGVFbGVtZW50QnlJZChlbGVtZW50SUQpOwogICAgICAgICAgICAgcmFuZ2UgPSBw
LnRleHRNYXJrZXJSYW5nZUZvckVsZW1lbnQocCk7CiAKQEAgLTY5LDkgKzk1LDIyIEBACiAgICAg
ICAgICAgICB9KTsKICAgICAgICAgICAgIGRlYnVnKGBzZWxlY3RlZCB0ZXh0ICIke3Auc3RyaW5n
Rm9yVGV4dE1hcmtlclJhbmdlKHNlbGVjdGVkUmFuZ2UpfSJgKTsKIAotICAgICAgICAgICAgLy8g
U2VsZWN0IHRoZSBmaXJzdCAxMCBjaGFyYWN0ZXJzLgorICAgICAgICAgICAgLy8gTW92ZSB0aGUg
aW5zZXJ0aW9uIHBvaW50IHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpZWxkLgogICAgICAgICAg
ICAgc3RhcnQgPSBwLnN0YXJ0VGV4dE1hcmtlckZvclRleHRNYXJrZXJSYW5nZShyYW5nZSk7CiAg
ICAgICAgICAgICBlbmQgPSBzdGFydDsKKyAgICAgICAgICAgIHJhbmdlID0gcC50ZXh0TWFya2Vy
UmFuZ2VGb3JNYXJrZXJzKHN0YXJ0LCBlbmQpOworICAgICAgICAgICAgcC5zZXRTZWxlY3RlZFRl
eHRNYXJrZXJSYW5nZShyYW5nZSk7CisgICAgICAgICAgICBhd2FpdCB3YWl0Rm9yKCgpID0+IHsK
KyAgICAgICAgICAgICAgICBzZWxlY3RlZFJhbmdlID0gcC5zZWxlY3RlZFRleHRNYXJrZXJSYW5n
ZSgpOworICAgICAgICAgICAgICAgIHJldHVybiBwLnRleHRNYXJrZXJSYW5nZUxlbmd0aChzZWxl
Y3RlZFJhbmdlKSA9PSAwOworICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBzZWxlY3Rpb25T
dGFydCA9IHAuc3RhcnRUZXh0TWFya2VyRm9yVGV4dE1hcmtlclJhbmdlKHNlbGVjdGVkUmFuZ2Up
OworICAgICAgICAgICAgc2VsZWN0aW9uRW5kID0gcC5lbmRUZXh0TWFya2VyRm9yVGV4dE1hcmtl
clJhbmdlKHNlbGVjdGVkUmFuZ2UpOworICAgICAgICAgICAgLy8gTW92ZSBzZWxlY3Rpb25FbmQg
b25lIG92ZXIgc28gdGhhdCB3ZSBoYXZlIGEgbGVuZ3RoIDEgcmFuZ2UgYW5kIHdlIGNhbiBnZXQg
dGhlIGNoYXJhY3RlciBhdCB0aGUgaW5zZXJ0aW9uIHBvaW50LgorICAgICAgICAgICAgc2VsZWN0
aW9uRW5kID0gcC5uZXh0VGV4dE1hcmtlcihzZWxlY3Rpb25FbmQpOworICAgICAgICAgICAgZGVi
dWcoYHNlbGVjdGVkIHRleHQgIiR7cC5zdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2UocC50ZXh0TWFy
a2VyUmFuZ2VGb3JNYXJrZXJzKHNlbGVjdGlvblN0YXJ0LCBzZWxlY3Rpb25FbmQpKX0iYCk7CisK
KyAgICAgICAgICAgIC8vIFNlbGVjdCB0aGUgZmlyc3QgMTAgY2hhcmFjdGVycy4KICAgICAgICAg
ICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTA7ICsraSkKICAgICAgICAgICAgICAgICBlbmQgPSBw
Lm5leHRUZXh0TWFya2VyKGVuZCk7CiAgICAgICAgICAgICByYW5nZSA9IHAudGV4dE1hcmtlclJh
bmdlRm9yTWFya2VycyhzdGFydCwgZW5kKTsKQEAgLTk1LDYgKzEzNCwxOSBAQAogICAgICAgICAg
ICAgfSk7CiAgICAgICAgICAgICBkZWJ1Zyhgc2VsZWN0ZWQgdGV4dCAiJHtwLnN0cmluZ0ZvclRl
eHRNYXJrZXJSYW5nZShzZWxlY3RlZFJhbmdlKX0iYCk7CiAKKyAgICAgICAgICAgIC8vIE1vdmUg
dGhlIGluc2VydGlvbiBwb2ludCB0byB0aGUgZW5kIG9mIHRoZSBmaWVsZC4KKyAgICAgICAgICAg
IHJhbmdlID0gcC50ZXh0TWFya2VyUmFuZ2VGb3JFbGVtZW50KHApOworICAgICAgICAgICAgZW5k
ID0gcC5lbmRUZXh0TWFya2VyRm9yVGV4dE1hcmtlclJhbmdlKHJhbmdlKTsKKyAgICAgICAgICAg
IHN0YXJ0ID0gZW5kOworICAgICAgICAgICAgcmFuZ2UgPSBwLnRleHRNYXJrZXJSYW5nZUZvck1h
cmtlcnMoc3RhcnQsIGVuZCk7CisgICAgICAgICAgICBwLnNldFNlbGVjdGVkVGV4dE1hcmtlclJh
bmdlKHJhbmdlKTsKKyAgICAgICAgICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4geworICAgICAgICAg
ICAgICAgIHNlbGVjdGVkUmFuZ2UgPSBwLnNlbGVjdGVkVGV4dE1hcmtlclJhbmdlKCk7CisgICAg
ICAgICAgICAgICAgcmV0dXJuIHAudGV4dE1hcmtlclJhbmdlTGVuZ3RoKHNlbGVjdGVkUmFuZ2Up
ID09IDA7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIHNlbGVjdGVkUmFuZ2UgPSBwLnNl
bGVjdGVkVGV4dE1hcmtlclJhbmdlKCk7CisgICAgICAgICAgICBzaG91bGRCZSgicC50ZXh0TWFy
a2VyUmFuZ2VMZW5ndGgoc2VsZWN0ZWRSYW5nZSkiLCAiMCIpOworCiAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKICAgICAgICAgfSwgMCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS90ZXh0LW1hcmtlci90ZXh0LW1hcmtlci1wcmV2aW91cy1uZXh0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHQtbWFya2VyL3RleHQtbWFya2VyLXBy
ZXZpb3VzLW5leHQuaHRtbAppbmRleCA5N2FkN2EyZTY5YWMzYzNlZTAxNzE0NmI5MWI0OTk5MWZi
ZTYzMTRhLi41ZWQzYmQwZDA2ZGU2YWJkZmFmZTZiNjZmMWU3Njc5MzZkYThjZjY3IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHQtbWFya2VyL3RleHQtbWFya2VyLXBy
ZXZpb3VzLW5leHQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHQtbWFy
a2VyL3RleHQtbWFya2VyLXByZXZpb3VzLW5leHQuaHRtbApAQCAtODMsOCArODMsMTEgQEAgZgog
ICAgICAgICBwcmV2aW91c01hcmtlciA9IHJlc3VsdC5wcmV2aW91czsKICAgICAgICAgY3VycmVu
dE1hcmtlciA9IHJlc3VsdC5jdXJyZW50OwogICAgICAgICBtYXJrZXJSYW5nZSA9IHRleHQudGV4
dE1hcmtlclJhbmdlRm9yTWFya2VycyhwcmV2aW91c01hcmtlciwgY3VycmVudE1hcmtlcik7Ci0g
ICAgICAgIHNob3VsZEJlKCJ0ZXh0LnN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZShtYXJrZXJSYW5n
ZSkiLCAiJ3QnIik7Ci0gICAgICAgIAorICAgICAgICBpZiAoYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIucGxhdGZvcm1OYW1lID09ICJtYWMiKQorICAgICAgICAgICAgc2hvdWxkQmUoInRleHQuc3Ry
aW5nRm9yVGV4dE1hcmtlclJhbmdlKG1hcmtlclJhbmdlKSIsICIndCcgKyBuZXdsaW5lIik7Cisg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgIHNob3VsZEJlKCJ0ZXh0LnN0cmluZ0ZvclRleHRNYXJr
ZXJSYW5nZShtYXJrZXJSYW5nZSkiLCAiJ3QnIik7CisKICAgICAgICAgLy8gQ2hlY2sgdGhlIGNh
c2Ugd2l0aCByZXBsYWNlZCBub2RlCiAgICAgICAgIHZhciB0ZXh0MiA9IGFjY2Vzc2liaWxpdHlD
b250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgidGV4dDIiKTsKICAgICAgICAgdmFyIHRl
eHRNYXJrZXJSYW5nZTIgPSB0ZXh0Mi50ZXh0TWFya2VyUmFuZ2VGb3JFbGVtZW50KHRleHQyKTsK
QEAgLTI0Myw0ICsyNDYsNCBAQCBmCiAKIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvYWNjZXNzaWJpbGl0eS90ZXh0LW1hcmtlci90ZXh0LW1hcmtlci1wcmV2aW91cy1uZXh0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L3RleHQt
bWFya2VyL3RleHQtbWFya2VyLXByZXZpb3VzLW5leHQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjI5MjY0MWE3ZTAzOGEyYTRjZmUyYTY0YzVhZDFiMTk2NTk2NTc5YWIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS90ZXh0LW1hcmtlci90
ZXh0LW1hcmtlci1wcmV2aW91cy1uZXh0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUyIEBACit0
ZXh0CisKK3RleHQxCitjICBkCisKK2Nhbid0IHNlbGVjdAorYWJjIGRlIGYKK/CfmIPwn5iPCisK
K2EgYgorCithdWRpb2ZpbGUKKworVGhpcyB0ZXN0cyB0aGUgbmV4dC9wcmV2aW91cyB0ZXh0IG1h
cmtlciBmdW5jdGlvbnMgYXJlIGltcGxlbWVudGVkIGNvcnJlY3RseS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKK1BBU1MgdGV4dC50ZXh0TWFya2VyUmFuZ2VMZW5ndGgodGV4dE1h
cmtlclJhbmdlKSBpcyA0CitQQVNTIHRleHQuYWNjZXNzaWJpbGl0eUVsZW1lbnRGb3JUZXh0TWFy
a2VyKHN0YXJ0TWFya2VyKS5pc0VxdWFsKHRleHQpIGlzIHRydWUKK1BBU1MgdGV4dC5hY2Nlc3Np
YmlsaXR5RWxlbWVudEZvclRleHRNYXJrZXIoZW5kTWFya2VyKS5pc0VxdWFsKHRleHQpIGlzIHRy
dWUKK1BBU1MgdGV4dC5zdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2UobWFya2VyUmFuZ2UpIGlzIG5l
d2xpbmUKK1BBU1MgdGV4dC5zdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2UobWFya2VyUmFuZ2UpIGlz
ICd0JworUEFTUyB0ZXh0LnN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZShtYXJrZXJSYW5nZSkgaXMg
bmV3bGluZQorUEFTUyB0ZXh0LnN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZShtYXJrZXJSYW5nZSkg
aXMgJ3QnICsgbmV3bGluZQorUEFTUyB0ZXh0Mi50ZXh0TWFya2VyUmFuZ2VMZW5ndGgodGV4dE1h
cmtlclJhbmdlMikgaXMgNQorT2JqZWN0IHN0cmluZyBmb3IgcmFuZ2U6IGMgW0FUVEFDSE1FTlRd
IGQKK1BBU1MgdGV4dDIuc3RyaW5nRm9yVGV4dE1hcmtlclJhbmdlKG1hcmtlclJhbmdlKSBpcyAn
ZCcKK1BBU1MgdGV4dDIuc3RyaW5nRm9yVGV4dE1hcmtlclJhbmdlKG1hcmtlclJhbmdlKSBpcyAn
MScKK1BBU1MgdGV4dDMuc3RyaW5nRm9yVGV4dE1hcmtlclJhbmdlKG1hcmtlclJhbmdlKSBpcyAn
ZWN0JworUEFTUyB0ZXh0My5zdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2UobWFya2VyUmFuZ2UpIGlz
ICdzZWwnCitQQVNTICFwc3cuYWNjZXNzaWJpbGl0eUVsZW1lbnRGb3JUZXh0TWFya2VyKHN0YXJ0
KSBpcyB0cnVlCitQQVNTIHRleHQyLmFjY2Vzc2liaWxpdHlFbGVtZW50Rm9yVGV4dE1hcmtlcihj
dXJyZW50TWFya2VyKS5pc0VxdWFsKHRleHQzKSBpcyB0cnVlCitQQVNTIHRleHQyLmFjY2Vzc2li
aWxpdHlFbGVtZW50Rm9yVGV4dE1hcmtlcihjdXJyZW50TWFya2VyKS5pc0VxdWFsKHRleHQyLmNo
aWxkQXRJbmRleCgyKSkgaXMgdHJ1ZQorUEFTUyB0ZXh0LnN0cmluZ0ZvclRleHRNYXJrZXJSYW5n
ZShtYXJrZXJSYW5nZSkgaXMgJ2YnCitQQVNTIHRleHQuc3RyaW5nRm9yVGV4dE1hcmtlclJhbmdl
KG1hcmtlclJhbmdlKSBpcyAnYScKK1BBU1MgdGV4dC50ZXh0TWFya2VyUmFuZ2VMZW5ndGgoZW1v
amlUZXh0TWFya2VyUmFuZ2UpIGlzIDQKK1BBU1MgdGV4dC5zdHJpbmdGb3JUZXh0TWFya2VyUmFu
Z2UodGV4dC50ZXh0TWFya2VyUmFuZ2VGb3JNYXJrZXJzKHJlc3VsdC5wcmV2aW91cywgcmVzdWx0
LmN1cnJlbnQpKSBpcyAn8J+YjycKK1BBU1MgdGV4dC5zdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2Uo
dGV4dC50ZXh0TWFya2VyUmFuZ2VGb3JNYXJrZXJzKHJlc3VsdC5wcmV2aW91cywgcmVzdWx0LmN1
cnJlbnQpKSBpcyAn8J+YgycKK1BBU1MgdGV4dC50ZXh0TWFya2VyUmFuZ2VMZW5ndGgoY29sbGFw
c2VkV2hpdGVzcGFjZU1hcmtlclJhbmdlKSBpcyAzCitQQVNTIHRleHQuc3RyaW5nRm9yVGV4dE1h
cmtlclJhbmdlKHRleHQudGV4dE1hcmtlclJhbmdlRm9yTWFya2VycyhyZXN1bHQucHJldmlvdXMs
IHJlc3VsdC5jdXJyZW50KSkgaXMgJ2EnCitQQVNTIHRleHQuc3RyaW5nRm9yVGV4dE1hcmtlclJh
bmdlKHRleHQudGV4dE1hcmtlclJhbmdlRm9yTWFya2VycyhyZXN1bHQucHJldmlvdXMsIHJlc3Vs
dC5jdXJyZW50KSkgaXMgJyAnCitQQVNTIHRleHQuc3RyaW5nRm9yVGV4dE1hcmtlclJhbmdlKHRl
eHQudGV4dE1hcmtlclJhbmdlRm9yTWFya2VycyhyZXN1bHQucHJldmlvdXMsIHJlc3VsdC5jdXJy
ZW50KSkgaXMgJ2InCitQQVNTIHRleHQuc3RyaW5nRm9yVGV4dE1hcmtlclJhbmdlKHRleHQudGV4
dE1hcmtlclJhbmdlRm9yTWFya2VycyhyZXN1bHQucHJldmlvdXMsIHJlc3VsdC5jdXJyZW50KSkg
aXMgJyAnCitQQVNTIHRleHQuc3RyaW5nRm9yVGV4dE1hcmtlclJhbmdlKHRleHQudGV4dE1hcmtl
clJhbmdlRm9yTWFya2VycyhyZXN1bHQucHJldmlvdXMsIHJlc3VsdC5jdXJyZW50KSkgaXMgJ2En
CitQQVNTIHRleHQuc3RyaW5nRm9yVGV4dE1hcmtlclJhbmdlKHRleHRNYXJrZXJSYW5nZSkgaXMg
J2F1ZGlv77+8ZmlsZScKK1BBU1MgdGV4dC5zdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2UobWFya2Vy
UmFuZ2UpIGlzICfvv7wnCitQQVNTIHRleHQuc3RyaW5nRm9yVGV4dE1hcmtlclJhbmdlKG1hcmtl
clJhbmdlKSBpcyAn77+8JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisK
</data>

          </attachment>
      

    </bug>

</bugzilla>