<?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>98690</bug_id>
          
          <creation_ts>2012-10-08 14:49:39 -0700</creation_ts>
          <short_desc>Move layerTreeAsText to window.internals</short_desc>
          <delta_ts>2012-10-08 14:55:08 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>737077</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-10-08 14:49:39 -0700</bug_when>
    <thetext>Move layerTreeAsText to window.internals</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>737080</commentid>
    <comment_count>1</comment_count>
      <attachid>167621</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-10-08 14:51:08 -0700</bug_when>
    <thetext>Created attachment 167621
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>737085</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-10-08 14:55:08 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/130689</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167621</attachid>
            <date>2012-10-08 14:51:08 -0700</date>
            <delta_ts>2012-10-08 14:52:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98690-20121008145013.patch</filename>
            <type>text/plain</type>
            <size>110909</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwNjc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTM2YTY3OGU5ZTVmYmY2
OWQyOTEyMTcxMjliMTZlNmIyYjc5MzE5Zi4uY2MwM2VlZWU2OGVmNDlmMmJjMjhlYjI4ZWY3Njgz
MjgxMTk2NTk2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIxIEBACiAyMDEyLTEwLTA4ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCisgICAgICAgIE1vdmUgbGF5ZXJU
cmVlQXNUZXh0IHRvIHdpbmRvdy5pbnRlcm5hbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTk4NjkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkIHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0
KGRvY3VtZW50KSwgYW5kIGNoYW5nZSB0aGUgdGVzdHMgdG8gdXNlIGl0LgorICAgICAgICBJJ2xs
IHJlbW92ZSB0ZXN0UnVubmVyLmxheWVyVHJlZUFzVGV4dCgpIGluIGEgbGF0ZXIgcGF0Y2guCisK
KyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRl
cm5hbHM6OmxheWVyVHJlZUFzVGV4dCk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoK
KyAgICAgICAgKEludGVybmFscyk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgor
CisyMDEyLTEwLTA4ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCiAg
ICAgICAgIFNvbWUgR3JhcGhpY3NMYXllciBjbGVhbnVwIHRvIHNlcGFyYXRlIHRoZSBjb25jZXB0
cyBvZiB1c2luZyBhIHRpbGUgY2FjaGUsIGFuZCBiZWluZyB0aGUgbWFpbiB0aWxlIGNhY2hlIGxh
eWVyCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODU3
NAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggYjNhYmY0MGE2MGY4YThi
ZTQwNDgxZDY0ZmVmM2I0Yjk1NWMwNmFhYy4uYjVkN2Q2NzU5ZDBjNjM0MTRiNzAxOTMyZjZlZmFi
M2ZmZmFmYjU3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMTIyMiw2
ICsxMjIyLDE2IEBAIHZvaWQgSW50ZXJuYWxzOjpyZXN1bWVBbmltYXRpb25zKERvY3VtZW50KiBk
b2N1bWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0CiAgICAgY29udHJvbGxlci0+cmVzdW1l
QW5pbWF0aW9ucygpOwogfQogCitTdHJpbmcgSW50ZXJuYWxzOjpsYXllclRyZWVBc1RleHQoRG9j
dW1lbnQqIGRvY3VtZW50LCBFeGNlcHRpb25Db2RlJiBlYykgY29uc3QKK3sKKyAgICBpZiAoIWRv
Y3VtZW50IHx8ICFkb2N1bWVudC0+ZnJhbWUoKSkgeworICAgICAgICBlYyA9IElOVkFMSURfQUND
RVNTX0VSUjsKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworICAgIH0KKyAgICAKKyAgICByZXR1
cm4gZG9jdW1lbnQtPmZyYW1lKCktPmxheWVyVHJlZUFzVGV4dCgpOworfQorCiB2b2lkIEludGVy
bmFsczo6Z2FyYmFnZUNvbGxlY3REb2N1bWVudFJlc291cmNlcyhEb2N1bWVudCogZG9jdW1lbnQs
IEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAogewogICAgIGlmICghZG9jdW1lbnQpIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDAxZGM2Nzk0OTFkYzIzMTk4NzIzZjY1MTA5NTEw
Mjk0M2QxMDY2ZTUuLjNiZDQ3NWU0ZTU4YTlhYWM0NWFkNTdjNTg1MjRhMmM3MWVmOTRkNzAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtMTg3LDYgKzE4Nyw4IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHN1c3BlbmRBbmltYXRpb25zKERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpIGNv
bnN0OwogICAgIHZvaWQgcmVzdW1lQW5pbWF0aW9ucyhEb2N1bWVudCosIEV4Y2VwdGlvbkNvZGUm
KSBjb25zdDsKIAorICAgIFN0cmluZyBsYXllclRyZWVBc1RleHQoRG9jdW1lbnQqLCBFeGNlcHRp
b25Db2RlJikgY29uc3Q7CisKICAgICB2b2lkIGdhcmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJj
ZXMoRG9jdW1lbnQqLCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CiAKICAgICB2b2lkIGFsbG93Um91
bmRpbmdIYWNrcygpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4
IDgwNjRkMDczYWRhZWM1NzJkMDRiOGI5ZWYxNWY4MDdiNTFhYTUxM2MuLjQzY2VhMjQwNWM0NDA4
YjIwOWJhMTQ5YzFhNTExMjdjNzI3ZGExMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5pZGwKQEAgLTE1Nyw2ICsxNTcsOCBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgdm9pZCBz
dXNwZW5kQW5pbWF0aW9ucyhpbiBEb2N1bWVudCBkb2N1bWVudCkgcmFpc2VzIChET01FeGNlcHRp
b24pOwogICAgICAgICB2b2lkIHJlc3VtZUFuaW1hdGlvbnMoaW4gRG9jdW1lbnQgZG9jdW1lbnQp
IHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKIAorICAgICAgICBET01TdHJpbmcgbGF5ZXJUcmVlQXNU
ZXh0KGluIERvY3VtZW50IGRvY3VtZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisKICAgICAg
ICAgdm9pZCBnYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzKGluIERvY3VtZW50IGRvY3Vt
ZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAKICAgICAgICAgdm9pZCBhbGxvd1JvdW5kaW5n
SGFja3MoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCA0MjMyYTJiM2FjMGZhODJmM2YzNjc4NDc4YTMzZjRiNjYxZmJiOWU4
Li5hMjlkZjFlMmRmMmYxNTM3NDZlY2Y3M2JhZWZkNzQxZGRjZGM0Njk0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTQxIEBACisyMDEyLTEwLTA4ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUu
Y29tPgorCisgICAgICAgIE1vdmUgbGF5ZXJUcmVlQXNUZXh0IHRvIHdpbmRvdy5pbnRlcm5hbHMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4NjkwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHdpbmRv
dy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50KSwgYW5kIGNoYW5nZSB0aGUgdGVz
dHMgdG8gdXNlIGl0LgorICAgICAgICBJJ2xsIHJlbW92ZSB0ZXN0UnVubmVyLmxheWVyVHJlZUFz
VGV4dCgpIGluIGEgbGF0ZXIgcGF0Y2guCisKKyAgICAgICAgKiBjb21wb3NpdGluZy9hbmltYXRp
b24vYW5pbWF0aW9uLWNvbXBvc2l0aW5nLmh0bWw6CisgICAgICAgICogY29tcG9zaXRpbmcvYmFj
a2luZy9uby1iYWNraW5nLWZvci1jbGlwLW92ZXJsYXAuaHRtbDoKKyAgICAgICAgKiBjb21wb3Np
dGluZy9iYWNraW5nL25vLWJhY2tpbmctZm9yLWNsaXAuaHRtbDoKKyAgICAgICAgKiBjb21wb3Np
dGluZy9iYWNraW5nL25vLWJhY2tpbmctZm9yLXBlcnNwZWN0aXZlLmh0bWw6CisgICAgICAgICog
Y29tcG9zaXRpbmcvYm91bmRzLWluLWZsaXBwZWQtd3JpdGluZy1tb2RlLmh0bWw6CisgICAgICAg
ICogY29tcG9zaXRpbmcvY2xpcC1jaGlsZC1ieS1ub24tc3RhY2tpbmctYW5jZXN0b3IuaHRtbDoK
KyAgICAgICAgKiBjb21wb3NpdGluZy9jb2x1bW5zL2NvbXBvc2l0ZWQtaW4tcGFnaW5hdGVkLmh0
bWw6CisgICAgICAgICogY29tcG9zaXRpbmcvZ2VvbWV0cnkvYW5jZXN0b3Itb3ZlcmZsb3ctY2hh
bmdlLmh0bWw6CisgICAgICAgICogY29tcG9zaXRpbmcvZ2VvbWV0cnkvYm91bmRzLWNsaXBwZWQt
Y29tcG9zaXRlZC1jaGlsZC5odG1sOgorICAgICAgICAqIGNvbXBvc2l0aW5nL2dlb21ldHJ5L2Jv
dW5kcy1pZ25vcmVzLWhpZGRlbi1jb21wb3NpdGVkLWRlc2NlbmRhbnQuaHRtbDoKKyAgICAgICAg
KiBjb21wb3NpdGluZy9nZW9tZXRyeS9ib3VuZHMtaWdub3Jlcy1oaWRkZW4tZHluYW1pYy1uZWd6
aW5kZXguaHRtbDoKKyAgICAgICAgKiBjb21wb3NpdGluZy9nZW9tZXRyeS9ib3VuZHMtaWdub3Jl
cy1oaWRkZW4tZHluYW1pYy5odG1sOgorICAgICAgICAqIGNvbXBvc2l0aW5nL2dlb21ldHJ5L2Jv
dW5kcy1pZ25vcmVzLWhpZGRlbi5odG1sOgorICAgICAgICAqIGNvbXBvc2l0aW5nL2dlb21ldHJ5
L2NsaXAuaHRtbDoKKyAgICAgICAgKiBjb21wb3NpdGluZy9nZW9tZXRyeS9jb21wb3NpdGVkLWlu
LWNvbHVtbnMuaHRtbDoKKyAgICAgICAgKiBjb21wb3NpdGluZy9nZW9tZXRyeS9maXhlZC1wb3Np
dGlvbi1jb21wb3NpdGVkLXN3aXRjaC5odG1sOgorICAgICAgICAqIGNvbXBvc2l0aW5nL2dlb21l
dHJ5L2ZsaXBwZWQtd3JpdGluZy1tb2RlLmh0bWw6CisgICAgICAgICogY29tcG9zaXRpbmcvZ2Vv
bWV0cnkvZm9yZWdyb3VuZC1sYXllci5odG1sOgorICAgICAgICAqIGNvbXBvc2l0aW5nL2dlb21l
dHJ5L2xheWVyLWR1ZS10by1sYXllci1jaGlsZHJlbi1kZWVwLXN3aXRjaC5odG1sOgorICAgICAg
ICAqIGNvbXBvc2l0aW5nL2dlb21ldHJ5L2xheWVyLWR1ZS10by1sYXllci1jaGlsZHJlbi1zd2l0
Y2guaHRtbDoKKyAgICAgICAgKiBjb21wb3NpdGluZy9nZW9tZXRyeS9saW1pdC1sYXllci1ib3Vu
ZHMtY2xpcHBpbmctYW5jZXN0b3IuaHRtbDoKKyAgICAgICAgKiBjb21wb3NpdGluZy9nZW9tZXRy
eS9saW1pdC1sYXllci1ib3VuZHMtZml4ZWQtcG9zaXRpb25lZC5odG1sOgorICAgICAgICAqIGNv
bXBvc2l0aW5nL2dlb21ldHJ5L2xpbWl0LWxheWVyLWJvdW5kcy1vcGFjaXR5LXRyYW5zaXRpb24u
aHRtbDoKKyAgICAgICAgKiBjb21wb3NpdGluZy9nZW9tZXRyeS9saW1pdC1sYXllci1ib3VuZHMt
b3ZlcmZsb3ctcm9vdC5odG1sOgorICAgICAgICAqIGNvbXBvc2l0aW5nL2dlb21ldHJ5L2xpbWl0
LWxheWVyLWJvdW5kcy1wb3NpdGlvbmVkLXRyYW5zaXRpb24uaHRtbDoKKyAgICAgICAgKiBjb21w
b3NpdGluZy9nZW9tZXRyeS9saW1pdC1sYXllci1ib3VuZHMtcG9zaXRpb25lZC5odG1sOgorICAg
ICAgICAqIGNvbXBvc2l0aW5nL2dlb21ldHJ5L2xpbWl0LWxheWVyLWJvdW5kcy10cmFuc2Zvcm1l
ZC1vdmVyZmxvdy5odG1sOgorICAgICAgICAqIGNvbXBvc2l0aW5nL2dlb21ldHJ5L2xpbWl0LWxh
eWVyLWJvdW5kcy10cmFuc2Zvcm1lZC5odG1sOgorICAgICAgICAqIGNvbXBvc2l0aW5nL2dlb21l
dHJ5L3ByZXNlcnZlLTNkLXN3aXRjaGluZy5odG1sOgorICAgICAgICAqIGNvbXBvc2l0aW5nL2lm
cmFtZXMvYmVjb21lLWNvbXBvc2l0ZWQtbmVzdGVkLWlmcmFtZXMuaHRtbDoKKyAgICAgICAgKiBj
b21wb3NpdGluZy9pZnJhbWVzL2JlY29tZS1vdmVybGFwcGVkLWlmcmFtZS5odG1sOgorICAgICAg
ICAqIGNvbXBvc2l0aW5nL2lmcmFtZXMvY29tcG9zaXRlZC1wYXJlbnQtaWZyYW1lLmh0bWw6Cisg
ICAgICAgICogY29tcG9zaXRpbmcvaWZyYW1lcy9jb25uZWN0LWNvbXBvc2l0aW5nLWlmcmFtZS1k
ZWxheWVkLmh0bWw6CisgICAgICAgICogY29tcG9zaXRpbmcvaWZyYW1lcy9jb25uZWN0LWNvbXBv
c2l0aW5nLWlmcmFtZS5odG1sOgorICAgICAgICAqIGNvbXBvc2l0aW5nL2lmcmFtZXMvY29ubmVj
dC1jb21wb3NpdGluZy1pZnJhbWUyLmh0bWw6CisgICAgICAgICogY29tcG9zaXRpbmcvaWZyYW1l
cy9jb25uZWN0LWNvbXBvc2l0aW5nLWlmcmFtZTMuaHRtbDoKKyAgICAgICAgKiBjb21wb3NpdGlu
Zy9pZnJhbWVzL2VudGVyLWNvbXBvc2l0aW5nLWlmcmFtZS5odG1sOgorICAgICAgICAqIGNvbXBv
c2l0aW5nL2lmcmFtZXMvaWZyYW1lLXJlc2l6ZS5odG1sOgorICAgICAgICAqIGNvbXBvc2l0aW5n
L2lmcmFtZXMvaWZyYW1lLXNpemUtZnJvbS16ZXJvLmh0bWw6CisgICAgICAgICogY29tcG9zaXRp
bmcvaWZyYW1lcy9pZnJhbWUtc2l6ZS10by16ZXJvLmh0bWw6CisgICAgICAgICogY29tcG9zaXRp
bmcvaWZyYW1lcy9pZnJhbWUtc3JjLWNoYW5nZS5odG1sOgorICAgICAgICAqIGNvbXBvc2l0aW5n
L2lmcmFtZXMvaW52aXNpYmxlLW5lc3RlZC1pZnJhbWUtaGlkZS5odG1sOgorICAgICAgICAqIGNv
bXBvc2l0aW5nL2lmcmFtZXMvaW52aXNpYmxlLW5lc3RlZC1pZnJhbWUtc2hvdy5odG1sOgorICAg
ICAgICAqIGNvbXBvc2l0aW5nL2lmcmFtZXMvbGVhdmUtY29tcG9zaXRpbmctaWZyYW1lLmh0bWw6
CisgICAgICAgICogY29tcG9zaXRpbmcvaWZyYW1lcy9vdmVybGFwcGVkLWlmcmFtZS1pZnJhbWUu
aHRtbDoKKyAgICAgICAgKiBjb21wb3NpdGluZy9pZnJhbWVzL292ZXJsYXBwZWQtaWZyYW1lLmh0
bWw6CisgICAgICAgICogY29tcG9zaXRpbmcvaWZyYW1lcy9vdmVybGFwcGVkLW5lc3RlZC1pZnJh
bWVzLmh0bWw6CisgICAgICAgICogY29tcG9zaXRpbmcvaWZyYW1lcy9wYWdlLWNhY2hlLWxheWVy
LXRyZWUuaHRtbDoKKyAgICAgICAgKiBjb21wb3NpdGluZy9pZnJhbWVzL3Jlc2l6ZXIuaHRtbDoK
KyAgICAgICAgKiBjb21wb3NpdGluZy9pZnJhbWVzL3Njcm9sbGluZy1pZnJhbWUuaHRtbDoKKyAg
ICAgICAgKiBjb21wb3NpdGluZy9pbWFnZXMvY2xpcC1vbi1kaXJlY3RseS1jb21wb3NpdGVkLWlt
YWdlLmh0bWw6CisgICAgICAgICogY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vYW5pbWF0aW9u
LW92ZXJsYXAtd2l0aC1jaGlsZHJlbi5odG1sOgorICAgICAgICAqIGNvbXBvc2l0aW5nL2xheWVy
LWNyZWF0aW9uL2ZpeGVkLXBvc2l0aW9uLWFuZC10cmFuc2Zvcm0uaHRtbDoKKyAgICAgICAgKiBj
b21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9maXhlZC1wb3NpdGlvbi1vdXQtb2Ytdmlldy5odG1s
OgorICAgICAgICAqIGNvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL2ZpeGVkLXBvc2l0aW9uLXVu
ZGVyLXRyYW5zZm9ybS5odG1sOgorICAgICAgICAqIGNvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9u
L25vLWNvbXBvc2l0aW5nLWZvci1wcmVzZXJ2ZS0zZC5odG1sOgorICAgICAgICAqIGNvbXBvc2l0
aW5nL2xheWVyLWNyZWF0aW9uL292ZXJmbG93LXNjcm9sbC1vdmVybGFwLmh0bWw6CisgICAgICAg
ICogY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vb3ZlcmxhcC1hbmltYXRpb24uaHRtbDoKKyAg
ICAgICAgKiBjb21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9vdmVybGFwLWNoaWxkLWxheWVyLmh0
bWw6CisgICAgICAgICogY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vb3ZlcmxhcC1jbGlwcGlu
Zy5odG1sOgorICAgICAgICAqIGNvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL292ZXJsYXAtdHJh
bnNmb3JtZWQtYW5kLWNsaXBwZWQuaHRtbDoKKyAgICAgICAgKiBjb21wb3NpdGluZy9sYXllci1j
cmVhdGlvbi9vdmVybGFwLXRyYW5zZm9ybWVkLWxheWVyLmh0bWw6CisgICAgICAgICogY29tcG9z
aXRpbmcvbGF5ZXItY3JlYXRpb24vb3ZlcmxhcC10cmFuc2Zvcm1zLmh0bWw6CisgICAgICAgICog
Y29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vcm90YXRlM2Qtb3ZlcmxhcC5odG1sOgorICAgICAg
ICAqIGNvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL3Njcm9sbC1wYXJ0aWFsLXVwZGF0ZS5odG1s
OgorICAgICAgICAqIGNvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL3NwYW5PdmVybGFwc0NhbnZh
cy5odG1sOgorICAgICAgICAqIGNvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL3N0YWNraW5nLWNv
bnRleHQtb3ZlcmxhcC1uZXN0ZWQuaHRtbDoKKyAgICAgICAgKiBjb21wb3NpdGluZy9sYXllci1j
cmVhdGlvbi9zdGFja2luZy1jb250ZXh0LW92ZXJsYXAuaHRtbDoKKyAgICAgICAgKiBjb21wb3Np
dGluZy9sYXllci1jcmVhdGlvbi90cmFuc2xhdGV6LW92ZXJsYXAuaHRtbDoKKyAgICAgICAgKiBj
b21wb3NpdGluZy9vdmVyZmxvdy10cnVtcHMtdHJhbnNmb3JtLXN0eWxlLmh0bWw6CisgICAgICAg
ICogY29tcG9zaXRpbmcvb3ZlcmZsb3cvY2xpcC1kZXNjZW5kZW50cy5odG1sOgorICAgICAgICAq
IGNvbXBvc2l0aW5nL292ZXJmbG93L2NvbnRlbnQtZ2FpbnMtc2Nyb2xsYmFycy5odG1sOgorICAg
ICAgICAqIGNvbXBvc2l0aW5nL292ZXJmbG93L2NvbnRlbnQtbG9zZXMtc2Nyb2xsYmFycy5odG1s
OgorICAgICAgICAqIGNvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LWF1dG8td2l0aC10b3Vj
aC1uby1vdmVyZmxvdy5odG1sOgorICAgICAgICAqIGNvbXBvc2l0aW5nL292ZXJmbG93L292ZXJm
bG93LWF1dG8td2l0aC10b3VjaC10b2dnbGUuaHRtbDoKKyAgICAgICAgKiBjb21wb3NpdGluZy9v
dmVyZmxvdy9vdmVyZmxvdy1hdXRvLXdpdGgtdG91Y2guaHRtbDoKKyAgICAgICAgKiBjb21wb3Np
dGluZy9vdmVyZmxvdy9vdmVyZmxvdy1oaWRkZW4td2l0aC10b3VjaC5odG1sOgorICAgICAgICAq
IGNvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LW92ZXJsYXktd2l0aC10b3VjaC1uby1vdmVy
Zmxvdy5odG1sOgorICAgICAgICAqIGNvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LW92ZXJs
YXktd2l0aC10b3VjaC5odG1sOgorICAgICAgICAqIGNvbXBvc2l0aW5nL292ZXJmbG93L292ZXJm
bG93LXNjcm9sbC13aXRoLXRvdWNoLW5vLW92ZXJmbG93Lmh0bWw6CisgICAgICAgICogY29tcG9z
aXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctc2Nyb2xsYmFyLWxheWVycy5odG1sOgorICAgICAgICAq
IGNvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LXZpc2libGUtd2l0aC10b3VjaC5odG1sOgor
ICAgICAgICAqIGNvbXBvc2l0aW5nL292ZXJmbG93L3Jlc2l6ZS1wYWludGluZy5odG1sOgorICAg
ICAgICAqIGNvbXBvc2l0aW5nL292ZXJmbG93L3Njcm9sbGluZy1jb250ZW50LWNsaXAtdG8tdmll
d3BvcnQuaHRtbDoKKyAgICAgICAgKiBjb21wb3NpdGluZy9vdmVyZmxvdy90ZXh0YXJlYS1zY3Jv
bGwtdG91Y2guaHRtbDoKKyAgICAgICAgKiBjb21wb3NpdGluZy9wbHVnaW5zLzF4MS1jb21wb3Np
dGVkLXBsdWdpbi5odG1sOgorICAgICAgICAqIGNvbXBvc2l0aW5nL3BsdWdpbnMvbGFyZ2UtdG8t
c21hbGwtY29tcG9zaXRlZC1wbHVnaW4uaHRtbDoKKyAgICAgICAgKiBjb21wb3NpdGluZy9wbHVn
aW5zL25vLWJhY2tpbmctc3RvcmUuaHRtbDoKKyAgICAgICAgKiBjb21wb3NpdGluZy9wbHVnaW5z
L3NtYWxsLXRvLWxhcmdlLWNvbXBvc2l0ZWQtcGx1Z2luLmh0bWw6CisgICAgICAgICogY29tcG9z
aXRpbmcvcnRsL3J0bC1hYnNvbHV0ZS1vdmVyZmxvdy1zY3JvbGxlZC5odG1sOgorICAgICAgICAq
IGNvbXBvc2l0aW5nL3J0bC9ydGwtYWJzb2x1dGUtb3ZlcmZsb3cuaHRtbDoKKyAgICAgICAgKiBj
b21wb3NpdGluZy9ydGwvcnRsLWFic29sdXRlLmh0bWw6CisgICAgICAgICogY29tcG9zaXRpbmcv
cnRsL3J0bC1maXhlZC1vdmVyZmxvdy1zY3JvbGxlZC5odG1sOgorICAgICAgICAqIGNvbXBvc2l0
aW5nL3J0bC9ydGwtZml4ZWQtb3ZlcmZsb3cuaHRtbDoKKyAgICAgICAgKiBjb21wb3NpdGluZy9y
dGwvcnRsLWZpeGVkLmh0bWw6CisgICAgICAgICogY29tcG9zaXRpbmcvcnRsL3J0bC1pZnJhbWUt
YWJzb2x1dGUtb3ZlcmZsb3ctc2Nyb2xsZWQuaHRtbDoKKyAgICAgICAgKiBjb21wb3NpdGluZy9y
dGwvcnRsLWlmcmFtZS1hYnNvbHV0ZS1vdmVyZmxvdy5odG1sOgorICAgICAgICAqIGNvbXBvc2l0
aW5nL3J0bC9ydGwtaWZyYW1lLWFic29sdXRlLmh0bWw6CisgICAgICAgICogY29tcG9zaXRpbmcv
cnRsL3J0bC1pZnJhbWUtZml4ZWQtb3ZlcmZsb3ctc2Nyb2xsZWQuaHRtbDoKKyAgICAgICAgKiBj
b21wb3NpdGluZy9ydGwvcnRsLWlmcmFtZS1maXhlZC1vdmVyZmxvdy5odG1sOgorICAgICAgICAq
IGNvbXBvc2l0aW5nL3J0bC9ydGwtaWZyYW1lLWZpeGVkLmh0bWw6CisgICAgICAgICogY29tcG9z
aXRpbmcvcnRsL3J0bC1pZnJhbWUtcmVsYXRpdmUuaHRtbDoKKyAgICAgICAgKiBjb21wb3NpdGlu
Zy9ydGwvcnRsLXJlbGF0aXZlLmh0bWw6CisgICAgICAgICogY29tcG9zaXRpbmcvdGlsZWQtbGF5
ZXJzLWhpZHBpLmh0bWw6CisgICAgICAgICogY29tcG9zaXRpbmcvdGlsaW5nL2NyYXNoLXJlcGFy
ZW50LXRpbGVkLWxheWVyLmh0bWw6CisgICAgICAgICogY29tcG9zaXRpbmcvdGlsaW5nL2h1Z2Ut
bGF5ZXItYWRkLXJlbW92ZS1jaGlsZC5odG1sLWRpc2FibGVkOgorICAgICAgICAqIGNvbXBvc2l0
aW5nL3RpbGluZy9odWdlLWxheWVyLWltZy5odG1sLWRpc2FibGVkOgorICAgICAgICAqIGNvbXBv
c2l0aW5nL3RpbGluZy9odWdlLWxheWVyLXJlc2l6ZS5odG1sLWRpc2FibGVkOgorICAgICAgICAq
IGNvbXBvc2l0aW5nL3RpbGluZy9odWdlLWxheWVyLXdpdGgtbGF5ZXItY2hpbGRyZW4tcmVzaXpl
Lmh0bWwtZGlzYWJsZWQ6CisgICAgICAgICogY29tcG9zaXRpbmcvdGlsaW5nL2h1Z2UtbGF5ZXIt
d2l0aC1sYXllci1jaGlsZHJlbi5odG1sLWRpc2FibGVkOgorICAgICAgICAqIGNvbXBvc2l0aW5n
L3RpbGluZy9odWdlLWxheWVyLmh0bWwtZGlzYWJsZWQ6CisgICAgICAgICogY29tcG9zaXRpbmcv
dmlkZW8vdmlkZW8tcG9zdGVyLmh0bWw6CisgICAgICAgICogY29tcG9zaXRpbmcvdmlzaWJpbGl0
eS9sYXllci12aXNpYmxlLWNvbnRlbnQuaHRtbDoKKyAgICAgICAgKiBjb21wb3NpdGluZy92aXNp
YmlsaXR5L3Zpc2liaWxpdHktaW1hZ2UtbGF5ZXJzLWR5bmFtaWMuaHRtbDoKKyAgICAgICAgKiBj
c3MzL2NvbXBvc2l0aW5nL3Nob3VsZC1oYXZlLWNvbXBvc2l0aW5nLWxheWVyLmh0bWw6CisgICAg
ICAgICogY3NzMy9maWx0ZXJzL2NvbXBvc2l0ZWQtZHVyaW5nLWFuaW1hdGlvbi1sYXllcnRyZWUu
aHRtbDoKKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvY29tcG9zaXRlZC1kdXJpbmctdHJhbnNpdGlv
bi1sYXllcnRyZWUuaHRtbDoKKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvZmlsdGVyZWQtY29tcG9z
aXRpbmctZGVzY2VuZGFudC5odG1sOgorICAgICAgICAqIGNzczMvZmlsdGVycy9zaG91bGQtbm90
LWhhdmUtY29tcG9zaXRpbmctbGF5ZXIuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1
bS1hbmRyb2lkL2NvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL292ZXJmbG93LXNjcm9sbGluZy10
b3VjaC5odG1sOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2ZvcmNl
LWNvbXBvc2l0aW5nLW1vZGUvZm9yY2UtY29tcG9zaXRlLWVtcHR5Lmh0bWw6CisgICAgICAgICog
cGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvZm9yY2UtY29tcG9zaXRpbmctbW9kZS9uby1v
dmVyZmxvdy1pZnJhbWUtbGF5ZXIuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9j
b21wb3NpdGluZy9mb3JjZS1jb21wb3NpdGluZy1tb2RlL292ZXJmbG93LWhpZGRlbi1pZnJhbWUt
bGF5ZXIuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9mb3Jj
ZS1jb21wb3NpdGluZy1tb2RlL292ZXJmbG93LWlmcmFtZS1lbnRlci1jb21wb3NpdGluZy5odG1s
OgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2ZvcmNlLWNvbXBvc2l0
aW5nLW1vZGUvb3ZlcmZsb3ctaWZyYW1lLWxheWVyLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0v
Y2hyb21pdW0vY29tcG9zaXRpbmcvZm9yY2UtY29tcG9zaXRpbmctbW9kZS9vdmVyZmxvdy1pZnJh
bWUtbGVhdmUtY29tcG9zaXRpbmcuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvY29tcG9z
aXRpbmcvY2FudmFzL2FjY2VsZXJhdGVkLWNhbnZhcy1jb21wb3NpdGluZy5odG1sOgorCiAyMDEy
LTEwLTA4ICBUdWxsaW8gTHVjZW5hICA8dHVsbGlvLmx1Y2VuYUBvcGVuYm9zc2Eub3JnPgogCiAg
ICAgICAgIFtRdF0gbmV3IHRlc3QgaW50cm9kdWNlZCBpbiByMTIwMzU0IGZhaWxzIG9uIFF0CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9hbmltYXRpb24vYW5pbWF0aW9uLWNv
bXBvc2l0aW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9hbmltYXRpb24vYW5pbWF0
aW9uLWNvbXBvc2l0aW5nLmh0bWwKaW5kZXggZDAyNzBiOWMyYmY2ODgwNWNmMjNkYmVhMDVhYmYy
YTczZmZkOTUyNS4uMjljOGFiOGFhZDFiNDVlYWQ1ZDk2Mjk0NjgxZmExOTAxMjg1N2M5ZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYW5pbWF0aW9uL2FuaW1hdGlvbi1jb21w
b3NpdGluZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2FuaW1hdGlvbi9hbmlt
YXRpb24tY29tcG9zaXRpbmcuaHRtbApAQCAtMjksNyArMjksNyBAQAogICAgICAgdmFyIGJveCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdib3gnKTsKICAgICAgIGJveC5hZGRFdmVudExpc3Rl
bmVyKCd3ZWJraXRBbmltYXRpb25TdGFydCcsIGZ1bmN0aW9uKCkgewogICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgIHZhciBsYXllcnMgPSB0ZXN0UnVubmVyLmxh
eWVyVHJlZUFzVGV4dCgpOworICAgICAgICAgICAgdmFyIGxheWVycyA9IHdpbmRvdy5pbnRlcm5h
bHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKICAgICAgICAgICAgIHZhciByZXN1bHQ7CiAg
ICAgICAgICAgICBpZiAobGF5ZXJzICE9ICIiKQogICAgICAgICAgICAgICByZXN1bHQgPSAiUEFT
UzogY3JlYXRlZCBjb21wb3NpdGluZyBsYXllcnMgd2hlbiBhbmltYXRpbmcgdHJhbnNmb3JtLiI7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9iYWNraW5nL25vLWJhY2tpbmct
Zm9yLWNsaXAtb3ZlcmxhcC5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYmFja2luZy9u
by1iYWNraW5nLWZvci1jbGlwLW92ZXJsYXAuaHRtbAppbmRleCAzOGEyNzdjNDkzNzVhY2NhMzNl
NDIxOTFhMGRjOWJkNzZjOWFlZjMyLi43MTFiNzgzYThmNzRiYzMxMWE4OTA4YmM0OTJiYTYwYzAw
MDdkNTM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9iYWNraW5nL25vLWJh
Y2tpbmctZm9yLWNsaXAtb3ZlcmxhcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5n
L2JhY2tpbmcvbm8tYmFja2luZy1mb3ItY2xpcC1vdmVybGFwLmh0bWwKQEAgLTM1LDcgKzM1LDcg
QEAKICAgewogICAgIHZhciBsYXllcnNSZXN1bHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
bGF5ZXJzJyk7CiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgbGF5ZXJzUmVzdWx0
LmlubmVyVGV4dCA9IHRlc3RSdW5uZXIubGF5ZXJUcmVlQXNUZXh0KCk7CisgICAgICBsYXllcnNS
ZXN1bHQuaW5uZXJUZXh0ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1l
bnQpOwogICAgIAogICB9CiAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZHVtcExh
eWVycywgZmFsc2UpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9iYWNraW5n
L25vLWJhY2tpbmctZm9yLWNsaXAuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JhY2tp
bmcvbm8tYmFja2luZy1mb3ItY2xpcC5odG1sCmluZGV4IGIyMTRkNWMwMWQzMGEyNTUyYTQ1YzQ2
ODA3Zjc4YTM2YTM0MTNmM2UuLmFkMmVkNzVlOGRkY2Q3ZjA1ZDdhZTVmZWFiNjNlZTE4ZWMyYzRk
NDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JhY2tpbmcvbm8tYmFja2lu
Zy1mb3ItY2xpcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JhY2tpbmcvbm8t
YmFja2luZy1mb3ItY2xpcC5odG1sCkBAIC0zNSw3ICszNSw3IEBACiAgIHsKICAgICB2YXIgbGF5
ZXJzUmVzdWx0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycpOwogICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgIGxheWVyc1Jlc3VsdC5pbm5lclRleHQgPSB0ZXN0UnVu
bmVyLmxheWVyVHJlZUFzVGV4dCgpOworICAgICAgbGF5ZXJzUmVzdWx0LmlubmVyVGV4dCA9IHdp
bmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKICAgICAKICAgfQogICB3
aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGR1bXBMYXllcnMsIGZhbHNlKQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYmFja2luZy9uby1iYWNraW5nLWZvci1wZXJz
cGVjdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYmFja2luZy9uby1iYWNraW5n
LWZvci1wZXJzcGVjdGl2ZS5odG1sCmluZGV4IGE1ODI1ZWE3MTk4MWY3ZTY2MzIyYmYxMTdiNjcx
YTZjZTRkNjY3MWUuLmU3NWQ3MWQ5ZWYwYjYzNjAzZDkwZGRiNmNiNDkxMjZjMDFmMDI0YzkgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JhY2tpbmcvbm8tYmFja2luZy1mb3It
cGVyc3BlY3RpdmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9iYWNraW5nL25v
LWJhY2tpbmctZm9yLXBlcnNwZWN0aXZlLmh0bWwKQEAgLTMzLDcgKzMzLDcgQEAKICAgewogICAg
IHZhciBsYXllcnNSZXN1bHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJyk7CiAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgbGF5ZXJzUmVzdWx0LmlubmVyVGV4dCA9
IHRlc3RSdW5uZXIubGF5ZXJUcmVlQXNUZXh0KCk7CisgICAgICBsYXllcnNSZXN1bHQuaW5uZXJU
ZXh0ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOwogICAgIAog
ICB9CiAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZHVtcExheWVycywgZmFsc2Up
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ib3VuZHMtaW4tZmxpcHBlZC13
cml0aW5nLW1vZGUuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvdW5kcy1pbi1mbGlw
cGVkLXdyaXRpbmctbW9kZS5odG1sCmluZGV4IDE3MGUwMTg4NjhiZjI5ZjlkODg3YmI1NzllNzJj
YzAzNjJmMmFiMzIuLjRiYWU0OGYwYWJjYWQwNGUzMzk2NzZiM2Q1YWJkNjE1Y2U4YTI3ZDUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvdW5kcy1pbi1mbGlwcGVkLXdyaXRp
bmctbW9kZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JvdW5kcy1pbi1mbGlw
cGVkLXdyaXRpbmctbW9kZS5odG1sCkBAIC03LDcgKzcsNyBAQAogICAgIDxzY3JpcHQ+CiAgICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIp
LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHRlc3RSdW5uZXIubGF5ZXJUcmVl
QXNUZXh0KCkpKTsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xl
IikuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUod2luZG93LmludGVybmFscy5s
YXllclRyZWVBc1RleHQoZG9jdW1lbnQpKSk7CiAgICAgICAgIH0KICAgICA8L3NjcmlwdD4KIDwv
Ym9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2NsaXAtY2hpbGQtYnkt
bm9uLXN0YWNraW5nLWFuY2VzdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9jbGlw
LWNoaWxkLWJ5LW5vbi1zdGFja2luZy1hbmNlc3Rvci5odG1sCmluZGV4IDViYWNjNWUyMjg4NDQy
YWZkNGI3NjJjZDEwNGI5MjQ0ZDU3Y2NlMzIuLmVkYmZkNWQyNDdkYTFkZWQ4NjUyOTZjMWViMTYx
YWYyMjhlZTEzYWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2NsaXAtY2hp
bGQtYnktbm9uLXN0YWNraW5nLWFuY2VzdG9yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvY2xpcC1jaGlsZC1ieS1ub24tc3RhY2tpbmctYW5jZXN0b3IuaHRtbApAQCAtNDAsNyAr
NDAsNyBAQAogICAgIGZ1bmN0aW9uIGRvVGVzdCgpCiAgICAgewogICAgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXll
cnRyZWUnKS5pbm5lclRleHQgPSB0ZXN0UnVubmVyLmxheWVyVHJlZUFzVGV4dCgpOworICAgICAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVydHJlZScpLmlubmVyVGV4dCA9IHdp
bmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKICAgICAgICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvY29sdW1ucy9jb21wb3NpdGVkLWluLXBhZ2luYXRlZC5odG1s
IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvY29sdW1ucy9jb21wb3NpdGVkLWluLXBhZ2luYXRl
ZC5odG1sCmluZGV4IGY3YmE4ZjViYjZhZTRjODUwZGNkOGVkYWI0ZTM4MDgyMjNhMzgyZDQuLmRk
MjA4YWE0YWNmMWFkYTM1MGJiMzVlODg1MjJkNDA1OWIzMWI0ZGQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL2NvbHVtbnMvY29tcG9zaXRlZC1pbi1wYWdpbmF0ZWQuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9jb2x1bW5zL2NvbXBvc2l0ZWQtaW4tcGFnaW5h
dGVkLmh0bWwKQEAgLTEwLDcgKzEwLDcgQEAKICAgICAgICAgZnVuY3Rpb24gZHVtcExheWVycygp
CiAgICAgICAgIHsKICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAg
ICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJUZXh0ID0gdGVz
dFJ1bm5lci5sYXllclRyZWVBc1RleHQoKTsKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJUZXh0ID0gd2luZG93LmludGVybmFscy5sYXllclRy
ZWVBc1RleHQoZG9jdW1lbnQpOwogICAgICAgICB9CiAgICAgICAgIHdpbmRvdy5hZGRFdmVudExp
c3RlbmVyKCdsb2FkJywgZHVtcExheWVycywgZmFsc2UpOwogICAgIDwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvYW5jZXN0b3Itb3ZlcmZsb3ct
Y2hhbmdlLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9nZW9tZXRyeS9hbmNlc3Rvci1v
dmVyZmxvdy1jaGFuZ2UuaHRtbAppbmRleCBhYTg2NjA5YzUyNmU0YzRhOWFhOWIyZWQwMjliZDgz
OTczMzY5NDBiLi5lM2E1MGUwMzA4NDIwMjY1ZDU5ZDUwYjVmNWY1NzcyNTExOTQzNTIyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9nZW9tZXRyeS9hbmNlc3Rvci1vdmVyZmxv
dy1jaGFuZ2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9nZW9tZXRyeS9hbmNl
c3Rvci1vdmVyZmxvdy1jaGFuZ2UuaHRtbApAQCAtNDUsNyArNDUsNyBAQAogICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpLmNsYXNzTmFtZSA9ICdjaGFuZ2VkJzsKIAog
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnbGF5ZXJzJykuaW5uZXJUZXh0ID0gdGVzdFJ1bm5lci5sYXllclRyZWVBc1RleHQoKTsK
KyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycpLmlubmVyVGV4dCA9IHdp
bmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKICAgICAgIAogICAgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2dlb21ldHJ5L2JvdW5kcy1jbGlw
cGVkLWNvbXBvc2l0ZWQtY2hpbGQuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2dlb21l
dHJ5L2JvdW5kcy1jbGlwcGVkLWNvbXBvc2l0ZWQtY2hpbGQuaHRtbAppbmRleCA2NjVhYmI5YmRh
ZWY5YzExODE3OTVlNTYzZWMxNDM1ZWRjOTQ2YTA4Li5iZWNiYmE5ZTdhZjAwMTYwYzNkOTAxYmJh
NmFkNGUzNzE2ZmUxZmRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9nZW9t
ZXRyeS9ib3VuZHMtY2xpcHBlZC1jb21wb3NpdGVkLWNoaWxkLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvYm91bmRzLWNsaXBwZWQtY29tcG9zaXRlZC1jaGlsZC5o
dG1sCkBAIC00Miw3ICs0Miw3IEBACiAgICAgZnVuY3Rpb24gZHVtcExheWVycygpCiAgICAgewog
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnbGF5ZXJzJykuaW5uZXJUZXh0ID0gdGVzdFJ1bm5lci5sYXllclRyZWVBc1RleHQoKTsK
KyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycpLmlubmVyVGV4dCA9IHdp
bmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKICAgICB9CiAKICAgICB3
aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGR1bXBMYXllcnMsIGZhbHNlKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2dlb21ldHJ5L2JvdW5kcy1pZ25vcmVzLWhp
ZGRlbi1jb21wb3NpdGVkLWRlc2NlbmRhbnQuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5n
L2dlb21ldHJ5L2JvdW5kcy1pZ25vcmVzLWhpZGRlbi1jb21wb3NpdGVkLWRlc2NlbmRhbnQuaHRt
bAppbmRleCBhOTVjOWFiODI5ZGY5MjBjZTY3ZWE1MTA2Njk5NTNhNjg1YjY1NTc0Li4yMGM2NTk2
OWQyYzZhOTViMjU3YjhjOTE3ODVmNzUzMGE2MjU2MzQ0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9jb21wb3NpdGluZy9nZW9tZXRyeS9ib3VuZHMtaWdub3Jlcy1oaWRkZW4tY29tcG9zaXRlZC1k
ZXNjZW5kYW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvYm91
bmRzLWlnbm9yZXMtaGlkZGVuLWNvbXBvc2l0ZWQtZGVzY2VuZGFudC5odG1sCkBAIC0zMSw3ICsz
MSw3IEBACiAgICAgZnVuY3Rpb24gZHVtcExheWVycygpCiAgICAgewogICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCds
YXllcnMnKS5pbm5lclRleHQgPSB3aW5kb3cudGVzdFJ1bm5lci5sYXllclRyZWVBc1RleHQoKTsK
KyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5lclRleHQg
PSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCk7CiAgICAgICAgIH0K
ICAgICB9CiAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBkdW1wTGF5ZXJzLCBm
YWxzZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9nZW9tZXRyeS9ib3Vu
ZHMtaWdub3Jlcy1oaWRkZW4tZHluYW1pYy1uZWd6aW5kZXguaHRtbCBiL0xheW91dFRlc3RzL2Nv
bXBvc2l0aW5nL2dlb21ldHJ5L2JvdW5kcy1pZ25vcmVzLWhpZGRlbi1keW5hbWljLW5lZ3ppbmRl
eC5odG1sCmluZGV4IDlhY2VlN2Q2OGUzZDU0NzY2YWMzMDE5ZDRiODExNDE4NDdlZjY2MTQuLjNi
MGJmYmEzYzQ2NTI2NzZlYTU5MGNlMDQ0ZjJmNDUwZmVhYzk5Y2YgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL2dlb21ldHJ5L2JvdW5kcy1pZ25vcmVzLWhpZGRlbi1keW5hbWlj
LW5lZ3ppbmRleC5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2dlb21ldHJ5L2Jv
dW5kcy1pZ25vcmVzLWhpZGRlbi1keW5hbWljLW5lZ3ppbmRleC5odG1sCkBAIC02NSw3ICs2NSw3
IEBACiAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAg
ZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCdjaGFuZ2VkJyk7CiAgICAgICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnbGF5ZXJzJykuaW5uZXJUZXh0ID0gdGVzdFJ1bm5lci5sYXllclRyZWVBc1RleHQoKTsK
KyAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJU
ZXh0ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOwogICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAgICAgICAgfQogICAgICAg
ICB9LCAwKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2dlb21ldHJ5L2Jv
dW5kcy1pZ25vcmVzLWhpZGRlbi1keW5hbWljLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy9nZW9tZXRyeS9ib3VuZHMtaWdub3Jlcy1oaWRkZW4tZHluYW1pYy5odG1sCmluZGV4IDJhMmNl
YjRlYmE1OWVmYjk3NTAwZTEzYTA4YThhMzU2NzM3NGE4YTguLjc2ZmQyYzQ3ZTVlZGZlNDdjZGQ5
NzNlODU3MzM5NmU1NWMzYjY0MmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5n
L2dlb21ldHJ5L2JvdW5kcy1pZ25vcmVzLWhpZGRlbi1keW5hbWljLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvYm91bmRzLWlnbm9yZXMtaGlkZGVuLWR5bmFtaWMu
aHRtbApAQCAtNDQsNyArNDQsNyBAQAogICAgICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlv
bigpIHsKICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnY2hhbmdlZCcp
OwogICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycpLmlubmVyVGV4dCA9IHRlc3RSdW5uZXIu
bGF5ZXJUcmVlQXNUZXh0KCk7CisgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2xheWVycycpLmlubmVyVGV4dCA9IHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0
KGRvY3VtZW50KTsKICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAg
ICAgICAgICAgIH0KICAgICAgICAgfSwgMCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21w
b3NpdGluZy9nZW9tZXRyeS9ib3VuZHMtaWdub3Jlcy1oaWRkZW4uaHRtbCBiL0xheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL2dlb21ldHJ5L2JvdW5kcy1pZ25vcmVzLWhpZGRlbi5odG1sCmluZGV4IDUy
ZjExYWQyNjYzYjVlODAyZjQ1NTg4NTdjMWQ3NGJiMjFhYTU2MmIuLjYwNWM2MTAxN2IyMWNiNWRm
Mjc5NDAzODgyNzQ0NmVjZmI2MGQ4ZDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0
aW5nL2dlb21ldHJ5L2JvdW5kcy1pZ25vcmVzLWhpZGRlbi5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL2dlb21ldHJ5L2JvdW5kcy1pZ25vcmVzLWhpZGRlbi5odG1sCkBAIC0xNiw3
ICsxNiw3IEBACiAgICAgZnVuY3Rpb24gZHVtcExheWVycygpCiAgICAgewogICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdsYXllcnMnKS5pbm5lclRleHQgPSB3aW5kb3cudGVzdFJ1bm5lci5sYXllclRyZWVBc1RleHQo
KTsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5lclRl
eHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCk7CiAgICAgICAg
IH0KICAgICB9CiAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBkdW1wTGF5ZXJz
LCBmYWxzZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9nZW9tZXRyeS9j
bGlwLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9nZW9tZXRyeS9jbGlwLmh0bWwKaW5k
ZXggMzJmZDQxZmUzMjQ1OTBlZmNjOWRlZjQ3NDYxNjQ2Mjc0NjNmM2U5Zi4uNDczMmUxYjg5ZjAz
ZDc1YWQzZDZjNDQ3NmU4ZjZkZjAzNmFkMjVhZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvZ2VvbWV0cnkvY2xpcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5n
L2dlb21ldHJ5L2NsaXAuaHRtbApAQCAtMzksNyArMzksNyBAQAogICAgICAgCiAgICAgZnVuY3Rp
b24gZG9UZXN0KCkgewogICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5lclRleHQgPSB0ZXN0UnVubmVyLmxh
eWVyVHJlZUFzVGV4dCgpOworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJz
JykuaW5uZXJUZXh0ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQp
OwogICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAgIH0KICAgICB9CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9nZW9tZXRyeS9jb21wb3NpdGVkLWluLWNv
bHVtbnMuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2dlb21ldHJ5L2NvbXBvc2l0ZWQt
aW4tY29sdW1ucy5odG1sCmluZGV4IGY2NzIxZGU2MTFhOTc3NjQyNmQ5NDI3OWUzMGFlMzIzNzNj
YTRjYTkuLjBmZWU5M2YyZmQyNmRmOWMwNTMyNjRiZmFkYzJlZWE1YWI0MzQyZmIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2dlb21ldHJ5L2NvbXBvc2l0ZWQtaW4tY29sdW1u
cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2dlb21ldHJ5L2NvbXBvc2l0ZWQt
aW4tY29sdW1ucy5odG1sCkBAIC00Myw3ICs0Myw3IEBACiAgICAgZnVuY3Rpb24gZHVtcExheWVy
cygpCiAgICAgewogICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJUZXh0ID0gdGVzdFJ1bm5lci5sYXllclRy
ZWVBc1RleHQoKTsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycpLmlu
bmVyVGV4dCA9IHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKICAg
ICB9CiAgICAgCiAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBkdW1wTGF5ZXJz
LCBmYWxzZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9nZW9tZXRyeS9m
aXhlZC1wb3NpdGlvbi1jb21wb3NpdGVkLXN3aXRjaC5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvZ2VvbWV0cnkvZml4ZWQtcG9zaXRpb24tY29tcG9zaXRlZC1zd2l0Y2guaHRtbAppbmRl
eCAzNWZjZjg1MDdjNDE4OTM0Y2Y5MTk5MzhiZmRmNmU4ZDdiNjlhZTlhLi5lYzI2YWJiOTc0MzFj
N2I0NDQxYjBiM2MxMDNmMTZlNWE3OGVhOTRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jb21w
b3NpdGluZy9nZW9tZXRyeS9maXhlZC1wb3NpdGlvbi1jb21wb3NpdGVkLXN3aXRjaC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2dlb21ldHJ5L2ZpeGVkLXBvc2l0aW9uLWNvbXBv
c2l0ZWQtc3dpdGNoLmh0bWwKQEAgLTI4LDE0ICsyOCwxNCBAQAogICAgICAgLy8gSWYgdGhlIGZp
eGVkIHBvc2l0aW9uIGVsZW1lbnQgZG9lc24ndCBoYXZlIGl0cyBvd24gc3RhY2tpbmcgY29udGV4
dCB0aGVuCiAgICAgICAvLyBpdCBjYW5ub3QgZ2V0IGEgY29tcG9zaXRlZCBsYXllci4KICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgbGF5ZXJUcmVlT3V0cHV0ICs9ICdCZWZv
cmUgKHNob3VsZCBiZSBlbXB0eSk6IFxuJyArIHRlc3RSdW5uZXIubGF5ZXJUcmVlQXNUZXh0KCkg
KyAnXG4nOworICAgICAgICBsYXllclRyZWVPdXRwdXQgKz0gJ0JlZm9yZSAoc2hvdWxkIGJlIGVt
cHR5KTogXG4nICsgd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpICsg
J1xuJzsKIAogICAgICAgLy8gQWRkaW5nIGEgei1pbmRleCB0byB0aGUgZml4ZWQgcG9zaXRpb24g
ZWxlbWVudCB3aWxsIGdpdmUgaXQgYSBzdGFja2luZyBjb250ZXh0CiAgICAgICAvLyBhbmQgYWxs
b3cgaXQgdG8gYmUgY29tcG9zaXRlZC4KICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdm
aXhlZCcpLnN0eWxlLnpJbmRleCA9ICcxJzsKIAogICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KSB7Ci0gICAgICAgIGxheWVyVHJlZU91dHB1dCArPSAnQWZ0ZXIgKHNob3VsZCBub3QgYmUgZW1w
dHkpOiBcbicgKyB0ZXN0UnVubmVyLmxheWVyVHJlZUFzVGV4dCgpOworICAgICAgICBsYXllclRy
ZWVPdXRwdXQgKz0gJ0FmdGVyIChzaG91bGQgbm90IGJlIGVtcHR5KTogXG4nICsgd2luZG93Lmlu
dGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOwogICAgICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnbGF5ZXJ0cmVlJykuaW5uZXJUZXh0ID0gbGF5ZXJUcmVlT3V0cHV0OwogICAg
ICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICAgIH0KQEAgLTQzLDcgKzQzLDcgQEAK
ICAgICAgIC8vIEFkZGluZyBhIHRyYW5zZm9ybSB0byB0aGUgY29udGFpbmVyIHdpbGwgdHVybiBv
ZmYgY29tcG9zaXRpbmcuCiAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGFpbmVy
Jykuc3R5bGUud2Via2l0VHJhbnNmb3JtID0gJ3RyYW5zbGF0ZVgoMCknOwogICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgIGxheWVyVHJlZU91dHB1dCArPSAnQWZ0ZXIgKHNo
b3VsZCBiZSBlbXB0eSk6IFxuJyArIHRlc3RSdW5uZXIubGF5ZXJUcmVlQXNUZXh0KCk7CisgICAg
ICAgIGxheWVyVHJlZU91dHB1dCArPSAnQWZ0ZXIgKHNob3VsZCBiZSBlbXB0eSk6IFxuJyArIHdp
bmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKICAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVydHJlZScpLmlubmVyVGV4dCA9IGxheWVyVHJlZU91dHB1
dDsKICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgICB9CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9nZW9tZXRyeS9mbGlwcGVkLXdyaXRpbmctbW9kZS5o
dG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvZmxpcHBlZC13cml0aW5nLW1v
ZGUuaHRtbAppbmRleCAyMmU5NDU4MmU2ZTMwNzVhNWQzZTE3NDA3NWYwMTA0YjhlM2FlNTI2Li4x
OGNjN2E2Y2I1MGJjZjYwMGI3OTQ0MWYyMWJlNmRmNGQ1YWRjNDFjIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9jb21wb3NpdGluZy9nZW9tZXRyeS9mbGlwcGVkLXdyaXRpbmctbW9kZS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2dlb21ldHJ5L2ZsaXBwZWQtd3JpdGluZy1tb2Rl
Lmh0bWwKQEAgLTQzLDcgKzQzLDcgQEAKICAgICBmdW5jdGlvbiBkdW1wTGF5ZXJzKCkKICAgICB7
CiAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdsYXllcnMnKS5pbm5lclRleHQgPSB0ZXN0UnVubmVyLmxheWVyVHJlZUFzVGV4dCgp
OworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJUZXh0ID0g
d2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOwogICAgIH0KICAgICAK
ICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGR1bXBMYXllcnMsIGZhbHNlKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2dlb21ldHJ5L2ZvcmVncm91bmQt
bGF5ZXIuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2dlb21ldHJ5L2ZvcmVncm91bmQt
bGF5ZXIuaHRtbAppbmRleCA4ZjY5MjNmYWEzNzE5ZDVjMWE2ZmE5MWUzOWI0MDhjYTQ5Y2RmZTIw
Li4zODc2OGEwNTAwNTg0OTUxZjM1ZjUzYjljODNkMmRjYzk0NzAzY2YxIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9jb21wb3NpdGluZy9nZW9tZXRyeS9mb3JlZ3JvdW5kLWxheWVyLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvZm9yZWdyb3VuZC1sYXllci5odG1s
CkBAIC02Miw3ICs2Miw3IEBACiAgICAgZnVuY3Rpb24gZHVtcExheWVyVHJlZSgpCiAgICAgewog
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnbGF5ZXItdHJlZScpLmlubmVyVGV4dCA9IHRlc3RSdW5uZXIubGF5ZXJUcmVlQXNUZXh0
KCk7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllci10cmVlJykuaW5uZXJU
ZXh0ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOwogICAgIH0K
ICAgICAKICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGR1bXBMYXllclRyZWUs
IGZhbHNlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2dlb21ldHJ5L2xh
eWVyLWR1ZS10by1sYXllci1jaGlsZHJlbi1kZWVwLXN3aXRjaC5odG1sIGIvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvZ2VvbWV0cnkvbGF5ZXItZHVlLXRvLWxheWVyLWNoaWxkcmVuLWRlZXAtc3dp
dGNoLmh0bWwKaW5kZXggZTkyZjQ0NDQwNDdkYmI5OGFhZTEzY2Q5YTg3MmZkYzdhZDQ1ZTBkZC4u
Y2Q1MjUwMThjZGU5MmJjMTJlNjhjY2QzNWUyNmJkNmJiYzQyYmUyZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvbGF5ZXItZHVlLXRvLWxheWVyLWNoaWxkcmVu
LWRlZXAtc3dpdGNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvZ2VvbWV0cnkv
bGF5ZXItZHVlLXRvLWxheWVyLWNoaWxkcmVuLWRlZXAtc3dpdGNoLmh0bWwKQEAgLTU1LDcgKzU1
LDcgQEAKICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICAgICAgICAgIHRleHQgKz0gIlxuIiArIHdoaWNo
ICsgIiBkdW1wIGxheWVyIHRyZWU6XG4iOwotICAgICAgICAgICAgICAgIHRleHQgKz0gdGVzdFJ1
bm5lci5sYXllclRyZWVBc1RleHQoKTsKKyAgICAgICAgICAgICAgICB0ZXh0ICs9IHdpbmRvdy5p
bnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKICAgICAgICAgICAgICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJUZXh0ID0gdGV4dDsKICAgICAgICAg
ICAgIH0KICAgICAgICAgfSwgMCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy9nZW9tZXRyeS9sYXllci1kdWUtdG8tbGF5ZXItY2hpbGRyZW4tc3dpdGNoLmh0bWwgYi9MYXlv
dXRUZXN0cy9jb21wb3NpdGluZy9nZW9tZXRyeS9sYXllci1kdWUtdG8tbGF5ZXItY2hpbGRyZW4t
c3dpdGNoLmh0bWwKaW5kZXggOGQ2YTQzOTUxYWNkMDc5NTQ0MGJiZWJhMTQ0ZTZjNmRiNTk4Yjhj
NS4uOGE2NTUyYzU2MjU0OTU3MGFhZDAzYWQ0ODAzM2VkM2Y5OGJkODQxZSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvbGF5ZXItZHVlLXRvLWxheWVyLWNoaWxk
cmVuLXN3aXRjaC5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2dlb21ldHJ5L2xh
eWVyLWR1ZS10by1sYXllci1jaGlsZHJlbi1zd2l0Y2guaHRtbApAQCAtMzYsNyArMzYsNyBAQAog
ICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKSB7CiAgICAgICAgICAgICAgICAgdGV4dCArPSAiXG4iICsgd2hpY2ggKyAiIGR1
bXAgbGF5ZXIgdHJlZTpcbiI7Ci0gICAgICAgICAgICAgICAgdGV4dCArPSB0ZXN0UnVubmVyLmxh
eWVyVHJlZUFzVGV4dCgpOworICAgICAgICAgICAgICAgIHRleHQgKz0gd2luZG93LmludGVybmFs
cy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOwogICAgICAgICAgICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5lclRleHQgPSB0ZXh0OwogICAgICAgICAgICAgfQog
ICAgICAgICB9LCAwKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2dlb21l
dHJ5L2xpbWl0LWxheWVyLWJvdW5kcy1jbGlwcGluZy1hbmNlc3Rvci5odG1sIGIvTGF5b3V0VGVz
dHMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvbGltaXQtbGF5ZXItYm91bmRzLWNsaXBwaW5nLWFuY2Vz
dG9yLmh0bWwKaW5kZXggYzdhZmFmZTE0NjQ2YjhiNmM2NTNiMTRiMDMxY2E2NGZkY2FhYzE4ZS4u
OTE1YjNjYWQ3M2NlMTIyNjZlYTA3ZWI5ZThiMDRlMGY1Y2RhYjZkYSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvbGltaXQtbGF5ZXItYm91bmRzLWNsaXBwaW5n
LWFuY2VzdG9yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvbGlt
aXQtbGF5ZXItYm91bmRzLWNsaXBwaW5nLWFuY2VzdG9yLmh0bWwKQEAgLTU4LDcgKzU4LDcgQEAK
ICAgICAgICAgc2Nyb2xsYWJsZXNbaV0uc2Nyb2xsVG9wID0gMTAwOwogCiAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVy
cycpLmlubmVyVGV4dCA9IHRlc3RSdW5uZXIubGF5ZXJUcmVlQXNUZXh0KCk7CisgICAgICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5lclRleHQgPSB3aW5kb3cuaW50ZXJu
YWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCk7CiAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOwogICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0
aW5nL2dlb21ldHJ5L2xpbWl0LWxheWVyLWJvdW5kcy1maXhlZC1wb3NpdGlvbmVkLmh0bWwgYi9M
YXlvdXRUZXN0cy9jb21wb3NpdGluZy9nZW9tZXRyeS9saW1pdC1sYXllci1ib3VuZHMtZml4ZWQt
cG9zaXRpb25lZC5odG1sCmluZGV4IDE4YTlmMmM1NGJlYzFiYmU4M2NhMDAzNTBhZTZlYTgwYWUy
OGYyZDcuLmRlYzE1YjE2MDJlY2ViZmQxNDRiMmNiNGJkOGY5NGI2OTExODFlNjcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2dlb21ldHJ5L2xpbWl0LWxheWVyLWJvdW5kcy1m
aXhlZC1wb3NpdGlvbmVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvZ2VvbWV0
cnkvbGltaXQtbGF5ZXItYm91bmRzLWZpeGVkLXBvc2l0aW9uZWQuaHRtbApAQCAtNTIsNyArNTIs
NyBAQAogICAgICAgd2luZG93LnNjcm9sbEJ5KDAsIDEwMCk7CiAKICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikgewotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJyku
aW5uZXJUZXh0ID0gdGVzdFJ1bm5lci5sYXllclRyZWVBc1RleHQoKTsKKyAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycpLmlubmVyVGV4dCA9IHdpbmRvdy5pbnRlcm5hbHMu
bGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7CiAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
Z2VvbWV0cnkvbGltaXQtbGF5ZXItYm91bmRzLW9wYWNpdHktdHJhbnNpdGlvbi5odG1sIGIvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvbGltaXQtbGF5ZXItYm91bmRzLW9wYWNpdHkt
dHJhbnNpdGlvbi5odG1sCmluZGV4IGUwYzA5YWU5NGFjNDUyOTZhZjRmNmI1YzQxYjU1ZTk0NTM4
YmM1ZmYuLjY3MmJjZDcyYTk4YzM0NTk4MmFkZWM5MzcyZDczZjBlMjg3ZWViZmEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2dlb21ldHJ5L2xpbWl0LWxheWVyLWJvdW5kcy1v
cGFjaXR5LXRyYW5zaXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9nZW9t
ZXRyeS9saW1pdC1sYXllci1ib3VuZHMtb3BhY2l0eS10cmFuc2l0aW9uLmh0bWwKQEAgLTM0LDcg
KzM0LDcgQEAKICAgICBmdW5jdGlvbiBmYWRlRG9uZSgpCiAgICAgewogICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB7Ci0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnMn
KS5pbm5lclRleHQgPSB0ZXN0UnVubmVyLmxheWVyVHJlZUFzVGV4dCgpOworICAgICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJUZXh0ID0gd2luZG93LmludGVybmFs
cy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOwogICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsKICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy9nZW9tZXRyeS9saW1pdC1sYXllci1ib3VuZHMtb3ZlcmZsb3ctcm9vdC5odG1sIGIvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvbGltaXQtbGF5ZXItYm91bmRzLW92ZXJmbG93LXJv
b3QuaHRtbAppbmRleCA0ZTNlZGY4MTQ1OGI1ZjZhZjYyOTNkMTRhZTdlY2EwY2VlNzBjYzBiLi4w
MmU1NWM0ZmI5OTBlNzFiN2MxMjc0NDQ4NjgwNjlhMmIzZjJkODJiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9jb21wb3NpdGluZy9nZW9tZXRyeS9saW1pdC1sYXllci1ib3VuZHMtb3ZlcmZsb3ct
cm9vdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2dlb21ldHJ5L2xpbWl0LWxh
eWVyLWJvdW5kcy1vdmVyZmxvdy1yb290Lmh0bWwKQEAgLTU0LDcgKzU0LDcgQEAKICAgICBmdW5j
dGlvbiBkb1Rlc3QoKQogICAgIHsKICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJUZXh0ID0gdGVzdFJ1
bm5lci5sYXllclRyZWVBc1RleHQoKTsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2xheWVycycpLmlubmVyVGV4dCA9IHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRv
Y3VtZW50KTsKICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICB9CiAgICAg
fQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvbGltaXQtbGF5
ZXItYm91bmRzLXBvc2l0aW9uZWQtdHJhbnNpdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvZ2VvbWV0cnkvbGltaXQtbGF5ZXItYm91bmRzLXBvc2l0aW9uZWQtdHJhbnNpdGlvbi5o
dG1sCmluZGV4IGE1YjlhOGVmM2UwMjExZjY4MmU3MTdkMmUzYzRkYmY5ODY3ODViMjYuLjlkNjQy
YjFmZjE1ZGMxY2M1MWY2NTExNjRjYTg2NWY1MTY4OWQ3MjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2NvbXBvc2l0aW5nL2dlb21ldHJ5L2xpbWl0LWxheWVyLWJvdW5kcy1wb3NpdGlvbmVkLXRy
YW5zaXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9nZW9tZXRyeS9saW1p
dC1sYXllci1ib3VuZHMtcG9zaXRpb25lZC10cmFuc2l0aW9uLmh0bWwKQEAgLTU0LDcgKzU0LDcg
QEAKICAgICB7CiAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmFyLWxlZnQnKS5jbGFz
c05hbWUgPSAnbW92ZWQnOwogICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5lclRleHQgPSB0ZXN0UnVubmVy
LmxheWVyVHJlZUFzVGV4dCgpOworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5
ZXJzJykuaW5uZXJUZXh0ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1l
bnQpOwogICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAgIH0KICAgICB9CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9nZW9tZXRyeS9saW1pdC1sYXllci1i
b3VuZHMtcG9zaXRpb25lZC5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvZ2VvbWV0cnkv
bGltaXQtbGF5ZXItYm91bmRzLXBvc2l0aW9uZWQuaHRtbAppbmRleCBlNzI1MTk2OWIzYjliNDA2
MzYxYjZiMjZiYmVlMjc1MGE4YzA2NjFhLi41MzliMjY3NzgzZmFjNGY1M2NjNjMxMDJhN2JhMDlm
MzQzMzVmZWQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9nZW9tZXRyeS9s
aW1pdC1sYXllci1ib3VuZHMtcG9zaXRpb25lZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBv
c2l0aW5nL2dlb21ldHJ5L2xpbWl0LWxheWVyLWJvdW5kcy1wb3NpdGlvbmVkLmh0bWwKQEAgLTQ5
LDcgKzQ5LDcgQEAKICAgICBmdW5jdGlvbiBkb1Rlc3QoKQogICAgIHsKICAgICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikgewotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJz
JykuaW5uZXJUZXh0ID0gdGVzdFJ1bm5lci5sYXllclRyZWVBc1RleHQoKTsKKyAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycpLmlubmVyVGV4dCA9IHdpbmRvdy5pbnRlcm5h
bHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlE
b25lKCk7CiAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRp
bmcvZ2VvbWV0cnkvbGltaXQtbGF5ZXItYm91bmRzLXRyYW5zZm9ybWVkLW92ZXJmbG93Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9nZW9tZXRyeS9saW1pdC1sYXllci1ib3VuZHMtdHJh
bnNmb3JtZWQtb3ZlcmZsb3cuaHRtbAppbmRleCBjZjQzYWFiYzYzMGY4Y2JjMThjZTM4NDUxMjM2
ZTY0ZTBjZjk1OGM5Li43YjUyZGFjMjRlMDkxZjIxZDc2ZjExNzA3ZDM4N2JhNzE3ZjFiMGE1IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9nZW9tZXRyeS9saW1pdC1sYXllci1i
b3VuZHMtdHJhbnNmb3JtZWQtb3ZlcmZsb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3Np
dGluZy9nZW9tZXRyeS9saW1pdC1sYXllci1ib3VuZHMtdHJhbnNmb3JtZWQtb3ZlcmZsb3cuaHRt
bApAQCAtNTcsNyArNTcsNyBAQAogICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAg
ICAgIC8vIFdlIG5lZWQgdG8gY2FsbCBkaXNwbGF5KCkgaGVyZSB0byBzeW5jIHRoZSBjb21wb3Np
dG9yIHN0YXRlIGFuZCBhdm9pZCBhIHJhY2UgY29uZGl0aW9uLgogICAgICAgICB0ZXN0UnVubmVy
LmRpc3BsYXkoKTsKLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycpLmlu
bmVyVGV4dCA9IHRlc3RSdW5uZXIubGF5ZXJUcmVlQXNUZXh0KCk7CisgICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5lclRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxh
eWVyVHJlZUFzVGV4dChkb2N1bWVudCk7CiAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OwogICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2dl
b21ldHJ5L2xpbWl0LWxheWVyLWJvdW5kcy10cmFuc2Zvcm1lZC5odG1sIGIvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvZ2VvbWV0cnkvbGltaXQtbGF5ZXItYm91bmRzLXRyYW5zZm9ybWVkLmh0bWwK
aW5kZXggNzVjZDJkMjg1Y2RjOWRiZDFjNGI4ZjM5YTY0YTg1MzkxNDAwYjRkZC4uNzY1YTlmNDA2
NGVlNGMyYTYwZDBjZWUxZDc5YmViZTkwYTY4M2RiYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvZ2VvbWV0cnkvbGltaXQtbGF5ZXItYm91bmRzLXRyYW5zZm9ybWVkLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvbGltaXQtbGF5ZXItYm91bmRz
LXRyYW5zZm9ybWVkLmh0bWwKQEAgLTUwLDcgKzUwLDcgQEAKICAgICBmdW5jdGlvbiBkb1Rlc3Qo
KQogICAgIHsKICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJUZXh0ID0gdGVzdFJ1bm5lci5sYXllclRy
ZWVBc1RleHQoKTsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycpLmlu
bmVyVGV4dCA9IHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKICAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvcHJlc2VydmUtM2Qtc3dpdGNoaW5n
Lmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9nZW9tZXRyeS9wcmVzZXJ2ZS0zZC1zd2l0
Y2hpbmcuaHRtbAppbmRleCAxNDc0ODI5ZGRmMmNjMGE3NjM1MTk1YjVhZTE5NDA4ZTg0YWJmYjI4
Li45MDUxZDhmNDc3N2Q2ZTczY2QzNWY4MzQ5YWQ5Yjc0MTU1MTNhMzc2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9jb21wb3NpdGluZy9nZW9tZXRyeS9wcmVzZXJ2ZS0zZC1zd2l0Y2hpbmcuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9nZW9tZXRyeS9wcmVzZXJ2ZS0zZC1zd2l0
Y2hpbmcuaHRtbApAQCAtNjEsNyArNjEsNyBAQAogICAgICAgICAgICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXJlbnQiKS5zdHlsZS53ZWJraXRUcmFuc2Zvcm1TdHlsZSA9ICJwcmVz
ZXJ2ZS0zZCI7CiAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAg
ICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmxheWVyVHJlZUFzVGV4dCkgewotICAgICAg
ICAgICAgICAgICAgICAgICAgdmFyIGxheWVyVHJlZSA9IHRlc3RSdW5uZXIubGF5ZXJUcmVlQXNU
ZXh0KCk7CisgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbGF5ZXJUcmVlID0gd2luZG93Lmlu
dGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOwogICAgICAgICAgICAgICAgICAgICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxheWVyVHJlZSIpLmlubmVySFRNTCA9ICI8cHJl
PiIgKyBsYXllclRyZWUgKyAiPC9wcmU+IjsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvYmVjb21lLWNvbXBvc2l0ZWQtbmVzdGVkLWlmcmFt
ZXMuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvYmVjb21lLWNvbXBvc2l0
ZWQtbmVzdGVkLWlmcmFtZXMuaHRtbAppbmRleCAyNzY4MzY4ZmJmNDdkOTIyNGI0ZjkxZjMwNmUx
N2Q2MWYwNmQyMDBhLi45NTViZThjNmY0MTBkNWNmY2ZkZjg2M2YxNTNkMDBmNjU1NmVkOTQ4IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL2JlY29tZS1jb21wb3Np
dGVkLW5lc3RlZC1pZnJhbWVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZy
YW1lcy9iZWNvbWUtY29tcG9zaXRlZC1uZXN0ZWQtaWZyYW1lcy5odG1sCkBAIC0zOCw3ICszOCw3
IEBACiAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JveCcpLmNsYXNzTmFtZSA9
ICdjb21wb3NpdGVkJzsKICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5kaXNwbGF5KCk7Ci0gICAgICAgICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5lckhUTUwgPSB0ZXN0UnVubmVyLmxheWVyVHJlZUFz
VGV4dCgpOworICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJyku
aW5uZXJIVE1MID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOwog
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAgICAgICB9CiAgICAg
ICAgIH0sIDIwKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMv
YmVjb21lLW92ZXJsYXBwZWQtaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9p
ZnJhbWVzL2JlY29tZS1vdmVybGFwcGVkLWlmcmFtZS5odG1sCmluZGV4IGY0ODc2MDc1YTM0NzRh
YzgxZDMxNTc5ZDI3MzZjNTllYzViZDcxMDQuLjRjMDBmZGMzOWJkNWY0MGZhZjIwM2QzN2MxNTE4
NDY0NTRjMWM0MzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMv
YmVjb21lLW92ZXJsYXBwZWQtaWZyYW1lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRp
bmcvaWZyYW1lcy9iZWNvbWUtb3ZlcmxhcHBlZC1pZnJhbWUuaHRtbApAQCAtMzgsNyArMzgsNyBA
QAogICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvdmVybGF5Jykuc3R5bGUuaGVp
Z2h0ID0gJzE1MHB4JzsKICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIuZGlzcGxheSgpOyAvLyBQYWludGluZyBoYXMgdG8gaGFw
cGVuIHRvIGRldGVjdCBvdmVybGFwLgotICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdsYXllcnMnKS5pbm5lckhUTUwgPSB0ZXN0UnVubmVyLmxheWVyVHJlZUFzVGV4dCgp
OworICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5l
ckhUTUwgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCk7CiAgICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0sIDApOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9j
b21wb3NpdGVkLXBhcmVudC1pZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lm
cmFtZXMvY29tcG9zaXRlZC1wYXJlbnQtaWZyYW1lLmh0bWwKaW5kZXggZGE2MTk2YzhjYWNiYjNh
MjExODVlMmNmOGFjYWVhMTFmODBmYjU4MS4uNWM2MzRlMjJkZGVlNjA1YmJlMTlkNzNlN2EzY2Ix
NWI5YjhkZDQyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9j
b21wb3NpdGVkLXBhcmVudC1pZnJhbWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy9pZnJhbWVzL2NvbXBvc2l0ZWQtcGFyZW50LWlmcmFtZS5odG1sCkBAIC0yMSw3ICsyMSw3IEBA
CiAgICAgZnVuY3Rpb24gZG9UZXN0KCkKICAgICB7CiAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycpLmlu
bmVySFRNTCA9IHRlc3RSdW5uZXIubGF5ZXJUcmVlQXNUZXh0KCk7CisgICAgICAgICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJIVE1MID0gd2luZG93LmludGVybmFs
cy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOwogICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCk7CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21w
b3NpdGluZy9pZnJhbWVzL2Nvbm5lY3QtY29tcG9zaXRpbmctaWZyYW1lLWRlbGF5ZWQuaHRtbCBi
L0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvY29ubmVjdC1jb21wb3NpdGluZy1pZnJh
bWUtZGVsYXllZC5odG1sCmluZGV4IGU1N2RiMDA3NzFiYjQwMDMzMGYxNGJjMWE0ODU3ZDkzYzBm
YTZjMWEuLjhiN2FmN2E4YjZiYmFhYzk5YTEyNTlkNzhiZjY3MzQ5YzAwYjA3ZDEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvY29ubmVjdC1jb21wb3NpdGluZy1p
ZnJhbWUtZGVsYXllZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMv
Y29ubmVjdC1jb21wb3NpdGluZy1pZnJhbWUtZGVsYXllZC5odG1sCkBAIC0zNyw3ICszNyw3IEBA
CiAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdib3gnKS5jbGFzc05hbWUgPSAnY29t
cG9zaXRlZCc7CiAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZnJhbWUnKS5jb250ZW50RG9jdW1lbnQuYm9keS5vZmZz
ZXRXaWR0aDsgLy8gdXBkYXRlIGlmcmFtZSBsYXlvdXQKLSAgICAgICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJUZXh0ID0gdGVzdFJ1bm5lci5sYXllclRyZWVBc1Rl
eHQoKTsKKyAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJU
ZXh0ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOwogICAgICAg
ICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9jb25uZWN0LWNvbXBvc2l0aW5nLWlm
cmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9jb25uZWN0LWNvbXBv
c2l0aW5nLWlmcmFtZS5odG1sCmluZGV4IDI4M2YxMjgxYzBjYzE4ZjFhMjljMmMxM2Q3NDcyNWNj
NGZmMzNlN2UuLmEyZWM4Y2YzNTJiY2FmNDk3YmQyMDhlOWZlMGU5MTVhYmFmNDY5ODkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvY29ubmVjdC1jb21wb3NpdGlu
Zy1pZnJhbWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL2Nvbm5l
Y3QtY29tcG9zaXRpbmctaWZyYW1lLmh0bWwKQEAgLTM4LDcgKzM4LDcgQEAKICAgICAgICAgdGVz
dFJ1bm5lci5kaXNwbGF5KCk7CiAKICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJUZXh0ID0gdGVzdFJ1
bm5lci5sYXllclRyZWVBc1RleHQoKTsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2xheWVycycpLmlubmVyVGV4dCA9IHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRv
Y3VtZW50KTsKICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICB9CiAgICAg
fQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9jb25uZWN0LWNv
bXBvc2l0aW5nLWlmcmFtZTIuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMv
Y29ubmVjdC1jb21wb3NpdGluZy1pZnJhbWUyLmh0bWwKaW5kZXggMDIzNTJlNTFiMDhhYmRkMjhm
NjM4NmE3YmZhODBhYjFiNzZhMjVlYS4uNDBmODQxZjgzZTE3ZjJmMjNjNDE3ODM4ZDlkNjhiYjA1
OTg5ZGZhZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9jb25u
ZWN0LWNvbXBvc2l0aW5nLWlmcmFtZTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy9pZnJhbWVzL2Nvbm5lY3QtY29tcG9zaXRpbmctaWZyYW1lMi5odG1sCkBAIC0zNyw3ICszNyw3
IEBACiAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWZyYW1lJykuY2xhc3NOYW1lID0g
J2NvbXBvc2l0ZWQnOwogCiAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycpLmlubmVyVGV4dCA9IHRlc3RSdW5uZXIu
bGF5ZXJUcmVlQXNUZXh0KCk7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXll
cnMnKS5pbm5lclRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVu
dCk7CiAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAgfQogICAgIH0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvY29ubmVjdC1jb21wb3Np
dGluZy1pZnJhbWUzLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL2Nvbm5l
Y3QtY29tcG9zaXRpbmctaWZyYW1lMy5odG1sCmluZGV4IDg0NDU1NTZlNDIxMWEwZjk5N2VjMGNh
MjYzODI4OTUyYTUyMjliMDcuLjU5ZjhhZTFiZmVlY2UwNzdkYWMxNTI4MDM2YjRmODA4MDAyYWMz
OTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvY29ubmVjdC1j
b21wb3NpdGluZy1pZnJhbWUzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZy
YW1lcy9jb25uZWN0LWNvbXBvc2l0aW5nLWlmcmFtZTMuaHRtbApAQCAtMzEsNyArMzEsNyBAQAog
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lmcmFtZScpLmNsYXNzTmFtZSA9ICdjb21w
b3NpdGVkJzsKIAogICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5lclRleHQgPSB0ZXN0UnVubmVyLmxheWVy
VHJlZUFzVGV4dCgpOworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJyku
aW5uZXJUZXh0ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOwog
ICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAgIH0KICAgICB9CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL2VudGVyLWNvbXBvc2l0aW5nLWlm
cmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9lbnRlci1jb21wb3Np
dGluZy1pZnJhbWUuaHRtbAppbmRleCBkODk4ZjU1MzRhZjMyYWM2NjJhZDcyMjc1Y2FiMDFmOTQz
ZjEwNzlmLi5kYjQ0MzJmOWIwNjg4YTE0YzY3YmU0YjkzNTc0ZTIwMDM0OGYwOTlhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL2VudGVyLWNvbXBvc2l0aW5nLWlm
cmFtZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvZW50ZXItY29t
cG9zaXRpbmctaWZyYW1lLmh0bWwKQEAgLTM0LDcgKzM0LDcgQEAKICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdwYXJlbnQtaWZyYW1lJykuY29udGVudERvY3VtZW50LmJvZHkub2Zmc2V0
V2lkdGg7IC8vIHdvcmsgYXJvdW5kIGJ1ZyA0MTk5OS4KICAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikgewogICAgICAgICB0ZXN0UnVubmVyLmRpc3BsYXkoKTsKLSAgICAgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ2xheWVycycpLmlubmVyVGV4dCA9IHRlc3RSdW5uZXIubGF5ZXJUcmVl
QXNUZXh0KCk7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5l
clRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCk7CiAgICAg
ICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvaWZyYW1lLXJlc2l6ZS5odG1sIGIvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9pZnJhbWUtcmVzaXplLmh0bWwKaW5kZXggYzAw
ZmI2MzdkNjFmZjFjODI1YTcyNzk0YjQwZTZkMTI4MzgyY2JlZi4uMDg0YWI1Y2RmNDA2MDk4NzM3
MTNlNWM2ZTU4ZmZjMTZjNGM1YTAwMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRp
bmcvaWZyYW1lcy9pZnJhbWUtcmVzaXplLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRp
bmcvaWZyYW1lcy9pZnJhbWUtcmVzaXplLmh0bWwKQEAgLTQzLDcgKzQzLDcgQEAKICAgICAgICAg
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXJlbnQtaWZyYW1lJykuY2xhc3NOYW1lID0g
J2JpZ2dlcic7CiAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLmRpc3BsYXkoKTsKLSAgICAgICAgICAgICAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJIVE1MID0gdGVzdFJ1bm5lci5sYXllclRyZWVB
c1RleHQoKTsKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJz
JykuaW5uZXJIVE1MID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQp
OwogICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAgICAgICAg
fQogICAgICAgICB9LCAwKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lm
cmFtZXMvaWZyYW1lLXNpemUtZnJvbS16ZXJvLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy9pZnJhbWVzL2lmcmFtZS1zaXplLWZyb20temVyby5odG1sCmluZGV4IDE1ZjE1ZWEyN2UxNjcy
MThkNmIwNzI2MmYxZTdkZGVkMzgzMDEyNGUuLjFiYjExMWRiYzNmYTM4NTExZjE0ZWJiZTMyMjdh
OWI1ZTkyZDI5OTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMv
aWZyYW1lLXNpemUtZnJvbS16ZXJvLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
aWZyYW1lcy9pZnJhbWUtc2l6ZS1mcm9tLXplcm8uaHRtbApAQCAtMzgsNyArMzgsNyBAQAogICAg
ICAgICAgICAgLy8gTmVlZCB0byB3YWl0IGZvciBjb21wb3NpdGluZyBsYXllcnMgdG8gYmUgdXBk
YXRlZC4KICAgICAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAg
ICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJIVE1MID0gdGVzdFJ1bm5lci5s
YXllclRyZWVBc1RleHQoKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2xheWVycycpLmlubmVySFRNTCA9IHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNU
ZXh0KGRvY3VtZW50KTsKICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSwgMCk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL2lmcmFtZS1zaXplLXRvLXplcm8uaHRtbCBi
L0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvaWZyYW1lLXNpemUtdG8temVyby5odG1s
CmluZGV4IGRjZmQyZDhhMjVkZWNhMzZiYTEwNWZjMmNmMjMyZGZiNzFmY2MzZDEuLjQxYTBiNDI0
ODU5ZDI3OTlhOTUxZTY5YmNkMmNhYmU3ZDU2NDUwNTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL2lmcmFtZXMvaWZyYW1lLXNpemUtdG8temVyby5odG1sCisrKyBiL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvaWZyYW1lLXNpemUtdG8temVyby5odG1sCkBAIC00
MCw3ICs0MCw3IEBACiAKICAgICAgICAgICAgIHZhciBoYWRMYXllcnMgPSBmYWxzZTsKICAgICAg
ICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHZhciBsYXll
cnMgPSB0ZXN0UnVubmVyLmxheWVyVHJlZUFzVGV4dCgpOworICAgICAgICAgICAgICAgIHZhciBs
YXllcnMgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCk7CiAgICAg
ICAgICAgICAgICAgaGFkTGF5ZXJzID0gbGF5ZXJzICE9ICIiOwogICAgICAgICAgICAgfQogCkBA
IC00OSw3ICs0OSw3IEBACiAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKIAog
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZGlzcGxheSgpOwotICAgICAgICAgICAgICAgIHZh
ciBoYXZlTGF5ZXJzID0gdGVzdFJ1bm5lci5sYXllclRyZWVBc1RleHQoKSAhPSAiIjsKKyAgICAg
ICAgICAgICAgICB2YXIgaGF2ZUxheWVycyA9IHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNU
ZXh0KGRvY3VtZW50KSAhPSAiIjsKICAgICAgICAgICAgICAgICB2YXIgcmVzdWx0OwogICAgICAg
ICAgICAgICAgIGlmIChoYWRMYXllcnMgJiYgIWhhdmVMYXllcnMpCiAgICAgICAgICAgICAgICAg
ICByZXN1bHQgPSAiUEFTUzogaGFkIGxheWVycywgYW5kIG5vdyBkbyBub3QiOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9pZnJhbWUtc3JjLWNoYW5nZS5odG1s
IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9pZnJhbWUtc3JjLWNoYW5nZS5odG1s
CmluZGV4IGUwMTkyODUxMWZhM2U5YTVjZjM2ZjVlNTExODFmNDBkY2FlMzJjYTAuLjIzY2FhZDNk
ZjQ1Y2E1NWQ5OTRlYWEyNDhkMzRjMmNkOTYwOTQyZDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL2lmcmFtZXMvaWZyYW1lLXNyYy1jaGFuZ2UuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL2lmcmFtZS1zcmMtY2hhbmdlLmh0bWwKQEAgLTM2LDE0
ICszNiwxNCBAQAogICAgICAgICAgICAgdmFyIGhhZExheWVyc0FmdGVyID0gZmFsc2U7CiAgICAg
ICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLmRpc3BsYXkoKTsgLy8gTmVlZCB0byBwYWludCBmb3Igb3ZlcmxhcCB0ZXN0aW5nLgotICAg
ICAgICAgICAgICAgIGhhZExheWVyc0JlZm9yZSA9IHRlc3RSdW5uZXIubGF5ZXJUcmVlQXNUZXh0
KCkgIT0gIiI7CisgICAgICAgICAgICAgICAgaGFkTGF5ZXJzQmVmb3JlID0gd2luZG93LmludGVy
bmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpICE9ICIiOwogICAgICAgICAgICAgfQogCiAg
ICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFyZW50LWlmcmFtZScpLnNyYyA9
ICJhYm91dDpibGFuayI7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIHdpbmRvdy5zZXRUaW1l
b3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikg
ewotICAgICAgICAgICAgICAgICAgICBoYWRMYXllcnNBZnRlciA9IHRlc3RSdW5uZXIubGF5ZXJU
cmVlQXNUZXh0KCkgIT0gIiI7CisgICAgICAgICAgICAgICAgICAgIGhhZExheWVyc0FmdGVyID0g
d2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpICE9ICIiOwogCiAgICAg
ICAgICAgICAgICAgICAgIHZhciByZXN1bHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jl
c3VsdHMnKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKGhhZExheWVyc0JlZm9yZSAmJiAhaGFk
TGF5ZXJzQWZ0ZXIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVz
L2ludmlzaWJsZS1uZXN0ZWQtaWZyYW1lLWhpZGUuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0
aW5nL2lmcmFtZXMvaW52aXNpYmxlLW5lc3RlZC1pZnJhbWUtaGlkZS5odG1sCmluZGV4IGMwNDg3
NjljOTFkYTI0MmM1NDRkODZlMWU2MWJiOTMzYThlOWQxNDAuLmJlZjA0NzdlNDc1ZjFmNDY5MzY0
YzhhN2ZlZWUzYmUwZTVlM2M1ZWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5n
L2lmcmFtZXMvaW52aXNpYmxlLW5lc3RlZC1pZnJhbWUtaGlkZS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvaW52aXNpYmxlLW5lc3RlZC1pZnJhbWUtaGlkZS5odG1s
CkBAIC0zNyw3ICszNyw3IEBACiAgICAgICAgIGRpdi5zdHlsZS5jc3NUZXh0ID0gImRpc3BsYXk6
bm9uZTsiOwogICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgICB0ZXN0
UnVubmVyLmRpc3BsYXkoKTsKLSAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5
ZXJzJykuaW5uZXJIVE1MID0gdGVzdFJ1bm5lci5sYXllclRyZWVBc1RleHQoKTsKKyAgICAgICAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJIVE1MID0gd2luZG93Lmlu
dGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOwogICAgICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOwogICAgICAgICB9CiAgICAgICB9LCAwKQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9pbnZpc2libGUtbmVzdGVkLWlmcmFtZS1zaG93Lmh0
bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL2ludmlzaWJsZS1uZXN0ZWQtaWZy
YW1lLXNob3cuaHRtbAppbmRleCBhZGI5YjFiZDQ2YWE0Nzg4YzM4ZjBjMjhmOGQwOTVhZGZmZjY4
MTUyLi42MTM3ZmNlZDdjOTIzOWU3YjUzMWQ1YTBlZjM1NGZjZjQ0NTc3MWFhIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL2ludmlzaWJsZS1uZXN0ZWQtaWZyYW1l
LXNob3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL2ludmlzaWJs
ZS1uZXN0ZWQtaWZyYW1lLXNob3cuaHRtbApAQCAtMzcsNyArMzcsNyBAQAogICAgICAgICBkaXYu
c3R5bGUuY3NzVGV4dCA9ICIiOwogICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAg
ICAgICAgICB0ZXN0UnVubmVyLmRpc3BsYXkoKTsKLSAgICAgICAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJIVE1MID0gdGVzdFJ1bm5lci5sYXllclRyZWVBc1RleHQo
KTsKKyAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJIVE1M
ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOwogICAgICAgICAg
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAgICB9CiAgICAgICB9LCAwKQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9sZWF2ZS1jb21wb3NpdGluZy1p
ZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvbGVhdmUtY29tcG9z
aXRpbmctaWZyYW1lLmh0bWwKaW5kZXggMDM0N2ZlMDBkNWU4OGE5YzkzOGEyYTYwMDEzYmE1MTIx
MDNjNzJjYy4uMDRiYWFmYzYwZThhNTZkYTJmMWI1NzdhMzRiZWFhNTEwMDc3MDNjNiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9sZWF2ZS1jb21wb3NpdGluZy1p
ZnJhbWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL2xlYXZlLWNv
bXBvc2l0aW5nLWlmcmFtZS5odG1sCkBAIC0zNiw3ICszNiw3IEBACiAgICAgICAgIHRlc3RSdW5u
ZXIuZGlzcGxheSgpOwogCiAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycpLmlubmVyVGV4dCA9IHRlc3RSdW5uZXIu
bGF5ZXJUcmVlQXNUZXh0KCk7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXll
cnMnKS5pbm5lclRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVu
dCk7CiAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAgfQogICAgIH0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvb3ZlcmxhcHBlZC1pZnJh
bWUtaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL292ZXJsYXBw
ZWQtaWZyYW1lLWlmcmFtZS5odG1sCmluZGV4IGUxODQ5ODA1ZWYxMGM3ZDFiODY1MDZmYjNhZjAx
Njk2ODBlNTM5ZGIuLjgxMGEzZGNlNWRkZGVjNjg5OTU0ZmI2YTVhYWExMTgwMzc5NmQ1N2QgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvb3ZlcmxhcHBlZC1pZnJh
bWUtaWZyYW1lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9vdmVy
bGFwcGVkLWlmcmFtZS1pZnJhbWUuaHRtbApAQCAtMzYsNyArMzYsNyBAQAogICAgICAgICB3aW5k
b3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikgewogICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZGlzcGxheSgpOwotICAgICAgICAg
ICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5lckhUTUwgPSB0ZXN0
UnVubmVyLmxheWVyVHJlZUFzVGV4dCgpOworICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5lckhUTUwgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJl
ZUFzVGV4dChkb2N1bWVudCk7CiAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0sIDApOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvY29tcG9zaXRpbmcvaWZyYW1lcy9vdmVybGFwcGVkLWlmcmFtZS5odG1sIGIvTGF5b3V0VGVz
dHMvY29tcG9zaXRpbmcvaWZyYW1lcy9vdmVybGFwcGVkLWlmcmFtZS5odG1sCmluZGV4IGRkMDc2
MTc5Njk5NjljZjdhOTczNjVhY2Q0Y2FhYjU4YzczYjVhYzAuLjg3MGUzZWRiNDFhODI0YmRhYjQ0
YmNlYjFkZWVkOGMzNDUyNTBjZmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5n
L2lmcmFtZXMvb3ZlcmxhcHBlZC1pZnJhbWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3Np
dGluZy9pZnJhbWVzL292ZXJsYXBwZWQtaWZyYW1lLmh0bWwKQEAgLTM0LDcgKzM0LDcgQEAKICAg
ICAgICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB7CiAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZGlzcGxheSgpOwotICAg
ICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJIVE1MID0g
dGVzdFJ1bm5lci5sYXllclRyZWVBc1RleHQoKTsKKyAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2xheWVycycpLmlubmVySFRNTCA9IHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJU
cmVlQXNUZXh0KGRvY3VtZW50KTsKICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7CiAgICAgICAgICAgfQogICAgICAgICB9LCAwKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL2lmcmFtZXMvb3ZlcmxhcHBlZC1uZXN0ZWQtaWZyYW1lcy5odG1sIGIvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9vdmVybGFwcGVkLW5lc3RlZC1pZnJhbWVzLmh0
bWwKaW5kZXggZGUwMzM0MmIzNGY4YWYyNGY3ZDg5YWRiMTg0YjE0MTIyZmFiMjExMC4uMGQ4NGIy
N2NlYzc3MTQ4MWNlNGU1YjY5ZWQ5OTNhZjFiNTcwY2M2OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvY29tcG9zaXRpbmcvaWZyYW1lcy9vdmVybGFwcGVkLW5lc3RlZC1pZnJhbWVzLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9vdmVybGFwcGVkLW5lc3RlZC1pZnJh
bWVzLmh0bWwKQEAgLTM3LDcgKzM3LDcgQEAKICAgICAgICAgICAgIHRlc3RSdW5uZXIuZGlzcGxh
eSgpOwogICAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2xheWVycycpLmlubmVySFRNTCA9IHRlc3RSdW5uZXIubGF5ZXJUcmVlQXNU
ZXh0KCk7CisgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycp
LmlubmVySFRNTCA9IHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsK
ICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAgICAgICAgIH0K
ICAgICAgICAgICB9LCAwKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lm
cmFtZXMvcGFnZS1jYWNoZS1sYXllci10cmVlLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy9pZnJhbWVzL3BhZ2UtY2FjaGUtbGF5ZXItdHJlZS5odG1sCmluZGV4IDVjZmUwOTFiYmI0OWU5
ZGNmZTMwM2QxYWFkNjVhYzIyN2VkZmU2NGQuLjgyNmNjMDZjM2VhZGZlZDVkOGQ2ODk1ZDRhYjIx
MzBjZDY4ZDBjYmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMv
cGFnZS1jYWNoZS1sYXllci10cmVlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
aWZyYW1lcy9wYWdlLWNhY2hlLWxheWVyLXRyZWUuaHRtbApAQCAtNTQsNyArNTQsNyBAQAogCiAg
ICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKICAgICAgICAgdmFyIG91dHB1dCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKTsKLSAgICAgICAgb3V0cHV0LmlubmVyVGV4dCA9IHRl
c3RSdW5uZXIubGF5ZXJUcmVlQXNUZXh0KCk7CisgICAgICAgIG91dHB1dC5pbm5lclRleHQgPSB3
aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCk7CiAKICAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOyAgICAgICAgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJh
bWVzL3Jlc2l6ZXIuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvcmVzaXpl
ci5odG1sCmluZGV4IGU5NzQ2NmU3YzdmZjc1ZTgxNjFmZTI3MjNkYjZhZWMzZjU3OWFmNzkuLmVi
ZjdiNGQ1ZjdhYjliMmMzMzVjMDNkYTM2ZWRiMTBhMTliMzgzZjUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvcmVzaXplci5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL2lmcmFtZXMvcmVzaXplci5odG1sCkBAIC05LDcgKzksNyBAQAogZnVuY3Rp
b24gdGVzdCgpIHsKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXll
cnMnKS5pbm5lckhUTUwgPSB0ZXN0UnVubmVyLmxheWVyVHJlZUFzVGV4dCgpOworICAgICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJIVE1MID0gd2luZG93LmludGVy
bmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOwogICAgIH0KIH0KIDwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9zY3JvbGxpbmctaWZyYW1l
Lmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL3Njcm9sbGluZy1pZnJhbWUu
aHRtbAppbmRleCAxMWM4N2RhNDcwODk2NjA5MGNkNWI2NGI1OWQzNjMwZTI1N2FlZTkxLi44YTMz
YzE0MzkzMTE0N2U1N2ZiZGY2M2E5MDQ0NDNlNjNkODU0MTVmIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL3Njcm9sbGluZy1pZnJhbWUuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL3Njcm9sbGluZy1pZnJhbWUuaHRtbApAQCAtMzcs
NyArMzcsNyBAQAogCiAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFyZW50
LWlmcmFtZScpLmNvbnRlbnRXaW5kb3cuc2Nyb2xsVG8oODAsIDgwKTsKICAgICAgICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdsYXllcnMnKS5pbm5lckhUTUwgPSB0ZXN0UnVubmVyLmxheWVyVHJlZUFzVGV4dCgp
OworICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5l
ckhUTUwgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCk7CiAgICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0sIDApOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaW1hZ2VzL2Ns
aXAtb24tZGlyZWN0bHktY29tcG9zaXRlZC1pbWFnZS5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvaW1hZ2VzL2NsaXAtb24tZGlyZWN0bHktY29tcG9zaXRlZC1pbWFnZS5odG1sCmluZGV4
IGQ3M2U4YzdkZGZkMWJlYjYyOGY3YzA3OWFiZDM0ZjUyNmMwNjM3YzIuLjU4NjU4ZGU5NTgzNTNj
ZjAxZjUxZjRlNTc5ZjJjNmU4OWM3OWNkNmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBv
c2l0aW5nL2ltYWdlcy9jbGlwLW9uLWRpcmVjdGx5LWNvbXBvc2l0ZWQtaW1hZ2UuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pbWFnZXMvY2xpcC1vbi1kaXJlY3RseS1jb21wb3Np
dGVkLWltYWdlLmh0bWwKQEAgLTI5LDcgKzI5LDcgQEAKICAgICAgIAogICAgIGZ1bmN0aW9uIGRv
VGVzdCgpIHsKICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJUZXh0ID0gdGVzdFJ1bm5lci5sYXllclRy
ZWVBc1RleHQoKTsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycpLmlu
bmVyVGV4dCA9IHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKICAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vYW5pbWF0aW9uLW92ZXJs
YXAtd2l0aC1jaGlsZHJlbi5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3Jl
YXRpb24vYW5pbWF0aW9uLW92ZXJsYXAtd2l0aC1jaGlsZHJlbi5odG1sCmluZGV4IDQ3M2I3YzE1
OTBlMjAwZGM5ZTI5NmRhNGM2MDgzYzI4ZDE0MjdhOTcuLmY1ODNiOTJkNzFmNzk3NGVmYzg4NTA2
NTNmYWM2YTRlZTdmNTRhYjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xh
eWVyLWNyZWF0aW9uL2FuaW1hdGlvbi1vdmVybGFwLXdpdGgtY2hpbGRyZW4uaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9jb21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9hbmltYXRpb24tb3ZlcmxhcC13
aXRoLWNoaWxkcmVuLmh0bWwKQEAgLTY4LDcgKzY4LDcgQEAKICAgICBmdW5jdGlvbiBhbmltYXRp
b25TdGFydGVkKCkKICAgICB7CiAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycpLmlubmVyVGV4dCA9IHRlc3RSdW5u
ZXIubGF5ZXJUcmVlQXNUZXh0KCk7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCds
YXllcnMnKS5pbm5lclRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1
bWVudCk7CiAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAgfQogICAgIH0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL2ZpeGVk
LXBvc2l0aW9uLWFuZC10cmFuc2Zvcm0uaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xh
eWVyLWNyZWF0aW9uL2ZpeGVkLXBvc2l0aW9uLWFuZC10cmFuc2Zvcm0uaHRtbAppbmRleCA1ZTc3
MzAzNTcyMmZlNTExODNjZGJhYjFkNjkzMDZkOGYxNTRhZWNhLi4wNmYxYmE3ZTU2ZjY2N2M2MTIz
YWFkOWRhNTdkNmUyNjU0NWVmMDcwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy9sYXllci1jcmVhdGlvbi9maXhlZC1wb3NpdGlvbi1hbmQtdHJhbnNmb3JtLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vZml4ZWQtcG9zaXRpb24tYW5k
LXRyYW5zZm9ybS5odG1sCkBAIC0yOSw3ICsyOSw3IEBACiAgICAgZnVuY3Rpb24gZG9UZXN0KCkg
ewogICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMTAwMCk7CiAgICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVy
dHJlZScpLmlubmVyVGV4dCA9IHRlc3RSdW5uZXIubGF5ZXJUcmVlQXNUZXh0KCk7CisgICAgICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJ0cmVlJykuaW5uZXJUZXh0ID0gd2lu
ZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOwogICAgICAgICAgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KHRydWUpOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vZml4ZWQtcG9zaXRpb24tb3V0
LW9mLXZpZXcuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL2Zp
eGVkLXBvc2l0aW9uLW91dC1vZi12aWV3Lmh0bWwKaW5kZXggN2ExYzkxNjg5OTlhNTI3MTIwMDA3
OGNmMGM5MGU3MjhiN2E0YTYzOC4uYzJmNmU0OTIwMzAzZDE2OGUzYTBlMTBiMzY2MDM3OGUwMDlm
OWVkYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24v
Zml4ZWQtcG9zaXRpb24tb3V0LW9mLXZpZXcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3Np
dGluZy9sYXllci1jcmVhdGlvbi9maXhlZC1wb3NpdGlvbi1vdXQtb2Ytdmlldy5odG1sCkBAIC0x
OCw3ICsxOCw3IEBACiAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAogICAgICAgd2lu
ZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBmdW5jdGlvbigpIHsKLSAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImxheWVydHJlZSIpLmlubmVyVGV4dCA9IHRlc3RSdW5uZXIubGF5
ZXJUcmVlQXNUZXh0KCk7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYXllcnRy
ZWUiKS5pbm5lclRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVu
dCk7CiAgICAgICB9LCBmYWxzZSk7CiAgICAgfQogICA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL2ZpeGVkLXBvc2l0aW9uLXVuZGVy
LXRyYW5zZm9ybS5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24v
Zml4ZWQtcG9zaXRpb24tdW5kZXItdHJhbnNmb3JtLmh0bWwKaW5kZXggOTMzNWU3MGY2Y2MzZGRh
OWM3ODJmOTE5ZTQ1Y2E2N2Y2MGMwZWQ3My4uZjExYWFlNjI4YTYxYjYzMTlmYjliNDkyMjMyMDcz
MzU2ZDFkNWRmOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3Jl
YXRpb24vZml4ZWQtcG9zaXRpb24tdW5kZXItdHJhbnNmb3JtLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vZml4ZWQtcG9zaXRpb24tdW5kZXItdHJhbnNm
b3JtLmh0bWwKQEAgLTM1LDcgKzM1LDcgQEAKICAgICBmdW5jdGlvbiBkb1Rlc3QoKSB7CiAgICAg
ICAgIHdpbmRvdy5zY3JvbGxUbygwLCAxMDAwKTsKICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJ0cmVlJyku
aW5uZXJUZXh0ID0gdGVzdFJ1bm5lci5sYXllclRyZWVBc1RleHQoKTsKKyAgICAgICAgICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnRyZWUnKS5pbm5lclRleHQgPSB3aW5kb3cuaW50
ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCk7CiAgICAgICAgICAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQodHJ1ZSk7CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9jb21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9uby1jb21wb3NpdGluZy1mb3ItcHJlc2Vy
dmUtM2QuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL25vLWNv
bXBvc2l0aW5nLWZvci1wcmVzZXJ2ZS0zZC5odG1sCmluZGV4IGFlMDY0OGFiY2MzN2JkODEwNzc5
MjE4MDhiODg0NTU4MjU2M2IxY2QuLjdlOTU4MzdmYjljZmEyNmQwNzMwMGRmMjViMzI4Mzc0MTA0
YTFiNmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9u
L25vLWNvbXBvc2l0aW5nLWZvci1wcmVzZXJ2ZS0zZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Nv
bXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL25vLWNvbXBvc2l0aW5nLWZvci1wcmVzZXJ2ZS0zZC5o
dG1sCkBAIC0zMCw3ICszMCw3IEBACiAgIHsKICAgICB2YXIgbGF5ZXJzUmVzdWx0ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycpOwogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
LSAgICAgIGxheWVyc1Jlc3VsdC5pbm5lclRleHQgPSB0ZXN0UnVubmVyLmxheWVyVHJlZUFzVGV4
dCgpOworICAgICAgbGF5ZXJzUmVzdWx0LmlubmVyVGV4dCA9IHdpbmRvdy5pbnRlcm5hbHMubGF5
ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKICAgICAKICAgfQogICB3aW5kb3cuYWRkRXZlbnRMaXN0
ZW5lcignbG9hZCcsIGR1bXBMYXllcnMsIGZhbHNlKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vb3ZlcmZsb3ctc2Nyb2xsLW92ZXJsYXAuaHRtbCBi
L0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL292ZXJmbG93LXNjcm9sbC1v
dmVybGFwLmh0bWwKaW5kZXggYzQ4MmYwMzEwOTI0OWI2OGZiZDYzYWMzNDM5NDVkMTc0NTA0Nzll
My4uNzUyY2M1ODA5YjMxZDUxNzkyMjg4YmUyYWQyYzQzMGEyYTc4NzYzYiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vb3ZlcmZsb3ctc2Nyb2xsLW92
ZXJsYXAuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9v
dmVyZmxvdy1zY3JvbGwtb3ZlcmxhcC5odG1sCkBAIC00OSw3ICs0OSw3IEBACiAKICAgICAgICAg
CiAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdyZXN1bHRzJykuaW5uZXJUZXh0ID0gd2luZG93LnRlc3RSdW5uZXIubGF5
ZXJUcmVlQXNUZXh0KCk7CisgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3Vs
dHMnKS5pbm5lclRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVu
dCk7CiAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgIH0KICAgICAg
IH0sIDE1MCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9sYXllci1jcmVh
dGlvbi9vdmVybGFwLWFuaW1hdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5
ZXItY3JlYXRpb24vb3ZlcmxhcC1hbmltYXRpb24uaHRtbAppbmRleCA2NzFlMDAyODhlMTNlMWI0
ZjE5ZTAxZTA1ZjU1ODc1MTdkYjcwNWQyLi43MDk3MmQ4NjYwY2UxZmIyNzdhNjY0MWVlMDJjYjk3
Zjg2MzA5ZDZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9sYXllci1jcmVh
dGlvbi9vdmVybGFwLWFuaW1hdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5n
L2xheWVyLWNyZWF0aW9uL292ZXJsYXAtYW5pbWF0aW9uLmh0bWwKQEAgLTQ1LDcgKzQ1LDcgQEAK
ICAgICBmdW5jdGlvbiBhbmltYXRpb25TdGFydGVkKCkKICAgICB7CiAgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycp
LmlubmVyVGV4dCA9IHRlc3RSdW5uZXIubGF5ZXJUcmVlQXNUZXh0KCk7CisgICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5lclRleHQgPSB3aW5kb3cuaW50ZXJuYWxz
LmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCk7CiAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpOwogICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5n
L2xheWVyLWNyZWF0aW9uL292ZXJsYXAtY2hpbGQtbGF5ZXIuaHRtbCBiL0xheW91dFRlc3RzL2Nv
bXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL292ZXJsYXAtY2hpbGQtbGF5ZXIuaHRtbAppbmRleCBj
ODdkZGExOTcyMmMwYzlkMTI1MDllNjVhZjdhOGIyMzAwZDcxNTM2Li42OGFhNzViNGZmMTFmNTk4
ZGM0NWY2MDY0MzcxZWQ2ODdjNjVmMGI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jb21wb3Np
dGluZy9sYXllci1jcmVhdGlvbi9vdmVybGFwLWNoaWxkLWxheWVyLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vb3ZlcmxhcC1jaGlsZC1sYXllci5odG1s
CkBAIC00Niw3ICs0Niw3IEBACiAKICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcs
IGZ1bmN0aW9uKCkgewogICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAg
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYXllcnRyZWUiKS5pbm5lclRleHQgPSB0ZXN0
UnVubmVyLmxheWVyVHJlZUFzVGV4dCgpOworICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImxheWVydHJlZSIpLmlubmVyVGV4dCA9IHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVl
QXNUZXh0KGRvY3VtZW50KTsKICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwog
ICAgICAgICB9CiAgICAgfSwgZmFsc2UpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvbGF5ZXItY3JlYXRpb24vb3ZlcmxhcC1jbGlwcGluZy5odG1sIGIvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vb3ZlcmxhcC1jbGlwcGluZy5odG1sCmluZGV4IDc4
ODhkN2Q3NjgyM2RkMjlhMjI4YjVlZDgzOGIxNDc3OGVlMTY4NzIuLjlhYjExNzBjYjE4ODY4N2Iy
ZDExODA4N2UyNTUzYTI1ZmZlZjhlZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0
aW5nL2xheWVyLWNyZWF0aW9uL292ZXJsYXAtY2xpcHBpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9jb21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9vdmVybGFwLWNsaXBwaW5nLmh0bWwKQEAgLTQz
LDcgKzQzLDcgQEAKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KGZhbHNlKTsKICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIo
J2xvYWQnLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJsYXllcnRyZWUiKS5pbm5lclRleHQgPSB0ZXN0UnVubmVyLmxheWVyVHJlZUFzVGV4dCgpOwor
ICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxheWVydHJlZSIpLmlubmVyVGV4
dCA9IHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKICAgICAgICAg
fSwgZmFsc2UpOwogICAgIH0KIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vb3ZlcmxhcC10cmFuc2Zvcm1lZC1hbmQtY2xpcHBlZC5o
dG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vb3ZlcmxhcC10cmFu
c2Zvcm1lZC1hbmQtY2xpcHBlZC5odG1sCmluZGV4IDc5MmY0MTEzN2U1NWFlNzJkMjk2NWJlZGM3
NmRhZWZkNDU4NjIzMDAuLjdiOGY3OTQwNWM2OTg4MDc0NGRhN2U3N2UyYzVhODQxZTFkMmY0Y2Ug
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL292ZXJs
YXAtdHJhbnNmb3JtZWQtYW5kLWNsaXBwZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3Np
dGluZy9sYXllci1jcmVhdGlvbi9vdmVybGFwLXRyYW5zZm9ybWVkLWFuZC1jbGlwcGVkLmh0bWwK
QEAgLTUyLDcgKzUyLDcgQEAKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KHRydWUpOwogICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0
ZW5lcignbG9hZCcsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImxheWVydHJlZSIpLmlubmVyVGV4dCA9IHRlc3RSdW5uZXIubGF5ZXJUcmVlQXNUZXh0
KCk7CisgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGF5ZXJ0cmVlIikuaW5u
ZXJUZXh0ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOwogICAg
ICAgICB9LCBmYWxzZSk7CiAgICAgfQogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jb21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9vdmVybGFwLXRyYW5zZm9ybWVkLWxheWVyLmh0
bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9vdmVybGFwLXRyYW5z
Zm9ybWVkLWxheWVyLmh0bWwKaW5kZXggMDQyNTc2YmMyYWIzZDAwNDUzZjkwYzZkNzllNWNiNjM5
MDU1NWMwZC4uNGU5ZDFkZWEwMzNjOGQyODYzMTA0NDhjZmVkZWU3YTVkMDkzNjk3MCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vb3ZlcmxhcC10cmFu
c2Zvcm1lZC1sYXllci5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVyLWNy
ZWF0aW9uL292ZXJsYXAtdHJhbnNmb3JtZWQtbGF5ZXIuaHRtbApAQCAtNDUsNyArNDUsNyBAQAog
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1Rl
eHQodHJ1ZSk7CiAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZnVuY3Rp
b24oKSB7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGF5ZXJ0cmVlIiku
aW5uZXJUZXh0ID0gdGVzdFJ1bm5lci5sYXllclRyZWVBc1RleHQoKTsKKyAgICAgICAgICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYXllcnRyZWUiKS5pbm5lclRleHQgPSB3aW5kb3cuaW50
ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCk7CiAgICAgICAgIH0sIGZhbHNlKTsKICAg
ICB9CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVy
LWNyZWF0aW9uL292ZXJsYXAtdHJhbnNmb3Jtcy5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRp
bmcvbGF5ZXItY3JlYXRpb24vb3ZlcmxhcC10cmFuc2Zvcm1zLmh0bWwKaW5kZXggZDQxZjgzOGMx
M2YyNDA3MzZkOTVlMDZiMjkwMGQ3NDEzMzE3YjRiNC4uMzI0NDhmYjkwMWI4NzBjOTYyZTEzZjYw
NDA1ZGU1OGMwN2NjMmE5NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5
ZXItY3JlYXRpb24vb3ZlcmxhcC10cmFuc2Zvcm1zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vb3ZlcmxhcC10cmFuc2Zvcm1zLmh0bWwKQEAgLTMxLDcg
KzMxLDcgQEAKICAgICBmdW5jdGlvbiB0ZXN0RG9uZSgpCiAgICAgewogICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJyku
aW5uZXJUZXh0ID0gdGVzdFJ1bm5lci5sYXllclRyZWVBc1RleHQoKTsKKyAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycpLmlubmVyVGV4dCA9IHdpbmRvdy5pbnRlcm5hbHMu
bGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKICAgICB9CiAgICAgd2luZG93LmFkZEV2ZW50TGlz
dGVuZXIoJ2xvYWQnLCB0ZXN0RG9uZSwgZmFsc2UpOwogICA8L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL3JvdGF0ZTNkLW92ZXJsYXAu
aHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL3JvdGF0ZTNkLW92
ZXJsYXAuaHRtbAppbmRleCA0MWUxMDJlNGE1NmQ1YTA1ZmM5YzRiMTY5MzVjMmIxNGJmNmViZGM2
Li4xMTAwOWFjNTYyZGU3YTFlNjA0MzFjNmM4ZTdiZDliZmJiZTcwMGM1IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9jb21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9yb3RhdGUzZC1vdmVybGFwLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vcm90YXRlM2Qt
b3ZlcmxhcC5odG1sCkBAIC0yMiw3ICsyMiw3IEBACiAgICBmdW5jdGlvbiBkb1Rlc3QoKQogICAg
ewogICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ3Jlc3VsdHMnKS5pbm5lclRleHQgPSB3aW5kb3cudGVzdFJ1bm5lci5sYXll
clRyZWVBc1RleHQoKTsKKyAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHRz
JykuaW5uZXJUZXh0ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQp
OwogICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgfQogICAgfQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vc2Nyb2xsLXBh
cnRpYWwtdXBkYXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9sYXllci1jcmVhdGlv
bi9zY3JvbGwtcGFydGlhbC11cGRhdGUuaHRtbAppbmRleCA3NjQzOWZiYTllNTA2ZTI4MTVlNzJm
MmQ2MjMzYWFmNDY1MDI1MDI3Li5hMzg2ZDVkYWU3MTRhNzM2NzNkMzdiNjc4NWZlMDEyZjYxNTI4
NTg0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9z
Y3JvbGwtcGFydGlhbC11cGRhdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9s
YXllci1jcmVhdGlvbi9zY3JvbGwtcGFydGlhbC11cGRhdGUuaHRtbApAQCAtNDYsNyArNDYsNyBA
QAogICAgICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnc2Nyb2xsZXInKS5zY3JvbGxUb3AgPSA1MDsKICAgICAgICAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdyZXN1bHRzJykuaW5uZXJUZXh0ID0gdGVzdFJ1bm5lci5sYXllclRyZWVBc1RleHQo
KTsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHRzJykuaW5uZXJU
ZXh0ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOwogICAgICAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgICAgfQogICAgICAgICB9LCAy
MCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9z
cGFuT3ZlcmxhcHNDYW52YXMuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVyLWNy
ZWF0aW9uL3NwYW5PdmVybGFwc0NhbnZhcy5odG1sCmluZGV4IGNiMzNkMGFlMTkxNjRjZGM1NTJl
ZDE4NjExNzk2NzVjZDkwYWFiMTMuLjEwOTFkNDU4MTI2ZjE0MzNiY2EyNWRjMjcxYjEyOGMxMWYy
MGIzMjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9u
L3NwYW5PdmVybGFwc0NhbnZhcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xh
eWVyLWNyZWF0aW9uL3NwYW5PdmVybGFwc0NhbnZhcy5odG1sCkBAIC0xNCw3ICsxNCw3IEBACiAg
ICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgICAgICAgICB3aW5k
b3cudGVzdFJ1bm5lci5kdW1wQXNUZXh0KHRydWUpOwogICAgICAgICAgICAgICAgIHZhciBjb25z
b2xlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxheWVyb3V0cHV0Iik7Ci0gICAgICAgICAg
ICAgICAgY29uc29sZS5pbm5lckhUTUwgPSB3aW5kb3cudGVzdFJ1bm5lci5sYXllclRyZWVBc1Rl
eHQoKTsKKyAgICAgICAgICAgICAgICBjb25zb2xlLmlubmVySFRNTCA9IHdpbmRvdy5pbnRlcm5h
bHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKICAgICAgICAgICAgIH0KIAkgICAgfQogCTwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRp
b24vc3RhY2tpbmctY29udGV4dC1vdmVybGFwLW5lc3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vc3RhY2tpbmctY29udGV4dC1vdmVybGFwLW5lc3RlZC5o
dG1sCmluZGV4IGMxOTU5ZGM3NGY1OTljMjJkZTcyZmY4Y2Y0NTZmMjQ1ZmUxZTFjODQuLjQ2YTk0
MjA0ODQ1YjNiMzI1NmIwNDA1ZWI0ZjBkODMzNTZhNDE4MTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2NvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL3N0YWNraW5nLWNvbnRleHQtb3ZlcmxhcC1u
ZXN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9z
dGFja2luZy1jb250ZXh0LW92ZXJsYXAtbmVzdGVkLmh0bWwKQEAgLTQzLDcgKzQzLDcgQEAKICAg
ICAgIGZ1bmN0aW9uIGRvVGVzdCgpCiAgICAgICB7CiAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKSB7Ci0gICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnRy
ZWUnKS5pbm5lclRleHQgPSB0ZXN0UnVubmVyLmxheWVyVHJlZUFzVGV4dCgpOworICAgICAgICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJ0cmVlJykuaW5uZXJUZXh0ID0gd2lu
ZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOwogICAgICAgICAgICAgICB0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAgICAgICB9CiAgICAgICB9CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9zdGFja2luZy1jb250ZXh0
LW92ZXJsYXAuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL3N0
YWNraW5nLWNvbnRleHQtb3ZlcmxhcC5odG1sCmluZGV4IDRlZDU5MzA5NDU1NGFkNjkzNjIxMDFh
ZTcxYjkzNjBiZTgxNGZmYmUuLmQ1MWNmNDJmMzIxODdkYmIwNDY4YWQzODY2NGQxODkwMWI2NWY4
YTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL3N0
YWNraW5nLWNvbnRleHQtb3ZlcmxhcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5n
L2xheWVyLWNyZWF0aW9uL3N0YWNraW5nLWNvbnRleHQtb3ZlcmxhcC5odG1sCkBAIC0zOCw3ICsz
OCw3IEBACiAgICAgZnVuY3Rpb24gZG9UZXN0KCkKICAgICB7CiAgICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVy
dHJlZScpLmlubmVyVGV4dCA9IHRlc3RSdW5uZXIubGF5ZXJUcmVlQXNUZXh0KCk7CisgICAgICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJ0cmVlJykuaW5uZXJUZXh0ID0gd2lu
ZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOwogICAgICAgICAgICAgdGVz
dFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9jb21wb3NpdGluZy9sYXllci1jcmVhdGlvbi90cmFuc2xhdGV6LW92ZXJsYXAuaHRt
bCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL3RyYW5zbGF0ZXotb3Zl
cmxhcC5odG1sCmluZGV4IGQ5MTY2ZDc2YjBkODQ1YjE2YWY0NTRiMWEzODk0OTg1ZDcyODk0MTEu
LmRiYmNkOTcwMWMxOTZiMmNmZGIxMWRiZGU1ZjMwZDFmNDJkYTg1YzAgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL3RyYW5zbGF0ZXotb3ZlcmxhcC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL3RyYW5zbGF0
ZXotb3ZlcmxhcC5odG1sCkBAIC0yMSw3ICsyMSw3IEBACiAgICBmdW5jdGlvbiBkb1Rlc3QoKQog
ICAgewogICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdHMnKS5pbm5lclRleHQgPSB3aW5kb3cudGVzdFJ1bm5lci5s
YXllclRyZWVBc1RleHQoKTsKKyAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1
bHRzJykuaW5uZXJUZXh0ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1l
bnQpOwogICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgfQogICAgfQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3ctdHJ1bXBzLXRyYW5z
Zm9ybS1zdHlsZS5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3ctdHJ1bXBz
LXRyYW5zZm9ybS1zdHlsZS5odG1sCmluZGV4IGQzMDdlOWY4MmQxZWIyODFhNTA5YzIzNTQ5OGMy
ZDI4OWM0ZWFjNDAuLmYxMmY2MTc4OTAxMzRlODBlNzdjYjI5OGNmMWVhZDFjNmQ4Y2NkMmYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93LXRydW1wcy10cmFuc2Zv
cm0tc3R5bGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy10cnVt
cHMtdHJhbnNmb3JtLXN0eWxlLmh0bWwKQEAgLTIzLDcgKzIzLDcgQEAKICAgICAgIHJlc3VsdHMu
aW5uZXJUZXh0ICs9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdib3gyJykpLndlYmtpdFRyYW5zZm9ybVN0eWxlICsgJ1xuJzsKICAgICAgIAogICAgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICByZXN1bHRzLmlubmVyVGV4dCArPSB0ZXN0
UnVubmVyLmxheWVyVHJlZUFzVGV4dCgpOworICAgICAgICByZXN1bHRzLmlubmVyVGV4dCArPSB3
aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCk7CiAgICAgfQogICAgIHdp
bmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZHVtcFJlc3VsdHMsIGZhbHNlKTsKICAgPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9jbGlw
LWRlc2NlbmRlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9jbGlw
LWRlc2NlbmRlbnRzLmh0bWwKaW5kZXggYzdiOTU3NDVkOTIzMDFiM2Q3MThiNDBhMDQyYjdjMWRh
OWU4ZjQ2Ni4uOWZkNWNiNWMyOTM1NGRjODdhMmRkZjVlM2IzN2FjY2JmMGQ5YWYzNCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvY2xpcC1kZXNjZW5kZW50cy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L2NsaXAtZGVzY2VuZGVu
dHMuaHRtbApAQCAtMzksNyArMzksNyBAQAogICAgICAgCiAgICAgZnVuY3Rpb24gZG9UZXN0KCkg
ewogICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5lclRleHQgPSB0ZXN0UnVubmVyLmxheWVyVHJlZUFzVGV4
dCgpOworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJUZXh0
ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOwogICAgICAgICB0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9jb250ZW50LWdhaW5zLXNjcm9sbGJhcnMuaHRt
bCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L2NvbnRlbnQtZ2FpbnMtc2Nyb2xs
YmFycy5odG1sCmluZGV4IDUyMWMxZjEwNDgzMDA3MjY0ZmM4NDNjYmYwZjY4ZmZlMDg2N2QzZjUu
LjY3M2FkMGI0OWQ3NmI5Y2ViY2Y5MTU3MmNmMDE2N2E0ODBiYTE4MDEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L2NvbnRlbnQtZ2FpbnMtc2Nyb2xsYmFycy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L2NvbnRlbnQtZ2FpbnMt
c2Nyb2xsYmFycy5odG1sCkBAIC01MCw3ICs1MCw3IEBAIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7
CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcm5lciIpLmNsYXNzTGlzdC5hZGQoInJl
c2l6ZVdpZGdldCIpOyAvLyBib3R0b20gZGl2IGdldHMgYSByZXNpemUgY29ybmVyIGJ1dCBubyBz
Y3JvbGxiYXJzCiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgIHRlc3RSdW5u
ZXIuZGlzcGxheSgpOyAvLyBFbnN1cmUgY29tcG9zaXRvciB0cmVlIGlzIHVwIHRvIGRhdGUuCi0g
ICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYXllclRyZWUiKS5pbm5lclRleHQgPSB0
ZXN0UnVubmVyLmxheWVyVHJlZUFzVGV4dCgpOworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgibGF5ZXJUcmVlIikuaW5uZXJUZXh0ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVB
c1RleHQoZG9jdW1lbnQpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvb3ZlcmZsb3cvY29udGVudC1sb3Nlcy1zY3JvbGxiYXJzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9jb250ZW50LWxvc2VzLXNjcm9sbGJhcnMuaHRtbApp
bmRleCBmOTJjZjQ3ZTQ1NDQ3ZTAwZGRmOWI4Nzk0YTZjOTNhNTVkMmNmZmVhLi5lOTA2MmYzZWE2
ZGRkMmU5Yzk3YWU5MDYzMTc4YjRlNDUyNDhhNzc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9j
b21wb3NpdGluZy9vdmVyZmxvdy9jb250ZW50LWxvc2VzLXNjcm9sbGJhcnMuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9jb250ZW50LWxvc2VzLXNjcm9sbGJhcnMu
aHRtbApAQCAtNTAsNyArNTAsNyBAQCBmdW5jdGlvbiBmaW5pc2hUZXN0KCkgewogICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3JuZXIiKS5jbGFzc0xpc3QucmVtb3ZlKCJyZXNpemVXaWRn
ZXQiKTsgLy8gYm90dG9tIGRpdiBsb3NlcyBhIHJlc2l6ZSBjb3JuZXIgYnV0IG5vIHNjcm9sbGJh
cnMKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgdGVzdFJ1bm5lci5kaXNw
bGF5KCk7IC8vIEVuc3VyZSBjb21wb3NpdG9yIHRyZWUgaXMgdXAgdG8gZGF0ZS4KLSAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxheWVyVHJlZSIpLmlubmVyVGV4dCA9IHRlc3RSdW5u
ZXIubGF5ZXJUcmVlQXNUZXh0KCk7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJs
YXllclRyZWUiKS5pbm5lclRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChk
b2N1bWVudCk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy9vdmVyZmxvdy9vdmVyZmxvdy1hdXRvLXdpdGgtdG91Y2gtbm8tb3ZlcmZsb3cuaHRtbCBiL0xh
eW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LWF1dG8td2l0aC10b3VjaC1u
by1vdmVyZmxvdy5odG1sCmluZGV4IDk4ZTZhN2ZkNGJiZDYyZmVjZWRjZDU2ZmJlMjRhNGMyOGNi
NTMyMjYuLmVhOWQ5Mzg0ZmE0MzllMmZkOGM4ZGY1OGVjODY3YTM4MDFhYmIyN2YgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LWF1dG8td2l0aC10
b3VjaC1uby1vdmVyZmxvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJm
bG93L292ZXJmbG93LWF1dG8td2l0aC10b3VjaC1uby1vdmVyZmxvdy5odG1sCkBAIC0yMSw3ICsy
MSw3IEBACiAKICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGZ1bmN0aW9uKCkg
ewogICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJIVE1MID0gdGVzdFJ1bm5lci5sYXllclRyZWVBc1RleHQo
KTsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycpLmlubmVySFRNTCA9
IHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKICAgICB9LCB0cnVl
KTsKICAgPC9zY3JpcHQ+CiA8L2hlYWQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3Np
dGluZy9vdmVyZmxvdy9vdmVyZmxvdy1hdXRvLXdpdGgtdG91Y2gtdG9nZ2xlLmh0bWwgYi9MYXlv
dXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1hdXRvLXdpdGgtdG91Y2gtdG9n
Z2xlLmh0bWwKaW5kZXggMTI1ZjhkNzA3MjYxNGNlZmY3ZmU0NTI4MmE2OTVlNzk1NmFkY2Q5MS4u
MzgyMTlmZWMzMmY3YmI0Yjk5ZGM0OTc5M2Q3MjU2ODA0NmUzOTMxYyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctYXV0by13aXRoLXRvdWNoLXRv
Z2dsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93
LWF1dG8td2l0aC10b3VjaC10b2dnbGUuaHRtbApAQCAtMjYsNyArMjYsNyBAQAogICAgICAgY29s
dW1uLnN0eWxlLndpZHRoID0gJzEwMDBweCc7CiAgICAgICBjb2x1bW4uc3R5bGUuaGVpZ2h0ID0g
JzEwMDBweCc7CiAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5lckhUTUwgPSB0ZXN0UnVubmVyLmxheWVyVHJl
ZUFzVGV4dCgpOworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5u
ZXJIVE1MID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOwogICAg
IH0sIHRydWUpOwogICA8L3NjcmlwdD4KIDwvaGVhZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LWF1dG8td2l0aC10b3VjaC5odG1sIGIvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctYXV0by13aXRoLXRvdWNoLmh0
bWwKaW5kZXggY2RmMmIxNmIzZjZhNzQxMGQyZjNlODZiYWQwMzdiYTY5OGQ0YjFkZi4uYmRmMjgx
ZjQ5YjZjZWYxNGI0Y2EwM2Y4ZjI2ZDE4NjFmYWU4MTEwYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctYXV0by13aXRoLXRvdWNoLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctYXV0by13aXRoLXRv
dWNoLmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAKIAogICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVy
KCdsb2FkJywgZnVuY3Rpb24oKSB7CiAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAg
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5lckhUTUwgPSB0ZXN0UnVu
bmVyLmxheWVyVHJlZUFzVGV4dCgpOworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
bGF5ZXJzJykuaW5uZXJIVE1MID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9j
dW1lbnQpOwogICAgIH0sIHRydWUpOwogICA8L3NjcmlwdD4KIDwvaGVhZD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LWhpZGRlbi13aXRoLXRv
dWNoLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1oaWRk
ZW4td2l0aC10b3VjaC5odG1sCmluZGV4IGJiZjllODFmMjI2YjMzOTQ0ZjY1MDliYTlhOTBhODcw
YjYwMDIyOTUuLjI0Mjc0OGQwOGVjMDEzYWFhMzc1MTc4N2U0OTk4NGNiYTg1MGM3NGEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LWhpZGRlbi13
aXRoLXRvdWNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3Zl
cmZsb3ctaGlkZGVuLXdpdGgtdG91Y2guaHRtbApAQCAtMjEsNyArMjEsNyBAQAogCiAgICAgd2lu
ZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBmdW5jdGlvbigpIHsKICAgICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycp
LmlubmVySFRNTCA9IHRlc3RSdW5uZXIubGF5ZXJUcmVlQXNUZXh0KCk7CisgICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5lckhUTUwgPSB3aW5kb3cuaW50ZXJuYWxz
LmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCk7CiAgICAgfSwgdHJ1ZSk7CiAgIDwvc2NyaXB0Pgog
PC9oZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3Zl
cmZsb3ctb3ZlcmxheS13aXRoLXRvdWNoLW5vLW92ZXJmbG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9j
b21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1vdmVybGF5LXdpdGgtdG91Y2gtbm8tb3ZlcmZs
b3cuaHRtbAppbmRleCAwM2RmMDc2ZmI0NWI1NWJhNmVjYTIwZTE1ODkzMWU2MTg3NTQ5MTcwLi40
NTZkZWNiM2FhZDE1MWQ4ZDk5YWZlYmUwOTYyMDg3ODNmZDJhZWM2IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1vdmVybGF5LXdpdGgtdG91Y2gt
bm8tb3ZlcmZsb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9v
dmVyZmxvdy1vdmVybGF5LXdpdGgtdG91Y2gtbm8tb3ZlcmZsb3cuaHRtbApAQCAtMjEsNyArMjEs
NyBAQAogCiAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBmdW5jdGlvbigpIHsK
ICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2xheWVycycpLmlubmVySFRNTCA9IHRlc3RSdW5uZXIubGF5ZXJUcmVlQXNUZXh0KCk7
CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5lckhUTUwgPSB3
aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCk7CiAgICAgfSwgdHJ1ZSk7
CiAgIDwvc2NyaXB0PgogPC9oZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRp
bmcvb3ZlcmZsb3cvb3ZlcmZsb3ctb3ZlcmxheS13aXRoLXRvdWNoLmh0bWwgYi9MYXlvdXRUZXN0
cy9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1vdmVybGF5LXdpdGgtdG91Y2guaHRtbApp
bmRleCA1YjBkYmQ0OTUzYmJmYjEwMDI1NzI2YzRlZTU0MDMzZTVlYjIyNmZhLi5mNGMwZWUzNzY5
MDljYjM0YjNjODc1MDc5Y2QwNjI3ZmY0MjBmYTIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9j
b21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1vdmVybGF5LXdpdGgtdG91Y2guaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1vdmVybGF5LXdpdGgt
dG91Y2guaHRtbApAQCAtMjEsNyArMjEsNyBAQAogCiAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVu
ZXIoJ2xvYWQnLCBmdW5jdGlvbigpIHsKICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycpLmlubmVySFRNTCA9IHRlc3RS
dW5uZXIubGF5ZXJUcmVlQXNUZXh0KCk7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdsYXllcnMnKS5pbm5lckhUTUwgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChk
b2N1bWVudCk7CiAgICAgfSwgdHJ1ZSk7CiAgIDwvc2NyaXB0PgogPC9oZWFkPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctc2Nyb2xsLXdpdGgt
dG91Y2gtbm8tb3ZlcmZsb3cuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93
L292ZXJmbG93LXNjcm9sbC13aXRoLXRvdWNoLW5vLW92ZXJmbG93Lmh0bWwKaW5kZXggNmQ4YWFi
NDFiOWRmYWIzMjJkMjBjZGFhMjkzMmEwZWM5ZTQ0NTNkZC4uYzY5ZTIyNmNhZTdkZTI4MWViYzgx
M2E0ZDI3NTY0NmU0YmQ0Y2I0OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
b3ZlcmZsb3cvb3ZlcmZsb3ctc2Nyb2xsLXdpdGgtdG91Y2gtbm8tb3ZlcmZsb3cuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGwtd2l0aC10
b3VjaC1uby1vdmVyZmxvdy5odG1sCkBAIC0yMSw3ICsyMSw3IEBACiAKICAgICB3aW5kb3cuYWRk
RXZlbnRMaXN0ZW5lcignbG9hZCcsIGZ1bmN0aW9uKCkgewogICAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJI
VE1MID0gdGVzdFJ1bm5lci5sYXllclRyZWVBc1RleHQoKTsKKyAgICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2xheWVycycpLmlubmVySFRNTCA9IHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJU
cmVlQXNUZXh0KGRvY3VtZW50KTsKICAgICB9LCB0cnVlKTsKICAgPC9zY3JpcHQ+CiA8L2hlYWQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1z
Y3JvbGxiYXItbGF5ZXJzLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9v
dmVyZmxvdy1zY3JvbGxiYXItbGF5ZXJzLmh0bWwKaW5kZXggZTRjZjZjZDFkYzQ5Nzc2OGU0Y2E5
MzAxMzgzOTk0NmQzOGYzMzdhYy4uNGYyN2M0OWFmMzM0YWEzZmIwOGU0MGZlOTQ5Y2E3NmNhZjZi
ZWM0ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZs
b3ctc2Nyb2xsYmFyLWxheWVycy5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292
ZXJmbG93L292ZXJmbG93LXNjcm9sbGJhci1sYXllcnMuaHRtbApAQCAtNDUsNiArNDUsNiBAQCBy
ZXNpemU6IGJvdGg7CiBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKICAgICB0ZXN0UnVubmVyLmRpc3BsYXkoKTsgLy8gRW5zdXJlIGNvbXBvc2l0
b3IgdHJlZSBpcyB1cCB0byBkYXRlLgotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYXll
clRyZWUiKS5pbm5lclRleHQgPSB0ZXN0UnVubmVyLmxheWVyVHJlZUFzVGV4dCgpOworICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYXllclRyZWUiKS5pbm5lclRleHQgPSB3aW5kb3cuaW50
ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCk7CiB9CiA8L3NjcmlwdD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LXZpc2libGUtd2l0
aC10b3VjaC5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ct
dmlzaWJsZS13aXRoLXRvdWNoLmh0bWwKaW5kZXggMzg4N2RjM2FkODRkMmIzZjk3N2Y4MTBhOTZk
NTY3MzYzODIwOGFhNi4uNTAwZDI1MzUwZjE0NWE3ZGQ0ZmE1OGNmZDE1MjIzZmE3ZmY2MTgzZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctdmlz
aWJsZS13aXRoLXRvdWNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZs
b3cvb3ZlcmZsb3ctdmlzaWJsZS13aXRoLXRvdWNoLmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAKIAog
ICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZnVuY3Rpb24oKSB7CiAgICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCds
YXllcnMnKS5pbm5lckhUTUwgPSB0ZXN0UnVubmVyLmxheWVyVHJlZUFzVGV4dCgpOworICAgICAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJIVE1MID0gd2luZG93Lmlu
dGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOwogICAgIH0sIHRydWUpOwogICA8L3Nj
cmlwdD4KIDwvaGVhZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJm
bG93L3Jlc2l6ZS1wYWludGluZy5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZs
b3cvcmVzaXplLXBhaW50aW5nLmh0bWwKaW5kZXggNDEzZjQ2ZjE2NTE5YzE3NDdkNDg3M2I5Mjg5
YjI0NTIyNjBjMmJmYy4uMDU1ZTFiYjc3MGYzNDBmNGU2ZWY1MjZjNDE4YzY0MTg0OTYwZGZmMSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvcmVzaXplLXBhaW50
aW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvcmVzaXplLXBh
aW50aW5nLmh0bWwKQEAgLTI1LDcgKzI1LDcgQEAKICAgICBmdW5jdGlvbiBkb1Rlc3QoKQogICAg
IHsKICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5lclRleHQgPSB0ZXN0UnVubmVyLmxheWVyVHJlZUFz
VGV4dCgpOworICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5l
clRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCk7CiAgICAg
fQogICAgIAogICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZG9UZXN0LCBmYWxz
ZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9zY3JvbGxp
bmctY29udGVudC1jbGlwLXRvLXZpZXdwb3J0Lmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy9vdmVyZmxvdy9zY3JvbGxpbmctY29udGVudC1jbGlwLXRvLXZpZXdwb3J0Lmh0bWwKaW5kZXgg
ZTk1MGUyYmVkNjBiNzAwYjVmZmNlOWJjMzBlZGMzMzJjNzNlNTcwOS4uMDE0MDAxZTRkMGQ4N2Ew
ODBhY2E2NGFiYjY0MmZjNWY4OGZhZjE5NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvb3ZlcmZsb3cvc2Nyb2xsaW5nLWNvbnRlbnQtY2xpcC10by12aWV3cG9ydC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L3Njcm9sbGluZy1jb250ZW50LWNs
aXAtdG8tdmlld3BvcnQuaHRtbApAQCAtMzEsNyArMzEsNyBAQAogCiAgICAgd2luZG93LmFkZEV2
ZW50TGlzdGVuZXIoJ2xvYWQnLCBmdW5jdGlvbigpIHsKICAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycpLmlubmVySFRN
TCA9IHRlc3RSdW5uZXIubGF5ZXJUcmVlQXNUZXh0KCk7CisgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5lckhUTUwgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJl
ZUFzVGV4dChkb2N1bWVudCk7CiAgICAgfSwgdHJ1ZSk7CiAgIDwvc2NyaXB0PgogPC9oZWFkPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvdGV4dGFyZWEtc2Ny
b2xsLXRvdWNoLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy90ZXh0YXJl
YS1zY3JvbGwtdG91Y2guaHRtbAppbmRleCBkZWE0NzdmMGZmZjAwYjY1ZWNiNzk0NTgxN2Y2NzRj
ZTQ4NmZmMzE3Li44OGM0YmMxNTJiZjc4ZTY0MjI0NDQwZDQ0NTQ4YWNhOTI1NWE4MjgyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy90ZXh0YXJlYS1zY3JvbGwt
dG91Y2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy90ZXh0YXJl
YS1zY3JvbGwtdG91Y2guaHRtbApAQCAtMzIsNyArMzIsNyBAQAogICAgICAgICB0ZXN0U2Nyb2xs
YWJpbGl0eShkaXZzW2ldKTsKIAogICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0cycpLmlubmVyVGV4dCA9IHRlc3RSdW5u
ZXIubGF5ZXJUcmVlQXNUZXh0KCk7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdy
ZXN1bHRzJykuaW5uZXJUZXh0ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9j
dW1lbnQpOwogICAgIH0KICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGRvVGVz
dCwgZmFsc2UpOwogICA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0
aW5nL3BsdWdpbnMvMXgxLWNvbXBvc2l0ZWQtcGx1Z2luLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21w
b3NpdGluZy9wbHVnaW5zLzF4MS1jb21wb3NpdGVkLXBsdWdpbi5odG1sCmluZGV4IGI5MWJkNGU3
MGY3ZTg4MWU3YzlkNDFlNTljMDQ4MzBmYzM3NjFlY2QuLjZlODhkZjUzZGY5NWY1OTg0ZTMwNWQ5
YzM3OTAxMjQ5YjEyNTViMzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3Bs
dWdpbnMvMXgxLWNvbXBvc2l0ZWQtcGx1Z2luLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvcGx1Z2lucy8xeDEtY29tcG9zaXRlZC1wbHVnaW4uaHRtbApAQCAtMTgsNyArMTgsNyBA
QAogICAgIHsKICAgICAgICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgICAgICB2YXIgbGF5ZXJz
ID0gdGVzdFJ1bm5lci5sYXllclRyZWVBc1RleHQoKTsKKyAgICAgICAgICAgICAgICB2YXIgbGF5
ZXJzID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOwogICAgICAg
ICAgICAgICAgIHZhciByZXN1bHQ7CiAgICAgICAgICAgICAgICAgaWYgKGxheWVycyA9PSAiIikK
ICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9ICJQQVNTOiBubyBsYXllcnMgZm91bmQiOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcGx1Z2lucy9sYXJnZS10by1zbWFsbC1j
b21wb3NpdGVkLXBsdWdpbi5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcGx1Z2lucy9s
YXJnZS10by1zbWFsbC1jb21wb3NpdGVkLXBsdWdpbi5odG1sCmluZGV4IGFlZDQ5M2FjNmE4YWFi
ZDJmZDczNzg2OTFjZTJhM2ZmYTNiOTk1NTkuLjEzYjcwMDc0MTkwYmQwNWIwYmY3ZjZlNDMzMWQw
ZDE0NjZkZjQ1NDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3BsdWdpbnMv
bGFyZ2UtdG8tc21hbGwtY29tcG9zaXRlZC1wbHVnaW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9j
b21wb3NpdGluZy9wbHVnaW5zL2xhcmdlLXRvLXNtYWxsLWNvbXBvc2l0ZWQtcGx1Z2luLmh0bWwK
QEAgLTMyLDcgKzMyLDcgQEAKICAgICAgICAgICAvLyBOZWVkIHRvIHdhaXQgZm9yIGNvbXBvc2l0
aW5nIGxheWVycyB0byBiZSB1cGRhdGVkLgogICAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1
bmN0aW9uKCkgewogICAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAg
ICAgICAgICAgICAgIHZhciBsYXllcnMgPSB0ZXN0UnVubmVyLmxheWVyVHJlZUFzVGV4dCgpOwor
ICAgICAgICAgICAgICAgICAgdmFyIGxheWVycyA9IHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVl
QXNUZXh0KGRvY3VtZW50KTsKICAgICAgICAgICAgICAgICAgIHZhciByZXN1bHQ7CiAgICAgICAg
ICAgICAgICAgICBpZiAobGF5ZXJzID09ICIiKQogICAgICAgICAgICAgICAgICAgICByZXN1bHQg
PSAiUEFTUzogbm8gbGF5ZXJzIGZvdW5kIjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBv
c2l0aW5nL3BsdWdpbnMvbm8tYmFja2luZy1zdG9yZS5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvcGx1Z2lucy9uby1iYWNraW5nLXN0b3JlLmh0bWwKaW5kZXggZGE0ZTBkZTA1ZDQ3NTQx
OTI0Mzk5MTk3ODg2OWFiMWFhNjE2MDFiZS4uODI4MGZjYzg0MzBjODdhZGU3YjNlMTVjYmQyZDBj
OTJmNjlkMjAyOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcGx1Z2lucy9u
by1iYWNraW5nLXN0b3JlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcGx1Z2lu
cy9uby1iYWNraW5nLXN0b3JlLmh0bWwKQEAgLTE3LDcgKzE3LDcgQEAKICAgICAgICAgLy8gTmVl
ZCB0byB3YWl0IGZvciBjb21wb3NpdGluZyBsYXllcnMgdG8gYmUgdXBkYXRlZC4gRklYTUUgcmVt
b3ZlLgogICAgICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5lckhUTUwgPSB0ZXN0UnVubmVyLmxheWVyVHJlZUFzVGV4
dCgpOworICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnMnKS5p
bm5lckhUTUwgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCk7CiAg
ICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgICAgICB9CiAg
ICAgICAgIH0sIDApCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9wbHVnaW5z
L3NtYWxsLXRvLWxhcmdlLWNvbXBvc2l0ZWQtcGx1Z2luLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21w
b3NpdGluZy9wbHVnaW5zL3NtYWxsLXRvLWxhcmdlLWNvbXBvc2l0ZWQtcGx1Z2luLmh0bWwKaW5k
ZXggYmRmYjI3ZjUzYTA4ZjBjZjZhNTBjZmVkYjNiZWI2OTNiZTZmNWJjOS4uZDhlYzE0ODY3ZTY0
ODZlNWZkZTA1MjBmZjQ0Y2UxNjI1MGI4NTUwYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvcGx1Z2lucy9zbWFsbC10by1sYXJnZS1jb21wb3NpdGVkLXBsdWdpbi5odG1sCisr
KyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3BsdWdpbnMvc21hbGwtdG8tbGFyZ2UtY29tcG9z
aXRlZC1wbHVnaW4uaHRtbApAQCAtMzIsNyArMzIsNyBAQAogICAgICAgICAgIC8vIE5lZWQgdG8g
d2FpdCBmb3IgY29tcG9zaXRpbmcgbGF5ZXJzIHRvIGJlIHVwZGF0ZWQuIEZJWE1FIHJlbW92ZS4K
ICAgICAgICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdsYXllcnMnKS5pbm5lckhUTUwgPSB0ZXN0UnVubmVyLmxheWVyVHJlZUFzVGV4dCgp
OworICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5l
ckhUTUwgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCk7CiAgICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgICAgICB9CiAgICAg
ICAgICAgfSwgMCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3J0bC9ydGwt
YWJzb2x1dGUtb3ZlcmZsb3ctc2Nyb2xsZWQuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5n
L3J0bC9ydGwtYWJzb2x1dGUtb3ZlcmZsb3ctc2Nyb2xsZWQuaHRtbAppbmRleCAzNGVjZjQzMmI1
NTQzNzk4ZjMxZDYyZWRiMzMwYTdjNzljOTU4MjgwLi4wYTcwYzBhNmM3MDc0YzFhZTVjMjI4YmEw
MmI1NzI2YWUxY2FkN2VmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ydGwv
cnRsLWFic29sdXRlLW92ZXJmbG93LXNjcm9sbGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvcnRsL3J0bC1hYnNvbHV0ZS1vdmVyZmxvdy1zY3JvbGxlZC5odG1sCkBAIC01Miw3
ICs1Miw3IEBACiAgICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8ob2Zmc2V0LCAwKTsKICAgICAg
ICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICAgICAgICAgIGlmICh0b3Ag
PT0gc2VsZikKLSAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xh
eWVydHJlZScpLmlubmVyVGV4dCA9IHRlc3RSdW5uZXIubGF5ZXJUcmVlQXNUZXh0KCk7CisgICAg
ICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnRyZWUnKS5pbm5l
clRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCk7CiAgICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0sIDApOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcnRsL3J0bC1h
YnNvbHV0ZS1vdmVyZmxvdy5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcnRsL3J0bC1h
YnNvbHV0ZS1vdmVyZmxvdy5odG1sCmluZGV4IGRkYmUzNzFkYjA2YWM2YzVkNGFmYTEwYTdkMDI1
MjdkOTdmM2MxNjQuLjI4Yjg2MzIwZDM4ZTM0YmVjZmM3OTU0MzlkNGQzM2I5N2JiNTUyYjEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3J0bC9ydGwtYWJzb2x1dGUtb3ZlcmZs
b3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ydGwvcnRsLWFic29sdXRlLW92
ZXJmbG93Lmh0bWwKQEAgLTQwLDcgKzQwLDcgQEAKICAgICBmdW5jdGlvbiBkb1Rlc3QoKSB7CiAg
ICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICAgICAgaWYgKHRvcCA9PSBz
ZWxmKQotICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnRyZWUn
KS5pbm5lclRleHQgPSB0ZXN0UnVubmVyLmxheWVyVHJlZUFzVGV4dCgpOworICAgICAgICAgICAg
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnRyZWUnKS5pbm5lclRleHQgPSB3aW5k
b3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCk7CiAgICAgICAgICAgICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQodHJ1ZSk7CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9jb21wb3NpdGluZy9ydGwvcnRsLWFic29sdXRlLmh0bWwgYi9MYXlvdXRUZXN0
cy9jb21wb3NpdGluZy9ydGwvcnRsLWFic29sdXRlLmh0bWwKaW5kZXggMGZmYWQ4YmFkN2I1OTgw
ZmQ4MmRlZDQxMDJkMzllMWQ5YzAyNjg3MS4uYmE1YTc5OTY0MGYxNjIyODYzYjliNDcxOWRlODcx
MjUwMjBlNTk5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcnRsL3J0bC1h
YnNvbHV0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3J0bC9ydGwtYWJzb2x1
dGUuaHRtbApAQCAtNDEsNyArNDEsNyBAQAogICAgIGZ1bmN0aW9uIGRvVGVzdCgpIHsKICAgICAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgICAgICBpZiAodG9wID09IHNlbGYp
Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVydHJlZScpLmlu
bmVyVGV4dCA9IHRlc3RSdW5uZXIubGF5ZXJUcmVlQXNUZXh0KCk7CisgICAgICAgICAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVydHJlZScpLmlubmVyVGV4dCA9IHdpbmRvdy5p
bnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCh0cnVlKTsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL3J0bC9ydGwtZml4ZWQtb3ZlcmZsb3ctc2Nyb2xsZWQuaHRtbCBi
L0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3J0bC9ydGwtZml4ZWQtb3ZlcmZsb3ctc2Nyb2xsZWQu
aHRtbAppbmRleCA1Nzg1ZjZiMjNmMDZkOGIyM2QxNTdkYzk4YWZjZjU3MTA3NWE0MGQ3Li44NGQy
ZDAwZDdhNWRmYWU4OTEwNTIyYjBhMWVhNTZmZDNjMjlkNzgyIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9jb21wb3NpdGluZy9ydGwvcnRsLWZpeGVkLW92ZXJmbG93LXNjcm9sbGVkLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcnRsL3J0bC1maXhlZC1vdmVyZmxvdy1zY3JvbGxl
ZC5odG1sCkBAIC01MCw3ICs1MCw3IEBACiAgICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8ob2Zm
c2V0LCAwKTsKICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICAg
ICAgICAgIGlmICh0b3AgPT0gc2VsZikKLSAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2xheWVydHJlZScpLmlubmVyVGV4dCA9IHRlc3RSdW5uZXIubGF5ZXJUcmVl
QXNUZXh0KCk7CisgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCds
YXllcnRyZWUnKS5pbm5lclRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChk
b2N1bWVudCk7CiAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAg
ICAgICAgICB9CiAgICAgICAgIH0sIDApOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvcnRsL3J0bC1maXhlZC1vdmVyZmxvdy5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRp
bmcvcnRsL3J0bC1maXhlZC1vdmVyZmxvdy5odG1sCmluZGV4IGMwZDIxZmRlMDQ5ZDFmYjY3NTJm
NmE5MTBkMDViNzFlNGIxNDhhMGIuLjY2NzZkNDJjYzkxOWU1MGMwYmE2YzI2NzJiODY2YjE4Y2U5
YTcyN2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3J0bC9ydGwtZml4ZWQt
b3ZlcmZsb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ydGwvcnRsLWZpeGVk
LW92ZXJmbG93Lmh0bWwKQEAgLTQwLDcgKzQwLDcgQEAKICAgICBmdW5jdGlvbiBkb1Rlc3QoKSB7
CiAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICAgICAgaWYgKHRvcCA9
PSBzZWxmKQotICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnRy
ZWUnKS5pbm5lclRleHQgPSB0ZXN0UnVubmVyLmxheWVyVHJlZUFzVGV4dCgpOworICAgICAgICAg
ICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnRyZWUnKS5pbm5lclRleHQgPSB3
aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCk7CiAgICAgICAgICAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQodHJ1ZSk7CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ydGwvcnRsLWZpeGVkLmh0bWwgYi9MYXlvdXRUZXN0
cy9jb21wb3NpdGluZy9ydGwvcnRsLWZpeGVkLmh0bWwKaW5kZXggM2FhMTFkZDYwZWFiNDAwNjgw
OWQ3ZWVkMDE3MWFiMDkzMDlmNmNmZS4uNzJlNTYwMzY3MjE2YjU1ODdjNjVhMTNjMjFkODViMTUw
ZTBkZTNiYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcnRsL3J0bC1maXhl
ZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3J0bC9ydGwtZml4ZWQuaHRtbApA
QCAtNDAsNyArNDAsNyBAQAogICAgIGZ1bmN0aW9uIGRvVGVzdCgpIHsKICAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgICAgICBpZiAodG9wID09IHNlbGYpCi0gICAgICAg
ICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVydHJlZScpLmlubmVyVGV4dCA9
IHRlc3RSdW5uZXIubGF5ZXJUcmVlQXNUZXh0KCk7CisgICAgICAgICAgICAgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ2xheWVydHJlZScpLmlubmVyVGV4dCA9IHdpbmRvdy5pbnRlcm5hbHMu
bGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCh0cnVlKTsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Nv
bXBvc2l0aW5nL3J0bC9ydGwtaWZyYW1lLWFic29sdXRlLW92ZXJmbG93LXNjcm9sbGVkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ydGwvcnRsLWlmcmFtZS1hYnNvbHV0ZS1vdmVyZmxv
dy1zY3JvbGxlZC5odG1sCmluZGV4IDlkMzcyMDNjOWIzMGZiOWFmMGYxNGYxOTQ5M2RlZDNlNGQz
ZmM2MWIuLmQ2YjNlNmRiNzNlYjU2N2EwNjk3ODUyYThlYmI5NWVmMDc1MTNjODIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3J0bC9ydGwtaWZyYW1lLWFic29sdXRlLW92ZXJm
bG93LXNjcm9sbGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcnRsL3J0bC1p
ZnJhbWUtYWJzb2x1dGUtb3ZlcmZsb3ctc2Nyb2xsZWQuaHRtbApAQCAtMjMsNyArMjMsNyBAQAog
PHNjcmlwdD4KICAgICBmdW5jdGlvbiBkb1Rlc3QoKSB7CiAgICAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVydHJl
ZScpLmlubmVyVGV4dCA9IHRlc3RSdW5uZXIubGF5ZXJUcmVlQXNUZXh0KCk7CisgICAgICAgICAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJ0cmVlJykuaW5uZXJUZXh0ID0gd2luZG93
LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOwogICAgICAgICAgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KHRydWUpOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvcnRsL3J0bC1pZnJhbWUtYWJzb2x1dGUtb3ZlcmZsb3cuaHRt
bCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3J0bC9ydGwtaWZyYW1lLWFic29sdXRlLW92ZXJm
bG93Lmh0bWwKaW5kZXggOWE1ZTZiYzdkMzc0NDQzMjk1OWU3MDk2ZTkwOTQzMjdiODU0MjM4Yy4u
MTYyMDI2ZjIzMTMyOGRlZWU5ZDQzODMzNmNmM2IxNGFjN2RlYWJkOSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvcnRsL3J0bC1pZnJhbWUtYWJzb2x1dGUtb3ZlcmZsb3cuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ydGwvcnRsLWlmcmFtZS1hYnNvbHV0ZS1v
dmVyZmxvdy5odG1sCkBAIC0yMyw3ICsyMyw3IEBACiA8c2NyaXB0PgogICAgIGZ1bmN0aW9uIGRv
VGVzdCgpIHsKICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJ0cmVlJykuaW5uZXJUZXh0ID0gdGVzdFJ1bm5l
ci5sYXllclRyZWVBc1RleHQoKTsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdsYXllcnRyZWUnKS5pbm5lclRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4
dChkb2N1bWVudCk7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQodHJ1ZSk7CiAg
ICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ydGwv
cnRsLWlmcmFtZS1hYnNvbHV0ZS5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcnRsL3J0
bC1pZnJhbWUtYWJzb2x1dGUuaHRtbAppbmRleCAwMDExZGUyZjc5ODI1ZDUxNjExYTNhZDg2ZjI4
MDE0NjVlNzFjZmEwLi4xMjZiZWY5MTc5ZGFhYTA0NDY4NDZhZjgwYjQ2MjI4ZTczMGUzZjg2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ydGwvcnRsLWlmcmFtZS1hYnNvbHV0
ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3J0bC9ydGwtaWZyYW1lLWFic29s
dXRlLmh0bWwKQEAgLTIzLDcgKzIzLDcgQEAKIDxzY3JpcHQ+CiAgICAgZnVuY3Rpb24gZG9UZXN0
KCkgewogICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnRyZWUnKS5pbm5lclRleHQgPSB0ZXN0UnVubmVyLmxh
eWVyVHJlZUFzVGV4dCgpOworICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xh
eWVydHJlZScpLmlubmVyVGV4dCA9IHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRv
Y3VtZW50KTsKICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCh0cnVlKTsKICAgICAg
ICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3J0bC9ydGwt
aWZyYW1lLWZpeGVkLW92ZXJmbG93LXNjcm9sbGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3Np
dGluZy9ydGwvcnRsLWlmcmFtZS1maXhlZC1vdmVyZmxvdy1zY3JvbGxlZC5odG1sCmluZGV4IDY5
MDA5MmM4YTIwZDA1YjljMWFhZGE4YzRhNjY0NjRiNjEwYjE5ZDAuLmE1YjE1YzljNzI2MzFiM2U5
YTA4MWNmMzdmZGFlZTM0ZTY1MDliM2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0
aW5nL3J0bC9ydGwtaWZyYW1lLWZpeGVkLW92ZXJmbG93LXNjcm9sbGVkLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvcnRsL3J0bC1pZnJhbWUtZml4ZWQtb3ZlcmZsb3ctc2Nyb2xs
ZWQuaHRtbApAQCAtMjMsNyArMjMsNyBAQAogPHNjcmlwdD4KICAgICBmdW5jdGlvbiBkb1Rlc3Qo
KSB7CiAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVydHJlZScpLmlubmVyVGV4dCA9IHRlc3RSdW5uZXIubGF5
ZXJUcmVlQXNUZXh0KCk7CisgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5
ZXJ0cmVlJykuaW5uZXJUZXh0ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9j
dW1lbnQpOwogICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KHRydWUpOwogICAgICAg
ICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcnRsL3J0bC1p
ZnJhbWUtZml4ZWQtb3ZlcmZsb3cuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3J0bC9y
dGwtaWZyYW1lLWZpeGVkLW92ZXJmbG93Lmh0bWwKaW5kZXggZWY0ZWE4Mzk2ODc1NzBiNWRmNGRm
NzdhOWQ1ZGQzOGNiMTBmYmNkMS4uMWU2ODU1YmY4ZDI1MGIzMjg5MWMzNjEwMDcwZjBhZTk0YjAw
MTJmYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcnRsL3J0bC1pZnJhbWUt
Zml4ZWQtb3ZlcmZsb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ydGwvcnRs
LWlmcmFtZS1maXhlZC1vdmVyZmxvdy5odG1sCkBAIC0yMyw3ICsyMyw3IEBACiA8c2NyaXB0Pgog
ICAgIGZ1bmN0aW9uIGRvVGVzdCgpIHsKICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7
Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJ0cmVlJykuaW5uZXJU
ZXh0ID0gdGVzdFJ1bm5lci5sYXllclRyZWVBc1RleHQoKTsKKyAgICAgICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdsYXllcnRyZWUnKS5pbm5lclRleHQgPSB3aW5kb3cuaW50ZXJuYWxz
LmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCk7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQodHJ1ZSk7CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9j
b21wb3NpdGluZy9ydGwvcnRsLWlmcmFtZS1maXhlZC5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvcnRsL3J0bC1pZnJhbWUtZml4ZWQuaHRtbAppbmRleCA0NjVmMDY2MzkwNDljOGQxNzI0
YzQ4ZDBhNWZmMmJiOWEyYjdhNDA0Li5jM2RmNWZhZDUwNGVmZmM4NGRkZTg4MjhmZTdmMDc0M2Mz
ODRmMTRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ydGwvcnRsLWlmcmFt
ZS1maXhlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3J0bC9ydGwtaWZyYW1l
LWZpeGVkLmh0bWwKQEAgLTIzLDcgKzIzLDcgQEAKIDxzY3JpcHQ+CiAgICAgZnVuY3Rpb24gZG9U
ZXN0KCkgewogICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnRyZWUnKS5pbm5lclRleHQgPSB0ZXN0UnVubmVy
LmxheWVyVHJlZUFzVGV4dCgpOworICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2xheWVydHJlZScpLmlubmVyVGV4dCA9IHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0
KGRvY3VtZW50KTsKICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCh0cnVlKTsKICAg
ICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3J0bC9y
dGwtaWZyYW1lLXJlbGF0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ydGwvcnRs
LWlmcmFtZS1yZWxhdGl2ZS5odG1sCmluZGV4IGVlNGFlNzBiMDBmYzY3NjgyMmZlMGVkM2FiOWU0
ZWI2M2Q4OGI0Y2EuLmI0MTFjYjNkYzYxMWFhZTBlMDBiMDI5OThmNGI3MTljNDQ5MmQ4ZDUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3J0bC9ydGwtaWZyYW1lLXJlbGF0aXZl
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcnRsL3J0bC1pZnJhbWUtcmVsYXRp
dmUuaHRtbApAQCAtMzIsNyArMzIsNyBAQAogPHNjcmlwdD4KICAgICBmdW5jdGlvbiBkb1Rlc3Qo
KSB7CiAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVydHJlZScpLmlubmVyVGV4dCA9IHRlc3RSdW5uZXIubGF5
ZXJUcmVlQXNUZXh0KCk7CisgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5
ZXJ0cmVlJykuaW5uZXJUZXh0ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9j
dW1lbnQpOwogICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KHRydWUpOwogICAgICAg
ICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcnRsL3J0bC1y
ZWxhdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcnRsL3J0bC1yZWxhdGl2ZS5o
dG1sCmluZGV4IDk3N2NmYmM0NGJkY2JmNzQxMzk1ZDUzM2Y2ODAzYzJiYmRkYjRjZWEuLjA3NGNi
ZTg1NzAyNGNiNzc3ODRjYTZiNTJjZWVkMzUxMWFiOTI0ZTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2NvbXBvc2l0aW5nL3J0bC9ydGwtcmVsYXRpdmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9j
b21wb3NpdGluZy9ydGwvcnRsLXJlbGF0aXZlLmh0bWwKQEAgLTM1LDcgKzM1LDcgQEAKICAgICBm
dW5jdGlvbiBkb1Rlc3QoKSB7CiAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAg
ICAgICAgICAgaWYgKHRvcCA9PSBzZWxmKQotICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdsYXllcnRyZWUnKS5pbm5lclRleHQgPSB0ZXN0UnVubmVyLmxheWVyVHJlZUFz
VGV4dCgpOworICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnRy
ZWUnKS5pbm5lclRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVu
dCk7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQodHJ1ZSk7CiAgICAgICAgIH0K
ICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy90aWxlZC1sYXllcnMt
aGlkcGkuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3RpbGVkLWxheWVycy1oaWRwaS5o
dG1sCmluZGV4IDFiMzg0MmM0MjQyOGNmNGI5YTYyYzZkNzQxZWFlYTk1MWM1NjExNzguLjJhOGFi
M2YyMzIzMzMxMTk3MjZkZGEwNGI2OTIxYjU3MGJkMDY1NTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2NvbXBvc2l0aW5nL3RpbGVkLWxheWVycy1oaWRwaS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL3RpbGVkLWxheWVycy1oaWRwaS5odG1sCkBAIC0xOCw3ICsxOCw3IEBACiAg
ICAgICAgIAogICAgICAgICBmdW5jdGlvbiBmaW5pc2hUZXN0KCkgewogICAgICAgICAgICAgc2V0
VGltZW91dChmdW5jdGlvbigpIHsKLQkJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXIt
dHJlZScpLmlubmVyVGV4dCA9IHdpbmRvdy50ZXN0UnVubmVyLmxheWVyVHJlZUFzVGV4dCgpOwor
CQkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllci10cmVlJykuaW5uZXJUZXh0ID0gd2lu
ZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOwogCQkJCXRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOwogCQkJfSwgMCk7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2NvbXBvc2l0aW5nL3RpbGluZy9jcmFzaC1yZXBhcmVudC10aWxlZC1sYXllci5odG1sIGIv
TGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvdGlsaW5nL2NyYXNoLXJlcGFyZW50LXRpbGVkLWxheWVy
Lmh0bWwKaW5kZXggNTQ0MzliMTBlNDY4YThmZGZmNGJjN2JmZjcwMDA1OGNkNjE2ZTMwYi4uYjQy
NDUzMTg1MDU5Zjc0ODI3MGEyZDFmZmIwZjFiNzhjODZhN2Q4YiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvdGlsaW5nL2NyYXNoLXJlcGFyZW50LXRpbGVkLWxheWVyLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvdGlsaW5nL2NyYXNoLXJlcGFyZW50LXRpbGVk
LWxheWVyLmh0bWwKQEAgLTM5LDcgKzM5LDcgQEAKICAgICAgICAgICAgICAgICAvLyBMZXQgaXQg
cmVuZGVyCiAgICAgICAgICAgICAgICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAg
ICAgICAgICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAg
ICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycpLmlubmVySFRNTCA9
IHRlc3RSdW5uZXIubGF5ZXJUcmVlQXNUZXh0KCk7CisgICAgICAgICAgICAgICAgICAgICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJIVE1MID0gd2luZG93LmludGVy
bmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOwogICAgICAgICAgICAgICAgICAgICAgICAg
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgICAgICB9LCAwKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3RpbGlu
Zy9odWdlLWxheWVyLWFkZC1yZW1vdmUtY2hpbGQuaHRtbC1kaXNhYmxlZCBiL0xheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL3RpbGluZy9odWdlLWxheWVyLWFkZC1yZW1vdmUtY2hpbGQuaHRtbC1kaXNh
YmxlZAppbmRleCBhZjMxYjM3ZjkwNGI2MjFhMGRiMTI2YWYyY2UzMTc2Y2NiOTZjMDA4Li40NWNh
ODBlMGIwZTQzYmJjZGQyY2E0ZGQ5MjQ1ZWQyZWZiNzA1ZTYyIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9jb21wb3NpdGluZy90aWxpbmcvaHVnZS1sYXllci1hZGQtcmVtb3ZlLWNoaWxkLmh0bWwt
ZGlzYWJsZWQKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvdGlsaW5nL2h1Z2UtbGF5ZXIt
YWRkLXJlbW92ZS1jaGlsZC5odG1sLWRpc2FibGVkCkBAIC0zOSw3ICszOSw3IEBACiAgICAgICAg
ICAgICAvLyBGaXJzdCB3aXRoIG5vIGtpZHMKICAgICAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0
KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAg
ICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gIkZpcnN0IChubyBjaGlsZHJlbik6PGJyPiIgKyB0
ZXN0UnVubmVyLmxheWVyVHJlZUFzVGV4dCgpOworICAgICAgICAgICAgICAgICAgICByZXN1bHQg
PSAiRmlyc3QgKG5vIGNoaWxkcmVuKTo8YnI+IiArIHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVl
QXNUZXh0KGRvY3VtZW50KTsKICAgICAgICAgICAgIH0sIDApOwogICAgICAgICAgICAgCiAgICAg
ICAgICAgICAvLyBTZWNvbmQgYWRkIGtpZApAQCAtNTEsNyArNTEsNyBAQAogICAgICAgICAgICAg
ICAgIC8vIExldCBpdCByZW5kZXIKICAgICAgICAgICAgICAgICB3aW5kb3cuc2V0VGltZW91dChm
dW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQot
ICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ICs9ICI8YnI+PGJyPlNlY29uZCAoY2hpbGQg
YWRkZWQpOjxicj4iICsgdGVzdFJ1bm5lci5sYXllclRyZWVBc1RleHQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHJlc3VsdCArPSAiPGJyPjxicj5TZWNvbmQgKGNoaWxkIGFkZGVkKTo8YnI+
IiArIHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKICAgICAgICAg
ICAgICAgICB9LCAwKTsKICAgICAgICAgICAgIH0sIDEwMCk7CiAgICAgICAgICAgICAKQEAgLTYz
LDcgKzYzLDcgQEAKICAgICAgICAgICAgICAgICAvLyBMZXQgaXQgcmVuZGVyCiAgICAgICAgICAg
ICAgICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0
ICs9ICI8YnI+PGJyPlRoaXJkIChjaGlsZCByZW1vdmVkKTo8YnI+IiArIHRlc3RSdW5uZXIubGF5
ZXJUcmVlQXNUZXh0KCk7CisgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgKz0gIjxicj48
YnI+VGhpcmQgKGNoaWxkIHJlbW92ZWQpOjxicj4iICsgd2luZG93LmludGVybmFscy5sYXllclRy
ZWVBc1RleHQoZG9jdW1lbnQpOwogICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2xheWVycycpLmlubmVySFRNTCA9IHJlc3VsdDsKICAgICAgICAgICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAgICAgICAgICAgICAgICB9
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy90aWxpbmcvaHVnZS1sYXllci1p
bWcuaHRtbC1kaXNhYmxlZCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3RpbGluZy9odWdlLWxh
eWVyLWltZy5odG1sLWRpc2FibGVkCmluZGV4IDRiODhjNzM2YzlmYWIyMGIwODQwMDZmNjU2OTBh
MjVhMDllMTEyMzkuLjgwMjI0NDIzN2ExZmE4NTA1ZGQ0OGU0ODU1MTRjYWNhY2ZhMGJkNTcgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3RpbGluZy9odWdlLWxheWVyLWltZy5o
dG1sLWRpc2FibGVkCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3RpbGluZy9odWdlLWxh
eWVyLWltZy5odG1sLWRpc2FibGVkCkBAIC0zNCw3ICszNCw3IEBACiAKICAgICAgICAgICAgIHdp
bmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnbGF5ZXJzJykuaW5uZXJIVE1MID0gdGVzdFJ1bm5lci5sYXllclRyZWVBc1RleHQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycpLmlubmVy
SFRNTCA9IHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKICAgICAg
ICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgfSwgMCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy90aWxpbmcvaHVnZS1sYXllci1yZXNpemUuaHRtbC1kaXNhYmxlZCBiL0xheW91dFRlc3RzL2Nv
bXBvc2l0aW5nL3RpbGluZy9odWdlLWxheWVyLXJlc2l6ZS5odG1sLWRpc2FibGVkCmluZGV4IGVm
OTFiODA5OGEyMTU5NjI0YzU4YmI3NDE0ZmYzMjU3MDBlYjQwM2YuLmI3MTkzMThhZjdjMThhODBi
M2IxOTVhMDdkYzMxMjZkYTNkODgyMDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0
aW5nL3RpbGluZy9odWdlLWxheWVyLXJlc2l6ZS5odG1sLWRpc2FibGVkCisrKyBiL0xheW91dFRl
c3RzL2NvbXBvc2l0aW5nL3RpbGluZy9odWdlLWxheWVyLXJlc2l6ZS5odG1sLWRpc2FibGVkCkBA
IC01NSw3ICs1NSw3IEBACiAgICAgICAgICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldExlZnQ7CiAg
ICAgICAgICAgICB0ZXN0UnVubmVyLmRpc3BsYXkoKTsKIAotICAgICAgICAgICAgcmV0dXJuIG1l
c3NhZ2VQcmVmaXggKyB0ZXN0UnVubmVyLmxheWVyVHJlZUFzVGV4dCgpOworICAgICAgICAgICAg
cmV0dXJuIG1lc3NhZ2VQcmVmaXggKyB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChk
b2N1bWVudCk7CiAgICAgICAgIH0KICAgICAgIAogICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0
ZW5lcignbG9hZCcsIHRlc3RPbkxvYWQsIGZhbHNlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL3RpbGluZy9odWdlLWxheWVyLXdpdGgtbGF5ZXItY2hpbGRyZW4tcmVzaXpl
Lmh0bWwtZGlzYWJsZWQgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy90aWxpbmcvaHVnZS1sYXll
ci13aXRoLWxheWVyLWNoaWxkcmVuLXJlc2l6ZS5odG1sLWRpc2FibGVkCmluZGV4IGI4NzNkMjRm
YjBjOGRlMWQzZjVhYzY3MmM5YjVjMmJhNDdkNjdmNTAuLmNjNTc1YTQ2ZjViNzI2NmE3MzU5ODYy
MWJlZTRhYTRjNDU0NDYyOWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3Rp
bGluZy9odWdlLWxheWVyLXdpdGgtbGF5ZXItY2hpbGRyZW4tcmVzaXplLmh0bWwtZGlzYWJsZWQK
KysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvdGlsaW5nL2h1Z2UtbGF5ZXItd2l0aC1sYXll
ci1jaGlsZHJlbi1yZXNpemUuaHRtbC1kaXNhYmxlZApAQCAtNDUsNyArNDUsNyBAQAogICAgICAg
ICAgICAgLy8gU21hbGwgbGF5ZXIgZmlyc3QKICAgICAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0
KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAg
ICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gIkZpcnN0IChzbWFsbCBsYXllcik6PGJyPiIgKyB0
ZXN0UnVubmVyLmxheWVyVHJlZUFzVGV4dCgpOworICAgICAgICAgICAgICAgICAgICByZXN1bHQg
PSAiRmlyc3QgKHNtYWxsIGxheWVyKTo8YnI+IiArIHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVl
QXNUZXh0KGRvY3VtZW50KTsKICAgICAgICAgICAgIH0sIDApOwogICAgICAgICAgICAgCiAgICAg
ICAgICAgICAvLyBIdWdlIGxheWVyIHNlY29uZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvdGlsaW5nL2h1Z2UtbGF5ZXItd2l0aC1sYXllci1jaGlsZHJlbi5odG1sLWRpc2Fi
bGVkIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvdGlsaW5nL2h1Z2UtbGF5ZXItd2l0aC1sYXll
ci1jaGlsZHJlbi5odG1sLWRpc2FibGVkCmluZGV4IGViNGQxNDIzYTQ2MzI0NmI0YTU2ZGE2MTQ2
ZWJhYmI2NjVkOGYxYmMuLmQxMjY1NmY4MzI2NzdlZDUwMzIyOTcyODZlZTFlMWNmNzNkYjU5NDUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3RpbGluZy9odWdlLWxheWVyLXdp
dGgtbGF5ZXItY2hpbGRyZW4uaHRtbC1kaXNhYmxlZAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3Np
dGluZy90aWxpbmcvaHVnZS1sYXllci13aXRoLWxheWVyLWNoaWxkcmVuLmh0bWwtZGlzYWJsZWQK
QEAgLTQzLDcgKzQzLDcgQEAKICAgICAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9u
KCkgewogICAgICAgICAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAg
ICAgICAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5lckhUTUwgPSB0
ZXN0UnVubmVyLmxheWVyVHJlZUFzVGV4dCgpOworICAgICAgICAgICAgICAgICAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycpLmlubmVySFRNTCA9IHdpbmRvdy5pbnRlcm5h
bHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKICAgICAgICAgICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICAgfSwgMCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy90aWxpbmcv
aHVnZS1sYXllci5odG1sLWRpc2FibGVkIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvdGlsaW5n
L2h1Z2UtbGF5ZXIuaHRtbC1kaXNhYmxlZAppbmRleCBiOWJiNzQyMjkzZjUxZWNmNmJlNDRhZjRh
YmM3OTNlYWQ3N2RjNTA3Li44OGYzMzVkOTExN2Y2NDA5YTliNzVhNGJkNTA3NDVkNzBhYjQ4YzE0
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy90aWxpbmcvaHVnZS1sYXllci5o
dG1sLWRpc2FibGVkCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3RpbGluZy9odWdlLWxh
eWVyLmh0bWwtZGlzYWJsZWQKQEAgLTQyLDcgKzQyLDcgQEAKICAgICAgICAgICAgIHdpbmRvdy5z
ZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0
KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXll
cnMnKS5pbm5lckhUTUwgPSB0ZXN0UnVubmVyLmxheWVyVHJlZUFzVGV4dCgpOworICAgICAgICAg
ICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycpLmlubmVySFRN
TCA9IHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKICAgICAgICAg
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICAgICAgfSwgMCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9j
b21wb3NpdGluZy92aWRlby92aWRlby1wb3N0ZXIuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0
aW5nL3ZpZGVvL3ZpZGVvLXBvc3Rlci5odG1sCmluZGV4IDk2NTJiNmM4N2YxOWM3ZmU0NzE0ODFl
YTczZTY3ZTQyNGM0MmRiODUuLjhmZmVlNDUxNTlmY2Q5MzlhZGQ4YWNkZDJlODBjMjA2MjJkY2U0
MzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3ZpZGVvL3ZpZGVvLXBvc3Rl
ci5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3ZpZGVvL3ZpZGVvLXBvc3Rlci5o
dG1sCkBAIC0xMyw3ICsxMyw3IEBACiAgICAgICAgICAgICBmdW5jdGlvbiBoYXNMYXllcnMoKQog
ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIHRlc3RSdW5uZXIubGF5ZXJUcmVlQXNUZXh0KCkgIT0g
IiI7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJl
ZUFzVGV4dChkb2N1bWVudCkgIT0gIiI7CiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy92aXNp
YmlsaXR5L2xheWVyLXZpc2libGUtY29udGVudC5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRp
bmcvdmlzaWJpbGl0eS9sYXllci12aXNpYmxlLWNvbnRlbnQuaHRtbAppbmRleCAxMDY0ZTA0ZDlh
ZDE2MGFjMmVmN2ZlODdhZTU5ZTI1MDAyYmU5MGJhLi4zYTk2MjhhOTJhMTAxYWE4ODY5ZjBlNWYz
MWUyMDhkMDRkNjM3NjFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy92aXNp
YmlsaXR5L2xheWVyLXZpc2libGUtY29udGVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBv
c2l0aW5nL3Zpc2liaWxpdHkvbGF5ZXItdmlzaWJsZS1jb250ZW50Lmh0bWwKQEAgLTQ3LDcgKzQ3
LDcgQEAKICAgICBmdW5jdGlvbiBkdW1wTGF5ZXJzKCkKICAgICB7CiAgICAgICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXll
ci10cmVlJykuaW5uZXJUZXh0ID0gdGVzdFJ1bm5lci5sYXllclRyZWVBc1RleHQoKTsKKyAgICAg
ICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllci10cmVlJykuaW5uZXJUZXh0ID0g
d2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOwogICAgIH0KICAgICB3
aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGR1bXBMYXllcnMsIGZhbHNlKTsKICAgPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy92aXNpYmlsaXR5L3Zp
c2liaWxpdHktaW1hZ2UtbGF5ZXJzLWR5bmFtaWMuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0
aW5nL3Zpc2liaWxpdHkvdmlzaWJpbGl0eS1pbWFnZS1sYXllcnMtZHluYW1pYy5odG1sCmluZGV4
IGQ2ZTAzMjkzMWI4NDRiNjU4MzFjYTIwZjIyOTY5YTkxNTVkMTkwNWMuLmIzNmZkMmQ2OWRhODU3
OTI5ZThiOGRjY2I3ZDE1ZjBmN2FlZjhkM2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBv
c2l0aW5nL3Zpc2liaWxpdHkvdmlzaWJpbGl0eS1pbWFnZS1sYXllcnMtZHluYW1pYy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3Zpc2liaWxpdHkvdmlzaWJpbGl0eS1pbWFnZS1s
YXllcnMtZHluYW1pYy5odG1sCkBAIC01NCw3ICs1NCw3IEBACiAgICAgZnVuY3Rpb24gZG9UZXN0
KCkKICAgICB7CiAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdsYXllcnMxJykuaW5uZXJUZXh0ID0gdGVzdFJ1bm5lci5sYXllclRy
ZWVBc1RleHQoKTsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVyczEnKS5p
bm5lclRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCk7CiAK
ICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICB2YXIgZmlyc3RJ
bWFnZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2ltZycpWzBdOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvY3NzMy9jb21wb3NpdGluZy9zaG91bGQtaGF2ZS1jb21wb3NpdGluZy1sYXll
ci5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jb21wb3NpdGluZy9zaG91bGQtaGF2ZS1jb21wb3Np
dGluZy1sYXllci5odG1sCmluZGV4IDIwMzYxYzk0NjExMWU0MjJkMzQxM2QyNjJkYTAzZDM3ZDI0
NDc0NmEuLmJiZWFjMmI1NzU1Y2M4YWYxYzdlYjVmZmNjNWUzZWNlNWNhZWYzYTUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2NzczMvY29tcG9zaXRpbmcvc2hvdWxkLWhhdmUtY29tcG9zaXRpbmct
bGF5ZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NvbXBvc2l0aW5nL3Nob3VsZC1oYXZl
LWNvbXBvc2l0aW5nLWxheWVyLmh0bWwKQEAgLTEzLDcgKzEzLDcgQEAKICAgICB7CiAgICAgICAg
IGRlc2NyaXB0aW9uKCJUZXN0IHRvIG1ha2Ugc3VyZSBhIGJsZW5kIG1vZGUgY3JlYXRlcyBhIGNv
bXBvc2l0aW5nIGxheWVyLiBUZXN0IGlzIHN1Y2Nlc3NmdWwgb2YgcmVuZGVyIHRyZWUgc2hvd3Mg
Y29tcG9zaXRpbmciKTsKICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAg
ICAgICB2YXIgbGF5ZXJzID0gdGVzdFJ1bm5lci5sYXllclRyZWVBc1RleHQoKTsKKyAgICAgICAg
ICAgIHZhciBsYXllcnMgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVu
dCk7CiAgICAgICAgICAgICBpZiAobGF5ZXJzID09ICIiKQogICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoIm5vIGNvbXBvc2l0aW5nIGxheWVycyIpOwogICAgICAgICAgICAgZWxzZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2NvbXBvc2l0ZWQtZHVyaW5nLWFuaW1hdGlv
bi1sYXllcnRyZWUuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jb21wb3NpdGVkLWR1
cmluZy1hbmltYXRpb24tbGF5ZXJ0cmVlLmh0bWwKaW5kZXggYmI3ZWZiMTRiNWYyZjRmNTFlNmFk
NzE0YjVhMWJlNTY1NjRiNWM0NS4uYTk5ZTYyN2Q3MWI3YzY2ZGIwODMwNzE5NzU1ZTY0ZTE4ZWMw
NGNkMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2NvbXBvc2l0ZWQtZHVy
aW5nLWFuaW1hdGlvbi1sYXllcnRyZWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRl
cnMvY29tcG9zaXRlZC1kdXJpbmctYW5pbWF0aW9uLWxheWVydHJlZS5odG1sCkBAIC03NSw3ICs3
NSw3IEBACiAKICAgICAgIGZ1bmN0aW9uIGRvVGVzdCgpIHsKICAgICAgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xh
eWVyLXRyZWUnKS5pbm5lclRleHQgPSB0ZXN0UnVubmVyLmxheWVyVHJlZUFzVGV4dCgpCisgICAg
ICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllci10cmVlJykuaW5uZXJUZXh0
ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpCiAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAgICAgIH0KICAgICAgIH0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jb21wb3NpdGVkLWR1cmluZy10cmFuc2l0
aW9uLWxheWVydHJlZS5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2NvbXBvc2l0ZWQt
ZHVyaW5nLXRyYW5zaXRpb24tbGF5ZXJ0cmVlLmh0bWwKaW5kZXggNmEwMWE1YjRhZmMyNWRkNjg0
ZjBmMzZhODc4ZTE0NTYxM2RmODY0ZC4uODE1NDFjYTIwYjNkZWY1YmY4ZDgxZGRmMzUzYmRmNTNj
OTMxODkzMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2NvbXBvc2l0ZWQt
ZHVyaW5nLXRyYW5zaXRpb24tbGF5ZXJ0cmVlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9m
aWx0ZXJzL2NvbXBvc2l0ZWQtZHVyaW5nLXRyYW5zaXRpb24tbGF5ZXJ0cmVlLmh0bWwKQEAgLTY2
LDcgKzY2LDcgQEAKIAogICAgICAgZnVuY3Rpb24gZG9UZXN0KCkgewogICAgICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnbGF5ZXItdHJlZScpLmlubmVyVGV4dCA9IHRlc3RSdW5uZXIubGF5ZXJUcmVlQXNUZXh0KCkK
KyAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVyLXRyZWUnKS5pbm5l
clRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCkKICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgICAgfQogICAgICAgfQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2ZpbHRlcmVkLWNvbXBvc2l0aW5n
LWRlc2NlbmRhbnQuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9maWx0ZXJlZC1jb21w
b3NpdGluZy1kZXNjZW5kYW50Lmh0bWwKaW5kZXggOTlhZTNkZGM3ZTkzYjI5MzUwYWVkNWFlMjRh
YTEyNGFkM2U3OWEzMy4uYjkwZjc2ZDM5MDQ4Yzc5Zjk1ZDllOTI3YTZjYWQxM2Y0NWVlNjRhYSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2ZpbHRlcmVkLWNvbXBvc2l0aW5n
LWRlc2NlbmRhbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZmlsdGVyZWQt
Y29tcG9zaXRpbmctZGVzY2VuZGFudC5odG1sCkBAIC0zMCw3ICszMCw3IEBACiAKICAgICB3aW5k
b3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGZ1bmN0aW9uICgpIHsKICAgICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVyLXRy
ZWUnKS5pbm5lclRleHQgPSB0ZXN0UnVubmVyLmxheWVyVHJlZUFzVGV4dCgpOworICAgICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXItdHJlZScpLmlubmVyVGV4dCA9IHdpbmRvdy5p
bnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKICAgICB9LCBmYWxzZSk7CiAgIDwv
c2NyaXB0PgogPC9oZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3No
b3VsZC1ub3QtaGF2ZS1jb21wb3NpdGluZy1sYXllci5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9m
aWx0ZXJzL3Nob3VsZC1ub3QtaGF2ZS1jb21wb3NpdGluZy1sYXllci5odG1sCmluZGV4IGNkNzdl
MzUwMzEyYTEwYzdlZGUyYThhYzJlNmYzMDBlNDc5NTRhNzcuLjJkNjJlOGE3ZWRlNTRhNDU1ZmRl
NDg2NGIxM2EwMTg1MWQ2MWQ0ODkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVy
cy9zaG91bGQtbm90LWhhdmUtY29tcG9zaXRpbmctbGF5ZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9jc3MzL2ZpbHRlcnMvc2hvdWxkLW5vdC1oYXZlLWNvbXBvc2l0aW5nLWxheWVyLmh0bWwKQEAg
LTEzLDcgKzEzLDcgQEAKICAgICB7CiAgICAgICAgIGRlc2NyaXB0aW9uKCJUZXN0IHRvIG1ha2Ug
c3VyZSBhIHNpbXBsZSBDU1MgZmlsdGVyIGRvZXMgbm90IGNyZWF0ZSBhIGNvbXBvc2l0aW5nIGxh
eWVyLiBUZXN0IGlzIHN1Y2Nlc3NmdWwgb2YgcmVuZGVyIHRyZWUgZG9lcyBub3Qgc2hvdyBhbnkg
Y29tcG9zaXRpbmciKTsKICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAg
ICAgICB2YXIgbGF5ZXJzID0gdGVzdFJ1bm5lci5sYXllclRyZWVBc1RleHQoKTsKKyAgICAgICAg
ICAgIHZhciBsYXllcnMgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVu
dCk7CiAgICAgICAgICAgICBpZiAobGF5ZXJzID09ICIiKQogICAgICAgICAgICAgICAgIHRlc3RQ
YXNzZWQoIm5vIGNvbXBvc2l0aW5nIGxheWVycyIpOwogICAgICAgICAgICAgZWxzZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tYW5kcm9pZC9jb21wb3NpdGluZy9s
YXllci1jcmVhdGlvbi9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2guaHRtbCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtLWFuZHJvaWQvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vb3Zl
cmZsb3ctc2Nyb2xsaW5nLXRvdWNoLmh0bWwKaW5kZXggYTdiODc1NDE4ZGI1ODUyYTBmMjc5ZGRl
NGI2NjExMTQ4MmM3OGRmYi4uMjJhNTllMzE3YzQ5ZTE4MTU0ZmIyZTQwNjg4YmNhMDllMGM0ZWUy
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tYW5kcm9pZC9jb21w
b3NpdGluZy9sYXllci1jcmVhdGlvbi9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2guaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1hbmRyb2lkL2NvbXBvc2l0aW5nL2xheWVy
LWNyZWF0aW9uL292ZXJmbG93LXNjcm9sbGluZy10b3VjaC5odG1sCkBAIC0zOSw3ICszOSw3IEBA
CiAgICAgZnVuY3Rpb24gZG9UZXN0KCkKICAgICB7CiAgICAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnMn
KS5pbm5lclRleHQgPSBsYXlvdXRUZXN0Q29udHJvbGxlci5sYXllclRyZWVBc1RleHQoKTsKKyAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycpLmlubmVyVGV4dCA9IHdpbmRv
dy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKICAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwogICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2ZvcmNlLWNvbXBvc2l0aW5n
LW1vZGUvZm9yY2UtY29tcG9zaXRlLWVtcHR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9jb21wb3NpdGluZy9mb3JjZS1jb21wb3NpdGluZy1tb2RlL2ZvcmNlLWNvbXBvc2l0
ZS1lbXB0eS5odG1sCmluZGV4IDgyOGYxMWJjNDdjY2NlMmRkYmQwMzJiMmFjM2ZjNTFjOTFjOWNk
MmIuLjVmMWE1NGUyNmU4Y2ExMmFiYzljNWQwNWY2MzllNTc3MDY0ZjhkYmQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2ZvcmNlLWNvbXBvc2l0
aW5nLW1vZGUvZm9yY2UtY29tcG9zaXRlLWVtcHR5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvZm9yY2UtY29tcG9zaXRpbmctbW9kZS9mb3JjZS1j
b21wb3NpdGUtZW1wdHkuaHRtbApAQCAtNyw3ICs3LDcgQEAKICAgICAgIH0KICAgICAgIGZ1bmN0
aW9uIGRvVGVzdCgpIHsKICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxheWVydHJlZSIpLmlubmVyVGV4dCA9IHRlc3RS
dW5uZXIubGF5ZXJUcmVlQXNUZXh0KCk7CisgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImxheWVydHJlZSIpLmlubmVyVGV4dCA9IHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNU
ZXh0KGRvY3VtZW50KTsKICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICAg
ICAgfQogICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
Y29tcG9zaXRpbmcvZm9yY2UtY29tcG9zaXRpbmctbW9kZS9uby1vdmVyZmxvdy1pZnJhbWUtbGF5
ZXIuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2ZvcmNl
LWNvbXBvc2l0aW5nLW1vZGUvbm8tb3ZlcmZsb3ctaWZyYW1lLWxheWVyLmh0bWwKaW5kZXggNjA0
OWIxYzYwOGU5ZGViYmVlZTA5ODgxOTUxYzZkMzgwY2Y4NDFmNC4uNTZiOGI4YmJlZDY4NmQ0NzZk
MmE1ODlkNjgzY2UzYmEyOThjY2RkYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vY29tcG9zaXRpbmcvZm9yY2UtY29tcG9zaXRpbmctbW9kZS9uby1vdmVyZmxvdy1p
ZnJhbWUtbGF5ZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21w
b3NpdGluZy9mb3JjZS1jb21wb3NpdGluZy1tb2RlL25vLW92ZXJmbG93LWlmcmFtZS1sYXllci5o
dG1sCkBAIC0xMSw3ICsxMSw3IEBACiAgICAgewogICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KSB7CiAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dChmYWxzZSk7Ci0gICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnRyZWUnKS5pbm5lclRleHQgPSB0ZXN0UnVubmVyLmxh
eWVyVHJlZUFzVGV4dCgpOworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJ0
cmVlJykuaW5uZXJUZXh0ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1l
bnQpOwogICAgICAgfQogICAgIH0KICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IGRvVGVzdCwgZmFsc2UpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vY29tcG9zaXRpbmcvZm9yY2UtY29tcG9zaXRpbmctbW9kZS9vdmVyZmxvdy1oaWRkZW4taWZy
YW1lLWxheWVyLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGlu
Zy9mb3JjZS1jb21wb3NpdGluZy1tb2RlL292ZXJmbG93LWhpZGRlbi1pZnJhbWUtbGF5ZXIuaHRt
bAppbmRleCBhZGQxYzM0NzQwOWMzMjNlM2UxZTU4YWMzZGZlYjkxYmZlN2E4ZWQ1Li44YTQ2YmRi
NWEwYWJhNGFjNDM4ZDY2Yzg4ZmRiZDJmNjEzOTgxOWY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9mb3JjZS1jb21wb3NpdGluZy1tb2RlL292
ZXJmbG93LWhpZGRlbi1pZnJhbWUtbGF5ZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9jb21wb3NpdGluZy9mb3JjZS1jb21wb3NpdGluZy1tb2RlL292ZXJmbG93LWhp
ZGRlbi1pZnJhbWUtbGF5ZXIuaHRtbApAQCAtMjAsNyArMjAsNyBAQAogICAgICAgaWZyYW1lLmNv
bnRlbnREb2N1bWVudC5ib2R5Lm9mZnNldFdpZHRoOyAvLyBTZWUgYnVnIDQxOTk5CiAgICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KGZh
bHNlKTsKLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVydHJlZScpLmlubmVy
VGV4dCA9IHRlc3RSdW5uZXIubGF5ZXJUcmVlQXNUZXh0KCk7CisgICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdsYXllcnRyZWUnKS5pbm5lclRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxh
eWVyVHJlZUFzVGV4dChkb2N1bWVudCk7CiAgICAgICB9CiAgICAgfQogICAgIHdpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgZG9UZXN0LCBmYWxzZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9mb3JjZS1jb21wb3NpdGluZy1tb2Rl
L292ZXJmbG93LWlmcmFtZS1lbnRlci1jb21wb3NpdGluZy5odG1sIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvZm9yY2UtY29tcG9zaXRpbmctbW9kZS9vdmVyZmxv
dy1pZnJhbWUtZW50ZXItY29tcG9zaXRpbmcuaHRtbAppbmRleCBkMzcxY2VkYWQwNmVkMWYwZDM5
OTQzOTdiOTJjYzFiMmJlMDNlMTUzLi41NzdiZGFjYTNmZDE0ZTUyNWNlNzk5M2Y2MThjNDAxMmM2
NjA0NDI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3Np
dGluZy9mb3JjZS1jb21wb3NpdGluZy1tb2RlL292ZXJmbG93LWlmcmFtZS1lbnRlci1jb21wb3Np
dGluZy5odG1sCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5n
L2ZvcmNlLWNvbXBvc2l0aW5nLW1vZGUvb3ZlcmZsb3ctaWZyYW1lLWVudGVyLWNvbXBvc2l0aW5n
Lmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAKICAgICAgIGlmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9k
eS5vZmZzZXRXaWR0aDsgLy8gU2VlIGJ1ZyA0MTk5OQogICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7CiAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dChmYWxzZSk7Ci0gICAgICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnRyZWUnKS5pbm5lclRleHQgPSB0ZXN0UnVubmVy
LmxheWVyVHJlZUFzVGV4dCgpOworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5
ZXJ0cmVlJykuaW5uZXJUZXh0ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9j
dW1lbnQpOwogICAgICAgfQogICAgIH0KICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIGRvVGVzdCwgZmFsc2UpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vY29tcG9zaXRpbmcvZm9yY2UtY29tcG9zaXRpbmctbW9kZS9vdmVyZmxvdy1pZnJhbWUt
bGF5ZXIuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2Zv
cmNlLWNvbXBvc2l0aW5nLW1vZGUvb3ZlcmZsb3ctaWZyYW1lLWxheWVyLmh0bWwKaW5kZXggNWI4
ZTkxYmNjMzZhYWYyYWQ4MzBkYjJjMTEyMzBlNGVmZjZjMDYzMS4uZDYzMWQxODBjOGVmNGNiYzg3
Y2NjNDEyMWVmMDdlMjNhZDFiOWQ2YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vY29tcG9zaXRpbmcvZm9yY2UtY29tcG9zaXRpbmctbW9kZS9vdmVyZmxvdy1pZnJh
bWUtbGF5ZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3Np
dGluZy9mb3JjZS1jb21wb3NpdGluZy1tb2RlL292ZXJmbG93LWlmcmFtZS1sYXllci5odG1sCkBA
IC0xNSw3ICsxNSw3IEBACiAgICAgewogICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAg
ICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dChmYWxzZSk7Ci0gICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdsYXllcnRyZWUnKS5pbm5lclRleHQgPSB0ZXN0UnVubmVyLmxheWVyVHJl
ZUFzVGV4dCgpOworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJ0cmVlJyku
aW5uZXJUZXh0ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOwog
ICAgICAgfQogICAgIH0KICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGRvVGVz
dCwgZmFsc2UpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vY29t
cG9zaXRpbmcvZm9yY2UtY29tcG9zaXRpbmctbW9kZS9vdmVyZmxvdy1pZnJhbWUtbGVhdmUtY29t
cG9zaXRpbmcuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5n
L2ZvcmNlLWNvbXBvc2l0aW5nLW1vZGUvb3ZlcmZsb3ctaWZyYW1lLWxlYXZlLWNvbXBvc2l0aW5n
Lmh0bWwKaW5kZXggYWJiYWM2M2Y4Y2U2ZTA1N2YxN2FmYWU2MGU4ODI3MjMxMzVjNjQ0YS4uM2Yz
MmIxMjg0MmFkNDYxNzE0NjMwMTQwOTlhMTFhNGI4N2M5ZjVkMSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvZm9yY2UtY29tcG9zaXRpbmctbW9k
ZS9vdmVyZmxvdy1pZnJhbWUtbGVhdmUtY29tcG9zaXRpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9mb3JjZS1jb21wb3NpdGluZy1tb2RlL292
ZXJmbG93LWlmcmFtZS1sZWF2ZS1jb21wb3NpdGluZy5odG1sCkBAIC0yMSw3ICsyMSw3IEBACiAg
ICAgICBpZnJhbWUuY29udGVudERvY3VtZW50LmJvZHkub2Zmc2V0V2lkdGg7IC8vIFNlZSBidWcg
NDE5OTkKICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoZmFsc2UpOwotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5
ZXJ0cmVlJykuaW5uZXJUZXh0ID0gdGVzdFJ1bm5lci5sYXllclRyZWVBc1RleHQoKTsKKyAgICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVydHJlZScpLmlubmVyVGV4dCA9IHdpbmRv
dy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKICAgICAgIH0KICAgICB9CiAg
ICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBkb1Rlc3QsIGZhbHNlKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jb21wb3NpdGluZy9jYW52YXMvYWNjZWxl
cmF0ZWQtY2FudmFzLWNvbXBvc2l0aW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
Y29tcG9zaXRpbmcvY2FudmFzL2FjY2VsZXJhdGVkLWNhbnZhcy1jb21wb3NpdGluZy5odG1sCmlu
ZGV4IDhkN2E3ZTA2YTllOGFjZDg3ZGJhYTE2YTgyMjYxNzJiOWMwZGMyMjkuLjc5YWM4NDFmMTQ4
YmVjZDdlZTkyNDIyNTUxNDAyMjIzODY4OWFhZDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9jb21wb3NpdGluZy9jYW52YXMvYWNjZWxlcmF0ZWQtY2FudmFzLWNvbXBvc2l0
aW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NvbXBvc2l0aW5nL2NhbnZh
cy9hY2NlbGVyYXRlZC1jYW52YXMtY29tcG9zaXRpbmcuaHRtbApAQCAtMTMsNyArMTMsNyBAQAog
ICAgICAgICBjdHguZmlsbFJlY3QoMCwwLGMud2lkdGgsIGMuaGVpZ2h0KTsKIAogICAgICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdsYXllcnMnKS5pbm5lclRleHQgPSB0ZXN0UnVubmVyLmxheWVyVHJlZUFzVGV4dCgpOwor
ICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycpLmlubmVyVGV4dCA9
IHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKICAgICAgICAgICAg
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAgICB9CiAgICAgfQo=
</data>
<flag name="review"
          id="180346"
          type_id="1"
          status="+"
          setter="jamesr"
    />
          </attachment>
      

    </bug>

</bugzilla>