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] fix-dup-patch: Rebase to FSF GDB 7.5.50.20130215 (pre-7.6 snapshot). Date: Thu, 23 Jul 2026 18:30:49 GMT Message-ID: <178483144925.1.8659334277066084763.rpms-gdb-ab333d993882@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: fix-dup-patch X-Git-Rev: ab333d99388294fcc77befda7cd9b2e56fa9843f QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2RiCkJyYW5jaCA6 IGZpeC1kdXAtcGF0Y2gKQ29tbWl0IDogYWIzMzNkOTkzODgyOTRmY2M3N2JlZmRhN2NkOWIyZTU2 ZmE5ODQzZgpBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNv bT4KRGF0ZSAgIDogMjAxMy0wMi0xOFQxODoxNDowMCswMTowMApTdGF0cyAgOiArODM2Ly0xMzY4 IGluIDE3IGZpbGUocykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBt cy9nZGIvYy9hYjMzM2Q5OTM4ODI5NGZjYzc3YmVmZGE3Y2Q5YjJlNTZmYTk4NDNmP2JyYW5jaD1m aXgtZHVwLXBhdGNoCgpMb2c6ClJlYmFzZSB0byBGU0YgR0RCIDcuNS41MC4yMDEzMDIxNSAocHJl LTcuNiBzbmFwc2hvdCkuCgotLS0KZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdub3Jl CmluZGV4IDVkNGY0YjIuLjBkYzUyOTMgMTAwNjQ0Ci0tLSBhLy5naXRpZ25vcmUKKysrIGIvLmdp dGlnbm9yZQpAQCAtMSwyICsxLDIgQEAKIC9nZGItbGlic3RkYysrLXYzLXB5dGhvbi1yMTU1OTc4 LnRhci5iejIKLS9nZGItNy41LjUwLjIwMTMwMTE4LnRhci5iejIKKy9nZGItNy41LjUwLjIwMTMw MjE1LnRhci5iejIKCmRpZmYgLS1naXQgYS9nZGItNi4zLXJlYWRuZXZlci0yMDA1MDkwNy5wYXRj aCBiL2dkYi02LjMtcmVhZG5ldmVyLTIwMDUwOTA3LnBhdGNoCmluZGV4IDMxNGJlNDQuLjVmYjUx YjIgMTAwNjQ0Ci0tLSBhL2dkYi02LjMtcmVhZG5ldmVyLTIwMDUwOTA3LnBhdGNoCisrKyBiL2dk Yi02LjMtcmVhZG5ldmVyLTIwMDUwOTA3LnBhdGNoCkBAIC0xMSwxMCArMTEsMTAgQEAKIAogICAg ICAgICAqIGdkYi50ZXhpbmZvIChGaWxlIE9wdGlvbnMpOiBEb2N1bWVudCAtLXJlYWRuZXZlci4K IAotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2RvYy9nZGIudGV4aW5mbworSW5kZXg6 IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2RvYy9nZGIudGV4aW5mbwogPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvZG9jL2dkYi50ZXhpbmZvCTIwMTMtMDEtMTgg MjI6NTQ6MjIuNTIxMTU1NTI3ICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvZG9j L2dkYi50ZXhpbmZvCTIwMTMtMDEtMTggMjI6NTg6MTUuMDY0NTk2NTgwICswMTAwCistLS0gZ2Ri LTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9kb2MvZ2RiLnRleGluZm8JMjAxMy0wMi0xNSAyMjoz MTozNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9kb2MvZ2Ri LnRleGluZm8JMjAxMy0wMi0xNSAyMjozNDoyMi4zODExNjU0NDMgKzAxMDAKIEBAIC0xMDI2LDYg KzEwMjYsMTIgQEAgUmVhZCBlYWNoIHN5bWJvbCBmaWxlJ3MgZW50aXJlIHN5bWJvbCB0YQogIHRo ZSBkZWZhdWx0LCB3aGljaCBpcyB0byByZWFkIGl0IGluY3JlbWVudGFsbHkgYXMgaXQgaXMgbmVl ZGVkLgogIFRoaXMgbWFrZXMgc3RhcnR1cCBzbG93ZXIsIGJ1dCBtYWtlcyBmdXR1cmUgb3BlcmF0 aW9ucyBmYXN0ZXIuCkBAIC0yOCwxMSArMjgsMTEgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAx MTgvZ2RiL2RvYy9nZGIudGV4aW5mbwogIEBlbmQgdGFibGUKICAKICBAbm9kZSBNb2RlIE9wdGlv bnMKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9tYWluLmMKK0luZGV4OiBnZGItNy41 LjUwLjIwMTMwMjE1L2dkYi9tYWluLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMw MTE4Lm9yaWcvZ2RiL21haW4uYwkyMDEzLTAxLTE4IDIyOjU0OjIyLjUyMzE1NTUzMSArMDEwMAot KysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL21haW4uYwkyMDEzLTAxLTE4IDIyOjU4OjE1LjA2 NTU5NjU5OCArMDEwMAotQEAgLTQ0NSw2ICs0NDUsNyBAQCBjYXB0dXJlZF9tYWluICh2b2lkICpk YXRhKQorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvbWFpbi5jCTIwMTMtMDItMTUg MjI6MzE6MzcuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvbWFp bi5jCTIwMTMtMDItMTUgMjI6MzQ6MjIuMzgyMTY1NDQ1ICswMTAwCitAQCAtNDQ3LDYgKzQ0Nyw3 IEBAIGNhcHR1cmVkX21haW4gKHZvaWQgKmRhdGEpCiAgICAgICAgeyJ4ZGIiLCBub19hcmd1bWVu dCwgJnhkYl9jb21tYW5kcywgMX0sCiAgICAgICAgeyJkYngiLCBub19hcmd1bWVudCwgJmRieF9j b21tYW5kcywgMX0sCiAgICAgICAgeyJyZWFkbm93Iiwgbm9fYXJndW1lbnQsICZyZWFkbm93X3N5 bWJvbF9maWxlcywgMX0sCkBAIC00MCw3ICs0MCw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMw MTE4L2dkYi9tYWluLmMKICAgICAgICB7InIiLCBub19hcmd1bWVudCwgJnJlYWRub3dfc3ltYm9s X2ZpbGVzLCAxfSwKICAgICAgICB7InF1aWV0Iiwgbm9fYXJndW1lbnQsICZxdWlldCwgMX0sCiAg ICAgICAgeyJxIiwgbm9fYXJndW1lbnQsICZxdWlldCwgMX0sCi1AQCAtMTE2NCw2ICsxMTY1LDcg QEAgT3B0aW9uczpcblxuXAorQEAgLTExNjUsNiArMTE2Niw3IEBAIE9wdGlvbnM6XG5cblwKICAg IGZwdXRzX3VuZmlsdGVyZWQgKF8oIlwKICAgIC0tcXVpZXQgICAgICAgICAgICBEbyBub3QgcHJp bnQgdmVyc2lvbiBudW1iZXIgb24gc3RhcnR1cC5cblwKICAgIC0tcmVhZG5vdyAgICAgICAgICBG dWxseSByZWFkIHN5bWJvbCBmaWxlcyBvbiBmaXJzdCBhY2Nlc3MuXG5cCkBAIC00OCwxMCArNDgs MTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL21haW4uYwogICIpLCBzdHJlYW0p OwogICAgZnB1dHNfdW5maWx0ZXJlZCAoXygiXAogICAgLS1zZT1GSUxFICAgICAgICAgIFVzZSBG SUxFIGFzIHN5bWJvbCBmaWxlIGFuZCBleGVjdXRhYmxlIGZpbGUuXG5cCi1JbmRleDogZ2RiLTcu NS41MC4yMDEzMDExOC9nZGIvc3ltZmlsZS5jCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9n ZGIvc3ltZmlsZS5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2dk Yi9zeW1maWxlLmMJMjAxMy0wMS0xOCAyMjo1ODoxNS4wNjU1OTY1OTggKzAxMDAKLSsrKyBnZGIt Ny41LjUwLjIwMTMwMTE4L2dkYi9zeW1maWxlLmMJMjAxMy0wMS0xOCAyMjo1ODozMS4yNDk2MTk1 OTcgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL3N5bWZpbGUuYwkyMDEz LTAyLTAxIDIwOjM5OjAzLjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUv Z2RiL3N5bWZpbGUuYwkyMDEzLTAyLTE1IDIyOjM0OjIyLjM4MzE2NTQ0NyArMDEwMAogQEAgLTgx LDYgKzgxLDcgQEAgc3RhdGljIHZvaWQgY2xlYXJfc3ltdGFiX3VzZXJzX2NsZWFudXAgKAogIAog IC8qIEdsb2JhbCB2YXJpYWJsZXMgb3duZWQgYnkgdGhpcyBmaWxlLiAgKi8KQEAgLTYwLDE5ICs2 MCwxOSBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvc3ltZmlsZS5jCiAgCiAgLyog RnVuY3Rpb25zIHRoaXMgZmlsZSBkZWZpbmVzLiAgKi8KICAKLUluZGV4OiBnZGItNy41LjUwLjIw MTMwMTE4L2dkYi9kd2FyZjJyZWFkLmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9k d2FyZjJyZWFkLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2Ri L2R3YXJmMnJlYWQuYwkyMDEzLTAxLTE4IDIyOjU0OjIyLjUyODE1NTU0NSArMDEwMAotKysrIGdk Yi03LjUuNTAuMjAxMzAxMTgvZ2RiL2R3YXJmMnJlYWQuYwkyMDEzLTAxLTE4IDIyOjU5OjA4Ljk0 MDY3NDAzNSArMDEwMAotQEAgLTY3LDYgKzY3LDcgQEAKLSAjaW5jbHVkZSA8Y3R5cGUuaD4KKy0t LSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL2R3YXJmMnJlYWQuYwkyMDEzLTAyLTE1IDIy OjMxOjM3LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2R3YXJm MnJlYWQuYwkyMDEzLTAyLTE1IDIyOjM0OjM0LjQ3OTE4MTU4NCArMDEwMAorQEAgLTY4LDYgKzY4 LDcgQEAKICAjaW5jbHVkZSAiZ2RiX2JmZC5oIgogICNpbmNsdWRlICJmLWxhbmcuaCIKKyAjaW5j bHVkZSAic291cmNlLmgiCiArI2luY2x1ZGUgInRvcC5oIgogIAogICNpbmNsdWRlIDxmY250bC5o PgogICNpbmNsdWRlICJnZGJfc3RyaW5nLmgiCi1AQCAtMTc4Miw4ICsxNzgzLDkgQEAgZHdhcmYy X2hhc19pbmZvIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZQorQEAgLTE3OTMsOCArMTc5NCw5IEBA IGR3YXJmMl9oYXNfaW5mbyAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICh2b2lkICopIG5hbWVzKTsKICAgICAgICBkd2FyZjJfcGVyX29iamZp bGUtPm9iamZpbGUgPSBvYmpmaWxlOwogICAgICB9CkBAIC04NCwxMCArODQsMTAgQEAgSW5kZXg6 IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2R3YXJmMnJlYWQuYwogIH0KICAKICAvKiBXaGVuIGxv YWRpbmcgc2VjdGlvbnMsIHdlIGxvb2sgZWl0aGVyIGZvciB1bmNvbXByZXNzZWQgc2VjdGlvbiBv ciBmb3IKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi90b3AuaAorSW5kZXg6IGdkYi03 LjUuNTAuMjAxMzAyMTUvZ2RiL3RvcC5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEz MDExOC5vcmlnL2dkYi90b3AuaAkyMDEzLTAxLTE4IDIyOjU0OjIyLjUyODE1NTU0NSArMDEwMAot KysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3RvcC5oCTIwMTMtMDEtMTggMjI6NTg6MTUuMDY5 NTk2NjU3ICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi90b3AuaAkyMDEz LTAxLTA3IDE3OjQwOjM2LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUv Z2RiL3RvcC5oCTIwMTMtMDItMTUgMjI6MzQ6MjIuMzg5MTY1NDU5ICswMTAwCiBAQCAtNTgsNiAr NTgsNyBAQCBleHRlcm4gdm9pZCBzZXRfcHJvbXB0IChjb25zdCBjaGFyICpzKTsKICAKICAvKiBG cm9tIHJhbmRvbSBwbGFjZXMuICAqLwoKZGlmZiAtLWdpdCBhL2dkYi02LjYtYnVpbGRpZC1sb2Nh dGUtcnBtLnBhdGNoIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0ucGF0Y2gKaW5kZXggZjU1 NTNmMS4uMDA3NGRiOSAxMDA2NDQKLS0tIGEvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0ucGF0 Y2gKKysrIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0ucGF0Y2gKQEAgLTEsMTYgKzEsMTYg QEAKLUluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9ldmVudC10b3AuYworSW5kZXg6IGdk Yi03LjUuNTAuMjAxMzAyMTUvZ2RiL2V2ZW50LXRvcC5jCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcu NC41MC4yMDEyMDYwMi5vcmlnL2dkYi9ldmVudC10b3AuYwkyMDEyLTA2LTAyIDIxOjA4OjA4LjY1 MTIyNzM0NyArMDIwMAotKysrIGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL2V2ZW50LXRvcC5jCTIw MTItMDYtMDIgMjE6MDg6MjMuNDc5MjIxODg1ICswMjAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIx NS5vcmlnL2dkYi9ldmVudC10b3AuYwkyMDEzLTAxLTMxIDE5OjM3OjM3LjAwMDAwMDAwMCArMDEw MAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2V2ZW50LXRvcC5jCTIwMTMtMDItMTUgMjI6 MzY6MTEuMjE3MzA4NTM5ICswMTAwCiBAQCAtMzYsNiArMzYsNyBAQAotICNpbmNsdWRlICJvYnNl cnZlci5oIgogICNpbmNsdWRlICJjb250aW51YXRpb25zLmgiCiAgI2luY2x1ZGUgImdkYmNtZC5o IgkJLyogZm9yIGRvbnRfcmVwZWF0KCkgKi8KKyAjaW5jbHVkZSAiYW5ub3RhdGUuaCIKICsjaW5j bHVkZSAic3ltZmlsZS5oIgogIAogIC8qIHJlYWRsaW5lIGluY2x1ZGUgZmlsZXMuICAqLwogICNp bmNsdWRlICJyZWFkbGluZS9yZWFkbGluZS5oIgotQEAgLTE3Niw2ICsxNzcsOCBAQCBybF9jYWxs YmFja19yZWFkX2NoYXJfd3JhcHBlciAoZ2RiX2NsaWVuCitAQCAtMTcwLDYgKzE3MSw4IEBAIHJs X2NhbGxiYWNrX3JlYWRfY2hhcl93cmFwcGVyIChnZGJfY2xpZW4KICB2b2lkCiAgY2xpX2NvbW1h bmRfbG9vcCAodm9pZCkKICB7CkBAIC0xOSw3ICsxOSw3IEBAIEluZGV4OiBnZGItNy40LjUwLjIw MTIwNjAyL2dkYi9ldmVudC10b3AuYwogICAgZGlzcGxheV9nZGJfcHJvbXB0ICgwKTsKICAKICAg IC8qIE5vdyBpdCdzIHRpbWUgdG8gc3RhcnQgdGhlIGV2ZW50IGxvb3AuICAqLwotQEAgLTI0MSw2 ICsyNDQsOCBAQCBkaXNwbGF5X2dkYl9wcm9tcHQgKGNoYXIgKm5ld19wcm9tcHQpCitAQCAtMjM3 LDYgKzI0MCw4IEBAIGRpc3BsYXlfZ2RiX3Byb21wdCAoY2hhciAqbmV3X3Byb21wdCkKICAgIC8q IFJlc2V0IHRoZSBuZXN0aW5nIGRlcHRoIHVzZWQgd2hlbiB0cmFjZS1jb21tYW5kcyBpcyBzZXQu ICAqLwogICAgcmVzZXRfY29tbWFuZF9uZXN0X2RlcHRoICgpOwogIApAQCAtMjgsMTEgKzI4LDEx IEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9ldmVudC10b3AuYwogICAgLyogRWFj aCBpbnRlcnByZXRlciBoYXMgaXRzIG93biBydWxlcyBvbiBkaXNwbGF5aW5nIHRoZSBjb21tYW5k CiAgICAgICBwcm9tcHQuICAqLwogICAgaWYgKCFjdXJyZW50X2ludGVycF9kaXNwbGF5X3Byb21w dF9wICgpKQotSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL2VsZnJlYWQuYworSW5kZXg6 IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2VsZnJlYWQuYwogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03 LjQuNTAuMjAxMjA2MDIub3JpZy9nZGIvZWxmcmVhZC5jCTIwMTItMDYtMDIgMjE6MDg6MDguNjUx MjI3MzQ3ICswMjAwCi0rKysgZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvZWxmcmVhZC5jCTIwMTIt MDYtMDIgMjE6MDg6MjMuNDgyMjIxODgyICswMjAwCi1AQCAtNDgsNiArNDgsNyBAQAorLS0tIGdk Yi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvZWxmcmVhZC5jCTIwMTMtMDItMTUgMjI6MzU6MzYu MDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvZWxmcmVhZC5jCTIw MTMtMDItMTUgMjI6MzU6NTkuNDE0MjkyODc0ICswMTAwCitAQCAtNDksNiArNDksNyBAQAogICNp bmNsdWRlICJnZGJjb3JlLmgiCiAgI2luY2x1ZGUgImdkYmNtZC5oIgogICNpbmNsdWRlICJvYnNl cnZlci5oIgpAQCAtNDAsNyArNDAsNyBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIv ZWxmcmVhZC5jCiAgI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CiAgCiAgZXh0ZXJuIHZvaWQgX2luaXRp YWxpemVfZWxmcmVhZCAodm9pZCk7Ci1AQCAtMTY0Nyw4ICsxNjQ4LDM2MSBAQCBidWlsZF9pZF90 b19maWxlbmFtZSAoc3RydWN0IGJ1aWxkX2lkICpiCitAQCAtMTY0OSw4ICsxNjUwLDM2MSBAQCBi dWlsZF9pZF90b19maWxlbmFtZSAoc3RydWN0IGJ1aWxkX2lkICpiCiAgICByZXR1cm4gcmV0dmFs OwogIH0KICAKQEAgLTQwMyw3ICs0MDMsNyBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9n ZGIvZWxmcmVhZC5jCiAgICAgYXZvaWRhbmNlLiAgKi8KICAKICBzdHJ1Y3QgbWlzc2luZ19maWxl cGFpcgotQEAgLTE3MDIsMTEgKzIwNTYsMTcgQEAgbWlzc2luZ19maWxlcGFpcl9jaGFuZ2UgKHZv aWQpCitAQCAtMTcwNCwxMSArMjA1OCwxNyBAQCBtaXNzaW5nX2ZpbGVwYWlyX2NoYW5nZSAodm9p ZCkKICAgICAgICAvKiBBbGwgdGhlaXIgbWVtb3J5IGNhbWUganVzdCBmcm9tIG1pc3NpbmdfZmls ZXBhaXJfT0JTVEFDSy4gICovCiAgICAgICAgbWlzc2luZ19maWxlcGFpcl9oYXNoID0gTlVMTDsK ICAgICAgfQpAQCAtNDIxLDcgKzQyMSw3IEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAyL2dk Yi9lbGZyZWFkLmMKICAgIG1pc3NpbmdfZmlsZXBhaXJfY2hhbmdlICgpOwogIH0KICAKLUBAIC0x NzczLDE0ICsyMTMzLDM1IEBAIGRlYnVnX3ByaW50X21pc3NpbmcgKGNvbnN0IGNoYXIgKmJpbmFy eSwKK0BAIC0xNzc1LDE0ICsyMTM1LDM1IEBAIGRlYnVnX3ByaW50X21pc3NpbmcgKGNvbnN0IGNo YXIgKmJpbmFyeSwKICAKICAgICpzbG90ID0gbWlzc2luZ19maWxlcGFpcjsKICAKQEAgLTQ2NCwx MSArNDY0LDExIEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9lbGZyZWFkLmMKICB9 CiAgCiAgc3RhdGljIGNoYXIgKgotSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL3N5bWZp bGUuaAorSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3N5bWZpbGUuaAogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIGdkYi03LjQuNTAuMjAxMjA2MDIub3JpZy9nZGIvc3ltZmlsZS5oCTIwMTItMDYtMDIg MjE6MDg6MDguNjUxMjI3MzQ3ICswMjAwCi0rKysgZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvc3lt ZmlsZS5oCTIwMTItMDYtMDIgMjE6MDg6MjMuNDk5MjIxODc3ICswMjAwCi1AQCAtNjIxLDYgKzYy MSw4IEBAIGV4dGVybiBzdHJ1Y3QgYnVpbGRfaWQgKmJ1aWxkX2lkX2FkZHJfZ2UKKy0tLSBnZGIt Ny41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL3N5bWZpbGUuaAkyMDEzLTAyLTE1IDIyOjM1OjAzLjAw MDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3N5bWZpbGUuaAkyMDEz LTAyLTE1IDIyOjM1OjU5LjQxNDI5Mjg3NCArMDEwMAorQEAgLTU5OSw2ICs1OTksOCBAQCBleHRl cm4gc3RydWN0IGJ1aWxkX2lkICpidWlsZF9pZF9hZGRyX2dlCiAgZXh0ZXJuIGNoYXIgKmJ1aWxk X2lkX3RvX2ZpbGVuYW1lIChzdHJ1Y3QgYnVpbGRfaWQgKmJ1aWxkX2lkLAogIAkJCQkgICBjaGFy ICoqbGlua19yZXR1cm4sIGludCBhZGRfZGVidWdfc3VmZml4KTsKICBleHRlcm4gdm9pZCBkZWJ1 Z19wcmludF9taXNzaW5nIChjb25zdCBjaGFyICpiaW5hcnksIGNvbnN0IGNoYXIgKmRlYnVnKTsK QEAgLTQ3NywxMSArNDc3LDExIEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9zeW1m aWxlLmgKICAKICAvKiBGcm9tIGR3YXJmMnJlYWQuYyAqLwogIAotSW5kZXg6IGdkYi03LjQuNTAu MjAxMjA2MDIvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAorSW5kZXg6IGdkYi03LjUuNTAuMjAx MzAyMTUvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjQu NTAuMjAxMjA2MDIub3JpZy9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCTIwMTItMDYtMDIgMjE6 MDg6MDguNjUxMjI3MzQ3ICswMjAwCi0rKysgZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvdGVzdHN1 aXRlL2xpYi9nZGIuZXhwCTIwMTItMDYtMDIgMjE6MDg6MjMuNTEwMjIxODczICswMjAwCi1AQCAt MTM4OCw3ICsxMzg4LDcgQEAgcHJvYyBkZWZhdWx0X2dkYl9zdGFydCB7IH0geworLS0tIGdkYi03 LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCTIwMTMtMDItMTUg MjI6MzU6MDMuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvdGVz dHN1aXRlL2xpYi9nZGIuZXhwCTIwMTMtMDItMTUgMjI6MzU6NTkuNDE1MjkyODc4ICswMTAwCitA QCAtMTQ4Miw3ICsxNDgyLDcgQEAgcHJvYyBkZWZhdWx0X2dkYl9zdGFydCB7IH0gewogIAkgICAg d2FybmluZyAiQ291bGRuJ3Qgc2V0IHRoZSB3aWR0aCB0byAwLiIKICAJfQogICAgICB9CkBAIC00 OTAsMTEgKzQ5MCwxMSBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvdGVzdHN1aXRl L2xpYi9nZGIuZXhwCiAgICAgIHNlbmRfZ2RiICJzZXQgYnVpbGQtaWQtdmVyYm9zZSAwXG4iCiAg ICAgIGdkYl9leHBlY3QgMTAgewogIAktcmUgIiRnZGJfcHJvbXB0ICQiIHsKLUluZGV4OiBnZGIt Ny40LjUwLjIwMTIwNjAyL2dkYi90ZXN0c3VpdGUvbGliL21pLXN1cHBvcnQuZXhwCitJbmRleDog Z2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvdGVzdHN1aXRlL2xpYi9taS1zdXBwb3J0LmV4cAogPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIGdkYi03LjQuNTAuMjAxMjA2MDIub3JpZy9nZGIvdGVzdHN1aXRlL2xpYi9t aS1zdXBwb3J0LmV4cAkyMDEyLTA2LTAyIDIxOjA4OjA4LjY1MTIyNzM0NyArMDIwMAotKysrIGdk Yi03LjQuNTAuMjAxMjA2MDIvZ2RiL3Rlc3RzdWl0ZS9saWIvbWktc3VwcG9ydC5leHAJMjAxMi0w Ni0wMiAyMTowODoyMy41MjMyMjE4NjkgKzAyMDAKLUBAIC0yMTMsNyArMjEzLDcgQEAgcHJvYyBk ZWZhdWx0X21pX2dkYl9zdGFydCB7IGFyZ3MgfSB7CistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5v cmlnL2dkYi90ZXN0c3VpdGUvbGliL21pLXN1cHBvcnQuZXhwCTIwMTMtMDItMTUgMjI6MzU6MDMu MDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvdGVzdHN1aXRlL2xp Yi9taS1zdXBwb3J0LmV4cAkyMDEzLTAyLTE1IDIyOjM1OjU5LjQxNjI5Mjg4MSArMDEwMAorQEAg LTIxMiw3ICsyMTIsNyBAQCBwcm9jIGRlZmF1bHRfbWlfZ2RiX3N0YXJ0IHsgYXJncyB9IHsKICAJ ICAgIHdhcm5pbmcgIkNvdWxkbid0IHNldCB0aGUgd2lkdGggdG8gMC4iCiAgCX0KICAgICAgfQpA QCAtNTAzLDEwICs1MDMsMTAgQEAgSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL3Rlc3Rz dWl0ZS9saWIvbWktc3VwcG9ydC5leHAKICAgICAgc2VuZF9nZGIgIjE5MC1nZGItc2V0IGJ1aWxk LWlkLXZlcmJvc2UgMFxuIgogICAgICBnZGJfZXhwZWN0IDEwIHsKICAJLXJlICIuKjE5MC1nZGIt c2V0IGJ1aWxkLWlkLXZlcmJvc2UgMFxyXG4xOTBcXFxeZG9uZVxyXG4kbWlfZ2RiX3Byb21wdCQi IHsKLUluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi90dWkvdHVpLWludGVycC5jCitJbmRl eDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvdHVpL3R1aS1pbnRlcnAuYwogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi03LjQuNTAuMjAxMjA2MDIub3JpZy9nZGIvdHVpL3R1aS1pbnRlcnAuYwkyMDEyLTA2 LTAyIDIxOjA4OjA4LjY1MTIyNzM0NyArMDIwMAotKysrIGdkYi03LjQuNTAuMjAxMjA2MDIvZ2Ri L3R1aS90dWktaW50ZXJwLmMJMjAxMi0wNi0wMiAyMTowODoyMy41MjQyMjE4NjkgKzAyMDAKKy0t LSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL3R1aS90dWktaW50ZXJwLmMJMjAxMy0wMS0w MSAwNzo0MTozMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi90 dWkvdHVpLWludGVycC5jCTIwMTMtMDItMTUgMjI6MzU6NTkuNDE2MjkyODgxICswMTAwCiBAQCAt MzAsNiArMzAsNyBAQAogICNpbmNsdWRlICJ0dWkvdHVpLmgiCiAgI2luY2x1ZGUgInR1aS90dWkt aW8uaCIKQEAgLTUxNSwxMCArNTE1LDEwIEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAyL2dk Yi90dWkvdHVpLWludGVycC5jCiAgCiAgLyogU2V0IHRvIDEgd2hlbiB0aGUgVFVJIG1vZGUgbXVz dCBiZSBhY3RpdmF0ZWQgd2hlbiB3ZSBmaXJzdCBzdGFydAogICAgIGdkYi4gICovCi1JbmRleDog Z2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvYWNsb2NhbC5tNAorSW5kZXg6IGdkYi03LjUuNTAuMjAx MzAyMTUvZ2RiL2FjbG9jYWwubTQKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy40LjUwLjIwMTIwNjAy Lm9yaWcvZ2RiL2FjbG9jYWwubTQJMjAxMi0wNi0wMiAyMTowODowOC42NTEyMjczNDcgKzAyMDAK LSsrKyBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9hY2xvY2FsLm00CTIwMTItMDYtMDIgMjE6MDg6 MjMuNTQ1MjIxODU4ICswMjAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9hY2xv Y2FsLm00CTIwMTMtMDEtMTcgMTI6MDY6MjYuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41 MC4yMDEzMDIxNS9nZGIvYWNsb2NhbC5tNAkyMDEzLTAyLTE1IDIyOjM1OjU5LjQxNzI5Mjg4MyAr MDEwMAogQEAgLTExLDYgKzExLDE2NCBAQAogICMgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv ZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQQogICMgUEFSVElDVUxBUiBQVVJQT1NF LgpAQCAtNjg0LDExICs2ODQsMTEgQEAgSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL2Fj bG9jYWwubTQKICAjIEFNX0NPTkRJVElPTkFMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAtKi0gQXV0b2NvbmYgLSotCiAgCiAgIyBDb3B5cmlnaHQgKEMpIDE5OTcs IDIwMDAsIDIwMDEsIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDgKLUluZGV4OiBnZGItNy40 LjUwLjIwMTIwNjAyL2dkYi9jb25maWcuaW4KK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dk Yi9jb25maWcuaW4KID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy40LjUwLjIwMTIwNjAyLm9yaWcvZ2Ri L2NvbmZpZy5pbgkyMDEyLTA2LTAyIDIxOjA4OjA4LjY1MTIyNzM0NyArMDIwMAotKysrIGdkYi03 LjQuNTAuMjAxMjA2MDIvZ2RiL2NvbmZpZy5pbgkyMDEyLTA2LTAyIDIxOjA4OjIzLjU0NjIyMTg1 OSArMDIwMAotQEAgLTM2LDYgKzM2LDkgQEAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcv Z2RiL2NvbmZpZy5pbgkyMDEyLTEyLTA5IDE5OjM5OjU4LjAwMDAwMDAwMCArMDEwMAorKysrIGdk Yi03LjUuNTAuMjAxMzAyMTUvZ2RiL2NvbmZpZy5pbgkyMDEzLTAyLTE1IDIyOjM1OjU5LjQxNzI5 Mjg4MyArMDEwMAorQEAgLTMzLDYgKzMzLDkgQEAKICAvKiBEZWZpbmUgdG8gQkZEJ3MgZGVmYXVs dCB0YXJnZXQgdmVjdG9yLiAqLwogICN1bmRlZiBERUZBVUxUX0JGRF9WRUMKICAKQEAgLTY5OCw3 ICs2OTgsNyBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvY29uZmlnLmluCiAgLyog RGVmaW5lIHRvIDEgaWYgdHJhbnNsYXRpb24gb2YgcHJvZ3JhbSBtZXNzYWdlcyB0byB0aGUgdXNl cidzIG5hdGl2ZQogICAgIGxhbmd1YWdlIGlzIHJlcXVlc3RlZC4gKi8KICAjdW5kZWYgRU5BQkxF X05MUwotQEAgLTIxNiw2ICsyMTksOSBAQAorQEAgLTIxMCw2ICsyMTMsOSBAQAogIC8qIERlZmlu ZSBpZiBQeXRob24gMi43IGlzIGJlaW5nIHVzZWQuICovCiAgI3VuZGVmIEhBVkVfTElCUFlUSE9O Ml83CiAgCkBAIC03MDgsMTEgKzcwOCwxMSBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9n ZGIvY29uZmlnLmluCiAgLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxsaWJ1bndpbmQt aWE2NC5oPiBoZWFkZXIgZmlsZS4gKi8KICAjdW5kZWYgSEFWRV9MSUJVTldJTkRfSUE2NF9ICiAg Ci1JbmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvY29uZmlndXJlCitJbmRleDogZ2RiLTcu NS41MC4yMDEzMDIxNS9nZGIvY29uZmlndXJlCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNC41MC4y MDEyMDYwMi5vcmlnL2dkYi9jb25maWd1cmUJMjAxMi0wNi0wMiAyMTowODowOC42NTEyMjczNDcg KzAyMDAKLSsrKyBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9jb25maWd1cmUJMjAxMi0wNi0wMiAy MToyMDo1My4yNDU4MzgxMjEgKzAyMDAKLUBAIC02ODAsNiArNjgwLDExIEBAIFJFUE9SVF9CVUdT X1RPCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9jb25maWd1cmUJMjAxMy0wMS0w OSAxODoyMTozMy4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9j b25maWd1cmUJMjAxMy0wMi0xNSAyMjozNTo1OS40MjIyOTI4OTMgKzAxMDAKK0BAIC02ODMsNiAr NjgzLDExIEBAIFJFUE9SVF9CVUdTX1RPCiAgUEtHVkVSU0lPTgogIFRBUkdFVF9PQlMKICBzdWJk aXJzCkBAIC03MjQsNyArNzI0LDcgQEAgSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL2Nv bmZpZ3VyZQogIEdEQl9EQVRBRElSCiAgREVCVUdESVIKICBNQUtFSU5GT19FWFRSQV9GTEFHUwot QEAgLTc4MCw2ICs3ODUsNyBAQCB3aXRoX2dkYl9kYXRhZGlyCitAQCAtNzgzLDYgKzc4OCw3IEBA IHdpdGhfZ2RiX2RhdGFkaXIKICB3aXRoX3JlbG9jYXRlZF9zb3VyY2VzCiAgd2l0aF9hdXRvX2xv YWRfZGlyCiAgd2l0aF9hdXRvX2xvYWRfc2FmZV9wYXRoCkBAIC03MzIsNyArNzMyLDcgQEAgSW5k ZXg6IGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL2NvbmZpZ3VyZQogIGVuYWJsZV90YXJnZXRzCiAg ZW5hYmxlXzY0X2JpdF9iZmQKICBlbmFibGVfZ2RiY2xpCi1AQCAtODI1LDYgKzgzMSwxMSBAQCBD UFBGTEFHUworQEAgLTgzMSw2ICs4MzcsMTEgQEAgQ1BQRkxBR1MKICBDUFAKICBNQUtFSU5GTwog IE1BS0VJTkZPRkxBR1MKQEAgLTc0NCw3ICs3NDQsNyBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEy MDYwMi9nZGIvY29uZmlndXJlCiAgWUFDQwogIFlGTEFHUwogIFhNS01GJwotQEAgLTE0OTQsNiAr MTUwNSw4IEBAIE9wdGlvbmFsIFBhY2thZ2VzOgorQEAgLTE1MDEsNiArMTUxMiw4IEBAIE9wdGlv bmFsIFBhY2thZ2VzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgWy0td2l0aC1hdXRvLWxv YWQtZGlyXQogICAgLS13aXRob3V0LWF1dG8tbG9hZC1zYWZlLXBhdGgKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGRvIG5vdCByZXN0cmljdCBhdXRvLWxvYWRlZCBmaWxlcyBsb2NhdGlvbnMK QEAgLTc1Myw3ICs3NTMsNyBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvY29uZmln dXJlCiAgICAtLXdpdGgtbGlidW53aW5kLWlhNjQgICB1c2UgbGlidW53aW5kIGZyYW1lIHVud2lu ZGluZyBmb3IgaWE2NCB0YXJnZXRzCiAgICAtLXdpdGgtY3Vyc2VzICAgICAgICAgICB1c2UgdGhl IGN1cnNlcyBsaWJyYXJ5IGluc3RlYWQgb2YgdGhlIHRlcm1jYXAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGxpYnJhcnkKLUBAIC0xNTM1LDYgKzE1NDgsMTMgQEAgU29tZSBpbmZsdWVudGlh bCBlbnZpcm9ubWVudCB2YXJpYWJsZXM6CitAQCAtMTU0NSw2ICsxNTU4LDEzIEBAIFNvbWUgaW5m bHVlbnRpYWwgZW52aXJvbm1lbnQgdmFyaWFibGVzOgogICAgTUFLRUlORk8gICAgUGFyZW50IGNv bmZpZ3VyZSBkZXRlY3RzIGlmIGl0IGlzIG9mIHN1ZmZpY2llbnQgdmVyc2lvbi4KICAgIE1BS0VJ TkZPRkxBR1MKICAgICAgICAgICAgICAgIFBhcmFtZXRlcnMgZm9yIE1BS0VJTkZPLgpAQCAtNzY3 LDcgKzc2Nyw3IEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9jb25maWd1cmUKICAg IFlBQ0MgICAgICAgIFRoZSBgWWV0IEFub3RoZXIgQyBDb21waWxlcicgaW1wbGVtZW50YXRpb24g dG8gdXNlLiBEZWZhdWx0cyB0bwogICAgICAgICAgICAgICAgdGhlIGZpcnN0IHByb2dyYW0gZm91 bmQgb3V0IG9mOiBgYmlzb24gLXknLCBgYnlhY2MnLCBgeWFjYycuCiAgICBZRkxBR1MgICAgICBU aGUgbGlzdCBvZiBhcmd1bWVudHMgdGhhdCB3aWxsIGJlIHBhc3NlZCBieSBkZWZhdWx0IHRvICRZ QUNDLgotQEAgLTUwMTUsNiArNTAzNSw0OTEgQEAgX0FDRU9GCitAQCAtNTAzMCw2ICs1MDUwLDQ5 MSBAQCBfQUNFT0YKICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJl c3VsdDogJHdpdGhfYXV0b19sb2FkX3NhZmVfcGF0aCIgPiY1CiAgJGFzX2VjaG8gIiR3aXRoX2F1 dG9fbG9hZF9zYWZlX3BhdGgiID4mNjsgfQogIApAQCAtMTI1OSwxMCArMTI1OSwxMCBAQCBJbmRl eDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvY29uZmlndXJlCiAgCiAgCiAgc3ViZGlycz0iJHN1 YmRpcnMgdGVzdHN1aXRlIgotSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL2NvbmZpZ3Vy ZS5hYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2NvbmZpZ3VyZS5hYwogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIGdkYi03LjQuNTAuMjAxMjA2MDIub3JpZy9nZGIvY29uZmlndXJlLmFjCTIwMTIt MDYtMDIgMjE6MDg6MDguNjUxMjI3MzQ3ICswMjAwCi0rKysgZ2RiLTcuNC41MC4yMDEyMDYwMi9n ZGIvY29uZmlndXJlLmFjCTIwMTItMDYtMDIgMjE6MDg6MjMuNTYwMjIxODU1ICswMjAwCistLS0g Z2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9jb25maWd1cmUuYWMJMjAxMy0wMS0wOSAxODoy MTozNS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9jb25maWd1 cmUuYWMJMjAxMy0wMi0xNSAyMjozNTo1OS40MjMyOTI4OTUgKzAxMDAKIEBAIC0xNjYsNiArMTY2 LDE5OSBAQCBBQ19ERUZJTkVfRElSKEFVVE9fTE9BRF9TQUZFX1BBVEgsIGVzY2FwCiAgCSAgICAg IFtEaXJlY3RvcmllcyBzYWZlIHRvIGhvbGQgYXV0by1sb2FkZWQgZmlsZXMuXSkKICBBQ19NU0df UkVTVUxUKFskd2l0aF9hdXRvX2xvYWRfc2FmZV9wYXRoXSkKQEAgLTE0NjMsMTEgKzE0NjMsMTEg QEAgSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL2NvbmZpZ3VyZS5hYwogIEFDX0NPTkZJ R19TVUJESVJTKHRlc3RzdWl0ZSkKICAKICAjIENoZWNrIHdoZXRoZXIgdG8gc3VwcG9ydCBhbHRl cm5hdGl2ZSB0YXJnZXQgY29uZmlndXJhdGlvbnMKLUluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAy L2dkYi9jb3JlbG93LmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9jb3JlbG93LmMK ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItNy40LjUwLjIwMTIwNjAyLm9yaWcvZ2RiL2NvcmVsb3cuYwky MDEyLTA2LTAyIDIxOjA4OjA4LjY1MTIyNzM0NyArMDIwMAotKysrIGdkYi03LjQuNTAuMjAxMjA2 MDIvZ2RiL2NvcmVsb3cuYwkyMDEyLTA2LTAyIDIxOjA4OjIzLjU2MTIyMTg1NSArMDIwMAotQEAg LTMxNyw3ICszMTcsNyBAQCBidWlsZF9pZF9sb2NhdGVfZXhlYyAoaW50IGZyb21fdHR5KQorLS0t IGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvY29yZWxvdy5jCTIwMTMtMDItMTUgMjI6MzU6 MDMuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvY29yZWxvdy5j CTIwMTMtMDItMTUgMjI6MzU6NTkuNDIzMjkyODk1ICswMTAwCitAQCAtMzEzLDcgKzMxMyw3IEBA IGJ1aWxkX2lkX2xvY2F0ZV9leGVjIChpbnQgZnJvbV90dHkpCiAgICAgICAgICBzeW1maWxlX29i amZpbGUtPmZsYWdzIHw9IE9CSkZfQlVJTERfSURfQ09SRV9MT0FERUQ7CiAgICAgIH0KICAgIGVs c2UKCmRpZmYgLS1naXQgYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLnBhdGNoIGIvZ2RiLTYuNi1i dWlsZGlkLWxvY2F0ZS5wYXRjaAppbmRleCBkNmY1NzM1Li5iNGNhODk1IDEwMDY0NAotLS0gYS9n ZGItNi42LWJ1aWxkaWQtbG9jYXRlLnBhdGNoCisrKyBiL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUu cGF0Y2gKQEAgLTEsOCArMSw4IEBACi1JbmRleDogZ2RiLTcuNC45MS4yMDEyMDgwMS9nZGIvY29y ZWxvdy5jCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvY29yZWxvdy5jCiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gZ2RiLTcuNC45MS4yMDEyMDgwMS5vcmlnL2dkYi9jb3JlbG93LmMJMjAxMi0wOC0w MSAxODozNjo1MS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNy40LjkxLjIwMTIwODAxL2dkYi9j b3JlbG93LmMJMjAxMi0wOC0wMSAxODozNzo0NC41ODQ5MjU3NTAgKzAyMDAKLUBAIC00Nyw2ICs0 Nyw5IEBACistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9jb3JlbG93LmMJMjAxMy0w MS0zMSAxOTozNzozNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dk Yi9jb3JlbG93LmMJMjAxMy0wMi0xNSAyMjozNTowMy4yNzgyMTk4NDQgKzAxMDAKK0BAIC00Niw2 ICs0Niw5IEBACiAgI2luY2x1ZGUgInByb2dzcGFjZS5oIgogICNpbmNsdWRlICJvYmpmaWxlcy5o IgogICNpbmNsdWRlICJnZGJfYmZkLmgiCkBAIC0xMiw3ICsxMiw3IEBAIEluZGV4OiBnZGItNy40 LjkxLjIwMTIwODAxL2dkYi9jb3JlbG93LmMKICAKICAjaWZuZGVmIE9fTEFSR0VGSUxFCiAgI2Rl ZmluZSBPX0xBUkdFRklMRSAwCi1AQCAtMjc0LDYgKzI3Nyw1MiBAQCBhZGRfdG9fdGhyZWFkX2xp c3QgKGJmZCAqYWJmZCwgYXNlY3Rpb24KK0BAIC0yNzEsNiArMjc0LDUyIEBAIGFkZF90b190aHJl YWRfbGlzdCAoYmZkICphYmZkLCBhc2VjdGlvbgogICAgICBpbmZlcmlvcl9wdGlkID0gcHRpZDsJ CQkvKiBZZXMsIG1ha2UgaXQgY3VycmVudC4gICovCiAgfQogIApAQCAtNjUsNyArNjUsNyBAQCBJ bmRleDogZ2RiLTcuNC45MS4yMDEyMDgwMS9nZGIvY29yZWxvdy5jCiAgLyogVGhpcyByb3V0aW5l IG9wZW5zIGFuZCBzZXRzIHVwIHRoZSBjb3JlIGZpbGUgYmZkLiAgKi8KICAKICBzdGF0aWMgdm9p ZAotQEAgLTQxOCw2ICs0NjcsMTQgQEAgY29yZV9vcGVuIChjaGFyICpmaWxlbmFtZSwgaW50IGZy b21fdHR5KQorQEAgLTQwOSw2ICs0NTgsMTQgQEAgY29yZV9vcGVuIChjaGFyICpmaWxlbmFtZSwg aW50IGZyb21fdHR5KQogIAlzd2l0Y2hfdG9fdGhyZWFkICh0aHJlYWQtPnB0aWQpOwogICAgICB9 CiAgCkBAIC04MCw3ICs4MCw3IEBAIEluZGV4OiBnZGItNy40LjkxLjIwMTIwODAxL2dkYi9jb3Jl bG93LmMKICAgIHBvc3RfY3JlYXRlX2luZmVyaW9yICgmY29yZV9vcHMsIGZyb21fdHR5KTsKICAK ICAgIC8qIE5vdyBnbyB0aHJvdWdoIHRoZSB0YXJnZXQgc3RhY2sgbG9va2luZyBmb3IgdGhyZWFk cyBzaW5jZSB0aGVyZQotQEAgLTkzOSw0ICs5OTYsMTEgQEAgX2luaXRpYWxpemVfY29yZWxvdyAo dm9pZCkKK0BAIC05NzgsNCArMTAzNSwxMSBAQCBfaW5pdGlhbGl6ZV9jb3JlbG93ICh2b2lkKQog ICAgaW5pdF9jb3JlX29wcyAoKTsKICAKICAgIGFkZF90YXJnZXQgKCZjb3JlX29wcyk7CkBAIC05 MiwxMSArOTIsMTEgQEAgSW5kZXg6IGdkYi03LjQuOTEuMjAxMjA4MDEvZ2RiL2NvcmVsb3cuYwog KwkJCSAgIE5VTEwsIE5VTEwsIE5VTEwsCiArCQkJICAgJnNldGxpc3QsICZzaG93bGlzdCk7CiAg fQotSW5kZXg6IGdkYi03LjQuOTEuMjAxMjA4MDEvZ2RiL2RvYy9nZGIudGV4aW5mbworSW5kZXg6 IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2RvYy9nZGIudGV4aW5mbwogPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGdkYi03LjQuOTEuMjAxMjA4MDEub3JpZy9nZGIvZG9jL2dkYi50ZXhpbmZvCTIwMTItMDgtMDEg MTg6MzY6NTEuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuNC45MS4yMDEyMDgwMS9nZGIvZG9j L2dkYi50ZXhpbmZvCTIwMTItMDgtMDEgMTg6Mzc6NDQuNTk4OTI1NjcyICswMjAwCi1AQCAtMTY1 MzAsNiArMTY1MzAsMjcgQEAgaW5mb3JtYXRpb24gZmlsZXMuCistLS0gZ2RiLTcuNS41MC4yMDEz MDIxNS5vcmlnL2dkYi9kb2MvZ2RiLnRleGluZm8JMjAxMy0wMi0xNSAyMjozNDoyMi4wMDAwMDAw MDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9kb2MvZ2RiLnRleGluZm8JMjAx My0wMi0xNSAyMjozNTowMy4yODcyMTk4NjMgKzAxMDAKK0BAIC0xNjY2Miw2ICsxNjY2MiwyNyBA QCBpbmZvcm1hdGlvbiBmaWxlcy4KICAKICBAZW5kIHRhYmxlCiAgCkBAIC0xMjQsMTEgKzEyNCwx MSBAQCBJbmRleDogZ2RiLTcuNC45MS4yMDEyMDgwMS9nZGIvZG9jL2dkYi50ZXhpbmZvCiAgQGNp bmRleCBAY29kZXsuZ251X2RlYnVnbGlua30gc2VjdGlvbnMKICBAY2luZGV4IGRlYnVnIGxpbmsg c2VjdGlvbnMKICBBIGRlYnVnIGxpbmsgaXMgYSBzcGVjaWFsIHNlY3Rpb24gb2YgdGhlIGV4ZWN1 dGFibGUgZmlsZSBuYW1lZAotSW5kZXg6IGdkYi03LjQuOTEuMjAxMjA4MDEvZ2RiL3NvbGliLXN2 cjQuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3NvbGliLXN2cjQuYwogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIGdkYi03LjQuOTEuMjAxMjA4MDEub3JpZy9nZGIvc29saWItc3ZyNC5jCTIwMTIt MDgtMDEgMTg6MzY6NTEuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuNC45MS4yMDEyMDgwMS9n ZGIvc29saWItc3ZyNC5jCTIwMTItMDgtMDEgMTg6Mzc6NDQuNTk5OTI1NjY3ICswMjAwCi1AQCAt MTIyOCw5ICsxMjI4LDUyIEBAIHN2cjRfcmVhZF9zb19saXN0IChDT1JFX0FERFIgbG0sIHN0cnVj dAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvc29saWItc3ZyNC5jCTIwMTMtMDEt MzEgMTQ6NTI6NTIuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIv c29saWItc3ZyNC5jCTIwMTMtMDItMTUgMjI6MzU6MDMuMjg3MjE5ODYzICswMTAwCitAQCAtMTIy NCw5ICsxMjI0LDUyIEBAIHN2cjRfcmVhZF9zb19saXN0IChDT1JFX0FERFIgbG0sIHN0cnVjdAog IAkgIGNvbnRpbnVlOwogIAl9CiAgCkBAIC0xODQsMTAgKzE4NCwxMCBAQCBJbmRleDogZ2RiLTcu NC45MS4yMDEyMDgwMS9nZGIvc29saWItc3ZyNC5jCiAgICAgICAgeGZyZWUgKGJ1ZmZlcik7CiAg CiAgICAgICAgLyogSWYgdGhpcyBlbnRyeSBoYXMgbm8gbmFtZSwgb3IgaXRzIG5hbWUgbWF0Y2hl cyB0aGUgbmFtZQotSW5kZXg6IGdkYi03LjQuOTEuMjAxMjA4MDEvZ2RiL2VsZnJlYWQuYworSW5k ZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2VsZnJlYWQuYwogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdk Yi03LjQuOTEuMjAxMjA4MDEub3JpZy9nZGIvZWxmcmVhZC5jCTIwMTItMDgtMDEgMTg6MzY6NTEu MDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuNC45MS4yMDEyMDgwMS9nZGIvZWxmcmVhZC5jCTIw MTItMDgtMDEgMTg6Mzg6MDguOTU2NzkwODc5ICswMjAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIx NS5vcmlnL2dkYi9lbGZyZWFkLmMJMjAxMy0wMi0wMSAyMDozOTowMy4wMDAwMDAwMDAgKzAxMDAK KysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9lbGZyZWFkLmMJMjAxMy0wMi0xNSAyMjozNToz Ni44MjYyNjMzNTQgKzAxMDAKIEBAIC00NSw2ICs0NSwxMSBAQAogICNpbmNsdWRlICJyZWdjYWNo ZS5oIgogICNpbmNsdWRlICJiY2FjaGUuaCIKQEAgLTkxOSw5ICs5MTksOSBAQCBJbmRleDogZ2Ri LTcuNC45MS4yMDEyMDgwMS9nZGIvZWxmcmVhZC5jCiAgICAgIH0KICAgIHJldHVybiBOVUxMOwog IH0KLUBAIC0xNDM2LDkgKzIwMzgsMTAgQEAgZWxmX3N5bWZpbGVfcmVhZCAoc3RydWN0IG9iamZp bGUgKm9iamZpbAotICAgICAgYC5ub3RlLmdudS5idWlsZC1pZCcuICAqLwotICAgZWxzZSBpZiAo IW9iamZpbGVfaGFzX3BhcnRpYWxfc3ltYm9scyAob2JqZmlsZSkpCitAQCAtMTQ0NCw5ICsyMDQ2 LDEwIEBAIGVsZl9zeW1maWxlX3JlYWQgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWwKKyAJICAgJiYg b2JqZmlsZS0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZSA9PSBOVUxMCisgCSAgICYmIG9iamZpbGUt PnNlcGFyYXRlX2RlYnVnX29iamZpbGVfYmFja2xpbmsgPT0gTlVMTCkKICAgICAgewogLSAgICAg IGNoYXIgKmRlYnVnZmlsZTsKICsgICAgICBjaGFyICpkZWJ1Z2ZpbGUsICpidWlsZF9pZF9maWxl bmFtZTsKQEAgLTkzMiw3ICs5MzIsNyBAQCBJbmRleDogZ2RiLTcuNC45MS4yMDEyMDgwMS9nZGIv ZWxmcmVhZC5jCiAgCiAgICAgICAgaWYgKGRlYnVnZmlsZSA9PSBOVUxMKQogIAlkZWJ1Z2ZpbGUg PSBmaW5kX3NlcGFyYXRlX2RlYnVnX2ZpbGVfYnlfZGVidWdsaW5rIChvYmpmaWxlKTsKLUBAIC0x NDUyLDYgKzIwNTUsMTIgQEAgZWxmX3N5bWZpbGVfcmVhZCAoc3RydWN0IG9iamZpbGUgKm9iamZp bAorQEAgLTE0NjAsNiArMjA2MywxMiBAQCBlbGZfc3ltZmlsZV9yZWFkIChzdHJ1Y3Qgb2JqZmls ZSAqb2JqZmlsCiAgCSAgc3ltYm9sX2ZpbGVfYWRkX3NlcGFyYXRlIChhYmZkLCBzeW1maWxlX2Zs YWdzLCBvYmpmaWxlKTsKICAJICBkb19jbGVhbnVwcyAoY2xlYW51cCk7CiAgCX0KQEAgLTk0NSw3 ICs5NDUsNyBAQCBJbmRleDogZ2RiLTcuNC45MS4yMDEyMDgwMS9nZGIvZWxmcmVhZC5jCiAgICAg IH0KICAKICAgIGlmIChzeW10YWJfY3JlYXRlX2RlYnVnKQotQEAgLTE3ODQsNCArMjM5MywxNiBA QCBfaW5pdGlhbGl6ZV9lbGZyZWFkICh2b2lkKQorQEAgLTE3ODIsNCArMjM5MSwxNiBAQCBfaW5p dGlhbGl6ZV9lbGZyZWFkICh2b2lkKQogIAogICAgZWxmX29iamZpbGVfZ251X2lmdW5jX2NhY2hl X2RhdGEgPSByZWdpc3Rlcl9vYmpmaWxlX2RhdGEgKCk7CiAgICBnbnVfaWZ1bmNfZm5zX3AgPSAm ZWxmX2dudV9pZnVuY19mbnM7CkBAIC05NjIsMTEgKzk2MiwxMSBAQCBJbmRleDogZ2RiLTcuNC45 MS4yMDEyMDgwMS9nZGIvZWxmcmVhZC5jCiArCiArICBvYnNlcnZlcl9hdHRhY2hfZXhlY3V0YWJs ZV9jaGFuZ2VkIChkZWJ1Z19wcmludF9leGVjdXRhYmxlX2NoYW5nZWQpOwogIH0KLUluZGV4OiBn ZGItNy40LjkxLjIwMTIwODAxL2dkYi9zeW1maWxlLmgKK0luZGV4OiBnZGItNy41LjUwLjIwMTMw MjE1L2dkYi9zeW1maWxlLmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy40LjkxLjIwMTIwODAxLm9y aWcvZ2RiL3N5bWZpbGUuaAkyMDEyLTA4LTAxIDE4OjM2OjUxLjAwMDAwMDAwMCArMDIwMAotKysr IGdkYi03LjQuOTEuMjAxMjA4MDEvZ2RiL3N5bWZpbGUuaAkyMDEyLTA4LTAxIDE4OjM3OjQ0LjYw MDkyNTY2MiArMDIwMAotQEAgLTYxNSw2ICs2MTUsMTMgQEAgdm9pZCBmcmVlX3N5bWZpbGVfc2Vn bWVudF9kYXRhIChzdHJ1Y3QgcworLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvc3lt ZmlsZS5oCTIwMTMtMDItMDMgMTc6MjA6MTguMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41 MC4yMDEzMDIxNS9nZGIvc3ltZmlsZS5oCTIwMTMtMDItMTUgMjI6MzU6MDMuMjg4MjE5ODY3ICsw MTAwCitAQCAtNTkzLDYgKzU5MywxMyBAQCB2b2lkIGZyZWVfc3ltZmlsZV9zZWdtZW50X2RhdGEg KHN0cnVjdCBzCiAgCiAgZXh0ZXJuIHN0cnVjdCBjbGVhbnVwICppbmNyZW1lbnRfcmVhZGluZ19z eW10YWIgKHZvaWQpOwogIApAQCAtOTgwLDExICs5ODAsMTEgQEAgSW5kZXg6IGdkYi03LjQuOTEu MjAxMjA4MDEvZ2RiL3N5bWZpbGUuaAogIC8qIEZyb20gZHdhcmYycmVhZC5jICovCiAgCiAgLyog TmFtZXMgZm9yIGEgZHdhcmYyIGRlYnVnZ2luZyBzZWN0aW9uLiAgVGhlIGZpZWxkIE5PUk1BTCBp cyB0aGUgbm9ybWFsCi1JbmRleDogZ2RiLTcuNC45MS4yMDEyMDgwMS9nZGIvdGVzdHN1aXRlL2xp Yi9nZGIuZXhwCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvdGVzdHN1aXRlL2xpYi9n ZGIuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNC45MS4yMDEyMDgwMS5vcmlnL2dkYi90ZXN0 c3VpdGUvbGliL2dkYi5leHAJMjAxMi0wOC0wMSAxODozNjo1MS4wMDAwMDAwMDAgKzAyMDAKLSsr KyBnZGItNy40LjkxLjIwMTIwODAxL2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAJMjAxMi0wOC0w MSAxODozNzo0NC42MDE5MjU2NTYgKzAyMDAKLUBAIC0xMzg4LDYgKzEzODgsMTYgQEAgcHJvYyBk ZWZhdWx0X2dkYl9zdGFydCB7IH0geworLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIv dGVzdHN1aXRlL2xpYi9nZGIuZXhwCTIwMTMtMDItMTUgMjI6MzE6MzcuMDAwMDAwMDAwICswMTAw CisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCTIwMTMt MDItMTUgMjI6MzU6MDMuMjg5MjE5ODcwICswMTAwCitAQCAtMTQ4Miw2ICsxNDgyLDE2IEBAIHBy b2MgZGVmYXVsdF9nZGJfc3RhcnQgeyB9IHsKICAJICAgIHdhcm5pbmcgIkNvdWxkbid0IHNldCB0 aGUgd2lkdGggdG8gMC4iCiAgCX0KICAgICAgfQpAQCAtMTAwMSwxMSArMTAwMSwxMSBAQCBJbmRl eDogZ2RiLTcuNC45MS4yMDEyMDgwMS9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCiAgICAgIHJl dHVybiAwOwogIH0KICAKLUluZGV4OiBnZGItNy40LjkxLjIwMTIwODAxL2dkYi90ZXN0c3VpdGUv bGliL21pLXN1cHBvcnQuZXhwCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvdGVzdHN1 aXRlL2xpYi9taS1zdXBwb3J0LmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjQuOTEuMjAxMjA4 MDEub3JpZy9nZGIvdGVzdHN1aXRlL2xpYi9taS1zdXBwb3J0LmV4cAkyMDEyLTA3LTI1IDIyOjM1 OjMwLjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03LjQuOTEuMjAxMjA4MDEvZ2RiL3Rlc3RzdWl0 ZS9saWIvbWktc3VwcG9ydC5leHAJMjAxMi0wOC0wMSAxODozNzo0NC42MDE5MjU2NTYgKzAyMDAK LUBAIC0yMTMsNiArMjEzLDE2IEBAIHByb2MgZGVmYXVsdF9taV9nZGJfc3RhcnQgeyBhcmdzIH0g eworLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvdGVzdHN1aXRlL2xpYi9taS1zdXBw b3J0LmV4cAkyMDEzLTAxLTIyIDAwOjU3OjU5LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUu NTAuMjAxMzAyMTUvZ2RiL3Rlc3RzdWl0ZS9saWIvbWktc3VwcG9ydC5leHAJMjAxMy0wMi0xNSAy MjozNTowMy4yODkyMTk4NzAgKzAxMDAKK0BAIC0yMTIsNiArMjEyLDE2IEBAIHByb2MgZGVmYXVs dF9taV9nZGJfc3RhcnQgeyBhcmdzIH0gewogIAkgICAgd2FybmluZyAiQ291bGRuJ3Qgc2V0IHRo ZSB3aWR0aCB0byAwLiIKICAJfQogICAgICB9CkBAIC0xMDIyLDEwICsxMDIyLDEwIEBAIEluZGV4 OiBnZGItNy40LjkxLjIwMTIwODAxL2dkYi90ZXN0c3VpdGUvbGliL21pLXN1cHBvcnQuZXhwCiAg ICAgICMgSWYgYWxsb3dpbmcgdGhlIGluZmVyaW9yIHRvIGhhdmUgaXRzIG93biBQVFkgdGhlbiBh c3NpZ24gdGhlIGluZmVyaW9yCiAgICAgICMgaXRzIG93biB0ZXJtaW5hbCBkZXZpY2UgaGVyZS4K ICAgICAgaWYgeyAkc2VwYXJhdGVfaW5mZXJpb3JfcHR5IH0gewotSW5kZXg6IGdkYi03LjQuOTEu MjAxMjA4MDEvZ2RiL29iamZpbGVzLmgKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9v YmpmaWxlcy5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNC45MS4yMDEyMDgwMS5vcmlnL2dkYi9v YmpmaWxlcy5oCTIwMTItMDgtMDEgMTg6MzY6NTEuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcu NC45MS4yMDEyMDgwMS9nZGIvb2JqZmlsZXMuaAkyMDEyLTA4LTAxIDE4OjM3OjQ0LjYwMTkyNTY1 NiArMDIwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvb2JqZmlsZXMuaAkyMDEz LTAxLTAxIDA3OjMyOjQ3LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUv Z2RiL29iamZpbGVzLmgJMjAxMy0wMi0xNSAyMjozNTowMy4yOTAyMTk4NzIgKzAxMDAKIEBAIC00 MzIsNiArNDMyLDEwIEBAIHN0cnVjdCBvYmpmaWxlCiAgCiAgI2RlZmluZSBPQkpGX01BSU5MSU5F ICgxIDw8IDUpCkBAIC0xMDM3LDEwICsxMDM3LDEwIEBAIEluZGV4OiBnZGItNy40LjkxLjIwMTIw ODAxL2dkYi9vYmpmaWxlcy5oCiAgLyogVGhlIG9iamVjdCBmaWxlIHRoYXQgY29udGFpbnMgdGhl IHJ1bnRpbWUgY29tbW9uIG1pbmltYWwgc3ltYm9scwogICAgIGZvciBTdW5PUzQuICBOb3RlIHRo YXQgdGhpcyBvYmpmaWxlIGhhcyBubyBhc3NvY2lhdGVkIEJGRC4gICovCiAgCi1JbmRleDogZ2Ri LTcuNC45MS4yMDEyMDgwMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NvcmVmaWxlLmV4cAorSW5k ZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jb3JlZmlsZS5l eHAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItNy40LjkxLjIwMTIwODAxLm9yaWcvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYmFzZS9jb3JlZmlsZS5leHAJMjAxMi0wNi0yMSAyMjo0NjoyMS4wMDAwMDAwMDAgKzAy MDAKLSsrKyBnZGItNy40LjkxLjIwMTIwODAxL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY29yZWZp bGUuZXhwCTIwMTItMDgtMDEgMTg6Mzc6NDQuNjAyOTI1NjUwICswMjAwCistLS0gZ2RiLTcuNS41 MC4yMDEzMDIxNS5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY29yZWZpbGUuZXhwCTIwMTMt MDEtMDEgMDc6MzM6MjUuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9n ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NvcmVmaWxlLmV4cAkyMDEzLTAyLTE1IDIyOjM1OjAzLjI5 MDIxOTg3MiArMDEwMAogQEAgLTI1NiwzICsyNTYsMzMgQEAgaWYgIVtpc19yZW1vdGUgdGFyZ2V0 XSB7CiAgCiAgICAgIGdkYl9leGl0CgpkaWZmIC0tZ2l0IGEvZ2RiLTYuNi1zY2hlZHVsZXJfbG9j a2luZy1zdGVwLXN3LXdhdGNocG9pbnRzMi5wYXRjaCBiL2dkYi02LjYtc2NoZWR1bGVyX2xvY2tp bmctc3RlcC1zdy13YXRjaHBvaW50czIucGF0Y2gKaW5kZXggMzZiMTBhNS4uNGQ0ZmQ2YiAxMDA2 NDQKLS0tIGEvZ2RiLTYuNi1zY2hlZHVsZXJfbG9ja2luZy1zdGVwLXN3LXdhdGNocG9pbnRzMi5w YXRjaAorKysgYi9nZGItNi42LXNjaGVkdWxlcl9sb2NraW5nLXN0ZXAtc3ctd2F0Y2hwb2ludHMy LnBhdGNoCkBAIC0yMSwxMSArMjEsMTEgQEAKIAogCVBvcnQgdG8gR0RCLTYuOHByZS4KIAotSW5k ZXg6IGdkYi03LjQuNTAuMjAxMjA3MTQvZ2RiL2luZmVyaW9yLmgKK0luZGV4OiBnZGItNy41LjUw LjIwMTMwMjE1L2dkYi9pbmZlcmlvci5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNC41MC4yMDEy MDcxNC5vcmlnL2dkYi9pbmZlcmlvci5oCTIwMTItMDYtMTMgMjA6MTU6MDUuMDAwMDAwMDAwICsw MjAwCi0rKysgZ2RiLTcuNC41MC4yMDEyMDcxNC9nZGIvaW5mZXJpb3IuaAkyMDEyLTA3LTE0IDIz OjIxOjAxLjc5NTE2MTc5NCArMDIwMAotQEAgLTE1OSw3ICsxNTksMTUgQEAgZXh0ZXJuIHZvaWQg cmVvcGVuX2V4ZWNfZmlsZSAodm9pZCk7CistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dk Yi9pbmZlcmlvci5oCTIwMTMtMDEtMTYgMTg6MzE6MzguMDAwMDAwMDAwICswMTAwCisrKysgZ2Ri LTcuNS41MC4yMDEzMDIxNS9nZGIvaW5mZXJpb3IuaAkyMDEzLTAyLTE1IDIyOjMxOjQyLjk5Mzk0 NDk1NyArMDEwMAorQEAgLTE2MCw3ICsxNjAsMTUgQEAgZXh0ZXJuIHZvaWQgcmVvcGVuX2V4ZWNf ZmlsZSAodm9pZCk7CiAgLyogVGhlIGByZXN1bWUnIHJvdXRpbmUgc2hvdWxkIG9ubHkgYmUgY2Fs bGVkIGluIHNwZWNpYWwgY2lyY3Vtc3RhbmNlcy4KICAgICBOb3JtYWxseSwgdXNlIGBwcm9jZWVk Jywgd2hpY2ggaGFuZGxlcyBhIGxvdCBvZiBib29ra2VlcGluZy4gICovCiAgCkBAIC00MiwxMSAr NDIsMTEgQEAgSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA3MTQvZ2RiL2luZmVyaW9yLmgKICAKICBl eHRlcm4gcHRpZF90IHVzZXJfdmlzaWJsZV9yZXN1bWVfcHRpZCAoaW50IHN0ZXApOwogIAotSW5k ZXg6IGdkYi03LjQuNTAuMjAxMjA3MTQvZ2RiL2luZnJ1bi5jCitJbmRleDogZ2RiLTcuNS41MC4y MDEzMDIxNS9nZGIvaW5mcnVuLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy40LjUwLjIwMTIwNzE0 Lm9yaWcvZ2RiL2luZnJ1bi5jCTIwMTItMDctMDEgMTI6Mzc6MDQuMDAwMDAwMDAwICswMjAwCi0r KysgZ2RiLTcuNC41MC4yMDEyMDcxNC9nZGIvaW5mcnVuLmMJMjAxMi0wNy0xNCAyMzoyMTowMS44 MDAxNjE3NjcgKzAyMDAKLUBAIC03OSw3ICs3OSw3IEBAIHN0YXRpYyBpbnQgZm9sbG93X2Zvcmsg KHZvaWQpOworLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvaW5mcnVuLmMJMjAxMy0w MS0zMSAyMDoxODo1OC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dk Yi9pbmZydW4uYwkyMDEzLTAyLTE1IDIyOjM0OjA3LjEzMjE0NDUxOSArMDEwMAorQEAgLTgxLDcg KzgxLDcgQEAgc3RhdGljIGludCBmb2xsb3dfZm9yayAodm9pZCk7CiAgc3RhdGljIHZvaWQgc2V0 X3NjaGVkbG9ja19mdW5jIChjaGFyICphcmdzLCBpbnQgZnJvbV90dHksCiAgCQkJCXN0cnVjdCBj bWRfbGlzdF9lbGVtZW50ICpjKTsKICAKQEAgLTU1LDcgKzU1LDcgQEAgSW5kZXg6IGdkYi03LjQu NTAuMjAxMjA3MTQvZ2RiL2luZnJ1bi5jCiAgCiAgc3RhdGljIGludCBjdXJyZW50bHlfc3RlcHBp bmdfb3JfbmV4dGluZ19jYWxsYmFjayAoc3RydWN0IHRocmVhZF9pbmZvICp0cCwKICAJCQkJCQkg ICB2b2lkICpkYXRhKTsKLUBAIC0xNjcyLDcgKzE2NzIsOCBAQCB1c2VyX3Zpc2libGVfcmVzdW1l X3B0aWQgKGludCBzdGVwKQorQEAgLTE3MDksNyArMTcwOSw4IEBAIHVzZXJfdmlzaWJsZV9yZXN1 bWVfcHRpZCAoaW50IHN0ZXApCiAgICAgIH0KICAgIGVsc2UgaWYgKChzY2hlZHVsZXJfbW9kZSA9 PSBzY2hlZGxvY2tfb24pCiAgCSAgIHx8IChzY2hlZHVsZXJfbW9kZSA9PSBzY2hlZGxvY2tfc3Rl cApAQCAtNjUsNyArNjUsNyBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDcxNC9nZGIvaW5mcnVu LmMKICAgICAgewogICAgICAgIC8qIFVzZXItc2V0dGFibGUgJ3NjaGVkdWxlcicgbW9kZSByZXF1 aXJlcyBzb2xvIHRocmVhZCByZXN1bWUuICAqLwogICAgICAgIHJlc3VtZV9wdGlkID0gaW5mZXJp b3JfcHRpZDsKLUBAIC0xNjkwLDcgKzE2OTEsNyBAQCB1c2VyX3Zpc2libGVfcmVzdW1lX3B0aWQg KGludCBzdGVwKQorQEAgLTE3MjcsNyArMTcyOCw3IEBAIHVzZXJfdmlzaWJsZV9yZXN1bWVfcHRp ZCAoaW50IHN0ZXApCiAgICAgU1RFUCBub256ZXJvIGlmIHdlIHNob3VsZCBzdGVwICh6ZXJvIHRv IGNvbnRpbnVlIGluc3RlYWQpLgogICAgIFNJRyBpcyB0aGUgc2lnbmFsIHRvIGdpdmUgdGhlIGlu ZmVyaW9yICh6ZXJvIGZvciBub25lKS4gICovCiAgdm9pZApAQCAtNzQsNyArNzQsNyBAQCBJbmRl eDogZ2RiLTcuNC41MC4yMDEyMDcxNC9nZGIvaW5mcnVuLmMKICB7CiAgICBpbnQgc2hvdWxkX3Jl c3VtZSA9IDE7CiAgICBzdHJ1Y3QgY2xlYW51cCAqb2xkX2NsZWFudXBzID0gbWFrZV9jbGVhbnVw IChyZXN1bWVfY2xlYW51cHMsIDApOwotQEAgLTE3MjMsOSArMTcyNCwxMyBAQCByZXN1bWUgKGlu dCBzdGVwLCBlbnVtIGdkYl9zaWduYWwgc2lnKQorQEAgLTE3NjAsOSArMTc2MSwxMyBAQCByZXN1 bWUgKGludCBzdGVwLCBlbnVtIGdkYl9zaWduYWwgc2lnKQogIAogICAgaWYgKGRlYnVnX2luZnJ1 bikKICAgICAgZnByaW50Zl91bmZpbHRlcmVkIChnZGJfc3RkbG9nLApAQCAtOTAsNDggKzkwLDQ4 IEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwNzE0L2dkYi9pbmZydW4uYwogIAkJCXRhcmdldF9w aWRfdG9fc3RyIChpbmZlcmlvcl9wdGlkKSwKICAJCQlwYWRkcmVzcyAoZ2RiYXJjaCwgcGMpKTsK ICAKLUBAIC0yMTAyLDcgKzIxMDcsNyBAQCBwcm9jZWVkIChDT1JFX0FERFIgYWRkciwgZW51bSBn ZGJfc2lnbmFsCi0gICBzdHJ1Y3QgdGhyZWFkX2luZm8gKnRwOworQEAgLTIxNDAsNyArMjE0NSw3 IEBAIHByb2NlZWQgKENPUkVfQUREUiBhZGRyLCBlbnVtIGdkYl9zaWduYWwKICAgIENPUkVfQURE UiBwYzsKICAgIHN0cnVjdCBhZGRyZXNzX3NwYWNlICphc3BhY2U7Ci0tICBpbnQgb25lcHJvYyA9 IDA7CisgICAvKiBHREIgbWF5IGZvcmNlIHRoZSBpbmZlcmlvciB0byBzdGVwIGR1ZSB0byB2YXJp b3VzIHJlYXNvbnMuICAqLworLSAgaW50IGZvcmNlX3N0ZXAgPSAwOwogKyAgZW51bSByZXN1bWVf c3RlcCByZXN1bWVfc3RlcCA9IFJFU1VNRV9TVEVQX0NPTlRJTlVFOwogIAogICAgLyogSWYgd2Un cmUgc3RvcHBlZCBhdCBhIGZvcmsvdmZvcmssIGZvbGxvdyB0aGUgYnJhbmNoIHNldCBieSB0aGUK ICAgICAgICJzZXQgZm9sbG93LWZvcmstbW9kZSIgY29tbWFuZDsgb3RoZXJ3aXNlLCB3ZSdsbCBq dXN0IHByb2NlZWQKLUBAIC0yMTQyLDEzICsyMTQ3LDEzIEBAIHByb2NlZWQgKENPUkVfQUREUiBh ZGRyLCBlbnVtIGdkYl9zaWduYWwKK0BAIC0yMTgwLDEzICsyMTg1LDEzIEBAIHByb2NlZWQgKENP UkVfQUREUiBhZGRyLCBlbnVtIGdkYl9zaWduYWwKICAJICAgYWN0dWFsbHkgYmUgZXhlY3V0aW5n IHRoZSBicmVha3BvaW50IGluc24gYW55d2F5LgogIAkgICBXZSdsbCBiZSAodW4tKWV4ZWN1dGlu ZyB0aGUgcHJldmlvdXMgaW5zdHJ1Y3Rpb24uICAqLwogIAotLQlvbmVwcm9jID0gMTsKKy0JZm9y Y2Vfc3RlcCA9IDE7CiArCXJlc3VtZV9zdGVwID0gUkVTVU1FX1NURVBfVVNFUjsKICAgICAgICBl bHNlIGlmIChnZGJhcmNoX3NpbmdsZV9zdGVwX3Rocm91Z2hfZGVsYXlfcCAoZ2RiYXJjaCkKICAJ ICAgICAgICYmIGdkYmFyY2hfc2luZ2xlX3N0ZXBfdGhyb3VnaF9kZWxheSAoZ2RiYXJjaCwKICAJ CQkJCQkgICAgIGdldF9jdXJyZW50X2ZyYW1lICgpKSkKICAJLyogV2Ugc3RlcHBlZCBvbnRvIGFu IGluc3RydWN0aW9uIHRoYXQgbmVlZHMgdG8gYmUgc3RlcHBlZAogIAkgICBhZ2FpbiBiZWZvcmUg cmUtaW5zZXJ0aW5nIHRoZSBicmVha3BvaW50LCBkbyBzby4gICovCi0tCW9uZXByb2MgPSAxOwor LQlmb3JjZV9zdGVwID0gMTsKICsJcmVzdW1lX3N0ZXAgPSBSRVNVTUVfU1RFUF9VU0VSOwogICAg ICB9CiAgICBlbHNlCiAgICAgIHsKLUBAIC0yMTc5LDEzICsyMTg0LDEzIEBAIHByb2NlZWQgKENP UkVfQUREUiBhZGRyLCBlbnVtIGdkYl9zaWduYWwKK0BAIC0yMjE3LDEzICsyMjIyLDEzIEBAIHBy b2NlZWQgKENPUkVfQUREUiBhZGRyLCBlbnVtIGdkYl9zaWduYWwKICAJIGlzIHJlcXVpcmVkIGl0 IHJldHVybnMgVFJVRSBhbmQgc2V0cyB0aGUgY3VycmVudCB0aHJlYWQgdG8KICAJIHRoZSBvbGQg dGhyZWFkLiAgKi8KICAgICAgICBpZiAocHJlcGFyZV90b19wcm9jZWVkIChzdGVwKSkKLS0Jb25l cHJvYyA9IDE7CistCWZvcmNlX3N0ZXAgPSAxOwogKwlyZXN1bWVfc3RlcCA9IFJFU1VNRV9TVEVQ X1VTRVI7CiAgICAgIH0KICAKICAgIC8qIHByZXBhcmVfdG9fcHJvY2VlZCBtYXkgY2hhbmdlIHRo ZSBjdXJyZW50IHRocmVhZC4gICovCiAgICB0cCA9IGluZmVyaW9yX3RocmVhZCAoKTsKICAKLS0g IGlmIChvbmVwcm9jKQorLSAgaWYgKGZvcmNlX3N0ZXApCiArICBpZiAocmVzdW1lX3N0ZXAgPT0g UkVTVU1FX1NURVBfVVNFUikKICAgICAgewogICAgICAgIHRwLT5jb250cm9sLnRyYXBfZXhwZWN0 ZWQgPSAxOwogICAgICAgIC8qIElmIGRpc3BsYWNlZCBzdGVwcGluZyBpcyBlbmFibGVkLCB3ZSBj YW4gc3RlcCBvdmVyIHRoZQotQEAgLTIyNzIsOCArMjI3NywxMyBAQCBwcm9jZWVkIChDT1JFX0FE RFIgYWRkciwgZW51bSBnZGJfc2lnbmFsCitAQCAtMjMxMCw5ICsyMzE1LDEzIEBAIHByb2NlZWQg KENPUkVfQUREUiBhZGRyLCBlbnVtIGdkYl9zaWduYWwKICAgIC8qIFJlc2V0IHRvIG5vcm1hbCBz dGF0ZS4gICovCiAgICBpbml0X2luZndhaXRfc3RhdGUgKCk7CiAgCkBAIC0xNDEsMTIgKzE0MSwx MyBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDcxNC9nZGIvaW5mcnVuLmMKICsgICAgcmVzdW1l X3N0ZXAgPSBSRVNVTUVfU1RFUF9ORUVERUQ7CiArCiAgICAvKiBSZXN1bWUgaW5mZXJpb3IuICAq LwotLSAgcmVzdW1lIChvbmVwcm9jIHx8IHN0ZXAgfHwgYnBzdGF0X3Nob3VsZF9zdGVwICgpLCB0 cC0+c3VzcGVuZC5zdG9wX3NpZ25hbCk7CistICByZXN1bWUgKGZvcmNlX3N0ZXAgfHwgc3RlcCB8 fCBicHN0YXRfc2hvdWxkX3N0ZXAgKCksCistCSAgdHAtPnN1c3BlbmQuc3RvcF9zaWduYWwpOwog KyAgcmVzdW1lIChyZXN1bWVfc3RlcCwgdHAtPnN1c3BlbmQuc3RvcF9zaWduYWwpOwogIAogICAg LyogV2FpdCBmb3IgaXQgdG8gc3RvcCAoaWYgbm90IHN0YW5kYWxvbmUpCiAgICAgICBhbmQgaW4g YW55IGNhc2UgZGVjb2RlIHdoeSBpdCBzdG9wcGVkLCBhbmQgYWN0IGFjY29yZGluZ2x5LiAgKi8K LUBAIC01MjA1LDEzICs1MjE1LDE4IEBAIHByb2Nlc3NfZXZlbnRfc3RvcF90ZXN0OgorQEAgLTUy NDcsMTMgKzUyNTYsMTggQEAgcHJvY2Vzc19ldmVudF9zdG9wX3Rlc3Q6CiAgCiAgLyogSXMgdGhy ZWFkIFRQIGluIHRoZSBtaWRkbGUgb2Ygc2luZ2xlLXN0ZXBwaW5nPyAgKi8KICAKQEAgLTE3MCwx MSArMTcxLDExIEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwNzE0L2dkYi9pbmZydW4uYwogIH0K ICAKICAvKiBSZXR1cm5zIHRydWUgaWYgYW55IHRocmVhZCAqYnV0KiB0aGUgb25lIHBhc3NlZCBp biAiZGF0YSIgaXMgaW4gdGhlCi1JbmRleDogZ2RiLTcuNC41MC4yMDEyMDcxNC9nZGIvbGludXgt bmF0LmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9saW51eC1uYXQuYwogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIGdkYi03LjQuNTAuMjAxMjA3MTQub3JpZy9nZGIvbGludXgtbmF0LmMJMjAxMi0w Ny0wNyAxNDoxMzo1Ni4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNy40LjUwLjIwMTIwNzE0L2dk Yi9saW51eC1uYXQuYwkyMDEyLTA3LTE0IDIzOjIxOjAxLjgwMzE2MTc1MCArMDIwMAotQEAgLTI5 ODIsNyArMjk4MiwxMSBAQCBzdGF0aWMgaW50CistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmln L2dkYi9saW51eC1uYXQuYwkyMDEzLTAyLTEzIDE1OjU5OjQ5LjAwMDAwMDAwMCArMDEwMAorKysr IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2xpbnV4LW5hdC5jCTIwMTMtMDItMTUgMjI6MzE6NDIu OTk3OTQ0OTY3ICswMTAwCitAQCAtMjk3MSw3ICsyOTcxLDExIEBAIHN0YXRpYyBpbnQKICBzZWxl Y3Rfc2luZ2xlc3RlcF9sd3BfY2FsbGJhY2sgKHN0cnVjdCBsd3BfaW5mbyAqbHAsIHZvaWQgKmRh dGEpCiAgewogICAgaWYgKGxwLT5sYXN0X3Jlc3VtZV9raW5kID09IHJlc3VtZV9zdGVwCkBAIC0x ODcsMTAgKzE4OCwxMCBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDcxNC9nZGIvbGludXgtbmF0 LmMKICAgICAgcmV0dXJuIDE7CiAgICBlbHNlCiAgICAgIHJldHVybiAwOwotSW5kZXg6IGdkYi03 LjQuNTAuMjAxMjA3MTQvZ2RiL2xpbnV4LW5hdC5oCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIx NS9nZGIvbGludXgtbmF0LmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy40LjUwLjIwMTIwNzE0Lm9y aWcvZ2RiL2xpbnV4LW5hdC5oCTIwMTItMDctMDYgMTg6NTI6MjAuMDAwMDAwMDAwICswMjAwCi0r KysgZ2RiLTcuNC41MC4yMDEyMDcxNC9nZGIvbGludXgtbmF0LmgJMjAxMi0wNy0xNCAyMzoyMTox Ny40MTQwNzUzNTUgKzAyMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL2xpbnV4 LW5hdC5oCTIwMTMtMDItMTMgMTU6NTk6NDkuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41 MC4yMDEzMDIxNS9nZGIvbGludXgtbmF0LmgJMjAxMy0wMi0xNSAyMjozMTo0Mi45OTg5NDQ5Njkg KzAxMDAKIEBAIC03Myw4ICs3Myw4IEBAIHN0cnVjdCBsd3BfaW5mbwogICAgLyogSWYgbm9uLXpl cm8sIGEgcGVuZGluZyB3YWl0IHN0YXR1cy4gICovCiAgICBpbnQgc3RhdHVzOwoKZGlmZiAtLWdp dCBhL2dkYi02LjgtYXR0YWNoLXNpZ25hbGxlZC1kZXRhY2gtc3RvcHBlZC5wYXRjaCBiL2dkYi02 LjgtYXR0YWNoLXNpZ25hbGxlZC1kZXRhY2gtc3RvcHBlZC5wYXRjaAppbmRleCAxMzk2NmYyLi5i OThlMmYzIDEwMDY0NAotLS0gYS9nZGItNi44LWF0dGFjaC1zaWduYWxsZWQtZGV0YWNoLXN0b3Bw ZWQucGF0Y2gKKysrIGIvZ2RiLTYuOC1hdHRhY2gtc2lnbmFsbGVkLWRldGFjaC1zdG9wcGVkLnBh dGNoCkBAIC0xLDggKzEsOCBAQAotSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA3MDMvZ2RiL2xpbnV4 LW5hdC5jCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvbGludXgtbmF0LmMKID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItNy40LjUwLjIwMTIwNzAzLm9yaWcvZ2RiL2xpbnV4LW5hdC5jCTIwMTIt MDctMDMgMTc6NDY6NTUuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuNC41MC4yMDEyMDcwMy9n ZGIvbGludXgtbmF0LmMJMjAxMi0wNy0wMyAxNzo1NzoyOS42MDg3MzQ5MzMgKzAyMDAKLUBAIC0x ODAsNiArMTgwLDkgQEAgYmxvY2tlZC4gICovCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmln L2dkYi9saW51eC1uYXQuYwkyMDEzLTAyLTE1IDIyOjM4OjA1LjAwMDAwMDAwMCArMDEwMAorKysr IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2xpbnV4LW5hdC5jCTIwMTMtMDItMTUgMjI6NDQ6NTku NjM4OTg1NzE5ICswMTAwCitAQCAtMTgxLDYgKzE4MSw5IEBAIGJsb2NrZWQuICAqLwogIHN0YXRp YyBzdHJ1Y3QgdGFyZ2V0X29wcyAqbGludXhfb3BzOwogIHN0YXRpYyBzdHJ1Y3QgdGFyZ2V0X29w cyBsaW51eF9vcHNfc2F2ZWQ7CiAgCkBAIC0xMiw3ICsxMiw3IEBAIEluZGV4OiBnZGItNy40LjUw LjIwMTIwNzAzL2dkYi9saW51eC1uYXQuYwogIC8qIFRoZSBtZXRob2QgdG8gY2FsbCwgaWYgYW55 LCB3aGVuIGEgbmV3IHRocmVhZCBpcyBhdHRhY2hlZC4gICovCiAgc3RhdGljIHZvaWQgKCpsaW51 eF9uYXRfbmV3X3RocmVhZCkgKHN0cnVjdCBsd3BfaW5mbyAqKTsKICAKLUBAIC05MDksNyArOTEy LDE0IEBAIGhvbGRpbmcgdGhlIGNoaWxkIHN0b3BwZWQuICBUcnkgXCJzZXQgZGUKK0BAIC05MTQs NyArOTE3LDE0IEBAIGhvbGRpbmcgdGhlIGNoaWxkIHN0b3BwZWQuICBUcnkgXCJzZXQgZGUKICAJ ICBwYXJlbnRfaW5mLT53YWl0aW5nX2Zvcl92Zm9ya19kb25lID0gMDsKICAJfQogICAgICAgIGVs c2UgaWYgKGRldGFjaF9mb3JrKQpAQCAtMjgsNyArMjgsNyBAQCBJbmRleDogZ2RiLTcuNC41MC4y MDEyMDcwMy9nZGIvbGludXgtbmF0LmMKICAKICAgICAgICAvKiBOb3RlIHRoYXQgdGhlIGRldGFj aCBhYm92ZSBtYWtlcyBQQVJFTlRfSU5GIGRhbmdsaW5nLiAgKi8KICAKLUBAIC0xMzc3LDYgKzEz ODcsNyBAQCBsaW51eF9uYXRfcG9zdF9hdHRhY2hfd2FpdCAocHRpZF90IHB0aWQsCitAQCAtMTM2 Miw2ICsxMzcyLDcgQEAgbGludXhfbmF0X3Bvc3RfYXR0YWNoX3dhaXQgKHB0aWRfdCBwdGlkLAog ICAgICAgIGlmIChkZWJ1Z19saW51eF9uYXQpCiAgCWZwcmludGZfdW5maWx0ZXJlZCAoZ2RiX3N0 ZGxvZywKICAJCQkgICAgIkxOUEFXOiBBdHRhY2hpbmcgdG8gYSBzdG9wcGVkIHByb2Nlc3NcbiIp OwpAQCAtMzYsNyArMzYsNyBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDcwMy9nZGIvbGludXgt bmF0LmMKICAKICAgICAgICAvKiBUaGUgcHJvY2VzcyBpcyBkZWZpbml0ZWx5IHN0b3BwZWQuICBJ dCBpcyBpbiBhIGpvYiBjb250cm9sCiAgCSBzdG9wLCB1bmxlc3MgdGhlIGtlcm5lbCBwcmVkYXRl cyB0aGUgVEFTS19TVE9QUEVEIC8KLUBAIC0xODA1LDYgKzE4MTYsOSBAQCBnZXRfcGVuZGluZ19z dGF0dXMgKHN0cnVjdCBsd3BfaW5mbyAqbHAsCitAQCAtMTc5MCw2ICsxODAxLDkgQEAgZ2V0X3Bl bmRpbmdfc3RhdHVzIChzdHJ1Y3QgbHdwX2luZm8gKmxwLAogIAkJCSAgICBnZGJfc2lnbmFsX3Rv X3N0cmluZyAoc2lnbm8pKTsKICAgICAgfQogIApAQCAtNDYsNyArNDYsNyBAQCBJbmRleDogZ2Ri LTcuNC41MC4yMDEyMDcwMy9nZGIvbGludXgtbmF0LmMKICAgIHJldHVybiAwOwogIH0KICAKLUBA IC0xOTE4LDYgKzE5MzIsOCBAQCBsaW51eF9uYXRfZGV0YWNoIChzdHJ1Y3QgdGFyZ2V0X29wcyAq b3BzCitAQCAtMTkwMCw2ICsxOTE0LDggQEAgbGludXhfbmF0X2RldGFjaCAoc3RydWN0IHRhcmdl dF9vcHMgKm9wcwogICAgICB9CiAgICBlbHNlCiAgICAgIGxpbnV4X29wcy0+dG9fZGV0YWNoIChv cHMsIGFyZ3MsIGZyb21fdHR5KTsKQEAgLTU1LDcgKzU1LDcgQEAgSW5kZXg6IGdkYi03LjQuNTAu MjAxMjA3MDMvZ2RiL2xpbnV4LW5hdC5jCiAgfQogIAogIC8qIFJlc3VtZSBMUC4gICovCi1AQCAt MjEwNCw2ICsyMTIwLDE0IEBAIGxpbnV4X25hdF9yZXN1bWUgKHN0cnVjdCB0YXJnZXRfb3BzICpv cHMKK0BAIC0yMDg2LDYgKzIxMDIsMTQgQEAgbGludXhfbmF0X3Jlc3VtZSAoc3RydWN0IHRhcmdl dF9vcHMgKm9wcwogICAgICAgbGludXhfbmF0X3Jlc3VtZV9jYWxsYmFjay4gICovCiAgICBscC0+ c3RvcHBlZCA9IDA7CiAgCkBAIC03MCwxOSArNzAsMTkgQEAgSW5kZXg6IGdkYi03LjQuNTAuMjAx MjA3MDMvZ2RiL2xpbnV4LW5hdC5jCiAgICBpZiAocmVzdW1lX21hbnkpCiAgICAgIGl0ZXJhdGVf b3Zlcl9sd3BzIChwdGlkLCBsaW51eF9uYXRfcmVzdW1lX2NhbGxiYWNrLCBOVUxMKTsKICAKLUBA IC00MTI5LDYgKzQxNTMsOCBAQCBsaW51eF9uYXRfbW91cm5faW5mZXJpb3IgKHN0cnVjdCB0YXJn ZXRfCi0gICAgICAgIHRoZXJlIGFyZSBvdGhlciB2aWFibGUgZm9ya3MgdG8gZGVidWcuICBEZWxl dGUgdGhlIGV4aXRpbmcKLSAgICAgICAgb25lIGFuZCBjb250ZXh0LXN3aXRjaCB0byB0aGUgZmly c3QgYXZhaWxhYmxlLiAgKi8KLSAgICAgbGludXhfZm9ya19tb3Vybl9pbmZlcmlvciAoKTsKK0BA IC00MTM3LDYgKzQxNjEsOCBAQCBsaW51eF9uYXRfbW91cm5faW5mZXJpb3IgKHN0cnVjdCB0YXJn ZXRfCisgCisgICAvKiBMZXQgdGhlIGFyY2gtc3BlY2lmaWMgbmF0aXZlIGNvZGUga25vdyB0aGlz IHByb2Nlc3MgaXMgZ29uZS4gICovCisgICBsaW51eF9uYXRfZm9yZ2V0X3Byb2Nlc3MgKHBpZCk7 CiArCiArICBwaWRfd2FzX3N0b3BwZWQgPSAwOwogIH0KICAKICAvKiBDb252ZXJ0IGEgbmF0aXZl L2hvc3Qgc2lnaW5mbyBvYmplY3QsIGludG8vZnJvbSB0aGUgc2lnaW5mbyBpbiB0aGUKLUluZGV4 OiBnZGItNy40LjUwLjIwMTIwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvYXR0YWNoLXN0 b3BwZWQuZXhwCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvdGVzdHN1aXRlL2dkYi50 aHJlYWRzL2F0dGFjaC1zdG9wcGVkLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjQuNTAuMjAx MjA3MDMub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2F0dGFjaC1zdG9wcGVkLmV4cAky MDEyLTA2LTI2IDIxOjIzOjIwLjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03LjQuNTAuMjAxMjA3 MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9hdHRhY2gtc3RvcHBlZC5leHAJMjAxMi0wNy0w MyAxNzo1Njo0My43OTc3OTAxMjAgKzAyMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcv Z2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9hdHRhY2gtc3RvcHBlZC5leHAJMjAxMy0wMS0wMSAw Nzo0MToyNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi90ZXN0 c3VpdGUvZ2RiLnRocmVhZHMvYXR0YWNoLXN0b3BwZWQuZXhwCTIwMTMtMDItMTUgMjI6NDQ6MjMu MjYyOTMwMzEyICswMTAwCiBAQCAtNjEsNyArNjEsNjUgQEAgcHJvYyBjb3JlZnVuYyB7IHRocmVh ZHR5cGUgfSB7CiAgICAgIGdkYl9yZWluaXRpYWxpemVfZGlyICRzcmNkaXIvJHN1YmRpcgogICAg ICBnZGJfbG9hZCAke2JpbmZpbGV9CgpkaWZmIC0tZ2l0IGEvZ2RiLTYuOC1iejI1NDIyOS1nY29y ZS1wcnBzaW5mby5wYXRjaCBiL2dkYi02LjgtYnoyNTQyMjktZ2NvcmUtcHJwc2luZm8ucGF0Y2gK ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAzNzU1NmYuLjAwMDAwMDAKLS0tIGEvZ2Ri LTYuOC1iejI1NDIyOS1nY29yZS1wcnBzaW5mby5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI4 MCArMCwwIEBACi1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9iZmQvZWxmLWJmZC5oCi09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2JmZC9lbGYtYmZkLmgJMjAxMy0w MS0xOCAyMzowMjo1NC44MDkwMDQ0NzMgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2Jm ZC9lbGYtYmZkLmgJMjAxMy0wMS0xOCAyMzowMjo1OS4zMTYwMTA3NTUgKzAxMDAKLUBAIC0yMjQy LDggKzIyNDIsMTAgQEAgZXh0ZXJuIEVsZl9JbnRlcm5hbF9QaGRyICogX2JmZF9lbGZfZmluZAot IC8qIEV4cG9ydGVkIGludGVyZmFjZSBmb3Igd3JpdGluZyBlbGYgY29yZWZpbGUgbm90ZXMuICov Ci0gZXh0ZXJuIGNoYXIgKmVsZmNvcmVfd3JpdGVfbm90ZQotICAgKGJmZCAqLCBjaGFyICosIGlu dCAqLCBjb25zdCBjaGFyICosIGludCwgY29uc3Qgdm9pZCAqLCBpbnQpOwotK3N0cnVjdCBlbGZf cHJwc2luZm87Ci0rdHlwZWRlZiBzdHJ1Y3QgZWxmX3BycHNpbmZvIHBycHNpbmZvX3Q7Ci0gZXh0 ZXJuIGNoYXIgKmVsZmNvcmVfd3JpdGVfcHJwc2luZm8KLS0gIChiZmQgKiwgY2hhciAqLCBpbnQg KiwgY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopOwotKyAgKGJmZCAqLCBjaGFyICosIGludCAq LCBjb25zdCBwcnBzaW5mb190ICopOwotIGV4dGVybiBjaGFyICplbGZjb3JlX3dyaXRlX3Byc3Rh dHVzCi0gICAoYmZkICosIGNoYXIgKiwgaW50ICosIGxvbmcsIGludCwgY29uc3Qgdm9pZCAqKTsK LSBleHRlcm4gY2hhciAqIGVsZmNvcmVfd3JpdGVfcHN0YXR1cwotSW5kZXg6IGdkYi03LjUuNTAu MjAxMzAxMTgvYmZkL2VsZi5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5v cmlnL2JmZC9lbGYuYwkyMDEzLTAxLTE4IDIzOjAyOjU0LjgxMjAwNDQ3OSArMDEwMAotKysrIGdk Yi03LjUuNTAuMjAxMzAxMTgvYmZkL2VsZi5jCTIwMTMtMDEtMTggMjM6MDI6NTkuMzE5MDEwODM2 ICswMTAwCi1AQCAtOTEwMyw1NiArOTEwMyw2MSBAQCBjaGFyICoKLSBlbGZjb3JlX3dyaXRlX3By cHNpbmZvIChiZmQgICphYmZkLAotIAkJCWNoYXIgKmJ1ZiwKLSAJCQlpbnQgICpidWZzaXosCi0t CQkJY29uc3QgY2hhciAqZm5hbWUsCi0tCQkJY29uc3QgY2hhciAqcHNhcmdzKQotKwkJCWNvbnN0 IHBycHNpbmZvX3QgKmlucHV0KQotIHsKLSAgIGNvbnN0IHN0cnVjdCBlbGZfYmFja2VuZF9kYXRh ICpiZWQgPSBnZXRfZWxmX2JhY2tlbmRfZGF0YSAoYWJmZCk7Ci0gCi0gICBpZiAoYmVkLT5lbGZf YmFja2VuZF93cml0ZV9jb3JlX25vdGUgIT0gTlVMTCkKLSAgICAgewotICAgICAgIGNoYXIgKnJl dDsKLSsgICAgICBjaGFyIGZuYW1lW3NpemVvZiAoaW5wdXQtPnByX2ZuYW1lKSArIDFdOwotKyAg ICAgIGNoYXIgcHNhcmdzW3NpemVvZiAoaW5wdXQtPnByX3BzYXJncykgKyAxXTsKLSsKLSsgICAg ICBzdHJuY3B5IChmbmFtZSwgaW5wdXQtPnByX2ZuYW1lLCBzaXplb2YgKGlucHV0LT5wcl9mbmFt ZSkpOwotKyAgICAgIGZuYW1lW3NpemVvZiAoaW5wdXQtPnByX2ZuYW1lKV0gPSAwOwotKyAgICAg IHN0cm5jcHkgKHBzYXJncywgaW5wdXQtPnByX3BzYXJncywgc2l6ZW9mIChpbnB1dC0+cHJfcHNh cmdzKSk7Ci0rICAgICAgcHNhcmdzW3NpemVvZiAoaW5wdXQtPnByX3BzYXJncyldID0gMDsKLSsK LSAgICAgICByZXQgPSAoKmJlZC0+ZWxmX2JhY2tlbmRfd3JpdGVfY29yZV9ub3RlKSAoYWJmZCwg YnVmLCBidWZzaXosCi0gCQkJCQkJIE5UX1BSUFNJTkZPLCBmbmFtZSwgcHNhcmdzKTsKLSAgICAg ICBpZiAocmV0ICE9IE5VTEwpCi0gCXJldHVybiByZXQ7Ci0gICAgIH0KLSAKLS0jaWYgZGVmaW5l ZCAoSEFWRV9QUlBTSU5GT19UKSB8fCBkZWZpbmVkIChIQVZFX1BTSU5GT19UKQotLSNpZiBkZWZp bmVkIChIQVZFX1BSUFNJTkZPMzJfVCkgfHwgZGVmaW5lZCAoSEFWRV9QU0lORk8zMl9UKQotKyNp ZiBkZWZpbmVkIChIQVZFX1BSUFNJTkZPX1QpCi0rI2lmIGRlZmluZWQgKEhBVkVfUFJQU0lORk8z Ml9UKQotICAgaWYgKGJlZC0+cy0+ZWxmY2xhc3MgPT0gRUxGQ0xBU1MzMikKLSAgICAgewotLSNp ZiBkZWZpbmVkIChIQVZFX1BTSU5GTzMyX1QpCi0tICAgICAgcHNpbmZvMzJfdCBkYXRhOwotLSAg ICAgIGludCBub3RlX3R5cGUgPSBOVF9QU0lORk87Ci0tI2Vsc2UKLSAgICAgICBwcnBzaW5mbzMy X3QgZGF0YTsKLSAgICAgICBpbnQgbm90ZV90eXBlID0gTlRfUFJQU0lORk87Ci0tI2VuZGlmCi0g Ci0tICAgICAgbWVtc2V0ICgmZGF0YSwgMCwgc2l6ZW9mIChkYXRhKSk7Ci0tICAgICAgc3RybmNw eSAoZGF0YS5wcl9mbmFtZSwgZm5hbWUsIHNpemVvZiAoZGF0YS5wcl9mbmFtZSkpOwotLSAgICAg IHN0cm5jcHkgKGRhdGEucHJfcHNhcmdzLCBwc2FyZ3MsIHNpemVvZiAoZGF0YS5wcl9wc2FyZ3Mp KTsKLSsgICAgICBkYXRhLnByX3N0YXRlID0gaW5wdXQtPnByX3N0YXRlOwotKyAgICAgIGRhdGEu cHJfc25hbWUgPSBpbnB1dC0+cHJfc25hbWU7Ci0rICAgICAgZGF0YS5wcl96b21iID0gaW5wdXQt PnByX3pvbWI7Ci0rICAgICAgZGF0YS5wcl9uaWNlID0gaW5wdXQtPnByX25pY2U7Ci0rICAgICAg ZGF0YS5wcl9mbGFnID0gaW5wdXQtPnByX2ZsYWc7Ci0rICAgICAgZGF0YS5wcl91aWQgPSBpbnB1 dC0+cHJfdWlkOwotKyAgICAgIGRhdGEucHJfZ2lkID0gaW5wdXQtPnByX2dpZDsKLSsgICAgICBk YXRhLnByX3BpZCA9IGlucHV0LT5wcl9waWQ7Ci0rICAgICAgZGF0YS5wcl9wcGlkID0gaW5wdXQt PnByX3BwaWQ7Ci0rICAgICAgZGF0YS5wcl9wZ3JwID0gaW5wdXQtPnByX3BncnA7Ci0rICAgICAg ZGF0YS5wcl9zaWQgPSBpbnB1dC0+cHJfc2lkOwotKyAgICAgIEJGRF9BU1NFUlQgKHNpemVvZiAo ZGF0YS5wcl9mbmFtZSkgPT0gc2l6ZW9mIChpbnB1dC0+cHJfZm5hbWUpKTsKLSsgICAgICBtZW1j cHkgKGRhdGEucHJfZm5hbWUsIGlucHV0LT5wcl9mbmFtZSwgc2l6ZW9mIChkYXRhLnByX2ZuYW1l KSk7Ci0rICAgICAgQkZEX0FTU0VSVCAoc2l6ZW9mIChkYXRhLnByX3BzYXJncykgPT0gc2l6ZW9m IChpbnB1dC0+cHJfcHNhcmdzKSk7Ci0rICAgICAgbWVtY3B5IChkYXRhLnByX3BzYXJncywgaW5w dXQtPnByX3BzYXJncywgc2l6ZW9mIChkYXRhLnByX3BzYXJncykpOwotICAgICAgIHJldHVybiBl bGZjb3JlX3dyaXRlX25vdGUgKGFiZmQsIGJ1ZiwgYnVmc2l6LAotIAkJCQkgIkNPUkUiLCBub3Rl X3R5cGUsICZkYXRhLCBzaXplb2YgKGRhdGEpKTsKLSAgICAgfQotICAgZWxzZQotICNlbmRpZgot ICAgICB7Ci0tI2lmIGRlZmluZWQgKEhBVkVfUFNJTkZPX1QpCi0tICAgICAgcHNpbmZvX3QgZGF0 YTsKLS0gICAgICBpbnQgbm90ZV90eXBlID0gTlRfUFNJTkZPOwotLSNlbHNlCi0tICAgICAgcHJw c2luZm9fdCBkYXRhOwotICAgICAgIGludCBub3RlX3R5cGUgPSBOVF9QUlBTSU5GTzsKLS0jZW5k aWYKLSAKLS0gICAgICBtZW1zZXQgKCZkYXRhLCAwLCBzaXplb2YgKGRhdGEpKTsKLS0gICAgICBz dHJuY3B5IChkYXRhLnByX2ZuYW1lLCBmbmFtZSwgc2l6ZW9mIChkYXRhLnByX2ZuYW1lKSk7Ci0t ICAgICAgc3RybmNweSAoZGF0YS5wcl9wc2FyZ3MsIHBzYXJncywgc2l6ZW9mIChkYXRhLnByX3Bz YXJncykpOwotICAgICAgIHJldHVybiBlbGZjb3JlX3dyaXRlX25vdGUgKGFiZmQsIGJ1ZiwgYnVm c2l6LAotLQkJCQkgIkNPUkUiLCBub3RlX3R5cGUsICZkYXRhLCBzaXplb2YgKGRhdGEpKTsKLSsJ CQkJICJDT1JFIiwgbm90ZV90eXBlLCBpbnB1dCwgc2l6ZW9mICgqaW5wdXQpKTsKLSAgICAgfQot LSNlbmRpZgkvKiBQU0lORk9fVCBvciBQUlBTSU5GT19UICovCi0rI2VuZGlmCS8qIFBSUFNJTkZP X1QgKi8KLSAKLSAgIGZyZWUgKGJ1Zik7Ci0gICByZXR1cm4gTlVMTDsKLUluZGV4OiBnZGItNy41 LjUwLjIwMTMwMTE4L2dkYi9wcm9jZnMuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAx MzAxMTgub3JpZy9nZGIvcHJvY2ZzLmMJMjAxMy0wMS0xOCAyMzowMjo1NC44MTUwMDQ0ODcgKzAx MDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9wcm9jZnMuYwkyMDEzLTAxLTE4IDIzOjAy OjU5LjMyMDAxMDg2MSArMDEwMAotQEAgLTU1MDIsNiArNTUwMiw3IEBAIHByb2Nmc19tYWtlX25v dGVfc2VjdGlvbiAoYmZkICpvYmZkLCBpbnQKLSAgIG5vdGVfZGF0YSA9IChjaGFyICopIGVsZmNv cmVfd3JpdGVfcHJwc2luZm8gKG9iZmQsCi0gCQkJCQkgICAgICAgbm90ZV9kYXRhLAotIAkJCQkJ ICAgICAgIG5vdGVfc2l6ZSwKLSsJCQkJCSAgICAgICBOVUxMLAotIAkJCQkJICAgICAgIGZuYW1l LAotIAkJCQkJICAgICAgIHBzYXJncyk7Ci0gCi1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9n ZGIvbGludXgtdGRlcC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmln L2dkYi9saW51eC10ZGVwLmMJMjAxMy0wMS0xOCAyMzowMjo1NC44MTYwMDQ0ODkgKzAxMDAKLSsr KyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9saW51eC10ZGVwLmMJMjAxMy0wMS0xOCAyMzowMzox MC43MjcwMjczMTcgKzAxMDAKLUBAIC0zMiw2ICszMiw3IEBACi0gI2luY2x1ZGUgImNsaS9jbGkt dXRpbHMuaCIKLSAjaW5jbHVkZSAiYXJjaC11dGlscy5oIgotICNpbmNsdWRlICJnZGJfb2JzdGFj ay5oIgotKyNpbmNsdWRlIDxzeXMvcHJvY2ZzLmg+Ci0gCi0gI2luY2x1ZGUgPGN0eXBlLmg+Ci0g Ci1AQCAtMTE1Myw2ICsxMTU0LDEzMSBAQCBsaW51eF9jb3JlZmlsZV90aHJlYWRfY2FsbGJhY2sg KHN0cnVjdCB0Ci0gICByZXR1cm4gIWFyZ3MtPm5vdGVfZGF0YTsKLSB9Ci0gCi0rLyogU2hvdWxk IGJlIGFsd2F5cyB0cnVlIGZvciBMaW51eCAqLwotKyNkZWZpbmUgSEFWRV9QUlBTSU5GT19UIDEK LSsKLSsjaWYgZGVmaW5lZCAoSEFWRV9QUlBTSU5GT19UKQotKwotKy8qIEZpbGxzIHN0cnVjdCBl bGZfcHJwc2luZm97MzIsNjR9IGFzIG11Y2ggYXMgcG9zc2libGUsIGltaXRhdGUgTGludXgga2Vy bmVsCi0rICAgYmluZm10X2VsZi5jLiAgVW5rbm93biB2YWx1ZXMgYXJlIGZpbGxlZCB3aXRoIHpl cm9lcy4gIFRoZSBzdHJ1Y3R1cmUgaXMKLSsgICBtYWxsb2NlZC4gICovCi0rCi0rc3RhdGljIGNv bnN0IHBycHNpbmZvX3QgKgotK2ZpbGxfcHJwc2luZm8gKHZvaWQpCi0rewotKyAgc3RydWN0IHN0 YXQgc2I7Ci0rICBjaGFyIGZpbGVuYW1lW3NpemVvZiAoIi9wcm9jLy9jbWRsaW5lIikgKyBzaXpl b2YgKGludCkgKiAzICsgMl07Ci0rICBjaGFyIGJ1ZlsxMDI0XTsKLSsgIGNoYXIgcHJvY19zdGF0 ZVs1XTsKLSsgIGNoYXIgcHJvY19jbWRsaW5lW3NpemVvZiAoKChzdHJ1Y3QgZWxmX3BycHNpbmZv KikwKS0+cHJfcHNhcmdzKSArIDFdOwotKyAgdW5zaWduZWQgZmxhZ3M7Ci0rICBsb25nIHByb2Nf bmljZTsKLSsgIHVuc2lnbmVkIHByb2NfcHBpZDsKLSsgIHVuc2lnbmVkIHByb2NfcGdpZDsKLSsg IHVuc2lnbmVkIHByb2Nfc2lkOwotKyAgcGlkX3QgcGlkOwotKyAgaW50IGZkLCBuOwotKyAgY2hh ciAqY3AsICpwcm9jX2NvbW0sICpzdGF0ZV9zOwotKyAgLyogU3RyaW5nIGNvbWVzIGZyb20gTGlu dXgga2VybmVsIGJpbmZtdF9lbGYuYyBGSUxMX1BTSU5GTyBidXQgaXQgaXMgYWxyZWFkeQotKyAg ICAgb2Jzb2xldGUgdGhlcmUgdG8gPGxpbnV4L3NjaGVkLmg+IFRBU0tfKiBjb25zdGFudHMuICAq LwotKyAgY29uc3QgY2hhciBzdGF0ZV9zdHJpbmdbXSA9ICJSU0RUWlciOwotKyAgaW50IHN0YXRl X251bTsKLSsgIHN0YXRpYyBwcnBzaW5mb190IHJldHZhbDsKLSsKLSsgIC8qIEdldCAvcHJvYy8k UElEL3N0YXQuICAqLwotKyAgcGlkID0gcHRpZF9nZXRfcGlkIChpbmZlcmlvcl9wdGlkKTsKLSsg IHNwcmludGYgKGZpbGVuYW1lLCAiL3Byb2MvJXUvc3RhdCIsICh1bnNpZ25lZClwaWQpOwotKyAg ZmQgPSBvcGVuIChmaWxlbmFtZSwgT19SRE9OTFkpOwotKyAgaWYgKGZkIDwgMCkKLSsgICAgcmV0 dXJuIE5VTEw7Ci0rICBmc3RhdCAoZmQsICZzYik7IC8qIE5vIGVycm9yIGNoZWNraW5nIChjYW4g aXQgZXZlciBoYXBwZW4/KS4gICovCi0rICBuID0gcmVhZCAoZmQsIGJ1Ziwgc2l6ZW9mIChidWYp IC0gMSk7Ci0rICBjbG9zZSAoZmQpOwotKyAgaWYgKG4gPCAwKQotKyAgICByZXR1cm4gTlVMTDsK LSsgIGJ1ZltuXSA9IDA7Ci0rCi0rICBjcCA9IHN0cnJjaHIgKGJ1ZiwgJyknKTsgLyogU3BsaXQg aW50byAiUElEIChDT01NIiBhbmQgIjxyZXN0PiIuICAqLwotKyAgaWYgKCFjcCkKLSsgICAgcmV0 dXJuIE5VTEw7Ci0rICAqY3AgPSAwOwotKwotKyAgLyogR3JhYiBDT01NLiAgKi8KLSsgIHByb2Nf Y29tbSA9IHN0cmNociAoYnVmLCAnKCcpOwotKyAgaWYgKCFwcm9jX2NvbW0pCi0rICAgIHJldHVy biBOVUxMOwotKyAgcHJvY19jb21tKys7Ci0rCi0rICAvKiBSZWFkIC9wcm9jLyRQSUQvY21kbGlu ZS4gICovCi0rICBwcm9jX2NtZGxpbmVbMF0gPSAwOwotKyAgc3RyY3B5IChzdHJyY2hyIChmaWxl bmFtZSwgJy8nKSwgIi9jbWRsaW5lIik7Ci0rICBmZCA9IG9wZW4gKGZpbGVuYW1lLCBPX1JET05M WSk7Ci0rICBpZiAoZmQgPj0gMCkKLSsgICAgewotKyAgICAgIGludCBuOwotKwotKyAgICAgIG4g PSByZWFkIChmZCwgcHJvY19jbWRsaW5lLCBzaXplb2YgKHByb2NfY21kbGluZSkgLSAxKTsKLSsg ICAgICBpZiAobiA8IDApCi0rCW4gPSAwOwotKyAgICAgIHByb2NfY21kbGluZVtuXSA9IDA7Ci0r ICAgICAgd2hpbGUgKG4tLSkgLyogUmVwbGFjZSBOVUxzIHdpdGggc3BhY2VzLiAgKi8KLSsJaWYg KHByb2NfY21kbGluZVtuXSA9PSAwKQotKwkgIHByb2NfY21kbGluZVtuXSA9ICcgJzsKLSsgICAg ICBjbG9zZSAoZmQpOwotKyAgICB9Ci0rCi0rICAvKiBQYXJzZSAvcHJvYy8kUElEL3N0YXQuICAq LwotKyAgbiA9IHNzY2FuZiAoY3AgKyAyLCAvKiBza2lwICIpICIgKi8KLSsJICAgICAgIiU0cyAl dSAiICAgICAgICAgIC8qIHN0YXRlLCBwcGlkICovCi0rCSAgICAgICIldSAldSAlKnMgJSpzICIg ICAvKiBwZ2lkLCBzaWQsIHR0eSwgdHBnaWQgKi8KLSsJICAgICAgIiV1ICUqcyAlKnMgJSpzICIg IC8qIGZsYWdzLCBtaW5fZmx0LCBjbWluX2ZsdCwgbWFqX2ZsdCAqLwotKwkgICAgICAiJSpzICIg ICAgICAgICAgICAgLyogY21hal9mbHQgKi8KLSsJICAgICAgIiUqcyAlKnMgIiAgICAgICAgIC8q IHV0aW1lLCBzdGltZSAqLwotKwkgICAgICAiJSpzICUqcyAlKnMgIiAgICAgLyogY3V0aW1lLCBj c3RpbWUsIHByaW9yaXR5ICovCi0rCSAgICAgICIlbGQgIiAgICAgICAgICAgICAvKiBuaWNlICov Ci0rCSAgICAgIC8qIiUqcyAlKnMgIiAgICAgICAgICB0aW1lb3V0LCBpdF9yZWFsX3ZhbHVlICov Ci0rCSAgICAgIC8qIiVsdSAiICAgICAgICAgICAgICBzdGFydF90aW1lICovCi0rCSAgICAgIC8q IiVsdSAiICAgICAgICAgICAgICB2c2l6ZSAqLwotKwkgICAgICAvKiIlbHUgIiAgICAgICAgICAg ICAgcnNzICovCi0rCSAgICAgIC8qIiVsdSAlbHUgJWx1ICIgICAgICByc3NfcmxpbSwgc3RhcnRf Y29kZSwgZW5kX2NvZGUgKi8KLSsJICAgICAgLyoiJWx1ICVsdSAlbHUgIiAgICAgIHN0YXJ0X3N0 YWNrLCBrc3RrX2VzcCwga3N0a19laXAgKi8KLSsJICAgICAgLyoiJXUgJXUgJXUgJXUgIiAgICAg IHNpZ25hbCwgYmxvY2tlZCwgc2lnaWdub3JlLCBzaWdjYXRjaCAqLwotKwkgICAgICAvKiIlbHUg JWx1ICVsdSIgICAgICAgd2NoYW4sIG5zd2FwLCBjbnN3YXAgKi8KLSsJICAgICAgLCBwcm9jX3N0 YXRlLCAmcHJvY19wcGlkLAotKwkgICAgICAmcHJvY19wZ2lkLCAmcHJvY19zaWQsCi0rCSAgICAg ICZmbGFncywKLSsJICAgICAgJnByb2NfbmljZSk7Ci0rICBpZiAobiAhPSA2KQotKyAgICByZXR1 cm4gTlVMTDsKLSsKLSsgIHN0YXRlX3MgPSBzdHJjaHIgKHN0YXRlX3N0cmluZywgcHJvY19zdGF0 ZVswXSk7Ci0rICBpZiAoc3RhdGVfcyAhPSBOVUxMKQotKyAgICBzdGF0ZV9udW0gPSBzdGF0ZV9z IC0gc3RhdGVfc3RyaW5nOwotKyAgZWxzZQotKyAgICB7Ci0rICAgICAgLyogMCBtZWFucyBSdW5u aW5nLCBzb21lIG1vcmUgdW51c2FsIHN0YXRlIHdvdWxkIGJlIGJldHRlci4gICovCi0rICAgICAg c3RhdGVfbnVtID0gMDsKLSsgICAgfQotKwotKyAgbWVtc2V0ICgmcmV0dmFsLCAwLCBzaXplb2Yg KHJldHZhbCkpOwotKyAgcmV0dmFsLnByX3N0YXRlID0gc3RhdGVfbnVtOwotKyAgcmV0dmFsLnBy X3NuYW1lID0gcHJvY19zdGF0ZVswXTsKLSsgIHJldHZhbC5wcl96b21iID0gKHByb2Nfc3RhdGVb MF0gPT0gJ1onKTsKLSsgIHJldHZhbC5wcl9uaWNlID0gcHJvY19uaWNlOwotKyAgcmV0dmFsLnBy X2ZsYWcgPSBmbGFnczsKLSsgIHJldHZhbC5wcl91aWQgPSBzYi5zdF91aWQ7Ci0rICByZXR2YWwu cHJfZ2lkID0gc2Iuc3RfZ2lkOwotKyAgcmV0dmFsLnByX3BpZCA9IHBpZDsKLSsgIHJldHZhbC5w cl9wcGlkID0gcHJvY19wcGlkOwotKyAgcmV0dmFsLnByX3BncnAgPSBwcm9jX3BnaWQ7Ci0rICBy ZXR2YWwucHJfc2lkID0gcHJvY19zaWQ7Ci0rICBzdHJuY3B5IChyZXR2YWwucHJfZm5hbWUsIHBy b2NfY29tbSwgc2l6ZW9mIChyZXR2YWwucHJfZm5hbWUpKTsKLSsgIHN0cm5jcHkgKHJldHZhbC5w cl9wc2FyZ3MsIHByb2NfY21kbGluZSwgc2l6ZW9mIChyZXR2YWwucHJfcHNhcmdzKSk7Ci0rCi0r ICByZXR1cm4gJnJldHZhbDsKLSt9Ci0rI2VuZGlmCi0rCi0gLyogRmlsbHMgdGhlICJ0b19tYWtl X2NvcmVmaWxlX25vdGUiIHRhcmdldCB2ZWN0b3IuICBCdWlsZHMgdGhlIG5vdGUKLSAgICBzZWN0 aW9uIGZvciBhIGNvcmVmaWxlLCBhbmQgcmV0dXJucyBpdCBpbiBhIG1hbGxvYyBidWZmZXIuICAq LwotIAotQEAgLTExNjgsMTYgKzEyOTQsOSBAQCBsaW51eF9tYWtlX2NvcmVmaWxlX25vdGVzIChz dHJ1Y3QgZ2RiYXJjCi0gICAvKiBQcm9jZXNzIGluZm9ybWF0aW9uLiAgKi8KLSAgIGlmIChnZXRf ZXhlY19maWxlICgwKSkKLSAgICAgewotLSAgICAgIGNvbnN0IGNoYXIgKmZuYW1lID0gbGJhc2Vu YW1lIChnZXRfZXhlY19maWxlICgwKSk7Ci0tICAgICAgY2hhciAqcHNhcmdzID0geHN0cmR1cCAo Zm5hbWUpOwotKyAgICAgIGNvbnN0IHBycHNpbmZvX3QgKmRhdGEgPSBmaWxsX3BycHNpbmZvICgp OwotIAotLSAgICAgIGlmIChnZXRfaW5mZXJpb3JfYXJncyAoKSkKLS0gICAgICAgIHBzYXJncyA9 IHJlY29uY2F0IChwc2FyZ3MsIHBzYXJncywgIiAiLCBnZXRfaW5mZXJpb3JfYXJncyAoKSwKLS0J CQkgICAoY2hhciAqKSBOVUxMKTsKLS0KLS0gICAgICBub3RlX2RhdGEgPSBlbGZjb3JlX3dyaXRl X3BycHNpbmZvIChvYmZkLCBub3RlX2RhdGEsIG5vdGVfc2l6ZSwKLS0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBmbmFtZSwgcHNhcmdzKTsKLS0gICAgICB4ZnJlZSAo cHNhcmdzKTsKLSsgICAgICBub3RlX2RhdGEgPSBlbGZjb3JlX3dyaXRlX3BycHNpbmZvIChvYmZk LCBub3RlX2RhdGEsIG5vdGVfc2l6ZSwgZGF0YSk7Ci0gCi0gICAgICAgaWYgKCFub3RlX2RhdGEp Ci0gCXJldHVybiBOVUxMOwoKZGlmZiAtLWdpdCBhL2dkYi1hcmNoZXItcGllLWFkZG9ucy1rZWVw LWRpc2FibGVkLnBhdGNoIGIvZ2RiLWFyY2hlci1waWUtYWRkb25zLWtlZXAtZGlzYWJsZWQucGF0 Y2gKaW5kZXggZTZhZDM1Ni4uZTY3YzMzNiAxMDA2NDQKLS0tIGEvZ2RiLWFyY2hlci1waWUtYWRk b25zLWtlZXAtZGlzYWJsZWQucGF0Y2gKKysrIGIvZ2RiLWFyY2hlci1waWUtYWRkb25zLWtlZXAt ZGlzYWJsZWQucGF0Y2gKQEAgLTEsOCArMSw4IEBACi1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDEx OC9nZGIvYnJlYWtwb2ludC5jCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvYnJlYWtw b2ludC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi9icmVh a3BvaW50LmMJMjAxMy0wMS0xOCAyMzowOTo1My43Mjc1OTc1ODQgKzAxMDAKLSsrKyBnZGItNy41 LjUwLjIwMTMwMTE4L2dkYi9icmVha3BvaW50LmMJMjAxMy0wMS0xOCAyMzoxMDoyMC4xNTg2MzUw NjUgKzAxMDAKLUBAIC0xNTk5Myw2ICsxNTk5Myw1MCBAQCBpbml0aWFsaXplX2JyZWFrcG9pbnRf b3BzICh2b2lkKQorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvYnJlYWtwb2ludC5j CTIwMTMtMDItMTUgMjI6MzE6MzcuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEz MDIxNS9nZGIvYnJlYWtwb2ludC5jCTIwMTMtMDItMTUgMjI6Mzc6MDguMjE2MzgxOTg4ICswMTAw CitAQCAtMTYwMjAsNiArMTYwMjAsNTAgQEAgaW5pdGlhbGl6ZV9icmVha3BvaW50X29wcyAodm9p ZCkKICBzdGF0aWMgc3RydWN0IGNtZF9saXN0X2VsZW1lbnQgKmVuYWJsZWJyZWFrbGlzdCA9IE5V TEw7CiAgCiAgdm9pZApAQCAtNTMsMjMgKzUzLDIzIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMw MTE4L2dkYi9icmVha3BvaW50LmMKICBfaW5pdGlhbGl6ZV9icmVha3BvaW50ICh2b2lkKQogIHsK ICAgIHN0cnVjdCBjbWRfbGlzdF9lbGVtZW50ICpjOwotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAx MTgvZ2RiL2JyZWFrcG9pbnQuaAorSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2JyZWFr cG9pbnQuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvYnJl YWtwb2ludC5oCTIwMTMtMDEtMTggMjM6MDk6NTEuNjcxNTk0NTg1ICswMTAwCi0rKysgZ2RiLTcu NS41MC4yMDEzMDExOC9nZGIvYnJlYWtwb2ludC5oCTIwMTMtMDEtMTggMjM6MDk6NTMuNzI4NTk3 NTg2ICswMTAwCi1AQCAtMTU1MCw0ICsxNTUwLDcgQEAgZXh0ZXJuIHN0cnVjdCBnZGJhcmNoICpn ZXRfc2FsX2FyY2ggKHN0cgorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvYnJlYWtw b2ludC5oCTIwMTMtMDItMDMgMTY6NTc6MDYuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41 MC4yMDEzMDIxNS9nZGIvYnJlYWtwb2ludC5oCTIwMTMtMDItMTUgMjI6Mzc6MTkuMDI1Mzk1Njkz ICswMTAwCitAQCAtMTU1Niw0ICsxNTU2LDcgQEAgZXh0ZXJuIHZvaWQgaGFuZGxlX3NvbGliX2V2 ZW50ICh2b2lkKTsKICAKLSBleHRlcm4gdm9pZCBoYW5kbGVfc29saWJfZXZlbnQgKHZvaWQpOwor IGV4dGVybiB2b2lkIGJyZWFrcG9pbnRfZnJlZV9vYmpmaWxlIChzdHJ1Y3Qgb2JqZmlsZSAqb2Jq ZmlsZSk7CiAgCiArZXh0ZXJuIHZvaWQgYnJlYWtwb2ludHNfcmVsb2NhdGUgKHN0cnVjdCBvYmpm aWxlICpvYmpmaWxlLAogKwkJCQkgIHN0cnVjdCBzZWN0aW9uX29mZnNldHMgKmRlbHRhKTsKICsK ICAjZW5kaWYgLyogIWRlZmluZWQgKEJSRUFLUE9JTlRfSCkgKi8KLUluZGV4OiBnZGItNy41LjUw LjIwMTMwMTE4L2dkYi9vYmpmaWxlcy5jCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIv b2JqZmlsZXMuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIv b2JqZmlsZXMuYwkyMDEzLTAxLTE4IDIzOjA5OjUxLjY3MTU5NDU4NSArMDEwMAotKysrIGdkYi03 LjUuNTAuMjAxMzAxMTgvZ2RiL29iamZpbGVzLmMJMjAxMy0wMS0xOCAyMzowOTo1My43Mjk1OTc1 ODggKzAxMDAKLUBAIC04MjYsNiArODI2LDExIEBAIG9iamZpbGVfcmVsb2NhdGUxIChzdHJ1Y3Qg b2JqZmlsZSAqb2JqZmkKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL29iamZpbGVz LmMJMjAxMy0wMi0wMyAxNjo1NzowNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIw MTMwMjE1L2dkYi9vYmpmaWxlcy5jCTIwMTMtMDItMTUgMjI6Mzc6MDguMjE3MzgxOTkwICswMTAw CitAQCAtODMxLDYgKzgzMSwxMSBAQCBvYmpmaWxlX3JlbG9jYXRlMSAoc3RydWN0IG9iamZpbGUg Km9iamZpCiAgICAgIG9iamZpbGUtPnNmLT5zeW1fcHJvYmVfZm5zLT5zeW1fcmVsb2NhdGVfcHJv YmUgKG9iamZpbGUsCiAgCQkJCQkJICAgIG5ld19vZmZzZXRzLCBkZWx0YSk7CiAgCgpkaWZmIC0t Z2l0IGEvZ2RiLWFyY2hlci5wYXRjaCBiL2dkYi1hcmNoZXIucGF0Y2gKaW5kZXggZDA0YWMyZS4u ZmQyODYyYiAxMDA2NDQKLS0tIGEvZ2RiLWFyY2hlci5wYXRjaAorKysgYi9nZGItYXJjaGVyLnBh dGNoCkBAIC0yLDcgKzIsNyBAQCBodHRwOi8vc291cmNld2FyZS5vcmcvZ2RiL3dpa2kvUHJvamVj dEFyY2hlcgogaHR0cDovL3NvdXJjZXdhcmUub3JnL2dkYi93aWtpL0FyY2hlckJyYW5jaE1hbmFn ZW1lbnQKIAogR0lUIHNuYXBzaG90OgotY29tbWl0IGYxZjc2MjM2MWU1ZThhNGZhYmRhYjE2NDYz ZWNiMWZkOWJhMWU1ZTkKK2NvbW1pdCBlNzJjZTI5ZjhlMzM5ZmM2ZmZmZDczZTlmZjRiODU0YjZm MmYxNDUyCiAKIGJyYW5jaCBgYXJjaGVyJyAtIHRoZSBtZXJnZSBvZiBicmFuY2hlczoKIGFyY2hl ci1qYW5rcmF0b2NodmlsLXZsYQpAQCAtMTAsMTAgKzEwLDEwIEBAIGFyY2hlci10cm9tZXktcHl0 aG9uCiAKIAogZGlmZiAtLWdpdCBhL2dkYi9NYWtlZmlsZS5pbiBiL2dkYi9NYWtlZmlsZS5pbgot aW5kZXggNzMwNWU2ZC4uZmZmOGNiMiAxMDA2NDQKK2luZGV4IGVkMzBkYjUuLjQzNTZiZTcgMTAw NjQ0CiAtLS0gYS9nZGIvTWFrZWZpbGUuaW4KICsrKyBiL2dkYi9NYWtlZmlsZS5pbgotQEAgLTEz MDgsNiArMTMwOCwxMiBAQCBzdGFtcC1oOiAkKHNyY2RpcikvY29uZmlnLmluIGNvbmZpZy5zdGF0 dXMKK0BAIC0xMzEzLDYgKzEzMTMsMTIgQEAgc3RhbXAtaDogJChzcmNkaXIpL2NvbmZpZy5pbiBj b25maWcuc3RhdHVzCiAgCSAgQ09ORklHX0xJTktTPSBcCiAgCSAgJChTSEVMTCkgY29uZmlnLnN0 YXR1cwogIApAQCAtMjcsMTAgKzI3LDEwIEBAIGluZGV4IDczMDVlNmQuLmZmZjhjYjIgMTAwNjQ0 CiAgCSQoU0hFTEwpIGNvbmZpZy5zdGF0dXMgLS1yZWNoZWNrCiAgCiBkaWZmIC0tZ2l0IGEvZ2Ri L2FkYS1sYW5nLmMgYi9nZGIvYWRhLWxhbmcuYwotaW5kZXggYjQ4NDlhOS4uYTZlNmNhMiAxMDA2 NDQKK2luZGV4IDYzNGU3NjEuLjYwMjc2ZGMgMTAwNjQ0CiAtLS0gYS9nZGIvYWRhLWxhbmcuYwog KysrIGIvZ2RiL2FkYS1sYW5nLmMKLUBAIC0xMjI2Myw2ICsxMjI2Myw3IEBAIGFkYV9vcGVyYXRv cl9sZW5ndGggKGNvbnN0IHN0cnVjdCBleHByZXNzaW9uICpleHAsIGludCBwYywgaW50ICpvcGxl bnAsCitAQCAtMTIyNjIsNiArMTIyNjIsNyBAQCBhZGFfb3BlcmF0b3JfbGVuZ3RoIChjb25zdCBz dHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLCBpbnQgcGMsIGludCAqb3BsZW5wLAogIAogIHN0YXRpYyBp bnQKICBhZGFfb3BlcmF0b3JfY2hlY2sgKHN0cnVjdCBleHByZXNzaW9uICpleHAsIGludCBwb3Ms CkBAIC0zOCw3ICszOCw3IEBAIGluZGV4IGI0ODQ5YTkuLmE2ZTZjYTIgMTAwNjQ0CiAgCQkgICAg aW50ICgqb2JqZmlsZV9mdW5jKSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsIHZvaWQgKmRhdGEp LAogIAkJICAgIHZvaWQgKmRhdGEpCiAgewotQEAgLTEyMjc3LDEyICsxMjI3OCwxNSBAQCBhZGFf b3BlcmF0b3JfY2hlY2sgKHN0cnVjdCBleHByZXNzaW9uICpleHAsIGludCBwb3MsCitAQCAtMTIy NzYsMTIgKzEyMjc3LDE1IEBAIGFkYV9vcGVyYXRvcl9jaGVjayAoc3RydWN0IGV4cHJlc3Npb24g KmV4cCwgaW50IHBvcywKICAJYnJlYWs7CiAgCiAgICAgICAgZGVmYXVsdDoKQEAgLTk0LDEwICs5 NCwxMCBAQCBpbmRleCAwMmU3ZThiLi4yOTMxNDAxIDEwMDY0NAogKwogICNlbmRpZiAvKiBCTE9D S19IICovCiBkaWZmIC0tZ2l0IGEvZ2RiL2JyZWFrcG9pbnQuYyBiL2dkYi9icmVha3BvaW50LmMK LWluZGV4IDNhZDk4ODUuLmUyOGI0NGUgMTAwNjQ0CitpbmRleCBmYjU3YTU3Li41YzAzYjFjIDEw MDY0NAogLS0tIGEvZ2RiL2JyZWFrcG9pbnQuYwogKysrIGIvZ2RiL2JyZWFrcG9pbnQuYwotQEAg LTE1NjQxLDYgKzE1NjQxLDI0IEBAIGFsbF90cmFjZXBvaW50cyAodm9pZCkKK0BAIC0xNTY1Niw2 ICsxNTY1NiwyNCBAQCBhbGxfdHJhY2Vwb2ludHMgKHZvaWQpCiAgICByZXR1cm4gdHBfdmVjOwog IH0KICAKQEAgLTEyMiw3ICsxMjIsNyBAQCBpbmRleCAzYWQ5ODg1Li5lMjhiNDRlIDEwMDY0NAog IAwKICAvKiBUaGlzIGhlbHAgc3RyaW5nIGlzIHVzZWQgZm9yIHRoZSBicmVhaywgaGJyZWFrLCB0 YnJlYWsgYW5kIHRoYnJlYWsKICAgICBjb21tYW5kcy4gIEl0IGlzIGRlZmluZWQgYXMgYSBtYWNy byB0byBwcmV2ZW50IGR1cGxpY2F0aW9uLgotQEAgLTE2NjEyLDQgKzE2NjMwLDcgQEAgYWdlbnQt cHJpbnRmIFwicHJpbnRmIGZvcm1hdCBzdHJpbmdcIiwgYXJnMSwgYXJnMiwgYXJnMywgLi4uLCBh cmduXG5cCitAQCAtMTY2MzksNCArMTY2NTcsNyBAQCBhZ2VudC1wcmludGYgXCJwcmludGYgZm9y bWF0IHN0cmluZ1wiLCBhcmcxLCBhcmcyLCBhcmczLCAuLi4sIGFyZ25cblwKICAgIGF1dG9tYXRp Y19oYXJkd2FyZV9icmVha3BvaW50cyA9IDE7CiAgCiAgICBvYnNlcnZlcl9hdHRhY2hfYWJvdXRf dG9fcHJvY2VlZCAoYnJlYWtwb2ludF9hYm91dF90b19wcm9jZWVkKTsKQEAgLTEzMSwxMCArMTMx LDEwIEBAIGluZGV4IDNhZDk4ODUuLmUyOGI0NGUgMTAwNjQ0CiArI2VuZGlmCiAgfQogZGlmZiAt LWdpdCBhL2dkYi9jLXR5cGVwcmludC5jIGIvZ2RiL2MtdHlwZXByaW50LmMKLWluZGV4IGE2ZGIx NjIuLmRkZmM2YTkgMTAwNjQ0CitpbmRleCBjYThkODliLi44MTFhZDcyIDEwMDY0NAogLS0tIGEv Z2RiL2MtdHlwZXByaW50LmMKICsrKyBiL2dkYi9jLXR5cGVwcmludC5jCi1AQCAtNjkyLDcgKzY5 MiwxMyBAQCBjX3R5cGVfcHJpbnRfdmFyc3BlY19zdWZmaXggKHN0cnVjdCB0eXBlICp0eXBlLAor QEAgLTY4OSw3ICs2ODksMTMgQEAgY190eXBlX3ByaW50X3ZhcnNwZWNfc3VmZml4IChzdHJ1Y3Qg dHlwZSAqdHlwZSwKICAKICAJZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFtLCAoaXNfdmVjdG9yID8K ICAJCQkJICAgIiBfX2F0dHJpYnV0ZV9fICgodmVjdG9yX3NpemUoIiA6ICJbIikpOwpAQCAtMTg3 LDcgKzE4Nyw3IEBAIGluZGV4IGQ5OGFjNzcuLmUyNDgzOTkgMTAwNjQ0CiAgRkxBR1NfVE9fUEFT UyA9IFwKICAJInByZWZpeD0kKHByZWZpeCkiIFwKIGRpZmYgLS1naXQgYS9nZGIvZG9jL2dkYi50 ZXhpbmZvIGIvZ2RiL2RvYy9nZGIudGV4aW5mbwotaW5kZXggNzI4ZTQ0Yi4uMzY1OTEzOSAxMDA2 NDQKK2luZGV4IGU4YWM4YzUuLmIxOGNjZDYgMTAwNjQ0CiAtLS0gYS9nZGIvZG9jL2dkYi50ZXhp bmZvCiArKysgYi9nZGIvZG9jL2dkYi50ZXhpbmZvCiBAQCAtMTIxNyw2ICsxMjE3LDE2IEBAIGZv ciByZW1vdGUgZGVidWdnaW5nLgpAQCAtMjA3LDcgKzIwNyw3IEBAIGluZGV4IDcyOGU0NGIuLjM2 NTkxMzkgMTAwNjQ0CiAgQGMgcmVzb2x2ZSB0aGUgc2l0dWF0aW9uIG9mIHRoZXNlIGV2ZW50dWFs bHkKICBAaXRlbSAtdHVpCiAgQGNpbmRleCBAY29kZXstLXR1aX0KLUBAIC0yMjczOCw4ICsyMjc0 OCw2IEBAIGNvbnRhaW5pbmcgQGNvZGV7ZW5kfS4gIEZvciBleGFtcGxlOgorQEAgLTIyNzg2LDgg KzIyNzk2LDYgQEAgY29udGFpbmluZyBAY29kZXtlbmR9LiAgRm9yIGV4YW1wbGU6CiAgCiAgQHNt YWxsZXhhbXBsZQogIChAdmFsdWV7R0RCUH0pIHB5dGhvbgpAQCAtMjE2LDcgKzIxNiw3IEBAIGlu ZGV4IDcyOGU0NGIuLjM2NTkxMzkgMTAwNjQ0CiAgPnByaW50IDIzCiAgPmVuZAogIDIzCi1AQCAt MjI3NTMsNiArMjI3NjEsMTQgQEAgY29udHJvbGxlZCB1c2luZyBAY29kZXtzZXQgcHl0aG9uIHBy aW50LXN0YWNrfTogaWYgQGNvZGV7ZnVsbH0sIHRoZW4KK0BAIC0yMjgwMSw2ICsyMjgwOSwxNCBA QCBjb250cm9sbGVkIHVzaW5nIEBjb2Rle3NldCBweXRob24gcHJpbnQtc3RhY2t9OiBpZiBAY29k ZXtmdWxsfSwgdGhlbgogIGZ1bGwgUHl0aG9uIHN0YWNrIHByaW50aW5nIGlzIGVuYWJsZWQ7IGlm IEBjb2Rle25vbmV9LCB0aGVuIFB5dGhvbiBzdGFjawogIGFuZCBtZXNzYWdlIHByaW50aW5nIGlz IGRpc2FibGVkOyBpZiBAY29kZXttZXNzYWdlfSwgdGhlIGRlZmF1bHQsIG9ubHkKICB0aGUgbWVz c2FnZSBjb21wb25lbnQgb2YgdGhlIGVycm9yIGlzIHByaW50ZWQuCkBAIC0yMzEsNyArMjMxLDcg QEAgaW5kZXggNzI4ZTQ0Yi4uMzY1OTEzOSAxMDA2NDQKICBAZW5kIHRhYmxlCiAgCiAgSXQgaXMg YWxzbyBwb3NzaWJsZSB0byBleGVjdXRlIGEgUHl0aG9uIHNjcmlwdCBmcm9tIHRoZSBAdmFsdWV7 R0RCTn0KLUBAIC0yMjc3NCw2ICsyMjc5MCwxNCBAQCBhbmQgdGh1cyBpcyBhbHdheXMgYXZhaWxh YmxlLgorQEAgLTIyODIyLDYgKzIyODM4LDE0IEBAIGFuZCB0aHVzIGlzIGFsd2F5cyBhdmFpbGFi bGUuCiAgQGNpbmRleCBweXRob24gYXBpCiAgQGNpbmRleCBwcm9ncmFtbWluZyBpbiBweXRob24K ICAKQEAgLTM3NiwxMSArMzc2LDExIEBAIGluZGV4IDRhNzVjMjYuLjkxNDQ2ZmUgMTAwNjQ0CiAg CiAgQG5vZGUgTGFuZ3VhZ2UgU3VwcG9ydAogZGlmZiAtLWdpdCBhL2dkYi9kb2Mvb2JzZXJ2ZXIu dGV4aSBiL2dkYi9kb2Mvb2JzZXJ2ZXIudGV4aQotaW5kZXggODdjMDhlMS4uY2M4ZjQ5OCAxMDA2 NDQKK2luZGV4IGFkYjcwODUuLjVlYzViNWEgMTAwNjQ0CiAtLS0gYS9nZGIvZG9jL29ic2VydmVy LnRleGkKICsrKyBiL2dkYi9kb2Mvb2JzZXJ2ZXIudGV4aQotQEAgLTI0Niw2ICsyNDYsMTEgQEAg VGhlIHRyYWNlIHN0YXRlIHZhcmlhYmxlIEB2YXJ7bmFtZX0gaXMgZGVsZXRlZC4gIElmIEB2YXJ7 bmFtZX0gaXMKLSBAY29kZXtOVUxMfSwgYWxsIHRyYWNlIHN0YXRlIHZhcmlhYmxlcyBhcmUgZGVs ZXRlZC4KK0BAIC0yNDksNiArMjQ5LDExIEBAIFRoZSB0cmFjZSBzdGF0ZSB2YXJpYWJsZSBAdmFy e3Rzdn0gaXMgZGVsZXRlZC4gIElmIEB2YXJ7dHN2fSBpcworIFRoZSB0cmFjZSBzdGF0ZSB2YWx1 ZSBAdmFye3Rzdn0gaXMgbW9kaWZpZWQuCiAgQGVuZCBkZWZ0eXBlZnVuCiAgCiArQGMgQGRlZnR5 cGVmdW4gdm9pZCBtYXJrX3VzZWQgKHZvaWQpCkBAIC00MjgsMTAgKzQyOCwxMCBAQCBpbmRleCBl ODU0ODZhLi5lN2FjNzk5IDEwMDY0NAogIAogIC8qIFRoZSBsb2NhdGlvbiBvZiBhIHZhbHVlLiAg Ki8KIGRpZmYgLS1naXQgYS9nZGIvZHdhcmYybG9jLmMgYi9nZGIvZHdhcmYybG9jLmMKLWluZGV4 IDIyODJmZWIuLjEzZTdiYmMgMTAwNjQ0CitpbmRleCAwMDIzODdlLi4yZTBlNzIyIDEwMDY0NAog LS0tIGEvZ2RiL2R3YXJmMmxvYy5jCiArKysgYi9nZGIvZHdhcmYybG9jLmMKLUBAIC0yOTMsNiAr MjkzLDkgQEAgc3RydWN0IGR3YXJmX2V4cHJfYmF0b24KK0BAIC0yOTgsNiArMjk4LDkgQEAgc3Ry dWN0IGR3YXJmX2V4cHJfYmF0b24KICB7CiAgICBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWU7CiAg ICBzdHJ1Y3QgZHdhcmYyX3Blcl9jdV9kYXRhICpwZXJfY3U7CkBAIC00NDEsNyArNDQxLDcgQEAg aW5kZXggMjI4MmZlYi4uMTNlN2JiYyAxMDA2NDQKICB9OwogIAogIC8qIEhlbHBlciBmdW5jdGlv bnMgZm9yIGR3YXJmMl9ldmFsdWF0ZV9sb2NfZGVzYy4gICovCi1AQCAtMzU2LDE2ICszNTksMTQg QEAgc3RhdGljIHZvaWQKK0BAIC0zNjEsMTYgKzM2NCwxNCBAQCBzdGF0aWMgdm9pZAogIGR3YXJm X2V4cHJfZnJhbWVfYmFzZV8xIChzdHJ1Y3Qgc3ltYm9sICpmcmFtZWZ1bmMsIENPUkVfQUREUiBw YywKICAJCQkgY29uc3QgZ2RiX2J5dGUgKipzdGFydCwgc2l6ZV90ICpsZW5ndGgpCiAgewpAQCAt NDYwLDcgKzQ2MCw3IEBAIGluZGV4IDIyODJmZWIuLjEzZTdiYmMgMTAwNjQ0CiAgICAgIHsKICAg ICAgICBzdHJ1Y3QgZHdhcmYyX2xvY2V4cHJfYmF0b24gKnN5bWJhdG9uOwogIAotQEAgLTM3OCwx MCArMzc5LDIzIEBAIGR3YXJmX2V4cHJfZnJhbWVfYmFzZV8xIChzdHJ1Y3Qgc3ltYm9sICpmcmFt ZWZ1bmMsIENPUkVfQUREUiBwYywKK0BAIC0zODMsMTAgKzM4NCwyMyBAQCBkd2FyZl9leHByX2Zy YW1lX2Jhc2VfMSAoc3RydWN0IHN5bWJvbCAqZnJhbWVmdW5jLCBDT1JFX0FERFIgcGMsCiAgICAg ICAgZWxzZQogIAkqbGVuZ3RoID0gMDsKICAgICAgfQpAQCAtNDg1LDcgKzQ4NSw3IEBAIGluZGV4 IDIyODJmZWIuLjEzZTdiYmMgMTAwNjQ0CiAgfQogIAogIC8qIEhlbHBlciBmdW5jdGlvbiBmb3Ig ZHdhcmYyX2V2YWx1YXRlX2xvY19kZXNjLiAgQ29tcHV0ZXMgdGhlIENGQSBmb3IKLUBAIC00NDgs NiArNDYyLDg1IEBAIGR3YXJmX2V4cHJfZHdhcmZfY2FsbCAoc3RydWN0IGR3YXJmX2V4cHJfY29u dGV4dCAqY3R4LCBjdV9vZmZzZXQgZGllX29mZnNldCkKK0BAIC00NTMsNiArNDY3LDg1IEBAIGR3 YXJmX2V4cHJfZHdhcmZfY2FsbCAoc3RydWN0IGR3YXJmX2V4cHJfY29udGV4dCAqY3R4LCBjdV9v ZmZzZXQgZGllX29mZnNldCkKICAJCSAgICAgY3R4LT5mdW5jcy0+Z2V0X2ZyYW1lX3BjLCBjdHgt PmJhdG9uKTsKICB9CiAgCkBAIC01NzEsNyArNTcxLDcgQEAgaW5kZXggMjI4MmZlYi4uMTNlN2Ji YyAxMDA2NDQKICAvKiBDYWxsYmFjayBmdW5jdGlvbiBmb3IgZHdhcmYyX2V2YWx1YXRlX2xvY19k ZXNjLiAgKi8KICAKICBzdGF0aWMgc3RydWN0IHR5cGUgKgotQEAgLTExNTAsMTAgKzEyNDMsMTIg QEAgZHdhcmZfZXhwcl9wdXNoX2R3YXJmX3JlZ19lbnRyeV92YWx1ZSAoc3RydWN0IGR3YXJmX2V4 cHJfY29udGV4dCAqY3R4LAorQEAgLTExNTUsMTAgKzEyNDgsMTIgQEAgZHdhcmZfZXhwcl9wdXNo X2R3YXJmX3JlZ19lbnRyeV92YWx1ZSAoc3RydWN0IGR3YXJmX2V4cHJfY29udGV4dCAqY3R4LAog IAogICAgc2F2ZWRfY3R4LmdkYmFyY2ggPSBjdHgtPmdkYmFyY2g7CiAgICBzYXZlZF9jdHguYWRk cl9zaXplID0gY3R4LT5hZGRyX3NpemU7CkBAIC01ODQsNyArNTg0LDcgQEAgaW5kZXggMjI4MmZl Yi4uMTNlN2JiYyAxMDA2NDQKICAgIGN0eC0+b2Zmc2V0ID0gZHdhcmYyX3Blcl9jdV90ZXh0X29m ZnNldCAoYmF0b25fbG9jYWwucGVyX2N1KTsKICAgIGN0eC0+YmF0b24gPSAmYmF0b25fbG9jYWw7 CiAgCi1AQCAtMTE2MSwxMCArMTI1Niw5NSBAQCBkd2FyZl9leHByX3B1c2hfZHdhcmZfcmVnX2Vu dHJ5X3ZhbHVlIChzdHJ1Y3QgZHdhcmZfZXhwcl9jb250ZXh0ICpjdHgsCitAQCAtMTE2NiwxMCAr MTI2MSw5NSBAQCBkd2FyZl9leHByX3B1c2hfZHdhcmZfcmVnX2VudHJ5X3ZhbHVlIChzdHJ1Y3Qg ZHdhcmZfZXhwcl9jb250ZXh0ICpjdHgsCiAgCiAgICBjdHgtPmdkYmFyY2ggPSBzYXZlZF9jdHgu Z2RiYXJjaDsKICAgIGN0eC0+YWRkcl9zaXplID0gc2F2ZWRfY3R4LmFkZHJfc2l6ZTsKQEAgLTY4 MCw3ICs2ODAsNyBAQCBpbmRleCAyMjgyZmViLi4xM2U3YmJjIDEwMDY0NAogIC8qIENhbGxiYWNr IGZ1bmN0aW9uIGZvciBkd2FyZjJfZXZhbHVhdGVfbG9jX2Rlc2MuCiAgICAgRmV0Y2ggdGhlIGFk ZHJlc3MgaW5kZXhlZCBieSBEV19PUF9HTlVfYWRkcl9pbmRleC4gICovCiAgCi1AQCAtMjEwMCwy MiArMjI4MCw2IEBAIGludmFsaWRfc3ludGhldGljX3BvaW50ZXIgKHZvaWQpCitAQCAtMjEwNSwy MiArMjI4NSw2IEBAIGludmFsaWRfc3ludGhldGljX3BvaW50ZXIgKHZvaWQpCiAgCSAgICJyZWZl cmVuY2VkIHZpYSBzeW50aGV0aWMgcG9pbnRlciIpKTsKICB9CiAgCkBAIC03MDMsNyArNzAzLDcg QEAgaW5kZXggMjI4MmZlYi4uMTNlN2JiYyAxMDA2NDQKICAvKiBFdmFsdWF0ZSBhIGxvY2F0aW9u IGRlc2NyaXB0aW9uLCBzdGFydGluZyBhdCBEQVRBIGFuZCB3aXRoIGxlbmd0aAogICAgIFNJWkUs IHRvIGZpbmQgdGhlIGN1cnJlbnQgbG9jYXRpb24gb2YgdmFyaWFibGUgb2YgVFlQRSBpbiB0aGUK ICAgICBjb250ZXh0IG9mIEZSQU1FLiAgQllURV9PRkZTRVQgaXMgYXBwbGllZCBhZnRlciB0aGUg Y29udGVudHMgYXJlCi1AQCAtMjEyOCw3ICsyMjkyLDYgQEAgZHdhcmYyX2V2YWx1YXRlX2xvY19k ZXNjX2Z1bGwgKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUsCitA QCAtMjEzMyw3ICsyMjk3LDYgQEAgZHdhcmYyX2V2YWx1YXRlX2xvY19kZXNjX2Z1bGwgKHN0cnVj dCB0eXBlICp0eXBlLCBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUsCiAgCQkJICAgICAgIExPTkdF U1QgYnl0ZV9vZmZzZXQpCiAgewogICAgc3RydWN0IHZhbHVlICpyZXR2YWw7CkBAIC03MTEsNyAr NzExLDcgQEAgaW5kZXggMjI4MmZlYi4uMTNlN2JiYyAxMDA2NDQKICAgIHN0cnVjdCBkd2FyZl9l eHByX2NvbnRleHQgKmN0eDsKICAgIHN0cnVjdCBjbGVhbnVwICpvbGRfY2hhaW4sICp2YWx1ZV9j aGFpbjsKICAgIHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlID0gZHdhcmYyX3Blcl9jdV9vYmpmaWxl IChwZXJfY3UpOwotQEAgLTIxNDAsMjkgKzIzMDMsMTggQEAgZHdhcmYyX2V2YWx1YXRlX2xvY19k ZXNjX2Z1bGwgKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUsCitA QCAtMjE0NSwyOSArMjMwOCwxOCBAQCBkd2FyZjJfZXZhbHVhdGVfbG9jX2Rlc2NfZnVsbCAoc3Ry dWN0IHR5cGUgKnR5cGUsIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwKICAgIGlmIChzaXplID09 IDApCiAgICAgIHJldHVybiBhbGxvY2F0ZV9vcHRpbWl6ZWRfb3V0X3ZhbHVlICh0eXBlKTsKICAK QEAgLTc0Miw3ICs3NDIsNyBAQCBpbmRleCAyMjgyZmViLi4xM2U3YmJjIDEwMDY0NAogIAkgIHJl dHZhbCA9IGFsbG9jYXRlX3ZhbHVlICh0eXBlKTsKICAJICBtYXJrX3ZhbHVlX2J5dGVzX3VuYXZh aWxhYmxlIChyZXR2YWwsIDAsIFRZUEVfTEVOR1RIICh0eXBlKSk7CiAgCSAgcmV0dXJuIHJldHZh bDsKLUBAIC0yMjI2LDYgKzIzNzgsMTYgQEAgZHdhcmYyX2V2YWx1YXRlX2xvY19kZXNjX2Z1bGwg KHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUsCitAQCAtMjIzMSw2 ICsyMzgzLDE2IEBAIGR3YXJmMl9ldmFsdWF0ZV9sb2NfZGVzY19mdWxsIChzdHJ1Y3QgdHlwZSAq dHlwZSwgc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLAogIAkgICAgaW50IGluX3N0YWNrX21lbW9y eSA9IGR3YXJmX2V4cHJfZmV0Y2hfaW5fc3RhY2tfbWVtb3J5IChjdHgsIDApOwogIAogIAkgICAg ZG9fY2xlYW51cHMgKHZhbHVlX2NoYWluKTsKQEAgLTc1OSw3ICs3NTksNyBAQCBpbmRleCAyMjgy ZmViLi4xM2U3YmJjIDEwMDY0NAogIAkgICAgcmV0dmFsID0gYWxsb2NhdGVfdmFsdWVfbGF6eSAo dHlwZSk7CiAgCSAgICBWQUxVRV9MVkFMIChyZXR2YWwpID0gbHZhbF9tZW1vcnk7CiAgCSAgICBp ZiAoaW5fc3RhY2tfbWVtb3J5KQotQEAgLTQxNDMsOCArNDMwNSw3IEBAIGxvY2xpc3RfdHJhY2Vw b2ludF92YXJfcmVmIChzdHJ1Y3Qgc3ltYm9sICpzeW1ib2wsIHN0cnVjdCBnZGJhcmNoICpnZGJh cmNoLAorQEAgLTQxNDcsOCArNDMwOSw3IEBAIGxvY2xpc3RfdHJhY2Vwb2ludF92YXJfcmVmIChz dHJ1Y3Qgc3ltYm9sICpzeW1ib2wsIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAogIAkJCSAgICAg ICBkbGJhdG9uLT5wZXJfY3UpOwogIH0KICAKQEAgLTc2OSw3ICs3NjksNyBAQCBpbmRleCAyMjgy ZmViLi4xM2U3YmJjIDEwMDY0NAogIGNvbnN0IHN0cnVjdCBzeW1ib2xfY29tcHV0ZWRfb3BzIGR3 YXJmMl9sb2NsaXN0X2Z1bmNzID0gewogICAgbG9jbGlzdF9yZWFkX3ZhcmlhYmxlLAogICAgbG9j bGlzdF9yZWFkX3ZhcmlhYmxlX2F0X2VudHJ5LAotQEAgLTQxNTMsNiArNDMxNCw0OCBAQCBjb25z dCBzdHJ1Y3Qgc3ltYm9sX2NvbXB1dGVkX29wcyBkd2FyZjJfbG9jbGlzdF9mdW5jcyA9IHsKK0BA IC00MTU3LDYgKzQzMTgsNDggQEAgY29uc3Qgc3RydWN0IHN5bWJvbF9jb21wdXRlZF9vcHMgZHdh cmYyX2xvY2xpc3RfZnVuY3MgPSB7CiAgICBsb2NsaXN0X3RyYWNlcG9pbnRfdmFyX3JlZgogIH07 CiAgCkBAIC04MzksMTAgKzgzOSwxMCBAQCBpbmRleCAzNjY0MWIzLi4xMzk0NTc4IDEwMDY0NAog IC8qIENvbXBpbGUgYSBEV0FSRiBsb2NhdGlvbiBleHByZXNzaW9uIHRvIGFuIGFnZW50IGV4cHJl c3Npb24uCiAgICAgCiBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBiL2dkYi9kd2FyZjJy ZWFkLmMKLWluZGV4IDdhNThjNDUuLjk4YWViYWQgMTAwNjQ0CitpbmRleCBkMjZlN2M4Li45ZmJl NjFlIDEwMDY0NAogLS0tIGEvZ2RiL2R3YXJmMnJlYWQuYwogKysrIGIvZ2RiL2R3YXJmMnJlYWQu YwotQEAgLTE2MTMsNiArMTYxMyw5IEBAIHN0YXRpYyB2b2lkIGZpbGxfaW5fbG9jbGlzdF9iYXRv biAoc3RydWN0IGR3YXJmMl9jdSAqY3UsCitAQCAtMTYyNCw2ICsxNjI0LDkgQEAgc3RhdGljIHZv aWQgZmlsbF9pbl9sb2NsaXN0X2JhdG9uIChzdHJ1Y3QgZHdhcmYyX2N1ICpjdSwKICAJCQkJICAg c3RydWN0IGR3YXJmMl9sb2NsaXN0X2JhdG9uICpiYXRvbiwKICAJCQkJICAgc3RydWN0IGF0dHJp YnV0ZSAqYXR0cik7CiAgCkBAIC04NTIsNyArODUyLDcgQEAgaW5kZXggN2E1OGM0NS4uOThhZWJh ZCAxMDA2NDQKICBzdGF0aWMgdm9pZCBkd2FyZjJfc3ltYm9sX21hcmtfY29tcHV0ZWQgKHN0cnVj dCBhdHRyaWJ1dGUgKmF0dHIsCiAgCQkJCQkgc3RydWN0IHN5bWJvbCAqc3ltLAogIAkJCQkJIHN0 cnVjdCBkd2FyZjJfY3UgKmN1KTsKLUBAIC0xNjQ1LDYgKzE2NDgsOSBAQCBzdGF0aWMgdm9pZCBh Z2VfY2FjaGVkX2NvbXBfdW5pdHMgKHZvaWQpOworQEAgLTE2NTYsNiArMTY1OSw5IEBAIHN0YXRp YyB2b2lkIGFnZV9jYWNoZWRfY29tcF91bml0cyAodm9pZCk7CiAgCiAgc3RhdGljIHZvaWQgZnJl ZV9vbmVfY2FjaGVkX2NvbXBfdW5pdCAoc3RydWN0IGR3YXJmMl9wZXJfY3VfZGF0YSAqKTsKICAK QEAgLTg2Miw3ICs4NjIsNyBAQCBpbmRleCA3YTU4YzQ1Li45OGFlYmFkIDEwMDY0NAogIHN0YXRp YyBzdHJ1Y3QgdHlwZSAqc2V0X2RpZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKiwgc3RydWN0IHR5 cGUgKiwKICAJCQkJICBzdHJ1Y3QgZHdhcmYyX2N1ICopOwogIAotQEAgLTE2NzMsNiArMTY3OSw5 IEBAIHN0YXRpYyBzdHJ1Y3QgdHlwZSAqZ2V0X2RpZV90eXBlX2F0X29mZnNldCAoc2VjdF9vZmZz ZXQsCitAQCAtMTY4NCw2ICsxNjkwLDkgQEAgc3RhdGljIHN0cnVjdCB0eXBlICpnZXRfZGllX3R5 cGVfYXRfb2Zmc2V0IChzZWN0X29mZnNldCwKICAKICBzdGF0aWMgc3RydWN0IHR5cGUgKmdldF9k aWVfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KTsKICAK QEAgLTg3Miw3ICs4NzIsNyBAQCBpbmRleCA3YTU4YzQ1Li45OGFlYmFkIDEwMDY0NAogIHN0YXRp YyB2b2lkIGR3YXJmMl9yZWxlYXNlX3F1ZXVlICh2b2lkICpkdW1teSk7CiAgCiAgc3RhdGljIHZv aWQgcXVldWVfY29tcF91bml0IChzdHJ1Y3QgZHdhcmYyX3Blcl9jdV9kYXRhICpwZXJfY3UsCi1A QCAtMTE2NzcsNiArMTE2ODYsMjkgQEAgcHJvY2Vzc19lbnVtZXJhdGlvbl9zY29wZSAoc3RydWN0 IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorQEAgLTExNzAyLDYgKzExNzEx LDI5IEBAIHByb2Nlc3NfZW51bWVyYXRpb25fc2NvcGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBz dHJ1Y3QgZHdhcmYyX2N1ICpjdSkKICAgIG5ld19zeW1ib2wgKGRpZSwgdGhpc190eXBlLCBjdSk7 CiAgfQogIApAQCAtOTAyLDE2ICs5MDIsMTYgQEAgaW5kZXggN2E1OGM0NS4uOThhZWJhZCAxMDA2 NDQKICAvKiBFeHRyYWN0IGFsbCBpbmZvcm1hdGlvbiBmcm9tIGEgRFdfVEFHX2FycmF5X3R5cGUg RElFIGFuZCBwdXQgaXQgaW4KICAgICB0aGUgRElFJ3MgdHlwZSBmaWVsZC4gIEZvciBub3csIHRo aXMgb25seSBoYW5kbGVzIG9uZSBkaW1lbnNpb25hbAogICAgIGFycmF5cy4gICovCi1AQCAtMTE2 OTAsNyArMTE3MjIsNyBAQCByZWFkX2FycmF5X3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBz dHJ1Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC0xMTcxNSw3ICsxMTc0Nyw3IEBAIHJlYWRfYXJyYXlf dHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQogICAgc3Ry dWN0IHR5cGUgKmVsZW1lbnRfdHlwZSwgKnJhbmdlX3R5cGUsICppbmRleF90eXBlOwogICAgc3Ry dWN0IHR5cGUgKipyYW5nZV90eXBlcyA9IE5VTEw7CiAgICBzdHJ1Y3QgYXR0cmlidXRlICphdHRy OwogLSAgaW50IG5kaW0gPSAwOwogKyAgaW50IG5kaW0gPSAwLCBpOwogICAgc3RydWN0IGNsZWFu dXAgKmJhY2tfdG87Ci0gICBjaGFyICpuYW1lOworICAgY29uc3QgY2hhciAqbmFtZTsKICAKLUBA IC0xMTc0MywxNyArMTE3NzUsMTkgQEAgcmVhZF9hcnJheV90eXBlIChzdHJ1Y3QgZGllX2luZm8g KmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtMTE3NjgsMTcgKzExODAwLDE5IEBAIHJl YWRfYXJyYXlfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1 KQogICAgdHlwZSA9IGVsZW1lbnRfdHlwZTsKICAKICAgIGlmIChyZWFkX2FycmF5X29yZGVyIChk aWUsIGN1KSA9PSBEV19PUkRfY29sX21ham9yKQpAQCAtOTQyLDcgKzk0Miw3IEBAIGluZGV4IDdh NThjNDUuLjk4YWViYWQgMTAwNjQ0CiAgCiAgICAvKiBVbmRlcnN0YW5kIER3YXJmMiBzdXBwb3J0 IGZvciB2ZWN0b3IgdHlwZXMgKGxpa2UgdGhleSBvY2N1ciBvbgogICAgICAgdGhlIFBvd2VyUEMg dy8gQWx0aVZlYykuICBHY2MganVzdCBhZGRzIGFub3RoZXIgYXR0cmlidXRlIHRvIHRoZQotQEAg LTEyMzc5LDI5ICsxMjQxMywxMTQgQEAgcmVhZF90YWdfc3RyaW5nX3R5cGUgKHN0cnVjdCBkaWVf aW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC0xMjQxMywyOSArMTI0NDcsMTE0 IEBAIHJlYWRfdGFnX3N0cmluZ190eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3 YXJmMl9jdSAqY3UpCiAgICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IGdldF9vYmpmaWxlX2Fy Y2ggKG9iamZpbGUpOwogICAgc3RydWN0IHR5cGUgKnR5cGUsICpyYW5nZV90eXBlLCAqaW5kZXhf dHlwZSwgKmNoYXJfdHlwZTsKICAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHI7CkBAIC0xMDcwLDE2 ICsxMDcwLDE2IEBAIGluZGV4IDdhNThjNDUuLjk4YWViYWQgMTAwNjQ0CiAgICBjaGFyX3R5cGUg PSBsYW5ndWFnZV9zdHJpbmdfY2hhcl90eXBlIChjdS0+bGFuZ3VhZ2VfZGVmbiwgZ2RiYXJjaCk7 CiAgICB0eXBlID0gY3JlYXRlX3N0cmluZ190eXBlIChOVUxMLCBjaGFyX3R5cGUsIHJhbmdlX3R5 cGUpOwogIAotQEAgLTEyNzA1LDcgKzEyODI0LDcgQEAgcmVhZF9zdWJyYW5nZV90eXBlIChzdHJ1 Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtMTI3MzksNyArMTI4 NTgsNyBAQCByZWFkX3N1YnJhbmdlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3Qg ZHdhcmYyX2N1ICpjdSkKICAgIHN0cnVjdCB0eXBlICpiYXNlX3R5cGU7CiAgICBzdHJ1Y3QgdHlw ZSAqcmFuZ2VfdHlwZTsKICAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHI7CiAtICBMT05HRVNUIGxv dywgaGlnaDsKICsgIExPTkdFU1QgbG93OwogICAgaW50IGxvd19kZWZhdWx0X2lzX3ZhbGlkOwot ICAgY2hhciAqbmFtZTsKKyAgIGNvbnN0IGNoYXIgKm5hbWU7CiAgICBMT05HRVNUIG5lZ2F0aXZl X21hc2s7Ci1AQCAtMTI3NjEsNDIgKzEyODgwLDYgQEAgcmVhZF9zdWJyYW5nZV90eXBlIChzdHJ1 Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtMTI3OTUsNDIgKzEy OTE0LDYgQEAgcmVhZF9zdWJyYW5nZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0 IGR3YXJmMl9jdSAqY3UpCiAgCQkJCSAgICAgICItIERJRSBhdCAweCV4IFtpbiBtb2R1bGUgJXNd IiksCiAgCSAgICAgICBkaWUtPm9mZnNldC5zZWN0X29mZiwgY3UtPm9iamZpbGUtPm5hbWUpOwog IApAQCAtMTEyMiw3ICsxMTIyLDcgQEAgaW5kZXggN2E1OGM0NS4uOThhZWJhZCAxMDA2NDQKICAg IC8qIER3YXJmLTIgc3BlY2lmaWNhdGlvbnMgZXhwbGljaXRseSBhbGxvd3MgdG8gY3JlYXRlIHN1 YnJhbmdlIHR5cGVzCiAgICAgICB3aXRob3V0IHNwZWNpZnlpbmcgYSBiYXNlIHR5cGUuCiAgICAg ICBJbiB0aGF0IGNhc2UsIHRoZSBiYXNlIHR5cGUgbXVzdCBiZSBzZXQgdG8gdGhlIHR5cGUgb2YK LUBAIC0xMjgzNSwyNCArMTI5MTgsMTYzIEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRp ZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorQEAgLTEyODY5LDI0ICsxMjk1Miwx NjMgQEAgcmVhZF9zdWJyYW5nZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3 YXJmMl9jdSAqY3UpCiAgCX0KICAgICAgfQogIApAQCAtMTMwMCw3ICsxMzAwLDcgQEAgaW5kZXgg N2E1OGM0NS4uOThhZWJhZCAxMDA2NDQKICAKICAgIG5hbWUgPSBkd2FyZjJfbmFtZSAoZGllLCBj dSk7CiAgICBpZiAobmFtZSkKLUBAIC0xNTcxMiwxMCArMTU5MzQsMTIgQEAgdmFyX2RlY29kZV9s b2NhdGlvbiAoc3RydWN0IGF0dHJpYnV0ZSAqYXR0ciwgc3RydWN0IHN5bWJvbCAqc3ltLAorQEAg LTE1NzQ2LDEwICsxNTk2OCwxMiBAQCB2YXJfZGVjb2RlX2xvY2F0aW9uIChzdHJ1Y3QgYXR0cmli dXRlICphdHRyLCBzdHJ1Y3Qgc3ltYm9sICpzeW0sCiAgICAgICAoaS5lLiB3aGVuIHRoZSB2YWx1 ZSBvZiBhIHJlZ2lzdGVyIG9yIG1lbW9yeSBsb2NhdGlvbiBpcwogICAgICAgcmVmZXJlbmNlZCwg b3IgYSB0aHJlYWQtbG9jYWwgYmxvY2ssIGV0Yy4pLiAgVGhlbiBhZ2FpbiwgaXQgbWlnaHQKICAg ICAgIG5vdCBiZSB3b3J0aHdoaWxlLiAgSSdtIGFzc3VtaW5nIHRoYXQgaXQgaXNuJ3QgdW5sZXNz IHBlcmZvcm1hbmNlCkBAIC0xMzE1LDcgKzEzMTUsNyBAQCBpbmRleCA3YTU4YzQ1Li45OGFlYmFk IDEwMDY0NAogIAogICAgaWYgKFNZTUJPTF9DT01QVVRFRF9PUFMgKHN5bSkgPT0gJmR3YXJmMl9s b2NsaXN0X2Z1bmNzKQogICAgICBjdS0+aGFzX2xvY2xpc3QgPSAxOwotQEAgLTE1NzU2LDYgKzE1 OTgwLDggQEAgbmV3X3N5bWJvbF9mdWxsIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IHR5 cGUgKnR5cGUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1LAorQEAgLTE1NzkwLDYgKzE2MDE0LDggQEAg bmV3X3N5bWJvbF9mdWxsIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IHR5cGUgKnR5cGUs IHN0cnVjdCBkd2FyZjJfY3UgKmN1LAogICAgICAgIGVsc2UKICAJc3ltID0gT0JTVEFDS19aQUxM T0MgKCZvYmpmaWxlLT5vYmpmaWxlX29ic3RhY2ssIHN0cnVjdCBzeW1ib2wpOwogICAgICAgIE9C SlNUQVQgKG9iamZpbGUsIG5fc3ltcysrKTsKQEAgLTEzMjQsNyArMTMyNCw3IEBAIGluZGV4IDdh NThjNDUuLjk4YWViYWQgMTAwNjQ0CiAgCiAgICAgICAgLyogQ2FjaGUgdGhpcyBzeW1ib2wncyBu YW1lIGFuZCB0aGUgbmFtZSdzIGRlbWFuZ2xlZCBmb3JtIChpZiBhbnkpLiAgKi8KICAgICAgICBT WU1CT0xfU0VUX0xBTkdVQUdFIChzeW0sIGN1LT5sYW5ndWFnZSk7Ci1AQCAtMTY1NjUsNiArMTY3 OTEsOSBAQCByZWFkX3R5cGVfZGllXzEgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdh cmYyX2N1ICpjdSkKK0BAIC0xNjU5OSw2ICsxNjgyNSw5IEBAIHJlYWRfdHlwZV9kaWVfMSAoc3Ry dWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQogICAgICAgIGJyZWFrOwog ICAgICB9CiAgCkBAIC0xMzM0LDcgKzEzMzQsNyBAQCBpbmRleCA3YTU4YzQ1Li45OGFlYmFkIDEw MDY0NAogICAgcmV0dXJuIHRoaXNfdHlwZTsKICB9CiAgCi1AQCAtMTg5OTksNjIgKzE5MjI4LDEw MCBAQCBmaWxsX2luX2xvY2xpc3RfYmF0b24gKHN0cnVjdCBkd2FyZjJfY3UgKmN1LAorQEAgLTE5 MDQzLDYyICsxOTI3MiwxMDAgQEAgZmlsbF9pbl9sb2NsaXN0X2JhdG9uIChzdHJ1Y3QgZHdhcmYy X2N1ICpjdSwKICAgIGJhdG9uLT5mcm9tX2R3byA9IGN1LT5kd29fdW5pdCAhPSBOVUxMOwogIH0K ICAKQEAgLTE0NzMsNyArMTQ3Myw3IEBAIGluZGV4IDdhNThjNDUuLjk4YWViYWQgMTAwNjQ0CiAg ICAgIH0KICB9CiAgCi1AQCAtMTk0MjUsNiArMTk2OTIsMjUgQEAgcGVyX2N1X29mZnNldF9hbmRf dHlwZV9lcSAoY29uc3Qgdm9pZCAqaXRlbV9saHMsIGNvbnN0IHZvaWQgKml0ZW1fcmhzKQorQEAg LTE5NDY5LDYgKzE5NzM2LDI1IEBAIHBlcl9jdV9vZmZzZXRfYW5kX3R5cGVfZXEgKGNvbnN0IHZv aWQgKml0ZW1fbGhzLCBjb25zdCB2b2lkICppdGVtX3JocykKICAJICAmJiBvZnNfbGhzLT5vZmZz ZXQuc2VjdF9vZmYgPT0gb2ZzX3Jocy0+b2Zmc2V0LnNlY3Rfb2ZmKTsKICB9CiAgCkBAIC0xNDk5 LDcgKzE0OTksNyBAQCBpbmRleCA3YTU4YzQ1Li45OGFlYmFkIDEwMDY0NAogIC8qIFNldCB0aGUg dHlwZSBhc3NvY2lhdGVkIHdpdGggRElFIHRvIFRZUEUuICBTYXZlIGl0IGluIENVJ3MgaGFzaAog ICAgIHRhYmxlIGlmIG5lY2Vzc2FyeS4gIEZvciBjb252ZW5pZW5jZSwgcmV0dXJuIFRZUEUuCiAg Ci1AQCAtMTk0NDksNiArMTk3MzUsOCBAQCBzZXRfZGllX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAq ZGllLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtMTk0OTMs NiArMTk3NzksOCBAQCBzZXRfZGllX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3Qg dHlwZSAqdHlwZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCiAgICBzdHJ1Y3QgZHdhcmYyX3Blcl9j dV9vZmZzZXRfYW5kX3R5cGUgKipzbG90LCBvZnM7CiAgICBzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmls ZSA9IGN1LT5vYmpmaWxlOwogIApAQCAtMTUwOSw3ICsxNTA5LDcgQEAgaW5kZXggN2E1OGM0NS4u OThhZWJhZCAxMDA2NDQKICAgICAgIGluaXRpYWxpemVkIChpZiBub3QgYWxyZWFkeSBzZXQpLiAg VGhlcmUgYXJlIGEgZmV3IHR5cGVzIHdoZXJlCiAgICAgICB3ZSBzaG91bGQgbm90IGJlIGRvaW5n IHNvLCBiZWNhdXNlIHRoZSB0eXBlLXNwZWNpZmljIGFyZWEgaXMKIGRpZmYgLS1naXQgYS9nZGIv ZXZhbC5jIGIvZ2RiL2V2YWwuYwotaW5kZXggYzk2MzBkZi4uYjc5NzE4OSAxMDA2NDQKK2luZGV4 IGQ3ZjgwZTIuLjhlY2E0YzggMTAwNjQ0CiAtLS0gYS9nZGIvZXZhbC5jCiArKysgYi9nZGIvZXZh bC5jCiBAQCAtNDEsNiArNDEsNyBAQApAQCAtMTc2Miw3ICsxNzYyLDcgQEAgaW5kZXggYzk2MzBk Zi4uYjc5NzE4OSAxMDA2NDQKICAKICAgIHBjID0gKCpwb3MpKys7CiAgICBvcCA9IGV4cC0+ZWx0 c1twY10ub3Bjb2RlOwotQEAgLTE3NzksNiArMTk3MSw4IEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFu ZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAorQEAgLTE3NzYsNiArMTk2OCw4IEBAIGV2 YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAogIAogICAg ICAgIC8qIEZpcnN0IGRldGVybWluZSB0aGUgdHlwZSBjb2RlIHdlIGFyZSBkZWFsaW5nIHdpdGgu ICAqLwogICAgICAgIGFyZzEgPSBldmFsdWF0ZV9zdWJleHAgKE5VTExfVFlQRSwgZXhwLCBwb3Ms IG5vc2lkZSk7CkBAIC0xNzcxLDcgKzE3NzEsNyBAQCBpbmRleCBjOTYzMGRmLi5iNzk3MTg5IDEw MDY0NAogICAgICAgIHR5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlIChhcmcxKSk7CiAg ICAgICAgY29kZSA9IFRZUEVfQ09ERSAodHlwZSk7CiAgCi1AQCAtMTc5OSwyMyArMTk5MywxMyBA QCBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVjdCB0eXBlICpleHBlY3RfdHlwZSwKK0BA IC0xNzk2LDIzICsxOTkwLDEzIEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5 cGUgKmV4cGVjdF90eXBlLAogIAkgICAgICBjb2RlID0gVFlQRV9DT0RFICh0eXBlKTsKICAJICAg IH0KICAJfSAKQEAgLTE3OTcsNyArMTc5Nyw3IEBAIGluZGV4IGM5NjMwZGYuLmI3OTcxODkgMTAw NjQ0CiAgCiAgCWNhc2UgVFlQRV9DT0RFX1BUUjoKICAJY2FzZSBUWVBFX0NPREVfRlVOQzoKLUBA IC0yMjQyLDQ5ICsyNDI2LDYgQEAgZXZhbHVhdGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlw ZSAqZXhwZWN0X3R5cGUsCitAQCAtMjIzOSw0OSArMjQyMyw2IEBAIGV2YWx1YXRlX3N1YmV4cF9z dGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAogIAl9CiAgICAgICAgcmV0dXJuIChh cmcxKTsKICAKQEAgLTE4NDcsNyArMTg0Nyw3IEBAIGluZGV4IGM5NjMwZGYuLmI3OTcxODkgMTAw NjQ0CiAgICAgIGNhc2UgQklOT1BfTE9HSUNBTF9BTkQ6CiAgICAgICAgYXJnMSA9IGV2YWx1YXRl X3N1YmV4cCAoTlVMTF9UWVBFLCBleHAsIHBvcywgbm9zaWRlKTsKICAgICAgICBpZiAobm9zaWRl ID09IEVWQUxfU0tJUCkKLUBAIC0yNTE2LDE1ICsyNjU3LDIzIEBAIGV2YWx1YXRlX3N1YmV4cF9z dGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAorQEAgLTI1MTMsMTUgKzI2NTQsMjMg QEAgZXZhbHVhdGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZXhwZWN0X3R5cGUsCiAg ICAgICAgaWYgKGV4cGVjdF90eXBlICYmIFRZUEVfQ09ERSAoZXhwZWN0X3R5cGUpID09IFRZUEVf Q09ERV9QVFIpCiAgCWV4cGVjdF90eXBlID0gVFlQRV9UQVJHRVRfVFlQRSAoY2hlY2tfdHlwZWRl ZiAoZXhwZWN0X3R5cGUpKTsKICAgICAgICBhcmcxID0gZXZhbHVhdGVfc3ViZXhwIChleHBlY3Rf dHlwZSwgZXhwLCBwb3MsIG5vc2lkZSk7CkBAIC0xODczLDcgKzE4NzMsNyBAQCBpbmRleCBjOTYz MGRmLi5iNzk3MTg5IDEwMDY0NAogICAgICAgIGVsc2UgaWYgKG5vc2lkZSA9PSBFVkFMX0FWT0lE X1NJREVfRUZGRUNUUykKICAJewogIAkgIHR5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBl IChhcmcxKSk7Ci1AQCAtMjUzMywxMiArMjY4MiwxOCBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRh cmQgKHN0cnVjdCB0eXBlICpleHBlY3RfdHlwZSwKK0BAIC0yNTMwLDEyICsyNjc5LDE4IEBAIGV2 YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAogIAkgIC8q IEluIEMgeW91IGNhbiBkZXJlZmVyZW5jZSBhbiBhcnJheSB0byBnZXQgdGhlIDFzdCBlbHQuICAq LwogIAkgICAgICB8fCBUWVBFX0NPREUgKHR5cGUpID09IFRZUEVfQ09ERV9BUlJBWQogIAkgICAg KQpAQCAtMTg5Nyw3ICsxODk3LDcgQEAgaW5kZXggYzk2MzBkZi4uYjc5NzE4OSAxMDA2NDQKICAJ ICBlbHNlCiAgCSAgICBlcnJvciAoXygiQXR0ZW1wdCB0byB0YWtlIGNvbnRlbnRzIG9mIGEgbm9u LXBvaW50ZXIgdmFsdWUuIikpOwogIAl9Ci1AQCAtMjU0OCw5ICsyNzAzLDE0IEBAIGV2YWx1YXRl X3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAorQEAgLTI1NDUsOSAr MjcwMCwxNCBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVjdCB0eXBlICpleHBlY3Rf dHlwZSwKICAJIGRvLiAgImxvbmcgbG9uZyIgdmFyaWFibGVzIGFyZSByYXJlIGVub3VnaCB0aGF0 CiAgCSBCVUlMVElOX1RZUEVfTE9OR0VTVCB3b3VsZCBzZWVtIHRvIGJlIGEgbWlzdGFrZS4gICov CiAgICAgICAgaWYgKFRZUEVfQ09ERSAodHlwZSkgPT0gVFlQRV9DT0RFX0lOVCkKQEAgLTE5MTUs NyArMTkxNSw3IEBAIGluZGV4IGM5NjMwZGYuLmI3OTcxODkgMTAwNjQ0CiAgCiAgICAgIGNhc2Ug VU5PUF9BRERSOgogICAgICAgIC8qIEMrKzogY2hlY2sgZm9yIGFuZCBoYW5kbGUgcG9pbnRlciB0 byBtZW1iZXJzLiAgKi8KLUBAIC0yOTYzLDcgKzMxMjMsNyBAQCBldmFsdWF0ZV9zdWJleHBfd2l0 aF9jb2VyY2lvbiAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwKK0BAIC0yOTYwLDcgKzMxMjAsNyBA QCBldmFsdWF0ZV9zdWJleHBfd2l0aF9jb2VyY2lvbiAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwK ICB7CiAgICBlbnVtIGV4cF9vcGNvZGUgb3A7CiAgICBpbnQgcGM7CkBAIC0xOTI0LDcgKzE5MjQs NyBAQCBpbmRleCBjOTYzMGRmLi5iNzk3MTg5IDEwMDY0NAogICAgc3RydWN0IHN5bWJvbCAqdmFy OwogICAgc3RydWN0IHR5cGUgKnR5cGU7CiAgCi1AQCAtMjk3NCwxMyArMzEzNCwxOCBAQCBldmFs dWF0ZV9zdWJleHBfd2l0aF9jb2VyY2lvbiAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwKK0BAIC0y OTcxLDEzICszMTMxLDE4IEBAIGV2YWx1YXRlX3N1YmV4cF93aXRoX2NvZXJjaW9uIChzdHJ1Y3Qg ZXhwcmVzc2lvbiAqZXhwLAogICAgICB7CiAgICAgIGNhc2UgT1BfVkFSX1ZBTFVFOgogICAgICAg IHZhciA9IGV4cC0+ZWx0c1twYyArIDJdLnN5bWJvbDsKQEAgLTE5NDQsNyArMTk0NCw3IEBAIGlu ZGV4IGM5NjMwZGYuLmI3OTcxODkgMTAwNjQ0CiAgCSAgcmV0dXJuIHZhbHVlX2Nhc3QgKGxvb2t1 cF9wb2ludGVyX3R5cGUgKFRZUEVfVEFSR0VUX1RZUEUgKHR5cGUpKSwKICAJCQkgICAgIHZhbCk7 CiAgCX0KLUBAIC0zMDM4LDkgKzMyMDMsMTMgQEAgZXZhbHVhdGVfc3ViZXhwX2Zvcl9zaXplb2Yg KHN0cnVjdCBleHByZXNzaW9uICpleHAsIGludCAqcG9zKQorQEAgLTMwMzUsOSArMzIwMCwxMyBA QCBldmFsdWF0ZV9zdWJleHBfZm9yX3NpemVvZiAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwgaW50 ICpwb3MpCiAgCiAgICAgIGNhc2UgT1BfVkFSX1ZBTFVFOgogICAgICAgICgqcG9zKSArPSA0OwpA QCAtMTk2MSw3ICsxOTYxLDcgQEAgaW5kZXggYzk2MzBkZi4uYjc5NzE4OSAxMDA2NDQKICAKICAg ICAgZGVmYXVsdDoKICAgICAgICB2YWwgPSBldmFsdWF0ZV9zdWJleHAgKE5VTExfVFlQRSwgZXhw LCBwb3MsIEVWQUxfQVZPSURfU0lERV9FRkZFQ1RTKTsKLUBAIC0zMDcxLDE4ICszMjQwLDI1IEBA IHBhcnNlX2FuZF9ldmFsX3R5cGUgKGNoYXIgKnAsIGludCBsZW5ndGgpCitAQCAtMzA2OCwxOCAr MzIzNywyNSBAQCBwYXJzZV9hbmRfZXZhbF90eXBlIChjaGFyICpwLCBpbnQgbGVuZ3RoKQogIGlu dAogIGNhbGNfZjc3X2FycmF5X2RpbXMgKHN0cnVjdCB0eXBlICphcnJheV90eXBlKQogIHsKQEAg LTIwOTYsNyArMjA5Niw3IEBAIGluZGV4IGFhMzMyMzEuLmRmOTk4YzQgMTAwNjQ0CiAgICAgIHsK ICAgICAgY2FzZSBUWVBFX0NPREVfQVJSQVk6CiBkaWZmIC0tZ2l0IGEvZ2RiL2YtdmFscHJpbnQu YyBiL2dkYi9mLXZhbHByaW50LmMKLWluZGV4IDIyY2NhODMuLmIyYTJjYzMgMTAwNjQ0CitpbmRl eCBkMDFkNmVjLi44YTIxMTQ5IDEwMDY0NAogLS0tIGEvZ2RiL2YtdmFscHJpbnQuYwogKysrIGIv Z2RiL2YtdmFscHJpbnQuYwogQEAgLTUxLDE1ICs1MSwxNyBAQCBpbnQgZjc3X2FycmF5X29mZnNl dF90YmxbTUFYX0ZPUlRSQU5fRElNUyArIDFdWzJdOwpAQCAtMjM4Miw3ICsyMzgyLDcgQEAgaW5k ZXggZmZiN2Y1My4uYTJlN2U5NCAxMDA2NDQKICAKICBiIGludGVybmFsX2Vycm9yCiBkaWZmIC0t Z2l0IGEvZ2RiL2dkYnR5cGVzLmMgYi9nZGIvZ2RidHlwZXMuYwotaW5kZXggNTg4NTI0MS4uYTNk YjY2YSAxMDA2NDQKK2luZGV4IDEyNzMwZDcuLjVhNjE0ZTAgMTAwNjQ0CiAtLS0gYS9nZGIvZ2Ri dHlwZXMuYwogKysrIGIvZ2RiL2dkYnR5cGVzLmMKIEBAIC0zNyw2ICszNyw5IEBACkBAIC0yNzA5 LDcgKzI3MDksNyBAQCBpbmRleCA1ODg1MjQxLi5hM2RiNjZhIDEwMDY0NAogICAgICB9CiAgCiAg ICB0eXBlID0gbWFrZV9xdWFsaWZpZWRfdHlwZSAodHlwZSwgaW5zdGFuY2VfZmxhZ3MsIE5VTEwp OwotQEAgLTMzODcsMzMgKzM1MjIsNDIgQEAgdHlwZV9wYWlyX2VxIChjb25zdCB2b2lkICppdGVt X2xocywgY29uc3Qgdm9pZCAqaXRlbV9yaHMpCitAQCAtMzM4NCwzMyArMzUxOSw0MiBAQCB0eXBl X3BhaXJfZXEgKGNvbnN0IHZvaWQgKml0ZW1fbGhzLCBjb25zdCB2b2lkICppdGVtX3JocykKICB9 CiAgCiAgLyogQWxsb2NhdGUgdGhlIGhhc2ggdGFibGUgdXNlZCBieSBjb3B5X3R5cGVfcmVjdXJz aXZlIHRvIHdhbGsKQEAgLTI3NjcsNyArMjc2Nyw3IEBAIGluZGV4IDU4ODUyNDEuLmEzZGI2NmEg MTAwNjQ0CiAgICAgIHJldHVybiB0eXBlOwogIAogICAgLyogVGhpcyB0eXBlIHNob3VsZG4ndCBi ZSBwb2ludGluZyB0byBhbnkgdHlwZXMgaW4gb3RoZXIgb2JqZmlsZXM7Ci1AQCAtMzQyOCw5ICsz NTcyLDEwIEBAIGNvcHlfdHlwZV9yZWN1cnNpdmUgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLAor QEAgLTM0MjUsOSArMzU2OSwxMCBAQCBjb3B5X3R5cGVfcmVjdXJzaXZlIChzdHJ1Y3Qgb2JqZmls ZSAqb2JqZmlsZSwKICAgIG5ld190eXBlID0gYWxsb2NfdHlwZV9hcmNoIChnZXRfdHlwZV9hcmNo ICh0eXBlKSk7CiAgCiAgICAvKiBXZSBtdXN0IGFkZCB0aGUgbmV3IHR5cGUgdG8gdGhlIGhhc2gg dGFibGUgaW1tZWRpYXRlbHksIGluIGNhc2UKQEAgLTI3ODEsNyArMjc4MSw3IEBAIGluZGV4IDU4 ODUyNDEuLmEzZGI2NmEgMTAwNjQ0CiAgICBzdG9yZWQtPm9sZCA9IHR5cGU7CiAgICBzdG9yZWQt Pm5ldyA9IG5ld190eXBlOwogICAgKnNsb3QgPSBzdG9yZWQ7Ci1AQCAtMzQ0MSw2ICszNTg2LDIx IEBAIGNvcHlfdHlwZV9yZWN1cnNpdmUgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLAorQEAgLTM0 MzgsNiArMzU4MywyMSBAQCBjb3B5X3R5cGVfcmVjdXJzaXZlIChzdHJ1Y3Qgb2JqZmlsZSAqb2Jq ZmlsZSwKICAgIFRZUEVfT0JKRklMRV9PV05FRCAobmV3X3R5cGUpID0gMDsKICAgIFRZUEVfT1dO RVIgKG5ld190eXBlKS5nZGJhcmNoID0gZ2V0X3R5cGVfYXJjaCAodHlwZSk7CiAgCkBAIC0yODAz LDcgKzI4MDMsNyBAQCBpbmRleCA1ODg1MjQxLi5hM2RiNjZhIDEwMDY0NAogICAgaWYgKFRZUEVf TkFNRSAodHlwZSkpCiAgICAgIFRZUEVfTkFNRSAobmV3X3R5cGUpID0geHN0cmR1cCAoVFlQRV9O QU1FICh0eXBlKSk7CiAgICBpZiAoVFlQRV9UQUdfTkFNRSAodHlwZSkpCi1AQCAtMzQ0OSwxMiAr MzYwOSw0OCBAQCBjb3B5X3R5cGVfcmVjdXJzaXZlIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwK K0BAIC0zNDQ2LDEyICszNjA2LDQ4IEBAIGNvcHlfdHlwZV9yZWN1cnNpdmUgKHN0cnVjdCBvYmpm aWxlICpvYmpmaWxlLAogICAgVFlQRV9JTlNUQU5DRV9GTEFHUyAobmV3X3R5cGUpID0gVFlQRV9J TlNUQU5DRV9GTEFHUyAodHlwZSk7CiAgICBUWVBFX0xFTkdUSCAobmV3X3R5cGUpID0gVFlQRV9M RU5HVEggKHR5cGUpOwogIApAQCAtMjg1Miw3ICsyODUyLDcgQEAgaW5kZXggNTg4NTI0MS4uYTNk YjY2YSAxMDA2NDQKICAgICAgICBUWVBFX0ZJRUxEUyAobmV3X3R5cGUpID0gWENBTExPQyAobmZp ZWxkcywgc3RydWN0IGZpZWxkKTsKICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbmZpZWxkczsgaSsr KQogIAl7Ci1AQCAtMzQ2Myw4ICszNjU5LDggQEAgY29weV90eXBlX3JlY3Vyc2l2ZSAoc3RydWN0 IG9iamZpbGUgKm9iamZpbGUsCitAQCAtMzQ2MCw4ICszNjU2LDggQEAgY29weV90eXBlX3JlY3Vy c2l2ZSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCiAgCSAgVFlQRV9GSUVMRF9CSVRTSVpFIChu ZXdfdHlwZSwgaSkgPSBUWVBFX0ZJRUxEX0JJVFNJWkUgKHR5cGUsIGkpOwogIAkgIGlmIChUWVBF X0ZJRUxEX1RZUEUgKHR5cGUsIGkpKQogIAkgICAgVFlQRV9GSUVMRF9UWVBFIChuZXdfdHlwZSwg aSkKQEAgLTI4NjMsNyArMjg2Myw3IEBAIGluZGV4IDU4ODUyNDEuLmEzZGI2NmEgMTAwNjQ0CiAg CSAgaWYgKFRZUEVfRklFTERfTkFNRSAodHlwZSwgaSkpCiAgCSAgICBUWVBFX0ZJRUxEX05BTUUg KG5ld190eXBlLCBpKSA9IAogIAkgICAgICB4c3RyZHVwIChUWVBFX0ZJRUxEX05BTUUgKHR5cGUs IGkpKTsKLUBAIC0zNDk1LDI0ICszNjkxLDE4NCBAQCBjb3B5X3R5cGVfcmVjdXJzaXZlIChzdHJ1 Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKK0BAIC0zNDkyLDI0ICszNjg4LDE4NCBAQCBjb3B5X3R5cGVf cmVjdXJzaXZlIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKICAJfQogICAgICB9CiAgCkBAIC0z MDU1LDcgKzMwNTUsNyBAQCBpbmRleCA1ODg1MjQxLi5hM2RiNjZhIDEwMDY0NAogICAgLyogTWF5 YmUgY29weSB0aGUgdHlwZV9zcGVjaWZpYyBiaXRzLgogIAogICAgICAgTk9URSBkcm93LzIwMDUt MTItMDk6IFdlIGRvIG5vdCBjb3B5IHRoZSBDKystc3BlY2lmaWMgYml0cyBsaWtlCi1AQCAtMzUy OSw2ICszODg1LDE3IEBAIGNvcHlfdHlwZV9yZWN1cnNpdmUgKHN0cnVjdCBvYmpmaWxlICpvYmpm aWxlLAorQEAgLTM1MjYsNiArMzg4MiwxNyBAQCBjb3B5X3R5cGVfcmVjdXJzaXZlIChzdHJ1Y3Qg b2JqZmlsZSAqb2JqZmlsZSwKICAgIHJldHVybiBuZXdfdHlwZTsKICB9CiAgCkBAIC0zMDczLDcg KzMwNzMsNyBAQCBpbmRleCA1ODg1MjQxLi5hM2RiNjZhIDEwMDY0NAogIC8qIE1ha2UgYSBjb3B5 IG9mIHRoZSBnaXZlbiBUWVBFLCBleGNlcHQgdGhhdCB0aGUgcG9pbnRlciAmIHJlZmVyZW5jZQog ICAgIHR5cGVzIGFyZSBub3QgcHJlc2VydmVkLgogICAgIAotQEAgLTQwOTMsNiArNDQ2MCwxMyBA QCB2b2lkCitAQCAtNDA5MCw2ICs0NDU3LDEzIEBAIHZvaWQKICBfaW5pdGlhbGl6ZV9nZGJ0eXBl cyAodm9pZCkKICB7CiAgICBnZGJ0eXBlc19kYXRhID0gZ2RiYXJjaF9kYXRhX3JlZ2lzdGVyX3Bv c3RfaW5pdCAoZ2RidHlwZXNfcG9zdF9pbml0KTsKQEAgLTMwODgsNyArMzA4OCw3IEBAIGluZGV4 IDU4ODUyNDEuLmEzZGI2NmEgMTAwNjQ0CiAgCiAgICBhZGRfc2V0c2hvd196dWludGVnZXJfY21k ICgib3ZlcmxvYWQiLCBub19jbGFzcywgJm92ZXJsb2FkX2RlYnVnLAogZGlmZiAtLWdpdCBhL2dk Yi9nZGJ0eXBlcy5oIGIvZ2RiL2dkYnR5cGVzLmgKLWluZGV4IDhiMzQwYTMuLmFlYTFjOTYgMTAw NjQ0CitpbmRleCAwY2E3YTg3Li5jNjAyOWRjIDEwMDY0NAogLS0tIGEvZ2RiL2dkYnR5cGVzLmgK ICsrKyBiL2dkYi9nZGJ0eXBlcy5oCiBAQCAtMjI2LDYgKzIyNiwxMSBAQCBlbnVtIHR5cGVfaW5z dGFuY2VfZmxhZ192YWx1ZQpAQCAtMzMyMCw3ICszMzIwLDcgQEAgaW5kZXggOGIzNDBhMy4uYWVh MWM5NiAxMDA2NDQKICAKICBleHRlcm4gc3RydWN0IHR5cGUgKmNvcHlfdHlwZSAoY29uc3Qgc3Ry dWN0IHR5cGUgKnR5cGUpOwogZGlmZiAtLWdpdCBhL2dkYi9tYWluLmMgYi9nZGIvbWFpbi5jCi1p bmRleCBjOTQzOWJiLi42YzRhY2M0IDEwMDY0NAoraW5kZXggMDZmM2ZlYi4uMTQxYTAxYiAxMDA2 NDQKIC0tLSBhL2dkYi9tYWluLmMKICsrKyBiL2dkYi9tYWluLmMKIEBAIC0zNyw2ICszNyw3IEBA CkBAIC0zMzQwLDcgKzMzNDAsNyBAQCBpbmRleCBjOTQzOWJiLi42YzRhY2M0IDEwMDY0NAogICAg LyogVGhlc2UgYXJlIHN0YXRpYyBzbyB0aGF0IHdlIGNhbiB0YWtlIHRoZWlyIGFkZHJlc3MgaW4g YW4KICAgICAgIGluaXRpYWxpemVyLiAgKi8KICAgIHN0YXRpYyBpbnQgcHJpbnRfaGVscDsKLUBA IC01MDIsMTAgKzUwNSwxNCBAQCBjYXB0dXJlZF9tYWluICh2b2lkICpkYXRhKQorQEAgLTUwNCwx MCArNTA3LDE0IEBAIGNhcHR1cmVkX21haW4gKHZvaWQgKmRhdGEpCiAgICAgICAgeyJhcmdzIiwg bm9fYXJndW1lbnQsICZzZXRfYXJncywgMX0sCiAgICAgICAgeyJsIiwgcmVxdWlyZWRfYXJndW1l bnQsIDAsICdsJ30sCiAgICAgICAgeyJyZXR1cm4tY2hpbGQtcmVzdWx0Iiwgbm9fYXJndW1lbnQs ICZyZXR1cm5fY2hpbGRfcmVzdWx0LCAxfSwKQEAgLTMzNTYsNyArMzM1Niw3IEBAIGluZGV4IGM5 NDM5YmIuLjZjNGFjYzQgMTAwNjQ0CiAgICAgICAgewogIAlpbnQgb3B0aW9uX2luZGV4OwogIAot QEAgLTUyMyw2ICs1MzAsOSBAQCBjYXB0dXJlZF9tYWluICh2b2lkICpkYXRhKQorQEAgLTUyNSw2 ICs1MzIsOSBAQCBjYXB0dXJlZF9tYWluICh2b2lkICpkYXRhKQogIAkgIGNhc2UgMDoKICAJICAg IC8qIExvbmcgb3B0aW9uIHRoYXQganVzdCBzZXRzIGEgZmxhZy4gICovCiAgCSAgICBicmVhazsK QEAgLTMzNjYsNyArMzM2Niw3IEBAIGluZGV4IGM5NDM5YmIuLjZjNGFjYzQgMTAwNjQ0CiAgCSAg Y2FzZSBPUFRfU0U6CiAgCSAgICBzeW1hcmcgPSBvcHRhcmc7CiAgCSAgICBleGVjYXJnID0gb3B0 YXJnOwotQEAgLTczMSw3ICs3NDEsMzEgQEAgY2FwdHVyZWRfbWFpbiAodm9pZCAqZGF0YSkKK0BA IC03MzMsNyArNzQzLDMxIEBAIGNhcHR1cmVkX21haW4gKHZvaWQgKmRhdGEpCiAgCiAgICAvKiBO b3cgdGhhdCBnZGJfaW5pdCBoYXMgY3JlYXRlZCB0aGUgaW5pdGlhbCBpbmZlcmlvciwgd2UncmUg aW4KICAgICAgIHBvc2l0aW9uIHRvIHNldCBhcmdzIGZvciB0aGF0IGluZmVyaW9yLiAgKi8KQEAg LTMzOTksNyArMzM5OSw3IEBAIGluZGV4IGM5NDM5YmIuLjZjNGFjYzQgMTAwNjQ0CiAgICAgIHsK ICAgICAgICAvKiBUaGUgcmVtYWluaW5nIG9wdGlvbnMgYXJlIHRoZSBjb21tYW5kLWxpbmUgb3B0 aW9ucyBmb3IgdGhlCiAgCSBpbmZlcmlvci4gIFRoZSBmaXJzdCBvbmUgaXMgdGhlIHN5bS9leGVj IGZpbGUsIGFuZCB0aGUgcmVzdAotQEAgLTEwMTEsNyArMTA0NSw4IEBAIGNhcHR1cmVkX21haW4g KHZvaWQgKmRhdGEpCitAQCAtMTAxMyw3ICsxMDQ3LDggQEAgY2FwdHVyZWRfbWFpbiAodm9pZCAq ZGF0YSkKICAKICAgIC8qIFJlYWQgaW4gdGhlIG9sZCBoaXN0b3J5IGFmdGVyIGFsbCB0aGUgY29t bWFuZCBmaWxlcyBoYXZlIGJlZW4KICAgICAgIHJlYWQuICAqLwpAQCAtMzQwOSw3ICszNDA5LDcg QEAgaW5kZXggYzk0MzliYi4uNmM0YWNjNCAxMDA2NDQKICAKICAgIGlmIChiYXRjaF9mbGFnKQog ICAgICB7Ci1AQCAtMTAyMiwxMyArMTA1NywyNSBAQCBjYXB0dXJlZF9tYWluICh2b2lkICpkYXRh KQorQEAgLTEwMjQsMTMgKzEwNTksMjUgQEAgY2FwdHVyZWRfbWFpbiAodm9pZCAqZGF0YSkKICAg IC8qIFNob3cgdGltZSBhbmQvb3Igc3BhY2UgdXNhZ2UuICAqLwogICAgZG9fY2xlYW51cHMgKHBy ZV9zdGF0X2NoYWluKTsKICAKQEAgLTM0NDEsNyArMzQ0MSw3IEBAIGluZGV4IGM5NDM5YmIuLjZj NGFjYzQgMTAwNjQ0CiAgICAgIH0KICAgIC8qIE5vIGV4aXQgLS0gZXhpdCBpcyB0aHJvdWdoIHF1 aXRfY29tbWFuZC4gICovCiAgfQotQEAgLTEwNjAsNyArMTEwNywxMiBAQCBwcmludF9nZGJfaGVs cCAoc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSkKK0BAIC0xMDYyLDcgKzExMDksMTIgQEAgcHJpbnRf Z2RiX2hlbHAgKHN0cnVjdCB1aV9maWxlICpzdHJlYW0pCiAgICBmcHV0c191bmZpbHRlcmVkIChf KCJcCiAgVGhpcyBpcyB0aGUgR05VIGRlYnVnZ2VyLiAgVXNhZ2U6XG5cblwKICAgICAgZ2RiIFtv cHRpb25zXSBbZXhlY3V0YWJsZS1maWxlIFtjb3JlLWZpbGUgb3IgcHJvY2Vzcy1pZF1dXG5cCkBA IC0zNDU1LDcgKzM0NTUsNyBAQCBpbmRleCBjOTQzOWJiLi42YzRhY2M0IDEwMDY0NAogIE9wdGlv bnM6XG5cblwKICAiKSwgc3RyZWFtKTsKICAgIGZwdXRzX3VuZmlsdGVyZWQgKF8oIlwKLUBAIC0x MTAzLDcgKzExNTUsMTMgQEAgT3B0aW9uczpcblxuXAorQEAgLTExMDQsNyArMTE1NiwxMyBAQCBP cHRpb25zOlxuXG5cCiAgICBmcHV0c191bmZpbHRlcmVkIChfKCIgZmlsZXMuXG5cCiAgICAtLW5o ICAgICAgICAgICAgICAgRG8gbm90IHJlYWQgIiksIHN0cmVhbSk7CiAgICBmcHV0c191bmZpbHRl cmVkIChnZGJpbml0LCBzdHJlYW0pOwpAQCAtMzY4MSwxOCArMzY4MSwxOCBAQCBpbmRleCA4ZDI1 MzExLi4yMzNlZDQ2IDEwMDY0NAogIAkJCQkJCXZvaWQgKmRhdGEpLAogIAkJCSAgIHZvaWQgKmRh dGEpOwogZGlmZiAtLWdpdCBhL2dkYi9wcmludGNtZC5jIGIvZ2RiL3ByaW50Y21kLmMKLWluZGV4 IGE1NzZkODguLjI3M2E1ZTEgMTAwNjQ0CitpbmRleCAxNTU3MDNkLi41NDVhNjE1IDEwMDY0NAog LS0tIGEvZ2RiL3ByaW50Y21kLmMKICsrKyBiL2dkYi9wcmludGNtZC5jCi1AQCAtNTAsNiArNTAs NyBAQAotICNpbmNsdWRlICJhcmNoLXV0aWxzLmgiCitAQCAtNTEsNiArNTEsNyBAQAogICNpbmNs dWRlICJjbGkvY2xpLXV0aWxzLmgiCiAgI2luY2x1ZGUgImZvcm1hdC5oIgorICNpbmNsdWRlICJz b3VyY2UuaCIKICsjaW5jbHVkZSAiZHdhcmYybG9jLmgiCiAgCiAgI2lmZGVmIFRVSQogICNpbmNs dWRlICJ0dWkvdHVpLmgiCQkvKiBGb3IgdHVpX2FjdGl2ZSBldCBhbC4gICAqLwotQEAgLTk2Niw2 ICs5NjcsMTEgQEAgcHJpbnRfY29tbWFuZF8xIChjaGFyICpleHAsIGludCB2b2lkcHJpbnQpCitA QCAtOTY3LDYgKzk2OCwxMSBAQCBwcmludF9jb21tYW5kXzEgKGNoYXIgKmV4cCwgaW50IHZvaWRw cmludCkKICAgIGVsc2UKICAgICAgdmFsID0gYWNjZXNzX3ZhbHVlX2hpc3RvcnkgKDApOwogIApA QCAtMzcwNCw3ICszNzA0LDcgQEAgaW5kZXggYTU3NmQ4OC4uMjczYTVlMSAxMDA2NDQKICAgIGlm ICh2b2lkcHJpbnQgfHwgKHZhbCAmJiB2YWx1ZV90eXBlICh2YWwpICYmCiAgCQkgICAgVFlQRV9D T0RFICh2YWx1ZV90eXBlICh2YWwpKSAhPSBUWVBFX0NPREVfVk9JRCkpCiAgICAgIHsKLUBAIC0x MDM4LDYgKzEwNDQsOSBAQCBvdXRwdXRfY29tbWFuZCAoY2hhciAqZXhwLCBpbnQgZnJvbV90dHkp CitAQCAtMTAzOSw2ICsxMDQ1LDkgQEAgb3V0cHV0X2NvbW1hbmQgKGNoYXIgKmV4cCwgaW50IGZy b21fdHR5KQogIAogICAgdmFsID0gZXZhbHVhdGVfZXhwcmVzc2lvbiAoZXhwcik7CiAgCkBAIC0z NzE0LDcgKzM3MTQsNyBAQCBpbmRleCBhNTc2ZDg4Li4yNzNhNWUxIDEwMDY0NAogICAgYW5ub3Rh dGVfdmFsdWVfYmVnaW4gKHZhbHVlX3R5cGUgKHZhbCkpOwogIAogICAgZ2V0X2Zvcm1hdHRlZF9w cmludF9vcHRpb25zICgmb3B0cywgZm9ybWF0KTsKLUBAIC0xNDY2LDYgKzE0NzUsMjQgQEAgeF9j b21tYW5kIChjaGFyICpleHAsIGludCBmcm9tX3R0eSkKK0BAIC0xNDY3LDYgKzE0NzYsMjQgQEAg eF9jb21tYW5kIChjaGFyICpleHAsIGludCBmcm9tX3R0eSkKICAJc2V0X2ludGVybmFsdmFyIChs b29rdXBfaW50ZXJuYWx2YXIgKCJfXyIpLCBsYXN0X2V4YW1pbmVfdmFsdWUpOwogICAgICB9CiAg fQpAQCAtMzczOSw3ICszNzM5LDcgQEAgaW5kZXggYTU3NmQ4OC4uMjczYTVlMSAxMDA2NDQKICAM CiAgCiAgLyogQWRkIGFuIGV4cHJlc3Npb24gdG8gdGhlIGF1dG8tZGlzcGxheSBjaGFpbi4KLUBA IC0xOTYzLDYgKzE5OTAsMTAgQEAgcHJpbnRfdmFyaWFibGVfYW5kX3ZhbHVlIChjb25zdCBjaGFy ICpuYW1lLCBzdHJ1Y3Qgc3ltYm9sICp2YXIsCitAQCAtMTk2NCw2ICsxOTkxLDEwIEBAIHByaW50 X3ZhcmlhYmxlX2FuZF92YWx1ZSAoY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IHN5bWJvbCAqdmFy LAogICAgICAgIHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zIG9wdHM7CiAgCiAgICAgICAgdmFs ID0gcmVhZF92YXJfdmFsdWUgKHZhciwgZnJhbWUpOwpAQCAtMzc1MCw3ICszNzUwLDcgQEAgaW5k ZXggYTU3NmQ4OC4uMjczYTVlMSAxMDA2NDQKICAgICAgICBnZXRfdXNlcl9wcmludF9vcHRpb25z ICgmb3B0cyk7CiAgICAgICAgb3B0cy5kZXJlZl9yZWYgPSAxOwogICAgICAgIGNvbW1vbl92YWxf cHJpbnQgKHZhbCwgc3RyZWFtLCBpbmRlbnQsICZvcHRzLCBjdXJyZW50X2xhbmd1YWdlKTsKLUBA IC0yNjAyLDQgKzI2MzMsOCBAQCBTaG93IHByaW50aW5nIG9mIHNvdXJjZSBmaWxlbmFtZSBhbmQg bGluZSBudW1iZXIgd2l0aCA8c3ltYm9sPi4iKSwgTlVMTCwKK0BAIC0yNjEzLDQgKzI2NDQsOCBA QCBTaG93IHByaW50aW5nIG9mIHNvdXJjZSBmaWxlbmFtZSBhbmQgbGluZSBudW1iZXIgd2l0aCA8 c3ltYm9sPi4iKSwgTlVMTCwKICAgIGFkZF9jb20gKCJldmFsIiwgbm9fY2xhc3MsIGV2YWxfY29t bWFuZCwgXygiXAogIENvbnZlcnQgXCJwcmludGYgZm9ybWF0IHN0cmluZ1wiLCBhcmcxLCBhcmcy LCBhcmczLCAuLi4sIGFyZ24gdG9cblwKICBhIGNvbW1hbmQgbGluZSwgYW5kIGNhbGwgaXQuIikp OwpAQCAtNDUyMiw3ICs0NTIyLDcgQEAgaW5kZXggMDAwMDAwMC4uZGViYjNiYgogKwogK0luU2Nv cGUgKCkKIGRpZmYgLS1naXQgYS9nZGIvcHl0aG9uL3B5LXR5cGUuYyBiL2dkYi9weXRob24vcHkt dHlwZS5jCi1pbmRleCAzMWI3Nzc2Li41NjA4NWQxIDEwMDY0NAoraW5kZXggMDUxY2ZmMC4uZTJm MmViZSAxMDA2NDQKIC0tLSBhL2dkYi9weXRob24vcHktdHlwZS5jCiArKysgYi9nZGIvcHl0aG9u L3B5LXR5cGUuYwogQEAgLTMxLDYgKzMxLDggQEAKQEAgLTQ3NjIsNyArNDc2Miw3IEBAIGluZGV4 IDExY2MwMzguLmVmMjM4ZjYgMTAwNjQ0CiAgCiAgDAogZGlmZiAtLWdpdCBhL2dkYi9weXRob24v cHl0aG9uLmMgYi9nZGIvcHl0aG9uL3B5dGhvbi5jCi1pbmRleCBiMGY3MWEyLi5kMjI0OGMxIDEw MDY0NAoraW5kZXggOGRkNjVhMS4uODJjNmM4NiAxMDA2NDQKIC0tLSBhL2dkYi9weXRob24vcHl0 aG9uLmMKICsrKyBiL2dkYi9weXRob24vcHl0aG9uLmMKIEBAIC02Niw2ICs2Niw4IEBAIHN0YXRp YyBjb25zdCBjaGFyICpnZGJweV9zaG91bGRfcHJpbnRfc3RhY2sgPSBweXRob25fZXhjcF9tZXNz YWdlOwpAQCAtNDgyOCw3ICs0ODI4LDcgQEAgaW5kZXggYjBmNzFhMi4uZDIyNDhjMSAxMDA2NDQK ICAKICBzdGF0aWMgUHlPYmplY3QgKgogIGdkYnB5X2dldF9jdXJyZW50X3Byb2dzcGFjZSAoUHlP YmplY3QgKnVudXNlZDEsIFB5T2JqZWN0ICp1bnVzZWQyKQotQEAgLTE3MzQsNiArMTc4Myw4IEBA IHN0YXRpYyBQeU1ldGhvZERlZiBHZGJNZXRob2RzW10gPQorQEAgLTE3MzMsNiArMTc4Miw4IEBA IHN0YXRpYyBQeU1ldGhvZERlZiBHZGJNZXRob2RzW10gPQogICAgICAiR2V0IGEgdmFsdWUgZnJv bSBoaXN0b3J5IiB9LAogICAgeyAiZXhlY3V0ZSIsIChQeUNGdW5jdGlvbikgZXhlY3V0ZV9nZGJf Y29tbWFuZCwgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKICAgICAgIkV4ZWN1dGUgYSBn ZGIgY29tbWFuZCIgfSwKQEAgLTQ4NTEsMTAgKzQ4NTEsMTAgQEAgaW5kZXggMjRlMzA3Ny4uMDQ0 MzA4NyAxMDA2NDQKICAJCQkgICAgICBpbnQgZW1iZWRkZWRfb2Zmc2V0LCBDT1JFX0FERFIgYWRk cmVzcywKICAJCQkgICAgICBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKIGRp ZmYgLS1naXQgYS9nZGIvc3RhY2suYyBiL2dkYi9zdGFjay5jCi1pbmRleCBhOWRhYmI1Li42Yzc4 NDM2IDEwMDY0NAoraW5kZXggMTQ3ZDgxNS4uNTExMTVjZiAxMDA2NDQKIC0tLSBhL2dkYi9zdGFj ay5jCiArKysgYi9nZGIvc3RhY2suYwotQEAgLTUxMCw2ICs1MTAsMTAgQEAgcHJpbnRfZnJhbWVf YXJncyAoc3RydWN0IHN5bWJvbCAqZnVuYywgc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLAorQEAg LTUwOCw2ICs1MDgsMTAgQEAgcHJpbnRfZnJhbWVfYXJncyAoc3RydWN0IHN5bWJvbCAqZnVuYywg c3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLAogICAgc3RiID0gbWVtX2ZpbGVvcGVuICgpOwogICAg b2xkX2NoYWluID0gbWFrZV9jbGVhbnVwX3VpX2ZpbGVfZGVsZXRlIChzdGIpOwogIApAQCAtNzky OSw3ICs3OTI5LDcgQEAgaW5kZXggMDAwMDAwMC4uNDc0N2VhOQogKyAgd3JpdGUgKCosKikgYSAg ICAgICAgICAgICAgICAgISBicmVhay1zdGF0aWMKICtlbmQKIGRpZmYgLS1naXQgYS9nZGIvdGVz dHN1aXRlL2dkYi5nZGIvc2VsZnRlc3QuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZ2RiL3NlbGZ0 ZXN0LmV4cAotaW5kZXggMzUxZmE4Ny4uMGI1ZGI2ZSAxMDA2NDQKK2luZGV4IDU1ZTEzY2YuLjQ0 MWMyOGIgMTAwNjQ0CiAtLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5nZGIvc2VsZnRlc3QuZXhwCiAr KysgYi9nZGIvdGVzdHN1aXRlL2dkYi5nZGIvc2VsZnRlc3QuZXhwCiBAQCAtOTEsNiArOTEsMTAg QEAgcHJvYyBkb19zdGVwc19hbmRfbmV4dHMge30gewpAQCAtNzk3Nyw3ICs3OTc3LDcgQEAgaW5k ZXggMDAwMDAwMC4uZWJjZWQzYwogK30KIGRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5t aS9taTItdmFyLXN0YWxlLXR5cGUuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWkyLXZhci1z dGFsZS10eXBlLmV4cAogbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLjc0YTEw NGUKK2luZGV4IDAwMDAwMDAuLjk5YjZjYzcKIC0tLSAvZGV2L251bGwKICsrKyBiL2dkYi90ZXN0 c3VpdGUvZ2RiLm1pL21pMi12YXItc3RhbGUtdHlwZS5leHAKIEBAIC0wLDAgKzEsNTcgQEAKQEAg LTgwMjcsNyArODAyNyw3IEBAIGluZGV4IDAwMDAwMDAuLjc0YTEwNGUKICtzZXQgZnVuYyAibWFp biIKICsKICttaV9nZGJfdGVzdCAiLWJyZWFrLWluc2VydCAtdCAkc3JjZmlsZTokbGluZSIgXAot KyAgIlxcXmRvbmUsYmtwdD1ce251bWJlcj1cIlxbMC05XF0rXCIsdHlwZT1cImJyZWFrcG9pbnRc IixkaXNwPVwiZGVsXCIsZW5hYmxlZD1cInlcIixhZGRyPVwiJGhleFwiLGZ1bmM9XCIkZnVuY1wo XFxcKC4qXFxcKVwpP1wiLGZpbGU9XCIuKlwiLGxpbmU9XCIkbGluZVwiLHRpbWVzPVwiMFwiLG9y aWdpbmFsLWxvY2F0aW9uPVwiLipcIlx9IiBcCisrICAiXFxeZG9uZSxia3B0PVx7bnVtYmVyPVwi XFswLTlcXStcIix0eXBlPVwiYnJlYWtwb2ludFwiLGRpc3A9XCJkZWxcIixlbmFibGVkPVwieVwi LGFkZHI9XCIkaGV4XCIsZnVuYz1cIiRmdW5jXChcXFwoLipcXFwpXCk/XCIsZmlsZT1cIi4qXCIs ZnVsbG5hbWU9XCIuKlwiLGxpbmU9XCIkbGluZVwiLFxbXlxyXG5cXSosb3JpZ2luYWwtbG9jYXRp b249XCIuKlwiXH0iIFwKICsgICJicmVha3BvaW50IGF0ICRmdW5jIgogKwogK2lmIHsgW21pX3J1 bl9jbWRdIDwgMCB9IHsKQEAgLTgzMzgsMTAgKzgzMzgsMTAgQEAgaW5kZXggMDAwMDAwMC4uMjk1 NjAyZAogKyAgd3JpdGVsbihzKTsgeyBzZXQgYnJlYWtwb2ludCAyIGhlcmUgfQogK2VuZC4KIGRp ZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZnJhbWUuZXhwIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIucHl0aG9uL3B5LWZyYW1lLmV4cAotaW5kZXggYWE0ZDkzNy4uNjBkMmNjOCAx MDA2NDQKK2luZGV4IDgwNmRhOTQuLmIyMjIzMWEgMTAwNjQ0CiAtLS0gYS9nZGIvdGVzdHN1aXRl L2dkYi5weXRob24vcHktZnJhbWUuZXhwCiArKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24v cHktZnJhbWUuZXhwCi1AQCAtOTAsMyArOTAsNSBAQCBnZGJfdGVzdCAicHl0aG9uIHByaW50ICgn cmVzdWx0ID0gJXMnICUgZjAucmVhZF92YXIgKCd2YXJpYWJsZV93aGljaF9zdXJlbHlfZG9lcwor QEAgLTk0LDMgKzk0LDUgQEAgZ2RiX3Rlc3QgInB5dGhvbiBwcmludCAoJ3Jlc3VsdCA9ICVzJyAl IGYwLnJlYWRfdmFyICgndmFyaWFibGVfd2hpY2hfc3VyZWx5X2RvZXMKICBnZGJfdGVzdCAicHl0 aG9uIHByaW50ICgncmVzdWx0ID0gJXMnICUgZjAucmVhZF92YXIgKCdhJykpIiAiID0gMSIgInRl c3QgRnJhbWUucmVhZF92YXIgLSBzdWNjZXNzIgogIAogIGdkYl90ZXN0ICJweXRob24gcHJpbnQg KCdyZXN1bHQgPSAlcycgJSAoZ2RiLnNlbGVjdGVkX2ZyYW1lICgpID09IGYxKSkiICIgPSBUcnVl IiAidGVzdCBnZGIuc2VsZWN0ZWRfZnJhbWUiCkBAIC04NDI3LDcgKzg0MjcsNyBAQCBpbmRleCA1 NjlmYjAyLi5jYWNlY2Y0IDEwMDY0NAogICAgICBzZXQgcGFzY2FsX2luaXRfZG9uZSAxCiAgfSAg IAogZGlmZiAtLWdpdCBhL2dkYi90b3AuYyBiL2dkYi90b3AuYwotaW5kZXggZTlkNmMxYy4uN2Zl NmFkMSAxMDA2NDQKK2luZGV4IGU5YTQwZmMuLmRlMDUxYzggMTAwNjQ0CiAtLS0gYS9nZGIvdG9w LmMKICsrKyBiL2dkYi90b3AuYwogQEAgLTM1MCw2ICszNTAsOSBAQCBwcmVwYXJlX2V4ZWN1dGVf Y29tbWFuZCAodm9pZCkKQEAgLTg0NzksMTAgKzg0NzksMTAgQEAgaW5kZXggMmQ1YTZhZi4uNTI1 MWUzZiAxMDA2NDQKICAKICAgIGdldF91c2VyX3ByaW50X29wdGlvbnMgKCZvcHRzKTsKIGRpZmYg LS1naXQgYS9nZGIvdXRpbHMuYyBiL2dkYi91dGlscy5jCi1pbmRleCA4YmFlNGViLi42ZWI1ODc3 IDEwMDY0NAoraW5kZXggZWI5OWY0Yi4uMmUxN2U4ZSAxMDA2NDQKIC0tLSBhL2dkYi91dGlscy5j CiArKysgYi9nZGIvdXRpbHMuYwotQEAgLTE4MjEsNiArMTgyMSwzNiBAQCBzZXRfYmF0Y2hfZmxh Z19hbmRfbWFrZV9jbGVhbnVwX3Jlc3RvcmVfcGFnZV9pbmZvICh2b2lkKQorQEAgLTE4MDQsNiAr MTgwNCwzNiBAQCBzZXRfYmF0Y2hfZmxhZ19hbmRfbWFrZV9jbGVhbnVwX3Jlc3RvcmVfcGFnZV9p bmZvICh2b2lkKQogICAgcmV0dXJuIGJhY2tfdG87CiAgfQogIApAQCAtODUyMCwxMCArODUyMCwx MCBAQCBpbmRleCA4YmFlNGViLi42ZWI1ODc3IDEwMDY0NAogIAogIHN0YXRpYyB2b2lkCiBkaWZm IC0tZ2l0IGEvZ2RiL3V0aWxzLmggYi9nZGIvdXRpbHMuaAotaW5kZXggNjk4M2E1My4uMGVmYTU1 MyAxMDA2NDQKK2luZGV4IDUyYmNhZmYuLjZhYjQxN2IgMTAwNjQ0CiAtLS0gYS9nZGIvdXRpbHMu aAogKysrIGIvZ2RiL3V0aWxzLmgKLUBAIC0zODAsNCArMzgwLDYgQEAgZXh0ZXJuIGludCBteXJl YWQgKGludCwgY2hhciAqLCBpbnQpOworQEAgLTM3NSw0ICszNzUsNiBAQCBleHRlcm4gaW50IG15 cmVhZCAoaW50LCBjaGFyICosIGludCk7CiAgZXh0ZXJuIFVMT05HRVNUIGFsaWduX3VwIChVTE9O R0VTVCB2LCBpbnQgbik7CiAgZXh0ZXJuIFVMT05HRVNUIGFsaWduX2Rvd24gKFVMT05HRVNUIHYs IGludCBuKTsKICAKQEAgLTg1MzEsNyArODUzMSw3IEBAIGluZGV4IDY5ODNhNTMuLjBlZmE1NTMg MTAwNjQ0CiArCiAgI2VuZGlmIC8qIFVUSUxTX0ggKi8KIGRpZmYgLS1naXQgYS9nZGIvdmFsYXJp dGguYyBiL2dkYi92YWxhcml0aC5jCi1pbmRleCAwNzRjZjM2Li41YzQ0ZWRjIDEwMDY0NAoraW5k ZXggMThjMTRmYy4uMGEzYTNhYSAxMDA2NDQKIC0tLSBhL2dkYi92YWxhcml0aC5jCiArKysgYi9n ZGIvdmFsYXJpdGguYwogQEAgLTE5NSw3ICsxOTUsMTAgQEAgdmFsdWVfc3Vic2NyaXB0ZWRfcnZh bHVlIChzdHJ1Y3QgdmFsdWUgKmFycmF5LCBMT05HRVNUIGluZGV4LCBpbnQgbG93ZXJib3VuZCkK QEAgLTg1NTgsNyArODU1OCw3IEBAIGluZGV4IDA3NGNmMzYuLjVjNDRlZGMgMTAwNjQ0CiAgfQog IAogZGlmZiAtLWdpdCBhL2dkYi92YWxvcHMuYyBiL2dkYi92YWxvcHMuYwotaW5kZXggZTNkMzZh MS4uYTZiZGE0ZCAxMDA2NDQKK2luZGV4IDkzYzA5ZDguLmFlZjA5OTEgMTAwNjQ0CiAtLS0gYS9n ZGIvdmFsb3BzLmMKICsrKyBiL2dkYi92YWxvcHMuYwogQEAgLTQ1LDYgKzQ1LDcgQEAKQEAgLTg1 NjksNyArODU2OSw3IEBAIGluZGV4IGUzZDM2YTEuLmE2YmRhNGQgMTAwNjQ0CiAgCiAgZXh0ZXJu IHVuc2lnbmVkIGludCBvdmVybG9hZF9kZWJ1ZzsKICAvKiBMb2NhbCBmdW5jdGlvbnMuICAqLwot QEAgLTkxOSw2ICs5MjAsNjUgQEAgdmFsdWVfb25lIChzdHJ1Y3QgdHlwZSAqdHlwZSkKK0BAIC05 MDMsNiArOTA0LDY1IEBAIHZhbHVlX29uZSAoc3RydWN0IHR5cGUgKnR5cGUpCiAgICByZXR1cm4g dmFsOwogIH0KICAKQEAgLTg2MzUsNyArODYzNSw3IEBAIGluZGV4IGUzZDM2YTEuLmE2YmRhNGQg MTAwNjQ0CiAgLyogSGVscGVyIGZ1bmN0aW9uIGZvciB2YWx1ZV9hdCwgdmFsdWVfYXRfbGF6eSwg YW5kIHZhbHVlX2F0X2xhenlfc3RhY2suICAqLwogIAogIHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKgot QEAgLTk4MSw3ICsxMDQxLDggQEAgaW50CitAQCAtOTY1LDcgKzEwMjUsOCBAQCBpbnQKICB2YWx1 ZV9mZXRjaF9sYXp5IChzdHJ1Y3QgdmFsdWUgKnZhbCkKICB7CiAgICBnZGJfYXNzZXJ0ICh2YWx1 ZV9sYXp5ICh2YWwpKTsKQEAgLTg2NDUsNyArODY0NSw3IEBAIGluZGV4IGUzZDM2YTEuLmE2YmRh NGQgMTAwNjQ0CiAgICBpZiAodmFsdWVfYml0c2l6ZSAodmFsKSkKICAgICAgewogICAgICAgIC8q IFRvIHJlYWQgYSBsYXp5IGJpdGZpZWxkLCByZWFkIHRoZSBlbnRpcmUgZW5jbG9zaW5nIHZhbHVl LiAgVGhpcwotQEAgLTEwMTQsMTMgKzEwNzUsMjQgQEAgdmFsdWVfZmV0Y2hfbGF6eSAoc3RydWN0 IHZhbHVlICp2YWwpCitAQCAtOTk4LDEzICsxMDU5LDI0IEBAIHZhbHVlX2ZldGNoX2xhenkgKHN0 cnVjdCB2YWx1ZSAqdmFsKQogICAgICB9CiAgICBlbHNlIGlmIChWQUxVRV9MVkFMICh2YWwpID09 IGx2YWxfbWVtb3J5KQogICAgICB7CkBAIC04NzE4LDcgKzg3MTgsNyBAQCBpbmRleCBlM2QzNmEx Li5hNmJkYTRkIDEwMDY0NAogIH0KICAKICAvKiBHaXZlbiBhIHZhbHVlIHdoaWNoIGlzIGEgZnVu Y3Rpb24sIHJldHVybiBhIHZhbHVlIHdoaWNoIGlzIGEgcG9pbnRlcgotQEAgLTM3MjQsNiArMzgx Miw4IEBAIHZhbHVlX3NsaWNlIChzdHJ1Y3QgdmFsdWUgKmFycmF5LCBpbnQgbG93Ym91bmQsIGlu dCBsZW5ndGgpCitAQCAtMzcyMSw2ICszODA5LDggQEAgdmFsdWVfc2xpY2UgKHN0cnVjdCB2YWx1 ZSAqYXJyYXksIGludCBsb3dib3VuZCwgaW50IGxlbmd0aCkKICAJCQkJCVRZUEVfVEFSR0VUX1RZ UEUgKHJhbmdlX3R5cGUpLAogIAkJCQkJbG93Ym91bmQsIAogIAkJCQkJbG93Ym91bmQgKyBsZW5n dGggLSAxKTsKQEAgLTg3MjgsNyArODcyOCw3IEBAIGluZGV4IGUzZDM2YTEuLmE2YmRhNGQgMTAw NjQ0CiAgICAgIHsKICAgICAgICBzdHJ1Y3QgdHlwZSAqZWxlbWVudF90eXBlID0gVFlQRV9UQVJH RVRfVFlQRSAoYXJyYXlfdHlwZSk7CiBkaWZmIC0tZ2l0IGEvZ2RiL3ZhbHByaW50LmMgYi9nZGIv dmFscHJpbnQuYwotaW5kZXggNDJkYWNjNS4uNjk3N2Y2MiAxMDA2NDQKK2luZGV4IDA1ZDZjM2Uu LjU0MzBlNjYgMTAwNjQ0CiAtLS0gYS9nZGIvdmFscHJpbnQuYwogKysrIGIvZ2RiL3ZhbHByaW50 LmMKIEBAIC0zNyw2ICszNyw3IEBACkBAIC04NzQ3LDcgKzg3NDcsNyBAQCBpbmRleCA0MmRhY2M1 Li42OTc3ZjYyIDEwMDY0NAogICAgICAgIHJldHVybiAwOwogICAgICBkZWZhdWx0OgogICAgICAg IHJldHVybiAxOwotQEAgLTE2MDUsNiArMTYwNSw3IEBAIHZhbF9wcmludF9hcnJheV9lbGVtZW50 cyAoc3RydWN0IHR5cGUgKnR5cGUsCitAQCAtMTYwNCw2ICsxNjA0LDcgQEAgdmFsX3ByaW50X2Fy cmF5X2VsZW1lbnRzIChzdHJ1Y3QgdHlwZSAqdHlwZSwKICB7CiAgICB1bnNpZ25lZCBpbnQgdGhp bmdzX3ByaW50ZWQgPSAwOwogICAgdW5zaWduZWQgbGVuOwpAQCAtODc1NSw3ICs4NzU1LDcgQEAg aW5kZXggNDJkYWNjNS4uNjk3N2Y2MiAxMDA2NDQKICAgIHN0cnVjdCB0eXBlICplbHR0eXBlLCAq aW5kZXhfdHlwZTsKICAgIHVuc2lnbmVkIGVsdGxlbjsKICAgIC8qIFBvc2l0aW9uIG9mIHRoZSBh cnJheSBlbGVtZW50IHdlIGFyZSBleGFtaW5pbmcgdG8gc2VlCi1AQCAtMTYxMyw5ICsxNjE0LDMz IEBAIHZhbF9wcmludF9hcnJheV9lbGVtZW50cyAoc3RydWN0IHR5cGUgKnR5cGUsCitAQCAtMTYx Miw5ICsxNjEzLDMzIEBAIHZhbF9wcmludF9hcnJheV9lbGVtZW50cyAoc3RydWN0IHR5cGUgKnR5 cGUsCiAgICAvKiBOdW1iZXIgb2YgcmVwZXRpdGlvbnMgd2UgaGF2ZSBkZXRlY3RlZCBzbyBmYXIu ICAqLwogICAgdW5zaWduZWQgaW50IHJlcHM7CiAgICBMT05HRVNUIGxvd19ib3VuZCwgaGlnaF9i b3VuZDsKQEAgLTg3OTEsNyArODc5MSw3IEBAIGluZGV4IDQyZGFjYzUuLjY5NzdmNjIgMTAwNjQ0 CiAgICBpbmRleF90eXBlID0gVFlQRV9JTkRFWF9UWVBFICh0eXBlKTsKICAKICAgIGlmIChnZXRf YXJyYXlfYm91bmRzICh0eXBlLCAmbG93X2JvdW5kLCAmaGlnaF9ib3VuZCkpCi1AQCAtMTcwMiw2 ICsxNzI3LDggQEAgdmFsX3ByaW50X2FycmF5X2VsZW1lbnRzIChzdHJ1Y3QgdHlwZSAqdHlwZSwK K0BAIC0xNzAxLDYgKzE3MjYsOCBAQCB2YWxfcHJpbnRfYXJyYXlfZWxlbWVudHMgKHN0cnVjdCB0 eXBlICp0eXBlLAogICAgICB7CiAgICAgICAgZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFtLCAiLi4u Iik7CiAgICAgIH0KQEAgLTg4MDEsNyArODgwMSw3IEBAIGluZGV4IDQyZGFjYzUuLjY5NzdmNjIg MTAwNjQ0CiAgCiAgLyogUmVhZCBMRU4gYnl0ZXMgb2YgdGFyZ2V0IG1lbW9yeSBhdCBhZGRyZXNz IE1FTUFERFIsIHBsYWNpbmcgdGhlCiBkaWZmIC0tZ2l0IGEvZ2RiL3ZhbHVlLmMgYi9nZGIvdmFs dWUuYwotaW5kZXggZWM0YjA5MC4uOTZhMzA4ZiAxMDA2NDQKK2luZGV4IDRiNzBlY2UuLjc0NDlj MmEgMTAwNjQ0CiAtLS0gYS9nZGIvdmFsdWUuYwogKysrIGIvZ2RiL3ZhbHVlLmMKIEBAIC00Miw2 ICs0Miw3IEBACkBAIC04ODEyLDcgKzg4MTIsNyBAQCBpbmRleCBlYzRiMDkwLi45NmEzMDhmIDEw MDY0NAogIAogIC8qIFByb3RvdHlwZXMgZm9yIGV4cG9ydGVkIGZ1bmN0aW9ucy4gICovCiAgCi1A QCAtMTQ0MCwxMiArMTQ0MSwxNSBAQCB2b2lkCitAQCAtMTQzNSwxMiArMTQzNiwxNSBAQCB2b2lk CiAgc2V0X3ZhbHVlX2NvbXBvbmVudF9sb2NhdGlvbiAoc3RydWN0IHZhbHVlICpjb21wb25lbnQs CiAgCQkJICAgICAgY29uc3Qgc3RydWN0IHZhbHVlICp3aG9sZSkKICB7CkBAIC04ODI4LDcgKzg4 MjgsNyBAQCBpbmRleCBlYzRiMDkwLi45NmEzMDhmIDEwMDY0NAogICAgaWYgKHdob2xlLT5sdmFs ID09IGx2YWxfY29tcHV0ZWQpCiAgICAgIHsKICAgICAgICBjb25zdCBzdHJ1Y3QgbHZhbF9mdW5j cyAqZnVuY3MgPSB3aG9sZS0+bG9jYXRpb24uY29tcHV0ZWQuZnVuY3M7Ci1AQCAtMTQ1Myw2ICsx NDU3LDEyIEBAIHNldF92YWx1ZV9jb21wb25lbnRfbG9jYXRpb24gKHN0cnVjdCB2YWx1ZSAqY29t cG9uZW50LAorQEAgLTE0NDgsNiArMTQ1MiwxMiBAQCBzZXRfdmFsdWVfY29tcG9uZW50X2xvY2F0 aW9uIChzdHJ1Y3QgdmFsdWUgKmNvbXBvbmVudCwKICAgICAgICBpZiAoZnVuY3MtPmNvcHlfY2xv c3VyZSkKICAgICAgICAgIGNvbXBvbmVudC0+bG9jYXRpb24uY29tcHV0ZWQuY2xvc3VyZSA9IGZ1 bmNzLT5jb3B5X2Nsb3N1cmUgKHdob2xlKTsKICAgICAgfQpAQCAtODg0MSw3ICs4ODQxLDcgQEAg aW5kZXggZWM0YjA5MC4uOTZhMzA4ZiAxMDA2NDQKICB9CiAgCiAgDAotQEAgLTE1ODYsNiArMTU5 NiwzMSBAQCBzaG93X3ZhbHVlcyAoY2hhciAqbnVtX2V4cCwgaW50IGZyb21fdHR5KQorQEAgLTE1 ODEsNiArMTU5MSwzMSBAQCBzaG93X3ZhbHVlcyAoY2hhciAqbnVtX2V4cCwgaW50IGZyb21fdHR5 KQogICAgICAgIG51bV9leHBbMV0gPSAnXDAnOwogICAgICB9CiAgfQpAQCAtODg3Myw3ICs4ODcz LDcgQEAgaW5kZXggZWM0YjA5MC4uOTZhMzA4ZiAxMDA2NDQKICAMCiAgLyogSW50ZXJuYWwgdmFy aWFibGVzLiAgVGhlc2UgYXJlIHZhcmlhYmxlcyB3aXRoaW4gdGhlIGRlYnVnZ2VyCiAgICAgdGhh dCBob2xkIHZhbHVlcyBhc3NpZ25lZCBieSBkZWJ1Z2dlciBjb21tYW5kcy4KLUBAIC0yMTIxLDYg KzIxNTYsMzggQEAgY2FsbF9pbnRlcm5hbF9mdW5jdGlvbiAoc3RydWN0IGdkYmFyY2ggKmdkYmFy Y2gsCitAQCAtMjExNiw2ICsyMTUxLDM4IEBAIGNhbGxfaW50ZXJuYWxfZnVuY3Rpb24gKHN0cnVj dCBnZGJhcmNoICpnZGJhcmNoLAogICAgcmV0dXJuICgqaWZuLT5oYW5kbGVyKSAoZ2RiYXJjaCwg bGFuZ3VhZ2UsIGlmbi0+Y29va2llLCBhcmdjLCBhcmd2KTsKICB9CiAgCkBAIC04OTEyLDcgKzg5 MTIsNyBAQCBpbmRleCBlYzRiMDkwLi45NmEzMDhmIDEwMDY0NAogIC8qIFRoZSAnZnVuY3Rpb24n IGNvbW1hbmQuICBUaGlzIGRvZXMgbm90aGluZyAtLSBpdCBpcyBqdXN0IGEKICAgICBwbGFjZWhv bGRlciB0byBsZXQgImhlbHAgZnVuY3Rpb24gTkFNRSIgd29yay4gIFRoaXMgaXMgYWxzbyB1c2Vk IGFzCiAgICAgdGhlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBzdWItY29tbWFuZCB0aGF0IGlzIGNy ZWF0ZWQgd2hlbgotQEAgLTIxNjgsMTEgKzIyMzUsMTAgQEAgcHJlc2VydmVfb25lX3ZhbHVlIChz dHJ1Y3QgdmFsdWUgKnZhbHVlLCBzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKK0BAIC0yMTYzLDEx ICsyMjMwLDEwIEBAIHByZXNlcnZlX29uZV92YWx1ZSAoc3RydWN0IHZhbHVlICp2YWx1ZSwgc3Ry dWN0IG9iamZpbGUgKm9iamZpbGUsCiAgCQkgICAgaHRhYl90IGNvcGllZF90eXBlcykKICB7CiAg ICBpZiAoVFlQRV9PQkpGSUxFICh2YWx1ZS0+dHlwZSkgPT0gb2JqZmlsZSkKQEAgLTg5MjYsNyAr ODkyNiw3IEBAIGluZGV4IGVjNGIwOTAuLjk2YTMwOGYgMTAwNjQ0CiAgCQkJCQkJIGNvcGllZF90 eXBlcyk7CiAgfQogIAotQEAgLTIxODcsNyArMjI1Myw3IEBAIHByZXNlcnZlX29uZV9pbnRlcm5h bHZhciAoc3RydWN0IGludGVybmFsdmFyICp2YXIsIHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLAor QEAgLTIxODIsNyArMjI0OCw3IEBAIHByZXNlcnZlX29uZV9pbnRlcm5hbHZhciAoc3RydWN0IGlu dGVybmFsdmFyICp2YXIsIHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLAogICAgICBjYXNlIElOVEVS TkFMVkFSX0lOVEVHRVI6CiAgICAgICAgaWYgKHZhci0+dS5pbnRlZ2VyLnR5cGUgJiYgVFlQRV9P QkpGSUxFICh2YXItPnUuaW50ZWdlci50eXBlKSA9PSBvYmpmaWxlKQogIAl2YXItPnUuaW50ZWdl ci50eXBlCkBAIC04OTM1LDcgKzg5MzUsNyBAQCBpbmRleCBlYzRiMDkwLi45NmEzMDhmIDEwMDY0 NAogICAgICAgIGJyZWFrOwogIAogICAgICBjYXNlIElOVEVSTkFMVkFSX1ZBTFVFOgotQEAgLTMy ODUsMTAgKzMzNTEsMjcgQEAgcmVhZGp1c3RfaW5kaXJlY3RfdmFsdWVfdHlwZSAoc3RydWN0IHZh bHVlICp2YWx1ZSwgc3RydWN0IHR5cGUgKmVuY190eXBlLAorQEAgLTMyODAsMTAgKzMzNDYsMjcg QEAgcmVhZGp1c3RfaW5kaXJlY3RfdmFsdWVfdHlwZSAoc3RydWN0IHZhbHVlICp2YWx1ZSwgc3Ry dWN0IHR5cGUgKmVuY190eXBlLAogIHN0cnVjdCB2YWx1ZSAqCiAgY29lcmNlX3JlZiAoc3RydWN0 IHZhbHVlICphcmcpCiAgewpAQCAtODk2NCw3ICs4OTY0LDcgQEAgaW5kZXggZWM0YjA5MC4uOTZh MzA4ZiAxMDA2NDQKICAgIHJldHZhbCA9IGNvZXJjZV9yZWZfaWZfY29tcHV0ZWQgKGFyZyk7CiAg ICBpZiAocmV0dmFsKQogICAgICByZXR1cm4gcmV0dmFsOwotQEAgLTM0MDAsNCArMzQ4MywxMCBA QCBWQVJJQUJMRSBpcyBhbHJlYWR5IGluaXRpYWxpemVkLiIpKTsKK0BAIC0zNDA1LDQgKzM0ODgs MTAgQEAgVkFSSUFCTEUgaXMgYWxyZWFkeSBpbml0aWFsaXplZC4iKSk7CiAgICBhZGRfcHJlZml4 X2NtZCAoImZ1bmN0aW9uIiwgbm9fY2xhc3MsIGZ1bmN0aW9uX2NvbW1hbmQsIF8oIlwKICBQbGFj ZWhvbGRlciBjb21tYW5kIGZvciBzaG93aW5nIGhlbHAgb24gY29udmVuaWVuY2UgZnVuY3Rpb25z LiIpLAogIAkJICAmZnVuY3Rpb25saXN0LCAiZnVuY3Rpb24gIiwgMCwgJmNtZGxpc3QpOwpAQCAt ODk3NiwxMCArODk3NiwxMCBAQCBpbmRleCBlYzRiMDkwLi45NmEzMDhmIDEwMDY0NAogKyNlbmRp ZgogIH0KIGRpZmYgLS1naXQgYS9nZGIvdmFsdWUuaCBiL2dkYi92YWx1ZS5oCi1pbmRleCA2N2Yx ZDA0Li4yZDJiODMwIDEwMDY0NAoraW5kZXggYzEwYzNlYy4uOGQwNzM0OCAxMDA2NDQKIC0tLSBh L2dkYi92YWx1ZS5oCiArKysgYi9nZGIvdmFsdWUuaAotQEAgLTUzMyw2ICs1MzMsMTAgQEAgZXh0 ZXJuIHN0cnVjdCB2YWx1ZSAqdmFsdWVfZnJvbV9kZWNmbG9hdCAoc3RydWN0IHR5cGUgKnR5cGUs CitAQCAtNTM3LDYgKzUzNywxMCBAQCBleHRlcm4gc3RydWN0IHZhbHVlICp2YWx1ZV9mcm9tX2Rl Y2Zsb2F0IChzdHJ1Y3QgdHlwZSAqdHlwZSwKICAJCQkJCSAgY29uc3QgZ2RiX2J5dGUgKmRlY2J5 dGVzKTsKICBleHRlcm4gc3RydWN0IHZhbHVlICp2YWx1ZV9mcm9tX2hpc3RvcnlfcmVmIChjaGFy ICosIGNoYXIgKiopOwogIAoKZGlmZiAtLWdpdCBhL2dkYi1hdHRhY2gtZmFpbC1yZWFzb25zLTVv ZjUucGF0Y2ggYi9nZGItYXR0YWNoLWZhaWwtcmVhc29ucy01b2Y1LnBhdGNoCmluZGV4IDc3MzQ1 N2UuLmE5OGUyNTYgMTAwNjQ0Ci0tLSBhL2dkYi1hdHRhY2gtZmFpbC1yZWFzb25zLTVvZjUucGF0 Y2gKKysrIGIvZ2RiLWF0dGFjaC1mYWlsLXJlYXNvbnMtNW9mNS5wYXRjaApAQCAtMzcsMTAgKzM3 LDEwIEBAIGdkYi9nZGJzZXJ2ZXIvCiAJKGxpbnV4X2NyZWF0ZV9pbmZlcmlvciwgbGludXhfdHJh Y2Vmb3JrX2NoaWxkKTogQ2FsbCBpdCBpbnN0ZWFkIG9mCiAJZGlyZWN0IHB0cmFjZS4KIAotSW5k ZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2NvbW1vbi9saW51eC1wdHJhY2UuYworSW5kZXg6 IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2NvbW1vbi9saW51eC1wdHJhY2UuYwogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvY29tbW9uL2xpbnV4LXB0cmFjZS5j CTIwMTMtMDEtMTggMjM6MTg6NDcuMzEzMzYwMDY1ICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEz MDExOC9nZGIvY29tbW9uL2xpbnV4LXB0cmFjZS5jCTIwMTMtMDEtMTggMjM6MTk6MjcuMjY5NDE3 MDUxICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9jb21tb24vbGludXgt cHRyYWNlLmMJMjAxMy0wMS0wOCAyMDozODo1MS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41 LjUwLjIwMTMwMjE1L2dkYi9jb21tb24vbGludXgtcHRyYWNlLmMJMjAxMy0wMi0xNSAyMjozODow NS43ODI0NTYyNzkgKzAxMDAKIEBAIC0yOSw2ICsyOSwxMCBAQAogICNpbmNsdWRlICJnZGJfYXNz ZXJ0LmgiCiAgI2luY2x1ZGUgImdkYl93YWl0LmgiCkBAIC04MSwxMCArODEsMTAgQEAgSW5kZXg6 IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2NvbW1vbi9saW51eC1wdHJhY2UuYwogKwkJCSAiKGdk Yikgc2hlbGwgc3VkbyBzZXRzZWJvb2wgZGVueV9wdHJhY2U9MCIpKTsKICsjZW5kaWYgLyogSEFW RV9MSUJTRUxJTlVYICovCiArfQotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2NvbW1v bi9saW51eC1wdHJhY2UuaAorSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2NvbW1vbi9s aW51eC1wdHJhY2UuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9n ZGIvY29tbW9uL2xpbnV4LXB0cmFjZS5oCTIwMTMtMDEtMTggMjM6MTg6NDcuMzEzMzYwMDY1ICsw MTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvY29tbW9uL2xpbnV4LXB0cmFjZS5oCTIw MTMtMDEtMTggMjM6MTk6MDQuOTkwMzg1MzYwICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIx NS5vcmlnL2dkYi9jb21tb24vbGludXgtcHRyYWNlLmgJMjAxMy0wMS0wMSAwNzozMjo1NC4wMDAw MDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9jb21tb24vbGludXgtcHRy YWNlLmgJMjAxMy0wMi0xNSAyMjozODowNS43ODI0NTYyNzkgKzAxMDAKIEBAIC02OSw1ICs2OSw2 IEBAIHN0cnVjdCBidWZmZXI7CiAgCiAgZXh0ZXJuIHZvaWQgbGludXhfcHRyYWNlX2F0dGFjaF93 YXJuaW5ncyAocGlkX3QgcGlkLCBzdHJ1Y3QgYnVmZmVyICpidWZmZXIpOwpAQCAtOTIsMTAgKzky LDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9jb21tb24vbGludXgtcHRyYWNl LmgKICtleHRlcm4gdm9pZCBsaW51eF9wdHJhY2VfY3JlYXRlX3dhcm5pbmdzIChzdHJ1Y3QgYnVm ZmVyICpidWZmZXIpOwogIAogICNlbmRpZiAvKiBDT01NT05fTElOVVhfUFRSQUNFX0ggKi8KLUlu ZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9jb25maWd1cmUuYWMKK0luZGV4OiBnZGItNy41 LjUwLjIwMTMwMjE1L2dkYi9jb25maWd1cmUuYWMKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUw LjIwMTMwMTE4Lm9yaWcvZ2RiL2NvbmZpZ3VyZS5hYwkyMDEzLTAxLTE4IDIzOjE4OjQ3LjMxNTM2 MDA2OSArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2NvbmZpZ3VyZS5hYwkyMDEz LTAxLTE4IDIzOjE5OjA0Ljk5MTM4NTM2MiArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUu b3JpZy9nZGIvY29uZmlndXJlLmFjCTIwMTMtMDItMTUgMjI6Mzc6NTcuMDAwMDAwMDAwICswMTAw CisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvY29uZmlndXJlLmFjCTIwMTMtMDItMTUgMjI6 Mzg6MDUuNzgzNDU2MjgxICswMTAwCiBAQCAtMjA2OCw2ICsyMDY4LDEwIEBAIHRoZW4KICAJICAg ICAgW0RlZmluZSBpZiB5b3Ugc3VwcG9ydCB0aGUgcGVyc29uYWxpdHkgc3lzY2FsbC5dKQogIGZp CkBAIC0xMDcsMTAgKzEwNywxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvY29u ZmlndXJlLmFjCiAgZG5sIEhhbmRsZSBvcHRpb25hbCBmZWF0dXJlcyB0aGF0IGNhbiBiZSBlbmFi bGVkLgogIAogICMgU3VwcG9ydCBmb3IgLS13aXRoLXN5c3Jvb3QgaXMgYSBjb3B5IG9mIEdEQl9B Q19XSVRIX0RJUiwKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9nZGJzZXJ2ZXIvY29u ZmlndXJlLmFjCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvZ2Ric2VydmVyL2NvbmZp Z3VyZS5hYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvZ2Ri c2VydmVyL2NvbmZpZ3VyZS5hYwkyMDEzLTAxLTE4IDIzOjE4OjQ3LjMxNTM2MDA2OSArMDEwMAot KysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2dkYnNlcnZlci9jb25maWd1cmUuYWMJMjAxMy0w MS0xOCAyMzoxOTowNC45OTEzODUzNjIgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9y aWcvZ2RiL2dkYnNlcnZlci9jb25maWd1cmUuYWMJMjAxMy0wMS0wMSAwNzozMzowMC4wMDAwMDAw MDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9nZGJzZXJ2ZXIvY29uZmlndXJl LmFjCTIwMTMtMDItMTUgMjI6Mzg6MDUuNzgzNDU2MjgxICswMTAwCiBAQCAtNDUxLDYgKzQ1MSwx MCBAQCBpZiAkd2FudF9pcGEgOyB0aGVuCiAgICAgZmkKICBmaQpAQCAtMTIyLDExICsxMjIsMTEg QEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2dkYnNlcnZlci9jb25maWd1cmUuYWMK ICBBQ19TVUJTVChHREJTRVJWRVJfREVQRklMRVMpCiAgQUNfU1VCU1QoR0RCU0VSVkVSX0xJQlMp CiAgQUNfU1VCU1QoVVNFX1RIUkVBRF9EQikKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dk Yi9nZGJzZXJ2ZXIvbGludXgtbG93LmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9n ZGJzZXJ2ZXIvbGludXgtbG93LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4 Lm9yaWcvZ2RiL2dkYnNlcnZlci9saW51eC1sb3cuYwkyMDEzLTAxLTE4IDIzOjE4OjQ3LjMxNzM2 MDA3MyArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2dkYnNlcnZlci9saW51eC1s b3cuYwkyMDEzLTAxLTE4IDIzOjE5OjA0Ljk5MzM4NTM2NiArMDEwMAotQEAgLTYwMSw2ICs2MDEs MjggQEAgYWRkX2x3cCAocHRpZF90IHB0aWQpCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmln L2dkYi9nZGJzZXJ2ZXIvbGludXgtbG93LmMJMjAxMy0wMi0wNCAxODo0NzowMC4wMDAwMDAwMDAg KzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9nZGJzZXJ2ZXIvbGludXgtbG93LmMJ MjAxMy0wMi0xNSAyMjozOTo1NC4yNTY1OTEwNjkgKzAxMDAKK0BAIC02MDIsNiArNjAyLDI5IEBA IGFkZF9sd3AgKHB0aWRfdCBwdGlkKQogICAgcmV0dXJuIGx3cDsKICB9CiAgCkBAIC0xMzksNyAr MTM5LDggQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2dkYnNlcnZlci9saW51eC1s b3cuYwogKyAgc3RydWN0IGJ1ZmZlciBidWZmZXI7CiArCiArICBlcnJubyA9IDA7Ci0rICBpZiAo cHRyYWNlIChQVFJBQ0VfVFJBQ0VNRSwgMCwgTlVMTCwgTlVMTCkgPT0gMCkKKysgIGlmIChwdHJh Y2UgKFBUUkFDRV9UUkFDRU1FLCAwLAorKwkgICAgICAoUFRSQUNFX0FSRzNfVFlQRSkgMCwgKFBU UkFDRV9BUkc0X1RZUEUpIDApID09IDApCiArICAgIHJldHVybjsKICsKICsgIHNhdmVfZXJybm8g PSBlcnJubzsKQEAgLTE1NSwyOCArMTU2LDI4IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4 L2dkYi9nZGJzZXJ2ZXIvbGludXgtbG93LmMKICAvKiBTdGFydCBhbiBpbmZlcmlvciBwcm9jZXNz IGFuZCByZXR1cm5zIGl0cyBwaWQuCiAgICAgQUxMQVJHUyBpcyBhIHZlY3RvciBvZiBwcm9ncmFt LW5hbWUgYW5kIGFyZ3MuICovCiAgCi1AQCAtNjQxLDcgKzY2Myw3IEBAIGxpbnV4X2NyZWF0ZV9p bmZlcmlvciAoY2hhciAqcHJvZ3JhbSwgY2gKK0BAIC02NDIsNyArNjY1LDcgQEAgbGludXhfY3Jl YXRlX2luZmVyaW9yIChjaGFyICpwcm9ncmFtLCBjaAogIAogICAgaWYgKHBpZCA9PSAwKQogICAg ICB7Ci0tICAgICAgcHRyYWNlIChQVFJBQ0VfVFJBQ0VNRSwgMCwgMCwgMCk7CistICAgICAgcHRy YWNlIChQVFJBQ0VfVFJBQ0VNRSwgMCwgKFBUUkFDRV9BUkczX1RZUEUpIDAsIChQVFJBQ0VfQVJH NF9UWVBFKSAwKTsKICsgICAgICBsaW51eF90cmFjZW1lIChwcm9ncmFtKTsKICAKICAjaWZuZGVm IF9fQU5EUk9JRF9fIC8qIEJpb25pYyBkb2Vzbid0IHVzZSBTSUdSVE1JTiB0aGUgd2F5IGdsaWJj IGRvZXMuICAqLwogICAgICAgIHNpZ25hbCAoX19TSUdSVE1JTiArIDEsIFNJR19ERkwpOwotQEAg LTQ1NzQsNyArNDU5Niw3IEBAIGxpbnV4X3RyYWNlZm9ya19ncmFuZGNoaWxkICh2b2lkICphcmcp CitAQCAtNDU4Nyw3ICs0NjEwLDcgQEAgbGludXhfdHJhY2Vmb3JrX2dyYW5kY2hpbGQgKHZvaWQg KmFyZykKICBzdGF0aWMgaW50CiAgbGludXhfdHJhY2Vmb3JrX2NoaWxkICh2b2lkICphcmcpCiAg ewotLSAgcHRyYWNlIChQVFJBQ0VfVFJBQ0VNRSwgMCwgMCwgMCk7CistICBwdHJhY2UgKFBUUkFD RV9UUkFDRU1FLCAwLCAoUFRSQUNFX0FSRzNfVFlQRSkgMCwgKFBUUkFDRV9BUkc0X1RZUEUpIDAp OwogKyAgbGludXhfdHJhY2VtZSAoIlBUUkFDRV9PX1RSQUNFRk9SSyB0ZXN0Iik7CiAgICBraWxs IChnZXRwaWQgKCksIFNJR1NUT1ApOwogIAogICNpZiAhKGRlZmluZWQoX19VQ0xJQkNfXykgJiYg ZGVmaW5lZChIQVNfTk9NTVUpKQotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2luZi1w dHJhY2UuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2luZi1wdHJhY2UuYwogPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvaW5mLXB0cmFjZS5jCTIw MTMtMDEtMTggMjM6MTg6NDcuMzE4MzYwMDc2ICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDEx OC9nZGIvaW5mLXB0cmFjZS5jCTIwMTMtMDEtMTggMjM6MTk6MDQuOTkzMzg1MzY2ICswMTAwCist LS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9pbmYtcHRyYWNlLmMJMjAxMy0wMS0wMSAw NzozMjo0NS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9pbmYt cHRyYWNlLmMJMjAxMy0wMi0xNSAyMjozODowNS43ODY0NTYyODkgKzAxMDAKIEBAIC0xMDQsNyAr MTA0LDE1IEBAIHN0YXRpYyB2b2lkCiAgaW5mX3B0cmFjZV9tZSAodm9pZCkKICB7CkBAIC0xOTMs MTEgKzE5NCwxMSBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvaW5mLXB0cmFjZS5j CiAgfQogIAogIC8qIFN0YXJ0IGEgbmV3IGluZmVyaW9yIFVuaXggY2hpbGQgcHJvY2Vzcy4gIEVY RUNfRklMRSBpcyB0aGUgZmlsZSB0bwotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2xp bnV4LW5hdC5jCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvbGludXgtbmF0LmMKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL2xpbnV4LW5hdC5jCTIw MTMtMDEtMTggMjM6MTg6NDcuMzIwMzYwMDgzICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDEx OC9nZGIvbGludXgtbmF0LmMJMjAxMy0wMS0xOCAyMzoxOTowNC45OTQzODUzNjkgKzAxMDAKLUBA IC0xNTc4LDYgKzE1NzgsNyBAQCBsaW51eF9uYXRfY3JlYXRlX2luZmVyaW9yIChzdHJ1Y3QgdGFy Z2V0CistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9saW51eC1uYXQuYwkyMDEzLTAy LTE1IDIyOjM0OjQ0LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2Ri L2xpbnV4LW5hdC5jCTIwMTMtMDItMTUgMjI6Mzg6MDUuNzg3NDU2MjkxICswMTAwCitAQCAtMTU1 Nyw2ICsxNTU3LDcgQEAgbGludXhfbmF0X2NyZWF0ZV9pbmZlcmlvciAoc3RydWN0IHRhcmdldAog ICNpZmRlZiBIQVZFX1BFUlNPTkFMSVRZCiAgICBpbnQgcGVyc29uYWxpdHlfb3JpZyA9IDAsIHBl cnNvbmFsaXR5X3NldCA9IDA7CiAgI2VuZGlmIC8qIEhBVkVfUEVSU09OQUxJVFkgKi8KQEAgLTIw NSw3ICsyMDYsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvbGludXgtbmF0LmMK ICAKICAgIC8qIFRoZSBmb3JrX2NoaWxkIG1lY2hhbmlzbSBpcyBzeW5jaHJvbm91cyBhbmQgY2Fs bHMgdGFyZ2V0X3dhaXQsIHNvCiAgICAgICB3ZSBoYXZlIHRvIG1hc2sgdGhlIGFzeW5jIG1vZGUu ICAqLwotQEAgLTE2MDIsNyArMTYwMywxMCBAQCBsaW51eF9uYXRfY3JlYXRlX2luZmVyaW9yIChz dHJ1Y3QgdGFyZ2V0CitAQCAtMTU4MSw3ICsxNTgyLDEwIEBAIGxpbnV4X25hdF9jcmVhdGVfaW5m ZXJpb3IgKHN0cnVjdCB0YXJnZXQKICAgIC8qIE1ha2Ugc3VyZSB3ZSByZXBvcnQgYWxsIHNpZ25h bHMgZHVyaW5nIHN0YXJ0dXAuICAqLwogICAgbGludXhfbmF0X3Bhc3Nfc2lnbmFscyAoMCwgTlVM TCk7CiAgCkBAIC0yMTcsNyArMjE4LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2Ri L2xpbnV4LW5hdC5jCiAgCiAgI2lmZGVmIEhBVkVfUEVSU09OQUxJVFkKICAgIGlmIChwZXJzb25h bGl0eV9zZXQpCi1AQCAtMTYxNCw2ICsxNjE4LDI0IEBAIGxpbnV4X25hdF9jcmVhdGVfaW5mZXJp b3IgKHN0cnVjdCB0YXJnZXQKK0BAIC0xNTkzLDYgKzE1OTcsMjQgQEAgbGludXhfbmF0X2NyZWF0 ZV9pbmZlcmlvciAoc3RydWN0IHRhcmdldAogIAkJIHNhZmVfc3RyZXJyb3IgKGVycm5vKSk7CiAg ICAgIH0KICAjZW5kaWYgLyogSEFWRV9QRVJTT05BTElUWSAqLwoKZGlmZiAtLWdpdCBhL2dkYi1j b21tb25ibG9jay1waWUucGF0Y2ggYi9nZGItY29tbW9uYmxvY2stcGllLnBhdGNoCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMTlhOTczLi4wMDAwMDAwCi0tLSBhL2dkYi1jb21tb25i bG9jay1waWUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw5OSArMCwwIEBACi1odHRwOi8vc291 cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxMy0wMS9tc2cwMDQ2OS5odG1sCi1TdWJqZWN0 OiBbcGF0Y2hdIEZpeCBnZGIuZm9ydHJhbi9jb21tb24tYmxvY2suZXhwIGNyYXNoIGluIFBJRSBt b2RlCi0KLUhpIFRvbSwKLQotcnVudGVzdCBGOTBfRk9SX1RBUkdFVD0iZ2ZvcnRyYW4gLWZQSUUg LXBpZSIgZ2RiLmZvcnRyYW4vY29tbW9uLWJsb2NrLmV4cAotCi1jcmFzaGVzIEdEQiBhcyBmdW5j dGlvbiByZWxvY2F0ZV9vbmVfc3ltYm9sCi0JaWYgKChTWU1CT0xfQ0xBU1MgKHN5bSkgPT0gTE9D X0xBQkVMCi0JICAgICB8fCBTWU1CT0xfQ0xBU1MgKHN5bSkgPT0gTE9DX1NUQVRJQykKLQkgICAg JiYgU1lNQk9MX1NFQ1RJT04gKHN5bSkgPj0gMCkKLQkgIFNZTUJPTF9WQUxVRV9BRERSRVNTIChz eW0pICs9IEFOT0ZGU0VUIChkZWx0YSwgU1lNQk9MX1NFQ1RJT04gKHN5bSkpOwotY29ycnVwdHMg U1lNQk9MX1ZBTFVFX0NPTU1PTl9CTE9DSwotCXN0cnVjdCBjb21tb25fYmxvY2sgKmNvbW1vbl9i bG9jazsKLWFzIGl0IHRoaW5rcyBpdCBjYW4gdXBkYXRlIGl0IGxpa2UgU1lNQk9MX1ZBTFVFX0FE RFJFU1MKLQlDT1JFX0FERFIgYWRkcmVzczsKLWR1ZSB0byBpdHMgTE9DX1NUQVRJQy4KLQotTm8g cmVncmVzc2lvbnMgb24ge3g4Nl82NCx4ODZfNjQtbTMyLGk2ODZ9LWZlZG9yYTE4LWxpbnV4LWdu dSBhbmQgaW4gUElFIG1vZGUuCi0KLQotVGhhbmtzLAotSmFuCi0KLQotZ2RiLwotMjAxMy0wMS0x OSAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgotCi0JRml4IGdk Yi5mb3J0cmFuL2NvbW1vbi1ibG9jay5leHAgY3Jhc2ggaW4gUElFIG1vZGUuCi0JKiBkd2FyZjJy ZWFkLmMgKG5ld19zeW1ib2xfZnVsbCkgPERXX1RBR19jb21tb25fYmxvY2s+OiBVc2UKLQlMT0Nf Q09NTU9OX0JMT0NLLgotCSogZi12YWxwcmludC5jIChpbmZvX2NvbW1vbl9jb21tYW5kX2Zvcl9i bG9jayk6IEV4cGVjdAotCUxPQ19DT01NT05fQkxPQ0sgaW4gZ2RiX2Fzc2VydC4KLQkqIHN5bXRh Yi5oIChzdHJ1Y3QgZ2VuZXJhbF9zeW1ib2xfaW5mbyk6IFVwZGF0ZSBjb21tZW50IGZvciB0aGUK LQljb21tb25fYmxvY2sgbWVtYmVyLgotCShkb21haW5fZW51bSk6IEV4dGVuZCBjb21tZW50IGZv ciB0aGUgQ09NTU9OX0JMT0NLX0RPTUFJTiBtZW1iZXIuCi0JKGVudW0gYWRkcmVzc19jbGFzcyk6 IE5ldyBtZW1iZXIgTE9DX0NPTU1PTl9CTE9DSy4KLQotZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjJy ZWFkLmMgYi9nZGIvZHdhcmYycmVhZC5jCi1pbmRleCA3YTU4YzQ1Li4zNjRlNmFmIDEwMDY0NAot LS0tIGEvZ2RiL2R3YXJmMnJlYWQuYwotKysrIGIvZ2RiL2R3YXJmMnJlYWQuYwotQEAgLTE2MDcx LDcgKzE2MDcxLDcgQEAgbmV3X3N5bWJvbF9mdWxsIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3Ry dWN0IHR5cGUgKnR5cGUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1LAotIAkgIGxpc3RfdG9fYWRkID0g Jmdsb2JhbF9zeW1ib2xzOwotIAkgIGJyZWFrOwotIAljYXNlIERXX1RBR19jb21tb25fYmxvY2s6 Ci0tCSAgU1lNQk9MX0NMQVNTIChzeW0pID0gTE9DX1NUQVRJQzsKLSsJICBTWU1CT0xfQ0xBU1Mg KHN5bSkgPSBMT0NfQ09NTU9OX0JMT0NLOwotIAkgIFNZTUJPTF9ET01BSU4gKHN5bSkgPSBDT01N T05fQkxPQ0tfRE9NQUlOOwotIAkgIGFkZF9zeW1ib2xfdG9fbGlzdCAoc3ltLCBjdS0+bGlzdF9p bl9zY29wZSk7Ci0gCSAgYnJlYWs7Ci1kaWZmIC0tZ2l0IGEvZ2RiL2YtdmFscHJpbnQuYyBiL2dk Yi9mLXZhbHByaW50LmMKLWluZGV4IDIyY2NhODMuLmQwMWQ2ZWMgMTAwNjQ0Ci0tLS0gYS9nZGIv Zi12YWxwcmludC5jCi0rKysgYi9nZGIvZi12YWxwcmludC5jCi1AQCAtNDI3LDcgKzQyNyw3IEBA IGluZm9fY29tbW9uX2NvbW1hbmRfZm9yX2Jsb2NrIChzdHJ1Y3QgYmxvY2sgKmJsb2NrLCBjb25z dCBjaGFyICpjb21uYW1lLAotIAlzdHJ1Y3QgY29tbW9uX2Jsb2NrICpjb21tb24gPSBTWU1CT0xf VkFMVUVfQ09NTU9OX0JMT0NLIChzeW0pOwotIAlzaXplX3QgaW5kZXg7Ci0gCi0tCWdkYl9hc3Nl cnQgKFNZTUJPTF9DTEFTUyAoc3ltKSA9PSBMT0NfU1RBVElDKTsKLSsJZ2RiX2Fzc2VydCAoU1lN Qk9MX0NMQVNTIChzeW0pID09IExPQ19DT01NT05fQkxPQ0spOwotIAotIAlpZiAoY29tbmFtZSAm JiAoIVNZTUJPTF9MSU5LQUdFX05BTUUgKHN5bSkKLSAJICAgICAgICAgICAgICAgIHx8IHN0cmNt cCAoY29tbmFtZSwgU1lNQk9MX0xJTktBR0VfTkFNRSAoc3ltKSkgIT0gMCkpCi1kaWZmIC0tZ2l0 IGEvZ2RiL3N5bXRhYi5oIGIvZ2RiL3N5bXRhYi5oCi1pbmRleCBjMzM0YTNhLi5iOTkyMjY2IDEw MDY0NAotLS0tIGEvZ2RiL3N5bXRhYi5oCi0rKysgYi9nZGIvc3ltdGFiLmgKLUBAIC0xMjAsNyAr MTIwLDcgQEAgc3RydWN0IGdlbmVyYWxfc3ltYm9sX2luZm8KLSAKLSAgICAgQ09SRV9BRERSIGFk ZHJlc3M7Ci0gCi0tICAgIC8qIEEgY29tbW9uIGJsb2NrLiAgVXNlZCB3aXRoIENPTU1PTl9CTE9D S19ET01BSU4uICAqLwotKyAgICAvKiBBIGNvbW1vbiBibG9jay4gIFVzZWQgd2l0aCBMT0NfQ09N TU9OX0JMT0NLLiAgKi8KLSAKLSAgICAgc3RydWN0IGNvbW1vbl9ibG9jayAqY29tbW9uX2Jsb2Nr OwotIAotQEAgLTQxNCw3ICs0MTQsOCBAQCB0eXBlZGVmIGVudW0gZG9tYWluX2VudW1fdGFnCi0g Ci0gICBMQUJFTF9ET01BSU4sCi0gCi0tICAvKiBGb3J0cmFuIGNvbW1vbiBibG9ja3MuICBUaGVp ciBuYW1pbmcgbXVzdCBiZSBzZXBhcmF0ZSBmcm9tIFZBUl9ET01BSU4uICAqLwotKyAgLyogRm9y dHJhbiBjb21tb24gYmxvY2tzLiAgVGhlaXIgbmFtaW5nIG11c3QgYmUgc2VwYXJhdGUgZnJvbSBW QVJfRE9NQUlOLgotKyAgICAgVGhleSBhbHNvIGFsd2F5cyB1c2UgTE9DX0NPTU1PTl9CTE9DSy4g ICovCi0gICBDT01NT05fQkxPQ0tfRE9NQUlOCi0gfSBkb21haW5fZW51bTsKLSAKLUBAIC01MzMs NiArNTM0LDEwIEBAIGVudW0gYWRkcmVzc19jbGFzcwotICAgLyogVGhlIHZhcmlhYmxlJ3MgYWRk cmVzcyBpcyBjb21wdXRlZCBieSBhIHNldCBvZiBsb2NhdGlvbgotICAgICAgZnVuY3Rpb25zIChz ZWUgInN0cnVjdCBzeW1ib2xfY29tcHV0ZWRfb3BzIiBiZWxvdykuICAqLwotICAgTE9DX0NPTVBV VEVELAotKwotKyAgLyogVGhlIHZhcmlhYmxlIHVzZXMgZ2VuZXJhbF9zeW1ib2xfaW5mby0+dmFs dWUtPmNvbW1vbl9ibG9jayBmaWVsZC4KLSsgICAgIEl0IGFsc28gYWx3YXlzIHVzZXMgQ09NTU9O X0JMT0NLX0RPTUFJTi4gICovCi0rICBMT0NfQ09NTU9OX0JMT0NLLAotIH07Ci0gCi0gLyogVGhl IG1ldGhvZHMgbmVlZGVkIHRvIGltcGxlbWVudCBMT0NfQ09NUFVURUQuICBUaGVzZSBtZXRob2Rz IGNhbgotCgpkaWZmIC0tZ2l0IGEvZ2RiLWRsb3Blbi1zdGFwLXByb2JlLTZvZjcucGF0Y2ggYi9n ZGItZGxvcGVuLXN0YXAtcHJvYmUtNm9mNy5wYXRjaAppbmRleCBhZjQ0MzA1Li5hY2E0YmZkIDEw MDY0NAotLS0gYS9nZGItZGxvcGVuLXN0YXAtcHJvYmUtNm9mNy5wYXRjaAorKysgYi9nZGItZGxv cGVuLXN0YXAtcHJvYmUtNm9mNy5wYXRjaApAQCAtODEsMjQgKzgxLDI0IEBAIGdkYi90ZXN0c3Vp dGUKIAkqIGdkYi5iYXNlL2JyZWFrLWRsbW9wZW4uYzogTGlrZXdpc2UuCiAJKiBnZGIuYmFzZS9i cmVhay1kbG1vcGVuLXNvbGliLmM6IExpa2V3aXNlLgogCi1JbmRleDogZ2RiLTcuNS41MC4yMDEz MDExOC9nZGIvYnJlYWtwb2ludC5oCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvYnJl YWtwb2ludC5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi9i cmVha3BvaW50LmgJMjAxMy0wMS0xOCAyMzo1NzoxNC43ODI5Nzg0ODUgKzAxMDAKLSsrKyBnZGIt Ny41LjUwLjIwMTMwMTE4L2dkYi9icmVha3BvaW50LmgJMjAxMy0wMS0xOCAyMzo1Nzo1MC41MTE3 OTI4OTAgKzAxMDAKLUBAIC0xNTQ4LDggKzE1NDgsNiBAQCBleHRlcm4gaW50IHVzZXJfYnJlYWtw b2ludF9wIChzdHJ1Y3QgYnJlCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9icmVh a3BvaW50LmgJMjAxMy0wMi0xNSAyMjozNzoxOS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41 LjUwLjIwMTMwMjE1L2dkYi9icmVha3BvaW50LmgJMjAxMy0wMi0xNSAyMjozNzo0Ny4xODU0MzIy OTYgKzAxMDAKK0BAIC0xNTUyLDggKzE1NTIsNiBAQCBleHRlcm4gaW50IHVzZXJfYnJlYWtwb2lu dF9wIChzdHJ1Y3QgYnJlCiAgLyogQXR0ZW1wdCB0byBkZXRlcm1pbmUgYXJjaGl0ZWN0dXJlIG9m IGxvY2F0aW9uIGlkZW50aWZpZWQgYnkgU0FMLiAgKi8KICBleHRlcm4gc3RydWN0IGdkYmFyY2gg KmdldF9zYWxfYXJjaCAoc3RydWN0IHN5bXRhYl9hbmRfbGluZSBzYWwpOwogIAogLWV4dGVybiB2 b2lkIGhhbmRsZV9zb2xpYl9ldmVudCAodm9pZCk7CiAtCi0gZXh0ZXJuIHZvaWQgYnJlYWtwb2lu dHNfcmVsb2NhdGUgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLAotIAkJCQkgIHN0cnVjdCBzZWN0 aW9uX29mZnNldHMgKmRlbHRhKTsKKyBleHRlcm4gdm9pZCBicmVha3BvaW50X2ZyZWVfb2JqZmls ZSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUpOwogIAotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAx MTgvZ2RiL2JyZWFrcG9pbnQuYworIGV4dGVybiB2b2lkIGJyZWFrcG9pbnRzX3JlbG9jYXRlIChz dHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9i cmVha3BvaW50LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2Ri L2JyZWFrcG9pbnQuYwkyMDEzLTAxLTE4IDIzOjU3OjE0Ljc4Mjk3ODQ4NSArMDEwMAotKysrIGdk Yi03LjUuNTAuMjAxMzAxMTgvZ2RiL2JyZWFrcG9pbnQuYwkyMDEzLTAxLTE4IDIzOjU3OjUwLjUx NDc5Mjg3OSArMDEwMAotQEAgLTUyNTQsNyArNTI1NCw3IEBAIGJwc3RhdF9zdG9wX3N0YXR1cyAo c3RydWN0IGFkZHJlc3Nfc3BhY2UKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL2Jy ZWFrcG9pbnQuYwkyMDEzLTAyLTE1IDIyOjM3OjMwLjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03 LjUuNTAuMjAxMzAyMTUvZ2RiL2JyZWFrcG9pbnQuYwkyMDEzLTAyLTE1IDIyOjM3OjM1Ljc1NTQx NzU4NCArMDEwMAorQEAgLTUyNTAsNyArNTI1MCw3IEBAIGJwc3RhdF9zdG9wX3N0YXR1cyAoc3Ry dWN0IGFkZHJlc3Nfc3BhY2UKICAgICAgewogICAgICAgIGlmIChicy0+YnJlYWtwb2ludF9hdCAm JiBicy0+YnJlYWtwb2ludF9hdC0+dHlwZSA9PSBicF9zaGxpYl9ldmVudCkKICAJewpAQCAtMTA3 LDcgKzEwNyw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9icmVha3BvaW50LmMK ICAJICBicmVhazsKICAJfQogICAgICB9Ci1AQCAtNTM1MCwyNSArNTM1MCw2IEBAIGhhbmRsZV9q aXRfZXZlbnQgKHZvaWQpCitAQCAtNTM0NiwyNSArNTM0Niw2IEBAIGhhbmRsZV9qaXRfZXZlbnQg KHZvaWQpCiAgICB0YXJnZXRfdGVybWluYWxfaW5mZXJpb3IgKCk7CiAgfQogIApAQCAtMTMzLDEw ICsxMzMsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2JyZWFrcG9pbnQuYwog IC8qIFByZXBhcmUgV0hBVCBmaW5hbCBkZWNpc2lvbiBmb3IgaW5mcnVuLiAgKi8KICAKICAvKiBE ZWNpZGUgd2hhdCBpbmZydW4gbmVlZHMgdG8gZG8gd2l0aCB0aGlzIGJwc3RhdC4gICovCi1JbmRl eDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvc29saWIuaAorSW5kZXg6IGdkYi03LjUuNTAuMjAx MzAyMTUvZ2RiL3NvbGliLmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9y aWcvZ2RiL3NvbGliLmgJMjAxMy0wMS0xOCAyMzo1NzoxNC43ODI5Nzg0ODUgKzAxMDAKLSsrKyBn ZGItNy41LjUwLjIwMTMwMTE4L2dkYi9zb2xpYi5oCTIwMTMtMDEtMTggMjM6NTc6NTAuNTE1Nzky ODc1ICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9zb2xpYi5oCTIwMTMt MDEtMDEgMDc6MzI6NTEuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9n ZGIvc29saWIuaAkyMDEzLTAyLTE1IDIyOjM3OjM1Ljc1NzQxNzU4OCArMDEwMAogQEAgLTIwLDYg KzIwLDkgQEAKICAjaWZuZGVmIFNPTElCX0gKICAjZGVmaW5lIFNPTElCX0gKQEAgLTE2MywxMCAr MTYzLDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9zb2xpYi5oCiArZXh0ZXJu IHZvaWQgdXBkYXRlX3NvbGliX2JyZWFrcG9pbnRzICh2b2lkKTsKICsKICAjZW5kaWYgLyogU09M SUJfSCAqLwotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3NvbGliLmMKK0luZGV4OiBn ZGItNy41LjUwLjIwMTMwMjE1L2dkYi9zb2xpYi5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41 MC4yMDEzMDExOC5vcmlnL2dkYi9zb2xpYi5jCTIwMTMtMDEtMTggMjM6NTc6MTQuNzgyOTc4NDg1 ICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvc29saWIuYwkyMDEzLTAxLTE4IDIz OjU4OjA5LjE0NDcxNjYwMSArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIv c29saWIuYwkyMDEzLTAyLTE1IDIyOjM3OjA0LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUu NTAuMjAxMzAyMTUvZ2RiL3NvbGliLmMJMjAxMy0wMi0xNSAyMjozNzozNS43NTc0MTc1ODggKzAx MDAKIEBAIC0xMjIxLDYgKzEyMjEsNDIgQEAgbm9fc2hhcmVkX2xpYnJhcmllcyAoY2hhciAqaWdu b3JlZCwgaW50CiAgICBvYmpmaWxlX3B1cmdlX3NvbGlicyAoKTsKICB9CkBAIC0yMTAsMTAgKzIx MCwxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvc29saWIuYwogIC8qIFJlbG9h ZCBzaGFyZWQgbGlicmFyaWVzLCBidXQgYXZvaWQgcmVsb2FkaW5nIHRoZSBzYW1lIHN5bWJvbCBm aWxlCiAgICAgd2UgYWxyZWFkeSBoYXZlIGxvYWRlZC4gICovCiAgCi1JbmRleDogZ2RiLTcuNS41 MC4yMDEzMDExOC9nZGIvc29saXN0LmgKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9z b2xpc3QuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvc29s aXN0LmgJMjAxMy0wMS0xOCAyMzo1NzoxNC43ODI5Nzg0ODUgKzAxMDAKLSsrKyBnZGItNy41LjUw LjIwMTMwMTE4L2dkYi9zb2xpc3QuaAkyMDEzLTAxLTE4IDIzOjU3OjUwLjUxNTc5Mjg3NSArMDEw MAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvc29saXN0LmgJMjAxMy0wMS0wMSAw NzozMjo1MS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9zb2xp c3QuaAkyMDEzLTAyLTE1IDIyOjM3OjM1Ljc1ODQxNzU5MCArMDEwMAogQEAgLTIyLDYgKzIyLDgg QEAKICAjZGVmaW5lIFNPX05BTUVfTUFYX1BBVEhfU0laRSA1MTIJLyogRklYTUU6IFNob3VsZCBi ZSBkeW5hbWljICovCiAgLyogRm9yIGRvbWFpbl9lbnVtIGRvbWFpbi4gICovCkBAIC0yNDQsMTAg KzI0NCwxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvc29saXN0LmgKICAgIH07 CiAgCiAgLyogRnJlZSB0aGUgbWVtb3J5IGFzc29jaWF0ZWQgd2l0aCBhIChzb19saXN0ICopLiAg Ki8KLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9pbmZydW4uYworSW5kZXg6IGdkYi03 LjUuNTAuMjAxMzAyMTUvZ2RiL2luZnJ1bi5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4y MDEzMDExOC5vcmlnL2dkYi9pbmZydW4uYwkyMDEzLTAxLTE4IDIzOjU3OjE0Ljc4Mjk3ODQ4NSAr MDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2luZnJ1bi5jCTIwMTMtMDEtMTggMjM6 NTc6NTAuNTE3NzkyODY1ICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9p bmZydW4uYwkyMDEzLTAyLTE1IDIyOjM3OjA0LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUu NTAuMjAxMzAyMTUvZ2RiL2luZnJ1bi5jCTIwMTMtMDItMTUgMjI6Mzc6MzUuNzYwNDE3NTk0ICsw MTAwCiBAQCAtMzY5LDYgKzM2OSwxNiBAQCBzdGF0aWMgc3RydWN0IHN5bWJvbCAqc3RlcF9zdGFy dF9mdW5jdGlvCiAgLyogTm9uemVybyBpZiB3ZSB3YW50IHRvIGdpdmUgY29udHJvbCB0byB0aGUg dXNlciB3aGVuIHdlJ3JlIG5vdGlmaWVkCiAgICAgb2Ygc2hhcmVkIGxpYnJhcnkgZXZlbnRzIGJ5 IHRoZSBkeW5hbWljIGxpbmtlci4gICovCkBAIC0yNjUsNyArMjY1LDcgQEAgSW5kZXg6IGdkYi03 LjUuNTAuMjAxMzAxMTgvZ2RiL2luZnJ1bi5jCiAgc3RhdGljIHZvaWQKICBzaG93X3N0b3Bfb25f c29saWJfZXZlbnRzIChzdHJ1Y3QgdWlfZmlsZSAqZmlsZSwgaW50IGZyb21fdHR5LAogIAkJCSAg IHN0cnVjdCBjbWRfbGlzdF9lbGVtZW50ICpjLCBjb25zdCBjaGFyICp2YWx1ZSkKLUBAIC0zMzQ3 LDcgKzMzNTcsNyBAQCBoYW5kbGVfaW5mZXJpb3JfZXZlbnQgKHN0cnVjdCBleGVjdXRpb25fCitA QCAtMzM0Niw3ICszMzU2LDcgQEAgaGFuZGxlX2luZmVyaW9yX2V2ZW50IChzdHJ1Y3QgZXhlY3V0 aW9uXwogIAkgICAgY29udGV4dF9zd2l0Y2ggKGVjcy0+cHRpZCk7CiAgCSAgcmVnY2FjaGUgPSBn ZXRfdGhyZWFkX3JlZ2NhY2hlIChlY3MtPnB0aWQpOwogIApAQCAtMjc0LDcgKzI3NCw3IEBAIElu ZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9pbmZydW4uYwogIAogIAkgIGVjcy0+ZXZlbnRf dGhyZWFkLT5jb250cm9sLnN0b3BfYnBzdGF0CiAgCSAgICA9IGJwc3RhdF9zdG9wX3N0YXR1cyAo Z2V0X3JlZ2NhY2hlX2FzcGFjZSAocmVnY2FjaGUpLAotQEAgLTczMjcsNyArNzMzNyw3IEBAIFNo b3cgc3RvcHBpbmcgZm9yIHNoYXJlZCBsaWJyYXJ5IGV2ZW50cy4KK0BAIC03MzM0LDcgKzczNDQs NyBAQCBTaG93IHN0b3BwaW5nIGZvciBzaGFyZWQgbGlicmFyeSBldmVudHMuCiAgSWYgbm9uemVy bywgZ2RiIHdpbGwgZ2l2ZSBjb250cm9sIHRvIHRoZSB1c2VyIHdoZW4gdGhlIGR5bmFtaWMgbGlu a2VyXG5cCiAgbm90aWZpZXMgZ2RiIG9mIHNoYXJlZCBsaWJyYXJ5IGV2ZW50cy4gIFRoZSBtb3N0 IGNvbW1vbiBldmVudCBvZiBpbnRlcmVzdFxuXAogIHRvIHRoZSB1c2VyIHdvdWxkIGJlIGxvYWRp bmcvdW5sb2FkaW5nIG9mIGEgbmV3IGxpYnJhcnkuIiksCkBAIC0yODMsMTAgKzI4MywxMCBAQCBJ bmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvaW5mcnVuLmMKICAJCQkgICAgc2hvd19zdG9w X29uX3NvbGliX2V2ZW50cywKICAJCQkgICAgJnNldGxpc3QsICZzaG93bGlzdCk7CiAgCi1JbmRl eDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvc29saWItc3ZyNC5jCitJbmRleDogZ2RiLTcuNS41 MC4yMDEzMDIxNS9nZGIvc29saWItc3ZyNC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4y MDEzMDExOC5vcmlnL2dkYi9zb2xpYi1zdnI0LmMJMjAxMy0wMS0xOCAyMzo1Nzo0NS40MzA4MTU5 NDMgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9zb2xpYi1zdnI0LmMJMjAxMy0w MS0xOCAyMzo1Nzo1MC41MTk3OTI4NTggKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9y aWcvZ2RiL3NvbGliLXN2cjQuYwkyMDEzLTAyLTE1IDIyOjM3OjMwLjAwMDAwMDAwMCArMDEwMAor KysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3NvbGliLXN2cjQuYwkyMDEzLTAyLTE1IDIyOjM3 OjM1Ljc2MTQxNzU5NiArMDEwMAogQEAgLTQ2LDEwICs0NiwxMiBAQAogICNpbmNsdWRlICJhdXh2 LmgiCiAgI2luY2x1ZGUgImV4Y2VwdGlvbnMuaCIKQEAgLTU0MCw3ICs1NDAsNyBAQCBJbmRleDog Z2RiLTcuNS41MC4yMDEzMDExOC9nZGIvc29saWItc3ZyNC5jCiAgLyogRmluZCByX2JyayBmcm9t IHRoZSBpbmZlcmlvcidzIGRlYnVnIGJhc2UuICAqLwogIAogIHN0YXRpYyBDT1JFX0FERFIKLUBA IC0xMTYzLDE1ICsxMjkwLDE3IEBAIHN2cjRfZGVmYXVsdF9zb3MgKHZvaWQpCitAQCAtMTE2MSwx NSArMTI4OCwxNyBAQCBzdnI0X2RlZmF1bHRfc29zICh2b2lkKQogICAgcmV0dXJuIG5ldzsKICB9 CiAgCkBAIC01NjUsNyArNTY1LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3Nv bGliLXN2cjQuYwogIAogICAgZm9yICg7IGxtICE9IDA7IHByZXZfbG0gPSBsbSwgbG0gPSBuZXh0 X2xtKQogICAgICB7Ci1AQCAtMTE4OCw3ICsxMzE3LDcgQEAgc3ZyNF9yZWFkX3NvX2xpc3QgKENP UkVfQUREUiBsbSwgc3RydWN0CitAQCAtMTE4NSw3ICsxMzE0LDcgQEAgc3ZyNF9yZWFkX3NvX2xp c3QgKENPUkVfQUREUiBsbSwgc3RydWN0CiAgICAgICAgaWYgKG5ldy0+bG1faW5mbyA9PSBOVUxM KQogIAl7CiAgCSAgZG9fY2xlYW51cHMgKG9sZF9jaGFpbik7CkBAIC01NzQsNyArNTc0LDcgQEAg SW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3NvbGliLXN2cjQuYwogIAl9CiAgCiAgICAg ICAgbmV4dF9sbSA9IG5ldy0+bG1faW5mby0+bF9uZXh0OwotQEAgLTExOTksNyArMTMyOCw3IEBA IHN2cjRfcmVhZF9zb19saXN0IChDT1JFX0FERFIgbG0sIHN0cnVjdAorQEAgLTExOTYsNyArMTMy NSw3IEBAIHN2cjRfcmVhZF9zb19saXN0IChDT1JFX0FERFIgbG0sIHN0cnVjdAogIAkJICAgcGFk ZHJlc3MgKHRhcmdldF9nZGJhcmNoICgpLCBwcmV2X2xtKSwKICAJCSAgIHBhZGRyZXNzICh0YXJn ZXRfZ2RiYXJjaCAoKSwgbmV3LT5sbV9pbmZvLT5sX3ByZXYpKTsKICAJICBkb19jbGVhbnVwcyAo b2xkX2NoYWluKTsKQEAgLTU4Myw3ICs1ODMsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDEx OC9nZGIvc29saWItc3ZyNC5jCiAgCX0KICAKICAgICAgICAvKiBGb3IgU1ZSNCB2ZXJzaW9ucywg dGhlIGZpcnN0IGVudHJ5IGluIHRoZSBsaW5rIG1hcCBpcyBmb3IgdGhlCi1AQCAtMTI5NCwyMCAr MTQyMyw2MSBAQCBzdnI0X3JlYWRfc29fbGlzdCAoQ09SRV9BRERSIGxtLCBzdHJ1Y3QKK0BAIC0x MjkxLDIwICsxNDIwLDYxIEBAIHN2cjRfcmVhZF9zb19saXN0IChDT1JFX0FERFIgbG0sIHN0cnVj dAogICAgICAgICoqbGlua19wdHJfcHRyID0gbmV3OwogICAgICAgICpsaW5rX3B0cl9wdHIgPSAm bmV3LT5uZXh0OwogICAgICB9CkBAIC02NDgsNyArNjQ4LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAu MjAxMzAxMTgvZ2RiL3NvbGliLXN2cjQuYwogIAogICAgLyogRmFsbCBiYWNrIHRvIG1hbnVhbCBl eGFtaW5hdGlvbiBvZiB0aGUgdGFyZ2V0IGlmIHRoZSBwYWNrZXQgaXMgbm90CiAgICAgICBzdXBw b3J0ZWQgb3IgZ2Ric2VydmVyIGZhaWxlZCB0byBmaW5kIERUX0RFQlVHLiAgZ2RiLnNlcnZlci9z b2xpYi1saXN0LmV4cAotQEAgLTEzMzAsNiArMTUwMCwxMCBAQCBzdnI0X2N1cnJlbnRfc29zICh2 b2lkKQorQEAgLTEzMjcsNiArMTQ5NywxMCBAQCBzdnI0X2N1cnJlbnRfc29zICh2b2lkKQogIAog ICAgaW5mbyA9IGdldF9zdnI0X2luZm8gKCk7CiAgCkBAIC02NTksNyArNjU5LDcgQEAgSW5kZXg6 IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3NvbGliLXN2cjQuYwogICAgLyogQWx3YXlzIGxvY2F0 ZSB0aGUgZGVidWcgc3RydWN0LCBpbiBjYXNlIGl0IGhhcyBtb3ZlZC4gICovCiAgICBpbmZvLT5k ZWJ1Z19iYXNlID0gMDsKICAgIGxvY2F0ZV9iYXNlIChpbmZvKTsKLUBAIC0xMzM5LDM1ICsxNTEz LDEyIEBAIHN2cjRfY3VycmVudF9zb3MgKHZvaWQpCitAQCAtMTMzNiwzNSArMTUxMCwxMiBAQCBz dnI0X2N1cnJlbnRfc29zICh2b2lkKQogICAgaWYgKCEgaW5mby0+ZGVidWdfYmFzZSkKICAgICAg cmV0dXJuIHN2cjRfZGVmYXVsdF9zb3MgKCk7CiAgCkBAIC02OTgsNyArNjk4LDcgQEAgSW5kZXg6 IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3NvbGliLXN2cjQuYwogIH0KICAKICAvKiBHZXQgdGhl IGFkZHJlc3Mgb2YgdGhlIGxpbmtfbWFwIGZvciBhIGdpdmVuIE9CSkZJTEUuICAqLwotQEAgLTE0 NTIsNiArMTYwMyw0OTggQEAgZXhlY19lbnRyeV9wb2ludCAoc3RydWN0IGJmZCAqYWJmZCwgc3Ry dQorQEAgLTE0NDksNiArMTYwMCw0OTggQEAgZXhlY19lbnRyeV9wb2ludCAoc3RydWN0IGJmZCAq YWJmZCwgc3RydQogICAgcmV0dXJuIGdkYmFyY2hfYWRkcl9iaXRzX3JlbW92ZSAodGFyZ2V0X2dk YmFyY2ggKCksIGFkZHIpOwogIH0KICAKQEAgLTExOTcsNyArMTE5Nyw3IEBAIEluZGV4OiBnZGIt Ny41LjUwLjIwMTMwMTE4L2dkYi9zb2xpYi1zdnI0LmMKICAvKiBIZWxwZXIgZnVuY3Rpb24gZm9y IGdkYl9iZmRfbG9va3VwX3N5bWJvbC4gICovCiAgCiAgc3RhdGljIGludAotQEAgLTE1MDQsNiAr MjE0Nyw5IEBAIGVuYWJsZV9icmVhayAoc3RydWN0IHN2cjRfaW5mbyAqaW5mbywgaW4KK0BAIC0x NTAxLDYgKzIxNDQsOSBAQCBlbmFibGVfYnJlYWsgKHN0cnVjdCBzdnI0X2luZm8gKmluZm8sIGlu CiAgICBpbmZvLT5pbnRlcnBfdGV4dF9zZWN0X2xvdyA9IGluZm8tPmludGVycF90ZXh0X3NlY3Rf aGlnaCA9IDA7CiAgICBpbmZvLT5pbnRlcnBfcGx0X3NlY3RfbG93ID0gaW5mby0+aW50ZXJwX3Bs dF9zZWN0X2hpZ2ggPSAwOwogIApAQCAtMTIwNyw3ICsxMjA3LDcgQEAgSW5kZXg6IGdkYi03LjUu NTAuMjAxMzAxMTgvZ2RiL3NvbGliLXN2cjQuYwogICAgLyogSWYgd2UgYWxyZWFkeSBoYXZlIGEg c2hhcmVkIGxpYnJhcnkgbGlzdCBpbiB0aGUgdGFyZ2V0LCBhbmQKICAgICAgIHJfZGVidWcgY29u dGFpbnMgcl9icmssIHNldCB0aGUgYnJlYWtwb2ludCB0aGVyZSAtIHRoaXMgc2hvdWxkCiAgICAg ICBtZWFuIHJfYnJrIGhhcyBhbHJlYWR5IGJlZW4gcmVsb2NhdGVkLiAgQXNzdW1lIHRoZSBkeW5h bWljIGxpbmtlcgotQEAgLTE1MzUsNyArMjE4MSw3IEBAIGVuYWJsZV9icmVhayAoc3RydWN0IHN2 cjRfaW5mbyAqaW5mbywgaW4KK0BAIC0xNTMyLDcgKzIxNzgsNyBAQCBlbmFibGVfYnJlYWsgKHN0 cnVjdCBzdnI0X2luZm8gKmluZm8sIGluCiAgCSBUaGF0IGtub3dsZWRnZSBpcyBlbmNvZGVkIGlu IHRoZSBhZGRyZXNzLCBpZiBpdCdzIFRodW1iIHRoZSBsb3cgYml0CiAgCSBpcyAxLiAgSG93ZXZl ciwgd2UndmUgc3RyaXBwZWQgdGhhdCBpbmZvIGFib3ZlIGFuZCBpdCdzIG5vdCBjbGVhcgogIAkg d2hhdCBhbGwgdGhlIGNvbnNlcXVlbmNlcyBhcmUgb2YgcGFzc2luZyBhIG5vbi1hZGRyX2JpdHNf cmVtb3ZlJ2QKQEAgLTEyMTYsNyArMTIxNiw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4 L2dkYi9zb2xpYi1zdnI0LmMKICAJIGZpbmRfcGNfc2VjdGlvbiB2ZXJpZmllcyB3ZSBrbm93IGFi b3V0IHRoZSBhZGRyZXNzIGFuZCBoYXZlIHNvbWUKICAJIGhvcGUgb2YgY29tcHV0aW5nIHRoZSBy aWdodCBraW5kIG9mIGJyZWFrcG9pbnQgdG8gdXNlICh2aWEKICAJIHN5bWJvbCBpbmZvKS4gIEl0 IGRvZXMgbWVhbiB0aGF0IEdEQiBuZWVkcyB0byBiZSBwb2ludGVkIGF0IGEKLUBAIC0xNTczLDcg KzIyMTksNyBAQCBlbmFibGVfYnJlYWsgKHN0cnVjdCBzdnI0X2luZm8gKmluZm8sIGluCitAQCAt MTU3MCw3ICsyMjE2LDcgQEAgZW5hYmxlX2JyZWFrIChzdHJ1Y3Qgc3ZyNF9pbmZvICppbmZvLCBp bgogIAkJKyBiZmRfc2VjdGlvbl9zaXplICh0bXBfYmZkLCBpbnRlcnBfc2VjdCk7CiAgCSAgICB9 CiAgCkBAIC0xMjI1LDcgKzEyMjUsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIv c29saWItc3ZyNC5jCiAgCSAgcmV0dXJuIDE7CiAgCX0KICAgICAgfQotQEAgLTE3MzEsNyArMjM3 Nyw4IEBAIGVuYWJsZV9icmVhayAoc3RydWN0IHN2cjRfaW5mbyAqaW5mbywgaW4KK0BAIC0xNzI4 LDcgKzIzNzQsOCBAQCBlbmFibGVfYnJlYWsgKHN0cnVjdCBzdnI0X2luZm8gKmluZm8sIGluCiAg CiAgICAgICAgaWYgKHN5bV9hZGRyICE9IDApCiAgCXsKQEAgLTEyMzUsNyArMTIzNSw3IEBAIElu ZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9zb2xpYi1zdnI0LmMKICAJICB4ZnJlZSAoaW50 ZXJwX25hbWUpOwogIAkgIHJldHVybiAxOwogIAl9Ci1AQCAtMTc1Nyw3ICsyNDA0LDcgQEAgZW5h YmxlX2JyZWFrIChzdHJ1Y3Qgc3ZyNF9pbmZvICppbmZvLCBpbgorQEAgLTE3NTQsNyArMjQwMSw3 IEBAIGVuYWJsZV9icmVhayAoc3RydWN0IHN2cjRfaW5mbyAqaW5mbywgaW4KICAJICBzeW1fYWRk ciA9IGdkYmFyY2hfY29udmVydF9mcm9tX2Z1bmNfcHRyX2FkZHIgKHRhcmdldF9nZGJhcmNoICgp LAogIAkJCQkJCQkgc3ltX2FkZHIsCiAgCQkJCQkJCSAmY3VycmVudF90YXJnZXQpOwpAQCAtMTI0 NCw3ICsxMjQ0LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3NvbGliLXN2cjQu YwogIAkgIHJldHVybiAxOwogIAl9CiAgICAgIH0KLUBAIC0xNzczLDcgKzI0MjAsNyBAQCBlbmFi bGVfYnJlYWsgKHN0cnVjdCBzdnI0X2luZm8gKmluZm8sIGluCitAQCAtMTc3MCw3ICsyNDE3LDcg QEAgZW5hYmxlX2JyZWFrIChzdHJ1Y3Qgc3ZyNF9pbmZvICppbmZvLCBpbgogIAkgICAgICBzeW1f YWRkciA9IGdkYmFyY2hfY29udmVydF9mcm9tX2Z1bmNfcHRyX2FkZHIgKHRhcmdldF9nZGJhcmNo ICgpLAogIAkJCQkJCQkgICAgIHN5bV9hZGRyLAogIAkJCQkJCQkgICAgICZjdXJyZW50X3Rhcmdl dCk7CkBAIC0xMjUzLDcgKzEyNTMsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIv c29saWItc3ZyNC5jCiAgCSAgICAgIHJldHVybiAxOwogIAkgICAgfQogIAl9Ci1AQCAtMjI2OSw2 ICsyOTE2LDkgQEAgc3ZyNF9zb2xpYl9jcmVhdGVfaW5mZXJpb3JfaG9vayAoaW50IGZybworQEAg LTIyNjYsNiArMjkxMyw5IEBAIHN2cjRfc29saWJfY3JlYXRlX2luZmVyaW9yX2hvb2sgKGludCBm cm8KICAKICAgIGluZm8gPSBnZXRfc3ZyNF9pbmZvICgpOwogIApAQCAtMTI2MywxNyArMTI2Mywx NyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvc29saWItc3ZyNC5jCiAgICAvKiBS ZWxvY2F0ZSB0aGUgbWFpbiBleGVjdXRhYmxlIGlmIG5lY2Vzc2FyeS4gICovCiAgICBzdnI0X3Jl bG9jYXRlX21haW5fZXhlY3V0YWJsZSAoKTsKICAKLUBAIC0yNTEwLDQgKzMxNjAsNiBAQCBfaW5p dGlhbGl6ZV9zdnI0X3NvbGliICh2b2lkKQorQEAgLTI1MDcsNCArMzE1Nyw2IEBAIF9pbml0aWFs aXplX3N2cjRfc29saWIgKHZvaWQpCiAgICBzdnI0X3NvX29wcy5sb29rdXBfbGliX2dsb2JhbF9z eW1ib2wgPSBlbGZfbG9va3VwX2xpYl9zeW1ib2w7CiAgICBzdnI0X3NvX29wcy5zYW1lID0gc3Zy NF9zYW1lOwogICAgc3ZyNF9zb19vcHMua2VlcF9kYXRhX2luX2NvcmUgPSBzdnI0X2tlZXBfZGF0 YV9pbl9jb3JlOwogKyAgc3ZyNF9zb19vcHMuaGFuZGxlX3NvbGliX2V2ZW50ID0gc3ZyNF9oYW5k bGVfc29saWJfZXZlbnQ7CiArICBzdnI0X3NvX29wcy51cGRhdGVfYnJlYWtwb2ludHMgPSBzdnI0 X3VwZGF0ZV9zb2xpYl9ldmVudF9icmVha3BvaW50czsKICB9Ci1JbmRleDogZ2RiLTcuNS41MC4y MDEzMDExOC9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2JyZWFrLWRsbW9wZW4tc29saWIuYworSW5k ZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9icmVhay1kbG1v cGVuLXNvbGliLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDow MC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvYnJlYWstZGxtb3Blbi1zb2xpYi5jCTIwMTMtMDEtMTggMjM6NTc6NTAuNTE5Nzky ODU4ICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L2JyZWFrLWRsbW9wZW4tc29saWIuYwkyMDEzLTAyLTE1IDIyOjM3OjM1Ljc2MTQxNzU5NiArMDEw MAogQEAgLTAsMCArMSwyNCBAQAogKy8qIENvcHlyaWdodCAyMDEyIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgogKwpAQCAtMTI5OSwxMCArMTI5OSwxMCBAQCBJbmRleDogZ2RiLTcuNS41 MC4yMDEzMDExOC9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2JyZWFrLWRsbW9wZW4tc29saWIuYwog KwogKyAgcmV0dXJuIDA7CiArfQotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS9icmVhay1kbG1vcGVuLmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1 L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYnJlYWstZGxtb3Blbi5jCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0g L2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcu NS41MC4yMDEzMDExOC9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2JyZWFrLWRsbW9wZW4uYwkyMDEz LTAxLTE4IDIzOjU3OjUwLjUxOTc5Mjg1OCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUv Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9icmVhay1kbG1vcGVuLmMJMjAxMy0wMi0xNSAyMjozNzoz NS43NjI0MTc1OTggKzAxMDAKIEBAIC0wLDAgKzEsNTggQEAKICsvKiBDb3B5cmlnaHQgMjAxMiBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTEzNjIsMTAgKzEzNjIsMTAgQEAg SW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9icmVhay1k bG1vcGVuLmMKICsKICsgIHJldHVybiAwOwogK30KLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4 L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYnJlYWstZGxtb3Blbi5leHAKK0luZGV4OiBnZGItNy41 LjUwLjIwMTMwMjE1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYnJlYWstZGxtb3Blbi5leHAKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAw MDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYnJlYWst ZGxtb3Blbi5leHAJMjAxMy0wMS0xOCAyMzo1Nzo1MC41MTk3OTI4NTggKzAxMDAKKysrKyBnZGIt Ny41LjUwLjIwMTMwMjE1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYnJlYWstZGxtb3Blbi5leHAJ MjAxMy0wMi0xNSAyMjozNzozNS43NjI0MTc1OTggKzAxMDAKIEBAIC0wLDAgKzEsMTI1IEBACiAr IyBDb3B5cmlnaHQgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTE0 OTIsMTAgKzE0OTIsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYmFzZS9icmVhay1kbG1vcGVuLmV4cAogKyAgICBnZGJfdGVzdCAiYyIge0JyZWFrcG9p bnQgWzAtOV0rLCAuKiBpbiBzdG9wIFwoXCl9CiArICAgIGNoZWNrX2luZm9fc2hhcmVkICJpbmZv IHNoYXJlZGxpYnJhcnkgIzciIDAKICt9Ci1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL2JyZWFrLWludGVycC5leHAKK0luZGV4OiBnZGItNy41LjUwLjIw MTMwMjE1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYnJlYWstaW50ZXJwLmV4cAogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2Jy ZWFrLWludGVycC5leHAJMjAxMy0wMS0xOCAyMzo1NzoxNC43ODI5Nzg0ODUgKzAxMDAKLSsrKyBn ZGItNy41LjUwLjIwMTMwMTE4L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYnJlYWstaW50ZXJwLmV4 cAkyMDEzLTAxLTE4IDIzOjU3OjUwLjUyMDc5Mjg1NCArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAx MzAyMTUub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2JyZWFrLWludGVycC5leHAJMjAxMy0w MS0wMSAwNzozMzoyNS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvYnJlYWstaW50ZXJwLmV4cAkyMDEzLTAyLTE1IDIyOjM3OjM1 Ljc2MjQxNzU5OCArMDEwMAogQEAgLTEwOSwxMiArMTA5LDE5IEBAIHByb2Mgc3RyaXBfZGVidWcg e2Rlc3R9IHsKICAgICAgfQogIH0KQEAgLTE1OTEsMTAgKzE1OTEsMTAgQEAgSW5kZXg6IGdkYi03 LjUuNTAuMjAxMzAxMTgvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9icmVhay1pbnRlcnAuZXhwCiAg CiAgCSAgICAjIFVzZSB0d28gc2VwYXJhdGUgZ2RiX3Rlc3RfbXVsdGlwbGUgc3RhdGVtZW50cyB0 byBhdm9pZCB0aW1lb3V0cyBkdWUKICAJICAgICMgdG8gc2xvdyBwcm9jZXNzaW5nIG9mIHdpbGRj YXJkIGNhcHR1cmluZyBsb25nIG91dHB1dAotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYmFzZS9icmVhay1wcm9iZXMtc29saWIuYworSW5kZXg6IGdkYi03LjUu NTAuMjAxMzAyMTUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9icmVhay1wcm9iZXMtc29saWIuYwog PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCAr MDAwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9icmVh ay1wcm9iZXMtc29saWIuYwkyMDEzLTAxLTE4IDIzOjU3OjUwLjUyMDc5Mjg1NCArMDEwMAorKysr IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9icmVhay1wcm9iZXMt c29saWIuYwkyMDEzLTAyLTE1IDIyOjM3OjM1Ljc2MjQxNzU5OCArMDEwMAogQEAgLTAsMCArMSwy NCBAQAogKy8qIENvcHlyaWdodCAyMDEyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgog KwpAQCAtMTYyMCwxMCArMTYyMCwxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL2JyZWFrLXByb2Jlcy1zb2xpYi5jCiArCiArICByZXR1cm4gMDsK ICt9Ci1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2Jy ZWFrLXByb2Jlcy5jCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL2JyZWFrLXByb2Jlcy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEt MDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL2JyZWFrLXByb2Jlcy5jCTIwMTMtMDEtMTggMjM6NTc6NTAuNTIw NzkyODU0ICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL2JyZWFrLXByb2Jlcy5jCTIwMTMtMDItMTUgMjI6Mzc6MzUuNzYzNDE3NjAwICswMTAwCiBA QCAtMCwwICsxLDI2IEBACiArLyogQ29weXJpZ2h0IDIwMTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLCBJbmMuCiArCkBAIC0xNjUxLDEwICsxNjUxLDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIw MTMwMTE4L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYnJlYWstcHJvYmVzLmMKICsKICsgIHJldHVy biAwOwogK30KLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvYnJlYWstcHJvYmVzLmV4cAorSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS9icmVhay1wcm9iZXMuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxs CTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuNS41MC4yMDEz MDExOC9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2JyZWFrLXByb2Jlcy5leHAJMjAxMy0wMS0xOCAy Mzo1Nzo1MC41MjA3OTI4NTQgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvYnJlYWstcHJvYmVzLmV4cAkyMDEzLTAyLTE1IDIyOjM3OjM1Ljc2MzQx NzYwMCArMDEwMAogQEAgLTAsMCArMSw3NiBAQAogKyMgQ29weXJpZ2h0IDIwMTIgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0xNzMyLDEwICsxNzMyLDEwIEBAIEluZGV4OiBn ZGItNy41LjUwLjIwMTMwMTE4L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYnJlYWstcHJvYmVzLmV4 cAogKyAgICAjIENhbGwgc29tZXRoaW5nIHRvIGVuc3VyZSB0aGF0IHJlbG9jYXRpb24gb2NjdXJy ZWQKICsgICAgZ2RiX3Rlc3QgImNhbGwgZm9vKDIzKSIgImZvbyAyMy4qXFxcJC4qID0gLioiCiAr fQotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9pbmZv LXNoYXJlZC1zb2xpYjEuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYmFzZS9pbmZvLXNoYXJlZC1zb2xpYjEuYwogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVs bAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjUuNTAuMjAx MzAxMTgvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9pbmZvLXNoYXJlZC1zb2xpYjEuYwkyMDEzLTAx LTE4IDIzOjU3OjUwLjUyMDc5Mjg1NCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYmFzZS9pbmZvLXNoYXJlZC1zb2xpYjEuYwkyMDEzLTAyLTE1IDIyOjM3 OjM1Ljc2MzQxNzYwMCArMDEwMAogQEAgLTAsMCArMSwyNCBAQAogKy8qIENvcHlyaWdodCAyMDEy IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTc2MSwxMCArMTc2MSwxMCBA QCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2luZm8t c2hhcmVkLXNvbGliMS5jCiArCiArICByZXR1cm4gMDsKICt9Ci1JbmRleDogZ2RiLTcuNS41MC4y MDEzMDExOC9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2luZm8tc2hhcmVkLXNvbGliMi5jCitJbmRl eDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2luZm8tc2hhcmVk LXNvbGliMi5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAu MDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL2luZm8tc2hhcmVkLXNvbGliMi5jCTIwMTMtMDEtMTggMjM6NTc6NTAuNTIwNzkyODU0 ICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2lu Zm8tc2hhcmVkLXNvbGliMi5jCTIwMTMtMDItMTUgMjI6Mzc6MzUuNzYzNDE3NjAwICswMTAwCiBA QCAtMCwwICsxLDI0IEBACiArLyogQ29weXJpZ2h0IDIwMTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLCBJbmMuCiArCkBAIC0xNzkwLDEwICsxNzkwLDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIw MTMwMTE4L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvaW5mby1zaGFyZWQtc29saWIyLmMKICsKICsg IHJldHVybiAwOwogK30KLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvaW5mby1zaGFyZWQuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9pbmZvLXNoYXJlZC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxs CTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuNS41MC4yMDEz MDExOC9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2luZm8tc2hhcmVkLmMJMjAxMy0wMS0xOCAyMzo1 Nzo1MC41MjA3OTI4NTQgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi90ZXN0c3Vp dGUvZ2RiLmJhc2UvaW5mby1zaGFyZWQuYwkyMDEzLTAyLTE1IDIyOjM3OjM1Ljc2MzQxNzYwMCAr MDEwMAogQEAgLTAsMCArMSw0OCBAQAogKy8qIENvcHlyaWdodCAyMDEyIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTg0MywxMCArMTg0MywxMCBAQCBJbmRleDogZ2RiLTcu NS41MC4yMDEzMDExOC9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2luZm8tc2hhcmVkLmMKICsKICsg IHJldHVybiAwOwogK30KLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvaW5mby1zaGFyZWQuZXhwCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL2luZm8tc2hhcmVkLmV4cAogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYv bnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjUuNTAu MjAxMzAxMTgvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9pbmZvLXNoYXJlZC5leHAJMjAxMy0wMS0x OCAyMzo1Nzo1MC41MjE3OTI4NTAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi90 ZXN0c3VpdGUvZ2RiLmJhc2UvaW5mby1zaGFyZWQuZXhwCTIwMTMtMDItMTUgMjI6Mzc6MzUuNzY0 NDE3NjAyICswMTAwCiBAQCAtMCwwICsxLDEzOSBAQAogKyMgQ29weXJpZ2h0IDIwMTIgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCgpkaWZmIC0tZ2l0IGEvZ2RiLW1pbmlkZWJ1Z2lu Zm8tY3Jhc2gucGF0Y2ggYi9nZGItbWluaWRlYnVnaW5mby1jcmFzaC5wYXRjaApkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggZjJmMDBmMS4uMDAwMDAwMAotLS0gYS9nZGItbWluaWRlYnVn aW5mby1jcmFzaC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE0MiArMCwwIEBACi1odHRwOi8v c291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxMy0wMi9tc2cwMDAxNi5odG1sCi1TdWJq ZWN0OiBbcGF0Y2hdIEZpeCBhc3NlcnQgY3Jhc2hlcyB3aXRoIG1pbmlkZWJ1Z2luZm8KLQotSGkg VG9tLAotCi1vcmlnaW5hbCBidWdyZXBvcnQ6Ci0JaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29t L3Nob3dfYnVnLmNnaT9pZD05MDM1MjIKLQotaW4gc29tZSBjYXNlcyBHREIgYWRkZWQgc2VwYXJh dGUgZGVidWcgaW5mbyB0byBtaW5pZGVidWdpbmZvICh3aGljaCBpdHNlbGYgaXMKLWEgc2VwYXJh dGUgZGVidWcgaW5mbykuICBzZXBhcmF0ZSBkZWJ1ZyBpbmZvIG9mIGEgc2VwYXJhdGUgZGVidWcg aW5mbyBpcyBub3QKLXN1cHBvcnRlZCBieSBHREIgYW5kIGl0IGNhdXNlZCBhIGdkYl9hc3NlcnQg ZmFpbHVyZS4KLQotU28gdGhlIGFkZGVkIGdkYl9hc3NlcnQgY2FsbHMgcHJpbnQgc3VjaCB2aW9s YXRpb24gaW1tZWRpYXRlbHkgYXQKLWFkZF9zZXBhcmF0ZV9kZWJ1Z19vYmpmaWxlLCBub3Qgb25s eSBpbiBhIHNvbWUgcmFyZSBjYXNlIGZvdW5kIGJ5IHRoZQotYnVncmVwb3J0LgotCi1BbmQgSSBo YXZlIGZvdW5kIG11bHRpcGxlIHN1Y2ggZnJhZ2lsZSBjaGVja3MgaW4gR0RCIHNvIEkgaGF2ZSBw cm90ZWN0ZWQgdGhlbQotYWxsIHNvIHRoYXQgbWluaWRlYnVnaW5mbyBpcyBhbHdheXMgb25seSBh IHNvbGUgc2VwYXJhdGUgZGVidWcgaW5mby4KLQotTm8gcmVncmVzc2lvbnMgb24ge3g4Nl82NCx4 ODZfNjQtbTMyLGk2ODZ9LWZlZG9yYTE5cHJlLWxpbnV4LWdudS4KLQotV2l0aCB0aGUgbmV3IGdk Yl9hc3NlcnRzIChhbmQgd2l0aG91dCB0aGUgZml4KSBHREIgY3Jhc2hlcyBvbiBnZGIuZ2RiLyB0 ZXN0cwotZHVlIHRvIGN1cnJlbnQgbmN1cnNlcy1saWJzLTUuOS03LjIwMTIxMDE3LmZjMTkueDg2 XzY0IGZpbGVzLgotCi0KLVRoYW5rcywKLUphbgotCi0KLWdkYi8KLTIwMTMtMDItMDEgIEphbiBL cmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KLQotCSogZWxmcmVhZC5jIChl bGZfc3ltZmlsZV9yZWFkKTogTGltaXQgc2VwYXJhdGUgZGVidWcgaW5mbyBhZGRpdGlvbnMgdG8K LQlmaWxlcyB3aXRoIG5vIHNlcGFyYXRlIGRlYnVnIGluZm8uCi0JKiBvYmpmaWxlcy5jIChhZGRf c2VwYXJhdGVfZGVidWdfb2JqZmlsZSk6IEFkZCBnZGJfYXNzZXJ0IGNhbGxzLgotCSogc3ltZmls ZS5jIChyZWFkX3N5bWJvbHMpOiBDYWxsIGZpbmRfc2VwYXJhdGVfZGVidWdfZmlsZV9pbl9zZWN0 aW9uCi0Jb25seSBmb3IgZmlsZXMgd2l0aCBubyBzZXBhcmF0ZSBkZWJ1ZyBpbmZvLgotCi1nZGIv dGVzdHN1aXRlLwotMjAxMy0wMi0wMSAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEBy ZWRoYXQuY29tPgotCi0JKiBnZGIuYmFzZS9nbnUtZGVidWdkYXRhLmV4cCk6IENyZWF0ZSAke2Jp bmZpbGV9LmRlYnVnLAotCSR7YmluZmlsZX0ubWluaV9kZWJ1Z2luZm8tZGVidWdsaW5rLCBhZGQg LWsgdG8geHosIHVzZSBub3cKLQkke2JpbmZpbGV9Lm1pbmlfZGVidWdpbmZvLWRlYnVnbGluayBh bmQKLQkke2JpbmZpbGV9Lm1pbmlfZGVidWdpbmZvLWRlYnVnbGluay54ei4KLQotZGlmZiAtLWdp dCBhL2dkYi9lbGZyZWFkLmMgYi9nZGIvZWxmcmVhZC5jCi1pbmRleCA5ZDYzMGNkLi42Y2E2NTlm IDEwMDY0NAotLS0tIGEvZ2RiL2VsZnJlYWQuYwotKysrIGIvZ2RiL2VsZnJlYWQuYwotQEAgLTI0 MjcsOCArMjQyNywxOCBAQCBlbGZfc3ltZmlsZV9yZWFkIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmls Ci0gICAvKiBJZiB0aGUgZmlsZSBoYXMgaXRzIG93biBzeW1ib2wgdGFibGVzIGl0IGhhcyBubyBz ZXBhcmF0ZSBkZWJ1ZwotICAgICAgaW5mby4gIGAuZHluc3ltJy9gLnN5bXRhYicgZ28gdG8gTVNZ TUJPTFMsIGAuZGVidWdfaW5mbycgZ29lcyB0bwotICAgICAgU1lNVEFCUy9QU1lNVEFCUy4gIGAu Z251X2RlYnVnbGluaycgbWF5IG5vIGxvbmdlciBiZSBwcmVzZW50IHdpdGgKLS0gICAgIGAubm90 ZS5nbnUuYnVpbGQtaWQnLiAgKi8KLS0gIGVsc2UgaWYgKCFvYmpmaWxlX2hhc19wYXJ0aWFsX3N5 bWJvbHMgKG9iamZpbGUpKQotKyAgICAgYC5ub3RlLmdudS5idWlsZC1pZCcuCi0rCi0rICAgICAu Z251X2RlYnVnZGF0YSBpcyAhb2JqZmlsZV9oYXNfcGFydGlhbF9zeW1ib2xzIGJlY2F1c2UgaXQg Y29udGFpbnMgb25seQotKyAgICAgLnN5bXRhYiwgbm90IC5kZWJ1Z18qIHNlY3Rpb24uICBCdXQg aWYgd2UgYWxyZWFkeSBhZGRlZCAuZ251X2RlYnVnZGF0YSBhcwotKyAgICAgYW4gb2JqZmlsZSB2 aWEgZmluZF9zZXBhcmF0ZV9kZWJ1Z19maWxlX2luX3NlY3Rpb24gdGhlcmUgd2FzIG5vIHNlcGFy YXRlCi0rICAgICBkZWJ1ZyBpbmZvIGF2YWlsYWJsZS4gIFRoZXJlZm9yZSBkbyBub3QgYXR0ZW1w dCB0byBzZWFyY2ggZm9yIGFub3RoZXIgb25lLAotKyAgICAgb2JqZmlsZS0+c2VwYXJhdGVfZGVi dWdfb2JqZmlsZS0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZSBHREIgZ3VhcmFudGVlcyB0bwotKyAg ICAgYmUgTlVMTCBhbmQgd2Ugd291bGQgcG9zc2libHkgdmlvbGF0ZSBpdC4gICovCi0rCi0rICBl bHNlIGlmICghb2JqZmlsZV9oYXNfcGFydGlhbF9zeW1ib2xzIChvYmpmaWxlKQotKwkgICAmJiBv YmpmaWxlLT5zZXBhcmF0ZV9kZWJ1Z19vYmpmaWxlID09IE5VTEwKLSsJICAgJiYgb2JqZmlsZS0+ c2VwYXJhdGVfZGVidWdfb2JqZmlsZV9iYWNrbGluayA9PSBOVUxMKQotICAgICB7Ci0gICAgICAg Y2hhciAqZGVidWdmaWxlLCAqYnVpbGRfaWRfZmlsZW5hbWU7Ci0gCi1kaWZmIC0tZ2l0IGEvZ2Ri L29iamZpbGVzLmMgYi9nZGIvb2JqZmlsZXMuYwotaW5kZXggNTIzMmM4Zi4uNTgyOTY5OSAxMDA2 NDQKLS0tLSBhL2dkYi9vYmpmaWxlcy5jCi0rKysgYi9nZGIvb2JqZmlsZXMuYwotQEAgLTQ3Niw2 ICs0NzYsOSBAQCBhZGRfc2VwYXJhdGVfZGVidWdfb2JqZmlsZSAoc3RydWN0IG9iamZpbGUgKm9i amZpbGUsIHN0cnVjdCBvYmpmaWxlICpwYXJlbnQpCi0gICAvKiBNdXN0IG5vdCBiZSBhbHJlYWR5 IGluIGEgbGlzdC4gICovCi0gICBnZGJfYXNzZXJ0IChvYmpmaWxlLT5zZXBhcmF0ZV9kZWJ1Z19v YmpmaWxlX2JhY2tsaW5rID09IE5VTEwpOwotICAgZ2RiX2Fzc2VydCAob2JqZmlsZS0+c2VwYXJh dGVfZGVidWdfb2JqZmlsZV9saW5rID09IE5VTEwpOwotKyAgZ2RiX2Fzc2VydCAob2JqZmlsZS0+ c2VwYXJhdGVfZGVidWdfb2JqZmlsZSA9PSBOVUxMKTsKLSsgIGdkYl9hc3NlcnQgKHBhcmVudC0+ c2VwYXJhdGVfZGVidWdfb2JqZmlsZV9iYWNrbGluayA9PSBOVUxMKTsKLSsgIGdkYl9hc3NlcnQg KHBhcmVudC0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZV9saW5rID09IE5VTEwpOwotIAotICAgb2Jq ZmlsZS0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZV9iYWNrbGluayA9IHBhcmVudDsKLSAgIG9iamZp bGUtPnNlcGFyYXRlX2RlYnVnX29iamZpbGVfbGluayA9IHBhcmVudC0+c2VwYXJhdGVfZGVidWdf b2JqZmlsZTsKLWRpZmYgLS1naXQgYS9nZGIvc3ltZmlsZS5jIGIvZ2RiL3N5bWZpbGUuYwotaW5k ZXggNjNiZjMyOS4uNmY5NjhiNyAxMDA2NDQKLS0tLSBhL2dkYi9zeW1maWxlLmMKLSsrKyBiL2dk Yi9zeW1maWxlLmMKLUBAIC04MjMsNyArODIzLDEyIEBAIHN0YXRpYyB2b2lkCi0gcmVhZF9zeW1i b2xzIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwgaW50IGFkZF9mbGFncykKLSB7Ci0gICAoKm9i amZpbGUtPnNmLT5zeW1fcmVhZCkgKG9iamZpbGUsIGFkZF9mbGFncyk7Ci0tICBpZiAoIW9iamZp bGVfaGFzX3BhcnRpYWxfc3ltYm9scyAob2JqZmlsZSkpCi0rCi0rICAvKiBmaW5kX3NlcGFyYXRl X2RlYnVnX2ZpbGVfaW5fc2VjdGlvbiBzaG91bGQgYmUgY2FsbGVkIG9ubHkgaWYgdGhlcmUgaXMK LSsgICAgIHNpbmdsZSBiaW5hcnkgd2l0aCBubyBleGlzdGluZyBzZXBhcmF0ZSBkZWJ1ZyBpbmZv IGZpbGUuICAqLwotKyAgaWYgKCFvYmpmaWxlX2hhc19wYXJ0aWFsX3N5bWJvbHMgKG9iamZpbGUp Ci0rICAgICAgJiYgb2JqZmlsZS0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZSA9PSBOVUxMCi0rICAg ICAgJiYgb2JqZmlsZS0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZV9iYWNrbGluayA9PSBOVUxMKQot ICAgICB7Ci0gICAgICAgYmZkICphYmZkID0gZmluZF9zZXBhcmF0ZV9kZWJ1Z19maWxlX2luX3Nl Y3Rpb24gKG9iamZpbGUpOwotICAgICAgIHN0cnVjdCBjbGVhbnVwICpjbGVhbnVwID0gbWFrZV9j bGVhbnVwX2JmZF91bnJlZiAoYWJmZCk7Ci1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS9nbnUtZGVidWdkYXRhLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ251LWRlYnVn ZGF0YS5leHAKLWluZGV4IGYzNGU0ZTguLjU1YWEzYzYgMTAwNjQ0Ci0tLS0gYS9nZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL2dudS1kZWJ1Z2RhdGEuZXhwCi0rKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL2dudS1kZWJ1Z2RhdGEuZXhwCi1AQCAtMTI3LDE0ICsxMjcsMzAgQEAgaWYge1tydW4gInN0 cmlwIiBbdHJhbnNmb3JtIHN0cmlwXSBcCi0gICAgIHJldHVybiAtMQotIH0KLSAKLSsjIFNlcGFy YXRlIGZ1bGwgZGVidWcgaW5mbyBpbnRvICR7YmluZmlsZX0uZGVidWcuCi0rcmVtb3RlX2ZpbGUg aG9zdCBkZWxldGUgJHtiaW5maWxlfS5kZWJ1ZwotK2lmIHtbcnVuICJjb3B5ZGVidWciIFt0cmFu c2Zvcm0gb2JqY29weV0gXAotKwkgIi0tb25seS1rZWVwLWRlYnVnICR7YmluZmlsZX0gJHtiaW5m aWxlfS5kZWJ1ZyJdfSB7Ci0rICAgIHJldHVybiAtMQotK30KLSsKLSsjIEFkZCB0aGUgLmdudV9k ZWJ1Z2xpbmsgc2VjdGlvbiB0byB0aGUgLmdudV9kZWJ1Z2RhdGEgZmlsZS4KLSsjIC5nbnVfZGVi dWdsaW5rIGlzIG5vcm1hbGx5IG5vdCBwcmVzZW50IGluIHRoZSAuZ251X2RlYnVnZGF0YSBzZWN0 aW9uIGJ1dCBpbgotKyMgc29tZSBmaWxlcyB0aGVyZSBtYXkgYmUgUFRfTk9URSB3aXRoIE5UX0dO VV9CVUlMRF9JRCBhbmQgR0RCIGNvdWxkIGxvb2sgdXAKLSsjIHRoZSAuZGVidWcgZmlsZSBmcm9t IGl0LgotK2lmIHtbcnVuICJhZGRsaW5rIiBbdHJhbnNmb3JtIG9iamNvcHldIFwKLSsJICItLWFk ZC1nbnUtZGVidWdsaW5rPSR7YmluZmlsZX0uZGVidWcgJHtiaW5maWxlfS5taW5pX2RlYnVnaW5m byAke2JpbmZpbGV9Lm1pbmlfZGVidWdpbmZvLWRlYnVnbGluayJdfSB7Ci0rICAgIHJldHVybiAt MQotK30KLSsKLSAjIEluamVjdCB0aGUgY29tcHJlc3NlZCBkYXRhIGludG8gdGhlIC5nbnVfZGVi dWdkYXRhIHNlY3Rpb24gb2YgdGhlCi0gIyBvcmlnaW5hbCBiaW5hcnkuCi0tcmVtb3RlX2ZpbGUg aG9zdCBkZWxldGUgJHtiaW5maWxlfS5taW5pX2RlYnVnaW5mby54egotLWlmIHtbcnVuICJ4eiIg Inh6IiAiJHtiaW5maWxlfS5taW5pX2RlYnVnaW5mbyJdfSB7Ci0rcmVtb3RlX2ZpbGUgaG9zdCBk ZWxldGUgJHtiaW5maWxlfS5taW5pX2RlYnVnaW5mby1kZWJ1Z2xpbmsueHoKLStpZiB7W3J1biAi eHoiICJ4eiIgIi1rICR7YmluZmlsZX0ubWluaV9kZWJ1Z2luZm8tZGVidWdsaW5rIl19IHsKLSAg ICAgcmV0dXJuIC0xCi0gfQotIHJlbW90ZV9maWxlIGhvc3QgZGVsZXRlICR7YmluZmlsZX0udGVz dAotLWlmIHtbcnVuICJvYmpjb3B5IDIiIFt0cmFuc2Zvcm0gb2JqY29weV0gIi0tYWRkLXNlY3Rp b24gLmdudV9kZWJ1Z2RhdGE9JHtiaW5maWxlfS5taW5pX2RlYnVnaW5mby54eiAke2JpbmZpbGV9 LnN0cmlwICR7YmluZmlsZX0udGVzdCJdfSB7Ci0raWYge1tydW4gIm9iamNvcHkgMiIgW3RyYW5z Zm9ybSBvYmpjb3B5XSAiLS1hZGQtc2VjdGlvbiAuZ251X2RlYnVnZGF0YT0ke2JpbmZpbGV9Lm1p bmlfZGVidWdpbmZvLWRlYnVnbGluay54eiAke2JpbmZpbGV9LnN0cmlwICR7YmluZmlsZX0udGVz dCJdfSB7Ci0gICAgIHJldHVybiAtMQotIH0KLSAKLQoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6Nzk1 NDI0LWJpdHBvcy0yMG9mMjUucGF0Y2ggYi9nZGItcmhiejc5NTQyNC1iaXRwb3MtMjBvZjI1LnBh dGNoCmluZGV4IGIzMjA0ZTEuLmRkMTUzYjQgMTAwNjQ0Ci0tLSBhL2dkYi1yaGJ6Nzk1NDI0LWJp dHBvcy0yMG9mMjUucGF0Y2gKKysrIGIvZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIwb2YyNS5wYXRj aApAQCAtNDYzLDEwICs0NjMsMTAgQEAgQ29udGVudC1UeXBlOiB0ZXh0L3gtcGF0Y2gKIENvbnRl bnQtVHJhbnNmZXItRW5jb2Rpbmc6IDdiaXQKIENvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1l bnQ7IGZpbGVuYW1lPWJpdHBvcy1tYWluLnBhdGNoCiAKLUluZGV4OiBnZGItNy41LjUwLjIwMTMw MTE4L2dkYi9hZGEtbGFuZy5jCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvYWRhLWxh bmcuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvYWRhLWxh bmcuYwkyMDEzLTAxLTE4IDIzOjI3OjIyLjA2MDYwMTI5OSArMDEwMAotKysrIGdkYi03LjUuNTAu MjAxMzAxMTgvZ2RiL2FkYS1sYW5nLmMJMjAxMy0wMS0xOCAyMzoyNzoyOC44NDU2MDcyOTUgKzAx MDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL2FkYS1sYW5nLmMJMjAxMy0wMi0x NSAyMjozMTozNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9h ZGEtbGFuZy5jCTIwMTMtMDItMTUgMjI6NDA6MTguNTEzNjIyMDM1ICswMTAwCiBAQCAtODAsNyAr ODAsNyBAQCBzdGF0aWMgc3RydWN0IHR5cGUgKmRlc2NfYm91bmRzX3R5cGUgKHN0CiAgCiAgc3Rh dGljIHN0cnVjdCB2YWx1ZSAqZGVzY19ib3VuZHMgKHN0cnVjdCB2YWx1ZSAqKTsKQEAgLTY4MCw3 ICs2ODAsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvYWRhLWxhbmcuYwogICAg CiAgICB2YWwgPSB2YWx1ZV9jYXN0ICh2YWx1ZV90eXBlIChjb21wb25lbnQpLCB2YWwpOwogIAot QEAgLTQwODIsNyArNDA4NSw3IEBAIGVuc3VyZV9sdmFsIChzdHJ1Y3QgdmFsdWUgKnZhbCkKK0BA IC00MDg0LDcgKzQwODcsNyBAQCBlbnN1cmVfbHZhbCAoc3RydWN0IHZhbHVlICp2YWwpCiAgICBp ZiAoVkFMVUVfTFZBTCAodmFsKSA9PSBub3RfbHZhbAogICAgICAgIHx8IFZBTFVFX0xWQUwgKHZh bCkgPT0gbHZhbF9pbnRlcm5hbHZhcikKICAgICAgewpAQCAtNjg5LDcgKzY4OSw3IEBAIEluZGV4 OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9hZGEtbGFuZy5jCiAgICAgICAgY29uc3QgQ09SRV9B RERSIGFkZHIgPQogICAgICAgICAgdmFsdWVfYXNfbG9uZyAodmFsdWVfYWxsb2NhdGVfc3BhY2Vf aW5faW5mZXJpb3IgKGxlbikpOwogIAotQEAgLTQxNTYsNyArNDE1OSw3IEBAIHN0YXRpYyBDT1JF X0FERFIKK0BAIC00MTU4LDcgKzQxNjEsNyBAQCBzdGF0aWMgQ09SRV9BRERSCiAgdmFsdWVfcG9p bnRlciAoc3RydWN0IHZhbHVlICp2YWx1ZSwgc3RydWN0IHR5cGUgKnR5cGUpCiAgewogICAgc3Ry dWN0IGdkYmFyY2ggKmdkYmFyY2ggPSBnZXRfdHlwZV9hcmNoICh0eXBlKTsKQEAgLTY5OCw3ICs2 OTgsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvYWRhLWxhbmcuYwogICAgZ2Ri X2J5dGUgKmJ1ZiA9IGFsbG9jYSAobGVuKTsKICAgIENPUkVfQUREUiBhZGRyOwogIAotQEAgLTYw NTEsNyArNjA1NCw3IEBAIHZhbHVlX3RhZ19mcm9tX2NvbnRlbnRzX2FuZF9hZGRyZXNzIChzdHIK K0BAIC02MDUzLDcgKzYwNTYsNyBAQCB2YWx1ZV90YWdfZnJvbV9jb250ZW50c19hbmRfYWRkcmVz cyAoc3RyCiAgCQkJCSAgICAgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIENPUkVfQUREUiBhZGRyZXNzKQogIHsKQEAgLTcwNyw3 ICs3MDcsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvYWRhLWxhbmcuYwogICAg c3RydWN0IHR5cGUgKnRhZ190eXBlOwogIAogICAgaWYgKGZpbmRfc3RydWN0X2ZpZWxkICgiX3Rh ZyIsIHR5cGUsIDAsICZ0YWdfdHlwZSwgJnRhZ19ieXRlX29mZnNldCwKLUBAIC02NTE2LDcgKzY1 MTksNyBAQCBhZGFfaW5fdmFyaWFudCAoTE9OR0VTVCB2YWwsIHN0cnVjdCB0eXBlCitAQCAtNjUx OCw3ICs2NTIxLDcgQEAgYWRhX2luX3ZhcmlhbnQgKExPTkdFU1QgdmFsLCBzdHJ1Y3QgdHlwZQog ICAgIG9ubHkgaW4gdGhhdCBpdCBjYW4gaGFuZGxlIHBhY2tlZCB2YWx1ZXMgb2YgYXJiaXRyYXJ5 IHR5cGUuICAqLwogIAogIHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKgpAQCAtNzE2LDcgKzcxNiw3IEBA IEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9hZGEtbGFuZy5jCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RydWN0IHR5cGUgKmFyZ190eXBlKQogIHsKICAgIHN0cnVjdCB0eXBl ICp0eXBlOwotQEAgLTY1MjgsNyArNjUzMSw3IEBAIGFkYV92YWx1ZV9wcmltaXRpdmVfZmllbGQg KHN0cnVjdCB2YWx1ZQorQEAgLTY1MzAsNyArNjUzMyw3IEBAIGFkYV92YWx1ZV9wcmltaXRpdmVf ZmllbGQgKHN0cnVjdCB2YWx1ZQogIAogICAgaWYgKFRZUEVfRklFTERfQklUU0laRSAoYXJnX3R5 cGUsIGZpZWxkbm8pICE9IDApCiAgICAgIHsKQEAgLTcyNSw3ICs3MjUsNyBAQCBJbmRleDogZ2Ri LTcuNS41MC4yMDEzMDExOC9nZGIvYWRhLWxhbmcuYwogICAgICAgIGludCBiaXRfc2l6ZSA9IFRZ UEVfRklFTERfQklUU0laRSAoYXJnX3R5cGUsIGZpZWxkbm8pOwogIAogICAgICAgIHJldHVybiBh ZGFfdmFsdWVfcHJpbWl0aXZlX3BhY2tlZF92YWwgKGFyZzEsIHZhbHVlX2NvbnRlbnRzIChhcmcx KSwKLUBAIC02NTU1LDkgKzY1NTgsOSBAQCBhZGFfdmFsdWVfcHJpbWl0aXZlX2ZpZWxkIChzdHJ1 Y3QgdmFsdWUKK0BAIC02NTU3LDkgKzY1NjAsOSBAQCBhZGFfdmFsdWVfcHJpbWl0aXZlX2ZpZWxk IChzdHJ1Y3QgdmFsdWUKICAgICBSZXR1cm5zIDEgaWYgZm91bmQsIDAgb3RoZXJ3aXNlLiAgKi8K ICAKICBzdGF0aWMgaW50CkBAIC03MzcsNyArNzM3LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAx MzAxMTgvZ2RiL2FkYS1sYW5nLmMKICAJCSAgIGludCAqaW5kZXhfcCkKICB7CiAgICBpbnQgaTsK LUBAIC02NTc1LDggKzY1NzgsOCBAQCBmaW5kX3N0cnVjdF9maWVsZCAoY29uc3QgY2hhciAqbmFt ZSwgc3RyCitAQCAtNjU3Nyw4ICs2NTgwLDggQEAgZmluZF9zdHJ1Y3RfZmllbGQgKGNvbnN0IGNo YXIgKm5hbWUsIHN0cgogIAogICAgZm9yIChpID0gMDsgaSA8IFRZUEVfTkZJRUxEUyAodHlwZSk7 IGkgKz0gMSkKICAgICAgewpAQCAtNzQ4LDcgKzc0OCw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIw MTMwMTE4L2dkYi9hZGEtbGFuZy5jCiAgICAgICAgY29uc3QgY2hhciAqdF9maWVsZF9uYW1lID0g VFlQRV9GSUVMRF9OQU1FICh0eXBlLCBpKTsKICAKICAgICAgICBpZiAodF9maWVsZF9uYW1lID09 IE5VTEwpCi1AQCAtNjY0Niw3ICs2NjQ5LDcgQEAgbnVtX3Zpc2libGVfZmllbGRzIChzdHJ1Y3Qg dHlwZSAqdHlwZSkKK0BAIC02NjQ4LDcgKzY2NTEsNyBAQCBudW1fdmlzaWJsZV9maWVsZHMgKHN0 cnVjdCB0eXBlICp0eXBlKQogICAgIFNlYXJjaGVzIHJlY3Vyc2l2ZWx5IHRocm91Z2ggd3JhcHBl ciBmaWVsZHMgKGUuZy4sICdfcGFyZW50JykuICAqLwogIAogIHN0YXRpYyBzdHJ1Y3QgdmFsdWUg KgpAQCAtNzU3LDcgKzc1Nyw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9hZGEt bGFuZy5jCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB0eXBlICp0eXBlKQogIHsK ICAgIGludCBpOwotQEAgLTY2NzksNyArNjY4Miw3IEBAIGFkYV9zZWFyY2hfc3RydWN0X2ZpZWxk IChjaGFyICpuYW1lLCBzdHIKK0BAIC02NjgxLDcgKzY2ODQsNyBAQCBhZGFfc2VhcmNoX3N0cnVj dF9maWVsZCAoY2hhciAqbmFtZSwgc3RyCiAgICAgICAgICAgIGludCBqOwogICAgICAgICAgICBz dHJ1Y3QgdHlwZSAqZmllbGRfdHlwZSA9IGFkYV9jaGVja190eXBlZGVmIChUWVBFX0ZJRUxEX1RZ UEUgKHR5cGUsCiAgCQkJCQkJCQkJaSkpOwpAQCAtNzY2LDcgKzc2Niw3IEBAIEluZGV4OiBnZGIt Ny41LjUwLjIwMTMwMTE4L2dkYi9hZGEtbGFuZy5jCiAgCiAgICAgICAgICAgIGZvciAoaiA9IDA7 IGogPCBUWVBFX05GSUVMRFMgKGZpZWxkX3R5cGUpOyBqICs9IDEpCiAgICAgICAgICAgICAgewot QEAgLTY2OTcsOCArNjcwMCw4IEBAIGFkYV9zZWFyY2hfc3RydWN0X2ZpZWxkIChjaGFyICpuYW1l LCBzdHIKK0BAIC02Njk5LDggKzY3MDIsOCBAQCBhZGFfc2VhcmNoX3N0cnVjdF9maWVsZCAoY2hh ciAqbmFtZSwgc3RyCiAgICByZXR1cm4gTlVMTDsKICB9CiAgCkBAIC03NzcsNyArNzc3LDcgQEAg SW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2FkYS1sYW5nLmMKICAKICAKICAvKiBSZXR1 cm4gZmllbGQgI0lOREVYIGluIEFSRywgd2hlcmUgdGhlIGluZGV4IGlzIHRoYXQgcmV0dXJuZWQg YnkKLUBAIC02NzA3LDcgKzY3MTAsNyBAQCBzdGF0aWMgc3RydWN0IHZhbHVlICphZGFfaW5kZXhf c3RydWN0X2ZpCitAQCAtNjcwOSw3ICs2NzEyLDcgQEAgc3RhdGljIHN0cnVjdCB2YWx1ZSAqYWRh X2luZGV4X3N0cnVjdF9maQogICAqIElmIGZvdW5kLCByZXR1cm4gdmFsdWUsIGVsc2UgcmV0dXJu IE5VTEwuICAqLwogIAogIHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKgpAQCAtNzg2LDcgKzc4Niw3IEBA IEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9hZGEtbGFuZy5jCiAgCQkJc3RydWN0IHR5 cGUgKnR5cGUpCiAgewogICAgcmV0dXJuIGFkYV9pbmRleF9zdHJ1Y3RfZmllbGRfMSAoJmluZGV4 LCBhcmcsIG9mZnNldCwgdHlwZSk7Ci1AQCAtNjcxOSw3ICs2NzIyLDcgQEAgYWRhX2luZGV4X3N0 cnVjdF9maWVsZCAoaW50IGluZGV4LCBzdHJ1YworQEAgLTY3MjEsNyArNjcyNCw3IEBAIGFkYV9p bmRleF9zdHJ1Y3RfZmllbGQgKGludCBpbmRleCwgc3RydWMKICAgKiAqSU5ERVhfUC4gICovCiAg CiAgc3RhdGljIHN0cnVjdCB2YWx1ZSAqCkBAIC03OTUsNyArNzk1LDcgQEAgSW5kZXg6IGdkYi03 LjUuNTAuMjAxMzAxMTgvZ2RiL2FkYS1sYW5nLmMKICAJCQkgIHN0cnVjdCB0eXBlICp0eXBlKQog IHsKICAgIGludCBpOwotQEAgLTY4MDksNyArNjgxMiw4IEBAIGFkYV92YWx1ZV9zdHJ1Y3RfZWx0 IChzdHJ1Y3QgdmFsdWUgKmFyZywKK0BAIC02ODExLDcgKzY4MTQsOCBAQCBhZGFfdmFsdWVfc3Ry dWN0X2VsdCAoc3RydWN0IHZhbHVlICphcmcsCiAgICAgIHYgPSBhZGFfc2VhcmNoX3N0cnVjdF9m aWVsZCAobmFtZSwgYXJnLCAwLCB0KTsKICAgIGVsc2UKICAgICAgewpAQCAtODA1LDcgKzgwNSw3 IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9hZGEtbGFuZy5jCiAgICAgICAgc3Ry dWN0IHR5cGUgKmZpZWxkX3R5cGU7CiAgICAgICAgQ09SRV9BRERSIGFkZHJlc3M7CiAgCi1AQCAt NzEyMiw4ICs3MTI2LDggQEAgYWRhX2NvZXJjZV9yZWYgKHN0cnVjdCB2YWx1ZSAqdmFsMCkKK0BA IC03MTI0LDggKzcxMjgsOCBAQCBhZGFfY29lcmNlX3JlZiAoc3RydWN0IHZhbHVlICp2YWwwKQog IC8qIFJldHVybiBPRkYgcm91bmRlZCB1cHdhcmQgaWYgbmVjZXNzYXJ5IHRvIGEgbXVsdGlwbGUg b2YKICAgICBBTElHTk1FTlQgKGEgcG93ZXIgb2YgMikuICAqLwogIApAQCAtODE2LDcgKzgxNiw3 IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9hZGEtbGFuZy5jCiAgewogICAgcmV0 dXJuIChvZmYgKyBhbGlnbm1lbnQgLSAxKSAmIH4oYWxpZ25tZW50IC0gMSk7CiAgfQotQEAgLTc1 MDIsMTAgKzc1MDYsOSBAQCBhZGFfdGVtcGxhdGVfdG9fZml4ZWRfcmVjb3JkX3R5cGVfMSAoc3Ry CitAQCAtNzUwNCwxMCArNzUwOCw5IEBAIGFkYV90ZW1wbGF0ZV90b19maXhlZF9yZWNvcmRfdHlw ZV8xIChzdHIKICAgIHN0cnVjdCB2YWx1ZSAqbWFyayA9IHZhbHVlX21hcmsgKCk7CiAgICBzdHJ1 Y3QgdmFsdWUgKmR2YWw7CiAgICBzdHJ1Y3QgdHlwZSAqcnR5cGU7CkBAIC04MjksNyArODI5LDcg QEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2FkYS1sYW5nLmMKICAgIGludCBmOwog IAogICAgLyogQ29tcHV0ZSB0aGUgbnVtYmVyIG9mIGZpZWxkcyBpbiB0aGlzIHJlY29yZCB0eXBl IHRoYXQgYXJlIGdvaW5nCi1AQCAtNzU3Niw3ICs3NTc5LDcgQEAgYWRhX3RlbXBsYXRlX3RvX2Zp eGVkX3JlY29yZF90eXBlXzEgKHN0cgorQEAgLTc1NzgsNyArNzU4MSw3IEBAIGFkYV90ZW1wbGF0 ZV90b19maXhlZF9yZWNvcmRfdHlwZV8xIChzdHIKICAJICAgICB0aGF0IGZvbGxvdyB0aGlzIG9u ZS4gICovCiAgCSAgaWYgKGFkYV9pc19hbGlnbmVyX3R5cGUgKGZpZWxkX3R5cGUpKQogIAkgICAg ewpAQCAtODM4LDcgKzgzOCw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9hZGEt bGFuZy5jCiAgCiAgCSAgICAgIGZpZWxkX3ZhbGFkZHIgPSBjb25kX29mZnNldF9ob3N0IChmaWVs ZF92YWxhZGRyLCBmaWVsZF9vZmZzZXQpOwogIAkgICAgICBmaWVsZF9hZGRyZXNzID0gY29uZF9v ZmZzZXRfdGFyZ2V0IChmaWVsZF9hZGRyZXNzLCBmaWVsZF9vZmZzZXQpOwotQEAgLTc3MDUsMTEg Kzc3MDgsMTEgQEAgYWRhX3RlbXBsYXRlX3RvX2ZpeGVkX3JlY29yZF90eXBlXzEgKHN0cgorQEAg LTc3MDcsMTEgKzc3MTAsMTEgQEAgYWRhX3RlbXBsYXRlX3RvX2ZpeGVkX3JlY29yZF90eXBlXzEg KHN0cgogICAgaWYgKFRZUEVfTEVOR1RIICh0eXBlKSA8PSAwKQogICAgICB7CiAgICAgICAgaWYg KFRZUEVfTkFNRSAocnR5cGUpKQpAQCAtODU0LDcgKzg1NCw3IEBAIEluZGV4OiBnZGItNy41LjUw LjIwMTMwMTE4L2dkYi9hZGEtbGFuZy5jCiAgICAgIH0KICAgIGVsc2UKICAgICAgewotQEAgLTgw NDYsNyArODA0OSw4IEBAIHRvX2ZpeGVkX2FycmF5X3R5cGUgKHN0cnVjdCB0eXBlICp0eXBlMCwK K0BAIC04MDQ4LDcgKzgwNTEsOCBAQCB0b19maXhlZF9hcnJheV90eXBlIChzdHJ1Y3QgdHlwZSAq dHlwZTAsCiAgCSB0eXBlIHdhcyBhIHJlZ3VsYXIgKG5vbi1wYWNrZWQpIGFycmF5IHR5cGUuICBB cyBhIHJlc3VsdCwgdGhlCiAgCSBiaXRzaXplIG9mIHRoZSBhcnJheSBlbGVtZW50cyBuZWVkcyB0 byBiZSBzZXQgYWdhaW4sIGFuZCB0aGUgYXJyYXkKICAJIGxlbmd0aCBuZWVkcyB0byBiZSByZWNv bXB1dGVkIGJhc2VkIG9uIHRoYXQgYml0c2l6ZS4gICovCkBAIC04NjQsMTAgKzg2NCwxMCBAQCBJ bmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvYWRhLWxhbmcuYwogICAgICAgIGludCBlbHRf Yml0c2l6ZSA9IFRZUEVfRklFTERfQklUU0laRSAodHlwZTAsIDApOwogIAogICAgICAgIFRZUEVf RklFTERfQklUU0laRSAocmVzdWx0LCAwKSA9IFRZUEVfRklFTERfQklUU0laRSAodHlwZTAsIDAp OwotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2FkYS1sYW5nLmgKK0luZGV4OiBnZGIt Ny41LjUwLjIwMTMwMjE1L2dkYi9hZGEtbGFuZy5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41 MC4yMDEzMDExOC5vcmlnL2dkYi9hZGEtbGFuZy5oCTIwMTMtMDEtMTggMjM6Mjc6MjIuMDYxNjAx MzAxICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvYWRhLWxhbmcuaAkyMDEzLTAx LTE4IDIzOjI3OjI4Ljg0NTYwNzI5NSArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3Jp Zy9nZGIvYWRhLWxhbmcuaAkyMDEzLTAxLTI0IDE5OjA0OjM0LjAwMDAwMDAwMCArMDEwMAorKysr IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2FkYS1sYW5nLmgJMjAxMy0wMi0xNSAyMjo0MDoxOC41 MTM2MjIwMzUgKzAxMDAKIEBAIC0xNjksNyArMTY5LDcgQEAgZXh0ZXJuIHZvaWQgYWRhX3ByaW50 X3R5cGUgKHN0cnVjdCB0eXBlCiAgZXh0ZXJuIHZvaWQgYWRhX3ByaW50X3R5cGVkZWYgKHN0cnVj dCB0eXBlICp0eXBlLCBzdHJ1Y3Qgc3ltYm9sICpuZXdfc3ltYm9sLAogIAkJCSAgICAgICBzdHJ1 Y3QgdWlfZmlsZSAqc3RyZWFtKTsKQEAgLTg5NSwxMCArODk1LDEwIEBAIEluZGV4OiBnZGItNy41 LjUwLjIwMTMwMTE4L2dkYi9hZGEtbGFuZy5oCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdHlwZSAqKTsKICAKICBleHRlcm4gc3Ry dWN0IHR5cGUgKmFkYV9jb2VyY2VfdG9fc2ltcGxlX2FycmF5X3R5cGUgKHN0cnVjdCB0eXBlICop OwotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2FkYS10eXBlcHJpbnQuYworSW5kZXg6 IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2FkYS10eXBlcHJpbnQuYwogPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvYWRhLXR5cGVwcmludC5jCTIwMTMtMDEtMTgg MjM6Mjc6MjIuMDYxNjAxMzAxICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvYWRh LXR5cGVwcmludC5jCTIwMTMtMDEtMTggMjM6Mjc6MjguODQ1NjA3Mjk1ICswMTAwCistLS0gZ2Ri LTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9hZGEtdHlwZXByaW50LmMJMjAxMy0wMS0wMSAwNzoz MjozNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9hZGEtdHlw ZXByaW50LmMJMjAxMy0wMi0xNSAyMjo0MDoxOC41MTQ2MjIwMzggKzAxMDAKIEBAIC04MjksOCAr ODI5LDggQEAgYWRhX3ByaW50X3R5cGUgKHN0cnVjdCB0eXBlICp0eXBlMCwgY29ucwogIAkgICAg Y29uc3QgY2hhciAqbmFtZSA9IGFkYV90eXBlX25hbWUgKHR5cGUpOwogIApAQCAtOTIwLDEwICs5 MjAsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2FkYS10eXBlcHJpbnQuYwog IAlicmVhazsKICAgICAgICBjYXNlIFRZUEVfQ09ERV9FTlVNOgogIAlpZiAoc2hvdyA8IDApCi1J bmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvYWRhLXZhbHByaW50LmMKK0luZGV4OiBnZGIt Ny41LjUwLjIwMTMwMjE1L2dkYi9hZGEtdmFscHJpbnQuYwogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03 LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvYWRhLXZhbHByaW50LmMJMjAxMy0wMS0xOCAyMzoyNzoy Mi4wNjI2MDEzMDMgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9hZGEtdmFscHJp bnQuYwkyMDEzLTAxLTE4IDIzOjI3OjI4Ljg0NjYwNzI5NyArMDEwMAorLS0tIGdkYi03LjUuNTAu MjAxMzAyMTUub3JpZy9nZGIvYWRhLXZhbHByaW50LmMJMjAxMy0wMi0wMSAyMTowODo0NS4wMDAw MDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9hZGEtdmFscHJpbnQuYwky MDEzLTAyLTE1IDIyOjQwOjE4LjUxNDYyMjAzOCArMDEwMAogQEAgLTQxLDE2ICs0MSwxNiBAQCBz dGF0aWMgdm9pZCBwcmludF9yZWNvcmQgKHN0cnVjdCB0eXBlICosCiAgCQkJICBjb25zdCBzdHJ1 Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqKTsKICAKQEAgLTk2Myw3ICs5NjMsNyBAQCBJbmRleDog Z2RiLTcuNS41MC4yMDEzMDExOC9nZGIvYWRhLXZhbHByaW50LmMKICAJIGVudW0gYmZkX2VuZGlh biBieXRlX29yZGVyKQogIHsKICAgIGlmICh0eXBlX2xlbiA9PSAxKQotQEAgLTQ2NCwxMSArNDY0 LDExIEBAIGFkYV9wcmludF9zY2FsYXIgKHN0cnVjdCB0eXBlICp0eXBlLCBMT04KK0BAIC00NjIs MTEgKzQ2MiwxMSBAQCBhZGFfcHJpbnRfc2NhbGFyIChzdHJ1Y3QgdHlwZSAqdHlwZSwgTE9OCiAg CiAgc3RhdGljIHZvaWQKICBwcmludHN0ciAoc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgc3RydWN0 IHR5cGUgKmVsdHR5cGUsIGNvbnN0IGdkYl9ieXRlICpzdHJpbmcsCkBAIC05NzcsNyArOTc3LDcg QEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2FkYS12YWxwcmludC5jCiAgICB1bnNp Z25lZCBpbnQgdGhpbmdzX3ByaW50ZWQgPSAwOwogICAgaW50IGluX3F1b3RlcyA9IDA7CiAgICBp bnQgbmVlZF9jb21tYSA9IDA7Ci1AQCAtNDgzLDkgKzQ4Myw5IEBAIHByaW50c3RyIChzdHJ1Y3Qg dWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QKK0BAIC00ODEsOSArNDgxLDkgQEAgcHJpbnRzdHIgKHN0 cnVjdCB1aV9maWxlICpzdHJlYW0sIHN0cnVjdAogICAgICB7CiAgICAgICAgLyogUG9zaXRpb24g b2YgdGhlIGNoYXJhY3RlciB3ZSBhcmUgZXhhbWluaW5nCiAgICAgICAgICAgdG8gc2VlIHdoZXRo ZXIgaXQgaXMgcmVwZWF0ZWQuICAqLwpAQCAtOTg5LDcgKzk4OSw3IEBAIEluZGV4OiBnZGItNy41 LjUwLjIwMTMwMTE4L2dkYi9hZGEtdmFscHJpbnQuYwogIAogICAgICAgIFFVSVQ7CiAgCi1AQCAt NTE2LDcgKzUxNiw4IEBAIHByaW50c3RyIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QK K0BAIC01MTQsNyArNTE0LDggQEAgcHJpbnRzdHIgKHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIHN0 cnVjdAogIAkgIGFkYV9lbWl0X2NoYXIgKGNoYXJfYXQgKHN0cmluZywgaSwgdHlwZV9sZW4sIGJ5 dGVfb3JkZXIpLAogIAkJCSBlbHR0eXBlLCBzdHJlYW0sICdcJycsIHR5cGVfbGVuKTsKICAJICBm cHV0c19maWx0ZXJlZCAoIiciLCBzdHJlYW0pOwpAQCAtOTk5LDcgKzk5OSw3IEBAIEluZGV4OiBn ZGItNy41LjUwLjIwMTMwMTE4L2dkYi9hZGEtdmFscHJpbnQuYwogIAkgIGkgPSByZXAxIC0gMTsK ICAJICB0aGluZ3NfcHJpbnRlZCArPSBvcHRpb25zLT5yZXBlYXRfY291bnRfdGhyZXNob2xkOwog IAkgIG5lZWRfY29tbWEgPSAxOwotQEAgLTU0NCw3ICs1NDUsNyBAQCBwcmludHN0ciAoc3RydWN0 IHVpX2ZpbGUgKnN0cmVhbSwgc3RydWN0CitAQCAtNTQyLDcgKzU0Myw3IEBAIHByaW50c3RyIChz dHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QKICAKICB2b2lkCiAgYWRhX3ByaW50c3RyIChz dHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqdHlwZSwKQEAgLTEwMDgsNyArMTAw OCw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9hZGEtdmFscHJpbnQuYwogIAkg ICAgICBjb25zdCBjaGFyICplbmNvZGluZywgaW50IGZvcmNlX2VsbGlwc2VzLAogIAkgICAgICBj b25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucykKICB7Ci1AQCAtNTU4LDcg KzU1OSw3IEBAIGFkYV9wcmludHN0ciAoc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgc3QKK0BAIC01 NTYsNyArNTU3LDcgQEAgYWRhX3ByaW50c3RyIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdAog IAogIHZvaWQKICBhZGFfdmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5 dGUgKnZhbGFkZHIsCkBAIC0xMDE3LDcgKzEwMTcsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEz MDExOC9nZGIvYWRhLXZhbHByaW50LmMKICAJICAgICAgIHN0cnVjdCB1aV9maWxlICpzdHJlYW0s IGludCByZWN1cnNlLAogIAkgICAgICAgY29uc3Qgc3RydWN0IHZhbHVlICp2YWwsCiAgCSAgICAg ICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucykKLUBAIC01OTAsOCAr NTkxLDggQEAgYWRhX3ZhbF9wcmludF9hcnJheSAoc3RydWN0IHR5cGUgKnR5cGUsCitAQCAtNTg4 LDggKzU4OSw4IEBAIGFkYV92YWxfcHJpbnRfYXJyYXkgKHN0cnVjdCB0eXBlICp0eXBlLAogICAg ICB7CiAgICAgICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3Jk ZXIgKGdldF90eXBlX2FyY2ggKHR5cGUpKTsKICAgICAgICBzdHJ1Y3QgdHlwZSAqZWx0dHlwZSA9 IFRZUEVfVEFSR0VUX1RZUEUgKHR5cGUpOwpAQCAtMTAyOCw3ICsxMDI4LDcgQEAgSW5kZXg6IGdk Yi03LjUuNTAuMjAxMzAxMTgvZ2RiL2FkYS12YWxwcmludC5jCiAgCiAgICAgICAgLyogV2Uga25v dyB0aGF0IEVMVFRZUEUgY2Fubm90IHBvc3NpYmx5IGJlIG51bGwsIGJlY2F1c2Ugd2UgZm91bmQK ICAJIHRoYXQgVFlQRSBpcyBhIHN0cmluZy1saWtlIHR5cGUuICBTaW1pbGFybHksIHRoZSBzaXpl IG9mIEVMVFRZUEUKLUBAIC02MDksNyArNjEwLDcgQEAgYWRhX3ZhbF9wcmludF9hcnJheSAoc3Ry dWN0IHR5cGUgKnR5cGUsCitAQCAtNjA3LDcgKzYwOCw3IEBAIGFkYV92YWxfcHJpbnRfYXJyYXkg KHN0cnVjdCB0eXBlICp0eXBlLAogICAgICAgICAgIGVsZW1lbnRzIHVwIHRvIGl0LiAgKi8KICAg ICAgICBpZiAob3B0aW9ucy0+c3RvcF9wcmludF9hdF9udWxsKQogICAgICAgICAgewpAQCAtMTAz Nyw3ICsxMDM3LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2FkYS12YWxwcmlu dC5jCiAgCiAgICAgICAgICAgIC8qIExvb2sgZm9yIGEgTlVMTCBjaGFyLiAgKi8KICAgICAgICAg ICAgZm9yICh0ZW1wX2xlbiA9IDA7Ci1AQCAtNjQyLDcgKzY0Myw3IEBAIGFkYV92YWxfcHJpbnRf YXJyYXkgKHN0cnVjdCB0eXBlICp0eXBlLAorQEAgLTY0MCw3ICs2NDEsNyBAQCBhZGFfdmFsX3By aW50X2FycmF5IChzdHJ1Y3QgdHlwZSAqdHlwZSwKICAKICBzdGF0aWMgdm9pZAogIGFkYV92YWxf cHJpbnRfMSAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLApAQCAt MTA0Niw3ICsxMDQ2LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2FkYS12YWxw cmludC5jCiAgCQkgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgaW50IHJlY3Vyc2UsCiAgCQkgY29u c3Qgc3RydWN0IHZhbHVlICpvcmlnaW5hbF92YWx1ZSwKICAJCSBjb25zdCBzdHJ1Y3QgdmFsdWVf cHJpbnRfb3B0aW9ucyAqb3B0aW9ucykKLUBAIC05MTcsMTIgKzkxOCwxMiBAQCBhZGFfdmFsX3By aW50XzEgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zCitAQCAtOTE1LDEyICs5MTYsMTIgQEAgYWRh X3ZhbF9wcmludF8xIChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29ucwogIAogIHN0YXRpYyBpbnQKICBw cmludF92YXJpYW50X3BhcnQgKHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgZmllbGRfbnVtLApAQCAt MTA2MSw3ICsxMDYxLDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2FkYS12YWxw cmludC5jCiAgewogICAgc3RydWN0IHR5cGUgKnZhcl90eXBlID0gVFlQRV9GSUVMRF9UWVBFICh0 eXBlLCBmaWVsZF9udW0pOwogICAgaW50IHdoaWNoID0gYWRhX3doaWNoX3ZhcmlhbnRfYXBwbGll cyAodmFyX3R5cGUsIG91dGVyX3R5cGUsCi1AQCAtMTAyOSwxMSArMTAzMCwxMSBAQCBwcmludF9y ZWNvcmQgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnCitAQCAtMTAyNywxMSArMTAyOCwxMSBA QCBwcmludF9yZWNvcmQgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnCiAgCiAgc3RhdGljIGlu dAogIHByaW50X2ZpZWxkX3ZhbHVlcyAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRl ICp2YWxhZGRyLApAQCAtMTA3NSw3ICsxMDc1LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAx MTgvZ2RiL2FkYS12YWxwcmludC5jCiAgewogICAgaW50IGksIGxlbjsKICAKLUBAIC0xMDk5LDcg KzExMDAsNyBAQCBwcmludF9maWVsZF92YWx1ZXMgKHN0cnVjdCB0eXBlICp0eXBlLCBjCitAQCAt MTA5Nyw3ICsxMDk4LDcgQEAgcHJpbnRfZmllbGRfdmFsdWVzIChzdHJ1Y3QgdHlwZSAqdHlwZSwg YwogIAkgICAgfQogIAkgIGVsc2UKICAJICAgIHsKQEAgLTEwODQsMTEgKzEwODQsMTEgQEAgSW5k ZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2FkYS12YWxwcmludC5jCiAgCSAgICAgIGludCBi aXRfc2l6ZSA9IFRZUEVfRklFTERfQklUU0laRSAodHlwZSwgaSk7CiAgCSAgICAgIHN0cnVjdCB2 YWx1ZV9wcmludF9vcHRpb25zIG9wdHM7CiAgCi1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9n ZGIvYW5ub3RhdGUuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2Fubm90YXRlLmMK ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL2Fubm90YXRlLmMJ MjAxMy0wMS0xOCAyMzoyNzoyMi4wNjI2MDEzMDMgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMw MTE4L2dkYi9hbm5vdGF0ZS5jCTIwMTMtMDEtMTggMjM6Mjc6MjguODQ2NjA3Mjk3ICswMTAwCi1A QCAtNTIxLDIxICs1MjEsMjEgQEAgYW5ub3RhdGVfZnJhbWVfZW5kICh2b2lkKQorLS0tIGdkYi03 LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvYW5ub3RhdGUuYwkyMDEzLTAxLTIyIDIxOjIyOjM4LjAw MDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2Fubm90YXRlLmMJMjAx My0wMi0xNSAyMjo0MDoxOC41MTQ2MjIwMzggKzAxMDAKK0BAIC01MjMsMjEgKzUyMywyMSBAQCBh bm5vdGF0ZV9mcmFtZV9lbmQgKHZvaWQpCiAgfQogIAwKICB2b2lkCkBAIC0xMTE0LDExICsxMTE0 LDExIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9hbm5vdGF0ZS5jCiAgfQogIAog IHZvaWQKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9hbm5vdGF0ZS5oCitJbmRleDog Z2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvYW5ub3RhdGUuaAogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03 LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvYW5ub3RhdGUuaAkyMDEzLTAxLTE4IDIzOjI3OjIyLjA2 MjYwMTMwMyArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2Fubm90YXRlLmgJMjAx My0wMS0xOCAyMzoyNzoyOC44NDY2MDcyOTcgKzAxMDAKLUBAIC05Myw4ICs5Myw4IEBAIGV4dGVy biB2b2lkIGFubm90YXRlX2ZyYW1lX3NvdXJjZV9lbmQgKHYKKy0tLSBnZGItNy41LjUwLjIwMTMw MjE1Lm9yaWcvZ2RiL2Fubm90YXRlLmgJMjAxMy0wMS0yMiAyMToxOTozOC4wMDAwMDAwMDAgKzAx MDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9hbm5vdGF0ZS5oCTIwMTMtMDItMTUgMjI6 NDA6MTguNTE1NjIyMDQxICswMTAwCitAQCAtOTIsOCArOTIsOCBAQCBleHRlcm4gdm9pZCBhbm5v dGF0ZV9mcmFtZV9zb3VyY2VfZW5kICh2CiAgZXh0ZXJuIHZvaWQgYW5ub3RhdGVfZnJhbWVfd2hl cmUgKHZvaWQpOwogIGV4dGVybiB2b2lkIGFubm90YXRlX2ZyYW1lX2VuZCAodm9pZCk7CiAgCkBA IC0xMTI5LDEwICsxMTI5LDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9hbm5v dGF0ZS5oCiAgZXh0ZXJuIHZvaWQgYW5ub3RhdGVfZWx0X3JlcF9lbmQgKHZvaWQpOwogIGV4dGVy biB2b2lkIGFubm90YXRlX2VsdCAodm9pZCk7CiAgZXh0ZXJuIHZvaWQgYW5ub3RhdGVfYXJyYXlf c2VjdGlvbl9lbmQgKHZvaWQpOwotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2FybS1s aW51eC1uYXQuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2FybS1saW51eC1uYXQu YwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvYXJtLWxpbnV4 LW5hdC5jCTIwMTMtMDEtMTggMjM6Mjc6MjIuMDYzNjAxMzA1ICswMTAwCi0rKysgZ2RiLTcuNS41 MC4yMDEzMDExOC9nZGIvYXJtLWxpbnV4LW5hdC5jCTIwMTMtMDEtMTggMjM6Mjc6MjguODQ3NjA3 Mjk4ICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9hcm0tbGludXgtbmF0 LmMJMjAxMy0wMS0wMSAwNzozMjozOC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIw MTMwMjE1L2dkYi9hcm0tbGludXgtbmF0LmMJMjAxMy0wMi0xNSAyMjo0MDoxOC41MTU2MjIwNDEg KzAxMDAKIEBAIC0xMDczLDcgKzEwNzMsNyBAQCBhcm1fbGludXhfcmVtb3ZlX2h3X2JyZWFrcG9p bnQgKHN0cnVjdCBnCiAgLyogQXJlIHdlIGFibGUgdG8gdXNlIGEgaGFyZHdhcmUgd2F0Y2hwb2lu dCBmb3IgdGhlIExFTiBieXRlcyBzdGFydGluZyBhdCAKICAgICBBRERSPyAgKi8KQEAgLTExNDIs MTAgKzExNDIsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2FybS1saW51eC1u YXQuYwogIHsKICAgIGNvbnN0IHN0cnVjdCBhcm1fbGludXhfaHdicF9jYXAgKmNhcCA9IGFybV9s aW51eF9nZXRfaHdicF9jYXAgKCk7CiAgICBDT1JFX0FERFIgbWF4X3dwX2xlbmd0aCwgYWxpZ25l ZF9hZGRyOwotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2F4LWdkYi5jCitJbmRleDog Z2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvYXgtZ2RiLmMKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41 LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL2F4LWdkYi5jCTIwMTMtMDEtMTggMjM6Mjc6MjIuMDY0NjAx MzA3ICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvYXgtZ2RiLmMJMjAxMy0wMS0x OCAyMzoyNzoyOC44NDg2MDcyOTkgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcv Z2RiL2F4LWdkYi5jCTIwMTMtMDEtMzEgMTc6Mjc6NTAuMDAwMDAwMDAwICswMTAwCisrKysgZ2Ri LTcuNS41MC4yMDEzMDIxNS9nZGIvYXgtZ2RiLmMJMjAxMy0wMi0xNSAyMjo0MDoxOC41MTY2MjIw NDMgKzAxMDAKIEBAIC04MywxMiArODMsMTIgQEAgc3RhdGljIHZvaWQgZ2VuX3RyYWNlZF9wb3Ag KHN0cnVjdCBnZGJhcgogIHN0YXRpYyB2b2lkIGdlbl9zaWduX2V4dGVuZCAoc3RydWN0IGFnZW50 X2V4cHIgKiwgc3RydWN0IHR5cGUgKik7CiAgc3RhdGljIHZvaWQgZ2VuX2V4dGVuZCAoc3RydWN0 IGFnZW50X2V4cHIgKiwgc3RydWN0IHR5cGUgKik7CkBAIC0xMjQ1LDEwICsxMjQ1LDEwIEBAIElu ZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9heC1nZGIuYwogIHsKICAgIGludCBpLCByc2x0 OwogICAgaW50IG5iYXNlcyA9IFRZUEVfTl9CQVNFQ0xBU1NFUyAodHlwZSk7Ci1JbmRleDogZ2Ri LTcuNS41MC4yMDEzMDExOC9nZGIvYXgtZ2VuZXJhbC5jCitJbmRleDogZ2RiLTcuNS41MC4yMDEz MDIxNS9nZGIvYXgtZ2VuZXJhbC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDEx OC5vcmlnL2dkYi9heC1nZW5lcmFsLmMJMjAxMy0wMS0xOCAyMzoyNzoyMi4wNjQ2MDEzMDcgKzAx MDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9heC1nZW5lcmFsLmMJMjAxMy0wMS0xOCAy MzoyNzoyOC44NDg2MDcyOTkgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2Ri L2F4LWdlbmVyYWwuYwkyMDEzLTAxLTMxIDE3OjI3OjUwLjAwMDAwMDAwMCArMDEwMAorKysrIGdk Yi03LjUuNTAuMjAxMzAyMTUvZ2RiL2F4LWdlbmVyYWwuYwkyMDEzLTAyLTE1IDIyOjQwOjE4LjUx NjYyMjA0MyArMDEwMAogQEAgLTE5Miw3ICsxOTIsNyBAQCBheF96ZXJvX2V4dCAoc3RydWN0IGFn ZW50X2V4cHIgKngsIGludCBuCiAgCiAgLyogQXBwZW5kIGEgdHJhY2VfcXVpY2sgaW5zdHJ1Y3Rp b24gdG8gRVhQUiwgdG8gcmVjb3JkIE4gYnl0ZXMuICAqLwpAQCAtMTI1OCwxMCArMTI1OCwxMCBA QCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvYXgtZ2VuZXJhbC5jCiAgewogICAgLyog TiBtdXN0IGZpdCBpbiBhIGJ5dGUuICAqLwogICAgaWYgKG4gPCAwIHx8IG4gPiAyNTUpCi1JbmRl eDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvYXguaAorSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAy MTUvZ2RiL2F4LmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2Ri L2F4LmgJMjAxMy0wMS0xOCAyMzoyNzoyMi4wNjQ2MDEzMDcgKzAxMDAKLSsrKyBnZGItNy41LjUw LjIwMTMwMTE4L2dkYi9heC5oCTIwMTMtMDEtMTggMjM6Mjc6MjguODQ4NjA3Mjk5ICswMTAwCist LS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9heC5oCTIwMTMtMDEtMDEgMDc6MzI6Mzku MDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvYXguaAkyMDEzLTAy LTE1IDIyOjQwOjE4LjUxNzYyMjA0NSArMDEwMAogQEAgLTE5MCw3ICsxOTAsNyBAQCBleHRlcm4g dm9pZCBheF9leHQgKHN0cnVjdCBhZ2VudF9leHByICpFCiAgZXh0ZXJuIHZvaWQgYXhfemVyb19l eHQgKHN0cnVjdCBhZ2VudF9leHByICpFWFBSLCBpbnQgTik7CiAgCkBAIC0xMjcxLDExICsxMjcx LDExIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9heC5oCiAgCiAgLyogQXBwZW5k IGEgZ290byBvcCB0byBFWFBSLiAgT1AgaXMgdGhlIGFjdHVhbCBvcCAobXVzdCBiZSBhb3BfZ290 byBvcgogICAgIGFvcF9pZl9nb3RvKS4gIFdlIGFzc3VtZSB3ZSBkb24ndCBrbm93IHRoZSB0YXJn ZXQgb2Zmc2V0IHlldCwKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9icmVha3BvaW50 LmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9icmVha3BvaW50LmMKID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL2JyZWFrcG9pbnQuYwkyMDEzLTAx LTE4IDIzOjI3OjIyLjA2NzYwMTMxMiArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2Ri L2JyZWFrcG9pbnQuYwkyMDEzLTAxLTE4IDIzOjI5OjMzLjY1MjcyNjYwMyArMDEwMAotQEAgLTY2 MjcsNyArNjYyNyw3IEBAIGJyZWFrcG9pbnRfYWRkcmVzc19tYXRjaCAoc3RydWN0IGFkZHJlc3MK Ky0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL2JyZWFrcG9pbnQuYwkyMDEzLTAyLTE1 IDIyOjM3OjM1LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2Jy ZWFrcG9pbnQuYwkyMDEzLTAyLTE1IDIyOjQwOjE4LjUyMTYyMjA1MyArMDEwMAorQEAgLTY2NjAs NyArNjY2MCw3IEBAIGJyZWFrcG9pbnRfYWRkcmVzc19tYXRjaCAoc3RydWN0IGFkZHJlc3MKICAK ICBzdGF0aWMgaW50CiAgYnJlYWtwb2ludF9hZGRyZXNzX21hdGNoX3JhbmdlIChzdHJ1Y3QgYWRk cmVzc19zcGFjZSAqYXNwYWNlMSwgQ09SRV9BRERSIGFkZHIxLApAQCAtMTI4NCw3ICsxMjg0LDcg QEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2JyZWFrcG9pbnQuYwogIAkJCQlDT1JF X0FERFIgYWRkcjIpCiAgewogICAgcmV0dXJuICgoZ2RiYXJjaF9oYXNfZ2xvYmFsX2JyZWFrcG9p bnRzICh0YXJnZXRfZ2RiYXJjaCAoKSkKLUBAIC0xMTE1NSw3ICsxMTE1NSw3IEBAIGNhbl91c2Vf aGFyZHdhcmVfd2F0Y2hwb2ludCAoc3RydWN0IHZhbHUKK0BAIC0xMTE4Miw3ICsxMTE4Miw3IEBA IGNhbl91c2VfaGFyZHdhcmVfd2F0Y2hwb2ludCAoc3RydWN0IHZhbHUKICAJCSAgICAgICYmIFRZ UEVfQ09ERSAodnR5cGUpICE9IFRZUEVfQ09ERV9BUlJBWSkpCiAgCQl7CiAgCQkgIENPUkVfQURE UiB2YWRkciA9IHZhbHVlX2FkZHJlc3MgKHYpOwpAQCAtMTI5MywxMCArMTI5MywxMCBAQCBJbmRl eDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvYnJlYWtwb2ludC5jCiAgCQkgIGludCBudW1fcmVn czsKICAKICAJCSAgbGVuID0gKHRhcmdldF9leGFjdF93YXRjaHBvaW50cwotSW5kZXg6IGdkYi03 LjUuNTAuMjAxMzAxMTgvZ2RiL2JyZWFrcG9pbnQuaAorSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAy MTUvZ2RiL2JyZWFrcG9pbnQuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgu b3JpZy9nZGIvYnJlYWtwb2ludC5oCTIwMTMtMDEtMTggMjM6Mjc6MjIuMDY4NjAxMzEzICswMTAw Ci0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvYnJlYWtwb2ludC5oCTIwMTMtMDEtMTggMjM6 Mjc6MjguODU0NjA3MzExICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9i cmVha3BvaW50LmgJMjAxMy0wMi0xNSAyMjozNzo0Ny4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGIt Ny41LjUwLjIwMTMwMjE1L2dkYi9icmVha3BvaW50LmgJMjAxMy0wMi0xNSAyMjo0MDoxOC41MjE2 MjIwNTMgKzAxMDAKIEBAIC0yNTAsNyArMjUwLDcgQEAgc3RydWN0IGJwX3RhcmdldF9pbmZvCiAg CiAgICAvKiBJZiB0aGlzIGlzIGEgcmFuZ2VkIGJyZWFrcG9pbnQsIHRoZW4gdGhpcyBmaWVsZCBj b250YWlucyB0aGUKQEAgLTEzMTUsMTAgKzEzMTUsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAx MzAxMTgvZ2RiL2JyZWFrcG9pbnQuaAogIAogICAgLyogVHlwZSBvZiBoYXJkd2FyZSB3YXRjaHBv aW50LiAgKi8KICAgIGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUgd2F0Y2hwb2ludF90eXBlOwotSW5k ZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2MtbGFuZy5jCitJbmRleDogZ2RiLTcuNS41MC4y MDEzMDIxNS9nZGIvYy1sYW5nLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4 Lm9yaWcvZ2RiL2MtbGFuZy5jCTIwMTMtMDEtMTggMjM6Mjc6MjIuMDY5NjAxMzE1ICswMTAwCi0r KysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvYy1sYW5nLmMJMjAxMy0wMS0xOCAyMzoyNzoyOC44 NTQ2MDczMTEgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL2MtbGFuZy5j CTIwMTMtMDItMTMgMTE6NDE6MTEuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEz MDIxNS9nZGIvYy1sYW5nLmMJMjAxMy0wMi0xNSAyMjo0MDoxOC41MjI2MjIwNTUgKzAxMDAKIEBA IC0xODgsNyArMTg4LDcgQEAgY19wcmludGNoYXIgKGludCBjLCBzdHJ1Y3QgdHlwZSAqdHlwZSwg cwogIAogIHZvaWQKQEAgLTEzMjgsNyArMTMyOCw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMw MTE4L2dkYi9jLWxhbmcuYwogIAkgICAgY29uc3QgY2hhciAqdXNlcl9lbmNvZGluZywgaW50IGZv cmNlX2VsbGlwc2VzLAogIAkgICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9w dGlvbnMpCiAgewotQEAgLTY3Nyw3ICs2NzcsNyBAQCBldmFsdWF0ZV9zdWJleHBfYyAoc3RydWN0 IHR5cGUgKmV4cGVjdF90CitAQCAtNjYzLDcgKzY2Myw3IEBAIGV2YWx1YXRlX3N1YmV4cF9jIChz dHJ1Y3QgdHlwZSAqZXhwZWN0X3QKICAJICB9CiAgCWVsc2UKICAJICB7CkBAIC0xMzM3LDcgKzEz MzcsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvYy1sYW5nLmMKICAKICAJICAg IC8qIFdyaXRlIHRoZSB0ZXJtaW5hdGluZyBjaGFyYWN0ZXIuICAqLwogIAkgICAgZm9yIChpID0g MDsgaSA8IFRZUEVfTEVOR1RIICh0eXBlKTsgKytpKQotQEAgLTY4Niw3ICs2ODYsNyBAQCBldmFs dWF0ZV9zdWJleHBfYyAoc3RydWN0IHR5cGUgKmV4cGVjdF90CitAQCAtNjcyLDcgKzY3Miw3IEBA IGV2YWx1YXRlX3N1YmV4cF9jIChzdHJ1Y3QgdHlwZSAqZXhwZWN0X3QKICAJICAgIGlmIChzYXRp c2Z5X2V4cGVjdGVkKQogIAkgICAgICB7CiAgCQlMT05HRVNUIGxvd19ib3VuZCwgaGlnaF9ib3Vu ZDsKQEAgLTEzNDYsMTAgKzEzNDYsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2Ri L2MtbGFuZy5jCiAgCiAgCQlpZiAoZ2V0X2Rpc2NyZXRlX2JvdW5kcyAoVFlQRV9JTkRFWF9UWVBF IChleHBlY3RfdHlwZSksCiAgCQkJCQkgJmxvd19ib3VuZCwgJmhpZ2hfYm91bmQpIDwgMCkKLUlu ZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9jLWxhbmcuaAorSW5kZXg6IGdkYi03LjUuNTAu MjAxMzAyMTUvZ2RiL2MtbGFuZy5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDEx OC5vcmlnL2dkYi9jLWxhbmcuaAkyMDEzLTAxLTE4IDIzOjI3OjIyLjA2OTYwMTMxNSArMDEwMAot KysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2MtbGFuZy5oCTIwMTMtMDEtMTggMjM6Mjc6Mjgu ODU0NjA3MzExICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9jLWxhbmcu aAkyMDEzLTAxLTAxIDA3OjMyOjQwLjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAx MzAyMTUvZ2RiL2MtbGFuZy5oCTIwMTMtMDItMTUgMjI6NDA6MTguNTIyNjIyMDU1ICswMTAwCiBA QCAtNzMsNyArNzMsNyBAQCBleHRlcm4gdm9pZCBjX3ByaW50X3R5cGVkZWYgKHN0cnVjdCB0eXBl CiAgCQkJICAgICBzdHJ1Y3QgdWlfZmlsZSAqKTsKICAKQEAgLTEzODUsMTAgKzEzODUsMTAgQEAg SW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2MtbGFuZy5oCiAgCQkJCQlzdHJ1Y3QgdWlf ZmlsZSAqLCBpbnQsCiAgCQkJCQljb25zdCBzdHJ1Y3QgdmFsdWUgKiwKICAJCQkJCWNvbnN0IHN0 cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICosCi1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9n ZGIvYy12YWxwcmludC5jCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvYy12YWxwcmlu dC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi9jLXZhbHBy aW50LmMJMjAxMy0wMS0xOCAyMzoyNzoyMi4wNjk2MDEzMTUgKzAxMDAKLSsrKyBnZGItNy41LjUw LjIwMTMwMTE4L2dkYi9jLXZhbHByaW50LmMJMjAxMy0wMS0xOCAyMzoyNzoyOC44NTU2MDczMTMg KzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL2MtdmFscHJpbnQuYwkyMDEz LTAxLTAxIDA3OjMyOjQwLjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUv Z2RiL2MtdmFscHJpbnQuYwkyMDEzLTAyLTE1IDIyOjQwOjE4LjUyMjYyMjA1NSArMDEwMAogQEAg LTEzMiw3ICsxMzIsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGdlbmVyaWNfdmFsX3ByaW50X2Rl CiAgCiAgdm9pZApAQCAtMTQzMCwxMCArMTQzMCwxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEz MDExOC9nZGIvYy12YWxwcmludC5jCiAgICBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyBvcHRz ID0gKm9wdGlvbnM7CiAgCiAgICBvcHRzLmRlcmVmX3JlZiA9IDE7Ci1JbmRleDogZ2RiLTcuNS41 MC4yMDEzMDExOC9nZGIvY3AtYWJpLmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9j cC1hYmkuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvY3At YWJpLmMJMjAxMy0wMS0xOCAyMzoyNzoyMi4wNzA2MDEzMTcgKzAxMDAKLSsrKyBnZGItNy41LjUw LjIwMTMwMTE4L2dkYi9jcC1hYmkuYwkyMDEzLTAxLTE4IDIzOjI3OjI4Ljg1NTYwNzMxMyArMDEw MAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvY3AtYWJpLmMJMjAxMy0wMS0xNyAy MToyNjoxNC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9jcC1h YmkuYwkyMDEzLTAyLTE1IDIyOjQwOjE4LjUyMzYyMjA1NyArMDEwMAogQEAgLTY4LDEzICs2OCwx MyBAQCBpc19vcGVyYXRvcl9uYW1lIChjb25zdCBjaGFyICpuYW1lKQogICAgcmV0dXJuICgqY3Vy cmVudF9jcF9hYmkuaXNfb3BlcmF0b3JfbmFtZSkgKG5hbWUpOwogIH0KQEAgLTE0NjksMTAgKzE0 NjksMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2NwLWFiaS5jCiAgewogICAg c3RydWN0IHR5cGUgKnJldCA9IE5VTEw7CiAgICB2b2xhdGlsZSBzdHJ1Y3QgZ2RiX2V4Y2VwdGlv biBlOwotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2NwLWFiaS5oCitJbmRleDogZ2Ri LTcuNS41MC4yMDEzMDIxNS9nZGIvY3AtYWJpLmgKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUw LjIwMTMwMTE4Lm9yaWcvZ2RiL2NwLWFiaS5oCTIwMTMtMDEtMTggMjM6Mjc6MjIuMDcwNjAxMzE3 ICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvY3AtYWJpLmgJMjAxMy0wMS0xOCAy MzoyNzoyOC44NTU2MDczMTMgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2Ri L2NwLWFiaS5oCTIwMTMtMDEtMDEgMDc6MzI6NDAuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcu NS41MC4yMDEzMDIxNS9nZGIvY3AtYWJpLmgJMjAxMy0wMi0xNSAyMjo0MDoxOC41MjM2MjIwNTcg KzAxMDAKIEBAIC0xMDgsNyArMTA4LDcgQEAgZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqdmFsdWVfdmly dHVhbF9mbl9maQogIAkJCQkJICAgICBzdHJ1Y3QgZm5fZmllbGQgKmYsCiAgCQkJCQkgICAgIGlu dCBqLApAQCAtMTUyNywxMCArMTUyNywxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9n ZGIvY3AtYWJpLmgKICAgIHZvaWQgKCpwcmludF9tZXRob2RfcHRyKSAoY29uc3QgZ2RiX2J5dGUg KmNvbnRlbnRzLAogIAkJCSAgICBzdHJ1Y3QgdHlwZSAqdHlwZSwKICAJCQkgICAgc3RydWN0IHVp X2ZpbGUgKnN0cmVhbSk7Ci1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvY3AtdmFscHJp bnQuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2NwLXZhbHByaW50LmMKID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL2NwLXZhbHByaW50LmMJMjAx My0wMS0xOCAyMzoyNzoyMi4wNzA2MDEzMTcgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4 L2dkYi9jcC12YWxwcmludC5jCTIwMTMtMDEtMTggMjM6Mjc6MjguODU2NjA3MzE1ICswMTAwCist LS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9jcC12YWxwcmludC5jCTIwMTMtMDEtMDcg MTc6NDA6MzYuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvY3At dmFscHJpbnQuYwkyMDEzLTAyLTE1IDIyOjQwOjE4LjUyMzYyMjA1NyArMDEwMAogQEAgLTgyLDcg KzgyLDcgQEAgc3RhdGljIHZvaWQgY3BfcHJpbnRfc3RhdGljX2ZpZWxkIChzdHJ1YwogIAkJCQkg ICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqKTsKICAKQEAgLTE2MDQsMTAgKzE2 MDQsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2NwLXZhbHByaW50LmMKICAg ICAgICBpbnQgc2tpcDsKICAgICAgICBzdHJ1Y3QgdHlwZSAqYmFzZWNsYXNzID0gY2hlY2tfdHlw ZWRlZiAoVFlQRV9CQVNFQ0xBU1MgKHR5cGUsIGkpKTsKICAgICAgICBjb25zdCBjaGFyICpiYXNl bmFtZSA9IFRZUEVfTkFNRSAoYmFzZWNsYXNzKTsKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4 L2dkYi9kLWxhbmcuaAorSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2QtbGFuZy5oCiA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi9kLWxhbmcuaAkyMDEz LTAxLTE4IDIzOjI3OjIyLjA3MDYwMTMxNyArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgv Z2RiL2QtbGFuZy5oCTIwMTMtMDEtMTggMjM6Mjc6MjguODU2NjA3MzE1ICswMTAwCistLS0gZ2Ri LTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9kLWxhbmcuaAkyMDEzLTAxLTAxIDA3OjMyOjQxLjAw MDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2QtbGFuZy5oCTIwMTMt MDItMTUgMjI6NDA6MTguNTIzNjIyMDU3ICswMTAwCiBAQCAtMjUsNyArMjUsNyBAQAogIGV4dGVy biBjaGFyICpkX2RlbWFuZ2xlIChjb25zdCBjaGFyICptYW5nbGVkLCBpbnQgb3B0aW9ucyk7CiAg CkBAIC0xNjE3LDEwICsxNjE3LDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9k LWxhbmcuaAogIAkJCSBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKICAJCQkg Y29uc3Qgc3RydWN0IHZhbHVlICp2YWwsCiAgCQkJIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9v cHRpb25zICpvcHRpb25zKTsKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9kLXZhbHBy aW50LmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9kLXZhbHByaW50LmMKID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL2QtdmFscHJpbnQuYwkyMDEz LTAxLTE4IDIzOjI3OjIyLjA3MTYwMTMxOSArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgv Z2RiL2QtdmFscHJpbnQuYwkyMDEzLTAxLTE4IDIzOjI3OjI4Ljg1NjYwNzMxNSArMDEwMAorLS0t IGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvZC12YWxwcmludC5jCTIwMTMtMDEtMDEgMDc6 MzI6NDEuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvZC12YWxw cmludC5jCTIwMTMtMDItMTUgMjI6NDA6MTguNTI0NjIyMDU5ICswMTAwCiBAQCAtMjksNyArMjks NyBAQAogIAogIHN0YXRpYyBpbnQKQEAgLTE2NDMsMTAgKzE2NDMsMTAgQEAgSW5kZXg6IGdkYi03 LjUuNTAuMjAxMzAxMTgvZ2RiL2QtdmFscHJpbnQuYwogICAgICAgICAgICAgICBjb25zdCBzdHJ1 Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucykKICB7CiAgICBpbnQgcmV0OwotSW5kZXg6 IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2RvdWJsZXN0LmMKK0luZGV4OiBnZGItNy41LjUwLjIw MTMwMjE1L2dkYi9kb3VibGVzdC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDEx OC5vcmlnL2dkYi9kb3VibGVzdC5jCTIwMTMtMDEtMTggMjM6Mjc6MjIuMDcxNjAxMzE5ICswMTAw Ci0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvZG91Ymxlc3QuYwkyMDEzLTAxLTE4IDIzOjI3 OjI4Ljg1NjYwNzMxNSArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvZG91 Ymxlc3QuYwkyMDEzLTAxLTAxIDA3OjMyOjQxLjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUu NTAuMjAxMzAyMTUvZ2RiL2RvdWJsZXN0LmMJMjAxMy0wMi0xNSAyMjo0MDoxOC41MjQ2MjIwNTkg KzAxMDAKIEBAIC03OTEsNyArNzkxLDcgQEAgZmxvYXRmb3JtYXRfZnJvbV9kb3VibGVzdCAoY29u c3Qgc3RydWN0CiAgICAgYnV0IG5vdCBwYXNzZWQgb24gYnkgR0RCLiAgVGhpcyBzaG91bGQgYmUg Zml4ZWQuICAqLwogIApAQCAtMTY2NywxMSArMTY2NywxMSBAQCBJbmRleDogZ2RiLTcuNS41MC4y MDEzMDExOC9nZGIvZG91Ymxlc3QuYwogICAgcmV0dXJuIGZvcm1hdDsKICB9CiAgCi1JbmRleDog Z2RiLTcuNS41MC4yMDEzMDExOC9nZGIvZHdhcmYybG9jLmMKK0luZGV4OiBnZGItNy41LjUwLjIw MTMwMjE1L2dkYi9kd2FyZjJsb2MuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAx MTgub3JpZy9nZGIvZHdhcmYybG9jLmMJMjAxMy0wMS0xOCAyMzoyNzoyMi4wNzM2MDEzMjMgKzAx MDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9kd2FyZjJsb2MuYwkyMDEzLTAxLTE4IDIz OjI3OjI4Ljg1NzYwNzMxNiArMDEwMAotQEAgLTE2NzIsMTkgKzE2NzIsMTkgQEAgaW5zZXJ0X2Jp dHMgKHVuc2lnbmVkIGludCBkYXR1bSwKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2Ri L2R3YXJmMmxvYy5jCTIwMTMtMDItMTUgMjI6MzE6MzcuMDAwMDAwMDAwICswMTAwCisrKysgZ2Ri LTcuNS41MC4yMDEzMDIxNS9nZGIvZHdhcmYybG9jLmMJMjAxMy0wMi0xNSAyMjo0MDoxOC41MjU2 MjIwNjEgKzAxMDAKK0BAIC0xNjc3LDE5ICsxNjc3LDE5IEBAIGluc2VydF9iaXRzICh1bnNpZ25l ZCBpbnQgZGF0dW0sCiAgICAgQklUU19CSUdfRU5ESUFOIGlzIHRha2VuIGRpcmVjdGx5IGZyb20g Z2RiYXJjaC4gICovCiAgCiAgc3RhdGljIHZvaWQKQEAgLTE2OTcsNyArMTY5Nyw3IEBAIEluZGV4 OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9kd2FyZjJsb2MuYwogIAogICAgZGVzdF9hdmFpbCA9 IDggLSBkZXN0X29mZnNldF9iaXRzICUgODsKICAKLUBAIC0xNzIyLDEzICsxNzIyLDEzIEBAIHN0 YXRpYyB2b2lkCitAQCAtMTcyNywxMyArMTcyNywxMyBAQCBzdGF0aWMgdm9pZAogIHJlYWRfcGll Y2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnYpCiAgewogICAgaW50IGk7CkBAIC0xNzEzLDcgKzE3 MTMsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvZHdhcmYybG9jLmMKICAgIHNp emVfdCBidWZmZXJfc2l6ZSA9IDA7CiAgICBjaGFyICpidWZmZXIgPSBOVUxMOwogICAgc3RydWN0 IGNsZWFudXAgKmNsZWFudXA7Ci1AQCAtMTc1NSw4ICsxNzU1LDggQEAgcmVhZF9waWVjZWRfdmFs dWUgKHN0cnVjdCB2YWx1ZSAqdikKK0BAIC0xNzYwLDggKzE3NjAsOCBAQCByZWFkX3BpZWNlZF92 YWx1ZSAoc3RydWN0IHZhbHVlICp2KQogICAgZm9yIChpID0gMDsgaSA8IGMtPm5fcGllY2VzICYm IG9mZnNldCA8IHR5cGVfbGVuOyBpKyspCiAgICAgIHsKICAgICAgICBzdHJ1Y3QgZHdhcmZfZXhw cl9waWVjZSAqcCA9ICZjLT5waWVjZXNbaV07CkBAIC0xNzI0LDcgKzE3MjQsNyBAQCBJbmRleDog Z2RiLTcuNS41MC4yMDEzMDExOC9nZGIvZHdhcmYybG9jLmMKICAgICAgICBjb25zdCBnZGJfYnl0 ZSAqaW50ZXJtZWRpYXRlX2J1ZmZlcjsKICAKICAgICAgICAvKiBDb21wdXRlIHNpemUsIHNvdXJj ZSwgYW5kIGRlc3RpbmF0aW9uIG9mZnNldHMgZm9yIGNvcHlpbmcsIGluCi1AQCAtMTkwNSwxMyAr MTkwNSwxMyBAQCBzdGF0aWMgdm9pZAorQEAgLTE5MTAsMTMgKzE5MTAsMTMgQEAgc3RhdGljIHZv aWQKICB3cml0ZV9waWVjZWRfdmFsdWUgKHN0cnVjdCB2YWx1ZSAqdG8sIHN0cnVjdCB2YWx1ZSAq ZnJvbSkKICB7CiAgICBpbnQgaTsKQEAgLTE3NDAsNyArMTc0MCw3IEBAIEluZGV4OiBnZGItNy41 LjUwLjIwMTMwMTE4L2dkYi9kd2FyZjJsb2MuYwogICAgc2l6ZV90IGJ1ZmZlcl9zaXplID0gMDsK ICAgIGNoYXIgKmJ1ZmZlciA9IE5VTEw7CiAgICBzdHJ1Y3QgY2xlYW51cCAqY2xlYW51cDsKLUBA IC0xOTM5LDggKzE5MzksOCBAQCB3cml0ZV9waWVjZWRfdmFsdWUgKHN0cnVjdCB2YWx1ZSAqdG8s IHN0CitAQCAtMTk0NCw4ICsxOTQ0LDggQEAgd3JpdGVfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFs dWUgKnRvLCBzdAogICAgZm9yIChpID0gMDsgaSA8IGMtPm5fcGllY2VzICYmIG9mZnNldCA8IHR5 cGVfbGVuOyBpKyspCiAgICAgIHsKICAgICAgICBzdHJ1Y3QgZHdhcmZfZXhwcl9waWVjZSAqcCA9 ICZjLT5waWVjZXNbaV07CkBAIC0xNzUxLDcgKzE3NTEsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4y MDEzMDExOC9nZGIvZHdhcmYybG9jLmMKICAgICAgICBpbnQgbmVlZF9iaXR3aXNlOwogICAgICAg IGNvbnN0IGdkYl9ieXRlICpzb3VyY2VfYnVmZmVyOwogIAotQEAgLTIwNjksOCArMjA2OSw4IEBA IHdyaXRlX3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp0bywgc3QKK0BAIC0yMDc0LDggKzIw NzQsOCBAQCB3cml0ZV9waWVjZWRfdmFsdWUgKHN0cnVjdCB2YWx1ZSAqdG8sIHN0CiAgICAgaW1w bGljaXQgcG9pbnRlci4gICovCiAgCiAgc3RhdGljIGludApAQCAtMTc2Miw3ICsxNzYyLDcgQEAg SW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2R3YXJmMmxvYy5jCiAgCQkJIGVudW0gZHdh cmZfdmFsdWVfbG9jYXRpb24gY2hlY2tfZm9yKQogIHsKICAgIHN0cnVjdCBwaWVjZV9jbG9zdXJl ICpjCi1AQCAtMjA4Niw3ICsyMDg2LDcgQEAgY2hlY2tfcGllY2VkX3ZhbHVlX2JpdHMgKGNvbnN0 IHN0cnVjdCB2YQorQEAgLTIwOTEsNyArMjA5MSw3IEBAIGNoZWNrX3BpZWNlZF92YWx1ZV9iaXRz IChjb25zdCBzdHJ1Y3QgdmEKICAgIGZvciAoaSA9IDA7IGkgPCBjLT5uX3BpZWNlcyAmJiBiaXRf bGVuZ3RoID4gMDsgaSsrKQogICAgICB7CiAgICAgICAgc3RydWN0IGR3YXJmX2V4cHJfcGllY2Ug KnAgPSAmYy0+cGllY2VzW2ldOwpAQCAtMTc3MSw3ICsxNzcxLDcgQEAgSW5kZXg6IGdkYi03LjUu NTAuMjAxMzAxMTgvZ2RiL2R3YXJmMmxvYy5jCiAgCiAgICAgICAgaWYgKGJpdF9vZmZzZXQgPiAw KQogIAl7Ci1AQCAtMjEyNCw4ICsyMTI0LDggQEAgY2hlY2tfcGllY2VkX3ZhbHVlX2JpdHMgKGNv bnN0IHN0cnVjdCB2YQorQEAgLTIxMjksOCArMjEyOSw4IEBAIGNoZWNrX3BpZWNlZF92YWx1ZV9i aXRzIChjb25zdCBzdHJ1Y3QgdmEKICB9CiAgCiAgc3RhdGljIGludApAQCAtMTc4Miw3ICsxNzgy LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2R3YXJmMmxvYy5jCiAgewogICAg cmV0dXJuIGNoZWNrX3BpZWNlZF92YWx1ZV9iaXRzICh2YWx1ZSwgYml0X29mZnNldCwgYml0X2xl bmd0aCwKICAJCQkJICBEV0FSRl9WQUxVRV9NRU1PUlkpOwotQEAgLTIxNDMsOCArMjE0Myw4IEBA IGNoZWNrX3BpZWNlZF92YWx1ZV9pbnZhbGlkIChjb25zdCBzdHJ1Y3QKK0BAIC0yMTQ4LDggKzIx NDgsOCBAQCBjaGVja19waWVjZWRfdmFsdWVfaW52YWxpZCAoY29uc3Qgc3RydWN0CiAgICAgYSBz eW50aGV0aWMgcG9pbnRlci4gICovCiAgCiAgc3RhdGljIGludApAQCAtMTc5Myw3ICsxNzkzLDcg QEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2R3YXJmMmxvYy5jCiAgewogICAgcmV0 dXJuIGNoZWNrX3BpZWNlZF92YWx1ZV9iaXRzICh2YWx1ZSwgYml0X29mZnNldCwgYml0X2xlbmd0 aCwKICAJCQkJICBEV0FSRl9WQUxVRV9JTVBMSUNJVF9QT0lOVEVSKTsKLUBAIC0yMTY5LDkgKzIx NjksMTAgQEAgaW5kaXJlY3RfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnZhbAorQEAgLTIx NzQsOSArMjE3NCwxMCBAQCBpbmRpcmVjdF9waWVjZWRfdmFsdWUgKHN0cnVjdCB2YWx1ZSAqdmFs CiAgICBzdHJ1Y3QgdHlwZSAqdHlwZTsKICAgIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZTsKICAg IHN0cnVjdCBkd2FyZjJfbG9jZXhwcl9iYXRvbiBiYXRvbjsKQEAgLTE4MDYsNyArMTgwNiw3IEBA IEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9kd2FyZjJsb2MuYwogIAogICAgdHlwZSA9 IGNoZWNrX3R5cGVkZWYgKHZhbHVlX3R5cGUgKHZhbHVlKSk7CiAgICBpZiAoVFlQRV9DT0RFICh0 eXBlKSAhPSBUWVBFX0NPREVfUFRSKQotQEAgLTIxODUsNyArMjE4Niw3IEBAIGluZGlyZWN0X3Bp ZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp2YWwKK0BAIC0yMTkwLDcgKzIxOTEsNyBAQCBpbmRp cmVjdF9waWVjZWRfdmFsdWUgKHN0cnVjdCB2YWx1ZSAqdmFsCiAgICBmb3IgKGkgPSAwOyBpIDwg Yy0+bl9waWVjZXMgJiYgYml0X2xlbmd0aCA+IDA7IGkrKykKICAgICAgewogICAgICAgIHN0cnVj dCBkd2FyZl9leHByX3BpZWNlICpwID0gJmMtPnBpZWNlc1tpXTsKQEAgLTE4MTUsNyArMTgxNSw3 IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9kd2FyZjJsb2MuYwogIAogICAgICAg IGlmIChiaXRfb2Zmc2V0ID4gMCkKICAJewotQEAgLTI0MDEsNyArMjQwMiw3IEBAIGR3YXJmMl9l dmFsdWF0ZV9sb2NfZGVzY19mdWxsIChzdHJ1Y3QgdHkKK0BAIC0yNDA2LDcgKzI0MDcsNyBAQCBk d2FyZjJfZXZhbHVhdGVfbG9jX2Rlc2NfZnVsbCAoc3RydWN0IHR5CiAgCSAgICBzdHJ1Y3QgdmFs dWUgKnZhbHVlID0gZHdhcmZfZXhwcl9mZXRjaCAoY3R4LCAwKTsKICAJICAgIGdkYl9ieXRlICpj b250ZW50czsKICAJICAgIGNvbnN0IGdkYl9ieXRlICp2YWxfYnl0ZXM7CkBAIC0xODI0LDExICsx ODI0LDExIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9kd2FyZjJsb2MuYwogIAog IAkgICAgaWYgKGJ5dGVfb2Zmc2V0ICsgVFlQRV9MRU5HVEggKHR5cGUpID4gbikKICAJICAgICAg aW52YWxpZF9zeW50aGV0aWNfcG9pbnRlciAoKTsKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4 L2dkYi9kd2FyZjJyZWFkLmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9kd2FyZjJy ZWFkLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL2R3YXJm MnJlYWQuYwkyMDEzLTAxLTE4IDIzOjI3OjIyLjA3NjYwMTMyOCArMDEwMAotKysrIGdkYi03LjUu NTAuMjAxMzAxMTgvZ2RiL2R3YXJmMnJlYWQuYwkyMDEzLTAxLTE4IDIzOjI3OjI4Ljg2MDYwNzMy MSArMDEwMAotQEAgLTEyMTYsMTIgKzEyMTYsMTIgQEAgZHdhcmYyX2NvbXBsZXhfbG9jYXRpb25f ZXhwcl9jb21wbGFpbnQgKAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvZHdhcmYy cmVhZC5jCTIwMTMtMDItMTUgMjI6NDA6MTMuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41 MC4yMDEzMDIxNS9nZGIvZHdhcmYycmVhZC5jCTIwMTMtMDItMTUgMjI6NDA6MTguNTI4NjIyMDY3 ICswMTAwCitAQCAtMTIyNywxMiArMTIyNywxMiBAQCBkd2FyZjJfY29tcGxleF9sb2NhdGlvbl9l eHByX2NvbXBsYWludCAoCiAgfQogIAogIHN0YXRpYyB2b2lkCkBAIC0xODQ1LDcgKzE4NDUsNyBA QCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvZHdhcmYycmVhZC5jCiAgfQogIAogIHN0 YXRpYyB2b2lkCi1AQCAtMTA2MTUsOCArMTA2MTUsOCBAQCBkd2FyZjJfYWRkX2ZpZWxkIChzdHJ1 Y3QgZmllbGRfaW5mbyAqZmlwCitAQCAtMTA2NDEsOCArMTA2NDEsOCBAQCBkd2FyZjJfYWRkX2Zp ZWxkIChzdHJ1Y3QgZmllbGRfaW5mbyAqZmlwCiAgCSAgICAgICAgIG9iamVjdCwgYW5kIHRoZW4g c3VidHJhY3Qgb2ZmIHRoZSBudW1iZXIgb2YgYml0cyBvZgogIAkgICAgICAgICB0aGUgZmllbGQg aXRzZWxmLiAgVGhlIHJlc3VsdCBpcyB0aGUgYml0IG9mZnNldCBvZgogIAkgICAgICAgICB0aGUg TFNCIG9mIHRoZSBmaWVsZC4gICovCkBAIC0xODU2LDEwICsxODU2LDEwIEBAIEluZGV4OiBnZGIt Ny41LjUwLjIwMTMwMTE4L2dkYi9kd2FyZjJyZWFkLmMKICAKICAJICAgICAgYXR0ciA9IGR3YXJm Ml9hdHRyIChkaWUsIERXX0FUX2J5dGVfc2l6ZSwgY3UpOwogIAkgICAgICBpZiAoYXR0cikKLUlu ZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9ldmFsLmMKK0luZGV4OiBnZGItNy41LjUwLjIw MTMwMjE1L2dkYi9ldmFsLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9y aWcvZ2RiL2V2YWwuYwkyMDEzLTAxLTE4IDIzOjI3OjIyLjA3ODYwMTMzMSArMDEwMAotKysrIGdk Yi03LjUuNTAuMjAxMzAxMTgvZ2RiL2V2YWwuYwkyMDEzLTAxLTE4IDIzOjMwOjI3LjQzMjc4NTcx MiArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvZXZhbC5jCTIwMTMtMDIt MTUgMjI6MzE6MzcuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIv ZXZhbC5jCTIwMTMtMDItMTUgMjI6NDA6MTguNTI5NjIyMDcwICswMTAwCiBAQCAtMjk0LDcgKzI5 NCw4IEBAIGV2YWx1YXRlX3N0cnVjdF90dXBsZSAoc3RydWN0IHZhbHVlICpzdHIKICAgIHdoaWxl ICgtLW5hcmdzID49IDApCiAgICAgIHsKQEAgLTE5MTIsNyArMTkxMiw3IEBAIEluZGV4OiBnZGIt Ny41LjUwLjIwMTMwMTE4L2dkYi9ldmFsLmMKICAJICBMT05HRVNUIGxvd19ib3VuZCwgaGlnaF9i b3VuZCwgaW5kZXg7CiAgCiAgCSAgaWYgKGdldF9kaXNjcmV0ZV9ib3VuZHMgKHJhbmdlX3R5cGUs ICZsb3dfYm91bmQsICZoaWdoX2JvdW5kKSA8IDApCi1AQCAtMjA4MSw3ICsyMDgyLDggQEAgZXZh bHVhdGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZQorQEAgLTIwNzgsNyArMjA3OSw4 IEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmUKICAgICAgICB7CiAg ICAgICAgICBzdHJ1Y3QgdHlwZSAqdHlwZSA9IHZhbHVlX3R5cGUgKGFyZzEpOwogICAgICAgICAg c3RydWN0IHR5cGUgKnJlYWxfdHlwZTsKQEAgLTE5MjIsMTAgKzE5MjIsMTAgQEAgSW5kZXg6IGdk Yi03LjUuNTAuMjAxMzAxMTgvZ2RiL2V2YWwuYwogIAlzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9u cyBvcHRzOwogIAogIAlnZXRfdXNlcl9wcmludF9vcHRpb25zICgmb3B0cyk7Ci1JbmRleDogZ2Ri LTcuNS41MC4yMDEzMDExOC9nZGIvZi1sYW5nLmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1 L2dkYi9mLWxhbmcuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9n ZGIvZi1sYW5nLmMJMjAxMy0wMS0xOCAyMzoyNzoyMi4wNzg2MDEzMzEgKzAxMDAKLSsrKyBnZGIt Ny41LjUwLjIwMTMwMTE4L2dkYi9mLWxhbmcuYwkyMDEzLTAxLTE4IDIzOjI3OjI4Ljg2MTYwNzMy MyArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvZi1sYW5nLmMJMjAxMy0w MS0wMSAwNzozMjo0Mi4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dk Yi9mLWxhbmcuYwkyMDEzLTAyLTE1IDIyOjQwOjE4LjUyOTYyMjA3MCArMDEwMAogQEAgLTEwMyw3 ICsxMDMsNyBAQCBmX3ByaW50Y2hhciAoaW50IGMsIHN0cnVjdCB0eXBlICp0eXBlLCBzCiAgCiAg c3RhdGljIHZvaWQKQEAgLTE5MzUsMTAgKzE5MzUsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAx MzAxMTgvZ2RiL2YtbGFuZy5jCiAgCSAgICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9u cyAqb3B0aW9ucykKICB7CiAgICBjb25zdCBjaGFyICp0eXBlX2VuY29kaW5nID0gZl9nZXRfZW5j b2RpbmcgKHR5cGUpOwotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2YtbGFuZy5oCitJ bmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvZi1sYW5nLmgKID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBn ZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL2YtbGFuZy5oCTIwMTMtMDEtMTggMjM6Mjc6MjIu MDc4NjAxMzMxICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvZi1sYW5nLmgJMjAx My0wMS0xOCAyMzoyNzoyOC44NjE2MDczMjMgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1 Lm9yaWcvZ2RiL2YtbGFuZy5oCTIwMTMtMDItMTUgMjI6MzE6MzcuMDAwMDAwMDAwICswMTAwCisr KysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvZi1sYW5nLmgJMjAxMy0wMi0xNSAyMjo0MDoxOC41 Mjk2MjIwNzAgKzAxMDAKIEBAIC0zMyw3ICszMyw3IEBAIGV4dGVybiBjb25zdCBjaGFyICpmX29i amVjdF9hZGRyZXNzX2RhdGEKICAgIChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHVpX2ZpbGUg KnN0cmVhbSk7CiAgZXh0ZXJuIHZvaWQgZl9vYmplY3RfYWRkcmVzc19kYXRhX3ZhbGlkX29yX2Vy cm9yIChzdHJ1Y3QgdHlwZSAqdHlwZSk7CkBAIC0xOTQ4LDEwICsxOTQ4LDEwIEBAIEluZGV4OiBn ZGItNy41LjUwLjIwMTMwMTE4L2dkYi9mLWxhbmcuaAogIAkJCSBzdHJ1Y3QgdWlfZmlsZSAqLCBp bnQsCiAgCQkJIGNvbnN0IHN0cnVjdCB2YWx1ZSAqLAogIAkJCSBjb25zdCBzdHJ1Y3QgdmFsdWVf cHJpbnRfb3B0aW9ucyAqKTsKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9mLXZhbHBy aW50LmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9mLXZhbHByaW50LmMKID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL2YtdmFscHJpbnQuYwkyMDEz LTAxLTE4IDIzOjI3OjIyLjA3OTYwMTMzMyArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgv Z2RiL2YtdmFscHJpbnQuYwkyMDEzLTAxLTE4IDIzOjI3OjI4Ljg2MTYwNzMyMyArMDEwMAorLS0t IGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvZi12YWxwcmludC5jCTIwMTMtMDItMTUgMjI6 MzE6MzcuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvZi12YWxw cmludC5jCTIwMTMtMDItMTUgMjI6NDA6MTguNTI5NjIyMDcwICswMTAwCiBAQCAtNDMsNyArNDMs NyBAQCBzdGF0aWMgdm9pZCBmNzdfY3JlYXRlX2FycmF5cHJpbnRfb2Zmc2V0CiAgCQkJCQkgICAg ICBzdHJ1Y3QgdWlfZmlsZSAqKTsKICBzdGF0aWMgdm9pZCBmNzdfZ2V0X2R5bmFtaWNfbGVuZ3Ro X29mX2FnZ3JlZ2F0ZSAoc3RydWN0IHR5cGUgKik7CkBAIC0yMDE2LDEwICsyMDE2LDEwIEBAIElu ZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9mLXZhbHByaW50LmMKICAKICAgICAgICAgICAg dmFsX3ByaW50IChUWVBFX0ZJRUxEX1RZUEUgKHR5cGUsIGluZGV4KSwgdmFsYWRkciwKICAJCSAg ICAgZW1iZWRkZWRfb2Zmc2V0ICsgb2Zmc2V0LAotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgv Z2RiL2ZpbmR2YXIuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2ZpbmR2YXIuYwog PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvZmluZHZhci5jCTIw MTMtMDEtMTggMjM6Mjc6MjIuMDc5NjAxMzMzICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDEx OC9nZGIvZmluZHZhci5jCTIwMTMtMDEtMTggMjM6MzA6NTMuNTExODE1NzE2ICswMTAwCistLS0g Z2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9maW5kdmFyLmMJMjAxMy0wMi0xNSAyMjozMToz Ny4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9maW5kdmFyLmMJ MjAxMy0wMi0xNSAyMjo0MDoxOC41Mjk2MjIwNzAgKzAxMDAKIEBAIC02NDQsNyArNjQ0LDcgQEAg ZGVmYXVsdF92YWx1ZV9mcm9tX3JlZ2lzdGVyIChzdHJ1Y3QgdHlwZQogIAkJCSAgICAgc3RydWN0 IGZyYW1lX2luZm8gKmZyYW1lKQogIHsKQEAgLTIwNTIsMTAgKzIwNTIsMTAgQEAgSW5kZXg6IGdk Yi03LjUuNTAuMjAxMzAxMTgvZ2RiL2ZpbmR2YXIuYwogIAogICAgICAgIGlmICh2YWx1ZV9vcHRp bWl6ZWRfb3V0IChyZWd2YWwpKQogIAl7Ci1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIv ZnJhbWUuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2ZyYW1lLmMKID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL2ZyYW1lLmMJMjAxMy0wMS0xOCAy MzoyNzoyMi4wODA2MDEzMzUgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9mcmFt ZS5jCTIwMTMtMDEtMTggMjM6Mjc6MjguODYyNjA3MzI1ICswMTAwCistLS0gZ2RiLTcuNS41MC4y MDEzMDIxNS5vcmlnL2dkYi9mcmFtZS5jCTIwMTMtMDEtMDEgMDc6MzI6NDIuMDAwMDAwMDAwICsw MTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvZnJhbWUuYwkyMDEzLTAyLTE1IDIyOjQw OjE4LjUzMDYyMjA3MyArMDEwMAogQEAgLTExMTMsNyArMTExMyw3IEBAIGRlcHJlY2F0ZWRfZnJh bWVfcmVnaXN0ZXJfcmVhZCAoc3RydWN0IGYKICAKICBpbnQKQEAgLTIwNzQsMTAgKzIwNzQsMTAg QEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2ZyYW1lLmMKICAKICAgIC8qIENvcHkg dGhlIGRhdGEuICAqLwogICAgd2hpbGUgKGxlbiA+IDApCi1JbmRleDogZ2RiLTcuNS41MC4yMDEz MDExOC9nZGIvZnJhbWUuaAorSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2ZyYW1lLmgK ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL2ZyYW1lLmgJMjAx My0wMS0xOCAyMzoyNzoyMi4wODA2MDEzMzUgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4 L2dkYi9mcmFtZS5oCTIwMTMtMDEtMTggMjM6Mjc6MjguODYyNjA3MzI1ICswMTAwCistLS0gZ2Ri LTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9mcmFtZS5oCTIwMTMtMDItMDEgMjA6NTg6MDQuMDAw MDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvZnJhbWUuaAkyMDEzLTAy LTE1IDIyOjQwOjE4LjUzMDYyMjA3MyArMDEwMAogQEAgLTUzMiw3ICs1MzIsNyBAQCBleHRlcm4g dm9pZCBwdXRfZnJhbWVfcmVnaXN0ZXIgKHN0cnVjdCBmCiAgICAgY29udGVudHMgYXJlIG9wdGlt aXplZCBvdXQgb3IgdW5hdmFpbGFibGUsIHNldCAqT1BUSU1JWkVEUCwKICAgICAqVU5BVkFJTEFC TEVQIGFjY29yZGluZ2x5LiAgKi8KQEAgLTIwODcsMjAgKzIwODcsMjAgQEAgSW5kZXg6IGdkYi03 LjUuNTAuMjAxMzAxMTgvZ2RiL2ZyYW1lLmgKICAJCQkJICAgICBnZGJfYnl0ZSAqbXlhZGRyLAog IAkJCQkgICAgIGludCAqb3B0aW1pemVkcCwgaW50ICp1bmF2YWlsYWJsZXApOwogIAotSW5kZXg6 IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2dkYnR5cGVzLmMKK0luZGV4OiBnZGItNy41LjUwLjIw MTMwMjE1L2dkYi9nZGJ0eXBlcy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDEx OC5vcmlnL2dkYi9nZGJ0eXBlcy5jCTIwMTMtMDEtMTggMjM6Mjc6MjIuMDgxNjAxMzM3ICswMTAw Ci0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvZ2RidHlwZXMuYwkyMDEzLTAxLTE4IDIzOjI4 OjUzLjc2OTY4NTI0MiArMDEwMAotQEAgLTIwOTEsNyArMjA5MSw3IEBAIGFsbG9jYXRlX2duYXRf YXV4X3R5cGUgKHN0cnVjdCB0eXBlICp0eXAKLSAgICB3aGVyZSBpbml0X3R5cGUgaXMgY2FsbGVk IHdpdGggYSBOVUxMIHZhbHVlIGZvciBOQU1FKS4gICovCistLS0gZ2RiLTcuNS41MC4yMDEzMDIx NS5vcmlnL2dkYi9nZGJ0eXBlcy5jCTIwMTMtMDItMTUgMjI6MzE6MzcuMDAwMDAwMDAwICswMTAw CisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvZ2RidHlwZXMuYwkyMDEzLTAyLTE1IDIyOjQw OjM5LjQ5NjY0ODA1MiArMDEwMAorQEAgLTIwOTAsNyArMjA5MCw3IEBAIGFsbG9jYXRlX2duYXRf YXV4X3R5cGUgKHN0cnVjdCB0eXBlICp0eXAKKyAgICBsZWFzdCBhcyBsb25nIGFzIE9CSkZJTEUu ICAqLwogIAogIHN0cnVjdCB0eXBlICoKIC1pbml0X3R5cGUgKGVudW0gdHlwZV9jb2RlIGNvZGUs IGludCBsZW5ndGgsIGludCBmbGFncywKICtpbml0X3R5cGUgKGVudW0gdHlwZV9jb2RlIGNvZGUs IExPTkdFU1QgbGVuZ3RoLCBpbnQgZmxhZ3MsCi0gCSAgIGNoYXIgKm5hbWUsIHN0cnVjdCBvYmpm aWxlICpvYmpmaWxlKQorIAkgICBjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgb2JqZmlsZSAqb2Jq ZmlsZSkKICB7CiAgICBzdHJ1Y3QgdHlwZSAqdHlwZTsKLUBAIC0yMzI0LDggKzIzMjQsOCBAQCBp c19wdWJsaWNfYW5jZXN0b3IgKHN0cnVjdCB0eXBlICpiYXNlLCBzCitAQCAtMjMyMSw4ICsyMzIx LDggQEAgaXNfcHVibGljX2FuY2VzdG9yIChzdHJ1Y3QgdHlwZSAqYmFzZSwgcwogIAogIHN0YXRp YyBpbnQKICBpc191bmlxdWVfYW5jZXN0b3Jfd29ya2VyIChzdHJ1Y3QgdHlwZSAqYmFzZSwgc3Ry dWN0IHR5cGUgKmRjbGFzcywKQEAgLTIxMTEsNyArMjExMSw3IEBAIEluZGV4OiBnZGItNy41LjUw LjIwMTMwMTE4L2dkYi9nZGJ0eXBlcy5jCiAgCQkJICAgQ09SRV9BRERSIGFkZHJlc3MsIHN0cnVj dCB2YWx1ZSAqdmFsKQogIHsKICAgIGludCBpLCBjb3VudCA9IDA7Ci1AQCAtMjMzNiw3ICsyMzM2 LDcgQEAgaXNfdW5pcXVlX2FuY2VzdG9yX3dvcmtlciAoc3RydWN0IHR5cGUgKgorQEAgLTIzMzMs NyArMjMzMyw3IEBAIGlzX3VuaXF1ZV9hbmNlc3Rvcl93b3JrZXIgKHN0cnVjdCB0eXBlICoKICAg IGZvciAoaSA9IDA7IGkgPCBUWVBFX05fQkFTRUNMQVNTRVMgKGRjbGFzcykgJiYgY291bnQgPCAy OyArK2kpCiAgICAgIHsKICAgICAgICBzdHJ1Y3QgdHlwZSAqaXRlcjsKQEAgLTIxMjAsNyArMjEy MCw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9nZGJ0eXBlcy5jCiAgCiAgICAg ICAgaXRlciA9IGNoZWNrX3R5cGVkZWYgKFRZUEVfQkFTRUNMQVNTIChkY2xhc3MsIGkpKTsKICAK LUBAIC0yMzc3LDcgKzIzNzcsNyBAQCBpc191bmlxdWVfYW5jZXN0b3Jfd29ya2VyIChzdHJ1Y3Qg dHlwZSAqCitAQCAtMjM3NCw3ICsyMzc0LDcgQEAgaXNfdW5pcXVlX2FuY2VzdG9yX3dvcmtlciAo c3RydWN0IHR5cGUgKgogIGludAogIGlzX3VuaXF1ZV9hbmNlc3RvciAoc3RydWN0IHR5cGUgKmJh c2UsIHN0cnVjdCB2YWx1ZSAqdmFsKQogIHsKQEAgLTIxMjksNyArMjEyOSw3IEBAIEluZGV4OiBn ZGItNy41LjUwLjIwMTMwMTE4L2dkYi9nZGJ0eXBlcy5jCiAgCiAgICByZXR1cm4gaXNfdW5pcXVl X2FuY2VzdG9yX3dvcmtlciAoYmFzZSwgdmFsdWVfdHlwZSAodmFsKSwgJm9mZnNldCwKICAJCQkJ ICAgIHZhbHVlX2NvbnRlbnRzX2Zvcl9wcmludGluZyAodmFsKSwKLUBAIC0zMjg2LDcgKzMyODYs NyBAQCByZWN1cnNpdmVfZHVtcF90eXBlIChzdHJ1Y3QgdHlwZSAqdHlwZSwKK0BAIC0zMjgzLDcg KzMyODMsNyBAQCByZWN1cnNpdmVfZHVtcF90eXBlIChzdHJ1Y3QgdHlwZSAqdHlwZSwKICAgICAg ICBicmVhazsKICAgICAgfQogICAgcHV0c19maWx0ZXJlZCAoIlxuIik7CkBAIC0yMTM4LDcgKzIx MzgsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvZ2RidHlwZXMuYwogICAgaWYg KFRZUEVfT0JKRklMRV9PV05FRCAodHlwZSkpCiAgICAgIHsKICAgICAgICBwcmludGZpX2ZpbHRl cmVkIChzcGFjZXMsICJvYmpmaWxlICIpOwotQEAgLTM0MTAsOCArMzQxMCw4IEBAIHJlY3Vyc2l2 ZV9kdW1wX3R5cGUgKHN0cnVjdCB0eXBlICp0eXBlLAorQEAgLTM0MDcsOCArMzQwNyw4IEBAIHJl Y3Vyc2l2ZV9kdW1wX3R5cGUgKHN0cnVjdCB0eXBlICp0eXBlLAogIAkJCSAgaWR4LCBwbG9uZ2Vz dCAoVFlQRV9GSUVMRF9FTlVNVkFMICh0eXBlLCBpZHgpKSk7CiAgICAgICAgZWxzZQogIAlwcmlu dGZpX2ZpbHRlcmVkIChzcGFjZXMgKyAyLApAQCAtMjE0OSw3ICsyMTQ5LDcgQEAgSW5kZXg6IGdk Yi03LjUuNTAuMjAxMzAxMTgvZ2RiL2dkYnR5cGVzLmMKICAJCQkgIFRZUEVfRklFTERfQklUU0la RSAodHlwZSwgaWR4KSk7CiAgICAgICAgZ2RiX3ByaW50X2hvc3RfYWRkcmVzcyAoVFlQRV9GSUVM RF9UWVBFICh0eXBlLCBpZHgpLCBnZGJfc3Rkb3V0KTsKICAgICAgICBwcmludGZfZmlsdGVyZWQg KCIgbmFtZSAnJXMnICgiLAotQEAgLTM5MjUsNyArMzkyNSw3IEBAIGNvcHlfdHlwZSAoY29uc3Qg c3RydWN0IHR5cGUgKnR5cGUpCitAQCAtMzkyMiw3ICszOTIyLDcgQEAgY29weV90eXBlIChjb25z dCBzdHJ1Y3QgdHlwZSAqdHlwZSkKICAKICBzdHJ1Y3QgdHlwZSAqCiAgYXJjaF90eXBlIChzdHJ1 Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKQEAgLTIxNTgsMTAgKzIxNTgsMTAgQEAgSW5kZXg6IGdkYi03 LjUuNTAuMjAxMzAxMTgvZ2RiL2dkYnR5cGVzLmMKICB7CiAgICBzdHJ1Y3QgdHlwZSAqdHlwZTsK ICAKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9nZGJ0eXBlcy5oCitJbmRleDogZ2Ri LTcuNS41MC4yMDEzMDIxNS9nZGIvZ2RidHlwZXMuaAogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUu NTAuMjAxMzAxMTgub3JpZy9nZGIvZ2RidHlwZXMuaAkyMDEzLTAxLTE4IDIzOjI3OjIyLjA4MjYw MTMzOSArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2dkYnR5cGVzLmgJMjAxMy0w MS0xOCAyMzoyNzoyOC44NjM2MDczMjcgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9y aWcvZ2RiL2dkYnR5cGVzLmgJMjAxMy0wMi0xNSAyMjozNzowNC4wMDAwMDAwMDAgKzAxMDAKKysr KyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9nZGJ0eXBlcy5oCTIwMTMtMDItMTUgMjI6NDI6MzMu ODQ2Nzg3OTU5ICswMTAwCiBAQCAtNjA2LDcgKzYwNiw3IEBAIHN0cnVjdCBtYWluX3R5cGUKICAJ ICAgZ2RiYXJjaF9iaXRzX2JpZ19lbmRpYW49MCB0YXJnZXRzLCBpdCBpcyB0aGUgYml0IG9mZnNl dCB0bwogIAkgICB0aGUgTFNCLiAgKi8KQEAgLTIxODQsOCArMjE4NCw4IEBAIEluZGV4OiBnZGIt Ny41LjUwLjIwMTMwMTE4L2dkYi9nZGJ0eXBlcy5oCiAgZXh0ZXJuIHN0cnVjdCBnZGJhcmNoICpn ZXRfdHlwZV9hcmNoIChjb25zdCBzdHJ1Y3QgdHlwZSAqKTsKICAKICAvKiBIZWxwZXIgZnVuY3Rp b24gdG8gY29uc3RydWN0IG9iamZpbGUtb3duZWQgdHlwZXMuICAqLwotLWV4dGVybiBzdHJ1Y3Qg dHlwZSAqaW5pdF90eXBlIChlbnVtIHR5cGVfY29kZSwgaW50LCBpbnQsIGNoYXIgKiwKLStleHRl cm4gc3RydWN0IHR5cGUgKmluaXRfdHlwZSAoZW51bSB0eXBlX2NvZGUsIExPTkdFU1QsIGludCwg Y2hhciAqLAorLWV4dGVybiBzdHJ1Y3QgdHlwZSAqaW5pdF90eXBlIChlbnVtIHR5cGVfY29kZSwg aW50LCBpbnQsIGNvbnN0IGNoYXIgKiwKKytleHRlcm4gc3RydWN0IHR5cGUgKmluaXRfdHlwZSAo ZW51bSB0eXBlX2NvZGUsIExPTkdFU1QsIGludCwgY29uc3QgY2hhciAqLAogIAkJCSAgICAgICBz dHJ1Y3Qgb2JqZmlsZSAqKTsKICAKICAvKiBIZWxwZXIgZnVuY3Rpb25zIHRvIGNvbnN0cnVjdCBh cmNoaXRlY3R1cmUtb3duZWQgdHlwZXMuICAqLwpAQCAtMjE5NSwxMCArMjE5NSwxMCBAQCBJbmRl eDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvZ2RidHlwZXMuaAogIGV4dGVybiBzdHJ1Y3QgdHlw ZSAqYXJjaF9pbnRlZ2VyX3R5cGUgKHN0cnVjdCBnZGJhcmNoICosIGludCwgaW50LCBjaGFyICop OwogIGV4dGVybiBzdHJ1Y3QgdHlwZSAqYXJjaF9jaGFyYWN0ZXJfdHlwZSAoc3RydWN0IGdkYmFy Y2ggKiwgaW50LCBpbnQsIGNoYXIgKik7CiAgZXh0ZXJuIHN0cnVjdCB0eXBlICphcmNoX2Jvb2xl YW5fdHlwZSAoc3RydWN0IGdkYmFyY2ggKiwgaW50LCBpbnQsIGNoYXIgKik7Ci1JbmRleDogZ2Ri LTcuNS41MC4yMDEzMDExOC9nZGIvZ251LXYyLWFiaS5jCitJbmRleDogZ2RiLTcuNS41MC4yMDEz MDIxNS9nZGIvZ251LXYyLWFiaS5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDEx OC5vcmlnL2dkYi9nbnUtdjItYWJpLmMJMjAxMy0wMS0xOCAyMzoyNzoyMi4wODI2MDEzMzkgKzAx MDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9nbnUtdjItYWJpLmMJMjAxMy0wMS0xOCAy MzoyNzoyOC44NjM2MDczMjcgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2Ri L2dudS12Mi1hYmkuYwkyMDEzLTAxLTIxIDE4OjI5OjM5LjAwMDAwMDAwMCArMDEwMAorKysrIGdk Yi03LjUuNTAuMjAxMzAyMTUvZ2RiL2dudS12Mi1hYmkuYwkyMDEzLTAyLTE1IDIyOjQwOjE4LjUz MjYyMjA3NyArMDEwMAogQEAgLTg1LDcgKzg1LDcgQEAgZ251djJfaXNfb3BlcmF0b3JfbmFtZSAo Y29uc3QgY2hhciAqbmFtZQogICAgIFRZUEUgaXMgdGhlIHR5cGUgaW4gd2hpY2ggRiBpcyBsb2Nh dGVkLiAgKi8KICBzdGF0aWMgc3RydWN0IHZhbHVlICoKQEAgLTIyNTAsMTAgKzIyNTAsMTAgQEAg SW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2dudS12Mi1hYmkuYwogIAkgICAgZ251djJf YmFzZWNsYXNzX29mZnNldCAodHlwZSwgaSwgdmFsYWRkciwKICAJCQkJICAgIGVtYmVkZGVkX29m ZnNldCwgYWRkcmVzcywgdmFsKTsKICAKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9n bnUtdjMtYWJpLmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9nbnUtdjMtYWJpLmMK ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL2dudS12My1hYmku YwkyMDEzLTAxLTE4IDIzOjI3OjIyLjA4MzYwMTM0MSArMDEwMAotKysrIGdkYi03LjUuNTAuMjAx MzAxMTgvZ2RiL2dudS12My1hYmkuYwkyMDEzLTAxLTE4IDIzOjI3OjI4Ljg2NDYwNzMyOSArMDEw MAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvZ251LXYzLWFiaS5jCTIwMTMtMDEt MzEgMTk6Mzc6MzcuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIv Z251LXYzLWFiaS5jCTIwMTMtMDItMTUgMjI6NDA6MTguNTMyNjIyMDc3ICswMTAwCiBAQCAtMTA2 LDcgKzEwNiw3IEBAIGJ1aWxkX2dkYl92dGFibGVfdHlwZSAoc3RydWN0IGdkYmFyY2ggKmEKICB7 CiAgICBzdHJ1Y3QgdHlwZSAqdDsKQEAgLTIzMjgsMTAgKzIzMjgsMTAgQEAgSW5kZXg6IGdkYi03 LjUuNTAuMjAxMzAxMTgvZ2RiL2dudS12My1hYmkuYwogICAgICAgIHN0cnVjdCB0eXBlICpiYXNl dHlwZTsKICAKICAgICAgICBpZiAoQkFTRVRZUEVfVklBX1ZJUlRVQUwgKGRvbWFpbiwgaSkpCi1J bmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvZ28tbGFuZy5oCitJbmRleDogZ2RiLTcuNS41 MC4yMDEzMDIxNS9nZGIvZ28tbGFuZy5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEz MDExOC5vcmlnL2dkYi9nby1sYW5nLmgJMjAxMy0wMS0xOCAyMzoyNzoyMi4wODM2MDEzNDEgKzAx MDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9nby1sYW5nLmgJMjAxMy0wMS0xOCAyMzoy NzoyOC44NjQ2MDczMjkgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL2dv LWxhbmcuaAkyMDEzLTAxLTAxIDA3OjMyOjQ0LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUu NTAuMjAxMzAyMTUvZ2RiL2dvLWxhbmcuaAkyMDEzLTAyLTE1IDIyOjQwOjE4LjUzMjYyMjA3NyAr MDEwMAogQEAgLTgzLDcgKzgzLDcgQEAgZXh0ZXJuIHZvaWQgZ29fcHJpbnRfdHlwZSAoc3RydWN0 IHR5cGUgKgogIC8qIERlZmluZWQgaW4gZ28tdmFscHJpbnQuYy4gICovCiAgCkBAIC0yMzQxLDEw ICsyMzQxLDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9nby1sYW5nLmgKICAJ CQkgIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIGludCByZWN1cnNlLAogIAkJCSAgY29uc3Qgc3Ry dWN0IHZhbHVlICp2YWwsCiAgCQkJICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAq b3B0aW9ucyk7Ci1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvZ28tdmFscHJpbnQuYwor SW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2dvLXZhbHByaW50LmMKID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL2dvLXZhbHByaW50LmMJMjAxMy0wMS0x OCAyMzoyNzoyMi4wODM2MDEzNDEgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9n by12YWxwcmludC5jCTIwMTMtMDEtMTggMjM6Mjc6MjguODY0NjA3MzI5ICswMTAwCistLS0gZ2Ri LTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9nby12YWxwcmludC5jCTIwMTMtMDEtMDEgMDc6MzI6 NDQuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvZ28tdmFscHJp bnQuYwkyMDEzLTAyLTE1IDIyOjQwOjE4LjUzMjYyMjA3NyArMDEwMAogQEAgLTM3LDcgKzM3LDcg QEAKICAKICBzdGF0aWMgdm9pZApAQCAtMjM2NywxMSArMjM2NywxMSBAQCBJbmRleDogZ2RiLTcu NS41MC4yMDEzMDExOC9nZGIvZ28tdmFscHJpbnQuYwogIAkgICAgICBjb25zdCBzdHJ1Y3QgdmFs dWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucykKICB7CiAgICBDSEVDS19UWVBFREVGICh0eXBlKTsK LUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9pMzg2LW5hdC5jCitJbmRleDogZ2RiLTcu NS41MC4yMDEzMDIxNS9nZGIvaTM4Ni1uYXQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAu MjAxMzAxMTgub3JpZy9nZGIvaTM4Ni1uYXQuYwkyMDEzLTAxLTE4IDIzOjI3OjIyLjA4NDYwMTM0 MyArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2kzODYtbmF0LmMJMjAxMy0wMS0x OCAyMzoyNzoyOC44NjQ2MDczMjkgKzAxMDAKLUBAIC0yOTIsNyArMjkyLDcgQEAgc3RhdGljIGlu dCBpMzg2X3JlbW92ZV9hbGlnbmVkX3dhdGNocG9pbgorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUu b3JpZy9nZGIvaTM4Ni1uYXQuYwkyMDEzLTAyLTEzIDE1OjU5OjQ5LjAwMDAwMDAwMCArMDEwMAor KysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2kzODYtbmF0LmMJMjAxMy0wMi0xNSAyMjo0MTo1 My45NTA3Mzk0MTQgKzAxMDAKK0BAIC0yOTAsNyArMjkwLDcgQEAgc3RhdGljIGludCBpMzg2X3Jl bW92ZV9hbGlnbmVkX3dhdGNocG9pbgogICAgIHZhbGlkIHZhbHVlLCBib21icyB0aHJvdWdoIGlu dGVybmFsX2Vycm9yLiAgKi8KICBzdGF0aWMgaW50IGkzODZfaGFuZGxlX25vbmFsaWduZWRfd2F0 Y2hwb2ludCAoc3RydWN0IGkzODZfZGVidWdfcmVnX3N0YXRlICpzdGF0ZSwKICAJCQkJCSAgICAg IGkzODZfd3Bfb3BfdCB3aGF0LApAQCAtMjM4MCw3ICsyMzgwLDcgQEAgSW5kZXg6IGdkYi03LjUu NTAuMjAxMzAxMTgvZ2RiL2kzODYtbmF0LmMKICAJCQkJCSAgICAgIGVudW0gdGFyZ2V0X2h3X2Jw X3R5cGUgdHlwZSk7CiAgCiAgLyogSW1wbGVtZW50YXRpb24uICAqLwotQEAgLTUwNCw4ICs1MDQs OCBAQCBpMzg2X3JlbW92ZV9hbGlnbmVkX3dhdGNocG9pbnQgKHN0cnVjdCBpCitAQCAtNTAxLDgg KzUwMSw4IEBAIGkzODZfcmVtb3ZlX2FsaWduZWRfd2F0Y2hwb2ludCAoc3RydWN0IGkKICAKICBz dGF0aWMgaW50CiAgaTM4Nl9oYW5kbGVfbm9uYWxpZ25lZF93YXRjaHBvaW50IChzdHJ1Y3QgaTM4 Nl9kZWJ1Z19yZWdfc3RhdGUgKnN0YXRlLApAQCAtMjM5OCwxMiArMjM5OCwxMiBAQCBJbmRleDog Z2RiLTcuNS41MC4yMDEzMDExOC9nZGIvaTM4Ni1uYXQuYwogLWkzODZfcmVnaW9uX29rX2Zvcl93 YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgaW50IGxlbikKICtpMzg2X3JlZ2lvbl9va19mb3Jf d2F0Y2hwb2ludCAoQ09SRV9BRERSIGFkZHIsIExPTkdFU1QgbGVuKQogIHsKLSAgIHN0cnVjdCBp Mzg2X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUgPSBpMzg2X2RlYnVnX3JlZ19zdGF0ZSAoKTsKLSAg IGludCBucmVnczsKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9pbmYtdHRyYWNlLmMK KyAgIHN0cnVjdCBpMzg2X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUKKyAgICAgPSBpMzg2X2RlYnVn X3JlZ19zdGF0ZSAocHRpZF9nZXRfcGlkIChpbmZlcmlvcl9wdGlkKSk7CitJbmRleDogZ2RiLTcu NS41MC4yMDEzMDIxNS9nZGIvaW5mLXR0cmFjZS5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41 MC4yMDEzMDExOC5vcmlnL2dkYi9pbmYtdHRyYWNlLmMJMjAxMy0wMS0xOCAyMzoyNzoyMi4wODQ2 MDEzNDMgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9pbmYtdHRyYWNlLmMJMjAx My0wMS0xOCAyMzoyNzoyOC44NjQ2MDczMjkgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1 Lm9yaWcvZ2RiL2luZi10dHJhY2UuYwkyMDEzLTAxLTAxIDA3OjMyOjQ1LjAwMDAwMDAwMCArMDEw MAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2luZi10dHJhY2UuYwkyMDEzLTAyLTE1IDIy OjQwOjE4LjUzMzYyMjA3OCArMDEwMAogQEAgLTM2NCw3ICszNjQsNyBAQCBpbmZfdHRyYWNlX2Nh bl91c2VfaHdfYnJlYWtwb2ludCAoaW50IHR5CiAgfQogIApAQCAtMjQxMywxMSArMjQxMywxMSBA QCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvaW5mLXR0cmFjZS5jCiAgewogICAgcmV0 dXJuIDE7CiAgfQotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2p2LWxhbmcuYworSW5k ZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2p2LWxhbmcuYwogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdk Yi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvanYtbGFuZy5jCTIwMTMtMDEtMTggMjM6Mjc6MjIu MDg0NjAxMzQzICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvanYtbGFuZy5jCTIw MTMtMDEtMTggMjM6Mjc6MjguODY1NjA3MzMxICswMTAwCi1AQCAtNDM5LDcgKzQzOSw3IEBAIGph dmFfbGlua19jbGFzc190eXBlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2QKKy0tLSBnZGItNy41LjUwLjIw MTMwMjE1Lm9yaWcvZ2RiL2p2LWxhbmcuYwkyMDEzLTAyLTE1IDIyOjM3OjA0LjAwMDAwMDAwMCAr MDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2p2LWxhbmcuYwkyMDEzLTAyLTE1IDIy OjQwOjE4LjUzMzYyMjA3OCArMDEwMAorQEAgLTQzNyw3ICs0MzcsNyBAQCBqYXZhX2xpbmtfY2xh c3NfdHlwZSAoc3RydWN0IGdkYmFyY2ggKmdkCiAgICBmb3IgKGkgPSBUWVBFX05fQkFTRUNMQVNT RVMgKHR5cGUpOyBpIDwgbmZpZWxkczsgaSsrKQogICAgICB7CiAgICAgICAgaW50IGFjY2ZsYWdz OwpAQCAtMjQyNiw3ICsyNDI2LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2p2 LWxhbmcuYwogIAogICAgICAgIGlmIChmaWVsZHMgPT0gTlVMTCkKICAJewotQEAgLTg4OSw3ICs4 ODksNyBAQCBqYXZhX3ByaW50Y2hhciAoaW50IGMsIHN0cnVjdCB0eXBlICp0eXBlCitAQCAtODg3 LDcgKzg4Nyw3IEBAIGphdmFfcHJpbnRjaGFyIChpbnQgYywgc3RydWN0IHR5cGUgKnR5cGUKICBz dGF0aWMgdm9pZAogIGphdmFfcHJpbnRzdHIgKHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIHN0cnVj dCB0eXBlICp0eXBlLAogIAkgICAgICAgY29uc3QgZ2RiX2J5dGUgKnN0cmluZywKQEAgLTI0MzUs MTAgKzI0MzUsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2p2LWxhbmcuYwog IAkgICAgICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpCiAgewog ICAgY29uc3QgY2hhciAqdHlwZV9lbmNvZGluZyA9IGphdmFfZ2V0X2VuY29kaW5nICh0eXBlKTsK LUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9qdi1sYW5nLmgKK0luZGV4OiBnZGItNy41 LjUwLjIwMTMwMjE1L2dkYi9qdi1sYW5nLmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIw MTMwMTE4Lm9yaWcvZ2RiL2p2LWxhbmcuaAkyMDEzLTAxLTE4IDIzOjI3OjIyLjA4NTYwMTM0NSAr MDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2p2LWxhbmcuaAkyMDEzLTAxLTE4IDIz OjI3OjI4Ljg2NTYwNzMzMSArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIv anYtbGFuZy5oCTIwMTMtMDEtMDEgMDc6MzI6NDYuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcu NS41MC4yMDEzMDIxNS9nZGIvanYtbGFuZy5oCTIwMTMtMDItMTUgMjI6NDA6MTguNTMzNjIyMDc4 ICswMTAwCiBAQCAtNDIsOCArNDIsOCBAQCBzdHJ1Y3QgYnVpbHRpbl9qYXZhX3R5cGUKICAKICBl eHRlcm4gY29uc3Qgc3RydWN0IGJ1aWx0aW5famF2YV90eXBlICpidWlsdGluX2phdmFfdHlwZSAo c3RydWN0IGdkYmFyY2ggKik7CkBAIC0yNDUwLDEwICsyNDUwLDEwIEBAIEluZGV4OiBnZGItNy41 LjUwLjIwMTMwMTE4L2dkYi9qdi1sYW5nLmgKICAJCQkgICAgY29uc3Qgc3RydWN0IHZhbHVlICos CiAgCQkJICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICopOwogIAotSW5kZXg6 IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2p2LXZhbHByaW50LmMKK0luZGV4OiBnZGItNy41LjUw LjIwMTMwMjE1L2dkYi9qdi12YWxwcmludC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4y MDEzMDExOC5vcmlnL2dkYi9qdi12YWxwcmludC5jCTIwMTMtMDEtMTggMjM6Mjc6MjIuMDg1NjAx MzQ1ICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvanYtdmFscHJpbnQuYwkyMDEz LTAxLTE4IDIzOjI3OjI4Ljg2NTYwNzMzMSArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUu b3JpZy9nZGIvanYtdmFscHJpbnQuYwkyMDEzLTAxLTMxIDE5OjM3OjM3LjAwMDAwMDAwMCArMDEw MAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2p2LXZhbHByaW50LmMJMjAxMy0wMi0xNSAy Mjo0MDoxOC41MzM2MjIwNzggKzAxMDAKIEBAIC0yNjYsNyArMjY2LDcgQEAgamF2YV92YWx1ZV9w cmludCAoc3RydWN0IHZhbHVlICp2YWwsIHN0cgogIAogIHN0YXRpYyB2b2lkCkBAIC0yNDcyLDEw ICsyNDcyLDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9qdi12YWxwcmludC5j CiAgCQlzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKICAJCWNvbnN0IHN0cnVj dCB2YWx1ZSAqdmFsLAogIAkJY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlv bnMpCi1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvbGFuZ3VhZ2UuYworSW5kZXg6IGdk Yi03LjUuNTAuMjAxMzAyMTUvZ2RiL2xhbmd1YWdlLmMKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41 LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL2xhbmd1YWdlLmMJMjAxMy0wMS0xOCAyMzoyNzoyMi4wODU2 MDEzNDUgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9sYW5ndWFnZS5jCTIwMTMt MDEtMTggMjM6Mjc6MjguODY1NjA3MzMxICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5v cmlnL2dkYi9sYW5ndWFnZS5jCTIwMTMtMDEtMDEgMDc6MzI6NDYuMDAwMDAwMDAwICswMTAwCisr KysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvbGFuZ3VhZ2UuYwkyMDEzLTAyLTE1IDIyOjQwOjE4 LjUzNDYyMjA3OSArMDEwMAogQEAgLTcyMCw3ICs3MjAsNyBAQCB1bmtfbGFuZ19wcmludGNoYXIg KGludCBjLCBzdHJ1Y3QgdHlwZSAqCiAgCiAgc3RhdGljIHZvaWQKQEAgLTI0OTQsMTAgKzI0OTQs MTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2xhbmd1YWdlLmMKICAJCSAgICBz dHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKICAJCSAgICBjb25zdCBzdHJ1Y3Qg dmFsdWUgKnZhbCwKICAJCSAgICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0 aW9ucykKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9sYW5ndWFnZS5oCitJbmRleDog Z2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvbGFuZ3VhZ2UuaAogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03 LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvbGFuZ3VhZ2UuaAkyMDEzLTAxLTE4IDIzOjI3OjIyLjA4 NjYwMTM0NiArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2xhbmd1YWdlLmgJMjAx My0wMS0xOCAyMzoyNzoyOC44NjU2MDczMzEgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1 Lm9yaWcvZ2RiL2xhbmd1YWdlLmgJMjAxMy0wMS0wMSAwNzozMjo0Ni4wMDAwMDAwMDAgKzAxMDAK KysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9sYW5ndWFnZS5oCTIwMTMtMDItMTUgMjI6NDA6 MTguNTM0NjIyMDc5ICswMTAwCiBAQCAtMTc1LDcgKzE3NSw3IEBAIHN0cnVjdCBsYW5ndWFnZV9k ZWZuCiAgCQkJICBzdHJ1Y3QgdWlfZmlsZSAqIHN0cmVhbSk7CiAgCkBAIC0yNTE2LDEwICsyNTE2 LDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9sYW5ndWFnZS5oCiAgCQkJICBz dHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKICAJCQkgIGNvbnN0IHN0cnVjdCB2 YWx1ZSAqdmFsLAogIAkJCSAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlv bnMpOwotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL20yLWxhbmcuYworSW5kZXg6IGdk Yi03LjUuNTAuMjAxMzAyMTUvZ2RiL20yLWxhbmcuYwogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUu NTAuMjAxMzAxMTgub3JpZy9nZGIvbTItbGFuZy5jCTIwMTMtMDEtMTggMjM6Mjc6MjIuMDg2NjAx MzQ2ICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvbTItbGFuZy5jCTIwMTMtMDEt MTggMjM6Mjc6MjguODY2NjA3MzMzICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmln L2dkYi9tMi1sYW5nLmMJMjAxMy0wMS0wNyAxNzo0MDozNi4wMDAwMDAwMDAgKzAxMDAKKysrKyBn ZGItNy41LjUwLjIwMTMwMjE1L2dkYi9tMi1sYW5nLmMJMjAxMy0wMi0xNSAyMjo0MDoxOC41MzQ2 MjIwNzkgKzAxMDAKIEBAIC0xMDMsMTAgKzEwMywxMCBAQCBtMl9wcmludGNoYXIgKGludCBjLCBz dHJ1Y3QgdHlwZSAqdHlwZSwKICAKICBzdGF0aWMgdm9pZApAQCAtMjU1NCwxMCArMjU1NCwxMCBA QCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvbTItbGFuZy5jCiAgCSAgaSA9IHJlcDEg LSAxOwogIAkgIHRoaW5nc19wcmludGVkICs9IG9wdGlvbnMtPnJlcGVhdF9jb3VudF90aHJlc2hv bGQ7CiAgCSAgbmVlZF9jb21tYSA9IDE7Ci1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIv bTItbGFuZy5oCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvbTItbGFuZy5oCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi9tMi1sYW5nLmgJMjAxMy0w MS0xOCAyMzoyNzoyMi4wODY2MDEzNDYgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dk Yi9tMi1sYW5nLmgJMjAxMy0wMS0xOCAyMzoyNzoyOC44NjY2MDczMzMgKzAxMDAKKy0tLSBnZGIt Ny41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL20yLWxhbmcuaAkyMDEzLTAxLTAxIDA3OjMyOjQ2LjAw MDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL20yLWxhbmcuaAkyMDEz LTAyLTE1IDIyOjQwOjE4LjUzNDYyMjA3OSArMDEwMAogQEAgLTMzLDcgKzMzLDcgQEAgZXh0ZXJu IHZvaWQgbTJfcHJpbnRfdHlwZWRlZiAoc3RydWN0IHR5cAogIGV4dGVybiBpbnQgbTJfaXNfbG9u Z19zZXQgKHN0cnVjdCB0eXBlICp0eXBlKTsKICBleHRlcm4gaW50IG0yX2lzX3VuYm91bmRlZF9h cnJheSAoc3RydWN0IHR5cGUgKnR5cGUpOwpAQCAtMjU2NywxMSArMjU2NywxMSBAQCBJbmRleDog Z2RiLTcuNS41MC4yMDEzMDExOC9nZGIvbTItbGFuZy5oCiAgCQkJICBzdHJ1Y3QgdWlfZmlsZSAq LCBpbnQsCiAgCQkJICBjb25zdCBzdHJ1Y3QgdmFsdWUgKiwKICAJCQkgIGNvbnN0IHN0cnVjdCB2 YWx1ZV9wcmludF9vcHRpb25zICopOwotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL20y LXR5cGVwcmludC5jCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvbTItdHlwZXByaW50 LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL20yLXR5cGVw cmludC5jCTIwMTMtMDEtMTggMjM6Mjc6MjguODY2NjA3MzMzICswMTAwCi0rKysgZ2RiLTcuNS41 MC4yMDEzMDExOC9nZGIvbTItdHlwZXByaW50LmMJMjAxMy0wMS0xOCAyMzozMTo0NS44MzI4Nzc4 MDUgKzAxMDAKLUBAIC0yMzYsOSArMjM2LDEyIEBAIHN0YXRpYyB2b2lkIG0yX2FycmF5IChzdHJ1 Y3QgdHlwZSAqdHlwZSwKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL20yLXR5cGVw cmludC5jCTIwMTMtMDEtMzEgMTk6Mzc6MzcuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41 MC4yMDEzMDIxNS9nZGIvbTItdHlwZXByaW50LmMJMjAxMy0wMi0xNSAyMjo0MDoxOC41MzQ2MjIw NzkgKzAxMDAKK0BAIC0yMzMsOSArMjMzLDEyIEBAIHN0YXRpYyB2b2lkIG0yX2FycmF5IChzdHJ1 Y3QgdHlwZSAqdHlwZSwKICAJICBtMl9wcmludF9ib3VuZHMgKFRZUEVfSU5ERVhfVFlQRSAodHlw ZSksIHN0cmVhbSwgc2hvdywgLTEsIDEpOwogIAl9CiAgICAgICAgZWxzZQpAQCAtMjU4NywxMCAr MjU4NywxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvbTItdHlwZXByaW50LmMK ICAgICAgfQogICAgZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFtLCAiXSBPRiAiKTsKICAgIG0yX3By aW50X3R5cGUgKFRZUEVfVEFSR0VUX1RZUEUgKHR5cGUpLCAiIiwgc3RyZWFtLCBzaG93LCBsZXZl bCwgZmxhZ3MpOwotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL20yLXZhbHByaW50LmMK K0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9tMi12YWxwcmludC5jCiA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi9tMi12YWxwcmludC5jCTIwMTMtMDEt MTggMjM6Mjc6MjIuMDg3NjAxMzQ3ICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIv bTItdmFscHJpbnQuYwkyMDEzLTAxLTE4IDIzOjI3OjI4Ljg2NjYwNzMzMyArMDEwMAorLS0tIGdk Yi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvbTItdmFscHJpbnQuYwkyMDEzLTAxLTAxIDA3OjMy OjQ2LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL20yLXZhbHBy aW50LmMJMjAxMy0wMi0xNSAyMjo0MDoxOC41MzQ2MjIwNzkgKzAxMDAKIEBAIC0zNSw3ICszNSw3 IEBAIHN0YXRpYyBpbnQgcHJpbnRfdW5wYWNrZWRfcG9pbnRlciAoc3RydWMKICAJCQkJICAgc3Ry dWN0IHVpX2ZpbGUgKnN0cmVhbSk7CiAgc3RhdGljIHZvaWQKQEAgLTI2NTYsMTAgKzI2NTYsMTAg QEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL20yLXZhbHByaW50LmMKICAKICAJCSAg LyogTG9vayBmb3IgYSBOVUxMIGNoYXIuICAqLwogIAkJICBmb3IgKHRlbXBfbGVuID0gMDsKLUlu ZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9tZW1yYW5nZS5jCitJbmRleDogZ2RiLTcuNS41 MC4yMDEzMDIxNS9nZGIvbWVtcmFuZ2UuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAx MzAxMTgub3JpZy9nZGIvbWVtcmFuZ2UuYwkyMDEzLTAxLTE4IDIzOjI3OjIyLjA4NzYwMTM0NyAr MDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL21lbXJhbmdlLmMJMjAxMy0wMS0xOCAy MzoyNzoyOC44NjY2MDczMzMgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2Ri L21lbXJhbmdlLmMJMjAxMy0wMS0wMSAwNzozMjo0Ny4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGIt Ny41LjUwLjIwMTMwMjE1L2dkYi9tZW1yYW5nZS5jCTIwMTMtMDItMTUgMjI6NDA6MTguNTM0NjIy MDc5ICswMTAwCiBAQCAtMjEsOCArMjEsOCBAQAogICNpbmNsdWRlICJtZW1yYW5nZS5oIgogIApA QCAtMjY3MSwxMCArMjY3MSwxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvbWVt cmFuZ2UuYwogIHsKICAgIFVMT05HRVNUIGgsIGw7CiAgCi1JbmRleDogZ2RiLTcuNS41MC4yMDEz MDExOC9nZGIvbWVtcmFuZ2UuaAorSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL21lbXJh bmdlLmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL21lbXJh bmdlLmgJMjAxMy0wMS0xOCAyMzoyNzoyMi4wODc2MDEzNDcgKzAxMDAKLSsrKyBnZGItNy41LjUw LjIwMTMwMTE4L2dkYi9tZW1yYW5nZS5oCTIwMTMtMDEtMTggMjM6Mjc6MjguODY2NjA3MzMzICsw MTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9tZW1yYW5nZS5oCTIwMTMtMDEt MDEgMDc6MzI6NDcuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIv bWVtcmFuZ2UuaAkyMDEzLTAyLTE1IDIyOjQwOjE4LjUzNTYyMjA4MSArMDEwMAogQEAgLTMwLDcg KzMwLDcgQEAgc3RydWN0IG1lbV9yYW5nZQogICAgQ09SRV9BRERSIHN0YXJ0OwogIApAQCAtMjY5 NSwxMCArMjY5NSwxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvbWVtcmFuZ2Uu aAogIAogIC8qIFNvcnQgcmFuZ2VzIGJ5IHN0YXJ0IGFkZHJlc3MsIHRoZW4gY29hbGVzY2UgY29u dGlndW91cyBvcgogICAgIG92ZXJsYXBwaW5nIHJhbmdlcy4gICovCi1JbmRleDogZ2RiLTcuNS41 MC4yMDEzMDExOC9nZGIvbWlwcy1saW51eC1uYXQuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAy MTUvZ2RiL21pcHMtbGludXgtbmF0LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMw MTE4Lm9yaWcvZ2RiL21pcHMtbGludXgtbmF0LmMJMjAxMy0wMS0xOCAyMzoyNzoyMi4wODc2MDEz NDcgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9taXBzLWxpbnV4LW5hdC5jCTIw MTMtMDEtMTggMjM6Mjc6MjguODY3NjA3MzM0ICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIx NS5vcmlnL2dkYi9taXBzLWxpbnV4LW5hdC5jCTIwMTMtMDEtMDEgMDc6MzI6NDcuMDAwMDAwMDAw ICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvbWlwcy1saW51eC1uYXQuYwkyMDEz LTAyLTE1IDIyOjQwOjE4LjUzNTYyMjA4MSArMDEwMAogQEAgLTkzOCw3ICs5MzgsNyBAQCB0cnlf b25lX3dhdGNoIChzdHJ1Y3QgcHRfd2F0Y2hfcmVncyAqcmVnCiAgICAgdGhlIHNwZWNpZmllZCBy ZWdpb24gY2FuIGJlIGNvdmVyZWQgYnkgdGhlIHdhdGNoIHJlZ2lzdGVycy4gICovCiAgCkBAIC0y NzA4LDEwICsyNzA4LDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9taXBzLWxp bnV4LW5hdC5jCiAgewogICAgc3RydWN0IHB0X3dhdGNoX3JlZ3MgZHVtbXlfcmVnczsKICAgIGlu dCBpOwotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL29wZW5jbC1sYW5nLmMKK0luZGV4 OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9vcGVuY2wtbGFuZy5jCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Z2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi9vcGVuY2wtbGFuZy5jCTIwMTMtMDEtMTggMjM6 Mjc6MjIuMDg4NjAxMzQ5ICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvb3BlbmNs LWxhbmcuYwkyMDEzLTAxLTE4IDIzOjI3OjI4Ljg2ODYwNzMzNSArMDEwMAorLS0tIGdkYi03LjUu NTAuMjAxMzAyMTUub3JpZy9nZGIvb3BlbmNsLWxhbmcuYwkyMDEzLTAxLTI1IDE4OjE2OjQwLjAw MDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL29wZW5jbC1sYW5nLmMJ MjAxMy0wMi0xNSAyMjo0MDoxOC41MzU2MjIwODEgKzAxMDAKIEBAIC04MCwxMSArODAsMTEgQEAg YnVpbHRpbl9vcGVuY2xfdHlwZSAoc3RydWN0IGdkYmFyY2ggKmdkYgogIAogIHN0YXRpYyBzdHJ1 Y3QgdHlwZSAqCkBAIC0yODM4LDEwICsyODM4LDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMw MTE4L2dkYi9vcGVuY2wtbGFuZy5jCiAgCiAgICAgICAgaWYgKCF2YWx1ZV9iaXRzX3N5bnRoZXRp Y19wb2ludGVyIChjLT52YWwsCiAgCQkJCQkgYy0+aW5kaWNlc1tpXSAqIGVsc2l6ZSArIGNvbXBf b2Zmc2V0LAotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3AtbGFuZy5jCitJbmRleDog Z2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvcC1sYW5nLmMKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41 LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL3AtbGFuZy5jCTIwMTMtMDEtMTggMjM6Mjc6MjIuMDg5NjAx MzUxICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvcC1sYW5nLmMJMjAxMy0wMS0x OCAyMzoyNzoyOC44Njg2MDczMzUgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcv Z2RiL3AtbGFuZy5jCTIwMTMtMDEtMDcgMTc6NDA6MzYuMDAwMDAwMDAwICswMTAwCisrKysgZ2Ri LTcuNS41MC4yMDEzMDIxNS9nZGIvcC1sYW5nLmMJMjAxMy0wMi0xNSAyMjo0MDoxOC41MzU2MjIw ODEgKzAxMDAKIEBAIC05NSw4ICs5NSw4IEBAIHBhc2NhbF9tYWluX25hbWUgKHZvaWQpCiAgICAg YXJlIG5vdCBtdWx0aXBsZSBvZiBUQVJHRVRfQ0hBUl9CSVQgdGhlbiB0aGUgcmVzdWx0cyBhcmUg d3JvbmcKICAgICBidXQgdGhpcyBkb2VzIG5vdCBoYXBwZW4gZm9yIEZyZWUgUGFzY2FsIG5vciBm b3IgR1BDLiAgKi8KQEAgLTI4ODksMTAgKzI4ODksMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAx MzAxMTgvZ2RiL3AtbGFuZy5jCiAgCSAgaSA9IHJlcDEgLSAxOwogIAkgIHRoaW5nc19wcmludGVk ICs9IG9wdGlvbnMtPnJlcGVhdF9jb3VudF90aHJlc2hvbGQ7CiAgCSAgbmVlZF9jb21tYSA9IDE7 Ci1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvcC1sYW5nLmgKK0luZGV4OiBnZGItNy41 LjUwLjIwMTMwMjE1L2dkYi9wLWxhbmcuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAx MzAxMTgub3JpZy9nZGIvcC1sYW5nLmgJMjAxMy0wMS0xOCAyMzoyNzoyMi4wODk2MDEzNTEgKzAx MDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9wLWxhbmcuaAkyMDEzLTAxLTE4IDIzOjMy OjE3LjM1ODkxNjQyNiArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvcC1s YW5nLmgJMjAxMy0wMS0wMSAwNzozMjo0Ny4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUw LjIwMTMwMjE1L2dkYi9wLWxhbmcuaAkyMDEzLTAyLTE1IDIyOjQwOjE4LjUzNTYyMjA4MSArMDEw MAogQEAgLTM1LDcgKzM1LDcgQEAgZXh0ZXJuIHZvaWQgcGFzY2FsX3ByaW50X3R5cGUgKHN0cnVj dCB0eQogIGV4dGVybiB2b2lkIHBhc2NhbF9wcmludF90eXBlZGVmIChzdHJ1Y3QgdHlwZSAqLCBz dHJ1Y3Qgc3ltYm9sICosCiAgCQkJCSAgc3RydWN0IHVpX2ZpbGUgKik7CkBAIC0yOTI3LDEwICsy OTI3LDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9wLWxhbmcuaAogIAkJCQkJ ICAgICAgQ09SRV9BRERSLCBzdHJ1Y3QgdWlfZmlsZSAqLAogIAkJCQkJICAgICAgaW50LAogIAkJ CQkJICAgICAgY29uc3Qgc3RydWN0IHZhbHVlICosCi1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDEx OC9nZGIvcC12YWxwcmludC5jCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvcC12YWxw cmludC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi9wLXZh bHByaW50LmMJMjAxMy0wMS0xOCAyMzoyNzoyMi4wODk2MDEzNTEgKzAxMDAKLSsrKyBnZGItNy41 LjUwLjIwMTMwMTE4L2dkYi9wLXZhbHByaW50LmMJMjAxMy0wMS0xOCAyMzoyNzoyOC44Njg2MDcz MzUgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL3AtdmFscHJpbnQuYwky MDEzLTAyLTE1IDIyOjMxOjM3LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAy MTUvZ2RiL3AtdmFscHJpbnQuYwkyMDEzLTAyLTE1IDIyOjQwOjE4LjUzNjYyMjA4NCArMDEwMAog QEAgLTU4LDcgKzU4LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBnZW5lcmljX3ZhbF9wcmludF9k ZQogIAogIHZvaWQKQEAgLTI5OTIsMTAgKzI5OTIsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAx MzAxMTgvZ2RiL3AtdmFscHJpbnQuYwogICAgICAgIHZvbGF0aWxlIHN0cnVjdCBnZGJfZXhjZXB0 aW9uIGV4OwogICAgICAgIGludCBza2lwID0gMDsKICAKLUluZGV4OiBnZGItNy41LjUwLjIwMTMw MTE4L2dkYi9wcGMtbGludXgtbmF0LmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9w cGMtbGludXgtbmF0LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcv Z2RiL3BwYy1saW51eC1uYXQuYwkyMDEzLTAxLTE4IDIzOjI3OjIyLjA5MDYwMTM1MyArMDEwMAot KysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3BwYy1saW51eC1uYXQuYwkyMDEzLTAxLTE4IDIz OjI3OjI4Ljg2OTYwNzMzNyArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIv cHBjLWxpbnV4LW5hdC5jCTIwMTMtMDEtMDEgMDc6MzI6NDkuMDAwMDAwMDAwICswMTAwCisrKysg Z2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvcHBjLWxpbnV4LW5hdC5jCTIwMTMtMDItMTUgMjI6NDA6 MTguNTM2NjIyMDg0ICswMTAwCiBAQCAtMTQ5Miw3ICsxNDkyLDcgQEAgcHBjX2xpbnV4X2Nhbl91 c2VfaHdfYnJlYWtwb2ludCAoaW50IHR5cAogIH0KICAKQEAgLTMwMDUsMTEgKzMwMDUsMTEgQEAg SW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3BwYy1saW51eC1uYXQuYwogIHsKICAgIC8q IEhhbmRsZSBzdWItOC1ieXRlIHF1YW50aXRpZXMuICAqLwogICAgaWYgKGxlbiA8PSAwKQotSW5k ZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3ByaW50Y21kLmMKK0luZGV4OiBnZGItNy41LjUw LjIwMTMwMjE1L2dkYi9wcmludGNtZC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEz MDExOC5vcmlnL2dkYi9wcmludGNtZC5jCTIwMTMtMDEtMTggMjM6Mjc6MjIuMDkxNjAxMzU1ICsw MTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvcHJpbnRjbWQuYwkyMDEzLTAxLTE4IDIz OjI3OjI4Ljg2OTYwNzMzNyArMDEwMAotQEAgLTI4OSw3ICsyODksNyBAQCBwcmludF9mb3JtYXR0 ZWQgKHN0cnVjdCB2YWx1ZSAqdmFsLCBpbnQKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcv Z2RiL3ByaW50Y21kLmMJMjAxMy0wMi0xNSAyMjozNDo0NC4wMDAwMDAwMDAgKzAxMDAKKysrKyBn ZGItNy41LjUwLjIwMTMwMjE1L2dkYi9wcmludGNtZC5jCTIwMTMtMDItMTUgMjI6NDA6MTguNTM3 NjIyMDg2ICswMTAwCitAQCAtMjkwLDcgKzI5MCw3IEBAIHByaW50X2Zvcm1hdHRlZCAoc3RydWN0 IHZhbHVlICp2YWwsIGludAogIAkJIHN0cnVjdCB1aV9maWxlICpzdHJlYW0pCiAgewogICAgc3Ry dWN0IHR5cGUgKnR5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlICh2YWwpKTsKQEAgLTMw MTgsNyArMzAxOCw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9wcmludGNtZC5j CiAgCiAgICBpZiAoVkFMVUVfTFZBTCAodmFsKSA9PSBsdmFsX21lbW9yeSkKICAgICAgbmV4dF9h ZGRyZXNzID0gdmFsdWVfYWRkcmVzcyAodmFsKSArIGxlbjsKLUBAIC0zNjcsNyArMzY3LDcgQEAg cHJpbnRfc2NhbGFyX2Zvcm1hdHRlZCAoY29uc3Qgdm9pZCAqdmFsYQorQEAgLTM2OCw3ICszNjgs NyBAQCBwcmludF9zY2FsYXJfZm9ybWF0dGVkIChjb25zdCB2b2lkICp2YWxhCiAgewogICAgc3Ry dWN0IGdkYmFyY2ggKmdkYmFyY2ggPSBnZXRfdHlwZV9hcmNoICh0eXBlKTsKICAgIExPTkdFU1Qg dmFsX2xvbmcgPSAwOwpAQCAtMzAyNywxMCArMzAyNywxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4y MDEzMDExOC9nZGIvcHJpbnRjbWQuYwogICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBn ZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwogIAogICAgLyogU3RyaW5nIHByaW50aW5nIHNo b3VsZCBnbyB0aHJvdWdoIHZhbF9wcmludF9zY2FsYXJfZm9ybWF0dGVkLiAgKi8KLUluZGV4OiBn ZGItNy41LjUwLjIwMTMwMTE4L2dkYi9wcm9jZnMuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAy MTUvZ2RiL3Byb2Nmcy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmln L2dkYi9wcm9jZnMuYwkyMDEzLTAxLTE4IDIzOjI3OjIyLjA5MjYwMTM1NyArMDEwMAotKysrIGdk Yi03LjUuNTAuMjAxMzAxMTgvZ2RiL3Byb2Nmcy5jCTIwMTMtMDEtMTggMjM6Mjc6MjguODcwNjA3 MzQwICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9wcm9jZnMuYwkyMDEz LTAxLTAxIDA3OjMyOjQ5LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUv Z2RiL3Byb2Nmcy5jCTIwMTMtMDItMTUgMjI6NDA6MTguNTM3NjIyMDg2ICswMTAwCiBAQCAtNDky Niw3ICs0OTI2LDcgQEAgcHJvY2ZzX3JlbW92ZV93YXRjaHBvaW50IChDT1JFX0FERFIgYWRkcgog IH0KICAKQEAgLTMwNDAsMTAgKzMwNDAsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgv Z2RiL3Byb2Nmcy5jCiAgewogICAgLyogVGhlIG1hbiBwYWdlIGZvciBwcm9jKDQpIG9uIFNvbGFy aXMgMi42IGFuZCB1cCBzYXlzIHRoYXQgdGhlCiAgICAgICBzeXN0ZW0gY2FuIHN1cHBvcnQgInRo b3VzYW5kcyIgb2YgaGFyZHdhcmUgd2F0Y2hwb2ludHMsIGJ1dCBnaXZlcwotSW5kZXg6IGdkYi03 LjUuNTAuMjAxMzAxMTgvZ2RiL3B5dGhvbi9weS1wcmV0dHlwcmludC5jCitJbmRleDogZ2RiLTcu NS41MC4yMDEzMDIxNS9nZGIvcHl0aG9uL3B5LXByZXR0eXByaW50LmMKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL3B5dGhvbi9weS1wcmV0dHlwcmludC5jCTIw MTMtMDEtMTggMjM6Mjc6MjIuMDkyNjAxMzU3ICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDEx OC9nZGIvcHl0aG9uL3B5LXByZXR0eXByaW50LmMJMjAxMy0wMS0xOCAyMzoyNzoyOC44NzA2MDcz NDAgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL3B5dGhvbi9weS1wcmV0 dHlwcmludC5jCTIwMTMtMDEtMDEgMDc6MzM6MDEuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcu NS41MC4yMDEzMDIxNS9nZGIvcHl0aG9uL3B5LXByZXR0eXByaW50LmMJMjAxMy0wMi0xNSAyMjo0 MDoxOC41Mzg2MjIwODggKzAxMDAKIEBAIC02ODksNyArNjg5LDcgQEAgcHJpbnRfY2hpbGRyZW4g KFB5T2JqZWN0ICpwcmludGVyLCBjb25zdAogIAogIGludApAQCAtMzA2MiwxMCArMzA2MiwxMCBA QCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvcHl0aG9uL3B5LXByZXR0eXByaW50LmMK ICAJCQkgIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIGludCByZWN1cnNlLAogIAkJCSAgY29uc3Qg c3RydWN0IHZhbHVlICp2YWwsCiAgCQkJICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9u cyAqb3B0aW9ucywKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9weXRob24vcHl0aG9u LmgKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9weXRob24vcHl0aG9uLmgKID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL3B5dGhvbi9weXRob24uaAky MDEzLTAxLTE4IDIzOjI3OjIyLjA5MjYwMTM1NyArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAx MTgvZ2RiL3B5dGhvbi9weXRob24uaAkyMDEzLTAxLTE4IDIzOjI3OjI4Ljg3MDYwNzM0MCArMDEw MAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvcHl0aG9uL3B5dGhvbi5oCTIwMTMt MDItMTUgMjI6MzE6MzcuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9n ZGIvcHl0aG9uL3B5dGhvbi5oCTIwMTMtMDItMTUgMjI6NDA6MTguNTM4NjIyMDg4ICswMTAwCiBA QCAtMzcsNyArMzcsNyBAQCB2b2lkIHNvdXJjZV9weXRob25fc2NyaXB0IChGSUxFICpmaWxlLCBj CiAgdm9pZCBydW5fcHl0aG9uX3NjcmlwdCAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KTsKICAKQEAg LTMwNzUsMTEgKzMwNzUsMTEgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3B5dGhv bi9weXRob24uaAogIAkJCSAgICAgIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIGludCByZWN1cnNl LAogIAkJCSAgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFsLAogIAkJCSAgICAgIGNvbnN0IHN0 cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zLAotSW5kZXg6IGdkYi03LjUuNTAuMjAx MzAxMTgvZ2RiL3JlZ2NhY2hlLmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9yZWdj YWNoZS5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi9yZWdj YWNoZS5jCTIwMTMtMDEtMTggMjM6Mjc6MjIuMDkzNjAxMzU5ICswMTAwCi0rKysgZ2RiLTcuNS41 MC4yMDEzMDExOC9nZGIvcmVnY2FjaGUuYwkyMDEzLTAxLTE4IDIzOjI3OjI4Ljg3MTYwNzM0MiAr MDEwMAotQEAgLTkwMSw3ICs5MDEsNyBAQCB0eXBlZGVmIHZvaWQgKHJlZ2NhY2hlX3dyaXRlX2Z0 eXBlKSAoc3RyCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9yZWdjYWNoZS5jCTIw MTMtMDEtMzEgMTk6Mzc6MzcuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIx NS9nZGIvcmVnY2FjaGUuYwkyMDEzLTAyLTE1IDIyOjQwOjE4LjUzODYyMjA4OCArMDEwMAorQEAg LTg5OSw3ICs4OTksNyBAQCB0eXBlZGVmIHZvaWQgKHJlZ2NhY2hlX3dyaXRlX2Z0eXBlKSAoc3Ry CiAgCiAgc3RhdGljIGVudW0gcmVnaXN0ZXJfc3RhdHVzCiAgcmVnY2FjaGVfeGZlcl9wYXJ0IChz dHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLCBpbnQgcmVnbnVtLApAQCAtMzA4OCw3ICszMDg4LDcg QEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3JlZ2NhY2hlLmMKICAJCSAgICBlbnVt IHJlZ2lzdGVyX3N0YXR1cyAoKnJlYWQpIChzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLAogIAkJ CQkJCSAgaW50IHJlZ251bSwKICAJCQkJCQkgIGdkYl9ieXRlICpidWYpLAotQEAgLTk0NSw3ICs5 NDUsNyBAQCByZWdjYWNoZV94ZmVyX3BhcnQgKHN0cnVjdCByZWdjYWNoZSAqcmVnCitAQCAtOTQz LDcgKzk0Myw3IEBAIHJlZ2NhY2hlX3hmZXJfcGFydCAoc3RydWN0IHJlZ2NhY2hlICpyZWcKICAK ICBlbnVtIHJlZ2lzdGVyX3N0YXR1cwogIHJlZ2NhY2hlX3Jhd19yZWFkX3BhcnQgKHN0cnVjdCBy ZWdjYWNoZSAqcmVnY2FjaGUsIGludCByZWdudW0sCkBAIC0zMDk3LDcgKzMwOTcsNyBAQCBJbmRl eDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvcmVnY2FjaGUuYwogIHsKICAgIHN0cnVjdCByZWdj YWNoZV9kZXNjciAqZGVzY3IgPSByZWdjYWNoZS0+ZGVzY3I7CiAgCi1AQCAtOTU2LDcgKzk1Niw3 IEBAIHJlZ2NhY2hlX3Jhd19yZWFkX3BhcnQgKHN0cnVjdCByZWdjYWNoZQorQEAgLTk1NCw3ICs5 NTQsNyBAQCByZWdjYWNoZV9yYXdfcmVhZF9wYXJ0IChzdHJ1Y3QgcmVnY2FjaGUKICAKICB2b2lk CiAgcmVnY2FjaGVfcmF3X3dyaXRlX3BhcnQgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIGlu dCByZWdudW0sCkBAIC0zMTA2LDcgKzMxMDYsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDEx OC9nZGIvcmVnY2FjaGUuYwogIHsKICAgIHN0cnVjdCByZWdjYWNoZV9kZXNjciAqZGVzY3IgPSBy ZWdjYWNoZS0+ZGVzY3I7CiAgCi1AQCAtOTY3LDcgKzk2Nyw3IEBAIHJlZ2NhY2hlX3Jhd193cml0 ZV9wYXJ0IChzdHJ1Y3QgcmVnY2FjaGUKK0BAIC05NjUsNyArOTY1LDcgQEAgcmVnY2FjaGVfcmF3 X3dyaXRlX3BhcnQgKHN0cnVjdCByZWdjYWNoZQogIAogIGVudW0gcmVnaXN0ZXJfc3RhdHVzCiAg cmVnY2FjaGVfY29va2VkX3JlYWRfcGFydCAoc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwgaW50 IHJlZ251bSwKQEAgLTMxMTUsNyArMzExNSw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4 L2dkYi9yZWdjYWNoZS5jCiAgewogICAgc3RydWN0IHJlZ2NhY2hlX2Rlc2NyICpkZXNjciA9IHJl Z2NhY2hlLT5kZXNjcjsKICAKLUBAIC05NzgsNyArOTc4LDcgQEAgcmVnY2FjaGVfY29va2VkX3Jl YWRfcGFydCAoc3RydWN0IHJlZ2NhYworQEAgLTk3Niw3ICs5NzYsNyBAQCByZWdjYWNoZV9jb29r ZWRfcmVhZF9wYXJ0IChzdHJ1Y3QgcmVnY2FjCiAgCiAgdm9pZAogIHJlZ2NhY2hlX2Nvb2tlZF93 cml0ZV9wYXJ0IChzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLCBpbnQgcmVnbnVtLApAQCAtMzEy NCwxMCArMzEyNCwxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvcmVnY2FjaGUu YwogIHsKICAgIHN0cnVjdCByZWdjYWNoZV9kZXNjciAqZGVzY3IgPSByZWdjYWNoZS0+ZGVzY3I7 CiAgCi1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvcmVnY2FjaGUuaAorSW5kZXg6IGdk Yi03LjUuNTAuMjAxMzAyMTUvZ2RiL3JlZ2NhY2hlLmgKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41 LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL3JlZ2NhY2hlLmgJMjAxMy0wMS0xOCAyMzoyNzoyMi4wOTM2 MDEzNTkgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9yZWdjYWNoZS5oCTIwMTMt MDEtMTggMjM6Mjc6MjguODcxNjA3MzQyICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5v cmlnL2dkYi9yZWdjYWNoZS5oCTIwMTMtMDEtMDEgMDc6MzI6NDkuMDAwMDAwMDAwICswMTAwCisr KysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvcmVnY2FjaGUuaAkyMDEzLTAyLTE1IDIyOjQwOjE4 LjUzODYyMjA4OCArMDEwMAogQEAgLTg5LDkgKzg5LDkgQEAgZXh0ZXJuIHZvaWQgcmVnY2FjaGVf cmF3X3dyaXRlX3Vuc2lnbmVkCiAgCiAgZXh0ZXJuIGVudW0gcmVnaXN0ZXJfc3RhdHVzCkBAIC0z MTU1LDExICszMTU1LDExIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9yZWdjYWNo ZS5oCiAgCiAgLyogU3BlY2lhbCByb3V0aW5lcyB0byByZWFkL3dyaXRlIHRoZSBQQy4gICovCiAg Ci1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvcmVtb3RlLmMKK0luZGV4OiBnZGItNy41 LjUwLjIwMTMwMjE1L2dkYi9yZW1vdGUuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAx MzAxMTgub3JpZy9nZGIvcmVtb3RlLmMJMjAxMy0wMS0xOCAyMzoyNzoyMi4wOTU2MDEzNjIgKzAx MDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9yZW1vdGUuYwkyMDEzLTAxLTE4IDIzOjI3 OjI4Ljg3MjYwNzM0MyArMDEwMAotQEAgLTgxNzQsNyArODE3NCw3IEBAIGludCByZW1vdGVfaHdf d2F0Y2hwb2ludF9sZW5ndGhfbGltaXQgPQorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9n ZGIvcmVtb3RlLmMJMjAxMy0wMi0xNSAyMjozNDo0NC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGIt Ny41LjUwLjIwMTMwMjE1L2dkYi9yZW1vdGUuYwkyMDEzLTAyLTE1IDIyOjQwOjE4LjU0MDYyMjA5 MiArMDEwMAorQEAgLTgyMzYsNyArODIzNiw3IEBAIGludCByZW1vdGVfaHdfd2F0Y2hwb2ludF9s ZW5ndGhfbGltaXQgPQogIGludCByZW1vdGVfaHdfYnJlYWtwb2ludF9saW1pdCA9IC0xOwogIAog IHN0YXRpYyBpbnQKQEAgLTMxNjgsMTAgKzMxNjgsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAx MzAxMTgvZ2RiL3JlbW90ZS5jCiAgewogICAgaWYgKHJlbW90ZV9od193YXRjaHBvaW50X2xlbmd0 aF9saW1pdCA9PSAwKQogICAgICByZXR1cm4gMDsKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4 L2dkYi9zMzkwLW5hdC5jCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvczM5MC1uYXQu YwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvczM5MC1uYXQu YwkyMDEzLTAxLTE4IDIzOjI3OjIyLjA5NjYwMTM2MyArMDEwMAotKysrIGdkYi03LjUuNTAuMjAx MzAxMTgvZ2RiL3MzOTAtbmF0LmMJMjAxMy0wMS0xOCAyMzoyNzoyOC44NzI2MDczNDMgKzAxMDAK Ky0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL3MzOTAtbmF0LmMJMjAxMy0wMS0wMSAw NzozMjo1MC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9zMzkw LW5hdC5jCTIwMTMtMDItMTUgMjI6NDA6MTguNTQwNjIyMDkyICswMTAwCiBAQCAtNTcxLDcgKzU3 MSw3IEBAIHMzOTBfY2FuX3VzZV9od19icmVha3BvaW50IChpbnQgdHlwZSwgaW4KICB9CiAgCkBA IC0zMTgxLDEwICszMTgxLDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9zMzkw LW5hdC5jCiAgewogICAgcmV0dXJuIDE7CiAgfQotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgv Z2RiL3NwdS1tdWx0aWFyY2guYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3NwdS1t dWx0aWFyY2guYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIv c3B1LW11bHRpYXJjaC5jCTIwMTMtMDEtMTggMjM6Mjc6MjIuMDk2NjAxMzYzICswMTAwCi0rKysg Z2RiLTcuNS41MC4yMDEzMDExOC9nZGIvc3B1LW11bHRpYXJjaC5jCTIwMTMtMDEtMTggMjM6Mjc6 MjguODczNjA3MzQ0ICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9zcHUt bXVsdGlhcmNoLmMJMjAxMy0wMS0wMSAwNzozMjo1MS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGIt Ny41LjUwLjIwMTMwMjE1L2dkYi9zcHUtbXVsdGlhcmNoLmMJMjAxMy0wMi0xNSAyMjo0MDoxOC41 NDA2MjIwOTIgKzAxMDAKIEBAIC0xMTgsNyArMTE4LDcgQEAgc3B1X3RocmVhZF9hcmNoaXRlY3R1 cmUgKHN0cnVjdCB0YXJnZXRfbwogIAogIC8qIE92ZXJyaWRlIHRoZSB0b19yZWdpb25fb2tfZm9y X2h3X3dhdGNocG9pbnQgcm91dGluZS4gICovCkBAIC0zMTk0LDEwICszMTk0LDEwIEBAIEluZGV4 OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9zcHUtbXVsdGlhcmNoLmMKICB7CiAgICBzdHJ1Y3Qg dGFyZ2V0X29wcyAqb3BzX2JlbmVhdGggPSBmaW5kX3RhcmdldF9iZW5lYXRoICgmc3B1X29wcyk7 CiAgICB3aGlsZSAob3BzX2JlbmVhdGggJiYgIW9wc19iZW5lYXRoLT50b19yZWdpb25fb2tfZm9y X2h3X3dhdGNocG9pbnQpCi1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvc3RhY2suYwor SW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3N0YWNrLmMKID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBn ZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL3N0YWNrLmMJMjAxMy0wMS0xOCAyMzoyNzoyMi4w OTY2MDEzNjMgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9zdGFjay5jCTIwMTMt MDEtMTggMjM6Mjc6MjguODczNjA3MzQ0ICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5v cmlnL2dkYi9zdGFjay5jCTIwMTMtMDItMTUgMjI6MzE6MzcuMDAwMDAwMDAwICswMTAwCisrKysg Z2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvc3RhY2suYwkyMDEzLTAyLTE1IDIyOjQwOjE4LjU0MDYy MjA5MiArMDEwMAogQEAgLTE3Myw3ICsxNzMsNyBAQCBwcmludF9zdGFja19mcmFtZSAoc3RydWN0 IGZyYW1lX2luZm8gKmZyCiAgICAgYXJndW1lbnQgKG5vdCBqdXN0IHRoZSBmaXJzdCBuYW1lbGVz cyBhcmd1bWVudCkuICAqLwogIApAQCAtMzIxNiw3ICszMjE2LDcgQEAgSW5kZXg6IGdkYi03LjUu NTAuMjAxMzAxMTgvZ2RiL3N0YWNrLmMKICAgIC8qIE51bWJlciBvZiBpbnRzIG9mIGFyZ3VtZW50 cyB0aGF0IHdlIGhhdmUgcHJpbnRlZCBzbyBmYXIuICAqLwogICAgaW50IGFyZ3NfcHJpbnRlZCA9 IDA7CiAgICBzdHJ1Y3QgY2xlYW51cCAqb2xkX2NoYWluOwotQEAgLTUzNyw4ICs1MzcsOCBAQCBw cmludF9mcmFtZV9hcmdzIChzdHJ1Y3Qgc3ltYm9sICpmdW5jLCBzCitAQCAtNTM1LDggKzUzNSw4 IEBAIHByaW50X2ZyYW1lX2FyZ3MgKHN0cnVjdCBzeW1ib2wgKmZ1bmMsIHMKICAJICAgIGNhc2Ug TE9DX0FSRzoKICAJICAgIGNhc2UgTE9DX1JFRl9BUkc6CiAgCSAgICAgIHsKQEAgLTMyMjcsNyAr MzIyNyw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9zdGFjay5jCiAgCiAgCQkv KiBDb21wdXRlIGFkZHJlc3Mgb2YgbmV4dCBhcmd1bWVudCBieSBhZGRpbmcgdGhlIHNpemUgb2YK ICAJCSAgIHRoaXMgYXJndW1lbnQgYW5kIHJvdW5kaW5nIHRvIGFuIGludCBib3VuZGFyeS4gICov Ci1AQCAtNjczLDcgKzY3Myw3IEBAIHByaW50X2ZyYW1lX2FyZ3MgKHN0cnVjdCBzeW1ib2wgKmZ1 bmMsIHMKK0BAIC02NzEsNyArNjcxLDcgQEAgcHJpbnRfZnJhbWVfYXJncyAoc3RydWN0IHN5bWJv bCAqZnVuYywgcwogICAgICAgZW5vdWdoIGFib3V0IHRoZSBzdGFjayB0byBmaW5kIHRoZW0uICAq LwogICAgaWYgKG51bSAhPSAtMSkKICAgICAgewpAQCAtMzIzNiwxMSArMzIzNiwxMSBAQCBJbmRl eDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvc3RhY2suYwogIAogICAgICAgIGlmIChoaWdoZXN0 X29mZnNldCA9PSAtMSkKICAJc3RhcnQgPSBnZGJhcmNoX2ZyYW1lX2FyZ3Nfc2tpcCAoZ2V0X2Zy YW1lX2FyY2ggKGZyYW1lKSk7Ci1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvc3ltbWlz Yy5jCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvc3ltbWlzYy5jCiA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi9zeW1taXNjLmMJMjAxMy0wMS0xOCAy MzoyNzoyMi4wOTc2MDEzNjUgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9zeW1t aXNjLmMJMjAxMy0wMS0xOCAyMzoyNzoyOC44NzM2MDczNDQgKzAxMDAKLUBAIC01MjQsMTEgKzUy NCwxMSBAQCBwcmludF9zeW1ib2wgKHZvaWQgKmFyZ3MpCistLS0gZ2RiLTcuNS41MC4yMDEzMDIx NS5vcmlnL2dkYi9zeW1taXNjLmMJMjAxMy0wMi0xNSAyMjozNDo0NC4wMDAwMDAwMDAgKzAxMDAK KysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9zeW1taXNjLmMJMjAxMy0wMi0xNSAyMjo0MDox OC41NDE2MjIwOTQgKzAxMDAKK0BAIC01MjcsMTEgKzUyNywxMSBAQCBwcmludF9zeW1ib2wgKHZv aWQgKmFyZ3MpCiAgCiAgCWNhc2UgTE9DX0NPTlNUX0JZVEVTOgogIAkgIHsKQEAgLTMyNTUsMTAg KzMyNTUsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3N5bW1pc2MuYwogIAkg ICAgZm9yIChpID0gMDsgaSA8IFRZUEVfTEVOR1RIICh0eXBlKTsgaSsrKQogIAkgICAgICBmcHJp bnRmX2ZpbHRlcmVkIChvdXRmaWxlLCAiICUwMngiLAogIAkJCQkodW5zaWduZWQpIFNZTUJPTF9W QUxVRV9CWVRFUyAoc3ltYm9sKVtpXSk7Ci1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIv dGFyZ2V0LmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi90YXJnZXQuYwogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvdGFyZ2V0LmMJMjAxMy0wMS0x OCAyMzoyNzoyMi4wOTg2MDEzNjcgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi90 YXJnZXQuYwkyMDEzLTAxLTE4IDIzOjMyOjM5LjE1OTk0MzY3NCArMDEwMAorLS0tIGdkYi03LjUu NTAuMjAxMzAyMTUub3JpZy9nZGIvdGFyZ2V0LmMJMjAxMy0wMS0zMSAxNzozMjo0NC4wMDAwMDAw MDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi90YXJnZXQuYwkyMDEzLTAyLTE1 IDIyOjQwOjE4LjU0MTYyMjA5NCArMDEwMAogQEAgLTUxLDcgKzUxLDcgQEAgc3RhdGljIHZvaWQg ZGVmYXVsdF90ZXJtaW5hbF9pbmZvIChjaGFyCiAgc3RhdGljIGludCBkZWZhdWx0X3dhdGNocG9p bnRfYWRkcl93aXRoaW5fcmFuZ2UgKHN0cnVjdCB0YXJnZXRfb3BzICosCiAgCQkJCQkJIENPUkVf QUREUiwgQ09SRV9BRERSLCBpbnQpOwpAQCAtMzI3Nyw3ICszMjc3LDcgQEAgSW5kZXg6IGdkYi03 LjUuNTAuMjAxMzAxMTgvZ2RiL3RhcmdldC5jCiAgCiAgc3RhdGljIGludCBkZWJ1Z190b19jYW5f YWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24gKENPUkVfQUREUiwgaW50LCBpbnQsCiAgCQkJCQkJ ICAgIHN0cnVjdCBleHByZXNzaW9uICopOwotQEAgLTM1NTIsNyArMzU1Miw3IEBAIHRhcmdldF9m aWxlaW9fcmVhZF9zdHJhbGxvYyAoY29uc3QgY2hhcgorQEAgLTM1NTAsNyArMzU1MCw3IEBAIHRh cmdldF9maWxlaW9fcmVhZF9zdHJhbGxvYyAoY29uc3QgY2hhcgogIAogIAogIHN0YXRpYyBpbnQK QEAgLTMyODYsNyArMzI4Niw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi90YXJn ZXQuYwogIHsKICAgIHJldHVybiAobGVuIDw9IGdkYmFyY2hfcHRyX2JpdCAodGFyZ2V0X2dkYmFy Y2ggKCkpIC8gVEFSR0VUX0NIQVJfQklUKTsKICB9Ci1AQCAtNDI1Myw3ICs0MjUzLDcgQEAgZGVi dWdfdG9fY2FuX3VzZV9od19icmVha3BvaW50IChpbnQgdHlwZQorQEAgLTQyNTEsNyArNDI1MSw3 IEBAIGRlYnVnX3RvX2Nhbl91c2VfaHdfYnJlYWtwb2ludCAoaW50IHR5cGUKICB9CiAgCiAgc3Rh dGljIGludApAQCAtMzI5NSwxMCArMzI5NSwxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDEx OC9nZGIvdGFyZ2V0LmMKICB7CiAgICBDT1JFX0FERFIgcmV0dmFsOwogIAotSW5kZXg6IGdkYi03 LjUuNTAuMjAxMzAxMTgvZ2RiL3RhcmdldC5oCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9n ZGIvdGFyZ2V0LmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2Ri L3RhcmdldC5oCTIwMTMtMDEtMTggMjM6Mjc6MjIuMDk5NjAxMzY5ICswMTAwCi0rKysgZ2RiLTcu NS41MC4yMDEzMDExOC9nZGIvdGFyZ2V0LmgJMjAxMy0wMS0xOCAyMzoyNzoyOC44NzQ2MDczNDYg KzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL3RhcmdldC5oCTIwMTMtMDIt MTUgMjI6Mzc6MzAuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIv dGFyZ2V0LmgJMjAxMy0wMi0xNSAyMjo0MDoxOC41NDI2MjIwOTYgKzAxMDAKIEBAIC00ODIsNyAr NDgyLDcgQEAgc3RydWN0IHRhcmdldF9vcHMKICAKICAgICAgLyogRG9jdW1lbnRhdGlvbiBvZiB0 aGlzIHJvdXRpbmUgaXMgcHJvdmlkZWQgd2l0aCB0aGUgY29ycmVzcG9uZGluZwpAQCAtMzMwOCwx MSArMzMwOCwxMSBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdGFyZ2V0LmgKICAK ICAgICAgaW50ICgqdG9fY2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uKSAoQ09SRV9BRERS LCBpbnQsIGludCwKICAJCQkJCSAgICAgIHN0cnVjdCBleHByZXNzaW9uICopOwotSW5kZXg6IGdk Yi03LjUuNTAuMjAxMzAxMTgvZ2RiL3RyYWNlcG9pbnQuYworSW5kZXg6IGdkYi03LjUuNTAuMjAx MzAyMTUvZ2RiL3RyYWNlcG9pbnQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAx MTgub3JpZy9nZGIvdHJhY2Vwb2ludC5jCTIwMTMtMDEtMTggMjM6Mjc6MjIuMTAwNjAxMzcxICsw MTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdHJhY2Vwb2ludC5jCTIwMTMtMDEtMTgg MjM6Mjc6MjguODc1NjA3MzQ5ICswMTAwCi1AQCAtOTM0LDEzICs5MzQsMTMgQEAgYWRkX3JlZ2lz dGVyIChzdHJ1Y3QgY29sbGVjdGlvbl9saXN0ICpjbworLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUu b3JpZy9nZGIvdHJhY2Vwb2ludC5jCTIwMTMtMDItMTQgMTE6MTk6MzkuMDAwMDAwMDAwICswMTAw CisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvdHJhY2Vwb2ludC5jCTIwMTMtMDItMTUgMjI6 NDA6MTguNTQzNjIyMDk5ICswMTAwCitAQCAtOTU1LDEzICs5NTUsMTMgQEAgYWRkX3JlZ2lzdGVy IChzdHJ1Y3QgY29sbGVjdGlvbl9saXN0ICpjbwogIHN0YXRpYyB2b2lkCiAgYWRkX21lbXJhbmdl IChzdHJ1Y3QgY29sbGVjdGlvbl9saXN0ICptZW1yYW5nZXMsIAogIAkgICAgICBpbnQgdHlwZSwg YmZkX3NpZ25lZF92bWEgYmFzZSwKQEAgLTMzMjgsNyArMzMyOCw3IEBAIEluZGV4OiBnZGItNy41 LjUwLjIwMTMwMTE4L2dkYi90cmFjZXBvaW50LmMKICAgICAgfQogIAogICAgLyogdHlwZTogbWVt cmFuZ2VfYWJzb2x1dGUgPT0gbWVtb3J5LCBvdGhlciBuID09IGJhc2VyZWcgKi8KLUBAIC05Njks NyArOTY5LDcgQEAgY29sbGVjdF9zeW1ib2wgKHN0cnVjdCBjb2xsZWN0aW9uX2xpc3QgKgorQEAg LTk5MCw3ICs5OTAsNyBAQCBjb2xsZWN0X3N5bWJvbCAoc3RydWN0IGNvbGxlY3Rpb25fbGlzdCAq CiAgCQlsb25nIGZyYW1lX3JlZ25vLCBsb25nIGZyYW1lX29mZnNldCwKICAJCUNPUkVfQUREUiBz Y29wZSkKICB7CkBAIC0zMzM3LDcgKzMzMzcsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDEx OC9nZGIvdHJhY2Vwb2ludC5jCiAgICB1bnNpZ25lZCBpbnQgcmVnOwogICAgYmZkX3NpZ25lZF92 bWEgb2Zmc2V0OwogICAgaW50IHRyZWF0X2FzX2V4cHIgPSAwOwotQEAgLTk5Myw4ICs5OTMsOCBA QCBjb2xsZWN0X3N5bWJvbCAoc3RydWN0IGNvbGxlY3Rpb25fbGlzdCAqCitAQCAtMTAxNCw4ICsx MDE0LDggQEAgY29sbGVjdF9zeW1ib2wgKHN0cnVjdCBjb2xsZWN0aW9uX2xpc3QgKgogIAkgIGNo YXIgdG1wWzQwXTsKICAKICAJICBzcHJpbnRmX3ZtYSAodG1wLCBvZmZzZXQpOwpAQCAtMzM0OCw3 ICszMzQ4LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3RyYWNlcG9pbnQuYwog IAkJCSAgIHRtcCAvKiBhZGRyZXNzICovKTsKICAJfQogICAgICAgIC8qIEEgc3RydWN0IG1heSBi ZSBhIEMrKyBjbGFzcyB3aXRoIHN0YXRpYyBmaWVsZHMsIGdvIHRvIGdlbmVyYWwKLUBAIC0xMDI2 LDggKzEwMjYsOCBAQCBjb2xsZWN0X3N5bWJvbCAoc3RydWN0IGNvbGxlY3Rpb25fbGlzdCAqCitA QCAtMTA0Nyw4ICsxMDQ3LDggQEAgY29sbGVjdF9zeW1ib2wgKHN0cnVjdCBjb2xsZWN0aW9uX2xp c3QgKgogICAgICAgIG9mZnNldCA9IGZyYW1lX29mZnNldCArIFNZTUJPTF9WQUxVRSAoc3ltKTsK ICAgICAgICBpZiAoaW5mb192ZXJib3NlKQogIAl7CkBAIC0zMzU5LDcgKzMzNTksNyBAQCBJbmRl eDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdHJhY2Vwb2ludC5jCiAgCSAgcHJpbnRmX3ZtYSAo b2Zmc2V0KTsKICAJICBwcmludGZfZmlsdGVyZWQgKCIgZnJvbSBmcmFtZSBwdHIgcmVnICVkXG4i LCByZWcpOwogIAl9Ci1AQCAtMTAzOCw4ICsxMDM4LDggQEAgY29sbGVjdF9zeW1ib2wgKHN0cnVj dCBjb2xsZWN0aW9uX2xpc3QgKgorQEAgLTEwNTksOCArMTA1OSw4IEBAIGNvbGxlY3Rfc3ltYm9s IChzdHJ1Y3QgY29sbGVjdGlvbl9saXN0ICoKICAgICAgICBvZmZzZXQgPSAwOwogICAgICAgIGlm IChpbmZvX3ZlcmJvc2UpCiAgCXsKQEAgLTMzNzAsNyArMzM3MCw3IEBAIEluZGV4OiBnZGItNy41 LjUwLjIwMTMwMTE4L2dkYi90cmFjZXBvaW50LmMKICAJICBwcmludGZfdm1hIChvZmZzZXQpOwog IAkgIHByaW50Zl9maWx0ZXJlZCAoIiBmcm9tIHJlZyAlZFxuIiwgcmVnKTsKICAJfQotQEAgLTEw NTAsOCArMTA1MCw4IEBAIGNvbGxlY3Rfc3ltYm9sIChzdHJ1Y3QgY29sbGVjdGlvbl9saXN0ICoK K0BAIC0xMDcxLDggKzEwNzEsOCBAQCBjb2xsZWN0X3N5bWJvbCAoc3RydWN0IGNvbGxlY3Rpb25f bGlzdCAqCiAgICAgICAgb2Zmc2V0ID0gZnJhbWVfb2Zmc2V0ICsgU1lNQk9MX1ZBTFVFIChzeW0p OwogICAgICAgIGlmIChpbmZvX3ZlcmJvc2UpCiAgCXsKQEAgLTMzODEsNyArMzM4MSw3IEBAIElu ZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi90cmFjZXBvaW50LmMKICAJICBwcmludGZfdm1h IChvZmZzZXQpOwogIAkgIHByaW50Zl9maWx0ZXJlZCAoIiBmcm9tIGZyYW1lIHB0ciByZWcgJWRc biIsIHJlZyk7CiAgCX0KLUBAIC0yNjIwLDcgKzI2MjAsOCBAQCBzY29wZV9pbmZvIChjaGFyICph cmdzLCBpbnQgZnJvbV90dHkpCitAQCAtMjY0Miw3ICsyNjQyLDggQEAgc2NvcGVfaW5mbyAoY2hh ciAqYXJncywgaW50IGZyb21fdHR5KQogICAgY29uc3QgY2hhciAqc3ltbmFtZTsKICAgIGNoYXIg KnNhdmVfYXJncyA9IGFyZ3M7CiAgICBzdHJ1Y3QgYmxvY2tfaXRlcmF0b3IgaXRlcjsKQEAgLTMz OTEsNyArMzM5MSw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi90cmFjZXBvaW50 LmMKICAgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoOwogICAgaW50IHJlZ25vOwogIAotQEAgLTI3 NTAsOCArMjc1MSwxMSBAQCBzY29wZV9pbmZvIChjaGFyICphcmdzLCBpbnQgZnJvbV90dHkpCitA QCAtMjc3Miw4ICsyNzczLDExIEBAIHNjb3BlX2luZm8gKGNoYXIgKmFyZ3MsIGludCBmcm9tX3R0 eSkKICAJICAgICAgYnJlYWs7CiAgCSAgICB9CiAgCSAgaWYgKFNZTUJPTF9UWVBFIChzeW0pKQpA QCAtMzQwNSwxMCArMzQwNSwxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdHJh Y2Vwb2ludC5jCiAgCX0KICAgICAgICBpZiAoQkxPQ0tfRlVOQ1RJT04gKGJsb2NrKSkKICAJYnJl YWs7Ci1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdHlwZXByaW50LmMKK0luZGV4OiBn ZGItNy41LjUwLjIwMTMwMjE1L2dkYi90eXBlcHJpbnQuYwogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03 LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvdHlwZXByaW50LmMJMjAxMy0wMS0xOCAyMzoyNzoyOC44 NzY2MDczNTEgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi90eXBlcHJpbnQuYwky MDEzLTAxLTE4IDIzOjMzOjAyLjcwMjk3MzYxMCArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAy MTUub3JpZy9nZGIvdHlwZXByaW50LmMJMjAxMy0wMi0xNSAyMjozMTozNy4wMDAwMDAwMDAgKzAx MDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi90eXBlcHJpbnQuYwkyMDEzLTAyLTE1IDIy OjQwOjE4LjU0MzYyMjA5OSArMDEwMAogQEAgLTQwOSw3ICs0MDksNyBAQCB3aGF0aXNfZXhwIChj aGFyICpleHAsIGludCBzaG93KQogICAgc3RydWN0IHR5cGUgKnJlYWxfdHlwZSA9IE5VTEw7CiAg ICBzdHJ1Y3QgdHlwZSAqdHlwZTsKQEAgLTM0MTgsMTAgKzM0MTgsMTAgQEAgSW5kZXg6IGdkYi03 LjUuNTAuMjAxMzAxMTgvZ2RiL3R5cGVwcmludC5jCiAgICBpbnQgdXNpbmdfZW5jID0gMDsKICAg IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zIG9wdHM7CiAgICBzdHJ1Y3QgdHlwZV9wcmludF9v cHRpb25zIGZsYWdzID0gZGVmYXVsdF9wdHlwZV9mbGFnczsKLUluZGV4OiBnZGItNy41LjUwLjIw MTMwMTE4L2dkYi92YWxhcml0aC5jCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvdmFs YXJpdGguYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvdmFs YXJpdGguYwkyMDEzLTAxLTE4IDIzOjI3OjIyLjEwMTYwMTM3MyArMDEwMAotKysrIGdkYi03LjUu NTAuMjAxMzAxMTgvZ2RiL3ZhbGFyaXRoLmMJMjAxMy0wMS0xOCAyMzoyNzoyOC44NzY2MDczNTEg KzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL3ZhbGFyaXRoLmMJMjAxMy0w Mi0xNSAyMjozMTozNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dk Yi92YWxhcml0aC5jCTIwMTMtMDItMTUgMjI6NDA6MTguNTQzNjIyMDk5ICswMTAwCiBAQCAtMTkw LDE1ICsxOTAsMTUgQEAgdmFsdWVfc3Vic2NyaXB0IChzdHJ1Y3QgdmFsdWUgKmFycmF5LCBMTwog ICAgIHRvIGRvdWJsZXMsIGJ1dCBubyBsb25nZXIgZG9lcy4gICovCiAgCkBAIC0zNDQyLDcgKzM0 NDIsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdmFsYXJpdGguYwogICAgc3Ry dWN0IHZhbHVlICp2OwogIAogICAgaWYgKGluZGV4IDwgbG93ZXJib3VuZCB8fCAoIVRZUEVfQVJS QVlfVVBQRVJfQk9VTkRfSVNfVU5ERUZJTkVEIChhcnJheV90eXBlKQotQEAgLTYzNiw3ICs2MzYs NyBAQCB2YWx1ZV9jb25jYXQgKHN0cnVjdCB2YWx1ZSAqYXJnMSwgc3RydWN0CitAQCAtNjM1LDcg KzYzNSw3IEBAIHZhbHVlX2NvbmNhdCAoc3RydWN0IHZhbHVlICphcmcxLCBzdHJ1Y3QKICAgIHN0 cnVjdCB2YWx1ZSAqaW52YWwxOwogICAgc3RydWN0IHZhbHVlICppbnZhbDI7CiAgICBzdHJ1Y3Qg dmFsdWUgKm91dHZhbCA9IE5VTEw7CkBAIC0zNDUxLDcgKzM0NTEsNyBAQCBJbmRleDogZ2RiLTcu NS41MC4yMDEzMDExOC9nZGIvdmFsYXJpdGguYwogICAgaW50IGNvdW50LCBpZHg7CiAgICBjaGFy ICpwdHI7CiAgICBjaGFyIGluY2hhcjsKLUBAIC0xNDQ0LDcgKzE0NDQsNyBAQCB2YWx1ZV9iaW5v cCAoc3RydWN0IHZhbHVlICphcmcxLCBzdHJ1Y3QKK0BAIC0xNDg4LDcgKzE0ODgsNyBAQCB2YWx1 ZV9iaW5vcCAoc3RydWN0IHZhbHVlICphcmcxLCBzdHJ1Y3QKICBpbnQKICB2YWx1ZV9sb2dpY2Fs X25vdCAoc3RydWN0IHZhbHVlICphcmcxKQogIHsKQEAgLTM0NjAsNyArMzQ2MCw3IEBAIEluZGV4 OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi92YWxhcml0aC5jCiAgICBjb25zdCBnZGJfYnl0ZSAq cDsKICAgIHN0cnVjdCB0eXBlICp0eXBlMTsKICAKLUBAIC0xNDc1LDExICsxNDc1LDExIEBAIHZh bHVlX2xvZ2ljYWxfbm90IChzdHJ1Y3QgdmFsdWUgKmFyZzEpCitAQCAtMTUxOSwxMSArMTUxOSwx MSBAQCB2YWx1ZV9sb2dpY2FsX25vdCAoc3RydWN0IHZhbHVlICphcmcxKQogIHN0YXRpYyBpbnQK ICB2YWx1ZV9zdHJjbXAgKHN0cnVjdCB2YWx1ZSAqYXJnMSwgc3RydWN0IHZhbHVlICphcmcyKQog IHsKQEAgLTM0NzUsMTAgKzM0NzUsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2Ri L3ZhbGFyaXRoLmMKICAKICAgIGZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykKICAgICAgewotSW5k ZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3ZhbG9wcy5jCitJbmRleDogZ2RiLTcuNS41MC4y MDEzMDIxNS9nZGIvdmFsb3BzLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4 Lm9yaWcvZ2RiL3ZhbG9wcy5jCTIwMTMtMDEtMTggMjM6Mjc6MjIuMTA0NjAxMzc5ICswMTAwCi0r KysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdmFsb3BzLmMJMjAxMy0wMS0xOCAyMzoyNzoyOC44 Nzc2MDczNTIgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL3ZhbG9wcy5j CTIwMTMtMDItMTUgMjI6Mzc6MDQuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEz MDIxNS9nZGIvdmFsb3BzLmMJMjAxMy0wMi0xNSAyMjo0MTozNC43NTE3MTU4NjcgKzAxMDAKIEBA IC01NCwxMSArNTQsMTEgQEAgc3RhdGljIGludCB0eXBlY21wIChpbnQgc3RhdGljcCwgaW50IHZh cgogIAkJICAgIHN0cnVjdCBmaWVsZCB0MVtdLCBzdHJ1Y3QgdmFsdWUgKnQyW10pOwogIApAQCAt MzU0Nyw3ICszNTQ3LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3ZhbG9wcy5j CiAgCSAgTE9OR0VTVCBsb3dfYm91bmQsIGhpZ2hfYm91bmQsIG5ld19sZW5ndGg7CiAgCiAgCSAg aWYgKGdldF9kaXNjcmV0ZV9ib3VuZHMgKHJhbmdlX3R5cGUsICZsb3dfYm91bmQsICZoaWdoX2Jv dW5kKSA8IDApCi1AQCAtNjU2LDcgKzY1Nyw3IEBAIHZhbHVlX3JlaW50ZXJwcmV0X2Nhc3QgKHN0 cnVjdCB0eXBlICp0eXAKK0BAIC02NDAsNyArNjQxLDcgQEAgdmFsdWVfcmVpbnRlcnByZXRfY2Fz dCAoc3RydWN0IHR5cGUgKnR5cAogIHN0YXRpYyBpbnQKICBkeW5hbWljX2Nhc3RfY2hlY2tfMSAo c3RydWN0IHR5cGUgKmRlc2lyZWRfdHlwZSwKICAJCSAgICAgIGNvbnN0IGdkYl9ieXRlICp2YWxh ZGRyLApAQCAtMzU1Niw3ICszNTU2LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2Ri L3ZhbG9wcy5jCiAgCQkgICAgICBDT1JFX0FERFIgYWRkcmVzcywKICAJCSAgICAgIHN0cnVjdCB2 YWx1ZSAqdmFsLAogIAkJICAgICAgc3RydWN0IHR5cGUgKnNlYXJjaF90eXBlLAotQEAgLTY2OCw4 ICs2NjksOCBAQCBkeW5hbWljX2Nhc3RfY2hlY2tfMSAoc3RydWN0IHR5cGUgKmRlc2lyCitAQCAt NjUyLDggKzY1Myw4IEBAIGR5bmFtaWNfY2FzdF9jaGVja18xIChzdHJ1Y3QgdHlwZSAqZGVzaXIK ICAKICAgIGZvciAoaSA9IDA7IGkgPCBUWVBFX05fQkFTRUNMQVNTRVMgKHNlYXJjaF90eXBlKSAm JiByZXN1bHRfY291bnQgPCAyOyArK2kpCiAgICAgIHsKQEAgLTM1NjcsNyArMzU2Nyw3IEBAIElu ZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi92YWxvcHMuYwogIAogICAgICAgIGlmIChjbGFz c190eXBlc19zYW1lX3AgKGRlc2lyZWRfdHlwZSwgVFlQRV9CQVNFQ0xBU1MgKHNlYXJjaF90eXBl LCBpKSkpCiAgCXsKLUBAIC03MDMsNyArNzA0LDcgQEAgZHluYW1pY19jYXN0X2NoZWNrXzEgKHN0 cnVjdCB0eXBlICpkZXNpcgorQEAgLTY4Nyw3ICs2ODgsNyBAQCBkeW5hbWljX2Nhc3RfY2hlY2tf MSAoc3RydWN0IHR5cGUgKmRlc2lyCiAgc3RhdGljIGludAogIGR5bmFtaWNfY2FzdF9jaGVja18y IChzdHJ1Y3QgdHlwZSAqZGVzaXJlZF90eXBlLAogIAkJICAgICAgY29uc3QgZ2RiX2J5dGUgKnZh bGFkZHIsCkBAIC0zNTc2LDcgKzM1NzYsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9n ZGIvdmFsb3BzLmMKICAJCSAgICAgIENPUkVfQUREUiBhZGRyZXNzLAogIAkJICAgICAgc3RydWN0 IHZhbHVlICp2YWwsCiAgCQkgICAgICBzdHJ1Y3QgdHlwZSAqc2VhcmNoX3R5cGUsCi1AQCAtNzEz LDcgKzcxNCw3IEBAIGR5bmFtaWNfY2FzdF9jaGVja18yIChzdHJ1Y3QgdHlwZSAqZGVzaXIKK0BA IC02OTcsNyArNjk4LDcgQEAgZHluYW1pY19jYXN0X2NoZWNrXzIgKHN0cnVjdCB0eXBlICpkZXNp cgogIAogICAgZm9yIChpID0gMDsgaSA8IFRZUEVfTl9CQVNFQ0xBU1NFUyAoc2VhcmNoX3R5cGUp ICYmIHJlc3VsdF9jb3VudCA8IDI7ICsraSkKICAgICAgewpAQCAtMzU4NSw3ICszNTg1LDcgQEAg SW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3ZhbG9wcy5jCiAgCiAgICAgICAgaWYgKCEg QkFTRVRZUEVfVklBX1BVQkxJQyAoc2VhcmNoX3R5cGUsIGkpKQogIAljb250aW51ZTsKLUBAIC03 NDQsNyArNzQ1LDggQEAgZHluYW1pY19jYXN0X2NoZWNrXzIgKHN0cnVjdCB0eXBlICpkZXNpcgor QEAgLTcyOCw3ICs3MjksOCBAQCBkeW5hbWljX2Nhc3RfY2hlY2tfMiAoc3RydWN0IHR5cGUgKmRl c2lyCiAgc3RydWN0IHZhbHVlICoKICB2YWx1ZV9keW5hbWljX2Nhc3QgKHN0cnVjdCB0eXBlICp0 eXBlLCBzdHJ1Y3QgdmFsdWUgKmFyZykKICB7CkBAIC0zNTk1LDcgKzM1OTUsNyBAQCBJbmRleDog Z2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdmFsb3BzLmMKICAgIHN0cnVjdCB0eXBlICpyZXNvbHZl ZF90eXBlID0gY2hlY2tfdHlwZWRlZiAodHlwZSk7CiAgICBzdHJ1Y3QgdHlwZSAqYXJnX3R5cGUg PSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlIChhcmcpKTsKICAgIHN0cnVjdCB0eXBlICpjbGFz c190eXBlLCAqcnR0aV90eXBlOwotQEAgLTExOTcsNyArMTE5OSw3IEBAIHZhbHVlX2ZldGNoX2xh enkgKHN0cnVjdCB2YWx1ZSAqdmFsKQorQEAgLTExODEsNyArMTE4Myw3IEBAIHZhbHVlX2ZldGNo X2xhenkgKHN0cnVjdCB2YWx1ZSAqdmFsKQogIH0KICAKICB2b2lkCkBAIC0zNjk0LDE5ICszNjk0 LDE4IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi92YWxvcHMuYwogIAkJICAgICAg aW50ICpzdGF0aWNfbWVtZnVuY3AsIHN0cnVjdCB0eXBlICp0eXBlKQogIHsKICAgIGludCBpOwot QEAgLTIzNDcsOSArMjM0OSw5IEBAIHNlYXJjaF9zdHJ1Y3RfbWV0aG9kIChjb25zdCBjaGFyICpu YW1lLAorQEAgLTIzNDcsOCArMjM0OSw4IEBAIHNlYXJjaF9zdHJ1Y3RfbWV0aG9kIChjb25zdCBj aGFyICpuYW1lLAogIAogICAgZm9yIChpID0gVFlQRV9OX0JBU0VDTEFTU0VTICh0eXBlKSAtIDE7 IGkgPj0gMDsgaS0tKQogICAgICB7CiAtICAgICAgaW50IGJhc2Vfb2Zmc2V0OwotKyAgICAgIExP TkdFU1QgYmFzZV9vZmZzZXQ7Ci0gICAgICAgaW50IHNraXAgPSAwOwogLSAgICAgIGludCB0aGlz X29mZnNldDsKKysgICAgICBMT05HRVNUIGJhc2Vfb2Zmc2V0OwogKyAgICAgIExPTkdFU1QgdGhp c19vZmZzZXQ7CiAgCiAgICAgICAgaWYgKEJBU0VUWVBFX1ZJQV9WSVJUVUFMICh0eXBlLCBpKSkK ICAJewotQEAgLTI1MzEsOCArMjUzMyw4IEBAIHZhbHVlX3N0cnVjdF9lbHQgKHN0cnVjdCB2YWx1 ZSAqKmFyZ3AsIHMKK0BAIC0yNTMwLDggKzI1MzIsOCBAQCB2YWx1ZV9zdHJ1Y3RfZWx0IChzdHJ1 Y3QgdmFsdWUgKiphcmdwLCBzCiAgCiAgc3RhdGljIHN0cnVjdCBmbl9maWVsZCAqCiAgZmluZF9t ZXRob2RfbGlzdCAoc3RydWN0IHZhbHVlICoqYXJncCwgY29uc3QgY2hhciAqbWV0aG9kLApAQCAt MzcxNyw3ICszNzE2LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3ZhbG9wcy5j CiAgewogICAgaW50IGk7CiAgICBzdHJ1Y3QgZm5fZmllbGQgKmY7Ci1AQCAtMjU2NSw3ICsyNTY3 LDcgQEAgZmluZF9tZXRob2RfbGlzdCAoc3RydWN0IHZhbHVlICoqYXJncCwgYworQEAgLTI1NjQs NyArMjU2Niw3IEBAIGZpbmRfbWV0aG9kX2xpc3QgKHN0cnVjdCB2YWx1ZSAqKmFyZ3AsIGMKICAg IC8qIE5vdCBmb3VuZCBpbiBvYmplY3QsIGNoZWNrIGluIGJhc2Ugc3Vib2JqZWN0cy4gICovCiAg ICBmb3IgKGkgPSBUWVBFX05fQkFTRUNMQVNTRVMgKHR5cGUpIC0gMTsgaSA+PSAwOyBpLS0pCiAg ICAgIHsKQEAgLTM3MjYsNyArMzcyNSw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dk Yi92YWxvcHMuYwogIAogICAgICAgIGlmIChCQVNFVFlQRV9WSUFfVklSVFVBTCAodHlwZSwgaSkp CiAgCXsKLUBAIC0yNjAxLDcgKzI2MDMsNyBAQCBmaW5kX21ldGhvZF9saXN0IChzdHJ1Y3QgdmFs dWUgKiphcmdwLCBjCitAQCAtMjYwMCw3ICsyNjAyLDcgQEAgZmluZF9tZXRob2RfbGlzdCAoc3Ry dWN0IHZhbHVlICoqYXJncCwgYwogIHN0YXRpYyBzdHJ1Y3QgZm5fZmllbGQgKgogIHZhbHVlX2Zp bmRfb2xvYWRfbWV0aG9kX2xpc3QgKHN0cnVjdCB2YWx1ZSAqKmFyZ3AsIGNvbnN0IGNoYXIgKm1l dGhvZCwKICAJCQkgICAgICBpbnQgb2Zmc2V0LCBpbnQgKm51bV9mbnMsIApAQCAtMzczNSw3ICsz NzM0LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3ZhbG9wcy5jCiAgewogICAg c3RydWN0IHR5cGUgKnQ7CiAgCi1AQCAtMjY5Myw3ICsyNjk1LDcgQEAgZmluZF9vdmVybG9hZF9t YXRjaCAoc3RydWN0IHZhbHVlICoqYXJncworQEAgLTI2OTAsNyArMjY5Miw3IEBAIGZpbmRfb3Zl cmxvYWRfbWF0Y2ggKHN0cnVjdCB2YWx1ZSAqKmFyZ3MKICAgIC8qIE51bWJlciBvZiBvdmVybG9h ZGVkIGluc3RhbmNlcyBiZWluZyBjb25zaWRlcmVkLiAgKi8KICAgIGludCBudW1fZm5zID0gMDsK ICAgIHN0cnVjdCB0eXBlICpiYXNldHlwZSA9IE5VTEw7CkBAIC0zNzQ0LDcgKzM3NDMsNyBAQCBJ bmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdmFsb3BzLmMKICAKICAgIHN0cnVjdCBjbGVh bnVwICphbGxfY2xlYW51cHMgPSBtYWtlX2NsZWFudXAgKG51bGxfY2xlYW51cCwgTlVMTCk7CiAg Ci1AQCAtMzM2Myw3ICszMzY1LDcgQEAgY29tcGFyZV9wYXJhbWV0ZXJzIChzdHJ1Y3QgdHlwZSAq dDEsIHN0cgorQEAgLTMzNjAsNyArMzM2Miw3IEBAIGNvbXBhcmVfcGFyYW1ldGVycyAoc3RydWN0 IHR5cGUgKnQxLCBzdHIKICAgICB0aGUgZm9ybSAiRE9NQUlOOjpOQU1FIi4gICovCiAgCiAgc3Rh dGljIHN0cnVjdCB2YWx1ZSAqCkBAIC0zNzUzLDcgKzM3NTIsNyBAQCBJbmRleDogZ2RiLTcuNS41 MC4yMDEzMDExOC9nZGIvdmFsb3BzLmMKICAJCQkJc3RydWN0IHR5cGUgKmN1cnR5cGUsIGNoYXIg Km5hbWUsCiAgCQkJCXN0cnVjdCB0eXBlICppbnR5cGUsIAogIAkJCQlpbnQgd2FudF9hZGRyZXNz LAotQEAgLTM0MDAsNyArMzQwMiw3IEBAIHZhbHVlX3N0cnVjdF9lbHRfZm9yX3JlZmVyZW5jZSAo c3RydWN0IHQKK0BAIC0zMzk3LDcgKzMzOTksNyBAQCB2YWx1ZV9zdHJ1Y3RfZWx0X2Zvcl9yZWZl cmVuY2UgKHN0cnVjdCB0CiAgCSAgaWYgKHdhbnRfYWRkcmVzcykKICAJICAgIHJldHVybiB2YWx1 ZV9mcm9tX2xvbmdlc3QKICAJICAgICAgKGxvb2t1cF9tZW1iZXJwdHJfdHlwZSAoVFlQRV9GSUVM RF9UWVBFICh0LCBpKSwgZG9tYWluKSwKQEAgLTM3NjIsNyArMzc2MSw3IEBAIEluZGV4OiBnZGIt Ny41LjUwLjIwMTMwMTE4L2dkYi92YWxvcHMuYwogIAkgIGVsc2UgaWYgKG5vc2lkZSA9PSBFVkFM X0FWT0lEX1NJREVfRUZGRUNUUykKICAJICAgIHJldHVybiBhbGxvY2F0ZV92YWx1ZSAoVFlQRV9G SUVMRF9UWVBFICh0LCBpKSk7CiAgCSAgZWxzZQotQEAgLTM1NDMsNyArMzU0NSw3IEBAIHZhbHVl X3N0cnVjdF9lbHRfZm9yX3JlZmVyZW5jZSAoc3RydWN0IHQKK0BAIC0zNTQwLDcgKzM1NDIsNyBA QCB2YWx1ZV9zdHJ1Y3RfZWx0X2Zvcl9yZWZlcmVuY2UgKHN0cnVjdCB0CiAgICBmb3IgKGkgPSBU WVBFX05fQkFTRUNMQVNTRVMgKHQpIC0gMTsgaSA+PSAwOyBpLS0pCiAgICAgIHsKICAgICAgICBz dHJ1Y3QgdmFsdWUgKnY7CkBAIC0zNzcxLDcgKzM3NzAsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4y MDEzMDExOC9nZGIvdmFsb3BzLmMKICAKICAgICAgICBpZiAoQkFTRVRZUEVfVklBX1ZJUlRVQUwg KHQsIGkpKQogIAliYXNlX29mZnNldCA9IDA7Ci1AQCAtMzYzMyw3ICszNjM1LDcgQEAgdmFsdWVf bWF5YmVfbmFtZXNwYWNlX2VsdCAoY29uc3Qgc3RydWN0CitAQCAtMzYzMCw3ICszNjMyLDcgQEAg dmFsdWVfbWF5YmVfbmFtZXNwYWNlX2VsdCAoY29uc3Qgc3RydWN0CiAgCiAgc3RydWN0IHR5cGUg KgogIHZhbHVlX3J0dGlfaW5kaXJlY3RfdHlwZSAoc3RydWN0IHZhbHVlICp2LCBpbnQgKmZ1bGws IApAQCAtMzc4MCw3ICszNzc5LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3Zh bG9wcy5jCiAgewogICAgc3RydWN0IHZhbHVlICp0YXJnZXQ7CiAgICBzdHJ1Y3QgdHlwZSAqdHlw ZSwgKnJlYWxfdHlwZSwgKnRhcmdldF90eXBlOwotQEAgLTM2ODMsMTIgKzM2ODUsMTIgQEAgdmFs dWVfcnR0aV9pbmRpcmVjdF90eXBlIChzdHJ1Y3QgdmFsdWUgKgorQEAgLTM2ODAsMTIgKzM2ODIs MTIgQEAgdmFsdWVfcnR0aV9pbmRpcmVjdF90eXBlIChzdHJ1Y3QgdmFsdWUgKgogIHN0cnVjdCB2 YWx1ZSAqCiAgdmFsdWVfZnVsbF9vYmplY3QgKHN0cnVjdCB2YWx1ZSAqYXJncCwgCiAgCQkgICBz dHJ1Y3QgdHlwZSAqcnR5cGUsIApAQCAtMzc5NSwxMCArMzc5NCwxMCBAQCBJbmRleDogZ2RiLTcu NS41MC4yMDEzMDExOC9nZGIvdmFsb3BzLmMKICAgIGludCB1c2luZ19lbmMgPSAwOwogICAgc3Ry dWN0IHZhbHVlICpuZXdfdmFsOwogIAotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3Zh bHByaW50LmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi92YWxwcmludC5jCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi92YWxwcmludC5jCTIwMTMt MDEtMTggMjM6Mjc6MjIuMTA1NjAxMzgwICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9n ZGIvdmFscHJpbnQuYwkyMDEzLTAxLTE4IDIzOjI3OjI4Ljg3NzYwNzM1MiArMDEwMAorLS0tIGdk Yi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvdmFscHJpbnQuYwkyMDEzLTAyLTE1IDIyOjMxOjM3 LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3ZhbHByaW50LmMJ MjAxMy0wMi0xNSAyMjo0MDoxOC41NDU2MjIxMDQgKzAxMDAKIEBAIC0yOTksNyArMjk5LDcgQEAg c2NhbGFyX3R5cGVfcCAoc3RydWN0IHR5cGUgKnR5cGUpCiAgaW50CiAgdmFscHJpbnRfY2hlY2tf dmFsaWRpdHkgKHN0cnVjdCB1aV9maWxlICpzdHJlYW0sCkBAIC0zODE3LDcgKzM4MTYsNyBAQCBJ bmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdmFscHJpbnQuYwogIAkJICAgc3RydWN0IHVp X2ZpbGUgKnN0cmVhbSwgaW50IHJlY3Vyc2UsCiAgCQkgICBjb25zdCBzdHJ1Y3QgdmFsdWUgKm9y aWdpbmFsX3ZhbHVlLAogIAkJICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9w dGlvbnMsCi1AQCAtNzI2LDcgKzcyNiw3IEBAIGdlbmVyaWNfdmFsX3ByaW50IChzdHJ1Y3QgdHlw ZSAqdHlwZSwgY28KK0BAIC03MjUsNyArNzI1LDcgQEAgZ2VuZXJpY192YWxfcHJpbnQgKHN0cnVj dCB0eXBlICp0eXBlLCBjbwogICAgIFJFQ1VSU0UuICAqLwogIAogIHZvaWQKQEAgLTM4MjYsNyAr MzgyNSw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi92YWxwcmludC5jCiAgCSAg IENPUkVfQUREUiBhZGRyZXNzLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwK ICAJICAgY29uc3Qgc3RydWN0IHZhbHVlICp2YWwsCiAgCSAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9w cmludF9vcHRpb25zICpvcHRpb25zLAotQEAgLTkzOCw3ICs5MzgsNyBAQCB2YWxfcHJpbnRfdHlw ZV9jb2RlX2ZsYWdzIChzdHJ1Y3QgdHlwZSAqCitAQCAtOTM3LDcgKzkzNyw3IEBAIHZhbF9wcmlu dF90eXBlX2NvZGVfZmxhZ3MgKHN0cnVjdCB0eXBlICoKICAKICB2b2lkCiAgdmFsX3ByaW50X3Nj YWxhcl9mb3JtYXR0ZWQgKHN0cnVjdCB0eXBlICp0eXBlLApAQCAtMzgzNSw3ICszODM0LDcgQEAg SW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3ZhbHByaW50LmMKICAJCQkgICAgY29uc3Qg c3RydWN0IHZhbHVlICp2YWwsCiAgCQkJICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRp b25zICpvcHRpb25zLAogIAkJCSAgICBpbnQgc2l6ZSwKLUBAIC0xNDc5LDcgKzE0NzksNyBAQCBw cmludF9kZWNpbWFsX2NoYXJzIChzdHJ1Y3QgdWlfZmlsZSAqc3RyCitAQCAtMTQ3OCw3ICsxNDc4 LDcgQEAgcHJpbnRfZGVjaW1hbF9jaGFycyAoc3RydWN0IHVpX2ZpbGUgKnN0cgogIAogIHZvaWQK ICBwcmludF9oZXhfY2hhcnMgKHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIGNvbnN0IGdkYl9ieXRl ICp2YWxhZGRyLApAQCAtMzg0NCw3ICszODQzLDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAx MTgvZ2RiL3ZhbHByaW50LmMKICB7CiAgICBjb25zdCBnZGJfYnl0ZSAqcDsKICAKLUBAIC0xNTk2 LDIzICsxNTk2LDIzIEBAIG1heWJlX3ByaW50X2FycmF5X2luZGV4IChzdHJ1Y3QgdHlwZSAqaW4K K0BAIC0xNTk1LDIzICsxNTk1LDIzIEBAIG1heWJlX3ByaW50X2FycmF5X2luZGV4IChzdHJ1Y3Qg dHlwZSAqaW4KICAKICB2b2lkCiAgdmFsX3ByaW50X2FycmF5X2VsZW1lbnRzIChzdHJ1Y3QgdHlw ZSAqdHlwZSwKQEAgLTM4NzQsNyArMzg3Myw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4 L2dkYi92YWxwcmludC5jCiAgICBMT05HRVNUIGxvd19ib3VuZCwgaGlnaF9ib3VuZDsKICAgIHN0 cnVjdCBjbGVhbnVwICpiYWNrX3RvOwogICAgQ09SRV9BRERSIHNhdmVkX2FkZHJlc3MgPSBhZGRy ZXNzOwotQEAgLTE3MDcsNyArMTcwNyw3IEBAIHZhbF9wcmludF9hcnJheV9lbGVtZW50cyAoc3Ry dWN0IHR5cGUgKnQKK0BAIC0xNzA2LDcgKzE3MDYsNyBAQCB2YWxfcHJpbnRfYXJyYXlfZWxlbWVu dHMgKHN0cnVjdCB0eXBlICp0CiAgCQkgICAgIGFkZHJlc3MsIHN0cmVhbSwgcmVjdXJzZSArIDEs IHZhbCwgb3B0aW9ucywKICAJCSAgICAgY3VycmVudF9sYW5ndWFnZSk7CiAgCSAgYW5ub3RhdGVf ZWx0X3JlcCAocmVwcyk7CkBAIC0zODgzLDcgKzM4ODIsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4y MDEzMDExOC9nZGIvdmFscHJpbnQuYwogIAkgIGFubm90YXRlX2VsdF9yZXBfZW5kICgpOwogIAog IAkgIGkgPSByZXAxIC0gMTsKLUBAIC0yMzU4LDcgKzIzNTgsNyBAQCBwcmludF9jb252ZXJ0ZWRf Y2hhcnNfdG9fb2JzdGFjayAoc3RydWN0CitAQCAtMjM1Nyw3ICsyMzU3LDcgQEAgcHJpbnRfY29u dmVydGVkX2NoYXJzX3RvX29ic3RhY2sgKHN0cnVjdAogIAogIHZvaWQKICBnZW5lcmljX3ByaW50 c3RyIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgCkBAIC0zODky LDEwICszODkxLDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi92YWxwcmludC5j CiAgCQkgIGNvbnN0IGNoYXIgKmVuY29kaW5nLCBpbnQgZm9yY2VfZWxsaXBzZXMsCiAgCQkgIGlu dCBxdW90ZV9jaGFyLCBpbnQgY19zdHlsZV90ZXJtaW5hdG9yLAogIAkJICBjb25zdCBzdHJ1Y3Qg dmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucykKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4 L2dkYi92YWxwcmludC5oCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvdmFscHJpbnQu aAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvdmFscHJpbnQu aAkyMDEzLTAxLTE4IDIzOjI3OjIyLjEwNjYwMTM4MSArMDEwMAotKysrIGdkYi03LjUuNTAuMjAx MzAxMTgvZ2RiL3ZhbHByaW50LmgJMjAxMy0wMS0xOCAyMzoyNzoyOC44Nzg2MDczNTMgKzAxMDAK Ky0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL3ZhbHByaW50LmgJMjAxMy0wMS0wOCAw MzowMDozNC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi92YWxw cmludC5oCTIwMTMtMDItMTUgMjI6NDA6MTguNTQ1NjIyMTA0ICswMTAwCiBAQCAtMTEzLDExICsx MTMsMTEgQEAgZXh0ZXJuIHZvaWQgbWF5YmVfcHJpbnRfYXJyYXlfaW5kZXggKHN0cgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLAog IAkJCQkgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICopOwpAQCAtMzk0Niwx MCArMzk0NSwxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdmFscHJpbnQuaAog IAkJCSAgICAgIGNvbnN0IGNoYXIgKmVuY29kaW5nLCBpbnQgZm9yY2VfZWxsaXBzZXMsCiAgCQkJ ICAgICAgaW50IHF1b3RlX2NoYXIsIGludCBjX3N0eWxlX3Rlcm1pbmF0b3IsCiAgCQkJICAgICAg Y29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpOwotSW5kZXg6IGdkYi03 LjUuNTAuMjAxMzAxMTgvZ2RiL3ZhbHVlLmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dk Yi92YWx1ZS5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi92 YWx1ZS5jCTIwMTMtMDEtMTggMjM6Mjc6MjIuMTA4NjAxMzg1ICswMTAwCi0rKysgZ2RiLTcuNS41 MC4yMDEzMDExOC9nZGIvdmFsdWUuYwkyMDEzLTAxLTE4IDIzOjI3OjI4Ljg3ODYwNzM1MyArMDEw MAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvdmFsdWUuYwkyMDEzLTAyLTE1IDIy OjM3OjA0LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3ZhbHVl LmMJMjAxMy0wMi0xNSAyMjo0MDoxOC41NDU2MjIxMDQgKzAxMDAKIEBAIC02OCwxMCArNjgsMTAg QEAgc3RydWN0IGludGVybmFsX2Z1bmN0aW9uCiAgc3RydWN0IHJhbmdlCiAgewpAQCAtNDEzMyw3 ICs0MTMyLDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3ZhbHVlLmMKICB7CiAg ICB2YWx1ZS0+cG9pbnRlZF90b19vZmZzZXQgPSB2YWw7CiAgfQotQEAgLTE5NzQsNyArMTk3Nyw3 IEBAIGdldF9pbnRlcm5hbHZhcl9mdW5jdGlvbiAoc3RydWN0IGludGVybmEKK0BAIC0xOTY5LDcg KzE5NzIsNyBAQCBnZXRfaW50ZXJuYWx2YXJfZnVuY3Rpb24gKHN0cnVjdCBpbnRlcm5hCiAgfQog IAogIHZvaWQKQEAgLTQxNDIsNyArNDE0MSw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4 L2dkYi92YWx1ZS5jCiAgCQkJICAgaW50IGJpdHNpemUsIHN0cnVjdCB2YWx1ZSAqbmV3dmFsKQog IHsKICAgIGdkYl9ieXRlICphZGRyOwotQEAgLTI2ODEsNyArMjY4NCw3IEBAIHNldF92YWx1ZV9l bmNsb3NpbmdfdHlwZSAoc3RydWN0IHZhbHVlICoKK0BAIC0yNjc2LDcgKzI2NzksNyBAQCBzZXRf dmFsdWVfZW5jbG9zaW5nX3R5cGUgKHN0cnVjdCB2YWx1ZSAqCiAgICAgRklFTEROTyBzYXlzIHdo aWNoIGZpZWxkLiAgKi8KICAKICBzdHJ1Y3QgdmFsdWUgKgpAQCAtNDE1MSw3ICs0MTUwLDcgQEAg SW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3ZhbHVlLmMKICAJCSAgICAgICBpbnQgZmll bGRubywgc3RydWN0IHR5cGUgKmFyZ190eXBlKQogIHsKICAgIHN0cnVjdCB2YWx1ZSAqdjsKLUBA IC0yNzExLDcgKzI3MTQsNyBAQCB2YWx1ZV9wcmltaXRpdmVfZmllbGQgKHN0cnVjdCB2YWx1ZSAq YXJnCitAQCAtMjcwNiw3ICsyNzA5LDcgQEAgdmFsdWVfcHJpbWl0aXZlX2ZpZWxkIChzdHJ1Y3Qg dmFsdWUgKmFyZwogIAkgYml0LiAgQXNzdW1lIHRoYXQgdGhlIGFkZHJlc3MsIG9mZnNldCwgYW5k IGVtYmVkZGVkIG9mZnNldAogIAkgYXJlIHN1ZmZpY2llbnRseSBhbGlnbmVkLiAgKi8KICAKQEAg LTQxNjAsNyArNDE1OSw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi92YWx1ZS5j CiAgICAgICAgaW50IGNvbnRhaW5lcl9iaXRzaXplID0gVFlQRV9MRU5HVEggKHR5cGUpICogODsK ICAKICAgICAgICB2ID0gYWxsb2NhdGVfdmFsdWVfbGF6eSAodHlwZSk7Ci1AQCAtMjczNCw3ICsy NzM3LDcgQEAgdmFsdWVfcHJpbWl0aXZlX2ZpZWxkIChzdHJ1Y3QgdmFsdWUgKmFyZworQEAgLTI3 MjksNyArMjczMiw3IEBAIHZhbHVlX3ByaW1pdGl2ZV9maWVsZCAoc3RydWN0IHZhbHVlICphcmcK ICAgICAgICAvKiBUaGlzIGZpZWxkIGlzIGFjdHVhbGx5IGEgYmFzZSBzdWJvYmplY3QsIHNvIHBy ZXNlcnZlIHRoZQogIAkgZW50aXJlIG9iamVjdCdzIGNvbnRlbnRzIGZvciBsYXRlciByZWZlcmVu Y2VzIHRvIHZpcnR1YWwKICAJIGJhc2VzLCBldGMuICAqLwpAQCAtNDE2OSw3ICs0MTY4LDcgQEAg SW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3ZhbHVlLmMKICAKICAgICAgICAvKiBMYXp5 IHJlZ2lzdGVyIHZhbHVlcyB3aXRoIG9mZnNldHMgYXJlIG5vdCBzdXBwb3J0ZWQuICAqLwogICAg ICAgIGlmIChWQUxVRV9MVkFMIChhcmcxKSA9PSBsdmFsX3JlZ2lzdGVyICYmIHZhbHVlX2xhenkg KGFyZzEpKQotQEAgLTI4MTEsNyArMjgxNCw3IEBAIHZhbHVlX2ZpZWxkIChzdHJ1Y3QgdmFsdWUg KmFyZzEsIGludCBmaWUKK0BAIC0yODA2LDcgKzI4MDksNyBAQCB2YWx1ZV9maWVsZCAoc3RydWN0 IHZhbHVlICphcmcxLCBpbnQgZmllCiAgc3RydWN0IHZhbHVlICoKICB2YWx1ZV9mbl9maWVsZCAo c3RydWN0IHZhbHVlICoqYXJnMXAsIHN0cnVjdCBmbl9maWVsZCAqZiwKICAJCWludCBqLCBzdHJ1 Y3QgdHlwZSAqdHlwZSwKQEAgLTQxNzgsNyArNDE3Nyw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIw MTMwMTE4L2dkYi92YWx1ZS5jCiAgewogICAgc3RydWN0IHZhbHVlICp2OwogICAgc3RydWN0IHR5 cGUgKmZ0eXBlID0gVFlQRV9GTl9GSUVMRF9UWVBFIChmLCBqKTsKLUBAIC0yODcxLDggKzI4NzQs OCBAQCB2YWx1ZV9mbl9maWVsZCAoc3RydWN0IHZhbHVlICoqYXJnMXAsIHN0CitAQCAtMjg2Niw4 ICsyODY5LDggQEAgdmFsdWVfZm5fZmllbGQgKHN0cnVjdCB2YWx1ZSAqKmFyZzFwLCBzdAogIAog IHN0YXRpYyBpbnQKICB1bnBhY2tfdmFsdWVfYml0c19hc19sb25nXzEgKHN0cnVjdCB0eXBlICpm aWVsZF90eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKQEAgLTQxODksNyArNDE4OCw3IEBA IEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi92YWx1ZS5jCiAgCQkJICAgICBMT05HRVNU ICpyZXN1bHQpCiAgewogICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5 dGVfb3JkZXIgKGdldF90eXBlX2FyY2ggKGZpZWxkX3R5cGUpKTsKLUBAIC0yODgwLDcgKzI4ODMs NyBAQCB1bnBhY2tfdmFsdWVfYml0c19hc19sb25nXzEgKHN0cnVjdCB0eXBlCitAQCAtMjg3NSw3 ICsyODc4LDcgQEAgdW5wYWNrX3ZhbHVlX2JpdHNfYXNfbG9uZ18xIChzdHJ1Y3QgdHlwZQogICAg VUxPTkdFU1QgdmFsbWFzazsKICAgIGludCBsc2Jjb3VudDsKICAgIGludCBieXRlc19yZWFkOwpA QCAtNDE5OCw3ICs0MTk3LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3ZhbHVl LmMKICAKICAgIC8qIFJlYWQgdGhlIG1pbmltdW0gbnVtYmVyIG9mIGJ5dGVzIHJlcXVpcmVkOyB0 aGVyZSBtYXkgbm90IGJlCiAgICAgICBlbm91Z2ggYnl0ZXMgdG8gcmVhZCBhbiBlbnRpcmUgVUxP TkdFU1QuICAqLwotQEAgLTI5NTAsNyArMjk1Myw3IEBAIHVucGFja192YWx1ZV9iaXRzX2FzX2xv bmdfMSAoc3RydWN0IHR5cGUKK0BAIC0yOTQ1LDcgKzI5NDgsNyBAQCB1bnBhY2tfdmFsdWVfYml0 c19hc19sb25nXzEgKHN0cnVjdCB0eXBlCiAgCiAgaW50CiAgdW5wYWNrX3ZhbHVlX2JpdHNfYXNf bG9uZyAoc3RydWN0IHR5cGUgKmZpZWxkX3R5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLApA QCAtNDIwNyw3ICs0MjA2LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3ZhbHVl LmMKICAJCQkgICBjb25zdCBzdHJ1Y3QgdmFsdWUgKm9yaWdpbmFsX3ZhbHVlLAogIAkJCSAgIExP TkdFU1QgKnJlc3VsdCkKICB7Ci1AQCAtMjk2OCwxMCArMjk3MSwxMCBAQCB1bnBhY2tfdmFsdWVf Yml0c19hc19sb25nIChzdHJ1Y3QgdHlwZSAqCitAQCAtMjk2MywxMCArMjk2NiwxMCBAQCB1bnBh Y2tfdmFsdWVfYml0c19hc19sb25nIChzdHJ1Y3QgdHlwZSAqCiAgCiAgc3RhdGljIGludAogIHVu cGFja192YWx1ZV9maWVsZF9hc19sb25nXzEgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJf Ynl0ZSAqdmFsYWRkciwKQEAgLTQyMjAsNyArNDIxOSw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIw MTMwMTE4L2dkYi92YWx1ZS5jCiAgICBpbnQgYml0c2l6ZSA9IFRZUEVfRklFTERfQklUU0laRSAo dHlwZSwgZmllbGRubyk7CiAgICBzdHJ1Y3QgdHlwZSAqZmllbGRfdHlwZSA9IFRZUEVfRklFTERf VFlQRSAodHlwZSwgZmllbGRubyk7CiAgCi1AQCAtMjk4Nyw3ICsyOTkwLDcgQEAgdW5wYWNrX3Zh bHVlX2ZpZWxkX2FzX2xvbmdfMSAoc3RydWN0IHR5cAorQEAgLTI5ODIsNyArMjk4NSw3IEBAIHVu cGFja192YWx1ZV9maWVsZF9hc19sb25nXzEgKHN0cnVjdCB0eXAKICAKICBpbnQKICB1bnBhY2tf dmFsdWVfZmllbGRfYXNfbG9uZyAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2 YWxhZGRyLApAQCAtNDIyOSw3ICs0MjI4LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgv Z2RiL3ZhbHVlLmMKICAJCQkgICAgY29uc3Qgc3RydWN0IHZhbHVlICp2YWwsIExPTkdFU1QgKnJl c3VsdCkKICB7CiAgICBnZGJfYXNzZXJ0ICh2YWwgIT0gTlVMTCk7Ci1AQCAtMzAxOSw3ICszMDIy LDcgQEAgdW5wYWNrX2ZpZWxkX2FzX2xvbmcgKHN0cnVjdCB0eXBlICp0eXBlLAorQEAgLTMwMTQs NyArMzAxNyw3IEBAIHVucGFja19maWVsZF9hc19sb25nIChzdHJ1Y3QgdHlwZSAqdHlwZSwKICBz dHJ1Y3QgdmFsdWUgKgogIHZhbHVlX2ZpZWxkX2JpdGZpZWxkIChzdHJ1Y3QgdHlwZSAqdHlwZSwg aW50IGZpZWxkbm8sCiAgCQkgICAgICBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKQEAgLTQyMzgs NyArNDIzNyw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi92YWx1ZS5jCiAgewog ICAgTE9OR0VTVCBsOwogIAotQEAgLTMwNDYsMTIgKzMwNDksMTIgQEAgdmFsdWVfZmllbGRfYml0 ZmllbGQgKHN0cnVjdCB0eXBlICp0eXBlLAorQEAgLTMwNDEsMTIgKzMwNDQsMTIgQEAgdmFsdWVf ZmllbGRfYml0ZmllbGQgKHN0cnVjdCB0eXBlICp0eXBlLAogIAogIHZvaWQKICBtb2RpZnlfZmll bGQgKHN0cnVjdCB0eXBlICp0eXBlLCBnZGJfYnl0ZSAqYWRkciwKQEAgLTQyNTMsMTAgKzQyNTIs MTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3ZhbHVlLmMKICAKICAgIC8qIE5v cm1hbGl6ZSBCSVRQT1MuICAqLwogICAgYWRkciArPSBiaXRwb3MgLyA4OwotSW5kZXg6IGdkYi03 LjUuNTAuMjAxMzAxMTgvZ2RiL3ZhbHVlLmgKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dk Yi92YWx1ZS5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi92 YWx1ZS5oCTIwMTMtMDEtMTggMjM6Mjc6MjIuMTA5NjAxMzg3ICswMTAwCi0rKysgZ2RiLTcuNS41 MC4yMDEzMDExOC9nZGIvdmFsdWUuaAkyMDEzLTAxLTE4IDIzOjI3OjI4Ljg3OTYwNzM1NSArMDEw MAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvdmFsdWUuaAkyMDEzLTAyLTE1IDIy OjMxOjM3LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3ZhbHVl LmgJMjAxMy0wMi0xNSAyMjo0MDoxOC41NDY2MjIxMDYgKzAxMDAKIEBAIC04Miw4ICs4Miw4IEBA IGV4dGVybiB2b2lkIHNldF92YWx1ZV9wYXJlbnQgKHN0cnVjdCB2YWwKICAgICB3aXRoaW4gdGhl IHJlZ2lzdGVycyBzdHJ1Y3R1cmUuICBOb3RlIGFsc28gdGhlIG1lbWJlcgogICAgIGVtYmVkZGVk X29mZnNldCBiZWxvdy4gICovCkBAIC00MjY4LDcgKzQyNjcsNyBAQCBJbmRleDogZ2RiLTcuNS41 MC4yMDEzMDExOC9nZGIvdmFsdWUuaAogIAogIC8qIFRoZSBjb21tZW50IGZyb20gInN0cnVjdCB2 YWx1ZSIgcmVhZHM6IGBgSXMgaXQgbW9kaWZpYWJsZT8gIE9ubHkKICAgICByZWxldmFudCBpZiBs dmFsICE9IG5vdF9sdmFsLicnLiAgU2hvdWxkbid0IHRoZSB2YWx1ZSBpbnN0ZWFkIGJlCi1AQCAt MTU0LDEwICsxNTQsMTAgQEAgZXh0ZXJuIHN0cnVjdCB0eXBlICp2YWx1ZV9hY3R1YWxfdHlwZSAo cworQEAgLTE1MiwxMCArMTUyLDEwIEBAIGV4dGVybiBzdHJ1Y3QgdHlwZSAqdmFsdWVfYWN0dWFs X3R5cGUgKHMKICAJCQkJICAgICAgIGludCByZXNvbHZlX3NpbXBsZV90eXBlcywKICAJCQkJICAg ICAgIGludCAqcmVhbF90eXBlX2ZvdW5kKTsKICAKQEAgLTQyODMsNyArNDI4Miw3IEBAIEluZGV4 OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi92YWx1ZS5oCiAgCiAgLyogRm9yIGx2YWxfY29tcHV0 ZWQgdmFsdWVzLCB0aGlzIHN0cnVjdHVyZSBob2xkcyBmdW5jdGlvbnMgdXNlZCB0bwogICAgIHJl dHJpZXZlIGFuZCBzZXQgdGhlIHZhbHVlIChvciBwb3J0aW9ucyBvZiB0aGUgdmFsdWUpLgotQEAg LTE4NSw3ICsxODUsOCBAQCBzdHJ1Y3QgbHZhbF9mdW5jcworQEAgLTE4Myw3ICsxODMsOCBAQCBz dHJ1Y3QgbHZhbF9mdW5jcwogICAgLyogQ2hlY2sgdGhlIHZhbGlkaXR5IG9mIHNvbWUgYml0cyBp biBWQUxVRS4gIFRoaXMgc2hvdWxkIHJldHVybiAxCiAgICAgICBpZiBhbGwgdGhlIGJpdHMgc3Rh cnRpbmcgYXQgT0ZGU0VUIGFuZCBleHRlbmRpbmcgZm9yIExFTkdUSCBiaXRzCiAgICAgICBhcmUg dmFsaWQsIG9yIDAgaWYgYW55IGJpdCBpcyBpbnZhbGlkLiAgKi8KQEAgLTQyOTMsNyArNDI5Miw3 IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi92YWx1ZS5oCiAgCiAgICAvKiBSZXR1 cm4gMSBpZiBhbnkgYml0IGluIFZBTFVFIGlzIHZhbGlkLCAwIGlmIHRoZXkgYXJlIGFsbCBpbnZh bGlkLiAgKi8KICAgIGludCAoKmNoZWNrX2FueV92YWxpZCkgKGNvbnN0IHN0cnVjdCB2YWx1ZSAq dmFsdWUpOwotQEAgLTIwMyw3ICsyMDQsNyBAQCBzdHJ1Y3QgbHZhbF9mdW5jcworQEAgLTIwMSw3 ICsyMDIsNyBAQCBzdHJ1Y3QgbHZhbF9mdW5jcwogICAgLyogSWYgbm9uLU5VTEwsIHRoaXMgaXMg dXNlZCB0byBkZXRlcm1pbmUgd2hldGhlciB0aGUgaW5kaWNhdGVkIGJpdHMKICAgICAgIG9mIFZB TFVFIGFyZSBhIHN5bnRoZXRpYyBwb2ludGVyLiAgKi8KICAgIGludCAoKmNoZWNrX3N5bnRoZXRp Y19wb2ludGVyKSAoY29uc3Qgc3RydWN0IHZhbHVlICp2YWx1ZSwKQEAgLTQzMDIsNyArNDMwMSw3 IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi92YWx1ZS5oCiAgCiAgICAvKiBSZXR1 cm4gYSBkdXBsaWNhdGUgb2YgVkFMVUUncyBjbG9zdXJlLCBmb3IgdXNlIGluIGEgbmV3IHZhbHVl LgogICAgICAgVGhpcyBtYXkgc2ltcGx5IHJldHVybiB0aGUgc2FtZSBjbG9zdXJlLCBpZiBWQUxV RSdzIGlzCi1AQCAtMjQwLDcgKzI0MSw3IEBAIGV4dGVybiBzdHJ1Y3QgdmFsdWUgKmFsbG9jYXRl X2NvbXB1dGVkX3YKK0BAIC0yMzgsNyArMjM5LDcgQEAgZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqYWxs b2NhdGVfY29tcHV0ZWRfdgogICAgIE90aGVyd2lzZSwgcmV0dXJuIDEuICAqLwogIAogIGV4dGVy biBpbnQgdmFscHJpbnRfY2hlY2tfdmFsaWRpdHkgKHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIHN0 cnVjdCB0eXBlICp0eXBlLApAQCAtNDMxMSw3ICs0MzEwLDcgQEAgSW5kZXg6IGdkYi03LjUuNTAu MjAxMzAxMTgvZ2RiL3ZhbHVlLmgKICAJCQkJICAgIGNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFsKTsK ICAKICBleHRlcm4gc3RydWN0IHZhbHVlICphbGxvY2F0ZV9vcHRpbWl6ZWRfb3V0X3ZhbHVlIChz dHJ1Y3QgdHlwZSAqdHlwZSk7Ci1AQCAtNDExLDEzICs0MTIsMTMgQEAgZXh0ZXJuIHN0cnVjdCB2 YWx1ZSAqY29lcmNlX2FycmF5IChzdHJ1YworQEAgLTQwOSwxMyArNDEwLDEzIEBAIGV4dGVybiBz dHJ1Y3QgdmFsdWUgKmNvZXJjZV9hcnJheSAoc3RydWMKICAgICBiaXRzIGluIHRoZSBnaXZlbiBy YW5nZSBhcmUgdmFsaWQsIHplcm8gaWYgYW55IGJpdCBpcyBpbnZhbGlkLiAgKi8KICAKICBleHRl cm4gaW50IHZhbHVlX2JpdHNfdmFsaWQgKGNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFsdWUsCkBAIC00 MzI3LDcgKzQzMjYsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdmFsdWUuaAog IAogIC8qIEdpdmVuIGEgdmFsdWUsIGRldGVybWluZSB3aGV0aGVyIHRoZSBjb250ZW50cyBieXRl cyBzdGFydGluZyBhdAogICAgIE9GRlNFVCBhbmQgZXh0ZW5kaW5nIGZvciBMRU5HVEggYnl0ZXMg YXJlIGF2YWlsYWJsZS4gIFRoaXMgcmV0dXJucwotQEAgLTQyNSw3ICs0MjYsNyBAQCBleHRlcm4g aW50IHZhbHVlX2JpdHNfc3ludGhldGljX3BvaW50ZXIKK0BAIC00MjMsNyArNDI0LDcgQEAgZXh0 ZXJuIGludCB2YWx1ZV9iaXRzX3N5bnRoZXRpY19wb2ludGVyCiAgICAgYnl0ZSBpcyB1bmF2YWls YWJsZS4gICovCiAgCiAgZXh0ZXJuIGludCB2YWx1ZV9ieXRlc19hdmFpbGFibGUgKGNvbnN0IHN0 cnVjdCB2YWx1ZSAqdmFsdWUsCkBAIC00MzM2LDcgKzQzMzUsNyBAQCBJbmRleDogZ2RiLTcuNS41 MC4yMDEzMDExOC9nZGIvdmFsdWUuaAogIAogIC8qIExpa2UgdmFsdWVfYnl0ZXNfYXZhaWxhYmxl LCBidXQgcmV0dXJuIGZhbHNlIGlmIGFueSBieXRlIGluIHRoZQogICAgIHdob2xlIG9iamVjdCBp cyB1bmF2YWlsYWJsZS4gICovCi1AQCAtNDM1LDcgKzQzNiw3IEBAIGV4dGVybiBpbnQgdmFsdWVf ZW50aXJlbHlfYXZhaWxhYmxlIChzdHIKK0BAIC00MzMsNyArNDM0LDcgQEAgZXh0ZXJuIGludCB2 YWx1ZV9lbnRpcmVseV9hdmFpbGFibGUgKHN0cgogICAgIExFTkdUSCBieXRlcyBhcyB1bmF2YWls YWJsZS4gICovCiAgCiAgZXh0ZXJuIHZvaWQgbWFya192YWx1ZV9ieXRlc191bmF2YWlsYWJsZSAo c3RydWN0IHZhbHVlICp2YWx1ZSwKQEAgLTQzNDUsNyArNDM0NCw3IEBAIEluZGV4OiBnZGItNy41 LjUwLjIwMTMwMTE4L2dkYi92YWx1ZS5oCiAgCiAgLyogQ29tcGFyZSBMRU5HVEggYnl0ZXMgb2Yg VkFMMSdzIGNvbnRlbnRzIHN0YXJ0aW5nIGF0IE9GRlNFVDEgd2l0aAogICAgIExFTkdUSCBieXRl cyBvZiBWQUwyJ3MgY29udGVudHMgc3RhcnRpbmcgYXQgT0ZGU0VUMi4KLUBAIC00NDUsNyArNDQ2 LDcgQEAgZXh0ZXJuIHZvaWQgbWFya192YWx1ZV9ieXRlc191bmF2YWlsYWJsZQorQEAgLTQ0Myw3 ICs0NDQsNyBAQCBleHRlcm4gdm9pZCBtYXJrX3ZhbHVlX2J5dGVzX3VuYXZhaWxhYmxlCiAgICAg ZXhhbXBsZSwgdG8gY29tcGFyZSBhIGNvbXBsZXRlIG9iamVjdCB2YWx1ZSB3aXRoIGl0c2VsZiwg aW5jbHVkaW5nCiAgICAgaXRzIGVuY2xvc2luZyB0eXBlIGNodW5rLCB5b3UnZCBkbzoKICAKQEAg LTQzNTQsNyArNDM1Myw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi92YWx1ZS5o CiAgICAgICB2YWx1ZV9hdmFpbGFibGVfY29udGVudHMgKHZhbCwgMCwgdmFsLCAwLCBsZW4pOwog IAogICAgIFJldHVybnMgdHJ1ZSBpZmYgdGhlIHNldCBvZiBhdmFpbGFibGUgY29udGVudHMgbWF0 Y2guICBVbmF2YWlsYWJsZQotQEAgLTQ2Nyw5ICs0NjgsMTAgQEAgZXh0ZXJuIHZvaWQgbWFya192 YWx1ZV9ieXRlc191bmF2YWlsYWJsZQorQEAgLTQ2NSw5ICs0NjYsMTAgQEAgZXh0ZXJuIHZvaWQg bWFya192YWx1ZV9ieXRlc191bmF2YWlsYWJsZQogICAgIHZhbHVlX2F2YWlsYWJsZV9jb250ZW50 c19lcSh2YWwsIDMsIHZhbCwgNCwgNCkgPT4gMAogICovCiAgCkBAIC00MzY4LDcgKzQzNjcsNyBA QCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdmFsdWUuaAogIAogIC8qIFJlYWQgTEVO R1RIIGJ5dGVzIG9mIG1lbW9yeSBzdGFydGluZyBhdCBNRU1BRERSIGludG8gQlVGRkVSLCB3aGlj aAogICAgIGlzIChvciB3aWxsIGJlIGNvcGllZCB0bykgVkFMJ3MgY29udGVudHMgYnVmZmVyIG9m ZnNldCBieQotQEAgLTQ3OCw3ICs0ODAsNyBAQCBleHRlcm4gaW50IHZhbHVlX2F2YWlsYWJsZV9j b250ZW50c19lcSAoCitAQCAtNDc2LDcgKzQ3OCw3IEBAIGV4dGVybiBpbnQgdmFsdWVfYXZhaWxh YmxlX2NvbnRlbnRzX2VxICgKICAgICBtZW1vcnkgaXMgbGlrZXdpc2UgdW5hdmFpbGFibGUuICBT VEFDSyBpbmRpY2F0ZXMgd2hldGhlciB0aGUgbWVtb3J5CiAgICAgaXMga25vd24gdG8gYmUgc3Rh Y2sgbWVtb3J5LiAgKi8KICAKQEAgLTQzNzcsNyArNDM3Niw3IEBAIEluZGV4OiBnZGItNy41LjUw LjIwMTMwMTE4L2dkYi92YWx1ZS5oCiAgCQkJICAgICAgIGludCBzdGFjaywgQ09SRV9BRERSIG1l bWFkZHIsCiAgCQkJICAgICAgIGdkYl9ieXRlICpidWZmZXIsIHNpemVfdCBsZW5ndGgpOwogIAot QEAgLTUwNiw3ICs1MDgsNyBAQCBleHRlcm4gQ09SRV9BRERSIHVucGFja19wb2ludGVyIChzdHJ1 Y3QKK0BAIC01MTAsNyArNTEyLDcgQEAgZXh0ZXJuIENPUkVfQUREUiB1bnBhY2tfcG9pbnRlciAo c3RydWN0CiAgCiAgZXh0ZXJuIGludCB1bnBhY2tfdmFsdWVfYml0c19hc19sb25nIChzdHJ1Y3Qg dHlwZSAqZmllbGRfdHlwZSwKICAJCQkJICAgICAgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCkBA IC00Mzg2LDcgKzQzODUsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdmFsdWUu aAogIAkJCQkgICAgICBpbnQgYml0c2l6ZSwKICAJCQkJICAgICAgY29uc3Qgc3RydWN0IHZhbHVl ICpvcmlnaW5hbF92YWx1ZSwKICAJCQkJICAgICAgTE9OR0VTVCAqcmVzdWx0KTsKLUBAIC01MTUs MTIgKzUxNywxMiBAQCBleHRlcm4gTE9OR0VTVCB1bnBhY2tfZmllbGRfYXNfbG9uZyAoc3RyCitA QCAtNTE5LDEyICs1MjEsMTIgQEAgZXh0ZXJuIExPTkdFU1QgdW5wYWNrX2ZpZWxkX2FzX2xvbmcg KHN0cgogIAkJCQkgICAgIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAogIAkJCQkgICAgIGludCBm aWVsZG5vKTsKICBleHRlcm4gaW50IHVucGFja192YWx1ZV9maWVsZF9hc19sb25nIChzdHJ1Y3Qg dHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCkBAIC00NDAxLDcgKzQ0MDAsNyBA QCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdmFsdWUuaAogIAkJCQkJICAgY29uc3Qg c3RydWN0IHZhbHVlICp2YWwpOwogIAogIGV4dGVybiB2b2lkIHBhY2tfbG9uZyAoZ2RiX2J5dGUg KmJ1Ziwgc3RydWN0IHR5cGUgKnR5cGUsIExPTkdFU1QgbnVtKTsKLUBAIC01NzksMTIgKzU4MSwx MiBAQCBleHRlcm4gc3RydWN0IHZhbHVlICpkZWZhdWx0X3JlYWRfdmFyX3ZhCitAQCAtNTgzLDEy ICs1ODUsMTIgQEAgZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqZGVmYXVsdF9yZWFkX3Zhcl92YQogIGV4 dGVybiBzdHJ1Y3QgdmFsdWUgKmFsbG9jYXRlX3ZhbHVlIChzdHJ1Y3QgdHlwZSAqdHlwZSk7CiAg ZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqYWxsb2NhdGVfdmFsdWVfbGF6eSAoc3RydWN0IHR5cGUgKnR5 cGUpOwogIGV4dGVybiB2b2lkIGFsbG9jYXRlX3ZhbHVlX2NvbnRlbnRzIChzdHJ1Y3QgdmFsdWUg KnZhbHVlKTsKQEAgLTQ0MjAsNyArNDQxOSw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4 L2dkYi92YWx1ZS5oCiAgCiAgZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqYWxsb2NhdGVfcmVwZWF0X3Zh bHVlIChzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IGNvdW50KTsKICAKLUBAIC02NTYsMTYgKzY1OCwx NiBAQCBleHRlcm4gaW50IGZpbmRfb3ZlcmxvYWRfbWF0Y2ggKHN0cnVjdCB2CitAQCAtNjYwLDE2 ICs2NjIsMTYgQEAgZXh0ZXJuIGludCBmaW5kX292ZXJsb2FkX21hdGNoIChzdHJ1Y3QgdgogIAog IGV4dGVybiBzdHJ1Y3QgdmFsdWUgKnZhbHVlX2ZpZWxkIChzdHJ1Y3QgdmFsdWUgKmFyZzEsIGlu dCBmaWVsZG5vKTsKICAKQEAgLTQ0NDAsNyArNDQzOSw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIw MTMwMTE4L2dkYi92YWx1ZS5oCiAgCiAgZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqdmFsdWVfY2FzdF9w b2ludGVycyAoc3RydWN0IHR5cGUgKiwgc3RydWN0IHZhbHVlICosIGludCk7CiAgCi1AQCAtNzU1 LDcgKzc1Nyw3IEBAIGV4dGVybiB2b2lkIHNldF9pbnRlcm5hbHZhcl9zdHJpbmcgKHN0cnUKK0BA IC03NjMsNyArNzY1LDcgQEAgZXh0ZXJuIHZvaWQgc2V0X2ludGVybmFsdmFyX3N0cmluZyAoc3Ry dQogIGV4dGVybiB2b2lkIGNsZWFyX2ludGVybmFsdmFyIChzdHJ1Y3QgaW50ZXJuYWx2YXIgKnZh cik7CiAgCiAgZXh0ZXJuIHZvaWQgc2V0X2ludGVybmFsdmFyX2NvbXBvbmVudCAoc3RydWN0IGlu dGVybmFsdmFyICp2YXIsCkBAIC00NDQ5LDcgKzQ0NDgsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4y MDEzMDExOC9nZGIvdmFsdWUuaAogIAkJCQkgICAgICAgaW50IGJpdHBvcywgaW50IGJpdHNpemUs CiAgCQkJCSAgICAgICBzdHJ1Y3QgdmFsdWUgKm5ld3ZhbHVlKTsKICAKLUBAIC04MzcsNyArODM5 LDcgQEAgZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqdmFsdWVfeF91bm9wIChzdHJ1YworQEAgLTg0NSw3 ICs4NDcsNyBAQCBleHRlcm4gc3RydWN0IHZhbHVlICp2YWx1ZV94X3Vub3AgKHN0cnVjCiAgCQkJ CSAgIGVudW0gbm9zaWRlIG5vc2lkZSk7CiAgCiAgZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqdmFsdWVf Zm5fZmllbGQgKHN0cnVjdCB2YWx1ZSAqKmFyZzFwLCBzdHJ1Y3QgZm5fZmllbGQgKmYsCkBAIC00 NDU4LDcgKzQ0NTcsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdmFsdWUuaAog IAogIGV4dGVybiBpbnQgYmlub3BfdHlwZXNfdXNlcl9kZWZpbmVkX3AgKGVudW0gZXhwX29wY29k ZSBvcCwKICAJCQkJICAgICAgIHN0cnVjdCB0eXBlICp0eXBlMSwKLUBAIC04NjUsNyArODY3LDgg QEAgZXh0ZXJuIHZvaWQgcmVsZWFzZV92YWx1ZV9vcl9pbmNyZWYgKHN0cgorQEAgLTg3Myw3ICs4 NzUsOCBAQCBleHRlcm4gdm9pZCByZWxlYXNlX3ZhbHVlX29yX2luY3JlZiAoc3RyCiAgZXh0ZXJu IGludCByZWNvcmRfbGF0ZXN0X3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnZhbCk7CiAgCiAgZXh0ZXJu IHZvaWQgbW9kaWZ5X2ZpZWxkIChzdHJ1Y3QgdHlwZSAqdHlwZSwgZ2RiX2J5dGUgKmFkZHIsCkBA IC00NDY4LDcgKzQ0NjcsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdmFsdWUu aAogIAogIGV4dGVybiB2b2lkIHR5cGVfcHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBj aGFyICp2YXJzdHJpbmcsCiAgCQkJc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgaW50IHNob3cpOwot QEAgLTg5NSw3ICs4OTgsNyBAQCBleHRlcm4gdm9pZCB2YWx1ZV9wcmludF9hcnJheV9lbGVtZW50 cyAoCitAQCAtOTAzLDcgKzkwNiw3IEBAIGV4dGVybiB2b2lkIHZhbHVlX3ByaW50X2FycmF5X2Vs ZW1lbnRzICgKICBleHRlcm4gc3RydWN0IHZhbHVlICp2YWx1ZV9yZWxlYXNlX3RvX21hcmsgKHN0 cnVjdCB2YWx1ZSAqbWFyayk7CiAgCiAgZXh0ZXJuIHZvaWQgdmFsX3ByaW50IChzdHJ1Y3QgdHlw ZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCkBAIC00NDc3LDcgKzQ0NzYsNyBAQCBJ bmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdmFsdWUuaAogIAkJICAgICAgIHN0cnVjdCB1 aV9maWxlICpzdHJlYW0sIGludCByZWN1cnNlLAogIAkJICAgICAgIGNvbnN0IHN0cnVjdCB2YWx1 ZSAqdmFsLAogIAkJICAgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRp b25zLAotQEAgLTk0NCwxMCArOTQ3LDExIEBAIGV4dGVybiBzdHJ1Y3QgdmFsdWUgKnZhbHVlX2xp dGVyYWxfY29tcGwKK0BAIC05NTIsMTAgKzk1NSwxMSBAQCBleHRlcm4gc3RydWN0IHZhbHVlICp2 YWx1ZV9saXRlcmFsX2NvbXBsCiAgZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqZmluZF9mdW5jdGlvbl9p bl9pbmZlcmlvciAoY29uc3QgY2hhciAqLAogIAkJCQkJCXN0cnVjdCBvYmpmaWxlICoqKTsKICAK CmRpZmYgLS1naXQgYS9nZGItcmhiejc5NTQyNC1iaXRwb3MtMjJvZjI1LnBhdGNoIGIvZ2RiLXJo Yno3OTU0MjQtYml0cG9zLTIyb2YyNS5wYXRjaAppbmRleCA4ZTM0ZTc0Li4wN2QwNTgzIDEwMDY0 NAotLS0gYS9nZGItcmhiejc5NTQyNC1iaXRwb3MtMjJvZjI1LnBhdGNoCisrKyBiL2dkYi1yaGJ6 Nzk1NDI0LWJpdHBvcy0yMm9mMjUucGF0Y2gKQEAgLTk2LDEwICs5NiwxMCBAQCBDb250ZW50LVR5 cGU6IHRleHQveC1wYXRjaAogQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogN2JpdAogQ29udGVu dC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9Yml0cG9zLXdwLnBhdGNoCiAKLUlu ZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9hcm0tbGludXgtbmF0LmMKK0luZGV4OiBnZGIt Ny41LjUwLjIwMTMwMjE1L2dkYi9hcm0tbGludXgtbmF0LmMKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt Ny41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL2FybS1saW51eC1uYXQuYwkyMDEzLTAxLTE4IDIzOjM0 OjQzLjkzMDEwNjgzOSArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2FybS1saW51 eC1uYXQuYwkyMDEzLTAxLTE4IDIzOjM0OjUxLjIwNjExNjUxMyArMDEwMAorLS0tIGdkYi03LjUu NTAuMjAxMzAyMTUub3JpZy9nZGIvYXJtLWxpbnV4LW5hdC5jCTIwMTMtMDItMTUgMjI6NDA6MTgu MDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvYXJtLWxpbnV4LW5h dC5jCTIwMTMtMDItMTUgMjI6NDI6NDUuOTg4ODA0MzA2ICswMTAwCiBAQCAtMTEwNSw3ICsxMTA1 LDcgQEAgYXJtX2xpbnV4X3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQwogIAogIC8qIElu c2VydCBhIEhhcmR3YXJlIGJyZWFrcG9pbnQuICAqLwpAQCAtMTI3LDExICsxMjcsMTEgQEAgSW5k ZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2FybS1saW51eC1uYXQuYwogIHsKICAgIHJldHVy biBzdGFydCA8PSBhZGRyICYmIHN0YXJ0ICsgbGVuZ3RoIC0gMSA+PSBhZGRyOwogIH0KLUluZGV4 OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9pMzg2LW5hdC5jCitJbmRleDogZ2RiLTcuNS41MC4y MDEzMDIxNS9nZGIvaTM4Ni1uYXQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAx MTgub3JpZy9nZGIvaTM4Ni1uYXQuYwkyMDEzLTAxLTE4IDIzOjM0OjQzLjkzMTEwNjg0MSArMDEw MAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2kzODYtbmF0LmMJMjAxMy0wMS0xOCAyMzoz NDo1MS4yMDYxMTY1MTMgKzAxMDAKLUBAIC01OTEsNyArNTkxLDcgQEAgaTM4Nl91cGRhdGVfaW5m ZXJpb3JfZGVidWdfcmVncyAoc3RydWN0CistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dk Yi9pMzg2LW5hdC5jCTIwMTMtMDItMTUgMjI6NDE6NTMuMDAwMDAwMDAwICswMTAwCisrKysgZ2Ri LTcuNS41MC4yMDEzMDIxNS9nZGIvaTM4Ni1uYXQuYwkyMDEzLTAyLTE1IDIyOjQzOjE0LjAwNTgz ODc0MSArMDEwMAorQEAgLTU4OSw3ICs1ODksNyBAQCBpMzg2X3VwZGF0ZV9pbmZlcmlvcl9kZWJ1 Z19yZWdzIChzdHJ1Y3QKICAgICBvZiB0aGUgdHlwZSBUWVBFLiAgUmV0dXJuIDAgb24gc3VjY2Vz cywgLTEgb24gZmFpbHVyZS4gICovCiAgCiAgc3RhdGljIGludApAQCAtMTM5LDggKzEzOSw4IEBA IEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9pMzg2LW5hdC5jCiAraTM4Nl9pbnNlcnRf d2F0Y2hwb2ludCAoQ09SRV9BRERSIGFkZHIsIExPTkdFU1QgbGVuLCBpbnQgdHlwZSwKICAJCQlz dHJ1Y3QgZXhwcmVzc2lvbiAqY29uZCkKICB7Ci0gICBzdHJ1Y3QgaTM4Nl9kZWJ1Z19yZWdfc3Rh dGUgKnN0YXRlID0gaTM4Nl9kZWJ1Z19yZWdfc3RhdGUgKCk7Ci1AQCAtNjI4LDcgKzYyOCw3IEBA IGkzODZfaW5zZXJ0X3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyLAorICAgc3RydWN0IGkzODZf ZGVidWdfcmVnX3N0YXRlICpzdGF0ZQorQEAgLTYyNyw3ICs2MjcsNyBAQCBpMzg2X2luc2VydF93 YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwKICAgICBhZGRyZXNzIEFERFIsIHdob3NlIGxlbmd0 aCBpcyBMRU4gYnl0ZXMsIGFuZCBmb3IgYWNjZXNzZXMgb2YgdGhlCiAgICAgdHlwZSBUWVBFLiAg UmV0dXJuIDAgb24gc3VjY2VzcywgLTEgb24gZmFpbHVyZS4gICovCiAgc3RhdGljIGludApAQCAt MTQ4LDExICsxNDgsMTEgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2kzODYtbmF0 LmMKICtpMzg2X3JlbW92ZV93YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgTE9OR0VTVCBsZW4s IGludCB0eXBlLAogIAkJCXN0cnVjdCBleHByZXNzaW9uICpjb25kKQogIHsKLSAgIHN0cnVjdCBp Mzg2X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUgPSBpMzg2X2RlYnVnX3JlZ19zdGF0ZSAoKTsKLUlu ZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9pYTY0LWxpbnV4LW5hdC5jCisgICBzdHJ1Y3Qg aTM4Nl9kZWJ1Z19yZWdfc3RhdGUgKnN0YXRlCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9n ZGIvaWE2NC1saW51eC1uYXQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgu b3JpZy9nZGIvaWE2NC1saW51eC1uYXQuYwkyMDEzLTAxLTE4IDIzOjM0OjQzLjkzMTEwNjg0MSAr MDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2lhNjQtbGludXgtbmF0LmMJMjAxMy0w MS0xOCAyMzozNDo1MS4yMDYxMTY1MTMgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9y aWcvZ2RiL2lhNjQtbGludXgtbmF0LmMJMjAxMy0wMi0xNSAyMjozNDoxOC4wMDAwMDAwMDAgKzAx MDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9pYTY0LWxpbnV4LW5hdC5jCTIwMTMtMDIt MTUgMjI6NDI6NDUuOTg5ODA0MzA5ICswMTAwCiBAQCAtNTQyLDcgKzU0Miw3IEBAIGlzX3Bvd2Vy X29mXzIgKGludCB2YWwpCiAgfQogIApAQCAtMTcxLDEwICsxNzEsMTAgQEAgSW5kZXg6IGdkYi03 LjUuNTAuMjAxMzAxMTgvZ2RiL2lhNjQtbGludXgtbmF0LmMKICAJCQkgICAgICBzdHJ1Y3QgZXhw cmVzc2lvbiAqY29uZCkKICB7CiAgICBpbnQgaWR4OwotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAx MTgvZ2RiL2luZi10dHJhY2UuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2luZi10 dHJhY2UuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvaW5m LXR0cmFjZS5jCTIwMTMtMDEtMTggMjM6MzQ6NDMuOTMyMTA2ODQ0ICswMTAwCi0rKysgZ2RiLTcu NS41MC4yMDEzMDExOC9nZGIvaW5mLXR0cmFjZS5jCTIwMTMtMDEtMTggMjM6MzQ6NTEuMjA2MTE2 NTEzICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9pbmYtdHRyYWNlLmMJ MjAxMy0wMi0xNSAyMjo0MDoxOC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMw MjE1L2dkYi9pbmYtdHRyYWNlLmMJMjAxMy0wMi0xNSAyMjo0Mjo0NS45ODk4MDQzMDkgKzAxMDAK IEBAIC0zMTMsMTQgKzMxMywxNCBAQCBpbmZfdHRyYWNlX2Rpc2FibGVfcGFnZV9wcm90ZWN0aW9u cyAocGlkCiAgICAgdHlwZSBUWVBFLiAgKi8KICAKQEAgLTIxMSwxMCArMjExLDEwIEBAIEluZGV4 OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9pbmYtdHRyYWNlLmMKICAKICAgIGdkYl9hc3NlcnQg KHR5cGUgPT0gaHdfd3JpdGUpOwogIAotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL21p cHMtbGludXgtbmF0LmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9taXBzLWxpbnV4 LW5hdC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi9taXBz LWxpbnV4LW5hdC5jCTIwMTMtMDEtMTggMjM6MzQ6NDMuOTMyMTA2ODQ0ICswMTAwCi0rKysgZ2Ri LTcuNS41MC4yMDEzMDExOC9nZGIvbWlwcy1saW51eC1uYXQuYwkyMDEzLTAxLTE4IDIzOjM0OjUx LjIwODExNjUxOCArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvbWlwcy1s aW51eC1uYXQuYwkyMDEzLTAyLTE1IDIyOjQwOjE4LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03 LjUuNTAuMjAxMzAyMTUvZ2RiL21pcHMtbGludXgtbmF0LmMJMjAxMy0wMi0xNSAyMjo0Mjo0NS45 OTA4MDQzMTEgKzAxMDAKIEBAIC0xMDE3LDcgKzEwMTcsNyBAQCBwb3B1bGF0ZV9yZWdzX2Zyb21f d2F0Y2hlcyAoc3RydWN0IHB0X3dhCiAgICAgd2F0Y2guICBSZXR1cm4gemVybyBvbiBzdWNjZXNz LiAgKi8KICAKQEAgLTIzMywxMCArMjMzLDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4 L2dkYi9taXBzLWxpbnV4LW5hdC5jCiAgCQkJICAgICAgc3RydWN0IGV4cHJlc3Npb24gKmNvbmQp CiAgewogICAgaW50IHJldHZhbDsKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9udG8t cHJvY2ZzLmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9udG8tcHJvY2ZzLmMKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL250by1wcm9jZnMuYwky MDEzLTAxLTE4IDIzOjM0OjQzLjkzMzEwNjg0NyArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAx MTgvZ2RiL250by1wcm9jZnMuYwkyMDEzLTAxLTE4IDIzOjM0OjUxLjIwODExNjUxOCArMDEwMAor LS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvbnRvLXByb2Nmcy5jCTIwMTMtMDEtMDEg MDc6MzI6NDcuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvbnRv LXByb2Nmcy5jCTIwMTMtMDItMTUgMjI6NDI6NDUuOTkwODA0MzExICswMTAwCiBAQCAtNjksMTAg KzY5LDEwIEBAIHN0YXRpYyBwdGlkX3QgZG9fYXR0YWNoIChwdGlkX3QgcHRpZCk7CiAgCiAgc3Rh dGljIGludCBwcm9jZnNfY2FuX3VzZV9od19icmVha3BvaW50IChpbnQsIGludCwgaW50KTsKQEAg LTI2NywxMCArMjY3LDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9udG8tcHJv Y2ZzLmMKICAJCQkgICAgIHN0cnVjdCBleHByZXNzaW9uICpjb25kKQogIHsKICAgIHJldHVybiBw cm9jZnNfaHdfd2F0Y2hwb2ludCAoYWRkciwgbGVuLCB0eXBlKTsKLUluZGV4OiBnZGItNy41LjUw LjIwMTMwMTE4L2dkYi9wcGMtbGludXgtbmF0LmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1 L2dkYi9wcGMtbGludXgtbmF0LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4 Lm9yaWcvZ2RiL3BwYy1saW51eC1uYXQuYwkyMDEzLTAxLTE4IDIzOjM0OjQzLjkzNDEwNjg0OSAr MDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3BwYy1saW51eC1uYXQuYwkyMDEzLTAx LTE4IDIzOjM0OjUxLjIwODExNjUxOCArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3Jp Zy9nZGIvcHBjLWxpbnV4LW5hdC5jCTIwMTMtMDItMTUgMjI6NDA6MTguMDAwMDAwMDAwICswMTAw CisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvcHBjLWxpbnV4LW5hdC5jCTIwMTMtMDItMTUg MjI6NDI6NDUuOTkxODA0MzEzICswMTAwCiBAQCAtMTgzOCwxMSArMTgzOCwxMSBAQCBjYW5fdXNl X3dhdGNocG9pbnRfY29uZF9hY2NlbCAodm9pZCkKICAgICBDT05ESVRJT05fVkFMVUUgd2lsbCBo b2xkIHRoZSB2YWx1ZSB3aGljaCBzaG91bGQgYmUgcHV0IGluIHRoZQogICAgIERWQyByZWdpc3Rl ci4gICovCkBAIC0zNDAsMTAgKzM0MCwxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9n ZGIvcHBjLWxpbnV4LW5hdC5jCiAgewogICAgaW50IG1hc2s7CiAgCi1JbmRleDogZ2RiLTcuNS41 MC4yMDEzMDExOC9nZGIvcHJvY2ZzLmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9w cm9jZnMuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvcHJv Y2ZzLmMJMjAxMy0wMS0xOCAyMzozNDo0My45MzcxMDY4NTUgKzAxMDAKLSsrKyBnZGItNy41LjUw LjIwMTMwMTE4L2dkYi9wcm9jZnMuYwkyMDEzLTAxLTE4IDIzOjM1OjEyLjU5ODE0NTA3MyArMDEw MAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvcHJvY2ZzLmMJMjAxMy0wMi0xNSAy Mjo0MDoxOC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9wcm9j ZnMuYwkyMDEzLTAyLTE1IDIyOjQyOjQ1Ljk5MjgwNDMxNSArMDEwMAogQEAgLTI0MzMsNyArMjQz Myw3IEBAIHByb2Nmc19hZGRyZXNzX3RvX2hvc3RfcG9pbnRlciAoQ09SRV9BREQKICAjZW5kaWYK ICAKQEAgLTM4MCwxMCArMzgwLDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9w cm9jZnMuYwogIAkJCSAgc3RydWN0IGV4cHJlc3Npb24gKmNvbmQpCiAgewogICAgcmV0dXJuIHBy b2Nmc19zZXRfd2F0Y2hwb2ludCAoaW5mZXJpb3JfcHRpZCwgYWRkciwgMCwgMCwgMCk7Ci1JbmRl eDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvcmVtb3RlLW0zMnItc2RpLmMKK0luZGV4OiBnZGIt Ny41LjUwLjIwMTMwMjE1L2dkYi9yZW1vdGUtbTMyci1zZGkuYwogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdk Yi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvcmVtb3RlLW0zMnItc2RpLmMJMjAxMy0wMS0xOCAy MzozNDo1MS4yMTExMTY1MjMgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9yZW1v dGUtbTMyci1zZGkuYwkyMDEzLTAxLTE4IDIzOjM2OjUwLjAwNDI3NjI5NiArMDEwMAorLS0tIGdk Yi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvcmVtb3RlLW0zMnItc2RpLmMJMjAxMy0wMS0wMSAw NzozMjo1MC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9yZW1v dGUtbTMyci1zZGkuYwkyMDEzLTAyLTE1IDIyOjQyOjQ1Ljk5MzgwNDMxNyArMDEwMAogQEAgLTE0 MTcsMTQgKzE0MTcsMTUgQEAgbTMycl9jYW5fdXNlX2h3X3dhdGNocG9pbnQgKGludCB0eXBlLCBp bgogICAgIHdhdGNocG9pbnQuICAqLwogIApAQCAtNDIyLDEwICs0MjIsMTAgQEAgSW5kZXg6IGdk Yi03LjUuNTAuMjAxMzAxMTgvZ2RiL3JlbW90ZS1tMzJyLXNkaS5jCiAgCiAgICBmb3IgKGkgPSAw OyBpIDwgTUFYX0FDQ0VTU19CUkVBS1M7IGkrKykKICAgICAgewotSW5kZXg6IGdkYi03LjUuNTAu MjAxMzAxMTgvZ2RiL3JlbW90ZS1taXBzLmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dk Yi9yZW1vdGUtbWlwcy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmln L2dkYi9yZW1vdGUtbWlwcy5jCTIwMTMtMDEtMTggMjM6MzQ6NDMuOTM5MTA2ODYwICswMTAwCi0r KysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvcmVtb3RlLW1pcHMuYwkyMDEzLTAxLTE4IDIzOjM0 OjUxLjIxMjExNjUyNSArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvcmVt b3RlLW1pcHMuYwkyMDEzLTAxLTAxIDA3OjMyOjUwLjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03 LjUuNTAuMjAxMzAyMTUvZ2RiL3JlbW90ZS1taXBzLmMJMjAxMy0wMi0xNSAyMjo0Mjo0NS45OTQ4 MDQzMTkgKzAxMDAKIEBAIC0yNDE5LDcgKzI0MTksNyBAQCBjYWxjdWxhdGVfbWFzayAoQ09SRV9B RERSIGFkZHIsIGludCBsZW4pCiAgICAgd2F0Y2hwb2ludC4gICovCiAgCkBAIC00NDQsMTEgKzQ0 NCwxMSBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvcmVtb3RlLW1pcHMuYwogIAkJ CXN0cnVjdCBleHByZXNzaW9uICpjb25kKQogIHsKICAgIGlmIChtaXBzX2NsZWFyX2JyZWFrcG9p bnQgKGFkZHIsIGxlbiwgdHlwZSkpCi1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvcmVt b3RlLmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9yZW1vdGUuYwogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvcmVtb3RlLmMJMjAxMy0wMS0xOCAy MzozNDo0My45NDMxMDY4NjkgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9yZW1v dGUuYwkyMDEzLTAxLTE4IDIzOjM0OjUxLjIxNDExNjUyOSArMDEwMAotQEAgLTgwOTMsNyArODA5 Myw3IEBAIHdhdGNocG9pbnRfdG9fWl9wYWNrZXQgKGludCB0eXBlKQorLS0tIGdkYi03LjUuNTAu MjAxMzAyMTUub3JpZy9nZGIvcmVtb3RlLmMJMjAxMy0wMi0xNSAyMjo0MDoxOC4wMDAwMDAwMDAg KzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9yZW1vdGUuYwkyMDEzLTAyLTE1IDIy OjQyOjQ1Ljk5NjgwNDMyMyArMDEwMAorQEAgLTgxNTUsNyArODE1NSw3IEBAIHdhdGNocG9pbnRf dG9fWl9wYWNrZXQgKGludCB0eXBlKQogIH0KICAKICBzdGF0aWMgaW50CkBAIC00NTcsNyArNDU3 LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3JlbW90ZS5jCiAgCQkJICBzdHJ1 Y3QgZXhwcmVzc2lvbiAqY29uZCkKICB7CiAgICBzdHJ1Y3QgcmVtb3RlX3N0YXRlICpycyA9IGdl dF9yZW1vdGVfc3RhdGUgKCk7Ci1AQCAtODEwOCw3ICs4MTA4LDcgQEAgcmVtb3RlX2luc2VydF93 YXRjaHBvaW50IChDT1JFX0FERFIgYWRkcgorQEAgLTgxNzAsNyArODE3MCw3IEBAIHJlbW90ZV9p bnNlcnRfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFkZHIKICAgIHAgPSBzdHJjaHIgKHJzLT5idWYs ICdcMCcpOwogICAgYWRkciA9IHJlbW90ZV9hZGRyZXNzX21hc2tlZCAoYWRkcik7CiAgICBwICs9 IGhleG51bXN0ciAocCwgKFVMT05HRVNUKSBhZGRyKTsKQEAgLTQ2Niw3ICs0NjYsNyBAQCBJbmRl eDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvcmVtb3RlLmMKICAKICAgIHB1dHBrdCAocnMtPmJ1 Zik7CiAgICBnZXRwa3QgKCZycy0+YnVmLCAmcnMtPmJ1Zl9zaXplLCAwKTsKLUBAIC04MTI4LDcg KzgxMjgsNyBAQCByZW1vdGVfaW5zZXJ0X3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyCitAQCAt ODE5MCw3ICs4MTkwLDcgQEAgcmVtb3RlX2luc2VydF93YXRjaHBvaW50IChDT1JFX0FERFIgYWRk cgogIAogIHN0YXRpYyBpbnQKICByZW1vdGVfd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAo c3RydWN0IHRhcmdldF9vcHMgKnRhcmdldCwgQ09SRV9BRERSIGFkZHIsCkBAIC00NzUsNyArNDc1 LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3JlbW90ZS5jCiAgewogICAgQ09S RV9BRERSIGRpZmYgPSByZW1vdGVfYWRkcmVzc19tYXNrZWQgKGFkZHIgLSBzdGFydCk7CiAgCi1A QCAtODEzNyw3ICs4MTM3LDcgQEAgcmVtb3RlX3dhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2Ug KHN0cgorQEAgLTgxOTksNyArODE5OSw3IEBAIHJlbW90ZV93YXRjaHBvaW50X2FkZHJfd2l0aGlu X3JhbmdlIChzdHIKICAKICAKICBzdGF0aWMgaW50CkBAIC00ODQsNyArNDg0LDcgQEAgSW5kZXg6 IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3JlbW90ZS5jCiAgCQkJICBzdHJ1Y3QgZXhwcmVzc2lv biAqY29uZCkKICB7CiAgICBzdHJ1Y3QgcmVtb3RlX3N0YXRlICpycyA9IGdldF9yZW1vdGVfc3Rh dGUgKCk7Ci1AQCAtODE1Miw3ICs4MTUyLDcgQEAgcmVtb3RlX3JlbW92ZV93YXRjaHBvaW50IChD T1JFX0FERFIgYWRkcgorQEAgLTgyMTQsNyArODIxNCw3IEBAIHJlbW90ZV9yZW1vdmVfd2F0Y2hw b2ludCAoQ09SRV9BRERSIGFkZHIKICAgIHAgPSBzdHJjaHIgKHJzLT5idWYsICdcMCcpOwogICAg YWRkciA9IHJlbW90ZV9hZGRyZXNzX21hc2tlZCAoYWRkcik7CiAgICBwICs9IGhleG51bXN0ciAo cCwgKFVMT05HRVNUKSBhZGRyKTsKQEAgLTQ5MywxMCArNDkzLDEwIEBAIEluZGV4OiBnZGItNy41 LjUwLjIwMTMwMTE4L2dkYi9yZW1vdGUuYwogICAgcHV0cGt0IChycy0+YnVmKTsKICAgIGdldHBr dCAoJnJzLT5idWYsICZycy0+YnVmX3NpemUsIDApOwogIAotSW5kZXg6IGdkYi03LjUuNTAuMjAx MzAxMTgvZ2RiL3MzOTAtbmF0LmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9zMzkw LW5hdC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi9zMzkw LW5hdC5jCTIwMTMtMDEtMTggMjM6MzQ6NDMuOTQ0MTA2ODcxICswMTAwCi0rKysgZ2RiLTcuNS41 MC4yMDEzMDExOC9nZGIvczM5MC1uYXQuYwkyMDEzLTAxLTE4IDIzOjM0OjUxLjIxNTExNjUzMSAr MDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvczM5MC1uYXQuYwkyMDEzLTAy LTE1IDIyOjQwOjE4LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2Ri L3MzOTAtbmF0LmMJMjAxMy0wMi0xNSAyMjo0Mjo0NS45OTc4MDQzMjUgKzAxMDAKIEBAIC01MTYs NyArNTE2LDcgQEAgczM5MF9maXhfd2F0Y2hfcG9pbnRzIChzdHJ1Y3QgbHdwX2luZm8gKgogIH0K ICAKQEAgLTUxNSwxMCArNTE1LDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9z MzkwLW5hdC5jCiAgCQkJc3RydWN0IGV4cHJlc3Npb24gKmNvbmQpCiAgewogICAgc3RydWN0IGx3 cF9pbmZvICpscDsKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi90YXJnZXQuYworSW5k ZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3RhcmdldC5jCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi90YXJnZXQuYwkyMDEzLTAxLTE4IDIzOjM0OjQzLjk0 NzEwNjg3OCArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3RhcmdldC5jCTIwMTMt MDEtMTggMjM6MzQ6NTEuMjE2MTE2NTMzICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5v cmlnL2dkYi90YXJnZXQuYwkyMDEzLTAyLTE1IDIyOjQwOjE4LjAwMDAwMDAwMCArMDEwMAorKysr IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3RhcmdldC5jCTIwMTMtMDItMTUgMjI6NDI6NDUuOTk3 ODA0MzI1ICswMTAwCiBAQCAtNDksNyArNDksOCBAQCBzdGF0aWMgdm9pZCB0YXJnZXRfaW5mbyAo Y2hhciAqLCBpbnQpOwogIHN0YXRpYyB2b2lkIGRlZmF1bHRfdGVybWluYWxfaW5mbyAoY2hhciAq LCBpbnQpOwogIApAQCAtNTc5LDcgKzU3OSw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4 L2dkYi90YXJnZXQuYwogICAgICAgICAgICAgIHJldHVybl96ZXJvKTsKICAgIGRlX2ZhdWx0ICh0 b190ZXJtaW5hbF9pbml0LAogIAkgICAgKHZvaWQgKCopICh2b2lkKSkKLUBAIC0zNTYwLDcgKzM1 NjIsNyBAQCBkZWZhdWx0X3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SCitAQCAtMzU1 OCw3ICszNTYwLDcgQEAgZGVmYXVsdF9yZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKENPUgog IHN0YXRpYyBpbnQKICBkZWZhdWx0X3dhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKHN0cnVj dCB0YXJnZXRfb3BzICp0YXJnZXQsCiAgCQkJCSAgICAgIENPUkVfQUREUiBhZGRyLApAQCAtNTg4 LDcgKzU4OCw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi90YXJnZXQuYwogIHsK ICAgIHJldHVybiBhZGRyID49IHN0YXJ0ICYmIGFkZHIgPCBzdGFydCArIGxlbmd0aDsKICB9Ci1A QCAtNDI2Nyw3ICs0MjY5LDcgQEAgZGVidWdfdG9fcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50 IChDTworQEAgLTQyNjUsNyArNDI2Nyw3IEBAIGRlYnVnX3RvX3JlZ2lvbl9va19mb3JfaHdfd2F0 Y2hwb2ludCAoQ08KICB9CiAgCiAgc3RhdGljIGludApAQCAtNTk3LDcgKzU5Nyw3IEBAIEluZGV4 OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi90YXJnZXQuYwogIAkJCQkJIHN0cnVjdCBleHByZXNz aW9uICpjb25kKQogIHsKICAgIGludCByZXR2YWw7Ci1AQCAtNDI3Nyw4ICs0Mjc5LDggQEAgZGVi dWdfdG9fY2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uCitAQCAtNDI3NSw4ICs0Mjc3LDgg QEAgZGVidWdfdG9fY2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uCiAgCiAgICBmcHJpbnRm X3VuZmlsdGVyZWQgKGdkYl9zdGRsb2csCiAgCQkgICAgICAidGFyZ2V0X2Nhbl9hY2NlbF93YXRj aHBvaW50X2NvbmRpdGlvbiAiCkBAIC02MDgsNyArNjA4LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAu MjAxMzAxMTgvZ2RiL3RhcmdldC5jCiAgCQkgICAgICBob3N0X2FkZHJlc3NfdG9fc3RyaW5nIChj b25kKSwgKHVuc2lnbmVkIGxvbmcpIHJldHZhbCk7CiAgICByZXR1cm4gcmV0dmFsOwogIH0KLUBA IC00MzEzLDcgKzQzMTUsNyBAQCBkZWJ1Z190b19zdG9wcGVkX2RhdGFfYWRkcmVzcyAoc3RydWN0 IHRhCitAQCAtNDMxMSw3ICs0MzEzLDcgQEAgZGVidWdfdG9fc3RvcHBlZF9kYXRhX2FkZHJlc3Mg KHN0cnVjdCB0YQogIHN0YXRpYyBpbnQKICBkZWJ1Z190b193YXRjaHBvaW50X2FkZHJfd2l0aGlu X3JhbmdlIChzdHJ1Y3QgdGFyZ2V0X29wcyAqdGFyZ2V0LAogIAkJCQkgICAgICAgQ09SRV9BRERS IGFkZHIsCkBAIC02MTcsNyArNjE3LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2Ri L3RhcmdldC5jCiAgewogICAgaW50IHJldHZhbDsKICAKLUBAIC00MzIxLDkgKzQzMjMsOSBAQCBk ZWJ1Z190b193YXRjaHBvaW50X2FkZHJfd2l0aGluX3JhbmdlIChzCitAQCAtNDMxOSw5ICs0MzIx LDkgQEAgZGVidWdfdG9fd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAocwogIAkJCQkJCQkg c3RhcnQsIGxlbmd0aCk7CiAgCiAgICBmcHJpbnRmX2ZpbHRlcmVkIChnZGJfc3RkbG9nLApAQCAt NjI5LDcgKzYyOSw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi90YXJnZXQuYwog ICAgcmV0dXJuIHJldHZhbDsKICB9CiAgCi1AQCAtNDM1OCw3ICs0MzYwLDcgQEAgZGVidWdfdG9f cmVtb3ZlX2h3X2JyZWFrcG9pbnQgKHN0cnVjdCBnZAorQEAgLTQzNTYsNyArNDM1OCw3IEBAIGRl YnVnX3RvX3JlbW92ZV9od19icmVha3BvaW50IChzdHJ1Y3QgZ2QKICB9CiAgCiAgc3RhdGljIGlu dApAQCAtNjM4LDcgKzYzOCw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi90YXJn ZXQuYwogIAkJCSAgICBzdHJ1Y3QgZXhwcmVzc2lvbiAqY29uZCkKICB7CiAgICBpbnQgcmV0dmFs OwotQEAgLTQzNjYsMTQgKzQzNjgsMTQgQEAgZGVidWdfdG9faW5zZXJ0X3dhdGNocG9pbnQgKENP UkVfQUREUiBhZAorQEAgLTQzNjQsMTQgKzQzNjYsMTQgQEAgZGVidWdfdG9faW5zZXJ0X3dhdGNo cG9pbnQgKENPUkVfQUREUiBhZAogICAgcmV0dmFsID0gZGVidWdfdGFyZ2V0LnRvX2luc2VydF93 YXRjaHBvaW50IChhZGRyLCBsZW4sIHR5cGUsIGNvbmQpOwogIAogICAgZnByaW50Zl91bmZpbHRl cmVkIChnZGJfc3RkbG9nLApAQCAtNjU2LDcgKzY1Niw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIw MTMwMTE4L2dkYi90YXJnZXQuYwogIAkJCSAgICBzdHJ1Y3QgZXhwcmVzc2lvbiAqY29uZCkKICB7 CiAgICBpbnQgcmV0dmFsOwotQEAgLTQzODEsOCArNDM4Myw4IEBAIGRlYnVnX3RvX3JlbW92ZV93 YXRjaHBvaW50IChDT1JFX0FERFIgYWQKK0BAIC00Mzc5LDggKzQzODEsOCBAQCBkZWJ1Z190b19y ZW1vdmVfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFkCiAgICByZXR2YWwgPSBkZWJ1Z190YXJnZXQu dG9fcmVtb3ZlX3dhdGNocG9pbnQgKGFkZHIsIGxlbiwgdHlwZSwgY29uZCk7CiAgCiAgICBmcHJp bnRmX3VuZmlsdGVyZWQgKGdkYl9zdGRsb2csCkBAIC02NjcsMTAgKzY2NywxMCBAQCBJbmRleDog Z2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdGFyZ2V0LmMKICAJCSAgICAgIGhvc3RfYWRkcmVzc190 b19zdHJpbmcgKGNvbmQpLCAodW5zaWduZWQgbG9uZykgcmV0dmFsKTsKICAgIHJldHVybiByZXR2 YWw7CiAgfQotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3RhcmdldC5oCitJbmRleDog Z2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvdGFyZ2V0LmgKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41 LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL3RhcmdldC5oCTIwMTMtMDEtMTggMjM6MzQ6NDMuOTQ3MTA2 ODc4ICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdGFyZ2V0LmgJMjAxMy0wMS0x OCAyMzozNDo1MS4yMTcxMTY1MzYgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcv Z2RiL3RhcmdldC5oCTIwMTMtMDItMTUgMjI6NDA6MTguMDAwMDAwMDAwICswMTAwCisrKysgZ2Ri LTcuNS41MC4yMDEzMDIxNS9nZGIvdGFyZ2V0LmgJMjAxMy0wMi0xNSAyMjo0Mjo0NS45OTg4MDQz MjggKzAxMDAKIEBAIC00NjYsOCArNDY2LDggQEAgc3RydWN0IHRhcmdldF9vcHMKICAKICAgICAg LyogRG9jdW1lbnRhdGlvbiBvZiB3aGF0IHRoZSB0d28gcm91dGluZXMgYmVsb3cgYXJlIGV4cGVj dGVkIHRvIGRvIGlzCgpkaWZmIC0tZ2l0IGEvZ2RiLnNwZWMgYi9nZGIuc3BlYwppbmRleCA2MzJj MzNmLi40ZWMwYjJhIDEwMDY0NAotLS0gYS9nZGIuc3BlYworKysgYi9nZGIuc3BlYwpAQCAtMjcs MTQgKzI3LDE0IEBACiBTdW1tYXJ5OiBBIEdOVSBzb3VyY2UtbGV2ZWwgZGVidWdnZXIgZm9yIEMs IEMrKywgRm9ydHJhbiwgR28gYW5kIG90aGVyIGxhbmd1YWdlcwogTmFtZTogJXs/c2NsX3ByZWZp eH1nZGIKIAotJWdsb2JhbCBzbmFwICAgICAgIDIwMTIwODE3CislZ2xvYmFsIHNuYXAgICAgICAg MjAxMzAyMTUKICMgU2VlIHRpbWVzdGFtcCBvZiBzb3VyY2UgZ251bGliIGluc3RhbGxlZCBpbnRv IGdkYi9nbnVsaWIvIC4KLSVnbG9iYWwgc25hcGdudWxpYiAyMDEyMDYyMwotVmVyc2lvbjogNy41 LjUwLjIwMTMwMTE4CislZ2xvYmFsIHNuYXBnbnVsaWIgMjAxMjEyMTMKK1ZlcnNpb246IDcuNS41 MC4yMDEzMDIxNQogCiAjIFRoZSByZWxlYXNlIGFsd2F5cyBjb250YWlucyBhIGxlYWRpbmcgcmVz ZXJ2ZWQgbnVtYmVyLCBzdGFydCBpdCBhdCAxLgogIyBgdXBzdHJlYW0nIGlzIG5vdCBhIHBhcnQg b2YgYG5hbWUnIHRvIHN0YXkgZnVsbHkgcnBtIGRlcGVuZGVuY2llcyBjb21wYXRpYmxlIGZvciB0 aGUgdGVzdGluZy4KLVJlbGVhc2U6IDYlez9kaXN0fQorUmVsZWFzZTogNyV7P2Rpc3R9CiAKIExp Y2Vuc2U6IEdQTHYzKyBhbmQgR1BMdjMrIHdpdGggZXhjZXB0aW9ucyBhbmQgR1BMdjIrIGFuZCBH UEx2Misgd2l0aCBleGNlcHRpb25zIGFuZCBHUEwrIGFuZCBMR1BMdjIrIGFuZCBCU0QgYW5kIFB1 YmxpYyBEb21haW4KIEdyb3VwOiBEZXZlbG9wbWVudC9EZWJ1Z2dlcnMKQEAgLTM2NiwxMCArMzY2 LDYgQEAgUGF0Y2gzMTc6IGdkYi02Ljgtc3BhcmM2NC1zaWxlbmNlLW1lbWNweS1jaGVjay5wYXRj aAogIz1mZWRvcmF0ZXN0CiBQYXRjaDMyMDogZ2RiLTYuNS1zZWN0aW9uLW51bS1maXh1cC10ZXN0 LnBhdGNoCiAKLSMgRml4IFBSUFNJTkZPIGluIHRoZSBjb3JlIGZpbGVzIGR1bXBlZCBieSBnY29y ZSAoQlogMjU0MjI5KS4KLSM9cHVzaAotUGF0Y2gzMjk6IGdkYi02LjgtYnoyNTQyMjktZ2NvcmUt cHJwc2luZm8ucGF0Y2gKLQogIyBGaXggcmVnaXN0ZXIgYXNzaWdubWVudHMgd2l0aCBubyBHREIg c3RhY2sgZnJhbWVzIChCWiA0MzYwMzcpLgogIz1wdXNoK3dvcms6IFRoaXMgZml4IGlzIGluY29y cmVjdC4KIFBhdGNoMzMwOiBnZGItNi44LWJ6NDM2MDM3LXJlZy1uby1sb25nZXItYWN0aXZlLnBh dGNoCkBAIC01NjEsMTQgKzU1Nyw2IEBAIFBhdGNoODE2OiBnZGItcmhiejc5NTQyNC1iaXRwb3Mt MjVvZjI1LnBhdGNoCiBQYXRjaDgxNzogZ2RiLXJoYno3OTU0MjQtYml0cG9zLTI1b2YyNS10ZXN0 LnBhdGNoCiBQYXRjaDgxODogZ2RiLXJoYno3OTU0MjQtYml0cG9zLWxhenl2YWx1ZS5wYXRjaAog Ci0jIEZpeCBnZGIuZm9ydHJhbi9jb21tb24tYmxvY2suZXhwIGluIFBJRSBtb2RlLgotIz1wdXNo Ci1QYXRjaDgyMzogZ2RiLWNvbW1vbmJsb2NrLXBpZS5wYXRjaAotCi0jPXB1c2gKLSMgRml4IGFz c2VydCBjcmFzaGVzIHdpdGggbWluaWRlYnVnaW5mbyAoQlogOTAzNTIyKS4KLVBhdGNoODI0OiBn ZGItbWluaWRlYnVnaW5mby1jcmFzaC5wYXRjaAotCiAlaWYgMCV7IT9yaGVsOjF9IHx8IDAlez9y aGVsfSA+IDYKICMgUkxfU1RBVEVfRkVET1JBX0dEQiB3b3VsZCBub3QgYmUgZm91bmQgZm9yOgog IyBQYXRjaDY0MjogZ2RiLXJlYWRsaW5lNjItYXNrLW1vcmUtcmgucGF0Y2gKQEAgLTgyOSw3ICs4 MTcsNiBAQCBmaW5kIC1uYW1lICIqLmluZm8qInx4YXJncyBybSAtZgogJXBhdGNoMzE1IC1wMQog JXBhdGNoMzE3IC1wMQogJXBhdGNoMzIwIC1wMQotJXBhdGNoMzI5IC1wMQogJXBhdGNoMzMwIC1w MQogJXBhdGNoMzQzIC1wMQogJXBhdGNoMzQ4IC1wMQpAQCAtODgyLDggKzg2OSw2IEBAIGZpbmQg LW5hbWUgIiouaW5mbyoifHhhcmdzIHJtIC1mCiAlcGF0Y2g4MTYgLXAxCiAlcGF0Y2g4MTcgLXAx CiAlcGF0Y2g4MTggLXAxCi0lcGF0Y2g4MjMgLXAxCi0lcGF0Y2g4MjQgLXAxCiAKICVwYXRjaDM5 MyAtcDEKICVpZiAwJXshP2VsNToxfSB8fCAwJXs/c2NsOjF9CkBAIC0xMzgzLDYgKzEzNjgsOSBA QCBmaQogJWVuZGlmICMgMCV7IT9lbDU6MX0gfHwgIiV7X3RhcmdldF9jcHV9IiA9PSAibm9hcmNo IgogCiAlY2hhbmdlbG9nCisqIE1vbiBGZWIgMTggMjAxMyBKYW4gS3JhdG9jaHZpbCA8amFuLmty YXRvY2h2aWxAcmVkaGF0LmNvbT4gLSA3LjUuNTAuMjAxMzAyMTUtNy5mYzE5CistIFJlYmFzZSB0 byBGU0YgR0RCIDcuNS41MC4yMDEzMDIxNSAocHJlLTcuNiBzbmFwc2hvdCkuCisKICogRnJpIEZl YiAgOCAyMDEzIEphbiBLcmF0b2NodmlsIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPiAtIDcu NS41MC4yMDEzMDExOC02LmZjMTkKIC0gUmUtZW5hYmxlIFBERiBpbiBnZGItZG9jIGFmdGVyIHRl eGluZm8gUkggQlogODc2NzEwIGhhcyBiZWVuIGZpeGVkLgogCgpkaWZmIC0tZ2l0IGEvc291cmNl cyBiL3NvdXJjZXMKaW5kZXggMTBhNTU5Ny4uMmE3ODJmZSAxMDA2NDQKLS0tIGEvc291cmNlcwor KysgYi9zb3VyY2VzCkBAIC0xLDIgKzEsMiBAQAogNDk4MTMwN2FhOTYxOWJiZWM1YjczMjYxZTRl NDFjOGQgIGdkYi1saWJzdGRjKystdjMtcHl0aG9uLXIxNTU5NzgudGFyLmJ6MgotODg5ZjYyYWQ5 OWEwNDFkYWY1MTQzYzYxYTU1OWNmMmYgIGdkYi03LjUuNTAuMjAxMzAxMTgudGFyLmJ6MgorOGQ0 ZDViYWYwNmFjZjdjOTUyMTEzMDJlZmZmYjE2YWQgIGdkYi03LjUuNTAuMjAxMzAyMTUudGFyLmJ6 Mgo=