ZGlmZiAtLWdpdCBhL3NyYy9ldmFsZnVuYy5jIGIvc3JjL2V2YWxmdW5jLmMKaW5kZXggMzcwYjI2Yi4uN2UzMjQxMCAxMDA2NDQKLS0tIGEvc3JjL2V2YWxmdW5jLmMKKysrIGIvc3JjL2V2YWxmdW5jLmMKQEAgLTE4MjcsNyArMTgyNyw3IEBACiAjZW5kaWYKIAkJCX0sCiAgICAgeyJiaW5kdGV4dGRvbWFpbiIsCTIsIDIsIDAsCSAgICBhcmcyX3N0cmluZywKLQkJCXJldF92b2lkLAkgICAgZl9iaW5kdGV4dGRvbWFpbn0sCisJCQlyZXRfYm9vbCwJICAgIGZfYmluZHRleHRkb21haW59LAogICAgIHsiYmxvYjJsaXN0IiwJMSwgMSwgRkVBUkdfMSwJICAgIGFyZzFfYmxvYiwKIAkJCXJldF9saXN0X251bWJlciwgICAgZl9ibG9iMmxpc3R9LAogICAgIHsiYnJvd3NlIiwJCTQsIDQsIDAsCSAgICBhcmc0X2Jyb3dzZSwKQEAgLTM0ODYsOCArMzQ4NiwxMSBAQAogICogImJpbmR0ZXh0ZG9tYWluKHBhY2thZ2UsIHBhdGgpIiBmdW5jdGlvbgogICovCiAgICAgc3RhdGljIHZvaWQKLWZfYmluZHRleHRkb21haW4odHlwdmFsX1QgKmFyZ3ZhcnMgVU5VU0VELCB0eXB2YWxfVCAqcmV0dHYgVU5VU0VEKQorZl9iaW5kdGV4dGRvbWFpbih0eXB2YWxfVCAqYXJndmFycywgdHlwdmFsX1QgKnJldHR2KQogeworICAgIHJldHR2LT52X3R5cGUgPSBWQVJfQk9PTDsKKyAgICByZXR0di0+dnZhbC52X251bWJlciA9IFZWQUxfVFJVRTsKKwogICAgIGlmIChjaGVja19mb3Jfbm9uZW1wdHlfc3RyaW5nX2FyZyhhcmd2YXJzLCAwKSA9PSBGQUlMCiAJICAgIHx8IGNoZWNrX2Zvcl9ub25lbXB0eV9zdHJpbmdfYXJnKGFyZ3ZhcnMsIDEpID09IEZBSUwpCiAJcmV0dXJuOwpAQCAtMzQ5NSw3ICszNDk4LDEzIEBACiAgICAgaWYgKHN0cmNtcCgoY29uc3QgY2hhciAqKWFyZ3ZhcnNbMF0udnZhbC52X3N0cmluZywgVklNUEFDS0FHRSkgPT0gMCkKIAlzZW1zZyhfKGVfaW52YWxpZF9hcmd1bWVudF9zdHIpLCB0dl9nZXRfc3RyaW5nKCZhcmd2YXJzWzBdKSk7CiAgICAgZWxzZQotCWJpbmR0ZXh0ZG9tYWluKChjb25zdCBjaGFyICopYXJndmFyc1swXS52dmFsLnZfc3RyaW5nLCAoY29uc3QgY2hhciAqKWFyZ3ZhcnNbMV0udnZhbC52X3N0cmluZyk7CisgICAgeworCWlmIChiaW5kdGV4dGRvbWFpbigoY29uc3QgY2hhciAqKWFyZ3ZhcnNbMF0udnZhbC52X3N0cmluZywgKGNvbnN0IGNoYXIgKilhcmd2YXJzWzFdLnZ2YWwudl9zdHJpbmcpID09IE5VTEwpCisJeworCSAgICBkb19vdXRvZm1lbV9tc2coKGxvbmcpMCk7CisJICAgIHJldHR2LT52dmFsLnZfbnVtYmVyID0gVlZBTF9GQUxTRTsKKwl9CisgICAgfQogCiAgICAgcmV0dXJuOwogfQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3RkaXIvdGVzdF9nZXR0ZXh0LnZpbSBiL3NyYy90ZXN0ZGlyL3Rlc3RfZ2V0dGV4dC52aW0KaW5kZXggNmE1YWFmZC4uYTk5MDEyMSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3RkaXIvdGVzdF9nZXR0ZXh0LnZpbQorKysgYi9zcmMvdGVzdGRpci90ZXN0X2dldHRleHQudmltCkBAIC0xLDUgKzEsNyBAQAogc291cmNlIGNoZWNrLnZpbQogCitDaGVja0ZlYXR1cmUgZ2V0dGV4dAorCiAiIFRlc3QgZm9yIGdldHRleHQoKQogZnVuYyBUZXN0X2dldHRleHQoKQogICBjYWxsIGFzc2VydF9mYWlscygnY2FsbCBiaW5kdGV4dGRvbWFpbigidGVzdCIpJywgJ0UxMTk6JykKZGlmZiAtLWdpdCBhL3NyYy90ZXN0ZGlyL3Rlc3RfZ2V0dGV4dF9jcDEyNTEudmltIGIvc3JjL3Rlc3RkaXIvdGVzdF9nZXR0ZXh0X2NwMTI1MS52aW0KaW5kZXggYzkxZjc4NC4uNjlkMmJiZiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3RkaXIvdGVzdF9nZXR0ZXh0X2NwMTI1MS52aW0KKysrIGIvc3JjL3Rlc3RkaXIvdGVzdF9nZXR0ZXh0X2NwMTI1MS52aW0KQEAgLTIsMjIgKzIsMzIgQEAKICIgVGhpcyBmYWlsIG9uIENJIE1hY09TIDE0IGJlY2F1c2UgYmluZHRleHRkb21haW4oKSBpcyBub3QgYXZhaWxhYmxlIHRoZXJlCiAiIChtaXNzaW5nIGxpYnJhcnk/KQogQ2hlY2tOb3RNYWMKK0NoZWNrRmVhdHVyZSBnZXR0ZXh0CiAKICIgVGVzdCBmb3IgZ2V0dGV4dCgpCiBmdW5jIFRlc3RfZ2V0dGV4dCgpCiAgIHNldCBlbmNvZGluZz1jcDEyNTEKLSAgY2FsbCBiaW5kdGV4dGRvbWFpbigiX19QQUNLQUdFX18iLCBnZXRjd2QoKSkKKyAgY2FsbCBhc3NlcnRfZXF1YWwoJ0VSUk9SOiAnLCBnZXR0ZXh0KCJFUlJPUjogIiwgIl9fUEFDS0FHRV9fIikpCisKICAgdHJ5Ci0gICAgbGFuZ3VhZ2UgbWVzc2FnZXMgcnVfUlUKLSAgICBjYWxsIGFzc2VydF9lcXVhbCgnztjIwcrAOiAnLCBnZXR0ZXh0KCJFUlJPUjogIiwgIl9fUEFDS0FHRV9fIikpCi0gIGNhdGNoIC9eVmltXCUoKFxhXCspXClcPTpFMTk3Oi8KLSAgICB0aHJvdyAiU2tpcHBlZDogbm90IHBvc3NpYmxlIHRvIHNldCBsb2NhbGUgdG8gcnUgKG1pc3Npbmc/KSIKLSAgZW5kdHJ5Ci0gIHRyeQotICAgIGxhbmd1YWdlIG1lc3NhZ2VzIGVuX0dCLlVURi04Ci0gICAgY2FsbCBhc3NlcnRfZXF1YWwoJ0VSUk9SOiAnLCBnZXR0ZXh0KCJFUlJPUjogIiwgIl9fUEFDS0FHRV9fIikpCi0gIGNhdGNoIC9eVmltXCUoKFxhXCspXClcPTpFMTk3Oi8KLSAgICB0aHJvdyAiU2tpcHBlZDogbm90IHBvc3NpYmxlIHRvIHNldCBsb2NhbGUgdG8gZW4gKG1pc3Npbmc/KSIKKyAgICBjYWxsIGFzc2VydF90cnVlKGJpbmR0ZXh0ZG9tYWluKCJfX1BBQ0tBR0VfXyIsIGdldGN3ZCgpKSkKKworICAgIHRyeQorICAgICAgbGFuZ3VhZ2UgbWVzc2FnZXMgcnVfUlUKKyAgICAgIGNhbGwgYXNzZXJ0X2VxdWFsKCfO2MjBysA6ICcsIGdldHRleHQoIkVSUk9SOiAiLCAiX19QQUNLQUdFX18iKSkKKyAgICBjYXRjaCAvXlZpbVwlKChcYVwrKVwpXD06RTE5NzovCisgICAgICB0aHJvdyAiU2tpcHBlZDogbm90IHBvc3NpYmxlIHRvIHNldCBsb2NhbGUgdG8gcnUgKG1pc3Npbmc/KSIKKyAgICBlbmR0cnkKKworICAgIHRyeQorICAgICAgbGFuZ3VhZ2UgbWVzc2FnZXMgZW5fR0IuVVRGLTgKKyAgICAgIGNhbGwgYXNzZXJ0X2VxdWFsKCdFUlJPUjogJywgZ2V0dGV4dCgiRVJST1I6ICIsICJfX1BBQ0tBR0VfXyIpKQorICAgIGNhdGNoIC9eVmltXCUoKFxhXCspXClcPTpFMTk3Oi8KKyAgICAgIHRocm93ICJTa2lwcGVkOiBub3QgcG9zc2libGUgdG8gc2V0IGxvY2FsZSB0byBlbiAobWlzc2luZz8pIgorICAgIGVuZHRyeQorCisgIGNhdGNoIC9eVmltXCUoKFxhXCspXClcPTpFMzQyOi8KKyAgICB0aHJvdyAiU2tpcHBlZDogb3V0IG9mIG1lbW9yeSBleGVjdXRpbmcgYmluZHRleHRkb21haW4oKSIKICAgZW5kdHJ5CiAgIHNldCBlbmNvZGluZyYKIGVuZGZ1bmMKZGlmZiAtLWdpdCBhL3NyYy90ZXN0ZGlyL3Rlc3RfZ2V0dGV4dF91dGY4LnZpbSBiL3NyYy90ZXN0ZGlyL3Rlc3RfZ2V0dGV4dF91dGY4LnZpbQppbmRleCA3ODYyZTM5Li5iOTZmOGVhIDEwMDY0NAotLS0gYS9zcmMvdGVzdGRpci90ZXN0X2dldHRleHRfdXRmOC52aW0KKysrIGIvc3JjL3Rlc3RkaXIvdGVzdF9nZXR0ZXh0X3V0ZjgudmltCkBAIC0yLDIyICsyLDMyIEBACiAiIFRoaXMgZmFpbCBvbiBDSSBNYWNPUyAxNCBiZWNhdXNlIGJpbmR0ZXh0ZG9tYWluKCkgaXMgbm90IGF2YWlsYWJsZSB0aGVyZQogIiAobWlzc2luZyBsaWJyYXJ5PykKIENoZWNrTm90TWFjCitDaGVja0ZlYXR1cmUgZ2V0dGV4dAogCiAiIFRlc3QgZm9yIGdldHRleHQoKQogZnVuYyBUZXN0X2dldHRleHQoKQogICBzZXQgZW5jb2Rpbmc9dXRmLTgKLSAgY2FsbCBiaW5kdGV4dGRvbWFpbigiX19QQUNLQUdFX18iLCBnZXRjd2QoKSkKKyAgY2FsbCBhc3NlcnRfZXF1YWwoJ0VSUk9SOiAnLCBnZXR0ZXh0KCJFUlJPUjogIiwgIl9fUEFDS0FHRV9fIikpCisKICAgdHJ5Ci0gICAgbGFuZ3VhZ2UgbWVzc2FnZXMgcnVfUlUKLSAgICBjYWxsIGFzc2VydF9lcXVhbCgn0J7QqNCY0JHQmtCQOiAnLCBnZXR0ZXh0KCJFUlJPUjogIiwgIl9fUEFDS0FHRV9fIikpCi0gIGNhdGNoIC9eVmltXCUoKFxhXCspXClcPTpFMTk3Oi8KLSAgICB0aHJvdyAiU2tpcHBlZDogbm90IHBvc3NpYmxlIHRvIHNldCBsb2NhbGUgdG8gcnUgKG1pc3Npbmc/KSIKLSAgZW5kdHJ5Ci0gIHRyeQotICAgIGxhbmd1YWdlIG1lc3NhZ2VzIGVuX0dCLlVURi04Ci0gICAgY2FsbCBhc3NlcnRfZXF1YWwoJ0VSUk9SOiAnLCBnZXR0ZXh0KCJFUlJPUjogIiwgIl9fUEFDS0FHRV9fIikpCi0gIGNhdGNoIC9eVmltXCUoKFxhXCspXClcPTpFMTk3Oi8KLSAgICB0aHJvdyAiU2tpcHBlZDogbm90IHBvc3NpYmxlIHRvIHNldCBsb2NhbGUgdG8gZW4gKG1pc3Npbmc/KSIKKyAgICBjYWxsIGFzc2VydF90cnVlKGJpbmR0ZXh0ZG9tYWluKCJfX1BBQ0tBR0VfXyIsIGdldGN3ZCgpKSkKKworICAgIHRyeQorICAgICAgbGFuZ3VhZ2UgbWVzc2FnZXMgcnVfUlUKKyAgICAgIGNhbGwgYXNzZXJ0X2VxdWFsKCfQntCo0JjQkdCa0JA6ICcsIGdldHRleHQoIkVSUk9SOiAiLCAiX19QQUNLQUdFX18iKSkKKyAgICBjYXRjaCAvXlZpbVwlKChcYVwrKVwpXD06RTE5NzovCisgICAgICB0aHJvdyAiU2tpcHBlZDogbm90IHBvc3NpYmxlIHRvIHNldCBsb2NhbGUgdG8gcnUgKG1pc3Npbmc/KSIKKyAgICBlbmR0cnkKKworICAgIHRyeQorICAgICAgbGFuZ3VhZ2UgbWVzc2FnZXMgZW5fR0IuVVRGLTgKKyAgICAgIGNhbGwgYXNzZXJ0X2VxdWFsKCdFUlJPUjogJywgZ2V0dGV4dCgiRVJST1I6ICIsICJfX1BBQ0tBR0VfXyIpKQorICAgIGNhdGNoIC9eVmltXCUoKFxhXCspXClcPTpFMTk3Oi8KKyAgICAgIHRocm93ICJTa2lwcGVkOiBub3QgcG9zc2libGUgdG8gc2V0IGxvY2FsZSB0byBlbiAobWlzc2luZz8pIgorICAgIGVuZHRyeQorCisgIGNhdGNoIC9eVmltXCUoKFxhXCspXClcPTpFMzQyOi8KKyAgICB0aHJvdyAiU2tpcHBlZDogb3V0IG9mIG1lbW9yeSBleGVjdXRpbmcgYmluZHRleHRkb21haW4oKSIKICAgZW5kdHJ5CiAgIHNldCBlbmNvZGluZyYKIGVuZGZ1bmMKZGlmZiAtLWdpdCBhL3NyYy92ZXJzaW9uLmMgYi9zcmMvdmVyc2lvbi5jCmluZGV4IGNjMjcxM2EuLmRkYjAyZDEgMTAwNjQ0Ci0tLSBhL3NyYy92ZXJzaW9uLmMKKysrIGIvc3JjL3ZlcnNpb24uYwpAQCAtNzA1LDYgKzcwNSw4IEBACiBzdGF0aWMgaW50IGluY2x1ZGVkX3BhdGNoZXNbXSA9CiB7ICAgLyogQWRkIG5ldyBwYXRjaCBudW1iZXIgYmVsb3cgdGhpcyBsaW5lICovCiAvKiovCisgICAgNTYwLAorLyoqLwogICAgIDU1OSwKIC8qKi8KICAgICA1NTgsCmRpZmYgLS1naXQgYS9zcmMvdmltLmggYi9zcmMvdmltLmgKaW5kZXggMWI2NGUwZC4uYWU3NDU4YSAxMDA2NDQKLS0tIGEvc3JjL3ZpbS5oCisrKyBiL3NyYy92aW0uaApAQCAtNTk4LDcgKzU5OCw3IEBACiAjIGlmZGVmIGJpbmR0ZXh0ZG9tYWluCiAjICB1bmRlZiBiaW5kdGV4dGRvbWFpbgogIyBlbmRpZgotIyBkZWZpbmUgYmluZHRleHRkb21haW4oeCwgeSkgLy8gZW1wdHkKKyMgZGVmaW5lIGJpbmR0ZXh0ZG9tYWluKHgsIHkpICIiCiAjIGlmZGVmIGJpbmRfdGV4dGRvbWFpbl9jb2Rlc2V0CiAjICB1bmRlZiBiaW5kX3RleHRkb21haW5fY29kZXNldAogIyBlbmRpZgo=