R2l0IGNvbW1pdCA2NzQ1YmQ3ZTQ3OTY1NjA5NTliYjY3ZTMzYjdjN2Y4NmY5NmE1YTk0IGJ5IEFs ZXggTWVycnkuCkNvbW1pdHRlZCBvbiAwOC8xMS8yMDE1IGF0IDE5OjI5LgpQdXNoZWQgYnkgYWxl eG1lcnJ5IGludG8gYnJhbmNoICdtYXN0ZXInLgoKUmV2ZXJ0ICJNYWtlIHN1cmUgd2UgbG9hZCB0 cmFuc2xhdGlvbnMgb24gdGhlIG1haW4gdGhyZWFkLiIKClRoaXMgYnJva2UgdGhlIGJ1aWxkIGZv ciBwcm9qZWN0cyB3aGljaCB1c2VkIGVjbV9jcmVhdGVfcW1fbG9hZGVyIGluCnVudXN1YWwgd2F5 cy4gQSBiZXR0ZXIgYXBwcm9hY2ggaXMgY29taW5nLCBidXQgd29uJ3QgYmUgaW4gZS1jLW0gNS4x Ni4KClRoaXMgcmV2ZXJ0cyBjb21taXQgMDA5YzQ4MDQxMzkxMGU4YzFhMThmNGQxNDIwZjRhNTE3 ZWE2MDZlNi4KCkNDQlVHOiAzNDYxODgKQ0NNQUlMOiByZWxlYXNlLXRlYW1Aa2RlLm9yZwpDQ01B SUw6IGtkZS1idWlsZHN5c3RlbUBrZGUub3JnCgpNICArMiAgICAtMTMgICBtb2R1bGVzL0VDTVBv UW1Ub29scy5jbWFrZQpNICArMjYgICAtNjIgICBtb2R1bGVzL0VDTVFtTG9hZGVyLmNwcC5pbgpN ICArMiAgICAtMiAgICB0ZXN0cy9DTWFrZUxpc3RzLnR4dApNICArNSAgICAtMjcgICB0ZXN0cy9F Q01Qb1FtVG9vbHNUZXN0L0NNYWtlTGlzdHMudHh0CkQgICswICAgIC0yICAgIHRlc3RzL0VDTVBv UW1Ub29sc1Rlc3QvY2hlY2tfY29uZi5jbWFrZS5pbgpSICArMTAgICAtMzAgICB0ZXN0cy9FQ01Q b1FtVG9vbHNUZXN0L2NoZWNrX3RyZWUuY21ha2UuaW4gW2Zyb206IHRlc3RzL0VDTVBvUW1Ub29s c1Rlc3QvY2hlY2suY21ha2UuaW4gLSAwNTIlIHNpbWlsYXJpdHldCkQgICswICAgIC0yMiAgIHRl c3RzL0VDTVBvUW1Ub29sc1Rlc3QvdHJfdGVzdC1wby9lbi9jYXRhbG9nLnBvCkQgICswICAgIC0y MiAgIHRlc3RzL0VDTVBvUW1Ub29sc1Rlc3QvdHJfdGVzdC1wby9lbl9HQi9jYXRhbG9nLnBvCkQg ICswICAgIC0xNiAgIHRlc3RzL0VDTVBvUW1Ub29sc1Rlc3QvdHJfdGVzdC5jcHAKRCAgKzAgICAg LTY4ICAgdGVzdHMvRUNNUG9RbVRvb2xzVGVzdC90cl90aHJlYWRfdGVzdC5jcHAKRCAgKzAgICAg LTEyICAgdGVzdHMvRUNNUG9RbVRvb2xzVGVzdC90cl90aHJlYWRfdGVzdF9tb2R1bGUuY3BwCgpo dHRwOi8vY29tbWl0cy5rZGUub3JnL2V4dHJhLWNtYWtlLW1vZHVsZXMvNjc0NWJkN2U0Nzk2NTYw OTU5YmI2N2UzM2I3YzdmODZmOTZhNWE5NAoKZGlmZiAtLWdpdCBhL21vZHVsZXMvRUNNUG9RbVRv b2xzLmNtYWtlIGIvbW9kdWxlcy9FQ01Qb1FtVG9vbHMuY21ha2UKaW5kZXggMjIyNThkYy4uMTJi Y2Y2YiAxMDA2NDQKLS0tIGEvbW9kdWxlcy9FQ01Qb1FtVG9vbHMuY21ha2UKKysrIGIvbW9kdWxl cy9FQ01Qb1FtVG9vbHMuY21ha2UKQEAgLTk5LDIwICs5OSw5IEBAIGVuZGZ1bmN0aW9uKCkKIAog CiBmdW5jdGlvbihlY21fY3JlYXRlX3FtX2xvYWRlciBvdXRfdmFyIGNhdGFsb2dfbmFtZSkKLSAg ICBzZXQobG9hZGVyX2NwcCAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vRUNNUW1Mb2FkZXIu Y3BwKQotICAgIHNldChsb2FkZXJfbW9jICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9FQ01R bUxvYWRlci5tb2MpCi0KICAgICAjIGNhdGFsb2dfbmFtZSBpcyB1c2VkIGluIEVDTVFtTG9hZGVy LmNwcC5pbgotICAgIGNvbmZpZ3VyZV9maWxlKCR7RUNNX01PRFVMRV9ESVJ9L0VDTVFtTG9hZGVy LmNwcC5pbiAiJHtsb2FkZXJfY3BwfSIgQE9OTFkpCi0gICAgc2V0KCR7b3V0X3Zhcn0gIiR7JHtv dXRfdmFyfX0iICIke2xvYWRlcl9jcHB9IiAiJHtsb2FkZXJfbW9jfSIgUEFSRU5UX1NDT1BFKQot Ci0gICAgIyBjYW4ndCBhc3N1bWUgdGFyZ2V0IGhhcyBBVVRPTU9DIHR1cm5lZCBvbgotICAgIGlm KE5PVCBRdDVDb3JlX0ZPVU5EKQotICAgICAgICBmaW5kX3BhY2thZ2UoUXQ1Q29yZSkKLSAgICBl bmRpZigpCi0gICAgaWYoUXQ1Q29yZV9GT1VORCkKLSAgICAgICAgcXQ1X2dlbmVyYXRlX21vYygi JHtsb2FkZXJfY3BwfSIgIiR7bG9hZGVyX21vY30iKQotICAgIGVuZGlmKCkKKyAgICBjb25maWd1 cmVfZmlsZSgke0VDTV9NT0RVTEVfRElSfS9FQ01RbUxvYWRlci5jcHAuaW4gRUNNUW1Mb2FkZXIu Y3BwIEBPTkxZKQorICAgIHNldCgke291dF92YXJ9ICR7JHtvdXRfdmFyfX0gJHtDTUFLRV9DVVJS RU5UX0JJTkFSWV9ESVJ9L0VDTVFtTG9hZGVyLmNwcCBQQVJFTlRfU0NPUEUpCiBlbmRmdW5jdGlv bigpCiAKIApkaWZmIC0tZ2l0IGEvbW9kdWxlcy9FQ01RbUxvYWRlci5jcHAuaW4gYi9tb2R1bGVz L0VDTVFtTG9hZGVyLmNwcC5pbgppbmRleCBmYzY2N2JhLi40MjNkMWM5IDEwMDY0NAotLS0gYS9t b2R1bGVzL0VDTVFtTG9hZGVyLmNwcC5pbgorKysgYi9tb2R1bGVzL0VDTVFtTG9hZGVyLmNwcC5p bgpAQCAtMzIsNzcgKzMyLDQxIEBACiAgKi8KICNpbmNsdWRlIDxRQ29yZUFwcGxpY2F0aW9uPgog I2luY2x1ZGUgPFFMb2NhbGU+Ci0jaW5jbHVkZSA8UU1ldGFPYmplY3Q+CiAjaW5jbHVkZSA8UVN0 YW5kYXJkUGF0aHM+Ci0jaW5jbHVkZSA8UVRocmVhZD4KICNpbmNsdWRlIDxRVHJhbnNsYXRvcj4K IAotbmFtZXNwYWNlIHsKKyNpbmNsdWRlIDxRRGVidWc+CiAKLSAgICBib29sIGxvYWRUcmFuc2xh dGlvbihjb25zdCBRU3RyaW5nICZsb2NhbGVEaXJOYW1lKQotICAgIHsKLSAgICAgICAgUVN0cmlu ZyBzdWJQYXRoID0gUVN0cmluZ0xpdGVyYWwoImxvY2FsZS8iKSArIGxvY2FsZURpck5hbWUgKyBR U3RyaW5nTGl0ZXJhbCgiL0xDX01FU1NBR0VTL0BjYXRhbG9nX25hbWVALnFtIik7Ci0gICAgICAg IFFTdHJpbmcgZnVsbFBhdGggPSBRU3RhbmRhcmRQYXRoczo6bG9jYXRlKFFTdGFuZGFyZFBhdGhz OjpHZW5lcmljRGF0YUxvY2F0aW9uLCBzdWJQYXRoKTsKLSAgICAgICAgaWYgKGZ1bGxQYXRoLmlz RW1wdHkoKSkgewotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgICAg IFFUcmFuc2xhdG9yICp0cmFuc2xhdG9yID0gbmV3IFFUcmFuc2xhdG9yKFFDb3JlQXBwbGljYXRp b246Omluc3RhbmNlKCkpOwotICAgICAgICBpZiAoIXRyYW5zbGF0b3ItPmxvYWQoZnVsbFBhdGgp KSB7Ci0gICAgICAgICAgICBkZWxldGUgdHJhbnNsYXRvcjsKLSAgICAgICAgICAgIHJldHVybiBm YWxzZTsKLSAgICAgICAgfQotICAgICAgICBRQ29yZUFwcGxpY2F0aW9uOjppbnN0YW5jZSgpLT5p bnN0YWxsVHJhbnNsYXRvcih0cmFuc2xhdG9yKTsKLSAgICAgICAgcmV0dXJuIHRydWU7CitzdGF0 aWMgYm9vbCBsb2FkVHJhbnNsYXRpb24oY29uc3QgUVN0cmluZyAmbG9jYWxlRGlyTmFtZSkKK3sK KyAgICBRU3RyaW5nIHN1YlBhdGggPSBRU3RyaW5nTGl0ZXJhbCgibG9jYWxlLyIpICsgbG9jYWxl RGlyTmFtZSArIFFTdHJpbmdMaXRlcmFsKCIvTENfTUVTU0FHRVMvQGNhdGFsb2dfbmFtZUAucW0i KTsKKyAgICBRU3RyaW5nIGZ1bGxQYXRoID0gUVN0YW5kYXJkUGF0aHM6OmxvY2F0ZShRU3RhbmRh cmRQYXRoczo6R2VuZXJpY0RhdGFMb2NhdGlvbiwgc3ViUGF0aCk7CisgICAgaWYgKGZ1bGxQYXRo LmlzRW1wdHkoKSkgeworICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQotCi0gICAgdm9pZCBs b2FkKCkKLSAgICB7Ci0gICAgICAgIC8vIFRoZSB3YXkgUXQgdHJhbnNsYXRpb24gc3lzdGVtIGhh bmRsZXMgcGx1cmFsIGZvcm1zIG1ha2VzIGl0IG5lY2Vzc2FyeSB0bwotICAgICAgICAvLyBoYXZl IGEgdHJhbnNsYXRpb24gZmlsZSB3aGljaCBjb250YWlucyBvbmx5IHBsdXJhbCBmb3JtcyBmb3Ig YGVuYC4gVGhhdCdzCi0gICAgICAgIC8vIHdoeSB3ZSBsb2FkIHRoZSBgZW5gIHRyYW5zbGF0aW9u IHVuY29uZGl0aW9uYWxseSwgdGhlbiBsb2FkIHRoZQotICAgICAgICAvLyB0cmFuc2xhdGlvbiBm b3IgdGhlIGN1cnJlbnQgbG9jYWxlIHRvIG92ZXJsb2FkIGl0LgotICAgICAgICBsb2FkVHJhbnNs YXRpb24oUVN0cmluZ0xpdGVyYWwoImVuIikpOwotCi0gICAgICAgIFFMb2NhbGUgbG9jYWxlID0g UUxvY2FsZTo6c3lzdGVtKCk7Ci0gICAgICAgIGlmIChsb2NhbGUubmFtZSgpICE9IFFTdHJpbmdM aXRlcmFsKCJlbiIpKSB7Ci0gICAgICAgICAgICBpZiAoIWxvYWRUcmFuc2xhdGlvbihsb2NhbGUu bmFtZSgpKSkgewotICAgICAgICAgICAgICAgIGxvYWRUcmFuc2xhdGlvbihsb2NhbGUuYmNwNDdO YW1lKCkpOwotICAgICAgICAgICAgfQotICAgICAgICB9CisgICAgUVRyYW5zbGF0b3IgKnRyYW5z bGF0b3IgPSBuZXcgUVRyYW5zbGF0b3IoUUNvcmVBcHBsaWNhdGlvbjo6aW5zdGFuY2UoKSk7Cisg ICAgaWYgKCF0cmFuc2xhdG9yLT5sb2FkKGZ1bGxQYXRoKSkgeworICAgICAgICBkZWxldGUgdHJh bnNsYXRvcjsKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KKyAgICBRQ29yZUFwcGxpY2F0 aW9uOjppbnN0YW5jZSgpLT5pbnN0YWxsVHJhbnNsYXRvcih0cmFuc2xhdG9yKTsKKyAgICByZXR1 cm4gdHJ1ZTsKK30KIAotICAgIC8vIGhlbHBlciB0byBjYWxsIGxvYWQoKSBvbiB0aGUgY29ycmVj dCB0aHJlYWQKLSAgICBjbGFzcyBMb2FkZXIgOiBwdWJsaWMgUU9iamVjdAotICAgIHsKLSAgICAg ICAgUV9PQkpFQ1QKLQotICAgIHB1YmxpYyBRX1NMT1RTOgotICAgICAgICB2b2lkIGNhbGxMb2Fk QW5kRGVsZXRlU2VsZigpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGxvYWQoKTsKLSAgICAgICAg ICAgIHRoaXMtPmRlbGV0ZUxhdGVyKCk7Ci0gICAgICAgIH0KLSAgICB9Oworc3RhdGljIHZvaWQg bG9hZCgpCit7CisgICAgLy8gVGhlIHdheSBRdCB0cmFuc2xhdGlvbiBzeXN0ZW0gaGFuZGxlcyBw bHVyYWwgZm9ybXMgbWFrZXMgaXQgbmVjZXNzYXJ5IHRvCisgICAgLy8gaGF2ZSBhIHRyYW5zbGF0 aW9uIGZpbGUgd2hpY2ggY29udGFpbnMgb25seSBwbHVyYWwgZm9ybXMgZm9yIGBlbmAuIFRoYXQn cworICAgIC8vIHdoeSB3ZSBsb2FkIHRoZSBgZW5gIHRyYW5zbGF0aW9uIHVuY29uZGl0aW9uYWxs eSwgdGhlbiBsb2FkIHRoZQorICAgIC8vIHRyYW5zbGF0aW9uIGZvciB0aGUgY3VycmVudCBsb2Nh bGUgdG8gb3ZlcmxvYWQgaXQuCisgICAgbG9hZFRyYW5zbGF0aW9uKFFTdHJpbmdMaXRlcmFsKCJl biIpKTsKIAotICAgIHZvaWQgbG9hZE9uTWFpblRocmVhZCgpCi0gICAgewotICAgICAgICAvLyBJ ZiB0aGlzIGxpYnJhcnkgaXMgbG9hZGVkIGFmdGVyIHRoZSBRQ29yZUFwcGxpY2F0aW9uIGluc3Rh bmNlIGlzIGNyZWF0ZWQKLSAgICAgICAgLy8gKGVnOiBiZWNhdXNlIGl0IGlzIGJyb3VnaHQgaW4g YnkgYSBwbHVnaW4pLCB0aGVyZSBpcyBubyBndWFyYW50ZWUgdGhpcwotICAgICAgICAvLyBmdW5j dGlvbiB3aWxsIGJlIGNhbGxlZCBvbiB0aGUgbWFpbiB0aHJlYWQuCi0gICAgICAgIC8vIFFDb3Jl QXBwbGljYXRpb246Omluc3RhbGxUcmFuc2xhdG9yIG5lZWRzIHRvIGJlIGNhbGxlZCBvbiB0aGUg bWFpbgotICAgICAgICAvLyB0aHJlYWQsIGJlY2F1c2UgaXQgdXNlcyBRQ29yZUFwcGxpY2F0aW9u OjpzZW5kRXZlbnQuCi0gICAgICAgIGlmIChRVGhyZWFkOjpjdXJyZW50VGhyZWFkKCkgPT0gUUNv cmVBcHBsaWNhdGlvbjo6aW5zdGFuY2UoKS0+dGhyZWFkKCkpIHsKLSAgICAgICAgICAgIGxvYWQo KTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIC8vIFFPYmplY3RzIGluaGVyaXQgdGhl aXIgcGFyZW50IG9iamVjdCdzIHRocmVhZAotICAgICAgICAgICAgTG9hZGVyICpsb2FkZXIgPSBu ZXcgTG9hZGVyKCk7Ci0gICAgICAgICAgICBsb2FkZXItPm1vdmVUb1RocmVhZChRQ29yZUFwcGxp Y2F0aW9uOjppbnN0YW5jZSgpLT50aHJlYWQoKSk7Ci0gICAgICAgICAgICBRTWV0YU9iamVjdDo6 aW52b2tlTWV0aG9kKGxvYWRlciwgImNhbGxMb2FkQW5kRGVsZXRlU2VsZiIsIFF0OjpBdXRvQ29u bmVjdGlvbik7CisgICAgUUxvY2FsZSBsb2NhbGUgPSBRTG9jYWxlOjpzeXN0ZW0oKTsKKyAgICBp ZiAobG9jYWxlLm5hbWUoKSAhPSBRU3RyaW5nTGl0ZXJhbCgiZW4iKSkgeworICAgICAgICBpZiAo IWxvYWRUcmFuc2xhdGlvbihsb2NhbGUubmFtZSgpKSkgeworICAgICAgICAgICAgbG9hZFRyYW5z bGF0aW9uKGxvY2FsZS5iY3A0N05hbWUoKSk7CiAgICAgICAgIH0KICAgICB9Ci0KIH0KIAotUV9D T1JFQVBQX1NUQVJUVVBfRlVOQ1RJT04obG9hZE9uTWFpblRocmVhZCkKLQotI2luY2x1ZGUgIkVD TVFtTG9hZGVyLm1vYyIKK1FfQ09SRUFQUF9TVEFSVFVQX0ZVTkNUSU9OKGxvYWQpCmRpZmYgLS1n aXQgYS90ZXN0cy9DTWFrZUxpc3RzLnR4dCBiL3Rlc3RzL0NNYWtlTGlzdHMudHh0CmluZGV4IDll NmRlMTIuLjhhNzVhZTYgMTAwNjQ0Ci0tLSBhL3Rlc3RzL0NNYWtlTGlzdHMudHh0CisrKyBiL3Rl c3RzL0NNYWtlTGlzdHMudHh0CkBAIC0xMDEsMTMgKzEwMSwxMyBAQCBhZGRfdGVzdF9tYWNybyhF Q01JbnN0YWxsSWNvbnNUZXN0CiAgICAgJHtDTUFLRV9DT01NQU5EfSAtUCAiJHtDTUFLRV9DVVJS RU5UX0JJTkFSWV9ESVJ9L0VDTUluc3RhbGxJY29uc1Rlc3QvY2hlY2tfdHJlZS5jbWFrZSIKICkK IAotaWYgKFF0NUNvcmVfRk9VTkQgQU5EIFF0NUxpbmd1aXN0VG9vbHNfRk9VTkQpCitpZiAoUXQ1 TGluZ3Vpc3RUb29sc19GT1VORCkKICAgICBzZXQoRUNNUG9RbVRvb2xzVGVzdF9FWFRSQV9PUFRJ T05TCiAgICAgICAgIC0tYnVpbGQtdGFyZ2V0IGluc3RhbGwKICAgICAgICAgLS1idWlsZC1vcHRp b25zCiAgICAgICAgICAgICAiLURDTUFLRV9JTlNUQUxMX1BSRUZJWDpQQVRIPSR7Q01BS0VfQ1VS UkVOVF9CSU5BUllfRElSfS9FQ01Qb1FtVG9vbHNUZXN0L0luc3RhbGxEaXJlY3RvcnkiCiAgICAg KQogICAgIGFkZF90ZXN0X21hY3JvKEVDTVBvUW1Ub29sc1Rlc3QKLSAgICAgICAgJHtDTUFLRV9D T01NQU5EfSAtUCAiJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L0VDTVBvUW1Ub29sc1Rlc3Qv Y2hlY2suY21ha2UiCisgICAgICAgICR7Q01BS0VfQ09NTUFORH0gLVAgIiR7Q01BS0VfQ1VSUkVO VF9CSU5BUllfRElSfS9FQ01Qb1FtVG9vbHNUZXN0L2NoZWNrX3RyZWUuY21ha2UiCiAgICAgKQog ZW5kaWYoKQpkaWZmIC0tZ2l0IGEvdGVzdHMvRUNNUG9RbVRvb2xzVGVzdC9DTWFrZUxpc3RzLnR4 dCBiL3Rlc3RzL0VDTVBvUW1Ub29sc1Rlc3QvQ01ha2VMaXN0cy50eHQKaW5kZXggZTA4YTJiOC4u MTUzNTFkMiAxMDA2NDQKLS0tIGEvdGVzdHMvRUNNUG9RbVRvb2xzVGVzdC9DTWFrZUxpc3RzLnR4 dAorKysgYi90ZXN0cy9FQ01Qb1FtVG9vbHNUZXN0L0NNYWtlTGlzdHMudHh0CkBAIC05LDE0ICs5 LDkgQEAgZmlsZShSRU1PVkVfUkVDVVJTRSAiJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0iKQogCiBp bmNsdWRlKEVDTVBvUW1Ub29scykKIAotaW5jbHVkZSguLi90ZXN0X2hlbHBlcnMuY21ha2UpCi0K LXVuc2V0KFFNTE9BREVSX0ZJTEVTKQotZWNtX2NyZWF0ZV9xbV9sb2FkZXIoUU1MT0FERVJfRklM RVMgY2F0YWxvZykKLWFzc2VydF92YXJfZGVmaW5lZChRTUxPQURFUl9GSUxFUykKLQotIyBUaGVz ZSB3aWxsIGJlIHVzZWQgdG8gdGVzdCB0aGUgYWJvdmUtZ2VuZXJhdGVkIGxvYWRlcgotZWNtX2lu c3RhbGxfcG9fZmlsZXNfYXNfcW0odHJfdGVzdC1wbykKKyMgU2hvdWxkIGNyZWF0ZSAke0NNQUtF X0NVUlJFTlRfQklOQVJZX0RJUn0vcW1sb2FkZXIuY3BwIGFuZCBzZXQgUU1MT0FERVJfUEFUSAor IyB0byBpdHMgcGF0aAorZWNtX2NyZWF0ZV9xbV9sb2FkZXIoUU1MT0FERVJfUEFUSCBjYXRhbG9n KQogCiAjIFNob3VsZCBjcmVhdGUgYSBwcm9jZXNzLWFuZC1pbnN0YWxsLnFtIGZpbGUgYW5kIGlu c3RhbGwgaXQKIGVjbV9wcm9jZXNzX3BvX2ZpbGVzX2FzX3FtKGZyIEFMTApAQCAtNDQsMjIgKzM5 LDUgQEAgZWNtX2luc3RhbGxfcG9fZmlsZXNfYXNfcW0ocG8tY3VzdG9tLWRpcjEpCiBzZXQoTE9D QUxFX0lOU1RBTExfRElSIGN1c3RvbS1kaXIyKQogZWNtX2luc3RhbGxfcG9fZmlsZXNfYXNfcW0o cG8tY3VzdG9tLWRpcjIpCiAKLWZpbmRfcGFja2FnZShRdDVDb3JlIENPTkZJRyBSRVFVSVJFRCkK LQotYWRkX2V4ZWN1dGFibGUodHJfdGVzdCB0cl90ZXN0LmNwcCAke1FNTE9BREVSX0ZJTEVTfSkK LXRhcmdldF9saW5rX2xpYnJhcmllcyh0cl90ZXN0IFBSSVZBVEUgUXQ1OjpDb3JlKQotCi1hZGRf bGlicmFyeSh0cl90aHJlYWRfbW9kdWxlIE1PRFVMRSB0cl90aHJlYWRfdGVzdF9tb2R1bGUuY3Bw ICR7UU1MT0FERVJfRklMRVN9KQotdGFyZ2V0X2xpbmtfbGlicmFyaWVzKHRyX3RocmVhZF9tb2R1 bGUgUFJJVkFURSBRdDU6OkNvcmUpCi0KLWFkZF9leGVjdXRhYmxlKHRyX3RocmVhZF90ZXN0IHRy X3RocmVhZF90ZXN0LmNwcCkKLXNldF90YXJnZXRfcHJvcGVydGllcyh0cl90aHJlYWRfdGVzdCBQ Uk9QRVJUSUVTIEFVVE9NT0MgT04pCi10YXJnZXRfaW5jbHVkZV9kaXJlY3Rvcmllcyh0cl90aHJl YWRfdGVzdCBQUklWQVRFICIke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0iKQotdGFyZ2V0X2Nv bXBpbGVfZGVmaW5pdGlvbnModHJfdGhyZWFkX3Rlc3QgUFJJVkFURSAiTU9EVUxFX1BBVEg9XCIk PFRBUkdFVF9GSUxFOnRyX3RocmVhZF9tb2R1bGU+XCIiKQotdGFyZ2V0X2xpbmtfbGlicmFyaWVz KHRyX3RocmVhZF90ZXN0IFBSSVZBVEUgUXQ1OjpDb3JlKQotCi1maWxlKEdFTkVSQVRFCi0gICAg T1VUUFVUICIke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vY2hlY2tfY29uZi5jbWFrZSIKLSAg ICBJTlBVVCAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L2NoZWNrX2NvbmYuY21ha2UuaW4i Ci0pCi1jb25maWd1cmVfZmlsZShjaGVjay5jbWFrZS5pbiAiJHtDTUFLRV9DVVJSRU5UX0JJTkFS WV9ESVJ9L2NoZWNrLmNtYWtlIiBAT05MWSkKKyMgdGhpcyB3aWxsIGJlIHJ1biBieSBDVGVzdAor Y29uZmlndXJlX2ZpbGUoY2hlY2tfdHJlZS5jbWFrZS5pbiAiJHtDTUFLRV9DVVJSRU5UX0JJTkFS WV9ESVJ9L2NoZWNrX3RyZWUuY21ha2UiIEBPTkxZKQpkaWZmIC0tZ2l0IGEvdGVzdHMvRUNNUG9R bVRvb2xzVGVzdC9jaGVja19jb25mLmNtYWtlLmluIGIvdGVzdHMvRUNNUG9RbVRvb2xzVGVzdC9j aGVja19jb25mLmNtYWtlLmluCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYmJhYjFk Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL0VDTVBvUW1Ub29sc1Rlc3QvY2hlY2tfY29uZi5jbWFrZS5p bgorKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotc2V0KFRSX1RFU1RfRVhFQyAiJDxUQVJH RVRfRklMRTp0cl90ZXN0PiIpCi1zZXQoVFJfVEhSRUFEX1RFU1RfRVhFQyAiJDxUQVJHRVRfRklM RTp0cl90aHJlYWRfdGVzdD4iKQpkaWZmIC0tZ2l0IGEvdGVzdHMvRUNNUG9RbVRvb2xzVGVzdC9j aGVjay5jbWFrZS5pbiBiL3Rlc3RzL0VDTVBvUW1Ub29sc1Rlc3QvY2hlY2tfdHJlZS5jbWFrZS5p bgpzaW1pbGFyaXR5IGluZGV4IDUyJQpyZW5hbWUgZnJvbSB0ZXN0cy9FQ01Qb1FtVG9vbHNUZXN0 L2NoZWNrLmNtYWtlLmluCnJlbmFtZSB0byB0ZXN0cy9FQ01Qb1FtVG9vbHNUZXN0L2NoZWNrX3Ry ZWUuY21ha2UuaW4KaW5kZXggMmYwY2MyMC4uOWY0ZjdjMCAxMDA2NDQKLS0tIGEvdGVzdHMvRUNN UG9RbVRvb2xzVGVzdC9jaGVjay5jbWFrZS5pbgorKysgYi90ZXN0cy9FQ01Qb1FtVG9vbHNUZXN0 L2NoZWNrX3RyZWUuY21ha2UuaW4KQEAgLTEsNiArMSw2IEBACiBzZXQoQklOQVJZX0RJUiAiQENN QUtFX0NVUlJFTlRfQklOQVJZX0RJUkAiKQogc2V0KEFDVFVBTF9UUkVFICJAQ01BS0VfSU5TVEFM TF9QUkVGSVhAIikKLWluY2x1ZGUoIiR7QklOQVJZX0RJUn0vY2hlY2tfY29uZi5jbWFrZSIpCitz ZXQoUU1MT0FERVJfUEFUSCAiQFFNTE9BREVSX1BBVEhAIikKIAogc2V0KGZhaWwgT0ZGKQogCkBA IC05LDIxICs5LDI3IEBAIG1hY3JvKG1hcmtfZmFpbGVkIG1zZykKICAgICBzZXQoZmFpbCBPTikK IGVuZG1hY3JvKCkKIAorbWFjcm8oY2hlY2tfc3RyZXF1YWwgdmFyIGV4cGVjdGVkKQorICAgIGlm IChOT1QgIiR7JHt2YXJ9fSIgU1RSRVFVQUwgIiR7ZXhwZWN0ZWR9IikKKyAgICAgICAgbWFya19m YWlsZWQoIiR7dmFyfSBpczpcbiAgXCIkeyR7dmFyfX1cIlxuRXhwZWN0ZWQ6XG4gIFwiJHtleHBl Y3RlZH1cIiIpCisgICAgZW5kaWYoKQorZW5kbWFjcm8oKQorCiBtYWNybyhjaGVja19leGlzdHMg ZmlsZSkKLSAgICBtZXNzYWdlKFNUQVRVUyAiQ2hlY2tpbmcgZm9yICR7ZmlsZX0iKQogICAgIGlm IChOT1QgRVhJU1RTICR7ZmlsZX0pCiAgICAgICAgIG1hcmtfZmFpbGVkKCJGaWxlIFwiJHtmaWxl fVwiIGRvZXMgbm90IGV4aXN0IikKICAgICBlbmRpZigpCiBlbmRtYWNybygpCiAKK2NoZWNrX2V4 aXN0cygke0JJTkFSWV9ESVJ9L0VDTVFtTG9hZGVyLmNwcCkKK2NoZWNrX3N0cmVxdWFsKFFNTE9B REVSX1BBVEggIiR7QklOQVJZX0RJUn0vRUNNUW1Mb2FkZXIuY3BwIikKKwogY2hlY2tfZXhpc3Rz KCR7QklOQVJZX0RJUn0vZnIvb25seS1wcm9jZXNzLnFtKQogCiBzZXQoZXhwX2ZpbGVzCiAgICAg InNoYXJlL2xvY2FsZS9mci9MQ19NRVNTQUdFUy9wcm9jZXNzLWFuZC1pbnN0YWxsLnFtIgogICAg ICJzaGFyZS9sb2NhbGUvZXMvTENfTUVTU0FHRVMvaW5zdGFsbC10ZXN0LnFtIgogICAgICJzaGFy ZS9sb2NhbGUvZnIvTENfTUVTU0FHRVMvaW5zdGFsbC10ZXN0LnFtIgotICAgICJzaGFyZS9sb2Nh bGUvZW4vTENfTUVTU0FHRVMvY2F0YWxvZy5xbSIKLSAgICAic2hhcmUvbG9jYWxlL2VuX0dCL0xD X01FU1NBR0VTL2NhdGFsb2cucW0iCiAgICAgImN1c3RvbS1kaXIxL2VzL0xDX01FU1NBR0VTL2N1 c3RvbS1kaXIxLWluc3RhbGwtdGVzdC5xbSIKICAgICAiY3VzdG9tLWRpcjEvZnIvTENfTUVTU0FH RVMvY3VzdG9tLWRpcjEtaW5zdGFsbC10ZXN0LnFtIgogICAgICJjdXN0b20tZGlyMi9lcy9MQ19N RVNTQUdFUy9jdXN0b20tZGlyMi1pbnN0YWxsLXRlc3QucW0iCkBAIC00OCwzMiArNTQsNiBAQCBp ZihOT1QgZXhwX2ZpbGVzIFNUUkVRVUFMIGFjdHVhbF9maWxlcykKICAgICAgICAgICAgIHNldChm YWlsIE9OKQogICAgICAgICBlbmRpZigpCiAgICAgZW5kZm9yZWFjaCgpCi1lbHNlKCkKLSAgICBt ZXNzYWdlKFNUQVRVUyAiSW5zdGFsbGVkIHRyYW5zbGF0aW9ucyBpbiBleHBlY3RlZCBsb2NhdGlv bnMiKQotZW5kaWYoKQotCi0jIHdlIGtub3cgd2UgY2FuIG1vZGlmeSB0aGUgZXhlY3V0YWJsZSBl bnZpcm9ubWVudCBvbiBMaW51eAotaWYoIkBDTUFLRV9TWVNURU1fTkFNRUAiIFNUUkVRVUFMICJM aW51eCIpCi0gICAgc2V0KGV4cF9vdXRwdXRfZW4gImVuZ2xpc2ggdGV4dDplbmdsaXNoIHBsdXJh bCBmb3JtIDUiKQotICAgIHNldChleHBfb3V0cHV0X2VuX0dCICJicml0aXNoIGVuZ2xpc2ggdGV4 dDpicml0aXNoIGVuZ2xpc2ggcGx1cmFsIGZvcm0gNSIpCi0gICAgIyBubyBmcmVuY2ggdHJhbnNs YXRpb24gcHJvdmlkZWQgLT4gZW5nbGlzaCBmYWxsYmFjawotICAgIHNldChleHBfb3V0cHV0X2Zy ICIke2V4cF9vdXRwdXRfZW59IikKLSAgICBmb3JlYWNoKGV4ZWMgVFJfVEVTVCBUUl9USFJFQURf VEVTVCkKLSAgICAgICAgZm9yZWFjaChsYW5nIGVuIGVuX0dCIGZyKQotICAgICAgICAgICAgZXhl Y3V0ZV9wcm9jZXNzKAotICAgICAgICAgICAgICAgIENPTU1BTkQgIiR7Q01BS0VfQ09NTUFORH0i IC1FIGVudiAiWERHX0RBVEFfRElSUz0ke0FDVFVBTF9UUkVFfS9zaGFyZSIKLSAgICAgICAgICAg ICAgICAgICAgTENfQUxMPSR7bGFuZ30gIiR7JHtleGVjfV9FWEVDfSIKLSAgICAgICAgICAgICAg ICBPVVRQVVRfVkFSSUFCTEUgb3V0cHV0Ci0gICAgICAgICAgICApCi0gICAgICAgICAgICBzdHJp bmcoU1RSSVAgIiR7b3V0cHV0fSIgc3RyaXBwZWRfb3V0cHV0KQotICAgICAgICAgICAgaWYoTk9U IHN0cmlwcGVkX291dHB1dCBTVFJFUVVBTCBleHBfb3V0cHV0XyR7bGFuZ30pCi0gICAgICAgICAg ICAgICAgbWVzc2FnZShXQVJOSU5HICIke2V4ZWN9WyR7bGFuZ31dIG91dHB1dCB3YXMgXCIke3N0 cmlwcGVkX291dHB1dH1cIiwgYnV0IGV4cGVjdGVkIFwiJHtleHBfb3V0cHV0XyR7bGFuZ319XCIi KQotICAgICAgICAgICAgICAgIHNldChmYWlsIE9OKQotICAgICAgICAgICAgZWxzZSgpCi0gICAg ICAgICAgICAgICAgbWVzc2FnZShTVEFUVVMgIiR7ZXhlY31bJHtsYW5nfV0gb3V0cHV0IHdhcyBc IiR7c3RyaXBwZWRfb3V0cHV0fVwiLCBhcyBleHBlY3RlZCIpCi0gICAgICAgICAgICBlbmRpZigp Ci0gICAgICAgIGVuZGZvcmVhY2goKQotICAgIGVuZGZvcmVhY2goKQogZW5kaWYoKQogCiBpZiAo ZmFpbCkKZGlmZiAtLWdpdCBhL3Rlc3RzL0VDTVBvUW1Ub29sc1Rlc3QvdHJfdGVzdC1wby9lbi9j YXRhbG9nLnBvIGIvdGVzdHMvRUNNUG9RbVRvb2xzVGVzdC90cl90ZXN0LXBvL2VuL2NhdGFsb2cu cG8KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJhN2I2ZDIuLjAwMDAwMDAKLS0tIGEv dGVzdHMvRUNNUG9RbVRvb2xzVGVzdC90cl90ZXN0LXBvL2VuL2NhdGFsb2cucG8KKysrIC9kZXYv bnVsbApAQCAtMSwyMiArMCwwIEBACi1tc2dpZCAiIgotbXNnc3RyICIiCi0iTUlNRS1WZXJzaW9u OiAxLjBcbiIKLSJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcbiIKLSJD b250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCi0iUGx1cmFsLUZvcm1zOiBucGx1cmFs cz0yOyBwbHVyYWw9KG4gIT0gMSk7XG4iCi0iWC1MYW5ndWFnZTogZW5cbiIKLSJYLVF0LUNvbnRl eHRzOiB0cnVlXG4iCi0KLSM6IG1haW4uY3BwOjEyCi1tc2djdHh0ICJ0ZXN0Y29udGV4dHwiCi1t c2dpZCAidGVzdCBzdHJpbmciCi1tc2dzdHIgImVuZ2xpc2ggdGV4dCIKLQotIzogbWFpbi5jcHA6 MTMKLSMsIHF0LWZvcm1hdAotI3wgbXNnaWQgInRlc3QgcGx1cmFsIgotbXNnY3R4dCAidGVzdGNv bnRleHR8IgotbXNnaWQgInRlc3QgcGx1cmFsICVuIgotbXNnaWRfcGx1cmFsICJ0ZXN0IHBsdXJh bCAlbiIKLW1zZ3N0clswXSAiZW5nbGlzaCBzaW5ndWxhciBmb3JtICVuIgotbXNnc3RyWzFdICJl bmdsaXNoIHBsdXJhbCBmb3JtICVuIgpkaWZmIC0tZ2l0IGEvdGVzdHMvRUNNUG9RbVRvb2xzVGVz dC90cl90ZXN0LXBvL2VuX0dCL2NhdGFsb2cucG8gYi90ZXN0cy9FQ01Qb1FtVG9vbHNUZXN0L3Ry X3Rlc3QtcG8vZW5fR0IvY2F0YWxvZy5wbwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg ZWM1YWQ4NS4uMDAwMDAwMAotLS0gYS90ZXN0cy9FQ01Qb1FtVG9vbHNUZXN0L3RyX3Rlc3QtcG8v ZW5fR0IvY2F0YWxvZy5wbworKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLW1zZ2lkICIi Ci1tc2dzdHIgIiIKLSJNSU1FLVZlcnNpb246IDEuMFxuIgotIkNvbnRlbnQtVHlwZTogdGV4dC9w bGFpbjsgY2hhcnNldD1VVEYtOFxuIgotIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRc biIKLSJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD0obiAhPSAxKTtcbiIKLSJYLUxh bmd1YWdlOiBlbl9HQlxuIgotIlgtUXQtQ29udGV4dHM6IHRydWVcbiIKLQotIzogbWFpbi5jcHA6 MTIKLW1zZ2N0eHQgInRlc3Rjb250ZXh0fCIKLW1zZ2lkICJ0ZXN0IHN0cmluZyIKLW1zZ3N0ciAi YnJpdGlzaCBlbmdsaXNoIHRleHQiCi0KLSM6IG1haW4uY3BwOjEzCi0jLCBxdC1mb3JtYXQKLSN8 IG1zZ2lkICJ0ZXN0IHBsdXJhbCIKLW1zZ2N0eHQgInRlc3Rjb250ZXh0fCIKLW1zZ2lkICJ0ZXN0 IHBsdXJhbCAlbiIKLW1zZ2lkX3BsdXJhbCAidGVzdCBwbHVyYWwgJW4iCi1tc2dzdHJbMF0gImJy aXRpc2ggZW5nbGlzaCBzaW5ndWxhciBmb3JtICVuIgotbXNnc3RyWzFdICJicml0aXNoIGVuZ2xp c2ggcGx1cmFsIGZvcm0gJW4iCmRpZmYgLS1naXQgYS90ZXN0cy9FQ01Qb1FtVG9vbHNUZXN0L3Ry X3Rlc3QuY3BwIGIvdGVzdHMvRUNNUG9RbVRvb2xzVGVzdC90cl90ZXN0LmNwcApkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggYmU1ZDM0Mi4uMDAwMDAwMAotLS0gYS90ZXN0cy9FQ01Qb1Ft VG9vbHNUZXN0L3RyX3Rlc3QuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotI2lu Y2x1ZGUgPFFDb3JlQXBwbGljYXRpb24+Ci0jaW5jbHVkZSA8UVRleHRTdHJlYW0+Ci0KLSNpbmNs dWRlIDxzdGRpby5oPgotCi1pbnQgbWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpCi17Ci0gICAg UUNvcmVBcHBsaWNhdGlvbiBhcHAoYXJnYywgYXJndik7Ci0KLSAgICBRVGV4dFN0cmVhbSBvdXRw dXQoc3Rkb3V0KTsKLQotICAgIG91dHB1dCA8PCBRQ29yZUFwcGxpY2F0aW9uOjp0cmFuc2xhdGUo InRlc3Rjb250ZXh0IiwgInRlc3Qgc3RyaW5nIikgPDwgIjoiOwotICAgIG91dHB1dCA8PCBRQ29y ZUFwcGxpY2F0aW9uOjp0cmFuc2xhdGUoInRlc3Rjb250ZXh0IiwgInRlc3QgcGx1cmFsICVuIiwg MCwgNSkgPDwgJ1xuJzsKLQotICAgIHJldHVybiAwOwotfQpkaWZmIC0tZ2l0IGEvdGVzdHMvRUNN UG9RbVRvb2xzVGVzdC90cl90aHJlYWRfdGVzdC5jcHAgYi90ZXN0cy9FQ01Qb1FtVG9vbHNUZXN0 L3RyX3RocmVhZF90ZXN0LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2VkMzBl ZS4uMDAwMDAwMAotLS0gYS90ZXN0cy9FQ01Qb1FtVG9vbHNUZXN0L3RyX3RocmVhZF90ZXN0LmNw cAorKysgL2Rldi9udWxsCkBAIC0xLDY4ICswLDAgQEAKLSNpbmNsdWRlIDxRQ29yZUFwcGxpY2F0 aW9uPgotI2luY2x1ZGUgPFFMaWJyYXJ5PgotI2luY2x1ZGUgPFFNZXRhT2JqZWN0PgotI2luY2x1 ZGUgPFFUaHJlYWQ+Ci0KLWNsYXNzIFRocmVhZCA6IHB1YmxpYyBRVGhyZWFkCi17Ci0gICAgUV9P QkpFQ1QKLQotICAgIFFMaWJyYXJ5ICptX2xpYjsKLQotcHVibGljOgotICAgIFRocmVhZCgpCi0g ICAgICAgIDogbV9saWIoMCkKLSAgICB7fQotICAgIH5UaHJlYWQoKQotICAgIHsKLSAgICAgICAg ZGVsZXRlIG1fbGliOwotICAgIH0KLQotUV9TSUdOQUxTOgotICAgIHZvaWQgbGlicmFyeUxvYWRl ZCgpOwotCi1wdWJsaWMgUV9TTE9UUzoKLSAgICB2b2lkIHByaW50U3RyaW5ncygpCi0gICAgewot ICAgICAgICAvLyBOQjogdGhpcyB3aWxsIHJ1biBvbiB0aGUgKm1haW4qIGV2ZW50IGxvb3AuCi0g ICAgICAgIFFGdW5jdGlvblBvaW50ZXIgcHJpbnRfc3RyaW5ncyA9IG1fbGliLT5yZXNvbHZlKCJw cmludF9zdHJpbmdzIik7Ci0gICAgICAgIGlmIChwcmludF9zdHJpbmdzKSB7Ci0gICAgICAgICAg ICBwcmludF9zdHJpbmdzKCk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBxRmF0YWwo IkNvdWxkIG5vdCByZXNvbHZlIHByaW50X3N0cmluZ3M6ICVzIiwgbV9saWItPmVycm9yU3RyaW5n KCkudG9VdGY4KCkuZGF0YSgpKTsKLSAgICAgICAgfQotCi0gICAgICAgIFFDb3JlQXBwbGljYXRp b246Omluc3RhbmNlKCktPnF1aXQoKTsKLSAgICB9Ci1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBydW4o KQotICAgIHsKLSAgICAgICAgbV9saWIgPSBuZXcgUUxpYnJhcnkoTU9EVUxFX1BBVEgpOwotCi0g ICAgICAgIGlmICghbV9saWItPmxvYWQoKSkgewotICAgICAgICAgICAgcUZhdGFsKCJDb3VsZCBu b3QgbG9hZCBtb2R1bGU6ICVzIiwgbV9saWItPmVycm9yU3RyaW5nKCkudG9VdGY4KCkuZGF0YSgp KTsKLSAgICAgICAgfQotCi0gICAgICAgIC8vIFF1ZXVlIGEgY2FsbCB0byBwcmludFN0cmluZ3Mo KSBvbiB0aGUgbWFpbiBldmVudCBsb29wIChnaXZpbmcgdGhlCi0gICAgICAgIC8vIHRyYW5zbGF0 aW9ucyBhIGNoYW5jZSB0byBiZSBsb2FkZWQpLgotICAgICAgICBRTWV0YU9iamVjdDo6aW52b2tl TWV0aG9kKHRoaXMsICJwcmludFN0cmluZ3MiLCBRdDo6UXVldWVkQ29ubmVjdGlvbik7Ci0gICAg fQotfTsKLQotaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQotewotICAgIFFDb3JlQXBw bGljYXRpb24gYXBwKGFyZ2MsIGFyZ3YpOwotCi0gICAgVGhyZWFkIHRocmVhZDsKLQotICAgIC8v IFN0YXJ0IHRoZSB0aHJlYWQgKmFmdGVyKiBRQ29yZUFwcGxpY2F0aW9uIGlzIHN0YXJ0ZWQgKG90 aGVyd2lzZSB0aGUKLSAgICAvLyBwbHVnaW4ncyBzdGFydHVwIGZ1bmN0aW9uIHdvbid0IGJlIHJ1 biBvbiB0aGUgVGhyZWFkLCBhbmQgd2Ugd29uJ3QgdGVzdAotICAgIC8vIHdoYXQgd2Ugd2FudGVk IHRvIHRlc3QpLgotICAgIFFNZXRhT2JqZWN0OjppbnZva2VNZXRob2QoJnRocmVhZCwgInN0YXJ0 IiwgUXQ6OlF1ZXVlZENvbm5lY3Rpb24pOwotCi0gICAgYXBwLmV4ZWMoKTsKLQotICAgIHJldHVy biAwOwotfQotCi0jaW5jbHVkZSAidHJfdGhyZWFkX3Rlc3QubW9jIgpkaWZmIC0tZ2l0IGEvdGVz dHMvRUNNUG9RbVRvb2xzVGVzdC90cl90aHJlYWRfdGVzdF9tb2R1bGUuY3BwIGIvdGVzdHMvRUNN UG9RbVRvb2xzVGVzdC90cl90aHJlYWRfdGVzdF9tb2R1bGUuY3BwCmRlbGV0ZWQgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCBiOTAwMGZmLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL0VDTVBvUW1Ub29sc1Rl c3QvdHJfdGhyZWFkX3Rlc3RfbW9kdWxlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAg QEAKLSNpbmNsdWRlIDxRQ29yZUFwcGxpY2F0aW9uPgotI2luY2x1ZGUgPFFUZXh0U3RyZWFtPgot Ci0jaW5jbHVkZSA8c3RkaW8uaD4KLQotZXh0ZXJuICJDIiBRX0RFQ0xfRVhQT1JUIHZvaWQgcHJp bnRfc3RyaW5ncygpCi17Ci0gICAgUVRleHRTdHJlYW0gb3V0cHV0KHN0ZG91dCk7Ci0KLSAgICBv dXRwdXQgPDwgUUNvcmVBcHBsaWNhdGlvbjo6dHJhbnNsYXRlKCJ0ZXN0Y29udGV4dCIsICJ0ZXN0 IHN0cmluZyIpIDw8ICI6IjsKLSAgICBvdXRwdXQgPDwgUUNvcmVBcHBsaWNhdGlvbjo6dHJhbnNs YXRlKCJ0ZXN0Y29udGV4dCIsICJ0ZXN0IHBsdXJhbCAlbiIsIDAsIDUpIDw8ICdcbic7Ci19Cl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCnJlbGVhc2UtdGVh bSBtYWlsaW5nIGxpc3QKcmVsZWFzZS10ZWFtQGtkZS5vcmcKaHR0cHM6Ly9tYWlsLmtkZS5vcmcv bWFpbG1hbi9saXN0aW5mby9yZWxlYXNlLXRlYW0K