From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Jan Kratochvil To: git-commits@fedoraproject.org Subject: [rpms/gdb] gdb-17.2-rebase-f44: Rebase to FSF GDB 7.2.90.20110429 (which is a 7.3 pre-release). Date: Sat, 27 Jun 2026 23:55:08 GMT Message-ID: <178260450836.1.11049034940459639530.rpms-gdb-f314eb3eb50b@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: gdb-17.2-rebase-f44 X-Git-Rev: f314eb3eb50b6293a333561845469436ca1a1751 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZ2RiCiAgICAgICAgICAgIEJyYW5jaCA6IGdkYi0xNy4yLXJlYmFzZS1mNDQK ICAgICAgICAgICAgQ29tbWl0IDogZjMxNGViM2ViNTBiNjI5M2EzMzM1NjE4NDU0Njk0MzZjYTFh MTc1MQogICAgICAgICAgICBBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxA cmVkaGF0LmNvbT4KICAgICAgICAgICAgRGF0ZSAgIDogMjAxMS0wNC0yOVQxMDowNDo0NSswMjow MAogICAgICAgICAgICBTdGF0cyAgOiArMzI2NC8tOTYyIGluIDEzIGZpbGUocykKICAgICAgICAg ICAgVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9nZGIvYy9mMzE0 ZWIzZWI1MGI2MjkzYTMzMzU2MTg0NTQ2OTQzNmNhMWExNzUxP2JyYW5jaD1nZGItMTcuMi1yZWJh c2UtZjQ0CgogICAgICAgICAgICBMb2c6CiAgICAgICAgICAgIFJlYmFzZSB0byBGU0YgR0RCIDcu Mi45MC4yMDExMDQyOSAod2hpY2ggaXMgYSA3LjMgcHJlLXJlbGVhc2UpLgpGaXggLU8yIC1nIGJy ZWFrcG9pbnRzIGludGVybmFsIGVycm9yICsgcHJvbG9ndWUgc2tpcHBpbmcgKEJaIDYxMjI1Myku CkZpeCBjYXNlIGluc2Vuc2l0aXZlIHN5bWJvbHMgZm9yIEZvcnRyYW4gYnkgaUZvcnQgKEJaIDY0 NTc3MykuCkZpeCBwaHlzbmFtZS1yZWxhdGVkIENVIGV4cGFuc2lvbiBpc3N1ZSBmb3IgQysrIChQ UiAxMjcwOCkuCkZpeCBQeXRob24gYWNjZXNzIHRvIGlubGluZWQgZnJhbWVzIChCWiA2OTQ4MjQp LgoKLS0tCmRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9yZQppbmRleCBiMDAyYmYz Li43NmZkMmRjIDEwMDY0NAotLS0gYS8uZ2l0aWdub3JlCisrKyBiLy5naXRpZ25vcmUKQEAgLTEs MiArMSwyIEBACiAvbGlic3RkYysrLXYzLXB5dGhvbi1yMTU1OTc4LnRhci5iejIKLS9nZGItNy4y LjkwLjIwMTEwNDExLnRhci5iejIKKy9nZGItNy4yLjkwLjIwMTEwNDI5LnRhci5iejIKCmRpZmYg LS1naXQgYS9nZGItYXJjaGVyLnBhdGNoIGIvZ2RiLWFyY2hlci5wYXRjaAppbmRleCA5ODg2MmYy Li5iZmJlYzliIDEwMDY0NAotLS0gYS9nZGItYXJjaGVyLnBhdGNoCisrKyBiL2dkYi1hcmNoZXIu cGF0Y2gKQEAgLTExLDEwICsxMSwxMCBAQCBhcmNoZXItdHJvbWV5LXB5dGhvbgogYXJjaGVyLXNl cmdpb2RqLXN0YXAtZmVkb3JhMTVqawogCiAKLWRpZmYgLS1naXQgYS9iZmQvZWxmLWJmZC5oIGIv YmZkL2VsZi1iZmQuaAotaW5kZXggMjFlYzM4Zi4uZDUwODIzYSAxMDA2NDQKLS0tLSBhL2JmZC9l bGYtYmZkLmgKLSsrKyBiL2JmZC9lbGYtYmZkLmgKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5 L2JmZC9lbGYtYmZkLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcv YmZkL2VsZi1iZmQuaAkyMDExLTAzLTE0IDE2OjU0OjU3LjAwMDAwMDAwMCArMDEwMAorKysrIGdk Yi03LjIuOTAuMjAxMTA0MjkvYmZkL2VsZi1iZmQuaAkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAw MDAwMCArMDIwMAogQEAgLTE0NzYsNiArMTQ3NiwxNSBAQCBlbnVtCiAgICBUYWdfY29tcGF0aWJp bGl0eSA9IDMyCiAgfTsKQEAgLTQzLDExICs0MywxMSBAQCBpbmRleCAyMWVjMzhmLi5kNTA4MjNh IDEwMDY0NAogICAgLyogVHJ1ZSBpZiB0aGUgYmZkIGNvbnRhaW5zIHN5bWJvbHMgdGhhdCBoYXZl IHRoZSBTVFRfR05VX0lGVU5DCiAgICAgICBzeW1ib2wgdHlwZS4gIFVzZWQgdG8gc2V0IHRoZSBv c2FiaSBmaWVsZCBpbiB0aGUgRUxGIGhlYWRlcgogICAgICAgc3RydWN0dXJlLiAgKi8KLWRpZmYg LS1naXQgYS9iZmQvZWxmLmMgYi9iZmQvZWxmLmMKLWluZGV4IGY2OWFiZjIuLjNjMDM4ZWIgMTAw NjQ0Ci0tLS0gYS9iZmQvZWxmLmMKLSsrKyBiL2JmZC9lbGYuYwotQEAgLTg0MTYsNiArODQxNiwz NyBAQCBlbGZvYmpfZ3Jva19nbnVfbm90ZSAoYmZkICphYmZkLCBFbGZfSW50ZXJuYWxfTm90ZSAq bm90ZSkKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2JmZC9lbGYuYworPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQor LS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9iZmQvZWxmLmMJMjAxMS0wMy0xNCAxNjo1NDo1 OC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2JmZC9lbGYuYwkyMDEx LTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorQEAgLTg0MTYsNiArODQxNiwzNyBAQCBl bGZvYmpfZ3Jva19nbnVfbm90ZSAoYmZkICphYmZkLCBFbGZfSW50CiAgICAgIH0KICB9CiAgCkBA IC04NSw3ICs4NSw3IEBAIGluZGV4IGY2OWFiZjIuLjNjMDM4ZWIgMTAwNjQ0CiAgc3RhdGljIGJm ZF9ib29sZWFuCiAgZWxmY29yZV9uZXRic2RfZ2V0X2x3cGlkIChFbGZfSW50ZXJuYWxfTm90ZSAq bm90ZSwgaW50ICpsd3BpZHApCiAgewotQEAgLTkxODksNiArOTIyMCwxMiBAQCBlbGZfcGFyc2Vf bm90ZXMgKGJmZCAqYWJmZCwgY2hhciAqYnVmLCBzaXplX3Qgc2l6ZSwgZmlsZV9wdHIgb2Zmc2V0 KQorQEAgLTkxODksNiArOTIyMCwxMiBAQCBlbGZfcGFyc2Vfbm90ZXMgKGJmZCAqYWJmZCwgY2hh ciAqYnVmLCBzCiAgCSAgICAgIGlmICghIGVsZm9ial9ncm9rX2dudV9ub3RlIChhYmZkLCAmaW4p KQogIAkJcmV0dXJuIEZBTFNFOwogIAkgICAgfQpAQCAtOTgsMTEgKzk4LDExIEBAIGluZGV4IGY2 OWFiZjIuLjNjMDM4ZWIgMTAwNjQ0CiAgCSAgYnJlYWs7CiAgCX0KICAKLWRpZmYgLS1naXQgYS9n ZGIvTWFrZWZpbGUuaW4gYi9nZGIvTWFrZWZpbGUuaW4KLWluZGV4IDZhYmQ4N2EuLjkzZDhkYWUg MTAwNjQ0Ci0tLS0gYS9nZGIvTWFrZWZpbGUuaW4KLSsrKyBiL2dkYi9NYWtlZmlsZS5pbgotQEAg LTcyMSw4ICs3MjEsOCBAQCBTRklMRVMgPSBhZGEtZXhwLnkgYWRhLWxhbmcuYyBhZGEtdHlwZXBy aW50LmMgYWRhLXZhbHByaW50LmMgYWRhLXRhc2tzLmMgXAorSW5kZXg6IGdkYi03LjIuOTAuMjAx MTA0MjkvZ2RiL01ha2VmaWxlLmluCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDQy OS5vcmlnL2dkYi9NYWtlZmlsZS5pbgkyMDExLTAzLTMwIDA4OjU1OjM5LjAwMDAwMDAwMCArMDIw MAorKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL01ha2VmaWxlLmluCTIwMTEtMDQtMjkgMDk6 NDA6NDYuMDAwMDAwMDAwICswMjAwCitAQCAtNzIxLDggKzcyMSw4IEBAIFNGSUxFUyA9IGFkYS1l eHAueSBhZGEtbGFuZy5jIGFkYS10eXBlcHIKICAJc2VudGluZWwtZnJhbWUuYyBcCiAgCXNlcmlh bC5jIHNlci1iYXNlLmMgc2VyLXVuaXguYyBcCiAgCXNvbGliLmMgc29saWItdGFyZ2V0LmMgc291 cmNlLmMgXApAQCAtMTEzLDcgKzExMyw3IEBAIGluZGV4IDZhYmQ4N2EuLjkzZDhkYWUgMTAwNjQ0 CiAgCXRhcmdldC5jIHRhcmdldC1kZXNjcmlwdGlvbnMuYyB0YXJnZXQtbWVtb3J5LmMgXAogIAl0 aHJlYWQuYyB0b3AuYyB0cmFjZXBvaW50LmMgXAogIAl0cmFkLWZyYW1lLmMgXAotQEAgLTgxNCw3 ICs4MTQsNyBAQCBvc2RhdGEuaCBwcm9jZnMuaCBweXRob24vcHktZXZlbnQuaCBweXRob24vcHkt ZXZlbnRzLmggcHl0aG9uL3B5LXN0b3BldmVudC5oIFwKK0BAIC04MTQsNyArODE0LDcgQEAgb3Nk YXRhLmggcHJvY2ZzLmggcHl0aG9uL3B5LWV2ZW50LmggcHl0aAogIHB5dGhvbi9weXRob24taW50 ZXJuYWwuaCBweXRob24vcHl0aG9uLmggcmF2ZW5zY2FyLXRocmVhZC5oIHJlY29yZC5oIFwKICBz b2xpYi1kYXJ3aW4uaCBzb2xpYi1pYTY0LWhwdXguaCBzb2xpYi1zcHUuaCB3aW5kb3dzLW5hdC5o IHhjb2ZmcmVhZC5oIFwKICBnbnVsaWIvZXh0cmEvYXJnLW5vbm51bGwuaCBnbnVsaWIvZXh0cmEv YysrZGVmcy5oIGdudWxpYi9leHRyYS93YXJuLW9uLXVzZS5oIFwKQEAgLTEyMiw3ICsxMjIsNyBA QCBpbmRleCA2YWJkODdhLi45M2Q4ZGFlIDEwMDY0NAogIAogICMgSGVhZGVyIGZpbGVzIHRoYXQg YWxyZWFkeSBoYXZlIHNyY2RpciBpbiB0aGVtLCBvciB3aGljaCBhcmUgaW4gb2JqZGlyLgogIAot QEAgLTg5OSw3ICs4OTksNyBAQCBDT01NT05fT0JTID0gJChERVBGSUxFUykgJChDT05GSUdfT0JT KSAkKFlZT0JKKSBcCitAQCAtODk5LDcgKzg5OSw3IEBAIENPTU1PTl9PQlMgPSAkKERFUEZJTEVT KSAkKENPTkZJR19PQlMpICQKICAJcHJvbG9ndWUtdmFsdWUubyBtZW1vcnktbWFwLm8gbWVtcmFu Z2UubyB4bWwtc3VwcG9ydC5vIHhtbC1zeXNjYWxsLm8gXAogIAl0YXJnZXQtZGVzY3JpcHRpb25z Lm8gdGFyZ2V0LW1lbW9yeS5vIHhtbC10ZGVzYy5vIHhtbC1idWlsdGluLm8gXAogIAlpbmZlcmlv ci5vIG9zZGF0YS5vIGdkYl91c2xlZXAubyByZWNvcmQubyBnY29yZS5vIFwKQEAgLTEzMSw3ICsx MzEsNyBAQCBpbmRleCA2YWJkODdhLi45M2Q4ZGFlIDEwMDY0NAogIAogIFRTT0JTID0gaW5mbG93 Lm8KICAKLUBAIC0xMzIwLDYgKzEzMjAsMTIgQEAgc3RhbXAtaDogJChzcmNkaXIpL2NvbmZpZy5p biBjb25maWcuc3RhdHVzCitAQCAtMTMyMCw2ICsxMzIwLDEyIEBAIHN0YW1wLWg6ICQoc3JjZGly KS9jb25maWcuaW4gY29uZmlnLnN0YXQKICAJICBDT05GSUdfTElOS1M9IFwKICAJICAkKFNIRUxM KSBjb25maWcuc3RhdHVzCiAgCkBAIC0xNDQsMTAgKzE0NCwxMCBAQCBpbmRleCA2YWJkODdhLi45 M2Q4ZGFlIDEwMDY0NAogIGNvbmZpZy5zdGF0dXM6ICQoc3JjZGlyKS9jb25maWd1cmUgY29uZmln dXJlLnRndCBjb25maWd1cmUuaG9zdAogIAkkKFNIRUxMKSBjb25maWcuc3RhdHVzIC0tcmVjaGVj awogIAotZGlmZiAtLWdpdCBhL2dkYi9ORVdTIGIvZ2RiL05FV1MKLWluZGV4IDg2OTJlMmYuLmMy MmJmMGQgMTAwNjQ0Ci0tLS0gYS9nZGIvTkVXUwotKysrIGIvZ2RiL05FV1MKK0luZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNDI5L2dkYi9ORVdTCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDEx MDQyOS5vcmlnL2dkYi9ORVdTCTIwMTEtMDMtMzEgMTY6MzI6NDguMDAwMDAwMDAwICswMjAwCisr KysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvTkVXUwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAw MDAwMCArMDIwMAogQEAgLTM2LDYgKzM2LDEwIEBACiAgICBJbml0aWFsIHN1cHBvcnQgZm9yIHRo ZSBPcGVuQ0wgQyBsYW5ndWFnZSAoaHR0cDovL3d3dy5raHJvbm9zLm9yZy9vcGVuY2wpCiAgICBo YXMgYmVlbiBpbnRlZ3JhdGVkIGludG8gR0RCLgpAQCAtMTU5LDExICsxNTksMTEgQEAgaW5kZXgg ODY5MmUyZi4uYzIyYmYwZCAxMDA2NDQKICAqIFB5dGhvbiBzY3JpcHRpbmcKICAKICAgICoqIFRo ZSBmdW5jdGlvbiBnZGIuV3JpdGUgbm93IGFjY2VwdHMgYW4gb3B0aW9uYWwga2V5d29yZCAnc3Ry ZWFtJy4KLWRpZmYgLS1naXQgYS9nZGIvYWRhLWxhbmcuYyBiL2dkYi9hZGEtbGFuZy5jCi1pbmRl eCAwYTBiMDlmLi40NTQ2ZTkzIDEwMDY0NAotLS0tIGEvZ2RiL2FkYS1sYW5nLmMKLSsrKyBiL2dk Yi9hZGEtbGFuZy5jCi1AQCAtMTE0MjIsNiArMTE0MjIsNyBAQCBhZGFfb3BlcmF0b3JfbGVuZ3Ro IChjb25zdCBzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLCBpbnQgcGMsIGludCAqb3BsZW5wLAorSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2FkYS1sYW5nLmMKKz09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBn ZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL2FkYS1sYW5nLmMJMjAxMS0wNC0yMCAyMjoxMDoy OS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9hZGEtbGFuZy5j CTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCitAQCAtMTEzOTMsNiArMTEzOTMs NyBAQCBhZGFfb3BlcmF0b3JfbGVuZ3RoIChjb25zdCBzdHJ1Y3QgZXhwcmVzCiAgCiAgc3RhdGlj IGludAogIGFkYV9vcGVyYXRvcl9jaGVjayAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwgaW50IHBv cywKQEAgLTE3MSw3ICsxNzEsNyBAQCBpbmRleCAwYTBiMDlmLi40NTQ2ZTkzIDEwMDY0NAogIAkJ ICAgIGludCAoKm9iamZpbGVfZnVuYykgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLCB2b2lkICpk YXRhKSwKICAJCSAgICB2b2lkICpkYXRhKQogIHsKLUBAIC0xMTQzNiwxMiArMTE0MzcsMTUgQEAg YWRhX29wZXJhdG9yX2NoZWNrIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLCBpbnQgcG9zLAorQEAg LTExNDA3LDEyICsxMTQwOCwxNSBAQCBhZGFfb3BlcmF0b3JfY2hlY2sgKHN0cnVjdCBleHByZXNz aW9uICplCiAgCWJyZWFrOwogIAogICAgICAgIGRlZmF1bHQ6CkBAIC0xODksMTEgKzE4OSwxMSBA QCBpbmRleCAwYTBiMDlmLi40NTQ2ZTkzIDEwMDY0NAogICAgICAgICYmICgqb2JqZmlsZV9mdW5j KSAoVFlQRV9PQkpGSUxFICh0eXBlKSwgZGF0YSkpCiAgICAgIHJldHVybiAxOwogIAotZGlmZiAt LWdpdCBhL2dkYi9hbWQ2NC1saW51eC1uYXQuYyBiL2dkYi9hbWQ2NC1saW51eC1uYXQuYwotaW5k ZXggYTg2OWY4NS4uYzU5ZGFhMCAxMDA2NDQKLS0tLSBhL2dkYi9hbWQ2NC1saW51eC1uYXQuYwot KysrIGIvZ2RiL2FtZDY0LWxpbnV4LW5hdC5jCi1AQCAtMjY1LDE4ICsyNjUsMTEgQEAgYW1kNjRf bGludXhfc3RvcmVfaW5mZXJpb3JfcmVnaXN0ZXJzIChzdHJ1Y3QgdGFyZ2V0X29wcyAqb3BzLAor SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2FtZDY0LWxpbnV4LW5hdC5jCis9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9hbWQ2NC1saW51eC1uYXQuYwky MDExLTAxLTA3IDIwOjM2OjE1LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA0 MjkvZ2RiL2FtZDY0LWxpbnV4LW5hdC5jCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICsw MjAwCitAQCAtMjY1LDE4ICsyNjUsMTEgQEAgYW1kNjRfbGludXhfc3RvcmVfaW5mZXJpb3JfcmVn aXN0ZXJzIChzdAogIAwKICAvKiBTdXBwb3J0IGZvciBkZWJ1ZyByZWdpc3RlcnMuICAqLwogIApA QCAtMjEzLDcgKzIxMyw3IEBAIGluZGV4IGE4NjlmODUuLmM1OWRhYTAgMTAwNjQ0CiAgICAvKiBG SVhNRToga2V0dGVuaXMvMjAwMS0wMy0yNzogQ2FsbGluZyBwZXJyb3Jfd2l0aF9uYW1lIGlmIHRo ZQogICAgICAgcHRyYWNlIGNhbGwgZmFpbHMgYnJlYWtzIGRlYnVnZ2luZyByZW1vdGUgdGFyZ2V0 cy4gIFRoZSBjb3JyZWN0CiAgICAgICB3YXkgdG8gZml4IHRoaXMgaXMgdG8gYWRkIHRoZSBoYXJk d2FyZSBicmVha3BvaW50IGFuZCB3YXRjaHBvaW50Ci1AQCAtMjk4LDE0ICsyOTEsOCBAQCBhbWQ2 NF9saW51eF9kcl9nZXQgKHB0aWRfdCBwdGlkLCBpbnQgcmVnbnVtKQorQEAgLTI5OCwxNCArMjkx LDggQEAgYW1kNjRfbGludXhfZHJfZ2V0IChwdGlkX3QgcHRpZCwgaW50IHJlZwogIC8qIFNldCBk ZWJ1ZyByZWdpc3RlciBSRUdOVU0gdG8gVkFMVUUgaW4gb25seSB0aGUgb25lIExXUCBvZiBQVElE LiAgKi8KICAKICBzdGF0aWMgdm9pZApAQCAtMjI5LDcgKzIyOSw3IEBAIGluZGV4IGE4NjlmODUu LmM1OWRhYTAgMTAwNjQ0CiAgICBlcnJubyA9IDA7CiAgICBwdHJhY2UgKFBUUkFDRV9QT0tFVVNF UiwgdGlkLAogIAkgIG9mZnNldG9mIChzdHJ1Y3QgdXNlciwgdV9kZWJ1Z3JlZ1tyZWdudW1dKSwg dmFsdWUpOwotQEAgLTMxMywzNSArMzAwLDk2IEBAIGFtZDY0X2xpbnV4X2RyX3NldCAocHRpZF90 IHB0aWQsIGludCByZWdudW0sIHVuc2lnbmVkIGxvbmcgdmFsdWUpCitAQCAtMzEzLDM1ICszMDAs OTYgQEAgYW1kNjRfbGludXhfZHJfc2V0IChwdGlkX3QgcHRpZCwgaW50IHJlZwogICAgICBwZXJy b3Jfd2l0aF9uYW1lIChfKCJDb3VsZG4ndCB3cml0ZSBkZWJ1ZyByZWdpc3RlciIpKTsKICB9CiAg CkBAIC00MTEsMTEgKzQxMSwxMSBAQCBpbmRleCBhODY5Zjg1Li5jNTlkYWEwIDEwMDY0NAogIH0K ICAMCiAgCi1kaWZmIC0tZ2l0IGEvZ2RiL2F4LWdkYi5jIGIvZ2RiL2F4LWdkYi5jCi1pbmRleCBk MTczNmUxLi4zZTU0NzE2IDEwMDY0NAotLS0tIGEvZ2RiL2F4LWdkYi5jCi0rKysgYi9nZGIvYXgt Z2RiLmMKLUBAIC0yMDAxLDcgKzIwMDEsOCBAQCBnZW5fZXhwciAoc3RydWN0IGV4cHJlc3Npb24g KmV4cCwgdW5pb24gZXhwX2VsZW1lbnQgKipwYywKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5 L2dkYi9heC1nZGIuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9n ZGIvYXgtZ2RiLmMJMjAxMS0wMi0yNCAwODozOTo0Ny4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGIt Ny4yLjkwLjIwMTEwNDI5L2dkYi9heC1nZGIuYwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAw MCArMDIwMAorQEAgLTIwMDEsNyArMjAwMSw4IEBAIGdlbl9leHByIChzdHJ1Y3QgZXhwcmVzc2lv biAqZXhwLCB1bmlvbiAKICAKICAgICAgY2FzZSBPUF9JTlRFUk5BTFZBUjoKICAgICAgICB7CkBA IC00MjUsNyArNDI1LDcgQEAgaW5kZXggZDE3MzZlMS4uM2U1NDcxNiAxMDA2NDQKICAJc3RydWN0 IHRyYWNlX3N0YXRlX3ZhcmlhYmxlICp0c3Y7CiAgCiAgCSgqcGMpICs9IDM7Ci1AQCAtMjAxNSw3 ICsyMDE2LDcgQEAgZ2VuX2V4cHIgKHN0cnVjdCBleHByZXNzaW9uICpleHAsIHVuaW9uIGV4cF9l bGVtZW50ICoqcGMsCitAQCAtMjAxNSw3ICsyMDE2LDcgQEAgZ2VuX2V4cHIgKHN0cnVjdCBleHBy ZXNzaW9uICpleHAsIHVuaW9uIAogIAkgICAgdmFsdWUtPmtpbmQgPSBheHNfcnZhbHVlOwogIAkg ICAgdmFsdWUtPnR5cGUgPSBidWlsdGluX3R5cGUgKGV4cC0+Z2RiYXJjaCktPmJ1aWx0aW5fbG9u Z19sb25nOwogIAkgIH0KQEAgLTQzNCwxMCArNDM0LDEwIEBAIGluZGV4IGQxNzM2ZTEuLjNlNTQ3 MTYgMTAwNjQ0CiAgCSAgZXJyb3IgKF8oIiQlcyBpcyBub3QgYSB0cmFjZSBzdGF0ZSB2YXJpYWJs ZTsgR0RCIGFnZW50ICIKICAJCSAgICJleHByZXNzaW9ucyBjYW5ub3QgdXNlIGNvbnZlbmllbmNl IHZhcmlhYmxlcy4iKSwgbmFtZSk7CiAgICAgICAgfQotZGlmZiAtLWdpdCBhL2dkYi9ibG9jay5j IGIvZ2RiL2Jsb2NrLmMKLWluZGV4IDc3NmFlNTMuLjM1NDRjZjIgMTAwNjQ0Ci0tLS0gYS9nZGIv YmxvY2suYwotKysrIGIvZ2RiL2Jsb2NrLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dk Yi9ibG9jay5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9i bG9jay5jCTIwMTEtMDEtMDEgMTY6MzI6NTcuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45 MC4yMDExMDQyOS9nZGIvYmxvY2suYwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIw MAogQEAgLTMyMiwzICszMjIsMjEgQEAgYWxsb2NhdGVfYmxvY2sgKHN0cnVjdCBvYnN0YWNrICpv YnN0YWNrKQogIAogICAgcmV0dXJuIGJsOwpAQCAtNDYwLDIxICs0NjAsMjEgQEAgaW5kZXggNzc2 YWU1My4uMzU0NGNmMiAxMDA2NDQKICsKICsgIHJldHVybiBTWU1CT0xfU1lNVEFCIChmdW5jKS0+ b2JqZmlsZTsKICt9Ci1kaWZmIC0tZ2l0IGEvZ2RiL2Jsb2NrLmggYi9nZGIvYmxvY2suaAotaW5k ZXggMDdkNWJjNy4uZmFkODliMSAxMDA2NDQKLS0tLSBhL2dkYi9ibG9jay5oCi0rKysgYi9nZGIv YmxvY2suaAotQEAgLTE2Nyw0ICsxNjcsNiBAQCBleHRlcm4gY29uc3Qgc3RydWN0IGJsb2NrICpi bG9ja19nbG9iYWxfYmxvY2sgKGNvbnN0IHN0cnVjdCBibG9jayAqYmxvY2spOworSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA0MjkvZ2RiL2Jsb2NrLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkw LjIwMTEwNDI5Lm9yaWcvZ2RiL2Jsb2NrLmgJMjAxMS0wMS0wMSAxNjozMjo1Ny4wMDAwMDAwMDAg KzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9ibG9jay5oCTIwMTEtMDQtMjkgMDk6 NDA6NDYuMDAwMDAwMDAwICswMjAwCitAQCAtMTY3LDQgKzE2Nyw2IEBAIGV4dGVybiBjb25zdCBz dHJ1Y3QgYmxvY2sgKmJsb2NrX2dsb2JhbF8KICAKICBleHRlcm4gc3RydWN0IGJsb2NrICphbGxv Y2F0ZV9ibG9jayAoc3RydWN0IG9ic3RhY2sgKm9ic3RhY2spOwogIAogK2V4dGVybiBzdHJ1Y3Qg b2JqZmlsZSAqYmxvY2tfb2JqZmlsZSAoY29uc3Qgc3RydWN0IGJsb2NrICpibG9jayk7CiArCiAg I2VuZGlmIC8qIEJMT0NLX0ggKi8KLWRpZmYgLS1naXQgYS9nZGIvYnJlYWtwb2ludC5jIGIvZ2Ri L2JyZWFrcG9pbnQuYwotaW5kZXggMmEyNWM4ZC4uZThjNzcxYyAxMDA2NDQKLS0tLSBhL2dkYi9i cmVha3BvaW50LmMKLSsrKyBiL2dkYi9icmVha3BvaW50LmMKK0luZGV4OiBnZGItNy4yLjkwLjIw MTEwNDI5L2dkYi9icmVha3BvaW50LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEw NDI5Lm9yaWcvZ2RiL2JyZWFrcG9pbnQuYwkyMDExLTA0LTE1IDA2OjE4OjM0LjAwMDAwMDAwMCAr MDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2JyZWFrcG9pbnQuYwkyMDExLTA0LTI5 IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAogQEAgLTYzLDYgKzYzLDggQEAKICAjaW5jbHVkZSAi aml0LmgiCiAgI2luY2x1ZGUgInhtbC1zeXNjYWxsLmgiCkBAIC00ODQsNyArNDg0LDcgQEAgaW5k ZXggMmEyNWM4ZC4uZThjNzcxYyAxMDA2NDQKICAjaW5jbHVkZSAiY2xpL2NsaS11dGlscy5oIgog IAogIC8qIHJlYWRsaW5lIGluY2x1ZGUgZmlsZXMgKi8KLUBAIC0xMDcsNiArMTA5LDkgQEAgc3Rh dGljIHZvaWQgYnJlYWtfY29tbWFuZF8xIChjaGFyICosIGludCwgaW50KTsKK0BAIC0xMDcsNiAr MTA5LDkgQEAgc3RhdGljIHZvaWQgYnJlYWtfY29tbWFuZF8xIChjaGFyICosIGludAogIAogIHN0 YXRpYyB2b2lkIG1lbnRpb24gKHN0cnVjdCBicmVha3BvaW50ICopOwogIApAQCAtNDk0LDcgKzQ5 NCw3IEBAIGluZGV4IDJhMjVjOGQuLmU4Yzc3MWMgMTAwNjQ0CiAgLyogVGhpcyBmdW5jdGlvbiBp cyB1c2VkIGluIGdkYnRrIHNvdXJjZXMgYW5kIHRodXMgY2FuIG5vdCBiZSBtYWRlCiAgICAgc3Rh dGljLiAgKi8KICBzdHJ1Y3QgYnJlYWtwb2ludCAqc2V0X3Jhd19icmVha3BvaW50IChzdHJ1Y3Qg Z2RiYXJjaCAqZ2RiYXJjaCwKLUBAIC0xMjQ5LDYgKzEyNTQsOSBAQCB1cGRhdGVfd2F0Y2hwb2lu dCAoc3RydWN0IGJyZWFrcG9pbnQgKmIsIGludCByZXBhcnNlKQorQEAgLTEyNDksNiArMTI1NCw5 IEBAIHVwZGF0ZV93YXRjaHBvaW50IChzdHJ1Y3QgYnJlYWtwb2ludCAqYiwKICAgIGlmICghd2F0 Y2hwb2ludF9pbl90aHJlYWRfc2NvcGUgKGIpKQogICAgICByZXR1cm47CiAgCkBAIC01MDQsNyAr NTA0LDcgQEAgaW5kZXggMmEyNWM4ZC4uZThjNzcxYyAxMDA2NDQKICAgIGlmIChiLT5kaXNwb3Np dGlvbiA9PSBkaXNwX2RlbF9hdF9uZXh0X3N0b3ApCiAgICAgIHJldHVybjsKICAgCi1AQCAtMTUy MCw2ICsxNTI4LDQwIEBAIHNob3VsZF9iZV9pbnNlcnRlZCAoc3RydWN0IGJwX2xvY2F0aW9uICpi bCkKK0BAIC0xNTIwLDYgKzE1MjgsNDAgQEAgc2hvdWxkX2JlX2luc2VydGVkIChzdHJ1Y3QgYnBf bG9jYXRpb24gKgogICAgcmV0dXJuIDE7CiAgfQogIApAQCAtNTQ1LDcgKzU0NSw3IEBAIGluZGV4 IDJhMjVjOGQuLmU4Yzc3MWMgMTAwNjQ0CiAgLyogSW5zZXJ0IGEgbG93LWxldmVsICJicmVha3Bv aW50IiBvZiBzb21lIHR5cGUuICBCTCBpcyB0aGUgYnJlYWtwb2ludAogICAgIGxvY2F0aW9uLiAg QW55IGVycm9yIG1lc3NhZ2VzIGFyZSBwcmludGVkIHRvIFRNUF9FUlJPUl9TVFJFQU07IGFuZAog ICAgIERJU0FCTEVEX0JSRUFLUywgYW5kIEhXX0JSRUFLUE9JTlRfRVJST1IgYXJlIHVzZWQgdG8g cmVwb3J0IHByb2JsZW1zLgotQEAgLTE2MTYsNiArMTY1OCw4IEBAIGluc2VydF9icF9sb2NhdGlv biAoc3RydWN0IGJwX2xvY2F0aW9uICpibCwKK0BAIC0xNjE2LDYgKzE2NTgsOCBAQCBpbnNlcnRf YnBfbG9jYXRpb24gKHN0cnVjdCBicF9sb2NhdGlvbiAqCiAgCSAgZWxzZQogIAkgICAgdmFsID0g dGFyZ2V0X2luc2VydF9icmVha3BvaW50IChibC0+Z2RiYXJjaCwKICAJCQkJCSAgICAmYmwtPnRh cmdldF9pbmZvKTsKQEAgLTY1OSw3ICs2NTksNyBAQCBpbmRleCAyYTI1YzhkLi5lOGM3NzFjIDEw MDY0NAogICAgICAgIGZvciAoaSA9IDA7IGkgPCBOVU1fTE9OR0pNUF9OQU1FUzsgaSsrKQogIAl7 CiAgCSAgc3RydWN0IGJyZWFrcG9pbnQgKmI7Ci1AQCAtMjMzNSw2ICsyNDIyLDMxIEBAIGNyZWF0 ZV9leGNlcHRpb25fbWFzdGVyX2JyZWFrcG9pbnQgKHZvaWQpCitAQCAtMjMzNSw2ICsyNDIyLDMx IEBAIGNyZWF0ZV9leGNlcHRpb25fbWFzdGVyX2JyZWFrcG9pbnQgKHZvaWQKICAKICAgICAgICBi cF9vYmpmaWxlX2RhdGEgPSBnZXRfYnJlYWtwb2ludF9vYmpmaWxlX2RhdGEgKG9iamZpbGUpOwog IApAQCAtNjkxLDcgKzY5MSw3IEBAIGluZGV4IDJhMjVjOGQuLmU4Yzc3MWMgMTAwNjQ0CiAgICAg ICAgaWYgKG1zeW1fbm90X2ZvdW5kX3AgKGJwX29iamZpbGVfZGF0YS0+ZXhjZXB0aW9uX21zeW0p KQogIAljb250aW51ZTsKICAKLUBAIC0yNTUzLDYgKzI2NjUsOCBAQCByZW1vdmVfYnJlYWtwb2lu dF8xIChzdHJ1Y3QgYnBfbG9jYXRpb24gKmJsLCBpbnNlcnRpb25fc3RhdGVfdCBpcykKK0BAIC0y NTUzLDYgKzI2NjUsOCBAQCByZW1vdmVfYnJlYWtwb2ludF8xIChzdHJ1Y3QgYnBfbG9jYXRpb24g CiAgCSAgICB2YWwgPSB0YXJnZXRfcmVtb3ZlX2h3X2JyZWFrcG9pbnQgKGJsLT5nZGJhcmNoLCAm YmwtPnRhcmdldF9pbmZvKTsKICAJICBlbHNlCiAgCSAgICB2YWwgPSB0YXJnZXRfcmVtb3ZlX2Jy ZWFrcG9pbnQgKGJsLT5nZGJhcmNoLCAmYmwtPnRhcmdldF9pbmZvKTsKQEAgLTcwMCw3ICs3MDAs NyBAQCBpbmRleCAyYTI1YzhkLi5lOGM3NzFjIDEwMDY0NAogIAl9CiAgICAgICAgZWxzZQogIAl7 Ci1AQCAtNTkwMiw2ICs2MDE2LDcgQEAgc2V0X3Jhd19icmVha3BvaW50IChzdHJ1Y3QgZ2RiYXJj aCAqZ2RiYXJjaCwKK0BAIC01OTAyLDYgKzYwMTYsNyBAQCBzZXRfcmF3X2JyZWFrcG9pbnQgKHN0 cnVjdCBnZGJhcmNoICpnZGJhCiAgICBiLT5sb2MtPnJlcXVlc3RlZF9hZGRyZXNzID0gc2FsLnBj OwogICAgYi0+bG9jLT5hZGRyZXNzID0gYWRqdXN0ZWRfYWRkcmVzczsKICAgIGItPmxvYy0+cHNw YWNlID0gc2FsLnBzcGFjZTsKQEAgLTcwOCw3ICs3MDgsNyBAQCBpbmRleCAyYTI1YzhkLi5lOGM3 NzFjIDEwMDY0NAogIAogICAgLyogU3RvcmUgdGhlIHByb2dyYW0gc3BhY2UgdGhhdCB3YXMgdXNl ZCB0byBzZXQgdGhlIGJyZWFrcG9pbnQsIGZvcgogICAgICAgYnJlYWtwb2ludCByZXNldHRpbmcu ICAqLwotQEAgLTcwNTcsNiArNzE3Miw3IEBAIGNsb25lX21vbWVudGFyeV9icmVha3BvaW50IChz dHJ1Y3QgYnJlYWtwb2ludCAqb3JpZykKK0BAIC03MDU3LDYgKzcxNzIsNyBAQCBjbG9uZV9tb21l bnRhcnlfYnJlYWtwb2ludCAoc3RydWN0IGJyZWFrCiAgICBjb3B5LT5sb2MtPmFkZHJlc3MgPSBv cmlnLT5sb2MtPmFkZHJlc3M7CiAgICBjb3B5LT5sb2MtPnNlY3Rpb24gPSBvcmlnLT5sb2MtPnNl Y3Rpb247CiAgICBjb3B5LT5sb2MtPnBzcGFjZSA9IG9yaWctPmxvYy0+cHNwYWNlOwpAQCAtNzE2 LDcgKzcxNiw3IEBAIGluZGV4IDJhMjVjOGQuLmU4Yzc3MWMgMTAwNjQ0CiAgCiAgICBpZiAob3Jp Zy0+c291cmNlX2ZpbGUgPT0gTlVMTCkKICAgICAgY29weS0+c291cmNlX2ZpbGUgPSBOVUxMOwot QEAgLTcyODAsNiArNzM5Niw3IEBAIGFkZF9sb2NhdGlvbl90b19icmVha3BvaW50IChzdHJ1Y3Qg YnJlYWtwb2ludCAqYiwKK0BAIC03MjgwLDYgKzczOTYsNyBAQCBhZGRfbG9jYXRpb25fdG9fYnJl YWtwb2ludCAoc3RydWN0IGJyZWFrCiAgICBsb2MtPmFkZHJlc3MgPSBhZGp1c3RfYnJlYWtwb2lu dF9hZGRyZXNzIChsb2MtPmdkYmFyY2gsCiAgCQkJCQkgICAgbG9jLT5yZXF1ZXN0ZWRfYWRkcmVz cywgYi0+dHlwZSk7CiAgICBsb2MtPnBzcGFjZSA9IHNhbC0+cHNwYWNlOwpAQCAtNzI0LDcgKzcy NCw3IEBAIGluZGV4IDJhMjVjOGQuLmU4Yzc3MWMgMTAwNjQ0CiAgICBnZGJfYXNzZXJ0IChsb2Mt PnBzcGFjZSAhPSBOVUxMKTsKICAgIGxvYy0+c2VjdGlvbiA9IHNhbC0+c2VjdGlvbjsKICAKLUBA IC03NjI5LDYgKzc3NDYsMTYgQEAgY3JlYXRlX2JyZWFrcG9pbnRzX3NhbCAoc3RydWN0IGdkYmFy Y2ggKmdkYmFyY2gsCitAQCAtNzYyOSw2ICs3NzQ2LDE2IEBAIGNyZWF0ZV9icmVha3BvaW50c19z YWwgKHN0cnVjdCBnZGJhcmNoICoKICB7CiAgICBpbnQgaTsKICAKQEAgLTc0MSw3ICs3NDEsNyBA QCBpbmRleCAyYTI1YzhkLi5lOGM3NzFjIDEwMDY0NAogICAgZm9yIChpID0gMDsgaSA8IHNhbHMu bmVsdHM7ICsraSkKICAgICAgewogICAgICAgIHN0cnVjdCBzeW10YWJzX2FuZF9saW5lcyBleHBh bmRlZCA9IAotQEAgLTgxNTQsNyArODI4MSw3IEBAIGNyZWF0ZV9icmVha3BvaW50IChzdHJ1Y3Qg Z2RiYXJjaCAqZ2RiYXJjaCwKK0BAIC04MTU0LDcgKzgyODEsNyBAQCBjcmVhdGVfYnJlYWtwb2lu dCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyCiAgICAgICAgICBtZW50aW9uIChiKTsKICAgICAgfQog ICAgCkBAIC03NTAsNyArNzUwLDcgQEAgaW5kZXggMmEyNWM4ZC4uZThjNzcxYyAxMDA2NDQKICAg ICAgewogICAgICAgIHdhcm5pbmcgKF8oIk11bHRpcGxlIGJyZWFrcG9pbnRzIHdlcmUgc2V0Llxu VXNlIHRoZSAiCiAgCQkgIlwiZGVsZXRlXCIgY29tbWFuZCB0byBkZWxldGUgdW53YW50ZWQgYnJl YWtwb2ludHMuIikpOwotQEAgLTkwMjYsNiArOTE1Myw3IEBAIHdhdGNoX2NvbW1hbmRfMSAoY2hh ciAqYXJnLCBpbnQgYWNjZXNzZmxhZywgaW50IGZyb21fdHR5LAorQEAgLTkwMjYsNiArOTE1Myw3 IEBAIHdhdGNoX2NvbW1hbmRfMSAoY2hhciAqYXJnLCBpbnQgYWNjZXNzZmwKICAgIGIgPSBzZXRf cmF3X2JyZWFrcG9pbnRfd2l0aG91dF9sb2NhdGlvbiAoTlVMTCwgYnBfdHlwZSk7CiAgICBzZXRf YnJlYWtwb2ludF9udW1iZXIgKGludGVybmFsLCBiKTsKICAgIGItPnRocmVhZCA9IHRocmVhZDsK QEAgLTc1OCw3ICs3NTgsNyBAQCBpbmRleCAyYTI1YzhkLi5lOGM3NzFjIDEwMDY0NAogICAgYi0+ ZGlzcG9zaXRpb24gPSBkaXNwX2RvbnR0b3VjaDsKICAgIGItPmV4cCA9IGV4cDsKICAgIGItPmV4 cF92YWxpZF9ibG9jayA9IGV4cF92YWxpZF9ibG9jazsKLUBAIC0xMDE4OCw2ICsxMDMxNiw5IEBA IHVwZGF0ZV9nbG9iYWxfbG9jYXRpb25fbGlzdCAoaW50IHNob3VsZF9pbnNlcnQpCitAQCAtMTAx ODgsNiArMTAzMTYsOSBAQCB1cGRhdGVfZ2xvYmFsX2xvY2F0aW9uX2xpc3QgKGludCBzaG91bGRf CiAgICAgICAgaW50IGtlZXBfaW5fdGFyZ2V0ID0gMDsKICAgICAgICBpbnQgcmVtb3ZlZCA9IDA7 CiAgCkBAIC03NjgsNyArNzY4LDcgQEAgaW5kZXggMmEyNWM4ZC4uZThjNzcxYyAxMDA2NDQKICAg ICAgICAvKiBTa2lwIExPQ1AgZW50cmllcyB3aGljaCB3aWxsIGRlZmluaXRlbHkgbmV2ZXIgYmUg bmVlZGVkLgogIAkgU3RvcCBlaXRoZXIgYXQgb3IgYmVpbmcgdGhlIG9uZSBtYXRjaGluZyBPTERf TE9DLiAgKi8KICAgICAgICB3aGlsZSAobG9jcCA8IGJwX2xvY2F0aW9uICsgYnBfbG9jYXRpb25f Y291bnQKLUBAIC0xMDk1MiwxMiArMTEwODMsMTQgQEAgdXBkYXRlX2JyZWFrcG9pbnRfbG9jYXRp b25zIChzdHJ1Y3QgYnJlYWtwb2ludCAqYiwKK0BAIC0xMDk1MiwxMiArMTEwODMsMTQgQEAgdXBk YXRlX2JyZWFrcG9pbnRfbG9jYXRpb25zIChzdHJ1Y3QgYnJlYQogICAgIE9uIHJldHVybiwgRk9V TkQgd2lsbCBiZSAxIGlmIGFueSBTYUwgd2FzIGZvdW5kLCB6ZXJvIG90aGVyd2lzZS4gICovCiAg CiAgc3RhdGljIHN0cnVjdCBzeW10YWJzX2FuZF9saW5lcwpAQCAtNzg0LDcgKzc4NCw3IEBAIGlu ZGV4IDJhMjVjOGQuLmU4Yzc3MWMgMTAwNjQ0CiAgCiAgICBzID0gYWRkcl9zdHJpbmc7CiAgICBt YXJrZXJfc3BlYyA9IGItPnR5cGUgPT0gYnBfc3RhdGljX3RyYWNlcG9pbnQgJiYgaXNfbWFya2Vy X3NwZWMgKHMpOwotQEAgLTEwOTc2LDggKzExMTA5LDI3IEBAIGFkZHJfc3RyaW5nX3RvX3NhbHMg KHN0cnVjdCBicmVha3BvaW50ICpiLCBjaGFyICphZGRyX3N0cmluZywgaW50ICpmb3VuZCkKK0BA IC0xMDk3Niw4ICsxMTEwOSwyNyBAQCBhZGRyX3N0cmluZ190b19zYWxzIChzdHJ1Y3QgYnJlYWtw b2ludCAqCiAgCSAgICBlcnJvciAoXygibWFya2VyICVzIG5vdCBmb3VuZCIpLCBiLT5zdGF0aWNf dHJhY2VfbWFya2VyX2lkKTsKICAJfQogICAgICAgIGVsc2UKQEAgLTgxNCw3ICs4MTQsNyBAQCBp bmRleCAyYTI1YzhkLi5lOGM3NzFjIDEwMDY0NAogICAgICB9CiAgICBpZiAoZS5yZWFzb24gPCAw KQogICAgICB7Ci1AQCAtMTEwMTAsNyArMTExNjIsNyBAQCBhZGRyX3N0cmluZ190b19zYWxzIChz dHJ1Y3QgYnJlYWtwb2ludCAqYiwgY2hhciAqYWRkcl9zdHJpbmcsIGludCAqZm91bmQpCitAQCAt MTEwMTAsNyArMTExNjIsNyBAQCBhZGRyX3N0cmluZ190b19zYWxzIChzdHJ1Y3QgYnJlYWtwb2lu dCAqCiAgCiAgICBpZiAoIW5vdF9mb3VuZCkKICAgICAgewpAQCAtODc5LDcgKzg3OSw3IEBAIGlu ZGV4IDJhMjVjOGQuLmU4Yzc3MWMgMTAwNjQ0CiAgDAogIC8qIFRoaXMgaGVscCBzdHJpbmcgaXMg dXNlZCBmb3IgdGhlIGJyZWFrLCBoYnJlYWssIHRicmVhayBhbmQgdGhicmVhawogICAgIGNvbW1h bmRzLiAgSXQgaXMgZGVmaW5lZCBhcyBhIG1hY3JvIHRvIHByZXZlbnQgZHVwbGljYXRpb24uCi1A QCAtMTMxMzYsNCArMTMzMTEsNyBAQCByYW5nZSAoaW5jbHVkaW5nIFNUQVJULUxPQ0FUSU9OIGFu ZCBFTkQtTE9DQVRJT04pLiIpKTsKK0BAIC0xMzEzNiw0ICsxMzMxMSw3IEBAIHJhbmdlIChpbmNs dWRpbmcgU1RBUlQtTE9DQVRJT04gYW5kIEVORC0KICAgIGF1dG9tYXRpY19oYXJkd2FyZV9icmVh a3BvaW50cyA9IDE7CiAgCiAgICBvYnNlcnZlcl9hdHRhY2hfYWJvdXRfdG9fcHJvY2VlZCAoYnJl YWtwb2ludF9hYm91dF90b19wcm9jZWVkKTsKQEAgLTg4NywxMCArODg3LDEwIEBAIGluZGV4IDJh MjVjOGQuLmU4Yzc3MWMgMTAwNjQ0CiArICBvYnNlcnZlcl9hdHRhY2hfbWFya191c2VkIChicmVh a3BvaW50X3R5cGVzX21hcmtfdXNlZCk7CiArI2VuZGlmCiAgfQotZGlmZiAtLWdpdCBhL2dkYi9i cmVha3BvaW50LmggYi9nZGIvYnJlYWtwb2ludC5oCi1pbmRleCA3YTljMmQ0Li44YTkxMDE5IDEw MDY0NAotLS0tIGEvZ2RiL2JyZWFrcG9pbnQuaAotKysrIGIvZ2RiL2JyZWFrcG9pbnQuaAorSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2JyZWFrcG9pbnQuaAorPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0t IGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvYnJlYWtwb2ludC5oCTIwMTEtMDMtMzEgMTY6 MzI6NDguMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvYnJlYWtw b2ludC5oCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCiBAQCAtMzYzLDYgKzM2 MywxMSBAQCBzdHJ1Y3QgYnBfbG9jYXRpb24KICAgICAgIHByb2Nlc3NvcidzIGFyY2hpdGVjdHVh bCBjb25zdHJhaW50cy4gICovCiAgICBDT1JFX0FERFIgcmVxdWVzdGVkX2FkZHJlc3M7CkBAIC05 MDMsNyArOTAzLDcgQEAgaW5kZXggN2E5YzJkNC4uOGE5MTAxOSAxMDA2NDQKICAgIGNoYXIgKmZ1 bmN0aW9uX25hbWU7CiAgCiAgICAvKiBEZXRhaWxzIG9mIHRoZSBwbGFjZWQgYnJlYWtwb2ludCwg d2hlbiBpbnNlcnRlZC4gICovCi1AQCAtMTIzNyw0ICsxMjQyLDExIEBAIGV4dGVybiBzdHJ1Y3Qg YnJlYWtwb2ludCAqaXRlcmF0ZV9vdmVyX2JyZWFrcG9pbnRzIChpbnQgKCopIChzdHJ1Y3QgYnJl YWtwb2ludCAqCitAQCAtMTIzMyw0ICsxMjM4LDExIEBAIGV4dGVybiBzdHJ1Y3QgYnJlYWtwb2lu dCAqaXRlcmF0ZV9vdmVyX2IKICAKICBleHRlcm4gaW50IHVzZXJfYnJlYWtwb2ludF9wIChzdHJ1 Y3QgYnJlYWtwb2ludCAqKTsKICAKQEAgLTkxNSwxMSArOTE1LDExIEBAIGluZGV4IDdhOWMyZDQu LjhhOTEwMTkgMTAwNjQ0CiArZXh0ZXJuIHZvaWQgbW9kaWZ5X3NlbWFwaG9yZSAoc3RydWN0IGJw X2xvY2F0aW9uICpsb2NhdGlvbiwgaW50IHNldCk7CiArCiAgI2VuZGlmIC8qICFkZWZpbmVkIChC UkVBS1BPSU5UX0gpICovCi1kaWZmIC0tZ2l0IGEvZ2RiL2MtdHlwZXByaW50LmMgYi9nZGIvYy10 eXBlcHJpbnQuYwotaW5kZXggMmUyM2RkNy4uYWVmYzgwNyAxMDA2NDQKLS0tLSBhL2dkYi9jLXR5 cGVwcmludC5jCi0rKysgYi9nZGIvYy10eXBlcHJpbnQuYwotQEAgLTYyNSw5ICs2MjUsMTQgQEAg Y190eXBlX3ByaW50X3ZhcnNwZWNfc3VmZml4IChzdHJ1Y3QgdHlwZSAqdHlwZSwKK0luZGV4OiBn ZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9jLXR5cGVwcmludC5jCis9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2Ri LTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9jLXR5cGVwcmludC5jCTIwMTEtMDMtMjIgMTg6MzU6 MjIuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvYy10eXBlcHJp bnQuYwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorQEAgLTYyNSw5ICs2MjUs MTQgQEAgY190eXBlX3ByaW50X3ZhcnNwZWNfc3VmZml4IChzdHJ1Y3QgdHlwZQogIAkgIGZwcmlu dGZfZmlsdGVyZWQgKHN0cmVhbSwgIikiKTsKICAKICAJZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFt LCAiWyIpOwpAQCAtOTM3LDExICs5MzcsMTEgQEAgaW5kZXggMmUyM2RkNy4uYWVmYzgwNyAxMDA2 NDQKICAJZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFtLCAiXSIpOwogIAogIAljX3R5cGVfcHJpbnRf dmFyc3BlY19zdWZmaXggKFRZUEVfVEFSR0VUX1RZUEUgKHR5cGUpLCBzdHJlYW0sCi1kaWZmIC0t Z2l0IGEvZ2RiL2NsaS9jbGktdXRpbHMuYyBiL2dkYi9jbGkvY2xpLXV0aWxzLmMKLWluZGV4IDYy YTJmMTIuLmRkMjgyNGYgMTAwNjQ0Ci0tLS0gYS9nZGIvY2xpL2NsaS11dGlscy5jCi0rKysgYi9n ZGIvY2xpL2NsaS11dGlscy5jCi1AQCAtMjQ1LDMgKzI0NSwzMiBAQCByZW1vdmVfdHJhaWxpbmdf d2hpdGVzcGFjZSAoY29uc3QgY2hhciAqc3RhcnQsIGNoYXIgKnMpCitJbmRleDogZ2RiLTcuMi45 MC4yMDExMDQyOS9nZGIvY2xpL2NsaS11dGlscy5jCis9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45 MC4yMDExMDQyOS5vcmlnL2dkYi9jbGkvY2xpLXV0aWxzLmMJMjAxMS0wMy0xNiAyMjoxMjoxMi4w MDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9jbGkvY2xpLXV0aWxz LmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKK0BAIC0yNDUsMyArMjQ1LDMy IEBAIHJlbW92ZV90cmFpbGluZ193aGl0ZXNwYWNlIChjb25zdCBjaGFyICoKICAKICAgIHJldHVy biBzOwogIH0KQEAgLTk3NCwxMCArOTc0LDEwIEBAIGluZGV4IDYyYTJmMTIuLmRkMjgyNGYgMTAw NjQ0CiArCiArICByZXR1cm4gY29weTsKICt9Ci1kaWZmIC0tZ2l0IGEvZ2RiL2NsaS9jbGktdXRp bHMuaCBiL2dkYi9jbGkvY2xpLXV0aWxzLmgKLWluZGV4IDhhNmU1YjMuLmVkMWE2M2UgMTAwNjQ0 Ci0tLS0gYS9nZGIvY2xpL2NsaS11dGlscy5oCi0rKysgYi9nZGIvY2xpL2NsaS11dGlscy5oCitJ bmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvY2xpL2NsaS11dGlscy5oCis9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 CistLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9jbGkvY2xpLXV0aWxzLmgJMjAxMS0w My0xNiAyMjoxMjoxMi4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dk Yi9jbGkvY2xpLXV0aWxzLmgJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKIEBA IC0xMDMsNCArMTAzLDExIEBAIGV4dGVybiBjaGFyICpza2lwX3RvX3NwYWNlIChjaGFyICppbnAp OwogICAgIFNUQVJULiAgKi8KICAKQEAgLTk5MCwxMSArOTkwLDExIEBAIGluZGV4IDhhNmU1YjMu LmVkMWE2M2UgMTAwNjQ0CiArZXh0ZXJuIGNoYXIgKmV4dHJhY3RfYXJnIChjaGFyICoqYXJnKTsK ICsKICAjZW5kaWYgLyogQ0xJX1VUSUxTX0ggKi8KLWRpZmYgLS1naXQgYS9nZGIvY29mZnJlYWQu YyBiL2dkYi9jb2ZmcmVhZC5jCi1pbmRleCBiMTFkZDczLi4wODY4YTc5IDEwMDY0NAotLS0tIGEv Z2RiL2NvZmZyZWFkLmMKLSsrKyBiL2dkYi9jb2ZmcmVhZC5jCi1AQCAtMjE5Myw2ICsyMTkzLDcg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBzeW1fZm5zIGNvZmZfc3ltX2ZucyA9CitJbmRleDogZ2Ri LTcuMi45MC4yMDExMDQyOS9nZGIvY29mZnJlYWQuYworPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIu OTAuMjAxMTA0Mjkub3JpZy9nZGIvY29mZnJlYWQuYwkyMDExLTAzLTE3IDE0OjE5OjIzLjAwMDAw MDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2NvZmZyZWFkLmMJMjAxMS0w NC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKK0BAIC0yMTkzLDYgKzIxOTMsNyBAQCBzdGF0 aWMgY29uc3Qgc3RydWN0IHN5bV9mbnMgY29mZl9zeW1fZm5zCiAgCiAgICBkZWZhdWx0X3N5bWZp bGVfcmVsb2NhdGUsCS8qIHN5bV9yZWxvY2F0ZTogUmVsb2NhdGUgYSBkZWJ1ZwogIAkJCQkgICBz ZWN0aW9uLiAgKi8KQEAgLTEwMDIsMTAgKzEwMDIsMTAgQEAgaW5kZXggYjExZGQ3My4uMDg2OGE3 OSAxMDA2NDQKICAgICZwc3ltX2Z1bmN0aW9ucwogIH07CiAgCi1kaWZmIC0tZ2l0IGEvZ2RiL2Rh dGEtZGlyZWN0b3J5L01ha2VmaWxlLmluIGIvZ2RiL2RhdGEtZGlyZWN0b3J5L01ha2VmaWxlLmlu Ci1pbmRleCAxMWNmMmU2Li45YTJhOGY4IDEwMDY0NAotLS0tIGEvZ2RiL2RhdGEtZGlyZWN0b3J5 L01ha2VmaWxlLmluCi0rKysgYi9nZGIvZGF0YS1kaXJlY3RvcnkvTWFrZWZpbGUuaW4KK0luZGV4 OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9kYXRhLWRpcmVjdG9yeS9NYWtlZmlsZS5pbgorPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvZGF0YS1kaXJlY3Rvcnkv TWFrZWZpbGUuaW4JMjAxMS0wMi0wNCAxOTozNDo0MS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGIt Ny4yLjkwLjIwMTEwNDI5L2dkYi9kYXRhLWRpcmVjdG9yeS9NYWtlZmlsZS5pbgkyMDExLTA0LTI5 IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAogQEAgLTUyLDExICs1MiwyMyBAQCBTWVNDQUxMU19G SUxFUyA9IFwKICBQWVRIT05fRElSID0gcHl0aG9uCiAgUFlUSE9OX0lOU1RBTExfRElSID0gJChE RVNURElSKSQoR0RCX0RBVEFESVIpLyQoUFlUSE9OX0RJUikKQEAgLTEwMzMsMTAgKzEwMzMsMTAg QEAgaW5kZXggMTFjZjJlNi4uOWEyYThmOCAxMDA2NDQKICAKICBGTEFHU19UT19QQVNTID0gXAog IAkicHJlZml4PSQocHJlZml4KSIgXAotZGlmZiAtLWdpdCBhL2dkYi9kYnhyZWFkLmMgYi9nZGIv ZGJ4cmVhZC5jCi1pbmRleCA1MWRkZDlkLi5hNTlhZTEwIDEwMDY0NAotLS0tIGEvZ2RiL2RieHJl YWQuYwotKysrIGIvZ2RiL2RieHJlYWQuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2Ri L2RieHJlYWQuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIv ZGJ4cmVhZC5jCTIwMTEtMDMtMjMgMTk6MjM6NTQuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcu Mi45MC4yMDExMDQyOS9nZGIvZGJ4cmVhZC5jCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAw ICswMjAwCiBAQCAtMSw2ICsxLDYgQEAKICAvKiBSZWFkIGRieCBzeW1ib2wgdGFibGVzIGFuZCBj b252ZXJ0IHRvIGludGVybmFsIGZvcm1hdCwgZm9yIEdEQi4KICAgICBDb3B5cmlnaHQgKEMpIDE5 ODYsIDE5ODcsIDE5ODgsIDE5ODksIDE5OTAsIDE5OTEsIDE5OTIsIDE5OTMsIDE5OTQsIDE5OTUs CkBAIC0xMDQ1LDcgKzEwNDUsNyBAQCBpbmRleCA1MWRkZDlkLi5hNTlhZTEwIDEwMDY0NAogICAg IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogIAogICAgIFRoaXMgZmlsZSBpcyBwYXJ0 IG9mIEdEQi4KLUBAIC0zNTg3LDYgKzM1ODcsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHN5bV9m bnMgYW91dF9zeW1fZm5zID0KK0BAIC0zNTg3LDYgKzM1ODcsNyBAQCBzdGF0aWMgY29uc3Qgc3Ry dWN0IHN5bV9mbnMgYW91dF9zeW1fZm5zCiAgICBkZWZhdWx0X3N5bWZpbGVfc2VnbWVudHMsCS8q IEdldCBzZWdtZW50IGluZm9ybWF0aW9uIGZyb20gYSBmaWxlLiAgKi8KICAgIE5VTEwsCiAgICBk ZWZhdWx0X3N5bWZpbGVfcmVsb2NhdGUsCS8qIFJlbG9jYXRlIGEgZGVidWcgc2VjdGlvbi4gICov CkBAIC0xMDUzLDExICsxMDUzLDExIEBAIGluZGV4IDUxZGRkOWQuLmE1OWFlMTAgMTAwNjQ0CiAg ICAmcHN5bV9mdW5jdGlvbnMKICB9OwogIAotZGlmZiAtLWdpdCBhL2dkYi9kZWZzLmggYi9nZGIv ZGVmcy5oCi1pbmRleCA5NTMxYzVhLi5iOTk0NjQ1IDEwMDY0NAotLS0tIGEvZ2RiL2RlZnMuaAot KysrIGIvZ2RiL2RlZnMuaAotQEAgLTM5OCw2ICszOTgsOCBAQCBleHRlcm4gc3RydWN0IGNsZWFu dXAgKm1ha2VfY2xlYW51cF9yZXN0b3JlX3BhZ2VfaW5mbyAodm9pZCk7CitJbmRleDogZ2RiLTcu Mi45MC4yMDExMDQyOS9nZGIvZGVmcy5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDEx MDQyOS5vcmlnL2dkYi9kZWZzLmgJMjAxMS0wMy0zMSAxNjozMjo0OC4wMDAwMDAwMDAgKzAyMDAK KysrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9kZWZzLmgJMjAxMS0wNC0yOSAwOTo0MDo0Ni4w MDAwMDAwMDAgKzAyMDAKK0BAIC0zOTgsNiArMzk4LDggQEAgZXh0ZXJuIHN0cnVjdCBjbGVhbnVw ICptYWtlX2NsZWFudXBfcmVzdAogIGV4dGVybiBzdHJ1Y3QgY2xlYW51cCAqCiAgICBzZXRfYmF0 Y2hfZmxhZ19hbmRfbWFrZV9jbGVhbnVwX3Jlc3RvcmVfcGFnZV9pbmZvICh2b2lkKTsKICAKQEAg LTEwNjYsMTAgKzEwNjYsMTAgQEAgaW5kZXggOTUzMWM1YS4uYjk5NDY0NSAxMDA2NDQKICBleHRl cm4gY2hhciAqZ2RiX3JlYWxwYXRoIChjb25zdCBjaGFyICopOwogIGV4dGVybiBjaGFyICp4ZnVs bHBhdGggKGNvbnN0IGNoYXIgKik7CiAgCi1kaWZmIC0tZ2l0IGEvZ2RiL2RvYy9nZGIudGV4aW5m byBiL2dkYi9kb2MvZ2RiLnRleGluZm8KLWluZGV4IGM3MWQ2NjQuLmI2NmU0MjYgMTAwNjQ0Ci0t LS0gYS9nZGIvZG9jL2dkYi50ZXhpbmZvCi0rKysgYi9nZGIvZG9jL2dkYi50ZXhpbmZvCitJbmRl eDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZG9jL2dkYi50ZXhpbmZvCis9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cist LS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9kb2MvZ2RiLnRleGluZm8JMjAxMS0wNC0y MCAxOToyNjo0Mi4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9k b2MvZ2RiLnRleGluZm8JMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKIEBAIC0x MTc3LDYgKzExNzcsMTYgQEAgZm9yIHJlbW90ZSBkZWJ1Z2dpbmcuCiAgUnVuIHVzaW5nIEB2YXJ7 ZGV2aWNlfSBmb3IgeW91ciBwcm9ncmFtJ3Mgc3RhbmRhcmQgaW5wdXQgYW5kIG91dHB1dC4KICBA YyBGSVhNRToga2luZ2RvbiB0aGlua3MgdGhlcmUgaXMgbW9yZSB0byAtdHR5LiAgSW52ZXN0aWdh dGUuCkBAIC0xMDg3LDcgKzEwODcsNyBAQCBpbmRleCBjNzFkNjY0Li5iNjZlNDI2IDEwMDY0NAog IEBjIHJlc29sdmUgdGhlIHNpdHVhdGlvbiBvZiB0aGVzZSBldmVudHVhbGx5CiAgQGl0ZW0gLXR1 aQogIEBjaW5kZXggQGNvZGV7LS10dWl9Ci1AQCAtMzI4Niw2ICszMjk2LDcgQEAgYWxsIGJyZWFr cG9pbnRzIGluIHRoYXQgcmFuZ2UgYXJlIG9wZXJhdGVkIG9uLgorQEAgLTMyODYsNiArMzI5Niw3 IEBAIGFsbCBicmVha3BvaW50cyBpbiB0aGF0IHJhbmdlIGFyZSBvcGVyYXQKICAqIENvbmRpdGlv bnM6OiAgICAgICAgICAgICAgICAgIEJyZWFrIGNvbmRpdGlvbnMKICAqIEJyZWFrIENvbW1hbmRz OjogICAgICAgICAgICAgIEJyZWFrcG9pbnQgY29tbWFuZCBsaXN0cwogICogU2F2ZSBCcmVha3Bv aW50czo6ICAgICAgICAgICAgSG93IHRvIHNhdmUgYnJlYWtwb2ludHMgaW4gYSBmaWxlCkBAIC0x MDk1LDcgKzEwOTUsNyBAQCBpbmRleCBjNzFkNjY0Li5iNjZlNDI2IDEwMDY0NAogICogRXJyb3Ig aW4gQnJlYWtwb2ludHM6OiAgICAgICAgYGBDYW5ub3QgaW5zZXJ0IGJyZWFrcG9pbnRzJycKICAq IEJyZWFrcG9pbnQtcmVsYXRlZCBXYXJuaW5nczo6IGBgQnJlYWtwb2ludCBhZGRyZXNzIGFkanVz dGVkLi4uJycKICBAZW5kIG1lbnUKLUBAIC00NDk5LDYgKzQ1MTAsNTAgQEAgYW5kIHJlbW92ZSB0 aGUgYnJlYWtwb2ludCBkZWZpbml0aW9ucyB5b3UncmUgbm90IGludGVyZXN0ZWQgaW4sIG9yCitA QCAtNDQ5OSw2ICs0NTEwLDUwIEBAIGFuZCByZW1vdmUgdGhlIGJyZWFrcG9pbnQgZGVmaW5pdGlv bnMgeW8KICB0aGF0IGNhbiBubyBsb25nZXIgYmUgcmVjcmVhdGVkLgogIEBlbmQgdGFibGUKICAK QEAgLTExNDYsNyArMTE0Niw3IEBAIGluZGV4IGM3MWQ2NjQuLmI2NmU0MjYgMTAwNjQ0CiAgQGMg IEBpZmNsZWFyIEJBUkVUQVJHRVQKICBAbm9kZSBFcnJvciBpbiBCcmVha3BvaW50cwogIEBzdWJz ZWN0aW9uIGBgQ2Fubm90IGluc2VydCBicmVha3BvaW50cycnCi1AQCAtNjQxNCw2ICs2NDY5LDI5 IEBAIHNwZWNpZnkgdGhlIGZ1bmN0aW9uIHVuYW1iaWd1b3VzbHksIGUuZy4sIGlmIHRoZXJlIGFy ZSBzZXZlcmFsCitAQCAtNjQxNCw2ICs2NDY5LDI5IEBAIHNwZWNpZnkgdGhlIGZ1bmN0aW9uIHVu YW1iaWd1b3VzbHksIGUuZy4KICBmdW5jdGlvbnMgd2l0aCBpZGVudGljYWwgbmFtZXMgaW4gZGlm ZmVyZW50IHNvdXJjZSBmaWxlcy4KICBAZW5kIHRhYmxlCiAgCkBAIC0xMTc2LDcgKzExNzYsNyBA QCBpbmRleCBjNzFkNjY0Li5iNjZlNDI2IDEwMDY0NAogIEBlbmQgdGFibGUKICAKICAKLUBAIC04 NTAwLDYgKzg1NzgsMTAgQEAgdG8gbWF0Y2ggdGhlIGZvcm1hdCBpbiB3aGljaCB0aGUgZGF0YSB3 YXMgcHJpbnRlZC4KK0BAIC04NTAwLDYgKzg1NzgsMTAgQEAgdG8gbWF0Y2ggdGhlIGZvcm1hdCBp biB3aGljaCB0aGUgZGF0YSB3YQogIFRoZSB2YXJpYWJsZSBAY29kZXskX2V4aXRjb2RlfSBpcyBh dXRvbWF0aWNhbGx5IHNldCB0byB0aGUgZXhpdCBjb2RlIHdoZW4KICB0aGUgcHJvZ3JhbSBiZWlu ZyBkZWJ1Z2dlZCB0ZXJtaW5hdGVzLgogIApAQCAtMTIxMyw3ICsxMjEzLDcgQEAgaW5kZXggYzcx ZDY2NC4uYjY2ZTQyNiAxMDA2NDQKICA+cHJpbnQgMjMKICA+ZW5kCiAgMjMKLUBAIC0yMDcyNCw2 ICsyMDgxNCwxNCBAQCBpbiBhIFB5dGhvbiBzY3JpcHQuICBUaGlzIGNhbiBiZSBjb250cm9sbGVk IHVzaW5nIEBjb2Rle21haW50IHNldAorQEAgLTIwNzI0LDYgKzIwODE0LDE0IEBAIGluIGEgUHl0 aG9uIHNjcmlwdC4gIFRoaXMgY2FuIGJlIGNvbnRyb2wKICBweXRob24gcHJpbnQtc3RhY2t9OiBp ZiBAY29kZXtvbn0sIHRoZSBkZWZhdWx0LCB0aGVuIFB5dGhvbiBzdGFjawogIHByaW50aW5nIGlz IGVuYWJsZWQ7IGlmIEBjb2Rle29mZn0sIHRoZW4gUHl0aG9uIHN0YWNrIHByaW50aW5nIGlzCiAg ZGlzYWJsZWQuCkBAIC0xMjQzLDExICsxMjQzLDExIEBAIGluZGV4IGM3MWQ2NjQuLmI2NmU0MjYg MTAwNjQ0CiAgQGNpbmRleCBweXRob24gc3Rkb3V0CiAgQGNpbmRleCBweXRob24gcGFnaW5hdGlv bgogIEF0IHN0YXJ0dXAsIEB2YWx1ZXtHREJOfSBvdmVycmlkZXMgUHl0aG9uJ3MgQGNvZGV7c3lz LnN0ZG91dH0gYW5kCi1kaWZmIC0tZ2l0IGEvZ2RiL2RvYy9nZGJpbnQudGV4aW5mbyBiL2dkYi9k b2MvZ2RiaW50LnRleGluZm8KLWluZGV4IGE0OTQ3MDcuLmQ1YjljZjggMTAwNjQ0Ci0tLS0gYS9n ZGIvZG9jL2dkYmludC50ZXhpbmZvCi0rKysgYi9nZGIvZG9jL2dkYmludC50ZXhpbmZvCi1AQCAt MjEwNCw2ICsyMTA0LDE4IEBAIHRpbWUsIGFuZCBzbyB3ZSBhdHRlbXB0IHRvIGhhbmRsZSBzeW1i b2xzIGluY3JlbWVudGFsbHkuICBGb3IgaW5zdGFuY2UsCitJbmRleDogZ2RiLTcuMi45MC4yMDEx MDQyOS9nZGIvZG9jL2dkYmludC50ZXhpbmZvCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4y MDExMDQyOS5vcmlnL2dkYi9kb2MvZ2RiaW50LnRleGluZm8JMjAxMS0wMi0wNCAyMDoxMDoxMi4w MDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9kb2MvZ2RiaW50LnRl eGluZm8JMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKK0BAIC0yMTA0LDYgKzIx MDQsMTggQEAgdGltZSwgYW5kIHNvIHdlIGF0dGVtcHQgdG8gaGFuZGxlIHN5bWJvbAogIHdlIGNy ZWF0ZSBAZGZue3BhcnRpYWwgc3ltYm9sIHRhYmxlc30gY29uc2lzdGluZyBvZiBvbmx5IHNlbGVj dGVkCiAgc3ltYm9scywgYW5kIG9ubHkgZXhwYW5kIHRoZW0gdG8gZnVsbCBzeW1ib2wgdGFibGVz IHdoZW4gbmVjZXNzYXJ5LgogIApAQCAtMTI2Niw3ICsxMjY2LDcgQEAgaW5kZXggYTQ5NDcwNy4u ZDViOWNmOCAxMDA2NDQKICBAc2VjdGlvbiBTeW1ib2wgUmVhZGluZwogIAogIEBjaW5kZXggc3lt Ym9sIHJlYWRpbmcKLUBAIC0yMTk2LDYgKzIyMDgsNyBAQCBzeW10YWIuICBVcG9uIHJldHVybiwg QGNvZGV7cHN0LT5yZWFkaW59IHNob3VsZCBoYXZlIGJlZW4gc2V0IHRvIDEsIGFuZAorQEAgLTIx OTYsNiArMjIwOCw3IEBAIHN5bXRhYi4gIFVwb24gcmV0dXJuLCBAY29kZXtwc3QtPnJlYWRpbn0K ICB6ZXJvIGlmIHRoZXJlIHdlcmUgbm8gc3ltYm9scyBpbiB0aGF0IHBhcnQgb2YgdGhlIHN5bWJv bCBmaWxlLgogIEBlbmQgdGFibGUKICAKQEAgLTEyNzQsNyArMTI3NCw3IEBAIGluZGV4IGE0OTQ3 MDcuLmQ1YjljZjggMTAwNjQ0CiAgQHNlY3Rpb24gUGFydGlhbCBTeW1ib2wgVGFibGVzCiAgCiAg QHZhbHVle0dEQk59IGhhcyB0aHJlZSB0eXBlcyBvZiBzeW1ib2wgdGFibGVzOgotQEAgLTIyOTcs NiArMjMxMCw3IEBAIGFuZCBwYXJ0aWFsIHN5bWJvbCB0YWJsZXMgYmVoaW5kIGEgc2V0IG9mIGZ1 bmN0aW9uIHBvaW50ZXJzIGtub3duIGFzCitAQCAtMjI5Nyw2ICsyMzEwLDcgQEAgYW5kIHBhcnRp YWwgc3ltYm9sIHRhYmxlcyBiZWhpbmQgYSBzZXQgbwogIHRoZSBAZGZue3F1aWNrIHN5bWJvbCBm dW5jdGlvbnN9LiAgVGhlc2UgYXJlIGRvY3VtZW50ZWQgaW4KICBAZmlsZXtzeW1maWxlLmh9Lgog IApAQCAtMTI4Miw3ICsxMjgyLDcgQEAgaW5kZXggYTQ5NDcwNy4uZDViOWNmOCAxMDA2NDQKICBA c2VjdGlvbiBUeXBlcwogIAogIEB1bm51bWJlcmVkc3Vic2VjIEZ1bmRhbWVudGFsIFR5cGVzIChl LmcuLCBAY29kZXtGVF9WT0lEfSwgQGNvZGV7RlRfQk9PTEVBTn0pLgotQEAgLTIzMTksNiArMjMz Myw3IEBAIHR5cGVzIG1hcCB0byBvbmUgQGNvZGV7VFlQRV9DT0RFXyp9IHR5cGUsIGFuZCBhcmUg ZGlzdGluZ3Vpc2hlZCBieQorQEAgLTIzMTksNiArMjMzMyw3IEBAIHR5cGVzIG1hcCB0byBvbmUg QGNvZGV7VFlQRV9DT0RFXyp9IHR5cGUKICBvdGhlciBtZW1iZXJzIG9mIHRoZSB0eXBlIHN0cnVj dCwgc3VjaCBhcyB3aGV0aGVyIHRoZSB0eXBlIGlzIHNpZ25lZAogIG9yIHVuc2lnbmVkLCBhbmQg aG93IG1hbnkgYml0cyBpdCB1c2VzLgogIApAQCAtMTI5MCw3ICsxMjkwLDcgQEAgaW5kZXggYTQ5 NDcwNy4uZDViOWNmOCAxMDA2NDQKICBAdW5udW1iZXJlZHN1YnNlYyBCdWlsdGluIFR5cGVzIChl LmcuLCBAY29kZXtidWlsdGluX3R5cGVfdm9pZH0sIEBjb2Rle2J1aWx0aW5fdHlwZV9jaGFyfSku CiAgCiAgVGhlc2UgYXJlIGluc3RhbmNlcyBvZiB0eXBlIHN0cnVjdHMgdGhhdCByb3VnaGx5IGNv cnJlc3BvbmQgdG8KLUBAIC0yMzMzLDYgKzIzNDgsNyBAQCBvbmx5IG9uZSBpbnN0YW5jZSBleGlz dHMsIHdoaWxlIEBmaWxle2MtbGFuZy5jfSBidWlsZHMgYXMgbWFueQorQEAgLTIzMzMsNiArMjM0 OCw3IEBAIG9ubHkgb25lIGluc3RhbmNlIGV4aXN0cywgd2hpbGUgQGZpbGV7Yy0KICBAY29kZXtU WVBFX0NPREVfSU5UfSB0eXBlcyBhcyBuZWVkZWQsIHdpdGggZWFjaCBvbmUgYXNzb2NpYXRlZCB3 aXRoCiAgc29tZSBwYXJ0aWN1bGFyIG9iamZpbGUuCiAgCkBAIC0xMzA2LDcgKzEzMDYsNyBAQCBp bmRleCBhNDk0NzA3Li5kNWI5Y2Y4IDEwMDY0NAogIEBzZWN0aW9uIERlYnVnZ2luZyBGaWxlIEZv cm1hdHMKICAKICBUaGlzIHNlY3Rpb24gZGVzY3JpYmVzIGNoYXJhY3RlcmlzdGljcyBvZiBkZWJ1 Z2dpbmcgaW5mb3JtYXRpb24gdGhhdAotQEAgLTI0ODksNiArMjUwNiw3IEBAIERXQVJGIDMgaXMg YW4gaW1wcm92ZWQgdmVyc2lvbiBvZiBEV0FSRiAyLgorQEAgLTI0ODksNiArMjUwNiw3IEBAIERX QVJGIDMgaXMgYW4gaW1wcm92ZWQgdmVyc2lvbiBvZiBEV0FSRiAKICBAY2luZGV4IFNPTSBkZWJ1 Z2dpbmcgaW5mbwogIExpa2UgQ09GRiwgdGhlIFNPTSBkZWZpbml0aW9uIGluY2x1ZGVzIGRlYnVn Z2luZyBpbmZvcm1hdGlvbi4KICAKQEAgLTEzMTQsNyArMTMxNCw3IEBAIGluZGV4IGE0OTQ3MDcu LmQ1YjljZjggMTAwNjQ0CiAgQHNlY3Rpb24gQWRkaW5nIGEgTmV3IFN5bWJvbCBSZWFkZXIgdG8g QHZhbHVle0dEQk59CiAgCiAgQGNpbmRleCBhZGRpbmcgZGVidWdnaW5nIGluZm8gcmVhZGVyCi1A QCAtMjUxMSw2ICsyNTI5LDcgQEAgd2lsbCBvbmx5IGV2ZXIgYmUgaW1wbGVtZW50ZWQgYnkgb25l IG9iamVjdCBmaWxlIGZvcm1hdCBtYXkgYmUgY2FsbGVkCitAQCAtMjUxMSw2ICsyNTI5LDcgQEAg d2lsbCBvbmx5IGV2ZXIgYmUgaW1wbGVtZW50ZWQgYnkgb25lIG9iagogIGRpcmVjdGx5LiAgVGhp cyBpbnRlcmZhY2Ugc2hvdWxkIGJlIGRlc2NyaWJlZCBpbiBhIGZpbGUKICBAZmlsZXtiZmQvbGli QHZhcnt4eXp9Lmh9LCB3aGljaCBpcyBpbmNsdWRlZCBieSBAdmFsdWV7R0RCTn0uCiAgCkBAIC0x MzIyLDcgKzEzMjIsNyBAQCBpbmRleCBhNDk0NzA3Li5kNWI5Y2Y4IDEwMDY0NAogIEBzZWN0aW9u IE1lbW9yeSBNYW5hZ2VtZW50IGZvciBTeW1ib2wgRmlsZXMKICAKICBNb3N0IG1lbW9yeSBhc3Nv Y2lhdGVkIHdpdGggYSBsb2FkZWQgc3ltYm9sIGZpbGUgaXMgc3RvcmVkIG9uCi1AQCAtMjUyMiwx MCArMjU0MSw0NSBAQCByZWxlYXNlZCB3aGVuIHRoZSBvYmpmaWxlIGlzIHVubG9hZGVkIG9yIHJl bG9hZGVkLiAgVGhlcmVmb3JlIG9uZQorQEAgLTI1MjIsMTAgKzI1NDEsNDUgQEAgcmVsZWFzZWQg d2hlbiB0aGUgb2JqZmlsZSBpcyB1bmxvYWRlZCBvcgogIG9iamZpbGUgbXVzdCBub3QgcmVmZXJl bmNlIHN5bWJvbCBvciB0eXBlIGRhdGEgZnJvbSBhbm90aGVyIG9iamZpbGU7CiAgdGhleSBjb3Vs ZCBiZSB1bmxvYWRlZCBhdCBkaWZmZXJlbnQgdGltZXMuCiAgCkBAIC0xMzcyLDExICsxMzcyLDEx IEBAIGluZGV4IGE0OTQ3MDcuLmQ1YjljZjggMTAwNjQ0CiAgCiAgCiAgQG5vZGUgTGFuZ3VhZ2Ug U3VwcG9ydAotZGlmZiAtLWdpdCBhL2dkYi9kb2Mvb2JzZXJ2ZXIudGV4aSBiL2dkYi9kb2Mvb2Jz ZXJ2ZXIudGV4aQotaW5kZXggZDE2Yzg2NS4uOTQ2YWQ5NSAxMDA2NDQKLS0tLSBhL2dkYi9kb2Mv b2JzZXJ2ZXIudGV4aQotKysrIGIvZ2RiL2RvYy9vYnNlcnZlci50ZXhpCi1AQCAtMjIzLDYgKzIy MywxMSBAQCBCeXRlcyBmcm9tIEB2YXJ7ZGF0YX0gdG8gQHZhcntkYXRhfSArIEB2YXJ7bGVufSBo YXZlIGJlZW4gd3JpdHRlbgorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2RvYy9vYnNl cnZlci50ZXhpCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9k b2Mvb2JzZXJ2ZXIudGV4aQkyMDExLTAxLTA1IDA2OjA5OjU0LjAwMDAwMDAwMCArMDEwMAorKysr IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2RvYy9vYnNlcnZlci50ZXhpCTIwMTEtMDQtMjkgMDk6 NDA6NDYuMDAwMDAwMDAwICswMjAwCitAQCAtMjIzLDYgKzIyMywxMSBAQCBCeXRlcyBmcm9tIEB2 YXJ7ZGF0YX0gdG8gQHZhcntkYXRhfSArIEB2CiAgdG8gdGhlIGN1cnJlbnQgaW5mZXJpb3IgYXQg QHZhcnthZGRyfS4KICBAZW5kIGRlZnR5cGVmdW4KICAKQEAgLTEzODgsMTEgKzEzODgsMTEgQEAg aW5kZXggZDE2Yzg2NS4uOTQ2YWQ5NSAxMDA2NDQKICBAZGVmdHlwZWZ1biB2b2lkIHRlc3Rfbm90 aWZpY2F0aW9uIChpbnQgQHZhcntzb21lYXJnfSkKICBUaGlzIG9ic2VydmVyIGlzIHVzZWQgZm9y IGludGVybmFsIHRlc3RpbmcuICBEbyBub3QgdXNlLiAgCiAgU2VlIHRlc3RzdWl0ZS9nZGIuZ2Ri L29ic2VydmVyLmV4cC4KLWRpZmYgLS1naXQgYS9nZGIvZHdhcmYyZXhwci5jIGIvZ2RiL2R3YXJm MmV4cHIuYwotaW5kZXggOTFmY2NmOS4uNGNkNTk0OSAxMDA2NDQKLS0tLSBhL2dkYi9kd2FyZjJl eHByLmMKLSsrKyBiL2dkYi9kd2FyZjJleHByLmMKLUBAIC05MTIsNiArOTEyLDEzIEBAIGV4ZWN1 dGVfc3RhY2tfb3AgKHN0cnVjdCBkd2FyZl9leHByX2NvbnRleHQgKmN0eCwKK0luZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNDI5L2dkYi9kd2FyZjJleHByLmMKKz09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4y LjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL2R3YXJmMmV4cHIuYwkyMDExLTAzLTIyIDIyOjA2OjMyLjAw MDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2R3YXJmMmV4cHIuYwky MDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorQEAgLTkxMiw2ICs5MTIsMTMgQEAg ZXhlY3V0ZV9zdGFja19vcCAoc3RydWN0IGR3YXJmX2V4cHJfY29udAogIAkgIGN0eC0+bnVtX3Bp ZWNlcyA9IDA7CiAgCSAgZ290byBhYm9ydF9leHByZXNzaW9uOwogIApAQCAtMTQwNiwxMCArMTQw NiwxMCBAQCBpbmRleCA5MWZjY2Y5Li40Y2Q1OTQ5IDEwMDY0NAogIAlkZWZhdWx0OgogIAkgIGVy cm9yIChfKCJVbmhhbmRsZWQgZHdhcmYgZXhwcmVzc2lvbiBvcGNvZGUgMHgleCIpLCBvcCk7CiAg CX0KLWRpZmYgLS1naXQgYS9nZGIvZHdhcmYyZXhwci5oIGIvZ2RiL2R3YXJmMmV4cHIuaAotaW5k ZXggNzhmZjUzZi4uYzgzZjIzZCAxMDA2NDQKLS0tLSBhL2dkYi9kd2FyZjJleHByLmgKLSsrKyBi L2dkYi9kd2FyZjJleHByLmgKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9kd2FyZjJl eHByLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL2R3YXJm MmV4cHIuaAkyMDExLTAyLTI3IDE3OjI1OjM3LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIu OTAuMjAxMTA0MjkvZ2RiL2R3YXJmMmV4cHIuaAkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAw MCArMDIwMAogQEAgLTExNCw5ICsxMTQsMTUgQEAgc3RydWN0IGR3YXJmX2V4cHJfY29udGV4dAog ICNpZiAwCiAgICAvKiBOb3QgeWV0IGltcGxlbWVudGVkLiAgKi8KQEAgLTE0MjcsMTAgKzE0Mjcs MTAgQEAgaW5kZXggNzhmZjUzZi4uYzgzZjIzZCAxMDA2NDQKICAKICAgIC8qIFRoZSBjdXJyZW50 IGRlcHRoIG9mIGR3YXJmIGV4cHJlc3Npb24gcmVjdXJzaW9uLCB2aWEgRFdfT1BfY2FsbCosCiAg ICAgICBEV19PUF9mYnJlZywgRFdfT1BfcHVzaF9vYmplY3RfYWRkcmVzcywgZXRjLiwgYW5kIHRo ZSBtYXhpbXVtCi1kaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMmxvYy5jIGIvZ2RiL2R3YXJmMmxvYy5j Ci1pbmRleCA0YzEzMzA3Li45YjBlMWFkIDEwMDY0NAotLS0tIGEvZ2RiL2R3YXJmMmxvYy5jCi0r KysgYi9nZGIvZHdhcmYybG9jLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9kd2Fy ZjJsb2MuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvZHdh cmYybG9jLmMJMjAxMS0wMy0yMiAyMjowNjozMy4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4y LjkwLjIwMTEwNDI5L2dkYi9kd2FyZjJsb2MuYwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAw MCArMDIwMAogQEAgLTEzNCw2ICsxMzQsOSBAQCBzdHJ1Y3QgZHdhcmZfZXhwcl9iYXRvbgogIHsK ICAgIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZTsKQEAgLTE0NDEsNyArMTQ0MSw3IEBAIGluZGV4 IDRjMTMzMDcuLjliMGUxYWQgMTAwNjQ0CiAgfTsKICAKICAvKiBIZWxwZXIgZnVuY3Rpb25zIGZv ciBkd2FyZjJfZXZhbHVhdGVfbG9jX2Rlc2MuICAqLwotQEAgLTIwMiwyMyArMjA1LDMzIEBAIGR3 YXJmX2V4cHJfZnJhbWVfYmFzZV8xIChzdHJ1Y3Qgc3ltYm9sICpmcmFtZWZ1bmMsIENPUkVfQURE UiBwYywKK0BAIC0yMDIsMjMgKzIwNSwzMyBAQCBkd2FyZl9leHByX2ZyYW1lX2Jhc2VfMSAoc3Ry dWN0IHN5bWJvbCAqCiAgICAgICAgc3ltYmF0b24gPSBTWU1CT0xfTE9DQVRJT05fQkFUT04gKGZy YW1lZnVuYyk7CiAgICAgICAgKnN0YXJ0ID0gZHdhcmYyX2ZpbmRfbG9jYXRpb25fZXhwcmVzc2lv biAoc3ltYmF0b24sIGxlbmd0aCwgcGMpOwogICAgICB9CkBAIC0xNDYxLDcgKzE0NjEsNyBAQCBp bmRleCA0YzEzMzA3Li45YjBlMWFkIDEwMDY0NAogKyAgICAgIGdkYl9hc3NlcnQgKHN5bWJhdG9u ICE9IE5VTEwpOwogKyAgICAgICpzdGFydCA9IHN5bWJhdG9uLT5kYXRhOwogKyAgICAgICpsZW5n dGggPSBzeW1iYXRvbi0+c2l6ZTsKLSAgICAgfQorKyAgICB9CiArICBlbHNlIGlmIChTWU1CT0xf Q09NUFVURURfT1BTIChmcmFtZWZ1bmMpID09ICZkd2FyZjJfbWlzc2luZ19mdW5jcykKICsgICAg ewogKyAgICAgIHN0cnVjdCBkd2FyZjJfbG9jZXhwcl9iYXRvbiAqc3ltYmF0b247CkBAIC0xNDcw LDcgKzE0NzAsNyBAQCBpbmRleCA0YzEzMzA3Li45YjBlMWFkIDEwMDY0NAogKyAgICAgIGdkYl9h c3NlcnQgKHN5bWJhdG9uID09IE5VTEwpOwogKyAgICAgICpzdGFydCA9IE5VTEw7CiArICAgICAg Kmxlbmd0aCA9IDA7CS8qIHVudXNlZCAqLwotKyAgICB9CisgICAgIH0KICsgIGVsc2UKICsgICAg aW50ZXJuYWxfZXJyb3IgKF9fRklMRV9fLCBfX0xJTkVfXywKICsJCSAgICBfKCJVbnN1cHBvcnRl ZCBTWU1CT0xfQ09NUFVURURfT1BTICVwIGZvciBcIiVzXCIiKSwKQEAgLTE0ODQsNyArMTQ4NCw3 IEBAIGluZGV4IDRjMTMzMDcuLjliMGUxYWQgMTAwNjQ0CiAgfQogIAogIC8qIEhlbHBlciBmdW5j dGlvbiBmb3IgZHdhcmYyX2V2YWx1YXRlX2xvY19kZXNjLiAgQ29tcHV0ZXMgdGhlIENGQSBmb3IK LUBAIC0yODYsNiArMjk5LDE3MiBAQCBkd2FyZl9leHByX2R3YXJmX2NhbGwgKHN0cnVjdCBkd2Fy Zl9leHByX2NvbnRleHQgKmN0eCwgc2l6ZV90IGRpZV9vZmZzZXQpCitAQCAtMjg2LDYgKzI5OSwx NzIgQEAgZHdhcmZfZXhwcl9kd2FyZl9jYWxsIChzdHJ1Y3QgZHdhcmZfZXhwcgogIAkJICAgICBj dHgtPmdldF9mcmFtZV9wYywgY3R4LT5iYXRvbik7CiAgfQogIApAQCAtMTY1Nyw3ICsxNjU3LDcg QEAgaW5kZXggNGMxMzMwNy4uOWIwZTFhZCAxMDA2NDQKICBzdHJ1Y3QgcGllY2VfY2xvc3VyZQog IHsKICAgIC8qIFJlZmVyZW5jZSBjb3VudC4gICovCi1AQCAtMTA3MiwxMSArMTI1MSw4IEBAIGR3 YXJmMl9ldmFsdWF0ZV9sb2NfZGVzY19mdWxsIChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGZy YW1lX2luZm8gKmZyYW1lLAorQEAgLTEwNzIsMTEgKzEyNTEsOCBAQCBkd2FyZjJfZXZhbHVhdGVf bG9jX2Rlc2NfZnVsbCAoc3RydWN0IHR5CiAgCQkJICAgICAgIExPTkdFU1QgYnl0ZV9vZmZzZXQp CiAgewogICAgc3RydWN0IHZhbHVlICpyZXR2YWw7CkBAIC0xNjY5LDcgKzE2NjksNyBAQCBpbmRl eCA0YzEzMzA3Li45YjBlMWFkIDEwMDY0NAogIAogICAgaWYgKGJ5dGVfb2Zmc2V0IDwgMCkKICAg ICAgaW52YWxpZF9zeW50aGV0aWNfcG9pbnRlciAoKTsKLUBAIC0xMDg5LDM4ICsxMjY1LDE0IEBA IGR3YXJmMl9ldmFsdWF0ZV9sb2NfZGVzY19mdWxsIChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0 IGZyYW1lX2luZm8gKmZyYW1lLAorQEAgLTEwODksMzggKzEyNjUsMTQgQEAgZHdhcmYyX2V2YWx1 YXRlX2xvY19kZXNjX2Z1bGwgKHN0cnVjdCB0eQogICAgICAgIHJldHVybiByZXR2YWw7CiAgICAg IH0KICAKQEAgLTE3MTQsNyArMTcxNCw3IEBAIGluZGV4IDRjMTMzMDcuLjliMGUxYWQgMTAwNjQ0 CiAgICAgIH0KICAKICAgIGlmIChjdHgtPm51bV9waWVjZXMgPiAwKQotQEAgLTExNjYsNiArMTMx OCwxNSBAQCBkd2FyZjJfZXZhbHVhdGVfbG9jX2Rlc2NfZnVsbCAoc3RydWN0IHR5cGUgKnR5cGUs IHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwKK0BAIC0xMTY2LDYgKzEzMTgsMTUgQEAgZHdhcmYy X2V2YWx1YXRlX2xvY19kZXNjX2Z1bGwgKHN0cnVjdCB0eQogIAkgICAgQ09SRV9BRERSIGFkZHJl c3MgPSBkd2FyZl9leHByX2ZldGNoX2FkZHJlc3MgKGN0eCwgMCk7CiAgCSAgICBpbnQgaW5fc3Rh Y2tfbWVtb3J5ID0gZHdhcmZfZXhwcl9mZXRjaF9pbl9zdGFja19tZW1vcnkgKGN0eCwgMCk7CiAg CkBAIC0xNzMwLDcgKzE3MzAsNyBAQCBpbmRleCA0YzEzMzA3Li45YjBlMWFkIDEwMDY0NAogIAkg ICAgcmV0dmFsID0gYWxsb2NhdGVfdmFsdWVfbGF6eSAodHlwZSk7CiAgCSAgICBWQUxVRV9MVkFM IChyZXR2YWwpID0gbHZhbF9tZW1vcnk7CiAgCSAgICBpZiAoaW5fc3RhY2tfbWVtb3J5KQotQEAg LTI4NTUsMTEgKzMwMTYsNTEgQEAgbG9jbGlzdF90cmFjZXBvaW50X3Zhcl9yZWYgKHN0cnVjdCBz eW1ib2wgKnN5bWJvbCwgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCitAQCAtMjg1NSwxMSArMzAx Niw1MSBAQCBsb2NsaXN0X3RyYWNlcG9pbnRfdmFyX3JlZiAoc3RydWN0IHN5bWJvCiAgCQkJICAg ICAgIGRsYmF0b24tPnBlcl9jdSk7CiAgfQogIApAQCAtMTc4NCwxMCArMTc4NCwxMCBAQCBpbmRl eCA0YzEzMzA3Li45YjBlMWFkIDEwMDY0NAogKyAgbWlzc2luZ19kZXNjcmliZV9sb2NhdGlvbiwK ICsgIG1pc3NpbmdfdHJhY2Vwb2ludF92YXJfcmVmCiArfTsKLWRpZmYgLS1naXQgYS9nZGIvZHdh cmYybG9jLmggYi9nZGIvZHdhcmYybG9jLmgKLWluZGV4IDk2YTQ5MGUuLmIwZWJiMDYgMTAwNjQ0 Ci0tLS0gYS9nZGIvZHdhcmYybG9jLmgKLSsrKyBiL2dkYi9kd2FyZjJsb2MuaAorSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA0MjkvZ2RiL2R3YXJmMmxvYy5oCis9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcu Mi45MC4yMDExMDQyOS5vcmlnL2dkYi9kd2FyZjJsb2MuaAkyMDExLTAyLTE3IDE3OjIwOjQ0LjAw MDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2R3YXJmMmxvYy5oCTIw MTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCiBAQCAtMTA3LDYgKzEwNywxNSBAQCBz dHJ1Y3QgZHdhcmYyX2xvY2xpc3RfYmF0b24KICAKICBleHRlcm4gY29uc3Qgc3RydWN0IHN5bWJv bF9jb21wdXRlZF9vcHMgZHdhcmYyX2xvY2V4cHJfZnVuY3M7CkBAIC0xODA0LDExICsxODA0LDEx IEBAIGluZGV4IDk2YTQ5MGUuLmIwZWJiMDYgMTAwNjQ0CiAgCiAgLyogQ29tcGlsZSBhIERXQVJG IGxvY2F0aW9uIGV4cHJlc3Npb24gdG8gYW4gYWdlbnQgZXhwcmVzc2lvbi4KICAgICAKLWRpZmYg LS1naXQgYS9nZGIvZHdhcmYycmVhZC5jIGIvZ2RiL2R3YXJmMnJlYWQuYwotaW5kZXggY2E2Yzk4 Yi4uZDE3NjYyNCAxMDA2NDQKLS0tLSBhL2dkYi9kd2FyZjJyZWFkLmMKLSsrKyBiL2dkYi9kd2Fy ZjJyZWFkLmMKLUBAIC0xMjExLDYgKzEyMTEsOSBAQCBzdGF0aWMgdm9pZCBmaWxsX2luX2xvY2xp c3RfYmF0b24gKHN0cnVjdCBkd2FyZjJfY3UgKmN1LAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0 MjkvZ2RiL2R3YXJmMnJlYWQuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjku b3JpZy9nZGIvZHdhcmYycmVhZC5jCTIwMTEtMDQtMjAgMjI6MTA6MjkuMDAwMDAwMDAwICswMjAw CisrKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZHdhcmYycmVhZC5jCTIwMTEtMDQtMjkgMDk6 NDA6NDYuMDAwMDAwMDAwICswMjAwCitAQCAtMTIxMiw2ICsxMjEyLDkgQEAgc3RhdGljIHZvaWQg ZmlsbF9pbl9sb2NsaXN0X2JhdG9uIChzdHJ1YwogIAkJCQkgICBzdHJ1Y3QgZHdhcmYyX2xvY2xp c3RfYmF0b24gKmJhdG9uLAogIAkJCQkgICBzdHJ1Y3QgYXR0cmlidXRlICphdHRyKTsKICAKQEAg LTE4MTgsNyArMTgxOCw3IEBAIGluZGV4IGNhNmM5OGIuLmQxNzY2MjQgMTAwNjQ0CiAgc3RhdGlj IHZvaWQgZHdhcmYyX3N5bWJvbF9tYXJrX2NvbXB1dGVkIChzdHJ1Y3QgYXR0cmlidXRlICphdHRy LAogIAkJCQkJIHN0cnVjdCBzeW1ib2wgKnN5bSwKICAJCQkJCSBzdHJ1Y3QgZHdhcmYyX2N1ICpj dSk7Ci1AQCAtMTI0NSw2ICsxMjQ4LDkgQEAgc3RhdGljIHZvaWQgYWdlX2NhY2hlZF9jb21wX3Vu aXRzICh2b2lkKTsKK0BAIC0xMjQ2LDYgKzEyNDksOSBAQCBzdGF0aWMgdm9pZCBhZ2VfY2FjaGVk X2NvbXBfdW5pdHMgKHZvaWQpCiAgCiAgc3RhdGljIHZvaWQgZnJlZV9vbmVfY2FjaGVkX2NvbXBf dW5pdCAodm9pZCAqKTsKICAKQEAgLTE4MjgsNyArMTgyOCw3IEBAIGluZGV4IGNhNmM5OGIuLmQx NzY2MjQgMTAwNjQ0CiAgc3RhdGljIHN0cnVjdCB0eXBlICpzZXRfZGllX3R5cGUgKHN0cnVjdCBk aWVfaW5mbyAqLCBzdHJ1Y3QgdHlwZSAqLAogIAkJCQkgIHN0cnVjdCBkd2FyZjJfY3UgKik7CiAg Ci1AQCAtMTI2OSw2ICsxMjc1LDkgQEAgc3RhdGljIHN0cnVjdCB0eXBlICpnZXRfZGllX3R5cGVf YXRfb2Zmc2V0ICh1bnNpZ25lZCBpbnQsCitAQCAtMTI3MCw2ICsxMjc2LDkgQEAgc3RhdGljIHN0 cnVjdCB0eXBlICpnZXRfZGllX3R5cGVfYXRfb2ZmcwogIAogIHN0YXRpYyBzdHJ1Y3QgdHlwZSAq Z2V0X2RpZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3Up OwogIApAQCAtMTgzOCw3ICsxODM4LDcgQEAgaW5kZXggY2E2Yzk4Yi4uZDE3NjYyNCAxMDA2NDQK ICBzdGF0aWMgdm9pZCBkd2FyZjJfcmVsZWFzZV9xdWV1ZSAodm9pZCAqZHVtbXkpOwogIAogIHN0 YXRpYyB2b2lkIHF1ZXVlX2NvbXBfdW5pdCAoc3RydWN0IGR3YXJmMl9wZXJfY3VfZGF0YSAqcGVy X2N1LAotQEAgLTczNDIsNiArNzM1MSwyOSBAQCBwcm9jZXNzX2VudW1lcmF0aW9uX3Njb3BlIChz dHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtNzM1OSw2ICs3 MzY4LDI5IEBAIHByb2Nlc3NfZW51bWVyYXRpb25fc2NvcGUgKHN0cnVjdCBkaWVfaW4KICAgIG5l d19zeW1ib2wgKGRpZSwgdGhpc190eXBlLCBjdSk7CiAgfQogIApAQCAtMTg2OCw3ICsxODY4LDcg QEAgaW5kZXggY2E2Yzk4Yi4uZDE3NjYyNCAxMDA2NDQKICAvKiBFeHRyYWN0IGFsbCBpbmZvcm1h dGlvbiBmcm9tIGEgRFdfVEFHX2FycmF5X3R5cGUgRElFIGFuZCBwdXQgaXQgaW4KICAgICB0aGUg RElFJ3MgdHlwZSBmaWVsZC4gIEZvciBub3csIHRoaXMgb25seSBoYW5kbGVzIG9uZSBkaW1lbnNp b25hbAogICAgIGFycmF5cy4gICovCi1AQCAtNzM1NSw3ICs3Mzg3LDcgQEAgcmVhZF9hcnJheV90 eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtNzM3 Miw3ICs3NDA0LDcgQEAgcmVhZF9hcnJheV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgcwog ICAgc3RydWN0IHR5cGUgKmVsZW1lbnRfdHlwZSwgKnJhbmdlX3R5cGUsICppbmRleF90eXBlOwog ICAgc3RydWN0IHR5cGUgKipyYW5nZV90eXBlcyA9IE5VTEw7CiAgICBzdHJ1Y3QgYXR0cmlidXRl ICphdHRyOwpAQCAtMTg3Nyw3ICsxODc3LDcgQEAgaW5kZXggY2E2Yzk4Yi4uZDE3NjYyNCAxMDA2 NDQKICAgIHN0cnVjdCBjbGVhbnVwICpiYWNrX3RvOwogICAgY2hhciAqbmFtZTsKICAKLUBAIC03 NDA4LDE3ICs3NDQwLDE5IEBAIHJlYWRfYXJyYXlfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUs IHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorQEAgLTc0MjUsMTcgKzc0NTcsMTkgQEAgcmVhZF9hcnJh eV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgcwogICAgdHlwZSA9IGVsZW1lbnRfdHlwZTsK ICAKICAgIGlmIChyZWFkX2FycmF5X29yZGVyIChkaWUsIGN1KSA9PSBEV19PUkRfY29sX21ham9y KQpAQCAtMTkwOCw3ICsxOTA4LDcgQEAgaW5kZXggY2E2Yzk4Yi4uZDE3NjYyNCAxMDA2NDQKICAK ICAgIC8qIFVuZGVyc3RhbmQgRHdhcmYyIHN1cHBvcnQgZm9yIHZlY3RvciB0eXBlcyAobGlrZSB0 aGV5IG9jY3VyIG9uCiAgICAgICB0aGUgUG93ZXJQQyB3LyBBbHRpVmVjKS4gIEdjYyBqdXN0IGFk ZHMgYW5vdGhlciBhdHRyaWJ1dGUgdG8gdGhlCi1AQCAtNzkxMSwyOSArNzk0NSwxMTQgQEAgcmVh ZF90YWdfc3RyaW5nX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1 ICpjdSkKK0BAIC03OTI4LDI5ICs3OTYyLDExNCBAQCByZWFkX3RhZ19zdHJpbmdfdHlwZSAoc3Ry dWN0IGRpZV9pbmZvICpkCiAgICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IGdldF9vYmpmaWxl X2FyY2ggKG9iamZpbGUpOwogICAgc3RydWN0IHR5cGUgKnR5cGUsICpyYW5nZV90eXBlLCAqaW5k ZXhfdHlwZSwgKmNoYXJfdHlwZTsKICAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHI7CkBAIC0xOTI3 LDEwICsxOTI3LDkgQEAgaW5kZXggY2E2Yzk4Yi4uZDE3NjYyNCAxMDA2NDQKICAKICAgIGF0dHIg PSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF9zdHJpbmdfbGVuZ3RoLCBjdSk7CiAtICBpZiAoYXR0 cikKLS0gICAgewotLSAgICAgIGxlbmd0aCA9IERXX1VOU05EIChhdHRyKTsKICsgIGlmIChhdHRy ICYmIGF0dHJfZm9ybV9pc19ibG9jayAoYXR0cikpCi0rICAgIHsKKyAgICAgeworLSAgICAgIGxl bmd0aCA9IERXX1VOU05EIChhdHRyKTsKICsgICAgICAvKiBTZWN1cml0eSBjaGVjayBmb3IgYSBz aXplIG92ZXJmbG93LiAgKi8KICsgICAgICBpZiAoRFdfQkxPQ0sgKGF0dHIpLT5zaXplICsgMiA8 IERXX0JMT0NLIChhdHRyKS0+c2l6ZSkKICsJVFlQRV9ISUdIX0JPVU5EIChyYW5nZV90eXBlKSA9 IDE7CkBAIC0yMDM3LDcgKzIwMzYsNyBAQCBpbmRleCBjYTZjOThiLi5kMTc2NjI0IDEwMDY0NAog ICAgY2hhcl90eXBlID0gbGFuZ3VhZ2Vfc3RyaW5nX2NoYXJfdHlwZSAoY3UtPmxhbmd1YWdlX2Rl Zm4sIGdkYmFyY2gpOwogICAgdHlwZSA9IGNyZWF0ZV9zdHJpbmdfdHlwZSAoTlVMTCwgY2hhcl90 eXBlLCByYW5nZV90eXBlKTsKICAKLUBAIC04MjE4LDggKzgzMzcsNyBAQCByZWFkX3N1YnJhbmdl X3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC04 MjM1LDggKzgzNTQsNyBAQCByZWFkX3N1YnJhbmdlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGll CiAgICBzdHJ1Y3QgdHlwZSAqYmFzZV90eXBlOwogICAgc3RydWN0IHR5cGUgKnJhbmdlX3R5cGU7 CiAgICBzdHJ1Y3QgYXR0cmlidXRlICphdHRyOwpAQCAtMjA0Nyw3ICsyMDQ2LDcgQEAgaW5kZXgg Y2E2Yzk4Yi4uZDE3NjYyNCAxMDA2NDQKICAgIGNoYXIgKm5hbWU7CiAgICBMT05HRVNUIG5lZ2F0 aXZlX21hc2s7CiAgCi1AQCAtODIzMiw1MyArODM1MCwxMjYgQEAgcmVhZF9zdWJyYW5nZV90eXBl IChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtODI0OSw1 MyArODM2NywxMjYgQEAgcmVhZF9zdWJyYW5nZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZQog ICAgaWYgKHJhbmdlX3R5cGUpCiAgICAgIHJldHVybiByYW5nZV90eXBlOwogIApAQCAtMjA3OCw3 ICsyMDc3LDI0IEBAIGluZGV4IGNhNmM5OGIuLmQxNzY2MjQgMTAwNjQ0CiArCiArICBhdHRyID0g ZHdhcmYyX2F0dHIgKGRpZSwgRFdfQVRfbG93ZXJfYm91bmQsIGN1KTsKICsgIGlmIChhdHRyICYm IGF0dHJfZm9ybV9pc19ibG9jayAoYXR0cikgJiYgY3UtPmxhbmd1YWdlICE9IGxhbmd1YWdlX2Fk YSkKLSsgICAgeworICAgICB7CistICAgICAgaWYgKGF0dHItPmZvcm0gPT0gRFdfRk9STV9ibG9j azEgfHwgaXNfcmVmX2F0dHIgKGF0dHIpKQorLSAgICAgICAgeworLSAgICAgICAgICAvKiBHQ0Mg ZW5jb2RlcyBhcnJheXMgd2l0aCB1bnNwZWNpZmllZCBvciBkeW5hbWljIGxlbmd0aAorLSAgICAg ICAgICAgICB3aXRoIGEgRFdfRk9STV9ibG9jazEgYXR0cmlidXRlIG9yIGEgcmVmZXJlbmNlIGF0 dHJpYnV0ZS4KKy0gICAgICAgICAgICAgRklYTUU6IEdEQiBkb2VzIG5vdCB5ZXQga25vdyBob3cg dG8gaGFuZGxlIGR5bmFtaWMKKy0gICAgICAgICAgICAgYXJyYXlzIHByb3Blcmx5LCB0cmVhdCB0 aGVtIGFzIGFycmF5cyB3aXRoIHVuc3BlY2lmaWVkCistICAgICAgICAgICAgIGxlbmd0aCBmb3Ig bm93LgorLQorLSAgICAgICAgICAgICBGSVhNRTogamltYi8yMDAzLTA5LTIyOiBHREIgZG9lcyBu b3QgcmVhbGx5IGtub3cKKy0gICAgICAgICAgICAgaG93IHRvIGhhbmRsZSBhcnJheXMgb2YgdW5z cGVjaWZpZWQgbGVuZ3RoCistICAgICAgICAgICAgIGVpdGhlcjsgd2UganVzdCByZXByZXNlbnQg dGhlbSBhcyB6ZXJvLWxlbmd0aAorLSAgICAgICAgICAgICBhcnJheXMuICBDaG9vc2UgYW4gYXBw cm9wcmlhdGUgdXBwZXIgYm91bmQgZ2l2ZW4KKy0gICAgICAgICAgICAgdGhlIGxvd2VyIGJvdW5k IHdlJ3ZlIGNvbXB1dGVkIGFib3ZlLiAgKi8KKy0gICAgICAgICAgaGlnaCA9IGxvdyAtIDE7Cist ICAgICAgICB9CistICAgICAgZWxzZQorLSAgICAgICAgaGlnaCA9IGR3YXJmMl9nZXRfYXR0cl9j b25zdGFudF92YWx1ZSAoYXR0ciwgMSk7CiArICAgICAgVFlQRV9SQU5HRV9EQVRBIChyYW5nZV90 eXBlKS0+bG93LmtpbmQgPSBSQU5HRV9CT1VORF9LSU5EX0RXQVJGX0JMT0NLOwogKyAgICAgIFRZ UEVfUkFOR0VfREFUQSAocmFuZ2VfdHlwZSktPmxvdy51LmR3YXJmX2Jsb2NrID0KICsJCQkJCWR3 YXJmMl9hdHRyX3RvX2xvY2V4cHJfYmF0b24gKGF0dHIsIGN1KTsKQEAgLTIxMDQsMjkgKzIxMjAs MTcgQEAgaW5kZXggY2E2Yzk4Yi4uZDE3NjYyNCAxMDA2NDQKICsgICAgICBUWVBFX0RZTkFNSUMg KHJhbmdlX3R5cGUpID0gMTsKICsgICAgICAvKiBGb3Igc2V0dGluZyBhIGRlZmF1bHQgaWYgRFdf QVRfVVBQRVJfQk9VTkQgd291bGQgYmUgbWlzc2luZy4gICovCiArICAgICAgbG93ID0gMDsKLSsg ICAgfQotKyAgZWxzZQorICAgICB9CisgICBlbHNlCiAgICAgIHsKLS0gICAgICBpZiAoYXR0ci0+ Zm9ybSA9PSBEV19GT1JNX2Jsb2NrMSB8fCBpc19yZWZfYXR0ciAoYXR0cikpCi0tICAgICAgICB7 Ci0tICAgICAgICAgIC8qIEdDQyBlbmNvZGVzIGFycmF5cyB3aXRoIHVuc3BlY2lmaWVkIG9yIGR5 bmFtaWMgbGVuZ3RoCi0tICAgICAgICAgICAgIHdpdGggYSBEV19GT1JNX2Jsb2NrMSBhdHRyaWJ1 dGUgb3IgYSByZWZlcmVuY2UgYXR0cmlidXRlLgotLSAgICAgICAgICAgICBGSVhNRTogR0RCIGRv ZXMgbm90IHlldCBrbm93IGhvdyB0byBoYW5kbGUgZHluYW1pYwotLSAgICAgICAgICAgICBhcnJh eXMgcHJvcGVybHksIHRyZWF0IHRoZW0gYXMgYXJyYXlzIHdpdGggdW5zcGVjaWZpZWQKLS0gICAg ICAgICAgICAgbGVuZ3RoIGZvciBub3cuCi0tCi0tICAgICAgICAgICAgIEZJWE1FOiBqaW1iLzIw MDMtMDktMjI6IEdEQiBkb2VzIG5vdCByZWFsbHkga25vdwotLSAgICAgICAgICAgICBob3cgdG8g aGFuZGxlIGFycmF5cyBvZiB1bnNwZWNpZmllZCBsZW5ndGgKLS0gICAgICAgICAgICAgZWl0aGVy OyB3ZSBqdXN0IHJlcHJlc2VudCB0aGVtIGFzIHplcm8tbGVuZ3RoCi0tICAgICAgICAgICAgIGFy cmF5cy4gIENob29zZSBhbiBhcHByb3ByaWF0ZSB1cHBlciBib3VuZCBnaXZlbgotLSAgICAgICAg ICAgICB0aGUgbG93ZXIgYm91bmQgd2UndmUgY29tcHV0ZWQgYWJvdmUuICAqLwotLSAgICAgICAg ICBoaWdoID0gbG93IC0gMTsKLS0gICAgICAgIH0KKy0gICAgICBhdHRyID0gZHdhcmYyX2F0dHIg KGRpZSwgRFdfQVRfY291bnQsIGN1KTsKKy0gICAgICBpZiAoYXR0cikKICsgICAgICBpZiAoYXR0 ciAmJiBhdHRyX2Zvcm1faXNfY29uc3RhbnQgKGF0dHIpKQogKwlsb3cgPSBkd2FyZjJfZ2V0X2F0 dHJfY29uc3RhbnRfdmFsdWUgKGF0dHIsIDApOwotICAgICAgIGVsc2UKLS0gICAgICAgIGhpZ2gg PSBkd2FyZjJfZ2V0X2F0dHJfY29uc3RhbnRfdmFsdWUgKGF0dHIsIDEpOwotKwl7CisrICAgICAg ZWxzZQorIAl7CistCSAgaW50IGNvdW50ID0gZHdhcmYyX2dldF9hdHRyX2NvbnN0YW50X3ZhbHVl IChhdHRyLCAxKTsKKy0JICBoaWdoID0gbG93ICsgY291bnQgLSAxOwogKwkgIGlmIChjdS0+bGFu Z3VhZ2UgPT0gbGFuZ3VhZ2VfZm9ydHJhbikKICsJICAgIHsKICsJICAgICAgLyogRk9SVFJBTiBp bXBsaWVzIGEgbG93ZXIgYm91bmQgb2YgMSwgaWYgbm90IGdpdmVuLiAgKi8KQEAgLTIxMzgsMzAg KzIxNDIsMjUgQEAgaW5kZXggY2E2Yzk4Yi4uZDE3NjYyNCAxMDA2NDQKICsJCSBMQU5HVUFHRV9D IGFuZCBMQU5HVUFHRV9DUExVUy4gICovCiArCSAgICAgIGxvdyA9IDA7CiArCSAgICB9Ci0rCX0K KyAJfQogKyAgICAgIGlmICghVFlQRV9VTlNJR05FRCAoYmFzZV90eXBlKSAmJiAobG93ICYgbmVn YXRpdmVfbWFzaykpCiArCWxvdyB8PSBuZWdhdGl2ZV9tYXNrOwogKyAgICAgIFRZUEVfTE9XX0JP VU5EIChyYW5nZV90eXBlKSA9IGxvdzsKICsgICAgICBpZiAobG93ID49IDApCiArCVRZUEVfVU5T SUdORUQgKHJhbmdlX3R5cGUpID0gMTsKLSAgICAgfQotLSAgZWxzZQorKyAgICB9CiArCiArICBh dHRyID0gZHdhcmYyX2F0dHIgKGRpZSwgRFdfQVRfdXBwZXJfYm91bmQsIGN1KTsKICsgIGlmICgh YXR0ciB8fCAoIWF0dHJfZm9ybV9pc19ibG9jayAoYXR0cikgJiYgIWF0dHJfZm9ybV9pc19jb25z dGFudCAoYXR0cikKICsJCSYmICFpc19yZWZfYXR0ciAoYXR0cikpKQotICAgICB7Ci0gICAgICAg YXR0ciA9IGR3YXJmMl9hdHRyIChkaWUsIERXX0FUX2NvdW50LCBjdSk7Ci0tICAgICAgaWYgKGF0 dHIpCi0tCXsKLS0JICBpbnQgY291bnQgPSBkd2FyZjJfZ2V0X2F0dHJfY29uc3RhbnRfdmFsdWUg KGF0dHIsIDEpOwotLQkgIGhpZ2ggPSBsb3cgKyBjb3VudCAtIDE7CisrICAgIHsKKysgICAgICBh dHRyID0gZHdhcmYyX2F0dHIgKGRpZSwgRFdfQVRfY291bnQsIGN1KTsKICsgICAgICAvKiBJdCBk b2VzIG5vdCBodXJ0IGJ1dCBpdCBpcyBuZWVkbGVzc2x5IGluZWZmZWN0aXZlIGluIGNoZWNrX3R5 cGVkZWYuICAqLwogKyAgICAgIGlmIChhdHRyICYmIChhdHRyX2Zvcm1faXNfYmxvY2sgKGF0dHIp IHx8IGF0dHJfZm9ybV9pc19jb25zdGFudCAoYXR0cikpKQogKyAgICAgIAl7CiArCSAgVFlQRV9S QU5HRV9ISUdIX0JPVU5EX0lTX0NPVU5UIChyYW5nZV90eXBlKSA9IDE7CiArCSAgVFlQRV9EWU5B TUlDIChyYW5nZV90eXBlKSA9IDE7Ci0gCX0KKysJfQogKyAgICAgIC8qIFBhc3MgaXQgbm93IGFz IHRoZSByZWd1bGFyIERXX0FUX3VwcGVyX2JvdW5kLiAgKi8KICsgICAgfQogKwpAQCAtMjIwOSw3 ICsyMjA4LDcgQEAgaW5kZXggY2E2Yzk4Yi4uZDE3NjYyNCAxMDA2NDQKICAgICAgfQogIAogICAg LyogRHdhcmYtMiBzcGVjaWZpY2F0aW9ucyBleHBsaWNpdGx5IGFsbG93cyB0byBjcmVhdGUgc3Vi cmFuZ2UgdHlwZXMKLUBAIC04MzE5LDI0ICs4NTEwLDQxIEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAo c3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorQEAgLTgzMzYsMjQg Kzg1MjcsNDEgQEAgcmVhZF9zdWJyYW5nZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZQogIAl9 CiAgICAgIH0KICAKQEAgLTIyMjEsNiArMjIyMCwxNiBAQCBpbmRleCBjYTZjOThiLi5kMTc2NjI0 IDEwMDY0NAogLSAgICBoaWdoIHw9IG5lZ2F0aXZlX21hc2s7CiAtCiAtICByYW5nZV90eXBlID0g Y3JlYXRlX3JhbmdlX3R5cGUgKE5VTEwsIGJhc2VfdHlwZSwgbG93LCBoaWdoKTsKKy0KKy0gIC8q IE1hcmsgYXJyYXlzIHdpdGggZHluYW1pYyBsZW5ndGggYXQgbGVhc3QgYXMgYW4gYXJyYXkgb2Yg dW5zcGVjaWZpZWQKKy0gICAgIGxlbmd0aC4gIEdEQiBjb3VsZCBjaGVjayB0aGUgYm91bmRhcnkg YnV0IGJlZm9yZSBpdCBnZXRzIGltcGxlbWVudGVkIGF0CistICAgICBsZWFzdCBhbGxvdyBhY2Nl c3NpbmcgdGhlIGFycmF5IGVsZW1lbnRzLiAgKi8KKy0gIGlmIChhdHRyICYmIGF0dHItPmZvcm0g PT0gRFdfRk9STV9ibG9jazEpCistICAgIFRZUEVfSElHSF9CT1VORF9VTkRFRklORUQgKHJhbmdl X3R5cGUpID0gMTsKKy0KKy0gIC8qIEFkYSBleHBlY3RzIGFuIGVtcHR5IGFycmF5IG9uIG5vIGJv dW5kYXJ5IGF0dHJpYnV0ZXMuICAqLworLSAgaWYgKGF0dHIgPT0gTlVMTCAmJiBjdS0+bGFuZ3Vh Z2UgIT0gbGFuZ3VhZ2VfYWRhKQorLSAgICBUWVBFX0hJR0hfQk9VTkRfVU5ERUZJTkVEIChyYW5n ZV90eXBlKSA9IDE7CiArICAvKiBEV19BVF9iaXRfc3RyaWRlIGlzIGN1cnJlbnRseSB1bnN1cHBv cnRlZCBhcyB3ZSBjb3VudCBpbiBieXRlcy4gICovCiArICBhdHRyID0gZHdhcmYyX2F0dHIgKGRp ZSwgRFdfQVRfYnl0ZV9zdHJpZGUsIGN1KTsKICsgIGlmIChhdHRyICYmIGF0dHJfZm9ybV9pc19i bG9jayAoYXR0cikgJiYgY3UtPmxhbmd1YWdlICE9IGxhbmd1YWdlX2FkYSkKQEAgLTIyMzYsMTkg KzIyNDUsMTEgQEAgaW5kZXggY2E2Yzk4Yi4uZDE3NjYyNCAxMDA2NDQKICsgICAgICBzdHJ1Y3Qg ZGllX2luZm8gKnRhcmdldF9kaWU7CiArICAgICAgc3RydWN0IGR3YXJmMl9jdSAqdGFyZ2V0X2N1 ID0gY3U7CiArICAgICAgc3RydWN0IGF0dHJpYnV0ZSAqdGFyZ2V0X2xvY19hdHRyOwotIAotLSAg LyogTWFyayBhcnJheXMgd2l0aCBkeW5hbWljIGxlbmd0aCBhdCBsZWFzdCBhcyBhbiBhcnJheSBv ZiB1bnNwZWNpZmllZAotLSAgICAgbGVuZ3RoLiAgR0RCIGNvdWxkIGNoZWNrIHRoZSBib3VuZGFy eSBidXQgYmVmb3JlIGl0IGdldHMgaW1wbGVtZW50ZWQgYXQKLS0gICAgIGxlYXN0IGFsbG93IGFj Y2Vzc2luZyB0aGUgYXJyYXkgZWxlbWVudHMuICAqLwotLSAgaWYgKGF0dHIgJiYgYXR0ci0+Zm9y bSA9PSBEV19GT1JNX2Jsb2NrMSkKLS0gICAgVFlQRV9ISUdIX0JPVU5EX1VOREVGSU5FRCAocmFu Z2VfdHlwZSkgPSAxOworKwogKyAgICAgIHRhcmdldF9kaWUgPSBmb2xsb3dfZGllX3JlZl9vcl9z aWcgKGRpZSwgYXR0ciwgJnRhcmdldF9jdSk7CiArICAgICAgZ2RiX2Fzc2VydCAodGFyZ2V0X2N1 LT5vYmpmaWxlID09IGN1LT5vYmpmaWxlKTsKICsgICAgICB0YXJnZXRfbG9jX2F0dHIgPSBkd2Fy ZjJfYXR0ciAodGFyZ2V0X2RpZSwgRFdfQVRfbG9jYXRpb24sIHRhcmdldF9jdSk7Ci0gCi0tICAv KiBBZGEgZXhwZWN0cyBhbiBlbXB0eSBhcnJheSBvbiBubyBib3VuZGFyeSBhdHRyaWJ1dGVzLiAg Ki8KLS0gIGlmIChhdHRyID09IE5VTEwgJiYgY3UtPmxhbmd1YWdlICE9IGxhbmd1YWdlX2FkYSkK LS0gICAgVFlQRV9ISUdIX0JPVU5EX1VOREVGSU5FRCAocmFuZ2VfdHlwZSkgPSAxOworKwogKyAg ICAgIFRZUEVfUkFOR0VfREFUQSAocmFuZ2VfdHlwZSktPmJ5dGVfc3RyaWRlLmtpbmQKICsgICAg ICAgID0gUkFOR0VfQk9VTkRfS0lORF9EV0FSRl9MT0NMSVNUOwogKyAgICAgIFRZUEVfUkFOR0Vf REFUQSAocmFuZ2VfdHlwZSktPmJ5dGVfc3RyaWRlLnUuZHdhcmZfbG9jbGlzdC5sb2NsaXN0CkBA IC0yMjY3LDcgKzIyNjgsNyBAQCBpbmRleCBjYTZjOThiLi5kMTc2NjI0IDEwMDY0NAogIAogICAg bmFtZSA9IGR3YXJmMl9uYW1lIChkaWUsIGN1KTsKICAgIGlmIChuYW1lKQotQEAgLTEwODgxLDEw ICsxMTA4OSwxMiBAQCB2YXJfZGVjb2RlX2xvY2F0aW9uIChzdHJ1Y3QgYXR0cmlidXRlICphdHRy LCBzdHJ1Y3Qgc3ltYm9sICpzeW0sCitAQCAtMTA4OTgsMTAgKzExMTA2LDEyIEBAIHZhcl9kZWNv ZGVfbG9jYXRpb24gKHN0cnVjdCBhdHRyaWJ1dGUgKmEKICAgICAgIChpLmUuIHdoZW4gdGhlIHZh bHVlIG9mIGEgcmVnaXN0ZXIgb3IgbWVtb3J5IGxvY2F0aW9uIGlzCiAgICAgICByZWZlcmVuY2Vk LCBvciBhIHRocmVhZC1sb2NhbCBibG9jaywgZXRjLikuICBUaGVuIGFnYWluLCBpdCBtaWdodAog ICAgICAgbm90IGJlIHdvcnRod2hpbGUuICBJJ20gYXNzdW1pbmcgdGhhdCBpdCBpc24ndCB1bmxl c3MgcGVyZm9ybWFuY2UKQEAgLTIyODIsNyArMjI4Myw3IEBAIGluZGV4IGNhNmM5OGIuLmQxNzY2 MjQgMTAwNjQ0CiAgfQogIAogIC8qIEdpdmVuIGEgcG9pbnRlciB0byBhIERXQVJGIGluZm9ybWF0 aW9uIGVudHJ5LCBmaWd1cmUgb3V0IGlmIHdlIG5lZWQKLUBAIC0xMDkyMiw2ICsxMTEzMiw4IEBA IG5ld19zeW1ib2xfZnVsbCAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCB0eXBlICp0eXBl LCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSwKK0BAIC0xMDkzOSw2ICsxMTE0OSw4IEBAIG5ld19zeW1i b2xfZnVsbCAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHMKICAgICAgICBlbHNlCiAgCXN5bSA9IE9C U1RBQ0tfWkFMTE9DICgmb2JqZmlsZS0+b2JqZmlsZV9vYnN0YWNrLCBzdHJ1Y3Qgc3ltYm9sKTsK ICAgICAgICBPQkpTVEFUIChvYmpmaWxlLCBuX3N5bXMrKyk7CkBAIC0yMjkxLDcgKzIyOTIsNyBA QCBpbmRleCBjYTZjOThiLi5kMTc2NjI0IDEwMDY0NAogIAogICAgICAgIC8qIENhY2hlIHRoaXMg c3ltYm9sJ3MgbmFtZSBhbmQgdGhlIG5hbWUncyBkZW1hbmdsZWQgZm9ybSAoaWYgYW55KS4gICov CiAgICAgICAgU1lNQk9MX1NFVF9MQU5HVUFHRSAoc3ltLCBjdS0+bGFuZ3VhZ2UpOwotQEAgLTEx Njk0LDYgKzExOTA2LDkgQEAgcmVhZF90eXBlX2RpZV8xIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwg c3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtMTE3MTEsNiArMTE5MjMsOSBAQCByZWFkX3R5cGVf ZGllXzEgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzCiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAK QEAgLTIzMDEsNyArMjMwMiw3IEBAIGluZGV4IGNhNmM5OGIuLmQxNzY2MjQgMTAwNjQ0CiAgICBy ZXR1cm4gdGhpc190eXBlOwogIH0KICAKLUBAIC0xNDU0OCw2MSArMTQ3NjMsOTkgQEAgZmlsbF9p bl9sb2NsaXN0X2JhdG9uIChzdHJ1Y3QgZHdhcmYyX2N1ICpjdSwKK0BAIC0xNDU2NSw2MSArMTQ3 ODAsOTkgQEAgZmlsbF9pbl9sb2NsaXN0X2JhdG9uIChzdHJ1Y3QgZHdhcmYyX2N1IAogICAgYmF0 b24tPmJhc2VfYWRkcmVzcyA9IGN1LT5iYXNlX2FkZHJlc3M7CiAgfQogIApAQCAtMjM1OCwxMCAr MjM1OSwxMCBAQCBpbmRleCBjYTZjOThiLi5kMTc2NjI0IDEwMDY0NAogKyAgICAgdmFyaWFibGUg aGFzIGJlZW4gb3B0aW1pemVkIG91dC4gICovCiArICBpZiAoIWF0dHIpCiArICAgIHJldHVybiBO VUxMOwotIAorKwogKyAgZHdhcmYyX3JlYWRfc2VjdGlvbiAoZHdhcmYyX3Blcl9vYmpmaWxlLT5v YmpmaWxlLAogKwkJICAgICAgICZkd2FyZjJfcGVyX29iamZpbGUtPmxvYyk7Ci0rCisgCiArICBp ZiAoIShhdHRyX2Zvcm1faXNfc2VjdGlvbl9vZmZzZXQgKGF0dHIpCiArCS8qICIuZGVidWdfbG9j IiBtYXkgbm90IGV4aXN0IGF0IGFsbCwgb3IgdGhlIG9mZnNldCBtYXkgYmUgb3V0c2lkZQogKwkg ICB0aGUgc2VjdGlvbi4gIElmIHNvLCBmYWxsIHRocm91Z2ggdG8gdGhlIGNvbXBsYWludCBpbiB0 aGUKQEAgLTI0NDQsNyArMjQ0NSw3IEBAIGluZGV4IGNhNmM5OGIuLmQxNzY2MjQgMTAwNjQ0CiAg ICAgIH0KICB9CiAgCi1AQCAtMTQ5NTEsNiArMTUyMDQsMjUgQEAgb2Zmc2V0X2FuZF90eXBlX2Vx IChjb25zdCB2b2lkICppdGVtX2xocywgY29uc3Qgdm9pZCAqaXRlbV9yaHMpCitAQCAtMTQ5Njgs NiArMTUyMjEsMjUgQEAgb2Zmc2V0X2FuZF90eXBlX2VxIChjb25zdCB2b2lkICppdGVtX2xocwog ICAgcmV0dXJuIG9mc19saHMtPm9mZnNldCA9PSBvZnNfcmhzLT5vZmZzZXQ7CiAgfQogIApAQCAt MjQ3MCw3ICsyNDcxLDcgQEAgaW5kZXggY2E2Yzk4Yi4uZDE3NjYyNCAxMDA2NDQKICAvKiBTZXQg dGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIERJRSB0byBUWVBFLiAgU2F2ZSBpdCBpbiBDVSdzIGhh c2gKICAgICB0YWJsZSBpZiBuZWNlc3NhcnkuICBGb3IgY29udmVuaWVuY2UsIHJldHVybiBUWVBF LgogIAotQEAgLTE0OTc2LDYgKzE1MjQ4LDggQEAgc2V0X2RpZV90eXBlIChzdHJ1Y3QgZGllX2lu Zm8gKmRpZSwgc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorQEAgLTE0 OTkzLDYgKzE1MjY1LDggQEAgc2V0X2RpZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3Ry dQogICAgc3RydWN0IG9iamZpbGUgKm9iamZpbGUgPSBjdS0+b2JqZmlsZTsKICAgIGh0YWJfdCAq dHlwZV9oYXNoX3B0cjsKICAKQEAgLTI0NzksMTAgKzI0ODAsMTAgQEAgaW5kZXggY2E2Yzk4Yi4u ZDE3NjYyNCAxMDA2NDQKICAgIC8qIEZvciBBZGEgdHlwZXMsIG1ha2Ugc3VyZSB0aGF0IHRoZSBn bmF0LXNwZWNpZmljIGRhdGEgaXMgYWx3YXlzCiAgICAgICBpbml0aWFsaXplZCAoaWYgbm90IGFs cmVhZHkgc2V0KS4gIFRoZXJlIGFyZSBhIGZldyB0eXBlcyB3aGVyZQogICAgICAgd2Ugc2hvdWxk IG5vdCBiZSBkb2luZyBzbywgYmVjYXVzZSB0aGUgdHlwZS1zcGVjaWZpYyBhcmVhIGlzCi1kaWZm IC0tZ2l0IGEvZ2RiL2VsZnJlYWQuYyBiL2dkYi9lbGZyZWFkLmMKLWluZGV4IGI5Y2ZhMTMuLmZl ZDYzZjUgMTAwNjQ0Ci0tLS0gYS9nZGIvZWxmcmVhZC5jCi0rKysgYi9nZGIvZWxmcmVhZC5jCitJ bmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZWxmcmVhZC5jCis9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0g Z2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9lbGZyZWFkLmMJMjAxMS0wNC0yNSAyMzoyNTox OC4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9lbGZyZWFkLmMJ MjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKIEBAIC00Myw2ICs0MywxMiBAQAog ICNpbmNsdWRlICJpbmZjYWxsLmgiCiAgI2luY2x1ZGUgImdkYnRocmVhZC5oIgpAQCAtMjUxOCw3 ICsyNTE5LDcgQEAgaW5kZXggYjljZmExMy4uZmVkNjNmNSAxMDA2NDQKICBzdGF0aWMgdm9pZCBm cmVlX2VsZmluZm8gKHZvaWQgKik7CiAgCiAgLyogTWluaW1hbCBzeW1ib2xzIGxvY2F0ZWQgYXQg dGhlIEdPVCBlbnRyaWVzIGZvciAucGx0IC0gdGhhdCBpcyB0aGUgcmVhbAotQEAgLTE1NTEsNyAr MTU3MiwyNjYgQEAgZWxmc3RhYl9vZmZzZXRfc2VjdGlvbnMgKHN0cnVjdCBvYmpmaWxlICpvYmpm aWxlLCBzdHJ1Y3QgcGFydGlhbF9zeW10YWIgKnBzdCkKK0BAIC0xNTU2LDcgKzE1NzcsMjY2IEBA IGVsZnN0YWJfb2Zmc2V0X3NlY3Rpb25zIChzdHJ1Y3Qgb2JqZmlsZSAKICAgICAgY29tcGxhaW50 ICgmc3ltZmlsZV9jb21wbGFpbnRzLAogIAkgICAgICAgXygiZWxmL3N0YWIgc2VjdGlvbiBpbmZv cm1hdGlvbiBtaXNzaW5nIGZvciAlcyIpLCBmaWxlbmFtZSk7CiAgfQpAQCAtMjc4NSw3ICsyNzg2 LDcgQEAgaW5kZXggYjljZmExMy4uZmVkNjNmNSAxMDA2NDQKICAvKiBSZWdpc3RlciB0aGF0IHdl IGFyZSBhYmxlIHRvIGhhbmRsZSBFTEYgb2JqZWN0IGZpbGUgZm9ybWF0cy4gICovCiAgCiAgc3Rh dGljIGNvbnN0IHN0cnVjdCBzeW1fZm5zIGVsZl9zeW1fZm5zID0KLUBAIC0xNTY2LDYgKzE4NDYs NyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHN5bV9mbnMgZWxmX3N5bV9mbnMgPQorQEAgLTE1NzEs NiArMTg1MSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc3ltX2ZucyBlbGZfc3ltX2ZucyAKICAg IGVsZl9zeW1maWxlX3NlZ21lbnRzLAkJLyogR2V0IHNlZ21lbnQgaW5mb3JtYXRpb24gZnJvbSBh IGZpbGUuICAqLwogICAgTlVMTCwKICAgIGRlZmF1bHRfc3ltZmlsZV9yZWxvY2F0ZSwJLyogUmVs b2NhdGUgYSBkZWJ1ZyBzZWN0aW9uLiAgKi8KQEAgLTI3OTMsNyArMjc5NCw3IEBAIGluZGV4IGI5 Y2ZhMTMuLmZlZDYzZjUgMTAwNjQ0CiAgICAmcHN5bV9mdW5jdGlvbnMKICB9OwogIAotQEAgLTE1 ODQsNiArMTg2NSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc3ltX2ZucyBlbGZfc3ltX2Zuc19s YXp5X3BzeW1zID0KK0BAIC0xNTg5LDYgKzE4NzAsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHN5 bV9mbnMgZWxmX3N5bV9mbnNfCiAgICBlbGZfc3ltZmlsZV9zZWdtZW50cywJCS8qIEdldCBzZWdt ZW50IGluZm9ybWF0aW9uIGZyb20gYSBmaWxlLiAgKi8KICAgIE5VTEwsCiAgICBkZWZhdWx0X3N5 bWZpbGVfcmVsb2NhdGUsCS8qIFJlbG9jYXRlIGEgZGVidWcgc2VjdGlvbi4gICovCkBAIC0yODAx LDcgKzI4MDIsNyBAQCBpbmRleCBiOWNmYTEzLi5mZWQ2M2Y1IDEwMDY0NAogICAgJnBzeW1fZnVu Y3Rpb25zCiAgfTsKICAKLUBAIC0xNjAxLDYgKzE4ODMsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0 IHN5bV9mbnMgZWxmX3N5bV9mbnNfZ2RiX2luZGV4ID0KK0BAIC0xNjA2LDYgKzE4ODgsNyBAQCBz dGF0aWMgY29uc3Qgc3RydWN0IHN5bV9mbnMgZWxmX3N5bV9mbnNfCiAgICBlbGZfc3ltZmlsZV9z ZWdtZW50cywJCS8qIEdldCBzZWdtZW50IGluZm9ybWF0aW9uIGZyb20gYSBmaWxlLiAgKi8KICAg IE5VTEwsCiAgICBkZWZhdWx0X3N5bWZpbGVfcmVsb2NhdGUsCS8qIFJlbG9jYXRlIGEgZGVidWcg c2VjdGlvbi4gICovCkBAIC0yODA5LDcgKzI4MTAsNyBAQCBpbmRleCBiOWNmYTEzLi5mZWQ2M2Y1 IDEwMDY0NAogICAgJmR3YXJmMl9nZGJfaW5kZXhfZnVuY3Rpb25zCiAgfTsKICAKLUBAIC0xNjE3 LDYgKzE5MDAsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGdudV9pZnVuY19mbnMgZWxmX2dudV9p ZnVuY19mbnMgPQorQEAgLTE2MjIsNiArMTkwNSw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZ251 X2lmdW5jX2ZucyBlbGZfZ24KICB2b2lkCiAgX2luaXRpYWxpemVfZWxmcmVhZCAodm9pZCkKICB7 CkBAIC0yODE4LDEwICsyODE5LDEwIEBAIGluZGV4IGI5Y2ZhMTMuLmZlZDYzZjUgMTAwNjQ0CiAg ICBhZGRfc3ltdGFiX2ZucyAoJmVsZl9zeW1fZm5zKTsKICAKICAgIGVsZl9vYmpmaWxlX2dudV9p ZnVuY19jYWNoZV9kYXRhID0gcmVnaXN0ZXJfb2JqZmlsZV9kYXRhICgpOwotZGlmZiAtLWdpdCBh L2dkYi9ldmFsLmMgYi9nZGIvZXZhbC5jCi1pbmRleCBiYmM3YjhhLi43YzBhOGY5IDEwMDY0NAot LS0tIGEvZ2RiL2V2YWwuYwotKysrIGIvZ2RiL2V2YWwuYworSW5kZXg6IGdkYi03LjIuOTAuMjAx MTA0MjkvZ2RiL2V2YWwuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3Jp Zy9nZGIvZXZhbC5jCTIwMTEtMDMtMjggMjI6MjE6MDMuMDAwMDAwMDAwICswMjAwCisrKysgZ2Ri LTcuMi45MC4yMDExMDQyOS9nZGIvZXZhbC5jCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAw ICswMjAwCiBAQCAtNDQsNiArNDQsNyBAQAogICNpbmNsdWRlICJvYmpmaWxlcy5oIgogICNpbmNs dWRlICJweXRob24vcHl0aG9uLmgiCkBAIC0yODMwLDcgKzI4MzEsNyBAQCBpbmRleCBiYmM3Yjhh Li43YzBhOGY5IDEwMDY0NAogIAogICNpbmNsdWRlICJnZGJfYXNzZXJ0LmgiCiAgCi1AQCAtNDg5 LDI3ICs0OTAsMjE3IEBAIGluaXRfYXJyYXlfZWxlbWVudCAoc3RydWN0IHZhbHVlICphcnJheSwg c3RydWN0IHZhbHVlICplbGVtZW50LAorQEAgLTQ4OSwyNyArNDkwLDIxNyBAQCBpbml0X2FycmF5 X2VsZW1lbnQgKHN0cnVjdCB2YWx1ZSAqYXJyYXksCiAgfQogIAogIHN0YXRpYyBzdHJ1Y3QgdmFs dWUgKgpAQCAtMjg0NSwxMiArMjg0NiwxMSBAQCBpbmRleCBiYmM3YjhhLi43YzBhOGY5IDEwMDY0 NAogLSAgZW51bSBmOTBfcmFuZ2VfdHlwZSByYW5nZV90eXBlID0gbG9uZ2VzdF90b19pbnQgKGV4 cC0+ZWx0c1twY10ubG9uZ2NvbnN0KTsKIC0gCiAtICAqcG9zICs9IDM7Ci0tCi0tICBpZiAocmFu Z2VfdHlwZSA9PSBMT1dfQk9VTkRfREVGQVVMVCB8fCByYW5nZV90eXBlID09IEJPVEhfQk9VTkRf REVGQVVMVCkKLS0gICAgbG93X2JvdW5kID0gVFlQRV9MT1dfQk9VTkQgKHJhbmdlKTsKICsgIC8q IFR5cGUgdG8gdXNlIGZvciB0aGUgbmV3bHkgYWxsb2NhdGVkIHZhbHVlIEFSUkFZLiAgKi8KICsg IHN0cnVjdCB0eXBlICpuZXdfYXJyYXlfdHlwZTsKLSsKKyAKKy0gIGlmIChyYW5nZV90eXBlID09 IExPV19CT1VORF9ERUZBVUxUIHx8IHJhbmdlX3R5cGUgPT0gQk9USF9CT1VORF9ERUZBVUxUKQor LSAgICBsb3dfYm91bmQgPSBUWVBFX0xPV19CT1VORCAocmFuZ2UpOwogKyAgLyogVHlwZSBiZWlu ZyBpdGVyYXRlZCBmb3IgZWFjaCBkaW1lbnNpb24uICAqLwogKyAgc3RydWN0IHR5cGUgKnR5cGUs ICp0eXBlX2xhc3RfdGFyZ2V0OwogKwpAQCAtMzA0NywxMyArMzA0NywxMyBAQCBpbmRleCBiYmM3 YjhhLi43YzBhOGY5IDEwMDY0NAogKyAgVkFMVUVfRlJBTUVfSUQgKGFycmF5KSA9IFZBTFVFX0ZS QU1FX0lEIChzYXZlZF9hcnJheSk7CiArICBpZiAoVkFMVUVfTFZBTCAoYXJyYXkpICE9IGx2YWxf aW50ZXJuYWx2YXIpCiArICAgIHNldF92YWx1ZV9hZGRyZXNzIChhcnJheSwgdmFsdWVfYnl0ZV9h ZGRyZXNzICsgdmFsdWVfYnl0ZV9vZmZzZXQpOwotKworIAorLSAgcmV0dXJuIHZhbHVlX3NsaWNl IChhcnJheSwgbG93X2JvdW5kLCBoaWdoX2JvdW5kIC0gbG93X2JvdW5kICsgMSk7CiArICBpZiAo IXZhbHVlX2xhenkgKHNhdmVkX2FycmF5KSkKICsgICAgewogKyAgICAgIGFsbG9jYXRlX3ZhbHVl X2NvbnRlbnRzIChhcnJheSk7CiArICAgICAgc2V0X3ZhbHVlX2xhenkgKGFycmF5LCAwKTsKLSAK LS0gIHJldHVybiB2YWx1ZV9zbGljZSAoYXJyYXksIGxvd19ib3VuZCwgaGlnaF9ib3VuZCAtIGxv d19ib3VuZCArIDEpOworKwogKyAgICAgIG1lbWNweSAodmFsdWVfY29udGVudHNfd3JpdGVhYmxl IChhcnJheSksCiArCSAgICAgIHZhbHVlX2NvbnRlbnRzIChzYXZlZF9hcnJheSkgKyB2YWx1ZV9i eXRlX29mZnNldCwKICsJICAgICAgVFlQRV9MRU5HVEggKG5ld19hcnJheV90eXBlKSk7CkBAIC0z MDY0LDcgKzMwNjQsNyBAQCBpbmRleCBiYmM3YjhhLi43YzBhOGY5IDEwMDY0NAogIH0KICAKICAK LUBAIC03OTAsNiArOTgxLDcgQEAgZXZhbHVhdGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlw ZSAqZXhwZWN0X3R5cGUsCitAQCAtNzkwLDYgKzk4MSw3IEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFu ZGFyZCAoc3RydWN0IHR5cGUgKmUKICAgIGludCBzYXZlX3BvczE7CiAgICBzdHJ1Y3Qgc3ltYm9s ICpmdW5jdGlvbiA9IE5VTEw7CiAgICBjaGFyICpmdW5jdGlvbl9uYW1lID0gTlVMTDsKQEAgLTMw NzIsNyArMzA3Miw3IEBAIGluZGV4IGJiYzdiOGEuLjdjMGE4ZjkgMTAwNjQ0CiAgCiAgICBwYyA9 ICgqcG9zKSsrOwogICAgb3AgPSBleHAtPmVsdHNbcGNdLm9wY29kZTsKLUBAIC0xODYyLDYgKzIw NTQsOCBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVjdCB0eXBlICpleHBlY3RfdHlw ZSwKK0BAIC0xODYyLDYgKzIwNTQsOCBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVj dCB0eXBlICplCiAgCiAgICAgICAgLyogRmlyc3QgZGV0ZXJtaW5lIHRoZSB0eXBlIGNvZGUgd2Ug YXJlIGRlYWxpbmcgd2l0aC4gICovCiAgICAgICAgYXJnMSA9IGV2YWx1YXRlX3N1YmV4cCAoTlVM TF9UWVBFLCBleHAsIHBvcywgbm9zaWRlKTsKQEAgLTMwODEsNyArMzA4MSw3IEBAIGluZGV4IGJi YzdiOGEuLjdjMGE4ZjkgMTAwNjQ0CiAgICAgICAgdHlwZSA9IGNoZWNrX3R5cGVkZWYgKHZhbHVl X3R5cGUgKGFyZzEpKTsKICAgICAgICBjb2RlID0gVFlQRV9DT0RFICh0eXBlKTsKICAKLUBAIC0x ODgyLDIzICsyMDc2LDEzIEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUg KmV4cGVjdF90eXBlLAorQEAgLTE4ODIsMjMgKzIwNzYsMTMgQEAgZXZhbHVhdGVfc3ViZXhwX3N0 YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZQogIAkgICAgICBjb2RlID0gVFlQRV9DT0RFICh0eXBlKTsK ICAJICAgIH0KICAJfSAKQEAgLTMxMDcsNyArMzEwNyw3IEBAIGluZGV4IGJiYzdiOGEuLjdjMGE4 ZjkgMTAwNjQ0CiAgCiAgCWNhc2UgVFlQRV9DT0RFX1BUUjoKICAJY2FzZSBUWVBFX0NPREVfRlVO QzoKLUBAIC0yMzM3LDQ5ICsyNTIxLDYgQEAgZXZhbHVhdGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1 Y3QgdHlwZSAqZXhwZWN0X3R5cGUsCitAQCAtMjMzNyw0OSArMjUyMSw2IEBAIGV2YWx1YXRlX3N1 YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmUKICAJfQogICAgICAgIHJldHVybiAoYXJnMSk7 CiAgCkBAIC0zMTU3LDcgKzMxNTcsNyBAQCBpbmRleCBiYmM3YjhhLi43YzBhOGY5IDEwMDY0NAog ICAgICBjYXNlIEJJTk9QX0xPR0lDQUxfQU5EOgogICAgICAgIGFyZzEgPSBldmFsdWF0ZV9zdWJl eHAgKE5VTExfVFlQRSwgZXhwLCBwb3MsIG5vc2lkZSk7CiAgICAgICAgaWYgKG5vc2lkZSA9PSBF VkFMX1NLSVApCi1AQCAtMjYxMSwxNSArMjc1MiwyMyBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRh cmQgKHN0cnVjdCB0eXBlICpleHBlY3RfdHlwZSwKK0BAIC0yNjExLDE1ICsyNzUyLDIzIEBAIGV2 YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmUKICAgICAgICBpZiAoZXhwZWN0 X3R5cGUgJiYgVFlQRV9DT0RFIChleHBlY3RfdHlwZSkgPT0gVFlQRV9DT0RFX1BUUikKICAJZXhw ZWN0X3R5cGUgPSBUWVBFX1RBUkdFVF9UWVBFIChjaGVja190eXBlZGVmIChleHBlY3RfdHlwZSkp OwogICAgICAgIGFyZzEgPSBldmFsdWF0ZV9zdWJleHAgKGV4cGVjdF90eXBlLCBleHAsIHBvcywg bm9zaWRlKTsKQEAgLTMxODMsNyArMzE4Myw3IEBAIGluZGV4IGJiYzdiOGEuLjdjMGE4ZjkgMTAw NjQ0CiAgICAgICAgZWxzZSBpZiAobm9zaWRlID09IEVWQUxfQVZPSURfU0lERV9FRkZFQ1RTKQog IAl7CiAgCSAgdHlwZSA9IGNoZWNrX3R5cGVkZWYgKHZhbHVlX3R5cGUgKGFyZzEpKTsKLUBAIC0y NjI4LDEyICsyNzc3LDE4IEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUg KmV4cGVjdF90eXBlLAorQEAgLTI2MjgsMTIgKzI3NzcsMTggQEAgZXZhbHVhdGVfc3ViZXhwX3N0 YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZQogIAkgIC8qIEluIEMgeW91IGNhbiBkZXJlZmVyZW5jZSBh biBhcnJheSB0byBnZXQgdGhlIDFzdCBlbHQuICAqLwogIAkgICAgICB8fCBUWVBFX0NPREUgKHR5 cGUpID09IFRZUEVfQ09ERV9BUlJBWQogIAkgICAgKQpAQCAtMzIwNyw3ICszMjA3LDcgQEAgaW5k ZXggYmJjN2I4YS4uN2MwYThmOSAxMDA2NDQKICAJICBlbHNlCiAgCSAgICBlcnJvciAoXygiQXR0 ZW1wdCB0byB0YWtlIGNvbnRlbnRzIG9mIGEgbm9uLXBvaW50ZXIgdmFsdWUuIikpOwogIAl9Ci1A QCAtMjY0Myw5ICsyNzk4LDE0IEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5 cGUgKmV4cGVjdF90eXBlLAorQEAgLTI2NDMsOSArMjc5OCwxNCBAQCBldmFsdWF0ZV9zdWJleHBf c3RhbmRhcmQgKHN0cnVjdCB0eXBlICplCiAgCSBkby4gICJsb25nIGxvbmciIHZhcmlhYmxlcyBh cmUgcmFyZSBlbm91Z2ggdGhhdAogIAkgQlVJTFRJTl9UWVBFX0xPTkdFU1Qgd291bGQgc2VlbSB0 byBiZSBhIG1pc3Rha2UuICAqLwogICAgICAgIGlmIChUWVBFX0NPREUgKHR5cGUpID09IFRZUEVf Q09ERV9JTlQpCkBAIC0zMjI1LDcgKzMyMjUsNyBAQCBpbmRleCBiYmM3YjhhLi43YzBhOGY5IDEw MDY0NAogIAogICAgICBjYXNlIFVOT1BfQUREUjoKICAgICAgICAvKiBDKys6IGNoZWNrIGZvciBh bmQgaGFuZGxlIHBvaW50ZXIgdG8gbWVtYmVycy4gICovCi1AQCAtMjk5MSw3ICszMTUxLDcgQEAg ZXZhbHVhdGVfc3ViZXhwX3dpdGhfY29lcmNpb24gKHN0cnVjdCBleHByZXNzaW9uICpleHAsCitA QCAtMjk5MSw3ICszMTUxLDcgQEAgZXZhbHVhdGVfc3ViZXhwX3dpdGhfY29lcmNpb24gKHN0cnVj dCBleAogIHsKICAgIGVudW0gZXhwX29wY29kZSBvcDsKICAgIGludCBwYzsKQEAgLTMyMzQsNyAr MzIzNCw3IEBAIGluZGV4IGJiYzdiOGEuLjdjMGE4ZjkgMTAwNjQ0CiAgICBzdHJ1Y3Qgc3ltYm9s ICp2YXI7CiAgICBzdHJ1Y3QgdHlwZSAqdHlwZTsKICAKLUBAIC0zMDAyLDEzICszMTYyLDE4IEBA IGV2YWx1YXRlX3N1YmV4cF93aXRoX2NvZXJjaW9uIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLAor QEAgLTMwMDIsMTMgKzMxNjIsMTggQEAgZXZhbHVhdGVfc3ViZXhwX3dpdGhfY29lcmNpb24gKHN0 cnVjdCBleAogICAgICB7CiAgICAgIGNhc2UgT1BfVkFSX1ZBTFVFOgogICAgICAgIHZhciA9IGV4 cC0+ZWx0c1twYyArIDJdLnN5bWJvbDsKQEAgLTMyNTQsNyArMzI1NCw3IEBAIGluZGV4IGJiYzdi OGEuLjdjMGE4ZjkgMTAwNjQ0CiAgCSAgcmV0dXJuIHZhbHVlX2Nhc3QgKGxvb2t1cF9wb2ludGVy X3R5cGUgKFRZUEVfVEFSR0VUX1RZUEUgKHR5cGUpKSwKICAJCQkgICAgIHZhbCk7CiAgCX0KLUBA IC0zMDYwLDkgKzMyMjUsMTMgQEAgZXZhbHVhdGVfc3ViZXhwX2Zvcl9zaXplb2YgKHN0cnVjdCBl eHByZXNzaW9uICpleHAsIGludCAqcG9zKQorQEAgLTMwNjAsOSArMzIyNSwxMyBAQCBldmFsdWF0 ZV9zdWJleHBfZm9yX3NpemVvZiAoc3RydWN0IGV4cHJlCiAgCiAgICAgIGNhc2UgT1BfVkFSX1ZB TFVFOgogICAgICAgICgqcG9zKSArPSA0OwpAQCAtMzI3MSw3ICszMjcxLDcgQEAgaW5kZXggYmJj N2I4YS4uN2MwYThmOSAxMDA2NDQKICAKICAgICAgZGVmYXVsdDoKICAgICAgICB2YWwgPSBldmFs dWF0ZV9zdWJleHAgKE5VTExfVFlQRSwgZXhwLCBwb3MsIEVWQUxfQVZPSURfU0lERV9FRkZFQ1RT KTsKLUBAIC0zMDkzLDE4ICszMjYyLDI1IEBAIHBhcnNlX2FuZF9ldmFsX3R5cGUgKGNoYXIgKnAs IGludCBsZW5ndGgpCitAQCAtMzA5MywxOCArMzI2MiwyNSBAQCBwYXJzZV9hbmRfZXZhbF90eXBl IChjaGFyICpwLCBpbnQgbGVuZ3RoCiAgaW50CiAgY2FsY19mNzdfYXJyYXlfZGltcyAoc3RydWN0 IHR5cGUgKmFycmF5X3R5cGUpCiAgewpAQCAtMzMwNywxMCArMzMwNywxMCBAQCBpbmRleCBiYmM3 YjhhLi43YzBhOGY5IDEwMDY0NAogLSAgcmV0dXJuIG5kaW1lbjsKICsKICB9Ci1kaWZmIC0tZ2l0 IGEvZ2RiL2YtZXhwLnkgYi9nZGIvZi1leHAueQotaW5kZXggZDljZjNjZi4uM2UxMWU1NyAxMDA2 NDQKLS0tLSBhL2dkYi9mLWV4cC55Ci0rKysgYi9nZGIvZi1leHAueQorSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA0MjkvZ2RiL2YtZXhwLnkKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEw NDI5Lm9yaWcvZ2RiL2YtZXhwLnkJMjAxMS0wMy0xOCAxNDo1MTo0MS4wMDAwMDAwMDAgKzAxMDAK KysrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9mLWV4cC55CTIwMTEtMDQtMjkgMDk6NDA6NDYu MDAwMDAwMDAwICswMjAwCiBAQCAtMjkzLDcgKzI5Myw5IEBAIGFyZ2xpc3QgOglzdWJyYW5nZQog IAkJCXsgYXJnbGlzdF9sZW4gPSAxOyB9CiAgCTsKQEAgLTMzMjIsMTEgKzMzMjIsMTEgQEAgaW5k ZXggZDljZjNjZi4uM2UxMWU1NyAxMDA2NDQKICAJCQl7IGFyZ2xpc3RfbGVuKys7IH0KICAJOwog IAotZGlmZiAtLWdpdCBhL2dkYi9mLWxhbmcuaCBiL2dkYi9mLWxhbmcuaAotaW5kZXggODA0MzU3 Ny4uOTRhNWYzMSAxMDA2NDQKLS0tLSBhL2dkYi9mLWxhbmcuaAotKysrIGIvZ2RiL2YtbGFuZy5o Ci1AQCAtMjgsNiArMjgsMTAgQEAgZXh0ZXJuIHZvaWQgZl9lcnJvciAoY2hhciAqKTsJLyogRGVm aW5lZCBpbiBmLWV4cC55ICovCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZi1sYW5n LmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL2YtbGFuZy5o CTIwMTEtMDEtMDcgMjA6MzY6MTYuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDEx MDQyOS9nZGIvZi1sYW5nLmgJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKK0BA IC0yOCw2ICsyOCwxMCBAQCBleHRlcm4gdm9pZCBmX2Vycm9yIChjaGFyICopOwkvKiBEZWZpbmVk CiAgZXh0ZXJuIHZvaWQgZl9wcmludF90eXBlIChzdHJ1Y3QgdHlwZSAqLCBjb25zdCBjaGFyICos IHN0cnVjdCB1aV9maWxlICosIGludCwKICAJCQkgIGludCk7CiAgCkBAIC0zMzM3LDEwICszMzM3 LDEwIEBAIGluZGV4IDgwNDM1NzcuLjk0YTVmMzEgMTAwNjQ0CiAgZXh0ZXJuIGludCBmX3ZhbF9w cmludCAoc3RydWN0IHR5cGUgKiwgY29uc3QgZ2RiX2J5dGUgKiwgaW50LCBDT1JFX0FERFIsCiAg CQkJc3RydWN0IHVpX2ZpbGUgKiwgaW50LAogIAkJCWNvbnN0IHN0cnVjdCB2YWx1ZSAqLAotZGlm ZiAtLWdpdCBhL2dkYi9mLXR5cGVwcmludC5jIGIvZ2RiL2YtdHlwZXByaW50LmMKLWluZGV4IGFk OTg4ZDIuLjk4NWZlZjYgMTAwNjQ0Ci0tLS0gYS9nZGIvZi10eXBlcHJpbnQuYwotKysrIGIvZ2Ri L2YtdHlwZXByaW50LmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9mLXR5cGVwcmlu dC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9mLXR5cGVw cmludC5jCTIwMTEtMDEtMDcgMjA6MzY6MTYuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45 MC4yMDExMDQyOS9nZGIvZi10eXBlcHJpbnQuYwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAw MCArMDIwMAogQEAgLTMyLDcgKzMyLDcgQEAKICAjaW5jbHVkZSAiZ2RiY29yZS5oIgogICNpbmNs dWRlICJ0YXJnZXQuaCIKQEAgLTMzNTAsNyArMzM1MCw3IEBAIGluZGV4IGFkOTg4ZDIuLjk4NWZl ZjYgMTAwNjQ0CiAgI2luY2x1ZGUgImdkYl9zdHJpbmcuaCIKICAjaW5jbHVkZSA8ZXJybm8uaD4K ICAKLUBAIC00OSw2ICs0OSwzNCBAQCB2b2lkIGZfdHlwZV9wcmludF92YXJzcGVjX3ByZWZpeCAo c3RydWN0IHR5cGUgKiwgc3RydWN0IHVpX2ZpbGUgKiwKK0BAIC00OSw2ICs0OSwzNCBAQCB2b2lk IGZfdHlwZV9wcmludF92YXJzcGVjX3ByZWZpeCAoc3RydWN0CiAgdm9pZCBmX3R5cGVfcHJpbnRf YmFzZSAoc3RydWN0IHR5cGUgKiwgc3RydWN0IHVpX2ZpbGUgKiwgaW50LCBpbnQpOwogIAwKICAK QEAgLTMzODUsNyArMzM4NSw3IEBAIGluZGV4IGFkOTg4ZDIuLjk4NWZlZjYgMTAwNjQ0CiAgLyog TEVWRUwgaXMgdGhlIGRlcHRoIHRvIGluZGVudCBsaW5lcyBieS4gICovCiAgCiAgdm9pZAotQEAg LTU4LDYgKzg2LDkgQEAgZl9wcmludF90eXBlIChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgY2hh ciAqdmFyc3RyaW5nLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLAorQEAgLTU4LDYgKzg2LDkgQEAg Zl9wcmludF90eXBlIChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgYwogICAgZW51bSB0eXBlX2Nv ZGUgY29kZTsKICAgIGludCBkZW1hbmdsZWRfYXJnczsKICAKQEAgLTMzOTUsNyArMzM5NSw3IEBA IGluZGV4IGFkOTg4ZDIuLjk4NWZlZjYgMTAwNjQ0CiAgICBmX3R5cGVfcHJpbnRfYmFzZSAodHlw ZSwgc3RyZWFtLCBzaG93LCBsZXZlbCk7CiAgICBjb2RlID0gVFlQRV9DT0RFICh0eXBlKTsKICAg IGlmICgodmFyc3RyaW5nICE9IE5VTEwgJiYgKnZhcnN0cmluZyAhPSAnXDAnKQotQEAgLTE2NSw2 ICsxOTYsOSBAQCBmX3R5cGVfcHJpbnRfdmFyc3BlY19zdWZmaXggKHN0cnVjdCB0eXBlICp0eXBl LCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLAorQEAgLTE2NSw2ICsxOTYsOSBAQCBmX3R5cGVfcHJp bnRfdmFyc3BlY19zdWZmaXggKHN0cnVjdCB0eXBlCiAgCiAgICBRVUlUOwogIApAQCAtMzQwNSwx MSArMzQwNSwxMSBAQCBpbmRleCBhZDk4OGQyLi45ODVmZWY2IDEwMDY0NAogICAgc3dpdGNoIChU WVBFX0NPREUgKHR5cGUpKQogICAgICB7CiAgICAgIGNhc2UgVFlQRV9DT0RFX0FSUkFZOgotZGlm ZiAtLWdpdCBhL2dkYi9mLXZhbHByaW50LmMgYi9nZGIvZi12YWxwcmludC5jCi1pbmRleCAzMjgw ZGRjLi4xMjhkNmJjIDEwMDY0NAotLS0tIGEvZ2RiL2YtdmFscHJpbnQuYwotKysrIGIvZ2RiL2Yt dmFscHJpbnQuYwotQEAgLTU0LDE1ICs1NCwxNyBAQCBpbnQgZjc3X2FycmF5X29mZnNldF90Ymxb TUFYX0ZPUlRSQU5fRElNUyArIDFdWzJdOworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2Ri L2YtdmFscHJpbnQuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9n ZGIvZi12YWxwcmludC5jCTIwMTEtMDItMDcgMTg6NDk6MzIuMDAwMDAwMDAwICswMTAwCisrKysg Z2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZi12YWxwcmludC5jCTIwMTEtMDQtMjkgMDk6NDA6NDYu MDAwMDAwMDAwICswMjAwCitAQCAtNTQsMTUgKzU0LDE3IEBAIGludCBmNzdfYXJyYXlfb2Zmc2V0 X3RibFtNQVhfRk9SVFJBTl9ESU0KICAvKiBUaGUgZm9sbG93aW5nIG1hY3JvIGdpdmVzIHVzIHRo ZSBzaXplIG9mIHRoZSBudGggZGltZW5zaW9uLCBXaGVyZSAKICAgICBuIGlzIDEgYmFzZWQuICAq LwogIApAQCAtMzQ1Myw3ICszNDUzLDcgQEAgaW5kZXggMzI4MGRkYy4uMTI4ZDZiYyAxMDA2NDQK ICAgICAgfQogIAogICAgcmV0dXJuIFRZUEVfQVJSQVlfVVBQRVJfQk9VTkRfVkFMVUUgKHR5cGUp OwotQEAgLTEzNSwyNCArMTQwLDI5IEBAIGY3N19jcmVhdGVfYXJyYXlwcmludF9vZmZzZXRfdGJs IChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSkKK0BAIC0xMzUsMjQg KzE0MCwyOSBAQCBmNzdfY3JlYXRlX2FycmF5cHJpbnRfb2Zmc2V0X3RibCAoc3RydWN0CiAgICAg ICAgdXBwZXIgPSBmNzdfZ2V0X3VwcGVyYm91bmQgKHRtcF90eXBlKTsKICAgICAgICBsb3dlciA9 IGY3N19nZXRfbG93ZXJib3VuZCAodG1wX3R5cGUpOwogIApAQCAtMzQ4OSw3ICszNDg5LDcgQEAg aW5kZXggMzI4MGRkYy4uMTI4ZDZiYyAxMDA2NDQKICAgICAgfQogIH0KICAKLUBAIC0xNzQsMzcg KzE4NCwzNSBAQCBmNzdfcHJpbnRfYXJyYXlfMSAoaW50IG5zcywgaW50IG5kaW1lbnNpb25zLCBz dHJ1Y3QgdHlwZSAqdHlwZSwKK0BAIC0xNzQsMzcgKzE4NCwzNSBAQCBmNzdfcHJpbnRfYXJyYXlf MSAoaW50IG5zcywgaW50IG5kaW1lbnNpCiAgCiAgICBpZiAobnNzICE9IG5kaW1lbnNpb25zKQog ICAgICB7CkBAIC0zNTM0LDcgKzM1MzQsNyBAQCBpbmRleCAzMjgwZGRjLi4xMjhkNmJjIDEwMDY0 NAogIAkgICAgZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFtLCAiLi4uIik7CiAgCX0KICAgICAgfQot QEAgLTI2MCw2ICsyNjgsOSBAQCBmX3ZhbF9wcmludCAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0 IGdkYl9ieXRlICp2YWxhZGRyLCBpbnQgZW1iZWRkZWRfb2Zmc2V0LAorQEAgLTI2MCw2ICsyNjgs OSBAQCBmX3ZhbF9wcmludCAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkCiAgICBDT1JFX0FE RFIgYWRkcjsKICAgIGludCBpbmRleDsKICAKQEAgLTM1NDQsMTAgKzM1NDQsMTAgQEAgaW5kZXgg MzI4MGRkYy4uMTI4ZDZiYyAxMDA2NDQKICAgIENIRUNLX1RZUEVERUYgKHR5cGUpOwogICAgc3dp dGNoIChUWVBFX0NPREUgKHR5cGUpKQogICAgICB7Ci1kaWZmIC0tZ2l0IGEvZ2RiL2ZpbmR2YXIu YyBiL2dkYi9maW5kdmFyLmMKLWluZGV4IDJiMzYxZWYuLjAxZTFjMGQgMTAwNjQ0Ci0tLS0gYS9n ZGIvZmluZHZhci5jCi0rKysgYi9nZGIvZmluZHZhci5jCitJbmRleDogZ2RiLTcuMi45MC4yMDEx MDQyOS9nZGIvZmluZHZhci5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5v cmlnL2dkYi9maW5kdmFyLmMJMjAxMS0wMy0xOCAxOTo0Mjo0MS4wMDAwMDAwMDAgKzAxMDAKKysr KyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9maW5kdmFyLmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4w MDAwMDAwMDAgKzAyMDAKIEBAIC0zNSw2ICszNSw3IEBACiAgI2luY2x1ZGUgInVzZXItcmVncy5o IgogICNpbmNsdWRlICJibG9jay5oIgpAQCAtMzU1Niw3ICszNTU2LDcgQEAgaW5kZXggMmIzNjFl Zi4uMDFlMWMwZCAxMDA2NDQKICAKICAvKiBCYXNpYyBieXRlLXN3YXBwaW5nIHJvdXRpbmVzLiAg QWxsICdleHRyYWN0JyBmdW5jdGlvbnMgcmV0dXJuIGEKICAgICBob3N0LWZvcm1hdCBpbnRlZ2Vy IGZyb20gYSB0YXJnZXQtZm9ybWF0IGludGVnZXIgYXQgQUREUiB3aGljaCBpcwotQEAgLTQwOCw4 ICs0MDksMTEgQEAgc3ltYm9sX3JlYWRfbmVlZHNfZnJhbWUgKHN0cnVjdCBzeW1ib2wgKnN5bSkK K0BAIC00MDgsOCArNDA5LDExIEBAIHN5bWJvbF9yZWFkX25lZWRzX2ZyYW1lIChzdHJ1Y3Qgc3lt Ym9sICoKICAKICAvKiBHaXZlbiBhIHN0cnVjdCBzeW1ib2wgZm9yIGEgdmFyaWFibGUsCiAgICAg YW5kIGEgc3RhY2sgZnJhbWUgaWQsIHJlYWQgdGhlIHZhbHVlIG9mIHRoZSB2YXJpYWJsZQpAQCAt MzU3MCw3ICszNTcwLDcgQEAgaW5kZXggMmIzNjFlZi4uMDFlMWMwZCAxMDA2NDQKICAKICBzdHJ1 Y3QgdmFsdWUgKgogIHJlYWRfdmFyX3ZhbHVlIChzdHJ1Y3Qgc3ltYm9sICp2YXIsIHN0cnVjdCBm cmFtZV9pbmZvICpmcmFtZSkKLUBAIC00MTcsMTYgKzQyMSw2IEBAIHJlYWRfdmFyX3ZhbHVlIChz dHJ1Y3Qgc3ltYm9sICp2YXIsIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSkKK0BAIC00MTcsMTYg KzQyMSw2IEBAIHJlYWRfdmFyX3ZhbHVlIChzdHJ1Y3Qgc3ltYm9sICp2YXIsIHN0cnUKICAgIHN0 cnVjdCB2YWx1ZSAqdjsKICAgIHN0cnVjdCB0eXBlICp0eXBlID0gU1lNQk9MX1RZUEUgKHZhcik7 CiAgICBDT1JFX0FERFIgYWRkcjsKQEAgLTM1ODcsNyArMzU4Nyw3IEBAIGluZGV4IDJiMzYxZWYu LjAxZTFjMGQgMTAwNjQ0CiAgCiAgICBpZiAoc3ltYm9sX3JlYWRfbmVlZHNfZnJhbWUgKHZhcikp CiAgICAgIGdkYl9hc3NlcnQgKGZyYW1lKTsKLUBAIC00MzYsNyArNDMwLDcgQEAgcmVhZF92YXJf dmFsdWUgKHN0cnVjdCBzeW1ib2wgKnZhciwgc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lKQorQEAg LTQzNiw3ICs0MzAsNyBAQCByZWFkX3Zhcl92YWx1ZSAoc3RydWN0IHN5bWJvbCAqdmFyLCBzdHJ1 CiAgICAgIGNhc2UgTE9DX0NPTlNUOgogICAgICAgIC8qIFB1dCB0aGUgY29uc3RhbnQgYmFjayBp biB0YXJnZXQgZm9ybWF0LiAgKi8KICAgICAgICB2ID0gYWxsb2NhdGVfdmFsdWUgKHR5cGUpOwpA QCAtMzU5Niw3ICszNTk2LDcgQEAgaW5kZXggMmIzNjFlZi4uMDFlMWMwZCAxMDA2NDQKICAJCQkg ICAgZ2RiYXJjaF9ieXRlX29yZGVyIChnZXRfdHlwZV9hcmNoICh0eXBlKSksCiAgCQkJICAgIChM T05HRVNUKSBTWU1CT0xfVkFMVUUgKHZhcikpOwogICAgICAgIFZBTFVFX0xWQUwgKHYpID0gbm90 X2x2YWw7Ci1AQCAtNDYxLDEyICs0NTUsMTIgQEAgcmVhZF92YXJfdmFsdWUgKHN0cnVjdCBzeW1i b2wgKnZhciwgc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lKQorQEAgLTQ2MSwxMiArNDU1LDEyIEBA IHJlYWRfdmFyX3ZhbHVlIChzdHJ1Y3Qgc3ltYm9sICp2YXIsIHN0cnUKICAKICAgICAgY2FzZSBM T0NfQ09OU1RfQllURVM6CiAgICAgICAgdiA9IGFsbG9jYXRlX3ZhbHVlICh0eXBlKTsKQEAgLTM2 MTEsNyArMzYxMSw3IEBAIGluZGV4IDJiMzYxZWYuLjAxZTFjMGQgMTAwNjQ0CiAgICAgICAgaWYg KG92ZXJsYXlfZGVidWdnaW5nKQogIAlhZGRyID0gc3ltYm9sX292ZXJsYXllZF9hZGRyZXNzIChT WU1CT0xfVkFMVUVfQUREUkVTUyAodmFyKSwKICAJCQkJCSBTWU1CT0xfT0JKX1NFQ1RJT04gKHZh cikpOwotQEAgLTQ3OSw3ICs0NzMsNiBAQCByZWFkX3Zhcl92YWx1ZSAoc3RydWN0IHN5bWJvbCAq dmFyLCBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUpCitAQCAtNDc5LDcgKzQ3Myw2IEBAIHJlYWRf dmFyX3ZhbHVlIChzdHJ1Y3Qgc3ltYm9sICp2YXIsIHN0cnUKICAgICAgICBpZiAoIWFkZHIpCiAg CXJldHVybiAwOwogICAgICAgIGFkZHIgKz0gU1lNQk9MX1ZBTFVFICh2YXIpOwpAQCAtMzYxOSw3 ICszNjE5LDcgQEAgaW5kZXggMmIzNjFlZi4uMDFlMWMwZCAxMDA2NDQKICAgICAgICBicmVhazsK ICAKICAgICAgY2FzZSBMT0NfUkVGX0FSRzoKLUBAIC00OTMsMTQgKzQ4NiwxMiBAQCByZWFkX3Zh cl92YWx1ZSAoc3RydWN0IHN5bWJvbCAqdmFyLCBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUpCitA QCAtNDkzLDE0ICs0ODYsMTIgQEAgcmVhZF92YXJfdmFsdWUgKHN0cnVjdCBzeW1ib2wgKnZhciwg c3RydQogIAlhcmdyZWYgKz0gU1lNQk9MX1ZBTFVFICh2YXIpOwogIAlyZWYgPSB2YWx1ZV9hdCAo bG9va3VwX3BvaW50ZXJfdHlwZSAodHlwZSksIGFyZ3JlZik7CiAgCWFkZHIgPSB2YWx1ZV9hc19h ZGRyZXNzIChyZWYpOwpAQCAtMzYzNCw3ICszNjM0LDcgQEAgaW5kZXggMmIzNjFlZi4uMDFlMWMw ZCAxMDA2NDQKICAgICAgICBicmVhazsKICAKICAgICAgY2FzZSBMT0NfVFlQRURFRjoKLUBAIC01 MDgsNyArNDk5LDYgQEAgcmVhZF92YXJfdmFsdWUgKHN0cnVjdCBzeW1ib2wgKnZhciwgc3RydWN0 IGZyYW1lX2luZm8gKmZyYW1lKQorQEAgLTUwOCw3ICs0OTksNiBAQCByZWFkX3Zhcl92YWx1ZSAo c3RydWN0IHN5bWJvbCAqdmFyLCBzdHJ1CiAgICAgICAgYnJlYWs7CiAgCiAgICAgIGNhc2UgTE9D X0JMT0NLOgpAQCAtMzY0Miw3ICszNjQyLDcgQEAgaW5kZXggMmIzNjFlZi4uMDFlMWMwZCAxMDA2 NDQKICAgICAgICBpZiAob3ZlcmxheV9kZWJ1Z2dpbmcpCiAgCWFkZHIgPSBzeW1ib2xfb3Zlcmxh eWVkX2FkZHJlc3MKICAJICAoQkxPQ0tfU1RBUlQgKFNZTUJPTF9CTE9DS19WQUxVRSAodmFyKSks IFNZTUJPTF9PQkpfU0VDVElPTiAodmFyKSk7Ci1AQCAtNTMzLDcgKzUyMyw2IEBAIHJlYWRfdmFy X3ZhbHVlIChzdHJ1Y3Qgc3ltYm9sICp2YXIsIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSkKK0BA IC01MzMsNyArNTIzLDYgQEAgcmVhZF92YXJfdmFsdWUgKHN0cnVjdCBzeW1ib2wgKnZhciwgc3Ry dQogIAkgICAgICBlcnJvciAoXygiVmFsdWUgb2YgcmVnaXN0ZXIgdmFyaWFibGUgbm90IGF2YWls YWJsZS4iKSk7CiAgCiAgCSAgICBhZGRyID0gdmFsdWVfYXNfYWRkcmVzcyAocmVndmFsKTsKQEAg LTM2NTAsNyArMzY1MCw3IEBAIGluZGV4IDJiMzYxZWYuLjAxZTFjMGQgMTAwNjQ0CiAgCSAgfQog IAllbHNlCiAgCSAgewotQEAgLTU3Miw3ICs1NjEsNiBAQCByZWFkX3Zhcl92YWx1ZSAoc3RydWN0 IHN5bWJvbCAqdmFyLCBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUpCitAQCAtNTcyLDcgKzU2MSw2 IEBAIHJlYWRfdmFyX3ZhbHVlIChzdHJ1Y3Qgc3ltYm9sICp2YXIsIHN0cnUKICAJaWYgKG9ial9z ZWN0aW9uCiAgCSAgICAmJiAob2JqX3NlY3Rpb24tPnRoZV9iZmRfc2VjdGlvbi0+ZmxhZ3MgJiBT RUNfVEhSRUFEX0xPQ0FMKSAhPSAwKQogIAkgIGFkZHIgPSB0YXJnZXRfdHJhbnNsYXRlX3Rsc19h ZGRyZXNzIChvYmpfc2VjdGlvbi0+b2JqZmlsZSwgYWRkcik7CkBAIC0zNjU4LDcgKzM2NTgsNyBA QCBpbmRleCAyYjM2MWVmLi4wMWUxYzBkIDEwMDY0NAogICAgICAgIH0KICAgICAgICBicmVhazsK ICAKLUBAIC01ODcsNiArNTc1LDEwIEBAIHJlYWRfdmFyX3ZhbHVlIChzdHJ1Y3Qgc3ltYm9sICp2 YXIsIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSkKK0BAIC01ODcsNiArNTc1LDEwIEBAIHJlYWRf dmFyX3ZhbHVlIChzdHJ1Y3Qgc3ltYm9sICp2YXIsIHN0cnUKICAgICAgICBicmVhazsKICAgICAg fQogIApAQCAtMzY4NCw3ICszNjg0LDcgQEAgaW5kZXggMmIzNjFlZi4uMDFlMWMwZCAxMDA2NDQK ICAgICAgewogICAgICAgIC8qIFRoZSBJU0EvQUJJIG5lZWQgdG8gc29tZXRoaW5nIHdlaXJkIHdo ZW4gb2J0YWluaW5nIHRoZQogICAgICAgICAgIHNwZWNpZmllZCB2YWx1ZSBmcm9tIHRoaXMgcmVn aXN0ZXIuICBJdCBtaWdodCBuZWVkIHRvCi1AQCAtNjQzLDcgKzYzNiw3IEBAIHZhbHVlX2Zyb21f cmVnaXN0ZXIgKHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgcmVnbnVtLCBzdHJ1Y3QgZnJhbWVfaW5m byAqZnJhbWUpCitAQCAtNjQzLDcgKzYzNiw3IEBAIHZhbHVlX2Zyb21fcmVnaXN0ZXIgKHN0cnVj dCB0eXBlICp0eXBlLCAKICAgICAgICBWQUxVRV9MVkFMICh2KSA9IGx2YWxfcmVnaXN0ZXI7CiAg ICAgICAgVkFMVUVfRlJBTUVfSUQgKHYpID0gZ2V0X2ZyYW1lX2lkIChmcmFtZSk7CiAgICAgICAg VkFMVUVfUkVHTlVNICh2KSA9IHJlZ251bTsKQEAgLTM2OTMsMTAgKzM2OTMsMTAgQEAgaW5kZXgg MmIzNjFlZi4uMDFlMWMwZCAxMDA2NDQKICAJCQkJICAgICAgdmFsdWVfY29udGVudHNfcmF3ICh2 KSwgJm9wdGltLAogIAkJCQkgICAgICAmdW5hdmFpbCk7CiAgICAgIH0KLWRpZmYgLS1naXQgYS9n ZGIvZ2RiaW5pdC5pbiBiL2dkYi9nZGJpbml0LmluCi1pbmRleCBmZmI3ZjUzLi5hMmU3ZTk0IDEw MDY0NAotLS0tIGEvZ2RiL2dkYmluaXQuaW4KLSsrKyBiL2dkYi9nZGJpbml0LmluCitJbmRleDog Z2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZ2RiaW5pdC5pbgorPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03 LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvZ2RiaW5pdC5pbgkyMDA5LTEwLTA1IDE1OjQ2OjUyLjAw MDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2dkYmluaXQuaW4JMjAx MS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xLDUgKzEsMTUgQEAKICBlY2hv IFNldHRpbmcgdXAgdGhlIGVudmlyb25tZW50IGZvciBkZWJ1Z2dpbmcgZ2RiLlxuCiAgCkBAIC0z NzEzLDEwICszNzEzLDEwIEBAIGluZGV4IGZmYjdmNTMuLmEyZTdlOTQgMTAwNjQ0CiAgc2V0IGNv bXBsYWludHMgMQogIAogIGIgaW50ZXJuYWxfZXJyb3IKLWRpZmYgLS1naXQgYS9nZGIvZ2RidHlw ZXMuYyBiL2dkYi9nZGJ0eXBlcy5jCi1pbmRleCAzYjQ1OTMxLi5lZGEyNTA2IDEwMDY0NAotLS0t IGEvZ2RiL2dkYnR5cGVzLmMKLSsrKyBiL2dkYi9nZGJ0eXBlcy5jCitJbmRleDogZ2RiLTcuMi45 MC4yMDExMDQyOS9nZGIvZ2RidHlwZXMuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAx MTA0Mjkub3JpZy9nZGIvZ2RidHlwZXMuYwkyMDExLTAzLTI4IDIyOjIxOjAzLjAwMDAwMDAwMCAr MDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2dkYnR5cGVzLmMJMjAxMS0wNC0yOSAw OTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKIEBAIC0zOSw2ICszOSw5IEBACiAgI2luY2x1ZGUgImNw LWFiaS5oIgogICNpbmNsdWRlICJnZGJfYXNzZXJ0LmgiCkBAIC0zNzI3LDcgKzM3MjcsNyBAQCBp bmRleCAzYjQ1OTMxLi5lZGEyNTA2IDEwMDY0NAogIAogIAogIC8qIEluaXRpYWxpemUgQkFETkVT UyBjb25zdGFudHMuICAqLwotQEAgLTE0NCw3ICsxNDcsMTYgQEAgc3RhdGljIHZvaWQgcHJpbnRf Yml0X3ZlY3RvciAoQl9UWVBFICosIGludCk7CitAQCAtMTQ0LDcgKzE0NywxNiBAQCBzdGF0aWMg dm9pZCBwcmludF9iaXRfdmVjdG9yIChCX1RZUEUgKiwgCiAgc3RhdGljIHZvaWQgcHJpbnRfYXJn X3R5cGVzIChzdHJ1Y3QgZmllbGQgKiwgaW50LCBpbnQpOwogIHN0YXRpYyB2b2lkIGR1bXBfZm5f ZmllbGRsaXN0cyAoc3RydWN0IHR5cGUgKiwgaW50KTsKICBzdGF0aWMgdm9pZCBwcmludF9jcGx1 c19zdHVmZiAoc3RydWN0IHR5cGUgKiwgaW50KTsKQEAgLTM3ODgsNyArMzc4OCw3IEBAIGluZGV4 IDNiNDU5MzEuLmVkYTI1MDYgMTAwNjQ0CiAgLyogQWxsb2NhdGUgYSBuZXcgR0RCQVJDSC1hc3Nv Y2lhdGVkIHR5cGUgc3RydWN0dXJlIGFuZCBmaWxsIGl0CiAgICAgd2l0aCBzb21lIGRlZmF1bHRz LiAgU3BhY2UgZm9yIHRoZSB0eXBlIHN0cnVjdHVyZSBpcyBhbGxvY2F0ZWQKICAgICBvbiB0aGUg aGVhcC4gICovCi1AQCAtMzAwLDcgKzM0OSw3IEBAIG1ha2VfcG9pbnRlcl90eXBlIChzdHJ1Y3Qg dHlwZSAqdHlwZSwgc3RydWN0IHR5cGUgKip0eXBlcHRyKQorQEAgLTMwMCw3ICszNDksNyBAQCBt YWtlX3BvaW50ZXJfdHlwZSAoc3RydWN0IHR5cGUgKnR5cGUsIHN0CiAgCiAgICBpZiAodHlwZXB0 ciA9PSAwIHx8ICp0eXBlcHRyID09IDApCS8qIFdlJ2xsIG5lZWQgdG8gYWxsb2NhdGUgb25lLiAg Ki8KICAgICAgewpAQCAtMzc5Nyw3ICszNzk3LDcgQEAgaW5kZXggM2I0NTkzMS4uZWRhMjUwNiAx MDA2NDQKICAgICAgICBpZiAodHlwZXB0cikKICAJKnR5cGVwdHIgPSBudHlwZTsKICAgICAgfQot QEAgLTM3Nyw3ICs0MjYsNyBAQCBtYWtlX3JlZmVyZW5jZV90eXBlIChzdHJ1Y3QgdHlwZSAqdHlw ZSwgc3RydWN0IHR5cGUgKip0eXBlcHRyKQorQEAgLTM3Nyw3ICs0MjYsNyBAQCBtYWtlX3JlZmVy ZW5jZV90eXBlIChzdHJ1Y3QgdHlwZSAqdHlwZSwgCiAgCiAgICBpZiAodHlwZXB0ciA9PSAwIHx8 ICp0eXBlcHRyID09IDApCS8qIFdlJ2xsIG5lZWQgdG8gYWxsb2NhdGUgb25lLiAgKi8KICAgICAg ewpAQCAtMzgwNiw3ICszODA2LDcgQEAgaW5kZXggM2I0NTkzMS4uZWRhMjUwNiAxMDA2NDQKICAg ICAgICBpZiAodHlwZXB0cikKICAJKnR5cGVwdHIgPSBudHlwZTsKICAgICAgfQotQEAgLTc0OCw2 ICs3OTcsNyBAQCBjcmVhdGVfcmFuZ2VfdHlwZSAoc3RydWN0IHR5cGUgKnJlc3VsdF90eXBlLCBz dHJ1Y3QgdHlwZSAqaW5kZXhfdHlwZSwKK0BAIC03NDgsNiArNzk3LDcgQEAgY3JlYXRlX3Jhbmdl X3R5cGUgKHN0cnVjdCB0eXBlICpyZXN1bHRfdAogICAgICBUWVBFX1pBTExPQyAocmVzdWx0X3R5 cGUsIHNpemVvZiAoc3RydWN0IHJhbmdlX2JvdW5kcykpOwogICAgVFlQRV9MT1dfQk9VTkQgKHJl c3VsdF90eXBlKSA9IGxvd19ib3VuZDsKICAgIFRZUEVfSElHSF9CT1VORCAocmVzdWx0X3R5cGUp ID0gaGlnaF9ib3VuZDsKQEAgLTM4MTQsNyArMzgxNCw3IEBAIGluZGV4IDNiNDU5MzEuLmVkYTI1 MDYgMTAwNjQ0CiAgCiAgICBpZiAobG93X2JvdW5kID49IDApCiAgICAgIFRZUEVfVU5TSUdORUQg KHJlc3VsdF90eXBlKSA9IDE7Ci1AQCAtODkxLDI2ICs5NDEsMzEgQEAgY3JlYXRlX2FycmF5X3R5 cGUgKHN0cnVjdCB0eXBlICpyZXN1bHRfdHlwZSwKK0BAIC04OTEsMjYgKzk0MSwzMSBAQCBjcmVh dGVfYXJyYXlfdHlwZSAoc3RydWN0IHR5cGUgKnJlc3VsdF90CiAgCiAgICBUWVBFX0NPREUgKHJl c3VsdF90eXBlKSA9IFRZUEVfQ09ERV9BUlJBWTsKICAgIFRZUEVfVEFSR0VUX1RZUEUgKHJlc3Vs dF90eXBlKSA9IGVsZW1lbnRfdHlwZTsKQEAgLTQwNDcsNyArNDA0Nyw3IEBAIGluZGV4IDNiNDU5 MzEuLmVkYTI1MDYgMTAwNjQ0CiAgICAgIH0KICAKICAgIHR5cGUgPSBtYWtlX3F1YWxpZmllZF90 eXBlICh0eXBlLCBpbnN0YW5jZV9mbGFncywgTlVMTCk7Ci1AQCAtMzI2NiwzMyArMzQwNiw0MiBA QCB0eXBlX3BhaXJfZXEgKGNvbnN0IHZvaWQgKml0ZW1fbGhzLCBjb25zdCB2b2lkICppdGVtX3Jo cykKK0BAIC0zMjY2LDMzICszNDA2LDQyIEBAIHR5cGVfcGFpcl9lcSAoY29uc3Qgdm9pZCAqaXRl bV9saHMsIGNvbnMKICB9CiAgCiAgLyogQWxsb2NhdGUgdGhlIGhhc2ggdGFibGUgdXNlZCBieSBj b3B5X3R5cGVfcmVjdXJzaXZlIHRvIHdhbGsKQEAgLTQxMDUsNyArNDEwNSw3IEBAIGluZGV4IDNi NDU5MzEuLmVkYTI1MDYgMTAwNjQ0CiAgICAgIHJldHVybiB0eXBlOwogIAogICAgLyogVGhpcyB0 eXBlIHNob3VsZG4ndCBiZSBwb2ludGluZyB0byBhbnkgdHlwZXMgaW4gb3RoZXIgb2JqZmlsZXM7 Ci1AQCAtMzMwNyw5ICszNDU2LDEwIEBAIGNvcHlfdHlwZV9yZWN1cnNpdmUgKHN0cnVjdCBvYmpm aWxlICpvYmpmaWxlLAorQEAgLTMzMDcsOSArMzQ1NiwxMCBAQCBjb3B5X3R5cGVfcmVjdXJzaXZl IChzdHJ1Y3Qgb2JqZmlsZSAqb2JqCiAgICBuZXdfdHlwZSA9IGFsbG9jX3R5cGVfYXJjaCAoZ2V0 X3R5cGVfYXJjaCAodHlwZSkpOwogIAogICAgLyogV2UgbXVzdCBhZGQgdGhlIG5ldyB0eXBlIHRv IHRoZSBoYXNoIHRhYmxlIGltbWVkaWF0ZWx5LCBpbiBjYXNlCkBAIC00MTE5LDcgKzQxMTksNyBA QCBpbmRleCAzYjQ1OTMxLi5lZGEyNTA2IDEwMDY0NAogICAgc3RvcmVkLT5vbGQgPSB0eXBlOwog ICAgc3RvcmVkLT5uZXcgPSBuZXdfdHlwZTsKICAgICpzbG90ID0gc3RvcmVkOwotQEAgLTMzMjAs NiArMzQ3MCwyMSBAQCBjb3B5X3R5cGVfcmVjdXJzaXZlIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmls ZSwKK0BAIC0zMzIwLDYgKzM0NzAsMjEgQEAgY29weV90eXBlX3JlY3Vyc2l2ZSAoc3RydWN0IG9i amZpbGUgKm9iagogICAgVFlQRV9PQkpGSUxFX09XTkVEIChuZXdfdHlwZSkgPSAwOwogICAgVFlQ RV9PV05FUiAobmV3X3R5cGUpLmdkYmFyY2ggPSBnZXRfdHlwZV9hcmNoICh0eXBlKTsKICAKQEAg LTQxNDEsNyArNDE0MSw3IEBAIGluZGV4IDNiNDU5MzEuLmVkYTI1MDYgMTAwNjQ0CiAgICBpZiAo VFlQRV9OQU1FICh0eXBlKSkKICAgICAgVFlQRV9OQU1FIChuZXdfdHlwZSkgPSB4c3RyZHVwIChU WVBFX05BTUUgKHR5cGUpKTsKICAgIGlmIChUWVBFX1RBR19OQU1FICh0eXBlKSkKLUBAIC0zMzI4 LDEyICszNDkzLDQ4IEBAIGNvcHlfdHlwZV9yZWN1cnNpdmUgKHN0cnVjdCBvYmpmaWxlICpvYmpm aWxlLAorQEAgLTMzMjgsMTIgKzM0OTMsNDggQEAgY29weV90eXBlX3JlY3Vyc2l2ZSAoc3RydWN0 IG9iamZpbGUgKm9iagogICAgVFlQRV9JTlNUQU5DRV9GTEFHUyAobmV3X3R5cGUpID0gVFlQRV9J TlNUQU5DRV9GTEFHUyAodHlwZSk7CiAgICBUWVBFX0xFTkdUSCAobmV3X3R5cGUpID0gVFlQRV9M RU5HVEggKHR5cGUpOwogIApAQCAtNDE5MCw3ICs0MTkwLDcgQEAgaW5kZXggM2I0NTkzMS4uZWRh MjUwNiAxMDA2NDQKICAgICAgICBUWVBFX0ZJRUxEUyAobmV3X3R5cGUpID0gWENBTExPQyAobmZp ZWxkcywgc3RydWN0IGZpZWxkKTsKICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbmZpZWxkczsgaSsr KQogIAl7Ci1AQCAtMzM0Miw4ICszNTQzLDggQEAgY29weV90eXBlX3JlY3Vyc2l2ZSAoc3RydWN0 IG9iamZpbGUgKm9iamZpbGUsCitAQCAtMzM0Miw4ICszNTQzLDggQEAgY29weV90eXBlX3JlY3Vy c2l2ZSAoc3RydWN0IG9iamZpbGUgKm9iagogIAkgIFRZUEVfRklFTERfQklUU0laRSAobmV3X3R5 cGUsIGkpID0gVFlQRV9GSUVMRF9CSVRTSVpFICh0eXBlLCBpKTsKICAJICBpZiAoVFlQRV9GSUVM RF9UWVBFICh0eXBlLCBpKSkKICAJICAgIFRZUEVfRklFTERfVFlQRSAobmV3X3R5cGUsIGkpCkBA IC00MjAxLDcgKzQyMDEsNyBAQCBpbmRleCAzYjQ1OTMxLi5lZGEyNTA2IDEwMDY0NAogIAkgIGlm IChUWVBFX0ZJRUxEX05BTUUgKHR5cGUsIGkpKQogIAkgICAgVFlQRV9GSUVMRF9OQU1FIChuZXdf dHlwZSwgaSkgPSAKICAJICAgICAgeHN0cmR1cCAoVFlQRV9GSUVMRF9OQU1FICh0eXBlLCBpKSk7 Ci1AQCAtMzM3MCwyNCArMzU3MSwxODQgQEAgY29weV90eXBlX3JlY3Vyc2l2ZSAoc3RydWN0IG9i amZpbGUgKm9iamZpbGUsCitAQCAtMzM3MCwyNCArMzU3MSwxODQgQEAgY29weV90eXBlX3JlY3Vy c2l2ZSAoc3RydWN0IG9iamZpbGUgKm9iagogIAl9CiAgICAgIH0KICAKQEAgLTQzOTMsNyArNDM5 Myw3IEBAIGluZGV4IDNiNDU5MzEuLmVkYTI1MDYgMTAwNjQ0CiAgICAvKiBNYXliZSBjb3B5IHRo ZSB0eXBlX3NwZWNpZmljIGJpdHMuCiAgCiAgICAgICBOT1RFIGRyb3cvMjAwNS0xMi0wOTogV2Ug ZG8gbm90IGNvcHkgdGhlIEMrKy1zcGVjaWZpYyBiaXRzIGxpa2UKLUBAIC0zNDA0LDYgKzM3NjUs MTcgQEAgY29weV90eXBlX3JlY3Vyc2l2ZSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCitAQCAt MzQwNCw2ICszNzY1LDE3IEBAIGNvcHlfdHlwZV9yZWN1cnNpdmUgKHN0cnVjdCBvYmpmaWxlICpv YmoKICAgIHJldHVybiBuZXdfdHlwZTsKICB9CiAgCkBAIC00NjI3LDEwICs0NjI3LDEwIEBAIGlu ZGV4IDNiNDU5MzEuLmVkYTI1MDYgMTAwNjQ0CiAgICBvYmpmaWxlX3R5cGVfZGF0YSA9IHJlZ2lz dGVyX29iamZpbGVfZGF0YSAoKTsKICAKICAgIGFkZF9zZXRzaG93X3ppbnRlZ2VyX2NtZCAoIm92 ZXJsb2FkIiwgbm9fY2xhc3MsICZvdmVybG9hZF9kZWJ1ZywKLWRpZmYgLS1naXQgYS9nZGIvZ2Ri dHlwZXMuaCBiL2dkYi9nZGJ0eXBlcy5oCi1pbmRleCAzOWNhMWI0Li40YjQ3MjBhIDEwMDY0NAot LS0tIGEvZ2RiL2dkYnR5cGVzLmgKLSsrKyBiL2dkYi9nZGJ0eXBlcy5oCitJbmRleDogZ2RiLTcu Mi45MC4yMDExMDQyOS9nZGIvZ2RidHlwZXMuaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAu MjAxMTA0Mjkub3JpZy9nZGIvZ2RidHlwZXMuaAkyMDExLTAzLTI4IDIyOjIxOjAzLjAwMDAwMDAw MCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2dkYnR5cGVzLmgJMjAxMS0wNC0y OSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKIEBAIC0yMTUsNiArMjE1LDExIEBAIGVudW0gdHlw ZV9pbnN0YW5jZV9mbGFnX3ZhbHVlCiAgCiAgI2RlZmluZSBUWVBFX1RBUkdFVF9TVFVCKHQpCShU WVBFX01BSU5fVFlQRSAodCktPmZsYWdfdGFyZ2V0X3N0dWIpCkBAIC00NzcxLDcgKzQ3NzEsNyBA QCBpbmRleCAzOWNhMWI0Li40YjQ3MjBhIDEwMDY0NAogIAogICAgICAgIC8qIEZsYWdzIGluZGlj YXRpbmcgd2hldGhlciB0aGUgdmFsdWVzIG9mIGxvdyBhbmQgaGlnaCBhcmUKICAgICAgICAgICB2 YWxpZC4gIFdoZW4gdHJ1ZSwgdGhlIHJlc3BlY3RpdmUgcmFuZ2UgdmFsdWUgaXMKLUBAIC05MjYs OSArMTAxOSw5IEBAIGV4dGVybiB2b2lkIGFsbG9jYXRlX2duYXRfYXV4X3R5cGUgKHN0cnVjdCB0 eXBlICopOworQEAgLTkyNiw5ICsxMDE5LDkgQEAgZXh0ZXJuIHZvaWQgYWxsb2NhdGVfZ25hdF9h dXhfdHlwZSAoc3RydQogICNkZWZpbmUgVFlQRV9QT0lOVEVSX1RZUEUodGhpc3R5cGUpICh0aGlz dHlwZSktPnBvaW50ZXJfdHlwZQogICNkZWZpbmUgVFlQRV9SRUZFUkVOQ0VfVFlQRSh0aGlzdHlw ZSkgKHRoaXN0eXBlKS0+cmVmZXJlbmNlX3R5cGUKICAjZGVmaW5lIFRZUEVfQ0hBSU4odGhpc3R5 cGUpICh0aGlzdHlwZSktPmNoYWluCkBAIC00Nzg0LDcgKzQ3ODQsNyBAQCBpbmRleCAzOWNhMWI0 Li40YjQ3MjBhIDEwMDY0NAogICAgIGNhbGxzIGNoZWNrX3R5cGVkZWYsIFRZUEVfTEVOR1RIIChW QUxVRV9UWVBFIChYKSkgaXMgc2FmZS4gICovCiAgI2RlZmluZSBUWVBFX0xFTkdUSCh0aGlzdHlw ZSkgKHRoaXN0eXBlKS0+bGVuZ3RoCiAgLyogTm90ZSB0aGF0IFRZUEVfQ09ERSBjYW4gYmUgVFlQ RV9DT0RFX1RZUEVERUYsIHNvIGlmIHlvdSB3YW50IHRoZSByZWFsCi1AQCAtOTM2LDExICsxMDI5 LDE2IEBAIGV4dGVybiB2b2lkIGFsbG9jYXRlX2duYXRfYXV4X3R5cGUgKHN0cnVjdCB0eXBlICop OworQEAgLTkzNiwxMSArMTAyOSwxNiBAQCBleHRlcm4gdm9pZCBhbGxvY2F0ZV9nbmF0X2F1eF90 eXBlIChzdHJ1CiAgI2RlZmluZSBUWVBFX0NPREUodGhpc3R5cGUpIFRZUEVfTUFJTl9UWVBFKHRo aXN0eXBlKS0+Y29kZQogICNkZWZpbmUgVFlQRV9ORklFTERTKHRoaXN0eXBlKSBUWVBFX01BSU5f VFlQRSh0aGlzdHlwZSktPm5maWVsZHMKICAjZGVmaW5lIFRZUEVfRklFTERTKHRoaXN0eXBlKSBU WVBFX01BSU5fVFlQRSh0aGlzdHlwZSktPmZsZHNfYm5kcy5maWVsZHMKQEAgLTQ4MDMsNyArNDgw Myw3IEBAIGluZGV4IDM5Y2ExYjQuLjRiNDcyMGEgMTAwNjQ0CiAgI2RlZmluZSBUWVBFX0xPV19C T1VORF9VTkRFRklORUQocmFuZ2VfdHlwZSkgXAogICAgIFRZUEVfUkFOR0VfREFUQShyYW5nZV90 eXBlKS0+bG93X3VuZGVmaW5lZAogICNkZWZpbmUgVFlQRV9ISUdIX0JPVU5EX1VOREVGSU5FRChy YW5nZV90eXBlKSBcCi1AQCAtOTU3LDcgKzEwNTUsMTQgQEAgZXh0ZXJuIHZvaWQgYWxsb2NhdGVf Z25hdF9hdXhfdHlwZSAoc3RydWN0IHR5cGUgKik7CitAQCAtOTU3LDcgKzEwNTUsMTQgQEAgZXh0 ZXJuIHZvaWQgYWxsb2NhdGVfZ25hdF9hdXhfdHlwZSAoc3RydQogICAgIChUWVBFX0hJR0hfQk9V TkQoVFlQRV9JTkRFWF9UWVBFKChhcnJheXR5cGUpKSkpCiAgCiAgI2RlZmluZSBUWVBFX0FSUkFZ X0xPV0VSX0JPVU5EX1ZBTFVFKGFycmF5dHlwZSkgXApAQCAtNDgxOSw3ICs0ODE5LDcgQEAgaW5k ZXggMzljYTFiNC4uNGI0NzIwYSAxMDA2NDQKICAKICAvKiBDKysgKi8KICAKLUBAIC0xMzc5LDYg KzE0ODQsMTggQEAgZXh0ZXJuIHN0cnVjdCB0eXBlICpjcmVhdGVfYXJyYXlfdHlwZSAoc3RydWN0 IHR5cGUgKiwgc3RydWN0IHR5cGUgKiwKK0BAIC0xMzc5LDYgKzE0ODQsMTggQEAgZXh0ZXJuIHN0 cnVjdCB0eXBlICpjcmVhdGVfYXJyYXlfdHlwZSAocwogIAkJCQkgICAgICAgc3RydWN0IHR5cGUg Kik7CiAgZXh0ZXJuIHN0cnVjdCB0eXBlICpsb29rdXBfYXJyYXlfcmFuZ2VfdHlwZSAoc3RydWN0 IHR5cGUgKiwgaW50LCBpbnQpOwogIApAQCAtNDgzOCw3ICs0ODM4LDcgQEAgaW5kZXggMzljYTFi NC4uNGI0NzIwYSAxMDA2NDQKICBleHRlcm4gc3RydWN0IHR5cGUgKmNyZWF0ZV9zdHJpbmdfdHlw ZSAoc3RydWN0IHR5cGUgKiwgc3RydWN0IHR5cGUgKiwKICAJCQkJCXN0cnVjdCB0eXBlICopOwog IGV4dGVybiBzdHJ1Y3QgdHlwZSAqbG9va3VwX3N0cmluZ19yYW5nZV90eXBlIChzdHJ1Y3QgdHlw ZSAqLCBpbnQsIGludCk7Ci1AQCAtMTQyNCw2ICsxNTQxLDEwIEBAIGV4dGVybiBpbnQgaXNfcHVi bGljX2FuY2VzdG9yIChzdHJ1Y3QgdHlwZSAqLCBzdHJ1Y3QgdHlwZSAqKTsKK0BAIC0xNDI0LDYg KzE1NDEsMTAgQEAgZXh0ZXJuIGludCBpc19wdWJsaWNfYW5jZXN0b3IgKHN0cnVjdCB0eQogIAog IGV4dGVybiBpbnQgaXNfdW5pcXVlX2FuY2VzdG9yIChzdHJ1Y3QgdHlwZSAqLCBzdHJ1Y3QgdmFs dWUgKik7CiAgCkBAIC00ODQ5LDcgKzQ4NDksNyBAQCBpbmRleCAzOWNhMWI0Li40YjQ3MjBhIDEw MDY0NAogIC8qIE92ZXJsb2FkIHJlc29sdXRpb24gKi8KICAKICAjZGVmaW5lIExFTkdUSF9NQVRD SChidikgKChidiktPnJhbmtbMF0pCi1AQCAtMTQ5NiwxMCArMTYxNywxMyBAQCBleHRlcm4gdm9p ZCBtYWludGVuYW5jZV9wcmludF90eXBlIChjaGFyICosIGludCk7CitAQCAtMTQ5NiwxMCArMTYx NywxMyBAQCBleHRlcm4gdm9pZCBtYWludGVuYW5jZV9wcmludF90eXBlIChjaGFyCiAgCiAgZXh0 ZXJuIGh0YWJfdCBjcmVhdGVfY29waWVkX3R5cGVzX2hhc2ggKHN0cnVjdCBvYmpmaWxlICpvYmpm aWxlKTsKICAKQEAgLTQ4NjUsMTEgKzQ4NjUsMTEgQEAgaW5kZXggMzljYTFiNC4uNGI0NzIwYSAx MDA2NDQKICsjZW5kaWYKICsKICAjZW5kaWYgLyogR0RCVFlQRVNfSCAqLwotZGlmZiAtLWdpdCBh L2dkYi9pMzg2LWxpbnV4LW5hdC5jIGIvZ2RiL2kzODYtbGludXgtbmF0LmMKLWluZGV4IGUzMmEx MTkuLjIwMjRhZTggMTAwNjQ0Ci0tLS0gYS9nZGIvaTM4Ni1saW51eC1uYXQuYwotKysrIGIvZ2Ri L2kzODYtbGludXgtbmF0LmMKLUBAIC02NDksMjIgKzY0OSwxMyBAQCBpMzg2X2xpbnV4X3N0b3Jl X2luZmVyaW9yX3JlZ2lzdGVycyAoc3RydWN0IHRhcmdldF9vcHMgKm9wcywKK0luZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNDI5L2dkYi9pMzg2LWxpbnV4LW5hdC5jCis9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2Ri LTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9pMzg2LWxpbnV4LW5hdC5jCTIwMTEtMDItMjcgMTc6 MjU6MzcuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvaTM4Ni1s aW51eC1uYXQuYwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorQEAgLTY0OSwy MiArNjQ5LDEzIEBAIGkzODZfbGludXhfc3RvcmVfaW5mZXJpb3JfcmVnaXN0ZXJzIChzdHIKICB9 CiAgDAogIApAQCAtNDg5Myw3ICs0ODkzLDcgQEAgaW5kZXggZTMyYTExOS4uMjAyNGFlOCAxMDA2 NDQKICAgIC8qIEZJWE1FOiBrZXR0ZW5pcy8yMDAxLTAzLTI3OiBDYWxsaW5nIHBlcnJvcl93aXRo X25hbWUgaWYgdGhlCiAgICAgICBwdHJhY2UgY2FsbCBmYWlscyBicmVha3MgZGVidWdnaW5nIHJl bW90ZSB0YXJnZXRzLiAgVGhlIGNvcnJlY3QKICAgICAgIHdheSB0byBmaXggdGhpcyBpcyB0byBh ZGQgdGhlIGhhcmR3YXJlIGJyZWFrcG9pbnQgYW5kIHdhdGNocG9pbnQKLUBAIC02ODYsMTQgKzY3 Nyw4IEBAIGkzODZfbGludXhfZHJfZ2V0IChwdGlkX3QgcHRpZCwgaW50IHJlZ251bSkKK0BAIC02 ODYsMTQgKzY3Nyw4IEBAIGkzODZfbGludXhfZHJfZ2V0IChwdGlkX3QgcHRpZCwgaW50IHJlZ24K ICAvKiBTZXQgZGVidWcgcmVnaXN0ZXIgUkVHTlVNIHRvIFZBTFVFIGluIG9ubHkgdGhlIG9uZSBM V1Agb2YgUFRJRC4gICovCiAgCiAgc3RhdGljIHZvaWQKQEAgLTQ5MDksNyArNDkwOSw3IEBAIGlu ZGV4IGUzMmExMTkuLjIwMjRhZTggMTAwNjQ0CiAgICBlcnJubyA9IDA7CiAgICBwdHJhY2UgKFBU UkFDRV9QT0tFVVNFUiwgdGlkLAogIAkgIG9mZnNldG9mIChzdHJ1Y3QgdXNlciwgdV9kZWJ1Z3Jl Z1tyZWdudW1dKSwgdmFsdWUpOwotQEAgLTcwMSwzNSArNjg2LDc4IEBAIGkzODZfbGludXhfZHJf c2V0IChwdGlkX3QgcHRpZCwgaW50IHJlZ251bSwgdW5zaWduZWQgbG9uZyB2YWx1ZSkKK0BAIC03 MDEsMzUgKzY4Niw3OCBAQCBpMzg2X2xpbnV4X2RyX3NldCAocHRpZF90IHB0aWQsIGludCByZWdu CiAgICAgIHBlcnJvcl93aXRoX25hbWUgKF8oIkNvdWxkbid0IHdyaXRlIGRlYnVnIHJlZ2lzdGVy IikpOwogIH0KICAKQEAgLTUwNzMsMTAgKzUwNzMsMTAgQEAgaW5kZXggZTMyYTExOS4uMjAyNGFl OCAxMDA2NDQKICB9CiAgDAogIAotZGlmZiAtLWdpdCBhL2dkYi9pMzg2LW5hdC5jIGIvZ2RiL2kz ODYtbmF0LmMKLWluZGV4IDdlNjgxNGUuLmIxZThlN2QgMTAwNjQ0Ci0tLS0gYS9nZGIvaTM4Ni1u YXQuYwotKysrIGIvZ2RiL2kzODYtbmF0LmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dk Yi9pMzg2LW5hdC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dk Yi9pMzg2LW5hdC5jCTIwMTEtMDItMjYgMjM6MDQ6NTEuMDAwMDAwMDAwICswMTAwCisrKysgZ2Ri LTcuMi45MC4yMDExMDQyOS9nZGIvaTM4Ni1uYXQuYwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAw MDAwMCArMDIwMAogQEAgLTI1LDYgKzI1LDcgQEAKICAjaW5jbHVkZSAiZ2RiY21kLmgiCiAgI2lu Y2x1ZGUgInRhcmdldC5oIgpAQCAtNTE3OSw3ICs1MTc5LDcgQEAgaW5kZXggN2U2ODE0ZS4uYjFl OGU3ZCAxMDA2NDQKICAvKiBXaGV0aGVyIG9yIG5vdCB0byBwcmludCB0aGUgbWlycm9yZWQgZGVi dWcgcmVnaXN0ZXJzLiAgKi8KICBzdGF0aWMgaW50IG1haW50X3Nob3dfZHI7CiAgCi1AQCAtMTk1 LDIxICsyMDYsODAgQEAgc3RhdGljIGludCBpMzg2X2hhbmRsZV9ub25hbGlnbmVkX3dhdGNocG9p bnQgKGkzODZfd3Bfb3BfdCB3aGF0LAorQEAgLTE5NSwyMSArMjA2LDgwIEBAIHN0YXRpYyBpbnQg aTM4Nl9oYW5kbGVfbm9uYWxpZ25lZF93YXRjaHAKICAKICAvKiBJbXBsZW1lbnRhdGlvbi4gICov CiAgCkBAIC01MjcyLDcgKzUyNzIsNyBAQCBpbmRleCA3ZTY4MTRlLi5iMWU4ZTdkIDEwMDY0NAog ICAgaW50IGFkZHJfc2l6ZSA9IGdkYmFyY2hfYWRkcl9iaXQgKHRhcmdldF9nZGJhcmNoKSAvIDg7 CiAgICBpbnQgaTsKICAKLUBAIC0yMzksMTMgKzMxMCwxNiBAQCBpMzg2X3Nob3dfZHIgKGNvbnN0 IGNoYXIgKmZ1bmMsIENPUkVfQUREUiBhZGRyLAorQEAgLTIzOSwxMyArMzEwLDE2IEBAIGkzODZf c2hvd19kciAoY29uc3QgY2hhciAqZnVuYywgQ09SRV9BREQKICAJCQkJOiAiPz91bmtub3duPz8i KSkpKTsKICAgIHB1dHNfdW5maWx0ZXJlZCAoIjpcbiIpOwogICAgcHJpbnRmX3VuZmlsdGVyZWQg KCJcdENPTlRST0wgKERSNyk6ICVzICAgICAgICAgIFNUQVRVUyAoRFI2KTogJXNcbiIsCkBAIC01 MjkyLDcgKzUyOTIsNyBAQCBpbmRleCA3ZTY4MTRlLi5iMWU4ZTdkIDEwMDY0NAogICAgICAgIGkr KzsKICAgICAgfQogIH0KLUBAIC0zMTMsNiArMzg3LDcgQEAgSW52YWxpZCBoYXJkd2FyZSBicmVh a3BvaW50IGxlbmd0aCAlZCBpbiBpMzg2X2xlbmd0aF9hbmRfcndfYml0cy5cbiIpLCBsZW4pOwor QEAgLTMxMyw2ICszODcsNyBAQCBJbnZhbGlkIGhhcmR3YXJlIGJyZWFrcG9pbnQgbGVuZ3RoICVk IGluCiAgc3RhdGljIGludAogIGkzODZfaW5zZXJ0X2FsaWduZWRfd2F0Y2hwb2ludCAoQ09SRV9B RERSIGFkZHIsIHVuc2lnbmVkIGxlbl9yd19iaXRzKQogIHsKQEAgLTUzMDAsNyArNTMwMCw3IEBA IGluZGV4IDdlNjgxNGUuLmIxZThlN2QgMTAwNjQ0CiAgICBpbnQgaTsKICAKICAgIGlmICghaTM4 Nl9kcl9sb3cuc2V0X2FkZHIgfHwgIWkzODZfZHJfbG93LnNldF9jb250cm9sKQotQEAgLTMyMywx MSArMzk4LDEwIEBAIGkzODZfaW5zZXJ0X2FsaWduZWRfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFk ZHIsIHVuc2lnbmVkIGxlbl9yd19iaXRzKQorQEAgLTMyMywxMSArMzk4LDEwIEBAIGkzODZfaW5z ZXJ0X2FsaWduZWRfd2F0Y2hwb2ludCAoQ09SRV9BREQKICAgICAgIHJldXNlIGl0IGZvciB0aGlz IHdhdGNocG9pbnQgYXMgd2VsbCAoYW5kIHNhdmUgYSByZWdpc3RlcikuICAqLwogICAgQUxMX0RF QlVHX1JFR0lTVEVSUyhpKQogICAgICB7CkBAIC01MzE1LDcgKzUzMTUsNyBAQCBpbmRleCA3ZTY4 MTRlLi5iMWU4ZTdkIDEwMDY0NAogIAkgIHJldHVybiAwOwogIAl9CiAgICAgIH0KLUBAIC0zMzUs NyArNDA5LDcgQEAgaTM4Nl9pbnNlcnRfYWxpZ25lZF93YXRjaHBvaW50IChDT1JFX0FERFIgYWRk ciwgdW5zaWduZWQgbGVuX3J3X2JpdHMpCitAQCAtMzM1LDcgKzQwOSw3IEBAIGkzODZfaW5zZXJ0 X2FsaWduZWRfd2F0Y2hwb2ludCAoQ09SRV9BREQKICAgIC8qIE5leHQsIGxvb2sgZm9yIGEgdmFj YW50IGRlYnVnIHJlZ2lzdGVyLiAgKi8KICAgIEFMTF9ERUJVR19SRUdJU1RFUlMoaSkKICAgICAg ewpAQCAtNTMyNCw3ICs1MzI0LDcgQEAgaW5kZXggN2U2ODE0ZS4uYjFlOGU3ZCAxMDA2NDQKICAJ YnJlYWs7CiAgICAgIH0KICAKLUBAIC0zNDYsOSArNDIwLDkgQEAgaTM4Nl9pbnNlcnRfYWxpZ25l ZF93YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgdW5zaWduZWQgbGVuX3J3X2JpdHMpCitAQCAt MzQ2LDkgKzQyMCw5IEBAIGkzODZfaW5zZXJ0X2FsaWduZWRfd2F0Y2hwb2ludCAoQ09SRV9BREQK ICAgIC8qIE5vdyBzZXQgdXAgdGhlIHJlZ2lzdGVyIEkgdG8gd2F0Y2ggb3VyIHJlZ2lvbi4gICov CiAgCiAgICAvKiBSZWNvcmQgdGhlIGluZm8gaW4gb3VyIGxvY2FsIG1pcnJvcmVkIGFycmF5LiAg Ki8KQEAgLTUzMzcsNyArNTMzNyw3IEBAIGluZGV4IDdlNjgxNGUuLmIxZThlN2QgMTAwNjQ0CiAg ICAvKiBOb3RlOiB3ZSBvbmx5IGVuYWJsZSB0aGUgd2F0Y2hwb2ludCBsb2NhbGx5LCBpLmUuIGlu IHRoZSBjdXJyZW50CiAgICAgICB0YXNrLiAgQ3VycmVudGx5LCBubyBpMzg2IHRhcmdldCBhbGxv d3Mgb3Igc3VwcG9ydHMgZ2xvYmFsCiAgICAgICB3YXRjaHBvaW50czsgaG93ZXZlciwgaWYgYW55 IHRhcmdldCB3b3VsZCB3YW50IHRoYXQgaW4gdGhlCi1AQCAtMzU2LDEzICs0MzAsMTMgQEAgaTM4 Nl9pbnNlcnRfYWxpZ25lZF93YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgdW5zaWduZWQgbGVu X3J3X2JpdHMpCitAQCAtMzU2LDEzICs0MzAsMTMgQEAgaTM4Nl9pbnNlcnRfYWxpZ25lZF93YXRj aHBvaW50IChDT1JFX0FERAogICAgICAgdG8gZW5hYmxlIHdhdGNocG9pbnRzIGdsb2JhbGx5IG9y IGxvY2FsbHksIGFuZCB0aGUgY29kZSBiZWxvdwogICAgICAgc2hvdWxkIHVzZSBnbG9iYWwgb3Ig bG9jYWwgZW5hYmxlIGFuZCBzbG93LWRvd24gZmxhZ3MgYXMKICAgICAgIGFwcHJvcHJpYXRlLiAg Ki8KQEAgLTUzNTUsNyArNTM1NSw3IEBAIGluZGV4IDdlNjgxNGUuLmIxZThlN2QgMTAwNjQ0CiAg CiAgICAvKiBPbmx5IGEgc2FuaXR5IGNoZWNrIGZvciBsZWZ0b3ZlciBiaXRzIChzZXQgcG9zc2li bHkgb25seSBieSBpbmZlcmlvcikuICAqLwogICAgaWYgKGkzODZfZHJfbG93LnVuc2V0X3N0YXR1 cykKLUBAIC0zODAsMjEgKzQ1NCwyMSBAQCBpMzg2X2luc2VydF9hbGlnbmVkX3dhdGNocG9pbnQg KENPUkVfQUREUiBhZGRyLCB1bnNpZ25lZCBsZW5fcndfYml0cykKK0BAIC0zODAsMjEgKzQ1NCwy MSBAQCBpMzg2X2luc2VydF9hbGlnbmVkX3dhdGNocG9pbnQgKENPUkVfQURECiAgc3RhdGljIGlu dAogIGkzODZfcmVtb3ZlX2FsaWduZWRfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFkZHIsIHVuc2ln bmVkIGxlbl9yd19iaXRzKQogIHsKQEAgLTUzODQsNyArNTM4NCw3IEBAIGluZGV4IDdlNjgxNGUu LmIxZThlN2QgMTAwNjQ0CiAgCSAgICAgIGlmIChpMzg2X2RyX2xvdy5yZXNldF9hZGRyKQogIAkJ aTM4Nl9kcl9sb3cucmVzZXRfYWRkciAoaSk7CiAgCSAgICB9Ci1AQCAtNTU2LDI2ICs2MzAsMjcg QEAgaTM4Nl9yZWdpb25fb2tfZm9yX3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBpbnQgbGVu KQorQEAgLTU1NiwyNiArNjMwLDI3IEBAIGkzODZfcmVnaW9uX29rX2Zvcl93YXRjaHBvaW50IChD T1JFX0FERFIKICBzdGF0aWMgaW50CiAgaTM4Nl9zdG9wcGVkX2RhdGFfYWRkcmVzcyAoc3RydWN0 IHRhcmdldF9vcHMgKm9wcywgQ09SRV9BRERSICphZGRyX3ApCiAgewpAQCAtNTQxNyw3ICs1NDE3 LDcgQEAgaW5kZXggN2U2ODE0ZS4uYjFlOGU3ZCAxMDA2NDQKICAJICByYyA9IDE7CiAgCSAgaWYg KG1haW50X3Nob3dfZHIpCiAgCSAgICBpMzg2X3Nob3dfZHIgKCJ3YXRjaHBvaW50X2hpdCIsIGFk ZHIsIC0xLCBod193cml0ZSk7Ci1AQCAtNjg5LDYgKzc2NCwxMCBAQCBpMzg2X3VzZV93YXRjaHBv aW50cyAoc3RydWN0IHRhcmdldF9vcHMgKnQpCitAQCAtNjg5LDYgKzc2NCwxMCBAQCBpMzg2X3Vz ZV93YXRjaHBvaW50cyAoc3RydWN0IHRhcmdldF9vcHMgCiAgICB0LT50b19yZW1vdmVfd2F0Y2hw b2ludCA9IGkzODZfcmVtb3ZlX3dhdGNocG9pbnQ7CiAgICB0LT50b19pbnNlcnRfaHdfYnJlYWtw b2ludCA9IGkzODZfaW5zZXJ0X2h3X2JyZWFrcG9pbnQ7CiAgICB0LT50b19yZW1vdmVfaHdfYnJl YWtwb2ludCA9IGkzODZfcmVtb3ZlX2h3X2JyZWFrcG9pbnQ7CkBAIC01NDI4LDExICs1NDI4LDEx IEBAIGluZGV4IDdlNjgxNGUuLmIxZThlN2QgMTAwNjQ0CiAgfQogIAogIHZvaWQKLWRpZmYgLS1n aXQgYS9nZGIvaTM4Ni1uYXQuaCBiL2dkYi9pMzg2LW5hdC5oCi1pbmRleCA4MTljNmI4Li5iZWY4 YTM1IDEwMDY0NAotLS0tIGEvZ2RiL2kzODYtbmF0LmgKLSsrKyBiL2dkYi9pMzg2LW5hdC5oCi1A QCAtNzgsNiArNzgsMjggQEAgc3RydWN0IGkzODZfZHJfbG93X3R5cGUKK0luZGV4OiBnZGItNy4y LjkwLjIwMTEwNDI5L2dkYi9pMzg2LW5hdC5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4y MDExMDQyOS5vcmlnL2dkYi9pMzg2LW5hdC5oCTIwMTEtMDEtMDkgMDQ6MDg6NTYuMDAwMDAwMDAw ICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvaTM4Ni1uYXQuaAkyMDExLTA0LTI5 IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorQEAgLTc4LDYgKzc4LDI4IEBAIHN0cnVjdCBpMzg2 X2RyX2xvd190eXBlIAogIAogIGV4dGVybiBzdHJ1Y3QgaTM4Nl9kcl9sb3dfdHlwZSBpMzg2X2Ry X2xvdzsKICAKQEAgLTU0NjEsMTAgKzU0NjEsMTAgQEAgaW5kZXggODE5YzZiOC4uYmVmOGEzNSAx MDA2NDQKICAvKiBVc2UgdGhpcyBmdW5jdGlvbiB0byBzZXQgaTM4Nl9kcl9sb3cgZGVidWdfcmVn aXN0ZXJfbGVuZ3RoIGZpZWxkCiAgICAgcmF0aGVyIHRoYW4gc2V0dGluZyBpdCBkaXJlY3RseSB0 byBjaGVjayB0aGF0IHRoZSBsZW5ndGggaXMgb25seQogICAgIHNldCBvbmNlLiAgSXQgYWxzbyBl bmFibGVzIHRoZSAnbWFpbnQgc2V0L3Nob3cgc2hvdy1kZWJ1Zy1yZWdzJyAKLWRpZmYgLS1naXQg YS9nZGIvaW5mcnVuLmMgYi9nZGIvaW5mcnVuLmMKLWluZGV4IDdjZWU3YzguLmI5NGMxMWEgMTAw NjQ0Ci0tLS0gYS9nZGIvaW5mcnVuLmMKLSsrKyBiL2dkYi9pbmZydW4uYworSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA0MjkvZ2RiL2luZnJ1bi5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4y MDExMDQyOS5vcmlnL2dkYi9pbmZydW4uYwkyMDExLTA0LTIwIDE5OjA0OjMyLjAwMDAwMDAwMCAr MDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2luZnJ1bi5jCTIwMTEtMDQtMjkgMDk6 NDA6NDYuMDAwMDAwMDAwICswMjAwCiBAQCAtNTQsNiArNTQsOCBAQAogICNpbmNsdWRlICJpbmxp bmUtZnJhbWUuaCIKICAjaW5jbHVkZSAiaml0LmgiCkBAIC01NDc0LDcgKzU0NzQsNyBAQCBpbmRl eCA3Y2VlN2M4Li5iOTRjMTFhIDEwMDY0NAogIAogIC8qIFByb3RvdHlwZXMgZm9yIGxvY2FsIGZ1 bmN0aW9ucyAqLwogIAotQEAgLTIyNDcsNyArMjI0OSw3IEBAIHN0YXRpYyB2b2lkIGluc2VydF9z dGVwX3Jlc3VtZV9icmVha3BvaW50X2F0X3NhbCAoc3RydWN0IGdkYmFyY2ggKiwKK0BAIC0yMjQ3 LDcgKzIyNDksNyBAQCBzdGF0aWMgdm9pZCBpbnNlcnRfc3RlcF9yZXN1bWVfYnJlYWtwb2luCiAg CQkJCQkJICBzdHJ1Y3QgZnJhbWVfaWQpOwogIHN0YXRpYyB2b2lkIGluc2VydF9sb25nam1wX3Jl c3VtZV9icmVha3BvaW50IChzdHJ1Y3QgZ2RiYXJjaCAqLCBDT1JFX0FERFIpOwogIHN0YXRpYyB2 b2lkIGNoZWNrX2V4Y2VwdGlvbl9yZXN1bWUgKHN0cnVjdCBleGVjdXRpb25fY29udHJvbF9zdGF0 ZSAqLApAQCAtNTUxOCw3ICs1NTE4LDcgQEAgaW5kZXggN2NlZTdjOC4uYjk0YzExYSAxMDA2NDQK ICAJa2VlcF9nb2luZyAoZWNzKTsKICAJcmV0dXJuOwogIAotQEAgLTUyNjMsMTUgKzUyNjgsNjUg QEAgaW5zZXJ0X2V4Y2VwdGlvbl9yZXN1bWVfYnJlYWtwb2ludCAoc3RydWN0IHRocmVhZF9pbmZv ICp0cCwKK0BAIC01MjYzLDE1ICs1MjY4LDY1IEBAIGluc2VydF9leGNlcHRpb25fcmVzdW1lX2Jy ZWFrcG9pbnQgKHN0cnUKICAgICAgfQogIH0KICAKQEAgLTU1ODUsNyArNTU4NSw3IEBAIGluZGV4 IDdjZWU3YzguLmI5NGMxMWEgMTAwNjQ0CiAgCiAgICBUUllfQ0FUQ0ggKGUsIFJFVFVSTl9NQVNL X0VSUk9SKQogICAgICB7Ci1AQCAtNjI1Myw3ICs2MzA4LDggQEAgc3RhdGljIHN0cnVjdCBsdmFs X2Z1bmNzIHNpZ2luZm9fdmFsdWVfZnVuY3MgPQorQEAgLTYyNTMsNyArNjMwOCw4IEBAIHN0YXRp YyBzdHJ1Y3QgbHZhbF9mdW5jcyBzaWdpbmZvX3ZhbHVlX2YKICAgICBpZiB0aGVyZSdzIG5vIG9i amVjdCBhdmFpbGFibGUuICAqLwogIAogIHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKgpAQCAtNTU5NSw3 ICs1NTk1LDcgQEAgaW5kZXggN2NlZTdjOC4uYjk0YzExYSAxMDA2NDQKICB7CiAgICBpZiAodGFy Z2V0X2hhc19zdGFjawogICAgICAgICYmICFwdGlkX2VxdWFsIChpbmZlcmlvcl9wdGlkLCBudWxs X3B0aWQpCi1AQCAtNjgyNiw2ICs2ODgyLDE1IEBAIHNob3dfc2NoZWR1bGVfbXVsdGlwbGUgKHN0 cnVjdCB1aV9maWxlICpmaWxlLCBpbnQgZnJvbV90dHksCitAQCAtNjgyMSw2ICs2ODc3LDE1IEBA IHNob3dfc2NoZWR1bGVfbXVsdGlwbGUgKHN0cnVjdCB1aV9maWxlICoKICAJCQkgICAgIm9mIGFs bCBwcm9jZXNzZXMgaXMgJXMuXG4iKSwgdmFsdWUpOwogIH0KICAKQEAgLTU2MTEsNyArNTYxMSw3 IEBAIGluZGV4IDdjZWU3YzguLmI5NGMxMWEgMTAwNjQ0CiAgdm9pZAogIF9pbml0aWFsaXplX2lu ZnJ1biAodm9pZCkKICB7Ci1AQCAtNzA5OCw3ICs3MTYzLDcgQEAgVGVsbHMgZ2RiIHdoZXRoZXIg dG8gZGV0YWNoIHRoZSBjaGlsZCBvZiBhIGZvcmsuIiksCitAQCAtNzA5Myw3ICs3MTU4LDcgQEAg VGVsbHMgZ2RiIHdoZXRoZXIgdG8gZGV0YWNoIHRoZSBjaGlsZCBvZgogICAgICAgdmFsdWUgd2l0 aCBhIHZvaWQgdHlwZWQgdmFsdWUsIGFuZCB3aGVuIHdlIGdldCBoZXJlLCBnZGJhcmNoCiAgICAg ICBpc24ndCBpbml0aWFsaXplZCB5ZXQuICBBdCB0aGlzIHBvaW50LCB3ZSdyZSBxdWl0ZSBzdXJl IHRoZXJlCiAgICAgICBpc24ndCBhbm90aGVyIGNvbnZlbmllbmNlIHZhcmlhYmxlIG9mIHRoZSBz YW1lIG5hbWUuICAqLwpAQCAtNTYyMCwxMCArNTYyMCwxMCBAQCBpbmRleCA3Y2VlN2M4Li5iOTRj MTFhIDEwMDY0NAogIAogICAgYWRkX3NldHNob3dfYm9vbGVhbl9jbWQgKCJvYnNlcnZlciIsIG5v X2NsYXNzLAogIAkJCSAgICZvYnNlcnZlcl9tb2RlXzEsIF8oIlwKLWRpZmYgLS1naXQgYS9nZGIv bGluZXNwZWMuYyBiL2dkYi9saW5lc3BlYy5jCi1pbmRleCA3MGRmM2NhLi41MzM4MTYxIDEwMDY0 NAotLS0tIGEvZ2RiL2xpbmVzcGVjLmMKLSsrKyBiL2dkYi9saW5lc3BlYy5jCitJbmRleDogZ2Ri LTcuMi45MC4yMDExMDQyOS9nZGIvbGluZXNwZWMuYworPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIu OTAuMjAxMTA0Mjkub3JpZy9nZGIvbGluZXNwZWMuYwkyMDExLTAzLTI1IDE4OjEzOjEyLjAwMDAw MDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2xpbmVzcGVjLmMJMjAxMS0w NC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKIEBAIC00Myw2ICs0Myw3IEBACiAgI2luY2x1 ZGUgImFyY2gtdXRpbHMuaCIKICAjaW5jbHVkZSA8Y3R5cGUuaD4KQEAgLTU2NDAsNyArNTY0MCw3 IEBAIGluZGV4IDcwZGYzY2EuLjUzMzgxNjEgMTAwNjQ0CiAgCiAgICAgVGhpcyBtYXkgYWxsIGJl IGZvbGxvd2VkIGJ5IGFuICJpZiBFWFBSIiwgd2hpY2ggd2UgaWdub3JlLgogIAotQEAgLTgzNyw2 ICs4MzksOSBAQCBkZWNvZGVfbGluZV8xIChjaGFyICoqYXJncHRyLCBpbnQgZnVuZmlyc3RsaW5l LCBzdHJ1Y3Qgc3ltdGFiICpkZWZhdWx0X3N5bXRhYiwKK0BAIC04MzcsNiArODM5LDkgQEAgZGVj b2RlX2xpbmVfMSAoY2hhciAqKmFyZ3B0ciwgaW50IGZ1bmZpcgogICAgaWYgKCoqYXJncHRyID09 ICcqJykKICAgICAgcmV0dXJuIGRlY29kZV9pbmRpcmVjdCAoYXJncHRyKTsKICAKQEAgLTU2NTAs MTAgKzU2NTAsMTAgQEAgaW5kZXggNzBkZjNjYS4uNTMzODE2MSAxMDA2NDQKICAgIGlzX3F1b3Rl ZCA9IChzdHJjaHIgKGdldF9nZGJfY29tcGxldGVyX3F1b3RlX2NoYXJhY3RlcnMgKCksCiAgCQkg ICAgICAgKiphcmdwdHIpICE9IE5VTEwpOwogIAotZGlmZiAtLWdpdCBhL2dkYi9saW5lc3BlYy5o IGIvZ2RiL2xpbmVzcGVjLmgKLWluZGV4IGQ4ZDJlYzkuLjQ1ODIzNWMgMTAwNjQ0Ci0tLS0gYS9n ZGIvbGluZXNwZWMuaAotKysrIGIvZ2RiL2xpbmVzcGVjLmgKK0luZGV4OiBnZGItNy4yLjkwLjIw MTEwNDI5L2dkYi9saW5lc3BlYy5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDQy OS5vcmlnL2dkYi9saW5lc3BlYy5oCTIwMTEtMDMtMjQgMjA6NDc6MTcuMDAwMDAwMDAwICswMTAw CisrKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvbGluZXNwZWMuaAkyMDExLTA0LTI5IDA5OjQw OjQ2LjAwMDAwMDAwMCArMDIwMAogQEAgLTMwLDYgKzMwLDEwIEBAIHN0cnVjdCBsaW5lc3BlY19y ZXN1bHQKICAgICAgIGRpc3BsYXkgbWVjaGFuaXNtIHdvdWxkIGRvIHRoZSB3cm9uZyB0aGluZy4g ICovCiAgICBpbnQgc3BlY2lhbF9kaXNwbGF5OwpAQCAtNTY2NSwxMCArNTY2NSwxMCBAQCBpbmRl eCBkOGQyZWM5Li40NTgyMzVjIDEwMDY0NAogICAgLyogSWYgbm9uLU5VTEwsIGFuIGFycmF5IG9m IGNhbm9uaWNhbCBuYW1lcyBmb3IgcmV0dXJuZWQKICAgICAgIHN5bXRhYl9hbmRfbGluZSBvYmpl Y3RzLiAgVGhlIGFycmF5IGhhcyBhcyBtYW55IGVsZW1lbnRzIGFzIHRoZQogICAgICAgYG5lbHRz JyBmaWVsZCBpbiB0aGUgc3ltdGFic19hbmRfbGluZSByZXR1cm5lZCBieSBkZWNvZGVfbGluZV8x LgotZGlmZiAtLWdpdCBhL2dkYi9saW51eC1uYXQuYyBiL2dkYi9saW51eC1uYXQuYwotaW5kZXgg NzMyODEyZC4uMDNiM2QxOSAxMDA2NDQKLS0tLSBhL2dkYi9saW51eC1uYXQuYwotKysrIGIvZ2Ri L2xpbnV4LW5hdC5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvbGludXgtbmF0LmMK Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL2xpbnV4LW5hdC5j CTIwMTEtMDMtMDkgMTM6NDg6NTUuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDEx MDQyOS9nZGIvbGludXgtbmF0LmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAK IEBAIC0xMjU0LDYgKzEyNTQsNjQgQEAgaXRlcmF0ZV9vdmVyX2x3cHMgKHB0aWRfdCBmaWx0ZXIs CiAgICByZXR1cm4gTlVMTDsKICB9CkBAIC01NzM0LDExICs1NzM0LDExIEBAIGluZGV4IDczMjgx MmQuLjAzYjNkMTkgMTAwNjQ0CiAgLyogVXBkYXRlIG91ciBpbnRlcm5hbCBzdGF0ZSB3aGVuIGNo YW5naW5nIGZyb20gb25lIGNoZWNrcG9pbnQgdG8KICAgICBhbm90aGVyIGluZGljYXRlZCBieSBO RVdfUFRJRC4gIFdlIGNhbiBvbmx5IHN3aXRjaCBzaW5nbGUtdGhyZWFkZWQKICAgICBhcHBsaWNh dGlvbnMsIHNvIHdlIG9ubHkgY3JlYXRlIG9uZSBuZXcgTFdQLCBhbmQgdGhlIHByZXZpb3VzIGxp c3QKLWRpZmYgLS1naXQgYS9nZGIvbGludXgtbmF0LmggYi9nZGIvbGludXgtbmF0LmgKLWluZGV4 IDQyY2IyZmMuLjA1YWMxMWQgMTAwNjQ0Ci0tLS0gYS9nZGIvbGludXgtbmF0LmgKLSsrKyBiL2dk Yi9saW51eC1uYXQuaAotQEAgLTE0MCw2ICsxNDAsMTEgQEAgc3RydWN0IGx3cF9pbmZvICppdGVy YXRlX292ZXJfbHdwcyAocHRpZF90IGZpbHRlciwKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5 L2dkYi9saW51eC1uYXQuaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3Jp Zy9nZGIvbGludXgtbmF0LmgJMjAxMS0wMS0wNSAyMzoyMjo0OS4wMDAwMDAwMDAgKzAxMDAKKysr KyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9saW51eC1uYXQuaAkyMDExLTA0LTI5IDA5OjQwOjQ2 LjAwMDAwMDAwMCArMDIwMAorQEAgLTE0MCw2ICsxNDAsMTEgQEAgc3RydWN0IGx3cF9pbmZvICpp dGVyYXRlX292ZXJfbHdwcyAocHRpZAogIAkJCQkJCSAgICAgdm9pZCAqKSwgCiAgCQkJCSAgICB2 b2lkICpkYXRhKTsKICAKQEAgLTU3NTAsMTEgKzU3NTAsMTEgQEAgaW5kZXggNDJjYjJmYy4uMDVh YzExZCAxMDA2NDQKICAvKiBDcmVhdGUgYSBwcm90b3R5cGUgZ2VuZXJpYyBHTlUvTGludXggdGFy Z2V0LiAgVGhlIGNsaWVudCBjYW4KICAgICBvdmVycmlkZSBpdCB3aXRoIGxvY2FsIG1ldGhvZHMu ICAqLwogIHN0cnVjdCB0YXJnZXRfb3BzICogbGludXhfdGFyZ2V0ICh2b2lkKTsKLWRpZmYgLS1n aXQgYS9nZGIvbWFjaG9yZWFkLmMgYi9nZGIvbWFjaG9yZWFkLmMKLWluZGV4IGRiZjlhZTQuLjNk YjllMTYgMTAwNjQ0Ci0tLS0gYS9nZGIvbWFjaG9yZWFkLmMKLSsrKyBiL2dkYi9tYWNob3JlYWQu YwotQEAgLTg0OSw2ICs4NDksNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHN5bV9mbnMgbWFjaG9f c3ltX2ZucyA9IHsKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9tYWNob3JlYWQuYwor PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvbWFjaG9yZWFkLmMJ MjAxMS0wMy0wNyAxNzoxNzoyOS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEw NDI5L2dkYi9tYWNob3JlYWQuYwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAor QEAgLTg0OSw2ICs4NDksNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHN5bV9mbnMgbWFjaG9fc3lt X2ZuCiAgICBkZWZhdWx0X3N5bWZpbGVfc2VnbWVudHMsCS8qIEdldCBzZWdtZW50IGluZm9ybWF0 aW9uIGZyb20gYSBmaWxlLiAgKi8KICAgIE5VTEwsCiAgICBtYWNob19zeW1maWxlX3JlbG9jYXRl LAkvKiBSZWxvY2F0ZSBhIGRlYnVnIHNlY3Rpb24uICAqLwpAQCAtNTc2MiwxMCArNTc2MiwxMCBA QCBpbmRleCBkYmY5YWU0Li4zZGI5ZTE2IDEwMDY0NAogICAgJnBzeW1fZnVuY3Rpb25zCiAgfTsK ICAKLWRpZmYgLS1naXQgYS9nZGIvbWFpbi5jIGIvZ2RiL21haW4uYwotaW5kZXggZmYzMDVhMS4u MjY3ZjBiMCAxMDA2NDQKLS0tLSBhL2dkYi9tYWluLmMKLSsrKyBiL2dkYi9tYWluLmMKK0luZGV4 OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9tYWluLmMKKz09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4y LjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL21haW4uYwkyMDExLTAzLTA3IDE5OjM0OjMxLjAwMDAwMDAw MCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL21haW4uYwkyMDExLTA0LTI5IDA5 OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAogQEAgLTM5LDYgKzM5LDcgQEAKICAKICAjaW5jbHVkZSAi aW50ZXJwcy5oIgpAQCAtNTkxMywxMSArNTkxMywxMSBAQCBpbmRleCBmZjMwNWExLi4yNjdmMGIw IDEwMDY0NAogICAgLS1xdWlldCAgICAgICAgICAgIERvIG5vdCBwcmludCB2ZXJzaW9uIG51bWJl ciBvbiBzdGFydHVwLlxuXAogICAgLS1yZWFkbm93ICAgICAgICAgIEZ1bGx5IHJlYWQgc3ltYm9s IGZpbGVzIG9uIGZpcnN0IGFjY2Vzcy5cblwKICAiKSwgc3RyZWFtKTsKLWRpZmYgLS1naXQgYS9n ZGIvbWkvbWktY21kLXZhci5jIGIvZ2RiL21pL21pLWNtZC12YXIuYwotaW5kZXggYTQwMTg0Ni4u MjZkY2E4YyAxMDA2NDQKLS0tLSBhL2dkYi9taS9taS1jbWQtdmFyLmMKLSsrKyBiL2dkYi9taS9t aS1jbWQtdmFyLmMKLUBAIC03MDcsNyArNzA3LDYgQEAgbWlfY21kX3Zhcl91cGRhdGUgKGNoYXIg KmNvbW1hbmQsIGNoYXIgKiphcmd2LCBpbnQgYXJnYykKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEw NDI5L2dkYi9taS9taS1jbWQtdmFyLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEw NDI5Lm9yaWcvZ2RiL21pL21pLWNtZC12YXIuYwkyMDExLTAxLTEyIDIyOjA5OjM5LjAwMDAwMDAw MCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL21pL21pLWNtZC12YXIuYwkyMDEx LTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorQEAgLTcwNyw3ICs3MDcsNiBAQCBtaV9j bWRfdmFyX3VwZGF0ZSAoY2hhciAqY29tbWFuZCwgY2hhciAqCiAgICAgIH0KICAgIGVsc2UKICAg ICAgewpAQCAtNTkyNSwxMSArNTkyNSwxMSBAQCBpbmRleCBhNDAxODQ2Li4yNmRjYThjIDEwMDY0 NAogICAgICAgIHN0cnVjdCB2YXJvYmogKnZhciA9IHZhcm9ial9nZXRfaGFuZGxlIChuYW1lKTsK ICAKICAgICAgICB2YXJvYmpfdXBkYXRlX29uZSAodmFyLCBwcmludF92YWx1ZXMsIDEgLyogZXhw bGljaXQgKi8pOwotZGlmZiAtLWdpdCBhL2dkYi9taXBzcmVhZC5jIGIvZ2RiL21pcHNyZWFkLmMK LWluZGV4IDc0ZDc5NWQuLjdlMDUzMTcgMTAwNjQ0Ci0tLS0gYS9nZGIvbWlwc3JlYWQuYwotKysr IGIvZ2RiL21pcHNyZWFkLmMKLUBAIC00MDIsNiArNDAyLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVj dCBzeW1fZm5zIGVjb2ZmX3N5bV9mbnMgPQorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2Ri L21pcHNyZWFkLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2Ri L21pcHNyZWFkLmMJMjAxMS0wMy0wNyAxNzoxNzoyOS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGIt Ny4yLjkwLjIwMTEwNDI5L2dkYi9taXBzcmVhZC5jCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAw MDAwICswMjAwCitAQCAtNDAyLDYgKzQwMiw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc3ltX2Zu cyBlY29mZl9zeW1fZm4KICAgIGRlZmF1bHRfc3ltZmlsZV9zZWdtZW50cywJLyogR2V0IHNlZ21l bnQgaW5mb3JtYXRpb24gZnJvbSBhIGZpbGUuICAqLwogICAgTlVMTCwKICAgIGRlZmF1bHRfc3lt ZmlsZV9yZWxvY2F0ZSwJLyogUmVsb2NhdGUgYSBkZWJ1ZyBzZWN0aW9uLiAgKi8KQEAgLTU5Mzcs MTEgKzU5MzcsMTEgQEAgaW5kZXggNzRkNzk1ZC4uN2UwNTMxNyAxMDA2NDQKICAgICZwc3ltX2Z1 bmN0aW9ucwogIH07CiAgCi1kaWZmIC0tZ2l0IGEvZ2RiL29iamZpbGVzLmMgYi9nZGIvb2JqZmls ZXMuYwotaW5kZXggZjMyNTlkZC4uNGNiM2JlZCAxMDA2NDQKLS0tLSBhL2dkYi9vYmpmaWxlcy5j Ci0rKysgYi9nZGIvb2JqZmlsZXMuYwotQEAgLTg0Niw2ICs4NDYsMTEgQEAgb2JqZmlsZV9yZWxv Y2F0ZTEgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0 MjkvZ2RiL29iamZpbGVzLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9y aWcvZ2RiL29iamZpbGVzLmMJMjAxMS0wNC0yNSAyMzoyNToxOC4wMDAwMDAwMDAgKzAyMDAKKysr KyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9vYmpmaWxlcy5jCTIwMTEtMDQtMjkgMDk6NDA6NDYu MDAwMDAwMDAwICswMjAwCitAQCAtODQ2LDYgKzg0NiwxMSBAQCBvYmpmaWxlX3JlbG9jYXRlMSAo c3RydWN0IG9iamZpbGUgKm9iamZpCiAgCQkJCW9ial9zZWN0aW9uX2FkZHIgKHMpKTsKICAgICAg fQogIApAQCAtNTk1MywxMCArNTk1MywxMCBAQCBpbmRleCBmMzI1OWRkLi40Y2IzYmVkIDEwMDY0 NAogICAgLyogRGF0YSBjaGFuZ2VkLiAgKi8KICAgIHJldHVybiAxOwogIH0KLWRpZmYgLS1naXQg YS9nZGIvcC12YWxwcmludC5jIGIvZ2RiL3AtdmFscHJpbnQuYwotaW5kZXggZDJlZmE1Yi4uZDk4 YjNhNCAxMDA2NDQKLS0tLSBhL2dkYi9wLXZhbHByaW50LmMKLSsrKyBiL2dkYi9wLXZhbHByaW50 LmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9wLXZhbHByaW50LmMKKz09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL3AtdmFscHJpbnQuYwkyMDExLTAz LTE1IDE3OjAwOjU2LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2Ri L3AtdmFscHJpbnQuYwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAogQEAgLTM5 LDYgKzM5LDcgQEAKICAjaW5jbHVkZSAiY3AtYWJpLmgiCiAgI2luY2x1ZGUgImNwLXN1cHBvcnQu aCIKQEAgLTU5NjUsNyArNTk2NSw3IEBAIGluZGV4IGQyZWZhNWIuLmQ5OGIzYTQgMTAwNjQ0CiAg DAogIAogIC8qIFNlZSB2YWxfcHJpbnQgZm9yIGEgZGVzY3JpcHRpb24gb2YgdGhlIHZhcmlvdXMg cGFyYW1ldGVycyBvZiB0aGlzCi1AQCAtNjMsOCArNjQsMzEgQEAgcGFzY2FsX3ZhbF9wcmludCAo c3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAorQEAgLTYzLDggKzY0 LDMxIEBAIHBhc2NhbF92YWxfcHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLCBjb24KICAgIHN0cnVj dCB0eXBlICpjaGFyX3R5cGU7CiAgICBMT05HRVNUIHZhbDsKICAgIENPUkVfQUREUiBhZGRyOwpA QCAtNTk5OCw3ICs1OTk4LDcgQEAgaW5kZXggZDJlZmE1Yi4uZDk4YjNhNCAxMDA2NDQKICAgIHN3 aXRjaCAoVFlQRV9DT0RFICh0eXBlKSkKICAgICAgewogICAgICBjYXNlIFRZUEVfQ09ERV9BUlJB WToKLUBAIC0xMjAsOCArMTQ0LDggQEAgcGFzY2FsX3ZhbF9wcmludCAoc3RydWN0IHR5cGUgKnR5 cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAorQEAgLTEyMCw4ICsxNDQsOCBAQCBwYXNjYWxf dmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uCiAgCQl7CiAgCQkgIGkgPSAwOwogIAkJ fQpAQCAtNjAwOSw3ICs2MDA5LDcgQEAgaW5kZXggZDJlZmE1Yi4uZDk4YjNhNCAxMDA2NDQKICAJ CQkJCW9yaWdpbmFsX3ZhbHVlLCBvcHRpb25zLCBpKTsKICAJICAgICAgZnByaW50Zl9maWx0ZXJl ZCAoc3RyZWFtLCAifSIpOwogIAkgICAgfQotQEAgLTE2MCw2ICsxODQsNyBAQCBwYXNjYWxfdmFs X3ByaW50IChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCitAQCAt MTYwLDYgKzE4NCw3IEBAIHBhc2NhbF92YWxfcHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLCBjb24K ICAJICAvKiBUcnkgdG8gcHJpbnQgd2hhdCBmdW5jdGlvbiBpdCBwb2ludHMgdG8uICAqLwogIAkg IHByaW50X2FkZHJlc3NfZGVtYW5nbGUgKGdkYmFyY2gsIGFkZHIsIHN0cmVhbSwgZGVtYW5nbGUp OwogIAkgIC8qIFJldHVybiB2YWx1ZSBpcyBpcnJlbGV2YW50IGV4Y2VwdCBmb3Igc3RyaW5nIHBv aW50ZXJzLiAgKi8KQEAgLTYwMTcsNyArNjAxNyw3IEBAIGluZGV4IGQyZWZhNWIuLmQ5OGIzYTQg MTAwNjQ0CiAgCSAgcmV0dXJuICgwKTsKICAJfQogIAotQEAgLTI1MSw2ICsyNzYsNyBAQCBwYXNj YWxfdmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIs CitAQCAtMjUxLDYgKzI3Niw3IEBAIHBhc2NhbF92YWxfcHJpbnQgKHN0cnVjdCB0eXBlICp0eXBl LCBjb24KICAgICAgICAvKiBSZXR1cm4gbnVtYmVyIG9mIGNoYXJhY3RlcnMgcHJpbnRlZCwgaW5j bHVkaW5nIHRoZSB0ZXJtaW5hdGluZwogIAkgJ1wwJyBpZiB3ZSByZWFjaGVkIHRoZSBlbmQuICB2 YWxfcHJpbnRfc3RyaW5nIHRha2VzIGNhcmUgaW5jbHVkaW5nCiAgCSB0aGUgdGVybWluYXRpbmcg J1wwJyBpZiBuZWNlc3NhcnkuICAqLwpAQCAtNjAyNSw3ICs2MDI1LDcgQEAgaW5kZXggZDJlZmE1 Yi4uZDk4YjNhNCAxMDA2NDQKICAgICAgICByZXR1cm4gaTsKICAKICAgICAgICBicmVhazsKLUBA IC01NjcsNiArNTkzLDcgQEAgcGFzY2FsX3ZhbF9wcmludCAoc3RydWN0IHR5cGUgKnR5cGUsIGNv bnN0IGdkYl9ieXRlICp2YWxhZGRyLAorQEAgLTU2Nyw2ICs1OTMsNyBAQCBwYXNjYWxfdmFsX3By aW50IChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uCiAgCSAgICAgVFlQRV9DT0RFICh0eXBlKSk7CiAg ICAgIH0KICAgIGdkYl9mbHVzaCAoc3RyZWFtKTsKQEAgLTYwMzMsMTEgKzYwMzMsMTEgQEAgaW5k ZXggZDJlZmE1Yi4uZDk4YjNhNCAxMDA2NDQKICAgIHJldHVybiAoMCk7CiAgfQogIAwKLWRpZmYg LS1naXQgYS9nZGIvcGFyc2UuYyBiL2dkYi9wYXJzZS5jCi1pbmRleCA0ODE1ODU0Li44MWYzZjBj IDEwMDY0NAotLS0tIGEvZ2RiL3BhcnNlLmMKLSsrKyBiL2dkYi9wYXJzZS5jCi1AQCAtMTUwMiw2 ICsxNTAyLDcgQEAgcGFyc2VyX2ZwcmludGYgKEZJTEUgKngsIGNvbnN0IGNoYXIgKnksIC4uLikK K0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9wYXJzZS5jCis9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0g Z2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9wYXJzZS5jCTIwMTEtMDMtMjggMjI6MjE6MDMu MDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvcGFyc2UuYwkyMDEx LTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorQEAgLTE1MDIsNiArMTUwMiw3IEBAIHBh cnNlcl9mcHJpbnRmIChGSUxFICp4LCBjb25zdCBjaGFyICp5LCAKICAKICBpbnQKICBvcGVyYXRv cl9jaGVja19zdGFuZGFyZCAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwgaW50IHBvcywKQEAgLTYw NDUsNyArNjA0NSw3IEBAIGluZGV4IDQ4MTU4NTQuLjgxZjNmMGMgMTAwNjQ0CiAgCQkJIGludCAo Km9iamZpbGVfZnVuYykgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLAogIAkJCQkJICAgICAgdm9p ZCAqZGF0YSksCiAgCQkJIHZvaWQgKmRhdGEpCi1AQCAtMTU0Myw3ICsxNTQ0LDcgQEAgb3BlcmF0 b3JfY2hlY2tfc3RhbmRhcmQgKHN0cnVjdCBleHByZXNzaW9uICpleHAsIGludCBwb3MsCitAQCAt MTU0Myw3ICsxNTQ0LDcgQEAgb3BlcmF0b3JfY2hlY2tfc3RhbmRhcmQgKHN0cnVjdCBleHByZXNz aQogIAkgICAgc3RydWN0IHR5cGUgKnR5cGUgPSBlbHRzW3BvcyArIDIgKyBhcmddLnR5cGU7CiAg CSAgICBzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSA9IFRZUEVfT0JKRklMRSAodHlwZSk7CiAgCkBA IC02MDU0LDcgKzYwNTQsNyBAQCBpbmRleCA0ODE1ODU0Li44MWYzZjBjIDEwMDY0NAogIAkgICAg ICByZXR1cm4gMTsKICAJICB9CiAgICAgICAgfQotQEAgLTE1NjEsNyArMTU2Miw4IEBAIG9wZXJh dG9yX2NoZWNrX3N0YW5kYXJkIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLCBpbnQgcG9zLAorQEAg LTE1NjEsNyArMTU2Miw4IEBAIG9wZXJhdG9yX2NoZWNrX3N0YW5kYXJkIChzdHJ1Y3QgZXhwcmVz c2kKICAKICAJLyogQ2hlY2sgb2JqZmlsZSB3aGVyZSB0aGUgdmFyaWFibGUgaXRzZWxmIGlzIHBs YWNlZC4KICAJICAgU1lNQk9MX09CSl9TRUNUSU9OIChzeW1ib2wpIG1heSBiZSBOVUxMLiAgKi8K QEAgLTYwNjQsNyArNjA2NCw3IEBAIGluZGV4IDQ4MTU4NTQuLjgxZjNmMGMgMTAwNjQ0CiAgCSAg cmV0dXJuIDE7CiAgCiAgCS8qIENoZWNrIG9iamZpbGUgd2hlcmUgaXMgcGxhY2VkIHRoZSBjb2Rl IHRvdWNoaW5nIHRoZSB2YXJpYWJsZS4gICovCi1AQCAtMTU3NCwyNCArMTU3NiwyNyBAQCBvcGVy YXRvcl9jaGVja19zdGFuZGFyZCAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwgaW50IHBvcywKK0BA IC0xNTc0LDI0ICsxNTc2LDI3IEBAIG9wZXJhdG9yX2NoZWNrX3N0YW5kYXJkIChzdHJ1Y3QgZXhw cmVzc2kKICAKICAgIC8qIEludm9rZSBjYWxsYmFja3MgZm9yIFRZUEUgYW5kIE9CSkZJTEUgaWYg dGhleSB3ZXJlIHNldCBhcyBub24tTlVMTC4gICovCiAgCkBAIC02MTExLDcgKzYxMTEsNyBAQCBp bmRleCA0ODE1ODU0Li44MWYzZjBjIDEwMDY0NAogIAlyZXR1cm4gMTsKICAKICAgICAgICBlbmRw b3MgPSBwb3M7Ci1AQCAtMTYzNyw4ICsxNjQ0LDI5IEBAIGV4cF91c2VzX29iamZpbGUgKHN0cnVj dCBleHByZXNzaW9uICpleHAsIHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlKQorQEAgLTE2MzcsOCAr MTY0NCwyOSBAQCBleHBfdXNlc19vYmpmaWxlIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwCiAgewog ICAgZ2RiX2Fzc2VydCAob2JqZmlsZS0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZV9iYWNrbGluayA9 PSBOVUxMKTsKICAKQEAgLTYxNDIsMTEgKzYxNDIsMTEgQEAgaW5kZXggNDgxNTg1NC4uODFmM2Yw YyAxMDA2NDQKICAKICB2b2lkCiAgX2luaXRpYWxpemVfcGFyc2UgKHZvaWQpCi1kaWZmIC0tZ2l0 IGEvZ2RiL3BhcnNlci1kZWZzLmggYi9nZGIvcGFyc2VyLWRlZnMuaAotaW5kZXggM2Y3NDNkMS4u M2I5NDJjNCAxMDA2NDQKLS0tLSBhL2dkYi9wYXJzZXItZGVmcy5oCi0rKysgYi9nZGIvcGFyc2Vy LWRlZnMuaAotQEAgLTE5NCw2ICsxOTQsOCBAQCBleHRlcm4gdm9pZCBvcGVyYXRvcl9sZW5ndGhf c3RhbmRhcmQgKGNvbnN0IHN0cnVjdCBleHByZXNzaW9uICosIGludCwgaW50ICosCitJbmRleDog Z2RiLTcuMi45MC4yMDExMDQyOS9nZGIvcGFyc2VyLWRlZnMuaAorPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdk Yi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvcGFyc2VyLWRlZnMuaAkyMDExLTAxLTEwIDIxOjM4 OjQ5LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3BhcnNlci1k ZWZzLmgJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKK0BAIC0xOTQsNiArMTk0 LDggQEAgZXh0ZXJuIHZvaWQgb3BlcmF0b3JfbGVuZ3RoX3N0YW5kYXJkIChjbwogIAkJCQkgICAg ICBpbnQgKik7CiAgCiAgZXh0ZXJuIGludCBvcGVyYXRvcl9jaGVja19zdGFuZGFyZCAoc3RydWN0 IGV4cHJlc3Npb24gKmV4cCwgaW50IHBvcywKQEAgLTYxNjMsNyArNjE2Myw3IEBAIGluZGV4IDNm NzQzZDEuLjNiOTQyYzQgMTAwNjQ0CiAgCQkJICAgaW50ICgqb2JqZmlsZV9mdW5jKSAoc3RydWN0 IG9iamZpbGUgKm9iamZpbGUsCiAgCQkJCQkJdm9pZCAqZGF0YSksCiAgCQkJICAgdm9pZCAqZGF0 YSk7Ci1AQCAtMzI5LDQgKzMzMiwxMCBAQCBleHRlcm4gdm9pZCBwYXJzZXJfZnByaW50ZiAoRklM RSAqLCBjb25zdCBjaGFyICosIC4uLikgQVRUUklCVVRFX1BSSU5URiAoMiwgMyk7CitAQCAtMzI5 LDQgKzMzMiwxMCBAQCBleHRlcm4gdm9pZCBwYXJzZXJfZnByaW50ZiAoRklMRSAqLCBjb25zCiAg CiAgZXh0ZXJuIGludCBleHBfdXNlc19vYmpmaWxlIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLCBz dHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSk7CiAgCkBAIC02MTc0LDExICs2MTc0LDExIEBAIGluZGV4 IDNmNzQzZDEuLjNiOTQyYzQgMTAwNjQ0CiArI2VuZGlmCiArCiAgI2VuZGlmIC8qIFBBUlNFUl9E RUZTX0ggKi8KLWRpZmYgLS1naXQgYS9nZGIvcHBjLWxpbnV4LW5hdC5jIGIvZ2RiL3BwYy1saW51 eC1uYXQuYwotaW5kZXggZjBjN2Y2MS4uNTRjYWNiYiAxMDA2NDQKLS0tLSBhL2dkYi9wcGMtbGlu dXgtbmF0LmMKLSsrKyBiL2dkYi9wcGMtbGludXgtbmF0LmMKLUBAIC0xNjM3LDYgKzE2MzcsMTQg QEAgYm9va2VfcmVtb3ZlX3BvaW50IChzdHJ1Y3QgcHBjX2h3X2JyZWFrcG9pbnQgKmIsIGludCB0 aWQpCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvcHBjLWxpbnV4LW5hdC5jCis9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9wcGMtbGludXgtbmF0LmMJ MjAxMS0wNC0xOCAyMzoyOToxOC4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEw NDI5L2dkYi9wcGMtbGludXgtbmF0LmMJMjAxMS0wNC0yOSAwOTo0MTowNi4wMDAwMDAwMDAgKzAy MDAKK0BAIC0xNjM3LDYgKzE2MzcsMTQgQEAgYm9va2VfcmVtb3ZlX3BvaW50IChzdHJ1Y3QgcHBj X2h3X2JyZWFrcAogICAgaHdfYnJlYWtzW2ldLmh3X2JyZWFrID0gTlVMTDsKICB9CiAgCkBAIC02 MjAyLDcgKzYyMDIsNyBAQCBpbmRleCBmMGM3ZjYxLi41NGNhY2JiIDEwMDY0NAogICAgc3RydWN0 IHBwY19od19icmVha3BvaW50IHA7CiAgCiAgICBpZiAoIWhhdmVfcHRyYWNlX2Jvb2tlX2ludGVy ZmFjZSAoKSkKLUBAIC0xNjgxLDE4ICsxNjg3LDIzIEBAIHBwY19saW51eF9pbnNlcnRfaHdfYnJl YWtwb2ludCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCitAQCAtMTY4MSwxOCArMTY4NywyMyBA QCBwcGNfbGludXhfaW5zZXJ0X2h3X2JyZWFrcG9pbnQgKHN0cnVjdCBnCiAgICAgICAgcC5hZGRy MiA9IDA7CiAgICAgIH0KICAKQEAgLTYyMzAsNyArNjIzMCw3IEBAIGluZGV4IGYwYzdmNjEuLjU0 Y2FjYmIgMTAwNjQ0CiAgICBzdHJ1Y3QgcHBjX2h3X2JyZWFrcG9pbnQgcDsKICAKICAgIGlmICgh aGF2ZV9wdHJhY2VfYm9va2VfaW50ZXJmYWNlICgpKQotQEAgLTE3MTgsOCArMTcyOSw3IEBAIHBw Y19saW51eF9yZW1vdmVfaHdfYnJlYWtwb2ludCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCitA QCAtMTcxOCw4ICsxNzI5LDcgQEAgcHBjX2xpbnV4X3JlbW92ZV9od19icmVha3BvaW50IChzdHJ1 Y3QgZwogICAgICAgIHAuYWRkcjIgPSAwOwogICAgICB9CiAgCkBAIC02MjQwLDggKzYyNDAsOCBA QCBpbmRleCBmMGM3ZjYxLi41NGNhY2JiIDEwMDY0NAogIAogICAgcmV0dXJuIDA7CiAgfQotQEAg LTE5MzMsNiArMTk0MywxNSBAQCBwcGNfbGludXhfY2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0 aW9uIChDT1JFX0FERFIgYWRkciwgaW50IGxlbiwgaW50IHJ3LAotIAkgICYmIGNoZWNrX2NvbmRp dGlvbiAoYWRkciwgY29uZCwgJmRhdGFfdmFsdWUpKTsKK0BAIC0xOTQ2LDYgKzE5NTYsMTUgQEAg cHBjX2xpbnV4X2Nhbl9hY2NlbF93YXRjaHBvaW50X2NvbmRpdGlvbgorIAkgICYmIGNoZWNrX2Nv bmRpdGlvbiAoYWRkciwgY29uZCwgJmRhdGFfdmFsdWUsICZsZW4pKTsKICB9CiAgCiArc3RhdGlj IHZvaWQKQEAgLTYyNTYsNyArNjI1Niw3IEBAIGluZGV4IGYwYzdmNjEuLjU0Y2FjYmIgMTAwNjQ0 CiAgLyogU2V0IHVwIFAgd2l0aCB0aGUgcGFyYW1ldGVycyBuZWNlc3NhcnkgdG8gcmVxdWVzdCBh IHdhdGNocG9pbnQgY292ZXJpbmcKICAgICBMRU4gYnl0ZXMgc3RhcnRpbmcgYXQgQUREUiBhbmQg aWYgcG9zc2libGUgd2l0aCBjb25kaXRpb24gZXhwcmVzc2lvbiBDT05ECiAgICAgZXZhbHVhdGVk IGJ5IGhhcmR3YXJlLiAgSU5TRVJUIHRlbGxzIGlmIHdlIGFyZSBjcmVhdGluZyBhIHJlcXVlc3Qg Zm9yCi1AQCAtMTk4Niw4ICsyMDA1LDYgQEAgc3RhdGljIGludAorQEAgLTIwMDAsOCArMjAxOSw2 IEBAIHN0YXRpYyBpbnQKICBwcGNfbGludXhfaW5zZXJ0X3dhdGNocG9pbnQgKENPUkVfQUREUiBh ZGRyLCBpbnQgbGVuLCBpbnQgcncsCiAgCQkJICAgICBzdHJ1Y3QgZXhwcmVzc2lvbiAqY29uZCkK ICB7CkBAIC02MjY1LDcgKzYyNjUsNyBAQCBpbmRleCBmMGM3ZjYxLi41NGNhY2JiIDEwMDY0NAog ICAgaW50IHJldCA9IC0xOwogIAogICAgaWYgKGhhdmVfcHRyYWNlX2Jvb2tlX2ludGVyZmFjZSAo KSkKLUBAIC0xOTk2LDggKzIwMTMsNyBAQCBwcGNfbGludXhfaW5zZXJ0X3dhdGNocG9pbnQgKENP UkVfQUREUiBhZGRyLCBpbnQgbGVuLCBpbnQgcncsCitAQCAtMjAxMCw4ICsyMDI3LDcgQEAgcHBj X2xpbnV4X2luc2VydF93YXRjaHBvaW50IChDT1JFX0FERFIgYQogIAogICAgICAgIGNyZWF0ZV93 YXRjaHBvaW50X3JlcXVlc3QgKCZwLCBhZGRyLCBsZW4sIHJ3LCBjb25kLCAxKTsKICAKQEAgLTYy NzUsNyArNjI3NSw3IEBAIGluZGV4IGYwYzdmNjEuLjU0Y2FjYmIgMTAwNjQ0CiAgCiAgICAgICAg cmV0ID0gMDsKICAgICAgfQotQEAgLTIwNDAsMTIgKzIwNTYsOCBAQCBwcGNfbGludXhfaW5zZXJ0 X3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBpbnQgbGVuLCBpbnQgcncsCitAQCAtMjA1NCwx MiArMjA3MCw4IEBAIHBwY19saW51eF9pbnNlcnRfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGEKICAK ICAgICAgICBzYXZlZF9kYWJyX3ZhbHVlID0gZGFicl92YWx1ZTsKICAKQEAgLTYyODksNyArNjI4 OSw3IEBAIGluZGV4IGYwYzdmNjEuLjU0Y2FjYmIgMTAwNjQ0CiAgICAgIH0KICAKICAgIHJldHVy biByZXQ7Ci1AQCAtMjA1NSw4ICsyMDY3LDYgQEAgc3RhdGljIGludAorQEAgLTIwNjksOCArMjA4 MSw2IEBAIHN0YXRpYyBpbnQKICBwcGNfbGludXhfcmVtb3ZlX3dhdGNocG9pbnQgKENPUkVfQURE UiBhZGRyLCBpbnQgbGVuLCBpbnQgcncsCiAgCQkJICAgICBzdHJ1Y3QgZXhwcmVzc2lvbiAqY29u ZCkKICB7CkBAIC02Mjk4LDcgKzYyOTgsNyBAQCBpbmRleCBmMGM3ZjYxLi41NGNhY2JiIDEwMDY0 NAogICAgaW50IHJldCA9IC0xOwogIAogICAgaWYgKGhhdmVfcHRyYWNlX2Jvb2tlX2ludGVyZmFj ZSAoKSkKLUBAIC0yMDY1LDIwICsyMDc1LDE2IEBAIHBwY19saW51eF9yZW1vdmVfd2F0Y2hwb2lu dCAoQ09SRV9BRERSIGFkZHIsIGludCBsZW4sIGludCBydywKK0BAIC0yMDc5LDIwICsyMDg5LDE2 IEBAIHBwY19saW51eF9yZW1vdmVfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGEKICAKICAgICAgICBj cmVhdGVfd2F0Y2hwb2ludF9yZXF1ZXN0ICgmcCwgYWRkciwgbGVuLCBydywgY29uZCwgMCk7CiAg CkBAIC02MzIxLDExICs2MzIxLDExIEBAIGluZGV4IGYwYzdmNjEuLjU0Y2FjYmIgMTAwNjQ0CiAg ICAgIH0KICAKICAgIHJldHVybiByZXQ7Ci1kaWZmIC0tZ2l0IGEvZ2RiL3ByaW50Y21kLmMgYi9n ZGIvcHJpbnRjbWQuYwotaW5kZXggZjFlYmI3ZS4uZTk3ZDdmMSAxMDA2NDQKLS0tLSBhL2dkYi9w cmludGNtZC5jCi0rKysgYi9nZGIvcHJpbnRjbWQuYwotQEAgLTk3NSw2ICs5NzUsMTEgQEAgcHJp bnRfY29tbWFuZF8xIChjaGFyICpleHAsIGludCBpbnNwZWN0LCBpbnQgdm9pZHByaW50KQorSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3ByaW50Y21kLmMKKz09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBn ZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL3ByaW50Y21kLmMJMjAxMS0wMy0yMiAxNTozOTo0 MC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9wcmludGNtZC5j CTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCitAQCAtOTc1LDYgKzk3NSwxMSBA QCBwcmludF9jb21tYW5kXzEgKGNoYXIgKmV4cCwgaW50IGluc3BlY3QsCiAgICBlbHNlCiAgICAg IHZhbCA9IGFjY2Vzc192YWx1ZV9oaXN0b3J5ICgwKTsKICAKQEAgLTYzNjIsNyArNjM2Miw3IEBA IGluZGV4IGYxZWJiN2UuLmU5N2Q3ZjEgMTAwNjQ0CiAgDAogIAogIC8qIEFkZCBhbiBleHByZXNz aW9uIHRvIHRoZSBhdXRvLWRpc3BsYXkgY2hhaW4uCi1AQCAtMjg3MCw0ICsyODkzLDggQEAgU2hv dyBwcmludGluZyBvZiBzb3VyY2UgZmlsZW5hbWUgYW5kIGxpbmUgbnVtYmVyIHdpdGggPHN5bWJv bD4uIiksIE5VTEwsCitAQCAtMjg3MCw0ICsyODkzLDggQEAgU2hvdyBwcmludGluZyBvZiBzb3Vy Y2UgZmlsZW5hbWUgYW5kIGxpbgogICAgYWRkX2NvbSAoImV2YWwiLCBub19jbGFzcywgZXZhbF9j b21tYW5kLCBfKCJcCiAgQ29udmVydCBcInByaW50ZiBmb3JtYXQgc3RyaW5nXCIsIGFyZzEsIGFy ZzIsIGFyZzMsIC4uLiwgYXJnbiB0b1xuXAogIGEgY29tbWFuZCBsaW5lLCBhbmQgY2FsbCBpdC4i KSk7CkBAIC02MzcxLDExICs2MzcxLDEwIEBAIGluZGV4IGYxZWJiN2UuLmU5N2Q3ZjEgMTAwNjQ0 CiArICBvYnNlcnZlcl9hdHRhY2hfbWFya191c2VkIChwcmludF90eXBlc19tYXJrX3VzZWQpOwog KyNlbmRpZgogIH0KLWRpZmYgLS1naXQgYS9nZGIvcHl0aG9uL2xpYi9nZGIvRnJhbWVJdGVyYXRv ci5weSBiL2dkYi9weXRob24vbGliL2dkYi9GcmFtZUl0ZXJhdG9yLnB5Ci1uZXcgZmlsZSBtb2Rl IDEwMDY0NAotaW5kZXggMDAwMDAwMC4uNTY1NDU0NgotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2Ri L3B5dGhvbi9saWIvZ2RiL0ZyYW1lSXRlcmF0b3IucHkKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEw NDI5L2dkYi9weXRob24vbGliL2dkYi9GcmFtZUl0ZXJhdG9yLnB5Cis9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0g L2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKysgZ2RiLTcu Mi45MC4yMDExMDQyOS9nZGIvcHl0aG9uL2xpYi9nZGIvRnJhbWVJdGVyYXRvci5weQkyMDExLTA0 LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSwzMyBAQAogKyMgSXRlcmF0 b3Igb3ZlciBmcmFtZXMuCiArCkBAIC02NDEwLDExICs2NDA5LDEwIEBAIGluZGV4IDAwMDAwMDAu LjU2NTQ1NDYKICsgICAgICAgICAgICByYWlzZSBTdG9wSXRlcmF0aW9uCiArICAgICAgICBzZWxm LmZyYW1lID0gcmVzdWx0Lm9sZGVyICgpCiArICAgICAgICByZXR1cm4gcmVzdWx0Ci1kaWZmIC0t Z2l0IGEvZ2RiL3B5dGhvbi9saWIvZ2RiL0ZyYW1lV3JhcHBlci5weSBiL2dkYi9weXRob24vbGli L2dkYi9GcmFtZVdyYXBwZXIucHkKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAw Li5iNzkwYTU0Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIvcHl0aG9uL2xpYi9nZGIvRnJhbWVX cmFwcGVyLnB5CitJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvcHl0aG9uL2xpYi9nZGIv RnJhbWVXcmFwcGVyLnB5Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6 MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvcHl0aG9u L2xpYi9nZGIvRnJhbWVXcmFwcGVyLnB5CTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICsw MjAwCiBAQCAtMCwwICsxLDExMiBAQAogKyMgV3JhcHBlciBBUEkgZm9yIGZyYW1lcy4KICsKQEAg LTY1MjgsMTEgKzY1MjYsMTAgQEAgaW5kZXggMDAwMDAwMC4uYjc5MGE1NAogKwogKyAgICBkZWYg X19nZXRhdHRyX18gKHNlbGYsIG5hbWUpOgogKyAgICAgICAgcmV0dXJuIGdldGF0dHIgKHNlbGYu ZnJhbWUsIG5hbWUpCi1kaWZmIC0tZ2l0IGEvZ2RiL3B5dGhvbi9saWIvZ2RiL2JhY2t0cmFjZS5w eSBiL2dkYi9weXRob24vbGliL2dkYi9iYWNrdHJhY2UucHkKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0 Ci1pbmRleCAwMDAwMDAwLi42YmI0ZmIxCi0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIvcHl0aG9u L2xpYi9nZGIvYmFja3RyYWNlLnB5CitJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvcHl0 aG9uL2xpYi9nZGIvYmFja3RyYWNlLnB5Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxsCTE5NzAt MDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKysgZ2RiLTcuMi45MC4yMDExMDQyOS9n ZGIvcHl0aG9uL2xpYi9nZGIvYmFja3RyYWNlLnB5CTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAw MDAwICswMjAwCiBAQCAtMCwwICsxLDQyIEBACiArIyBGaWx0ZXJpbmcgYmFja3RyYWNlLgogKwpA QCAtNjU3NiwxMSArNjU3MywxMCBAQCBpbmRleCAwMDAwMDAwLi42YmI0ZmIxCiArICAgICAgICBy ZXR1cm4gaXRlcgogKyAgICByZXR1cm4gZnJhbWVfZmlsdGVyIChpdGVyKQogKwotZGlmZiAtLWdp dCBhL2dkYi9weXRob24vbGliL2dkYi9jb21tYW5kL2FsaWFzLnB5IGIvZ2RiL3B5dGhvbi9saWIv Z2RiL2NvbW1hbmQvYWxpYXMucHkKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAw Li45NmI2NjE4Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFu ZC9hbGlhcy5weQorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3B5dGhvbi9saWIvZ2Ri L2NvbW1hbmQvYWxpYXMucHkKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAw MDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9weXRo b24vbGliL2dkYi9jb21tYW5kL2FsaWFzLnB5CTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAw ICswMjAwCiBAQCAtMCwwICsxLDU5IEBACiArIyBBbGlhcyBjb21tYW5kLgogKwpAQCAtNjY0MSwx MSArNjYzNywxMCBAQCBpbmRleCAwMDAwMDAwLi45NmI2NjE4CiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAiVGhpcyBjb21tYW5kIGlzIGFuIGFsaWFzIGZvciAnJXMnLiIgJSB0YXJnZXQp CiArCiArQWxpYXNDb21tYW5kKCkKLWRpZmYgLS1naXQgYS9nZGIvcHl0aG9uL2xpYi9nZGIvY29t bWFuZC9iYWNrdHJhY2UucHkgYi9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC9iYWNrdHJhY2Uu cHkKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi5lZWVhOTA5Ci0tLS0gL2Rl di9udWxsCi0rKysgYi9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC9iYWNrdHJhY2UucHkKK0lu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9weXRob24vbGliL2dkYi9jb21tYW5kL2JhY2t0 cmFjZS5weQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAw MDAwMDAwMCArMDAwMAorKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3B5dGhvbi9saWIvZ2Ri L2NvbW1hbmQvYmFja3RyYWNlLnB5CTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAw CiBAQCAtMCwwICsxLDEwNiBAQAogKyMgTmV3IGJhY2t0cmFjZSBjb21tYW5kLgogKwpAQCAtNjc1 MywxMSArNjc0OCwxMCBAQCBpbmRleCAwMDAwMDAwLi5lZWVhOTA5CiArICAgICAgICAgICAgcGFp clsxXS5kZXNjcmliZSAoc3lzLnN0ZG91dCwgZnVsbCkKICsKICtGaWx0ZXJpbmdCYWNrdHJhY2Uo KQotZGlmZiAtLWdpdCBhL2dkYi9weXRob24vbGliL2dkYi9jb21tYW5kL2lnbm9yZV9lcnJvcnMu cHkgYi9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC9pZ25vcmVfZXJyb3JzLnB5Ci1uZXcgZmls ZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uNmZhNDhmZgotLS0tIC9kZXYvbnVsbAotKysr IGIvZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1hbmQvaWdub3JlX2Vycm9ycy5weQorSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA0MjkvZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1hbmQvaWdub3JlX2Vycm9y cy5weQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAw MDAwMCArMDAwMAorKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3B5dGhvbi9saWIvZ2RiL2Nv bW1hbmQvaWdub3JlX2Vycm9ycy5weQkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIw MAogQEAgLTAsMCArMSwzNyBAQAogKyMgSWdub3JlIGVycm9ycyBpbiB1c2VyIGNvbW1hbmRzLgog KwpAQCAtNjc5NiwxMSArNjc5MCwxMCBAQCBpbmRleCAwMDAwMDAwLi42ZmE0OGZmCiArICAgICAg ICAgICAgcGFzcwogKwogK0lnbm9yZUVycm9yc0NvbW1hbmQgKCkKLWRpZmYgLS1naXQgYS9nZGIv cHl0aG9uL2xpYi9nZGIvY29tbWFuZC9wYWhvbGUucHkgYi9nZGIvcHl0aG9uL2xpYi9nZGIvY29t bWFuZC9wYWhvbGUucHkKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi4yMWEw YmYwCi0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC9wYWhv bGUucHkKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9weXRob24vbGliL2dkYi9jb21t YW5kL3BhaG9sZS5weQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAw OjAwLjAwMDAwMDAwMCArMDAwMAorKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3B5dGhvbi9s aWIvZ2RiL2NvbW1hbmQvcGFob2xlLnB5CTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICsw MjAwCiBAQCAtMCwwICsxLDc1IEBACiArIyBwYWhvbGUgY29tbWFuZCBmb3IgZ2RiCiArCkBAIC02 ODc3LDExICs2ODcwLDEwIEBAIGluZGV4IDAwMDAwMDAuLjIxYTBiZjAKICsgICAgICAgIHNlbGYu cGFob2xlICh0eXBlLCAwLCAnJykKICsKICtQYWhvbGUoKQotZGlmZiAtLWdpdCBhL2dkYi9weXRo b24vbGliL2dkYi9jb21tYW5kL3JlcXVpcmUucHkgYi9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFu ZC9yZXF1aXJlLnB5Ci1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uMWZiYzFl OAotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1hbmQvcmVxdWly ZS5weQorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1h bmQvcmVxdWlyZS5weQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAw OjAwLjAwMDAwMDAwMCArMDAwMAorKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3B5dGhvbi9s aWIvZ2RiL2NvbW1hbmQvcmVxdWlyZS5weQkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCAr MDIwMAogQEAgLTAsMCArMSw1NyBAQAogKyMgRGVtYW5kLWxvYWRpbmcgY29tbWFuZHMuCiArCkBA IC02OTQwLDExICs2OTMyLDEwIEBAIGluZGV4IDAwMDAwMDAuLjFmYmMxZTgKICtSZXF1aXJlQ29t bWFuZCgpCiArUmVxdWlyZVN1YmNvbW1hbmQoImNvbW1hbmQiKQogK1JlcXVpcmVTdWJjb21tYW5k KCJmdW5jdGlvbiIpCi1kaWZmIC0tZ2l0IGEvZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1hbmQvdXB0 by5weSBiL2dkYi9weXRob24vbGliL2dkYi9jb21tYW5kL3VwdG8ucHkKLW5ldyBmaWxlIG1vZGUg MTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi5mYWY1NGVkCi0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIv cHl0aG9uL2xpYi9nZGIvY29tbWFuZC91cHRvLnB5CitJbmRleDogZ2RiLTcuMi45MC4yMDExMDQy OS9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC91cHRvLnB5Cis9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gL2Rl di9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKysgZ2RiLTcuMi45 MC4yMDExMDQyOS9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC91cHRvLnB5CTIwMTEtMDQtMjkg MDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDEyOSBAQAogKyMgdXB0byBjb21t YW5kLgogKwpAQCAtNzA3NSwxOCArNzA2NiwxNiBAQCBpbmRleCAwMDAwMDAwLi5mYWY1NGVkCiAr VXB0b1NvdXJjZUNvbW1hbmQgKCkKICtVcHRvT2JqZWN0Q29tbWFuZCAoKQogK1VwdG9XaGVyZUNv bW1hbmQgKCkKLWRpZmYgLS1naXQgYS9nZGIvcHl0aG9uL2xpYi9nZGIvZnVuY3Rpb24vX19pbml0 X18ucHkgYi9nZGIvcHl0aG9uL2xpYi9nZGIvZnVuY3Rpb24vX19pbml0X18ucHkKLW5ldyBmaWxl IG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi44YjEzNzg5Ci0tLS0gL2Rldi9udWxsCi0rKysg Yi9nZGIvcHl0aG9uL2xpYi9nZGIvZnVuY3Rpb24vX19pbml0X18ucHkKK0luZGV4OiBnZGItNy4y LjkwLjIwMTEwNDI5L2dkYi9weXRob24vbGliL2dkYi9mdW5jdGlvbi9fX2luaXRfXy5weQorPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQorLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAw MAorKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3B5dGhvbi9saWIvZ2RiL2Z1bmN0aW9uL19f aW5pdF9fLnB5CTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsx IEBACiArCi1kaWZmIC0tZ2l0IGEvZ2RiL3B5dGhvbi9saWIvZ2RiL2Z1bmN0aW9uL2NhbGxlcl9p cy5weSBiL2dkYi9weXRob24vbGliL2dkYi9mdW5jdGlvbi9jYWxsZXJfaXMucHkKLW5ldyBmaWxl IG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi4yYjljNWM3Ci0tLS0gL2Rldi9udWxsCi0rKysg Yi9nZGIvcHl0aG9uL2xpYi9nZGIvZnVuY3Rpb24vY2FsbGVyX2lzLnB5CitJbmRleDogZ2RiLTcu Mi45MC4yMDExMDQyOS9nZGIvcHl0aG9uL2xpYi9nZGIvZnVuY3Rpb24vY2FsbGVyX2lzLnB5Cis9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICsw MDAwCisrKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvcHl0aG9uL2xpYi9nZGIvZnVuY3Rpb24v Y2FsbGVyX2lzLnB5CTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCiBAQCAtMCww ICsxLDU4IEBACiArIyBDYWxsZXItaXMgZnVuY3Rpb25zLgogKwpAQCAtNzE0NiwxMSArNzEzNSwx MCBAQCBpbmRleCAwMDAwMDAwLi4yYjljNWM3CiArCiArQ2FsbGVySXMoKQogK0NhbGxlck1hdGNo ZXMoKQotZGlmZiAtLWdpdCBhL2dkYi9weXRob24vbGliL2dkYi9mdW5jdGlvbi9pbl9zY29wZS5w eSBiL2dkYi9weXRob24vbGliL2dkYi9mdW5jdGlvbi9pbl9zY29wZS5weQotbmV3IGZpbGUgbW9k ZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLmRlYmIzYmIKLS0tLSAvZGV2L251bGwKLSsrKyBiL2dk Yi9weXRob24vbGliL2dkYi9mdW5jdGlvbi9pbl9zY29wZS5weQorSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA0MjkvZ2RiL3B5dGhvbi9saWIvZ2RiL2Z1bmN0aW9uL2luX3Njb3BlLnB5Cis9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisr KysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvcHl0aG9uL2xpYi9nZGIvZnVuY3Rpb24vaW5fc2Nv cGUucHkJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsNDcg QEAKICsjIEluLXNjb3BlIGZ1bmN0aW9uLgogKwpAQCAtNzE5OSwxMCArNzE4NywxMCBAQCBpbmRl eCAwMDAwMDAwLi5kZWJiM2JiCiArCXJldHVybiB3YW50ZWQgPT0gZm91bmQKICsKICtJblNjb3Bl ICgpCi1kaWZmIC0tZ2l0IGEvZ2RiL3B5dGhvbi9weS10eXBlLmMgYi9nZGIvcHl0aG9uL3B5LXR5 cGUuYwotaW5kZXggYzAxMDQyMC4uM2Y0YTI2MSAxMDA2NDQKLS0tLSBhL2dkYi9weXRob24vcHkt dHlwZS5jCi0rKysgYi9nZGIvcHl0aG9uL3B5LXR5cGUuYworSW5kZXg6IGdkYi03LjIuOTAuMjAx MTA0MjkvZ2RiL3B5dGhvbi9weS10eXBlLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIw MTEwNDI5Lm9yaWcvZ2RiL3B5dGhvbi9weS10eXBlLmMJMjAxMS0wMS0yNiAyMTo1Mzo0NS4wMDAw MDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9weXRob24vcHktdHlwZS5j CTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCiBAQCAtMjksNiArMjksOCBAQAog ICNpbmNsdWRlICJsYW5ndWFnZS5oIgogICNpbmNsdWRlICJ2ZWMuaCIKQEAgLTcyMzMsNyArNzIy MSw3IEBAIGluZGV4IGMwMTA0MjAuLjNmNGEyNjEgMTAwNjQ0CiAgc3RhdGljIFB5VHlwZU9iamVj dCB0eXBlX29iamVjdF90eXBlOwogIAogIC8qIEEgRmllbGQgb2JqZWN0LiAgKi8KLUBAIC05MTks OCArOTI5LDYzIEBAIHR5cHlfcmljaGNvbXBhcmUgKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAq b3RoZXIsIGludCBvcCkKK0BAIC05MTksOCArOTI5LDYzIEBAIHR5cHlfcmljaGNvbXBhcmUgKFB5 T2JqZWN0ICpzZWxmLCBQeU9iamUKICAKICAMCiAgCkBAIC03Mjk3LDcgKzcyODUsNyBAQCBpbmRl eCBjMDEwNDIwLi4zZjRhMjYxIDEwMDY0NAogIHN0YXRpYyB2b2lkCiAgc2F2ZV9vYmpmaWxlX3R5 cGVzIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwgdm9pZCAqZGF0dW0pCiAgewotQEAgLTkzOCwx MiArMTAwMywxMyBAQCBzYXZlX29iamZpbGVfdHlwZXMgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxl LCB2b2lkICpkYXR1bSkKK0BAIC05MzgsMTIgKzEwMDMsMTMgQEAgc2F2ZV9vYmpmaWxlX3R5cGVz IChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZgogICAgICB7CiAgICAgICAgdHlwZV9vYmplY3QgKm5leHQg PSBvYmotPm5leHQ7CiAgCkBAIC03MzE1LDcgKzczMDMsNyBAQCBpbmRleCBjMDEwNDIwLi4zZjRh MjYxIDEwMDY0NAogIAogICAgICAgIG9iaiA9IG5leHQ7CiAgICAgIH0KLUBAIC05NTQsNDMgKzEw MjAsMjggQEAgc2F2ZV9vYmpmaWxlX3R5cGVzIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwgdm9p ZCAqZGF0dW0pCitAQCAtOTU0LDQzICsxMDIwLDI4IEBAIHNhdmVfb2JqZmlsZV90eXBlcyAoc3Ry dWN0IG9iamZpbGUgKm9iamYKICB9CiAgCiAgc3RhdGljIHZvaWQKQEAgLTczMjcsOCArNzMxNSw3 IEBAIGluZGV4IGMwMTA0MjAuLjNmNGEyNjEgMTAwNjQ0CiAtICBpZiAodHlwZSAmJiBUWVBFX09C SkZJTEUgKHR5cGUpKQogLSAgICB7CiAtICAgICAgc3RydWN0IG9iamZpbGUgKm9iamZpbGUgPSBU WVBFX09CSkZJTEUgKHR5cGUpOwotKyAgdHlwZV9vYmplY3QgKnR5cGVfb2JqID0gKHR5cGVfb2Jq ZWN0ICopIG9iajsKLSAKKy0KIC0gICAgICBvYmotPm5leHQgPSBvYmpmaWxlX2RhdGEgKG9iamZp bGUsIHR5cHlfb2JqZmlsZV9kYXRhX2tleSk7CiAtICAgICAgaWYgKG9iai0+bmV4dCkKIC0Jb2Jq LT5uZXh0LT5wcmV2ID0gb2JqOwpAQCAtNzMzNiw2ICs3MzIzLDggQEAgaW5kZXggYzAxMDQyMC4u M2Y0YTI2MSAxMDA2NDQKIC0gICAgfQogLSAgZWxzZQogLSAgICBvYmotPm5leHQgPSBOVUxMOwor KyAgdHlwZV9vYmplY3QgKnR5cGVfb2JqID0gKHR5cGVfb2JqZWN0ICopIG9iajsKKysKICsgIHR5 cHlfdW5saW5rICh0eXBlX29iaik7CiArCiArICB0eXBlX29iai0+b2JfdHlwZS0+dHBfZnJlZSAo b2JqKTsKQEAgLTczOTYsMTAgKzczODUsMTAgQEAgaW5kZXggYzAxMDQyMC4uM2Y0YTI2MSAxMDA2 NDQKICB9CiAgCiAgDAotZGlmZiAtLWdpdCBhL2dkYi9weXRob24vcHktdmFsdWUuYyBiL2dkYi9w eXRob24vcHktdmFsdWUuYwotaW5kZXggNDM4MWQ1Mi4uNWRmZjNlMiAxMDA2NDQKLS0tLSBhL2dk Yi9weXRob24vcHktdmFsdWUuYwotKysrIGIvZ2RiL3B5dGhvbi9weS12YWx1ZS5jCitJbmRleDog Z2RiLTcuMi45MC4yMDExMDQyOS9nZGIvcHl0aG9uL3B5LXZhbHVlLmMKKz09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0t LSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL3B5dGhvbi9weS12YWx1ZS5jCTIwMTEtMDMt MTggMTc6MDk6NTcuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIv cHl0aG9uL3B5LXZhbHVlLmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKIEBA IC0yOCw2ICsyOCw3IEBACiAgI2luY2x1ZGUgImluZmNhbGwuaCIKICAjaW5jbHVkZSAiZXhwcmVz c2lvbi5oIgpAQCAtNzQzOSwxMCArNzQyOCwxMCBAQCBpbmRleCA0MzgxZDUyLi41ZGZmM2UyIDEw MDY0NAogIH0KICAKICAMCi1kaWZmIC0tZ2l0IGEvZ2RiL3B5dGhvbi9weXRob24uYyBiL2dkYi9w eXRob24vcHl0aG9uLmMKLWluZGV4IDkwZDVkYzguLmVjNDgyM2UgMTAwNjQ0Ci0tLS0gYS9nZGIv cHl0aG9uL3B5dGhvbi5jCi0rKysgYi9nZGIvcHl0aG9uL3B5dGhvbi5jCitJbmRleDogZ2RiLTcu Mi45MC4yMDExMDQyOS9nZGIvcHl0aG9uL3B5dGhvbi5jCis9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcu Mi45MC4yMDExMDQyOS5vcmlnL2dkYi9weXRob24vcHl0aG9uLmMJMjAxMS0wMy0xOCAwOTo0NDo0 Ny4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9weXRob24vcHl0 aG9uLmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKIEBAIC00OSw4ICs0OSwx MSBAQCBzdGF0aWMgaW50IGdkYnB5X3Nob3VsZF9wcmludF9zdGFjayA9IDE7CiAgI2luY2x1ZGUg ImxpbmVzcGVjLmgiCiAgI2luY2x1ZGUgInNvdXJjZS5oIgpAQCAtNzUxOCwxMSArNzUwNywxMSBA QCBpbmRleCA5MGQ1ZGM4Li5lYzQ4MjNlIDEwMDY0NAogICAgeyAicGFyYW1ldGVyIiwgZ2RicHlf cGFyYW1ldGVyLCBNRVRIX1ZBUkFSR1MsCiAgICAgICJSZXR1cm4gYSBnZGIgcGFyYW1ldGVyJ3Mg dmFsdWUiIH0sCiAgCi1kaWZmIC0tZ2l0IGEvZ2RiL3B5dGhvbi9weXRob24uaCBiL2dkYi9weXRo b24vcHl0aG9uLmgKLWluZGV4IGNlMGViMzUuLjE0NTcyZjQgMTAwNjQ0Ci0tLS0gYS9nZGIvcHl0 aG9uL3B5dGhvbi5oCi0rKysgYi9nZGIvcHl0aG9uL3B5dGhvbi5oCi1AQCAtMzIsNiArMzIsOCBA QCB2b2lkIGV2YWxfcHl0aG9uX2Zyb21fY29udHJvbF9jb21tYW5kIChzdHJ1Y3QgY29tbWFuZF9s aW5lICopOworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3B5dGhvbi9weXRob24uaAor PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvcHl0aG9uL3B5dGhv bi5oCTIwMTEtMDMtMTQgMTc6MDk6NTQuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4y MDExMDQyOS9nZGIvcHl0aG9uL3B5dGhvbi5oCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAw ICswMjAwCitAQCAtMzIsNiArMzIsOCBAQCB2b2lkIGV2YWxfcHl0aG9uX2Zyb21fY29udHJvbF9j b21tYW5kIChzCiAgCiAgdm9pZCBzb3VyY2VfcHl0aG9uX3NjcmlwdCAoRklMRSAqc3RyZWFtLCBj b25zdCBjaGFyICpmaWxlKTsKICAKQEAgLTc1MzEsMTEgKzc1MjAsMTEgQEAgaW5kZXggY2UwZWIz NS4uMTQ1NzJmNCAxMDA2NDQKICBpbnQgYXBwbHlfdmFsX3ByZXR0eV9wcmludGVyIChzdHJ1Y3Qg dHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCiAgCQkJICAgICAgaW50IGVtYmVk ZGVkX29mZnNldCwgQ09SRV9BRERSIGFkZHJlc3MsCiAgCQkJICAgICAgc3RydWN0IHVpX2ZpbGUg KnN0cmVhbSwgaW50IHJlY3Vyc2UsCi1kaWZmIC0tZ2l0IGEvZ2RiL3NvbXJlYWQuYyBiL2dkYi9z b21yZWFkLmMKLWluZGV4IDcwODMxYTAuLmJhZjY4ZWEgMTAwNjQ0Ci0tLS0gYS9nZGIvc29tcmVh ZC5jCi0rKysgYi9nZGIvc29tcmVhZC5jCi1AQCAtNDM5LDYgKzQzOSw3IEBAIHN0YXRpYyBjb25z dCBzdHJ1Y3Qgc3ltX2ZucyBzb21fc3ltX2ZucyA9CitJbmRleDogZ2RiLTcuMi45MC4yMDExMDQy OS9nZGIvc29tcmVhZC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmln L2dkYi9zb21yZWFkLmMJMjAxMS0wMy0wNyAxNzoxNzoyOS4wMDAwMDAwMDAgKzAxMDAKKysrKyBn ZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9zb21yZWFkLmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAw MDAwMDAgKzAyMDAKK0BAIC00MzksNiArNDM5LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBzeW1f Zm5zIHNvbV9zeW1fZm5zIAogICAgZGVmYXVsdF9zeW1maWxlX3NlZ21lbnRzLAkvKiBHZXQgc2Vn bWVudCBpbmZvcm1hdGlvbiBmcm9tIGEgZmlsZS4gICovCiAgICBOVUxMLAogICAgZGVmYXVsdF9z eW1maWxlX3JlbG9jYXRlLAkvKiBSZWxvY2F0ZSBhIGRlYnVnIHNlY3Rpb24uICAqLwpAQCAtNzU0 MywxMSArNzUzMiwxMSBAQCBpbmRleCA3MDgzMWEwLi5iYWY2OGVhIDEwMDY0NAogICAgJnBzeW1f ZnVuY3Rpb25zCiAgfTsKICAKLWRpZmYgLS1naXQgYS9nZGIvc3RhY2suYyBiL2dkYi9zdGFjay5j Ci1pbmRleCAwODg4YjY5Li5jM2VmZDViIDEwMDY0NAotLS0tIGEvZ2RiL3N0YWNrLmMKLSsrKyBi L2dkYi9zdGFjay5jCi1AQCAtMzY2LDYgKzM2Niw3IEBAIHByaW50X2ZyYW1lX2FyZ3MgKHN0cnVj dCBzeW1ib2wgKmZ1bmMsIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwKK0luZGV4OiBnZGItNy4y LjkwLjIwMTEwNDI5L2dkYi9zdGFjay5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDEx MDQyOS5vcmlnL2dkYi9zdGFjay5jCTIwMTEtMDMtMTggMTk6NDg6NTYuMDAwMDAwMDAwICswMTAw CisrKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvc3RhY2suYwkyMDExLTA0LTI5IDA5OjQwOjQ2 LjAwMDAwMDAwMCArMDIwMAorQEAgLTM2Niw2ICszNjYsNyBAQCBwcmludF9mcmFtZV9hcmdzIChz dHJ1Y3Qgc3ltYm9sICpmdW5jLCBzCiAgCSAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGNv bnN0IHN0cnVjdCBsYW5ndWFnZV9kZWZuICpsYW5ndWFnZTsKICAJCSAgc3RydWN0IHZhbHVlX3By aW50X29wdGlvbnMgb3B0czsKQEAgLTc1NTUsNyArNzU0NCw3IEBAIGluZGV4IDA4ODhiNjkuLmMz ZWZkNWIgMTAwNjQ0CiAgCiAgICAgICAgICAgICAgICAgICAgLyogVXNlIHRoZSBhcHByb3ByaWF0 ZSBsYW5ndWFnZSB0byBkaXNwbGF5IG91ciBzeW1ib2wsCiAgICAgICAgICAgICAgICAgICAgICAg dW5sZXNzIHRoZSB1c2VyIGZvcmNlZCB0aGUgbGFuZ3VhZ2UgdG8gYSBzcGVjaWZpYwotQEAgLTM3 OCw3ICszNzksMTMgQEAgcHJpbnRfZnJhbWVfYXJncyAoc3RydWN0IHN5bWJvbCAqZnVuYywgc3Ry dWN0IGZyYW1lX2luZm8gKmZyYW1lLAorQEAgLTM3OCw3ICszNzksMTMgQEAgcHJpbnRfZnJhbWVf YXJncyAoc3RydWN0IHN5bWJvbCAqZnVuYywgcwogIAkJICBnZXRfcmF3X3ByaW50X29wdGlvbnMg KCZvcHRzKTsKICAJCSAgb3B0cy5kZXJlZl9yZWYgPSAwOwogIAkJICBvcHRzLnN1bW1hcnkgPSBz dW1tYXJ5OwpAQCAtNzU2OSwxMSArNzU1OCwxMCBAQCBpbmRleCAwODg4YjY5Li5jM2VmZDViIDEw MDY0NAogIAkJICB1aV9vdXRfZmllbGRfc3RyZWFtICh1aW91dCwgInZhbHVlIiwgc3RiKTsKICAJ ICAgICAgICB9CiAgCSAgICAgIGVsc2UKLWRpZmYgLS1naXQgYS9nZGIvc3RhcC1wcm9iZS5jIGIv Z2RiL3N0YXAtcHJvYmUuYwotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLjgz NmQ5MDQKLS0tLSAvZGV2L251bGwKLSsrKyBiL2dkYi9zdGFwLXByb2JlLmMKK0luZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNDI5L2dkYi9zdGFwLXByb2JlLmMKKz09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251 bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4yLjkwLjIw MTEwNDI5L2dkYi9zdGFwLXByb2JlLmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAy MDAKIEBAIC0wLDAgKzEsMjA0MSBAQAogKy8qIFN5c3RlbVRhcCBwcm9iZSBzdXBwb3J0IGZvciBH REIuCiArCkBAIC05NjE2LDExICs5NjA0LDEwIEBAIGluZGV4IDAwMDAwMDAuLjgzNmQ5MDQKICsg IGNyZWF0ZV9pbnRlcm5hbHZhcl90eXBlX2xhenkgKCJfcHJvYmVfYXJnOSIsICZwcm9iZV9mdW5j cywKICsJCQkJKHZvaWQgKikgKHVpbnRwdHJfdCkgOSk7CiArfQotZGlmZiAtLWdpdCBhL2dkYi9z dGFwLXByb2JlLmggYi9nZGIvc3RhcC1wcm9iZS5oCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5k ZXggMDAwMDAwMC4uMzkxZDk2ZgotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2RiL3N0YXAtcHJvYmUu aAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3N0YXAtcHJvYmUuaAorPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQorLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAorKysr IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3N0YXAtcHJvYmUuaAkyMDExLTA0LTI5IDA5OjQwOjQ2 LjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSwxMDkgQEAKICsvKiBTeXN0ZW1UYXAgcHJvYmUg c3VwcG9ydCBmb3IgR0RCLgogKwpAQCAtOTczMSwxMCArOTcxOCwxMCBAQCBpbmRleCAwMDAwMDAw Li4zOTFkOTZmCiArCQkJCQkgICAgICAgaW50IG4pOwogKwogKyNlbmRpZiAvKiAhZGVmaW5lZCAo U1RBUF9QUk9CRV9IKSAqLwotZGlmZiAtLWdpdCBhL2dkYi9zeW1maWxlLmggYi9nZGIvc3ltZmls ZS5oCi1pbmRleCBhMDE1MWVhLi43NTJjNDZhIDEwMDY0NAotLS0tIGEvZ2RiL3N5bWZpbGUuaAot KysrIGIvZ2RiL3N5bWZpbGUuaAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3N5bWZp bGUuaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvc3ltZmls ZS5oCTIwMTEtMDQtMjUgMjM6MjU6MTguMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4y MDExMDQyOS9nZGIvc3ltZmlsZS5oCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAw CiBAQCAtMzEsNiArMzEsMTEgQEAgc3RydWN0IG9iamZpbGU7CiAgc3RydWN0IG9ial9zZWN0aW9u OwogIHN0cnVjdCBvYnN0YWNrOwpAQCAtOTc0Nyw3ICs5NzM0LDcgQEAgaW5kZXggYTAxNTFlYS4u NzUyYzQ2YSAxMDA2NDQKICAKICAvKiBDb21wYXJpc29uIGZ1bmN0aW9uIGZvciBzeW1ib2wgbG9v ayB1cHMuICAqLwogIAotQEAgLTI5Niw2ICszMDEsNTIgQEAgc3RydWN0IHF1aWNrX3N5bWJvbF9m dW5jdGlvbnMKK0BAIC0yOTAsNiArMjk1LDUyIEBAIHN0cnVjdCBxdWlja19zeW1ib2xfZnVuY3Rp b25zCiAgCQkJCXZvaWQgKmRhdGEpOwogIH07CiAgCkBAIC05ODAwLDcgKzk3ODcsNyBAQCBpbmRl eCBhMDE1MWVhLi43NTJjNDZhIDEwMDY0NAogIC8qIFN0cnVjdHVyZSB0byBrZWVwIHRyYWNrIG9m IHN5bWJvbCByZWFkaW5nIGZ1bmN0aW9ucyBmb3IgdmFyaW91cwogICAgIG9iamVjdCBmaWxlIHR5 cGVzLiAgKi8KICAKLUBAIC0zNjYsNiArNDE3LDEwIEBAIHN0cnVjdCBzeW1fZm5zCitAQCAtMzYw LDYgKzQxMSwxMCBAQCBzdHJ1Y3Qgc3ltX2ZucwogIAogICAgYmZkX2J5dGUgKigqc3ltX3JlbG9j YXRlKSAoc3RydWN0IG9iamZpbGUgKiwgYXNlY3Rpb24gKnNlY3RwLCBiZmRfYnl0ZSAqYnVmKTsK ICAKQEAgLTk4MTEsMTAgKzk3OTgsMTAgQEAgaW5kZXggYTAxNTFlYS4uNzUyYzQ2YSAxMDA2NDQK ICAgIC8qIFRoZSAicXVpY2siIChha2EgcGFydGlhbCkgc3ltYm9sIGZ1bmN0aW9ucyBmb3IgdGhp cyBzeW1ib2wKICAgICAgIHJlYWRlci4gICovCiAgICBjb25zdCBzdHJ1Y3QgcXVpY2tfc3ltYm9s X2Z1bmN0aW9ucyAqcWY7Ci1kaWZmIC0tZ2l0IGEvZ2RiL3N5bXRhYi5jIGIvZ2RiL3N5bXRhYi5j Ci1pbmRleCA4YWE2OTJkLi4wYmNiYmY3IDEwMDY0NAotLS0tIGEvZ2RiL3N5bXRhYi5jCi0rKysg Yi9nZGIvc3ltdGFiLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9zeW10YWIuYwor PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvc3ltdGFiLmMJMjAx MS0wNC0yMCAyMjoxMDoyOS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNDI5 L2dkYi9zeW10YWIuYwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAogQEAgLTc3 MCw2ICs3NzAsNyBAQCBpbml0X3NhbCAoc3RydWN0IHN5bXRhYl9hbmRfbGluZSAqc2FsKQogICAg c2FsLT5lbmQgPSAwOwogICAgc2FsLT5leHBsaWNpdF9wYyA9IDA7CkBAIC05ODIzLDExICs5ODEw LDExIEBAIGluZGV4IDhhYTY5MmQuLjBiY2JiZjcgMTAwNjQ0CiAgfQogIAwKICAKLWRpZmYgLS1n aXQgYS9nZGIvc3ltdGFiLmggYi9nZGIvc3ltdGFiLmgKLWluZGV4IGFiZTVlODYuLjYyMzlmN2Yg MTAwNjQ0Ci0tLS0gYS9nZGIvc3ltdGFiLmgKLSsrKyBiL2dkYi9zeW10YWIuaAotQEAgLTExMDks NiArMTEwOSwxMCBAQCBzdHJ1Y3Qgc3ltdGFiX2FuZF9saW5lCitJbmRleDogZ2RiLTcuMi45MC4y MDExMDQyOS9nZGIvc3ltdGFiLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNDI5 Lm9yaWcvZ2RiL3N5bXRhYi5oCTIwMTEtMDQtMjAgMjI6MTA6MjkuMDAwMDAwMDAwICswMjAwCisr KysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvc3ltdGFiLmgJMjAxMS0wNC0yOSAwOTo0MDo0Ni4w MDAwMDAwMDAgKzAyMDAKK0BAIC0xMTEyLDYgKzExMTIsMTAgQEAgc3RydWN0IHN5bXRhYl9hbmRf bGluZQogICAgQ09SRV9BRERSIGVuZDsKICAgIGludCBleHBsaWNpdF9wYzsKICAgIGludCBleHBs aWNpdF9saW5lOwpAQCAtOTgzOCwxMSArOTgyNSwxMCBAQCBpbmRleCBhYmU1ZTg2Li42MjM5Zjdm IDEwMDY0NAogIH07CiAgCiAgZXh0ZXJuIHZvaWQgaW5pdF9zYWwgKHN0cnVjdCBzeW10YWJfYW5k X2xpbmUgKnNhbCk7Ci1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQt dmxhLXBvaW50ZXItZm9vLlMgYi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtcG9p bnRlci1mb28uUwotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLjgzZmFhZjYK LS0tLSAvZGV2L251bGwKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS1w b2ludGVyLWZvby5TCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dk Yi5hcmNoL3g4Nl82NC12bGEtcG9pbnRlci1mb28uUworPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVs bAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAorKysrIGdkYi03LjIuOTAuMjAx MTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXItZm9vLlMJMjAx MS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsNDU3IEBACiArCS5m aWxlCSJ4ODZfNjQtdmxhLXBvaW50ZXIuYyIKICsJLnNlY3Rpb24JLmRlYnVnX2FiYnJldiwiIixA cHJvZ2JpdHMKQEAgLTEwMzAxLDExICsxMDI4NywxMCBAQCBpbmRleCAwMDAwMDAwLi44M2ZhYWY2 CiArCS5zdHJpbmcJIkdOVSBDIDQuMy4yIDIwMDgxMTA1IChSZWQgSGF0IDQuMy4yLTcpIgogKwku aWRlbnQJIkdDQzogKEdOVSkgNC4zLjIgMjAwODExMDUgKFJlZCBIYXQgNC4zLjItNykiCiArCS5z ZWN0aW9uCS5ub3RlLkdOVS1zdGFjaywiIixAcHJvZ2JpdHMKLWRpZmYgLS1naXQgYS9nZGIvdGVz dHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtcG9pbnRlci5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu YXJjaC94ODZfNjQtdmxhLXBvaW50ZXIuYwotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAw MDAwMDAuLmZlMmM4ZjcKLS0tLSAvZGV2L251bGwKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFy Y2gveDg2XzY0LXZsYS1wb2ludGVyLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90 ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS1wb2ludGVyLmMKKz09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAv ZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4y LjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS1wb2ludGVyLmMJ MjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsNDMgQEAKICsv KiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAt MTAzNTAsMTEgKzEwMzM1LDEwIEBAIGluZGV4IDAwMDAwMDAuLmZlMmM4ZjcKICt9CiArCiArI2Vu ZGlmCi1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50 ZXIuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXIuZXhwCi1u ZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uZDI0M2NmMQotLS0tIC9kZXYvbnVs bAotKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXIuZXhwCitJ bmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12 bGEtcG9pbnRlci5leHAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDow MDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3Vp dGUvZ2RiLmFyY2gveDg2XzY0LXZsYS1wb2ludGVyLmV4cAkyMDExLTA0LTI5IDA5OjQwOjQ2LjAw MDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw2NiBAQAogKyMgQ29weXJpZ2h0IDIwMDkgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0xMDQyMiwxMSArMTA0MDYsMTAgQEAgaW5k ZXggMDAwMDAwMC4uZDI0M2NmMQogKwogK2dkYl90ZXN0ICJ3aGF0aXMgKmFycmF5IiAidHlwZSA9 IGNoYXIgXFxcWzc4XFxcXSIgInNlY29uZDogd2hhdGlzICphcnJheSIKICtnZGJfdGVzdCAicHR5 cGUgKmFycmF5IiAidHlwZSA9IGNoYXIgXFxcWzc4XFxcXSIgInNlY29uZDogcHR5cGUgKmFycmF5 IgotZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVm LWZvby5TIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXR5cGVkZWYtZm9vLlMK LW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi42NmY3YTM5Ci0tLS0gL2Rldi9u dWxsCi0rKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtdHlwZWRlZi1mb28u UworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZf NjQtdmxhLXR5cGVkZWYtZm9vLlMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwJMTk3MC0wMS0w MSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90 ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLWZvby5TCTIwMTEtMDQtMjkgMDk6 NDA6NDYuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDQ1NSBAQAogKwkuZmlsZQkieDg2XzY0 LXZsYS10eXBlZGVmLmMiCiArCS5zZWN0aW9uCS5kZWJ1Z19hYmJyZXYsIiIsQHByb2diaXRzCkBA IC0xMDg4MywxMSArMTA4NjYsMTAgQEAgaW5kZXggMDAwMDAwMC4uNjZmN2EzOQogKwkuc3RyaW5n CSJHTlUgQyA0LjMuMiAyMDA4MTEwNSAoUmVkIEhhdCA0LjMuMi03KSIKICsJLmlkZW50CSJHQ0M6 IChHTlUpIDQuMy4yIDIwMDgxMTA1IChSZWQgSGF0IDQuMy4yLTcpIgogKwkuc2VjdGlvbgkubm90 ZS5HTlUtc3RhY2ssIiIsQHByb2diaXRzCi1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu YXJjaC94ODZfNjQtdmxhLXR5cGVkZWYuYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0 LXZsYS10eXBlZGVmLmMKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi5iODA5 YzRlCi0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12 bGEtdHlwZWRlZi5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dk Yi5hcmNoL3g4Nl82NC12bGEtdHlwZWRlZi5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxsCTE5 NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKysgZ2RiLTcuMi45MC4yMDExMDQy OS9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtdHlwZWRlZi5jCTIwMTEtMDQtMjkg MDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDQzIEBACiArLyogVGhpcyB0ZXN0 Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAgLTEwOTMyLDExICsx MDkxNCwxMCBAQCBpbmRleCAwMDAwMDAwLi5iODA5YzRlCiArfQogKwogKyNlbmRpZgotZGlmZiAt LWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLmV4cCBiL2dk Yi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLmV4cAotbmV3IGZpbGUgbW9k ZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLmIwNTQxMWUKLS0tLSAvZGV2L251bGwKLSsrKyBiL2dk Yi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLmV4cAorSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXR5cGVkZWYu ZXhwCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAw MDAwICswMDAwCisrKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5hcmNo L3g4Nl82NC12bGEtdHlwZWRlZi5leHAJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAy MDAKIEBAIC0wLDAgKzEsNjQgQEAKICsjIENvcHlyaWdodCAyMDA5IEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgogKwpAQCAtMTEwMDIsMTAgKzEwOTgzLDEwIEBAIGluZGV4IDAwMDAwMDAu LmIwNTQxMWUKICtnZGJfdGVzdCAid2hhdGlzIGFycmF5IiAidHlwZSA9IGFycmF5X3QiICJzZWNv bmQ6IHdoYXRpcyBhcnJheSIKICsKICtnZGJfdGVzdCAicHR5cGUgYXJyYXkiICJ0eXBlID0gY2hh ciBcXFxbNzhcXFxdIiAic2Vjb25kOiBwdHlwZSBhcnJheSIKLWRpZmYgLS1naXQgYS9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL2FycmF5aWR4LmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5 aWR4LmMKLWluZGV4IDZjMTU4YmYuLjczOWNlMzQgMTAwNjQ0Ci0tLS0gYS9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2FycmF5aWR4LmMKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXJyYXlp ZHguYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9h cnJheWlkeC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi90 ZXN0c3VpdGUvZ2RiLmJhc2UvYXJyYXlpZHguYwkyMDExLTAxLTAxIDE2OjMzOjQwLjAwMDAwMDAw MCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9h cnJheWlkeC5jCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCiBAQCAtMTcsNiAr MTcsMTMgQEAKICAKICBpbnQgYXJyYXlbXSA9IHsxLCAyLCAzLCA0fTsKQEAgLTExMDIwLDEwICsx MTAwMSwxMCBAQCBpbmRleCA2YzE1OGJmLi43MzljZTM0IDEwMDY0NAogIGludAogIG1haW4gKHZv aWQpCiAgewotZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXJyYXlpZHguZXhw IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hcnJheWlkeC5leHAKLWluZGV4IGQ4ZWU1YzAuLmRl NGJhNzUgMTAwNjQ0Ci0tLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5aWR4LmV4cAot KysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hcnJheWlkeC5leHAKK0luZGV4OiBnZGItNy4y LjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXJyYXlpZHguZXhwCis9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv YXJyYXlpZHguZXhwCTIwMTEtMDEtMDEgMTY6MzM6NDAuMDAwMDAwMDAwICswMTAwCisrKysgZ2Ri LTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5aWR4LmV4cAkyMDEx LTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAogQEAgLTU3LDQgKzU3LDEyIEBAIGdkYl90 ZXN0ICJwcmludCBhcnJheSIgXAogICAgICAgICAgICJcXHtcXFxbMFxcXF0gPSAxLCBcXFxbMVxc XF0gPSAyLCBcXFxbMlxcXF0gPSAzLCBcXFxbM1xcXF0gPSA0XFx9IiBcCiAgICAgICAgICAgIlBy aW50IGFycmF5IHdpdGggYXJyYXktaW5kZXhlcyBvbiIKQEAgLTExMDM4LDExICsxMTAxOSwxMSBA QCBpbmRleCBkOGVlNWMwLi5kZTRiYTc1IDEwMDY0NAogKwl1bnN1cHBvcnRlZCAiJHRlc3QgKG5v IEdDQykiCiArICAgIH0KICt9Ci1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9k ZWZhdWx0LmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZGVmYXVsdC5leHAKLWluZGV4IGQ1 OGM1MTkuLmFiYjFiMDUgMTAwNjQ0Ci0tLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2RlZmF1 bHQuZXhwCi0rKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2RlZmF1bHQuZXhwCi1AQCAtNjA3 LDYgKzYwNywxNyBAQCBnZGJfdGVzdF9saXN0X2V4YWN0ICJzaG93IGNvbnZlbmllbmNlIiAic2hv dyBjb252ZW5pZW5jZSIgXAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYmFzZS9kZWZhdWx0LmV4cAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA0 Mjkub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2RlZmF1bHQuZXhwCTIwMTEtMDItMTUgMjI6 MTc6NTIuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL2RlZmF1bHQuZXhwCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICsw MjAwCitAQCAtNjA3LDYgKzYwNywxNyBAQCBnZGJfdGVzdF9saXN0X2V4YWN0ICJzaG93IGNvbnZl bmllbmNlIiAiCiAgCXskX3NkYXRhID0gdm9pZH0gXAogIAl7JF9zaWdpbmZvID0gdm9pZH0gXAog IAl7JF90aHJlYWQgPSAwfSBcCkBAIC0xMTA2MCwxMSArMTEwNDEsMTAgQEAgaW5kZXggZDU4YzUx OS4uYWJiMWIwNSAxMDA2NDQKICAgICAgfQogIAogICN0ZXN0IHNob3cgZGlyZWN0b3JpZXMKLWRp ZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ludGVybmFsLXZhci1maWVsZC1hZGRy ZXNzLmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ludGVybmFsLXZhci1maWVsZC1hZGRyZXNz LmMKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi5lZWI3Yjg1Ci0tLS0gL2Rl di9udWxsCi0rKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ludGVybmFsLXZhci1maWVsZC1h ZGRyZXNzLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvaW50ZXJuYWwtdmFyLWZpZWxkLWFkZHJlc3MuYworPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVs bAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAorKysrIGdkYi03LjIuOTAuMjAx MTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9pbnRlcm5hbC12YXItZmllbGQtYWRkcmVzcy5j CTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDIwIEBACiAr LyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAg LTExMDg2LDExICsxMTA2NiwxMCBAQCBpbmRleCAwMDAwMDAwLi5lZWI3Yjg1CiArc3RydWN0IHsK ICsgIGludCBmaWVsZDsKICt9IHN0YXRpY3N0cnVjdCA9IHsgMSB9OwotZGlmZiAtLWdpdCBhL2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvaW50ZXJuYWwtdmFyLWZpZWxkLWFkZHJlc3MuZXhwIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYmFzZS9pbnRlcm5hbC12YXItZmllbGQtYWRkcmVzcy5leHAKLW5ldyBm aWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi42ZDgyZTczCi0tLS0gL2Rldi9udWxsCi0r KysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ludGVybmFsLXZhci1maWVsZC1hZGRyZXNzLmV4 cAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9pbnRl cm5hbC12YXItZmllbGQtYWRkcmVzcy5leHAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwJMTk3 MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNDI5 L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvaW50ZXJuYWwtdmFyLWZpZWxkLWFkZHJlc3MuZXhwCTIw MTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDI2IEBACiArIyBD b3B5cmlnaHQgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTExMTE4 LDExICsxMTA5NywxMCBAQCBpbmRleCAwMDAwMDAwLi42ZDgyZTczCiArCiArZ2RiX3Rlc3Qge3Nl dCAkdmFyc3RydWN0ID0gc3RhdGljc3RydWN0fQogK2dkYl90ZXN0IHtwICR2YXJzdHJ1Y3QuZmll bGR9ICIgPSAxIgotZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc3RhcC1wcm9i ZS5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9zdGFwLXByb2JlLmMKLW5ldyBmaWxlIG1vZGUg MTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi40N2U0YjM5Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL3N0YXAtcHJvYmUuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0 MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9zdGFwLXByb2JlLmMKKz09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAv ZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4y LjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc3RhcC1wcm9iZS5jCTIwMTEtMDQt MjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDY5IEBACiArLyogVGhpcyB0 ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAgLTExMTkzLDEx ICsxMTE3MSwxMCBAQCBpbmRleCAwMDAwMDAwLi40N2U0YjM5CiArICBtMSgpOwogKyAgbTIoKTsK ICt9Ci1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9zdGFwLXByb2JlLmV4cCBi L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc3RhcC1wcm9iZS5leHAKLW5ldyBmaWxlIG1vZGUgMTAw NjQ0Ci1pbmRleCAwMDAwMDAwLi4zZmI3Mzc3Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL3N0YXAtcHJvYmUuZXhwCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDQy OS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3N0YXAtcHJvYmUuZXhwCis9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0g L2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKysgZ2RiLTcu Mi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3N0YXAtcHJvYmUuZXhwCTIwMTEt MDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDcyIEBACiArIyBDb3B5 cmlnaHQgKEMpIDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0xMTI3 MSwxMSArMTEyNDgsMTAgQEAgaW5kZXggMDAwMDAwMC4uM2ZiNzM3NwogKyAgICByZXR1cm4gLTEK ICt9CiArc3RhcF90ZXN0ICItRFVTRV9QUk9CRVMiCi1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYmFzZS92bGEtb3ZlcmZsb3cuYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLW92 ZXJmbG93LmMKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi5jNWQ1ZWUwCi0t LS0gL2Rldi9udWxsCi0rKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS1vdmVyZmxvdy5j CitJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS1v dmVyZmxvdy5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAu MDAwMDAwMDAwICswMDAwCisrKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL3ZsYS1vdmVyZmxvdy5jCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAw CiBAQCAtMCwwICsxLDMwIEBACiArLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhl IEdOVSBkZWJ1Z2dlci4KICsKQEAgLTExMzA3LDExICsxMTI4MywxMCBAQCBpbmRleCAwMDAwMDAw Li5jNWQ1ZWUwCiArCiArICByZXR1cm4gMDsKICt9Ci1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYmFzZS92bGEtb3ZlcmZsb3cuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEt b3ZlcmZsb3cuZXhwCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uMjRhNjA4 ZgotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEtb3ZlcmZs b3cuZXhwCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L3ZsYS1vdmVyZmxvdy5leHAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAw MDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvdmxhLW92ZXJmbG93LmV4cAkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAw MDAwMCArMDIwMAogQEAgLTAsMCArMSwxMDkgQEAKICsjIENvcHlyaWdodCAyMDA4IEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTE0MjIsMTEgKzExMzk3LDEwIEBAIGluZGV4 IDAwMDAwMDAuLjI0YTYwOGYKICtnZGJfdGVzdCAiYnQiICJpbiBcW14gXF0qYWJvcnQgXFwoLiog aW4gbWFpbiBcXCguKiIgIkJhY2t0cmFjZSBhZnRlciBhYm9ydCgpIgogKwogK3ZlcmJvc2UgLWxv ZyAia2JfZm91bmQgaW4gYnQgYWZ0ZXIgYWJvcnQoKSA9IFtleHByIFttZW1vcnlfdl9wYWdlc19n ZXRdICogJHBhZ2VzaXplIC8gMTAyNF0iCi1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS92bGEuYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLmMKLW5ldyBmaWxlIG1vZGUg MTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi5lMWYzZWQxCi0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxsCTE5NzAt MDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKysgZ2RiLTcuMi45MC4yMDExMDQyOS9n ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS5jCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAw ICswMjAwCiBAQCAtMCwwICsxLDU1IEBACiArLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdE QiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAgLTExNDgzLDExICsxMTQ1NywxMCBAQCBpbmRleCAw MDAwMDAwLi5lMWYzZWQxCiArICBmb28gKDc4KTsKICsgIHJldHVybiAwOwogK30KLWRpZmYgLS1n aXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL3ZsYS5leHAKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi41ZGE3Mzc4 Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS5leHAKK0lu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLmV4cAor PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQorLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCAr MDAwMAorKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEu ZXhwCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDYyIEBA CiArIyBDb3B5cmlnaHQgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAg LTExNTUxLDExICsxMTUyNCwxMSBAQCBpbmRleCAwMDAwMDAwLi41ZGE3Mzc4CiArZ2RiX3Rlc3Qg InAgdGVtcDEiICIgPSAnMScgPHJlcGVhdHMgNzggdGltZXM+IiAic2Vjb25kOiBwcmludCB0ZW1w MSIKICtnZGJfdGVzdCAicCB0ZW1wMiIgIiA9ICcyJyA8cmVwZWF0cyA3OCB0aW1lcz4iICJzZWNv bmQ6IHByaW50IHRlbXAyIgogK2dkYl90ZXN0ICJwIHRlbXAzIiAiID0gJzMnIDxyZXBlYXRzIDQ4 IHRpbWVzPiIgInNlY29uZDogcHJpbnQgdGVtcDMiCi1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0 ZS9nZGIuY3AvbmV4dG92ZXJ0aHJvdy5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9uZXh0b3Zl cnRocm93LmV4cAotaW5kZXggODljMDJkNi4uYTk3MGJiOSAxMDA2NDQKLS0tLSBhL2dkYi90ZXN0 c3VpdGUvZ2RiLmNwL25leHRvdmVydGhyb3cuZXhwCi0rKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5j cC9uZXh0b3ZlcnRocm93LmV4cAotQEAgLTUzLDYgKzUzLDE3IEBAIGdkYl90ZXN0X211bHRpcGxl ICJwcmludCBfVW53aW5kX0RlYnVnSG9vayIgImNoZWNrIGZvciB1bndpbmRlciBob29rIiB7CitJ bmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5jcC9uZXh0b3ZlcnRo cm93LmV4cAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvdGVz dHN1aXRlL2dkYi5jcC9uZXh0b3ZlcnRocm93LmV4cAkyMDExLTAxLTAxIDE2OjMzOjQ0LjAwMDAw MDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3Av bmV4dG92ZXJ0aHJvdy5leHAJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKK0BA IC01Myw2ICs1MywxNyBAQCBnZGJfdGVzdF9tdWx0aXBsZSAicHJpbnQgX1Vud2luZF9EZWJ1Z0hv CiAgICAgIH0KICB9CiAgaWYgeyEkb2t9IHsKQEAgLTExNTczLDExICsxMTU0NiwxMCBAQCBpbmRl eCA4OWMwMmQ2Li5hOTcwYmI5IDEwMDY0NAogICAgICB1bnN1cHBvcnRlZCAibmV4dG92ZXJ0aHJv dy5leHAgY291bGQgbm90IGZpbmQgX1Vud2luZF9EZWJ1Z0hvb2siCiAgICAgIHJldHVybiAtMQog IH0KLWRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWJvdW5kLWxvY2xp c3QuUyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItYm91bmQtbG9jbGlzdC5TCi1uZXcg ZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uYWFjM2JhYQotLS0tIC9kZXYvbnVsbAot KysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1ib3VuZC1sb2NsaXN0LlMKK0luZGV4 OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItYm91bmQt bG9jbGlzdC5TCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAu MDAwMDAwMDAwICswMDAwCisrKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dk Yi5kd2FyZjIvZHcyLWJvdW5kLWxvY2xpc3QuUwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAw MCArMDIwMAogQEAgLTAsMCArMSwyNDYgQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2Yg R0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMTE4MjUsMTEgKzExNzk3LDEwIEBAIGluZGV4 IDAwMDAwMDAuLmFhYzNiYWEKICsJLnN0cmluZwkJImNoYXIiCiArLkx1aW50X3N0cjoKICsJLnN0 cmluZwkJInVuc2lnbmVkIGludCIKLWRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5kd2Fy ZjIvZHcyLWJvdW5kLWxvY2xpc3QuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1i b3VuZC1sb2NsaXN0LmV4cAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLjgx NWVkOTMKLS0tLSAvZGV2L251bGwKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzIt Ym91bmQtbG9jbGlzdC5leHAKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3Vp dGUvZ2RiLmR3YXJmMi9kdzItYm91bmQtbG9jbGlzdC5leHAKKz09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2 L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4yLjkw LjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItYm91bmQtbG9jbGlzdC5leHAJ MjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsNTQgQEAKICsj IENvcHlyaWdodCAyMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTE4 ODUsMTEgKzExODU2LDEwIEBAIGluZGV4IDAwMDAwMDAuLjgxNWVkOTMKICsKICsjIFRoZSByZWdp c3RlciBjb250YWlucyB1bnByZWRpY3RhYmxlIHZhbHVlIC0gdGhlIGFycmF5IHNpemUuCiArZ2Ri X3Rlc3QgInB0eXBlIHJlZ19zdHJpbmciIHt0eXBlID0gY2hhciBcWy0/WzAtOV0rXF19Ci1kaWZm IC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJpcHBlZC5jIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJpcHBlZC5jCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAot aW5kZXggMDAwMDAwMC4uMWYwMmQ5MAotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZHdhcmYyL2R3Mi1zdHJpcHBlZC5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9n ZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cmlwcGVkLmMKKz09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAv ZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4y LjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3RyaXBwZWQuYwkyMDEx LTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw0MiBAQAogKy8qIFRo aXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC0xMTkz MywxMSArMTE5MDMsMTAgQEAgaW5kZXggMDAwMDAwMC4uMWYwMmQ5MAogKyAgZnVuYzEgKDEsIDIp OwogKyAgcmV0dXJuIDA7CiArfQotZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJm Mi9kdzItc3RyaXBwZWQuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJpcHBl ZC5leHAKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi4xYzZlODRhCi0tLS0g L2Rldi9udWxsCi0rKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cmlwcGVkLmV4 cAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3 Mi1zdHJpcHBlZC5leHAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDow MDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3Vp dGUvZ2RiLmR3YXJmMi9kdzItc3RyaXBwZWQuZXhwCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAw MDAwICswMjAwCiBAQCAtMCwwICsxLDc5IEBACiArIyBDb3B5cmlnaHQgMjAwNiBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTEyMDE4LDExICsxMTk4NywxMCBAQCBpbmRleCAw MDAwMDAwLi4xYzZlODRhCiArZ2RiX3Rlc3QgInN0ZXAiIFwKICsgICAgICAgICAiZnVuYy4qIFxc KC4qXFwpIGF0IC4qIiBcCiArICAgICAgICAgInN0ZXAiCi1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJ1Y3QtbWVtYmVyLWRhdGEtbG9jYXRpb24uUyBiL2dkYi90 ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3RydWN0LW1lbWJlci1kYXRhLWxvY2F0aW9uLlMKLW5l dyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi41ZmNkZDg0Ci0tLS0gL2Rldi9udWxs Ci0rKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cnVjdC1tZW1iZXItZGF0YS1s b2NhdGlvbi5TCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5k d2FyZjIvZHcyLXN0cnVjdC1tZW1iZXItZGF0YS1sb2NhdGlvbi5TCis9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0g L2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKysgZ2RiLTcu Mi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cnVjdC1tZW1iZXIt ZGF0YS1sb2NhdGlvbi5TCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCiBAQCAt MCwwICsxLDgzIEBACiArLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBk ZWJ1Z2dlci4KICsKQEAgLTEyMTA3LDExICsxMjA3NSwxMCBAQCBpbmRleCAwMDAwMDAwLi41ZmNk ZDg0CiArCiArCS5ieXRlCQkweDAJCQkvKiBUZXJtaW5hdG9yICovCiArCS5ieXRlCQkweDAJCQkv KiBUZXJtaW5hdG9yICovCi1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3 Mi1zdHJ1Y3QtbWVtYmVyLWRhdGEtbG9jYXRpb24uZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdh cmYyL2R3Mi1zdHJ1Y3QtbWVtYmVyLWRhdGEtbG9jYXRpb24uZXhwCi1uZXcgZmlsZSBtb2RlIDEw MDY0NAotaW5kZXggMDAwMDAwMC4uYzQxMTUxYwotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJ1Y3QtbWVtYmVyLWRhdGEtbG9jYXRpb24uZXhwCitJ bmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0 cnVjdC1tZW1iZXItZGF0YS1sb2NhdGlvbi5leHAKKz09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwJ MTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4yLjkwLjIwMTEw NDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3RydWN0LW1lbWJlci1kYXRhLWxvY2F0 aW9uLmV4cAkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSwz NyBAQAogKyMgQ29weXJpZ2h0IDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAr CkBAIC0xMjE1MCwxMSArMTIxMTcsMTAgQEAgaW5kZXggMDAwMDAwMC4uYzQxMTUxYwogK2NsZWFu X3Jlc3RhcnQgJGJpbmZpbGUKICsKICtnZGJfdGVzdCAicHR5cGUgc3RydWN0IHNvbWVfc3RydWN0 IiAidHlwZSA9IHN0cnVjdCBzb21lX3N0cnVjdCB7XFtcclxuIFx0XF0qdm9pZCBmaWVsZDtcW1xy XG4gXHRcXSp9IgotZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHdhcmYt c3RyaWRlLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHdhcmYtc3RyaWRlLmV4cAot bmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLmNkMzQ4NmIKLS0tLSAvZGV2L251 bGwKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHdhcmYtc3RyaWRlLmV4cAorSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9kd2FyZi1z dHJpZGUuZXhwCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAu MDAwMDAwMDAwICswMDAwCisrKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL2R3YXJmLXN0cmlkZS5leHAJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAg KzAyMDAKIEBAIC0wLDAgKzEsNDIgQEAKICsjIENvcHlyaWdodCAyMDA5IEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTIxOTgsMTEgKzEyMTY0LDEwIEBAIGluZGV4IDAwMDAw MDAuLmNkMzQ4NmIKICtnZGJfY29udGludWVfdG9fYnJlYWtwb2ludCAiYnJlYWstaGVyZSIgIi4q YnJlYWstaGVyZS4qIgogK2dkYl90ZXN0ICJwIGM0MHB0KDEpIiAiID0gJzAtaGVsbG8uKiIKICtn ZGJfdGVzdCAicCBjNDBwdCgyKSIgIiA9ICcxLWhlbGxvLioiCi1kaWZmIC0tZ2l0IGEvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi9kd2FyZi1zdHJpZGUuZjkwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi9kd2FyZi1zdHJpZGUuZjkwCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAw MDAwMC4uZTQ5MmIzYQotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi9kd2FyZi1zdHJpZGUuZjkwCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVz dHN1aXRlL2dkYi5mb3J0cmFuL2R3YXJmLXN0cmlkZS5mOTAKKz09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2 L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4yLjkw LjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHdhcmYtc3RyaWRlLmY5MAkyMDEx LTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw0MCBAQAogKyEgQ29w eXJpZ2h0IDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArIQpAQCAtMTIyNDQs MTEgKzEyMjA5LDEwIEBAIGluZGV4IDAwMDAwMDAuLmU0OTJiM2EKICsgIHByaW50ICosIGM0MHB0 ICAhIGJyZWFrLWhlcmUKICsKICtlbmQgcHJvZ3JhbSByZXBybwotZGlmZiAtLWdpdCBhL2dkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy1vdGhlci1mcmFtZS1zdHViLmY5MCBiL2dkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy1vdGhlci1mcmFtZS1zdHViLmY5MAotbmV3IGZp bGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLjI2MWNlMTcKLS0tLSAvZGV2L251bGwKLSsr KyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy1vdGhlci1mcmFtZS1zdHViLmY5 MAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9k eW5hbWljLW90aGVyLWZyYW1lLXN0dWIuZjkwCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxsCTE5 NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKysgZ2RiLTcuMi45MC4yMDExMDQy OS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUtc3R1Yi5mOTAJ MjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMjQgQEAKICsh IENvcHlyaWdodCAyMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKyEKQEAgLTEy Mjc0LDExICsxMjIzOCwxMCBAQCBpbmRleCAwMDAwMDAwLi4yNjFjZTE3CiArICByZWFsIDo6IGR1 bW15CiArICBkdW1teSA9IDEKICtlbmQgc3Vicm91dGluZSBiYXIKLWRpZmYgLS1naXQgYS9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUuZXhwIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLW90aGVyLWZyYW1lLmV4cAotbmV3IGZpbGUgbW9kZSAx MDA2NDQKLWluZGV4IDAwMDAwMDAuLjRmZGQ1ZWUKLS0tLSAvZGV2L251bGwKLSsrKyBiL2dkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy1vdGhlci1mcmFtZS5leHAKK0luZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy1vdGhlci1m cmFtZS5leHAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4w MDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vZHluYW1pYy1vdGhlci1mcmFtZS5leHAJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAw MDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMzcgQEAKICsjIENvcHlyaWdodCAyMDEwIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTIzMTcsMTEgKzEyMjgwLDEwIEBAIGluZGV4 IDAwMDAwMDAuLjRmZGQ1ZWUKICt9CiArCiArZ2RiX3Rlc3QgImJ0IiB7Zm9vIFwoc3RyaW5nPSdo ZWxsbycuKn0KLWRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMt b3RoZXItZnJhbWUuZjkwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLW90aGVy LWZyYW1lLmY5MAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLjJiYzYzN2QK LS0tLSAvZGV2L251bGwKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy1v dGhlci1mcmFtZS5mOTAKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vZHluYW1pYy1vdGhlci1mcmFtZS5mOTAKKz09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2 L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4yLjkw LjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy1vdGhlci1mcmFtZS5m OTAJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMzYgQEAK ICshIENvcHlyaWdodCAyMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKyEKQEAg LTEyMzU5LDExICsxMjMyMSwxMCBAQCBpbmRleCAwMDAwMDAwLi4yYmM2MzdkCiArICBlbmQgaW50 ZXJmYWNlCiArICBjYWxsIGZvbyAoJ2hlbGxvJykKICtlbmQKLWRpZmYgLS1naXQgYS9nZGIvdGVz dHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi9keW5hbWljLmV4cAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLjBjY2Vi ZTAKLS0tLSAvZGV2L251bGwKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1p Yy5leHAKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vZHluYW1pYy5leHAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDow MDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vZHluYW1pYy5leHAJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAg KzAyMDAKIEBAIC0wLDAgKzEsMTQ1IEBACiArIyBDb3B5cmlnaHQgMjAwNyBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTEyNTEwLDExICsxMjQ3MSwxMCBAQCBpbmRleCAwMDAw MDAwLi4wY2NlYmUwCiArZ2RiX3Rlc3QgInAgdmFydCgzLDgpIiAiXFwkXFswLTlcXSogPSA5Igog KyMgbWFwcyB0byBmb286OnZhcnkoMSwzKQogK2dkYl90ZXN0ICJwIHZhcnQoMiw5KSIgIlxcJFxb MC05XF0qID0gMTAiCi1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5h bWljLmY5MCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy5mOTAKLW5ldyBmaWxl IG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi4wZjQzNTY0Ci0tLS0gL2Rldi9udWxsCi0rKysg Yi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMuZjkwCitJbmRleDogZ2RiLTcuMi45 MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMuZjkwCis9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisr KysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMu ZjkwCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDk4IEBA CiArISBDb3B5cmlnaHQgMjAwNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICshCkBA IC0xMjYxNCwxMSArMTI1NzQsMTAgQEAgaW5kZXggMDAwMDAwMC4uMGY0MzU2NAogKyAgaWYgKHgg KDEsIDEpIC5uZS4gOCAub3IuIHggKDIsIDIpIC5uZS4gOSAub3IuIHggKDEsIDIpIC5uZS4gNCkg Y2FsbCBhYm9ydAogKyAgaWYgKHggKDMsIDEpIC5uZS4gMTApIGNhbGwgYWJvcnQKICtlbmQKLWRp ZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0cmluZy5leHAgYi9nZGIvdGVz dHN1aXRlL2dkYi5mb3J0cmFuL3N0cmluZy5leHAKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRl eCAwMDAwMDAwLi5iMTEyMGMzCi0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL3N0cmluZy5leHAKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYW4vc3RyaW5nLmV4cAorPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVsbAkx OTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAorKysrIGdkYi03LjIuOTAuMjAxMTA0 MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmcuZXhwCTIwMTEtMDQtMjkgMDk6NDA6 NDYuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDU5IEBACiArIyBDb3B5cmlnaHQgMjAwOCBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTEyNjc5LDExICsxMjYzOCwxMCBA QCBpbmRleCAwMDAwMDAwLi5iMTEyMGMzCiArZ2RiX2NvbnRpbnVlX3RvX2JyZWFrcG9pbnQgInZh ci1maW5pc2giCiArZ2RiX3Rlc3QgInAgZSIgIlxcJFxbMC05XF0qID0gJ2UgICAnIiAicCBlIHJl LXNldCIKICtnZGJfdGVzdCAicCBmIiAiXFwkXFswLTlcXSogPSBcXChcXCggJ2YgICAnLCAnZiAg ICcsICdmICAgJywgJ2YgICAnLCAnZiAgICcsICdmICAgJywgJ2YgICAnXFwpIFxcKCAnZjIgICcs ICdmICAgJywgJ2YgICAnLCAnZiAgICcsICdmICAgJywgJ2YgICAnLCAnZiAgICdcXCkgXFwoICdm ICAgJywgJ2YgICAnLCAnZiAgICcsICdmICAgJywgJ2YgICAnLCAnZiAgICcsICdmICAgJ1xcKSBc XCkiICJwICpmIHJlLXNldCIKLWRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L3N0cmluZy5mOTAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0cmluZy5mOTAKLW5ldyBm aWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi4yMjZkYzVkCi0tLS0gL2Rldi9udWxsCi0r KysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0cmluZy5mOTAKK0luZGV4OiBnZGItNy4y LjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3RyaW5nLmY5MAorPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQorLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAor KysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmcu ZjkwCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDM3IEBA CiArISBDb3B5cmlnaHQgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICshCkBA IC0xMjcyMiwxMSArMTI2ODAsMTAgQEAgaW5kZXggMDAwMDAwMC4uMjI2ZGM1ZAogKyAgaCA9ICdo JwogKyAgY2FsbCBmb28gKGcsIGgpCiArZW5kCi1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi9zdWJyYW5nZS5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N1YnJh bmdlLmV4cAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLmJlMzcyYzEKLS0t LSAvZGV2L251bGwKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3VicmFuZ2UuZXhw CitJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N1 YnJhbmdlLmV4cAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAw LjAwMDAwMDAwMCArMDAwMAorKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi9zdWJyYW5nZS5leHAJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAy MDAKIEBAIC0wLDAgKzEsNjAgQEAKICsjIENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgogKwpAQCAtMTI3ODgsMTEgKzEyNzQ1LDEwIEBAIGluZGV4IDAwMDAwMDAu LmJlMzcyYzEKICtkZWxldGVfYnJlYWtwb2ludHMKICtnZGJfdW5sb2FkCiArZ2RiX3Rlc3Qge3Ag JGEgKDMsIDI6Mil9IHsgPSBcKDIzXCl9Ci1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi9zdWJyYW5nZS5mOTAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N1YnJhbmdl LmY5MAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLjQ3NDdlYTkKLS0tLSAv ZGV2L251bGwKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3VicmFuZ2UuZjkwCitJ bmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N1YnJh bmdlLmY5MAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAw MDAwMDAwMCArMDAwMAorKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi9zdWJyYW5nZS5mOTAJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAK IEBAIC0wLDAgKzEsMjggQEAKICshIENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgogKyEKQEAgLTEyODIyLDEwICsxMjc3OCwxMCBAQCBpbmRleCAwMDAwMDAwLi40 NzQ3ZWE5CiArICBwdHIgPT4gYQogKyAgd3JpdGUgKCosKikgYSAgICAgICAgICAgICAgICAgISBi cmVhay1zdGF0aWMKICtlbmQKLWRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5nZGIvc2Vs ZnRlc3QuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZ2RiL3NlbGZ0ZXN0LmV4cAotaW5kZXggMzBh NzFkZC4uNGJiOGU3ZCAxMDA2NDQKLS0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmdkYi9zZWxmdGVz dC5leHAKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmdkYi9zZWxmdGVzdC5leHAKK0luZGV4OiBn ZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmdkYi9zZWxmdGVzdC5leHAKKz09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIu Z2RiL3NlbGZ0ZXN0LmV4cAkyMDExLTA0LTI5IDA5OjQwOjQzLjAwMDAwMDAwMCArMDIwMAorKysr IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZ2RiL3NlbGZ0ZXN0LmV4cAky MDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAogQEAgLTkyLDYgKzkyLDEwIEBAIHBy b2MgZG9fc3RlcHNfYW5kX25leHRzIHt9IHsKICAJCXNldCBkZXNjcmlwdGlvbiAic3RlcCBvdmVy IHR0eWFyZyBpbml0aWFsaXphdGlvbiIKICAJCXNldCBjb21tYW5kICJzdGVwIgpAQCAtMTI4Mzcs MTEgKzEyNzkzLDEwIEBAIGluZGV4IDMwYTcxZGQuLjRiYjhlN2QgMTAwNjQ0CiAgCSAgICAtcmUg Ii4qcHJlX3N0YXRfY2hhaW4gPSBtYWtlX2NvbW1hbmRfc3RhdHNfY2xlYW51cC4qJGdkYl9wcm9t cHQgJCIgewogIAkJc2V0IGRlc2NyaXB0aW9uICJuZXh0IG92ZXIgbWFrZV9jb21tYW5kX3N0YXRz X2NsZWFudXAgYW5kIGV2ZXJ5dGhpbmcgaXQgY2FsbHMiCiAgCQlzZXQgY29tbWFuZCAibmV4dCIK LWRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5taS9taTItdmFyLXN0YWxlLXR5cGUuYyBi L2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pMi12YXItc3RhbGUtdHlwZS5jCi1uZXcgZmlsZSBtb2Rl IDEwMDY0NAotaW5kZXggMDAwMDAwMC4uZWJjZWQzYwotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIubWkvbWkyLXZhci1zdGFsZS10eXBlLmMKK0luZGV4OiBnZGItNy4yLjkw LjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pMi12YXItc3RhbGUtdHlwZS5jCis9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAw CisrKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5taS9taTItdmFyLXN0 YWxlLXR5cGUuYwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCAr MSwyNiBAQAogKy8qIENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgogKwpAQCAtMTI4NjksMTEgKzEyODI0LDEwIEBAIGluZGV4IDAwMDAwMDAuLmViY2VkM2MKICsK ICsgIHJldHVybiAwOwogK30KLWRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5taS9taTIt dmFyLXN0YWxlLXR5cGUuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWkyLXZhci1zdGFsZS10 eXBlLmV4cAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLjc0YTEwNGUKLS0t LSAvZGV2L251bGwKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pMi12YXItc3RhbGUtdHlw ZS5leHAKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21p Mi12YXItc3RhbGUtdHlwZS5leHAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwJMTk3MC0wMS0w MSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90 ZXN0c3VpdGUvZ2RiLm1pL21pMi12YXItc3RhbGUtdHlwZS5leHAJMjAxMS0wNC0yOSAwOTo0MDo0 Ni4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsNTcgQEAKICsjIENvcHlyaWdodCAyMDExIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKyMKQEAgLTEyOTMyLDExICsxMjg4NiwxMCBA QCBpbmRleCAwMDAwMDAwLi43NGExMDRlCiArbWlfY3JlYXRlX3Zhcm9iaiAidmxhIiAidmxhIiAi Y3JlYXRlIGxvY2FsIHZhcmlhYmxlIHZsYSIKICsKICttaV9nZGJfdGVzdCAiLXZhci11cGRhdGUg KiIgIlxcXmRvbmUsY2hhbmdlbGlzdD0uKiIgIi12YXItdXBkYXRlICoiCi1kaWZmIC0tZ2l0IGEv Z2RiL3Rlc3RzdWl0ZS9nZGIubXVsdGkvd2F0Y2hwb2ludC1tdWx0aS5jIGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIubXVsdGkvd2F0Y2hwb2ludC1tdWx0aS5jCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5k ZXggMDAwMDAwMC4uMTUzYzE4YgotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIubXVsdGkvd2F0Y2hwb2ludC1tdWx0aS5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9n ZGIvdGVzdHN1aXRlL2dkYi5tdWx0aS93YXRjaHBvaW50LW11bHRpLmMKKz09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0t LSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGIt Ny4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLm11bHRpL3dhdGNocG9pbnQtbXVsdGku YwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw1OSBAQAog Ky8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBA IC0xMjk5NywxMSArMTI5NTAsMTAgQEAgaW5kZXggMDAwMDAwMC4uMTUzYzE4YgogKyAgbWFya2Vy X2V4aXQyICgpOwogKyAgcmV0dXJuIDA7CiArfQotZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUv Z2RiLm11bHRpL3dhdGNocG9pbnQtbXVsdGkuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIubXVsdGkv d2F0Y2hwb2ludC1tdWx0aS5leHAKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAw Li45N2ZhNmNkCi0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5tdWx0aS93 YXRjaHBvaW50LW11bHRpLmV4cAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3Rz dWl0ZS9nZGIubXVsdGkvd2F0Y2hwb2ludC1tdWx0aS5leHAKKz09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2 L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4yLjkw LjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLm11bHRpL3dhdGNocG9pbnQtbXVsdGkuZXhwCTIw MTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDExMyBAQAogKyMg Q29weXJpZ2h0IDIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0xMzEx NiwxMSArMTMwNjgsMTAgQEAgaW5kZXggMDAwMDAwMC4uOTdmYTZjZAogKyAgICB9CiArfQogKwot ZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9hcnJheS1mcm9tLXJlZ2lzdGVyLWZ1 bmMuYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9hcnJheS1mcm9tLXJlZ2lzdGVyLWZ1bmMuYwot bmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLjcyOWY0NTcKLS0tLSAvZGV2L251 bGwKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9hcnJheS1mcm9tLXJlZ2lzdGVyLWZ1bmMu YworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5 LWZyb20tcmVnaXN0ZXItZnVuYy5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEt MDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIv dGVzdHN1aXRlL2dkYi5vcHQvYXJyYXktZnJvbS1yZWdpc3Rlci1mdW5jLmMJMjAxMS0wNC0yOSAw OTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMjIgQEAKICsvKiBUaGlzIGZpbGUg aXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC0xMzE0NCwxMSArMTMwOTUs MTAgQEAgaW5kZXggMDAwMDAwMC4uNzI5ZjQ1NwogK3sKICsgIHJldHVybiBhcnJbMF07CiArfQot ZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9hcnJheS1mcm9tLXJlZ2lzdGVyLmMg Yi9nZGIvdGVzdHN1aXRlL2dkYi5vcHQvYXJyYXktZnJvbS1yZWdpc3Rlci5jCi1uZXcgZmlsZSBt b2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uMzA5MGU3ZQotLS0tIC9kZXYvbnVsbAotKysrIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5LWZyb20tcmVnaXN0ZXIuYworSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5LWZyb20tcmVnaXN0ZXIu YworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAw MCArMDAwMAorKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2Fy cmF5LWZyb20tcmVnaXN0ZXIuYwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAog QEAgLTAsMCArMSwyOCBAQAogKy8qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBk ZWJ1Z2dlci4KICsKQEAgLTEzMTc4LDExICsxMzEyOCwxMCBAQCBpbmRleCAwMDAwMDAwLi4zMDkw ZTdlCiArCiArICByZXR1cm4gMDsKICt9Ci1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu b3B0L2FycmF5LWZyb20tcmVnaXN0ZXIuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5 LWZyb20tcmVnaXN0ZXIuZXhwCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4u ZjJkZTcxOAotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5 LWZyb20tcmVnaXN0ZXIuZXhwCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1 aXRlL2dkYi5vcHQvYXJyYXktZnJvbS1yZWdpc3Rlci5leHAKKz09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2 L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4yLjkw LjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9hcnJheS1mcm9tLXJlZ2lzdGVyLmV4cAky MDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSwzMyBAQAogKyMg Q29weXJpZ2h0IDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArIwpAQCAtMTMy MTcsMTEgKzEzMTY2LDEwIEBAIGluZGV4IDAwMDAwMDAuLmYyZGU3MTgKICsjIFNlZW4gcmVncmVz c2lvbjoKICsjIEFkZHJlc3MgcmVxdWVzdGVkIGZvciBpZGVudGlmaWVyICJhcnIiIHdoaWNoIGlz IGluIHJlZ2lzdGVyICRyZGkKICtnZGJfdGVzdCAicCBhcnJcWzBcXSIgIlxcJFxbMC05XF0rID0g NDIiCi1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIucGFzY2FsL2FycmF5cy5leHAgYi9n ZGIvdGVzdHN1aXRlL2dkYi5wYXNjYWwvYXJyYXlzLmV4cAotbmV3IGZpbGUgbW9kZSAxMDA2NDQK LWluZGV4IDAwMDAwMDAuLmNjYzZlMWUKLS0tLSAvZGV2L251bGwKLSsrKyBiL2dkYi90ZXN0c3Vp dGUvZ2RiLnBhc2NhbC9hcnJheXMuZXhwCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIv dGVzdHN1aXRlL2dkYi5wYXNjYWwvYXJyYXlzLmV4cAorPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVs bAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAorKysrIGdkYi03LjIuOTAuMjAx MTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIucGFzY2FsL2FycmF5cy5leHAJMjAxMS0wNC0yOSAwOTo0 MDo0Ni4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMTA0IEBACiArIyBDb3B5cmlnaHQgMjAw OCwgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsjCkBAIC0xMzMyNywxMSAr MTMyNzUsMTAgQEAgaW5kZXggMDAwMDAwMC4uY2NjNmUxZQogK30KICtnZGJfdGVzdCAicHJpbnQg RHluQXJyQ2hhciIgIi4qID0gJ2FiY2RlZmdoaWprbG0nIiAiUHJpbnQgZHluYW1pYyBhcnJheSBv ZiBjaGFyIgogKwotZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnBhc2NhbC9hcnJheXMu cGFzIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIucGFzY2FsL2FycmF5cy5wYXMKLW5ldyBmaWxlIG1vZGUg MTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi4yOTU2MDJkCi0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIv dGVzdHN1aXRlL2dkYi5wYXNjYWwvYXJyYXlzLnBhcworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0 MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIucGFzY2FsL2FycmF5cy5wYXMKKz09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAv ZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4y LjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLnBhc2NhbC9hcnJheXMucGFzCTIwMTEtMDQt MjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDgyIEBACiArewogKyBDb3B5 cmlnaHQgMjAwOCwgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KQEAgLTEzNDE1 LDExICsxMzM2MiwxMSBAQCBpbmRleCAwMDAwMDAwLi4yOTU2MDJkCiArICBzIDo9ICd0ZXN0JyMw J3N0cmluZyc7CiArICB3cml0ZWxuKHMpOyB7IHNldCBicmVha3BvaW50IDIgaGVyZSB9CiArZW5k LgotZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1mcmFtZS5leHAgYi9n ZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZnJhbWUuZXhwCi1pbmRleCAxY2I1NzNlLi4zNjA1 ZWU1IDEwMDY0NAotLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWZyYW1lLmV4cAot KysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWZyYW1lLmV4cAotQEAgLTc4LDggKzc4 LDYgQEAgZ2RiX3Rlc3QgInB5dGhvbiBwcmludCBiZnJhbWUgPT0gZ2RiLm5ld2VzdF9mcmFtZSgp IiBUcnVlIFwKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLnB5 dGhvbi9weS1mcmFtZS5leHAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9y aWcvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWZyYW1lLmV4cAkyMDExLTAyLTI2IDE1OjA2 OjI4LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0 ZS9nZGIucHl0aG9uL3B5LWZyYW1lLmV4cAkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCAr MDIwMAorQEAgLTc4LDggKzc4LDYgQEAgZ2RiX3Rlc3QgInB5dGhvbiBwcmludCBiZnJhbWUgPT0g Z2RiLm5ldwogIAogIGdkYl90ZXN0ICJweXRob24gcHJpbnQgJ3Jlc3VsdCA9JywgZjAgPT0gZjEi ICIgPSBGYWxzZSIgInRlc3QgZXF1YWxpdHkgY29tcGFyaXNvbiAoZmFsc2UpIgogIGdkYl90ZXN0 ICJweXRob24gcHJpbnQgJ3Jlc3VsdCA9JywgZjAgPT0gZjAiICIgPSBUcnVlIiAidGVzdCBlcXVh bGl0eSBjb21wYXJpc29uICh0cnVlKSIKQEAgLTEzNDI4LDE2ICsxMzM3NSwxNiBAQCBpbmRleCAx Y2I1NzNlLi4zNjA1ZWU1IDEwMDY0NAogIGdkYl90ZXN0ICJweXRob24gcHJpbnQgJ3Jlc3VsdCA9 JywgZjAuaXNfdmFsaWQgKCkiICIgPSBUcnVlIiAidGVzdCBGcmFtZS5pc192YWxpZCIKICBnZGJf dGVzdCAicHl0aG9uIHByaW50ICdyZXN1bHQgPScsIGYwLm5hbWUgKCkiICIgPSBmMiIgInRlc3Qg RnJhbWUubmFtZSIKICBnZGJfdGVzdCAicHl0aG9uIHByaW50ICdyZXN1bHQgPScsIGYwLnR5cGUg KCkgPT0gZ2RiLk5PUk1BTF9GUkFNRSIgIiA9IFRydWUiICJ0ZXN0IEZyYW1lLnR5cGUiCi1AQCAt OTQsMyArOTIsNSBAQCBnZGJfdGVzdCAicHl0aG9uIHByaW50ICdyZXN1bHQgPScsIGYwLnJlYWRf dmFyICgndmFyaWFibGVfd2hpY2hfc3VyZWx5X2RvZXNudF9leAorQEAgLTk0LDMgKzkyLDUgQEAg Z2RiX3Rlc3QgInB5dGhvbiBwcmludCAncmVzdWx0ID0nLCBmMC5yZQogIGdkYl90ZXN0ICJweXRo b24gcHJpbnQgJ3Jlc3VsdCA9JywgZjAucmVhZF92YXIgKCdhJykiICIgPSAxIiAidGVzdCBGcmFt ZS5yZWFkX3ZhciAtIHN1Y2Nlc3MiCiAgCiAgZ2RiX3Rlc3QgInB5dGhvbiBwcmludCAncmVzdWx0 ID0nLCBnZGIuc2VsZWN0ZWRfZnJhbWUgKCkgPT0gZjEiICIgPSBUcnVlIiAidGVzdCBnZGIuc2Vs ZWN0ZWRfZnJhbWUiCiArCiArZ2RiX3Rlc3QgInB5dGhvbiBwcmludCAncmVzdWx0ID0nLCBmMC5i bG9jayAoKSIgIjxnZGIuQmxvY2sgb2JqZWN0IGF0IDB4XFtcWzp4ZGlnaXQ6XF1cXSs+IiAidGVz dCBGcmFtZS5ibG9jayIKLWRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHkt dmFsdWUuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LXZhbHVlLmV4cAotaW5kZXgg ZTAxMmQ1My4uMWJkOWU1MyAxMDA2NDQKLS0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9w eS12YWx1ZS5leHAKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS12YWx1ZS5leHAK K0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS12 YWx1ZS5leHAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL3Rl c3RzdWl0ZS9nZGIucHl0aG9uL3B5LXZhbHVlLmV4cAkyMDExLTAxLTAxIDE2OjMzOjQ5LjAwMDAw MDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0 aG9uL3B5LXZhbHVlLmV4cAkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAogQEAg LTMxOCw2ICszMTgsMTUgQEAgcHJvYyB0ZXN0X3ZhbHVlX2FmdGVyX2RlYXRoIHt9IHsKICAgICAg InByaW50IHZhbHVlJ3MgdHlwZSIKICB9CkBAIC0xMzQ2MiwxMSArMTM0MDksMTAgQEAgaW5kZXgg ZTAxMmQ1My4uMWJkOWU1MyAxMDA2NDQKICAKICAjIFRoZSBmb2xsb3dpbmcgdGVzdCByZWNvbXBp bGVzIHRoZSBiaW5hcnkgdG8gdGVzdCBlaXRoZXIgQyBvciBDKysKICAjIHZhbHVlcy4gCi1kaWZm IC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93YXRjaHBvaW50LWZvcmstY2hpbGQu YyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2hwb2ludC1mb3JrLWNoaWxkLmMKLW5l dyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi5hMmFkMjlhCi0tLS0gL2Rldi9udWxs Ci0rKysgYi9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3dhdGNocG9pbnQtZm9yay1jaGlsZC5j CitJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3dh dGNocG9pbnQtZm9yay1jaGlsZC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEt MDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIv dGVzdHN1aXRlL2dkYi50aHJlYWRzL3dhdGNocG9pbnQtZm9yay1jaGlsZC5jCTIwMTEtMDQtMjkg MDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDEyNyBAQAogKy8qIFRlc3QgY2Fz ZSBmb3IgZm9yZ290dGVuIGh3LXdhdGNocG9pbnRzIGFmdGVyIGZvcmsoKS1vZmYgb2YgYSBwcm9j ZXNzLgogKwpAQCAtMTM1OTUsMTEgKzEzNTQxLDEwIEBAIGluZGV4IDAwMDAwMDAuLmEyYWQyOWEK ICsgIGkgPSBzaWdhY3Rpb24gKFNJR1VTUjEsICZvbGRhY3QsIE5VTEwpOwogKyAgYXNzZXJ0IChp ID09IDApOwogK30KLWRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3dhdGNo cG9pbnQtZm9yay1tdC5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93YXRjaHBvaW50LWZv cmstbXQuYwotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLjA4YTVhZmYKLS0t LSAvZGV2L251bGwKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2hwb2ludC1m b3JrLW10LmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLnRo cmVhZHMvd2F0Y2hwb2ludC1mb3JrLW10LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwJMTk3 MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNDI5 L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2hwb2ludC1mb3JrLW10LmMJMjAxMS0wNC0y OSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMTc0IEBACiArLyogVGVzdCBj YXNlIGZvciBmb3Jnb3R0ZW4gaHctd2F0Y2hwb2ludHMgYWZ0ZXIgZm9yaygpLW9mZiBvZiBhIHBy b2Nlc3MuCiArCkBAIC0xMzc3NSwxMSArMTM3MjAsMTAgQEAgaW5kZXggMDAwMDAwMC4uMDhhNWFm ZgogKyAgbWFya19leGl0ICgpOwogKyAgcmV0dXJuIDA7CiArfQotZGlmZiAtLWdpdCBhL2dkYi90 ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2hwb2ludC1mb3JrLXBhcmVudC5jIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIudGhyZWFkcy93YXRjaHBvaW50LWZvcmstcGFyZW50LmMKLW5ldyBmaWxlIG1vZGUg MTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi44MmQxMTgyCi0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIv dGVzdHN1aXRlL2dkYi50aHJlYWRzL3dhdGNocG9pbnQtZm9yay1wYXJlbnQuYworSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93YXRjaHBvaW50LWZv cmstcGFyZW50LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDow MC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUv Z2RiLnRocmVhZHMvd2F0Y2hwb2ludC1mb3JrLXBhcmVudC5jCTIwMTEtMDQtMjkgMDk6NDA6NDYu MDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDc0IEBACiArLyogVGVzdCBjYXNlIGZvciBmb3Jn b3R0ZW4gaHctd2F0Y2hwb2ludHMgYWZ0ZXIgZm9yaygpLW9mZiBvZiBhIHByb2Nlc3MuCiArCkBA IC0xMzg1NSwxMSArMTM3OTksMTAgQEAgaW5kZXggMDAwMDAwMC4uODJkMTE4MgogKyAgICAgIG1h cmtlciAoKTsKICsgICAgfQogK30KLWRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi50aHJl YWRzL3dhdGNocG9pbnQtZm9yay1zdC5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93YXRj aHBvaW50LWZvcmstc3QuYwotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLmE3 ZWVlZGQKLS0tLSAvZGV2L251bGwKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0 Y2hwb2ludC1mb3JrLXN0LmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3Vp dGUvZ2RiLnRocmVhZHMvd2F0Y2hwb2ludC1mb3JrLXN0LmMKKz09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2 L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4yLjkw LjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2hwb2ludC1mb3JrLXN0LmMJ MjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsNjEgQEAKICsv KiBUZXN0IGNhc2UgZm9yIGZvcmdvdHRlbiBody13YXRjaHBvaW50cyBhZnRlciBmb3JrKCktb2Zm IG9mIGEgcHJvY2Vzcy4KICsKQEAgLTEzOTIyLDExICsxMzg2NSwxMCBAQCBpbmRleCAwMDAwMDAw Li5hN2VlZWRkCiArICBtYXJrX2V4aXQgKCk7CiArICByZXR1cm4gMDsKICt9Ci1kaWZmIC0tZ2l0 IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93YXRjaHBvaW50LWZvcmsuZXhwIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIudGhyZWFkcy93YXRjaHBvaW50LWZvcmsuZXhwCi1uZXcgZmlsZSBtb2RlIDEw MDY0NAotaW5kZXggMDAwMDAwMC4uMTE3NzAwYgotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIudGhyZWFkcy93YXRjaHBvaW50LWZvcmsuZXhwCitJbmRleDogZ2RiLTcuMi45 MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3dhdGNocG9pbnQtZm9yay5leHAK Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAg KzAwMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMv d2F0Y2hwb2ludC1mb3JrLmV4cAkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAog QEAgLTAsMCArMSwxNDkgQEAKICsjIENvcHlyaWdodCAyMDA4LCAyMDA5LCAyMDEwIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTQwNzcsMTEgKzE0MDE5LDEwIEBAIGluZGV4 IDAwMDAwMDAuLjExNzcwMGIKICt9IGVsc2UgewogKyAgICB1bnRlc3RlZCAiY2hpbGQiCiArfQot ZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2hwb2ludC1mb3JrLmgg Yi9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3dhdGNocG9pbnQtZm9yay5oCi1uZXcgZmlsZSBt b2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uMzFmNzY1NgotLS0tIC9kZXYvbnVsbAotKysrIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93YXRjaHBvaW50LWZvcmsuaAorSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93YXRjaHBvaW50LWZvcmsu aAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAw MCArMDAwMAorKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFk cy93YXRjaHBvaW50LWZvcmsuaAkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAog QEAgLTAsMCArMSwzMiBAQAogKy8qIFRlc3QgY2FzZSBmb3IgZm9yZ290dGVuIGh3LXdhdGNocG9p bnRzIGFmdGVyIGZvcmsoKS1vZmYgb2YgYSBwcm9jZXNzLgogKwpAQCAtMTQxMTUsMTEgKzE0MDU2 LDEwIEBAIGluZGV4IDAwMDAwMDAuLjMxZjc2NTYKICsKICtleHRlcm4gdm9pZCBtYXJrZXIgKHZv aWQpOwogK2V4dGVybiB2b2lkIGZvcmtvZmYgKGludCBucik7Ci1kaWZmIC0tZ2l0IGEvZ2RiL3Rl c3RzdWl0ZS9nZGIudHJhY2Uvc3RhcC10cmFjZS5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudHJhY2Uv c3RhcC10cmFjZS5jCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uMjdmMzE3 ZQotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudHJhY2Uvc3RhcC10cmFj ZS5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi50cmFjZS9z dGFwLXRyYWNlLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDow MC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUv Z2RiLnRyYWNlL3N0YXAtdHJhY2UuYwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIw MAogQEAgLTAsMCArMSw3MSBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRo ZSBHTlUgZGVidWdnZXIuCiArCkBAIC0xNDE5MiwxMSArMTQxMzIsMTAgQEAgaW5kZXggMDAwMDAw MC4uMjdmMzE3ZQogKwogKyAgcmV0dXJuIDA7CiArfQotZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3Vp dGUvZ2RiLnRyYWNlL3N0YXAtdHJhY2UuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudHJhY2Uvc3Rh cC10cmFjZS5leHAKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi4xODkzNTVm Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIvdGVzdHN1aXRlL2dkYi50cmFjZS9zdGFwLXRyYWNl LmV4cAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIudHJhY2Uv c3RhcC10cmFjZS5leHAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDow MDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3Vp dGUvZ2RiLnRyYWNlL3N0YXAtdHJhY2UuZXhwCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAw ICswMjAwCiBAQCAtMCwwICsxLDEyOSBAQAogKyMgQ29weXJpZ2h0IDIwMTEKICsjIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLgpAQCAtMTQzMjcsMTAgKzE0MjY2LDEwIEBAIGluZGV4IDAw MDAwMDAuLjE4OTM1NWYKICsKICsjIEZpbmlzaGVkIQogK2dkYl90ZXN0ICJ0ZmluZCBub25lIiAi LioiICIiCi1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cCBiL2dkYi90ZXN0 c3VpdGUvbGliL2dkYi5leHAKLWluZGV4IGE1MTI1MjcuLjY1NGUzYzkgMTAwNjQ0Ci0tLS0gYS9n ZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCi0rKysgYi9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhw CitJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCis9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi90ZXN0c3VpdGUvbGli L2dkYi5leHAJMjAxMS0wMy0yNSAxNDowODoxMS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4y LjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAJMjAxMS0wNC0yOSAwOTo0MDo0 Ni4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xNDEsNiArMTQxLDExIEBAIHByb2MgZ2RiX3VubG9hZCB7 fSB7CiAgCSAgICBzZW5kX2dkYiAieVxuIgogIAkgICAgZXhwX2NvbnRpbnVlCkBAIC0xNDM0Mywx MCArMTQyODIsMTAgQEAgaW5kZXggYTUxMjUyNy4uNjU0ZTNjOSAxMDA2NDQKICAJLXJlICJEaXNj YXJkIHN5bWJvbCB0YWJsZSBmcm9tIC4qeSBvciBuLiokIiB7CiAgCSAgICBzZW5kX2dkYiAieVxu IgogIAkgICAgZXhwX2NvbnRpbnVlCi1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9saWIvcGFz Y2FsLmV4cCBiL2dkYi90ZXN0c3VpdGUvbGliL3Bhc2NhbC5leHAKLWluZGV4IDg5MWRhMzcuLjIz NmM1Y2EgMTAwNjQ0Ci0tLS0gYS9nZGIvdGVzdHN1aXRlL2xpYi9wYXNjYWwuZXhwCi0rKysgYi9n ZGIvdGVzdHN1aXRlL2xpYi9wYXNjYWwuZXhwCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9n ZGIvdGVzdHN1aXRlL2xpYi9wYXNjYWwuZXhwCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4y MDExMDQyOS5vcmlnL2dkYi90ZXN0c3VpdGUvbGliL3Bhc2NhbC5leHAJMjAxMS0wMS0wMSAxNjoz Mzo1Mi4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3Vp dGUvbGliL3Bhc2NhbC5leHAJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKIEBA IC0zNyw2ICszNyw5IEBAIHByb2MgcGFzY2FsX2luaXQge30gewogICAgICBnbG9iYWwgcGFzY2Fs X2NvbXBpbGVyX2lzX2ZwYwogICAgICBnbG9iYWwgZ3BjX2NvbXBpbGVyCkBAIC0xNDM3OCwxMCAr MTQzMTcsMTAgQEAgaW5kZXggODkxZGEzNy4uMjM2YzVjYSAxMDA2NDQKICAgICAgfQogICAgICBz ZXQgcGFzY2FsX2luaXRfZG9uZSAxCiAgfSAgIAotZGlmZiAtLWdpdCBhL2dkYi90aHJlYWQuYyBi L2dkYi90aHJlYWQuYwotaW5kZXggNmFkMTgwNy4uYWVmOWRjZSAxMDA2NDQKLS0tLSBhL2dkYi90 aHJlYWQuYwotKysrIGIvZ2RiL3RocmVhZC5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9n ZGIvdGhyZWFkLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2Ri L3RocmVhZC5jCTIwMTEtMDQtMTkgMTc6MjQ6NDkuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcu Mi45MC4yMDExMDQyOS9nZGIvdGhyZWFkLmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAg KzAyMDAKIEBAIC0xNDM4LDcgKzE0MzgsOCBAQCB1cGRhdGVfdGhyZWFkX2xpc3QgKHZvaWQpCiAg ICAgbm8gdGhyZWFkIGlzIHNlbGVjdGVkLCBvciBubyB0aHJlYWRzIGV4aXN0LiAgKi8KICAKQEAg LTE0MzkyLDcgKzE0MzMxLDcgQEAgaW5kZXggNmFkMTgwNy4uYWVmOWRjZSAxMDA2NDQKICB7CiAg ICBzdHJ1Y3QgdGhyZWFkX2luZm8gKnRwID0gZmluZF90aHJlYWRfcHRpZCAoaW5mZXJpb3JfcHRp ZCk7CiAgCi1AQCAtMTQ0OSw2ICsxNDUwLDE1IEBAIHRocmVhZF9pZF9tYWtlX3ZhbHVlIChzdHJ1 Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IGludGVybmFsdmFyICp2YXIpCitAQCAtMTQ0OSw2 ICsxNDUwLDE1IEBAIHRocmVhZF9pZF9tYWtlX3ZhbHVlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2QKICAv KiBDb21tYW5kcyB3aXRoIGEgcHJlZml4IG9mIGB0aHJlYWQnLiAgKi8KICBzdHJ1Y3QgY21kX2xp c3RfZWxlbWVudCAqdGhyZWFkX2NtZF9saXN0ID0gTlVMTDsKICAKQEAgLTE0NDA4LDE3ICsxNDM0 NywxNyBAQCBpbmRleCA2YWQxODA3Li5hZWY5ZGNlIDEwMDY0NAogIHZvaWQKICBfaW5pdGlhbGl6 ZV90aHJlYWQgKHZvaWQpCiAgewotQEAgLTE0OTQsNSArMTUwNCw1IEBAIFNob3cgcHJpbnRpbmcg b2YgdGhyZWFkIGV2ZW50cyAoc3VjaCBhcyB0aHJlYWQgc3RhcnQgYW5kIGV4aXQpLiIpLCBOVUxM LAorQEAgLTE0OTQsNSArMTUwNCw1IEBAIFNob3cgcHJpbnRpbmcgb2YgdGhyZWFkIGV2ZW50cyAo c3VjaCBhcyAKICAgICAgICAgICBzaG93X3ByaW50X3RocmVhZF9ldmVudHMsCiAgICAgICAgICAg JnNldHByaW50bGlzdCwgJnNob3dwcmludGxpc3QpOwogIAogLSAgY3JlYXRlX2ludGVybmFsdmFy X3R5cGVfbGF6eSAoIl90aHJlYWQiLCB0aHJlYWRfaWRfbWFrZV92YWx1ZSk7CiArICBjcmVhdGVf aW50ZXJuYWx2YXJfdHlwZV9sYXp5ICgiX3RocmVhZCIsICZ0aHJlYWRfZnVuY3MsIE5VTEwpOwog IH0KLWRpZmYgLS1naXQgYS9nZGIvdG9wLmMgYi9nZGIvdG9wLmMKLWluZGV4IGEyNTU1MGYuLjg3 ZjBiNDEgMTAwNjQ0Ci0tLS0gYS9nZGIvdG9wLmMKLSsrKyBiL2dkYi90b3AuYworSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA0MjkvZ2RiL3RvcC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuMi45MC4y MDExMDQyOS5vcmlnL2dkYi90b3AuYwkyMDExLTAzLTEyIDIzOjU5OjI0LjAwMDAwMDAwMCArMDEw MAorKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3RvcC5jCTIwMTEtMDQtMjkgMDk6NDA6NDYu MDAwMDAwMDAwICswMjAwCiBAQCAtMzQzLDYgKzM0Myw5IEBAIHZvaWQKICBwcmVwYXJlX2V4ZWN1 dGVfY29tbWFuZCAodm9pZCkKICB7CkBAIC0xNDQyOSwxMCArMTQzNjgsMTAgQEAgaW5kZXggYTI1 NTUwZi4uODdmMGI0MSAxMDA2NDQKICAKICAgIC8qIFdpdGggbXVsdGlwbGUgdGhyZWFkcyBydW5u aW5nIHdoaWxlIHRoZSBvbmUgd2UncmUgZXhhbWluaW5nIGlzCiAgICAgICBzdG9wcGVkLCB0aGUg ZGNhY2hlIGNhbiBnZXQgc3RhbGUgd2l0aG91dCB1cyBiZWluZyBhYmxlIHRvIGRldGVjdAotZGlm ZiAtLWdpdCBhL2dkYi90cmFjZXBvaW50LmMgYi9nZGIvdHJhY2Vwb2ludC5jCi1pbmRleCAzYWUz NWQwLi4xY2IzOWVhIDEwMDY0NAotLS0tIGEvZ2RiL3RyYWNlcG9pbnQuYwotKysrIGIvZ2RiL3Ry YWNlcG9pbnQuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3RyYWNlcG9pbnQuYwor PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvdHJhY2Vwb2ludC5j CTIwMTEtMDMtMTggMTk6NDc6NTYuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDEx MDQyOS9nZGIvdHJhY2Vwb2ludC5jCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAw CiBAQCAtMTYwMCw2ICsxNjAwLDggQEAgc3RhcnRfdHJhY2luZyAodm9pZCkKICAKICAgIGZvciAo aXggPSAwOyBWRUNfaXRlcmF0ZSAoYnJlYWtwb2ludF9wLCB0cF92ZWMsIGl4LCB0KTsgaXgrKykK QEAgLTE0NDUyLDcgKzE0MzkxLDcgQEAgaW5kZXggM2FlMzVkMC4uMWNiMzllYSAxMDA2NDQKICAg ICAgfQogICAgVkVDX2ZyZWUgKGJyZWFrcG9pbnRfcCwgdHBfdmVjKTsKICAKLUBAIC0xNjY5LDcg KzE2NzQsMjggQEAgdHJhY2Vfc3RvcF9jb21tYW5kIChjaGFyICphcmdzLCBpbnQgZnJvbV90dHkp CitAQCAtMTY2OSw3ICsxNjc0LDI4IEBAIHRyYWNlX3N0b3BfY29tbWFuZCAoY2hhciAqYXJncywg aW50IGZyb20KICB2b2lkCiAgc3RvcF90cmFjaW5nICh2b2lkKQogIHsKQEAgLTE0NDgxLDcgKzE0 NDIwLDcgQEAgaW5kZXggM2FlMzVkMC4uMWNiMzllYSAxMDA2NDQKICAgIC8qIFNob3VsZCBjaGFu Z2UgaW4gcmVzcG9uc2UgdG8gcmVwbHk/ICAqLwogICAgY3VycmVudF90cmFjZV9zdGF0dXMgKCkt PnJ1bm5pbmcgPSAwOwogIH0KLUBAIC00NDk3LDcgKzQ1MjMsOCBAQCBpbmZvX3N0YXRpY190cmFj ZXBvaW50X21hcmtlcnNfY29tbWFuZCAoY2hhciAqYXJnLCBpbnQgZnJvbV90dHkpCitAQCAtNDQ5 Nyw3ICs0NTIzLDggQEAgaW5mb19zdGF0aWNfdHJhY2Vwb2ludF9tYXJrZXJzX2NvbW1hbmQgKAog ICAgIGF2YWlsYWJsZS4gICovCiAgCiAgc3RhdGljIHN0cnVjdCB2YWx1ZSAqCkBAIC0xNDQ5MSw3 ICsxNDQzMCw3IEBAIGluZGV4IDNhZTM1ZDAuLjFjYjM5ZWEgMTAwNjQ0CiAgewogICAgTE9OR0VT VCBzaXplOwogICAgZ2RiX2J5dGUgKmJ1ZjsKLUBAIC00Njc2LDYgKzQ3MDMsMTUgQEAgdHJhY2Vm cmFtZV9hdmFpbGFibGVfbWVtb3J5IChWRUMobWVtX3JhbmdlX3MpICoqcmVzdWx0LAorQEAgLTQ2 NzYsNiArNDcwMywxNSBAQCB0cmFjZWZyYW1lX2F2YWlsYWJsZV9tZW1vcnkgKFZFQyhtZW1fcmFu CiAgICByZXR1cm4gMDsKICB9CiAgCkBAIC0xNDUxNiwxMCArMTQ0NTUsMTAgQEAgaW5kZXggM2Fl MzVkMC4uMWNiMzllYSAxMDA2NDQKICAKICAgIHRyYWNlZnJhbWVfbnVtYmVyID0gLTE7CiAgICB0 cmFjZXBvaW50X251bWJlciA9IC0xOwotZGlmZiAtLWdpdCBhL2dkYi90eXBlcHJpbnQuYyBiL2dk Yi90eXBlcHJpbnQuYwotaW5kZXggMDNlNjMzMi4uY2U2ZDFlMCAxMDA2NDQKLS0tLSBhL2dkYi90 eXBlcHJpbnQuYwotKysrIGIvZ2RiL3R5cGVwcmludC5jCitJbmRleDogZ2RiLTcuMi45MC4yMDEx MDQyOS9nZGIvdHlwZXByaW50LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNDI5 Lm9yaWcvZ2RiL3R5cGVwcmludC5jCTIwMTEtMDEtMTEgMjI6NTM6MjUuMDAwMDAwMDAwICswMTAw CisrKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdHlwZXByaW50LmMJMjAxMS0wNC0yOSAwOTo0 MDo0Ni4wMDAwMDAwMDAgKzAyMDAKIEBAIC0zNiw2ICszNiw3IEBACiAgI2luY2x1ZGUgImdkYl9z dHJpbmcuaCIKICAjaW5jbHVkZSAiZXhjZXB0aW9ucy5oIgpAQCAtMTQ1NzMsMTEgKzE0NTEyLDEx IEBAIGluZGV4IDAzZTYzMzIuLmNlNmQxZTAgMTAwNjQ0CiAgfQogIAogIHN0YXRpYyB2b2lkCi1k aWZmIC0tZ2l0IGEvZ2RiL3V0aWxzLmMgYi9nZGIvdXRpbHMuYwotaW5kZXggNTFkMzJiNy4uNWZl ZTgwOSAxMDA2NDQKLS0tLSBhL2dkYi91dGlscy5jCi0rKysgYi9nZGIvdXRpbHMuYwotQEAgLTIy NDMsNiArMjI0MywzNiBAQCBzZXRfYmF0Y2hfZmxhZ19hbmRfbWFrZV9jbGVhbnVwX3Jlc3RvcmVf cGFnZV9pbmZvICh2b2lkKQorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3V0aWxzLmMK Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL3V0aWxzLmMJMjAx MS0wMy0zMSAxNjozMjo0OC4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNDI5 L2dkYi91dGlscy5jCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCitAQCAtMjI0 Myw2ICsyMjQzLDM2IEBAIHNldF9iYXRjaF9mbGFnX2FuZF9tYWtlX2NsZWFudXBfcmVzdG9yZV8K ICAgIHJldHVybiBiYWNrX3RvOwogIH0KICAKQEAgLTE0NjE0LDExICsxNDU1MywxMSBAQCBpbmRl eCA1MWQzMmI3Li41ZmVlODA5IDEwMDY0NAogIC8qIFNldCB0aGUgc2NyZWVuIHNpemUgYmFzZWQg b24gTElORVNfUEVSX1BBR0UgYW5kIENIQVJTX1BFUl9MSU5FLiAgKi8KICAKICBzdGF0aWMgdm9p ZAotZGlmZiAtLWdpdCBhL2dkYi92YWxhcml0aC5jIGIvZ2RiL3ZhbGFyaXRoLmMKLWluZGV4IDY4 ZjY0OWYuLmFhYTQ0ODcgMTAwNjQ0Ci0tLS0gYS9nZGIvdmFsYXJpdGguYwotKysrIGIvZ2RiL3Zh bGFyaXRoLmMKLUBAIC0xOTgsNyArMTk4LDEwIEBAIHZhbHVlX3N1YnNjcmlwdGVkX3J2YWx1ZSAo c3RydWN0IHZhbHVlICphcnJheSwgTE9OR0VTVCBpbmRleCwgaW50IGxvd2VyYm91bmQpCitJbmRl eDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdmFsYXJpdGguYworPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdk Yi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvdmFsYXJpdGguYwkyMDExLTAyLTE4IDIwOjEwOjQ2 LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3ZhbGFyaXRoLmMJ MjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKK0BAIC0xOTgsNyArMTk4LDEwIEBA IHZhbHVlX3N1YnNjcmlwdGVkX3J2YWx1ZSAoc3RydWN0IHZhbHVlICoKICAgIHN0cnVjdCB0eXBl ICphcnJheV90eXBlID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoYXJyYXkpKTsKICAgIHN0 cnVjdCB0eXBlICplbHRfdHlwZSA9IGNoZWNrX3R5cGVkZWYgKFRZUEVfVEFSR0VUX1RZUEUgKGFy cmF5X3R5cGUpKTsKICAgIHVuc2lnbmVkIGludCBlbHRfc2l6ZSA9IFRZUEVfTEVOR1RIIChlbHRf dHlwZSk7CkBAIC0xNDY0MSwxMCArMTQ1ODAsMTAgQEAgaW5kZXggNjhmNjQ5Zi4uYWFhNDQ4NyAx MDA2NDQKICAgIHJldHVybiBiaW5vcF90eXBlc191c2VyX2RlZmluZWRfcCAob3AsIHZhbHVlX3R5 cGUgKGFyZzEpLCB2YWx1ZV90eXBlIChhcmcyKSk7CiAgfQogIAotZGlmZiAtLWdpdCBhL2dkYi92 YWxvcHMuYyBiL2dkYi92YWxvcHMuYwotaW5kZXggOTkxMTViNy4uZGMyNzY0NCAxMDA2NDQKLS0t LSBhL2dkYi92YWxvcHMuYwotKysrIGIvZ2RiL3ZhbG9wcy5jCitJbmRleDogZ2RiLTcuMi45MC4y MDExMDQyOS9nZGIvdmFsb3BzLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNDI5 Lm9yaWcvZ2RiL3ZhbG9wcy5jCTIwMTEtMDMtMjkgMTk6MDQ6MzAuMDAwMDAwMDAwICswMjAwCisr KysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdmFsb3BzLmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4w MDAwMDAwMDAgKzAyMDAKIEBAIC00Nyw2ICs0Nyw3IEBACiAgI2luY2x1ZGUgIm9iamZpbGVzLmgi CiAgI2luY2x1ZGUgInN5bXRhYi5oIgpAQCAtMTQ2NTMsNyArMTQ1OTIsNyBAQCBpbmRleCA5OTEx NWI3Li5kYzI3NjQ0IDEwMDY0NAogIAogIGV4dGVybiBpbnQgb3ZlcmxvYWRfZGVidWc7CiAgLyog TG9jYWwgZnVuY3Rpb25zLiAgKi8KLUBAIC05MTUsNiArOTE2LDY1IEBAIHZhbHVlX29uZSAoc3Ry dWN0IHR5cGUgKnR5cGUsIGVudW0gbHZhbF90eXBlIGx2KQorQEAgLTkxNSw2ICs5MTYsNjUgQEAg dmFsdWVfb25lIChzdHJ1Y3QgdHlwZSAqdHlwZSwgZW51bSBsdmFsXwogICAgcmV0dXJuIHZhbDsK ICB9CiAgCkBAIC0xNDc0NSw3ICsxNDY4NCw3IEBAIGluZGV4IDk5MTE1YjcuLmRjMjc2NDQgMTAw NjQ0CiAgICAgIH0KICAgIGVsc2UgaWYgKFZBTFVFX0xWQUwgKHZhbCkgPT0gbHZhbF9yZWdpc3Rl cikKICAgICAgewotQEAgLTE1MjgsNyArMTU5NiwxOCBAQCBhZGRyZXNzX29mX3ZhcmlhYmxlIChz dHJ1Y3Qgc3ltYm9sICp2YXIsIHN0cnVjdCBibG9jayAqYikKK0BAIC0xNTI4LDcgKzE1OTYsMTgg QEAgYWRkcmVzc19vZl92YXJpYWJsZSAoc3RydWN0IHN5bWJvbCAqdmFyLAogICAgaWYgKChWQUxV RV9MVkFMICh2YWwpID09IGx2YWxfbWVtb3J5ICYmIHZhbHVlX2xhenkgKHZhbCkpCiAgICAgICAg fHwgVFlQRV9DT0RFICh0eXBlKSA9PSBUWVBFX0NPREVfRlVOQykKICAgICAgewpAQCAtMTQ3ODcs NyArMTQ3MjYsNyBAQCBpbmRleCA5OTExNWI3Li5kYzI3NjQ0IDEwMDY0NAogIH0KICAKICAvKiBH aXZlbiBhIHZhbHVlIHdoaWNoIGlzIGEgZnVuY3Rpb24sIHJldHVybiBhIHZhbHVlIHdoaWNoIGlz IGEgcG9pbnRlcgotQEAgLTM2OTUsNiArMzc3OSw4IEBAIHZhbHVlX3NsaWNlIChzdHJ1Y3QgdmFs dWUgKmFycmF5LCBpbnQgbG93Ym91bmQsIGludCBsZW5ndGgpCitAQCAtMzY5NSw2ICszNzc5LDgg QEAgdmFsdWVfc2xpY2UgKHN0cnVjdCB2YWx1ZSAqYXJyYXksIGludCBsbwogIAkJCQkJVFlQRV9U QVJHRVRfVFlQRSAocmFuZ2VfdHlwZSksCiAgCQkJCQlsb3dib3VuZCwgCiAgCQkJCQlsb3dib3Vu ZCArIGxlbmd0aCAtIDEpOwpAQCAtMTQ3OTYsMTAgKzE0NzM1LDEwIEBAIGluZGV4IDk5MTE1Yjcu LmRjMjc2NDQgMTAwNjQ0CiAgICBpZiAoVFlQRV9DT0RFIChhcnJheV90eXBlKSA9PSBUWVBFX0NP REVfQklUU1RSSU5HKQogICAgICB7CiAgICAgICAgaW50IGk7Ci1kaWZmIC0tZ2l0IGEvZ2RiL3Zh bHByaW50LmMgYi9nZGIvdmFscHJpbnQuYwotaW5kZXggMjg2ZWY5ZS4uMWZlNThiMSAxMDA2NDQK LS0tLSBhL2dkYi92YWxwcmludC5jCi0rKysgYi9nZGIvdmFscHJpbnQuYworSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA0MjkvZ2RiL3ZhbHByaW50LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkw LjIwMTEwNDI5Lm9yaWcvZ2RiL3ZhbHByaW50LmMJMjAxMS0wMi0xNCAxMjozNTo0NS4wMDAwMDAw MDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi92YWxwcmludC5jCTIwMTEtMDQt MjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCiBAQCAtMzYsNiArMzYsNyBAQAogICNpbmNsdWRl ICJkZnAuaCIKICAjaW5jbHVkZSAicHl0aG9uL3B5dGhvbi5oIgpAQCAtMTQ4MTYsNyArMTQ3NTUs NyBAQCBpbmRleCAyODZlZjllLi4xZmU1OGIxIDEwMDY0NAogICAgICBjYXNlIFRZUEVfQ09ERV9C SVRTVFJJTkc6CiAgICAgICAgcmV0dXJuIDA7CiAgICAgIGRlZmF1bHQ6Ci1AQCAtMTE5Myw2ICsx MTkzLDcgQEAgdmFsX3ByaW50X2FycmF5X2VsZW1lbnRzIChzdHJ1Y3QgdHlwZSAqdHlwZSwKK0BA IC0xMTkzLDYgKzExOTMsNyBAQCB2YWxfcHJpbnRfYXJyYXlfZWxlbWVudHMgKHN0cnVjdCB0eXBl ICp0CiAgewogICAgdW5zaWduZWQgaW50IHRoaW5nc19wcmludGVkID0gMDsKICAgIHVuc2lnbmVk IGxlbjsKQEAgLTE0ODI0LDcgKzE0NzYzLDcgQEAgaW5kZXggMjg2ZWY5ZS4uMWZlNThiMSAxMDA2 NDQKICAgIHN0cnVjdCB0eXBlICplbHR0eXBlLCAqaW5kZXhfdHlwZTsKICAgIHVuc2lnbmVkIGVs dGxlbjsKICAgIC8qIFBvc2l0aW9uIG9mIHRoZSBhcnJheSBlbGVtZW50IHdlIGFyZSBleGFtaW5p bmcgdG8gc2VlCi1AQCAtMTIwMSw5ICsxMjAyLDMzIEBAIHZhbF9wcmludF9hcnJheV9lbGVtZW50 cyAoc3RydWN0IHR5cGUgKnR5cGUsCitAQCAtMTIwMSw5ICsxMjAyLDMzIEBAIHZhbF9wcmludF9h cnJheV9lbGVtZW50cyAoc3RydWN0IHR5cGUgKnQKICAgIC8qIE51bWJlciBvZiByZXBldGl0aW9u cyB3ZSBoYXZlIGRldGVjdGVkIHNvIGZhci4gICovCiAgICB1bnNpZ25lZCBpbnQgcmVwczsKICAg IExPTkdFU1QgbG93X2JvdW5kLCBoaWdoX2JvdW5kOwpAQCAtMTQ4NjAsNyArMTQ3OTksNyBAQCBp bmRleCAyODZlZjllLi4xZmU1OGIxIDEwMDY0NAogICAgaW5kZXhfdHlwZSA9IFRZUEVfSU5ERVhf VFlQRSAodHlwZSk7CiAgCiAgICBpZiAoZ2V0X2FycmF5X2JvdW5kcyAodHlwZSwgJmxvd19ib3Vu ZCwgJmhpZ2hfYm91bmQpKQotQEAgLTEyODQsNiArMTMwOSw4IEBAIHZhbF9wcmludF9hcnJheV9l bGVtZW50cyAoc3RydWN0IHR5cGUgKnR5cGUsCitAQCAtMTI4NCw2ICsxMzA5LDggQEAgdmFsX3By aW50X2FycmF5X2VsZW1lbnRzIChzdHJ1Y3QgdHlwZSAqdAogICAgICB7CiAgICAgICAgZnByaW50 Zl9maWx0ZXJlZCAoc3RyZWFtLCAiLi4uIik7CiAgICAgIH0KQEAgLTE0ODY5LDEwICsxNDgwOCwx MCBAQCBpbmRleCAyODZlZjllLi4xZmU1OGIxIDEwMDY0NAogIH0KICAKICAvKiBSZWFkIExFTiBi eXRlcyBvZiB0YXJnZXQgbWVtb3J5IGF0IGFkZHJlc3MgTUVNQUREUiwgcGxhY2luZyB0aGUKLWRp ZmYgLS1naXQgYS9nZGIvdmFsdWUuYyBiL2dkYi92YWx1ZS5jCi1pbmRleCAyYWNiMWRmLi42NzQ0 Yjc2IDEwMDY0NAotLS0tIGEvZ2RiL3ZhbHVlLmMKLSsrKyBiL2dkYi92YWx1ZS5jCitJbmRleDog Z2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdmFsdWUuYworPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIu OTAuMjAxMTA0Mjkub3JpZy9nZGIvdmFsdWUuYwkyMDExLTAyLTI3IDIxOjU3OjE1LjAwMDAwMDAw MCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3ZhbHVlLmMJMjAxMS0wNC0yOSAw OTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKIEBAIC00Myw2ICs0Myw3IEBACiAgI2luY2x1ZGUgInB5 dGhvbi9weXRob24uaCIKICAjaW5jbHVkZSA8Y3R5cGUuaD4KQEAgLTE0ODk3LDcgKzE0ODM2LDcg QEAgaW5kZXggMmFjYjFkZi4uNjc0NGI3NiAxMDA2NDQKICAgIGlmICh3aG9sZS0+bHZhbCA9PSBs dmFsX2NvbXB1dGVkKQogICAgICB7CiAgICAgICAgc3RydWN0IGx2YWxfZnVuY3MgKmZ1bmNzID0g d2hvbGUtPmxvY2F0aW9uLmNvbXB1dGVkLmZ1bmNzOwotQEAgLTEzNTIsNiArMTM1NiwxMiBAQCBz ZXRfdmFsdWVfY29tcG9uZW50X2xvY2F0aW9uIChzdHJ1Y3QgdmFsdWUgKmNvbXBvbmVudCwKK0BA IC0xMzUyLDYgKzEzNTYsMTIgQEAgc2V0X3ZhbHVlX2NvbXBvbmVudF9sb2NhdGlvbiAoc3RydWN0 IHZhbAogICAgICAgIGlmIChmdW5jcy0+Y29weV9jbG9zdXJlKQogICAgICAgICAgY29tcG9uZW50 LT5sb2NhdGlvbi5jb21wdXRlZC5jbG9zdXJlID0gZnVuY3MtPmNvcHlfY2xvc3VyZSAod2hvbGUp OwogICAgICB9CkBAIC0xNDkxMCw3ICsxNDg0OSw3IEBAIGluZGV4IDJhY2IxZGYuLjY3NDRiNzYg MTAwNjQ0CiAgfQogIAogIAwKLUBAIC0xNDg1LDYgKzE0OTUsMzEgQEAgc2hvd192YWx1ZXMgKGNo YXIgKm51bV9leHAsIGludCBmcm9tX3R0eSkKK0BAIC0xNDg1LDYgKzE0OTUsMzEgQEAgc2hvd192 YWx1ZXMgKGNoYXIgKm51bV9leHAsIGludCBmcm9tX3R0eQogICAgICAgIG51bV9leHBbMV0gPSAn XDAnOwogICAgICB9CiAgfQpAQCAtMTUwMDEsNyArMTQ5NDAsNyBAQCBpbmRleCAyYWNiMWRmLi42 NzQ0Yjc2IDEwMDY0NAogIC8qIExvb2sgdXAgYW4gaW50ZXJuYWwgdmFyaWFibGUgd2l0aCBuYW1l IE5BTUUuICBOQU1FIHNob3VsZCBub3QKICAgICBub3JtYWxseSBpbmNsdWRlIGEgZG9sbGFyIHNp Z24uCiAgCi1AQCAtMTcxMyw3ICsxNzc2LDggQEAgdmFsdWVfb2ZfaW50ZXJuYWx2YXIgKHN0cnVj dCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgaW50ZXJuYWx2YXIgKnZhcikKK0BAIC0xNzEzLDcg KzE3NzYsOCBAQCB2YWx1ZV9vZl9pbnRlcm5hbHZhciAoc3RydWN0IGdkYmFyY2ggKmdkCiAgICAg ICAgYnJlYWs7CiAgCiAgICAgIGNhc2UgSU5URVJOQUxWQVJfTUFLRV9WQUxVRToKQEAgLTE1MDEx LDcgKzE0OTUwLDcgQEAgaW5kZXggMmFjYjFkZi4uNjc0NGI3NiAxMDA2NDQKICAgICAgICBicmVh azsKICAKICAgICAgZGVmYXVsdDoKLUBAIC0xOTA5LDYgKzE5NzMsMTEgQEAgY2xlYXJfaW50ZXJu YWx2YXIgKHN0cnVjdCBpbnRlcm5hbHZhciAqdmFyKQorQEAgLTE5MDksNiArMTk3MywxMSBAQCBj bGVhcl9pbnRlcm5hbHZhciAoc3RydWN0IGludGVybmFsdmFyICp2CiAgICAgICAgeGZyZWUgKHZh ci0+dS5zdHJpbmcpOwogICAgICAgIGJyZWFrOwogIApAQCAtMTUwMjMsNyArMTQ5NjIsNyBAQCBp bmRleCAyYWNiMWRmLi42NzQ0Yjc2IDEwMDY0NAogICAgICBkZWZhdWx0OgogICAgICAgIGJyZWFr OwogICAgICB9Ci1AQCAtMTk2Myw2ICsyMDMyLDM4IEBAIGNhbGxfaW50ZXJuYWxfZnVuY3Rpb24g KHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAorQEAgLTE5NjMsNiArMjAzMiwzOCBAQCBjYWxsX2lu dGVybmFsX2Z1bmN0aW9uIChzdHJ1Y3QgZ2RiYXJjaCAqCiAgICByZXR1cm4gKCppZm4tPmhhbmRs ZXIpIChnZGJhcmNoLCBsYW5ndWFnZSwgaWZuLT5jb29raWUsIGFyZ2MsIGFyZ3YpOwogIH0KICAK QEAgLTE1MDYyLDcgKzE1MDAxLDcgQEAgaW5kZXggMmFjYjFkZi4uNjc0NGI3NiAxMDA2NDQKICAv KiBUaGUgJ2Z1bmN0aW9uJyBjb21tYW5kLiAgVGhpcyBkb2VzIG5vdGhpbmcgLS0gaXQgaXMganVz dCBhCiAgICAgcGxhY2Vob2xkZXIgdG8gbGV0ICJoZWxwIGZ1bmN0aW9uIE5BTUUiIHdvcmsuICBU aGlzIGlzIGFsc28gdXNlZCBhcwogICAgIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgc3ViLWNv bW1hbmQgdGhhdCBpcyBjcmVhdGVkIHdoZW4KLUBAIC0yMDEwLDExICsyMTExLDEwIEBAIHByZXNl cnZlX29uZV92YWx1ZSAoc3RydWN0IHZhbHVlICp2YWx1ZSwgc3RydWN0IG9iamZpbGUgKm9iamZp bGUsCitAQCAtMjAxMCwxMSArMjExMSwxMCBAQCBwcmVzZXJ2ZV9vbmVfdmFsdWUgKHN0cnVjdCB2 YWx1ZSAqdmFsdWUsCiAgCQkgICAgaHRhYl90IGNvcGllZF90eXBlcykKICB7CiAgICBpZiAoVFlQ RV9PQkpGSUxFICh2YWx1ZS0+dHlwZSkgPT0gb2JqZmlsZSkKQEAgLTE1MDc2LDcgKzE1MDE1LDcg QEAgaW5kZXggMmFjYjFkZi4uNjc0NGI3NiAxMDA2NDQKICAJCQkJCQkgY29waWVkX3R5cGVzKTsK ICB9CiAgCi1AQCAtMjAyOSw3ICsyMTI5LDcgQEAgcHJlc2VydmVfb25lX2ludGVybmFsdmFyIChz dHJ1Y3QgaW50ZXJuYWx2YXIgKnZhciwgc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCitAQCAtMjAy OSw3ICsyMTI5LDcgQEAgcHJlc2VydmVfb25lX2ludGVybmFsdmFyIChzdHJ1Y3QgaW50ZXJuYQog ICAgICBjYXNlIElOVEVSTkFMVkFSX0lOVEVHRVI6CiAgICAgICAgaWYgKHZhci0+dS5pbnRlZ2Vy LnR5cGUgJiYgVFlQRV9PQkpGSUxFICh2YXItPnUuaW50ZWdlci50eXBlKSA9PSBvYmpmaWxlKQog IAl2YXItPnUuaW50ZWdlci50eXBlCkBAIC0xNTA4NSw3ICsxNTAyNCw3IEBAIGluZGV4IDJhY2Ix ZGYuLjY3NDRiNzYgMTAwNjQ0CiAgICAgICAgYnJlYWs7CiAgCiAgICAgIGNhc2UgSU5URVJOQUxW QVJfVkFMVUU6Ci1AQCAtMjA4MCwxNCArMjE4MCwyMiBAQCBzaG93X2NvbnZlbmllbmNlIChjaGFy ICppZ25vcmUsIGludCBmcm9tX3R0eSkKK0BAIC0yMDgwLDE0ICsyMTgwLDIyIEBAIHNob3dfY29u dmVuaWVuY2UgKGNoYXIgKmlnbm9yZSwgaW50IGZyb20KICAgIGdldF91c2VyX3ByaW50X29wdGlv bnMgKCZvcHRzKTsKICAgIGZvciAodmFyID0gaW50ZXJuYWx2YXJzOyB2YXI7IHZhciA9IHZhci0+ bmV4dCkKICAgICAgewpAQCAtMTUxMTEsNyArMTUwNTAsNyBAQCBpbmRleCAyYWNiMWRmLi42NzQ0 Yjc2IDEwMDY0NAogICAgICB9CiAgICBpZiAoIXZhcnNlZW4pCiAgICAgIHByaW50Zl91bmZpbHRl cmVkIChfKCJObyBkZWJ1Z2dlciBjb252ZW5pZW5jZSB2YXJpYWJsZXMgbm93IGRlZmluZWQuXG4i Ci1AQCAtMzA0Nyw3ICszMTU1LDI0IEBAIHZhbHVlX2Zyb21faGlzdG9yeV9yZWYgKGNoYXIgKmgs IGNoYXIgKiplbmRwKQorQEAgLTMwNDcsNyArMzE1NSwyNCBAQCB2YWx1ZV9mcm9tX2hpc3Rvcnlf cmVmIChjaGFyICpoLCBjaGFyICoqCiAgc3RydWN0IHZhbHVlICoKICBjb2VyY2VfcmVmIChzdHJ1 Y3QgdmFsdWUgKmFyZykKICB7CkBAIC0xNTE0OCwxMSArMTUwODcsMTEgQEAgaW5kZXggMmFjYjFk Zi4uNjc0NGI3NiAxMDA2NDQKICsgIG9ic2VydmVyX2F0dGFjaF9tYXJrX3VzZWQgKHZhbHVlX3R5 cGVzX21hcmtfdXNlZCk7CiArI2VuZGlmCiAgfQotZGlmZiAtLWdpdCBhL2dkYi92YWx1ZS5oIGIv Z2RiL3ZhbHVlLmgKLWluZGV4IDA4ODljZWYuLjRiNTFhNGEgMTAwNjQ0Ci0tLS0gYS9nZGIvdmFs dWUuaAotKysrIGIvZ2RiL3ZhbHVlLmgKLUBAIC00NzMsNiArNDczLDEwIEBAIGV4dGVybiBzdHJ1 Y3QgdmFsdWUgKnZhbHVlX2Zyb21fZGVjZmxvYXQgKHN0cnVjdCB0eXBlICp0eXBlLAorSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3ZhbHVlLmgKKz09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4y LjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL3ZhbHVlLmgJMjAxMS0wMy0wNCAyMTowNzoyMi4wMDAwMDAw MDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi92YWx1ZS5oCTIwMTEtMDQtMjkg MDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCitAQCAtNDczLDYgKzQ3MywxMCBAQCBleHRlcm4gc3Ry dWN0IHZhbHVlICp2YWx1ZV9mcm9tX2RlY2Zsb2F0CiAgCQkJCQkgIGNvbnN0IGdkYl9ieXRlICpk ZWNieXRlcyk7CiAgZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqdmFsdWVfZnJvbV9oaXN0b3J5X3JlZiAo Y2hhciAqLCBjaGFyICoqKTsKICAKQEAgLTE1MTYzLDcgKzE1MTAyLDcgQEAgaW5kZXggMDg4OWNl Zi4uNGI1MWE0YSAxMDA2NDQKICBleHRlcm4gc3RydWN0IHZhbHVlICp2YWx1ZV9hdCAoc3RydWN0 IHR5cGUgKnR5cGUsIENPUkVfQUREUiBhZGRyKTsKICBleHRlcm4gc3RydWN0IHZhbHVlICp2YWx1 ZV9hdF9sYXp5IChzdHJ1Y3QgdHlwZSAqdHlwZSwgQ09SRV9BRERSIGFkZHIpOwogIAotQEAgLTY5 NywxMCArNzAxLDUyIEBAIGV4dGVybiBzdHJ1Y3QgaW50ZXJuYWx2YXIgKmxvb2t1cF9vbmx5X2lu dGVybmFsdmFyIChjb25zdCBjaGFyICpuYW1lKTsKK0BAIC02OTcsMTAgKzcwMSw1MiBAQCBleHRl cm4gc3RydWN0IGludGVybmFsdmFyICpsb29rdXBfb25seV9pCiAgCiAgZXh0ZXJuIHN0cnVjdCBp bnRlcm5hbHZhciAqY3JlYXRlX2ludGVybmFsdmFyIChjb25zdCBjaGFyICpuYW1lKTsKICAKQEAg LTE1MjE5LDExICsxNTE1OCwxMSBAQCBpbmRleCAwODg5Y2VmLi40YjUxYTRhIDEwMDY0NAogIAog IGV4dGVybiBzdHJ1Y3QgaW50ZXJuYWx2YXIgKmxvb2t1cF9pbnRlcm5hbHZhciAoY29uc3QgY2hh ciAqbmFtZSk7CiAgCi1kaWZmIC0tZ2l0IGEvZ2RiL3dpbmRvd3MtdGRlcC5jIGIvZ2RiL3dpbmRv d3MtdGRlcC5jCi1pbmRleCAzMWRkZDE0Li5iMzE5MjUwIDEwMDY0NAotLS0tIGEvZ2RiL3dpbmRv d3MtdGRlcC5jCi0rKysgYi9nZGIvd2luZG93cy10ZGVwLmMKLUBAIC0yNjgsNyArMjY4LDcgQEAg c3RhdGljIHN0cnVjdCBsdmFsX2Z1bmNzIHRsYl92YWx1ZV9mdW5jcyA9CitJbmRleDogZ2RiLTcu Mi45MC4yMDExMDQyOS9nZGIvd2luZG93cy10ZGVwLmMKKz09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4y LjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL3dpbmRvd3MtdGRlcC5jCTIwMTEtMDEtMTIgMDI6MjM6Mjku MDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvd2luZG93cy10ZGVw LmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKK0BAIC0yNjgsNyArMjY4LDcg QEAgc3RhdGljIHN0cnVjdCBsdmFsX2Z1bmNzIHRsYl92YWx1ZV9mdW5jcwogICAgIGlmIHRoZXJl J3Mgbm8gb2JqZWN0IGF2YWlsYWJsZS4gICovCiAgCiAgc3RhdGljIHN0cnVjdCB2YWx1ZSAqCkBA IC0xNTI1NSwxMSArMTUxOTQsMTEgQEAgaW5kZXggMzFkZGQxNC4uYjMxOTI1MCAxMDA2NDQKIC0g IGNyZWF0ZV9pbnRlcm5hbHZhcl90eXBlX2xhenkgKCJfdGxiIiwgdGxiX21ha2VfdmFsdWUpOwog KyAgY3JlYXRlX2ludGVybmFsdmFyX3R5cGVfbGF6eSAoIl90bGIiLCAmdGxiX2Z1bmNzLCBOVUxM KTsKICB9Ci1kaWZmIC0tZ2l0IGEvZ2RiL3hjb2ZmcmVhZC5jIGIvZ2RiL3hjb2ZmcmVhZC5jCi1p bmRleCAwODEwODBjLi5mNzFkYmZlIDEwMDY0NAotLS0tIGEvZ2RiL3hjb2ZmcmVhZC5jCi0rKysg Yi9nZGIveGNvZmZyZWFkLmMKLUBAIC0zMDkwLDYgKzMwOTAsNyBAQCBzdGF0aWMgY29uc3Qgc3Ry dWN0IHN5bV9mbnMgeGNvZmZfc3ltX2ZucyA9CitJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9n ZGIveGNvZmZyZWFkLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcv Z2RiL3hjb2ZmcmVhZC5jCTIwMTEtMDMtMDcgMTc6MTc6MjkuMDAwMDAwMDAwICswMTAwCisrKysg Z2RiLTcuMi45MC4yMDExMDQyOS9nZGIveGNvZmZyZWFkLmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4w MDAwMDAwMDAgKzAyMDAKK0BAIC0zMDkwLDYgKzMwOTAsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0 IHN5bV9mbnMgeGNvZmZfc3ltX2ZuCiAgICBkZWZhdWx0X3N5bWZpbGVfc2VnbWVudHMsCS8qIEdl dCBzZWdtZW50IGluZm9ybWF0aW9uIGZyb20gYSBmaWxlLiAgKi8KICAgIGFpeF9wcm9jZXNzX2xp bmVub3MsCiAgICBkZWZhdWx0X3N5bWZpbGVfcmVsb2NhdGUsCS8qIFJlbG9jYXRlIGEgZGVidWcg c2VjdGlvbi4gICovCgpkaWZmIC0tZ2l0IGEvZ2RiLWJ6NjQ1NzczLWNhc2UtaW5zZW5zaXRpdmUt MW9mNS5wYXRjaCBiL2dkYi1iejY0NTc3My1jYXNlLWluc2Vuc2l0aXZlLTFvZjUucGF0Y2gKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2JhYzZmZgotLS0gL2Rldi9udWxsCisr KyBiL2dkYi1iejY0NTc3My1jYXNlLWluc2Vuc2l0aXZlLTFvZjUucGF0Y2gKQEAgLTAsMCArMSw4 NCBAQAorW3BhdGNoXSBDb2RlIGNsZWFudXA6IE5ldyBTWU1CT0xfSEFTSF9ORVhUCitodHRwOi8v c291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxMS0wNC9tc2cwMDAyMi5odG1sCitodHRw Oi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLWN2cy8yMDExLTA0L21zZzAwMDQzLmh0bWwKKworIyMj IHNyYy9nZGIvQ2hhbmdlTG9nCTIwMTEvMDQvMDYgMDM6MjQ6MjIJMS4xMjkwOAorIyMjIHNyYy9n ZGIvQ2hhbmdlTG9nCTIwMTEvMDQvMDYgMTk6NTA6MDMJMS4xMjkwOQorIyMgLTEsMyArMSwxMiBA QAorKzIwMTEtMDQtMDYgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNv bT4KKysKKysJQ29kZSBjbGVhbnVwLgorKwkqIGRpY3Rpb25hcnkuYyAoZGljdF9oYXNoKTogVXNl IFNZTUJPTF9IQVNIX05FWFQuCisrCSogZHdhcmYycmVhZC5jIChtYXBwZWRfaW5kZXhfc3RyaW5n X2hhc2gpOiBSZWZlciB0byBTWU1CT0xfSEFTSF9ORVhUCisrCWluIHRoZSBmdW5jdGlvbiBjb21t ZW50LCBhIG5ldyBub3RlIG9uIHZhbHVlcyBjb21wYXRpYmlsaXR5LgorKwkqIG1pbnN5bXMuYyAo bXN5bWJvbF9oYXNoX2l3LCBtc3ltYm9sX2hhc2gpOiBVc2UgU1lNQk9MX0hBU0hfTkVYVC4KKysJ KiBzeW10YWIuaCAoU1lNQk9MX0hBU0hfTkVYVCk6IE5ldy4KKysKKyAyMDExLTA0LTA2ICBUaGlh Z28gSnVuZyBCYXVlcm1hbm4gIDxiYXVlcm1hbkBici5pYm0uY29tPgorIAorIAkqIHBwYy1saW51 eC1uYXQuYyAoY2hlY2tfY29uZGl0aW9uKTogQWRkIGxlbiBvdXRwdXQgcGFyYW1ldGVyLgorLS0t IHNyYy9nZGIvZGljdGlvbmFyeS5jCTIwMTEvMDEvMDcgMTk6MzY6MTUJMS4yMQorKysrIHNyYy9n ZGIvZGljdGlvbmFyeS5jCTIwMTEvMDQvMDYgMTk6NTA6MDQJMS4yMgorQEAgLTgyNiw3ICs4MjYs NyBAQAorIAkgICAgfQorIAkgIC8qIEZBTEwgVEhST1VHSCAqLworIAlkZWZhdWx0OgorLQkgIGhh c2ggPSBoYXNoICogNjcgKyAqc3RyaW5nIC0gMTEzOworKwkgIGhhc2ggPSBTWU1CT0xfSEFTSF9O RVhUIChoYXNoLCAqc3RyaW5nKTsKKyAJICBzdHJpbmcgKz0gMTsKKyAJICBicmVhazsKKyAJfQor LS0tIHNyYy9nZGIvZHdhcmYycmVhZC5jCTIwMTEvMDQvMDQgMTQ6MTA6MTIJMS41MjAKKysrKyBz cmMvZ2RiL2R3YXJmMnJlYWQuYwkyMDExLzA0LzA2IDE5OjUwOjA0CTEuNTIxCitAQCAtMTk2Miwx MSArMTk2MiwxMSBAQAorICAgZG9fY2xlYW51cHMgKGNsZWFudXApOworIH0KKyAKKy0vKiBUaGUg aGFzaCBmdW5jdGlvbiBmb3Igc3RyaW5ncyBpbiB0aGUgbWFwcGVkIGluZGV4LiAgVGhpcyBpcyB0 aGUKKy0gICBzYW1lIGFzIHRoZSBoYXNodGFiLmMgaGFzaCBmdW5jdGlvbiwgYnV0IHdlIGtlZXAg YSBzZXBhcmF0ZSBjb3B5IHRvCistICAgbWFpbnRhaW4gY29udHJvbCBvdmVyIHRoZSBpbXBsZW1l bnRhdGlvbi4gIFRoaXMgaXMgbmVjZXNzYXJ5CistICAgYmVjYXVzZSB0aGUgaGFzaCBmdW5jdGlv biBpcyB0aWVkIHRvIHRoZSBmb3JtYXQgb2YgdGhlIG1hcHBlZCBpbmRleAorLSAgIGZpbGUuICAq LworKy8qIFRoZSBoYXNoIGZ1bmN0aW9uIGZvciBzdHJpbmdzIGluIHRoZSBtYXBwZWQgaW5kZXgu ICBUaGlzIGlzIHRoZSBzYW1lIGFzCisrICAgU1lNQk9MX0hBU0hfTkVYVCwgYnV0IHdlIGtlZXAg YSBzZXBhcmF0ZSBjb3B5IHRvIG1haW50YWluIGNvbnRyb2wgb3ZlciB0aGUKKysgICBpbXBsZW1l bnRhdGlvbi4gIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgdGhlIGhhc2ggZnVuY3Rpb24gaXMg dGllZCB0byB0aGUKKysgICBmb3JtYXQgb2YgdGhlIG1hcHBlZCBpbmRleCBmaWxlLiAgVGhlIGhh c2ggdmFsdWVzIGRvIG5vdCBoYXZlIHRvIG1hdGNoIHdpdGgKKysgICBTWU1CT0xfSEFTSF9ORVhU LiAgKi8KKyAKKyBzdGF0aWMgaGFzaHZhbF90CisgbWFwcGVkX2luZGV4X3N0cmluZ19oYXNoIChj b25zdCB2b2lkICpwKQorLS0tIHNyYy9nZGIvbWluc3ltcy5jCTIwMTEvMDMvMjggMjA6Mjk6NTEJ MS44MQorKysrIHNyYy9nZGIvbWluc3ltcy5jCTIwMTEvMDQvMDYgMTk6NTA6MDUJMS44MgorQEAg LTkxLDcgKzkxLDcgQEAKKyAJKytzdHJpbmc7CisgICAgICAgaWYgKCpzdHJpbmcgJiYgKnN0cmlu ZyAhPSAnKCcpCisgCXsKKy0JICBoYXNoID0gaGFzaCAqIDY3ICsgKnN0cmluZyAtIDExMzsKKysJ ICBoYXNoID0gU1lNQk9MX0hBU0hfTkVYVCAoaGFzaCwgKnN0cmluZyk7CisgCSAgKytzdHJpbmc7 CisgCX0KKyAgICAgfQorQEAgLTEwNiw3ICsxMDYsNyBAQAorICAgdW5zaWduZWQgaW50IGhhc2gg PSAwOworIAorICAgZm9yICg7ICpzdHJpbmc7ICsrc3RyaW5nKQorLSAgICBoYXNoID0gaGFzaCAq IDY3ICsgKnN0cmluZyAtIDExMzsKKysgICAgaGFzaCA9IFNZTUJPTF9IQVNIX05FWFQgKGhhc2gs ICpzdHJpbmcpOworICAgcmV0dXJuIGhhc2g7CisgfQorIAorLS0tIHNyYy9nZGIvc3ltdGFiLmgJ MjAxMS8wNC8wNCAxNToxOTo1OQkxLjE3NworKysrIHNyYy9nZGIvc3ltdGFiLmgJMjAxMS8wNC8w NiAxOTo1MDowNQkxLjE3OAorQEAgLTEwMDQsNiArMTAwNCwxMiBAQAorIAorIGV4dGVybiB1bnNp Z25lZCBpbnQgbXN5bWJvbF9oYXNoIChjb25zdCBjaGFyICopOworIAorKy8qIENvbXB1dGUgdGhl IG5leHQgaGFzaCB2YWx1ZSBmcm9tIHByZXZpb3VzIEhBU0ggYW5kIHRoZSBjaGFyYWN0ZXIgQy4g IFRoaXMKKysgICBpcyBvbmx5IGEgR0RCIGluLW1lbW9yeSBjb21wdXRlZCB2YWx1ZSB3aXRoIG5v IGV4dGVybmFsIGZpbGVzIGNvbXBhdGliaWxpdHkKKysgICByZXF1aXJlbWVudHMuICAqLworKwor KyNkZWZpbmUgU1lNQk9MX0hBU0hfTkVYVChoYXNoLCBjKSAoKGhhc2gpICogNjcgKyAoYykgLSAx MTMpCisrCisgZXh0ZXJuIHN0cnVjdCBvYmpmaWxlICogbXN5bWJvbF9vYmpmaWxlIChzdHJ1Y3Qg bWluaW1hbF9zeW1ib2wgKnN5bSk7CisgCisgZXh0ZXJuIHZvaWQKCmRpZmYgLS1naXQgYS9nZGIt Yno2NDU3NzMtY2FzZS1pbnNlbnNpdGl2ZS0yb2Y1LnBhdGNoIGIvZ2RiLWJ6NjQ1NzczLWNhc2Ut aW5zZW5zaXRpdmUtMm9mNS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw Li5iN2YyZTMyCi0tLSAvZGV2L251bGwKKysrIGIvZ2RiLWJ6NjQ1NzczLWNhc2UtaW5zZW5zaXRp dmUtMm9mNS5wYXRjaApAQCAtMCwwICsxLDEzOSBAQAoraHR0cDovL3NvdXJjZXdhcmUub3JnL21s L2dkYi1wYXRjaGVzLzIwMTEtMDQvbXNnMDAxMjQuaHRtbAorU3ViamVjdDogW3BhdGNoIDEvM10g Y2FzZSBpbnNlbnNpdGl2ZTogUmVmb3JtYXQgY29kZQorCitIaSwKKworanVzdCBzb21lIHJlZm9y bWF0dGluZyB0byBtYWtlIHRoZSBsYXRlciBwYXRjaCBtb3JlIGNsZWFyLiAgVGhlcmUgc2hvdWxk IGJlIG5vCitmdW5jdGlvbmFsaXR5IGRpZmZlcmVuY2UgYnkgdGhpcyBwYXRjaC4gIGMxK2MyIGFy ZSBhIGJpdCB1Z2x5IGJ1dCBJIGZvdW5kIGFueQorb3RoZXIgc29sdXRpb24gYSBiaXQgdWdseS4K KworCitUaGFua3MsCitKYW4KKworCitnZGIvCisyMDExLTA0LTA4ICBKYW4gS3JhdG9jaHZpbCAg PGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CisKKwlGb3JtYXQgdGhlIGNvZGUgZm9yIHRoZSBu ZXh0IHBhdGNoLgorCSogZHdhcmYycmVhZC5jIChzdHJ1Y3QgbWFwcGVkX2luZGV4KTogSW5jbHVk ZSBkZWxpbWl0aW5nIG5ld2xpbmVzLgorCSogdXRpbHMuYyAoc3RyY21wX2l3X29yZGVyZWQpOiBS ZWZvcm1hdCB0aGUgY29kZSBmb3IgdGhlIG5leHQgcGF0Y2guCisJTmV3IHZhcmlhYmxlcyBjMSBh bmQgYzIuCisKKy0tLSBhL2dkYi9kd2FyZjJyZWFkLmMKKysrKyBiL2dkYi9kd2FyZjJyZWFkLmMK K0BAIC0xNTAsMTQgKzE1MCwxOSBAQCBzdHJ1Y3QgbWFwcGVkX2luZGV4CisgeworICAgLyogVGhl IHRvdGFsIGxlbmd0aCBvZiB0aGUgYnVmZmVyLiAgKi8KKyAgIG9mZl90IHRvdGFsX3NpemU7Cisr CisgICAvKiBBIHBvaW50ZXIgdG8gdGhlIGFkZHJlc3MgdGFibGUgZGF0YS4gICovCisgICBjb25z dCBnZGJfYnl0ZSAqYWRkcmVzc190YWJsZTsKKysKKyAgIC8qIFNpemUgb2YgdGhlIGFkZHJlc3Mg dGFibGUgZGF0YSBpbiBieXRlcy4gICovCisgICBvZmZzZXRfdHlwZSBhZGRyZXNzX3RhYmxlX3Np emU7CisrCisgICAvKiBUaGUgc3ltYm9sIHRhYmxlLCBpbXBsZW1lbnRlZCBhcyBhIGhhc2ggdGFi bGUuICAqLworICAgY29uc3Qgb2Zmc2V0X3R5cGUgKnN5bWJvbF90YWJsZTsKKysKKyAgIC8qIFNp emUgaW4gc2xvdHMsIGVhY2ggc2xvdCBpcyAyIG9mZnNldF90eXBlcy4gICovCisgICBvZmZzZXRf dHlwZSBzeW1ib2xfdGFibGVfc2xvdHM7CisrCisgICAvKiBBIHBvaW50ZXIgdG8gdGhlIGNvbnN0 YW50IHBvb2wuICAqLworICAgY29uc3QgY2hhciAqY29uc3RhbnRfcG9vbDsKKyB9OworLS0tIGEv Z2RiL3V0aWxzLmMKKysrKyBiL2dkYi91dGlscy5jCitAQCAtMzAyMyw0OCArMzAyMyw1NSBAQCBz dHJjbXBfaXcgKGNvbnN0IGNoYXIgKnN0cmluZzEsIGNvbnN0IGNoYXIgKnN0cmluZzIpCisgaW50 Cisgc3RyY21wX2l3X29yZGVyZWQgKGNvbnN0IGNoYXIgKnN0cmluZzEsIGNvbnN0IGNoYXIgKnN0 cmluZzIpCisgeworLSAgd2hpbGUgKCgqc3RyaW5nMSAhPSAnXDAnKSAmJiAoKnN0cmluZzIgIT0g J1wwJykpCisrICAvKiBGb3JtYXR0aW5nIHN0dWIuICAqLworKyAgaWYgKDEpCisgICAgIHsKKy0g ICAgICB3aGlsZSAoaXNzcGFjZSAoKnN0cmluZzEpKQorLQl7CistCSAgc3RyaW5nMSsrOworLQl9 CistICAgICAgd2hpbGUgKGlzc3BhY2UgKCpzdHJpbmcyKSkKKy0JeworLQkgIHN0cmluZzIrKzsK Ky0JfQorLSAgICAgIGlmICgqc3RyaW5nMSAhPSAqc3RyaW5nMikKKysgICAgICAvKiBDMSBhbmQg QzIgYXJlIHZhbGlkIG9ubHkgaWYgKnN0cmluZzEgIT0gJ1wwJyAmJiAqc3RyaW5nMiAhPSAnXDAn LgorKwkgUHJvdmlkZSBzdHViIGNoYXJhY3RlcnMgaWYgd2UgYXJlIGFscmVhZHkgYXQgdGhlIGVu ZCBvZiBvbmUgb2YgdGhlCisrCSBzdHJpbmdzLiAgKi8KKysgICAgICBjaGFyIGMxID0gJ1gnLCBj MiA9ICdYJzsKKysKKysgICAgICB3aGlsZSAoKnN0cmluZzEgIT0gJ1wwJyAmJiAqc3RyaW5nMiAh PSAnXDAnKQorIAl7CistCSAgYnJlYWs7CisrCSAgd2hpbGUgKGlzc3BhY2UgKCpzdHJpbmcxKSkK KysJICAgIHN0cmluZzErKzsKKysJICB3aGlsZSAoaXNzcGFjZSAoKnN0cmluZzIpKQorKwkgICAg c3RyaW5nMisrOworKworKwkgICAgICBjMSA9ICpzdHJpbmcxOworKwkgICAgICBjMiA9ICpzdHJp bmcyOworKwkgIGlmIChjMSAhPSBjMikKKysJICAgIGJyZWFrOworKworKwkgIGlmICgqc3RyaW5n MSAhPSAnXDAnKQorKwkgICAgeworKwkgICAgICBzdHJpbmcxKys7CisrCSAgICAgIHN0cmluZzIr KzsKKysJICAgIH0KKyAJfQorLSAgICAgIGlmICgqc3RyaW5nMSAhPSAnXDAnKQorKworKyAgICAg IHN3aXRjaCAoKnN0cmluZzEpCisgCXsKKy0JICBzdHJpbmcxKys7CistCSAgc3RyaW5nMisrOwor KwkgIC8qIENoYXJhY3RlcnMgYXJlIG5vbi1lcXVhbCB1bmxlc3MgdGhleSdyZSBib3RoICdcMCc7 IHdlIHdhbnQgdG8KKysJICAgICBtYWtlIHN1cmUgd2UgZ2V0IHRoZSBjb21wYXJpc29uIHJpZ2h0 IGFjY29yZGluZyB0byBvdXIKKysJICAgICBjb21wYXJpc29uIGluIHRoZSBjYXNlcyB3aGVyZSBv bmUgb2YgdGhlbSBpcyAnXDAnIG9yICcoJy4gICovCisrCWNhc2UgJ1wwJzoKKysJICBpZiAoKnN0 cmluZzIgPT0gJ1wwJykKKysJICAgIHJldHVybiAwOworKwkgIGVsc2UKKysJICAgIHJldHVybiAt MTsKKysJY2FzZSAnKCc6CisrCSAgaWYgKCpzdHJpbmcyID09ICdcMCcpCisrCSAgICByZXR1cm4g MTsKKysJICBlbHNlCisrCSAgICByZXR1cm4gLTE7CisrCWRlZmF1bHQ6CisrCSAgaWYgKCpzdHJp bmcyID09ICdcMCcgfHwgKnN0cmluZzIgPT0gJygnKQorKwkgICAgcmV0dXJuIDE7CisrCSAgZWxz ZQorKwkgICAgcmV0dXJuIGMxIC0gYzI7CisgCX0KKyAgICAgfQorLQorLSAgc3dpdGNoICgqc3Ry aW5nMSkKKy0gICAgeworLSAgICAgIC8qIENoYXJhY3RlcnMgYXJlIG5vbi1lcXVhbCB1bmxlc3Mg dGhleSdyZSBib3RoICdcMCc7IHdlIHdhbnQgdG8KKy0JIG1ha2Ugc3VyZSB3ZSBnZXQgdGhlIGNv bXBhcmlzb24gcmlnaHQgYWNjb3JkaW5nIHRvIG91cgorLQkgY29tcGFyaXNvbiBpbiB0aGUgY2Fz ZXMgd2hlcmUgb25lIG9mIHRoZW0gaXMgJ1wwJyBvciAnKCcuICAqLworLSAgICBjYXNlICdcMCc6 CistICAgICAgaWYgKCpzdHJpbmcyID09ICdcMCcpCistCXJldHVybiAwOworLSAgICAgIGVsc2UK Ky0JcmV0dXJuIC0xOworLSAgICBjYXNlICcoJzoKKy0gICAgICBpZiAoKnN0cmluZzIgPT0gJ1ww JykKKy0JcmV0dXJuIDE7CistICAgICAgZWxzZQorLQlyZXR1cm4gLTE7CistICAgIGRlZmF1bHQ6 CistICAgICAgaWYgKCpzdHJpbmcyID09ICcoJykKKy0JcmV0dXJuIDE7CistICAgICAgZWxzZQor LQlyZXR1cm4gKnN0cmluZzEgLSAqc3RyaW5nMjsKKy0gICAgfQorIH0KKyAKKyAvKiBBIHNpbXBs ZSBjb21wYXJpc29uIGZ1bmN0aW9uIHdpdGggb3Bwb3NpdGUgc2VtYW50aWNzIHRvIHN0cmNtcC4g ICovCisKCmRpZmYgLS1naXQgYS9nZGItYno2NDU3NzMtY2FzZS1pbnNlbnNpdGl2ZS0zb2Y1LnBh dGNoIGIvZ2RiLWJ6NjQ1NzczLWNhc2UtaW5zZW5zaXRpdmUtM29mNS5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jY2Q0YmYyCi0tLSAvZGV2L251bGwKKysrIGIvZ2Ri LWJ6NjQ1NzczLWNhc2UtaW5zZW5zaXRpdmUtM29mNS5wYXRjaApAQCAtMCwwICsxLDE4OCBAQAor aHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTEtMDQvbXNnMDAxMjUuaHRt bAorU3ViamVjdDogW3BhdGNoIDIvM10gY2FzZSBpbnNlbnNpdGl2ZTogcmVfY29tcC0+cmVnY29t cAorCitIaSwKKworcmVfY29tcCBjYW5ub3QgYmUgcGFzc2VkIFJFR19JQ0FTRS4gIFRoZXJlZm9y ZSBjaGFuZ2UgdGhlIGNvZGUuICBUaGUgc2hvdWxkCitoYXZlIG5vIGZ1bmN0aW9uYWxpdHkgaW1w YWN0LgorCitUaGUgbmV3IGJvb2xlYW4gZmllbGQgYHByZWdfcCcgY291bGQgYmUgbWF5YmUgcmVw bGFjZWQgYnkgYSBjb25kaXRpb25hbAorYHByZWcuYnVmZmVyICE9IE5VTEwnIHdoaWNoIHdvdWxk IHdvcmsgd2l0aCBsaWJpYmVydHkgcmVnY29tcCBpbXBsZW1lbnRhdGlvbgorYnV0IEkgZG8gbm90 IHNlZSBpdCBndWFyYW50ZWVkIGFueXdoZXJlLiAgR0RCIGlzIGFsd2F5cyB1c2luZyBzdGF0aWMg bGliaWJlcnR5CitpbXBsZW1lbnRhdGlvbiB3aGljaCBJIGRvIG5vdCBzZWUgd2h5IGluIHRoZSBj YXNlIGl0IGlzIHJ1bm5pbmcgb24gZ2xpYmMuCitCdXQgaWYgaXQgZ2V0cyBmaXhlZCBvbmUgZGF5 IGFuZCBpdCBzdGFydHMgdG8gdXNlIGV4dGVybmFsbHkgbGlua2VkCityZWdjb21wL3JlZ2V4ZWMg SSB3b3VsZCBmaW5kIHRoZSBgcHJlZy5idWZmZXIgIT0gTlVMTCcgY29uZGl0aW9uYWwgZGFuZ2Vy b3VzLgorCisKK1RoYW5rcywKK0phbgorCisKK2dkYi8KKzIwMTEtMDQtMDggIEphbiBLcmF0b2No dmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KKworCVJlcGxhY2UgcmVfY29tcC9yZV9l eGVjIGJ5IHJlZ2NvbXAvcmVnZXhlYy4KKwkqIHN5bXRhYi5jIChzdHJ1Y3Qgc2VhcmNoX3N5bWJv bHNfZGF0YSk6IE5ldyBmaWVsZHMgcHJlZywgcHJlZ19wLgorCShzZWFyY2hfc3ltYm9sc19uYW1l X21hdGNoZXMpOiBVc2UgdGhlbSwgdXNlIHJlZ2V4ZWMuCisJKHNlYXJjaF9zeW1ib2xzKTogTmV3 IHZhcmlhYmxlIHJldHZhbF9jaGFpbiwgYWRqdXN0IHRoZSB1c2Ugb2YKKwlvbGRfY2hhaW4gYWdh aW5zdCBpdC4gIFJlcGxhY2UgcmVfY29tcCBieSByZWdjb21wLiAgVXNlIHRoZSBuZXcgc3RydWN0 CisJc2VhcmNoX3N5bWJvbHNfZGF0YSBmaWVsZHMsIHVzZSByZWdleGVjIGluc3RlYWQgb2YgcmVf ZXhlYy4KKworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3N5bXRhYi5jCis9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09CistLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9zeW10YWIuYwkyMDExLTA0LTI5 IDA5OjQzOjMzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3N5 bXRhYi5jCTIwMTEtMDQtMjkgMDk6NDM6NTUuMDAwMDAwMDAwICswMjAwCitAQCAtMjk1OCw3ICsy OTU4LDEwIEBAIHN0cnVjdCBzZWFyY2hfc3ltYm9sc19kYXRhCisgeworICAgaW50IG5maWxlczsK KyAgIGNoYXIgKipmaWxlczsKKy0gIGNoYXIgKnJlZ2V4cDsKKysKKysgIC8qIEl0IGlzIHRydWUg aWYgUFJFRyBjb250YWlucyB2YWxpZCBkYXRhLCBmYWxzZSBvdGhlcndpc2UuICAqLworKyAgdW5z aWduZWQgcHJlZ19wIDogMTsKKysgIHJlZ2V4X3QgcHJlZzsKKyB9OworIAorIC8qIEEgY2FsbGJh Y2sgZm9yIGV4cGFuZF9zeW10YWJzX21hdGNoaW5nLiAgKi8KK0BAIC0yOTc2LDcgKzI5NzksNyBA QCBzZWFyY2hfc3ltYm9sc19uYW1lX21hdGNoZXMgKGNvbnN0IGNoYXIgCisgeworICAgc3RydWN0 IHNlYXJjaF9zeW1ib2xzX2RhdGEgKmRhdGEgPSB1c2VyX2RhdGE7CisgCistICByZXR1cm4gZGF0 YS0+cmVnZXhwID09IE5VTEwgfHwgcmVfZXhlYyAoc3ltbmFtZSk7CisrICByZXR1cm4gIWRhdGEt PnByZWdfcCB8fCByZWdleGVjICgmZGF0YS0+cHJlZywgc3ltbmFtZSwgMCwgTlVMTCwgMCkgPT0g MDsKKyB9CisgCisgLyogU2VhcmNoIHRoZSBzeW1ib2wgdGFibGUgZm9yIG1hdGNoZXMgdG8gdGhl IHJlZ3VsYXIgZXhwcmVzc2lvbiBSRUdFWFAsCitAQCAtMzAyMyw5ICszMDI2LDEzIEBAIHNlYXJj aF9zeW1ib2xzIChjaGFyICpyZWdleHAsIGRvbWFpbl9lbnUKKyAgIHN0cnVjdCBzeW1ib2xfc2Vh cmNoICpzcjsKKyAgIHN0cnVjdCBzeW1ib2xfc2VhcmNoICpwc3I7CisgICBzdHJ1Y3Qgc3ltYm9s X3NlYXJjaCAqdGFpbDsKKy0gIHN0cnVjdCBjbGVhbnVwICpvbGRfY2hhaW4gPSBOVUxMOworICAg c3RydWN0IHNlYXJjaF9zeW1ib2xzX2RhdGEgZGF0dW07CisgCisrICAvKiBPTERfQ0hBSU4gLi4g UkVUVkFMX0NIQUlOIGlzIGFsd2F5cyBmcmVlZCwgUkVUVkFMX0NIQUlOIC4uIGN1cnJlbnQKKysg ICAgIENMRUFOVVBfQ0hBSU4gaXMgZnJlZWQgb25seSBpbiB0aGUgY2FzZSBvZiBhbiBlcnJvci4g ICovCisrICBzdHJ1Y3QgY2xlYW51cCAqb2xkX2NoYWluID0gbWFrZV9jbGVhbnVwIChudWxsX2Ns ZWFudXAsIE5VTEwpOworKyAgc3RydWN0IGNsZWFudXAgKnJldHZhbF9jaGFpbjsKKysKKyAgIGlm IChraW5kIDwgVkFSSUFCTEVTX0RPTUFJTiB8fCBraW5kID49IEFMTF9ET01BSU4pCisgICAgIGVy cm9yIChfKCJtdXN0IHNlYXJjaCBvbiBzcGVjaWZpYyBkb21haW4iKSk7CisgCitAQCAtMzAzNiw2 ICszMDQzLDcgQEAgc2VhcmNoX3N5bWJvbHMgKGNoYXIgKnJlZ2V4cCwgZG9tYWluX2VudQorIAor ICAgc3IgPSAqbWF0Y2hlcyA9IE5VTEw7CisgICB0YWlsID0gTlVMTDsKKysgIGRhdHVtLnByZWdf cCA9IDA7CisgCisgICBpZiAocmVnZXhwICE9IE5VTEwpCisgICAgIHsKK0BAIC0zMDQ1LDYgKzMw NTMsNyBAQCBzZWFyY2hfc3ltYm9scyAoY2hhciAqcmVnZXhwLCBkb21haW5fZW51CisgICAgICAg ICAgYW5kIDxUWVBFTkFNRT4gb3IgPE9QRVJBVE9SPi4gICovCisgICAgICAgY2hhciAqb3BlbmQ7 CisgICAgICAgY2hhciAqb3BuYW1lID0gb3BlcmF0b3JfY2hhcnMgKHJlZ2V4cCwgJm9wZW5kKTsK KysgICAgICBpbnQgZXJyY29kZTsKKyAKKyAgICAgICBpZiAoKm9wbmFtZSkKKyAJeworQEAgLTMw NzMsOCArMzA4MiwxNiBAQCBzZWFyY2hfc3ltYm9scyAoY2hhciAqcmVnZXhwLCBkb21haW5fZW51 CisgCSAgICB9CisgCX0KKyAKKy0gICAgICBpZiAoMCAhPSAodmFsID0gcmVfY29tcCAocmVnZXhw KSkpCistCWVycm9yIChfKCJJbnZhbGlkIHJlZ2V4cCAoJXMpOiAlcyIpLCB2YWwsIHJlZ2V4cCk7 CisrICAgICAgZXJyY29kZSA9IHJlZ2NvbXAgKCZkYXR1bS5wcmVnLCByZWdleHAsIFJFR19OT1NV Qik7CisrICAgICAgaWYgKGVycmNvZGUgIT0gMCkKKysJeworKwkgIGNoYXIgKmVyciA9IGdldF9y ZWdjb21wX2Vycm9yIChlcnJjb2RlLCAmZGF0dW0ucHJlZyk7CisrCisrCSAgbWFrZV9jbGVhbnVw ICh4ZnJlZSwgZXJyKTsKKysJICBlcnJvciAoXygiSW52YWxpZCByZWdleHAgKCVzKTogJXMiKSwg ZXJyLCByZWdleHApOworKwl9CisrICAgICAgZGF0dW0ucHJlZ19wID0gMTsKKysgICAgICBtYWtl X3JlZ2ZyZWVfY2xlYW51cCAoJmRhdHVtLnByZWcpOworICAgICB9CisgCisgICAvKiBTZWFyY2gg dGhyb3VnaCB0aGUgcGFydGlhbCBzeW10YWJzICpmaXJzdCogZm9yIGFsbCBzeW1ib2xzCitAQCAt MzA4Myw3ICszMTAwLDYgQEAgc2VhcmNoX3N5bWJvbHMgKGNoYXIgKnJlZ2V4cCwgZG9tYWluX2Vu dQorIAorICAgZGF0dW0ubmZpbGVzID0gbmZpbGVzOworICAgZGF0dW0uZmlsZXMgPSBmaWxlczsK Ky0gIGRhdHVtLnJlZ2V4cCA9IHJlZ2V4cDsKKyAgIEFMTF9PQkpGSUxFUyAob2JqZmlsZSkKKyAg IHsKKyAgICAgaWYgKG9iamZpbGUtPnNmKQorQEAgLTMwOTQsNiArMzExMCw4IEBAIHNlYXJjaF9z eW1ib2xzIChjaGFyICpyZWdleHAsIGRvbWFpbl9lbnUKKyAJCQkJCQkmZGF0dW0pOworICAgfQor IAorKyAgcmV0dmFsX2NoYWluID0gb2xkX2NoYWluOworKworICAgLyogSGVyZSwgd2Ugc2VhcmNo IHRocm91Z2ggdGhlIG1pbmltYWwgc3ltYm9sIHRhYmxlcyBmb3IgZnVuY3Rpb25zCisgICAgICBh bmQgdmFyaWFibGVzIHRoYXQgbWF0Y2gsIGFuZCBmb3JjZSB0aGVpciBzeW1ib2xzIHRvIGJlIHJl YWQuCisgICAgICBUaGlzIGlzIGluIHBhcnRpY3VsYXIgbmVjZXNzYXJ5IGZvciBkZW1hbmdsZWQg dmFyaWFibGUgbmFtZXMsCitAQCAtMzExNyw4ICszMTM1LDkgQEAgc2VhcmNoX3N5bWJvbHMgKGNo YXIgKnJlZ2V4cCwgZG9tYWluX2VudQorIAkgICAgTVNZTUJPTF9UWVBFIChtc3ltYm9sKSA9PSBv dXJ0eXBlMyB8fAorIAkgICAgTVNZTUJPTF9UWVBFIChtc3ltYm9sKSA9PSBvdXJ0eXBlNCkKKyAJ ICB7CistCSAgICBpZiAocmVnZXhwID09IE5VTEwKKy0JCXx8IHJlX2V4ZWMgKFNZTUJPTF9OQVRV UkFMX05BTUUgKG1zeW1ib2wpKSAhPSAwKQorKwkgICAgaWYgKCFkYXR1bS5wcmVnX3AKKysJCXx8 IHJlZ2V4ZWMgKCZkYXR1bS5wcmVnLCBTWU1CT0xfTkFUVVJBTF9OQU1FIChtc3ltYm9sKSwgMCwK KysJCQkgICAgTlVMTCwgMCkgPT0gMCkKKyAJICAgICAgeworIAkJaWYgKDAgPT0gZmluZF9wY19z eW10YWIgKFNZTUJPTF9WQUxVRV9BRERSRVNTIChtc3ltYm9sKSkpCisgCQkgIHsKK0BAIC0zMTU2 LDggKzMxNzUsOSBAQCBzZWFyY2hfc3ltYm9scyAoY2hhciAqcmVnZXhwLCBkb21haW5fZW51Cisg CSAgICAgIFFVSVQ7CisgCisgCSAgICAgIGlmIChmaWxlX21hdGNoZXMgKHJlYWxfc3ltdGFiLT5m aWxlbmFtZSwgZmlsZXMsIG5maWxlcykKKy0JCSAgJiYgKChyZWdleHAgPT0gTlVMTAorLQkJICAg ICAgIHx8IHJlX2V4ZWMgKFNZTUJPTF9OQVRVUkFMX05BTUUgKHN5bSkpICE9IDApCisrCQkgICYm ICgoIWRhdHVtLnByZWdfcAorKwkJICAgICAgIHx8IHJlZ2V4ZWMgKCZkYXR1bS5wcmVnLCBTWU1C T0xfTkFUVVJBTF9OQU1FIChzeW0pLCAwLAorKwkJCQkgICBOVUxMLCAwKSA9PSAwKQorIAkJICAg ICAgJiYgKChraW5kID09IFZBUklBQkxFU19ET01BSU4KKyAJCQkgICAmJiBTWU1CT0xfQ0xBU1Mg KHN5bSkgIT0gTE9DX1RZUEVERUYKKyAJCQkgICAmJiBTWU1CT0xfQ0xBU1MgKHN5bSkgIT0gTE9D X1VOUkVTT0xWRUQKK0BAIC0zMTk5LDcgKzMyMTksNyBAQCBzZWFyY2hfc3ltYm9scyAoY2hhciAq cmVnZXhwLCBkb21haW5fZW51CisgCQkgIHRhaWwgPSBzb3J0X3NlYXJjaF9zeW1ib2xzICgmZHVt bXksIG5mb3VuZCk7CisgCQkgIHNyID0gZHVtbXkubmV4dDsKKyAKKy0JCSAgb2xkX2NoYWluID0g bWFrZV9jbGVhbnVwX2ZyZWVfc2VhcmNoX3N5bWJvbHMgKHNyKTsKKysJCSAgbWFrZV9jbGVhbnVw X2ZyZWVfc2VhcmNoX3N5bWJvbHMgKHNyKTsKKyAJCX0KKyAJICAgICAgZWxzZQorIAkJdGFpbCA9 IHNvcnRfc2VhcmNoX3N5bWJvbHMgKHByZXZ0YWlsLCBuZm91bmQpOworQEAgLTMyMjEsOCArMzI0 MSw5IEBAIHNlYXJjaF9zeW1ib2xzIChjaGFyICpyZWdleHAsIGRvbWFpbl9lbnUKKyAJICAgIE1T WU1CT0xfVFlQRSAobXN5bWJvbCkgPT0gb3VydHlwZTMgfHwKKyAJICAgIE1TWU1CT0xfVFlQRSAo bXN5bWJvbCkgPT0gb3VydHlwZTQpCisgCSAgeworLQkgICAgaWYgKHJlZ2V4cCA9PSBOVUxMCist CQl8fCByZV9leGVjIChTWU1CT0xfTkFUVVJBTF9OQU1FIChtc3ltYm9sKSkgIT0gMCkKKysJICAg IGlmICghZGF0dW0ucHJlZ19wCisrCQl8fCByZWdleGVjICgmZGF0dW0ucHJlZywgU1lNQk9MX05B VFVSQUxfTkFNRSAobXN5bWJvbCksIDAsCisrCQkJICAgIE5VTEwsIDApID09IDApCisgCSAgICAg IHsKKyAJCS8qIEZ1bmN0aW9uczogIExvb2sgdXAgYnkgYWRkcmVzcy4gICovCisgCQlpZiAoa2lu ZCAhPSBGVU5DVElPTlNfRE9NQUlOIHx8CitAQCAtMzI0NCw3ICszMjY1LDcgQEAgc2VhcmNoX3N5 bWJvbHMgKGNoYXIgKnJlZ2V4cCwgZG9tYWluX2VudQorIAkJCWlmICh0YWlsID09IE5VTEwpCisg CQkJICB7CisgCQkJICAgIHNyID0gcHNyOworLQkJCSAgICBvbGRfY2hhaW4gPSBtYWtlX2NsZWFu dXBfZnJlZV9zZWFyY2hfc3ltYm9scyAoc3IpOworKwkJCSAgICBtYWtlX2NsZWFudXBfZnJlZV9z ZWFyY2hfc3ltYm9scyAoc3IpOworIAkJCSAgfQorIAkJCWVsc2UKKyAJCQkgIHRhaWwtPm5leHQg PSBwc3I7CitAQCAtMzI1Niw5ICszMjc3LDkgQEAgc2VhcmNoX3N5bWJvbHMgKGNoYXIgKnJlZ2V4 cCwgZG9tYWluX2VudQorICAgICAgIH0KKyAgICAgfQorIAorKyAgZGlzY2FyZF9jbGVhbnVwcyAo cmV0dmFsX2NoYWluKTsKKysgIGRvX2NsZWFudXBzIChvbGRfY2hhaW4pOworICAgKm1hdGNoZXMg PSBzcjsKKy0gIGlmIChzciAhPSBOVUxMKQorLSAgICBkaXNjYXJkX2NsZWFudXBzIChvbGRfY2hh aW4pOworIH0KKyAKKyAvKiBIZWxwZXIgZnVuY3Rpb24gZm9yIHN5bXRhYl9zeW1ib2xfaW5mbywg dGhpcyBmdW5jdGlvbiB1c2VzCgpkaWZmIC0tZ2l0IGEvZ2RiLWJ6NjQ1NzczLWNhc2UtaW5zZW5z aXRpdmUtNG9mNS5wYXRjaCBiL2dkYi1iejY0NTc3My1jYXNlLWluc2Vuc2l0aXZlLTRvZjUucGF0 Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmVmMzY5ZAotLS0gL2Rldi9u dWxsCisrKyBiL2dkYi1iejY0NTc3My1jYXNlLWluc2Vuc2l0aXZlLTRvZjUucGF0Y2gKQEAgLTAs MCArMSw2NjYgQEAKK2h0dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9nZGItcGF0Y2hlcy8yMDExLTA0 L21zZzAwNDE4Lmh0bWwKK1N1YmplY3Q6IFJlOiBbcGF0Y2ggMy8zXSBjYXNlIGluc2Vuc2l0aXZl OiB0aGUgZml4IFtyZWRpZmZdCisKK09uIEZyaSwgMjIgQXByIDIwMTEgMjE6MDU6MDcgKzAyMDAs IEVsaSBaYXJldHNraWkgd3JvdGU6Cis+IFRoaXMgQHRhYmxlIHdpbGwgbG9vayB3ZWlyZCBpbiB0 aGUgbWFudWFsOiBpdCBwcm9kdWNlcyBsaW5lcyB0aGF0Cis+IGJlZ2luIHdpdGggYSBsb3dlci1j YXNlIGxldHRlci4gIFBlcmhhcHMgcmVvcmRlciB0aHVzbHk6CisKK09LLCB0aGFua3MgZm9yIHRo ZSByZXZpZXcuCisKKworUmVnYXJkcywKK0phbgorCisKK2dkYi9kb2MvCisyMDExLTA0LTIyICBK YW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CisJICAgIEVsaSBaYXJl dHNraWkgIDxlbGl6QGdudS5vcmc+CisKKwkqIGdkYi50ZXhpbmZvIChJbmRleCBTZWN0aW9uIEZv cm1hdCk6IENoYW5nZSB0aGUgdmVyc2lvbiB0byA1LgorCURlc2NyaWJlIHRoZSBkaWZmZXJlbnQg Zm9ybXVsYS4KKworZ2RiLworMjAxMS0wNC0wOCAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9j aHZpbEByZWRoYXQuY29tPgorCisJKiBkd2FyZjJyZWFkLmM6IEluY2x1ZGUgY3R5cGUuaC4KKwko c3RydWN0IG1hcHBlZF9pbmRleCk6IE5ldyBmaWVsZCB2ZXJzaW9uLgorCShtYXBwZWRfaW5kZXhf c3RyaW5nX2hhc2gpOiBOZXcgcGFyYW1ldGVyIGluZGV4X3ZlcnNpb24uICBOZXcgY29tbWVudAor CWZvciBpdC4gIENhbGwgdG9sb3dlciBhcHByb3ByaWF0ZWx5LgorCShmaW5kX3Nsb3RfaW5fbWFw cGVkX2hhc2gpOiBOZXcgdmFyaWFibGUgY21wLCBpbml0aWFsaXplIGl0LCB1c2UgaXQuCisJQ2hv b3NlIHRoZSByaWdodCBpbmRleCB2ZXJzaW9uIGZvciBtYXBwZWRfaW5kZXhfc3RyaW5nX2hhc2gu CisJKGR3YXJmMl9yZWFkX2luZGV4KTogU3VwcG9ydCBhbHNvIHRoZSBpbmRleCB2ZXJzaW9uIDUu ICBJbml0aWFsaXplIHRoZQorCW5ldyBzdHJ1Y3QgbWFwcGVkX2luZGV4IGZpZWxkIHZlcnNpb24u CisJKGhhc2hfc3RydGFiX2VudHJ5KTogUGFzcyBJTlRfTUFYIGZvciB0aGUgbmV3IHBhcmFtZXRl ciwgZXhwbGFpbiB3aHkuCisJKGZpbmRfc2xvdCk6IEV4cGxhaW4gdGhlIHZlcnNpb24gbmVlZHMu ICBQYXNzIElOVF9NQVggZm9yIHRoZSBuZXcKKwlwYXJhbWV0ZXIuCisJKHdyaXRlX3BzeW10YWJz X3RvX2luZGV4KTogUHJvZHVjZSB2ZXJzaW9uIDUuCisJKiBtaW5zeW1zLmMgKGxvb2t1cF9taW5p bWFsX3N5bWJvbCk6IE5ldyB2YXJpYWJsZSBjbXAsIGluaXRpYWxpemUgaXQsCisJdXNlIGl0LiAg TmV3IGNvbW1lbnQgZm9yIFNZTUJPTF9NQVRDSEVTX1NFQVJDSF9OQU1FLgorCSogcHN5bXRhYi5j IChsb29rdXBfcGFydGlhbF9zeW1ib2wpOiBGaW5kIHRoZQorCVNZTUJPTF9NQVRDSEVTX1NFQVJD SF9OQU1FIHN0YXJ0IG9mIHRoZSBmb3VuZCBibG9jayBvZiBtYXRjaGluZworCWVudHJpZXMuCisJ KiBzeW10YWIuYyAobG9va3VwX3N5bWJvbF9pbl9sYW5ndWFnZSk6IFJlbW92ZSB0aGUgY2FzZV9z ZW5zaXRpdmVfb2ZmCisJTkFNRSBsb3dlcmNhc2luZy4KKwkoc2VhcmNoX3N5bWJvbHMpOiBQYXNz IFJFR19JQ0FTRSB0byByZWdjb21wIGZvciBjYXNlX3NlbnNpdGl2ZV9vZmYuCisJKGNvbXBsZXRp b25fbGlzdF9hZGRfbmFtZSk6IE5ldyB2YXJpYWJsZSBuY21wLCBpbml0aWFsaXplIGl0LCB1c2Ug aXQuCisJKiBzeW10YWIuaCAoU1lNQk9MX0hBU0hfTkVYVCk6IEFsd2F5cyBjYWxsIHRvbG93ZXIu CisJKiB1dGlscy5jIChzdHJjbXBfaXcpOiBTdXBwb3J0IGNhc2Vfc2Vuc2l0aXZlX29mZi4KKwko c3RyY21wX2l3X29yZGVyZWQpOiBTb3J0IGluIGEgd2F5IGNvbXBhdGlibGUgd2l0aCBjYXNlX3Nl bnNpdGl2ZV9vZmYuCisJTmV3IGZ1bmN0aW9uIGNvbW1lbnQgcGFydC4gIE5ldyB2YXJpYWJsZXMg c2F2ZWRfc3RyaW5nMSwKKwlzYXZlZF9zdHJpbmcyIGFuZCBjYXNlX3Bhc3MuICBBZGQgYSBwcm9w ZXIgc2Vjb25kIHBhc3MuCisKK2dkYi90ZXN0c3VpdGUvCisyMDExLTA0LTA4ICBKYW4gS3JhdG9j aHZpbCAgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CisKKwkqIGdkYi5iYXNlL2ZvcnRyYW4t c3ltLWNhc2UuYzogTmV3IGZpbGUuCisJKiBnZGIuYmFzZS9mb3J0cmFuLXN5bS1jYXNlLmV4cDog TmV3IGZpbGUuCisJKiBnZGIuZHdhcmYyL2R3Mi1jYXNlLWluc2Vuc2l0aXZlLWRlYnVnLlM6IE5l dyBmaWxlLgorCSogZ2RiLmR3YXJmMi9kdzItY2FzZS1pbnNlbnNpdGl2ZS5jOiBOZXcgZmlsZS4K KwkqIGdkYi5kd2FyZjIvZHcyLWNhc2UtaW5zZW5zaXRpdmUuZXhwOiBOZXcgZmlsZS4KKworSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2R3YXJmMnJlYWQuYworPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0t IGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvZHdhcmYycmVhZC5jCTIwMTEtMDQtMjkgMDk6 NDM6MzQuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZHdhcmYy cmVhZC5jCTIwMTEtMDQtMjkgMDk6NDU6NTguMDAwMDAwMDAwICswMjAwCitAQCAtMTUyLDYgKzE1 Miw5IEBAIERFRl9WRUNfSSAob2Zmc2V0X3R5cGUpOworICAgIGEgY29tbWVudCBieSB0aGUgY29k ZSB0aGF0IHdyaXRlcyB0aGUgaW5kZXguICAqLworIHN0cnVjdCBtYXBwZWRfaW5kZXgKKyB7Cisr ICAvKiBJbmRleCBkYXRhIGZvcm1hdCB2ZXJzaW9uLiAgKi8KKysgIGludCB2ZXJzaW9uOworKwor ICAgLyogVGhlIHRvdGFsIGxlbmd0aCBvZiB0aGUgYnVmZmVyLiAgKi8KKyAgIG9mZl90IHRvdGFs X3NpemU7CisgCitAQCAtMTk5MCwxNyArMTk5MywyMyBAQCBjcmVhdGVfYWRkcm1hcF9mcm9tX2lu ZGV4IChzdHJ1Y3Qgb2JqZmlsCisgICAgU1lNQk9MX0hBU0hfTkVYVCwgYnV0IHdlIGtlZXAgYSBz ZXBhcmF0ZSBjb3B5IHRvIG1haW50YWluIGNvbnRyb2wgb3ZlciB0aGUKKyAgICBpbXBsZW1lbnRh dGlvbi4gIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgdGhlIGhhc2ggZnVuY3Rpb24gaXMgdGll ZCB0byB0aGUKKyAgICBmb3JtYXQgb2YgdGhlIG1hcHBlZCBpbmRleCBmaWxlLiAgVGhlIGhhc2gg dmFsdWVzIGRvIG5vdCBoYXZlIHRvIG1hdGNoIHdpdGgKKy0gICBTWU1CT0xfSEFTSF9ORVhULiAg Ki8KKysgICBTWU1CT0xfSEFTSF9ORVhULgorKyAgIAorKyAgIFVzZSBJTlRfTUFYIGZvciBJTkRF WF9WRVJTSU9OIGlmIHlvdSBnZW5lcmF0ZSB0aGUgY3VycmVudCBpbmRleCBmb3JtYXQuICAqLwor IAorIHN0YXRpYyBoYXNodmFsX3QKKy1tYXBwZWRfaW5kZXhfc3RyaW5nX2hhc2ggKGNvbnN0IHZv aWQgKnApCisrbWFwcGVkX2luZGV4X3N0cmluZ19oYXNoIChpbnQgaW5kZXhfdmVyc2lvbiwgY29u c3Qgdm9pZCAqcCkKKyB7CisgICBjb25zdCB1bnNpZ25lZCBjaGFyICpzdHIgPSAoY29uc3QgdW5z aWduZWQgY2hhciAqKSBwOworICAgaGFzaHZhbF90IHIgPSAwOworICAgdW5zaWduZWQgY2hhciBj OworIAorICAgd2hpbGUgKChjID0gKnN0cisrKSAhPSAwKQorLSAgICByID0gciAqIDY3ICsgYyAt IDExMzsKKysgICAgeworKyAgICAgIGlmIChpbmRleF92ZXJzaW9uID49IDUpCisrCWMgPSB0b2xv d2VyIChjKTsKKysgICAgICByID0gciAqIDY3ICsgYyAtIDExMzsKKysgICAgfQorIAorICAgcmV0 dXJuIHI7CisgfQorQEAgLTIwMTMsMTEgKzIwMjIsMTkgQEAgc3RhdGljIGludAorIGZpbmRfc2xv dF9pbl9tYXBwZWRfaGFzaCAoc3RydWN0IG1hcHBlZF9pbmRleCAqaW5kZXgsIGNvbnN0IGNoYXIg Km5hbWUsCisgCQkJICBvZmZzZXRfdHlwZSAqKnZlY19vdXQpCisgeworLSAgb2Zmc2V0X3R5cGUg aGFzaCA9IG1hcHBlZF9pbmRleF9zdHJpbmdfaGFzaCAobmFtZSk7CisrICAvKiBJbmRleCB2ZXJz aW9uIDQgZGlkIG5vdCBzdXBwb3J0IGNhc2UgaW5zZW5zaXRpdmUgc2VhcmNoZXMuICBCdXQgdGhl CisrICAgICBpbmRleGVzIGZvciBjYXNlIGluc2Vuc2l0aXZlIGxhbmd1YWdlcyBhcmUgYnVpbHQg aW4gbG93ZXJjYXNlLCB0aGVyZWZvcmUKKysgICAgIHNpbXVsYXRlIG91ciBOQU1FIGJlaW5nIHNl YXJjaGVkIGlzIGFsc28gbG93ZXJjYXNlZC4gICovCisrICBvZmZzZXRfdHlwZSBoYXNoID0gbWFw cGVkX2luZGV4X3N0cmluZ19oYXNoICgoaW5kZXgtPnZlcnNpb24gPT0gNAorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICYmIGNhc2Vfc2Vuc2l0aXZpdHkgPT0gY2FzZV9zZW5z aXRpdmVfb2ZmCisrCQkJCSAgICA/IDUgOiBpbmRleC0+dmVyc2lvbiksCisrCQkJCSAgIG5hbWUp OworICAgb2Zmc2V0X3R5cGUgc2xvdCwgc3RlcDsKKysgIGludCAoKmNtcCkgKGNvbnN0IGNoYXIg KiwgY29uc3QgY2hhciAqKTsKKyAKKyAgIHNsb3QgPSBoYXNoICYgKGluZGV4LT5zeW1ib2xfdGFi bGVfc2xvdHMgLSAxKTsKKyAgIHN0ZXAgPSAoKGhhc2ggKiAxNykgJiAoaW5kZXgtPnN5bWJvbF90 YWJsZV9zbG90cyAtIDEpKSB8IDE7CisrICBjbXAgPSAoY2FzZV9zZW5zaXRpdml0eSA9PSBjYXNl X3NlbnNpdGl2ZV9vbiA/IHN0cmNtcCA6IHN0cmNhc2VjbXApOworIAorICAgZm9yICg7OykKKyAg ICAgeworQEAgLTIwMjgsNyArMjA0NSw3IEBAIGZpbmRfc2xvdF9pbl9tYXBwZWRfaGFzaCAoc3Ry dWN0IG1hcHBlZF8KKyAJcmV0dXJuIDA7CisgCisgICAgICAgc3RyID0gaW5kZXgtPmNvbnN0YW50 X3Bvb2wgKyBNQVlCRV9TV0FQIChpbmRleC0+c3ltYm9sX3RhYmxlW2ldKTsKKy0gICAgICBpZiAo IXN0cmNtcCAobmFtZSwgc3RyKSkKKysgICAgICBpZiAoIWNtcCAobmFtZSwgc3RyKSkKKyAJewor IAkgICp2ZWNfb3V0ID0gKG9mZnNldF90eXBlICopIChpbmRleC0+Y29uc3RhbnRfcG9vbAorIAkJ CQkgICAgICArIE1BWUJFX1NXQVAgKGluZGV4LT5zeW1ib2xfdGFibGVbaSArIDFdKSk7CitAQCAt MjA3MSwxNSArMjA4OCwxNyBAQCBkd2FyZjJfcmVhZF9pbmRleCAoc3RydWN0IG9iamZpbGUgKm9i amZpCisgICAvKiBWZXJzaW9ucyBlYXJsaWVyIHRoYW4gMyBlbWl0dGVkIGV2ZXJ5IGNvcHkgb2Yg YSBwc3ltYm9sLiAgVGhpcworICAgICAgY2F1c2VzIHRoZSBpbmRleCB0byBiZWhhdmUgdmVyeSBw b29ybHkgZm9yIGNlcnRhaW4gcmVxdWVzdHMuICBWZXJzaW9uIDMKKyAgICAgIGNvbnRhaW5lZCBp bmNvbXBsZXRlIGFkZHJtYXAuICBTbywgaXQgc2VlbXMgYmV0dGVyIHRvIGp1c3QgaWdub3JlIHN1 Y2gKKy0gICAgIGluZGljZXMuICAqLworKyAgICAgaW5kaWNlcy4gIEluZGV4IHZlcnNpb24gNCB1 c2VzIGEgZGlmZmVyZW50IGhhc2ggZnVuY3Rpb24gdGhhbiBpbmRleAorKyAgICAgdmVyc2lvbiA1 IGFuZCBsYXRlci4gICovCisgICBpZiAodmVyc2lvbiA8IDQpCisgICAgIHJldHVybiAwOworICAg LyogSW5kZXhlcyB3aXRoIGhpZ2hlciB2ZXJzaW9uIHRoYW4gdGhlIG9uZSBzdXBwb3J0ZWQgYnkg R0RCIG1heSBiZSBubworICAgICAgbG9uZ2VyIGJhY2t3YXJkIGNvbXBhdGlibGUuICAqLworLSAg aWYgKHZlcnNpb24gPiA0KQorKyAgaWYgKHZlcnNpb24gPiA1KQorICAgICByZXR1cm4gMDsKKyAK KyAgIG1hcCA9IE9CU1RBQ0tfWkFMTE9DICgmb2JqZmlsZS0+b2JqZmlsZV9vYnN0YWNrLCBzdHJ1 Y3QgbWFwcGVkX2luZGV4KTsKKysgIG1hcC0+dmVyc2lvbiA9IHZlcnNpb247CisgICBtYXAtPnRv dGFsX3NpemUgPSBkd2FyZjJfcGVyX29iamZpbGUtPmdkYl9pbmRleC5zaXplOworIAorICAgbWV0 YWRhdGEgPSAob2Zmc2V0X3R5cGUgKikgKGFkZHIgKyBzaXplb2YgKG9mZnNldF90eXBlKSk7CitA QCAtMTU2MDIsMTMgKzE1NjIxLDE2IEBAIHN0cnVjdCBzdHJ0YWJfZW50cnkKKyAgIGNvbnN0IGNo YXIgKnN0cjsKKyB9OworIAorLS8qIEhhc2ggZnVuY3Rpb24gZm9yIGEgc3RydGFiX2VudHJ5LiAg Ki8KKysvKiBIYXNoIGZ1bmN0aW9uIGZvciBhIHN0cnRhYl9lbnRyeS4KKysKKysgICBGdW5jdGlv biBpcyB1c2VkIG9ubHkgZHVyaW5nIHdyaXRlX2hhc2hfdGFibGUgc28gbm8gaW5kZXggZm9ybWF0 IGJhY2t3YXJkCisrICAgY29tcGF0aWJpbGl0eSBpcyBuZWVkZWQuICAqLworIAorIHN0YXRpYyBo YXNodmFsX3QKKyBoYXNoX3N0cnRhYl9lbnRyeSAoY29uc3Qgdm9pZCAqZSkKKyB7CisgICBjb25z dCBzdHJ1Y3Qgc3RydGFiX2VudHJ5ICplbnRyeSA9IGU7CistICByZXR1cm4gbWFwcGVkX2luZGV4 X3N0cmluZ19oYXNoIChlbnRyeS0+c3RyKTsKKysgIHJldHVybiBtYXBwZWRfaW5kZXhfc3RyaW5n X2hhc2ggKElOVF9NQVgsIGVudHJ5LT5zdHIpOworIH0KKyAKKyAvKiBFcXVhbGl0eSBmdW5jdGlv biBmb3IgYSBzdHJ0YWJfZW50cnkuICAqLworQEAgLTE1NzQ2LDEyICsxNTc2OCwxNSBAQCBjbGVh bnVwX21hcHBlZF9zeW10YWIgKHZvaWQgKnApCisgfQorIAorIC8qIEZpbmQgYSBzbG90IGluIFNZ TVRBQiBmb3IgdGhlIHN5bWJvbCBOQU1FLiAgUmV0dXJucyBhIHBvaW50ZXIgdG8KKy0gICB0aGUg c2xvdC4gICovCisrICAgdGhlIHNsb3QuCisrICAgCisrICAgRnVuY3Rpb24gaXMgdXNlZCBvbmx5 IGR1cmluZyB3cml0ZV9oYXNoX3RhYmxlIHNvIG5vIGluZGV4IGZvcm1hdCBiYWNrd2FyZAorKyAg IGNvbXBhdGliaWxpdHkgaXMgbmVlZGVkLiAgKi8KKyAKKyBzdGF0aWMgc3RydWN0IHN5bXRhYl9p bmRleF9lbnRyeSAqKgorIGZpbmRfc2xvdCAoc3RydWN0IG1hcHBlZF9zeW10YWIgKnN5bXRhYiwg Y29uc3QgY2hhciAqbmFtZSkKKyB7CistICBvZmZzZXRfdHlwZSBpbmRleCwgc3RlcCwgaGFzaCA9 IG1hcHBlZF9pbmRleF9zdHJpbmdfaGFzaCAobmFtZSk7CisrICBvZmZzZXRfdHlwZSBpbmRleCwg c3RlcCwgaGFzaCA9IG1hcHBlZF9pbmRleF9zdHJpbmdfaGFzaCAoSU5UX01BWCwgbmFtZSk7Cisg CisgICBpbmRleCA9IGhhc2ggJiAoc3ltdGFiLT5zaXplIC0gMSk7CisgICBzdGVwID0gKChoYXNo ICogMTcpICYgKHN5bXRhYi0+c2l6ZSAtIDEpKSB8IDE7CitAQCAtMTYyNzksNyArMTYzMDQsNyBA QCB3cml0ZV9wc3ltdGFic190b19pbmRleCAoc3RydWN0IG9iamZpbGUgCisgICB0b3RhbF9sZW4g PSBzaXplX29mX2NvbnRlbnRzOworIAorICAgLyogVGhlIHZlcnNpb24gbnVtYmVyLiAgKi8KKy0g IHZhbCA9IE1BWUJFX1NXQVAgKDQpOworKyAgdmFsID0gTUFZQkVfU1dBUCAoNSk7CisgICBvYnN0 YWNrX2dyb3cgKCZjb250ZW50cywgJnZhbCwgc2l6ZW9mICh2YWwpKTsKKyAKKyAgIC8qIFRoZSBv ZmZzZXQgb2YgdGhlIENVIGxpc3QgZnJvbSB0aGUgc3RhcnQgb2YgdGhlIGZpbGUuICAqLworSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL21pbnN5bXMuYworPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdk Yi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvbWluc3ltcy5jCTIwMTEtMDQtMjkgMDk6NDM6MzQu MDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvbWluc3ltcy5jCTIw MTEtMDQtMjkgMDk6NDQ6MTUuMDAwMDAwMDAwICswMjAwCitAQCAtMjM5LDExICsyMzksMTYgQEAg bG9va3VwX21pbmltYWxfc3ltYm9sIChjb25zdCBjaGFyICpuYW1lLAorIAorIAkJICBpZiAocGFz cyA9PSAxKQorIAkJICAgIHsKKy0JCSAgICAgIG1hdGNoID0gc3RyY21wIChTWU1CT0xfTElOS0FH RV9OQU1FIChtc3ltYm9sKSwKKy0JCQkJICAgICAgbW9kaWZpZWRfbmFtZSkgPT0gMDsKKysJCSAg ICAgIGludCAoKmNtcCkgKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKKysKKysJCSAgICAg IGNtcCA9IChjYXNlX3NlbnNpdGl2aXR5ID09IGNhc2Vfc2Vuc2l0aXZlX29uCisrCQkgICAgICAg ICAgICAgPyBzdHJjbXAgOiBzdHJjYXNlY21wKTsKKysJCSAgICAgIG1hdGNoID0gY21wIChTWU1C T0xfTElOS0FHRV9OQU1FIChtc3ltYm9sKSwKKysJCQkJICAgbW9kaWZpZWRfbmFtZSkgPT0gMDsK KyAJCSAgICB9CisgCQkgIGVsc2UKKyAJCSAgICB7CisrCQkgICAgICAvKiBUaGUgZnVuY3Rpb24g cmVzcGVjdHMgQ0FTRV9TRU5TSVRJVklUWS4gICovCisgCQkgICAgICBtYXRjaCA9IFNZTUJPTF9N QVRDSEVTX1NFQVJDSF9OQU1FIChtc3ltYm9sLAorIAkJCQkJCQkgIG1vZGlmaWVkX25hbWUpOwor IAkJICAgIH0KK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9wc3ltdGFiLmMKKz09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL3BzeW10YWIuYwkyMDExLTA0 LTIwIDIyOjEwOjI5LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2Ri L3BzeW10YWIuYwkyMDExLTA0LTI5IDA5OjQ0OjE1LjAwMDAwMDAwMCArMDIwMAorQEAgLTY5MCw4 ICs2OTAsMTUgQEAgbG9va3VwX3BhcnRpYWxfc3ltYm9sIChzdHJ1Y3QgcGFydGlhbF9zeQorIAlp bnRlcm5hbF9lcnJvciAoX19GSUxFX18sIF9fTElORV9fLAorIAkJCV8oImZhaWxlZCBpbnRlcm5h bCBjb25zaXN0ZW5jeSBjaGVjayIpKTsKKyAKKy0gICAgICB3aGlsZSAodG9wIDw9IHJlYWxfdG9w CistCSAgICAgJiYgU1lNQk9MX01BVENIRVNfU0VBUkNIX05BTUUgKCp0b3AsIHNlYXJjaF9uYW1l KSkKKysgICAgICAvKiBGb3IgYGNhc2Vfc2Vuc2l0aXZpdHkgPT0gY2FzZV9zZW5zaXRpdmVfb2Zm JyBzdHJjbXBfaXdfb3JkZXJlZCB3aWxsCisrCSBzZWFyY2ggbW9yZSBleGFjdGx5IHRoYW4gd2hh dCBtYXRjaGVzIFNZTUJPTF9NQVRDSEVTX1NFQVJDSF9OQU1FLiAgKi8KKysgICAgICB3aGlsZSAo dG9wID49IHN0YXJ0ICYmIFNZTUJPTF9NQVRDSEVTX1NFQVJDSF9OQU1FICgqdG9wLCBzZWFyY2hf bmFtZSkpCisrCXRvcC0tOworKworKyAgICAgIC8qIEZpeHVwIHRvIGhhdmUgYSBzeW1ib2wgd2hp Y2ggbWF0Y2hlcyBTWU1CT0xfTUFUQ0hFU19TRUFSQ0hfTkFNRS4gICovCisrICAgICAgdG9wKys7 CisrCisrICAgICAgd2hpbGUgKHRvcCA8PSByZWFsX3RvcCAmJiBTWU1CT0xfTUFUQ0hFU19TRUFS Q0hfTkFNRSAoKnRvcCwgc2VhcmNoX25hbWUpKQorIAl7CisgCSAgaWYgKHN5bWJvbF9tYXRjaGVz X2RvbWFpbiAoU1lNQk9MX0xBTkdVQUdFICgqdG9wKSwKKyAJCQkJICAgICBTWU1CT0xfRE9NQUlO ICgqdG9wKSwgZG9tYWluKSkKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9zeW10YWIu YworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvc3ltdGFiLmMJ MjAxMS0wNC0yOSAwOTo0Mzo1NS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEw NDI5L2dkYi9zeW10YWIuYwkyMDExLTA0LTI5IDA5OjQ0OjE1LjAwMDAwMDAwMCArMDIwMAorQEAg LTEwNjIsMTkgKzEwNjIsNiBAQCBsb29rdXBfc3ltYm9sX2luX2xhbmd1YWdlIChjb25zdCBjaGFy ICpuCisgCX0KKyAgICAgfQorIAorLSAgaWYgKGNhc2Vfc2Vuc2l0aXZpdHkgPT0gY2FzZV9zZW5z aXRpdmVfb2ZmKQorLSAgICB7CistICAgICAgY2hhciAqY29weTsKKy0gICAgICBpbnQgbGVuLCBp OworLQorLSAgICAgIGxlbiA9IHN0cmxlbiAobmFtZSk7CistICAgICAgY29weSA9IChjaGFyICop IGFsbG9jYSAobGVuICsgMSk7CistICAgICAgZm9yIChpPSAwOyBpIDwgbGVuOyBpKyspCistICAg ICAgICBjb3B5W2ldID0gdG9sb3dlciAobmFtZVtpXSk7CistICAgICAgY29weVtsZW5dID0gMDsK Ky0gICAgICBtb2RpZmllZF9uYW1lID0gY29weTsKKy0gICAgfQorLQorICAgcmV0dXJudmFsID0g bG9va3VwX3N5bWJvbF9hdXggKG1vZGlmaWVkX25hbWUsIGJsb2NrLCBkb21haW4sIGxhbmcsCisg CQkJCSBpc19hX2ZpZWxkX29mX3RoaXMpOworICAgZG9fY2xlYW51cHMgKGNsZWFudXApOworQEAg LTMwODIsNyArMzA2OSw5IEBAIHNlYXJjaF9zeW1ib2xzIChjaGFyICpyZWdleHAsIGRvbWFpbl9l bnUKKyAJICAgIH0KKyAJfQorIAorLSAgICAgIGVycmNvZGUgPSByZWdjb21wICgmZGF0dW0ucHJl ZywgcmVnZXhwLCBSRUdfTk9TVUIpOworKyAgICAgIGVycmNvZGUgPSByZWdjb21wICgmZGF0dW0u cHJlZywgcmVnZXhwLAorKwkJCSBSRUdfTk9TVUIgfCAoY2FzZV9zZW5zaXRpdml0eSA9PSBjYXNl X3NlbnNpdGl2ZV9vZmYKKysJCQkJICAgICAgPyBSRUdfSUNBU0UgOiAwKSk7CisgICAgICAgaWYg KGVycmNvZGUgIT0gMCkKKyAJeworIAkgIGNoYXIgKmVyciA9IGdldF9yZWdjb21wX2Vycm9yIChl cnJjb2RlLCAmZGF0dW0ucHJlZyk7CitAQCAtMzUyOSwxMCArMzUxOCwxMyBAQCBjb21wbGV0aW9u X2xpc3RfYWRkX25hbWUgKGNoYXIgKnN5bW5hbWUsCisgCQkJICBjaGFyICp0ZXh0LCBjaGFyICp3 b3JkKQorIHsKKyAgIGludCBuZXdzaXplOworKyAgaW50ICgqbmNtcCkgKGNvbnN0IGNoYXIgKiwg Y29uc3QgY2hhciAqLCBzaXplX3QpOworKworKyAgbmNtcCA9IChjYXNlX3NlbnNpdGl2aXR5ID09 IGNhc2Vfc2Vuc2l0aXZlX29uID8gc3RybmNtcCA6IHN0cm5jYXNlY21wKTsKKyAKKyAgIC8qIENs aXAgc3ltYm9scyB0aGF0IGNhbm5vdCBtYXRjaC4gICovCisgCistICBpZiAoc3RybmNtcCAoc3lt bmFtZSwgc3ltX3RleHQsIHN5bV90ZXh0X2xlbikgIT0gMCkKKysgIGlmIChuY21wIChzeW1uYW1l LCBzeW1fdGV4dCwgc3ltX3RleHRfbGVuKSAhPSAwKQorICAgICB7CisgICAgICAgcmV0dXJuOwor ICAgICB9CitJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvc3ltdGFiLmgKKz09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KKy0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL3N5bXRhYi5oCTIwMTEtMDQtMjkg MDk6NDM6MzQuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvc3lt dGFiLmgJMjAxMS0wNC0yOSAwOTo0NDoxNS4wMDAwMDAwMDAgKzAyMDAKK0BAIC0xMDMwLDcgKzEw MzAsOCBAQCBleHRlcm4gdW5zaWduZWQgaW50IG1zeW1ib2xfaGFzaCAoY29uc3QgCisgICAgaXMg b25seSBhIEdEQiBpbi1tZW1vcnkgY29tcHV0ZWQgdmFsdWUgd2l0aCBubyBleHRlcm5hbCBmaWxl cyBjb21wYXRpYmlsaXR5CisgICAgcmVxdWlyZW1lbnRzLiAgKi8KKyAKKy0jZGVmaW5lIFNZTUJP TF9IQVNIX05FWFQoaGFzaCwgYykgKChoYXNoKSAqIDY3ICsgKGMpIC0gMTEzKQorKyNkZWZpbmUg U1lNQk9MX0hBU0hfTkVYVChoYXNoLCBjKSBcCisrICAoKGhhc2gpICogNjcgKyB0b2xvd2VyICgo dW5zaWduZWQgY2hhcikgKGMpKSAtIDExMykKKyAKKyBleHRlcm4gc3RydWN0IG9iamZpbGUgKiBt c3ltYm9sX29iamZpbGUgKHN0cnVjdCBtaW5pbWFsX3N5bWJvbCAqc3ltKTsKKyAKK0luZGV4OiBn ZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZm9ydHJhbi1zeW0tY2Fz ZS5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAw MDAwICswMDAwCisrKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L2ZvcnRyYW4tc3ltLWNhc2UuYwkyMDExLTA0LTI5IDA5OjQ0OjE1LjAwMDAwMDAwMCArMDIwMAor QEAgLTAsMCArMSwyMiBAQAorKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBH TlUgZGVidWdnZXIuCisrCisrICAgQ29weXJpZ2h0IDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLCBJbmMuCisrCisrICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysgICBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyAgIHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2Us IG9yCisrICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysKKysgICBUaGlz IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1 bCwKKysgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll ZCB3YXJyYW50eSBvZgorKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm b3IgbW9yZSBkZXRhaWxzLgorKworKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrICAgYWxvbmcgd2l0aCB0aGlzIHBy b2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLwor KworK2ludAorK21haW4gKGludCBhcmdjLCBjaGFyICoqYVJHdikKKyt7CisrICByZXR1cm4gMDsK Kyt9CitJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2Zv cnRyYW4tc3ltLWNhc2UuZXhwCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEg MDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL2ZvcnRyYW4tc3ltLWNhc2UuZXhwCTIwMTEtMDQtMjkgMDk6NDQ6MTUu MDAwMDAwMDAwICswMjAwCitAQCAtMCwwICsxLDI3IEBACisrIyBDb3B5cmlnaHQgKEMpIDIwMTEg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrIyBUaGlzIHByb2dyYW0gaXMgZnJl ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgaXQg dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJs aXNoZWQgYnkKKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9u IDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz aW9uLgorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0 IGl0IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBoYXZlIHJl Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFsb25n IHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNl bnNlcy8+LgorKworK3NldCB0ZXN0ZmlsZSBmb3J0cmFuLXN5bS1jYXNlCisraWYgeyBbcHJlcGFy ZV9mb3JfdGVzdGluZyAke3Rlc3RmaWxlfS5leHAgJHt0ZXN0ZmlsZX1dIH0geworKyAgICByZXR1 cm4gLTEKKyt9CisrCisraWYgIVtydW50b19tYWluXSB7CisrICAgIHJldHVybiAtMQorK30KKysK KytnZGJfdGVzdCAic2V0IGxhbmd1YWdlIGZvcnRyYW4iIHtXYXJuaW5nOiB0aGUgY3VycmVudCBs YW5ndWFnZSBkb2VzIG5vdCBtYXRjaCB0aGlzIGZyYW1lXC59CisrCisrZ2RiX3Rlc3QgImZyYW1l IiAiLCBhUkd2PS4qIgorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZHdhcmYyL2R3Mi1jYXNlLWluc2Vuc2l0aXZlLWRlYnVnLlMKKz09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAv ZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4y LjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItY2FzZS1pbnNlbnNpdGl2 ZS1kZWJ1Zy5TCTIwMTEtMDQtMjkgMDk6NDQ6MTUuMDAwMDAwMDAwICswMjAwCitAQCAtMCwwICsx LDEwMiBAQAorKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdn ZXIuCisrCisrICAgQ29weXJpZ2h0IDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu CisrCisrICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vciBtb2RpZnkKKysgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyAgIHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrICAg KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysKKysgICBUaGlzIHByb2dyYW0g aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgICBi dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50 eSBvZgorKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS UE9TRS4gIFNlZSB0aGUKKysgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk ZXRhaWxzLgorKworKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJ ZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworKworKwkuc2Vj dGlvbiAuZGVidWdfaW5mbworKy5MY3UxX2JlZ2luOgorKwkvKiBDVSBoZWFkZXIgKi8KKysJLjRi eXRlCS5MY3UxX2VuZCAtIC5MY3UxX3N0YXJ0CQkvKiBMZW5ndGggb2YgQ29tcGlsYXRpb24gVW5p dCAqLworKy5MY3UxX3N0YXJ0OgorKwkuMmJ5dGUJMgkJCQkvKiBEV0FSRiBWZXJzaW9uICovCisr CS40Ynl0ZQkuTGFiYnJldjFfYmVnaW4JCQkvKiBPZmZzZXQgaW50byBhYmJyZXYgc2VjdGlvbiAq LworKwkuYnl0ZQk0CQkJCS8qIFBvaW50ZXIgc2l6ZSAqLworKworKwkvKiBDVSBkaWUgKi8KKysJ LnVsZWIxMjggMQkJCQkvKiBBYmJyZXY6IERXX1RBR19jb21waWxlX3VuaXQgKi8KKysJLmFzY2lp CSJmaWxlMS50eHRcMCIJCQkvKiBEV19BVF9uYW1lICovCisrCS5hc2NpaQkiR05VIEMgMy4zLjNc MCIJCQkvKiBEV19BVF9wcm9kdWNlciAqLworKwkuYnl0ZQk4CQkJCS8qIERXX0FUX2xhbmd1YWdl IChEV19MQU5HX0ZvcnRyYW45MCkgKi8KKysJLjRieXRlCQlGVU5DX2xhbmcJCS8qIERXX0FUX2xv d19wYyAqLworKwkuNGJ5dGUJCW1haW4JCQkvKiBEV19BVF9oaWdoX3BjICovCisrCisrCS51bGVi MTI4CTMJCQkvKiBBYmJyZXY6IERXX1RBR19zdWJwcm9ncmFtICovCisrCS5ieXRlCQkxCQkJLyog RFdfQVRfZXh0ZXJuYWwgKi8KKysJLmFzY2lpCQkiRlVOQ19sYW5nXDAiCQkvKiBEV19BVF9uYW1l ICovCisrCS40Ynl0ZQkJRlVOQ19sYW5nCQkvKiBEV19BVF9sb3dfcGMgKi8KKysJLjRieXRlCQlt YWluCQkJLyogRFdfQVRfaGlnaF9wYyAqLworKwkuYnl0ZQkJMQkJCS8qIERXX0FUX3Byb3RvdHlw ZWQgKi8KKysJLjRieXRlCQkuTHR5cGUgLSAuTGN1MV9iZWdpbgkvKiBEV19BVF90eXBlICovCisr CisrLkx0eXBlOgorKwkudWxlYjEyOCAJMHg1CQkJLyogQWJicmV2OiBEV19UQUdfYmFzZV90eXBl ICovCisrCS5ieXRlCQkweDQJCQkvKiBEV19BVF9ieXRlX3NpemUgKi8KKysJLmJ5dGUJCTB4NQkJ CS8qIERXX0FUX2VuY29kaW5nICovCisrCS5hc2NpaSAJCSJmb29cMCIJCQkvKiBEV19BVF9uYW1l ICovCisrCisrCS5ieXRlCQkwCQkJLyogRW5kIG9mIGNoaWxkcmVuIG9mIENVICovCisrLkxjdTFf ZW5kOgorKworKy8qIEFiYnJldiB0YWJsZSAqLworKwkuc2VjdGlvbiAuZGVidWdfYWJicmV2Cisr LkxhYmJyZXYxX2JlZ2luOgorKwkudWxlYjEyOAkxCQkJLyogQWJicmV2IGNvZGUgKi8KKysJLnVs ZWIxMjgJMHgxMQkJCS8qIERXX1RBR19jb21waWxlX3VuaXQgKi8KKysJLmJ5dGUJCTEJCQkvKiBo YXNfY2hpbGRyZW4gKi8KKysJLnVsZWIxMjgJMHgzCQkJLyogRFdfQVRfbmFtZSAqLworKwkudWxl YjEyOAkweDgJCQkvKiBEV19GT1JNX3N0cmluZyAqLworKwkudWxlYjEyOAkweDI1CQkJLyogRFdf QVRfcHJvZHVjZXIgKi8KKysJLnVsZWIxMjgJMHg4CQkJLyogRFdfRk9STV9zdHJpbmcgKi8KKysJ LnVsZWIxMjgJMHgxMwkJCS8qIERXX0FUX2xhbmd1YWdlICovCisrCS51bGViMTI4CTB4YgkJCS8q IERXX0ZPUk1fZGF0YTEgKi8KKysJLnVsZWIxMjgJMHgxMQkJCS8qIERXX0FUX2xvd19wYyAqLwor KwkudWxlYjEyOAkweDEJCQkvKiBEV19GT1JNX2FkZHIgKi8KKysJLnVsZWIxMjgJMHgxMgkJCS8q IERXX0FUX2hpZ2hfcGMgKi8KKysJLnVsZWIxMjgJMHgxCQkJLyogRFdfRk9STV9hZGRyICovCisr CS5ieXRlCQkweDAJCQkvKiBUZXJtaW5hdG9yICovCisrCS5ieXRlCQkweDAJCQkvKiBUZXJtaW5h dG9yICovCisrCisrCS51bGViMTI4CTMJCQkvKiBBYmJyZXYgY29kZSAqLworKwkudWxlYjEyOAkw eDJlCQkJLyogRFdfVEFHX3N1YnByb2dyYW0gKi8KKysJLmJ5dGUJCTAJCQkvKiBoYXNfY2hpbGRy ZW4gKi8KKysJLnVsZWIxMjgJMHgzZgkJCS8qIERXX0FUX2V4dGVybmFsICovCisrCS51bGViMTI4 CTB4YwkJCS8qIERXX0ZPUk1fZmxhZyAqLworKwkudWxlYjEyOAkweDMJCQkvKiBEV19BVF9uYW1l ICovCisrCS51bGViMTI4CTB4OAkJCS8qIERXX0ZPUk1fc3RyaW5nICovCisrCS51bGViMTI4CTB4 MTEJCQkvKiBEV19BVF9sb3dfcGMgKi8KKysJLnVsZWIxMjgJMHgxCQkJLyogRFdfRk9STV9hZGRy ICovCisrCS51bGViMTI4CTB4MTIJCQkvKiBEV19BVF9oaWdoX3BjICovCisrCS51bGViMTI4CTB4 MQkJCS8qIERXX0ZPUk1fYWRkciAqLworKwkudWxlYjEyOAkweDI3CQkJLyogRFdfQVRfcHJvdG90 eXBlZCAqLworKwkudWxlYjEyOAkweGMJCQkvKiBEV19GT1JNX2ZsYWcgKi8KKysJLnVsZWIxMjgJ MHg0OQkJCS8qIERXX0FUX3R5cGUgKi8KKysJLnVsZWIxMjgJMHgxMwkJCS8qIERXX0ZPUk1fcmVm NCAqLworKwkuYnl0ZQkJMHgwCQkJLyogVGVybWluYXRvciAqLworKwkuYnl0ZQkJMHgwCQkJLyog VGVybWluYXRvciAqLworKworKwkudWxlYjEyOAkweDUJCQkvKiBBYmJyZXYgY29kZSAqLworKwku dWxlYjEyOAkweDI0CQkJLyogRFdfVEFHX2Jhc2VfdHlwZSAqLworKwkuYnl0ZQkJMHgwCQkJLyog RFdfY2hpbGRyZW5fbm8gKi8KKysJLnVsZWIxMjgJMHhiCQkJLyogRFdfQVRfYnl0ZV9zaXplICov CisrCS51bGViMTI4CTB4YgkJCS8qIERXX0ZPUk1fZGF0YTEgKi8KKysJLnVsZWIxMjgJMHgzZQkJ CS8qIERXX0FUX2VuY29kaW5nICovCisrCS51bGViMTI4CTB4YgkJCS8qIERXX0ZPUk1fZGF0YTEg Ki8KKysJLnVsZWIxMjgJMHgzCQkJLyogRFdfQVRfbmFtZSAqLworKwkudWxlYjEyOAkweDgJCQkv KiBEV19GT1JNX3N0cmluZyAqLworKwkuYnl0ZQkJMHgwCQkJLyogVGVybWluYXRvciAqLworKwku Ynl0ZQkJMHgwCQkJLyogVGVybWluYXRvciAqLworKworKwkuYnl0ZQkJMHgwCQkJLyogVGVybWlu YXRvciAqLworKwkuYnl0ZQkJMHgwCQkJLyogVGVybWluYXRvciAqLworSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1jYXNlLWluc2Vuc2l0aXZl LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAw MDAgKzAwMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJm Mi9kdzItY2FzZS1pbnNlbnNpdGl2ZS5jCTIwMTEtMDQtMjkgMDk6NDQ6MTUuMDAwMDAwMDAwICsw MjAwCitAQCAtMCwwICsxLDM4IEBACisrLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwg dGhlIEdOVSBkZWJ1Z2dlci4KKysKKysgICBDb3B5cmlnaHQgMjAxMSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyAgIGl0IHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrICAg dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGlj ZW5zZSwgb3IKKysgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKworKyAg IFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg dXNlZnVsLAorKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp bXBsaWVkIHdhcnJhbnR5IG9mCisrICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGZvciBtb3JlIGRldGFpbHMuCisrCisrICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg Y29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysgICBhbG9uZyB3aXRoIHRo aXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4g ICovCisrCisrLyogVXNlIERXX0xBTkdfRm9ydHJhbjkwIGZvciBjYXNlIGluc2Vuc2l0aXZlIERX QVJGLiAgKi8KKysKKyt2b2lkCisrRlVOQ19sYW5nICh2b2lkKQorK3sKKyt9CisrCisrLyogU3lt Ym9sIGlzIHByZXNlbnQgb25seSBpbiBFTEYgLnN5bXRhYi4gICovCisrCisrdm9pZAorK0ZVTkNf c3ltdGFiICh2b2lkKQorK3sKKyt9CisrCisraW50CisrbWFpbiAodm9pZCkKKyt7CisrICBGVU5D X2xhbmcgKCk7CisrICBGVU5DX3N5bXRhYiAoKTsKKysgIHJldHVybiAwOworK30KK0luZGV4OiBn ZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItY2FzZS1pbnNl bnNpdGl2ZS5leHAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDow MC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUv Z2RiLmR3YXJmMi9kdzItY2FzZS1pbnNlbnNpdGl2ZS5leHAJMjAxMS0wNC0yOSAwOTo0NDoxNS4w MDAwMDAwMDAgKzAyMDAKK0BAIC0wLDAgKzEsNDkgQEAKKysjIENvcHlyaWdodCAyMDExIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorKworKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysjIGl0IHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVk IGJ5CisrIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9m IHRoZSBMaWNlbnNlLCBvcgorKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K KysjCisrIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3 aWxsIGJlIHVzZWZ1bCwKKysjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrIyBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyMKKysjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl ZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrIyBhbG9uZyB3aXRo IHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMv Pi4KKytsb2FkX2xpYiBkd2FyZi5leHAKKysKKysjIFRoaXMgdGVzdCBjYW4gb25seSBiZSBydW4g b24gdGFyZ2V0cyB3aGljaCBzdXBwb3J0IERXQVJGLTIgYW5kIHVzZSBnYXMuCisraWYgeyFbZHdh cmYyX3N1cHBvcnRdfSB7CisrICAgIHJldHVybiAwICAKKyt9CisrCisrc2V0IHRlc3RmaWxlICJk dzItY2FzZS1pbnNlbnNpdGl2ZSIKKysKKytpZiB7IFtwcmVwYXJlX2Zvcl90ZXN0aW5nICR7dGVz dGZpbGV9LmV4cCAke3Rlc3RmaWxlfSBbbGlzdCAke3Rlc3RmaWxlfS5jICR7dGVzdGZpbGV9LWRl YnVnLlNdIHtub2RlYnVnfV0gfSB7CisrICAgIHJldHVybiAtMQorK30KKysKKytnZGJfdGVzdCAi c2hvdyBjYXNlLXNlbnNpdGl2ZSIge0Nhc2Ugc2Vuc2l0aXZpdHkgaW4gbmFtZSBzZWFyY2ggaXMg ImF1dG87IGN1cnJlbnRseSBvbiJcLn0KKysKKytnZGJfdGVzdCAiaW5mbyBmdW5jdGlvbnMgZlVu Q19sYW5nIiBcCisrCSAiQWxsIGZ1bmN0aW9ucyBtYXRjaGluZyByZWd1bGFyIGV4cHJlc3Npb24g XCJmVW5DX2xhbmdcIjoiIFwKKysJICJyZWdleHAgY2FzZS1zZW5zaXRpdmUgb24iCisrCisrZ2Ri X3Rlc3QgInNldCBjYXNlLXNlbnNpdGl2ZSBvZmYiIHt3YXJuaW5nOiB0aGUgY3VycmVudCBjYXNl IHNlbnNpdGl2aXR5IHNldHRpbmcgZG9lcyBub3QgbWF0Y2ggdGhlIGxhbmd1YWdlXC59CisrCisr Z2RiX3Rlc3QgImluZm8gZnVuY3Rpb25zIGZVbkNfbGFuZyIgXAorKwkgIkFsbCBmdW5jdGlvbnMg bWF0Y2hpbmcgcmVndWxhciBleHByZXNzaW9uIFwiZlVuQ19sYW5nXCI6XFtcclxuXF0rRmlsZSBm aWxlMS50eHQ6XHJcbmZvbyBGVU5DX2xhbmdcXCh2b2lkXFwpOyIgXAorKwkgInJlZ2V4cCBjYXNl LXNlbnNpdGl2ZSBvZmYiCisrCisrZ2RiX3Rlc3QgInAgZnVOQ19sYW5nIiB7ID0ge2ZvbyBcKHZv aWRcKX0gMHhbMC05YS1mXSsgPEZVTkNfbGFuZz59CisrZ2RiX3Rlc3QgInAgZnVOQ19zeW10YWIi IHsgPSB7PHRleHQgdmFyaWFibGUsIG5vIGRlYnVnIGluZm8+fSAweFswLTlhLWZdKyA8RlVOQ19z eW10YWI+fQorKworK2lmIHtbZ2RiX2JyZWFrcG9pbnQgImZ1TkNfbGFuZyJdID09IDF9IHsKKysg ICAgcGFzcyAic2V0dGluZyBicmVha3BvaW50IGF0IGZ1TkNfbGFuZyIKKyt9CisrCisraWYge1tn ZGJfYnJlYWtwb2ludCAiZnVOQ19zeW10YWIiXSA9PSAxfSB7CisrICAgIHBhc3MgInNldHRpbmcg YnJlYWtwb2ludCBhdCBmdU5DX3N5bXRhYiIKKyt9CitJbmRleDogZ2RiLTcuMi45MC4yMDExMDQy OS9nZGIvdXRpbHMuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9n ZGIvdXRpbHMuYwkyMDExLTA0LTI5IDA5OjQzOjM0LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03 LjIuOTAuMjAxMTA0MjkvZ2RiL3V0aWxzLmMJMjAxMS0wNC0yOSAwOTo0NDoxNS4wMDAwMDAwMDAg KzAyMDAKK0BAIC0zMDAzLDEwICszMDAzLDEyIEBAIHN0cmNtcF9pdyAoY29uc3QgY2hhciAqc3Ry aW5nMSwgY29uc3QgY2gKKyAJeworIAkgIHN0cmluZzIrKzsKKyAJfQorLSAgICAgIGlmICgqc3Ry aW5nMSAhPSAqc3RyaW5nMikKKy0JeworLQkgIGJyZWFrOworLQl9CisrICAgICAgaWYgKGNhc2Vf c2Vuc2l0aXZpdHkgPT0gY2FzZV9zZW5zaXRpdmVfb24gJiYgKnN0cmluZzEgIT0gKnN0cmluZzIp CisrCWJyZWFrOworKyAgICAgIGlmIChjYXNlX3NlbnNpdGl2aXR5ID09IGNhc2Vfc2Vuc2l0aXZl X29mZgorKwkgICYmICh0b2xvd2VyICgodW5zaWduZWQgY2hhcikgKnN0cmluZzEpCisrCSAgICAg ICE9IHRvbG93ZXIgKCh1bnNpZ25lZCBjaGFyKSAqc3RyaW5nMikpKQorKwlicmVhazsKKyAgICAg ICBpZiAoKnN0cmluZzEgIT0gJ1wwJykKKyAJeworIAkgIHN0cmluZzErKzsKK0BAIC0zMDI3LDYg KzMwMjksMTAgQEAgc3RyY21wX2l3IChjb25zdCBjaGFyICpzdHJpbmcxLCBjb25zdCBjaAorICAg IHN0cmNtcF9pdyhMSVNUX0VMVCwgTkFNRSksIHRoZW4gdGhlIHBsYWNlIHRvIHN0YXJ0IGxvb2tp bmcgaXMgcmlnaHQKKyAgICB3aGVyZSB0aGlzIGZ1bmN0aW9uIHdvdWxkIHB1dCBOQU1FLgorIAor KyAgIFRoaXMgZnVuY3Rpb24gbXVzdCBiZSBuZXV0cmFsIHRvIHRoZSBDQVNFX1NFTlNJVElWSVRZ IHNldHRpbmcgYXMgdGhlIHVzZXIKKysgICBtYXkgY2hvb3NlIGl0IGR1cmluZyBsYXRlciBsb29r dXAuICBUaGVyZWZvcmUgdGhpcyBmdW5jdGlvbiBhbHdheXMgc29ydHMKKysgICBwcmltYXJpbHkg Y2FzZS1pbnNlbnNpdGl2ZWx5IGFuZCBzZWNvbmRhcmlseSBjYXNlLXNlbnNpdGl2ZWx5LgorKwor ICAgIEhlcmUgYXJlIHNvbWUgZXhhbXBsZXMgb2Ygd2h5IHVzaW5nIHN0cmNtcCB0byBzb3J0IGlz IGEgYmFkIGlkZWE6CisgCisgICAgV2hpdGVzcGFjZSBleGFtcGxlOgorQEAgLTMwNTIsOCArMzA1 OCwxMCBAQCBzdHJjbXBfaXcgKGNvbnN0IGNoYXIgKnN0cmluZzEsIGNvbnN0IGNoCisgaW50Cisg c3RyY21wX2l3X29yZGVyZWQgKGNvbnN0IGNoYXIgKnN0cmluZzEsIGNvbnN0IGNoYXIgKnN0cmlu ZzIpCisgeworLSAgLyogRm9ybWF0dGluZyBzdHViLiAgKi8KKy0gIGlmICgxKQorKyAgY29uc3Qg Y2hhciAqc2F2ZWRfc3RyaW5nMSA9IHN0cmluZzEsICpzYXZlZF9zdHJpbmcyID0gc3RyaW5nMjsK KysgIGVudW0gY2FzZV9zZW5zaXRpdml0eSBjYXNlX3Bhc3MgPSBjYXNlX3NlbnNpdGl2ZV9vZmY7 CisrCisrICBmb3IgKDs7KQorICAgICB7CisgICAgICAgLyogQzEgYW5kIEMyIGFyZSB2YWxpZCBv bmx5IGlmICpzdHJpbmcxICE9ICdcMCcgJiYgKnN0cmluZzIgIT0gJ1wwJy4KKyAJIFByb3ZpZGUg c3R1YiBjaGFyYWN0ZXJzIGlmIHdlIGFyZSBhbHJlYWR5IGF0IHRoZSBlbmQgb2Ygb25lIG9mIHRo ZQorQEAgLTMwNjcsOCArMzA3NSwxNyBAQCBzdHJjbXBfaXdfb3JkZXJlZCAoY29uc3QgY2hhciAq c3RyaW5nMSwgCisgCSAgd2hpbGUgKGlzc3BhY2UgKCpzdHJpbmcyKSkKKyAJICAgIHN0cmluZzIr KzsKKyAKKysJICBzd2l0Y2ggKGNhc2VfcGFzcykKKysJICB7CisrCSAgICBjYXNlIGNhc2Vfc2Vu c2l0aXZlX29mZjoKKysJICAgICAgYzEgPSB0b2xvd2VyICgodW5zaWduZWQgY2hhcikgKnN0cmlu ZzEpOworKwkgICAgICBjMiA9IHRvbG93ZXIgKCh1bnNpZ25lZCBjaGFyKSAqc3RyaW5nMik7Cisr CSAgICAgIGJyZWFrOworKwkgICAgY2FzZSBjYXNlX3NlbnNpdGl2ZV9vbjoKKyAJICAgICAgYzEg PSAqc3RyaW5nMTsKKyAJICAgICAgYzIgPSAqc3RyaW5nMjsKKysJICAgICAgYnJlYWs7CisrCSAg fQorIAkgIGlmIChjMSAhPSBjMikKKyAJICAgIGJyZWFrOworIAorQEAgLTMwODYsNyArMzEwMyw3 IEBAIHN0cmNtcF9pd19vcmRlcmVkIChjb25zdCBjaGFyICpzdHJpbmcxLCAKKyAJICAgICBjb21w YXJpc29uIGluIHRoZSBjYXNlcyB3aGVyZSBvbmUgb2YgdGhlbSBpcyAnXDAnIG9yICcoJy4gICov CisgCWNhc2UgJ1wwJzoKKyAJICBpZiAoKnN0cmluZzIgPT0gJ1wwJykKKy0JICAgIHJldHVybiAw OworKwkgICAgYnJlYWs7CisgCSAgZWxzZQorIAkgICAgcmV0dXJuIC0xOworIAljYXNlICcoJzoK K0BAIC0zMDk3LDkgKzMxMTQsMjIgQEAgc3RyY21wX2l3X29yZGVyZWQgKGNvbnN0IGNoYXIgKnN0 cmluZzEsIAorIAlkZWZhdWx0OgorIAkgIGlmICgqc3RyaW5nMiA9PSAnXDAnIHx8ICpzdHJpbmcy ID09ICcoJykKKyAJICAgIHJldHVybiAxOworLQkgIGVsc2UKKy0JICAgIHJldHVybiBjMSAtIGMy OworKwkgIGVsc2UgaWYgKGMxID4gYzIpCisrCSAgICByZXR1cm4gMTsKKysJICBlbHNlIGlmIChj MSA8IGMyKQorKwkgICAgcmV0dXJuIC0xOworKwkgIC8qIFBBU1NUSFJVICovCisgCX0KKysKKysg ICAgICBpZiAoY2FzZV9wYXNzID09IGNhc2Vfc2Vuc2l0aXZlX29uKQorKwlyZXR1cm4gMDsKKysg ICAgICAKKysgICAgICAvKiBPdGhlcndpc2UgdGhlIHN0cmluZ3Mgd2VyZSBlcXVhbCBpbiBjYXNl IGluc2Vuc2l0aXZlIHdheSwgbWFrZQorKwkgYSBtb3JlIGZpbmUgZ3JhaW5lZCBjb21wYXJpc29u IGluIGEgY2FzZSBzZW5zaXRpdmUgd2F5LiAgKi8KKysKKysgICAgICBjYXNlX3Bhc3MgPSBjYXNl X3NlbnNpdGl2ZV9vbjsKKysgICAgICBzdHJpbmcxID0gc2F2ZWRfc3RyaW5nMTsKKysgICAgICBz dHJpbmcyID0gc2F2ZWRfc3RyaW5nMjsKKyAgICAgfQorIH0KKyAKCmRpZmYgLS1naXQgYS9nZGIt Yno2NDU3NzMtY2FzZS1pbnNlbnNpdGl2ZS01b2Y1LnBhdGNoIGIvZ2RiLWJ6NjQ1NzczLWNhc2Ut aW5zZW5zaXRpdmUtNW9mNS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw Li43MDc3MDM3Ci0tLSAvZGV2L251bGwKKysrIGIvZ2RiLWJ6NjQ1NzczLWNhc2UtaW5zZW5zaXRp dmUtNW9mNS5wYXRjaApAQCAtMCwwICsxLDYyIEBACitodHRwOi8vc291cmNld2FyZS5vcmcvbWwv Z2RiLXBhdGNoZXMvMjAxMS0wNC9tc2cwMDU0Ni5odG1sCitTdWJqZWN0OiBbb2J2XSBGaXggY29t cGxldGVyIHByZS1leHBhbnNpb24gZm9yIGNhc2UgaW5zZW5zaXRpdmUgbG9va3VwcworCitIaSwK KworZHVlIHRvIHRoZSBwZW5kaW5nIHBhdGNoZXMgdGhlcmUgaGFwcGVuZWQgYSBzZW1hbnRpYyBj b2xsaXNpb24uICBCb3RoIHBhdGhzZXRzCit3ZXJlIHJpZ2h0IG9uIHRoZWlyIG93biBidXQgdG9n ZXRoZXIgaXQgZGlkIG5vdCB3b3JrIHdlbGwuICBUaGVyZSBjb3VsZCBiZQorYSB0ZXN0Y2FzZSBm b3IgaXQgYnV0IEkgZG8gbm90IHByb3ZpZGUgaXQsIGl0IHNlZW1zIG9idmlvdXMgZW5vdWdodCB0 byBtZS4KKworVGhlIHR3byBwYXRjaGVzIHdlcmU6CisJUmU6IFtwYXRjaCAzLzNdIGNhc2UgaW5z ZW5zaXRpdmU6IHRoZSBmaXggW3JlZGlmZl0KKwlodHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2Ri LXBhdGNoZXMvMjAxMS0wNC9tc2cwMDQxOC5odG1sCisJIC0gc2VlIHRoZSBjaGFuZ2UgaW4gY29t cGxldGlvbl9saXN0X2FkZF9uYW1lCithbmQKKwlbcGF0Y2hdWys3LjNdIEZpeCBwaHlzbmFtZSBj b21wbGV0aW9uIHJlZ3Jlc3Npb24KKwlodHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNo ZXMvMjAxMS0wNC9tc2cwMDE0MC5odG1sCisJIC0gc2VlIGV4cGFuZF9wYXJ0aWFsX3N5bWJvbF9u YW1lIHdoaWNoIGp1c3QgY2FsbGVkCisJICAgY29tcGxldGlvbl9saXN0X2FkZF9uYW1lIGJlZm9y ZSBidXQgbm93IGl0IGhhcyBleHBsaWNpdCBzdHJuY21wLgorCitBbm90aGVyIHByb2JsZW0gaXMg dGhpcyBjb2RlIGlzIHN0aWxsIHdyb25nLiAgVGhhdCBpcyB0aGUgc3ViamVjdCBvZjoKKwlDVSBl eHBhbnNpb24gcHJvYmxlbSBmb3IgcGFyYW1ldGVycworCWh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9i dWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MTI3MDgKKworQnV0IEkgZGlkIG5vdCB3YW50IHRvIG1p eCB0d28gdW5yZWxhdGVkIGZpeGVzIGludG8gYSBzaW5nbGUgcGF0Y2gKKworTm8gcmVncmVzc2lv bnMgb24ge3g4Nl82NCx4ODZfNjQtbTMyLGk2ODZ9LWZlZG9yYTE1LWxpbnV4LWdudS4gIENoZWNr ZWQgaXQgaW4KK2FscmVhZHkgdG8gbm90IGdldCBsb3N0IGluIHRoZSBpbnRlci1wYXRjaCBkZXBl bmRlbmNpZXMgYWdhaW4uCisKKworU29ycnksCitKYW4KKworCitodHRwOi8vc291cmNld2FyZS5v cmcvbWwvZ2RiLWN2cy8yMDExLTA0L21zZzAwMTg2Lmh0bWwKKworIyMjIHNyYy9nZGIvQ2hhbmdl TG9nCTIwMTEvMDQvMjggMTU6NTI6NTMJMS4xMjk2NAorIyMjIHNyYy9nZGIvQ2hhbmdlTG9nCTIw MTEvMDQvMjggMTc6Mzc6MDIJMS4xMjk2NQorIyMgLTEsMyArMSw4IEBACisrMjAxMS0wNC0yOCAg SmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgorKworKwkqIHN5bXRh Yi5jIChleHBhbmRfcGFydGlhbF9zeW1ib2xfbmFtZSk6IE5ldyB2YXJpYWJsZSBOQ01QLiAgU3Vw cG9ydAorKwljYXNlIGluc2Vuc2l0aXZlIGNvbXBhcmlzb24uCisrCisgMjAxMS0wNC0yOCAgVWxy aWNoIFdlaWdhbmQgIDx1bHJpY2gud2VpZ2FuZEBsaW5hcm8ub3JnPgorIAorIAkqIGluZnJ1bi5j IChwcm9jZWVkKTogUmV2ZXJ0IHByZXZpb3VzIGNoYW5nZS4KKy0tLSBzcmMvZ2RiL3N5bXRhYi5j CTIwMTEvMDQvMjcgMjA6MDM6MDMJMS4yNjkKKysrKyBzcmMvZ2RiL3N5bXRhYi5jCTIwMTEvMDQv MjggMTc6Mzc6MDYJMS4yNzAKK0BAIC0zNzA3LDggKzM3MDcsMTEgQEAKKyBleHBhbmRfcGFydGlh bF9zeW1ib2xfbmFtZSAoY29uc3QgY2hhciAqbmFtZSwgdm9pZCAqdXNlcl9kYXRhKQorIHsKKyAg IHN0cnVjdCBhZGRfbmFtZV9kYXRhICpkYXR1bSA9IChzdHJ1Y3QgYWRkX25hbWVfZGF0YSAqKSB1 c2VyX2RhdGE7CisrICBpbnQgKCpuY21wKSAoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIHNp emVfdCk7CisgCistICByZXR1cm4gc3RybmNtcCAobmFtZSwgZGF0dW0tPnN5bV90ZXh0LCBkYXR1 bS0+c3ltX3RleHRfbGVuKSA9PSAwOworKyAgbmNtcCA9IChjYXNlX3NlbnNpdGl2aXR5ID09IGNh c2Vfc2Vuc2l0aXZlX29uID8gc3RybmNtcCA6IHN0cm5jYXNlY21wKTsKKysKKysgIHJldHVybiBu Y21wIChuYW1lLCBkYXR1bS0+c3ltX3RleHQsIGRhdHVtLT5zeW1fdGV4dF9sZW4pID09IDA7Cisg fQorIAorIGNoYXIgKioKKwoKZGlmZiAtLWdpdCBhL2dkYi1mb3J0cmFuLWNvbW1vbi5wYXRjaCBi L2dkYi1mb3J0cmFuLWNvbW1vbi5wYXRjaAppbmRleCBhY2MzNjIyLi5iZTViZjIyIDEwMDY0NAot LS0gYS9nZGItZm9ydHJhbi1jb21tb24ucGF0Y2gKKysrIGIvZ2RiLWZvcnRyYW4tY29tbW9uLnBh dGNoCkBAIC0xLDggKzEsOCBAQAotSW5kZXg6IGdkYi03LjIuNTAuMjAxMTAxMTcvZ2RiL2R3YXJm MnJlYWQuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2R3YXJmMnJlYWQuYwogPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIGdkYi03LjIuNTAuMjAxMTAxMTcub3JpZy9nZGIvZHdhcmYycmVhZC5jCTIw MTEtMDEtMTcgMTU6NTA6NDEuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi41MC4yMDExMDEx Ny9nZGIvZHdhcmYycmVhZC5jCTIwMTEtMDEtMTcgMTU6NTY6MjMuMDAwMDAwMDAwICswMTAwCi1A QCAtNzQ2NSwxMiArNzQ2NSwxNCBAQCByZWFkX3NldF90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRp ZSwgc3RyCistLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9kd2FyZjJyZWFkLmMJMjAx MS0wNC0yOSAwOTo0MToxNC4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNDI5 L2dkYi9kd2FyZjJyZWFkLmMJMjAxMS0wNC0yOSAwOTo0MToyMC4wMDAwMDAwMDAgKzAyMDAKK0BA IC03NTY5LDEyICs3NTY5LDE0IEBAIHJlYWRfc2V0X3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGll LCBzdHIKICAgIHJldHVybiBzZXRfZGllX3R5cGUgKGRpZSwgc2V0X3R5cGUsIGN1KTsKICB9CiAg CkBAIC0xOSw3ICsxOSw3IEBAIEluZGV4OiBnZGItNy4yLjUwLjIwMTEwMTE3L2dkYi9kd2FyZjJy ZWFkLmMKICAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHI7CiAgICBzdHJ1Y3Qgc3ltYm9sICpzeW07 CiAgICBDT1JFX0FERFIgYmFzZSA9IChDT1JFX0FERFIpIDA7Ci1AQCAtNzQ5NSwxMCArNzQ5Nyw0 MCBAQCByZWFkX2NvbW1vbl9ibG9jayAoc3RydWN0IGRpZV9pbmZvICpkaWUsCitAQCAtNzU5OSwx MCArNzYwMSw0MCBAQCByZWFkX2NvbW1vbl9ibG9jayAoc3RydWN0IGRpZV9pbmZvICpkaWUsCiAg ICAgIH0KICAgIGlmIChkaWUtPmNoaWxkICE9IE5VTEwpCiAgICAgIHsKQEAgLTYwLDcgKzYwLDcg QEAgSW5kZXg6IGdkYi03LjIuNTAuMjAxMTAxMTcvZ2RiL2R3YXJmMnJlYWQuYwogIAkgIGF0dHIg PSBkd2FyZjJfYXR0ciAoY2hpbGRfZGllLCBEV19BVF9kYXRhX21lbWJlcl9sb2NhdGlvbiwgY3Up OwogIAkgIGlmIChzeW0gIT0gTlVMTCAmJiBhdHRyICE9IE5VTEwpCiAgCSAgICB7Ci1AQCAtNzUx Niw4ICs3NTQ4LDI1IEBAIHJlYWRfY29tbW9uX2Jsb2NrIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwK K0BAIC03NjIwLDggKzc2NTIsMjUgQEAgcmVhZF9jb21tb25fYmxvY2sgKHN0cnVjdCBkaWVfaW5m byAqZGllLAogIAkgICAgICBTWU1CT0xfVkFMVUVfQUREUkVTUyAoc3ltKSA9IGJhc2UgKyBieXRl X29mZnNldDsKICAJICAgICAgYWRkX3N5bWJvbF90b19saXN0IChzeW0sICZnbG9iYWxfc3ltYm9s cyk7CiAgCSAgICB9CkBAIC04Niw3ICs4Niw3IEBAIEluZGV4OiBnZGItNy4yLjUwLjIwMTEwMTE3 L2dkYi9kd2FyZjJyZWFkLmMKICAgICAgfQogIH0KICAKLUBAIC0xMTExMSw2ICsxMTE2MCwxMyBA QCBuZXdfc3ltYm9sX2Z1bGwgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzCitAQCAtMTEyODYsNiAr MTEzMzUsMTMgQEAgbmV3X3N5bWJvbF9mdWxsIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgcwogIAkg ICAgewogIAkgICAgICB2YXJfZGVjb2RlX2xvY2F0aW9uIChhdHRyLCBzeW0sIGN1KTsKICAJICAg ICAgYXR0cjIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF9leHRlcm5hbCwgY3UpOwpAQCAtMTAw LDcgKzEwMCw3IEBAIEluZGV4OiBnZGItNy4yLjUwLjIwMTEwMTE3L2dkYi9kd2FyZjJyZWFkLmMK ICAJICAgICAgaWYgKFNZTUJPTF9DTEFTUyAoc3ltKSA9PSBMT0NfU1RBVElDCiAgCQkgICYmIFNZ TUJPTF9WQUxVRV9BRERSRVNTIChzeW0pID09IDAKICAJCSAgJiYgIWR3YXJmMl9wZXJfb2JqZmls ZS0+aGFzX3NlY3Rpb25fYXRfemVybykKLUBAIC0xMTI4Myw2ICsxMTMzOSwxMSBAQCBuZXdfc3lt Ym9sX2Z1bGwgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzCitAQCAtMTE0NTgsNiArMTE1MTQsMTEg QEAgbmV3X3N5bWJvbF9mdWxsIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgcwogIAkgIFNZTUJPTF9D TEFTUyAoc3ltKSA9IExPQ19UWVBFREVGOwogIAkgIGxpc3RfdG9fYWRkID0gJmdsb2JhbF9zeW1i b2xzOwogIAkgIGJyZWFrOwpAQCAtMTEyLDEwICsxMTIsMTAgQEAgSW5kZXg6IGdkYi03LjIuNTAu MjAxMTAxMTcvZ2RiL2R3YXJmMnJlYWQuYwogIAlkZWZhdWx0OgogIAkgIC8qIE5vdCBhIHRhZyB3 ZSByZWNvZ25pemUuICBIb3BlZnVsbHkgd2UgYXJlbid0IHByb2Nlc3NpbmcKICAJICAgICB0cmFz aCBkYXRhLCBidXQgc2luY2Ugd2UgbXVzdCBzcGVjaWZpY2FsbHkgaWdub3JlIHRoaW5ncwotSW5k ZXg6IGdkYi03LjIuNTAuMjAxMTAxMTcvZ2RiL2YtbGFuZy5jCitJbmRleDogZ2RiLTcuMi45MC4y MDExMDQyOS9nZGIvZi1sYW5nLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjUwLjIwMTEwMTE3 Lm9yaWcvZ2RiL2YtbGFuZy5jCTIwMTEtMDEtMTcgMTU6NTY6MDcuMDAwMDAwMDAwICswMTAwCi0r KysgZ2RiLTcuMi41MC4yMDExMDExNy9nZGIvZi1sYW5nLmMJMjAxMS0wMS0xNyAxNTo1Njo0OC4w MDAwMDAwMDAgKzAxMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL2YtbGFuZy5j CTIwMTEtMDQtMjkgMDk6NDE6MTUuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDEx MDQyOS9nZGIvZi1sYW5nLmMJMjAxMS0wNC0yOSAwOTo0MToyMC4wMDAwMDAwMDAgKzAyMDAKIEBA IC00NDYsMjcgKzQ0NiwzIEBAIF9pbml0aWFsaXplX2ZfbGFuZ3VhZ2UgKHZvaWQpCiAgCiAgICBh ZGRfbGFuZ3VhZ2UgKCZmX2xhbmd1YWdlX2RlZm4pOwpAQCAtMTQ0LDEwICsxNDQsMTAgQEAgSW5k ZXg6IGdkYi03LjIuNTAuMjAxMTAxMTcvZ2RiL2YtbGFuZy5jCiAtICAgIH0KIC0gIHJldHVybiAo TlVMTCk7CiAtfQotSW5kZXg6IGdkYi03LjIuNTAuMjAxMTAxMTcvZ2RiL2YtbGFuZy5oCitJbmRl eDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZi1sYW5nLmgKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt Ny4yLjUwLjIwMTEwMTE3Lm9yaWcvZ2RiL2YtbGFuZy5oCTIwMTEtMDEtMTcgMTU6NTQ6MTQuMDAw MDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi41MC4yMDExMDExNy9nZGIvZi1sYW5nLmgJMjAxMS0w MS0xNyAxNTo1NjoyMy4wMDAwMDAwMDAgKzAxMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9y aWcvZ2RiL2YtbGFuZy5oCTIwMTEtMDQtMjkgMDk6NDE6MTUuMDAwMDAwMDAwICswMjAwCisrKysg Z2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZi1sYW5nLmgJMjAxMS0wNC0yOSAwOTo0MToyMC4wMDAw MDAwMDAgKzAyMDAKIEBAIC01MiwzNiArNTIsOCBAQCBlbnVtIGY5MF9yYW5nZV90eXBlCiAgICAg IE5PTkVfQk9VTkRfREVGQVVMVAkJLyogIihsb3c6aGlnaCkiICAqLwogICAgfTsKQEAgLTE4NSwx MCArMTg1LDEwIEBAIEluZGV4OiBnZGItNy4yLjUwLjIwMTEwMTE3L2dkYi9mLWxhbmcuaAogIAog IC8qIFdoZW4gcmVhc29uYWJsZSBhcnJheSBib3VuZHMgY2Fubm90IGJlIGZldGNoZWQsIHN1Y2gg YXMgd2hlbiAKICAgICB5b3UgYXNrIHRvICdtdCBwcmludCBzeW1ib2xzJyBhbmQgdGhlcmUgaXMg bm8gc3RhY2sgZnJhbWUgYW5kIAotSW5kZXg6IGdkYi03LjIuNTAuMjAxMTAxMTcvZ2RiL2YtdmFs cHJpbnQuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2YtdmFscHJpbnQuYwogPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIGdkYi03LjIuNTAuMjAxMTAxMTcub3JpZy9nZGIvZi12YWxwcmludC5jCTIw MTEtMDEtMTcgMTU6NTQ6MzYuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi41MC4yMDExMDEx Ny9nZGIvZi12YWxwcmludC5jCTIwMTEtMDEtMTcgMTU6NTk6MzguMDAwMDAwMDAwICswMTAwCist LS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9mLXZhbHByaW50LmMJMjAxMS0wNC0yOSAw OTo0MToxNS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9mLXZh bHByaW50LmMJMjAxMS0wNC0yOSAwOTo0MToyMC4wMDAwMDAwMDAgKzAyMDAKIEBAIC0zNCw2ICsz NCw4IEBACiAgI2luY2x1ZGUgImdkYmNvcmUuaCIKICAjaW5jbHVkZSAiY29tbWFuZC5oIgpAQCAt MTk4LDcgKzE5OCw3IEBAIEluZGV4OiBnZGItNy4yLjUwLjIwMTEwMTE3L2dkYi9mLXZhbHByaW50 LmMKICAKICBleHRlcm4gdm9pZCBfaW5pdGlhbGl6ZV9mX3ZhbHByaW50ICh2b2lkKTsKICBzdGF0 aWMgdm9pZCBpbmZvX2NvbW1vbl9jb21tYW5kIChjaGFyICosIGludCk7Ci1AQCAtNDg5LDIyICs0 OTEsNTQgQEAgZl92YWxfcHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZAorQEAgLTUw MSwyMiArNTAzLDU0IEBAIGZfdmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2QK ICAgIHJldHVybiAwOwogIH0KICAKQEAgLTI2Niw3ICsyNjYsNyBAQCBJbmRleDogZ2RiLTcuMi41 MC4yMDExMDExNy9nZGIvZi12YWxwcmludC5jCiAgfQogIAogIC8qIFRoaXMgZnVuY3Rpb24gaXMg dXNlZCB0byBwcmludCBvdXQgdGhlIHZhbHVlcyBpbiBhIGdpdmVuIENPTU1PTiAKLUBAIC01MTQs MTEgKzU0OCw5IEBAIGxpc3RfYWxsX3Zpc2libGVfY29tbW9ucyAoY2hhciAqZnVubmFtZSkKK0BA IC01MjYsMTEgKzU2MCw5IEBAIGxpc3RfYWxsX3Zpc2libGVfY29tbW9ucyAoY2hhciAqZnVubmFt ZSkKICBzdGF0aWMgdm9pZAogIGluZm9fY29tbW9uX2NvbW1hbmQgKGNoYXIgKmNvbW5hbWUsIGlu dCBmcm9tX3R0eSkKICB7CkBAIC0yODAsNyArMjgwLDcgQEAgSW5kZXg6IGdkYi03LjIuNTAuMjAx MTAxMTcvZ2RiL2YtdmFscHJpbnQuYwogIAogICAgLyogV2UgaGF2ZSBiZWVuIHRvbGQgdG8gZGlz cGxheSB0aGUgY29udGVudHMgb2YgRjc3IENPTU1PTiAKICAgICAgIGJsb2NrIHN1cHBvc2VkbHkg dmlzaWJsZSBpbiB0aGlzIGZ1bmN0aW9uLiAgTGV0IHVzIAotQEAgLTUzMCw3NCArNTYyLDMxIEBA IGluZm9fY29tbW9uX2NvbW1hbmQgKGNoYXIgKmNvbW5hbWUsIGludCAKK0BAIC01NDIsNzQgKzU3 NCwzMSBAQCBpbmZvX2NvbW1vbl9jb21tYW5kIChjaGFyICpjb21uYW1lLCBpbnQgCiAgICAvKiBU aGUgZm9sbG93aW5nIGlzIGdlbmVyYWxseSByaXBwZWQgb2ZmIGZyb20gc3RhY2suYydzIHJvdXRp bmUgCiAgICAgICBwcmludF9mcmFtZV9pbmZvKCkuICAqLwogIApAQCAtMzcxLDExICszNzEsMTEg QEAgSW5kZXg6IGdkYi03LjIuNTAuMjAxMTAxMTcvZ2RiL2YtdmFscHJpbnQuYwogIH0KICAKICB2 b2lkCi1JbmRleDogZ2RiLTcuMi41MC4yMDExMDExNy9nZGIvc3RhY2suYworSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA0MjkvZ2RiL3N0YWNrLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjUwLjIw MTEwMTE3Lm9yaWcvZ2RiL3N0YWNrLmMJMjAxMS0wMS0xNyAxNTo0NzozNy4wMDAwMDAwMDAgKzAx MDAKLSsrKyBnZGItNy4yLjUwLjIwMTEwMTE3L2dkYi9zdGFjay5jCTIwMTEtMDEtMTcgMTU6NTY6 MjMuMDAwMDAwMDAwICswMTAwCi1AQCAtMTQ5OCw2ICsxNDk4LDggQEAgaXRlcmF0ZV9vdmVyX2Js b2NrX2xvY2FscyAoc3RydWN0IGJsb2NrIAorLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9n ZGIvc3RhY2suYwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03 LjIuOTAuMjAxMTA0MjkvZ2RiL3N0YWNrLmMJMjAxMS0wNC0yOSAwOTo0MToyMC4wMDAwMDAwMDAg KzAyMDAKK0BAIC0xNTI1LDYgKzE1MjUsOCBAQCBpdGVyYXRlX292ZXJfYmxvY2tfbG9jYWxzIChz dHJ1Y3QgYmxvY2sgCiAgCWNhc2UgTE9DX0NPTVBVVEVEOgogIAkgIGlmIChTWU1CT0xfSVNfQVJH VU1FTlQgKHN5bSkpCiAgCSAgICBicmVhazsKQEAgLTM4NCwyNiArMzg0LDI2IEBAIEluZGV4OiBn ZGItNy4yLjUwLjIwMTEwMTE3L2dkYi9zdGFjay5jCiAgCSAgKCpjYikgKFNZTUJPTF9QUklOVF9O QU1FIChzeW0pLCBzeW0sIGNiX2RhdGEpOwogIAkgIGJyZWFrOwogIAotSW5kZXg6IGdkYi03LjIu NTAuMjAxMTAxMTcvZ2RiL3N5bXRhYi5oCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIv c3ltdGFiLmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjUwLjIwMTEwMTE3Lm9yaWcvZ2RiL3N5 bXRhYi5oCTIwMTEtMDEtMTcgMTU6NDc6MzcuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi41 MC4yMDExMDExNy9nZGIvc3ltdGFiLmgJMjAxMS0wMS0xNyAxNTo1NjoyMy4wMDAwMDAwMDAgKzAx MDAKLUBAIC00MDgsNyArNDA4LDEwIEBAIHR5cGVkZWYgZW51bSBkb21haW5fZW51bV90YWcKLSAg IEZVTkNUSU9OU19ET01BSU4sCistLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9zeW10 YWIuaAkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAu MjAxMTA0MjkvZ2RiL3N5bXRhYi5oCTIwMTEtMDQtMjkgMDk6NDI6MTcuMDAwMDAwMDAwICswMjAw CitAQCAtNDExLDcgKzQxMSwxMCBAQCB0eXBlZGVmIGVudW0gZG9tYWluX2VudW1fdGFnCisgICBU WVBFU19ET01BSU4sCiAgCi0gICAvKiBBbGwgZGVmaW5lZCB0eXBlcyAqLwotLSAgVFlQRVNfRE9N QUlOCi0rICBUWVBFU19ET01BSU4sCisgICAvKiBBbnkgdHlwZS4gICovCistICBBTExfRE9NQUlO CisrICBBTExfRE9NQUlOLAogKwogKyAgLyogRm9ydHJhbiBjb21tb24gYmxvY2tzLiAgVGhlaXIg bmFtaW5nIG11c3QgYmUgc2VwYXJhdGUgZnJvbSBWQVJfRE9NQUlOLiAgKi8KICsgIENPTU1PTl9C TE9DS19ET01BSU4KICB9CiAgZG9tYWluX2VudW07CiAgCi1JbmRleDogZ2RiLTcuMi41MC4yMDEx MDExNy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2NvbW1vbi1ibG9jay5leHAKK0luZGV4OiBn ZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vY29tbW9uLWJsb2Nr LmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAw MDAwMCArMDAwMAotKysrIGdkYi03LjIuNTAuMjAxMTAxMTcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi9jb21tb24tYmxvY2suZXhwCTIwMTEtMDEtMTcgMTU6NTY6MjMuMDAwMDAwMDAwICswMTAw CisrKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2NvbW1v bi1ibG9jay5leHAJMjAxMS0wNC0yOSAwOTo0MToyMC4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAg KzEsMTAxIEBACiArIyBDb3B5cmlnaHQgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KICsKQEAgLTUwNiwxMCArNTA2LDEwIEBAIEluZGV4OiBnZGItNy4yLjUwLjIwMTEwMTE3L2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vY29tbW9uLWJsb2NrLmV4cAogK2dkYl90ZXN0ICJwIGl4 X3giICIgPSAxICoiICJwIGl4X3ggaW4iCiArZ2RiX3Rlc3QgInAgaXlfeSIgIiA9IDIgKiIgInAg aXlfeSBpbiIKICtnZGJfdGVzdCAicCBpel96MiIgIiA9IDMgKiIgInAgaXpfejIgaW4iCi1JbmRl eDogZ2RiLTcuMi41MC4yMDExMDExNy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2NvbW1vbi1i bG9jay5mOTAKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmZv cnRyYW4vY29tbW9uLWJsb2NrLmY5MAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAx LTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuNTAuMjAxMTAxMTcvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9jb21tb24tYmxvY2suZjkwCTIwMTEtMDEtMTcgMTU6NTY6 MjMuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL2NvbW1vbi1ibG9jay5mOTAJMjAxMS0wNC0yOSAwOTo0MToyMC4wMDAwMDAw MDAgKzAyMDAKIEBAIC0wLDAgKzEsNjcgQEAKICshIENvcHlyaWdodCAyMDA4IEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgSW5jLgogKyEKCmRpZmYgLS1naXQgYS9nZGItb3B0aW0tZy1wcm9sb2d1 ZS1za2lwLnBhdGNoIGIvZ2RiLW9wdGltLWctcHJvbG9ndWUtc2tpcC5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZGFhYjEzCi0tLSAvZGV2L251bGwKKysrIGIvZ2Ri LW9wdGltLWctcHJvbG9ndWUtc2tpcC5wYXRjaApAQCAtMCwwICsxLDgzMCBAQAoraHR0cDovL3Nv dXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTEtMDQvbXNnMDAyMjkuaHRtbAorU3ViamVj dDogW3JmYywgNy4zP10gLU8yIC1nIGJyZWFrcG9pbnRzIGludGVybmFsIGVycm9yICsgcHJvbG9n dWUgc2tpcHBpbmcKKworWyBCYWNrcG9ydGVkLiAgXQorCitIaSwKKworb2Jzb2xldGVzIG15Ogor CVtwYXRjaF0gRml4IGludGVybmFsIGVycm9yIG9uIHNvbWUgLU8yIC1nIGJyZWFrcG9pbnRzCisJ aHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTAtMDcvbXNnMDA1MzMuaHRt bAorYW5kIElNTyBhbHNvIFBhdWwnczoKKwlbcGF0Y2hdIEZpeCBmb3IgUFIgZ2RiLzEyNTczCisJ aHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTEtMDMvbXNnMDA4ODMuaHRt bAoraXQgaXMgYW4gaW1wcm92ZW1lbnQgb2Y6CisJW3BhdGNoXSBEbyBub3Qgc2tpcCBwcm9sb2d1 ZSBmb3IgLU8yIC1nIHdpdGggR0NDIFZUQSBSZTogW3BhdGNoXSBGaXggZm9yIFBSIGdkYi8xMjU3 MworCWh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9nZGItcGF0Y2hlcy8yMDExLTAzL21zZzAxMTI5 Lmh0bWwKKworSnVzdCB0aGUgcmVtb3ZhbCBvZiBnZGJfYXNzZXJ0IG1heSBwbGFjZSB0aGUgYnJl YWtwb2ludHMgb24gLU8yIC1nIGNvZGUgdG9vCitsYXRlLiAgSU1PIG9uIGAoZ2RiKSBicmVhayBC YXI6OkJhcicgbm8gcmVhbCBpbmZlcmlvciBtb2RpZmljYXRpb24gc2hvdWxkCitoYXBwZW4gd2hp bGUgd2l0aCB0aGUgUGF1bCdzIHJlcHJvZHVjZXIgaW4gdGhlIFBSIHRoZSBgZnJlZShtYWxsb2Mo MSkpOycgbGluZQoraXMgYWxyZWFkeSBleGVjdXRlZCB3aGVuIEdEQiBzdG9wcy4gIFRoaXMgb3Zl ci1leGVjdXRpb24gaXMgdGVzdGVkIGluIHRoZQorYXR0YWNoZWQgYXJ0aWZpY2lhbCByZXByb2R1 Y2VyIGJ5IHRoZSB0ZXN0Y2FzZSAibm8gc3RhdGVtZW50IGdvdCBleGVjdXRlZCIuCisKK1RoZXJl IGFyZSBzZXZlcmFsIGlzc3VlcyBvZiB0aGlzIHBhdGNoOgorCisjMSBUaGUgdHdvLXBhc3MgY29t cGxpY2F0ZWQgZXhlY3V0aW9uIGluIHNraXBfcHJvbG9ndWVfc2FsIGN1cnJlbnRseSBoYXMgbm8K K2VmZmVjdCBhcyB0aGUgZnVuY3Rpb25hbGl0eSBkZXBlbmRpbmcgb24gaXQgZG9lcyBub3Qgd29y ayBub3cuICBCdXQgdGhhdCBpcworYSBzZXBhcmF0ZSBuZXcgQnVnIGFuZCB0aGUgdHdvIHBhc3Nl cyB3aWxsIGJlIG5lZWRlZCBhZnRlciBpdHMgZml4OgorCXJlZ3Jlc3Npb24gYnkgcGh5c25hbWU6 IFBFMzIgcHJvbG9ndWUgc2tpcCB2cy4gc3RhdGljIGluaXRpYWxpemVycworCWh0dHA6Ly9zb3Vy Y2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MTI2ODAKKworIzIgQSBjb25zZXJ2 YXRpdmUgYXBwcm9hY2ggaGFzIGJlZW4gdGFrZW4uICBUaGUgcHJvYmxlbWF0aWMgcHJvbG9ndWUg c2tpcHBpbmcKK2lzIGRpc2FibGVkIG9ubHkgaWYgLmRlYnVnX2xvYyByZWZlcmVuY2UgaXMgZm91 bmQgd2hpY2ggcHJvdmVzIC1PMiAod2l0aCAtZykuCisgICAgIFRoaXMgdGVzdCBpcyBpbXBlcmZl Y3QgYXMgdGhlcmUgbWF5IGV4aXN0IG9wdGltaXplZCBkZWJ1ZyBjb2RlIG5vdCB1c2luZyAKKyAg ICAgYW55IGxvY2F0aW9uIGxpc3QgYW5kIHN0aWxsIGZhY2luZyBpbmxpbmluZyBpc3N1ZXMgaWYg aGFuZGxlZCBhcworICAgICB1bm9wdGltaXplZCBjb2RlLiAgRm9yIGEgZnV0dXJlIGJldHRlciB0 ZXN0IHNlZSBHQ0MgUFIgb3RoZXIvMzI5OTguCisgICAgIEdDQyBQUiBvdGhlci8zMjk5OCA9IC1m cmVjb3JkLWdjYy1zd2l0Y2hlcyBpc3N1ZXMsIFN0YXR1czogTkVXCitUaGUgb3Bwb3NpdGUgb3B0 aW9uIHdvdWxkIGJlIHRvIGtlZXAgdGhlIHByb2xvZ3VlIHNraXBwaW5nIGVuYWJsZWQgb25seSBp ZgordGhlcmUgaXMgYW55IERXX0FUX2xvY2F0aW9uKERXX09QX2ZicmVnKHgpKS4gIEkgaGF2ZW4n dCB0ZXN0ZWQgdGhpcyB3YXksIGl0CitzZWVtcyB2ZXJ5IGludHJ1c2l2ZSB0byBtZS4gIEluIHBy YWN0aWNlIEkgZG91YnQgdGhlcmUgd2lsbCBiZSBhIHJlYWwgd29ybGQKK2Nhc2Ugb2YgLU8yIC1n IENVIG5vdCByZWZlcmVuY2luZyAuZGVidWdfbG9jIC0gc3VjaCBhcyBpZiBhbGwgaXRzIGNvZGUg YWNjZXNzZXMKK29ubHkgZ2xvYmFsIHZhcmlhYmxlcyBhbmQgaGFzIG5vIGxvY2FsIHZhcmlhYmxl cy4gIEp1c3QgdGhlIHRlc3RjYXNlIG9yaWdpbmFsbHkKK3dhcyBzdWNoIGEgY291bnRlcmNhc2Ug Q1UuIDotLyAgVGhlIEdEQiBpbnRlcm5hbCBlcnJvciBpcyBrZXB0IGluIHBsYWNlIGFzIGl0Citz dGlsbCBjYW4gaGFwcGVuIGluIHN1Y2ggY2FzZSwgdGhpcyBwcm9ibGVtIGlzIG5vdCB5ZXQgZnVs bHkgZml4ZWQuCisKKyMzIFdoZXRoZXIgYSAuZGVidWdfbG9jIHJlZmVyZW5jZSBtYXkgYmUgcHJl c2VudCB3aXRoIHN0aWxsIGludmFsaWQKK0RXX0FUX2xvY2F0aW9uIGJlZm9yZSBwcm9sb2d1ZSBJ IGRvIG5vdCBrbm93LCBpdCBkb2VzIG5vdCBzZWVtIHRvIGhhcHBlbiBmb3IKK0dDQy4gIFRoZXJl IGlzIGN1cnJlbnRseSBubyBEV19BVF9wcm9kdWNlciBjaGVjay4gIEV2ZW4gYmVmb3JlIFZUQSAo VmFyaWFibGUKK1RyYWNraW5nIEFzc2lnbm1lbnRzLCBzaW5jZSBGU0YgR0NDIDQuNSwgLU8yIC1n IHZhcmlhYmxlcyBEV19BVF9sb2NhdGlvbgoraW1wcm92ZW1lbnQpIGl0IHNlZW1zIHRvIG1lIHRo ZSB2YWxpZGl0eSBhdCBmdW5jdGlvbiBlbnRyeSBwb2ludCB3b3JrZWQgd2VsbAorZW5vdWdoLgor CisjNCBUaGlzIHdob2xlIHByb2JsZW1zIGFwcGVhcnMgb25seSB3aXRoIGludm9sdmVtZW50IG9m IGlubGluZWQgY29kZSwgZWl0aGVyCitleHBsaWNpdGx5IG9yIGltcGxpY2l0bHkuICBCdXQgR0RC IGRvZXMgbm90IHN1cHBvcnQgaW5saW5lZCBjb2RlIGJyZWFrcG9pbnRzCit3ZWxsIChQUiBicmVh a3BvaW50cy8xMDczOCwgUkggQlojMTQ5MTI1KS4gIFdoZW4gb25lIHBsYXlzIHdpdGggdGVzdGlu ZyB0aGlzCitwYXRjaCB2YXJpb3VzIHN1aXRhYmxlIGJyZWFrcG9pbnRzIGFyZSBub3QgcGxhY2Vk IGJ1dCBBRkFJSyBhbGwgb2YgdGhlbSBhcmUgaW4KK3RoZSBzY29wZSBvZiB0aGUgUFIgMTA3Mzgu CisKKyM1IElmIGZ1bmN0aW9uIGRvZXMgbm90IHN0YXJ0IGlzIG5vdCBvbiBhIGxpbmUgYm91bmRh cnkgdGhlIG11bHRpLWxvY2F0aW9uCiticmVha3BvaW50cyBhcmUgYWxyZWFkeSBub3QgZm91bmQg cHJvcGVybHkgYW5kIGV2ZXJ5dGhpbmcgZmFpbHMuICBJIGRvIG5vdAordGhpbmsgaXQgY2FuIGV2 ZXIgaGFwcGVuIGluIHJlYWwgd29ybGQuICBFdmVuIGZvciBhIHNpbmdlLWxpbmUgY29kZQorICAg IHZvaWQgZiAodm9pZCkge30gdm9pZCBnICh2b2lkKSB7fQorR0NDIHBsYWNlcyB0aGVyZSBtdWx0 aXBsZSBsaW5lIG1hcmtlcnMgLSAtTzIgLWcsIGR1cGxpY2l0eSBpcyBmb3IgcHJvbG9ndWVzOgor RmlsZSBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpbmUgbnVtYmVyICAgIFN0YXJ0 aW5nIGFkZHJlc3MKKzEuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMSAgICAgICAgICAgICAgICAgICAwCisxLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDEgICAgICAgICAgICAgICAgICAgMAorMS5jICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICAgICAgICAgICAgICAgIDB4MTAKKzEuYyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgICAgICAgICAgICAg ICAweDEwCisKKworV2hldGhlciB0aGlzIHNob3VsZCBnbyBmb3IgNy4zIEkgYW0gbm90IHN1cmUu ICBUaGUgc2ltcGxlIHJlbW92YWwgb2YKK2dkYl9hc3NlcnQgbG9va3MgbmljZSwgR0RCIGRvZXMg bm90IGNyYXNoLiBCdXQgR0RCIGJlaGF2ZXMgd3JvbmcgYW5kIGBicmVhaworZnVuYycgbWF5IG5v dCBzdG9wIGJlZm9yZSBhIGNyYXNoIHRoZXJlIGF0IGFsbCBldGMuCisKK05vIHJlZ3Jlc3Npb25z IG9uIHt4ODZfNjQseDg2XzY0LW0zMixpNjg2fS1mZWRvcmExNS1saW51eC1nbnUuCisKK0kgd2ls bCB0byBjb21taXQgaXQgd2l0aG91dCBhbnkgcmV2aWV3L2Rpc2N1c3Npb24uCisKKworVGhhbmtz LAorSmFuCisKKworZ2RiLworMjAxMS0wNC0xNSAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9j aHZpbEByZWRoYXQuY29tPgorCisJKiBkd2FyZjJyZWFkLmMgKHN0cnVjdCBkd2FyZjJfY3UpOiBO ZXcgZmllbGQgaGFzX2xvY2xpc3QuCisJKHByb2Nlc3NfZnVsbF9jb21wX3VuaXQpOiBTZXQgYWxz byBzeW10YWItPmxvY2F0aW9uc192YWxpZC4gIE1vdmUgdGhlCisJc3ltdGFiLT5sYW5ndWFnZSBj b2RlLgorCSh2YXJfZGVjb2RlX2xvY2F0aW9uKTogU2V0IGN1LT5oYXNfbG9jbGlzdC4KKwkqIHN5 bXRhYi5jIChza2lwX3Byb2xvZ3VlX3NhbCk6IE5ldyB2YXJpYWJsZXMgc2F2ZWRfcGMsIGZvcmNl X3NraXAgYW5kCisJc2tpcC4gIEludGlhbGl6ZSBmb3JjZV9za2lwIGZyb20gbG9jYXRpb25zX3Zh bGlkLiAgTW92ZSB0aGUgcHJvbG9ndWUKKwlza2lwcGluZyBjb2RlIGludG8gdHdvIHBhc3Nlcy4K KwkqIHN5bXRhYi5oIChzdHJ1Y3Qgc3ltdGFiKTogTWFrZSB0aGUgcHJpbWFyeSBmaWVsZCBhIGJp dGZpZWxkLiAgTmV3CisJZmllbGQgbG9jYXRpb25zX3ZhbGlkLgorCitnZGIvdGVzdHN1aXRlLwor MjAxMS0wNC0xNSAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgor CisJKiBnZGIuZHdhcmYyL2R3Mi1za2lwLXByb2xvZ3VlLlM6IE5ldyBmaWxlLgorCSogZ2RiLmR3 YXJmMi9kdzItc2tpcC1wcm9sb2d1ZS5jOiBOZXcgZmlsZS4KKwkqIGdkYi5kd2FyZjIvZHcyLXNr aXAtcHJvbG9ndWUuZXhwOiBOZXcgZmlsZS4KKworLS0tIGEvZ2RiL2R3YXJmMnJlYWQuYworKysr IGIvZ2RiL2R3YXJmMnJlYWQuYworQEAgLTM5Niw2ICszOTYsMTMgQEAgc3RydWN0IGR3YXJmMl9j dQorICAgICAgRElFcyBmb3IgbmFtZXNwYWNlcywgd2UgZG9uJ3QgbmVlZCB0byB0cnkgdG8gaW5m ZXIgdGhlbQorICAgICAgZnJvbSBtYW5nbGVkIG5hbWVzLiAgKi8KKyAgIHVuc2lnbmVkIGludCBo YXNfbmFtZXNwYWNlX2luZm8gOiAxOworKworKyAgLyogVGhpcyBDVSByZWZlcmVuY2VzIC5kZWJ1 Z19sb2MuICBTZWUgdGhlIHN5bXRhYi0+bG9jYXRpb25zX3ZhbGlkIGZpZWxkLgorKyAgICAgVGhp cyB0ZXN0IGlzIGltcGVyZmVjdCBhcyB0aGVyZSBtYXkgZXhpc3Qgb3B0aW1pemVkIGRlYnVnIGNv ZGUgbm90IHVzaW5nCisrICAgICBhbnkgbG9jYXRpb24gbGlzdCBhbmQgc3RpbGwgZmFjaW5nIGlu bGluaW5nIGlzc3VlcyBpZiBoYW5kbGVkIGFzCisrICAgICB1bm9wdGltaXplZCBjb2RlLiAgRm9y IGEgZnV0dXJlIGJldHRlciB0ZXN0IHNlZSBHQ0MgUFIgb3RoZXIvMzI5OTguICAqLworKworKyAg dW5zaWduZWQgaW50IGhhc19sb2NsaXN0IDogMTsKKyB9OworIAorIC8qIFBlcnNpc3RlbnQgZGF0 YSBoZWxkIGZvciBhIGNvbXBpbGF0aW9uIHVuaXQsIGV2ZW4gd2hlbiBub3QKK0BAIC00NjU0LDEz ICs0NjYxLDE1IEBAIHByb2Nlc3NfZnVsbF9jb21wX3VuaXQgKHN0cnVjdCBkd2FyZjJfcGVyX2N1 X2RhdGEgKnBlcl9jdSkKKyAKKyAgIHN5bXRhYiA9IGVuZF9zeW10YWIgKGhpZ2hwYyArIGJhc2Vh ZGRyLCBvYmpmaWxlLCBTRUNUX09GRl9URVhUIChvYmpmaWxlKSk7CisgCistICAvKiBTZXQgc3lt dGFiIGxhbmd1YWdlIHRvIGxhbmd1YWdlIGZyb20gRFdfQVRfbGFuZ3VhZ2UuCistICAgICBJZiB0 aGUgY29tcGlsYXRpb24gaXMgZnJvbSBhIEMgZmlsZSBnZW5lcmF0ZWQgYnkgbGFuZ3VhZ2UgcHJl cHJvY2Vzc29ycywKKy0gICAgIGRvIG5vdCBzZXQgdGhlIGxhbmd1YWdlIGlmIGl0IHdhcyBhbHJl YWR5IGRlZHVjZWQgYnkgc3RhcnRfc3ViZmlsZS4gICovCistICBpZiAoc3ltdGFiICE9IE5VTEwK Ky0gICAgICAmJiAhKGN1LT5sYW5ndWFnZSA9PSBsYW5ndWFnZV9jICYmIHN5bXRhYi0+bGFuZ3Vh Z2UgIT0gbGFuZ3VhZ2VfYykpCisrICBpZiAoc3ltdGFiICE9IE5VTEwpCisgICAgIHsKKy0gICAg ICBzeW10YWItPmxhbmd1YWdlID0gY3UtPmxhbmd1YWdlOworKyAgICAgIC8qIFNldCBzeW10YWIg bGFuZ3VhZ2UgdG8gbGFuZ3VhZ2UgZnJvbSBEV19BVF9sYW5ndWFnZS4gIElmIHRoZQorKwkgY29t cGlsYXRpb24gaXMgZnJvbSBhIEMgZmlsZSBnZW5lcmF0ZWQgYnkgbGFuZ3VhZ2UgcHJlcHJvY2Vz c29ycywgZG8KKysJIG5vdCBzZXQgdGhlIGxhbmd1YWdlIGlmIGl0IHdhcyBhbHJlYWR5IGRlZHVj ZWQgYnkgc3RhcnRfc3ViZmlsZS4gICovCisrICAgICAgaWYgKCEoY3UtPmxhbmd1YWdlID09IGxh bmd1YWdlX2MgJiYgc3ltdGFiLT5sYW5ndWFnZSAhPSBsYW5ndWFnZV9jKSkKKysJc3ltdGFiLT5s YW5ndWFnZSA9IGN1LT5sYW5ndWFnZTsKKysKKysgICAgICBzeW10YWItPmxvY2F0aW9uc192YWxp ZCA9IGN1LT5oYXNfbG9jbGlzdDsKKyAgICAgfQorIAorICAgaWYgKGR3YXJmMl9wZXJfb2JqZmls ZS0+dXNpbmdfaW5kZXgpCitAQCAtMTEyMjEsNiArMTEyMzAsOSBAQCB2YXJfZGVjb2RlX2xvY2F0 aW9uIChzdHJ1Y3QgYXR0cmlidXRlICphCisgCisgICBTWU1CT0xfQ0xBU1MgKHN5bSkgPSBMT0Nf Q09NUFVURUQ7CisgICBkd2FyZjJfc3ltYm9sX21hcmtfY29tcHV0ZWQgKGF0dHIsIHN5bSwgY3Up OworKworKyAgaWYgKFNZTUJPTF9DT01QVVRFRF9PUFMgKHN5bSkgPT0gJmR3YXJmMl9sb2NsaXN0 X2Z1bmNzKQorKyAgICBjdS0+aGFzX2xvY2xpc3QgPSAxOworIH0KKyAKKyAvKiBHaXZlbiBhIHBv aW50ZXIgdG8gYSBEV0FSRiBpbmZvcm1hdGlvbiBlbnRyeSwgZmlndXJlIG91dCBpZiB3ZSBuZWVk CistLS0gYS9nZGIvc3ltdGFiLmMKKysrKyBiL2dkYi9zeW10YWIuYworQEAgLTI0NTQsMTIgKzI0 NTQsMTMgQEAgc2tpcF9wcm9sb2d1ZV9zYWwgKHN0cnVjdCBzeW10YWJfYW5kX2xpbmUgKnNhbCkK KyAgIHN0cnVjdCBzeW1ib2wgKnN5bTsKKyAgIHN0cnVjdCBzeW10YWJfYW5kX2xpbmUgc3RhcnRf c2FsOworICAgc3RydWN0IGNsZWFudXAgKm9sZF9jaGFpbjsKKy0gIENPUkVfQUREUiBwYzsKKysg IENPUkVfQUREUiBwYywgc2F2ZWRfcGM7CisgICBzdHJ1Y3Qgb2JqX3NlY3Rpb24gKnNlY3Rpb247 CisgICBjb25zdCBjaGFyICpuYW1lOworICAgc3RydWN0IG9iamZpbGUgKm9iamZpbGU7CisgICBz dHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaDsKKyAgIHN0cnVjdCBibG9jayAqYiwgKmZ1bmN0aW9uX2Js b2NrOworKyAgaW50IGZvcmNlX3NraXAsIHNraXA7CisgCisgICAvKiBEbyBub3QgY2hhbmdlIHRo ZSBTQUwgaXMgUEMgd2FzIHNwZWNpZmllZCBleHBsaWNpdGx5LiAgKi8KKyAgIGlmIChzYWwtPmV4 cGxpY2l0X3BjKQorQEAgLTI0OTcsNDYgKzI0OTgsNjkgQEAgc2tpcF9wcm9sb2d1ZV9zYWwgKHN0 cnVjdCBzeW10YWJfYW5kX2xpbmUgKnNhbCkKKyAKKyAgIGdkYmFyY2ggPSBnZXRfb2JqZmlsZV9h cmNoIChvYmpmaWxlKTsKKyAKKy0gIC8qIElmIHRoZSBmdW5jdGlvbiBpcyBpbiBhbiB1bm1hcHBl ZCBvdmVybGF5LCB1c2UgaXRzIHVubWFwcGVkIExNQSBhZGRyZXNzLAorLSAgICAgc28gdGhhdCBn ZGJhcmNoX3NraXBfcHJvbG9ndWUgaGFzIHNvbWV0aGluZyB1bmlxdWUgdG8gd29yayBvbi4gICov CistICBpZiAoc2VjdGlvbl9pc19vdmVybGF5IChzZWN0aW9uKSAmJiAhc2VjdGlvbl9pc19tYXBw ZWQgKHNlY3Rpb24pKQorLSAgICBwYyA9IG92ZXJsYXlfdW5tYXBwZWRfYWRkcmVzcyAocGMsIHNl Y3Rpb24pOworKyAgLyogUHJvY2VzcyB0aGUgcHJvbG9ndWUgaW4gdHdvIHBhc3Nlcy4gIEluIHRo ZSBmaXJzdCBwYXNzIHRyeSB0byBza2lwIHRoZQorKyAgICAgcHJvbG9ndWUgKFNLSVAgaXMgdHJ1 ZSkgYW5kIHZlcmlmeSB0aGVyZSBpcyBhIHJlYWwgbmVlZCBmb3IgaXQgKGluZGljYXRlZAorKyAg ICAgYnkgRk9SQ0VfU0tJUCkuICBJZiBubyBzdWNoIHJlYXNvbiB3YXMgZm91bmQgcnVuIGEgc2Vj b25kIHBhc3Mgd2hlcmUgdGhlCisrICAgICBwcm9sb2d1ZSBpcyBub3Qgc2tpcHBlZCAoU0tJUCBp cyBmYWxzZSkuICAqLworIAorLSAgLyogU2tpcCAiZmlyc3QgbGluZSIgb2YgZnVuY3Rpb24gKHdo aWNoIGlzIGFjdHVhbGx5IGl0cyBwcm9sb2d1ZSkuICAqLworLSAgcGMgKz0gZ2RiYXJjaF9kZXBy ZWNhdGVkX2Z1bmN0aW9uX3N0YXJ0X29mZnNldCAoZ2RiYXJjaCk7CistICBwYyA9IGdkYmFyY2hf c2tpcF9wcm9sb2d1ZSAoZ2RiYXJjaCwgcGMpOworKyAgc2tpcCA9IDE7CisrICBmb3JjZV9za2lw ID0gMTsKKyAKKy0gIC8qIEZvciBvdmVybGF5cywgbWFwIHBjIGJhY2sgaW50byBpdHMgbWFwcGVk IFZNQSByYW5nZS4gICovCistICBwYyA9IG92ZXJsYXlfbWFwcGVkX2FkZHJlc3MgKHBjLCBzZWN0 aW9uKTsKKysgIC8qIEJlIGNvbnNlcnZhdGl2ZSAtIGFsbG93IGRpcmVjdCBQQyAod2l0aG91dCBz a2lwcGluZyBwcm9sb2d1ZSkgb25seSBpZiB3ZQorKyAgICAgaGF2ZSBwcm92ZW4gdGhlIENVIChD b21waWxhdGlvbiBVbml0KSBzdXBwb3J0cyBpdC4gIHNhbC0+U1lNVEFCIGRvZXMgbm90CisrICAg ICBoYXZlIHRvIGJlIHNldCBieSB0aGUgY2FsbGVyIHNvIHdlIHVzZSBTWU0gaW5zdGVhZC4gICov CisrICBpZiAoc3ltICYmIFNZTUJPTF9TWU1UQUIgKHN5bSktPmxvY2F0aW9uc192YWxpZCkKKysg ICAgZm9yY2Vfc2tpcCA9IDA7CisgCistICAvKiBDYWxjdWxhdGUgbGluZSBudW1iZXIuICAqLwor LSAgc3RhcnRfc2FsID0gZmluZF9wY19zZWN0X2xpbmUgKHBjLCBzZWN0aW9uLCAwKTsKKy0KKy0g IC8qIENoZWNrIGlmIGdkYmFyY2hfc2tpcF9wcm9sb2d1ZSBsZWZ0IHVzIGluIG1pZC1saW5lLCBh bmQgdGhlIG5leHQKKy0gICAgIGxpbmUgaXMgc3RpbGwgcGFydCBvZiB0aGUgc2FtZSBmdW5jdGlv bi4gICovCistICBpZiAoc3RhcnRfc2FsLnBjICE9IHBjCistICAgICAgJiYgKHN5bT8gKEJMT0NL X1NUQVJUIChTWU1CT0xfQkxPQ0tfVkFMVUUgKHN5bSkpIDw9IHN0YXJ0X3NhbC5lbmQKKy0JICAg ICAgICAmJiBzdGFydF9zYWwuZW5kIDwgQkxPQ0tfRU5EIChTWU1CT0xfQkxPQ0tfVkFMVUUgKHN5 bSkpKQorLSAgICAgICAgICA6IChsb29rdXBfbWluaW1hbF9zeW1ib2xfYnlfcGNfc2VjdGlvbiAo c3RhcnRfc2FsLmVuZCwgc2VjdGlvbikKKy0gICAgICAgICAgICAgPT0gbG9va3VwX21pbmltYWxf c3ltYm9sX2J5X3BjX3NlY3Rpb24gKHBjLCBzZWN0aW9uKSkpKQorKyAgc2F2ZWRfcGMgPSBwYzsK KysgIGRvCisgICAgIHsKKy0gICAgICAvKiBGaXJzdCBwYyBvZiBuZXh0IGxpbmUgKi8KKy0gICAg ICBwYyA9IHN0YXJ0X3NhbC5lbmQ7CistICAgICAgLyogUmVjYWxjdWxhdGUgdGhlIGxpbmUgbnVt YmVyIChtaWdodCBub3QgYmUgTisxKS4gICovCistICAgICAgc3RhcnRfc2FsID0gZmluZF9wY19z ZWN0X2xpbmUgKHBjLCBzZWN0aW9uLCAwKTsKKy0gICAgfQorKyAgICAgIHBjID0gc2F2ZWRfcGM7 CisgCistICAvKiBPbiB0YXJnZXRzIHdpdGggZXhlY3V0YWJsZSBmb3JtYXRzIHRoYXQgZG9uJ3Qg aGF2ZSBhIGNvbmNlcHQgb2YKKy0gICAgIGNvbnN0cnVjdG9ycyAoRUxGIHdpdGggLmluaXQgaGFz LCBQRSBkb2Vzbid0KSwgZ2NjIGVtaXRzIGEgY2FsbAorLSAgICAgdG8gYF9fbWFpbicgaW4gYG1h aW4nIGJldHdlZW4gdGhlIHByb2xvZ3VlIGFuZCBiZWZvcmUgdXNlcgorLSAgICAgY29kZS4gICov CistICBpZiAoZ2RiYXJjaF9za2lwX21haW5fcHJvbG9ndWVfcCAoZ2RiYXJjaCkKKy0gICAgICAm JiBuYW1lICYmIHN0cmNtcCAobmFtZSwgIm1haW4iKSA9PSAwKQorLSAgICB7CistICAgICAgcGMg PSBnZGJhcmNoX3NraXBfbWFpbl9wcm9sb2d1ZSAoZ2RiYXJjaCwgcGMpOworLSAgICAgIC8qIFJl Y2FsY3VsYXRlIHRoZSBsaW5lIG51bWJlciAobWlnaHQgbm90IGJlIE4rMSkuICAqLworKyAgICAg IC8qIElmIHRoZSBmdW5jdGlvbiBpcyBpbiBhbiB1bm1hcHBlZCBvdmVybGF5LCB1c2UgaXRzIHVu bWFwcGVkIExNQSBhZGRyZXNzLAorKwkgc28gdGhhdCBnZGJhcmNoX3NraXBfcHJvbG9ndWUgaGFz IHNvbWV0aGluZyB1bmlxdWUgdG8gd29yayBvbi4gICovCisrICAgICAgaWYgKHNlY3Rpb25faXNf b3ZlcmxheSAoc2VjdGlvbikgJiYgIXNlY3Rpb25faXNfbWFwcGVkIChzZWN0aW9uKSkKKysJcGMg PSBvdmVybGF5X3VubWFwcGVkX2FkZHJlc3MgKHBjLCBzZWN0aW9uKTsKKysKKysgICAgICAvKiBT a2lwICJmaXJzdCBsaW5lIiBvZiBmdW5jdGlvbiAod2hpY2ggaXMgYWN0dWFsbHkgaXRzIHByb2xv Z3VlKS4gICovCisrICAgICAgcGMgKz0gZ2RiYXJjaF9kZXByZWNhdGVkX2Z1bmN0aW9uX3N0YXJ0 X29mZnNldCAoZ2RiYXJjaCk7CisrICAgICAgaWYgKHNraXApCisrCXBjID0gZ2RiYXJjaF9za2lw X3Byb2xvZ3VlIChnZGJhcmNoLCBwYyk7CisrCisrICAgICAgLyogRm9yIG92ZXJsYXlzLCBtYXAg cGMgYmFjayBpbnRvIGl0cyBtYXBwZWQgVk1BIHJhbmdlLiAgKi8KKysgICAgICBwYyA9IG92ZXJs YXlfbWFwcGVkX2FkZHJlc3MgKHBjLCBzZWN0aW9uKTsKKysKKysgICAgICAvKiBDYWxjdWxhdGUg bGluZSBudW1iZXIuICAqLworICAgICAgIHN0YXJ0X3NhbCA9IGZpbmRfcGNfc2VjdF9saW5lIChw Yywgc2VjdGlvbiwgMCk7CisrCisrICAgICAgLyogQ2hlY2sgaWYgZ2RiYXJjaF9za2lwX3Byb2xv Z3VlIGxlZnQgdXMgaW4gbWlkLWxpbmUsIGFuZCB0aGUgbmV4dAorKwkgbGluZSBpcyBzdGlsbCBw YXJ0IG9mIHRoZSBzYW1lIGZ1bmN0aW9uLiAgKi8KKysgICAgICBpZiAoc2tpcCAmJiBzdGFydF9z YWwucGMgIT0gcGMKKysJICAmJiAoc3ltPyAoQkxPQ0tfU1RBUlQgKFNZTUJPTF9CTE9DS19WQUxV RSAoc3ltKSkgPD0gc3RhcnRfc2FsLmVuZAorKwkJICAgICYmIHN0YXJ0X3NhbC5lbmQgPCBCTE9D S19FTkQgKFNZTUJPTF9CTE9DS19WQUxVRSAoc3ltKSkpCisrCSAgICAgIDogKGxvb2t1cF9taW5p bWFsX3N5bWJvbF9ieV9wY19zZWN0aW9uIChzdGFydF9zYWwuZW5kLCBzZWN0aW9uKQorKwkJID09 IGxvb2t1cF9taW5pbWFsX3N5bWJvbF9ieV9wY19zZWN0aW9uIChwYywgc2VjdGlvbikpKSkKKysJ eworKwkgIC8qIEZpcnN0IHBjIG9mIG5leHQgbGluZSAqLworKwkgIHBjID0gc3RhcnRfc2FsLmVu ZDsKKysJICAvKiBSZWNhbGN1bGF0ZSB0aGUgbGluZSBudW1iZXIgKG1pZ2h0IG5vdCBiZSBOKzEp LiAgKi8KKysJICBzdGFydF9zYWwgPSBmaW5kX3BjX3NlY3RfbGluZSAocGMsIHNlY3Rpb24sIDAp OworKwl9CisrCisrICAgICAgLyogT24gdGFyZ2V0cyB3aXRoIGV4ZWN1dGFibGUgZm9ybWF0cyB0 aGF0IGRvbid0IGhhdmUgYSBjb25jZXB0IG9mCisrCSBjb25zdHJ1Y3RvcnMgKEVMRiB3aXRoIC5p bml0IGhhcywgUEUgZG9lc24ndCksIGdjYyBlbWl0cyBhIGNhbGwKKysJIHRvIGBfX21haW4nIGlu IGBtYWluJyBiZXR3ZWVuIHRoZSBwcm9sb2d1ZSBhbmQgYmVmb3JlIHVzZXIKKysJIGNvZGUuICAq LworKyAgICAgIGlmIChnZGJhcmNoX3NraXBfbWFpbl9wcm9sb2d1ZV9wIChnZGJhcmNoKQorKwkg ICYmIG5hbWUgJiYgc3RyY21wIChuYW1lLCAibWFpbiIpID09IDApCisrCXsKKysJICBwYyA9IGdk YmFyY2hfc2tpcF9tYWluX3Byb2xvZ3VlIChnZGJhcmNoLCBwYyk7CisrCSAgLyogUmVjYWxjdWxh dGUgdGhlIGxpbmUgbnVtYmVyIChtaWdodCBub3QgYmUgTisxKS4gICovCisrCSAgc3RhcnRfc2Fs ID0gZmluZF9wY19zZWN0X2xpbmUgKHBjLCBzZWN0aW9uLCAwKTsKKysJICBmb3JjZV9za2lwID0g MTsKKysJfQorICAgICB9CisrICB3aGlsZSAoIWZvcmNlX3NraXAgJiYgc2tpcC0tKTsKKyAKKyAg IC8qIElmIHdlIHN0aWxsIGRvbid0IGhhdmUgYSB2YWxpZCBzb3VyY2UgbGluZSwgdHJ5IHRvIGZp bmQgdGhlIGZpcnN0CisgICAgICBQQyBpbiB0aGUgbGluZWluZm8gdGFibGUgdGhhdCBiZWxvbmdz IHRvIHRoZSBzYW1lIGZ1bmN0aW9uLiAgVGhpcworQEAgLTI1NDYsNyArMjU3MCw3IEBAIHNraXBf cHJvbG9ndWVfc2FsIChzdHJ1Y3Qgc3ltdGFiX2FuZF9saW5lICpzYWwpCisgICAgICB0aGUgY2Fz ZSB3aXRoIHRoZSBESkdQUCB0YXJnZXQgdXNpbmcgImdjYyAtZ2NvZmYiIHdoZW4gdGhlCisgICAg ICBjb21waWxlciBpbnNlcnRlZCBjb2RlIGFmdGVyIHRoZSBwcm9sb2d1ZSB0byBtYWtlIHN1cmUg dGhlIHN0YWNrCisgICAgICBpcyBhbGlnbmVkLiAgKi8KKy0gIGlmIChzeW0gJiYgc3RhcnRfc2Fs LnN5bXRhYiA9PSBOVUxMKQorKyAgaWYgKCFmb3JjZV9za2lwICYmIHN5bSAmJiBzdGFydF9zYWwu c3ltdGFiID09IE5VTEwpCisgICAgIHsKKyAgICAgICBwYyA9IHNraXBfcHJvbG9ndWVfdXNpbmdf bGluZWluZm8gKHBjLCBTWU1CT0xfU1lNVEFCIChzeW0pKTsKKyAgICAgICAvKiBSZWNhbGN1bGF0 ZSB0aGUgbGluZSBudW1iZXIuICAqLworLS0tIGEvZ2RiL3N5bXRhYi5oCisrKysgYi9nZGIvc3lt dGFiLmgKK0BAIC03NjcsNyArNzY3LDEzIEBAIHN0cnVjdCBzeW10YWIKKyAgICAgIHNob3VsZCBi ZSBkZXNpZ25hdGVkIHRoZSBwcmltYXJ5LCBzbyB0aGF0IHRoZSBibG9ja3ZlY3RvcgorICAgICAg aXMgcmVsb2NhdGVkIGV4YWN0bHkgb25jZSBieSBvYmpmaWxlX3JlbG9jYXRlLiAgKi8KKyAKKy0g IGludCBwcmltYXJ5OworKyAgdW5zaWduZWQgaW50IHByaW1hcnkgOiAxOworKworKyAgLyogU3lt dGFiIGhhcyBiZWVuIGNvbXBpbGVkIHdpdGggYm90aCBvcHRpbWl6YXRpb25zIGFuZCBkZWJ1ZyBp bmZvIHNvIHRoYXQKKysgICAgIEdEQiBtYXkgc3RvcCBza2lwcGluZyBwcm9sb2d1ZXMgYXMgdmFy aWFibGVzIGxvY2F0aW9ucyBhcmUgdmFsaWQgYWxyZWFkeQorKyAgICAgYXQgZnVuY3Rpb24gZW50 cnkgcG9pbnRzLiAgKi8KKysKKysgIHVuc2lnbmVkIGludCBsb2NhdGlvbnNfdmFsaWQgOiAxOwor IAorICAgLyogVGhlIG1hY3JvIHRhYmxlIGZvciB0aGlzIHN5bXRhYi4gIExpa2UgdGhlIGJsb2Nr dmVjdG9yLCB0aGlzCisgICAgICBtYXkgYmUgc2hhcmVkIGJldHdlZW4gZGlmZmVyZW50IHN5bXRh YnMgLS0tIGFuZCBub3JtYWxseSBpcyBmb3IKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmR3YXJmMi9kdzItc2tpcC1wcm9sb2d1ZS5TCitAQCAtMCwwICsxLDM5MSBAQAor Ky8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCisrCisr ICAgQ29weXJpZ2h0IDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrICAg VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu ZC9vciBtb2RpZnkKKysgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrICAgKGF0IHlvdXIg b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgICBidXQgV0lUSE9V VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAg IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl ZSB0aGUKKysgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor KworKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlCisrICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNl ZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworKworKwkuc2VjdGlvbiAuZGVi dWdfaW5mbworKy5MY3UxX2JlZ2luOgorKwkvKiBDVSBoZWFkZXIgKi8KKysJLjRieXRlCS5MY3Ux X2VuZCAtIC5MY3UxX3N0YXJ0CQkvKiBMZW5ndGggb2YgQ29tcGlsYXRpb24gVW5pdCAqLworKy5M Y3UxX3N0YXJ0OgorKwkuMmJ5dGUJMgkJCQkvKiBEV0FSRiBWZXJzaW9uICovCisrCS40Ynl0ZQku TGFiYnJldjFfYmVnaW4JCQkvKiBPZmZzZXQgaW50byBhYmJyZXYgc2VjdGlvbiAqLworKwkuYnl0 ZQk0CQkJCS8qIFBvaW50ZXIgc2l6ZSAqLworKworKwkvKiBDVSBkaWUgKi8KKysJLnVsZWIxMjgg MQkJCQkvKiBBYmJyZXY6IERXX1RBR19jb21waWxlX3VuaXQgKi8KKysJLjRieXRlCS5MbGluZTFf YmVnaW4JCQkvKiBEV19BVF9zdG10X2xpc3QgKi8KKysJLjRieXRlCWZ1bmNfc3RhcnQJCQkvKiBE V19BVF9sb3dfcGMgKi8KKysJLjRieXRlCWZ1bmNfZW5kCQkJLyogRFdfQVRfaGlnaF9wYyAqLwor KwkuYXNjaWkJIm1haW4uY1wwIgkJCS8qIERXX0FUX25hbWUgKi8KKysJLmFzY2lpCSJHTlUgQyAz LjMuM1wwIgkJCS8qIERXX0FUX3Byb2R1Y2VyICovCisrCS5ieXRlCTIJCQkJLyogRFdfQVRfbGFu Z3VhZ2UgKERXX0xBTkdfQykgKi8KKysKKysJLnVsZWIxMjgJMgkJCS8qIEFiYnJldjogRFdfVEFH X3N1YnByb2dyYW0gKi8KKysJLmJ5dGUJCTEJCQkvKiBEV19BVF9leHRlcm5hbCAqLworKwkuYXNj aWkJCSJmdW5jXDAiCQkvKiBEV19BVF9uYW1lICovCisrCS40Ynl0ZQkJLkx0eXBlX2ludC0uTGN1 MV9iZWdpbgkvKiBEV19BVF90eXBlICovCisrCS40Ynl0ZQkJZnVuY19zdGFydAkJLyogRFdfQVRf bG93X3BjICovCisrCS40Ynl0ZQkJZnVuY19lbmQJCS8qIERXX0FUX2hpZ2hfcGMgKi8KKysKKysv KiBHREIgYGhhc19sb2NsaXN0JyBkZXRlY3Rpb24gb2YgLU8yIC1nIGNvZGUgbmVlZHMgdG8gc2Vl IGEgRFdfQVRfbG9jYXRpb24KKysgICBsb2NhdGlvbiBsaXN0LiAgVGhlcmUgbWF5IGV4aXN0IC1P MiAtZyBDVXMgc3RpbGwgbm90IG5lZWRpbmcvdXNpbmcgYW55IHN1Y2gKKysgICBsb2NhdGlvbiBs aXN0IC0gZXhhY3RseSBsaWtlIHRoaXMgQ1UuICBNYWtlIG9uZSB1cC4gICovCisrCisrCS51bGVi MTI4CTB4NwkJCS8qIChESUUgKDB4NDIpIERXX1RBR19mb3JtYWxfcGFyYW1ldGVyKSAqLworKwku YXNjaWkJCSJwYXJhbVwwIgkJLyogRFdfQVRfbmFtZSAqLworKwkubG9uZwkJLkx0eXBlX2ludCAt IC5MY3UxX2JlZ2luCS8qIERXX0FUX3R5cGUgKi8KKysJLmxvbmcJCWxvY2xpc3QJCQkvKiBEV19B VF9sb2NhdGlvbiAqLworKworKwkudWxlYjEyOAk0CQkJLyogQWJicmV2OiBEV19UQUdfaW5saW5l ZF9zdWJyb3V0aW5lICovCisrCS5hc2NpaQkJImlubGluZWRcMCIJCS8qIERXX0FUX25hbWUgKi8K KysJLjRieXRlCQlmdW5jMAkJCS8qIERXX0FUX2xvd19wYyAqLworKwkuNGJ5dGUJCWZ1bmMxCQkJ LyogRFdfQVRfaGlnaF9wYyAqLworKwkuYnl0ZQkJMwkJCS8qIERXX0FUX2lubGluZSAoRFdfSU5M X2RlY2xhcmVkX2lubGluZWQpICovCisrCS5ieXRlCQkxCQkJLyogRFdfQVRfY2FsbF9maWxlICov CisrCS5ieXRlCQk4CQkJLyogRFdfQVRfY2FsbF9saW5lICovCisrCisrCS51bGViMTI4CTQJCQkv KiBBYmJyZXY6IERXX1RBR19pbmxpbmVkX3N1YnJvdXRpbmUgKi8KKysJLmFzY2lpCQkiaW5saW5l ZDJcMCIJCS8qIERXX0FUX25hbWUgKi8KKysJLjRieXRlCQlmdW5jMgkJCS8qIERXX0FUX2xvd19w YyAqLworKwkuNGJ5dGUJCWZ1bmMzCQkJLyogRFdfQVRfaGlnaF9wYyAqLworKwkuYnl0ZQkJMwkJ CS8qIERXX0FUX2lubGluZSAoRFdfSU5MX2RlY2xhcmVkX2lubGluZWQpICovCisrCS5ieXRlCQkx CQkJLyogRFdfQVRfY2FsbF9maWxlICovCisrCS5ieXRlCQkxMQkJCS8qIERXX0FUX2NhbGxfbGlu ZSAqLworKworKyNpZmRlZiBJTkxJTkVECisrCS51bGViMTI4CTQJCQkvKiBBYmJyZXY6IERXX1RB R19pbmxpbmVkX3N1YnJvdXRpbmUgKi8KKysJLmFzY2lpCQkib3RoZXJpbmxpbmVcMCIJCS8qIERX X0FUX25hbWUgKi8KKysJLjRieXRlCQlmdW5jMwkJCS8qIERXX0FUX2xvd19wYyAqLworKwkuNGJ5 dGUJCWZ1bmNfZW5kCQkvKiBEV19BVF9oaWdoX3BjICovCisrCS5ieXRlCQkzCQkJLyogRFdfQVRf aW5saW5lIChEV19JTkxfZGVjbGFyZWRfaW5saW5lZCkgKi8KKysJLmJ5dGUJCTEJCQkvKiBEV19B VF9jYWxsX2ZpbGUgKi8KKysJLmJ5dGUJCTkJCQkvKiBEV19BVF9jYWxsX2xpbmUgKi8KKysjZW5k aWYKKysKKysjaWZkZWYgTEVYSUNBTAorKwkudWxlYjEyOAk1CQkJLyogQWJicmV2OiBEV19UQUdf bGV4aWNhbF9ibG9jayAqLworKwkuNGJ5dGUJCWZ1bmMzCQkJLyogRFdfQVRfbG93X3BjICovCisr CS40Ynl0ZQkJZnVuY19lbmQJCS8qIERXX0FUX2hpZ2hfcGMgKi8KKysKKysJLyogR0RCIHdvdWxk IG90aGVyd2lzZSBpZ25vcmUgdGhlIERXX1RBR19sZXhpY2FsX2Jsb2NrLiAgKi8KKysJLnVsZWIx MjgJNgkJCS8qIEFiYnJldjogRFdfVEFHX3ZhcmlhYmxlICovCisrCS5hc2NpaQkJImxleGljYWx2 YXJcMCIJCS8qIERXX0FUX25hbWUgKi8KKysJLjRieXRlCQkuTHR5cGVfaW50LS5MY3UxX2JlZ2lu CS8qIERXX0FUX3R5cGUgKi8KKysKKysJLmJ5dGUJCTAJCQkvKiBFbmQgb2YgY2hpbGRyZW4gb2Yg RFdfVEFHX2xleGljYWxfYmxvY2sgKi8KKysjZW5kaWYKKysKKysJLmJ5dGUJCTAJCQkvKiBFbmQg b2YgY2hpbGRyZW4gb2YgRFdfVEFHX3N1YnByb2dyYW0gKi8KKysKKysvKiBTaW11bGF0ZSBgZnVu ZCcgaXMgYWxzbyBuYW1lZCBgZnVuYycgc28gdGhhdCB0aGUgZnVuY3Rpb24gbmFtZSBtYXRjaGVz IGFuZAorKyAgIGZ1bmQncyBTQUwgaXMgbm90IGRpc2NhcmRlZCBpbiBleHBhbmRfbGluZV9zYWxf bWF5YmUuICAqLworKworKwkudWxlYjEyOAkyCQkJLyogQWJicmV2OiBEV19UQUdfc3VicHJvZ3Jh bSAqLworKwkuYnl0ZQkJMQkJCS8qIERXX0FUX2V4dGVybmFsICovCisrCS5hc2NpaQkJImZ1bmNc MCIJCS8qIERXX0FUX25hbWUgKi8KKysJLjRieXRlCQkuTHR5cGVfaW50LS5MY3UxX2JlZ2luCS8q IERXX0FUX3R5cGUgKi8KKysJLjRieXRlCQlmdW5kX3N0YXJ0CQkvKiBEV19BVF9sb3dfcGMgKi8K KysJLjRieXRlCQlmdW5kX2VuZAkJLyogRFdfQVRfaGlnaF9wYyAqLworKworKwkuYnl0ZQkJMAkJ CS8qIEVuZCBvZiBjaGlsZHJlbiBvZiBEV19UQUdfc3VicHJvZ3JhbSAqLworKworKy5MdHlwZV9p bnQ6CisrCS51bGViMTI4CTMJCQkvKiBBYmJyZXY6IERXX1RBR19iYXNlX3R5cGUgKi8KKysJLmFz Y2lpCQkiaW50XDAiCQkJLyogRFdfQVRfbmFtZSAqLworKwkuYnl0ZQkJNAkJCS8qIERXX0FUX2J5 dGVfc2l6ZSAqLworKwkuYnl0ZQkJNQkJCS8qIERXX0FUX2VuY29kaW5nICovCisrCisrCS5ieXRl CQkwCQkJLyogRW5kIG9mIGNoaWxkcmVuIG9mIENVICovCisrCisrLkxjdTFfZW5kOgorKworKwku c2VjdGlvbgkuZGVidWdfbG9jCisrbG9jbGlzdDoKKysJLyogUmVzZXQgdGhlIGxvY2F0aW9uIGxp c3QgYmFzZSBhZGRyZXNzIGZpcnN0LiAgKi8KKysJLmxvbmcJCS0xLCAwCisrCisrCS5sb25nCQlm dW5jX3N0YXJ0LCBmdW5jX2VuZAorKwkuMmJ5dGUJCTJmLTFmCisrMToJLmJ5dGUJCTB4NTAJLyog RFdfT1BfcmVnMCAqLworKzI6CisrCS8qIExvY2F0aW9uIGxpc3QgZW5kLiAgKi8KKysJLmxvbmcJ MCwgMAorKworKy8qIEFiYnJldiB0YWJsZSAqLworKwkuc2VjdGlvbiAuZGVidWdfYWJicmV2Cisr LkxhYmJyZXYxX2JlZ2luOgorKwkudWxlYjEyOAkxCQkJLyogQWJicmV2IGNvZGUgKi8KKysJLnVs ZWIxMjgJMHgxMQkJCS8qIERXX1RBR19jb21waWxlX3VuaXQgKi8KKysJLmJ5dGUJCTEJCQkvKiBo YXNfY2hpbGRyZW4gKi8KKysJLnVsZWIxMjgJMHgxMAkJCS8qIERXX0FUX3N0bXRfbGlzdCAqLwor KwkudWxlYjEyOAkweDYJCQkvKiBEV19GT1JNX2RhdGE0ICovCisrCS51bGViMTI4CTB4MTEJCQkv KiBEV19BVF9sb3dfcGMgKi8KKysJLnVsZWIxMjgJMHgxCQkJLyogRFdfRk9STV9hZGRyICovCisr CS51bGViMTI4CTB4MTIJCQkvKiBEV19BVF9oaWdoX3BjICovCisrCS51bGViMTI4CTB4MQkJCS8q IERXX0ZPUk1fYWRkciAqLworKwkudWxlYjEyOAkweDMJCQkvKiBEV19BVF9uYW1lICovCisrCS51 bGViMTI4CTB4OAkJCS8qIERXX0ZPUk1fc3RyaW5nICovCisrCS51bGViMTI4CTB4MjUJCQkvKiBE V19BVF9wcm9kdWNlciAqLworKwkudWxlYjEyOAkweDgJCQkvKiBEV19GT1JNX3N0cmluZyAqLwor KwkudWxlYjEyOAkweDEzCQkJLyogRFdfQVRfbGFuZ3VhZ2UgKi8KKysJLnVsZWIxMjgJMHhiCQkJ LyogRFdfRk9STV9kYXRhMSAqLworKwkuYnl0ZQkJMHgwCQkJLyogVGVybWluYXRvciAqLworKwku Ynl0ZQkJMHgwCQkJLyogVGVybWluYXRvciAqLworKworKwkudWxlYjEyOAkyCQkJLyogQWJicmV2 IGNvZGUgKi8KKysJLnVsZWIxMjgJMHgyZQkJCS8qIERXX1RBR19zdWJwcm9ncmFtICovCisrCS5i eXRlCQkxCQkJLyogaGFzX2NoaWxkcmVuICovCisrCS51bGViMTI4CTB4M2YJCQkvKiBEV19BVF9l eHRlcm5hbCAqLworKwkudWxlYjEyOAkweGMJCQkvKiBEV19GT1JNX2ZsYWcgKi8KKysJLnVsZWIx MjgJMHgzCQkJLyogRFdfQVRfbmFtZSAqLworKwkudWxlYjEyOAkweDgJCQkvKiBEV19GT1JNX3N0 cmluZyAqLworKwkudWxlYjEyOAkweDQ5CQkJLyogRFdfQVRfdHlwZSAqLworKwkudWxlYjEyOAkw eDEzCQkJLyogRFdfRk9STV9yZWY0ICovCisrCS51bGViMTI4CTB4MTEJCQkvKiBEV19BVF9sb3df cGMgKi8KKysJLnVsZWIxMjgJMHgxCQkJLyogRFdfRk9STV9hZGRyICovCisrCS51bGViMTI4CTB4 MTIJCQkvKiBEV19BVF9oaWdoX3BjICovCisrCS51bGViMTI4CTB4MQkJCS8qIERXX0ZPUk1fYWRk ciAqLworKwkuYnl0ZQkJMHgwCQkJLyogVGVybWluYXRvciAqLworKwkuYnl0ZQkJMHgwCQkJLyog VGVybWluYXRvciAqLworKworKwkudWxlYjEyOAkzCQkJLyogQWJicmV2IGNvZGUgKi8KKysJLnVs ZWIxMjgJMHgyNAkJCS8qIERXX1RBR19iYXNlX3R5cGUgKi8KKysJLmJ5dGUJCTAJCQkvKiBoYXNf Y2hpbGRyZW4gKi8KKysJLnVsZWIxMjgJMHgzCQkJLyogRFdfQVRfbmFtZSAqLworKwkudWxlYjEy OAkweDgJCQkvKiBEV19GT1JNX3N0cmluZyAqLworKwkudWxlYjEyOAkweGIJCQkvKiBEV19BVF9i eXRlX3NpemUgKi8KKysJLnVsZWIxMjgJMHhiCQkJLyogRFdfRk9STV9kYXRhMSAqLworKwkudWxl YjEyOAkweDNlCQkJLyogRFdfQVRfZW5jb2RpbmcgKi8KKysJLnVsZWIxMjgJMHhiCQkJLyogRFdf Rk9STV9kYXRhMSAqLworKwkuYnl0ZQkJMHgwCQkJLyogVGVybWluYXRvciAqLworKwkuYnl0ZQkJ MHgwCQkJLyogVGVybWluYXRvciAqLworKworKwkudWxlYjEyOAk0CQkJLyogQWJicmV2IGNvZGUg Ki8KKysJLnVsZWIxMjgJMHgxZAkJCS8qIERXX1RBR19pbmxpbmVkX3N1YnJvdXRpbmUgKi8KKysJ LmJ5dGUJCTAJCQkvKiBoYXNfY2hpbGRyZW4gKi8KKysJLnVsZWIxMjgJMHgzCQkJLyogRFdfQVRf bmFtZSAqLworKwkudWxlYjEyOAkweDgJCQkvKiBEV19GT1JNX3N0cmluZyAqLworKwkudWxlYjEy OAkweDExCQkJLyogRFdfQVRfbG93X3BjICovCisrCS51bGViMTI4CTB4MQkJCS8qIERXX0ZPUk1f YWRkciAqLworKwkudWxlYjEyOAkweDEyCQkJLyogRFdfQVRfaGlnaF9wYyAqLworKwkudWxlYjEy OAkweDEJCQkvKiBEV19GT1JNX2FkZHIgKi8KKysJLnVsZWIxMjgJMHgyMAkJCS8qIERXX0FUX2lu bGluZSAqLworKwkudWxlYjEyOAkweGIJCQkvKiBEV19GT1JNX2RhdGExICovCisrCS51bGViMTI4 CTB4NTgJCQkvKiBEV19BVF9jYWxsX2ZpbGUgKi8KKysJLnVsZWIxMjgJMHhiCQkJLyogRFdfRk9S TV9kYXRhMSAqLworKwkudWxlYjEyOAkweDU5CQkJLyogRFdfQVRfY2FsbF9saW5lICovCisrCS51 bGViMTI4CTB4YgkJCS8qIERXX0ZPUk1fZGF0YTEgKi8KKysJLmJ5dGUJCTB4MAkJCS8qIFRlcm1p bmF0b3IgKi8KKysJLmJ5dGUJCTB4MAkJCS8qIFRlcm1pbmF0b3IgKi8KKysKKysJLnVsZWIxMjgJ NQkJCS8qIEFiYnJldiBjb2RlICovCisrCS51bGViMTI4CTB4MGIJCQkvKiBEV19UQUdfbGV4aWNh bF9ibG9jayAqLworKwkuYnl0ZQkJMQkJCS8qIGhhc19jaGlsZHJlbiAqLworKwkudWxlYjEyOAkw eDExCQkJLyogRFdfQVRfbG93X3BjICovCisrCS51bGViMTI4CTB4MQkJCS8qIERXX0ZPUk1fYWRk ciAqLworKwkudWxlYjEyOAkweDEyCQkJLyogRFdfQVRfaGlnaF9wYyAqLworKwkudWxlYjEyOAkw eDEJCQkvKiBEV19GT1JNX2FkZHIgKi8KKysJLmJ5dGUJCTB4MAkJCS8qIFRlcm1pbmF0b3IgKi8K KysJLmJ5dGUJCTB4MAkJCS8qIFRlcm1pbmF0b3IgKi8KKysKKysJLnVsZWIxMjgJNgkJCS8qIEFi YnJldiBjb2RlICovCisrCS51bGViMTI4CTB4MzQJCQkvKiBEV19UQUdfdmFyaWFibGUgKi8KKysJ LmJ5dGUJCTAJCQkvKiBoYXNfY2hpbGRyZW4gKi8KKysJLnVsZWIxMjgJMHgzCQkJLyogRFdfQVRf bmFtZSAqLworKwkudWxlYjEyOAkweDgJCQkvKiBEV19GT1JNX3N0cmluZyAqLworKwkudWxlYjEy OAkweDQ5CQkJLyogRFdfQVRfdHlwZSAqLworKwkudWxlYjEyOAkweDEzCQkJLyogRFdfRk9STV9y ZWY0ICovCisrCS5ieXRlCQkweDAJCQkvKiBUZXJtaW5hdG9yICovCisrCS5ieXRlCQkweDAJCQkv KiBUZXJtaW5hdG9yICovCisrCisrCS51bGViMTI4CTB4NwkJCS8qIChhYmJyZXYgY29kZSkgKi8K KysJLnVsZWIxMjgJMHg1CQkJLyogKFRBRzogRFdfVEFHX2Zvcm1hbF9wYXJhbWV0ZXIpICovCisr CS5ieXRlCQkweDAJCQkvKiBEV19jaGlsZHJlbl9ubyAqLworKwkudWxlYjEyOAkweDMJCQkvKiBE V19BVF9uYW1lICovCisrCS51bGViMTI4CTB4OAkJCS8qIERXX0ZPUk1fc3RyaW5nICovCisrCS51 bGViMTI4CTB4NDkJCQkvKiAoRFdfQVRfdHlwZSkgKi8KKysJLnVsZWIxMjgJMHgxMwkJCS8qIChE V19GT1JNX3JlZjQpICovCisrCS51bGViMTI4CTB4MDIJCQkvKiAoRFdfQVRfbG9jYXRpb24pICov CisrCS51bGViMTI4CTB4MDYJCQkvKiAoRFdfRk9STV9kYXRhNCkgKi8KKysJLmJ5dGUJCTB4MAor KwkuYnl0ZQkJMHgwCisrCisrCS5ieXRlCQkweDAJCQkvKiBUZXJtaW5hdG9yICovCisrCS5ieXRl CQkweDAJCQkvKiBUZXJtaW5hdG9yICovCisrCisrLyogTGluZSB0YWJsZSAqLworKwkuc2VjdGlv biAuZGVidWdfbGluZQorKy5MbGluZTFfYmVnaW46CisrCS40Ynl0ZQkJLkxsaW5lMV9lbmQgLSAu TGxpbmUxX3N0YXJ0CS8qIEluaXRpYWwgbGVuZ3RoICovCisrLkxsaW5lMV9zdGFydDoKKysJLjJi eXRlCQkyCQkJLyogVmVyc2lvbiAqLworKwkuNGJ5dGUJCS5MbGluZTFfbGluZXMgLSAuTGxpbmUx X2hkcgkvKiBoZWFkZXJfbGVuZ3RoICovCisrLkxsaW5lMV9oZHI6CisrCS5ieXRlCQkxCQkJLyog TWluaW11bSBpbnNuIGxlbmd0aCAqLworKwkuYnl0ZQkJMQkJCS8qIGRlZmF1bHRfaXNfc3RtdCAq LworKwkuYnl0ZQkJMQkJCS8qIGxpbmVfYmFzZSAqLworKwkuYnl0ZQkJMQkJCS8qIGxpbmVfcmFu Z2UgKi8KKysJLmJ5dGUJCTB4MTAJCQkvKiBvcGNvZGVfYmFzZSAqLworKworKwkvKiBTdGFuZGFy ZCBsZW5ndGhzICovCisrCS5ieXRlCQkwCisrCS5ieXRlCQkxCisrCS5ieXRlCQkxCisrCS5ieXRl CQkxCisrCS5ieXRlCQkxCisrCS5ieXRlCQkwCisrCS5ieXRlCQkwCisrCS5ieXRlCQkwCisrCS5i eXRlCQkxCisrCS5ieXRlCQkwCisrCS5ieXRlCQkwCisrCS5ieXRlCQkxCisrCS5ieXRlCQkwCisr CS5ieXRlCQkwCisrCS5ieXRlCQkwCisrCisrCS8qIEluY2x1ZGUgZGlyZWN0b3JpZXMgKi8KKysJ LmJ5dGUJCTAKKysKKysJLyogRmlsZSBuYW1lcyAqLworKwkuYXNjaWkJCSJtYWluLmNcMCIKKysJ LnVsZWIxMjgJMAorKwkudWxlYjEyOAkwCisrCS51bGViMTI4CTAKKysKKysJLmFzY2lpCQkib3Ro ZXIuY1wwIgorKwkudWxlYjEyOAkwCisrCS51bGViMTI4CTAKKysJLnVsZWIxMjgJMAorKworKwku Ynl0ZQkJMAorKworKy5MbGluZTFfbGluZXM6CisrCS5ieXRlCQkwCS8qIERXX0xORV9zZXRfYWRk cmVzcyAqLworKwkudWxlYjEyOAk1CisrCS5ieXRlCQkyCisrCS40Ynl0ZQkJZnVuY19zdGFydAor KwkuYnl0ZQkJMwkvKiBEV19MTlNfYWR2YW5jZV9saW5lICovCisrCS5zbGViMTI4CTQJLyogLi4u IHRvIDUgKi8KKysJLmJ5dGUJCTEJLyogRFdfTE5TX2NvcHkgKi8KKysKKysJLmJ5dGUJCTAJLyog RFdfTE5FX3NldF9hZGRyZXNzICovCisrCS51bGViMTI4CTUKKysJLmJ5dGUJCTIKKysJLjRieXRl CQlmdW5jMAorKwkuYnl0ZQkJNAkvKiBEV19MTlNfc2V0X2ZpbGUgKi8KKysJLnVsZWIxMjgJMgor KwkuYnl0ZQkJMwkvKiBEV19MTlNfYWR2YW5jZV9saW5lICovCisrCS5zbGViMTI4CS00CS8qIC4u LiB0byAxICovCisrCS5ieXRlCQkxCS8qIERXX0xOU19jb3B5ICovCisrCisrCS5ieXRlCQkwCS8q IERXX0xORV9zZXRfYWRkcmVzcyAqLworKwkudWxlYjEyOAk1CisrCS5ieXRlCQkyCisrCS40Ynl0 ZQkJZnVuYzEKKysJLmJ5dGUJCTQJLyogRFdfTE5TX3NldF9maWxlICovCisrCS51bGViMTI4CTEK KysJLmJ5dGUJCTMJLyogRFdfTE5TX2FkdmFuY2VfbGluZSAqLworKwkuc2xlYjEyOAk4CS8qIC4u LiB0byA5ICovCisrCS5ieXRlCQkxCS8qIERXX0xOU19jb3B5ICovCisrCisrCS5ieXRlCQkwCS8q IERXX0xORV9zZXRfYWRkcmVzcyAqLworKwkudWxlYjEyOAk1CisrCS5ieXRlCQkyCisrCS40Ynl0 ZQkJZnVuYzIKKysJLmJ5dGUJCTQJLyogRFdfTE5TX3NldF9maWxlICovCisrCS51bGViMTI4CTIK KysJLmJ5dGUJCTMJLyogRFdfTE5TX2FkdmFuY2VfbGluZSAqLworKwkuc2xlYjEyOAktOAkvKiAu Li4gdG8gMSAqLworKwkuYnl0ZQkJMQkvKiBEV19MTlNfY29weSAqLworKworKwkuYnl0ZQkJMAkv KiBEV19MTkVfc2V0X2FkZHJlc3MgKi8KKysJLnVsZWIxMjgJNQorKwkuYnl0ZQkJMgorKwkuNGJ5 dGUJCWZ1bmMzCisrCS5ieXRlCQk0CS8qIERXX0xOU19zZXRfZmlsZSAqLworKwkudWxlYjEyOAkx CisrCS5ieXRlCQkzCS8qIERXX0xOU19hZHZhbmNlX2xpbmUgKi8KKysJLnNsZWIxMjgJOAkvKiAu Li4gdG8gOSAqLworKwkuYnl0ZQkJMQkvKiBEV19MTlNfY29weSAqLworKworKwkuYnl0ZQkJMAkv KiBEV19MTkVfc2V0X2FkZHJlc3MgKi8KKysJLnVsZWIxMjgJNQorKwkuYnl0ZQkJMgorKwkuNGJ5 dGUJCWZ1bmNfZW5kCisrCisrLyogRXF1aXZhbGVudCBjb3B5IGJ1dCByZW5hbWVkIHMvZnVuYy9m dW5kLy4gICovCisrCisrCS5ieXRlCQkwCS8qIERXX0xORV9zZXRfYWRkcmVzcyAqLworKwkudWxl YjEyOAk1CisrCS5ieXRlCQkyCisrCS40Ynl0ZQkJZnVuZF9zdGFydAorKwkuYnl0ZQkJMwkvKiBE V19MTlNfYWR2YW5jZV9saW5lICovCisrCS5zbGViMTI4CS00CS8qIC4uLiB0byA1ICovCisrCS5i eXRlCQkxCS8qIERXX0xOU19jb3B5ICovCisrCisrCS5ieXRlCQkwCS8qIERXX0xORV9zZXRfYWRk cmVzcyAqLworKwkudWxlYjEyOAk1CisrCS5ieXRlCQkyCisrCS40Ynl0ZQkJZnVuZDAKKysJLmJ5 dGUJCTQJLyogRFdfTE5TX3NldF9maWxlICovCisrCS51bGViMTI4CTIKKysJLmJ5dGUJCTMJLyog RFdfTE5TX2FkdmFuY2VfbGluZSAqLworKwkuc2xlYjEyOAktNAkvKiAuLi4gdG8gMSAqLworKwku Ynl0ZQkJMQkvKiBEV19MTlNfY29weSAqLworKworKwkuYnl0ZQkJMAkvKiBEV19MTkVfc2V0X2Fk ZHJlc3MgKi8KKysJLnVsZWIxMjgJNQorKwkuYnl0ZQkJMgorKwkuNGJ5dGUJCWZ1bmQxCisrCS5i eXRlCQk0CS8qIERXX0xOU19zZXRfZmlsZSAqLworKwkudWxlYjEyOAkxCisrCS5ieXRlCQkzCS8q IERXX0xOU19hZHZhbmNlX2xpbmUgKi8KKysJLnNsZWIxMjgJOAkvKiAuLi4gdG8gOSAqLworKwku Ynl0ZQkJMQkvKiBEV19MTlNfY29weSAqLworKworKwkuYnl0ZQkJMAkvKiBEV19MTkVfc2V0X2Fk ZHJlc3MgKi8KKysJLnVsZWIxMjgJNQorKwkuYnl0ZQkJMgorKwkuNGJ5dGUJCWZ1bmQyCisrCS5i eXRlCQk0CS8qIERXX0xOU19zZXRfZmlsZSAqLworKwkudWxlYjEyOAkyCisrCS5ieXRlCQkzCS8q IERXX0xOU19hZHZhbmNlX2xpbmUgKi8KKysJLnNsZWIxMjgJLTgJLyogLi4uIHRvIDEgKi8KKysJ LmJ5dGUJCTEJLyogRFdfTE5TX2NvcHkgKi8KKysKKysJLmJ5dGUJCTAJLyogRFdfTE5FX3NldF9h ZGRyZXNzICovCisrCS51bGViMTI4CTUKKysJLmJ5dGUJCTIKKysJLjRieXRlCQlmdW5kMworKwku Ynl0ZQkJNAkvKiBEV19MTlNfc2V0X2ZpbGUgKi8KKysJLnVsZWIxMjgJMQorKwkuYnl0ZQkJMwkv KiBEV19MTlNfYWR2YW5jZV9saW5lICovCisrCS5zbGViMTI4CTgJLyogLi4uIHRvIDkgKi8KKysJ LmJ5dGUJCTEJLyogRFdfTE5TX2NvcHkgKi8KKysKKysJLmJ5dGUJCTAJLyogRFdfTE5FX3NldF9h ZGRyZXNzICovCisrCS51bGViMTI4CTUKKysJLmJ5dGUJCTIKKysJLjRieXRlCQlmdW5kX2VuZAor KworKy8qIExpbmUgbnVtYmVyaW5nIGVuZC4gICovCisrCisrCS5ieXRlCQkwCS8qIERXX0xORV9l bmRfb2Zfc2VxdWVuY2UgKi8KKysJLnVsZWIxMjgJMQorKwkuYnl0ZQkJMQorKworKy5MbGluZTFf ZW5kOgorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1z a2lwLXByb2xvZ3VlLmMKK0BAIC0wLDAgKzEsNTggQEAKKysvKiBUaGlzIHRlc3RjYXNlIGlzIHBh cnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgorKworKyAgIENvcHlyaWdodCAyMDExIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrICAgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNo ZWQgYnkKKysgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAz IG9mIHRoZSBMaWNlbnNlLCBvcgorKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp b24uCisrCisrICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg aXQgd2lsbCBiZSB1c2VmdWwsCisrICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrICAgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysKKysgICBZb3Ugc2hvdWxkIGhhdmUg cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyAgIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9s aWNlbnNlcy8+LiAgKi8KKysKKytzdGF0aWMgdm9sYXRpbGUgaW50IHY7CisrCisrYXNtICgiZnVu Y19zdGFydDogLmdsb2JsIGZ1bmNfc3RhcnRcbiIpOworK3N0YXRpYyBpbnQKKytmdW5jICh2b2lk KQorK3sKKysgIHYrKzsKKythc20gKCJmdW5jMDogLmdsb2JsIGZ1bmMwXG4iKTsKKysgIHYrKzsK Kythc20gKCJmdW5jMTogLmdsb2JsIGZ1bmMxXG4iKTsKKysgIHYrKzsKKythc20gKCJmdW5jMjog Lmdsb2JsIGZ1bmMyXG4iKTsKKysgIHYrKzsKKythc20gKCJmdW5jMzogLmdsb2JsIGZ1bmMzXG4i KTsKKysgIHJldHVybiB2OworK30KKythc20gKCJmdW5jX2VuZDogLmdsb2JsIGZ1bmNfZW5kXG4i KTsKKysKKysvKiBFcXVpdmFsZW50IGNvcHkgYnV0IHJlbmFtZWQgcy9mdW5jL2Z1bmQvLiAgKi8K KysKKythc20gKCJmdW5kX3N0YXJ0OiAuZ2xvYmwgZnVuZF9zdGFydFxuIik7Cisrc3RhdGljIGlu dAorK2Z1bmQgKHZvaWQpCisreworKyAgdisrOworK2FzbSAoImZ1bmQwOiAuZ2xvYmwgZnVuZDBc biIpOworKyAgdisrOworK2FzbSAoImZ1bmQxOiAuZ2xvYmwgZnVuZDFcbiIpOworKyAgdisrOwor K2FzbSAoImZ1bmQyOiAuZ2xvYmwgZnVuZDJcbiIpOworKyAgdisrOworK2FzbSAoImZ1bmQzOiAu Z2xvYmwgZnVuZDNcbiIpOworKyAgcmV0dXJuIHY7CisrfQorK2FzbSAoImZ1bmRfZW5kOiAuZ2xv YmwgZnVuZF9lbmRcbiIpOworKworK2ludAorK21haW4gKHZvaWQpCisreworKyAgcmV0dXJuIGZ1 bmMgKCkgKyBmdW5kICgpOworK30KKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUv Z2RiLmR3YXJmMi9kdzItc2tpcC1wcm9sb2d1ZS5leHAKK0BAIC0wLDAgKzEsNzQgQEAKKysjIENv cHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorKworKyMgVGhpcyBw cm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBt b2RpZnkKKysjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl aXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyMgKGF0IHlvdXIgb3B0aW9uKSBh bnkgbGF0ZXIgdmVyc2lvbi4KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4g dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysjIGJ1dCBXSVRIT1VUIEFOWSBXQVJS QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrIyBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrIyBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyMKKysjIFlvdSBz aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlCisrIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3 LmdudS5vcmcvbGljZW5zZXMvPi4KKytsb2FkX2xpYiBkd2FyZi5leHAKKysKKysjIFRlc3QgbXVs dGlwbGUgbG9jYXRpb24gYnJlYWtwb2ludHMgdnMuIHByb2xvZ3VlIGFuYWx5c2lzIG9uIC1PMiAt ZyBjb2RlLgorKyMgd2hlbiB0aGUgZmlyc3Qgc3RhdGVtZW50IG9mIGEgZnVuY3Rpb24gaXMgYW4g aW5saW5lZCBmdW5jdGlvbiBHREIgY291bGQKKysjIGNyYXNoLiAgTWFwIG9mIHRoaXMgdGVzdGNh c2U6CisrIyAKKysjIEZpbGUgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaW5lIG51 bWJlciAgICBTdGFydGluZyBhZGRyZXNzCisrIyBtYWluLmMgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDUgICAgZnVuY19zdGFydAorKyMgb3RoZXIuYyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICAgIGZ1bmMwCisrIyAJYGlubGluZWQnIGNh bGxlZCBhdCBtYWluLmMgbGluZSA4CisrIyBtYWluLmMgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDkgICAgZnVuYzEKKysjIAlmdW5jMSA9IEJyZWFrcG9pbnQgbG9jYXRp b24gMQorKyMgb3RoZXIuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAx ICAgIGZ1bmMyCisrIyAJYGlubGluZWQyJyBjYWxsZWQgYXQgbWFpbi5jIGxpbmUgMTEKKysjIG1h aW4uYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOSAgICBmdW5jMwor KyMgCWZ1bmMzID0gQnJlYWtwb2ludCBsb2NhdGlvbiAyCisrIyAJYG90aGVyaW5saW5lJyBjYWxs ZWQgYXQgbWFpbi5jIGxpbmUgOQorKyMgZW5kIG9mIG1haW4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGZ1bmNfZW5kCisrCisrIyBUaGlzIHRlc3QgY2FuIG9ubHkgYmUg cnVuIG9uIHRhcmdldHMgd2hpY2ggc3VwcG9ydCBEV0FSRi0yIGFuZCB1c2UgZ2FzLgorK2lmIHsh W2R3YXJmMl9zdXBwb3J0XX0geworKyAgICByZXR1cm4gMCAgCisrfQorKworK3NldCB0ZXN0Zmls ZSAiZHcyLXNraXAtcHJvbG9ndWUiCisrc2V0IGV4ZWN1dGFibGUgJHt0ZXN0ZmlsZX0KKytzZXQg YmluZmlsZSAke29iamRpcn0vJHtzdWJkaXJ9LyR7ZXhlY3V0YWJsZX0KKysKKytpZiB7W2J1aWxk X2V4ZWN1dGFibGUgJHt0ZXN0ZmlsZX0uZXhwICR7ZXhlY3V0YWJsZX0gIiR7dGVzdGZpbGV9LmMg JHt0ZXN0ZmlsZX0uUyIge2FkZGl0aW9uYWxfZmxhZ3M9LURJTkxJTkVEfV0gPT0gLTF9IHsKKysg ICAgcmV0dXJuIC0xCisrfQorKworKyMgV2UgbmVlZCB0aG9zZSBzeW1ib2xzIGdsb2JhbCB0byBh Y2Nlc3MgdGhlbSBmcm9tIHRoZSAuUyBmaWxlLgorK3NldCB0ZXN0ICJzdHJpcCBzdHViIHN5bWJv bHMiCisrc2V0IG9iamNvcHlfcHJvZ3JhbSBbdHJhbnNmb3JtIG9iamNvcHldCisrc2V0IHJlc3Vs dCBbY2F0Y2ggImV4ZWMgJG9iamNvcHlfcHJvZ3JhbQkJCQkJCQlcCisrCQkJLU4gZnVuYzAgLU4g ZnVuYzEgLU4gZnVuYzIgLU4gZnVuYzMgICAgICAgICAtTiBmdW5jX3N0YXJ0IC1OIGZ1bmNfZW5k CVwKKysJCQktTiBmdW5kMCAtTiBmdW5kMSAtTiBmdW5kMiAtTiBmdW5kMyAtTiBmdW5kIC1OIGZ1 bmRfc3RhcnQJCVwKKysJCQkke2JpbmZpbGV9IiBvdXRwdXRdCisrdmVyYm9zZSAicmVzdWx0IGlz ICRyZXN1bHQiCisrdmVyYm9zZSAib3V0cHV0IGlzICRvdXRwdXQiCisraWYgeyRyZXN1bHQgIT0g MH0geworKyAgICBmYWlsICR0ZXN0CisrICAgIHJldHVybgorK30KKytwYXNzICR0ZXN0CisrCisr Y2xlYW5fcmVzdGFydCAkZXhlY3V0YWJsZQorKworK2lmICFbcnVudG9fbWFpbl0geworKyAgICBy ZXR1cm4gLTEKKyt9CisrCisrZ2RiX2JyZWFrcG9pbnQgImZ1bmMiCisrZ2RiX2NvbnRpbnVlX3Rv X2JyZWFrcG9pbnQgImZ1bmMiCisrCisrIyBTYW5pdHkgY2hlY2sgR0RCIGhhcyByZWFsbHkgZm91 bmQgMiBsb2NhdGlvbnMKKytnZGJfdGVzdCB7aW5mbyBicmVhayAkYnBudW19ICJcclxuMlxcLjFc WyBcdFxdXFteXG5cXSpcclxuMlxcLjJcWyBcdFxdXFteXG5cXSoiICIyIGxvY2F0aW9ucyBmb3Vu ZCIKKysKKytnZGJfdGVzdCAicCB2IiAiID0gMCIgIm5vIHN0YXRlbWVudCBnb3QgZXhlY3V0ZWQi CisKCmRpZmYgLS1naXQgYS9nZGItcGh5c25hbWUtZXhwYW5kLWNvbXBsZXRlci5wYXRjaCBiL2dk Yi1waHlzbmFtZS1leHBhbmQtY29tcGxldGVyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAuLjRkNTM4NzAKLS0tIC9kZXYvbnVsbAorKysgYi9nZGItcGh5c25hbWUtZXhw YW5kLWNvbXBsZXRlci5wYXRjaApAQCAtMCwwICsxLDIyOCBAQAoraHR0cDovL3NvdXJjZXdhcmUu b3JnL21sL2dkYi1wYXRjaGVzLzIwMTEtMDQvbXNnMDA1NTEuaHRtbAorU3ViamVjdDogW3BhdGNo XSBwaHlzbmFtZS1yZWxhdGVkIENVIGV4cGFuc2lvbiBpc3N1ZSBmb3IgQysrIChQUiAxMjcwOCkK KworSGksCisKK2h0dHA6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9 MTI3MDgjYzEKKworVGhlIGRlcGVuZGVuY3kgb24gQ1UgZXhwYW5zaW9uIGlzIGEgcGh5c25hbWUg cmVncmVzc2lvbi4KK0J1dCB0aGUgZmVhdHVyZSBvZiBvcmlnaW5hbGx5LXR5cGVkLXBhcmFtZXRl cnMgc3ltYm9scyB3YXMgbm90IHByZXNlbnQgYmVmb3JlCitwaHlzbmFtZSBhdCBhbGwgc28gaXQg aXMgcmF0aGVyIGJ1Z2d5LWZlYXR1cmUgdGhhbiBhIHJlZ3Jlc3Npb24uCisKK2ZvcgordHlwZWRl ZiBpbnQgaW50X3R5cGVkZWY7Cit2b2lkIGYgKGludF90eXBlZGVmIHgpIHt9CisKK2dkYiAtbngg Li8xYi5vIC1leCAnc2V0IGxhbmd1YWdlIGMrKycgLWV4ICJjb21wbGV0ZSBiICdmKCIgLWV4IHEK KworKyBwcmVwaHlzbmFtZSAoNDIyODRmZGY5ZDhjZGIyMGM4ZTgzM2JkYmRiMmI1Njk3N2ZlYTUy NV4pCitiICdmKGludCkKKysgcHJlcGh5c25hbWUgLXJlYWRub3cKK2IgJ2YoaW50KQorCisrIHBo eXNuYW1lICg0MjI4NGZkZjlkOGNkYjIwYzhlODMzYmRiZGIyYjU2OTc3ZmVhNTI1KQorYiAnZihp bnQpCisrIHBoeXNuYW1lIC1yZWFkbm93CitiICdmKGludCkKK2IgJ2YoaW50X3R5cGVkZWYpCisK KysgSEVBRAorYiAnZihpbnQpCisrIEhFQUQgLXJlYWRub3cKK2IgJ2YoaW50KQorYiAnZihpbnRf dHlwZWRlZikKKworCitUaGlzIGlzIGFub3RoZXIgaXNzdWUgZnJvbSB0aGUgZmFjdCB0aGF0IHBh cnRpYWwgc3ltdGFicyAoYW5kIGV2ZW4gZ2RiaW5kZXgpCitubyBsb25nZXIgY29udGFpbiBwYXJh bWV0ZXJzIGFzIGJlZm9yZS4gICdmKCcgY2FuIG5ldmVyIGJlIGZvdW5kIGFueSBwYXJ0aWFsCitz eW10YWJzLCBvbmx5IGBmJyB3aWxsIGJlIHByZXNlbnQgdGhlcmUuCisKK05vIHJlZ3Jlc3Npb25z IG9uIHt4ODZfNjQseDg2XzY0LW0zMixpNjg2fS1mZWRvcmExNS1saW51eC1nbnUuCisKKworVGhh bmtzLAorSmFuCisKKworZ2RiLworMjAxMS0wNC0yOCAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3Jh dG9jaHZpbEByZWRoYXQuY29tPgorCisgICAgCisJKiBzeW10YWIuYyAoY29tcGFyZV9zeW1ib2xf bmFtZSk6IE5ldyBmdW5jdGlvbi4KKwkoY29tcGxldGlvbl9saXN0X2FkZF9uYW1lLCBleHBhbmRf cGFydGlhbF9zeW1ib2xfbmFtZSk6IENhbGwgaXQsCisJcmVtb3ZlIHRoZSB2YXJpYWJsZSBuY21w LgorCShkZWZhdWx0X21ha2Vfc3ltYm9sX2NvbXBsZXRpb25fbGlzdF9icmVha19vbik6IFJlZHVj ZSBTWU1fVEVYVF9MRU4sCisJZ2RiX2Fzc2VydCBpdC4KKworR2RiL3Rlc3RzdWl0ZS8KKzIwMTEt MDQtMjggIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KKworCSog Z2RiLmNwL3BzeW10YWItcGFyYW1ldGVyLmNjOiBOZXcgZmlsZS4KKwkqIGdkYi5jcC9wc3ltdGFi LXBhcmFtZXRlci5leHA6IE5ldyBmaWxlLgorCistLS0gYS9nZGIvc3ltdGFiLmMKKysrKyBiL2dk Yi9zeW10YWIuYworQEAgLTM0ODksNiArMzQ4OSw0MCBAQCByYnJlYWtfY29tbWFuZCAoY2hhciAq cmVnZXhwLCBpbnQgZnJvbV90dHkpCisgfQorIAwKKyAKKysvKiBFdmFsdWF0ZSBpZiBOQU1FIG1h dGNoZXMgU1lNX1RFWFQgYW5kIFNZTV9URVhUX0xFTi4KKysKKysgICBFaXRoZXIgc3ltX3RleHRb c3ltX3RleHRfbGVuXSAhPSAnKCcgYW5kIHRoZW4gd2Ugc2VhcmNoIGZvciBhbnkKKysgICBzeW1i b2wgc3RhcnRpbmcgd2l0aCBTWU1fVEVYVCB0ZXh0LgorKworKyAgIE90aGVyd2lzZSBzeW1fdGV4 dFtzeW1fdGV4dF9sZW5dID09ICcoJyBhbmQgdGhlbiB3ZSByZXF1aXJlIHN5bWJvbCBuYW1lIHRv CisrICAgYmUgdGVybWluYXRlZCBhdCB0aGF0IHBvaW50LiAgUGFydGlhbCBzeW1ib2wgdGFibGVz IGRvIG5vdCBoYXZlIHBhcmFtZXRlcnMKKysgICBpbmZvcm1hdGlvbi4gICovCisrCisrc3RhdGlj IGludAorK2NvbXBhcmVfc3ltYm9sX25hbWUgKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIg KnN5bV90ZXh0LCBpbnQgc3ltX3RleHRfbGVuKQorK3sKKysgIGludCAoKm5jbXApIChjb25zdCBj aGFyICosIGNvbnN0IGNoYXIgKiwgc2l6ZV90KTsKKysKKysgIG5jbXAgPSAoY2FzZV9zZW5zaXRp dml0eSA9PSBjYXNlX3NlbnNpdGl2ZV9vbiA/IHN0cm5jbXAgOiBzdHJuY2FzZWNtcCk7CisrCisr ICBpZiAobmNtcCAobmFtZSwgc3ltX3RleHQsIHN5bV90ZXh0X2xlbikgIT0gMCkKKysgICAgcmV0 dXJuIDA7CisrCisrICBpZiAoc3ltX3RleHRbc3ltX3RleHRfbGVuXSA9PSAnKCcpCisrICAgIHsK KysgICAgICAvKiBVc2VyIHNlYXJjaGVzIGZvciBgbmFtZShzb21ldGguLi4nLiAgUmVxdWlyZSBO QU1FIHRvIGJlIHRlcm1pbmF0ZWQuCisrCSBOb3JtYWxseSBwc3ltdGFicyBhbmQgZ2RiaW5kZXgg aGF2ZSBubyBwYXJhbWV0ZXIgdHlwZXMgc28gJ1wwJyB3aWxsIGJlCisrCSBwcmVzZW50IGJ1dCBh Y2NlcHQgZXZlbiBwYXJhbWV0ZXJzIHByZXNlbmNlLiAgSW4gdGhpcyBjYXNlIHRoaXMKKysJIGZ1 bmN0aW9uIGlzIGluIGZhY3Qgc3RyY21wX2l3IGJ1dCB3aGl0ZXNwYWNlIHNraXBwaW5nIGlzIG5v dCBzdXBwb3J0ZWQKKysJIGZvciB0YWIgY29tcGxldGlvbi4gICovCisrCisrICAgICAgaWYgKG5h bWVbc3ltX3RleHRfbGVuXSAhPSAnXDAnICYmIG5hbWVbc3ltX3RleHRfbGVuXSAhPSAnKCcpCisr CXJldHVybiAwOworKyAgICB9CisrCisrICByZXR1cm4gMTsKKyt9CisrCisgLyogSGVscGVyIHJv dXRpbmUgZm9yIG1ha2Vfc3ltYm9sX2NvbXBsZXRpb25fbGlzdC4gICovCisgCisgc3RhdGljIGlu dCByZXR1cm5fdmFsX3NpemU7CitAQCAtMzUwOCwxNiArMzU0MiwxMCBAQCBjb21wbGV0aW9uX2xp c3RfYWRkX25hbWUgKGNoYXIgKnN5bW5hbWUsIGNoYXIgKnN5bV90ZXh0LCBpbnQgc3ltX3RleHRf bGVuLAorIAkJCSAgY2hhciAqdGV4dCwgY2hhciAqd29yZCkKKyB7CisgICBpbnQgbmV3c2l6ZTsK Ky0gIGludCAoKm5jbXApIChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgc2l6ZV90KTsKKy0K Ky0gIG5jbXAgPSAoY2FzZV9zZW5zaXRpdml0eSA9PSBjYXNlX3NlbnNpdGl2ZV9vbiA/IHN0cm5j bXAgOiBzdHJuY2FzZWNtcCk7CisgCisgICAvKiBDbGlwIHN5bWJvbHMgdGhhdCBjYW5ub3QgbWF0 Y2guICAqLworLQorLSAgaWYgKG5jbXAgKHN5bW5hbWUsIHN5bV90ZXh0LCBzeW1fdGV4dF9sZW4p ICE9IDApCistICAgIHsKKy0gICAgICByZXR1cm47CistICAgIH0KKysgIGlmICghY29tcGFyZV9z eW1ib2xfbmFtZSAoc3ltbmFtZSwgc3ltX3RleHQsIHN5bV90ZXh0X2xlbikpCisrICAgIHJldHVy bjsKKyAKKyAgIC8qIFdlIGhhdmUgYSBtYXRjaCBmb3IgYSBjb21wbGV0aW9uLCBzbyBhZGQgU1lN TkFNRSB0byB0aGUgY3VycmVudCBsaXN0CisgICAgICBvZiBtYXRjaGVzLiAgTm90ZSB0aGF0IHRo ZSBuYW1lIGlzIG1vdmVkIHRvIGZyZXNobHkgbWFsbG9jJ2Qgc3BhY2UuICAqLworQEAgLTM3MDcs MTEgKzM3MzUsOCBAQCBzdGF0aWMgaW50CisgZXhwYW5kX3BhcnRpYWxfc3ltYm9sX25hbWUgKGNv bnN0IGNoYXIgKm5hbWUsIHZvaWQgKnVzZXJfZGF0YSkKKyB7CisgICBzdHJ1Y3QgYWRkX25hbWVf ZGF0YSAqZGF0dW0gPSAoc3RydWN0IGFkZF9uYW1lX2RhdGEgKikgdXNlcl9kYXRhOworLSAgaW50 ICgqbmNtcCkgKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBzaXplX3QpOworLQorLSAgbmNt cCA9IChjYXNlX3NlbnNpdGl2aXR5ID09IGNhc2Vfc2Vuc2l0aXZlX29uID8gc3RybmNtcCA6IHN0 cm5jYXNlY21wKTsKKyAKKy0gIHJldHVybiBuY21wIChuYW1lLCBkYXR1bS0+c3ltX3RleHQsIGRh dHVtLT5zeW1fdGV4dF9sZW4pID09IDA7CisrICByZXR1cm4gY29tcGFyZV9zeW1ib2xfbmFtZSAo bmFtZSwgZGF0dW0tPnN5bV90ZXh0LCBkYXR1bS0+c3ltX3RleHRfbGVuKTsKKyB9CisgCisgY2hh ciAqKgorQEAgLTM3OTAsNiArMzgxNSwyMiBAQCBkZWZhdWx0X21ha2Vfc3ltYm9sX2NvbXBsZXRp b25fbGlzdF9icmVha19vbiAoY2hhciAqdGV4dCwgY2hhciAqd29yZCwKKyAKKyAgIHN5bV90ZXh0 X2xlbiA9IHN0cmxlbiAoc3ltX3RleHQpOworIAorKyAgLyogUHJlcGFyZSBTWU1fVEVYVF9MRU4g Zm9yIGNvbXBhcmVfc3ltYm9sX25hbWUuICAqLworKworKyAgaWYgKGN1cnJlbnRfbGFuZ3VhZ2Ut PmxhX2xhbmd1YWdlID09IGxhbmd1YWdlX2NwbHVzCisrICAgICAgfHwgY3VycmVudF9sYW5ndWFn ZS0+bGFfbGFuZ3VhZ2UgPT0gbGFuZ3VhZ2VfamF2YQorKyAgICAgIHx8IGN1cnJlbnRfbGFuZ3Vh Z2UtPmxhX2xhbmd1YWdlID09IGxhbmd1YWdlX2ZvcnRyYW4pCisrICAgIHsKKysgICAgICAvKiBU aGVzZSBsYW5ndWFnZXMgbWF5IGhhdmUgcGFyYW1ldGVycyBlbnRlcmVkIGJ5IHVzZXIgYnV0IHRo ZXkgYXJlIG5ldmVyCisrCSBwcmVzZW50IGluIHRoZSBwYXJ0aWFsIHN5bWJvbCB0YWJsZXMuICAq LworKworKyAgICAgIGNvbnN0IGNoYXIgKmNzID0gbWVtY2hyIChzeW1fdGV4dCwgJygnLCBzeW1f dGV4dF9sZW4pOworKworKyAgICAgIGlmIChjcykKKysJc3ltX3RleHRfbGVuID0gY3MgLSBzeW1f dGV4dDsKKysgICAgfQorKyAgZ2RiX2Fzc2VydCAoc3ltX3RleHRbc3ltX3RleHRfbGVuXSA9PSAn XDAnIHx8IHN5bV90ZXh0W3N5bV90ZXh0X2xlbl0gPT0gJygnKTsKKysKKyAgIHJldHVybl92YWxf c2l6ZSA9IDEwMDsKKyAgIHJldHVybl92YWxfaW5kZXggPSAwOworICAgcmV0dXJuX3ZhbCA9IChj aGFyICoqKSB4bWFsbG9jICgocmV0dXJuX3ZhbF9zaXplICsgMSkgKiBzaXplb2YgKGNoYXIgKikp OworLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHN5bXRhYi1wYXJh bWV0ZXIuY2MKK0BAIC0wLDAgKzEsMjIgQEAKKysvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2Yg R0RCLCB0aGUgR05VIGRlYnVnZ2VyLgorKworKyAgIENvcHlyaWdodCAyMDA5LCAyMDEwLCAyMDEx IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBm cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrICAg aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBw dWJsaXNoZWQgYnkKKysgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVy c2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy IHZlcnNpb24uCisrCisrICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3 aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysgICBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrICAgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysKKysgICBZb3Ugc2hvdWxk IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQor KyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251 Lm9yZy9saWNlbnNlcy8+LgorKyAgICovCisrCisrdHlwZWRlZiBpbnQgdHlwZWRlZmVkOworK3Zv aWQgZnVuYyAodHlwZWRlZmVkIHBhcmFtKQorK3sKKyt9CistLS0gL2Rldi9udWxsCisrKysgYi9n ZGIvdGVzdHN1aXRlL2dkYi5jcC9wc3ltdGFiLXBhcmFtZXRlci5leHAKK0BAIC0wLDAgKzEsMzkg QEAKKysjIENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorKwor KyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vciBtb2RpZnkKKysjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyMgKGF0IHlvdXIg b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysjIGJ1dCBXSVRIT1VU IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrIyBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg dGhlCisrIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyMK KysjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlCisrIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxo dHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKysKKytpZiB7IFtza2lwX2NwbHVzX3Rlc3Rz XSB9IHsgY29udGludWUgfQorKworKworK3NldCB0ZXN0ZmlsZSBwc3ltdGFiLXBhcmFtZXRlcgor K3NldCBleGVjdXRhYmxlICR7dGVzdGZpbGV9LngKKytzZXQgc3JjZmlsZSAke3Rlc3RmaWxlfS5j YworK3NldCBiaW5maWxlICR7b2JqZGlyfS8ke3N1YmRpcn0vJHtleGVjdXRhYmxlfQorKworK2lm IHsgW2dkYl9jb21waWxlICIke3NyY2Rpcn0vJHtzdWJkaXJ9LyR7c3JjZmlsZX0iICIke2JpbmZp bGV9IiBvYmplY3Qge2RlYnVnIGMrK31dICE9ICIiIH0geworKyAgICB1bnRlc3RlZCAke3Rlc3Rm aWxlfS5leHAKKysgICAgcmV0dXJuIC0xCisrfQorKworK2NsZWFuX3Jlc3RhcnQgJGV4ZWN1dGFi bGUKKysKKysjIEFzIGBtYWluJyBpcyBub3QgcHJlc2VudCBHREIgZmFpbHMgdG8gZmluZCB0aGUg cHJvcGVyIGluZmVyaW9yIGxhbmd1YWdlLgorK2dkYl90ZXN0X25vX291dHB1dCAic2V0IGxhbmd1 YWdlIGMrKyIKKysKKysjIFRoZSBnb2FsIGlzIHRvIGtlZXAgdGhlIENVIChDb21waWxhdGlvbiBV bml0KSB1bmV4cGFuZGVkLiAgSXQgd291bGQgYmUgcmF0aGVyCisrIyBYRkFJTCB0aGFuIEZBSUwg aGVyZS4gIEZvciBleGFtcGxlIC1yZWFkbm93IGJyZWFrcyBpdC4KKytnZGJfdGVzdF9ub19vdXRw dXQgIm1haW50ZW5hbmNlIGluZm8gc3ltdGFicyIKKysKKysjIEdEQiBoYXMgc2hvd24gb25seSB0 aGUgYGZ1bmMoaW50KScgZW50cnkgYmVmb3JlLgorK2dkYl90ZXN0ICJjb21wbGV0ZSBicmVhayAn ZnVuYygiICJicmVhayAnZnVuY1xcKGludFxcKVxyXG5icmVhayAnZnVuY1xcKHR5cGVkZWZlZFxc KSIKKwoKZGlmZiAtLWdpdCBhL2dkYi11cHN0cmVhbS5wYXRjaCBiL2dkYi11cHN0cmVhbS5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZDdhOTVmCi0tLSAvZGV2L251 bGwKKysrIGIvZ2RiLXVwc3RyZWFtLnBhdGNoCkBAIC0wLDAgKzEsMTM5IEBACitGaXggUHl0aG9u IGFjY2VzcyB0byBpbmxpbmVkIGZyYW1lcyAoQlogNjk0ODI0KS4KK2h0dHA6Ly9zb3VyY2V3YXJl Lm9yZy9tbC9nZGItY3ZzLzIwMTEtMDQvbXNnMDAxODkuaHRtbAorCisjIyMgc3JjL2dkYi9DaGFu Z2VMb2cJMjAxMS8wNC8yNyAwMzo1MjoyMAkxLjEyODg3LjIuMTQKKyMjIyBzcmMvZ2RiL0NoYW5n ZUxvZwkyMDExLzA0LzI5IDA3OjMyOjM3CTEuMTI4ODcuMi4xNQorIyMgLTEsMyArMSw5IEBACisr MjAxMS0wNC0yOSAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgor KworKwlGaXggUHl0aG9uIGFjY2VzcyB0byBpbmxpbmVkIGZyYW1lcy4KKysJKiBweXRob24vcHkt ZnJhbWUuYyAoZnJhcHlfcmVhZF92YXIpOiBGaW5kIEJMT0NLIHVzaW5nIGdldF9mcmFtZV9ibG9j ay4KKysJKiBweXRob24vcHktc3ltYm9sLmMgKGdkYnB5X2xvb2t1cF9zeW1ib2wpOiBMaWtld2lz ZS4KKysKKyAyMDExLTA0LTI2ICBNaWNoYWVsIFdhbGxlICA8bWljaGFlbEB3YWxsZS5jYz4KKyAK KyAJKiByZW1vdGUuYyAocmVtb3RlX3N0YXJ0X3JlbW90ZSk6IEFjayBwYWNrZXQgYWZ0ZXIgc2Vu ZGluZyB0aGUKKy0tLSBzcmMvZ2RiL3B5dGhvbi9weS1mcmFtZS5jCTIwMTEvMDEvMjYgMjA6NTM6 NDUJMS4xNQorKysrIHNyYy9nZGIvcHl0aG9uL3B5LWZyYW1lLmMJMjAxMS8wNC8yOSAwNzozMjo0 MAkxLjE1LjIuMQorQEAgLTQzNiw3ICs0MzYsNyBAQAorIAkgIEZSQVBZX1JFUVVJUkVfVkFMSUQg KChmcmFtZV9vYmplY3QgKikgc2VsZiwgZnJhbWUpOworIAorIAkgIGlmICghYmxvY2spCistCSAg ICBibG9jayA9IGJsb2NrX2Zvcl9wYyAoZ2V0X2ZyYW1lX2FkZHJlc3NfaW5fYmxvY2sgKGZyYW1l KSk7CisrCSAgICBibG9jayA9IGdldF9mcmFtZV9ibG9jayAoZnJhbWUsIE5VTEwpOworIAkgIHZh ciA9IGxvb2t1cF9zeW1ib2wgKHZhcl9uYW1lLCBibG9jaywgVkFSX0RPTUFJTiwgTlVMTCk7Cisg CX0KKyAgICAgICBHREJfUFlfSEFORExFX0VYQ0VQVElPTiAoZXhjZXB0KTsKKy0tLSBzcmMvZ2Ri L3B5dGhvbi9weS1zeW1ib2wuYwkyMDExLzAzLzE3IDA5OjM2OjE2CTEuNgorKysrIHNyYy9nZGIv cHl0aG9uL3B5LXN5bWJvbC5jCTIwMTEvMDQvMjkgMDc6MzI6NDAJMS42LjIuMQorQEAgLTI3NSw4 ICsyNzUsOCBAQAorIAorICAgICAgIFRSWV9DQVRDSCAoZXhjZXB0LCBSRVRVUk5fTUFTS19BTEwp CisgCXsKKy0JICBzZWxlY3RlZF9mcmFtZSAgPSBnZXRfc2VsZWN0ZWRfZnJhbWUgKF8oIk5vIGZy YW1lIHNlbGVjdGVkLiIpKTsKKy0JICBibG9jayA9IGJsb2NrX2Zvcl9wYyAoZ2V0X2ZyYW1lX2Fk ZHJlc3NfaW5fYmxvY2sgKHNlbGVjdGVkX2ZyYW1lKSk7CisrCSAgc2VsZWN0ZWRfZnJhbWUgPSBn ZXRfc2VsZWN0ZWRfZnJhbWUgKF8oIk5vIGZyYW1lIHNlbGVjdGVkLiIpKTsKKysJICBibG9jayA9 IGdldF9mcmFtZV9ibG9jayAoc2VsZWN0ZWRfZnJhbWUsIE5VTEwpOworIAl9CisgICAgICAgR0RC X1BZX0hBTkRMRV9FWENFUFRJT04gKGV4Y2VwdCk7CisgICAgIH0KKyMjIyBzcmMvZ2RiL3Rlc3Rz dWl0ZS9DaGFuZ2VMb2cJMjAxMS8wNC8yNSAyMToyNToxOAkxLjI2NTUuMi40CisjIyMgc3JjL2dk Yi90ZXN0c3VpdGUvQ2hhbmdlTG9nCTIwMTEvMDQvMjkgMDc6MzI6NDAJMS4yNjU1LjIuNQorIyMg LTEsMyArMSw5IEBACisrMjAxMS0wNC0yOSAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZp bEByZWRoYXQuY29tPgorKworKwlGaXggUHl0aG9uIGFjY2VzcyB0byBpbmxpbmVkIGZyYW1lcy4K KysJKiBnZGIucHl0aG9uL3B5LWZyYW1lLWlubGluZS5jOiBOZXcgZmlsZS4KKysJKiBnZGIucHl0 aG9uL3B5LWZyYW1lLWlubGluZS5leHA6IE5ldyBmaWxlLgorKworIDIwMTEtMDQtMjUgIEphbiBL cmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KKyAKKyAJKiBnZGIuYmFzZS9n ZGJpbmRleC1zdGFicy1kd2FyZi5jOiBOZXcgZmlsZS4KKy0tLSBzcmMvZ2RiL3Rlc3RzdWl0ZS9n ZGIucHl0aG9uL3B5LWZyYW1lLWlubGluZS5jCisrKysgc3JjL2dkYi90ZXN0c3VpdGUvZ2RiLnB5 dGhvbi9weS1mcmFtZS1pbmxpbmUuYwkyMDExLTA0LTI5IDA3OjMzOjQ1LjkxMjU1MjAwMCArMDAw MAorQEAgLTAsMCArMSw0MyBAQAorKy8qIFRoaXMgdGVzdCBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdO VSBkZWJ1Z2dlci4KKysKKysgICBDb3B5cmlnaHQgMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrICAgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwg b3IKKysgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKworKyAgIFRoaXMg cHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LAorKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCisrICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCisrCisrICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysgICBhbG9uZyB3aXRoIHRoaXMgcHJv Z3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisr Cisrdm9sYXRpbGUgaW50IHYgPSA0MjsKKysKKytfX2F0dHJpYnV0ZV9fKChfX2Fsd2F5c19pbmxp bmVfXykpIHN0YXRpYyBpbnQKKytmICh2b2lkKQorK3sKKysgIC8qIFByb3ZpZGUgZmlyc3Qgc3R1 YiBsaW5lIHNvIHRoYXQgR0RCIHVuZGVyc3RhbmQgdGhlIFBDIGlzIGFscmVhZHkgaW5zaWRlCisr ICAgICB0aGUgaW5saW5lZCBmdW5jdGlvbiBhbmQgZG9lcyBub3QgZXhwZWN0IGEgc3RlcCBpbnRv IGl0LiAgKi8KKysgIHYrKzsKKysgIHYrKzsJCS8qIGJyZWFrLWhlcmUgKi8KKysKKysgIHJldHVy biB2OworK30KKysKKytfX2F0dHJpYnV0ZV9fKChfX25vaW5saW5lX18pKSBzdGF0aWMgaW50Cisr ZyAodm9pZCkKKyt7CisrICB2b2xhdGlsZSBpbnQgbCA9IHY7CisrCisrICByZXR1cm4gZiAoKTsK Kyt9CisrCisraW50CisrbWFpbiAodm9pZCkKKyt7CisrICByZXR1cm4gZyAoKTsKKyt9CistLS0g c3JjL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1mcmFtZS1pbmxpbmUuZXhwCisrKysgc3Jj L2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1mcmFtZS1pbmxpbmUuZXhwCTIwMTEtMDQtMjkg MDc6MzM6NDYuNjQ5ODE3MDAwICswMDAwCitAQCAtMCwwICsxLDM5IEBACisrIyBDb3B5cmlnaHQg KEMpIDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrIyBUaGlzIHByb2dy YW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlm eQorKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBhcyBwdWJsaXNoZWQgYnkKKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl ciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBs YXRlciB2ZXJzaW9uLgorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UK KysjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251 Lm9yZy9saWNlbnNlcy8+LgorKworK2xvYWRfbGliIGdkYi1weXRob24uZXhwCisrCisrc2V0IHRl c3RmaWxlICJweS1mcmFtZS1pbmxpbmUiCisrc2V0IHNyY2ZpbGUgJHt0ZXN0ZmlsZX0uYworK2lm IHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgJHt0ZXN0ZmlsZX0uZXhwICR7dGVzdGZpbGV9ICR7c3Jj ZmlsZX1dIH0geworKyAgICByZXR1cm4gLTEKKyt9CisrCisrIyBTa2lwIGFsbCB0ZXN0cyBpZiBQ eXRob24gc2NyaXB0aW5nIGlzIG5vdCBlbmFibGVkLgorK2lmIHsgW3NraXBfcHl0aG9uX3Rlc3Rz XSB9IHsgY29udGludWUgfQorKworK2lmICFbcnVudG8gbWFpbl0gdGhlbiB7CisrICAgIGZhaWwg IkNhbid0IHJ1biB0byBmdW5jdGlvbiBmIgorKyAgICByZXR1cm4gMAorK30KKysKKytnZGJfYnJl YWtwb2ludCBbZ2RiX2dldF9saW5lX251bWJlciAiYnJlYWstaGVyZSJdCisrZ2RiX2NvbnRpbnVl X3RvX2JyZWFrcG9pbnQgIkJsb2NrIGJyZWFrIGhlcmUuIgorKworK2dkYl90ZXN0ICJpbmZvIGZy YW1lIiAiaW5saW5lZCBpbnRvIGZyYW1lIDFcclxuLioiCisrCisrZ2RiX3Rlc3QgInVwIiAiIzEg IGcgLioiCisrCisrZ2RiX3Rlc3QgInB5dGhvbiBwcmludCBnZGIuc2VsZWN0ZWRfZnJhbWUoKS5y ZWFkX3ZhcignbCcpIiAiXHJcbjQyIgoKZGlmZiAtLWdpdCBhL2dkYi5zcGVjIGIvZ2RiLnNwZWMK aW5kZXggZWJmNjk5Yi4uZTAwNmQ3MiAxMDA2NDQKLS0tIGEvZ2RiLnNwZWMKKysrIGIvZ2RiLnNw ZWMKQEAgLTIzLDExICsyMywxMSBAQCBOYW1lOiBnZGIlez9fd2l0aF9kZWJ1ZzotZGVidWd9CiAj IFNldCB2ZXJzaW9uIHRvIGNvbnRlbnRzIG9mIGdkYi92ZXJzaW9uLmluLgogIyBOT1RFOiB0aGUg RlNGIGdkYiB2ZXJzaW9ucyBhcmUgbnVtYmVyZWQgTi5NIGZvciBvZmZpY2lhbCByZWxlYXNlcywg bGlrZSA2LjMKICMgYW5kLCBzaW5jZSBKYW51YXJ5IDIwMDUsIFguWS5aLmRhdGUgZm9yIGRhaWx5 IHNuYXBzaG90cywgbGlrZSA2LjMuNTAuMjAwNTAxMTIgIyAoZGFpbHkgc25hcHNob3QgZnJvbSBt YWlsaW5lKSwgb3IgNi4zLjAuMjAwNDAxMTIgKGhlYWQgb2YgdGhlIHJlbGVhc2UgYnJhbmNoKS4K LVZlcnNpb246IDcuMi45MC4yMDExMDQxMQorVmVyc2lvbjogNy4yLjkwLjIwMTEwNDI5CiAKICMg VGhlIHJlbGVhc2UgYWx3YXlzIGNvbnRhaW5zIGEgbGVhZGluZyByZXNlcnZlZCBudW1iZXIsIHN0 YXJ0IGl0IGF0IDEuCiAjIGB1cHN0cmVhbScgaXMgbm90IGEgcGFydCBvZiBgbmFtZScgdG8gc3Rh eSBmdWxseSBycG0gZGVwZW5kZW5jaWVzIGNvbXBhdGlibGUgZm9yIHRoZSB0ZXN0aW5nLgotUmVs ZWFzZTogMzQlez9fd2l0aF91cHN0cmVhbToudXBzdHJlYW19JXs/ZGlzdH0KK1JlbGVhc2U6IDM1 JXs/X3dpdGhfdXBzdHJlYW06LnVwc3RyZWFtfSV7P2Rpc3R9CiAKIExpY2Vuc2U6IEdQTHYzKyBh bmQgR1BMdjMrIHdpdGggZXhjZXB0aW9ucyBhbmQgR1BMdjIrIGFuZCBHUEx2Misgd2l0aCBleGNl cHRpb25zIGFuZCBHUEwrIGFuZCBMR1BMdjIrIGFuZCBCU0QgYW5kIFB1YmxpYyBEb21haW4KIEdy b3VwOiBEZXZlbG9wbWVudC9EZWJ1Z2dlcnMKQEAgLTI2Miw3ICsyNjIsNyBAQCBQYXRjaDIzMTog Z2RiLTYuMy1iejIwMjY4OS1leGVjLWZyb20tcHRocmVhZC10ZXN0LnBhdGNoCiAKICMgQmFja3Bv cnRlZCBmaXh1cHMgcG9zdCB0aGUgc291cmNlIHRhcmJhbGwuCiAjWGRyb3A6IEp1c3QgYmFja3Bv cnRzLgotI1BhdGNoMjMyOiBnZGItdXBzdHJlYW0ucGF0Y2gKK1BhdGNoMjMyOiBnZGItdXBzdHJl YW0ucGF0Y2gKIAogIyBUZXN0Y2FzZSBmb3IgUFBDIFBvd2VyNi9ERlAgaW5zdHJ1Y3Rpb25zIGRp c2Fzc2VtYmx5IChCWiAyMzAwMDApLgogIz1mZWRvcmF0ZXN0K3BwYwpAQCAtNTU3LDYgKzU1Nywx OSBAQCBQYXRjaDU3NDogZ2RiLWNvcmUtdGhyZWFkLWludGVybmFsZXJyLTNvZjMucGF0Y2gKICMg cmVidWlsZCB0byBmaXggaXQsIHdlIG5lZWQgdG8gYmUgYWJsZSB0byB1c2UgZ2RiIDopCiBQYXRj aDU3OTogZ2RiLTcuMi41MC1zcGFyYy1hZGQtd29ya2Fyb3VuZC10by1icm9rZW4tZGVidWctZmls ZXMucGF0Y2gKIAorIyBGaXggY2FzZSBpbnNlbnNpdGl2ZSBzeW1ib2xzIGZvciBGb3J0cmFuIGJ5 IGlGb3J0IChCWiA2NDU3NzMpLgorUGF0Y2g1ODA6IGdkYi1iejY0NTc3My1jYXNlLWluc2Vuc2l0 aXZlLTFvZjUucGF0Y2gKK1BhdGNoNTgxOiBnZGItYno2NDU3NzMtY2FzZS1pbnNlbnNpdGl2ZS0y b2Y1LnBhdGNoCitQYXRjaDU4MjogZ2RiLWJ6NjQ1NzczLWNhc2UtaW5zZW5zaXRpdmUtM29mNS5w YXRjaAorUGF0Y2g1ODM6IGdkYi1iejY0NTc3My1jYXNlLWluc2Vuc2l0aXZlLTRvZjUucGF0Y2gK K1BhdGNoNTg4OiBnZGItYno2NDU3NzMtY2FzZS1pbnNlbnNpdGl2ZS01b2Y1LnBhdGNoCisKKyMg Rml4IC1PMiAtZyBicmVha3BvaW50cyBpbnRlcm5hbCBlcnJvciArIHByb2xvZ3VlIHNraXBwaW5n IChCWiA2MTIyNTMpLgorUGF0Y2g1ODk6IGdkYi1vcHRpbS1nLXByb2xvZ3VlLXNraXAucGF0Y2gK KworIyBGaXggcGh5c25hbWUtcmVsYXRlZCBDVSBleHBhbnNpb24gaXNzdWUgZm9yIEMrKyAoUFIg MTI3MDgpLgorUGF0Y2g1OTA6IGdkYi1waHlzbmFtZS1leHBhbmQtY29tcGxldGVyLnBhdGNoCisK IEJ1aWxkUmVxdWlyZXM6IG5jdXJzZXMtZGV2ZWwlez9faXNhfSB0ZXhpbmZvIGdldHRleHQgZmxl eCBiaXNvbiBleHBhdC1kZXZlbCV7P19pc2F9CiBSZXF1aXJlczogcmVhZGxpbmUlez9faXNhfQog QnVpbGRSZXF1aXJlczogcmVhZGxpbmUtZGV2ZWwlez9faXNhfQpAQCAtNzEzLDcgKzcyNiw3IEBA IHJtIC1mIGdkYi9qdi1leHAuYyBnZGIvbTItZXhwLmMgZ2RiL29iamMtZXhwLmMgZ2RiL3AtZXhw LmMKIAogJWlmIDAleyE/X3dpdGhfdXBzdHJlYW06MX0KIAotI3BhdGNoMjMyIC1wMQorJXBhdGNo MjMyIC1wMQogJXBhdGNoMzQ5IC1wMQogJXBhdGNoMSAtcDEKICVwYXRjaDMgLXAxCkBAIC04MjYs NiArODM5LDEzIEBAIHJtIC1mIGdkYi9qdi1leHAuYyBnZGIvbTItZXhwLmMgZ2RiL29iamMtZXhw LmMgZ2RiL3AtZXhwLmMKICVwYXRjaDU3MyAtcDEKICVwYXRjaDU3NCAtcDEKICVwYXRjaDU3OSAt cDEKKyVwYXRjaDU4MCAtcDEKKyVwYXRjaDU4MSAtcDEKKyVwYXRjaDU4MiAtcDEKKyVwYXRjaDU4 MyAtcDEKKyVwYXRjaDU4OCAtcDEKKyVwYXRjaDU4OSAtcDEKKyVwYXRjaDU5MCAtcDEKIAogJXBh dGNoMzkwIC1wMQogJXBhdGNoMzkzIC1wMQpAQCAtMTI1NCw2ICsxMjc0LDEzIEBAIGZpCiAle19p bmZvZGlyfS9nZGIuaW5mbyoKIAogJWNoYW5nZWxvZworKiBGcmkgQXByIDI5IDIwMTEgSmFuIEty YXRvY2h2aWwgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+IC0gNy4yLjkwLjIwMTEwNDI5LTM1 LmZjMTUKKy0gUmViYXNlIHRvIEZTRiBHREIgNy4yLjkwLjIwMTEwNDI5ICh3aGljaCBpcyBhIDcu MyBwcmUtcmVsZWFzZSkuCistIEZpeCAtTzIgLWcgYnJlYWtwb2ludHMgaW50ZXJuYWwgZXJyb3Ig KyBwcm9sb2d1ZSBza2lwcGluZyAoQlogNjEyMjUzKS4KKy0gRml4IGNhc2UgaW5zZW5zaXRpdmUg c3ltYm9scyBmb3IgRm9ydHJhbiBieSBpRm9ydCAoQlogNjQ1NzczKS4KKy0gRml4IHBoeXNuYW1l LXJlbGF0ZWQgQ1UgZXhwYW5zaW9uIGlzc3VlIGZvciBDKysgKFBSIDEyNzA4KS4KKy0gRml4IFB5 dGhvbiBhY2Nlc3MgdG8gaW5saW5lZCBmcmFtZXMgKEJaIDY5NDgyNCkuCisKICogTW9uIEFwciAx MSAyMDExIEphbiBLcmF0b2NodmlsIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPiAtIDcuMi45 MC4yMDExMDQxMS0zNC5mYzE1CiAtIFJlYmFzZSB0byBGU0YgR0RCIDcuMi45MC4yMDExMDQxMSAo d2hpY2ggaXMgYSA3LjMgcHJlLXJlbGVhc2UpLgogLSBJbmNsdWRlIHRoZSBwcm9wZXIgZml4IGZv ciBhbm9ueW1vdXMgc3RydWN0IHR5cGVkZWZzIChUb20gVHJvbWV5LCBCWiA2NzIyMzApLgoKZGlm ZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4IGZmMjc1NTcuLjE0ZWNmZWEgMTAwNjQ0 Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291cmNlcwpAQCAtMSwyICsxLDIgQEAKIDA0ZTVjNGIxYjll NjMzNDIyY2M0ODk5MGZlNjE5NThkICBsaWJzdGRjKystdjMtcHl0aG9uLXIxNTU5NzgudGFyLmJ6 MgotNzA5NWYzZjQxMmUyN2E3M2MzOWRmNGFhNzM3YTM4NmEgIGdkYi03LjIuOTAuMjAxMTA0MTEu dGFyLmJ6MgorZTU4NWU0ODQwMDFmNWNkNjllODdjYmNkMGM5OWMxZjcgIGdkYi03LjIuOTAuMjAx MTA0MjkudGFyLmJ6Mgo=