From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Jan Kratochvil To: git-commits@fedoraproject.org Subject: [rpms/gdb] gdb-17.2-rebase-f44: Rebase to FSF GDB 7.99.90.20170420 (pre-8.0 stable branch). Date: Sat, 27 Jun 2026 23:58:12 GMT Message-ID: <178260469230.1.1027764275408363164.rpms-gdb-5bb0f3bac30a@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: gdb-17.2-rebase-f44 X-Git-Rev: 5bb0f3bac30ad11883d687f69a0620d256819e8a QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2RiCkJyYW5jaCA6 IGdkYi0xNy4yLXJlYmFzZS1mNDQKQ29tbWl0IDogNWJiMGYzYmFjMzBhZDExODgzZDY4N2Y2OWEw NjIwZDI1NjgxOWU4YQpBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVk aGF0LmNvbT4KRGF0ZSAgIDogMjAxNy0wNC0yMVQxNDo0Nzo0MSswMjowMApTdGF0cyAgOiArOTQ3 Ly04NjggaW4gMTYgZmlsZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9y Zy9ycG1zL2dkYi9jLzViYjBmM2JhYzMwYWQxMTg4M2Q2ODdmNjlhMDYyMGQyNTY4MTllOGE/YnJh bmNoPWdkYi0xNy4yLXJlYmFzZS1mNDQKCkxvZzoKUmViYXNlIHRvIEZTRiBHREIgNy45OS45MC4y MDE3MDQyMCAocHJlLTguMCBzdGFibGUgYnJhbmNoKS4KCi0tLQpkaWZmIC0tZ2l0IGEvLmdpdGln bm9yZSBiLy5naXRpZ25vcmUKaW5kZXggMTdkM2YxZC4uYjZhOTc0YiAxMDA2NDQKLS0tIGEvLmdp dGlnbm9yZQorKysgYi8uZ2l0aWdub3JlCkBAIC0xLDMgKzEsMyBAQAogL2dkYi1saWJzdGRjKyst djMtcHl0aG9uLTYuMy4xLTIwMTcwMjEyLnRhci54egogL3YxLjUudGFyLmd6Ci0vZ2RiLTcuMTIu NTAuMjAxNzAzMDkudGFyLnh6CisvZ2RiLTcuOTkuOTAuMjAxNzA0MjAudGFyLnh6CgpkaWZmIC0t Z2l0IGEvZ2RiLTYuMy1yZWFkbmV2ZXItMjAwNTA5MDcucGF0Y2ggYi9nZGItNi4zLXJlYWRuZXZl ci0yMDA1MDkwNy5wYXRjaAppbmRleCA2NzBiNTA1Li40Y2UyNmMwIDEwMDY0NAotLS0gYS9nZGIt Ni4zLXJlYWRuZXZlci0yMDA1MDkwNy5wYXRjaAorKysgYi9nZGItNi4zLXJlYWRuZXZlci0yMDA1 MDkwNy5wYXRjaApAQCAtMTEsMTAgKzExLDEwIEBACiAKICAgICAgICAgKiBnZGIudGV4aW5mbyAo RmlsZSBPcHRpb25zKTogRG9jdW1lbnQgLS1yZWFkbmV2ZXIuCiAKLUluZGV4OiBnZGItNy4xMi41 MC4yMDE3MDIyNi9nZGIvZG9jL2dkYi50ZXhpbmZvCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0 MjAvZ2RiL2RvYy9nZGIudGV4aW5mbwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcw MjI2Lm9yaWcvZ2RiL2RvYy9nZGIudGV4aW5mbwkyMDE3LTAyLTI2IDIxOjI2OjQzLjYwOTc4ODY2 MiArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9kb2MvZ2RiLnRleGluZm8JMjAx Ny0wMi0yNiAyMToyNjo0Ni41ODI4MDk3MjEgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQy MC5vcmlnL2dkYi9kb2MvZ2RiLnRleGluZm8JMjAxNy0wNC0yMCAyMjoyOTozOS4xNzk3NDAwNzYg KzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZG9jL2dkYi50ZXhpbmZvCTIwMTct MDQtMjAgMjI6Mjk6NDAuOTI0NzUxMDk2ICswMjAwCiBAQCAtMTAzNyw2ICsxMDM3LDEyIEBACiAg dGhlIGRlZmF1bHQsIHdoaWNoIGlzIHRvIHJlYWQgaXQgaW5jcmVtZW50YWxseSBhcyBpdCBpcyBu ZWVkZWQuCiAgVGhpcyBtYWtlcyBzdGFydHVwIHNsb3dlciwgYnV0IG1ha2VzIGZ1dHVyZSBvcGVy YXRpb25zIGZhc3Rlci4KQEAgLTI4LDEwICsyOCwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAx NzAyMjYvZ2RiL2RvYy9nZGIudGV4aW5mbwogIEBlbmQgdGFibGUKICAKICBAbm9kZSBNb2RlIE9w dGlvbnMKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvbWFpbi5jCitJbmRleDogZ2Ri LTcuOTkuOTAuMjAxNzA0MjAvZ2RiL21haW4uYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUw LjIwMTcwMjI2Lm9yaWcvZ2RiL21haW4uYwkyMDE3LTAyLTI2IDIxOjI2OjQzLjYxMjc4ODY4NCAr MDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9tYWluLmMJMjAxNy0wMi0yNiAyMToy Njo0Ni41ODI4MDk3MjEgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9t YWluLmMJMjAxNy0wNC0yMCAyMjoyOTozOS4xODI3NDAwOTUgKzAyMDAKKysrKyBnZGItNy45OS45 MC4yMDE3MDQyMC9nZGIvbWFpbi5jCTIwMTctMDQtMjAgMjI6Mjk6NDAuOTI1NzUxMTAzICswMjAw CiBAQCAtNjE1LDYgKzYxNSw3IEBACiAgICAgICAgeyJ0dWkiLCBub19hcmd1bWVudCwgMCwgT1BU X1RVSX0sCiAgICAgICAgeyJkYngiLCBub19hcmd1bWVudCwgJmRieF9jb21tYW5kcywgMX0sCkBA IC00MCw3ICs0MCw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvbWFpbi5jCiAg ICAgICAgeyJyIiwgbm9fYXJndW1lbnQsICZyZWFkbm93X3N5bWJvbF9maWxlcywgMX0sCiAgICAg ICAgeyJxdWlldCIsIG5vX2FyZ3VtZW50LCAmcXVpZXQsIDF9LAogICAgICAgIHsicSIsIG5vX2Fy Z3VtZW50LCAmcXVpZXQsIDF9LAotQEAgLTEyNTMsNiArMTI1NCw3IEBACitAQCAtMTI1NCw2ICsx MjU1LDcgQEAKICAgIC0tc2U9RklMRSAgICAgICAgICBVc2UgRklMRSBhcyBzeW1ib2wgZmlsZSBh bmQgZXhlY3V0YWJsZSBmaWxlLlxuXAogICAgLS1zeW1ib2xzPVNZTUZJTEUgIFJlYWQgc3ltYm9s cyBmcm9tIFNZTUZJTEUuXG5cCiAgICAtLXJlYWRub3cgICAgICAgICAgRnVsbHkgcmVhZCBzeW1i b2wgZmlsZXMgb24gZmlyc3QgYWNjZXNzLlxuXApAQCAtNDgsMTAgKzQ4LDEwIEBAIEluZGV4OiBn ZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvbWFpbi5jCiAgICAtLXdyaXRlICAgICAgICAgICAgU2V0 IHdyaXRpbmcgaW50byBleGVjdXRhYmxlIGFuZCBjb3JlIGZpbGVzLlxuXG5cCiAgIiksIHN0cmVh bSk7CiAgICBmcHV0c191bmZpbHRlcmVkIChfKCJcCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAy MjYvZ2RiL3N5bWZpbGUuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9zeW1maWxl LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9zeW1maWxl LmMJMjAxNy0wMi0yNiAyMToyNjo0My42MTM3ODg2OTEgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4y MDE3MDIyNi9nZGIvc3ltZmlsZS5jCTIwMTctMDItMjYgMjE6MjY6NDYuNTgzODA5NzI4ICswMTAw CistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvc3ltZmlsZS5jCTIwMTctMDQtMjAg MjI6Mjk6MzkuMTgzNzQwMTAxICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3N5 bWZpbGUuYwkyMDE3LTA0LTIwIDIyOjI5OjQwLjkyNjc1MTEwOSArMDIwMAogQEAgLTc5LDYgKzc5 LDcgQEAKICAKICAvKiBHbG9iYWwgdmFyaWFibGVzIG93bmVkIGJ5IHRoaXMgZmlsZS4gICovCkBA IC02MCwxOSArNjAsMTkgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9zeW1maWxl LmMKICAKICAvKiBGdW5jdGlvbnMgdGhpcyBmaWxlIGRlZmluZXMuICAqLwogIAotSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMjI2L2dkYi9kd2FyZjJyZWFkLmMKK0luZGV4OiBnZGItNy45OS45MC4y MDE3MDQyMC9nZGIvZHdhcmYycmVhZC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAx NzAyMjYub3JpZy9nZGIvZHdhcmYycmVhZC5jCTIwMTctMDItMjYgMjE6MjY6NDMuNjIwNzg4NzQw ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2R3YXJmMnJlYWQuYwkyMDE3LTAy LTI2IDIxOjI2OjU5LjA3ODg5ODIzNCArMDEwMAotQEAgLTcxLDYgKzcxLDcgQEAKLSAjaW5jbHVk ZSAibmFtZXNwYWNlLmgiCi0gI2luY2x1ZGUgImNvbW1vbi9nZGJfdW5saW5rZXIuaCIKKy0tLSBn ZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9kd2FyZjJyZWFkLmMJMjAxNy0wNC0yMCAyMjoy OTozOS4xOTA3NDAxNDUgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZHdhcmYy cmVhZC5jCTIwMTctMDQtMjAgMjI6Mjk6NTcuOTczODU4NzY2ICswMjAwCitAQCAtNzMsNiArNzMs NyBAQAogICNpbmNsdWRlICJjb21tb24vZnVuY3Rpb24tdmlldy5oIgorICNpbmNsdWRlICJjb21t b24vZ2RiX29wdGlvbmFsLmgiCisgI2luY2x1ZGUgImNvbW1vbi91bmRlcmx5aW5nLmgiCiArI2lu Y2x1ZGUgInRvcC5oIgogIAogICNpbmNsdWRlIDxmY250bC5oPgogICNpbmNsdWRlIDxzeXMvdHlw ZXMuaD4KLUBAIC0yMTEzLDcgKzIxMTQsOCBAQAorQEAgLTIyMDgsNyArMjIwOSw4IEBACiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAodm9pZCAqKSBuYW1lcyk7CiAgICAgICAgZHdhcmYy X3Blcl9vYmpmaWxlLT5vYmpmaWxlID0gb2JqZmlsZTsKICAgICAgfQpAQCAtODIsMTAgKzgyLDEw IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZHdhcmYycmVhZC5jCiAgCSAgJiYg ZHdhcmYyX3Blcl9vYmpmaWxlLT5pbmZvLnMuc2VjdGlvbiAhPSBOVUxMCiAgCSAgJiYgIWR3YXJm Ml9wZXJfb2JqZmlsZS0+YWJicmV2LmlzX3ZpcnR1YWwKICAJICAmJiBkd2FyZjJfcGVyX29iamZp bGUtPmFiYnJldi5zLnNlY3Rpb24gIT0gTlVMTCk7Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAy MjYvZ2RiL3RvcC5oCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3RvcC5oCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvdG9wLmgJMjAxNy0wMi0y NiAyMToyNjo0My42MjI3ODg3NTQgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIv dG9wLmgJMjAxNy0wMi0yNiAyMToyNjo0Ni41ODk4MDk3NzEgKzAxMDAKKy0tLSBnZGItNy45OS45 MC4yMDE3MDQyMC5vcmlnL2dkYi90b3AuaAkyMDE3LTA0LTIwIDIyOjI5OjM5LjE5MTc0MDE1MiAr MDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90b3AuaAkyMDE3LTA0LTIwIDIyOjI5 OjQwLjkzMjc1MTE0NyArMDIwMAogQEAgLTI2OSw2ICsyNjksNyBAQAogIAogIC8qIEZyb20gcmFu ZG9tIHBsYWNlcy4gICovCgpkaWZmIC0tZ2l0IGEvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS5wYXRj aCBiL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUucGF0Y2gKaW5kZXggMGY1ZmE4YS4uM2FiODljZiAx MDA2NDQKLS0tIGEvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS5wYXRjaAorKysgYi9nZGItNi42LWJ1 aWxkaWQtbG9jYXRlLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotSW5kZXg6IGdkYi03LjEyLjUwLjIw MTcwMjA3L2dkYi9jb3JlbG93LmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvY29y ZWxvdy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMDcub3JpZy9nZGIvY29y ZWxvdy5jCTIwMTctMDItMjQgMjI6MTg6MDIuMTc2MzkxNDAwICswMTAwCi0rKysgZ2RiLTcuMTIu NTAuMjAxNzAyMDcvZ2RiL2NvcmVsb3cuYwkyMDE3LTAyLTI0IDIyOjMyOjM4Ljc5MzI2NDM5NiAr MDEwMAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2NvcmVsb3cuYwkyMDE3LTA0 LTIwIDIzOjAwOjM1LjQxNTU4NDQyNiArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dk Yi9jb3JlbG93LmMJMjAxNy0wNC0yMCAyMzowMDo0My4zNTg2MjkxODMgKzAyMDAKIEBAIC00NSw2 ICs0NSwxMCBAQAogICNpbmNsdWRlICJnZGJfYmZkLmgiCiAgI2luY2x1ZGUgImNvbXBsZXRlci5o IgpAQCAtODMsNyArODMsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2NvcmVs b3cuYwogICAgcG9zdF9jcmVhdGVfaW5mZXJpb3IgKCZjb3JlX29wcywgZnJvbV90dHkpOwogIAog ICAgLyogTm93IGdvIHRocm91Z2ggdGhlIHRhcmdldCBzdGFjayBsb29raW5nIGZvciB0aHJlYWRz IHNpbmNlIHRoZXJlCi1AQCAtMTA3OCw0ICsxMTM4LDExIEBACitAQCAtMTA3OSw0ICsxMTM5LDEx IEBACiAgICBpbml0X2NvcmVfb3BzICgpOwogIAogICAgYWRkX3RhcmdldF93aXRoX2NvbXBsZXRl ciAoJmNvcmVfb3BzLCBmaWxlbmFtZV9jb21wbGV0ZXIpOwpAQCAtOTUsMTEgKzk1LDExIEBAIElu ZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvY29yZWxvdy5jCiArCQkJICAgTlVMTCwgTlVM TCwgTlVMTCwKICsJCQkgICAmc2V0bGlzdCwgJnNob3dsaXN0KTsKICB9Ci1JbmRleDogZ2RiLTcu MTIuNTAuMjAxNzAyMDcvZ2RiL2RvYy9nZGIudGV4aW5mbworSW5kZXg6IGdkYi03Ljk5LjkwLjIw MTcwNDIwL2dkYi9kb2MvZ2RiLnRleGluZm8KID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4y MDE3MDIwNy5vcmlnL2dkYi9kb2MvZ2RiLnRleGluZm8JMjAxNy0wMi0yNCAyMjoxODowMi4xNzYz OTE0MDAgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvZG9jL2dkYi50ZXhpbmZv CTIwMTctMDItMjQgMjI6MzI6MzguODAzMjY0NDYzICswMTAwCi1AQCAtMTg5NjIsNiArMTg5NjIs MjcgQEAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9kb2MvZ2RiLnRleGluZm8J MjAxNy0wNC0yMCAyMzowMDozNS40MTU1ODQ0MjYgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3 MDQyMC9nZGIvZG9jL2dkYi50ZXhpbmZvCTIwMTctMDQtMjAgMjM6MDA6NDMuMzY2NjI5MjI4ICsw MjAwCitAQCAtMTg5ODcsNiArMTg5ODcsMjcgQEAKICAKICBAZW5kIHRhYmxlCiAgCkBAIC0xMjcs MTAgKzEyNywxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2RvYy9nZGIudGV4 aW5mbwogIEBjaW5kZXggQGNvZGV7LmdudV9kZWJ1Z2xpbmt9IHNlY3Rpb25zCiAgQGNpbmRleCBk ZWJ1ZyBsaW5rIHNlY3Rpb25zCiAgQSBkZWJ1ZyBsaW5rIGlzIGEgc3BlY2lhbCBzZWN0aW9uIG9m IHRoZSBleGVjdXRhYmxlIGZpbGUgbmFtZWQKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9n ZGIvc29saWItc3ZyNC5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3NvbGliLXN2 cjQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL3NvbGli LXN2cjQuYwkyMDE3LTAyLTI0IDIyOjE4OjAyLjE3NjM5MTQwMCArMDEwMAotKysrIGdkYi03LjEy LjUwLjIwMTcwMjA3L2dkYi9zb2xpYi1zdnI0LmMJMjAxNy0wMi0yNCAyMjozMjozOC44MDQyNjQ0 NjkgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9zb2xpYi1zdnI0LmMJ MjAxNy0wNC0yMCAyMzowMDozNS40MTU1ODQ0MjYgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3 MDQyMC9nZGIvc29saWItc3ZyNC5jCTIwMTctMDQtMjAgMjM6MDA6NDMuMzY3NjI5MjM0ICswMjAw CiBAQCAtNDUsNiArNDUsNyBAQAogICNpbmNsdWRlICJhdXh2LmgiCiAgI2luY2x1ZGUgImdkYl9i ZmQuaCIKQEAgLTE5NSwxMCArMTk1LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9n ZGIvc29saWItc3ZyNC5jCiAgICAgICAgeGZyZWUgKGJ1ZmZlcik7CiAgCiAgICAgICAgLyogSWYg dGhpcyBlbnRyeSBoYXMgbm8gbmFtZSwgb3IgaXRzIG5hbWUgbWF0Y2hlcyB0aGUgbmFtZQotSW5k ZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9lbGZyZWFkLmMKK0luZGV4OiBnZGItNy45OS45 MC4yMDE3MDQyMC9nZGIvZWxmcmVhZC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAx NzAyMDcub3JpZy9nZGIvZWxmcmVhZC5jCTIwMTctMDItMjQgMjI6MTg6MDIuMTc2MzkxNDAwICsw MTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2VsZnJlYWQuYwkyMDE3LTAyLTI0IDIy OjMyOjM4LjgwNTI2NDQ3NiArMDEwMAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2Ri L2VsZnJlYWQuYwkyMDE3LTA0LTIwIDIzOjAwOjM1LjQxNTU4NDQyNiArMDIwMAorKysrIGdkYi03 Ljk5LjkwLjIwMTcwNDIwL2dkYi9lbGZyZWFkLmMJMjAxNy0wNC0yMCAyMzowMDo0My4zNjc2Mjky MzQgKzAyMDAKIEBAIC0xMjY1LDggKzEyNjUsOSBAQAogIAkgICAmJiBvYmpmaWxlLT5zZXBhcmF0 ZV9kZWJ1Z19vYmpmaWxlID09IE5VTEwKICAJICAgJiYgb2JqZmlsZS0+c2VwYXJhdGVfZGVidWdf b2JqZmlsZV9iYWNrbGluayA9PSBOVUxMKQpAQCAtMjIxLDExICsyMjEsMTEgQEAgSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMjA3L2dkYi9lbGZyZWFkLmMKICAgICAgfQogIH0KICAKLUluZGV4OiBn ZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvc3ltZmlsZS5oCitJbmRleDogZ2RiLTcuOTkuOTAuMjAx NzA0MjAvZ2RiL3N5bWZpbGUuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3 Lm9yaWcvZ2RiL3N5bWZpbGUuaAkyMDE3LTAyLTI0IDIyOjE4OjAyLjE3NjM5MTQwMCArMDEwMAot KysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9zeW1maWxlLmgJMjAxNy0wMi0yNCAyMjozMjoz OC44MDUyNjQ0NzYgKzAxMDAKLUBAIC01NzMsNiArNTczLDEwIEBACistLS0gZ2RiLTcuOTkuOTAu MjAxNzA0MjAub3JpZy9nZGIvc3ltZmlsZS5oCTIwMTctMDQtMjAgMjM6MDA6MzUuNDE1NTg0NDI2 ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3N5bWZpbGUuaAkyMDE3LTA0LTIw IDIzOjAwOjQzLjM2ODYyOTI0MCArMDIwMAorQEAgLTU2Nyw2ICs1NjcsMTAgQEAKICB2b2lkIG1h cF9zeW1ib2xfZmlsZW5hbWVzIChzeW1ib2xfZmlsZW5hbWVfZnR5cGUgKmZ1biwgdm9pZCAqZGF0 YSwKICAJCQkgICBpbnQgbmVlZF9mdWxsbmFtZSk7CiAgCkBAIC0yMzYsMTAgKzIzNiwxMCBAQCBJ bmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3N5bWZpbGUuaAogIC8qIEZyb20gZHdhcmYy cmVhZC5jICovCiAgCiAgLyogTmFtZXMgZm9yIGEgZHdhcmYyIGRlYnVnZ2luZyBzZWN0aW9uLiAg VGhlIGZpZWxkIE5PUk1BTCBpcyB0aGUgbm9ybWFsCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAy MDcvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAorSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIw L2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4y MDE3MDIwNy5vcmlnL2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAJMjAxNy0wMi0yNCAyMjoxODow Mi4xNzYzOTE0MDAgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRl L2xpYi9nZGIuZXhwCTIwMTctMDItMjQgMjI6MzI6MzguODA2MjY0NDgzICswMTAwCistLS0gZ2Ri LTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCTIwMTctMDQt MjAgMjM6MDA6MzUuNDE1NTg0NDI2ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2Ri L3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAkyMDE3LTA0LTIwIDIzOjAwOjQzLjM2OTYyOTI0NSArMDIw MAogQEAgLTE2NDYsNiArMTY0NiwxNiBAQAogIAkgICAgd2FybmluZyAiQ291bGRuJ3Qgc2V0IHRo ZSB3aWR0aCB0byAwLiIKICAJfQpAQCAtMjU3LDEwICsyNTcsMTAgQEAgSW5kZXg6IGdkYi03LjEy LjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAKICAgICAgcmV0dXJuIDAKICB9 CiAgCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9saWIvbWktc3Vw cG9ydC5leHAKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2xpYi9t aS1zdXBwb3J0LmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcv Z2RiL3Rlc3RzdWl0ZS9saWIvbWktc3VwcG9ydC5leHAJMjAxNy0wMi0yNCAyMjoxODowMi4xNzYz OTE0MDAgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2xpYi9t aS1zdXBwb3J0LmV4cAkyMDE3LTAyLTI0IDIyOjMyOjM4LjgwNzI2NDQ4OSArMDEwMAorLS0tIGdk Yi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9saWIvbWktc3VwcG9ydC5leHAJ MjAxNy0wNC0yMCAyMzowMDozNS40MTU1ODQ0MjYgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3 MDQyMC9nZGIvdGVzdHN1aXRlL2xpYi9taS1zdXBwb3J0LmV4cAkyMDE3LTA0LTIwIDIzOjAwOjQz LjM2OTYyOTI0NSArMDIwMAogQEAgLTMwOSw2ICszMDksMTYgQEAKICAJICAgIHdhcm5pbmcgIkNv dWxkbid0IHNldCB0aGUgd2lkdGggdG8gMC4iCiAgCX0KQEAgLTI3OCwxMCArMjc4LDEwIEBAIElu ZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2xpYi9taS1zdXBwb3J0LmV4 cAogIAogICAgICBpZiB7ICRzZXBhcmF0ZV9pbmZlcmlvcl9wdHkgfSB7CiAgCW1pX2NyZWF0ZV9p bmZlcmlvcl9wdHkKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL25ldy11aS1wZW5kaW5nLWlucHV0LmV4cAorSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcw NDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbmV3LXVpLXBlbmRpbmctaW5wdXQuZXhwCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMDcub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL25ldy11aS1wZW5kaW5nLWlucHV0LmV4cAkyMDE3LTAyLTI0IDIyOjE4OjAyLjE3NjM5MTQw MCArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv bmV3LXVpLXBlbmRpbmctaW5wdXQuZXhwCTIwMTctMDItMjQgMjI6MzI6MzguODA3MjY0NDg5ICsw MTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L25ldy11aS1wZW5kaW5nLWlucHV0LmV4cAkyMDE3LTA0LTIwIDIzOjAwOjM1LjQxNTU4NDQyNiAr MDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbmV3 LXVpLXBlbmRpbmctaW5wdXQuZXhwCTIwMTctMDQtMjAgMjM6MDA6NDMuMzY5NjI5MjQ1ICswMjAw CiBAQCAtNjIsNiArNjIsNyBAQAogICAgICBzZXQgb3B0aW9ucyAiIgogICAgICBhcHBlbmQgb3B0 aW9ucyAiIC1pZXggXCJzZXQgaGVpZ2h0IDBcIiIKQEAgLTI5MCwxMCArMjkwLDEwIEBAIEluZGV4 OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL25ldy11aS1wZW5k aW5nLWlucHV0LmV4cAogICAgICBhcHBlbmQgb3B0aW9ucyAiIC1pZXggXCJuZXctdWkgY29uc29s ZSAkZXh0cmFfdHR5X25hbWVcIiIKICAgICAgYXBwZW5kIG9wdGlvbnMgIiAtZXggXCJiICRicGxp bmVcIiIKICAgICAgYXBwZW5kIG9wdGlvbnMgIiAtZXggXCJydW5cIiIKLUluZGV4OiBnZGItNy4x Mi41MC4yMDE3MDIwNy9nZGIvb2JqZmlsZXMuaAorSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIw L2dkYi9vYmpmaWxlcy5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMDcub3Jp Zy9nZGIvb2JqZmlsZXMuaAkyMDE3LTAyLTI0IDIyOjE4OjAyLjE3NjM5MTQwMCArMDEwMAotKysr IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9vYmpmaWxlcy5oCTIwMTctMDItMjQgMjI6MzI6Mzgu ODA4MjY0NDk2ICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvb2JqZmls ZXMuaAkyMDE3LTA0LTIwIDIzOjAwOjM1LjQxNTU4NDQyNiArMDIwMAorKysrIGdkYi03Ljk5Ljkw LjIwMTcwNDIwL2dkYi9vYmpmaWxlcy5oCTIwMTctMDQtMjAgMjM6MDA6NDMuMzcwNjI5MjUxICsw MjAwCiBAQCAtNDQ0LDYgKzQ0NCwxMCBAQAogICAgaHRhYl90IHN0YXRpY19saW5rczsKICB9OwpA QCAtMzA1LDEwICszMDUsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9vYmpm aWxlcy5oCiAgLyogRGVjbGFyYXRpb25zIGZvciBmdW5jdGlvbnMgZGVmaW5lZCBpbiBvYmpmaWxl cy5jICovCiAgCiAgZXh0ZXJuIHN0cnVjdCBvYmpmaWxlICphbGxvY2F0ZV9vYmpmaWxlIChiZmQg KiwgY29uc3QgY2hhciAqbmFtZSwKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL2NvcmVmaWxlLmV4cAorSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIw L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY29yZWZpbGUuZXhwCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTcuMTIuNTAuMjAxNzAyMDcub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NvcmVmaWxlLmV4 cAkyMDE3LTAyLTI0IDIyOjE4OjAyLjE3NjM5MTQwMCArMDEwMAotKysrIGdkYi03LjEyLjUwLjIw MTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY29yZWZpbGUuZXhwCTIwMTctMDItMjQgMjI6 MzI6MzguODA4MjY0NDk2ICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL2NvcmVmaWxlLmV4cAkyMDE3LTA0LTIwIDIzOjAwOjM1LjQxNTU4 NDQyNiArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvY29yZWZpbGUuZXhwCTIwMTctMDQtMjAgMjM6MDA6NDMuMzcwNjI5MjUxICswMjAwCiBAQCAt MjkzLDMgKzI5MywzMyBAQAogIAlwYXNzICR0ZXN0CiAgICAgIH0KQEAgLTM0MywxMCArMzQzLDEw IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2Nv cmVmaWxlLmV4cAogKyAgICBnZGJfdGVzdCAiaW5mbyBmaWxlcyIgIkxvY2FsIGV4ZWMgZmlsZTpc clxuXFsgXHRcXSpgW3N0cmluZ190b19yZWdleHAgJGRlYnVnZGlyLyRidWlsZGlkXScsIGZpbGUg dHlwZSAuKiIKICsgICAgcGFzcyAkd2hvbGV0ZXN0CiArfQotSW5kZXg6IGdkYi03LjEyLjUwLjIw MTcwMjA3L2dkYi9idWlsZC1pZC5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2J1 aWxkLWlkLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi9i dWlsZC1pZC5jCTIwMTctMDItMjQgMjI6MTg6MDIuMTc2MzkxNDAwICswMTAwCi0rKysgZ2RiLTcu MTIuNTAuMjAxNzAyMDcvZ2RiL2J1aWxkLWlkLmMJMjAxNy0wMi0yNCAyMjo0NToyNS44MTc0MDMx NjIgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9idWlsZC1pZC5jCTIw MTctMDQtMjAgMjM6MDA6MzUuNDE1NTg0NDI2ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0 MjAvZ2RiL2J1aWxkLWlkLmMJMjAxNy0wNC0yMCAyMzowMzowMC4wNjAzOTk0NzQgKzAyMDAKIEBA IC0yNiwxMSArMjYsNjcgQEAKICAjaW5jbHVkZSAib2JqZmlsZXMuaCIKICAjaW5jbHVkZSAiZmls ZW5hbWVzLmgiCkBAIC03NzQsNyArNzc0LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3 L2dkYi9idWlsZC1pZC5jCiAgCiAgICBpZiAoZm91bmQgPT0gTlVMTCkKICAgICAgd2FybmluZyAo XygiRmlsZSBcIiVzXCIgaGFzIG5vIGJ1aWxkLWlkLCBmaWxlIHNraXBwZWQiKSwKLUBAIC02NSwy MyArNDYzLDU2IEBACitAQCAtNjUsMjMgKzQ2Myw1NCBAQAogICAgcmV0dXJuIHJldHZhbDsKICB9 CiAgCkBAIC03OTYsMTcgKzc5NiwxNSBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2Ri L2J1aWxkLWlkLmMKICsgICAgdGFyZ2V0ID0geHN0cmR1cCAoYnVmKTsKICsgIGVsc2UKICsgICAg ewotKyAgICAgIGNoYXIgKmRpciA9IGxkaXJuYW1lIChzeW1saW5rKTsKKysgICAgICBjb25zdCBz dGQ6OnN0cmluZyBkaXIgKGxkaXJuYW1lIChzeW1saW5rKSk7CiArCi0rICAgICAgaWYgKGRpciA9 PSBOVUxMKQotKwlyZXR1cm4geHN0cmR1cCAoc3ltbGluayk7CiArICAgICAgdGFyZ2V0ID0geHN0 cnByaW50ZiAoIiVzIgogKyNpZm5kZWYgSEFWRV9ET1NfQkFTRURfRklMRV9TWVNURU0KICsJCQkg ICAiLyIKICsjZWxzZSAvKiBIQVZFX0RPU19CQVNFRF9GSUxFX1NZU1RFTSAqLwogKwkJCSAgICJc XCIKICsjZW5kaWYgLyogSEFWRV9ET1NfQkFTRURfRklMRV9TWVNURU0gKi8KLSsJCQkgICAiJXMi LCBkaXIsIGJ1Zik7CisrCQkJICAgIiVzIiwgZGlyLmNfc3RyKCksIGJ1Zik7CiArICAgIH0KICsK ICsgIHJldHZhbCA9IGxpbmtfcmVzb2x2ZSAodGFyZ2V0LCBsZXZlbCArIDEpOwpAQCAtODM4LDcg KzgzNiw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvYnVpbGQtaWQuYwogIAog ICAgLyogS2VlcCBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHNvIHRoYXQgREVCVUdfRklMRV9ESVJF Q1RPUlkgYmVpbmcgIiIgd2lsbAogICAgICAgY2F1c2UgIi8uYnVpbGQtaWQvLi4uIiBsb29rdXBz LiAgKi8KLUBAIC05NCw5ICs1MjUsMTIgQEAKK0BAIC05NCw5ICs1MjMsMTIgQEAKICAgICAgICBz aXplX3QgZGVidWdkaXJfbGVuID0gc3RybGVuIChkZWJ1Z2Rpcik7CiAgICAgICAgY29uc3QgZ2Ri X2J5dGUgKmRhdGEgPSBidWlsZF9pZDsKICAgICAgICBzaXplX3Qgc2l6ZSA9IGJ1aWxkX2lkX2xl bjsKQEAgLTg1Miw3ICs4NTAsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2J1 aWxkLWlkLmMKICAKICAgICAgICBtZW1jcHkgKGxpbmssIGRlYnVnZGlyLCBkZWJ1Z2Rpcl9sZW4p OwogICAgICAgIHMgPSAmbGlua1tkZWJ1Z2Rpcl9sZW5dOwotQEAgLTExMCw0NSArNTQ0LDI5MCBA QAorQEAgLTExMCw0NSArNTQyLDI5MCBAQAogIAkqcysrID0gJy8nOwogICAgICAgIHdoaWxlIChz aXplLS0gPiAwKQogIAlzICs9IHNwcmludGYgKHMsICIlMDJ4IiwgKHVuc2lnbmVkKSAqZGF0YSsr KTsKQEAgLTExNjEsNyArMTE1OSw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIv YnVpbGQtaWQuYwogICAgICAgIC8qIFByZXZlbnQgbG9vcGluZyBvbiBhIHN0cmlwcGVkIC5kZWJ1 ZyBmaWxlLiAgKi8KICAgICAgICBpZiAoYWJmZCAhPSBOVUxMCiAgCSAgJiYgZmlsZW5hbWVfY21w IChiZmRfZ2V0X2ZpbGVuYW1lIChhYmZkLmdldCAoKSksCi1AQCAtMTYwLDMgKzgzOSwyMSBAQAor QEAgLTE2MCwzICs4MzcsMjEgQEAKICAgICAgfQogICAgcmV0dXJuIE5VTEw7CiAgfQpAQCAtMTE4 MywxMCArMTE4MSwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2J1aWxkLWlk LmMKICsKICsgIG9ic2VydmVyX2F0dGFjaF9leGVjdXRhYmxlX2NoYW5nZWQgKGRlYnVnX3ByaW50 X2V4ZWN1dGFibGVfY2hhbmdlZCk7CiArfQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dk Yi9idWlsZC1pZC5oCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2J1aWxkLWlkLmgK ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi9idWlsZC1pZC5o CTIwMTctMDItMjQgMjI6MTg6MDIuMTc2MzkxNDAwICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAx NzAyMDcvZ2RiL2J1aWxkLWlkLmgJMjAxNy0wMi0yNCAyMjozMjozOC44MDkyNjQ1MDMgKzAxMDAK Ky0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9idWlsZC1pZC5oCTIwMTctMDQtMjAg MjM6MDA6MzUuNDE1NTg0NDI2ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2J1 aWxkLWlkLmgJMjAxNy0wNC0yMCAyMzowMDo0My4zNzE2MjkyNTcgKzAyMDAKIEBAIC0yMiw5ICsy MiwxMCBAQAogIAogICNpbmNsdWRlICJnZGJfYmZkLmgiCkBAIC0xMjIyLDExICsxMjIwLDExIEBA IEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvYnVpbGQtaWQuaAogKwkJICAgICAgIGdk Yjo6dW5pcXVlX3htYWxsb2NfcHRyPGNoYXI+ICpidWlsZF9pZF9maWxlbmFtZV9yZXR1cm4pOwog IAogICNlbmRpZiAvKiBCVUlMRF9JRF9IICovCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcv Z2RiL2R3YXJmMnJlYWQuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9kd2FyZjJy ZWFkLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi9kd2Fy ZjJyZWFkLmMJMjAxNy0wMi0yNCAyMjoxODowMi4xNzYzOTE0MDAgKzAxMDAKLSsrKyBnZGItNy4x Mi41MC4yMDE3MDIwNy9nZGIvZHdhcmYycmVhZC5jCTIwMTctMDItMjQgMjI6MzI6MzguODE0MjY0 NTM2ICswMTAwCi1AQCAtMjUzNCw3ICsyNTM0LDcgQEAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQy MC5vcmlnL2dkYi9kd2FyZjJyZWFkLmMJMjAxNy0wNC0yMCAyMzowMDozNS40MTU1ODQ0MjYgKzAy MDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZHdhcmYycmVhZC5jCTIwMTctMDQtMjAg MjM6MDA6NDMuMzc1NjI5Mjc5ICswMjAwCitAQCAtMjY3MSw3ICsyNjcxLDcgQEAKICAgICAgfQog IAogICAgaWYgKGR3el9iZmQgPT0gTlVMTCkKQEAgLTEyMzUsMTEgKzEyMzMsMTEgQEAgSW5kZXg6 IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9kd2FyZjJyZWFkLmMKICAKICAgIGlmIChkd3pfYmZk ID09IE5VTEwpCiAgICAgIGVycm9yIChfKCJjb3VsZCBub3QgZmluZCAnLmdudV9kZWJ1Z2FsdGxp bmsnIGZpbGUgZm9yICVzIiksCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3B5dGhv bi9weS1vYmpmaWxlLmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvcHl0aG9uL3B5 LW9iamZpbGUuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2Ri L3B5dGhvbi9weS1vYmpmaWxlLmMJMjAxNy0wMi0yNCAyMjoxODowMi4xNzYzOTE0MDAgKzAxMDAK LSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvcHl0aG9uL3B5LW9iamZpbGUuYwkyMDE3LTAy LTI0IDIyOjMyOjM4LjgxNDI2NDUzNiArMDEwMAotQEAgLTEzNiw3ICsxMzYsNyBAQAorLS0tIGdk Yi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3B5dGhvbi9weS1vYmpmaWxlLmMJMjAxNy0wNC0y MCAyMzowMDozNS40MTU1ODQ0MjYgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIv cHl0aG9uL3B5LW9iamZpbGUuYwkyMDE3LTA0LTIwIDIzOjAwOjQzLjM3NTYyOTI3OSArMDIwMAor QEAgLTEzNyw3ICsxMzcsNyBAQAogIAogICAgVFJZCiAgICAgIHsKQEAgLTEyNDgsNyArMTI0Niw3 IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvcHl0aG9uL3B5LW9iamZpbGUuYwog ICAgICB9CiAgICBDQVRDSCAoZXhjZXB0LCBSRVRVUk5fTUFTS19BTEwpCiAgICAgIHsKLUBAIC01 NDYsNyArNTQ2LDcgQEAKK0BAIC01NDQsNyArNTQ0LDcgQEAKICAgICAgICAvKiBEb24ndCByZXR1 cm4gc2VwYXJhdGUgZGVidWcgZmlsZXMuICAqLwogICAgICAgIGlmIChvYmpmaWxlLT5zZXBhcmF0 ZV9kZWJ1Z19vYmpmaWxlX2JhY2tsaW5rICE9IE5VTEwpCiAgCWNvbnRpbnVlOwpAQCAtMTI1Nywx MCArMTI1NSwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3B5dGhvbi9weS1v YmpmaWxlLmMKICAgICAgICBpZiAob2JmZF9idWlsZF9pZCA9PSBOVUxMKQogIAljb250aW51ZTsK ICAgICAgICBpZiAob2JqZnB5X2J1aWxkX2lkX21hdGNoZXMgKG9iZmRfYnVpbGRfaWQsIGJ1aWxk X2lkKSkKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvY29mZnJlYWQuYworSW5kZXg6 IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9jb2ZmcmVhZC5jCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTcuMTIuNTAuMjAxNzAyMDcub3JpZy9nZGIvY29mZnJlYWQuYwkyMDE3LTAyLTI0IDIyOjE4OjAy LjE3NjM5MTQwMCArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9jb2ZmcmVhZC5j CTIwMTctMDItMjQgMjI6MzI6MzguODE1MjY0NTQzICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAx NzA0MjAub3JpZy9nZGIvY29mZnJlYWQuYwkyMDE3LTA0LTIwIDIzOjAwOjM1LjQxNTU4NDQyNiAr MDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9jb2ZmcmVhZC5jCTIwMTctMDQtMjAg MjM6MDA6NDMuMzc2NjI5Mjg1ICswMjAwCiBAQCAtNzM0LDcgKzczNCw3IEBACiAgICAgIHsKICAg ICAgICBjaGFyICpkZWJ1Z2ZpbGU7CgpkaWZmIC0tZ2l0IGEvZ2RiLTYuOC1hdHRhY2gtc2lnbmFs bGVkLWRldGFjaC1zdG9wcGVkLnBhdGNoIGIvZ2RiLTYuOC1hdHRhY2gtc2lnbmFsbGVkLWRldGFj aC1zdG9wcGVkLnBhdGNoCmluZGV4IDQ0YjgzMTEuLmM2ZjZiZDQgMTAwNjQ0Ci0tLSBhL2dkYi02 LjgtYXR0YWNoLXNpZ25hbGxlZC1kZXRhY2gtc3RvcHBlZC5wYXRjaAorKysgYi9nZGItNi44LWF0 dGFjaC1zaWduYWxsZWQtZGV0YWNoLXN0b3BwZWQucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1JbmRl eDogZ2RiLTcuMTEuNTAuMjAxNjA3MTYvZ2RiL2luZnJ1bi5jCitJbmRleDogZ2RiLTcuOTkuOTAu MjAxNzA0MjAvZ2RiL2luZnJ1bi5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTEuNTAuMjAxNjA3 MTYub3JpZy9nZGIvaW5mcnVuLmMJMjAxNi0wNy0xNiAxNDozNzowOS4zMTcxNzgxNTAgKzAyMDAK LSsrKyBnZGItNy4xMS41MC4yMDE2MDcxNi9nZGIvaW5mcnVuLmMJMjAxNi0wNy0xNiAxNDozNzox MC42MzYxODg3NjUgKzAyMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9pbmZy dW4uYwkyMDE3LTA0LTIwIDIzOjE5OjE2LjA1NjQzNDMwOSArMDIwMAorKysrIGdkYi03Ljk5Ljkw LjIwMTcwNDIwL2dkYi9pbmZydW4uYwkyMDE3LTA0LTIwIDIzOjE5OjIyLjkzMjQ4MDM2NyArMDIw MAogQEAgLTYyMCw2ICs2MjAsMTMgQEAKICAJCQkJdGFyZ2V0X3BpZF90b19zdHIgKHByb2Nlc3Nf cHRpZCkpOwogIAkgICAgfQpAQCAtMTYsMTAgKzE2LDEwIEBAIEluZGV4OiBnZGItNy4xMS41MC4y MDE2MDcxNi9nZGIvaW5mcnVuLmMKICAJICB0YXJnZXRfZGV0YWNoIChOVUxMLCAwKTsKICAJfQog IAotSW5kZXg6IGdkYi03LjExLjUwLjIwMTYwNzE2L2dkYi9saW51eC1uYXQuYworSW5kZXg6IGdk Yi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9saW51eC1uYXQuYwogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03 LjExLjUwLjIwMTYwNzE2Lm9yaWcvZ2RiL2xpbnV4LW5hdC5jCTIwMTYtMDctMTYgMTQ6Mzc6MDku MzIwMTc4MTc0ICswMjAwCi0rKysgZ2RiLTcuMTEuNTAuMjAxNjA3MTYvZ2RiL2xpbnV4LW5hdC5j CTIwMTYtMDctMTYgMTQ6Mzg6MDkuNTc0NjYzMDk0ICswMjAwCistLS0gZ2RiLTcuOTkuOTAuMjAx NzA0MjAub3JpZy9nZGIvbGludXgtbmF0LmMJMjAxNy0wNC0yMCAyMzoxOToxNi4wNTg0MzQzMjIg KzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvbGludXgtbmF0LmMJMjAxNy0wNC0y MCAyMzoxOToyMi45MzM0ODAzNzMgKzAyMDAKIEBAIC0xOTQsNiArMTk0LDExIEBACiAgc3RhdGlj IHN0cnVjdCB0YXJnZXRfb3BzICpsaW51eF9vcHM7CiAgc3RhdGljIHN0cnVjdCB0YXJnZXRfb3Bz IGxpbnV4X29wc19zYXZlZDsKQEAgLTMyLDcgKzMyLDcgQEAgSW5kZXg6IGdkYi03LjExLjUwLjIw MTYwNzE2L2dkYi9saW51eC1uYXQuYwogIC8qIFRoZSBtZXRob2QgdG8gY2FsbCwgaWYgYW55LCB3 aGVuIGEgbmV3IHRocmVhZCBpcyBhdHRhY2hlZC4gICovCiAgc3RhdGljIHZvaWQgKCpsaW51eF9u YXRfbmV3X3RocmVhZCkgKHN0cnVjdCBsd3BfaW5mbyAqKTsKICAKLUBAIC0xMDQ3LDYgKzEwNTIs OSBAQAorQEAgLTEwNTUsNiArMTA2MCw5IEBACiAgICAgICAgaWYgKGRlYnVnX2xpbnV4X25hdCkK ICAJZnByaW50Zl91bmZpbHRlcmVkIChnZGJfc3RkbG9nLAogIAkJCSAgICAiTE5QQVc6IEF0dGFj aGluZyB0byBhIHN0b3BwZWQgcHJvY2Vzc1xuIik7CkBAIC00Miw3ICs0Miw3IEBAIEluZGV4OiBn ZGItNy4xMS41MC4yMDE2MDcxNi9nZGIvbGludXgtbmF0LmMKICAKICAgICAgICAvKiBUaGUgcHJv Y2VzcyBpcyBkZWZpbml0ZWx5IHN0b3BwZWQuICBJdCBpcyBpbiBhIGpvYiBjb250cm9sCiAgCSBz dG9wLCB1bmxlc3MgdGhlIGtlcm5lbCBwcmVkYXRlcyB0aGUgVEFTS19TVE9QUEVEIC8KLUBAIC0x NDA0LDYgKzE0MTIsMjUgQEAKK0BAIC0xNDEyLDYgKzE0MjAsMjUgQEAKICAgICAgICByZXR1cm4g Z2RiX3NpZ25hbF90b19ob3N0IChzaWdubyk7CiAgICAgIH0KICAKQEAgLTY4LDcgKzY4LDcgQEAg SW5kZXg6IGdkYi03LjExLjUwLjIwMTYwNzE2L2dkYi9saW51eC1uYXQuYwogICAgcmV0dXJuIDA7 CiAgfQogIAotQEAgLTE1NjIsNiArMTU4OSwxMCBAQAorQEAgLTE1NzAsNiArMTU5NywxMCBAQAog ICAgICAgIGRldGFjaF9vbmVfbHdwIChtYWluX2x3cCwgJnNpZ25vKTsKICAKICAgICAgICBpbmZf cHRyYWNlX2RldGFjaF9zdWNjZXNzIChvcHMpOwpAQCAtNzcsOSArNzcsOSBAQCBJbmRleDogZ2Ri LTcuMTEuNTAuMjAxNjA3MTYvZ2RiL2xpbnV4LW5hdC5jCiArICAgICAgcGlkX3dhc19zdG9wcGVk ID0gMDsKICsjZW5kaWYKICAgICAgfQotICAgZGVsZXRlX2x3cCAobWFpbl9sd3AtPnB0aWQpOwog IH0KLUBAIC0xODIzLDYgKzE4NTQsMTYgQEAKKyAKK0BAIC0xODMwLDYgKzE4NjEsMTYgQEAKICAg ICAgICByZXR1cm47CiAgICAgIH0KICAKQEAgLTk2LDcgKzk2LDcgQEAgSW5kZXg6IGdkYi03LjEx LjUwLjIwMTYwNzE2L2dkYi9saW51eC1uYXQuYwogICAgaWYgKHJlc3VtZV9tYW55KQogICAgICBp dGVyYXRlX292ZXJfbHdwcyAocHRpZCwgbGludXhfbmF0X3Jlc3VtZV9jYWxsYmFjaywgbHApOwog IAotQEAgLTM4MTksNiArMzg2MCwxMCBAQAorQEAgLTM4MjYsNiArMzg2NywxMCBAQAogIAogICAg LyogTGV0IHRoZSBhcmNoLXNwZWNpZmljIG5hdGl2ZSBjb2RlIGtub3cgdGhpcyBwcm9jZXNzIGlz IGdvbmUuICAqLwogICAgbGludXhfbmF0X2ZvcmdldF9wcm9jZXNzIChwaWQpOwpAQCAtMTA3LDEw ICsxMDcsMTAgQEAgSW5kZXg6IGdkYi03LjExLjUwLjIwMTYwNzE2L2dkYi9saW51eC1uYXQuYwog IH0KICAKICAvKiBDb252ZXJ0IGEgbmF0aXZlL2hvc3Qgc2lnaW5mbyBvYmplY3QsIGludG8vZnJv bSB0aGUgc2lnaW5mbyBpbiB0aGUKLUluZGV4OiBnZGItNy4xMS41MC4yMDE2MDcxNi9nZGIvdGVz dHN1aXRlL2dkYi50aHJlYWRzL2F0dGFjaC1zdG9wcGVkLmV4cAorSW5kZXg6IGdkYi03Ljk5Ljkw LjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvYXR0YWNoLXN0b3BwZWQuZXhwCiA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gZ2RiLTcuMTEuNTAuMjAxNjA3MTYub3JpZy9nZGIvdGVzdHN1aXRlL2dk Yi50aHJlYWRzL2F0dGFjaC1zdG9wcGVkLmV4cAkyMDE2LTA3LTE2IDE0OjM3OjA5LjMyMTE3ODE4 MiArMDIwMAotKysrIGdkYi03LjExLjUwLjIwMTYwNzE2L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVh ZHMvYXR0YWNoLXN0b3BwZWQuZXhwCTIwMTYtMDctMTYgMTQ6Mzc6MTAuNjQwMTg4Nzk3ICswMjAw CistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRz L2F0dGFjaC1zdG9wcGVkLmV4cAkyMDE3LTA0LTIwIDIzOjE5OjE2LjA1OTQzNDMyOSArMDIwMAor KysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvYXR0YWNo LXN0b3BwZWQuZXhwCTIwMTctMDQtMjAgMjM6MTk6MjIuOTMzNDgwMzczICswMjAwCiBAQCAtNTYs NyArNTYsNjUgQEAKICAgICAgZ2RiX3JlaW5pdGlhbGl6ZV9kaXIgJHNyY2Rpci8kc3ViZGlyCiAg ICAgIGdkYl9sb2FkICR7YmluZmlsZX0KCmRpZmYgLS1naXQgYS9nZGItYXJjaGVyLXBpZS1hZGRv bnMta2VlcC1kaXNhYmxlZC5wYXRjaCBiL2dkYi1hcmNoZXItcGllLWFkZG9ucy1rZWVwLWRpc2Fi bGVkLnBhdGNoCmluZGV4IGZmZGY5YTcuLmNkOTE1ZDMgMTAwNjQ0Ci0tLSBhL2dkYi1hcmNoZXIt cGllLWFkZG9ucy1rZWVwLWRpc2FibGVkLnBhdGNoCisrKyBiL2dkYi1hcmNoZXItcGllLWFkZG9u cy1rZWVwLWRpc2FibGVkLnBhdGNoCkBAIC0xLDggKzEsOCBAQAotSW5kZXg6IGdkYi03LjExLjkw LjIwMTYwODI5L2dkYi9icmVha3BvaW50LmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9n ZGIvYnJlYWtwb2ludC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTEuOTAuMjAxNjA4Mjkub3Jp Zy9nZGIvYnJlYWtwb2ludC5jCTIwMTYtMDgtMjkgMDk6NDE6NTcuMDU0ODc1ODEwICswMjAwCi0r KysgZ2RiLTcuMTEuOTAuMjAxNjA4MjkvZ2RiL2JyZWFrcG9pbnQuYwkyMDE2LTA4LTI5IDA5OjQ1 OjA0LjE2NjYxMjM3NiArMDIwMAotQEAgLTE2MTc2LDYgKzE2MTc2LDUwIEBACistLS0gZ2RiLTcu OTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvYnJlYWtwb2ludC5jCTIwMTctMDQtMjAgMjM6MDQ6Mzku NjI3OTYwNTIzICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2JyZWFrcG9pbnQu YwkyMDE3LTA0LTIwIDIzOjA3OjI5Ljg1NDkxOTcyNSArMDIwMAorQEAgLTE2MDg2LDYgKzE2MDg2 LDUwIEBACiAgc3RhdGljIHN0cnVjdCBjbWRfbGlzdF9lbGVtZW50ICplbmFibGVicmVha2xpc3Qg PSBOVUxMOwogIAogIHZvaWQKQEAgLTQ1LDE5ICs0NSwxOSBAQCBJbmRleDogZ2RiLTcuMTEuOTAu MjAxNjA4MjkvZ2RiL2JyZWFrcG9pbnQuYwogKyAgICB9CiArCiArICBpZiAoY2hhbmdlZCkKLSsg ICAgcXNvcnQgKGJwX2xvY2F0aW9uLCBicF9sb2NhdGlvbl9jb3VudCwgc2l6ZW9mICgqYnBfbG9j YXRpb24pLAotKwkgICBicF9sb2NhdGlvbl9jb21wYXJlKTsKKysgICAgcXNvcnQgKGJwX2xvY2F0 aW9ucywgYnBfbG9jYXRpb25zX2NvdW50LCBzaXplb2YgKCpicF9sb2NhdGlvbnMpLAorKwkgICBi cF9sb2NhdGlvbnNfY29tcGFyZSk7CiArfQogKwogK3ZvaWQKICBfaW5pdGlhbGl6ZV9icmVha3Bv aW50ICh2b2lkKQogIHsKICAgIHN0cnVjdCBjbWRfbGlzdF9lbGVtZW50ICpjOwotSW5kZXg6IGdk Yi03LjExLjkwLjIwMTYwODI5L2dkYi9icmVha3BvaW50LmgKK0luZGV4OiBnZGItNy45OS45MC4y MDE3MDQyMC9nZGIvYnJlYWtwb2ludC5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTEuOTAuMjAx NjA4Mjkub3JpZy9nZGIvYnJlYWtwb2ludC5oCTIwMTYtMDgtMjkgMDk6NDE6NTcuMDU0ODc1ODEw ICswMjAwCi0rKysgZ2RiLTcuMTEuOTAuMjAxNjA4MjkvZ2RiL2JyZWFrcG9pbnQuaAkyMDE2LTA4 LTI5IDA5OjQyOjI0LjM3MDEyOTMyMCArMDIwMAotQEAgLTE2NDQsNCArMTY0NCw3IEBACistLS0g Z2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvYnJlYWtwb2ludC5oCTIwMTctMDQtMjAgMjM6 MDQ6MzkuNjI3OTYwNTIzICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2JyZWFr cG9pbnQuaAkyMDE3LTA0LTIwIDIzOjA0OjQ4LjMzMTAwOTU2MyArMDIwMAorQEAgLTE2NDYsNCAr MTY0Niw3IEBACiAgICAgVUlPVVQgaWZmIGRlYnVnZ2luZyBtdWx0aXBsZSB0aHJlYWRzLiAgKi8K ICBleHRlcm4gdm9pZCBtYXliZV9wcmludF90aHJlYWRfaGl0X2JyZWFrcG9pbnQgKHN0cnVjdCB1 aV9vdXQgKnVpb3V0KTsKICAKQEAgLTY1LDExICs2NSwxMSBAQCBJbmRleDogZ2RiLTcuMTEuOTAu MjAxNjA4MjkvZ2RiL2JyZWFrcG9pbnQuaAogKwkJCQkgIHN0cnVjdCBzZWN0aW9uX29mZnNldHMg KmRlbHRhKTsKICsKICAjZW5kaWYgLyogIWRlZmluZWQgKEJSRUFLUE9JTlRfSCkgKi8KLUluZGV4 OiBnZGItNy4xMS45MC4yMDE2MDgyOS9nZGIvb2JqZmlsZXMuYworSW5kZXg6IGdkYi03Ljk5Ljkw LjIwMTcwNDIwL2dkYi9vYmpmaWxlcy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTEuOTAuMjAx NjA4Mjkub3JpZy9nZGIvb2JqZmlsZXMuYwkyMDE2LTA4LTI5IDA5OjQxOjU3LjA1NDg3NTgxMCAr MDIwMAotKysrIGdkYi03LjExLjkwLjIwMTYwODI5L2dkYi9vYmpmaWxlcy5jCTIwMTYtMDgtMjkg MDk6NDI6MjQuMzcwMTI5MzIwICswMjAwCi1AQCAtOTE2LDYgKzkxNiwxMSBAQAorLS0tIGdkYi03 Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL29iamZpbGVzLmMJMjAxNy0wNC0yMCAyMzowNDozOS42 Mjc5NjA1MjMgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvb2JqZmlsZXMuYwky MDE3LTA0LTIwIDIzOjA0OjQ4LjMzMjAwOTU2OSArMDIwMAorQEAgLTkwOSw2ICs5MDksMTEgQEAK ICAJCQkJb2JqX3NlY3Rpb25fYWRkciAocykpOwogICAgICB9CiAgCgpkaWZmIC0tZ2l0IGEvZ2Ri LWFyY2hlci5wYXRjaCBiL2dkYi1hcmNoZXIucGF0Y2gKaW5kZXggOTcwNzQ1ZC4uYzNjOGRhNiAx MDA2NDQKLS0tIGEvZ2RiLWFyY2hlci5wYXRjaAorKysgYi9nZGItYXJjaGVyLnBhdGNoCkBAIC0y LDcgKzIsNyBAQCBodHRwOi8vc291cmNld2FyZS5vcmcvZ2RiL3dpa2kvUHJvamVjdEFyY2hlcgog aHR0cDovL3NvdXJjZXdhcmUub3JnL2dkYi93aWtpL0FyY2hlckJyYW5jaE1hbmFnZW1lbnQKIAog R0lUIHNuYXBzaG90OgotY29tbWl0IGUyYzBjYmY5M2NmMjA2NjdiZTQ0OWE3NWQyYWRhNWQzNzdk ZGIwOTAKK2NvbW1pdCA3MThhMTYxOGIyZjY5MWE3ZjQwNzIxM2JiNTBmMTAwYWM1OWY5MWMzCiAK IHRyb21leS9weXRob24KIApAQCAtMTYsMTAgKzE2LDEwIEBAIGluZGV4IDAwMDAwMDAuLjE3M2I4 ZWEKICtUaGlzIGJyYW5jaCBvcmlnaW5hbGx5IGhlbGQgdGhlIFB5dGhvbiBjb2RlIGZvciBnZGIu ICBJdCBzdGlsbCBleGlzdHMKICtiZWNhdXNlIGEgc21hbGwgYW1vdW50IG9mIGNvZGUgaGVyZSBo YXMgbm90IHlldCBiZWVuIG1lcmdlZCB1cHN0cmVhbS4KIGRpZmYgLS1naXQgYS9nZGIvTWFrZWZp bGUuaW4gYi9nZGIvTWFrZWZpbGUuaW4KLWluZGV4IDI2OGMyYzYuLjQwNDVlZjcgMTAwNjQ0Citp bmRleCAyOTFiMWEwLi4xNTBhOGVmIDEwMDY0NAogLS0tIGEvZ2RiL01ha2VmaWxlLmluCiArKysg Yi9nZGIvTWFrZWZpbGUuaW4KLUBAIC0yMzQ1LDYgKzIzNDUsMTIgQEAgc3RhbXAtaDogJChzcmNk aXIpL2NvbmZpZy5pbiBjb25maWcuc3RhdHVzCitAQCAtMjM1MCw2ICsyMzUwLDEyIEBAIHN0YW1w LWg6ICQoc3JjZGlyKS9jb25maWcuaW4gY29uZmlnLnN0YXR1cwogIAkgIENPTkZJR19MSU5LUz0g XAogIAkgICQoU0hFTEwpIGNvbmZpZy5zdGF0dXMKICAKQEAgLTU4LDcgKzU4LDcgQEAgaW5kZXgg MzA0ZDRiMC4uZDIwMDdhNCAxMDA2NDQKICAJZ2RiL3ByaW50ZXIvYm91bmRfcmVnaXN0ZXJzLnB5 CiAgCiBkaWZmIC0tZ2l0IGEvZ2RiL2RvYy9nZGIudGV4aW5mbyBiL2dkYi9kb2MvZ2RiLnRleGlu Zm8KLWluZGV4IDk2MjMyNWIuLjU4OWUyMmMgMTAwNjQ0CitpbmRleCAzMDBkNzhlLi42OTlmMmNi IDEwMDY0NAogLS0tIGEvZ2RiL2RvYy9nZGIudGV4aW5mbwogKysrIGIvZ2RiL2RvYy9nZGIudGV4 aW5mbwogQEAgLTEyMzAsNiArMTIzMCwxNiBAQCBmb3IgcmVtb3RlIGRlYnVnZ2luZy4KQEAgLTc5 LDcgKzc5LDcgQEAgaW5kZXggOTYyMzI1Yi4uNTg5ZTIyYyAxMDA2NDQKICBAaXRlbSAtdHVpCiAg QGNpbmRleCBAY29kZXstLXR1aX0KIGRpZmYgLS1naXQgYS9nZGIvZG9jL3B5dGhvbi50ZXhpIGIv Z2RiL2RvYy9weXRob24udGV4aQotaW5kZXggYzNlYTIwMy4uYTNiZGI5OCAxMDA2NDQKK2luZGV4 IGNlNTgxMGUuLjRjZWIxMDggMTAwNjQ0CiAtLS0gYS9nZGIvZG9jL3B5dGhvbi50ZXhpCiArKysg Yi9nZGIvZG9jL3B5dGhvbi50ZXhpCiBAQCAtODgsOCArODgsNiBAQCBjb250YWluaW5nIEBjb2Rl e2VuZH0uICBGb3IgZXhhbXBsZToKQEAgLTExMiw3ICsxMTIsNyBAQCBpbmRleCAwNWEzOGIyLi45 ODAxZmRmIDEwMDY0NAogICAgc2V0IHZhcmlhYmxlICRnZGJfaW5pdF9kb25lID0gMQogIAogZGlm ZiAtLWdpdCBhL2dkYi9tYWluLmMgYi9nZGIvbWFpbi5jCi1pbmRleCAzMGUyN2MyLi4wNDYwYzI4 IDEwMDY0NAoraW5kZXggZGY0YjExMS4uNmFjYThiMCAxMDA2NDQKIC0tLSBhL2dkYi9tYWluLmMK ICsrKyBiL2dkYi9tYWluLmMKIEBAIC0zMyw2ICszMyw3IEBACkBAIC0xMzIsNyArMTMyLDcgQEAg aW5kZXggMzBlMjdjMi4uMDQ2MGMyOCAxMDA2NDQKICB7CiAgICBpbnQgYXJnYyA9IGNvbnRleHQt PmFyZ2M7CiAgICBjaGFyICoqYXJndiA9IGNvbnRleHQtPmFyZ3Y7Ci1AQCAtNjc0LDEwICs2NzUs MTQgQEAgY2FwdHVyZWRfbWFpbl8xIChzdHJ1Y3QgY2FwdHVyZWRfbWFpbl9hcmdzICpjb250ZXh0 KQorQEAgLTY3NiwxMCArNjc3LDE0IEBAIGNhcHR1cmVkX21haW5fMSAoc3RydWN0IGNhcHR1cmVk X21haW5fYXJncyAqY29udGV4dCkKICAgICAgICB7ImFyZ3MiLCBub19hcmd1bWVudCwgJnNldF9h cmdzLCAxfSwKICAgICAgICB7ImwiLCByZXF1aXJlZF9hcmd1bWVudCwgMCwgJ2wnfSwKICAgICAg ICB7InJldHVybi1jaGlsZC1yZXN1bHQiLCBub19hcmd1bWVudCwgJnJldHVybl9jaGlsZF9yZXN1 bHQsIDF9LApAQCAtMTQ4LDcgKzE0OCw3IEBAIGluZGV4IDMwZTI3YzIuLjA0NjBjMjggMTAwNjQ0 CiAgICAgICAgewogIAlpbnQgb3B0aW9uX2luZGV4OwogIAotQEAgLTY5NSw2ICs3MDAsOSBAQCBj YXB0dXJlZF9tYWluXzEgKHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgKmNvbnRleHQpCitAQCAt Njk3LDYgKzcwMiw5IEBAIGNhcHR1cmVkX21haW5fMSAoc3RydWN0IGNhcHR1cmVkX21haW5fYXJn cyAqY29udGV4dCkKICAJICBjYXNlIDA6CiAgCSAgICAvKiBMb25nIG9wdGlvbiB0aGF0IGp1c3Qg c2V0cyBhIGZsYWcuICAqLwogIAkgICAgYnJlYWs7CkBAIC0xNTgsNyArMTU4LDcgQEAgaW5kZXgg MzBlMjdjMi4uMDQ2MGMyOCAxMDA2NDQKICAJICBjYXNlIE9QVF9TRToKICAJICAgIHN5bWFyZyA9 IG9wdGFyZzsKICAJICAgIGV4ZWNhcmcgPSBvcHRhcmc7Ci1AQCAtODUzLDcgKzg2MSwzMSBAQCBj YXB0dXJlZF9tYWluXzEgKHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgKmNvbnRleHQpCitAQCAt ODU1LDcgKzg2MywzMSBAQCBjYXB0dXJlZF9tYWluXzEgKHN0cnVjdCBjYXB0dXJlZF9tYWluX2Fy Z3MgKmNvbnRleHQpCiAgCiAgICAvKiBOb3cgdGhhdCBnZGJfaW5pdCBoYXMgY3JlYXRlZCB0aGUg aW5pdGlhbCBpbmZlcmlvciwgd2UncmUgaW4KICAgICAgIHBvc2l0aW9uIHRvIHNldCBhcmdzIGZv ciB0aGF0IGluZmVyaW9yLiAgKi8KQEAgLTE5MSw3ICsxOTEsNyBAQCBpbmRleCAzMGUyN2MyLi4w NDYwYzI4IDEwMDY0NAogICAgICB7CiAgICAgICAgLyogVGhlIHJlbWFpbmluZyBvcHRpb25zIGFy ZSB0aGUgY29tbWFuZC1saW5lIG9wdGlvbnMgZm9yIHRoZQogIAkgaW5mZXJpb3IuICBUaGUgZmly c3Qgb25lIGlzIHRoZSBzeW0vZXhlYyBmaWxlLCBhbmQgdGhlIHJlc3QKLUBAIC0xMTIzLDcgKzEx NTUsOCBAQCBjYXB0dXJlZF9tYWluXzEgKHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgKmNvbnRl eHQpCitAQCAtMTEyNSw3ICsxMTU3LDggQEAgY2FwdHVyZWRfbWFpbl8xIChzdHJ1Y3QgY2FwdHVy ZWRfbWFpbl9hcmdzICpjb250ZXh0KQogIAogICAgLyogUmVhZCBpbiB0aGUgb2xkIGhpc3Rvcnkg YWZ0ZXIgYWxsIHRoZSBjb21tYW5kIGZpbGVzIGhhdmUgYmVlbgogICAgICAgcmVhZC4gICovCkBA IC0yMDEsNyArMjAxLDcgQEAgaW5kZXggMzBlMjdjMi4uMDQ2MGMyOCAxMDA2NDQKICAKICAgIGlm IChiYXRjaF9mbGFnKQogICAgICB7Ci1AQCAtMTEzNiwxNiArMTE2OSwyOSBAQCBzdGF0aWMgdm9p ZAorQEAgLTExMzgsMTYgKzExNzEsMjkgQEAgc3RhdGljIHZvaWQKICBjYXB0dXJlZF9tYWluICh2 b2lkICpkYXRhKQogIHsKICAgIHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgKmNvbnRleHQgPSAo c3RydWN0IGNhcHR1cmVkX21haW5fYXJncyAqKSBkYXRhOwpAQCAtMjM4LDcgKzIzOCw3IEBAIGlu ZGV4IDMwZTI3YzIuLjA0NjBjMjggMTAwNjQ0CiAgICAgIH0KICAgIC8qIE5vIGV4aXQgLS0gZXhp dCBpcyB0aHJvdWdoIHF1aXRfY29tbWFuZC4gICovCiAgfQotQEAgLTExODgsNiArMTIzNCwxMiBA QCBwcmludF9nZGJfaGVscCAoc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSkKK0BAIC0xMTkwLDYgKzEy MzYsMTIgQEAgcHJpbnRfZ2RiX2hlbHAgKHN0cnVjdCB1aV9maWxlICpzdHJlYW0pCiAgICBmcHV0 c191bmZpbHRlcmVkIChfKCJcCiAgVGhpcyBpcyB0aGUgR05VIGRlYnVnZ2VyLiAgVXNhZ2U6XG5c blwKICAgICAgZ2RiIFtvcHRpb25zXSBbZXhlY3V0YWJsZS1maWxlIFtjb3JlLWZpbGUgb3IgcHJv Y2Vzcy1pZF1dXG5cCkBAIC0yNTEsNyArMjUxLDcgQEAgaW5kZXggMzBlMjdjMi4uMDQ2MGMyOCAx MDA2NDQKICAgICAgZ2RiIFtvcHRpb25zXSAtLWFyZ3MgZXhlY3V0YWJsZS1maWxlIFtpbmZlcmlv ci1hcmd1bWVudHMgLi4uXVxuXG5cCiAgIiksIHN0cmVhbSk7CiAgICBmcHV0c191bmZpbHRlcmVk IChfKCJcCi1AQCAtMTIzMiw2ICsxMjg0LDEzIEBAIE91dHB1dCBhbmQgdXNlciBpbnRlcmZhY2Ug Y29udHJvbDpcblxuXAorQEAgLTEyMzQsNiArMTI4NiwxMyBAQCBPdXRwdXQgYW5kIHVzZXIgaW50 ZXJmYWNlIGNvbnRyb2w6XG5cblwKICAjZW5kaWYKICAgIGZwdXRzX3VuZmlsdGVyZWQgKF8oIlwK ICAgIC0tZGJ4ICAgICAgICAgICAgICBEQlggY29tcGF0aWJpbGl0eSBtb2RlLlxuXApAQCAtNDQ5 LDEwICs0NDksMTAgQEAgaW5kZXggMDAwMDAwMC4uODc0MjY4MAogKwogK0luU2NvcGUgKCkKIGRp ZmYgLS1naXQgYS9nZGIvcHl0aG9uL3B5dGhvbi1pbnRlcm5hbC5oIGIvZ2RiL3B5dGhvbi9weXRo b24taW50ZXJuYWwuaAotaW5kZXggNGRkNDEzZC4uMmFkNDA3MSAxMDA2NDQKK2luZGV4IGU4NGM4 ZDIuLjY5MzA1YjQgMTAwNjQ0CiAtLS0gYS9nZGIvcHl0aG9uL3B5dGhvbi1pbnRlcm5hbC5oCiAr KysgYi9nZGIvcHl0aG9uL3B5dGhvbi1pbnRlcm5hbC5oCi1AQCAtNTUxLDYgKzU1MSw5IEBAIGNs YXNzIGdkYnB5X2VudGVyX3Zhcm9iaiA6IHB1YmxpYyBnZGJweV9lbnRlcgorQEAgLTY3Miw2ICs2 NzIsOSBAQCBjbGFzcyBnZGJweV9lbnRlcl92YXJvYmogOiBwdWJsaWMgZ2RicHlfZW50ZXIKICAK ICB9OwogIApAQCAtNDYzLDcgKzQ2Myw3IEBAIGluZGV4IDRkZDQxM2QuLjJhZDQwNzEgMTAwNjQ0 CiAgZXh0ZXJuIGNvbnN0IHN0cnVjdCBsYW5ndWFnZV9kZWZuICpweXRob25fbGFuZ3VhZ2U7CiAg CiBkaWZmIC0tZ2l0IGEvZ2RiL3B5dGhvbi9weXRob24uYyBiL2dkYi9weXRob24vcHl0aG9uLmMK LWluZGV4IDczZmIzZDAuLjA3ODljMTYgMTAwNjQ0CitpbmRleCA3ZTBjNTA3Li5hNjdmYmMzIDEw MDY0NAogLS0tIGEvZ2RiL3B5dGhvbi9weXRob24uYwogKysrIGIvZ2RiL3B5dGhvbi9weXRob24u YwogQEAgLTk1LDYgKzk1LDggQEAgY29uc3Qgc3RydWN0IGV4dGVuc2lvbl9sYW5ndWFnZV9kZWZu IGV4dGVuc2lvbl9sYW5ndWFnZV9weXRob24gPQpAQCAtNTA1LDcgKzUwNSw3IEBAIGluZGV4IDcz ZmIzZDAuLjA3ODljMTYgMTAwNjQ0CiAgLyogU2V0IHRoZSBxdWl0IGZsYWcuICAqLwogIAogIHN0 YXRpYyB2b2lkCi1AQCAtMTE5Miw2ICsxMjE3LDkyIEBAIGdkYnB5X3ByaW50X3N0YWNrICh2b2lk KQorQEAgLTExODcsNiArMTIxMiw5MiBAQCBnZGJweV9wcmludF9zdGFjayAodm9pZCkKICAKICAv KiBSZXR1cm4gdGhlIGN1cnJlbnQgUHJvZ3NwYWNlLgogICAgIFRoZXJlIGFsd2F5cyBpcyBvbmUu ICAqLwpAQCAtNTk4LDcgKzU5OCw3IEBAIGluZGV4IDczZmIzZDAuLjA3ODljMTYgMTAwNjQ0CiAg CiAgc3RhdGljIFB5T2JqZWN0ICoKICBnZGJweV9nZXRfY3VycmVudF9wcm9nc3BhY2UgKFB5T2Jq ZWN0ICp1bnVzZWQxLCBQeU9iamVjdCAqdW51c2VkMikKLUBAIC0xODg4LDYgKzE5OTksOCBAQCBQ eU1ldGhvZERlZiBweXRob25fR2RiTWV0aG9kc1tdID0KK0BAIC0xODgxLDYgKzE5OTIsOCBAQCBQ eU1ldGhvZERlZiBweXRob25fR2RiTWV0aG9kc1tdID0KICBFdmFsdWF0ZSBjb21tYW5kLCBhIHN0 cmluZywgYXMgYSBnZGIgQ0xJIGNvbW1hbmQuICBPcHRpb25hbGx5IHJldHVybnNcblwKICBhIFB5 dGhvbiBTdHJpbmcgY29udGFpbmluZyB0aGUgb3V0cHV0IG9mIHRoZSBjb21tYW5kIGlmIHRvX3N0 cmluZyBpc1xuXAogIHNldCB0byBUcnVlLiIgfSwKQEAgLTYzMiwxMCArNjMyLDEwIEBAIGluZGV4 IGY1ZDRhM2MuLjM1NDZmN2IgMTAwNjQ0CiAgZ2RiX3Rlc3QgInB5dGhvbiBwcmludCAoJ3Jlc3Vs dCA9ICVzJyAlIChnZGIuc2VsZWN0ZWRfZnJhbWUgKCkucmVhZF9yZWdpc3RlciAoJ3NwJykgPT0g Z2RiLnBhcnNlX2FuZF9ldmFsICgnXCRzcCcpKSkiIFwKICAgICIgPSBUcnVlIiBcCiBkaWZmIC0t Z2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LXZhbHVlLmV4cCBiL2dkYi90ZXN0c3Vp dGUvZ2RiLnB5dGhvbi9weS12YWx1ZS5leHAKLWluZGV4IGQ5YTRkMjAuLmM4N2U0ZDggMTAwNjQ0 CitpbmRleCAxNzgxODg3Li44YTJkZGQ2IDEwMDY0NAogLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu cHl0aG9uL3B5LXZhbHVlLmV4cAogKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LXZh bHVlLmV4cAotQEAgLTQwNyw2ICs0MDcsMTUgQEAgcHJvYyB0ZXN0X3ZhbHVlX2FmdGVyX2RlYXRo IHt9IHsKK0BAIC0zODQsNiArMzg0LDE1IEBAIHByb2MgdGVzdF92YWx1ZV9hZnRlcl9kZWF0aCB7 fSB7CiAgICAgICJwcmludCB2YWx1ZSdzIHR5cGUiCiAgfQogIApAQCAtNjUxLDE2ICs2NTEsMTYg QEAgaW5kZXggZDlhNGQyMC4uYzg3ZTRkOCAxMDA2NDQKICAjIFJlZ3Jlc3Npb24gdGVzdCBmb3Ig aW52YWxpZCBzdWJzY3JpcHQgb3BlcmF0aW9ucy4gIFRoZSBidWcgd2FzIHRoYXQKICAjIHRoZSB0 eXBlIG9mIHRoZSB2YWx1ZSB3YXMgbm90IGJlaW5nIGNoZWNrZWQgYmVmb3JlIGFsbG93aW5nIGEK ICAjIHN1YnNjcmlwdCBvcGVyYXRpb24gdG8gcHJvY2VlZC4KLUBAIC01MzYsNiArNTQ1LDcgQEAg dGVzdF92YWx1ZV9pbl9pbmZlcmlvcgorQEAgLTUxMiw2ICs1MjEsNyBAQCBpZiAhW3J1bnRvX21h aW5dIHRoZW4geworIHRlc3RfdmFsdWVfaW5faW5mZXJpb3IKICB0ZXN0X2luZmVyaW9yX2Z1bmN0 aW9uX2NhbGwKLSB0ZXN0X2xhenlfc3RyaW5ncwogIHRlc3RfdmFsdWVfYWZ0ZXJfZGVhdGgKICt0 ZXN0X2Nhc3RfcmVncmVzc2lvbgogIAogICMgVGVzdCBlaXRoZXIgQyBvciBDKysgdmFsdWVzLiAK ICAKIGRpZmYgLS1naXQgYS9nZGIvdmFyb2JqLmMgYi9nZGIvdmFyb2JqLmMKLWluZGV4IDE3M2Fi ZjMuLmMzYWJmNjYgMTAwNjQ0CitpbmRleCA1ZjIxZDg0Li4xODUwNmYxIDEwMDY0NAogLS0tIGEv Z2RiL3Zhcm9iai5jCiArKysgYi9nZGIvdmFyb2JqLmMKIEBAIC0yMjYsNiArMjI2LDE0IEBAIGlz X3Jvb3RfcCAoY29uc3Qgc3RydWN0IHZhcm9iaiAqdmFyKQpAQCAtNjc5LDcgKzY3OSw3IEBAIGlu ZGV4IDE3M2FiZjMuLmMzYWJmNjYgMTAwNjQ0CiAgLyogU2VlIHB5dGhvbi1pbnRlcm5hbC5oLiAg Ki8KICBnZGJweV9lbnRlcl92YXJvYmo6OmdkYnB5X2VudGVyX3Zhcm9iaiAoY29uc3Qgc3RydWN0 IHZhcm9iaiAqdmFyKQogZGlmZiAtLWdpdCBhL2dkYi92YXJvYmouaCBiL2dkYi92YXJvYmouaAot aW5kZXggOTg5YzhjZC4uZmM3ZjE3NyAxMDA2NDQKK2luZGV4IGUzNWMxYjguLjEyMzM5ZDEgMTAw NjQ0CiAtLS0gYS9nZGIvdmFyb2JqLmgKICsrKyBiL2dkYi92YXJvYmouaAogQEAgLTMyMCw2ICsz MjAsOCBAQCBleHRlcm4gaW50IHZhcm9ial9oYXNfbW9yZSAoY29uc3Qgc3RydWN0IHZhcm9iaiAq dmFyLCBpbnQgdG8pOwoKZGlmZiAtLWdpdCBhL2dkYi1nbmF0LWR3YXJmLWNyYXNoLTNvZjMucGF0 Y2ggYi9nZGItZ25hdC1kd2FyZi1jcmFzaC0zb2YzLnBhdGNoCmluZGV4IDNmNTdmZDMuLjRhODUw NzMgMTAwNjQ0Ci0tLSBhL2dkYi1nbmF0LWR3YXJmLWNyYXNoLTNvZjMucGF0Y2gKKysrIGIvZ2Ri LWduYXQtZHdhcmYtY3Jhc2gtM29mMy5wYXRjaApAQCAtMzQsMTEgKzM0LDExIEBAIGdkYi8KIAog CSogZHdhcmYycmVhZC5jIChwcm9jZXNzX2RpZSk6IENoYW5nZSBnZGJfYXNzZXJ0IHRvIGNvbXBs YWludC4KIAotZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjJyZWFkLmMgYi9nZGIvZHdhcmYycmVhZC5j Ci1pbmRleCAzZWFhMGIxLi43MWY1ZDM0IDEwMDY0NAotLS0tIGEvZ2RiL2R3YXJmMnJlYWQuYwot KysrIGIvZ2RiL2R3YXJmMnJlYWQuYwotQEAgLTgwMjksNyArODAyOSwxMyBAQCBwcm9jZXNzX2Rp ZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorSW5kZXg6IGdk Yi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9kd2FyZjJyZWFkLmMKKz09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGIt Ny45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9kd2FyZjJyZWFkLmMJMjAxNy0wNC0yMCAyMzoxNToy Ni41Nzg4OTcyMTAgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZHdhcmYycmVh ZC5jCTIwMTctMDQtMjAgMjM6MTU6NTcuODA1MTA2MzcxICswMjAwCitAQCAtODQyNiw3ICs4NDI2 LDEzIEBACiAgICBzdHJ1Y3QgY2xlYW51cCAqaW5fcHJvY2VzczsKICAKICAgIC8qIFdlIHNob3Vs ZCBvbmx5IGJlIHByb2Nlc3NpbmcgdGhvc2Ugbm90IGFscmVhZHkgaW4gcHJvY2Vzcy4gICovCkBA IC00NywxMiArNDcsOSBAQCBpbmRleCAzZWFhMGIxLi43MWY1ZDM0IDEwMDY0NAogKyAgICB7CiAr ICAgICAgY29tcGxhaW50ICgmc3ltZmlsZV9jb21wbGFpbnRzLAogKwkJIF8oIkRJRSBhdCAweCV4 IGF0dGVtcHRlZCB0byBiZSBwcm9jZXNzZWQgdHdpY2UiKSwKLSsJCSBkaWUtPm9mZnNldC5zZWN0 X29mZik7CisrCQkgdG9fdW5kZXJseWluZyAoZGllLT5zZWN0X29mZikpOwogKyAgICAgIHJldHVy bjsKICsgICAgfQogIAogICAgZGllLT5pbl9wcm9jZXNzID0gMTsKICAgIGluX3Byb2Nlc3MgPSBt YWtlX2NsZWFudXAgKHJlc2V0X2RpZV9pbl9wcm9jZXNzLGRpZSk7Ci0KLS0tNlRybmx0U3RYVzRp d21pMC0tCi0KCmRpZmYgLS1naXQgYS9nZGItcHl0aG9uLWdpbC5wYXRjaCBiL2dkYi1weXRob24t Z2lsLnBhdGNoCmluZGV4IDM3NTZmNGEuLmQyNzM2ZmIgMTAwNjQ0Ci0tLSBhL2dkYi1weXRob24t Z2lsLnBhdGNoCisrKyBiL2dkYi1weXRob24tZ2lsLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotSW5k ZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9kb2MvcHl0aG9uLnRleGkKK0luZGV4OiBnZGIt Ny45OS45MC4yMDE3MDQyMC9nZGIvZG9jL3B5dGhvbi50ZXhpCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvZG9jL3B5dGhvbi50ZXhpCTIwMTctMDItMjggMTY6 MDY6MTMuNTA4OTY5MTgxICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2RvYy9w eXRob24udGV4aQkyMDE3LTAyLTI4IDE2OjA2OjE0Ljk1ODk3OTQ4MCArMDEwMAorLS0tIGdkYi03 Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2RvYy9weXRob24udGV4aQkyMDE3LTA0LTIwIDIzOjE2 OjMwLjg5NTMyODAxOCArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9kb2MvcHl0 aG9uLnRleGkJMjAxNy0wNC0yMCAyMzoxNjozNS42OTAzNjAxMzYgKzAyMDAKIEBAIC0yMzAsNiAr MjMwLDE0IEBACiAgcmV0dXJuIHZhbHVlIGlzIEBjb2Rle05vbmV9LiAgSWYgQHZhcnt0b19zdHJp bmd9IGlzIEBjb2Rle1RydWV9LCB0aGUKICBAdmFsdWV7R0RCTn0gdmlydHVhbCB0ZXJtaW5hbCB3 aWxsIGJlIHRlbXBvcmFyaWx5IHNldCB0byB1bmxpbWl0ZWQgd2lkdGgKQEAgLTE3LDEwICsxNywx MCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2RvYy9weXRob24udGV4aQogIEBl bmQgZGVmdW4KICAKICBAZmluZGV4IGdkYi5icmVha3BvaW50cwotSW5kZXg6IGdkYi03LjEyLjUw LjIwMTcwMjI2L2dkYi9weXRob24vcHl0aG9uLWludGVybmFsLmgKK0luZGV4OiBnZGItNy45OS45 MC4yMDE3MDQyMC9nZGIvcHl0aG9uL3B5dGhvbi1pbnRlcm5hbC5oCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Z2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvcHl0aG9uL3B5dGhvbi1pbnRlcm5hbC5oCTIw MTctMDItMjggMTY6MDY6MTMuNTEwOTY5MTk1ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAy MjYvZ2RiL3B5dGhvbi9weXRob24taW50ZXJuYWwuaAkyMDE3LTAyLTI4IDE2OjA2OjE0Ljk1ODk3 OTQ4MCArMDEwMAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3B5dGhvbi9weXRo b24taW50ZXJuYWwuaAkyMDE3LTA0LTIwIDIzOjE2OjMwLjg5NjMyODAyNCArMDIwMAorKysrIGdk Yi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9weXRob24vcHl0aG9uLWludGVybmFsLmgJMjAxNy0wNC0y MCAyMzoxNjozNS42OTAzNjAxMzYgKzAyMDAKIEBAIC0xNDIsNiArMTQyLDggQEAKICAjZGVmaW5l IFB5R0lMU3RhdGVfUmVsZWFzZShBUkcpICgodm9pZCkoQVJHKSkKICAjZGVmaW5lIFB5RXZhbF9J bml0VGhyZWFkcygpCkBAIC0zMCwzMiArMzAsMzIgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcw MjI2L2dkYi9weXRob24vcHl0aG9uLWludGVybmFsLmgKICAjZGVmaW5lIFB5RXZhbF9SZWxlYXNl TG9jaygpCiAgI2VuZGlmCiAgCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3B5dGhv bi9weXRob24uYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9weXRob24vcHl0aG9u LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9weXRob24v cHl0aG9uLmMJMjAxNy0wMi0yOCAxNjowNjoxMy41MTA5NjkxOTUgKzAxMDAKLSsrKyBnZGItNy4x Mi41MC4yMDE3MDIyNi9nZGIvcHl0aG9uL3B5dGhvbi5jCTIwMTctMDItMjggMTY6MDY6MTQuOTU5 OTc5NDg3ICswMTAwCi1AQCAtNTk2LDEyICs1OTYsMTYgQEAKKy0tLSBnZGItNy45OS45MC4yMDE3 MDQyMC5vcmlnL2dkYi9weXRob24vcHl0aG9uLmMJMjAxNy0wNC0yMCAyMzoxNjozMC44OTczMjgw MzEgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvcHl0aG9uL3B5dGhvbi5jCTIw MTctMDQtMjAgMjM6MTg6MTEuMzc3MDAxMDcwICswMjAwCitAQCAtNTk0LDEyICs1OTQsMTYgQEAK ICB7CiAgICBjb25zdCBjaGFyICphcmc7CiAgICBQeU9iamVjdCAqZnJvbV90dHlfb2JqID0gTlVM TCwgKnRvX3N0cmluZ19vYmogPSBOVUxMOwogLSAgaW50IGZyb21fdHR5LCB0b19zdHJpbmc7Ci0t ICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsiY29tbWFuZCIsICJmcm9tX3R0eSIsICJ0b19z dHJpbmciLCBOVUxMIH07CistICBzdGF0aWMgY29uc3QgY2hhciAqa2V5d29yZHNbXSA9IHsgImNv bW1hbmQiLCAiZnJvbV90dHkiLCAidG9fc3RyaW5nIiwgTlVMTCB9OwogKyAgaW50IGZyb21fdHR5 LCB0b19zdHJpbmcsIHJlbGVhc2VfZ2lsOwotKyAgc3RhdGljIGNoYXIgKmtleXdvcmRzW10gPSB7 ImNvbW1hbmQiLCAiZnJvbV90dHkiLCAidG9fc3RyaW5nIiwgInJlbGVhc2VfZ2lsIiwgTlVMTCB9 OworKyAgc3RhdGljIGNvbnN0IGNoYXIgKmtleXdvcmRzW10gPSB7ImNvbW1hbmQiLCAiZnJvbV90 dHkiLCAidG9fc3RyaW5nIiwgInJlbGVhc2VfZ2lsIiwgTlVMTCB9OwogKyAgUHlPYmplY3QgKnJl bGVhc2VfZ2lsX29iaiA9IE5VTEw7CiArICAvKiBJbml0aWFsaXplIGl0IGp1c3QgdG8gYXZvaWQg YSBHQ0MgZmFsc2Ugd2FybmluZy4gICovCiArICBQeVRocmVhZFN0YXRlICpzdGF0ZSA9IE5VTEw7 CiAgCi0tICBpZiAoISBQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMgKGFyZ3MsIGt3LCAic3xP IU8hIiwga2V5d29yZHMsICZhcmcsCi0rICBpZiAoISBQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29y ZHMgKGFyZ3MsIGt3LCAic3xPIU8hTyEiLCBrZXl3b3JkcywgJmFyZywKLSAJCQkJICAgICAmUHlC b29sX1R5cGUsICZmcm9tX3R0eV9vYmosCi0tCQkJCSAgICAgJlB5Qm9vbF9UeXBlLCAmdG9fc3Ry aW5nX29iaikpCi0rCQkJCSAgICAgJlB5Qm9vbF9UeXBlLCAmdG9fc3RyaW5nX29iaiwKLSsJCQkJ ICAgICAmUHlCb29sX1R5cGUsICZyZWxlYXNlX2dpbF9vYmopKQorLSAgaWYgKCFnZGJfUHlBcmdf UGFyc2VUdXBsZUFuZEtleXdvcmRzIChhcmdzLCBrdywgInN8TyFPISIsIGtleXdvcmRzLCAmYXJn LAorKyAgaWYgKCFnZGJfUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzIChhcmdzLCBrdywgInN8 TyFPIU8hIiwga2V5d29yZHMsICZhcmcsCisgCQkJCQkmUHlCb29sX1R5cGUsICZmcm9tX3R0eV9v YmosCistCQkJCQkmUHlCb29sX1R5cGUsICZ0b19zdHJpbmdfb2JqKSkKKysJCQkJCSZQeUJvb2xf VHlwZSwgJnRvX3N0cmluZ19vYmosCisrCQkJCQkmUHlCb29sX1R5cGUsICZyZWxlYXNlX2dpbF9v YmopKQogICAgICByZXR1cm4gTlVMTDsKICAKICAgIGZyb21fdHR5ID0gMDsKLUBAIC02MjIsNiAr NjI2LDE1IEBACitAQCAtNjIwLDYgKzYyNCwxNSBAQAogICAgICAgIHRvX3N0cmluZyA9IGNtcDsK ICAgICAgfQogIApAQCAtNzEsNyArNzEsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYv Z2RiL3B5dGhvbi9weXRob24uYwogICAgc3RkOjpzdHJpbmcgdG9fc3RyaW5nX3JlczsKICAKICAg IFRSWQotQEAgLTYzMCw2ICs2NDMsMTMgQEAKK0BAIC02MjgsNiArNjQxLDEzIEBACiAgICAgICAg c3RkOjpzdHJpbmcgY29weSAoYXJnKTsKICAgICAgICBzdHJ1Y3QgaW50ZXJwICppbnRlcnA7CiAg CkBAIC04NSw3ICs4NSw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvcHl0aG9u L3B5dGhvbi5jCiAgICAgICAgc2NvcGVkX3Jlc3RvcmUgc2F2ZV9hc3luYyA9IG1ha2Vfc2NvcGVk X3Jlc3RvcmUgKCZjdXJyZW50X3VpLT5hc3luYywgMCk7CiAgCiAgICAgICAgc2NvcGVkX3Jlc3Rv cmUgc2F2ZV91aW91dCA9IG1ha2Vfc2NvcGVkX3Jlc3RvcmUgKCZjdXJyZW50X3Vpb3V0KTsKLUBA IC02NDQsMTAgKzY2NCwyMiBAQAorQEAgLTY0MiwxMCArNjYyLDIyIEBACiAgCXRvX3N0cmluZ19y ZXMgPSBleGVjdXRlX2NvbW1hbmRfdG9fc3RyaW5nICgmY29weVswXSwgZnJvbV90dHkpOwogICAg ICAgIGVsc2UKICAJZXhlY3V0ZV9jb21tYW5kICgmY29weVswXSwgZnJvbV90dHkpOwpAQCAtMTA5 LDEwICsxMDksMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9weXRob24vcHl0 aG9uLmMKICAgICAgfQogICAgRU5EX0NBVENICiAgCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAy MjYvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWdpbC1tdGhyZWFkLmMKK0luZGV4OiBnZGIt Ny45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZ2lsLW10aHJlYWQu YwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAw MCArMDAwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhv bi9weS1naWwtbXRocmVhZC5jCTIwMTctMDItMjggMTY6MDY6MTQuOTU5OTc5NDg3ICswMTAwCisr KysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWdpbC1t dGhyZWFkLmMJMjAxNy0wNC0yMCAyMzoxNjozNS42OTEzNjAxNDMgKzAyMDAKIEBAIC0wLDAgKzEs MTMgQEAKICsjaW5jbHVkZSA8c3RkaW8uaD4KICsjaW5jbHVkZSA8dW5pc3RkLmg+CkBAIC0xMjcs MTAgKzEyNywxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3Rlc3RzdWl0ZS9n ZGIucHl0aG9uL3B5LWdpbC1tdGhyZWFkLmMKICsgICAgICBwcmludGYgKCJTbGVlcGluZyAlZFxu IiwgaSk7CiArICAgIH0KICt9Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3Rlc3Rz dWl0ZS9nZGIucHl0aG9uL3B5LWdpbC1tdGhyZWFkLmV4cAorSW5kZXg6IGdkYi03Ljk5LjkwLjIw MTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1naWwtbXRocmVhZC5leHAKID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAK LSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZ2ls LW10aHJlYWQuZXhwCTIwMTctMDItMjggMTY6MDY6MTQuOTU5OTc5NDg3ICswMTAwCisrKysgZ2Ri LTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWdpbC1tdGhyZWFk LmV4cAkyMDE3LTA0LTIwIDIzOjE2OjM1LjY5MTM2MDE0MyArMDIwMAogQEAgLTAsMCArMSw2OSBA QAogKyMgQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgog KwpAQCAtMjAxLDEwICsyMDEsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi90 ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1naWwtbXRocmVhZC5leHAKICsJfQogKyAgICB9CiArfQot SW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1n aWwtbXRocmVhZC5weQorSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUv Z2RiLnB5dGhvbi9weS1naWwtbXRocmVhZC5weQogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkx OTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEyLjUwLjIwMTcw MjI2L2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1naWwtbXRocmVhZC5weQkyMDE3LTAyLTI4 IDE2OjI2OjM5LjU2NTA4NTY0MyArMDEwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90 ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1naWwtbXRocmVhZC5weQkyMDE3LTA0LTIwIDIzOjE2OjM1 LjY5MjM2MDE0OSArMDIwMAogQEAgLTAsMCArMSwyOCBAQAogK3RyeToKICsgICBpbXBvcnQgdGhy ZWFkCgpkaWZmIC0tZ2l0IGEvZ2RiLXJlbGVhc2Utd2Vycm9yLnBhdGNoIGIvZ2RiLXJlbGVhc2Ut d2Vycm9yLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRkYmUwYTkK LS0tIC9kZXYvbnVsbAorKysgYi9nZGItcmVsZWFzZS13ZXJyb3IucGF0Y2gKQEAgLTAsMCArMSw3 NCBAQAoraHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTctMDQvbXNnMDA1 OTMuaHRtbAorU3ViamVjdDogW3BhdGNoKzguMF0gcmVsZWFzZSBicmFuY2g6IEZpeDogLS1lbmFi bGUtd2Vycm9yCisKKworLS04dDlSSG5FM1p3S01TZ1UrCitDb250ZW50LVR5cGU6IHRleHQvcGxh aW47IGNoYXJzZXQ9aXNvLTIwMjItanAKK0NvbnRlbnQtRGlzcG9zaXRpb246IGlubGluZQorCitI aSwKKworZ2RiLTguMC1icmFuY2gKKy4vY29uZmlndXJlIC0tZW5hYmxlLXdlcnJvciAtLWVuYWJs ZS10YXJnZXRzPWFsbAorYWFyY2g2NC10ZGVwLmM6MzA0NToxMzogZXJyb3I6IBskQiFGGyhCdm9p ZCBzZWxmdGVzdHM6OmFhcmNoNjRfcHJvY2Vzc19yZWNvcmRfdGVzdCgpGyRCIUcbKEIgZGVjbGFy ZWQgGyRCIUYbKEJzdGF0aWMbJEIhRxsoQiBidXQgbmV2ZXIgZGVmaW5lZCBbLVdlcnJvcj11bnVz ZWQtZnVuY3Rpb25dCithcm0tdGRlcC5jOjk2MDE6MTM6IGVycm9yOiAbJEIhRhsoQnZvaWQgc2Vs ZnRlc3RzOjphcm1fcmVjb3JkX3Rlc3QoKRskQiFHGyhCIGRlY2xhcmVkIBskQiFGGyhCc3RhdGlj GyRCIUcbKEIgYnV0IG5ldmVyIGRlZmluZWQgWy1XZXJyb3I9dW51c2VkLWZ1bmN0aW9uXQorCitP SyBmb3IgY2hlY2staW4/CisKK1BsZWFzZSBkbyBub3QgdGVsbCBtZSByZWxlYXNlIGJyYW5jaGVz IGRvIG5vdCBzdXBwb3J0IC0tZW5hYmxlLXdlcnJvciBhcyB0aGlzCitpcyBkdWUgdG8gYSBzb3Vy Y2ViYXNlIGJ1Zywgbm90IGR1ZSB0byBzb21lIHVuZXhwZWN0ZWQgY29tcGlsZXIKK2luY29tcGF0 aWJpbGl0eS4KKworU2VyZ2lvOiBTaG91bGRuJ3QgaXQgYmUgYWxzbyBidWlsZGJvdC10ZXN0ZWQ/ CisKKworSmFuCisKKy0tOHQ5UkhuRTNad0tNU2dVKworQ29udGVudC1UeXBlOiB0ZXh0L3BsYWlu OyBjaGFyc2V0PXVzLWFzY2lpCitDb250ZW50LURpc3Bvc2l0aW9uOiBpbmxpbmU7IGZpbGVuYW1l PTEKKworZ2RiL0NoYW5nZUxvZworMjAxNy0wNC0yMSAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3Jh dG9jaHZpbEByZWRoYXQuY29tPgorCisJKiBhYXJjaDY0LXRkZXAuYyAoc2VsZnRlc3RzOjphYXJj aDY0X3Byb2Nlc3NfcmVjb3JkX3Rlc3QpOiBNYWtlIGl0ICNpZgorCUdEQl9TRUxGX1RFU1QuCisJ KiBhcm0tdGRlcC5jIChzZWxmdGVzdHM6OmFybV9yZWNvcmRfdGVzdCk6IExpa2V3aXNlLgorCitk aWZmIC0tZ2l0IGEvZ2RiL2FhcmNoNjQtdGRlcC5jIGIvZ2RiL2FhcmNoNjQtdGRlcC5jCitpbmRl eCAyOGMyNTczLi42MTEzNjIxIDEwMDY0NAorLS0tIGEvZ2RiL2FhcmNoNjQtdGRlcC5jCisrKysg Yi9nZGIvYWFyY2g2NC10ZGVwLmMKK0BAIC0zMDQwLDEwICszMDQwLDEyIEBAIGFhcmNoNjRfZHVt cF90ZGVwIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHVpX2ZpbGUgKmZpbGUpCisg CQkgICAgICBwYWRkcmVzcyAoZ2RiYXJjaCwgdGRlcC0+bG93ZXN0X3BjKSk7CisgfQorIAorKyNp ZiBHREJfU0VMRl9URVNUCisgbmFtZXNwYWNlIHNlbGZ0ZXN0cworIHsKKyBzdGF0aWMgdm9pZCBh YXJjaDY0X3Byb2Nlc3NfcmVjb3JkX3Rlc3QgKHZvaWQpOworIH0KKysjZW5kaWYKKyAKKyAvKiBT dXBwcmVzcyB3YXJuaW5nIGZyb20gLVdtaXNzaW5nLXByb3RvdHlwZXMuICAqLworIGV4dGVybiBp bml0aWFsaXplX2ZpbGVfZnR5cGUgX2luaXRpYWxpemVfYWFyY2g2NF90ZGVwOworZGlmZiAtLWdp dCBhL2dkYi9hcm0tdGRlcC5jIGIvZ2RiL2FybS10ZGVwLmMKK2luZGV4IGM4ZmFiZmIuLjlhYzY2 N2YgMTAwNjQ0CistLS0gYS9nZGIvYXJtLXRkZXAuYworKysrIGIvZ2RiL2FybS10ZGVwLmMKK0BA IC05NTk2LDEwICs5NTk2LDEyIEBAIGFybV9kdW1wX3RkZXAgKHN0cnVjdCBnZGJhcmNoICpnZGJh cmNoLCBzdHJ1Y3QgdWlfZmlsZSAqZmlsZSkKKyAJCSAgICAgICh1bnNpZ25lZCBsb25nKSB0ZGVw LT5sb3dlc3RfcGMpOworIH0KKyAKKysjaWYgR0RCX1NFTEZfVEVTVAorIG5hbWVzcGFjZSBzZWxm dGVzdHMKKyB7Cisgc3RhdGljIHZvaWQgYXJtX3JlY29yZF90ZXN0ICh2b2lkKTsKKyB9CisrI2Vu ZGlmCisgCisgZXh0ZXJuIGluaXRpYWxpemVfZmlsZV9mdHlwZSBfaW5pdGlhbGl6ZV9hcm1fdGRl cDsgLyogLVdtaXNzaW5nLXByb3RvdHlwZXMgKi8KKyAKKworLS04dDlSSG5FM1p3S01TZ1UrLS0K KwoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMG9mMjUucGF0Y2ggYi9nZGIt cmhiejc5NTQyNC1iaXRwb3MtMjBvZjI1LnBhdGNoCmluZGV4IDhkMTUyMjcuLjUxOGY4N2IgMTAw NjQ0Ci0tLSBhL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMG9mMjUucGF0Y2gKKysrIGIvZ2RiLXJo Yno3OTU0MjQtYml0cG9zLTIwb2YyNS5wYXRjaApAQCAtNDYzLDEwICs0NjMsMTAgQEAgQ29udGVu dC1UeXBlOiB0ZXh0L3gtcGF0Y2gKIENvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDdiaXQKIENv bnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPWJpdHBvcy1tYWluLnBhdGNo CiAKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYWRhLWxhbmcuYworSW5kZXg6IGdk Yi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9hZGEtbGFuZy5jCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcu MTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvYWRhLWxhbmcuYwkyMDE3LTAyLTI2IDIxOjU5OjM2LjA0 MzcxOTM2OSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9hZGEtbGFuZy5jCTIw MTctMDItMjYgMjI6MDQ6MDMuNDE1NjA5Nzc0ICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0 MjAub3JpZy9nZGIvYWRhLWxhbmcuYwkyMDE3LTA0LTIwIDIzOjA4OjU0LjE0MjM5NDY3MSArMDIw MAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9hZGEtbGFuZy5jCTIwMTctMDQtMjAgMjM6 MDg6NTYuOTY3NDEwNTkwICswMjAwCiBAQCAtNzYsNyArNzYsNyBAQAogIAogIHN0YXRpYyBzdHJ1 Y3QgdmFsdWUgKmRlc2NfYm91bmRzIChzdHJ1Y3QgdmFsdWUgKik7CkBAIC01MzksNyArNTM5LDcg QEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9hZGEtbGFuZy5jCiAgCQkJCQkgICAg IHN0cnVjdCB0eXBlICopOwogIAogIHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKmFzc2lnbl9hZ2dyZWdh dGUgKHN0cnVjdCB2YWx1ZSAqLCBzdHJ1Y3QgdmFsdWUgKiwgCi1AQCAtNzAxLDcgKzcwMiw3IEBA CitAQCAtNjk5LDcgKzcwMCw3IEBACiAgfQogIAogIHN0YXRpYyBjb25zdCBnZGJfYnl0ZSAqCkBA IC01NDgsNyArNTQ4LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9hZGEtbGFu Zy5jCiAgewogICAgaWYgKHZhbGFkZHIgPT0gTlVMTCkKICAgICAgcmV0dXJuIE5VTEw7Ci1AQCAt NzEwLDcgKzcxMSw3IEBACitAQCAtNzA4LDcgKzcwOSw3IEBACiAgfQogIAogIHN0YXRpYyBDT1JF X0FERFIKQEAgLTU1Nyw3ICs1NTcsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2Ri L2FkYS1sYW5nLmMKICB7CiAgICBpZiAoYWRkcmVzcyA9PSAwKQogICAgICByZXR1cm4gMDsKLUBA IC0xNzU3LDcgKzE3NTgsNyBAQAorQEAgLTE3NTUsNyArMTc1Niw3IEBACiAgLyogSWYgVFlQRSBp cyB0aGUgdHlwZSBvZiBhbiBhcnJheS1kZXNjcmlwdG9yIChmYXQgcG9pbnRlciksICB0aGUgYml0 CiAgICAgcG9zaXRpb24gb2YgdGhlIGZpZWxkIGNvbnRhaW5pbmcgdGhlIGFkZHJlc3Mgb2YgdGhl IGJvdW5kcyBkYXRhLiAgKi8KICAKQEAgLTU2Niw3ICs1NjYsNyBAQCBJbmRleDogZ2RiLTcuMTIu NTAuMjAxNzAyMjYvZ2RiL2FkYS1sYW5nLmMKICBmYXRfcG50cl9ib3VuZHNfYml0cG9zIChzdHJ1 Y3QgdHlwZSAqdHlwZSkKICB7CiAgICByZXR1cm4gVFlQRV9GSUVMRF9CSVRQT1MgKGRlc2NfYmFz ZV90eXBlICh0eXBlKSwgMSk7Ci1AQCAtMTgyMyw3ICsxODI0LDcgQEAKK0BAIC0xODIxLDcgKzE4 MjIsNyBAQAogIC8qIElmIFRZUEUgaXMgdGhlIHR5cGUgb2YgYW4gYXJyYXktZGVzY3JpcHRvciAo ZmF0IHBvaW50ZXIpLCB0aGUgYml0CiAgICAgcG9zaXRpb24gb2YgdGhlIGZpZWxkIGNvbnRhaW5p bmcgdGhlIGFkZHJlc3Mgb2YgdGhlIGRhdGEuICAqLwogIApAQCAtNTc1LDcgKzU3NSw3IEBAIElu ZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYWRhLWxhbmcuYwogIGZhdF9wbnRyX2RhdGFf Yml0cG9zIChzdHJ1Y3QgdHlwZSAqdHlwZSkKICB7CiAgICByZXR1cm4gVFlQRV9GSUVMRF9CSVRQ T1MgKGRlc2NfYmFzZV90eXBlICh0eXBlKSwgMCk7Ci1AQCAtMTg1OCw3ICsxODU5LDcgQEAKK0BA IC0xODU2LDcgKzE4NTcsNyBAQAogICAgIG9mIHRoZSBJdGggbG93ZXIgYm91bmQgc3RvcmVkIGlu IGl0LCBpZiBXSElDSCBpcyAwLCBhbmQgdGhlIEl0aCB1cHBlcgogICAgIGJvdW5kLCBpZiBXSElD SCBpcyAxLiAgVGhlIGZpcnN0IGJvdW5kIGlzIEk9MS4gICovCiAgCkBAIC01ODQsNyArNTg0LDcg QEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9hZGEtbGFuZy5jCiAgZGVzY19ib3Vu ZF9iaXRwb3MgKHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgaSwgaW50IHdoaWNoKQogIHsKICAgIHJl dHVybiBUWVBFX0ZJRUxEX0JJVFBPUyAoZGVzY19iYXNlX3R5cGUgKHR5cGUpLCAyICogaSArIHdo aWNoIC0gMik7Ci1AQCAtMjA0OCw3ICsyMDQ5LDcgQEAKK0BAIC0yMDQ2LDcgKzIwNDcsNyBAQAog IAkgICAgICAgICB6ZXJvLCBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZWNvbXB1dGVkLiAgKi8K ICAJICAgICAgaWYgKGxvIDwgaGkpCiAgCQl7CkBAIC01OTMsNyArNTkzLDcgQEAgSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMjI2L2dkYi9hZGEtbGFuZy5jCiAgCQkgICAgICAgIChoaSAtIGxvICsg MSkgKiBUWVBFX0ZJRUxEX0JJVFNJWkUgKGVsdF90eXBlLCAwKTsKICAKICAJCSAgVFlQRV9MRU5H VEggKGFycmF5X3R5cGUpID0gKGFycmF5X2JpdHNpemUgKyA3KSAvIDg7Ci1AQCAtMjIwOCw3ICsy MjA5LDcgQEAKK0BAIC0yMjA2LDcgKzIyMDcsNyBAQAogICAgIHRoZSBsZW5ndGggaXMgYXJiaXRy YXJ5LiAgKi8KICAKICBzdGF0aWMgc3RydWN0IHR5cGUgKgpAQCAtNjAyLDcgKzYwMiw3IEBAIElu ZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYWRhLWxhbmcuYwogIHsKICAgIHN0cnVjdCB0 eXBlICpuZXdfZWx0X3R5cGU7CiAgICBzdHJ1Y3QgdHlwZSAqbmV3X3R5cGU7Ci1AQCAtMjI2Miw3 ICsyMjYzLDcgQEAKK0BAIC0yMjYwLDcgKzIyNjEsNyBAQAogICAgY2hhciAqbmFtZTsKICAgIGNv bnN0IGNoYXIgKnRhaWw7CiAgICBzdHJ1Y3QgdHlwZSAqc2hhZG93X3R5cGU7CkBAIC02MTEsNyAr NjExLDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9hZGEtbGFuZy5jCiAgCiAg ICBpZiAoIXJhd19uYW1lKQogICAgICByYXdfbmFtZSA9IGFkYV90eXBlX25hbWUgKGRlc2NfYmFz ZV90eXBlICh0eXBlKSk7Ci1AQCAtMjMzMyw3ICsyMzM0LDggQEAKK0BAIC0yMzMxLDcgKzIzMzIs OCBAQAogICAJIGFycmF5IHdpdGggbm8gd3JhcHBlci4gIEluIG9yZGVyIHRvIGludGVycHJldCB0 aGUgdmFsdWUgdGhyb3VnaAogICAJIHRoZSAobGVmdC1qdXN0aWZpZWQpIHBhY2tlZCBhcnJheSB0 eXBlIHdlIGp1c3QgYnVpbHQsIHdlIG11c3QKICAgCSBmaXJzdCBsZWZ0LWp1c3RpZnkgaXQuICAq LwpAQCAtNjIxLDcgKzYyMSw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYWRh LWxhbmcuYwogICAgICAgIFVMT05HRVNUIG1vZDsKICAKICAgICAgICBtb2QgPSBhZGFfbW9kdWx1 cyAodmFsdWVfdHlwZSAoYXJyKSkgLSAxOwotQEAgLTI1NjEsNyArMjU2Myw3IEBACitAQCAtMjU1 OSw3ICsyNTYxLDcgQEAKICAKICBzdHJ1Y3QgdmFsdWUgKgogIGFkYV92YWx1ZV9wcmltaXRpdmVf cGFja2VkX3ZhbCAoc3RydWN0IHZhbHVlICpvYmosIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLApA QCAtNjMwLDcgKzYzMCw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYWRhLWxh bmcuYwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHR5cGUgKnR5cGUp CiAgewogICAgc3RydWN0IHZhbHVlICp2OwotQEAgLTI2MzIsNyArMjYzNCw3IEBACitAQCAtMjYz MCw3ICsyNjMyLDcgQEAKICAKICAgIGlmIChvYmogIT0gTlVMTCkKICAgICAgewpAQCAtNjM5LDcg KzYzOSw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYWRhLWxhbmcuYwogIAog ICAgICAgIHNldF92YWx1ZV9jb21wb25lbnRfbG9jYXRpb24gKHYsIG9iaik7CiAgICAgICAgc2V0 X3ZhbHVlX2JpdHBvcyAodiwgYml0X29mZnNldCArIHZhbHVlX2JpdHBvcyAob2JqKSk7Ci1AQCAt MjY3OCw3ICsyNjgwLDcgQEAKK0BAIC0yNjc2LDcgKzI2NzgsNyBAQAogICAgIG5vdCBvdmVybGFw LiAgKi8KICBzdGF0aWMgdm9pZAogIG1vdmVfYml0cyAoZ2RiX2J5dGUgKnRhcmdldCwgaW50IHRh cmdfb2Zmc2V0LCBjb25zdCBnZGJfYnl0ZSAqc291cmNlLApAQCAtNjQ4LDcgKzY0OCw3IEBAIElu ZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYWRhLWxhbmcuYwogIHsKICAgIHVuc2lnbmVk IGludCBhY2N1bSwgbWFzazsKICAgIGludCBhY2N1bV9iaXRzLCBjaHVua19zaXplOwotQEAgLTI3 NjgsNyArMjc3MCw3IEBACitAQCAtMjc2Niw3ICsyNzY4LDcgQEAKICAgICAgewogICAgICAgIGlu dCBsZW4gPSAodmFsdWVfYml0cG9zICh0b3ZhbCkKICAJCSArIGJpdHMgKyBIT1NUX0NIQVJfQklU IC0gMSkgLyBIT1NUX0NIQVJfQklUOwpAQCAtNjU3LDcgKzY1Nyw3IEBAIEluZGV4OiBnZGItNy4x Mi41MC4yMDE3MDIyNi9nZGIvYWRhLWxhbmcuYwogICAgICAgIGdkYl9ieXRlICpidWZmZXIgPSAo Z2RiX2J5dGUgKikgYWxsb2NhIChsZW4pOwogICAgICAgIHN0cnVjdCB2YWx1ZSAqdmFsOwogICAg ICAgIENPUkVfQUREUiB0b19hZGRyID0gdmFsdWVfYWRkcmVzcyAodG92YWwpOwotQEAgLTI4MTks NyArMjgyMSw3IEBACitAQCAtMjgxNyw3ICsyODE5LDcgQEAKICAgICAgKExPTkdFU1QpICAodmFs dWVfYWRkcmVzcyAoY29tcG9uZW50KSAtIHZhbHVlX2FkZHJlc3MgKGNvbnRhaW5lcikpOwogICAg aW50IGJpdF9vZmZzZXRfaW5fY29udGFpbmVyID0KICAgICAgdmFsdWVfYml0cG9zIChjb21wb25l bnQpIC0gdmFsdWVfYml0cG9zIChjb250YWluZXIpOwpAQCAtNjY2LDcgKzY2Niw3IEBAIEluZGV4 OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYWRhLWxhbmcuYwogIAogICAgdmFsID0gdmFsdWVf Y2FzdCAodmFsdWVfdHlwZSAoY29tcG9uZW50KSwgdmFsKTsKICAKLUBAIC00NDcwLDcgKzQ0NzIs NyBAQAorQEAgLTQ0NjgsNyArNDQ3MCw3IEBACiAgICBpZiAoVkFMVUVfTFZBTCAodmFsKSA9PSBu b3RfbHZhbAogICAgICAgIHx8IFZBTFVFX0xWQUwgKHZhbCkgPT0gbHZhbF9pbnRlcm5hbHZhcikK ICAgICAgewpAQCAtNjc1LDcgKzY3NSw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9n ZGIvYWRhLWxhbmcuYwogICAgICAgIGNvbnN0IENPUkVfQUREUiBhZGRyID0KICAgICAgICAgIHZh bHVlX2FzX2xvbmcgKHZhbHVlX2FsbG9jYXRlX3NwYWNlX2luX2luZmVyaW9yIChsZW4pKTsKICAK LUBAIC00NTU0LDcgKzQ1NTYsNyBAQAorQEAgLTQ1NTIsNyArNDU1NCw3IEBACiAgdmFsdWVfcG9p bnRlciAoc3RydWN0IHZhbHVlICp2YWx1ZSwgc3RydWN0IHR5cGUgKnR5cGUpCiAgewogICAgc3Ry dWN0IGdkYmFyY2ggKmdkYmFyY2ggPSBnZXRfdHlwZV9hcmNoICh0eXBlKTsKQEAgLTY4NCw3ICs2 ODQsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2FkYS1sYW5nLmMKICAgIGdk Yl9ieXRlICpidWYgPSAoZ2RiX2J5dGUgKikgYWxsb2NhIChsZW4pOwogICAgQ09SRV9BRERSIGFk ZHI7CiAgCi1AQCAtNjc1NCw3ICs2NzU2LDcgQEAKK0BAIC02NzUyLDcgKzY3NTQsNyBAQAogIAkJ CQkgICAgIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBDT1JFX0FERFIgYWRkcmVzcykKICB7CkBAIC02OTMsNyArNjkzLDcgQEAg SW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9hZGEtbGFuZy5jCiAgICBzdHJ1Y3QgdHlw ZSAqdGFnX3R5cGU7CiAgCiAgICBpZiAoZmluZF9zdHJ1Y3RfZmllbGQgKCJfdGFnIiwgdHlwZSwg MCwgJnRhZ190eXBlLCAmdGFnX2J5dGVfb2Zmc2V0LAotQEAgLTcyMzUsNyArNzIzNyw3IEBACitA QCAtNzIzMyw3ICs3MjM1LDcgQEAKICAgICBvbmx5IGluIHRoYXQgaXQgY2FuIGhhbmRsZSBwYWNr ZWQgdmFsdWVzIG9mIGFyYml0cmFyeSB0eXBlLiAgKi8KICAKICBzdGF0aWMgc3RydWN0IHZhbHVl ICoKQEAgLTcwMiw3ICs3MDIsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2Fk YS1sYW5nLmMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdHlwZSAqYXJnX3R5 cGUpCiAgewogICAgc3RydWN0IHR5cGUgKnR5cGU7Ci1AQCAtNzI0Nyw3ICs3MjQ5LDcgQEAKK0BA IC03MjQ1LDcgKzcyNDcsNyBAQAogIAogICAgaWYgKFRZUEVfRklFTERfQklUU0laRSAoYXJnX3R5 cGUsIGZpZWxkbm8pICE9IDApCiAgICAgIHsKQEAgLTcxMSw3ICs3MTEsNyBAQCBJbmRleDogZ2Ri LTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2FkYS1sYW5nLmMKICAgICAgICBpbnQgYml0X3NpemUgPSBU WVBFX0ZJRUxEX0JJVFNJWkUgKGFyZ190eXBlLCBmaWVsZG5vKTsKICAKICAgICAgICByZXR1cm4g YWRhX3ZhbHVlX3ByaW1pdGl2ZV9wYWNrZWRfdmFsIChhcmcxLCB2YWx1ZV9jb250ZW50cyAoYXJn MSksCi1AQCAtNzI3NCw5ICs3Mjc2LDkgQEAKK0BAIC03MjcyLDkgKzcyNzQsOSBAQAogICAgIFJl dHVybnMgMSBpZiBmb3VuZCwgMCBvdGhlcndpc2UuICAqLwogIAogIHN0YXRpYyBpbnQKQEAgLTcy Myw3ICs3MjMsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2FkYS1sYW5nLmMK ICAJCSAgIGludCAqaW5kZXhfcCkKICB7CiAgICBpbnQgaTsKLUBAIC03Mjk0LDggKzcyOTYsOCBA QAorQEAgLTcyOTIsOCArNzI5NCw4IEBACiAgCiAgICBmb3IgKGkgPSAwOyBpIDwgVFlQRV9ORklF TERTICh0eXBlKTsgaSArPSAxKQogICAgICB7CkBAIC03MzQsNyArNzM0LDcgQEAgSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMjI2L2dkYi9hZGEtbGFuZy5jCiAgICAgICAgY29uc3QgY2hhciAqdF9m aWVsZF9uYW1lID0gVFlQRV9GSUVMRF9OQU1FICh0eXBlLCBpKTsKICAKICAgICAgICBpZiAodF9m aWVsZF9uYW1lID09IE5VTEwpCi1AQCAtNzM2NSw3ICs3MzY3LDcgQEAKK0BAIC03MzYzLDcgKzcz NjUsNyBAQAogICAgIFNlYXJjaGVzIHJlY3Vyc2l2ZWx5IHRocm91Z2ggd3JhcHBlciBmaWVsZHMg KGUuZy4sICdfcGFyZW50JykuICAqLwogIAogIHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKgpAQCAtNzQz LDcgKzc0Myw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYWRhLWxhbmcuYwog ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdHlwZSAqdHlwZSkKICB7CiAgICBpbnQg aTsKLUBAIC03Mzk4LDcgKzc0MDAsNyBAQAorQEAgLTczOTYsNyArNzM5OCw3IEBACiAgICAgICAg ICAgIGludCBqOwogICAgICAgICAgICBzdHJ1Y3QgdHlwZSAqZmllbGRfdHlwZSA9IGFkYV9jaGVj a190eXBlZGVmIChUWVBFX0ZJRUxEX1RZUEUgKHR5cGUsCiAgCQkJCQkJCQkJaSkpOwpAQCAtNzUy LDcgKzc1Miw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYWRhLWxhbmcuYwog IAogICAgICAgICAgICBmb3IgKGogPSAwOyBqIDwgVFlQRV9ORklFTERTIChmaWVsZF90eXBlKTsg aiArPSAxKQogICAgICAgICAgICAgIHsKLUBAIC03NDE2LDggKzc0MTgsOCBAQAorQEAgLTc0MTQs OCArNzQxNiw4IEBACiAgICByZXR1cm4gTlVMTDsKICB9CiAgCkBAIC03NjMsNyArNzYzLDcgQEAg SW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9hZGEtbGFuZy5jCiAgCiAgCiAgLyogUmV0 dXJuIGZpZWxkICNJTkRFWCBpbiBBUkcsIHdoZXJlIHRoZSBpbmRleCBpcyB0aGF0IHJldHVybmVk IGJ5Ci1AQCAtNzQyNiw3ICs3NDI4LDcgQEAKK0BAIC03NDI0LDcgKzc0MjYsNyBAQAogICAqIElm IGZvdW5kLCByZXR1cm4gdmFsdWUsIGVsc2UgcmV0dXJuIE5VTEwuICAqLwogIAogIHN0YXRpYyBz dHJ1Y3QgdmFsdWUgKgpAQCAtNzcyLDcgKzc3Miw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3 MDIyNi9nZGIvYWRhLWxhbmcuYwogIAkJCXN0cnVjdCB0eXBlICp0eXBlKQogIHsKICAgIHJldHVy biBhZGFfaW5kZXhfc3RydWN0X2ZpZWxkXzEgKCZpbmRleCwgYXJnLCBvZmZzZXQsIHR5cGUpOwot QEAgLTc0MzgsNyArNzQ0MCw3IEBACitAQCAtNzQzNiw3ICs3NDM4LDcgQEAKICAgKiAqSU5ERVhf UC4gICovCiAgCiAgc3RhdGljIHN0cnVjdCB2YWx1ZSAqCkBAIC03ODEsNyArNzgxLDcgQEAgSW5k ZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9hZGEtbGFuZy5jCiAgCQkJICBzdHJ1Y3QgdHlw ZSAqdHlwZSkKICB7CiAgICBpbnQgaTsKLUBAIC03NTI4LDcgKzc1MzAsOCBAQAorQEAgLTc1MjYs NyArNzUyOCw4IEBACiAgICAgIHYgPSBhZGFfc2VhcmNoX3N0cnVjdF9maWVsZCAobmFtZSwgYXJn LCAwLCB0KTsKICAgIGVsc2UKICAgICAgewpAQCAtNzkxLDcgKzc5MSw3IEBAIEluZGV4OiBnZGIt Ny4xMi41MC4yMDE3MDIyNi9nZGIvYWRhLWxhbmcuYwogICAgICAgIHN0cnVjdCB0eXBlICpmaWVs ZF90eXBlOwogICAgICAgIENPUkVfQUREUiBhZGRyZXNzOwogIAotQEAgLTc4MzQsOCArNzgzNyw4 IEBACitAQCAtNzgzMiw4ICs3ODM1LDggQEAKICAvKiBSZXR1cm4gT0ZGIHJvdW5kZWQgdXB3YXJk IGlmIG5lY2Vzc2FyeSB0byBhIG11bHRpcGxlIG9mCiAgICAgQUxJR05NRU5UIChhIHBvd2VyIG9m IDIpLiAgKi8KICAKQEAgLTgwMiw3ICs4MDIsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAy MjYvZ2RiL2FkYS1sYW5nLmMKICB7CiAgICByZXR1cm4gKG9mZiArIGFsaWdubWVudCAtIDEpICYg fihhbGlnbm1lbnQgLSAxKTsKICB9Ci1AQCAtODIyOSwxMCArODIzMiw5IEBACitAQCAtODIyNywx MCArODIzMCw5IEBACiAgICBzdHJ1Y3QgdmFsdWUgKm1hcmsgPSB2YWx1ZV9tYXJrICgpOwogICAg c3RydWN0IHZhbHVlICpkdmFsOwogICAgc3RydWN0IHR5cGUgKnJ0eXBlOwpAQCAtODE1LDcgKzgx NSw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYWRhLWxhbmcuYwogICAgaW50 IGY7CiAgCiAgICAvKiBDb21wdXRlIHRoZSBudW1iZXIgb2YgZmllbGRzIGluIHRoaXMgcmVjb3Jk IHR5cGUgdGhhdCBhcmUgZ29pbmcKLUBAIC04MzEwLDcgKzgzMTIsNyBAQAorQEAgLTgzMDgsNyAr ODMxMCw3IEBACiAgCSAgICAgdGhhdCBmb2xsb3cgdGhpcyBvbmUuICAqLwogIAkgIGlmIChhZGFf aXNfYWxpZ25lcl90eXBlIChmaWVsZF90eXBlKSkKICAJICAgIHsKQEAgLTgyNCw3ICs4MjQsNyBA QCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2FkYS1sYW5nLmMKICAKICAJICAgICAg ZmllbGRfdmFsYWRkciA9IGNvbmRfb2Zmc2V0X2hvc3QgKGZpZWxkX3ZhbGFkZHIsIGZpZWxkX29m ZnNldCk7CiAgCSAgICAgIGZpZWxkX2FkZHJlc3MgPSBjb25kX29mZnNldF90YXJnZXQgKGZpZWxk X2FkZHJlc3MsIGZpZWxkX29mZnNldCk7Ci1AQCAtODQ0NiwxMSArODQ0OCwxMSBAQAorQEAgLTg0 NDQsMTEgKzg0NDYsMTEgQEAKICAgIGlmIChUWVBFX0xFTkdUSCAodHlwZSkgPD0gMCkKICAgICAg ewogICAgICAgIGlmIChUWVBFX05BTUUgKHJ0eXBlKSkKQEAgLTg0MCw3ICs4NDAsNyBAQCBJbmRl eDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2FkYS1sYW5nLmMKICAgICAgfQogICAgZWxzZQog ICAgICB7Ci1AQCAtODkxNyw3ICs4OTE5LDggQEAKK0BAIC04OTE1LDcgKzg5MTcsOCBAQAogIAkg dHlwZSB3YXMgYSByZWd1bGFyIChub24tcGFja2VkKSBhcnJheSB0eXBlLiAgQXMgYSByZXN1bHQs IHRoZQogIAkgYml0c2l6ZSBvZiB0aGUgYXJyYXkgZWxlbWVudHMgbmVlZHMgdG8gYmUgc2V0IGFn YWluLCBhbmQgdGhlIGFycmF5CiAgCSBsZW5ndGggbmVlZHMgdG8gYmUgcmVjb21wdXRlZCBiYXNl ZCBvbiB0aGF0IGJpdHNpemUuICAqLwpAQCAtODUwLDEwICs4NTAsMTAgQEAgSW5kZXg6IGdkYi03 LjEyLjUwLjIwMTcwMjI2L2dkYi9hZGEtbGFuZy5jCiAgICAgICAgaW50IGVsdF9iaXRzaXplID0g VFlQRV9GSUVMRF9CSVRTSVpFICh0eXBlMCwgMCk7CiAgCiAgICAgICAgVFlQRV9GSUVMRF9CSVRT SVpFIChyZXN1bHQsIDApID0gVFlQRV9GSUVMRF9CSVRTSVpFICh0eXBlMCwgMCk7Ci1JbmRleDog Z2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2FkYS1sYW5nLmgKK0luZGV4OiBnZGItNy45OS45MC4y MDE3MDQyMC9nZGIvYWRhLWxhbmcuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcw MjI2Lm9yaWcvZ2RiL2FkYS1sYW5nLmgJMjAxNy0wMi0yNiAyMTo1OTozNi4wNDM3MTkzNjkgKzAx MDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYWRhLWxhbmcuaAkyMDE3LTAyLTI2IDIy OjA0OjAzLjQxNjYwOTc4MiArMDEwMAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2Ri L2FkYS1sYW5nLmgJMjAxNy0wNC0yMCAyMzowODo1NC4xNDMzOTQ2NzYgKzAyMDAKKysrKyBnZGIt Ny45OS45MC4yMDE3MDQyMC9nZGIvYWRhLWxhbmcuaAkyMDE3LTA0LTIwIDIzOjA4OjU2Ljk2NzQx MDU5MCArMDIwMAogQEAgLTE2OCw3ICsxNjgsNyBAQAogIGV4dGVybiB2b2lkIGFkYV9wcmludF90 eXBlZGVmIChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHN5bWJvbCAqbmV3X3N5bWJvbCwKICAJ CQkgICAgICAgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSk7CkBAIC04ODEsMTAgKzg4MSwxMCBAQCBJ bmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2FkYS1sYW5nLmgKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB0eXBlICopOwog IAogIGV4dGVybiBzdHJ1Y3QgdHlwZSAqYWRhX2NvZXJjZV90b19zaW1wbGVfYXJyYXlfdHlwZSAo c3RydWN0IHR5cGUgKik7Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2FkYS10eXBl cHJpbnQuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9hZGEtdHlwZXByaW50LmMK ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9hZGEtdHlwZXBy aW50LmMJMjAxNy0wMi0yNiAyMTo1OTozNi4wNDM3MTkzNjkgKzAxMDAKLSsrKyBnZGItNy4xMi41 MC4yMDE3MDIyNi9nZGIvYWRhLXR5cGVwcmludC5jCTIwMTctMDItMjYgMjI6MDQ6MDMuNDE2NjA5 NzgyICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvYWRhLXR5cGVwcmlu dC5jCTIwMTctMDQtMjAgMjM6MDg6NTQuMTQzMzk0Njc2ICswMjAwCisrKysgZ2RiLTcuOTkuOTAu MjAxNzA0MjAvZ2RiL2FkYS10eXBlcHJpbnQuYwkyMDE3LTA0LTIwIDIzOjA4OjU2Ljk2NzQxMDU5 MCArMDIwMAogQEAgLTg5MSw4ICs4OTEsOCBAQAogIAkgICAgY29uc3QgY2hhciAqbmFtZSA9IGFk YV90eXBlX25hbWUgKHR5cGUpOwogIApAQCAtOTA2LDEwICs5MDYsMTAgQEAgSW5kZXg6IGdkYi03 LjEyLjUwLjIwMTcwMjI2L2dkYi9hZGEtdHlwZXByaW50LmMKICAJYnJlYWs7CiAgICAgICAgY2Fz ZSBUWVBFX0NPREVfRU5VTToKICAJaWYgKHNob3cgPCAwKQotSW5kZXg6IGdkYi03LjEyLjUwLjIw MTcwMjI2L2dkYi9hZGEtdmFscHJpbnQuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dk Yi9hZGEtdmFscHJpbnQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9y aWcvZ2RiL2FkYS12YWxwcmludC5jCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAw Ci0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2FkYS12YWxwcmludC5jCTIwMTctMDItMjYg MjI6MDQ6MDMuNDE3NjA5Nzg5ICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9n ZGIvYWRhLXZhbHByaW50LmMJMjAxNy0wNC0yMCAyMzowODo1NC4xNDQzOTQ2ODIgKzAyMDAKKysr KyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvYWRhLXZhbHByaW50LmMJMjAxNy0wNC0yMCAyMzow ODo1Ni45Njg0MTA1OTUgKzAyMDAKIEBAIC0zMywxMSArMzMsMTEgQEAKICAjaW5jbHVkZSAib2Jq ZmlsZXMuaCIKICAKQEAgLTEwMzYsNyArMTAzNiw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3 MDIyNi9nZGIvYWRhLXZhbHByaW50LmMKICAKICAgICAgICAvKiBMb29rIGZvciBhIE5VTEwgY2hh ci4gICovCiAgICAgICAgZm9yICh0ZW1wX2xlbiA9IDA7Ci1AQCAtMTA2OSw3ICsxMDcwLDcgQEAK K0BAIC0xMDcyLDcgKzEwNzMsNyBAQAogIAogIHN0YXRpYyB2b2lkCiAgYWRhX3ZhbF9wcmludF8x IChzdHJ1Y3QgdHlwZSAqdHlwZSwKQEAgLTEwNDUsNyArMTA0NSw3IEBAIEluZGV4OiBnZGItNy4x Mi41MC4yMDE3MDIyNi9nZGIvYWRhLXZhbHByaW50LmMKICAJCSBzdHJ1Y3QgdWlfZmlsZSAqc3Ry ZWFtLCBpbnQgcmVjdXJzZSwKICAJCSBzdHJ1Y3QgdmFsdWUgKm9yaWdpbmFsX3ZhbHVlLAogIAkJ IGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zLAotQEAgLTExNTMsNyAr MTE1NCw3IEBACitAQCAtMTE1Niw3ICsxMTU3LDcgQEAKICAKICB2b2lkCiAgYWRhX3ZhbF9wcmlu dCAoc3RydWN0IHR5cGUgKnR5cGUsCkBAIC0xMDU0LDEwICsxMDU0LDEwIEBAIEluZGV4OiBnZGIt Ny4xMi41MC4yMDE3MDIyNi9nZGIvYWRhLXZhbHByaW50LmMKICAJICAgICAgIHN0cnVjdCB1aV9m aWxlICpzdHJlYW0sIGludCByZWN1cnNlLAogIAkgICAgICAgc3RydWN0IHZhbHVlICp2YWwsCiAg CSAgICAgICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucykKLUluZGV4 OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYW5ub3RhdGUuYworSW5kZXg6IGdkYi03Ljk5Ljkw LjIwMTcwNDIwL2dkYi9hbm5vdGF0ZS5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAx NzAyMjYub3JpZy9nZGIvYW5ub3RhdGUuYwkyMDE3LTAyLTI2IDIxOjU5OjM2LjA0MzcxOTM2OSAr MDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9hbm5vdGF0ZS5jCTIwMTctMDItMjYg MjI6MDQ6MDMuNDE3NjA5Nzg5ICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9n ZGIvYW5ub3RhdGUuYwkyMDE3LTA0LTIwIDIzOjA4OjU0LjE0NDM5NDY4MiArMDIwMAorKysrIGdk Yi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9hbm5vdGF0ZS5jCTIwMTctMDQtMjAgMjM6MDg6NTYuOTY4 NDEwNTk1ICswMjAwCiBAQCAtNTMzLDIxICs1MzMsMjEgQEAKICB9CiAgDApAQCAtMTA4NCwxMCAr MTA4NCwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2Fubm90YXRlLmMKICB9 CiAgCiAgdm9pZAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9hbm5vdGF0ZS5oCitJ bmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2Fubm90YXRlLmgKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9hbm5vdGF0ZS5oCTIwMTctMDItMjYgMjE6 NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2Fubm90 YXRlLmgJMjAxNy0wMi0yNiAyMjowNDowMy40MTc2MDk3ODkgKzAxMDAKKy0tLSBnZGItNy45OS45 MC4yMDE3MDQyMC5vcmlnL2dkYi9hbm5vdGF0ZS5oCTIwMTctMDQtMjAgMjM6MDg6NTQuMTQ1Mzk0 Njg4ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2Fubm90YXRlLmgJMjAxNy0w NC0yMCAyMzowODo1Ni45Njg0MTA1OTUgKzAyMDAKIEBAIC05Miw4ICs5Miw4IEBACiAgZXh0ZXJu IHZvaWQgYW5ub3RhdGVfZnJhbWVfd2hlcmUgKHZvaWQpOwogIGV4dGVybiB2b2lkIGFubm90YXRl X2ZyYW1lX2VuZCAodm9pZCk7CkBAIC0xMDk5LDEwICsxMDk5LDEwIEBAIEluZGV4OiBnZGItNy4x Mi41MC4yMDE3MDIyNi9nZGIvYW5ub3RhdGUuaAogIGV4dGVybiB2b2lkIGFubm90YXRlX2VsdF9y ZXBfZW5kICh2b2lkKTsKICBleHRlcm4gdm9pZCBhbm5vdGF0ZV9lbHQgKHZvaWQpOwogIGV4dGVy biB2b2lkIGFubm90YXRlX2FycmF5X3NlY3Rpb25fZW5kICh2b2lkKTsKLUluZGV4OiBnZGItNy4x Mi41MC4yMDE3MDIyNi9nZGIvYXJtLWxpbnV4LW5hdC5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAx NzA0MjAvZ2RiL2FybS1saW51eC1uYXQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIw MTcwMjI2Lm9yaWcvZ2RiL2FybS1saW51eC1uYXQuYwkyMDE3LTAyLTI2IDIxOjU5OjM2LjA0Mzcx OTM2OSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9hcm0tbGludXgtbmF0LmMJ MjAxNy0wMi0yNiAyMjowNDowMy40MTc2MDk3ODkgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3 MDQyMC5vcmlnL2dkYi9hcm0tbGludXgtbmF0LmMJMjAxNy0wNC0yMCAyMzowODo1NC4xNDUzOTQ2 ODggKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvYXJtLWxpbnV4LW5hdC5jCTIw MTctMDQtMjAgMjM6MDg6NTYuOTY5NDEwNjAxICswMjAwCiBAQCAtMTA2NSw3ICsxMDY1LDcgQEAK ICAgICBBRERSPyAgKi8KICBzdGF0aWMgaW50CkBAIC0xMTEyLDEwICsxMTEyLDEwIEBAIEluZGV4 OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYXJtLWxpbnV4LW5hdC5jCiAgewogICAgY29uc3Qg c3RydWN0IGFybV9saW51eF9od2JwX2NhcCAqY2FwID0gYXJtX2xpbnV4X2dldF9od2JwX2NhcCAo KTsKICAgIENPUkVfQUREUiBtYXhfd3BfbGVuZ3RoLCBhbGlnbmVkX2FkZHI7Ci1JbmRleDogZ2Ri LTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2F4LWdkYi5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0 MjAvZ2RiL2F4LWdkYi5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3Jp Zy9nZGIvYXgtZ2RiLmMJMjAxNy0wMi0yNiAyMTo1OTozNi4wNDM3MTkzNjkgKzAxMDAKLSsrKyBn ZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYXgtZ2RiLmMJMjAxNy0wMi0yNiAyMjowNDowMy40MTg2 MDk3OTYgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9heC1nZGIuYwky MDE3LTA0LTIwIDIzOjA4OjU0LjE0NjM5NDY5NCArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcw NDIwL2dkYi9heC1nZGIuYwkyMDE3LTA0LTIwIDIzOjEwOjI0LjE1NDkwMTg3NyArMDIwMAogQEAg LTgzLDEyICs4MywxMiBAQAogIHN0YXRpYyB2b2lkIGdlbl9zaWduX2V4dGVuZCAoc3RydWN0IGFn ZW50X2V4cHIgKiwgc3RydWN0IHR5cGUgKik7CiAgc3RhdGljIHZvaWQgZ2VuX2V4dGVuZCAoc3Ry dWN0IGFnZW50X2V4cHIgKiwgc3RydWN0IHR5cGUgKik7CkBAIC0xMTMxLDcgKzExMzEsNyBAQCBJ bmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2F4LWdkYi5jCiAgc3RhdGljIHZvaWQgZ2Vu X3N5bV9vZmZzZXQgKHN0cnVjdCBhZ2VudF9leHByICosIHN0cnVjdCBzeW1ib2wgKik7CiAgc3Rh dGljIHZvaWQgZ2VuX3Zhcl9yZWYgKHN0cnVjdCBnZGJhcmNoICosIHN0cnVjdCBhZ2VudF9leHBy ICpheCwKICAJCQkgc3RydWN0IGF4c192YWx1ZSAqdmFsdWUsIHN0cnVjdCBzeW1ib2wgKnZhcik7 Ci1AQCAtMTM2LDE1ICsxMzYsMTYgQEAKK0BAIC0xMzcsMTUgKzEzNywxNSBAQAogIHN0YXRpYyB2 b2lkIGdlbl9hZGRyZXNzX29mIChzdHJ1Y3QgYWdlbnRfZXhwciAqLCBzdHJ1Y3QgYXhzX3ZhbHVl ICopOwogIHN0YXRpYyB2b2lkIGdlbl9iaXRmaWVsZF9yZWYgKHN0cnVjdCBleHByZXNzaW9uICpl eHAsIHN0cnVjdCBhZ2VudF9leHByICpheCwKICAJCQkgICAgICBzdHJ1Y3QgYXhzX3ZhbHVlICp2 YWx1ZSwKQEAgLTExNDEsMTcgKzExNDEsMTYgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2 L2dkYi9heC1nZGIuYwogIAkJCQkgc3RydWN0IGFnZW50X2V4cHIgKmF4LAogIAkJCQkgc3RydWN0 IGF4c192YWx1ZSAqdmFsdWUsCiAtCQkJCSBpbnQgb2Zmc2V0LCBpbnQgZmllbGRubywgc3RydWN0 IHR5cGUgKnR5cGUpOwotKwkJCQkgTE9OR0VTVCBvZmZzZXQsIGludCBmaWVsZG5vLAotKwkJCQkg c3RydWN0IHR5cGUgKnR5cGUpOworKwkJCQkgTE9OR0VTVCBvZmZzZXQsIGludCBmaWVsZG5vLCBz dHJ1Y3QgdHlwZSAqdHlwZSk7CiAgc3RhdGljIGludCBnZW5fc3RydWN0X3JlZl9yZWN1cnNpdmUg KHN0cnVjdCBleHByZXNzaW9uICpleHAsCiAgCQkJCSAgICAgc3RydWN0IGFnZW50X2V4cHIgKmF4 LAogIAkJCQkgICAgIHN0cnVjdCBheHNfdmFsdWUgKnZhbHVlLAotLQkJCQkgICAgIGNoYXIgKmZp ZWxkLCBpbnQgb2Zmc2V0LAotKwkJCQkgICAgIGNoYXIgKmZpZWxkLCBMT05HRVNUIG9mZnNldCwK Ky0JCQkJICAgICBjb25zdCBjaGFyICpmaWVsZCwgaW50IG9mZnNldCwKKysJCQkJICAgICBjb25z dCBjaGFyICpmaWVsZCwgTE9OR0VTVCBvZmZzZXQsCiAgCQkJCSAgICAgc3RydWN0IHR5cGUgKnR5 cGUpOwogIHN0YXRpYyB2b2lkIGdlbl9zdHJ1Y3RfcmVmIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhw LCBzdHJ1Y3QgYWdlbnRfZXhwciAqYXgsCiAgCQkJICAgIHN0cnVjdCBheHNfdmFsdWUgKnZhbHVl LAotQEAgLTUzOCw3ICs1MzksNyBAQAorQEAgLTU0MSw3ICs1NDEsNyBAQAogICAgIHJpZ2h0IHNo aWZ0IGl0IGJ5IC1ESVNUQU5DRSBiaXRzIGlmIERJU1RBTkNFIDwgMC4gIFRoaXMgZ2VuZXJhdGVz CiAgICAgdW5zaWduZWQgKGxvZ2ljYWwpIHJpZ2h0IHNoaWZ0cy4gICovCiAgc3RhdGljIHZvaWQK QEAgLTExNjAsNyArMTE1OSw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYXgt Z2RiLmMKICB7CiAgICBpZiAoZGlzdGFuY2UgPiAwKQogICAgICB7Ci1AQCAtNTkyLDcgKzU5Myw3 IEBACitAQCAtNTk1LDcgKzU5NSw3IEBACiAgICAgcHJvZ3JhbW1pbmcgaW4gTUwsIGl0IHdvdWxk IGJlIGNsZWFyZXIgd2h5IHRoZXNlIGFyZSB0aGUgc2FtZQogICAgIHRoaW5nLiAgKi8KICBzdGF0 aWMgdm9pZApAQCAtMTE2OSw3ICsxMTY4LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2 L2dkYi9heC1nZGIuYwogIHsKICAgIC8qIEl0IHdvdWxkIHN1ZmZpY2UgdG8gc2ltcGx5IHB1c2gg dGhlIG9mZnNldCBhbmQgYWRkIGl0LCBidXQgdGhpcwogICAgICAgbWFrZXMgaXQgZWFzaWVyIHRv IHJlYWQgcG9zaXRpdmUgYW5kIG5lZ2F0aXZlIG9mZnNldHMgaW4gdGhlCi1AQCAtMTI0Nyw3ICsx MjQ4LDcgQEAKK0BAIC0xMjUxLDcgKzEyNTEsNyBAQAogIHN0YXRpYyB2b2lkCiAgZ2VuX2JpdGZp ZWxkX3JlZiAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwgc3RydWN0IGFnZW50X2V4cHIgKmF4LAog IAkJICBzdHJ1Y3QgYXhzX3ZhbHVlICp2YWx1ZSwgc3RydWN0IHR5cGUgKnR5cGUsCkBAIC0xMTc4 LDcgKzExNzcsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2F4LWdkYi5jCiAg ewogICAgLyogTm90ZSB0aGF0IG9wc1tpXSBmZXRjaGVzIDggPDwgaSBiaXRzLiAgKi8KICAgIHN0 YXRpYyBlbnVtIGFnZW50X29wIG9wc1tdCi1AQCAtMTI4MiwxMyArMTI4MywxMyBAQAorQEAgLTEy ODYsMTMgKzEyODYsMTMgQEAKICAKICAgIC8qIFRoZSBmaXJzdCBhbmQgb25lLWFmdGVyLWxhc3Qg Yml0cyBpbiB0aGUgZmllbGQsIGJ1dCByb3VuZGVkIGRvd24KICAgICAgIGFuZCB1cCB0byBieXRl IGJvdW5kYXJpZXMuICAqLwpAQCAtMTE5Nyw3ICsxMTk2LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUw LjIwMTcwMjI2L2dkYi9heC1nZGIuYwogIAogICAgLyogVGhlIGluZGV4IGluIG9wcyBvZiB0aGUg b3Bjb2RlIHdlJ3JlIGNvbnNpZGVyaW5nLiAgKi8KICAgIGludCBvcDsKLUBAIC0xNDA3LDcgKzE0 MDgsNyBAQAorQEAgLTE0MTEsNyArMTQxMSw3IEBACiAgc3RhdGljIHZvaWQKICBnZW5fcHJpbWl0 aXZlX2ZpZWxkIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLAogIAkJICAgICBzdHJ1Y3QgYWdlbnRf ZXhwciAqYXgsIHN0cnVjdCBheHNfdmFsdWUgKnZhbHVlLApAQCAtMTIwNiwxOSArMTIwNSwxOSBA QCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2F4LWdkYi5jCiAgewogICAgLyogSXMg dGhpcyBhIGJpdGZpZWxkPyAgKi8KICAgIGlmIChUWVBFX0ZJRUxEX1BBQ0tFRCAodHlwZSwgZmll bGRubykpCi1AQCAtMTQzMiw3ICsxNDMzLDcgQEAKK0BAIC0xNDM2LDcgKzE0MzYsNyBAQAogIHN0 YXRpYyBpbnQKICBnZW5fc3RydWN0X3JlZl9yZWN1cnNpdmUgKHN0cnVjdCBleHByZXNzaW9uICpl eHAsIHN0cnVjdCBhZ2VudF9leHByICpheCwKICAJCQkgIHN0cnVjdCBheHNfdmFsdWUgKnZhbHVl LAotLQkJCSAgY2hhciAqZmllbGQsIGludCBvZmZzZXQsIHN0cnVjdCB0eXBlICp0eXBlKQotKwkJ CSAgY2hhciAqZmllbGQsIExPTkdFU1Qgb2Zmc2V0LCBzdHJ1Y3QgdHlwZSAqdHlwZSkKKy0JCQkg IGNvbnN0IGNoYXIgKmZpZWxkLCBpbnQgb2Zmc2V0LCBzdHJ1Y3QgdHlwZSAqdHlwZSkKKysJCQkg IGNvbnN0IGNoYXIgKmZpZWxkLCBMT05HRVNUIG9mZnNldCwgc3RydWN0IHR5cGUgKnR5cGUpCiAg ewogICAgaW50IGksIHJzbHQ7CiAgICBpbnQgbmJhc2VzID0gVFlQRV9OX0JBU0VDTEFTU0VTICh0 eXBlKTsKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYXgtZ2VuZXJhbC5jCitJbmRl eDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2F4LWdlbmVyYWwuYwogPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2RiL2F4LWdlbmVyYWwuYwkyMDE3LTAyLTI2IDIx OjU5OjM2LjA0MzcxOTM2OSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9heC1n ZW5lcmFsLmMJMjAxNy0wMi0yNiAyMjowNDowMy40MTg2MDk3OTYgKzAxMDAKKy0tLSBnZGItNy45 OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9heC1nZW5lcmFsLmMJMjAxNy0wNC0yMCAyMzowODo1NC4x NDczOTQ2OTkgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvYXgtZ2VuZXJhbC5j CTIwMTctMDQtMjAgMjM6MDg6NTYuOTcwNDEwNjA2ICswMjAwCiBAQCAtMTc3LDcgKzE3Nyw3IEBA CiAgCiAgLyogQXBwZW5kIGEgdHJhY2VfcXVpY2sgaW5zdHJ1Y3Rpb24gdG8gRVhQUiwgdG8gcmVj b3JkIE4gYnl0ZXMuICAqLwpAQCAtMTIyOCwxMCArMTIyNywxMCBAQCBJbmRleDogZ2RiLTcuMTIu NTAuMjAxNzAyMjYvZ2RiL2F4LWdlbmVyYWwuYwogIHsKICAgIC8qIE4gbXVzdCBmaXQgaW4gYSBi eXRlLiAgKi8KICAgIGlmIChuIDwgMCB8fCBuID4gMjU1KQotSW5kZXg6IGdkYi03LjEyLjUwLjIw MTcwMjI2L2dkYi9heC5oCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2F4LmgKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9heC5oCTIwMTctMDIt MjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2Ri L2F4LmgJMjAxNy0wMi0yNiAyMjowNDowMy40MTk2MDk4MDMgKzAxMDAKKy0tLSBnZGItNy45OS45 MC4yMDE3MDQyMC5vcmlnL2dkYi9heC5oCTIwMTctMDQtMjAgMjM6MDg6NTQuMTQ3Mzk0Njk5ICsw MjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2F4LmgJMjAxNy0wNC0yMCAyMzowODo1 Ni45NzA0MTA2MDYgKzAyMDAKIEBAIC0yMDUsNyArMjA1LDcgQEAKICBleHRlcm4gdm9pZCBheF96 ZXJvX2V4dCAoc3RydWN0IGFnZW50X2V4cHIgKkVYUFIsIGludCBOKTsKICAKQEAgLTEyNDEsMTEg KzEyNDAsMTEgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9heC5oCiAgCiAgLyog QXBwZW5kIGEgZ290byBvcCB0byBFWFBSLiAgT1AgaXMgdGhlIGFjdHVhbCBvcCAobXVzdCBiZSBh b3BfZ290byBvcgogICAgIGFvcF9pZl9nb3RvKS4gIFdlIGFzc3VtZSB3ZSBkb24ndCBrbm93IHRo ZSB0YXJnZXQgb2Zmc2V0IHlldCwKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYnJl YWtwb2ludC5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2JyZWFrcG9pbnQuYwog PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2RiL2JyZWFrcG9pbnQu YwkyMDE3LTAyLTI2IDIxOjU5OjM2LjA0MzcxOTM2OSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIw MTcwMjI2L2dkYi9icmVha3BvaW50LmMJMjAxNy0wMi0yNiAyMjowNDowMy40MjI2MDk4MjQgKzAx MDAKLUBAIC0yMjI2LDkgKzIyMjYsOSBAQAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcv Z2RiL2JyZWFrcG9pbnQuYwkyMDE3LTA0LTIwIDIzOjA4OjU0LjE1MTM5NDcyMiArMDIwMAorKysr IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9icmVha3BvaW50LmMJMjAxNy0wNC0yMCAyMzowODo1 Ni45NzM0MTA2MjMgKzAyMDAKK0BAIC0yMjI1LDkgKzIyMjUsOSBAQAogIAl7CiAgCSAgZnByaW50 Zl91bmZpbHRlcmVkIChnZGJfc3RkbG9nLAogIAkJCSAgICAgICJpbmZydW46IHN0ZXBwaW5nIHBh c3Qgbm9uLXN0ZXBwYWJsZSB3YXRjaHBvaW50LiAiCkBAIC0xMjU3LDcgKzEyNTYsNyBAQCBJbmRl eDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2JyZWFrcG9pbnQuYwogIAl9CiAgICAgICAgcmV0 dXJuIDA7CiAgICAgIH0KLUBAIC03MTUzLDcgKzcxNTMsNyBAQAorQEAgLTcxNTEsNyArNzE1MSw3 IEBACiAgCiAgc3RhdGljIGludAogIGJyZWFrcG9pbnRfYWRkcmVzc19tYXRjaF9yYW5nZSAoc3Ry dWN0IGFkZHJlc3Nfc3BhY2UgKmFzcGFjZTEsIENPUkVfQUREUiBhZGRyMSwKQEAgLTEyNjYsNyAr MTI2NSw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYnJlYWtwb2ludC5jCiAg CQkJCUNPUkVfQUREUiBhZGRyMikKICB7CiAgICByZXR1cm4gKChnZGJhcmNoX2hhc19nbG9iYWxf YnJlYWtwb2ludHMgKHRhcmdldF9nZGJhcmNoICgpKQotQEAgLTExNDc0LDcgKzExNDc0LDcgQEAK K0BAIC0xMTQ0NCw3ICsxMTQ0NCw3IEBACiAgCQkgICAgICAmJiBUWVBFX0NPREUgKHZ0eXBlKSAh PSBUWVBFX0NPREVfQVJSQVkpKQogIAkJewogIAkJICBDT1JFX0FERFIgdmFkZHIgPSB2YWx1ZV9h ZGRyZXNzICh2KTsKQEAgLTEyNzUsMTAgKzEyNzQsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIw MTcwMjI2L2dkYi9icmVha3BvaW50LmMKICAJCSAgaW50IG51bV9yZWdzOwogIAogIAkJICBsZW4g PSAodGFyZ2V0X2V4YWN0X3dhdGNocG9pbnRzCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYv Z2RiL2JyZWFrcG9pbnQuaAorSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9icmVha3Bv aW50LmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9icmVh a3BvaW50LmgJMjAxNy0wMi0yNiAyMTo1OTozNi4wNDM3MTkzNjkgKzAxMDAKLSsrKyBnZGItNy4x Mi41MC4yMDE3MDIyNi9nZGIvYnJlYWtwb2ludC5oCTIwMTctMDItMjYgMjI6MDQ6MDMuNDIzNjA5 ODMxICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvYnJlYWtwb2ludC5o CTIwMTctMDQtMjAgMjM6MDg6NTQuMTUyMzk0NzI3ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAx NzA0MjAvZ2RiL2JyZWFrcG9pbnQuaAkyMDE3LTA0LTIwIDIzOjA4OjU2Ljk3NDQxMDYyOSArMDIw MAogQEAgLTI1MCw3ICsyNTAsNyBAQAogIAogICAgLyogSWYgdGhpcyBpcyBhIHJhbmdlZCBicmVh a3BvaW50LCB0aGVuIHRoaXMgZmllbGQgY29udGFpbnMgdGhlCkBAIC0xMjk3LDEwICsxMjk2LDEw IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYnJlYWtwb2ludC5oCiAgCiAgICAv KiBUeXBlIG9mIGhhcmR3YXJlIHdhdGNocG9pbnQuICAqLwogICAgZW51bSB0YXJnZXRfaHdfYnBf dHlwZSB3YXRjaHBvaW50X3R5cGU7Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2Mt bGFuZy5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2MtbGFuZy5jCiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvYy1sYW5nLmMJMjAxNy0wMi0y NiAyMTo1OTozNi4wNDM3MTkzNjkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIv Yy1sYW5nLmMJMjAxNy0wMi0yNiAyMjowNDowMy40MjM2MDk4MzEgKzAxMDAKKy0tLSBnZGItNy45 OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9jLWxhbmcuYwkyMDE3LTA0LTIwIDIzOjA4OjU0LjE1MjM5 NDcyNyArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9jLWxhbmcuYwkyMDE3LTA0 LTIwIDIzOjA4OjU2Ljk3NDQxMDYyOSArMDIwMAogQEAgLTE4Niw3ICsxODYsNyBAQAogIAogIHZv aWQKQEAgLTEzMjgsMTAgKzEzMjcsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dk Yi9jLWxhbmcuYwogIAogIAkJaWYgKGdldF9kaXNjcmV0ZV9ib3VuZHMgKFRZUEVfSU5ERVhfVFlQ RSAoZXhwZWN0X3R5cGUpLAogIAkJCQkJICZsb3dfYm91bmQsICZoaWdoX2JvdW5kKSA8IDApCi1J bmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2MtbGFuZy5oCitJbmRleDogZ2RiLTcuOTku OTAuMjAxNzA0MjAvZ2RiL2MtbGFuZy5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAx NzAyMjYub3JpZy9nZGIvYy1sYW5nLmgJMjAxNy0wMi0yNiAyMTo1OTozNi4wNDM3MTkzNjkgKzAx MDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYy1sYW5nLmgJMjAxNy0wMi0yNiAyMjow NDowMy40MjM2MDk4MzEgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9j LWxhbmcuaAkyMDE3LTA0LTIwIDIzOjA4OjU0LjE1MjM5NDcyNyArMDIwMAorKysrIGdkYi03Ljk5 LjkwLjIwMTcwNDIwL2dkYi9jLWxhbmcuaAkyMDE3LTA0LTIwIDIzOjA4OjU2Ljk3NDQxMDYyOSAr MDIwMAogQEAgLTc3LDcgKzc3LDcgQEAKICAJCQkgICAgIHN0cnVjdCB1aV9maWxlICopOwogIApA QCAtMTM1MCwxMCArMTM0OSwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2Mt bGFuZy5oCiAgCQkJY29uc3QgY2hhciAqdXNlcl9lbmNvZGluZywKICAJCQlpbnQgZm9yY2VfZWxs aXBzZXMsCiAgCQkJY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpOwot SW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9jLXZhbHByaW50LmMKK0luZGV4OiBnZGIt Ny45OS45MC4yMDE3MDQyMC9nZGIvYy12YWxwcmludC5jCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcu MTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvYy12YWxwcmludC5jCTIwMTctMDItMjYgMjE6NTk6MzYu MDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2MtdmFscHJpbnQu YwkyMDE3LTAyLTI2IDIyOjA0OjAzLjQyNDYwOTgzOCArMDEwMAorLS0tIGdkYi03Ljk5LjkwLjIw MTcwNDIwLm9yaWcvZ2RiL2MtdmFscHJpbnQuYwkyMDE3LTA0LTIwIDIzOjA4OjU0LjE1MzM5NDcz MyArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9jLXZhbHByaW50LmMJMjAxNy0w NC0yMCAyMzowODo1Ni45NzU0MTA2MzQgKzAyMDAKIEBAIC0yNDQsNyArMjQ0LDcgQEAKICAgIGlm IChUWVBFX0xFTkdUSCAodHlwZSkgPiAwICYmIFRZUEVfTEVOR1RIICh1bnJlc29sdmVkX2VsdHR5 cGUpID4gMCkKICAgICAgewpAQCAtMTM5MiwxMCArMTM5MSwxMCBAQCBJbmRleDogZ2RiLTcuMTIu NTAuMjAxNzAyMjYvZ2RiL2MtdmFscHJpbnQuYwogIAkgICAgIHN0cnVjdCB1aV9maWxlICpzdHJl YW0sIGludCByZWN1cnNlLAogIAkgICAgIHN0cnVjdCB2YWx1ZSAqb3JpZ2luYWxfdmFsdWUsCiAg CSAgICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpCi1JbmRleDog Z2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2NwLWFiaS5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAx NzA0MjAvZ2RiL2NwLWFiaS5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYu b3JpZy9nZGIvY3AtYWJpLmMJMjAxNy0wMi0yNiAyMTo1OTozNi4wNDM3MTkzNjkgKzAxMDAKLSsr KyBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvY3AtYWJpLmMJMjAxNy0wMi0yNiAyMjowNDowMy40 MjQ2MDk4MzggKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9jcC1hYmku YwkyMDE3LTA0LTIwIDIzOjA4OjU0LjE1MzM5NDczMyArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIw MTcwNDIwL2dkYi9jcC1hYmkuYwkyMDE3LTA0LTIwIDIzOjA4OjU2Ljk3NTQxMDYzNCArMDIwMAog QEAgLTY0LDEyICs2NCwxMiBAQAogICAgcmV0dXJuICgqY3VycmVudF9jcF9hYmkuaXNfb3BlcmF0 b3JfbmFtZSkgKG5hbWUpOwogIH0KQEAgLTE0MjAsMTAgKzE0MTksMTAgQEAgSW5kZXg6IGdkYi03 LjEyLjUwLjIwMTcwMjI2L2dkYi9jcC1hYmkuYwogIHsKICAgIGlmICgoY3VycmVudF9jcF9hYmku dmlydHVhbF9mbl9maWVsZCkgPT0gTlVMTCkKICAgICAgcmV0dXJuIE5VTEw7Ci1JbmRleDogZ2Ri LTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2NwLWFiaS5oCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0 MjAvZ2RiL2NwLWFiaS5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3Jp Zy9nZGIvY3AtYWJpLmgJMjAxNy0wMi0yNiAyMTo1OTozNi4wNDM3MTkzNjkgKzAxMDAKLSsrKyBn ZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvY3AtYWJpLmgJMjAxNy0wMi0yNiAyMjowNDowMy40MjQ2 MDk4MzggKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9jcC1hYmkuaAky MDE3LTA0LTIwIDIzOjA4OjU0LjE1MzM5NDczMyArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcw NDIwL2dkYi9jcC1hYmkuaAkyMDE3LTA0LTIwIDIzOjA4OjU2Ljk3NTQxMDYzNCArMDIwMAogQEAg LTEwOCw3ICsxMDgsNyBAQAogIAkJCQkJICAgICBzdHJ1Y3QgZm5fZmllbGQgKmYsCiAgCQkJCQkg ICAgIGludCBqLApAQCAtMTQ2NywxMCArMTQ2NiwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAx NzAyMjYvZ2RiL2NwLWFiaS5oCiAgICB2b2lkICgqcHJpbnRfbWV0aG9kX3B0cikgKGNvbnN0IGdk Yl9ieXRlICpjb250ZW50cywKICAJCQkgICAgc3RydWN0IHR5cGUgKnR5cGUsCiAgCQkJICAgIHN0 cnVjdCB1aV9maWxlICpzdHJlYW0pOwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9j cC12YWxwcmludC5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2NwLXZhbHByaW50 LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9jcC12YWxw cmludC5jCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIu NTAuMjAxNzAyMjYvZ2RiL2NwLXZhbHByaW50LmMJMjAxNy0wMi0yNiAyMjowNDowMy40MjQ2MDk4 MzggKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9jcC12YWxwcmludC5j CTIwMTctMDQtMjAgMjM6MDg6NTQuMTUzMzk0NzMzICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAx NzA0MjAvZ2RiL2NwLXZhbHByaW50LmMJMjAxNy0wNC0yMCAyMzowODo1Ni45NzU0MTA2MzQgKzAy MDAKIEBAIC0zMzYsNyArMzM2LDcgQEAKICAJCX0KICAJICAgICAgZWxzZSBpZiAoaSA9PSB2cHRy X2ZpZWxkbm8gJiYgdHlwZSA9PSB2cHRyX2Jhc2V0eXBlKQpAQCAtMTQ4MCwxMCArMTQ3OSwxMCBA QCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2NwLXZhbHByaW50LmMKICAJCSAgc3Ry dWN0IHR5cGUgKmlfdHlwZSA9IFRZUEVfRklFTERfVFlQRSAodHlwZSwgaSk7CiAgCiAgCQkgIGlm ICh2YWxwcmludF9jaGVja192YWxpZGl0eSAoc3RyZWFtLCBpX3R5cGUsIGlfb2Zmc2V0LCB2YWwp KQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9kLWxhbmcuaAorSW5kZXg6IGdkYi03 Ljk5LjkwLjIwMTcwNDIwL2dkYi9kLWxhbmcuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUw LjIwMTcwMjI2Lm9yaWcvZ2RiL2QtbGFuZy5oCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5 ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2QtbGFuZy5oCTIwMTctMDItMjYg MjI6MDQ6MDMuNDI0NjA5ODM4ICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9n ZGIvZC1sYW5nLmgJMjAxNy0wNC0yMCAyMzowODo1NC4xNTMzOTQ3MzMgKzAyMDAKKysrKyBnZGIt Ny45OS45MC4yMDE3MDQyMC9nZGIvZC1sYW5nLmgJMjAxNy0wNC0yMCAyMzowODo1Ni45NzU0MTA2 MzQgKzAyMDAKIEBAIC04MSw3ICs4MSw3IEBACiAgLyogRGVmaW5lZCBpbiBkLXZhbHByaW50LmMg ICovCiAgCkBAIC0xNDkzLDEwICsxNDkyLDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIy Ni9nZGIvZC1sYW5nLmgKICAJCQkgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgaW50IHJlY3Vyc2Us CiAgCQkJIHN0cnVjdCB2YWx1ZSAqdmFsLAogIAkJCSBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRf b3B0aW9ucyAqb3B0aW9ucyk7Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2QtdmFs cHJpbnQuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9kLXZhbHByaW50LmMKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9kLXZhbHByaW50LmMJ MjAxNy0wMi0yNiAyMTo1OTozNi4wNDM3MTkzNjkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3 MDIyNi9nZGIvZC12YWxwcmludC5jCTIwMTctMDItMjYgMjI6MDQ6MDMuNDI0NjA5ODM4ICswMTAw CistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvZC12YWxwcmludC5jCTIwMTctMDQt MjAgMjM6MDg6NTQuMTU0Mzk0NzM5ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2Ri L2QtdmFscHJpbnQuYwkyMDE3LTA0LTIwIDIzOjA4OjU2Ljk3NjQxMDY0MCArMDIwMAogQEAgLTcz LDcgKzczLDcgQEAKICAKICAvKiBJbXBsZW1lbnRzIHRoZSBsYV92YWxfcHJpbnQgcm91dGluZSBm b3IgbGFuZ3VhZ2UgRC4gICovCkBAIC0xNTA2LDExICsxNTA1LDExIEBAIEluZGV4OiBnZGItNy4x Mi41MC4yMDE3MDIyNi9nZGIvZC12YWxwcmludC5jCiAgICAgICAgICAgICAgIENPUkVfQUREUiBh ZGRyZXNzLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKICAJICAgICBzdHJ1 Y3QgdmFsdWUgKnZhbCwKICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29w dGlvbnMgKm9wdGlvbnMpCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2R3YXJmMmxv Yy5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2R3YXJmMmxvYy5jCiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvZHdhcmYybG9jLmMJMjAxNy0w Mi0yNiAyMTo1OTozNi4wNDM3MTkzNjkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9n ZGIvZHdhcmYybG9jLmMJMjAxNy0wMi0yNiAyMjowNDowMy40MjY2MDk4NTIgKzAxMDAKLUBAIC0x NzU4LDEyICsxNzU4LDEyIEBACistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvZHdh cmYybG9jLmMJMjAxNy0wNC0yMCAyMzowODo1NC4xNTYzOTQ3NTAgKzAyMDAKKysrKyBnZGItNy45 OS45MC4yMDE3MDQyMC9nZGIvZHdhcmYybG9jLmMJMjAxNy0wNC0yMCAyMzoxMToyMy4xMzgyNjY1 ODIgKzAyMDAKK0BAIC0xNzYxLDEyICsxNzYxLDEyIEBACiAgcmVhZF9waWVjZWRfdmFsdWUgKHN0 cnVjdCB2YWx1ZSAqdikKICB7CiAgICBpbnQgaTsKQEAgLTE1MjUsNyArMTUyNCw3IEBAIEluZGV4 OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZHdhcmYybG9jLmMKICAgIHNpemVfdCBidWZmZXJf c2l6ZSA9IDA7CiAgICBzdGQ6OnZlY3RvcjxnZGJfYnl0ZT4gYnVmZmVyOwogICAgaW50IGJpdHNf YmlnX2VuZGlhbgotQEAgLTE3ODcsOCArMTc4Nyw4IEBACitAQCAtMTc5MCw4ICsxNzkwLDggQEAK ICAgIGZvciAoaSA9IDA7IGkgPCBjLT5uX3BpZWNlcyAmJiBvZmZzZXQgPCB0eXBlX2xlbjsgaSsr KQogICAgICB7CiAgICAgICAgc3RydWN0IGR3YXJmX2V4cHJfcGllY2UgKnAgPSAmYy0+cGllY2Vz W2ldOwpAQCAtMTUzNiw3ICsxNTM1LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dk Yi9kd2FyZjJsb2MuYwogICAgICAgIGNvbnN0IGdkYl9ieXRlICppbnRlcm1lZGlhdGVfYnVmZmVy OwogIAogICAgICAgIC8qIENvbXB1dGUgc2l6ZSwgc291cmNlLCBhbmQgZGVzdGluYXRpb24gb2Zm c2V0cyBmb3IgY29weWluZywgaW4KLUBAIC0xOTI3LDEyICsxOTI3LDEyIEBACitAQCAtMTkzMCwx MiArMTkzMCwxMiBAQAogIHdyaXRlX3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp0bywgc3Ry dWN0IHZhbHVlICpmcm9tKQogIHsKICAgIGludCBpOwpAQCAtMTU1MSw3ICsxNTUwLDcgQEAgSW5k ZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9kd2FyZjJsb2MuYwogICAgc2l6ZV90IGJ1ZmZl cl9zaXplID0gMDsKICAgIHN0ZDo6dmVjdG9yPGdkYl9ieXRlPiBidWZmZXI7CiAgICBpbnQgYml0 c19iaWdfZW5kaWFuCi1AQCAtMTk1MSw4ICsxOTUxLDggQEAKK0BAIC0xOTU0LDggKzE5NTQsOCBA QAogICAgZm9yIChpID0gMDsgaSA8IGMtPm5fcGllY2VzICYmIG9mZnNldCA8IHR5cGVfbGVuOyBp KyspCiAgICAgIHsKICAgICAgICBzdHJ1Y3QgZHdhcmZfZXhwcl9waWVjZSAqcCA9ICZjLT5waWVj ZXNbaV07CkBAIC0xNTYyLDcgKzE1NjEsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYv Z2RiL2R3YXJmMmxvYy5jCiAgICAgICAgaW50IG5lZWRfYml0d2lzZTsKICAgICAgICBjb25zdCBn ZGJfYnl0ZSAqc291cmNlX2J1ZmZlcjsKICAKLUBAIC0yMDcxLDcgKzIwNzEsNyBAQAorQEAgLTIw NzQsNyArMjA3NCw3IEBACiAgCiAgc3RhdGljIGludAogIGNoZWNrX3BpZWNlZF9zeW50aGV0aWNf cG9pbnRlciAoY29uc3Qgc3RydWN0IHZhbHVlICp2YWx1ZSwgTE9OR0VTVCBiaXRfb2Zmc2V0LApA QCAtMTU3MSw3ICsxNTcwLDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9kd2Fy ZjJsb2MuYwogIHsKICAgIHN0cnVjdCBwaWVjZV9jbG9zdXJlICpjCiAgICAgID0gKHN0cnVjdCBw aWVjZV9jbG9zdXJlICopIHZhbHVlX2NvbXB1dGVkX2Nsb3N1cmUgKHZhbHVlKTsKLUBAIC0yMDg0 LDcgKzIwODQsNyBAQAorQEAgLTIwODcsNyArMjA4Nyw3IEBACiAgICBmb3IgKGkgPSAwOyBpIDwg Yy0+bl9waWVjZXMgJiYgYml0X2xlbmd0aCA+IDA7IGkrKykKICAgICAgewogICAgICAgIHN0cnVj dCBkd2FyZl9leHByX3BpZWNlICpwID0gJmMtPnBpZWNlc1tpXTsKQEAgLTE1ODAsNyArMTU3OSw3 IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZHdhcmYybG9jLmMKICAKICAgICAg ICBpZiAoYml0X29mZnNldCA+IDApCiAgCXsKLUBAIC0yMTg2LDggKzIxODYsOCBAQAorQEAgLTIx OTUsOCArMjE5NSw4IEBACiAgICBzdHJ1Y3QgdHlwZSAqdHlwZTsKICAgIHN0cnVjdCBmcmFtZV9p bmZvICpmcmFtZTsKICAgIHN0cnVjdCBkd2FyZjJfbG9jZXhwcl9iYXRvbiBiYXRvbjsKQEAgLTE1 OTEsNyArMTU5MCw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZHdhcmYybG9j LmMKICAgIHN0cnVjdCBkd2FyZl9leHByX3BpZWNlICpwaWVjZSA9IE5VTEw7CiAgICBMT05HRVNU IGJ5dGVfb2Zmc2V0OwogICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXI7Ci1AQCAtMjIwNCw3 ICsyMjA0LDcgQEAKK0BAIC0yMjEzLDcgKzIyMTMsNyBAQAogICAgZm9yIChpID0gMDsgaSA8IGMt Pm5fcGllY2VzICYmIGJpdF9sZW5ndGggPiAwOyBpKyspCiAgICAgIHsKICAgICAgICBzdHJ1Y3Qg ZHdhcmZfZXhwcl9waWVjZSAqcCA9ICZjLT5waWVjZXNbaV07CkBAIC0xNjAwLDIwICsxNTk5LDI0 IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZHdhcmYybG9jLmMKICAKICAgICAg ICBpZiAoYml0X29mZnNldCA+IDApCiAgCXsKLUBAIC0yNDc3LDcgKzI0NzcsNyBAQAorQEAgLTI1 MDQsOSArMjUwNCw5IEBACisgCWNhc2UgRFdBUkZfVkFMVUVfU1RBQ0s6CisgCSAgewogIAkgICAg c3RydWN0IHZhbHVlICp2YWx1ZSA9IGN0eC5mZXRjaCAoMCk7Ci0gCSAgICBnZGJfYnl0ZSAqY29u dGVudHM7Ci0gCSAgICBjb25zdCBnZGJfYnl0ZSAqdmFsX2J5dGVzOwogLQkgICAgc2l6ZV90IG4g PSBUWVBFX0xFTkdUSCAodmFsdWVfdHlwZSAodmFsdWUpKTsKKy0JICAgIHNpemVfdCBsZW4gPSBU WVBFX0xFTkdUSCAoc3Vib2JqX3R5cGUpOworLQkgICAgc2l6ZV90IG1heCA9IFRZUEVfTEVOR1RI ICh0eXBlKTsKICsJICAgIFVMT05HRVNUIG4gPSBUWVBFX0xFTkdUSCAodmFsdWVfdHlwZSAodmFs dWUpKTsKKysJICAgIFVMT05HRVNUIGxlbiA9IFRZUEVfTEVOR1RIIChzdWJvYmpfdHlwZSk7Cisr CSAgICBVTE9OR0VTVCBtYXggPSBUWVBFX0xFTkdUSCAodHlwZSk7CisgCSAgICBzdHJ1Y3QgZ2Ri YXJjaCAqb2JqZmlsZV9nZGJhcmNoID0gZ2V0X29iamZpbGVfYXJjaCAob2JqZmlsZSk7CiAgCSAg ICBzdHJ1Y3QgY2xlYW51cCAqY2xlYW51cDsKICAKLSAJICAgIGlmIChieXRlX29mZnNldCArIFRZ UEVfTEVOR1RIICh0eXBlKSA+IG4pCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2R3 YXJmMnJlYWQuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9kd2FyZjJyZWFkLmMK ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9kd2FyZjJyZWFk LmMJMjAxNy0wMi0yNiAyMTo1OTozNi4wNDM3MTkzNjkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4y MDE3MDIyNi9nZGIvZHdhcmYycmVhZC5jCTIwMTctMDItMjYgMjI6MDQ6MDMuNDMxNjA5ODg4ICsw MTAwCi1AQCAtMTk2OSwxMiArMTk2OSwxMiBAQAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9y aWcvZ2RiL2R3YXJmMnJlYWQuYwkyMDE3LTA0LTIwIDIzOjA4OjU0LjE2MDM5NDc3MiArMDIwMAor KysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9kd2FyZjJyZWFkLmMJMjAxNy0wNC0yMCAyMzow ODo1Ni45ODE0MTA2NjggKzAyMDAKK0BAIC0yMDY0LDEyICsyMDY0LDEyIEBACiAgfQogIAogIHN0 YXRpYyB2b2lkCkBAIC0xNjMwLDcgKzE2MzMsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAy MjYvZ2RiL2R3YXJmMnJlYWQuYwogIH0KICAKICBzdGF0aWMgdm9pZAotQEAgLTEyNzg5LDggKzEy Nzg5LDggQEAKK0BAIC0xMjg2Myw4ICsxMjg2Myw4IEBACiAgCSAgICAgICAgIG9iamVjdCwgYW5k IHRoZW4gc3VidHJhY3Qgb2ZmIHRoZSBudW1iZXIgb2YgYml0cyBvZgogIAkgICAgICAgICB0aGUg ZmllbGQgaXRzZWxmLiAgVGhlIHJlc3VsdCBpcyB0aGUgYml0IG9mZnNldCBvZgogIAkgICAgICAg ICB0aGUgTFNCIG9mIHRoZSBmaWVsZC4gICovCkBAIC0xNjQxLDEwICsxNjQ0LDEwIEBAIEluZGV4 OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZHdhcmYycmVhZC5jCiAgCiAgCSAgICAgIGF0dHIg PSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF9ieXRlX3NpemUsIGN1KTsKICAJICAgICAgaWYgKGF0 dHIpCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2V2YWwuYworSW5kZXg6IGdkYi03 Ljk5LjkwLjIwMTcwNDIwL2dkYi9ldmFsLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4y MDE3MDIyNi5vcmlnL2dkYi9ldmFsLmMJMjAxNy0wMi0yNiAyMTo1OTozNi4wNDM3MTkzNjkgKzAx MDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZXZhbC5jCTIwMTctMDItMjYgMjI6MDQ6 MDMuNDMxNjA5ODg4ICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvZXZh bC5jCTIwMTctMDQtMjAgMjM6MDg6NTQuMTYyMzk0Nzg0ICswMjAwCisrKysgZ2RiLTcuOTkuOTAu MjAxNzA0MjAvZ2RiL2V2YWwuYwkyMDE3LTA0LTIwIDIzOjA4OjU2Ljk4MjQxMDY3NCArMDIwMAog QEAgLTI5Nyw3ICsyOTcsOCBAQAogICAgd2hpbGUgKC0tbmFyZ3MgPj0gMCkKICAgICAgewpAQCAt MTY5NywxMCArMTcwMCwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2V2YWwu YwogIAkgIExPTkdFU1QgbG93X2JvdW5kLCBoaWdoX2JvdW5kLCBpbmRleDsKICAKICAJICBpZiAo Z2V0X2Rpc2NyZXRlX2JvdW5kcyAocmFuZ2VfdHlwZSwgJmxvd19ib3VuZCwgJmhpZ2hfYm91bmQp IDwgMCkKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZi1sYW5nLmMKK0luZGV4OiBn ZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZi1sYW5nLmMKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4x Mi41MC4yMDE3MDIyNi5vcmlnL2dkYi9mLWxhbmcuYwkyMDE3LTAyLTI2IDIxOjU5OjM2LjA0Mzcx OTM2OSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9mLWxhbmcuYwkyMDE3LTAy LTI2IDIyOjA0OjAzLjQzMjYwOTg5NSArMDEwMAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9y aWcvZ2RiL2YtbGFuZy5jCTIwMTctMDQtMjAgMjM6MDg6NTQuMTYyMzk0Nzg0ICswMjAwCisrKysg Z2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2YtbGFuZy5jCTIwMTctMDQtMjAgMjM6MDg6NTYuOTgy NDEwNjc0ICswMjAwCiBAQCAtMTAzLDcgKzEwMyw3IEBACiAgCiAgc3RhdGljIHZvaWQKQEAgLTE3 MTAsMTAgKzE3MTMsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9mLWxhbmcu YwogIAkgICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpCiAgewog ICAgY29uc3QgY2hhciAqdHlwZV9lbmNvZGluZyA9IGZfZ2V0X2VuY29kaW5nICh0eXBlKTsKLUlu ZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZi1sYW5nLmgKK0luZGV4OiBnZGItNy45OS45 MC4yMDE3MDQyMC9nZGIvZi1sYW5nLmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3 MDIyNi5vcmlnL2dkYi9mLWxhbmcuaAkyMDE3LTAyLTI2IDIxOjU5OjM2LjA0MzcxOTM2OSArMDEw MAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9mLWxhbmcuaAkyMDE3LTAyLTI2IDIyOjA0 OjAzLjQzMjYwOTg5NSArMDEwMAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2Yt bGFuZy5oCTIwMTctMDQtMjAgMjM6MDg6NTQuMTYzMzk0Nzg5ICswMjAwCisrKysgZ2RiLTcuOTku OTAuMjAxNzA0MjAvZ2RiL2YtbGFuZy5oCTIwMTctMDQtMjAgMjM6MDg6NTYuOTgyNDEwNjc0ICsw MjAwCiBAQCAtMzAsNyArMzAsNyBAQAogIGV4dGVybiB2b2lkIGZfcHJpbnRfdHlwZSAoc3RydWN0 IHR5cGUgKiwgY29uc3QgY2hhciAqLCBzdHJ1Y3QgdWlfZmlsZSAqLCBpbnQsCiAgCQkJICBpbnQs IGNvbnN0IHN0cnVjdCB0eXBlX3ByaW50X29wdGlvbnMgKik7CkBAIC0xNzIzLDEwICsxNzI2LDEw IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZi1sYW5nLmgKICAJCQkgc3RydWN0 IHVpX2ZpbGUgKiwgaW50LAogIAkJCSBzdHJ1Y3QgdmFsdWUgKiwKICAJCQkgY29uc3Qgc3RydWN0 IHZhbHVlX3ByaW50X29wdGlvbnMgKik7Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2Ri L2YtdmFscHJpbnQuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9mLXZhbHByaW50 LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9mLXZhbHBy aW50LmMJMjAxNy0wMi0yNiAyMTo1OTozNi4wNDM3MTkzNjkgKzAxMDAKLSsrKyBnZGItNy4xMi41 MC4yMDE3MDIyNi9nZGIvZi12YWxwcmludC5jCTIwMTctMDItMjYgMjI6MDQ6MDMuNDMyNjA5ODk1 ICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvZi12YWxwcmludC5jCTIw MTctMDQtMjAgMjM6MDg6NTQuMTYzMzk0Nzg5ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0 MjAvZ2RiL2YtdmFscHJpbnQuYwkyMDE3LTA0LTIwIDIzOjA4OjU2Ljk4MjQxMDY3NCArMDIwMAog QEAgLTM4LDcgKzM4LDcgQEAKICBzdGF0aWMgdm9pZCBpbmZvX2NvbW1vbl9jb21tYW5kIChjaGFy ICosIGludCk7CiAgc3RhdGljIHZvaWQgZjc3X2dldF9keW5hbWljX2xlbmd0aF9vZl9hZ2dyZWdh dGUgKHN0cnVjdCB0eXBlICopOwpAQCAtMTc4MywxMSArMTc4NiwxMSBAQCBJbmRleDogZ2RiLTcu MTIuNTAuMjAxNzAyMjYvZ2RiL2YtdmFscHJpbnQuYwogIAkgICAgIENPUkVfQUREUiBhZGRyZXNz LCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKICAJICAgICBzdHJ1Y3QgdmFs dWUgKm9yaWdpbmFsX3ZhbHVlLAogIAkgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRp b25zICpvcHRpb25zKQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9maW5kdmFyLmMK K0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZmluZHZhci5jCiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvZmluZHZhci5jCTIwMTctMDItMjYgMjE6 NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2ZpbmR2 YXIuYwkyMDE3LTAyLTI2IDIyOjA0OjAzLjQzMjYwOTg5NSArMDEwMAotQEAgLTgxOSw3ICs4MTks NyBAQAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2ZpbmR2YXIuYwkyMDE3LTA0 LTIwIDIzOjA4OjU0LjE2MzM5NDc4OSArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dk Yi9maW5kdmFyLmMJMjAxNy0wNC0yMCAyMzowODo1Ni45ODM0MTA2ODAgKzAyMDAKK0BAIC04MTcs NyArODE3LDcgQEAKICBkZWZhdWx0X3ZhbHVlX2Zyb21fcmVnaXN0ZXIgKHN0cnVjdCBnZGJhcmNo ICpnZGJhcmNoLCBzdHJ1Y3QgdHlwZSAqdHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGludCByZWdudW0sIHN0cnVjdCBmcmFtZV9pZCBmcmFtZV9pZCkKICB7CkBAIC0xNzk2LDcg KzE3OTksNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2ZpbmR2YXIuYwogICAg c3RydWN0IHZhbHVlICp2YWx1ZSA9IGFsbG9jYXRlX3ZhbHVlICh0eXBlKTsKICAgIHN0cnVjdCBm cmFtZV9pbmZvICpmcmFtZTsKICAKLUBAIC04NjMsNyArODYzLDcgQEAKK0BAIC04NjEsNyArODYx LDcgQEAKICAgIExPTkdFU1Qgb2Zmc2V0ID0gMDsKICAgIExPTkdFU1QgcmVnX29mZnNldCA9IHZh bHVlX29mZnNldCAodmFsdWUpOwogICAgaW50IHJlZ251bSA9IFZBTFVFX1JFR05VTSAodmFsdWUp OwpAQCAtMTgwNSw3ICsxODA4LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9m aW5kdmFyLmMKICAKICAgIGdkYl9hc3NlcnQgKFZBTFVFX0xWQUwgKHZhbHVlKSA9PSBsdmFsX3Jl Z2lzdGVyKTsKICAKLUBAIC04NzgsNyArODc4LDcgQEAKK0BAIC04NzYsNyArODc2LDcgQEAKICAg IHdoaWxlIChsZW4gPiAwKQogICAgICB7CiAgICAgICAgc3RydWN0IHZhbHVlICpyZWd2YWwgPSBn ZXRfZnJhbWVfcmVnaXN0ZXJfdmFsdWUgKGZyYW1lLCByZWdudW0pOwpAQCAtMTgxNCwxMSArMTgx NywxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2ZpbmR2YXIuYwogIAogICAg ICAgIC8qIElmIHRoZSByZWdpc3RlciBsZW5ndGggaXMgbGFyZ2VyIHRoYW4gdGhlIG51bWJlciBv ZiBieXRlcwogICAgICAgICAgIHJlbWFpbmluZyB0byBjb3B5LCB0aGVuIG9ubHkgY29weSB0aGUg YXBwcm9wcmlhdGUgYnl0ZXMuICAqLwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9m cmFtZS5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2ZyYW1lLmMKID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9mcmFtZS5jCTIwMTctMDItMjYg MjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2Zy YW1lLmMJMjAxNy0wMi0yNiAyMjowNDowMy40MzM2MDk5MDIgKzAxMDAKLUBAIC0xMzU4LDcgKzEz NTgsNyBAQAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2ZyYW1lLmMJMjAxNy0w NC0yMCAyMzowODo1NC4xNjQzOTQ3OTUgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9n ZGIvZnJhbWUuYwkyMDE3LTA0LTIwIDIzOjA4OjU2Ljk4MzQxMDY4MCArMDIwMAorQEAgLTEzNzUs NyArMTM3NSw3IEBACiAgCiAgaW50CiAgZ2V0X2ZyYW1lX3JlZ2lzdGVyX2J5dGVzIChzdHJ1Y3Qg ZnJhbWVfaW5mbyAqZnJhbWUsIGludCByZWdudW0sCkBAIC0xODI3LDcgKzE4MzAsNyBAQCBJbmRl eDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2ZyYW1lLmMKICAJCQkgIGludCAqb3B0aW1pemVk cCwgaW50ICp1bmF2YWlsYWJsZXApCiAgewogICAgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2ggPSBn ZXRfZnJhbWVfYXJjaCAoZnJhbWUpOwotQEAgLTEzODcsNyArMTM4Nyw3IEBACitAQCAtMTQwNCw3 ICsxNDA0LDcgQEAKICAgICAgfQogICAgaWYgKGxlbiA+IG1heHNpemUpCiAgICAgIGVycm9yIChf KCJCYWQgZGVidWcgaW5mb3JtYXRpb24gZGV0ZWN0ZWQ6ICIKQEAgLTE4MzYsMTAgKzE4MzksMTAg QEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9mcmFtZS5jCiAgCiAgICAvKiBDb3B5 IHRoZSBkYXRhLiAgKi8KICAgIHdoaWxlIChsZW4gPiAwKQotSW5kZXg6IGdkYi03LjEyLjUwLjIw MTcwMjI2L2dkYi9mcmFtZS5oCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2ZyYW1l LmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9mcmFtZS5o CTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAx NzAyMjYvZ2RiL2ZyYW1lLmgJMjAxNy0wMi0yNiAyMjowNDowMy40MzM2MDk5MDIgKzAxMDAKKy0t LSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9mcmFtZS5oCTIwMTctMDQtMjAgMjM6MDg6 NTQuMTY0Mzk0Nzk1ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2ZyYW1lLmgJ MjAxNy0wNC0yMCAyMzowODo1Ni45ODQ0MTA2ODUgKzAyMDAKIEBAIC02MDAsNyArNjAwLDcgQEAK ICAgICBjb250ZW50cyBhcmUgb3B0aW1pemVkIG91dCBvciB1bmF2YWlsYWJsZSwgc2V0ICpPUFRJ TUlaRURQLAogICAgICpVTkFWQUlMQUJMRVAgYWNjb3JkaW5nbHkuICAqLwpAQCAtMTg0OSwxMSAr MTg1MiwxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2ZyYW1lLmgKICAJCQkJ ICAgICBnZGJfYnl0ZSAqbXlhZGRyLAogIAkJCQkgICAgIGludCAqb3B0aW1pemVkcCwgaW50ICp1 bmF2YWlsYWJsZXApOwogIAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nZGJ0eXBl cy5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2dkYnR5cGVzLmMKID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9nZGJ0eXBlcy5jCTIwMTctMDIt MjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2Ri L2dkYnR5cGVzLmMJMjAxNy0wMi0yNiAyMjowNDowMy40MzQ2MDk5MDkgKzAxMDAKLUBAIC0yNzgy LDcgKzI3ODIsNyBAQAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2dkYnR5cGVz LmMJMjAxNy0wNC0yMCAyMzowODo1NC4xNjYzOTQ4MDYgKzAyMDAKKysrKyBnZGItNy45OS45MC4y MDE3MDQyMC9nZGIvZ2RidHlwZXMuYwkyMDE3LTA0LTIwIDIzOjA4OjU2Ljk4NTQxMDY5MSArMDIw MAorQEAgLTI4MDgsNyArMjgwOCw3IEBACiAgICAgbGVhc3QgYXMgbG9uZyBhcyBPQkpGSUxFLiAg Ki8KICAKICBzdHJ1Y3QgdHlwZSAqCkBAIC0xODYyLDcgKzE4NjUsNyBAQCBJbmRleDogZ2RiLTcu MTIuNTAuMjAxNzAyMjYvZ2RiL2dkYnR5cGVzLmMKICAJICAgY29uc3QgY2hhciAqbmFtZSkKICB7 CiAgICBzdHJ1Y3QgdHlwZSAqdHlwZTsKLUBAIC0zMDkxLDggKzMwOTEsOCBAQAorQEAgLTMxMTcs OCArMzExNyw4IEBACiAgCiAgc3RhdGljIGludAogIGlzX3VuaXF1ZV9hbmNlc3Rvcl93b3JrZXIg KHN0cnVjdCB0eXBlICpiYXNlLCBzdHJ1Y3QgdHlwZSAqZGNsYXNzLApAQCAtMTg3Myw3ICsxODc2 LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nZGJ0eXBlcy5jCiAgCQkJICAg Q09SRV9BRERSIGFkZHJlc3MsIHN0cnVjdCB2YWx1ZSAqdmFsKQogIHsKICAgIGludCBpLCBjb3Vu dCA9IDA7Ci1AQCAtMzEwMyw3ICszMTAzLDcgQEAKK0BAIC0zMTI5LDcgKzMxMjksNyBAQAogICAg Zm9yIChpID0gMDsgaSA8IFRZUEVfTl9CQVNFQ0xBU1NFUyAoZGNsYXNzKSAmJiBjb3VudCA8IDI7 ICsraSkKICAgICAgewogICAgICAgIHN0cnVjdCB0eXBlICppdGVyOwpAQCAtMTg4Miw3ICsxODg1 LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nZGJ0eXBlcy5jCiAgCiAgICAg ICAgaXRlciA9IGNoZWNrX3R5cGVkZWYgKFRZUEVfQkFTRUNMQVNTIChkY2xhc3MsIGkpKTsKICAK LUBAIC0zMTQ0LDcgKzMxNDQsNyBAQAorQEAgLTMxNzAsNyArMzE3MCw3IEBACiAgaW50CiAgaXNf dW5pcXVlX2FuY2VzdG9yIChzdHJ1Y3QgdHlwZSAqYmFzZSwgc3RydWN0IHZhbHVlICp2YWwpCiAg ewpAQCAtMTg5MSw3ICsxODk0LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9n ZGJ0eXBlcy5jCiAgCiAgICByZXR1cm4gaXNfdW5pcXVlX2FuY2VzdG9yX3dvcmtlciAoYmFzZSwg dmFsdWVfdHlwZSAodmFsKSwgJm9mZnNldCwKICAJCQkJICAgIHZhbHVlX2NvbnRlbnRzX2Zvcl9w cmludGluZyAodmFsKSwKLUBAIC00MzMyLDcgKzQzMzIsNyBAQAorQEAgLTQ0MDksNyArNDQwOSw3 IEBACiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgIHB1dHNfZmlsdGVyZWQgKCJcbiIpOwpAQCAt MTkwMCw3ICsxOTAzLDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nZGJ0eXBl cy5jCiAgICBpZiAoVFlQRV9PQkpGSUxFX09XTkVEICh0eXBlKSkKICAgICAgewogICAgICAgIHBy aW50ZmlfZmlsdGVyZWQgKHNwYWNlcywgIm9iamZpbGUgIik7Ci1AQCAtNDc5Miw3ICs0NzkyLDcg QEAKK0BAIC00ODY5LDcgKzQ4NjksNyBAQAogIAogIHN0cnVjdCB0eXBlICoKICBhcmNoX3R5cGUg KHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLApAQCAtMTkwOSwxMSArMTkxMiwxMSBAQCBJbmRleDog Z2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2dkYnR5cGVzLmMKICB7CiAgICBzdHJ1Y3QgdHlwZSAq dHlwZTsKICAKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZ2RidHlwZXMuaAorSW5k ZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9nZGJ0eXBlcy5oCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Z2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvZ2RidHlwZXMuaAkyMDE3LTAyLTI2IDIxOjU5 OjM2LjA0MzcxOTM2OSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nZGJ0eXBl cy5oCTIwMTctMDItMjYgMjI6MDQ6MDMuNDM1NjA5OTE2ICswMTAwCi1AQCAtNzgyLDcgKzc4Miw3 IEBACistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvZ2RidHlwZXMuaAkyMDE3LTA0 LTIwIDIzOjA4OjU0LjE2NzM5NDgxMiArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dk Yi9nZGJ0eXBlcy5oCTIwMTctMDQtMjAgMjM6MDg6NTYuOTg1NDEwNjkxICswMjAwCitAQCAtNzg3 LDcgKzc4Nyw3IEBACiAgICAgICB0eXBlX2xlbmd0aF91bml0cyBmdW5jdGlvbiBzaG91bGQgYmUg dXNlZCBpbiBvcmRlciB0byBnZXQgdGhlIGxlbmd0aAogICAgICAgZXhwcmVzc2VkIGluIHRhcmdl dCBhZGRyZXNzYWJsZSBtZW1vcnkgdW5pdHMuICAqLwogIApAQCAtMTkyMiw3ICsxOTI1LDcgQEAg SW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nZGJ0eXBlcy5oCiAgCiAgICAvKiAqIENv cmUgdHlwZSwgc2hhcmVkIGJ5IGEgZ3JvdXAgb2YgcXVhbGlmaWVkIHR5cGVzLiAgKi8KICAKLUBA IC0xNjU4LDcgKzE2NTgsNyBAQAorQEAgLTE2NjUsNyArMTY2NSw3IEBACiAgCiAgLyogKiBIZWxw ZXIgZnVuY3Rpb24gdG8gY29uc3RydWN0IG9iamZpbGUtb3duZWQgdHlwZXMuICAqLwogIApAQCAt MTkzMSw3ICsxOTM0LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nZGJ0eXBl cy5oCiAgCQkJICAgICAgIGNvbnN0IGNoYXIgKik7CiAgZXh0ZXJuIHN0cnVjdCB0eXBlICppbml0 X2ludGVnZXJfdHlwZSAoc3RydWN0IG9iamZpbGUgKiwgaW50LCBpbnQsCiAgCQkJCSAgICAgICBj b25zdCBjaGFyICopOwotQEAgLTE2NzUsNyArMTY3NSw3IEBACitAQCAtMTY4Miw3ICsxNjgyLDcg QEAKICAJCQkJICAgICAgIHN0cnVjdCB0eXBlICopOwogIAogIC8qIEhlbHBlciBmdW5jdGlvbnMg dG8gY29uc3RydWN0IGFyY2hpdGVjdHVyZS1vd25lZCB0eXBlcy4gICovCkBAIC0xOTQwLDEwICsx OTQzLDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZ2RidHlwZXMuaAogIAkJ CSAgICAgICBjb25zdCBjaGFyICopOwogIGV4dGVybiBzdHJ1Y3QgdHlwZSAqYXJjaF9pbnRlZ2Vy X3R5cGUgKHN0cnVjdCBnZGJhcmNoICosIGludCwgaW50LAogIAkJCQkgICAgICAgY29uc3QgY2hh ciAqKTsKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZ251LXYyLWFiaS5jCitJbmRl eDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2dudS12Mi1hYmkuYwogPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2RiL2dudS12Mi1hYmkuYwkyMDE3LTAyLTI2IDIx OjU5OjM2LjA0MzcxOTM2OSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nbnUt djItYWJpLmMJMjAxNy0wMi0yNiAyMjowNDowMy40MzU2MDk5MTYgKzAxMDAKKy0tLSBnZGItNy45 OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9nbnUtdjItYWJpLmMJMjAxNy0wNC0yMCAyMzowODo1NC4x NjczOTQ4MTIgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZ251LXYyLWFiaS5j CTIwMTctMDQtMjAgMjM6MDg6NTYuOTg1NDEwNjkxICswMjAwCiBAQCAtODIsNyArODIsNyBAQAog ICAgIFRZUEUgaXMgdGhlIHR5cGUgaW4gd2hpY2ggRiBpcyBsb2NhdGVkLiAgKi8KICBzdGF0aWMg c3RydWN0IHZhbHVlICoKQEAgLTE5ODEsMTEgKzE5ODQsMTEgQEAgSW5kZXg6IGdkYi03LjEyLjUw LjIwMTcwMjI2L2dkYi9nbnUtdjItYWJpLmMKICAJICAgIGdudXYyX2Jhc2VjbGFzc19vZmZzZXQg KHR5cGUsIGksIHZhbGFkZHIsCiAgCQkJCSAgICBlbWJlZGRlZF9vZmZzZXQsIGFkZHJlc3MsIHZh bCk7CiAgCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2dudS12My1hYmkuYworSW5k ZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9nbnUtdjMtYWJpLmMKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9nbnUtdjMtYWJpLmMJMjAxNy0wMi0yNiAy MTo1OTozNi4wNDM3MTkzNjkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZ251 LXYzLWFiaS5jCTIwMTctMDItMjYgMjI6MDQ6MDMuNDM1NjA5OTE2ICswMTAwCi1AQCAtMTA4LDcg KzEwOCw3IEBACistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvZ251LXYzLWFiaS5j CTIwMTctMDQtMjAgMjM6MDg6NTQuMTY4Mzk0ODE3ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAx NzA0MjAvZ2RiL2dudS12My1hYmkuYwkyMDE3LTA0LTIwIDIzOjA4OjU2Ljk4NjQxMDY5NyArMDIw MAorQEAgLTEwOSw3ICsxMDksNyBAQAogIHsKICAgIHN0cnVjdCB0eXBlICp0OwogICAgc3RydWN0 IGZpZWxkICpmaWVsZF9saXN0LCAqZmllbGQ7CkBAIC0xOTk0LDcgKzE5OTcsNyBAQCBJbmRleDog Z2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2dudS12My1hYmkuYwogIAogICAgc3RydWN0IHR5cGUg KnZvaWRfcHRyX3R5cGUKICAgICAgPSBidWlsdGluX3R5cGUgKGFyY2gpLT5idWlsdGluX2RhdGFf cHRyOwotQEAgLTE4NCw3ICsxODQsNyBAQAorQEAgLTE4NSw3ICsxODUsNyBAQAogIC8qIFJldHVy biB0aGUgb2Zmc2V0IGZyb20gdGhlIHN0YXJ0IG9mIHRoZSBpbWFnaW5hcnkgYHN0cnVjdAogICAg IGdkYl9nbnVfdjNfYWJpX3Z0YWJsZScgb2JqZWN0IHRvIHRoZSB2dGFibGUncyAiYWRkcmVzcyBw b2ludCIKICAgICAoaS5lLiwgd2hlcmUgb2JqZWN0cycgdmlydHVhbCB0YWJsZSBwb2ludGVycyBw b2ludCkuICAqLwpAQCAtMjAwMyw3ICsyMDA2LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcw MjI2L2dkYi9nbnUtdjMtYWJpLmMKICB2dGFibGVfYWRkcmVzc19wb2ludF9vZmZzZXQgKHN0cnVj dCBnZGJhcmNoICpnZGJhcmNoKQogIHsKICAgIHN0cnVjdCB0eXBlICp2dGFibGVfdHlwZQotQEAg LTQwNyw3ICs0MDcsNyBAQAorQEAgLTQwOCw3ICs0MDgsNyBAQAogIHN0YXRpYyBzdHJ1Y3QgdmFs dWUgKgogIGdudXYzX3ZpcnR1YWxfZm5fZmllbGQgKHN0cnVjdCB2YWx1ZSAqKnZhbHVlX3AsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGZuX2ZpZWxkICpmLCBpbnQgaiwKQEAgLTIw MTIsNyArMjAxNSw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZ251LXYzLWFi aS5jCiAgewogICAgc3RydWN0IHR5cGUgKnZhbHVlc190eXBlID0gY2hlY2tfdHlwZWRlZiAodmFs dWVfdHlwZSAoKnZhbHVlX3ApKTsKICAgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoOwotQEAgLTQz Nyw3ICs0MzcsNyBAQAorQEAgLTQzOCw3ICs0MzgsNyBAQAogIAogICAgIC0xIGlzIHJldHVybmVk IG9uIGVycm9yLiAgKi8KICAKQEAgLTIwMjEsNyArMjAyNCw3IEBAIEluZGV4OiBnZGItNy4xMi41 MC4yMDE3MDIyNi9nZGIvZ251LXYzLWFiaS5jCiAgZ251djNfYmFzZWNsYXNzX29mZnNldCAoc3Ry dWN0IHR5cGUgKnR5cGUsIGludCBpbmRleCwKICAJCQljb25zdCBiZmRfYnl0ZSAqdmFsYWRkciwg TE9OR0VTVCBlbWJlZGRlZF9vZmZzZXQsCiAgCQkJQ09SRV9BRERSIGFkZHJlc3MsIGNvbnN0IHN0 cnVjdCB2YWx1ZSAqdmFsKQotQEAgLTQ0Niw3ICs0NDYsNyBAQAorQEAgLTQ0Nyw3ICs0NDcsNyBA QAogICAgc3RydWN0IHR5cGUgKnB0cl90eXBlOwogICAgc3RydWN0IHZhbHVlICp2dGFibGU7CiAg ICBzdHJ1Y3QgdmFsdWUgKnZiYXNlX2FycmF5OwpAQCAtMjAzMCw3ICsyMDMzLDcgQEAgSW5kZXg6 IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nbnUtdjMtYWJpLmMKICAKICAgIC8qIERldGVybWlu ZSBhcmNoaXRlY3R1cmUuICAqLwogICAgZ2RiYXJjaCA9IGdldF90eXBlX2FyY2ggKHR5cGUpOwot QEAgLTQ2OSw3ICs0NjksNyBAQAorQEAgLTQ3MCw3ICs0NzAsNyBAQAogICAgY3VyX2Jhc2Vfb2Zm c2V0ID0gY3VyX2Jhc2Vfb2Zmc2V0ICsgdnRhYmxlX2FkZHJlc3NfcG9pbnRfb2Zmc2V0IChnZGJh cmNoKTsKICAgIGlmICgoLSBjdXJfYmFzZV9vZmZzZXQpICUgVFlQRV9MRU5HVEggKHB0cl90eXBl KSAhPSAwKQogICAgICBlcnJvciAoXygiTWlzYWxpZ25lZCB2YmFzZSBvZmZzZXQuIikpOwpAQCAt MjAzOSw3ICsyMDQyLDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nbnUtdjMt YWJpLmMKICAKICAgIHZ0YWJsZSA9IGdudXYzX2dldF92dGFibGUgKGdkYmFyY2gsIHR5cGUsIGFk ZHJlc3MgKyBlbWJlZGRlZF9vZmZzZXQpOwogICAgZ2RiX2Fzc2VydCAodnRhYmxlICE9IE5VTEwp OwotQEAgLTUxMyw3ICs1MTMsNyBAQAorQEAgLTUxNCw3ICs1MTQsNyBAQAogICAgICAgd2UncmUg b3V0IG9mIGx1Y2suICAqLwogICAgZm9yIChpID0gMDsgaSA8IFRZUEVfTl9CQVNFQ0xBU1NFUyAo ZG9tYWluKTsgaSsrKQogICAgICB7CkBAIC0yMDQ4LDEwICsyMDUxLDEwIEBAIEluZGV4OiBnZGIt Ny4xMi41MC4yMDE3MDIyNi9nZGIvZ251LXYzLWFiaS5jCiAgICAgICAgc3RydWN0IHR5cGUgKmJh c2V0eXBlOwogIAogICAgICAgIGlmIChCQVNFVFlQRV9WSUFfVklSVFVBTCAoZG9tYWluLCBpKSkK LUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZ28tbGFuZy5oCitJbmRleDogZ2RiLTcu OTkuOTAuMjAxNzA0MjAvZ2RiL2dvLWxhbmcuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUw LjIwMTcwMjI2Lm9yaWcvZ2RiL2dvLWxhbmcuaAkyMDE3LTAyLTI2IDIxOjU5OjM2LjA0MzcxOTM2 OSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nby1sYW5nLmgJMjAxNy0wMi0y NiAyMjowNDowMy40MzY2MDk5MjMgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmln L2dkYi9nby1sYW5nLmgJMjAxNy0wNC0yMCAyMzowODo1NC4xNjgzOTQ4MTcgKzAyMDAKKysrKyBn ZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZ28tbGFuZy5oCTIwMTctMDQtMjAgMjM6MDg6NTYuOTg2 NDEwNjk3ICswMjAwCiBAQCAtODUsNyArODUsNyBAQAogIC8qIERlZmluZWQgaW4gZ28tdmFscHJp bnQuYy4gICovCiAgCkBAIC0yMDYxLDEwICsyMDY0LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4y MDE3MDIyNi9nZGIvZ28tbGFuZy5oCiAgCQkJICBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQg cmVjdXJzZSwKICAJCQkgIHN0cnVjdCB2YWx1ZSAqdmFsLAogIAkJCSAgY29uc3Qgc3RydWN0IHZh bHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpOwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2 L2dkYi9nby12YWxwcmludC5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2dvLXZh bHByaW50LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9n by12YWxwcmludC5jCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2Ri LTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2dvLXZhbHByaW50LmMJMjAxNy0wMi0yNiAyMjowNDowMy40 MzY2MDk5MjMgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9nby12YWxw cmludC5jCTIwMTctMDQtMjAgMjM6MDg6NTQuMTY4Mzk0ODE3ICswMjAwCisrKysgZ2RiLTcuOTku OTAuMjAxNzA0MjAvZ2RiL2dvLXZhbHByaW50LmMJMjAxNy0wNC0yMCAyMzowODo1Ni45ODY0MTA2 OTcgKzAyMDAKIEBAIC04Niw3ICs4Niw3IEBACiAgLyogSW1wbGVtZW50cyB0aGUgbGFfdmFsX3By aW50IHJvdXRpbmUgZm9yIGxhbmd1YWdlIEdvLiAgKi8KICAKQEAgLTIwNzQsMTEgKzIwNzcsMTEg QEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nby12YWxwcmludC5jCiAgCSAgICAg IENPUkVfQUREUiBhZGRyZXNzLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwK ICAJICAgICAgc3RydWN0IHZhbHVlICp2YWwsCiAgCSAgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9w cmludF9vcHRpb25zICpvcHRpb25zKQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9s YW5ndWFnZS5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2xhbmd1YWdlLmMKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9sYW5ndWFnZS5jCTIw MTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAy MjYvZ2RiL2xhbmd1YWdlLmMJMjAxNy0wMi0yNiAyMjowNDowMy40MzY2MDk5MjMgKzAxMDAKLUBA IC03NTQsNyArNzU0LDcgQEAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9sYW5n dWFnZS5jCTIwMTctMDQtMjAgMjM6MDg6NTQuMTY4Mzk0ODE3ICswMjAwCisrKysgZ2RiLTcuOTku OTAuMjAxNzA0MjAvZ2RiL2xhbmd1YWdlLmMJMjAxNy0wNC0yMCAyMzowODo1Ni45ODY0MTA2OTcg KzAyMDAKK0BAIC03NTMsNyArNzUzLDcgQEAKICAKICBzdGF0aWMgdm9pZAogIHVua19sYW5nX3By aW50c3RyIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqdHlwZSwKQEAgLTIw ODcsNyArMjA5MCw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvbGFuZ3VhZ2Uu YwogIAkJICAgY29uc3QgY2hhciAqZW5jb2RpbmcsIGludCBmb3JjZV9lbGxpcHNlcywKICAJCSAg IGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zKQogIHsKLUBAIC03NzMs NyArNzczLDcgQEAKK0BAIC03NzIsNyArNzcyLDcgQEAKICAKICBzdGF0aWMgdm9pZAogIHVua19s YW5nX3ZhbF9wcmludCAoc3RydWN0IHR5cGUgKnR5cGUsCkBAIC0yMDk2LDEwICsyMDk5LDEwIEBA IEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvbGFuZ3VhZ2UuYwogIAkJICAgIHN0cnVj dCB1aV9maWxlICpzdHJlYW0sIGludCByZWN1cnNlLAogIAkJICAgIHN0cnVjdCB2YWx1ZSAqdmFs LAogIAkJICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zKQotSW5k ZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9sYW5ndWFnZS5oCitJbmRleDogZ2RiLTcuOTku OTAuMjAxNzA0MjAvZ2RiL2xhbmd1YWdlLmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4y MDE3MDIyNi5vcmlnL2dkYi9sYW5ndWFnZS5oCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5 ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2xhbmd1YWdlLmgJMjAxNy0wMi0y NiAyMjowNDowMy40MzY2MDk5MjMgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmln L2dkYi9sYW5ndWFnZS5oCTIwMTctMDQtMjAgMjM6MDg6NTQuMTY5Mzk0ODIzICswMjAwCisrKysg Z2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2xhbmd1YWdlLmgJMjAxNy0wNC0yMCAyMzowODo1Ni45 ODY0MTA2OTcgKzAyMDAKIEBAIC0xOTcsNyArMTk3LDcgQEAKICAJCQkgIHN0cnVjdCB1aV9maWxl ICogc3RyZWFtKTsKICAKQEAgLTIxMTgsMTAgKzIxMjEsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUw LjIwMTcwMjI2L2dkYi9sYW5ndWFnZS5oCiAgCQkJICBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBp bnQgcmVjdXJzZSwKICAJCQkgIHN0cnVjdCB2YWx1ZSAqdmFsLAogIAkJCSAgY29uc3Qgc3RydWN0 IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpOwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcw MjI2L2dkYi9tMi1sYW5nLmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvbTItbGFu Zy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvbTItbGFu Zy5jCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAu MjAxNzAyMjYvZ2RiL20yLWxhbmcuYwkyMDE3LTAyLTI2IDIyOjA0OjAzLjQzNjYwOTkyMyArMDEw MAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL20yLWxhbmcuYwkyMDE3LTA0LTIw IDIzOjA4OjU0LjE2OTM5NDgyMyArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9t Mi1sYW5nLmMJMjAxNy0wNC0yMCAyMzowODo1Ni45ODc0MTA3MDIgKzAyMDAKIEBAIC0xMDQsMTAg KzEwNCwxMCBAQAogIAogIHN0YXRpYyB2b2lkCkBAIC0yMTU2LDEwICsyMTU5LDEwIEBAIEluZGV4 OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvbTItbGFuZy5jCiAgCSAgaSA9IHJlcDEgLSAxOwog IAkgIHRoaW5nc19wcmludGVkICs9IG9wdGlvbnMtPnJlcGVhdF9jb3VudF90aHJlc2hvbGQ7CiAg CSAgbmVlZF9jb21tYSA9IDE7Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL20yLWxh bmcuaAorSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9tMi1sYW5nLmgKID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9tMi1sYW5nLmgJMjAxNy0wMi0y NiAyMTo1OTozNi4wNDM3MTkzNjkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIv bTItbGFuZy5oCTIwMTctMDItMjYgMjI6MDQ6MDMuNDM3NjA5OTMwICswMTAwCistLS0gZ2RiLTcu OTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvbTItbGFuZy5oCTIwMTctMDQtMjAgMjM6MDg6NTQuMTY5 Mzk0ODIzICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL20yLWxhbmcuaAkyMDE3 LTA0LTIwIDIzOjA4OjU2Ljk4NzQxMDcwMiArMDIwMAogQEAgLTM0LDcgKzM0LDcgQEAKICBleHRl cm4gaW50IG0yX2lzX2xvbmdfc2V0IChzdHJ1Y3QgdHlwZSAqdHlwZSk7CiAgZXh0ZXJuIGludCBt Ml9pc191bmJvdW5kZWRfYXJyYXkgKHN0cnVjdCB0eXBlICp0eXBlKTsKQEAgLTIxNjksMTAgKzIx NzIsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9tMi1sYW5nLmgKICAJCQkg IHN0cnVjdCB1aV9maWxlICosIGludCwKICAJCQkgIHN0cnVjdCB2YWx1ZSAqLAogIAkJCSAgY29u c3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKik7Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAx NzAyMjYvZ2RiL20yLXR5cGVwcmludC5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2Ri L20yLXR5cGVwcmludC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3Jp Zy9nZGIvbTItdHlwZXByaW50LmMJMjAxNy0wMi0yNiAyMTo1OTozNi4wNDM3MTkzNjkgKzAxMDAK LSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvbTItdHlwZXByaW50LmMJMjAxNy0wMi0yNiAy MjowNDowMy40Mzc2MDk5MzAgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dk Yi9tMi10eXBlcHJpbnQuYwkyMDE3LTA0LTIwIDIzOjA4OjU0LjE2OTM5NDgyMyArMDIwMAorKysr IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9tMi10eXBlcHJpbnQuYwkyMDE3LTA0LTIwIDIzOjA4 OjU2Ljk4NzQxMDcwMiArMDIwMAogQEAgLTIzNCw5ICsyMzQsMTIgQEAKICAJICBtMl9wcmludF9i b3VuZHMgKFRZUEVfSU5ERVhfVFlQRSAodHlwZSksIHN0cmVhbSwgc2hvdywgLTEsIDEpOwogIAl9 CkBAIC0yMTg5LDEwICsyMTkyLDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIv bTItdHlwZXByaW50LmMKICAgICAgfQogICAgZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFtLCAiXSBP RiAiKTsKICAgIG0yX3ByaW50X3R5cGUgKFRZUEVfVEFSR0VUX1RZUEUgKHR5cGUpLCAiIiwgc3Ry ZWFtLCBzaG93LCBsZXZlbCwgZmxhZ3MpOwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dk Yi9tMi12YWxwcmludC5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL20yLXZhbHBy aW50LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9tMi12 YWxwcmludC5jCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcu MTIuNTAuMjAxNzAyMjYvZ2RiL20yLXZhbHByaW50LmMJMjAxNy0wMi0yNiAyMjowNDowMy40Mzc2 MDk5MzAgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9tMi12YWxwcmlu dC5jCTIwMTctMDQtMjAgMjM6MDg6NTQuMTcwMzk0ODI5ICswMjAwCisrKysgZ2RiLTcuOTkuOTAu MjAxNzA0MjAvZ2RiL20yLXZhbHByaW50LmMJMjAxNy0wNC0yMCAyMzowODo1Ni45ODc0MTA3MDIg KzAyMDAKIEBAIC0zNSw3ICszNSw3IEBACiAgCQkJCSAgIHN0cnVjdCB1aV9maWxlICpzdHJlYW0p OwogIHN0YXRpYyB2b2lkCkBAIC0yMjYzLDEwICsyMjY2LDEwIEBAIEluZGV4OiBnZGItNy4xMi41 MC4yMDE3MDIyNi9nZGIvbTItdmFscHJpbnQuYwogIAkgIGludCBuZWVkX2NvbW1hID0gMDsKICAK ICAJICBmcHV0c19maWx0ZXJlZCAoInsiLCBzdHJlYW0pOwotSW5kZXg6IGdkYi03LjEyLjUwLjIw MTcwMjI2L2dkYi9tZW1yYW5nZS5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL21l bXJhbmdlLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9t ZW1yYW5nZS5jCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcu MTIuNTAuMjAxNzAyMjYvZ2RiL21lbXJhbmdlLmMJMjAxNy0wMi0yNiAyMjowNDowMy40Mzc2MDk5 MzAgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9tZW1yYW5nZS5jCTIw MTctMDQtMjAgMjM6MDg6NTQuMTcwMzk0ODI5ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0 MjAvZ2RiL21lbXJhbmdlLmMJMjAxNy0wNC0yMCAyMzowODo1Ni45ODc0MTA3MDIgKzAyMDAKIEBA IC0yMiw4ICsyMiw4IEBACiAgI2luY2x1ZGUgPGFsZ29yaXRobT4KICAKQEAgLTIyNzgsMTAgKzIy ODEsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9tZW1yYW5nZS5jCiAgewog ICAgVUxPTkdFU1QgaCwgbDsKICAKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvbWVt cmFuZ2UuaAorSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9tZW1yYW5nZS5oCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvbWVtcmFuZ2UuaAkyMDE3 LTAyLTI2IDIxOjU5OjM2LjA0MzcxOTM2OSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2 L2dkYi9tZW1yYW5nZS5oCTIwMTctMDItMjYgMjI6MDQ6MDMuNDM3NjA5OTMwICswMTAwCistLS0g Z2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvbWVtcmFuZ2UuaAkyMDE3LTA0LTIwIDIzOjA4 OjU0LjE3MDM5NDgyOSArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9tZW1yYW5n ZS5oCTIwMTctMDQtMjAgMjM6MDg6NTYuOTg3NDEwNzAyICswMjAwCiBAQCAtMzAsNyArMzAsNyBA QAogICAgQ09SRV9BRERSIHN0YXJ0OwogIApAQCAtMjMwMiwxMSArMjMwNSwxMSBAQCBJbmRleDog Z2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL21lbXJhbmdlLmgKICAKICAvKiBSZXR1cm5zIHRydWUg aWYgQUREUiBpcyBpbiBSQU5HRS4gICovCiAgCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYv Z2RiL21pcHMtbGludXgtbmF0LmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvbWlw cy1saW51eC1uYXQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcv Z2RiL21pcHMtbGludXgtbmF0LmMJMjAxNy0wMi0yNiAyMTo1OTozNi4wNDM3MTkzNjkgKzAxMDAK LSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvbWlwcy1saW51eC1uYXQuYwkyMDE3LTAyLTI2 IDIyOjA0OjAzLjQzODYwOTkzNyArMDEwMAotQEAgLTU4Nyw3ICs1ODcsNyBAQAorLS0tIGdkYi03 Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL21pcHMtbGludXgtbmF0LmMJMjAxNy0wNC0yMCAyMzow ODo1NC4xNzAzOTQ4MjkgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvbWlwcy1s aW51eC1uYXQuYwkyMDE3LTA0LTIwIDIzOjA4OjU2Ljk4ODQxMDcwOCArMDIwMAorQEAgLTU4NCw3 ICs1ODQsNyBAQAogIAogIHN0YXRpYyBpbnQKICBtaXBzX2xpbnV4X3JlZ2lvbl9va19mb3JfaHdf d2F0Y2hwb2ludCAoc3RydWN0IHRhcmdldF9vcHMgKnNlbGYsCkBAIC0yMzE1LDEwICsyMzE4LDEw IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvbWlwcy1saW51eC1uYXQuYwogIHsK ICAgIHN0cnVjdCBwdF93YXRjaF9yZWdzIGR1bW15X3JlZ3M7CiAgICBpbnQgaTsKLUluZGV4OiBn ZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvb3BlbmNsLWxhbmcuYworSW5kZXg6IGdkYi03Ljk5Ljkw LjIwMTcwNDIwL2dkYi9vcGVuY2wtbGFuZy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAu MjAxNzAyMjYub3JpZy9nZGIvb3BlbmNsLWxhbmcuYwkyMDE3LTAyLTI2IDIxOjU5OjM2LjA0Mzcx OTM2OSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9vcGVuY2wtbGFuZy5jCTIw MTctMDItMjYgMjI6MDQ6MDMuNDM4NjA5OTM3ICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0 MjAub3JpZy9nZGIvb3BlbmNsLWxhbmcuYwkyMDE3LTA0LTIwIDIzOjA4OjU0LjE3MTM5NDgzNCAr MDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9vcGVuY2wtbGFuZy5jCTIwMTctMDQt MjAgMjM6MDg6NTYuOTg4NDEwNzA4ICswMjAwCiBAQCAtNzgsMTEgKzc4LDExIEBACiAgCiAgc3Rh dGljIHN0cnVjdCB0eXBlICoKQEAgLTIzODcsMTAgKzIzOTAsMTAgQEAgSW5kZXg6IGdkYi03LjEy LjUwLjIwMTcwMjI2L2dkYi9vcGVuY2wtbGFuZy5jCiAgCiAgICAgICAgaWYgKCF2YWx1ZV9iaXRz X3N5bnRoZXRpY19wb2ludGVyIChjLT52YWwsCiAgCQkJCQkgYy0+aW5kaWNlc1tpXSAqIGVsc2l6 ZSArIGNvbXBfb2Zmc2V0LAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9wLWxhbmcu YworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9wLWxhbmcuYwogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2RiL3AtbGFuZy5jCTIwMTctMDItMjYgMjE6 NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3AtbGFu Zy5jCTIwMTctMDItMjYgMjI6MDQ6MDMuNDM4NjA5OTM3ICswMTAwCistLS0gZ2RiLTcuOTkuOTAu MjAxNzA0MjAub3JpZy9nZGIvcC1sYW5nLmMJMjAxNy0wNC0yMCAyMzowODo1NC4xNzEzOTQ4MzQg KzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvcC1sYW5nLmMJMjAxNy0wNC0yMCAy MzowODo1Ni45ODg0MTA3MDggKzAyMDAKIEBAIC05NSw4ICs5NSw4IEBACiAgICAgYXJlIG5vdCBt dWx0aXBsZSBvZiBUQVJHRVRfQ0hBUl9CSVQgdGhlbiB0aGUgcmVzdWx0cyBhcmUgd3JvbmcKICAg ICBidXQgdGhpcyBkb2VzIG5vdCBoYXBwZW4gZm9yIEZyZWUgUGFzY2FsIG5vciBmb3IgR1BDLiAg Ki8KQEAgLTI0MzgsMTAgKzI0NDEsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dk Yi9wLWxhbmcuYwogIAkgIGkgPSByZXAxIC0gMTsKICAJICB0aGluZ3NfcHJpbnRlZCArPSBvcHRp b25zLT5yZXBlYXRfY291bnRfdGhyZXNob2xkOwogIAkgIG5lZWRfY29tbWEgPSAxOwotSW5kZXg6 IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9wLWxhbmcuaAorSW5kZXg6IGdkYi03Ljk5LjkwLjIw MTcwNDIwL2dkYi9wLWxhbmcuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2 Lm9yaWcvZ2RiL3AtbGFuZy5oCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0r KysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3AtbGFuZy5oCTIwMTctMDItMjYgMjI6MDQ6MDMu NDM4NjA5OTM3ICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvcC1sYW5n LmgJMjAxNy0wNC0yMCAyMzowODo1NC4xNzEzOTQ4MzQgKzAyMDAKKysrKyBnZGItNy45OS45MC4y MDE3MDQyMC9nZGIvcC1sYW5nLmgJMjAxNy0wNC0yMCAyMzowODo1Ni45ODg0MTA3MDggKzAyMDAK IEBAIC0zNiw3ICszNiw3IEBACiAgZXh0ZXJuIHZvaWQgcGFzY2FsX3ByaW50X3R5cGVkZWYgKHN0 cnVjdCB0eXBlICosIHN0cnVjdCBzeW1ib2wgKiwKICAJCQkJICBzdHJ1Y3QgdWlfZmlsZSAqKTsK QEAgLTI0NjcsMTAgKzI0NzAsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9w LWxhbmcuaAogIAkJCSAgICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKik7CiAg CiAgZXh0ZXJuIHN0cnVjdCB0eXBlICoqY29uc3QgKHBhc2NhbF9idWlsdGluX3R5cGVzW10pOwot SW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9wLXZhbHByaW50LmMKK0luZGV4OiBnZGIt Ny45OS45MC4yMDE3MDQyMC9nZGIvcC12YWxwcmludC5jCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcu MTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvcC12YWxwcmludC5jCTIwMTctMDItMjYgMjE6NTk6MzYu MDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3AtdmFscHJpbnQu YwkyMDE3LTAyLTI2IDIyOjA0OjAzLjQzOTYwOTk0NCArMDEwMAorLS0tIGdkYi03Ljk5LjkwLjIw MTcwNDIwLm9yaWcvZ2RiL3AtdmFscHJpbnQuYwkyMDE3LTA0LTIwIDIzOjA4OjU0LjE3MTM5NDgz NCArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9wLXZhbHByaW50LmMJMjAxNy0w NC0yMCAyMzowODo1Ni45ODk0MTA3MTMgKzAyMDAKIEBAIC01OSw3ICs1OSw3IEBACiAgCiAgdm9p ZApAQCAtMjQ5MSwxMSArMjQ5NCwxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2Ri L3AtdmFscHJpbnQuYwogICAgc3RydWN0IHR5cGUgKmNoYXJfdHlwZTsKICAgIENPUkVfQUREUiBh ZGRyOwogICAgaW50IHdhbnRfc3BhY2UgPSAwOwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2 L2dkYi9wcGMtbGludXgtbmF0LmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvcHBj LWxpbnV4LW5hdC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9n ZGIvcHBjLWxpbnV4LW5hdC5jCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0r KysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3BwYy1saW51eC1uYXQuYwkyMDE3LTAyLTI2IDIy OjA0OjAzLjQzOTYwOTk0NCArMDEwMAotQEAgLTE0NDksNyArMTQ0OSw3IEBACistLS0gZ2RiLTcu OTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvcHBjLWxpbnV4LW5hdC5jCTIwMTctMDQtMjAgMjM6MDg6 NTQuMTcyMzk0ODQwICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3BwYy1saW51 eC1uYXQuYwkyMDE3LTA0LTIwIDIzOjA4OjU2Ljk4OTQxMDcxMyArMDIwMAorQEAgLTE0NDUsNyAr MTQ0NSw3IEBACiAgCiAgc3RhdGljIGludAogIHBwY19saW51eF9yZWdpb25fb2tfZm9yX2h3X3dh dGNocG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLApAQCAtMjUwNCwxMCArMjUwNywxMCBA QCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3BwYy1saW51eC1uYXQuYwogIHsKICAg IC8qIEhhbmRsZSBzdWItOC1ieXRlIHF1YW50aXRpZXMuICAqLwogICAgaWYgKGxlbiA8PSAwKQot SW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9wcmludGNtZC5jCitJbmRleDogZ2RiLTcu OTkuOTAuMjAxNzA0MjAvZ2RiL3ByaW50Y21kLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41 MC4yMDE3MDIyNi5vcmlnL2dkYi9wcmludGNtZC5jCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5 MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3ByaW50Y21kLmMJMjAxNy0w Mi0yNiAyMjowNDowMy40NDA2MDk5NTEgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5v cmlnL2dkYi9wcmludGNtZC5jCTIwMTctMDQtMjAgMjM6MDg6NTQuMTczMzk0ODQ2ICswMjAwCisr KysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3ByaW50Y21kLmMJMjAxNy0wNC0yMCAyMzowODo1 Ni45OTA0MTA3MTkgKzAyMDAKIEBAIC0yODAsNyArMjgwLDcgQEAKICAJCSBzdHJ1Y3QgdWlfZmls ZSAqc3RyZWFtKQogIHsKQEAgLTI1MjYsMTEgKzI1MjksMTEgQEAgSW5kZXg6IGdkYi03LjEyLjUw LjIwMTcwMjI2L2dkYi9wcmludGNtZC5jCiAgICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9 IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7CiAgCiAgICAvKiBTdHJpbmcgcHJpbnRpbmcg c2hvdWxkIGdvIHRocm91Z2ggdmFsX3ByaW50X3NjYWxhcl9mb3JtYXR0ZWQuICAqLwotSW5kZXg6 IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9wcm9jZnMuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIw MTcwNDIwL2dkYi9wcm9jZnMuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2 Lm9yaWcvZ2RiL3Byb2Nmcy5jCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0r KysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3Byb2Nmcy5jCTIwMTctMDItMjYgMjI6MDQ6MDMu NDQxNjA5OTU4ICswMTAwCi1AQCAtNDg2Miw3ICs0ODYyLDcgQEAKKy0tLSBnZGItNy45OS45MC4y MDE3MDQyMC5vcmlnL2dkYi9wcm9jZnMuYwkyMDE3LTA0LTIwIDIzOjA4OjU0LjE3MzM5NDg0NiAr MDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9wcm9jZnMuYwkyMDE3LTA0LTIwIDIz OjA4OjU2Ljk5MTQxMDcyNSArMDIwMAorQEAgLTQ4NjQsNyArNDg2NCw3IEBACiAgCiAgc3RhdGlj IGludAogIHByb2Nmc19yZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKHN0cnVjdCB0YXJnZXRf b3BzICpzZWxmLApAQCAtMjUzOSwxMSArMjU0MiwxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAx NzAyMjYvZ2RiL3Byb2Nmcy5jCiAgewogICAgLyogVGhlIG1hbiBwYWdlIGZvciBwcm9jKDQpIG9u IFNvbGFyaXMgMi42IGFuZCB1cCBzYXlzIHRoYXQgdGhlCiAgICAgICBzeXN0ZW0gY2FuIHN1cHBv cnQgInRob3VzYW5kcyIgb2YgaGFyZHdhcmUgd2F0Y2hwb2ludHMsIGJ1dCBnaXZlcwotSW5kZXg6 IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9yZWdjYWNoZS5jCitJbmRleDogZ2RiLTcuOTkuOTAu MjAxNzA0MjAvZ2RiL3JlZ2NhY2hlLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3 MDIyNi5vcmlnL2dkYi9yZWdjYWNoZS5jCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICsw MTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3JlZ2NhY2hlLmMJMjAxNy0wMi0yNiAy MjowNDowMy40NDE2MDk5NTggKzAxMDAKLUBAIC05ODAsNyArOTgwLDcgQEAKKy0tLSBnZGItNy45 OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9yZWdjYWNoZS5jCTIwMTctMDQtMjAgMjM6MDg6NTQuMTc0 Mzk0ODUxICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3JlZ2NhY2hlLmMJMjAx Ny0wNC0yMCAyMzowODo1Ni45OTE0MTA3MjUgKzAyMDAKK0BAIC05ODgsNyArOTg4LDcgQEAKICAK ICBzdGF0aWMgZW51bSByZWdpc3Rlcl9zdGF0dXMKICByZWdjYWNoZV94ZmVyX3BhcnQgKHN0cnVj dCByZWdjYWNoZSAqcmVnY2FjaGUsIGludCByZWdudW0sCkBAIC0yNTUyLDcgKzI1NTUsNyBAQCBJ bmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3JlZ2NhY2hlLmMKICAJCSAgICBlbnVtIHJl Z2lzdGVyX3N0YXR1cyAoKnJlYWQpIChzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLAogIAkJCQkJ CSAgaW50IHJlZ251bSwKICAJCQkJCQkgIGdkYl9ieXRlICpidWYpLAotQEAgLTEwMjUsNyArMTAy NSw3IEBACitAQCAtMTAzMyw3ICsxMDMzLDcgQEAKICAKICBlbnVtIHJlZ2lzdGVyX3N0YXR1cwog IHJlZ2NhY2hlX3Jhd19yZWFkX3BhcnQgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIGludCBy ZWdudW0sCkBAIC0yNTYxLDcgKzI1NjQsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYv Z2RiL3JlZ2NhY2hlLmMKICB7CiAgICBzdHJ1Y3QgcmVnY2FjaGVfZGVzY3IgKmRlc2NyID0gcmVn Y2FjaGUtPmRlc2NyOwogIAotQEAgLTEwMzYsNyArMTAzNiw3IEBACitAQCAtMTA0NCw3ICsxMDQ0 LDcgQEAKICAKICB2b2lkCiAgcmVnY2FjaGVfcmF3X3dyaXRlX3BhcnQgKHN0cnVjdCByZWdjYWNo ZSAqcmVnY2FjaGUsIGludCByZWdudW0sCkBAIC0yNTcwLDcgKzI1NzMsNyBAQCBJbmRleDogZ2Ri LTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3JlZ2NhY2hlLmMKICB7CiAgICBzdHJ1Y3QgcmVnY2FjaGVf ZGVzY3IgKmRlc2NyID0gcmVnY2FjaGUtPmRlc2NyOwogIAotQEAgLTEwNDcsNyArMTA0Nyw3IEBA CitAQCAtMTA1NSw3ICsxMDU1LDcgQEAKICAKICBlbnVtIHJlZ2lzdGVyX3N0YXR1cwogIHJlZ2Nh Y2hlX2Nvb2tlZF9yZWFkX3BhcnQgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIGludCByZWdu dW0sCkBAIC0yNTc5LDcgKzI1ODIsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2Ri L3JlZ2NhY2hlLmMKICB7CiAgICBzdHJ1Y3QgcmVnY2FjaGVfZGVzY3IgKmRlc2NyID0gcmVnY2Fj aGUtPmRlc2NyOwogIAotQEAgLTEwNTgsNyArMTA1OCw3IEBACitAQCAtMTA2Niw3ICsxMDY2LDcg QEAKICAKICB2b2lkCiAgcmVnY2FjaGVfY29va2VkX3dyaXRlX3BhcnQgKHN0cnVjdCByZWdjYWNo ZSAqcmVnY2FjaGUsIGludCByZWdudW0sCkBAIC0yNTg4LDExICsyNTkxLDExIEBAIEluZGV4OiBn ZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvcmVnY2FjaGUuYwogIHsKICAgIHN0cnVjdCByZWdjYWNo ZV9kZXNjciAqZGVzY3IgPSByZWdjYWNoZS0+ZGVzY3I7CiAgCi1JbmRleDogZ2RiLTcuMTIuNTAu MjAxNzAyMjYvZ2RiL3JlZ2NhY2hlLmgKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIv cmVnY2FjaGUuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2Ri L3JlZ2NhY2hlLmgJMjAxNy0wMi0yNiAyMTo1OTozNi4wNDM3MTkzNjkgKzAxMDAKLSsrKyBnZGIt Ny4xMi41MC4yMDE3MDIyNi9nZGIvcmVnY2FjaGUuaAkyMDE3LTAyLTI2IDIyOjA0OjAzLjQ0MTYw OTk1OCArMDEwMAotQEAgLTg2LDkgKzg2LDkgQEAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5v cmlnL2dkYi9yZWdjYWNoZS5oCTIwMTctMDQtMjAgMjM6MDg6NTQuMTc0Mzk0ODUxICswMjAwCisr KysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3JlZ2NhY2hlLmgJMjAxNy0wNC0yMCAyMzowODo1 Ni45OTE0MTA3MjUgKzAyMDAKK0BAIC05NCw5ICs5NCw5IEBACiAgCiAgZXh0ZXJuIGVudW0gcmVn aXN0ZXJfc3RhdHVzCiAgICByZWdjYWNoZV9yYXdfcmVhZF9wYXJ0IChzdHJ1Y3QgcmVnY2FjaGUg KnJlZ2NhY2hlLCBpbnQgcmVnbnVtLApAQCAtMjYwNCw3ICsyNjA3LDcgQEAgSW5kZXg6IGdkYi03 LjEyLjUwLjIwMTcwMjI2L2dkYi9yZWdjYWNoZS5oCiAgCiAgdm9pZCByZWdjYWNoZV9pbnZhbGlk YXRlIChzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLCBpbnQgcmVnbnVtKTsKICAKLUBAIC0xMjUs MTAgKzEyNSwxMSBAQAorQEAgLTEzMywxMCArMTMzLDExIEBACiAgICAgd3JpdGUgc3R5bGUgb3Bl cmF0aW9ucy4gICovCiAgCiAgZW51bSByZWdpc3Rlcl9zdGF0dXMgcmVnY2FjaGVfY29va2VkX3Jl YWRfcGFydCAoc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwKQEAgLTI2MTksMTEgKzI2MjIsMTEg QEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9yZWdjYWNoZS5oCiAgCiAgLyogU3Bl Y2lhbCByb3V0aW5lcyB0byByZWFkL3dyaXRlIHRoZSBQQy4gICovCiAgCi1JbmRleDogZ2RiLTcu MTIuNTAuMjAxNzAyMjYvZ2RiL3JlbW90ZS5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAv Z2RiL3JlbW90ZS5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9n ZGIvcmVtb3RlLmMJMjAxNy0wMi0yNiAyMTo1OTozNi4wNDM3MTkzNjkgKzAxMDAKLSsrKyBnZGIt Ny4xMi41MC4yMDE3MDIyNi9nZGIvcmVtb3RlLmMJMjAxNy0wMi0yNiAyMjowNDowMy40NDQ2MDk5 NzkgKzAxMDAKLUBAIC05OTIwLDcgKzk5MjAsNyBAQAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIw Lm9yaWcvZ2RiL3JlbW90ZS5jCTIwMTctMDQtMjAgMjM6MDg6NTQuMTc3Mzk0ODY4ICswMjAwCisr KysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3JlbW90ZS5jCTIwMTctMDQtMjAgMjM6MDg6NTYu OTkzNDEwNzM2ICswMjAwCitAQCAtOTkxNSw3ICs5OTE1LDcgQEAKICAKICBzdGF0aWMgaW50CiAg cmVtb3RlX3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoc3RydWN0IHRhcmdldF9vcHMgKnNl bGYsCkBAIC0yNjMyLDEwICsyNjM1LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9n ZGIvcmVtb3RlLmMKICB7CiAgICBpZiAocmVtb3RlX2h3X3dhdGNocG9pbnRfbGVuZ3RoX2xpbWl0 ID09IDApCiAgICAgIHJldHVybiAwOwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9z cHUtbXVsdGlhcmNoLmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvc3B1LW11bHRp YXJjaC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvc3B1 LW11bHRpYXJjaC5jCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2Ri LTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3NwdS1tdWx0aWFyY2guYwkyMDE3LTAyLTI2IDIyOjA0OjAz LjQ0NDYwOTk3OSArMDEwMAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3NwdS1t dWx0aWFyY2guYwkyMDE3LTA0LTIwIDIzOjA4OjU0LjE3NzM5NDg2OCArMDIwMAorKysrIGdkYi03 Ljk5LjkwLjIwMTcwNDIwL2dkYi9zcHUtbXVsdGlhcmNoLmMJMjAxNy0wNC0yMCAyMzowODo1Ni45 OTQ0MTA3NDIgKzAyMDAKIEBAIC0xMjcsNyArMTI3LDcgQEAKICAvKiBPdmVycmlkZSB0aGUgdG9f cmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IHJvdXRpbmUuICAqLwogIHN0YXRpYyBpbnQKQEAg LTI2NDUsMTAgKzI2NDgsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9zcHUt bXVsdGlhcmNoLmMKICB7CiAgICBzdHJ1Y3QgdGFyZ2V0X29wcyAqb3BzX2JlbmVhdGggPSBmaW5k X3RhcmdldF9iZW5lYXRoIChzZWxmKTsKICAKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9n ZGIvc3RhY2suYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9zdGFjay5jCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvc3RhY2suYwkyMDE3LTAy LTI2IDIxOjU5OjM2LjA0MzcxOTM2OSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dk Yi9zdGFjay5jCTIwMTctMDItMjYgMjI6MDQ6MDMuNDQ1NjA5OTg3ICswMTAwCistLS0gZ2RiLTcu OTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvc3RhY2suYwkyMDE3LTA0LTIwIDIzOjA4OjU0LjE3ODM5 NDg3NCArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9zdGFjay5jCTIwMTctMDQt MjAgMjM6MDg6NTYuOTk0NDEwNzQyICswMjAwCiBAQCAtMTg5LDcgKzE4OSw3IEBACiAgICAgYXJn dW1lbnQgKG5vdCBqdXN0IHRoZSBmaXJzdCBuYW1lbGVzcyBhcmd1bWVudCkuICAqLwogIApAQCAt MjY4NywxMCArMjY5MCwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3N0YWNr LmMKICAKICAgICAgICBpZiAoaGlnaGVzdF9vZmZzZXQgPT0gLTEpCiAgCXN0YXJ0ID0gZ2RiYXJj aF9mcmFtZV9hcmdzX3NraXAgKGdldF9mcmFtZV9hcmNoIChmcmFtZSkpOwotSW5kZXg6IGdkYi03 LjEyLjUwLjIwMTcwMjI2L2dkYi9zeW1taXNjLmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQy MC9nZGIvc3ltbWlzYy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3Jp Zy9nZGIvc3ltbWlzYy5jCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysg Z2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3N5bW1pc2MuYwkyMDE3LTAyLTI2IDIyOjA0OjAzLjQ0 NTYwOTk4NyArMDEwMAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3N5bW1pc2Mu YwkyMDE3LTA0LTIwIDIzOjA4OjU0LjE3ODM5NDg3NCArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIw MTcwNDIwL2dkYi9zeW1taXNjLmMJMjAxNy0wNC0yMCAyMzowODo1Ni45OTQ0MTA3NDIgKzAyMDAK IEBAIC02MDQsMTEgKzYwNCwxMSBAQAogIAogIAljYXNlIExPQ19DT05TVF9CWVRFUzoKQEAgLTI3 MDYsMTAgKzI3MDksMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9zeW1taXNj LmMKICAJICAgIGZvciAoaSA9IDA7IGkgPCBUWVBFX0xFTkdUSCAodHlwZSk7IGkrKykKICAJICAg ICAgZnByaW50Zl9maWx0ZXJlZCAob3V0ZmlsZSwgIiAlMDJ4IiwKICAJCQkJKHVuc2lnbmVkKSBT WU1CT0xfVkFMVUVfQllURVMgKHN5bWJvbClbaV0pOwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcw MjI2L2dkYi90YXJnZXQuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90YXJnZXQu YwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2RiL3RhcmdldC5j CTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAx NzAyMjYvZ2RiL3RhcmdldC5jCTIwMTctMDItMjYgMjI6MDQ6MDMuNDQ2NjA5OTk0ICswMTAwCist LS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvdGFyZ2V0LmMJMjAxNy0wNC0yMCAyMzow ODo1NC4xNzkzOTQ4NzkgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGFyZ2V0 LmMJMjAxNy0wNC0yMCAyMzowODo1Ni45OTU0MTA3NDcgKzAyMDAKIEBAIC01Nyw3ICs1Nyw3IEBA CiAgCQkJCQkJIENPUkVfQUREUiwgQ09SRV9BRERSLCBpbnQpOwogIApAQCAtMjcyOCwxMCArMjcz MSwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3RhcmdldC5jCiAgewogICAg cmV0dXJuIChsZW4gPD0gZ2RiYXJjaF9wdHJfYml0ICh0YXJnZXRfZ2RiYXJjaCAoKSkgLyBUQVJH RVRfQ0hBUl9CSVQpOwogIH0KLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvdGFyZ2V0 LmgKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGFyZ2V0LmgKID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi90YXJnZXQuaAkyMDE3LTAyLTI2IDIx OjU5OjM2LjA0MzcxOTM2OSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi90YXJn ZXQuaAkyMDE3LTAyLTI2IDIyOjA0OjAzLjQ0NzYxMDAwMSArMDEwMAorLS0tIGdkYi03Ljk5Ljkw LjIwMTcwNDIwLm9yaWcvZ2RiL3RhcmdldC5oCTIwMTctMDQtMjAgMjM6MDg6NTQuMTgwMzk0ODg1 ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3RhcmdldC5oCTIwMTctMDQtMjAg MjM6MDg6NTYuOTk2NDEwNzUzICswMjAwCiBAQCAtNTU1LDcgKzU1NSw3IEBACiAgICAgIC8qIERv Y3VtZW50YXRpb24gb2YgdGhpcyByb3V0aW5lIGlzIHByb3ZpZGVkIHdpdGggdGhlIGNvcnJlc3Bv bmRpbmcKICAgICAgICAgdGFyZ2V0XyogbWFjcm8uICAqLwpAQCAtMjc0MSwxMSArMjc0NCwxMSBA QCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3RhcmdldC5oCiAgICAgICAgVEFSR0VU X0RFRkFVTFRfRlVOQyAoZGVmYXVsdF9yZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQpOwogIAog ICAgICBpbnQgKCp0b19jYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24pIChzdHJ1Y3QgdGFy Z2V0X29wcyAqLAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi90cmFjZXBvaW50LmMK K0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdHJhY2Vwb2ludC5jCiA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvdHJhY2Vwb2ludC5jCTIwMTctMDIt MjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2Ri L3RyYWNlcG9pbnQuYwkyMDE3LTAyLTI2IDIyOjA0OjAzLjQ0ODYxMDAwOCArMDEwMAotQEAgLTkw OCwxMCArOTA4LDEwIEBACistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvdHJhY2Vw b2ludC5jCTIwMTctMDQtMjAgMjM6MDg6NTQuMTgyMzk0ODk2ICswMjAwCisrKysgZ2RiLTcuOTku OTAuMjAxNzA0MjAvZ2RiL3RyYWNlcG9pbnQuYwkyMDE3LTA0LTIwIDIzOjA4OjU2Ljk5NzQxMDc1 OCArMDIwMAorQEAgLTkwNCwxMCArOTA0LDEwIEBACiAgdm9pZAogIGNvbGxlY3Rpb25fbGlzdDo6 YWRkX21lbXJhbmdlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKICAJCQkgICAgICAgaW50IHR5 cGUsIGJmZF9zaWduZWRfdm1hIGJhc2UsCkBAIC0yNzU4LDcgKzI3NjEsNyBAQCBJbmRleDogZ2Ri LTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3RyYWNlcG9pbnQuYwogIAogICAgLyogdHlwZTogbWVtcmFu Z2VfYWJzb2x1dGUgPT0gbWVtb3J5LCBvdGhlciBuID09IGJhc2VyZWcgKi8KICAgIC8qIGJhc2U6 IGFkZHIgaWYgbWVtb3J5LCBvZmZzZXQgaWYgcmVnIHJlbGF0aXZlLiAgKi8KLUBAIC05MzEsNyAr OTMxLDcgQEAKK0BAIC05MjcsNyArOTI3LDcgQEAKICAJCQkJIENPUkVfQUREUiBzY29wZSwKICAJ CQkJIGludCB0cmFjZV9zdHJpbmcpCiAgewpAQCAtMjc2Nyw3ICsyNzcwLDcgQEAgSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMjI2L2dkYi90cmFjZXBvaW50LmMKICAgIHVuc2lnbmVkIGludCByZWc7 CiAgICBiZmRfc2lnbmVkX3ZtYSBvZmZzZXQ7CiAgICBpbnQgdHJlYXRfYXNfZXhwciA9IDA7Ci1A QCAtOTUyLDggKzk1Miw4IEBACitAQCAtOTQ4LDggKzk0OCw4IEBACiAgICAgICAgb2Zmc2V0ID0g U1lNQk9MX1ZBTFVFX0FERFJFU1MgKHN5bSk7CiAgICAgICAgaWYgKGluZm9fdmVyYm9zZSkKICAJ ewpAQCAtMjc3OCw3ICsyNzgxLDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi90 cmFjZXBvaW50LmMKICAJCQkgICBwYWRkcmVzcyAoZ2RiYXJjaCwgb2Zmc2V0KSk7CiAgCX0KICAg ICAgICAvKiBBIHN0cnVjdCBtYXkgYmUgYSBDKysgY2xhc3Mgd2l0aCBzdGF0aWMgZmllbGRzLCBn byB0byBnZW5lcmFsCi1AQCAtOTg1LDkgKzk4NSw5IEBACitAQCAtOTgxLDkgKzk4MSw5IEBACiAg ICAgICAgb2Zmc2V0ID0gZnJhbWVfb2Zmc2V0ICsgU1lNQk9MX1ZBTFVFIChzeW0pOwogICAgICAg IGlmIChpbmZvX3ZlcmJvc2UpCiAgCXsKQEAgLTI3OTAsNyArMjc5Myw3IEBAIEluZGV4OiBnZGIt Ny4xMi41MC4yMDE3MDIyNi9nZGIvdHJhY2Vwb2ludC5jCiAgCQkJICAgcGFkZHJlc3MgKGdkYmFy Y2gsIG9mZnNldCksIHJlZyk7CiAgCX0KICAgICAgICBhZGRfbWVtcmFuZ2UgKGdkYmFyY2gsIHJl Zywgb2Zmc2V0LCBsZW4pOwotQEAgLTk5Nyw5ICs5OTcsOSBAQAorQEAgLTk5Myw5ICs5OTMsOSBA QAogICAgICAgIG9mZnNldCA9IDA7CiAgICAgICAgaWYgKGluZm9fdmVyYm9zZSkKICAJewpAQCAt MjgwMiw3ICsyODA1LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi90cmFjZXBv aW50LmMKICAJCQkgICBwYWRkcmVzcyAoZ2RiYXJjaCwgb2Zmc2V0KSwgcmVnKTsKICAJfQogICAg ICAgIGFkZF9tZW1yYW5nZSAoZ2RiYXJjaCwgcmVnLCBvZmZzZXQsIGxlbik7Ci1AQCAtMTAwOSw5 ICsxMDA5LDkgQEAKK0BAIC0xMDA1LDkgKzEwMDUsOSBAQAogICAgICAgIG9mZnNldCA9IGZyYW1l X29mZnNldCArIFNZTUJPTF9WQUxVRSAoc3ltKTsKICAgICAgICBpZiAoaW5mb192ZXJib3NlKQog IAl7CkBAIC0yODE0LDcgKzI4MTcsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2Ri L3RyYWNlcG9pbnQuYwogIAkJCSAgIHBhZGRyZXNzIChnZGJhcmNoLCBvZmZzZXQpLCByZWcpOwog IAl9CiAgICAgICAgYWRkX21lbXJhbmdlIChnZGJhcmNoLCByZWcsIG9mZnNldCwgbGVuKTsKLUBA IC0yNTgzLDcgKzI1ODMsOCBAQAorQEAgLTI1ODUsNyArMjU4NSw4IEBACiAgICBjb25zdCBjaGFy ICpzeW1uYW1lOwogICAgY2hhciAqc2F2ZV9hcmdzID0gYXJnczsKICAgIHN0cnVjdCBibG9ja19p dGVyYXRvciBpdGVyOwpAQCAtMjgyMyw3ICsyODI2LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIw MTcwMjI2L2dkYi90cmFjZXBvaW50LmMKICsgIExPTkdFU1QgajsKICAgIHN0cnVjdCBnZGJhcmNo ICpnZGJhcmNoOwogICAgaW50IHJlZ25vOwotICAgc3RydWN0IGV2ZW50X2xvY2F0aW9uICpsb2Nh dGlvbjsKKyAKIEBAIC0yNzI3LDggKzI3MjgsMTEgQEAKICAJCX0KICAJICAgIH0KQEAgLTI4Mzgs MTAgKzI4NDEsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi90cmFjZXBvaW50 LmMKICAJfQogICAgICAgIGlmIChCTE9DS19GVU5DVElPTiAoYmxvY2spKQogIAlicmVhazsKLUlu ZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvdmFsYXJpdGguYworSW5kZXg6IGdkYi03Ljk5 LjkwLjIwMTcwNDIwL2dkYi92YWxhcml0aC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAu MjAxNzAyMjYub3JpZy9nZGIvdmFsYXJpdGguYwkyMDE3LTAyLTI2IDIxOjU5OjM2LjA0MzcxOTM2 OSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi92YWxhcml0aC5jCTIwMTctMDIt MjYgMjI6MDQ6MDMuNDQ4NjEwMDA4ICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3Jp Zy9nZGIvdmFsYXJpdGguYwkyMDE3LTA0LTIwIDIzOjA4OjU0LjE4MjM5NDg5NiArMDIwMAorKysr IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi92YWxhcml0aC5jCTIwMTctMDQtMjAgMjM6MDg6NTYu OTk3NDEwNzU4ICswMjAwCiBAQCAtMTg4LDcgKzE4OCw3IEBACiAgICAgdG8gZG91YmxlcywgYnV0 IG5vIGxvbmdlciBkb2VzLiAgKi8KICAKQEAgLTI4ODQsMTAgKzI4ODcsMTAgQEAgSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMjI2L2dkYi92YWxhcml0aC5jCiAgCiAgICBmb3IgKGkgPSAwOyBpIDwg bGVuOyBpKyspCiAgICAgIHsKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvdmFsb3Bz LmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdmFsb3BzLmMKID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi92YWxvcHMuYwkyMDE3LTAyLTI2IDIx OjU5OjM2LjA0MzcxOTM2OSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi92YWxv cHMuYwkyMDE3LTAyLTI2IDIyOjA0OjAzLjQ0OTYxMDAxNSArMDEwMAorLS0tIGdkYi03Ljk5Ljkw LjIwMTcwNDIwLm9yaWcvZ2RiL3ZhbG9wcy5jCTIwMTctMDQtMjAgMjM6MDg6NTQuMTg0Mzk0OTA4 ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3ZhbG9wcy5jCTIwMTctMDQtMjAg MjM6MDg6NTYuOTk4NDEwNzY0ICswMjAwCiBAQCAtNzksNyArNzksNyBAQAogIAkJCQkJICAgaW50 LCBpbnQpOwogIApAQCAtMjkwNiw3ICsyOTA5LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcw MjI2L2dkYi92YWxvcHMuYwogIHsKICAgIHN0cnVjdCBvYmpmaWxlICpvYmpmOwogICAgc3RydWN0 IHZhbHVlICp2YWwgPSBmaW5kX2Z1bmN0aW9uX2luX2luZmVyaW9yICgibWFsbG9jIiwgJm9iamYp OwotQEAgLTM5NywxMiArMzk3LDEyIEBACitAQCAtMzkzLDEyICszOTMsMTIgQEAKICAgIGlmIChj b2RlMSA9PSBUWVBFX0NPREVfQVJSQVkpCiAgICAgIHsKICAgICAgICBzdHJ1Y3QgdHlwZSAqZWxl bWVudF90eXBlID0gVFlQRV9UQVJHRVRfVFlQRSAodHlwZSk7CkBAIC0yOTIxLDcgKzI5MjQsNyBA QCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3ZhbG9wcy5jCiAgCSAgTE9OR0VTVCBs b3dfYm91bmQsIGhpZ2hfYm91bmQsIG5ld19sZW5ndGg7CiAgCiAgCSAgaWYgKGdldF9kaXNjcmV0 ZV9ib3VuZHMgKHJhbmdlX3R5cGUsICZsb3dfYm91bmQsICZoaWdoX2JvdW5kKSA8IDApCi1AQCAt MTA2Myw3ICsxMDYzLDcgQEAKK0BAIC0xMDY0LDcgKzEwNjQsNyBAQAogICAgICAgIHsKICAJY29u c3QgZ2RiX2J5dGUgKmRlc3RfYnVmZmVyOwogIAlDT1JFX0FERFIgY2hhbmdlZF9hZGRyOwpAQCAt MjkzMCw3ICsyOTMzLDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi92YWxvcHMu YwogICAgICAgICAgZ2RiX2J5dGUgYnVmZmVyW3NpemVvZiAoTE9OR0VTVCldOwogIAogIAlpZiAo dmFsdWVfYml0c2l6ZSAodG92YWwpKQotQEAgLTMzMzUsNyArMzMzNSw3IEBACitAQCAtMzMzOSw3 ICszMzM5LDcgQEAKICAgICB0aGUgZm9ybSAiRE9NQUlOOjpOQU1FIi4gICovCiAgCiAgc3RhdGlj IHN0cnVjdCB2YWx1ZSAqCkBAIC0yOTM5LDcgKzI5NDIsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAu MjAxNzAyMjYvZ2RiL3ZhbG9wcy5jCiAgCQkJCXN0cnVjdCB0eXBlICpjdXJ0eXBlLCBjb25zdCBj aGFyICpuYW1lLAogIAkJCQlzdHJ1Y3QgdHlwZSAqaW50eXBlLCAKICAJCQkJaW50IHdhbnRfYWRk cmVzcywKLUBAIC0zMzY5LDcgKzMzNjksNyBAQAorQEAgLTMzNzMsNyArMzM3Myw3IEBACiAgCSAg aWYgKHdhbnRfYWRkcmVzcykKICAJICAgIHJldHVybiB2YWx1ZV9mcm9tX2xvbmdlc3QKICAJICAg ICAgKGxvb2t1cF9tZW1iZXJwdHJfdHlwZSAoVFlQRV9GSUVMRF9UWVBFICh0LCBpKSwgZG9tYWlu KSwKQEAgLTI5NDgsNyArMjk1MSw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIv dmFsb3BzLmMKICAJICBlbHNlIGlmIChub3NpZGUgIT0gRVZBTF9OT1JNQUwpCiAgCSAgICByZXR1 cm4gYWxsb2NhdGVfdmFsdWUgKFRZUEVfRklFTERfVFlQRSAodCwgaSkpOwogIAkgIGVsc2UKLUBA IC0zNTM3LDcgKzM1MzcsNyBAQAorQEAgLTM1NDEsNyArMzU0MSw3IEBACiAgICBmb3IgKGkgPSBU WVBFX05fQkFTRUNMQVNTRVMgKHQpIC0gMTsgaSA+PSAwOyBpLS0pCiAgICAgIHsKICAgICAgICBz dHJ1Y3QgdmFsdWUgKnY7CkBAIC0yOTU3LDcgKzI5NjAsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAu MjAxNzAyMjYvZ2RiL3ZhbG9wcy5jCiAgCiAgICAgICAgaWYgKEJBU0VUWVBFX1ZJQV9WSVJUVUFM ICh0LCBpKSkKICAJYmFzZV9vZmZzZXQgPSAwOwotQEAgLTM2ODYsNyArMzY4Niw3IEBACitAQCAt MzY5MCw3ICszNjkwLDcgQEAKICBzdHJ1Y3QgdmFsdWUgKgogIHZhbHVlX2Z1bGxfb2JqZWN0IChz dHJ1Y3QgdmFsdWUgKmFyZ3AsIAogIAkJICAgc3RydWN0IHR5cGUgKnJ0eXBlLCAKQEAgLTI5NjYs MTAgKzI5NjksMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi92YWxvcHMuYwog IAkJICAgaW50IHh1c2luZ19lbmMpCiAgewogICAgc3RydWN0IHR5cGUgKnJlYWxfdHlwZTsKLUlu ZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvdmFscHJpbnQuYworSW5kZXg6IGdkYi03Ljk5 LjkwLjIwMTcwNDIwL2dkYi92YWxwcmludC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAu MjAxNzAyMjYub3JpZy9nZGIvdmFscHJpbnQuYwkyMDE3LTAyLTI2IDIxOjU5OjM2LjA0MzcxOTM2 OSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi92YWxwcmludC5jCTIwMTctMDIt MjYgMjI6MDQ6MDMuNDUwNjEwMDIyICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3Jp Zy9nZGIvdmFscHJpbnQuYwkyMDE3LTA0LTIwIDIzOjA4OjU0LjE4NTM5NDkxMyArMDIwMAorKysr IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi92YWxwcmludC5jCTIwMTctMDQtMjAgMjM6MDg6NTYu OTk4NDEwNzY0ICswMjAwCiBAQCAtOTMzLDcgKzkzMyw3IEBACiAgCiAgdm9pZApAQCAtMjk3OSw3 ICsyOTgyLDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi92YWxwcmludC5jCiAg CQkgICBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKICAJCSAgIHN0cnVjdCB2 YWx1ZSAqb3JpZ2luYWxfdmFsdWUsCiAgCQkgICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0 aW9ucyAqb3B0aW9ucywKLUBAIC0xODY5LDcgKzE4NjksNyBAQAorQEAgLTE4NzMsNyArMTg3Myw3 IEBACiAgCiAgdm9pZAogIHByaW50X2hleF9jaGFycyAoc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwg Y29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCkBAIC0yOTg4LDcgKzI5OTEsNyBAQCBJbmRleDogZ2Ri LTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3ZhbHByaW50LmMKICB7CiAgICBjb25zdCBnZGJfYnl0ZSAq cDsKICAKLUBAIC0xOTkxLDE3ICsxOTkxLDE3IEBACitAQCAtMTk5NSwxNyArMTk5NSwxNyBAQAog IAkJCSAgaW50IHJlY3Vyc2UsCiAgCQkJICBzdHJ1Y3QgdmFsdWUgKnZhbCwKICAJCQkgIGNvbnN0 IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zLApAQCAtMzAxMSw3ICszMDE0LDcg QEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi92YWxwcmludC5jCiAgICBMT05HRVNU IGxvd19ib3VuZCwgaGlnaF9ib3VuZDsKICAgIExPTkdFU1QgbG93X3BvcywgaGlnaF9wb3M7CiAg Ci1AQCAtMjA5MSw3ICsyMDkxLDcgQEAKK0BAIC0yMDk1LDcgKzIwOTUsNyBAQAogIAkJICAgICBh ZGRyZXNzLCBzdHJlYW0sIHJlY3Vyc2UgKyAxLCB2YWwsIG9wdGlvbnMsCiAgCQkgICAgIGN1cnJl bnRfbGFuZ3VhZ2UpOwogIAkgIGFubm90YXRlX2VsdF9yZXAgKHJlcHMpOwpAQCAtMzAyMCw3ICsz MDIzLDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi92YWxwcmludC5jCiAgCSAg YW5ub3RhdGVfZWx0X3JlcF9lbmQgKCk7CiAgCiAgCSAgaSA9IHJlcDEgLSAxOwotQEAgLTI3NDMs NyArMjc0Myw3IEBACitAQCAtMjc0Nyw3ICsyNzQ3LDcgQEAKICAKICB2b2lkCiAgZ2VuZXJpY19w cmludHN0ciAoc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgc3RydWN0IHR5cGUgKnR5cGUsIApAQCAt MzAyOSwxMCArMzAzMiwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3ZhbHBy aW50LmMKICAJCSAgY29uc3QgY2hhciAqZW5jb2RpbmcsIGludCBmb3JjZV9lbGxpcHNlcywKICAJ CSAgaW50IHF1b3RlX2NoYXIsIGludCBjX3N0eWxlX3Rlcm1pbmF0b3IsCiAgCQkgIGNvbnN0IHN0 cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zKQotSW5kZXg6IGdkYi03LjEyLjUwLjIw MTcwMjI2L2dkYi92YWxwcmludC5oCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Zh bHByaW50LmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi92 YWxwcmludC5oCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcu MTIuNTAuMjAxNzAyMjYvZ2RiL3ZhbHByaW50LmgJMjAxNy0wMi0yNiAyMjowNDowMy40NTA2MTAw MjIgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi92YWxwcmludC5oCTIw MTctMDQtMjAgMjM6MDg6NTQuMTg2Mzk0OTE5ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0 MjAvZ2RiL3ZhbHByaW50LmgJMjAxNy0wNC0yMCAyMzowODo1Ni45OTg0MTA3NjQgKzAyMDAKIEBA IC0xMTksNyArMTE5LDcgQEAKICAJCQkJICAgICAgQ09SRV9BRERSLCBzdHJ1Y3QgdWlfZmlsZSAq LCBpbnQsCiAgCQkJCSAgICAgIHN0cnVjdCB2YWx1ZSAqLApAQCAtMzA2OSwxMCArMzA3MiwxMCBA QCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3ZhbHByaW50LmgKICAJCQkgICAgICBj b25zdCBjaGFyICplbmNvZGluZywgaW50IGZvcmNlX2VsbGlwc2VzLAogIAkJCSAgICAgIGludCBx dW90ZV9jaGFyLCBpbnQgY19zdHlsZV90ZXJtaW5hdG9yLAogIAkJCSAgICAgIGNvbnN0IHN0cnVj dCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zKTsKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3 MDIyNi9nZGIvdmFsdWUuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi92YWx1ZS5j CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvdmFsdWUuYwky MDE3LTAyLTI2IDIxOjU5OjM2LjA0MzcxOTM2OSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcw MjI2L2dkYi92YWx1ZS5jCTIwMTctMDItMjYgMjI6MDQ6MDMuNDUxNjEwMDI5ICswMTAwCistLS0g Z2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvdmFsdWUuYwkyMDE3LTA0LTIwIDIzOjA4OjU0 LjE4NzM5NDkyNCArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi92YWx1ZS5jCTIw MTctMDQtMjAgMjM6MDg6NTYuOTk5NDEwNzcwICswMjAwCiBAQCAtMzY3LDcgKzM2Nyw4IEBACiAg fQogIApAQCAtMzA5Niw3ICszMDk5LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dk Yi92YWx1ZS5jCiAgewogICAgLyogRWFjaCBhcnJheSBlbGVtZW50IGNvcnJlc3BvbmRzIHRvIGEg cmFuZ2VzIHNvdXJjZSAodW5hdmFpbGFibGUsCiAgICAgICBvcHRpbWl6ZWQgb3V0KS4gICcxJyBp cyBmb3IgVkFMMSwgJzInIGZvciBWQUwyLiAgKi8KLUBAIC0xNDU2LDcgKzE0NTcsOCBAQAorQEAg LTE0NTUsNyArMTQ1Niw4IEBACiAgICAgdGhlIGZvbGxvd2luZyBMRU5HVEggYnl0ZXMuICAqLwog IAogIHZvaWQKQEAgLTMxMDYsMTAgKzMxMDksMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcw MjI2L2dkYi92YWx1ZS5jCiAgewogICAgbWFya192YWx1ZV9iaXRzX29wdGltaXplZF9vdXQgKHZh bHVlLAogIAkJCQkgb2Zmc2V0ICogVEFSR0VUX0NIQVJfQklULAotSW5kZXg6IGdkYi03LjEyLjUw LjIwMTcwMjI2L2dkYi92YWx1ZS5oCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Zh bHVlLmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi92YWx1 ZS5oCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAu MjAxNzAyMjYvZ2RiL3ZhbHVlLmgJMjAxNy0wMi0yNiAyMjowNDowMy40NTE2MTAwMjkgKzAxMDAK Ky0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi92YWx1ZS5oCTIwMTctMDQtMjAgMjM6 MDg6NTQuMTg3Mzk0OTI0ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3ZhbHVl LmgJMjAxNy0wNC0yMCAyMzowODo1Ni45OTk0MTA3NzAgKzAyMDAKIEBAIC0yNDYsNyArMjQ2LDcg QEAKICAgIC8qIElmIG5vbi1OVUxMLCB0aGlzIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIg dGhlIGluZGljYXRlZCBiaXRzCiAgICAgICBvZiBWQUxVRSBhcmUgYSBzeW50aGV0aWMgcG9pbnRl ci4gICovCkBAIC0zMTY2LDExICszMTY5LDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIy Ni9nZGIvdmFsdWUuaAogIAogIC8qIFVzZXIgZnVuY3Rpb24gaGFuZGxlci4gICovCiAgCi1JbmRl eDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3MzOTAtbGludXgtbmF0LmMKK0luZGV4OiBnZGIt Ny45OS45MC4yMDE3MDQyMC9nZGIvczM5MC1saW51eC1uYXQuYwogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdk Yi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2RiL3MzOTAtbGludXgtbmF0LmMJMjAxNy0wMi0yNiAy MTo1OTozNi4wNDM3MTkzNjkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvczM5 MC1saW51eC1uYXQuYwkyMDE3LTAyLTI2IDIyOjA0OjAzLjQ1MTYxMDAyOSArMDEwMAotQEAgLTg5 OSw3ICs4OTksNyBAQAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3MzOTAtbGlu dXgtbmF0LmMJMjAxNy0wNC0yMCAyMzowODo1NC4xODgzOTQ5MzAgKzAyMDAKKysrKyBnZGItNy45 OS45MC4yMDE3MDQyMC9nZGIvczM5MC1saW51eC1uYXQuYwkyMDE3LTA0LTIwIDIzOjA4OjU3LjAw MDQxMDc3NSArMDIwMAorQEAgLTkwMCw3ICs5MDAsNyBAQAogIAogIHN0YXRpYyBpbnQKICBzMzkw X3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoc3RydWN0IHRhcmdldF9vcHMgKnNlbGYsCkBA IC0zMTc5LDEwICszMTgyLDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvczM5 MC1saW51eC1uYXQuYwogIHsKICAgIHJldHVybiAxOwogIH0KLUluZGV4OiBnZGItNy4xMi41MC4y MDE3MDIyNi9nZGIvdGFyZ2V0LWRlbGVnYXRlcy5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0 MjAvZ2RiL3RhcmdldC1kZWxlZ2F0ZXMuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIw MTcwMjI2Lm9yaWcvZ2RiL3RhcmdldC1kZWxlZ2F0ZXMuYwkyMDE3LTAyLTI2IDIxOjU5OjM2LjA0 MzcxOTM2OSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi90YXJnZXQtZGVsZWdh dGVzLmMJMjAxNy0wMi0yNiAyMjowNDowMy40NTI2MTAwMzYgKzAxMDAKKy0tLSBnZGItNy45OS45 MC4yMDE3MDQyMC5vcmlnL2dkYi90YXJnZXQtZGVsZWdhdGVzLmMJMjAxNy0wNC0yMCAyMzowODo1 NC4xODkzOTQ5MzYgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGFyZ2V0LWRl bGVnYXRlcy5jCTIwMTctMDQtMjAgMjM6MDg6NTcuMDAwNDEwNzc1ICswMjAwCiBAQCAtNzYwLDE0 ICs3NjAsMTQgQEAKICB9CiAgCkBAIC0zMjA5LDEwICszMjEyLDEwIEBAIEluZGV4OiBnZGItNy4x Mi41MC4yMDE3MDIyNi9nZGIvdGFyZ2V0LWRlbGVnYXRlcy5jCiAgICBmcHV0c191bmZpbHRlcmVk ICgiKSA9ICIsIGdkYl9zdGRsb2cpOwogICAgdGFyZ2V0X2RlYnVnX3ByaW50X2ludCAocmVzdWx0 KTsKICAgIGZwdXRzX3VuZmlsdGVyZWQgKCJcbiIsIGdkYl9zdGRsb2cpOwotSW5kZXg6IGdkYi03 LjEyLjUwLjIwMTcwMjI2L2dkYi9hYXJjaDY0LWxpbnV4LW5hdC5jCitJbmRleDogZ2RiLTcuOTku OTAuMjAxNzA0MjAvZ2RiL2FhcmNoNjQtbGludXgtbmF0LmMKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt Ny4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9hYXJjaDY0LWxpbnV4LW5hdC5jCTIwMTctMDItMjYg MjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2Fh cmNoNjQtbGludXgtbmF0LmMJMjAxNy0wMi0yNiAyMjowNDowMy40NTI2MTAwMzYgKzAxMDAKKy0t LSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9hYXJjaDY0LWxpbnV4LW5hdC5jCTIwMTct MDQtMjAgMjM6MDg6NTQuMTg5Mzk0OTM2ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAv Z2RiL2FhcmNoNjQtbGludXgtbmF0LmMJMjAxNy0wNC0yMCAyMzowODo1Ny4wMDE0MTA3ODEgKzAy MDAKIEBAIC03MDgsNyArNzA4LDcgQEAKICAKICBzdGF0aWMgaW50CkBAIC0zMjIyLDEwICszMjI1 LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvYWFyY2g2NC1saW51eC1uYXQu YwogIHsKICAgIHJldHVybiBhYXJjaDY0X2xpbnV4X3JlZ2lvbl9va19mb3Jfd2F0Y2hwb2ludCAo YWRkciwgbGVuKTsKICB9Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL25hdC94ODYt ZHJlZ3MuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9uYXQveDg2LWRyZWdzLmMK ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9uYXQveDg2LWRy ZWdzLmMJMjAxNy0wMi0yNiAyMTo1OTozNi4wNDM3MTkzNjkgKzAxMDAKLSsrKyBnZGItNy4xMi41 MC4yMDE3MDIyNi9nZGIvbmF0L3g4Ni1kcmVncy5jCTIwMTctMDItMjYgMjI6MDQ6MDMuNDUzNjEw MDQzICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvbmF0L3g4Ni1kcmVn cy5jCTIwMTctMDQtMjAgMjM6MDg6NTQuMTg5Mzk0OTM2ICswMjAwCisrKysgZ2RiLTcuOTkuOTAu MjAxNzA0MjAvZ2RiL25hdC94ODYtZHJlZ3MuYwkyMDE3LTA0LTIwIDIzOjA4OjU3LjAwMTQxMDc4 MSArMDIwMAogQEAgLTM4NCw3ICszODQsNyBAQAogIAogIHN0YXRpYyBpbnQKQEAgLTMyNDQsMTEg KzMyNDcsMTEgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9uYXQveDg2LWRyZWdz LmMKICB7CiAgICBpbnQgbnJlZ3M7CiAgCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2Ri L2NvbXBpbGUvY29tcGlsZS1jLXN1cHBvcnQuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIw L2dkYi9jb21waWxlL2NvbXBpbGUtYy1zdXBwb3J0LmMKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4x Mi41MC4yMDE3MDIyNi5vcmlnL2dkYi9jb21waWxlL2NvbXBpbGUtYy1zdXBwb3J0LmMJMjAxNy0w Mi0yNiAyMTo1OTozNi4wNDM3MTkzNjkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9n ZGIvY29tcGlsZS9jb21waWxlLWMtc3VwcG9ydC5jCTIwMTctMDItMjYgMjI6MDQ6MDMuNDUzNjEw MDQzICswMTAwCi1AQCAtMzA3LDExICszMDcsMTEgQEAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQy MC5vcmlnL2dkYi9jb21waWxlL2NvbXBpbGUtYy1zdXBwb3J0LmMJMjAxNy0wNC0yMCAyMzowODo1 NC4xODkzOTQ5MzYgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvY29tcGlsZS9j b21waWxlLWMtc3VwcG9ydC5jCTIwMTctMDQtMjAgMjM6MDg6NTcuMDAxNDEwNzgxICswMjAwCitA QCAtMzA5LDExICszMDksMTEgQEAKICAKICAJICAgICAgZGVmYXVsdDoKICAJCWZwcmludGZfdW5m aWx0ZXJlZCAoc3RyZWFtLApAQCAtMzI2MiwxMCArMzI2NSwxMCBAQCBJbmRleDogZ2RiLTcuMTIu NTAuMjAxNzAyMjYvZ2RiL2NvbXBpbGUvY29tcGlsZS1jLXN1cHBvcnQuYwogIAkgICAgICB9CiAg CSAgICBmcHV0c191bmZpbHRlcmVkICgiO1xuIiwgc3RyZWFtKTsKICAKLUluZGV4OiBnZGItNy4x Mi41MC4yMDE3MDIyNi9nZGIvbmF0L3g4Ni1kcmVncy5oCitJbmRleDogZ2RiLTcuOTkuOTAuMjAx NzA0MjAvZ2RiL25hdC94ODYtZHJlZ3MuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIw MTcwMjI2Lm9yaWcvZ2RiL25hdC94ODYtZHJlZ3MuaAkyMDE3LTAyLTI2IDIxOjU5OjM2LjA0Mzcx OTM2OSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9uYXQveDg2LWRyZWdzLmgJ MjAxNy0wMi0yNiAyMjowNDowMy40NTM2MTAwNDMgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3 MDQyMC5vcmlnL2dkYi9uYXQveDg2LWRyZWdzLmgJMjAxNy0wNC0yMCAyMzowODo1NC4xOTAzOTQ5 NDIgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvbmF0L3g4Ni1kcmVncy5oCTIw MTctMDQtMjAgMjM6MDg6NTcuMDAxNDEwNzgxICswMjAwCiBAQCAtMTE2LDcgKzExNiw3IEBACiAg LyogUmV0dXJuIG5vbi16ZXJvIGlmIHdlIGNhbiB3YXRjaCBhIG1lbW9yeSByZWdpb24gdGhhdCBz dGFydHMgYXQKICAgICBhZGRyZXNzIEFERFIgYW5kIHdob3NlIGxlbmd0aCBpcyBMRU4gYnl0ZXMu ICAqLwpAQCAtMzI3NSwxMCArMzI3OCwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYv Z2RiL25hdC94ODYtZHJlZ3MuaAogIAogIC8qIElmIHRoZSBpbmZlcmlvciBoYXMgc29tZSBicmVh ay93YXRjaHBvaW50IHRoYXQgdHJpZ2dlcmVkLCBzZXQgdGhlCiAgICAgYWRkcmVzcyBhc3NvY2lh dGVkIHdpdGggdGhhdCBicmVhay93YXRjaHBvaW50IGFuZCByZXR1cm4gdHJ1ZS4KLUluZGV4OiBn ZGItNy4xMi41MC4yMDE3MDIyNi9nZGIveDg2LW5hdC5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAx NzA0MjAvZ2RiL3g4Ni1uYXQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2 Lm9yaWcvZ2RiL3g4Ni1uYXQuYwkyMDE3LTAyLTI2IDIxOjU5OjM2LjA0MzcxOTM2OSArMDEwMAot KysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi94ODYtbmF0LmMJMjAxNy0wMi0yNiAyMjowNDow My40NTM2MTAwNDMgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi94ODYt bmF0LmMJMjAxNy0wNC0yMCAyMzowODo1NC4xOTAzOTQ5NDIgKzAyMDAKKysrKyBnZGItNy45OS45 MC4yMDE3MDQyMC9nZGIveDg2LW5hdC5jCTIwMTctMDQtMjAgMjM6MDg6NTcuMDAxNDEwNzgxICsw MjAwCiBAQCAtMTc0LDcgKzE3NCw3IEBACiAgCiAgc3RhdGljIGludApAQCAtMzI4OCwxMCArMzI5 MSwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3g4Ni1uYXQuYwogIHsKICAg IHN0cnVjdCB4ODZfZGVidWdfcmVnX3N0YXRlICpzdGF0ZQogICAgICA9IHg4Nl9kZWJ1Z19yZWdf c3RhdGUgKHB0aWRfZ2V0X3BpZCAoaW5mZXJpb3JfcHRpZCkpOwotSW5kZXg6IGdkYi03LjEyLjUw LjIwMTcwMjI2L2dkYi9ydXN0LWxhbmcuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dk Yi9ydXN0LWxhbmcuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcv Z2RiL3J1c3QtbGFuZy5jCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysg Z2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3J1c3QtbGFuZy5jCTIwMTctMDItMjYgMjI6MDQ6MDMu NDU0NjEwMDUwICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvcnVzdC1s YW5nLmMJMjAxNy0wNC0yMCAyMzowODo1NC4xOTAzOTQ5NDIgKzAyMDAKKysrKyBnZGItNy45OS45 MC4yMDE3MDQyMC9nZGIvcnVzdC1sYW5nLmMJMjAxNy0wNC0yMCAyMzowODo1Ny4wMDI0MTA3ODcg KzAyMDAKIEBAIC00MzksNyArNDM5LDcgQEAKICAKICBzdGF0aWMgdm9pZApAQCAtMzMxMCwxMCAr MzMxMywxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3J1c3QtbGFuZy5jCiAg CQlDT1JFX0FERFIgYWRkcmVzcywgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgaW50IHJlY3Vyc2Us CiAgCQlzdHJ1Y3QgdmFsdWUgKnZhbCwKICAJCWNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRp b25zICpvcHRpb25zKQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9hcmNoLXV0aWxz LmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvYXJjaC11dGlscy5jCiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvYXJjaC11dGlscy5jCTIwMTct MDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYv Z2RiL2FyY2gtdXRpbHMuYwkyMDE3LTAyLTI2IDIyOjA0OjAzLjQ1NDYxMDA1MCArMDEwMAorLS0t IGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2FyY2gtdXRpbHMuYwkyMDE3LTA0LTIwIDIz OjA4OjU0LjE5MTM5NDk0NyArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9hcmNo LXV0aWxzLmMJMjAxNy0wNC0yMCAyMzowODo1Ny4wMDI0MTA3ODcgKzAyMDAKIEBAIC0yNDcsNyAr MjQ3LDcgQEAKICAKICBjb25zdCBzdHJ1Y3QgZmxvYXRmb3JtYXQgKioKQEAgLTMzMjMsMTAgKzMz MjYsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9hcmNoLXV0aWxzLmMKICB7 CiAgICBjb25zdCBzdHJ1Y3QgZmxvYXRmb3JtYXQgKipmb3JtYXQgPSBOVUxMOwogIAotSW5kZXg6 IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9hcmNoLXV0aWxzLmgKK0luZGV4OiBnZGItNy45OS45 MC4yMDE3MDQyMC9nZGIvYXJjaC11dGlscy5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAu MjAxNzAyMjYub3JpZy9nZGIvYXJjaC11dGlscy5oCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5 MzY5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2FyY2gtdXRpbHMuaAkyMDE3 LTAyLTI2IDIyOjA0OjAzLjQ1NDYxMDA1MCArMDEwMAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIw Lm9yaWcvZ2RiL2FyY2gtdXRpbHMuaAkyMDE3LTA0LTIwIDIzOjA4OjU0LjE5MTM5NDk0NyArMDIw MAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9hcmNoLXV0aWxzLmgJMjAxNy0wNC0yMCAy MzowODo1Ny4wMDI0MTA3ODcgKzAyMDAKIEBAIC0xNDQsNyArMTQ0LDcgQEAKICAvKiBEZWZhdWx0 IGltcGxlbWVudGF0aW9uIG9mIGdkYmFyY2hfZmxvYXRmb3JtYXRfZm9yX3R5cGUuICAqLwogIGV4 dGVybiBjb25zdCBzdHJ1Y3QgZmxvYXRmb3JtYXQgKioKQEAgLTMzMzYsMTAgKzMzMzksMTAgQEAg SW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9hcmNoLXV0aWxzLmgKICAKICBleHRlcm4g Q09SRV9BRERSIGdlbmVyaWNfc2tpcF90cmFtcG9saW5lX2NvZGUgKHN0cnVjdCBmcmFtZV9pbmZv ICpmcmFtZSwKICAJCQkJCSAgICAgICBDT1JFX0FERFIgcGMpOwotSW5kZXg6IGdkYi03LjEyLjUw LjIwMTcwMjI2L2dkYi9maW5kY21kLmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIv ZmluZGNtZC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIv ZmluZGNtZC5jCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysgZ2RiLTcu MTIuNTAuMjAxNzAyMjYvZ2RiL2ZpbmRjbWQuYwkyMDE3LTAyLTI2IDIyOjA0OjAzLjQ1NDYxMDA1 MCArMDEwMAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2ZpbmRjbWQuYwkyMDE3 LTA0LTIwIDIzOjA4OjU0LjE5MTM5NDk0NyArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIw L2dkYi9maW5kY21kLmMJMjAxNy0wNC0yMCAyMzowODo1Ny4wMDI0MTA3ODcgKzAyMDAKIEBAIC0x ODAsNyArMTgwLDcgQEAKICAJIG5lZWQgdG8gZ3JvdyB0aGUgcGF0dGVybiBidWYuICAqLwogICAg ICAgIHBhdHRlcm5fYnVmX3NpemVfbmVlZCA9IChwYXR0ZXJuX2J1Zl9lbmQgLSBwYXR0ZXJuX2J1 ZgpAQCAtMzM0OSwxMSArMzM1MiwxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2Ri L2ZpbmRjbWQuYwogICAgICAgIGlmIChwYXR0ZXJuX2J1Zl9zaXplX25lZWQgPiBwYXR0ZXJuX2J1 Zl9zaXplKQogIAl7CiAgCSAgc2l6ZV90IGN1cnJlbnRfb2Zmc2V0ID0gcGF0dGVybl9idWZfZW5k IC0gcGF0dGVybl9idWY7Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2dkYmFyY2gu YworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9nZGJhcmNoLmMKID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9nZGJhcmNoLmMJMjAxNy0wMi0yNiAy MTo1OTozNi4wNDM3MTkzNjkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZ2Ri YXJjaC5jCTIwMTctMDItMjYgMjI6MDQ6MDMuNDU1NjEwMDU3ICswMTAwCi1AQCAtMTc0MCw3ICsx NzQwLDcgQEAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9nZGJhcmNoLmMJMjAx Ny0wNC0yMCAyMzowODo1NC4xOTIzOTQ5NTMgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQy MC9nZGIvZ2RiYXJjaC5jCTIwMTctMDQtMjAgMjM6MDg6NTcuMDAzNDEwNzkyICswMjAwCitAQCAt MTgwNiw3ICsxODA2LDcgQEAKICB9CiAgCiAgY29uc3Qgc3RydWN0IGZsb2F0Zm9ybWF0ICoqCkBA IC0zMzYyLDExICszMzY1LDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZ2Ri YXJjaC5jCiAgewogICAgZ2RiX2Fzc2VydCAoZ2RiYXJjaCAhPSBOVUxMKTsKICAgIGdkYl9hc3Nl cnQgKGdkYmFyY2gtPmZsb2F0Zm9ybWF0X2Zvcl90eXBlICE9IE5VTEwpOwotSW5kZXg6IGdkYi03 LjEyLjUwLjIwMTcwMjI2L2dkYi9nZGJhcmNoLmgKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQy MC9nZGIvZ2RiYXJjaC5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3Jp Zy9nZGIvZ2RiYXJjaC5oCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICswMTAwCi0rKysg Z2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2dkYmFyY2guaAkyMDE3LTAyLTI2IDIyOjA0OjAzLjQ1 NjYxMDA2NCArMDEwMAotQEAgLTE5MSw4ICsxOTEsOCBAQAorLS0tIGdkYi03Ljk5LjkwLjIwMTcw NDIwLm9yaWcvZ2RiL2dkYmFyY2guaAkyMDE3LTA0LTIwIDIzOjA4OjU0LjE5MjM5NDk1MyArMDIw MAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9nZGJhcmNoLmgJMjAxNy0wNC0yMCAyMzow ODo1Ny4wMDQ0MTA3OTggKzAyMDAKK0BAIC0yMDMsOCArMjAzLDggQEAKICAgICBOQU1FLCBpZiBu b24tTlVMTCwgaXMgdGhlIHR5cGUgbmFtZSwgd2hpY2ggbWF5IGJlIHVzZWQgdG8gZGlzdGluZ3Vp c2gKICAgICBkaWZmZXJlbnQgdGFyZ2V0IGZvcm1hdHMgb2YgdGhlIHNhbWUgbGVuZ3RoLiAqLwog IApAQCAtMzM3NywxMSArMzM4MCwxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2Ri L2dkYmFyY2guaAogIGV4dGVybiB2b2lkIHNldF9nZGJhcmNoX2Zsb2F0Zm9ybWF0X2Zvcl90eXBl IChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgZ2RiYXJjaF9mbG9hdGZvcm1hdF9mb3JfdHlwZV9m dHlwZSAqZmxvYXRmb3JtYXRfZm9yX3R5cGUpOwogIAogIC8qIEZvciBtb3N0IHRhcmdldHMsIGEg cG9pbnRlciBvbiB0aGUgdGFyZ2V0IGFuZCBpdHMgcmVwcmVzZW50YXRpb24gYXMgYW4KLUluZGV4 OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZ2RiYXJjaC5zaAorSW5kZXg6IGdkYi03Ljk5Ljkw LjIwMTcwNDIwL2dkYi9nZGJhcmNoLnNoCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAx NzAyMjYub3JpZy9nZGIvZ2RiYXJjaC5zaAkyMDE3LTAyLTI2IDIxOjU5OjM2LjA0MzcxOTM2OSAr MDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nZGJhcmNoLnNoCTIwMTctMDItMjYg MjI6MDQ6MDMuNDU2NjEwMDY0ICswMTAwCi1AQCAtMzg2LDcgKzM4Niw3IEBACistLS0gZ2RiLTcu OTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvZ2RiYXJjaC5zaAkyMDE3LTA0LTIwIDIzOjA4OjU0LjE5 MzM5NDk1OCArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9nZGJhcmNoLnNoCTIw MTctMDQtMjAgMjM6MDg6NTcuMDA0NDEwNzk4ICswMjAwCitAQCAtMzkyLDcgKzM5Miw3IEBACiAg IyBSZXR1cm5zIHRoZSBmbG9hdGluZy1wb2ludCBmb3JtYXQgdG8gYmUgdXNlZCBmb3IgdmFsdWVz IG9mIGxlbmd0aCBMRU5HVEguCiAgIyBOQU1FLCBpZiBub24tTlVMTCwgaXMgdGhlIHR5cGUgbmFt ZSwgd2hpY2ggbWF5IGJlIHVzZWQgdG8gZGlzdGluZ3Vpc2gKICAjIGRpZmZlcmVudCB0YXJnZXQg Zm9ybWF0cyBvZiB0aGUgc2FtZSBsZW5ndGguCkBAIC0zMzkwLDExICszMzkzLDExIEBAIEluZGV4 OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZ2RiYXJjaC5zaAogIAogICMgRm9yIG1vc3QgdGFy Z2V0cywgYSBwb2ludGVyIG9uIHRoZSB0YXJnZXQgYW5kIGl0cyByZXByZXNlbnRhdGlvbiBhcyBh bgogICMgYWRkcmVzcyBpbiBHREIgaGF2ZSB0aGUgc2FtZSBzaXplIGFuZCAibG9vayB0aGUgc2Ft ZSIuICBGb3Igc3VjaCBhCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2kzODYtdGRl cC5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2kzODYtdGRlcC5jCiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvaTM4Ni10ZGVwLmMJMjAxNy0w Mi0yNiAyMTo1OTozNi4wNDM3MTkzNjkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9n ZGIvaTM4Ni10ZGVwLmMJMjAxNy0wMi0yNiAyMjowNDowMy40NTg2MTAwNzkgKzAxMDAKLUBAIC04 MjA0LDcgKzgyMDQsNyBAQAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2kzODYt dGRlcC5jCTIwMTctMDQtMjAgMjM6MDg6NTQuMTk0Mzk0OTY0ICswMjAwCisrKysgZ2RiLTcuOTku OTAuMjAxNzA0MjAvZ2RiL2kzODYtdGRlcC5jCTIwMTctMDQtMjAgMjM6MDg6NTcuMDA1NDEwODA0 ICswMjAwCitAQCAtODE4MCw3ICs4MTgwLDcgQEAKICAKICBjb25zdCBzdHJ1Y3QgZmxvYXRmb3Jt YXQgKioKICBpMzg2X2Zsb2F0Zm9ybWF0X2Zvcl90eXBlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJj aCwKQEAgLTM0MDMsMTAgKzM0MDYsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dk Yi9pMzg2LXRkZXAuYwogIHsKICAgIGlmIChsZW4gPT0gMTI4ICYmIG5hbWUpCiAgICAgIGlmIChz dHJjbXAgKG5hbWUsICJfX2Zsb2F0MTI4IikgPT0gMAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcw MjI2L2dkYi9wcGMtbGludXgtdGRlcC5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2Ri L3BwYy1saW51eC10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5v cmlnL2dkYi9wcGMtbGludXgtdGRlcC5jCTIwMTctMDItMjYgMjE6NTk6MzYuMDQzNzE5MzY5ICsw MTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3BwYy1saW51eC10ZGVwLmMJMjAxNy0w Mi0yNiAyMjowNDowMy40NTg2MTAwNzkgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5v cmlnL2dkYi9wcGMtbGludXgtdGRlcC5jCTIwMTctMDQtMjAgMjM6MDg6NTQuMTk1Mzk0OTcwICsw MjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3BwYy1saW51eC10ZGVwLmMJMjAxNy0w NC0yMCAyMzowODo1Ny4wMDY0MTA4MDkgKzAyMDAKIEBAIC0xNjMyLDcgKzE2MzIsNyBAQAogIAog IGNvbnN0IHN0cnVjdCBmbG9hdGZvcm1hdCAqKgpAQCAtMzQxNiwxMCArMzQxOSwxMCBAQCBJbmRl eDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3BwYy1saW51eC10ZGVwLmMKICB7CiAgICBpZiAo bGVuID09IDEyOCAmJiBuYW1lKQogICAgICBpZiAoc3RyY21wIChuYW1lLCAiX19mbG9hdDEyOCIp ID09IDAKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvdHJhY2Vwb2ludC5oCitJbmRl eDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3RyYWNlcG9pbnQuaAogPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2RiL3RyYWNlcG9pbnQuaAkyMDE3LTAyLTI2IDIy OjA1OjE0Ljc3NTExNDMwOSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi90cmFj ZXBvaW50LmgJMjAxNy0wMi0yNiAyMjowNToyNC44MDcxODUyMzkgKzAxMDAKKy0tLSBnZGItNy45 OS45MC4yMDE3MDQyMC5vcmlnL2dkYi90cmFjZXBvaW50LmgJMjAxNy0wNC0yMCAyMzowODo1NC4x OTUzOTQ5NzAgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdHJhY2Vwb2ludC5o CTIwMTctMDQtMjAgMjM6MDg6NTcuMDA2NDEwODA5ICswMjAwCiBAQCAtMjU0LDcgKzI1NCw3IEBA CiAgICB2b2lkIGFkZF9yZWdpc3RlciAodW5zaWduZWQgaW50IHJlZ25vKTsKICAgIHZvaWQgYWRk X21lbXJhbmdlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKCmRpZmYgLS1naXQgYS9nZGItcmhi ejc5NTQyNC1iaXRwb3MtMjNvZjI1LnBhdGNoIGIvZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIzb2Yy NS5wYXRjaAppbmRleCBmMGU0ZmYxLi43YjQ5NjEyIDEwMDY0NAotLS0gYS9nZGItcmhiejc5NTQy NC1iaXRwb3MtMjNvZjI1LnBhdGNoCisrKyBiL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yM29mMjUu cGF0Y2gKQEAgLTEzNywxMCArMTM3LDEwIEBAIENvbnRlbnQtVHlwZTogdGV4dC94LXBhdGNoCiBD b250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA3Yml0CiBDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRh Y2htZW50OyBmaWxlbmFtZT1iaXRwb3MtdGRlcC5wYXRjaAogCi1JbmRleDogZ2RiLTcuMTIuNTAu MjAxNzAzMDkvZ2RiL2FscGhhLXRkZXAuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dk Yi9hbHBoYS10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDMwOS5vcmln L2dkYi9hbHBoYS10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNTowOS42OTE1NDEwNDkgKzAxMDAKLSsr KyBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvYWxwaGEtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6 MTQuNDE0NTczOTQzICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvYWxw aGEtdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MDcuODk0NTY2MzcxICswMjAwCisrKysgZ2RiLTcu OTkuOTAuMjAxNzA0MjAvZ2RiL2FscGhhLXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjExLjIyODU4 ODcwMyArMDIwMAogQEAgLTMwMCwxNyArMzAwLDE3IEBACiAgewogICAgZW51bSBiZmRfZW5kaWFu IGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwpAQCAtMTgzLDEwICsx ODMsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9hbHBoYS10ZGVwLmMKICAJ ICAgICAgbWVtY3B5IChhcmdfcmVnX2J1ZmZlciArIG9mZnNldCwgY29udGVudHMsIHRsZW4pOwog IAkgICAgICBvZmZzZXQgKz0gdGxlbjsKICAJICAgICAgY29udGVudHMgKz0gdGxlbjsKLUluZGV4 OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvYW1kNjQtdGRlcC5jCitJbmRleDogZ2RiLTcuOTku OTAuMjAxNzA0MjAvZ2RiL2FtZDY0LXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUw LjIwMTcwMzA5Lm9yaWcvZ2RiL2FtZDY0LXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjA5LjY5MzU0 MTA2MiArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9hbWQ2NC10ZGVwLmMJMjAx Ny0wMy0wOSAyMzozNToxNC40MTU1NzM5NTAgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQy MC5vcmlnL2dkYi9hbWQ2NC10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjowNy44OTc1NjYzOTEgKzAy MDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvYW1kNjQtdGRlcC5jCTIwMTctMDQtMjAg MjM6MTI6MTEuMjI5NTg4NzEwICswMjAwCiBAQCAtNzM1LDcgKzczNSw3IEBACiAgCQkgICAgZ2Ri X2J5dGUgKnJlYWRidWYsIGNvbnN0IGdkYl9ieXRlICp3cml0ZWJ1ZikKICB7CkBAIC0yMzgsMTEg KzIzOCwxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL2FtZDY0LXRkZXAuYwog IAkgICAgICByZWdjYWNoZV9yYXdfd3JpdGVfcGFydCAocmVnY2FjaGUsIHJlZ251bSwgb2Zmc2V0 LCA4LCBidWYpOwogIAkgICAgfQogIAl9Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2Ri L2FtZDY0LXdpbmRvd3MtdGRlcC5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2Ft ZDY0LXdpbmRvd3MtdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDku b3JpZy9nZGIvYW1kNjQtd2luZG93cy10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNTowOS42OTM1NDEw NjIgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvYW1kNjQtd2luZG93cy10ZGVw LmMJMjAxNy0wMy0wOSAyMzozNToxNC40MTY1NzM5NTcgKzAxMDAKLUBAIC0yODksNyArMjg5LDcg QEAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9hbWQ2NC13aW5kb3dzLXRkZXAu YwkyMDE3LTA0LTIwIDIzOjEyOjA3Ljg5NzU2NjM5MSArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIw MTcwNDIwL2dkYi9hbWQ2NC13aW5kb3dzLXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjExLjIzMDU4 ODcxNyArMDIwMAorQEAgLTI5MCw3ICsyOTAsNyBAQAogIAkJCSAgICBzdHJ1Y3QgdHlwZSAqdHlw ZSwgc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwKICAJCQkgICAgZ2RiX2J5dGUgKnJlYWRidWYs IGNvbnN0IGdkYl9ieXRlICp3cml0ZWJ1ZikKICB7CkBAIC0yNTEsMTEgKzI1MSwxMSBAQCBJbmRl eDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL2FtZDY0LXdpbmRvd3MtdGRlcC5jCiAgICBpbnQg cmVnbnVtID0gLTE7CiAgCiAgICAvKiBTZWUgaWYgb3VyIHZhbHVlIGlzIHJldHVybmVkIHRocm91 Z2ggYSByZWdpc3Rlci4gIElmIGl0IGlzLCB0aGVuCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAz MDkvZ2RiL2FybS10ZGVwLmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvYXJtLXRk ZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMzA5Lm9yaWcvZ2RiL2FybS10 ZGVwLmMJMjAxNy0wMy0wOSAyMzozNTowOS42OTg1NDEwOTcgKzAxMDAKLSsrKyBnZGItNy4xMi41 MC4yMDE3MDMwOS9nZGIvYXJtLXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjE0LjQxOTU3Mzk3OCAr MDEwMAotQEAgLTM0ODcsNyArMzQ4Nyw3IEBACistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3Jp Zy9nZGIvYXJtLXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjA3LjkwNTU2NjQ0NSArMDIwMAorKysr IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9hcm0tdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MTEu MjMzNTg4NzM3ICswMjAwCitAQCAtMzQ5Miw3ICszNDkyLDcgQEAKICAgICBhcnJheSkuICBWZWN0 b3IgdHlwZXMgYXJlIG5vdCBjdXJyZW50bHkgc3VwcG9ydGVkLCBtYXRjaGluZyB0aGUKICAgICBn ZW5lcmljIEFBUENTIHN1cHBvcnQuICAqLwogIApAQCAtMjY0LDcgKzI2NCw3IEBAIEluZGV4OiBn ZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvYXJtLXRkZXAuYwogIGFybV92ZnBfY3ByY19zdWJfY2Fu ZGlkYXRlIChzdHJ1Y3QgdHlwZSAqdCwKICAJCQkgICAgZW51bSBhcm1fdmZwX2NwcmNfYmFzZV90 eXBlICpiYXNlX3R5cGUpCiAgewotQEAgLTM1NzAsNyArMzU3MCw3IEBACitAQCAtMzU3NSw3ICsz NTc1LDcgQEAKICAJICB9CiAgCWVsc2UKICAJICB7CkBAIC0yNzMsNyArMjczLDcgQEAgSW5kZXg6 IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9hcm0tdGRlcC5jCiAgCSAgICB1bnNpZ25lZCB1bml0 bGVuOwogIAogIAkgICAgY291bnQgPSBhcm1fdmZwX2NwcmNfc3ViX2NhbmRpZGF0ZSAoVFlQRV9U QVJHRVRfVFlQRSAodCksCi1AQCAtMzU5MywxMiArMzU5MywxMiBAQAorQEAgLTM1OTgsMTIgKzM1 OTgsMTIgQEAKICAKICAgICAgY2FzZSBUWVBFX0NPREVfU1RSVUNUOgogICAgICAgIHsKQEAgLTI4 OCw3ICsyODgsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL2FybS10ZGVwLmMK ICAKICAJICAgIGlmICghZmllbGRfaXNfc3RhdGljICgmVFlQRV9GSUVMRCAodCwgaSkpKQogIAkg ICAgICBzdWJfY291bnQgPSBhcm1fdmZwX2NwcmNfc3ViX2NhbmRpZGF0ZSAoVFlQRV9GSUVMRF9U WVBFICh0LCBpKSwKLUBAIC0zNjIyLDEzICszNjIyLDE1IEBACitAQCAtMzYyNywxMyArMzYyNywx NSBAQAogIAogICAgICBjYXNlIFRZUEVfQ09ERV9VTklPTjoKICAgICAgICB7CkBAIC0zMDcsNyAr MzA3LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9hcm0tdGRlcC5jCiAgCSAg ICBpZiAoc3ViX2NvdW50ID09IC0xKQogIAkgICAgICByZXR1cm4gLTE7CiAgCSAgICBjb3VudCA9 IChjb3VudCA+IHN1Yl9jb3VudCA/IGNvdW50IDogc3ViX2NvdW50KTsKLUBAIC0zNjY0LDcgKzM2 NjYsNyBAQAorQEAgLTM2NjksNyArMzY3MSw3IEBACiAgCQkJaW50ICpjb3VudCkKICB7CiAgICBl bnVtIGFybV92ZnBfY3ByY19iYXNlX3R5cGUgYiA9IFZGUF9DUFJDX1VOS05PV047CkBAIC0zMTYs NyArMzE2LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9hcm0tdGRlcC5jCiAg ICBpZiAoYyA8PSAwIHx8IGMgPiA0KQogICAgICByZXR1cm4gMDsKICAgICpiYXNlX3R5cGUgPSBi OwotQEAgLTM3NDUsNyArMzc0Nyw3IEBACitAQCAtMzc1MCw3ICszNzUyLDcgQEAKICAKICAgIGZv ciAoYXJnbnVtID0gMDsgYXJnbnVtIDwgbmFyZ3M7IGFyZ251bSsrKQogICAgICB7CkBAIC0zMjUs MTAgKzMyNSwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL2FybS10ZGVwLmMK ICAgICAgICBzdHJ1Y3QgdHlwZSAqYXJnX3R5cGU7CiAgICAgICAgc3RydWN0IHR5cGUgKnRhcmdl dF90eXBlOwogICAgICAgIGVudW0gdHlwZV9jb2RlIHR5cGVjb2RlOwotSW5kZXg6IGdkYi03LjEy LjUwLjIwMTcwMzA5L2dkYi9hdnItdGRlcC5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAv Z2RiL2F2ci10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDMwOS5vcmln L2dkYi9hdnItdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MDkuNzAwNTQxMTExICswMTAwCi0rKysg Z2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL2F2ci10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNToxNC40 MTk1NzM5NzggKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9hdnItdGRl cC5jCTIwMTctMDQtMjAgMjM6MTI6MDcuOTA3NTY2NDU4ICswMjAwCisrKysgZ2RiLTcuOTkuOTAu MjAxNzA0MjAvZ2RiL2F2ci10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4yMzQ1ODg3NDMgKzAy MDAKIEBAIC0xMTkxLDEzICsxMTkxLDEzIEBACiAgCiAgc3RydWN0IHN0YWNrX2l0ZW0KQEAgLTM2 MSwxMSArMzYxLDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvYXZyLXRkZXAu YwogIAogICAgICAgIC8qIENhbGN1bGF0ZSB0aGUgcG90ZW50aWFsIGxhc3QgcmVnaXN0ZXIgbmVl ZGVkLgogICAgICAgICAgIEUuZy4gRm9yIGxlbmd0aCAyLCByZWdpc3RlcnMgcmVnbnVtIGFuZCBy ZWdudW0tMSAoc2F5IDI1IGFuZCAyNCkKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIv YmZpbi10ZGVwLmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvYmZpbi10ZGVwLmMK ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDMwOS5vcmlnL2dkYi9iZmluLXRkZXAu YwkyMDE3LTAzLTA5IDIzOjM1OjA5LjcwMDU0MTExMSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIw MTcwMzA5L2dkYi9iZmluLXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjE0LjQyMDU3Mzk4NSArMDEw MAotQEAgLTUwMiw3ICs1MDIsNyBAQAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2Ri L2JmaW4tdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MDcuOTA3NTY2NDU4ICswMjAwCisrKysgZ2Ri LTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2JmaW4tdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MTEuMjM0 NTg4NzQzICswMjAwCitAQCAtNTA0LDcgKzUwNCw3IEBACiAgICBlbnVtIGJmZF9lbmRpYW4gYnl0 ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7CiAgICBpbnQgaTsKICAgIGxv bmcgcmVnX3IwLCByZWdfcjEsIHJlZ19yMjsKQEAgLTM3NCw3ICszNzQsNyBAQCBJbmRleDogZ2Ri LTcuMTIuNTAuMjAxNzAzMDkvZ2RiL2JmaW4tdGRlcC5jCiAgCiAgICBmb3IgKGkgPSBuYXJncyAt IDE7IGkgPj0gMDsgaS0tKQogICAgICB7Ci1AQCAtNTI0LDcgKzUyNCw3IEBACitAQCAtNTI2LDcg KzUyNiw3IEBACiAgICAgIHsKICAgICAgICBzdHJ1Y3QgdHlwZSAqdmFsdWVfdHlwZSA9IHZhbHVl X2VuY2xvc2luZ190eXBlIChhcmdzW2ldKTsKICAgICAgICBzdHJ1Y3QgdHlwZSAqYXJnX3R5cGUg PSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlKTsKQEAgLTM4MywxMCArMzgzLDEwIEBAIEluZGV4 OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvYmZpbi10ZGVwLmMKICAKICAgICAgICBzcCAtPSBj b250YWluZXJfbGVuOwogICAgICAgIHdyaXRlX21lbW9yeSAoc3AsIHZhbHVlX2NvbnRlbnRzIChh cmdzW2ldKSwgY29udGFpbmVyX2xlbik7Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2Ri L2NyaXMtdGRlcC5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2NyaXMtdGRlcC5j CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDkub3JpZy9nZGIvY3Jpcy10ZGVw LmMJMjAxNy0wMy0wOSAyMzozNTowOS43MDI1NDExMjUgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4y MDE3MDMwOS9nZGIvY3Jpcy10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNToxNC40MjE1NzM5OTEgKzAx MDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9jcmlzLXRkZXAuYwkyMDE3LTA0 LTIwIDIzOjEyOjA3LjkwOTU2NjQ3MSArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dk Yi9jcmlzLXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjExLjIzNTU4ODc1MCArMDIwMAogQEAgLTY2 MywxMyArNjYzLDEzIEBACiAgCiAgc3RydWN0IHN0YWNrX2l0ZW0KQEAgLTQyMSwxMCArNDIxLDEw IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvY3Jpcy10ZGVwLmMKICAgICAgICAK ICAgICAgICAvKiBIb3cgbWF5IHJlZ2lzdGVycyB3b3J0aCBvZiBzdG9yYWdlIGRvIHdlIG5lZWQg Zm9yIHRoaXMgYXJndW1lbnQ/ICAqLwogICAgICAgIHJlZ19kZW1hbmQgPSAobGVuIC8gNCkgKyAo bGVuICUgNCAhPSAwID8gMSA6IDApOwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9o ODMwMC10ZGVwLmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvaDgzMDAtdGRlcC5j CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDkub3JpZy9nZGIvaDgzMDAtdGRl cC5jCTIwMTctMDMtMDkgMjM6MzU6MDkuNzAyNTQxMTI1ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAu MjAxNzAzMDkvZ2RiL2g4MzAwLXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjE0LjQyMTU3Mzk5MSAr MDEwMAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2g4MzAwLXRkZXAuYwkyMDE3 LTA0LTIwIDIzOjEyOjA3LjkxMDU2NjQ3OCArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIw L2dkYi9oODMwMC10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4yMzU1ODg3NTAgKzAyMDAKIEBA IC02MzcsNyArNjM3LDcgQEAKICAJCSAgICAgICBpbnQgc3RydWN0X3JldHVybiwgQ09SRV9BRERS IHN0cnVjdF9hZGRyKQogIHsKQEAgLTQ1NywxMSArNDU3LDExIEBAIEluZGV4OiBnZGItNy4xMi41 MC4yMDE3MDMwOS9nZGIvaDgzMDAtdGRlcC5jCiAgCiAgCSAgICAgIGZvciAob2Zmc2V0ID0gMDsg b2Zmc2V0IDwgcGFkZGVkX2xlbjsgb2Zmc2V0ICs9IHdvcmRzaXplKQogIAkJewotSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMzA5L2dkYi9ocHBhLXRkZXAuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIw MTcwNDIwL2dkYi9ocHBhLXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcw MzA5Lm9yaWcvZ2RiL2hwcGEtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MDkuNzAzNTQxMTMyICsw MTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL2hwcGEtdGRlcC5jCTIwMTctMDMtMDkg MjM6MzU6MTQuNDIyNTczOTk5ICswMTAwCi1AQCAtOTg4LDcgKzk4OCw3IEBACistLS0gZ2RiLTcu OTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvaHBwYS10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjowNy45 MTE1NjY0ODUgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvaHBwYS10ZGVwLmMJ MjAxNy0wNC0yMCAyMzoxMjoxMS4yMzY1ODg3NTcgKzAyMDAKK0BAIC05ODksNyArOTg5LDcgQEAK ICAgICAgewogICAgICAgIHN0cnVjdCB2YWx1ZSAqYXJnID0gYXJnc1tpXTsKICAgICAgICBzdHJ1 Y3QgdHlwZSAqdHlwZSA9IHZhbHVlX3R5cGUgKGFyZyk7CkBAIC00NzAsNyArNDcwLDcgQEAgSW5k ZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9ocHBhLXRkZXAuYwogICAgICAgIGNvbnN0IGJm ZF9ieXRlICp2YWxidWY7CiAgICAgICAgYmZkX2J5dGUgZnB0cmJ1Zls4XTsKICAgICAgICBpbnQg cmVnbnVtOwotQEAgLTExODMsNyArMTE4Myw3IEBACitAQCAtMTE4NCw3ICsxMTg0LDcgQEAKICAJ CSAgICAgc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsCiAgCQkg ICAgIGdkYl9ieXRlICpyZWFkYnVmLCBjb25zdCBnZGJfYnl0ZSAqd3JpdGVidWYpCiAgewpAQCAt NDc5LDEwICs0NzksMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9ocHBhLXRk ZXAuYwogICAgaW50IHJlZ251bSwgb2Zmc2V0OwogIAogICAgaWYgKGxlbiA+IDE2KQotSW5kZXg6 IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9pMzg2LWRhcndpbi10ZGVwLmMKK0luZGV4OiBnZGIt Ny45OS45MC4yMDE3MDQyMC9nZGIvaTM4Ni1kYXJ3aW4tdGRlcC5jCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Z2RiLTcuMTIuNTAuMjAxNzAzMDkub3JpZy9nZGIvaTM4Ni1kYXJ3aW4tdGRlcC5jCTIwMTctMDMt MDkgMjM6MzU6MDkuNzA0NTQxMTM5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2Ri L2kzODYtZGFyd2luLXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjE0LjQyMjU3Mzk5OSArMDEwMAor LS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2kzODYtZGFyd2luLXRkZXAuYwkyMDE3 LTA0LTIwIDIzOjEyOjA3LjkxMjU2NjQ5MiArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIw L2dkYi9pMzg2LWRhcndpbi10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4yMzc1ODg3NjMgKzAy MDAKIEBAIC0xNjcsNyArMTY3LDcgQEAKICAKICAgIGZvciAod3JpdGVfcGFzcyA9IDA7IHdyaXRl X3Bhc3MgPCAyOyB3cml0ZV9wYXNzKyspCkBAIC00OTIsMTAgKzQ5MiwxMCBAQCBJbmRleDogZ2Ri LTcuMTIuNTAuMjAxNzAzMDkvZ2RiL2kzODYtZGFyd2luLXRkZXAuYwogICAgICAgIGludCBudW1f bTEyOCA9IDA7CiAgCiAgICAgICAgaWYgKHN0cnVjdF9yZXR1cm4pCi1JbmRleDogZ2RiLTcuMTIu NTAuMjAxNzAzMDkvZ2RiL2kzODYtdGRlcC5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAv Z2RiL2kzODYtdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDkub3Jp Zy9nZGIvaTM4Ni10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNTowOS43MDc1NDExNjAgKzAxMDAKLSsr KyBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvaTM4Ni10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNToz Ny40OTQ3MzQ2ODggKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9pMzg2 LXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjA3LjkxNzU2NjUyNSArMDIwMAorKysrIGdkYi03Ljk5 LjkwLjIwMTcwNDIwL2dkYi9pMzg2LXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjExLjIzOTU4ODc3 NyArMDIwMAogQEAgLTI2ODIsNyArMjY4Miw3IEBACiAgICBnZGJfYnl0ZSBidWZbNF07CiAgICBp bnQgaTsKQEAgLTU1OSwxMCArNTU5LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9n ZGIvaTM4Ni10ZGVwLmMKICAKICAgIGlmIChpMzg2X2ZwX3JlZ251bV9wIChnZXRfZnJhbWVfYXJj aCAoZnJhbWUpLCByZWdudW0pKQogICAgICB7Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkv Z2RiL2lxMjAwMC10ZGVwLmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvaXEyMDAw LXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMzA5Lm9yaWcvZ2RiL2lx MjAwMC10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNTowOS43MDg1NDExNjcgKzAxMDAKLSsrKyBnZGIt Ny4xMi41MC4yMDE3MDMwOS9nZGIvaXEyMDAwLXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjE0LjQy NTU3NDAxOSArMDEwMAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2lxMjAwMC10 ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjowNy45MTg1NjY1MzIgKzAyMDAKKysrKyBnZGItNy45OS45 MC4yMDE3MDQyMC9nZGIvaXEyMDAwLXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjExLjIzOTU4ODc3 NyArMDIwMAogQEAgLTY1MSw4ICs2NTEsOSBAQAogICAgY29uc3QgYmZkX2J5dGUgKnZhbDsKICAg IGJmZF9ieXRlIGJ1Zls0XTsKQEAgLTU3NSwyMyArNTc1LDIzIEBAIEluZGV4OiBnZGItNy4xMi41 MC4yMDE3MDMwOS9nZGIvaXEyMDAwLXRkZXAuYwogICAgLyogVXNlZCB0byBjb3B5IHN0cnVjdCBh cmd1bWVudHMgaW50byB0aGUgc3RhY2suICAqLwogICAgQ09SRV9BRERSIHN0cnVjdF9wdHI7CiAg Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL20zMnItdGRlcC5jCitJbmRleDogZ2Ri LTcuOTkuOTAuMjAxNzA0MjAvZ2RiL20zMnItdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcu MTIuNTAuMjAxNzAzMDkub3JpZy9nZGIvbTMyci10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNTowOS43 MDg1NDExNjcgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvbTMyci10ZGVwLmMJ MjAxNy0wMy0wOSAyMzozNToxNC40MjU1NzQwMTkgKzAxMDAKLUBAIC02NzgsNyArNjc4LDcgQEAK Ky0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9tMzJyLXRkZXAuYwkyMDE3LTA0LTIw IDIzOjEyOjExLjIzOTU4ODc3NyArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9t MzJyLXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjMwLjM4NTcxNzAyMyArMDIwMAorQEAgLTY4MSw3 ICs2ODEsNyBAQAogICAgQ09SRV9BRERSIHJlZ3ZhbDsKICAgIGdkYl9ieXRlICp2YWw7Ci0gICBn ZGJfYnl0ZSB2YWxidWZbTUFYX1JFR0lTVEVSX1NJWkVdOworICAgZ2RiX2J5dGUgdmFsYnVmW00z MlJfQVJHX1JFR0lTVEVSX1NJWkVdOwogLSAgaW50IGxlbjsKICsgIExPTkdFU1QgbGVuOwogIAog ICAgLyogRmlyc3QgZm9yY2Ugc3AgdG8gYSA0LWJ5dGUgYWxpZ25tZW50LiAgKi8KICAgIHNwID0g c3AgJiB+MzsKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvbTY4ay10ZGVwLmMKK0lu ZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvbTY4ay10ZGVwLmMKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItNy4xMi41MC4yMDE3MDMwOS5vcmlnL2dkYi9tNjhrLXRkZXAuYwkyMDE3LTAzLTA5IDIz OjM1OjA5LjcwOTU0MTE3NCArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9tNjhr LXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjE0LjQyNTU3NDAxOSArMDEwMAorLS0tIGdkYi03Ljk5 LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL202OGstdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MDcuOTE5 NTY2NTM4ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL202OGstdGRlcC5jCTIw MTctMDQtMjAgMjM6MTI6MTEuMjQwNTg4NzgzICswMjAwCiBAQCAtMzc3LDcgKzM3Nyw3IEBACiAg ewogICAgc3RydWN0IGdkYmFyY2hfdGRlcCAqdGRlcCA9IGdkYmFyY2hfdGRlcCAoZ2RiYXJjaCk7 CkBAIC02MTQsMTEgKzYxNCwxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL202 OGstdGRlcC5jCiAgCiAgICAgICAgLyogTm9uLXNjYWxhcnMgYmlnZ2VyIHRoYW4gNCBieXRlcyBh cmUgbGVmdCBhbGlnbmVkLCBvdGhlcnMgYXJlCiAgCSByaWdodCBhbGlnbmVkLiAgKi8KLUluZGV4 OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvbTg4ay10ZGVwLmMKK0luZGV4OiBnZGItNy45OS45 MC4yMDE3MDQyMC9nZGIvbTg4ay10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4y MDE3MDMwOS5vcmlnL2dkYi9tODhrLXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjA5LjcwOTU0MTE3 NCArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9tODhrLXRkZXAuYwkyMDE3LTAz LTA5IDIzOjM1OjE0LjQyNjU3NDAyNiArMDEwMAotQEAgLTI1MywxMyArMjUzLDEzIEBACistLS0g Z2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvbTg4ay10ZGVwLmMJMjAxNy0wNC0yMCAyMzox MjowNy45MTk1NjY1MzggKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvbTg4ay10 ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4yNDA1ODg3ODMgKzAyMDAKK0BAIC0yNTQsMTMgKzI1 NCwxMyBAQAogIHsKICAgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoID0gZ2V0X3JlZ2NhY2hlX2Fy Y2ggKHJlZ2NhY2hlKTsKICAgIGludCBudW1fcmVnaXN0ZXJfd29yZHMgPSAwOwpAQCAtNjM0LDcg KzYzNCw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvbTg4ay10ZGVwLmMKICAK ICAgICAgICBpZiAobTg4a19pbnRlZ3JhbF9vcl9wb2ludGVyX3AgKHR5cGUpICYmIGxlbiA8IDQp CiAgCXsKLUBAIC0zMDEsOCArMzAxLDggQEAKK0BAIC0zMDIsOCArMzAyLDggQEAKICAgICAgewog ICAgICAgIGNvbnN0IGJmZF9ieXRlICp2YWxidWYgPSB2YWx1ZV9jb250ZW50cyAoYXJnc1tpXSk7 CiAgICAgICAgc3RydWN0IHR5cGUgKnR5cGUgPSB2YWx1ZV90eXBlIChhcmdzW2ldKTsKQEAgLTY0 NSwxMCArNjQ1LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvbTg4ay10ZGVw LmMKICAKICAgICAgICBpZiAobTg4a19pbl9yZWdpc3Rlcl9wICh0eXBlKSkKICAJewotSW5kZXg6 IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9tZXAtdGRlcC5jCitJbmRleDogZ2RiLTcuOTkuOTAu MjAxNzA0MjAvZ2RiL21lcC10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3 MDMwOS5vcmlnL2dkYi9tZXAtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MDkuNzEwNTQxMTgxICsw MTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL21lcC10ZGVwLmMJMjAxNy0wMy0wOSAy MzozNToxNC40MjY1NzQwMjYgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dk Yi9tZXAtdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MDcuOTIwNTY2NTQ1ICswMjAwCisrKysgZ2Ri LTcuOTkuOTAuMjAxNzA0MjAvZ2RiL21lcC10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4yNDE1 ODg3OTAgKzAyMDAKIEBAIC0yMjYyLDcgKzIyNjIsNyBAQAogIAogICAgZm9yIChpID0gMDsgaSA8 IGFyZ2M7IGkrKykKQEAgLTY1OCwxMCArNjU4LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3 MDMwOS9nZGIvbWVwLXRkZXAuYwogIAogICAgICAgIGlmIChhcmdfbGVuID4gTUVQX0dQUl9TSVpF KQogICAgICAgICAgewotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9taXBzLXRkZXAu YworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9taXBzLXRkZXAuYwogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMzA5Lm9yaWcvZ2RiL21pcHMtdGRlcC5jCTIwMTctMDMt MDkgMjM6MzU6MDkuNzE0NTQxMjA5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2Ri L21pcHMtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MTQuNDI4NTc0MDQwICswMTAwCistLS0gZ2Ri LTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvbWlwcy10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjow Ny45Mjg1NjY1OTkgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvbWlwcy10ZGVw LmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4yNDM1ODg4MDQgKzAyMDAKIEBAIC00NzQsNyArNDc0LDcg QEAKICBtaXBzX3hmZXJfcmVnaXN0ZXIgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3Qg cmVnY2FjaGUgKnJlZ2NhY2hlLAogIAkJICAgIGludCByZWdfbnVtLCBpbnQgbGVuZ3RoLApAQCAt ODA3LDExICs4MDcsMTEgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9taXBzLXRk ZXAuYwogIAogICAgICAgIHZhbCA9IHZhbHVlX2NvbnRlbnRzIChhcmcpOwogIAotSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMzA5L2dkYi9tbjEwMzAwLXRkZXAuYworSW5kZXg6IGdkYi03Ljk5Ljkw LjIwMTcwNDIwL2dkYi9tbjEwMzAwLXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUw LjIwMTcwMzA5Lm9yaWcvZ2RiL21uMTAzMDAtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MDkuNzE1 NTQxMjE2ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL21uMTAzMDAtdGRlcC5j CTIwMTctMDMtMDkgMjM6MzU6MTQuNDI5NTc0MDQ3ICswMTAwCi1AQCAtMTIxOSw3ICsxMjE5LDcg QEAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9tbjEwMzAwLXRkZXAuYwkyMDE3 LTA0LTIwIDIzOjEyOjA3LjkyOTU2NjYwNSArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIw L2dkYi9tbjEwMzAwLXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjExLjI0MzU4ODgwNCArMDIwMAor QEAgLTEyMjAsNyArMTIyMCw3IEBACiAgICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9IGdk YmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7CiAgICBjb25zdCBpbnQgcHVzaF9zaXplID0gcmVn aXN0ZXJfc2l6ZSAoZ2RiYXJjaCwgRV9QQ19SRUdOVU0pOwogICAgaW50IHJlZ3NfdXNlZDsKQEAg LTgyMCwxMCArODIwLDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvbW4xMDMw MC10ZGVwLmMKICAgIGludCBzdGFja19vZmZzZXQgPSAwOwogICAgaW50IGFyZ251bTsKICAgIGNv bnN0IGdkYl9ieXRlICp2YWw7Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL210LXRk ZXAuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9tdC10ZGVwLmMKID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDMwOS5vcmlnL2dkYi9tdC10ZGVwLmMJMjAxNy0wMy0w OSAyMzozNTowOS43MTY1NDEyMjMgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIv bXQtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MTQuNDI5NTc0MDQ3ICswMTAwCistLS0gZ2RiLTcu OTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvbXQtdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MDcuOTMw NTY2NjEyICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL210LXRkZXAuYwkyMDE3 LTA0LTIwIDIzOjEyOjExLjI0NDU4ODgxMCArMDIwMAogQEAgLTc4OCw5ICs3ODgsOSBAQAogICAg Z2RiX2J5dGUgYnVmW01UX01BWF9TVFJVQ1RfU0laRV07CiAgICBpbnQgYXJncmVnID0gTVRfMVNU X0FSR1JFRzsKQEAgLTgzNiwxMCArODM2LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMw OS9nZGIvbXQtdGRlcC5jCiAgICBpbnQgaSwgajsKICAKICAgIC8qIEZpcnN0IGhhbmRsZSBob3dl dmVyIG1hbnkgYXJncyB3ZSBjYW4gZml0IGludG8gTVRfMVNUX0FSR1JFRyB0aHJ1Ci1JbmRleDog Z2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3BwYy1zeXN2LXRkZXAuYworSW5kZXg6IGdkYi03Ljk5 LjkwLjIwMTcwNDIwL2dkYi9wcGMtc3lzdi10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4x Mi41MC4yMDE3MDMwOS5vcmlnL2dkYi9wcGMtc3lzdi10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNTow OS43MTc1NDEyMzAgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvcHBjLXN5c3Yt dGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MTQuNDMwNTc0MDU0ICswMTAwCistLS0gZ2RiLTcuOTku OTAuMjAxNzA0MjAub3JpZy9nZGIvcHBjLXN5c3YtdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MDcu OTMxNTY2NjE5ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3BwYy1zeXN2LXRk ZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjExLjI0NTU4ODgxNyArMDIwMAogQEAgLTY3LDcgKzY3LDcg QEAKICAgIGVudW0gYmZkX2VuZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChn ZGJhcmNoKTsKICAgIGludCBvcGVuY2xfYWJpID0gcHBjX3N5c3ZfdXNlX29wZW5jbF9hYmkgKHZh bHVlX3R5cGUgKGZ1bmN0aW9uKSk7CkBAIC04ODQsMTAgKzg4NCwxMCBAQCBJbmRleDogZ2RiLTcu MTIuNTAuMjAxNzAzMDkvZ2RiL3BwYy1zeXN2LXRkZXAuYwogIAogICAgLyogRW5mb3JjZSBhbGln bm1lbnQgb2Ygc3RhY2sgbG9jYXRpb24sIGlmIHJlcXVlc3RlZC4gICovCiAgICBpZiAoYWxpZ24g PiB0ZGVwLT53b3Jkc2l6ZSkKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvcmw3OC10 ZGVwLmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvcmw3OC10ZGVwLmMKID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDMwOS5vcmlnL2dkYi9ybDc4LXRkZXAuYwkyMDE3 LTAzLTA5IDIzOjM1OjA5LjcxNzU0MTIzMCArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMzA5 L2dkYi9ybDc4LXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjE0LjQzMDU3NDA1NCArMDEwMAorLS0t IGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3JsNzgtdGRlcC5jCTIwMTctMDQtMjAgMjM6 MTI6MDcuOTMxNTY2NjE5ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3JsNzgt dGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MTEuMjQ1NTg4ODE3ICswMjAwCiBAQCAtMTM1Miw4ICsx MzUyLDggQEAKICAgIGZvciAoaSA9IG5hcmdzIC0gMTsgaSA+PSAwOyBpLS0pCiAgICAgIHsKQEAg LTg5OSwxMCArODk5LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvcmw3OC10 ZGVwLmMKICAKICAgICAgICBzcCAtPSBjb250YWluZXJfbGVuOwogICAgICAgIHdyaXRlX21lbW9y eSAocmw3OF9tYWtlX2RhdGFfYWRkcmVzcyAoc3ApLAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcw MzA5L2dkYi9yczYwMDAtYWl4LXRkZXAuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dk Yi9yczYwMDAtYWl4LXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMzA5 Lm9yaWcvZ2RiL3JzNjAwMC1haXgtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MDkuNzE4NTQxMjM3 ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3JzNjAwMC1haXgtdGRlcC5jCTIw MTctMDMtMDkgMjM6MzU6MTQuNDMwNTc0MDU0ICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0 MjAub3JpZy9nZGIvcnM2MDAwLWFpeC10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjowNy45MzI1NjY2 MjYgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvcnM2MDAwLWFpeC10ZGVwLmMJ MjAxNy0wNC0yMCAyMzoxMjoxMS4yNDU1ODg4MTcgKzAyMDAKIEBAIC0xODYsOSArMTg2LDkgQEAK ICAgIHN0cnVjdCBnZGJhcmNoX3RkZXAgKnRkZXAgPSBnZGJhcmNoX3RkZXAgKGdkYmFyY2gpOwog ICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFy Y2gpOwpAQCAtOTI0LDExICs5MjQsMTEgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dk Yi9yczYwMDAtYWl4LXRkZXAuYwogIAogICAgICAgIGlmIChhcmdieXRlcykKICAJewotSW5kZXg6 IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9zMzkwLWxpbnV4LXRkZXAuYworSW5kZXg6IGdkYi03 Ljk5LjkwLjIwMTcwNDIwL2dkYi9zMzkwLWxpbnV4LXRkZXAuYwogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdk Yi03LjEyLjUwLjIwMTcwMzA5Lm9yaWcvZ2RiL3MzOTAtbGludXgtdGRlcC5jCTIwMTctMDMtMDkg MjM6MzU6MDkuNzIwNTQxMjUwICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3Mz OTAtbGludXgtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MTQuNDMyNTc0MDY4ICswMTAwCi1AQCAt MzEyOCw3ICszMTI4LDcgQEAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9zMzkw LWxpbnV4LXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjA3LjkzNDU2NjYzOSArMDIwMAorKysrIGdk Yi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9zMzkwLWxpbnV4LXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEy OjExLjI0NzU4ODgzMCArMDIwMAorQEAgLTMwODEsNyArMzA4MSw3IEBACiAgLyogRGV0ZXJtaW5l IHdoZXRoZXIgTiBpcyBhIHBvd2VyIG9mIHR3by4gICovCiAgCiAgc3RhdGljIGludApAQCAtOTM3 LDcgKzkzNyw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvczM5MC1saW51eC10 ZGVwLmMKICB7CiAgICByZXR1cm4gbiAmJiAoKG4gJiAobiAtIDEpKSA9PSAwKTsKICB9Ci1AQCAt MzE4NSw3ICszMTg1LDcgQEAKK0BAIC0zMTM4LDcgKzMxMzgsNyBAQAogIAkJIGVudW0gYmZkX2Vu ZGlhbiBieXRlX29yZGVyLCBpbnQgaXNfdW5uYW1lZCkKICB7CiAgICBzdHJ1Y3QgdHlwZSAqdHlw ZSA9IGNoZWNrX3R5cGVkZWYgKHZhbHVlX3R5cGUgKGFyZykpOwpAQCAtOTQ2LDEwICs5NDYsMTAg QEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9zMzkwLWxpbnV4LXRkZXAuYwogICAg aW50IHdyaXRlX21vZGUgPSBhcy0+cmVnY2FjaGUgIT0gTlVMTDsKICAKICAgIGlmIChzMzkwX2Z1 bmN0aW9uX2FyZ19mbG9hdCAodHlwZSkpCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2Ri L3Njb3JlLXRkZXAuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9zY29yZS10ZGVw LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDMwOS5vcmlnL2dkYi9zY29yZS10 ZGVwLmMJMjAxNy0wMy0wOSAyMzozNTowOS43MjE1NDEyNTggKzAxMDAKLSsrKyBnZGItNy4xMi41 MC4yMDE3MDMwOS9nZGIvc2NvcmUtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MTQuNDMyNTc0MDY4 ICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvc2NvcmUtdGRlcC5jCTIw MTctMDQtMjAgMjM6MTI6MDcuOTM1NTY2NjQ2ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0 MjAvZ2RiL3Njb3JlLXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjExLjI0ODU4ODgzNyArMDIwMAog QEAgLTUyNSw3ICs1MjUsNyBAQAogICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJh cmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwogICAgaW50IGFyZ251bTsKQEAgLTk1OSwxMCArOTU5 LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvc2NvcmUtdGRlcC5jCiAgICBD T1JFX0FERFIgc3RhY2tfb2Zmc2V0ID0gMDsKICAgIENPUkVfQUREUiBhZGRyID0gMDsKICAKLUlu ZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvc2gtdGRlcC5jCitJbmRleDogZ2RiLTcuOTku OTAuMjAxNzA0MjAvZ2RiL3NoLXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIw MTcwMzA5Lm9yaWcvZ2RiL3NoLXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjA5LjcyMTU0MTI1OCAr MDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9zaC10ZGVwLmMJMjAxNy0wMy0wOSAy MzozNToxNC40MzM1NzQwNzUgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dk Yi9zaC10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjowNy45MzY1NjY2NTIgKzAyMDAKKysrKyBnZGIt Ny45OS45MC4yMDE3MDQyMC9nZGIvc2gtdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MTEuMjQ4NTg4 ODM3ICswMjAwCiBAQCAtODE0LDcgKzgxNCw3IEBACiAgc3RhdGljIGludAogIHNoX3VzZV9zdHJ1 Y3RfY29udmVudGlvbiAoaW50IHJlbmVzYXNfYWJpLCBzdHJ1Y3QgdHlwZSAqdHlwZSkKQEAgLTEw MDEsMTAgKzEwMDEsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9zaC10ZGVw LmMKICAgIGludCBwYXNzX29uX3N0YWNrID0gMDsKICAgIGludCBsYXN0X3JlZ19hcmcgPSBJTlRf TUFYOwogIAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9zaDY0LXRkZXAuYworSW5k ZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9zaDY0LXRkZXAuYwogPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGdkYi03LjEyLjUwLjIwMTcwMzA5Lm9yaWcvZ2RiL3NoNjQtdGRlcC5jCTIwMTctMDMtMDkgMjM6 MzU6MDkuNzIyNTQxMjY0ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3NoNjQt dGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MTQuNDM0NTc0MDgyICswMTAwCistLS0gZ2RiLTcuOTku OTAuMjAxNzA0MjAub3JpZy9nZGIvc2g2NC10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjowNy45Mzc1 NjY2NTkgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvc2g2NC10ZGVwLmMJMjAx Ny0wNC0yMCAyMzoxMjoxMS4yNDk1ODg4NDQgKzAyMDAKIEBAIC0xMDYyLDcgKzEwNjIsNyBAQAog IAkJICAgICAgQ09SRV9BRERSIHN0cnVjdF9hZGRyKQogIHsKQEAgLTEwMjMsMTEgKzEwMjMsMTEg QEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9zaDY0LXRkZXAuYwogICAgaW50IGFy Z3JlZ19zaXplOwogICAgaW50IGZwX2FyZ3NbMTJdOwogIAotSW5kZXg6IGdkYi03LjEyLjUwLjIw MTcwMzA5L2dkYi9zcGFyYy10ZGVwLmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIv c3BhcmMtdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDkub3JpZy9n ZGIvc3BhcmMtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MDkuNzIzNTQxMjcxICswMTAwCi0rKysg Z2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3NwYXJjLXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjE0 LjQzNDU3NDA4MiArMDEwMAotQEAgLTU2Niw3ICs1NjYsNyBAQAorLS0tIGdkYi03Ljk5LjkwLjIw MTcwNDIwLm9yaWcvZ2RiL3NwYXJjLXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjA3LjkzODU2NjY2 NiArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9zcGFyYy10ZGVwLmMJMjAxNy0w NC0yMCAyMzoxMjoxMS4yNDk1ODg4NDQgKzAyMDAKK0BAIC01NjcsNyArNTY3LDcgQEAKICAgIGZv ciAoaSA9IDA7IGkgPCBuYXJnczsgaSsrKQogICAgICB7CiAgICAgICAgc3RydWN0IHR5cGUgKnR5 cGUgPSB2YWx1ZV90eXBlIChhcmdzW2ldKTsKQEAgLTEwMzYsMTEgKzEwMzYsMTEgQEAgSW5kZXg6 IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9zcGFyYy10ZGVwLmMKICAKICAgICAgICBpZiAoc3Bh cmNfc3RydWN0dXJlX29yX3VuaW9uX3AgKHR5cGUpCiAgCSAgfHwgKHNwYXJjX2Zsb2F0aW5nX3Ag KHR5cGUpICYmIGxlbiA9PSAxNikKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvc3Bh cmM2NC10ZGVwLmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvc3BhcmM2NC10ZGVw LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDMwOS5vcmlnL2dkYi9zcGFyYzY0 LXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjA5LjcyNDU0MTI3OCArMDEwMAotKysrIGdkYi03LjEy LjUwLjIwMTcwMzA5L2dkYi9zcGFyYzY0LXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjE0LjQzNTU3 NDA4OSArMDEwMAotQEAgLTY3MCw3ICs2NzAsOCBAQAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIw Lm9yaWcvZ2RiL3NwYXJjNjQtdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MDcuOTM5NTY2NjcyICsw MjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3NwYXJjNjQtdGRlcC5jCTIwMTctMDQt MjAgMjM6MTI6MTEuMjUwNTg4ODUxICswMjAwCitAQCAtNjk2LDcgKzY5Niw4IEBACiAgCiAgc3Rh dGljIHZvaWQKICBzcGFyYzY0X3N0b3JlX2Zsb2F0aW5nX2ZpZWxkcyAoc3RydWN0IHJlZ2NhY2hl ICpyZWdjYWNoZSwgc3RydWN0IHR5cGUgKnR5cGUsCkBAIC0xMDUwLDcgKzEwNTAsNyBAQCBJbmRl eDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3NwYXJjNjQtdGRlcC5jCiAgewogICAgc3RydWN0 IGdkYmFyY2ggKmdkYmFyY2ggPSBnZXRfcmVnY2FjaGVfYXJjaCAocmVnY2FjaGUpOwogICAgaW50 IGxlbiA9IFRZUEVfTEVOR1RIICh0eXBlKTsKLUBAIC03MTQsNyArNzE1LDcgQEAKK0BAIC03NDAs NyArNzQxLDcgQEAKICAgICAgICBmb3IgKGkgPSAwOyBpIDwgVFlQRV9ORklFTERTICh0eXBlKTsg aSsrKQogIAl7CiAgCSAgc3RydWN0IHR5cGUgKnN1YnR5cGUgPSBjaGVja190eXBlZGVmIChUWVBF X0ZJRUxEX1RZUEUgKHR5cGUsIGkpKTsKQEAgLTEwNTksNyArMTA1OSw3IEBAIEluZGV4OiBnZGIt Ny4xMi41MC4yMDE3MDMwOS9nZGIvc3BhcmM2NC10ZGVwLmMKICAKICAJICBzcGFyYzY0X3N0b3Jl X2Zsb2F0aW5nX2ZpZWxkcyAocmVnY2FjaGUsIHN1YnR5cGUsIHZhbGJ1ZiwKICAJCQkJCSBlbGVt ZW50LCBzdWJwb3MpOwotQEAgLTc0Niw3ICs3NDcsNyBAQAorQEAgLTc3Miw3ICs3NzMsNyBAQAog IAogIHN0YXRpYyB2b2lkCiAgc3BhcmM2NF9leHRyYWN0X2Zsb2F0aW5nX2ZpZWxkcyAoc3RydWN0 IHJlZ2NhY2hlICpyZWdjYWNoZSwgc3RydWN0IHR5cGUgKnR5cGUsCkBAIC0xMDY4LDcgKzEwNjgs NyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3NwYXJjNjQtdGRlcC5jCiAgewog ICAgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2ggPSBnZXRfcmVnY2FjaGVfYXJjaCAocmVnY2FjaGUp OwogIAotQEAgLTc4Niw3ICs3ODcsNyBAQAorQEAgLTgxMiw3ICs4MTMsNyBAQAogICAgICAgIGZv ciAoaSA9IDA7IGkgPCBUWVBFX05GSUVMRFMgKHR5cGUpOyBpKyspCiAgCXsKICAJICBzdHJ1Y3Qg dHlwZSAqc3VidHlwZSA9IGNoZWNrX3R5cGVkZWYgKFRZUEVfRklFTERfVFlQRSAodHlwZSwgaSkp OwpAQCAtMTA3Nyw3ICsxMDc3LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9z cGFyYzY0LXRkZXAuYwogIAogIAkgIHNwYXJjNjRfZXh0cmFjdF9mbG9hdGluZ19maWVsZHMgKHJl Z2NhY2hlLCBzdWJ0eXBlLCB2YWxidWYsIHN1YnBvcyk7CiAgCX0KLUBAIC04MTksNyArODIwLDcg QEAKK0BAIC04NDUsNyArODQ2LDcgQEAKICAgIGZvciAoaSA9IDA7IGkgPCBuYXJnczsgaSsrKQog ICAgICB7CiAgICAgICAgc3RydWN0IHR5cGUgKnR5cGUgPSB2YWx1ZV90eXBlIChhcmdzW2ldKTsK QEAgLTEwODYsNyArMTA4Niw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvc3Bh cmM2NC10ZGVwLmMKICAKICAgICAgICBpZiAoc3BhcmM2NF9zdHJ1Y3R1cmVfb3JfdW5pb25fcCAo dHlwZSkKICAJICB8fCAoc3BhcmM2NF9jb21wbGV4X2Zsb2F0aW5nX3AgKHR5cGUpICYmIGxlbiA9 PSAzMikpCi1AQCAtOTE5LDcgKzkyMCw3IEBACitAQCAtOTQ1LDcgKzk0Niw3IEBACiAgICAgIHsK ICAgICAgICBjb25zdCBnZGJfYnl0ZSAqdmFsYnVmID0gdmFsdWVfY29udGVudHMgKGFyZ3NbaV0p OwogICAgICAgIHN0cnVjdCB0eXBlICp0eXBlID0gdmFsdWVfdHlwZSAoYXJnc1tpXSk7CkBAIC0x MDk1LDExICsxMDk1LDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvc3BhcmM2 NC10ZGVwLmMKICAgICAgICBpbnQgcmVnbnVtID0gLTE7CiAgICAgICAgZ2RiX2J5dGUgYnVmWzE2 XTsKICAKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvc3B1LXRkZXAuYworSW5kZXg6 IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9zcHUtdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTcuMTIuNTAuMjAxNzAzMDkub3JpZy9nZGIvc3B1LXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjA5 LjcyNTU0MTI4NSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9zcHUtdGRlcC5j CTIwMTctMDMtMDkgMjM6MzU6MTQuNDM1NTc0MDg5ICswMTAwCi1AQCAtMTQzMCw3ICsxNDMwLDcg QEAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9zcHUtdGRlcC5jCTIwMTctMDQt MjAgMjM6MTI6MDcuOTQwNTY2Njc5ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2Ri L3NwdS10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4yNTE1ODg4NTcgKzAyMDAKK0BAIC0xNDMx LDcgKzE0MzEsNyBAQAogICAgICAgIHN0cnVjdCB2YWx1ZSAqYXJnID0gYXJnc1tpXTsKICAgICAg ICBzdHJ1Y3QgdHlwZSAqdHlwZSA9IGNoZWNrX3R5cGVkZWYgKHZhbHVlX3R5cGUgKGFyZykpOwog ICAgICAgIGNvbnN0IGdkYl9ieXRlICpjb250ZW50cyA9IHZhbHVlX2NvbnRlbnRzIChhcmcpOwpA QCAtMTEwOCw3ICsxMTA4LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9zcHUt dGRlcC5jCiAgCiAgICAgICAgLyogSWYgdGhlIGFyZ3VtZW50IGRvZXNuJ3Qgd2hvbGx5IGZpdCBp bnRvIHJlZ2lzdGVycywgaXQgYW5kCiAgCSBhbGwgc3Vic2VxdWVudCBhcmd1bWVudHMgZ28gdG8g dGhlIHN0YWNrLiAgKi8KLUBAIC0xNDYyLDcgKzE0NjIsNyBAQAorQEAgLTE0NjMsNyArMTQ2Myw3 IEBACiAgCXsKICAJICBzdHJ1Y3QgdmFsdWUgKmFyZyA9IGFyZ3NbaV07CiAgCSAgc3RydWN0IHR5 cGUgKnR5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlIChhcmcpKTsKQEAgLTExMTcsMTAg KzExMTcsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9zcHUtdGRlcC5jCiAg CSAgaW50IHByZWZlcnJlZF9zbG90OwogIAkgIAogIAkgIGlmIChzcHVfc2NhbGFyX3ZhbHVlX3Ag KHR5cGUpKQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi90aWM2eC10ZGVwLmMKK0lu ZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGljNngtdGRlcC5jCiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDkub3JpZy9nZGIvdGljNngtdGRlcC5jCTIwMTctMDMtMDkg MjM6MzU6MDkuNzI1NTQxMjg1ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3Rp YzZ4LXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjE0LjQzNjU3NDA5NiArMDEwMAorLS0tIGdkYi03 Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3RpYzZ4LXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjA3 Ljk0MDU2NjY3OSArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90aWM2eC10ZGVw LmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4yNTE1ODg4NTcgKzAyMDAKIEBAIC04OTksNyArODk5LDcg QEAKICAgIGludCBhcmdyZWcgPSAwOwogICAgaW50IGFyZ251bTsKQEAgLTExNTgsMTAgKzExNTgs MTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi90aWM2eC10ZGVwLmMKICAKICAJ ICBhZGRyID0gc3AgKyBzdGFja19vZmZzZXQ7CiAgCSAgd3JpdGVfbWVtb3J5IChhZGRyLCB2YWws IGxlbik7Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3RpbGVneC10ZGVwLmMKK0lu ZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGlsZWd4LXRkZXAuYwogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi03LjEyLjUwLjIwMTcwMzA5Lm9yaWcvZ2RiL3RpbGVneC10ZGVwLmMJMjAxNy0wMy0w OSAyMzozNTowOS43MjY1NDEyOTIgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIv dGlsZWd4LXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjE0LjQzNjU3NDA5NiArMDEwMAorLS0tIGdk Yi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3RpbGVneC10ZGVwLmMJMjAxNy0wNC0yMCAyMzox MjowNy45NDE1NjY2ODYgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGlsZWd4 LXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjExLjI1MTU4ODg1NyArMDIwMAogQEAgLTI4OSw3ICsy ODksNyBAQAogICAgQ09SRV9BRERSIHN0YWNrX2Rlc3QgPSBzcDsKICAgIGludCBhcmdyZWcgPSBU SUxFR1hfUjBfUkVHTlVNOwpAQCAtMTE3MSwxMCArMTE3MSwxMCBAQCBJbmRleDogZ2RiLTcuMTIu NTAuMjAxNzAzMDkvZ2RiL3RpbGVneC10ZGVwLmMKICAgIHN0YXRpYyBjb25zdCBnZGJfYnl0ZSBm b3VyX3plcm9fd29yZHNbMTZdID0geyAwIH07CiAgCiAgICAvKiBJZiBzdHJ1Y3RfcmV0dXJuIGlz IDEsIHRoZW4gdGhlIHN0cnVjdCByZXR1cm4gYWRkcmVzcyB3aWxsCi1JbmRleDogZ2RiLTcuMTIu NTAuMjAxNzAzMDkvZ2RiL3Y4NTAtdGRlcC5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAv Z2RiL3Y4NTAtdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDkub3Jp Zy9nZGIvdjg1MC10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNTowOS43MjY1NDEyOTIgKzAxMDAKLSsr KyBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvdjg1MC10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNTox NC40MzY1NzQwOTYgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi92ODUw LXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjA3Ljk0MTU2NjY4NiArMDIwMAorKysrIGdkYi03Ljk5 LjkwLjIwMTcwNDIwL2dkYi92ODUwLXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjExLjI1MjU4ODg2 NCArMDIwMAogQEAgLTEwMTksNyArMTAxOSw3IEBACiAgICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9v cmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7CiAgICBpbnQgYXJncmVnOwpAQCAt MTE5MywxMCArMTE5MywxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3Y4NTAt dGRlcC5jCiAgICAgICAgZ2RiX2J5dGUgKnZhbDsKICAgICAgICBnZGJfYnl0ZSB2YWxidWZbdjg1 MF9yZWdfc2l6ZV07CiAgCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3ZheC10ZGVw LmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdmF4LXRkZXAuYwogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMzA5Lm9yaWcvZ2RiL3ZheC10ZGVwLmMJMjAxNy0wMy0w OSAyMzozNTowOS43Mjc1NDEyOTkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIv dmF4LXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjE0LjQzNzU3NDEwMyArMDEwMAorLS0tIGdkYi03 Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3ZheC10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjowNy45 NDI1NjY2OTIgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdmF4LXRkZXAuYwky MDE3LTA0LTIwIDIzOjEyOjExLjI1MjU4ODg2NCArMDIwMAogQEAgLTExMSw3ICsxMTEsNyBAQAog ICAgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2ggPSBnZXRfcmVnY2FjaGVfYXJjaCAocmVnY2FjaGUp OwogICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdk YmFyY2gpOwpAQCAtMTIxNSwxMCArMTIxNSwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAz MDkvZ2RiL3ZheC10ZGVwLmMKICAKICAgICAgICBzcCAtPSAobGVuICsgMykgJiB+MzsKICAgICAg ICBjb3VudCArPSAobGVuICsgMykgLyA0OwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dk Yi94c3Rvcm15MTYtdGRlcC5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3hzdG9y bXkxNi10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDMwOS5vcmlnL2dk Yi94c3Rvcm15MTYtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MDkuNzI3NTQxMjk5ICswMTAwCi0r KysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3hzdG9ybXkxNi10ZGVwLmMJMjAxNy0wMy0wOSAy MzozNToxNC40Mzc1NzQxMDMgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dk Yi94c3Rvcm15MTYtdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MDcuOTQyNTY2NjkyICswMjAwCisr KysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3hzdG9ybXkxNi10ZGVwLmMJMjAxNy0wNC0yMCAy MzoxMjoxMS4yNTI1ODg4NjQgKzAyMDAKIEBAIC0yMzMsOCArMjMzLDkgQEAKICAgIGVudW0gYmZk X2VuZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsKICAgIENP UkVfQUREUiBzdGFja19kZXN0ID0gc3A7CkBAIC0xMjMxLDExICsxMjMxLDExIEBAIEluZGV4OiBn ZGItNy4xMi41MC4yMDE3MDMwOS9nZGIveHN0b3JteTE2LXRkZXAuYwogICAgY29uc3QgZ2RiX2J5 dGUgKnZhbDsKICAgIGdkYl9ieXRlIGJ1Zlt4c3Rvcm15MTZfcGNfc2l6ZV07CiAgCi1JbmRleDog Z2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3h0ZW5zYS10ZGVwLmMKK0luZGV4OiBnZGItNy45OS45 MC4yMDE3MDQyMC9nZGIveHRlbnNhLXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUw LjIwMTcwMzA5Lm9yaWcvZ2RiL3h0ZW5zYS10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNTowOS43Mjg1 NDEzMDYgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIveHRlbnNhLXRkZXAuYwky MDE3LTAzLTA5IDIzOjM1OjE0LjQzODU3NDExMCArMDEwMAotQEAgLTE2MzksOCArMTYzOSw3IEBA CistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIveHRlbnNhLXRkZXAuYwkyMDE3LTA0 LTIwIDIzOjEyOjA3Ljk0NDU2NjcwNiArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dk Yi94dGVuc2EtdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MTEuMjUzNTg4ODcwICswMjAwCitAQCAt MTYzNyw4ICsxNjM3LDcgQEAKICAKICAgICAgICBpZiAobGVuID4gKGNhbGxzaXplID4gOCA/IDgg OiAxNikpCiAgCWludGVybmFsX2Vycm9yIChfX0ZJTEVfXywgX19MSU5FX18sCkBAIC0xMjQ1LDcg KzEyNDUsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3h0ZW5zYS10ZGVwLmMK ICAgICAgICBhcmVnID0gYXJyZWdfbnVtYmVyIChnZGJhcmNoLAogIAkJCSAgIGdkYmFyY2hfdGRl cCAoZ2RiYXJjaCktPmEwX2Jhc2UgKyAyICsgY2FsbHNpemUsIHdiKTsKICAKLUBAIC0xNzE0LDE4 ICsxNzEzLDE4IEBACitAQCAtMTcxMiwxOCArMTcxMSwxOCBAQAogIHsKICAgIGVudW0gYmZkX2Vu ZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsKICAgIGludCBp OwpAQCAtMTI2Nyw3ICsxMjY3LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi94 dGVuc2EtdGRlcC5jCiAgICAgICAgaW50IHJlZ25vOwkJLyogcmVnbm8gaWYgaW4gcmVnaXN0ZXIu ICAqLwogICAgICB9IHU7CiAgICB9OwotQEAgLTE3NDksOSArMTc0OCwxMCBAQAorQEAgLTE3NDcs OSArMTc0NiwxMCBAQAogICAgICAgICAgewogIAkgIHN0cnVjdCB2YWx1ZSAqYXJnID0gYXJnc1tp XTsKICAJICBzdHJ1Y3QgdHlwZSAqYXJnX3R5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBl IChhcmcpKTsKQEAgLTEyODEsNyArMTI4MSw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMw OS9nZGIveHRlbnNhLXRkZXAuYwogIAkgIHN3aXRjaCAoVFlQRV9DT0RFIChhcmdfdHlwZSkpCiAg CSAgICB7CiAgCSAgICBjYXNlIFRZUEVfQ09ERV9JTlQ6Ci1AQCAtMTgyMSw4ICsxODIxLDggQEAK K0BAIC0xODE5LDggKzE4MTksOCBAQAogIAkgIGluZm8tPmFsaWduID0gVFlQRV9MRU5HVEggKGJ1 aWx0aW5fdHlwZSAoZ2RiYXJjaCktPmJ1aWx0aW5fbG9uZyk7CiAgCSAgYnJlYWs7CiAgCX0KQEAg LTEyOTEsNyArMTI5MSw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIveHRlbnNh LXRkZXAuYwogIAogICAgICAgIC8qIEFsaWduIHNpemUgYW5kIG9uc3RhY2tfc2l6ZS4gICovCiAg ICAgICAgc2l6ZSA9IChzaXplICsgaW5mby0+YWxpZ24gLSAxKSAmIH4oaW5mby0+YWxpZ24gLSAx KTsKLUBAIC0xODY3LDcgKzE4NjcsNyBAQAorQEAgLTE4NjUsNyArMTg2NSw3IEBACiAgCiAgICAg ICAgaWYgKGluZm8tPm9uc3RhY2spCiAgCXsKQEAgLTEzMDAsNyArMTMwMCw3IEBAIEluZGV4OiBn ZGItNy4xMi41MC4yMDE3MDMwOS9nZGIveHRlbnNhLXRkZXAuYwogIAkgIENPUkVfQUREUiBvZmZz ZXQgPSBzcCArIGluZm8tPnUub2Zmc2V0OwogIAogIAkgIC8qIE9kZC1zaXplZCBzdHJ1Y3RzIGFy ZSBhbGlnbmVkIHRvIHRoZSBsb3dlciBzaWRlIG9mIGEgbWVtb3J5Ci1AQCAtMTg4Myw3ICsxODgz LDcgQEAKK0BAIC0xODgxLDcgKzE4ODEsNyBAQAogIAl9CiAgICAgICAgZWxzZQogIAl7CgpkaWZm IC0tZ2l0IGEvZ2RiLXZsYS1pbnRlbC1mb3J0cmFuLXN0cmlkZXMucGF0Y2ggYi9nZGItdmxhLWlu dGVsLWZvcnRyYW4tc3RyaWRlcy5wYXRjaAppbmRleCBkOTRkNDYyLi44MjM4OWUwIDEwMDY0NAot LS0gYS9nZGItdmxhLWludGVsLWZvcnRyYW4tc3RyaWRlcy5wYXRjaAorKysgYi9nZGItdmxhLWlu dGVsLWZvcnRyYW4tc3RyaWRlcy5wYXRjaApAQCAtMjYsMTEgKzI2LDExIEBAIGRiZmQ3MTQwYmY0 YzA1MDBkMWY1ZDE5MmJlNzgxZjgzZjc4Zjc5MjIKICBnZGIvdmFsdWUuaCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAyICsKICAyMyBmaWxlcyBjaGFuZ2VkLCAxMjQyIGluc2Vy dGlvbnMoKyksIDE4MyBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2 L2dkYi9kd2FyZjJsb2MuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9kd2FyZjJs b2MuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2RiL2R3YXJm MmxvYy5jCTIwMTctMDMtMDEgMjI6Mzc6NDQuMDQ2ODY3NDIzICswMTAwCi0rKysgZ2RiLTcuMTIu NTAuMjAxNzAyMjYvZ2RiL2R3YXJmMmxvYy5jCTIwMTctMDMtMDEgMjI6Mzg6MDUuODAzMDE3MTc2 ICswMTAwCi1AQCAtMjYwNywxMSArMjYwNywxNCBAQAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIw Lm9yaWcvZ2RiL2R3YXJmMmxvYy5jCTIwMTctMDQtMjAgMjI6MjU6NDMuOTczMjU0Njg1ICswMjAw CisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2R3YXJmMmxvYy5jCTIwMTctMDQtMjAgMjI6 MjY6MTQuMzU2NDQ2NTYyICswMjAwCitAQCAtMjYyMiwxMSArMjYyMiwxNCBAQAogIC8qIFNlZSBk d2FyZjJsb2MuaC4gICovCiAgCiAgaW50CkBAIC00Nyw3ICs0Nyw3IEBAIEluZGV4OiBnZGItNy4x Mi41MC4yMDE3MDIyNi9nZGIvZHdhcmYybG9jLmMKICAgIGlmIChwcm9wID09IE5VTEwpCiAgICAg IHJldHVybiAwOwogIAotQEAgLTI2MzUsNyArMjYzOCw3IEBACitAQCAtMjY1MCw3ICsyNjUzLDcg QEAKICAKICAJCSp2YWx1ZSA9IHZhbHVlX2FzX2FkZHJlc3MgKHZhbCk7CiAgCSAgICAgIH0KQEAg LTU2LDcgKzU2LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9kd2FyZjJsb2Mu YwogIAkgIH0KICAgICAgICB9CiAgICAgICAgYnJlYWs7Ci1AQCAtMjY1Nyw3ICsyNjYwLDcgQEAK K0BAIC0yNjcyLDcgKzI2NzUsNyBAQAogIAkgICAgaWYgKCF2YWx1ZV9vcHRpbWl6ZWRfb3V0ICh2 YWwpKQogIAkgICAgICB7CiAgCQkqdmFsdWUgPSB2YWx1ZV9hc19hZGRyZXNzICh2YWwpOwpAQCAt NjUsNyArNjUsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2R3YXJmMmxvYy5j CiAgCSAgICAgIH0KICAJICB9CiAgICAgICAgfQotQEAgLTI2NjUsOCArMjY2OCw4IEBACitAQCAt MjY4MCw4ICsyNjgzLDggQEAKICAKICAgICAgY2FzZSBQUk9QX0NPTlNUOgogICAgICAgICp2YWx1 ZSA9IHByb3AtPmRhdGEuY29uc3RfdmFsOwpAQCAtNzYsNyArNzYsNyBAQCBJbmRleDogZ2RiLTcu MTIuNTAuMjAxNzAyMjYvZ2RiL2R3YXJmMmxvYy5jCiAgICAgIGNhc2UgUFJPUF9BRERSX09GRlNF VDoKICAgICAgICB7CiAgCXN0cnVjdCBkd2FyZjJfcHJvcGVydHlfYmF0b24gKmJhdG9uCi1AQCAt MjY4NywxMSArMjY5MCwzOCBAQAorQEAgLTI3MDIsMTEgKzI3MDUsMzggQEAKICAJICB2YWwgPSB2 YWx1ZV9hdCAoYmF0b24tPm9mZnNldF9pbmZvLnR5cGUsCiAgCQkJICBwaW5mby0+YWRkciArIGJh dG9uLT5vZmZzZXRfaW5mby5vZmZzZXQpOwogIAkqdmFsdWUgPSB2YWx1ZV9hc19hZGRyZXNzICh2 YWwpOwpAQCAtMTE3LDExICsxMTcsMTEgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dk Yi9kd2FyZjJsb2MuYwogIH0KICAKICAvKiBTZWUgZHdhcmYybG9jLmguICAqLwotSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMjI2L2dkYi9kd2FyZjJsb2MuaAorSW5kZXg6IGdkYi03Ljk5LjkwLjIw MTcwNDIwL2dkYi9kd2FyZjJsb2MuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcw MjI2Lm9yaWcvZ2RiL2R3YXJmMmxvYy5oCTIwMTctMDMtMDEgMjI6Mzc6NDQuMDQ2ODY3NDIzICsw MTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2R3YXJmMmxvYy5oCTIwMTctMDMtMDEg MjI6Mzg6MDUuODAzMDE3MTc2ICswMTAwCi1AQCAtMTQwLDYgKzE0MCwxMiBAQAorLS0tIGdkYi03 Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2R3YXJmMmxvYy5oCTIwMTctMDQtMjAgMjI6MjU6NDMu OTczMjU0Njg1ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2R3YXJmMmxvYy5o CTIwMTctMDQtMjAgMjI6MjY6MTQuMzU2NDQ2NTYyICswMjAwCitAQCAtMTQzLDYgKzE0MywxMiBA QAogIAkJCSAgICAgIHN0cnVjdCBwcm9wZXJ0eV9hZGRyX2luZm8gKmFkZHJfc3RhY2ssCiAgCQkJ ICAgICAgQ09SRV9BRERSICp2YWx1ZSk7CiAgCkBAIC0xMzQsMTEgKzEzNCwxMSBAQCBJbmRleDog Z2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2R3YXJmMmxvYy5oCiAgLyogQSBoZWxwZXIgZm9yIHRo ZSBjb21waWxlciBpbnRlcmZhY2UgdGhhdCBjb21waWxlcyBhIHNpbmdsZSBkeW5hbWljCiAgICAg cHJvcGVydHkgdG8gQyBjb2RlLgogIAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9k d2FyZjJyZWFkLmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZHdhcmYycmVhZC5j CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvZHdhcmYycmVh ZC5jCTIwMTctMDMtMDEgMjI6Mzc6NDQuMDQ2ODY3NDIzICswMTAwCi0rKysgZ2RiLTcuMTIuNTAu MjAxNzAyMjYvZ2RiL2R3YXJmMnJlYWQuYwkyMDE3LTAzLTAxIDIyOjM4OjA1LjgwNzAxNzIwNCAr MDEwMAotQEAgLTE1MTc4LDcgKzE1MTc4LDcgQEAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5v cmlnL2dkYi9kd2FyZjJyZWFkLmMJMjAxNy0wNC0yMCAyMjoyNTo0My45NzMyNTQ2ODUgKzAyMDAK KysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZHdhcmYycmVhZC5jCTIwMTctMDQtMjAgMjI6 Mjc6MDguNTEwNzg4NTYyICswMjAwCitAQCAtMTUyNjgsNyArMTUyNjgsNyBAQAogICAgc3RydWN0 IHR5cGUgKmJhc2VfdHlwZSwgKm9yaWdfYmFzZV90eXBlOwogICAgc3RydWN0IHR5cGUgKnJhbmdl X3R5cGU7CiAgICBzdHJ1Y3QgYXR0cmlidXRlICphdHRyOwpAQCAtMTQ3LDcgKzE0Nyw3IEBAIElu ZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZHdhcmYycmVhZC5jCiAgICBpbnQgbG93X2Rl ZmF1bHRfaXNfdmFsaWQ7CiAgICBpbnQgaGlnaF9ib3VuZF9pc19jb3VudCA9IDA7CiAgICBjb25z dCBjaGFyICpuYW1lOwotQEAgLTE1MTk4LDcgKzE1MTk4LDkgQEAKK0BAIC0xNTI4OCw3ICsxNTI4 OCw5IEBACiAgCiAgICBsb3cua2luZCA9IFBST1BfQ09OU1Q7CiAgICBoaWdoLmtpbmQgPSBQUk9Q X0NPTlNUOwpAQCAtMTU3LDcgKzE1Nyw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9n ZGIvZHdhcmYycmVhZC5jCiAgCiAgICAvKiBTZXQgTE9XX0RFRkFVTFRfSVNfVkFMSUQgaWYgY3Vy cmVudCBsYW5ndWFnZSBhbmQgRFdBUkYgdmVyc2lvbiBhbGxvdwogICAgICAgb21pdHRpbmcgRFdf QVRfbG93ZXJfYm91bmQuICAqLwotQEAgLTE1MjMxLDYgKzE1MjMzLDEzIEBACitAQCAtMTUzMjEs NiArMTUzMjMsMTMgQEAKICAgICAgICBicmVhazsKICAgICAgfQogIApAQCAtMTY2LDEyICsxNjYs MTIgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9kd2FyZjJyZWFkLmMKICsgICAg aWYgKCFhdHRyX3RvX2R5bmFtaWNfcHJvcCAoYXR0ciwgZGllLCBjdSwgJnN0cmlkZSkpCiArICAg ICAgICBjb21wbGFpbnQgKCZzeW1maWxlX2NvbXBsYWludHMsIF8oIk1pc3NpbmcgRFdfQVRfYnl0 ZV9zdHJpZGUgIgogKyAgICAgICAgICAgICAgICAgICItIERJRSBhdCAweCV4IFtpbiBtb2R1bGUg JXNdIiksCi0rICAgICAgICAgICAgIGRpZS0+b2Zmc2V0LnNlY3Rfb2ZmLCBvYmpmaWxlX25hbWUg KGN1LT5vYmpmaWxlKSk7CisrICAgICAgICAgICAgIHRvX3VuZGVybHlpbmcgKGRpZS0+c2VjdF9v ZmYpLCBvYmpmaWxlX25hbWUgKGN1LT5vYmpmaWxlKSk7CiArCiAgICBhdHRyID0gZHdhcmYyX2F0 dHIgKGRpZSwgRFdfQVRfbG93ZXJfYm91bmQsIGN1KTsKICAgIGlmIChhdHRyKQogICAgICBhdHRy X3RvX2R5bmFtaWNfcHJvcCAoYXR0ciwgZGllLCBjdSwgJmxvdyk7Ci1AQCAtMTUzMDcsNyArMTUz MTYsNyBAQAorQEAgLTE1Mzk3LDcgKzE1NDA2LDcgQEAKICAgICAgICAmJiAhVFlQRV9VTlNJR05F RCAoYmFzZV90eXBlKSAmJiAoaGlnaC5kYXRhLmNvbnN0X3ZhbCAmIG5lZ2F0aXZlX21hc2spKQog ICAgICBoaWdoLmRhdGEuY29uc3RfdmFsIHw9IG5lZ2F0aXZlX21hc2s7CiAgCkBAIC0xODAsMTAg KzE4MCwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2R3YXJmMnJlYWQuYwog IAogICAgaWYgKGhpZ2hfYm91bmRfaXNfY291bnQpCiAgICAgIFRZUEVfUkFOR0VfREFUQSAocmFu Z2VfdHlwZSktPmZsYWdfdXBwZXJfYm91bmRfaXNfY291bnQgPSAxOwotSW5kZXg6IGdkYi03LjEy LjUwLjIwMTcwMjI2L2dkYi9ldmFsLmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIv ZXZhbC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvZXZh bC5jCTIwMTctMDMtMDEgMjI6Mzc6NDQuMDQ2ODY3NDIzICswMTAwCi0rKysgZ2RiLTcuMTIuNTAu MjAxNzAyMjYvZ2RiL2V2YWwuYwkyMDE3LTAzLTAxIDIyOjM4OjA1LjgwODAxNzIxMSArMDEwMAor LS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2V2YWwuYwkyMDE3LTA0LTIwIDIyOjI1 OjQzLjk3MzI1NDY4NSArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9ldmFsLmMJ MjAxNy0wNC0yMCAyMjoyNjoxNC4zNjI0NDY2MDAgKzAyMDAKIEBAIC0zNzksMjkgKzM3OSwzMjUg QEAKICAgIHJldHVybiBpbmRleDsKICB9CkBAIC02MDgsMTAgKzYwOCwxMCBAQCBJbmRleDogZ2Ri LTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2V2YWwuYwogICAgaWYgKChUWVBFX0NPREUgKGFycmF5X3R5 cGUpICE9IFRZUEVfQ09ERV9BUlJBWSkpCiAgICAgIGVycm9yIChfKCJDYW4ndCBnZXQgZGltZW5z aW9ucyBmb3IgYSBub24tYXJyYXkgdHlwZSIpKTsKICAKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3 MDIyNi9nZGIvZXhwcHJpbnQuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9leHBw cmludC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvZXhw cHJpbnQuYwkyMDE3LTAzLTAxIDIyOjM3OjQ0LjA0Njg2NzQyMyArMDEwMAotKysrIGdkYi03LjEy LjUwLjIwMTcwMjI2L2dkYi9leHBwcmludC5jCTIwMTctMDMtMDEgMjI6Mzg6MDUuODA5MDE3MjE4 ICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvZXhwcHJpbnQuYwkyMDE3 LTA0LTIwIDIyOjI1OjQzLjk3MzI1NDY4NSArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIw L2dkYi9leHBwcmludC5jCTIwMTctMDQtMjAgMjI6MjY6MTQuMzYzNDQ2NjA3ICswMjAwCiBAQCAt NTY4LDEyICs1NjgsMTAgQEAKICAJKnBvcyArPSAyOwogIApAQCAtNjYyLDEyICs2NjIsMTIgQEAg SW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9leHBwcmludC5jCiAgCSAgZWx0ID0gZHVt cF9zdWJleHAgKGV4cCwgc3RyZWFtLCBlbHQpOwogICAgICAgIH0KICAgICAgICBicmVhazsKLUlu ZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZXhwcmVzc2lvbi5oCitJbmRleDogZ2RiLTcu OTkuOTAuMjAxNzA0MjAvZ2RiL2V4cHJlc3Npb24uaAogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEy LjUwLjIwMTcwMjI2Lm9yaWcvZ2RiL2V4cHJlc3Npb24uaAkyMDE3LTAzLTAxIDIyOjM3OjQ0LjA0 Njg2NzQyMyArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9leHByZXNzaW9uLmgJ MjAxNy0wMy0wMSAyMjozODowNS44MDkwMTcyMTggKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3 MDQyMC5vcmlnL2dkYi9leHByZXNzaW9uLmgJMjAxNy0wNC0yMCAyMjoyNTo0My45NzMyNTQ2ODUg KzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZXhwcmVzc2lvbi5oCTIwMTctMDQt MjAgMjI6MjY6MTQuMzYzNDQ2NjA3ICswMjAwCiBAQCAtMTU0LDE3ICsxNTQsMTcgQEAKLSAJCQkJ IHN0cnVjdCB1aV9maWxlICosIGNoYXIgKik7CisgCQkJCSBzdHJ1Y3QgdWlfZmlsZSAqLCBjb25z dCBjaGFyICopOwogIGV4dGVybiB2b2lkIGR1bXBfcHJlZml4X2V4cHJlc3Npb24gKHN0cnVjdCBl eHByZXNzaW9uICosIHN0cnVjdCB1aV9maWxlICopOwogIAogLS8qIEluIGFuIE9QX1JBTkdFIGV4 cHJlc3Npb24sIGVpdGhlciBib3VuZCBjb3VsZCBiZSBlbXB0eSwgaW5kaWNhdGluZwpAQCAtNjkz LDEwICs2OTMsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9leHByZXNzaW9u LmgKICAgIH07CiAgCiAgI2VuZGlmIC8qICFkZWZpbmVkIChFWFBSRVNTSU9OX0gpICovCi1JbmRl eDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2YtZXhwLnkKK0luZGV4OiBnZGItNy45OS45MC4y MDE3MDQyMC9nZGIvZi1leHAueQogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2 Lm9yaWcvZ2RiL2YtZXhwLnkJMjAxNy0wMy0wMSAyMjozNzo0NC4wNDY4Njc0MjMgKzAxMDAKLSsr KyBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZi1leHAueQkyMDE3LTAzLTAxIDIyOjM4OjA1Ljgw OTAxNzIxOCArMDEwMAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2YtZXhwLnkJ MjAxNy0wNC0yMCAyMjoyNTo0My45NzMyNTQ2ODUgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3 MDQyMC9nZGIvZi1leHAueQkyMDE3LTA0LTIwIDIyOjI2OjE0LjM2MzQ0NjYwNyArMDIwMAogQEAg LTI1NCwzMSArMjU0LDYzIEBACiAgICAgCiAgYXJnbGlzdAk6CWFyZ2xpc3QgJywnIGV4cCAgICVw cmVjIEFCT1ZFX0NPTU1BCkBAIC03NjYsMTAgKzc2NiwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAu MjAxNzAyMjYvZ2RiL2YtZXhwLnkKICAJCQkgIHdyaXRlX2V4cF9lbHRfb3Bjb2RlIChwc3RhdGUs IE9QX1JBTkdFKTsgfQogIAk7CiAgCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2Yt dmFscHJpbnQuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9mLXZhbHByaW50LmMK ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9mLXZhbHByaW50 LmMJMjAxNy0wMy0wMSAyMjozNzo0NC4wNDY4Njc0MjMgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4y MDE3MDIyNi9nZGIvZi12YWxwcmludC5jCTIwMTctMDMtMDEgMjI6Mzg6MDUuODA5MDE3MjE4ICsw MTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvZi12YWxwcmludC5jCTIwMTct MDQtMjAgMjI6MjU6NDMuOTczMjU0Njg1ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAv Z2RiL2YtdmFscHJpbnQuYwkyMDE3LTA0LTIwIDIyOjI2OjE0LjM2NDQ0NjYxMyArMDIwMAogQEAg LTEyMSw4ICsxMjEsMTQgQEAKICAKICAgIGlmIChuc3MgIT0gbmRpbWVuc2lvbnMpCkBAIC03ODYs MTEgKzc4NiwxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2YtdmFscHJpbnQu YwogIAogICAgICAgIGZvciAoaSA9IGxvd2VyYm91bmQ7CiAgCSAgIChpIDwgdXBwZXJib3VuZCAr IDEgJiYgKCplbHRzKSA8IG9wdGlvbnMtPnByaW50X21heCk7Ci1JbmRleDogZ2RiLTcuMTIuNTAu MjAxNzAyMjYvZ2RiL2dkYnR5cGVzLmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIv Z2RidHlwZXMuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2Ri L2dkYnR5cGVzLmMJMjAxNy0wMy0wMSAyMjozNzo0NC4wNDY4Njc0MjMgKzAxMDAKLSsrKyBnZGIt Ny4xMi41MC4yMDE3MDIyNi9nZGIvZ2RidHlwZXMuYwkyMDE3LTAzLTAxIDIyOjM4OjA1LjgxMDAx NzIyNCArMDEwMAotQEAgLTgzNiw3ICs4MzYsOCBAQAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIw Lm9yaWcvZ2RiL2dkYnR5cGVzLmMJMjAxNy0wNC0yMCAyMjoyNTo0My45NzMyNTQ2ODUgKzAyMDAK KysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZ2RidHlwZXMuYwkyMDE3LTA0LTIwIDIyOjI2 OjE0LjM2NTQ0NjYxOSArMDIwMAorQEAgLTg2Miw3ICs4NjIsOCBAQAogIHN0cnVjdCB0eXBlICoK ICBjcmVhdGVfcmFuZ2VfdHlwZSAoc3RydWN0IHR5cGUgKnJlc3VsdF90eXBlLCBzdHJ1Y3QgdHlw ZSAqaW5kZXhfdHlwZSwKICAJCSAgIGNvbnN0IHN0cnVjdCBkeW5hbWljX3Byb3AgKmxvd19ib3Vu ZCwKQEAgLTgwMCw3ICs4MDAsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2dk YnR5cGVzLmMKICB7CiAgICBpZiAocmVzdWx0X3R5cGUgPT0gTlVMTCkKICAgICAgcmVzdWx0X3R5 cGUgPSBhbGxvY190eXBlX2NvcHkgKGluZGV4X3R5cGUpOwotQEAgLTg1MSw2ICs4NTIsNyBAQAor QEAgLTg3Nyw2ICs4NzgsNyBAQAogICAgICBUWVBFX1pBTExPQyAocmVzdWx0X3R5cGUsIHNpemVv ZiAoc3RydWN0IHJhbmdlX2JvdW5kcykpOwogICAgVFlQRV9SQU5HRV9EQVRBIChyZXN1bHRfdHlw ZSktPmxvdyA9ICpsb3dfYm91bmQ7CiAgICBUWVBFX1JBTkdFX0RBVEEgKHJlc3VsdF90eXBlKS0+ aGlnaCA9ICpoaWdoX2JvdW5kOwpAQCAtODA4LDcgKzgwOCw3IEBAIEluZGV4OiBnZGItNy4xMi41 MC4yMDE3MDIyNi9nZGIvZ2RidHlwZXMuYwogIAogICAgaWYgKGxvd19ib3VuZC0+a2luZCA9PSBQ Uk9QX0NPTlNUICYmIGxvd19ib3VuZC0+ZGF0YS5jb25zdF92YWwgPj0gMCkKICAgICAgVFlQRV9V TlNJR05FRCAocmVzdWx0X3R5cGUpID0gMTsKLUBAIC04NzksNyArODgxLDcgQEAKK0BAIC05MDUs NyArOTA3LDcgQEAKICBjcmVhdGVfc3RhdGljX3JhbmdlX3R5cGUgKHN0cnVjdCB0eXBlICpyZXN1 bHRfdHlwZSwgc3RydWN0IHR5cGUgKmluZGV4X3R5cGUsCiAgCQkJICBMT05HRVNUIGxvd19ib3Vu ZCwgTE9OR0VTVCBoaWdoX2JvdW5kKQogIHsKQEAgLTgxNyw3ICs4MTcsNyBAQCBJbmRleDogZ2Ri LTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2dkYnR5cGVzLmMKICAKICAgIGxvdy5raW5kID0gUFJPUF9D T05TVDsKICAgIGxvdy5kYXRhLmNvbnN0X3ZhbCA9IGxvd19ib3VuZDsKLUBAIC04ODcsNyArODg5 LDExIEBACitAQCAtOTEzLDcgKzkxNSwxMSBAQAogICAgaGlnaC5raW5kID0gUFJPUF9DT05TVDsK ICAgIGhpZ2guZGF0YS5jb25zdF92YWwgPSBoaWdoX2JvdW5kOwogIApAQCAtODMwLDcgKzgzMCw3 IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZ2RidHlwZXMuYwogIAogICAgcmV0 dXJuIHJlc3VsdF90eXBlOwogIH0KLUBAIC0xMDg0LDE2ICsxMDkwLDIwIEBACitAQCAtMTExMCwx NiArMTExNiwyMCBAQAogICAgICAgICYmICghdHlwZV9ub3RfYXNzb2NpYXRlZCAocmVzdWx0X3R5 cGUpCiAgCSAgJiYgIXR5cGVfbm90X2FsbG9jYXRlZCAocmVzdWx0X3R5cGUpKSkKICAgICAgewpA QCAtODUyLDcgKzg1Miw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZ2RidHlw ZXMuYwogICAgICAgIGVsc2UgaWYgKGJpdF9zdHJpZGUgPiAwKQogIAlUWVBFX0xFTkdUSCAocmVz dWx0X3R5cGUpID0KICAJICAoYml0X3N0cmlkZSAqIChoaWdoX2JvdW5kIC0gbG93X2JvdW5kICsg MSkgKyA3KSAvIDg7Ci1AQCAtMTg4NiwxMiArMTg5NiwxMiBAQAorQEAgLTE5MTIsMTIgKzE5MjIs MTIgQEAKICAgIENPUkVfQUREUiB2YWx1ZTsKICAgIHN0cnVjdCB0eXBlICpzdGF0aWNfcmFuZ2Vf dHlwZSwgKnN0YXRpY190YXJnZXRfdHlwZTsKICAgIGNvbnN0IHN0cnVjdCBkeW5hbWljX3Byb3Ag KnByb3A7CkBAIC04NjcsNyArODY3LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dk Yi9nZGJ0eXBlcy5jCiAgICAgIHsKICAgICAgICBsb3dfYm91bmQua2luZCA9IFBST1BfQ09OU1Q7 CiAgICAgICAgbG93X2JvdW5kLmRhdGEuY29uc3RfdmFsID0gdmFsdWU7Ci1AQCAtMTkwMyw3ICsx OTEzLDcgQEAKK0BAIC0xOTI5LDcgKzE5MzksNyBAQAogICAgICB9CiAgCiAgICBwcm9wID0gJlRZ UEVfUkFOR0VfREFUQSAoZHluX3JhbmdlX3R5cGUpLT5oaWdoOwpAQCAtODc2LDcgKzg3Niw3IEBA IEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZ2RidHlwZXMuYwogICAgICB7CiAgICAg ICAgaGlnaF9ib3VuZC5raW5kID0gUFJPUF9DT05TVDsKICAgICAgICBoaWdoX2JvdW5kLmRhdGEu Y29uc3RfdmFsID0gdmFsdWU7Ci1AQCAtMTkxOCwxMiArMTkyOCwyMCBAQAorQEAgLTE5NDQsMTIg KzE5NTQsMjAgQEAKICAgICAgICBoaWdoX2JvdW5kLmRhdGEuY29uc3RfdmFsID0gMDsKICAgICAg fQogIApAQCAtODk4LDExICs4OTgsMTEgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dk Yi9nZGJ0eXBlcy5jCiAgICBUWVBFX1JBTkdFX0RBVEEgKHN0YXRpY19yYW5nZV90eXBlKS0+Zmxh Z19ib3VuZF9ldmFsdWF0ZWQgPSAxOwogICAgcmV0dXJuIHN0YXRpY19yYW5nZV90eXBlOwogIH0K LUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZ2RidHlwZXMuaAorSW5kZXg6IGdkYi03 Ljk5LjkwLjIwMTcwNDIwL2dkYi9nZGJ0eXBlcy5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIu NTAuMjAxNzAyMjYub3JpZy9nZGIvZ2RidHlwZXMuaAkyMDE3LTAzLTAxIDIyOjM3OjQ0LjA0Njg2 NzQyMyArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nZGJ0eXBlcy5oCTIwMTct MDMtMDEgMjI6Mzg6MDUuODExMDE3MjMxICswMTAwCi1AQCAtNTUwLDYgKzU1MCwxMCBAQAorLS0t IGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2dkYnR5cGVzLmgJMjAxNy0wNC0yMCAyMjoy NTo0My45NzMyNTQ2ODUgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZ2RidHlw ZXMuaAkyMDE3LTA0LTIwIDIyOjI2OjE0LjM2NTQ0NjYxOSArMDIwMAorQEAgLTU1MSw2ICs1NTEs MTAgQEAKICAKICAgIHN0cnVjdCBkeW5hbWljX3Byb3AgaGlnaDsKICAKQEAgLTkxMyw3ICs5MTMs NyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2dkYnR5cGVzLmgKICAgIC8qIFRy dWUgaWYgSElHSCByYW5nZSBib3VuZCBjb250YWlucyB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGlu IHRoZQogICAgICAgc3VicmFuZ2UuIFRoaXMgYWZmZWN0cyBob3cgdGhlIGZpbmFsIGhpZ2h0IGJv dW5kIGlzIGNvbXB1dGVkLiAgKi8KICAKLUBAIC03MTIsNyArNzE2LDYgQEAKK0BAIC03MTMsNyAr NzE3LDYgQEAKICAgICAgLyogKiBVbmlvbiBtZW1iZXIgdXNlZCBmb3IgcmFuZ2UgdHlwZXMuICAq LwogIAogICAgICBzdHJ1Y3QgcmFuZ2VfYm91bmRzICpib3VuZHM7CkBAIC05MjEsNyArOTIxLDcg QEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nZGJ0eXBlcy5oCiAgICB9IGZsZHNf Ym5kczsKICAKICAgIC8qICogU2xvdCB0byBwb2ludCB0byBhZGRpdGlvbmFsIGxhbmd1YWdlLXNw ZWNpZmljIGZpZWxkcyBvZiB0aGlzCi1AQCAtMTIyMiw2ICsxMjI1LDE1IEBACitAQCAtMTIyOCw2 ICsxMjMxLDE1IEBACiAgICBUWVBFX1JBTkdFX0RBVEEocmFuZ2VfdHlwZSktPmhpZ2gua2luZAog ICNkZWZpbmUgVFlQRV9MT1dfQk9VTkRfS0lORChyYW5nZV90eXBlKSBcCiAgICBUWVBFX1JBTkdF X0RBVEEocmFuZ2VfdHlwZSktPmxvdy5raW5kCkBAIC05MzcsNyArOTM3LDcgQEAgSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nZGJ0eXBlcy5oCiAgCiAgLyogUHJvcGVydHkgYWNjZXNz b3JzIGZvciB0aGUgdHlwZSBkYXRhIGxvY2F0aW9uLiAgKi8KICAjZGVmaW5lIFRZUEVfREFUQV9M T0NBVElPTih0aGlzdHlwZSkgXAotQEAgLTEyNTYsNiArMTI2OCw5IEBACitAQCAtMTI2Miw2ICsx Mjc0LDkgQEAKICAgICBUWVBFX0hJR0hfQk9VTkRfVU5ERUZJTkVEKFRZUEVfSU5ERVhfVFlQRShh cnJheXR5cGUpKQogICNkZWZpbmUgVFlQRV9BUlJBWV9MT1dFUl9CT1VORF9JU19VTkRFRklORUQo YXJyYXl0eXBlKSBcCiAgICAgVFlQRV9MT1dfQk9VTkRfVU5ERUZJTkVEKFRZUEVfSU5ERVhfVFlQ RShhcnJheXR5cGUpKQpAQCAtOTQ3LDcgKzk0Nyw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3 MDIyNi9nZGIvZ2RidHlwZXMuaAogIAogICNkZWZpbmUgVFlQRV9BUlJBWV9VUFBFUl9CT1VORF9W QUxVRShhcnJheXR5cGUpIFwKICAgICAoVFlQRV9ISUdIX0JPVU5EKFRZUEVfSU5ERVhfVFlQRSgo YXJyYXl0eXBlKSkpKQotQEAgLTE3NjUsNiArMTc4MCw3IEBACitAQCAtMTc3Niw2ICsxNzkxLDcg QEAKICAKICBleHRlcm4gc3RydWN0IHR5cGUgKmNyZWF0ZV9yYW5nZV90eXBlIChzdHJ1Y3QgdHlw ZSAqLCBzdHJ1Y3QgdHlwZSAqLAogIAkJCQkgICAgICAgY29uc3Qgc3RydWN0IGR5bmFtaWNfcHJv cCAqLApAQCAtOTU1LDEwICs5NTUsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dk Yi9nZGJ0eXBlcy5oCiAgCQkJCSAgICAgICBjb25zdCBzdHJ1Y3QgZHluYW1pY19wcm9wICopOwog IAogIGV4dGVybiBzdHJ1Y3QgdHlwZSAqY3JlYXRlX2FycmF5X3R5cGUgKHN0cnVjdCB0eXBlICos IHN0cnVjdCB0eXBlICosCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3BhcnNlLmMK K0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvcGFyc2UuYwogPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2RiL3BhcnNlLmMJMjAxNy0wMy0wMSAyMjozNzo0 NC4wNDY4Njc0MjMgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvcGFyc2UuYwky MDE3LTAzLTAxIDIyOjM4OjA1LjgxMTAxNzIzMSArMDEwMAorLS0tIGdkYi03Ljk5LjkwLjIwMTcw NDIwLm9yaWcvZ2RiL3BhcnNlLmMJMjAxNy0wNC0yMCAyMjoyNTo0My45NzMyNTQ2ODUgKzAyMDAK KysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvcGFyc2UuYwkyMDE3LTA0LTIwIDIyOjI2OjE0 LjM2NjQ0NjYyNSArMDIwMAogQEAgLTEwMDcsMjIgKzEwMDcsMjAgQEAKICAKICAgICAgY2FzZSBP UF9SQU5HRToKQEAgLTk5MywxMCArOTkzLDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIy Ni9nZGIvcGFyc2UuYwogIAogICAgICAgIGJyZWFrOwogIAotSW5kZXg6IGdkYi03LjEyLjUwLjIw MTcwMjI2L2dkYi9ydXN0LWV4cC55CitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3J1 c3QtZXhwLnkKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9y dXN0LWV4cC55CTIwMTctMDMtMDEgMjI6Mzc6NDQuMDQ1ODY3NDE2ICswMTAwCi0rKysgZ2RiLTcu MTIuNTAuMjAxNzAyMjYvZ2RiL3J1c3QtZXhwLnkJMjAxNy0wMy0wMSAyMjozODowNS44MTEwMTcy MzEgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9ydXN0LWV4cC55CTIw MTctMDQtMjAgMjI6MjU6NDMuOTczMjU0Njg1ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0 MjAvZ2RiL3J1c3QtZXhwLnkJMjAxNy0wNC0yMCAyMjoyNjoxNC4zNjY0NDY2MjUgKzAyMDAKIEBA IC0yNDA5LDIzICsyNDA5LDE3IEBACiAgCiAgICAgIGNhc2UgT1BfUkFOR0U6CkBAIC0xMDI0LDEw ICsxMDI0LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvcnVzdC1leHAueQog IAkgIH0KICAJd3JpdGVfZXhwX2VsdF9vcGNvZGUgKHN0YXRlLCBPUF9SQU5HRSk7CiAgCXdyaXRl X2V4cF9lbHRfbG9uZ2NzdCAoc3RhdGUsIGtpbmQpOwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcw MjI2L2dkYi9ydXN0LWxhbmcuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9ydXN0 LWxhbmcuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2RiL3J1 c3QtbGFuZy5jCTIwMTctMDMtMDEgMjI6Mzc6NDQuMDQ2ODY3NDIzICswMTAwCi0rKysgZ2RiLTcu MTIuNTAuMjAxNzAyMjYvZ2RiL3J1c3QtbGFuZy5jCTIwMTctMDMtMDEgMjI6Mzg6MDUuODEyMDE3 MjM4ICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvcnVzdC1sYW5nLmMJ MjAxNy0wNC0yMCAyMjoyNTo0My45NzMyNTQ2ODUgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3 MDQyMC9nZGIvcnVzdC1sYW5nLmMJMjAxNy0wNC0yMCAyMjoyNjoxNC4zNjc0NDY2MzIgKzAyMDAK IEBAIC0xMzE0LDkgKzEzMTQsOSBAQAogICAga2luZCA9IChlbnVtIHJhbmdlX3R5cGUpIGxvbmdl c3RfdG9faW50IChleHAtPmVsdHNbKnBvcyArIDFdLmxvbmdjb25zdCk7CiAgICAqcG9zICs9IDM7 CkBAIC0xMDk0LDEwICsxMDk0LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIv cnVzdC1sYW5nLmMKICAJICAgIGhpZ2ggPSBoaWdoX2JvdW5kOwogIAkgIGlmIChoaWdoIDwgMCkK ICAJICAgIGVycm9yIChfKCJIaWdoIGluZGV4IGxlc3MgdGhhbiB6ZXJvIikpOwotSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMjI2L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3RhdGljLWFycmF5 cy5leHAKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL3N0YXRpYy1hcnJheXMuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEt MDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdGF0aWMtYXJyYXlzLmV4cAkyMDE3LTAzLTAxIDIyOjM4 OjA1LjgxMjAxNzIzOCArMDEwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vc3RhdGljLWFycmF5cy5leHAJMjAxNy0wNC0yMCAyMjoyNjoxNC4zNjc0 NDY2MzIgKzAyMDAKIEBAIC0wLDAgKzEsNDIxIEBACiArIyBDb3B5cmlnaHQgMjAxNSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsjCkBAIC0xNTIwLDEwICsxNTIwLDEwIEBAIEluZGV4 OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0YXRpYy1h cnJheXMuZXhwCiArZ2RiX3Rlc3QgInByaW50IGFyMVwoMzo3XCkgPSA0MiIgXAogKwkJIkludmFs aWQgY2FzdC4iIFwKICsJCSJBc3NpZ25tZW50IG9mIHZhbHVlIHRvIHN1YmFycmF5IgotSW5kZXg6 IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3RhdGljLWFy cmF5cy5mOTAKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL3N0YXRpYy1hcnJheXMuZjkwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAt MDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdGF0aWMtYXJyYXlzLmY5MAkyMDE3LTAzLTAxIDIy OjM4OjA1LjgxMjAxNzIzOCArMDEwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYW4vc3RhdGljLWFycmF5cy5mOTAJMjAxNy0wNC0yMCAyMjoyNjoxNC4z Njg0NDY2MzggKzAyMDAKIEBAIC0wLDAgKzEsNTUgQEAKICshIENvcHlyaWdodCAyMDE1IEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKyEKQEAgLTE1ODAsMTAgKzE1ODAsMTAgQEAgSW5k ZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3RhdGlj LWFycmF5cy5mOTAKICtwcm9ncmFtIHRlc3Rwcm9nCiArICBjYWxsIHN1YgogK2VuZAotSW5kZXg6 IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0eXBl LmV4cAorSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vdmxhLXB0eXBlLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9y aWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtcHR5cGUuZXhwCTIwMTctMDMtMDEgMjI6 Mzc6NDQuMDQ2ODY3NDIzICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi92bGEtcHR5cGUuZXhwCTIwMTctMDMtMDEgMjI6Mzg6MDUuODEzMDE3 MjQ1ICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL3ZsYS1wdHlwZS5leHAJMjAxNy0wNC0yMCAyMjoyNTo0My45NzMyNTQ2ODUgKzAy MDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3Zs YS1wdHlwZS5leHAJMjAxNy0wNC0yMCAyMjoyNjoxNC4zNjg0NDY2MzggKzAyMDAKIEBAIC05OCwz ICs5OCw3IEBACiAgZ2RiX3Rlc3QgInB0eXBlIHZsYTIoNSwgNDUsIDIwKSIgXAogICAgIm5vIHN1 Y2ggdmVjdG9yIGVsZW1lbnQgXFxcKHZlY3RvciBub3QgYWxsb2NhdGVkXFxcKSIgXApAQCAtMTU5 MiwxMCArMTU5MiwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi92bGEtcHR5cGUuZXhwCiArZ2RiX2JyZWFrcG9pbnQgW2dkYl9nZXRfbGlu ZV9udW1iZXIgInZsYTEtbmVnLWJvdW5kcyJdCiArZ2RiX2NvbnRpbnVlX3RvX2JyZWFrcG9pbnQg InZsYTEtbmVnLWJvdW5kcyIKICtnZGJfdGVzdCAicHR5cGUgdmxhMSIgInR5cGUgPSAkcmVhbCBc XCgtMjoxLC01OjQsLTM6LTFcXCkiICJwdHlwZSB2bGExIG5lZ2F0aXZlIGJvdW5kcyIKLUluZGV4 OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zaXpl b2YuZXhwCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi92bGEtc2l6ZW9mLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2 Lm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc2l6ZW9mLmV4cAkyMDE3LTAzLTAx IDIyOjM3OjQ0LjA0Njg2NzQyMyArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXNpemVvZi5leHAJMjAxNy0wMy0wMSAyMjozODowNS44 MTMwMTcyNDUgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vdmxhLXNpemVvZi5leHAJMjAxNy0wNC0yMCAyMjoyNTo0My45NzMyNTQ2 ODUgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL3ZsYS1zaXplb2YuZXhwCTIwMTctMDQtMjAgMjI6MjY6MTQuMzY4NDQ2NjM4ICswMjAwCiBA QCAtNDQsMyArNDQsNyBAQAogIGdkYl9icmVha3BvaW50IFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJw dmxhLWFzc29jaWF0ZWQiXQogIGdkYl9jb250aW51ZV90b19icmVha3BvaW50ICJwdmxhLWFzc29j aWF0ZWQiCkBAIC0xNjA0LDEwICsxNjA0LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIy Ni9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zaXplb2YuZXhwCiArZ2RiX2JyZWFrcG9p bnQgW2dkYl9nZXRfbGluZV9udW1iZXIgInZsYTEtbmVnLWJvdW5kcyJdCiArZ2RiX2NvbnRpbnVl X3RvX2JyZWFrcG9pbnQgInZsYTEtbmVnLWJvdW5kcyIKICtnZGJfdGVzdCAicHJpbnQgc2l6ZW9m KHZsYTEpIiAiID0gNDgwIiAicHJpbnQgc2l6ZW9mIHZsYTEgbmVnYXRpdmUgYm91bmRzIgotSW5k ZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0 cmlkZS5leHAKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL3ZsYS1zdHJpZGUuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEt MDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaWRlLmV4cAkyMDE3LTAzLTAxIDIyOjM4OjA1 LjgxMzAxNzI0NSArMDEwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vdmxhLXN0cmlkZS5leHAJMjAxNy0wNC0yMCAyMjoyNjoxNC4zNjg0NDY2Mzgg KzAyMDAKIEBAIC0wLDAgKzEsNDQgQEAKICsjIENvcHlyaWdodCAyMDE2IEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTY1MywxMCArMTY1MywxMCBAQCBJbmRleDogZ2RiLTcu MTIuNTAuMjAxNzAyMjYvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaWRlLmV4cAog K2dkYl9jb250aW51ZV90b19icmVha3BvaW50ICJzaW5nbGUtZWxlbWVudCIKICtnZGJfdGVzdCAi cHJpbnQgcHZsYSIgIiA9IFxcXCg1XFxcKSIgInByaW50IHNpbmdsZS1lbGVtZW50IgogK2dkYl90 ZXN0ICJwcmludCBwdmxhKDEpIiAiID0gNSIgInByaW50IG9uZSBzaW5nbGUtZWxlbWVudCIKLUlu ZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1z dHJpZGUuZjkwCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi92bGEtc3RyaWRlLmY5MAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAx LTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmlkZS5mOTAJMjAxNy0wMy0wMSAyMjozODow NS44MTMwMTcyNDUgKzAxMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL3ZsYS1zdHJpZGUuZjkwCTIwMTctMDQtMjAgMjI6MjY6MTQuMzY4NDQ2NjM4 ICswMjAwCiBAQCAtMCwwICsxLDI5IEBACiArISBDb3B5cmlnaHQgMjAxNiBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4KICshCkBAIC0xNjg3LDEwICsxNjg3LDEwIEBAIEluZGV4OiBnZGIt Ny4xMi41MC4yMDE3MDIyNi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpZGUuZjkw CiArCiArICBwdmxhID0+IG51bGwoKSAgICAgICAgISBzaW5nbGUtZWxlbWVudAogK2VuZCBwcm9n cmFtIHZsYV9zdHJpZGUKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL3ZsYS5mOTAKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVz dHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS5mOTAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4y MDE3MDIyNi5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLmY5MAkyMDE3LTAzLTAx IDIyOjM3OjQ0LjA0Njg2NzQyMyArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLmY5MAkyMDE3LTAzLTAxIDIyOjM4OjA1LjgxMzAxNzI0 NSArMDEwMAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi92bGEuZjkwCTIwMTctMDQtMjAgMjI6MjU6NDMuOTczMjU0Njg1ICswMjAwCisrKysg Z2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEuZjkwCTIw MTctMDQtMjAgMjI6MjY6MTQuMzY4NDQ2NjM4ICswMjAwCiBAQCAtNTQsNCArNTQsMTQgQEAKICAK ICAgIGFsbG9jYXRlICh2bGEzICgyLDIpKSAgICAgICAgICAgICAgICEgdmxhMi1kZWFsbG9jYXRl ZApAQCAtMTcwNiwxMCArMTcwNiwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEuZjkwCiArICBsID0gYWxsb2NhdGVkKHZsYTEpCiAr CiAgZW5kIHByb2dyYW0gdmxhCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3ZhbGFy aXRoLmMKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdmFsYXJpdGguYwogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2RiL3ZhbGFyaXRoLmMJMjAxNy0w My0wMSAyMjozNzo0NC4wNDY4Njc0MjMgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9n ZGIvdmFsYXJpdGguYwkyMDE3LTAzLTAxIDIyOjM4OjA1LjgxMzAxNzI0NSArMDEwMAorLS0tIGdk Yi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3ZhbGFyaXRoLmMJMjAxNy0wNC0yMCAyMjoyNTo0 My45NzMyNTQ2ODUgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdmFsYXJpdGgu YwkyMDE3LTA0LTIwIDIyOjI2OjE0LjM2OTQ0NjY0NCArMDIwMAogQEAgLTE5MywxMCArMTkzLDE2 IEBACiAgICBzdHJ1Y3QgdHlwZSAqYXJyYXlfdHlwZSA9IGNoZWNrX3R5cGVkZWYgKHZhbHVlX3R5 cGUgKGFycmF5KSk7CiAgICBzdHJ1Y3QgdHlwZSAqZWx0X3R5cGUgPSBjaGVja190eXBlZGVmIChU WVBFX1RBUkdFVF9UWVBFIChhcnJheV90eXBlKSk7CkBAIC0xNzI5LDExICsxNzI5LDExIEBAIElu ZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvdmFsYXJpdGguYwogICAgICB7CiAgICAgICAg aWYgKHR5cGVfbm90X2Fzc29jaWF0ZWQgKGFycmF5X3R5cGUpKQogICAgICAgICAgZXJyb3IgKF8o Im5vIHN1Y2ggdmVjdG9yIGVsZW1lbnQgKHZlY3RvciBub3QgYXNzb2NpYXRlZCkiKSk7Ci1JbmRl eDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3ZhbG9wcy5jCitJbmRleDogZ2RiLTcuOTkuOTAu MjAxNzA0MjAvZ2RiL3ZhbG9wcy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAy MjYub3JpZy9nZGIvdmFsb3BzLmMJMjAxNy0wMy0wMSAyMjozNzo0NC4wNDY4Njc0MjMgKzAxMDAK LSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvdmFsb3BzLmMJMjAxNy0wMy0wMSAyMzoyNzow Mi40NjY5MjkxNDcgKzAxMDAKLUBAIC0zNzgyLDU1ICszNzgyLDE5NCBAQAorLS0tIGdkYi03Ljk5 LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3ZhbG9wcy5jCTIwMTctMDQtMjAgMjI6MjU6NDMuOTczMjU0 Njg1ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3ZhbG9wcy5jCTIwMTctMDQt MjAgMjI6MjY6MTQuMzcwNDQ2NjUxICswMjAwCitAQCAtMzc4Niw1NSArMzc4NiwxOTQgQEAKICBz dHJ1Y3QgdmFsdWUgKgogIHZhbHVlX3NsaWNlIChzdHJ1Y3QgdmFsdWUgKmFycmF5LCBpbnQgbG93 Ym91bmQsIGludCBsZW5ndGgpCiAgewpAQCAtMTk2MCwxMCArMTk2MCwxMCBAQCBJbmRleDogZ2Ri LTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3ZhbG9wcy5jCiAgfQogIAogIC8qIENyZWF0ZSBhIHZhbHVl IGZvciBhIEZPUlRSQU4gY29tcGxleCBudW1iZXIuICBDdXJyZW50bHkgbW9zdCBvZiB0aGUKLUlu ZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvdmFsdWUuaAorSW5kZXg6IGdkYi03Ljk5Ljkw LjIwMTcwNDIwL2dkYi92YWx1ZS5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAy MjYub3JpZy9nZGIvdmFsdWUuaAkyMDE3LTAzLTAxIDIyOjM3OjQ0LjA0Njg2NzQyMyArMDEwMAot KysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi92YWx1ZS5oCTIwMTctMDMtMDEgMjI6Mzg6MDUu ODE1MDE3MjU5ICswMTAwCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvdmFsdWUu aAkyMDE3LTA0LTIwIDIyOjI1OjQzLjk3MzI1NDY4NSArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIw MTcwNDIwL2dkYi92YWx1ZS5oCTIwMTctMDQtMjAgMjI6MjY6MTQuMzcwNDQ2NjUxICswMjAwCiBA QCAtMTEwNiw2ICsxMTA2LDggQEAKICAKICBleHRlcm4gc3RydWN0IHZhbHVlICp2YWx1ZV9zbGlj ZSAoc3RydWN0IHZhbHVlICosIGludCwgaW50KTsKCmRpZmYgLS1naXQgYS9nZGItdmxhLWludGVs LWZvcnRyYW4tdmxhLXN0cmluZ3MucGF0Y2ggYi9nZGItdmxhLWludGVsLWZvcnRyYW4tdmxhLXN0 cmluZ3MucGF0Y2gKaW5kZXggOWVlYmVmNi4uNjE2MmRjMiAxMDA2NDQKLS0tIGEvZ2RiLXZsYS1p bnRlbC1mb3J0cmFuLXZsYS1zdHJpbmdzLnBhdGNoCisrKyBiL2dkYi12bGEtaW50ZWwtZm9ydHJh bi12bGEtc3RyaW5ncy5wYXRjaApAQCAtMjMsMjQgKzIzLDI0IEBAIGdpdCBkaWZmIC0tc3RhdCAt cCBnZGIvbWFzdGVyLi4uZ2RiL3VzZXJzL2JoZWNrZWwvZm9ydHJhbi12bGEtc3RyaW5ncwogIGdk Yi92YWxwcmludC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA2IC0tCiAgMjAgZmls ZXMgY2hhbmdlZCwgODI3IGluc2VydGlvbnMoKyksIDExMCBkZWxldGlvbnMoLSkKIAotSW5kZXg6 IGdkYi03LjEyLjUwLjIwMTcwMzA0L2dkYi9ORVdTCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0 MjAvZ2RiL05FV1MKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDMwNC5vcmlnL2dk Yi9ORVdTCTIwMTctMDMtMDQgMjE6NDc6MzcuNDkxMDM5ODczICswMTAwCi0rKysgZ2RiLTcuMTIu NTAuMjAxNzAzMDQvZ2RiL05FV1MJMjAxNy0wMy0wNCAyMTo0Nzo0MC4yODMwNjA4NTYgKzAxMDAK LUBAIC05NCw2ICs5NCw4IEBACi0gICBUaGUgZGVmYXVsdCB2YWx1ZSBpcyB0aGUgZW1wdHkgc3Ry aW5nLiAgQ3VycmVudGx5LCB0aGUgb25seSBzdXBwb3J0ZWQKLSAgIHRhcmdldHMgYXJlIEFSTSwg UG93ZXJQQyBhbmQgUy8zOTAuCistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvTkVX UwkyMDE3LTA0LTIwIDIyOjI3OjQ3LjA3NjAzMjExMSArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIw MTcwNDIwL2dkYi9ORVdTCTIwMTctMDQtMjAgMjI6Mjc6NDkuOTQ2MDUwMjM2ICswMjAwCitAQCAt MSw2ICsxLDggQEAKKyAJCVdoYXQgaGFzIGNoYW5nZWQgaW4gR0RCPworIAkgICAgIChPcmdhbml6 ZWQgcmVsZWFzZSBieSByZWxlYXNlKQogIAogKyogRm9ydHJhbjogU3VwcG9ydCBwb2ludGVycyB0 byBkeW5hbWljIHR5cGVzLgogKwotICoqKiBDaGFuZ2VzIGluIEdEQiA3LjEyCisgKioqIENoYW5n ZXMgc2luY2UgR0RCIDcuMTIKICAKLSAqIEdEQiBhbmQgR0RCc2VydmVyIG5vdyBidWlsZCB3aXRo IGEgQysrIGNvbXBpbGVyIGJ5IGRlZmF1bHQuCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDQv Z2RiL2MtdmFscHJpbnQuYworICogR0RCIG5vdyBzdXBwb3J0cyBhY2Nlc3MgdG8gdGhlIFBLVSBy ZWdpc3RlciBvbiBHTlUvTGludXguIFRoZSByZWdpc3RlciBpcworSW5kZXg6IGdkYi03Ljk5Ljkw LjIwMTcwNDIwL2dkYi9jLXZhbHByaW50LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4y MDE3MDMwNC5vcmlnL2dkYi9jLXZhbHByaW50LmMJMjAxNy0wMy0wNCAyMTo0NzozNy40OTIwMzk4 ODEgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvYy12YWxwcmludC5jCTIwMTct MDMtMDQgMjE6NDc6NDAuMjgzMDYwODU2ICswMTAwCi1AQCAtNjQ2LDYgKzY0NiwyOCBAQAorLS0t IGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2MtdmFscHJpbnQuYwkyMDE3LTA0LTIwIDIy OjI3OjQ3LjA3NzAzMjExOCArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9jLXZh bHByaW50LmMJMjAxNy0wNC0yMCAyMjoyNzo0OS45NDcwNTAyNDMgKzAyMDAKK0BAIC02NTAsNiAr NjUwLDI4IEBACiAgICAgICAgZWxzZQogIAl7CiAgCSAgLyogbm9ybWFsIGNhc2UgKi8KQEAgLTY5 LDExICs2OSwxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL2MtdmFscHJpbnQu YwogIAkgIGZwcmludGZfZmlsdGVyZWQgKHN0cmVhbSwgIigiKTsKICAJICB0eXBlX3ByaW50ICh2 YWx1ZV90eXBlICh2YWwpLCAiIiwgc3RyZWFtLCAtMSk7CiAgCSAgZnByaW50Zl9maWx0ZXJlZCAo c3RyZWFtLCAiKSAiKTsKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvZHdhcmYycmVh ZC5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2R3YXJmMnJlYWQuYwogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMzA0Lm9yaWcvZ2RiL2R3YXJmMnJlYWQuYwkyMDE3 LTAzLTA0IDIxOjQ3OjM3LjUwNzAzOTk5NCArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMzA0 L2dkYi9kd2FyZjJyZWFkLmMJMjAxNy0wMy0wNCAyMTo0Nzo0MC4yODgwNjA4OTQgKzAxMDAKLUBA IC0xNzk1LDcgKzE3OTUsOCBAQAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2R3 YXJmMnJlYWQuYwkyMDE3LTA0LTIwIDIyOjI3OjQ3LjA5MTAzMjIwNiArMDIwMAorKysrIGdkYi03 Ljk5LjkwLjIwMTcwNDIwL2dkYi9kd2FyZjJyZWFkLmMJMjAxNy0wNC0yMCAyMjoyODoyOC44Nzgy OTYxMDUgKzAyMDAKK0BAIC0xODcyLDcgKzE4NzIsOCBAQAogIAogIHN0YXRpYyBpbnQgYXR0cl90 b19keW5hbWljX3Byb3AgKGNvbnN0IHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsCiAgCQkJCSBzdHJ1 Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UsCkBAIC04Myw3ICs4Myw3IEBA IEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvZHdhcmYycmVhZC5jCiAgCiAgLyogbWVt b3J5IGFsbG9jYXRpb24gaW50ZXJmYWNlICovCiAgCi1AQCAtMTE0OTEsNyArMTE0OTIsNyBAQAor QEAgLTExNTU3LDcgKzExNTU4LDcgQEAKICAgICAgewogICAgICAgIG5ld29iai0+c3RhdGljX2xp bmsKICAJPSBYT0JORVcgKCZvYmpmaWxlLT5vYmpmaWxlX29ic3RhY2ssIHN0cnVjdCBkeW5hbWlj X3Byb3ApOwpAQCAtOTIsNyArOTIsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2Ri L2R3YXJmMnJlYWQuYwogICAgICB9CiAgCiAgICBjdS0+bGlzdF9pbl9zY29wZSA9ICZsb2NhbF9z eW1ib2xzOwotQEAgLTE0NzE4LDI5ICsxNDcxOSw5NCBAQAorQEAgLTE0NzkxLDI5ICsxNDc5Miw5 NCBAQAogICAgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2ggPSBnZXRfb2JqZmlsZV9hcmNoIChvYmpm aWxlKTsKICAgIHN0cnVjdCB0eXBlICp0eXBlLCAqcmFuZ2VfdHlwZSwgKmluZGV4X3R5cGUsICpj aGFyX3R5cGU7CiAgICBzdHJ1Y3QgYXR0cmlidXRlICphdHRyOwpAQCAtMTk4LDcgKzE5OCw3IEBA IEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvZHdhcmYycmVhZC5jCiAgICBjaGFyX3R5 cGUgPSBsYW5ndWFnZV9zdHJpbmdfY2hhcl90eXBlIChjdS0+bGFuZ3VhZ2VfZGVmbiwgZ2RiYXJj aCk7CiAgICB0eXBlID0gY3JlYXRlX3N0cmluZ190eXBlIChOVUxMLCBjaGFyX3R5cGUsIHJhbmdl X3R5cGUpOwogIAotQEAgLTE1MDc3LDcgKzE1MTQzLDggQEAKK0BAIC0xNTE2Myw3ICsxNTIyOSw4 IEBACiAgCiAgc3RhdGljIGludAogIGF0dHJfdG9fZHluYW1pY19wcm9wIChjb25zdCBzdHJ1Y3Qg YXR0cmlidXRlICphdHRyLCBzdHJ1Y3QgZGllX2luZm8gKmRpZSwKQEAgLTIwOCw3ICsyMDgsNyBA QCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL2R3YXJmMnJlYWQuYwogIHsKICAgIHN0 cnVjdCBkd2FyZjJfcHJvcGVydHlfYmF0b24gKmJhdG9uOwogICAgc3RydWN0IG9ic3RhY2sgKm9i c3RhY2sgPSAmY3UtPm9iamZpbGUtPm9iamZpbGVfb2JzdGFjazsKLUBAIC0xNTA4NywxNCArMTUx NTQsMzMgQEAKK0BAIC0xNTE3MywxNCArMTUyNDAsMzMgQEAKICAKICAgIGlmIChhdHRyX2Zvcm1f aXNfYmxvY2sgKGF0dHIpKQogICAgICB7CkBAIC0yNDYsNyArMjQ2LDcgQEAgSW5kZXg6IGdkYi03 LjEyLjUwLjIwMTcwMzA0L2dkYi9kd2FyZjJyZWFkLmMKICAgICAgfQogICAgZWxzZSBpZiAoYXR0 cl9mb3JtX2lzX3JlZiAoYXR0cikpCiAgICAgIHsKLUBAIC0xNTEyNyw4ICsxNTIxMywyOCBAQAor QEAgLTE1MjEzLDggKzE1Mjk5LDI4IEBACiAgCQliYXRvbiA9IFhPQk5FVyAob2JzdGFjaywgc3Ry dWN0IGR3YXJmMl9wcm9wZXJ0eV9iYXRvbik7CiAgCQliYXRvbi0+cmVmZXJlbmNlZF90eXBlID0g ZGllX3R5cGUgKHRhcmdldF9kaWUsIHRhcmdldF9jdSk7CiAgCQliYXRvbi0+bG9jZXhwci5wZXJf Y3UgPSBjdS0+cGVyX2N1OwpAQCAtMjc3LDcgKzI3Nyw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4y MDE3MDMwNC9nZGIvZHdhcmYycmVhZC5jCiAgCQlwcm9wLT5kYXRhLmJhdG9uID0gYmF0b247CiAg CQlwcm9wLT5raW5kID0gUFJPUF9MT0NFWFBSOwogIAkJZ2RiX2Fzc2VydCAocHJvcC0+ZGF0YS5i YXRvbiAhPSBOVUxMKTsKLUBAIC0xNTIzOSwyNCArMTUzNDUsMjQgQEAKK0BAIC0xNTMyNSwyNCAr MTU0MzEsMjQgQEAKICAKICAgIGF0dHIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF9ieXRlX3N0 cmlkZSwgY3UpOwogICAgaWYgKGF0dHIpCkBAIC0yODUsNyArMjg1LDcgQEAgSW5kZXg6IGdkYi03 LjEyLjUwLjIwMTcwMzA0L2dkYi9kd2FyZjJyZWFkLmMKICsgICAgaWYgKCFhdHRyX3RvX2R5bmFt aWNfcHJvcCAoYXR0ciwgZGllLCBjdSwgJnN0cmlkZSwgTlVMTCwgMCkpCiAgICAgICAgICBjb21w bGFpbnQgKCZzeW1maWxlX2NvbXBsYWludHMsIF8oIk1pc3NpbmcgRFdfQVRfYnl0ZV9zdHJpZGUg IgogICAgICAgICAgICAgICAgICAgICItIERJRSBhdCAweCV4IFtpbiBtb2R1bGUgJXNdIiksCi0g ICAgICAgICAgICAgIGRpZS0+b2Zmc2V0LnNlY3Rfb2ZmLCBvYmpmaWxlX25hbWUgKGN1LT5vYmpm aWxlKSk7CisgICAgICAgICAgICAgIHRvX3VuZGVybHlpbmcgKGRpZS0+c2VjdF9vZmYpLCBvYmpm aWxlX25hbWUgKGN1LT5vYmpmaWxlKSk7CiAgCiAgICBhdHRyID0gZHdhcmYyX2F0dHIgKGRpZSwg RFdfQVRfbG93ZXJfYm91bmQsIGN1KTsKICAgIGlmIChhdHRyKQpAQCAtMjk0LDcgKzI5NCw3IEBA IEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvZHdhcmYycmVhZC5jCiAgICBlbHNlIGlm ICghbG93X2RlZmF1bHRfaXNfdmFsaWQpCiAgICAgIGNvbXBsYWludCAoJnN5bWZpbGVfY29tcGxh aW50cywgXygiTWlzc2luZyBEV19BVF9sb3dlcl9ib3VuZCAiCiAgCQkJCSAgICAgICItIERJRSBh dCAweCV4IFtpbiBtb2R1bGUgJXNdIiksCi0gCSAgICAgICBkaWUtPm9mZnNldC5zZWN0X29mZiwg b2JqZmlsZV9uYW1lIChjdS0+b2JqZmlsZSkpOworIAkgICAgICAgdG9fdW5kZXJseWluZyAoZGll LT5zZWN0X29mZiksIG9iamZpbGVfbmFtZSAoY3UtPm9iamZpbGUpKTsKICAKICAgIGF0dHIgPSBk d2FyZjJfYXR0ciAoZGllLCBEV19BVF91cHBlcl9ib3VuZCwgY3UpOwogLSAgaWYgKCFhdHRyX3Rv X2R5bmFtaWNfcHJvcCAoYXR0ciwgZGllLCBjdSwgJmhpZ2gpKQpAQCAtMzA2LDcgKzMwNiw3IEBA IEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvZHdhcmYycmVhZC5jCiAgCXsKICAJICAv KiBJZiBib3VuZHMgYXJlIGNvbnN0YW50IGRvIHRoZSBmaW5hbCBjYWxjdWxhdGlvbiBoZXJlLiAg Ki8KICAJICBpZiAobG93LmtpbmQgPT0gUFJPUF9DT05TVCAmJiBoaWdoLmtpbmQgPT0gUFJPUF9D T05TVCkKLUBAIC0yMjg3MSw3ICsyMjk3Nyw3IEBACitAQCAtMjI5NjcsNyArMjMwNzMsNyBAQAog ICAgYXR0ciA9IGR3YXJmMl9hdHRyIChkaWUsIERXX0FUX2FsbG9jYXRlZCwgY3UpOwogICAgaWYg KGF0dHJfZm9ybV9pc19ibG9jayAoYXR0cikpCiAgICAgIHsKQEAgLTMxNSw3ICszMTUsNyBAQCBJ bmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL2R3YXJmMnJlYWQuYwogICAgICAgICAgYWRk X2R5bl9wcm9wIChEWU5fUFJPUF9BTExPQ0FURUQsIHByb3AsIHR5cGUsIG9iamZpbGUpOwogICAg ICB9CiAgICBlbHNlIGlmIChhdHRyICE9IE5VTEwpCi1AQCAtMjI4ODYsNyArMjI5OTIsNyBAQAor QEAgLTIyOTgyLDcgKzIzMDg4LDcgQEAKICAgIGF0dHIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19B VF9hc3NvY2lhdGVkLCBjdSk7CiAgICBpZiAoYXR0cl9mb3JtX2lzX2Jsb2NrIChhdHRyKSkKICAg ICAgewpAQCAtMzI0LDcgKzMyNCw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIv ZHdhcmYycmVhZC5jCiAgICAgICAgICBhZGRfZHluX3Byb3AgKERZTl9QUk9QX0FTU09DSUFURUQs IHByb3AsIHR5cGUsIG9iamZpbGUpOwogICAgICB9CiAgICBlbHNlIGlmIChhdHRyICE9IE5VTEwp Ci1AQCAtMjI4OTksNyArMjMwMDUsNyBAQAorQEAgLTIyOTk1LDcgKzIzMTAxLDcgQEAKICAKICAg IC8qIFJlYWQgRFdfQVRfZGF0YV9sb2NhdGlvbiBhbmQgc2V0IGluIHR5cGUuICAqLwogICAgYXR0 ciA9IGR3YXJmMl9hdHRyIChkaWUsIERXX0FUX2RhdGFfbG9jYXRpb24sIGN1KTsKQEAgLTMzMywx MCArMzMzLDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvZHdhcmYycmVhZC5j CiAgICAgIGFkZF9keW5fcHJvcCAoRFlOX1BST1BfREFUQV9MT0NBVElPTiwgcHJvcCwgdHlwZSwg b2JqZmlsZSk7CiAgCiAgICBpZiAoZHdhcmYyX3Blcl9vYmpmaWxlLT5kaWVfdHlwZV9oYXNoID09 IE5VTEwpCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL2YtdHlwZXByaW50LmMKK0lu ZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZi10eXBlcHJpbnQuYwogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi03LjEyLjUwLjIwMTcwMzA0Lm9yaWcvZ2RiL2YtdHlwZXByaW50LmMJMjAxNy0wMy0w NCAyMTo0NzoyNy43ODk5NjY5NjYgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIv Zi10eXBlcHJpbnQuYwkyMDE3LTAzLTA0IDIxOjQ4OjIyLjE2MzM3NTYwNCArMDEwMAorLS0tIGdk Yi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2YtdHlwZXByaW50LmMJMjAxNy0wNC0yMCAyMjoy NzoyNi4yODg5MDA4MzUgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZi10eXBl cHJpbnQuYwkyMDE3LTA0LTIwIDIyOjI3OjQ5Ljk1MzA1MDI4MCArMDIwMAogQEAgLTM3LDcgKzM3 LDcgQEAKICAjZW5kaWYKICAKQEAgLTQ4NiwxMSArNDg2LDExIEBAIEluZGV4OiBnZGItNy4xMi41 MC4yMDE3MDMwNC9nZGIvZi10eXBlcHJpbnQuYwogIAkgICAgICBmcHV0c19maWx0ZXJlZCAoIlxu Iiwgc3RyZWFtKTsKICAJICAgIH0KICAJICBmcHJpbnRmaV9maWx0ZXJlZCAobGV2ZWwsIHN0cmVh bSwgIkVuZCBUeXBlICIpOwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA0L2dkYi9nZGJ0eXBl cy5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2dkYnR5cGVzLmMKID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDMwNC5vcmlnL2dkYi9nZGJ0eXBlcy5jCTIwMTctMDMt MDQgMjE6NDc6MzcuNTEwMDQwMDE2ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2Ri L2dkYnR5cGVzLmMJMjAxNy0wMy0wNCAyMTo0Nzo0MC4yODkwNjA5MDIgKzAxMDAKLUBAIC0xODE0 LDcgKzE4MTQsOCBAQAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2dkYnR5cGVz LmMJMjAxNy0wNC0yMCAyMjoyNzo0Ny4wOTMwMzIyMTkgKzAyMDAKKysrKyBnZGItNy45OS45MC4y MDE3MDQyMC9nZGIvZ2RidHlwZXMuYwkyMDE3LTA0LTIwIDIyOjI3OjQ5Ljk1NDA1MDI4NyArMDIw MAorQEAgLTE4NDAsNyArMTg0MCw4IEBACiAgICB0eXBlID0gY2hlY2tfdHlwZWRlZiAodHlwZSk7 CiAgCiAgICAvKiBXZSBvbmx5IHdhbnQgdG8gcmVjb2duaXplIHJlZmVyZW5jZXMgYXQgdGhlIG91 dGVybW9zdCBsZXZlbC4gICovCkBAIC01MDAsNyArNTAwLDcgQEAgSW5kZXg6IGdkYi03LjEyLjUw LjIwMTcwMzA0L2dkYi9nZGJ0eXBlcy5jCiAgICAgIHR5cGUgPSBjaGVja190eXBlZGVmIChUWVBF X1RBUkdFVF9UWVBFICh0eXBlKSk7CiAgCiAgICAvKiBUeXBlcyB0aGF0IGhhdmUgYSBkeW5hbWlj IFRZUEVfREFUQV9MT0NBVElPTiBhcmUgY29uc2lkZXJlZAotQEAgLTE4NDgsNiArMTg0OSw3IEBA CitAQCAtMTg3NCw2ICsxODc1LDcgQEAKICAgICAgICB9CiAgCiAgICAgIGNhc2UgVFlQRV9DT0RF X0FSUkFZOgpAQCAtNTA4LDcgKzUwOCw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9n ZGIvZ2RidHlwZXMuYwogICAgICAgIHsKICAJZ2RiX2Fzc2VydCAoVFlQRV9ORklFTERTICh0eXBl KSA9PSAxKTsKICAKLUBAIC0xOTYwLDcgKzE5NjIsOCBAQAorQEAgLTE5ODYsNyArMTk4OCw4IEBA CiAgICBzdHJ1Y3QgdHlwZSAqYXJ5X2RpbTsKICAgIHN0cnVjdCBkeW5hbWljX3Byb3AgKnByb3A7 CiAgCkBAIC01MTgsNyArNTE4LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA0L2dkYi9n ZGJ0eXBlcy5jCiAgCiAgICB0eXBlID0gY29weV90eXBlICh0eXBlKTsKICAKLUBAIC0xOTg1LDEz ICsxOTg4LDE3IEBACitAQCAtMjAxMSwxMyArMjAxNCwxNyBAQAogIAogICAgYXJ5X2RpbSA9IGNo ZWNrX3R5cGVkZWYgKFRZUEVfVEFSR0VUX1RZUEUgKGVsdF90eXBlKSk7CiAgCkBAIC01MzksNyAr NTM5LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA0L2dkYi9nZGJ0eXBlcy5jCiAgfQog IAogIC8qIFJlc29sdmUgZHluYW1pYyBib3VuZHMgb2YgbWVtYmVycyBvZiB0aGUgdW5pb24gVFlQ RSB0byBzdGF0aWMKLUBAIC0yMTIxLDYgKzIxMjgsMjggQEAKK0BAIC0yMTQ3LDYgKzIxNTQsMjgg QEAKICAgIHJldHVybiByZXNvbHZlZF90eXBlOwogIH0KICAKQEAgLTU2OCw3ICs1NjgsNyBAQCBJ bmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL2dkYnR5cGVzLmMKICAvKiBXb3JrZXIgZm9y IHJlc29sdmVkX2R5bmFtaWNfdHlwZS4gICovCiAgCiAgc3RhdGljIHN0cnVjdCB0eXBlICoKLUBA IC0yMTY5LDcgKzIxOTgsMTIgQEAKK0BAIC0yMTk1LDcgKzIyMjQsMTIgQEAKICAJICAgIGJyZWFr OwogIAkgIH0KICAKQEAgLTU4MSwxMCArNTgxLDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3 MDMwNC9nZGIvZ2RidHlwZXMuYwogIAkgIHJlc29sdmVkX3R5cGUgPSByZXNvbHZlX2R5bmFtaWNf YXJyYXkgKHR5cGUsIGFkZHJfc3RhY2spOwogIAkgIGJyZWFrOwogIAotSW5kZXg6IGdkYi03LjEy LjUwLjIwMTcwMzA0L2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ZsYS1jeHguY2MKK0luZGV4OiBnZGIt Ny45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5jcC92bGEtY3h4LmNjCiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDQub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5jcC92 bGEtY3h4LmNjCTIwMTctMDMtMDQgMjE6NDc6MzcuNTExMDQwMDIzICswMTAwCi0rKysgZ2RiLTcu MTIuNTAuMjAxNzAzMDQvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvdmxhLWN4eC5jYwkyMDE3LTAzLTA0 IDIxOjQ3OjQwLjI4OTA2MDkwMiArMDEwMAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcv Z2RiL3Rlc3RzdWl0ZS9nZGIuY3AvdmxhLWN4eC5jYwkyMDE3LTA0LTIwIDIyOjI3OjQ3LjA5NDAz MjIyNSArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmNw L3ZsYS1jeHguY2MJMjAxNy0wNC0yMCAyMjoyNzo0OS45NTUwNTAyOTMgKzAyMDAKIEBAIC0xNSw2 ICsxNSwxMCBAQAogICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAgICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJ ZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLwpAQCAtNjEzLDEw ICs2MTMsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA0L2dkYi90ZXN0c3VpdGUvZ2Ri LmNwL3ZsYS1jeHguY2MKICsKICAgIHJldHVybiB2bGFbMl07CiAgfQotSW5kZXg6IGdkYi03LjEy LjUwLjIwMTcwMzA0L2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ZsYS1jeHguZXhwCitJbmRleDogZ2Ri LTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvdmxhLWN4eC5leHAKID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDMwNC5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLmNw L3ZsYS1jeHguZXhwCTIwMTctMDMtMDQgMjE6NDc6MzcuNTExMDQwMDIzICswMTAwCi0rKysgZ2Ri LTcuMTIuNTAuMjAxNzAzMDQvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvdmxhLWN4eC5leHAJMjAxNy0w My0wNCAyMTo0Nzo0MC4yOTAwNjA5MDkgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5v cmlnL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ZsYS1jeHguZXhwCTIwMTctMDQtMjAgMjI6Mjc6NDcu MDk0MDMyMjI1ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9n ZGIuY3AvdmxhLWN4eC5leHAJMjAxNy0wNC0yMCAyMjoyNzo0OS45NTUwNTAyOTMgKzAyMDAKIEBA IC0yMyw2ICsyMywxMiBAQAogICAgICByZXR1cm4gLTEKICB9CkBAIC02MzcsMTAgKzYzNywxMCBA QCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvdmxhLWN4 eC5leHAKICtnZGJfdGVzdCAicHR5cGUgcHRyIiAiaW50IFxcKFxcKlxcKVxcXFszXFxcXSIKICtn ZGJfdGVzdCAicHJpbnQgcHRyIiAiXFwoaW50IFxcKFxcKlxcKVxcXFszXFxcXVxcKSAkaGV4Igog K2dkYl90ZXN0ICJwcmludCAqcHRyIiAiID0gXFx7NSwgNywgOVxcfSIKLUluZGV4OiBnZGItNy4x Mi41MC4yMDE3MDMwNC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3BvaW50ZXJzLmV4cAorSW5k ZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcG9pbnRl cnMuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAw MDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi9wb2ludGVycy5leHAJMjAxNy0wMy0wNCAyMTo0Nzo0MC4yOTAwNjA5MDkgKzAxMDAK KysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3BvaW50 ZXJzLmV4cAkyMDE3LTA0LTIwIDIyOjI3OjQ5Ljk1NTA1MDI5MyArMDIwMAogQEAgLTAsMCArMSwx NDMgQEAKICsjIENvcHlyaWdodCAyMDE2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgog KwpAQCAtNzg1LDEwICs3ODUsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA0L2dkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcG9pbnRlcnMuZXhwCiArZ2RiX3Rlc3QgInByaW50ICooKGlu dGVnZXIqKSAmaW50YSArIDIpIiAiPSAzIiAicHJpbnQgdGVtcG9yYXJ5IHBvaW50ZXIsIGFycmF5 IgogK2dkYl90ZXN0ICJwcmludCAqKChpbnRlZ2VyKikgJmludHZsYSArIDMpIiAiPSA0IiAicHJp bnQgdGVtcG9yYXJ5IHBvaW50ZXIsIGFsbG9jYXRlZCB2bGEiCiArZ2RiX3Rlc3QgInByaW50IFwk cGMiICI9IFxcKFBUUiBUTyAtPiBcXCggdm9pZCBcXChcXClcXChcXClcXClcXCkgJGhleCA8cG9p bnRlcnNcXCtcXGQrPiIgIlByaW50IHByb2dyYW0gY291bnRlciIKLUluZGV4OiBnZGItNy4xMi41 MC4yMDE3MDMwNC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3BvaW50ZXJzLmY5MAorSW5kZXg6 IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcG9pbnRlcnMu ZjkwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAw MDAwICswMDAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi9wb2ludGVycy5mOTAJMjAxNy0wMy0wNCAyMTo0Nzo0MC4yOTAwNjA5MDkgKzAxMDAKKysr KyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3BvaW50ZXJz LmY5MAkyMDE3LTA0LTIwIDIyOjI3OjQ5Ljk1NTA1MDI5MyArMDIwMAogQEAgLTAsMCArMSwxMDkg QEAKICshIENvcHlyaWdodCAyMDE2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKyEK QEAgLTg5OSwxMCArODk5LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvdGVz dHN1aXRlL2dkYi5mb3J0cmFuL3BvaW50ZXJzLmY5MAogKyAgaW50diA9IGludHYgKyAxICEgQWZ0 ZXIgdmFsdWUgYXNzaWdubWVudAogKwogK2VuZCBwcm9ncmFtIHBvaW50ZXJzCi1JbmRleDogZ2Ri LTcuMTIuNTAuMjAxNzAzMDQvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmludF90eXBlLmV4 cAorSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4v cHJpbnRfdHlwZS5leHAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDow MDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL3ByaW50X3R5cGUuZXhwCTIwMTctMDMtMDQgMjE6NDc6NDAuMjkwMDYw OTA5ICswMTAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi9wcmludF90eXBlLmV4cAkyMDE3LTA0LTIwIDIyOjI3OjQ5Ljk1NjA1MDI5OSArMDIwMAog QEAgLTAsMCArMSwxMDAgQEAKICsjIENvcHlyaWdodCAyMDE2IEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgogKwpAQCAtMTAwNCwxMCArMTAwNCwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAu MjAxNzAzMDQvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmludF90eXBlLmV4cAogKyAgICB9 CiArfQogK2dkYl90ZXN0ICJwdHlwZSByZWFscCIgInR5cGUgPSBQVFIgVE8gLT4gXFwoICRyZWFs IFxcKSIKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL3ZsYS1wdHlwZS5leHAKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL3ZsYS1wdHlwZS5leHAKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41 MC4yMDE3MDMwNC5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0eXBlLmV4cAky MDE3LTAzLTA0IDIxOjQ3OjM3LjUxMjA0MDAzMSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcw MzA0L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0eXBlLmV4cAkyMDE3LTAzLTA0IDIx OjQ3OjQwLjI5MTA2MDkxNyArMDEwMAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtcHR5cGUuZXhwCTIwMTctMDQtMjAgMjI6Mjc6NDcu MDk0MDMyMjI1ICswMjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi92bGEtcHR5cGUuZXhwCTIwMTctMDQtMjAgMjI6Mjc6NDkuOTU2MDUwMjk5ICsw MjAwCiBAQCAtMzIsOSArMzIsOSBAQAogICMgQ2hlY2sgdGhlIHB0eXBlIG9mIHZhcmlvdXMgVkxB IHN0YXRlcyBhbmQgcG9pbnRlciB0byBWTEEncy4KICBnZGJfYnJlYWtwb2ludCBbZ2RiX2dldF9s aW5lX251bWJlciAidmxhMS1pbml0Il0KQEAgLTEwNDUsMTAgKzEwNDUsMTAgQEAgSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMzA0L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0eXBlLmV4 cAogIGdkYl90ZXN0ICJwdHlwZSB2bGEyKDUsIDQ1LCAyMCkiIFwKICAgICJubyBzdWNoIHZlY3Rv ciBlbGVtZW50IFxcXCh2ZWN0b3Igbm90IGFsbG9jYXRlZFxcXCkiIFwKICAgICJwdHlwZSB2bGEy KDUsIDQ1LCAyMCkgbm90IGFsbG9jYXRlZCIKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpbmdzLmV4cAorSW5kZXg6IGdkYi03Ljk5 LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmluZ3MuZXhwCiA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICsw MDAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92 bGEtc3RyaW5ncy5leHAJMjAxNy0wMy0wNCAyMTo0Nzo0MC4yOTEwNjA5MTcgKzAxMDAKKysrKyBn ZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpbmdz LmV4cAkyMDE3LTA0LTIwIDIyOjI3OjQ5Ljk1NjA1MDI5OSArMDIwMAogQEAgLTAsMCArMSwxMDMg QEAKICsjIENvcHlyaWdodCAyMDE2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpA QCAtMTE1MywxMCArMTE1MywxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaW5ncy5leHAKICsJICAgIHBhc3MgJHRlc3QKICsg ICAgfQogK30KLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL3ZsYS1zdHJpbmdzLmY5MAorSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmluZ3MuZjkwCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rl di9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTIu NTAuMjAxNzAzMDQvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaW5ncy5mOTAJMjAx Ny0wMy0wNCAyMTo0Nzo0MC4yOTEwNjA5MTcgKzAxMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQy MC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpbmdzLmY5MAkyMDE3LTA0LTIwIDIy OjI3OjQ5Ljk1NjA1MDI5OSArMDIwMAogQEAgLTAsMCArMSwzOSBAQAogKyEgQ29weXJpZ2h0IDIw MTYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArIQpAQCAtMTE5NywxMCArMTE5Nywx MCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi92bGEtc3RyaW5ncy5mOTAKICsgIHZhcl9jaGFyX3AgPT4gbnVsbCgpCiArICBsID0gYXNzb2Np YXRlZCh2YXJfY2hhcl9wKSAgICAgICAgICAgICAgISB2YXJfY2hhcl9wLW5vdC1hc3NvY2lhdGVk CiArZW5kIHByb2dyYW0gdmxhX3N0cmluZ3MKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS10eXBlLmV4cAorSW5kZXg6IGdkYi03Ljk5Ljkw LjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXR5cGUuZXhwCiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDQub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL3ZsYS10eXBlLmV4cAkyMDE3LTAzLTA0IDIxOjQ3OjM3LjUxMjA0MDAzMSArMDEwMAotKysr IGdkYi03LjEyLjUwLjIwMTcwMzA0L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXR5cGUu ZXhwCTIwMTctMDMtMDQgMjE6NDc6NDAuMjkxMDYwOTE3ICswMTAwCistLS0gZ2RiLTcuOTkuOTAu MjAxNzA0MjAub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS10eXBlLmV4cAkyMDE3 LTA0LTIwIDIyOjI3OjQ3LjA5NDAzMjIyNSArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIw L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXR5cGUuZXhwCTIwMTctMDQtMjAgMjI6Mjc6 NDkuOTU2MDUwMjk5ICswMjAwCiBAQCAtMTMyLDcgKzEzMiwxMCBAQAogICAgICAgICAgICAgICAg ICAgICAgICJFbmQgVHlwZSBvbmUiIF0KICAKQEAgLTEyMjIsMTAgKzEyMjIsMTAgQEAgSW5kZXg6 IGdkYi03LjEyLjUwLjIwMTcwMzA0L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXR5cGUu ZXhwCiAgICAgICAgICAgICAgICAgICAgICAgIkVuZCBUeXBlIG9uZSIgXSBcCiAgICAgICAgICAg InB0eXBlIGZpdmVkeW5hcnIoMikldG9uZSwgbm90IGFsbG9jYXRlZCIKICAKLUluZGV4OiBnZGIt Ny4xMi41MC4yMDE3MDMwNC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS12YWx1ZS5leHAK K0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3Zs YS12YWx1ZS5leHAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDMwNC5vcmlnL2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXZhbHVlLmV4cAkyMDE3LTAzLTA0IDIxOjQ3OjM3 LjUxMjA0MDAzMSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMzA0L2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vdmxhLXZhbHVlLmV4cAkyMDE3LTAzLTA0IDIxOjQ3OjQwLjI5MTA2MDkxNyAr MDEwMAorLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi92bGEtdmFsdWUuZXhwCTIwMTctMDQtMjAgMjI6Mjc6NDcuMDk1MDMyMjMxICswMjAwCisr KysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdmFs dWUuZXhwCTIwMTctMDQtMjAgMjI6Mjc6NDkuOTU3MDUwMzA2ICswMjAwCiBAQCAtMTQsNiArMTQs NyBAQAogICMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3 dy5nbnUub3JnL2xpY2Vuc2VzLz4uCiAgCkBAIC0xMjc4LDEwICsxMjc4LDEwIEBAIEluZGV4OiBn ZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS12YWx1ZS5l eHAKICAgICJwcmludCBhc3NvY2lhdGVkICZwdmxhIgogIGdkYl90ZXN0ICJwcmludCBwdmxhKDMs IDYsIDkpIiAiID0gNDIiICJwcmludCBhc3NvY2lhdGVkIHB2bGEoMyw2LDkpIgogIGdkYl90ZXN0 ICJwcmludCBwdmxhKDEsIDMsIDgpIiAiID0gMTAwMSIgInByaW50IGFzc29jaWF0ZWQgcHZsYSgx LDMsOCkiCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkv bWktdmFyLWNoaWxkLWYuZXhwCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3Rz dWl0ZS9nZGIubWkvbWktdmFyLWNoaWxkLWYuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIu NTAuMjAxNzAzMDQub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5taS9taS12YXItY2hpbGQtZi5leHAJ MjAxNy0wMy0wNCAyMTo0NzozNy41MTMwNDAwMzkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3 MDMwNC9nZGIvdGVzdHN1aXRlL2dkYi5taS9taS12YXItY2hpbGQtZi5leHAJMjAxNy0wMy0wNCAy MTo0Nzo0MC4yOTEwNjA5MTcgKzAxMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dk Yi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZhci1jaGlsZC1mLmV4cAkyMDE3LTA0LTIwIDIyOjI3OjQ3 LjA5NTAzMjIzMSArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUv Z2RiLm1pL21pLXZhci1jaGlsZC1mLmV4cAkyMDE3LTA0LTIwIDIyOjI3OjQ5Ljk1NzA1MDMwNiAr MDIwMAogQEAgLTE3LDYgKzE3LDcgQEAKICAKICBsb2FkX2xpYiBtaS1zdXBwb3J0LmV4cApAQCAt MTMwMywxMCArMTMwMywxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL3Rlc3Rz dWl0ZS9nZGIubWkvbWktdmFyLWNoaWxkLWYuZXhwCiAgCiAgc2V0IGNoaWxkcmVuIFtsaXN0IFts aXN0ICJhcnJheS4tMSIgIi0xIiAyICIkaW50NCBcXCgyXFwpIl0gXAogIAkJICBbbGlzdCAiYXJy YXkuMCIgIjAiIDIgIiRpbnQ0IFxcKDJcXCkiXSBcCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAz MDQvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWktdmxhLWZvcnRyYW4uZXhwCitJbmRleDogZ2RiLTcu OTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWktdmxhLWZvcnRyYW4uZXhwCiA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDQub3JpZy9nZGIvdGVzdHN1aXRlL2dk Yi5taS9taS12bGEtZm9ydHJhbi5leHAJMjAxNy0wMy0wNCAyMTo0NzozNy41MTMwNDAwMzkgKzAx MDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvdGVzdHN1aXRlL2dkYi5taS9taS12bGEt Zm9ydHJhbi5leHAJMjAxNy0wMy0wNCAyMTo0Nzo0MC4yOTIwNjA5MjQgKzAxMDAKKy0tLSBnZGIt Ny45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZsYS1mb3J0cmFu LmV4cAkyMDE3LTA0LTIwIDIyOjI3OjQ3LjA5NTAzMjIzMSArMDIwMAorKysrIGdkYi03Ljk5Ljkw LjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZsYS1mb3J0cmFuLmV4cAkyMDE3LTA0 LTIwIDIyOjI3OjQ5Ljk1NzA1MDMwNiArMDIwMAogQEAgLTE3LDcgKzE3LDkgQEAKICAjIEFycmF5 IChWTEEpLgogIApAQCAtMTQwNSwxMSArMTQwNSwxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAx NzAzMDQvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWktdmxhLWZvcnRyYW4uZXhwCiAgICAiaW5mbyB0 eXBlIHZhcmlhYmxlIHB2bGEyX2Fzc29jaWF0ZWQiCiAgbWlfZ2RiX3Rlc3QgIjU5Mi12YXItc2hv dy1mb3JtYXQgcHZsYTJfYXNzb2NpYXRlZCIgXAogICAgIjU5MlxcXmRvbmUsZm9ybWF0PVwibmF0 dXJhbFwiIiBcCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL3R5cGVwcmludC5jCitJ bmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3R5cGVwcmludC5jCiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDQub3JpZy9nZGIvdHlwZXByaW50LmMJMjAxNy0wMy0wNCAy MTo0NzozNy41MTMwNDAwMzkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvdHlw ZXByaW50LmMJMjAxNy0wMy0wNCAyMTo0Nzo0MC4yOTIwNjA5MjQgKzAxMDAKLUBAIC00NzUsNiAr NDc1LDI1IEBACistLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvdHlwZXByaW50LmMJ MjAxNy0wNC0yMCAyMjoyNzo0Ny4wOTUwMzIyMzEgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3 MDQyMC9nZGIvdHlwZXByaW50LmMJMjAxNy0wNC0yMCAyMjoyNzo0OS45NTcwNTAzMDYgKzAyMDAK K0BAIC00NzQsNiArNDc0LDI1IEBACiAgICAgICAgcHJpbnRmX2ZpbHRlcmVkICgiICovXG4iKTsg ICAgCiAgICAgIH0KICAKQEAgLTE0MzUsMTEgKzE0MzUsMTEgQEAgSW5kZXg6IGdkYi03LjEyLjUw LjIwMTcwMzA0L2dkYi90eXBlcHJpbnQuYwogICAgTEFfUFJJTlRfVFlQRSAodHlwZSwgIiIsIGdk Yl9zdGRvdXQsIHNob3csIDAsICZmbGFncyk7CiAgICBwcmludGZfZmlsdGVyZWQgKCJcbiIpOwog IAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA0L2dkYi92YWxvcHMuYworSW5kZXg6IGdkYi03 Ljk5LjkwLjIwMTcwNDIwL2dkYi92YWxvcHMuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUw LjIwMTcwMzA0Lm9yaWcvZ2RiL3ZhbG9wcy5jCTIwMTctMDMtMDQgMjE6NDc6MzcuNTE0MDQwMDQ2 ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL3ZhbG9wcy5jCTIwMTctMDMtMDQg MjE6NDc6NDAuMjkzMDYwOTMyICswMTAwCi1AQCAtMTU2OSw2ICsxNTY5LDE5IEBACistLS0gZ2Ri LTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvdmFsb3BzLmMJMjAxNy0wNC0yMCAyMjoyNzo0Ny4w OTYwMzIyMzggKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdmFsb3BzLmMJMjAx Ny0wNC0yMCAyMjoyNzo0OS45NTgwNTAzMTIgKzAyMDAKK0BAIC0xNTc0LDYgKzE1NzQsMTkgQEAK ICAgIGlmIChUWVBFX0NPREUgKGJhc2VfdHlwZSkgPT0gVFlQRV9DT0RFX1BUUikKICAgICAgewog ICAgICAgIHN0cnVjdCB0eXBlICplbmNfdHlwZTsKQEAgLTE0NTksNyArMTQ1OSw3IEBAIEluZGV4 OiBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvdmFsb3BzLmMKICAKICAgICAgICAvKiBXZSBtYXkg YmUgcG9pbnRpbmcgdG8gc29tZXRoaW5nIGVtYmVkZGVkIGluIGEgbGFyZ2VyIG9iamVjdC4KICAg ICAgICAgICBHZXQgdGhlIHJlYWwgdHlwZSBvZiB0aGUgZW5jbG9zaW5nIG9iamVjdC4gICovCi1A QCAtMTU4NCw4ICsxNTk3LDcgQEAKK0BAIC0xNTg5LDggKzE2MDIsNyBAQAogICAgICAgIGVsc2UK ICAJLyogUmV0cmlldmUgdGhlIGVuY2xvc2luZyBvYmplY3QgcG9pbnRlZCB0by4gICovCiAgCWFy ZzIgPSB2YWx1ZV9hdF9sYXp5IChlbmNfdHlwZSwgCkBAIC0xNDY5LDExICsxNDY5LDExIEBAIElu ZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvdmFsb3BzLmMKICAKICAgICAgICBlbmNfdHlw ZSA9IHZhbHVlX3R5cGUgKGFyZzIpOwogICAgICAgIHJldHVybiByZWFkanVzdF9pbmRpcmVjdF92 YWx1ZV90eXBlIChhcmcyLCBlbmNfdHlwZSwgYmFzZV90eXBlLCBhcmcxKTsKLUluZGV4OiBnZGIt Ny4xMi41MC4yMDE3MDMwNC9nZGIvdmFscHJpbnQuYworSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcw NDIwL2dkYi92YWxwcmludC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDQu b3JpZy9nZGIvdmFscHJpbnQuYwkyMDE3LTAzLTA0IDAyOjQ5OjA5LjAwMDAwMDAwMCArMDEwMAot KysrIGdkYi03LjEyLjUwLjIwMTcwMzA0L2dkYi92YWxwcmludC5jCTIwMTctMDMtMDQgMjE6NDc6 NDAuMjkzMDYwOTMyICswMTAwCi1AQCAtMTE2NSwxMiArMTE2NSw2IEBACistLS0gZ2RiLTcuOTku OTAuMjAxNzA0MjAub3JpZy9nZGIvdmFscHJpbnQuYwkyMDE3LTA0LTIwIDIyOjI1OjM4LjIyNDIx ODM3OCArMDIwMAorKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi92YWxwcmludC5jCTIwMTct MDQtMjAgMjI6Mjc6NDkuOTU5MDUwMzE4ICswMjAwCitAQCAtMTE2NiwxMiArMTE2Niw2IEBACiAg ICAgICAgcmV0dXJuIDA7CiAgICAgIH0KICAKCmRpZmYgLS1naXQgYS9nZGItdmxhLWludGVsLXN0 cmluZ2J0LWZpeC5wYXRjaCBiL2dkYi12bGEtaW50ZWwtc3RyaW5nYnQtZml4LnBhdGNoCmluZGV4 IDAzYTgxZmQuLmYzOWQxY2YgMTAwNjQ0Ci0tLSBhL2dkYi12bGEtaW50ZWwtc3RyaW5nYnQtZml4 LnBhdGNoCisrKyBiL2dkYi12bGEtaW50ZWwtc3RyaW5nYnQtZml4LnBhdGNoCkBAIC0yNywxOSAr MjcsMTkgQEAgY2Fubm90IHJlcHJvZHVjZSBpdC4KIFRoYW5rcywKIEphbgogCi1JbmRleDogZ2Ri LTcuMTIuNTAuMjAxNzAzMDkvZ2RiL2R3YXJmMmxvYy5jCitJbmRleDogZ2RiLTcuOTkuOTAuMjAx NzA0MjAvZ2RiL2R3YXJmMmxvYy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAz MDkub3JpZy9nZGIvZHdhcmYybG9jLmMJMjAxNy0wNC0xOSAyMjowNDowNC44NzQzMjAzMjYgKzAy MDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvZHdhcmYybG9jLmMJMjAxNy0wNC0xOSAy MjowOTowNy45NzYyMDE4NzUgKzAyMDAKKy0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dk Yi9kd2FyZjJsb2MuYwkyMDE3LTA0LTIwIDIyOjI4OjU5LjY4NjQ5MDY2NiArMDIwMAorKysrIGdk Yi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9kd2FyZjJsb2MuYwkyMDE3LTA0LTIwIDIyOjI5OjEzLjEw NDU3NTQwNCArMDIwMAogQEAgLTQyLDYgKzQyLDcgQEAKICAjaW5jbHVkZSA8YWxnb3JpdGhtPgog ICNpbmNsdWRlIDx2ZWN0b3I+CiAgI2luY2x1ZGUgPHVub3JkZXJlZF9zZXQ+CiArI2luY2x1ZGUg PGZ1bmN0aW9uYWw+CisgI2luY2x1ZGUgImNvbW1vbi91bmRlcmx5aW5nLmgiCiAgCiAgZXh0ZXJu IGludCBkd2FyZl9hbHdheXNfZGlzYXNzZW1ibGU7Ci0gCi1AQCAtMjM1MCw2ICsyMzUxLDIwIEBA CitAQCAtMjM2Niw2ICsyMzY3LDIwIEBACiAgICBjdHgucGVyX2N1ID0gcGVyX2N1OwogICAgY3R4 Lm9ial9hZGRyZXNzID0gMDsKICAKQEAgLTYwLDEwICs2MCwxMCBAQCBJbmRleDogZ2RiLTcuMTIu NTAuMjAxNzAzMDkvZ2RiL2R3YXJmMmxvYy5jCiAgICBzY29wZWRfdmFsdWVfbWFyayBmcmVlX3Zh bHVlczsKICAKICAgIGN0eC5nZGJhcmNoID0gZ2V0X29iamZpbGVfYXJjaCAob2JqZmlsZSk7Ci1J bmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5h bWljLW90aGVyLWZyYW1lLXN0dWIuZjkwCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLW90aGVyLWZyYW1lLXN0dWIuZjkwCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAw Ci0rKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5h bWljLW90aGVyLWZyYW1lLXN0dWIuZjkwCTIwMTctMDQtMTkgMjI6MDQ6MDQuOTIyMzIwNjIzICsw MjAwCisrKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9k eW5hbWljLW90aGVyLWZyYW1lLXN0dWIuZjkwCTIwMTctMDQtMjAgMjI6Mjk6MDAuNjczNDk2ODk5 ICswMjAwCiBAQCAtMCwwICsxLDI0IEBACiArISBDb3B5cmlnaHQgMjAxMCBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4KICshCkBAIC04OSwxMCArODksMTAgQEAgSW5kZXg6IGdkYi03LjEy LjUwLjIwMTcwMzA5L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy1vdGhlci1mcmFt ZS1zdHViLmYKICsgIHJlYWwgOjogZHVtbXkKICsgIGR1bW15ID0gMQogK2VuZCBzdWJyb3V0aW5l IGJhcgotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vZHluYW1pYy1vdGhlci1mcmFtZS5leHAKK0luZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUuZXhwCiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0r KysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWlj LW90aGVyLWZyYW1lLmV4cAkyMDE3LTA0LTE5IDIyOjA0OjA0LjkyMjMyMDYyMyArMDIwMAorKysr IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy1v dGhlci1mcmFtZS5leHAJMjAxNy0wNC0yMCAyMjoyOTowMC42NzM0OTY4OTkgKzAyMDAKIEBAIC0w LDAgKzEsMzkgQEAKICsjIENvcHlyaWdodCAyMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLgogKwpAQCAtMTMzLDEwICsxMzMsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5 L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy1vdGhlci1mcmFtZS5leHAKICt9CiAr CiArZ2RiX3Rlc3QgImJ0IiB7Zm9vIFwoc3RyaW5nPSdoZWxsbycuKn0KLUluZGV4OiBnZGItNy4x Mi41MC4yMDE3MDMwOS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJh bWUuZjkwCitJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi9keW5hbWljLW90aGVyLWZyYW1lLmY5MAogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkx OTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEyLjUwLjIwMTcw MzA5L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy1vdGhlci1mcmFtZS5mOTAJMjAx Ny0wNC0xOSAyMjowNDowNC45MjIzMjA2MjMgKzAyMDAKKysrKyBnZGItNy45OS45MC4yMDE3MDQy MC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUuZjkwCTIwMTct MDQtMjAgMjI6Mjk6MDAuNjczNDk2ODk5ICswMjAwCiBAQCAtMCwwICsxLDM2IEBACiArISBDb3B5 cmlnaHQgMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICshCgpkaWZmIC0tZ2l0 IGEvZ2RiLnNwZWMgYi9nZGIuc3BlYwppbmRleCBhNjVkMGIxLi41YWVjYzg2IDEwMDY0NAotLS0g YS9nZGIuc3BlYworKysgYi9nZGIuc3BlYwpAQCAtMTgsMTUgKzE4LDE1IEBACiBOYW1lOiAlez9z Y2xfcHJlZml4fWdkYgogCiAjIEZyZWV6ZSBpdCB3aGVuIEdEQiBnZXRzIGJyYW5jaGVkCi0lZ2xv YmFsIHNuYXBzcmMgICAgMjAxNzAzMDkKKyVnbG9iYWwgc25hcHNyYyAgICAyMDE3MDQyMAogIyBT ZWUgdGltZXN0YW1wIG9mIHNvdXJjZSBnbnVsaWIgaW5zdGFsbGVkIGludG8gZ2RiL2dudWxpYi8g LgogJWdsb2JhbCBzbmFwZ251bGliIDIwMTUwODIyCiAlZ2xvYmFsIHRhcm5hbWUgZ2RiLSV7dmVy c2lvbn0KLVZlcnNpb246IDcuMTIuNTAuJXtzbmFwc3JjfQorVmVyc2lvbjogNy45OS45MC4le3Nu YXBzcmN9CiAKICMgVGhlIHJlbGVhc2UgYWx3YXlzIGNvbnRhaW5zIGEgbGVhZGluZyByZXNlcnZl ZCBudW1iZXIsIHN0YXJ0IGl0IGF0IDEuCiAjIGB1cHN0cmVhbScgaXMgbm90IGEgcGFydCBvZiBg bmFtZScgdG8gc3RheSBmdWxseSBycG0gZGVwZW5kZW5jaWVzIGNvbXBhdGlibGUgZm9yIHRoZSB0 ZXN0aW5nLgotUmVsZWFzZTogNyV7P2Rpc3R9CitSZWxlYXNlOiA4JXs/ZGlzdH0KIAogTGljZW5z ZTogR1BMdjMrIGFuZCBHUEx2Mysgd2l0aCBleGNlcHRpb25zIGFuZCBHUEx2MisgYW5kIEdQTHYy KyB3aXRoIGV4Y2VwdGlvbnMgYW5kIEdQTCsgYW5kIExHUEx2MisgYW5kIExHUEx2MysgYW5kIEJT RCBhbmQgUHVibGljIERvbWFpbiBhbmQgR0ZETAogR3JvdXA6IERldmVsb3BtZW50L0RlYnVnZ2Vy cwpAQCAtNjM4LDYgKzYzOCw5IEBAIFBhdGNoMTE1MzogZ2RiLWFkZC1pbmRleC1jaG1vZC5wYXRj aAogIyBOZXcgdGVzdGNhc2UgZm9yOiBGaXggPHRhYj4tY29tcGxldGlvbiBjcmFzaCAoR2FyeSBC ZW5zb24sIFJIIEJaIDEzOTgzODcpLgogUGF0Y2gxMTU1OiBnZGItcmhiejEzOTgzODctdGFiLWNy YXNoLXRlc3QucGF0Y2gKIAorIyBSZWxlYXNlIGJyYW5jaDogRml4OiAtLWVuYWJsZS13ZXJyb3IK K1BhdGNoMTE3MDogZ2RiLXJlbGVhc2Utd2Vycm9yLnBhdGNoCisKICVpZiAwJXshP3JoZWw6MX0g fHwgMCV7P3JoZWx9ID4gNgogIyBSTF9TVEFURV9GRURPUkFfR0RCIHdvdWxkIG5vdCBiZSBmb3Vu ZCBmb3I6CiAjIFBhdGNoNjQyOiBnZGItcmVhZGxpbmU2Mi1hc2stbW9yZS1yaC5wYXRjaApAQCAt MTAwOSw2ICsxMDEyLDcgQEAgZG9uZQogJXBhdGNoMTE1MiAtcDEKICVwYXRjaDExNTMgLXAxCiAl cGF0Y2gxMTU1IC1wMQorJXBhdGNoMTE3MCAtcDEKIAogJXBhdGNoMTA3NSAtcDEKICVpZiAwJXs/ cmhlbDoxfSAmJiAwJXs/cmhlbH0gPD0gNwpAQCAtMTU3Niw2ICsxNTgwLDkgQEAgdGhlbgogZmkK IAogJWNoYW5nZWxvZworKiBGcmkgQXByIDIxIDIwMTcgSmFuIEtyYXRvY2h2aWwgPGphbi5rcmF0 b2NodmlsQHJlZGhhdC5jb20+IC0gNy45OS45MC4yMDE3MDQyMC04LmZjMjYKKy0gUmViYXNlIHRv IEZTRiBHREIgNy45OS45MC4yMDE3MDQyMCAocHJlLTguMCBzdGFibGUgYnJhbmNoKS4KKwogKiBX ZWQgQXByIDE5IDIwMTcgSmFuIEtyYXRvY2h2aWwgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+ IC0gNy4xMi41MC4yMDE3MDMwOS03LmZjMjYKIC0gRml4IHJlcG9ydGVkIGdkYi12bGEtaW50ZWwt c3RyaW5nYnQtZml4LnBhdGNoIHJlZ3Jlc3Npb24gKFN1U0UpLgogLSBSZW1vdmUgZ2NjLTcgY29t cGlsYXRpb24gY29tcGF0aWJpbGl0eSBoYWNrLgoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3Vy Y2VzCmluZGV4IDc2ZDM5NGMuLjU1ZTM1ODcgMTAwNjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291 cmNlcwpAQCAtMSwzICsxLDMgQEAKIFNIQTUxMiAoZ2RiLWxpYnN0ZGMrKy12My1weXRob24tNi4z LjEtMjAxNzAyMTIudGFyLnh6KSA9IDIyYWQ0MTg3ZDZiYjk4NTFlY2YzODljM2ZmNGM2OGYzM2Nj ZjU2MDJkOGY1MWJjMzM3MjE1YzcwMGQ1NmM5MDczYjNmYjQwZWNlM2Y1ODkwMTMxNTE2MWY3NmE0 ZmQxZDY0NjNjNjIzNjUwMzE3YWQ5NmZkOWUzZjRhYmE3MjUyCiBTSEE1MTIgKHYxLjUudGFyLmd6 KSA9IGVhM2U3NjI5MWQ1YjA3N2Q1YjQyMDYxODk4YTFmNzBhZjZjYmRiY2NiN2QwNWM1OTkwNGYz MjJjYTFjMDNmNzU5NmNhYzZhOTY2YjgwYjEyZDJjMmQ4NjIxMmYxN2Q2YmRlMDJiMWRhZjkyYmU2 MmU0OWFiY2IyMzRlMmJhY2JkCi1TSEE1MTIgKGdkYi03LjEyLjUwLjIwMTcwMzA5LnRhci54eikg PSAyYWEzOGQ3MWNiNzY5YzYyM2Y3MzlmNzdlNWU0N2M4YzJiNzNmOWJjZmM0OTc4ODQxYzg4MWRm YjAwMmZiMmNlMDg0ZTdmN2NkNzI0OGZlMmEwNDU1ZTQ4N2I3N2QxYzBmYTE3ZWRjYmNkZDJjNDNk ODViYTRkZTA0M2QyNjQyNworU0hBNTEyIChnZGItNy45OS45MC4yMDE3MDQyMC50YXIueHopID0g OGZlOGUyYTY5YTk0ZDNlYTg4NjFhMmFhZWI0NmNkM2UzZTg0MjNlZmUwYTc0YTdiYjMzNmVlMGRm MzAxMzIxZjY5M2YzNjAxNjY1MThiM2Y1OTVjOTRiZmFkODkzZmI3MDhjOTI5NjJmNzliYWUxM2I2 NTY0ZGIwMjdhMTUxNmYK