From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 12137 invoked from network); 21 Aug 2020 00:32:17 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 21 Aug 2020 00:32:17 -0000 Content-Type: multipart/mixed; boundary="===============7804445212247358794==" MIME-Version: 1.0 Subject: =?utf8?q?=5BPR_PATCH=5D_linux=3A_drop_smsc95xx-mac_patch?= To: ml@inbox.vuxu.org From: sgn Reply-to: ml@inbox.vuxu.org Message-ID: Date: Fri, 21 Aug 2020 02:32:17 +0200 List-Id: GitHub notification mails are now in MIME to allow UTF8. --===============7804445212247358794== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYSBuZXcgcHVsbCByZXF1ZXN0IGJ5IHNnbiBhZ2FpbnN0IG1hc3RlciBvbiB0aGUg dm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vc2duL3ZvaWQtcGFj a2FnZXMga2VybmVsLWRyb3Atc21zYzk1eHgtcGF0Y2gKaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQt bGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzI0Mzk1CgpsaW51eDogZHJvcCBzbXNjOTV4eC1tYWMg cGF0Y2gKc21zYzk1eHgtbWFjIHVzZWQgdG8gaGF2ZSBwcm9ibGVtcyB3aXRoIGJvb3Rpbmcgb3Zl ciBORlMgZHVlIHRvIGZpcm13YXJlDQpwcm9ibGVtLiBUaGlzIHBhdGNoIGhhZCBiZWVuIHJlamVj dGVkIHVwc3RyZWFtIFsxXS4NClNpbmNlIHRoZW4sIGZpcm13YXJlIHBlb3BsZSBoYXZlIGZpeGVk IHRoZWlyIGZpcm13YXJlLCBmcm9tIGFzIGZhciBhcw0KMyB5ZWFycyBhZ28sIHNpbmNlIHJwaS1m aXJtd2FyZSBwdWxsZWQgdGhhdCB1cGRhdGUgaW4gMjAxNy0wMi0yNiBbMl1bM10NCg0KRHJvcCB0 aGlzIHBhdGNoIGluIGFsbCBvZiBvdXIga2VybmVsIHNlcmllcy4NCg0KMTogaHR0cHM6Ly9sb3Jl Lmtlcm5lbC5vcmcvbGludXgtb21hcC8xMjc3MzY3MjU0LTkzNDUtMS1naXQtc2VuZC1lbWFpbC1z LWphbkB0aS5jb20vVC8jdQ0KMjogaHR0cHM6Ly9naXRodWIuY29tL3Jhc3BiZXJyeXBpL2Zpcm13 YXJlL2lzc3Vlcy82MTMjaXNzdWVjb21tZW50LTI4MjY4MTI4Mw0KMzogaHR0cHM6Ly9naXRodWIu Y29tL0hleHhlaC9ycGktZmlybXdhcmUvY29tbWl0LzQxMTI4OGE3ZTMxMDY3ZmZmYTFiOTU1YTMw YjEzM2JmMjkwMmJiNTQKCkEgcGF0Y2ggZmlsZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lk LWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC8yNDM5NS5wYXRjaCBpcyBhdHRhY2hlZA== --===============7804445212247358794== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-kernel-drop-smsc95xx-patch-24395.patch" RnJvbSA3MzI1YjcyNTBiYjJhM2Q4MjZhNDVlNDk4Y2ZmNTcwNDU5OTg5ZDhlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1B N249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogRnJp LCAyMSBBdWcgMjAyMCAwNzoyNDoxOSArMDcwMApTdWJqZWN0OiBbUEFUQ0hdIGxpbnV4OiBkcm9w IHNtc2M5NXh4LW1hYyBwYXRjaAoKc21zYzk1eHgtbWFjIHVzZWQgdG8gaGF2ZSBwcm9ibGVtcyB3 aXRoIGJvb3Rpbmcgb3ZlciBORlMgZHVlIHRvIGZpcm13YXJlCnByb2JsZW0uIFRoaXMgcGF0Y2gg aGFkIGJlZW4gcmVqZWN0ZWQgdXBzdHJlYW0gWzFdLgpTaW5jZSB0aGVuLCBmaXJtd2FyZSBwZW9w bGUgaGF2ZSBmaXhlZCB0aGVpciBmaXJtd2FyZSwgZnJvbSBhcyBmYXIgYXMKMyB5ZWFycyBhZ28s IHNpbmNlIHJwaS1maXJtd2FyZSBwdWxsZWQgdGhhdCB1cGRhdGUgaW4gMjAxNy0wMi0yNiBbMl1b M10KCkRyb3AgdGhpcyBwYXRjaCBpbiBhbGwgb2Ygb3VyIGtlcm5lbCBzZXJpZXMuCgoxOiBodHRw czovL2xvcmUua2VybmVsLm9yZy9saW51eC1vbWFwLzEyNzczNjcyNTQtOTM0NS0xLWdpdC1zZW5k LWVtYWlsLXMtamFuQHRpLmNvbS9ULyN1CjI6IGh0dHBzOi8vZ2l0aHViLmNvbS9yYXNwYmVycnlw aS9maXJtd2FyZS9pc3N1ZXMvNjEzI2lzc3VlY29tbWVudC0yODI2ODEyODMKMzogaHR0cHM6Ly9n aXRodWIuY29tL0hleHhlaC9ycGktZmlybXdhcmUvY29tbWl0LzQxMTI4OGE3ZTMxMDY3ZmZmYTFi OTU1YTMwYjEzM2JmMjkwMmJiNTQKLS0tCiBzcmNwa2dzL2xpbnV4NC4xNC9wYXRjaGVzL3Ntc2M5 NXh4LW1hYy5wYXRjaCAgfCA5NSAtLS0tLS0tLS0tLS0tLS0tLS0tCiBzcmNwa2dzL2xpbnV4NC4x OS9wYXRjaGVzL3Ntc2M5NXh4LW1hYy5wYXRjaCAgfCA5NSAtLS0tLS0tLS0tLS0tLS0tLS0tCiBz cmNwa2dzL2xpbnV4NC45L3BhdGNoZXMvc21zYzk1eHgtbWFjLnBhdGNoICAgfCA5NSAtLS0tLS0t LS0tLS0tLS0tLS0tCiBzcmNwa2dzL2xpbnV4NS40L3BhdGNoZXMvc21zYzk1eHgtbWFjLnBhdGNo ICAgfCA5NSAtLS0tLS0tLS0tLS0tLS0tLS0tCiBzcmNwa2dzL2xpbnV4NS42L3BhdGNoZXMvc21z Yzk1eHgtbWFjLnBhdGNoICAgfCA5NSAtLS0tLS0tLS0tLS0tLS0tLS0tCiBzcmNwa2dzL2xpbnV4 NS43L3BhdGNoZXMvc21zYzk1eHgtbWFjLnBhdGNoICAgfCA5NSAtLS0tLS0tLS0tLS0tLS0tLS0t CiBzcmNwa2dzL2xpbnV4NS44L3BhdGNoZXMvc21zYzk1eHgtbWFjLnBhdGNoICAgfCA5NSAtLS0t LS0tLS0tLS0tLS0tLS0tCiAuLi4vcGF0Y2hlcy9zbXNjOTV4eC1tYWMucGF0Y2ggICAgICAgICAg ICAgICAgfCA5NSAtLS0tLS0tLS0tLS0tLS0tLS0tCiA4IGZpbGVzIGNoYW5nZWQsIDc2MCBkZWxl dGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2xpbnV4NC4xNC9wYXRjaGVzL3Nt c2M5NXh4LW1hYy5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbGludXg0LjE5L3Bh dGNoZXMvc21zYzk1eHgtbWFjLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9saW51 eDQuOS9wYXRjaGVzL3Ntc2M5NXh4LW1hYy5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvbGludXg1LjQvcGF0Y2hlcy9zbXNjOTV4eC1tYWMucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0 NCBzcmNwa2dzL2xpbnV4NS42L3BhdGNoZXMvc21zYzk1eHgtbWFjLnBhdGNoCiBkZWxldGUgbW9k ZSAxMDA2NDQgc3JjcGtncy9saW51eDUuNy9wYXRjaGVzL3Ntc2M5NXh4LW1hYy5wYXRjaAogZGVs ZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbGludXg1LjgvcGF0Y2hlcy9zbXNjOTV4eC1tYWMucGF0 Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3BpbmVib29rcHJvLWtlcm5lbC9wYXRjaGVz L3Ntc2M5NXh4LW1hYy5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGludXg0LjE0L3BhdGNo ZXMvc21zYzk1eHgtbWFjLnBhdGNoIGIvc3JjcGtncy9saW51eDQuMTQvcGF0Y2hlcy9zbXNjOTV4 eC1tYWMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJmNzdjMmQ5ZTIzLi4w MDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2xpbnV4NC4xNC9wYXRjaGVzL3Ntc2M5NXh4LW1hYy5w YXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDk1ICswLDAgQEAKLUZyb20gZTM2ZDYwN2Q1NmRjNWMw Y2JmMmNiNjAwZTc2ODZiNTU5ZWE3N2I0NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206 IHBvcGNvcm5taXggPHBvcGNvcm5taXhAZ21haWwuY29tPgotRGF0ZTogVHVlLCAxOCBGZWIgMjAx NCAwMTo0Mzo1MCAtMDMwMAotU3ViamVjdDogW1BBVENIXSBuZXQvc21zYzk1eHg6IEFsbG93IG1h YyBhZGRyZXNzIHRvIGJlIHNldCBhcyBhIHBhcmFtZXRlcgotCi0tLS0KLSBkcml2ZXJzL25ldC91 c2Ivc21zYzk1eHguYyB8IDU2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKLSAxIGZpbGUgY2hhbmdlZCwgNTYgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0 IGEvZHJpdmVycy9uZXQvdXNiL3Ntc2M5NXh4LmMgYi9kcml2ZXJzL25ldC91c2Ivc21zYzk1eHgu YwotaW5kZXggZGM5ODlhOC4uOTEyYmU3NSAxMDA2NDQKLS0tLSBhL2RyaXZlcnMvbmV0L3VzYi9z bXNjOTV4eC5jCi0rKysgYi9kcml2ZXJzL25ldC91c2Ivc21zYzk1eHguYwotQEAgLTYwLDYgKzYw LDcgQEAKLSAjZGVmaW5lIFNVU1BFTkRfU1VTUEVORDMJCSgweDA4KQotICNkZWZpbmUgU1VTUEVO RF9BTExNT0RFUwkJKFNVU1BFTkRfU1VTUEVORDAgfCBTVVNQRU5EX1NVU1BFTkQxIHwgXAotIAkJ CQkJIFNVU1BFTkRfU1VTUEVORDIgfCBTVVNQRU5EX1NVU1BFTkQzKQotKyNkZWZpbmUgTUFDX0FE RFJfTEVOICAgICAgICAgICAgICAgICAgICAoNikKLSAKLSAjZGVmaW5lIENBUlJJRVJfQ0hFQ0tf REVMQVkgKDIgKiBIWikKLSAKLUBAIC04MCw2ICs4MSwxMCBAQCBzdGF0aWMgYm9vbCB0dXJib19t b2RlID0gdHJ1ZTsKLSBtb2R1bGVfcGFyYW0odHVyYm9fbW9kZSwgYm9vbCwgMDY0NCk7Ci0gTU9E VUxFX1BBUk1fREVTQyh0dXJib19tb2RlLCAiRW5hYmxlIG11bHRpcGxlIGZyYW1lcyBwZXIgUngg dHJhbnNhY3Rpb24iKTsKLSAKLStzdGF0aWMgY2hhciAqbWFjYWRkciA9ICI6IjsKLSttb2R1bGVf cGFyYW0obWFjYWRkciwgY2hhcnAsIDApOwotK01PRFVMRV9QQVJNX0RFU0MobWFjYWRkciwgIk1B QyBhZGRyZXNzIik7Ci0rCi0gc3RhdGljIGludCBfX211c3RfY2hlY2sgX19zbXNjOTV4eF9yZWFk X3JlZyhzdHJ1Y3QgdXNibmV0ICpkZXYsIHUzMiBpbmRleCwKLSAJCQkJCSAgICB1MzIgKmRhdGEs IGludCBpbl9wbSkKLSB7Ci1AQCAtODA5LDggKzgxNCw1OSBAQCBzdGF0aWMgaW50IHNtc2M5NXh4 X2lvY3RsKHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYsIHN0cnVjdCBpZnJlcSAqcnEsIGludCBj bWQpCi0gCXJldHVybiBnZW5lcmljX21paV9pb2N0bCgmZGV2LT5taWksIGlmX21paShycSksIGNt ZCwgTlVMTCk7Ci0gfQotIAotKy8qIENoZWNrIHRoZSBtYWNhZGRyIG1vZHVsZSBwYXJhbWV0ZXIg Zm9yIGEgTUFDIGFkZHJlc3MgKi8KLStzdGF0aWMgaW50IHNtc2M5NXh4X2lzX21hY2FkZHJfcGFy YW0oc3RydWN0IHVzYm5ldCAqZGV2LCB1OCAqZGV2X21hYykKLSt7Ci0rICAgICAgIGludCBpLCBq LCBnb3RfbnVtLCBudW07Ci0rICAgICAgIHU4IG10YmxbTUFDX0FERFJfTEVOXTsKLSsKLSsgICAg ICAgaWYgKG1hY2FkZHJbMF0gPT0gJzonKQotKyAgICAgICAgICAgICAgIHJldHVybiAwOwotKwot KyAgICAgICBpID0gMDsKLSsgICAgICAgaiA9IDA7Ci0rICAgICAgIG51bSA9IDA7Ci0rICAgICAg IGdvdF9udW0gPSAwOwotKyAgICAgICB3aGlsZSAoaiA8IE1BQ19BRERSX0xFTikgewotKyAgICAg ICAgICAgICAgIGlmIChtYWNhZGRyW2ldICYmIG1hY2FkZHJbaV0gIT0gJzonKSB7Ci0rICAgICAg ICAgICAgICAgICAgICAgICBnb3RfbnVtKys7Ci0rICAgICAgICAgICAgICAgICAgICAgICBpZiAo JzAnIDw9IG1hY2FkZHJbaV0gJiYgbWFjYWRkcltpXSA8PSAnOScpCi0rICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG51bSA9IG51bSAqIDE2ICsgbWFjYWRkcltpXSAtICcwJzsKLSsgICAg ICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCdBJyA8PSBtYWNhZGRyW2ldICYmIG1hY2FkZHJb aV0gPD0gJ0YnKQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudW0gPSBudW0gKiAx NiArIDEwICsgbWFjYWRkcltpXSAtICdBJzsKLSsgICAgICAgICAgICAgICAgICAgICAgIGVsc2Ug aWYgKCdhJyA8PSBtYWNhZGRyW2ldICYmIG1hY2FkZHJbaV0gPD0gJ2YnKQotKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBudW0gPSBudW0gKiAxNiArIDEwICsgbWFjYWRkcltpXSAtICdh JzsKLSsgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKLSsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYnJlYWs7Ci0rICAgICAgICAgICAgICAgICAgICAgICBpKys7Ci0rICAgICAgICAg ICAgICAgfSBlbHNlIGlmIChnb3RfbnVtID09IDIpIHsKLSsgICAgICAgICAgICAgICAgICAgICAg IG10YmxbaisrXSA9ICh1OCkgbnVtOwotKyAgICAgICAgICAgICAgICAgICAgICAgbnVtID0gMDsK LSsgICAgICAgICAgICAgICAgICAgICAgIGdvdF9udW0gPSAwOwotKyAgICAgICAgICAgICAgICAg ICAgICAgaSsrOwotKyAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0rICAgICAgICAgICAgICAgICAg ICAgICBicmVhazsKLSsgICAgICAgICAgICAgICB9Ci0rICAgICAgIH0KLSsKLSsgICAgICAgaWYg KGogPT0gTUFDX0FERFJfTEVOKSB7Ci0rICAgICAgICAgICAgICAgbmV0aWZfZGJnKGRldiwgaWZ1 cCwgZGV2LT5uZXQsICJPdmVycmlkaW5nIE1BQyBhZGRyZXNzIHdpdGg6ICIKLSsgICAgICAgICAg ICAgICAiJTAyeDolMDJ4OiUwMng6JTAyeDolMDJ4OiUwMnhcbiIsIG10YmxbMF0sIG10YmxbMV0s IG10YmxbMl0sCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBtdGJsWzNdLCBtdGJsWzRdLCBtdGJsWzVdKTsKLSsgICAgICAgICAgICAgICBmb3IgKGkgPSAw OyBpIDwgTUFDX0FERFJfTEVOOyBpKyspCi0rICAgICAgICAgICAgICAgICAgICAgICBkZXZfbWFj W2ldID0gbXRibFtpXTsKLSsgICAgICAgICAgICAgICByZXR1cm4gMTsKLSsgICAgICAgfSBlbHNl IHsKLSsgICAgICAgICAgICAgICByZXR1cm4gMDsKLSsgICAgICAgfQotK30KLSsKLSBzdGF0aWMg dm9pZCBzbXNjOTV4eF9pbml0X21hY19hZGRyZXNzKHN0cnVjdCB1c2JuZXQgKmRldikKLSB7Ci0r ICAgICAgIC8qIENoZWNrIG1vZHVsZSBwYXJhbWV0ZXJzICovCi0rICAgICAgIGlmIChzbXNjOTV4 eF9pc19tYWNhZGRyX3BhcmFtKGRldiwgZGV2LT5uZXQtPmRldl9hZGRyKSkKLSsgICAgICAgICAg ICAgICByZXR1cm47Ci0rCi0gCWNvbnN0IHU4ICptYWNfYWRkcjsKLSAKLSAJLyogbWF5YmUgdGhl IGJvb3QgbG9hZGVyIHBhc3NlZCB0aGUgTUFDIGFkZHJlc3MgaW4gZGV2aWNldHJlZSAqLwotLS0g Ci0yLjEwLjIKLQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saW51eDQuMTkvcGF0Y2hlcy9zbXNjOTV4 eC1tYWMucGF0Y2ggYi9zcmNwa2dzL2xpbnV4NC4xOS9wYXRjaGVzL3Ntc2M5NXh4LW1hYy5wYXRj aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmY3N2MyZDllMjMuLjAwMDAwMDAwMDAw Ci0tLSBhL3NyY3BrZ3MvbGludXg0LjE5L3BhdGNoZXMvc21zYzk1eHgtbWFjLnBhdGNoCisrKyAv ZGV2L251bGwKQEAgLTEsOTUgKzAsMCBAQAotRnJvbSBlMzZkNjA3ZDU2ZGM1YzBjYmYyY2I2MDBl NzY4NmI1NTllYTc3YjQ0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogcG9wY29ybm1p eCA8cG9wY29ybm1peEBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDE4IEZlYiAyMDE0IDAxOjQzOjUw IC0wMzAwCi1TdWJqZWN0OiBbUEFUQ0hdIG5ldC9zbXNjOTV4eDogQWxsb3cgbWFjIGFkZHJlc3Mg dG8gYmUgc2V0IGFzIGEgcGFyYW1ldGVyCi0KLS0tLQotIGRyaXZlcnMvbmV0L3VzYi9zbXNjOTV4 eC5jIHwgNTYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwot IDEgZmlsZSBjaGFuZ2VkLCA1NiBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9kcml2ZXJz L25ldC91c2Ivc21zYzk1eHguYyBiL2RyaXZlcnMvbmV0L3VzYi9zbXNjOTV4eC5jCi1pbmRleCBk Yzk4OWE4Li45MTJiZTc1IDEwMDY0NAotLS0tIGEvZHJpdmVycy9uZXQvdXNiL3Ntc2M5NXh4LmMK LSsrKyBiL2RyaXZlcnMvbmV0L3VzYi9zbXNjOTV4eC5jCi1AQCAtNjAsNiArNjAsNyBAQAotICNk ZWZpbmUgU1VTUEVORF9TVVNQRU5EMwkJKDB4MDgpCi0gI2RlZmluZSBTVVNQRU5EX0FMTE1PREVT CQkoU1VTUEVORF9TVVNQRU5EMCB8IFNVU1BFTkRfU1VTUEVORDEgfCBcCi0gCQkJCQkgU1VTUEVO RF9TVVNQRU5EMiB8IFNVU1BFTkRfU1VTUEVORDMpCi0rI2RlZmluZSBNQUNfQUREUl9MRU4gICAg ICAgICAgICAgICAgICAgICg2KQotIAotICNkZWZpbmUgQ0FSUklFUl9DSEVDS19ERUxBWSAoMiAq IEhaKQotIAotQEAgLTgwLDYgKzgxLDEwIEBAIHN0YXRpYyBib29sIHR1cmJvX21vZGUgPSB0cnVl OwotIG1vZHVsZV9wYXJhbSh0dXJib19tb2RlLCBib29sLCAwNjQ0KTsKLSBNT0RVTEVfUEFSTV9E RVNDKHR1cmJvX21vZGUsICJFbmFibGUgbXVsdGlwbGUgZnJhbWVzIHBlciBSeCB0cmFuc2FjdGlv biIpOwotIAotK3N0YXRpYyBjaGFyICptYWNhZGRyID0gIjoiOwotK21vZHVsZV9wYXJhbShtYWNh ZGRyLCBjaGFycCwgMCk7Ci0rTU9EVUxFX1BBUk1fREVTQyhtYWNhZGRyLCAiTUFDIGFkZHJlc3Mi KTsKLSsKLSBzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBfX3Ntc2M5NXh4X3JlYWRfcmVnKHN0cnVj dCB1c2JuZXQgKmRldiwgdTMyIGluZGV4LAotIAkJCQkJICAgIHUzMiAqZGF0YSwgaW50IGluX3Bt KQotIHsKLUBAIC04MDksOCArODE0LDU5IEBAIHN0YXRpYyBpbnQgc21zYzk1eHhfaW9jdGwoc3Ry dWN0IG5ldF9kZXZpY2UgKm5ldGRldiwgc3RydWN0IGlmcmVxICpycSwgaW50IGNtZCkKLSAJcmV0 dXJuIGdlbmVyaWNfbWlpX2lvY3RsKCZkZXYtPm1paSwgaWZfbWlpKHJxKSwgY21kLCBOVUxMKTsK LSB9Ci0gCi0rLyogQ2hlY2sgdGhlIG1hY2FkZHIgbW9kdWxlIHBhcmFtZXRlciBmb3IgYSBNQUMg YWRkcmVzcyAqLwotK3N0YXRpYyBpbnQgc21zYzk1eHhfaXNfbWFjYWRkcl9wYXJhbShzdHJ1Y3Qg dXNibmV0ICpkZXYsIHU4ICpkZXZfbWFjKQotK3sKLSsgICAgICAgaW50IGksIGosIGdvdF9udW0s IG51bTsKLSsgICAgICAgdTggbXRibFtNQUNfQUREUl9MRU5dOwotKwotKyAgICAgICBpZiAobWFj YWRkclswXSA9PSAnOicpCi0rICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0rCi0rICAgICAgIGkg PSAwOwotKyAgICAgICBqID0gMDsKLSsgICAgICAgbnVtID0gMDsKLSsgICAgICAgZ290X251bSA9 IDA7Ci0rICAgICAgIHdoaWxlIChqIDwgTUFDX0FERFJfTEVOKSB7Ci0rICAgICAgICAgICAgICAg aWYgKG1hY2FkZHJbaV0gJiYgbWFjYWRkcltpXSAhPSAnOicpIHsKLSsgICAgICAgICAgICAgICAg ICAgICAgIGdvdF9udW0rKzsKLSsgICAgICAgICAgICAgICAgICAgICAgIGlmICgnMCcgPD0gbWFj YWRkcltpXSAmJiBtYWNhZGRyW2ldIDw9ICc5JykKLSsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgbnVtID0gbnVtICogMTYgKyBtYWNhZGRyW2ldIC0gJzAnOwotKyAgICAgICAgICAgICAg ICAgICAgICAgZWxzZSBpZiAoJ0EnIDw9IG1hY2FkZHJbaV0gJiYgbWFjYWRkcltpXSA8PSAnRicp Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bSA9IG51bSAqIDE2ICsgMTAgKyBt YWNhZGRyW2ldIC0gJ0EnOwotKyAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoJ2EnIDw9 IG1hY2FkZHJbaV0gJiYgbWFjYWRkcltpXSA8PSAnZicpCi0rICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG51bSA9IG51bSAqIDE2ICsgMTAgKyBtYWNhZGRyW2ldIC0gJ2EnOwotKyAgICAg ICAgICAgICAgICAgICAgICAgZWxzZQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi cmVhazsKLSsgICAgICAgICAgICAgICAgICAgICAgIGkrKzsKLSsgICAgICAgICAgICAgICB9IGVs c2UgaWYgKGdvdF9udW0gPT0gMikgewotKyAgICAgICAgICAgICAgICAgICAgICAgbXRibFtqKytd ID0gKHU4KSBudW07Ci0rICAgICAgICAgICAgICAgICAgICAgICBudW0gPSAwOwotKyAgICAgICAg ICAgICAgICAgICAgICAgZ290X251bSA9IDA7Ci0rICAgICAgICAgICAgICAgICAgICAgICBpKys7 Ci0rICAgICAgICAgICAgICAgfSBlbHNlIHsKLSsgICAgICAgICAgICAgICAgICAgICAgIGJyZWFr OwotKyAgICAgICAgICAgICAgIH0KLSsgICAgICAgfQotKwotKyAgICAgICBpZiAoaiA9PSBNQUNf QUREUl9MRU4pIHsKLSsgICAgICAgICAgICAgICBuZXRpZl9kYmcoZGV2LCBpZnVwLCBkZXYtPm5l dCwgIk92ZXJyaWRpbmcgTUFDIGFkZHJlc3Mgd2l0aDogIgotKyAgICAgICAgICAgICAgICIlMDJ4 OiUwMng6JTAyeDolMDJ4OiUwMng6JTAyeFxuIiwgbXRibFswXSwgbXRibFsxXSwgbXRibFsyXSwK LSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG10YmxbM10s IG10YmxbNF0sIG10YmxbNV0pOwotKyAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBNQUNf QUREUl9MRU47IGkrKykKLSsgICAgICAgICAgICAgICAgICAgICAgIGRldl9tYWNbaV0gPSBtdGJs W2ldOwotKyAgICAgICAgICAgICAgIHJldHVybiAxOwotKyAgICAgICB9IGVsc2UgewotKyAgICAg ICAgICAgICAgIHJldHVybiAwOwotKyAgICAgICB9Ci0rfQotKwotIHN0YXRpYyB2b2lkIHNtc2M5 NXh4X2luaXRfbWFjX2FkZHJlc3Moc3RydWN0IHVzYm5ldCAqZGV2KQotIHsKLSsgICAgICAgLyog Q2hlY2sgbW9kdWxlIHBhcmFtZXRlcnMgKi8KLSsgICAgICAgaWYgKHNtc2M5NXh4X2lzX21hY2Fk ZHJfcGFyYW0oZGV2LCBkZXYtPm5ldC0+ZGV2X2FkZHIpKQotKyAgICAgICAgICAgICAgIHJldHVy bjsKLSsKLSAJY29uc3QgdTggKm1hY19hZGRyOwotIAotIAkvKiBtYXliZSB0aGUgYm9vdCBsb2Fk ZXIgcGFzc2VkIHRoZSBNQUMgYWRkcmVzcyBpbiBkZXZpY2V0cmVlICovCi0tLSAKLTIuMTAuMgot CmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpbnV4NC45L3BhdGNoZXMvc21zYzk1eHgtbWFjLnBhdGNo IGIvc3JjcGtncy9saW51eDQuOS9wYXRjaGVzL3Ntc2M5NXh4LW1hYy5wYXRjaApkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggYmY3N2MyZDllMjMuLjAwMDAwMDAwMDAwCi0tLSBhL3NyY3Br Z3MvbGludXg0LjkvcGF0Y2hlcy9zbXNjOTV4eC1tYWMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAt MSw5NSArMCwwIEBACi1Gcm9tIGUzNmQ2MDdkNTZkYzVjMGNiZjJjYjYwMGU3Njg2YjU1OWVhNzdi NDQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBwb3Bjb3JubWl4IDxwb3Bjb3JubWl4 QGdtYWlsLmNvbT4KLURhdGU6IFR1ZSwgMTggRmViIDIwMTQgMDE6NDM6NTAgLTAzMDAKLVN1Ympl Y3Q6IFtQQVRDSF0gbmV0L3Ntc2M5NXh4OiBBbGxvdyBtYWMgYWRkcmVzcyB0byBiZSBzZXQgYXMg YSBwYXJhbWV0ZXIKLQotLS0tCi0gZHJpdmVycy9uZXQvdXNiL3Ntc2M5NXh4LmMgfCA1NiArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCi0gMSBmaWxlIGNoYW5n ZWQsIDU2IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3VzYi9zbXNj OTV4eC5jIGIvZHJpdmVycy9uZXQvdXNiL3Ntc2M5NXh4LmMKLWluZGV4IGRjOTg5YTguLjkxMmJl NzUgMTAwNjQ0Ci0tLS0gYS9kcml2ZXJzL25ldC91c2Ivc21zYzk1eHguYwotKysrIGIvZHJpdmVy cy9uZXQvdXNiL3Ntc2M5NXh4LmMKLUBAIC02MCw2ICs2MCw3IEBACi0gI2RlZmluZSBTVVNQRU5E X1NVU1BFTkQzCQkoMHgwOCkKLSAjZGVmaW5lIFNVU1BFTkRfQUxMTU9ERVMJCShTVVNQRU5EX1NV U1BFTkQwIHwgU1VTUEVORF9TVVNQRU5EMSB8IFwKLSAJCQkJCSBTVVNQRU5EX1NVU1BFTkQyIHwg U1VTUEVORF9TVVNQRU5EMykKLSsjZGVmaW5lIE1BQ19BRERSX0xFTiAgICAgICAgICAgICAgICAg ICAgKDYpCi0gCi0gI2RlZmluZSBDQVJSSUVSX0NIRUNLX0RFTEFZICgyICogSFopCi0gCi1AQCAt ODAsNiArODEsMTAgQEAgc3RhdGljIGJvb2wgdHVyYm9fbW9kZSA9IHRydWU7Ci0gbW9kdWxlX3Bh cmFtKHR1cmJvX21vZGUsIGJvb2wsIDA2NDQpOwotIE1PRFVMRV9QQVJNX0RFU0ModHVyYm9fbW9k ZSwgIkVuYWJsZSBtdWx0aXBsZSBmcmFtZXMgcGVyIFJ4IHRyYW5zYWN0aW9uIik7Ci0gCi0rc3Rh dGljIGNoYXIgKm1hY2FkZHIgPSAiOiI7Ci0rbW9kdWxlX3BhcmFtKG1hY2FkZHIsIGNoYXJwLCAw KTsKLStNT0RVTEVfUEFSTV9ERVNDKG1hY2FkZHIsICJNQUMgYWRkcmVzcyIpOwotKwotIHN0YXRp YyBpbnQgX19tdXN0X2NoZWNrIF9fc21zYzk1eHhfcmVhZF9yZWcoc3RydWN0IHVzYm5ldCAqZGV2 LCB1MzIgaW5kZXgsCi0gCQkJCQkgICAgdTMyICpkYXRhLCBpbnQgaW5fcG0pCi0gewotQEAgLTgw OSw4ICs4MTQsNTkgQEAgc3RhdGljIGludCBzbXNjOTV4eF9pb2N0bChzdHJ1Y3QgbmV0X2Rldmlj ZSAqbmV0ZGV2LCBzdHJ1Y3QgaWZyZXEgKnJxLCBpbnQgY21kKQotIAlyZXR1cm4gZ2VuZXJpY19t aWlfaW9jdGwoJmRldi0+bWlpLCBpZl9taWkocnEpLCBjbWQsIE5VTEwpOwotIH0KLSAKLSsvKiBD aGVjayB0aGUgbWFjYWRkciBtb2R1bGUgcGFyYW1ldGVyIGZvciBhIE1BQyBhZGRyZXNzICovCi0r c3RhdGljIGludCBzbXNjOTV4eF9pc19tYWNhZGRyX3BhcmFtKHN0cnVjdCB1c2JuZXQgKmRldiwg dTggKmRldl9tYWMpCi0rewotKyAgICAgICBpbnQgaSwgaiwgZ290X251bSwgbnVtOwotKyAgICAg ICB1OCBtdGJsW01BQ19BRERSX0xFTl07Ci0rCi0rICAgICAgIGlmIChtYWNhZGRyWzBdID09ICc6 JykKLSsgICAgICAgICAgICAgICByZXR1cm4gMDsKLSsKLSsgICAgICAgaSA9IDA7Ci0rICAgICAg IGogPSAwOwotKyAgICAgICBudW0gPSAwOwotKyAgICAgICBnb3RfbnVtID0gMDsKLSsgICAgICAg d2hpbGUgKGogPCBNQUNfQUREUl9MRU4pIHsKLSsgICAgICAgICAgICAgICBpZiAobWFjYWRkcltp XSAmJiBtYWNhZGRyW2ldICE9ICc6JykgewotKyAgICAgICAgICAgICAgICAgICAgICAgZ290X251 bSsrOwotKyAgICAgICAgICAgICAgICAgICAgICAgaWYgKCcwJyA8PSBtYWNhZGRyW2ldICYmIG1h Y2FkZHJbaV0gPD0gJzknKQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudW0gPSBu dW0gKiAxNiArIG1hY2FkZHJbaV0gLSAnMCc7Ci0rICAgICAgICAgICAgICAgICAgICAgICBlbHNl IGlmICgnQScgPD0gbWFjYWRkcltpXSAmJiBtYWNhZGRyW2ldIDw9ICdGJykKLSsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgbnVtID0gbnVtICogMTYgKyAxMCArIG1hY2FkZHJbaV0gLSAn QSc7Ci0rICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICgnYScgPD0gbWFjYWRkcltpXSAm JiBtYWNhZGRyW2ldIDw9ICdmJykKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVt ID0gbnVtICogMTYgKyAxMCArIG1hY2FkZHJbaV0gLSAnYSc7Ci0rICAgICAgICAgICAgICAgICAg ICAgICBlbHNlCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotKyAgICAg ICAgICAgICAgICAgICAgICAgaSsrOwotKyAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZ290X251 bSA9PSAyKSB7Ci0rICAgICAgICAgICAgICAgICAgICAgICBtdGJsW2orK10gPSAodTgpIG51bTsK LSsgICAgICAgICAgICAgICAgICAgICAgIG51bSA9IDA7Ci0rICAgICAgICAgICAgICAgICAgICAg ICBnb3RfbnVtID0gMDsKLSsgICAgICAgICAgICAgICAgICAgICAgIGkrKzsKLSsgICAgICAgICAg ICAgICB9IGVsc2UgewotKyAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0rICAgICAgICAg ICAgICAgfQotKyAgICAgICB9Ci0rCi0rICAgICAgIGlmIChqID09IE1BQ19BRERSX0xFTikgewot KyAgICAgICAgICAgICAgIG5ldGlmX2RiZyhkZXYsIGlmdXAsIGRldi0+bmV0LCAiT3ZlcnJpZGlu ZyBNQUMgYWRkcmVzcyB3aXRoOiAiCi0rICAgICAgICAgICAgICAgIiUwMng6JTAyeDolMDJ4OiUw Mng6JTAyeDolMDJ4XG4iLCBtdGJsWzBdLCBtdGJsWzFdLCBtdGJsWzJdLAotKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXRibFszXSwgbXRibFs0XSwgbXRi bFs1XSk7Ci0rICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IE1BQ19BRERSX0xFTjsgaSsr KQotKyAgICAgICAgICAgICAgICAgICAgICAgZGV2X21hY1tpXSA9IG10YmxbaV07Ci0rICAgICAg ICAgICAgICAgcmV0dXJuIDE7Ci0rICAgICAgIH0gZWxzZSB7Ci0rICAgICAgICAgICAgICAgcmV0 dXJuIDA7Ci0rICAgICAgIH0KLSt9Ci0rCi0gc3RhdGljIHZvaWQgc21zYzk1eHhfaW5pdF9tYWNf YWRkcmVzcyhzdHJ1Y3QgdXNibmV0ICpkZXYpCi0gewotKyAgICAgICAvKiBDaGVjayBtb2R1bGUg cGFyYW1ldGVycyAqLwotKyAgICAgICBpZiAoc21zYzk1eHhfaXNfbWFjYWRkcl9wYXJhbShkZXYs IGRldi0+bmV0LT5kZXZfYWRkcikpCi0rICAgICAgICAgICAgICAgcmV0dXJuOwotKwotIAljb25z dCB1OCAqbWFjX2FkZHI7Ci0gCi0gCS8qIG1heWJlIHRoZSBib290IGxvYWRlciBwYXNzZWQgdGhl IE1BQyBhZGRyZXNzIGluIGRldmljZXRyZWUgKi8KLS0tIAotMi4xMC4yCi0KZGlmZiAtLWdpdCBh L3NyY3BrZ3MvbGludXg1LjQvcGF0Y2hlcy9zbXNjOTV4eC1tYWMucGF0Y2ggYi9zcmNwa2dzL2xp bnV4NS40L3BhdGNoZXMvc21zYzk1eHgtbWFjLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCBiZjc3YzJkOWUyMy4uMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9saW51eDUuNC9w YXRjaGVzL3Ntc2M5NXh4LW1hYy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDk1ICswLDAgQEAK LUZyb20gZTM2ZDYwN2Q1NmRjNWMwY2JmMmNiNjAwZTc2ODZiNTU5ZWE3N2I0NCBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKLUZyb206IHBvcGNvcm5taXggPHBvcGNvcm5taXhAZ21haWwuY29tPgot RGF0ZTogVHVlLCAxOCBGZWIgMjAxNCAwMTo0Mzo1MCAtMDMwMAotU3ViamVjdDogW1BBVENIXSBu ZXQvc21zYzk1eHg6IEFsbG93IG1hYyBhZGRyZXNzIHRvIGJlIHNldCBhcyBhIHBhcmFtZXRlcgot Ci0tLS0KLSBkcml2ZXJzL25ldC91c2Ivc21zYzk1eHguYyB8IDU2ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKLSAxIGZpbGUgY2hhbmdlZCwgNTYgaW5zZXJ0 aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdXNiL3Ntc2M5NXh4LmMgYi9kcml2 ZXJzL25ldC91c2Ivc21zYzk1eHguYwotaW5kZXggZGM5ODlhOC4uOTEyYmU3NSAxMDA2NDQKLS0t LSBhL2RyaXZlcnMvbmV0L3VzYi9zbXNjOTV4eC5jCi0rKysgYi9kcml2ZXJzL25ldC91c2Ivc21z Yzk1eHguYwotQEAgLTYwLDYgKzYwLDcgQEAKLSAjZGVmaW5lIFNVU1BFTkRfU1VTUEVORDMJCSgw eDA4KQotICNkZWZpbmUgU1VTUEVORF9BTExNT0RFUwkJKFNVU1BFTkRfU1VTUEVORDAgfCBTVVNQ RU5EX1NVU1BFTkQxIHwgXAotIAkJCQkJIFNVU1BFTkRfU1VTUEVORDIgfCBTVVNQRU5EX1NVU1BF TkQzKQotKyNkZWZpbmUgTUFDX0FERFJfTEVOICAgICAgICAgICAgICAgICAgICAoNikKLSAKLSAj ZGVmaW5lIENBUlJJRVJfQ0hFQ0tfREVMQVkgKDIgKiBIWikKLSAKLUBAIC04MCw2ICs4MSwxMCBA QCBzdGF0aWMgYm9vbCB0dXJib19tb2RlID0gdHJ1ZTsKLSBtb2R1bGVfcGFyYW0odHVyYm9fbW9k ZSwgYm9vbCwgMDY0NCk7Ci0gTU9EVUxFX1BBUk1fREVTQyh0dXJib19tb2RlLCAiRW5hYmxlIG11 bHRpcGxlIGZyYW1lcyBwZXIgUnggdHJhbnNhY3Rpb24iKTsKLSAKLStzdGF0aWMgY2hhciAqbWFj YWRkciA9ICI6IjsKLSttb2R1bGVfcGFyYW0obWFjYWRkciwgY2hhcnAsIDApOwotK01PRFVMRV9Q QVJNX0RFU0MobWFjYWRkciwgIk1BQyBhZGRyZXNzIik7Ci0rCi0gc3RhdGljIGludCBfX211c3Rf Y2hlY2sgX19zbXNjOTV4eF9yZWFkX3JlZyhzdHJ1Y3QgdXNibmV0ICpkZXYsIHUzMiBpbmRleCwK LSAJCQkJCSAgICB1MzIgKmRhdGEsIGludCBpbl9wbSkKLSB7Ci1AQCAtODA5LDggKzgxNCw1OSBA QCBzdGF0aWMgaW50IHNtc2M5NXh4X2lvY3RsKHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYsIHN0 cnVjdCBpZnJlcSAqcnEsIGludCBjbWQpCi0gCXJldHVybiBnZW5lcmljX21paV9pb2N0bCgmZGV2 LT5taWksIGlmX21paShycSksIGNtZCwgTlVMTCk7Ci0gfQotIAotKy8qIENoZWNrIHRoZSBtYWNh ZGRyIG1vZHVsZSBwYXJhbWV0ZXIgZm9yIGEgTUFDIGFkZHJlc3MgKi8KLStzdGF0aWMgaW50IHNt c2M5NXh4X2lzX21hY2FkZHJfcGFyYW0oc3RydWN0IHVzYm5ldCAqZGV2LCB1OCAqZGV2X21hYykK LSt7Ci0rICAgICAgIGludCBpLCBqLCBnb3RfbnVtLCBudW07Ci0rICAgICAgIHU4IG10YmxbTUFD X0FERFJfTEVOXTsKLSsKLSsgICAgICAgaWYgKG1hY2FkZHJbMF0gPT0gJzonKQotKyAgICAgICAg ICAgICAgIHJldHVybiAwOwotKwotKyAgICAgICBpID0gMDsKLSsgICAgICAgaiA9IDA7Ci0rICAg ICAgIG51bSA9IDA7Ci0rICAgICAgIGdvdF9udW0gPSAwOwotKyAgICAgICB3aGlsZSAoaiA8IE1B Q19BRERSX0xFTikgewotKyAgICAgICAgICAgICAgIGlmIChtYWNhZGRyW2ldICYmIG1hY2FkZHJb aV0gIT0gJzonKSB7Ci0rICAgICAgICAgICAgICAgICAgICAgICBnb3RfbnVtKys7Ci0rICAgICAg ICAgICAgICAgICAgICAgICBpZiAoJzAnIDw9IG1hY2FkZHJbaV0gJiYgbWFjYWRkcltpXSA8PSAn OScpCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bSA9IG51bSAqIDE2ICsgbWFj YWRkcltpXSAtICcwJzsKLSsgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCdBJyA8PSBt YWNhZGRyW2ldICYmIG1hY2FkZHJbaV0gPD0gJ0YnKQotKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBudW0gPSBudW0gKiAxNiArIDEwICsgbWFjYWRkcltpXSAtICdBJzsKLSsgICAgICAg ICAgICAgICAgICAgICAgIGVsc2UgaWYgKCdhJyA8PSBtYWNhZGRyW2ldICYmIG1hY2FkZHJbaV0g PD0gJ2YnKQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudW0gPSBudW0gKiAxNiAr IDEwICsgbWFjYWRkcltpXSAtICdhJzsKLSsgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKLSsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0rICAgICAgICAgICAgICAgICAg ICAgICBpKys7Ci0rICAgICAgICAgICAgICAgfSBlbHNlIGlmIChnb3RfbnVtID09IDIpIHsKLSsg ICAgICAgICAgICAgICAgICAgICAgIG10YmxbaisrXSA9ICh1OCkgbnVtOwotKyAgICAgICAgICAg ICAgICAgICAgICAgbnVtID0gMDsKLSsgICAgICAgICAgICAgICAgICAgICAgIGdvdF9udW0gPSAw OwotKyAgICAgICAgICAgICAgICAgICAgICAgaSsrOwotKyAgICAgICAgICAgICAgIH0gZWxzZSB7 Ci0rICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSsgICAgICAgICAgICAgICB9Ci0rICAg ICAgIH0KLSsKLSsgICAgICAgaWYgKGogPT0gTUFDX0FERFJfTEVOKSB7Ci0rICAgICAgICAgICAg ICAgbmV0aWZfZGJnKGRldiwgaWZ1cCwgZGV2LT5uZXQsICJPdmVycmlkaW5nIE1BQyBhZGRyZXNz IHdpdGg6ICIKLSsgICAgICAgICAgICAgICAiJTAyeDolMDJ4OiUwMng6JTAyeDolMDJ4OiUwMnhc biIsIG10YmxbMF0sIG10YmxbMV0sIG10YmxbMl0sCi0rICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBtdGJsWzNdLCBtdGJsWzRdLCBtdGJsWzVdKTsKLSsgICAg ICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgTUFDX0FERFJfTEVOOyBpKyspCi0rICAgICAgICAg ICAgICAgICAgICAgICBkZXZfbWFjW2ldID0gbXRibFtpXTsKLSsgICAgICAgICAgICAgICByZXR1 cm4gMTsKLSsgICAgICAgfSBlbHNlIHsKLSsgICAgICAgICAgICAgICByZXR1cm4gMDsKLSsgICAg ICAgfQotK30KLSsKLSBzdGF0aWMgdm9pZCBzbXNjOTV4eF9pbml0X21hY19hZGRyZXNzKHN0cnVj dCB1c2JuZXQgKmRldikKLSB7Ci0rICAgICAgIC8qIENoZWNrIG1vZHVsZSBwYXJhbWV0ZXJzICov Ci0rICAgICAgIGlmIChzbXNjOTV4eF9pc19tYWNhZGRyX3BhcmFtKGRldiwgZGV2LT5uZXQtPmRl dl9hZGRyKSkKLSsgICAgICAgICAgICAgICByZXR1cm47Ci0rCi0gCWNvbnN0IHU4ICptYWNfYWRk cjsKLSAKLSAJLyogbWF5YmUgdGhlIGJvb3QgbG9hZGVyIHBhc3NlZCB0aGUgTUFDIGFkZHJlc3Mg aW4gZGV2aWNldHJlZSAqLwotLS0gCi0yLjEwLjIKLQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saW51 eDUuNi9wYXRjaGVzL3Ntc2M5NXh4LW1hYy5wYXRjaCBiL3NyY3BrZ3MvbGludXg1LjYvcGF0Y2hl cy9zbXNjOTV4eC1tYWMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJmNzdj MmQ5ZTIzLi4wMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2xpbnV4NS42L3BhdGNoZXMvc21zYzk1 eHgtbWFjLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsOTUgKzAsMCBAQAotRnJvbSBlMzZkNjA3 ZDU2ZGM1YzBjYmYyY2I2MDBlNzY4NmI1NTllYTc3YjQ0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQotRnJvbTogcG9wY29ybm1peCA8cG9wY29ybm1peEBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDE4 IEZlYiAyMDE0IDAxOjQzOjUwIC0wMzAwCi1TdWJqZWN0OiBbUEFUQ0hdIG5ldC9zbXNjOTV4eDog QWxsb3cgbWFjIGFkZHJlc3MgdG8gYmUgc2V0IGFzIGEgcGFyYW1ldGVyCi0KLS0tLQotIGRyaXZl cnMvbmV0L3VzYi9zbXNjOTV4eC5jIHwgNTYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA1NiBpbnNlcnRpb25zKCspCi0KLWRp ZmYgLS1naXQgYS9kcml2ZXJzL25ldC91c2Ivc21zYzk1eHguYyBiL2RyaXZlcnMvbmV0L3VzYi9z bXNjOTV4eC5jCi1pbmRleCBkYzk4OWE4Li45MTJiZTc1IDEwMDY0NAotLS0tIGEvZHJpdmVycy9u ZXQvdXNiL3Ntc2M5NXh4LmMKLSsrKyBiL2RyaXZlcnMvbmV0L3VzYi9zbXNjOTV4eC5jCi1AQCAt NjAsNiArNjAsNyBAQAotICNkZWZpbmUgU1VTUEVORF9TVVNQRU5EMwkJKDB4MDgpCi0gI2RlZmlu ZSBTVVNQRU5EX0FMTE1PREVTCQkoU1VTUEVORF9TVVNQRU5EMCB8IFNVU1BFTkRfU1VTUEVORDEg fCBcCi0gCQkJCQkgU1VTUEVORF9TVVNQRU5EMiB8IFNVU1BFTkRfU1VTUEVORDMpCi0rI2RlZmlu ZSBNQUNfQUREUl9MRU4gICAgICAgICAgICAgICAgICAgICg2KQotIAotICNkZWZpbmUgQ0FSUklF Ul9DSEVDS19ERUxBWSAoMiAqIEhaKQotIAotQEAgLTgwLDYgKzgxLDEwIEBAIHN0YXRpYyBib29s IHR1cmJvX21vZGUgPSB0cnVlOwotIG1vZHVsZV9wYXJhbSh0dXJib19tb2RlLCBib29sLCAwNjQ0 KTsKLSBNT0RVTEVfUEFSTV9ERVNDKHR1cmJvX21vZGUsICJFbmFibGUgbXVsdGlwbGUgZnJhbWVz IHBlciBSeCB0cmFuc2FjdGlvbiIpOwotIAotK3N0YXRpYyBjaGFyICptYWNhZGRyID0gIjoiOwot K21vZHVsZV9wYXJhbShtYWNhZGRyLCBjaGFycCwgMCk7Ci0rTU9EVUxFX1BBUk1fREVTQyhtYWNh ZGRyLCAiTUFDIGFkZHJlc3MiKTsKLSsKLSBzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBfX3Ntc2M5 NXh4X3JlYWRfcmVnKHN0cnVjdCB1c2JuZXQgKmRldiwgdTMyIGluZGV4LAotIAkJCQkJICAgIHUz MiAqZGF0YSwgaW50IGluX3BtKQotIHsKLUBAIC04MDksOCArODE0LDU5IEBAIHN0YXRpYyBpbnQg c21zYzk1eHhfaW9jdGwoc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldiwgc3RydWN0IGlmcmVxICpy cSwgaW50IGNtZCkKLSAJcmV0dXJuIGdlbmVyaWNfbWlpX2lvY3RsKCZkZXYtPm1paSwgaWZfbWlp KHJxKSwgY21kLCBOVUxMKTsKLSB9Ci0gCi0rLyogQ2hlY2sgdGhlIG1hY2FkZHIgbW9kdWxlIHBh cmFtZXRlciBmb3IgYSBNQUMgYWRkcmVzcyAqLwotK3N0YXRpYyBpbnQgc21zYzk1eHhfaXNfbWFj YWRkcl9wYXJhbShzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4ICpkZXZfbWFjKQotK3sKLSsgICAgICAg aW50IGksIGosIGdvdF9udW0sIG51bTsKLSsgICAgICAgdTggbXRibFtNQUNfQUREUl9MRU5dOwot KwotKyAgICAgICBpZiAobWFjYWRkclswXSA9PSAnOicpCi0rICAgICAgICAgICAgICAgcmV0dXJu IDA7Ci0rCi0rICAgICAgIGkgPSAwOwotKyAgICAgICBqID0gMDsKLSsgICAgICAgbnVtID0gMDsK LSsgICAgICAgZ290X251bSA9IDA7Ci0rICAgICAgIHdoaWxlIChqIDwgTUFDX0FERFJfTEVOKSB7 Ci0rICAgICAgICAgICAgICAgaWYgKG1hY2FkZHJbaV0gJiYgbWFjYWRkcltpXSAhPSAnOicpIHsK LSsgICAgICAgICAgICAgICAgICAgICAgIGdvdF9udW0rKzsKLSsgICAgICAgICAgICAgICAgICAg ICAgIGlmICgnMCcgPD0gbWFjYWRkcltpXSAmJiBtYWNhZGRyW2ldIDw9ICc5JykKLSsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbnVtID0gbnVtICogMTYgKyBtYWNhZGRyW2ldIC0gJzAn OwotKyAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoJ0EnIDw9IG1hY2FkZHJbaV0gJiYg bWFjYWRkcltpXSA8PSAnRicpCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bSA9 IG51bSAqIDE2ICsgMTAgKyBtYWNhZGRyW2ldIC0gJ0EnOwotKyAgICAgICAgICAgICAgICAgICAg ICAgZWxzZSBpZiAoJ2EnIDw9IG1hY2FkZHJbaV0gJiYgbWFjYWRkcltpXSA8PSAnZicpCi0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bSA9IG51bSAqIDE2ICsgMTAgKyBtYWNhZGRy W2ldIC0gJ2EnOwotKyAgICAgICAgICAgICAgICAgICAgICAgZWxzZQotKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBicmVhazsKLSsgICAgICAgICAgICAgICAgICAgICAgIGkrKzsKLSsg ICAgICAgICAgICAgICB9IGVsc2UgaWYgKGdvdF9udW0gPT0gMikgewotKyAgICAgICAgICAgICAg ICAgICAgICAgbXRibFtqKytdID0gKHU4KSBudW07Ci0rICAgICAgICAgICAgICAgICAgICAgICBu dW0gPSAwOwotKyAgICAgICAgICAgICAgICAgICAgICAgZ290X251bSA9IDA7Ci0rICAgICAgICAg ICAgICAgICAgICAgICBpKys7Ci0rICAgICAgICAgICAgICAgfSBlbHNlIHsKLSsgICAgICAgICAg ICAgICAgICAgICAgIGJyZWFrOwotKyAgICAgICAgICAgICAgIH0KLSsgICAgICAgfQotKwotKyAg ICAgICBpZiAoaiA9PSBNQUNfQUREUl9MRU4pIHsKLSsgICAgICAgICAgICAgICBuZXRpZl9kYmco ZGV2LCBpZnVwLCBkZXYtPm5ldCwgIk92ZXJyaWRpbmcgTUFDIGFkZHJlc3Mgd2l0aDogIgotKyAg ICAgICAgICAgICAgICIlMDJ4OiUwMng6JTAyeDolMDJ4OiUwMng6JTAyeFxuIiwgbXRibFswXSwg bXRibFsxXSwgbXRibFsyXSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG10YmxbM10sIG10YmxbNF0sIG10YmxbNV0pOwotKyAgICAgICAgICAgICAgIGZv ciAoaSA9IDA7IGkgPCBNQUNfQUREUl9MRU47IGkrKykKLSsgICAgICAgICAgICAgICAgICAgICAg IGRldl9tYWNbaV0gPSBtdGJsW2ldOwotKyAgICAgICAgICAgICAgIHJldHVybiAxOwotKyAgICAg ICB9IGVsc2UgewotKyAgICAgICAgICAgICAgIHJldHVybiAwOwotKyAgICAgICB9Ci0rfQotKwot IHN0YXRpYyB2b2lkIHNtc2M5NXh4X2luaXRfbWFjX2FkZHJlc3Moc3RydWN0IHVzYm5ldCAqZGV2 KQotIHsKLSsgICAgICAgLyogQ2hlY2sgbW9kdWxlIHBhcmFtZXRlcnMgKi8KLSsgICAgICAgaWYg KHNtc2M5NXh4X2lzX21hY2FkZHJfcGFyYW0oZGV2LCBkZXYtPm5ldC0+ZGV2X2FkZHIpKQotKyAg ICAgICAgICAgICAgIHJldHVybjsKLSsKLSAJY29uc3QgdTggKm1hY19hZGRyOwotIAotIAkvKiBt YXliZSB0aGUgYm9vdCBsb2FkZXIgcGFzc2VkIHRoZSBNQUMgYWRkcmVzcyBpbiBkZXZpY2V0cmVl ICovCi0tLSAKLTIuMTAuMgotCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpbnV4NS43L3BhdGNoZXMv c21zYzk1eHgtbWFjLnBhdGNoIGIvc3JjcGtncy9saW51eDUuNy9wYXRjaGVzL3Ntc2M5NXh4LW1h Yy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmY3N2MyZDllMjMuLjAwMDAw MDAwMDAwCi0tLSBhL3NyY3BrZ3MvbGludXg1LjcvcGF0Y2hlcy9zbXNjOTV4eC1tYWMucGF0Y2gK KysrIC9kZXYvbnVsbApAQCAtMSw5NSArMCwwIEBACi1Gcm9tIGUzNmQ2MDdkNTZkYzVjMGNiZjJj YjYwMGU3Njg2YjU1OWVhNzdiNDQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBwb3Bj b3JubWl4IDxwb3Bjb3JubWl4QGdtYWlsLmNvbT4KLURhdGU6IFR1ZSwgMTggRmViIDIwMTQgMDE6 NDM6NTAgLTAzMDAKLVN1YmplY3Q6IFtQQVRDSF0gbmV0L3Ntc2M5NXh4OiBBbGxvdyBtYWMgYWRk cmVzcyB0byBiZSBzZXQgYXMgYSBwYXJhbWV0ZXIKLQotLS0tCi0gZHJpdmVycy9uZXQvdXNiL3Nt c2M5NXh4LmMgfCA1NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrCi0gMSBmaWxlIGNoYW5nZWQsIDU2IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2Ry aXZlcnMvbmV0L3VzYi9zbXNjOTV4eC5jIGIvZHJpdmVycy9uZXQvdXNiL3Ntc2M5NXh4LmMKLWlu ZGV4IGRjOTg5YTguLjkxMmJlNzUgMTAwNjQ0Ci0tLS0gYS9kcml2ZXJzL25ldC91c2Ivc21zYzk1 eHguYwotKysrIGIvZHJpdmVycy9uZXQvdXNiL3Ntc2M5NXh4LmMKLUBAIC02MCw2ICs2MCw3IEBA Ci0gI2RlZmluZSBTVVNQRU5EX1NVU1BFTkQzCQkoMHgwOCkKLSAjZGVmaW5lIFNVU1BFTkRfQUxM TU9ERVMJCShTVVNQRU5EX1NVU1BFTkQwIHwgU1VTUEVORF9TVVNQRU5EMSB8IFwKLSAJCQkJCSBT VVNQRU5EX1NVU1BFTkQyIHwgU1VTUEVORF9TVVNQRU5EMykKLSsjZGVmaW5lIE1BQ19BRERSX0xF TiAgICAgICAgICAgICAgICAgICAgKDYpCi0gCi0gI2RlZmluZSBDQVJSSUVSX0NIRUNLX0RFTEFZ ICgyICogSFopCi0gCi1AQCAtODAsNiArODEsMTAgQEAgc3RhdGljIGJvb2wgdHVyYm9fbW9kZSA9 IHRydWU7Ci0gbW9kdWxlX3BhcmFtKHR1cmJvX21vZGUsIGJvb2wsIDA2NDQpOwotIE1PRFVMRV9Q QVJNX0RFU0ModHVyYm9fbW9kZSwgIkVuYWJsZSBtdWx0aXBsZSBmcmFtZXMgcGVyIFJ4IHRyYW5z YWN0aW9uIik7Ci0gCi0rc3RhdGljIGNoYXIgKm1hY2FkZHIgPSAiOiI7Ci0rbW9kdWxlX3BhcmFt KG1hY2FkZHIsIGNoYXJwLCAwKTsKLStNT0RVTEVfUEFSTV9ERVNDKG1hY2FkZHIsICJNQUMgYWRk cmVzcyIpOwotKwotIHN0YXRpYyBpbnQgX19tdXN0X2NoZWNrIF9fc21zYzk1eHhfcmVhZF9yZWco c3RydWN0IHVzYm5ldCAqZGV2LCB1MzIgaW5kZXgsCi0gCQkJCQkgICAgdTMyICpkYXRhLCBpbnQg aW5fcG0pCi0gewotQEAgLTgwOSw4ICs4MTQsNTkgQEAgc3RhdGljIGludCBzbXNjOTV4eF9pb2N0 bChzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LCBzdHJ1Y3QgaWZyZXEgKnJxLCBpbnQgY21kKQot IAlyZXR1cm4gZ2VuZXJpY19taWlfaW9jdGwoJmRldi0+bWlpLCBpZl9taWkocnEpLCBjbWQsIE5V TEwpOwotIH0KLSAKLSsvKiBDaGVjayB0aGUgbWFjYWRkciBtb2R1bGUgcGFyYW1ldGVyIGZvciBh IE1BQyBhZGRyZXNzICovCi0rc3RhdGljIGludCBzbXNjOTV4eF9pc19tYWNhZGRyX3BhcmFtKHN0 cnVjdCB1c2JuZXQgKmRldiwgdTggKmRldl9tYWMpCi0rewotKyAgICAgICBpbnQgaSwgaiwgZ290 X251bSwgbnVtOwotKyAgICAgICB1OCBtdGJsW01BQ19BRERSX0xFTl07Ci0rCi0rICAgICAgIGlm IChtYWNhZGRyWzBdID09ICc6JykKLSsgICAgICAgICAgICAgICByZXR1cm4gMDsKLSsKLSsgICAg ICAgaSA9IDA7Ci0rICAgICAgIGogPSAwOwotKyAgICAgICBudW0gPSAwOwotKyAgICAgICBnb3Rf bnVtID0gMDsKLSsgICAgICAgd2hpbGUgKGogPCBNQUNfQUREUl9MRU4pIHsKLSsgICAgICAgICAg ICAgICBpZiAobWFjYWRkcltpXSAmJiBtYWNhZGRyW2ldICE9ICc6JykgewotKyAgICAgICAgICAg ICAgICAgICAgICAgZ290X251bSsrOwotKyAgICAgICAgICAgICAgICAgICAgICAgaWYgKCcwJyA8 PSBtYWNhZGRyW2ldICYmIG1hY2FkZHJbaV0gPD0gJzknKQotKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBudW0gPSBudW0gKiAxNiArIG1hY2FkZHJbaV0gLSAnMCc7Ci0rICAgICAgICAg ICAgICAgICAgICAgICBlbHNlIGlmICgnQScgPD0gbWFjYWRkcltpXSAmJiBtYWNhZGRyW2ldIDw9 ICdGJykKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtID0gbnVtICogMTYgKyAx MCArIG1hY2FkZHJbaV0gLSAnQSc7Ci0rICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICgn YScgPD0gbWFjYWRkcltpXSAmJiBtYWNhZGRyW2ldIDw9ICdmJykKLSsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbnVtID0gbnVtICogMTYgKyAxMCArIG1hY2FkZHJbaV0gLSAnYSc7Ci0r ICAgICAgICAgICAgICAgICAgICAgICBlbHNlCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGJyZWFrOwotKyAgICAgICAgICAgICAgICAgICAgICAgaSsrOwotKyAgICAgICAgICAgICAg IH0gZWxzZSBpZiAoZ290X251bSA9PSAyKSB7Ci0rICAgICAgICAgICAgICAgICAgICAgICBtdGJs W2orK10gPSAodTgpIG51bTsKLSsgICAgICAgICAgICAgICAgICAgICAgIG51bSA9IDA7Ci0rICAg ICAgICAgICAgICAgICAgICAgICBnb3RfbnVtID0gMDsKLSsgICAgICAgICAgICAgICAgICAgICAg IGkrKzsKLSsgICAgICAgICAgICAgICB9IGVsc2UgewotKyAgICAgICAgICAgICAgICAgICAgICAg YnJlYWs7Ci0rICAgICAgICAgICAgICAgfQotKyAgICAgICB9Ci0rCi0rICAgICAgIGlmIChqID09 IE1BQ19BRERSX0xFTikgewotKyAgICAgICAgICAgICAgIG5ldGlmX2RiZyhkZXYsIGlmdXAsIGRl di0+bmV0LCAiT3ZlcnJpZGluZyBNQUMgYWRkcmVzcyB3aXRoOiAiCi0rICAgICAgICAgICAgICAg IiUwMng6JTAyeDolMDJ4OiUwMng6JTAyeDolMDJ4XG4iLCBtdGJsWzBdLCBtdGJsWzFdLCBtdGJs WzJdLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXRi bFszXSwgbXRibFs0XSwgbXRibFs1XSk7Ci0rICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8 IE1BQ19BRERSX0xFTjsgaSsrKQotKyAgICAgICAgICAgICAgICAgICAgICAgZGV2X21hY1tpXSA9 IG10YmxbaV07Ci0rICAgICAgICAgICAgICAgcmV0dXJuIDE7Ci0rICAgICAgIH0gZWxzZSB7Ci0r ICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0rICAgICAgIH0KLSt9Ci0rCi0gc3RhdGljIHZvaWQg c21zYzk1eHhfaW5pdF9tYWNfYWRkcmVzcyhzdHJ1Y3QgdXNibmV0ICpkZXYpCi0gewotKyAgICAg ICAvKiBDaGVjayBtb2R1bGUgcGFyYW1ldGVycyAqLwotKyAgICAgICBpZiAoc21zYzk1eHhfaXNf bWFjYWRkcl9wYXJhbShkZXYsIGRldi0+bmV0LT5kZXZfYWRkcikpCi0rICAgICAgICAgICAgICAg cmV0dXJuOwotKwotIAljb25zdCB1OCAqbWFjX2FkZHI7Ci0gCi0gCS8qIG1heWJlIHRoZSBib290 IGxvYWRlciBwYXNzZWQgdGhlIE1BQyBhZGRyZXNzIGluIGRldmljZXRyZWUgKi8KLS0tIAotMi4x MC4yCi0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGludXg1LjgvcGF0Y2hlcy9zbXNjOTV4eC1tYWMu cGF0Y2ggYi9zcmNwa2dzL2xpbnV4NS44L3BhdGNoZXMvc21zYzk1eHgtbWFjLnBhdGNoCmRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZjc3YzJkOWUyMy4uMDAwMDAwMDAwMDAKLS0tIGEv c3JjcGtncy9saW51eDUuOC9wYXRjaGVzL3Ntc2M5NXh4LW1hYy5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDk1ICswLDAgQEAKLUZyb20gZTM2ZDYwN2Q1NmRjNWMwY2JmMmNiNjAwZTc2ODZiNTU5 ZWE3N2I0NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IHBvcGNvcm5taXggPHBvcGNv cm5taXhAZ21haWwuY29tPgotRGF0ZTogVHVlLCAxOCBGZWIgMjAxNCAwMTo0Mzo1MCAtMDMwMAot U3ViamVjdDogW1BBVENIXSBuZXQvc21zYzk1eHg6IEFsbG93IG1hYyBhZGRyZXNzIHRvIGJlIHNl dCBhcyBhIHBhcmFtZXRlcgotCi0tLS0KLSBkcml2ZXJzL25ldC91c2Ivc21zYzk1eHguYyB8IDU2 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKLSAxIGZpbGUg Y2hhbmdlZCwgNTYgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdXNi L3Ntc2M5NXh4LmMgYi9kcml2ZXJzL25ldC91c2Ivc21zYzk1eHguYwotaW5kZXggZGM5ODlhOC4u OTEyYmU3NSAxMDA2NDQKLS0tLSBhL2RyaXZlcnMvbmV0L3VzYi9zbXNjOTV4eC5jCi0rKysgYi9k cml2ZXJzL25ldC91c2Ivc21zYzk1eHguYwotQEAgLTYwLDYgKzYwLDcgQEAKLSAjZGVmaW5lIFNV U1BFTkRfU1VTUEVORDMJCSgweDA4KQotICNkZWZpbmUgU1VTUEVORF9BTExNT0RFUwkJKFNVU1BF TkRfU1VTUEVORDAgfCBTVVNQRU5EX1NVU1BFTkQxIHwgXAotIAkJCQkJIFNVU1BFTkRfU1VTUEVO RDIgfCBTVVNQRU5EX1NVU1BFTkQzKQotKyNkZWZpbmUgTUFDX0FERFJfTEVOICAgICAgICAgICAg ICAgICAgICAoNikKLSAKLSAjZGVmaW5lIENBUlJJRVJfQ0hFQ0tfREVMQVkgKDIgKiBIWikKLSAK LUBAIC04MCw2ICs4MSwxMCBAQCBzdGF0aWMgYm9vbCB0dXJib19tb2RlID0gdHJ1ZTsKLSBtb2R1 bGVfcGFyYW0odHVyYm9fbW9kZSwgYm9vbCwgMDY0NCk7Ci0gTU9EVUxFX1BBUk1fREVTQyh0dXJi b19tb2RlLCAiRW5hYmxlIG11bHRpcGxlIGZyYW1lcyBwZXIgUnggdHJhbnNhY3Rpb24iKTsKLSAK LStzdGF0aWMgY2hhciAqbWFjYWRkciA9ICI6IjsKLSttb2R1bGVfcGFyYW0obWFjYWRkciwgY2hh cnAsIDApOwotK01PRFVMRV9QQVJNX0RFU0MobWFjYWRkciwgIk1BQyBhZGRyZXNzIik7Ci0rCi0g c3RhdGljIGludCBfX211c3RfY2hlY2sgX19zbXNjOTV4eF9yZWFkX3JlZyhzdHJ1Y3QgdXNibmV0 ICpkZXYsIHUzMiBpbmRleCwKLSAJCQkJCSAgICB1MzIgKmRhdGEsIGludCBpbl9wbSkKLSB7Ci1A QCAtODA5LDggKzgxNCw1OSBAQCBzdGF0aWMgaW50IHNtc2M5NXh4X2lvY3RsKHN0cnVjdCBuZXRf ZGV2aWNlICpuZXRkZXYsIHN0cnVjdCBpZnJlcSAqcnEsIGludCBjbWQpCi0gCXJldHVybiBnZW5l cmljX21paV9pb2N0bCgmZGV2LT5taWksIGlmX21paShycSksIGNtZCwgTlVMTCk7Ci0gfQotIAot Ky8qIENoZWNrIHRoZSBtYWNhZGRyIG1vZHVsZSBwYXJhbWV0ZXIgZm9yIGEgTUFDIGFkZHJlc3Mg Ki8KLStzdGF0aWMgaW50IHNtc2M5NXh4X2lzX21hY2FkZHJfcGFyYW0oc3RydWN0IHVzYm5ldCAq ZGV2LCB1OCAqZGV2X21hYykKLSt7Ci0rICAgICAgIGludCBpLCBqLCBnb3RfbnVtLCBudW07Ci0r ICAgICAgIHU4IG10YmxbTUFDX0FERFJfTEVOXTsKLSsKLSsgICAgICAgaWYgKG1hY2FkZHJbMF0g PT0gJzonKQotKyAgICAgICAgICAgICAgIHJldHVybiAwOwotKwotKyAgICAgICBpID0gMDsKLSsg ICAgICAgaiA9IDA7Ci0rICAgICAgIG51bSA9IDA7Ci0rICAgICAgIGdvdF9udW0gPSAwOwotKyAg ICAgICB3aGlsZSAoaiA8IE1BQ19BRERSX0xFTikgewotKyAgICAgICAgICAgICAgIGlmIChtYWNh ZGRyW2ldICYmIG1hY2FkZHJbaV0gIT0gJzonKSB7Ci0rICAgICAgICAgICAgICAgICAgICAgICBn b3RfbnVtKys7Ci0rICAgICAgICAgICAgICAgICAgICAgICBpZiAoJzAnIDw9IG1hY2FkZHJbaV0g JiYgbWFjYWRkcltpXSA8PSAnOScpCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51 bSA9IG51bSAqIDE2ICsgbWFjYWRkcltpXSAtICcwJzsKLSsgICAgICAgICAgICAgICAgICAgICAg IGVsc2UgaWYgKCdBJyA8PSBtYWNhZGRyW2ldICYmIG1hY2FkZHJbaV0gPD0gJ0YnKQotKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBudW0gPSBudW0gKiAxNiArIDEwICsgbWFjYWRkcltp XSAtICdBJzsKLSsgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCdhJyA8PSBtYWNhZGRy W2ldICYmIG1hY2FkZHJbaV0gPD0gJ2YnKQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBudW0gPSBudW0gKiAxNiArIDEwICsgbWFjYWRkcltpXSAtICdhJzsKLSsgICAgICAgICAgICAg ICAgICAgICAgIGVsc2UKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0r ICAgICAgICAgICAgICAgICAgICAgICBpKys7Ci0rICAgICAgICAgICAgICAgfSBlbHNlIGlmIChn b3RfbnVtID09IDIpIHsKLSsgICAgICAgICAgICAgICAgICAgICAgIG10YmxbaisrXSA9ICh1OCkg bnVtOwotKyAgICAgICAgICAgICAgICAgICAgICAgbnVtID0gMDsKLSsgICAgICAgICAgICAgICAg ICAgICAgIGdvdF9udW0gPSAwOwotKyAgICAgICAgICAgICAgICAgICAgICAgaSsrOwotKyAgICAg ICAgICAgICAgIH0gZWxzZSB7Ci0rICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSsgICAg ICAgICAgICAgICB9Ci0rICAgICAgIH0KLSsKLSsgICAgICAgaWYgKGogPT0gTUFDX0FERFJfTEVO KSB7Ci0rICAgICAgICAgICAgICAgbmV0aWZfZGJnKGRldiwgaWZ1cCwgZGV2LT5uZXQsICJPdmVy cmlkaW5nIE1BQyBhZGRyZXNzIHdpdGg6ICIKLSsgICAgICAgICAgICAgICAiJTAyeDolMDJ4OiUw Mng6JTAyeDolMDJ4OiUwMnhcbiIsIG10YmxbMF0sIG10YmxbMV0sIG10YmxbMl0sCi0rICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdGJsWzNdLCBtdGJsWzRd LCBtdGJsWzVdKTsKLSsgICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgTUFDX0FERFJfTEVO OyBpKyspCi0rICAgICAgICAgICAgICAgICAgICAgICBkZXZfbWFjW2ldID0gbXRibFtpXTsKLSsg ICAgICAgICAgICAgICByZXR1cm4gMTsKLSsgICAgICAgfSBlbHNlIHsKLSsgICAgICAgICAgICAg ICByZXR1cm4gMDsKLSsgICAgICAgfQotK30KLSsKLSBzdGF0aWMgdm9pZCBzbXNjOTV4eF9pbml0 X21hY19hZGRyZXNzKHN0cnVjdCB1c2JuZXQgKmRldikKLSB7Ci0rICAgICAgIC8qIENoZWNrIG1v ZHVsZSBwYXJhbWV0ZXJzICovCi0rICAgICAgIGlmIChzbXNjOTV4eF9pc19tYWNhZGRyX3BhcmFt KGRldiwgZGV2LT5uZXQtPmRldl9hZGRyKSkKLSsgICAgICAgICAgICAgICByZXR1cm47Ci0rCi0g CWNvbnN0IHU4ICptYWNfYWRkcjsKLSAKLSAJLyogbWF5YmUgdGhlIGJvb3QgbG9hZGVyIHBhc3Nl ZCB0aGUgTUFDIGFkZHJlc3MgaW4gZGV2aWNldHJlZSAqLwotLS0gCi0yLjEwLjIKLQpkaWZmIC0t Z2l0IGEvc3JjcGtncy9waW5lYm9va3Byby1rZXJuZWwvcGF0Y2hlcy9zbXNjOTV4eC1tYWMucGF0 Y2ggYi9zcmNwa2dzL3BpbmVib29rcHJvLWtlcm5lbC9wYXRjaGVzL3Ntc2M5NXh4LW1hYy5wYXRj aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmY3N2MyZDllMjMuLjAwMDAwMDAwMDAw Ci0tLSBhL3NyY3BrZ3MvcGluZWJvb2twcm8ta2VybmVsL3BhdGNoZXMvc21zYzk1eHgtbWFjLnBh dGNoCisrKyAvZGV2L251bGwKQEAgLTEsOTUgKzAsMCBAQAotRnJvbSBlMzZkNjA3ZDU2ZGM1YzBj YmYyY2I2MDBlNzY4NmI1NTllYTc3YjQ0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTog cG9wY29ybm1peCA8cG9wY29ybm1peEBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDE4IEZlYiAyMDE0 IDAxOjQzOjUwIC0wMzAwCi1TdWJqZWN0OiBbUEFUQ0hdIG5ldC9zbXNjOTV4eDogQWxsb3cgbWFj IGFkZHJlc3MgdG8gYmUgc2V0IGFzIGEgcGFyYW1ldGVyCi0KLS0tLQotIGRyaXZlcnMvbmV0L3Vz Yi9zbXNjOTV4eC5jIHwgNTYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA1NiBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQg YS9kcml2ZXJzL25ldC91c2Ivc21zYzk1eHguYyBiL2RyaXZlcnMvbmV0L3VzYi9zbXNjOTV4eC5j Ci1pbmRleCBkYzk4OWE4Li45MTJiZTc1IDEwMDY0NAotLS0tIGEvZHJpdmVycy9uZXQvdXNiL3Nt c2M5NXh4LmMKLSsrKyBiL2RyaXZlcnMvbmV0L3VzYi9zbXNjOTV4eC5jCi1AQCAtNjAsNiArNjAs NyBAQAotICNkZWZpbmUgU1VTUEVORF9TVVNQRU5EMwkJKDB4MDgpCi0gI2RlZmluZSBTVVNQRU5E X0FMTE1PREVTCQkoU1VTUEVORF9TVVNQRU5EMCB8IFNVU1BFTkRfU1VTUEVORDEgfCBcCi0gCQkJ CQkgU1VTUEVORF9TVVNQRU5EMiB8IFNVU1BFTkRfU1VTUEVORDMpCi0rI2RlZmluZSBNQUNfQURE Ul9MRU4gICAgICAgICAgICAgICAgICAgICg2KQotIAotICNkZWZpbmUgQ0FSUklFUl9DSEVDS19E RUxBWSAoMiAqIEhaKQotIAotQEAgLTgwLDYgKzgxLDEwIEBAIHN0YXRpYyBib29sIHR1cmJvX21v ZGUgPSB0cnVlOwotIG1vZHVsZV9wYXJhbSh0dXJib19tb2RlLCBib29sLCAwNjQ0KTsKLSBNT0RV TEVfUEFSTV9ERVNDKHR1cmJvX21vZGUsICJFbmFibGUgbXVsdGlwbGUgZnJhbWVzIHBlciBSeCB0 cmFuc2FjdGlvbiIpOwotIAotK3N0YXRpYyBjaGFyICptYWNhZGRyID0gIjoiOwotK21vZHVsZV9w YXJhbShtYWNhZGRyLCBjaGFycCwgMCk7Ci0rTU9EVUxFX1BBUk1fREVTQyhtYWNhZGRyLCAiTUFD IGFkZHJlc3MiKTsKLSsKLSBzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBfX3Ntc2M5NXh4X3JlYWRf cmVnKHN0cnVjdCB1c2JuZXQgKmRldiwgdTMyIGluZGV4LAotIAkJCQkJICAgIHUzMiAqZGF0YSwg aW50IGluX3BtKQotIHsKLUBAIC04MDksOCArODE0LDU5IEBAIHN0YXRpYyBpbnQgc21zYzk1eHhf aW9jdGwoc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldiwgc3RydWN0IGlmcmVxICpycSwgaW50IGNt ZCkKLSAJcmV0dXJuIGdlbmVyaWNfbWlpX2lvY3RsKCZkZXYtPm1paSwgaWZfbWlpKHJxKSwgY21k LCBOVUxMKTsKLSB9Ci0gCi0rLyogQ2hlY2sgdGhlIG1hY2FkZHIgbW9kdWxlIHBhcmFtZXRlciBm b3IgYSBNQUMgYWRkcmVzcyAqLwotK3N0YXRpYyBpbnQgc21zYzk1eHhfaXNfbWFjYWRkcl9wYXJh bShzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4ICpkZXZfbWFjKQotK3sKLSsgICAgICAgaW50IGksIGos IGdvdF9udW0sIG51bTsKLSsgICAgICAgdTggbXRibFtNQUNfQUREUl9MRU5dOwotKwotKyAgICAg ICBpZiAobWFjYWRkclswXSA9PSAnOicpCi0rICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0rCi0r ICAgICAgIGkgPSAwOwotKyAgICAgICBqID0gMDsKLSsgICAgICAgbnVtID0gMDsKLSsgICAgICAg Z290X251bSA9IDA7Ci0rICAgICAgIHdoaWxlIChqIDwgTUFDX0FERFJfTEVOKSB7Ci0rICAgICAg ICAgICAgICAgaWYgKG1hY2FkZHJbaV0gJiYgbWFjYWRkcltpXSAhPSAnOicpIHsKLSsgICAgICAg ICAgICAgICAgICAgICAgIGdvdF9udW0rKzsKLSsgICAgICAgICAgICAgICAgICAgICAgIGlmICgn MCcgPD0gbWFjYWRkcltpXSAmJiBtYWNhZGRyW2ldIDw9ICc5JykKLSsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbnVtID0gbnVtICogMTYgKyBtYWNhZGRyW2ldIC0gJzAnOwotKyAgICAg ICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoJ0EnIDw9IG1hY2FkZHJbaV0gJiYgbWFjYWRkcltp XSA8PSAnRicpCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bSA9IG51bSAqIDE2 ICsgMTAgKyBtYWNhZGRyW2ldIC0gJ0EnOwotKyAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBp ZiAoJ2EnIDw9IG1hY2FkZHJbaV0gJiYgbWFjYWRkcltpXSA8PSAnZicpCi0rICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIG51bSA9IG51bSAqIDE2ICsgMTAgKyBtYWNhZGRyW2ldIC0gJ2En OwotKyAgICAgICAgICAgICAgICAgICAgICAgZWxzZQotKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBicmVhazsKLSsgICAgICAgICAgICAgICAgICAgICAgIGkrKzsKLSsgICAgICAgICAg ICAgICB9IGVsc2UgaWYgKGdvdF9udW0gPT0gMikgewotKyAgICAgICAgICAgICAgICAgICAgICAg bXRibFtqKytdID0gKHU4KSBudW07Ci0rICAgICAgICAgICAgICAgICAgICAgICBudW0gPSAwOwot KyAgICAgICAgICAgICAgICAgICAgICAgZ290X251bSA9IDA7Ci0rICAgICAgICAgICAgICAgICAg ICAgICBpKys7Ci0rICAgICAgICAgICAgICAgfSBlbHNlIHsKLSsgICAgICAgICAgICAgICAgICAg ICAgIGJyZWFrOwotKyAgICAgICAgICAgICAgIH0KLSsgICAgICAgfQotKwotKyAgICAgICBpZiAo aiA9PSBNQUNfQUREUl9MRU4pIHsKLSsgICAgICAgICAgICAgICBuZXRpZl9kYmcoZGV2LCBpZnVw LCBkZXYtPm5ldCwgIk92ZXJyaWRpbmcgTUFDIGFkZHJlc3Mgd2l0aDogIgotKyAgICAgICAgICAg ICAgICIlMDJ4OiUwMng6JTAyeDolMDJ4OiUwMng6JTAyeFxuIiwgbXRibFswXSwgbXRibFsxXSwg bXRibFsyXSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG10YmxbM10sIG10YmxbNF0sIG10YmxbNV0pOwotKyAgICAgICAgICAgICAgIGZvciAoaSA9IDA7 IGkgPCBNQUNfQUREUl9MRU47IGkrKykKLSsgICAgICAgICAgICAgICAgICAgICAgIGRldl9tYWNb aV0gPSBtdGJsW2ldOwotKyAgICAgICAgICAgICAgIHJldHVybiAxOwotKyAgICAgICB9IGVsc2Ug ewotKyAgICAgICAgICAgICAgIHJldHVybiAwOwotKyAgICAgICB9Ci0rfQotKwotIHN0YXRpYyB2 b2lkIHNtc2M5NXh4X2luaXRfbWFjX2FkZHJlc3Moc3RydWN0IHVzYm5ldCAqZGV2KQotIHsKLSsg ICAgICAgLyogQ2hlY2sgbW9kdWxlIHBhcmFtZXRlcnMgKi8KLSsgICAgICAgaWYgKHNtc2M5NXh4 X2lzX21hY2FkZHJfcGFyYW0oZGV2LCBkZXYtPm5ldC0+ZGV2X2FkZHIpKQotKyAgICAgICAgICAg ICAgIHJldHVybjsKLSsKLSAJY29uc3QgdTggKm1hY19hZGRyOwotIAotIAkvKiBtYXliZSB0aGUg Ym9vdCBsb2FkZXIgcGFzc2VkIHRoZSBNQUMgYWRkcmVzcyBpbiBkZXZpY2V0cmVlICovCi0tLSAK LTIuMTAuMgotCg== --===============7804445212247358794==--