From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 25843C04AB4 for ; Tue, 14 May 2019 19:58:55 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id B052220881 for ; Tue, 14 May 2019 19:58:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726143AbfENT6y (ORCPT ); Tue, 14 May 2019 15:58:54 -0400 Received: from shards.monkeyblade.net ([23.128.96.9]:57882 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726134AbfENT6x (ORCPT ); Tue, 14 May 2019 15:58:53 -0400 Received: from localhost (unknown [IPv6:2601:601:9f80:35cd::3d8]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) (Authenticated sender: davem-davemloft) by shards.monkeyblade.net (Postfix) with ESMTPSA id A28CA14B8F354 for ; Tue, 14 May 2019 12:58:51 -0700 (PDT) Date: Tue, 14 May 2019 12:58:49 -0700 (PDT) Message-Id: <20190514.125849.1258431573897075138.davem@davemloft.net> To: stable@vger.kernel.org Subject: [PATCHES] Networking From: David Miller X-Mailer: Mew version 6.8 on Emacs 26.1 Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="--Next_Part(Tue_May_14_12_58_49_2019_985)--" Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.5.12 (shards.monkeyblade.net [149.20.54.216]); Tue, 14 May 2019 12:58:52 -0700 (PDT) Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org ----Next_Part(Tue_May_14_12_58_49_2019_985)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Please queue up the following networking bug fixes for v5.0 and v5.1 -stable, respectively. Thank you. ----Next_Part(Tue_May_14_12_58_49_2019_985)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_50.mbox" RnJvbSA3OGU3OTczNjkyNzYyMDgyYjQxY2QwMjY4YWE3MjRiNjUwZjkyMWJjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYXJvZCBXaWxzb24gPGphcm9kQHJlZGhhdC5jb20+CkRhdGU6 IEZyaSwgMTAgTWF5IDIwMTkgMTc6NTc6MDkgLTA0MDAKU3ViamVjdDogW1BBVENIIDAxLzIzXSBi b25kaW5nOiBmaXggYXJwX3ZhbGlkYXRlIHRvZ2dsaW5nIGluIGFjdGl2ZS1iYWNrdXAKIG1vZGUK ClsgVXBzdHJlYW0gY29tbWl0IGE5YjhhMmIzOWNlNjVkZjQ1Njg3Y2Y5ZWY2NDg4ODVjMmE5OWZl NzUgXQoKVGhlcmUncyBjdXJyZW50bHkgYSBwcm9ibGVtIHdpdGggdG9nZ2xpbmcgYXJwX3ZhbGlk YXRlIG9uIGFuZCBvZmYgd2l0aCBhbgphY3RpdmUtYmFja3VwIGJvbmQuIEF0IHRoZSBtb21lbnQs IHlvdSBjYW4gc3RhcnQgdXAgYSBib25kLCBsaWtlIHNvOgoKbW9kcHJvYmUgYm9uZGluZyBtb2Rl PTEgYXJwX2ludGVydmFsPTEwMCBhcnBfdmFsaWRhdGU9MCBhcnBfaXBfdGFyZ2V0cz0xOTIuMTY4 LjEuMQppcCBsaW5rIHNldCBib25kMCBkb3duCmVjaG8gImVuczRmMCIgPiAvc3lzL2NsYXNzL25l dC9ib25kMC9ib25kaW5nL3NsYXZlcwplY2hvICJlbnM0ZjEiID4gL3N5cy9jbGFzcy9uZXQvYm9u ZDAvYm9uZGluZy9zbGF2ZXMKaXAgbGluayBzZXQgYm9uZDAgdXAKaXAgYWRkciBhZGQgMTkyLjE2 OC4xLjIvMjQgZGV2IGJvbmQwCgpQaW5ncyB0byAxOTIuMTY4LjEuMSB3b3JrIGp1c3QgZmluZS4g Tm93IHR1cm4gb24gYXJwX3ZhbGlkYXRlOgoKZWNobyAxID4gL3N5cy9jbGFzcy9uZXQvYm9uZDAv Ym9uZGluZy9hcnBfdmFsaWRhdGUKClBpbmdzIHRvIDE5Mi4xNjguMS4xIGNvbnRpbnVlIHRvIHdv cmsganVzdCBmaW5lLiBOb3cgd2hlbiB5b3UgZ28gdG8gdHVybgphcnBfdmFsaWRhdGUgb2ZmIGFn YWluLCB0aGUgbGluayBmYWxscyBmbGF0IG9uIGl0J3MgZmFjZToKCmVjaG8gMCA+IC9zeXMvY2xh c3MvbmV0L2JvbmQwL2JvbmRpbmcvYXJwX3ZhbGlkYXRlCmRtZXNnCi4uLgpbMTMzMTkxLjkxMTk4 N10gYm9uZDA6IFNldHRpbmcgYXJwX3ZhbGlkYXRlIHRvIG5vbmUgKDApClsxMzMxOTQuMjU3Nzkz XSBib25kMDogYm9uZF9zaG91bGRfbm90aWZ5X3BlZXJzOiBzbGF2ZSBlbnM0ZjAKWzEzMzE5NC4y NTgwMzFdIGJvbmQwOiBsaW5rIHN0YXR1cyBkZWZpbml0ZWx5IGRvd24gZm9yIGludGVyZmFjZSBl bnM0ZjAsIGRpc2FibGluZyBpdApbMTMzMTk0LjI1OTAwMF0gYm9uZDA6IG1ha2luZyBpbnRlcmZh Y2UgZW5zNGYxIHRoZSBuZXcgYWN0aXZlIG9uZQpbMTMzMTk3LjMzMDEzMF0gYm9uZDA6IGxpbmsg c3RhdHVzIGRlZmluaXRlbHkgZG93biBmb3IgaW50ZXJmYWNlIGVuczRmMSwgZGlzYWJsaW5nIGl0 ClsxMzMxOTcuMzMxMTkxXSBib25kMDogbm93IHJ1bm5pbmcgd2l0aG91dCBhbnkgYWN0aXZlIGlu dGVyZmFjZSEKClRoZSBwcm9ibGVtIGxpZXMgaW4gYm9uZF9vcHRpb25zLmMsIHdoZXJlIHBhc3Np bmcgaW4gYXJwX3ZhbGlkYXRlPTAKcmVzdWx0cyBpbiBib25kLT5yZWN2X3Byb2JlIGdldHRpbmcg c2V0IHRvIE5VTEwuIFRoaXMgZmxpZXMgZGlyZWN0bHkgaW4KdGhlIGZhY2Ugb2YgY29tbWl0IDNm ZTY4ZGY5N2M3Ziwgd2hpY2ggc2F5cyB3ZSBuZWVkIHRvIHNldCByZWN2X3Byb2JlID0KYm9uZF9h cnBfcmVjdiwgZXZlbiBpZiB3ZSdyZSBub3QgdXNpbmcgYXJwX3ZhbGlkYXRlLiBTYWlkIGNvbW1p dCBmaXhlZAp0aGlzIGluIGJvbmRfb3B0aW9uX2FycF9pbnRlcnZhbF9zZXQsIGJ1dCBtaXNzZWQg dGhhdCB3ZSBjYW4gZ2V0IHRvIHRoYXQKc2FtZSBzdGF0ZSBpbiBib25kX29wdGlvbl9hcnBfdmFs aWRhdGVfc2V0IGFzIHdlbGwuCgpPbmUgc29sdXRpb24gd291bGQgYmUgdG8gdW5pdmVyc2FsbHkg c2V0IHJlY3ZfcHJvYmUgPSBib25kX2FycF9yZWN2IGhlcmUKYXMgd2VsbCwgYnV0IEkgZG9uJ3Qg dGhpbmsgYm9uZF9vcHRpb25fYXJwX3ZhbGlkYXRlX3NldCBoYXMgYW55IGJ1c2luZXNzCnRvdWNo aW5nIHJlY3ZfcHJvYmUgYXQgYWxsLCBhbmQgdGhhdCBzaG91bGQgYmUgbGVmdCB0byB0aGUgYXJw X2ludGVydmFsCmNvZGUsIHNvIHdlIGNhbiBqdXN0IG1ha2UgdGhpbmdzIG11Y2ggdGlkaWVyIGhl cmUuCgpGaXhlczogM2ZlNjhkZjk3YzdmICgiYm9uZGluZzogYWx3YXlzIHNldCByZWN2X3Byb2Jl IHRvIGJvbmRfYXJwX3JjdiBpbiBhcnAgbW9uaXRvciIpCkNDOiBKYXkgVm9zYnVyZ2ggPGoudm9z YnVyZ2hAZ21haWwuY29tPgpDQzogVmVhY2VzbGF2IEZhbGljbyA8dmZhbGljb0BnbWFpbC5jb20+ CkNDOiBBbmR5IEdvc3BvZGFyZWsgPGFuZHlAZ3JleWhvdXNlLm5ldD4KQ0M6ICJEYXZpZCBTLiBN aWxsZXIiIDxkYXZlbUBkYXZlbWxvZnQubmV0PgpDQzogbmV0ZGV2QHZnZXIua2VybmVsLm9yZwpT aWduZWQtb2ZmLWJ5OiBKYXJvZCBXaWxzb24gPGphcm9kQHJlZGhhdC5jb20+ClNpZ25lZC1vZmYt Ynk6IEpheSBWb3NidXJnaCA8amF5LnZvc2J1cmdoQGNhbm9uaWNhbC5jb20+ClNpZ25lZC1vZmYt Ynk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25l dC9ib25kaW5nL2JvbmRfb3B0aW9ucy5jIHwgNyAtLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNyBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ib25kaW5nL2JvbmRfb3B0aW9u cy5jIGIvZHJpdmVycy9uZXQvYm9uZGluZy9ib25kX29wdGlvbnMuYwppbmRleCA0ZDVkMDFjYjgx NDEuLjgwODY3YmQ4ZjQ0YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvYm9uZGluZy9ib25kX29w dGlvbnMuYworKysgYi9kcml2ZXJzL25ldC9ib25kaW5nL2JvbmRfb3B0aW9ucy5jCkBAIC0xMDk4 LDEzICsxMDk4LDYgQEAgc3RhdGljIGludCBib25kX29wdGlvbl9hcnBfdmFsaWRhdGVfc2V0KHN0 cnVjdCBib25kaW5nICpib25kLAogewogCW5ldGRldl9kYmcoYm9uZC0+ZGV2LCAiU2V0dGluZyBh cnBfdmFsaWRhdGUgdG8gJXMgKCVsbHUpXG4iLAogCQkgICBuZXd2YWwtPnN0cmluZywgbmV3dmFs LT52YWx1ZSk7Ci0KLQlpZiAoYm9uZC0+ZGV2LT5mbGFncyAmIElGRl9VUCkgewotCQlpZiAoIW5l d3ZhbC0+dmFsdWUpCi0JCQlib25kLT5yZWN2X3Byb2JlID0gTlVMTDsKLQkJZWxzZSBpZiAoYm9u ZC0+cGFyYW1zLmFycF9pbnRlcnZhbCkKLQkJCWJvbmQtPnJlY3ZfcHJvYmUgPSBib25kX2FycF9y Y3Y7Ci0JfQogCWJvbmQtPnBhcmFtcy5hcnBfdmFsaWRhdGUgPSBuZXd2YWwtPnZhbHVlOwogCiAJ cmV0dXJuIDA7Ci0tIAoyLjIwLjEKCgpGcm9tIDJiYTkzMTQ3NDg1MDcxYTk4NjZkMTZmYjUxODYy NzAyNmFhYzg1NjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJUb2JpbiBDLiBIYXJk aW5nIiA8dG9iaW5Aa2VybmVsLm9yZz4KRGF0ZTogRnJpLCAxMCBNYXkgMjAxOSAxMjo1MjoxMiAr MTAwMApTdWJqZWN0OiBbUEFUQ0ggMDIvMjNdIGJyaWRnZTogRml4IGVycm9yIHBhdGggZm9yIGtv YmplY3RfaW5pdF9hbmRfYWRkKCkKClsgVXBzdHJlYW0gY29tbWl0IGJkZmFkNWFlYzEzOTJiOTM0 OTViNzdiODY0ZDU4ZDdmMTAxZGMxYzEgXQoKQ3VycmVudGx5IGVycm9yIHJldHVybiBmcm9tIGtv YmplY3RfaW5pdF9hbmRfYWRkKCkgaXMgbm90IGZvbGxvd2VkIGJ5IGEKY2FsbCB0byBrb2JqZWN0 X3B1dCgpLiAgVGhpcyBtZWFucyB0aGVyZSBpcyBhIG1lbW9yeSBsZWFrLiAgV2UgY3VycmVudGx5 CnNldCBwIHRvIE5VTEwgc28gdGhhdCBrZnJlZSgpIG1heSBiZSBjYWxsZWQgb24gaXQgYXMgYSBu b29wLCB0aGUgY29kZSBpcwphcmd1YWJseSBjbGVhcmVyIGlmIHdlIG1vdmUgdGhlIGtmcmVlKCkg dXAgY2xvc2VyIHRvIHdoZXJlIGl0IGlzCmNhbGxlZCAoaW5zdGVhZCBvZiBhZnRlciBnb3RvIGp1 bXApLgoKUmVtb3ZlIGEgZ290byBsYWJlbCAnZXJyMScgYW5kIGp1bXAgdG8gY2FsbCB0byBrb2Jq ZWN0X3B1dCgpIGluIGVycm9yCnJldHVybiBmcm9tIGtvYmplY3RfaW5pdF9hbmRfYWRkKCkgZml4 aW5nIHRoZSBtZW1vcnkgbGVhay4gIFJlLW5hbWUgZ290bwpsYWJlbCAncHV0X2JhY2snIHRvICdl cnIxJyBub3cgdGhhdCB3ZSBkb24ndCB1c2UgZXJyMSwgZm9sbG93aW5nIGN1cnJlbnQKbm9tZW5j bGF0dXJlIChlcnIxLCBlcnIyIC4uLikuICBNb3ZlIGNhbGwgdG8ga2ZyZWUgb3V0IG9mIHRoZSBl cnJvcgpjb2RlIGF0IGJvdHRvbSBvZiBmdW5jdGlvbiB1cCB0byBjbG9zZXIgdG8gd2hlcmUgbWVt b3J5IHdhcyBhbGxvY2F0ZWQuCkFkZCBjb21tZW50IHRvIGNsYXJpZnkgY2FsbCB0byBrZnJlZSgp LgoKU2lnbmVkLW9mZi1ieTogVG9iaW4gQy4gSGFyZGluZyA8dG9iaW5Aa2VybmVsLm9yZz4KU2ln bmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5l dC9icmlkZ2UvYnJfaWYuYyB8IDEzICsrKysrKy0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA2IGlu c2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2JyaWRnZS9icl9p Zi5jIGIvbmV0L2JyaWRnZS9icl9pZi5jCmluZGV4IDQxZjBhNjk2YTY1Zi4uMGNiMGFhMDMxM2E4 IDEwMDY0NAotLS0gYS9uZXQvYnJpZGdlL2JyX2lmLmMKKysrIGIvbmV0L2JyaWRnZS9icl9pZi5j CkBAIC02MDIsMTMgKzYwMiwxNSBAQCBpbnQgYnJfYWRkX2lmKHN0cnVjdCBuZXRfYnJpZGdlICpi ciwgc3RydWN0IG5ldF9kZXZpY2UgKmRldiwKIAljYWxsX25ldGRldmljZV9ub3RpZmllcnMoTkVU REVWX0pPSU4sIGRldik7CiAKIAllcnIgPSBkZXZfc2V0X2FsbG11bHRpKGRldiwgMSk7Ci0JaWYg KGVycikKLQkJZ290byBwdXRfYmFjazsKKwlpZiAoZXJyKSB7CisJCWtmcmVlKHApOwkvKiBrb2Jq ZWN0IG5vdCB5ZXQgaW5pdCdkLCBtYW51YWxseSBmcmVlICovCisJCWdvdG8gZXJyMTsKKwl9CiAK IAllcnIgPSBrb2JqZWN0X2luaXRfYW5kX2FkZCgmcC0+a29iaiwgJmJycG9ydF9rdHlwZSwgJihk ZXYtPmRldi5rb2JqKSwKIAkJCQkgICBTWVNGU19CUklER0VfUE9SVF9BVFRSKTsKIAlpZiAoZXJy KQotCQlnb3RvIGVycjE7CisJCWdvdG8gZXJyMjsKIAogCWVyciA9IGJyX3N5c2ZzX2FkZGlmKHAp OwogCWlmIChlcnIpCkBAIC03MDAsMTIgKzcwMiw5IEBAIGludCBicl9hZGRfaWYoc3RydWN0IG5l dF9icmlkZ2UgKmJyLCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LAogCXN5c2ZzX3JlbW92ZV9saW5r KGJyLT5pZm9iaiwgcC0+ZGV2LT5uYW1lKTsKIGVycjI6CiAJa29iamVjdF9wdXQoJnAtPmtvYmop OwotCXAgPSBOVUxMOyAvKiBrb2JqZWN0X3B1dCBmcmVlcyAqLwotZXJyMToKIAlkZXZfc2V0X2Fs bG11bHRpKGRldiwgLTEpOwotcHV0X2JhY2s6CitlcnIxOgogCWRldl9wdXQoZGV2KTsKLQlrZnJl ZShwKTsKIAlyZXR1cm4gZXJyOwogfQogCi0tIAoyLjIwLjEKCgpGcm9tIGY1ZjVlOTA2OTdkZTBi MzA2ZDNlNzk5ZWFiZTRjODU2YjhiZGZjNDQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IExhdXJlbnRpdSBUdWRvciA8bGF1cmVudGl1LnR1ZG9yQG54cC5jb20+CkRhdGU6IEZyaSwgMyBN YXkgMjAxOSAxNjowMzoxMSArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMDMvMjNdIGRwYWFfZXRoOiBm aXggU0cgZnJhbWUgY2xlYW51cAoKWyBVcHN0cmVhbSBjb21taXQgMTcxNzBlNjU3MGMwODI3MTdj MTQyNzMzZDlhNjM4YmNkMjA1NTFmOCBdCgpGaXggaXNzdWUgd2l0aCB0aGUgZW50cnkgaW5kZXhp bmcgaW4gdGhlIHNnIGZyYW1lIGNsZWFudXAgY29kZSBiZWluZwpvZmYtYnktMS4gVGhpcyBwcm9i bGVtIHNob3dlZCB1cCB3aGVuIGRvaW5nIHNvbWUgYmFzaWMgaXBlcmYgdGVzdHMgYW5kCm1hbmlm ZXN0ZWQgaW4gdHJhZmZpYyBjb21pbmcgdG8gYSBoYWx0LgoKU2lnbmVkLW9mZi1ieTogTGF1cmVu dGl1IFR1ZG9yIDxsYXVyZW50aXUudHVkb3JAbnhwLmNvbT4KQWNrZWQtYnk6IE1hZGFsaW4gQnVj dXIgPG1hZGFsaW4uYnVjdXJAbnhwLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVy IDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2Fs ZS9kcGFhL2RwYWFfZXRoLmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyks IDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2Nh bGUvZHBhYS9kcGFhX2V0aC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEv ZHBhYV9ldGguYwppbmRleCBkZmViYzMwYzQ4NDEuLmQzZjI0MDhkYzllOCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEvZHBhYV9ldGguYworKysgYi9kcml2 ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYS9kcGFhX2V0aC5jCkBAIC0xNjQ4LDcgKzE2 NDgsNyBAQCBzdGF0aWMgc3RydWN0IHNrX2J1ZmYgKmRwYWFfY2xlYW51cF90eF9mZChjb25zdCBz dHJ1Y3QgZHBhYV9wcml2ICpwcml2LAogCQkJCSBxbV9zZ19lbnRyeV9nZXRfbGVuKCZzZ3RbMF0p LCBkbWFfZGlyKTsKIAogCQkvKiByZW1haW5pbmcgcGFnZXMgd2VyZSBtYXBwZWQgd2l0aCBza2Jf ZnJhZ19kbWFfbWFwKCkgKi8KLQkJZm9yIChpID0gMTsgaSA8IG5yX2ZyYWdzOyBpKyspIHsKKwkJ Zm9yIChpID0gMTsgaSA8PSBucl9mcmFnczsgaSsrKSB7CiAJCQlXQVJOX09OKHFtX3NnX2VudHJ5 X2lzX2V4dCgmc2d0W2ldKSk7CiAKIAkJCWRtYV91bm1hcF9wYWdlKGRldiwgcW1fc2dfYWRkcigm c2d0W2ldKSwKLS0gCjIuMjAuMQoKCkZyb20gOTg3ZWRkMjM1ZWJkMTExNWY5MzBjMGQ1MTAyNGJj MWI1NWNlNTE1NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSGFuZ2JpbiBMaXUgPGxp dWhhbmdiaW5AZ21haWwuY29tPgpEYXRlOiBUdWUsIDcgTWF5IDIwMTkgMTc6MTE6MTggKzA4MDAK U3ViamVjdDogW1BBVENIIDA0LzIzXSBmaWJfcnVsZXM6IHJldHVybiAwIGRpcmVjdGx5IGlmIGFu IGV4YWN0bHkgc2FtZSBydWxlCiBleGlzdHMgd2hlbiBOTE1fRl9FWENMIG5vdCBzdXBwbGllZAoK WyBVcHN0cmVhbSBjb21taXQgZTk5MTlhMjRkMzAyMmY3MmJjYWRjNDA3ZTczYTZlZjE3MDkzYTg0 OSBdCgpXaXRoIGNvbW1pdCAxNTMzODBlYzRiOSAoImZpYl9ydWxlczogQWRkZWQgTkxNX0ZfRVhD TCBzdXBwb3J0IHRvCmZpYl9ubF9uZXdydWxlIikgd2Ugbm93IGFibGUgdG8gY2hlY2sgaWYgYSBy dWxlIGFscmVhZHkgZXhpc3RzLiBCdXQgdGhpcwpvbmx5IHdvcmtzIHdpdGggaXByb3V0ZTIuIEZv ciBvdGhlciB0b29scyBsaWtlIGxpYm5sLCBOZXR3b3JrTWFuYWdlciwKaXQgc3RpbGwgY291bGQg YWRkIGR1cGxpY2F0ZSBydWxlcyB3aXRoIG9ubHkgTkxNX0ZfQ1JFQVRFIGZsYWcsIGxpa2UKClts b2NhbGhvc3QgfiBdIyBpcCBydWxlCjA6ICAgICAgZnJvbSBhbGwgbG9va3VwIGxvY2FsCjMyNzY2 OiAgZnJvbSBhbGwgbG9va3VwIG1haW4KMzI3Njc6ICBmcm9tIGFsbCBsb29rdXAgZGVmYXVsdAox MDAwMDA6IGZyb20gMTkyLjE2OC43LjUgbG9va3VwIDUKMTAwMDAwOiBmcm9tIDE5Mi4xNjguNy41 IGxvb2t1cCA1CgpBcyBpdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgdG8gY3JlYXRlIHR3byBkdXBsaWNh dGUgcnVsZXMsIGxldCdzIGp1c3QgcmV0dXJuCjAgaWYgdGhlIHJ1bGUgZXhpc3RzLgoKRml4ZXM6 IDE1MzM4MGVjNGI5ICgiZmliX3J1bGVzOiBBZGRlZCBOTE1fRl9FWENMIHN1cHBvcnQgdG8gZmli X25sX25ld3J1bGUiKQpSZXBvcnRlZC1ieTogVGhvbWFzIEhhbGxlciA8dGhhbGxlckByZWRoYXQu Y29tPgpTaWduZWQtb2ZmLWJ5OiBIYW5nYmluIExpdSA8bGl1aGFuZ2JpbkBnbWFpbC5jb20+ClNp Z25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBu ZXQvY29yZS9maWJfcnVsZXMuYyB8IDYgKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRp b25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9jb3JlL2ZpYl9ydWxlcy5j IGIvbmV0L2NvcmUvZmliX3J1bGVzLmMKaW5kZXggZmZiYjgyNzcyM2EyLi5jNDliNzUyZWE3ZWIg MTAwNjQ0Ci0tLSBhL25ldC9jb3JlL2ZpYl9ydWxlcy5jCisrKyBiL25ldC9jb3JlL2ZpYl9ydWxl cy5jCkBAIC03NTYsOSArNzU2LDkgQEAgaW50IGZpYl9ubF9uZXdydWxlKHN0cnVjdCBza19idWZm ICpza2IsIHN0cnVjdCBubG1zZ2hkciAqbmxoLAogCWlmIChlcnIpCiAJCWdvdG8gZXJyb3V0Owog Ci0JaWYgKChubGgtPm5sbXNnX2ZsYWdzICYgTkxNX0ZfRVhDTCkgJiYKLQkgICAgcnVsZV9leGlz dHMob3BzLCBmcmgsIHRiLCBydWxlKSkgewotCQllcnIgPSAtRUVYSVNUOworCWlmIChydWxlX2V4 aXN0cyhvcHMsIGZyaCwgdGIsIHJ1bGUpKSB7CisJCWlmIChubGgtPm5sbXNnX2ZsYWdzICYgTkxN X0ZfRVhDTCkKKwkJCWVyciA9IC1FRVhJU1Q7CiAJCWdvdG8gZXJyb3V0X2ZyZWU7CiAJfQogCi0t IAoyLjIwLjEKCgpGcm9tIDVjYzU5YTU1MmMyYTIzN2IyOTI3NGY1NjcwNDk1ODEzZDRjNjIyNGQg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IERhdmlkIEFoZXJuIDxkc2FoZXJuQGdtYWls LmNvbT4KRGF0ZTogVHVlLCA3IE1heSAyMDE5IDIwOjQ0OjU5IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAwNS8yM10gaXB2NDogRml4IHJhdyBzb2NrZXQgbG9va3VwIGZvciBsb2NhbCB0cmFmZmljCgpb IFVwc3RyZWFtIGNvbW1pdCAxOWU0ZTc2ODA2NGE4N2IwNzNhNGI0YzEzOGI1NWRiNzBlMGNmYjlm IF0KCmluZXRfaWlmIHNob3VsZCBiZSB1c2VkIGZvciB0aGUgcmF3IHNvY2tldCBsb29rdXAuIGlu ZXRfaWlmIGNvbnNpZGVycwpydF9paWYgd2hpY2ggaGFuZGxlcyB0aGUgY2FzZSBvZiBsb2NhbCB0 cmFmZmljLgoKQXMgaXQgc3RhbmRzLCBwaW5nIHRvIGEgbG9jYWwgYWRkcmVzcyB3aXRoIHRoZSAn LUkgPGRldj4nIG9wdGlvbiBmYWlscwpldmVyIHNpbmNlIHBpbmcgd2FzIGNoYW5nZWQgdG8gdXNl IFNPX0JJTkRUT0RFVklDRSBpbnN0ZWFkIG9mCmNtc2cgKyBJUF9QS1RJTkZPLgoKSVB2NiB3b3Jr cyBmaW5lLgoKRml4ZXM6IDFkYTE3N2U0YzNmNCAoIkxpbnV4LTIuNi4xMi1yYzIiKQpTaWduZWQt b2ZmLWJ5OiBEYXZpZCBBaGVybiA8ZHNhaGVybkBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERh dmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2NC9yYXcuYyB8 IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9uZXQvaXB2NC9yYXcuYyBiL25ldC9pcHY0L3Jhdy5jCmluZGV4IGM1NWE1 NDMyY2YzNy4uZGM5MWMyN2JiNzg4IDEwMDY0NAotLS0gYS9uZXQvaXB2NC9yYXcuYworKysgYi9u ZXQvaXB2NC9yYXcuYwpAQCAtMTczLDYgKzE3Myw3IEBAIHN0YXRpYyBpbnQgaWNtcF9maWx0ZXIo Y29uc3Qgc3RydWN0IHNvY2sgKnNrLCBjb25zdCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQogc3RhdGlj IGludCByYXdfdjRfaW5wdXQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgY29uc3Qgc3RydWN0IGlwaGRy ICppcGgsIGludCBoYXNoKQogewogCWludCBzZGlmID0gaW5ldF9zZGlmKHNrYik7CisJaW50IGRp ZiA9IGluZXRfaWlmKHNrYik7CiAJc3RydWN0IHNvY2sgKnNrOwogCXN0cnVjdCBobGlzdF9oZWFk ICpoZWFkOwogCWludCBkZWxpdmVyZWQgPSAwOwpAQCAtMTg1LDggKzE4Niw3IEBAIHN0YXRpYyBp bnQgcmF3X3Y0X2lucHV0KHN0cnVjdCBza19idWZmICpza2IsIGNvbnN0IHN0cnVjdCBpcGhkciAq aXBoLCBpbnQgaGFzaCkKIAogCW5ldCA9IGRldl9uZXQoc2tiLT5kZXYpOwogCXNrID0gX19yYXdf djRfbG9va3VwKG5ldCwgX19za19oZWFkKGhlYWQpLCBpcGgtPnByb3RvY29sLAotCQkJICAgICBp cGgtPnNhZGRyLCBpcGgtPmRhZGRyLAotCQkJICAgICBza2ItPmRldi0+aWZpbmRleCwgc2RpZik7 CisJCQkgICAgIGlwaC0+c2FkZHIsIGlwaC0+ZGFkZHIsIGRpZiwgc2RpZik7CiAKIAl3aGlsZSAo c2spIHsKIAkJZGVsaXZlcmVkID0gMTsKLS0gCjIuMjAuMQoKCkZyb20gZDNmYzVjM2Y5ZWU4NDFj MGU5OTY1ZTE4MDUxNGY2MzkwNGNhNGZlNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog WXVlSGFpYmluZyA8eXVlaGFpYmluZ0BodWF3ZWkuY29tPgpEYXRlOiBNb24sIDYgTWF5IDIwMTkg MjM6MjU6MjkgKzA4MDAKU3ViamVjdDogW1BBVENIIDA2LzIzXSBuZXQ6IGRzYTogRml4IGVycm9y IGNsZWFudXAgcGF0aCBpbiBkc2FfaW5pdF9tb2R1bGUKClsgVXBzdHJlYW0gY29tbWl0IDY4YmU5 MzAyNDlkMDUxZmQ1NGQzZDk5MTU2YjNkY2FkY2IyYTFmOWIgXQoKQlVHOiB1bmFibGUgdG8gaGFu ZGxlIGtlcm5lbCBwYWdpbmcgcmVxdWVzdCBhdCBmZmZmZmZmZmEwMWM1NDMwClBHRCAzMjcwMDY3 IFA0RCAzMjcwMDY3IFBVRCAzMjcxMDYzIFBNRCAyMzBiYzUwNjcgUFRFIDAKT29wczogMDAwMCBb IzEKQ1BVOiAwIFBJRDogNjE1OSBDb21tOiBtb2Rwcm9iZSBOb3QgdGFpbnRlZCA1LjEuMCsgIzMz CkhhcmR3YXJlIG5hbWU6IFFFTVUgU3RhbmRhcmQgUEMgKGk0NDBGWCArIFBJSVgsIDE5OTYpLCBC SU9TIHJlbC0xLjkuMy0wLWdlMmZjNDFlLXByZWJ1aWx0LnFlbXUtcHJvamVjdC5vcmcgMDQvMDEv MjAxNApSSVA6IDAwMTA6cmF3X25vdGlmaWVyX2NoYWluX3JlZ2lzdGVyKzB4MTYvMHg0MApDb2Rl OiA2MyBmOCA2NiA5MCBlOSA1ZCBmZiBmZiBmZiA5MCA5MCA5MCA5MCA5MCA5MCA5MCA5MCA5MCA5 MCA5MCA1NSA0OCA4YiAwNyA0OCA4OSBlNSA0OCA4NSBjMCA3NCAxYyA4YiA1NiAxMCAzYiA1MCAx MCA3ZSAwNyBlYiAxMiA8Mzk+IDUwIDEwIDdjIDBkIDQ4IDhkIDc4IDA4IDQ4IDhiIDQwIDA4IDQ4 IDg1IGMwIDc1IGVlIDQ4IDg5IDQ2IDA4ClJTUDogMDAxODpmZmZmYzkwMDAxYzMzYzA4IEVGTEFH UzogMDAwMTAyODIKUkFYOiBmZmZmZmZmZmEwMWM1NDIwIFJCWDogZmZmZmZmZmZhMDFkYjQyMCBS Q1g6IDRmY2VmNDU5MjgwNzBhOGIKUkRYOiAwMDAwMDAwMDAwMDAwMDAwIFJTSTogZmZmZmZmZmZh MDFkYjQyMCBSREk6IGZmZmZmZmZmYTAxYjAwNjgKUkJQOiBmZmZmYzkwMDAxYzMzYzA4IFIwODog MDAwMDAwMDAzZTBhMzNkMCBSMDk6IDAwMDAwMDAwMDAwMDAwMDAKUjEwOiAwMDAwMDAwMDAwMDAw MDAwIFIxMTogMDAwMDAwMDA5NDQ0MzY2MSBSMTI6IGZmZmY4ODgyMmMzMjA3MDAKUjEzOiBmZmZm ODg4MjMxMDliZTgwIFIxNDogMDAwMDAwMDAwMDAwMDAwMCBSMTU6IGZmZmZjOTAwMDFjMzNlNzgK RlM6ICAwMDAwN2ZhYjhiZDA4NTQwKDAwMDApIEdTOmZmZmY4ODgyMzdhMDAwMDAoMDAwMCkga25s R1M6MDAwMDAwMDAwMDAwMDAwMApDUzogIDAwMTAgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAw MDAwMDgwMDUwMDMzCkNSMjogZmZmZmZmZmZhMDFjNTQzMCBDUjM6IDAwMDAwMDAyMjk3ZWEwMDAg Q1I0OiAwMDAwMDAwMDAwMDAwNmYwCkNhbGwgVHJhY2U6CiByZWdpc3Rlcl9uZXRkZXZpY2Vfbm90 aWZpZXIrMHg0My8weDI1MAogPyAweGZmZmZmZmZmYTAxZTAwMDAKIGRzYV9zbGF2ZV9yZWdpc3Rl cl9ub3RpZmllcisweDEzLzB4NzAgW2RzYV9jb3JlCiA/IDB4ZmZmZmZmZmZhMDFlMDAwMAogZHNh X2luaXRfbW9kdWxlKzB4MmUvMHgxMDAwIFtkc2FfY29yZQogZG9fb25lX2luaXRjYWxsKzB4NmMv MHgzY2MKID8gZG9faW5pdF9tb2R1bGUrMHgyMi8weDFmMQogPyByY3VfcmVhZF9sb2NrX3NjaGVk X2hlbGQrMHg5Ny8weGIwCiA/IGttZW1fY2FjaGVfYWxsb2NfdHJhY2UrMHgzMjUvMHgzYjAKIGRv X2luaXRfbW9kdWxlKzB4NWIvMHgxZjEKIGxvYWRfbW9kdWxlKzB4MWRiMS8weDI2OTAKID8gbV9z aG93KzB4MWQwLzB4MWQwCiBfX2RvX3N5c19maW5pdF9tb2R1bGUrMHhjNS8weGQwCiBfX3g2NF9z eXNfZmluaXRfbW9kdWxlKzB4MTUvMHgyMAogZG9fc3lzY2FsbF82NCsweDZiLzB4MWQwCiBlbnRy eV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0OS8weGJlCgpDbGVhbnVwIGFsbG9jYXRlZCBy ZXNvdXJzZXMgaWYgdGhlcmUgYXJlIGVycm9ycywKb3RoZXJ3aXNlIGl0IHdpbGwgdHJnZ2VyIG1l bWxlYWsuCgpGaXhlczogYzllYjNlMGY4NzAxICgibmV0OiBkc2E6IEFkZCBzdXBwb3J0IGZvciBs ZWFybmluZyBGREIgdGhyb3VnaCBub3RpZmljYXRpb24iKQpTaWduZWQtb2ZmLWJ5OiBZdWVIYWli aW5nIDx5dWVoYWliaW5nQGh1YXdlaS5jb20+ClJldmlld2VkLWJ5OiBWaXZpZW4gRGlkZWxvdCA8 dml2aWVuLmRpZGVsb3RAZ21haWwuY29tPgpSZXZpZXdlZC1ieTogQW5kcmV3IEx1bm4gPGFuZHJl d0BsdW5uLmNoPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9m dC5uZXQ+Ci0tLQogbmV0L2RzYS9kc2EuYyB8IDExICsrKysrKysrKy0tCiAxIGZpbGUgY2hhbmdl ZCwgOSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9kc2Ev ZHNhLmMgYi9uZXQvZHNhL2RzYS5jCmluZGV4IGFlZTkwOWJjZGRjNC4uNDFkNTM0ZDNmNDJiIDEw MDY0NAotLS0gYS9uZXQvZHNhL2RzYS5jCisrKyBiL25ldC9kc2EvZHNhLmMKQEAgLTM0MiwxNSAr MzQyLDIyIEBAIHN0YXRpYyBpbnQgX19pbml0IGRzYV9pbml0X21vZHVsZSh2b2lkKQogCiAJcmMg PSBkc2Ffc2xhdmVfcmVnaXN0ZXJfbm90aWZpZXIoKTsKIAlpZiAocmMpCi0JCXJldHVybiByYzsK KwkJZ290byByZWdpc3Rlcl9ub3RpZmllcl9mYWlsOwogCiAJcmMgPSBkc2FfbGVnYWN5X3JlZ2lz dGVyKCk7CiAJaWYgKHJjKQotCQlyZXR1cm4gcmM7CisJCWdvdG8gbGVnYWN5X3JlZ2lzdGVyX2Zh aWw7CiAKIAlkZXZfYWRkX3BhY2soJmRzYV9wYWNrX3R5cGUpOwogCiAJcmV0dXJuIDA7CisKK2xl Z2FjeV9yZWdpc3Rlcl9mYWlsOgorCWRzYV9zbGF2ZV91bnJlZ2lzdGVyX25vdGlmaWVyKCk7City ZWdpc3Rlcl9ub3RpZmllcl9mYWlsOgorCWRlc3Ryb3lfd29ya3F1ZXVlKGRzYV9vd3EpOworCisJ cmV0dXJuIHJjOwogfQogbW9kdWxlX2luaXQoZHNhX2luaXRfbW9kdWxlKTsKIAotLSAKMi4yMC4x CgoKRnJvbSA0OTU1MjMyMzhkM2FiMzg2NmU1N2QwM2NlZGYwMTA1MDgxOWEyNmQ0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDb3JlbnRpbiBMYWJiZSA8Y2xhYmJlQGJheWxpYnJlLmNv bT4KRGF0ZTogTW9uLCAxMyBNYXkgMjAxOSAxMzowNjozOSArMDAwMApTdWJqZWN0OiBbUEFUQ0gg MDcvMjNdIG5ldDogZXRoZXJuZXQ6IHN0bW1hYzogZHdtYWMtc3VuOGk6IGVuYWJsZSBzdXBwb3J0 IG9mCiB1bmljYXN0IGZpbHRlcmluZwoKWyBVcHN0cmVhbSBjb21taXQgZDRjMjZlYjZlNzIxNjgz YTBmOTNlMzQ2Y2U1NWJjOGRjM2NiYjE3NSBdCgpXaGVuIGFkZGluZyBtb3JlIE1BQyBhZGRyZXNz ZXMgdG8gYSBkd21hYy1zdW44aSBpbnRlcmZhY2UsIHRoZSBkZXZpY2UgZ29lcwpkaXJlY3RseSBp biBwcm9taXNjdW91cyBtb2RlLgpUaGlzIGlzIGR1ZSB0byBJRkZfVU5JQ0FTVF9GTFQgbWlzc2lu ZyBmbGFnLgoKU28gc2luY2UgdGhlIGhhcmR3YXJlIHN1cHBvcnQgdW5pY2FzdCBmaWx0ZXJpbmcs IGxldCdzIGFkZCBJRkZfVU5JQ0FTVF9GTFQuCgpGaXhlczogOWY5M2FjOGQ0MDg1ICgibmV0LW5l eHQ6IHN0bW1hYzogQWRkIGR3bWFjLXN1bjhpIikKU2lnbmVkLW9mZi1ieTogQ29yZW50aW4gTGFi YmUgPGNsYWJiZUBiYXlsaWJyZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8 ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0 bW1hYy9kd21hYy1zdW44aS5jIHwgMiArKwogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygr KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFj LXN1bjhpLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdW44 aS5jCmluZGV4IDBmNjYwYWYwMWE0Yi4uNDlhODk2YTE2MzkxIDEwMDY0NAotLS0gYS9kcml2ZXJz L25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdW44aS5jCisrKyBiL2RyaXZlcnMv bmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXN1bjhpLmMKQEAgLTEwMTUsNiArMTAx NSw4IEBAIHN0YXRpYyBzdHJ1Y3QgbWFjX2RldmljZV9pbmZvICpzdW44aV9kd21hY19zZXR1cCh2 b2lkICpwcHJpdikKIAltYWMtPm1hYyA9ICZzdW44aV9kd21hY19vcHM7CiAJbWFjLT5kbWEgPSAm c3VuOGlfZHdtYWNfZG1hX29wczsKIAorCXByaXYtPmRldi0+cHJpdl9mbGFncyB8PSBJRkZfVU5J Q0FTVF9GTFQ7CisKIAkvKiBUaGUgbG9vcGJhY2sgYml0IHNlZW1zIHRvIGJlIHJlLXNldCB3aGVu IGxpbmsgY2hhbmdlCiAJICogU2ltcGx5IG1hc2sgaXQgZWFjaCB0aW1lCiAJICogU3BlZWQgMTAv MTAwLzEwMDAgYXJlIHNldCBpbiBCSVQoMikvQklUKDMpCi0tIAoyLjIwLjEKCgpGcm9tIDZjY2Fm YmJiMjdjOTgwYzUyZmU4MzZhOThjYTFkZmFiMWRlM2YxNGIgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IEhhcmluaSBLYXRha2FtIDxoYXJpbmkua2F0YWthbUB4aWxpbnguY29tPgpEYXRl OiBUdWUsIDcgTWF5IDIwMTkgMTk6NTk6MTAgKzA1MzAKU3ViamVjdDogW1BBVENIIDA4LzIzXSBu ZXQ6IG1hY2I6IENoYW5nZSBpbnRlcnJ1cHQgYW5kIG5hcGkgZW5hYmxlIG9yZGVyIGluCiBvcGVu CgpbIFVwc3RyZWFtIGNvbW1pdCAwNTA0NDUzMTM5ZWY1YTU5M2M5NTg3ZTFlODUxZmViZWU4NTlj N2Q4IF0KCkN1cnJlbnQgb3JkZXIgaW4gb3BlbjoKLT4gRW5hYmxlIGludGVycnVwdHMgKG1hY2Jf aW5pdF9odykKLT4gRW5hYmxlIE5BUEkKLT4gU3RhcnQgUEhZCgpTZXF1ZW5jZSBvZiBSWCBoYW5k bGluZzoKLT4gUlggaW50ZXJydXB0IG9jY3VycwotPiBJbnRlcnJ1cHQgaXMgY2xlYXJlZCBhbmQg aW50ZXJydXB0IGJpdHMgZGlzYWJsZWQgaW4gaGFuZGxlcgotPiBOQVBJIGlzIHNjaGVkdWxlZAot PiBJbiBOQVBJLCBSWCBidWRnZXQgaXMgcHJvY2Vzc2VkIGFuZCBSWCBpbnRlcnJ1cHRzIGFyZSBy ZS1lbmFibGVkCgpXaXRoIHRoZSBhYm92ZSwgb24gUUVNVSBvciBmaXhlZCBsaW5rIHNldHVwcyAo d2hlcmUgUEhZIHN0YXRlIGRvZXNuJ3QKbWF0dGVyKSwgdGhlcmUncyBhIGNoYW5jZSBtYWNiIFJY IGludGVycnVwdCBvY2N1cnMgYmVmb3JlIE5BUEkgaXMKZW5hYmxlZC4gVGhpcyB3aWxsIHJlc3Vs dCBpbiBOQVBJIGJlaW5nIHNjaGVkdWxlZCBiZWZvcmUgaXQgaXMgZW5hYmxlZC4KRml4IHRoaXMg bWFjYiBvcGVuIGJ5IGNoYW5naW5nIHRoZSBvcmRlci4KCkZpeGVzOiBhZTFmMmE1NmQyNzMgKCJu ZXQ6IG1hY2I6IEFkZGVkIHN1cHBvcnQgZm9yIG1hbnkgUlggcXVldWVzIikKU2lnbmVkLW9mZi1i eTogSGFyaW5pIEthdGFrYW0gPGhhcmluaS5rYXRha2FtQHhpbGlueC5jb20+CkFja2VkLWJ5OiBO aWNvbGFzIEZlcnJlIDxuaWNvbGFzLmZlcnJlQG1pY3JvY2hpcC5jb20+ClNpZ25lZC1vZmYtYnk6 IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9l dGhlcm5ldC9jYWRlbmNlL21hY2JfbWFpbi5jIHwgNiArKystLS0KIDEgZmlsZSBjaGFuZ2VkLCAz IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQv ZXRoZXJuZXQvY2FkZW5jZS9tYWNiX21haW4uYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVu Y2UvbWFjYl9tYWluLmMKaW5kZXggNmNiZTUxNWJmZGViLi44YTU3ODg4ZTk3NjUgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9tYWluLmMKKysrIGIvZHJpdmVy cy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX21haW4uYwpAQCAtMjQxNCwxMiArMjQxNCwxMiBA QCBzdGF0aWMgaW50IG1hY2Jfb3BlbihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KQogCQlyZXR1cm4g ZXJyOwogCX0KIAotCWJwLT5tYWNiZ2VtX29wcy5tb2dfaW5pdF9yaW5ncyhicCk7Ci0JbWFjYl9p bml0X2h3KGJwKTsKLQogCWZvciAocSA9IDAsIHF1ZXVlID0gYnAtPnF1ZXVlczsgcSA8IGJwLT5u dW1fcXVldWVzOyArK3EsICsrcXVldWUpCiAJCW5hcGlfZW5hYmxlKCZxdWV1ZS0+bmFwaSk7CiAK KwlicC0+bWFjYmdlbV9vcHMubW9nX2luaXRfcmluZ3MoYnApOworCW1hY2JfaW5pdF9odyhicCk7 CisKIAkvKiBzY2hlZHVsZSBhIGxpbmsgc3RhdGUgY2hlY2sgKi8KIAlwaHlfc3RhcnQoZGV2LT5w aHlkZXYpOwogCi0tIAoyLjIwLjEKCgpGcm9tIDBkNjY5MDg3MWFmYzc2ZDVhNTc0OWVjYTlmMjFh N2RkMGJiODIxMTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFRob21hcyBCb2dlbmRv ZXJmZXIgPHRib2dlbmRvZXJmZXJAc3VzZS5kZT4KRGF0ZTogTW9uLCAxMyBNYXkgMjAxOSAxMzox NToxNyArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDkvMjNdIG5ldDogc2VlcTogZml4IGNyYXNoIGNh dXNlZCBieSBub3Qgc2V0IGRldi5wYXJlbnQKClsgVXBzdHJlYW0gY29tbWl0IDVhZmNkMTRjZmM3 ZmVkMWJjYzhhYmNlZTJjZWY4MjczMjc3MmJmYzIgXQoKVGhlIG9sZCBNSVBTIGltcGxlbWVudGF0 aW9uIG9mIGRtYV9jYWNoZV9zeW5jKCkgZGlkbid0IHVzZSB0aGUgZGV2IGFyZ3VtZW50LApidXQg Y29tbWl0IGM5ZWI2MTcyYzMyOCAoImRtYS1tYXBwaW5nOiB0dXJuIGRtYV9jYWNoZV9zeW5jIGlu dG8gYQpkbWFfbWFwX29wcyBtZXRob2QiKSBjaGFuZ2VkIHRoYXQsIHNvIHdlIG5vdyBuZWVkIHRv IHNldCBkZXYucGFyZW50LgoKU2lnbmVkLW9mZi1ieTogVGhvbWFzIEJvZ2VuZG9lcmZlciA8dGJv Z2VuZG9lcmZlckBzdXNlLmRlPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVt QGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvc2VlcS9zZ2lzZWVxLmMg fCAxICsKIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvbmV0L2V0aGVybmV0L3NlZXEvc2dpc2VlcS5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc2Vl cS9zZ2lzZWVxLmMKaW5kZXggNzBjY2U2M2E2MDgxLi42OTYwMzdkNWFjM2QgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvbmV0L2V0aGVybmV0L3NlZXEvc2dpc2VlcS5jCisrKyBiL2RyaXZlcnMvbmV0L2V0 aGVybmV0L3NlZXEvc2dpc2VlcS5jCkBAIC03MzUsNiArNzM1LDcgQEAgc3RhdGljIGludCBzZ2lz ZWVxX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJfQogCiAJcGxhdGZvcm1f c2V0X2RydmRhdGEocGRldiwgZGV2KTsKKwlTRVRfTkVUREVWX0RFVihkZXYsICZwZGV2LT5kZXYp OwogCXNwID0gbmV0ZGV2X3ByaXYoZGV2KTsKIAogCS8qIE1ha2UgcHJpdmF0ZSBkYXRhIHBhZ2Ug YWxpZ25lZCAqLwotLSAKMi4yMC4xCgoKRnJvbSBiMDE3ODNhZGI3ODUyZTA0NTJmZjg3ZWViNTk1 ZWY3MmI0Nzk5ODM0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpc3RvcGhlIExl cm95IDxjaHJpc3RvcGhlLmxlcm95QGMtcy5mcj4KRGF0ZTogRnJpLCAzIE1heSAyMDE5IDEzOjMz OjIzICswMDAwClN1YmplY3Q6IFtQQVRDSCAxMC8yM10gbmV0OiB1Y2NfZ2V0aCAtIGZpeCBPb3Bz IHdoZW4gY2hhbmdpbmcgbnVtYmVyIG9mCiBidWZmZXJzIGluIHRoZSByaW5nCgpbIFVwc3RyZWFt IGNvbW1pdCBlZTBkZjE5MzA1ZDlmYWJkOTQ3OWI3ODU5MTg5NjZmNmUyNWI3MzNiIF0KCldoZW4g Y2hhbmdpbmcgdGhlIG51bWJlciBvZiBidWZmZXJzIGluIHRoZSBSWCByaW5nIHdoaWxlIHRoZSBp bnRlcmZhY2UKaXMgcnVubmluZywgdGhlIGZvbGxvd2luZyBPb3BzIGlzIGVuY291bnRlcmVkIGR1 ZSB0byB0aGUgbmV3IG51bWJlcgpvZiBidWZmZXJzIGJlaW5nIHRha2VuIGludG8gYWNjb3VudCBp bW1lZGlhdGVseSB3aGlsZSB0aGVpciBhbGxvY2F0aW9uCmlzIGRvbmUgd2hlbiBvcGVuaW5nIHRo ZSBkZXZpY2Ugb25seS4KClsgICA2OS44ODI3MDZdIFVuYWJsZSB0byBoYW5kbGUga2VybmVsIHBh Z2luZyByZXF1ZXN0IGZvciBkYXRhIGF0IGFkZHJlc3MgMHhmMDAwMDEwMApbICAgNjkuODkwMTcy XSBGYXVsdGluZyBpbnN0cnVjdGlvbiBhZGRyZXNzOiAweGMwMzNlMTY0ClsgICA2OS44OTUxMjJd IE9vcHM6IEtlcm5lbCBhY2Nlc3Mgb2YgYmFkIGFyZWEsIHNpZzogMTEgWyMxXQpbICAgNjkuOTAw NDk0XSBCRSBQUkVFTVBUIENNUENQUk8KWyAgIDY5LjkwNzEyMF0gQ1BVOiAwIFBJRDogMCBDb21t OiBzd2FwcGVyIE5vdCB0YWludGVkIDQuMTQuMTE1LTAwMDA2LWcxNzlhZGU4Y2UzLWRpcnR5ICMy NjkKWyAgIDY5LjkxNTk1Nl0gdGFzazogYzA2ODQzMTAgdGFzay5zdGFjazogYzA2ZGEwMDAKWyAg IDY5LjkyMDQ3MF0gTklQOiAgYzAzM2UxNjQgTFI6IGMwMmU0NGQwIENUUjogYzAyZTQxZmMKWyAg IDY5LjkyNTUwNF0gUkVHUzogZGZmZjFlMjAgVFJBUDogMDMwMCAgIE5vdCB0YWludGVkICAoNC4x NC4xMTUtMDAwMDYtZzE3OWFkZThjZTMtZGlydHkpClsgICA2OS45MzQxNjFdIE1TUjogIDAwMDA5 MDMyIDxFRSxNRSxJUixEUixSST4gIENSOiAyMjAwNDQyOCAgWEVSOiAyMDAwMDAwMApbICAgNjku OTQwODY5XSBEQVI6IGYwMDAwMTAwIERTSVNSOiAyMDAwMDAwMApbICAgNjkuOTQwODY5XSBHUFIw MDogYzAzNTJkNzAgZGZmZjFlZDAgYzA2ODQzMTAgZjAwMDAwYTQgMDAwMDAwNDAgZGZmZjFmNjgg MDAwMDAwMDAgMDAwMDAwMWYKWyAgIDY5Ljk0MDg2OV0gR1BSMDg6IGRmNTNmNDEwIDFjYzAwMDQw IDAwMDAwMDIxIGMwNzgxNjQwIDQyMDA0NDI0IDEwMGM4MmI2IGYwMDAwMGE0IGRmNTNmNWIwClsg ICA2OS45NDA4NjldIEdQUjE2OiBkZjUzZjZjMCBjMDVkYWY4NCAwMDAwMDA0MCAwMDAwMDAwMCAw MDAwMDA0MCBjMDc4MmJlNCAwMDAwMDAwMCAwMDAwMDAwMQpbICAgNjkuOTQwODY5XSBHUFIyNDog MDAwMDAwMDAgZGY1M2Y0MDAgMDAwMDAxYjAgZGY1M2Y0MTAgZGY1M2YwMDAgMDAwMDAwM2YgZGY3 MDgyMjAgMWNjMDAwNDQKWyAgIDY5Ljk3ODM0OF0gTklQIFtjMDMzZTE2NF0gc2tiX3B1dCsweDAv MHg1YwpbICAgNjkuOTgyNTI4XSBMUiBbYzAyZTQ0ZDBdIHVjY19nZXRoX3BvbGwrMHgyZDQvMHgz ZjgKWyAgIDY5Ljk4NzM4NF0gQ2FsbCBUcmFjZToKWyAgIDY5Ljk4OTgzMF0gW2RmZmYxZWQwXSBb YzAyZTQ1NTRdIHVjY19nZXRoX3BvbGwrMHgzNTgvMHgzZjggKHVucmVsaWFibGUpClsgICA2OS45 OTY1MjJdIFtkZmZmMWYyMF0gW2MwMzUyZDcwXSBuZXRfcnhfYWN0aW9uKzB4MjQ4LzB4MzBjClsg ICA3MC4wMDIwOTldIFtkZmZmMWY4MF0gW2MwNGU5M2U0XSBfX2RvX3NvZnRpcnErMHhmYy8weDMx MApbICAgNzAuMDA3NDkyXSBbZGZmZjFmZTBdIFtjMDAyMTEyNF0gaXJxX2V4aXQrMHhkMC8weGQ0 ClsgICA3MC4wMTI0NThdIFtkZmZmMWZmMF0gW2MwMDBlN2UwXSBjYWxsX2RvX2lycSsweDI0LzB4 M2MKWyAgIDcwLjAxNzY4M10gW2MwNmRiZTgwXSBbYzAwMDZiYWNdIGRvX0lSUSsweDY0LzB4YzQK WyAgIDcwLjAyMjQ3NF0gW2MwNmRiZWEwXSBbYzAwMTA5N2NdIHJldF9mcm9tX2V4Y2VwdCsweDAv MHgxNApbICAgNzAuMDI3OTY0XSAtLS0gaW50ZXJydXB0OiA1MDEgYXQgcmN1X2lkbGVfZXhpdCsw eDg0LzB4OTAKWyAgIDcwLjAyNzk2NF0gICAgIExSID0gcmN1X2lkbGVfZXhpdCsweDc0LzB4OTAK WyAgIDcwLjAzNzU4NV0gW2MwNmRiZjYwXSBbMjAwMDAwMDBdIDB4MjAwMDAwMDAgKHVucmVsaWFi bGUpClsgICA3MC4wNDI5ODRdIFtjMDZkYmY4MF0gW2MwMDRiYjBjXSBkb19pZGxlKzB4YjQvMHgx MWMKWyAgIDcwLjA0Nzk0NV0gW2MwNmRiZmEwXSBbYzAwNGJkMTRdIGNwdV9zdGFydHVwX2VudHJ5 KzB4MTgvMHgxYwpbICAgNzAuMDUzNjgyXSBbYzA2ZGJmYjBdIFtjMDVmYjAzNF0gc3RhcnRfa2Vy bmVsKzB4MzcwLzB4Mzg0ClsgICA3MC4wNTkxNTNdIFtjMDZkYmZmMF0gWzAwMDAzNDM4XSAweDM0 MzgKWyAgIDcwLjA2MzA2Ml0gSW5zdHJ1Y3Rpb24gZHVtcDoKWyAgIDcwLjA2NjAyM10gMzhhMDAw MDAgMzg4MDAwMDAgOTAwMTAwMTQgNGJmZmYwMTUgODAwMTAwMTQgN2MwODAzYTYgMzEyM2ZmZmYg N2M2OTE5MTAKWyAgIDcwLjA3Mzc2N10gMzgyMTAwMTAgNGU4MDAwMjAgMzg2MDAwMDAgNGU4MDAw MjAgPDgwZTMwMDVjPiA4MGMzMDA5OCAzMTA3ZmZmZiA3ZDA4MzkxMApbICAgNzAuMDgxNjkwXSAt LS1bIGVuZCB0cmFjZSBiZTdjY2Q5YzFlMWE5ZjEyIF0tLS0KClRoaXMgcGF0Y2ggZm9yYmlkcyB0 aGUgbW9kaWZpY2F0aW9uIG9mIHRoZSBudW1iZXIgb2YgYnVmZmVycyBpbiB0aGUKcmluZyB3aGls ZSB0aGUgaW50ZXJmYWNlIGlzIHJ1bm5pbmcuCgpGaXhlczogYWM0MjE4NTJiM2EwICgidWNjX2dl dGg6IGFkZCBldGh0b29sIHN1cHBvcnQiKQpTaWduZWQtb2ZmLWJ5OiBDaHJpc3RvcGhlIExlcm95 IDxjaHJpc3RvcGhlLmxlcm95QGMtcy5mcj4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVy IDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2Fs ZS91Y2NfZ2V0aF9ldGh0b29sLmMgfCA4ICsrKy0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNl cnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVy bmV0L2ZyZWVzY2FsZS91Y2NfZ2V0aF9ldGh0b29sLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9m cmVlc2NhbGUvdWNjX2dldGhfZXRodG9vbC5jCmluZGV4IDBiZWVlMmNjMmRkZC4uNzIyYjZkZTI0 ODE2IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvdWNjX2dldGhf ZXRodG9vbC5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS91Y2NfZ2V0aF9l dGh0b29sLmMKQEAgLTI1MiwxNCArMjUyLDEyIEBAIHVlY19zZXRfcmluZ3BhcmFtKHN0cnVjdCBu ZXRfZGV2aWNlICpuZXRkZXYsCiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAorCWlmIChuZXRpZl9y dW5uaW5nKG5ldGRldikpCisJCXJldHVybiAtRUJVU1k7CisKIAl1Z19pbmZvLT5iZFJpbmdMZW5S eFtxdWV1ZV0gPSByaW5nLT5yeF9wZW5kaW5nOwogCXVnX2luZm8tPmJkUmluZ0xlblR4W3F1ZXVl XSA9IHJpbmctPnR4X3BlbmRpbmc7CiAKLQlpZiAobmV0aWZfcnVubmluZyhuZXRkZXYpKSB7Ci0J CS8qIEZJWE1FOiByZXN0YXJ0IGF1dG9tYXRpY2FsbHkgKi8KLQkJbmV0ZGV2X2luZm8obmV0ZGV2 LCAiUGxlYXNlIHJlLW9wZW4gdGhlIGludGVyZmFjZVxuIik7Ci0JfQotCiAJcmV0dXJuIHJldDsK IH0KIAotLSAKMi4yMC4xCgoKRnJvbSBiYWEwNjg2NWNiNjRjODc5YzhhOGVhNjZjNWQ4OWU4NjA3 Yzg3OGI5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBZdWVIYWliaW5nIDx5dWVoYWli aW5nQGh1YXdlaS5jb20+CkRhdGU6IFRodSwgOSBNYXkgMjAxOSAyMjo1MjoyMCArMDgwMApTdWJq ZWN0OiBbUEFUQ0ggMTEvMjNdIHBhY2tldDogRml4IGVycm9yIHBhdGggaW4gcGFja2V0X2luaXQK ClsgVXBzdHJlYW0gY29tbWl0IDM2MDk2ZjJmNGZhMDVmNzY3OGJjODczOTc2NjU0OTE3MDBiYWU3 NTcgXQoKa2VybmVsIEJVRyBhdCBsaWIvbGlzdF9kZWJ1Zy5jOjQ3IQppbnZhbGlkIG9wY29kZTog MDAwMCBbIzEKQ1BVOiAwIFBJRDogMTI5MTQgQ29tbTogcm1tb2QgVGFpbnRlZDogRyAgICAgICAg VyAgICAgICAgIDUuMS4wKyAjNDcKSGFyZHdhcmUgbmFtZTogUUVNVSBTdGFuZGFyZCBQQyAoaTQ0 MEZYICsgUElJWCwgMTk5NiksIEJJT1MgcmVsLTEuOS4zLTAtZ2UyZmM0MWUtcHJlYnVpbHQucWVt dS1wcm9qZWN0Lm9yZyAwNC8wMS8yMDE0ClJJUDogMDAxMDpfX2xpc3RfZGVsX2VudHJ5X3ZhbGlk KzB4NTMvMHg5MApDb2RlOiA0OCA4YiAzMiA0OCAzOSBmZSA3NSAzNSA0OCA4YiA1MCAwOCA0OCAz OSBmMiA3NSA0MCBiOCAwMSAwMCAwMCAwMCA1ZCBjMyA0OAo4OSBmZSA0OCA4OSBjMiA0OCBjNyBj NyAxOCA3NSBmZSA4MiBlOCBjYiAzNCA3OCBmZiA8MGY+IDBiIDQ4IDg5IGZlIDQ4IGM3IGM3IDUw IDc1IGZlIDgyIGU4IGJhIDM0IDc4IGZmIDBmIDBiIDQ4IDg5IGYyClJTUDogMDAxODpmZmZmYzkw MDAxYzJmZTQwIEVGTEFHUzogMDAwMTAyODYKUkFYOiAwMDAwMDAwMDAwMDAwMDRlIFJCWDogZmZm ZmZmZmZhMDE4NDAwMCBSQ1g6IDAwMDAwMDAwMDAwMDAwMDAKUkRYOiAwMDAwMDAwMDAwMDAwMDAw IFJTSTogZmZmZjg4ODIzN2ExNzc4OCBSREk6IDAwMDAwMDAwZmZmZmZmZmYKUkJQOiBmZmZmYzkw MDAxYzJmZTQwIFIwODogMDAwMDAwMDAwMDAwMDAwMCBSMDk6IDAwMDAwMDAwMDAwMDAwMDAKUjEw OiBmZmZmYzkwMDAxYzJmZTEwIFIxMTogMDAwMDAwMDAwMDAwMDAwMCBSMTI6IDAwMDAwMDAwMDAw MDAwMDAKUjEzOiBmZmZmYzkwMDAxYzJmZTUwIFIxNDogZmZmZmZmZmZhMDE4NDAwMCBSMTU6IDAw MDAwMDAwMDAwMDAwMDAKRlM6ICAwMDAwN2YzZDgzNjM0NTQwKDAwMDApIEdTOmZmZmY4ODgyMzdh MDAwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAwMDAwMApDUzogIDAwMTAgRFM6IDAwMDAgRVM6 IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzCkNSMjogMDAwMDU1NWMzNTBlYTgxOCBDUjM6IDAw MDAwMDAyMzE2NzcwMDAgQ1I0OiAwMDAwMDAwMDAwMDAwNmYwCkNhbGwgVHJhY2U6CiB1bnJlZ2lz dGVyX3Blcm5ldF9vcGVyYXRpb25zKzB4MzQvMHgxMjAKIHVucmVnaXN0ZXJfcGVybmV0X3N1YnN5 cysweDFjLzB4MzAKIHBhY2tldF9leGl0KzB4MWMvMHgzNjkgW2FmX3BhY2tldAogX194NjRfc3lz X2RlbGV0ZV9tb2R1bGUrMHgxNTYvMHgyNjAKID8gbG9ja2RlcF9oYXJkaXJxc19vbisweDEzMy8w eDFiMAogPyBkb19zeXNjYWxsXzY0KzB4MTIvMHgxZjAKIGRvX3N5c2NhbGxfNjQrMHg2ZS8weDFm MAogZW50cnlfU1lTQ0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4NDkvMHhiZQoKV2hlbiBtb2Rwcm9i ZSBhZl9wYWNrZXQsIHJlZ2lzdGVyX3Blcm5ldF9zdWJzeXMKZmFpbHMgYW5kIGRvZXMgYSBjbGVh bnVwLCBvcHMtPmxpc3QgaXMgc2V0IHRvIExJU1RfUE9JU09OMSwKYnV0IHRoZSBtb2R1bGUgaW5p dCBpcyBjb25zaWRlcmVkIHRvIHN1Y2Nlc3MsIHRoZW4gd2hpbGUgcm1tb2QgaXQsCkJVRygpIGlz IHRyaWdnZXJlZCBpbiBfX2xpc3RfZGVsX2VudHJ5X3ZhbGlkIHdoaWNoIGlzIGNhbGxlZCBmcm9t CnVucmVnaXN0ZXJfcGVybmV0X3N1YnN5cy4gVGhpcyBwYXRjaCBmaXggZXJyb3IgaGFuZGluZyBw YXRoIGluCnBhY2tldF9pbml0IHRvIGF2b2lkIHBvc3NpbGJlIGlzc3VlIGlmIHNvbWUgZXJyb3Ig b2NjdXIuCgpSZXBvcnRlZC1ieTogSHVsayBSb2JvdCA8aHVsa2NpQGh1YXdlaS5jb20+ClNpZ25l ZC1vZmYtYnk6IFl1ZUhhaWJpbmcgPHl1ZWhhaWJpbmdAaHVhd2VpLmNvbT4KU2lnbmVkLW9mZi1i eTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9wYWNrZXQv YWZfcGFja2V0LmMgfCAyNSArKysrKysrKysrKysrKysrKysrKy0tLS0tCiAxIGZpbGUgY2hhbmdl ZCwgMjAgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvcGFj a2V0L2FmX3BhY2tldC5jIGIvbmV0L3BhY2tldC9hZl9wYWNrZXQuYwppbmRleCBmYWEyYmM1MGNm YTAuLmI2YzIzYWY0YTMxNSAxMDA2NDQKLS0tIGEvbmV0L3BhY2tldC9hZl9wYWNrZXQuYworKysg Yi9uZXQvcGFja2V0L2FmX3BhY2tldC5jCkBAIC00NjA0LDE0ICs0NjA0LDI5IEBAIHN0YXRpYyB2 b2lkIF9fZXhpdCBwYWNrZXRfZXhpdCh2b2lkKQogCiBzdGF0aWMgaW50IF9faW5pdCBwYWNrZXRf aW5pdCh2b2lkKQogewotCWludCByYyA9IHByb3RvX3JlZ2lzdGVyKCZwYWNrZXRfcHJvdG8sIDAp OworCWludCByYzsKIAotCWlmIChyYyAhPSAwKQorCXJjID0gcHJvdG9fcmVnaXN0ZXIoJnBhY2tl dF9wcm90bywgMCk7CisJaWYgKHJjKQogCQlnb3RvIG91dDsKKwlyYyA9IHNvY2tfcmVnaXN0ZXIo JnBhY2tldF9mYW1pbHlfb3BzKTsKKwlpZiAocmMpCisJCWdvdG8gb3V0X3Byb3RvOworCXJjID0g cmVnaXN0ZXJfcGVybmV0X3N1YnN5cygmcGFja2V0X25ldF9vcHMpOworCWlmIChyYykKKwkJZ290 byBvdXRfc29jazsKKwlyYyA9IHJlZ2lzdGVyX25ldGRldmljZV9ub3RpZmllcigmcGFja2V0X25l dGRldl9ub3RpZmllcik7CisJaWYgKHJjKQorCQlnb3RvIG91dF9wZXJuZXQ7CiAKLQlzb2NrX3Jl Z2lzdGVyKCZwYWNrZXRfZmFtaWx5X29wcyk7Ci0JcmVnaXN0ZXJfcGVybmV0X3N1YnN5cygmcGFj a2V0X25ldF9vcHMpOwotCXJlZ2lzdGVyX25ldGRldmljZV9ub3RpZmllcigmcGFja2V0X25ldGRl dl9ub3RpZmllcik7CisJcmV0dXJuIDA7CisKK291dF9wZXJuZXQ6CisJdW5yZWdpc3Rlcl9wZXJu ZXRfc3Vic3lzKCZwYWNrZXRfbmV0X29wcyk7CitvdXRfc29jazoKKwlzb2NrX3VucmVnaXN0ZXIo UEZfUEFDS0VUKTsKK291dF9wcm90bzoKKwlwcm90b191bnJlZ2lzdGVyKCZwYWNrZXRfcHJvdG8p Owogb3V0OgogCXJldHVybiByYzsKIH0KLS0gCjIuMjAuMQoKCkZyb20gNGU1NWFmNDkzYTAxMTg0 YmU4ZTkzMWU0NWI5ZTM0NjZmMzcwZjQ5NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog UGFvbG8gQWJlbmkgPHBhYmVuaUByZWRoYXQuY29tPgpEYXRlOiBXZWQsIDggTWF5IDIwMTkgMTU6 MzI6NTEgKzAyMDAKU3ViamVjdDogW1BBVENIIDEyLzIzXSBzZWxpbnV4OiBkbyBub3QgcmVwb3J0 IGVycm9yIG9uIGNvbm5lY3QoQUZfVU5TUEVDKQoKWyBVcHN0cmVhbSBjb21taXQgYzdlMGQ2Y2Nh ODY1ODEwOTJjYmJmMmNkODY4YjM2MDE0OTU1NTRjZiBdCgpjYWxsaW5nIGNvbm5lY3QoQUZfVU5T UEVDKSBvbiBhbiBhbHJlYWR5IGNvbm5lY3RlZCBUQ1Agc29ja2V0IGlzIGFuCmVzdGFibGlzaGVk IHdheSB0byBkaXNjb25uZWN0KCkgc3VjaCBzb2NrZXQuIEFmdGVyIGNvbW1pdCA2ODc0MWE4YWRh YjkKKCJzZWxpbnV4OiBGaXggbHRwIHRlc3QgY29ubmVjdC1zeXNjYWxsIGZhaWx1cmUiKSBpdCBu byBsb25nZXIgd29ya3MKYW5kLCBpbiB0aGUgYWJvdmUgc2NlbmFyaW8gY29ubmVjdCgpIGZhaWxz IHdpdGggRUFGTk9TVVBQT1JULgoKRml4IHRoZSBhYm92ZSBmYWxsaW5nIGJhY2sgdG8gdGhlIGdl bmVyaWMvb2xkIGNvZGUgd2hlbiB0aGUgYWRkcmVzcyBmYW1pbHkKaXMgbm90IEFGX0lORVR7NCw2 fSwgYnV0IGxlYXZlIHRoZSBTQ1RQIGNvZGUgcGF0aCB1bnRvdWNoZWQsIGFzIGl0IGhhcwpzcGVj aWZpYyBjb25zdHJhaW50cy4KCkZpeGVzOiA2ODc0MWE4YWRhYjkgKCJzZWxpbnV4OiBGaXggbHRw IHRlc3QgY29ubmVjdC1zeXNjYWxsIGZhaWx1cmUiKQpSZXBvcnRlZC1ieTogVG9tIERlc2V5biA8 dGRlc2V5bkByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBQYW9sbyBBYmVuaSA8cGFiZW5pQHJl ZGhhdC5jb20+ClJldmlld2VkLWJ5OiBNYXJjZWxvIFJpY2FyZG8gTGVpdG5lciA8bWFyY2Vsby5s ZWl0bmVyQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBk YXZlbWxvZnQubmV0PgotLS0KIHNlY3VyaXR5L3NlbGludXgvaG9va3MuYyB8IDggKysrKy0tLS0K IDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvc2VjdXJpdHkvc2VsaW51eC9ob29rcy5jIGIvc2VjdXJpdHkvc2VsaW51eC9ob29rcy5j CmluZGV4IGIwMDUyODNmMDA5MC4uYmM0YWVjOTc3MjNhIDEwMDY0NAotLS0gYS9zZWN1cml0eS9z ZWxpbnV4L2hvb2tzLmMKKysrIGIvc2VjdXJpdHkvc2VsaW51eC9ob29rcy5jCkBAIC00NTg2LDcg KzQ1ODYsNyBAQCBzdGF0aWMgaW50IHNlbGludXhfc29ja2V0X2Nvbm5lY3RfaGVscGVyKHN0cnVj dCBzb2NrZXQgKnNvY2ssCiAJCXN0cnVjdCBsc21fbmV0d29ya19hdWRpdCBuZXQgPSB7MCx9Owog CQlzdHJ1Y3Qgc29ja2FkZHJfaW4gKmFkZHI0ID0gTlVMTDsKIAkJc3RydWN0IHNvY2thZGRyX2lu NiAqYWRkcjYgPSBOVUxMOwotCQl1bnNpZ25lZCBzaG9ydCBzbnVtOworCQl1bnNpZ25lZCBzaG9y dCBzbnVtID0gMDsKIAkJdTMyIHNpZCwgcGVybTsKIAogCQkvKiBzY3RwX2Nvbm5lY3R4KDMpIGNh bGxzIHZpYSBzZWxpbnV4X3NjdHBfYmluZF9jb25uZWN0KCkKQEAgLTQ2MDksMTIgKzQ2MDksMTIg QEAgc3RhdGljIGludCBzZWxpbnV4X3NvY2tldF9jb25uZWN0X2hlbHBlcihzdHJ1Y3Qgc29ja2V0 ICpzb2NrLAogCQkJYnJlYWs7CiAJCWRlZmF1bHQ6CiAJCQkvKiBOb3RlIHRoYXQgU0NUUCBzZXJ2 aWNlcyBleHBlY3QgLUVJTlZBTCwgd2hlcmVhcwotCQkJICogb3RoZXJzIGV4cGVjdCAtRUFGTk9T VVBQT1JULgorCQkJICogb3RoZXJzIG11c3QgaGFuZGxlIHRoaXMgYXQgdGhlIHByb3RvY29sIGxl dmVsOgorCQkJICogY29ubmVjdChBRl9VTlNQRUMpIG9uIGEgY29ubmVjdGVkIHNvY2tldCBpcwor CQkJICogYSBkb2N1bWVudGVkIHdheSBkaXNjb25uZWN0IHRoZSBzb2NrZXQuCiAJCQkgKi8KIAkJ CWlmIChza3NlYy0+c2NsYXNzID09IFNFQ0NMQVNTX1NDVFBfU09DS0VUKQogCQkJCXJldHVybiAt RUlOVkFMOwotCQkJZWxzZQotCQkJCXJldHVybiAtRUFGTk9TVVBQT1JUOwogCQl9CiAKIAkJZXJy ID0gc2VsX25ldHBvcnRfc2lkKHNrLT5za19wcm90b2NvbCwgc251bSwgJnNpZCk7Ci0tIAoyLjIw LjEKCgpGcm9tIDBjYWNkMWIzM2QwMDI1OTc2MmZiNzk0ZGJjZWQwZjlmNWRkMDg2NmUgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IFBhcnRoYXNhcmF0aHkgQmh1dmFyYWdhbiA8cGFydGhh c2FyYXRoeS5iaHV2YXJhZ2FuQGdtYWlsLmNvbT4KRGF0ZTogVGh1LCA5IE1heSAyMDE5IDA3OjEz OjQyICswMjAwClN1YmplY3Q6IFtQQVRDSCAxMy8yM10gdGlwYzogZml4IGhhbmdpbmcgY2xpZW50 cyB1c2luZyBwb2xsIHdpdGggRVBPTExPVVQgZmxhZwoKWyBVcHN0cmVhbSBjb21taXQgZmY5NDY4 MzNiNzBlMGM3ZjkzZGU5YTNmNWIzMjliNWFlMjI4N2IzOCBdCgpjb21taXQgNTE3ZDdjNzliZGIz OTggKCJ0aXBjOiBmaXggaGFuZ2luZyBwb2xsKCkgZm9yIHN0cmVhbSBzb2NrZXRzIikKaW50cm9k dWNlZCBhIHJlZ3Jlc3Npb24gZm9yIGNsaWVudHMgdXNpbmcgbm9uLWJsb2NraW5nIHNvY2tldHMu CkFmdGVyIHRoZSBjb21taXQsIHdlIHNlbmQgRVBPTExPVVQgZXZlbnQgdG8gdGhlIGNsaWVudCBl dmVuIGluClRJUENfQ09OTkVDVElORyBzdGF0ZS4gVGhpcyBjYXVzZXMgdGhlIHN1YnNlcXVlbnQg c2VuZCgpIHRvIGZhaWwKd2l0aCBFTk9UQ09OTiwgYXMgdGhlIHNvY2tldCBpcyBzdGlsbCBub3Qg aW4gVElQQ19FU1RBQkxJU0hFRCBzdGF0ZS4KCkluIHRoaXMgY29tbWl0LCB3ZToKLSBpbXByb3Zl IHRoZSBmaXggZm9yIGhhbmdpbmcgcG9sbCgpIGJ5IHJlcGxhY2luZyBza19kYXRhX3JlYWR5KCkK ICB3aXRoIHNrX3N0YXRlX2NoYW5nZSgpIHRvIHdha2UgdXAgYWxsIGNsaWVudHMuCi0gcmV2ZXJ0 IHRoZSBmYXVsdHkgdXBkYXRlcyBpbnRyb2R1Y2VkIGJ5IGNvbW1pdCA1MTdkN2M3OWJkYjM5OAog ICgidGlwYzogZml4IGhhbmdpbmcgcG9sbCgpIGZvciBzdHJlYW0gc29ja2V0cyIpLgoKRml4ZXM6 IDUxN2Q3Yzc5YmRiMzk4ICgidGlwYzogZml4IGhhbmdpbmcgcG9sbCgpIGZvciBzdHJlYW0gc29j a2V0cyIpClNpZ25lZC1vZmYtYnk6IFBhcnRoYXNhcmF0aHkgQmh1dmFyYWdhbiA8cGFydGhhc2Fy YXRoeS5iaHV2YXJhZ2FuQGdtYWlsLmNvbT4KQWNrZWQtYnk6IEpvbiBNYWxveSA8am9uLm1hbG95 QGVyaWNzc29uLnNlPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVt bG9mdC5uZXQ+Ci0tLQogbmV0L3RpcGMvc29ja2V0LmMgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2Vk LCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3RpcGMv c29ja2V0LmMgYi9uZXQvdGlwYy9zb2NrZXQuYwppbmRleCA0ZGNhOTE2MWY5OWIuLjAyMDQ3N2Zm OTFhMiAxMDA2NDQKLS0tIGEvbmV0L3RpcGMvc29ja2V0LmMKKysrIGIvbmV0L3RpcGMvc29ja2V0 LmMKQEAgLTczNCwxMSArNzM0LDExIEBAIHN0YXRpYyBfX3BvbGxfdCB0aXBjX3BvbGwoc3RydWN0 IGZpbGUgKmZpbGUsIHN0cnVjdCBzb2NrZXQgKnNvY2ssCiAKIAlzd2l0Y2ggKHNrLT5za19zdGF0 ZSkgewogCWNhc2UgVElQQ19FU1RBQkxJU0hFRDoKLQljYXNlIFRJUENfQ09OTkVDVElORzoKIAkJ aWYgKCF0c2stPmNvbmdfbGlua19jbnQgJiYgIXRza19jb25uX2NvbmcodHNrKSkKIAkJCXJldmVu dHMgfD0gRVBPTExPVVQ7CiAJCS8qIGZhbGwgdGhydScgKi8KIAljYXNlIFRJUENfTElTVEVOOgor CWNhc2UgVElQQ19DT05ORUNUSU5HOgogCQlpZiAoIXNrYl9xdWV1ZV9lbXB0eSgmc2stPnNrX3Jl Y2VpdmVfcXVldWUpKQogCQkJcmV2ZW50cyB8PSBFUE9MTElOIHwgRVBPTExSRE5PUk07CiAJCWJy ZWFrOwpAQCAtMjA0MSw3ICsyMDQxLDcgQEAgc3RhdGljIGJvb2wgdGlwY19za19maWx0ZXJfY29u bmVjdChzdHJ1Y3QgdGlwY19zb2NrICp0c2ssIHN0cnVjdCBza19idWZmICpza2IpCiAJCQlpZiAo bXNnX2RhdGFfc3ooaGRyKSkKIAkJCQlyZXR1cm4gdHJ1ZTsKIAkJCS8qIEVtcHR5IEFDSy0sIC0g d2FrZSB1cCBzbGVlcGluZyBjb25uZWN0KCkgYW5kIGRyb3AgKi8KLQkJCXNrLT5za19kYXRhX3Jl YWR5KHNrKTsKKwkJCXNrLT5za19zdGF0ZV9jaGFuZ2Uoc2spOwogCQkJbXNnX3NldF9kZXN0X2Ry b3BwYWJsZShoZHIsIDEpOwogCQkJcmV0dXJuIGZhbHNlOwogCQl9Ci0tIAoyLjIwLjEKCgpGcm9t IDQ3OGVjYzE2ODNlZWNlYWE5NjM5ZDVmODk0M2U3YjQwYjIwNGJmOTMgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IEhhbmdiaW4gTGl1IDxsaXVoYW5nYmluQGdtYWlsLmNvbT4KRGF0ZTog VGh1LCA5IE1heSAyMDE5IDE0OjU1OjA3ICswODAwClN1YmplY3Q6IFtQQVRDSCAxNC8yM10gdmxh bjogZGlzYWJsZSBTSU9DU0hXVFNUQU1QIGluIGNvbnRhaW5lcgoKWyBVcHN0cmVhbSBjb21taXQg ODczMDE3YWY3Nzg0MzlmMmY4ZTNkODdmMjhkZGIxZmNhZjI0NGE3NiBdCgpXaXRoIE5FVF9BRE1J TiBlbmFibGVkIGluIGNvbnRhaW5lciwgYSBub3JtYWwgdXNlciBjb3VsZCBiZSBtYXBwZWQgdG8K cm9vdCBhbmQgaXMgYWJsZSB0byBjaGFuZ2UgdGhlIHJlYWwgZGV2aWNlJ3MgcnggZmlsdGVyIHZp YSBpb2N0bCBvbgp2bGFuLCB3aGljaCB3b3VsZCBhZmZlY3QgdGhlIG90aGVyIHB0cCBwcm9jZXNz IG9uIGhvc3QuIEZpeCBpdCBieQpkaXNhYmxpbmcgU0lPQ1NIV1RTVEFNUCBpbiBjb250YWluZXIu CgpGaXhlczogYTYxMTFkM2M5M2QwICgidmxhbjogUGFzcyBTSU9DW1NHXUhXVFNUQU1QIGlvY3Rs cyB0byByZWFsIGRldmljZSIpClNpZ25lZC1vZmYtYnk6IEhhbmdiaW4gTGl1IDxsaXVoYW5nYmlu QGdtYWlsLmNvbT4KQWNrZWQtYnk6IFJpY2hhcmQgQ29jaHJhbiA8cmljaGFyZGNvY2hyYW5AZ21h aWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5u ZXQ+Ci0tLQogbmV0LzgwMjFxL3ZsYW5fZGV2LmMgfCA0ICsrKy0KIDEgZmlsZSBjaGFuZ2VkLCAz IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9uZXQvODAyMXEvdmxh bl9kZXYuYyBiL25ldC84MDIxcS92bGFuX2Rldi5jCmluZGV4IGIyZDljOGYyN2NkNy4uMTk5MWNl MmViMjY4IDEwMDY0NAotLS0gYS9uZXQvODAyMXEvdmxhbl9kZXYuYworKysgYi9uZXQvODAyMXEv dmxhbl9kZXYuYwpAQCAtMzY4LDEwICszNjgsMTIgQEAgc3RhdGljIGludCB2bGFuX2Rldl9pb2N0 bChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBzdHJ1Y3QgaWZyZXEgKmlmciwgaW50IGNtZCkKIAlp ZnJyLmlmcl9pZnJ1ID0gaWZyLT5pZnJfaWZydTsKIAogCXN3aXRjaCAoY21kKSB7CisJY2FzZSBT SU9DU0hXVFNUQU1QOgorCQlpZiAoIW5ldF9lcShkZXZfbmV0KGRldiksICZpbml0X25ldCkpCisJ CQlicmVhazsKIAljYXNlIFNJT0NHTUlJUEhZOgogCWNhc2UgU0lPQ0dNSUlSRUc6CiAJY2FzZSBT SU9DU01JSVJFRzoKLQljYXNlIFNJT0NTSFdUU1RBTVA6CiAJY2FzZSBTSU9DR0hXVFNUQU1QOgog CQlpZiAobmV0aWZfZGV2aWNlX3ByZXNlbnQocmVhbF9kZXYpICYmIG9wcy0+bmRvX2RvX2lvY3Rs KQogCQkJZXJyID0gb3BzLT5uZG9fZG9faW9jdGwocmVhbF9kZXYsICZpZnJyLCBjbWQpOwotLSAK Mi4yMC4xCgoKRnJvbSA0NTQ0Njc1MWYxNDA2ODc2NTVlY2NlNzY2NjJmMTFjNGRmZWQxMGJkIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBTdGVwaGVuIFN1cnlhcHV0cmEgPHNzdXJ5YWV4 dHJAZ21haWwuY29tPgpEYXRlOiBNb24sIDYgTWF5IDIwMTkgMTU6MDA6MDEgLTA0MDAKU3ViamVj dDogW1BBVENIIDE1LzIzXSB2cmY6IHNpdCBtdHUgc2hvdWxkIG5vdCBiZSB1cGRhdGVkIHdoZW4g dnJmIG5ldGRldiBpcwogdGhlIGxpbmsKClsgVXBzdHJlYW0gY29tbWl0IGZmNmFiMzJiZDRlMDcz OTc2ZTRkODc5N2I0ZDUxNGExNzJjZmU2Y2IgXQoKVlJGIG5ldGRldiBtdHUgaXNuJ3QgdHlwaWNh bGx5IHNldCBhbmQgaGF2ZSBhbiBtdHUgb2YgNjU1MzYuIFdoZW4gdGhlCmxpbmsgb2YgYSB0dW5u ZWwgaXMgc2V0LCB0aGUgdHVubmVsIG10dSBpcyBjaGFuZ2VkIGZyb20gMTQ4MCB0byB0aGUgbGlu awptdHUgbWludXMgdHVubmVsIGhlYWRlci4gSW4gdGhlIGNhc2Ugb2YgVlJGIG5ldGRldiBpcyB0 aGUgbGluaywgdGhlbiB0aGUKdHVubmVsIG10dSBiZWNvbWVzIDY1NTE2LiBTbywgZml4IGl0IGJ5 IG5vdCBzZXR0aW5nIHRoZSB0dW5uZWwgbXR1IGluCnRoaXMgY2FzZS4KClNpZ25lZC1vZmYtYnk6 IFN0ZXBoZW4gU3VyeWFwdXRyYSA8c3N1cnlhZXh0ckBnbWFpbC5jb20+ClJldmlld2VkLWJ5OiBE YXZpZCBBaGVybiA8ZHNhaGVybkBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1p bGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2Ni9zaXQuYyB8IDIgKy0KIDEg ZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBh L25ldC9pcHY2L3NpdC5jIGIvbmV0L2lwdjYvc2l0LmMKaW5kZXggYjIxMDliNzQ4NTdkLi45NzFk NjBiZjk2NDAgMTAwNjQ0Ci0tLSBhL25ldC9pcHY2L3NpdC5jCisrKyBiL25ldC9pcHY2L3NpdC5j CkBAIC0xMDg0LDcgKzEwODQsNyBAQCBzdGF0aWMgdm9pZCBpcGlwNl90dW5uZWxfYmluZF9kZXYo c3RydWN0IG5ldF9kZXZpY2UgKmRldikKIAlpZiAoIXRkZXYgJiYgdHVubmVsLT5wYXJtcy5saW5r KQogCQl0ZGV2ID0gX19kZXZfZ2V0X2J5X2luZGV4KHR1bm5lbC0+bmV0LCB0dW5uZWwtPnBhcm1z LmxpbmspOwogCi0JaWYgKHRkZXYpIHsKKwlpZiAodGRldiAmJiAhbmV0aWZfaXNfbDNfbWFzdGVy KHRkZXYpKSB7CiAJCWludCB0X2hsZW4gPSB0dW5uZWwtPmhsZW4gKyBzaXplb2Yoc3RydWN0IGlw aGRyKTsKIAogCQlkZXYtPmhhcmRfaGVhZGVyX2xlbiA9IHRkZXYtPmhhcmRfaGVhZGVyX2xlbiAr IHNpemVvZihzdHJ1Y3QgaXBoZHIpOwotLSAKMi4yMC4xCgoKRnJvbSBjZmI4NzllOTJiNzVmMWJk NTA0ZjgxNDE1ZWQ5NzI4NGMwZWY1MTcxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBP bGl2ZXIgTmV1a3VtIDxvbmV1a3VtQHN1c2UuY29tPgpEYXRlOiBUaHUsIDkgTWF5IDIwMTkgMTE6 MDg6MTYgKzAyMDAKU3ViamVjdDogW1BBVENIIDE2LzIzXSBhcWMxMTE6IGZpeCBlbmRpYW5uZXNz IGlzc3VlIGluIGFxYzExMV9jaGFuZ2VfbXR1CgpbIFVwc3RyZWFtIGNvbW1pdCBiOGIyNzc1MjVl OWRmMmZkMmRjM2QxZjRmZTAxYzY3OTZiYjEwN2ZjIF0KCklmIHRoZSBNVFUgaXMgbGFyZ2UgZW5v dWdoLCB0aGUgZmlyc3Qgd3JpdGUgdG8gdGhlIGRldmljZQppcyBqdXN0IHJlcGVhdGVkLiBPbiBC RSBhcmNoaXRlY3R1cmVzLCBob3dldmVyLCB0aGUgZmlyc3QKd29yZCBvZiB0aGUgY29tbWFuZCB3 aWxsIGJlIHN3YXBwZWQgYSBzZWNvbmQgdGltZSBhbmQgZ2FyYmFnZQp3aWxsIGJlIHdyaXR0ZW4u IEF2b2lkIHRoYXQuCgpTaWduZWQtb2ZmLWJ5OiBPbGl2ZXIgTmV1a3VtIDxvbmV1a3VtQHN1c2Uu Y29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+ Ci0tLQogZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jIHwgMiArKwogMSBmaWxlIGNoYW5nZWQsIDIg aW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYyBiL2Ry aXZlcnMvbmV0L3VzYi9hcWMxMTEuYwppbmRleCBhZmY5OTViZTJhMzEuLjQwOGRmMmQzMzVlMyAx MDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jCisrKyBiL2RyaXZlcnMvbmV0L3Vz Yi9hcWMxMTEuYwpAQCAtNDUzLDYgKzQ1Myw4IEBAIHN0YXRpYyBpbnQgYXFjMTExX2NoYW5nZV9t dHUoc3RydWN0IG5ldF9kZXZpY2UgKm5ldCwgaW50IG5ld19tdHUpCiAJCXJlZzE2ID0gMHgxNDIw OwogCWVsc2UgaWYgKGRldi0+bmV0LT5tdHUgPD0gMTYzMzQpCiAJCXJlZzE2ID0gMHgxQTIwOwor CWVsc2UKKwkJcmV0dXJuIDA7CiAKIAlhcWMxMTFfd3JpdGUxNl9jbWQoZGV2LCBBUV9BQ0NFU1Nf TUFDLCBTRlJfUEFVU0VfV0FURVJMVkxfTE9XLAogCQkJICAgMiwgJnJlZzE2KTsKLS0gCjIuMjAu MQoKCkZyb20gNTExMDcxYTZhNDhiOTViYjFhOWZlYjEzNTVkMTg2NGVjYWFjNTM3YyBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogT2xpdmVyIE5ldWt1bSA8b25ldWt1bUBzdXNlLmNvbT4K RGF0ZTogVGh1LCA5IE1heSAyMDE5IDExOjA4OjE3ICswMjAwClN1YmplY3Q6IFtQQVRDSCAxNy8y M10gYXFjMTExOiBmaXggd3JpdGluZyB0byB0aGUgcGh5IG9uIEJFCgpbIFVwc3RyZWFtIGNvbW1p dCAzNjliNDZlOWZiY2ZhNTEzNmYyY2I1ZjQ4NmM5MGU1ZjdmYTkyNjMwIF0KCldoZW4gd3JpdGlu ZyB0byB0aGUgcGh5IG9uIEJFIGFyY2hpdGVjdHVyZXMgYW4gaW50ZXJuYWwgZGF0YSBzdHJ1Y3R1 cmUKd2FzIGRpcmVjdGx5IGdpdmVuLCBsZWFkaW5nIHRvIGl0IGJlaW5nIGJ5dGUgc3dhcHBlZCBp biB0aGUgd3JvbmcKd2F5IGZvciB0aGUgQ1BVIGluIDUwJSBvZiBhbGwgY2FzZXMuIEEgdGVtcG9y YXJ5IGJ1ZmZlciBtdXN0IGJlIHVzZWQuCgpTaWduZWQtb2ZmLWJ5OiBPbGl2ZXIgTmV1a3VtIDxv bmV1a3VtQHN1c2UuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRh dmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jIHwgMjMgKysrKysrKysr KysrKysrKystLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCA2IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYyBiL2RyaXZlcnMv bmV0L3VzYi9hcWMxMTEuYwppbmRleCA0MDhkZjJkMzM1ZTMuLjU5OWQ1NjBhODQ1MCAxMDA2NDQK LS0tIGEvZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jCisrKyBiL2RyaXZlcnMvbmV0L3VzYi9hcWMx MTEuYwpAQCAtMzIwLDYgKzMyMCw3IEBAIHN0YXRpYyBpbnQgYXFjMTExX2dldF9saW5rX2tzZXR0 aW5ncyhzdHJ1Y3QgbmV0X2RldmljZSAqbmV0LAogc3RhdGljIHZvaWQgYXFjMTExX3NldF9waHlf c3BlZWQoc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBhdXRvbmVnLCB1MTYgc3BlZWQpCiB7CiAJc3Ry dWN0IGFxYzExMV9kYXRhICphcWMxMTFfZGF0YSA9IGRldi0+ZHJpdmVyX3ByaXY7CisJdTMyIHBo eV9vbl90aGVfd2lyZTsKIAogCWFxYzExMV9kYXRhLT5waHlfY2ZnICY9IH5BUV9BRFZfTUFTSzsK IAlhcWMxMTFfZGF0YS0+cGh5X2NmZyB8PSBBUV9QQVVTRTsKQEAgLTM2MSw3ICszNjIsOCBAQCBz dGF0aWMgdm9pZCBhcWMxMTFfc2V0X3BoeV9zcGVlZChzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGF1 dG9uZWcsIHUxNiBzcGVlZCkKIAkJfQogCX0KIAotCWFxYzExMV93cml0ZTMyX2NtZChkZXYsIEFR X1BIWV9PUFMsIDAsIDAsICZhcWMxMTFfZGF0YS0+cGh5X2NmZyk7CisJcGh5X29uX3RoZV93aXJl ID0gYXFjMTExX2RhdGEtPnBoeV9jZmc7CisJYXFjMTExX3dyaXRlMzJfY21kKGRldiwgQVFfUEhZ X09QUywgMCwgMCwgJnBoeV9vbl90aGVfd2lyZSk7CiB9CiAKIHN0YXRpYyBpbnQgYXFjMTExX3Nl dF9saW5rX2tzZXR0aW5ncyhzdHJ1Y3QgbmV0X2RldmljZSAqbmV0LApAQCAtNzU1LDYgKzc1Nyw3 IEBAIHN0YXRpYyB2b2lkIGFxYzExMV91bmJpbmQoc3RydWN0IHVzYm5ldCAqZGV2LCBzdHJ1Y3Qg dXNiX2ludGVyZmFjZSAqaW50ZikKIHsKIAlzdHJ1Y3QgYXFjMTExX2RhdGEgKmFxYzExMV9kYXRh ID0gZGV2LT5kcml2ZXJfcHJpdjsKIAl1MTYgcmVnMTY7CisJdTMyIHBoeV9vbl90aGVfd2lyZTsK IAogCS8qIEZvcmNlIGJ6ICovCiAJcmVnMTYgPSBTRlJfUEhZUFdSX1JTVENUTF9CWjsKQEAgLTc2 OCw4ICs3NzEsOSBAQCBzdGF0aWMgdm9pZCBhcWMxMTFfdW5iaW5kKHN0cnVjdCB1c2JuZXQgKmRl diwgc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYpCiAJYXFjMTExX2RhdGEtPnBoeV9jZmcgJj0g fkFRX0FEVl9NQVNLOwogCWFxYzExMV9kYXRhLT5waHlfY2ZnIHw9IEFRX0xPV19QT1dFUjsKIAlh cWMxMTFfZGF0YS0+cGh5X2NmZyAmPSB+QVFfUEhZX1BPV0VSX0VOOworCXBoeV9vbl90aGVfd2ly ZSA9IGFxYzExMV9kYXRhLT5waHlfY2ZnOwogCWFxYzExMV93cml0ZTMyX2NtZF9ub3BtKGRldiwg QVFfUEhZX09QUywgMCwgMCwKLQkJCQkmYXFjMTExX2RhdGEtPnBoeV9jZmcpOworCQkJCSZwaHlf b25fdGhlX3dpcmUpOwogCiAJa2ZyZWUoYXFjMTExX2RhdGEpOwogfQpAQCAtOTkyLDYgKzk5Niw3 IEBAIHN0YXRpYyBpbnQgYXFjMTExX3Jlc2V0KHN0cnVjdCB1c2JuZXQgKmRldikKIHsKIAlzdHJ1 Y3QgYXFjMTExX2RhdGEgKmFxYzExMV9kYXRhID0gZGV2LT5kcml2ZXJfcHJpdjsKIAl1OCByZWc4 ID0gMDsKKwl1MzIgcGh5X29uX3RoZV93aXJlOwogCiAJZGV2LT5yeF91cmJfc2l6ZSA9IFVSQl9T SVpFOwogCkBAIC0xMDA0LDggKzEwMDksOSBAQCBzdGF0aWMgaW50IGFxYzExMV9yZXNldChzdHJ1 Y3QgdXNibmV0ICpkZXYpCiAKIAkvKiBQb3dlciB1cCBldGhlcm5ldCBQSFkgKi8KIAlhcWMxMTFf ZGF0YS0+cGh5X2NmZyA9IEFRX1BIWV9QT1dFUl9FTjsKKwlwaHlfb25fdGhlX3dpcmUgPSBhcWMx MTFfZGF0YS0+cGh5X2NmZzsKIAlhcWMxMTFfd3JpdGUzMl9jbWQoZGV2LCBBUV9QSFlfT1BTLCAw LCAwLAotCQkJICAgJmFxYzExMV9kYXRhLT5waHlfY2ZnKTsKKwkJCSAgICZwaHlfb25fdGhlX3dp cmUpOwogCiAJLyogU2V0IHRoZSBNQUMgYWRkcmVzcyAqLwogCWFxYzExMV93cml0ZV9jbWQoZGV2 LCBBUV9BQ0NFU1NfTUFDLCBTRlJfTk9ERV9JRCwgRVRIX0FMRU4sCkBAIC0xMDM2LDYgKzEwNDIs NyBAQCBzdGF0aWMgaW50IGFxYzExMV9zdG9wKHN0cnVjdCB1c2JuZXQgKmRldikKIHsKIAlzdHJ1 Y3QgYXFjMTExX2RhdGEgKmFxYzExMV9kYXRhID0gZGV2LT5kcml2ZXJfcHJpdjsKIAl1MTYgcmVn MTYgPSAwOworCXUzMiBwaHlfb25fdGhlX3dpcmU7CiAKIAlhcWMxMTFfcmVhZDE2X2NtZChkZXYs IEFRX0FDQ0VTU19NQUMsIFNGUl9NRURJVU1fU1RBVFVTX01PREUsCiAJCQkgIDIsICZyZWcxNik7 CkBAIC0xMDQ3LDggKzEwNTQsOSBAQCBzdGF0aWMgaW50IGFxYzExMV9zdG9wKHN0cnVjdCB1c2Ju ZXQgKmRldikKIAogCS8qIFB1dCBQSFkgdG8gbG93IHBvd2VyKi8KIAlhcWMxMTFfZGF0YS0+cGh5 X2NmZyB8PSBBUV9MT1dfUE9XRVI7CisJcGh5X29uX3RoZV93aXJlID0gYXFjMTExX2RhdGEtPnBo eV9jZmc7CiAJYXFjMTExX3dyaXRlMzJfY21kKGRldiwgQVFfUEhZX09QUywgMCwgMCwKLQkJCSAg ICZhcWMxMTFfZGF0YS0+cGh5X2NmZyk7CisJCQkgICAmcGh5X29uX3RoZV93aXJlKTsKIAogCW5l dGlmX2NhcnJpZXJfb2ZmKGRldi0+bmV0KTsKIApAQCAtMTMyNCw2ICsxMzMyLDcgQEAgc3RhdGlj IGludCBhcWMxMTFfc3VzcGVuZChzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZiwgcG1fbWVzc2Fn ZV90IG1lc3NhZ2UpCiAJdTE2IHRlbXBfcnhfY3RybCA9IDB4MDA7CiAJdTE2IHJlZzE2OwogCXU4 IHJlZzg7CisJdTMyIHBoeV9vbl90aGVfd2lyZTsKIAogCXVzYm5ldF9zdXNwZW5kKGludGYsIG1l c3NhZ2UpOwogCkBAIC0xMzk1LDEyICsxNDA0LDE0IEBAIHN0YXRpYyBpbnQgYXFjMTExX3N1c3Bl bmQoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsIHBtX21lc3NhZ2VfdCBtZXNzYWdlKQogCiAJ CWFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9XT0xfQ0ZHLCAwLCAwLAogCQkJCSBXT0xfQ0ZHX1NJ WkUsICZ3b2xfY2ZnKTsKKwkJcGh5X29uX3RoZV93aXJlID0gYXFjMTExX2RhdGEtPnBoeV9jZmc7 CiAJCWFxYzExMV93cml0ZTMyX2NtZChkZXYsIEFRX1BIWV9PUFMsIDAsIDAsCi0JCQkJICAgJmFx YzExMV9kYXRhLT5waHlfY2ZnKTsKKwkJCQkgICAmcGh5X29uX3RoZV93aXJlKTsKIAl9IGVsc2Ug ewogCQlhcWMxMTFfZGF0YS0+cGh5X2NmZyB8PSBBUV9MT1dfUE9XRVI7CisJCXBoeV9vbl90aGVf d2lyZSA9IGFxYzExMV9kYXRhLT5waHlfY2ZnOwogCQlhcWMxMTFfd3JpdGUzMl9jbWQoZGV2LCBB UV9QSFlfT1BTLCAwLCAwLAotCQkJCSAgICZhcWMxMTFfZGF0YS0+cGh5X2NmZyk7CisJCQkJICAg JnBoeV9vbl90aGVfd2lyZSk7CiAKIAkJLyogRGlzYWJsZSBSWCBwYXRoICovCiAJCWFxYzExMV9y ZWFkMTZfY21kX25vcG0oZGV2LCBBUV9BQ0NFU1NfTUFDLAotLSAKMi4yMC4xCgoKRnJvbSA3YjY3 YWUyYTYyOWI1OTAwYzkyZDcwNzcxYzA1NjcwODA1MjE1MmVhIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiBPbGl2ZXIgTmV1a3VtIDxvbmV1a3VtQHN1c2UuY29tPgpEYXRlOiBUaHUsIDkg TWF5IDIwMTkgMTE6MDg6MTggKzAyMDAKU3ViamVjdDogW1BBVENIIDE4LzIzXSBhcWMxMTE6IGZp eCBkb3VibGUgZW5kaWFubmVzcyBzd2FwIG9uIEJFCgpbIFVwc3RyZWFtIGNvbW1pdCAyY2Y2NzI3 MDliZWIwMDVmNmU5MGNiNGVkYmVkNmYyMjE4YmE5NTNlIF0KCklmIHlvdSBhcmUgdXNpbmcgYSBm dW5jdGlvbiB0aGF0IGRvZXMgYSBzd2FwIGluIHBsYWNlLAp5b3UgY2Fubm90IGp1c3QgcmV1c2Ug dGhlIGJ1ZmZlciBvbiB0aGUgYXNzdW1wdGlvbiB0aGF0IGl0IGhhcwpub3QgYmVlbiBjaGFuZ2Vk LgoKU2lnbmVkLW9mZi1ieTogT2xpdmVyIE5ldWt1bSA8b25ldWt1bUBzdXNlLmNvbT4KU2lnbmVk LW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZl cnMvbmV0L3VzYi9hcWMxMTEuYyB8IDYgKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRp b25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3VzYi9hcWMx MTEuYyBiL2RyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYwppbmRleCA1OTlkNTYwYTg0NTAuLmI4NmM1 Y2U5YTkyYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jCisrKyBiL2RyaXZl cnMvbmV0L3VzYi9hcWMxMTEuYwpAQCAtMTQyOCw3ICsxNDI4LDcgQEAgc3RhdGljIGludCBhcWMx MTFfcmVzdW1lKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmKQogewogCXN0cnVjdCB1c2JuZXQg KmRldiA9IHVzYl9nZXRfaW50ZmRhdGEoaW50Zik7CiAJc3RydWN0IGFxYzExMV9kYXRhICphcWMx MTFfZGF0YSA9IGRldi0+ZHJpdmVyX3ByaXY7Ci0JdTE2IHJlZzE2OworCXUxNiByZWcxNiwgb2xk cmVnMTY7CiAJdTggcmVnODsKIAogCW5ldGlmX2NhcnJpZXJfb2ZmKGRldi0+bmV0KTsKQEAgLTE0 NDQsOSArMTQ0NCwxMSBAQCBzdGF0aWMgaW50IGFxYzExMV9yZXN1bWUoc3RydWN0IHVzYl9pbnRl cmZhY2UgKmludGYpCiAJLyogQ29uZmlndXJlIFJYIGNvbnRyb2wgcmVnaXN0ZXIgPT4gc3RhcnQg b3BlcmF0aW9uICovCiAJcmVnMTYgPSBhcWMxMTFfZGF0YS0+cnhjdGw7CiAJcmVnMTYgJj0gflNG Ul9SWF9DVExfU1RBUlQ7CisJLyogbmVlZHMgdG8gYmUgc2F2ZWQgaW4gY2FzZSBlbmRpYW5uZXNz IGlzIHN3YXBwZWQgKi8KKwlvbGRyZWcxNiA9IHJlZzE2OwogCWFxYzExMV93cml0ZTE2X2NtZF9u b3BtKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1JYX0NUTCwgMiwgJnJlZzE2KTsKIAotCXJlZzE2 IHw9IFNGUl9SWF9DVExfU1RBUlQ7CisJcmVnMTYgPSBvbGRyZWcxNiB8IFNGUl9SWF9DVExfU1RB UlQ7CiAJYXFjMTExX3dyaXRlMTZfY21kX25vcG0oZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfUlhf Q1RMLCAyLCAmcmVnMTYpOwogCiAJYXFjMTExX3NldF9waHlfc3BlZWQoZGV2LCBhcWMxMTFfZGF0 YS0+YXV0b25lZywKLS0gCjIuMjAuMQoKCkZyb20gYmM5OTRjZDkxNWQzMzU3ZTY3N2E2YTZkOWYx YWVlZjJiZmU5ZjY3YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSmFzb24gV2FuZyA8 amFzb3dhbmdAcmVkaGF0LmNvbT4KRGF0ZTogV2VkLCA4IE1heSAyMDE5IDIzOjIwOjE3IC0wNDAw ClN1YmplY3Q6IFtQQVRDSCAxOS8yM10gdHVudGFwOiBmaXggZGl2aWRpbmcgYnkgemVybyBpbiBl YnBmIHF1ZXVlIHNlbGVjdGlvbgoKWyBVcHN0cmVhbSBjb21taXQgYTM1ZDMxMGYwM2E2OTJiZjQ3 OThlYjMwOWExOTUwYTA2YTE1MDYyMCBdCgpXZSBuZWVkIGNoZWNrIGlmIHR1bi0+bnVtcXVldWVz IGlzIHplcm8gKGUuZyBmb3IgdGhlIHBlcnNpc3QgZGV2aWNlKQpiZWZvcmUgdHJ5aW5nIHRvIHVz ZSBpdCBmb3IgbW9kdWxhciBhcml0aG1ldGljLgoKUmVwb3J0ZWQtYnk6IEVyaWMgRHVtYXpldCA8 ZXJpYy5kdW1hemV0QGdtYWlsLmNvbT4KRml4ZXM6IDk2Zjg0MDYxNjIwYzYoInR1bjogYWRkIGVC UEYgYmFzZWQgcXVldWUgc2VsZWN0aW9uIG1ldGhvZCIpClNpZ25lZC1vZmYtYnk6IEphc29uIFdh bmcgPGphc293YW5nQHJlZGhhdC5jb20+ClJldmlld2VkLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1h emV0QGdvb2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2 ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC90dW4uYyB8IDcgKysrKysrLQogMSBmaWxlIGNo YW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvbmV0L3R1bi5jIGIvZHJpdmVycy9uZXQvdHVuLmMKaW5kZXggNDQ4ZDU0MzlmZjZhLi41ODE3 NWRjOGQxZmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3R1bi5jCisrKyBiL2RyaXZlcnMvbmV0 L3R1bi5jCkBAIC01OTYsMTMgKzU5NiwxOCBAQCBzdGF0aWMgdTE2IHR1bl9hdXRvbXFfc2VsZWN0 X3F1ZXVlKHN0cnVjdCB0dW5fc3RydWN0ICp0dW4sIHN0cnVjdCBza19idWZmICpza2IpCiBzdGF0 aWMgdTE2IHR1bl9lYnBmX3NlbGVjdF9xdWV1ZShzdHJ1Y3QgdHVuX3N0cnVjdCAqdHVuLCBzdHJ1 Y3Qgc2tfYnVmZiAqc2tiKQogewogCXN0cnVjdCB0dW5fcHJvZyAqcHJvZzsKKwl1MzIgbnVtcXVl dWVzOwogCXUxNiByZXQgPSAwOwogCisJbnVtcXVldWVzID0gUkVBRF9PTkNFKHR1bi0+bnVtcXVl dWVzKTsKKwlpZiAoIW51bXF1ZXVlcykKKwkJcmV0dXJuIDA7CisKIAlwcm9nID0gcmN1X2RlcmVm ZXJlbmNlKHR1bi0+c3RlZXJpbmdfcHJvZyk7CiAJaWYgKHByb2cpCiAJCXJldCA9IGJwZl9wcm9n X3J1bl9jbGVhcl9jYihwcm9nLT5wcm9nLCBza2IpOwogCi0JcmV0dXJuIHJldCAlIHR1bi0+bnVt cXVldWVzOworCXJldHVybiByZXQgJSBudW1xdWV1ZXM7CiB9CiAKIHN0YXRpYyB1MTYgdHVuX3Nl bGVjdF9xdWV1ZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAot LSAKMi4yMC4xCgoKRnJvbSAzNDVhZjYxYTM2YTY2NjdhMWFmN2QwNzU5MzhhOTMxMGU3ZDI0MmU1 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYXNvbiBXYW5nIDxqYXNvd2FuZ0ByZWRo YXQuY29tPgpEYXRlOiBXZWQsIDggTWF5IDIwMTkgMjM6MjA6MTggLTA0MDAKU3ViamVjdDogW1BB VENIIDIwLzIzXSB0dW50YXA6IHN5bmNocm9uaXplIHRocm91Z2ggdGZpbGVzIGFycmF5IGluc3Rl YWQgb2YKIHR1bi0+bnVtcXVldWVzCgpbIFVwc3RyZWFtIGNvbW1pdCA5ODcxYTllNDdhMjY0NmZl MzBhZTdmZDJlNjc2NjhhOGQzMDkxMmY2IF0KCldoZW4gYSBxdWV1ZSh0ZmlsZSkgaXMgZGV0YWNo ZWQgdGhyb3VnaCBfX3R1bl9kZXRhY2goKSwgd2UgbW92ZSB0aGUKbGFzdCBlbmFibGVkIHRmaWxl IHRvIHRoZSBwb3NpdGlvbiB3aGVyZSBkZXRhY2hlZCBvbmUgc2l0IGJ1dCBkb24ndApOVUxMIG91 dCBsYXN0IHBvc2l0aW9uLiBXZSBleHBlY3QgdG8gc3luY2hyb25pemUgdGhlIGRhdGFwYXRoIHRo cm91Z2gKdHVuLT5udW1xdWV1ZXMuIFVuZm9ydHVuYXRlbHksIHRoaXMgd29uJ3Qgd29yayBzaW5j ZSB3ZSdyZSBsYWNraW5nCnN1ZmZpY2llbnQgbWVjaGFuaXNtIHRvIG9yZGVyIG9yIHN5bmNocm9u aXplIHRoZSBhY2Nlc3MgdG8KdHVuLT5udW1xdWV1ZXMuCgpUbyBmaXggdGhpcywgTlVMTCBvdXQg dGhlIGxhc3QgcG9zaXRpb24gZHVyaW5nIGRldGFjaGluZyBhbmQgY2hlY2sKUkNVIHByb3RlY3Rl ZCB0ZmlsZSBhZ2FpbnN0IE5VTEwgaW5zdGVhZCBvZiBjaGVja2luZyB0dW4tPm51bXF1ZXVlcyBp bgpkYXRhcGF0aC4KCkNjOiBZdWVIYWliaW5nIDx5dWVoYWliaW5nQGh1YXdlaS5jb20+CkNjOiBD b25nIFdhbmcgPHhpeW91Lndhbmdjb25nQGdtYWlsLmNvbT4KQ2M6IHdlaXlvbmdqdW4gKEEpIDx3 ZWl5b25nanVuMUBodWF3ZWkuY29tPgpDYzogRXJpYyBEdW1hemV0IDxlcmljLmR1bWF6ZXRAZ21h aWwuY29tPgpGaXhlczogYzhkNjhlNmJlMWMzYiAoInR1bnRhcDogbXVsdGlxdWV1ZSBzdXBwb3J0 IikKU2lnbmVkLW9mZi1ieTogSmFzb24gV2FuZyA8amFzb3dhbmdAcmVkaGF0LmNvbT4KUmV2aWV3 ZWQtYnk6IFdlaSBZb25nanVuIDx3ZWl5b25nanVuMUBodWF3ZWkuY29tPgpTaWduZWQtb2ZmLWJ5 OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQv dHVuLmMgfCA3ICsrKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDEgZGVs ZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC90dW4uYyBiL2RyaXZlcnMvbmV0L3R1 bi5jCmluZGV4IDU4MTc1ZGM4ZDFmZi4uODg4OGMwOTczNzViIDEwMDY0NAotLS0gYS9kcml2ZXJz L25ldC90dW4uYworKysgYi9kcml2ZXJzL25ldC90dW4uYwpAQCAtNzA1LDYgKzcwNSw4IEBAIHN0 YXRpYyB2b2lkIF9fdHVuX2RldGFjaChzdHJ1Y3QgdHVuX2ZpbGUgKnRmaWxlLCBib29sIGNsZWFu KQogCQkJCSAgIHR1bi0+dGZpbGVzW3R1bi0+bnVtcXVldWVzIC0gMV0pOwogCQludGZpbGUgPSBy dG5sX2RlcmVmZXJlbmNlKHR1bi0+dGZpbGVzW2luZGV4XSk7CiAJCW50ZmlsZS0+cXVldWVfaW5k ZXggPSBpbmRleDsKKwkJcmN1X2Fzc2lnbl9wb2ludGVyKHR1bi0+dGZpbGVzW3R1bi0+bnVtcXVl dWVzIC0gMV0sCisJCQkJICAgTlVMTCk7CiAKIAkJLS10dW4tPm51bXF1ZXVlczsKIAkJaWYgKGNs ZWFuKSB7CkBAIC0xMDg3LDcgKzEwODksNyBAQCBzdGF0aWMgbmV0ZGV2X3R4X3QgdHVuX25ldF94 bWl0KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpCiAJdGZpbGUg PSByY3VfZGVyZWZlcmVuY2UodHVuLT50ZmlsZXNbdHhxXSk7CiAKIAkvKiBEcm9wIHBhY2tldCBp ZiBpbnRlcmZhY2UgaXMgbm90IGF0dGFjaGVkICovCi0JaWYgKHR4cSA+PSB0dW4tPm51bXF1ZXVl cykKKwlpZiAoIXRmaWxlKQogCQlnb3RvIGRyb3A7CiAKIAlpZiAoIXJjdV9kZXJlZmVyZW5jZSh0 dW4tPnN0ZWVyaW5nX3Byb2cpKQpAQCAtMTMxMCw2ICsxMzEyLDcgQEAgc3RhdGljIGludCB0dW5f eGRwX3htaXQoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgaW50IG4sCiAKIAlyY3VfcmVhZF9sb2Nr KCk7CiAKK3Jlc2FtcGxlOgogCW51bXF1ZXVlcyA9IFJFQURfT05DRSh0dW4tPm51bXF1ZXVlcyk7 CiAJaWYgKCFudW1xdWV1ZXMpIHsKIAkJcmN1X3JlYWRfdW5sb2NrKCk7CkBAIC0xMzE4LDYgKzEz MjEsOCBAQCBzdGF0aWMgaW50IHR1bl94ZHBfeG1pdChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBp bnQgbiwKIAogCXRmaWxlID0gcmN1X2RlcmVmZXJlbmNlKHR1bi0+dGZpbGVzW3NtcF9wcm9jZXNz b3JfaWQoKSAlCiAJCQkJCSAgICBudW1xdWV1ZXNdKTsKKwlpZiAodW5saWtlbHkoIXRmaWxlKSkK KwkJZ290byByZXNhbXBsZTsKIAogCXNwaW5fbG9jaygmdGZpbGUtPnR4X3JpbmcucHJvZHVjZXJf bG9jayk7CiAJZm9yIChpID0gMDsgaSA8IG47IGkrKykgewotLSAKMi4yMC4xCgoKRnJvbSBlOTMz YWQ0ZWFhZDJmZGQyMmM3MmVkODBlODg1M2QzMGQ1MmQ4YzU4IE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiBIZWluZXIgS2FsbHdlaXQgPGhrYWxsd2VpdDFAZ21haWwuY29tPgpEYXRlOiBX ZWQsIDEgTWF5IDIwMTkgMjE6NTQ6MjggKzAyMDAKU3ViamVjdDogW1BBVENIIDIxLzIzXSBuZXQ6 IHBoeTogZml4IHBoeV92YWxpZGF0ZV9wYXVzZQoKWyBVcHN0cmVhbSBjb21taXQgYjQwMTBhZjk4 MWFjOGNkZjFmN2Y1OGViNmIxMzFjNDgyZTVkZWUwMiBdCgpXZSBoYXZlIHZhbGlkIHNjZW5hcmlv cyB3aGVyZSBFVEhUT09MX0xJTktfTU9ERV9QYXVzZV9CSVQgZG9lc24ndApuZWVkIHRvIGJlIHN1 cHBvcnRlZC4gVGhlcmVmb3JlIGV4dGVuZCB0aGUgZmlyc3QgY2hlY2sgdG8gY2hlY2sKZm9yIHJ4 X3BhdXNlIGJlaW5nIHNldC4KClNlZSBhbHNvIHBoeV9zZXRfYXN5bV9wYXVzZToKcng9MCBhbmQg dHg9MTogYWR2ZXJ0aXNlIGFzeW0gcGF1c2Ugb25seQpyeD0wIGFuZCB0eD0wOiBzdG9wIGFkdmVy dGlzaW5nIGJvdGggcGF1c2UgbW9kZXMKClRoZSBmaXhlZCBjb21taXQgaXNuJ3Qgd3JvbmcsIGl0 J3MganVzdCB0aGUgb25lIHRoYXQgaW50cm9kdWNlZCB0aGUKbGlua21vZGUgYml0bWFwcy4KCkZp eGVzOiAzYzFiY2M4NjE0ZGIgKCJuZXQ6IGV0aGVybmV0OiBDb252ZXJ0IHBoeWRldiBhZHZlcnRp emUgYW5kIHN1cHBvcnRlZCBmcm9tIHUzMiB0byBsaW5rIG1vZGUiKQpTaWduZWQtb2ZmLWJ5OiBI ZWluZXIgS2FsbHdlaXQgPGhrYWxsd2VpdDFAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZp ZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvcGh5L3Bo eV9kZXZpY2UuYyB8IDExICsrKysrKystLS0tCiAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25z KCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3BoeS9waHlfZGV2 aWNlLmMgYi9kcml2ZXJzL25ldC9waHkvcGh5X2RldmljZS5jCmluZGV4IGFkZjc5NjE0YzJkYi4u ZmYyNDI2ZTAwNjgyIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9waHkvcGh5X2RldmljZS5jCisr KyBiL2RyaXZlcnMvbmV0L3BoeS9waHlfZGV2aWNlLmMKQEAgLTIwODMsMTEgKzIwODMsMTQgQEAg Ym9vbCBwaHlfdmFsaWRhdGVfcGF1c2Uoc3RydWN0IHBoeV9kZXZpY2UgKnBoeWRldiwKIAkJCXN0 cnVjdCBldGh0b29sX3BhdXNlcGFyYW0gKnBwKQogewogCWlmICghbGlua21vZGVfdGVzdF9iaXQo RVRIVE9PTF9MSU5LX01PREVfUGF1c2VfQklULAotCQkJICAgICAgIHBoeWRldi0+c3VwcG9ydGVk KSB8fAotCSAgICAoIWxpbmttb2RlX3Rlc3RfYml0KEVUSFRPT0xfTElOS19NT0RFX0FzeW1fUGF1 c2VfQklULAotCQkJCXBoeWRldi0+c3VwcG9ydGVkKSAmJgotCSAgICAgcHAtPnJ4X3BhdXNlICE9 IHBwLT50eF9wYXVzZSkpCisJCQkgICAgICAgcGh5ZGV2LT5zdXBwb3J0ZWQpICYmIHBwLT5yeF9w YXVzZSkKIAkJcmV0dXJuIGZhbHNlOworCisJaWYgKCFsaW5rbW9kZV90ZXN0X2JpdChFVEhUT09M X0xJTktfTU9ERV9Bc3ltX1BhdXNlX0JJVCwKKwkJCSAgICAgICBwaHlkZXYtPnN1cHBvcnRlZCkg JiYKKwkgICAgcHAtPnJ4X3BhdXNlICE9IHBwLT50eF9wYXVzZSkKKwkJcmV0dXJuIGZhbHNlOwor CiAJcmV0dXJuIHRydWU7CiB9CiBFWFBPUlRfU1lNQk9MKHBoeV92YWxpZGF0ZV9wYXVzZSk7Ci0t IAoyLjIwLjEKCgpGcm9tIGY2NDYwNTUwOTJhOGM1YWIxODM0YzgwYjhkNTViNTliYmY1NjZiNTIg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29v Z2xlLmNvbT4KRGF0ZTogTW9uLCAxMyBNYXkgMjAxOSAwOTozODo1NSAtMDcwMApTdWJqZWN0OiBb UEFUQ0ggMjIvMjNdIGZsb3dfZGlzc2VjdG9yOiBkaXNhYmxlIHByZWVtcHRpb24gYXJvdW5kIEJQ RiBjYWxscwoKWyBVcHN0cmVhbSBjb21taXQgYjFjMTdhOWEzNTM4Nzg2MDJmZDViZmU5MTAzZTRh ZmU1ZTlhM2Y5NiBdCgpWYXJpb3VzIHRoaW5ncyBpbiBlQlBGIHJlYWxseSByZXF1aXJlIHVzIHRv IGRpc2FibGUgcHJlZW1wdGlvbgpiZWZvcmUgcnVubmluZyBhbiBlQlBGIHByb2dyYW0uCgpzeXpi b3QgcmVwb3J0ZWQgOgoKQlVHOiBhc3N1bWluZyBhdG9taWMgY29udGV4dCBhdCBuZXQvY29yZS9m bG93X2Rpc3NlY3Rvci5jOjczNwppbl9hdG9taWMoKTogMCwgaXJxc19kaXNhYmxlZCgpOiAwLCBw aWQ6IDI0NzEwLCBuYW1lOiBzeXotZXhlY3V0b3IuMwoyIGxvY2tzIGhlbGQgYnkgc3l6LWV4ZWN1 dG9yLjMvMjQ3MTA6CiAjMDogMDAwMDAwMDBlODFhNGJmMSAoJnRmaWxlLT5uYXBpX211dGV4KXsr LisufSwgYXQ6IHR1bl9nZXRfdXNlcisweDE2OGUvMHgzZmYwIGRyaXZlcnMvbmV0L3R1bi5jOjE4 NTAKICMxOiAwMDAwMDAwMDI1NGFmZWJkIChyY3VfcmVhZF9sb2NrKXsuLi4ufSwgYXQ6IF9fc2ti X2Zsb3dfZGlzc2VjdCsweDFlMS8weDRiYjAgbmV0L2NvcmUvZmxvd19kaXNzZWN0b3IuYzo4MjIK Q1BVOiAxIFBJRDogMjQ3MTAgQ29tbTogc3l6LWV4ZWN1dG9yLjMgTm90IHRhaW50ZWQgNS4xLjAr ICM2CkhhcmR3YXJlIG5hbWU6IEdvb2dsZSBHb29nbGUgQ29tcHV0ZSBFbmdpbmUvR29vZ2xlIENv bXB1dGUgRW5naW5lLCBCSU9TIEdvb2dsZSAwMS8wMS8yMDExCkNhbGwgVHJhY2U6CiBfX2R1bXBf c3RhY2sgbGliL2R1bXBfc3RhY2suYzo3NyBbaW5saW5lXQogZHVtcF9zdGFjaysweDE3Mi8weDFm MCBsaWIvZHVtcF9zdGFjay5jOjExMwogX19jYW50X3NsZWVwIGtlcm5lbC9zY2hlZC9jb3JlLmM6 NjE2NSBbaW5saW5lXQogX19jYW50X3NsZWVwLmNvbGQrMHhhMy8weGJiIGtlcm5lbC9zY2hlZC9j b3JlLmM6NjE0MgogYnBmX2Zsb3dfZGlzc2VjdCsweGZlLzB4MzkwIG5ldC9jb3JlL2Zsb3dfZGlz c2VjdG9yLmM6NzM3CiBfX3NrYl9mbG93X2Rpc3NlY3QrMHgzNjIvMHg0YmIwIG5ldC9jb3JlL2Zs b3dfZGlzc2VjdG9yLmM6ODUzCiBza2JfZmxvd19kaXNzZWN0X2Zsb3dfa2V5c19iYXNpYyBpbmNs dWRlL2xpbnV4L3NrYnVmZi5oOjEzMjIgW2lubGluZV0KIHNrYl9wcm9iZV90cmFuc3BvcnRfaGVh ZGVyIGluY2x1ZGUvbGludXgvc2tidWZmLmg6MjUwMCBbaW5saW5lXQogc2tiX3Byb2JlX3RyYW5z cG9ydF9oZWFkZXIgaW5jbHVkZS9saW51eC9za2J1ZmYuaDoyNDkzIFtpbmxpbmVdCiB0dW5fZ2V0 X3VzZXIrMHgyY2ZlLzB4M2ZmMCBkcml2ZXJzL25ldC90dW4uYzoxOTQwCiB0dW5fY2hyX3dyaXRl X2l0ZXIrMHhiZC8weDE1NiBkcml2ZXJzL25ldC90dW4uYzoyMDM3CiBjYWxsX3dyaXRlX2l0ZXIg aW5jbHVkZS9saW51eC9mcy5oOjE4NzIgW2lubGluZV0KIGRvX2l0ZXJfcmVhZHZfd3JpdGV2KzB4 NWZkLzB4OTAwIGZzL3JlYWRfd3JpdGUuYzo2OTMKIGRvX2l0ZXJfd3JpdGUgZnMvcmVhZF93cml0 ZS5jOjk3MCBbaW5saW5lXQogZG9faXRlcl93cml0ZSsweDE4NC8weDYxMCBmcy9yZWFkX3dyaXRl LmM6OTUxCiB2ZnNfd3JpdGV2KzB4MWIzLzB4MmYwIGZzL3JlYWRfd3JpdGUuYzoxMDE1CiBkb193 cml0ZXYrMHgxNWIvMHgzMzAgZnMvcmVhZF93cml0ZS5jOjEwNTgKIF9fZG9fc3lzX3dyaXRldiBm cy9yZWFkX3dyaXRlLmM6MTEzMSBbaW5saW5lXQogX19zZV9zeXNfd3JpdGV2IGZzL3JlYWRfd3Jp dGUuYzoxMTI4IFtpbmxpbmVdCiBfX3g2NF9zeXNfd3JpdGV2KzB4NzUvMHhiMCBmcy9yZWFkX3dy aXRlLmM6MTEyOAogZG9fc3lzY2FsbF82NCsweDEwMy8weDY3MCBhcmNoL3g4Ni9lbnRyeS9jb21t b24uYzoyOTgKIGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ5LzB4YmUKCkZpeGVz OiBkNThlNDY4YjExMTIgKCJmbG93X2Rpc3NlY3RvcjogaW1wbGVtZW50cyBmbG93IGRpc3NlY3Rv ciBCUEYgaG9vayIpClNpZ25lZC1vZmYtYnk6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xl LmNvbT4KUmVwb3J0ZWQtYnk6IHN5emJvdCA8c3l6a2FsbGVyQGdvb2dsZWdyb3Vwcy5jb20+CkNj OiBQZXRhciBQZW5rb3YgPHBwZW5rb3ZAZ29vZ2xlLmNvbT4KQ2M6IFN0YW5pc2xhdiBGb21pY2hl diA8c2RmQGdvb2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1A ZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvY29yZS9mbG93X2Rpc3NlY3Rvci5jIHwgMyArKysKIDEg ZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9uZXQvY29yZS9mbG93 X2Rpc3NlY3Rvci5jIGIvbmV0L2NvcmUvZmxvd19kaXNzZWN0b3IuYwppbmRleCA5ZjI4NDA1MTBl NjMuLmFmYzZlMDI1Yzg1YyAxMDA2NDQKLS0tIGEvbmV0L2NvcmUvZmxvd19kaXNzZWN0b3IuYwor KysgYi9uZXQvY29yZS9mbG93X2Rpc3NlY3Rvci5jCkBAIC03ODYsNyArNzg2LDEwIEBAIGJvb2wg X19za2JfZmxvd19kaXNzZWN0KGNvbnN0IHN0cnVjdCBza19idWZmICpza2IsCiAJCWZsb3dfa2V5 cy50aG9mZiA9IG5ob2ZmOwogCiAJCWJwZl9jb21wdXRlX2RhdGFfcG9pbnRlcnMoKHN0cnVjdCBz a19idWZmICopc2tiKTsKKworCQlwcmVlbXB0X2Rpc2FibGUoKTsKIAkJcmVzdWx0ID0gQlBGX1BS T0dfUlVOKGF0dGFjaGVkLCBza2IpOworCQlwcmVlbXB0X2VuYWJsZSgpOwogCiAJCS8qIFJlc3Rv cmUgc3RhdGUgKi8KIAkJbWVtY3B5KGNiLCAmY2Jfc2F2ZWQsIHNpemVvZihjYl9zYXZlZCkpOwot LSAKMi4yMC4xCgoKRnJvbSBjYWY4MWZiZjY4ZGU5YjE1YzQwZTJkNzRmMGQ1YTVmYTBmZDdhODU0 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEJvbGxlIDxwZWJvbGxlQHRpc2Nh bGkubmw+CkRhdGU6IFdlZCwgMSBNYXkgMjAxOSAyMzoxOTowMyArMDIwMApTdWJqZWN0OiBbUEFU Q0ggMjMvMjNdIGlzZG46IGJhc19naWdhc2V0OiB1c2UgdXNiX2ZpbGxfaW50X3VyYigpIHByb3Bl cmx5CgpbIFVwc3RyZWFtIGNvbW1pdCA0MDE0ZGZhZTNjY2FhZjNlYzE5YzlhZTA2OTFhM2YxNGU3 MTMyZWFlIF0KClRoZSBzd2l0Y2ggdG8gbWFrZSBiYXNfZ2lnYXNldCB1c2UgdXNiX2ZpbGxfaW50 X3VyYigpIC0gaW5zdGVhZCBvZgpmaWxsaW5nIHRoYXQgdXJiICJieSBoYW5kIiAtIG1pc3NlZCB0 aGUgc3VidGxlIG9yZGVyaW5nIG9mIHRoZSBwcmV2aW91cwpjb2RlLgoKU2VlLCBiZWZvcmUgdGhl IHN3aXRjaCB1cmItPmRldiB3YXMgc2V0IHRvIGEgbWVtYmVyIHNvbWV3aGVyZSBkZWVwIGluIGEK Y29tcGxpY2F0ZWQgc3RydWN0dXJlIGFuZCB0aGVuIHN1cHBsaWVkIHRvIHVzYl9yY3Zpc29jcGlw ZSgpIGFuZAp1c2Jfc25kaXNvY3BpcGUoKS4gQWZ0ZXIgdGhhdCBzd2l0Y2ggdXJiLT5kZXYgd2Fz bid0IHNldCB0byBhbnl0aGluZwpzcGVjaWZpYyBiZWZvcmUgYmVpbmcgc3VwcGxpZWQgdG8gdGhv c2UgdHdvIG1hY3Jvcy4gVGhpcyB0cmlnZ2VycyBhCm5hc3R5IG9vcHM6CgogICAgQlVHOiB1bmFi bGUgdG8gaGFuZGxlIGtlcm5lbCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgYXQgMDAwMDAwMDAK ICAgICNQRiBlcnJvcjogW25vcm1hbCBrZXJuZWwgcmVhZCBmYXVsdF0KICAgICpwZGUgPSAwMDAw MDAwMAogICAgT29wczogMDAwMCBbIzFdIFNNUAogICAgQ1BVOiAwIFBJRDogMCBDb21tOiBzd2Fw cGVyLzAgTm90IHRhaW50ZWQgNS4xLjAtMC5yYzQuMS5sb2NhbDAuZmMyOC5pNjg2ICMxCiAgICBI YXJkd2FyZSBuYW1lOiBJQk0gMjUyNUZBRy8yNTI1RkFHLCBCSU9TIDc0RVQ2NFdXICgyLjA5ICkg MTIvMTQvMjAwNgogICAgRUlQOiBnaWdhc2V0X2luaXRfYmNoYW5uZWwrMHg4OS8weDMyMCBbYmFz X2dpZ2FzZXRdCiAgICBDb2RlOiA3NSAwNyA4MyA4YiA4NCAwMCAwMCAwMCA0MCA4ZCA0NyA3NCBj NyAwNyAwMSAwMCAwMCAwMCA4OSA0NSBmMCA4YiA0NCBiNyA2OCA4NSBjMCAwZiA4NCA2YSAwMiAw MCAwMCA4YiA0OCAyOCA4YiA5MyA4OCAwMCAwMCAwMCA8OGI+IDA5IDhkIDU0IDEyIDAzIGMxIGUy IDBmIGMxIGUxIDA4IDA5IGNhIDhiIDhiIDhjIDAwIDAwIDAwIDgwIGNhCiAgICBFQVg6IGYwNWVj MjAwIEVCWDogZWQ0MDQyMDAgRUNYOiAwMDAwMDAwMCBFRFg6IDAwMDAwMDAwCiAgICBFU0k6IDAw MDAwMDAwIEVESTogZjA2NWEwMDAgRUJQOiBmMzBjOWY0MCBFU1A6IGYzMGM5ZjIwCiAgICBEUzog MDA3YiBFUzogMDA3YiBGUzogMDBkOCBHUzogMDBlMCBTUzogMDA2OCBFRkxBR1M6IDAwMDEwMDg2 CiAgICBDUjA6IDgwMDUwMDMzIENSMjogMDAwMDAwMDAgQ1IzOiAwZGRjNzAwMCBDUjQ6IDAwMDAw NmQwCiAgICBDYWxsIFRyYWNlOgogICAgIDxTT0ZUSVJRPgogICAgID8gZ2lnYXNldF9pc2RuX2Nv bm5EKzB4ZjYvMHgxNDAgW2dpZ2FzZXRdCiAgICAgZ2lnYXNldF9oYW5kbGVfZXZlbnQrMHgxNzNl LzB4MWI5MCBbZ2lnYXNldF0KICAgICB0YXNrbGV0X2FjdGlvbl9jb21tb24uaXNyYS4xNisweDRl LzB4ZjAKICAgICB0YXNrbGV0X2FjdGlvbisweDFlLzB4MjAKICAgICBfX2RvX3NvZnRpcnErMHhi Mi8weDI5MwogICAgID8gX19pcnFlbnRyeV90ZXh0X2VuZCsweDMvMHgzCiAgICAgY2FsbF9vbl9z dGFjaysweDQ1LzB4NTAKICAgICA8L1NPRlRJUlE+CiAgICAgPyBpcnFfZXhpdCsweGI1LzB4YzAK ICAgICA/IGRvX0lSUSsweDc4LzB4ZDAKICAgICA/IGFjcGlfaWRsZV9lbnRlcl9zMmlkbGUrMHg1 MC8weDUwCiAgICAgPyBjb21tb25faW50ZXJydXB0KzB4ZDQvMHhkYwogICAgID8gYWNwaV9pZGxl X2VudGVyX3MyaWRsZSsweDUwLzB4NTAKICAgICA/IHNjaGVkX2NwdV9hY3RpdmF0ZSsweDFiLzB4 ZjAKICAgICA/IGFjcGlfZmFuX3Jlc3VtZS5jb2xkLjcrMHg5LzB4MTgKICAgICA/IGNwdWlkbGVf ZW50ZXJfc3RhdGUrMHgxNTIvMHg0YzAKICAgICA/IGNwdWlkbGVfZW50ZXIrMHgxNC8weDIwCiAg ICAgPyBjYWxsX2NwdWlkbGUrMHgyMS8weDQwCiAgICAgPyBkb19pZGxlKzB4MWM4LzB4MjAwCiAg ICAgPyBjcHVfc3RhcnR1cF9lbnRyeSsweDI1LzB4MzAKICAgICA/IHJlc3RfaW5pdCsweDg4LzB4 OGEKICAgICA/IGFyY2hfY2FsbF9yZXN0X2luaXQrMHhkLzB4MTkKICAgICA/IHN0YXJ0X2tlcm5l bCsweDQyZi8weDQ0OAogICAgID8gaTM4Nl9zdGFydF9rZXJuZWwrMHhhYy8weGIwCiAgICAgPyBz dGFydHVwXzMyX3NtcCsweDE2NC8weDE2OAogICAgTW9kdWxlcyBsaW5rZWQgaW46IHBwcF9nZW5l cmljIHNsaGMgY2FwaSBiYXNfZ2lnYXNldCBnaWdhc2V0IGtlcm5lbGNhcGkgbmZfY29ubnRyYWNr X25ldGJpb3NfbnMgbmZfY29ubnRyYWNrX2Jyb2FkY2FzdCB4dF9DVCBpcDZ0X3JwZmlsdGVyIGlw NnRfUkVKRUNUIG5mX3JlamVjdF9pcHY2IHh0X2Nvbm50cmFjayBpcF9zZXQgbmZuZXRsaW5rIGVi dGFibGVfbmF0IGVidGFibGVfYnJvdXRlIGJyaWRnZSBzdHAgbGxjIGlwNnRhYmxlX25hdCBpcDZ0 YWJsZV9tYW5nbGUgaXA2dGFibGVfcmF3IGlwNnRhYmxlX3NlY3VyaXR5IGlwdGFibGVfbmF0IG5m X25hdCBuZl9jb25udHJhY2sgbmZfZGVmcmFnX2lwdjYgbmZfZGVmcmFnX2lwdjQgbGliY3JjMzJj IGlwdGFibGVfbWFuZ2xlIGlwdGFibGVfcmF3IGlwdGFibGVfc2VjdXJpdHkgZWJ0YWJsZV9maWx0 ZXIgZWJ0YWJsZXMgaXA2dGFibGVfZmlsdGVyIGlwNl90YWJsZXMgc3VucnBjIGlwdzIyMDAgaVRD T193ZHQgZ3Bpb19pY2ggc25kX2ludGVsOHgwIGxpYmlwdyBpVENPX3ZlbmRvcl9zdXBwb3J0IHNu ZF9hYzk3X2NvZGVjIGxpYjgwMjExIHBwZGV2IGFjOTdfYnVzIHNuZF9zZXEgY2ZnODAyMTEgc25k X3NlcV9kZXZpY2UgcGNzcGtyIHRoaW5rcGFkX2FjcGkgbHBjX2ljaCBzbmRfcGNtIGkyY19pODAx IHNuZF90aW1lciBsZWR0cmlnX2F1ZGlvIHNuZCBzb3VuZGNvcmUgcmZraWxsIHBhcnBvcnRfcGMg cGFycG9ydCBwY2NfY3B1ZnJlcSBhY3BpX2NwdWZyZXEgaTkxNSBpMmNfYWxnb19iaXQgZHJtX2tt c19oZWxwZXIgc3lzY29weWFyZWEgc3lzZmlsbHJlY3Qgc2RoY2lfcGNpIHN5c2ltZ2JsdCBjcWhj aSBmYl9zeXNfZm9wcyBkcm0gc2RoY2kgbW1jX2NvcmUgdGczIGF0YV9nZW5lcmljIHNlcmlvX3Jh dyB5ZW50YV9zb2NrZXQgcGF0YV9hY3BpIHZpZGVvCiAgICBDUjI6IDAwMDAwMDAwMDAwMDAwMDAK ICAgIC0tLVsgZW5kIHRyYWNlIDFmZTA3NDg3YjkyMDBjNzMgXS0tLQogICAgRUlQOiBnaWdhc2V0 X2luaXRfYmNoYW5uZWwrMHg4OS8weDMyMCBbYmFzX2dpZ2FzZXRdCiAgICBDb2RlOiA3NSAwNyA4 MyA4YiA4NCAwMCAwMCAwMCA0MCA4ZCA0NyA3NCBjNyAwNyAwMSAwMCAwMCAwMCA4OSA0NSBmMCA4 YiA0NCBiNyA2OCA4NSBjMCAwZiA4NCA2YSAwMiAwMCAwMCA4YiA0OCAyOCA4YiA5MyA4OCAwMCAw MCAwMCA8OGI+IDA5IDhkIDU0IDEyIDAzIGMxIGUyIDBmIGMxIGUxIDA4IDA5IGNhIDhiIDhiIDhj IDAwIDAwIDAwIDgwIGNhCiAgICBFQVg6IGYwNWVjMjAwIEVCWDogZWQ0MDQyMDAgRUNYOiAwMDAw MDAwMCBFRFg6IDAwMDAwMDAwCiAgICBFU0k6IDAwMDAwMDAwIEVESTogZjA2NWEwMDAgRUJQOiBm MzBjOWY0MCBFU1A6IGNkZGNiM2JjCiAgICBEUzogMDA3YiBFUzogMDA3YiBGUzogMDBkOCBHUzog MDBlMCBTUzogMDA2OCBFRkxBR1M6IDAwMDEwMDg2CiAgICBDUjA6IDgwMDUwMDMzIENSMjogMDAw MDAwMDAgQ1IzOiAwZGRjNzAwMCBDUjQ6IDAwMDAwNmQwCiAgICBLZXJuZWwgcGFuaWMgLSBub3Qg c3luY2luZzogRmF0YWwgZXhjZXB0aW9uIGluIGludGVycnVwdAogICAgS2VybmVsIE9mZnNldDog MHhjYzAwMDAwIGZyb20gMHhjMDQwMDAwMCAocmVsb2NhdGlvbiByYW5nZTogMHhjMDAwMDAwMC0w eGY2ZmZkZmZmKQogICAgLS0tWyBlbmQgS2VybmVsIHBhbmljIC0gbm90IHN5bmNpbmc6IEZhdGFs IGV4Y2VwdGlvbiBpbiBpbnRlcnJ1cHQgXS0tLQoKTm8tb25lIG5vdGljZWQgYmVjYXVzZSB0aGlz IE9vcHMgaXMgYXBwYXJlbnRseSBvbmx5IHRyaWdnZXJlZCBieSBzZXR0aW5nCnVwIGFuIElTRE4g ZGF0YSBjb25uZWN0aW9uIG9uIGEgbGl2ZSBJU0ROIGxpbmUgb24gYSBnaWdhc2V0IGJhc2UgKGll LAp0aGUgUEJYIHRoYXQgdGhlIGdpZ2FzZXQgZHJpdmVyIHN1cHBvcnQpLiBWZXJ5IGZldyBwZW9w bGUgZG8gdGhhdApydW5uaW5nIHByZXNlbnQgZGF5IGtlcm5lbHMuCgpBbnlob3csIGEgbGl0dGxl IGNvZGUgcmVvcmdhbml6YXRpb24gbWFrZXMgdGhpcyBwcm9ibGVtIGdvIGF3YXksIHdoaWxlCmF2 b2lkaW5nIHRoZSBzdWJ0bGUgb3JkZXJpbmcgdGhhdCB3YXMgdXNlZCBpbiB0aGUgcGFzdC4gU28g bGV0J3MgZG8KdGhhdC4KCkZpeGVzOiA3OGM2OTZjMTk1NzggKCJpc2RuOiBnaWdhc2V0OiB1c2Ug dXNiX2ZpbGxfaW50X3VyYigpIikKU2lnbmVkLW9mZi1ieTogUGF1bCBCb2xsZSA8cGVib2xsZUB0 aXNjYWxpLm5sPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9m dC5uZXQ+Ci0tLQogZHJpdmVycy9pc2RuL2dpZ2FzZXQvYmFzLWdpZ2FzZXQuYyB8IDkgKysrKyst LS0tCiAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvaXNkbi9naWdhc2V0L2Jhcy1naWdhc2V0LmMgYi9kcml2ZXJzL2lz ZG4vZ2lnYXNldC9iYXMtZ2lnYXNldC5jCmluZGV4IGVjZGViODk2NDVkMC4uMTQ5YjFhY2E1MmEy IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lzZG4vZ2lnYXNldC9iYXMtZ2lnYXNldC5jCisrKyBiL2Ry aXZlcnMvaXNkbi9naWdhc2V0L2Jhcy1naWdhc2V0LmMKQEAgLTk1OCw2ICs5NTgsNyBAQCBzdGF0 aWMgdm9pZCB3cml0ZV9pc29fY2FsbGJhY2soc3RydWN0IHVyYiAqdXJiKQogICovCiBzdGF0aWMg aW50IHN0YXJ0dXJicyhzdHJ1Y3QgYmNfc3RhdGUgKmJjcykKIHsKKwlzdHJ1Y3QgdXNiX2Rldmlj ZSAqdWRldiA9IGJjcy0+Y3MtPmh3LmJhcy0+dWRldjsKIAlzdHJ1Y3QgYmFzX2JjX3N0YXRlICp1 YmMgPSBiY3MtPmh3LmJhczsKIAlzdHJ1Y3QgdXJiICp1cmI7CiAJaW50IGosIGs7CkBAIC05NzUs OCArOTc2LDggQEAgc3RhdGljIGludCBzdGFydHVyYnMoc3RydWN0IGJjX3N0YXRlICpiY3MpCiAJ CQlyYyA9IC1FRkFVTFQ7CiAJCQlnb3RvIGVycm9yOwogCQl9Ci0JCXVzYl9maWxsX2ludF91cmIo dXJiLCBiY3MtPmNzLT5ody5iYXMtPnVkZXYsCi0JCQkJIHVzYl9yY3Zpc29jcGlwZSh1cmItPmRl diwgMyArIDIgKiBiY3MtPmNoYW5uZWwpLAorCQl1c2JfZmlsbF9pbnRfdXJiKHVyYiwgdWRldiwK KwkJCQkgdXNiX3Jjdmlzb2NwaXBlKHVkZXYsIDMgKyAyICogYmNzLT5jaGFubmVsKSwKIAkJCQkg dWJjLT5pc29pbmJ1ZiArIGsgKiBCQVNfSU5CVUZTSVpFLAogCQkJCSBCQVNfSU5CVUZTSVpFLCBy ZWFkX2lzb19jYWxsYmFjaywgYmNzLAogCQkJCSBCQVNfRlJBTUVUSU1FKTsKQEAgLTEwMDYsOCAr MTAwNyw4IEBAIHN0YXRpYyBpbnQgc3RhcnR1cmJzKHN0cnVjdCBiY19zdGF0ZSAqYmNzKQogCQkJ cmMgPSAtRUZBVUxUOwogCQkJZ290byBlcnJvcjsKIAkJfQotCQl1c2JfZmlsbF9pbnRfdXJiKHVy YiwgYmNzLT5jcy0+aHcuYmFzLT51ZGV2LAotCQkJCSB1c2Jfc25kaXNvY3BpcGUodXJiLT5kZXYs IDQgKyAyICogYmNzLT5jaGFubmVsKSwKKwkJdXNiX2ZpbGxfaW50X3VyYih1cmIsIHVkZXYsCisJ CQkJIHVzYl9zbmRpc29jcGlwZSh1ZGV2LCA0ICsgMiAqIGJjcy0+Y2hhbm5lbCksCiAJCQkJIHVi Yy0+aXNvb3V0YnVmLT5kYXRhLAogCQkJCSBzaXplb2YodWJjLT5pc29vdXRidWYtPmRhdGEpLAog CQkJCSB3cml0ZV9pc29fY2FsbGJhY2ssICZ1YmMtPmlzb291dHVyYnNba10sCi0tIAoyLjIwLjEK Cg== ----Next_Part(Tue_May_14_12_58_49_2019_985)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_51.mbox" RnJvbSA1Y2FjODczZDczZmRmNmZjODkyNmFjYmQ2MDNkYTM2OGZlZjFiN2U0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYXJvZCBXaWxzb24gPGphcm9kQHJlZGhhdC5jb20+CkRhdGU6 IEZyaSwgMTAgTWF5IDIwMTkgMTc6NTc6MDkgLTA0MDAKU3ViamVjdDogW1BBVENIIDAxLzIzXSBi b25kaW5nOiBmaXggYXJwX3ZhbGlkYXRlIHRvZ2dsaW5nIGluIGFjdGl2ZS1iYWNrdXAKIG1vZGUK ClsgVXBzdHJlYW0gY29tbWl0IGE5YjhhMmIzOWNlNjVkZjQ1Njg3Y2Y5ZWY2NDg4ODVjMmE5OWZl NzUgXQoKVGhlcmUncyBjdXJyZW50bHkgYSBwcm9ibGVtIHdpdGggdG9nZ2xpbmcgYXJwX3ZhbGlk YXRlIG9uIGFuZCBvZmYgd2l0aCBhbgphY3RpdmUtYmFja3VwIGJvbmQuIEF0IHRoZSBtb21lbnQs IHlvdSBjYW4gc3RhcnQgdXAgYSBib25kLCBsaWtlIHNvOgoKbW9kcHJvYmUgYm9uZGluZyBtb2Rl PTEgYXJwX2ludGVydmFsPTEwMCBhcnBfdmFsaWRhdGU9MCBhcnBfaXBfdGFyZ2V0cz0xOTIuMTY4 LjEuMQppcCBsaW5rIHNldCBib25kMCBkb3duCmVjaG8gImVuczRmMCIgPiAvc3lzL2NsYXNzL25l dC9ib25kMC9ib25kaW5nL3NsYXZlcwplY2hvICJlbnM0ZjEiID4gL3N5cy9jbGFzcy9uZXQvYm9u ZDAvYm9uZGluZy9zbGF2ZXMKaXAgbGluayBzZXQgYm9uZDAgdXAKaXAgYWRkciBhZGQgMTkyLjE2 OC4xLjIvMjQgZGV2IGJvbmQwCgpQaW5ncyB0byAxOTIuMTY4LjEuMSB3b3JrIGp1c3QgZmluZS4g Tm93IHR1cm4gb24gYXJwX3ZhbGlkYXRlOgoKZWNobyAxID4gL3N5cy9jbGFzcy9uZXQvYm9uZDAv Ym9uZGluZy9hcnBfdmFsaWRhdGUKClBpbmdzIHRvIDE5Mi4xNjguMS4xIGNvbnRpbnVlIHRvIHdv cmsganVzdCBmaW5lLiBOb3cgd2hlbiB5b3UgZ28gdG8gdHVybgphcnBfdmFsaWRhdGUgb2ZmIGFn YWluLCB0aGUgbGluayBmYWxscyBmbGF0IG9uIGl0J3MgZmFjZToKCmVjaG8gMCA+IC9zeXMvY2xh c3MvbmV0L2JvbmQwL2JvbmRpbmcvYXJwX3ZhbGlkYXRlCmRtZXNnCi4uLgpbMTMzMTkxLjkxMTk4 N10gYm9uZDA6IFNldHRpbmcgYXJwX3ZhbGlkYXRlIHRvIG5vbmUgKDApClsxMzMxOTQuMjU3Nzkz XSBib25kMDogYm9uZF9zaG91bGRfbm90aWZ5X3BlZXJzOiBzbGF2ZSBlbnM0ZjAKWzEzMzE5NC4y NTgwMzFdIGJvbmQwOiBsaW5rIHN0YXR1cyBkZWZpbml0ZWx5IGRvd24gZm9yIGludGVyZmFjZSBl bnM0ZjAsIGRpc2FibGluZyBpdApbMTMzMTk0LjI1OTAwMF0gYm9uZDA6IG1ha2luZyBpbnRlcmZh Y2UgZW5zNGYxIHRoZSBuZXcgYWN0aXZlIG9uZQpbMTMzMTk3LjMzMDEzMF0gYm9uZDA6IGxpbmsg c3RhdHVzIGRlZmluaXRlbHkgZG93biBmb3IgaW50ZXJmYWNlIGVuczRmMSwgZGlzYWJsaW5nIGl0 ClsxMzMxOTcuMzMxMTkxXSBib25kMDogbm93IHJ1bm5pbmcgd2l0aG91dCBhbnkgYWN0aXZlIGlu dGVyZmFjZSEKClRoZSBwcm9ibGVtIGxpZXMgaW4gYm9uZF9vcHRpb25zLmMsIHdoZXJlIHBhc3Np bmcgaW4gYXJwX3ZhbGlkYXRlPTAKcmVzdWx0cyBpbiBib25kLT5yZWN2X3Byb2JlIGdldHRpbmcg c2V0IHRvIE5VTEwuIFRoaXMgZmxpZXMgZGlyZWN0bHkgaW4KdGhlIGZhY2Ugb2YgY29tbWl0IDNm ZTY4ZGY5N2M3Ziwgd2hpY2ggc2F5cyB3ZSBuZWVkIHRvIHNldCByZWN2X3Byb2JlID0KYm9uZF9h cnBfcmVjdiwgZXZlbiBpZiB3ZSdyZSBub3QgdXNpbmcgYXJwX3ZhbGlkYXRlLiBTYWlkIGNvbW1p dCBmaXhlZAp0aGlzIGluIGJvbmRfb3B0aW9uX2FycF9pbnRlcnZhbF9zZXQsIGJ1dCBtaXNzZWQg dGhhdCB3ZSBjYW4gZ2V0IHRvIHRoYXQKc2FtZSBzdGF0ZSBpbiBib25kX29wdGlvbl9hcnBfdmFs aWRhdGVfc2V0IGFzIHdlbGwuCgpPbmUgc29sdXRpb24gd291bGQgYmUgdG8gdW5pdmVyc2FsbHkg c2V0IHJlY3ZfcHJvYmUgPSBib25kX2FycF9yZWN2IGhlcmUKYXMgd2VsbCwgYnV0IEkgZG9uJ3Qg dGhpbmsgYm9uZF9vcHRpb25fYXJwX3ZhbGlkYXRlX3NldCBoYXMgYW55IGJ1c2luZXNzCnRvdWNo aW5nIHJlY3ZfcHJvYmUgYXQgYWxsLCBhbmQgdGhhdCBzaG91bGQgYmUgbGVmdCB0byB0aGUgYXJw X2ludGVydmFsCmNvZGUsIHNvIHdlIGNhbiBqdXN0IG1ha2UgdGhpbmdzIG11Y2ggdGlkaWVyIGhl cmUuCgpGaXhlczogM2ZlNjhkZjk3YzdmICgiYm9uZGluZzogYWx3YXlzIHNldCByZWN2X3Byb2Jl IHRvIGJvbmRfYXJwX3JjdiBpbiBhcnAgbW9uaXRvciIpCkNDOiBKYXkgVm9zYnVyZ2ggPGoudm9z YnVyZ2hAZ21haWwuY29tPgpDQzogVmVhY2VzbGF2IEZhbGljbyA8dmZhbGljb0BnbWFpbC5jb20+ CkNDOiBBbmR5IEdvc3BvZGFyZWsgPGFuZHlAZ3JleWhvdXNlLm5ldD4KQ0M6ICJEYXZpZCBTLiBN aWxsZXIiIDxkYXZlbUBkYXZlbWxvZnQubmV0PgpDQzogbmV0ZGV2QHZnZXIua2VybmVsLm9yZwpT aWduZWQtb2ZmLWJ5OiBKYXJvZCBXaWxzb24gPGphcm9kQHJlZGhhdC5jb20+ClNpZ25lZC1vZmYt Ynk6IEpheSBWb3NidXJnaCA8amF5LnZvc2J1cmdoQGNhbm9uaWNhbC5jb20+ClNpZ25lZC1vZmYt Ynk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25l dC9ib25kaW5nL2JvbmRfb3B0aW9ucy5jIHwgNyAtLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNyBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ib25kaW5nL2JvbmRfb3B0aW9u cy5jIGIvZHJpdmVycy9uZXQvYm9uZGluZy9ib25kX29wdGlvbnMuYwppbmRleCBkYTFmYzE3Mjk1 ZDkuLmI5OTY5NjdhZjhkOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvYm9uZGluZy9ib25kX29w dGlvbnMuYworKysgYi9kcml2ZXJzL25ldC9ib25kaW5nL2JvbmRfb3B0aW9ucy5jCkBAIC0xMDk4 LDEzICsxMDk4LDYgQEAgc3RhdGljIGludCBib25kX29wdGlvbl9hcnBfdmFsaWRhdGVfc2V0KHN0 cnVjdCBib25kaW5nICpib25kLAogewogCW5ldGRldl9kYmcoYm9uZC0+ZGV2LCAiU2V0dGluZyBh cnBfdmFsaWRhdGUgdG8gJXMgKCVsbHUpXG4iLAogCQkgICBuZXd2YWwtPnN0cmluZywgbmV3dmFs LT52YWx1ZSk7Ci0KLQlpZiAoYm9uZC0+ZGV2LT5mbGFncyAmIElGRl9VUCkgewotCQlpZiAoIW5l d3ZhbC0+dmFsdWUpCi0JCQlib25kLT5yZWN2X3Byb2JlID0gTlVMTDsKLQkJZWxzZSBpZiAoYm9u ZC0+cGFyYW1zLmFycF9pbnRlcnZhbCkKLQkJCWJvbmQtPnJlY3ZfcHJvYmUgPSBib25kX2FycF9y Y3Y7Ci0JfQogCWJvbmQtPnBhcmFtcy5hcnBfdmFsaWRhdGUgPSBuZXd2YWwtPnZhbHVlOwogCiAJ cmV0dXJuIDA7Ci0tIAoyLjIwLjEKCgpGcm9tIGMxOTc3NTE0OTZkNTFiNmNkMmZhYWYyMmMxZjEw YzRkZjcwZTUxNTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJUb2JpbiBDLiBIYXJk aW5nIiA8dG9iaW5Aa2VybmVsLm9yZz4KRGF0ZTogRnJpLCAxMCBNYXkgMjAxOSAxMjo1MjoxMiAr MTAwMApTdWJqZWN0OiBbUEFUQ0ggMDIvMjNdIGJyaWRnZTogRml4IGVycm9yIHBhdGggZm9yIGtv YmplY3RfaW5pdF9hbmRfYWRkKCkKClsgVXBzdHJlYW0gY29tbWl0IGJkZmFkNWFlYzEzOTJiOTM0 OTViNzdiODY0ZDU4ZDdmMTAxZGMxYzEgXQoKQ3VycmVudGx5IGVycm9yIHJldHVybiBmcm9tIGtv YmplY3RfaW5pdF9hbmRfYWRkKCkgaXMgbm90IGZvbGxvd2VkIGJ5IGEKY2FsbCB0byBrb2JqZWN0 X3B1dCgpLiAgVGhpcyBtZWFucyB0aGVyZSBpcyBhIG1lbW9yeSBsZWFrLiAgV2UgY3VycmVudGx5 CnNldCBwIHRvIE5VTEwgc28gdGhhdCBrZnJlZSgpIG1heSBiZSBjYWxsZWQgb24gaXQgYXMgYSBu b29wLCB0aGUgY29kZSBpcwphcmd1YWJseSBjbGVhcmVyIGlmIHdlIG1vdmUgdGhlIGtmcmVlKCkg dXAgY2xvc2VyIHRvIHdoZXJlIGl0IGlzCmNhbGxlZCAoaW5zdGVhZCBvZiBhZnRlciBnb3RvIGp1 bXApLgoKUmVtb3ZlIGEgZ290byBsYWJlbCAnZXJyMScgYW5kIGp1bXAgdG8gY2FsbCB0byBrb2Jq ZWN0X3B1dCgpIGluIGVycm9yCnJldHVybiBmcm9tIGtvYmplY3RfaW5pdF9hbmRfYWRkKCkgZml4 aW5nIHRoZSBtZW1vcnkgbGVhay4gIFJlLW5hbWUgZ290bwpsYWJlbCAncHV0X2JhY2snIHRvICdl cnIxJyBub3cgdGhhdCB3ZSBkb24ndCB1c2UgZXJyMSwgZm9sbG93aW5nIGN1cnJlbnQKbm9tZW5j bGF0dXJlIChlcnIxLCBlcnIyIC4uLikuICBNb3ZlIGNhbGwgdG8ga2ZyZWUgb3V0IG9mIHRoZSBl cnJvcgpjb2RlIGF0IGJvdHRvbSBvZiBmdW5jdGlvbiB1cCB0byBjbG9zZXIgdG8gd2hlcmUgbWVt b3J5IHdhcyBhbGxvY2F0ZWQuCkFkZCBjb21tZW50IHRvIGNsYXJpZnkgY2FsbCB0byBrZnJlZSgp LgoKU2lnbmVkLW9mZi1ieTogVG9iaW4gQy4gSGFyZGluZyA8dG9iaW5Aa2VybmVsLm9yZz4KU2ln bmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5l dC9icmlkZ2UvYnJfaWYuYyB8IDEzICsrKysrKy0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA2IGlu c2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2JyaWRnZS9icl9p Zi5jIGIvbmV0L2JyaWRnZS9icl9pZi5jCmluZGV4IDQxZjBhNjk2YTY1Zi4uMGNiMGFhMDMxM2E4 IDEwMDY0NAotLS0gYS9uZXQvYnJpZGdlL2JyX2lmLmMKKysrIGIvbmV0L2JyaWRnZS9icl9pZi5j CkBAIC02MDIsMTMgKzYwMiwxNSBAQCBpbnQgYnJfYWRkX2lmKHN0cnVjdCBuZXRfYnJpZGdlICpi ciwgc3RydWN0IG5ldF9kZXZpY2UgKmRldiwKIAljYWxsX25ldGRldmljZV9ub3RpZmllcnMoTkVU REVWX0pPSU4sIGRldik7CiAKIAllcnIgPSBkZXZfc2V0X2FsbG11bHRpKGRldiwgMSk7Ci0JaWYg KGVycikKLQkJZ290byBwdXRfYmFjazsKKwlpZiAoZXJyKSB7CisJCWtmcmVlKHApOwkvKiBrb2Jq ZWN0IG5vdCB5ZXQgaW5pdCdkLCBtYW51YWxseSBmcmVlICovCisJCWdvdG8gZXJyMTsKKwl9CiAK IAllcnIgPSBrb2JqZWN0X2luaXRfYW5kX2FkZCgmcC0+a29iaiwgJmJycG9ydF9rdHlwZSwgJihk ZXYtPmRldi5rb2JqKSwKIAkJCQkgICBTWVNGU19CUklER0VfUE9SVF9BVFRSKTsKIAlpZiAoZXJy KQotCQlnb3RvIGVycjE7CisJCWdvdG8gZXJyMjsKIAogCWVyciA9IGJyX3N5c2ZzX2FkZGlmKHAp OwogCWlmIChlcnIpCkBAIC03MDAsMTIgKzcwMiw5IEBAIGludCBicl9hZGRfaWYoc3RydWN0IG5l dF9icmlkZ2UgKmJyLCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LAogCXN5c2ZzX3JlbW92ZV9saW5r KGJyLT5pZm9iaiwgcC0+ZGV2LT5uYW1lKTsKIGVycjI6CiAJa29iamVjdF9wdXQoJnAtPmtvYmop OwotCXAgPSBOVUxMOyAvKiBrb2JqZWN0X3B1dCBmcmVlcyAqLwotZXJyMToKIAlkZXZfc2V0X2Fs bG11bHRpKGRldiwgLTEpOwotcHV0X2JhY2s6CitlcnIxOgogCWRldl9wdXQoZGV2KTsKLQlrZnJl ZShwKTsKIAlyZXR1cm4gZXJyOwogfQogCi0tIAoyLjIwLjEKCgpGcm9tIGUwODc1MzcyNzBkNjVm OWRkOTlhYWVmYzI0YjI0NGNlNWJlYjIxZWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IExhdXJlbnRpdSBUdWRvciA8bGF1cmVudGl1LnR1ZG9yQG54cC5jb20+CkRhdGU6IEZyaSwgMyBN YXkgMjAxOSAxNjowMzoxMSArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMDMvMjNdIGRwYWFfZXRoOiBm aXggU0cgZnJhbWUgY2xlYW51cAoKWyBVcHN0cmVhbSBjb21taXQgMTcxNzBlNjU3MGMwODI3MTdj MTQyNzMzZDlhNjM4YmNkMjA1NTFmOCBdCgpGaXggaXNzdWUgd2l0aCB0aGUgZW50cnkgaW5kZXhp bmcgaW4gdGhlIHNnIGZyYW1lIGNsZWFudXAgY29kZSBiZWluZwpvZmYtYnktMS4gVGhpcyBwcm9i bGVtIHNob3dlZCB1cCB3aGVuIGRvaW5nIHNvbWUgYmFzaWMgaXBlcmYgdGVzdHMgYW5kCm1hbmlm ZXN0ZWQgaW4gdHJhZmZpYyBjb21pbmcgdG8gYSBoYWx0LgoKU2lnbmVkLW9mZi1ieTogTGF1cmVu dGl1IFR1ZG9yIDxsYXVyZW50aXUudHVkb3JAbnhwLmNvbT4KQWNrZWQtYnk6IE1hZGFsaW4gQnVj dXIgPG1hZGFsaW4uYnVjdXJAbnhwLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVy IDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2Fs ZS9kcGFhL2RwYWFfZXRoLmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyks IDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2Nh bGUvZHBhYS9kcGFhX2V0aC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEv ZHBhYV9ldGguYwppbmRleCBkZmViYzMwYzQ4NDEuLmQzZjI0MDhkYzllOCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEvZHBhYV9ldGguYworKysgYi9kcml2 ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYS9kcGFhX2V0aC5jCkBAIC0xNjQ4LDcgKzE2 NDgsNyBAQCBzdGF0aWMgc3RydWN0IHNrX2J1ZmYgKmRwYWFfY2xlYW51cF90eF9mZChjb25zdCBz dHJ1Y3QgZHBhYV9wcml2ICpwcml2LAogCQkJCSBxbV9zZ19lbnRyeV9nZXRfbGVuKCZzZ3RbMF0p LCBkbWFfZGlyKTsKIAogCQkvKiByZW1haW5pbmcgcGFnZXMgd2VyZSBtYXBwZWQgd2l0aCBza2Jf ZnJhZ19kbWFfbWFwKCkgKi8KLQkJZm9yIChpID0gMTsgaSA8IG5yX2ZyYWdzOyBpKyspIHsKKwkJ Zm9yIChpID0gMTsgaSA8PSBucl9mcmFnczsgaSsrKSB7CiAJCQlXQVJOX09OKHFtX3NnX2VudHJ5 X2lzX2V4dCgmc2d0W2ldKSk7CiAKIAkJCWRtYV91bm1hcF9wYWdlKGRldiwgcW1fc2dfYWRkcigm c2d0W2ldKSwKLS0gCjIuMjAuMQoKCkZyb20gYmU3YTBmM2NiMzg1ZTViYzE1MTg2N2IzMzdkMjA3 ZTkyODA5MDRkNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSGFuZ2JpbiBMaXUgPGxp dWhhbmdiaW5AZ21haWwuY29tPgpEYXRlOiBUdWUsIDcgTWF5IDIwMTkgMTc6MTE6MTggKzA4MDAK U3ViamVjdDogW1BBVENIIDA0LzIzXSBmaWJfcnVsZXM6IHJldHVybiAwIGRpcmVjdGx5IGlmIGFu IGV4YWN0bHkgc2FtZSBydWxlCiBleGlzdHMgd2hlbiBOTE1fRl9FWENMIG5vdCBzdXBwbGllZAoK WyBVcHN0cmVhbSBjb21taXQgZTk5MTlhMjRkMzAyMmY3MmJjYWRjNDA3ZTczYTZlZjE3MDkzYTg0 OSBdCgpXaXRoIGNvbW1pdCAxNTMzODBlYzRiOSAoImZpYl9ydWxlczogQWRkZWQgTkxNX0ZfRVhD TCBzdXBwb3J0IHRvCmZpYl9ubF9uZXdydWxlIikgd2Ugbm93IGFibGUgdG8gY2hlY2sgaWYgYSBy dWxlIGFscmVhZHkgZXhpc3RzLiBCdXQgdGhpcwpvbmx5IHdvcmtzIHdpdGggaXByb3V0ZTIuIEZv ciBvdGhlciB0b29scyBsaWtlIGxpYm5sLCBOZXR3b3JrTWFuYWdlciwKaXQgc3RpbGwgY291bGQg YWRkIGR1cGxpY2F0ZSBydWxlcyB3aXRoIG9ubHkgTkxNX0ZfQ1JFQVRFIGZsYWcsIGxpa2UKClts b2NhbGhvc3QgfiBdIyBpcCBydWxlCjA6ICAgICAgZnJvbSBhbGwgbG9va3VwIGxvY2FsCjMyNzY2 OiAgZnJvbSBhbGwgbG9va3VwIG1haW4KMzI3Njc6ICBmcm9tIGFsbCBsb29rdXAgZGVmYXVsdAox MDAwMDA6IGZyb20gMTkyLjE2OC43LjUgbG9va3VwIDUKMTAwMDAwOiBmcm9tIDE5Mi4xNjguNy41 IGxvb2t1cCA1CgpBcyBpdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgdG8gY3JlYXRlIHR3byBkdXBsaWNh dGUgcnVsZXMsIGxldCdzIGp1c3QgcmV0dXJuCjAgaWYgdGhlIHJ1bGUgZXhpc3RzLgoKRml4ZXM6 IDE1MzM4MGVjNGI5ICgiZmliX3J1bGVzOiBBZGRlZCBOTE1fRl9FWENMIHN1cHBvcnQgdG8gZmli X25sX25ld3J1bGUiKQpSZXBvcnRlZC1ieTogVGhvbWFzIEhhbGxlciA8dGhhbGxlckByZWRoYXQu Y29tPgpTaWduZWQtb2ZmLWJ5OiBIYW5nYmluIExpdSA8bGl1aGFuZ2JpbkBnbWFpbC5jb20+ClNp Z25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBu ZXQvY29yZS9maWJfcnVsZXMuYyB8IDYgKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRp b25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9jb3JlL2ZpYl9ydWxlcy5j IGIvbmV0L2NvcmUvZmliX3J1bGVzLmMKaW5kZXggZmZiYjgyNzcyM2EyLi5jNDliNzUyZWE3ZWIg MTAwNjQ0Ci0tLSBhL25ldC9jb3JlL2ZpYl9ydWxlcy5jCisrKyBiL25ldC9jb3JlL2ZpYl9ydWxl cy5jCkBAIC03NTYsOSArNzU2LDkgQEAgaW50IGZpYl9ubF9uZXdydWxlKHN0cnVjdCBza19idWZm ICpza2IsIHN0cnVjdCBubG1zZ2hkciAqbmxoLAogCWlmIChlcnIpCiAJCWdvdG8gZXJyb3V0Owog Ci0JaWYgKChubGgtPm5sbXNnX2ZsYWdzICYgTkxNX0ZfRVhDTCkgJiYKLQkgICAgcnVsZV9leGlz dHMob3BzLCBmcmgsIHRiLCBydWxlKSkgewotCQllcnIgPSAtRUVYSVNUOworCWlmIChydWxlX2V4 aXN0cyhvcHMsIGZyaCwgdGIsIHJ1bGUpKSB7CisJCWlmIChubGgtPm5sbXNnX2ZsYWdzICYgTkxN X0ZfRVhDTCkKKwkJCWVyciA9IC1FRVhJU1Q7CiAJCWdvdG8gZXJyb3V0X2ZyZWU7CiAJfQogCi0t IAoyLjIwLjEKCgpGcm9tIDA3NTllYjMzYTVmM2MzZDY3NDZiOTVhOTAzOTA2YTIxODVhOTJmMGMg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IERhdmlkIEFoZXJuIDxkc2FoZXJuQGdtYWls LmNvbT4KRGF0ZTogVHVlLCA3IE1heSAyMDE5IDIwOjQ0OjU5IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAwNS8yM10gaXB2NDogRml4IHJhdyBzb2NrZXQgbG9va3VwIGZvciBsb2NhbCB0cmFmZmljCgpb IFVwc3RyZWFtIGNvbW1pdCAxOWU0ZTc2ODA2NGE4N2IwNzNhNGI0YzEzOGI1NWRiNzBlMGNmYjlm IF0KCmluZXRfaWlmIHNob3VsZCBiZSB1c2VkIGZvciB0aGUgcmF3IHNvY2tldCBsb29rdXAuIGlu ZXRfaWlmIGNvbnNpZGVycwpydF9paWYgd2hpY2ggaGFuZGxlcyB0aGUgY2FzZSBvZiBsb2NhbCB0 cmFmZmljLgoKQXMgaXQgc3RhbmRzLCBwaW5nIHRvIGEgbG9jYWwgYWRkcmVzcyB3aXRoIHRoZSAn LUkgPGRldj4nIG9wdGlvbiBmYWlscwpldmVyIHNpbmNlIHBpbmcgd2FzIGNoYW5nZWQgdG8gdXNl IFNPX0JJTkRUT0RFVklDRSBpbnN0ZWFkIG9mCmNtc2cgKyBJUF9QS1RJTkZPLgoKSVB2NiB3b3Jr cyBmaW5lLgoKRml4ZXM6IDFkYTE3N2U0YzNmNCAoIkxpbnV4LTIuNi4xMi1yYzIiKQpTaWduZWQt b2ZmLWJ5OiBEYXZpZCBBaGVybiA8ZHNhaGVybkBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERh dmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2NC9yYXcuYyB8 IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9uZXQvaXB2NC9yYXcuYyBiL25ldC9pcHY0L3Jhdy5jCmluZGV4IGM1NWE1 NDMyY2YzNy4uZGM5MWMyN2JiNzg4IDEwMDY0NAotLS0gYS9uZXQvaXB2NC9yYXcuYworKysgYi9u ZXQvaXB2NC9yYXcuYwpAQCAtMTczLDYgKzE3Myw3IEBAIHN0YXRpYyBpbnQgaWNtcF9maWx0ZXIo Y29uc3Qgc3RydWN0IHNvY2sgKnNrLCBjb25zdCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQogc3RhdGlj IGludCByYXdfdjRfaW5wdXQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgY29uc3Qgc3RydWN0IGlwaGRy ICppcGgsIGludCBoYXNoKQogewogCWludCBzZGlmID0gaW5ldF9zZGlmKHNrYik7CisJaW50IGRp ZiA9IGluZXRfaWlmKHNrYik7CiAJc3RydWN0IHNvY2sgKnNrOwogCXN0cnVjdCBobGlzdF9oZWFk ICpoZWFkOwogCWludCBkZWxpdmVyZWQgPSAwOwpAQCAtMTg1LDggKzE4Niw3IEBAIHN0YXRpYyBp bnQgcmF3X3Y0X2lucHV0KHN0cnVjdCBza19idWZmICpza2IsIGNvbnN0IHN0cnVjdCBpcGhkciAq aXBoLCBpbnQgaGFzaCkKIAogCW5ldCA9IGRldl9uZXQoc2tiLT5kZXYpOwogCXNrID0gX19yYXdf djRfbG9va3VwKG5ldCwgX19za19oZWFkKGhlYWQpLCBpcGgtPnByb3RvY29sLAotCQkJICAgICBp cGgtPnNhZGRyLCBpcGgtPmRhZGRyLAotCQkJICAgICBza2ItPmRldi0+aWZpbmRleCwgc2RpZik7 CisJCQkgICAgIGlwaC0+c2FkZHIsIGlwaC0+ZGFkZHIsIGRpZiwgc2RpZik7CiAKIAl3aGlsZSAo c2spIHsKIAkJZGVsaXZlcmVkID0gMTsKLS0gCjIuMjAuMQoKCkZyb20gMmJiOTQwOThjYmFkMTQ5 Mjk2ZjYxZjZkMmE2MjY0MmY5M2JhMDczNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog WXVlSGFpYmluZyA8eXVlaGFpYmluZ0BodWF3ZWkuY29tPgpEYXRlOiBNb24sIDYgTWF5IDIwMTkg MjM6MjU6MjkgKzA4MDAKU3ViamVjdDogW1BBVENIIDA2LzIzXSBuZXQ6IGRzYTogRml4IGVycm9y IGNsZWFudXAgcGF0aCBpbiBkc2FfaW5pdF9tb2R1bGUKClsgVXBzdHJlYW0gY29tbWl0IDY4YmU5 MzAyNDlkMDUxZmQ1NGQzZDk5MTU2YjNkY2FkY2IyYTFmOWIgXQoKQlVHOiB1bmFibGUgdG8gaGFu ZGxlIGtlcm5lbCBwYWdpbmcgcmVxdWVzdCBhdCBmZmZmZmZmZmEwMWM1NDMwClBHRCAzMjcwMDY3 IFA0RCAzMjcwMDY3IFBVRCAzMjcxMDYzIFBNRCAyMzBiYzUwNjcgUFRFIDAKT29wczogMDAwMCBb IzEKQ1BVOiAwIFBJRDogNjE1OSBDb21tOiBtb2Rwcm9iZSBOb3QgdGFpbnRlZCA1LjEuMCsgIzMz CkhhcmR3YXJlIG5hbWU6IFFFTVUgU3RhbmRhcmQgUEMgKGk0NDBGWCArIFBJSVgsIDE5OTYpLCBC SU9TIHJlbC0xLjkuMy0wLWdlMmZjNDFlLXByZWJ1aWx0LnFlbXUtcHJvamVjdC5vcmcgMDQvMDEv MjAxNApSSVA6IDAwMTA6cmF3X25vdGlmaWVyX2NoYWluX3JlZ2lzdGVyKzB4MTYvMHg0MApDb2Rl OiA2MyBmOCA2NiA5MCBlOSA1ZCBmZiBmZiBmZiA5MCA5MCA5MCA5MCA5MCA5MCA5MCA5MCA5MCA5 MCA5MCA1NSA0OCA4YiAwNyA0OCA4OSBlNSA0OCA4NSBjMCA3NCAxYyA4YiA1NiAxMCAzYiA1MCAx MCA3ZSAwNyBlYiAxMiA8Mzk+IDUwIDEwIDdjIDBkIDQ4IDhkIDc4IDA4IDQ4IDhiIDQwIDA4IDQ4 IDg1IGMwIDc1IGVlIDQ4IDg5IDQ2IDA4ClJTUDogMDAxODpmZmZmYzkwMDAxYzMzYzA4IEVGTEFH UzogMDAwMTAyODIKUkFYOiBmZmZmZmZmZmEwMWM1NDIwIFJCWDogZmZmZmZmZmZhMDFkYjQyMCBS Q1g6IDRmY2VmNDU5MjgwNzBhOGIKUkRYOiAwMDAwMDAwMDAwMDAwMDAwIFJTSTogZmZmZmZmZmZh MDFkYjQyMCBSREk6IGZmZmZmZmZmYTAxYjAwNjgKUkJQOiBmZmZmYzkwMDAxYzMzYzA4IFIwODog MDAwMDAwMDAzZTBhMzNkMCBSMDk6IDAwMDAwMDAwMDAwMDAwMDAKUjEwOiAwMDAwMDAwMDAwMDAw MDAwIFIxMTogMDAwMDAwMDA5NDQ0MzY2MSBSMTI6IGZmZmY4ODgyMmMzMjA3MDAKUjEzOiBmZmZm ODg4MjMxMDliZTgwIFIxNDogMDAwMDAwMDAwMDAwMDAwMCBSMTU6IGZmZmZjOTAwMDFjMzNlNzgK RlM6ICAwMDAwN2ZhYjhiZDA4NTQwKDAwMDApIEdTOmZmZmY4ODgyMzdhMDAwMDAoMDAwMCkga25s R1M6MDAwMDAwMDAwMDAwMDAwMApDUzogIDAwMTAgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAw MDAwMDgwMDUwMDMzCkNSMjogZmZmZmZmZmZhMDFjNTQzMCBDUjM6IDAwMDAwMDAyMjk3ZWEwMDAg Q1I0OiAwMDAwMDAwMDAwMDAwNmYwCkNhbGwgVHJhY2U6CiByZWdpc3Rlcl9uZXRkZXZpY2Vfbm90 aWZpZXIrMHg0My8weDI1MAogPyAweGZmZmZmZmZmYTAxZTAwMDAKIGRzYV9zbGF2ZV9yZWdpc3Rl cl9ub3RpZmllcisweDEzLzB4NzAgW2RzYV9jb3JlCiA/IDB4ZmZmZmZmZmZhMDFlMDAwMAogZHNh X2luaXRfbW9kdWxlKzB4MmUvMHgxMDAwIFtkc2FfY29yZQogZG9fb25lX2luaXRjYWxsKzB4NmMv MHgzY2MKID8gZG9faW5pdF9tb2R1bGUrMHgyMi8weDFmMQogPyByY3VfcmVhZF9sb2NrX3NjaGVk X2hlbGQrMHg5Ny8weGIwCiA/IGttZW1fY2FjaGVfYWxsb2NfdHJhY2UrMHgzMjUvMHgzYjAKIGRv X2luaXRfbW9kdWxlKzB4NWIvMHgxZjEKIGxvYWRfbW9kdWxlKzB4MWRiMS8weDI2OTAKID8gbV9z aG93KzB4MWQwLzB4MWQwCiBfX2RvX3N5c19maW5pdF9tb2R1bGUrMHhjNS8weGQwCiBfX3g2NF9z eXNfZmluaXRfbW9kdWxlKzB4MTUvMHgyMAogZG9fc3lzY2FsbF82NCsweDZiLzB4MWQwCiBlbnRy eV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0OS8weGJlCgpDbGVhbnVwIGFsbG9jYXRlZCBy ZXNvdXJzZXMgaWYgdGhlcmUgYXJlIGVycm9ycywKb3RoZXJ3aXNlIGl0IHdpbGwgdHJnZ2VyIG1l bWxlYWsuCgpGaXhlczogYzllYjNlMGY4NzAxICgibmV0OiBkc2E6IEFkZCBzdXBwb3J0IGZvciBs ZWFybmluZyBGREIgdGhyb3VnaCBub3RpZmljYXRpb24iKQpTaWduZWQtb2ZmLWJ5OiBZdWVIYWli aW5nIDx5dWVoYWliaW5nQGh1YXdlaS5jb20+ClJldmlld2VkLWJ5OiBWaXZpZW4gRGlkZWxvdCA8 dml2aWVuLmRpZGVsb3RAZ21haWwuY29tPgpSZXZpZXdlZC1ieTogQW5kcmV3IEx1bm4gPGFuZHJl d0BsdW5uLmNoPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9m dC5uZXQ+Ci0tLQogbmV0L2RzYS9kc2EuYyB8IDExICsrKysrKysrKy0tCiAxIGZpbGUgY2hhbmdl ZCwgOSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9kc2Ev ZHNhLmMgYi9uZXQvZHNhL2RzYS5jCmluZGV4IDM2ZGU0ZjJhMzM2Ni4uY2IwODBlZmRjN2IzIDEw MDY0NAotLS0gYS9uZXQvZHNhL2RzYS5jCisrKyBiL25ldC9kc2EvZHNhLmMKQEAgLTM0NCwxNSAr MzQ0LDIyIEBAIHN0YXRpYyBpbnQgX19pbml0IGRzYV9pbml0X21vZHVsZSh2b2lkKQogCiAJcmMg PSBkc2Ffc2xhdmVfcmVnaXN0ZXJfbm90aWZpZXIoKTsKIAlpZiAocmMpCi0JCXJldHVybiByYzsK KwkJZ290byByZWdpc3Rlcl9ub3RpZmllcl9mYWlsOwogCiAJcmMgPSBkc2FfbGVnYWN5X3JlZ2lz dGVyKCk7CiAJaWYgKHJjKQotCQlyZXR1cm4gcmM7CisJCWdvdG8gbGVnYWN5X3JlZ2lzdGVyX2Zh aWw7CiAKIAlkZXZfYWRkX3BhY2soJmRzYV9wYWNrX3R5cGUpOwogCiAJcmV0dXJuIDA7CisKK2xl Z2FjeV9yZWdpc3Rlcl9mYWlsOgorCWRzYV9zbGF2ZV91bnJlZ2lzdGVyX25vdGlmaWVyKCk7City ZWdpc3Rlcl9ub3RpZmllcl9mYWlsOgorCWRlc3Ryb3lfd29ya3F1ZXVlKGRzYV9vd3EpOworCisJ cmV0dXJuIHJjOwogfQogbW9kdWxlX2luaXQoZHNhX2luaXRfbW9kdWxlKTsKIAotLSAKMi4yMC4x CgoKRnJvbSA2MjhmYTRhMDcwYWQwYjBhMDQ1YWRiZDRhM2Q2OWQ4MTJkMjAwYTU1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDb3JlbnRpbiBMYWJiZSA8Y2xhYmJlQGJheWxpYnJlLmNv bT4KRGF0ZTogTW9uLCAxMyBNYXkgMjAxOSAxMzowNjozOSArMDAwMApTdWJqZWN0OiBbUEFUQ0gg MDcvMjNdIG5ldDogZXRoZXJuZXQ6IHN0bW1hYzogZHdtYWMtc3VuOGk6IGVuYWJsZSBzdXBwb3J0 IG9mCiB1bmljYXN0IGZpbHRlcmluZwoKWyBVcHN0cmVhbSBjb21taXQgZDRjMjZlYjZlNzIxNjgz YTBmOTNlMzQ2Y2U1NWJjOGRjM2NiYjE3NSBdCgpXaGVuIGFkZGluZyBtb3JlIE1BQyBhZGRyZXNz ZXMgdG8gYSBkd21hYy1zdW44aSBpbnRlcmZhY2UsIHRoZSBkZXZpY2UgZ29lcwpkaXJlY3RseSBp biBwcm9taXNjdW91cyBtb2RlLgpUaGlzIGlzIGR1ZSB0byBJRkZfVU5JQ0FTVF9GTFQgbWlzc2lu ZyBmbGFnLgoKU28gc2luY2UgdGhlIGhhcmR3YXJlIHN1cHBvcnQgdW5pY2FzdCBmaWx0ZXJpbmcs IGxldCdzIGFkZCBJRkZfVU5JQ0FTVF9GTFQuCgpGaXhlczogOWY5M2FjOGQ0MDg1ICgibmV0LW5l eHQ6IHN0bW1hYzogQWRkIGR3bWFjLXN1bjhpIikKU2lnbmVkLW9mZi1ieTogQ29yZW50aW4gTGFi YmUgPGNsYWJiZUBiYXlsaWJyZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8 ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0 bW1hYy9kd21hYy1zdW44aS5jIHwgMiArKwogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygr KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFj LXN1bjhpLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdW44 aS5jCmluZGV4IDE5NTY2OWY1NTBmMC4uYmExMjRhNGRhNzkzIDEwMDY0NAotLS0gYS9kcml2ZXJz L25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdW44aS5jCisrKyBiL2RyaXZlcnMv bmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXN1bjhpLmMKQEAgLTEwMTUsNiArMTAx NSw4IEBAIHN0YXRpYyBzdHJ1Y3QgbWFjX2RldmljZV9pbmZvICpzdW44aV9kd21hY19zZXR1cCh2 b2lkICpwcHJpdikKIAltYWMtPm1hYyA9ICZzdW44aV9kd21hY19vcHM7CiAJbWFjLT5kbWEgPSAm c3VuOGlfZHdtYWNfZG1hX29wczsKIAorCXByaXYtPmRldi0+cHJpdl9mbGFncyB8PSBJRkZfVU5J Q0FTVF9GTFQ7CisKIAkvKiBUaGUgbG9vcGJhY2sgYml0IHNlZW1zIHRvIGJlIHJlLXNldCB3aGVu IGxpbmsgY2hhbmdlCiAJICogU2ltcGx5IG1hc2sgaXQgZWFjaCB0aW1lCiAJICogU3BlZWQgMTAv MTAwLzEwMDAgYXJlIHNldCBpbiBCSVQoMikvQklUKDMpCi0tIAoyLjIwLjEKCgpGcm9tIDdmMGMy ZDY5ODEzOTk1Y2YxMjM5Y2ExMTQ1OGFiZTZmNGFhYWM4MDcgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IEhhcmluaSBLYXRha2FtIDxoYXJpbmkua2F0YWthbUB4aWxpbnguY29tPgpEYXRl OiBUdWUsIDcgTWF5IDIwMTkgMTk6NTk6MTAgKzA1MzAKU3ViamVjdDogW1BBVENIIDA4LzIzXSBu ZXQ6IG1hY2I6IENoYW5nZSBpbnRlcnJ1cHQgYW5kIG5hcGkgZW5hYmxlIG9yZGVyIGluCiBvcGVu CgpbIFVwc3RyZWFtIGNvbW1pdCAwNTA0NDUzMTM5ZWY1YTU5M2M5NTg3ZTFlODUxZmViZWU4NTlj N2Q4IF0KCkN1cnJlbnQgb3JkZXIgaW4gb3BlbjoKLT4gRW5hYmxlIGludGVycnVwdHMgKG1hY2Jf aW5pdF9odykKLT4gRW5hYmxlIE5BUEkKLT4gU3RhcnQgUEhZCgpTZXF1ZW5jZSBvZiBSWCBoYW5k bGluZzoKLT4gUlggaW50ZXJydXB0IG9jY3VycwotPiBJbnRlcnJ1cHQgaXMgY2xlYXJlZCBhbmQg aW50ZXJydXB0IGJpdHMgZGlzYWJsZWQgaW4gaGFuZGxlcgotPiBOQVBJIGlzIHNjaGVkdWxlZAot PiBJbiBOQVBJLCBSWCBidWRnZXQgaXMgcHJvY2Vzc2VkIGFuZCBSWCBpbnRlcnJ1cHRzIGFyZSBy ZS1lbmFibGVkCgpXaXRoIHRoZSBhYm92ZSwgb24gUUVNVSBvciBmaXhlZCBsaW5rIHNldHVwcyAo d2hlcmUgUEhZIHN0YXRlIGRvZXNuJ3QKbWF0dGVyKSwgdGhlcmUncyBhIGNoYW5jZSBtYWNiIFJY IGludGVycnVwdCBvY2N1cnMgYmVmb3JlIE5BUEkgaXMKZW5hYmxlZC4gVGhpcyB3aWxsIHJlc3Vs dCBpbiBOQVBJIGJlaW5nIHNjaGVkdWxlZCBiZWZvcmUgaXQgaXMgZW5hYmxlZC4KRml4IHRoaXMg bWFjYiBvcGVuIGJ5IGNoYW5naW5nIHRoZSBvcmRlci4KCkZpeGVzOiBhZTFmMmE1NmQyNzMgKCJu ZXQ6IG1hY2I6IEFkZGVkIHN1cHBvcnQgZm9yIG1hbnkgUlggcXVldWVzIikKU2lnbmVkLW9mZi1i eTogSGFyaW5pIEthdGFrYW0gPGhhcmluaS5rYXRha2FtQHhpbGlueC5jb20+CkFja2VkLWJ5OiBO aWNvbGFzIEZlcnJlIDxuaWNvbGFzLmZlcnJlQG1pY3JvY2hpcC5jb20+ClNpZ25lZC1vZmYtYnk6 IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9l dGhlcm5ldC9jYWRlbmNlL21hY2JfbWFpbi5jIHwgNiArKystLS0KIDEgZmlsZSBjaGFuZ2VkLCAz IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQv ZXRoZXJuZXQvY2FkZW5jZS9tYWNiX21haW4uYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVu Y2UvbWFjYl9tYWluLmMKaW5kZXggM2RhMjc5NWUyNDg2Li5hNjUzNWUyMjZkODQgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9tYWluLmMKKysrIGIvZHJpdmVy cy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX21haW4uYwpAQCAtMjQ2MSwxMiArMjQ2MSwxMiBA QCBzdGF0aWMgaW50IG1hY2Jfb3BlbihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KQogCQlnb3RvIHBt X2V4aXQ7CiAJfQogCi0JYnAtPm1hY2JnZW1fb3BzLm1vZ19pbml0X3JpbmdzKGJwKTsKLQltYWNi X2luaXRfaHcoYnApOwotCiAJZm9yIChxID0gMCwgcXVldWUgPSBicC0+cXVldWVzOyBxIDwgYnAt Pm51bV9xdWV1ZXM7ICsrcSwgKytxdWV1ZSkKIAkJbmFwaV9lbmFibGUoJnF1ZXVlLT5uYXBpKTsK IAorCWJwLT5tYWNiZ2VtX29wcy5tb2dfaW5pdF9yaW5ncyhicCk7CisJbWFjYl9pbml0X2h3KGJw KTsKKwogCS8qIHNjaGVkdWxlIGEgbGluayBzdGF0ZSBjaGVjayAqLwogCXBoeV9zdGFydChkZXYt PnBoeWRldik7CiAKLS0gCjIuMjAuMQoKCkZyb20gMzdlYmU2N2U0NmNiMDNmMDkzZjIwNGZkNDZl ZWU2ZTZiZDY4YjYyNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogVGhvbWFzIEJvZ2Vu ZG9lcmZlciA8dGJvZ2VuZG9lcmZlckBzdXNlLmRlPgpEYXRlOiBNb24sIDEzIE1heSAyMDE5IDEz OjE1OjE3ICswMjAwClN1YmplY3Q6IFtQQVRDSCAwOS8yM10gbmV0OiBzZWVxOiBmaXggY3Jhc2gg Y2F1c2VkIGJ5IG5vdCBzZXQgZGV2LnBhcmVudAoKWyBVcHN0cmVhbSBjb21taXQgNWFmY2QxNGNm YzdmZWQxYmNjOGFiY2VlMmNlZjgyNzMyNzcyYmZjMiBdCgpUaGUgb2xkIE1JUFMgaW1wbGVtZW50 YXRpb24gb2YgZG1hX2NhY2hlX3N5bmMoKSBkaWRuJ3QgdXNlIHRoZSBkZXYgYXJndW1lbnQsCmJ1 dCBjb21taXQgYzllYjYxNzJjMzI4ICgiZG1hLW1hcHBpbmc6IHR1cm4gZG1hX2NhY2hlX3N5bmMg aW50byBhCmRtYV9tYXBfb3BzIG1ldGhvZCIpIGNoYW5nZWQgdGhhdCwgc28gd2Ugbm93IG5lZWQg dG8gc2V0IGRldi5wYXJlbnQuCgpTaWduZWQtb2ZmLWJ5OiBUaG9tYXMgQm9nZW5kb2VyZmVyIDx0 Ym9nZW5kb2VyZmVyQHN1c2UuZGU+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2 ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9zZWVxL3NnaXNlZXEu YyB8IDEgKwogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9uZXQvZXRoZXJuZXQvc2VlcS9zZ2lzZWVxLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9z ZWVxL3NnaXNlZXEuYwppbmRleCA3MGNjZTYzYTYwODEuLjY5NjAzN2Q1YWMzZCAxMDA2NDQKLS0t IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc2VlcS9zZ2lzZWVxLmMKKysrIGIvZHJpdmVycy9uZXQv ZXRoZXJuZXQvc2VlcS9zZ2lzZWVxLmMKQEAgLTczNSw2ICs3MzUsNyBAQCBzdGF0aWMgaW50IHNn aXNlZXFfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAl9CiAKIAlwbGF0Zm9y bV9zZXRfZHJ2ZGF0YShwZGV2LCBkZXYpOworCVNFVF9ORVRERVZfREVWKGRldiwgJnBkZXYtPmRl dik7CiAJc3AgPSBuZXRkZXZfcHJpdihkZXYpOwogCiAJLyogTWFrZSBwcml2YXRlIGRhdGEgcGFn ZSBhbGlnbmVkICovCi0tIAoyLjIwLjEKCgpGcm9tIGU5ZDk5MjNiNTRmNGM1MmM4MmFmYmQ2MjIw MGI5Yjc2MjExODk1ZWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IENocmlzdG9waGUg TGVyb3kgPGNocmlzdG9waGUubGVyb3lAYy1zLmZyPgpEYXRlOiBGcmksIDMgTWF5IDIwMTkgMTM6 MzM6MjMgKzAwMDAKU3ViamVjdDogW1BBVENIIDEwLzIzXSBuZXQ6IHVjY19nZXRoIC0gZml4IE9v cHMgd2hlbiBjaGFuZ2luZyBudW1iZXIgb2YKIGJ1ZmZlcnMgaW4gdGhlIHJpbmcKClsgVXBzdHJl YW0gY29tbWl0IGVlMGRmMTkzMDVkOWZhYmQ5NDc5Yjc4NTkxODk2NmY2ZTI1YjczM2IgXQoKV2hl biBjaGFuZ2luZyB0aGUgbnVtYmVyIG9mIGJ1ZmZlcnMgaW4gdGhlIFJYIHJpbmcgd2hpbGUgdGhl IGludGVyZmFjZQppcyBydW5uaW5nLCB0aGUgZm9sbG93aW5nIE9vcHMgaXMgZW5jb3VudGVyZWQg ZHVlIHRvIHRoZSBuZXcgbnVtYmVyCm9mIGJ1ZmZlcnMgYmVpbmcgdGFrZW4gaW50byBhY2NvdW50 IGltbWVkaWF0ZWx5IHdoaWxlIHRoZWlyIGFsbG9jYXRpb24KaXMgZG9uZSB3aGVuIG9wZW5pbmcg dGhlIGRldmljZSBvbmx5LgoKWyAgIDY5Ljg4MjcwNl0gVW5hYmxlIHRvIGhhbmRsZSBrZXJuZWwg cGFnaW5nIHJlcXVlc3QgZm9yIGRhdGEgYXQgYWRkcmVzcyAweGYwMDAwMTAwClsgICA2OS44OTAx NzJdIEZhdWx0aW5nIGluc3RydWN0aW9uIGFkZHJlc3M6IDB4YzAzM2UxNjQKWyAgIDY5Ljg5NTEy Ml0gT29wczogS2VybmVsIGFjY2VzcyBvZiBiYWQgYXJlYSwgc2lnOiAxMSBbIzFdClsgICA2OS45 MDA0OTRdIEJFIFBSRUVNUFQgQ01QQ1BSTwpbICAgNjkuOTA3MTIwXSBDUFU6IDAgUElEOiAwIENv bW06IHN3YXBwZXIgTm90IHRhaW50ZWQgNC4xNC4xMTUtMDAwMDYtZzE3OWFkZThjZTMtZGlydHkg IzI2OQpbICAgNjkuOTE1OTU2XSB0YXNrOiBjMDY4NDMxMCB0YXNrLnN0YWNrOiBjMDZkYTAwMApb ICAgNjkuOTIwNDcwXSBOSVA6ICBjMDMzZTE2NCBMUjogYzAyZTQ0ZDAgQ1RSOiBjMDJlNDFmYwpb ICAgNjkuOTI1NTA0XSBSRUdTOiBkZmZmMWUyMCBUUkFQOiAwMzAwICAgTm90IHRhaW50ZWQgICg0 LjE0LjExNS0wMDAwNi1nMTc5YWRlOGNlMy1kaXJ0eSkKWyAgIDY5LjkzNDE2MV0gTVNSOiAgMDAw MDkwMzIgPEVFLE1FLElSLERSLFJJPiAgQ1I6IDIyMDA0NDI4ICBYRVI6IDIwMDAwMDAwClsgICA2 OS45NDA4NjldIERBUjogZjAwMDAxMDAgRFNJU1I6IDIwMDAwMDAwClsgICA2OS45NDA4NjldIEdQ UjAwOiBjMDM1MmQ3MCBkZmZmMWVkMCBjMDY4NDMxMCBmMDAwMDBhNCAwMDAwMDA0MCBkZmZmMWY2 OCAwMDAwMDAwMCAwMDAwMDAxZgpbICAgNjkuOTQwODY5XSBHUFIwODogZGY1M2Y0MTAgMWNjMDAw NDAgMDAwMDAwMjEgYzA3ODE2NDAgNDIwMDQ0MjQgMTAwYzgyYjYgZjAwMDAwYTQgZGY1M2Y1YjAK WyAgIDY5Ljk0MDg2OV0gR1BSMTY6IGRmNTNmNmMwIGMwNWRhZjg0IDAwMDAwMDQwIDAwMDAwMDAw IDAwMDAwMDQwIGMwNzgyYmU0IDAwMDAwMDAwIDAwMDAwMDAxClsgICA2OS45NDA4NjldIEdQUjI0 OiAwMDAwMDAwMCBkZjUzZjQwMCAwMDAwMDFiMCBkZjUzZjQxMCBkZjUzZjAwMCAwMDAwMDAzZiBk ZjcwODIyMCAxY2MwMDA0NApbICAgNjkuOTc4MzQ4XSBOSVAgW2MwMzNlMTY0XSBza2JfcHV0KzB4 MC8weDVjClsgICA2OS45ODI1MjhdIExSIFtjMDJlNDRkMF0gdWNjX2dldGhfcG9sbCsweDJkNC8w eDNmOApbICAgNjkuOTg3Mzg0XSBDYWxsIFRyYWNlOgpbICAgNjkuOTg5ODMwXSBbZGZmZjFlZDBd IFtjMDJlNDU1NF0gdWNjX2dldGhfcG9sbCsweDM1OC8weDNmOCAodW5yZWxpYWJsZSkKWyAgIDY5 Ljk5NjUyMl0gW2RmZmYxZjIwXSBbYzAzNTJkNzBdIG5ldF9yeF9hY3Rpb24rMHgyNDgvMHgzMGMK WyAgIDcwLjAwMjA5OV0gW2RmZmYxZjgwXSBbYzA0ZTkzZTRdIF9fZG9fc29mdGlycSsweGZjLzB4 MzEwClsgICA3MC4wMDc0OTJdIFtkZmZmMWZlMF0gW2MwMDIxMTI0XSBpcnFfZXhpdCsweGQwLzB4 ZDQKWyAgIDcwLjAxMjQ1OF0gW2RmZmYxZmYwXSBbYzAwMGU3ZTBdIGNhbGxfZG9faXJxKzB4MjQv MHgzYwpbICAgNzAuMDE3NjgzXSBbYzA2ZGJlODBdIFtjMDAwNmJhY10gZG9fSVJRKzB4NjQvMHhj NApbICAgNzAuMDIyNDc0XSBbYzA2ZGJlYTBdIFtjMDAxMDk3Y10gcmV0X2Zyb21fZXhjZXB0KzB4 MC8weDE0ClsgICA3MC4wMjc5NjRdIC0tLSBpbnRlcnJ1cHQ6IDUwMSBhdCByY3VfaWRsZV9leGl0 KzB4ODQvMHg5MApbICAgNzAuMDI3OTY0XSAgICAgTFIgPSByY3VfaWRsZV9leGl0KzB4NzQvMHg5 MApbICAgNzAuMDM3NTg1XSBbYzA2ZGJmNjBdIFsyMDAwMDAwMF0gMHgyMDAwMDAwMCAodW5yZWxp YWJsZSkKWyAgIDcwLjA0Mjk4NF0gW2MwNmRiZjgwXSBbYzAwNGJiMGNdIGRvX2lkbGUrMHhiNC8w eDExYwpbICAgNzAuMDQ3OTQ1XSBbYzA2ZGJmYTBdIFtjMDA0YmQxNF0gY3B1X3N0YXJ0dXBfZW50 cnkrMHgxOC8weDFjClsgICA3MC4wNTM2ODJdIFtjMDZkYmZiMF0gW2MwNWZiMDM0XSBzdGFydF9r ZXJuZWwrMHgzNzAvMHgzODQKWyAgIDcwLjA1OTE1M10gW2MwNmRiZmYwXSBbMDAwMDM0MzhdIDB4 MzQzOApbICAgNzAuMDYzMDYyXSBJbnN0cnVjdGlvbiBkdW1wOgpbICAgNzAuMDY2MDIzXSAzOGEw MDAwMCAzODgwMDAwMCA5MDAxMDAxNCA0YmZmZjAxNSA4MDAxMDAxNCA3YzA4MDNhNiAzMTIzZmZm ZiA3YzY5MTkxMApbICAgNzAuMDczNzY3XSAzODIxMDAxMCA0ZTgwMDAyMCAzODYwMDAwMCA0ZTgw MDAyMCA8ODBlMzAwNWM+IDgwYzMwMDk4IDMxMDdmZmZmIDdkMDgzOTEwClsgICA3MC4wODE2OTBd IC0tLVsgZW5kIHRyYWNlIGJlN2NjZDljMWUxYTlmMTIgXS0tLQoKVGhpcyBwYXRjaCBmb3JiaWRz IHRoZSBtb2RpZmljYXRpb24gb2YgdGhlIG51bWJlciBvZiBidWZmZXJzIGluIHRoZQpyaW5nIHdo aWxlIHRoZSBpbnRlcmZhY2UgaXMgcnVubmluZy4KCkZpeGVzOiBhYzQyMTg1MmIzYTAgKCJ1Y2Nf Z2V0aDogYWRkIGV0aHRvb2wgc3VwcG9ydCIpClNpZ25lZC1vZmYtYnk6IENocmlzdG9waGUgTGVy b3kgPGNocmlzdG9waGUubGVyb3lAYy1zLmZyPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxs ZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNj YWxlL3VjY19nZXRoX2V0aHRvb2wuYyB8IDggKysrLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAzIGlu c2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRo ZXJuZXQvZnJlZXNjYWxlL3VjY19nZXRoX2V0aHRvb2wuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0 L2ZyZWVzY2FsZS91Y2NfZ2V0aF9ldGh0b29sLmMKaW5kZXggMGJlZWUyY2MyZGRkLi43MjJiNmRl MjQ4MTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS91Y2NfZ2V0 aF9ldGh0b29sLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL3VjY19nZXRo X2V0aHRvb2wuYwpAQCAtMjUyLDE0ICsyNTIsMTIgQEAgdWVjX3NldF9yaW5ncGFyYW0oc3RydWN0 IG5ldF9kZXZpY2UgKm5ldGRldiwKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCisJaWYgKG5ldGlm X3J1bm5pbmcobmV0ZGV2KSkKKwkJcmV0dXJuIC1FQlVTWTsKKwogCXVnX2luZm8tPmJkUmluZ0xl blJ4W3F1ZXVlXSA9IHJpbmctPnJ4X3BlbmRpbmc7CiAJdWdfaW5mby0+YmRSaW5nTGVuVHhbcXVl dWVdID0gcmluZy0+dHhfcGVuZGluZzsKIAotCWlmIChuZXRpZl9ydW5uaW5nKG5ldGRldikpIHsK LQkJLyogRklYTUU6IHJlc3RhcnQgYXV0b21hdGljYWxseSAqLwotCQluZXRkZXZfaW5mbyhuZXRk ZXYsICJQbGVhc2UgcmUtb3BlbiB0aGUgaW50ZXJmYWNlXG4iKTsKLQl9Ci0KIAlyZXR1cm4gcmV0 OwogfQogCi0tIAoyLjIwLjEKCgpGcm9tIGMyMTI1ZWY4ZWViNDdhNzAzZmEzZDYwOWUwZTkzY2Nh NWFiMzVhMjAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFl1ZUhhaWJpbmcgPHl1ZWhh aWJpbmdAaHVhd2VpLmNvbT4KRGF0ZTogVGh1LCA5IE1heSAyMDE5IDIyOjUyOjIwICswODAwClN1 YmplY3Q6IFtQQVRDSCAxMS8yM10gcGFja2V0OiBGaXggZXJyb3IgcGF0aCBpbiBwYWNrZXRfaW5p dAoKWyBVcHN0cmVhbSBjb21taXQgMzYwOTZmMmY0ZmEwNWY3Njc4YmM4NzM5NzY2NTQ5MTcwMGJh ZTc1NyBdCgprZXJuZWwgQlVHIGF0IGxpYi9saXN0X2RlYnVnLmM6NDchCmludmFsaWQgb3Bjb2Rl OiAwMDAwIFsjMQpDUFU6IDAgUElEOiAxMjkxNCBDb21tOiBybW1vZCBUYWludGVkOiBHICAgICAg ICBXICAgICAgICAgNS4xLjArICM0NwpIYXJkd2FyZSBuYW1lOiBRRU1VIFN0YW5kYXJkIFBDIChp NDQwRlggKyBQSUlYLCAxOTk2KSwgQklPUyByZWwtMS45LjMtMC1nZTJmYzQxZS1wcmVidWlsdC5x ZW11LXByb2plY3Qub3JnIDA0LzAxLzIwMTQKUklQOiAwMDEwOl9fbGlzdF9kZWxfZW50cnlfdmFs aWQrMHg1My8weDkwCkNvZGU6IDQ4IDhiIDMyIDQ4IDM5IGZlIDc1IDM1IDQ4IDhiIDUwIDA4IDQ4 IDM5IGYyIDc1IDQwIGI4IDAxIDAwIDAwIDAwIDVkIGMzIDQ4Cjg5IGZlIDQ4IDg5IGMyIDQ4IGM3 IGM3IDE4IDc1IGZlIDgyIGU4IGNiIDM0IDc4IGZmIDwwZj4gMGIgNDggODkgZmUgNDggYzcgYzcg NTAgNzUgZmUgODIgZTggYmEgMzQgNzggZmYgMGYgMGIgNDggODkgZjIKUlNQOiAwMDE4OmZmZmZj OTAwMDFjMmZlNDAgRUZMQUdTOiAwMDAxMDI4NgpSQVg6IDAwMDAwMDAwMDAwMDAwNGUgUkJYOiBm ZmZmZmZmZmEwMTg0MDAwIFJDWDogMDAwMDAwMDAwMDAwMDAwMApSRFg6IDAwMDAwMDAwMDAwMDAw MDAgUlNJOiBmZmZmODg4MjM3YTE3Nzg4IFJESTogMDAwMDAwMDBmZmZmZmZmZgpSQlA6IGZmZmZj OTAwMDFjMmZlNDAgUjA4OiAwMDAwMDAwMDAwMDAwMDAwIFIwOTogMDAwMDAwMDAwMDAwMDAwMApS MTA6IGZmZmZjOTAwMDFjMmZlMTAgUjExOiAwMDAwMDAwMDAwMDAwMDAwIFIxMjogMDAwMDAwMDAw MDAwMDAwMApSMTM6IGZmZmZjOTAwMDFjMmZlNTAgUjE0OiBmZmZmZmZmZmEwMTg0MDAwIFIxNTog MDAwMDAwMDAwMDAwMDAwMApGUzogIDAwMDA3ZjNkODM2MzQ1NDAoMDAwMCkgR1M6ZmZmZjg4ODIz N2EwMDAwMCgwMDAwKSBrbmxHUzowMDAwMDAwMDAwMDAwMDAwCkNTOiAgMDAxMCBEUzogMDAwMCBF UzogMDAwMCBDUjA6IDAwMDAwMDAwODAwNTAwMzMKQ1IyOiAwMDAwNTU1YzM1MGVhODE4IENSMzog MDAwMDAwMDIzMTY3NzAwMCBDUjQ6IDAwMDAwMDAwMDAwMDA2ZjAKQ2FsbCBUcmFjZToKIHVucmVn aXN0ZXJfcGVybmV0X29wZXJhdGlvbnMrMHgzNC8weDEyMAogdW5yZWdpc3Rlcl9wZXJuZXRfc3Vi c3lzKzB4MWMvMHgzMAogcGFja2V0X2V4aXQrMHgxYy8weDM2OSBbYWZfcGFja2V0CiBfX3g2NF9z eXNfZGVsZXRlX21vZHVsZSsweDE1Ni8weDI2MAogPyBsb2NrZGVwX2hhcmRpcnFzX29uKzB4MTMz LzB4MWIwCiA/IGRvX3N5c2NhbGxfNjQrMHgxMi8weDFmMAogZG9fc3lzY2FsbF82NCsweDZlLzB4 MWYwCiBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0OS8weGJlCgpXaGVuIG1vZHBy b2JlIGFmX3BhY2tldCwgcmVnaXN0ZXJfcGVybmV0X3N1YnN5cwpmYWlscyBhbmQgZG9lcyBhIGNs ZWFudXAsIG9wcy0+bGlzdCBpcyBzZXQgdG8gTElTVF9QT0lTT04xLApidXQgdGhlIG1vZHVsZSBp bml0IGlzIGNvbnNpZGVyZWQgdG8gc3VjY2VzcywgdGhlbiB3aGlsZSBybW1vZCBpdCwKQlVHKCkg aXMgdHJpZ2dlcmVkIGluIF9fbGlzdF9kZWxfZW50cnlfdmFsaWQgd2hpY2ggaXMgY2FsbGVkIGZy b20KdW5yZWdpc3Rlcl9wZXJuZXRfc3Vic3lzLiBUaGlzIHBhdGNoIGZpeCBlcnJvciBoYW5kaW5n IHBhdGggaW4KcGFja2V0X2luaXQgdG8gYXZvaWQgcG9zc2lsYmUgaXNzdWUgaWYgc29tZSBlcnJv ciBvY2N1ci4KClJlcG9ydGVkLWJ5OiBIdWxrIFJvYm90IDxodWxrY2lAaHVhd2VpLmNvbT4KU2ln bmVkLW9mZi1ieTogWXVlSGFpYmluZyA8eXVlaGFpYmluZ0BodWF3ZWkuY29tPgpTaWduZWQtb2Zm LWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L3BhY2tl dC9hZl9wYWNrZXQuYyB8IDI1ICsrKysrKysrKysrKysrKysrKysrLS0tLS0KIDEgZmlsZSBjaGFu Z2VkLCAyMCBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9w YWNrZXQvYWZfcGFja2V0LmMgYi9uZXQvcGFja2V0L2FmX3BhY2tldC5jCmluZGV4IDliODE4MTNk ZDE2YS4uNTlkYTZmNWI3MTdkIDEwMDY0NAotLS0gYS9uZXQvcGFja2V0L2FmX3BhY2tldC5jCisr KyBiL25ldC9wYWNrZXQvYWZfcGFja2V0LmMKQEAgLTQ2MDMsMTQgKzQ2MDMsMjkgQEAgc3RhdGlj IHZvaWQgX19leGl0IHBhY2tldF9leGl0KHZvaWQpCiAKIHN0YXRpYyBpbnQgX19pbml0IHBhY2tl dF9pbml0KHZvaWQpCiB7Ci0JaW50IHJjID0gcHJvdG9fcmVnaXN0ZXIoJnBhY2tldF9wcm90bywg MCk7CisJaW50IHJjOwogCi0JaWYgKHJjICE9IDApCisJcmMgPSBwcm90b19yZWdpc3RlcigmcGFj a2V0X3Byb3RvLCAwKTsKKwlpZiAocmMpCiAJCWdvdG8gb3V0OworCXJjID0gc29ja19yZWdpc3Rl cigmcGFja2V0X2ZhbWlseV9vcHMpOworCWlmIChyYykKKwkJZ290byBvdXRfcHJvdG87CisJcmMg PSByZWdpc3Rlcl9wZXJuZXRfc3Vic3lzKCZwYWNrZXRfbmV0X29wcyk7CisJaWYgKHJjKQorCQln b3RvIG91dF9zb2NrOworCXJjID0gcmVnaXN0ZXJfbmV0ZGV2aWNlX25vdGlmaWVyKCZwYWNrZXRf bmV0ZGV2X25vdGlmaWVyKTsKKwlpZiAocmMpCisJCWdvdG8gb3V0X3Blcm5ldDsKIAotCXNvY2tf cmVnaXN0ZXIoJnBhY2tldF9mYW1pbHlfb3BzKTsKLQlyZWdpc3Rlcl9wZXJuZXRfc3Vic3lzKCZw YWNrZXRfbmV0X29wcyk7Ci0JcmVnaXN0ZXJfbmV0ZGV2aWNlX25vdGlmaWVyKCZwYWNrZXRfbmV0 ZGV2X25vdGlmaWVyKTsKKwlyZXR1cm4gMDsKKworb3V0X3Blcm5ldDoKKwl1bnJlZ2lzdGVyX3Bl cm5ldF9zdWJzeXMoJnBhY2tldF9uZXRfb3BzKTsKK291dF9zb2NrOgorCXNvY2tfdW5yZWdpc3Rl cihQRl9QQUNLRVQpOworb3V0X3Byb3RvOgorCXByb3RvX3VucmVnaXN0ZXIoJnBhY2tldF9wcm90 byk7CiBvdXQ6CiAJcmV0dXJuIHJjOwogfQotLSAKMi4yMC4xCgoKRnJvbSAxNDgwMTFmMWEzZmZh NGVkZDM1Mjg3ZDEwOTdiODUxYWJmZTkzZDgwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiBQYW9sbyBBYmVuaSA8cGFiZW5pQHJlZGhhdC5jb20+CkRhdGU6IFdlZCwgOCBNYXkgMjAxOSAx NTozMjo1MSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMTIvMjNdIHNlbGludXg6IGRvIG5vdCByZXBv cnQgZXJyb3Igb24gY29ubmVjdChBRl9VTlNQRUMpCgpbIFVwc3RyZWFtIGNvbW1pdCBjN2UwZDZj Y2E4NjU4MTA5MmNiYmYyY2Q4NjhiMzYwMTQ5NTU1NGNmIF0KCmNhbGxpbmcgY29ubmVjdChBRl9V TlNQRUMpIG9uIGFuIGFscmVhZHkgY29ubmVjdGVkIFRDUCBzb2NrZXQgaXMgYW4KZXN0YWJsaXNo ZWQgd2F5IHRvIGRpc2Nvbm5lY3QoKSBzdWNoIHNvY2tldC4gQWZ0ZXIgY29tbWl0IDY4NzQxYThh ZGFiOQooInNlbGludXg6IEZpeCBsdHAgdGVzdCBjb25uZWN0LXN5c2NhbGwgZmFpbHVyZSIpIGl0 IG5vIGxvbmdlciB3b3JrcwphbmQsIGluIHRoZSBhYm92ZSBzY2VuYXJpbyBjb25uZWN0KCkgZmFp bHMgd2l0aCBFQUZOT1NVUFBPUlQuCgpGaXggdGhlIGFib3ZlIGZhbGxpbmcgYmFjayB0byB0aGUg Z2VuZXJpYy9vbGQgY29kZSB3aGVuIHRoZSBhZGRyZXNzIGZhbWlseQppcyBub3QgQUZfSU5FVHs0 LDZ9LCBidXQgbGVhdmUgdGhlIFNDVFAgY29kZSBwYXRoIHVudG91Y2hlZCwgYXMgaXQgaGFzCnNw ZWNpZmljIGNvbnN0cmFpbnRzLgoKRml4ZXM6IDY4NzQxYThhZGFiOSAoInNlbGludXg6IEZpeCBs dHAgdGVzdCBjb25uZWN0LXN5c2NhbGwgZmFpbHVyZSIpClJlcG9ydGVkLWJ5OiBUb20gRGVzZXlu IDx0ZGVzZXluQHJlZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IFBhb2xvIEFiZW5pIDxwYWJlbmlA cmVkaGF0LmNvbT4KUmV2aWV3ZWQtYnk6IE1hcmNlbG8gUmljYXJkbyBMZWl0bmVyIDxtYXJjZWxv LmxlaXRuZXJAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVt QGRhdmVtbG9mdC5uZXQ+Ci0tLQogc2VjdXJpdHkvc2VsaW51eC9ob29rcy5jIHwgOCArKysrLS0t LQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9zZWN1cml0eS9zZWxpbnV4L2hvb2tzLmMgYi9zZWN1cml0eS9zZWxpbnV4L2hvb2tz LmMKaW5kZXggMWQwYjM3YWYyNDQ0Li4yOGJmZjMwYzJmMTUgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5 L3NlbGludXgvaG9va3MuYworKysgYi9zZWN1cml0eS9zZWxpbnV4L2hvb2tzLmMKQEAgLTQ1NzIs NyArNDU3Miw3IEBAIHN0YXRpYyBpbnQgc2VsaW51eF9zb2NrZXRfY29ubmVjdF9oZWxwZXIoc3Ry dWN0IHNvY2tldCAqc29jaywKIAkJc3RydWN0IGxzbV9uZXR3b3JrX2F1ZGl0IG5ldCA9IHswLH07 CiAJCXN0cnVjdCBzb2NrYWRkcl9pbiAqYWRkcjQgPSBOVUxMOwogCQlzdHJ1Y3Qgc29ja2FkZHJf aW42ICphZGRyNiA9IE5VTEw7Ci0JCXVuc2lnbmVkIHNob3J0IHNudW07CisJCXVuc2lnbmVkIHNo b3J0IHNudW0gPSAwOwogCQl1MzIgc2lkLCBwZXJtOwogCiAJCS8qIHNjdHBfY29ubmVjdHgoMykg Y2FsbHMgdmlhIHNlbGludXhfc2N0cF9iaW5kX2Nvbm5lY3QoKQpAQCAtNDU5NSwxMiArNDU5NSwx MiBAQCBzdGF0aWMgaW50IHNlbGludXhfc29ja2V0X2Nvbm5lY3RfaGVscGVyKHN0cnVjdCBzb2Nr ZXQgKnNvY2ssCiAJCQlicmVhazsKIAkJZGVmYXVsdDoKIAkJCS8qIE5vdGUgdGhhdCBTQ1RQIHNl cnZpY2VzIGV4cGVjdCAtRUlOVkFMLCB3aGVyZWFzCi0JCQkgKiBvdGhlcnMgZXhwZWN0IC1FQUZO T1NVUFBPUlQuCisJCQkgKiBvdGhlcnMgbXVzdCBoYW5kbGUgdGhpcyBhdCB0aGUgcHJvdG9jb2wg bGV2ZWw6CisJCQkgKiBjb25uZWN0KEFGX1VOU1BFQykgb24gYSBjb25uZWN0ZWQgc29ja2V0IGlz CisJCQkgKiBhIGRvY3VtZW50ZWQgd2F5IGRpc2Nvbm5lY3QgdGhlIHNvY2tldC4KIAkJCSAqLwog CQkJaWYgKHNrc2VjLT5zY2xhc3MgPT0gU0VDQ0xBU1NfU0NUUF9TT0NLRVQpCiAJCQkJcmV0dXJu IC1FSU5WQUw7Ci0JCQllbHNlCi0JCQkJcmV0dXJuIC1FQUZOT1NVUFBPUlQ7CiAJCX0KIAogCQll cnIgPSBzZWxfbmV0cG9ydF9zaWQoc2stPnNrX3Byb3RvY29sLCBzbnVtLCAmc2lkKTsKLS0gCjIu MjAuMQoKCkZyb20gYzUwOTViNjI5M2UwZmEyMzg1NmMxMzFiNzcxNzEwN2UyYjM4MmI2ZSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogUGFydGhhc2FyYXRoeSBCaHV2YXJhZ2FuIDxwYXJ0 aGFzYXJhdGh5LmJodXZhcmFnYW5AZ21haWwuY29tPgpEYXRlOiBUaHUsIDkgTWF5IDIwMTkgMDc6 MTM6NDIgKzAyMDAKU3ViamVjdDogW1BBVENIIDEzLzIzXSB0aXBjOiBmaXggaGFuZ2luZyBjbGll bnRzIHVzaW5nIHBvbGwgd2l0aCBFUE9MTE9VVCBmbGFnCgpbIFVwc3RyZWFtIGNvbW1pdCBmZjk0 NjgzM2I3MGUwYzdmOTNkZTlhM2Y1YjMyOWI1YWUyMjg3YjM4IF0KCmNvbW1pdCA1MTdkN2M3OWJk YjM5OCAoInRpcGM6IGZpeCBoYW5naW5nIHBvbGwoKSBmb3Igc3RyZWFtIHNvY2tldHMiKQppbnRy b2R1Y2VkIGEgcmVncmVzc2lvbiBmb3IgY2xpZW50cyB1c2luZyBub24tYmxvY2tpbmcgc29ja2V0 cy4KQWZ0ZXIgdGhlIGNvbW1pdCwgd2Ugc2VuZCBFUE9MTE9VVCBldmVudCB0byB0aGUgY2xpZW50 IGV2ZW4gaW4KVElQQ19DT05ORUNUSU5HIHN0YXRlLiBUaGlzIGNhdXNlcyB0aGUgc3Vic2VxdWVu dCBzZW5kKCkgdG8gZmFpbAp3aXRoIEVOT1RDT05OLCBhcyB0aGUgc29ja2V0IGlzIHN0aWxsIG5v dCBpbiBUSVBDX0VTVEFCTElTSEVEIHN0YXRlLgoKSW4gdGhpcyBjb21taXQsIHdlOgotIGltcHJv dmUgdGhlIGZpeCBmb3IgaGFuZ2luZyBwb2xsKCkgYnkgcmVwbGFjaW5nIHNrX2RhdGFfcmVhZHko KQogIHdpdGggc2tfc3RhdGVfY2hhbmdlKCkgdG8gd2FrZSB1cCBhbGwgY2xpZW50cy4KLSByZXZl cnQgdGhlIGZhdWx0eSB1cGRhdGVzIGludHJvZHVjZWQgYnkgY29tbWl0IDUxN2Q3Yzc5YmRiMzk4 CiAgKCJ0aXBjOiBmaXggaGFuZ2luZyBwb2xsKCkgZm9yIHN0cmVhbSBzb2NrZXRzIikuCgpGaXhl czogNTE3ZDdjNzliZGIzOTggKCJ0aXBjOiBmaXggaGFuZ2luZyBwb2xsKCkgZm9yIHN0cmVhbSBz b2NrZXRzIikKU2lnbmVkLW9mZi1ieTogUGFydGhhc2FyYXRoeSBCaHV2YXJhZ2FuIDxwYXJ0aGFz YXJhdGh5LmJodXZhcmFnYW5AZ21haWwuY29tPgpBY2tlZC1ieTogSm9uIE1hbG95IDxqb24ubWFs b3lAZXJpY3Nzb24uc2U+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2 ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvdGlwYy9zb2NrZXQuYyB8IDQgKystLQogMSBmaWxlIGNoYW5n ZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvdGlw Yy9zb2NrZXQuYyBiL25ldC90aXBjL3NvY2tldC5jCmluZGV4IGI1NDJmMTRlZDQ0NC4uMjg1MTkz N2Y2ZTMyIDEwMDY0NAotLS0gYS9uZXQvdGlwYy9zb2NrZXQuYworKysgYi9uZXQvdGlwYy9zb2Nr ZXQuYwpAQCAtNzM0LDExICs3MzQsMTEgQEAgc3RhdGljIF9fcG9sbF90IHRpcGNfcG9sbChzdHJ1 Y3QgZmlsZSAqZmlsZSwgc3RydWN0IHNvY2tldCAqc29jaywKIAogCXN3aXRjaCAoc2stPnNrX3N0 YXRlKSB7CiAJY2FzZSBUSVBDX0VTVEFCTElTSEVEOgotCWNhc2UgVElQQ19DT05ORUNUSU5HOgog CQlpZiAoIXRzay0+Y29uZ19saW5rX2NudCAmJiAhdHNrX2Nvbm5fY29uZyh0c2spKQogCQkJcmV2 ZW50cyB8PSBFUE9MTE9VVDsKIAkJLyogZmFsbCB0aHJvdWdoICovCiAJY2FzZSBUSVBDX0xJU1RF TjoKKwljYXNlIFRJUENfQ09OTkVDVElORzoKIAkJaWYgKCFza2JfcXVldWVfZW1wdHkoJnNrLT5z a19yZWNlaXZlX3F1ZXVlKSkKIAkJCXJldmVudHMgfD0gRVBPTExJTiB8IEVQT0xMUkROT1JNOwog CQlicmVhazsKQEAgLTIwNDEsNyArMjA0MSw3IEBAIHN0YXRpYyBib29sIHRpcGNfc2tfZmlsdGVy X2Nvbm5lY3Qoc3RydWN0IHRpcGNfc29jayAqdHNrLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQogCQkJ aWYgKG1zZ19kYXRhX3N6KGhkcikpCiAJCQkJcmV0dXJuIHRydWU7CiAJCQkvKiBFbXB0eSBBQ0st LCAtIHdha2UgdXAgc2xlZXBpbmcgY29ubmVjdCgpIGFuZCBkcm9wICovCi0JCQlzay0+c2tfZGF0 YV9yZWFkeShzayk7CisJCQlzay0+c2tfc3RhdGVfY2hhbmdlKHNrKTsKIAkJCW1zZ19zZXRfZGVz dF9kcm9wcGFibGUoaGRyLCAxKTsKIAkJCXJldHVybiBmYWxzZTsKIAkJfQotLSAKMi4yMC4xCgoK RnJvbSBiMzY4MmQyMjNmN2JlYWJkMGE4ZjVjYjEzOTlhZTliNDJjOTljNzY0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBIYW5nYmluIExpdSA8bGl1aGFuZ2JpbkBnbWFpbC5jb20+CkRh dGU6IFRodSwgOSBNYXkgMjAxOSAxNDo1NTowNyArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMTQvMjNd IHZsYW46IGRpc2FibGUgU0lPQ1NIV1RTVEFNUCBpbiBjb250YWluZXIKClsgVXBzdHJlYW0gY29t bWl0IDg3MzAxN2FmNzc4NDM5ZjJmOGUzZDg3ZjI4ZGRiMWZjYWYyNDRhNzYgXQoKV2l0aCBORVRf QURNSU4gZW5hYmxlZCBpbiBjb250YWluZXIsIGEgbm9ybWFsIHVzZXIgY291bGQgYmUgbWFwcGVk IHRvCnJvb3QgYW5kIGlzIGFibGUgdG8gY2hhbmdlIHRoZSByZWFsIGRldmljZSdzIHJ4IGZpbHRl ciB2aWEgaW9jdGwgb24Kdmxhbiwgd2hpY2ggd291bGQgYWZmZWN0IHRoZSBvdGhlciBwdHAgcHJv Y2VzcyBvbiBob3N0LiBGaXggaXQgYnkKZGlzYWJsaW5nIFNJT0NTSFdUU1RBTVAgaW4gY29udGFp bmVyLgoKRml4ZXM6IGE2MTExZDNjOTNkMCAoInZsYW46IFBhc3MgU0lPQ1tTR11IV1RTVEFNUCBp b2N0bHMgdG8gcmVhbCBkZXZpY2UiKQpTaWduZWQtb2ZmLWJ5OiBIYW5nYmluIExpdSA8bGl1aGFu Z2JpbkBnbWFpbC5jb20+CkFja2VkLWJ5OiBSaWNoYXJkIENvY2hyYW4gPHJpY2hhcmRjb2NocmFu QGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxv ZnQubmV0PgotLS0KIG5ldC84MDIxcS92bGFuX2Rldi5jIHwgNCArKystCiAxIGZpbGUgY2hhbmdl ZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbmV0LzgwMjFx L3ZsYW5fZGV2LmMgYi9uZXQvODAyMXEvdmxhbl9kZXYuYwppbmRleCA4ZDc3YjZlZTQ0NzcuLmVi OThiZTIzNDIzZSAxMDA2NDQKLS0tIGEvbmV0LzgwMjFxL3ZsYW5fZGV2LmMKKysrIGIvbmV0Lzgw MjFxL3ZsYW5fZGV2LmMKQEAgLTM2NywxMCArMzY3LDEyIEBAIHN0YXRpYyBpbnQgdmxhbl9kZXZf aW9jdGwoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgc3RydWN0IGlmcmVxICppZnIsIGludCBjbWQp CiAJaWZyci5pZnJfaWZydSA9IGlmci0+aWZyX2lmcnU7CiAKIAlzd2l0Y2ggKGNtZCkgeworCWNh c2UgU0lPQ1NIV1RTVEFNUDoKKwkJaWYgKCFuZXRfZXEoZGV2X25ldChkZXYpLCAmaW5pdF9uZXQp KQorCQkJYnJlYWs7CiAJY2FzZSBTSU9DR01JSVBIWToKIAljYXNlIFNJT0NHTUlJUkVHOgogCWNh c2UgU0lPQ1NNSUlSRUc6Ci0JY2FzZSBTSU9DU0hXVFNUQU1QOgogCWNhc2UgU0lPQ0dIV1RTVEFN UDoKIAkJaWYgKG5ldGlmX2RldmljZV9wcmVzZW50KHJlYWxfZGV2KSAmJiBvcHMtPm5kb19kb19p b2N0bCkKIAkJCWVyciA9IG9wcy0+bmRvX2RvX2lvY3RsKHJlYWxfZGV2LCAmaWZyciwgY21kKTsK LS0gCjIuMjAuMQoKCkZyb20gNGQ3MTVhZmIyYmU1MWI5NTViMjFlOGMwNjNkNjMwNzM3MzM5YjBl NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogU3RlcGhlbiBTdXJ5YXB1dHJhIDxzc3Vy eWFleHRyQGdtYWlsLmNvbT4KRGF0ZTogTW9uLCA2IE1heSAyMDE5IDE1OjAwOjAxIC0wNDAwClN1 YmplY3Q6IFtQQVRDSCAxNS8yM10gdnJmOiBzaXQgbXR1IHNob3VsZCBub3QgYmUgdXBkYXRlZCB3 aGVuIHZyZiBuZXRkZXYgaXMKIHRoZSBsaW5rCgpbIFVwc3RyZWFtIGNvbW1pdCBmZjZhYjMyYmQ0 ZTA3Mzk3NmU0ZDg3OTdiNGQ1MTRhMTcyY2ZlNmNiIF0KClZSRiBuZXRkZXYgbXR1IGlzbid0IHR5 cGljYWxseSBzZXQgYW5kIGhhdmUgYW4gbXR1IG9mIDY1NTM2LiBXaGVuIHRoZQpsaW5rIG9mIGEg dHVubmVsIGlzIHNldCwgdGhlIHR1bm5lbCBtdHUgaXMgY2hhbmdlZCBmcm9tIDE0ODAgdG8gdGhl IGxpbmsKbXR1IG1pbnVzIHR1bm5lbCBoZWFkZXIuIEluIHRoZSBjYXNlIG9mIFZSRiBuZXRkZXYg aXMgdGhlIGxpbmssIHRoZW4gdGhlCnR1bm5lbCBtdHUgYmVjb21lcyA2NTUxNi4gU28sIGZpeCBp dCBieSBub3Qgc2V0dGluZyB0aGUgdHVubmVsIG10dSBpbgp0aGlzIGNhc2UuCgpTaWduZWQtb2Zm LWJ5OiBTdGVwaGVuIFN1cnlhcHV0cmEgPHNzdXJ5YWV4dHJAZ21haWwuY29tPgpSZXZpZXdlZC1i eTogRGF2aWQgQWhlcm4gPGRzYWhlcm5AZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBT LiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjYvc2l0LmMgfCAyICst CiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1n aXQgYS9uZXQvaXB2Ni9zaXQuYyBiL25ldC9pcHY2L3NpdC5jCmluZGV4IGIyMTA5Yjc0ODU3ZC4u OTcxZDYwYmY5NjQwIDEwMDY0NAotLS0gYS9uZXQvaXB2Ni9zaXQuYworKysgYi9uZXQvaXB2Ni9z aXQuYwpAQCAtMTA4NCw3ICsxMDg0LDcgQEAgc3RhdGljIHZvaWQgaXBpcDZfdHVubmVsX2JpbmRf ZGV2KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpCiAJaWYgKCF0ZGV2ICYmIHR1bm5lbC0+cGFybXMu bGluaykKIAkJdGRldiA9IF9fZGV2X2dldF9ieV9pbmRleCh0dW5uZWwtPm5ldCwgdHVubmVsLT5w YXJtcy5saW5rKTsKIAotCWlmICh0ZGV2KSB7CisJaWYgKHRkZXYgJiYgIW5ldGlmX2lzX2wzX21h c3Rlcih0ZGV2KSkgewogCQlpbnQgdF9obGVuID0gdHVubmVsLT5obGVuICsgc2l6ZW9mKHN0cnVj dCBpcGhkcik7CiAKIAkJZGV2LT5oYXJkX2hlYWRlcl9sZW4gPSB0ZGV2LT5oYXJkX2hlYWRlcl9s ZW4gKyBzaXplb2Yoc3RydWN0IGlwaGRyKTsKLS0gCjIuMjAuMQoKCkZyb20gYTNjYzkyM2ZhMjgy NWFmOWFjOTFkMjMyYjE0ZGUzMjM0ODVkZmIwZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogT2xpdmVyIE5ldWt1bSA8b25ldWt1bUBzdXNlLmNvbT4KRGF0ZTogVGh1LCA5IE1heSAyMDE5 IDExOjA4OjE2ICswMjAwClN1YmplY3Q6IFtQQVRDSCAxNi8yM10gYXFjMTExOiBmaXggZW5kaWFu bmVzcyBpc3N1ZSBpbiBhcWMxMTFfY2hhbmdlX210dQoKWyBVcHN0cmVhbSBjb21taXQgYjhiMjc3 NTI1ZTlkZjJmZDJkYzNkMWY0ZmUwMWM2Nzk2YmIxMDdmYyBdCgpJZiB0aGUgTVRVIGlzIGxhcmdl IGVub3VnaCwgdGhlIGZpcnN0IHdyaXRlIHRvIHRoZSBkZXZpY2UKaXMganVzdCByZXBlYXRlZC4g T24gQkUgYXJjaGl0ZWN0dXJlcywgaG93ZXZlciwgdGhlIGZpcnN0CndvcmQgb2YgdGhlIGNvbW1h bmQgd2lsbCBiZSBzd2FwcGVkIGEgc2Vjb25kIHRpbWUgYW5kIGdhcmJhZ2UKd2lsbCBiZSB3cml0 dGVuLiBBdm9pZCB0aGF0LgoKU2lnbmVkLW9mZi1ieTogT2xpdmVyIE5ldWt1bSA8b25ldWt1bUBz dXNlLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQu bmV0PgotLS0KIGRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYyB8IDIgKysKIDEgZmlsZSBjaGFuZ2Vk LCAyIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC91c2IvYXFjMTExLmMg Yi9kcml2ZXJzL25ldC91c2IvYXFjMTExLmMKaW5kZXggYWZmOTk1YmUyYTMxLi40MDhkZjJkMzM1 ZTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYworKysgYi9kcml2ZXJzL25l dC91c2IvYXFjMTExLmMKQEAgLTQ1Myw2ICs0NTMsOCBAQCBzdGF0aWMgaW50IGFxYzExMV9jaGFu Z2VfbXR1KHN0cnVjdCBuZXRfZGV2aWNlICpuZXQsIGludCBuZXdfbXR1KQogCQlyZWcxNiA9IDB4 MTQyMDsKIAllbHNlIGlmIChkZXYtPm5ldC0+bXR1IDw9IDE2MzM0KQogCQlyZWcxNiA9IDB4MUEy MDsKKwllbHNlCisJCXJldHVybiAwOwogCiAJYXFjMTExX3dyaXRlMTZfY21kKGRldiwgQVFfQUND RVNTX01BQywgU0ZSX1BBVVNFX1dBVEVSTFZMX0xPVywKIAkJCSAgIDIsICZyZWcxNik7Ci0tIAoy LjIwLjEKCgpGcm9tIGJkNDBmN2EzZGM2M2E1NGUyNmU5OTRmMzhmYThkNjE1MjFkMDMxMjkgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE9saXZlciBOZXVrdW0gPG9uZXVrdW1Ac3VzZS5j b20+CkRhdGU6IFRodSwgOSBNYXkgMjAxOSAxMTowODoxNyArMDIwMApTdWJqZWN0OiBbUEFUQ0gg MTcvMjNdIGFxYzExMTogZml4IHdyaXRpbmcgdG8gdGhlIHBoeSBvbiBCRQoKWyBVcHN0cmVhbSBj b21taXQgMzY5YjQ2ZTlmYmNmYTUxMzZmMmNiNWY0ODZjOTBlNWY3ZmE5MjYzMCBdCgpXaGVuIHdy aXRpbmcgdG8gdGhlIHBoeSBvbiBCRSBhcmNoaXRlY3R1cmVzIGFuIGludGVybmFsIGRhdGEgc3Ry dWN0dXJlCndhcyBkaXJlY3RseSBnaXZlbiwgbGVhZGluZyB0byBpdCBiZWluZyBieXRlIHN3YXBw ZWQgaW4gdGhlIHdyb25nCndheSBmb3IgdGhlIENQVSBpbiA1MCUgb2YgYWxsIGNhc2VzLiBBIHRl bXBvcmFyeSBidWZmZXIgbXVzdCBiZSB1c2VkLgoKU2lnbmVkLW9mZi1ieTogT2xpdmVyIE5ldWt1 bSA8b25ldWt1bUBzdXNlLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZl bUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYyB8IDIzICsrKysr KysrKysrKysrKysrLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwgNiBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC91c2IvYXFjMTExLmMgYi9kcml2 ZXJzL25ldC91c2IvYXFjMTExLmMKaW5kZXggNDA4ZGYyZDMzNWUzLi41OTlkNTYwYTg0NTAgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYworKysgYi9kcml2ZXJzL25ldC91c2Iv YXFjMTExLmMKQEAgLTMyMCw2ICszMjAsNyBAQCBzdGF0aWMgaW50IGFxYzExMV9nZXRfbGlua19r c2V0dGluZ3Moc3RydWN0IG5ldF9kZXZpY2UgKm5ldCwKIHN0YXRpYyB2b2lkIGFxYzExMV9zZXRf cGh5X3NwZWVkKHN0cnVjdCB1c2JuZXQgKmRldiwgdTggYXV0b25lZywgdTE2IHNwZWVkKQogewog CXN0cnVjdCBhcWMxMTFfZGF0YSAqYXFjMTExX2RhdGEgPSBkZXYtPmRyaXZlcl9wcml2OworCXUz MiBwaHlfb25fdGhlX3dpcmU7CiAKIAlhcWMxMTFfZGF0YS0+cGh5X2NmZyAmPSB+QVFfQURWX01B U0s7CiAJYXFjMTExX2RhdGEtPnBoeV9jZmcgfD0gQVFfUEFVU0U7CkBAIC0zNjEsNyArMzYyLDgg QEAgc3RhdGljIHZvaWQgYXFjMTExX3NldF9waHlfc3BlZWQoc3RydWN0IHVzYm5ldCAqZGV2LCB1 OCBhdXRvbmVnLCB1MTYgc3BlZWQpCiAJCX0KIAl9CiAKLQlhcWMxMTFfd3JpdGUzMl9jbWQoZGV2 LCBBUV9QSFlfT1BTLCAwLCAwLCAmYXFjMTExX2RhdGEtPnBoeV9jZmcpOworCXBoeV9vbl90aGVf d2lyZSA9IGFxYzExMV9kYXRhLT5waHlfY2ZnOworCWFxYzExMV93cml0ZTMyX2NtZChkZXYsIEFR X1BIWV9PUFMsIDAsIDAsICZwaHlfb25fdGhlX3dpcmUpOwogfQogCiBzdGF0aWMgaW50IGFxYzEx MV9zZXRfbGlua19rc2V0dGluZ3Moc3RydWN0IG5ldF9kZXZpY2UgKm5ldCwKQEAgLTc1NSw2ICs3 NTcsNyBAQCBzdGF0aWMgdm9pZCBhcWMxMTFfdW5iaW5kKHN0cnVjdCB1c2JuZXQgKmRldiwgc3Ry dWN0IHVzYl9pbnRlcmZhY2UgKmludGYpCiB7CiAJc3RydWN0IGFxYzExMV9kYXRhICphcWMxMTFf ZGF0YSA9IGRldi0+ZHJpdmVyX3ByaXY7CiAJdTE2IHJlZzE2OworCXUzMiBwaHlfb25fdGhlX3dp cmU7CiAKIAkvKiBGb3JjZSBieiAqLwogCXJlZzE2ID0gU0ZSX1BIWVBXUl9SU1RDVExfQlo7CkBA IC03NjgsOCArNzcxLDkgQEAgc3RhdGljIHZvaWQgYXFjMTExX3VuYmluZChzdHJ1Y3QgdXNibmV0 ICpkZXYsIHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmKQogCWFxYzExMV9kYXRhLT5waHlfY2Zn ICY9IH5BUV9BRFZfTUFTSzsKIAlhcWMxMTFfZGF0YS0+cGh5X2NmZyB8PSBBUV9MT1dfUE9XRVI7 CiAJYXFjMTExX2RhdGEtPnBoeV9jZmcgJj0gfkFRX1BIWV9QT1dFUl9FTjsKKwlwaHlfb25fdGhl X3dpcmUgPSBhcWMxMTFfZGF0YS0+cGh5X2NmZzsKIAlhcWMxMTFfd3JpdGUzMl9jbWRfbm9wbShk ZXYsIEFRX1BIWV9PUFMsIDAsIDAsCi0JCQkJJmFxYzExMV9kYXRhLT5waHlfY2ZnKTsKKwkJCQkm cGh5X29uX3RoZV93aXJlKTsKIAogCWtmcmVlKGFxYzExMV9kYXRhKTsKIH0KQEAgLTk5Miw2ICs5 OTYsNyBAQCBzdGF0aWMgaW50IGFxYzExMV9yZXNldChzdHJ1Y3QgdXNibmV0ICpkZXYpCiB7CiAJ c3RydWN0IGFxYzExMV9kYXRhICphcWMxMTFfZGF0YSA9IGRldi0+ZHJpdmVyX3ByaXY7CiAJdTgg cmVnOCA9IDA7CisJdTMyIHBoeV9vbl90aGVfd2lyZTsKIAogCWRldi0+cnhfdXJiX3NpemUgPSBV UkJfU0laRTsKIApAQCAtMTAwNCw4ICsxMDA5LDkgQEAgc3RhdGljIGludCBhcWMxMTFfcmVzZXQo c3RydWN0IHVzYm5ldCAqZGV2KQogCiAJLyogUG93ZXIgdXAgZXRoZXJuZXQgUEhZICovCiAJYXFj MTExX2RhdGEtPnBoeV9jZmcgPSBBUV9QSFlfUE9XRVJfRU47CisJcGh5X29uX3RoZV93aXJlID0g YXFjMTExX2RhdGEtPnBoeV9jZmc7CiAJYXFjMTExX3dyaXRlMzJfY21kKGRldiwgQVFfUEhZX09Q UywgMCwgMCwKLQkJCSAgICZhcWMxMTFfZGF0YS0+cGh5X2NmZyk7CisJCQkgICAmcGh5X29uX3Ro ZV93aXJlKTsKIAogCS8qIFNldCB0aGUgTUFDIGFkZHJlc3MgKi8KIAlhcWMxMTFfd3JpdGVfY21k KGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX05PREVfSUQsIEVUSF9BTEVOLApAQCAtMTAzNiw2ICsx MDQyLDcgQEAgc3RhdGljIGludCBhcWMxMTFfc3RvcChzdHJ1Y3QgdXNibmV0ICpkZXYpCiB7CiAJ c3RydWN0IGFxYzExMV9kYXRhICphcWMxMTFfZGF0YSA9IGRldi0+ZHJpdmVyX3ByaXY7CiAJdTE2 IHJlZzE2ID0gMDsKKwl1MzIgcGh5X29uX3RoZV93aXJlOwogCiAJYXFjMTExX3JlYWQxNl9jbWQo ZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfTUVESVVNX1NUQVRVU19NT0RFLAogCQkJICAyLCAmcmVn MTYpOwpAQCAtMTA0Nyw4ICsxMDU0LDkgQEAgc3RhdGljIGludCBhcWMxMTFfc3RvcChzdHJ1Y3Qg dXNibmV0ICpkZXYpCiAKIAkvKiBQdXQgUEhZIHRvIGxvdyBwb3dlciovCiAJYXFjMTExX2RhdGEt PnBoeV9jZmcgfD0gQVFfTE9XX1BPV0VSOworCXBoeV9vbl90aGVfd2lyZSA9IGFxYzExMV9kYXRh LT5waHlfY2ZnOwogCWFxYzExMV93cml0ZTMyX2NtZChkZXYsIEFRX1BIWV9PUFMsIDAsIDAsCi0J CQkgICAmYXFjMTExX2RhdGEtPnBoeV9jZmcpOworCQkJICAgJnBoeV9vbl90aGVfd2lyZSk7CiAK IAluZXRpZl9jYXJyaWVyX29mZihkZXYtPm5ldCk7CiAKQEAgLTEzMjQsNiArMTMzMiw3IEBAIHN0 YXRpYyBpbnQgYXFjMTExX3N1c3BlbmQoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsIHBtX21l c3NhZ2VfdCBtZXNzYWdlKQogCXUxNiB0ZW1wX3J4X2N0cmwgPSAweDAwOwogCXUxNiByZWcxNjsK IAl1OCByZWc4OworCXUzMiBwaHlfb25fdGhlX3dpcmU7CiAKIAl1c2JuZXRfc3VzcGVuZChpbnRm LCBtZXNzYWdlKTsKIApAQCAtMTM5NSwxMiArMTQwNCwxNCBAQCBzdGF0aWMgaW50IGFxYzExMV9z dXNwZW5kKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLCBwbV9tZXNzYWdlX3QgbWVzc2FnZSkK IAogCQlhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfV09MX0NGRywgMCwgMCwKIAkJCQkgV09MX0NG R19TSVpFLCAmd29sX2NmZyk7CisJCXBoeV9vbl90aGVfd2lyZSA9IGFxYzExMV9kYXRhLT5waHlf Y2ZnOwogCQlhcWMxMTFfd3JpdGUzMl9jbWQoZGV2LCBBUV9QSFlfT1BTLCAwLCAwLAotCQkJCSAg ICZhcWMxMTFfZGF0YS0+cGh5X2NmZyk7CisJCQkJICAgJnBoeV9vbl90aGVfd2lyZSk7CiAJfSBl bHNlIHsKIAkJYXFjMTExX2RhdGEtPnBoeV9jZmcgfD0gQVFfTE9XX1BPV0VSOworCQlwaHlfb25f dGhlX3dpcmUgPSBhcWMxMTFfZGF0YS0+cGh5X2NmZzsKIAkJYXFjMTExX3dyaXRlMzJfY21kKGRl diwgQVFfUEhZX09QUywgMCwgMCwKLQkJCQkgICAmYXFjMTExX2RhdGEtPnBoeV9jZmcpOworCQkJ CSAgICZwaHlfb25fdGhlX3dpcmUpOwogCiAJCS8qIERpc2FibGUgUlggcGF0aCAqLwogCQlhcWMx MTFfcmVhZDE2X2NtZF9ub3BtKGRldiwgQVFfQUNDRVNTX01BQywKLS0gCjIuMjAuMQoKCkZyb20g OGNiN2Y0MmUzMmNiZmI4MGRhY2ViZjkyYTE0ODI0MjM5YzU3MGYwYSBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogT2xpdmVyIE5ldWt1bSA8b25ldWt1bUBzdXNlLmNvbT4KRGF0ZTogVGh1 LCA5IE1heSAyMDE5IDExOjA4OjE4ICswMjAwClN1YmplY3Q6IFtQQVRDSCAxOC8yM10gYXFjMTEx OiBmaXggZG91YmxlIGVuZGlhbm5lc3Mgc3dhcCBvbiBCRQoKWyBVcHN0cmVhbSBjb21taXQgMmNm NjcyNzA5YmViMDA1ZjZlOTBjYjRlZGJlZDZmMjIxOGJhOTUzZSBdCgpJZiB5b3UgYXJlIHVzaW5n IGEgZnVuY3Rpb24gdGhhdCBkb2VzIGEgc3dhcCBpbiBwbGFjZSwKeW91IGNhbm5vdCBqdXN0IHJl dXNlIHRoZSBidWZmZXIgb24gdGhlIGFzc3VtcHRpb24gdGhhdCBpdCBoYXMKbm90IGJlZW4gY2hh bmdlZC4KClNpZ25lZC1vZmYtYnk6IE9saXZlciBOZXVrdW0gPG9uZXVrdW1Ac3VzZS5jb20+ClNp Z25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBk cml2ZXJzL25ldC91c2IvYXFjMTExLmMgfCA2ICsrKystLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5z ZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC91c2Iv YXFjMTExLmMgYi9kcml2ZXJzL25ldC91c2IvYXFjMTExLmMKaW5kZXggNTk5ZDU2MGE4NDUwLi5i ODZjNWNlOWE5MmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYworKysgYi9k cml2ZXJzL25ldC91c2IvYXFjMTExLmMKQEAgLTE0MjgsNyArMTQyOCw3IEBAIHN0YXRpYyBpbnQg YXFjMTExX3Jlc3VtZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZikKIHsKIAlzdHJ1Y3QgdXNi bmV0ICpkZXYgPSB1c2JfZ2V0X2ludGZkYXRhKGludGYpOwogCXN0cnVjdCBhcWMxMTFfZGF0YSAq YXFjMTExX2RhdGEgPSBkZXYtPmRyaXZlcl9wcml2OwotCXUxNiByZWcxNjsKKwl1MTYgcmVnMTYs IG9sZHJlZzE2OwogCXU4IHJlZzg7CiAKIAluZXRpZl9jYXJyaWVyX29mZihkZXYtPm5ldCk7CkBA IC0xNDQ0LDkgKzE0NDQsMTEgQEAgc3RhdGljIGludCBhcWMxMTFfcmVzdW1lKHN0cnVjdCB1c2Jf aW50ZXJmYWNlICppbnRmKQogCS8qIENvbmZpZ3VyZSBSWCBjb250cm9sIHJlZ2lzdGVyID0+IHN0 YXJ0IG9wZXJhdGlvbiAqLwogCXJlZzE2ID0gYXFjMTExX2RhdGEtPnJ4Y3RsOwogCXJlZzE2ICY9 IH5TRlJfUlhfQ1RMX1NUQVJUOworCS8qIG5lZWRzIHRvIGJlIHNhdmVkIGluIGNhc2UgZW5kaWFu bmVzcyBpcyBzd2FwcGVkICovCisJb2xkcmVnMTYgPSByZWcxNjsKIAlhcWMxMTFfd3JpdGUxNl9j bWRfbm9wbShkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9SWF9DVEwsIDIsICZyZWcxNik7CiAKLQly ZWcxNiB8PSBTRlJfUlhfQ1RMX1NUQVJUOworCXJlZzE2ID0gb2xkcmVnMTYgfCBTRlJfUlhfQ1RM X1NUQVJUOwogCWFxYzExMV93cml0ZTE2X2NtZF9ub3BtKGRldiwgQVFfQUNDRVNTX01BQywgU0ZS X1JYX0NUTCwgMiwgJnJlZzE2KTsKIAogCWFxYzExMV9zZXRfcGh5X3NwZWVkKGRldiwgYXFjMTEx X2RhdGEtPmF1dG9uZWcsCi0tIAoyLjIwLjEKCgpGcm9tIGI1ZDliZTVkNDAzYmY4YTEwM2QyMTM3 MzliMWY4NDdkNWI0NWE2N2QgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEphc29uIFdh bmcgPGphc293YW5nQHJlZGhhdC5jb20+CkRhdGU6IFdlZCwgOCBNYXkgMjAxOSAyMzoyMDoxNyAt MDQwMApTdWJqZWN0OiBbUEFUQ0ggMTkvMjNdIHR1bnRhcDogZml4IGRpdmlkaW5nIGJ5IHplcm8g aW4gZWJwZiBxdWV1ZSBzZWxlY3Rpb24KClsgVXBzdHJlYW0gY29tbWl0IGEzNWQzMTBmMDNhNjky YmY0Nzk4ZWIzMDlhMTk1MGEwNmExNTA2MjAgXQoKV2UgbmVlZCBjaGVjayBpZiB0dW4tPm51bXF1 ZXVlcyBpcyB6ZXJvIChlLmcgZm9yIHRoZSBwZXJzaXN0IGRldmljZSkKYmVmb3JlIHRyeWluZyB0 byB1c2UgaXQgZm9yIG1vZHVsYXIgYXJpdGhtZXRpYy4KClJlcG9ydGVkLWJ5OiBFcmljIER1bWF6 ZXQgPGVyaWMuZHVtYXpldEBnbWFpbC5jb20+CkZpeGVzOiA5NmY4NDA2MTYyMGM2KCJ0dW46IGFk ZCBlQlBGIGJhc2VkIHF1ZXVlIHNlbGVjdGlvbiBtZXRob2QiKQpTaWduZWQtb2ZmLWJ5OiBKYXNv biBXYW5nIDxqYXNvd2FuZ0ByZWRoYXQuY29tPgpSZXZpZXdlZC1ieTogRXJpYyBEdW1hemV0IDxl ZHVtYXpldEBnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVt QGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvdHVuLmMgfCA3ICsrKysrKy0KIDEgZmls ZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL25ldC90dW4uYyBiL2RyaXZlcnMvbmV0L3R1bi5jCmluZGV4IGU5Y2ExYzA4OGQwYi4u ZGM2MmZjM2M1YTk1IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC90dW4uYworKysgYi9kcml2ZXJz L25ldC90dW4uYwpAQCAtNTk2LDEzICs1OTYsMTggQEAgc3RhdGljIHUxNiB0dW5fYXV0b21xX3Nl bGVjdF9xdWV1ZShzdHJ1Y3QgdHVuX3N0cnVjdCAqdHVuLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQog c3RhdGljIHUxNiB0dW5fZWJwZl9zZWxlY3RfcXVldWUoc3RydWN0IHR1bl9zdHJ1Y3QgKnR1biwg c3RydWN0IHNrX2J1ZmYgKnNrYikKIHsKIAlzdHJ1Y3QgdHVuX3Byb2cgKnByb2c7CisJdTMyIG51 bXF1ZXVlczsKIAl1MTYgcmV0ID0gMDsKIAorCW51bXF1ZXVlcyA9IFJFQURfT05DRSh0dW4tPm51 bXF1ZXVlcyk7CisJaWYgKCFudW1xdWV1ZXMpCisJCXJldHVybiAwOworCiAJcHJvZyA9IHJjdV9k ZXJlZmVyZW5jZSh0dW4tPnN0ZWVyaW5nX3Byb2cpOwogCWlmIChwcm9nKQogCQlyZXQgPSBicGZf cHJvZ19ydW5fY2xlYXJfY2IocHJvZy0+cHJvZywgc2tiKTsKIAotCXJldHVybiByZXQgJSB0dW4t Pm51bXF1ZXVlczsKKwlyZXR1cm4gcmV0ICUgbnVtcXVldWVzOwogfQogCiBzdGF0aWMgdTE2IHR1 bl9zZWxlY3RfcXVldWUoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgc3RydWN0IHNrX2J1ZmYgKnNr YiwKLS0gCjIuMjAuMQoKCkZyb20gN2RlNzQwNzQ3MjE0NGFhMDI3MGI0ODgwNTRhZmRkNDEwYjEw ZWNlNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSmFzb24gV2FuZyA8amFzb3dhbmdA cmVkaGF0LmNvbT4KRGF0ZTogV2VkLCA4IE1heSAyMDE5IDIzOjIwOjE4IC0wNDAwClN1YmplY3Q6 IFtQQVRDSCAyMC8yM10gdHVudGFwOiBzeW5jaHJvbml6ZSB0aHJvdWdoIHRmaWxlcyBhcnJheSBp bnN0ZWFkIG9mCiB0dW4tPm51bXF1ZXVlcwoKWyBVcHN0cmVhbSBjb21taXQgOTg3MWE5ZTQ3YTI2 NDZmZTMwYWU3ZmQyZTY3NjY4YThkMzA5MTJmNiBdCgpXaGVuIGEgcXVldWUodGZpbGUpIGlzIGRl dGFjaGVkIHRocm91Z2ggX190dW5fZGV0YWNoKCksIHdlIG1vdmUgdGhlCmxhc3QgZW5hYmxlZCB0 ZmlsZSB0byB0aGUgcG9zaXRpb24gd2hlcmUgZGV0YWNoZWQgb25lIHNpdCBidXQgZG9uJ3QKTlVM TCBvdXQgbGFzdCBwb3NpdGlvbi4gV2UgZXhwZWN0IHRvIHN5bmNocm9uaXplIHRoZSBkYXRhcGF0 aCB0aHJvdWdoCnR1bi0+bnVtcXVldWVzLiBVbmZvcnR1bmF0ZWx5LCB0aGlzIHdvbid0IHdvcmsg c2luY2Ugd2UncmUgbGFja2luZwpzdWZmaWNpZW50IG1lY2hhbmlzbSB0byBvcmRlciBvciBzeW5j aHJvbml6ZSB0aGUgYWNjZXNzIHRvCnR1bi0+bnVtcXVldWVzLgoKVG8gZml4IHRoaXMsIE5VTEwg b3V0IHRoZSBsYXN0IHBvc2l0aW9uIGR1cmluZyBkZXRhY2hpbmcgYW5kIGNoZWNrClJDVSBwcm90 ZWN0ZWQgdGZpbGUgYWdhaW5zdCBOVUxMIGluc3RlYWQgb2YgY2hlY2tpbmcgdHVuLT5udW1xdWV1 ZXMgaW4KZGF0YXBhdGguCgpDYzogWXVlSGFpYmluZyA8eXVlaGFpYmluZ0BodWF3ZWkuY29tPgpD YzogQ29uZyBXYW5nIDx4aXlvdS53YW5nY29uZ0BnbWFpbC5jb20+CkNjOiB3ZWl5b25nanVuIChB KSA8d2VpeW9uZ2p1bjFAaHVhd2VpLmNvbT4KQ2M6IEVyaWMgRHVtYXpldCA8ZXJpYy5kdW1hemV0 QGdtYWlsLmNvbT4KRml4ZXM6IGM4ZDY4ZTZiZTFjM2IgKCJ0dW50YXA6IG11bHRpcXVldWUgc3Vw cG9ydCIpClNpZ25lZC1vZmYtYnk6IEphc29uIFdhbmcgPGphc293YW5nQHJlZGhhdC5jb20+ClJl dmlld2VkLWJ5OiBXZWkgWW9uZ2p1biA8d2VpeW9uZ2p1bjFAaHVhd2VpLmNvbT4KU2lnbmVkLW9m Zi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMv bmV0L3R1bi5jIHwgNyArKysrKystCiAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAx IGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdHVuLmMgYi9kcml2ZXJzL25l dC90dW4uYwppbmRleCBkYzYyZmMzYzVhOTUuLmY0YzkzM2FjNmVkZiAxMDA2NDQKLS0tIGEvZHJp dmVycy9uZXQvdHVuLmMKKysrIGIvZHJpdmVycy9uZXQvdHVuLmMKQEAgLTcwNSw2ICs3MDUsOCBA QCBzdGF0aWMgdm9pZCBfX3R1bl9kZXRhY2goc3RydWN0IHR1bl9maWxlICp0ZmlsZSwgYm9vbCBj bGVhbikKIAkJCQkgICB0dW4tPnRmaWxlc1t0dW4tPm51bXF1ZXVlcyAtIDFdKTsKIAkJbnRmaWxl ID0gcnRubF9kZXJlZmVyZW5jZSh0dW4tPnRmaWxlc1tpbmRleF0pOwogCQludGZpbGUtPnF1ZXVl X2luZGV4ID0gaW5kZXg7CisJCXJjdV9hc3NpZ25fcG9pbnRlcih0dW4tPnRmaWxlc1t0dW4tPm51 bXF1ZXVlcyAtIDFdLAorCQkJCSAgIE5VTEwpOwogCiAJCS0tdHVuLT5udW1xdWV1ZXM7CiAJCWlm IChjbGVhbikgewpAQCAtMTA4Nyw3ICsxMDg5LDcgQEAgc3RhdGljIG5ldGRldl90eF90IHR1bl9u ZXRfeG1pdChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KQogCXRm aWxlID0gcmN1X2RlcmVmZXJlbmNlKHR1bi0+dGZpbGVzW3R4cV0pOwogCiAJLyogRHJvcCBwYWNr ZXQgaWYgaW50ZXJmYWNlIGlzIG5vdCBhdHRhY2hlZCAqLwotCWlmICh0eHEgPj0gdHVuLT5udW1x dWV1ZXMpCisJaWYgKCF0ZmlsZSkKIAkJZ290byBkcm9wOwogCiAJaWYgKCFyY3VfZGVyZWZlcmVu Y2UodHVuLT5zdGVlcmluZ19wcm9nKSkKQEAgLTEzMTAsNiArMTMxMiw3IEBAIHN0YXRpYyBpbnQg dHVuX3hkcF94bWl0KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIGludCBuLAogCiAJcmN1X3JlYWRf bG9jaygpOwogCityZXNhbXBsZToKIAludW1xdWV1ZXMgPSBSRUFEX09OQ0UodHVuLT5udW1xdWV1 ZXMpOwogCWlmICghbnVtcXVldWVzKSB7CiAJCXJjdV9yZWFkX3VubG9jaygpOwpAQCAtMTMxOCw2 ICsxMzIxLDggQEAgc3RhdGljIGludCB0dW5feGRwX3htaXQoc3RydWN0IG5ldF9kZXZpY2UgKmRl diwgaW50IG4sCiAKIAl0ZmlsZSA9IHJjdV9kZXJlZmVyZW5jZSh0dW4tPnRmaWxlc1tzbXBfcHJv Y2Vzc29yX2lkKCkgJQogCQkJCQkgICAgbnVtcXVldWVzXSk7CisJaWYgKHVubGlrZWx5KCF0Zmls ZSkpCisJCWdvdG8gcmVzYW1wbGU7CiAKIAlzcGluX2xvY2soJnRmaWxlLT50eF9yaW5nLnByb2R1 Y2VyX2xvY2spOwogCWZvciAoaSA9IDA7IGkgPCBuOyBpKyspIHsKLS0gCjIuMjAuMQoKCkZyb20g NWEwM2ZmZWQ1OTk4ZGI0NDNlMjM2NGI4OGEwMWY2ZWZiM2FjNmJhNyBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogSGVpbmVyIEthbGx3ZWl0IDxoa2FsbHdlaXQxQGdtYWlsLmNvbT4KRGF0 ZTogV2VkLCAxIE1heSAyMDE5IDIxOjU0OjI4ICswMjAwClN1YmplY3Q6IFtQQVRDSCAyMS8yM10g bmV0OiBwaHk6IGZpeCBwaHlfdmFsaWRhdGVfcGF1c2UKClsgVXBzdHJlYW0gY29tbWl0IGI0MDEw YWY5ODFhYzhjZGYxZjdmNThlYjZiMTMxYzQ4MmU1ZGVlMDIgXQoKV2UgaGF2ZSB2YWxpZCBzY2Vu YXJpb3Mgd2hlcmUgRVRIVE9PTF9MSU5LX01PREVfUGF1c2VfQklUIGRvZXNuJ3QKbmVlZCB0byBi ZSBzdXBwb3J0ZWQuIFRoZXJlZm9yZSBleHRlbmQgdGhlIGZpcnN0IGNoZWNrIHRvIGNoZWNrCmZv ciByeF9wYXVzZSBiZWluZyBzZXQuCgpTZWUgYWxzbyBwaHlfc2V0X2FzeW1fcGF1c2U6CnJ4PTAg YW5kIHR4PTE6IGFkdmVydGlzZSBhc3ltIHBhdXNlIG9ubHkKcng9MCBhbmQgdHg9MDogc3RvcCBh ZHZlcnRpc2luZyBib3RoIHBhdXNlIG1vZGVzCgpUaGUgZml4ZWQgY29tbWl0IGlzbid0IHdyb25n LCBpdCdzIGp1c3QgdGhlIG9uZSB0aGF0IGludHJvZHVjZWQgdGhlCmxpbmttb2RlIGJpdG1hcHMu CgpGaXhlczogM2MxYmNjODYxNGRiICgibmV0OiBldGhlcm5ldDogQ29udmVydCBwaHlkZXYgYWR2 ZXJ0aXplIGFuZCBzdXBwb3J0ZWQgZnJvbSB1MzIgdG8gbGluayBtb2RlIikKU2lnbmVkLW9mZi1i eTogSGVpbmVyIEthbGx3ZWl0IDxoa2FsbHdlaXQxQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTog RGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L3Bo eS9waHlfZGV2aWNlLmMgfCAxMSArKysrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0 aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9waHkvcGh5 X2RldmljZS5jIGIvZHJpdmVycy9uZXQvcGh5L3BoeV9kZXZpY2UuYwppbmRleCA3NzA2OGM1NDVk ZTAuLmNkNTk2NmIwZGI1NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvcGh5L3BoeV9kZXZpY2Uu YworKysgYi9kcml2ZXJzL25ldC9waHkvcGh5X2RldmljZS5jCkBAIC0yMDQ0LDExICsyMDQ0LDE0 IEBAIGJvb2wgcGh5X3ZhbGlkYXRlX3BhdXNlKHN0cnVjdCBwaHlfZGV2aWNlICpwaHlkZXYsCiAJ CQlzdHJ1Y3QgZXRodG9vbF9wYXVzZXBhcmFtICpwcCkKIHsKIAlpZiAoIWxpbmttb2RlX3Rlc3Rf Yml0KEVUSFRPT0xfTElOS19NT0RFX1BhdXNlX0JJVCwKLQkJCSAgICAgICBwaHlkZXYtPnN1cHBv cnRlZCkgfHwKLQkgICAgKCFsaW5rbW9kZV90ZXN0X2JpdChFVEhUT09MX0xJTktfTU9ERV9Bc3lt X1BhdXNlX0JJVCwKLQkJCQlwaHlkZXYtPnN1cHBvcnRlZCkgJiYKLQkgICAgIHBwLT5yeF9wYXVz ZSAhPSBwcC0+dHhfcGF1c2UpKQorCQkJICAgICAgIHBoeWRldi0+c3VwcG9ydGVkKSAmJiBwcC0+ cnhfcGF1c2UpCiAJCXJldHVybiBmYWxzZTsKKworCWlmICghbGlua21vZGVfdGVzdF9iaXQoRVRI VE9PTF9MSU5LX01PREVfQXN5bV9QYXVzZV9CSVQsCisJCQkgICAgICAgcGh5ZGV2LT5zdXBwb3J0 ZWQpICYmCisJICAgIHBwLT5yeF9wYXVzZSAhPSBwcC0+dHhfcGF1c2UpCisJCXJldHVybiBmYWxz ZTsKKwogCXJldHVybiB0cnVlOwogfQogRVhQT1JUX1NZTUJPTChwaHlfdmFsaWRhdGVfcGF1c2Up OwotLSAKMi4yMC4xCgoKRnJvbSBlZWQ0ODIwZDQxZTY3MjUwY2ZmMDk1YmU3MjYxNjFkODc2NDEy MWNiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFcmljIER1bWF6ZXQgPGVkdW1hemV0 QGdvb2dsZS5jb20+CkRhdGU6IE1vbiwgMTMgTWF5IDIwMTkgMDk6Mzg6NTUgLTA3MDAKU3ViamVj dDogW1BBVENIIDIyLzIzXSBmbG93X2Rpc3NlY3RvcjogZGlzYWJsZSBwcmVlbXB0aW9uIGFyb3Vu ZCBCUEYgY2FsbHMKClsgVXBzdHJlYW0gY29tbWl0IGIxYzE3YTlhMzUzODc4NjAyZmQ1YmZlOTEw M2U0YWZlNWU5YTNmOTYgXQoKVmFyaW91cyB0aGluZ3MgaW4gZUJQRiByZWFsbHkgcmVxdWlyZSB1 cyB0byBkaXNhYmxlIHByZWVtcHRpb24KYmVmb3JlIHJ1bm5pbmcgYW4gZUJQRiBwcm9ncmFtLgoK c3l6Ym90IHJlcG9ydGVkIDoKCkJVRzogYXNzdW1pbmcgYXRvbWljIGNvbnRleHQgYXQgbmV0L2Nv cmUvZmxvd19kaXNzZWN0b3IuYzo3MzcKaW5fYXRvbWljKCk6IDAsIGlycXNfZGlzYWJsZWQoKTog MCwgcGlkOiAyNDcxMCwgbmFtZTogc3l6LWV4ZWN1dG9yLjMKMiBsb2NrcyBoZWxkIGJ5IHN5ei1l eGVjdXRvci4zLzI0NzEwOgogIzA6IDAwMDAwMDAwZTgxYTRiZjEgKCZ0ZmlsZS0+bmFwaV9tdXRl eCl7Ky4rLn0sIGF0OiB0dW5fZ2V0X3VzZXIrMHgxNjhlLzB4M2ZmMCBkcml2ZXJzL25ldC90dW4u YzoxODUwCiAjMTogMDAwMDAwMDAyNTRhZmViZCAocmN1X3JlYWRfbG9jayl7Li4uLn0sIGF0OiBf X3NrYl9mbG93X2Rpc3NlY3QrMHgxZTEvMHg0YmIwIG5ldC9jb3JlL2Zsb3dfZGlzc2VjdG9yLmM6 ODIyCkNQVTogMSBQSUQ6IDI0NzEwIENvbW06IHN5ei1leGVjdXRvci4zIE5vdCB0YWludGVkIDUu MS4wKyAjNgpIYXJkd2FyZSBuYW1lOiBHb29nbGUgR29vZ2xlIENvbXB1dGUgRW5naW5lL0dvb2ds ZSBDb21wdXRlIEVuZ2luZSwgQklPUyBHb29nbGUgMDEvMDEvMjAxMQpDYWxsIFRyYWNlOgogX19k dW1wX3N0YWNrIGxpYi9kdW1wX3N0YWNrLmM6NzcgW2lubGluZV0KIGR1bXBfc3RhY2srMHgxNzIv MHgxZjAgbGliL2R1bXBfc3RhY2suYzoxMTMKIF9fY2FudF9zbGVlcCBrZXJuZWwvc2NoZWQvY29y ZS5jOjYxNjUgW2lubGluZV0KIF9fY2FudF9zbGVlcC5jb2xkKzB4YTMvMHhiYiBrZXJuZWwvc2No ZWQvY29yZS5jOjYxNDIKIGJwZl9mbG93X2Rpc3NlY3QrMHhmZS8weDM5MCBuZXQvY29yZS9mbG93 X2Rpc3NlY3Rvci5jOjczNwogX19za2JfZmxvd19kaXNzZWN0KzB4MzYyLzB4NGJiMCBuZXQvY29y ZS9mbG93X2Rpc3NlY3Rvci5jOjg1Mwogc2tiX2Zsb3dfZGlzc2VjdF9mbG93X2tleXNfYmFzaWMg aW5jbHVkZS9saW51eC9za2J1ZmYuaDoxMzIyIFtpbmxpbmVdCiBza2JfcHJvYmVfdHJhbnNwb3J0 X2hlYWRlciBpbmNsdWRlL2xpbnV4L3NrYnVmZi5oOjI1MDAgW2lubGluZV0KIHNrYl9wcm9iZV90 cmFuc3BvcnRfaGVhZGVyIGluY2x1ZGUvbGludXgvc2tidWZmLmg6MjQ5MyBbaW5saW5lXQogdHVu X2dldF91c2VyKzB4MmNmZS8weDNmZjAgZHJpdmVycy9uZXQvdHVuLmM6MTk0MAogdHVuX2Nocl93 cml0ZV9pdGVyKzB4YmQvMHgxNTYgZHJpdmVycy9uZXQvdHVuLmM6MjAzNwogY2FsbF93cml0ZV9p dGVyIGluY2x1ZGUvbGludXgvZnMuaDoxODcyIFtpbmxpbmVdCiBkb19pdGVyX3JlYWR2X3dyaXRl disweDVmZC8weDkwMCBmcy9yZWFkX3dyaXRlLmM6NjkzCiBkb19pdGVyX3dyaXRlIGZzL3JlYWRf d3JpdGUuYzo5NzAgW2lubGluZV0KIGRvX2l0ZXJfd3JpdGUrMHgxODQvMHg2MTAgZnMvcmVhZF93 cml0ZS5jOjk1MQogdmZzX3dyaXRldisweDFiMy8weDJmMCBmcy9yZWFkX3dyaXRlLmM6MTAxNQog ZG9fd3JpdGV2KzB4MTViLzB4MzMwIGZzL3JlYWRfd3JpdGUuYzoxMDU4CiBfX2RvX3N5c193cml0 ZXYgZnMvcmVhZF93cml0ZS5jOjExMzEgW2lubGluZV0KIF9fc2Vfc3lzX3dyaXRldiBmcy9yZWFk X3dyaXRlLmM6MTEyOCBbaW5saW5lXQogX194NjRfc3lzX3dyaXRldisweDc1LzB4YjAgZnMvcmVh ZF93cml0ZS5jOjExMjgKIGRvX3N5c2NhbGxfNjQrMHgxMDMvMHg2NzAgYXJjaC94ODYvZW50cnkv Y29tbW9uLmM6Mjk4CiBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0OS8weGJlCgpG aXhlczogZDU4ZTQ2OGIxMTEyICgiZmxvd19kaXNzZWN0b3I6IGltcGxlbWVudHMgZmxvdyBkaXNz ZWN0b3IgQlBGIGhvb2siKQpTaWduZWQtb2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdv b2dsZS5jb20+ClJlcG9ydGVkLWJ5OiBzeXpib3QgPHN5emthbGxlckBnb29nbGVncm91cHMuY29t PgpDYzogUGV0YXIgUGVua292IDxwcGVua292QGdvb2dsZS5jb20+CkNjOiBTdGFuaXNsYXYgRm9t aWNoZXYgPHNkZkBnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRh dmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2NvcmUvZmxvd19kaXNzZWN0b3IuYyB8IDMgKysr CiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbmV0L2NvcmUv Zmxvd19kaXNzZWN0b3IuYyBiL25ldC9jb3JlL2Zsb3dfZGlzc2VjdG9yLmMKaW5kZXggOTRhNDUw YjIxOTFhLi4xMzk0NzBkOGQzYzAgMTAwNjQ0Ci0tLSBhL25ldC9jb3JlL2Zsb3dfZGlzc2VjdG9y LmMKKysrIGIvbmV0L2NvcmUvZmxvd19kaXNzZWN0b3IuYwpAQCAtNzEyLDcgKzcxMiwxMCBAQCBi b29sIF9fc2tiX2Zsb3dfYnBmX2Rpc3NlY3Qoc3RydWN0IGJwZl9wcm9nICpwcm9nLAogCWZsb3df a2V5cy0+dGhvZmYgPSBmbG93X2tleXMtPm5ob2ZmOwogCiAJYnBmX2NvbXB1dGVfZGF0YV9wb2lu dGVycygoc3RydWN0IHNrX2J1ZmYgKilza2IpOworCisJcHJlZW1wdF9kaXNhYmxlKCk7CiAJcmVz dWx0ID0gQlBGX1BST0dfUlVOKHByb2csIHNrYik7CisJcHJlZW1wdF9lbmFibGUoKTsKIAogCS8q IFJlc3RvcmUgc3RhdGUgKi8KIAltZW1jcHkoY2IsICZjYl9zYXZlZCwgc2l6ZW9mKGNiX3NhdmVk KSk7Ci0tIAoyLjIwLjEKCgpGcm9tIGE5MWM3NzE1YTZjOGFjMDdmNGE4NGJiYzQzYjY1ODYwNmI5 ZWI2ZjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFBhdWwgQm9sbGUgPHBlYm9sbGVA dGlzY2FsaS5ubD4KRGF0ZTogV2VkLCAxIE1heSAyMDE5IDIzOjE5OjAzICswMjAwClN1YmplY3Q6 IFtQQVRDSCAyMy8yM10gaXNkbjogYmFzX2dpZ2FzZXQ6IHVzZSB1c2JfZmlsbF9pbnRfdXJiKCkg cHJvcGVybHkKClsgVXBzdHJlYW0gY29tbWl0IDQwMTRkZmFlM2NjYWFmM2VjMTljOWFlMDY5MWEz ZjE0ZTcxMzJlYWUgXQoKVGhlIHN3aXRjaCB0byBtYWtlIGJhc19naWdhc2V0IHVzZSB1c2JfZmls bF9pbnRfdXJiKCkgLSBpbnN0ZWFkIG9mCmZpbGxpbmcgdGhhdCB1cmIgImJ5IGhhbmQiIC0gbWlz c2VkIHRoZSBzdWJ0bGUgb3JkZXJpbmcgb2YgdGhlIHByZXZpb3VzCmNvZGUuCgpTZWUsIGJlZm9y ZSB0aGUgc3dpdGNoIHVyYi0+ZGV2IHdhcyBzZXQgdG8gYSBtZW1iZXIgc29tZXdoZXJlIGRlZXAg aW4gYQpjb21wbGljYXRlZCBzdHJ1Y3R1cmUgYW5kIHRoZW4gc3VwcGxpZWQgdG8gdXNiX3Jjdmlz b2NwaXBlKCkgYW5kCnVzYl9zbmRpc29jcGlwZSgpLiBBZnRlciB0aGF0IHN3aXRjaCB1cmItPmRl diB3YXNuJ3Qgc2V0IHRvIGFueXRoaW5nCnNwZWNpZmljIGJlZm9yZSBiZWluZyBzdXBwbGllZCB0 byB0aG9zZSB0d28gbWFjcm9zLiBUaGlzIHRyaWdnZXJzIGEKbmFzdHkgb29wczoKCiAgICBCVUc6 IHVuYWJsZSB0byBoYW5kbGUga2VybmVsIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBhdCAwMDAw MDAwMAogICAgI1BGIGVycm9yOiBbbm9ybWFsIGtlcm5lbCByZWFkIGZhdWx0XQogICAgKnBkZSA9 IDAwMDAwMDAwCiAgICBPb3BzOiAwMDAwIFsjMV0gU01QCiAgICBDUFU6IDAgUElEOiAwIENvbW06 IHN3YXBwZXIvMCBOb3QgdGFpbnRlZCA1LjEuMC0wLnJjNC4xLmxvY2FsMC5mYzI4Lmk2ODYgIzEK ICAgIEhhcmR3YXJlIG5hbWU6IElCTSAyNTI1RkFHLzI1MjVGQUcsIEJJT1MgNzRFVDY0V1cgKDIu MDkgKSAxMi8xNC8yMDA2CiAgICBFSVA6IGdpZ2FzZXRfaW5pdF9iY2hhbm5lbCsweDg5LzB4MzIw IFtiYXNfZ2lnYXNldF0KICAgIENvZGU6IDc1IDA3IDgzIDhiIDg0IDAwIDAwIDAwIDQwIDhkIDQ3 IDc0IGM3IDA3IDAxIDAwIDAwIDAwIDg5IDQ1IGYwIDhiIDQ0IGI3IDY4IDg1IGMwIDBmIDg0IDZh IDAyIDAwIDAwIDhiIDQ4IDI4IDhiIDkzIDg4IDAwIDAwIDAwIDw4Yj4gMDkgOGQgNTQgMTIgMDMg YzEgZTIgMGYgYzEgZTEgMDggMDkgY2EgOGIgOGIgOGMgMDAgMDAgMDAgODAgY2EKICAgIEVBWDog ZjA1ZWMyMDAgRUJYOiBlZDQwNDIwMCBFQ1g6IDAwMDAwMDAwIEVEWDogMDAwMDAwMDAKICAgIEVT STogMDAwMDAwMDAgRURJOiBmMDY1YTAwMCBFQlA6IGYzMGM5ZjQwIEVTUDogZjMwYzlmMjAKICAg IERTOiAwMDdiIEVTOiAwMDdiIEZTOiAwMGQ4IEdTOiAwMGUwIFNTOiAwMDY4IEVGTEFHUzogMDAw MTAwODYKICAgIENSMDogODAwNTAwMzMgQ1IyOiAwMDAwMDAwMCBDUjM6IDBkZGM3MDAwIENSNDog MDAwMDA2ZDAKICAgIENhbGwgVHJhY2U6CiAgICAgPFNPRlRJUlE+CiAgICAgPyBnaWdhc2V0X2lz ZG5fY29ubkQrMHhmNi8weDE0MCBbZ2lnYXNldF0KICAgICBnaWdhc2V0X2hhbmRsZV9ldmVudCsw eDE3M2UvMHgxYjkwIFtnaWdhc2V0XQogICAgIHRhc2tsZXRfYWN0aW9uX2NvbW1vbi5pc3JhLjE2 KzB4NGUvMHhmMAogICAgIHRhc2tsZXRfYWN0aW9uKzB4MWUvMHgyMAogICAgIF9fZG9fc29mdGly cSsweGIyLzB4MjkzCiAgICAgPyBfX2lycWVudHJ5X3RleHRfZW5kKzB4My8weDMKICAgICBjYWxs X29uX3N0YWNrKzB4NDUvMHg1MAogICAgIDwvU09GVElSUT4KICAgICA/IGlycV9leGl0KzB4YjUv MHhjMAogICAgID8gZG9fSVJRKzB4NzgvMHhkMAogICAgID8gYWNwaV9pZGxlX2VudGVyX3MyaWRs ZSsweDUwLzB4NTAKICAgICA/IGNvbW1vbl9pbnRlcnJ1cHQrMHhkNC8weGRjCiAgICAgPyBhY3Bp X2lkbGVfZW50ZXJfczJpZGxlKzB4NTAvMHg1MAogICAgID8gc2NoZWRfY3B1X2FjdGl2YXRlKzB4 MWIvMHhmMAogICAgID8gYWNwaV9mYW5fcmVzdW1lLmNvbGQuNysweDkvMHgxOAogICAgID8gY3B1 aWRsZV9lbnRlcl9zdGF0ZSsweDE1Mi8weDRjMAogICAgID8gY3B1aWRsZV9lbnRlcisweDE0LzB4 MjAKICAgICA/IGNhbGxfY3B1aWRsZSsweDIxLzB4NDAKICAgICA/IGRvX2lkbGUrMHgxYzgvMHgy MDAKICAgICA/IGNwdV9zdGFydHVwX2VudHJ5KzB4MjUvMHgzMAogICAgID8gcmVzdF9pbml0KzB4 ODgvMHg4YQogICAgID8gYXJjaF9jYWxsX3Jlc3RfaW5pdCsweGQvMHgxOQogICAgID8gc3RhcnRf a2VybmVsKzB4NDJmLzB4NDQ4CiAgICAgPyBpMzg2X3N0YXJ0X2tlcm5lbCsweGFjLzB4YjAKICAg ICA/IHN0YXJ0dXBfMzJfc21wKzB4MTY0LzB4MTY4CiAgICBNb2R1bGVzIGxpbmtlZCBpbjogcHBw X2dlbmVyaWMgc2xoYyBjYXBpIGJhc19naWdhc2V0IGdpZ2FzZXQga2VybmVsY2FwaSBuZl9jb25u dHJhY2tfbmV0Ymlvc19ucyBuZl9jb25udHJhY2tfYnJvYWRjYXN0IHh0X0NUIGlwNnRfcnBmaWx0 ZXIgaXA2dF9SRUpFQ1QgbmZfcmVqZWN0X2lwdjYgeHRfY29ubnRyYWNrIGlwX3NldCBuZm5ldGxp bmsgZWJ0YWJsZV9uYXQgZWJ0YWJsZV9icm91dGUgYnJpZGdlIHN0cCBsbGMgaXA2dGFibGVfbmF0 IGlwNnRhYmxlX21hbmdsZSBpcDZ0YWJsZV9yYXcgaXA2dGFibGVfc2VjdXJpdHkgaXB0YWJsZV9u YXQgbmZfbmF0IG5mX2Nvbm50cmFjayBuZl9kZWZyYWdfaXB2NiBuZl9kZWZyYWdfaXB2NCBsaWJj cmMzMmMgaXB0YWJsZV9tYW5nbGUgaXB0YWJsZV9yYXcgaXB0YWJsZV9zZWN1cml0eSBlYnRhYmxl X2ZpbHRlciBlYnRhYmxlcyBpcDZ0YWJsZV9maWx0ZXIgaXA2X3RhYmxlcyBzdW5ycGMgaXB3MjIw MCBpVENPX3dkdCBncGlvX2ljaCBzbmRfaW50ZWw4eDAgbGliaXB3IGlUQ09fdmVuZG9yX3N1cHBv cnQgc25kX2FjOTdfY29kZWMgbGliODAyMTEgcHBkZXYgYWM5N19idXMgc25kX3NlcSBjZmc4MDIx MSBzbmRfc2VxX2RldmljZSBwY3Nwa3IgdGhpbmtwYWRfYWNwaSBscGNfaWNoIHNuZF9wY20gaTJj X2k4MDEgc25kX3RpbWVyIGxlZHRyaWdfYXVkaW8gc25kIHNvdW5kY29yZSByZmtpbGwgcGFycG9y dF9wYyBwYXJwb3J0IHBjY19jcHVmcmVxIGFjcGlfY3B1ZnJlcSBpOTE1IGkyY19hbGdvX2JpdCBk cm1fa21zX2hlbHBlciBzeXNjb3B5YXJlYSBzeXNmaWxscmVjdCBzZGhjaV9wY2kgc3lzaW1nYmx0 IGNxaGNpIGZiX3N5c19mb3BzIGRybSBzZGhjaSBtbWNfY29yZSB0ZzMgYXRhX2dlbmVyaWMgc2Vy aW9fcmF3IHllbnRhX3NvY2tldCBwYXRhX2FjcGkgdmlkZW8KICAgIENSMjogMDAwMDAwMDAwMDAw MDAwMAogICAgLS0tWyBlbmQgdHJhY2UgMWZlMDc0ODdiOTIwMGM3MyBdLS0tCiAgICBFSVA6IGdp Z2FzZXRfaW5pdF9iY2hhbm5lbCsweDg5LzB4MzIwIFtiYXNfZ2lnYXNldF0KICAgIENvZGU6IDc1 IDA3IDgzIDhiIDg0IDAwIDAwIDAwIDQwIDhkIDQ3IDc0IGM3IDA3IDAxIDAwIDAwIDAwIDg5IDQ1 IGYwIDhiIDQ0IGI3IDY4IDg1IGMwIDBmIDg0IDZhIDAyIDAwIDAwIDhiIDQ4IDI4IDhiIDkzIDg4 IDAwIDAwIDAwIDw4Yj4gMDkgOGQgNTQgMTIgMDMgYzEgZTIgMGYgYzEgZTEgMDggMDkgY2EgOGIg OGIgOGMgMDAgMDAgMDAgODAgY2EKICAgIEVBWDogZjA1ZWMyMDAgRUJYOiBlZDQwNDIwMCBFQ1g6 IDAwMDAwMDAwIEVEWDogMDAwMDAwMDAKICAgIEVTSTogMDAwMDAwMDAgRURJOiBmMDY1YTAwMCBF QlA6IGYzMGM5ZjQwIEVTUDogY2RkY2IzYmMKICAgIERTOiAwMDdiIEVTOiAwMDdiIEZTOiAwMGQ4 IEdTOiAwMGUwIFNTOiAwMDY4IEVGTEFHUzogMDAwMTAwODYKICAgIENSMDogODAwNTAwMzMgQ1Iy OiAwMDAwMDAwMCBDUjM6IDBkZGM3MDAwIENSNDogMDAwMDA2ZDAKICAgIEtlcm5lbCBwYW5pYyAt IG5vdCBzeW5jaW5nOiBGYXRhbCBleGNlcHRpb24gaW4gaW50ZXJydXB0CiAgICBLZXJuZWwgT2Zm c2V0OiAweGNjMDAwMDAgZnJvbSAweGMwNDAwMDAwIChyZWxvY2F0aW9uIHJhbmdlOiAweGMwMDAw MDAwLTB4ZjZmZmRmZmYpCiAgICAtLS1bIGVuZCBLZXJuZWwgcGFuaWMgLSBub3Qgc3luY2luZzog RmF0YWwgZXhjZXB0aW9uIGluIGludGVycnVwdCBdLS0tCgpOby1vbmUgbm90aWNlZCBiZWNhdXNl IHRoaXMgT29wcyBpcyBhcHBhcmVudGx5IG9ubHkgdHJpZ2dlcmVkIGJ5IHNldHRpbmcKdXAgYW4g SVNETiBkYXRhIGNvbm5lY3Rpb24gb24gYSBsaXZlIElTRE4gbGluZSBvbiBhIGdpZ2FzZXQgYmFz ZSAoaWUsCnRoZSBQQlggdGhhdCB0aGUgZ2lnYXNldCBkcml2ZXIgc3VwcG9ydCkuIFZlcnkgZmV3 IHBlb3BsZSBkbyB0aGF0CnJ1bm5pbmcgcHJlc2VudCBkYXkga2VybmVscy4KCkFueWhvdywgYSBs aXR0bGUgY29kZSByZW9yZ2FuaXphdGlvbiBtYWtlcyB0aGlzIHByb2JsZW0gZ28gYXdheSwgd2hp bGUKYXZvaWRpbmcgdGhlIHN1YnRsZSBvcmRlcmluZyB0aGF0IHdhcyB1c2VkIGluIHRoZSBwYXN0 LiBTbyBsZXQncyBkbwp0aGF0LgoKRml4ZXM6IDc4YzY5NmMxOTU3OCAoImlzZG46IGdpZ2FzZXQ6 IHVzZSB1c2JfZmlsbF9pbnRfdXJiKCkiKQpTaWduZWQtb2ZmLWJ5OiBQYXVsIEJvbGxlIDxwZWJv bGxlQHRpc2NhbGkubmw+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2 ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL2lzZG4vZ2lnYXNldC9iYXMtZ2lnYXNldC5jIHwgOSAr KysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pc2RuL2dpZ2FzZXQvYmFzLWdpZ2FzZXQuYyBiL2RyaXZl cnMvaXNkbi9naWdhc2V0L2Jhcy1naWdhc2V0LmMKaW5kZXggZWNkZWI4OTY0NWQwLi4xNDliMWFj YTUyYTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaXNkbi9naWdhc2V0L2Jhcy1naWdhc2V0LmMKKysr IGIvZHJpdmVycy9pc2RuL2dpZ2FzZXQvYmFzLWdpZ2FzZXQuYwpAQCAtOTU4LDYgKzk1OCw3IEBA IHN0YXRpYyB2b2lkIHdyaXRlX2lzb19jYWxsYmFjayhzdHJ1Y3QgdXJiICp1cmIpCiAgKi8KIHN0 YXRpYyBpbnQgc3RhcnR1cmJzKHN0cnVjdCBiY19zdGF0ZSAqYmNzKQogeworCXN0cnVjdCB1c2Jf ZGV2aWNlICp1ZGV2ID0gYmNzLT5jcy0+aHcuYmFzLT51ZGV2OwogCXN0cnVjdCBiYXNfYmNfc3Rh dGUgKnViYyA9IGJjcy0+aHcuYmFzOwogCXN0cnVjdCB1cmIgKnVyYjsKIAlpbnQgaiwgazsKQEAg LTk3NSw4ICs5NzYsOCBAQCBzdGF0aWMgaW50IHN0YXJ0dXJicyhzdHJ1Y3QgYmNfc3RhdGUgKmJj cykKIAkJCXJjID0gLUVGQVVMVDsKIAkJCWdvdG8gZXJyb3I7CiAJCX0KLQkJdXNiX2ZpbGxfaW50 X3VyYih1cmIsIGJjcy0+Y3MtPmh3LmJhcy0+dWRldiwKLQkJCQkgdXNiX3Jjdmlzb2NwaXBlKHVy Yi0+ZGV2LCAzICsgMiAqIGJjcy0+Y2hhbm5lbCksCisJCXVzYl9maWxsX2ludF91cmIodXJiLCB1 ZGV2LAorCQkJCSB1c2JfcmN2aXNvY3BpcGUodWRldiwgMyArIDIgKiBiY3MtPmNoYW5uZWwpLAog CQkJCSB1YmMtPmlzb2luYnVmICsgayAqIEJBU19JTkJVRlNJWkUsCiAJCQkJIEJBU19JTkJVRlNJ WkUsIHJlYWRfaXNvX2NhbGxiYWNrLCBiY3MsCiAJCQkJIEJBU19GUkFNRVRJTUUpOwpAQCAtMTAw Niw4ICsxMDA3LDggQEAgc3RhdGljIGludCBzdGFydHVyYnMoc3RydWN0IGJjX3N0YXRlICpiY3Mp CiAJCQlyYyA9IC1FRkFVTFQ7CiAJCQlnb3RvIGVycm9yOwogCQl9Ci0JCXVzYl9maWxsX2ludF91 cmIodXJiLCBiY3MtPmNzLT5ody5iYXMtPnVkZXYsCi0JCQkJIHVzYl9zbmRpc29jcGlwZSh1cmIt PmRldiwgNCArIDIgKiBiY3MtPmNoYW5uZWwpLAorCQl1c2JfZmlsbF9pbnRfdXJiKHVyYiwgdWRl diwKKwkJCQkgdXNiX3NuZGlzb2NwaXBlKHVkZXYsIDQgKyAyICogYmNzLT5jaGFubmVsKSwKIAkJ CQkgdWJjLT5pc29vdXRidWYtPmRhdGEsCiAJCQkJIHNpemVvZih1YmMtPmlzb291dGJ1Zi0+ZGF0 YSksCiAJCQkJIHdyaXRlX2lzb19jYWxsYmFjaywgJnViYy0+aXNvb3V0dXJic1trXSwKLS0gCjIu MjAuMQoK ----Next_Part(Tue_May_14_12_58_49_2019_985)----