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.10.50.20160106 (trunk snapshot). Date: Thu, 23 Jul 2026 18:32:03 GMT Message-ID: <178483152302.1.8670207518894894926.rpms-gdb-2116e53327da@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: fix-dup-patch X-Git-Rev: 2116e53327da0f5a3df28573d96be339cb83006d QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2RiCkJyYW5jaCA6 IGZpeC1kdXAtcGF0Y2gKQ29tbWl0IDogMjExNmU1MzMyN2RhMGY1YTNkZjI4NTczZDk2YmUzMzlj YjgzMDA2ZApBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNv bT4KRGF0ZSAgIDogMjAxNi0wMS0wOFQyMjoxOTowOSswMTowMApTdGF0cyAgOiArMTcyNi8tNDA1 IGluIDEyIGZpbGUocykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBt cy9nZGIvYy8yMTE2ZTUzMzI3ZGEwZjVhM2RmMjg1NzNkOTZiZTMzOWNiODMwMDZkP2JyYW5jaD1m aXgtZHVwLXBhdGNoCgpMb2c6ClJlYmFzZSB0byBGU0YgR0RCIDcuMTAuNTAuMjAxNjAxMDYgKHRy dW5rIHNuYXBzaG90KS4KCi0tLQpkaWZmIC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5naXRpZ25vcmUK aW5kZXggNTIyYTE0ZC4uZjkxMWNiMiAxMDA2NDQKLS0tIGEvLmdpdGlnbm9yZQorKysgYi8uZ2l0 aWdub3JlCkBAIC0xLDIgKzEsMiBAQAogL2dkYi1saWJzdGRjKystdjMtcHl0aG9uLXIyMjU1MjEu dGFyLnh6Ci0vZ2RiLTcuMTAuNTAuMjAxNTExMTMudGFyLnh6CisvZ2RiLTcuMTAuNTAuMjAxNjAx MDYudGFyLnh6CgpkaWZmIC0tZ2l0IGEvZ2RiLTYuMy10ZXN0LXBpZS0yMDA1MDEwNy5wYXRjaCBi L2dkYi02LjMtdGVzdC1waWUtMjAwNTAxMDcucGF0Y2gKaW5kZXggOWI3MmZmOC4uZGIzMjcxYiAx MDA2NDQKLS0tIGEvZ2RiLTYuMy10ZXN0LXBpZS0yMDA1MDEwNy5wYXRjaAorKysgYi9nZGItNi4z LXRlc3QtcGllLTIwMDUwMTA3LnBhdGNoCkBAIC0xLDE5ICsxLDE5IEBACi1JbmRleDogZ2RiLTcu OS41MC4yMDE1MDUyMC9nZGIvdGVzdHN1aXRlL2NvbmZpZ3VyZS5hYworSW5kZXg6IGdkYi03LjEw LjUwLjIwMTYwMTA2L2dkYi90ZXN0c3VpdGUvY29uZmlndXJlLmFjCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Z2RiLTcuOS41MC4yMDE1MDUyMC5vcmlnL2dkYi90ZXN0c3VpdGUvY29uZmlndXJlLmFjCTIwMTUt MDUtMzEgMTY6MzQ6MDIuMzk2OTY5NDUwICswMjAwCi0rKysgZ2RiLTcuOS41MC4yMDE1MDUyMC9n ZGIvdGVzdHN1aXRlL2NvbmZpZ3VyZS5hYwkyMDE1LTA1LTMxIDE2OjM0OjMzLjQ0MzE5NjcxMSAr MDIwMAotQEAgLTExNCw1ICsxMTQsNSBAQCBBQ19PVVRQVVQoW01ha2VmaWxlIFwKKy0tLSBnZGIt Ny4xMC41MC4yMDE2MDEwNi5vcmlnL2dkYi90ZXN0c3VpdGUvY29uZmlndXJlLmFjCTIwMTYtMDEt MDYgMDI6NDg6MzcuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2Ri L3Rlc3RzdWl0ZS9jb25maWd1cmUuYWMJMjAxNi0wMS0wOCAxOTo1NzoyMy43NDc1NzE1NDMgKzAx MDAKK0BAIC0xMTIsNSArMTEyLDUgQEAKICAgIGdkYi5ndWlsZS9NYWtlZmlsZSBnZGIubGluZXNw ZWMvTWFrZWZpbGUgXAogICAgZ2RiLm1pL01ha2VmaWxlIGdkYi5tb2R1bGEyL01ha2VmaWxlIGdk Yi5tdWx0aS9NYWtlZmlsZSBcCiAgICBnZGIub2JqYy9NYWtlZmlsZSBnZGIub3BlbmNsL01ha2Vm aWxlIGdkYi5vcHQvTWFrZWZpbGUgZ2RiLnBhc2NhbC9NYWtlZmlsZSBcCiAtICBnZGIucGVyZi9N YWtlZmlsZSBnZGIucHl0aG9uL01ha2VmaWxlIGdkYi5yZXZlcnNlL01ha2VmaWxlIGdkYi5zdGFi cy9NYWtlZmlsZSBcCiArICBnZGIucGVyZi9NYWtlZmlsZSBnZGIucGllL01ha2VmaWxlIGdkYi5w eXRob24vTWFrZWZpbGUgZ2RiLnJldmVyc2UvTWFrZWZpbGUgZ2RiLnN0YWJzL01ha2VmaWxlIFwK ICAgIGdkYi50aHJlYWRzL01ha2VmaWxlIGdkYi50cmFjZS9NYWtlZmlsZSBnZGIueG1sL01ha2Vm aWxlXSkKLUluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi90ZXN0c3VpdGUvY29uZmlndXJl CitJbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3Rlc3RzdWl0ZS9jb25maWd1cmUKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItNy45LjUwLjIwMTUwNTIwLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9jb25m aWd1cmUJMjAxNS0wNS0zMSAxNjozMzo1My4xNTQ5MDE3OTggKzAyMDAKLSsrKyBnZGItNy45LjUw LjIwMTUwNTIwL2dkYi90ZXN0c3VpdGUvY29uZmlndXJlCTIwMTUtMDUtMzEgMTY6MzQ6NDguNjU0 MzA4MDU3ICswMjAwCi1AQCAtMzUxNCw3ICszNTE0LDcgQEAgcHJvZ3JhbV90cmFuc2Zvcm1fbmFt ZT1gJGFzX2VjaG8gIiRwcm9ncgorLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9yaWcvZ2RiL3Rl c3RzdWl0ZS9jb25maWd1cmUJMjAxNi0wMS0wNiAwMjo0ODozNy4wMDAwMDAwMDAgKzAxMDAKKysr KyBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvdGVzdHN1aXRlL2NvbmZpZ3VyZQkyMDE2LTAxLTA4 IDE5OjU3OjIzLjc0ODU3MTU0OSArMDEwMAorQEAgLTM1MTIsNyArMzUxMiw3IEBACiAgYWNfY29u ZmlnX2ZpbGVzPSIkYWNfY29uZmlnX2ZpbGVzIGxpYi9wZHRyYWNlIgogIAogIApAQCAtMjIsNyAr MjIsNyBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvdGVzdHN1aXRlL2NvbmZpZ3Vy ZQogIAogIGNhdCA+Y29uZmNhY2hlIDw8XF9BQ0VPRgogICMgVGhpcyBmaWxlIGlzIGEgc2hlbGwg c2NyaXB0IHRoYXQgY2FjaGVzIHRoZSByZXN1bHRzIG9mIGNvbmZpZ3VyZQotQEAgLTQyNDIsNiAr NDI0Miw3IEBAIGRvCitAQCAtNDI0MCw2ICs0MjQwLDcgQEAKICAgICAgImdkYi5vcHQvTWFrZWZp bGUiKSBDT05GSUdfRklMRVM9IiRDT05GSUdfRklMRVMgZ2RiLm9wdC9NYWtlZmlsZSIgOzsKICAg ICAgImdkYi5wYXNjYWwvTWFrZWZpbGUiKSBDT05GSUdfRklMRVM9IiRDT05GSUdfRklMRVMgZ2Ri LnBhc2NhbC9NYWtlZmlsZSIgOzsKICAgICAgImdkYi5wZXJmL01ha2VmaWxlIikgQ09ORklHX0ZJ TEVTPSIkQ09ORklHX0ZJTEVTIGdkYi5wZXJmL01ha2VmaWxlIiA7OwpAQCAtMzAsMTAgKzMwLDEw IEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi90ZXN0c3VpdGUvY29uZmlndXJlCiAg ICAgICJnZGIucHl0aG9uL01ha2VmaWxlIikgQ09ORklHX0ZJTEVTPSIkQ09ORklHX0ZJTEVTIGdk Yi5weXRob24vTWFrZWZpbGUiIDs7CiAgICAgICJnZGIucmV2ZXJzZS9NYWtlZmlsZSIpIENPTkZJ R19GSUxFUz0iJENPTkZJR19GSUxFUyBnZGIucmV2ZXJzZS9NYWtlZmlsZSIgOzsKICAgICAgImdk Yi5zdGFicy9NYWtlZmlsZSIpIENPTkZJR19GSUxFUz0iJENPTkZJR19GSUxFUyBnZGIuc3RhYnMv TWFrZWZpbGUiIDs7Ci1JbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvdGVzdHN1aXRlL2dk Yi5waWUvYXR0YWNoLmMKK0luZGV4OiBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvdGVzdHN1aXRl L2dkYi5waWUvYXR0YWNoLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAw MDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi90ZXN0 c3VpdGUvZ2RiLnBpZS9hdHRhY2guYwkyMDE1LTA1LTMxIDE2OjM0OjAyLjM5ODk2OTQ2NSArMDIw MAorKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi90ZXN0c3VpdGUvZ2RiLnBpZS9hdHRhY2gu YwkyMDE2LTAxLTA4IDE5OjU3OjIzLjc0ODU3MTU0OSArMDEwMAogQEAgLTAsMCArMSwyMCBAQAog Ky8qIFRoaXMgcHJvZ3JhbSBpcyBpbnRlbmRlZCB0byBiZSBzdGFydGVkIG91dHNpZGUgb2YgZ2Ri LCBhbmQgdGhlbgogKyAgIGF0dGFjaGVkIHRvIGJ5IGdkYi4gIFRodXMsIGl0IHNpbXBseSBzcGlu cyBpbiBhIGxvb3AuICBUaGUgbG9vcApAQCAtNTUsMTAgKzU1LDEwIEBAIEluZGV4OiBnZGItNy45 LjUwLjIwMTUwNTIwL2dkYi90ZXN0c3VpdGUvZ2RiLnBpZS9hdHRhY2guYwogKyAgICB9CiArICBy ZXR1cm4gMDsKICt9Ci1JbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvdGVzdHN1aXRlL2dk Yi5waWUvYXR0YWNoMi5jCitJbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3Rlc3RzdWl0 ZS9nZGIucGllL2F0dGFjaDIuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAx IDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL3Rl c3RzdWl0ZS9nZGIucGllL2F0dGFjaDIuYwkyMDE1LTA1LTMxIDE2OjM0OjAyLjM5ODk2OTQ2NSAr MDIwMAorKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi90ZXN0c3VpdGUvZ2RiLnBpZS9hdHRh Y2gyLmMJMjAxNi0wMS0wOCAxOTo1NzoyMy43NDg1NzE1NDkgKzAxMDAKIEBAIC0wLDAgKzEsMjQg QEAKICsvKiBUaGlzIHByb2dyYW0gaXMgaW50ZW5kZWQgdG8gYmUgc3RhcnRlZCBvdXRzaWRlIG9m IGdkYiwgYW5kIHRoZW4KICsgICBhdHRhY2hlZCB0byBieSBnZGIuICBUaHVzLCBpdCBzaW1wbHkg c3BpbnMgaW4gYSBsb29wLiAgVGhlIGxvb3AKQEAgLTg0LDEwICs4NCwxMCBAQCBJbmRleDogZ2Ri LTcuOS41MC4yMDE1MDUyMC9nZGIvdGVzdHN1aXRlL2dkYi5waWUvYXR0YWNoMi5jCiArICAgIH0K ICsgIHJldHVybiAoMCk7CiArfQotSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL3Rlc3Rz dWl0ZS9nZGIucGllL2JyZWFrLmMKK0luZGV4OiBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvdGVz dHN1aXRlL2dkYi5waWUvYnJlYWsuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAx LTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjkuNTAuMjAxNTA1MjAvZ2Ri L3Rlc3RzdWl0ZS9nZGIucGllL2JyZWFrLmMJMjAxNS0wNS0zMSAxNjozNDowMi4zOTk5Njk0NzIg KzAyMDAKKysrKyBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvdGVzdHN1aXRlL2dkYi5waWUvYnJl YWsuYwkyMDE2LTAxLTA4IDE5OjU3OjIzLjc0ODU3MTU0OSArMDEwMAogQEAgLTAsMCArMSwxNDYg QEAKICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgog KwpAQCAtMjM1LDEwICsyMzUsMTAgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL3Rl c3RzdWl0ZS9nZGIucGllL2JyZWFrLmMKICsgICAgfQogKyAgcmV0dXJuIDA7CiArfQotSW5kZXg6 IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIucGllL2JyZWFrMS5jCitJbmRl eDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3Rlc3RzdWl0ZS9nZGIucGllL2JyZWFrMS5jCiA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICsw MDAwCi0rKysgZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvdGVzdHN1aXRlL2dkYi5waWUvYnJlYWsx LmMJMjAxNS0wNS0zMSAxNjozNDowMi4zOTk5Njk0NzIgKzAyMDAKKysrKyBnZGItNy4xMC41MC4y MDE2MDEwNi9nZGIvdGVzdHN1aXRlL2dkYi5waWUvYnJlYWsxLmMJMjAxNi0wMS0wOCAxOTo1Nzoy My43NDk1NzE1NTQgKzAxMDAKIEBAIC0wLDAgKzEsNDQgQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlz IHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMjg0LDEwICsyODQsMTAgQEAg SW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIucGllL2JyZWFrMS5j CiArdm9pZCBtYXJrZXIzIChhLCBiKSBjaGFyICphLCAqYjsge30JLyogc2V0IGJyZWFrcG9pbnQg MTggaGVyZSAqLwogK3ZvaWQgbWFya2VyNCAoZCkgbG9uZyBkOyB7fQkJLyogc2V0IGJyZWFrcG9p bnQgMTMgaGVyZSAqLwogKyNlbmRpZgotSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL3Rl c3RzdWl0ZS9nZGIucGllL2NvcmVtYWtlci5jCitJbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYv Z2RiL3Rlc3RzdWl0ZS9nZGIucGllL2NvcmVtYWtlci5jCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9u dWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuOS41MC4y MDE1MDUyMC9nZGIvdGVzdHN1aXRlL2dkYi5waWUvY29yZW1ha2VyLmMJMjAxNS0wNS0zMSAxNjoz NDowMi4zOTk5Njk0NzIgKzAyMDAKKysrKyBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvdGVzdHN1 aXRlL2dkYi5waWUvY29yZW1ha2VyLmMJMjAxNi0wMS0wOCAxOTo1NzoyMy43NDk1NzE1NTQgKzAx MDAKIEBAIC0wLDAgKzEsMTQyIEBACiArLyogQ29weXJpZ2h0IDE5OTIsIDE5OTMsIDE5OTQsIDE5 OTUsIDE5OTYsIDE5OTkKICsgICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KQEAgLTQz MSwxMCArNDMxLDEwIEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi90ZXN0c3VpdGUv Z2RiLnBpZS9jb3JlbWFrZXIuYwogKyAgcmV0dXJuIDA7CiArfQogKwotSW5kZXg6IGdkYi03Ljku NTAuMjAxNTA1MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIucGllL2F0dGFjaC5leHAKK0luZGV4OiBnZGIt Ny4xMC41MC4yMDE2MDEwNi9nZGIvdGVzdHN1aXRlL2dkYi5waWUvYXR0YWNoLmV4cAogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAot KysrIGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIucGllL2F0dGFjaC5leHAJ MjAxNS0wNS0zMSAxNjozNDowMi40MDA5Njk0ODAgKzAyMDAKKysrKyBnZGItNy4xMC41MC4yMDE2 MDEwNi9nZGIvdGVzdHN1aXRlL2dkYi5waWUvYXR0YWNoLmV4cAkyMDE2LTAxLTA4IDE5OjU3OjIz Ljc0OTU3MTU1NCArMDEwMAogQEAgLTAsMCArMSw0MTcgQEAKICsjICAgQ29weXJpZ2h0IDE5OTcs IDE5OTksIDIwMDIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC04NTMsMTEg Kzg1MywxMSBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvdGVzdHN1aXRlL2dkYi5w aWUvYXR0YWNoLmV4cAogK2RvX2NhbGxfYXR0YWNoX3Rlc3RzCiArCiArcmV0dXJuIDAKLUluZGV4 OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi90ZXN0c3VpdGUvZ2RiLnBpZS9icmVhay5leHAKK0lu ZGV4OiBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvdGVzdHN1aXRlL2dkYi5waWUvYnJlYWsuZXhw CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAw ICswMDAwCi0rKysgZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvdGVzdHN1aXRlL2dkYi5waWUvYnJl YWsuZXhwCTIwMTUtMDUtMzEgMTY6MzQ6MDIuNDAxOTY5NDg3ICswMjAwCi1AQCAtMCwwICsxLDk2 MiBAQAorKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi90ZXN0c3VpdGUvZ2RiLnBpZS9icmVh ay5leHAJMjAxNi0wMS0wOCAxOTo1ODowMC44Nzc3NzgzOTUgKzAxMDAKK0BAIC0wLDAgKzEsOTU4 IEBACiArIyAgIENvcHlyaWdodCAxOTg4LCAxOTkwLCAxOTkxLCAxOTkyLCAxOTk0LCAxOTk1LCAx OTk2LCAxOTk3LCAxOTk4LCAxOTk5LAogKyMgICAyMDAwLCAyMDAyLCAyMDAzLCAyMDA0CiArIyAg IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpAQCAtMTAxOCwxMSArMTAxOCw3IEBAIElu ZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi90ZXN0c3VpdGUvZ2RiLnBpZS9icmVhay5leHAK ICsgICAgc2V0IG1haW5fbGluZSAkYnBfbG9jYXRpb242CiArfQogKwotK2lmIHskaHBfYUNDX2Nv bXBpbGVyfSB7Ci0rICAgIHNldCBwcm90byAiXFwoaW50XFwpIgotK30gZWxzZSB7Ci0rICAgIHNl dCBwcm90byAiIgotK30KKytzZXQgcHJvdG8gIiIKICsKICtzZXQgYnBfbG9jYXRpb243IFtnZGJf Z2V0X2xpbmVfbnVtYmVyICJzZXQgYnJlYWtwb2ludCA3IGhlcmUiXQogK3NldCBicF9sb2NhdGlv bjggW2dkYl9nZXRfbGluZV9udW1iZXIgInNldCBicmVha3BvaW50IDggaGVyZSIgJHNyY2ZpbGUx XQpAQCAtMTgyMCwxMCArMTgxNiwxMCBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIv dGVzdHN1aXRlL2dkYi5waWUvYnJlYWsuZXhwCiArICAgIHNlbmRfZ2RiICJzZXQgYXJncyBtYWlu XG4iCiArICAgIGdkYl9leHBlY3QgLXJlICIuKiRnZGJfcHJvbXB0ICQiIHt9CiArfQotSW5kZXg6 IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIucGllL2NvcmVmaWxlLmV4cAor SW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi90ZXN0c3VpdGUvZ2RiLnBpZS9jb3JlZmls ZS5leHAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAw MDAwMDAgKzAwMDAKLSsrKyBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi90ZXN0c3VpdGUvZ2RiLnBp ZS9jb3JlZmlsZS5leHAJMjAxNS0wNS0zMSAxNjozNDowMi40MDE5Njk0ODcgKzAyMDAKKysrKyBn ZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvdGVzdHN1aXRlL2dkYi5waWUvY29yZWZpbGUuZXhwCTIw MTYtMDEtMDggMTk6NTc6MjMuNzUwNTcxNTYwICswMTAwCiBAQCAtMCwwICsxLDIzMyBAQAogKyMg Q29weXJpZ2h0IDE5OTIsIDE5OTMsIDE5OTQsIDE5OTUsIDE5OTYsIDE5OTcsIDE5OTgsIDE5OTks IDIwMDAKICsjIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpAQCAtMjA1OCwxMCArMjA1 NCwxMCBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvdGVzdHN1aXRlL2dkYi5waWUv Y29yZWZpbGUuZXhwCiArZ2RiX3Rlc3QgInVwIiAiI1xbMC05XF0qICpcWzAtOXhhLWZIJ1xdKiBp biAuKiBcXCguKlxcKS4qIiAidXAgaW4gY29yZWZpbGUuZXhwIChyZWluaXQpIgogKwogK2dkYl90 ZXN0ICJjb3JlIiAiTm8gY29yZSBmaWxlIG5vdy4iCi1JbmRleDogZ2RiLTcuOS41MC4yMDE1MDUy MC9nZGIvdGVzdHN1aXRlL2dkYi5waWUvTWFrZWZpbGUuaW4KK0luZGV4OiBnZGItNy4xMC41MC4y MDE2MDEwNi9nZGIvdGVzdHN1aXRlL2dkYi5waWUvTWFrZWZpbGUuaW4KID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0t LSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGIt Ny45LjUwLjIwMTUwNTIwL2dkYi90ZXN0c3VpdGUvZ2RiLnBpZS9NYWtlZmlsZS5pbgkyMDE1LTA1 LTMxIDE2OjM0OjAyLjQwMTk2OTQ4NyArMDIwMAorKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dk Yi90ZXN0c3VpdGUvZ2RiLnBpZS9NYWtlZmlsZS5pbgkyMDE2LTAxLTA4IDE5OjU3OjIzLjc1MDU3 MTU2MCArMDEwMAogQEAgLTAsMCArMSwxOSBAQAogK1ZQQVRIID0gQHNyY2RpckAKICtzcmNkaXIg PSBAc3JjZGlyQAoKZGlmZiAtLWdpdCBhL2dkYi1hdHRhY2gtZmFpbC1yZWFzb25zLTVvZjUucGF0 Y2ggYi9nZGItYXR0YWNoLWZhaWwtcmVhc29ucy01b2Y1LnBhdGNoCmluZGV4IDFmYjk3MGEuLjQ4 ZDdhYjQgMTAwNjQ0Ci0tLSBhL2dkYi1hdHRhY2gtZmFpbC1yZWFzb25zLTVvZjUucGF0Y2gKKysr IGIvZ2RiLWF0dGFjaC1mYWlsLXJlYXNvbnMtNW9mNS5wYXRjaApAQCAtMzcsMTAgKzM3LDEwIEBA IGdkYi9nZGJzZXJ2ZXIvCiAJKGxpbnV4X2NyZWF0ZV9pbmZlcmlvciwgbGludXhfdHJhY2Vmb3Jr X2NoaWxkKTogQ2FsbCBpdCBpbnN0ZWFkIG9mCiAJZGlyZWN0IHB0cmFjZS4KIAotSW5kZXg6IGdk Yi03LjEwLjUwLjIwMTUxMTEzL2dkYi9uYXQvbGludXgtcHRyYWNlLmMKK0luZGV4OiBnZGItNy4x MC41MC4yMDE2MDEwNi9nZGIvbmF0L2xpbnV4LXB0cmFjZS5jCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTcuMTAuNTAuMjAxNTExMTMub3JpZy9nZGIvbmF0L2xpbnV4LXB0cmFjZS5jCTIwMTUtMTEtMTMg MDI6NDg6NDAuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTExMTMvZ2RiL25h dC9saW51eC1wdHJhY2UuYwkyMDE1LTExLTE0IDE2OjExOjIyLjkwMjEyMTk3MCArMDEwMAorLS0t IGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9yaWcvZ2RiL25hdC9saW51eC1wdHJhY2UuYwkyMDE2LTAx LTA4IDE5OjE1OjU3LjU4MDcwNzk0NCArMDEwMAorKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dk Yi9uYXQvbGludXgtcHRyYWNlLmMJMjAxNi0wMS0wOCAxOToxNjowMi42NTQ3MzYyNDYgKzAxMDAK IEBAIC0yNCw2ICsyNCwxMCBAQAogICNpbmNsdWRlICJnZGJfd2FpdC5oIgogICNpbmNsdWRlICJn ZGJfcHRyYWNlLmgiCkBAIC01Miw3ICs1Miw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTEx My9nZGIvbmF0L2xpbnV4LXB0cmFjZS5jCiAgLyogU3RvcmVzIHRoZSBwdHJhY2Ugb3B0aW9ucyBz dXBwb3J0ZWQgYnkgdGhlIHJ1bm5pbmcga2VybmVsLgogICAgIEEgdmFsdWUgb2YgLTEgbWVhbnMg d2UgZGlkIG5vdCBjaGVjayBmb3IgZmVhdHVyZXMgeWV0LiAgQSB2YWx1ZQogICAgIG9mIDAgbWVh bnMgdGhlcmUgYXJlIG5vIHN1cHBvcnRlZCBmZWF0dXJlcy4gICovCi1AQCAtNDgsNiArNTIsOCBA QCBsaW51eF9wdHJhY2VfYXR0YWNoX2ZhaWxfcmVhc29uIChwaWRfdCBwCitAQCAtNDgsNiArNTIs OCBAQAogICAgICBidWZmZXJfeG1sX3ByaW50ZiAoYnVmZmVyLCBfKCJwcm9jZXNzICVkIGlzIGEg em9tYmllICIKICAJCQkJICItIHRoZSBwcm9jZXNzIGhhcyBhbHJlYWR5IHRlcm1pbmF0ZWQiKSwK ICAJCSAgICAgICAoaW50KSBwaWQpOwpAQCAtNjEsNyArNjEsNyBAQCBJbmRleDogZ2RiLTcuMTAu NTAuMjAxNTExMTMvZ2RiL25hdC9saW51eC1wdHJhY2UuYwogIH0KICAKICAvKiBTZWUgbGludXgt cHRyYWNlLmguICAqLwotQEAgLTU5NCw2ICs2MDAsMjIgQEAgbGludXhfcHRyYWNlX2luaXRfd2Fy bmluZ3MgKHZvaWQpCitAQCAtNTk0LDYgKzYwMCwyMiBAQAogICAgbGludXhfcHRyYWNlX3Rlc3Rf cmV0X3RvX254ICgpOwogIH0KICAKQEAgLTg0LDExICs4NCwxMSBAQCBJbmRleDogZ2RiLTcuMTAu NTAuMjAxNTExMTMvZ2RiL25hdC9saW51eC1wdHJhY2UuYwogIC8qIEV4dHJhY3QgZXh0ZW5kZWQg cHRyYWNlIGV2ZW50IGZyb20gd2FpdCBzdGF0dXMuICAqLwogIAogIGludAotSW5kZXg6IGdkYi03 LjEwLjUwLjIwMTUxMTEzL2dkYi9uYXQvbGludXgtcHRyYWNlLmgKK0luZGV4OiBnZGItNy4xMC41 MC4yMDE2MDEwNi9nZGIvbmF0L2xpbnV4LXB0cmFjZS5oCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcu MTAuNTAuMjAxNTExMTMub3JpZy9nZGIvbmF0L2xpbnV4LXB0cmFjZS5oCTIwMTUtMTEtMTMgMDI6 NDg6NDAuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTExMTMvZ2RiL25hdC9s aW51eC1wdHJhY2UuaAkyMDE1LTExLTE0IDE2OjExOjIyLjkwMjEyMTk3MCArMDEwMAotQEAgLTE2 NCw2ICsxNjQsNyBAQCBleHRlcm4gdm9pZCBsaW51eF9wdHJhY2VfYXR0YWNoX2ZhaWxfcmVhCist LS0gZ2RiLTcuMTAuNTAuMjAxNjAxMDYub3JpZy9nZGIvbmF0L2xpbnV4LXB0cmFjZS5oCTIwMTYt MDEtMDggMTk6MTU6NTcuNTgxNzA3OTUwICswMTAwCisrKysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYv Z2RiL25hdC9saW51eC1wdHJhY2UuaAkyMDE2LTAxLTA4IDE5OjE2OjAyLjY1NTczNjI1MSArMDEw MAorQEAgLTE2NCw2ICsxNjQsNyBAQAogIGV4dGVybiBjaGFyICpsaW51eF9wdHJhY2VfYXR0YWNo X2ZhaWxfcmVhc29uX3N0cmluZyAocHRpZF90IHB0aWQsIGludCBlcnIpOwogIAogIGV4dGVybiB2 b2lkIGxpbnV4X3B0cmFjZV9pbml0X3dhcm5pbmdzICh2b2lkKTsKQEAgLTk2LDExICs5NiwxMSBA QCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTExMTMvZ2RiL25hdC9saW51eC1wdHJhY2UuaAogIGV4 dGVybiB2b2lkIGxpbnV4X2NoZWNrX3B0cmFjZV9mZWF0dXJlcyAodm9pZCk7CiAgZXh0ZXJuIHZv aWQgbGludXhfZW5hYmxlX2V2ZW50X3JlcG9ydGluZyAocGlkX3QgcGlkLCBpbnQgYXR0YWNoZWQp OwogIGV4dGVybiB2b2lkIGxpbnV4X2Rpc2FibGVfZXZlbnRfcmVwb3J0aW5nIChwaWRfdCBwaWQp OwotSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMTEzL2dkYi9jb25maWd1cmUuYWMKK0luZGV4OiBn ZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvY29uZmlndXJlLmFjCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTcuMTAuNTAuMjAxNTExMTMub3JpZy9nZGIvY29uZmlndXJlLmFjCTIwMTUtMTEtMTQgMTY6MTE6 MjIuNjEwMTIwMTY4ICswMTAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTExMTMvZ2RiL2NvbmZpZ3Vy ZS5hYwkyMDE1LTExLTE0IDE2OjExOjIyLjkwMjEyMTk3MCArMDEwMAotQEAgLTIwOTYsNiArMjA5 NiwxMCBAQCBjYXNlICRob3N0X29zIGluCistLS0gZ2RiLTcuMTAuNTAuMjAxNjAxMDYub3JpZy9n ZGIvY29uZmlndXJlLmFjCTIwMTYtMDEtMDggMTk6MTU6NTcuNTgyNzA3OTU1ICswMTAwCisrKysg Z2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL2NvbmZpZ3VyZS5hYwkyMDE2LTAxLTA4IDE5OjE2OjAy LjY1NjczNjI1NyArMDEwMAorQEAgLTIwNzcsNiArMjA3NywxMCBAQAogIGVzYWMKICBBQ19ERUZJ TkVfVU5RVU9URUQoR0RCSU5JVCwiJGdkYmluaXQiLFtUaGUgLmdkYmluaXQgZmlsZW5hbWUuXSkK ICAKQEAgLTExMSwxMSArMTExLDExIEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTExMy9nZGIv Y29uZmlndXJlLmFjCiAgZG5sIEhhbmRsZSBvcHRpb25hbCBmZWF0dXJlcyB0aGF0IGNhbiBiZSBl bmFibGVkLgogIAogICMgU3VwcG9ydCBmb3IgLS13aXRoLXN5c3Jvb3QgaXMgYSBjb3B5IG9mIEdE Ql9BQ19XSVRIX0RJUiwKLUluZGV4OiBnZGItNy4xMC41MC4yMDE1MTExMy9nZGIvZ2Ric2VydmVy L2NvbmZpZ3VyZS5hYworSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9nZGJzZXJ2ZXIv Y29uZmlndXJlLmFjCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTExMTMub3JpZy9n ZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZS5hYwkyMDE1LTExLTEzIDAyOjQ4OjQwLjAwMDAwMDAwMCAr MDEwMAotKysrIGdkYi03LjEwLjUwLjIwMTUxMTEzL2dkYi9nZGJzZXJ2ZXIvY29uZmlndXJlLmFj CTIwMTUtMTEtMTQgMTY6MTE6MjIuOTAzMTIxOTc2ICswMTAwCi1AQCAtNTAyLDYgKzUwMiwxMCBA QCBpZiAkd2FudF9pcGEgOyB0aGVuCistLS0gZ2RiLTcuMTAuNTAuMjAxNjAxMDYub3JpZy9nZGIv Z2Ric2VydmVyL2NvbmZpZ3VyZS5hYwkyMDE2LTAxLTA4IDE5OjE1OjU3LjU4MjcwNzk1NSArMDEw MAorKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9nZGJzZXJ2ZXIvY29uZmlndXJlLmFjCTIw MTYtMDEtMDggMTk6MTY6MDIuNjU2NzM2MjU3ICswMTAwCitAQCAtNTI0LDYgKzUyNCwxMCBAQAog ICAgIGZpCiAgZmkKICAKQEAgLTEyNiwxMSArMTI2LDExIEBAIEluZGV4OiBnZGItNy4xMC41MC4y MDE1MTExMy9nZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZS5hYwogIEFDX1NVQlNUKEdEQlNFUlZFUl9E RVBGSUxFUykKICBBQ19TVUJTVChHREJTRVJWRVJfTElCUykKICBBQ19TVUJTVChzcnZfeG1sYnVp bHRpbikKLUluZGV4OiBnZGItNy4xMC41MC4yMDE1MTExMy9nZGIvZ2Ric2VydmVyL2xpbnV4LWxv dy5jCitJbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL2dkYnNlcnZlci9saW51eC1sb3cu YwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi03LjEwLjUwLjIwMTUxMTEzLm9yaWcvZ2RiL2dkYnNlcnZl ci9saW51eC1sb3cuYwkyMDE1LTExLTEzIDAyOjQ4OjQwLjAwMDAwMDAwMCArMDEwMAotKysrIGdk Yi03LjEwLjUwLjIwMTUxMTEzL2dkYi9nZGJzZXJ2ZXIvbGludXgtbG93LmMJMjAxNS0xMS0xNCAx NjoxMToyMi45MDQxMjE5ODIgKzAxMDAKLUBAIC04MzMsNiArODMzLDI5IEBAIGFkZF9sd3AgKHB0 aWRfdCBwdGlkKQorLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9yaWcvZ2RiL2dkYnNlcnZlci9s aW51eC1sb3cuYwkyMDE2LTAxLTA4IDE5OjE1OjU3LjU4NTcwNzk3MiArMDEwMAorKysrIGdkYi03 LjEwLjUwLjIwMTYwMTA2L2dkYi9nZGJzZXJ2ZXIvbGludXgtbG93LmMJMjAxNi0wMS0wOCAxOTox NjowMi42NTg3MzYyNjggKzAxMDAKK0BAIC04NTMsNiArODUzLDI5IEBACiAgICByZXR1cm4gbHdw OwogIH0KICAKQEAgLTE2MCwyMCArMTYwLDIwIEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTEx My9nZGIvZ2Ric2VydmVyL2xpbnV4LWxvdy5jCiAgLyogU3RhcnQgYW4gaW5mZXJpb3IgcHJvY2Vz cyBhbmQgcmV0dXJucyBpdHMgcGlkLgogICAgIEFMTEFSR1MgaXMgYSB2ZWN0b3Igb2YgcHJvZ3Jh bS1uYW1lIGFuZCBhcmdzLiAqLwogIAotQEAgLTg1Niw3ICs4NzksNyBAQCBsaW51eF9jcmVhdGVf aW5mZXJpb3IgKGNoYXIgKnByb2dyYW0sIGNoCitAQCAtODc2LDcgKzg5OSw3IEBACiAgICBpZiAo cGlkID09IDApCiAgICAgIHsKICAgICAgICBjbG9zZV9tb3N0X2ZkcyAoKTsKIC0gICAgICBwdHJh Y2UgKFBUUkFDRV9UUkFDRU1FLCAwLCAoUFRSQUNFX1RZUEVfQVJHMykgMCwgKFBUUkFDRV9UWVBF X0FSRzQpIDApOwogKyAgICAgIGxpbnV4X3RyYWNlbWUgKHByb2dyYW0pOwogIAotICNpZm5kZWYg X19BTkRST0lEX18gLyogQmlvbmljIGRvZXNuJ3QgdXNlIFNJR1JUTUlOIHRoZSB3YXkgZ2xpYmMg ZG9lcy4gICovCi0gICAgICAgc2lnbmFsIChfX1NJR1JUTUlOICsgMSwgU0lHX0RGTCk7Ci1JbmRl eDogZ2RiLTcuMTAuNTAuMjAxNTExMTMvZ2RiL2luZi1wdHJhY2UuYworICAgICAgIHNldHBnaWQg KDAsIDApOworIAorSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9pbmYtcHRyYWNlLmMK ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItNy4xMC41MC4yMDE1MTExMy5vcmlnL2dkYi9pbmYtcHRyYWNl LmMJMjAxNS0xMS0xMyAwMjo0ODo0MC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4xMC41MC4y MDE1MTExMy9nZGIvaW5mLXB0cmFjZS5jCTIwMTUtMTEtMTQgMTY6MTE6MjIuOTA0MTIxOTgyICsw MTAwCi1AQCAtNzksNyArNzksMTUgQEAgc3RhdGljIHZvaWQKKy0tLSBnZGItNy4xMC41MC4yMDE2 MDEwNi5vcmlnL2dkYi9pbmYtcHRyYWNlLmMJMjAxNi0wMS0wOCAxOToxNTo1Ny41ODY3MDc5Nzcg KzAxMDAKKysrKyBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvaW5mLXB0cmFjZS5jCTIwMTYtMDEt MDggMTk6MTY6MDIuNjU5NzM2Mjc0ICswMTAwCitAQCAtNzksNyArNzksMTUgQEAKICBpbmZfcHRy YWNlX21lICh2b2lkKQogIHsKICAgIC8qICJUcmFjZSBtZSwgRHIuIE1lbW9yeSEiICAqLwpAQCAt MTg5LDExICsxODksMTEgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMTEzL2dkYi9pbmYtcHRy YWNlLmMKICB9CiAgCiAgLyogU3RhcnQgYSBuZXcgaW5mZXJpb3IgVW5peCBjaGlsZCBwcm9jZXNz LiAgRVhFQ19GSUxFIGlzIHRoZSBmaWxlIHRvCi1JbmRleDogZ2RiLTcuMTAuNTAuMjAxNTExMTMv Z2RiL2xpbnV4LW5hdC5jCitJbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL2xpbnV4LW5h dC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTExMTMub3JpZy9nZGIvbGludXgt bmF0LmMJMjAxNS0xMS0xMyAwMjo0ODo0MC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4xMC41 MC4yMDE1MTExMy9nZGIvbGludXgtbmF0LmMJMjAxNS0xMS0xNCAxNjoxMToyMi45MDUxMjE5ODgg KzAxMDAKLUBAIC0xMTg0LDYgKzExODQsNyBAQCBsaW51eF9uYXRfY3JlYXRlX2luZmVyaW9yIChz dHJ1Y3QgdGFyZ2V0CistLS0gZ2RiLTcuMTAuNTAuMjAxNjAxMDYub3JpZy9nZGIvbGludXgtbmF0 LmMJMjAxNi0wMS0wOCAxOToxNTo1Ny41ODc3MDc5ODMgKzAxMDAKKysrKyBnZGItNy4xMC41MC4y MDE2MDEwNi9nZGIvbGludXgtbmF0LmMJMjAxNi0wMS0wOCAxOToxNjowMi42NjA3MzYyNzkgKzAx MDAKK0BAIC0xMDE2LDYgKzEwMTYsNyBAQAogIHsKICAgIHN0cnVjdCBjbGVhbnVwICpyZXN0b3Jl X3BlcnNvbmFsaXR5CiAgICAgID0gbWF5YmVfZGlzYWJsZV9hZGRyZXNzX3NwYWNlX3JhbmRvbWl6 YXRpb24gKGRpc2FibGVfcmFuZG9taXphdGlvbik7CkBAIC0yMDEsNyArMjAxLDcgQEAgSW5kZXg6 IGdkYi03LjEwLjUwLjIwMTUxMTEzL2dkYi9saW51eC1uYXQuYwogIAogICAgLyogVGhlIGZvcmtf Y2hpbGQgbWVjaGFuaXNtIGlzIHN5bmNocm9ub3VzIGFuZCBjYWxscyB0YXJnZXRfd2FpdCwgc28K ICAgICAgIHdlIGhhdmUgdG8gbWFzayB0aGUgYXN5bmMgbW9kZS4gICovCi1AQCAtMTE5MSw3ICsx MTkyLDI4IEBAIGxpbnV4X25hdF9jcmVhdGVfaW5mZXJpb3IgKHN0cnVjdCB0YXJnZXQKK0BAIC0x MDIzLDcgKzEwMjQsMjggQEAKICAgIC8qIE1ha2Ugc3VyZSB3ZSByZXBvcnQgYWxsIHNpZ25hbHMg ZHVyaW5nIHN0YXJ0dXAuICAqLwogICAgbGludXhfbmF0X3Bhc3Nfc2lnbmFscyAob3BzLCAwLCBO VUxMKTsKICAKQEAgLTIzMSwxMCArMjMxLDEwIEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTEx My9nZGIvbGludXgtbmF0LmMKICAKICAgIGRvX2NsZWFudXBzIChyZXN0b3JlX3BlcnNvbmFsaXR5 KTsKICB9Ci1JbmRleDogZ2RiLTcuMTAuNTAuMjAxNTExMTMvZ2RiL2NvbmZpZy5pbgorSW5kZXg6 IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9jb25maWcuaW4KID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt Ny4xMC41MC4yMDE1MTExMy5vcmlnL2dkYi9jb25maWcuaW4JMjAxNS0xMS0xNCAxNjoxMToyMi42 MDcxMjAxNTAgKzAxMDAKLSsrKyBnZGItNy4xMC41MC4yMDE1MTExMy9nZGIvY29uZmlnLmluCTIw MTUtMTEtMTQgMTY6MTE6MjIuOTA1MTIxOTg4ICswMTAwCistLS0gZ2RiLTcuMTAuNTAuMjAxNjAx MDYub3JpZy9nZGIvY29uZmlnLmluCTIwMTYtMDEtMDggMTk6MTU6NTcuNTg4NzA3OTg5ICswMTAw CisrKysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL2NvbmZpZy5pbgkyMDE2LTAxLTA4IDE5OjE2 OjAyLjY2MDczNjI3OSArMDEwMAogQEAgLTI2NCw2ICsyNjQsOSBAQAogIC8qIERlZmluZSBpZiBs aWJycG0gbGlicmFyeSBpcyBiZWluZyB1c2VkLiAqLwogICN1bmRlZiBIQVZFX0xJQlJQTQpAQCAt MjU1LDExICsyNTUsMTEgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMTEzL2dkYi9jb25maWcu aW4KICAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHNldGxvY2FsZScgZnVuY3Rpb24u ICovCiAgI3VuZGVmIEhBVkVfU0VUTE9DQUxFCiAgCi1JbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEx MTMvZ2RiL2NvbmZpZ3VyZQorSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9jb25maWd1 cmUKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMC41MC4yMDE1MTExMy5vcmlnL2dkYi9jb25maWd1 cmUJMjAxNS0xMS0xNCAxNjoxMToyMi42MTAxMjAxNjggKzAxMDAKLSsrKyBnZGItNy4xMC41MC4y MDE1MTExMy9nZGIvY29uZmlndXJlCTIwMTUtMTEtMTQgMTY6MTE6MjIuOTA3MTIyMDAxICswMTAw Ci1AQCAtMTQ2OTQsNiArMTQ2OTQsNjQgQEAgY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgorLS0t IGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9yaWcvZ2RiL2NvbmZpZ3VyZQkyMDE2LTAxLTA4IDE5OjE1 OjU3LjU5MzcwODAxNyArMDEwMAorKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9jb25maWd1 cmUJMjAxNi0wMS0wOCAxOToxNjowMi42NjU3MzYzMDcgKzAxMDAKK0BAIC0xNDY1Myw2ICsxNDY1 Myw2NCBAQAogIF9BQ0VPRgogIAogIApAQCAtMzI0LDEwICszMjQsMTAgQEAgSW5kZXg6IGdkYi03 LjEwLjUwLjIwMTUxMTEzL2dkYi9jb25maWd1cmUKICAKICAjIFN1cHBvcnQgZm9yIC0td2l0aC1z eXNyb290IGlzIGEgY29weSBvZiBHREJfQUNfV0lUSF9ESVIsCiAgIyBleGNlcHQgdGhhdCB0aGUg YXJndW1lbnQgdG8gLS13aXRoLXN5c3Jvb3QgaXMgb3B0aW9uYWwuCi1JbmRleDogZ2RiLTcuMTAu NTAuMjAxNTExMTMvZ2RiL2dkYnNlcnZlci9jb25maWcuaW4KK0luZGV4OiBnZGItNy4xMC41MC4y MDE2MDEwNi9nZGIvZ2Ric2VydmVyL2NvbmZpZy5pbgogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEw LjUwLjIwMTUxMTEzLm9yaWcvZ2RiL2dkYnNlcnZlci9jb25maWcuaW4JMjAxNS0xMS0xMyAwMjo0 ODo0MC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4xMC41MC4yMDE1MTExMy9nZGIvZ2Ric2Vy dmVyL2NvbmZpZy5pbgkyMDE1LTExLTE0IDE2OjEzOjE1Ljk3NDgxOTU0MSArMDEwMAorLS0tIGdk Yi03LjEwLjUwLjIwMTYwMTA2Lm9yaWcvZ2RiL2dkYnNlcnZlci9jb25maWcuaW4JMjAxNi0wMS0w OCAxOToxNTo1Ny41OTU3MDgwMjggKzAxMDAKKysrKyBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIv Z2Ric2VydmVyL2NvbmZpZy5pbgkyMDE2LTAxLTA4IDE5OjE2OjAyLjY2NTczNjMwNyArMDEwMAog QEAgLTExNyw2ICsxMTcsOSBAQAogIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgbWNo ZWNrJyBsaWJyYXJ5ICgtbG1jaGVjaykuICovCiAgI3VuZGVmIEhBVkVfTElCTUNIRUNLCkBAIC0z NDgsMTEgKzM0OCwxMSBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTExMTMvZ2RiL2dkYnNlcnZl ci9jb25maWcuaW4KICAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHNldG5zJyBmdW5j dGlvbi4gKi8KICAjdW5kZWYgSEFWRV9TRVROUwogIAotSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUx MTEzL2dkYi9nZGJzZXJ2ZXIvY29uZmlndXJlCitJbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYv Z2RiL2dkYnNlcnZlci9jb25maWd1cmUKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMC41MC4yMDE1 MTExMy5vcmlnL2dkYi9nZGJzZXJ2ZXIvY29uZmlndXJlCTIwMTUtMTEtMTMgMDI6NDg6NDAuMDAw MDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTExMTMvZ2RiL2dkYnNlcnZlci9jb25m aWd1cmUJMjAxNS0xMS0xNCAxNjoxMzoxNC44NjY4MTI3MDYgKzAxMDAKLUBAIC03MjkwLDYgKzcy OTAsNjQgQEAgaWYgJHdhbnRfaXBhIDsgdGhlbgorLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9y aWcvZ2RiL2dkYnNlcnZlci9jb25maWd1cmUJMjAxNi0wMS0wOCAxOToxNTo1Ny41OTc3MDgwMzkg KzAxMDAKKysrKyBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZQky MDE2LTAxLTA4IDE5OjE2OjAyLjY2NzczNjMxOCArMDEwMAorQEAgLTczMTEsNiArNzMxMSw2NCBA QAogICAgIGZpCiAgZmkKICAKCmRpZmYgLS1naXQgYS9nZGItZm9yay1wbHVzLXRocmVhZHMtYXNj ZW5kaW5nLXJldmVydC5wYXRjaCBiL2dkYi1mb3JrLXBsdXMtdGhyZWFkcy1hc2NlbmRpbmctcmV2 ZXJ0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyNThiZjQKLS0t IC9kZXYvbnVsbAorKysgYi9nZGItZm9yay1wbHVzLXRocmVhZHMtYXNjZW5kaW5nLXJldmVydC5w YXRjaApAQCAtMCwwICsxLDk0NSBAQAoraHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRj aGVzLzIwMTYtMDEvbXNnMDAxNDEuaHRtbAorU3ViamVjdDogUmVncmVzc2lvbiBmb3IgZ2RiLnRo cmVhZHMvZm9yay1wbHVzLXRocmVhZHMuZXhwICBbUmU6IFtQQVRDSCAzLzZdIExpc3QgaW5mZXJp b3JzL3RocmVhZHMvcHNwYWNlcyBpbiBhc2NlbmRpbmcgb3JkZXJdCisKK09uIFRodSwgMjIgT2N0 IDIwMTUgMTE6NTk6MDEgKzAyMDAsIFBlZHJvIEFsdmVzIHdyb3RlOgorCis3ZTBhYTZhYTk5ODNj NzQ1YWVkYzIwM2RiMGNjMzYwYTBhZDQ3Y2FjIGlzIHRoZSBmaXJzdCBiYWQgY29tbWl0Citjb21t aXQgN2UwYWE2YWE5OTgzYzc0NWFlZGMyMDNkYjBjYzM2MGEwYWQ0N2NhYworQXV0aG9yOiBQZWRy byBBbHZlcyA8cGFsdmVzQHJlZGhhdC5jb20+CitEYXRlOiAgIFR1ZSBOb3YgMjQgMTg6MTE6MjEg MjAxNSArMDAwMAorICAgIExpc3QgaW5mZXJpb3JzL3RocmVhZHMvcHNwYWNlcyBpbiBhc2NlbmRp bmcgb3JkZXIKKworUEFTUy0+RkFJTDoKK0ZBSUw6IGdkYi50aHJlYWRzL2ZvcmstcGx1cy10aHJl YWRzLmV4cDogZGV0YWNoLW9uLWZvcms9b2ZmOiBpbmZlcmlvciAxIGV4aXRlZAorRkFJTDogZ2Ri LnRocmVhZHMvZm9yay1wbHVzLXRocmVhZHMuZXhwOiBkZXRhY2gtb24tZm9yaz1vZmY6IG5vIHRo cmVhZHMgbGVmdCAodGltZW91dCkKK0ZBSUw6IGdkYi50aHJlYWRzL2ZvcmstcGx1cy10aHJlYWRz LmV4cDogZGV0YWNoLW9uLWZvcms9b2ZmOiBvbmx5IGluZmVyaW9yIDEgbGVmdCAodGhlIHByb2dy YW0gZXhpdGVkKQorCistUEFTUzogZ2RiLnRocmVhZHMvZm9yay1wbHVzLXRocmVhZHMuZXhwOiBk ZXRhY2gtb24tZm9yaz1vZmY6IGluZmVyaW9yIDEgZXhpdGVkCisrd2FybmluZzogRXJyb3IgcmVt b3ZpbmcgYnJlYWtwb2ludCAxXk0KKytFcnJvciBpbiByZS1zZXR0aW5nIGJyZWFrcG9pbnQgMTog V2FybmluZzpeTQorK0Nhbm5vdCBpbnNlcnQgYnJlYWtwb2ludCAxLl5NCisrQ2Fubm90IGFjY2Vz cyBtZW1vcnkgYXQgYWRkcmVzcyAweDgwNDg3MDBeTQorK15NCisrV2FybmluZzpeTQorK0Nhbm5v dCBpbnNlcnQgYnJlYWtwb2ludCAxLl5NCisrQ2Fubm90IGFjY2VzcyBtZW1vcnkgYXQgYWRkcmVz cyAweDgwNDg3MDBeTQorK15NCisrKGdkYikgRkFJTDogZ2RiLnRocmVhZHMvZm9yay1wbHVzLXRo cmVhZHMuZXhwOiBkZXRhY2gtb24tZm9yaz1vZmY6IGluZmVyaW9yIDEgZXhpdGVkCisKK0kgaGF2 ZW4ndCB0cmllZCB0byBkZWJ1ZyBpdC4KKworSXQgaGFwcGVucyBvbiBGZWRvcmEgMjMgeDg2XzY0 IHdpdGggLW0zMiBmb3IgdGhlIHRlc3RzdWl0ZS4KKworCitKYW4KKworUkVWRVJUOgorCitjb21t aXQgN2UwYWE2YWE5OTgzYzc0NWFlZGMyMDNkYjBjYzM2MGEwYWQ0N2NhYworQXV0aG9yOiBQZWRy byBBbHZlcyA8cGFsdmVzQHJlZGhhdC5jb20+CitEYXRlOiAgIFR1ZSBOb3YgMjQgMTg6MTE6MjEg MjAxNSArMDAwMAorCisgICAgTGlzdCBpbmZlcmlvcnMvdGhyZWFkcy9wc3BhY2VzIGluIGFzY2Vu ZGluZyBvcmRlcgorICAgIAorICAgIEJlZm9yZToKKyAgICAgIChnZGIpIGluZm8gdGhyZWFkcwor ICAgICAgICBJZCAgIFRhcmdldCBJZCAgICAgICAgIEZyYW1lCisgICAgICAgIDMgICAgVGhyZWFk IDB4N2ZmZmY3N2MzNzAwIChMV1AgMjkwMzUpIGNhbGxtZSAoKSBhdCBmb28uYzozMAorICAgICAg ICAyICAgIFRocmVhZCAweDdmZmZmN2ZjNDcwMCAoTFdQIDI5MDM0KSAweDAwMDAwMDAwMDA0MDA4 N2IgaW4gY2hpbGRfZnVuY3Rpb25fMiAoYXJnPTB4MCkgYXQgZm9vLmM6NjAKKyAgICAgICogMSAg ICBUaHJlYWQgMHg3ZmZmZjdmYzU3NDAgKExXUCAyOTAzMCkgMHgwMDAwMDAzYjM3MjA5MjM3IGlu IHB0aHJlYWRfam9pbiAodGhyZWFkaWQ9MTQwNzM3MzUzODkzNjMyLCB0aHJlYWRfcmV0dXJuPTB4 MCkgYXQgcHRocmVhZF9qb2luLmM6OTIKKyAgICAKKyAgICBBZnRlcjoKKyAgICAgIChnZGIpIGlu Zm8gdGhyZWFkcworICAgICAgICBJZCAgIFRhcmdldCBJZCAgICAgICAgIEZyYW1lCisgICAgICAq IDEgICAgVGhyZWFkIDB4N2ZmZmY3ZmM1NzQwIChMV1AgMjkwMzApIDB4MDAwMDAwM2IzNzIwOTIz NyBpbiBwdGhyZWFkX2pvaW4gKHRocmVhZGlkPTE0MDczNzM1Mzg5MzYzMiwgdGhyZWFkX3JldHVy bj0weDApIGF0IHB0aHJlYWRfam9pbi5jOjkyCisgICAgICAgIDIgICAgVGhyZWFkIDB4N2ZmZmY3 ZmM0NzAwIChMV1AgMjkwMzQpIDB4MDAwMDAwMDAwMDQwMDg3YiBpbiBjaGlsZF9mdW5jdGlvbl8y IChhcmc9MHgwKSBhdCBmb28uYzo2MAorICAgICAgICAzICAgIFRocmVhZCAweDdmZmZmNzdjMzcw MCAoTFdQIDI5MDM1KSBjYWxsbWUgKCkgYXQgZm9vLmM6MzAKKyAgICAKKyAgICBnZGIvZG9jL0No YW5nZUxvZzoKKyAgICAyMDE1LTExLTI0ICBQZWRybyBBbHZlcyAgPHBhbHZlc0ByZWRoYXQuY29t PgorICAgIAorICAgIAlQUiAxNzUzOQorICAgIAkqIGdkYi50ZXhpbmZvIChJbmZlcmlvcnMgYW5k IFByb2dyYW1zKTogQWRqdXN0ICJtYWludCBpbmZvCisgICAgCXByb2dyYW0tc3BhY2VzIiBleGFt cGxlIHRvIGFzY2VuZGluZyBvcmRlciBsaXN0aW5nLgorICAgIAkoVGhyZWFkcyk6IEFkanVzdCAi aW5mbyB0aHJlYWRzIiBleGFtcGxlIHRvIGFzY2VuZGluZyBvcmRlcgorICAgIAlsaXN0aW5nLgor ICAgIAkoRm9ya3MpOiBBZGp1c3QgImluZm8gaW5mZXJpb3JzIiBleGFtcGxlIHRvIGFzY2VuZGlu ZyBvcmRlcgorICAgIAlsaXN0aW5nLgorICAgIAorICAgIGdkYi9DaGFuZ2VMb2c6CisgICAgMjAx NS0xMS0yNCAgUGVkcm8gQWx2ZXMgIDxwYWx2ZXNAcmVkaGF0LmNvbT4KKyAgICAKKyAgICAJUFIg MTc1MzkKKyAgICAJKiBpbmZlcmlvci5jIChhZGRfaW5mZXJpb3Jfc2lsZW50KTogQXBwZW5kIHRo ZSBuZXcgaW5mZXJpb3IgdG8gdGhlCisgICAgCWVuZCBvZiB0aGUgbGlzdC4KKyAgICAJKiBwcm9n c3BhY2UuYyAoYWRkX3Byb2dyYW1fc3BhY2UpOiBBcHBlbmQgdGhlIG5ldyBwc3BhY2UgdG8gdGhl CisgICAgCWVuZCBvZiB0aGUgbGlzdC4KKyAgICAJKiB0aHJlYWQuYyAobmV3X3RocmVhZCk6IEFw cGVuZCB0aGUgbmV3IHRocmVhZCB0byB0aGUgZW5kIG9mIHRoZQorICAgIAlsaXN0LgorICAgIAor ICAgIGdkYi90ZXN0c3VpdGUvQ2hhbmdlTG9nOgorICAgIDIwMTUtMTEtMjQgIFBlZHJvIEFsdmVz ICA8cGFsdmVzQHJlZGhhdC5jb20+CisgICAgCisgICAgCVBSIDE3NTM5CisgICAgCSogZ2RiLmJh c2UvZm9sbC1leGVjLW1vZGUuZXhwOiBBZGp1c3QgdG8gR0RCIGxpc3RpbmcgaW5mZXJpb3JzIGFu ZAorICAgIAl0aHJlYWRzIGluIGFzY2VuZGluZyBvcmRlci4KKyAgICAJKiBnZGIuYmFzZS9mb2xs LWZvcmsuZXhwOiBMaWtld2lzZS4KKyAgICAJKiBnZGIuYmFzZS9mb2xsLXZmb3JrLmV4cDogTGlr ZXdpc2UuCisgICAgCSogZ2RiLmJhc2UvbXVsdGktZm9ya3MuZXhwOiBMaWtld2lzZS4KKyAgICAJ KiBnZGIubWkvbWktbm9uc3RvcC5leHA6IExpa2V3aXNlLgorICAgIAkqIGdkYi5taS9taS1uc2lu dHJhbGwuZXhwOiBMaWtld2lzZS4KKyAgICAJKiBnZGIubXVsdGkvYmFzZS5leHA6IExpa2V3aXNl LgorICAgIAkqIGdkYi5tdWx0aS9tdWx0aS1hcmNoLmV4cDogTGlrZXdpc2UuCisgICAgCSogZ2Ri LnB5dGhvbi9weS1pbmZlcmlvci5leHA6IExpa2V3aXNlLgorICAgIAkqIGdkYi50aHJlYWRzL2Jy ZWFrLXdoaWxlLXJ1bm5pbmcuZXhwOiBMaWtld2lzZS4KKyAgICAJKiBnZGIudGhyZWFkcy9leGVj bC5leHA6IExpa2V3aXNlLgorICAgIAkqIGdkYi50aHJlYWRzL2djb3JlLXRocmVhZC5leHA6IExp a2V3aXNlLgorICAgIAkqIGdkYi50aHJlYWRzL2luZm8tdGhyZWFkcy1jdXItc2FsLmV4cDogTGlr ZXdpc2UuCisgICAgCSogZ2RiLnRocmVhZHMva2lsbC5leHA6IExpa2V3aXNlLgorICAgIAkqIGdk Yi50aHJlYWRzL2xpbnV4LWRwLmV4cDogTGlrZXdpc2UuCisgICAgCSogZ2RiLnRocmVhZHMvbXVs dGlwbGUtc3RlcC1vdmVycy5leHA6IExpa2V3aXNlLgorICAgIAkqIGdkYi50aHJlYWRzL25leHQt YnAtb3RoZXItdGhyZWFkLmV4cDogTGlrZXdpc2UuCisgICAgCSogZ2RiLnRocmVhZHMvc3RlcC1i Zy1kZWNyLXBjLXN3aXRjaC10aHJlYWQuZXhwOiBMaWtld2lzZS4KKyAgICAJKiBnZGIudGhyZWFk cy9zdGVwLW92ZXItbGFuZHMtb24tYnJlYWtwb2ludC5leHA6IExpa2V3aXNlLgorICAgIAkqIGdk Yi50aHJlYWRzL3N0ZXAtb3Zlci10cmlwcy1vbi13YXRjaHBvaW50LmV4cDogTGlrZXdpc2UuCisg ICAgCSogZ2RiLnRocmVhZHMvdGhyZWFkLWZpbmQuZXhwOiBMaWtld2lzZS4KKyAgICAJKiBnZGIu dGhyZWFkcy90bHMuZXhwOiBMaWtld2lzZS4KKyAgICAJKiBsaWIvbWktc3VwcG9ydC5leHAgKG1p X3JldmVyc2VfbGlzdCk6IERlbGV0ZS4KKyAgICAJKG1pX2NoZWNrX3RocmVhZF9zdGF0ZXMpOiBO byBsb25nZXIgcmV2ZXJzZSBsaXN0LgorCitkaWZmIC0tZ2l0IGEvZ2RiL2RvYy9nZGIudGV4aW5m byBiL2dkYi9kb2MvZ2RiLnRleGluZm8KK2luZGV4IDA3NzgzODMuLmZlOTQ4MWQgMTAwNjQ0Cist LS0gYS9nZGIvZG9jL2dkYi50ZXhpbmZvCisrKysgYi9nZGIvZG9jL2dkYi50ZXhpbmZvCitAQCAt Mjc5MSw5ICsyNzkxLDkgQEAgZXhhbXBsZSwgdGhlIGxpc3Qgb2YgaW5mZXJpb3JzIGJvdW5kIHRv IHRoZSBwcm9ncmFtIHNwYWNlLgorIEBzbWFsbGV4YW1wbGUKKyAoQHZhbHVle0dEQlB9KSBtYWlu dCBpbmZvIHByb2dyYW0tc3BhY2VzCisgICBJZCAgIEV4ZWN1dGFibGUKKy0qIDEgICAgaGVsbG8K KyAgIDIgICAgZ29vZGJ5ZQorICAgICAgICAgQm91bmQgaW5mZXJpb3JzOiBJRCAxIChwcm9jZXNz IDIxNTYxKQorKyogMSAgICBoZWxsbworIEBlbmQgc21hbGxleGFtcGxlCisgCisgSGVyZSB3ZSBj YW4gc2VlIHRoYXQgbm8gaW5mZXJpb3IgaXMgcnVubmluZyB0aGUgcHJvZ3JhbSBAY29kZXtoZWxs b30sCitAQCAtMjkyNCw5ICsyOTI0LDkgQEAgRm9yIGV4YW1wbGUsCisgQHNtYWxsZXhhbXBsZQor IChAdmFsdWV7R0RCUH0pIGluZm8gdGhyZWFkcworICAgSWQgICBUYXJnZXQgSWQgICAgICAgICBG cmFtZQorLSogMSAgICBwcm9jZXNzIDM1IHRocmVhZCAxMyAgbWFpbiAoYXJnYz0xLCBhcmd2PTB4 N2ZmZmZmZjgpCistICAyICAgIHByb2Nlc3MgMzUgdGhyZWFkIDIzICAweDM0ZTUgaW4gc2lncGF1 c2UgKCkKKyAgIDMgICAgcHJvY2VzcyAzNSB0aHJlYWQgMjcgIDB4MzRlNSBpbiBzaWdwYXVzZSAo KQorKyAgMiAgICBwcm9jZXNzIDM1IHRocmVhZCAyMyAgMHgzNGU1IGluIHNpZ3BhdXNlICgpCisr KiAxICAgIHByb2Nlc3MgMzUgdGhyZWFkIDEzICBtYWluIChhcmdjPTEsIGFyZ3Y9MHg3ZmZmZmZm OCkKKyAgICAgYXQgdGhyZWFkdGVzdC5jOjY4CisgQGVuZCBzbWFsbGV4YW1wbGUKKyAKK0BAIC0z MjQxLDggKzMyNDEsOCBAQCBwcm9jZXNzIDEyMDIwIGlzIGV4ZWN1dGluZyBuZXcgcHJvZ3JhbTog cHJvZzIKKyBQcm9ncmFtIGV4aXRlZCBub3JtYWxseS4KKyAoQHZhbHVle0dEQlB9KSBpbmZvIGlu ZmVyaW9ycworICAgSWQgICBEZXNjcmlwdGlvbiAgIEV4ZWN1dGFibGUKKy0gIDEgICAgPG51bGw+ ICAgICAgICBwcm9nMQorICogMiAgICA8bnVsbD4gICAgICAgIHByb2cyCisrICAxICAgIDxudWxs PiAgICAgICAgcHJvZzEKKyBAZW5kIHNtYWxsZXhhbXBsZQorIAorIEBpdGVtIHNhbWUKK2RpZmYg LS1naXQgYS9nZGIvaW5mZXJpb3IuYyBiL2dkYi9pbmZlcmlvci5jCitpbmRleCBlNzExMDRkLi41 MTUyNjhmIDEwMDY0NAorLS0tIGEvZ2RiL2luZmVyaW9yLmMKKysrKyBiL2dkYi9pbmZlcmlvci5j CitAQCAtMTM1LDE3ICsxMzUsOCBAQCBhZGRfaW5mZXJpb3Jfc2lsZW50IChpbnQgcGlkKQorICAg aW5mLT5jb250cm9sLnN0b3Bfc29vbiA9IE5PX1NUT1BfUVVJRVRMWTsKKyAKKyAgIGluZi0+bnVt ID0gKytoaWdoZXN0X2luZmVyaW9yX251bTsKKy0KKy0gIGlmIChpbmZlcmlvcl9saXN0ID09IE5V TEwpCistICAgIGluZmVyaW9yX2xpc3QgPSBpbmY7CistICBlbHNlCistICAgIHsKKy0gICAgICBz dHJ1Y3QgaW5mZXJpb3IgKmxhc3Q7CistCistICAgICAgZm9yIChsYXN0ID0gaW5mZXJpb3JfbGlz dDsgbGFzdC0+bmV4dCAhPSBOVUxMOyBsYXN0ID0gbGFzdC0+bmV4dCkKKy0JOworLSAgICAgIGxh c3QtPm5leHQgPSBpbmY7CistICAgIH0KKysgIGluZi0+bmV4dCA9IGluZmVyaW9yX2xpc3Q7Cisr ICBpbmZlcmlvcl9saXN0ID0gaW5mOworIAorICAgaW5mLT5lbnZpcm9ubWVudCA9IG1ha2VfZW52 aXJvbiAoKTsKKyAgIGluaXRfZW52aXJvbiAoaW5mLT5lbnZpcm9ubWVudCk7CitkaWZmIC0tZ2l0 IGEvZ2RiL3Byb2dzcGFjZS5jIGIvZ2RiL3Byb2dzcGFjZS5jCitpbmRleCA1OWE3ODQ2Li45YTYy MmVkIDEwMDY0NAorLS0tIGEvZ2RiL3Byb2dzcGFjZS5jCisrKysgYi9nZGIvcHJvZ3NwYWNlLmMK K0BAIC0xMzMsMTYgKzEzMyw4IEBAIGFkZF9wcm9ncmFtX3NwYWNlIChzdHJ1Y3QgYWRkcmVzc19z cGFjZSAqYXNwYWNlKQorIAorICAgcHJvZ3JhbV9zcGFjZV9hbGxvY19kYXRhIChwc3BhY2UpOwor IAorLSAgaWYgKHByb2dyYW1fc3BhY2VzID09IE5VTEwpCistICAgIHByb2dyYW1fc3BhY2VzID0g cHNwYWNlOworLSAgZWxzZQorLSAgICB7CistICAgICAgc3RydWN0IHByb2dyYW1fc3BhY2UgKmxh c3Q7CistCistICAgICAgZm9yIChsYXN0ID0gcHJvZ3JhbV9zcGFjZXM7IGxhc3QtPm5leHQgIT0g TlVMTDsgbGFzdCA9IGxhc3QtPm5leHQpCistCTsKKy0gICAgICBsYXN0LT5uZXh0ID0gcHNwYWNl OworLSAgICB9CisrICBwc3BhY2UtPm5leHQgPSBwcm9ncmFtX3NwYWNlczsKKysgIHByb2dyYW1f c3BhY2VzID0gcHNwYWNlOworIAorICAgcmV0dXJuIHBzcGFjZTsKKyB9CitkaWZmIC0tZ2l0IGEv Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9mb2xsLWV4ZWMtbW9kZS5leHAgYi9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2ZvbGwtZXhlYy1tb2RlLmV4cAoraW5kZXggNDFkNzg4Yi4uYWQyM2NiNSAxMDA2 NDQKKy0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZm9sbC1leGVjLW1vZGUuZXhwCisrKysg Yi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZvbGwtZXhlYy1tb2RlLmV4cAorQEAgLTE1MCw3ICsx NTAsNyBAQCBwcm9jIGRvX2ZvbGxvd19leGVjX21vZGVfdGVzdHMgeyBtb2RlIGNtZCBpbmZzd2l0 Y2ggfSB7CisgCWlmIHskbW9kZSA9PSAic2FtZSJ9IHsKKyAJICAgIHNldCBleHBlY3RlZF9yZSAi XFwqIDEuKnByb2Nlc3MuKiIKKyAJfSBlbHNlIHsKKy0JICAgIHNldCBleHBlY3RlZF9yZSAiICAx LipudWxsLiokdGVzdGZpbGUuKlxyXG5cXCogMi4qcHJvY2Vzcy4qJHRlc3RmaWxlMiAuKiIKKysJ ICAgIHNldCBleHBlY3RlZF9yZSAiXFwqIDIuKnByb2Nlc3MuKiR0ZXN0ZmlsZTIgXHJcbiAgMS4q bnVsbC4qJHRlc3RmaWxlLioiCisgCX0KKyAKKyAJIyBDaGVjayB0aGF0IHRoZSBpbmZlcmlvciBs aXN0IGlzIGNvcnJlY3Q6CitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9mb2xs LWZvcmsuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9mb2xsLWZvcmsuZXhwCitpbmRleCA2 MWFlZmMxLi5iZDFkZjE0IDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9mb2xs LWZvcmsuZXhwCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZvbGwtZm9yay5leHAKK0BA IC0xMzksNyArMTM5LDcgQEAgcHJvYyB0ZXN0X2ZvbGxvd19mb3JrIHsgd2hvIGRldGFjaCBjbWQg fSB7CisgCisgCSAgICAjIEZvbGxvdyBwYXJlbnQgLyBrZWVwIGNoaWxkOiB0d28gaW5mZXJpb3Jz IHVuZGVyIGRlYnVnLCB0aGUKKyAJICAgICMgcGFyZW50IGlzIHRoZSBjdXJyZW50IGluZmVyaW9y LgorLQkgICAgZ2RiX3Rlc3QgImluZm8gaW5mZXJpb3JzIiAiXFwqIDEgLipwcm9jZXNzLiogMiAu KnByb2Nlc3MuKiIgXAorKwkgICAgZ2RiX3Rlc3QgImluZm8gaW5mZXJpb3JzIiAiIDIgLipwcm9j ZXNzLipcXCogMSAuKnByb2Nlc3MuKiIgXAorIAkJICAgICAiaW5mbyBpbmZlcmlvcnMiCisgCisg CSAgICBnZGJfdGVzdCAiaW5mZXJpb3IgMiIgIlN3aXRjaGluZyB0byBpbmZlcmlvciAyIC4qIgor QEAgLTE1MCwxNCArMTUwLDE0IEBAIHByb2MgdGVzdF9mb2xsb3dfZm9yayB7IHdobyBkZXRhY2gg Y21kIH0geworIAkgICAgIyBGb2xsb3cgY2hpbGQgLyBkZXRhY2ggcGFyZW50OiB0aGUgY2hpbGQg aXMgdW5kZXIgZGVidWcgYW5kIGlzCisgCSAgICAjIHRoZSBjdXJyZW50IGluZmVyaW9yLiAgVGhl IHBhcmVudCBpcyBsaXN0ZWQgYnV0IGlzIG5vdCB1bmRlcgorIAkgICAgIyBkZWJ1Zy4KKy0JICAg IGdkYl90ZXN0ICJpbmZvIGluZmVyaW9ycyIgIiAxIC4qPG51bGw+LipcXCogMiAuKnByb2Nlc3Mu KiIgXAorKwkgICAgZ2RiX3Rlc3QgImluZm8gaW5mZXJpb3JzIiAiXFwqIDIgLipwcm9jZXNzLiog MSAuKjxudWxsPi4qIiBcCisgCQkgICAgICJpbmZvIGluZmVyaW9ycyIKKyAKKyAJfSBlbHNlaWYg eyR3aG8gPT0gImNoaWxkIiAmJiAkZGV0YWNoID09ICJvZmYifSB7CisgCisgCSAgICAjIEZvbGxv dyBjaGlsZCAvIGtlZXAgcGFyZW50OiB0d28gaW5mZXJpb3JzIHVuZGVyIGRlYnVnLCB0aGUKKyAJ ICAgICMgY2hpbGQgaXMgdGhlIGN1cnJlbnQgaW5mZXJpb3IuCistCSAgICBnZGJfdGVzdCAiaW5m byBpbmZlcmlvcnMiICIgMSAuKnByb2Nlc3MuKlxcKiAyIC4qcHJvY2Vzcy4qIiBcCisrCSAgICBn ZGJfdGVzdCAiaW5mbyBpbmZlcmlvcnMiICJcXCogMiAuKnByb2Nlc3MuKiAxIC4qcHJvY2Vzcy4q IiBcCisgCQkgICAgICJpbmZvIGluZmVyaW9ycyIKKyAKKyAJICAgIGdkYl90ZXN0ICJpbmZlcmlv ciAxIiAiU3dpdGNoaW5nIHRvIGluZmVyaW9yIDEgLioiCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS9mb2xsLXZmb3JrLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZm9s bC12Zm9yay5leHAKK2luZGV4IGVmYTFiMzkuLmVkMjU0ODcgMTAwNjQ0CistLS0gYS9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL2ZvbGwtdmZvcmsuZXhwCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL2ZvbGwtdmZvcmsuZXhwCitAQCAtMzMwLDcgKzMzMCw3IEBAIHByb2MgdmZvcmtfcmVsYXRp b25zX2luX2luZm9faW5mZXJpb3JzIHsgdmFyaWFudCB9IHsKKyAgICB9CisgCisgICAgZ2RiX3Rl c3QgImluZm8gaW5mZXJpb3JzIiBcCistICAgICAgICIuKmlzIHZmb3JrIHBhcmVudCBvZiBpbmZl cmlvciAyLippcyB2Zm9yayBjaGlsZCBvZiBpbmZlcmlvciAxIiBcCisrICAgICAgICIuKmlzIHZm b3JrIGNoaWxkIG9mIGluZmVyaW9yIDEuKmlzIHZmb3JrIHBhcmVudCBvZiBpbmZlcmlvciAyIiBc CisgICAgICAgICJpbmZvIGluZmVyaW9ycyBzaG93cyB2Zm9yayBwYXJlbnQvY2hpbGQgcmVsYXRp b24iCisgCisgICAgaWYgeyAkdmFyaWFudCA9PSAiZXhlYyIgfSB7CitkaWZmIC0tZ2l0IGEvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYmFzZS9tdWx0aS1mb3Jrcy5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL211bHRpLWZvcmtzLmV4cAoraW5kZXggMWVhYWE3MS4uMmYzZGQ4NiAxMDA2NDQKKy0tLSBh L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbXVsdGktZm9ya3MuZXhwCisrKysgYi9nZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL211bHRpLWZvcmtzLmV4cAorQEAgLTE1MCwxMyArMTUwLDEzIEBAIGdkYl90 ZXN0X25vX291dHB1dCAic2V0IGRldGFjaCBvZmYiICJzZXQgZGV0YWNoIG9mZiIKKyAKKyBmb3Ig e3NldCBpIDF9IHskaSA8PSAxNX0ge2luY3IgaX0geworICAgZ2RiX3Rlc3QgImNvbnRpbnVlIiAi QnJlYWtwb2ludCAuKiBtYWluIC4qZXhpdC4qIiAiUnVuIHRvIGV4aXQgJGkiCistICBnZGJfdGVz dCAiaW5mbyBpbmZlcmlvciIgIiAyIC4qIDMgLiogNCAuKiA1IC4qIiAiaW5mbyBpbmZlcmlvciAk aSIKKysgIGdkYl90ZXN0ICJpbmZvIGluZmVyaW9yIiAiIDUgLiogNCAuKiAzIC4qIDIgLioiICJp bmZvIGluZmVyaW9yICRpIgorICAgZ2RiX3Rlc3QgImluZmVyaW9yICRpICsgMSIgIihfZGxfc3lz aW5mb19pbnQ4MHxmb3JrfF9fa2VybmVsXyh2fClzeXNjYWxsKS4qIiBcCisgICAgICAgImluZmVy aW9yICRpIgorIH0KKyAKKyBnZGJfdGVzdCAiY29udGludWUiICJCcmVha3BvaW50IC4qIG1haW4g LipleGl0LioiICJSdW4gdG8gZXhpdCAxNiIKKy1nZGJfdGVzdCAiaW5mbyBpbmZlcmlvciIgIiAy IC4qIDMgLiogNCAuKiA1IC4qIiAiaW5mbyBpbmZlcmlvciAxNiIKKytnZGJfdGVzdCAiaW5mbyBp bmZlcmlvcnMiICIgNSAuKiA0IC4qIDMgLiogMiAuKiIgImluZm8gaW5mZXJpb3IgMTYiCisgZ2Ri X3Rlc3QgImluZmVyaW9yIDIiICIgbWFpbiAuKiIgInJlc3RhcnQgZmluYWwiCisgCisgIworQEAg LTE3Nyw5ICsxNzcsMjcgQEAgZ2RiX3Rlc3QgImRldGFjaCBpbmZlcmlvciA1IiAiRGV0YWNoaW5n IC4qIiAiRGV0YWNoIDUiCisgIyBUZXN0IGtpbGwgaW5mZXJpb3IKKyAjCisgCistZm9yIHtzZXQg aSA2fSB7ICRpIDw9IDE2fSB7aW5jciBpfSB7CistICAgIGdkYl90ZXN0X25vX291dHB1dCAia2ls bCBpbmZlcmlvciAkaSIgIktpbGwgJGkiCistICAgIGdkYl90ZXN0ICJpbmZvIGluZmVyaW9yICRp IiAiPG51bGw+LioiICJEaWQga2lsbCAkaSIKKy19CisrZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJraWxs IGluZmVyaW9yIDYiICJLaWxsIDYiCisrZ2RiX3Rlc3QgImluZm8gaW5mZXJpb3IgNiIgIjxudWxs Pi4qIiAiRGlkIGtpbGwgNiIKKytnZGJfdGVzdF9ub19vdXRwdXQgImtpbGwgaW5mZXJpb3IgNyIg IktpbGwgNyIKKytnZGJfdGVzdCAiaW5mbyBpbmZlcmlvciA3IiAiPG51bGw+LioiICJEaWQga2ls bCA3IgorK2dkYl90ZXN0X25vX291dHB1dCAia2lsbCBpbmZlcmlvciA4IiAiS2lsbCA4IgorK2dk Yl90ZXN0ICJpbmZvIGluZmVyaW9yIDgiICI8bnVsbD4uKiIgIkRpZCBraWxsIDgiCisrZ2RiX3Rl c3Rfbm9fb3V0cHV0ICJraWxsIGluZmVyaW9yIDkiICJLaWxsIDkiCisrZ2RiX3Rlc3QgImluZm8g aW5mZXJpb3IgOSIgIjxudWxsPi4qIiAiRGlkIGtpbGwgOSIKKytnZGJfdGVzdF9ub19vdXRwdXQg ImtpbGwgaW5mZXJpb3IgMTAiICJLaWxsIDEwIgorK2dkYl90ZXN0ICJpbmZvIGluZmVyaW9yIDEw IiAiPG51bGw+LioiICJEaWQga2lsbCAxMCIKKytnZGJfdGVzdF9ub19vdXRwdXQgImtpbGwgaW5m ZXJpb3IgMTEiICJLaWxsIDExIgorK2dkYl90ZXN0ICJpbmZvIGluZmVyaW9yIDExIiAiPG51bGw+ LioiICJEaWQga2lsbCAxMSIKKytnZGJfdGVzdF9ub19vdXRwdXQgImtpbGwgaW5mZXJpb3IgMTIi ICJLaWxsIDEyIgorK2dkYl90ZXN0ICJpbmZvIGluZmVyaW9yIDEyIiAiPG51bGw+LioiICJEaWQg a2lsbCAxMiIKKytnZGJfdGVzdF9ub19vdXRwdXQgImtpbGwgaW5mZXJpb3IgMTMiICJLaWxsIDEz IgorK2dkYl90ZXN0ICJpbmZvIGluZmVyaW9yIDEzIiAiPG51bGw+LioiICJEaWQga2lsbCAxMyIK KytnZGJfdGVzdF9ub19vdXRwdXQgImtpbGwgaW5mZXJpb3IgMTQiICJLaWxsIDE0IgorK2dkYl90 ZXN0ICJpbmZvIGluZmVyaW9yIDE0IiAiPG51bGw+LioiICJEaWQga2lsbCAxNCIKKytnZGJfdGVz dF9ub19vdXRwdXQgImtpbGwgaW5mZXJpb3IgMTUiICJLaWxsIDE1IgorK2dkYl90ZXN0ICJpbmZv IGluZmVyaW9yIDE1IiAiPG51bGw+LioiICJEaWQga2lsbCAxNSIKKytnZGJfdGVzdF9ub19vdXRw dXQgImtpbGwgaW5mZXJpb3IgMTYiICJLaWxsIDE2IgorK2dkYl90ZXN0ICJpbmZvIGluZmVyaW9y IDE2IiAiPG51bGw+LioiICJEaWQga2lsbCAxNiIKKyAKKyByZXR1cm4gMAorZGlmZiAtLWdpdCBh L2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLW5vbnN0b3AuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu bWkvbWktbm9uc3RvcC5leHAKK2luZGV4IDVlMTFmOGQuLmNhZDk5MDEgMTAwNjQ0CistLS0gYS9n ZGIvdGVzdHN1aXRlL2dkYi5taS9taS1ub25zdG9wLmV4cAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIubWkvbWktbm9uc3RvcC5leHAKK0BAIC05Nyw3ICs5Nyw3IEBAIG1pX2V4cGVjdF9pbnRlcnJ1 cHQgImdvdCBpbnRlcnJ1cHQiCisgc2xlZXAgMQorIG1pX2NoZWNrX3RocmVhZF9zdGF0ZXMgeyJz dG9wcGVkIiAic3RvcHBlZCIgInN0b3BwZWQifSAidGhyZWFkIHN0YXRlLCBzdG9wIDQiCisgCist bWlfZ2RiX3Rlc3QgIi1leGVjLWNvbnRpbnVlIC0tYWxsIiAiLipcXCpydW5uaW5nLHRocmVhZC1p ZD1cIjFcIlxyXG5cXCpydW5uaW5nLHRocmVhZC1pZD1cIjJcIlxyXG5cXCpydW5uaW5nLHRocmVh ZC1pZD1cIjNcIiIgXAorK21pX2dkYl90ZXN0ICItZXhlYy1jb250aW51ZSAtLWFsbCIgIi4qXFwq cnVubmluZyx0aHJlYWQtaWQ9XCIzXCJcclxuXFwqcnVubmluZyx0aHJlYWQtaWQ9XCIyXCJcclxu XFwqcnVubmluZyx0aHJlYWQtaWQ9XCIxXCIiIFwKKyAgICAgInJlc3VtZSBhbGwiCisgCisgbWlf ZXhwZWN0X3N0b3AgImJyZWFrcG9pbnQtaGl0IiAiYnJlYWtfYXRfbWUiICJcW15cblxdKiIgIm5v bi1zdG9wLmMiICJcWzAtOVxdKiIgeyIiICJkaXNwPVwia2VlcFwiIn0gIncwLGkyIHN0b3AiCitk aWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWktbnNpbnRyYWxsLmV4cCBiL2dkYi90 ZXN0c3VpdGUvZ2RiLm1pL21pLW5zaW50cmFsbC5leHAKK2luZGV4IDM3OGM3MjkuLjA2MWE2ZjMg MTAwNjQ0CistLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5taS9taS1uc2ludHJhbGwuZXhwCisrKysg Yi9nZGIvdGVzdHN1aXRlL2dkYi5taS9taS1uc2ludHJhbGwuZXhwCitAQCAtNjcsMTAgKzY3LDEw IEBAIG1pX2RlbGV0ZV9icmVha3BvaW50cworICMgSGVyZSB3ZSBjcmVhdGUgYSByZXNwb25zZSBz dHJpbmcuICBOb3RlIHdlIGRvbid0IHdhbnQgXHJcbiBhdCB0aGUgZW5kLAorICMgc2luY2UgbWlf Z2RiX3Rlc3Qgd2lsbCBhcHBlbmQgdGhpcyBpdHNlbGYuCisgc2V0IHJ1bm5pbmdfcmUgIiIKKy1m b3Ige3NldCBpIDF9IHskaSA8IDZ9IHtpbmNyIGl9IHsKKytmb3Ige3NldCBpIDZ9IHskaSA+IDF9 IHtpbmNyIGkgLTF9IHsKKyAgICAgc2V0IHJ1bm5pbmdfcmUgIiRydW5uaW5nX3JlXFwqcnVubmlu Zyx0aHJlYWQtaWQ9XCIkaVwiXHJcbiIKKyB9Cistc2V0IHJ1bm5pbmdfcmUgIiRydW5uaW5nX3Jl XFwqcnVubmluZyx0aHJlYWQtaWQ9XCI2XCIiCisrc2V0IHJ1bm5pbmdfcmUgIiRydW5uaW5nX3Jl XFwqcnVubmluZyx0aHJlYWQtaWQ9XCIxXCIiCisgCisgbWlfZ2RiX3Rlc3QgIi1leGVjLWNvbnRp bnVlIC0tYWxsIiAiXFteXG5cXSpcclxuJHJ1bm5pbmdfcmUiIFwKKyAgICAgInJlc3VtZSBhbGws IG5vIGJyZWFrcG9pbnQiCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIubXVsdGkvYmFz ZS5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5tdWx0aS9iYXNlLmV4cAoraW5kZXggNmYwYmM2My4u ZTAyZjk1ZiAxMDA2NDQKKy0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLm11bHRpL2Jhc2UuZXhwCisr KysgYi9nZGIvdGVzdHN1aXRlL2dkYi5tdWx0aS9iYXNlLmV4cAorQEAgLTU5LDcgKzU5LDcgQEAg Z2RiX3Rlc3QgImFkZC1pbmZlcmlvciAtZXhlYyAke2JpbmZpbGUzfSIgXAorICMgQ2hlY2sgdGhh dCB3ZSBoYXZlIG11bHRpcGxlIGluZmVyaW9ycy4KKyAKKyBnZGJfdGVzdCAiaW5mbyBpbmZlcmlv cnMiIFwKKy0gICAgIkV4ZWN1dGFibGUuKiR7ZXhlYzF9Lioke2V4ZWMyfS4qJHtleGVjM30uKiIK KysgICAgIkV4ZWN1dGFibGUuKiR7ZXhlYzN9Lioke2V4ZWMyfS4qJHtleGVjMX0uKiIKKyAKKyAj IFRlc3QgaW5mbyBpbmZlcmlvcnMgd2l0aCBhcmdzCisgCitAQCAtNjgsMTYgKzY4LDE2IEBAIHNl dCBzZWUyIDAKKyBzZXQgc2VlMyAwCisgCisgZ2RiX3Rlc3RfbXVsdGlwbGUgImluZm8gaW5mZXJp b3IgMiAzIiAiaW5mbyBpbmZlcmlvciAyIDMiIHsKKy0gICAgLXJlICIuIDEgXFteXHJcblxdKiR7 ZXhlYzF9IiB7CistCXNldCBzZWUxIDEKKysgICAgLXJlICIuIDMgXFteXHJcblxdKiR7ZXhlYzN9 IiB7CisrCXNldCBzZWUzIDEKKyAJZXhwX2NvbnRpbnVlCisgICAgIH0KKyAgICAgLXJlICIuIDIg XFteXHJcblxdKiR7ZXhlYzJ9IiB7CisgCXNldCBzZWUyIDEKKyAJZXhwX2NvbnRpbnVlCisgICAg IH0KKy0gICAgLXJlICIuIDMgXFteXHJcblxdKiR7ZXhlYzN9IiB7CistCXNldCBzZWUzIDEKKysg ICAgLXJlICIuIDEgXFteXHJcblxdKiR7ZXhlYzF9IiB7CisrCXNldCBzZWUxIDEKKyAJZXhwX2Nv bnRpbnVlCisgICAgIH0KKyAgICAgLXJlICIkZ2RiX3Byb21wdCAkIiB7CitAQCAtOTQsMTYgKzk0 LDE2IEBAIHNldCBzZWUyIDAKKyBzZXQgc2VlMyAwCisgCisgZ2RiX3Rlc3RfbXVsdGlwbGUgImlu Zm8gaW5mZXJpb3IgMS0yIiAiaW5mbyBpbmZlcmlvciAxLTIiIHsKKy0gICAgLXJlICIuIDEgXFte XHJcblxdKiR7ZXhlYzF9IiB7CistCXNldCBzZWUxIDEKKysgICAgLXJlICIuIDMgXFteXHJcblxd KiR7ZXhlYzN9IiB7CisrCXNldCBzZWUzIDEKKyAJZXhwX2NvbnRpbnVlCisgICAgIH0KKyAgICAg LXJlICIuIDIgXFteXHJcblxdKiR7ZXhlYzJ9IiB7CisgCXNldCBzZWUyIDEKKyAJZXhwX2NvbnRp bnVlCisgICAgIH0KKy0gICAgLXJlICIuIDMgXFteXHJcblxdKiR7ZXhlYzN9IiB7CistCXNldCBz ZWUzIDEKKysgICAgLXJlICIuIDEgXFteXHJcblxdKiR7ZXhlYzF9IiB7CisrCXNldCBzZWUxIDEK KyAJZXhwX2NvbnRpbnVlCisgICAgIH0KKyAgICAgLXJlICIkZ2RiX3Byb21wdCAkIiB7CitkaWZm IC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIubXVsdGkvbXVsdGktYXJjaC5leHAgYi9nZGIvdGVz dHN1aXRlL2dkYi5tdWx0aS9tdWx0aS1hcmNoLmV4cAoraW5kZXggYjExNGEyZi4uNTkyMmQ3MCAx MDA2NDQKKy0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLm11bHRpL211bHRpLWFyY2guZXhwCisrKysg Yi9nZGIvdGVzdHN1aXRlL2dkYi5tdWx0aS9tdWx0aS1hcmNoLmV4cAorQEAgLTk1LDQgKzk1LDQg QEAgaWYgIVtydW50b19tYWluXSB0aGVuIHsKKyAjIENoZWNrIHdlIGRvIGhhdmUgdHdvIGluZmVy aW9ycyBsb2FkZWQuCisgCisgZ2RiX3Rlc3QgImluZm8gaW5mZXJpb3JzIiBcCistICAgICJFeGVj dXRhYmxlLioke2V4ZWMxfS4qJHtleGVjMn0uKiIKKysgICAgIkV4ZWN1dGFibGUuKiR7ZXhlYzJ9 Lioke2V4ZWMxfS4qIgorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1p bmZlcmlvci5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktaW5mZXJpb3IuZXhwCitp bmRleCA5YjkwZDBiLi43ZTZmOTFkIDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0 aG9uL3B5LWluZmVyaW9yLmV4cAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWlu ZmVyaW9yLmV4cAorQEAgLTIzMCwxMCArMjMwLDEwIEBAIHdpdGhfdGVzdF9wcmVmaXggImlzX3Zh bGlkIiB7CisgCSJjaGVjayBpbmZlcmlvciB2YWxpZGl0eSAzIgorIAorICAgICBnZGJfdGVzdF9u b19vdXRwdXQgInJlbW92ZS1pbmZlcmlvcnMgMiIgInJlbW92ZS1pbmZlcmlvcnMgMyIKKy0gICAg Z2RiX3Rlc3QgInB5dGhvbiBwcmludCAoaW5mX2xpc3RcWzBcXS5pc192YWxpZCgpKSIgIlRydWUi IFwKKysgICAgZ2RiX3Rlc3QgInB5dGhvbiBwcmludCAoaW5mX2xpc3RcWzBcXS5pc192YWxpZCgp KSIgIkZhbHNlIiBcCisgCSJjaGVjayBpbmZlcmlvciB2YWxpZGl0eSA0IgorIAorLSAgICBnZGJf dGVzdCAicHl0aG9uIHByaW50IChpbmZfbGlzdFxbMVxdLmlzX3ZhbGlkKCkpIiAiRmFsc2UiIFwK KysgICAgZ2RiX3Rlc3QgInB5dGhvbiBwcmludCAoaW5mX2xpc3RcWzFcXS5pc192YWxpZCgpKSIg IlRydWUiIFwKKyAJImNoZWNrIGluZmVyaW9yIHZhbGlkaXR5IDUiCisgfQorIAorZGlmZiAtLWdp dCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvYnJlYWstd2hpbGUtcnVubmluZy5leHAgYi9n ZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2JyZWFrLXdoaWxlLXJ1bm5pbmcuZXhwCitpbmRleCA4 YTE5N2U0Li4wNTg2MGJjIDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9i cmVhay13aGlsZS1ydW5uaW5nLmV4cAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9i cmVhay13aGlsZS1ydW5uaW5nLmV4cAorQEAgLTc4LDcgKzc4LDcgQEAgcHJvYyB0ZXN0IHsgdXBk YXRlX3RocmVhZF9saXN0IGFsd2F5c19pbnNlcnRlZCBub25fc3RvcCB9IHsKKyAgICAgIyB3aXRo b3V0IHRoZSB1c2VyIGV4cGxpY2l0bHkgZmV0Y2hpbmcgdGhlIHRocmVhZCBsaXN0LgorICAgICBp ZiB7JHVwZGF0ZV90aHJlYWRfbGlzdH0geworIAlnZGJfdGVzdCAiaW5mbyB0aHJlYWRzIiBcCist CSAgICAibWFpbiAuKlxcXChydW5uaW5nXFxcKS4qXFxcKHJ1bm5pbmdcXFwpLioiIFwKKysJICAg ICJcXFwocnVubmluZ1xcXCkuKlxcXChydW5uaW5nXFxcKS4qIG1haW4gLioiIFwKKyAJICAgICJv bmx5IG1haW4gc3RvcHBlZCIKKyAgICAgfQorIAorQEAgLTEwNyw3ICsxMDcsNyBAQCBwcm9jIHRl c3QgeyB1cGRhdGVfdGhyZWFkX2xpc3QgYWx3YXlzX2luc2VydGVkIG5vbl9zdG9wIH0geworIAor ICAgICBpZiB7JG5vbl9zdG9wID09ICJvbiJ9IHsKKyAJZ2RiX3Rlc3QgImluZm8gdGhyZWFkcyIg XAorLQkgICAgIm1haW4gLiogYnJlYWtwb2ludF9mdW5jdGlvbiAuKlxcXChydW5uaW5nXFxcKSIg XAorKwkgICAgIlxcXChydW5uaW5nXFxcKS4qIGJyZWFrcG9pbnRfZnVuY3Rpb24gLiogbWFpbiAu KiIgXAorIAkgICAgIm9uZSB0aHJlYWQgcnVubmluZyIKKyAKKyAJIyBVbmJsb2NrIHRoZSBvdGhl ciB0aHJlYWQsIHdoaWNoIHNob3VsZCB0aGVuIHRyaXAgb24gdGhlIHNhbWUKK0BAIC0xMzEsNyAr MTMxLDcgQEAgcHJvYyB0ZXN0IHsgdXBkYXRlX3RocmVhZF9saXN0IGFsd2F5c19pbnNlcnRlZCBu b25fc3RvcCB9IHsKKyAJfQorIAorIAlnZGJfdGVzdCAiaW5mbyB0aHJlYWRzIiBcCistCSAgICAi IG1haW4gLiogYnJlYWtwb2ludF9mdW5jdGlvbiAuKiBicmVha3BvaW50X2Z1bmN0aW9uIC4qIiBc CisrCSAgICAiIGJyZWFrcG9pbnRfZnVuY3Rpb24gLiogYnJlYWtwb2ludF9mdW5jdGlvbiAuKiBt YWluIC4qIiBcCisgCSAgICAiYWxsIHRocmVhZHMgc3RvcHBlZCIKKyAgICAgfSBlbHNlIHsKKyAJ IyBUaGlzIHRlc3QgaXMgbm90IG1lcmdlZCB3aXRoIHRoZSBub24tc3RvcCBvbmUgYmVjYXVzZSBp bgorQEAgLTE0Miw3ICsxNDIsNyBAQCBwcm9jIHRlc3QgeyB1cGRhdGVfdGhyZWFkX2xpc3QgYWx3 YXlzX2luc2VydGVkIG5vbl9zdG9wIH0geworIAkgICAgLXJlICJcXFwocnVubmluZ1xcXCkuKiRn ZGJfcHJvbXB0ICQiIHsKKyAJCWZhaWwgJHRlc3QKKyAJICAgIH0KKy0JICAgIC1yZSAibWFpbiAu KiBicmVha3BvaW50X2Z1bmN0aW9uIC4qJGdkYl9wcm9tcHQgJCIgeworKwkgICAgLXJlICJicmVh a3BvaW50X2Z1bmN0aW9uIC4qIG1haW4gLiokZ2RiX3Byb21wdCAkIiB7CisgCQlwYXNzICR0ZXN0 CisgCSAgICB9CisgCX0KK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2V4 ZWNsLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvZXhlY2wuZXhwCitpbmRleCA4NTM4 ZmQ3Li4xNGUzZTY4IDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9leGVj bC5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvZXhlY2wuZXhwCitAQCAtNDAs NyArNDAsNyBAQCBnZGJfdGVzdCAiYiBbZ2RiX2dldF9saW5lX251bWJlciAiYnJlYWtwb2ludCBo ZXJlIl0iIFwKKyAKKyBnZGJfdGVzdCAiY29udGludWUiICIuKmJyZWFrcG9pbnQgaGVyZS4qIiAi Y29udGludWUgdG8gZXhlYyIKKyAKKy1nZGJfdGVzdCAiaW5mbyB0aHJlYWRzIiAiMSAqVGhyZWFk LioyICpUaHJlYWQuKjMgKlRocmVhZC4qIiAiaW5mbyB0aHJlYWRzIGJlZm9yZSBleGVjIgorK2dk Yl90ZXN0ICJpbmZvIHRocmVhZHMiICIuKjMgKlRocmVhZC4qMiAqVGhyZWFkLioxICpUaHJlYWQu KiIgImluZm8gdGhyZWFkcyBiZWZvcmUgZXhlYyIKKyAKKyAjIFdoZW4gY29udGludWluZyBmcm9t IHRoaXMgcG9pbnQgd2UnbGwgaGl0IHRoZSBicmVha3BvaW50IGluIG1haW4oKQorICMgYWdhaW4s IHRoaXMgdGltZSBpbiB0aGUgZXhlYydkIHByb2Nlc3MuCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3Rz dWl0ZS9nZGIudGhyZWFkcy9nY29yZS10aHJlYWQuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhy ZWFkcy9nY29yZS10aHJlYWQuZXhwCitpbmRleCBmNzRmMTQ3Li40NGZiMzQ3IDEwMDY0NAorLS0t IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9nY29yZS10aHJlYWQuZXhwCisrKysgYi9nZGIv dGVzdHN1aXRlL2dkYi50aHJlYWRzL2djb3JlLXRocmVhZC5leHAKK0BAIC0xMjcsNyArMTI3LDcg QEAgZm9yZWFjaCBuYW1lIHsgY29yZWZpbGUgY29yZTBmaWxlIH0geyB3aXRoX3Rlc3RfcHJlZml4 ICRuYW1lIHsKKyAgICAgIyBtYXBwaW5nIHZhcmlvdXMgT1MncyBtYXkgZG8/ICBMZXQncyBhc3N1 bWUgdGhhdCB0aGVyZSBtdXN0CisgICAgICMgYmUgYXQgbGVhc3QgdHdvIHRocmVhZHM6CisgCist ICAgIGdkYl90ZXN0ICJpbmZvIHRocmVhZHMiICJcXCogMSAke2hvcml6fSR7bmx9ICAyICR7aG9y aXp9LioiIFwKKysgICAgZ2RiX3Rlc3QgImluZm8gdGhyZWFkcyIgIi4qJHtubH0gIDIgJHtob3Jp en0ke25sfVxcKiAxIC4qIiBcCisgCSAgICAiY29yZWZpbGUgY29udGFpbnMgYXQgbGVhc3QgdHdv IHRocmVhZHMiCisgCisgICAgICMgT25lIHRocmVhZCBpbiB0aGUgY29yZWZpbGUgc2hvdWxkIGJl IGluIHRoZSAidGhyZWFkMiIgZnVuY3Rpb24uCitAQCAtMTM3LDYgKzEzNyw2IEBAIGZvcmVhY2gg bmFtZSB7IGNvcmVmaWxlIGNvcmUwZmlsZSB9IHsgd2l0aF90ZXN0X3ByZWZpeCAkbmFtZSB7Cisg CisgICAgICMgVGhlIHRocmVhZDIgdGhyZWFkIHNob3VsZCBiZSBtYXJrZWQgYXMgdGhlIGN1cnJl bnQgdGhyZWFkLgorIAorLSAgICBnZGJfdGVzdCAiaW5mbyB0aHJlYWRzIiAiXFwqICR7aG9yaXp9 IHRocmVhZDIgLioke25sfSIgXAorKyAgICBnZGJfdGVzdCAiaW5mbyB0aHJlYWRzIiAiLioke25s fVxcKiAke2hvcml6fSB0aHJlYWQyIC4qIiBcCisgCSAgICAidGhyZWFkMiBpcyBjdXJyZW50IHRo cmVhZCBpbiBjb3JlZmlsZSIKKyB9fQorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnRo cmVhZHMvaW5mby10aHJlYWRzLWN1ci1zYWwuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFk cy9pbmZvLXRocmVhZHMtY3VyLXNhbC5leHAKK2luZGV4IDIzYTNjMzYuLjYwM2Q5NDQgMTAwNjQ0 CistLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2luZm8tdGhyZWFkcy1jdXItc2FsLmV4 cAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9pbmZvLXRocmVhZHMtY3VyLXNhbC5l eHAKK0BAIC00MSwyMCArNDEsMTQgQEAgZ2RiX3Rlc3QgImxpc3QgJGxpbmUiIFwKKyAjIFRoZXJl IHVzZWQgdG8gYmUgYSBidWcgd2hlcmUgImluZm8gdGhyZWFkcyIgd291bGQgc2V0IHRoZSBjdXJy ZW50CisgIyBTQUwgdG8gdGhlIGxvY2F0aW9uIG9mIHRoZSBsYXN0IHRocmVhZCBkaXNwbGF5ZWQu CisgZ2RiX3Rlc3QgImluZm8gdGhyZWFkcyIgXAorLSAgICBbbXVsdGlfbGluZSBcCistCSAiXFsg XHRcXSpJZFxbIFx0XF0rVGFyZ2V0XFsgXHRcXStJZFxbIFx0XF0rRnJhbWVcWyBcdFxdKiIgXAor LQkgIiAgMSAqVGhyZWFkIFxbXlxyXG5cXSogLiogXFteXHJcblxdKiIgXAorLQkgIlxcKiAyICpU aHJlYWQgXFteXHJcblxdKiBhdCBcW15cclxuXF0qIl0gXAorKyAgICAiXHJcblxbIFx0XF0qSWRc WyBcdFxdK1RhcmdldFxbIFx0XF0rSWRcWyBcdFxdK0ZyYW1lXFsgXHRcXSpcclxuXFwqIDIgKlRo cmVhZCBcW15cclxuXF0qIGF0IFxbXlxyXG5cXSpcclxuICAxICpUaHJlYWQgXFteXHJcblxdKiAu KiBcW15cclxuXF0qIiBcCisgICAgICJpbmZvIHRocmVhZHMgYmVmb3JlIGJyZWFrIgorIAorICMg Q2hlY2sgdGhhdCAiYnJlYWsiIGlzIHN0aWxsIG9wZXJhdGluZyBvbiB0aGUgc2FtZSBmaWxlIGJ5 IGRlZmF1bHQuCisgZ2RiX3Rlc3QgImJyZWFrICRsaW5lIiAiLioke3NyY2ZpbGUyfS4qIiAiYnJl YWsgb24gbGluZSIKKyAKKyBnZGJfdGVzdCAiaW5mbyB0aHJlYWRzIiBcCistICAgIFttdWx0aV9s aW5lIFwKKy0JICJcWyBcdFxdKklkXFsgXHRcXStUYXJnZXRcWyBcdFxdK0lkXFsgXHRcXStGcmFt ZVxbIFx0XF0qIiBcCistCSAiICAxICpUaHJlYWQgXFteXHJcblxdKiAuKiBcW15cclxuXF0qIiBc CistCSAiXFwqIDIgKlRocmVhZCBcW15cclxuXF0qIGF0IFxbXlxyXG5cXSoiXSBcCisrICAgICJc clxuXFsgXHRcXSpJZFxbIFx0XF0rVGFyZ2V0XFsgXHRcXStJZFxbIFx0XF0rRnJhbWVcWyBcdFxd KlxyXG5cXCogMiAqVGhyZWFkIFxbXlxyXG5cXSogYXQgXFteXHJcblxdKlxyXG4gIDEgKlRocmVh ZCBcW15cclxuXF0qIC4qIFxbXlxyXG5cXSoiIFwKKyAgICAgImluZm8gdGhyZWFkcyBiZWZvcmUg bGlzdCIKKyAKKyAjIEFuZCB0aGF0IHNvIGlzICJsaXN0Ii4KK2RpZmYgLS1naXQgYS9nZGIvdGVz dHN1aXRlL2dkYi50aHJlYWRzL2tpbGwuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9r aWxsLmV4cAoraW5kZXggYTZkODM4Mi4uNzQxZWJkNSAxMDA2NDQKKy0tLSBhL2dkYi90ZXN0c3Vp dGUvZ2RiLnRocmVhZHMva2lsbC5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMv a2lsbC5leHAKK0BAIC00OCw3ICs0OCw3IEBAIHByb2MgdGVzdCB7dGhyZWFkZWR9IHsKKyAJZ2Ri X2NvbnRpbnVlX3RvX2JyZWFrcG9pbnQgImJyZWFrIGhlcmUiICIuKmJyZWFrIGhlcmUuKiIKKyAK KyAJaWYgeyR0aHJlYWRlZH0geworLQkgICAgZ2RiX3Rlc3QgImluZm8gdGhyZWFkcyIgIjEuKjIu KjMuKjQuKjUuKjYuKiIgImFsbCB0aHJlYWRzIHN0YXJ0ZWQiCisrCSAgICBnZGJfdGVzdCAiaW5m byB0aHJlYWRzIiAiNi4qNS4qNC4qMy4qMi4qMS4qIiAiYWxsIHRocmVhZHMgc3RhcnRlZCIKKyAJ fQorIAorIAkjIFRoaXMga2lsbHMgYW5kIGVuc3VyZXMgbm8gb3V0cHV0IG90aGVyIHRoYW4gdGhl IHByb21wdCBjb21lcyBvdXQsCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFk cy9saW51eC1kcC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2xpbnV4LWRwLmV4cAor aW5kZXggNjM2NWY3ZC4uN2I1YzcwNiAxMDA2NDQKKy0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLnRo cmVhZHMvbGludXgtZHAuZXhwCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2xpbnV4 LWRwLmV4cAorQEAgLTE2OCw3ICsxNjgsNyBAQCBzZXQgbnRocmVhZHMgNgorIGdkYl9icmVha3Bv aW50IFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJsaW51eHRocmVhZHMuZXhwOiBpbmZvIHRocmVhZHMg MiJdCisgZ2RiX2NvbnRpbnVlX3RvX2JyZWFrcG9pbnQgIm1haW4gdGhyZWFkJ3Mgc2xlZXAiCisg c2V0IGluZm9fdGhyZWFkc19wdG4gIi4qIgorLWZvciB7c2V0IGkgMX0geyRpIDwgICRudGhyZWFk c30ge2luY3IgaX0geworK2ZvciB7c2V0IGkgJG50aHJlYWRzfSB7JGkgPiAwfSB7aW5jciBpIC0x fSB7CisgICAgIGFwcGVuZCBpbmZvX3RocmVhZHNfcHRuICIkaSAqVGhyZWFkIC4qIgorIH0KKyBh cHBlbmQgaW5mb190aHJlYWRzX3B0biAiXFtcclxuXF0rJGdkYl9wcm9tcHQgJCIKK2RpZmYgLS1n aXQgYS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL211bHRpcGxlLXN0ZXAtb3ZlcnMuZXhwIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9tdWx0aXBsZS1zdGVwLW92ZXJzLmV4cAoraW5kZXgg Y2Y3NzI4Yi4uNmEzODE5MiAxMDA2NDQKKy0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMv bXVsdGlwbGUtc3RlcC1vdmVycy5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMv bXVsdGlwbGUtc3RlcC1vdmVycy5leHAKK0BAIC00Niw3ICs0Niw3IEBAIHByb2Mgc2V0dXAge30g eworIAorIAlnZGJfYnJlYWtwb2ludCBbZ2RiX2dldF9saW5lX251bWJlciAic2V0IHdhaXQtdGhy ZWFkcyBicmVha3BvaW50IGhlcmUiXQorIAlnZGJfY29udGludWVfdG9fYnJlYWtwb2ludCAicnVu IHRvIGJyZWFrcG9pbnQiCistCWdkYl90ZXN0ICJpbmZvIHRocmVhZHMiICJcXFwqIDEgLiogMiAu KiAzIC4qIiAiaW5mbyB0aHJlYWRzIHNob3dzIGFsbCB0aHJlYWRzIgorKwlnZGJfdGVzdCAiaW5m byB0aHJlYWRzIiAiMyAuKiAyIC4qXFxcKiAxLioiICJpbmZvIHRocmVhZHMgc2hvd3MgYWxsIHRo cmVhZHMiCisgCisgCWdkYl90ZXN0X25vX291dHB1dCAic2V0IHNjaGVkdWxlci1sb2NraW5nIG9u IgorIAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvbmV4dC1icC1vdGhl ci10aHJlYWQuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9uZXh0LWJwLW90aGVyLXRo cmVhZC5leHAKK2luZGV4IDRkZTNiZjkuLjI1NzkxYmUgMTAwNjQ0CistLS0gYS9nZGIvdGVzdHN1 aXRlL2dkYi50aHJlYWRzL25leHQtYnAtb3RoZXItdGhyZWFkLmV4cAorKysrIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIudGhyZWFkcy9uZXh0LWJwLW90aGVyLXRocmVhZC5leHAKK0BAIC0zNSw3ICszNSw3 IEBAIGZvcmVhY2ggc2NoZWRsb2NrIHsib2ZmIiAic3RlcCIgIm9uIiB9IHsKKyAKKyAJZ2RiX2Jy ZWFrcG9pbnQgW2dkYl9nZXRfbGluZV9udW1iZXIgInNldCB3YWl0LXRocmVhZCBicmVha3BvaW50 IGhlcmUiXQorIAlnZGJfY29udGludWVfdG9fYnJlYWtwb2ludCAicnVuIHRvIHdhaXQtdGhyZWFk IGJyZWFrcG9pbnQiCistCWdkYl90ZXN0ICJpbmZvIHRocmVhZHMiICJcXFwqIDEgLiogIDIgLioi ICJpbmZvIHRocmVhZHMgc2hvd3MgYWxsIHRocmVhZHMiCisrCWdkYl90ZXN0ICJpbmZvIHRocmVh ZHMiICIyIC4qXFxcKiAxLioiICJpbmZvIHRocmVhZHMgc2hvd3MgYWxsIHRocmVhZHMiCisgCisg CWRlbGV0ZV9icmVha3BvaW50cworIAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnRo cmVhZHMvc3RlcC1iZy1kZWNyLXBjLXN3aXRjaC10aHJlYWQuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIudGhyZWFkcy9zdGVwLWJnLWRlY3ItcGMtc3dpdGNoLXRocmVhZC5leHAKK2luZGV4IDRmNWMw NWMuLjEzNTRkMDMgMTAwNjQ0CistLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3N0ZXAt YmctZGVjci1wYy1zd2l0Y2gtdGhyZWFkLmV4cAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhy ZWFkcy9zdGVwLWJnLWRlY3ItcGMtc3dpdGNoLXRocmVhZC5leHAKK0BAIC00OCw3ICs0OCw3IEBA IGRlbGV0ZV9icmVha3BvaW50cworIAorIGdkYl9icmVha3BvaW50IFtnZGJfZ2V0X2xpbmVfbnVt YmVyICJzZXQgYnJlYWtwb2ludCBoZXJlIl0KKyBnZGJfY29udGludWVfdG9fYnJlYWtwb2ludCAi cnVuIHRvIG5vcCBicmVha3BvaW50IgorLWdkYl90ZXN0ICJpbmZvIHRocmVhZHMiICIgIDEgLipc XFwqIDIgLioiICJpbmZvIHRocmVhZHMgc2hvd3MgYWxsIHRocmVhZHMiCisrZ2RiX3Rlc3QgImlu Zm8gdGhyZWFkcyIgIlxcXCogMiAuKiAxLioiICJpbmZvIHRocmVhZHMgc2hvd3MgYWxsIHRocmVh ZHMiCisgCisgZ2RiX3Rlc3QgIm5leHQiICJ3aGlsZS4qIiAibmV4dCBvdmVyIG5vcCIKKyAKK2Rp ZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3N0ZXAtb3Zlci1sYW5kcy1vbi1i cmVha3BvaW50LmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvc3RlcC1vdmVyLWxhbmRz LW9uLWJyZWFrcG9pbnQuZXhwCitpbmRleCBhNzI3M2Q0Li5hYTkxZTI5IDEwMDY0NAorLS0tIGEv Z2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9zdGVwLW92ZXItbGFuZHMtb24tYnJlYWtwb2ludC5l eHAKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvc3RlcC1vdmVyLWxhbmRzLW9uLWJy ZWFrcG9pbnQuZXhwCitAQCAtNDAsNyArNDAsNyBAQCBwcm9jIGRvX3Rlc3Qge2Rpc3BsYWNlZCBj b21tYW5kfSB7CisgCisgCWdkYl9icmVha3BvaW50IFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJzZXQg d2FpdC10aHJlYWQgYnJlYWtwb2ludCBoZXJlIl0KKyAJZ2RiX2NvbnRpbnVlX3RvX2JyZWFrcG9p bnQgInJ1biB0byB3YWl0LXRocmVhZCBicmVha3BvaW50IgorLQlnZGJfdGVzdCAiaW5mbyB0aHJl YWRzIiAiXFxcKiAxIC4qICAyIC4qIiAiaW5mbyB0aHJlYWRzIHNob3dzIGFsbCB0aHJlYWRzIgor KwlnZGJfdGVzdCAiaW5mbyB0aHJlYWRzIiAiMiAuKlxcXCogMS4qIiAiaW5mbyB0aHJlYWRzIHNo b3dzIGFsbCB0aHJlYWRzIgorIAorIAlnZGJfdGVzdF9ub19vdXRwdXQgInNldCBzY2hlZHVsZXIt bG9ja2luZyBvbiIKKyAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3N0 ZXAtb3Zlci10cmlwcy1vbi13YXRjaHBvaW50LmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVh ZHMvc3RlcC1vdmVyLXRyaXBzLW9uLXdhdGNocG9pbnQuZXhwCitpbmRleCAyZjBiZTUwLi5iMGE3 ZTRhIDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9zdGVwLW92ZXItdHJp cHMtb24td2F0Y2hwb2ludC5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvc3Rl cC1vdmVyLXRyaXBzLW9uLXdhdGNocG9pbnQuZXhwCitAQCAtNTksNyArNTksNyBAQCBwcm9jIGRv X3Rlc3QgeyBkaXNwbGFjZWQgd2l0aF9icCB9IHsKKyAKKyAJCWdkYl9icmVha3BvaW50IFtnZGJf Z2V0X2xpbmVfbnVtYmVyICJzZXQgd2FpdC10aHJlYWQgYnJlYWtwb2ludCBoZXJlIl0KKyAJCWdk Yl9jb250aW51ZV90b19icmVha3BvaW50ICJydW4gdG8gd2FpdC10aHJlYWQgYnJlYWtwb2ludCIK Ky0JCWdkYl90ZXN0ICJpbmZvIHRocmVhZHMiICJcXFwqIDEgLiogIDIgLioiICJpbmZvIHRocmVh ZHMgc2hvd3MgYWxsIHRocmVhZHMiCisrCQlnZGJfdGVzdCAiaW5mbyB0aHJlYWRzIiAiMiAuKlxc XCogMS4qIiAiaW5mbyB0aHJlYWRzIHNob3dzIGFsbCB0aHJlYWRzIgorIAorIAkJZ2RiX3Rlc3Rf bm9fb3V0cHV0ICJzZXQgc2NoZWR1bGVyLWxvY2tpbmcgb24iCisgCitkaWZmIC0tZ2l0IGEvZ2Ri L3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90aHJlYWQtZmluZC5leHAgYi9nZGIvdGVzdHN1aXRlL2dk Yi50aHJlYWRzL3RocmVhZC1maW5kLmV4cAoraW5kZXggYmQ5MGM1Ny4uNTdkNThhMiAxMDA2NDQK Ky0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGhyZWFkLWZpbmQuZXhwCisrKysgYi9n ZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3RocmVhZC1maW5kLmV4cAorQEAgLTU1LDExICs1NSwy OSBAQCBnZGJfdGVzdCAidGhyZWFkIGFwcGx5IDYgdGhyZWFkIG5hbWUgdGhyZWFkbmFtZV82IiBc CisgICAgICJuYW1lIHRocmVhZCA2IgorIAorICMgQ29sbGVjdCB0aHJlYWQgaWRzLCBpZiBhbnku CistCisgZ2RiX3Rlc3RfbXVsdGlwbGUgImluZm8gdGhyZWFkcyIgImNvbGxlY3QgdGhyZWFkIGlk IiB7CistICAgIC1yZSAiLiAoXFswLTlcXSspIFxbXlxyXG5cXSpcW1R0XF1ocmVhZCAoXFswLTlh LWZBLUZ4XF0rKVxbXlxyXG5cXSogXCJ0aHJlYWRuYW1lX1xbMC05XF0rXCIgXFteXHJcblxdKiIg eworLQlzZXQgdGhyX251bSAkZXhwZWN0X291dCgxLHN0cmluZykKKy0Jc2V0IHRocmVhZCR0aHJf bnVtICRleHBlY3Rfb3V0KDIsc3RyaW5nKQorKyAgICAtcmUgIi4gNiAuKlxbVHRcXWhyZWFkIChc WzAtOWEtZkEtRnhcXSspLiogXCJ0aHJlYWRuYW1lXzZcIiBcW15cclxuXF0qIiB7CisrCXNldCB0 aHJlYWQ2ICRleHBlY3Rfb3V0KDEsc3RyaW5nKQorKwlleHBfY29udGludWUKKysgICAgfQorKyAg ICAtcmUgIi4gNSAuKlxbVHRcXWhyZWFkIChcWzAtOWEtZkEtRnhcXSspLiogXCJ0aHJlYWRuYW1l XzVcIiBcW15cclxuXF0qIiB7CisrCXNldCB0aHJlYWQ1ICRleHBlY3Rfb3V0KDEsc3RyaW5nKQor KwlleHBfY29udGludWUKKysgICAgfQorKyAgICAtcmUgIi4gNCAuKlxbVHRcXWhyZWFkIChcWzAt OWEtZkEtRnhcXSspLiogXCJ0aHJlYWRuYW1lXzRcIiBcW15cclxuXF0qIiB7CisrCXNldCB0aHJl YWQ0ICRleHBlY3Rfb3V0KDEsc3RyaW5nKQorKwlleHBfY29udGludWUKKysgICAgfQorKyAgICAt cmUgIi4gMyAuKlxbVHRcXWhyZWFkIChcWzAtOWEtZkEtRnhcXSspLiogXCJ0aHJlYWRuYW1lXzNc IiBcW15cclxuXF0qIiB7CisrCXNldCB0aHJlYWQzICRleHBlY3Rfb3V0KDEsc3RyaW5nKQorKwll eHBfY29udGludWUKKysgICAgfQorKyAgICAtcmUgIi4gMiAuKlxbVHRcXWhyZWFkIChcWzAtOWEt ZkEtRnhcXSspLiogXCJ0aHJlYWRuYW1lXzJcIiBcW15cclxuXF0qIiB7CisrCXNldCB0aHJlYWQy ICRleHBlY3Rfb3V0KDEsc3RyaW5nKQorKwlleHBfY29udGludWUKKysgICAgfQorKyAgICAtcmUg Ii4gMSAuKlxbVHRcXWhyZWFkIChcWzAtOWEtZkEtRnhcXSspLiogXCJ0aHJlYWRuYW1lXzFcIiBc W15cclxuXF0qIiB7CisrCXNldCB0aHJlYWQxICRleHBlY3Rfb3V0KDEsc3RyaW5nKQorIAlleHBf Y29udGludWUKKyAgICAgfQorICAgICAtcmUgIi4qJGdkYl9wcm9tcHQgJCIgeworQEAgLTcyLDEx ICs5MCwyOSBAQCBpZiB7IFtpbmZvIGV4aXN0cyB0aHJlYWQ2XSB9IHRoZW4geworIH0KKyAKKyAj IENvbGxlY3QgcHJvY2VzcyBpZHMsIGlmIGFueS4KKy0KKyBnZGJfdGVzdF9tdWx0aXBsZSAiaW5m byB0aHJlYWRzIiAiY29sbGVjdCB0aHJlYWQgaWQiIHsKKy0gICAgLXJlICIuIChcWzAtOVxdKykg XFteXHJcblxdKlxbUHBcXXJvY2VzcyAoXFswLTlhLWZBLUZ4XF0rKVxbXlxyXG5cXSogXCJ0aHJl YWRuYW1lX1xbMC05XF0rXCIgXFteXHJcblxdKiIgeworLQlzZXQgdGhyX251bSAkZXhwZWN0X291 dCgxLHN0cmluZykKKy0Jc2V0IHByb2Nlc3MkdGhyX251bSAkZXhwZWN0X291dCgyLHN0cmluZykK KysgICAgLXJlICIuIDYgLipcW1BwXF1yb2Nlc3MgKFxbMC05YS1mQS1GeFxdKykuKiBcInRocmVh ZG5hbWVfNlwiIFxbXlxyXG5cXSoiIHsKKysJc2V0IHByb2Nlc3M2ICRleHBlY3Rfb3V0KDEsc3Ry aW5nKQorKwlleHBfY29udGludWUKKysgICAgfQorKyAgICAtcmUgIi4gNSAuKlxbUHBcXXJvY2Vz cyAoXFswLTlhLWZBLUZ4XF0rKS4qIFwidGhyZWFkbmFtZV81XCIgXFteXHJcblxdKiIgeworKwlz ZXQgcHJvY2VzczUgJGV4cGVjdF9vdXQoMSxzdHJpbmcpCisrCWV4cF9jb250aW51ZQorKyAgICB9 CisrICAgIC1yZSAiLiA0IC4qXFtQcFxdcm9jZXNzIChcWzAtOWEtZkEtRnhcXSspLiogXCJ0aHJl YWRuYW1lXzRcIiBcW15cclxuXF0qIiB7CisrCXNldCBwcm9jZXNzNCAkZXhwZWN0X291dCgxLHN0 cmluZykKKysJZXhwX2NvbnRpbnVlCisrICAgIH0KKysgICAgLXJlICIuIDMgLipcW1BwXF1yb2Nl c3MgKFxbMC05YS1mQS1GeFxdKykuKiBcInRocmVhZG5hbWVfM1wiIFxbXlxyXG5cXSoiIHsKKysJ c2V0IHByb2Nlc3MzICRleHBlY3Rfb3V0KDEsc3RyaW5nKQorKwlleHBfY29udGludWUKKysgICAg fQorKyAgICAtcmUgIi4gMiAuKlxbUHBcXXJvY2VzcyAoXFswLTlhLWZBLUZ4XF0rKS4qIFwidGhy ZWFkbmFtZV8yXCIgXFteXHJcblxdKiIgeworKwlzZXQgcHJvY2VzczIgJGV4cGVjdF9vdXQoMSxz dHJpbmcpCisrCWV4cF9jb250aW51ZQorKyAgICB9CisrICAgIC1yZSAiLiAxIC4qXFtQcFxdcm9j ZXNzIChcWzAtOWEtZkEtRnhcXSspLiogXCJ0aHJlYWRuYW1lXzFcIiBcW15cclxuXF0qIiB7Cisr CXNldCBwcm9jZXNzMSAkZXhwZWN0X291dCgxLHN0cmluZykKKyAJZXhwX2NvbnRpbnVlCisgICAg IH0KKyAgICAgLXJlICIuKiRnZGJfcHJvbXB0ICQiIHsKK0BAIC04OSwxMSArMTI1LDI5IEBAIGlm IHsgW2luZm8gZXhpc3RzIHByb2Nlc3M2XSB9IHRoZW4geworIH0KKyAKKyAjIENvbGxlY3QgbHdw IGlkcywgaWYgYW55LgorLQorIGdkYl90ZXN0X211bHRpcGxlICJpbmZvIHRocmVhZHMiICJjb2xs ZWN0IHRocmVhZCBpZCIgeworLSAgICAtcmUgIi4gKFxbMC05XF0rKSBcW15cclxuXF0qTFdQIChc WzAtOWEtZkEtRnhcXSspXFteXHJcblxdKiBcInRocmVhZG5hbWVfXFswLTlcXStcIiBcW15cclxu XF0qIiB7CistCXNldCB0aHJfbnVtICRleHBlY3Rfb3V0KDEsc3RyaW5nKQorLQlzZXQgbHdwJHRo cl9udW0gJGV4cGVjdF9vdXQoMixzdHJpbmcpCisrICAgIC1yZSAiLiA2IC4qTFdQIChcWzAtOWEt ZkEtRnhcXSspLiogXCJ0aHJlYWRuYW1lXzZcIiBcW15cclxuXF0qIiB7CisrCXNldCBsd3A2ICRl eHBlY3Rfb3V0KDEsc3RyaW5nKQorKwlleHBfY29udGludWUKKysgICAgfQorKyAgICAtcmUgIi4g NSAuKkxXUCAoXFswLTlhLWZBLUZ4XF0rKS4qIFwidGhyZWFkbmFtZV81XCIgXFteXHJcblxdKiIg eworKwlzZXQgbHdwNSAkZXhwZWN0X291dCgxLHN0cmluZykKKysJZXhwX2NvbnRpbnVlCisrICAg IH0KKysgICAgLXJlICIuIDQgLipMV1AgKFxbMC05YS1mQS1GeFxdKykuKiBcInRocmVhZG5hbWVf NFwiIFxbXlxyXG5cXSoiIHsKKysJc2V0IGx3cDQgJGV4cGVjdF9vdXQoMSxzdHJpbmcpCisrCWV4 cF9jb250aW51ZQorKyAgICB9CisrICAgIC1yZSAiLiAzIC4qTFdQIChcWzAtOWEtZkEtRnhcXSsp LiogXCJ0aHJlYWRuYW1lXzNcIiBcW15cclxuXF0qIiB7CisrCXNldCBsd3AzICRleHBlY3Rfb3V0 KDEsc3RyaW5nKQorKwlleHBfY29udGludWUKKysgICAgfQorKyAgICAtcmUgIi4gMiAuKkxXUCAo XFswLTlhLWZBLUZ4XF0rKS4qIFwidGhyZWFkbmFtZV8yXCIgXFteXHJcblxdKiIgeworKwlzZXQg bHdwMiAkZXhwZWN0X291dCgxLHN0cmluZykKKysJZXhwX2NvbnRpbnVlCisrICAgIH0KKysgICAg LXJlICIuIDEgLipMV1AgKFxbMC05YS1mQS1GeFxdKykuKiBcInRocmVhZG5hbWVfMVwiIFxbXlxy XG5cXSoiIHsKKysJc2V0IGx3cDEgJGV4cGVjdF9vdXQoMSxzdHJpbmcpCisgCWV4cF9jb250aW51 ZQorICAgICB9CisgICAgIC1yZSAiLiokZ2RiX3Byb21wdCAkIiB7CitAQCAtMTg3LDEzICsyNDEs MzYgQEAgZ2RiX3Rlc3QgInRocmVhZCBmaW5kIGZvb2JhcmJheiIgIk5vIHRocmVhZHMgbWF0Y2gg LioiICJubyB0aHJlYWQiCisgIyBUZXN0IHJlZ3VsYXIgZXhwcmVzc2lvbgorICMKKyAKKy1mb3Ig e3NldCBpIDF9IHskaSA8PSA2fSB7aW5jciBpfSB7CistICAgIHNldCBzZWUkaSAwCistfQorK3Nl dCBzZWUxIDAKKytzZXQgc2VlMiAwCisrc2V0IHNlZTMgMAorK3NldCBzZWU0IDAKKytzZXQgc2Vl NSAwCisrc2V0IHNlZTYgMAorKworIGdkYl90ZXN0X211bHRpcGxlICJ0aHJlYWQgZmluZCB0aHJl YWRuYW1lX1xbMzQ1XF0iICJ0ZXN0IHJlZ3VsYXIgZXhwIiB7CistICAgIC1yZSAiVGhyZWFkIChc WzAtOVxdKykgaGFzIG5hbWUgXFteXHJcblxdKiIgeworLQlzZXQgdGhyX251bSAkZXhwZWN0X291 dCgxLHN0cmluZykKKy0Jc2V0IHNlZSR0aHJfbnVtIDEKKysgICAgLXJlICJUaHJlYWQgNiBoYXMg bmFtZSBcW15cclxuXF0qIiB7CisrCXNldCBzZWU2IDEKKysJZXhwX2NvbnRpbnVlCisrICAgIH0K KysgICAgLXJlICJUaHJlYWQgNSBoYXMgbmFtZSBcW15cclxuXF0qIiB7CisrCXNldCBzZWU1IDEK KysJZXhwX2NvbnRpbnVlCisrICAgIH0KKysgICAgLXJlICJUaHJlYWQgNCBoYXMgbmFtZSBcW15c clxuXF0qIiB7CisrCXNldCBzZWU0IDEKKysJZXhwX2NvbnRpbnVlCisrICAgIH0KKysgICAgLXJl ICJUaHJlYWQgMyBoYXMgbmFtZSBcW15cclxuXF0qIiB7CisrCXNldCBzZWUzIDEKKysJZXhwX2Nv bnRpbnVlCisrICAgIH0KKysgICAgLXJlICJUaHJlYWQgMiBoYXMgbmFtZSBcW15cclxuXF0qIiB7 CisrCXNldCBzZWUyIDEKKysJZXhwX2NvbnRpbnVlCisrICAgIH0KKysgICAgLXJlICJUaHJlYWQg MSBoYXMgbmFtZSBcW15cclxuXF0qIiB7CisrCXNldCBzZWUxIDEKKyAJZXhwX2NvbnRpbnVlCisg ICAgIH0KKyAgICAgLXJlICIuKiRnZGJfcHJvbXB0ICQiIHsKK0BAIC0yMDksMTMgKzI4NiwzNiBA QCBnZGJfdGVzdF9tdWx0aXBsZSAidGhyZWFkIGZpbmQgdGhyZWFkbmFtZV9cWzM0NVxdIiAidGVz dCByZWd1bGFyIGV4cCIgeworICMgVGVzdCBpbmZvIHRocmVhZHMgb24gYSBzdWJzZXQgb2YgdGhy ZWFkcworICMKKyAKKy1mb3Ige3NldCBpIDF9IHskaSA8PSA2fSB7aW5jciBpfSB7CistICAgIHNl dCBzZWUkaSAwCistfQorK3NldCBzZWUxIDAKKytzZXQgc2VlMiAwCisrc2V0IHNlZTMgMAorK3Nl dCBzZWU0IDAKKytzZXQgc2VlNSAwCisrc2V0IHNlZTYgMAorKworIGdkYl90ZXN0X211bHRpcGxl ICJpbmZvIHRocmVhZHMgMiA0IDYiICJpbmZvIHRocmVhZHMgMiA0IDYiIHsKKy0gICAgLXJlICIu IChcWzAtOVxdKykgXFteXHJcblxdKlwidGhyZWFkbmFtZV9cWzAtOVxdK1wiIFxbXlxyXG5cXSoi IHsKKy0Jc2V0IHRocl9udW0gJGV4cGVjdF9vdXQoMSxzdHJpbmcpCistCXNldCBzZWUkdGhyX251 bSAxCisrICAgIC1yZSAiLiA2IFxbXlxyXG5cXSpcInRocmVhZG5hbWVfNlwiIFxbXlxyXG5cXSoi IHsKKysJc2V0IHNlZTYgMQorKwlleHBfY29udGludWUKKysgICAgfQorKyAgICAtcmUgIi4gNSBc W15cclxuXF0qXCJ0aHJlYWRuYW1lXzVcIiBcW15cclxuXF0qIiB7CisrCXNldCBzZWU1IDEKKysJ ZXhwX2NvbnRpbnVlCisrICAgIH0KKysgICAgLXJlICIuIDQgXFteXHJcblxdKlwidGhyZWFkbmFt ZV80XCIgXFteXHJcblxdKiIgeworKwlzZXQgc2VlNCAxCisrCWV4cF9jb250aW51ZQorKyAgICB9 CisrICAgIC1yZSAiLiAzIFxbXlxyXG5cXSpcInRocmVhZG5hbWVfM1wiIFxbXlxyXG5cXSoiIHsK KysJc2V0IHNlZTMgMQorKwlleHBfY29udGludWUKKysgICAgfQorKyAgICAtcmUgIi4gMiBcW15c clxuXF0qXCJ0aHJlYWRuYW1lXzJcIiBcW15cclxuXF0qIiB7CisrCXNldCBzZWUyIDEKKysJZXhw X2NvbnRpbnVlCisrICAgIH0KKysgICAgLXJlICIuIDEgXFteXHJcblxdKlwidGhyZWFkbmFtZV8x XCIgXFteXHJcblxdKiIgeworKwlzZXQgc2VlMSAxCisgCWV4cF9jb250aW51ZQorICAgICB9Cisg ICAgIC1yZSAiJGdkYl9wcm9tcHQgJCIgeworQEAgLTIzMSwxMyArMzMxLDM2IEBAIGdkYl90ZXN0 X211bHRpcGxlICJpbmZvIHRocmVhZHMgMiA0IDYiICJpbmZvIHRocmVhZHMgMiA0IDYiIHsKKyAj IFRlc3QgaW5mbyB0aHJlYWRzIG9uIGEgcmFuZ2UKKyAjCisgCistZm9yIHtzZXQgaSAxfSB7JGkg PD0gNn0ge2luY3IgaX0geworLSAgICBzZXQgc2VlJGkgMAorLX0KKytzZXQgc2VlMSAwCisrc2V0 IHNlZTIgMAorK3NldCBzZWUzIDAKKytzZXQgc2VlNCAwCisrc2V0IHNlZTUgMAorK3NldCBzZWU2 IDAKKysKKyBnZGJfdGVzdF9tdWx0aXBsZSAiaW5mbyB0aHJlYWRzIDMtNSIgImluZm8gdGhyZWFk cyAzLTUiIHsKKy0gICAgLXJlICIuIChcWzAtOVxdKykgXFteXHJcblxdKlwidGhyZWFkbmFtZV9c WzAtOVxdK1wiIFxbXlxyXG5cXSoiIHsKKy0Jc2V0IHRocl9udW0gJGV4cGVjdF9vdXQoMSxzdHJp bmcpCistCXNldCBzZWUkdGhyX251bSAxCisrICAgIC1yZSAiLiA2IC4qXCJ0aHJlYWRuYW1lXzZc IiBcW15cclxuXF0qIiB7CisrCXNldCBzZWU2IDEKKysJZXhwX2NvbnRpbnVlCisrICAgIH0KKysg ICAgLXJlICIuIDUgLipcInRocmVhZG5hbWVfNVwiIFxbXlxyXG5cXSoiIHsKKysJc2V0IHNlZTUg MQorKwlleHBfY29udGludWUKKysgICAgfQorKyAgICAtcmUgIi4gNCAuKlwidGhyZWFkbmFtZV80 XCIgXFteXHJcblxdKiIgeworKwlzZXQgc2VlNCAxCisrCWV4cF9jb250aW51ZQorKyAgICB9Cisr ICAgIC1yZSAiLiAzIC4qXCJ0aHJlYWRuYW1lXzNcIiBcW15cclxuXF0qIiB7CisrCXNldCBzZWUz IDEKKysJZXhwX2NvbnRpbnVlCisrICAgIH0KKysgICAgLXJlICIuIDIgLipcInRocmVhZG5hbWVf MlwiIFxbXlxyXG5cXSoiIHsKKysJc2V0IHNlZTIgMQorKwlleHBfY29udGludWUKKysgICAgfQor KyAgICAtcmUgIi4gMSAuKlwidGhyZWFkbmFtZV8xXCIgXFteXHJcblxdKiIgeworKwlzZXQgc2Vl MSAxCisgCWV4cF9jb250aW51ZQorICAgICB9CisgICAgIC1yZSAiJGdkYl9wcm9tcHQgJCIgewor QEAgLTI1NSwxMyArMzc4LDM2IEBAIGdkYl90ZXN0ICJpbmZvIHRocmVhZHMgNS0zIiAiaW52ZXJ0 ZWQgcmFuZ2UiICJ0ZXN0IGludmVydGVkIHJhbmdlIgorIAorICMgVGVzdCBkZWdlbmVyYXRlIHJh bmdlCisgCistZm9yIHtzZXQgaSAxfSB7JGkgPD0gNn0ge2luY3IgaX0geworLSAgICBzZXQgc2Vl JGkgMAorLX0KKytzZXQgc2VlMSAwCisrc2V0IHNlZTIgMAorK3NldCBzZWUzIDAKKytzZXQgc2Vl NCAwCisrc2V0IHNlZTUgMAorK3NldCBzZWU2IDAKKysKKyBnZGJfdGVzdF9tdWx0aXBsZSAiaW5m byB0aHJlYWRzIDMtMyIgImluZm8gdGhyZWFkcyAzLTMiIHsKKy0gICAgLXJlICIuIChcWzAtOVxd KykgLipcInRocmVhZG5hbWVfXFswLTlcXStcIiBcW15cclxuXF0qIiB7CistCXNldCB0aHJfbnVt ICRleHBlY3Rfb3V0KDEsc3RyaW5nKQorLQlzZXQgc2VlJHRocl9udW0gMQorKyAgICAtcmUgIi4g NiAuKlwidGhyZWFkbmFtZV82XCIgXFteXHJcblxdKiIgeworKwlzZXQgc2VlNiAxCisrCWV4cF9j b250aW51ZQorKyAgICB9CisrICAgIC1yZSAiLiA1IC4qXCJ0aHJlYWRuYW1lXzVcIiBcW15cclxu XF0qIiB7CisrCXNldCBzZWU1IDEKKysJZXhwX2NvbnRpbnVlCisrICAgIH0KKysgICAgLXJlICIu IDQgLipcInRocmVhZG5hbWVfNFwiIFxbXlxyXG5cXSoiIHsKKysJc2V0IHNlZTQgMQorKwlleHBf Y29udGludWUKKysgICAgfQorKyAgICAtcmUgIi4gMyAuKlwidGhyZWFkbmFtZV8zXCIgXFteXHJc blxdKiIgeworKwlzZXQgc2VlMyAxCisrCWV4cF9jb250aW51ZQorKyAgICB9CisrICAgIC1yZSAi LiAyIC4qXCJ0aHJlYWRuYW1lXzJcIiBcW15cclxuXF0qIiB7CisrCXNldCBzZWUyIDEKKysJZXhw X2NvbnRpbnVlCisrICAgIH0KKysgICAgLXJlICIuIDEgLipcInRocmVhZG5hbWVfMVwiIFxbXlxy XG5cXSoiIHsKKysJc2V0IHNlZTEgMQorIAlleHBfY29udGludWUKKyAgICAgfQorICAgICAtcmUg Ii4qJGdkYl9wcm9tcHQgJCIgeworZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVh ZHMvdGxzLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGxzLmV4cAoraW5kZXggNGQw YTIzNS4uY2Q3ZmMwYSAxMDA2NDQKKy0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGxz LmV4cAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90bHMuZXhwCitAQCAtMjA1LDcg KzIwNSw3IEBAIGdkYl90ZXN0ICJjb250aW51ZSIgIi4qQnJlYWtwb2ludCAzLipzdGlsbCBhbGl2 ZS4qIiAiY29udGludWUgdG8gc3luY2ggcG9pbnQiCisgc2V0IG5vX29mX3RocmVhZHMgMAorIHNl bmRfZ2RiICJpbmZvIHRocmVhZFxuIgorIGdkYl9leHBlY3QgeworLSAgICAtcmUgIl5pbmZvIHRo cmVhZFxbIFx0XHJcblxdKyAqSWQgLipGcmFtZVxbIFx0XHJcblxdKy4qKFxbMC05XF0rKSAqVGhy ZWFkXFteXHJcblxdK1xyXG4kZ2RiX3Byb21wdCAkIiB7CisrICAgIC1yZSAiXmluZm8gdGhyZWFk XFsgXHRcclxuXF0rICpJZCAuKkZyYW1lXFsgXHRcclxuXF0rKFxbMC05XF0rKSAqVGhyZWFkLiok Z2RiX3Byb21wdCAkIiB7CisgCSAgIHNldCBub19vZl90aHJlYWRzICRleHBlY3Rfb3V0KDEsc3Ry aW5nKQorIAkgICBwYXNzICJnZXQgbnVtYmVyIG9mIHRocmVhZHMiCisgICAgICAgICB9CitkaWZm IC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9saWIvbWktc3VwcG9ydC5leHAgYi9nZGIvdGVzdHN1aXRl L2xpYi9taS1zdXBwb3J0LmV4cAoraW5kZXggN2Y5YTNmNS4uY2I4MjI3ZCAxMDA2NDQKKy0tLSBh L2dkYi90ZXN0c3VpdGUvbGliL21pLXN1cHBvcnQuZXhwCisrKysgYi9nZGIvdGVzdHN1aXRlL2xp Yi9taS1zdXBwb3J0LmV4cAorQEAgLTE5NjgsOCArMTk2OCwxOSBAQCBwcm9jIG1pX2xvYWRfc2hs aWJzIHsgYXJncyB9IHsKKyAgICAgbWlfZ2RiX3Rlc3QgInNldCBzb2xpYi1zZWFyY2gtcGF0aCBb ZmlsZSBkaXJuYW1lIFtsaW5kZXggJGFyZ3MgMF1dIiAiXF5kb25lIiAiIgorIH0KKyAKKy1wcm9j IG1pX2NoZWNrX3RocmVhZF9zdGF0ZXMgeyBzdGF0ZXMgdGVzdCB9IHsKKytwcm9jIG1pX3JldmVy c2VfbGlzdCB7IGxpc3QgfSB7CisrICAgIGlmIHsgW2xsZW5ndGggJGxpc3RdIDw9IDEgfSB7Cisr CXJldHVybiAkbGlzdAorKyAgICB9CisrICAgIHNldCB0YWlsIFtscmFuZ2UgJGxpc3QgMSBbbGxl bmd0aCAkbGlzdF1dCisrICAgIHNldCBydGFpbCBbbWlfcmV2ZXJzZV9saXN0ICR0YWlsXQorKyAg ICBsYXBwZW5kIHJ0YWlsIFtsaW5kZXggJGxpc3QgMF0KKysgICAgcmV0dXJuICRydGFpbAorK30K KysKKytwcm9jIG1pX2NoZWNrX3RocmVhZF9zdGF0ZXMgeyB4c3RhdGVzIHRlc3QgfSB7CisgICAg IGdsb2JhbCBleHBlY3Rfb3V0CisrICAgIHNldCBzdGF0ZXMgW21pX3JldmVyc2VfbGlzdCAkeHN0 YXRlc10KKyAgICAgc2V0IHBhdHRlcm4gIi4qXFxeZG9uZSx0aHJlYWRzPVxcXFsiCisgICAgIGZv cmVhY2ggcyAkc3RhdGVzIHsKKyAJc2V0IHBhdHRlcm4gIiR7cGF0dGVybn0oLiopc3RhdGU9XCIk c1wiIgorZGlmZiAtLWdpdCBhL2dkYi90aHJlYWQuYyBiL2dkYi90aHJlYWQuYworaW5kZXggNGMy MjU5Zi4uMjlmYzYxMCAxMDA2NDQKKy0tLSBhL2dkYi90aHJlYWQuYworKysrIGIvZ2RiL3RocmVh ZC5jCitAQCAtMjM2LDE3ICsyMzYsOCBAQCBuZXdfdGhyZWFkIChwdGlkX3QgcHRpZCkKKyAKKyAg IHRwLT5wdGlkID0gcHRpZDsKKyAgIHRwLT5udW0gPSArK2hpZ2hlc3RfdGhyZWFkX251bTsKKy0K Ky0gIGlmICh0aHJlYWRfbGlzdCA9PSBOVUxMKQorLSAgICB0aHJlYWRfbGlzdCA9IHRwOworLSAg ZWxzZQorLSAgICB7CistICAgICAgc3RydWN0IHRocmVhZF9pbmZvICpsYXN0OworLQorLSAgICAg IGZvciAobGFzdCA9IHRocmVhZF9saXN0OyBsYXN0LT5uZXh0ICE9IE5VTEw7IGxhc3QgPSBsYXN0 LT5uZXh0KQorLQk7CistICAgICAgbGFzdC0+bmV4dCA9IHRwOworLSAgICB9CisrICB0cC0+bmV4 dCA9IHRocmVhZF9saXN0OworKyAgdGhyZWFkX2xpc3QgPSB0cDsKKyAKKyAgIC8qIE5vdGhpbmcg dG8gZm9sbG93IHlldC4gICovCisgICB0cC0+cGVuZGluZ19mb2xsb3cua2luZCA9IFRBUkdFVF9X QUlUS0lORF9TUFVSSU9VUzsKCmRpZmYgLS1naXQgYS9nZGItcmhiejc5NTQyNC1iaXRwb3MtMjNv ZjI1LnBhdGNoIGIvZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIzb2YyNS5wYXRjaAppbmRleCBjOWQz ZWY4Li4xZjZkMjM3IDEwMDY0NAotLS0gYS9nZGItcmhiejc5NTQyNC1iaXRwb3MtMjNvZjI1LnBh dGNoCisrKyBiL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yM29mMjUucGF0Y2gKQEAgLTEzNywxMSAr MTM3LDExIEBAIENvbnRlbnQtVHlwZTogdGV4dC94LXBhdGNoCiBDb250ZW50LVRyYW5zZmVyLUVu Y29kaW5nOiA3Yml0CiBDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT1i aXRwb3MtdGRlcC5wYXRjaAogCi1JbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL2FscGhh LXRkZXAuYworSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9hbHBoYS10ZGVwLmMKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItNy4xMC41MC4yMDE1MTAyMi5vcmlnL2dkYi9hbHBoYS10ZGVwLmMJ MjAxNS0xMC0yNCAyMzoxNDoxNy43OTIwMzkzMjcgKzAyMDAKLSsrKyBnZGItNy4xMC41MC4yMDE1 MTAyMi9nZGIvYWxwaGEtdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTU6MDcuNjE1MzcwMjc0ICswMjAw Ci1AQCAtMjk5LDE3ICsyOTksMTcgQEAgYWxwaGFfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2Ri YXJjaCAqZworLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9yaWcvZ2RiL2FscGhhLXRkZXAuYwky MDE2LTAxLTA4IDE5OjE2OjE2LjU5MjgxMzk5MCArMDEwMAorKysrIGdkYi03LjEwLjUwLjIwMTYw MTA2L2dkYi9hbHBoYS10ZGVwLmMJMjAxNi0wMS0wOCAxOToxNjoyMC4zMDg4MzQ3MTcgKzAxMDAK K0BAIC0yOTksMTcgKzI5OSwxNyBAQAogIHsKICAgIGVudW0gYmZkX2VuZGlhbiBieXRlX29yZGVy ID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsKICAgIGludCBpOwpAQCAtMTYzLDcgKzE2 Myw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvYWxwaGEtdGRlcC5jCiAgICBD T1JFX0FERFIgZnVuY19hZGRyID0gZmluZF9mdW5jdGlvbl9hZGRyIChmdW5jdGlvbiwgTlVMTCk7 CiAgCiAgICAvKiBUaGUgQUJJIHBsYWNlcyB0aGUgYWRkcmVzcyBvZiB0aGUgY2FsbGVkIGZ1bmN0 aW9uIGluIFQxMi4gICovCi1AQCAtNDI5LDggKzQyOSw4IEBAIGFscGhhX3B1c2hfZHVtbXlfY2Fs bCAoc3RydWN0IGdkYmFyY2ggKmcKK0BAIC00MjksOCArNDI5LDggQEAKICAgIGZvciAoaSA9IG5h cmdzOyBtX2FyZy0tLCAtLWkgPj0gMDspCiAgICAgIHsKICAgICAgICBjb25zdCBnZGJfYnl0ZSAq Y29udGVudHMgPSBtX2FyZy0+Y29udGVudHM7CkBAIC0xNzQsNyArMTc0LDcgQEAgSW5kZXg6IGdk Yi03LjEwLjUwLjIwMTUxMDIyL2dkYi9hbHBoYS10ZGVwLmMKICAKICAgICAgICAvKiBDb3B5IHRo ZSBieXRlcyBkZXN0aW5lZCBmb3IgcmVnaXN0ZXJzIGludG8gYXJnX3JlZ19idWZmZXIuICAqLwog ICAgICAgIGlmIChvZmZzZXQgPCBzaXplb2YoYXJnX3JlZ19idWZmZXIpKQotQEAgLTQ0Miw3ICs0 NDIsNyBAQCBhbHBoYV9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnCitAQCAtNDQy LDcgKzQ0Miw3IEBACiAgCSAgICB9CiAgCSAgZWxzZQogIAkgICAgewpAQCAtMTgzLDExICsxODMs MTEgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9hbHBoYS10ZGVwLmMKICAJICAg ICAgbWVtY3B5IChhcmdfcmVnX2J1ZmZlciArIG9mZnNldCwgY29udGVudHMsIHRsZW4pOwogIAkg ICAgICBvZmZzZXQgKz0gdGxlbjsKICAJICAgICAgY29udGVudHMgKz0gdGxlbjsKLUluZGV4OiBn ZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvYW1kNjQtdGRlcC5jCitJbmRleDogZ2RiLTcuMTAuNTAu MjAxNjAxMDYvZ2RiL2FtZDY0LXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEwLjUwLjIw MTUxMDIyLm9yaWcvZ2RiL2FtZDY0LXRkZXAuYwkyMDE1LTEwLTI0IDIzOjE0OjE3Ljc5MzAzOTMz MyArMDIwMAotKysrIGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9hbWQ2NC10ZGVwLmMJMjAxNS0x MC0yNCAyMzoxNDoyMC45MzUwNjAyMDQgKzAyMDAKLUBAIC03MDEsNyArNzAxLDcgQEAgYW1kNjRf cmV0dXJuX3ZhbHVlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYQorLS0tIGdkYi03LjEwLjUwLjIwMTYw MTA2Lm9yaWcvZ2RiL2FtZDY0LXRkZXAuYwkyMDE2LTAxLTA4IDE5OjE2OjE2LjU5NDgxNDAwMSAr MDEwMAorKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9hbWQ2NC10ZGVwLmMJMjAxNi0wMS0w OCAxOToxNjoyMC4zMDk4MzQ3MjMgKzAxMDAKK0BAIC02OTksNyArNjk5LDcgQEAKICAJCSAgICBn ZGJfYnl0ZSAqcmVhZGJ1ZiwgY29uc3QgZ2RiX2J5dGUgKndyaXRlYnVmKQogIHsKICAgIGVudW0g YW1kNjRfcmVnX2NsYXNzIHRoZWNsYXNzWzJdOwpAQCAtMTk2LDcgKzE5Niw3IEBAIEluZGV4OiBn ZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvYW1kNjQtdGRlcC5jCiAgICBzdGF0aWMgaW50IGludGVn ZXJfcmVnbnVtW10gPSB7IEFNRDY0X1JBWF9SRUdOVU0sIEFNRDY0X1JEWF9SRUdOVU0gfTsKICAg IHN0YXRpYyBpbnQgc3NlX3JlZ251bVtdID0geyBBTUQ2NF9YTU0wX1JFR05VTSwgQU1ENjRfWE1N MV9SRUdOVU0gfTsKICAgIGludCBpbnRlZ2VyX3JlZyA9IDA7Ci1AQCAtODUyLDggKzg1Miw4IEBA IGFtZDY0X3B1c2hfYXJndW1lbnRzIChzdHJ1Y3QgcmVnY2FjaGUgKnIKK0BAIC04NTAsOCArODUw LDggQEAKICAgIH07CiAgICBzdHJ1Y3QgdmFsdWUgKipzdGFja19hcmdzID0gWEFMTE9DQVZFQyAo c3RydWN0IHZhbHVlICosIG5hcmdzKTsKICAgIGludCBudW1fc3RhY2tfYXJncyA9IDA7CkBAIC0y MDcsNyArMjA3LDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9hbWQ2NC10ZGVw LmMKICAgIGludCBpbnRlZ2VyX3JlZyA9IDA7CiAgICBpbnQgc3NlX3JlZyA9IDA7CiAgICBpbnQg aTsKLUBAIC04NjUsNyArODY1LDcgQEAgYW1kNjRfcHVzaF9hcmd1bWVudHMgKHN0cnVjdCByZWdj YWNoZSAqcgorQEAgLTg2Myw3ICs4NjMsNyBAQAogICAgZm9yIChpID0gMDsgaSA8IG5hcmdzOyBp KyspCiAgICAgIHsKICAgICAgICBzdHJ1Y3QgdHlwZSAqdHlwZSA9IHZhbHVlX3R5cGUgKGFyZ3Nb aV0pOwpAQCAtMjE2LDExICsyMTYsMTEgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dk Yi9hbWQ2NC10ZGVwLmMKICAgICAgICBlbnVtIGFtZDY0X3JlZ19jbGFzcyB0aGVjbGFzc1syXTsK ICAgICAgICBpbnQgbmVlZGVkX2ludGVnZXJfcmVncyA9IDA7CiAgICAgICAgaW50IG5lZWRlZF9z c2VfcmVncyA9IDA7Ci1JbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL2FtZDY0LXdpbmRv d3MtdGRlcC5jCitJbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL2FtZDY0LXdpbmRvd3Mt dGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTEwMjIub3JpZy9nZGIvYW1k NjQtd2luZG93cy10ZGVwLmMJMjAxNS0xMC0yNCAyMzoxNDoxNy43OTQwMzkzNDAgKzAyMDAKLSsr KyBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvYW1kNjQtd2luZG93cy10ZGVwLmMJMjAxNS0xMC0y NCAyMzoxNDoyMC45MzUwNjAyMDQgKzAyMDAKLUBAIC0yODgsNyArMjg4LDcgQEAgYW1kNjRfd2lu ZG93c19yZXR1cm5fdmFsdWUgKHN0cnVjdCBnZGJhcgorLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2 Lm9yaWcvZ2RiL2FtZDY0LXdpbmRvd3MtdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MTYuNTk1ODE0 MDA2ICswMTAwCisrKysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL2FtZDY0LXdpbmRvd3MtdGRl cC5jCTIwMTYtMDEtMDggMTk6MTY6MjAuMzEwODM0NzI4ICswMTAwCitAQCAtMjg4LDcgKzI4OCw3 IEBACiAgCQkJICAgIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hl LAogIAkJCSAgICBnZGJfYnl0ZSAqcmVhZGJ1ZiwgY29uc3QgZ2RiX2J5dGUgKndyaXRlYnVmKQog IHsKQEAgLTIyOSwxMSArMjI5LDExIEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIv YW1kNjQtd2luZG93cy10ZGVwLmMKICAgIGludCByZWdudW0gPSAtMTsKICAKICAgIC8qIFNlZSBp ZiBvdXIgdmFsdWUgaXMgcmV0dXJuZWQgdGhyb3VnaCBhIHJlZ2lzdGVyLiAgSWYgaXQgaXMsIHRo ZW4KLUluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvYXJtLXRkZXAuYworSW5kZXg6IGdk Yi03LjEwLjUwLjIwMTYwMTA2L2dkYi9hcm0tdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcu MTAuNTAuMjAxNTEwMjIub3JpZy9nZGIvYXJtLXRkZXAuYwkyMDE1LTEwLTI0IDIzOjE0OjE3Ljgw MDAzOTM4MCArMDIwMAotKysrIGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9hcm0tdGRlcC5jCTIw MTUtMTAtMjQgMjM6MTQ6MjAuOTM3MDYwMjE3ICswMjAwCi1AQCAtMzUzMSw3ICszNTMxLDcgQEAg YXJtX3ZmcF9jcHJjX3JlZ19jaGFyIChlbnVtIGFybV92ZnBfY3ByYworLS0tIGdkYi03LjEwLjUw LjIwMTYwMTA2Lm9yaWcvZ2RiL2FybS10ZGVwLmMJMjAxNi0wMS0wOCAxOToxNjoxNi42MDM4MTQw NTEgKzAxMDAKKysrKyBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvYXJtLXRkZXAuYwkyMDE2LTAx LTA4IDE5OjE3OjA1LjczNzA4ODEwNyArMDEwMAorQEAgLTMzNDAsNyArMzM0MCw3IEBACiAgICAg YXJyYXkpLiAgVmVjdG9yIHR5cGVzIGFyZSBub3QgY3VycmVudGx5IHN1cHBvcnRlZCwgbWF0Y2hp bmcgdGhlCiAgICAgZ2VuZXJpYyBBQVBDUyBzdXBwb3J0LiAgKi8KICAKQEAgLTI0MiwxNiArMjQy LDE2IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvYXJtLXRkZXAuYwogIGFybV92 ZnBfY3ByY19zdWJfY2FuZGlkYXRlIChzdHJ1Y3QgdHlwZSAqdCwKICAJCQkgICAgZW51bSBhcm1f dmZwX2NwcmNfYmFzZV90eXBlICpiYXNlX3R5cGUpCiAgewotQEAgLTM1OTQsNyArMzU5NCw3IEBA IGFybV92ZnBfY3ByY19zdWJfY2FuZGlkYXRlIChzdHJ1Y3QgdHlwZQorQEAgLTM0MjMsNyArMzQy Myw3IEBACisgCSAgfQorIAllbHNlCisgCSAgeworLQkgICAgaW50IGNvdW50OworKwkgICAgTE9O R0VTVCBjb3VudDsKKyAJICAgIHVuc2lnbmVkIHVuaXRsZW47CiAgCi0gICAgIGNhc2UgVFlQRV9D T0RFX0FSUkFZOgotICAgICAgIHsKLS0JaW50IGNvdW50OwotKwlMT05HRVNUIGNvdW50OwotIAl1 bnNpZ25lZCB1bml0bGVuOwotIAljb3VudCA9IGFybV92ZnBfY3ByY19zdWJfY2FuZGlkYXRlIChU WVBFX1RBUkdFVF9UWVBFICh0KSwgYmFzZV90eXBlKTsKLSAJaWYgKGNvdW50ID09IC0xKQotQEAg LTM2MTQsMTMgKzM2MTQsMTUgQEAgYXJtX3ZmcF9jcHJjX3N1Yl9jYW5kaWRhdGUgKHN0cnVjdCB0 eXBlCisgCSAgICBjb3VudCA9IGFybV92ZnBfY3ByY19zdWJfY2FuZGlkYXRlIChUWVBFX1RBUkdF VF9UWVBFICh0KSwKK0BAIC0zNDQ2LDEzICszNDQ2LDE1IEBACiAgCiAgICAgIGNhc2UgVFlQRV9D T0RFX1NUUlVDVDoKICAgICAgICB7CkBAIC0yNzAsNyArMjcwLDcgQEAgSW5kZXg6IGdkYi03LjEw LjUwLjIwMTUxMDIyL2dkYi9hcm0tdGRlcC5jCiAgCSAgICBpZiAoc3ViX2NvdW50ID09IC0xKQog IAkgICAgICByZXR1cm4gLTE7CiAgCSAgICBjb3VudCArPSBzdWJfY291bnQ7Ci1AQCAtMzY0MCwx MyArMzY0MiwxNSBAQCBhcm1fdmZwX2NwcmNfc3ViX2NhbmRpZGF0ZSAoc3RydWN0IHR5cGUKK0BA IC0zNDcyLDEzICszNDc0LDE1IEBACiAgCiAgICAgIGNhc2UgVFlQRV9DT0RFX1VOSU9OOgogICAg ICAgIHsKQEAgLTI4OSw3ICsyODksNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2Ri L2FybS10ZGVwLmMKICAJICAgIGlmIChzdWJfY291bnQgPT0gLTEpCiAgCSAgICAgIHJldHVybiAt MTsKICAJICAgIGNvdW50ID0gKGNvdW50ID4gc3ViX2NvdW50ID8gY291bnQgOiBzdWJfY291bnQp OwotQEAgLTM2ODIsNyArMzY4Niw3IEBAIGFybV92ZnBfY2FsbF9jYW5kaWRhdGUgKHN0cnVjdCB0 eXBlICp0LAorQEAgLTM1MTQsNyArMzUxOCw3IEBACiAgCQkJaW50ICpjb3VudCkKICB7CiAgICBl bnVtIGFybV92ZnBfY3ByY19iYXNlX3R5cGUgYiA9IFZGUF9DUFJDX1VOS05PV047CkBAIC0yOTgs NyArMjk4LDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9hcm0tdGRlcC5jCiAg ICBpZiAoYyA8PSAwIHx8IGMgPiA0KQogICAgICByZXR1cm4gMDsKICAgICpiYXNlX3R5cGUgPSBi OwotQEAgLTM3NjMsNyArMzc2Nyw3IEBAIGFybV9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJh cmNoICpnZGIKK0BAIC0zNTk1LDcgKzM1OTksNyBAQAogIAogICAgZm9yIChhcmdudW0gPSAwOyBh cmdudW0gPCBuYXJnczsgYXJnbnVtKyspCiAgICAgIHsKQEAgLTMwNywxMSArMzA3LDExIEBAIElu ZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvYXJtLXRkZXAuYwogICAgICAgIHN0cnVjdCB0 eXBlICphcmdfdHlwZTsKICAgICAgICBzdHJ1Y3QgdHlwZSAqdGFyZ2V0X3R5cGU7CiAgICAgICAg ZW51bSB0eXBlX2NvZGUgdHlwZWNvZGU7Ci1JbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2Ri L2F2ci10ZGVwLmMKK0luZGV4OiBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvYXZyLXRkZXAuYwog PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIGdkYi03LjEwLjUwLjIwMTUxMDIyLm9yaWcvZ2RiL2F2ci10ZGVwLmMJ MjAxNS0xMC0yNCAyMzoxNDoxNy44MDEwMzkzODYgKzAyMDAKLSsrKyBnZGItNy4xMC41MC4yMDE1 MTAyMi9nZGIvYXZyLXRkZXAuYwkyMDE1LTEwLTI0IDIzOjE1OjM1Ljc3NTU1NzMyNSArMDIwMAot QEAgLTExOTYsMTMgKzExOTYsMTMgQEAgYXZyX2R1bW15X2lkIChzdHJ1Y3QgZ2RiYXJjaCAqZ2Ri YXJjaCwgcworLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9yaWcvZ2RiL2F2ci10ZGVwLmMJMjAx Ni0wMS0wOCAxOToxNjoxNi42MDQ4MTQwNTcgKzAxMDAKKysrKyBnZGItNy4xMC41MC4yMDE2MDEw Ni9nZGIvYXZyLXRkZXAuYwkyMDE2LTAxLTA4IDE5OjE2OjIwLjMxNDgzNDc1MCArMDEwMAorQEAg LTExOTYsMTMgKzExOTYsMTMgQEAKICAKICBzdHJ1Y3Qgc3RhY2tfaXRlbQogIHsKQEAgLTMyNyw3 ICszMjcsNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL2F2ci10ZGVwLmMKICB7 CiAgICBzdHJ1Y3Qgc3RhY2tfaXRlbSAqc2k7CiAgICBzaSA9IFhORVcgKHN0cnVjdCBzdGFja19p dGVtKTsKLUBAIC0xMjkxLDEyICsxMjkxLDEyIEBAIGF2cl9wdXNoX2R1bW15X2NhbGwgKHN0cnVj dCBnZGJhcmNoICpnZGIKK0BAIC0xMjkxLDEyICsxMjkxLDEyIEBACiAgCiAgICBmb3IgKGkgPSAw OyBpIDwgbmFyZ3M7IGkrKykKICAgICAgewpAQCAtMzQzLDExICszNDMsMTEgQEAgSW5kZXg6IGdk Yi03LjEwLjUwLjIwMTUxMDIyL2dkYi9hdnItdGRlcC5jCiAgCiAgICAgICAgLyogQ2FsY3VsYXRl IHRoZSBwb3RlbnRpYWwgbGFzdCByZWdpc3RlciBuZWVkZWQuICAqLwogICAgICAgIGxhc3RfcmVn bnVtID0gcmVnbnVtIC0gKGxlbiArIChsZW4gJiAxKSk7Ci1JbmRleDogZ2RiLTcuMTAuNTAuMjAx NTEwMjIvZ2RiL2JmaW4tdGRlcC5jCitJbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL2Jm aW4tdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTEwMjIub3JpZy9nZGIv YmZpbi10ZGVwLmMJMjAxNS0xMC0yNCAyMzoxNDoxNy44MDIwMzkzOTMgKzAyMDAKLSsrKyBnZGIt Ny4xMC41MC4yMDE1MTAyMi9nZGIvYmZpbi10ZGVwLmMJMjAxNS0xMC0yNCAyMzoxNDoyMC45Mzcw NjAyMTcgKzAyMDAKLUBAIC01MDQsNyArNTA0LDcgQEAgYmZpbl9wdXNoX2R1bW15X2NhbGwgKHN0 cnVjdCBnZGJhcmNoICpnZAorLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9yaWcvZ2RiL2JmaW4t dGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MTYuNjA1ODE0MDYyICswMTAwCisrKysgZ2RiLTcuMTAu NTAuMjAxNjAxMDYvZ2RiL2JmaW4tdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MjAuMzE1ODM0NzU2 ICswMTAwCitAQCAtNTA0LDcgKzUwNCw3IEBACiAgICBnZGJfYnl0ZSBidWZbNF07CiAgICBpbnQg aTsKICAgIGxvbmcgcmVnX3IwLCByZWdfcjEsIHJlZ19yMjsKQEAgLTM1Niw3ICszNTYsNyBAQCBJ bmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL2JmaW4tdGRlcC5jCiAgICBlbnVtIGJmaW5f YWJpIGFiaSA9IGJmaW5fYWJpIChnZGJhcmNoKTsKICAgIENPUkVfQUREUiBmdW5jX2FkZHIgPSBm aW5kX2Z1bmN0aW9uX2FkZHIgKGZ1bmN0aW9uLCBOVUxMKTsKICAKLUBAIC01MjgsNyArNTI4LDcg QEAgYmZpbl9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZAorQEAgLTUyOCw3ICs1 MjgsNyBAQAogICAgICB7CiAgICAgICAgc3RydWN0IHR5cGUgKnZhbHVlX3R5cGUgPSB2YWx1ZV9l bmNsb3NpbmdfdHlwZSAoYXJnc1tpXSk7CiAgICAgICAgc3RydWN0IHR5cGUgKmFyZ190eXBlID0g Y2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSk7CkBAIC0zNjQsMTIgKzM2NCwxMiBAQCBJbmRleDog Z2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL2JmaW4tdGRlcC5jCiArICAgICAgc3NpemVfdCBjb250 YWluZXJfbGVuID0gKFRZUEVfTEVOR1RIICh2YWx1ZV90eXBlKSArIDMpICYgfjM7CiAgCiAgICAg ICAgc3AgLT0gY29udGFpbmVyX2xlbjsKLSAgICAgICB3cml0ZV9tZW1vcnkgKHNwLCB2YWx1ZV9j b250ZW50c193cml0ZWFibGUgKGFyZ3NbaV0pLCBjb250YWluZXJfbGVuKTsKLUluZGV4OiBnZGIt Ny4xMC41MC4yMDE1MTAyMi9nZGIvY3Jpcy10ZGVwLmMKKyAgICAgICB3cml0ZV9tZW1vcnkgKHNw LCB2YWx1ZV9jb250ZW50cyAoYXJnc1tpXSksIGNvbnRhaW5lcl9sZW4pOworSW5kZXg6IGdkYi03 LjEwLjUwLjIwMTYwMTA2L2dkYi9jcmlzLXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEw LjUwLjIwMTUxMDIyLm9yaWcvZ2RiL2NyaXMtdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MTcuODAy MDM5MzkzICswMjAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL2NyaXMtdGRlcC5jCTIw MTUtMTAtMjQgMjM6MTU6NTguOTAyNzEwOTQ1ICswMjAwCi1AQCAtNjYzLDEzICs2NjMsMTMgQEAg c3RhdGljIENPUkVfQUREUiBjcmlzX3Vud2luZF9zcCAoc3RydWN0CistLS0gZ2RiLTcuMTAuNTAu MjAxNjAxMDYub3JpZy9nZGIvY3Jpcy10ZGVwLmMJMjAxNi0wMS0wOCAxOToxNjoxNi42MDY4MTQw NjggKzAxMDAKKysrKyBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvY3Jpcy10ZGVwLmMJMjAxNi0w MS0wOCAxOToxNjoyMC4zMTY4MzQ3NjIgKzAxMDAKK0BAIC02NjMsMTMgKzY2MywxMyBAQAogIAog IHN0cnVjdCBzdGFja19pdGVtCiAgewpAQCAtMzg1LDcgKzM4NSw3IEBAIEluZGV4OiBnZGItNy4x MC41MC4yMDE1MTAyMi9nZGIvY3Jpcy10ZGVwLmMKICB7CiAgICBzdHJ1Y3Qgc3RhY2tfaXRlbSAq c2kgPSBYTkVXIChzdHJ1Y3Qgc3RhY2tfaXRlbSk7CiAgICBzaS0+ZGF0YSA9IChnZGJfYnl0ZSAq KSB4bWFsbG9jIChsZW4pOwotQEAgLTg0MSwxMyArODQxLDEzIEBAIGNyaXNfcHVzaF9kdW1teV9j YWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2QKK0BAIC04NDEsMTMgKzg0MSwxMyBAQAogIAogICAgZm9y IChhcmdudW0gPSAwOyBhcmdudW0gPCBuYXJnczsgYXJnbnVtKyspCiAgICAgIHsKQEAgLTQwMywx MSArNDAzLDExIEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvY3Jpcy10ZGVwLmMK ICAgICAgICAKICAgICAgICAvKiBIb3cgbWF5IHJlZ2lzdGVycyB3b3J0aCBvZiBzdG9yYWdlIGRv IHdlIG5lZWQgZm9yIHRoaXMgYXJndW1lbnQ/ICAqLwogICAgICAgIHJlZ19kZW1hbmQgPSAobGVu IC8gNCkgKyAobGVuICUgNCAhPSAwID8gMSA6IDApOwotSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUx MDIyL2dkYi9oODMwMC10ZGVwLmMKK0luZGV4OiBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvaDgz MDAtdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTEwMjIub3JpZy9nZGIv aDgzMDAtdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MTcuODAzMDM5NDAwICswMjAwCi0rKysgZ2Ri LTcuMTAuNTAuMjAxNTEwMjIvZ2RiL2g4MzAwLXRkZXAuYwkyMDE1LTEwLTI0IDIzOjE2OjMzLjY1 Mzk0MTc3NyArMDIwMAotQEAgLTYzOSw3ICs2MzksNyBAQCBoODMwMF9wdXNoX2R1bW15X2NhbGwg KHN0cnVjdCBnZGJhcmNoICpnCistLS0gZ2RiLTcuMTAuNTAuMjAxNjAxMDYub3JpZy9nZGIvaDgz MDAtdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MTYuNjA3ODE0MDczICswMTAwCisrKysgZ2RiLTcu MTAuNTAuMjAxNjAxMDYvZ2RiL2g4MzAwLXRkZXAuYwkyMDE2LTAxLTA4IDE5OjE2OjIwLjMxNjgz NDc2MiArMDEwMAorQEAgLTYzOSw3ICs2MzksNyBAQAogIAkJICAgICAgIGludCBzdHJ1Y3RfcmV0 dXJuLCBDT1JFX0FERFIgc3RydWN0X2FkZHIpCiAgewogICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVf b3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwpAQCAtNDE2LDcgKzQxNiw3IEBA IEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvaDgzMDAtdGRlcC5jCiAgICBpbnQgd29y ZHNpemUgPSBCSU5XT1JEIChnZGJhcmNoKTsKICAgIGludCByZWcgPSBFX0FSRzBfUkVHTlVNOwog ICAgaW50IGFyZ3VtZW50OwotQEAgLTY2NiwxMSArNjY2LDExIEBAIGg4MzAwX3B1c2hfZHVtbXlf Y2FsbCAoc3RydWN0IGdkYmFyY2ggKmcKK0BAIC02NjYsMTEgKzY2NiwxMSBAQAogICAgICB7CiAg ICAgICAgc3RydWN0IGNsZWFudXAgKmJhY2tfdG87CiAgICAgICAgc3RydWN0IHR5cGUgKnR5cGUg PSB2YWx1ZV90eXBlIChhcmdzW2FyZ3VtZW50XSk7CkBAIC00MzAsNyArNDMwLDcgQEAgSW5kZXg6 IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9oODMwMC10ZGVwLmMKICAgICAgICBnZGJfYnl0ZSAq cGFkZGVkID0gKGdkYl9ieXRlICopIHhtYWxsb2MgKHBhZGRlZF9sZW4pOwogICAgICAgIGJhY2tf dG8gPSBtYWtlX2NsZWFudXAgKHhmcmVlLCBwYWRkZWQpOwogIAotQEAgLTY5OSw3ICs2OTksNyBA QCBoODMwMF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnCitAQCAtNjk5LDcgKzY5 OSw3IEBACiAgCSAgICAgIC8qIEhlYXZlbnMgdG8gQmV0c3kgLS0tIGl0J3MgcmVhbGx5IGdvaW5n IGluIHJlZ2lzdGVycyEKICAJICAgICAgICAgTm90ZSB0aGF0IG9uIHRoZSBoOC8zMDBzLCB0aGVy ZSBhcmUgZ2FwcyBiZXR3ZWVuIHRoZQogIAkgICAgICAgICByZWdpc3RlcnMgaW4gdGhlIHJlZ2lz dGVyIGZpbGUuICAqLwpAQCAtNDM5LDExICs0MzksMTEgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIw MTUxMDIyL2dkYi9oODMwMC10ZGVwLmMKICAKICAJICAgICAgZm9yIChvZmZzZXQgPSAwOyBvZmZz ZXQgPCBwYWRkZWRfbGVuOyBvZmZzZXQgKz0gd29yZHNpemUpCiAgCQl7Ci1JbmRleDogZ2RiLTcu MTAuNTAuMjAxNTEwMjIvZ2RiL2hwcGEtdGRlcC5jCitJbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAx MDYvZ2RiL2hwcGEtdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTEwMjIu b3JpZy9nZGIvaHBwYS10ZGVwLmMJMjAxNS0xMC0yNCAyMzoxNDoxNy44MDQwMzk0MDcgKzAyMDAK LSsrKyBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvaHBwYS10ZGVwLmMJMjAxNS0xMC0yNCAyMzox NDoyMC45MzkwNjAyMzEgKzAyMDAKLUBAIC05OTYsNyArOTk2LDcgQEAgaHBwYTY0X3B1c2hfZHVt bXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKgorLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9yaWcv Z2RiL2hwcGEtdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MTYuNjA5ODE0MDg1ICswMTAwCisrKysg Z2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL2hwcGEtdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MjAu MzE3ODM0NzY3ICswMTAwCitAQCAtOTk1LDcgKzk5NSw3IEBACiAgICAgIHsKICAgICAgICBzdHJ1 Y3QgdmFsdWUgKmFyZyA9IGFyZ3NbaV07CiAgICAgICAgc3RydWN0IHR5cGUgKnR5cGUgPSB2YWx1 ZV90eXBlIChhcmcpOwpAQCAtNDUyLDcgKzQ1Miw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1 MTAyMi9nZGIvaHBwYS10ZGVwLmMKICAgICAgICBjb25zdCBiZmRfYnl0ZSAqdmFsYnVmOwogICAg ICAgIGJmZF9ieXRlIGZwdHJidWZbOF07CiAgICAgICAgaW50IHJlZ251bTsKLUBAIC0xMTkxLDcg KzExOTEsNyBAQCBocHBhNjRfcmV0dXJuX3ZhbHVlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiCitAQCAt MTE5MCw3ICsxMTkwLDcgQEAKICAJCSAgICAgc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCByZWdj YWNoZSAqcmVnY2FjaGUsCiAgCQkgICAgIGdkYl9ieXRlICpyZWFkYnVmLCBjb25zdCBnZGJfYnl0 ZSAqd3JpdGVidWYpCiAgewpAQCAtNDYxLDExICs0NjEsMTEgQEAgSW5kZXg6IGdkYi03LjEwLjUw LjIwMTUxMDIyL2dkYi9ocHBhLXRkZXAuYwogICAgaW50IHJlZ251bSwgb2Zmc2V0OwogIAogICAg aWYgKGxlbiA+IDE2KQotSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9pMzg2LWRhcndp bi10ZGVwLmMKK0luZGV4OiBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvaTM4Ni1kYXJ3aW4tdGRl cC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTEwMjIub3JpZy9nZGIvaTM4Ni1k YXJ3aW4tdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MTcuODA0MDM5NDA3ICswMjAwCi0rKysgZ2Ri LTcuMTAuNTAuMjAxNTEwMjIvZ2RiL2kzODYtZGFyd2luLXRkZXAuYwkyMDE1LTEwLTI0IDIzOjE0 OjIwLjkzOTA2MDIzMSArMDIwMAotQEAgLTE2Myw3ICsxNjMsNyBAQCBpMzg2X2Rhcndpbl9wdXNo X2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhCistLS0gZ2RiLTcuMTAuNTAuMjAxNjAxMDYub3JpZy9n ZGIvaTM4Ni1kYXJ3aW4tdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MTYuNjA5ODE0MDg1ICswMTAw CisrKysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL2kzODYtZGFyd2luLXRkZXAuYwkyMDE2LTAx LTA4IDE5OjE2OjIwLjMxNzgzNDc2NyArMDEwMAorQEAgLTE2Myw3ICsxNjMsNyBAQAogIAogICAg Zm9yICh3cml0ZV9wYXNzID0gMDsgd3JpdGVfcGFzcyA8IDI7IHdyaXRlX3Bhc3MrKykKICAgICAg ewpAQCAtNDc0LDExICs0NzQsMTEgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9p Mzg2LWRhcndpbi10ZGVwLmMKICAgICAgICBpbnQgbnVtX20xMjggPSAwOwogIAogICAgICAgIGlm IChzdHJ1Y3RfcmV0dXJuKQotSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9pMzg2LXRk ZXAuYworSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9pMzg2LXRkZXAuYwogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIGdkYi03LjEwLjUwLjIwMTUxMDIyLm9yaWcvZ2RiL2kzODYtdGRlcC5jCTIwMTUt MTAtMjQgMjM6MTQ6MTcuODA3MDM5NDI2ICswMjAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTEwMjIv Z2RiL2kzODYtdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MjAuOTQwMDYwMjM3ICswMjAwCi1AQCAt MjY1MSw3ICsyNjUxLDcgQEAgaTM4Nl9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpn ZAorLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9yaWcvZ2RiL2kzODYtdGRlcC5jCTIwMTYtMDEt MDggMTk6MTY6MTYuNjE1ODE0MTE4ICswMTAwCisrKysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2Ri L2kzODYtdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MjAuMzE5ODM0Nzc4ICswMTAwCitAQCAtMjY2 Myw3ICsyNjYzLDcgQEAKICAgIGdkYl9ieXRlIGJ1Zls0XTsKICAgIGludCBpOwogICAgaW50IHdy aXRlX3Bhc3M7CkBAIC00ODcsNyArNDg3LDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIy L2dkYi9pMzg2LXRkZXAuYwogIAogICAgLyogRGV0ZXJtaW5lIHRoZSB0b3RhbCBzcGFjZSByZXF1 aXJlZCBmb3IgYXJndW1lbnRzIGFuZCBzdHJ1Y3QKICAgICAgIHJldHVybiBhZGRyZXNzIGluIGEg Zmlyc3QgcGFzcyAoYWxsb3dpbmcgZm9yIDE2LWJ5dGUtYWxpZ25lZAotQEAgLTI2NTksNyArMjY1 OSw3IEBAIGkzODZfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2QKK0BAIC0yNjcx LDcgKzI2NzEsNyBAQAogIAogICAgZm9yICh3cml0ZV9wYXNzID0gMDsgd3JpdGVfcGFzcyA8IDI7 IHdyaXRlX3Bhc3MrKykKICAgICAgewpAQCAtNDk2LDcgKzQ5Niw3IEBAIEluZGV4OiBnZGItNy4x MC41MC4yMDE1MTAyMi9nZGIvaTM4Ni10ZGVwLmMKICAKICAgICAgICBpZiAoc3RydWN0X3JldHVy bikKICAJewotQEAgLTI2NzYsNyArMjY3Niw3IEBAIGkzODZfcHVzaF9kdW1teV9jYWxsIChzdHJ1 Y3QgZ2RiYXJjaCAqZ2QKK0BAIC0yNjg4LDcgKzI2ODgsNyBAQAogIAogICAgICAgIGZvciAoaSA9 IDA7IGkgPCBuYXJnczsgaSsrKQogIAl7CkBAIC01MDUsNyArNTA1LDcgQEAgSW5kZXg6IGdkYi03 LjEwLjUwLjIwMTUxMDIyL2dkYi9pMzg2LXRkZXAuYwogIAogIAkgIGlmICh3cml0ZV9wYXNzKQog IAkgICAgewotQEAgLTI4ODMsNyArMjg4Myw3IEBAIGkzODZfcmVnX3N0cnVjdF9yZXR1cm5fcCAo c3RydWN0IGdkYmFyY2gKK0BAIC0yODk1LDcgKzI4OTUsNyBAQAogIHsKICAgIHN0cnVjdCBnZGJh cmNoX3RkZXAgKnRkZXAgPSBnZGJhcmNoX3RkZXAgKGdkYmFyY2gpOwogICAgZW51bSB0eXBlX2Nv ZGUgY29kZSA9IFRZUEVfQ09ERSAodHlwZSk7CkBAIC01MTQsNyArNTE0LDcgQEAgSW5kZXg6IGdk Yi03LjEwLjUwLjIwMTUxMDIyL2dkYi9pMzg2LXRkZXAuYwogIAogICAgZ2RiX2Fzc2VydCAoY29k ZSA9PSBUWVBFX0NPREVfU1RSVUNUCiAgICAgICAgICAgICAgICB8fCBjb2RlID09IFRZUEVfQ09E RV9VTklPTgotQEAgLTM2MjksNyArMzYyOSw3IEBAIHN0YXRpYyBpbnQKK0BAIC0zNjQxLDcgKzM2 NDEsNyBAQAogIGkzODZfY29udmVydF9yZWdpc3Rlcl9wIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJj aCwKICAJCQkgaW50IHJlZ251bSwgc3RydWN0IHR5cGUgKnR5cGUpCiAgewpAQCAtNTIzLDcgKzUy Myw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvaTM4Ni10ZGVwLmMKICAKICAg IC8qIFZhbHVlcyBtYXkgYmUgc3ByZWFkIGFjcm9zcyBtdWx0aXBsZSByZWdpc3RlcnMuICBNb3N0 IGRlYnVnZ2luZwogICAgICAgZm9ybWF0cyBhcmVuJ3QgZXhwcmVzc2l2ZSBlbm91Z2ggdG8gc3Bl Y2lmeSB0aGUgbG9jYXRpb25zLCBzbwotQEAgLTM2NjIsNyArMzY2Miw3IEBAIGkzODZfcmVnaXN0 ZXJfdG9fdmFsdWUgKHN0cnVjdCBmcmFtZV9pbmYKK0BAIC0zNjc0LDcgKzM2NzQsNyBAQAogIAkJ CWludCAqb3B0aW1pemVkcCwgaW50ICp1bmF2YWlsYWJsZXApCiAgewogICAgc3RydWN0IGdkYmFy Y2ggKmdkYmFyY2ggPSBnZXRfZnJhbWVfYXJjaCAoZnJhbWUpOwpAQCAtNTMyLDcgKzUzMiw3IEBA IEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvaTM4Ni10ZGVwLmMKICAKICAgIGlmIChp Mzg2X2ZwX3JlZ251bV9wIChnZGJhcmNoLCByZWdudW0pKQogICAgICByZXR1cm4gaTM4N19yZWdp c3Rlcl90b192YWx1ZSAoZnJhbWUsIHJlZ251bSwgdHlwZSwgdG8sCi1AQCAtMzY5OCw3ICszNjk4 LDcgQEAgc3RhdGljIHZvaWQKK0BAIC0zNzEwLDcgKzM3MTAsNyBAQAogIGkzODZfdmFsdWVfdG9f cmVnaXN0ZXIgKHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwgaW50IHJlZ251bSwKICAJCQlzdHJ1 Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKmZyb20pCiAgewpAQCAtNTQxLDExICs1NDEs MTEgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9pMzg2LXRkZXAuYwogIAogICAg aWYgKGkzODZfZnBfcmVnbnVtX3AgKGdldF9mcmFtZV9hcmNoIChmcmFtZSksIHJlZ251bSkpCiAg ICAgIHsKLUluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvaXEyMDAwLXRkZXAuYworSW5k ZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9pcTIwMDAtdGRlcC5jCiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gZ2RiLTcuMTAuNTAuMjAxNTEwMjIub3JpZy9nZGIvaXEyMDAwLXRkZXAuYwkyMDE1LTEwLTI0 IDIzOjE0OjE3LjgwODAzOTQzMyArMDIwMAotKysrIGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9p cTIwMDAtdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MjAuOTQxMDYwMjQ0ICswMjAwCi1AQCAtNjUx LDggKzY1MSw5IEBAIGlxMjAwMF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICoKKy0t LSBnZGItNy4xMC41MC4yMDE2MDEwNi5vcmlnL2dkYi9pcTIwMDAtdGRlcC5jCTIwMTYtMDEtMDgg MTk6MTY6MTYuNjE2ODE0MTI0ICswMTAwCisrKysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL2lx MjAwMC10ZGVwLmMJMjAxNi0wMS0wOCAxOToxNjoyMC4zMjA4MzQ3ODQgKzAxMDAKK0BAIC02NTEs OCArNjUxLDkgQEAKICAgIGNvbnN0IGJmZF9ieXRlICp2YWw7CiAgICBiZmRfYnl0ZSBidWZbNF07 CiAgICBzdHJ1Y3QgdHlwZSAqdHlwZTsKQEAgLTU1NywxMSArNTU3LDExIEBAIEluZGV4OiBnZGIt Ny4xMC41MC4yMDE1MTAyMi9nZGIvaXEyMDAwLXRkZXAuYwogICAgLyogVXNlZCB0byBjb3B5IHN0 cnVjdCBhcmd1bWVudHMgaW50byB0aGUgc3RhY2suICAqLwogICAgQ09SRV9BRERSIHN0cnVjdF9w dHI7CiAgCi1JbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL20zMnItdGRlcC5jCitJbmRl eDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL20zMnItdGRlcC5jCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Z2RiLTcuMTAuNTAuMjAxNTEwMjIub3JpZy9nZGIvbTMyci10ZGVwLmMJMjAxNS0xMC0yNCAyMzox NDoxNy44MDgwMzk0MzMgKzAyMDAKLSsrKyBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvbTMyci10 ZGVwLmMJMjAxNS0xMC0yNCAyMzoxNDoyMC45NDEwNjAyNDQgKzAyMDAKLUBAIC02ODcsNyArNjg3 LDcgQEAgbTMycl9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZAorLS0tIGdkYi03 LjEwLjUwLjIwMTYwMTA2Lm9yaWcvZ2RiL20zMnItdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MTYu NjE2ODE0MTI0ICswMTAwCisrKysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL20zMnItdGRlcC5j CTIwMTYtMDEtMDggMTk6MTY6MjAuMzIwODM0Nzg0ICswMTAwCitAQCAtNjg3LDcgKzY4Nyw3IEBA CiAgICBDT1JFX0FERFIgcmVndmFsOwogICAgZ2RiX2J5dGUgKnZhbDsKICAgIGdkYl9ieXRlIHZh bGJ1ZltNQVhfUkVHSVNURVJfU0laRV07CkBAIC01NzAsMTEgKzU3MCwxMSBAQCBJbmRleDogZ2Ri LTcuMTAuNTAuMjAxNTEwMjIvZ2RiL20zMnItdGRlcC5jCiAgCiAgICAvKiBGaXJzdCBmb3JjZSBz cCB0byBhIDQtYnl0ZSBhbGlnbm1lbnQuICAqLwogICAgc3AgPSBzcCAmIH4zOwotSW5kZXg6IGdk Yi03LjEwLjUwLjIwMTUxMDIyL2dkYi9tNjhrLXRkZXAuYworSW5kZXg6IGdkYi03LjEwLjUwLjIw MTYwMTA2L2dkYi9tNjhrLXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEwLjUwLjIwMTUx MDIyLm9yaWcvZ2RiL202OGstdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MTcuODA4MDM5NDMzICsw MjAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL202OGstdGRlcC5jCTIwMTUtMTAtMjQg MjM6MTQ6MjAuOTQxMDYwMjQ0ICswMjAwCi1AQCAtMzgyLDcgKzM4Miw3IEBAIG02OGtfcmVnX3N0 cnVjdF9yZXR1cm5fcCAoc3RydWN0IGdkYmFyY2gKKy0tLSBnZGItNy4xMC41MC4yMDE2MDEwNi5v cmlnL2dkYi9tNjhrLXRkZXAuYwkyMDE2LTAxLTA4IDE5OjE2OjE2LjYxNzgxNDEyOSArMDEwMAor KysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9tNjhrLXRkZXAuYwkyMDE2LTAxLTA4IDE5OjE2 OjIwLjMyMDgzNDc4NCArMDEwMAorQEAgLTM4Miw3ICszODIsNyBAQAogIHsKICAgIHN0cnVjdCBn ZGJhcmNoX3RkZXAgKnRkZXAgPSBnZGJhcmNoX3RkZXAgKGdkYmFyY2gpOwogICAgZW51bSB0eXBl X2NvZGUgY29kZSA9IFRZUEVfQ09ERSAodHlwZSk7CkBAIC01ODMsNyArNTgzLDcgQEAgSW5kZXg6 IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9tNjhrLXRkZXAuYwogIAogICAgZ2RiX2Fzc2VydCAo Y29kZSA9PSBUWVBFX0NPREVfU1RSVUNUIHx8IGNvZGUgPT0gVFlQRV9DT0RFX1VOSU9OCiAgCSAg ICAgIHx8IGNvZGUgPT0gVFlQRV9DT0RFX0NPTVBMRVgpOwotQEAgLTUxNCw5ICs1MTQsOSBAQCBt NjhrX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkCitAQCAtNTE0LDkgKzUxNCw5 IEBACiAgICBmb3IgKGkgPSBuYXJncyAtIDE7IGkgPj0gMDsgaS0tKQogICAgICB7CiAgICAgICAg c3RydWN0IHR5cGUgKnZhbHVlX3R5cGUgPSB2YWx1ZV9lbmNsb3NpbmdfdHlwZSAoYXJnc1tpXSk7 CkBAIC01OTYsMTEgKzU5NiwxMSBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL202 OGstdGRlcC5jCiAgCiAgICAgICAgLyogTm9uLXNjYWxhcnMgYmlnZ2VyIHRoYW4gNCBieXRlcyBh cmUgbGVmdCBhbGlnbmVkLCBvdGhlcnMgYXJlCiAgCSByaWdodCBhbGlnbmVkLiAgKi8KLUluZGV4 OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvbTg4ay10ZGVwLmMKK0luZGV4OiBnZGItNy4xMC41 MC4yMDE2MDEwNi9nZGIvbTg4ay10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMC41MC4y MDE1MTAyMi5vcmlnL2dkYi9tODhrLXRkZXAuYwkyMDE1LTEwLTI0IDIzOjE0OjE3LjgwOTAzOTQ0 MCArMDIwMAotKysrIGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9tODhrLXRkZXAuYwkyMDE1LTEw LTI0IDIzOjE0OjIwLjk0MjA2MDI1MCArMDIwMAotQEAgLTI1NywxMyArMjU3LDEzIEBAIG04OGtf c3RvcmVfYXJndW1lbnRzIChzdHJ1Y3QgcmVnY2FjaGUgKnIKKy0tLSBnZGItNy4xMC41MC4yMDE2 MDEwNi5vcmlnL2dkYi9tODhrLXRkZXAuYwkyMDE2LTAxLTA4IDE5OjE2OjE2LjYxNzgxNDEyOSAr MDEwMAorKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9tODhrLXRkZXAuYwkyMDE2LTAxLTA4 IDE5OjE2OjIwLjMyMTgzNDc5MCArMDEwMAorQEAgLTI1NywxMyArMjU3LDEzIEBACiAgewogICAg c3RydWN0IGdkYmFyY2ggKmdkYmFyY2ggPSBnZXRfcmVnY2FjaGVfYXJjaCAocmVnY2FjaGUpOwog ICAgaW50IG51bV9yZWdpc3Rlcl93b3JkcyA9IDA7CkBAIC02MTYsNyArNjE2LDcgQEAgSW5kZXg6 IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9tODhrLXRkZXAuYwogIAogICAgICAgIGlmIChtODhr X2ludGVncmFsX29yX3BvaW50ZXJfcCAodHlwZSkgJiYgbGVuIDwgNCkKICAJewotQEAgLTMwNSw4 ICszMDUsOCBAQCBtODhrX3N0b3JlX2FyZ3VtZW50cyAoc3RydWN0IHJlZ2NhY2hlICpyCitAQCAt MzA1LDggKzMwNSw4IEBACiAgICAgIHsKICAgICAgICBjb25zdCBiZmRfYnl0ZSAqdmFsYnVmID0g dmFsdWVfY29udGVudHMgKGFyZ3NbaV0pOwogICAgICAgIHN0cnVjdCB0eXBlICp0eXBlID0gdmFs dWVfdHlwZSAoYXJnc1tpXSk7CkBAIC02MjcsMTEgKzYyNywxMSBAQCBJbmRleDogZ2RiLTcuMTAu NTAuMjAxNTEwMjIvZ2RiL204OGstdGRlcC5jCiAgCiAgICAgICAgaWYgKG04OGtfaW5fcmVnaXN0 ZXJfcCAodHlwZSkpCiAgCXsKLUluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvbWVwLXRk ZXAuYworSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9tZXAtdGRlcC5jCiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTEwMjIub3JpZy9nZGIvbWVwLXRkZXAuYwkyMDE1LTEw LTI0IDIzOjE0OjE3LjgwOTAzOTQ0MCArMDIwMAotKysrIGdkYi03LjEwLjUwLjIwMTUxMDIyL2dk Yi9tZXAtdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MjAuOTQyMDYwMjUwICswMjAwCi1AQCAtMjI3 MCw3ICsyMjcwLDcgQEAgcHVzaF9sYXJnZV9hcmd1bWVudHMgKENPUkVfQUREUiBzcCwgaW50Cist LS0gZ2RiLTcuMTAuNTAuMjAxNjAxMDYub3JpZy9nZGIvbWVwLXRkZXAuYwkyMDE2LTAxLTA4IDE5 OjE2OjE2LjYxODgxNDEzNSArMDEwMAorKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9tZXAt dGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MjAuMzIxODM0NzkwICswMTAwCitAQCAtMjI3Miw3ICsy MjcyLDcgQEAKICAKICAgIGZvciAoaSA9IDA7IGkgPCBhcmdjOyBpKyspCiAgICAgIHsKQEAgLTY0 MCwxMSArNjQwLDExIEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvbWVwLXRkZXAu YwogIAogICAgICAgIGlmIChhcmdfbGVuID4gTUVQX0dQUl9TSVpFKQogICAgICAgICAgewotSW5k ZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9taXBzLXRkZXAuYworSW5kZXg6IGdkYi03LjEw LjUwLjIwMTYwMTA2L2dkYi9taXBzLXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEwLjUw LjIwMTUxMDIyLm9yaWcvZ2RiL21pcHMtdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MTcuODE0MDM5 NDczICswMjAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL21pcHMtdGRlcC5jCTIwMTUt MTAtMjQgMjM6MTQ6MjAuOTQzMDYwMjU3ICswMjAwCi1AQCAtNDU1LDcgKzQ1NSw3IEBAIHN0YXRp YyB2b2lkCistLS0gZ2RiLTcuMTAuNTAuMjAxNjAxMDYub3JpZy9nZGIvbWlwcy10ZGVwLmMJMjAx Ni0wMS0wOCAxOToxNjoxNi42MjY4MTQxNzkgKzAxMDAKKysrKyBnZGItNy4xMC41MC4yMDE2MDEw Ni9nZGIvbWlwcy10ZGVwLmMJMjAxNi0wMS0wOCAxOToxNjoyMC4zMjQ4MzQ4MDYgKzAxMDAKK0BA IC00NTUsNyArNDU1LDcgQEAKICBtaXBzX3hmZXJfcmVnaXN0ZXIgKHN0cnVjdCBnZGJhcmNoICpn ZGJhcmNoLCBzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLAogIAkJICAgIGludCByZWdfbnVtLCBp bnQgbGVuZ3RoLAogIAkJICAgIGVudW0gYmZkX2VuZGlhbiBlbmRpYW4sIGdkYl9ieXRlICppbiwK QEAgLTY1Myw3ICs2NTMsNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL21pcHMt dGRlcC5jCiAgewogICAgaW50IHJlZ19vZmZzZXQgPSAwOwogIAotQEAgLTQ3OCw4ICs0NzgsOCBA QCBtaXBzX3hmZXJfcmVnaXN0ZXIgKHN0cnVjdCBnZGJhcmNoICpnZGJhCitAQCAtNDc4LDggKzQ3 OCw4IEBACiAgICAgIH0KICAgIGlmIChtaXBzX2RlYnVnKQogICAgICBmcHJpbnRmX3VuZmlsdGVy ZWQgKGdkYl9zdGRlcnIsCkBAIC02NjQsNyArNjY0LDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIw MTUxMDIyL2dkYi9taXBzLXRkZXAuYwogICAgaWYgKG1pcHNfZGVidWcgJiYgb3V0ICE9IE5VTEwp CiAgICAgIHsKICAgICAgICBpbnQgaTsKLUBAIC00NTU0LDEzICs0NTU0LDEzIEBAIG1pcHNfZWFi aV9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmMKK0BAIC00NTU0LDEzICs0NTU0LDEzIEBA CiAgICAgICAgZ2RiX2J5dGUgdmFsYnVmW01BWF9SRUdJU1RFUl9TSVpFXTsKICAgICAgICBzdHJ1 Y3QgdmFsdWUgKmFyZyA9IGFyZ3NbYXJnbnVtXTsKICAgICAgICBzdHJ1Y3QgdHlwZSAqYXJnX3R5 cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlIChhcmcpKTsKQEAgLTY4MSw3ICs2ODEsNyBA QCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL21pcHMtdGRlcC5jCiAgCiAgICAgICAg LyogVGhlIEVBQkkgcGFzc2VzIHN0cnVjdHVyZXMgdGhhdCBkbyBub3QgZml0IGluIGEgcmVnaXN0 ZXIgYnkKICAgICAgICAgICByZWZlcmVuY2UuICAqLwotQEAgLTQ4MjksNyArNDgyOSw3IEBAIG1p cHNfZWFiaV9yZXR1cm5fdmFsdWUgKHN0cnVjdCBnZGJhcmNoICoKK0BAIC00ODI5LDcgKzQ4Mjks NyBAQAogIAogIHN0YXRpYyBpbnQKICBtaXBzX24zMm42NF9mcF9hcmdfY2h1bmtfcCAoc3RydWN0 IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB0eXBlICphcmdfdHlwZSwKQEAgLTY5MCw3ICs2OTAs NyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL21pcHMtdGRlcC5jCiAgewogICAg aW50IGk7CiAgCi1AQCAtNDg0NCw3ICs0ODQ0LDcgQEAgbWlwc19uMzJuNjRfZnBfYXJnX2NodW5r X3AgKHN0cnVjdCBnZGJhcgorQEAgLTQ4NDQsNyArNDg0NCw3IEBACiAgCiAgICBmb3IgKGkgPSAw OyBpIDwgVFlQRV9ORklFTERTIChhcmdfdHlwZSk7IGkrKykKICAgICAgewpAQCAtNjk5LDcgKzY5 OSw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvbWlwcy10ZGVwLmMKICAgICAg ICBzdHJ1Y3QgdHlwZSAqZmllbGRfdHlwZTsKICAKICAgICAgICAvKiBXZSdyZSBvbmx5IGxvb2tp bmcgYXQgbm9ybWFsIGZpZWxkcy4gICovCi1AQCAtNDg4Niw3ICs0ODg2LDcgQEAgbWlwc19uMzJu NjRfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYQorQEAgLTQ4ODYsNyArNDg4Niw3IEBACiAg ICBpbnQgYXJncmVnOwogICAgaW50IGZsb2F0X2FyZ3JlZzsKICAgIGludCBhcmdudW07CkBAIC03 MDgsNyArNzA4LDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9taXBzLXRkZXAu YwogICAgaW50IHN0YWNrX29mZnNldCA9IDA7CiAgICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRl ciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7CiAgICBDT1JFX0FERFIgZnVuY19hZGRy ID0gZmluZF9mdW5jdGlvbl9hZGRyIChmdW5jdGlvbiwgTlVMTCk7Ci1AQCAtNTIzNywxMSArNTIz NywxMSBAQCBtaXBzX24zMm42NF9yZXR1cm5fdmFsdWUgKHN0cnVjdCBnZGJhcmNoCitAQCAtNTIz NywxMSArNTIzNywxMSBAQAogIAkJCQk6IE1JUFNfVjBfUkVHTlVNKTsKICAJICAgZmllbGQgPCBU WVBFX05GSUVMRFMgKHR5cGUpOyBmaWVsZCsrLCByZWdudW0gKz0gMikKICAJewpAQCAtNzI0LDcg KzcyNCw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvbWlwcy10ZGVwLmMKICAJ ICBpZiAoVFlQRV9MRU5HVEggKFRZUEVfRklFTERfVFlQRSAodHlwZSwgZmllbGQpKSA9PSAxNikK ICAJICAgIHsKICAJICAgICAgLyogQSAxNi1ieXRlIGxvbmcgZG91YmxlIGZpZWxkIGdvZXMgaW4g dHdvIGNvbnNlY3V0aXZlCi1AQCAtNTI4Myw4ICs1MjgzLDggQEAgbWlwc19uMzJuNjRfcmV0dXJu X3ZhbHVlIChzdHJ1Y3QgZ2RiYXJjaAorQEAgLTUyODMsOCArNTI4Myw4IEBACiAgCSAgaWYgKG9m ZnNldCArIHhmZXIgPiBUWVBFX0xFTkdUSCAodHlwZSkpCiAgCSAgICB4ZmVyID0gVFlQRV9MRU5H VEggKHR5cGUpIC0gb2Zmc2V0OwogIAkgIGlmIChtaXBzX2RlYnVnKQpAQCAtNzM1LDcgKzczNSw3 IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvbWlwcy10ZGVwLmMKICAJICBtaXBz X3hmZXJfcmVnaXN0ZXIgKGdkYmFyY2gsIHJlZ2NhY2hlLAogIAkJCSAgICAgIGdkYmFyY2hfbnVt X3JlZ3MgKGdkYmFyY2gpICsgcmVnbnVtLAogIAkJCSAgICAgIHhmZXIsIEJGRF9FTkRJQU5fVU5L Tk9XTiwgcmVhZGJ1Ziwgd3JpdGVidWYsCi1AQCAtNTM0Miw3ICs1MzQyLDcgQEAgbWlwc19vMzJf cHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaAorQEAgLTUzNDIsNyArNTM0Miw3IEBACiAg ICBpbnQgYXJncmVnOwogICAgaW50IGZsb2F0X2FyZ3JlZzsKICAgIGludCBhcmdudW07CkBAIC03 NDQsNyArNzQ0LDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9taXBzLXRkZXAu YwogICAgaW50IHN0YWNrX29mZnNldCA9IDA7CiAgICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRl ciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7CiAgICBDT1JFX0FERFIgZnVuY19hZGRy ID0gZmluZF9mdW5jdGlvbl9hZGRyIChmdW5jdGlvbiwgTlVMTCk7Ci1AQCAtNTQwNiwxMyArNTQw NiwxMyBAQCBtaXBzX28zMl9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoCitAQCAtNTQw NiwxMyArNTQwNiwxMyBAQAogICAgICAgIGNvbnN0IGdkYl9ieXRlICp2YWw7CiAgICAgICAgc3Ry dWN0IHZhbHVlICphcmcgPSBhcmdzW2FyZ251bV07CiAgICAgICAgc3RydWN0IHR5cGUgKmFyZ190 eXBlID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoYXJnKSk7CkBAIC03NjEsNyArNzYxLDcg QEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9taXBzLXRkZXAuYwogIAogICAgICAg IHZhbCA9IHZhbHVlX2NvbnRlbnRzIChhcmcpOwogIAotQEAgLTU4NzAsOCArNTg3MCw4IEBAIG1p cHNfbzY0X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2gKK0BAIC01ODcwLDggKzU4NzAs OCBAQAogICAgaW50IGFyZ3JlZzsKICAgIGludCBmbG9hdF9hcmdyZWc7CiAgICBpbnQgYXJnbnVt OwpAQCAtNzcyLDcgKzc3Miw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvbWlw cy10ZGVwLmMKICAgIGVudW0gYmZkX2VuZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29y ZGVyIChnZGJhcmNoKTsKICAgIENPUkVfQUREUiBmdW5jX2FkZHIgPSBmaW5kX2Z1bmN0aW9uX2Fk ZHIgKGZ1bmN0aW9uLCBOVUxMKTsKICAKLUBAIC01OTMxLDEzICs1OTMxLDEzIEBAIG1pcHNfbzY0 X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2gKK0BAIC01OTMxLDEzICs1OTMxLDEzIEBA CiAgICAgICAgY29uc3QgZ2RiX2J5dGUgKnZhbDsKICAgICAgICBzdHJ1Y3QgdmFsdWUgKmFyZyA9 IGFyZ3NbYXJnbnVtXTsKICAgICAgICBzdHJ1Y3QgdHlwZSAqYXJnX3R5cGUgPSBjaGVja190eXBl ZGVmICh2YWx1ZV90eXBlIChhcmcpKTsKQEAgLTc4OSwxMSArNzg5LDExIEBAIEluZGV4OiBnZGIt Ny4xMC41MC4yMDE1MTAyMi9nZGIvbWlwcy10ZGVwLmMKICAKICAgICAgICB2YWwgPSB2YWx1ZV9j b250ZW50cyAoYXJnKTsKICAKLUluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvbW4xMDMw MC10ZGVwLmMKK0luZGV4OiBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvbW4xMDMwMC10ZGVwLmMK ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItNy4xMC41MC4yMDE1MTAyMi5vcmlnL2dkYi9tbjEwMzAwLXRk ZXAuYwkyMDE1LTEwLTI0IDIzOjE0OjE3LjgxNTAzOTQ4MCArMDIwMAotKysrIGdkYi03LjEwLjUw LjIwMTUxMDIyL2dkYi9tbjEwMzAwLXRkZXAuYwkyMDE1LTEwLTI0IDIzOjE0OjIwLjk0MzA2MDI1 NyArMDIwMAotQEAgLTEyMjcsNyArMTIyNyw3IEBAIG1uMTAzMDBfcHVzaF9kdW1teV9jYWxsIChz dHJ1Y3QgZ2RiYXJjaAorLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9yaWcvZ2RiL21uMTAzMDAt dGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MTYuNjI3ODE0MTg1ICswMTAwCisrKysgZ2RiLTcuMTAu NTAuMjAxNjAxMDYvZ2RiL21uMTAzMDAtdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MjAuMzI0ODM0 ODA2ICswMTAwCitAQCAtMTIyNyw3ICsxMjI3LDcgQEAKICAgIGVudW0gYmZkX2VuZGlhbiBieXRl X29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsKICAgIGNvbnN0IGludCBwdXNo X3NpemUgPSByZWdpc3Rlcl9zaXplIChnZGJhcmNoLCBFX1BDX1JFR05VTSk7CiAgICBpbnQgcmVn c191c2VkOwpAQCAtODAyLDExICs4MDIsMTEgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIy L2dkYi9tbjEwMzAwLXRkZXAuYwogICAgaW50IHN0YWNrX29mZnNldCA9IDA7CiAgICBpbnQgYXJn bnVtOwogICAgY29uc3QgZ2RiX2J5dGUgKnZhbDsKLUluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAy Mi9nZGIvbXQtdGRlcC5jCitJbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL210LXRkZXAu YwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi03LjEwLjUwLjIwMTUxMDIyLm9yaWcvZ2RiL210LXRkZXAu YwkyMDE1LTEwLTI0IDIzOjE0OjE3LjgxNTAzOTQ4MCArMDIwMAotKysrIGdkYi03LjEwLjUwLjIw MTUxMDIyL2dkYi9tdC10ZGVwLmMJMjAxNS0xMC0yNCAyMzoxNDoyMC45NDQwNjAyNjQgKzAyMDAK LUBAIC03ODEsOSArNzgxLDkgQEAgbXRfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAq Z2RiYQorLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9yaWcvZ2RiL210LXRkZXAuYwkyMDE2LTAx LTA4IDE5OjE2OjE2LjYyODgxNDE5MCArMDEwMAorKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dk Yi9tdC10ZGVwLmMJMjAxNi0wMS0wOCAxOToxNjoyMC4zMjQ4MzQ4MDYgKzAxMDAKK0BAIC03ODEs OSArNzgxLDkgQEAKICAgIGdkYl9ieXRlIGJ1ZltNVF9NQVhfU1RSVUNUX1NJWkVdOwogICAgaW50 IGFyZ3JlZyA9IE1UXzFTVF9BUkdSRUc7CiAgICBpbnQgc3BsaXRfcGFyYW1fbGVuID0gMDsKQEAg LTgxOCwxMSArODE4LDExIEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvbXQtdGRl cC5jCiAgICBpbnQgaSwgajsKICAKICAgIC8qIEZpcnN0IGhhbmRsZSBob3dldmVyIG1hbnkgYXJn cyB3ZSBjYW4gZml0IGludG8gTVRfMVNUX0FSR1JFRyB0aHJ1Ci1JbmRleDogZ2RiLTcuMTAuNTAu MjAxNTEwMjIvZ2RiL3BwYy1zeXN2LXRkZXAuYworSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2 L2dkYi9wcGMtc3lzdi10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMC41MC4yMDE1MTAy Mi5vcmlnL2dkYi9wcGMtc3lzdi10ZGVwLmMJMjAxNS0xMC0yNCAyMzoxNDoxNy44MTYwMzk0ODYg KzAyMDAKLSsrKyBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvcHBjLXN5c3YtdGRlcC5jCTIwMTUt MTAtMjQgMjM6MTQ6MjAuOTQ0MDYwMjY0ICswMjAwCi1AQCAtNjYsNyArNjYsNyBAQCBwcGNfc3lz dl9hYmlfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiCistLS0gZ2RiLTcuMTAuNTAuMjAxNjAx MDYub3JpZy9nZGIvcHBjLXN5c3YtdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MTYuNjI5ODE0MTk2 ICswMTAwCisrKysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3BwYy1zeXN2LXRkZXAuYwkyMDE2 LTAxLTA4IDE5OjE2OjIwLjMyNTgzNDgxMiArMDEwMAorQEAgLTY2LDcgKzY2LDcgQEAKICAgIGVu dW0gYmZkX2VuZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsK ICAgIGludCBvcGVuY2xfYWJpID0gcHBjX3N5c3ZfdXNlX29wZW5jbF9hYmkgKHZhbHVlX3R5cGUg KGZ1bmN0aW9uKSk7CiAgICBVTE9OR0VTVCBzYXZlZF9zcDsKQEAgLTgzMSw3ICs4MzEsNyBAQCBJ bmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL3BwYy1zeXN2LXRkZXAuYwogICAgaW50IHdy aXRlX3Bhc3M7CiAgCiAgICBnZGJfYXNzZXJ0ICh0ZGVwLT53b3Jkc2l6ZSA9PSA0KTsKLUBAIC05 Nyw5ICs5Nyw5IEBAIHBwY19zeXN2X2FiaV9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGIKK0BA IC05Nyw5ICs5Nyw5IEBACiAgICAgICAgLyogTmV4dCBhdmFpbGFibGUgdmVjdG9yIHJlZ2lzdGVy IGZvciB2ZWN0b3IgYXJndW1lbnRzLiAgKi8KICAgICAgICBpbnQgdnJlZyA9IDI7CiAgICAgICAg LyogQXJndW1lbnRzIHN0YXJ0IGFib3ZlIHRoZSAiTFIgc2F2ZSB3b3JkIiBhbmQgIkJhY2sgY2hh aW4iLiAgKi8KQEAgLTg0Myw3ICs4NDMsNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIv Z2RiL3BwYy1zeXN2LXRkZXAuYwogIAogICAgICAgIC8qIElmIHRoZSBmdW5jdGlvbiBpcyByZXR1 cm5pbmcgYSBgc3RydWN0JywgdGhlbiB0aGUgZmlyc3Qgd29yZAogICAgICAgICAgICh3aGljaCB3 aWxsIGJlIHBhc3NlZCBpbiByMykgaXMgdXNlZCBmb3Igc3RydWN0IHJldHVybgotQEAgLTExOCw3 ICsxMTgsNyBAQCBwcGNfc3lzdl9hYmlfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiCitAQCAt MTE4LDcgKzExOCw3IEBACiAgCXsKICAJICBzdHJ1Y3QgdmFsdWUgKmFyZyA9IGFyZ3NbYXJnbm9d OwogIAkgIHN0cnVjdCB0eXBlICp0eXBlID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoYXJn KSk7CkBAIC04NTIsNyArODUyLDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9w cGMtc3lzdi10ZGVwLmMKICAJICBjb25zdCBiZmRfYnl0ZSAqdmFsID0gdmFsdWVfY29udGVudHMg KGFyZyk7CiAgCiAgCSAgaWYgKFRZUEVfQ09ERSAodHlwZSkgPT0gVFlQRV9DT0RFX0ZMVCAmJiBs ZW4gPD0gOAotQEAgLTEyODMsMTEgKzEyODMsMTEgQEAgc3RydWN0IHBwYzY0X3N5c3ZfYXJncG9z CitAQCAtMTI4MywxMSArMTI4MywxMSBAQAogIAogIHN0YXRpYyB2b2lkCiAgcHBjNjRfc3lzdl9h YmlfcHVzaF92YWwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLApAQCAtODY2LDExICs4NjYsMTEg QEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9wcGMtc3lzdi10ZGVwLmMKICAKICAg IC8qIEVuZm9yY2UgYWxpZ25tZW50IG9mIHN0YWNrIGxvY2F0aW9uLCBpZiByZXF1ZXN0ZWQuICAq LwogICAgaWYgKGFsaWduID4gdGRlcC0+d29yZHNpemUpCi1JbmRleDogZ2RiLTcuMTAuNTAuMjAx NTEwMjIvZ2RiL3JsNzgtdGRlcC5jCitJbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3Js NzgtdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTEwMjIub3JpZy9nZGIv cmw3OC10ZGVwLmMJMjAxNS0xMC0yNCAyMzoxNDoxNy44MTYwMzk0ODYgKzAyMDAKLSsrKyBnZGIt Ny4xMC41MC4yMDE1MTAyMi9nZGIvcmw3OC10ZGVwLmMJMjAxNS0xMC0yNCAyMzoxNDoyMC45NDQw NjAyNjQgKzAyMDAKLUBAIC0xMzM4LDggKzEzMzgsOCBAQCBybDc4X3B1c2hfZHVtbXlfY2FsbCAo c3RydWN0IGdkYmFyY2ggKmdkCistLS0gZ2RiLTcuMTAuNTAuMjAxNjAxMDYub3JpZy9nZGIvcmw3 OC10ZGVwLmMJMjAxNi0wMS0wOCAxOToxNjoxNi42Mjk4MTQxOTYgKzAxMDAKKysrKyBnZGItNy4x MC41MC4yMDE2MDEwNi9nZGIvcmw3OC10ZGVwLmMJMjAxNi0wMS0wOCAxOToxNjoyMC4zMjU4MzQ4 MTIgKzAxMDAKK0BAIC0xMzM2LDggKzEzMzYsOCBAQAogICAgZm9yIChpID0gbmFyZ3MgLSAxOyBp ID49IDA7IGktLSkKICAgICAgewogICAgICAgIHN0cnVjdCB0eXBlICp2YWx1ZV90eXBlID0gdmFs dWVfZW5jbG9zaW5nX3R5cGUgKGFyZ3NbaV0pOwpAQCAtODgxLDExICs4ODEsMTEgQEAgSW5kZXg6 IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9ybDc4LXRkZXAuYwogIAogICAgICAgIHNwIC09IGNv bnRhaW5lcl9sZW47CiAgICAgICAgd3JpdGVfbWVtb3J5IChybDc4X21ha2VfZGF0YV9hZGRyZXNz IChzcCksCi1JbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL3JzNjAwMC1haXgtdGRlcC5j CitJbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3JzNjAwMC1haXgtdGRlcC5jCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTEwMjIub3JpZy9nZGIvcnM2MDAwLWFpeC10ZGVw LmMJMjAxNS0xMC0yNCAyMzoxNDoxNy44MTYwMzk0ODYgKzAyMDAKLSsrKyBnZGItNy4xMC41MC4y MDE1MTAyMi9nZGIvcnM2MDAwLWFpeC10ZGVwLmMJMjAxNS0xMC0yNCAyMzoxNDoyMC45NDQwNjAy NjQgKzAyMDAKLUBAIC0xODYsOSArMTg2LDkgQEAgcnM2MDAwX3B1c2hfZHVtbXlfY2FsbCAoc3Ry dWN0IGdkYmFyY2ggKgorLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9yaWcvZ2RiL3JzNjAwMC1h aXgtdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MTYuNjMwODE0MjAyICswMTAwCisrKysgZ2RiLTcu MTAuNTAuMjAxNjAxMDYvZ2RiL3JzNjAwMC1haXgtdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MjAu MzI2ODM0ODE3ICswMTAwCitAQCAtMTg2LDkgKzE4Niw5IEBACiAgICBzdHJ1Y3QgZ2RiYXJjaF90 ZGVwICp0ZGVwID0gZ2RiYXJjaF90ZGVwIChnZGJhcmNoKTsKICAgIGVudW0gYmZkX2VuZGlhbiBi eXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsKICAgIGludCBpaTsKQEAg LTg5Nyw3ICs4OTcsNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL3JzNjAwMC1h aXgtdGRlcC5jCiAgICBnZGJfYnl0ZSB0bXBfYnVmZmVyWzUwXTsKICAgIGludCBmX2FyZ25vID0g MDsJCS8qIGN1cnJlbnQgZmxvYXRpbmcgcG9pbnQgYXJnbm8gKi8KICAgIGludCB3b3Jkc2l6ZSA9 IGdkYmFyY2hfdGRlcCAoZ2RiYXJjaCktPndvcmRzaXplOwotQEAgLTMyMSw3ICszMjEsNyBAQCBy YW5fb3V0X29mX3JlZ2lzdGVyc19mb3JfYXJndW1lbnRzOgorQEAgLTMyMSw3ICszMjEsNyBAQAog IAogICAgaWYgKChhcmdubyA8IG5hcmdzKSB8fCBhcmdieXRlcykKICAgICAgewpAQCAtOTA2LDEx ICs5MDYsMTEgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9yczYwMDAtYWl4LXRk ZXAuYwogIAogICAgICAgIGlmIChhcmdieXRlcykKICAJewotSW5kZXg6IGdkYi03LjEwLjUwLjIw MTUxMDIyL2dkYi9zMzkwLWxpbnV4LXRkZXAuYworSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2 L2dkYi9zMzkwLWxpbnV4LXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEwLjUwLjIwMTUx MDIyLm9yaWcvZ2RiL3MzOTAtbGludXgtdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MTcuODE3MDM5 NDkzICswMjAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL3MzOTAtbGludXgtdGRlcC5j CTIwMTUtMTAtMjQgMjM6MTQ6MjAuOTQ1MDYwMjcwICswMjAwCi1AQCAtMjU3MSw3ICsyNTcxLDcg QEAgczM5MF9mdW5jdGlvbl9hcmdfdmVjdG9yIChzdHJ1Y3QgdHlwZSAqdAorLS0tIGdkYi03LjEw LjUwLjIwMTYwMTA2Lm9yaWcvZ2RiL3MzOTAtbGludXgtdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6 MTYuNjMyODE0MjEzICswMTAwCisrKysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3MzOTAtbGlu dXgtdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MjAuMzI4ODM0ODI5ICswMTAwCitAQCAtMjk4MSw3 ICsyOTgxLDcgQEAKICAvKiBEZXRlcm1pbmUgd2hldGhlciBOIGlzIGEgcG93ZXIgb2YgdHdvLiAg Ki8KICAKICBzdGF0aWMgaW50CkBAIC05MTksNyArOTE5LDcgQEAgSW5kZXg6IGdkYi03LjEwLjUw LjIwMTUxMDIyL2dkYi9zMzkwLWxpbnV4LXRkZXAuYwogIHsKICAgIHJldHVybiBuICYmICgobiAm IChuIC0gMSkpID09IDApOwogIH0KLUBAIC0yNjI4LDcgKzI2MjgsNyBAQCBzMzkwX2hhbmRsZV9h cmcgKHN0cnVjdCBzMzkwX2FyZ19zdGF0ZSAqCitAQCAtMzAzOCw3ICszMDM4LDcgQEAKICAJCSBl bnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciwgaW50IGlzX3VubmFtZWQpCiAgewogICAgc3RydWN0 IHR5cGUgKnR5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlIChhcmcpKTsKQEAgLTkyOCwx MSArOTI4LDExIEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvczM5MC1saW51eC10 ZGVwLmMKICAgIGludCB3cml0ZV9tb2RlID0gYXMtPnJlZ2NhY2hlICE9IE5VTEw7CiAgCiAgICBp ZiAoczM5MF9mdW5jdGlvbl9hcmdfZmxvYXQgKHR5cGUpKQotSW5kZXg6IGdkYi03LjEwLjUwLjIw MTUxMDIyL2dkYi9zY29yZS10ZGVwLmMKK0luZGV4OiBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIv c2NvcmUtdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTEwMjIub3JpZy9n ZGIvc2NvcmUtdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MTcuODE3MDM5NDkzICswMjAwCi0rKysg Z2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL3Njb3JlLXRkZXAuYwkyMDE1LTEwLTI0IDIzOjE0OjIw Ljk0NTA2MDI3MCArMDIwMAotQEAgLTUxNCw3ICs1MTQsNyBAQCBzY29yZV9wdXNoX2R1bW15X2Nh bGwgKHN0cnVjdCBnZGJhcmNoICpnCistLS0gZ2RiLTcuMTAuNTAuMjAxNjAxMDYub3JpZy9nZGIv c2NvcmUtdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MTYuNjMzODE0MjE4ICswMTAwCisrKysgZ2Ri LTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3Njb3JlLXRkZXAuYwkyMDE2LTAxLTA4IDE5OjE2OjIwLjMy ODgzNDgyOSArMDEwMAorQEAgLTUxNCw3ICs1MTQsNyBAQAogICAgZW51bSBiZmRfZW5kaWFuIGJ5 dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwogICAgaW50IGFyZ251bTsK ICAgIGludCBhcmdyZWc7CkBAIC05NDEsMTEgKzk0MSwxMSBAQCBJbmRleDogZ2RiLTcuMTAuNTAu MjAxNTEwMjIvZ2RiL3Njb3JlLXRkZXAuYwogICAgQ09SRV9BRERSIHN0YWNrX29mZnNldCA9IDA7 CiAgICBDT1JFX0FERFIgYWRkciA9IDA7CiAgCi1JbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIv Z2RiL3NoLXRkZXAuYworSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9zaC10ZGVwLmMK ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItNy4xMC41MC4yMDE1MTAyMi5vcmlnL2dkYi9zaC10ZGVwLmMJ MjAxNS0xMC0yNCAyMzoxNDoxNy44MTgwMzk0OTkgKzAyMDAKLSsrKyBnZGItNy4xMC41MC4yMDE1 MTAyMi9nZGIvc2gtdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MjAuOTQ2MDYwMjc3ICswMjAwCi1A QCAtODA1LDcgKzgwNSw3IEBAIHNoX3NraXBfcHJvbG9ndWUgKHN0cnVjdCBnZGJhcmNoICpnZGJh cmMKKy0tLSBnZGItNy4xMC41MC4yMDE2MDEwNi5vcmlnL2dkYi9zaC10ZGVwLmMJMjAxNi0wMS0w OCAxOToxNjoxNi42MzU4MTQyMzAgKzAxMDAKKysrKyBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIv c2gtdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MjAuMzI5ODM0ODM0ICswMTAwCitAQCAtODA1LDcg KzgwNSw3IEBACiAgc3RhdGljIGludAogIHNoX3VzZV9zdHJ1Y3RfY29udmVudGlvbiAoaW50IHJl bmVzYXNfYWJpLCBzdHJ1Y3QgdHlwZSAqdHlwZSkKICB7CkBAIC05NTQsNyArOTU0LDcgQEAgSW5k ZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9zaC10ZGVwLmMKICAgIGludCBuZWxlbSA9IFRZ UEVfTkZJRUxEUyAodHlwZSk7CiAgCiAgICAvKiBUaGUgUmVuZXNhcyBBQkkgcmV0dXJucyBhZ2dy ZWdhdGUgdHlwZXMgYWx3YXlzIG9uIHN0YWNrLiAgKi8KLUBAIC05MDcsNyArOTA3LDcgQEAgc2hf ZnJhbWVfYWxpZ24gKHN0cnVjdCBnZGJhcmNoICppZ25vcmUsCitAQCAtOTA3LDcgKzkwNyw3IEBA CiAgCiAgLyogSGVscGVyIGZ1bmN0aW9uIHRvIGp1c3RpZnkgdmFsdWUgaW4gcmVnaXN0ZXIgYWNj b3JkaW5nIHRvIGVuZGlhbmVzcy4gICovCiAgc3RhdGljIGNvbnN0IGdkYl9ieXRlICoKQEAgLTk2 Myw3ICs5NjMsNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL3NoLXRkZXAuYwog IHsKICAgIHN0YXRpYyBnZGJfYnl0ZSB2YWxidWZbNF07CiAgCi1AQCAtMTA2Nyw3ICsxMDY3LDgg QEAgc2hfcHVzaF9kdW1teV9jYWxsX2ZwdSAoc3RydWN0IGdkYmFyY2ggKgorQEAgLTEwNjcsNyAr MTA2Nyw4IEBACiAgICBzdHJ1Y3QgdHlwZSAqdHlwZTsKICAgIENPUkVfQUREUiByZWd2YWw7CiAg ICBjb25zdCBnZGJfYnl0ZSAqdmFsOwpAQCAtOTczLDcgKzk3Myw3IEBAIEluZGV4OiBnZGItNy4x MC41MC4yMDE1MTAyMi9nZGIvc2gtdGRlcC5jCiAgICBpbnQgcGFzc19vbl9zdGFjayA9IDA7CiAg ICBpbnQgdHJlYXRfYXNfZmx0OwogICAgaW50IGxhc3RfcmVnX2FyZyA9IElOVF9NQVg7Ci1AQCAt MTIwOCw3ICsxMjA5LDggQEAgc2hfcHVzaF9kdW1teV9jYWxsX25vZnB1IChzdHJ1Y3QgZ2RiYXJj aAorQEAgLTEyMDgsNyArMTIwOSw4IEBACiAgICBzdHJ1Y3QgdHlwZSAqdHlwZTsKICAgIENPUkVf QUREUiByZWd2YWw7CiAgICBjb25zdCBnZGJfYnl0ZSAqdmFsOwpAQCAtOTgzLDExICs5ODMsMTEg QEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9zaC10ZGVwLmMKICAgIGludCBwYXNz X29uX3N0YWNrID0gMDsKICAgIGludCBsYXN0X3JlZ19hcmcgPSBJTlRfTUFYOwogIAotSW5kZXg6 IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9zaDY0LXRkZXAuYworSW5kZXg6IGdkYi03LjEwLjUw LjIwMTYwMTA2L2dkYi9zaDY0LXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEwLjUwLjIw MTUxMDIyLm9yaWcvZ2RiL3NoNjQtdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MTcuODE5MDM5NTA2 ICswMjAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL3NoNjQtdGRlcC5jCTIwMTUtMTAt MjQgMjM6MTQ6MjAuOTQ2MDYwMjc3ICswMjAwCi1AQCAtMTA1Niw3ICsxMDU2LDcgQEAgc2g2NF9w dXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZAorLS0tIGdkYi03LjEwLjUwLjIwMTYw MTA2Lm9yaWcvZ2RiL3NoNjQtdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MTYuNjM1ODE0MjMwICsw MTAwCisrKysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3NoNjQtdGRlcC5jCTIwMTYtMDEtMDgg MTk6MTY6MjAuMzI5ODM0ODM0ICswMTAwCitAQCAtMTA1Niw3ICsxMDU2LDcgQEAKICAJCSAgICAg IENPUkVfQUREUiBzdHJ1Y3RfYWRkcikKICB7CiAgICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRl ciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7CkBAIC05OTYsNyArOTk2LDcgQEAgSW5k ZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9zaDY0LXRkZXAuYwogICAgaW50IGludF9hcmdy ZWc7CiAgICBpbnQgZmxvYXRfYXJncmVnOwogICAgaW50IGRvdWJsZV9hcmdyZWc7Ci1AQCAtMTA2 Nyw3ICsxMDY3LDcgQEAgc2g2NF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZAor QEAgLTEwNjcsNyArMTA2Nyw3IEBACiAgICBDT1JFX0FERFIgcmVndmFsOwogICAgY29uc3QgZ2Ri X2J5dGUgKnZhbDsKICAgIGdkYl9ieXRlIHZhbGJ1Zls4XTsKQEAgLTEwMDUsMTEgKzEwMDUsMTEg QEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9zaDY0LXRkZXAuYwogICAgaW50IGFy Z3JlZ19zaXplOwogICAgaW50IGZwX2FyZ3NbMTJdOwogIAotSW5kZXg6IGdkYi03LjEwLjUwLjIw MTUxMDIyL2dkYi9zcGFyYy10ZGVwLmMKK0luZGV4OiBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIv c3BhcmMtdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTEwMjIub3JpZy9n ZGIvc3BhcmMtdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MTcuODE5MDM5NTA2ICswMjAwCi0rKysg Z2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL3NwYXJjLXRkZXAuYwkyMDE1LTEwLTI0IDIzOjE0OjIw Ljk0NjA2MDI3NyArMDIwMAotQEAgLTUyNSw3ICs1MjUsNyBAQCBzcGFyYzMyX3N0b3JlX2FyZ3Vt ZW50cyAoc3RydWN0IHJlZ2NhY2hlCistLS0gZ2RiLTcuMTAuNTAuMjAxNjAxMDYub3JpZy9nZGIv c3BhcmMtdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MTYuNjM2ODE0MjM1ICswMTAwCisrKysgZ2Ri LTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3NwYXJjLXRkZXAuYwkyMDE2LTAxLTA4IDE5OjE2OjIwLjMz MDgzNDg0MCArMDEwMAorQEAgLTUyNSw3ICs1MjUsNyBAQAogICAgZm9yIChpID0gMDsgaSA8IG5h cmdzOyBpKyspCiAgICAgIHsKICAgICAgICBzdHJ1Y3QgdHlwZSAqdHlwZSA9IHZhbHVlX3R5cGUg KGFyZ3NbaV0pOwpAQCAtMTAxOCwxMSArMTAxOCwxMSBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAx NTEwMjIvZ2RiL3NwYXJjLXRkZXAuYwogIAogICAgICAgIGlmIChzcGFyY19zdHJ1Y3R1cmVfb3Jf dW5pb25fcCAodHlwZSkKICAJICB8fCAoc3BhcmNfZmxvYXRpbmdfcCAodHlwZSkgJiYgbGVuID09 IDE2KQotSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9zcGFyYzY0LXRkZXAuYworSW5k ZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9zcGFyYzY0LXRkZXAuYwogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi03LjEwLjUwLjIwMTUxMDIyLm9yaWcvZ2RiL3NwYXJjNjQtdGRlcC5jCTIwMTUtMTAt MjQgMjM6MTQ6MTcuODIwMDM5NTEzICswMjAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2Ri L3NwYXJjNjQtdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MjAuOTQ3MDYwMjg0ICswMjAwCi1AQCAt NjM2LDcgKzYzNiw4IEBAIHNwYXJjNjRfMTZfYnl0ZV9hbGlnbl9wIChzdHJ1Y3QgdHlwZSAqdHkK Ky0tLSBnZGItNy4xMC41MC4yMDE2MDEwNi5vcmlnL2dkYi9zcGFyYzY0LXRkZXAuYwkyMDE2LTAx LTA4IDE5OjE2OjE2LjYzNzgxNDI0MSArMDEwMAorKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dk Yi9zcGFyYzY0LXRkZXAuYwkyMDE2LTAxLTA4IDE5OjE2OjIwLjMzMDgzNDg0MCArMDEwMAorQEAg LTYzNiw3ICs2MzYsOCBAQAogIAogIHN0YXRpYyB2b2lkCiAgc3BhcmM2NF9zdG9yZV9mbG9hdGlu Z19maWVsZHMgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIHN0cnVjdCB0eXBlICp0eXBlLApA QCAtMTAzMiw3ICsxMDMyLDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9zcGFy YzY0LXRkZXAuYwogIHsKICAgIGludCBsZW4gPSBUWVBFX0xFTkdUSCAodHlwZSk7CiAgCi1AQCAt Njc4LDcgKzY3OSw3IEBAIHNwYXJjNjRfc3RvcmVfZmxvYXRpbmdfZmllbGRzIChzdHJ1Y3QgcmUK K0BAIC02NzgsNyArNjc5LDcgQEAKICAgICAgICBmb3IgKGkgPSAwOyBpIDwgVFlQRV9ORklFTERT ICh0eXBlKTsgaSsrKQogIAl7CiAgCSAgc3RydWN0IHR5cGUgKnN1YnR5cGUgPSBjaGVja190eXBl ZGVmIChUWVBFX0ZJRUxEX1RZUEUgKHR5cGUsIGkpKTsKQEAgLTEwNDEsNyArMTA0MSw3IEBAIElu ZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvc3BhcmM2NC10ZGVwLmMKICAKICAJICBzcGFy YzY0X3N0b3JlX2Zsb2F0aW5nX2ZpZWxkcyAocmVnY2FjaGUsIHN1YnR5cGUsIHZhbGJ1ZiwKICAJ CQkJCSBlbGVtZW50LCBzdWJwb3MpOwotQEAgLTcxMCw3ICs3MTEsNyBAQCBzcGFyYzY0X3N0b3Jl X2Zsb2F0aW5nX2ZpZWxkcyAoc3RydWN0IHJlCitAQCAtNzEwLDcgKzcxMSw3IEBACiAgCiAgc3Rh dGljIHZvaWQKICBzcGFyYzY0X2V4dHJhY3RfZmxvYXRpbmdfZmllbGRzIChzdHJ1Y3QgcmVnY2Fj aGUgKnJlZ2NhY2hlLCBzdHJ1Y3QgdHlwZSAqdHlwZSwKQEAgLTEwNTAsNyArMTA1MCw3IEBAIElu ZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvc3BhcmM2NC10ZGVwLmMKICB7CiAgICBpZiAo c3BhcmM2NF9mbG9hdGluZ19wICh0eXBlKSkKICAgICAgewotQEAgLTc0Nyw3ICs3NDgsNyBAQCBz cGFyYzY0X2V4dHJhY3RfZmxvYXRpbmdfZmllbGRzIChzdHJ1Y3QKK0BAIC03NDcsNyArNzQ4LDcg QEAKICAgICAgICBmb3IgKGkgPSAwOyBpIDwgVFlQRV9ORklFTERTICh0eXBlKTsgaSsrKQogIAl7 CiAgCSAgc3RydWN0IHR5cGUgKnN1YnR5cGUgPSBjaGVja190eXBlZGVmIChUWVBFX0ZJRUxEX1RZ UEUgKHR5cGUsIGkpKTsKQEAgLTEwNTksNyArMTA1OSw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4y MDE1MTAyMi9nZGIvc3BhcmM2NC10ZGVwLmMKICAKICAJICBzcGFyYzY0X2V4dHJhY3RfZmxvYXRp bmdfZmllbGRzIChyZWdjYWNoZSwgc3VidHlwZSwgdmFsYnVmLCBzdWJwb3MpOwogIAl9Ci1AQCAt NzgwLDcgKzc4MSw3IEBAIHNwYXJjNjRfc3RvcmVfYXJndW1lbnRzIChzdHJ1Y3QgcmVnY2FjaGUK K0BAIC03ODAsNyArNzgxLDcgQEAKICAgIGZvciAoaSA9IDA7IGkgPCBuYXJnczsgaSsrKQogICAg ICB7CiAgICAgICAgc3RydWN0IHR5cGUgKnR5cGUgPSB2YWx1ZV90eXBlIChhcmdzW2ldKTsKQEAg LTEwNjgsNyArMTA2OCw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvc3BhcmM2 NC10ZGVwLmMKICAKICAgICAgICBpZiAoc3BhcmM2NF9zdHJ1Y3R1cmVfb3JfdW5pb25fcCAodHlw ZSkKICAJICB8fCAoc3BhcmM2NF9jb21wbGV4X2Zsb2F0aW5nX3AgKHR5cGUpICYmIGxlbiA9PSAz MikpCi1AQCAtODgwLDcgKzg4MSw3IEBAIHNwYXJjNjRfc3RvcmVfYXJndW1lbnRzIChzdHJ1Y3Qg cmVnY2FjaGUKK0BAIC04ODAsNyArODgxLDcgQEAKICAgICAgewogICAgICAgIGNvbnN0IGdkYl9i eXRlICp2YWxidWYgPSB2YWx1ZV9jb250ZW50cyAoYXJnc1tpXSk7CiAgICAgICAgc3RydWN0IHR5 cGUgKnR5cGUgPSB2YWx1ZV90eXBlIChhcmdzW2ldKTsKQEAgLTEwNzcsMTEgKzEwNzcsMTEgQEAg SW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9zcGFyYzY0LXRkZXAuYwogICAgICAgIGlu dCByZWdudW0gPSAtMTsKICAgICAgICBnZGJfYnl0ZSBidWZbMTZdOwogIAotSW5kZXg6IGdkYi03 LjEwLjUwLjIwMTUxMDIyL2dkYi9zcHUtdGRlcC5jCitJbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAx MDYvZ2RiL3NwdS10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMC41MC4yMDE1MTAyMi5v cmlnL2dkYi9zcHUtdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MTcuODIxMDM5NTE5ICswMjAwCi0r KysgZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL3NwdS10ZGVwLmMJMjAxNS0xMC0yNCAyMzoxNDoy MC45NDcwNjAyODQgKzAyMDAKLUBAIC0xNDI5LDcgKzE0MjksNyBAQCBzcHVfcHVzaF9kdW1teV9j YWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiCistLS0gZ2RiLTcuMTAuNTAuMjAxNjAxMDYub3JpZy9n ZGIvc3B1LXRkZXAuYwkyMDE2LTAxLTA4IDE5OjE2OjE2LjYzODgxNDI0NiArMDEwMAorKysrIGdk Yi03LjEwLjUwLjIwMTYwMTA2L2dkYi9zcHUtdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MjAuMzMx ODM0ODQ1ICswMTAwCitAQCAtMTQyOSw3ICsxNDI5LDcgQEAKICAgICAgICBzdHJ1Y3QgdmFsdWUg KmFyZyA9IGFyZ3NbaV07CiAgICAgICAgc3RydWN0IHR5cGUgKnR5cGUgPSBjaGVja190eXBlZGVm ICh2YWx1ZV90eXBlIChhcmcpKTsKICAgICAgICBjb25zdCBnZGJfYnl0ZSAqY29udGVudHMgPSB2 YWx1ZV9jb250ZW50cyAoYXJnKTsKQEAgLTEwOTAsNyArMTA5MCw3IEBAIEluZGV4OiBnZGItNy4x MC41MC4yMDE1MTAyMi9nZGIvc3B1LXRkZXAuYwogIAogICAgICAgIC8qIElmIHRoZSBhcmd1bWVu dCBkb2Vzbid0IHdob2xseSBmaXQgaW50byByZWdpc3RlcnMsIGl0IGFuZAogIAkgYWxsIHN1YnNl cXVlbnQgYXJndW1lbnRzIGdvIHRvIHRoZSBzdGFjay4gICovCi1AQCAtMTQ2MSw3ICsxNDYxLDcg QEAgc3B1X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYgorQEAgLTE0NjEsNyAr MTQ2MSw3IEBACiAgCXsKICAJICBzdHJ1Y3QgdmFsdWUgKmFyZyA9IGFyZ3NbaV07CiAgCSAgc3Ry dWN0IHR5cGUgKnR5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlIChhcmcpKTsKQEAgLTEw OTksMTEgKzEwOTksMTEgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi9zcHUtdGRl cC5jCiAgCSAgaW50IHByZWZlcnJlZF9zbG90OwogIAkgIAogIAkgIGlmIChzcHVfc2NhbGFyX3Zh bHVlX3AgKHR5cGUpKQotSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi90aWM2eC10ZGVw LmMKK0luZGV4OiBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvdGljNngtdGRlcC5jCiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTEwMjIub3JpZy9nZGIvdGljNngtdGRlcC5jCTIwMTUt MTAtMjQgMjM6MTQ6MTcuODIxMDM5NTE5ICswMjAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTEwMjIv Z2RiL3RpYzZ4LXRkZXAuYwkyMDE1LTEwLTI0IDIzOjE0OjIwLjk0NzA2MDI4NCArMDIwMAotQEAg LTg5NSw3ICs4OTUsNyBAQCB0aWM2eF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpn CistLS0gZ2RiLTcuMTAuNTAuMjAxNjAxMDYub3JpZy9nZGIvdGljNngtdGRlcC5jCTIwMTYtMDEt MDggMTk6MTY6MTYuNjM5ODE0MjUyICswMTAwCisrKysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2Ri L3RpYzZ4LXRkZXAuYwkyMDE2LTAxLTA4IDE5OjE2OjIwLjMzMjgzNDg1MSArMDEwMAorQEAgLTg5 NSw3ICs4OTUsNyBAQAogICAgaW50IGFyZ3JlZyA9IDA7CiAgICBpbnQgYXJnbnVtOwogICAgaW50 IHN0YWNrX29mZnNldCA9IDQ7CkBAIC0xMTEyLDcgKzExMTIsNyBAQCBJbmRleDogZ2RiLTcuMTAu NTAuMjAxNTEwMjIvZ2RiL3RpYzZ4LXRkZXAuYwogICAgQ09SRV9BRERSIGZ1bmNfYWRkciA9IGZp bmRfZnVuY3Rpb25fYWRkciAoZnVuY3Rpb24sIE5VTEwpOwogICAgZW51bSBiZmRfZW5kaWFuIGJ5 dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwogICAgc3RydWN0IHR5cGUg KmZ1bmNfdHlwZSA9IHZhbHVlX3R5cGUgKGZ1bmN0aW9uKTsKLUBAIC05MjksNyArOTI5LDcgQEAg dGljNnhfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZworQEAgLTkyOSw3ICs5Mjks NyBAQAogICAgLyogTm93IG1ha2Ugc3BhY2Ugb24gdGhlIHN0YWNrIGZvciB0aGUgYXJncy4gICov CiAgICBmb3IgKGFyZ251bSA9IDA7IGFyZ251bSA8IG5hcmdzOyBhcmdudW0rKykKICAgICAgewpA QCAtMTEyMSw3ICsxMTIxLDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi90aWM2 eC10ZGVwLmMKICAgICAgICBpZiAoYXJnbnVtID49IDEwIC0gYXJncmVnKQogIAlyZWZlcmVuY2Vz X29mZnNldCArPSBsZW47CiAgICAgICAgc3RhY2tfb2Zmc2V0ICs9IGxlbjsKLUBAIC05NDgsNyAr OTQ4LDcgQEAgdGljNnhfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZworQEAgLTk0 OCw3ICs5NDgsNyBAQAogICAgICAgIGNvbnN0IGdkYl9ieXRlICp2YWw7CiAgICAgICAgc3RydWN0 IHZhbHVlICphcmcgPSBhcmdzW2FyZ251bV07CiAgICAgICAgc3RydWN0IHR5cGUgKmFyZ190eXBl ID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoYXJnKSk7CkBAIC0xMTMwLDcgKzExMzAsNyBA QCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL3RpYzZ4LXRkZXAuYwogICAgICAgIGVu dW0gdHlwZV9jb2RlIHR5cGVjb2RlID0gVFlQRV9DT0RFIChhcmdfdHlwZSk7CiAgCiAgICAgICAg dmFsID0gdmFsdWVfY29udGVudHMgKGFyZyk7Ci1AQCAtMTEwOCw3ICsxMTA4LDggQEAgdGljNnhf cHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZworQEAgLTExMDgsNyArMTEwOCw4IEBA CiAgCSAgICB9CiAgCSAgZWxzZQogIAkgICAgaW50ZXJuYWxfZXJyb3IgKF9fRklMRV9fLCBfX0xJ TkVfXywKQEAgLTExNDAsMTEgKzExNDAsMTEgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIy L2dkYi90aWM2eC10ZGVwLmMKICAKICAJICBhZGRyID0gc3AgKyBzdGFja19vZmZzZXQ7CiAgCSAg d3JpdGVfbWVtb3J5IChhZGRyLCB2YWwsIGxlbik7Ci1JbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEw MjIvZ2RiL3RpbGVneC10ZGVwLmMKK0luZGV4OiBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvdGls ZWd4LXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEwLjUwLjIwMTUxMDIyLm9yaWcvZ2Ri L3RpbGVneC10ZGVwLmMJMjAxNS0xMC0yNCAyMzoxNDoxNy44MjIwMzk1MjYgKzAyMDAKLSsrKyBn ZGItNy4xMC41MC4yMDE1MTAyMi9nZGIvdGlsZWd4LXRkZXAuYwkyMDE1LTEwLTI0IDIzOjE0OjIw Ljk0NzA2MDI4NCArMDIwMAotQEAgLTI4OCw3ICsyODgsNyBAQCB0aWxlZ3hfcHVzaF9kdW1teV9j YWxsIChzdHJ1Y3QgZ2RiYXJjaCAqCistLS0gZ2RiLTcuMTAuNTAuMjAxNjAxMDYub3JpZy9nZGIv dGlsZWd4LXRkZXAuYwkyMDE2LTAxLTA4IDE5OjE2OjE2LjY0MDgxNDI1NyArMDEwMAorKysrIGdk Yi03LjEwLjUwLjIwMTYwMTA2L2dkYi90aWxlZ3gtdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MjAu MzMyODM0ODUxICswMTAwCitAQCAtMjg4LDcgKzI4OCw3IEBACiAgICBDT1JFX0FERFIgc3RhY2tf ZGVzdCA9IHNwOwogICAgaW50IGFyZ3JlZyA9IFRJTEVHWF9SMF9SRUdOVU07CiAgICBpbnQgaSwg ajsKQEAgLTExNTMsMTEgKzExNTMsMTEgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dk Yi90aWxlZ3gtdGRlcC5jCiAgICBzdGF0aWMgY29uc3QgZ2RiX2J5dGUgZm91cl96ZXJvX3dvcmRz WzE2XSA9IHsgMCB9OwogIAogICAgLyogSWYgc3RydWN0X3JldHVybiBpcyAxLCB0aGVuIHRoZSBz dHJ1Y3QgcmV0dXJuIGFkZHJlc3Mgd2lsbAotSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dk Yi92ODUwLXRkZXAuYworSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi92ODUwLXRkZXAu YwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi03LjEwLjUwLjIwMTUxMDIyLm9yaWcvZ2RiL3Y4NTAtdGRl cC5jCTIwMTUtMTAtMjQgMjM6MTQ6MTcuODIyMDM5NTI2ICswMjAwCi0rKysgZ2RiLTcuMTAuNTAu MjAxNTEwMjIvZ2RiL3Y4NTAtdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MjAuOTQ4MDYwMjkwICsw MjAwCi1AQCAtMTAxOSw3ICsxMDE5LDcgQEAgdjg1MF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBn ZGJhcmNoICpnZAorLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9yaWcvZ2RiL3Y4NTAtdGRlcC5j CTIwMTYtMDEtMDggMTk6MTY6MTYuNjQwODE0MjU3ICswMTAwCisrKysgZ2RiLTcuMTAuNTAuMjAx NjAxMDYvZ2RiL3Y4NTAtdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MjAuMzMyODM0ODUxICswMTAw CitAQCAtMTAxOSw3ICsxMDE5LDcgQEAKICAgIGVudW0gYmZkX2VuZGlhbiBieXRlX29yZGVyID0g Z2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsKICAgIGludCBhcmdyZWc7CiAgICBpbnQgYXJn bnVtOwpAQCAtMTE2Niw3ICsxMTY2LDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dk Yi92ODUwLXRkZXAuYwogICAgaW50IHN0YWNrX29mZnNldDsKICAKICAgIGlmIChnZGJhcmNoX3Rk ZXAgKGdkYmFyY2gpLT5hYmkgPT0gVjg1MF9BQklfUkg4NTApCi1AQCAtMTA0Nyw3ICsxMDQ3LDcg QEAgdjg1MF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZAorQEAgLTEwNDcsNyAr MTA0Nyw3IEBACiAgICAgICBpbiBmb3VyIHJlZ2lzdGVycyBhdmFpbGFibGUuICBMb29wIHRocnUg YXJncyBmcm9tIGZpcnN0IHRvIGxhc3QuICAqLwogICAgZm9yIChhcmdudW0gPSAwOyBhcmdudW0g PCBuYXJnczsgYXJnbnVtKyspCiAgICAgIHsKQEAgLTExNzUsMTEgKzExNzUsMTEgQEAgSW5kZXg6 IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi92ODUwLXRkZXAuYwogICAgICAgIGdkYl9ieXRlICp2 YWw7CiAgICAgICAgZ2RiX2J5dGUgdmFsYnVmW3Y4NTBfcmVnX3NpemVdOwogIAotSW5kZXg6IGdk Yi03LjEwLjUwLjIwMTUxMDIyL2dkYi92YXgtdGRlcC5jCitJbmRleDogZ2RiLTcuMTAuNTAuMjAx NjAxMDYvZ2RiL3ZheC10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMC41MC4yMDE1MTAy Mi5vcmlnL2dkYi92YXgtdGRlcC5jCTIwMTUtMTAtMjQgMjM6MTQ6MTcuODIyMDM5NTI2ICswMjAw Ci0rKysgZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL3ZheC10ZGVwLmMJMjAxNS0xMC0yNCAyMzox NDoyMC45NDgwNjAyOTAgKzAyMDAKLUBAIC0xMTEsNyArMTExLDcgQEAgdmF4X3N0b3JlX2FyZ3Vt ZW50cyAoc3RydWN0IHJlZ2NhY2hlICpyZQorLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9yaWcv Z2RiL3ZheC10ZGVwLmMJMjAxNi0wMS0wOCAxOToxNjoxNi42NDE4MTQyNjMgKzAxMDAKKysrKyBn ZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvdmF4LXRkZXAuYwkyMDE2LTAxLTA4IDE5OjE2OjIwLjMz MzgzNDg1NiArMDEwMAorQEAgLTExMSw3ICsxMTEsNyBAQAogICAgc3RydWN0IGdkYmFyY2ggKmdk YmFyY2ggPSBnZXRfcmVnY2FjaGVfYXJjaCAocmVnY2FjaGUpOwogICAgZW51bSBiZmRfZW5kaWFu IGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwogICAgZ2RiX2J5dGUg YnVmWzRdOwpAQCAtMTE4OCw3ICsxMTg4LDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIy L2dkYi92YXgtdGRlcC5jCiAgICBpbnQgaTsKICAKICAgIC8qIFdlIGNyZWF0ZSBhbiBhcmd1bWVu dCBsaXN0IG9uIHRoZSBzdGFjaywgYW5kIG1ha2UgdGhlIGFyZ3VtZW50Ci1AQCAtMTIwLDcgKzEy MCw3IEBAIHZheF9zdG9yZV9hcmd1bWVudHMgKHN0cnVjdCByZWdjYWNoZSAqcmUKK0BAIC0xMjAs NyArMTIwLDcgQEAKICAgIC8qIFB1c2ggYXJndW1lbnRzIGluIHJldmVyc2Ugb3JkZXIuICAqLwog ICAgZm9yIChpID0gbmFyZ3MgLSAxOyBpID49IDA7IGktLSkKICAgICAgewpAQCAtMTE5NywxMSAr MTE5NywxMSBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL3ZheC10ZGVwLmMKICAK ICAgICAgICBzcCAtPSAobGVuICsgMykgJiB+MzsKICAgICAgICBjb3VudCArPSAobGVuICsgMykg LyA0OwotSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi94c3Rvcm15MTYtdGRlcC5jCitJ bmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3hzdG9ybXkxNi10ZGVwLmMKID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy4xMC41MC4yMDE1MTAyMi5vcmlnL2dkYi94c3Rvcm15MTYtdGRlcC5jCTIw MTUtMTAtMjQgMjM6MTQ6MTcuODIyMDM5NTI2ICswMjAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTEw MjIvZ2RiL3hzdG9ybXkxNi10ZGVwLmMJMjAxNS0xMC0yNCAyMzoxNDoyMC45NDgwNjAyOTAgKzAy MDAKLUBAIC0yMzMsOCArMjMzLDkgQEAgeHN0b3JteTE2X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0 IGdkYmFyYworLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9yaWcvZ2RiL3hzdG9ybXkxNi10ZGVw LmMJMjAxNi0wMS0wOCAxOToxNjoxNi42NDE4MTQyNjMgKzAxMDAKKysrKyBnZGItNy4xMC41MC4y MDE2MDEwNi9nZGIveHN0b3JteTE2LXRkZXAuYwkyMDE2LTAxLTA4IDE5OjE2OjIwLjMzMzgzNDg1 NiArMDEwMAorQEAgLTIzMyw4ICsyMzMsOSBAQAogICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3Jk ZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwogICAgQ09SRV9BRERSIHN0YWNrX2Rl c3QgPSBzcDsKICAgIGludCBhcmdyZWcgPSBFXzFTVF9BUkdfUkVHTlVNOwpAQCAtMTIxMywxMSAr MTIxMywxMSBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL3hzdG9ybXkxNi10ZGVw LmMKICAgIGNvbnN0IGdkYl9ieXRlICp2YWw7CiAgICBnZGJfYnl0ZSBidWZbeHN0b3JteTE2X3Bj X3NpemVdOwogIAotSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDIyL2dkYi94dGVuc2EtdGRlcC5j CitJbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3h0ZW5zYS10ZGVwLmMKID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy4xMC41MC4yMDE1MTAyMi5vcmlnL2dkYi94dGVuc2EtdGRlcC5jCTIwMTUt MTAtMjQgMjM6MTQ6MTcuODI0MDM5NTM5ICswMjAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTEwMjIv Z2RiL3h0ZW5zYS10ZGVwLmMJMjAxNS0xMC0yNCAyMzoxNDoyMC45NDgwNjAyOTAgKzAyMDAKLUBA IC0xNjQwLDggKzE2NDAsNyBAQCB4dGVuc2Ffc3RvcmVfcmV0dXJuX3ZhbHVlIChzdHJ1Y3QgdHlw ZSAqCistLS0gZ2RiLTcuMTAuNTAuMjAxNjAxMDYub3JpZy9nZGIveHRlbnNhLXRkZXAuYwkyMDE2 LTAxLTA4IDE5OjE2OjE2LjY0MzgxNDI3NCArMDEwMAorKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2 L2dkYi94dGVuc2EtdGRlcC5jCTIwMTYtMDEtMDggMTk6MTY6MjAuMzM0ODM0ODYyICswMTAwCitA QCAtMTYzOCw4ICsxNjM4LDcgQEAKICAKICAgICAgICBpZiAobGVuID4gKGNhbGxzaXplID4gOCA/ IDggOiAxNikpCiAgCWludGVybmFsX2Vycm9yIChfX0ZJTEVfXywgX19MSU5FX18sCkBAIC0xMjI3 LDcgKzEyMjcsNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL3h0ZW5zYS10ZGVw LmMKICAgICAgICBhcmVnID0gYXJyZWdfbnVtYmVyIChnZGJhcmNoLAogIAkJCSAgIGdkYmFyY2hf dGRlcCAoZ2RiYXJjaCktPmEwX2Jhc2UgKyAyICsgY2FsbHNpemUsIHdiKTsKICAKLUBAIC0xNzE1 LDE4ICsxNzE0LDE4IEBAIHh0ZW5zYV9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICoK K0BAIC0xNzEzLDE4ICsxNzEyLDE4IEBACiAgewogICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3Jk ZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwogICAgaW50IGk7CkBAIC0xMjQ5LDcg KzEyNDksNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL3h0ZW5zYS10ZGVwLmMK ICAgICAgICBpbnQgcmVnbm87CQkvKiByZWdubyBpZiBpbiByZWdpc3Rlci4gICovCiAgICAgIH0g dTsKICAgIH07Ci1AQCAtMTc1MCw5ICsxNzQ5LDEwIEBAIHh0ZW5zYV9wdXNoX2R1bW15X2NhbGwg KHN0cnVjdCBnZGJhcmNoICoKK0BAIC0xNzQ4LDkgKzE3NDcsMTAgQEAKICAgICAgICAgIHsKICAJ ICBzdHJ1Y3QgdmFsdWUgKmFyZyA9IGFyZ3NbaV07CiAgCSAgc3RydWN0IHR5cGUgKmFyZ190eXBl ID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoYXJnKSk7CkBAIC0xMjYzLDcgKzEyNjMsNyBA QCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjIvZ2RiL3h0ZW5zYS10ZGVwLmMKICAJICBzd2l0 Y2ggKFRZUEVfQ09ERSAoYXJnX3R5cGUpKQogIAkgICAgewogIAkgICAgY2FzZSBUWVBFX0NPREVf SU5UOgotQEAgLTE4MjIsOCArMTgyMiw4IEBAIHh0ZW5zYV9wdXNoX2R1bW15X2NhbGwgKHN0cnVj dCBnZGJhcmNoICoKK0BAIC0xODIwLDggKzE4MjAsOCBAQAogIAkgIGluZm8tPmFsaWduID0gVFlQ RV9MRU5HVEggKGJ1aWx0aW5fdHlwZSAoZ2RiYXJjaCktPmJ1aWx0aW5fbG9uZyk7CiAgCSAgYnJl YWs7CiAgCX0KQEAgLTEyNzMsNyArMTI3Myw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAy Mi9nZGIveHRlbnNhLXRkZXAuYwogIAogICAgICAgIC8qIEFsaWduIHNpemUgYW5kIG9uc3RhY2tf c2l6ZS4gICovCiAgICAgICAgc2l6ZSA9IChzaXplICsgaW5mby0+YWxpZ24gLSAxKSAmIH4oaW5m by0+YWxpZ24gLSAxKTsKLUBAIC0xODY4LDcgKzE4NjgsNyBAQCB4dGVuc2FfcHVzaF9kdW1teV9j YWxsIChzdHJ1Y3QgZ2RiYXJjaCAqCitAQCAtMTg2Niw3ICsxODY2LDcgQEAKICAKICAgICAgICBp ZiAoaW5mby0+b25zdGFjaykKICAJewpAQCAtMTI4Miw3ICsxMjgyLDcgQEAgSW5kZXg6IGdkYi03 LjEwLjUwLjIwMTUxMDIyL2dkYi94dGVuc2EtdGRlcC5jCiAgCSAgQ09SRV9BRERSIG9mZnNldCA9 IHNwICsgaW5mby0+dS5vZmZzZXQ7CiAgCiAgCSAgLyogT2RkLXNpemVkIHN0cnVjdHMgYXJlIGFs aWduZWQgdG8gdGhlIGxvd2VyIHNpZGUgb2YgYSBtZW1vcnkKLUBAIC0xODg0LDcgKzE4ODQsNyBA QCB4dGVuc2FfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqCitAQCAtMTg4Miw3ICsx ODgyLDcgQEAKICAJfQogICAgICAgIGVsc2UKICAJewoKZGlmZiAtLWdpdCBhL2dkYi10ZXN0LWJ0 LWNmaS13aXRob3V0LWRpZS5wYXRjaCBiL2dkYi10ZXN0LWJ0LWNmaS13aXRob3V0LWRpZS5wYXRj aAppbmRleCA4MmY5ZDJkLi5mYTNhYjU4IDEwMDY0NAotLS0gYS9nZGItdGVzdC1idC1jZmktd2l0 aG91dC1kaWUucGF0Y2gKKysrIGIvZ2RiLXRlc3QtYnQtY2ZpLXdpdGhvdXQtZGllLnBhdGNoCkBA IC03MCwxMCArNzAsMTAgQEAgZ2RiL3Rlc3RzdWl0ZS8KICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2Ri L3Rlc3RzdWl0ZS9nZGIuYmFzZS9jZmktd2l0aG91dC1kaWUtbWFpbi5jCiAgY3JlYXRlIG1vZGUg MTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2ZpLXdpdGhvdXQtZGllLmV4cAogCi1JbmRl eDogZ2RiLTcuNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NmaS13aXRob3V0LWRpZS1jYWxsZXIu YworSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2Zp LXdpdGhvdXQtZGllLWNhbGxlci5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEt MDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuNy9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL2NmaS13aXRob3V0LWRpZS1jYWxsZXIuYwkyMDE0LTAyLTA2IDE5OjM1OjIzLjQ4NTg2 MzgxOSArMDEwMAorKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvY2ZpLXdpdGhvdXQtZGllLWNhbGxlci5jCTIwMTYtMDEtMDggMjE6MTA6MTUuNDk4MDc5NTg3 ICswMTAwCiBAQCAtMCwwICsxLDI4IEBACiArLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdE QiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAgLTEwMywxMCArMTAzLDEwIEBAIEluZGV4OiBnZGIt Ny43L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2ZpLXdpdGhvdXQtZGllLWNhbGxlci5jCiArICAv KiBNb2RpZnkgdGhlIHJldHVybiB2YWx1ZSB0byBwcmV2ZW50IGFueSB0YWlsLWNhbGwgb3B0aW1p emF0aW9uLiAgKi8KICsgIHJldHVybiAoKmNhbGxiYWNrKSAoKSAtIG9uZTsKICt9Ci1JbmRleDog Z2RiLTcuNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NmaS13aXRob3V0LWRpZS1tYWluLmMKK0lu ZGV4OiBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NmaS13aXRo b3V0LWRpZS1tYWluLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDow MDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy43L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv Y2ZpLXdpdGhvdXQtZGllLW1haW4uYwkyMDE0LTAyLTA2IDE5OjM1OjIzLjQ4NTg2MzgxOSArMDEw MAorKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2ZpLXdp dGhvdXQtZGllLW1haW4uYwkyMDE2LTAxLTA4IDIxOjEwOjE1LjQ5ODA3OTU4NyArMDEwMAogQEAg LTAsMCArMSwzMiBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUg ZGVidWdnZXIuCiArCkBAIC0xNDAsMTEgKzE0MCwxMSBAQCBJbmRleDogZ2RiLTcuNy9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL2NmaS13aXRob3V0LWRpZS1tYWluLmMKICt7CiArICByZXR1cm4gY2Fs bGVyIChjYWxsYmFjayk7CiArfQotSW5kZXg6IGdkYi03LjcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS9jZmktd2l0aG91dC1kaWUuZXhwCitJbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9jZmktd2l0aG91dC1kaWUuZXhwCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rl di9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuNy9n ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NmaS13aXRob3V0LWRpZS5leHAJMjAxNC0wMi0wNiAyMDoy NjowMC43NzUyMDg4NDcgKzAxMDAKLUBAIC0wLDAgKzEsNjcgQEAKKysrKyBnZGItNy4xMC41MC4y MDE2MDEwNi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NmaS13aXRob3V0LWRpZS5leHAJMjAxNi0w MS0wOCAyMToxMzowNC41Mjk5OTgwMDkgKzAxMDAKK0BAIC0wLDAgKzEsNzEgQEAKICsjIENvcHly aWdodCAyMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwogKyMgVGhpcyBwcm9n cmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2Rp ZnkKQEAgLTE4Niw2ICsxODYsMTAgQEAgSW5kZXg6IGdkYi03LjcvZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS9jZmktd2l0aG91dC1kaWUuZXhwCiArfQogK3NldCB0ZXN0ICJ2ZXJpZnkgdW53aW5kaW5n IGJyZWFrcyB3aXRob3V0IENGSSIKICtnZGJfdGVzdF9tdWx0aXBsZSAiYnQiICR0ZXN0IHsKKysg ICAgLXJlICIgaW4gXFs/XF1cWz9cXSAuKlxyXG4kZ2RiX3Byb21wdCAkIiB7CisrCSMgSXQgbWF5 IGJhY2t0cmFjZSB0aHJvdWdoIHNvbWUgcmFuZG9tIGZyYW1lcyBldmVuIHRvIG1haW4oKS4KKysJ cGFzcyAkdGVzdAorKyAgICB9CiArICAgIC1yZSAiIGluIG1haW4gLipcclxuJGdkYl9wcm9tcHQg JCIgewogKwlmYWlsICR0ZXN0CiArICAgIH0KCmRpZmYgLS1naXQgYS9nZGItdGVzdHN1aXRlLWZv bGwtdmZvcmsucGF0Y2ggYi9nZGItdGVzdHN1aXRlLWZvbGwtdmZvcmsucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTAxMzQzZAotLS0gL2Rldi9udWxsCisrKyBiL2dk Yi10ZXN0c3VpdGUtZm9sbC12Zm9yay5wYXRjaApAQCAtMCwwICsxLDEyOCBAQAoraHR0cDovL3Nv dXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTYtMDEvbXNnMDAxNDIuaHRtbAorU3ViamVj dDogW3Rlc3RzdWl0ZSBwYXRjaF0gUmVncmVzc2lvbiBmb3IgZm9sbC12Zm9yay5leHAgIFtSZTog W1BBVENIXSBSZW1vdmUgSFAtVVggcmVmZXJlbmNlIGluIGZvbGwtdmZvcmsuZXhwXQorCisKKy0t UEVJQUt1L1dNbjFiMUh2OQorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PXVzLWFz Y2lpCitDb250ZW50LURpc3Bvc2l0aW9uOiBpbmxpbmUKKworT24gVHVlLCAyMiBEZWMgMjAxNSAx Njo1MzoyMyArMDEwMCwgU2ltb24gTWFyY2hpIHdyb3RlOgorPiBUaGFua3MsIHB1c2hlZC4KKwor ZmUzM2ZhZmYzNWE4ZWUxOWRiODIzMTQ5ZTc2NGUzMzczZTYwM2JiOSBpcyB0aGUgZmlyc3QgYmFk IGNvbW1pdAorY29tbWl0IGZlMzNmYWZmMzVhOGVlMTlkYjgyMzE0OWU3NjRlMzM3M2U2MDNiYjkK K0F1dGhvcjogU2ltb24gTWFyY2hpIDxzaW1vbi5tYXJjaGlAZXJpY3Nzb24uY29tPgorRGF0ZTog ICBUdWUgRGVjIDIyIDEwOjUyOjMxIDIwMTUgLTA1MDAKKyAgICBSZW1vdmUgSFAtVVggcmVmZXJl bmNlIGluIGZvbGwtdmZvcmsuZXhwCisKK0ZBSUw6IGdkYi5iYXNlL2ZvbGwtdmZvcmsuZXhwOiBl eGVjOiB2Zm9yayBwYXJlbnQgZm9sbG93LCBmaW5pc2ggYWZ0ZXIgdGNhdGNoIHZmb3JrOiBjb250 aW51ZSB0byB2Zm9yaworRkFJTDogZ2RiLmJhc2UvZm9sbC12Zm9yay5leHA6IGV4ZWM6IHZmb3Jr IGNoaWxkIGZvbGxvdywgZmluaXNoIGFmdGVyIHRjYXRjaCB2Zm9yazogY29udGludWUgdG8gdmZv cmsKK0ZBSUw6IGdkYi5iYXNlL2ZvbGwtdmZvcmsuZXhwOiBleGl0OiB2Zm9yayBwYXJlbnQgZm9s bG93LCBmaW5pc2ggYWZ0ZXIgdGNhdGNoIHZmb3JrOiBjb250aW51ZSB0byB2Zm9yaworRkFJTDog Z2RiLmJhc2UvZm9sbC12Zm9yay5leHA6IGV4aXQ6IHZmb3JrIGNoaWxkIGZvbGxvdywgZmluaXNo IGFmdGVyIHRjYXRjaCB2Zm9yazogY29udGludWUgdG8gdmZvcmsKKworSXQgaGFwcGVucyBmb3Ig cGxhaW4gZ2RiLmJhc2UvZm9sbC12Zm9yay5leHAgcnVudGVzdCBvbiBGZWRvcmEgMjMgeDg2XzY0 LgorCistVGVtcG9yYXJ5IGNhdGNocG9pbnQgMiAodmZvcmtlZCBwcm9jZXNzIDI0NTYyKSwgdmZv cmsgKCkgYXQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3Zmb3JrLlM6NTJeTQor K1RlbXBvcmFyeSBjYXRjaHBvaW50IDIgKHZmb3JrZWQgcHJvY2VzcyAyNTM0NSksIHZmb3JrICgp IGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC92Zm9yay5TOjUyXk0KKyA1MiAg ICAgICAgICAgICBwdXNocSAgICVyZGleTQorIEN1cnJlbnQgbGFuZ3VhZ2U6ICBhdXRvXk0KKyBU aGUgY3VycmVudCBzb3VyY2UgbGFuZ3VhZ2UgaXMgImF1dG87IGN1cnJlbnRseSBhc20iLl5NCist KGdkYikgUEFTUzogZ2RiLmJhc2UvZm9sbC12Zm9yay5leHA6IGV4ZWM6IHZmb3JrIHBhcmVudCBm b2xsb3csIGZpbmlzaCBhZnRlciB0Y2F0Y2ggdmZvcms6IGNvbnRpbnVlIHRvIHZmb3JrCisrKGdk YikgRkFJTDogZ2RiLmJhc2UvZm9sbC12Zm9yay5leHA6IGV4ZWM6IHZmb3JrIHBhcmVudCBmb2xs b3csIGZpbmlzaCBhZnRlciB0Y2F0Y2ggdmZvcms6IGNvbnRpbnVlIHRvIHZmb3JrCisKKy1UZW1w b3JhcnkgY2F0Y2hwb2ludCAyICh2Zm9ya2VkIHByb2Nlc3MgMjQ2MjkpLCB2Zm9yayAoKSBhdCAu Li9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvdmZvcmsuUzo1Ml5NCisrVGVtcG9yYXJ5 IGNhdGNocG9pbnQgMiAodmZvcmtlZCBwcm9jZXNzIDI1NDExKSwgdmZvcmsgKCkgYXQgLi4vc3lz ZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3Zmb3JrLlM6NTJeTQorIDUyICAgICAgICAgICAg IHB1c2hxICAgJXJkaV5NCisgQ3VycmVudCBsYW5ndWFnZTogIGF1dG9eTQorIFRoZSBjdXJyZW50 IHNvdXJjZSBsYW5ndWFnZSBpcyAiYXV0bzsgY3VycmVudGx5IGFzbSIuXk0KKy0oZ2RiKSBQQVNT OiBnZGIuYmFzZS9mb2xsLXZmb3JrLmV4cDogZXhlYzogdmZvcmsgY2hpbGQgZm9sbG93LCBmaW5p c2ggYWZ0ZXIgdGNhdGNoIHZmb3JrOiBjb250aW51ZSB0byB2Zm9yaworKyhnZGIpIEZBSUw6IGdk Yi5iYXNlL2ZvbGwtdmZvcmsuZXhwOiBleGVjOiB2Zm9yayBjaGlsZCBmb2xsb3csIGZpbmlzaCBh ZnRlciB0Y2F0Y2ggdmZvcms6IGNvbnRpbnVlIHRvIHZmb3JrCisKKworU28gSSBoYXZlIHJldmVy dGVkIGl0IGFuZCBqdXN0IHNpbXBsaWZpZWQgdGhlIGNvbW1lbnQsIE9LIGZvciBjaGVjay1pbj8K KworVGhlIHRoaXJkIGNhc2UgaXMgbm90IG5lY2Vzc2FyeSBkdXJpbmcgdGVzdGluZyBidXQgSSBo YXZlIGNoYW5nZWQgYmFjayBhbGwgdGhlCiszIGNhc2VzLgorCisKK0phbgorCistLVBFSUFLdS9X TW4xYjFIdjkKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD11cy1hc2NpaQorQ29u dGVudC1EaXNwb3NpdGlvbjogaW5saW5lOyBmaWxlbmFtZT0xCisKK2dkYi90ZXN0c3VpdGUvQ2hh bmdlTG9nCisyMDE2LTAxLTA4ICBKYW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0b2NodmlsQHJlZGhh dC5jb20+CisKKwkqIGdkYi5iYXNlL2ZvbGwtdmZvcmsuZXhwICh0Y2F0Y2hfdmZvcmtfdGhlbl9w YXJlbnRfZm9sbG93KQorCSh0Y2F0Y2hfdmZvcmtfdGhlbl9jaGlsZF9mb2xsb3dfZXhlYykKKwko dGNhdGNoX3Zmb3JrX3RoZW5fY2hpbGRfZm9sbG93X2V4aXQpOiBSZXZlcnQgYmFjayBEV0FSRiB2 Zm9yaworCWlkZW50aWZpY2F0aW9uLgorCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS9mb2xsLXZmb3JrLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZm9sbC12Zm9yay5l eHAKK2luZGV4IGVmYTFiMzkuLmViYmU0YWQgMTAwNjQ0CistLS0gYS9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL2ZvbGwtdmZvcmsuZXhwCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZvbGwt dmZvcmsuZXhwCitAQCAtMjIyLDggKzIyMiwxNyBAQCBwcm9jIHRjYXRjaF92Zm9ya190aGVuX3Bh cmVudF9mb2xsb3cge30geworICAgIGdkYl90ZXN0X25vX291dHB1dCAic2V0IGZvbGxvdy1mb3Jr IHBhcmVudCIKKyAKKyAgICBnZGJfdGVzdCAidGNhdGNoIHZmb3JrIiAiQ2F0Y2hwb2ludCAuKih2 Zm9yaykuKiIKKy0gICBnZGJfdGVzdCAiY29udGludWUiICIweFxbMC05YS1mQS1GXF0qLioodmZv cmt8X19rZXJuZWxfdj9zeXNjYWxsKS4qIiBcCistCSJjb250aW51ZSB0byB2Zm9yayIKKysKKysg ICAjIEl0IG1heSBzdG9wIGluIGVpdGhlciAidmZvcmsiIG9yICJfdmZvcmsiLgorKyAgIHNldCB0 ZXN0ICJjb250aW51ZSB0byB2Zm9yayIKKysgICBnZGJfdGVzdF9tdWx0aXBsZSAiY29udGludWUi ICR0ZXN0IHsKKysgICAgICAtcmUgIjB4XFswLTlhLWZBLUZcXSouKih2Zm9ya3xfX2tlcm5lbF92 P3N5c2NhbGwpLiokZ2RiX3Byb21wdCAiIHsKKysJICBwYXNzICR0ZXN0CisrICAgICAgfQorKyAg ICAgIC1yZSAidmZvcmsgXFwoXFwpIGF0LiokZ2RiX3Byb21wdCAiIHsKKysJICBwYXNzICR0ZXN0 CisrICAgICAgfQorKyAgIH0KKyAKKyAgICBzZXQgbGluZW51bSBbZ2RiX2dldF9saW5lX251bWJl ciAicGlkID0gdmZvcmsgKCk7Il0KKyAgICBzZXQgdGVzdCAiZmluaXNoIgorQEAgLTI1NCw4ICsy NjMsMTcgQEAgcHJvYyB0Y2F0Y2hfdmZvcmtfdGhlbl9jaGlsZF9mb2xsb3dfZXhlYyB7fSB7Cisg ICAgZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJzZXQgZm9sbG93LWZvcmsgY2hpbGQiCisgCisgICAgZ2Ri X3Rlc3QgInRjYXRjaCB2Zm9yayIgIkNhdGNocG9pbnQgLioodmZvcmspLioiCistICAgZ2RiX3Rl c3QgImNvbnRpbnVlIiAiMHhcWzAtOWEtZkEtRlxdKi4qKHZmb3JrfF9fa2VybmVsX3Y/c3lzY2Fs bCkuKiIgXAorLQkiY29udGludWUgdG8gdmZvcmsiCisrCisrICAgIyBJdCBtYXkgc3RvcCBpbiBl aXRoZXIgInZmb3JrIiBvciAiX3Zmb3JrIi4KKysgICBzZXQgdGVzdCAiY29udGludWUgdG8gdmZv cmsiCisrICAgZ2RiX3Rlc3RfbXVsdGlwbGUgImNvbnRpbnVlIiAkdGVzdCB7CisrICAgICAgLXJl ICJ2Zm9yayBcXChcXCkgYXQgLiokZ2RiX3Byb21wdCAkIiB7CisrCSAgcGFzcyAkdGVzdAorKyAg ICAgIH0KKysgICAgICAtcmUgIjB4XFswLTlhLWZBLUZcXSouKih2Zm9ya3xfX2tlcm5lbF92P3N5 c2NhbGwpLiokZ2RiX3Byb21wdCAiIHsKKysJICBwYXNzICR0ZXN0CisrICAgICAgfQorKyAgIH0K KyAKKyAgICBzZXQgbGluZW51bTEgW2dkYl9nZXRfbGluZV9udW1iZXIgInBpZCA9IHZmb3JrICgp OyJdCisgICAgc2V0IGxpbmVudW0yIFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJwcmludGYoXCJIZWxs byBmcm9tIHZmb3JrZWQtcHJvZyIgJHtzcmNmaWxlMn1dCitAQCAtMjkwLDggKzMwOCwxNyBAQCBw cm9jIHRjYXRjaF92Zm9ya190aGVuX2NoaWxkX2ZvbGxvd19leGl0IHt9IHsKKyAgICBnZGJfdGVz dF9ub19vdXRwdXQgInNldCBmb2xsb3ctZm9yayBjaGlsZCIKKyAKKyAgICBnZGJfdGVzdCAidGNh dGNoIHZmb3JrIiAiQ2F0Y2hwb2ludCAuKih2Zm9yaykuKiIKKy0gICBnZGJfdGVzdCAiY29udGlu dWUiICIweFxbMC05YS1mQS1GXF0qLioodmZvcmt8X19rZXJuZWxfdj9zeXNjYWxsKS4qIiBcCist CSJjb250aW51ZSB0byB2Zm9yayIKKysKKysgICAjIEl0IG1heSBzdG9wIGluIGVpdGhlciAidmZv cmsiIG9yICJfdmZvcmsiLgorKyAgIHNldCB0ZXN0ICJjb250aW51ZSB0byB2Zm9yayIKKysgICBn ZGJfdGVzdF9tdWx0aXBsZSAiY29udGludWUiICR0ZXN0IHsKKysgICAgICAtcmUgInZmb3JrIFxc KFxcKSBhdCAuKiRnZGJfcHJvbXB0ICQiIHsKKysJICBwYXNzICR0ZXN0CisrICAgICAgfQorKyAg ICAgIC1yZSAiMHhcWzAtOWEtZkEtRlxdKi4qKHZmb3JrfF9fa2VybmVsX3Y/c3lzY2FsbCkuKiRn ZGJfcHJvbXB0ICIgeworKwkgIHBhc3MgJHRlc3QKKysgICAgICB9CisrICAgfQorIAorICAgIHNl dCB0ZXN0ICJmaW5pc2giCisgICAgZ2RiX3Rlc3RfbXVsdGlwbGUgImZpbmlzaCIgJHRlc3Qgewor CistLVBFSUFLdS9XTW4xYjFIdjktLQorCgpkaWZmIC0tZ2l0IGEvZ2RiLXRlc3RzdWl0ZS1mdW5j YXJncy1tMzIucGF0Y2ggYi9nZGItdGVzdHN1aXRlLWZ1bmNhcmdzLW0zMi5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YTI2OGQ4Ci0tLSAvZGV2L251bGwKKysrIGIv Z2RiLXRlc3RzdWl0ZS1mdW5jYXJncy1tMzIucGF0Y2gKQEAgLTAsMCArMSw4OCBAQAoraHR0cDov L3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTYtMDEvbXNnMDAxNDAuaHRtbAorU3Vi amVjdDogW3Rlc3RzdWl0ZSBwYXRjaF0gaTM4NiByZWdyZXNzaW9uIGZvciBmdW5jYXJncy5leHAg IFtSZTogW1BBVENIIDMvM10gUmVtb3ZlIEhQLVVYIHJlZmVyZW5jZXMgZm9tIHRlc3RzdWl0ZV0K KworCistLUVlUWZHd1BjUVNPSkJhUVUKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNl dD11cy1hc2NpaQorQ29udGVudC1EaXNwb3NpdGlvbjogaW5saW5lCisKK09uIE1vbiwgMjEgRGVj IDIwMTUgMTg6NTI6NTkgKzAxMDAsIFNpbW9uIE1hcmNoaSB3cm90ZToKKz4gT2ssIEkgcHVzaGVk IHRoaXMgb25lIGluLiAgVGhhbmtzIQorCiszY2EyMjY0OWE2ZGZlYjcxMDU4YzMzYmU0ZDA1NDJi OThmMWYwZmY1IGlzIHRoZSBmaXJzdCBiYWQgY29tbWl0Citjb21taXQgM2NhMjI2NDlhNmRmZWI3 MTA1OGMzM2JlNGQwNTQyYjk4ZjFmMGZmNQorQXV0aG9yOiBTaW1vbiBNYXJjaGkgPHNpbW9uLm1h cmNoaUBwb2x5bXRsLmNhPgorRGF0ZTogICBNb24gRGVjIDIxIDEyOjUxOjU0IDIwMTUgLTA1MDAK KyAgICBSZW1vdmUgSFAtVVggcmVmZXJlbmNlcyBmb20gdGVzdHN1aXRlCisjIyMgYS9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL2Z1bmNhcmdzLmV4cAorIyMjIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS9mdW5jYXJncy5leHAKK0BAIC0xMDEzLDEzICsxMDEzLDYgQEAgcHJvYyBsb2NhbHZhcnNfaW5f aW5kaXJlY3RfY2FsbCB7IH0geworICAgICAjCisgCisgICAgIGdkYl90ZXN0X211bHRpcGxlICJm aW5pc2giICJmaW5pc2ggZnJvbSBpbmRpcmVjdGx5IGNhbGxlZCBmdW5jdGlvbiIgeworLQktcmUg IlxcKFxcKnBvaW50ZXJfdG9fY2FsbDBhXFwpIFxcKGMsIHMsIGksIGxcXCk7LipGaXJzdC4qJGdk Yl9wcm9tcHQgJCIgeworLQkgICAgI09uIGhwcGEyLjB3LWhwLWhwdXgxMS4wMCwgZ2RiIGZpbmlz aGVzIGF0IG9uZSBsaW5lIGVhcmxpZXIgdGhhbiAKKy0JICAgICNocHBhMS4xLWhwLWhwdXgxMS4w MC4gVGhlcmVmb3JlLCBhbiBleHRyYSAic3RlcCIgaXMgbmVjZXNzYXJ5IAorLQkgICAgI3RvIGNv bnRpbnVlIHRoZSB0ZXN0LgorLQkgICAgc2VuZF9nZGIgInN0ZXBcbiIKKy0JICAgIGV4cF9jb250 aW51ZQorLQl9CisgCS1yZSAiLipcXChcXCpwb2ludGVyX3RvX2NhbGwwYVxcKSBcXChjLCBzLCBp LCBsXFwpOy4qU2Vjb25kLiokZ2RiX3Byb21wdCAkIiB7CisgCSAgICBwYXNzICJmaW5pc2ggZnJv bSBpbmRpcmVjdGx5IGNhbGxlZCBmdW5jdGlvbiIKKyAJfQorCistPgorCisgZmluaXNoXk0KKyBS dW4gdGlsbCBleGl0IGZyb20gIzAgIGNhbGwwYSAoYz05NyAnYScsIHM9MSwgaT0yLCBsPTMpIGF0 IC4vZ2RiLmJhc2UvZnVuY2FyZ3MuYzo4Ml5NCisgMHgwODA0YTE4OSBpbiBtYWluICgpIGF0IC4v Z2RiLmJhc2UvZnVuY2FyZ3MuYzo1ODNeTQorIDU4MyAgICAgICgqcG9pbnRlcl90b19jYWxsMGEp IChjLCBzLCBpLCBsKTsgICAgLyogRmlyc3Qgc3RlcCBpbnRvIGNhbGwwYS4gICovXk0KKy0oZ2Ri KSBzdGVwXk0KKy01ODQgICAgICAoKnBvaW50ZXJfdG9fY2FsbDBhKSAoYywgcywgaSwgbCk7ICAg IC8qIFNlY29uZCBzdGVwIGludG8gY2FsbDBhLiAgKi9eTQorLShnZGIpIFBBU1M6IGdkYi5iYXNl L2Z1bmNhcmdzLmV4cDogZmluaXNoIGZyb20gaW5kaXJlY3RseSBjYWxsZWQgZnVuY3Rpb24KKyso Z2RiKSBGQUlMOiBnZGIuYmFzZS9mdW5jYXJncy5leHA6IGZpbmlzaCBmcm9tIGluZGlyZWN0bHkg Y2FsbGVkIGZ1bmN0aW9uCisgc3RlcF5NCistY2FsbDBhIChjPTk3ICdhJywgcz0xLCBpPTIsIGw9 MykgYXQgLi9nZGIuYmFzZS9mdW5jYXJncy5jOjgyXk0KKy04MiAgICAgICBjID0gJ2EnO15NCist KGdkYikgUEFTUzogZ2RiLmJhc2UvZnVuY2FyZ3MuZXhwOiBzdGVwcGluZyBpbnRvIGluZGlyZWN0 bHkgY2FsbGVkIGZ1bmN0aW9uCisrNTg0ICAgICAgKCpwb2ludGVyX3RvX2NhbGwwYSkgKGMsIHMs IGksIGwpOyAgICAvKiBTZWNvbmQgc3RlcCBpbnRvIGNhbGwwYS4gICovXk0KKysoZ2RiKSBGQUlM OiBnZGIuYmFzZS9mdW5jYXJncy5leHA6IHN0ZXBwaW5nIGludG8gaW5kaXJlY3RseSBjYWxsZWQg ZnVuY3Rpb24KKworQXQgbGVhc3Qgb24geDg2XzY0IHdpdGggdGVzdHN1aXRlIGluIC1tMzIgKGV4 cGVjdGluZyBuYXRpdmUgaTM4NiB3b3VsZCBiZSB0aGUKK3NhbWUpLgorCitPSyBmb3IgY2hlY2st aW4/CisKKworSmFuCisKKy0tRWVRZkd3UGNRU09KQmFRVQorQ29udGVudC1UeXBlOiB0ZXh0L3Bs YWluOyBjaGFyc2V0PXVzLWFzY2lpCitDb250ZW50LURpc3Bvc2l0aW9uOiBpbmxpbmU7IGZpbGVu YW1lPTEKKworZ2RiL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cKKzIwMTYtMDEtMDggIEphbiBLcmF0b2No dmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KKworCSogZ2RiLmJhc2UvZnVuY2FyZ3Mu ZXhwIChmaW5pc2ggZnJvbSBpbmRpcmVjdGx5IGNhbGxlZCBmdW5jdGlvbik6CisJUmVpbnRyb2R1 Y2UgdGhlIGNhc2UgZm9yICdGaXJzdCcuCisKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL2Z1bmNhcmdzLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZnVuY2FyZ3MuZXhw CitpbmRleCBlNWI2Y2VkLi5hNDc2MTY5IDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS9mdW5jYXJncy5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZnVuY2FyZ3Mu ZXhwCitAQCAtMTAxMyw2ICsxMDEzLDEyIEBAIHByb2MgbG9jYWx2YXJzX2luX2luZGlyZWN0X2Nh bGwgeyB9IHsKKyAgICAgIworIAorICAgICBnZGJfdGVzdF9tdWx0aXBsZSAiZmluaXNoIiAiZmlu aXNoIGZyb20gaW5kaXJlY3RseSBjYWxsZWQgZnVuY3Rpb24iIHsKKysJLXJlICJcXChcXCpwb2lu dGVyX3RvX2NhbGwwYVxcKSBcXChjLCBzLCBpLCBsXFwpOy4qRmlyc3QuKiRnZGJfcHJvbXB0ICQi IHsKKysJICAgICMgT24gaTM4NiwgZ2RiIGZpbmlzaGVzIGF0IG9uZSBsaW5lIGVhcmxpZXIgdGhh biBvbiB4ODZfNjQuCisrCSAgICAjIFRoZXJlZm9yZSwgYW4gZXh0cmEgInN0ZXAiIGlzIG5lY2Vz c2FyeSB0byBjb250aW51ZSB0aGUgdGVzdC4KKysJICAgIHNlbmRfZ2RiICJzdGVwXG4iCisrCSAg ICBleHBfY29udGludWUKKysJfQorIAktcmUgIi4qXFwoXFwqcG9pbnRlcl90b19jYWxsMGFcXCkg XFwoYywgcywgaSwgbFxcKTsuKlNlY29uZC4qJGdkYl9wcm9tcHQgJCIgeworIAkgICAgcGFzcyAi ZmluaXNoIGZyb20gaW5kaXJlY3RseSBjYWxsZWQgZnVuY3Rpb24iCisgCX0KKworLS1FZVFmR3dQ Y1FTT0pCYVFVLS0KKwoKZGlmZiAtLWdpdCBhL2dkYi10ZXN0c3VpdGUtbXVsdGktYmFzZS13YXJu aW5ncy5wYXRjaCBiL2dkYi10ZXN0c3VpdGUtbXVsdGktYmFzZS13YXJuaW5ncy5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMjYxZWQyCi0tLSAvZGV2L251bGwKKysr IGIvZ2RiLXRlc3RzdWl0ZS1tdWx0aS1iYXNlLXdhcm5pbmdzLnBhdGNoCkBAIC0wLDAgKzEsMTQx IEBACitodHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxNi0wMS9tc2cwMDEz Ny5odG1sCitTdWJqZWN0OiBbdGVzdHN1aXRlIHBhdGNoXSBGaXggZ2RiLm11bHRpL2Jhc2UuZXhw IHRlc3RzdWl0ZSByZWdyZXNzaW9uICBbUmU6IFtvYi9wdXNoZWRdIFN0b3AgdXNpbmcgbm93YXJu aW5ncyBpbiBnZGIvdGVzdHN1aXRlL2dkYi5tdWx0aS9dCisKKworLS1mZGoyUmZTakx4QkFzcHo3 CitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9dXMtYXNjaWkKK0NvbnRlbnQtRGlz cG9zaXRpb246IGlubGluZQorCitPbiBUaHUsIDEwIERlYyAyMDE1IDE3OjMxOjExICswMTAwLCBQ ZWRybyBBbHZlcyB3cm90ZToKKz4gU2V2ZXJhbCBvZiB0aGUgZ2RiLm11bHRpIHRlc3RzIHVzZSB0 aGUgIm5vd2FybmluZ3MiIG9wdGlvbiB0byBzdXBwcmVzcworPiB3YXJuaW5ncy4KKworY29tbWl0 IDc2MmY3NzQ3ODVmNGVmODc4YWM0YzgzMWUxZjQ3MzNkYzk1NzIzNGQKK0F1dGhvcjogUGVkcm8g QWx2ZXMgPHBhbHZlc0ByZWRoYXQuY29tPgorRGF0ZTogICBUaHUgRGVjIDEwIDE2OjIxOjA2IDIw MTUgKzAwMDAKKyAgICBTdG9wIHVzaW5nIG5vd2FybmluZ3MgaW4gZ2RiL3Rlc3RzdWl0ZS9nZGIu bXVsdGkvCisKKytnZGIgY29tcGlsZSBmYWlsZWQsIGdkYi90ZXN0c3VpdGUvZ2RiLm11bHRpL2hl bGxvLmM6IEluIGZ1bmN0aW9uICdjb21tb25mdW4nOgorK2dkYi90ZXN0c3VpdGUvZ2RiLm11bHRp L2hlbGxvLmM6MjQ6MTk6IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9u ICdiYXInIFstV2ltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQorKyBpbnQgY29tbW9uZnVu KCkgeyBiYXIoKTsgfSAvKiBmcm9tIGhlbGxvICovCisrICAgICAgICAgICAgICAgICAgIF4KKytn ZGIvdGVzdHN1aXRlL2dkYi5tdWx0aS9oZWxsby5jOiBBdCB0b3AgbGV2ZWw6CisrZ2RiL3Rlc3Rz dWl0ZS9nZGIubXVsdGkvaGVsbG8uYzoyNjoxOiB3YXJuaW5nOiByZXR1cm4gdHlwZSBkZWZhdWx0 cyB0byAnaW50JyBbLVdpbXBsaWNpdC1pbnRdCisrIGJhcigpCisrIF4KKytnZGIvdGVzdHN1aXRl L2dkYi5tdWx0aS9oZWxsby5jOjMyOjE6IHdhcm5pbmc6IHJldHVybiB0eXBlIGRlZmF1bHRzIHRv ICdpbnQnIFstV2ltcGxpY2l0LWludF0KKysgaGVsbG8oaW50IHgpCisrIF4KKytnZGIvdGVzdHN1 aXRlL2dkYi5tdWx0aS9oZWxsby5jOjM4OjE6IHdhcm5pbmc6IHJldHVybiB0eXBlIGRlZmF1bHRz IHRvICdpbnQnIFstV2ltcGxpY2l0LWludF0KKysgbWFpbigpCisrIF4KKytVTlRFU1RFRDogZ2Ri Lm11bHRpL2Jhc2UuZXhwOiBiYXNlLmV4cAorCisKK09LIGZvciBjaGVjay1pbj8KKworCitKYW4K KworLS1mZGoyUmZTakx4QkFzcHo3CitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9 dXMtYXNjaWkKK0NvbnRlbnQtRGlzcG9zaXRpb246IGlubGluZTsgZmlsZW5hbWU9MQorCitnZGIv dGVzdHN1aXRlL0NoYW5nZUxvZworMjAxNi0wMS0wOCAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3Jh dG9jaHZpbEByZWRoYXQuY29tPgorCisJKiBnZGIubXVsdGkvZ29vZGJ5ZS5jOiBGaXggY29tcGls YXRpb24gd2FybmluZ3MgYnkgYWRkaW5nIHJldHVybiB0eXBlcworCWFuZCByZW9yZGVyaW5nIHRo ZSBmdW5jdGlvbnMuCisJKiBnZGIubXVsdGkvaGFuZ291dC5jOiBMaWtld2lzZS4KKwkqIGdkYi5t dWx0aS9oZWxsby5jOiBMaWtld2lzZS4KKworZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2Ri Lm11bHRpL2dvb2RieWUuYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLm11bHRpL2dvb2RieWUuYworaW5k ZXggNzAxZTUwNC4uYmY3NzU5YSAxMDA2NDQKKy0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLm11bHRp L2dvb2RieWUuYworKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIubXVsdGkvZ29vZGJ5ZS5jCitAQCAt MzksMjQgKzM5LDI4IEBAIGludCB2ZXJ5bG9uZ2Z1bigpCisgICBnbG9iICo9IDk7CisgfQorIAor LW1haW4oKSB7CistICBtYWlsYW5kKCk7CistICBmb28oZ2xvYik7CistICB2ZXJ5bG9uZ2Z1bigp OworLSAgZ29vZGJ5ZSgpOworLX0KKy0KKy1mb28oaW50IHgpIHsKKy0gIHJldHVybiB4ICsgOTI7 CistfQorLQorK3ZvaWQKKyBtYWlsYW5kKCkKKyB7CisgICBnbG9iID0gNDY7CisgfQorIAorLXZv aWQgY29tbW9uZnVuKCkgeyBtYWlsYW5kKCk7IH0gLyogZnJvbSBnb29kYnllICovCisraW50Cisr Zm9vKGludCB4KSB7CisrICByZXR1cm4geCArIDkyOworK30KKyAKKyt2b2lkCisgZ29vZGJ5ZSgp IHsKKyAgICsrZ2xvYjsKKyB9CisrCisraW50CisrbWFpbigpIHsKKysgIG1haWxhbmQoKTsKKysg IGZvbyhnbG9iKTsKKysgIHZlcnlsb25nZnVuKCk7CisrICBnb29kYnllKCk7CisrfQorKworK3Zv aWQgY29tbW9uZnVuKCkgeyBtYWlsYW5kKCk7IH0gLyogZnJvbSBnb29kYnllICovCitkaWZmIC0t Z2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIubXVsdGkvaGFuZ291dC5jIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIubXVsdGkvaGFuZ291dC5jCitpbmRleCBlMmM0MWI4Li4zNzAxNTEyIDEwMDY0NAorLS0tIGEv Z2RiL3Rlc3RzdWl0ZS9nZGIubXVsdGkvaGFuZ291dC5jCisrKysgYi9nZGIvdGVzdHN1aXRlL2dk Yi5tdWx0aS9oYW5nb3V0LmMKK0BAIC0xNyw2ICsxNyw3IEBACisgCisgI2luY2x1ZGUgPHN0ZGlv Lmg+CisgCisraW50CisgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQorIHsKKyAgIGludCBp OworZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLm11bHRpL2hlbGxvLmMgYi9nZGIvdGVz dHN1aXRlL2dkYi5tdWx0aS9oZWxsby5jCitpbmRleCBlZmZmNTlkLi45M2Q5MjFmIDEwMDY0NAor LS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIubXVsdGkvaGVsbG8uYworKysrIGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIubXVsdGkvaGVsbG8uYworQEAgLTIxLDIwICsyMSwyMyBAQCBzaG9ydCBoZ2xvYiA9IDE7 CisgCisgc2hvcnQgZ2xvYiA9IDkyOworIAorLWludCBjb21tb25mdW4oKSB7IGJhcigpOyB9IC8q IGZyb20gaGVsbG8gKi8KKy0KKyt2b2lkCisgYmFyKCkKKyB7CisgICBpZiAoZ2xvYiA9PSAwKQor ICAgICBleGl0KDEpOworIH0KKyAKKytpbnQgY29tbW9uZnVuKCkgeyBiYXIoKTsgfSAvKiBmcm9t IGhlbGxvICovCisrCisraW50CisgaGVsbG8oaW50IHgpCisgeworICAgeCAqPSAyOworICAgcmV0 dXJuIHggKyA0NTsKKyB9CisgCisraW50CisgbWFpbigpCisgeworICAgaW50IHRtcHg7CisKKy0t ZmRqMlJmU2pMeEJBc3B6Ny0tCisKCmRpZmYgLS1naXQgYS9nZGItdmxhLWludGVsLnBhdGNoIGIv Z2RiLXZsYS1pbnRlbC5wYXRjaAppbmRleCAzMzYxNTg1Li45MjVmNDAxIDEwMDY0NAotLS0gYS9n ZGItdmxhLWludGVsLnBhdGNoCisrKyBiL2dkYi12bGEtaW50ZWwucGF0Y2gKQEAgLTYsMTEgKzYs MTEgQEAgR0lUIHNuYXBzaG90OgogY29tbWl0IDUxMWJmZjUyMDM3MmZmYzEwZmEyZmY1NjljMTc2 YmRmMWU2ZTQ3NWQKIAogCi1JbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL2MtdmFscHJp bnQuYworSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9jLXZhbHByaW50LmMKID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItNy4xMC41MC4yMDE1MTAyNy5vcmlnL2dkYi9jLXZhbHByaW50LmMJMjAx NS0xMC0yNyAwMjo0ODozMS4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4xMC41MC4yMDE1MTAy Ny9nZGIvYy12YWxwcmludC5jCTIwMTUtMTEtMDMgMjE6MTM6MzUuOTU5MzM5MTEzICswMTAwCi1A QCAtNjQyLDcgKzY0MiwxNiBAQCBjX3ZhbHVlX3ByaW50IChzdHJ1Y3QgdmFsdWUgKnZhbCwgc3Ry dWN0CistLS0gZ2RiLTcuMTAuNTAuMjAxNjAxMDYub3JpZy9nZGIvYy12YWxwcmludC5jCTIwMTYt MDEtMDggMTk6MTU6MzUuMDY1NTgyMzU5ICswMTAwCisrKysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYv Z2RiL2MtdmFscHJpbnQuYwkyMDE2LTAxLTA4IDE5OjE1OjQ0Ljk3NDYzNzYzMCArMDEwMAorQEAg LTY0Miw3ICs2NDIsMTYgQEAKICAJewogIAkgIC8qIG5vcm1hbCBjYXNlICovCiAgCSAgZnByaW50 Zl9maWx0ZXJlZCAoc3RyZWFtLCAiKCIpOwpAQCAtMjgsMTEgKzI4LDExIEBAIEluZGV4OiBnZGIt Ny4xMC41MC4yMDE1MTAyNy9nZGIvYy12YWxwcmludC5jCiAgCSAgZnByaW50Zl9maWx0ZXJlZCAo c3RyZWFtLCAiKSAiKTsKICAJfQogICAgICB9Ci1JbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcv Z2RiL2R3YXJmMmxvYy5oCitJbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL2R3YXJmMmxv Yy5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTEwMjcub3JpZy9nZGIvZHdhcmYy bG9jLmgJMjAxNS0xMC0yNyAwMjo0ODozMS4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4xMC41 MC4yMDE1MTAyNy9nZGIvZHdhcmYybG9jLmgJMjAxNS0xMS0wMyAyMDo0MTo0OC41MzM1MDQ5NDEg KzAxMDAKLUBAIC0xMzgsNiArMTM4LDExIEBAIGludCBkd2FyZjJfZXZhbHVhdGVfcHJvcGVydHkg KGNvbnN0IHN0cnUKKy0tLSBnZGItNy4xMC41MC4yMDE2MDEwNi5vcmlnL2dkYi9kd2FyZjJsb2Mu aAkyMDE2LTAxLTA4IDE5OjE1OjM1LjA2NjU4MjM2NSArMDEwMAorKysrIGdkYi03LjEwLjUwLjIw MTYwMTA2L2dkYi9kd2FyZjJsb2MuaAkyMDE2LTAxLTA4IDE5OjE1OjQ0Ljk3NDYzNzYzMCArMDEw MAorQEAgLTEzOCw2ICsxMzgsMTEgQEAKICAJCQkgICAgICBzdHJ1Y3QgcHJvcGVydHlfYWRkcl9p bmZvICphZGRyX3N0YWNrLAogIAkJCSAgICAgIENPUkVfQUREUiAqdmFsdWUpOwogIApAQCAtNDQs MTEgKzQ0LDExIEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvZHdhcmYybG9jLmgK ICAvKiBBIGhlbHBlciBmb3IgdGhlIGNvbXBpbGVyIGludGVyZmFjZSB0aGF0IGNvbXBpbGVzIGEg c2luZ2xlIGR5bmFtaWMKICAgICBwcm9wZXJ0eSB0byBDIGNvZGUuCiAgCi1JbmRleDogZ2RiLTcu MTAuNTAuMjAxNTEwMjcvZ2RiL2R3YXJmMnJlYWQuYworSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYw MTA2L2dkYi9kd2FyZjJyZWFkLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMC41MC4yMDE1MTAy Ny5vcmlnL2dkYi9kd2FyZjJyZWFkLmMJMjAxNS0xMC0yNyAwMjo0ODozMS4wMDAwMDAwMDAgKzAx MDAKLSsrKyBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvZHdhcmYycmVhZC5jCTIwMTUtMTEtMDMg MjE6MTM6MzguMjE2MzQ5ODAwICswMTAwCi1AQCAtMTc0NSw3ICsxNzQ1LDkgQEAgc3RhdGljIHZv aWQgcmVhZF9zaWduYXR1cmVkX3R5cGUgKHN0cnVjdAorLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2 Lm9yaWcvZ2RiL2R3YXJmMnJlYWQuYwkyMDE2LTAxLTA4IDE5OjE1OjM1LjA3ODU4MjQzMiArMDEw MAorKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9kd2FyZjJyZWFkLmMJMjAxNi0wMS0wOCAx OToxNTo0NC45ODA2Mzc2NjMgKzAxMDAKK0BAIC0xNzQ1LDcgKzE3NDUsOSBAQAogIAogIHN0YXRp YyBpbnQgYXR0cl90b19keW5hbWljX3Byb3AgKGNvbnN0IHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIs CiAgCQkJCSBzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UsCkBAIC01 OSw3ICs1OSw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvZHdhcmYycmVhZC5j CiAgCiAgLyogbWVtb3J5IGFsbG9jYXRpb24gaW50ZXJmYWNlICovCiAgCi1AQCAtMTE0MjAsNyAr MTE0MjIsNyBAQCByZWFkX2Z1bmNfc2NvcGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzCitAQCAt MTE0MjAsNyArMTE0MjIsNyBAQAogICAgICB7CiAgICAgICAgbmV3b2JqLT5zdGF0aWNfbGluawog IAk9IFhPQk5FVyAoJm9iamZpbGUtPm9iamZpbGVfb2JzdGFjaywgc3RydWN0IGR5bmFtaWNfcHJv cCk7CkBAIC02OCw3ICs2OCw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvZHdh cmYycmVhZC5jCiAgICAgIH0KICAKICAgIGN1LT5saXN0X2luX3Njb3BlID0gJmxvY2FsX3N5bWJv bHM7Ci1AQCAtMTQ0NzEsMjkgKzE0NDczLDkyIEBAIHJlYWRfdGFnX3N0cmluZ190eXBlIChzdHJ1 Y3QgZGllX2luZm8gKmQKK0BAIC0xNDQ3MSwyOSArMTQ0NzMsOTIgQEAKICAgIHN0cnVjdCBnZGJh cmNoICpnZGJhcmNoID0gZ2V0X29iamZpbGVfYXJjaCAob2JqZmlsZSk7CiAgICBzdHJ1Y3QgdHlw ZSAqdHlwZSwgKnJhbmdlX3R5cGUsICppbmRleF90eXBlLCAqY2hhcl90eXBlOwogICAgc3RydWN0 IGF0dHJpYnV0ZSAqYXR0cjsKQEAgLTE2OCw3ICsxNjgsNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAu MjAxNTEwMjcvZ2RiL2R3YXJmMnJlYWQuYwogICAgY2hhcl90eXBlID0gbGFuZ3VhZ2Vfc3RyaW5n X2NoYXJfdHlwZSAoY3UtPmxhbmd1YWdlX2RlZm4sIGdkYmFyY2gpOwogICAgdHlwZSA9IGNyZWF0 ZV9zdHJpbmdfdHlwZSAoTlVMTCwgY2hhcl90eXBlLCByYW5nZV90eXBlKTsKICAKLUBAIC0xNDgx NiwxMyArMTQ4ODEsMTUgQEAgcmVhZF9iYXNlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBz dAorQEAgLTE0ODE2LDEzICsxNDg4MSwxNSBAQAogICAgcmV0dXJuIHNldF9kaWVfdHlwZSAoZGll LCB0eXBlLCBjdSk7CiAgfQogIApAQCAtMTg1LDcgKzE4NSw3IEBAIEluZGV4OiBnZGItNy4xMC41 MC4yMDE1MTAyNy9nZGIvZHdhcmYycmVhZC5jCiAgewogICAgc3RydWN0IGR3YXJmMl9wcm9wZXJ0 eV9iYXRvbiAqYmF0b247CiAgICBzdHJ1Y3Qgb2JzdGFjayAqb2JzdGFjayA9ICZjdS0+b2JqZmls ZS0+b2JqZmlsZV9vYnN0YWNrOwotQEAgLTE0ODM1LDggKzE0OTAyLDI1IEBAIGF0dHJfdG9fZHlu YW1pY19wcm9wIChjb25zdCBzdHJ1Y3QgYXR0cmkKK0BAIC0xNDgzNSw4ICsxNDkwMiwyNSBAQAog ICAgICAgIGJhdG9uID0gWE9CTkVXIChvYnN0YWNrLCBzdHJ1Y3QgZHdhcmYyX3Byb3BlcnR5X2Jh dG9uKTsKICAgICAgICBiYXRvbi0+cmVmZXJlbmNlZF90eXBlID0gTlVMTDsKICAgICAgICBiYXRv bi0+bG9jZXhwci5wZXJfY3UgPSBjdS0+cGVyX2N1OwpAQCAtMjEzLDcgKzIxMyw3IEBAIEluZGV4 OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvZHdhcmYycmVhZC5jCiAgICAgICAgcHJvcC0+ZGF0 YS5iYXRvbiA9IGJhdG9uOwogICAgICAgIHByb3AtPmtpbmQgPSBQUk9QX0xPQ0VYUFI7CiAgICAg ICAgZ2RiX2Fzc2VydCAocHJvcC0+ZGF0YS5iYXRvbiAhPSBOVUxMKTsKLUBAIC0xNDg3Miw4ICsx NDk1NiwyOCBAQCBhdHRyX3RvX2R5bmFtaWNfcHJvcCAoY29uc3Qgc3RydWN0IGF0dHJpCitAQCAt MTQ4NzIsOCArMTQ5NTYsMjggQEAKICAJCWJhdG9uID0gWE9CTkVXIChvYnN0YWNrLCBzdHJ1Y3Qg ZHdhcmYyX3Byb3BlcnR5X2JhdG9uKTsKICAJCWJhdG9uLT5yZWZlcmVuY2VkX3R5cGUgPSBkaWVf dHlwZSAodGFyZ2V0X2RpZSwgdGFyZ2V0X2N1KTsKICAJCWJhdG9uLT5sb2NleHByLnBlcl9jdSA9 IGN1LT5wZXJfY3U7CkBAIC0yNDQsNyArMjQ0LDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUx MDI3L2dkYi9kd2FyZjJyZWFkLmMKICAJCXByb3AtPmRhdGEuYmF0b24gPSBiYXRvbjsKICAJCXBy b3AtPmtpbmQgPSBQUk9QX0xPQ0VYUFI7CiAgCQlnZGJfYXNzZXJ0IChwcm9wLT5kYXRhLmJhdG9u ICE9IE5VTEwpOwotQEAgLTE0OTI3LDcgKzE1MDMxLDcgQEAgcmVhZF9zdWJyYW5nZV90eXBlIChz dHJ1Y3QgZGllX2luZm8gKmRpZQorQEAgLTE0OTI3LDcgKzE1MDMxLDcgQEAKICAgIHN0cnVjdCB0 eXBlICpiYXNlX3R5cGUsICpvcmlnX2Jhc2VfdHlwZTsKICAgIHN0cnVjdCB0eXBlICpyYW5nZV90 eXBlOwogICAgc3RydWN0IGF0dHJpYnV0ZSAqYXR0cjsKQEAgLTI1Myw3ICsyNTMsNyBAQCBJbmRl eDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL2R3YXJmMnJlYWQuYwogICAgaW50IGxvd19kZWZh dWx0X2lzX3ZhbGlkOwogICAgaW50IGhpZ2hfYm91bmRfaXNfY291bnQgPSAwOwogICAgY29uc3Qg Y2hhciAqbmFtZTsKLUBAIC0xNDk0Nyw3ICsxNTA1MSw5IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAo c3RydWN0IGRpZV9pbmZvICpkaWUKK0BAIC0xNDk0Nyw3ICsxNTA1MSw5IEBACiAgCiAgICBsb3cu a2luZCA9IFBST1BfQ09OU1Q7CiAgICBoaWdoLmtpbmQgPSBQUk9QX0NPTlNUOwpAQCAtMjYzLDcg KzI2Myw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvZHdhcmYycmVhZC5jCiAg CiAgICAvKiBTZXQgTE9XX0RFRkFVTFRfSVNfVkFMSUQgaWYgY3VycmVudCBsYW5ndWFnZSBhbmQg RFdBUkYgdmVyc2lvbiBhbGxvdwogICAgICAgb21pdHRpbmcgRFdfQVRfbG93ZXJfYm91bmQuICAq LwotQEAgLTE0OTgwLDE5ICsxNTA4NiwyNiBAQCByZWFkX3N1YnJhbmdlX3R5cGUgKHN0cnVjdCBk aWVfaW5mbyAqZGllCitAQCAtMTQ5ODAsMTkgKzE1MDg2LDI2IEBACiAgICAgICAgYnJlYWs7CiAg ICAgIH0KICAKQEAgLTI5Myw3ICsyOTMsNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcv Z2RiL2R3YXJmMnJlYWQuYwogIAl7CiAgCSAgLyogSWYgYm91bmRzIGFyZSBjb25zdGFudCBkbyB0 aGUgZmluYWwgY2FsY3VsYXRpb24gaGVyZS4gICovCiAgCSAgaWYgKGxvdy5raW5kID09IFBST1Bf Q09OU1QgJiYgaGlnaC5raW5kID09IFBST1BfQ09OU1QpCi1AQCAtMTUwNTYsNyArMTUxNjksNyBA QCByZWFkX3N1YnJhbmdlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllCitAQCAtMTUwNTYsNyAr MTUxNjksNyBAQAogICAgICAgICYmICFUWVBFX1VOU0lHTkVEIChiYXNlX3R5cGUpICYmIChoaWdo LmRhdGEuY29uc3RfdmFsICYgbmVnYXRpdmVfbWFzaykpCiAgICAgIGhpZ2guZGF0YS5jb25zdF92 YWwgfD0gbmVnYXRpdmVfbWFzazsKICAKQEAgLTMwMiw3ICszMDIsNyBAQCBJbmRleDogZ2RiLTcu MTAuNTAuMjAxNTEwMjcvZ2RiL2R3YXJmMnJlYWQuYwogIAogICAgaWYgKGhpZ2hfYm91bmRfaXNf Y291bnQpCiAgICAgIFRZUEVfUkFOR0VfREFUQSAocmFuZ2VfdHlwZSktPmZsYWdfdXBwZXJfYm91 bmRfaXNfY291bnQgPSAxOwotQEAgLTIyMzYwLDcgKzIyNDczLDcgQEAgc2V0X2RpZV90eXBlIChz dHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydQorQEAgLTIyMzYwLDcgKzIyNDczLDcgQEAKICAgIGF0 dHIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF9hbGxvY2F0ZWQsIGN1KTsKICAgIGlmIChhdHRy X2Zvcm1faXNfYmxvY2sgKGF0dHIpKQogICAgICB7CkBAIC0zMTEsNyArMzExLDcgQEAgSW5kZXg6 IGdkYi03LjEwLjUwLjIwMTUxMDI3L2dkYi9kd2FyZjJyZWFkLmMKICAgICAgICAgIGFkZF9keW5f cHJvcCAoRFlOX1BST1BfQUxMT0NBVEVELCBwcm9wLCB0eXBlLCBvYmpmaWxlKTsKICAgICAgfQog ICAgZWxzZSBpZiAoYXR0ciAhPSBOVUxMKQotQEAgLTIyMzc1LDcgKzIyNDg4LDcgQEAgc2V0X2Rp ZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydQorQEAgLTIyMzc1LDcgKzIyNDg4LDcg QEAKICAgIGF0dHIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF9hc3NvY2lhdGVkLCBjdSk7CiAg ICBpZiAoYXR0cl9mb3JtX2lzX2Jsb2NrIChhdHRyKSkKICAgICAgewpAQCAtMzIwLDcgKzMyMCw3 IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvZHdhcmYycmVhZC5jCiAgICAgICAg ICBhZGRfZHluX3Byb3AgKERZTl9QUk9QX0FTU09DSUFURUQsIHByb3AsIHR5cGUsIG9iamZpbGUp OwogICAgICB9CiAgICBlbHNlIGlmIChhdHRyICE9IE5VTEwpCi1AQCAtMjIzODgsNyArMjI1MDEs NyBAQCBzZXRfZGllX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1CitAQCAtMjIzODgs NyArMjI1MDEsNyBAQAogIAogICAgLyogUmVhZCBEV19BVF9kYXRhX2xvY2F0aW9uIGFuZCBzZXQg aW4gdHlwZS4gICovCiAgICBhdHRyID0gZHdhcmYyX2F0dHIgKGRpZSwgRFdfQVRfZGF0YV9sb2Nh dGlvbiwgY3UpOwpAQCAtMzI5LDEwICszMjksMTAgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUx MDI3L2dkYi9kd2FyZjJyZWFkLmMKICAgICAgYWRkX2R5bl9wcm9wIChEWU5fUFJPUF9EQVRBX0xP Q0FUSU9OLCBwcm9wLCB0eXBlLCBvYmpmaWxlKTsKICAKICAgIGlmIChkd2FyZjJfcGVyX29iamZp bGUtPmRpZV90eXBlX2hhc2ggPT0gTlVMTCkKLUluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9n ZGIvZi10eXBlcHJpbnQuYworSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9mLXR5cGVw cmludC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTEwMjcub3JpZy9nZGIvZi10 eXBlcHJpbnQuYwkyMDE1LTEwLTI3IDAyOjQ4OjMxLjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03 LjEwLjUwLjIwMTUxMDI3L2dkYi9mLXR5cGVwcmludC5jCTIwMTUtMTEtMDMgMjE6MTM6MzUuNzA3 MzM3OTIwICswMTAwCistLS0gZ2RiLTcuMTAuNTAuMjAxNjAxMDYub3JpZy9nZGIvZi10eXBlcHJp bnQuYwkyMDE2LTAxLTA4IDE5OjE1OjM1LjA4MDU4MjQ0MyArMDEwMAorKysrIGdkYi03LjEwLjUw LjIwMTYwMTA2L2dkYi9mLXR5cGVwcmludC5jCTIwMTYtMDEtMDggMTk6MTU6NDQuOTgwNjM3NjYz ICswMTAwCiBAQCAtMzEsNiArMzEsNyBAQAogICNpbmNsdWRlICJ0YXJnZXQuaCIKICAjaW5jbHVk ZSAiZi1sYW5nLmgiCkBAIC0zNDEsNyArMzQxLDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUx MDI3L2dkYi9mLXR5cGVwcmludC5jCiAgCiAgI2lmIDAJCQkJLyogQ3VycmVudGx5IHVudXNlZC4g ICovCiAgc3RhdGljIHZvaWQgZl90eXBlX3ByaW50X2FyZ3MgKHN0cnVjdCB0eXBlICosIHN0cnVj dCB1aV9maWxlICopOwotQEAgLTY0LDYgKzY1LDE3IEBAIGZfcHJpbnRfdHlwZSAoc3RydWN0IHR5 cGUgKnR5cGUsIGNvbnN0IGMKK0BAIC02NCw2ICs2NSwxNyBAQAogICAgICB7CiAgICAgICAgdmFs X3ByaW50X25vdF9hbGxvY2F0ZWQgKHN0cmVhbSk7CiAgICAgICAgcmV0dXJuOwpAQCAtMzU5LDEw ICszNTksMTAgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDI3L2dkYi9mLXR5cGVwcmludC5j CiAgICAgIH0KICAKICAgIGZfdHlwZV9wcmludF9iYXNlICh0eXBlLCBzdHJlYW0sIHNob3csIGxl dmVsKTsKLUluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvZi12YWxwcmludC5jCitJbmRl eDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL2YtdmFscHJpbnQuYwogPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGdkYi03LjEwLjUwLjIwMTUxMDI3Lm9yaWcvZ2RiL2YtdmFscHJpbnQuYwkyMDE1LTEwLTI3IDAy OjQ4OjMxLjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjEwLjUwLjIwMTUxMDI3L2dkYi9mLXZh bHByaW50LmMJMjAxNS0xMS0wMyAyMToxMzozNS45NTkzMzkxMTMgKzAxMDAKKy0tLSBnZGItNy4x MC41MC4yMDE2MDEwNi5vcmlnL2dkYi9mLXZhbHByaW50LmMJMjAxNi0wMS0wOCAxOToxNTozNS4w ODE1ODI0NDggKzAxMDAKKysrKyBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvZi12YWxwcmludC5j CTIwMTYtMDEtMDggMTk6MTU6NDQuOTgxNjM3NjY5ICswMTAwCiBAQCAtMzYsOCArMzYsNiBAQAog IAogIGV4dGVybiB2b2lkIF9pbml0aWFsaXplX2ZfdmFscHJpbnQgKHZvaWQpOwpAQCAtMzcyLDcg KzM3Miw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvZi12YWxwcmludC5jCiAg c3RhdGljIHZvaWQgZjc3X2dldF9keW5hbWljX2xlbmd0aF9vZl9hZ2dyZWdhdGUgKHN0cnVjdCB0 eXBlICopOwogIAogIGludCBmNzdfYXJyYXlfb2Zmc2V0X3RibFtNQVhfRk9SVFJBTl9ESU1TICsg MV1bMl07Ci1AQCAtNDUsMTUgKzQzLDYgQEAgaW50IGY3N19hcnJheV9vZmZzZXRfdGJsW01BWF9G T1JUUkFOX0RJTQorQEAgLTQ1LDE1ICs0Myw2IEBACiAgLyogQXJyYXkgd2hpY2ggaG9sZHMgb2Zm c2V0cyB0byBiZSBhcHBsaWVkIHRvIGdldCBhIHJvdydzIGVsZW1lbnRzCiAgICAgZm9yIGEgZ2l2 ZW4gYXJyYXkuICBBcnJheSBhbHNvIGhvbGRzIHRoZSBzaXplIG9mIGVhY2ggc3ViYXJyYXkuICAq LwogIApAQCAtMzg4LDcgKzM4OCw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIv Zi12YWxwcmludC5jCiAgaW50CiAgZjc3X2dldF9sb3dlcmJvdW5kIChzdHJ1Y3QgdHlwZSAqdHlw ZSkKICB7Ci1AQCAtMTExLDQ3ICsxMDAsNiBAQCBmNzdfZ2V0X2R5bmFtaWNfbGVuZ3RoX29mX2Fn Z3JlZ2F0ZSAoc3RyCitAQCAtMTExLDQ3ICsxMDAsNiBAQAogICAgICAqIFRZUEVfTEVOR1RIIChj aGVja190eXBlZGVmIChUWVBFX1RBUkdFVF9UWVBFICh0eXBlKSkpOwogIH0KICAKQEAgLTQzNiw3 ICs0MzYsNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL2YtdmFscHJpbnQuYwog IC8qIEFjdHVhbCBmdW5jdGlvbiB3aGljaCBwcmludHMgb3V0IEY3NyBhcnJheXMsIFZhbGFkZHIg PT0gYWRkcmVzcyBpbiAKICAgICB0aGUgc3VwZXJpb3IuICBBZGRyZXNzID09IHRoZSBhZGRyZXNz IGluIHRoZSBpbmZlcmlvci4gICovCiAgCi1AQCAtMTY0LDQxICsxMTIsNjIgQEAgZjc3X3ByaW50 X2FycmF5XzEgKGludCBuc3MsIGludCBuZGltZW5zaQorQEAgLTE2NCw0MSArMTEyLDYyIEBACiAg CQkgICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucywKICAJCSAgIGlu dCAqZWx0cykKICB7CkBAIC01MTUsNyArNTE1LDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUx MDI3L2dkYi9mLXZhbHByaW50LmMKICAJICAgIGZwcmludGZfZmlsdGVyZWQgKHN0cmVhbSwgIi4u LiIpOwogIAl9CiAgICAgIH0KLUBAIC0yMjUsMTIgKzE5NCw2IEBAIGY3N19wcmludF9hcnJheSAo c3RydWN0IHR5cGUgKnR5cGUsIGNvbnMKK0BAIC0yMjUsMTIgKzE5NCw2IEBACiAgVHlwZSBub2Rl IGNvcnJ1cHQhIEY3NyBhcnJheXMgY2Fubm90IGhhdmUgJWQgc3Vic2NyaXB0cyAoJWQgTWF4KSIp LAogIAkgICBuZGltZW5zaW9ucywgTUFYX0ZPUlRSQU5fRElNUyk7CiAgCkBAIC01MjgsNyArNTI4 LDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDI3L2dkYi9mLXZhbHByaW50LmMKICAgIGY3 N19wcmludF9hcnJheV8xICgxLCBuZGltZW5zaW9ucywgdHlwZSwgdmFsYWRkciwgZW1iZWRkZWRf b2Zmc2V0LAogIAkJICAgICBhZGRyZXNzLCBzdHJlYW0sIHJlY3Vyc2UsIHZhbCwgb3B0aW9ucywg JmVsdHMpOwogIH0KLUBAIC0zNzUsMTIgKzMzOCwxNSBAQCBmX3ZhbF9wcmludCAoc3RydWN0IHR5 cGUgKnR5cGUsIGNvbnN0IGdkCitAQCAtMzc1LDEyICszMzgsMTUgQEAKICAgICAgICBmcHJpbnRm X2ZpbHRlcmVkIChzdHJlYW0sICIoICIpOwogICAgICAgIGZvciAoaW5kZXggPSAwOyBpbmRleCA8 IFRZUEVfTkZJRUxEUyAodHlwZSk7IGluZGV4KyspCiAgICAgICAgICB7CkBAIC01NDksMTEgKzU0 OSwxMSBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL2YtdmFscHJpbnQuYwogICAg ICAgICAgICBpZiAoaW5kZXggIT0gVFlQRV9ORklFTERTICh0eXBlKSAtIDEpCiAgICAgICAgICAg ICAgZnB1dHNfZmlsdGVyZWQgKCIsICIsIHN0cmVhbSk7CiAgICAgICAgICB9Ci1JbmRleDogZ2Ri LTcuMTAuNTAuMjAxNTEwMjcvZ2RiL2dkYnR5cGVzLmMKK0luZGV4OiBnZGItNy4xMC41MC4yMDE2 MDEwNi9nZGIvZ2RidHlwZXMuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEwLjUwLjIwMTUxMDI3 Lm9yaWcvZ2RiL2dkYnR5cGVzLmMJMjAxNS0xMC0yNyAwMjo0ODozMS4wMDAwMDAwMDAgKzAxMDAK LSsrKyBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvZ2RidHlwZXMuYwkyMDE1LTExLTAzIDIxOjEz OjM4LjY4MzM1MjAxMSArMDEwMAotQEAgLTgzNiw3ICs4MzYsOCBAQCBhbGxvY2F0ZV9zdHViX21l dGhvZCAoc3RydWN0IHR5cGUgKnR5cGUpCistLS0gZ2RiLTcuMTAuNTAuMjAxNjAxMDYub3JpZy9n ZGIvZ2RidHlwZXMuYwkyMDE2LTAxLTA4IDE5OjE1OjM1LjA4MzU4MjQ1OSArMDEwMAorKysrIGdk Yi03LjEwLjUwLjIwMTYwMTA2L2dkYi9nZGJ0eXBlcy5jCTIwMTYtMDEtMDggMTk6MTU6NDQuOTgy NjM3Njc0ICswMTAwCitAQCAtODM2LDcgKzgzNiw4IEBACiAgc3RydWN0IHR5cGUgKgogIGNyZWF0 ZV9yYW5nZV90eXBlIChzdHJ1Y3QgdHlwZSAqcmVzdWx0X3R5cGUsIHN0cnVjdCB0eXBlICppbmRl eF90eXBlLAogIAkJICAgY29uc3Qgc3RydWN0IGR5bmFtaWNfcHJvcCAqbG93X2JvdW5kLApAQCAt NTYzLDcgKzU2Myw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvZ2RidHlwZXMu YwogIHsKICAgIGlmIChyZXN1bHRfdHlwZSA9PSBOVUxMKQogICAgICByZXN1bHRfdHlwZSA9IGFs bG9jX3R5cGVfY29weSAoaW5kZXhfdHlwZSk7Ci1AQCAtODUxLDYgKzg1Miw3IEBAIGNyZWF0ZV9y YW5nZV90eXBlIChzdHJ1Y3QgdHlwZSAqcmVzdWx0X3QKK0BAIC04NTEsNiArODUyLDcgQEAKICAg ICAgVFlQRV9aQUxMT0MgKHJlc3VsdF90eXBlLCBzaXplb2YgKHN0cnVjdCByYW5nZV9ib3VuZHMp KTsKICAgIFRZUEVfUkFOR0VfREFUQSAocmVzdWx0X3R5cGUpLT5sb3cgPSAqbG93X2JvdW5kOwog ICAgVFlQRV9SQU5HRV9EQVRBIChyZXN1bHRfdHlwZSktPmhpZ2ggPSAqaGlnaF9ib3VuZDsKQEAg LTU3MSw3ICs1NzEsNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL2dkYnR5cGVz LmMKICAKICAgIGlmIChsb3dfYm91bmQtPmtpbmQgPT0gUFJPUF9DT05TVCAmJiBsb3dfYm91bmQt PmRhdGEuY29uc3RfdmFsID49IDApCiAgICAgIFRZUEVfVU5TSUdORUQgKHJlc3VsdF90eXBlKSA9 IDE7Ci1AQCAtODc5LDcgKzg4MSw3IEBAIHN0cnVjdCB0eXBlICoKK0BAIC04NzksNyArODgxLDcg QEAKICBjcmVhdGVfc3RhdGljX3JhbmdlX3R5cGUgKHN0cnVjdCB0eXBlICpyZXN1bHRfdHlwZSwg c3RydWN0IHR5cGUgKmluZGV4X3R5cGUsCiAgCQkJICBMT05HRVNUIGxvd19ib3VuZCwgTE9OR0VT VCBoaWdoX2JvdW5kKQogIHsKQEAgLTU4MCw3ICs1ODAsNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAu MjAxNTEwMjcvZ2RiL2dkYnR5cGVzLmMKICAKICAgIGxvdy5raW5kID0gUFJPUF9DT05TVDsKICAg IGxvdy5kYXRhLmNvbnN0X3ZhbCA9IGxvd19ib3VuZDsKLUBAIC04ODcsNyArODg5LDExIEBAIGNy ZWF0ZV9zdGF0aWNfcmFuZ2VfdHlwZSAoc3RydWN0IHR5cGUgKnIKK0BAIC04ODcsNyArODg5LDEx IEBACiAgICBoaWdoLmtpbmQgPSBQUk9QX0NPTlNUOwogICAgaGlnaC5kYXRhLmNvbnN0X3ZhbCA9 IGhpZ2hfYm91bmQ7CiAgCkBAIC01OTMsOSArNTkzLDkgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIw MTUxMDI3L2dkYi9nZGJ0eXBlcy5jCiAgCiAgICByZXR1cm4gcmVzdWx0X3R5cGU7CiAgfQotQEAg LTEwODQsMTYgKzEwOTAsMjEgQEAgY3JlYXRlX2FycmF5X3R5cGVfd2l0aF9zdHJpZGUgKHN0cnVj dCB0eQotICAgICAgJiYgKCF0eXBlX25vdF9hc3NvY2lhdGVkIChyZXN1bHRfdHlwZSkKLSAgICAg ICAgICYmICF0eXBlX25vdF9hbGxvY2F0ZWQgKHJlc3VsdF90eXBlKSkpCitAQCAtMTA4NCwxNiAr MTA5MCwyMSBAQAorICAgICAgICYmICghdHlwZV9ub3RfYXNzb2NpYXRlZCAocmVzdWx0X3R5cGUp CisgCSAgJiYgIXR5cGVfbm90X2FsbG9jYXRlZCAocmVzdWx0X3R5cGUpKSkKICAgICAgewogLSAg ICAgIExPTkdFU1QgbG93X2JvdW5kLCBoaWdoX2JvdW5kOwogKyAgICAgIExPTkdFU1QgbG93X2Jv dW5kLCBoaWdoX2JvdW5kLCBieXRlX3N0cmlkZTsKQEAgLTYxNiw3ICs2MTYsNyBAQCBJbmRleDog Z2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL2dkYnR5cGVzLmMKICAgICAgICBlbHNlIGlmIChiaXRf c3RyaWRlID4gMCkKICAJVFlQRV9MRU5HVEggKHJlc3VsdF90eXBlKSA9CiAgCSAgKGJpdF9zdHJp ZGUgKiAoaGlnaF9ib3VuZCAtIGxvd19ib3VuZCArIDEpICsgNykgLyA4OwotQEAgLTE4MDQsMTIg KzE4MTUsMzEgQEAgc3R1Yl9ub25hbWVfY29tcGxhaW50ICh2b2lkKQorQEAgLTE4MDQsMTIgKzE4 MTUsMzEgQEAKICBzdGF0aWMgaW50CiAgaXNfZHluYW1pY190eXBlX2ludGVybmFsIChzdHJ1Y3Qg dHlwZSAqdHlwZSwgaW50IHRvcF9sZXZlbCkKICB7CkBAIC02NDgsNyArNjQ4LDcgQEAgSW5kZXg6 IGdkYi03LjEwLjUwLjIwMTUxMDI3L2dkYi9nZGJ0eXBlcy5jCiAgICAvKiBUeXBlcyB0aGF0IGhh dmUgYSBkeW5hbWljIFRZUEVfREFUQV9MT0NBVElPTiBhcmUgY29uc2lkZXJlZAogICAgICAgZHlu YW1pYywgZXZlbiBpZiB0aGUgdHlwZSBpdHNlbGYgaXMgc3RhdGljYWxseSBkZWZpbmVkLgogICAg ICAgRnJvbSBhIHVzZXIncyBwb2ludCBvZiB2aWV3LCB0aGlzIG1heSBhcHBlYXIgY291bnRlci1p bnR1aXRpdmU7Ci1AQCAtMTg0NCwxMSArMTg3NCwxOSBAQCBpc19keW5hbWljX3R5cGVfaW50ZXJu YWwgKHN0cnVjdCB0eXBlICp0CitAQCAtMTg0NCwxMSArMTg3NCwxOSBAQAogICAgICAgIHsKICAJ Z2RiX2Fzc2VydCAoVFlQRV9ORklFTERTICh0eXBlKSA9PSAxKTsKICAKQEAgLTY3MSw3ICs2NzEs NyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL2dkYnR5cGVzLmMKICAgICAgICB9 CiAgCiAgICAgIGNhc2UgVFlQRV9DT0RFX1NUUlVDVDoKLUBAIC0xODYxLDYgKzE4OTksMTggQEAg aXNfZHluYW1pY190eXBlX2ludGVybmFsIChzdHJ1Y3QgdHlwZSAqdAorQEAgLTE4NjEsNiArMTg5 OSwxOCBAQAogIAkgICAgICAmJiBpc19keW5hbWljX3R5cGVfaW50ZXJuYWwgKFRZUEVfRklFTERf VFlQRSAodHlwZSwgaSksIDApKQogIAkgICAgcmV0dXJuIDE7CiAgICAgICAgfQpAQCAtNjkwLDcg KzY5MCw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvZ2RidHlwZXMuYwogICAg ICAgIGJyZWFrOwogICAgICB9CiAgCi1AQCAtMTg5MCw3ICsxOTQwLDggQEAgcmVzb2x2ZV9keW5h bWljX3JhbmdlIChzdHJ1Y3QgdHlwZSAqZHluXworQEAgLTE4OTAsNyArMTk0MCw4IEBACiAgICBz dHJ1Y3QgdHlwZSAqc3RhdGljX3JhbmdlX3R5cGUsICpzdGF0aWNfdGFyZ2V0X3R5cGU7CiAgICBj b25zdCBzdHJ1Y3QgZHluYW1pY19wcm9wICpwcm9wOwogICAgY29uc3Qgc3RydWN0IGR3YXJmMl9s b2NleHByX2JhdG9uICpiYXRvbjsKQEAgLTcwMCw3ICs3MDAsNyBAQCBJbmRleDogZ2RiLTcuMTAu NTAuMjAxNTEwMjcvZ2RiL2dkYnR5cGVzLmMKICAKICAgIGdkYl9hc3NlcnQgKFRZUEVfQ09ERSAo ZHluX3JhbmdlX3R5cGUpID09IFRZUEVfQ09ERV9SQU5HRSk7CiAgCi1AQCAtMTkyMiwxMiArMTk3 MywxOSBAQCByZXNvbHZlX2R5bmFtaWNfcmFuZ2UgKHN0cnVjdCB0eXBlICpkeW5fCitAQCAtMTky MiwxMiArMTk3MywxOSBAQAogICAgICAgIGhpZ2hfYm91bmQuZGF0YS5jb25zdF92YWwgPSAwOwog ICAgICB9CiAgCkBAIC03MjMsNyArNzIzLDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDI3 L2dkYi9nZGJ0eXBlcy5jCiAgICBUWVBFX1JBTkdFX0RBVEEgKHN0YXRpY19yYW5nZV90eXBlKS0+ ZmxhZ19ib3VuZF9ldmFsdWF0ZWQgPSAxOwogICAgcmV0dXJuIHN0YXRpY19yYW5nZV90eXBlOwog IH0KLUBAIC0xOTQ2LDcgKzIwMDQsOCBAQCByZXNvbHZlX2R5bmFtaWNfYXJyYXkgKHN0cnVjdCB0 eXBlICp0eXBlCitAQCAtMTk0Niw3ICsyMDA0LDggQEAKICAgIHN0cnVjdCB0eXBlICphcnlfZGlt OwogICAgc3RydWN0IGR5bmFtaWNfcHJvcCAqcHJvcDsKICAKQEAgLTczMyw3ICs3MzMsNyBAQCBJ bmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL2dkYnR5cGVzLmMKICAKICAgIHR5cGUgPSBj b3B5X3R5cGUgKHR5cGUpOwogIAotQEAgLTE5NzEsMTMgKzIwMzAsMTggQEAgcmVzb2x2ZV9keW5h bWljX2FycmF5IChzdHJ1Y3QgdHlwZSAqdHlwZQorQEAgLTE5NzEsMTMgKzIwMzAsMTggQEAKICAK ICAgIGFyeV9kaW0gPSBjaGVja190eXBlZGVmIChUWVBFX1RBUkdFVF9UWVBFIChlbHRfdHlwZSkp OwogIApAQCAtNzU1LDcgKzc1NSw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIv Z2RidHlwZXMuYwogIH0KICAKICAvKiBSZXNvbHZlIGR5bmFtaWMgYm91bmRzIG9mIG1lbWJlcnMg b2YgdGhlIHVuaW9uIFRZUEUgdG8gc3RhdGljCi1AQCAtNDU1OCw2ICs0NjIyLDE3IEBAIGNvcHlf dHlwZV9yZWN1cnNpdmUgKHN0cnVjdCBvYmpmaWxlICpvYmoKK0BAIC00NTU4LDYgKzQ2MjIsMTcg QEAKICAgICAgICBnZGJfYXNzZXJ0X25vdF9yZWFjaGVkICgiYmFkIHR5cGVfc3BlY2lmaWNfa2lu ZCIpOwogICAgICB9CiAgCkBAIC03NzMsMTEgKzc3MywxMSBAQCBJbmRleDogZ2RiLTcuMTAuNTAu MjAxNTEwMjcvZ2RiL2dkYnR5cGVzLmMKICAgIHJldHVybiBuZXdfdHlwZTsKICB9CiAgCi1JbmRl eDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL2dkYnR5cGVzLmgKK0luZGV4OiBnZGItNy4xMC41 MC4yMDE2MDEwNi9nZGIvZ2RidHlwZXMuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEwLjUwLjIw MTUxMDI3Lm9yaWcvZ2RiL2dkYnR5cGVzLmgJMjAxNS0xMC0yNyAwMjo0ODozMS4wMDAwMDAwMDAg KzAxMDAKLSsrKyBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvZ2RidHlwZXMuaAkyMDE1LTExLTAz IDIxOjEzOjM2Ljc2MDM0MjkwNiArMDEwMAotQEAgLTU3Nyw2ICs1NzcsMTAgQEAgc3RydWN0IHJh bmdlX2JvdW5kcworLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9yaWcvZ2RiL2dkYnR5cGVzLmgJ MjAxNi0wMS0wOCAxOToxNTozNS4wODU1ODI0NzEgKzAxMDAKKysrKyBnZGItNy4xMC41MC4yMDE2 MDEwNi9nZGIvZ2RidHlwZXMuaAkyMDE2LTAxLTA4IDE5OjE1OjQ0Ljk4MzYzNzY4MCArMDEwMAor QEAgLTU3Nyw2ICs1NzcsMTAgQEAKICAKICAgIHN0cnVjdCBkeW5hbWljX3Byb3AgaGlnaDsKICAK QEAgLTc4OCw3ICs3ODgsNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL2dkYnR5 cGVzLmgKICAgIC8qIFRydWUgaWYgSElHSCByYW5nZSBib3VuZCBjb250YWlucyB0aGUgbnVtYmVy IG9mIGVsZW1lbnRzIGluIHRoZQogICAgICAgc3VicmFuZ2UuIFRoaXMgYWZmZWN0cyBob3cgdGhl IGZpbmFsIGhpZ2h0IGJvdW5kIGlzIGNvbXB1dGVkLiAgKi8KICAKLUBAIC03NDksNiArNzUzLDE4 IEBAIHN0cnVjdCBtYWluX3R5cGUKK0BAIC03NDksNiArNzUzLDE4IEBACiAgCiAgICAvKiAqIENv bnRhaW5zIGFsbCBkeW5hbWljIHR5cGUgcHJvcGVydGllcy4gICovCiAgICBzdHJ1Y3QgZHluYW1p Y19wcm9wX2xpc3QgKmR5bl9wcm9wX2xpc3Q7CkBAIC04MDcsNyArODA3LDcgQEAgSW5kZXg6IGdk Yi03LjEwLjUwLjIwMTUxMDI3L2dkYi9nZGJ0eXBlcy5oCiAgfTsKICAKICAvKiAqIEEgYGBzdHJ1 Y3QgdHlwZScnIGRlc2NyaWJlcyBhIHBhcnRpY3VsYXIgaW5zdGFuY2Ugb2YgYSB0eXBlLCB3aXRo Ci1AQCAtMTI1NSw2ICsxMjcxLDE1IEBAIGV4dGVybiB2b2lkIGFsbG9jYXRlX2duYXRfYXV4X3R5 cGUgKHN0cnUKK0BAIC0xMjU1LDYgKzEyNzEsMTUgQEAKICAgIFRZUEVfUkFOR0VfREFUQShyYW5n ZV90eXBlKS0+aGlnaC5raW5kCiAgI2RlZmluZSBUWVBFX0xPV19CT1VORF9LSU5EKHJhbmdlX3R5 cGUpIFwKICAgIFRZUEVfUkFOR0VfREFUQShyYW5nZV90eXBlKS0+bG93LmtpbmQKQEAgLTgyMyw3 ICs4MjMsNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL2dkYnR5cGVzLmgKICAK ICAvKiBQcm9wZXJ0eSBhY2Nlc3NvcnMgZm9yIHRoZSB0eXBlIGRhdGEgbG9jYXRpb24uICAqLwog ICNkZWZpbmUgVFlQRV9EQVRBX0xPQ0FUSU9OKHRoaXN0eXBlKSBcCi1AQCAtMTI2Niw2ICsxMjkx LDE4IEBAIGV4dGVybiB2b2lkIGFsbG9jYXRlX2duYXRfYXV4X3R5cGUgKHN0cnUKK0BAIC0xMjY2 LDYgKzEyOTEsMTggQEAKICAjZGVmaW5lIFRZUEVfREFUQV9MT0NBVElPTl9LSU5EKHRoaXN0eXBl KSBcCiAgICBUWVBFX0RBVEFfTE9DQVRJT04gKHRoaXN0eXBlKS0+a2luZAogIApAQCAtODQyLDcg Kzg0Miw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvZ2RidHlwZXMuaAogIC8q IFByb3BlcnR5IGFjY2Vzc29ycyBmb3IgdGhlIHR5cGUgYWxsb2NhdGVkL2Fzc29jaWF0ZWQuICAq LwogICNkZWZpbmUgVFlQRV9BTExPQ0FURURfUFJPUCh0aGlzdHlwZSkgXAogICAgZ2V0X2R5bl9w cm9wIChEWU5fUFJPUF9BTExPQ0FURUQsIHRoaXN0eXBlKQotQEAgLTEyODksNiArMTMyNiw5IEBA IGV4dGVybiB2b2lkIGFsbG9jYXRlX2duYXRfYXV4X3R5cGUgKHN0cnUKK0BAIC0xMjg5LDYgKzEz MjYsOSBAQAogICAgIFRZUEVfSElHSF9CT1VORF9VTkRFRklORUQoVFlQRV9JTkRFWF9UWVBFKGFy cmF5dHlwZSkpCiAgI2RlZmluZSBUWVBFX0FSUkFZX0xPV0VSX0JPVU5EX0lTX1VOREVGSU5FRChh cnJheXR5cGUpIFwKICAgICBUWVBFX0xPV19CT1VORF9VTkRFRklORUQoVFlQRV9JTkRFWF9UWVBF KGFycmF5dHlwZSkpCkBAIC04NTIsNyArODUyLDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUx MDI3L2dkYi9nZGJ0eXBlcy5oCiAgCiAgI2RlZmluZSBUWVBFX0FSUkFZX1VQUEVSX0JPVU5EX1ZB TFVFKGFycmF5dHlwZSkgXAogICAgIChUWVBFX0hJR0hfQk9VTkQoVFlQRV9JTkRFWF9UWVBFKChh cnJheXR5cGUpKSkpCi1AQCAtMTc3NSw2ICsxODE1LDcgQEAgZXh0ZXJuIHN0cnVjdCB0eXBlICpj cmVhdGVfYXJyYXlfdHlwZV93aQorQEAgLTE3NzUsNiArMTgxNSw3IEBACiAgCiAgZXh0ZXJuIHN0 cnVjdCB0eXBlICpjcmVhdGVfcmFuZ2VfdHlwZSAoc3RydWN0IHR5cGUgKiwgc3RydWN0IHR5cGUg KiwKICAJCQkJICAgICAgIGNvbnN0IHN0cnVjdCBkeW5hbWljX3Byb3AgKiwKQEAgLTg2MCwxMCAr ODYwLDEwIEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvZ2RidHlwZXMuaAogIAkJ CQkgICAgICAgY29uc3Qgc3RydWN0IGR5bmFtaWNfcHJvcCAqKTsKICAKICBleHRlcm4gc3RydWN0 IHR5cGUgKmNyZWF0ZV9hcnJheV90eXBlIChzdHJ1Y3QgdHlwZSAqLCBzdHJ1Y3QgdHlwZSAqLAot SW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDI3L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxh LWZ1bmMuZXhwCitJbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi92bGEtZnVuYy5leHAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0w MSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1mdW5jLmV4cAkyMDE1LTExLTAzIDIwOjQxOjQ4LjU0 MjUwNDk5MyArMDEwMAorKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vdmxhLWZ1bmMuZXhwCTIwMTYtMDEtMDggMTk6MTU6NDQuOTgzNjM3NjgwICswMTAw CiBAQCAtMCwwICsxLDYxIEBACiArIyBDb3B5cmlnaHQgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4KICsKQEAgLTkyNiwxMCArOTI2LDEwIEBAIEluZGV4OiBnZGItNy4xMC41MC4y MDE1MTAyNy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1mdW5jLmV4cAogKyAgInByaW50 IHZsYTMgKGFmdGVyIGZ1bmMyKSIKICtnZGJfdGVzdCAicHR5cGUgdmxhMyIgInR5cGUgPSBpbnRl Z2VyXFxcKGtpbmQ9NFxcXCkgXFxcKDEwXFxcKSIgXAogKyAgInB0eXBlIHZsYTMgKGFmdGVyIGZ1 bmMyKSIKLUluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL3ZsYS1mdW5jLmY5MAorSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vdmxhLWZ1bmMuZjkwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5 NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTEw MjcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtZnVuYy5mOTAJMjAxNS0xMS0wMyAyMDo0 MTo0OC41NDI1MDQ5OTMgKzAxMDAKKysrKyBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL3ZsYS1mdW5jLmY5MAkyMDE2LTAxLTA4IDE5OjE1OjQ0Ljk4MzYzNzY4 MCArMDEwMAogQEAgLTAsMCArMSw3MSBAQAogKyEgQ29weXJpZ2h0IDIwMTQgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuCiArIQpAQCAtMTAwMiwxMCArMTAwMiwxMCBAQCBJbmRleDogZ2Ri LTcuMTAuNTAuMjAxNTEwMjcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtZnVuYy5mOTAK ICsKICsgIHJldCA9IC5UUlVFLiAgICAgICAgICAgICAgICAhIGZ1bmMyLXJldHVybmVkCiArZW5k IHByb2dyYW0gdmxhX2Z1bmMKLUluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpZGUuZXhwCitJbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAx MDYvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaWRlLmV4cAogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQog LS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdk Yi03LjEwLjUwLjIwMTUxMDI3L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmlkZS5l eHAJMjAxNS0xMS0wMyAyMDo0MTo0OC41NDI1MDQ5OTMgKzAxMDAKKysrKyBnZGItNy4xMC41MC4y MDE2MDEwNi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpZGUuZXhwCTIwMTYtMDEt MDggMTk6MTU6NDQuOTg0NjM3Njg2ICswMTAwCiBAQCAtMCwwICsxLDQ0IEBACiArIyBDb3B5cmln aHQgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTEwNTEsMTAgKzEw NTEsMTAgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDI3L2dkYi90ZXN0c3VpdGUvZ2RiLmZv cnRyYW4vdmxhLXN0cmlkZS5leHAKICtnZGJfY29udGludWVfdG9fYnJlYWtwb2ludCAic2luZ2xl LWVsZW1lbnQiCiArZ2RiX3Rlc3QgInByaW50IHB2bGEiICIgPSBcXFwoNVxcXCkiICJwcmludCBz aW5nbGUtZWxlbWVudCIKICtnZGJfdGVzdCAicHJpbnQgcHZsYSgxKSIgIiA9IDUiICJwcmludCBv bmUgc2luZ2xlLWVsZW1lbnQiCi1JbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaWRlLmY5MAorSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYw MTA2L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmlkZS5mOTAKID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K IC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBn ZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpZGUu ZjkwCTIwMTUtMTEtMDMgMjA6NDE6NDguNTQzNTA0OTk5ICswMTAwCisrKysgZ2RiLTcuMTAuNTAu MjAxNjAxMDYvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaWRlLmY5MAkyMDE2LTAx LTA4IDE5OjE1OjQ0Ljk4NDYzNzY4NiArMDEwMAogQEAgLTAsMCArMSwzMCBAQAogKyEgQ29weXJp Z2h0IDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArIQpAQCAtMTA4NiwxMCAr MTA4NiwxMCBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi92bGEtc3RyaWRlLmY5MAogKwogKyAgcHZsYSA9PiBudWxsKCkgICAgICAgICEgc2lu Z2xlLWVsZW1lbnQKICtlbmQgcHJvZ3JhbSB2bGFfc3RyaWRlCi1JbmRleDogZ2RiLTcuMTAuNTAu MjAxNTEwMjcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaW5ncy5leHAKK0luZGV4 OiBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJp bmdzLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAw MDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEwLjUwLjIwMTUxMDI3L2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vdmxhLXN0cmluZ3MuZXhwCTIwMTUtMTEtMDMgMjE6MTM6NDUuODYzMzg2MDA3ICsw MTAwCisrKysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92 bGEtc3RyaW5ncy5leHAJMjAxNi0wMS0wOCAxOToxNTo0NC45ODQ2Mzc2ODYgKzAxMDAKIEBAIC0w LDAgKzEsMTAxIEBACiArIyBDb3B5cmlnaHQgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4KICsKQEAgLTExOTIsMTAgKzExOTIsMTAgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUx MDI3L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmluZ3MuZXhwCiArICAid2hhdGlz IHZhcl9jaGFyX3AgYWZ0ZXIgYXNzb2NpYXRlZCIKICtnZGJfdGVzdCAicHR5cGUgdmFyX2NoYXJf cCIgInR5cGUgPSBQVFIgVE8gLT4gXFwoIGNoYXJhY3RlclxcKjcgXFwpIiBcCiArICAicHR5cGUg dmFyX2NoYXJfcCBhZnRlciBhc3NvY2lhdGVkIgotSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDI3 L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmluZ3MuZjkwCitJbmRleDogZ2RiLTcu MTAuNTAuMjAxNjAxMDYvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaW5ncy5mOTAK ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAg KzAwMDAKLSsrKyBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L3ZsYS1zdHJpbmdzLmY5MAkyMDE1LTExLTAzIDIwOjQxOjQ4LjU0MzUwNDk5OSArMDEwMAorKysr IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmlu Z3MuZjkwCTIwMTYtMDEtMDggMTk6MTU6NDQuOTg0NjM3Njg2ICswMTAwCiBAQCAtMCwwICsxLDQw IEBACiArISBDb3B5cmlnaHQgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsh CkBAIC0xMjM3LDExICsxMjM3LDExIEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpbmdzLmY5MAogKyAgdmFyX2NoYXJfcCA9PiBu dWxsKCkKICsgIGwgPSBhc3NvY2lhdGVkKHZhcl9jaGFyX3ApICAgICAgICAgICAgICAhIHZhcl9j aGFyX3Atbm90LWFzc29jaWF0ZWQKICtlbmQgcHJvZ3JhbSB2bGFfc3RyaW5ncwotSW5kZXg6IGdk Yi03LjEwLjUwLjIwMTUxMDI3L2dkYi90eXBlcHJpbnQuYworSW5kZXg6IGdkYi03LjEwLjUwLjIw MTYwMTA2L2dkYi90eXBlcHJpbnQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEwLjUwLjIwMTUx MDI3Lm9yaWcvZ2RiL3R5cGVwcmludC5jCTIwMTUtMTAtMjcgMDI6NDg6MzIuMDAwMDAwMDAwICsw MTAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL3R5cGVwcmludC5jCTIwMTUtMTEtMDMg MjE6MTM6MzUuOTU5MzM5MTEzICswMTAwCi1AQCAtNDYwLDYgKzQ2MCwxMyBAQCB3aGF0aXNfZXhw IChjaGFyICpleHAsIGludCBzaG93KQorLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9yaWcvZ2Ri L3R5cGVwcmludC5jCTIwMTYtMDEtMDggMTk6MTU6MzUuMDg2NTgyNDc2ICswMTAwCisrKysgZ2Ri LTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3R5cGVwcmludC5jCTIwMTYtMDEtMDggMTk6MTU6NDQuOTg0 NjM3Njg2ICswMTAwCitAQCAtNDYwLDYgKzQ2MCwxMyBAQAogIAogICAgdHlwZSA9IHZhbHVlX3R5 cGUgKHZhbCk7CiAgCkBAIC0xMjU1LDExICsxMjU1LDExIEBAIEluZGV4OiBnZGItNy4xMC41MC4y MDE1MTAyNy9nZGIvdHlwZXByaW50LmMKICAgIGdldF91c2VyX3ByaW50X29wdGlvbnMgKCZvcHRz KTsKICAgIGlmIChvcHRzLm9iamVjdHByaW50KQogICAgICB7Ci1JbmRleDogZ2RiLTcuMTAuNTAu MjAxNTEwMjcvZ2RiL3ZhbGFyaXRoLmMKK0luZGV4OiBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIv dmFsYXJpdGguYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEwLjUwLjIwMTUxMDI3Lm9yaWcvZ2Ri L3ZhbGFyaXRoLmMJMjAxNS0xMC0yNyAwMjo0ODozMi4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGIt Ny4xMC41MC4yMDE1MTAyNy9nZGIvdmFsYXJpdGguYwkyMDE1LTExLTAzIDIxOjEzOjM4LjYyNTM1 MTczNiArMDEwMAotQEAgLTE5Myw5ICsxOTMsMjEgQEAgdmFsdWVfc3Vic2NyaXB0ZWRfcnZhbHVl IChzdHJ1Y3QgdmFsdWUgKgorLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9yaWcvZ2RiL3ZhbGFy aXRoLmMJMjAxNi0wMS0wOCAxOToxNTozNS4wODc1ODI0ODIgKzAxMDAKKysrKyBnZGItNy4xMC41 MC4yMDE2MDEwNi9nZGIvdmFsYXJpdGguYwkyMDE2LTAxLTA4IDE5OjE1OjQ0Ljk4NTYzNzY5MSAr MDEwMAorQEAgLTE5Myw5ICsxOTMsMjEgQEAKICAgIHN0cnVjdCB0eXBlICphcnJheV90eXBlID0g Y2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoYXJyYXkpKTsKICAgIHN0cnVjdCB0eXBlICplbHRf dHlwZSA9IGNoZWNrX3R5cGVkZWYgKFRZUEVfVEFSR0VUX1RZUEUgKGFycmF5X3R5cGUpKTsKICAg IHVuc2lnbmVkIGludCBlbHRfc2l6ZSA9IHR5cGVfbGVuZ3RoX3VuaXRzIChlbHRfdHlwZSk7CkBA IC0xMjgyLDExICsxMjgyLDExIEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvdmFs YXJpdGguYwogICAgaWYgKGluZGV4IDwgbG93ZXJib3VuZCB8fCAoIVRZUEVfQVJSQVlfVVBQRVJf Qk9VTkRfSVNfVU5ERUZJTkVEIChhcnJheV90eXBlKQogIAkJCSAgICAgJiYgZWx0X29mZnMgPj0g dHlwZV9sZW5ndGhfdW5pdHMgKGFycmF5X3R5cGUpKSkKICAgICAgewotSW5kZXg6IGdkYi03LjEw LjUwLjIwMTUxMDI3L2dkYi92YWxwcmludC5jCitJbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYv Z2RiL3ZhbHByaW50LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMC41MC4yMDE1MTAyNy5vcmln L2dkYi92YWxwcmludC5jCTIwMTUtMTAtMjcgMDI6NDg6MzIuMDAwMDAwMDAwICswMTAwCi0rKysg Z2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL3ZhbHByaW50LmMJMjAxNS0xMS0wMyAyMToxMzozNS45 NTkzMzkxMTMgKzAxMDAKLUBAIC0zMTYsNiArMzE2LDE4IEBAIHZhbHByaW50X2NoZWNrX3ZhbGlk aXR5IChzdHJ1Y3QgdWlfZmlsZQorLS0tIGdkYi03LjEwLjUwLjIwMTYwMTA2Lm9yaWcvZ2RiL3Zh bHByaW50LmMJMjAxNi0wMS0wOCAxOToxNTozNS4wODg1ODI0ODcgKzAxMDAKKysrKyBnZGItNy4x MC41MC4yMDE2MDEwNi9nZGIvdmFscHJpbnQuYwkyMDE2LTAxLTA4IDE5OjE1OjQ0Ljk4NjYzNzY5 NyArMDEwMAorQEAgLTMxNiw2ICszMTYsMTggQEAKICAgICAgICByZXR1cm4gMDsKICAgICAgfQog IApAQCAtMTMwNSw3ICsxMzA1LDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDI3L2dkYi92 YWxwcmludC5jCiAgICBpZiAoVFlQRV9DT0RFICh0eXBlKSAhPSBUWVBFX0NPREVfVU5JT04KICAg ICAgICAmJiBUWVBFX0NPREUgKHR5cGUpICE9IFRZUEVfQ09ERV9TVFJVQ1QKICAgICAgICAmJiBU WVBFX0NPREUgKHR5cGUpICE9IFRZUEVfQ09ERV9BUlJBWSkKLUBAIC0xMDI1LDEyICsxMDM3LDE2 IEBAIHN0YXRpYyBpbnQKK0BAIC0xMDI1LDEyICsxMDM3LDE2IEBACiAgdmFsdWVfY2hlY2tfcHJp bnRhYmxlIChzdHJ1Y3QgdmFsdWUgKnZhbCwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwKICAJCSAg ICAgICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucykKICB7CkBAIC0x MzIyLDcgKzEzMjIsNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL3ZhbHByaW50 LmMKICAgIGlmICh2YWx1ZV9lbnRpcmVseV9vcHRpbWl6ZWRfb3V0ICh2YWwpKQogICAgICB7CiAg ICAgICAgaWYgKG9wdGlvbnMtPnN1bW1hcnkgJiYgIXZhbF9wcmludF9zY2FsYXJfdHlwZV9wICh2 YWx1ZV90eXBlICh2YWwpKSkKLUBAIC0xMDY2LDYgKzEwODIsMTggQEAgdmFsdWVfY2hlY2tfcHJp bnRhYmxlIChzdHJ1Y3QgdmFsdWUgKnZhbAorQEAgLTEwNjYsNiArMTA4MiwxOCBAQAogICAgICB7 CiAgICAgICAgdmFsX3ByaW50X25vdF9hbGxvY2F0ZWQgKHN0cmVhbSk7CiAgICAgICAgcmV0dXJu IDA7CkBAIC0xMzQxLDExICsxMzQxLDExIEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9n ZGIvdmFscHJpbnQuYwogICAgICB9CiAgCiAgICByZXR1cm4gMTsKLUluZGV4OiBnZGItNy4xMC41 MC4yMDE1MTAyNy9nZGIvdmFscHJpbnQuaAorSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dk Yi92YWxwcmludC5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTEwMjcub3JpZy9n ZGIvdmFscHJpbnQuaAkyMDE1LTEwLTI3IDAyOjQ4OjMyLjAwMDAwMDAwMCArMDEwMAotKysrIGdk Yi03LjEwLjUwLjIwMTUxMDI3L2dkYi92YWxwcmludC5oCTIwMTUtMTEtMDMgMjE6MTM6MzUuOTU5 MzM5MTEzICswMTAwCi1AQCAtMjMyLDQgKzIzMiw4IEBAIGV4dGVybiB2b2lkIHByaW50X2NvbW1h bmRfcGFyc2VfZm9ybWF0ICgKKy0tLSBnZGItNy4xMC41MC4yMDE2MDEwNi5vcmlnL2dkYi92YWxw cmludC5oCTIwMTYtMDEtMDggMTk6MTU6MzUuMDg4NTgyNDg3ICswMTAwCisrKysgZ2RiLTcuMTAu NTAuMjAxNjAxMDYvZ2RiL3ZhbHByaW50LmgJMjAxNi0wMS0wOCAxOToxNTo0NC45ODY2Mzc2OTcg KzAxMDAKK0BAIC0yMzIsNCArMjMyLDggQEAKICAJCQkJCXN0cnVjdCBmb3JtYXRfZGF0YSAqZm10 cCk7CiAgZXh0ZXJuIHZvaWQgcHJpbnRfdmFsdWUgKHN0cnVjdCB2YWx1ZSAqdmFsLCBjb25zdCBz dHJ1Y3QgZm9ybWF0X2RhdGEgKmZtdHApOwogIApAQCAtMTM1NCwxMCArMTM1NCwxMCBAQCBJbmRl eDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL3ZhbHByaW50LmgKICtleHRlcm4gdm9pZCB2YWxf cHJpbnRfbm90X2Fzc29jaWF0ZWQgKHN0cnVjdCB1aV9maWxlICpzdHJlYW0pOwogKwogICNlbmRp ZgotSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDI3L2dkYi92YWx1ZS5jCitJbmRleDogZ2RiLTcu MTAuNTAuMjAxNjAxMDYvZ2RiL3ZhbHVlLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMC41MC4y MDE1MTAyNy5vcmlnL2dkYi92YWx1ZS5jCTIwMTUtMTAtMjcgMDI6NDg6MzIuMDAwMDAwMDAwICsw MTAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL3ZhbHVlLmMJMjAxNS0xMS0wMyAyMTox MzozOC43MzEzNTIyMzggKzAxMDAKKy0tLSBnZGItNy4xMC41MC4yMDE2MDEwNi5vcmlnL2dkYi92 YWx1ZS5jCTIwMTYtMDEtMDggMTk6MTU6MzUuMDkwNTgyNDk5ICswMTAwCisrKysgZ2RiLTcuMTAu NTAuMjAxNjAxMDYvZ2RiL3ZhbHVlLmMJMjAxNi0wMS0wOCAxOToxNTo0NC45ODc2Mzc3MDIgKzAx MDAKIEBAIC00MCw2ICs0MCw3IEBACiAgI2luY2x1ZGUgInRyYWNlcG9pbnQuaCIKICAjaW5jbHVk ZSAiY3AtYWJpLmgiCkBAIC0xMzY2LDcgKzEzNjYsNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAx NTEwMjcvZ2RiL3ZhbHVlLmMKICAKICAvKiBQcm90b3R5cGVzIGZvciBleHBvcnRlZCBmdW5jdGlv bnMuICAqLwogIAotQEAgLTE3ODgsNiArMTc4OSwyNSBAQCBzZXRfdmFsdWVfY29tcG9uZW50X2xv Y2F0aW9uIChzdHJ1Y3QgdmFsCitAQCAtMTc4OCw2ICsxNzg5LDI1IEBACiAgICAgICAgaWYgKGZ1 bmNzLT5jb3B5X2Nsb3N1cmUpCiAgICAgICAgICBjb21wb25lbnQtPmxvY2F0aW9uLmNvbXB1dGVk LmNsb3N1cmUgPSBmdW5jcy0+Y29weV9jbG9zdXJlICh3aG9sZSk7CiAgICAgIH0KQEAgLTEzOTIs NyArMTM5Miw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvdmFsdWUuYwogIH0K ICAKICAMCi1AQCAtMzA5NSwxMyArMzExNSwyMiBAQCB2YWx1ZV9wcmltaXRpdmVfZmllbGQgKHN0 cnVjdCB2YWx1ZSAqYXJnCitAQCAtMzA5NSwxMyArMzExNSwyMiBAQAogIAl2ID0gYWxsb2NhdGVf dmFsdWVfbGF6eSAodHlwZSk7CiAgICAgICAgZWxzZQogIAl7CkBAIC0xNDIxLDcgKzE0MjEsNyBA QCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL3ZhbHVlLmMKICAgICAgfQogICAgc2V0 X3ZhbHVlX2NvbXBvbmVudF9sb2NhdGlvbiAodiwgYXJnMSk7CiAgICBWQUxVRV9SRUdOVU0gKHYp ID0gVkFMVUVfUkVHTlVNIChhcmcxKTsKLUBAIC0zNjg5LDcgKzM3MTgsOCBAQCByZWFkanVzdF9p bmRpcmVjdF92YWx1ZV90eXBlIChzdHJ1Y3QgdmFsCitAQCAtMzY4OSw3ICszNzE4LDggQEAKICAJ CQkgICAgICBzdHJ1Y3QgdmFsdWUgKm9yaWdpbmFsX3ZhbHVlKQogIHsKICAgIC8qIFJlLWFkanVz dCB0eXBlLiAgKi8KQEAgLTE0MzEsNyArMTQzMSw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1 MTAyNy9nZGIvdmFsdWUuYwogIAogICAgLyogQWRkIGVtYmVkZGluZyBpbmZvLiAgKi8KICAgIHNl dF92YWx1ZV9lbmNsb3NpbmdfdHlwZSAodmFsdWUsIGVuY190eXBlKTsKLUBAIC0zNzA2LDYgKzM3 MzYsMTIgQEAgY29lcmNlX3JlZiAoc3RydWN0IHZhbHVlICphcmcpCitAQCAtMzcwNiw2ICszNzM2 LDEyIEBACiAgICBzdHJ1Y3QgdmFsdWUgKnJldHZhbDsKICAgIHN0cnVjdCB0eXBlICplbmNfdHlw ZTsKICAKQEAgLTE0NDQsNyArMTQ0NCw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9n ZGIvdmFsdWUuYwogICAgcmV0dmFsID0gY29lcmNlX3JlZl9pZl9jb21wdXRlZCAoYXJnKTsKICAg IGlmIChyZXR2YWwpCiAgICAgIHJldHVybiByZXR2YWw7Ci1AQCAtMzgzNCw4ICszODcwLDE0IEBA IHZhbHVlX2ZldGNoX2xhenkgKHN0cnVjdCB2YWx1ZSAqdmFsKQorQEAgLTM4MzQsOCArMzg3MCwx NCBAQAogICAgICB9CiAgICBlbHNlIGlmIChWQUxVRV9MVkFMICh2YWwpID09IGx2YWxfbWVtb3J5 KQogICAgICB7CkBAIC0xNDYwLDEyICsxNDYwLDEyIEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1 MTAyNy9nZGIvdmFsdWUuYwogIAogICAgICAgIGlmIChUWVBFX0xFTkdUSCAodHlwZSkpCiAgCXJl YWRfdmFsdWVfbWVtb3J5ICh2YWwsIDAsIHZhbHVlX3N0YWNrICh2YWwpLAotSW5kZXg6IGdkYi03 LjEwLjUwLjIwMTUxMDI3L2dkYi9kd2FyZjJsb2MuYworSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYw MTA2L2dkYi9kd2FyZjJsb2MuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEwLjUwLjIwMTUxMDI3 Lm9yaWcvZ2RiL2R3YXJmMmxvYy5jCTIwMTUtMTAtMjcgMDI6NDg6MzEuMDAwMDAwMDAwICswMTAw Ci0rKysgZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL2R3YXJmMmxvYy5jCTIwMTUtMTEtMDMgMjE6 MTM6MzUuOTU5MzM5MTEzICswMTAwCi1AQCAtMjM0Nyw2ICsyMzQ3LDExIEBAIGR3YXJmMl9ldmFs dWF0ZV9sb2NfZGVzY19mdWxsIChzdHJ1Y3QgdHkKLSAJICAgIGludCBpbl9zdGFja19tZW1vcnkg PSBkd2FyZl9leHByX2ZldGNoX2luX3N0YWNrX21lbW9yeSAoY3R4LCAwKTsKKy0tLSBnZGItNy4x MC41MC4yMDE2MDEwNi5vcmlnL2dkYi9kd2FyZjJsb2MuYwkyMDE2LTAxLTA4IDE5OjE1OjM1LjA5 MTU4MjUwNCArMDEwMAorKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9kd2FyZjJsb2MuYwky MDE2LTAxLTA4IDE5OjE1OjQ0Ljk4ODYzNzcwOCArMDEwMAorQEAgLTIzNjgsNiArMjM2OCwxMSBA QAorIAkgICAgYWRkcmVzcyA9IHZhbHVlX2FzX2FkZHJlc3MgKHZhbHVlX2Zyb21fcG9pbnRlciAo cHRyX3R5cGUsIGFkZHJlc3MpKTsKICAKICAJICAgIGRvX2NsZWFudXBzICh2YWx1ZV9jaGFpbik7 CiArCkBAIC0xNDc2LDcgKzE0NzYsNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2Ri L2R3YXJmMmxvYy5jCiAgCSAgICByZXR2YWwgPSB2YWx1ZV9hdF9sYXp5ICh0eXBlLCBhZGRyZXNz ICsgYnl0ZV9vZmZzZXQpOwogIAkgICAgaWYgKGluX3N0YWNrX21lbW9yeSkKICAJICAgICAgc2V0 X3ZhbHVlX3N0YWNrIChyZXR2YWwsIDEpOwotQEAgLTI2MzksNiArMjY0NCwxOSBAQCBkd2FyZjJf Y29tcGlsZV9wcm9wZXJ0eV90b19jIChzdHJ1Y3QgdWlfCitAQCAtMjY2MCw2ICsyNjY1LDE5IEBA CiAgCQkJICAgICBkYXRhLCBkYXRhICsgc2l6ZSwgcGVyX2N1KTsKICB9CiAgCgpkaWZmIC0tZ2l0 IGEvZ2RiLnNwZWMgYi9nZGIuc3BlYwppbmRleCBkNmJiMWRmLi45ZmIzMjVhIDEwMDY0NAotLS0g YS9nZGIuc3BlYworKysgYi9nZGIuc3BlYwpAQCAtMTksNyArMTksNyBAQCBTdW1tYXJ5OiBBIEdO VSBzb3VyY2UtbGV2ZWwgZGVidWdnZXIgZm9yIEMsIEMrKywgRm9ydHJhbiwgR28gYW5kIG90aGVy IGxhbmd1YWdlcwogTmFtZTogJXs/c2NsX3ByZWZpeH1nZGIKIAogIyBGcmVlemUgaXQgd2hlbiBH REIgZ2V0cyBicmFuY2hlZAotJWdsb2JhbCBzbmFwc3JjICAgIDIwMTUxMTEzCislZ2xvYmFsIHNu YXBzcmMgICAgMjAxNjAxMDYKICMgU2VlIHRpbWVzdGFtcCBvZiBzb3VyY2UgZ251bGliIGluc3Rh bGxlZCBpbnRvIGdkYi9nbnVsaWIvIC4KICVnbG9iYWwgc25hcGdudWxpYiAyMDE1MDgyMgogJWds b2JhbCB0YXJuYW1lIGdkYi0le3ZlcnNpb259CkBAIC0yNyw3ICsyNyw3IEBAIFZlcnNpb246IDcu MTAuNTAuJXtzbmFwc3JjfQogCiAjIFRoZSByZWxlYXNlIGFsd2F5cyBjb250YWlucyBhIGxlYWRp bmcgcmVzZXJ2ZWQgbnVtYmVyLCBzdGFydCBpdCBhdCAxLgogIyBgdXBzdHJlYW0nIGlzIG5vdCBh IHBhcnQgb2YgYG5hbWUnIHRvIHN0YXkgZnVsbHkgcnBtIGRlcGVuZGVuY2llcyBjb21wYXRpYmxl IGZvciB0aGUgdGVzdGluZy4KLVJlbGVhc2U6IDMzJXs/ZGlzdH0KK1JlbGVhc2U6IDM0JXs/ZGlz dH0KIAogTGljZW5zZTogR1BMdjMrIGFuZCBHUEx2Mysgd2l0aCBleGNlcHRpb25zIGFuZCBHUEx2 MisgYW5kIEdQTHYyKyB3aXRoIGV4Y2VwdGlvbnMgYW5kIEdQTCsgYW5kIExHUEx2MisgYW5kIEJT RCBhbmQgUHVibGljIERvbWFpbiBhbmQgR0ZETAogR3JvdXA6IERldmVsb3BtZW50L0RlYnVnZ2Vy cwpAQCAtNTQ0LDYgKzU0NCwxOCBAQCBQYXRjaDEwNDQ6IGdkYi1wYWhvbGUtcHl0aG9uMi5wYXRj aAogIyBGb3JjZSBsaWJuY3Vyc2VzdyBvdmVyIGxpYm5jdXJzZXMgdG8gbWF0Y2ggdGhlIGluY2x1 ZGVzIChSSCBCWiAxMjcwNTM0KS4KIFBhdGNoMTA1NjogZ2RiLWZlZG9yYS1saWJuY3Vyc2Vzdy5w YXRjaAogCisjIEZpeCBnZGIubXVsdGkvYmFzZS5leHAgdGVzdHN1aXRlIHJlZ3Jlc3Npb24uCitQ YXRjaDEwNjQ6IGdkYi10ZXN0c3VpdGUtbXVsdGktYmFzZS13YXJuaW5ncy5wYXRjaAorCisjIEZp eCBpMzg2IHJlZ3Jlc3Npb24gZm9yIGZ1bmNhcmdzLmV4cC4KK1BhdGNoMTA2NTogZ2RiLXRlc3Rz dWl0ZS1mdW5jYXJncy1tMzIucGF0Y2gKKworIyBSZWdyZXNzaW9uIGZvciBmb2xsLXZmb3JrLmV4 cC4KK1BhdGNoMTA2NjogZ2RiLXRlc3RzdWl0ZS1mb2xsLXZmb3JrLnBhdGNoCisKKyMgUmVncmVz c2lvbiBmb3IgZ2RiLnRocmVhZHMvZm9yay1wbHVzLXRocmVhZHMuZXhwIC0gcmV2ZXJ0LgorUGF0 Y2gxMDY3OiBnZGItZm9yay1wbHVzLXRocmVhZHMtYXNjZW5kaW5nLXJldmVydC5wYXRjaAorCiAl aWYgMCV7IT9yaGVsOjF9IHx8IDAlez9yaGVsfSA+IDYKICMgUkxfU1RBVEVfRkVET1JBX0dEQiB3 b3VsZCBub3QgYmUgZm91bmQgZm9yOgogIyBQYXRjaDY0MjogZ2RiLXJlYWRsaW5lNjItYXNrLW1v cmUtcmgucGF0Y2gKQEAgLTg0Miw2ICs4NTQsMTAgQEAgZmluZCAtbmFtZSAiKi5pbmZvKiJ8eGFy Z3Mgcm0gLWYKICVwYXRjaDkyNyAtcDEKICVwYXRjaDk3OCAtcDEKICVwYXRjaDEwNTYgLXAxCisl cGF0Y2gxMDY0IC1wMQorJXBhdGNoMTA2NSAtcDEKKyVwYXRjaDEwNjYgLXAxCislcGF0Y2gxMDY3 IC1wMQogCiAlcGF0Y2g4NDggLXAxCiAlaWYgMCV7IT9lbDY6MX0KQEAgLTEzNTcsNiArMTM3Myw5 IEBAIHRoZW4KIGZpCiAKICVjaGFuZ2Vsb2cKKyogRnJpIEphbiAgOCAyMDE2IEphbiBLcmF0b2No dmlsIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPiAtIDcuMTAuNTAuMjAxNjAxMDYtMzQuZmMy NAorLSBSZWJhc2UgdG8gRlNGIEdEQiA3LjEwLjUwLjIwMTYwMTA2ICh0cnVuayBzbmFwc2hvdCku CisKICogU2F0IE5vdiAxNCAyMDE1IEphbiBLcmF0b2NodmlsIDxqYW4ua3JhdG9jaHZpbEByZWRo YXQuY29tPiAtIDcuMTAuNTAuMjAxNTExMTMtMzMuZmMyNAogLSBSZWJhc2UgdG8gRlNGIEdEQiA3 LjEwLjUwLjIwMTUxMTEzICh0cnVuayBzbmFwc2hvdCkuCiAtIFt0ZXN0c3VpdGVdIEJ1aWxkUmVx dWlyZSBsaWJtcHggZm9yIC0td2l0aCB0ZXN0c3VpdGUuCgpkaWZmIC0tZ2l0IGEvc291cmNlcyBi L3NvdXJjZXMKaW5kZXggZjVjYTY3Yi4uOTU4YmFkZiAxMDA2NDQKLS0tIGEvc291cmNlcworKysg Yi9zb3VyY2VzCkBAIC0xLDIgKzEsMiBAQAogN2FkMzJkMzg5NGFhZjkwZDAwYTQzNDNhNzM1YzNl MWMgIGdkYi1saWJzdGRjKystdjMtcHl0aG9uLXIyMjU1MjEudGFyLnh6Ci0zNmVmYzgyMWRkYzQw NjU2ZWQ1MGFlN2NmMzQ5MDRkMSAgZ2RiLTcuMTAuNTAuMjAxNTExMTMudGFyLnh6Cis3NDU4MzIw MWYzNGRhY2ZhMDI0ODQ1NTc4YzQ3NjBiZiAgZ2RiLTcuMTAuNTAuMjAxNjAxMDYudGFyLnh6Cg==