[kaffe] Klasses.jar.bootstrap
Rob Gonzalez
rgonzale@wso.williams.edu
Tue Aug 12 07:12:02 2003
This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.
--Boundary_(ID_JYZaPesEiz+NVtjfIh3VQQ)
Content-type: TEXT/PLAIN; charset=US-ASCII
Hi everyone,
I still cannot compile kaffe from a fresh CVS checkout without access to a
working rt.jar. When using only the Klasses.jar.bootstrap and jikes
1.1.18, I receive the attached list of errors. make Klasses gets as far
as the awt.jar then starts failing pretty spectacularly.
If anyone has a current (i.e. compiled today) working version of rt.jar
and wouldn't mind sending it my way, I'd be much obliged.
Thanks,
Rob
--Boundary_(ID_JYZaPesEiz+NVtjfIh3VQQ)
Content-id: <Pine.LNX.4.21.0308121011080.2090@olga.williams.edu>
Content-type: TEXT/PLAIN; charset=US-ASCII; name="error.list"
Content-transfer-encoding: BASE64
Content-disposition: attachment; filename="error.list"
Content-description:
DQpGb3VuZCA0IHNlbWFudGljIGVycm9ycyBjb21waWxpbmcgImphdmEvYXd0
L2V2ZW50L0l0ZW1FdmVudC5qYXZhIjoNCg0KICAgICA2LiBpbXBvcnQgamF2
YS5hd3QuQ2hlY2tib3g7DQogICAgICAgICAgICAgICBeLS0tLS0tLS0tLS0t
LS0tXg0KKioqIFNlbWFudGljIEVycm9yOiBUaGUgaW1wb3J0ICJqYXZhL2F3
dC9DaGVja2JveCIgaXMgbm90IHZhbGlkLCBzaW5jZSBpdCBkb2VzIG5vdCBu
YW1lIGEgdHlwZSBpbiBhIHBhY2thZ2UuDQoNCg0KICAgICA3LiBpbXBvcnQg
amF2YS5hd3QuTGlzdDsNCiAgICAgICAgICAgICAgIF4tLS0tLS0tLS0tLV4N
CioqKiBTZW1hbnRpYyBFcnJvcjogVGhlIGltcG9ydCAiamF2YS9hd3QvTGlz
dCIgaXMgbm90IHZhbGlkLCBzaW5jZSBpdCBkb2VzIG5vdCBuYW1lIGEgdHlw
ZSBpbiBhIHBhY2thZ2UuDQoNCg0KICAgIDY5LiAgICAgICAgIGlmIChzb3Vy
Y2UgaW5zdGFuY2VvZiBDaGVja2JveCkgew0KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBeLS0tLS0tXg0KKioqIFNlbWFudGljIEVy
cm9yOiBBIGNhbmRpZGF0ZSBmb3IgdHlwZSAiQ2hlY2tib3giIHdhcyBmb3Vu
ZCwgYnV0IGl0IGlzIGludmFsaWQgYW5kIG5lZWRzIHRvIGJlIGZpeGVkIGJl
Zm9yZSB0aGlzIHR5cGUgd2lsbCBzdWNjZXNzZnVsbHkgY29tcGlsZS4NCg0K
DQogICAgODAuICAgICAgICAgZWxzZSBpZiAoc291cmNlIGluc3RhbmNlb2Yg
TGlzdCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIF4tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjogQSBjYW5kaWRhdGUg
Zm9yIHR5cGUgIkxpc3QiIHdhcyBmb3VuZCwgYnV0IGl0IGlzIGludmFsaWQg
YW5kIG5lZWRzIHRvIGJlIGZpeGVkIGJlZm9yZSB0aGlzIHR5cGUgd2lsbCBz
dWNjZXNzZnVsbHkgY29tcGlsZS4NCg0KRm91bmQgNiBzZW1hbnRpYyBlcnJv
cnMgY29tcGlsaW5nICJqYXZhL2F3dC9GaWxlRGlhbG9nLmphdmEiOg0KDQog
ICAgNDEuICAgICAgICAgTGlzdCBsRGlycyA9IG5ldyBMaXN0KCk7DQogICAg
ICAgICAgICAgICAgXi0tXg0KKioqIFNlbWFudGljIEVycm9yOiBUeXBlIGph
dmEuYXd0Lkxpc3Qgd2FzIG5vdCBmb3VuZC4NCg0KDQogICAgNDEuICAgICAg
ICAgTGlzdCBsRGlycyA9IG5ldyBMaXN0KCk7DQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBeLS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IEEg
Y2FuZGlkYXRlIGZvciB0eXBlICJMaXN0IiB3YXMgZm91bmQsIGJ1dCBpdCBp
cyBpbnZhbGlkIGFuZCBuZWVkcyB0byBiZSBmaXhlZCBiZWZvcmUgdGhpcyB0
eXBlIHdpbGwgc3VjY2Vzc2Z1bGx5IGNvbXBpbGUuDQoNCg0KICAgIDQyLiAg
ICAgICAgIExpc3QgbEZpbGVzID0gbmV3IExpc3QoKTsNCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBeLS1eDQoqKiogU2VtYW50aWMgRXJy
b3I6IEEgY2FuZGlkYXRlIGZvciB0eXBlICJMaXN0IiB3YXMgZm91bmQsIGJ1
dCBpdCBpcyBpbnZhbGlkIGFuZCBuZWVkcyB0byBiZSBmaXhlZCBiZWZvcmUg
dGhpcyB0eXBlIHdpbGwgc3VjY2Vzc2Z1bGx5IGNvbXBpbGUuDQoNCg0KICAg
MjU5LiAgICAgICAgICAgICAgICAgaWYgKCBpcyAhPSB1cERpciApIHsNCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXl4NCioqKiBTZW1hbnRpYyBF
cnJvcjogVGhlIHZhcmlhYmxlICJpcyIgbWF5IGJlIGFjY2Vzc2VkIGhlcmUg
YmVmb3JlIGhhdmluZyBiZWVuIGRlZmluaXRlbHkgYXNzaWduZWQgYSB2YWx1
ZS4NCg0KDQogICAyNjguICAgICAgICAgICAgICAgICAgICAgICAgIHRGaWxl
LnNldFRleHQoIEZpbGUuc2VwYXJhdG9yICsgaXMgKTsNCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBeXg0KKioqIFNlbWFudGljIEVycm9yOiBUaGUgdmFyaWFibGUg
ImlzIiBtYXkgYmUgYWNjZXNzZWQgaGVyZSBiZWZvcmUgaGF2aW5nIGJlZW4g
ZGVmaW5pdGVseSBhc3NpZ25lZCBhIHZhbHVlLg0KDQoNCiAgIDI3MC4gICAg
ICAgICAgICAgICAgICAgICAgICAgdEZpbGUuc2V0VGV4dCggZGlyICsgRmls
ZS5zZXBhcmF0b3IgKyBpcyAgKTsNCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBeXg0KKioqIFNlbWFudGljIEVycm9yOiBUaGUgdmFyaWFibGUgImlzIiBt
YXkgYmUgYWNjZXNzZWQgaGVyZSBiZWZvcmUgaGF2aW5nIGJlZW4gZGVmaW5p
dGVseSBhc3NpZ25lZCBhIHZhbHVlLg0KDQpGb3VuZCAzMCBzZW1hbnRpYyBl
cnJvcnMgY29tcGlsaW5nICJqYXZhL2F3dC9TY3JvbGxQYW5lLmphdmEiOg0K
DQogICAgMzMuICAgZXh0ZW5kcyBTY3JvbGxiYXINCiAgICAgICAgICAgICAg
ICAgIF4tLS0tLS0tXg0KKioqIFNlbWFudGljIEVycm9yOiBUeXBlIGphdmEu
YXd0LlNjcm9sbGJhciB3YXMgbm90IGZvdW5kLg0KDQoNCiAgICAzNi4gICAg
ICAgICBzdXBlciggb3JpZW50YXRpb24pOw0KICAgICAgICAgICAgICAgIF4t
LS0tLS0tLS0tLS0tLS0tLS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIGFw
cGxpY2FibGUgb3ZlcmxvYWQgd2FzIGZvdW5kIGZvciBhIGNvbnN0cnVjdG9y
IG9mIHR5cGUgImphdmEubGFuZy5PYmplY3QiLiBQZXJoYXBzIHlvdSB3YW50
ZWQgdGhlIG92ZXJsb2FkZWQgdmVyc2lvbiAiT2JqZWN0KCk7IiBpbnN0ZWFk
Pw0KDQoNCiAgICA4OC4gICAgICAgICBhZGQoIGhTY3JvbGwpOw0KICAgICAg
ICAgICAgICAgIF4tLS0tLS0tLS0tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjog
Tm8gYXBwbGljYWJsZSBvdmVybG9hZCBmb3IgdGhlIG1ldGhvZCBuYW1lZCAi
YWRkIiB3YXMgZm91bmQgaW4gdHlwZSAiamF2YS5hd3QuQ29udGFpbmVyIi4g
UGVyaGFwcyB5b3Ugd2FudGVkIHRoZSBvdmVybG9hZGVkIHZlcnNpb24gImph
dmEuYXd0LkNvbXBvbmVudCBhZGQoamF2YS5hd3QuQ29tcG9uZW50IGNoaWxk
KTsiIGluc3RlYWQ/DQoNCg0KICAgIDg5LiAgICAgICAgIGFkZCggdlNjcm9s
bCk7DQogICAgICAgICAgICAgICAgXi0tLS0tLS0tLS0tXg0KKioqIFNlbWFu
dGljIEVycm9yOiBObyBhcHBsaWNhYmxlIG92ZXJsb2FkIGZvciB0aGUgbWV0
aG9kIG5hbWVkICJhZGQiIHdhcyBmb3VuZCBpbiB0eXBlICJqYXZhLmF3dC5D
b250YWluZXIiLiBQZXJoYXBzIHlvdSB3YW50ZWQgdGhlIG92ZXJsb2FkZWQg
dmVyc2lvbiAiamF2YS5hd3QuQ29tcG9uZW50IGFkZChqYXZhLmF3dC5Db21w
b25lbnQgY2hpbGQpOyIgaW5zdGVhZD8NCg0KDQogICAgOTEuICAgICAgICAg
aFNjcm9sbC5hZGRBZGp1c3RtZW50TGlzdGVuZXIoIHRoaXMpOw0KICAgICAg
ICAgICAgICAgIF4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Xg0KKioqIFNlbWFudGljIEVycm9yOiBObyBtZXRob2QgbmFtZWQgImFkZEFk
anVzdG1lbnRMaXN0ZW5lciIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0
LlNjcm9sbFBhbmUkU1BBZGp1c3RhYmxlIi4NCg0KDQogICAgOTIuICAgICAg
ICAgdlNjcm9sbC5hZGRBZGp1c3RtZW50TGlzdGVuZXIoIHRoaXMpOw0KICAg
ICAgICAgICAgICAgIF4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tXg0KKioqIFNlbWFudGljIEVycm9yOiBObyBtZXRob2QgbmFtZWQgImFk
ZEFkanVzdG1lbnRMaXN0ZW5lciIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEu
YXd0LlNjcm9sbFBhbmUkU1BBZGp1c3RhYmxlIi4NCg0KDQogICAgOTUuICAg
ICAgICAgICAgICAgICBoU2Nyb2xsLmZsYWdzICY9IH5JU19WSVNJQkxFOw0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeLS0tXg0KKioqIFNl
bWFudGljIEVycm9yOiBObyBmaWVsZCBuYW1lZCAiZmxhZ3MiIHdhcyBmb3Vu
ZCBpbiB0eXBlICJqYXZhLmF3dC5TY3JvbGxQYW5lJFNQQWRqdXN0YWJsZSIu
DQoNCg0KICAgIDk2LiAgICAgICAgICAgICAgICAgdlNjcm9sbC5mbGFncyAm
PSB+SVNfVklTSUJMRTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXi0tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjogTm8gZmllbGQgbmFtZWQg
ImZsYWdzIiB3YXMgZm91bmQgaW4gdHlwZSAiamF2YS5hd3QuU2Nyb2xsUGFu
ZSRTUEFkanVzdGFibGUiLg0KDQoNCiAgIDEwMS4gICAgICAgICBpZiAoIChj
aGlsZCAhPSBoU2Nyb2xsKSAmJiAoY2hpbGQgIT0gdlNjcm9sbCkgKXsNCiAg
ICAgICAgICAgICAgICAgICAgICBeLS0tLS0tLS0tLS0tLS1eDQoqKiogU2Vt
YW50aWMgRXJyb3I6IFRoZSB0eXBlIG9mIHRoZSBsZWZ0IHN1Yi1leHByZXNz
aW9uLCAiamF2YS5hd3QuQ29tcG9uZW50IiwgaXMgbm90IGNvbXBhdGlibGUg
d2l0aCB0aGUgdHlwZSBvZiB0aGUgcmlnaHQgc3ViLWV4cHJlc3Npb24sICJq
YXZhLmF3dC5TY3JvbGxQYW5lJFNQQWRqdXN0YWJsZSIuDQoNCg0KICAgMTAx
LiAgICAgICAgIGlmICggKGNoaWxkICE9IGhTY3JvbGwpICYmIChjaGlsZCAh
PSB2U2Nyb2xsKSApew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBeLS0tLS0tLS0tLS0tLS1eDQoqKiogU2VtYW50aWMg
RXJyb3I6IFRoZSB0eXBlIG9mIHRoZSBsZWZ0IHN1Yi1leHByZXNzaW9uLCAi
amF2YS5hd3QuQ29tcG9uZW50IiwgaXMgbm90IGNvbXBhdGlibGUgd2l0aCB0
aGUgdHlwZSBvZiB0aGUgcmlnaHQgc3ViLWV4cHJlc3Npb24sICJqYXZhLmF3
dC5TY3JvbGxQYW5lJFNQQWRqdXN0YWJsZSIuDQoNCg0KICAgMTc3LiAgICAg
ICAgIGlmICggKGhTY3JvbGwuZmxhZ3MgJiBJU19WSVNJQkxFKSAhPSAwICkg
ew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXi0tLV4NCioqKiBT
ZW1hbnRpYyBFcnJvcjogTm8gZmllbGQgbmFtZWQgImZsYWdzIiB3YXMgZm91
bmQgaW4gdHlwZSAiamF2YS5hd3QuU2Nyb2xsUGFuZSRTUEFkanVzdGFibGUi
Lg0KDQoNCiAgIDE3OS4gICAgICAgICAgICAgICAgICAgICAgICAgaFNjcm9s
bC5zZXRWaXNpYmxlKCBmYWxzZSk7DQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIF4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1eDQoqKiogU2Vt
YW50aWMgRXJyb3I6IE5vIG1ldGhvZCBuYW1lZCAic2V0VmlzaWJsZSIgd2Fz
IGZvdW5kIGluIHR5cGUgImphdmEuYXd0LlNjcm9sbFBhbmUkU1BBZGp1c3Rh
YmxlIi4NCg0KDQogICAxODQuICAgICAgICAgICAgICAgICAgICAgICAgIGhT
Y3JvbGwuc2V0VmlzaWJsZSggdHJ1ZSk7DQogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIF4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLV4NCioqKiBT
ZW1hbnRpYyBFcnJvcjogTm8gbWV0aG9kIG5hbWVkICJzZXRWaXNpYmxlIiB3
YXMgZm91bmQgaW4gdHlwZSAiamF2YS5hd3QuU2Nyb2xsUGFuZSRTUEFkanVz
dGFibGUiLg0KDQoNCiAgIDE4OC4gICAgICAgICBpZiAoICh2U2Nyb2xsLmZs
YWdzICYgSVNfVklTSUJMRSkgIT0gMCApIHsNCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIF4tLS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIGZp
ZWxkIG5hbWVkICJmbGFncyIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0
LlNjcm9sbFBhbmUkU1BBZGp1c3RhYmxlIi4NCg0KDQogICAxOTAuICAgICAg
ICAgICAgICAgICAgICAgICAgIHZTY3JvbGwuc2V0VmlzaWJsZSggZmFsc2Up
Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tXg0KKioqIFNlbWFudGljIEVycm9yOiBObyBtZXRo
b2QgbmFtZWQgInNldFZpc2libGUiIHdhcyBmb3VuZCBpbiB0eXBlICJqYXZh
LmF3dC5TY3JvbGxQYW5lJFNQQWRqdXN0YWJsZSIuDQoNCg0KICAgMTk1LiAg
ICAgICAgICAgICAgICAgICAgICAgICB2U2Nyb2xsLnNldFZpc2libGUoIHRy
dWUpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIG1l
dGhvZCBuYW1lZCAic2V0VmlzaWJsZSIgd2FzIGZvdW5kIGluIHR5cGUgImph
dmEuYXd0LlNjcm9sbFBhbmUkU1BBZGp1c3RhYmxlIi4NCg0KDQogICAyMDUu
ICAgICAgICAgcmV0dXJuIGhTY3JvbGw7DQogICAgICAgICAgICAgICAgICAg
ICAgIF4tLS0tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjogVGhlIHR5cGUgb2Yg
dGhpcyByZXR1cm4gZXhwcmVzc2lvbiwgImphdmEuYXd0LlNjcm9sbFBhbmUk
U1BBZGp1c3RhYmxlIiwgZG9lcyBub3QgbWF0Y2ggdGhlIHJldHVybiB0eXBl
IG9mIHRoZSBtZXRob2QsICJqYXZhLmF3dC5BZGp1c3RhYmxlIi4NCg0KDQog
ICAyMjEuICAgICAgICAgcmV0dXJuIHZTY3JvbGw7DQogICAgICAgICAgICAg
ICAgICAgICAgIF4tLS0tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjogVGhlIHR5
cGUgb2YgdGhpcyByZXR1cm4gZXhwcmVzc2lvbiwgImphdmEuYXd0LlNjcm9s
bFBhbmUkU1BBZGp1c3RhYmxlIiwgZG9lcyBub3QgbWF0Y2ggdGhlIHJldHVy
biB0eXBlIG9mIHRoZSBtZXRob2QsICJqYXZhLmF3dC5BZGp1c3RhYmxlIi4N
Cg0KDQogICAyNTQuICAgICAgICAgaW50IHZ3ID0gKCh2U2Nyb2xsLmZsYWdz
ICYgSVNfVklTSUJMRSkgIT0gMCkgPyBzdyA6IDA7DQogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIF4tLS1eDQoqKiogU2VtYW50aWMgRXJy
b3I6IE5vIGZpZWxkIG5hbWVkICJmbGFncyIgd2FzIGZvdW5kIGluIHR5cGUg
ImphdmEuYXd0LlNjcm9sbFBhbmUkU1BBZGp1c3RhYmxlIi4NCg0KDQogICAy
NTUuICAgICAgICAgaW50IGhoID0gKChoU2Nyb2xsLmZsYWdzICYgSVNfVklT
SUJMRSkgIT0gMCkgPyBzdyA6IDA7DQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIF4tLS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIGZp
ZWxkIG5hbWVkICJmbGFncyIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0
LlNjcm9sbFBhbmUkU1BBZGp1c3RhYmxlIi4NCg0KDQogICAyNjEuICAgICAg
ICAgaFNjcm9sbC5zZXRCb3VuZHMoIDAsIGhlaWdodCAtIHN3LCB3aWR0aCAt
IHZ3LCBzdyk7DQogICAgICAgICAgICAgICAgXi0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLV4NCioqKiBTZW1hbnRp
YyBFcnJvcjogTm8gbWV0aG9kIG5hbWVkICJzZXRCb3VuZHMiIHdhcyBmb3Vu
ZCBpbiB0eXBlICJqYXZhLmF3dC5TY3JvbGxQYW5lJFNQQWRqdXN0YWJsZSIu
DQoNCg0KICAgMjYyLiAgICAgICAgIHZTY3JvbGwuc2V0Qm91bmRzKCB3aWR0
aCAtIHN3LCAwLCBzdywgaGVpZ2h0IC0gaGgpOw0KICAgICAgICAgICAgICAg
IF4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIG1ldGhvZCBuYW1lZCAi
c2V0Qm91bmRzIiB3YXMgZm91bmQgaW4gdHlwZSAiamF2YS5hd3QuU2Nyb2xs
UGFuZSRTUEFkanVzdGFibGUiLg0KDQoNCiAgIDI2NC4gICAgICAgICBoU2Ny
b2xsLnNldFZhbHVlcyggMCwgdywgMCwgY2Qud2lkdGgpOw0KICAgICAgICAg
ICAgICAgIF4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLV4N
CioqKiBTZW1hbnRpYyBFcnJvcjogTm8gbWV0aG9kIG5hbWVkICJzZXRWYWx1
ZXMiIHdhcyBmb3VuZCBpbiB0eXBlICJqYXZhLmF3dC5TY3JvbGxQYW5lJFNQ
QWRqdXN0YWJsZSIuDQoNCg0KICAgMjY1LiAgICAgICAgIHZTY3JvbGwuc2V0
VmFsdWVzKCAwLCBoLCAwLCBjZC5oZWlnaHQpOw0KICAgICAgICAgICAgICAg
IF4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1eDQoqKiog
U2VtYW50aWMgRXJyb3I6IE5vIG1ldGhvZCBuYW1lZCAic2V0VmFsdWVzIiB3
YXMgZm91bmQgaW4gdHlwZSAiamF2YS5hd3QuU2Nyb2xsUGFuZSRTUEFkanVz
dGFibGUiLg0KDQoNCiAgIDI3NS4gICAgICAgICBpbnQgdncgPSAoKHZTY3Jv
bGwuZmxhZ3MgJiBJU19WSVNJQkxFKSAhPSAwKSA/IHN3IDogMDsNCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXi0tLV4NCioqKiBTZW1h
bnRpYyBFcnJvcjogTm8gZmllbGQgbmFtZWQgImZsYWdzIiB3YXMgZm91bmQg
aW4gdHlwZSAiamF2YS5hd3QuU2Nyb2xsUGFuZSRTUEFkanVzdGFibGUiLg0K
DQoNCiAgIDI3Ni4gICAgICAgICBpbnQgaGggPSAoKGhTY3JvbGwuZmxhZ3Mg
JiBJU19WSVNJQkxFKSAhPSAwKSA/IHN3IDogMDsNCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXi0tLV4NCioqKiBTZW1hbnRpYyBFcnJv
cjogTm8gZmllbGQgbmFtZWQgImZsYWdzIiB3YXMgZm91bmQgaW4gdHlwZSAi
amF2YS5hd3QuU2Nyb2xsUGFuZSRTUEFkanVzdGFibGUiLg0KDQoNCiAgIDI4
MS4gICAgICAgICAgICAgICAgIGcucGFpbnRDaGlsZCggaFNjcm9sbCwgZmFs
c2UpOw0KICAgICAgICAgICAgICAgICAgICAgICAgXi0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjogTm8gYXBwbGlj
YWJsZSBvdmVybG9hZCBmb3IgdGhlIG1ldGhvZCBuYW1lZCAicGFpbnRDaGls
ZCIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0LkdyYXBoaWNzIi4gUGVy
aGFwcyB5b3Ugd2FudGVkIHRoZSBvdmVybG9hZGVkIHZlcnNpb24gInZvaWQg
cGFpbnRDaGlsZChqYXZhLmF3dC5Db21wb25lbnQgYywgYm9vbGVhbiBpc1Vw
ZGF0ZSk7IiBpbnN0ZWFkPw0KDQoNCiAgIDI4My4gICAgICAgICAgICAgICAg
IGcucGFpbnRDaGlsZCggdlNjcm9sbCwgZmFsc2UpOw0KICAgICAgICAgICAg
ICAgICAgICAgICAgXi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLV4NCioq
KiBTZW1hbnRpYyBFcnJvcjogTm8gYXBwbGljYWJsZSBvdmVybG9hZCBmb3Ig
dGhlIG1ldGhvZCBuYW1lZCAicGFpbnRDaGlsZCIgd2FzIGZvdW5kIGluIHR5
cGUgImphdmEuYXd0LkdyYXBoaWNzIi4gUGVyaGFwcyB5b3Ugd2FudGVkIHRo
ZSBvdmVybG9hZGVkIHZlcnNpb24gInZvaWQgcGFpbnRDaGlsZChqYXZhLmF3
dC5Db21wb25lbnQgYywgYm9vbGVhbiBpc1VwZGF0ZSk7IiBpbnN0ZWFkPw0K
DQoNCiAgIDMwMC4gICAgICAgICBoU2Nyb2xsLnNldFZhbHVlKCB4KTsNCiAg
ICAgICAgICAgICAgICBeLS0tLS0tLS0tLS0tLS0tLS0tXg0KKioqIFNlbWFu
dGljIEVycm9yOiBObyBtZXRob2QgbmFtZWQgInNldFZhbHVlIiB3YXMgZm91
bmQgaW4gdHlwZSAiamF2YS5hd3QuU2Nyb2xsUGFuZSRTUEFkanVzdGFibGUi
Lg0KDQoNCiAgIDMwMS4gICAgICAgICB2U2Nyb2xsLnNldFZhbHVlKCB5KTsN
CiAgICAgICAgICAgICAgICBeLS0tLS0tLS0tLS0tLS0tLS0tXg0KKioqIFNl
bWFudGljIEVycm9yOiBObyBtZXRob2QgbmFtZWQgInNldFZhbHVlIiB3YXMg
Zm91bmQgaW4gdHlwZSAiamF2YS5hd3QuU2Nyb2xsUGFuZSRTUEFkanVzdGFi
bGUiLg0KDQpGb3VuZCAyIHNlbWFudGljIGVycm9ycyBjb21waWxpbmcgImph
dmEvYXd0L3dpZGdldHMvQ2hvaWNlLmphdmEiOg0KDQogICAgNDIuICAgICAg
ICAgTGlzdCBsaXN0ID0gbmV3IExpc3QoKTsNCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXi0tXg0KKioqIFNlbWFudGljIEVycm9yOiBBIGNh
bmRpZGF0ZSBmb3IgdHlwZSAiTGlzdCIgd2FzIGZvdW5kLCBidXQgaXQgaXMg
aW52YWxpZCBhbmQgbmVlZHMgdG8gYmUgZml4ZWQgYmVmb3JlIHRoaXMgdHlw
ZSB3aWxsIHN1Y2Nlc3NmdWxseSBjb21waWxlLg0KDQoNCiAgICA0OS4gICAg
ICAgICB0aGlzLmFkZCggbGlzdCk7DQogICAgICAgICAgICAgICAgXi0tLS0t
LS0tLS0tLS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IEFtYmlndW91cyBpbnZv
Y2F0aW9uIG9mIG1ldGhvZCAiYWRkIi4gQXQgbGVhc3QgdHdvIG1ldGhvZHMg
YXJlIGFjY2Vzc2libGUgZnJvbSBoZXJlOiAiamF2YS5hd3QuQ29tcG9uZW50
IGFkZChqYXZhLmF3dC5Db21wb25lbnQgY2hpbGQpOyIgZGVjbGFyZWQgaW4g
dHlwZSAiamF2YS5hd3QuQ29udGFpbmVyIiBhbmQgInZvaWQgYWRkKGphdmEu
YXd0LlBvcHVwTWVudSBtZW51KTsiIGRlY2xhcmVkIGluIHR5cGUgImphdmEu
YXd0LkNvbXBvbmVudCIuDQoNCkZvdW5kIDIxNCBzZW1hbnRpYyBlcnJvcnMg
Y29tcGlsaW5nICJqYXZhL2F3dC93aWRnZXRzL1RleHRBcmVhLmphdmEiOg0K
DQogICAgMzYuICAgZXh0ZW5kcyBSb3dDYW52YXMNCiAgICAgICAgICAgICAg
ICAgIF4tLS0tLS0tXg0KKioqIFNlbWFudGljIEVycm9yOiBUeXBlIGphdmEu
YXd0LlJvd0NhbnZhcyB3YXMgbm90IGZvdW5kLg0KDQoNCiAgICA0NC4gICAg
ICAgICB4T2Zmc0luaXQgPSA0Ow0KICAgICAgICAgICAgICAgIF4tLS0tLS0t
Xg0KKioqIFNlbWFudGljIEVycm9yOiBObyBmaWVsZCBuYW1lZCAieE9mZnNJ
bml0IiB3YXMgZm91bmQgaW4gdHlwZSAiamF2YS5hd3QuVGV4dEFyZWEkVGV4
dFBhbmUiLg0KDQoNCiAgICA0NS4gICAgICAgICB4T2ZmcyA9IDQ7DQogICAg
ICAgICAgICAgICAgXi0tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjogTm8gZmll
bGQgbmFtZWQgInhPZmZzIiB3YXMgZm91bmQgaW4gdHlwZSAiamF2YS5hd3Qu
VGV4dEFyZWEkVGV4dFBhbmUiLg0KDQoNCiAgICA0Ny4gICAgICAgICB0aGlz
LnNldEN1cnNvciggQ3Vyc29yLmdldFByZWRlZmluZWRDdXJzb3IoIEN1cnNv
ci5URVhUX0NVUlNPUikpOw0KICAgICAgICAgICAgICAgIF4tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjogTm8gbWV0aG9kIG5hbWVk
ICJzZXRDdXJzb3IiIHdhcyBmb3VuZCBpbiB0eXBlICJqYXZhLmF3dC5UZXh0
QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAgIDQ4LiAgICAgICAgIHRDdXJzb3Iu
c2V0UG9zKCB4T2Zmcywgcm93SGVpZ2h0ICsgQk9SREVSX1dJRFRIKTsNCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXi0tLV4NCioqKiBTZW1h
bnRpYyBFcnJvcjogTm8gZmllbGQgbmFtZWQgInhPZmZzIiB3YXMgZm91bmQg
aW4gdHlwZSAiamF2YS5hd3QuVGV4dEFyZWEkVGV4dFBhbmUiLg0KDQoNCiAg
ICA0OC4gICAgICAgICB0Q3Vyc29yLnNldFBvcyggeE9mZnMsIHJvd0hlaWdo
dCArIEJPUkRFUl9XSURUSCk7DQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBeLS0tLS0tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjog
Tm8gZmllbGQgbmFtZWQgInJvd0hlaWdodCIgd2FzIGZvdW5kIGluIHR5cGUg
ImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5lIi4NCg0KDQogICAgNTEuICAg
ICAgICAgdGhpcy5hZGRLZXlMaXN0ZW5lciggdGhpcyk7DQogICAgICAgICAg
ICAgICAgXi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLV4NCioqKiBTZW1hbnRp
YyBFcnJvcjogTm8gbWV0aG9kIG5hbWVkICJhZGRLZXlMaXN0ZW5lciIgd2Fz
IGZvdW5kIGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5lIi4N
Cg0KDQogICAgNTIuICAgICAgICAgdGhpcy5hZGRNb3VzZUxpc3RlbmVyKCB0
aGlzKTsNCiAgICAgICAgICAgICAgICBeLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIG1ldGhvZCBuYW1lZCAi
YWRkTW91c2VMaXN0ZW5lciIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0
LlRleHRBcmVhJFRleHRQYW5lIi4NCg0KDQogICAgNTMuICAgICAgICAgdGhp
cy5hZGRNb3VzZU1vdGlvbkxpc3RlbmVyKCB0aGlzKTsNCiAgICAgICAgICAg
ICAgICBeLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1eDQoqKiog
U2VtYW50aWMgRXJyb3I6IE5vIG1ldGhvZCBuYW1lZCAiYWRkTW91c2VNb3Rp
b25MaXN0ZW5lciIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0LlRleHRB
cmVhJFRleHRQYW5lIi4NCg0KDQogICAgNTQuICAgICAgICAgdGhpcy5hZGRG
b2N1c0xpc3RlbmVyKCB0aGlzKTsNCiAgICAgICAgICAgICAgICBeLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5v
IG1ldGhvZCBuYW1lZCAiYWRkRm9jdXNMaXN0ZW5lciIgd2FzIGZvdW5kIGlu
IHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5lIi4NCg0KDQogICAg
NjUuICAgICAgICAgbk9sZCA9IHJvd3Muc2l6ZSgpIC0gMTsNCiAgICAgICAg
ICAgICAgICAgICAgICAgXi0tXg0KKioqIFNlbWFudGljIEVycm9yOiBObyBm
aWVsZCBuYW1lZCAicm93cyIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0
LlRleHRBcmVhJFRleHRQYW5lIi4NCg0KDQogICAgNjYuICAgICAgICAgdGIg
PSAoVGV4dEJ1ZmZlcilyb3dzLmVsZW1lbnRBdCggbk9sZCk7DQogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBeLS1eDQoqKiogU2VtYW50aWMg
RXJyb3I6IE5vIGZpZWxkIG5hbWVkICJyb3dzIiB3YXMgZm91bmQgaW4gdHlw
ZSAiamF2YS5hd3QuVGV4dEFyZWEkVGV4dFBhbmUiLg0KDQoNCiAgICA3MS4g
ICAgICAgICAgICAgICAgIHRiLnNldE1ldHJpY3MoIGZtLCB0YWJXaWR0aCk7
DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeXg0K
KioqIFNlbWFudGljIEVycm9yOiBObyBmaWVsZCBuYW1lZCAiZm0iIHdhcyBm
b3VuZCBpbiB0eXBlICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoN
Cg0KICAgIDcyLiAgICAgICAgICAgICAgICAgcm93cy5hZGRFbGVtZW50KCB0
Yik7DQogICAgICAgICAgICAgICAgICAgICAgICBeLS1eDQoqKiogU2VtYW50
aWMgRXJyb3I6IE5vIGZpZWxkIG5hbWVkICJyb3dzIiB3YXMgZm91bmQgaW4g
dHlwZSAiamF2YS5hd3QuVGV4dEFyZWEkVGV4dFBhbmUiLg0KDQoNCiAgICA3
NS4gICAgICAgICBuTmV3ID0gcm93cy5zaXplKCkgLSAxOw0KICAgICAgICAg
ICAgICAgICAgICAgICBeLS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIGZp
ZWxkIG5hbWVkICJyb3dzIiB3YXMgZm91bmQgaW4gdHlwZSAiamF2YS5hd3Qu
VGV4dEFyZWEkVGV4dFBhbmUiLg0KDQoNCiAgICA3Ni4gICAgICAgICBtYWtl
VmlzaWJsZSggbk5ldyk7DQogICAgICAgICAgICAgICAgXi0tLS0tLS0tLS0t
LS0tLS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIG1ldGhvZCBuYW1lZCAi
bWFrZVZpc2libGUiIHdhcyBmb3VuZCBpbiB0eXBlICJqYXZhLmF3dC5UZXh0
QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAgIDc3LiAgICAgICAgIHVwZGF0ZVNj
cm9sbHMoKTsNCiAgICAgICAgICAgICAgICBeLS0tLS0tLS0tLS0tLV4NCioq
KiBTZW1hbnRpYyBFcnJvcjogTm8gbWV0aG9kIG5hbWVkICJ1cGRhdGVTY3Jv
bGxzIiB3YXMgZm91bmQgaW4gdHlwZSAiamF2YS5hd3QuVGV4dEFyZWEkVGV4
dFBhbmUiLg0KDQoNCiAgICA3OS4gICAgICAgICByZXBhaW50Um93cyggbk9s
ZCwgbk5ldyAtIG5PbGQpOw0KICAgICAgICAgICAgICAgIF4tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjogTm8g
bWV0aG9kIG5hbWVkICJyZXBhaW50Um93cyIgd2FzIGZvdW5kIGluIHR5cGUg
ImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5lIi4NCg0KDQogICAgOTQuICAg
ICAgICAgICAgICAgICByb3dzLnJlbW92ZUVsZW1lbnQoIHRiKTsNCiAgICAg
ICAgICAgICAgICAgICAgICAgIF4tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjog
Tm8gZmllbGQgbmFtZWQgInJvd3MiIHdhcyBmb3VuZCBpbiB0eXBlICJqYXZh
LmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAgIDk1LiAgICAgICAg
ICAgICAgICAgdGhpcy5yZXBhaW50KCk7DQogICAgICAgICAgICAgICAgICAg
ICAgICBeLS0tLS0tLS0tLS0tXg0KKioqIFNlbWFudGljIEVycm9yOiBObyBt
ZXRob2QgbmFtZWQgInJlcGFpbnQiIHdhcyBmb3VuZCBpbiB0eXBlICJqYXZh
LmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuIEhvd2V2ZXIsIHRoZXJlIGlzIGFu
IGFjY2Vzc2libGUgbWV0aG9kICJyZXBhaW50Q3Vyc29yIiB3aG9zZSBuYW1l
IGNsb3NlbHkgbWF0Y2hlcyB0aGUgbmFtZSAicmVwYWludCIuDQoNCg0KICAg
IDk2LiAgICAgICAgICAgICAgICAgdXBkYXRlU2Nyb2xscygpOw0KICAgICAg
ICAgICAgICAgICAgICAgICAgXi0tLS0tLS0tLS0tLS1eDQoqKiogU2VtYW50
aWMgRXJyb3I6IE5vIG1ldGhvZCBuYW1lZCAidXBkYXRlU2Nyb2xscyIgd2Fz
IGZvdW5kIGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5lIi4N
Cg0KDQogICAxMDMuICAgICAgICAgaWYgKCByZ3IgIT0gbnVsbCApIHsNCiAg
ICAgICAgICAgICAgICAgICAgIF4tXg0KKioqIFNlbWFudGljIEVycm9yOiBO
byBmaWVsZCBuYW1lZCAicmdyIiB3YXMgZm91bmQgaW4gdHlwZSAiamF2YS5h
d3QuVGV4dEFyZWEkVGV4dFBhbmUiLg0KDQoNCiAgIDEwNC4gICAgICAgICAg
ICAgICAgIHJnci5zZXRDb2xvciggdGhpcy5iZ0NsciApOw0KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4tLS1eDQoqKiog
U2VtYW50aWMgRXJyb3I6IE5vIGZpZWxkIG5hbWVkICJiZ0NsciIgd2FzIGZv
dW5kIGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5lIi4NCg0K
DQogICAxMDUuICAgICAgICAgICAgICAgICB0Q3Vyc29yLmJsYW5rKCByZ3Is
IHhPZmZzLCBnZXRSb3dZUG9zKCB0Q3Vyc29yLnlpbmRleCkgKTsNCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4tXg0KKioqIFNl
bWFudGljIEVycm9yOiBObyBmaWVsZCBuYW1lZCAicmdyIiB3YXMgZm91bmQg
aW4gdHlwZSAiamF2YS5hd3QuVGV4dEFyZWEkVGV4dFBhbmUiLg0KDQoNCiAg
IDEwNS4gICAgICAgICAgICAgICAgIHRDdXJzb3IuYmxhbmsoIHJnciwgeE9m
ZnMsIGdldFJvd1lQb3MoIHRDdXJzb3IueWluZGV4KSApOw0KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeLS0tXg0KKioq
IFNlbWFudGljIEVycm9yOiBObyBmaWVsZCBuYW1lZCAieE9mZnMiIHdhcyBm
b3VuZCBpbiB0eXBlICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoN
Cg0KICAgMTA1LiAgICAgICAgICAgICAgICAgdEN1cnNvci5ibGFuayggcmdy
LCB4T2ZmcywgZ2V0Um93WVBvcyggdEN1cnNvci55aW5kZXgpICk7DQogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBeLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLV4NCioqKiBTZW1hbnRpYyBF
cnJvcjogTm8gbWV0aG9kIG5hbWVkICJnZXRSb3dZUG9zIiB3YXMgZm91bmQg
aW4gdHlwZSAiamF2YS5hd3QuVGV4dEFyZWEkVGV4dFBhbmUiLg0KDQoNCiAg
IDEwNi4gICAgICAgICAgICAgICAgIHJnci5zZXRDb2xvciggdGhpcy5mZ0Ns
ciApOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIF4tLS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIGZpZWxkIG5hbWVk
ICJmZ0NsciIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVh
JFRleHRQYW5lIi4NCg0KDQogICAxMDcuICAgICAgICAgICAgICAgICB0YiA9
IChUZXh0QnVmZmVyKXJvd3MuZWxlbWVudEF0KCB0Q3Vyc29yLnlpbmRleCAp
Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe
LS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIGZpZWxkIG5hbWVkICJyb3dz
IiB3YXMgZm91bmQgaW4gdHlwZSAiamF2YS5hd3QuVGV4dEFyZWEkVGV4dFBh
bmUiLg0KDQoNCiAgIDEwOC4gICAgICAgICAgICAgICAgIHRiLnBhaW50KCBy
Z3IsIHhPZmZzLCB0Q3Vyc29yLnksIHJvd0hlaWdodCwgdEN1cnNvci5pbmRl
eCwgMSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXi1e
DQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIGZpZWxkIG5hbWVkICJyZ3IiIHdh
cyBmb3VuZCBpbiB0eXBlICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIu
DQoNCg0KICAgMTA4LiAgICAgICAgICAgICAgICAgdGIucGFpbnQoIHJnciwg
eE9mZnMsIHRDdXJzb3IueSwgcm93SGVpZ2h0LCB0Q3Vyc29yLmluZGV4LCAx
KTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4t
LS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIGZpZWxkIG5hbWVkICJ4T2Zm
cyIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQ
YW5lIi4NCg0KDQogICAxMDguICAgICAgICAgICAgICAgICB0Yi5wYWludCgg
cmdyLCB4T2ZmcywgdEN1cnNvci55LCByb3dIZWlnaHQsIHRDdXJzb3IuaW5k
ZXgsIDEpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXi0tLS0tLS1eDQoqKiogU2VtYW50aWMg
RXJyb3I6IE5vIGZpZWxkIG5hbWVkICJyb3dIZWlnaHQiIHdhcyBmb3VuZCBp
biB0eXBlICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAg
MTUzLiAgICAgICAgIGludCBuZXdZID0gTWF0aC5taW4oIHRDdXJzb3IueWlu
ZGV4ICsgc3RlcHMsIHJvd3Muc2l6ZSgpIC0xKTsNCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBeLS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIGZpZWxkIG5hbWVkICJy
b3dzIiB3YXMgZm91bmQgaW4gdHlwZSAiamF2YS5hd3QuVGV4dEFyZWEkVGV4
dFBhbmUiLg0KDQoNCiAgIDE4NS4gICAgICAgICAgICAgICAgIG54ID0gKChU
ZXh0QnVmZmVyKXJvd3MuZWxlbWVudEF0KCB0Q3Vyc29yLnlpbmRleC0xKSku
bGVuOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXi0tXg0KKioqIFNlbWFudGljIEVycm9yOiBObyBmaWVsZCBuYW1lZCAi
cm93cyIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRl
eHRQYW5lIi4NCg0KDQogICAyMDIuICAgICAgICAgVGV4dEJ1ZmZlciB0YiA9
IChUZXh0QnVmZmVyKXJvd3MuZWxlbWVudEF0KCB0Q3Vyc29yLnlpbmRleCk7
DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IF4tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjogTm8gZmllbGQgbmFtZWQgInJv
d3MiIHdhcyBmb3VuZCBpbiB0eXBlICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0
UGFuZSIuDQoNCg0KICAgMjA4LiAgICAgICAgIGVsc2UgaWYgKCB0Q3Vyc29y
LnlpbmRleCA8IHJvd3Muc2l6ZSgpIC0gMSApIHsNCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeLS1eDQoqKiogU2VtYW50
aWMgRXJyb3I6IE5vIGZpZWxkIG5hbWVkICJyb3dzIiB3YXMgZm91bmQgaW4g
dHlwZSAiamF2YS5hd3QuVGV4dEFyZWEkVGV4dFBhbmUiLg0KDQoNCiAgIDIy
Mi4gICAgICAgICBpbnQgeUlkeCA9IHJvd3Muc2l6ZSgpIC0gMTsNCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgIF4tLV4NCioqKiBTZW1hbnRpYyBFcnJv
cjogTm8gZmllbGQgbmFtZWQgInJvd3MiIHdhcyBmb3VuZCBpbiB0eXBlICJq
YXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAgMjIzLiAgICAg
ICAgIFRleHRCdWZmZXIgdGIgPSAoVGV4dEJ1ZmZlcilyb3dzLmVsZW1lbnRB
dCggeUlkeCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIF4tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjogTm8gZmllbGQg
bmFtZWQgInJvd3MiIHdhcyBmb3VuZCBpbiB0eXBlICJqYXZhLmF3dC5UZXh0
QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAgMjUzLiAgICAgICAgIGVsc2UgaWYg
KCB0Q3Vyc29yLnlpbmRleCA8IHJvd3Muc2l6ZSgpIC0gMSApew0KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4tLV4NCioq
KiBTZW1hbnRpYyBFcnJvcjogTm8gZmllbGQgbmFtZWQgInJvd3MiIHdhcyBm
b3VuZCBpbiB0eXBlICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoN
Cg0KICAgMjU0LiAgICAgICAgICAgICAgICAgVGV4dEJ1ZmZlciB0YjEgPSAo
VGV4dEJ1ZmZlcilyb3dzLmVsZW1lbnRBdCggdEN1cnNvci55aW5kZXgrMSk7
DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIF4tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjogTm8gZmllbGQg
bmFtZWQgInJvd3MiIHdhcyBmb3VuZCBpbiB0eXBlICJqYXZhLmF3dC5UZXh0
QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAgMjU2LiAgICAgICAgICAgICAgICAg
cm93cy5yZW1vdmVFbGVtZW50KCB0YjEpOw0KICAgICAgICAgICAgICAgICAg
ICAgICAgXi0tXg0KKioqIFNlbWFudGljIEVycm9yOiBObyBmaWVsZCBuYW1l
ZCAicm93cyIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVh
JFRleHRQYW5lIi4NCg0KDQogICAyNTcuICAgICAgICAgICAgICAgICB1cGRh
dGVTY3JvbGxzKCk7DQogICAgICAgICAgICAgICAgICAgICAgICBeLS0tLS0t
LS0tLS0tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjogTm8gbWV0aG9kIG5hbWVk
ICJ1cGRhdGVTY3JvbGxzIiB3YXMgZm91bmQgaW4gdHlwZSAiamF2YS5hd3Qu
VGV4dEFyZWEkVGV4dFBhbmUiLg0KDQoNCiAgIDI1OC4gICAgICAgICAgICAg
ICAgIHRoaXMucmVwYWludCgpOw0KICAgICAgICAgICAgICAgICAgICAgICAg
Xi0tLS0tLS0tLS0tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjogTm8gbWV0aG9k
IG5hbWVkICJyZXBhaW50IiB3YXMgZm91bmQgaW4gdHlwZSAiamF2YS5hd3Qu
VGV4dEFyZWEkVGV4dFBhbmUiLiBIb3dldmVyLCB0aGVyZSBpcyBhbiBhY2Nl
c3NpYmxlIG1ldGhvZCAicmVwYWludEN1cnNvciIgd2hvc2UgbmFtZSBjbG9z
ZWx5IG1hdGNoZXMgdGhlIG5hbWUgInJlcGFpbnQiLg0KDQoNCiAgIDI2NS4g
ICAgICAgICBUZXh0QnVmZmVyIHRiID0gKFRleHRCdWZmZXIpcm93cy5lbGVt
ZW50QXQoIHBzLnkpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBeLS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIGZp
ZWxkIG5hbWVkICJyb3dzIiB3YXMgZm91bmQgaW4gdHlwZSAiamF2YS5hd3Qu
VGV4dEFyZWEkVGV4dFBhbmUiLg0KDQoNCiAgIDI3NC4gICAgICAgICAgICAg
ICAgIGlmICggdXBkYXRlSFNjcm9sbCgpICkNCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXi0tLS0tLS0tLS0tLS1eDQoqKiogU2VtYW50aWMgRXJy
b3I6IE5vIG1ldGhvZCBuYW1lZCAidXBkYXRlSFNjcm9sbCIgd2FzIGZvdW5k
IGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5lIi4NCg0KDQog
ICAyNzUuICAgICAgICAgICAgICAgICAgICAgICAgIHJlYXJyYW5nZSgpOw0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeLS0tLS0tLS0tXg0K
KioqIFNlbWFudGljIEVycm9yOiBObyBtZXRob2QgbmFtZWQgInJlYXJyYW5n
ZSIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQ
YW5lIi4NCg0KDQogICAyODMuICAgICAgICAgdGIgPSAoVGV4dEJ1ZmZlcily
b3dzLmVsZW1lbnRBdCggcGUueSk7DQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBeLS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIGZpZWxk
IG5hbWVkICJyb3dzIiB3YXMgZm91bmQgaW4gdHlwZSAiamF2YS5hd3QuVGV4
dEFyZWEkVGV4dFBhbmUiLg0KDQoNCiAgIDI4Ny4gICAgICAgICAgICAgICAg
IHJvd3MucmVtb3ZlRWxlbWVudEF0KCBwcy55ICsgYWYpOw0KICAgICAgICAg
ICAgICAgICAgICAgICAgXi0tXg0KKioqIFNlbWFudGljIEVycm9yOiBObyBm
aWVsZCBuYW1lZCAicm93cyIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0
LlRleHRBcmVhJFRleHRQYW5lIi4NCg0KDQogICAyOTAuICAgICAgICAgdXBk
YXRlU2Nyb2xscygpOw0KICAgICAgICAgICAgICAgIF4tLS0tLS0tLS0tLS0t
Xg0KKioqIFNlbWFudGljIEVycm9yOiBObyBtZXRob2QgbmFtZWQgInVwZGF0
ZVNjcm9sbHMiIHdhcyBmb3VuZCBpbiB0eXBlICJqYXZhLmF3dC5UZXh0QXJl
YSRUZXh0UGFuZSIuDQoNCg0KICAgMjkxLiAgICAgICAgIHRoaXMucmVwYWlu
dCgpOw0KICAgICAgICAgICAgICAgIF4tLS0tLS0tLS0tLS1eDQoqKiogU2Vt
YW50aWMgRXJyb3I6IE5vIG1ldGhvZCBuYW1lZCAicmVwYWludCIgd2FzIGZv
dW5kIGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5lIi4gSG93
ZXZlciwgdGhlcmUgaXMgYW4gYWNjZXNzaWJsZSBtZXRob2QgInJlcGFpbnRD
dXJzb3IiIHdob3NlIG5hbWUgY2xvc2VseSBtYXRjaGVzIHRoZSBuYW1lICJy
ZXBhaW50Ii4NCg0KDQogICAyOTcuICAgICAgICAgc3VwZXIuZm9jdXNHYWlu
ZWQoIGUpOw0KICAgICAgICAgICAgICAgIF4tLS0tLS0tLS0tLS0tLS0tLS0t
Xg0KKioqIFNlbWFudGljIEVycm9yOiBObyBtZXRob2QgbmFtZWQgImZvY3Vz
R2FpbmVkIiB3YXMgZm91bmQgaW4gdHlwZSAiamF2YS5sYW5nLk9iamVjdCIu
DQoNCg0KICAgMzA3LiAgICAgICAgIHN1cGVyLmZvY3VzTG9zdCggZSk7DQog
ICAgICAgICAgICAgICAgXi0tLS0tLS0tLS0tLS0tLS0tXg0KKioqIFNlbWFu
dGljIEVycm9yOiBObyBtZXRob2QgbmFtZWQgImZvY3VzTG9zdCIgd2FzIGZv
dW5kIGluIHR5cGUgImphdmEubGFuZy5PYmplY3QiLg0KDQoNCiAgIDMxNC4g
ICAgICAgICAgICAgICAgIFRleHRCdWZmZXIgdGIgPSAoVGV4dEJ1ZmZlcily
b3dzLmVsZW1lbnRBdCggaSk7DQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXi0tXg0KKioqIFNlbWFudGlj
IEVycm9yOiBObyBmaWVsZCBuYW1lZCAicm93cyIgd2FzIGZvdW5kIGluIHR5
cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5lIi4NCg0KDQogICAzMjQu
ICAgICAgICAgaW50IHJzID0gcm93cy5zaXplKCk7DQogICAgICAgICAgICAg
ICAgICAgICAgICAgXi0tXg0KKioqIFNlbWFudGljIEVycm9yOiBObyBmaWVs
ZCBuYW1lZCAicm93cyIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0LlRl
eHRBcmVhJFRleHRQYW5lIi4NCg0KDQogICAzMzIuICAgICAgICAgICAgICAg
ICB0YiA9IChUZXh0QnVmZmVyKXJvd3MuZWxlbWVudEF0KCBpKTsNCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXi0tXg0KKioq
IFNlbWFudGljIEVycm9yOiBObyBmaWVsZCBuYW1lZCAicm93cyIgd2FzIGZv
dW5kIGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5lIi4NCg0K
DQogICAzNDMuICAgICAgICAgVGV4dEJ1ZmZlciB0YiA9IChUZXh0QnVmZmVy
KSByb3dzLmVsZW1lbnRBdCggcm93KTsNCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIF4tLV4NCioqKiBTZW1hbnRpYyBF
cnJvcjogTm8gZmllbGQgbmFtZWQgInJvd3MiIHdhcyBmb3VuZCBpbiB0eXBl
ICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAgMzQ0LiAg
ICAgICAgIHJldHVybiB0Yi5nZXRJZHgoIHggLSB4T2Zmcyk7DQogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4tLS1eDQoqKiogU2Vt
YW50aWMgRXJyb3I6IE5vIGZpZWxkIG5hbWVkICJ4T2ZmcyIgd2FzIGZvdW5k
IGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5lIi4NCg0KDQog
ICAzNDguICAgICAgICAgcmV0dXJuIChUZXh0QnVmZmVyKXJvd3MuZWxlbWVu
dEF0KCB0Q3Vyc29yLnlpbmRleCk7DQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIF4tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjogTm8gZmll
bGQgbmFtZWQgInJvd3MiIHdhcyBmb3VuZCBpbiB0eXBlICJqYXZhLmF3dC5U
ZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAgMzg5LiAgICAgICAgIFRleHRC
dWZmZXIgdGIgPSAoVGV4dEJ1ZmZlcilyb3dzLmVsZW1lbnRBdCggdEN1cnNv
ci55aW5kZXgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBeLS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIGZpZWxk
IG5hbWVkICJyb3dzIiB3YXMgZm91bmQgaW4gdHlwZSAiamF2YS5hd3QuVGV4
dEFyZWEkVGV4dFBhbmUiLg0KDQoNCiAgIDQxMy4gICAgICAgICB1cGRhdGVT
Y3JvbGxzKCk7DQogICAgICAgICAgICAgICAgXi0tLS0tLS0tLS0tLS1eDQoq
KiogU2VtYW50aWMgRXJyb3I6IE5vIG1ldGhvZCBuYW1lZCAidXBkYXRlU2Ny
b2xscyIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRl
eHRQYW5lIi4NCg0KDQogICA0MTQuICAgICAgICAgdGhpcy5yZXBhaW50KCk7
DQogICAgICAgICAgICAgICAgXi0tLS0tLS0tLS0tLV4NCioqKiBTZW1hbnRp
YyBFcnJvcjogTm8gbWV0aG9kIG5hbWVkICJyZXBhaW50IiB3YXMgZm91bmQg
aW4gdHlwZSAiamF2YS5hd3QuVGV4dEFyZWEkVGV4dFBhbmUiLiBIb3dldmVy
LCB0aGVyZSBpcyBhbiBhY2Nlc3NpYmxlIG1ldGhvZCAicmVwYWludEN1cnNv
ciIgd2hvc2UgbmFtZSBjbG9zZWx5IG1hdGNoZXMgdGhlIG5hbWUgInJlcGFp
bnQiLg0KDQoNCiAgIDQyNC4gICAgICAgICBUZXh0QnVmZmVyIHRiID0gKFRl
eHRCdWZmZXIpcm93cy5lbGVtZW50QXQoIHRDdXJzb3IueWluZGV4KTsNCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXi0t
Xg0KKioqIFNlbWFudGljIEVycm9yOiBObyBmaWVsZCBuYW1lZCAicm93cyIg
d2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5l
Ii4NCg0KDQogICA0MzkuICAgICAgICAgdGIuc2V0TWV0cmljcyggZm0sIHRh
YldpZHRoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeXg0K
KioqIFNlbWFudGljIEVycm9yOiBObyBmaWVsZCBuYW1lZCAiZm0iIHdhcyBm
b3VuZCBpbiB0eXBlICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoN
Cg0KICAgNDQwLiAgICAgICAgIHJvd3MuaW5zZXJ0RWxlbWVudEF0KCB0Yiwg
bElkeCk7DQogICAgICAgICAgICAgICAgXi0tXg0KKioqIFNlbWFudGljIEVy
cm9yOiBObyBmaWVsZCBuYW1lZCAicm93cyIgd2FzIGZvdW5kIGluIHR5cGUg
ImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5lIi4NCg0KDQogICA0NTYuICAg
ICAgICAgaWYgKCB0aGlzLnBhcmVudC5rZXlMaXN0ZW5lciAhPSBudWxsICl7
DQogICAgICAgICAgICAgICAgICAgICAgICAgIF4tLS0tXg0KKioqIFNlbWFu
dGljIEVycm9yOiBObyBmaWVsZCBuYW1lZCAicGFyZW50IiB3YXMgZm91bmQg
aW4gdHlwZSAiamF2YS5hd3QuVGV4dEFyZWEkVGV4dFBhbmUiLg0KDQoNCiAg
IDQ1OS4gICAgICAgICAgICAgICAgIHJlZGlyZWN0S2V5RXZlbnQoIGUpOw0K
ICAgICAgICAgICAgICAgICAgICAgICAgXi0tLS0tLS0tLS0tLS0tLS0tLV4N
CioqKiBTZW1hbnRpYyBFcnJvcjogTm8gbWV0aG9kIG5hbWVkICJyZWRpcmVj
dEtleUV2ZW50IiB3YXMgZm91bmQgaW4gdHlwZSAiamF2YS5hd3QuVGV4dEFy
ZWEkVGV4dFBhbmUiLg0KDQoNCiAgIDUzNS4gICAgICAgICByZWRpcmVjdEtl
eUV2ZW50KCBlKTsNCiAgICAgICAgICAgICAgICBeLS0tLS0tLS0tLS0tLS0t
LS0tXg0KKioqIFNlbWFudGljIEVycm9yOiBObyBtZXRob2QgbmFtZWQgInJl
ZGlyZWN0S2V5RXZlbnQiIHdhcyBmb3VuZCBpbiB0eXBlICJqYXZhLmF3dC5U
ZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAgNTUzLiAgIGlmICggdGhpcy5w
YXJlbnQua2V5TGlzdGVuZXIgIT0gbnVsbCApIHsNCiAgICAgICAgICAgICAg
ICAgICAgXi0tLS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIGZpZWxkIG5h
bWVkICJwYXJlbnQiIHdhcyBmb3VuZCBpbiB0eXBlICJqYXZhLmF3dC5UZXh0
QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAgNTU1LiAgICAgICAgICAgICAgICAg
cmVkaXJlY3RLZXlFdmVudCggZSk7DQogICAgICAgICAgICAgICAgICAgICAg
ICBeLS0tLS0tLS0tLS0tLS0tLS0tXg0KKioqIFNlbWFudGljIEVycm9yOiBO
byBtZXRob2QgbmFtZWQgInJlZGlyZWN0S2V5RXZlbnQiIHdhcyBmb3VuZCBp
biB0eXBlICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAg
NTU4LiAgICAgICAgIGlmICggKHRleHRMaXN0ZW5lciAhPSBudWxsKSB8fCAo
dGhpcy5ldmVudE1hc2sgJiBBV1RFdmVudC5URVhUX0VWRU5UX01BU0spICE9
IDAgKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIF4tLS0tLS0tXg0KKioqIFNlbWFudGljIEVycm9y
OiBObyBmaWVsZCBuYW1lZCAiZXZlbnRNYXNrIiB3YXMgZm91bmQgaW4gdHlw
ZSAiamF2YS5hd3QuVGV4dEFyZWEkVGV4dFBhbmUiLg0KDQoNCiAgIDU2Ny4g
ICAgICAgICBpbnQgcnMgPSByb3dzLnNpemUoKTsNCiAgICAgICAgICAgICAg
ICAgICAgICAgICBeLS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIGZpZWxk
IG5hbWVkICJyb3dzIiB3YXMgZm91bmQgaW4gdHlwZSAiamF2YS5hd3QuVGV4
dEFyZWEkVGV4dFBhbmUiLg0KDQoNCiAgIDU3MS4gICAgICAgICAgICAgICAg
IGl3ID0gKChUZXh0QnVmZmVyKXJvd3MuZWxlbWVudEF0KCBpKSkuZ2V0V2lk
dGgoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIF4tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjogTm8gZmllbGQgbmFtZWQg
InJvd3MiIHdhcyBmb3VuZCBpbiB0eXBlICJqYXZhLmF3dC5UZXh0QXJlYSRU
ZXh0UGFuZSIuDQoNCg0KICAgNTgwLiAgICAgICAgIGlmICggdGhpcy5wYXJl
bnQubW91c2VMaXN0ZW5lciAhPSBudWxsICl7DQogICAgICAgICAgICAgICAg
ICAgICAgICAgIF4tLS0tXg0KKioqIFNlbWFudGljIEVycm9yOiBObyBmaWVs
ZCBuYW1lZCAicGFyZW50IiB3YXMgZm91bmQgaW4gdHlwZSAiamF2YS5hd3Qu
VGV4dEFyZWEkVGV4dFBhbmUiLg0KDQoNCiAgIDU4Mi4gICAgICAgICAgICAg
ICAgIHRoaXMucGFyZW50LnByb2Nlc3MoIGUpOw0KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBeLS0tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjogTm8g
ZmllbGQgbmFtZWQgInBhcmVudCIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEu
YXd0LlRleHRBcmVhJFRleHRQYW5lIi4NCg0KDQogICA1ODcuICAgICAgICAg
aW50IHkgPSBnZXRSb3dJZHgoIGUuZ2V0WSgpICk7DQogICAgICAgICAgICAg
ICAgICAgICAgICBeLS0tLS0tLS0tLS0tLS0tLS0tLV4NCioqKiBTZW1hbnRp
YyBFcnJvcjogTm8gbWV0aG9kIG5hbWVkICJnZXRSb3dJZHgiIHdhcyBmb3Vu
ZCBpbiB0eXBlICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0K
ICAgNTkxLiAgICAgICAgIGlmICggdGhpcy5wYXJlbnQubW90aW9uTGlzdGVu
ZXIgIT0gbnVsbCApew0KICAgICAgICAgICAgICAgICAgICAgICAgICBeLS0t
LV4NCioqKiBTZW1hbnRpYyBFcnJvcjogTm8gZmllbGQgbmFtZWQgInBhcmVu
dCIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQ
YW5lIi4NCg0KDQogICA1OTMuICAgICAgICAgICAgICAgICByZWRpcmVjdE1v
dGlvbkV2ZW50KCBlKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIF4tLS0t
LS0tLS0tLS0tLS0tLS0tLS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIG1l
dGhvZCBuYW1lZCAicmVkaXJlY3RNb3Rpb25FdmVudCIgd2FzIGZvdW5kIGlu
IHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5lIi4NCg0KDQogICA1
OTguICAgICAgICAgcmVkaXJlY3RNb3VzZUV2ZW50KCBlKTsNCiAgICAgICAg
ICAgICAgICBeLS0tLS0tLS0tLS0tLS0tLS0tLS1eDQoqKiogU2VtYW50aWMg
RXJyb3I6IE5vIG1ldGhvZCBuYW1lZCAicmVkaXJlY3RNb3VzZUV2ZW50IiB3
YXMgZm91bmQgaW4gdHlwZSAiamF2YS5hd3QuVGV4dEFyZWEkVGV4dFBhbmUi
Lg0KDQoNCiAgIDYwMi4gICAgICAgICByZWRpcmVjdE1vdXNlRXZlbnQoIGUp
Ow0KICAgICAgICAgICAgICAgIF4tLS0tLS0tLS0tLS0tLS0tLS0tLV4NCioq
KiBTZW1hbnRpYyBFcnJvcjogTm8gbWV0aG9kIG5hbWVkICJyZWRpcmVjdE1v
dXNlRXZlbnQiIHdhcyBmb3VuZCBpbiB0eXBlICJqYXZhLmF3dC5UZXh0QXJl
YSRUZXh0UGFuZSIuDQoNCg0KICAgNjA2LiAgICAgICAgIGlmICggdGhpcy5w
YXJlbnQubW90aW9uTGlzdGVuZXIgIT0gbnVsbCApew0KICAgICAgICAgICAg
ICAgICAgICAgICAgICBeLS0tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjogTm8g
ZmllbGQgbmFtZWQgInBhcmVudCIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEu
YXd0LlRleHRBcmVhJFRleHRQYW5lIi4NCg0KDQogICA2MDguICAgICAgICAg
ICAgICAgICByZWRpcmVjdE1vdGlvbkV2ZW50KCBlKTsNCiAgICAgICAgICAg
ICAgICAgICAgICAgIF4tLS0tLS0tLS0tLS0tLS0tLS0tLS1eDQoqKiogU2Vt
YW50aWMgRXJyb3I6IE5vIG1ldGhvZCBuYW1lZCAicmVkaXJlY3RNb3Rpb25F
dmVudCIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRl
eHRQYW5lIi4NCg0KDQogICA2MTYuICAgICAgICAgICAgICAgICBpZiAoICh0
aGlzLnRyaWdnZXJQb3B1cCggZS5nZXRYKCksIGUuZ2V0WSgpKSkgIT0gbnVs
bCApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXg0KKioqIFNlbWFudGljIEVy
cm9yOiBObyBtZXRob2QgbmFtZWQgInRyaWdnZXJQb3B1cCIgd2FzIGZvdW5k
IGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5lIi4NCg0KDQog
ICA2MjIuICAgICAgICAgICAgICAgICAgICAgICAgIHRwLnJlcXVlc3RGb2N1
cygpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeLS0tLS0t
LS0tLS0tLS0tXg0KKioqIFNlbWFudGljIEVycm9yOiBObyBtZXRob2QgbmFt
ZWQgInJlcXVlc3RGb2N1cyIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0
LlRleHRBcmVhJFRleHRQYW5lIi4NCg0KDQogICA2MjQuICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB5ID0gZ2V0Um93SWR4KCBlLmdldFkoKSApOw0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4tLS0t
LS0tLS0tLS0tLS0tLS0tXg0KKioqIFNlbWFudGljIEVycm9yOiBObyBtZXRo
b2QgbmFtZWQgImdldFJvd0lkeCIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEu
YXd0LlRleHRBcmVhJFRleHRQYW5lIi4NCg0KDQogICA2MzMuICAgICAgICAg
cmVkaXJlY3RNb3VzZUV2ZW50KCBlKTsNCiAgICAgICAgICAgICAgICBeLS0t
LS0tLS0tLS0tLS0tLS0tLS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIG1l
dGhvZCBuYW1lZCAicmVkaXJlY3RNb3VzZUV2ZW50IiB3YXMgZm91bmQgaW4g
dHlwZSAiamF2YS5hd3QuVGV4dEFyZWEkVGV4dFBhbmUiLg0KDQoNCiAgIDYz
Ny4gICAgICAgICByZWRpcmVjdE1vdXNlRXZlbnQoIGUpOw0KICAgICAgICAg
ICAgICAgIF4tLS0tLS0tLS0tLS0tLS0tLS0tLV4NCioqKiBTZW1hbnRpYyBF
cnJvcjogTm8gbWV0aG9kIG5hbWVkICJyZWRpcmVjdE1vdXNlRXZlbnQiIHdh
cyBmb3VuZCBpbiB0eXBlICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIu
DQoNCg0KICAgNjUzLiAgICAgICAgIHVwZGF0ZVNjcm9sbHMoKTsNCiAgICAg
ICAgICAgICAgICBeLS0tLS0tLS0tLS0tLV4NCioqKiBTZW1hbnRpYyBFcnJv
cjogTm8gbWV0aG9kIG5hbWVkICJ1cGRhdGVTY3JvbGxzIiB3YXMgZm91bmQg
aW4gdHlwZSAiamF2YS5hd3QuVGV4dEFyZWEkVGV4dFBhbmUiLg0KDQoNCiAg
IDY1Ni4gICAgICAgICByZXBhaW50Um93cyggdEN1cnNvci55aW5kZXgtMSwg
Z2V0VmlzaWJsZVJvd3MoKSApOw0KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBeLS0tLS0tLS0tLS0tLS1eDQoqKiog
U2VtYW50aWMgRXJyb3I6IE5vIG1ldGhvZCBuYW1lZCAiZ2V0VmlzaWJsZVJv
d3MiIHdhcyBmb3VuZCBpbiB0eXBlICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0
UGFuZSIuDQoNCg0KICAgNjYwLiAgICAgICAgIGludCB2ciA9IGdldFZpc2li
bGVSb3dzKCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgXi0tLS0tLS0t
LS0tLS0tXg0KKioqIFNlbWFudGljIEVycm9yOiBObyBtZXRob2QgbmFtZWQg
ImdldFZpc2libGVSb3dzIiB3YXMgZm91bmQgaW4gdHlwZSAiamF2YS5hd3Qu
VGV4dEFyZWEkVGV4dFBhbmUiLg0KDQoNCiAgIDY2MS4gICAgICAgICBpbnQg
bmV3WSA9IE1hdGgubWluKCB0Q3Vyc29yLnlpbmRleCArIHZyLCByb3dzLnNp
emUoKSAtIDEpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIF4tLV4NCioqKiBTZW1hbnRpYyBF
cnJvcjogTm8gZmllbGQgbmFtZWQgInJvd3MiIHdhcyBmb3VuZCBpbiB0eXBl
ICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAgNjY5LiAg
ICAgICAgIGludCB2ciA9IGdldFZpc2libGVSb3dzKCk7DQogICAgICAgICAg
ICAgICAgICAgICAgICAgXi0tLS0tLS0tLS0tLS0tXg0KKioqIFNlbWFudGlj
IEVycm9yOiBObyBtZXRob2QgbmFtZWQgImdldFZpc2libGVSb3dzIiB3YXMg
Zm91bmQgaW4gdHlwZSAiamF2YS5hd3QuVGV4dEFyZWEkVGV4dFBhbmUiLg0K
DQoNCiAgIDY3OC4gICAgICAgICByZXBhaW50Um93cyggZywgZmlyc3QsIHJv
d3Muc2l6ZSgpLWZpcnN0ICk7DQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIF4tLS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIGZpZWxkIG5h
bWVkICJmaXJzdCIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0LlRleHRB
cmVhJFRleHRQYW5lIi4NCg0KDQogICA2NzguICAgICAgICAgcmVwYWludFJv
d3MoIGcsIGZpcnN0LCByb3dzLnNpemUoKS1maXJzdCApOw0KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXi0tXg0KKioqIFNlbWFu
dGljIEVycm9yOiBObyBmaWVsZCBuYW1lZCAicm93cyIgd2FzIGZvdW5kIGlu
IHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5lIi4NCg0KDQogICA2
NzguICAgICAgICAgcmVwYWludFJvd3MoIGcsIGZpcnN0LCByb3dzLnNpemUo
KS1maXJzdCApOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXi0tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjog
Tm8gZmllbGQgbmFtZWQgImZpcnN0IiB3YXMgZm91bmQgaW4gdHlwZSAiamF2
YS5hd3QuVGV4dEFyZWEkVGV4dFBhbmUiLg0KDQoNCiAgIDY3OS4gICAgICAg
ICB0aGlzLmthZmZlUGFpbnRCb3JkZXIoIGcpOw0KICAgICAgICAgICAgICAg
IF4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLV4NCioqKiBTZW1hbnRpYyBFcnJv
cjogTm8gbWV0aG9kIG5hbWVkICJrYWZmZVBhaW50Qm9yZGVyIiB3YXMgZm91
bmQgaW4gdHlwZSAiamF2YS5hd3QuVGV4dEFyZWEkVGV4dFBhbmUiLg0KDQoN
CiAgIDY4My4gICAgICAgICBpZiAoIHJnciAhPSBudWxsKQ0KICAgICAgICAg
ICAgICAgICAgICAgXi1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIGZpZWxk
IG5hbWVkICJyZ3IiIHdhcyBmb3VuZCBpbiB0eXBlICJqYXZhLmF3dC5UZXh0
QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAgNjg0LiAgICAgICAgICAgICAgICAg
cGFpbnRJbmFjdGl2ZUN1cnNvciggcmdyKTsNCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4tXg0KKioqIFNlbWFudGlj
IEVycm9yOiBObyBmaWVsZCBuYW1lZCAicmdyIiB3YXMgZm91bmQgaW4gdHlw
ZSAiamF2YS5hd3QuVGV4dEFyZWEkVGV4dFBhbmUiLg0KDQoNCiAgIDY4OS4g
ICAgICAgICB0Q3Vyc29yLmJsYW5rKCBnLCB4T2ZmcywgZ2V0Um93WVBvcygg
dEN1cnNvci55aW5kZXgpICk7DQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXi0tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjogTm8gZmllbGQg
bmFtZWQgInhPZmZzIiB3YXMgZm91bmQgaW4gdHlwZSAiamF2YS5hd3QuVGV4
dEFyZWEkVGV4dFBhbmUiLg0KDQoNCiAgIDY4OS4gICAgICAgICB0Q3Vyc29y
LmJsYW5rKCBnLCB4T2ZmcywgZ2V0Um93WVBvcyggdEN1cnNvci55aW5kZXgp
ICk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IF4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXg0KKioqIFNlbWFudGljIEVy
cm9yOiBObyBtZXRob2QgbmFtZWQgImdldFJvd1lQb3MiIHdhcyBmb3VuZCBp
biB0eXBlICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAg
NjkzLiAgICAgICAgIHJlcGFpbnRDdXJzb3IoIHJncik7DQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXi1eDQoqKiogU2VtYW50aWMgRXJyb3I6
IE5vIGZpZWxkIG5hbWVkICJyZ3IiIHdhcyBmb3VuZCBpbiB0eXBlICJqYXZh
LmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAgNjk4LiAgICAgICAg
ICAgICAgICAgaWYgKCBBV1RFdmVudC5rZXlUZ3QgPT0gdGhpcykNCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXi0tLS0tLS0tLS0tLS0tLS0tLS0t
LV4NCioqKiBTZW1hbnRpYyBFcnJvcjogVGhlIHR5cGUgb2YgdGhlIGxlZnQg
c3ViLWV4cHJlc3Npb24sICJqYXZhLmF3dC5Db21wb25lbnQiLCBpcyBub3Qg
Y29tcGF0aWJsZSB3aXRoIHRoZSB0eXBlIG9mIHRoZSByaWdodCBzdWItZXhw
cmVzc2lvbiwgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5lIi4NCg0KDQog
ICA2OTkuICAgICAgICAgICAgICAgICAgICAgICAgIHRDdXJzb3IucGFpbnQo
IGcsIHhPZmZzLCBnZXRSb3dZUG9zKCB0Q3Vyc29yLnlpbmRleCkgKTsNCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXi0tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjogTm8gZmllbGQgbmFtZWQg
InhPZmZzIiB3YXMgZm91bmQgaW4gdHlwZSAiamF2YS5hd3QuVGV4dEFyZWEk
VGV4dFBhbmUiLg0KDQoNCiAgIDY5OS4gICAgICAgICAgICAgICAgICAgICAg
ICAgdEN1cnNvci5wYWludCggZywgeE9mZnMsIGdldFJvd1lQb3MoIHRDdXJz
b3IueWluZGV4KSApOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXi0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIG1ldGhvZCBuYW1l
ZCAiZ2V0Um93WVBvcyIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0LlRl
eHRBcmVhJFRleHRQYW5lIi4NCg0KDQogICA3MTMuICAgICAgICAgICAgICAg
ICB0YiA9IChUZXh0QnVmZmVyKXJvd3MuZWxlbWVudEF0KCByb3cpOw0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeLS1eDQoq
KiogU2VtYW50aWMgRXJyb3I6IE5vIGZpZWxkIG5hbWVkICJyb3dzIiB3YXMg
Zm91bmQgaW4gdHlwZSAiamF2YS5hd3QuVGV4dEFyZWEkVGV4dFBhbmUiLg0K
DQoNCiAgIDcxNy4gICAgICAgICBpbnQgeTAgPSBkICsgKHJvdyAtIGZpcnN0
KSAqIHJvd0hlaWdodDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIF4tLS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIGZpZWxkIG5h
bWVkICJmaXJzdCIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0LlRleHRB
cmVhJFRleHRQYW5lIi4NCg0KDQogICA3MTcuICAgICAgICAgaW50IHkwID0g
ZCArIChyb3cgLSBmaXJzdCkgKiByb3dIZWlnaHQ7DQogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeLS0tLS0tLV4NCioq
KiBTZW1hbnRpYyBFcnJvcjogTm8gZmllbGQgbmFtZWQgInJvd0hlaWdodCIg
d2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5l
Ii4NCg0KDQogICA3MjAuICAgICAgICAgICAgICAgICB4MCA9IChzdGFydFgg
PT0gMCkgPyAwIDogdGIuZ2V0UG9zKCBzdGFydFgpICsgeE9mZnM7DQogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXi0tLV4NCioqKiBTZW1hbnRpYyBFcnJv
cjogTm8gZmllbGQgbmFtZWQgInhPZmZzIiB3YXMgZm91bmQgaW4gdHlwZSAi
amF2YS5hd3QuVGV4dEFyZWEkVGV4dFBhbmUiLg0KDQoNCiAgIDcyMS4gICAg
ICAgICAgICAgICAgIHcgPSB0aGlzLndpZHRoIC0geDA7DQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBeLS0tXg0KKioqIFNlbWFudGljIEVy
cm9yOiBObyBmaWVsZCBuYW1lZCAid2lkdGgiIHdhcyBmb3VuZCBpbiB0eXBl
ICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAgNzIyLiAg
ICAgICAgICAgICAgICAgZy5zZXRDb2xvciggdGhpcy5iZ0NsciApOw0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeLS0tXg0K
KioqIFNlbWFudGljIEVycm9yOiBObyBmaWVsZCBuYW1lZCAiYmdDbHIiIHdh
cyBmb3VuZCBpbiB0eXBlICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIu
DQoNCg0KICAgNzIzLiAgICAgICAgICAgICAgICAgZy5maWxsUmVjdCggeDAs
IHkwLCB3LWQsIHJvd0hlaWdodCk7DQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXi0tLS0tLS1eDQoqKiogU2Vt
YW50aWMgRXJyb3I6IE5vIGZpZWxkIG5hbWVkICJyb3dIZWlnaHQiIHdhcyBm
b3VuZCBpbiB0eXBlICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoN
Cg0KICAgNzI0LiAgICAgICAgICAgICAgICAgZy5zZXRDb2xvciggdGhpcy5m
Z0NsciApOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBeLS0tXg0KKioqIFNlbWFudGljIEVycm9yOiBObyBmaWVsZCBuYW1l
ZCAiZmdDbHIiIHdhcyBmb3VuZCBpbiB0eXBlICJqYXZhLmF3dC5UZXh0QXJl
YSRUZXh0UGFuZSIuDQoNCg0KICAgNzI1LiAgICAgICAgICAgICAgICAgdGIu
cGFpbnQoIGcsIHhPZmZzLCB5MCwgcm93SGVpZ2h0LCBzdGFydFgpOw0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4tLS1eDQoqKiog
U2VtYW50aWMgRXJyb3I6IE5vIGZpZWxkIG5hbWVkICJ4T2ZmcyIgd2FzIGZv
dW5kIGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5lIi4NCg0K
DQogICA3MjUuICAgICAgICAgICAgICAgICB0Yi5wYWludCggZywgeE9mZnMs
IHkwLCByb3dIZWlnaHQsIHN0YXJ0WCk7DQogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeLS0tLS0tLV4NCioqKiBT
ZW1hbnRpYyBFcnJvcjogTm8gZmllbGQgbmFtZWQgInJvd0hlaWdodCIgd2Fz
IGZvdW5kIGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5lIi4N
Cg0KDQogICA3MjkuICAgICAgICAgICAgICAgICAgICAgICAgIHgwID0gdGIu
Z2V0UG9zKCBzdGFydFgpICsgeE9mZnM7DQogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXi0tLV4N
CioqKiBTZW1hbnRpYyBFcnJvcjogTm8gZmllbGQgbmFtZWQgInhPZmZzIiB3
YXMgZm91bmQgaW4gdHlwZSAiamF2YS5hd3QuVGV4dEFyZWEkVGV4dFBhbmUi
Lg0KDQoNCiAgIDczMS4gICAgICAgICAgICAgICAgICAgICAgICAgZy5zZXRD
b2xvciggdGhpcy5iZ0NsciApOw0KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIF4tLS1eDQoqKiogU2VtYW50aWMg
RXJyb3I6IE5vIGZpZWxkIG5hbWVkICJiZ0NsciIgd2FzIGZvdW5kIGluIHR5
cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5lIi4NCg0KDQogICA3MzIu
ICAgICAgICAgICAgICAgICAgICAgICAgIGcuZmlsbFJlY3QoIHgwLCB5MCwg
dywgcm93SGVpZ2h0KTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBeLS0tLS0tLV4NCioqKiBTZW1h
bnRpYyBFcnJvcjogTm8gZmllbGQgbmFtZWQgInJvd0hlaWdodCIgd2FzIGZv
dW5kIGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5lIi4NCg0K
DQogICA3MzMuICAgICAgICAgICAgICAgICAgICAgICAgIGcuc2V0Q29sb3Io
IHRoaXMuZmdDbHIgKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBeLS0tXg0KKioqIFNlbWFudGljIEVycm9y
OiBObyBmaWVsZCBuYW1lZCAiZmdDbHIiIHdhcyBmb3VuZCBpbiB0eXBlICJq
YXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAgNzM0LiAgICAg
ICAgICAgICAgICAgICAgICAgICB0Yi5wYWludCggZywgeE9mZnMsIHkwLCBy
b3dIZWlnaHQsIHN0YXJ0WCwgc3Mtc3RhcnRYKTsNCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4tLS1eDQoqKiogU2Vt
YW50aWMgRXJyb3I6IE5vIGZpZWxkIG5hbWVkICJ4T2ZmcyIgd2FzIGZvdW5k
IGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5lIi4NCg0KDQog
ICA3MzQuICAgICAgICAgICAgICAgICAgICAgICAgIHRiLnBhaW50KCBnLCB4
T2ZmcywgeTAsIHJvd0hlaWdodCwgc3RhcnRYLCBzcy1zdGFydFgpOw0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBeLS0tLS0tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjogTm8gZmll
bGQgbmFtZWQgInJvd0hlaWdodCIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEu
YXd0LlRleHRBcmVhJFRleHRQYW5lIi4NCg0KDQogICA3MzcuICAgICAgICAg
ICAgICAgICAgICAgICAgIHgwID0gdGIuZ2V0UG9zKCBzcykgKyB4T2ZmczsN
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIF4tLS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIGZpZWxk
IG5hbWVkICJ4T2ZmcyIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0LlRl
eHRBcmVhJFRleHRQYW5lIi4NCg0KDQogICA3NDAuICAgICAgICAgICAgICAg
ICAgICAgICAgIGcuZmlsbDNEUmVjdCggeDAsIHkwLCB3LCByb3dIZWlnaHQs
IHRydWUpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXi0tLS0tLS1eDQoqKiogU2VtYW50aWMg
RXJyb3I6IE5vIGZpZWxkIG5hbWVkICJyb3dIZWlnaHQiIHdhcyBmb3VuZCBp
biB0eXBlICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAg
NzQyLiAgICAgICAgICAgICAgICAgICAgICAgICB0Yi5wYWludCggZywgeE9m
ZnMsIHkwLCByb3dIZWlnaHQsIHNzLCBzZS1zcyk7DQogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeLS0tXg0KKioqIFNl
bWFudGljIEVycm9yOiBObyBmaWVsZCBuYW1lZCAieE9mZnMiIHdhcyBmb3Vu
ZCBpbiB0eXBlICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0K
ICAgNzQyLiAgICAgICAgICAgICAgICAgICAgICAgICB0Yi5wYWludCggZywg
eE9mZnMsIHkwLCByb3dIZWlnaHQsIHNzLCBzZS1zcyk7DQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IF4tLS0tLS0tXg0KKioqIFNlbWFudGljIEVycm9yOiBObyBmaWVsZCBuYW1l
ZCAicm93SGVpZ2h0IiB3YXMgZm91bmQgaW4gdHlwZSAiamF2YS5hd3QuVGV4
dEFyZWEkVGV4dFBhbmUiLg0KDQoNCiAgIDc0NC4gICAgICAgICAgICAgICAg
IHgwID0gdGIuZ2V0UG9zKCBzZSkgKyB4T2ZmczsNCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeLS0tXg0KKioqIFNl
bWFudGljIEVycm9yOiBObyBmaWVsZCBuYW1lZCAieE9mZnMiIHdhcyBmb3Vu
ZCBpbiB0eXBlICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0K
ICAgNzQ1LiAgICAgICAgICAgICAgICAgdyA9IHRoaXMud2lkdGggLSB4MDsN
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4tLS1eDQoqKiog
U2VtYW50aWMgRXJyb3I6IE5vIGZpZWxkIG5hbWVkICJ3aWR0aCIgd2FzIGZv
dW5kIGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5lIi4NCg0K
DQogICA3NDYuICAgICAgICAgICAgICAgICBnLnNldENvbG9yKCB0aGlzLmJn
Q2xyICk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIF4tLS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIGZpZWxkIG5hbWVk
ICJiZ0NsciIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVh
JFRleHRQYW5lIi4NCg0KDQogICA3NDcuICAgICAgICAgICAgICAgICBnLmZp
bGxSZWN0KCB4MCwgeTAsIHcsIHJvd0hlaWdodCk7DQogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4tLS0tLS0tXg0K
KioqIFNlbWFudGljIEVycm9yOiBObyBmaWVsZCBuYW1lZCAicm93SGVpZ2h0
IiB3YXMgZm91bmQgaW4gdHlwZSAiamF2YS5hd3QuVGV4dEFyZWEkVGV4dFBh
bmUiLg0KDQoNCiAgIDc0OS4gICAgICAgICAgICAgICAgICAgICAgICAgZy5z
ZXRDb2xvciggdGhpcy5mZ0NsciApOw0KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4tLS1eDQoqKiogU2VtYW50
aWMgRXJyb3I6IE5vIGZpZWxkIG5hbWVkICJmZ0NsciIgd2FzIGZvdW5kIGlu
IHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5lIi4NCg0KDQogICA3
NTAuICAgICAgICAgICAgICAgICAgICAgICAgIHRiLnBhaW50KCBnLCB4T2Zm
cywgeTAsIHJvd0hlaWdodCwgc2UpOw0KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXi0tLV4NCioqKiBTZW1hbnRpYyBF
cnJvcjogTm8gZmllbGQgbmFtZWQgInhPZmZzIiB3YXMgZm91bmQgaW4gdHlw
ZSAiamF2YS5hd3QuVGV4dEFyZWEkVGV4dFBhbmUiLg0KDQoNCiAgIDc1MC4g
ICAgICAgICAgICAgICAgICAgICAgICAgdGIucGFpbnQoIGcsIHhPZmZzLCB5
MCwgcm93SGVpZ2h0LCBzZSk7DQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4tLS0tLS0tXg0KKioq
IFNlbWFudGljIEVycm9yOiBObyBmaWVsZCBuYW1lZCAicm93SGVpZ2h0IiB3
YXMgZm91bmQgaW4gdHlwZSAiamF2YS5hd3QuVGV4dEFyZWEkVGV4dFBhbmUi
Lg0KDQoNCiAgIDc2MC4gICAgICAgICByZXBhaW50TGluZSggcmdyLCByb3cs
IHN0YXJ0WCwgdGIpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe
LV4NCioqKiBTZW1hbnRpYyBFcnJvcjogTm8gZmllbGQgbmFtZWQgInJnciIg
d2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5l
Ii4NCg0KDQogICA3OTYuICAgICAgICAgICAgICAgICByZXBhaW50Um93cygg
eTAsIHkxLXkwKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIF4tLS0tLS0t
LS0tLS0tLS0tLS0tLS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIG1ldGhv
ZCBuYW1lZCAicmVwYWludFJvd3MiIHdhcyBmb3VuZCBpbiB0eXBlICJqYXZh
LmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAgODI5LiAgICAgICAg
IHJvd3MucmVtb3ZlQWxsRWxlbWVudHMoKTsNCiAgICAgICAgICAgICAgICBe
LS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIGZpZWxkIG5hbWVkICJyb3dz
IiB3YXMgZm91bmQgaW4gdHlwZSAiamF2YS5hd3QuVGV4dEFyZWEkVGV4dFBh
bmUiLg0KDQoNCiAgIDgzMy4gICAgICAgICB1cGRhdGVTY3JvbGxzKCk7DQog
ICAgICAgICAgICAgICAgXi0tLS0tLS0tLS0tLS1eDQoqKiogU2VtYW50aWMg
RXJyb3I6IE5vIG1ldGhvZCBuYW1lZCAidXBkYXRlU2Nyb2xscyIgd2FzIGZv
dW5kIGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5lIi4NCg0K
DQogICA4MzQuICAgICAgICAgdGhpcy5yZXBhaW50KCk7DQogICAgICAgICAg
ICAgICAgXi0tLS0tLS0tLS0tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjogTm8g
bWV0aG9kIG5hbWVkICJyZXBhaW50IiB3YXMgZm91bmQgaW4gdHlwZSAiamF2
YS5hd3QuVGV4dEFyZWEkVGV4dFBhbmUiLiBIb3dldmVyLCB0aGVyZSBpcyBh
biBhY2Nlc3NpYmxlIG1ldGhvZCAicmVwYWludEN1cnNvciIgd2hvc2UgbmFt
ZSBjbG9zZWx5IG1hdGNoZXMgdGhlIG5hbWUgInJlcGFpbnQiLg0KDQoNCiAg
IDg0OS4gICAgICAgICBtYWtlVmlzaWJsZSggeSk7DQogICAgICAgICAgICAg
ICAgXi0tLS0tLS0tLS0tLS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIG1l
dGhvZCBuYW1lZCAibWFrZVZpc2libGUiIHdhcyBmb3VuZCBpbiB0eXBlICJq
YXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAgODUxLiAgICAg
ICAgIHRiID0gKFRleHRCdWZmZXIpcm93cy5lbGVtZW50QXQoIHkpOw0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXi0tXg0KKioqIFNlbWFu
dGljIEVycm9yOiBObyBmaWVsZCBuYW1lZCAicm93cyIgd2FzIGZvdW5kIGlu
IHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5lIi4NCg0KDQogICA4
NTIuICAgICAgICAgdEN1cnNvci5zZXRZSW5kZXgoIHksIGdldFJvd1lQb3Mo
IHkpICk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IF4tLS0tLS0tLS0tLS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIG1ldGhv
ZCBuYW1lZCAiZ2V0Um93WVBvcyIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEu
YXd0LlRleHRBcmVhJFRleHRQYW5lIi4NCg0KDQogICA4NjMuICAgICAgICAg
aWYgKCB0aGlzLndpZHRoID4gMCkgew0KICAgICAgICAgICAgICAgICAgICAg
ICAgICBeLS0tXg0KKioqIFNlbWFudGljIEVycm9yOiBObyBmaWVsZCBuYW1l
ZCAid2lkdGgiIHdhcyBmb3VuZCBpbiB0eXBlICJqYXZhLmF3dC5UZXh0QXJl
YSRUZXh0UGFuZSIuDQoNCg0KICAgODY1LiAgICAgICAgICAgICAgICAgaWYg
KCAoeCA+IGxhc3RYKSAmJiAoeFBvcyAtIHhPZmZzID4gdGhpcy53aWR0aCAt
ZHgpICl7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXi0tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjogTm8g
ZmllbGQgbmFtZWQgInhPZmZzIiB3YXMgZm91bmQgaW4gdHlwZSAiamF2YS5h
d3QuVGV4dEFyZWEkVGV4dFBhbmUiLg0KDQoNCiAgIDg2NS4gICAgICAgICAg
ICAgICAgIGlmICggKHggPiBsYXN0WCkgJiYgKHhQb3MgLSB4T2ZmcyA+IHRo
aXMud2lkdGggLWR4KSApew0KICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeLS0tXg0K
KioqIFNlbWFudGljIEVycm9yOiBObyBmaWVsZCBuYW1lZCAid2lkdGgiIHdh
cyBmb3VuZCBpbiB0eXBlICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIu
DQoNCg0KICAgODY2LiAgICAgICAgICAgICAgICAgICAgICAgICB4T2ZmcyA9
IHRoaXMud2lkdGggLSB4UG9zIC0gZHg7DQogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIF4tLS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIGZp
ZWxkIG5hbWVkICJ4T2ZmcyIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0
LlRleHRBcmVhJFRleHRQYW5lIi4NCg0KDQogICA4NjYuICAgICAgICAgICAg
ICAgICAgICAgICAgIHhPZmZzID0gdGhpcy53aWR0aCAtIHhQb3MgLSBkeDsN
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IF4tLS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIGZpZWxkIG5hbWVkICJ3
aWR0aCIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRl
eHRQYW5lIi4NCg0KDQogICA4NjcuICAgICAgICAgICAgICAgICAgICAgICAg
IGlmIChoU2Nyb2xsICE9IG51bGwpIHsNCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIF4tLS0tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjog
Tm8gZmllbGQgbmFtZWQgImhTY3JvbGwiIHdhcyBmb3VuZCBpbiB0eXBlICJq
YXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAgODY4LiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggdXBkYXRlSFNjcm9s
bCgpICkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIF4tLS0tLS0tLS0tLS0tXg0KKioqIFNlbWFudGljIEVycm9yOiBO
byBtZXRob2QgbmFtZWQgInVwZGF0ZUhTY3JvbGwiIHdhcyBmb3VuZCBpbiB0
eXBlICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAgODY5
LiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVh
cnJhbmdlKCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBeLS0tLS0tLS0tXg0KKioqIFNlbWFudGljIEVycm9y
OiBObyBtZXRob2QgbmFtZWQgInJlYXJyYW5nZSIgd2FzIGZvdW5kIGluIHR5
cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5lIi4NCg0KDQogICA4NzAu
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaFNjcm9sbC5zZXRW
YWx1ZSggLXhPZmZzKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXi0tLV4NCioqKiBTZW1h
bnRpYyBFcnJvcjogTm8gZmllbGQgbmFtZWQgInhPZmZzIiB3YXMgZm91bmQg
aW4gdHlwZSAiamF2YS5hd3QuVGV4dEFyZWEkVGV4dFBhbmUiLg0KDQoNCiAg
IDg3Mi4gICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXBhaW50KCk7
DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4tLS0tLS0tLS0t
LS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIG1ldGhvZCBuYW1lZCAicmVw
YWludCIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRl
eHRQYW5lIi4gSG93ZXZlciwgdGhlcmUgaXMgYW4gYWNjZXNzaWJsZSBtZXRo
b2QgInJlcGFpbnRDdXJzb3IiIHdob3NlIG5hbWUgY2xvc2VseSBtYXRjaGVz
IHRoZSBuYW1lICJyZXBhaW50Ii4NCg0KDQogICA4NzQuICAgICAgICAgICAg
ICAgICBlbHNlIGlmICggeFBvcyArIHhPZmZzIDwgeE9mZnNJbml0ICkgew0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeLS0t
Xg0KKioqIFNlbWFudGljIEVycm9yOiBObyBmaWVsZCBuYW1lZCAieE9mZnMi
IHdhcyBmb3VuZCBpbiB0eXBlICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFu
ZSIuDQoNCg0KICAgODc0LiAgICAgICAgICAgICAgICAgZWxzZSBpZiAoIHhQ
b3MgKyB4T2ZmcyA8IHhPZmZzSW5pdCApIHsNCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeLS0tLS0tLV4NCioq
KiBTZW1hbnRpYyBFcnJvcjogTm8gZmllbGQgbmFtZWQgInhPZmZzSW5pdCIg
d2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5l
Ii4NCg0KDQogICA4NzUuICAgICAgICAgICAgICAgICAgICAgICAgIHhPZmZz
ID0gLXhQb3MgKyB4T2Zmc0luaXQ7DQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIF4tLS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIGZpZWxk
IG5hbWVkICJ4T2ZmcyIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0LlRl
eHRBcmVhJFRleHRQYW5lIi4NCg0KDQogICA4NzUuICAgICAgICAgICAgICAg
ICAgICAgICAgIHhPZmZzID0gLXhQb3MgKyB4T2Zmc0luaXQ7DQogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeLS0t
LS0tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjogTm8gZmllbGQgbmFtZWQgInhP
ZmZzSW5pdCIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVh
JFRleHRQYW5lIi4NCg0KDQogICA4NzYuICAgICAgICAgICAgICAgICAgICAg
ICAgIGlmIChoU2Nyb2xsICE9IG51bGwpIHsNCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIF4tLS0tLV4NCioqKiBTZW1hbnRpYyBFcnJv
cjogTm8gZmllbGQgbmFtZWQgImhTY3JvbGwiIHdhcyBmb3VuZCBpbiB0eXBl
ICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAgODc3LiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggdXBkYXRlSFNj
cm9sbCgpICkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIF4tLS0tLS0tLS0tLS0tXg0KKioqIFNlbWFudGljIEVycm9y
OiBObyBtZXRob2QgbmFtZWQgInVwZGF0ZUhTY3JvbGwiIHdhcyBmb3VuZCBp
biB0eXBlICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAg
ODc4LiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cmVhcnJhbmdlKCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBeLS0tLS0tLS0tXg0KKioqIFNlbWFudGljIEVy
cm9yOiBObyBtZXRob2QgbmFtZWQgInJlYXJyYW5nZSIgd2FzIGZvdW5kIGlu
IHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5lIi4NCg0KDQogICA4
NzkuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaFNjcm9sbC5z
ZXRWYWx1ZSggLXhPZmZzKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXi0tLV4NCioqKiBT
ZW1hbnRpYyBFcnJvcjogTm8gZmllbGQgbmFtZWQgInhPZmZzIiB3YXMgZm91
bmQgaW4gdHlwZSAiamF2YS5hd3QuVGV4dEFyZWEkVGV4dFBhbmUiLg0KDQoN
CiAgIDg4MS4gICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXBhaW50
KCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4tLS0tLS0t
LS0tLS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIG1ldGhvZCBuYW1lZCAi
cmVwYWludCIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVh
JFRleHRQYW5lIi4gSG93ZXZlciwgdGhlcmUgaXMgYW4gYWNjZXNzaWJsZSBt
ZXRob2QgInJlcGFpbnRDdXJzb3IiIHdob3NlIG5hbWUgY2xvc2VseSBtYXRj
aGVzIHRoZSBuYW1lICJyZXBhaW50Ii4NCg0KDQogICA4ODguICAgICAgICAg
aW50IHMgPSByb3dzLnNpemUoKTsNCiAgICAgICAgICAgICAgICAgICAgICAg
IF4tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjogTm8gZmllbGQgbmFtZWQgInJv
d3MiIHdhcyBmb3VuZCBpbiB0eXBlICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0
UGFuZSIuDQoNCg0KICAgODkwLiAgICAgICAgIHN1cGVyLnNldEZvbnQoIGYp
Ow0KICAgICAgICAgICAgICAgIF4tLS0tLS0tLS0tLS0tLS1eDQoqKiogU2Vt
YW50aWMgRXJyb3I6IE5vIG1ldGhvZCBuYW1lZCAic2V0Rm9udCIgd2FzIGZv
dW5kIGluIHR5cGUgImphdmEubGFuZy5PYmplY3QiLg0KDQoNCiAgIDg5MS4g
ICAgICAgICBmbSA9IHRoaXMuZ2V0Rm9udE1ldHJpY3MoIGYpOw0KICAgICAg
ICAgICAgICAgIF5eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIGZpZWxkIG5h
bWVkICJmbSIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVh
JFRleHRQYW5lIi4NCg0KDQogICA4OTEuICAgICAgICAgZm0gPSB0aGlzLmdl
dEZvbnRNZXRyaWNzKCBmKTsNCiAgICAgICAgICAgICAgICAgICAgIF4tLS0t
LS0tLS0tLS0tLS0tLS0tLS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIG1l
dGhvZCBuYW1lZCAiZ2V0Rm9udE1ldHJpY3MiIHdhcyBmb3VuZCBpbiB0eXBl
ICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAgODkzLiAg
ICAgICAgIGlmICggcmdyICE9IG51bGwgKQ0KICAgICAgICAgICAgICAgICAg
ICAgXi1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIGZpZWxkIG5hbWVkICJy
Z3IiIHdhcyBmb3VuZCBpbiB0eXBlICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0
UGFuZSIuDQoNCg0KICAgODk0LiAgICAgICAgICAgICAgICAgcmdyLnNldEZv
bnQoIGYpOw0KICAgICAgICAgICAgICAgICAgICAgICAgXi1eDQoqKiogU2Vt
YW50aWMgRXJyb3I6IE5vIGZpZWxkIG5hbWVkICJyZ3IiIHdhcyBmb3VuZCBp
biB0eXBlICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAg
ODk2LiAgICAgICAgIHRhYldpZHRoID0gMypmbS5jaGFyV2lkdGgoICd4Jyk7
DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5eDQoqKiogU2VtYW50
aWMgRXJyb3I6IE5vIGZpZWxkIG5hbWVkICJmbSIgd2FzIGZvdW5kIGluIHR5
cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5lIi4NCg0KDQogICA4OTcu
ICAgICAgICAgcm93SGVpZ2h0ID0gZm0uZ2V0SGVpZ2h0KCkgKyAyOw0KICAg
ICAgICAgICAgICAgIF4tLS0tLS0tXg0KKioqIFNlbWFudGljIEVycm9yOiBO
byBmaWVsZCBuYW1lZCAicm93SGVpZ2h0IiB3YXMgZm91bmQgaW4gdHlwZSAi
amF2YS5hd3QuVGV4dEFyZWEkVGV4dFBhbmUiLg0KDQoNCiAgIDg5Ny4gICAg
ICAgICByb3dIZWlnaHQgPSBmbS5nZXRIZWlnaHQoKSArIDI7DQogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXl4NCioqKiBTZW1hbnRpYyBFcnJvcjog
Tm8gZmllbGQgbmFtZWQgImZtIiB3YXMgZm91bmQgaW4gdHlwZSAiamF2YS5h
d3QuVGV4dEFyZWEkVGV4dFBhbmUiLg0KDQoNCiAgIDkwMC4gICAgICAgICAg
ICAgICAgIHRiID0gKFRleHRCdWZmZXIpcm93cy5lbGVtZW50QXQoIGkpOw0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeLS1e
DQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIGZpZWxkIG5hbWVkICJyb3dzIiB3
YXMgZm91bmQgaW4gdHlwZSAiamF2YS5hd3QuVGV4dEFyZWEkVGV4dFBhbmUi
Lg0KDQoNCiAgIDkwMS4gICAgICAgICAgICAgICAgIHRiLnNldE1ldHJpY3Mo
IGZtLCB0YWJXaWR0aCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBeXg0KKioqIFNlbWFudGljIEVycm9yOiBObyBmaWVsZCBu
YW1lZCAiZm0iIHdhcyBmb3VuZCBpbiB0eXBlICJqYXZhLmF3dC5UZXh0QXJl
YSRUZXh0UGFuZSIuDQoNCg0KICAgOTA0LiAgICAgICAgIHRiID0gKFRleHRC
dWZmZXIpcm93cy5lbGVtZW50QXQoIHRDdXJzb3IueWluZGV4KTsNCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4tLV4NCioqKiBTZW1hbnRp
YyBFcnJvcjogTm8gZmllbGQgbmFtZWQgInJvd3MiIHdhcyBmb3VuZCBpbiB0
eXBlICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAgOTA1
LiAgICAgICAgIHRDdXJzb3Iuc2V0SGVpZ2h0KCByb3dIZWlnaHQtMSApOw0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeLS0tLS0tLV4N
CioqKiBTZW1hbnRpYyBFcnJvcjogTm8gZmllbGQgbmFtZWQgInJvd0hlaWdo
dCIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQ
YW5lIi4NCg0KDQogICA5MDYuICAgICAgICAgdEN1cnNvci5zZXRZSW5kZXgo
IHRDdXJzb3IueWluZGV4LCBnZXRSb3dZUG9zKCB0Q3Vyc29yLnlpbmRleCkg
KTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIF4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXg0KKioqIFNl
bWFudGljIEVycm9yOiBObyBtZXRob2QgbmFtZWQgImdldFJvd1lQb3MiIHdh
cyBmb3VuZCBpbiB0eXBlICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIu
DQoNCg0KICAgOTA5LiAgICAgICAgIGlmICggdGhpcy5pc1Nob3dpbmcoKSAp
DQogICAgICAgICAgICAgICAgICAgICBeLS0tLS0tLS0tLS0tLS1eDQoqKiog
U2VtYW50aWMgRXJyb3I6IE5vIG1ldGhvZCBuYW1lZCAiaXNTaG93aW5nIiB3
YXMgZm91bmQgaW4gdHlwZSAiamF2YS5hd3QuVGV4dEFyZWEkVGV4dFBhbmUi
Lg0KDQoNCiAgIDkxMC4gICAgICAgICAgICAgICAgIHRoaXMucmVwYWludCgp
Ow0KICAgICAgICAgICAgICAgICAgICAgICAgXi0tLS0tLS0tLS0tLV4NCioq
KiBTZW1hbnRpYyBFcnJvcjogTm8gbWV0aG9kIG5hbWVkICJyZXBhaW50IiB3
YXMgZm91bmQgaW4gdHlwZSAiamF2YS5hd3QuVGV4dEFyZWEkVGV4dFBhbmUi
LiBIb3dldmVyLCB0aGVyZSBpcyBhbiBhY2Nlc3NpYmxlIG1ldGhvZCAicmVw
YWludEN1cnNvciIgd2hvc2UgbmFtZSBjbG9zZWx5IG1hdGNoZXMgdGhlIG5h
bWUgInJlcGFpbnQiLg0KDQoNCiAgIDkyNi4gICAgICAgICAgICAgICAgIHJl
cGFpbnRSb3dzKCB5MCwgeTEgLSB5MCArIDEpOw0KICAgICAgICAgICAgICAg
ICAgICAgICAgXi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLV4NCioqKiBT
ZW1hbnRpYyBFcnJvcjogTm8gbWV0aG9kIG5hbWVkICJyZXBhaW50Um93cyIg
d2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5l
Ii4NCg0KDQogICA5MzMuICAgICAgICAgdEN1cnNvci5zZXRZSW5kZXgoIHRD
dXJzb3IueWluZGV4LCBnZXRSb3dZUG9zKCB0Q3Vyc29yLnlpbmRleCkgKTsN
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIF4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXg0KKioqIFNlbWFu
dGljIEVycm9yOiBObyBtZXRob2QgbmFtZWQgImdldFJvd1lQb3MiIHdhcyBm
b3VuZCBpbiB0eXBlICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoN
Cg0KICAgOTU3LiAgICAgICAgICAgICAgICAgdHAudlNjcm9sbCA9IG5ldyBT
Y3JvbGxiYXIoIFNjcm9sbGJhci5WRVJUSUNBTCwwLDAsMCwwKTsNCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgIF4tLS0tLV4NCioqKiBTZW1hbnRpYyBF
cnJvcjogTm8gZmllbGQgbmFtZWQgInZTY3JvbGwiIHdhcyBmb3VuZCBpbiB0
eXBlICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAgOTU3
LiAgICAgICAgICAgICAgICAgdHAudlNjcm9sbCA9IG5ldyBTY3JvbGxiYXIo
IFNjcm9sbGJhci5WRVJUSUNBTCwwLDAsMCwwKTsNCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXi0tLS0tLS1eDQoqKiogU2Vt
YW50aWMgRXJyb3I6IEEgY2FuZGlkYXRlIGZvciB0eXBlICJTY3JvbGxiYXIi
IHdhcyBmb3VuZCwgYnV0IGl0IGlzIGludmFsaWQgYW5kIG5lZWRzIHRvIGJl
IGZpeGVkIGJlZm9yZSB0aGlzIHR5cGUgd2lsbCBzdWNjZXNzZnVsbHkgY29t
cGlsZS4NCg0KDQogICA5NTguICAgICAgICAgICAgICAgICBhZGQoIHRwLnZT
Y3JvbGwpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeLS0t
LS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5vIGZpZWxkIG5hbWVkICJ2U2Ny
b2xsIiB3YXMgZm91bmQgaW4gdHlwZSAiamF2YS5hd3QuVGV4dEFyZWEkVGV4
dFBhbmUiLg0KDQoNCiAgIDk2MS4gICAgICAgICAgICAgICAgIHRwLmhTY3Jv
bGwgPSBuZXcgU2Nyb2xsYmFyKCBTY3JvbGxiYXIuSE9SSVpPTlRBTCwwLDAs
MCwwKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIF4tLS0tLV4NCioq
KiBTZW1hbnRpYyBFcnJvcjogTm8gZmllbGQgbmFtZWQgImhTY3JvbGwiIHdh
cyBmb3VuZCBpbiB0eXBlICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIu
DQoNCg0KICAgOTYxLiAgICAgICAgICAgICAgICAgdHAuaFNjcm9sbCA9IG5l
dyBTY3JvbGxiYXIoIFNjcm9sbGJhci5IT1JJWk9OVEFMLDAsMCwwLDApOw0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeLS0t
LS0tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjogQSBjYW5kaWRhdGUgZm9yIHR5
cGUgIlNjcm9sbGJhciIgd2FzIGZvdW5kLCBidXQgaXQgaXMgaW52YWxpZCBh
bmQgbmVlZHMgdG8gYmUgZml4ZWQgYmVmb3JlIHRoaXMgdHlwZSB3aWxsIHN1
Y2Nlc3NmdWxseSBjb21waWxlLg0KDQoNCiAgIDk2My4gICAgICAgICAgICAg
ICAgIHRwLmhTY3JvbGwuc2V0VW5pdEluY3JlbWVudCggdHAuZm0uY2hhcldp
ZHRoKCAneCcpKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXl4NCioqKiBTZW1hbnRpYyBFcnJv
cjogTm8gZmllbGQgbmFtZWQgImZtIiB3YXMgZm91bmQgaW4gdHlwZSAiamF2
YS5hd3QuVGV4dEFyZWEkVGV4dFBhbmUiLg0KDQoNCiAgIDk2NC4gICAgICAg
ICAgICAgICAgIGFkZCggdHAuaFNjcm9sbCk7DQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIF4tLS0tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjog
Tm8gZmllbGQgbmFtZWQgImhTY3JvbGwiIHdhcyBmb3VuZCBpbiB0eXBlICJq
YXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAgOTY4LiAgICAg
ICAgIGFkZCggdHApOw0KICAgICAgICAgICAgICAgIF4tLS0tLS1eDQoqKiog
U2VtYW50aWMgRXJyb3I6IE5vIGFwcGxpY2FibGUgb3ZlcmxvYWQgZm9yIHRo
ZSBtZXRob2QgbmFtZWQgImFkZCIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEu
YXd0LlRleHRBcmVhIi4gUGVyaGFwcyB5b3Ugd2FudGVkIHRoZSBvdmVybG9h
ZGVkIHZlcnNpb24gInZvaWQgYWRkKGphdmEuYXd0LlBvcHVwTWVudSBtKTsi
IGluc3RlYWQ/DQoNCg0KICAgOTY5LiAgICAgICAgIHRwLnNldExpc3RlbmVy
cygpOw0KICAgICAgICAgICAgICAgIF4tLS0tLS0tLS0tLS0tLS1eDQoqKiog
U2VtYW50aWMgRXJyb3I6IE5vIG1ldGhvZCBuYW1lZCAic2V0TGlzdGVuZXJz
IiB3YXMgZm91bmQgaW4gdHlwZSAiamF2YS5hd3QuVGV4dEFyZWEkVGV4dFBh
bmUiLg0KDQoNCiAgIDk4My4gICAgICAgICB0cC5hZGQoIG0pOw0KICAgICAg
ICAgICAgICAgIF4tLS0tLS0tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjogTm8g
bWV0aG9kIG5hbWVkICJhZGQiIHdhcyBmb3VuZCBpbiB0eXBlICJqYXZhLmF3
dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAxMDA2LiAgICAgICAgIHRw
LmFkZCggcCk7DQogICAgICAgICAgICAgICAgXi0tLS0tLS0tXg0KKioqIFNl
bWFudGljIEVycm9yOiBObyBtZXRob2QgbmFtZWQgImFkZCIgd2FzIGZvdW5k
IGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5lIi4NCg0KDQog
IDEwMTAuICAgICAgICAgdHAuaW5uZXJMYXlvdXQoKTsNCiAgICAgICAgICAg
ICAgICBeLS0tLS0tLS0tLS0tLS1eDQoqKiogU2VtYW50aWMgRXJyb3I6IE5v
IG1ldGhvZCBuYW1lZCAiaW5uZXJMYXlvdXQiIHdhcyBmb3VuZCBpbiB0eXBl
ICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAxMDE2LiAg
ICAgICAgIHJldHVybiB0cC5nZXRCYWNrZ3JvdW5kKCk7DQogICAgICAgICAg
ICAgICAgICAgICAgIF4tLS0tLS0tLS0tLS0tLS0tXg0KKioqIFNlbWFudGlj
IEVycm9yOiBObyBtZXRob2QgbmFtZWQgImdldEJhY2tncm91bmQiIHdhcyBm
b3VuZCBpbiB0eXBlICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoN
Cg0KICAxMDMxLiAgICAgICAgIHJldHVybiB0cC5nZXRGb3JlZ3JvdW5kKCk7
DQogICAgICAgICAgICAgICAgICAgICAgIF4tLS0tLS0tLS0tLS0tLS0tXg0K
KioqIFNlbWFudGljIEVycm9yOiBObyBtZXRob2QgbmFtZWQgImdldEZvcmVn
cm91bmQiIHdhcyBmb3VuZCBpbiB0eXBlICJqYXZhLmF3dC5UZXh0QXJlYSRU
ZXh0UGFuZSIuDQoNCg0KICAxMDU1LiAgICAgICAgIGlmICggKHRwLmhTY3Jv
bGwgPT0gbnVsbCkgJiYgKHRwLnZTY3JvbGwgPT0gbnVsbCkgKQ0KICAgICAg
ICAgICAgICAgICAgICAgICAgIF4tLS0tLV4NCioqKiBTZW1hbnRpYyBFcnJv
cjogTm8gZmllbGQgbmFtZWQgImhTY3JvbGwiIHdhcyBmb3VuZCBpbiB0eXBl
ICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAxMDU1LiAg
ICAgICAgIGlmICggKHRwLmhTY3JvbGwgPT0gbnVsbCkgJiYgKHRwLnZTY3Jv
bGwgPT0gbnVsbCkgKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIF4tLS0tLV4NCioqKiBTZW1hbnRpYyBFcnJv
cjogTm8gZmllbGQgbmFtZWQgInZTY3JvbGwiIHdhcyBmb3VuZCBpbiB0eXBl
ICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAxMDU3LiAg
ICAgICAgIGlmICggdHAuaFNjcm9sbCA9PSBudWxsICkNCiAgICAgICAgICAg
ICAgICAgICAgICAgIF4tLS0tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjogTm8g
ZmllbGQgbmFtZWQgImhTY3JvbGwiIHdhcyBmb3VuZCBpbiB0eXBlICJqYXZh
LmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAxMDU5LiAgICAgICAg
IGlmICggdHAudlNjcm9sbCA9PSBudWxsICkNCiAgICAgICAgICAgICAgICAg
ICAgICAgIF4tLS0tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjogTm8gZmllbGQg
bmFtZWQgInZTY3JvbGwiIHdhcyBmb3VuZCBpbiB0eXBlICJqYXZhLmF3dC5U
ZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAxMDcyLiAgICAgICAgICAgICAg
ICAgVGV4dEJ1ZmZlciB0YiA9IChUZXh0QnVmZmVyKSB0cC5yb3dzLmVsZW1l
bnRBdCggaSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIF4tLV4NCioqKiBTZW1hbnRpYyBFcnJv
cjogTm8gZmllbGQgbmFtZWQgInJvd3MiIHdhcyBmb3VuZCBpbiB0eXBlICJq
YXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAxMDk4LiAgICAg
ICAgIGludCBpLCBpbWF4ID0gdHAucm93cy5zaXplKCktMTsNCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIF4tLV4NCioqKiBTZW1hbnRpYyBF
cnJvcjogTm8gZmllbGQgbmFtZWQgInJvd3MiIHdhcyBmb3VuZCBpbiB0eXBl
ICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAxMTAyLiAg
ICAgICAgICAgICAgICAgVGV4dEJ1ZmZlciB0YiA9IChUZXh0QnVmZmVyKSB0
cC5yb3dzLmVsZW1lbnRBdChpKTsNCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXi0tXg0KKioqIFNl
bWFudGljIEVycm9yOiBObyBmaWVsZCBuYW1lZCAicm93cyIgd2FzIGZvdW5k
IGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5lIi4NCg0KDQog
IDExMTIuICAgICAgICAgdHAuaFBvc0NoYW5nZSgpOw0KICAgICAgICAgICAg
ICAgIF4tLS0tLS0tLS0tLS0tXg0KKioqIFNlbWFudGljIEVycm9yOiBObyBt
ZXRob2QgbmFtZWQgImhQb3NDaGFuZ2UiIHdhcyBmb3VuZCBpbiB0eXBlICJq
YXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAxMTMwLiAgICAg
ICAgIHJldHVybiBuZXcgRGltZW5zaW9uKCBjb2xzKnRwLmZtLmNoYXJXaWR0
aCggJ3gnKSwgcm93cyp0cC5mbS5nZXRIZWlnaHQoKSApOw0KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5eDQoqKiog
U2VtYW50aWMgRXJyb3I6IE5vIGZpZWxkIG5hbWVkICJmbSIgd2FzIGZvdW5k
IGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5lIi4NCg0KDQog
IDExMzAuICAgICAgICAgcmV0dXJuIG5ldyBEaW1lbnNpb24oIGNvbHMqdHAu
Zm0uY2hhcldpZHRoKCAneCcpLCByb3dzKnRwLmZtLmdldEhlaWdodCgpICk7
DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5eDQoqKiogU2VtYW50
aWMgRXJyb3I6IE5vIGZpZWxkIG5hbWVkICJmbSIgd2FzIGZvdW5kIGluIHR5
cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5lIi4NCg0KDQogIDExMzYu
ICAgICAgICAgZy5wYWludENoaWxkKCB0cCwgZmFsc2UpOw0KICAgICAgICAg
ICAgICAgIF4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXg0KKioqIFNlbWFudGlj
IEVycm9yOiBObyBhcHBsaWNhYmxlIG92ZXJsb2FkIGZvciB0aGUgbWV0aG9k
IG5hbWVkICJwYWludENoaWxkIiB3YXMgZm91bmQgaW4gdHlwZSAiamF2YS5h
d3QuR3JhcGhpY3MiLiBQZXJoYXBzIHlvdSB3YW50ZWQgdGhlIG92ZXJsb2Fk
ZWQgdmVyc2lvbiAidm9pZCBwYWludENoaWxkKGphdmEuYXd0LkNvbXBvbmVu
dCBjLCBib29sZWFuIGlzVXBkYXRlKTsiIGluc3RlYWQ/DQoNCg0KICAxMTM4
LiAgICAgICAgIGlmICggKHRwLmhTY3JvbGwgIT0gbnVsbCkgJiYgKCh0cC5o
U2Nyb2xsLmZsYWdzICYgSVNfVklTSUJMRSkgIT0gMCkgKQ0KICAgICAgICAg
ICAgICAgICAgICAgICAgIF4tLS0tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjog
Tm8gZmllbGQgbmFtZWQgImhTY3JvbGwiIHdhcyBmb3VuZCBpbiB0eXBlICJq
YXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAxMTM4LiAgICAg
ICAgIGlmICggKHRwLmhTY3JvbGwgIT0gbnVsbCkgJiYgKCh0cC5oU2Nyb2xs
LmZsYWdzICYgSVNfVklTSUJMRSkgIT0gMCkgKQ0KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeLS0tLS1eDQoq
KiogU2VtYW50aWMgRXJyb3I6IE5vIGZpZWxkIG5hbWVkICJoU2Nyb2xsIiB3
YXMgZm91bmQgaW4gdHlwZSAiamF2YS5hd3QuVGV4dEFyZWEkVGV4dFBhbmUi
Lg0KDQoNCiAgMTEzOS4gICAgICAgICAgICAgICAgIGcucGFpbnRDaGlsZCgg
dHAuaFNjcm9sbCwgdHJ1ZSk7DQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIF4tLS0tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjog
Tm8gZmllbGQgbmFtZWQgImhTY3JvbGwiIHdhcyBmb3VuZCBpbiB0eXBlICJq
YXZhLmF3dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAxMTQwLiAgICAg
ICAgIGlmICggKHRwLnZTY3JvbGwgIT0gbnVsbCkgJiYgKCh0cC52U2Nyb2xs
LmZsYWdzICYgSVNfVklTSUJMRSkgIT0gMCkgKQ0KICAgICAgICAgICAgICAg
ICAgICAgICAgIF4tLS0tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjogTm8gZmll
bGQgbmFtZWQgInZTY3JvbGwiIHdhcyBmb3VuZCBpbiB0eXBlICJqYXZhLmF3
dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAxMTQwLiAgICAgICAgIGlm
ICggKHRwLnZTY3JvbGwgIT0gbnVsbCkgJiYgKCh0cC52U2Nyb2xsLmZsYWdz
ICYgSVNfVklTSUJMRSkgIT0gMCkgKQ0KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeLS0tLS1eDQoqKiogU2Vt
YW50aWMgRXJyb3I6IE5vIGZpZWxkIG5hbWVkICJ2U2Nyb2xsIiB3YXMgZm91
bmQgaW4gdHlwZSAiamF2YS5hd3QuVGV4dEFyZWEkVGV4dFBhbmUiLg0KDQoN
CiAgMTE0MS4gICAgICAgICAgICAgICAgIGcucGFpbnRDaGlsZCggdHAudlNj
cm9sbCwgdHJ1ZSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIF4tLS0tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjogTm8gZmll
bGQgbmFtZWQgInZTY3JvbGwiIHdhcyBmb3VuZCBpbiB0eXBlICJqYXZhLmF3
dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAxMTU5LiAgICAgICAgIHJl
dHVybiBuZXcgRGltZW5zaW9uKCBjb2xzKnRwLmZtLmNoYXJXaWR0aCggJ3gn
KSwgcm93cyp0cC5mbS5nZXRIZWlnaHQoKSApOw0KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5eDQoqKiogU2VtYW50
aWMgRXJyb3I6IE5vIGZpZWxkIG5hbWVkICJmbSIgd2FzIGZvdW5kIGluIHR5
cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5lIi4NCg0KDQogIDExNTku
ICAgICAgICAgcmV0dXJuIG5ldyBEaW1lbnNpb24oIGNvbHMqdHAuZm0uY2hh
cldpZHRoKCAneCcpLCByb3dzKnRwLmZtLmdldEhlaWdodCgpICk7DQogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIF5eDQoqKiogU2VtYW50aWMgRXJy
b3I6IE5vIGZpZWxkIG5hbWVkICJmbSIgd2FzIGZvdW5kIGluIHR5cGUgImph
dmEuYXd0LlRleHRBcmVhJFRleHRQYW5lIi4NCg0KDQogIDExODIuICAgICAg
ICAgdHAucmVxdWVzdEZvY3VzKCk7DQogICAgICAgICAgICAgICAgXi0tLS0t
LS0tLS0tLS0tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjogTm8gbWV0aG9kIG5h
bWVkICJyZXF1ZXN0Rm9jdXMiIHdhcyBmb3VuZCBpbiB0eXBlICJqYXZhLmF3
dC5UZXh0QXJlYSRUZXh0UGFuZSIuDQoNCg0KICAxMTkwLiAgICAgICAgIHRw
LmlubmVyTGF5b3V0KCk7DQogICAgICAgICAgICAgICAgXi0tLS0tLS0tLS0t
LS0tXg0KKioqIFNlbWFudGljIEVycm9yOiBObyBtZXRob2QgbmFtZWQgImlu
bmVyTGF5b3V0IiB3YXMgZm91bmQgaW4gdHlwZSAiamF2YS5hd3QuVGV4dEFy
ZWEkVGV4dFBhbmUiLg0KDQoNCiAgMTIwMi4gICAgICAgICBUZXh0QnVmZmVy
IHRiID0gKFRleHRCdWZmZXIpIHRwLnJvd3MubGFzdEVsZW1lbnQoKTsNCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IF4tLV4NCioqKiBTZW1hbnRpYyBFcnJvcjogTm8gZmllbGQgbmFtZWQgInJv
d3MiIHdhcyBmb3VuZCBpbiB0eXBlICJqYXZhLmF3dC5UZXh0QXJlYSRUZXh0
UGFuZSIuDQoNCg0KICAxMjA3LiAgICAgICAgIHRwLnVwZGF0ZVNlbCggdGIu
bGVuLCB0cC5yb3dzLnNpemUoKS0xLCB0cnVlKTsNCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXi0tXg0KKioqIFNlbWFudGlj
IEVycm9yOiBObyBmaWVsZCBuYW1lZCAicm93cyIgd2FzIGZvdW5kIGluIHR5
cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5lIi4NCg0KDQogIDEyMTIu
ICAgICAgICAgdHAuc2V0QmFja2dyb3VuZCggY2xyKTsNCiAgICAgICAgICAg
ICAgICBeLS0tLS0tLS0tLS0tLS0tLS0tLS1eDQoqKiogU2VtYW50aWMgRXJy
b3I6IE5vIG1ldGhvZCBuYW1lZCAic2V0QmFja2dyb3VuZCIgd2FzIGZvdW5k
IGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5lIi4NCg0KDQog
IDEyMjcuICAgICAgICAgdHAuc2V0RW5hYmxlZCggaXNFbmFibGVkKTsNCiAg
ICAgICAgICAgICAgICBeLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1eDQoqKiog
U2VtYW50aWMgRXJyb3I6IE5vIG1ldGhvZCBuYW1lZCAic2V0RW5hYmxlZCIg
d2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRleHRQYW5l
Ii4NCg0KDQogIDEyMzcuICAgICAgICAgdHAuc2V0Rm9yZWdyb3VuZCggY2xy
KTsNCiAgICAgICAgICAgICAgICBeLS0tLS0tLS0tLS0tLS0tLS0tLS1eDQoq
KiogU2VtYW50aWMgRXJyb3I6IE5vIG1ldGhvZCBuYW1lZCAic2V0Rm9yZWdy
b3VuZCIgd2FzIGZvdW5kIGluIHR5cGUgImphdmEuYXd0LlRleHRBcmVhJFRl
eHRQYW5lIi4NCm1ha2VbMV06ICoqKiBbbGliL3N0YW1wXSBFcnJvciAxDQpt
YWtlOiAqKiogW0tsYXNzZXNdIEVycm9yIDINCg==
--Boundary_(ID_JYZaPesEiz+NVtjfIh3VQQ)--