PGh0bWw+CjxoZWFkPgogICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9d2luZG93cy0xMjUxIj4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9ImNzcy1saW5rLWNoYXJzZXQuY3NzIiBjaGFyc2V0PSJ1dGYtOCI+CjwvaGVhZD4KPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgo8cD5UZXN0IHRvIHNlZSBpZiB0aGUgY2hhcnNldCBwcm9wZXJ0eSBpbiBhIGxpbmsgd29ya3MgcHJvcGVybHkuPC9wPgo8cCBpZD0icmVzdWx0Ij48L3A+CjxzY3JpcHQ+CmZ1bmN0aW9uIHRlc3QoKSB7CiAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICB0cnkgewogICAgICAgIHRleHQgPSBkb2N1bWVudC5zdHlsZVNoZWV0c1swXS5ydWxlc1swXS5zdHlsZS5jc3NUZXh0OwogICAgICAgIGlmICh0ZXh0Lm1hdGNoKCcuKlNV0dHFU1MuKicpKQogICAgICAgICAgICByZXN1bHQuaW5uZXJIVE1MID0gIlNVQ0NFU1MiOwogICAgICAgIGVsc2UKICAgICAgICAgICAgcmVzdWx0LmlubmVySFRNTCA9ICJGQUlMVVJFOiAiICsgdGV4dDsKICAgIH0gY2F0Y2ggKGV4KSB7CiAgICAgICAgcmVzdWx0LmlubmVySFRNTCA9ICJGQUlMVVJFOiAiICsgZXg7CiAgICB9Cn0KPC9zY3JpcHQ+CjwvYm9keT4KPC9odG1sPgo=