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: Petr Lautrbach To: git-commits@fedoraproject.org Subject: [rpms/libselinux] f44: SELinux userspace 3.11 release Date: Fri, 31 Jul 2026 14:24:11 GMT Message-ID: <178550785115.1.13457758900591042722.rpms-libselinux-41d874fcf881@fedoraproject.org> List-ID: X-Git-Repo: rpms/libselinux X-Git-Branch: f44 X-Git-Rev: 41d874fcf8813b7531ab920c23e1bb050503fce9 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvbGlic2VsaW51eApC cmFuY2ggOiBmNDQKQ29tbWl0IDogNDFkODc0ZmNmODgxM2I3NTMxYWI5MjBjMjNlMWJiMDUwNTAz ZmNlOQpBdXRob3IgOiBQZXRyIExhdXRyYmFjaCA8bGF1dHJiYWNoQHJlZGhhdC5jb20+CkRhdGUg ICA6IDIwMjYtMDctMDFUMjE6MzY6MDErMDI6MDAKU3RhdHMgIDogKzQwOS8tMjc2IGluIDUgZmls ZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2xpYnNlbGlu dXgvYy80MWQ4NzRmY2Y4ODEzYjc1MzFhYjkyMGMyM2UxYmIwNTA1MDNmY2U5P2JyYW5jaD1mNDQK CkxvZzoKU0VMaW51eCB1c2Vyc3BhY2UgMy4xMSByZWxlYXNlCgotLS0KZGlmZiAtLWdpdCBhLy5n aXRpZ25vcmUgYi8uZ2l0aWdub3JlCmluZGV4IDJkYzRkOWQuLjIyNDNiNzUgMTAwNjQ0Ci0tLSBh Ly5naXRpZ25vcmUKKysrIGIvLmdpdGlnbm9yZQpAQCAtMjQ4LDMgKzI0OCw1IEBAIGxpYnNlbGlu dXgtMi4wLjk2LnRnegogL2xpYnNlbGludXgtMy4xMC1yYzIudGFyLmd6LmFzYwogL2xpYnNlbGlu dXgtMy4xMC50YXIuZ3oKIC9saWJzZWxpbnV4LTMuMTAudGFyLmd6LmFzYworL2xpYnNlbGludXgt My4xMS50YXIuZ3oKKy9saWJzZWxpbnV4LTMuMTEudGFyLmd6LmFzYwoKZGlmZiAtLWdpdCBhLzAw MDEtVXNlLVNIQS0yLWluc3RlYWQtb2YtU0hBLTEucGF0Y2ggYi8wMDAxLVVzZS1TSEEtMi1pbnN0 ZWFkLW9mLVNIQS0xLnBhdGNoCmluZGV4IDdhZTc4YzIuLjM0NzM5MTQgMTAwNjQ0Ci0tLSBhLzAw MDEtVXNlLVNIQS0yLWluc3RlYWQtb2YtU0hBLTEucGF0Y2gKKysrIGIvMDAwMS1Vc2UtU0hBLTIt aW5zdGVhZC1vZi1TSEEtMS5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gNDc4MGI3NTViYjEx NzFmNWFhNGNkNzU0NTUzNTgzOWQ0NTFhMjA3MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zy b20gY2JhZjEwNDBjNjU1YmQ1NDRlZWRjYTNiOGUwNzA3MjBkZmMzYjJiZSBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKIEZyb206IFBldHIgTGF1dHJiYWNoIDxwbGF1dHJiYUByZWRoYXQuY29tPgog RGF0ZTogRnJpLCAzMCBKdWwgMjAyMSAxNDoxNDozNyArMDIwMAogU3ViamVjdDogW1BBVENIXSBV c2UgU0hBLTIgaW5zdGVhZCBvZiBTSEEtMQpAQCAtMTMsMjggKzEzLDI4IEBAIFRoZSB1c2Ugb2Yg U0hBLTEgaW4gUkhFTDkgaXMgZGVwcmVjYXRlZAogIGxpYnNlbGludXgvbWFuL21hbjMvc2VsaW51 eF9yZXN0b3JlY29uLjMgICAgICB8ICAxOCArLQogIC4uLi9tYW4vbWFuMy9zZWxpbnV4X3Jlc3Rv cmVjb25feGF0dHIuMyAgICAgICB8ICAgMiArLQogIGxpYnNlbGludXgvc3JjL01ha2VmaWxlICAg ICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQotIGxpYnNlbGludXgvc3JjL2xhYmVsX2ZpbGUu YyAgICAgICAgICAgICAgICAgICB8ICA0MCArLS0KLSBsaWJzZWxpbnV4L3NyYy9sYWJlbF9pbnRl cm5hbC5oICAgICAgICAgICAgICAgfCAgMTAgKy0KLSBsaWJzZWxpbnV4L3NyYy9sYWJlbF9zdXBw b3J0LmMgICAgICAgICAgICAgICAgfCAgMTAgKy0KLSBsaWJzZWxpbnV4L3NyYy9zZWxpbnV4X3Jl c3RvcmVjb24uYyAgICAgICAgICAgfCAgMjQgKy0KLSBsaWJzZWxpbnV4L3NyYy9zaGExLmMgICAg ICAgICAgICAgICAgICAgICAgICAgfCAyMjMgLS0tLS0tLS0tLS0tLQotIGxpYnNlbGludXgvc3Jj L3NoYTEuaCAgICAgICAgICAgICAgICAgICAgICAgICB8ICA4NSAtLS0tLQorIGxpYnNlbGludXgv c3JjL2xhYmVsX2ZpbGUuYyAgICAgICAgICAgICAgICAgICB8ICA0NiArLS0KKyBsaWJzZWxpbnV4 L3NyYy9sYWJlbF9pbnRlcm5hbC5oICAgICAgICAgICAgICAgfCAgMTggKy0KKyBsaWJzZWxpbnV4 L3NyYy9sYWJlbF9zdXBwb3J0LmMgICAgICAgICAgICAgICAgfCAgMTcgKy0KKyBsaWJzZWxpbnV4 L3NyYy9zZWxpbnV4X3Jlc3RvcmVjb24uYyAgICAgICAgICAgfCAgNDggKystCisgbGlic2VsaW51 eC9zcmMvc2hhMS5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjg0IC0tLS0tLS0tLS0tLS0t LS0tCisgbGlic2VsaW51eC9zcmMvc2hhMS5oICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDY4 IC0tLS0KICBsaWJzZWxpbnV4L3NyYy9zaGEyNTYuYyAgICAgICAgICAgICAgICAgICAgICAgfCAy OTQgKysrKysrKysrKysrKysrKysrCiAgbGlic2VsaW51eC9zcmMvc2hhMjU2LmggICAgICAgICAg ICAgICAgICAgICAgIHwgIDg5ICsrKysrKwogIGxpYnNlbGludXgvdXRpbHMvc2VsYWJlbF9kaWdl c3QuYyAgICAgICAgICAgICB8ICAyNiArLQogIC4uLi9zZWxhYmVsX2dldF9kaWdlc3RzX2FsbF9w YXJ0aWFsX21hdGNoZXMuYyB8ICAyOCArLQotIDE3IGZpbGVzIGNoYW5nZWQsIDQ3MSBpbnNlcnRp b25zKCspLCAzOTYgZGVsZXRpb25zKC0pCisgMTcgZmlsZXMgY2hhbmdlZCwgNTAxIGluc2VydGlv bnMoKyksIDQ1NSBkZWxldGlvbnMoLSkKICBkZWxldGUgbW9kZSAxMDA2NDQgbGlic2VsaW51eC9z cmMvc2hhMS5jCiAgZGVsZXRlIG1vZGUgMTAwNjQ0IGxpYnNlbGludXgvc3JjL3NoYTEuaAogIGNy ZWF0ZSBtb2RlIDEwMDY0NCBsaWJzZWxpbnV4L3NyYy9zaGEyNTYuYwogIGNyZWF0ZSBtb2RlIDEw MDY0NCBsaWJzZWxpbnV4L3NyYy9zaGEyNTYuaAogCiBkaWZmIC0tZ2l0IGEvbGlic2VsaW51eC9p bmNsdWRlL3NlbGludXgvbGFiZWwuaCBiL2xpYnNlbGludXgvaW5jbHVkZS9zZWxpbnV4L2xhYmVs LmgKLWluZGV4IGNlMTg5YTNhZTJmZS4uY2U3N2QzMmRmZWQxIDEwMDY0NAoraW5kZXggMDVlMWZk NTY5OTgwLi4wZTY4M2ZmMmFkM2MgMTAwNjQ0CiAtLS0gYS9saWJzZWxpbnV4L2luY2x1ZGUvc2Vs aW51eC9sYWJlbC5oCiArKysgYi9saWJzZWxpbnV4L2luY2x1ZGUvc2VsaW51eC9sYWJlbC5oCi1A QCAtMTIwLDEzICsxMjAsMTMgQEAgZXh0ZXJuIGludCBzZWxhYmVsX2xvb2t1cF9iZXN0X21hdGNo X3JhdyhzdHJ1Y3Qgc2VsYWJlbF9oYW5kbGUgKnJlYywgY2hhciAqKmNvbiwKLSAJCQkJCSBjb25z dCBjaGFyICprZXksIGNvbnN0IGNoYXIgKiphbGlhc2VzLCBpbnQgdHlwZSk7CitAQCAtMTIzLDEz ICsxMjMsMTMgQEAgZXh0ZXJuIGludCBzZWxhYmVsX2xvb2t1cF9iZXN0X21hdGNoX3JhdyhzdHJ1 Y3Qgc2VsYWJlbF9oYW5kbGUgKnJlYywgY2hhciAqKmNvbiwKKyAJCQkJCSBpbnQgdHlwZSk7CiAg CiAgLyoqCiAtICogc2VsYWJlbF9kaWdlc3QgLSBSZXRyaWV2ZSB0aGUgU0hBMSBkaWdlc3QgYW5k IHRoZSBsaXN0IG9mIHNwZWNmaWxlcyB1c2VkIHRvCkBAIC01MSw3ICs1MSw3IEBAIGluZGV4IGNl MTg5YTNhZTJmZS4uY2U3N2QzMmRmZWQxIDEwMDY0NAogICAqIEBudW1fc3BlY2ZpbGVzOiBudW1i ZXIgb2Ygc3BlY2ZpbGVzIGluIHRoZSBsaXN0LgogICAqCiBkaWZmIC0tZ2l0IGEvbGlic2VsaW51 eC9pbmNsdWRlL3NlbGludXgvcmVzdG9yZWNvbi5oIGIvbGlic2VsaW51eC9pbmNsdWRlL3NlbGlu dXgvcmVzdG9yZWNvbi5oCi1pbmRleCA1YmU2NTQyYzJhOTEuLjIxMGY2NWZkYjcwOSAxMDA2NDQK K2luZGV4IDY2ODA1ODllYzY1OS4uYzgzNTZkZTllYmViIDEwMDY0NAogLS0tIGEvbGlic2VsaW51 eC9pbmNsdWRlL3NlbGludXgvcmVzdG9yZWNvbi5oCiArKysgYi9saWJzZWxpbnV4L2luY2x1ZGUv c2VsaW51eC9yZXN0b3JlY29uLmgKIEBAIC00Myw4ICs0Myw4IEBAIGV4dGVybiBpbnQgc2VsaW51 eF9yZXN0b3JlY29uX3BhcmFsbGVsKGNvbnN0IGNoYXIgKnBhdGhuYW1lLApAQCAtNjMsNyArNjMs NyBAQCBpbmRleCA1YmU2NTQyYzJhOTEuLjIxMGY2NWZkYjcwOSAxMDA2NDQKICsgKiBGb3JjZSB0 aGUgY2hlY2tpbmcgb2YgbGFiZWxzIGV2ZW4gaWYgdGhlIHN0b3JlZCBTSEEyNTYgZGlnZXN0CiAr ICogbWF0Y2hlcyB0aGUgc3BlY2ZpbGVzIFNIQTI1NiBkaWdlc3QgKHJlcXVpcmVzIENBUF9TWVNf QURNSU4pLgogICAqLwotICNkZWZpbmUgU0VMSU5VWF9SRVNUT1JFQ09OX0lHTk9SRV9ESUdFU1QJ CTB4MDAwMDEKKyAjZGVmaW5lIFNFTElOVVhfUkVTVE9SRUNPTl9JR05PUkVfRElHRVNUIDB4MDAw MDEKICAvKgogZGlmZiAtLWdpdCBhL2xpYnNlbGludXgvbWFuL21hbjMvc2VsYWJlbF9kaWdlc3Qu MyBiL2xpYnNlbGludXgvbWFuL21hbjMvc2VsYWJlbF9kaWdlc3QuMwogaW5kZXggNTZhMDA4ZjAw ZGYwLi41ZjdjNDI1MzNkMGUgMTAwNjQ0CkBAIC05Nyw3ICs5Nyw3IEBAIGluZGV4IDBlMDNlMWJl MTExZS4uMTRhYjg4OGQyZTAzIDEwMDY0NAogIC5CUiBzZWxhYmVsX2RpZ2VzdCAoMykKICAuCiBk aWZmIC0tZ2l0IGEvbGlic2VsaW51eC9tYW4vbWFuMy9zZWxpbnV4X3Jlc3RvcmVjb24uMyBiL2xp YnNlbGludXgvbWFuL21hbjMvc2VsaW51eF9yZXN0b3JlY29uLjMKLWluZGV4IDIxOGFhZjZkMmFl NS4uNWY2ZDRiMzg2NDI5IDEwMDY0NAoraW5kZXggOWJjZDNkNDJiYjQ1Li4zZjI4M2M0ZjQyNzMg MTAwNjQ0CiAtLS0gYS9saWJzZWxpbnV4L21hbi9tYW4zL3NlbGludXhfcmVzdG9yZWNvbi4zCiAr KysgYi9saWJzZWxpbnV4L21hbi9tYW4zL3NlbGludXhfcmVzdG9yZWNvbi4zCiBAQCAtMzYsNyAr MzYsNyBAQCBJZiB0aGlzIGlzIGEgZGlyZWN0b3J5IGFuZCB0aGUKQEAgLTEzOCw3ICsxMzgsNyBA QCBpbmRleCAyMThhYWY2ZDJhZTUuLjVmNmQ0YjM4NjQyOSAxMDA2NDQKICBleHRlbmRlZCBhdHRy aWJ1dGUgYXMgZGVzY3JpYmVkIGluIHRoZQogIC5CIE5PVEVTCiAgc2VjdGlvbi4KLUBAIC0xNzks MTIgKzE3OSwxMiBAQCBmb3IgZmV0Y2hpbmcgdGhlIGlnbm9yZWQgKHNraXBwZWQpIGVycm9yIGNv dW50IGFmdGVyCitAQCAtMTc5LDcgKzE3OSw3IEBAIGZvciBmZXRjaGluZyB0aGUgaWdub3JlZCAo c2tpcHBlZCkgZXJyb3IgY291bnQgYWZ0ZXIKICBvcgogIC5CUiBzZWxpbnV4X3Jlc3RvcmVjb25f cGFyYWxsZWwgKDMpCiAgY29tcGxldGVzIHdpdGggc3VjY2Vzcy4gSW4gY2FzZSBhbnkgZXJyb3Jz IHdlcmUgc2tpcHBlZCBkdXJpbmcgdGhlIGZpbGUgdHJlZQpAQCAtMTQ2LDYgKzE0Niw5IEBAIGlu ZGV4IDIxOGFhZjZkMmFlNS4uNWY2ZDRiMzg2NDI5IDEwMDY0NAogK3dhbGssIHRoZSBzcGVjZmls ZSBlbnRyaWVzIFNIQTI1NiBkaWdlc3Qgd2lsbCBub3QgaGF2ZSBiZWVuIHdyaXR0ZW4gdG8gdGhl CiAgLklSIHNlY3VyaXR5LnNlaGFzaAogIGV4dGVuZGVkIGF0dHJpYnV0ZS4KKyAuc3AKK0BAIC0x OTcsNyArMTk3LDcgQEAgVXNlIHRoaXMgb3B0aW9uIHdoZW4gcmVsYWJlbGluZyB1bnRydXN0ZWQg ZGlyZWN0b3JpZXMgdGhhdCBtaWdodAorIGNvbnRhaW4gaGFyZCBsaW5rcyB0byBmaWxlcyBvd25l ZCBieSBvdGhlcnMuCiAgLlJFCiAgLnNwCiAtVGhlIGJlaGF2aW9yIHJlZ2FyZGluZyB0aGUgY2hl Y2tpbmcgYW5kIHVwZGF0aW5nIG9mIHRoZSBTSEExIGRpZ2VzdCBkZXNjcmliZWQKQEAgLTE1Myw3 ICsxNTYsNyBAQCBpbmRleCAyMThhYWY2ZDJhZTUuLjVmNmQ0YjM4NjQyOSAxMDA2NDQKICBhYm92 ZSBpcyB0aGUgZGVmYXVsdCBiZWhhdmlvci4gSXQgaXMgcG9zc2libGUgdG8gY2hhbmdlIHRoaXMg YnkgZmlyc3QgY2FsbGluZwogIC5CUiBzZWxhYmVsX29wZW4gKDMpCiAgYW5kIG5vdCBlbmFibGlu ZyB0aGUKLUBAIC0yNDcsNyArMjQ3LDcgQEAgVG8gaW1wcm92ZSBwZXJmb3JtYW5jZSB3aGVuIHJl bGFiZWxpbmcgZmlsZSBzeXN0ZW1zIHJlY3Vyc2l2ZWx5IChlLmcuIHRoZQorQEAgLTI2MCw3ICsy NjAsNyBAQCBUbyBpbXByb3ZlIHBlcmZvcm1hbmNlIHdoZW4gcmVsYWJlbGluZyBmaWxlIHN5c3Rl bXMgcmVjdXJzaXZlbHkgKGUuZy4gdGhlCiAgLkIgU0VMSU5VWF9SRVNUT1JFQ09OX1JFQ1VSU0UK ICBmbGFnIGlzIHNldCkKICAuQlIgc2VsaW51eF9yZXN0b3JlY29uICgpCkBAIC0xNjIsNyArMTY1 LDcgQEAgaW5kZXggMjE4YWFmNmQyYWU1Li41ZjZkNGIzODY0MjkgMTAwNjQ0CiAgLkJSIHNlbGFi ZWxfZ2V0X2RpZ2VzdHNfYWxsX3BhcnRpYWxfbWF0Y2hlcyAoMykKICB0byBhbiBleHRlbmRlZCBh dHRyaWJ1dGUgbmFtZWQKICAuSVIgc2VjdXJpdHkuc2VoYXNoCi1AQCAtMjY5LDcgKzI2OSw3IEBA IFNob3VsZCBhbnkgb2YgdGhlIHNwZWNmaWxlIGVudHJpZXMgaGF2ZSBjaGFuZ2VkLCB0aGVuIHdo ZW4KK0BAIC0yODIsNyArMjgyLDcgQEAgU2hvdWxkIGFueSBvZiB0aGUgc3BlY2ZpbGUgZW50cmll cyBoYXZlIGNoYW5nZWQsIHRoZW4gd2hlbgogIC5CUiBzZWxpbnV4X3Jlc3RvcmVjb24gKCkKICBp cyBydW4gYWdhaW4gd2l0aCB0aGUKICAuQiBTRUxJTlVYX1JFU1RPUkVDT05fUkVDVVJTRQpAQCAt MTg1LDcgKzE4OCw3IEBAIGluZGV4IGM1NjMyNjgxNGI5NC4uMDk4Yzg0MGZjNTliIDEwMDY0NAog IC5CUiBzZWxhYmVsX29wZW4gKDMpCiAgbXVzdCBiZSBjYWxsZWQgc3BlY2lmeWluZyB0aGUgcmVx dWlyZWQKIGRpZmYgLS1naXQgYS9saWJzZWxpbnV4L3NyYy9NYWtlZmlsZSBiL2xpYnNlbGludXgv c3JjL01ha2VmaWxlCi1pbmRleCA0MWNmYmRjYTQ5MGMuLjY1OGE0YzNkODBlMCAxMDA2NDQKK2lu ZGV4IDllY2RiZDRkMGFmOC4uZmRlNTVjZDY4MWMyIDEwMDY0NAogLS0tIGEvbGlic2VsaW51eC9z cmMvTWFrZWZpbGUKICsrKyBiL2xpYnNlbGludXgvc3JjL01ha2VmaWxlCiBAQCAtMTMwLDcgKzEz MCw3IEBAIERJU0FCTEVfRkxBR1MrPSAtRE5PX01FRElBX0JBQ0tFTkQgLUROT19EQl9CQUNLRU5E IC1ETk9fWF9CQUNLRU5EIFwKQEAgLTE5OCwxMCArMjAxLDEwIEBAIGluZGV4IDQxY2ZiZGNhNDkw Yy4uNjU4YTRjM2Q4MGUwIDEwMDY0NAogIGVuZGlmCiAgCiBkaWZmIC0tZ2l0IGEvbGlic2VsaW51 eC9zcmMvbGFiZWxfZmlsZS5jIGIvbGlic2VsaW51eC9zcmMvbGFiZWxfZmlsZS5jCi1pbmRleCAx ODlhNWVkMjZlYjcuLjMxMmJiNTg0ZDZiNCAxMDA2NDQKK2luZGV4IDBjMDQ5OWViMDM2NS4uOTM4 YTBlMmE1ZmIzIDEwMDY0NAogLS0tIGEvbGlic2VsaW51eC9zcmMvbGFiZWxfZmlsZS5jCiArKysg Yi9saWJzZWxpbnV4L3NyYy9sYWJlbF9maWxlLmMKLUBAIC0xNzgwLDcgKzE3ODAsNyBAQCBzdGF0 aWMgc3RydWN0IGxvb2t1cF9yZXN1bHQgKmxvb2t1cF9jb21tb24oc3RydWN0IHNlbGFiZWxfaGFu ZGxlICpyZWMsCitAQCAtMjI0NCw3ICsyMjQ0LDcgQEAgc3RhdGljIHN0cnVjdCBsb29rdXBfcmVz dWx0ICpsb29rdXBfY29tbW9uKHN0cnVjdCBzZWxhYmVsX2hhbmRsZSAqcmVjLAogIAogIC8qCiAg ICogUmV0dXJucyB0cnVlIGlmIHRoZSBkaWdlc3Qgb2YgYWxsIHBhcnRpYWwgbWF0Y2hlZCBjb250 ZXh0cyBpcyB0aGUgc2FtZSBhcwpAQCAtMjEwLDcgKzIxMyw3IEBAIGluZGV4IDE4OWE1ZWQyNmVi Ny4uMzEyYmI1ODRkNmI0IDEwMDY0NAogICAqIGRpZ2VzdCB3aWxsIGFsd2F5cyBiZSByZXR1cm5l ZC4gVGhlIGNhbGxlciBtdXN0IGZyZWUgYW55IHJldHVybmVkIGRpZ2VzdHMuCiAgICovCiAgc3Rh dGljIGJvb2wgZ2V0X2RpZ2VzdHNfYWxsX3BhcnRpYWxfbWF0Y2hlcyhzdHJ1Y3Qgc2VsYWJlbF9o YW5kbGUgKnJlYywKLUBAIC0xNzg5LDM5ICsxNzg5LDM5IEBAIHN0YXRpYyBib29sIGdldF9kaWdl c3RzX2FsbF9wYXJ0aWFsX21hdGNoZXMoc3RydWN0IHNlbGFiZWxfaGFuZGxlICpyZWMsCitAQCAt MjI1Myw0MCArMjI1Myw0MCBAQCBzdGF0aWMgYm9vbCBnZXRfZGlnZXN0c19hbGxfcGFydGlhbF9t YXRjaGVzKHN0cnVjdCBzZWxhYmVsX2hhbmRsZSAqcmVjLAogIAkJCQkJICAgIHVpbnQ4X3QgKip4 YXR0cl9kaWdlc3QsCiAgCQkJCQkgICAgc2l6ZV90ICpkaWdlc3RfbGVuKQogIHsKQEAgLTIyMCwx MyArMjIzLDE3IEBAIGluZGV4IDE4OWE1ZWQyNmViNy4uMzEyYmI1ODRkNmI0IDEwMDY0NAogLQkJ CQkgICAgIHJlYWRfZGlnZXN0LCBTSEExX0hBU0hfU0laRQogKwkJCQkgICAgIHJlYWRfZGlnZXN0 LCBTSEEyNTZfSEFTSF9TSVpFCiAgI2lmZGVmIF9fQVBQTEVfXwotIAkJCQkgICAgICwgMCwgMAor IAkJCQkgICAgICwKKyAJCQkJICAgICAwLCAwCiAgI2VuZGlmIC8qIF9fQVBQTEUgX18gKi8KLSAJ CQkJICAgICk7CistCSk7CiAtCXVpbnQ4X3QgaGFzaF9kaWdlc3RbU0hBMV9IQVNIX1NJWkVdOwor LQlib29sIHN0YXR1cyA9CistCQlzZWxhYmVsX2hhc2hfYWxsX3BhcnRpYWxfbWF0Y2hlcyhyZWMs IHBhdGhuYW1lLCBoYXNoX2RpZ2VzdCk7CisrCQkJCSAgICApOwogKwl1aW50OF90IGhhc2hfZGln ZXN0W1NIQTI1Nl9IQVNIX1NJWkVdOwotIAlib29sIHN0YXR1cyA9IHNlbGFiZWxfaGFzaF9hbGxf cGFydGlhbF9tYXRjaGVzKHJlYywgcGF0aG5hbWUsCi0gCQkJCQkJICAgICAgIGhhc2hfZGlnZXN0 KTsKKysJYm9vbCBzdGF0dXMgPSBzZWxhYmVsX2hhc2hfYWxsX3BhcnRpYWxfbWF0Y2hlcyhyZWMs IHBhdGhuYW1lLAorKwkJCQkJCSAgICAgICBoYXNoX2RpZ2VzdCk7CiAgCiAgCSp4YXR0cl9kaWdl c3QgPSBOVUxMOwogIAkqY2FsY3VsYXRlZF9kaWdlc3QgPSBOVUxMOwpAQCAtMjU1LDEzICsyNjIs MTMgQEAgaW5kZXggMTg5YTVlZDI2ZWI3Li4zMTJiYjU4NGQ2YjQgMTAwNjQ0CiAgCX0KICAKIC0J aWYgKHN0YXR1cyAmJiByZWFkX3NpemUgPT0gU0hBMV9IQVNIX1NJWkUgJiYKLS0JCW1lbWNtcChy ZWFkX2RpZ2VzdCwgaGFzaF9kaWdlc3QsIFNIQTFfSEFTSF9TSVpFKSA9PSAwKQorLQkgICAgbWVt Y21wKHJlYWRfZGlnZXN0LCBoYXNoX2RpZ2VzdCwgU0hBMV9IQVNIX1NJWkUpID09IDApCiArCWlm IChzdGF0dXMgJiYgcmVhZF9zaXplID09IFNIQTI1Nl9IQVNIX1NJWkUgJiYKICsJCW1lbWNtcChy ZWFkX2RpZ2VzdCwgaGFzaF9kaWdlc3QsIFNIQTI1Nl9IQVNIX1NJWkUpID09IDApCiAgCQlyZXR1 cm4gdHJ1ZTsKICAKICAJcmV0dXJuIGZhbHNlOwotQEAgLTE4NDAsMjIgKzE4NDAsMjIgQEAgc3Rh dGljIGJvb2wgaGFzaF9hbGxfcGFydGlhbF9tYXRjaGVzKHN0cnVjdCBzZWxhYmVsX2hhbmRsZSAq cmVjLCBjb25zdCBjaGFyICprZXkKK0BAIC0yMzA3LDIyICsyMzA3LDIyIEBAIHN0YXRpYyBib29s IGhhc2hfYWxsX3BhcnRpYWxfbWF0Y2hlcyhzdHJ1Y3Qgc2VsYWJlbF9oYW5kbGUgKnJlYywKICAJ CXJldHVybiBmYWxzZTsKICAJfQogIApAQCAtMjcxLDkgKzI3OCw5IEBAIGluZGV4IDE4OWE1ZWQy NmViNy4uMzEyYmI1ODRkNmI0IDEwMDY0NAogKwlTaGEyNTZJbml0aWFsaXNlKCZjb250ZXh0KTsK ICAKICAJZm9yIChjb25zdCBzdHJ1Y3QgbG9va3VwX3Jlc3VsdCAqbSA9IG1hdGNoZXM7IG07IG0g PSBtLT5uZXh0KSB7Ci0gCQljb25zdCBjaGFyKiByZWdleF9zdHIgPSBtLT5yZWdleF9zdHI7Cisg CQljb25zdCBjaGFyICpyZWdleF9zdHIgPSBtLT5yZWdleF9zdHI7CiAgCQl1aW50OF90IGZpbGVf a2luZCA9IG0tPmZpbGVfa2luZDsKLSAJCWNvbnN0IGNoYXIqIGN0eF9yYXcgPSBtLT5sci0+Y3R4 X3JhdzsKKyAJCWNvbnN0IGNoYXIgKmN0eF9yYXcgPSBtLT5sci0+Y3R4X3JhdzsKICAKIC0JCVNo YTFVcGRhdGUoJmNvbnRleHQsIHJlZ2V4X3N0ciwgc3RybGVuKHJlZ2V4X3N0cikgKyAxKTsKIC0J CVNoYTFVcGRhdGUoJmNvbnRleHQsICZmaWxlX2tpbmQsIHNpemVvZihmaWxlX2tpbmQpKTsKQEAg LTI5Myw3ICszMDAsNyBAQCBpbmRleCAxODlhNWVkMjZlYjcuLjMxMmJiNTg0ZDZiNCAxMDA2NDQK ICAJZnJlZV9sb29rdXBfcmVzdWx0KG1hdGNoZXMpOwogIAlyZXR1cm4gdHJ1ZTsKIGRpZmYgLS1n aXQgYS9saWJzZWxpbnV4L3NyYy9sYWJlbF9pbnRlcm5hbC5oIGIvbGlic2VsaW51eC9zcmMvbGFi ZWxfaW50ZXJuYWwuaAotaW5kZXggNzQzZGJmOTQ3MmNmLi40MTgwZGY5MmY0MDUgMTAwNjQ0Citp bmRleCA0ZmYzOWQ5NmY5ZjUuLmRkNDI2YTgyNGNhYiAxMDA2NDQKIC0tLSBhL2xpYnNlbGludXgv c3JjL2xhYmVsX2ludGVybmFsLmgKICsrKyBiL2xpYnNlbGludXgvc3JjL2xhYmVsX2ludGVybmFs LmgKIEBAIC0xMyw3ICsxMyw3IEBACkBAIC0zMDUsNyArMzEyLDcgQEAgaW5kZXggNzQzZGJmOTQ3 MmNmLi40MTgwZGY5MmY0MDUgMTAwNjQ0CiAgCiAgI2lmIGRlZmluZWQoQU5EUk9JRCkgfHwgZGVm aW5lZChfX0FQUExFX18pCiAgLy8gQW5kcm9pZCBhbmQgTWFjIGRvIG5vdCBoYXZlIGZnZXRzX3Vu bG9ja2VkKCkKLUBAIC00NywxNSArNDcsMTUgQEAgaW50IHNlbGFiZWxfc2VydmljZV9pbml0KHN0 cnVjdCBzZWxhYmVsX2hhbmRsZSAqcmVjLAorQEAgLTQxLDE5ICs0MSwxOSBAQCBpbnQgc2VsYWJl bF9zZXJ2aWNlX2luaXQoc3RydWN0IHNlbGFiZWxfaGFuZGxlICpyZWMsCiAgICovCiAgCiAgLyoK QEAgLTMxOSwxMiArMzI2LDIwIEBAIGluZGV4IDc0M2RiZjk0NzJjZi4uNDE4MGRmOTJmNDA1IDEw MDY0NAogKyNkZWZpbmUgRElHRVNUX1NQRUNGSUxFX1NJWkUgU0hBMjU2X0hBU0hfU0laRQogICNk ZWZpbmUgRElHRVNUX0ZJTEVTX01BWCA4CiAgc3RydWN0IHNlbGFiZWxfZGlnZXN0IHsKLS0JdW5z aWduZWQgY2hhciAqZGlnZXN0OwkvKiBTSEExIGRpZ2VzdCBvZiBzcGVjZmlsZXMgKi8KKy0JdW5z aWduZWQgY2hhciAqZGlnZXN0OyAvKiBTSEExIGRpZ2VzdCBvZiBzcGVjZmlsZXMgKi8KKy0JdW5z aWduZWQgY2hhciAqaGFzaGJ1ZjsgLyogYnVmZmVyIHRvIGhvbGQgc3BlY2ZpbGVzICovCistCXNp emVfdCBoYXNoYnVmX3NpemU7IC8qIGJ1ZmZlciBzaXplICovCistCXNpemVfdCBzcGVjZmlsZV9j bnQ7IC8qIGhvdyBtYW55IHNwZWNmaWxlcyBwcm9jZXNzZWQgKi8KKy0JY2hhciAqKnNwZWNmaWxl X2xpc3Q7IC8qIGFuZCB0aGVpciBuYW1lcyAqLwogKwl1bnNpZ25lZCBjaGFyICpkaWdlc3Q7CS8q IFNIQTI1NiBkaWdlc3Qgb2Ygc3BlY2ZpbGVzICovCi0gCXVuc2lnbmVkIGNoYXIgKmhhc2hidWY7 CS8qIGJ1ZmZlciB0byBob2xkIHNwZWNmaWxlcyAqLwotIAlzaXplX3QgaGFzaGJ1Zl9zaXplOwkv KiBidWZmZXIgc2l6ZSAqLwotIAlzaXplX3Qgc3BlY2ZpbGVfY250OwkvKiBob3cgbWFueSBzcGVj ZmlsZXMgcHJvY2Vzc2VkICovCi1AQCAtMTExLDcgKzExMSw3IEBAIHN0cnVjdCBzZWxhYmVsX2hh bmRsZSB7CisrCXVuc2lnbmVkIGNoYXIgKmhhc2hidWY7CS8qIGJ1ZmZlciB0byBob2xkIHNwZWNm aWxlcyAqLworKwlzaXplX3QgaGFzaGJ1Zl9zaXplOwkvKiBidWZmZXIgc2l6ZSAqLworKwlzaXpl X3Qgc3BlY2ZpbGVfY250OwkvKiBob3cgbWFueSBzcGVjZmlsZXMgcHJvY2Vzc2VkICovCisrCWNo YXIgKipzcGVjZmlsZV9saXN0OwkvKiBhbmQgdGhlaXIgbmFtZXMgKi8KKyB9OworIAorIGV4dGVy biBpbnQgZGlnZXN0X2FkZF9zcGVjZmlsZShzdHJ1Y3Qgc2VsYWJlbF9kaWdlc3QgKmRpZ2VzdCwg RklMRSAqZnAsCitAQCAtMTAxLDcgKzEwMSw3IEBAIHN0cnVjdCBzZWxhYmVsX2hhbmRsZSB7CiAg CSAqLwogIAljaGFyICpzcGVjX2ZpbGU7CiAgCkBAIC0zMzQsMzMgKzM0OSwzNyBAQCBpbmRleCA3 NDNkYmY5NDcyY2YuLjQxODBkZjkyZjQwNSAxMDA2NDQKICB9OwogIAogZGlmZiAtLWdpdCBhL2xp YnNlbGludXgvc3JjL2xhYmVsX3N1cHBvcnQuYyBiL2xpYnNlbGludXgvc3JjL2xhYmVsX3N1cHBv cnQuYwotaW5kZXggOTc4YmE4MjhjMTU5Li5kYWJhMjY5NDFhZTcgMTAwNjQ0CitpbmRleCBjYzVj Mjc5ZTg4ZmEuLmFlYTVlZDE5YjQ1YSAxMDA2NDQKIC0tLSBhL2xpYnNlbGludXgvc3JjL2xhYmVs X3N1cHBvcnQuYwogKysrIGIvbGlic2VsaW51eC9zcmMvbGFiZWxfc3VwcG9ydC5jCi1AQCAtMTIw LDcgKzEyMCw3IEBAIGludCAgcmVhZF9zcGVjX2VudHJpZXMoY2hhciAqbGluZV9idWYsIHNpemVf dCBucmVhZCwgY29uc3QgY2hhciAqKmVycmJ1ZiwgaW50IG51CitAQCAtMTMxLDI4ICsxMzEsMjcg QEAgaW50IHJlYWRfc3BlY19lbnRyaWVzKGNoYXIgKmxpbmVfYnVmLCBzaXplX3QgbnJlYWQsIGNv bnN0IGNoYXIgKiplcnJidWYsCiAgLyogT25jZSBhbGwgdGhlIHNwZWNmaWxlcyBhcmUgaW4gdGhl IGhhc2hfYnVmLCBnZW5lcmF0ZSB0aGUgaGFzaC4gKi8KLSB2b2lkICBkaWdlc3RfZ2VuX2hhc2go c3RydWN0IHNlbGFiZWxfZGlnZXN0ICpkaWdlc3QpCisgdm9pZCBkaWdlc3RfZ2VuX2hhc2goc3Ry dWN0IHNlbGFiZWxfZGlnZXN0ICpkaWdlc3QpCiAgewogLQlTaGExQ29udGV4dCBjb250ZXh0Owog KwlTaGEyNTZDb250ZXh0IGNvbnRleHQ7CiAgCXNpemVfdCByZW1haW5pbmdfc2l6ZTsKICAJY29u c3QgdW5zaWduZWQgY2hhciAqcHRyOworLQljb25zdCB1aW50MzJfdCBjaHVua1NpemUgPSBVSU5U MzJfTUFYID4+IDM7CiAgCi1AQCAtMTI4LDE5ICsxMjgsMTkgQEAgdm9pZCAgZGlnZXN0X2dlbl9o YXNoKHN0cnVjdCBzZWxhYmVsX2RpZ2VzdCAqZGlnZXN0KQorIAkvKiBJZiBTRUxBQkVMX09QVF9E SUdFU1Qgbm90IHNldCB0aGVuIGp1c3QgcmV0dXJuICovCiAgCWlmICghZGlnZXN0KQogIAkJcmV0 dXJuOwogIAogLQlTaGExSW5pdGlhbGlzZSgmY29udGV4dCk7CiArCVNoYTI1NkluaXRpYWxpc2Uo JmNvbnRleHQpOwogIAotIAkvKiBQcm9jZXNzIGluIGJsb2NrcyBvZiBVSU5UMzJfTUFYIGJ5dGVz ICovCisgCS8qIFByb2Nlc3MgaW4gYmxvY2tzIG9mIGNodW5rU2l6ZSBieXRlcyAqLwogIAlyZW1h aW5pbmdfc2l6ZSA9IGRpZ2VzdC0+aGFzaGJ1Zl9zaXplOwogIAlwdHIgPSBkaWdlc3QtPmhhc2hi dWY7Ci0gCXdoaWxlIChyZW1haW5pbmdfc2l6ZSA+IFVJTlQzMl9NQVgpIHsKLS0JCVNoYTFVcGRh dGUoJmNvbnRleHQsIHB0ciwgVUlOVDMyX01BWCk7CistCXdoaWxlIChyZW1haW5pbmdfc2l6ZSA+ IGNodW5rU2l6ZSkgeworLQkJU2hhMVVwZGF0ZSgmY29udGV4dCwgcHRyLCBjaHVua1NpemUpOwor LQkJcmVtYWluaW5nX3NpemUgLT0gY2h1bmtTaXplOworLQkJcHRyICs9IGNodW5rU2l6ZTsKKysJ d2hpbGUgKHJlbWFpbmluZ19zaXplID4gVUlOVDMyX01BWCkgewogKwkJU2hhMjU2VXBkYXRlKCZj b250ZXh0LCBwdHIsIFVJTlQzMl9NQVgpOwotIAkJcmVtYWluaW5nX3NpemUgLT0gVUlOVDMyX01B WDsKLSAJCXB0ciArPSBVSU5UMzJfTUFYOworKwkJcmVtYWluaW5nX3NpemUgLT0gVUlOVDMyX01B WDsKKysJCXB0ciArPSBVSU5UMzJfTUFYOwogIAl9CiAtCVNoYTFVcGRhdGUoJmNvbnRleHQsIHB0 ciwgcmVtYWluaW5nX3NpemUpOwogKwlTaGEyNTZVcGRhdGUoJmNvbnRleHQsIHB0ciwgcmVtYWlu aW5nX3NpemUpOwpAQCAtMzcxLDE5ICszOTAsMTkgQEAgaW5kZXggOTc4YmE4MjhjMTU5Li5kYWJh MjY5NDFhZTcgMTAwNjQ0CiAgCWRpZ2VzdC0+aGFzaGJ1ZiA9IE5VTEw7CiAgfQogZGlmZiAtLWdp dCBhL2xpYnNlbGludXgvc3JjL3NlbGludXhfcmVzdG9yZWNvbi5jIGIvbGlic2VsaW51eC9zcmMv c2VsaW51eF9yZXN0b3JlY29uLmMKLWluZGV4IGJjNmVkOTM1YTRhZC4uOTNiZDc3NzkyNDliIDEw MDY0NAoraW5kZXggYjM0ZDhlNjBiYjViLi5kNDhkNWE4M2VkNmUgMTAwNjQ0CiAtLS0gYS9saWJz ZWxpbnV4L3NyYy9zZWxpbnV4X3Jlc3RvcmVjb24uYwogKysrIGIvbGlic2VsaW51eC9zcmMvc2Vs aW51eF9yZXN0b3JlY29uLmMKLUBAIC0zNyw3ICszNyw3IEBACitAQCAtMzgsNyArMzgsNyBAQAog ICNpbmNsdWRlICJjYWxsYmFja3MuaCIKICAjaW5jbHVkZSAic2VsaW51eF9pbnRlcm5hbC5oIgog ICNpbmNsdWRlICJsYWJlbF9maWxlLmgiCiAtI2luY2x1ZGUgInNoYTEuaCIKICsjaW5jbHVkZSAi c2hhMjU2LmgiCiAgCi0gI2RlZmluZSBTVEFSX0NPVU5UIDEwMjQKLSAKLUBAIC0zMDYsNyArMzA2 LDcgQEAgc3RhdGljIHVpbnQ2NF90IGV4Y2x1ZGVfbm9uX3NlY2xhYmVsX21vdW50cyh2b2lkKQor IHN0YXRpYyBzdHJ1Y3Qgc2VsYWJlbF9oYW5kbGUgKmZjX3NlaGFuZGxlID0gTlVMTDsKKyBzdGF0 aWMgYm9vbCBzZWxhYmVsX25vX2RpZ2VzdDsKK0BAIC0zNjAsNyArMzYwLDcgQEAgc3RhdGljIHVp bnQ2NF90IGV4Y2x1ZGVfbm9uX3NlY2xhYmVsX21vdW50cyh2b2lkKQogIHN0YXRpYyBpbnQgYWRk X3hhdHRyX2VudHJ5KGNvbnN0IGNoYXIgKmRpcmVjdG9yeSwgYm9vbCBkZWxldGVfbm9ubWF0Y2gs CiAgCQkJICAgYm9vbCBkZWxldGVfYWxsKQogIHsKQEAgLTM5Miw3ICs0MTEsNyBAQCBpbmRleCBi YzZlZDkzNWE0YWQuLjkzYmQ3Nzc5MjQ5YiAxMDA2NDQKICAJc2l6ZV90IGksIGRpZ2VzdF9sZW4g PSAwOwogIAlpbnQgcmM7CiAgCWVudW0gZGlnZXN0X3Jlc3VsdCBkaWdlc3RfcmVzdWx0OwotQEAg LTMzMCwxNSArMzMwLDE1IEBAIHN0YXRpYyBpbnQgYWRkX3hhdHRyX2VudHJ5KGNvbnN0IGNoYXIg KmRpcmVjdG9yeSwgYm9vbCBkZWxldGVfbm9ubWF0Y2gsCitAQCAtMzg1LDE1ICszODUsMTUgQEAg c3RhdGljIGludCBhZGRfeGF0dHJfZW50cnkoY29uc3QgY2hhciAqZGlyZWN0b3J5LCBib29sIGRl bGV0ZV9ub25tYXRjaCwKICAJfQogIAogIAkvKiBDb252ZXJ0IGVudHJ5IHRvIGEgaGV4IGVuY29k ZWQgc3RyaW5nLiAqLwpAQCAtNDExLDcgKzQzMCw3IEBAIGluZGV4IGJjNmVkOTM1YTRhZC4uOTNi ZDc3NzkyNDliIDEwMDY0NAogIAogIAlkaWdlc3RfcmVzdWx0ID0gbWF0Y2ggPyBNQVRDSCA6IE5P TUFUQ0g7CiAgCi1AQCAtMzU4LDcgKzM1OCw3IEBAIHN0YXRpYyBpbnQgYWRkX3hhdHRyX2VudHJ5 KGNvbnN0IGNoYXIgKmRpcmVjdG9yeSwgYm9vbCBkZWxldGVfbm9ubWF0Y2gsCitAQCAtNDE0LDcg KzQxNCw3IEBAIHN0YXRpYyBpbnQgYWRkX3hhdHRyX2VudHJ5KGNvbnN0IGNoYXIgKmRpcmVjdG9y eSwgYm9vbCBkZWxldGVfbm9ubWF0Y2gsCiAgCS8qIE5vdyBhZGQgZW50cmllcyB0byBsaW5rIGxp c3QuICovCiAgCW5ld19lbnRyeSA9IG1hbGxvYyhzaXplb2Yoc3RydWN0IGRpcl94YXR0cikpOwog IAlpZiAoIW5ld19lbnRyeSkgewpAQCAtNDIwLDcgKzQzOSw3IEBAIGluZGV4IGJjNmVkOTM1YTRh ZC4uOTNiZDc3NzkyNDliIDEwMDY0NAogIAkJZ290byBvb207CiAgCX0KICAJbmV3X2VudHJ5LT5u ZXh0ID0gTlVMTDsKLUBAIC0zNjYsMTUgKzM2NiwxNSBAQCBzdGF0aWMgaW50IGFkZF94YXR0cl9l bnRyeShjb25zdCBjaGFyICpkaXJlY3RvcnksIGJvb2wgZGVsZXRlX25vbm1hdGNoLAorQEAgLTQy MiwxMSArNDIyLDE3IEBAIHN0YXRpYyBpbnQgYWRkX3hhdHRyX2VudHJ5KGNvbnN0IGNoYXIgKmRp cmVjdG9yeSwgYm9vbCBkZWxldGVfbm9ubWF0Y2gsCiAgCW5ld19lbnRyeS0+ZGlyZWN0b3J5ID0g c3RyZHVwKGRpcmVjdG9yeSk7CiAgCWlmICghbmV3X2VudHJ5LT5kaXJlY3RvcnkpIHsKICAJCWZy ZWUobmV3X2VudHJ5KTsKQEAgLTQyOSw0OSArNDQ4LDExMiBAQCBpbmRleCBiYzZlZDkzNWE0YWQu LjkzYmQ3Nzc5MjQ5YiAxMDA2NDQKICAJCWdvdG8gb29tOwogIAl9CiAgCi0tCW5ld19lbnRyeS0+ ZGlnZXN0ID0gc3RyZHVwKHNoYTFfYnVmKTsKKy0JbmV3X2VudHJ5LT5kaWdlc3QgPSBzaGExX2J1 ZjsKICsJbmV3X2VudHJ5LT5kaWdlc3QgPSBzdHJkdXAoc2hhMjU2X2J1Zik7Ci0gCWlmICghbmV3 X2VudHJ5LT5kaWdlc3QpIHsKLSAJCWZyZWUobmV3X2VudHJ5LT5kaXJlY3RvcnkpOwotIAkJZnJl ZShuZXdfZW50cnkpOwotLQkJZnJlZShzaGExX2J1Zik7CisrCWlmICghbmV3X2VudHJ5LT5kaWdl c3QpIHsKKysJCWZyZWUobmV3X2VudHJ5LT5kaXJlY3RvcnkpOworKwkJZnJlZShuZXdfZW50cnkp OwogKwkJZnJlZShzaGEyNTZfYnVmKTsKLSAJCWdvdG8gb29tOwotIAl9CisrCQlnb3RvIG9vbTsK KysJfQogIAotQEAgLTM4OCw3ICszODgsNyBAQCBzdGF0aWMgaW50IGFkZF94YXR0cl9lbnRyeShj b25zdCBjaGFyICpkaXJlY3RvcnksIGJvb2wgZGVsZXRlX25vbm1hdGNoLAorIAluZXdfZW50cnkt PnJlc3VsdCA9IGRpZ2VzdF9yZXN1bHQ7CisgCitAQCAtNDM3LDcgKzQ0Myw3IEBAIHN0YXRpYyBp bnQgYWRkX3hhdHRyX2VudHJ5KGNvbnN0IGNoYXIgKmRpcmVjdG9yeSwgYm9vbCBkZWxldGVfbm9u bWF0Y2gsCisgCQlkaXJfeGF0dHJfbGFzdC0+bmV4dCA9IG5ld19lbnRyeTsKICAJCWRpcl94YXR0 cl9sYXN0ID0gbmV3X2VudHJ5OwogIAl9Ci0gCi0tCWZyZWUoc2hhMV9idWYpOworLQogKwlmcmVl KHNoYTI1Nl9idWYpOwogIAlyZXR1cm4gMDsKICAKICBvb206Ci1AQCAtNzc4LDcgKzc3OCw3IEBA IGVycjoKK0BAIC04OTEsNiArODk3LDExIEBAIGVycjoKKyAJZ290byBvdXQxOworIH0KKyAKKytz dHJ1Y3QgZGlyX2hhc2hfbm9kZSB7CisrCWNoYXIgKnBhdGg7CisrCXVpbnQ4X3QgZGlnZXN0W1NI QTI1Nl9IQVNIX1NJWkVdOworKwlzdHJ1Y3QgZGlyX2hhc2hfbm9kZSAqbmV4dDsKKyt9OworIC8q CisgICogUmV0dXJucyB0cnVlIGlmIHRoZSBkaWdlc3Qgb2YgYWxsIHBhcnRpYWwgbWF0Y2hlZCBj b250ZXh0cyBpcyB0aGUgc2FtZSBhcworICAqIHRoZSBvbmUgc2F2ZWQgYnkgc2V0eGF0dHIuIE90 aGVyd2lzZSByZXR1cm5zIGZhbHNlIGFuZCBzZXRzIEBoYXZlX2RpZ2VzdAorQEAgLTg5OCw3ICs5 MDksNyBAQCBlcnI6CisgICogcmVsYWJlbGluZyB0aGlzIGRpcmVjdG9yeS4KKyAgKi8KKyBzdGF0 aWMgYm9vbCBjaGVja19jb250ZXh0X21hdGNoX2Zvcl9kaXIoY29uc3QgY2hhciAqcGF0aG5hbWUs CistCQkJCQl1aW50OF90IGRpZ2VzdF9vdXRbU0hBMV9IQVNIX1NJWkVdLAorKwkJCQkJdWludDhf dCBkaWdlc3Rfb3V0W1NIQTI1Nl9IQVNIX1NJWkVdLAorIAkJCQkJYm9vbCAqaGF2ZV9kaWdlc3Qp CisgeworIAlib29sIHN0YXR1czsKK0BAIC05MTgsOCArOTI5LDggQEAgc3RhdGljIGJvb2wgY2hl Y2tfY29udGV4dF9tYXRjaF9mb3JfZGlyKGNvbnN0IGNoYXIgKnBhdGhuYW1lLAogIAotIHN0cnVj dCBkaXJfaGFzaF9ub2RlIHsKLSAJY2hhciAqcGF0aDsKKyAJLyogU2F2ZSBkaWdlc3Qgb2YgYWxs IG1hdGNoZWQgY29udGV4dHMgZm9yIHRoZSBjdXJyZW50IGRpcmVjdG9yeS4gKi8KKyAJaWYgKGNh bGN1bGF0ZWRfZGlnZXN0KSB7CistCQlhc3NlcnQoZGlnZXN0X2xlbiA9PSBTSEExX0hBU0hfU0la RSk7CistCQltZW1jcHkoZGlnZXN0X291dCwgY2FsY3VsYXRlZF9kaWdlc3QsIFNIQTFfSEFTSF9T SVpFKTsKKysJCWFzc2VydChkaWdlc3RfbGVuID09IFNIQTI1Nl9IQVNIX1NJWkUpOworKwkJbWVt Y3B5KGRpZ2VzdF9vdXQsIGNhbGN1bGF0ZWRfZGlnZXN0LCBTSEEyNTZfSEFTSF9TSVpFKTsKKyAJ CSpoYXZlX2RpZ2VzdCA9IHRydWU7CisgCX0KKyAKK0BAIC05MzQsNyArOTQ1LDcgQEAgc3RydWN0 IHdhbGtfbGV2ZWwgeworIAlkZXZfdCBkZXY7CisgCWlub190IGlubzsKKyAJc2l6ZV90IHBhdGhs ZW47CiAtCXVpbnQ4X3QgZGlnZXN0W1NIQTFfSEFTSF9TSVpFXTsKICsJdWludDhfdCBkaWdlc3Rb U0hBMjU2X0hBU0hfU0laRV07Ci0gCXN0cnVjdCBkaXJfaGFzaF9ub2RlICpuZXh0OworIAlib29s IHdyaXRlX2RpZ2VzdDsKICB9OwotIC8qCi1AQCAtMTI4NCw3ICsxMjg0LDcgQEAgc3RhdGljIGlu dCBzZWxpbnV4X3Jlc3RvcmVjb25fY29tbW9uKGNvbnN0IGNoYXIgKnBhdGhuYW1lX29yaWcsCi0g CQkJaWYgKHNldHhhdHRyKGN1cnJlbnQtPnBhdGgsCi0gCQkJICAgIFJFU1RPUkVDT05fUEFSVElB TF9NQVRDSF9ESUdFU1QsCi0gCQkJICAgIGN1cnJlbnQtPmRpZ2VzdCwKLS0JCQkgICAgU0hBMV9I QVNIX1NJWkUsIDApIDwgMCkgewotKwkJCSAgICBTSEEyNTZfSEFTSF9TSVpFLCAwKSA8IDApIHsK KyAKK0BAIC0xMjI3LDcgKzEyMzgsNyBAQCBzdGF0aWMgaW50IHdhbGtfbmV4dChzdHJ1Y3QgcmVz dF9zdGF0ZSAqc3RhdGUsIGludCAqZW50X2ZkLCBpbnQgKnJkX2ZkLAorIAkJCSAgICAhc3RhdGUt PnNraXBwZWRfZXJyb3JzICYmCisgCQkJICAgIGZzZXR4YXR0cihkaXJmZCh0b3AtPmRpcnApLAor IAkJCQkgICAgICBSRVNUT1JFQ09OX1BBUlRJQUxfTUFUQ0hfRElHRVNULAorLQkJCQkgICAgICB0 b3AtPmRpZ2VzdCwgU0hBMV9IQVNIX1NJWkUsIDApIDwgMCkgeworKwkJCQkgICAgICB0b3AtPmRp Z2VzdCwgU0hBMjU2X0hBU0hfU0laRSwgMCkgPCAwKSB7CiAgCQkJCXNlbGludXhfbG9nKFNFTElO VVhfRVJST1IsCi0gCQkJCQkgICAgInNldHhhdHRyIGZhaWxlZDogJXM6ICVtXG4iLAotIAkJCQkJ ICAgIGN1cnJlbnQtPnBhdGgpOworIAkJCQkJICAgICJDb3VsZCBub3Qgc2V0IGRpZ2VzdCBvbiAl czogJW1cbiIsCisgCQkJCQkgICAgc3RhdGUtPnBhdGhidWYpOworQEAgLTEzOTgsNyArMTQwOSw3 IEBAIHN0YXRpYyB2b2lkICpzZWxpbnV4X3Jlc3RvcmVjb25fdGhyZWFkKHZvaWQgKmFyZykKKyAJ CQkJY29udGludWU7CisgCQkJfQorIAorLQkJCXVpbnQ4X3QgZGlnZXN0W1NIQTFfSEFTSF9TSVpF XTsKKysJCQl1aW50OF90IGRpZ2VzdFtTSEEyNTZfSEFTSF9TSVpFXTsKKyAJCQlib29sIGhhdmVf ZGlnZXN0ID0gZmFsc2U7CisgCisgCQkJaWYgKGRlc2NlbmQgJiYgc3RhdGUtPnNldHJlc3RvcmVj b25kaWdlc3QgJiYKK0BAIC0xNDMwLDcgKzE0NDEsNyBAQCBzdGF0aWMgdm9pZCAqc2VsaW51eF9y ZXN0b3JlY29uX3RocmVhZCh2b2lkICphcmcpCisgCQkJCQkJJnN0YXRlLT5zdGFja1tzdGF0ZS0+ ZGVwdGggLSAxXTsKKyAKKyAJCQkJCW1lbWNweSh3bC0+ZGlnZXN0LCBkaWdlc3QsCistCQkJCQkg ICAgICAgU0hBMV9IQVNIX1NJWkUpOworKwkJCQkJICAgICAgIFNIQTI1Nl9IQVNIX1NJWkUpOwor IAkJCQkJd2wtPndyaXRlX2RpZ2VzdCA9IHRydWU7CisgCQkJCX0KKyAJCQl9CitAQCAtMTc2OCw2 ICsxNzc5LDExIEBAIHN0YXRpYyBpbnQgc2VsaW51eF9yZXN0b3JlY29uX2NvbW1vbihjb25zdCBj aGFyICpwYXRobmFtZV9vcmlnLAorIAlpZiAoc3RhdGUuc2F2ZWRfZXJybm8pCisgCQlnb3RvIG91 dDsKKyAKKysJLyoKKysJICogTm90ZTogRGlnZXN0IHdyaXRpbmcgbm93IGhhcHBlbnMgaW4gd2Fs a19wb3AoKSBkdXJpbmcgdHJhdmVyc2FsLAorKwkgKiBub3QgYXQgdGhlIGVuZC4gVGhpcyBGVFMt YmFzZWQgY29kZSBpcyBvYnNvbGV0ZS4KKysJICovCisrCisgCXNraXBwZWRfZXJyb3JzID0gc3Rh dGUuc2tpcHBlZF9lcnJvcnM7CisgCisgb3V0OgogZGlmZiAtLWdpdCBhL2xpYnNlbGludXgvc3Jj L3NoYTEuYyBiL2xpYnNlbGludXgvc3JjL3NoYTEuYwogZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0 Ci1pbmRleCA0NTJiMGNjMmFkNWEuLjAwMDAwMDAwMDAwMAoraW5kZXggMjc5NjI1ZWUxNzdmLi4w MDAwMDAwMDAwMDAKIC0tLSBhL2xpYnNlbGludXgvc3JjL3NoYTEuYwogKysrIC9kZXYvbnVsbAot QEAgLTEsMjIzICswLDAgQEAKK0BAIC0xLDI4NCArMCwwIEBACiAtLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KIC0vLyAgTGliU2hh MQogLS8vCkBAIC01MDYsMTAgKzU4OCw5IEBAIGluZGV4IDQ1MmIwY2MyYWQ1YS4uMDAwMDAwMDAw MDAwCiAtLy8gIFRZUEVTCiAtLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KIC0KLS10eXBlZGVmIHVuaW9uCi0tewotLSAgICB1aW50 OF90ICAgICBjIFs2NF07Ci0tICAgIHVpbnQzMl90ICAgIGwgWzE2XTsKKy10eXBlZGVmIHVuaW9u IHsKKy0JdWludDhfdCBjWzY0XTsKKy0JdWludDMyX3QgbFsxNl07CiAtfSBDSEFSNjRMT05HMTY7 CiAtCiAtLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8KQEAgLTUxOSw3OSArNjAwLDE1NyBAQCBpbmRleCA0NTJiMGNjMmFkNWEuLjAw MDAwMDAwMDAwMAogLSNkZWZpbmUgcm9sKHZhbHVlLCBiaXRzKSAoKCh2YWx1ZSkgPDwgKGJpdHMp KSB8ICgodmFsdWUpID4+ICgzMiAtIChiaXRzKSkpKQogLQogLS8vIGJsazAoKSBhbmQgYmxrKCkg cGVyZm9ybSB0aGUgaW5pdGlhbCBleHBhbmQuCi0tI2RlZmluZSBibGswKGkpIChibG9jay0+bFtp XSA9IChyb2woYmxvY2stPmxbaV0sMjQpJjB4RkYwMEZGMDApIFwKLS0gICAgfChyb2woYmxvY2st PmxbaV0sOCkmMHgwMEZGMDBGRikpCistI2RlZmluZSBibGswKGkpICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0JKGJsb2NrLT5sW2ldID0gKHJvbChibG9j ay0+bFtpXSwgMjQpICYgMHhGRjAwRkYwMCkgfCBcCistCQkgICAgICAgKHJvbChibG9jay0+bFtp XSwgOCkgJiAweDAwRkYwMEZGKSkKIC0KLS0jZGVmaW5lIGJsayhpKSAoYmxvY2stPmxbaSYxNV0g PSByb2woYmxvY2stPmxbKGkrMTMpJjE1XV5ibG9jay0+bFsoaSs4KSYxNV0gXAotLSAgICBeYmxv Y2stPmxbKGkrMikmMTVdXmJsb2NrLT5sW2kmMTVdLDEpKQorLSNkZWZpbmUgYmxrKGkpICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0J KGJsb2NrLT5sW2kgJiAxNV0gPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKKy0JCSByb2woYmxvY2stPmxbKGkgKyAxMykgJiAxNV0gXiBibG9jay0+bFsoaSAr IDgpICYgMTVdIF4gXAorLQkJCSAgICAgYmxvY2stPmxbKGkgKyAyKSAmIDE1XSBeIGJsb2NrLT5s W2kgJiAxNV0sIFwKKy0JCSAgICAgMSkpCiAtCiAtLy8gKFIwK1IxKSwgUjIsIFIzLCBSNCBhcmUg dGhlIGRpZmZlcmVudCBvcGVyYXRpb25zIHVzZWQgaW4gU0hBMQotLSNkZWZpbmUgUjAodix3LHgs eSx6LGkpICBkbyB7IHogKz0gKCh3Jih4XnkpKV55KSAgICAgKyBibGswKGkpKyAweDVBODI3OTk5 ICsgcm9sKHYsNSk7IHc9cm9sKHcsMzApOyB9IHdoaWxlICgwKQotLSNkZWZpbmUgUjEodix3LHgs eSx6LGkpICBkbyB7IHogKz0gKCh3Jih4XnkpKV55KSAgICAgKyBibGsoaSkgKyAweDVBODI3OTk5 ICsgcm9sKHYsNSk7IHc9cm9sKHcsMzApOyB9IHdoaWxlICgwKQotLSNkZWZpbmUgUjIodix3LHgs eSx6LGkpICBkbyB7IHogKz0gKHdeeF55KSAgICAgICAgICAgKyBibGsoaSkgKyAweDZFRDlFQkEx ICsgcm9sKHYsNSk7IHc9cm9sKHcsMzApOyB9IHdoaWxlICgwKQotLSNkZWZpbmUgUjModix3LHgs eSx6LGkpICBkbyB7IHogKz0gKCgod3x4KSZ5KXwodyZ4KSkgKyBibGsoaSkgKyAweDhGMUJCQ0RD ICsgcm9sKHYsNSk7IHc9cm9sKHcsMzApOyB9IHdoaWxlICgwKQotLSNkZWZpbmUgUjQodix3LHgs eSx6LGkpICBkbyB7IHogKz0gKHdeeF55KSAgICAgICAgICAgKyBibGsoaSkgKyAweENBNjJDMUQ2 ICsgcm9sKHYsNSk7IHc9cm9sKHcsMzApOyB9IHdoaWxlICgwKQotLQorLSNkZWZpbmUgUjAodiwg dywgeCwgeSwgeiwgaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAorLQlkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCistCQl6ICs9ICgodyAmICh4IF4geSkpIF4geSkgKyBi bGswKGkpICsgMHg1QTgyNzk5OSArIHJvbCh2LCA1KTsgXAorLQkJdyA9IHJvbCh3LCAzMCk7ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0JfSB3aGlsZSAo MCkKKy0jZGVmaW5lIFIxKHYsIHcsIHgsIHksIHosIGkpICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXAorLQlkbyB7ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0JCXogKz0gKCh3ICYg KHggXiB5KSkgXiB5KSArIGJsayhpKSArIDB4NUE4Mjc5OTkgKyByb2wodiwgNSk7IFwKKy0JCXcg PSByb2wodywgMzApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFwKKy0JfSB3aGlsZSAoMCkKKy0jZGVmaW5lIFIyKHYsIHcsIHgsIHksIHosIGkpICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0JZG8geyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLQkJeiArPSAodyBeIHgg XiB5KSArIGJsayhpKSArIDB4NkVEOUVCQTEgKyByb2wodiwgNSk7IFwKKy0JCXcgPSByb2wodywg MzApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistCX0gd2hpbGUgKDAp CistI2RlZmluZSBSMyh2LCB3LCB4LCB5LCB6LCBpKSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCistCWRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0JCXogKz0gKCgodyB8IHgpICYgeSkgfCAo dyAmIHgpKSArIGJsayhpKSArIDB4OEYxQkJDREMgKyBcCistCQkgICAgIHJvbCh2LCA1KTsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLQkJdyA9IHJvbCh3LCAzMCk7 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0JfSB3aGlsZSAoMCkK Ky0jZGVmaW5lIFI0KHYsIHcsIHgsIHksIHosIGkpICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFwKKy0JZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXAorLQkJeiArPSAodyBeIHggXiB5KSArIGJsayhpKSArIDB4 Q0E2MkMxRDYgKyByb2wodiwgNSk7IFwKKy0JCXcgPSByb2wodywgMzApOyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCistCX0gd2hpbGUgKDApCiAtCiAtLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KIC0vLyAg VHJhbnNmb3JtRnVuY3Rpb24KIC0vLwogLS8vICBIYXNoIGEgc2luZ2xlIDUxMi1iaXQgYmxvY2su IFRoaXMgaXMgdGhlIGNvcmUgb2YgdGhlIGFsZ29yaXRobQogLS8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0taWdub3JlX3Vuc2ln bmVkX292ZXJmbG93XwotLXN0YXRpYwotLXZvaWQKLS0gICAgVHJhbnNmb3JtRnVuY3Rpb24KLS0g ICAgKAotLSAgICAgICAgdWludDMyX3QgICAgICAgICAgICBzdGF0ZVs1XSwKLS0gICAgICAgIGNv bnN0IHVpbnQ4X3QgICAgICAgYnVmZmVyWzY0XQotLSAgICApCistaWdub3JlX3Vuc2lnbmVkX292 ZXJmbG93XyBzdGF0aWMgdm9pZAorLVRyYW5zZm9ybUZ1bmN0aW9uKHVpbnQzMl90IHN0YXRlWzVd LCBjb25zdCB1aW50OF90IGJ1ZmZlcls2NF0pCiAtewotLSAgICB1aW50MzJfdCAgICAgICAgICAg IGE7Ci0tICAgIHVpbnQzMl90ICAgICAgICAgICAgYjsKLS0gICAgdWludDMyX3QgICAgICAgICAg ICBjOwotLSAgICB1aW50MzJfdCAgICAgICAgICAgIGQ7Ci0tICAgIHVpbnQzMl90ICAgICAgICAg ICAgZTsKLS0gICAgQ0hBUjY0TE9ORzE2ICAgICAgICB3b3Jrc3BhY2U7Ci0tICAgIENIQVI2NExP TkcxNiogICAgICAgYmxvY2sgPSAmd29ya3NwYWNlOworLQl1aW50MzJfdCBhOworLQl1aW50MzJf dCBiOworLQl1aW50MzJfdCBjOworLQl1aW50MzJfdCBkOworLQl1aW50MzJfdCBlOworLQlDSEFS NjRMT05HMTYgd29ya3NwYWNlOworLQlDSEFSNjRMT05HMTYgKmJsb2NrID0gJndvcmtzcGFjZTsK IC0KLS0gICAgbWVtY3B5KGJsb2NrLCBidWZmZXIsIDY0KTsKKy0JbWVtY3B5KGJsb2NrLCBidWZm ZXIsIDY0KTsKIC0KLS0gICAgLy8gQ29weSBjb250ZXh0LT5zdGF0ZVtdIHRvIHdvcmtpbmcgdmFy cwotLSAgICBhID0gc3RhdGVbMF07Ci0tICAgIGIgPSBzdGF0ZVsxXTsKLS0gICAgYyA9IHN0YXRl WzJdOwotLSAgICBkID0gc3RhdGVbM107Ci0tICAgIGUgPSBzdGF0ZVs0XTsKKy0JLy8gQ29weSBj b250ZXh0LT5zdGF0ZVtdIHRvIHdvcmtpbmcgdmFycworLQlhID0gc3RhdGVbMF07CistCWIgPSBz dGF0ZVsxXTsKKy0JYyA9IHN0YXRlWzJdOworLQlkID0gc3RhdGVbM107CistCWUgPSBzdGF0ZVs0 XTsKIC0KLS0gICAgLy8gNCByb3VuZHMgb2YgMjAgb3BlcmF0aW9ucyBlYWNoLiBMb29wIHVucm9s bGVkLgotLSAgICBSMChhLGIsYyxkLGUsIDApOyBSMChlLGEsYixjLGQsIDEpOyBSMChkLGUsYSxi LGMsIDIpOyBSMChjLGQsZSxhLGIsIDMpOwotLSAgICBSMChiLGMsZCxlLGEsIDQpOyBSMChhLGIs YyxkLGUsIDUpOyBSMChlLGEsYixjLGQsIDYpOyBSMChkLGUsYSxiLGMsIDcpOwotLSAgICBSMChj LGQsZSxhLGIsIDgpOyBSMChiLGMsZCxlLGEsIDkpOyBSMChhLGIsYyxkLGUsMTApOyBSMChlLGEs YixjLGQsMTEpOwotLSAgICBSMChkLGUsYSxiLGMsMTIpOyBSMChjLGQsZSxhLGIsMTMpOyBSMChi LGMsZCxlLGEsMTQpOyBSMChhLGIsYyxkLGUsMTUpOwotLSAgICBSMShlLGEsYixjLGQsMTYpOyBS MShkLGUsYSxiLGMsMTcpOyBSMShjLGQsZSxhLGIsMTgpOyBSMShiLGMsZCxlLGEsMTkpOwotLSAg ICBSMihhLGIsYyxkLGUsMjApOyBSMihlLGEsYixjLGQsMjEpOyBSMihkLGUsYSxiLGMsMjIpOyBS MihjLGQsZSxhLGIsMjMpOwotLSAgICBSMihiLGMsZCxlLGEsMjQpOyBSMihhLGIsYyxkLGUsMjUp OyBSMihlLGEsYixjLGQsMjYpOyBSMihkLGUsYSxiLGMsMjcpOwotLSAgICBSMihjLGQsZSxhLGIs MjgpOyBSMihiLGMsZCxlLGEsMjkpOyBSMihhLGIsYyxkLGUsMzApOyBSMihlLGEsYixjLGQsMzEp OwotLSAgICBSMihkLGUsYSxiLGMsMzIpOyBSMihjLGQsZSxhLGIsMzMpOyBSMihiLGMsZCxlLGEs MzQpOyBSMihhLGIsYyxkLGUsMzUpOwotLSAgICBSMihlLGEsYixjLGQsMzYpOyBSMihkLGUsYSxi LGMsMzcpOyBSMihjLGQsZSxhLGIsMzgpOyBSMihiLGMsZCxlLGEsMzkpOwotLSAgICBSMyhhLGIs YyxkLGUsNDApOyBSMyhlLGEsYixjLGQsNDEpOyBSMyhkLGUsYSxiLGMsNDIpOyBSMyhjLGQsZSxh LGIsNDMpOwotLSAgICBSMyhiLGMsZCxlLGEsNDQpOyBSMyhhLGIsYyxkLGUsNDUpOyBSMyhlLGEs YixjLGQsNDYpOyBSMyhkLGUsYSxiLGMsNDcpOwotLSAgICBSMyhjLGQsZSxhLGIsNDgpOyBSMyhi LGMsZCxlLGEsNDkpOyBSMyhhLGIsYyxkLGUsNTApOyBSMyhlLGEsYixjLGQsNTEpOwotLSAgICBS MyhkLGUsYSxiLGMsNTIpOyBSMyhjLGQsZSxhLGIsNTMpOyBSMyhiLGMsZCxlLGEsNTQpOyBSMyhh LGIsYyxkLGUsNTUpOwotLSAgICBSMyhlLGEsYixjLGQsNTYpOyBSMyhkLGUsYSxiLGMsNTcpOyBS MyhjLGQsZSxhLGIsNTgpOyBSMyhiLGMsZCxlLGEsNTkpOwotLSAgICBSNChhLGIsYyxkLGUsNjAp OyBSNChlLGEsYixjLGQsNjEpOyBSNChkLGUsYSxiLGMsNjIpOyBSNChjLGQsZSxhLGIsNjMpOwot LSAgICBSNChiLGMsZCxlLGEsNjQpOyBSNChhLGIsYyxkLGUsNjUpOyBSNChlLGEsYixjLGQsNjYp OyBSNChkLGUsYSxiLGMsNjcpOwotLSAgICBSNChjLGQsZSxhLGIsNjgpOyBSNChiLGMsZCxlLGEs NjkpOyBSNChhLGIsYyxkLGUsNzApOyBSNChlLGEsYixjLGQsNzEpOwotLSAgICBSNChkLGUsYSxi LGMsNzIpOyBSNChjLGQsZSxhLGIsNzMpOyBSNChiLGMsZCxlLGEsNzQpOyBSNChhLGIsYyxkLGUs NzUpOwotLSAgICBSNChlLGEsYixjLGQsNzYpOyBSNChkLGUsYSxiLGMsNzcpOyBSNChjLGQsZSxh LGIsNzgpOyBSNChiLGMsZCxlLGEsNzkpOworLQkvLyA0IHJvdW5kcyBvZiAyMCBvcGVyYXRpb25z IGVhY2guIExvb3AgdW5yb2xsZWQuCistCVIwKGEsIGIsIGMsIGQsIGUsIDApOworLQlSMChlLCBh LCBiLCBjLCBkLCAxKTsKKy0JUjAoZCwgZSwgYSwgYiwgYywgMik7CistCVIwKGMsIGQsIGUsIGEs IGIsIDMpOworLQlSMChiLCBjLCBkLCBlLCBhLCA0KTsKKy0JUjAoYSwgYiwgYywgZCwgZSwgNSk7 CistCVIwKGUsIGEsIGIsIGMsIGQsIDYpOworLQlSMChkLCBlLCBhLCBiLCBjLCA3KTsKKy0JUjAo YywgZCwgZSwgYSwgYiwgOCk7CistCVIwKGIsIGMsIGQsIGUsIGEsIDkpOworLQlSMChhLCBiLCBj LCBkLCBlLCAxMCk7CistCVIwKGUsIGEsIGIsIGMsIGQsIDExKTsKKy0JUjAoZCwgZSwgYSwgYiwg YywgMTIpOworLQlSMChjLCBkLCBlLCBhLCBiLCAxMyk7CistCVIwKGIsIGMsIGQsIGUsIGEsIDE0 KTsKKy0JUjAoYSwgYiwgYywgZCwgZSwgMTUpOworLQlSMShlLCBhLCBiLCBjLCBkLCAxNik7Cist CVIxKGQsIGUsIGEsIGIsIGMsIDE3KTsKKy0JUjEoYywgZCwgZSwgYSwgYiwgMTgpOworLQlSMShi LCBjLCBkLCBlLCBhLCAxOSk7CistCVIyKGEsIGIsIGMsIGQsIGUsIDIwKTsKKy0JUjIoZSwgYSwg YiwgYywgZCwgMjEpOworLQlSMihkLCBlLCBhLCBiLCBjLCAyMik7CistCVIyKGMsIGQsIGUsIGEs IGIsIDIzKTsKKy0JUjIoYiwgYywgZCwgZSwgYSwgMjQpOworLQlSMihhLCBiLCBjLCBkLCBlLCAy NSk7CistCVIyKGUsIGEsIGIsIGMsIGQsIDI2KTsKKy0JUjIoZCwgZSwgYSwgYiwgYywgMjcpOwor LQlSMihjLCBkLCBlLCBhLCBiLCAyOCk7CistCVIyKGIsIGMsIGQsIGUsIGEsIDI5KTsKKy0JUjIo YSwgYiwgYywgZCwgZSwgMzApOworLQlSMihlLCBhLCBiLCBjLCBkLCAzMSk7CistCVIyKGQsIGUs IGEsIGIsIGMsIDMyKTsKKy0JUjIoYywgZCwgZSwgYSwgYiwgMzMpOworLQlSMihiLCBjLCBkLCBl LCBhLCAzNCk7CistCVIyKGEsIGIsIGMsIGQsIGUsIDM1KTsKKy0JUjIoZSwgYSwgYiwgYywgZCwg MzYpOworLQlSMihkLCBlLCBhLCBiLCBjLCAzNyk7CistCVIyKGMsIGQsIGUsIGEsIGIsIDM4KTsK Ky0JUjIoYiwgYywgZCwgZSwgYSwgMzkpOworLQlSMyhhLCBiLCBjLCBkLCBlLCA0MCk7CistCVIz KGUsIGEsIGIsIGMsIGQsIDQxKTsKKy0JUjMoZCwgZSwgYSwgYiwgYywgNDIpOworLQlSMyhjLCBk LCBlLCBhLCBiLCA0Myk7CistCVIzKGIsIGMsIGQsIGUsIGEsIDQ0KTsKKy0JUjMoYSwgYiwgYywg ZCwgZSwgNDUpOworLQlSMyhlLCBhLCBiLCBjLCBkLCA0Nik7CistCVIzKGQsIGUsIGEsIGIsIGMs IDQ3KTsKKy0JUjMoYywgZCwgZSwgYSwgYiwgNDgpOworLQlSMyhiLCBjLCBkLCBlLCBhLCA0OSk7 CistCVIzKGEsIGIsIGMsIGQsIGUsIDUwKTsKKy0JUjMoZSwgYSwgYiwgYywgZCwgNTEpOworLQlS MyhkLCBlLCBhLCBiLCBjLCA1Mik7CistCVIzKGMsIGQsIGUsIGEsIGIsIDUzKTsKKy0JUjMoYiwg YywgZCwgZSwgYSwgNTQpOworLQlSMyhhLCBiLCBjLCBkLCBlLCA1NSk7CistCVIzKGUsIGEsIGIs IGMsIGQsIDU2KTsKKy0JUjMoZCwgZSwgYSwgYiwgYywgNTcpOworLQlSMyhjLCBkLCBlLCBhLCBi LCA1OCk7CistCVIzKGIsIGMsIGQsIGUsIGEsIDU5KTsKKy0JUjQoYSwgYiwgYywgZCwgZSwgNjAp OworLQlSNChlLCBhLCBiLCBjLCBkLCA2MSk7CistCVI0KGQsIGUsIGEsIGIsIGMsIDYyKTsKKy0J UjQoYywgZCwgZSwgYSwgYiwgNjMpOworLQlSNChiLCBjLCBkLCBlLCBhLCA2NCk7CistCVI0KGEs IGIsIGMsIGQsIGUsIDY1KTsKKy0JUjQoZSwgYSwgYiwgYywgZCwgNjYpOworLQlSNChkLCBlLCBh LCBiLCBjLCA2Nyk7CistCVI0KGMsIGQsIGUsIGEsIGIsIDY4KTsKKy0JUjQoYiwgYywgZCwgZSwg YSwgNjkpOworLQlSNChhLCBiLCBjLCBkLCBlLCA3MCk7CistCVI0KGUsIGEsIGIsIGMsIGQsIDcx KTsKKy0JUjQoZCwgZSwgYSwgYiwgYywgNzIpOworLQlSNChjLCBkLCBlLCBhLCBiLCA3Myk7Cist CVI0KGIsIGMsIGQsIGUsIGEsIDc0KTsKKy0JUjQoYSwgYiwgYywgZCwgZSwgNzUpOworLQlSNChl LCBhLCBiLCBjLCBkLCA3Nik7CistCVI0KGQsIGUsIGEsIGIsIGMsIDc3KTsKKy0JUjQoYywgZCwg ZSwgYSwgYiwgNzgpOworLQlSNChiLCBjLCBkLCBlLCBhLCA3OSk7CiAtCi0tICAgIC8vIEFkZCB0 aGUgd29ya2luZyB2YXJzIGJhY2sgaW50byBjb250ZXh0LnN0YXRlW10KLS0gICAgc3RhdGVbMF0g Kz0gYTsKLS0gICAgc3RhdGVbMV0gKz0gYjsKLS0gICAgc3RhdGVbMl0gKz0gYzsKLS0gICAgc3Rh dGVbM10gKz0gZDsKLS0gICAgc3RhdGVbNF0gKz0gZTsKKy0JLy8gQWRkIHRoZSB3b3JraW5nIHZh cnMgYmFjayBpbnRvIGNvbnRleHQuc3RhdGVbXQorLQlzdGF0ZVswXSArPSBhOworLQlzdGF0ZVsx XSArPSBiOworLQlzdGF0ZVsyXSArPSBjOworLQlzdGF0ZVszXSArPSBkOworLQlzdGF0ZVs0XSAr PSBlOwogLX0KIC0KIC0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLwpAQCAtNjAzLDIwICs3NjIsMTYgQEAgaW5kZXggNDUyYjBjYzJh ZDVhLi4wMDAwMDAwMDAwMDAKIC0vLwogLS8vICBJbml0aWFsaXNlcyBhbiBTSEExIENvbnRleHQu IFVzZSB0aGlzIHRvIGluaXRpYWxpc2UvcmVzZXQgYSBjb250ZXh0LgogLS8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0tdm9pZCAK LS0gICAgU2hhMUluaXRpYWxpc2UKLS0gICAgKAotLSAgICAgICAgU2hhMUNvbnRleHQqICAgICAg ICAgICAgICAgIENvbnRleHQKLS0gICAgKQorLXZvaWQgU2hhMUluaXRpYWxpc2UoU2hhMUNvbnRl eHQgKkNvbnRleHQpCiAtewotLSAgICAvLyBTSEExIGluaXRpYWxpemF0aW9uIGNvbnN0YW50cwot LSAgICBDb250ZXh0LT5TdGF0ZVswXSA9IDB4Njc0NTIzMDE7Ci0tICAgIENvbnRleHQtPlN0YXRl WzFdID0gMHhFRkNEQUI4OTsKLS0gICAgQ29udGV4dC0+U3RhdGVbMl0gPSAweDk4QkFEQ0ZFOwot LSAgICBDb250ZXh0LT5TdGF0ZVszXSA9IDB4MTAzMjU0NzY7Ci0tICAgIENvbnRleHQtPlN0YXRl WzRdID0gMHhDM0QyRTFGMDsKLS0gICAgQ29udGV4dC0+Q291bnRbMF0gPSAwOwotLSAgICBDb250 ZXh0LT5Db3VudFsxXSA9IDA7CistCS8vIFNIQTEgaW5pdGlhbGl6YXRpb24gY29uc3RhbnRzCist CUNvbnRleHQtPlN0YXRlWzBdID0gMHg2NzQ1MjMwMTsKKy0JQ29udGV4dC0+U3RhdGVbMV0gPSAw eEVGQ0RBQjg5OworLQlDb250ZXh0LT5TdGF0ZVsyXSA9IDB4OThCQURDRkU7CistCUNvbnRleHQt PlN0YXRlWzNdID0gMHgxMDMyNTQ3NjsKKy0JQ29udGV4dC0+U3RhdGVbNF0gPSAweEMzRDJFMUYw OworLQlDb250ZXh0LT5Db3VudFswXSA9IDA7CistCUNvbnRleHQtPkNvdW50WzFdID0gMDsKIC19 CiAtCiAtLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8KQEAgLTYyNSw0MSArNzgwLDMyIEBAIGluZGV4IDQ1MmIwY2MyYWQ1YS4uMDAw MDAwMDAwMDAwCiAtLy8gIEFkZHMgZGF0YSB0byB0aGUgU0hBMSBjb250ZXh0LiBUaGlzIHdpbGwg cHJvY2VzcyB0aGUgZGF0YSBhbmQgdXBkYXRlIHRoZSBpbnRlcm5hbCBzdGF0ZSBvZiB0aGUgY29u dGV4dC4gS2VlcCBvbgogLS8vICBjYWxsaW5nIHRoaXMgZnVuY3Rpb24gdW50aWwgYWxsIHRoZSBk YXRhIGhhcyBiZWVuIGFkZGVkLiBUaGVuIGNhbGwgU2hhMUZpbmFsaXNlIHRvIGNhbGN1bGF0ZSB0 aGUgaGFzaC4KIC0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLwotLXZvaWQgCi0tICAgIFNoYTFVcGRhdGUKLS0gICAgKAotLSAgICAg ICAgU2hhMUNvbnRleHQqICAgICAgICBDb250ZXh0LAotLSAgICAgICAgY29uc3Qgdm9pZCogICAg ICAgICBCdWZmZXIsCi0tICAgICAgICB1aW50MzJfdCAgICAgICAgICAgIEJ1ZmZlclNpemUKLS0g ICAgKQorLXZvaWQgU2hhMVVwZGF0ZShTaGExQ29udGV4dCAqQ29udGV4dCwgY29uc3Qgdm9pZCAq QnVmZmVyLCB1aW50MzJfdCBCdWZmZXJTaXplKQogLXsKLS0gICAgdWludDMyX3QgICAgaTsKLS0g ICAgdWludDMyX3QgICAgajsKKy0JdWludDMyX3QgaTsKKy0JdWludDMyX3QgajsKIC0KLS0gICAg aiA9IChDb250ZXh0LT5Db3VudFswXSA+PiAzKSAmIDYzOwotLSAgICBpZiAoKENvbnRleHQtPkNv dW50WzBdICs9IEJ1ZmZlclNpemUgPDwgMykgPCAoQnVmZmVyU2l6ZSA8PCAzKSkKLS0gICAgewot LSAgICAgICAgQ29udGV4dC0+Q291bnRbMV0rKzsKLS0gICAgfQorLQlqID0gKENvbnRleHQtPkNv dW50WzBdID4+IDMpICYgNjM7CistCWlmICgoQ29udGV4dC0+Q291bnRbMF0gKz0gQnVmZmVyU2l6 ZSA8PCAzKSA8IChCdWZmZXJTaXplIDw8IDMpKSB7CistCQlDb250ZXh0LT5Db3VudFsxXSsrOwor LQl9CiAtCi0tICAgIENvbnRleHQtPkNvdW50WzFdICs9IChCdWZmZXJTaXplID4+IDI5KTsKLS0g ICAgaWYgKChqICsgQnVmZmVyU2l6ZSkgPiA2MykKLS0gICAgewotLSAgICAgICAgaSA9IDY0IC0g ajsKLS0gICAgICAgIG1lbWNweSgmQ29udGV4dC0+QnVmZmVyW2pdLCBCdWZmZXIsIGkpOwotLSAg ICAgICAgVHJhbnNmb3JtRnVuY3Rpb24oQ29udGV4dC0+U3RhdGUsIENvbnRleHQtPkJ1ZmZlcik7 Ci0tICAgICAgICBmb3IgKDsgaSArIDYzIDwgQnVmZmVyU2l6ZTsgaSArPSA2NCkKLS0gICAgICAg IHsKLS0gICAgICAgICAgICBUcmFuc2Zvcm1GdW5jdGlvbihDb250ZXh0LT5TdGF0ZSwgKGNvbnN0 IHVpbnQ4X3QqKUJ1ZmZlciArIGkpOwotLSAgICAgICAgfQotLSAgICAgICAgaiA9IDA7Ci0tICAg IH0KLS0gICAgZWxzZQotLSAgICB7Ci0tICAgICAgICBpID0gMDsKLS0gICAgfQorLQlDb250ZXh0 LT5Db3VudFsxXSArPSAoQnVmZmVyU2l6ZSA+PiAyOSk7CistCWlmICgoaiArIEJ1ZmZlclNpemUp ID4gNjMpIHsKKy0JCWkgPSA2NCAtIGo7CistCQltZW1jcHkoJkNvbnRleHQtPkJ1ZmZlcltqXSwg QnVmZmVyLCBpKTsKKy0JCVRyYW5zZm9ybUZ1bmN0aW9uKENvbnRleHQtPlN0YXRlLCBDb250ZXh0 LT5CdWZmZXIpOworLQkJZm9yICg7IGkgKyA2MyA8IEJ1ZmZlclNpemU7IGkgKz0gNjQpIHsKKy0J CQlUcmFuc2Zvcm1GdW5jdGlvbihDb250ZXh0LT5TdGF0ZSwKKy0JCQkJCSAgKGNvbnN0IHVpbnQ4 X3QgKilCdWZmZXIgKyBpKTsKKy0JCX0KKy0JCWogPSAwOworLQl9IGVsc2UgeworLQkJaSA9IDA7 CistCX0KIC0KLS0gICAgbWVtY3B5KCZDb250ZXh0LT5CdWZmZXJbal0sICYoKGNvbnN0IHVpbnQ4 X3QqKUJ1ZmZlcilbaV0sIEJ1ZmZlclNpemUgLSBpKTsKKy0JbWVtY3B5KCZDb250ZXh0LT5CdWZm ZXJbal0sICYoKGNvbnN0IHVpbnQ4X3QgKilCdWZmZXIpW2ldLAorLQkgICAgICAgQnVmZmVyU2l6 ZSAtIGkpOwogLX0KIC0KIC0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLwpAQCAtNjY4LDM5ICs4MTQsMzYgQEAgaW5kZXggNDUyYjBj YzJhZDVhLi4wMDAwMDAwMDAwMDAKIC0vLyAgUGVyZm9ybXMgdGhlIGZpbmFsIGNhbGN1bGF0aW9u IG9mIHRoZSBoYXNoIGFuZCByZXR1cm5zIHRoZSBkaWdlc3QgKDIwIGJ5dGUgYnVmZmVyIGNvbnRh aW5pbmcgMTYwYml0IGhhc2gpLiBBZnRlcgogLS8vICBjYWxsaW5nIHRoaXMsIFNoYTFJbml0aWFs aXNlZCBtdXN0IGJlIHVzZWQgdG8gcmV1c2UgdGhlIGNvbnRleHQuCiAtLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLS12b2lkIAot LSAgICBTaGExRmluYWxpc2UKLS0gICAgKAotLSAgICAgICAgU2hhMUNvbnRleHQqICAgICAgICAg ICAgICAgIENvbnRleHQsCi0tICAgICAgICBTSEExX0hBU0gqICAgICAgICAgICAgICAgICAgRGln ZXN0Ci0tICAgICkKKy12b2lkIFNoYTFGaW5hbGlzZShTaGExQ29udGV4dCAqQ29udGV4dCwgU0hB MV9IQVNIICpEaWdlc3QpCiAtewotLSAgICB1aW50MzJfdCAgICBpOwotLSAgICB1aW50OF90ICAg ICBmaW5hbGNvdW50WzhdOworLQl1aW50MzJfdCBpOworLQl1aW50OF90IGZpbmFsY291bnRbOF07 CiAtCi0tICAgIGZvciAoaSA9IDA7IGkgPCA4OyBpKyspCi0tICAgIHsKLS0gICAgICAgIGZpbmFs Y291bnRbaV0gPSAodW5zaWduZWQgY2hhcikoKENvbnRleHQtPkNvdW50WyhpID49IDQgPyAwIDog MSldCi0tICAgICAgICAgPj4gKCgzLShpICYgMykpICogOCkgKSAmIDI1NSk7ICAvLyBFbmRpYW4g aW5kZXBlbmRlbnQKLS0gICAgfQotLSAgICBTaGExVXBkYXRlKENvbnRleHQsIChjb25zdCB1aW50 OF90KikiXHg4MCIsIDEpOwotLSAgICB3aGlsZSAoKENvbnRleHQtPkNvdW50WzBdICYgNTA0KSAh PSA0NDgpCi0tICAgIHsKLS0gICAgICAgIFNoYTFVcGRhdGUoQ29udGV4dCwgKGNvbnN0IHVpbnQ4 X3QqKSJcMCIsIDEpOwotLSAgICB9CistCWZvciAoaSA9IDA7IGkgPCA4OyBpKyspIHsKKy0JCWZp bmFsY291bnRbaV0gPQorLQkJCSh1bnNpZ25lZCBjaGFyKSgoQ29udGV4dC0+Q291bnRbKGkgPj0g NCA/IDAgOiAxKV0gPj4KKy0JCQkJCSAoKDMgLSAoaSAmIDMpKSAqIDgpKSAmCistCQkJCQkyNTUp OyAvLyBFbmRpYW4gaW5kZXBlbmRlbnQKKy0JfQorLQlTaGExVXBkYXRlKENvbnRleHQsIChjb25z dCB1aW50OF90ICopIlx4ODAiLCAxKTsKKy0Jd2hpbGUgKChDb250ZXh0LT5Db3VudFswXSAmIDUw NCkgIT0gNDQ4KSB7CistCQlTaGExVXBkYXRlKENvbnRleHQsIChjb25zdCB1aW50OF90ICopIlww IiwgMSk7CistCX0KIC0KLS0gICAgU2hhMVVwZGF0ZShDb250ZXh0LCBmaW5hbGNvdW50LCA4KTsg IC8vIFNob3VsZCBjYXVzZSBhIFNoYTFUcmFuc2Zvcm1GdW5jdGlvbigpCi0tICAgIGZvciAoaSA9 IDA7IGkgPCBTSEExX0hBU0hfU0laRTsgaSsrKQotLSAgICB7Ci0tICAgICAgICBEaWdlc3QtPmJ5 dGVzW2ldID0gKHVpbnQ4X3QpKChDb250ZXh0LT5TdGF0ZVtpPj4yXSA+PiAoKDMtKGkgJiAzKSkg KiA4KSApICYgMjU1KTsKLS0gICAgfQorLQlTaGExVXBkYXRlKENvbnRleHQsIGZpbmFsY291bnQs CistCQkgICA4KTsgLy8gU2hvdWxkIGNhdXNlIGEgU2hhMVRyYW5zZm9ybUZ1bmN0aW9uKCkKKy0J Zm9yIChpID0gMDsgaSA8IFNIQTFfSEFTSF9TSVpFOyBpKyspIHsKKy0JCURpZ2VzdC0+Ynl0ZXNb aV0gPSAodWludDhfdCkoKENvbnRleHQtPlN0YXRlW2kgPj4gMl0gPj4KKy0JCQkJCSAgICAgICgo MyAtIChpICYgMykpICogOCkpICYKKy0JCQkJCSAgICAgMjU1KTsKKy0JfQogLX0KIGRpZmYgLS1n aXQgYS9saWJzZWxpbnV4L3NyYy9zaGExLmggYi9saWJzZWxpbnV4L3NyYy9zaGExLmgKIGRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggZjgzYTZlN2VkN2JhLi4wMDAwMDAwMDAwMDAKK2lu ZGV4IGZiZjRkNjU1MzhmYi4uMDAwMDAwMDAwMDAwCiAtLS0gYS9saWJzZWxpbnV4L3NyYy9zaGEx LmgKICsrKyAvZGV2L251bGwKLUBAIC0xLDg1ICswLDAgQEAKK0BAIC0xLDY4ICswLDAgQEAKIC0v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLwogLS8vICBMaWJTaGExCiAtLy8KQEAgLTcyOCwxOCArODcxLDE2IEBAIGluZGV4IGY4M2E2 ZTdlZDdiYS4uMDAwMDAwMDAwMDAwCiAtLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KIC0KIC0vLyBTaGExQ29udGV4dCAtIFRoaXMg bXVzdCBiZSBpbml0aWFsaXNlZCB1c2luZyBTaGExSW5pdGlhbGlzZWQuIERvIG5vdCBtb2RpZnkg dGhlIGNvbnRlbnRzIG9mIHRoaXMgc3RydWN0dXJlIGRpcmVjdGx5LgotLXR5cGVkZWYgc3RydWN0 Ci0tewotLSAgICB1aW50MzJfdCAgICAgICAgU3RhdGVbNV07Ci0tICAgIHVpbnQzMl90ICAgICAg ICBDb3VudFsyXTsKLS0gICAgdWludDhfdCAgICAgICAgIEJ1ZmZlcls2NF07CistdHlwZWRlZiBz dHJ1Y3QgeworLQl1aW50MzJfdCBTdGF0ZVs1XTsKKy0JdWludDMyX3QgQ291bnRbMl07CistCXVp bnQ4X3QgQnVmZmVyWzY0XTsKIC19IFNoYTFDb250ZXh0OwogLQotLSNkZWZpbmUgU0hBMV9IQVNI X1NJWkUgICAgICAgICAgICggMTYwIC8gOCApCistI2RlZmluZSBTSEExX0hBU0hfU0laRSAoMTYw IC8gOCkKIC0KLS10eXBlZGVmIHN0cnVjdAotLXsKLS0gICAgdWludDhfdCAgICAgIGJ5dGVzIFtT SEExX0hBU0hfU0laRV07CistdHlwZWRlZiBzdHJ1Y3QgeworLQl1aW50OF90IGJ5dGVzW1NIQTFf SEFTSF9TSVpFXTsKIC19IFNIQTFfSEFTSDsKIC0KIC0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwpAQCAtNzUxLDExICs4OTIsNyBA QCBpbmRleCBmODNhNmU3ZWQ3YmEuLjAwMDAwMDAwMDAwMAogLS8vCiAtLy8gIEluaXRpYWxpc2Vz IGFuIFNIQTEgQ29udGV4dC4gVXNlIHRoaXMgdG8gaW5pdGlhbGlzZS9yZXNldCBhIGNvbnRleHQu CiAtLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8KLS12b2lkCi0tICAgIFNoYTFJbml0aWFsaXNlCi0tICAgICgKLS0gICAgICAgIFNo YTFDb250ZXh0KiAgICAgICAgICAgICAgICBDb250ZXh0Ci0tICAgICk7Cistdm9pZCBTaGExSW5p dGlhbGlzZShTaGExQ29udGV4dCAqQ29udGV4dCk7CiAtCiAtLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KIC0vLyAgU2hhMVVwZGF0 ZQpAQCAtNzYzLDEzICs5MDAsNyBAQCBpbmRleCBmODNhNmU3ZWQ3YmEuLjAwMDAwMDAwMDAwMAog LS8vICBBZGRzIGRhdGEgdG8gdGhlIFNIQTEgY29udGV4dC4gVGhpcyB3aWxsIHByb2Nlc3MgdGhl IGRhdGEgYW5kIHVwZGF0ZSB0aGUgaW50ZXJuYWwgc3RhdGUgb2YgdGhlIGNvbnRleHQuIEtlZXAg b24KIC0vLyAgY2FsbGluZyB0aGlzIGZ1bmN0aW9uIHVudGlsIGFsbCB0aGUgZGF0YSBoYXMgYmVl biBhZGRlZC4gVGhlbiBjYWxsIFNoYTFGaW5hbGlzZSB0byBjYWxjdWxhdGUgdGhlIGhhc2guCiAt Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8KLS12b2lkCi0tICAgIFNoYTFVcGRhdGUKLS0gICAgKAotLSAgICAgICAgU2hhMUNvbnRl eHQqICAgICAgICBDb250ZXh0LAotLSAgICAgICAgY29uc3Qgdm9pZCogICAgICAgICBCdWZmZXIs Ci0tICAgICAgICB1aW50MzJfdCAgICAgICAgICAgIEJ1ZmZlclNpemUKLS0gICAgKTsKKy12b2lk IFNoYTFVcGRhdGUoU2hhMUNvbnRleHQgKkNvbnRleHQsIGNvbnN0IHZvaWQgKkJ1ZmZlciwgdWlu dDMyX3QgQnVmZmVyU2l6ZSk7CiAtCiAtLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KIC0vLyAgU2hhMUZpbmFsaXNlCkBAIC03Nzcs MTIgKzkwOCw3IEBAIGluZGV4IGY4M2E2ZTdlZDdiYS4uMDAwMDAwMDAwMDAwCiAtLy8gIFBlcmZv cm1zIHRoZSBmaW5hbCBjYWxjdWxhdGlvbiBvZiB0aGUgaGFzaCBhbmQgcmV0dXJucyB0aGUgZGln ZXN0ICgyMCBieXRlIGJ1ZmZlciBjb250YWluaW5nIDE2MGJpdCBoYXNoKS4gQWZ0ZXIKIC0vLyAg Y2FsbGluZyB0aGlzLCBTaGExSW5pdGlhbGlzZWQgbXVzdCBiZSB1c2VkIHRvIHJldXNlIHRoZSBj b250ZXh0LgogLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vCi0tdm9pZAotLSAgICBTaGExRmluYWxpc2UKLS0gICAgKAotLSAgICAg ICAgU2hhMUNvbnRleHQqICAgICAgICAgICAgICAgIENvbnRleHQsCi0tICAgICAgICBTSEExX0hB U0gqICAgICAgICAgICAgICAgICAgRGlnZXN0Ci0tICAgICk7Cistdm9pZCBTaGExRmluYWxpc2Uo U2hhMUNvbnRleHQgKkNvbnRleHQsIFNIQTFfSEFTSCAqRGlnZXN0KTsKIC0KIC0vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogLSNl bmRpZiAvL19zaGExX2hfCkBAIC0xMTgyLDEzICsxMzA4LDEzIEBAIGluZGV4IDAwMDAwMDAwMDAw MC4uNDA2ZWQ4NjljZDgyCiArICAgICAgICBTSEEyNTZfSEFTSCogICAgICAgIERpZ2VzdCAgICAg ICAgICAvLyBbaW5dCiArICAgICk7CiBkaWZmIC0tZ2l0IGEvbGlic2VsaW51eC91dGlscy9zZWxh YmVsX2RpZ2VzdC5jIGIvbGlic2VsaW51eC91dGlscy9zZWxhYmVsX2RpZ2VzdC5jCi1pbmRleCA0 N2FhZDIxZmYxZmIuLjhiY2Q0NGExZGM3MyAxMDA2NDQKK2luZGV4IDJjMzk1ZGI2Zjg0Zi4uNzdj MWIxMTMxZTMxIDEwMDY0NAogLS0tIGEvbGlic2VsaW51eC91dGlscy9zZWxhYmVsX2RpZ2VzdC5j CiArKysgYi9saWJzZWxpbnV4L3V0aWxzL3NlbGFiZWxfZGlnZXN0LmMKLUBAIC0xMyw4ICsxMyw4 IEBAIHN0YXRpYyBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVybl9fKSkgdm9pZCB1c2FnZShjb25z dCBjaGFyICpwcm9nbmFtZSkKK0BAIC0xMyw4ICsxMyw4IEBAIHN0YXRpYyBfX2F0dHJpYnV0ZV9f KChfX25vcmV0dXJuX18pKSB2b2lkIHVzYWdlKGNvbnN0IGNoYXIgKnByb2duYW1lKQogIAkJIldo ZXJlOlxuXHQiCiAgCQkiLWIgIFRoZSBiYWNrZW5kIC0gXCJmaWxlXCIsIFwibWVkaWFcIiwgXCJ4 XCIsIFwiZGJcIiBvciAiCi0gCQkJIlwicHJvcFwiXG5cdCIKKyAJCSJcInByb3BcIlxuXHQiCiAt CQkiLXYgIFJ1biBcImNhdCA8c3BlY2ZpbGVfbGlzdD4gfCBvcGVuc3NsIGRnc3QgLXNoYTEgLWhl eFwiXG5cdCIKIC0JCSIgICAgb24gdGhlIGxpc3Qgb2Ygc3BlY2ZpbGVzIHRvIGNvbXBhcmUgdGhl IFNIQTEgZGlnZXN0cy5cblx0IgogKwkJIi12ICBSdW4gXCJjYXQgPHNwZWNmaWxlX2xpc3Q+IHwg b3BlbnNzbCBkZ3N0IC1zaGEyNTYgLWhleFwiXG5cdCIKQEAgLTExOTYsNyArMTMyMiw3IEBAIGlu ZGV4IDQ3YWFkMjFmZjFmYi4uOGJjZDQ0YTFkYzczIDEwMDY0NAogIAkJIi1CICBVc2UgYmFzZSBz cGVjZmlsZXMgb25seSAodmFsaWQgZm9yIFwiLWIgZmlsZVwiIG9ubHkpLlxuXHQiCiAgCQkiLWkg IERvIG5vdCByZXF1ZXN0IGEgZGlnZXN0LlxuXHQiCiAgCQkiLWYgIE9wdGlvbmFsIGZpbGUgY29u dGFpbmluZyB0aGUgc3BlY3MgKGRlZmF1bHRzIHRvXG5cdCIKLUBAIC02MSwxMiArNjEsMTIgQEAg aW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorQEAgLTYzLDEyICs2MywxMiBAQCBpbnQg bWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgCWludCByYywgb3B0LCB2YWxpZGF0ZSA9IDA7 CiAgCWNoYXIgKmJhc2Vvbmx5ID0gTlVMTCwgKmZpbGUgPSBOVUxMLCAqZGlnZXN0ID0gKGNoYXIg KikxOwogIAljaGFyICoqc3BlY2ZpbGVzID0gTlVMTDsKQEAgLTEyMTAsMTcgKzEzMzYsMTcgQEAg aW5kZXggNDdhYWQyMWZmMWZiLi44YmNkNDRhMWRjNzMgMTAwNjQ0CiArCWNoYXIgKnNoYTI1Nl9i dWYgPSBOVUxMOwogIAogIAlzdHJ1Y3Qgc2VsYWJlbF9oYW5kbGUgKmhuZDsKLSAJc3RydWN0IHNl bGludXhfb3B0IHNlbGFiZWxfb3B0aW9uW10gPSB7Ci1AQCAtMTM2LDcgKzEzNiw3IEBAIGludCBt YWluKGludCBhcmdjLCBjaGFyICoqYXJndikKKyAJc3RydWN0IHNlbGludXhfb3B0IHNlbGFiZWxf b3B0aW9uW10gPSB7IHsgU0VMQUJFTF9PUFRfUEFUSCwgZmlsZSB9LAorQEAgLTEzOCw3ICsxMzgs NyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgCQlyZXR1cm4gLTE7CiAgCX0K ICAKIC0JcmMgPSBzZWxhYmVsX2RpZ2VzdChobmQsICZzaGExX2RpZ2VzdCwgJmRpZ2VzdF9sZW4s ICZzcGVjZmlsZXMsCiArCXJjID0gc2VsYWJlbF9kaWdlc3QoaG5kLCAmc2hhMjU2X2RpZ2VzdCwg JmRpZ2VzdF9sZW4sICZzcGVjZmlsZXMsCi0gCQkJCQkJCSAgICAmbnVtX3NwZWNmaWxlcyk7Cisg CQkJICAgICZudW1fc3BlY2ZpbGVzKTsKICAKICAJaWYgKHJjKSB7Ci1AQCAtMTUxLDE5ICsxNTEs MTkgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorQEAgLTE1MywxOSArMTUzLDE5 IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKICAJCWdvdG8gZXJyOwogIAl9CiAg CkBAIC0xMjI5LDcgKzEzNTUsNyBAQCBpbmRleCA0N2FhZDIxZmYxZmIuLjhiY2Q0NGExZGM3MyAx MDA2NDQKICsJc2hhMjU2X2J1ZiA9IG1hbGxvYyhkaWdlc3RfbGVuICogMiArIDEpOwogKwlpZiAo IXNoYTI1Nl9idWYpIHsKICAJCWZwcmludGYoc3RkZXJyLCAiQ291bGQgbm90IG1hbGxvYyBidWZm ZXIgRVJST1I6ICVzXG4iLAotIAkJCQkJCSAgICBzdHJlcnJvcihlcnJubykpOworIAkJCXN0cmVy cm9yKGVycm5vKSk7CiAgCQlyYyA9IC0xOwogIAkJZ290byBlcnI7CiAgCX0KQEAgLTEyNDUsMTUg KzEzNzEsMTYgQEAgaW5kZXggNDdhYWQyMWZmMWZiLi44YmNkNDRhMWRjNzMgMTAwNjQ0CiAgCXBy aW50ZigiY2FsY3VsYXRlZCB1c2luZyB0aGUgZm9sbG93aW5nIHNwZWNmaWxlKHMpOlxuIik7CiAg CiAgCWlmIChzcGVjZmlsZXMpIHsKLUBAIC0xOTgsMTkgKzE5OCwxOSBAQCBpbnQgbWFpbihpbnQg YXJnYywgY2hhciAqKmFyZ3YpCi0gCQl9CitAQCAtMjA0LDcgKzIwNCw3IEBAIGludCBtYWluKGlu dCBhcmdjLCBjaGFyICoqYXJndikKICAKICAJCWlmICh2YWxpZGF0ZSkgewotLQkJCXJldCA9IHNu cHJpbnRmKGNtZF9wdHIsIGNtZF9yZW0sICJ8IC91c3IvYmluL29wZW5zc2wgZGdzdCAtc2hhMSAt aGV4Iik7Ci0rCQkJcmV0ID0gc25wcmludGYoY21kX3B0ciwgY21kX3JlbSwgInwgL3Vzci9iaW4v b3BlbnNzbCBkZ3N0IC1zaGEyNTYgLWhleCIpOworIAkJCXJldCA9IHNucHJpbnRmKGNtZF9wdHIs IGNtZF9yZW0sCistCQkJCSAgICAgICAifCAvdXNyL2Jpbi9vcGVuc3NsIGRnc3QgLXNoYTEgLWhl eCIpOworKwkJCQkgICAgICAgInwgL3Vzci9iaW4vb3BlbnNzbCBkZ3N0IC1zaGEyNTYgLWhleCIp OwogIAkJCWlmIChyZXQgPCAwIHx8IChzaXplX3QpcmV0ID49IGNtZF9yZW0pIHsKLSAJCQkJZnBy aW50ZihzdGRlcnIsICJDb3VsZCBub3QgZm9ybWF0IHZhbGlkYXRlIGNvbW1hbmRcbiIpOwotIAkJ CQlyYyA9IC0xOworIAkJCQlmcHJpbnRmKHN0ZGVyciwKKyAJCQkJCSJDb3VsZCBub3QgZm9ybWF0 IHZhbGlkYXRlIGNvbW1hbmRcbiIpOworQEAgLTIxMiwxMiArMjEyLDEyIEBAIGludCBtYWluKGlu dCBhcmdjLCBjaGFyICoqYXJndikKICAJCQkJZ290byBlcnI7CiAgCQkJfQogIApAQCAtMTI2OSwx MCArMTM5NiwxMCBAQCBpbmRleCA0N2FhZDIxZmYxZmIuLjhiY2Q0NGExZGM3MyAxMDA2NDQKICAJ cmV0dXJuIHJjOwogIH0KIGRpZmYgLS1naXQgYS9saWJzZWxpbnV4L3V0aWxzL3NlbGFiZWxfZ2V0 X2RpZ2VzdHNfYWxsX3BhcnRpYWxfbWF0Y2hlcy5jIGIvbGlic2VsaW51eC91dGlscy9zZWxhYmVs X2dldF9kaWdlc3RzX2FsbF9wYXJ0aWFsX21hdGNoZXMuYwotaW5kZXggZTI3MzNiNDE5NWZmLi45 OGU1MzNkYzI2OTIgMTAwNjQ0CitpbmRleCAwNTUyZWYwZjU4ZGYuLjY0OWU4YjdhYTBhMiAxMDA2 NDQKIC0tLSBhL2xpYnNlbGludXgvdXRpbHMvc2VsYWJlbF9nZXRfZGlnZXN0c19hbGxfcGFydGlh bF9tYXRjaGVzLmMKICsrKyBiL2xpYnNlbGludXgvdXRpbHMvc2VsYWJlbF9nZXRfZGlnZXN0c19h bGxfcGFydGlhbF9tYXRjaGVzLmMKLUBAIC0xNiw4ICsxNiw4IEBAIHN0YXRpYyBfX2F0dHJpYnV0 ZV9fICgoX19ub3JldHVybl9fKSkgdm9pZCB1c2FnZShjb25zdCBjaGFyICpwcm9nbmFtZSkKK0BA IC0xNiw4ICsxNiw4IEBAIHN0YXRpYyBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB2b2lk IHVzYWdlKGNvbnN0IGNoYXIgKnByb2duYW1lKQogIAkJIi12ICBWYWxpZGF0ZSBmaWxlX2NvbnR4 dHMgZW50cmllcyBhZ2FpbnN0IGxvYWRlZCBwb2xpY3kuXG5cdCIKICAJCSItciAgUmVjdXJzaXZl bHkgZGVzY2VuZCBkaXJlY3Rvcmllcy5cblx0IgogIAkJIi1mICBPcHRpb25hbCBmaWxlX2NvbnRl eHRzIGZpbGUgKGRlZmF1bHRzIHRvIGN1cnJlbnQgcG9saWN5KS5cblx0IgpAQCAtMTI4Miw4ICsx NDA5LDggQEAgaW5kZXggZTI3MzNiNDE5NWZmLi45OGU1MzNkYzI2OTIgMTAwNjQ0CiArCQkiVGhp cyB3aWxsIGNoZWNrIHRoZSBkaXJlY3Rvcnkgc2VsaW51eC5zZWhhc2ggU0hBMjU2IGRpZ2VzdCBm b3IgIgogIAkJIjxwYXRoPiBhZ2FpbnN0XG5hIG5ld2x5IGdlbmVyYXRlZCBkaWdlc3QgYmFzZWQg b24gdGhlICIKICAJCSJmaWxlX2NvbnRleHQgZW50cmllcyBmb3IgdGhhdCBub2RlXG4odXNpbmcg dGhlIHJlZ3gsIG1vZGUgIgotIAkJImFuZCBwYXRoIGVudHJpZXMpLlxuIiwgcHJvZ25hbWUpOwot QEAgLTM1LDcgKzM1LDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorIAkJImFu ZCBwYXRoIGVudHJpZXMpLlxuIiwKK0BAIC0zNiw3ICszNiw3IEBAIGludCBtYWluKGludCBhcmdj LCBjaGFyICoqYXJndikKICAJY2hhciAqcGF0aHNbMl0gPSB7IE5VTEwsIE5VTEwgfTsKICAJdWlu dDhfdCAqeGF0dHJfZGlnZXN0ID0gTlVMTDsKICAJdWludDhfdCAqY2FsY3VsYXRlZF9kaWdlc3Qg PSBOVUxMOwpAQCAtMTI5MiwxNyArMTQxOSwxOCBAQCBpbmRleCBlMjczM2I0MTk1ZmYuLjk4ZTUz M2RjMjY5MiAxMDA2NDQKICAKICAJc3RydWN0IHNlbGFiZWxfaGFuZGxlICpobmQ7CiAgCXN0cnVj dCBzZWxpbnV4X29wdCBzZWxhYmVsX29wdGlvbltdID0gewotQEAgLTEwNCwyNyArMTA0LDI3IEBA IGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKLSAJCQkJCQkJICZ4YXR0cl9kaWdlc3Qs Ci0gCQkJCQkJCSAmZGlnZXN0X2xlbik7CitAQCAtMTAxLDggKzEwMSw4IEBAIGludCBtYWluKGlu dCBhcmdjLCBjaGFyICoqYXJndikKKyAJCQkJaG5kLCBmdHNlbnQtPmZ0c19wYXRoLCAmY2FsY3Vs YXRlZF9kaWdlc3QsCisgCQkJCSZ4YXR0cl9kaWdlc3QsICZkaWdlc3RfbGVuKTsKICAKIC0JCQlz aGExX2J1ZiA9IGNhbGxvYygxLCBkaWdlc3RfbGVuICogMiArIDEpOwogLQkJCWlmICghc2hhMV9i dWYpIHsKICsJCQlzaGEyNTZfYnVmID0gY2FsbG9jKDEsIGRpZ2VzdF9sZW4gKiAyICsgMSk7CiAr CQkJaWYgKCFzaGEyNTZfYnVmKSB7Ci0gCQkJCWZwcmludGYoc3RkZXJyLCAiQ291bGQgbm90IGNh bGxvYyBidWZmZXIgRVJST1I6ICVzXG4iLAotIAkJCQkJICAgIHN0cmVycm9yKGVycm5vKSk7Ci0g CQkJCXJldHVybiAtMTsKKyAJCQkJZnByaW50ZihzdGRlcnIsCisgCQkJCQkiQ291bGQgbm90IGNh bGxvYyBidWZmZXIgRVJST1I6ICVzXG4iLAorIAkJCQkJc3RyZXJyb3IoZXJybm8pKTsKK0BAIC0x MTAsMTkgKzExMCwxOSBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgCQkJfQog IAogIAkJCWlmIChzdGF0dXMpIHsgLyogVGhleSBtYXRjaCAqLwpAQCAtMTMyNiw3ICsxNDU0LDcg QEAgaW5kZXggZTI3MzNiNDE5NWZmLi45OGU1MzNkYzI2OTIgMTAwNjQ0CiAgCQkJCQkgICAgICAg ZnRzZW50LT5mdHNfcGF0aCk7CiAgCQkJCQlwcmludGYoImFzIGZpbGVfY29udGV4dCBlbnRyeSBp cyBcIjw8bm9uZT4+XCJcbiIpOwogIAkJCQkJZ290byBjbGVhbnVwOwotQEAgLTEzNCwyNSArMTM0 LDI1IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK0BAIC0xMzIsMjUgKzEzMiwy NSBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgCQkJCSAgICAgICBmdHNlbnQt PmZ0c19wYXRoKTsKICAKICAJCQkJZm9yIChpID0gMDsgaSA8IGRpZ2VzdF9sZW47IGkrKykKQEAg LTEzNDksNyArMTQ3Nyw3IEBAIGluZGV4IGUyNzMzYjQxOTVmZi4uOThlNTMzZGMyNjkyIDEwMDY0 NAogKwkJCQkJcHJpbnRmKCIlc1xuIiwgc2hhMjU2X2J1Zik7CiAgCQkJCX0KICAJCQl9Ci0gCQkJ Y2xlYW51cDoKKyBjbGVhbnVwOgogIAkJCWZyZWUoeGF0dHJfZGlnZXN0KTsKICAJCQlmcmVlKGNh bGN1bGF0ZWRfZGlnZXN0KTsKIC0JCQlmcmVlKHNoYTFfYnVmKTsKQEAgLTEzNTgsNSArMTQ4Niw1 IEBAIGluZGV4IGUyNzMzYjQxOTVmZi4uOThlNTMzZGMyNjkyIDEwMDY0NAogIAkJfQogIAkJZGVm YXVsdDoKIC0tIAotMi40Ny4wCisyLjU0LjAKIAoKZGlmZiAtLWdpdCBhL2NoYW5nZWxvZyBiL2No YW5nZWxvZwppbmRleCA1NmE5MDA4Li41NWVmMGZkIDEwMDY0NAotLS0gYS9jaGFuZ2Vsb2cKKysr IGIvY2hhbmdlbG9nCkBAIC0xLDMgKzEsOSBAQAorKiBXZWQgSnVsIDAxIDIwMjYgUGV0ciBMYXV0 cmJhY2ggPGxhdXRyYmFjaEByZWRoYXQuY29tPiAtIDMuMTEtMQorLSBTRUxpbnV4IHVzZXJzcGFj ZSAzLjExIHJlbGVhc2UKKworKiBXZWQgSnVuIDAzIDIwMjYgUHl0aG9uIE1haW50IDxweXRob24t bWFpbnRAcmVkaGF0LmNvbT4gLSAzLjEwLTIKKy0gUmVidWlsdCBmb3IgUHl0aG9uIDMuMTUKKwog KiBNb24gRmViIDAyIDIwMjYgUGV0ciBMYXV0cmJhY2ggPGxhdXRyYmFjaEByZWRoYXQuY29tPiAt IDMuMTAtMQogLSBTRUxpbnV4IHVzZXJzcGFjZSAzLjEwIHJlbGVhc2UKIAoKZGlmZiAtLWdpdCBh L2xpYnNlbGludXguc3BlYyBiL2xpYnNlbGludXguc3BlYwppbmRleCA1ZWMyNmRkLi40ZTBmNzJm IDEwMDY0NAotLS0gYS9saWJzZWxpbnV4LnNwZWMKKysrIGIvbGlic2VsaW51eC5zcGVjCkBAIC0x LDI5ICsxLDI5IEBACiAlZGVmaW5lIHJ1YnlfaW5jICUocGtnLWNvbmZpZyAtLWNmbGFncyBydWJ5 KQotJWRlZmluZSBsaWJzZXBvbHZlciAzLjEwLTEKKyVkZWZpbmUgbGlic2Vwb2x2ZXIgMy4xMS0x CiAKIFN1bW1hcnk6IFNFTGludXggbGlicmFyeSBhbmQgc2ltcGxlIHV0aWxpdGllcwogTmFtZTog bGlic2VsaW51eAotVmVyc2lvbjogMy4xMAotUmVsZWFzZTogMiV7P2Rpc3R9CitWZXJzaW9uOiAz LjExCitSZWxlYXNlOiAxJXs/ZGlzdH0KIExpY2Vuc2U6IExpY2Vuc2VSZWYtRmVkb3JhLVB1Ymxp Yy1Eb21haW4KICMgaHR0cHM6Ly9naXRodWIuY29tL1NFTGludXhQcm9qZWN0L3NlbGludXgvd2lr aS9SZWxlYXNlcwogU291cmNlMDogaHR0cHM6Ly9naXRodWIuY29tL1NFTGludXhQcm9qZWN0L3Nl bGludXgvcmVsZWFzZXMvZG93bmxvYWQvJXt2ZXJzaW9ufS9saWJzZWxpbnV4LSV7dmVyc2lvbn0u dGFyLmd6CiBTb3VyY2UxOiBodHRwczovL2dpdGh1Yi5jb20vU0VMaW51eFByb2plY3Qvc2VsaW51 eC9yZWxlYXNlcy9kb3dubG9hZC8le3ZlcnNpb259L2xpYnNlbGludXgtJXt2ZXJzaW9ufS50YXIu Z3ouYXNjCi1Tb3VyY2UyOiBodHRwczovL2dpdGh1Yi5jb20vcGVyZmluaW9uLmdwZworU291cmNl MjogaHR0cHM6Ly9naXRodWIuY29tL2JhY2hyYWRzdXNpLmdwZwogU291cmNlMzogc2VsaW51eGNv bmxpc3QuOAogU291cmNlNDogc2VsaW51eGRlZmNvbi44CiAKIFVybDogaHR0cHM6Ly9naXRodWIu Y29tL1NFTGludXhQcm9qZWN0L3NlbGludXgvd2lraQogIyAkIGdpdCBjbG9uZSBodHRwczovL2dp dGh1Yi5jb20vZmVkb3JhLXNlbGludXgvc2VsaW51eC5naXQKICMgJCBjZCBzZWxpbnV4Ci0jICQg Z2l0IGZvcm1hdC1wYXRjaCAtTiAzLjEwIC0tIGxpYnNlbGludXgKKyMgJCBnaXQgZm9ybWF0LXBh dGNoIC1OIDMuMTEgLS0gbGlic2VsaW51eAogIyAkIGk9MTsgZm9yIGogaW4gMDAqcGF0Y2g7IGRv IHByaW50ZiAiUGF0Y2glMDRkOiAlc1xuIiAkaSAkajsgaT0kKChpKzEpKTtkb25lCiAjIFBhdGNo IGxpc3Qgc3RhcnQKIFBhdGNoMDAwMTogMDAwMS1Vc2UtU0hBLTItaW5zdGVhZC1vZi1TSEEtMS5w YXRjaAogIyBQYXRjaCBsaXN0IGVuZAogQnVpbGRSZXF1aXJlczogZ2NjIG1ha2UKIEJ1aWxkUmVx dWlyZXM6IHJ1YnktZGV2ZWwgcnVieSBsaWJzZXBvbC1zdGF0aWMgPj0gJXtsaWJzZXBvbHZlcn0g c3dpZyBwY3JlMi1kZXZlbAotQnVpbGRSZXF1aXJlczogcHl0aG9uMyBweXRob24zLWRldmVsIHB5 dGhvbjMtc2V0dXB0b29scyBweXRob24zLXBpcAorQnVpbGRSZXF1aXJlczogcHl0aG9uMyBweXRo b24zLWRldmVsIHB5dGhvbjMtc2V0dXB0b29scyBweXRob24zLXBpcCBweXRob24zLWJ1aWxkCiBC dWlsZFJlcXVpcmVzOiAocHl0aG9uMy13aGVlbCBpZiBweXRob24zLXNldHVwdG9vbHMgPCA3MSkK IEJ1aWxkUmVxdWlyZXM6IHN5c3RlbWQKIEJ1aWxkUmVxdWlyZXM6IGdudXBnMgpAQCAtMjIxLDcg KzIyMSw0IEBAIHJtIC1mICV7YnVpbGRyb290fSV7X21hbmRpcn0vbWFuOC90b2dnbGVzZWJvb2wq CiAle3J1YnlfdmVuZG9yYXJjaGRpcn0vc2VsaW51eC5zbwogCiAlY2hhbmdlbG9nCi0qIFdlZCBK dW4gMDMgMjAyNiBQeXRob24gTWFpbnQgPHB5dGhvbi1tYWludEByZWRoYXQuY29tPiAtIDMuMTAt MgotLSBSZWJ1aWx0IGZvciBQeXRob24gMy4xNQotCiAlYXV0b2NoYW5nZWxvZwoKZGlmZiAtLWdp dCBhL3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4IDU1NzgyMGEuLmY3NzJhMjkgMTAwNjQ0Ci0tLSBh L3NvdXJjZXMKKysrIGIvc291cmNlcwpAQCAtMSwyICsxLDIgQEAKLVNIQTUxMiAobGlic2VsaW51 eC0zLjEwLnRhci5neikgPSA1NzgzZjczNzY3NWViOTRlMGJkZmYwODIwMTM1ODllNWJkZGZhMDY2 OWEzNTdkZjE4NWViODlmNGY4OGNlYzhiOTA3NzllODZjNGIxN2I1OGY1YzI0ODE3NWRhMDIwOGM4 MGNjMjY0MjA0NmUzNDhjNzM4NGRkNzk5ZjFiYTRjMQotU0hBNTEyIChsaWJzZWxpbnV4LTMuMTAu dGFyLmd6LmFzYykgPSA2ZTBhMThlYjc3YjgxMGViN2NiZjc1NmRjZDgyZjU3ZmE3MWQ3YzhkMDY2 ZWE5OWY3NTQ3NjBkOWU2MWRiOGYyMmU3NzZjNzI5YTczODdiMDE2MzgyNDlkYWNjMjcwZGE3YTVl YjZhN2VkMzgzNzdiYTg1OGJlYmNkMDkwY2NlNgorU0hBNTEyIChsaWJzZWxpbnV4LTMuMTEudGFy Lmd6KSA9IDQ5ZWIwYjE4MGI3N2I0YjYxNTA1MTE3ZWNkOThhYjlmZGQ3OWEzNjgwMWI2ZDIyMTY4 MTNlYTM3MGEwMmJhNGY1OGEwZjg3YTE4ZTkyYTJkNGVlZmZjMTFkOWRmNjdlNDY5MmQyZDhmNWQz ZWU3N2EyYWJkM2Y2MDYxOTZhYWFkCitTSEE1MTIgKGxpYnNlbGludXgtMy4xMS50YXIuZ3ouYXNj KSA9IGZhOTUwYTMzMmEzNTNkZmJiNzk1OWI3ODU5NTYwNzZkMDU0N2I2Y2Y1Mzg3ZWNiYWVlYjEx ZjgxNzFhNGZjMzY3OTc3MjcwNzM2NGRlZTRiZjhkYjc2MjMyZWIyZWE2YThmMDI4MDY3NGE4MzUx ZGNmOTgwNzQ4OTJjMzEwMGRlCg==